<?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>212228</bug_id>
          
          <creation_ts>2020-05-21 13:55:18 -0700</creation_ts>
          <short_desc>Roll ANGLE to 2020-05-21</short_desc>
          <delta_ts>2020-07-28 14:39:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>210524</dependson>
    
    <dependson>210992</dependson>
    
    <dependson>212170</dependson>
          <blocked>126404</blocked>
    
    <blocked>214897</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>annulen</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdarpinian</cc>
    
    <cc>justin_fan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1655062</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-05-21 13:55:18 -0700</bug_when>
    <thetext>In order to pick up the upstream fixes for several linked bugs and more, it&apos;s necessary to roll ANGLE forward. Attempting that today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655107</commentid>
    <comment_count>1</comment_count>
      <attachid>399987</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-05-21 15:28:35 -0700</bug_when>
    <thetext>Created attachment 399987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655112</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-05-21 15:30:33 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655118</commentid>
    <comment_count>3</comment_count>
      <attachid>399990</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-05-21 15:40:24 -0700</bug_when>
    <thetext>Created attachment 399990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655132</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-05-21 16:15:21 -0700</bug_when>
    <thetext>BTW, built and tested minimally locally with:

https://webglsamples.org/aquarium/aquarium.html

the test cases from Bug 210994:
https://www.shadertoy.com/view/lltSR8
https://www.shadertoy.com/view/XtVXzV

and a couple of other pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655152</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-21 16:56:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/63517568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655159</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-21 17:12:27 -0700</bug_when>
    <thetext>Committed r262036: &lt;https://trac.webkit.org/changeset/262036&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399990.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399987</attachid>
            <date>2020-05-21 15:28:35 -0700</date>
            <delta_ts>2020-05-21 15:36:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212228-20200521152821.patch</filename>
            <type>text/plain</type>
            <size>4451582</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggODE0MDI4YWViNTc1MjBjZTVmYWY3NTdhYzQxNTI5YTQxYjE3N2VmNC4uYTk3NTBkZWFiMmVj
MDNhNjhmZmE4NjcxZGE4ZWU5NGFiNmI5ZmVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTIxICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJvbGwgQU5HTEUgdG8gMjAyMC0wNS0yMQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjI4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUm9sbCBBTkdMRSB0byA5NmE4
MDI4M2NjMGZlNjA0ZDAzYzBiYzBiM2Y5ZWIxMDBlZGQyMmY5IGluIHRoZQorICAgICAgICB1cHN0
cmVhbSByZXBvc2l0b3J5LgorCisgICAgICAgIE1hbnVhbGx5IHVuZG8gdGhlIGZpeCBmcm9tIEJ1
ZyAyMTA5OTIsIHdoaWNoIHdhcyBmaXhlZCBkaWZmZXJlbnRseQorICAgICAgICB1cHN0cmVhbS4K
KwogMjAyMC0wNS0yMSAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQgbm90IGV4cG9zZWQgb24gaU9TCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uY2xhbmctZm9ybWF0IGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvLmNsYW5nLWZvcm1hdAppbmRleCA4OGNjOWFhODcyODAyNGNmNjQwZjBh
ZGIwODA0M2FiYTI4ZGNiZGI2Li45NjMzZjJjYzgzM2Q3NDEwNzQ5ZjJhODgwODBmY2IyY2VhNjgx
Mzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uY2xhbmctZm9ybWF0Cisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFLy5jbGFuZy1mb3JtYXQKQEAgLTE1LDggKzE1LDcg
QEAgQ29sdW1uTGltaXQ6IDEwMAogIyBBbHdheXMgYnJlYWsgYmVmb3JlIGJyYWNlcwogQnJlYWtC
ZWZvcmVCcmFjZXM6IEN1c3RvbQogQnJhY2VXcmFwcGluZzoKLSMgIFRPRE8obHVqYykgd2FpdCBm
b3IgY2xhbmctZm9ybWF0LTkgc3VwcG9ydCBpbiBDaHJvbWl1bSB0b29scwotIyAgQWZ0ZXJDYXNl
TGFiZWw6IHRydWUKKyAgQWZ0ZXJDYXNlTGFiZWw6IHRydWUKICAgQWZ0ZXJDbGFzczogdHJ1ZQog
ICBBZnRlckNvbnRyb2xTdGF0ZW1lbnQ6IHRydWUKICAgQWZ0ZXJFbnVtOiB0cnVlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvLmdpdGlnbm9yZQppbmRleCAzMjU1ZDBlZWM4NThlNWExNzE1NmM5Njk3ODNlYjkx
MmZkY2E4MDBkLi44OWUxM2ZmNDQzNThmMzFiMzU4ZjI4NmZkNzg5MDBiMzlhZjUwMDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFLy5naXRpZ25vcmUKQEAgLTQxLDYgKzQxLDcgQEAKIC90aGlyZF9wYXJ0
eS9saWJqcGVnX3R1cmJvCiAvdGhpcmRfcGFydHkvbGlicG5nL3NyYwogL3RoaXJkX3BhcnR5L2xs
dm0tYnVpbGQKKy90aGlyZF9wYXJ0eS9uYXNtCiAvdGhpcmRfcGFydHkvUHl0aG9uLU1hcmtkb3du
CiAvdGhpcmRfcGFydHkvcWVtdS1saW51eC14NjQKIC90aGlyZF9wYXJ0eS9xZW11LW1hYy14NjQK
QEAgLTU0LDcgKzU1LDcgQEAKIC90aGlyZF9wYXJ0eS92dWxrYW4tbG9hZGVyL3NyYwogL3RoaXJk
X3BhcnR5L3Z1bGthbi10b29scy9zcmMKIC90aGlyZF9wYXJ0eS92dWxrYW4tdmFsaWRhdGlvbi1s
YXllcnMvc3JjCi0vdGhpcmRfcGFydHkveWFzbQorL3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlf
YWxsb2NhdG9yCiAvdGhpcmRfcGFydHkvemxpYgogL3Rvb2xzL2NsYW5nCiAvdG9vbHMvZmxleC1i
aXNvbi9saW51eC9iaXNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5H
TEUucGxpc3QgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS5wbGlzdAppbmRleCAyYmE1
Njk3NjMyMzdlNGFkYWU2ZWEwYTA2OWEyOTNiYTE0ZGMzNzczLi44NGQ0NDc2Yzc1YmI0YTZiYjY4
NTZmYmRkMzMzM2U2N2FkMGU5OGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9BTkdMRS5wbGlzdAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS5wbGlzdApA
QCAtNiwxMyArNiwxMyBAQAogCQk8a2V5Pk9wZW5Tb3VyY2VQcm9qZWN0PC9rZXk+CiAJCTxzdHJp
bmc+QU5HTEU8L3N0cmluZz4KIAkJPGtleT5PcGVuU291cmNlVmVyc2lvbjwva2V5PgotCQk8c3Ry
aW5nPmIzODdjZTkzODllZGU2YTRlZDNiODMxYWIxYjgxODc5MjdmYTI5NWY8L3N0cmluZz4KKwkJ
PHN0cmluZz45NmE4MDI4M2NjMGZlNjA0ZDAzYzBiYzBiM2Y5ZWIxMDBlZGQyMmY5PC9zdHJpbmc+
CiAJCTxrZXk+T3BlblNvdXJjZVdlYnNpdGVVUkw8L2tleT4KIAkJPHN0cmluZz5odHRwOi8vY29k
ZS5nb29nbGUuY29tL3AvYW5nbGVwcm9qZWN0Lzwvc3RyaW5nPgogCQk8a2V5Pk9wZW5Tb3VyY2VT
Q008L2tleT4KLQkJPHN0cmluZz5naXQgY2xvbmUgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2FuZ2xlL2FuZ2xlICZhbXA7JmFtcDsgY2QgYW5nbGUgJmFtcDsmYW1wOyBnaXQgY2hl
Y2tvdXQgYjM4N2NlOTM4OWVkZTZhNGVkM2I4MzFhYjFiODE4NzkyN2ZhMjk1Zjwvc3RyaW5nPgor
CQk8c3RyaW5nPmdpdCBjbG9uZSBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vYW5n
bGUvYW5nbGUgJmFtcDsmYW1wOyBjZCBhbmdsZSAmYW1wOyZhbXA7IGdpdCBjaGVja291dCA5NmE4
MDI4M2NjMGZlNjA0ZDAzYzBiYzBiM2Y5ZWIxMDBlZGQyMmY5PC9zdHJpbmc+CiAJCTxrZXk+T3Bl
blNvdXJjZUltcG9ydERhdGU8L2tleT4KLQkJPHN0cmluZz4yMDIwLTAzLTI3PC9zdHJpbmc+CisJ
CTxzdHJpbmc+MjAyMC0wNS0yMTwvc3RyaW5nPgogCQk8a2V5Pk9wZW5Tb3VyY2VMaWNlbnNlPC9r
ZXk+CiAJCTxzdHJpbmc+QlNEPC9zdHJpbmc+CiAJCTxrZXk+T3BlblNvdXJjZUxpY2Vuc2VGaWxl
PC9rZXk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1NDQ2ZDYwYzExOWU4NzQzZDNmZGFkOTUwOTQ1MjRh
ZTI5MThkYmQwLi4wZjMyZjRiMDExOGNhZjNhNTdlY2Y0N2E2NGIwMDU5MGQ0ZGZmZWE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTU3MSw2ICs1NzEsMTEgQEAKIAkJNkUzMUEwQTMyMzRFRUVENDAwQzg0
Nzg0IC8qIERldmljZUNHTC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RTMxQTBBMTIzNEVFRUQ0MDBDODQ3ODQgLyogRGV2aWNlQ0dMLmNwcCAqLzsg
fTsKIAkJNkUzMUEwQTQyMzRFRUVENDAwQzg0Nzg0IC8qIERldmljZUNHTC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkUzMUEwQTIyMzRFRUVENDAwQzg0
Nzg0IC8qIERldmljZUNHTC5oICovOyB9OwogCQk2RUEwRDY5MzIzNTE1QTVDMDBCODY1MUYgLyog
RnJhbWVDYXB0dXJlX21vY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNkVBMEQ2OTIyMzUxNUE1QzAwQjg2NTFGIC8qIEZyYW1lQ2FwdHVyZV9tb2Nr
LmNwcCAqLzsgfTsKKwkJNkVCMDFDMUQyNDc3Mjc5QTAwRTUwQjM1IC8qIEVhcmx5RnJhZ21lbnRU
ZXN0c09wdGltaXphdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkVCMDFDMUIyNDc3Mjc5OTAwRTUwQjM1IC8qIEVhcmx5RnJhZ21lbnRUZXN0c09w
dGltaXphdGlvbi5oICovOyB9OworCQk2RUIwMUMxRTI0NzcyNzlBMDBFNTBCMzUgLyogRWFybHlG
cmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZFQjAxQzFDMjQ3NzI3OTkwMEU1MEIzNSAvKiBFYXJseUZyYWdt
ZW50VGVzdHNPcHRpbWl6YXRpb24uY3BwICovOyB9OworCQk2RUIwMUMyMTI0NzcyN0E5MDBFNTBC
MzUgLyogUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQjAxQzFGMjQ3NzI3QTkwMEU1MEIzNSAvKiBS
ZXBsYWNlQ2xpcERpc3RhbmNlVmFyaWFibGUuY3BwICovOyB9OworCQk2RUIwMUMyMjI0NzcyN0E5
MDBFNTBCMzUgLyogUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUIwMUMyMDI0NzcyN0E5MDBFNTBCMzUg
LyogUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmggKi87IH07CisJCTZFQjAxQzI0MjQ3NzI3
QzIwMEU1MEIzNSAvKiBQcm9ncmFtUGlwZWxpbmVJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQjAxQzIzMjQ3NzI3QzIwMEU1MEIzNSAvKiBQ
cm9ncmFtUGlwZWxpbmVJbXBsLmNwcCAqLzsgfTsKIAkJNkVENzBBMEMyMkNENjMwRTAwODY4OENF
IC8qIGdsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
RUQ3MEEwOTIyQ0Q2MzBFMDA4Njg4Q0UgLyogZ2wuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQdWJsaWMsICk7IH07IH07CiAJCTZFRDcwQTBEMjJDRDYzMEUwMDg2ODhDRSAvKiBnbGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVENzBB
MEEyMkNENjMwRTAwODY4OENFIC8qIGdsZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQk2RUQ3MEEwRTIyQ0Q2MzBFMDA4Njg4Q0UgLyogZ2xwbGF0
Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVE
NzBBMEIyMkNENjMwRTAwODY4OENFIC8qIGdscGxhdGZvcm0uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CkBAIC0xMzQyLDYgKzEzNDcsMTEgQEAKIAkJNkUz
MUEwQTEyMzRFRUVENDAwQzg0Nzg0IC8qIERldmljZUNHTC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VDR0wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2RTMxQTBBMjIzNEVFRUQ0MDBDODQ3ODQgLyogRGV2aWNlQ0dMLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZUNHTC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RUEwRDY5MjIzNTE1QTVDMDBCODY1MUYgLyogRnJhbWVDYXB0dXJlX21vY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVDYXB0dXJlX21v
Y2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RUIwMUMxQjI0NzcyNzk5MDBF
NTBCMzUgLyogRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RUIwMUMxQzI0NzcyNzk5MDBFNTBCMzUgLyogRWFy
bHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTZFQjAxQzFGMjQ3NzI3QTkwMEU1MEIzNSAvKiBSZXBsYWNl
Q2xpcERpc3RhbmNlVmFyaWFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNkVCMDFDMjAyNDc3MjdBOTAwRTUwQjM1IC8qIFJlcGxhY2VDbGlwRGlzdGFu
Y2VWYXJpYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXBsYWNlQ2xp
cERpc3RhbmNlVmFyaWFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkVCMDFD
MjMyNDc3MjdDMjAwRTUwQjM1IC8qIFByb2dyYW1QaXBlbGluZUltcGwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvZ3JhbVBpcGVsaW5lSW1wbC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRDcwQTA5MjJDRDYzMEUwMDg2ODhDRSAvKiBnbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBnbC5oOyBwYXRoID0gaW5jbHVkZS9H
TEVTL2dsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRDcwQTBBMjJDRDYzMEUw
MDg2ODhDRSAvKiBnbGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBnbGV4
dC5oOyBwYXRoID0gaW5jbHVkZS9HTEVTL2dsZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZFRDcwQTBCMjJDRDYzMEUwMDg2ODhDRSAvKiBnbHBsYXRmb3JtLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IGdscGxhdGZvcm0uaDsgcGF0aCA9IGluY2x1ZGUvR0xF
Uy9nbHBsYXRmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA0LDYgKzIw
MTQsOCBAQAogCQkJCTVDNTVENkYyMjI4MjZDQjIwMEI1QkEyQyAvKiBJbnRlcm1UcmF2ZXJzZS5j
cHAgKi8sCiAJCQkJNUM1NUQ2RjEyMjgyNkNCMjAwQjVCQTJDIC8qIEludGVybVRyYXZlcnNlLmgg
Ki8sCiAJCQkJNUM1NUQ2RjcyMjgyNkNCMzAwQjVCQTJDIC8qIE5vZGVTZWFyY2guaCAqLywKKwkJ
CQk2RUIwMUMxRjI0NzcyN0E5MDBFNTBCMzUgLyogUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxl
LmNwcCAqLywKKwkJCQk2RUIwMUMyMDI0NzcyN0E5MDBFNTBCMzUgLyogUmVwbGFjZUNsaXBEaXN0
YW5jZVZhcmlhYmxlLmggKi8sCiAJCQkJQTMwMzA3MDAyMzA1RjYzNjAwMkRBOTcyIC8qIFJlcGxh
Y2VTaGFkb3dpbmdWYXJpYWJsZXMuY3BwICovLAogCQkJCUEzMDMwNzAyMjMwNUY2MzYwMDJEQTk3
MiAvKiBSZXBsYWNlU2hhZG93aW5nVmFyaWFibGVzLmggKi8sCiAJCQkJNUM1NUQ2RjYyMjgyNkNC
MzAwQjVCQTJDIC8qIFJlcGxhY2VWYXJpYWJsZS5jcHAgKi8sCkBAIC0yMDgyLDYgKzIwOTQsNyBA
QAogCQkJCTVDQjMwNEM3MURFNDE2NDgwMEQyQzQwNSAvKiBQYXRoSW1wbC5oICovLAogCQkJCTVD
QjMwNEM5MURFNDE2NDgwMEQyQzQwNSAvKiBQcm9ncmFtSW1wbC5oICovLAogCQkJCTVDQjMwNEM4
MURFNDE2NDgwMEQyQzQwNSAvKiBQcm9ncmFtSW1wbF9tb2NrLmggKi8sCisJCQkJNkVCMDFDMjMy
NDc3MjdDMjAwRTUwQjM1IC8qIFByb2dyYW1QaXBlbGluZUltcGwuY3BwICovLAogCQkJCTMxNUVC
REMzMUZDRTQ0RTIwMEFDN0E4OSAvKiBQcm9ncmFtUGlwZWxpbmVJbXBsLmggKi8sCiAJCQkJNUND
RDU5N0QyMjg0RkI4RjAwMThGMkQ4IC8qIFF1ZXJ5SW1wbC5jcHAgKi8sCiAJCQkJNUNCMzA0Q0Ex
REU0MTY0ODAwRDJDNDA1IC8qIFF1ZXJ5SW1wbC5oICovLApAQCAtMjIyOCw2ICsyMjQxLDggQEAK
IAkJCQk1QzU1RDYwMjIyODI2QjkwMDBCNUJBMkMgLyogRGVjbGFyZUFuZEluaXRCdWlsdGluc0Zv
ckluc3RhbmNlZE11bHRpdmlldy5oICovLAogCQkJCTVDNTVENjA4MjI4MjZCOTAwMEI1QkEyQyAv
KiBEZWZlckdsb2JhbEluaXRpYWxpemVycy5jcHAgKi8sCiAJCQkJNUM1NUQ2MkQyMjgyNkI5ODAw
QjVCQTJDIC8qIERlZmVyR2xvYmFsSW5pdGlhbGl6ZXJzLmggKi8sCisJCQkJNkVCMDFDMUMyNDc3
Mjc5OTAwRTUwQjM1IC8qIEVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5jcHAgKi8sCisJ
CQkJNkVCMDFDMUIyNDc3Mjc5OTAwRTUwQjM1IC8qIEVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXph
dGlvbi5oICovLAogCQkJCTVDNTVENjM4MjI4MjZCOUEwMEI1QkEyQyAvKiBFbXVsYXRlR0xGcmFn
Q29sb3JCcm9hZGNhc3QuY3BwICovLAogCQkJCTVDNTVENjBFMjI4MjZCOTEwMEI1QkEyQyAvKiBF
bXVsYXRlR0xGcmFnQ29sb3JCcm9hZGNhc3QuaCAqLywKIAkJCQlBMzAzMDZGNDIzMDVGNUVFMDAy
REE5NzIgLyogRW11bGF0ZU11bHRpRHJhd1NoYWRlckJ1aWx0aW5zLmNwcCAqLywKQEAgLTI2NDUs
NiArMjY2MCw3IEBACiAJCQkJNUNCMzAxMUYxREUzOUYxQTAwRDJDNDA1IC8qIERpc3BsYXlHTC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCMzA0RTIxREU0MTY0ODAwRDJDNDA1IC8qIERpc3BsYXlJ
bXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTVFQkRDOTFGQ0U0NEU0MDBBQzdBODkgLyogZHJp
dmVyX3V0aWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk2RUIwMUMxRDI0NzcyNzlBMDBFNTBCMzUg
LyogRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
QzFCQUFBQTFERkI2MTI0MDAyOTA2QkIgLyogZWdsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzFC
QUFBQjFERkI2MTI0MDAyOTA2QkIgLyogZWdsZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUUy
RkQyRDIyQkFFOTlDMDAxRDM2OUUgLyogZWdsZXh0X2FuZ2xlLmggaW4gSGVhZGVycyAqLywKQEAg
LTI4MjQsNiArMjg0MCw3IEBACiAJCQkJMzEzQkNFNTcyMzYxMTMzQTAwRkMzOUU1IC8qIFJlbmRl
cmVyRUFHTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCMzAxMzgxREUzOUYxQTAwRDJDNDA1IC8q
IFJlbmRlcmVyR0wuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQjMwMTM2MURFMzlGMUEwMEQyQzQw
NSAvKiByZW5kZXJlcmdsX3V0aWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk2RUIwMUMyMjI0Nzcy
N0E5MDBFNTBCMzUgLyogUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMzAzMDcwNzIzMDVGNjM2MDAyREE5NzIgLyogUmVwbGFjZVNoYWRvd2luZ1Zhcmlh
Ymxlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM1NUQ3MDUyMjgyNkNCMzAwQjVCQTJDIC8qIFJl
cGxhY2VWYXJpYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCMzA0QTYxREU0MTU3RTAwRDJD
NDA1IC8qIHJlc291cmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMTIsNiArMzEyOSw3IEBACiAJ
CQkJNUNCMzA0RTExREU0MTY0ODAwRDJDNDA1IC8qIERpc3BsYXlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTMxNUVCRENDMUZDRTQ0RTQwMEFDN0E4OSAvKiBkcml2ZXJfdXRpbHMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTMwMzA3OUQyMzA2MjU2NTAwMkRBOTcyIC8qIGRyaXZlcl91dGls
c19tYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQk2RUIwMUMxRTI0NzcyNzlBMDBFNTBCMzUgLyog
RWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVD
Q0Q1OTZBMjI4NEY3OTYwMDE4RjJEOCAvKiBFR0xTeW5jLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTMxNUVCRDk3MUZDRTQ0MzYwMEFDN0E4OSAvKiBlbXVsYXRlZF9idWlsdGluX2Z1bmN0aW9uc19o
bHNsX2F1dG9nZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM1NUQ2QjEyMjgyNkJDODAwQjVC
QTJDIC8qIEVtdWxhdGVHTEZyYWdDb2xvckJyb2FkY2FzdC5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMyMjQsNiArMzI0Miw3IEBACiAJCQkJMzE1RUJERUMxRkNFNDUyRDAwQUM3QTg5IC8qIFByb2dy
YW1MaW5rZWRSZXNvdXJjZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE1RUJERTUxRkNFNDUy
RDAwQUM3QTg5IC8qIFByb2dyYW1QaXBlbGluZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTVF
QkRCQTFGQ0U0NEJGMDBBQzdBODkgLyogUHJvZ3JhbVBpcGVsaW5lR0wuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNkVCMDFDMjQyNDc3MjdDMjAwRTUwQjM1IC8qIFByb2dyYW1QaXBlbGluZUltcGwu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM1NUQ2QjcyMjgyNkJDODAwQjVCQTJDIC8qIFBydW5l
RW1wdHlDYXNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzU1RDZCODIyODI2QkM4MDBCNUJB
MkMgLyogUHJ1bmVOb09wcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1Q0NEODFCNTFEQkZFQTVD
MDA2MDY2QjggLyogUXVhbGlmaWVyVHlwZXMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjQ5LDYg
KzMyNjgsNyBAQAogCQkJCTMxM0JDRTU5MjM2MTEzM0EwMEZDMzlFNSAvKiBSZW5kZXJlckVBR0wu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNCMzAxMzcxREUzOUYxQTAwRDJDNDA1IC8qIFJlbmRl
cmVyR0wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNCMzAxMzUxREUzOUYxQTAwRDJDNDA1IC8q
IHJlbmRlcmVyZ2xfdXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNkVCMDFDMjEyNDc3MjdB
OTAwRTUwQjM1IC8qIFJlcGxhY2VDbGlwRGlzdGFuY2VWYXJpYWJsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBMzAzMDcwNTIzMDVGNjM2MDAyREE5NzIgLyogUmVwbGFjZVNoYWRvd2luZ1Zhcmlh
Ymxlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzU1RDcwNjIyODI2Q0IzMDBCNUJBMkMgLyog
UmVwbGFjZVZhcmlhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMURCRjI1MUIwNDM4RDMw
MDIzNTU1MiAvKiBSZXNvdXJjZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9CVUlMRC5nbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL0JVSUxELmduCmluZGV4IGFkNzY3NWY0ZTU2ZDUxYWM0NjQ0ZjFkNDAxNDU5ZWY0NzEyMjg4
MDEuLmVlOWJkMzk3YTY1ZWRlMDI5NTNkNWVjOGNjYTBhN2I2YTVhMDA1OWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0JVSUxELmduCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0JVSUxELmduCkBAIC0zMzEsNiArMzMxLDcgQEAgYW5nbGVfc3RhdGljX2xpYnJhcnko
ImFuZ2xlX2dwdV9pbmZvX3V0aWwiKSB7CiAKICAgaWYgKGlzX2FuZHJvaWQgfHwgaXNfZnVjaHNp
YSkgewogICAgIHNvdXJjZXMgKz0gbGliYW5nbGVfZ3B1X2luZm9fdXRpbF92dWxrYW5fc291cmNl
cworICAgIGRlcHMgKz0gWyAiJGFuZ2xlX3Jvb3QvdGhpcmRfcGFydHkvdnVsa2FuLWhlYWRlcnMv
c3JjOnZ1bGthbl9oZWFkZXJzIiBdCiAgIH0KIAogICBpZiAoaXNfYW5kcm9pZCkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ09OVFJJQlVUT1JTIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ09OVFJJQlVUT1JTCmluZGV4IGEzMGVlYWViNzc0MjU0ZTU3MzdjNjhjZWFi
MzA2YjE0YWFkMjQ2NDguLmYwNDk1NmFkNTNhOWUxZjQxYzZlOGMyZTdhNGI0MjQ1ODdhYmQ0YmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NPTlRSSUJVVE9SUworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DT05UUklCVVRPUlMKQEAgLTExOCw2ICsxMTgsNyBAQCBN
aWNyb3NvZnQgQ29ycG9yYXRpb24KICBSYWZhZWwgQ2ludHJvbgogIEphbWVzIENsYXJrZQogIE5h
dGhhbiBaYWJyaXNraWUKKyBQYXRyaWNrIFRvCiAKIE1pY3Jvc29mdCBPcGVuIFRlY2hub2xvZ2ll
cywgSW5jLgogIENvb3BlciBQYXJ0aW4KQEAgLTE2NCw2ICsxNjUsNyBAQCBTYW1zdW5nIEVsZWN0
cm9uaWNzLCBJbmMuCiAgTW9oYW4gTWFpeWEKICBQZXRlciBNb3dyeQogIFNhbmd3b24gUGFyawor
IFNhdXJhYmggQmFkZW5rYWwKIAogQXJtIEx0ZC4KICBGZWkgWWFuZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29tcGlsZXIuY21ha2UgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9Db21waWxlci5jbWFrZQppbmRleCAyZmZlNmRmZWQ3NWIwMTExNjEzYWM2YmZkZDdlOWVk
ODIzNWFmZjA2Li5lMWNjMjM0MDJmZDNmNmUwYzk2OTc5NDYyZGYzMTM0YjQxY2M0MDExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db21waWxlci5jbWFrZQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9Db21waWxlci5jbWFrZQpAQCAtMTI5LDYgKzEyOSw4IEBAIHNl
dChhbmdsZV90cmFuc2xhdG9yX3NvdXJjZXMKICAgICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
dHJlZV9vcHMvRGVjbGFyZUFuZEluaXRCdWlsdGluc0Zvckluc3RhbmNlZE11bHRpdmlldy5oIgog
ICAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9EZWZlckdsb2JhbEluaXRpYWxp
emVycy5jcHAiCiAgICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0RlZmVyR2xv
YmFsSW5pdGlhbGl6ZXJzLmgiCisgICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3Bz
L0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5jcHAiCisgICAgInNyYy9jb21waWxlci90
cmFuc2xhdG9yL3RyZWVfb3BzL0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5oIgogICAg
ICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FbXVsYXRlR0xGcmFnQ29sb3JCcm9h
ZGNhc3QuY3BwIgogICAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FbXVsYXRl
R0xGcmFnQ29sb3JCcm9hZGNhc3QuaCIKICAgICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJl
ZV9vcHMvRW11bGF0ZU11bHRpRHJhd1NoYWRlckJ1aWx0aW5zLmNwcCIKQEAgLTIyMCw2ICsyMjIs
OCBAQCBzZXQoYW5nbGVfdHJhbnNsYXRvcl9zb3VyY2VzCiAgICAgInNyYy9jb21waWxlci90cmFu
c2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1UcmF2ZXJzZS5jcHAiCiAgICAgInNyYy9jb21waWxlci90
cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1UcmF2ZXJzZS5oIgogICAgICJzcmMvY29tcGlsZXIv
dHJhbnNsYXRvci90cmVlX3V0aWwvTm9kZVNlYXJjaC5oIgorICAgICJzcmMvY29tcGlsZXIvdHJh
bnNsYXRvci90cmVlX3V0aWwvUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmNwcCIKKyAgICAi
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL1JlcGxhY2VDbGlwRGlzdGFuY2VWYXJp
YWJsZS5oIgogICAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvUmVwbGFjZVNo
YWRvd2luZ1ZhcmlhYmxlcy5jcHAiCiAgICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVf
dXRpbC9SZXBsYWNlU2hhZG93aW5nVmFyaWFibGVzLmgiCiAgICAgInNyYy9jb21waWxlci90cmFu
c2xhdG9yL3RyZWVfdXRpbC9SZXBsYWNlVmFyaWFibGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvREVQUyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0RFUFMKaW5k
ZXggYWE2OTI5Y2ZjYjBhZmYxNWM1OTQ0ZGExZmE5MWM3NWJiMWNiNWViNS4uNTYzYTQ0NGMwNDEy
YmJkZjYzMzlhOGI2MTRjNTJlNjZiMWUwYjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvREVQUworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9ERVBTCkBAIC0xOSwx
MyArMTksMTMgQEAgdmFycyA9IHsKICAgJ2NoZWNrb3V0X2FuZ2xlX2ludGVybmFsJzogRmFsc2Us
CiAKICAgIyBWZXJzaW9uIG9mIENocm9taXVtIG91ciBDaHJvbWl1bS1iYXNlZCBERVBTIGFyZSBt
aXJyb3JlZCBmcm9tLgotICAnY2hyb21pdW1fcmV2aXNpb24nOiAnZmE5ZDU4MDVjNDIxMTMzZTlk
MTNjZjY5OGM0NTAyZDEzMzk4YjJjZScsCisgICdjaHJvbWl1bV9yZXZpc2lvbic6ICdiMDQxMGJi
YTAyOGNmMTUzYmUyZDAyZTM2YjZlOTliNTlmZGNiMDAwJywKIAogICAjIEN1cnJlbnQgcmV2aXNp
b24gb2YgVkstR0wtQ1RTIChhLmsuYSBkRVFQKS4KLSAgJ3ZrX2dsX2N0c19yZXZpc2lvbic6ICdh
NmIyNDk4MTlmNzE3NzgyMWQ0YjdlZWZmZjM2YWYwN2ZlZjcxODI1JywKKyAgJ3ZrX2dsX2N0c19y
ZXZpc2lvbic6ICc2MDk3MmVkN2ZhOGZiNjZiNjRlMjExODZlN2ZiMTNkYzA4MmJkYWM4JywKIAog
ICAjIEN1cnJlbnQgcmV2aXNpb24gb2YgZ2xzbGFuZywgdGhlIEtocm9ub3MgU1BJUlYgY29tcGls
ZXIuCi0gICdnbHNsYW5nX3JldmlzaW9uJzogJzk5NTA4YzFjZTM4OWU2NzhhNzliMDAxNTlmZTBj
MGQxM2YwOGYyMTMnLAorICAnZ2xzbGFuZ19yZXZpc2lvbic6ICc2ZjcyM2ViYmUzYjBlYmEwYzU0
M2ZhNjE1YjUzZmJkYzNlNmUyMmM3JywKIAogICAjIEN1cnJlbnQgcmV2aXNpb24gb2YgZ29vZ2xl
dGVzdC4KICAgIyBOb3RlOiB0aGlzIGRlcCBjYW5ub3QgYmUgYXV0by1yb2xsZWQgYi9jIG9mIG5l
c3RpbmcuCkBAIC00MCwyNSArNDAsMjUgQEAgdmFycyA9IHsKICAgJ3BhdGNoZWRfeWFzbV9yZXZp
c2lvbic6ICc3MjBiNzA1MjRhNDQyNGIxNWZjNTdlODIyNjM1NjhjOGJhMDQ5NmFkJywKIAogICAj
IEN1cnJlbnQgcmV2aXNpb24gb2Ygc3BpcnYtY3Jvc3MsIHRoZSBLaHJvbm9zIFNQSVJWIGNyb3Nz
IGNvbXBpbGVyLgotICAnc3BpcnZfY3Jvc3NfcmV2aXNpb24nOiAnZmQ1YWEzYWQ1MWVjZTU1YTFi
NTFmZTZiZmIyNzFkYjY4NDRhZTI5MScsCisgICdzcGlydl9jcm9zc19yZXZpc2lvbic6ICdmMzhj
YmViODE0YzczNTEwYjg1Njk3YWRiZTVlODk0ZjllYWM5NzhmJywKIAogICAjIEN1cnJlbnQgcmV2
aXNpb24gZm8gdGhlIFNQSVJWLUhlYWRlcnMgVnVsa2FuIHN1cHBvcnQgbGlicmFyeS4KICAgJ3Nw
aXJ2X2hlYWRlcnNfcmV2aXNpb24nOiAnZjhiZjExYTAyNTNhMzIzNzVjMzJjYWQ5MmM4NDEyMzdi
OTY2OTZjMCcsCiAKICAgIyBDdXJyZW50IHJldmlzaW9uIG9mIFNQSVJWLVRvb2xzIGZvciBWdWxr
YW4uCi0gICdzcGlydl90b29sc19yZXZpc2lvbic6ICdmZDc3M2ViNTBkNjI4YzE5ODEzMzhhZGRj
MDkzZGY4Nzk3NTdjMmNmJywKKyAgJ3NwaXJ2X3Rvb2xzX3JldmlzaW9uJzogJzNjNDdkYWMyODIw
OGViNWIxYWU3OTA5YmEzY2RhMGExZGY4OGJhNGInLAogCiAgICMgQ3VycmVudCByZXZpc2lvbiBv
ZiBLaHJvbm9zIFZ1bGthbi1IZWFkZXJzLgotICAndnVsa2FuX2hlYWRlcnNfcmV2aXNpb24nOiAn
MGU3OGZmZDFkY2ZjM2U5ZjE0YTk2NmI5NjYwZGJjNTliZDk2N2M1YycsCisgICd2dWxrYW5faGVh
ZGVyc19yZXZpc2lvbic6ICc5MjUwZDVhZThmNTAyMDIwMDUyMzNkYzA1MTJhMWQ0NjBjOGI0ODMz
JywKIAogICAjIEN1cnJlbnQgcmV2aXNpb24gb2YgS2hyb25vcyBWdWxrYW4tTG9hZGVyLgotICAn
dnVsa2FuX2xvYWRlcl9yZXZpc2lvbic6ICdjYzQ4MWVmMjc2MzE1ZDU0ZGI0MzgxYjJkNWRmZmFj
MmI1ODI0Y2JmJywKKyAgJ3Z1bGthbl9sb2FkZXJfcmV2aXNpb24nOiAnM2UzOTBhMTU5NzYxNDMw
NjBlYjIzMmFjYzA0MzgwMjA5ZjllZDA4ZScsCiAKICAgIyBDdXJyZW50IHJldmlzaW9uIG9mIEto
cm9ub3MgVnVsa2FuLVRvb2xzLgotICAndnVsa2FuX3Rvb2xzX3JldmlzaW9uJzogJ2JlYzdiNmUy
OTI2MGNhYTkzNDhiMWZkNDJiNWQ2NTQ0M2Q1MTI3NDgnLAorICAndnVsa2FuX3Rvb2xzX3Jldmlz
aW9uJzogJzBjNGVhMDE0YmYyODllOGIwYTg1MDFjM2U4OWM4YmM0ZWNmOWYwYTQnLAogCiAgICMg
Q3VycmVudCByZXZpc2lvbiBvZiBLaHJvbm9zIFZ1bGthbi1WYWxpZGF0aW9uTGF5ZXJzLgotICAn
dnVsa2FuX3ZhbGlkYXRpb25fcmV2aXNpb24nOiAnNTVmMDE5NTNkNmU5ZDZkYjYyNWY1N2JlYmJi
YzdhMzZhMTMyYWQ4OCcsCisgICd2dWxrYW5fdmFsaWRhdGlvbl9yZXZpc2lvbic6ICdhNmQ4MzMz
MjdmN2VkZDIzOTM2ZTBkMGY3ODA5NWIzMWRjNzU5YTE4JywKIAogICAjIFRocmVlIGxpbmVzIG9m
IG5vbi1jaGFuZ2luZyBjb21tZW50cyBzbyB0aGF0CiAgICMgdGhlIGNvbW1pdCBxdWV1ZSBjYW4g
aGFuZGxlIENMcyByb2xsaW5nIGNhdGFwdWx0CkBAIC02OSwxNyArNjksMTcgQEAgdmFycyA9IHsK
IGRlcHMgPSB7CiAKICAgJ2J1aWxkJzogewotICAgICd1cmwnOiAne2Nocm9taXVtX2dpdH0vY2hy
b21pdW0vc3JjL2J1aWxkLmdpdEBhMWNiZjY0NjlhNTQwMGYyYjQ1NWZmYmEyZTk1ZWE0N2ExYjQ3
Yzk0JywKKyAgICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2Nocm9taXVtL3NyYy9idWlsZC5naXRA
NDVhYjNjODlhZjZmYzMxMjZiMGNhNWE3ODM2ZjBkYjg1YWQxYmEwZScsCiAgICAgJ2NvbmRpdGlv
bic6ICdub3QgYnVpbGRfd2l0aF9jaHJvbWl1bScsCiAgIH0sCiAKICAgJ2J1aWxkdG9vbHMnOiB7
Ci0gICAgJ3VybCc6ICd7Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvYnVpbGR0b29scy5naXRA
NDE2NGEzMDU2MjY3ODZiMTkxMmQ0NjcwMDNhY2Y0YzQ5OTViZWM3ZCcsCisgICAgJ3VybCc6ICd7
Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvYnVpbGR0b29scy5naXRAMjA0YTM1YTJhNjRmNzE3
OWY4Yjc2ZDdhMDM4NTY1MzY5MDgzOWUyMScsCiAgICAgJ2NvbmRpdGlvbic6ICdub3QgYnVpbGRf
d2l0aF9jaHJvbWl1bScsCiAgIH0sCiAKICAgJ3Rlc3RpbmcnOiB7Ci0gICAgJ3VybCc6ICd7Y2hy
b21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvdGVzdGluZ0AzZTIxZWVjNTNjMTY4ODMwMmViYzI2ZTk3
NWQwMTYzMjU2YmQxYTE1JywKKyAgICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2Nocm9taXVtL3Ny
Yy90ZXN0aW5nQDM5OTNlZjFmNTI3YjIwNmQ4ZDNiZjNmOTgyNGY0ZmUwZTRiYmRiMGUnLAogICAg
ICdjb25kaXRpb24nOiAnbm90IGJ1aWxkX3dpdGhfY2hyb21pdW0nLAogICB9LAogCkBAIC04OSw2
ICs4OSwxMSBAQCBkZXBzID0gewogICAgICdjb25kaXRpb24nOiAnbm90IGJ1aWxkX3dpdGhfY2hy
b21pdW0nLAogICB9LAogCisgICd0aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvcic6
IHsKKyAgICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2V4dGVybmFsL2dpdGh1Yi5jb20vR1BVT3Bl
bi1MaWJyYXJpZXNBbmRTREtzL1Z1bGthbk1lbW9yeUFsbG9jYXRvckBkYWM5NTJlYjBhMjc3MzY1
NzFiZjEwYWM0MmZiZmNjNTkxOTJmMzEwJywKKyAgICAnY29uZGl0aW9uJzogJ25vdCBidWlsZF93
aXRoX2Nocm9taXVtJywKKyAgfSwKKwogICAndGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYyc6IHsK
ICAgICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2V4dGVybmFsL2dpdGh1Yi5jb20vS2hyb25vc0dy
b3VwL1ZLLUdMLUNUU0B7dmtfZ2xfY3RzX3JldmlzaW9ufScsCiAgIH0sCkBAIC0xMTUsMTMgKzEy
MCwxMyBAQCBkZXBzID0gewogICB9LAogCiAgICd0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0Jzogewot
ICAgICd1cmwnOiAne2Nocm9taXVtX2dpdH0vY2hyb21pdW0vc3JjL3RoaXJkX3BhcnR5L2dvb2ds
ZXRlc3RAYzk2ZGMzMjExMDFlN2M5ZjViYTE2ZDk1N2FmZDQ5ZWU0ZGIzMDU0OCcsCisgICAgJ3Vy
bCc6ICd7Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvdGhpcmRfcGFydHkvZ29vZ2xldGVzdEAy
MTc0MDdjNDc4N2YzNjFhYTU4MTRlYzYwOTM3OWJmYzliMjFkMzA3JywKICAgICAnY29uZGl0aW9u
JzogJ25vdCBidWlsZF93aXRoX2Nocm9taXVtJywKICAgfSwKIAogICAjIGxpYmpwZWdfdHVyYm8g
aXMgdXNlZCBieSBnbG1hcmsyLgogICAndGhpcmRfcGFydHkvbGlianBlZ190dXJibyc6IHsKLSAg
ICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2Nocm9taXVtL2RlcHMvbGlianBlZ190dXJiby5naXRA
Y2UwZTU3ZThlNjM2ZjUxMzJmZTZmMDU5MGE0ZGJhOTFmOTJmZDkzNScsCisgICAgJ3VybCc6ICd7
Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9kZXBzL2xpYmpwZWdfdHVyYm8uZ2l0QDdlM2FkNzk4MDBh
Nzk0NWZiMzcxNzMxNDk4NDJiNDk0YWI4OTgyYjInLAogICAgICdjb25kaXRpb24nOiAnbm90IGJ1
aWxkX3dpdGhfY2hyb21pdW0nLAogICB9LAogCkBAIC0xMzEsMTAgKzEzNiwxNSBAQCBkZXBzID0g
ewogICB9LAogCiAgICd0aGlyZF9wYXJ0eS9qc29uY3BwJzogewotICAgICd1cmwnOiAne2Nocm9t
aXVtX2dpdH0vY2hyb21pdW0vc3JjL3RoaXJkX3BhcnR5L2pzb25jcHBANDkzYzkzODVjOTEwMjNj
MzgxOWI1MWVlMGRlNTUyZDUyMjI5YTFlNScsCisgICAgJ3VybCc6ICd7Y2hyb21pdW1fZ2l0fS9j
aHJvbWl1bS9zcmMvdGhpcmRfcGFydHkvanNvbmNwcEBlYzY0N2I4NWI2MWY1MjVhMWE3NGU0ZGE3
NDc3YjBjNTM3MWM1MGY0JywKICAgICAnY29uZGl0aW9uJzogJ25vdCBidWlsZF93aXRoX2Nocm9t
aXVtJywKICAgIH0sCiAKKyAgJ3RoaXJkX3BhcnR5L25hc20nOiB7CisgICAgJ3VybCc6ICd7Y2hy
b21pdW1fZ2l0fS9jaHJvbWl1bS9kZXBzL25hc21ANGZhNTRjYTVmN2ZjM2ExNWE4Yzc4YWM5NDY4
OGU2NGQzZTRlNGZhMScsCisgICAgJ2NvbmRpdGlvbic6ICdub3QgYnVpbGRfd2l0aF9jaHJvbWl1
bScsCisgIH0sCisKICAgJ3RoaXJkX3BhcnR5L1B5dGhvbi1NYXJrZG93bic6IHsKICAgICAndXJs
JzogJ3tjaHJvbWl1bV9naXR9L2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS9QeXRob24tTWFya2Rv
d25AMzY2NTdjMTAzY2U1OTY0NzMzYmJiYjI5Mzc3MDg1ZTljYzFhOTQ3MicsCiAgICAgJ2NvbmRp
dGlvbic6ICdub3QgYnVpbGRfd2l0aF9jaHJvbWl1bScsCkBAIC0xODIsNyArMTkyLDcgQEAgZGVw
cyA9IHsKICAgfSwKIAogICAndGhpcmRfcGFydHkvU3dpZnRTaGFkZXInOiB7Ci0gICAgJ3VybCc6
ICd7c3dpZnRzaGFkZXJfZ2l0fS9Td2lmdFNoYWRlckAwMmUxNWIyNDliMTJmZTRlMWNhNWUzMDNh
NWEwZGUwNjY4OTUwNTM2JywKKyAgICAndXJsJzogJ3tzd2lmdHNoYWRlcl9naXR9L1N3aWZ0U2hh
ZGVyQGNjNWNkYTBmOTk3ZDgyODA3MTI5MjBmMjc0OWJiZGZlN2EwZjRkYzMnLAogICAgICdjb25k
aXRpb24nOiAnbm90IGJ1aWxkX3dpdGhfY2hyb21pdW0nLAogICB9LAogCkBAIC0yMDIsMTggKzIx
MiwxMyBAQCBkZXBzID0gewogICAgICd1cmwnOiAne2Nocm9taXVtX2dpdH0vZXh0ZXJuYWwvZ2l0
aHViLmNvbS9LaHJvbm9zR3JvdXAvVnVsa2FuLVZhbGlkYXRpb25MYXllcnNAe3Z1bGthbl92YWxp
ZGF0aW9uX3JldmlzaW9ufScsCiAgIH0sCiAKLSAgJ3RoaXJkX3BhcnR5L3lhc20nOiB7Ci0gICAg
J3VybCc6ICd7Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvdGhpcmRfcGFydHkveWFzbUA4ZTRl
NTQ4ZDBiMTk5ZGY1ODc0MDMzNjAyNGMxYjNiYWY3YzBhYmQ3JywKLSAgICAnY29uZGl0aW9uJzog
J25vdCBidWlsZF93aXRoX2Nocm9taXVtJywKLSAgfSwKLQogICAndGhpcmRfcGFydHkvemxpYic6
IHsKLSAgICAndXJsJzogJ3tjaHJvbWl1bV9naXR9L2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS96
bGliQDE1NmJlOGM1MmY4MGNkZTM0MzA4OGI0YTY5YTgwNTc5MTAxYjZlNjcnLAorICAgICd1cmwn
OiAne2Nocm9taXVtX2dpdH0vY2hyb21pdW0vc3JjL3RoaXJkX3BhcnR5L3psaWJAYWUzODU3ODZl
ZGIxNWY1N2U5OTJjNWU5ZGQ5NDY0ZTM3NmQ2OTM5OScsCiAgICAgJ2NvbmRpdGlvbic6ICdub3Qg
YnVpbGRfd2l0aF9jaHJvbWl1bScsCiAgIH0sCiAKICAgJ3Rvb2xzL2NsYW5nJzogewotICAgICd1
cmwnOiAne2Nocm9taXVtX2dpdH0vY2hyb21pdW0vc3JjL3Rvb2xzL2NsYW5nLmdpdEBkNjBhNmE4
MDg0MzAwZWI4ZGU5OWU1NmI1NTkzNjlkY2RlNGNmZmE0JywKKyAgICAndXJsJzogJ3tjaHJvbWl1
bV9naXR9L2Nocm9taXVtL3NyYy90b29scy9jbGFuZy5naXRAMDRiOTllN2JmOTE2MGQ1NTFjM2E1
NTYyZjU4MzAxNGI2YWZjOTBmOScsCiAgICAgJ2NvbmRpdGlvbic6ICdub3QgYnVpbGRfd2l0aF9j
aHJvbWl1bScsCiAgIH0sCiAKQEAgLTIyOSw3ICsyMzQsNyBAQCBkZXBzID0gewogICB9LAogCiAg
ICd0b29scy9tZF9icm93c2VyJzogewotICAgICd1cmwnOiAne2Nocm9taXVtX2dpdH0vY2hyb21p
dW0vc3JjL3Rvb2xzL21kX2Jyb3dzZXJAMGJmZDgyNmY4NTY2YTk5OTIzZTY0YTc4MjkwOGZhY2E3
MmJjNDU3YycsCisgICAgJ3VybCc6ICd7Y2hyb21pdW1fZ2l0fS9jaHJvbWl1bS9zcmMvdG9vbHMv
bWRfYnJvd3NlckBhYWU0NWQ4ZDgyNDAwZTkwNDgzZDRmZWUyY2EzZTY0OGYyMzEzY2IyJywKICAg
ICAnY29uZGl0aW9uJzogJ25vdCBidWlsZF93aXRoX2Nocm9taXVtJywKICAgfSwKIApAQCAtNDMy
LDUgKzQzNyw0IEBAIHJlY3Vyc2VkZXBzID0gWwogICAnYnVpbGR0b29scycsCiAgICd0aGlyZF9w
YXJ0eS9nb29nbGV0ZXN0JywKICAgJ3RoaXJkX3BhcnR5L2pzb25jcHAnLAotICAndGhpcmRfcGFy
dHkveWFzbScsCiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9HTEVTdjIu
Y21ha2UgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9HTEVTdjIuY21ha2UKaW5kZXggZWYzZGM3
MjZkNTMwMzE0MDIyNzdlNGVkZmM5ZmE5ZjI3ODAyMTg5YS4uNDcwYmY2NGY0ZmIxNjUzOTNjYTVj
ODg4NmI1MGVhYTk4OTBkMDgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
R0xFU3YyLmNtYWtlCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0dMRVN2Mi5jbWFrZQpA
QCAtNDM4LDYgKzQzOCw3IEBAIHNldChsaWJhbmdsZV9zb3VyY2VzCiAgICAgInNyYy9saWJBTkdM
RS9yZW5kZXJlci9EZXZpY2VJbXBsLmNwcCIKICAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL0Rp
c3BsYXlJbXBsLmNwcCIKICAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL0Zvcm1hdF90YWJsZV9h
dXRvZ2VuLmNwcCIKKyAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUlt
cGwuY3BwIgogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvUXVlcnlJbXBsLmNwcCIKICAgICAi
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL1NoYWRlckltcGwuY3BwIgogICAgICJzcmMvbGliQU5HTEUv
cmVuZGVyZXIvU3VyZmFjZUltcGwuY3BwIgpAQCAtODUyLDYgKzg1Myw4IEBAIHNldChsaWJhbmds
ZV9nbF9lZ2xfc291cmNlcwogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0NvbnRl
eHRFR0wuaCIKICAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EaXNwbGF5RUdMLmNw
cCIKICAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EaXNwbGF5RUdMLmgiCisgICAg
InNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRG1hQnVmSW1hZ2VTaWJsaW5nRUdMLmNwcCIK
KyAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EbWFCdWZJbWFnZVNpYmxpbmdFR0wu
aCIKICAgICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9FeHRlcm5hbEltYWdlU2libGlu
Z0VHTC5oIgogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0Z1bmN0aW9uc0VHTC5j
cHAiCiAgICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRnVuY3Rpb25zRUdMLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9QUkVTVUJNSVQucHkgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9QUkVTVUJNSVQucHkKaW5kZXggYmMyODZiOGNjZjEzN2IwZmYyYTY2
MzVkODRiY2IyOTM0OWMzZTU4Ny4uYzNlOTg5ZjE4YjZlMTQ3M2FjYTkzOTdiYjc3ZmYxNTlhZGU0
NWRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvUFJFU1VCTUlULnB5Cisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL1BSRVNVQk1JVC5weQpAQCAtNDMsOCArNDMsOCBA
QCBkZWYgX0NoZWNrQ2hhbmdlSGFzQnVnRmllbGQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKToKICAg
ICBpZiBsZW4oYnVncykgPT0gMSBhbmQgYnVnc1swXSA9PSAnTm9uZSc6CiAgICAgICAgIHJldHVy
biBbXQogCi0gICAgcHJvamVjdHMgPSBbJ2FuZ2xlcHJvamVjdCcsICdjaHJvbWl1bScsICdkYXdu
JywgJ2Z1Y2hzaWEnLCAnc2tpYScsICdzd2lmdHNoYWRlcicsICdiJ10KLSAgICBidWdfcmVnZXgg
PSByZS5jb21waWxlKHIiKFthLXpdKyk6KFxkKykiKQorICAgIHByb2plY3RzID0gWydhbmdsZXBy
b2plY3Q6JywgJ2Nocm9taXVtOicsICdkYXduOicsICdmdWNoc2lhOicsICdza2lhOicsICdzd2lm
dHNoYWRlcjonLCAnYi8nXQorICAgIGJ1Z19yZWdleCA9IHJlLmNvbXBpbGUociIoW2Etel0rWzov
XSkoXGQrKSIpCiAgICAgZXJyb3JzID0gW10KICAgICBleHRyYV9oZWxwID0gTm9uZQogCkBAIC0x
OTgsOSArMTk4LDQwIEBAIGRlZiBfQ2hlY2tUYWJzSW5Tb3VyY2VGaWxlcyhpbnB1dF9hcGksIG91
dHB1dF9hcGkpOgogICAgIHJldHVybiBbXQogCiAKKyMgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNv
bS9hLzE5NjM5MgorZGVmIGlzX2FzY2lpKHMpOgorICAgIHJldHVybiBhbGwob3JkKGMpIDwgMTI4
IGZvciBjIGluIHMpCisKKworZGVmIF9DaGVja05vbkFzY2lpSW5Tb3VyY2VGaWxlcyhpbnB1dF9h
cGksIG91dHB1dF9hcGkpOgorICAgICIiIkZvcmJpZHMgbm9uLWFzY2lpIGNoYXJhY3RlcnMgaW4g
c291cmNlIGZpbGVzLiAiIiIKKworICAgIGRlZiBpbXBsZW1lbnRhdGlvbl9hbmRfaGVhZGVycyhm
KToKKyAgICAgICAgcmV0dXJuIGlucHV0X2FwaS5GaWx0ZXJTb3VyY2VGaWxlKAorICAgICAgICAg
ICAgZiwgd2hpdGVfbGlzdD0ocicuKyVzJyAlIF9JTVBMRU1FTlRBVElPTl9BTkRfSEVBREVSX0VY
VEVOU0lPTlMsKSkKKworICAgIGZpbGVzX3dpdGhfbm9uX2FzY2lpID0gW10KKyAgICBmb3IgZiBp
biBpbnB1dF9hcGkuQWZmZWN0ZWRTb3VyY2VGaWxlcyhpbXBsZW1lbnRhdGlvbl9hbmRfaGVhZGVy
cyk6CisgICAgICAgIGZvciAobnVtLCBsaW5lKSBpbiBmLkNoYW5nZWRDb250ZW50cygpOgorICAg
ICAgICAgICAgaWYgbm90IGlzX2FzY2lpKGxpbmUpOgorICAgICAgICAgICAgICAgIGZpbGVzX3dp
dGhfbm9uX2FzY2lpLmFwcGVuZCgiJXM6ICVzIiAlIChmLCBsaW5lKSkKKyAgICAgICAgICAgICAg
ICBicmVhaworCisgICAgaWYgZmlsZXNfd2l0aF9ub25fYXNjaWk6CisgICAgICAgIHJldHVybiBb
CisgICAgICAgICAgICBvdXRwdXRfYXBpLlByZXN1Ym1pdEVycm9yKAorICAgICAgICAgICAgICAg
ICdOb24tQVNDSUkgY2hhcmFjdGVycyBpbiBzb3VyY2UgZmlsZXMuJywKKyAgICAgICAgICAgICAg
ICBpdGVtcz1zb3J0ZWQoZmlsZXNfd2l0aF9ub25fYXNjaWkpLAorICAgICAgICAgICAgICAgIGxv
bmdfdGV4dD0nTm9uLUFTQ0lJIGNoYXJhY3RlcnMgYXJlIGZvcmJpZGRlbiBpbiBBTkdMRSBzb3Vy
Y2UgZmlsZXMuXG4nCisgICAgICAgICAgICAgICAgJ1BsZWFzZSByZW1vdmUgbm9uLUFTQ0lJIGNo
YXJhY3RlcnMgZnJvbSB0aGVzZSBmaWxlcy4nKQorICAgICAgICBdCisgICAgcmV0dXJuIFtdCisK
KwogZGVmIENoZWNrQ2hhbmdlT25VcGxvYWQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKToKICAgICBy
ZXN1bHRzID0gW10KICAgICByZXN1bHRzLmV4dGVuZChfQ2hlY2tUYWJzSW5Tb3VyY2VGaWxlcyhp
bnB1dF9hcGksIG91dHB1dF9hcGkpKQorICAgIHJlc3VsdHMuZXh0ZW5kKF9DaGVja05vbkFzY2lp
SW5Tb3VyY2VGaWxlcyhpbnB1dF9hcGksIG91dHB1dF9hcGkpKQogICAgIHJlc3VsdHMuZXh0ZW5k
KF9DaGVja0NvZGVHZW5lcmF0aW9uKGlucHV0X2FwaSwgb3V0cHV0X2FwaSkpCiAgICAgcmVzdWx0
cy5leHRlbmQoX0NoZWNrQ2hhbmdlSGFzQnVnRmllbGQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKSkK
ICAgICByZXN1bHRzLmV4dGVuZChpbnB1dF9hcGkuY2FubmVkX2NoZWNrcy5DaGVja0NoYW5nZUhh
c0Rlc2NyaXB0aW9uKGlucHV0X2FwaSwgb3V0cHV0X2FwaSkpCkBAIC0yMTMsMTIgKzI0NCw0IEBA
IGRlZiBDaGVja0NoYW5nZU9uVXBsb2FkKGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6CiAKIAogZGVm
IENoZWNrQ2hhbmdlT25Db21taXQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKToKLSAgICByZXN1bHRz
ID0gW10KLSAgICByZXN1bHRzLmV4dGVuZChfQ2hlY2tDb2RlR2VuZXJhdGlvbihpbnB1dF9hcGks
IG91dHB1dF9hcGkpKQotICAgIHJlc3VsdHMuZXh0ZW5kKAotICAgICAgICBpbnB1dF9hcGkuY2Fu
bmVkX2NoZWNrcy5DaGVja1BhdGNoRm9ybWF0dGVkKAotICAgICAgICAgICAgaW5wdXRfYXBpLCBv
dXRwdXRfYXBpLCByZXN1bHRfZmFjdG9yeT1vdXRwdXRfYXBpLlByZXN1Ym1pdEVycm9yKSkKLSAg
ICByZXN1bHRzLmV4dGVuZChfQ2hlY2tDaGFuZ2VIYXNCdWdGaWVsZChpbnB1dF9hcGksIG91dHB1
dF9hcGkpKQotICAgIHJlc3VsdHMuZXh0ZW5kKF9DaGVja0V4cG9ydFZhbGlkaXR5KGlucHV0X2Fw
aSwgb3V0cHV0X2FwaSkpCi0gICAgcmVzdWx0cy5leHRlbmQoaW5wdXRfYXBpLmNhbm5lZF9jaGVj
a3MuQ2hlY2tDaGFuZ2VIYXNEZXNjcmlwdGlvbihpbnB1dF9hcGksIG91dHB1dF9hcGkpKQotICAg
IHJldHVybiByZXN1bHRzCisgICAgcmV0dXJuIENoZWNrQ2hhbmdlT25VcGxvYWQoaW5wdXRfYXBp
LCBvdXRwdXRfYXBpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvV0FUQ0hM
SVNUUyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL1dBVENITElTVFMKaW5kZXggZjQxMzllNTQz
NTNhYjU3ODlmZTE1NTk2ZGMyYjNhMWNmYjYzNmNhMi4uY2Q4MTQ3NWE3N2ZiYTc4NDYwNzNmMjNj
MDhlYjAxYTdmZTY5MjEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvV0FU
Q0hMSVNUUworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9XQVRDSExJU1RTCkBAIC0xOSw2
ICsxOSw4IEBACiAgICMgUGxlYXNlIGtlZXAgYWxwaGFiZXRpY2FsCiAgICMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwogICAnV0FUQ0hMSVNUUyc6IHsKLSAgICAndnVsa2FuJzogWydqbWFkaWxsK3dhdGNo
QGNocm9taXVtLm9yZyddLAorICAgICd2dWxrYW4nOiBbJ2NjbGFvK2FuZ2xlV2F0Y2hWa0Bnb29n
bGUuY29tJywKKyAgICAgICAgICAgICAgICdqbWFkaWxsK3dhdGNoQGNocm9taXVtLm9yZycsCisg
ICAgICAgICAgICAgICAndGltdnArYW5nbGVXYXRjaFZrQGdvb2dsZS5jb20nXSwKICAgfSwKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2FkZGl0aW9uYWxfcmVhZG1lX3Bh
dGhzLmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9hZGRpdGlvbmFsX3JlYWRtZV9wYXRo
cy5qc29uCmluZGV4IDRiYjI5MzRhNzkzNGUwZTNkNDdiMGIxYWQ3N2Q1NjExMTU0MmJhMmEuLjQy
M2RjMjkxYjU1ZjEwMTNhNTllZTE4NzA1YjA4YzU1MDIxZjMwYjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL2FkZGl0aW9uYWxfcmVhZG1lX3BhdGhzLmpzb24KKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvYWRkaXRpb25hbF9yZWFkbWVfcGF0aHMuanNvbgpAQCAtMSw0
ICsxLDUgQEAKIFsKICAgICAic3JjL2NvbW1vbi90aGlyZF9wYXJ0eS94eGhhc2giLAotICAgICJz
cmMvdGhpcmRfcGFydHkvY29tcGlsZXIiCisgICAgInNyYy90aGlyZF9wYXJ0eS9jb21waWxlciIs
CisgICAgInRoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yIgogXQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2J1
aWxkX292ZXJyaWRlcy9hbmdsZS5nbmkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9idWlsZF9v
dmVycmlkZXMvYW5nbGUuZ25pCmluZGV4IDdkYzE0OGRlZTU1YzE4MTc0OWQ4MmQ0NjgzODUzNjY4
Yzc2MzgyZmMuLjhiMjFiODM1MDExMjAxYjdiNDNiMDE5NmYyZTUzY2VmYTVlYWMwN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2J1aWxkX292ZXJyaWRlcy9hbmdsZS5nbmkK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvYnVpbGRfb3ZlcnJpZGVzL2FuZ2xlLmduaQpA
QCAtMTcsMyArMTcsNCBAQCBhbmdsZV9saWJwbmdfZGlyID0gIi8vdGhpcmRfcGFydHkvbGlicG5n
IgogYW5nbGVfc3BpcnZfY3Jvc3NfZGlyID0gIi8vdGhpcmRfcGFydHkvc3BpcnYtY3Jvc3Mvc3Jj
IgogYW5nbGVfc3BpcnZfaGVhZGVyc19kaXIgPSAiLy90aGlyZF9wYXJ0eS9zcGlydi1oZWFkZXJz
L3NyYyIKIGFuZ2xlX3NwaXJ2X3Rvb2xzX2RpciA9ICIvL3RoaXJkX3BhcnR5L3NwaXJ2LXRvb2xz
L3NyYyIKK2FuZ2xlX3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yX2RpciA9ICIvL3RoaXJkX3BhcnR5
L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvYnVpbGRfb3ZlcnJpZGVzL3Z1bGthbl9sb2FkZXIuZ25pIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvYnVpbGRfb3ZlcnJpZGVzL3Z1bGthbl9sb2FkZXIuZ25pCmluZGV4IGRiYjE0MThl
ZGRhNjQzYzkzOTNmOWI2ZmY3ZTEzMzUyN2JmYjUyZGEuLjU4MGVkYTFkZDU0MzZjMmY1MWU4MWU1
NTUzMmFhY2ZhOTA5OTlmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2J1
aWxkX292ZXJyaWRlcy92dWxrYW5fbG9hZGVyLmduaQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9idWlsZF9vdmVycmlkZXMvdnVsa2FuX2xvYWRlci5nbmkKQEAgLTcsNCArNyw0IEBAIGlt
cG9ydCgiLy9nbmkvYW5nbGUuZ25pIikKIHZ1bGthbl9oZWFkZXJzX2RpciA9ICIvL3RoaXJkX3Bh
cnR5L3Z1bGthbi1oZWFkZXJzL3NyYyIKIAogdnVsa2FuX2dlbl9zdWJkaXIgPSAiYW5nbGUvdnVs
a2FuIgotdnVsa2FuX2xvYWRlcl9zaGFyZWQgPSB0cnVlCit2dWxrYW5fbG9hZGVyX3NoYXJlZCA9
IGFuZ2xlX3NoYXJlZF9saWJ2dWxrYW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL2NoYW5nZXMuZGlmZiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2NoYW5nZXMuZGlmZgpp
bmRleCA2MzczOWFjOTZmMWVlNzVjZDcwNGM5YmQyYWQ3YmNjZGM2YzYwNDc2Li4wMDBkZTU4Mjc2
MDkzMmFhNGE2MmIxMDYxZGUwYTE4YmJiZjFkOWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9jaGFuZ2VzLmRpZmYKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvY2hh
bmdlcy5kaWZmCkBAIC0xLDggKzEsOCBAQAogZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGxhdGZvcm0v
RmVhdHVyZXNHTC5oIGIvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc0dMLmgKLWluZGV4IDViMzZm
MjcxZi4uODU5NDdlNDBmIDEwMDY0NAoraW5kZXggNGM3NTk1YmI0Li41NzU2MDI5ZmIgMTAwNjQ0
CiAtLS0gYS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAogKysrIGIvaW5jbHVkZS9wbGF0
Zm9ybS9GZWF0dXJlc0dMLmgKLUBAIC00MTIsNiArNDEyLDEyIEBAIHN0cnVjdCBGZWF0dXJlc0dM
IDogRmVhdHVyZVNldEJhc2UKK0BAIC00MTgsNiArNDE4LDEyIEBAIHN0cnVjdCBGZWF0dXJlc0dM
IDogRmVhdHVyZVNldEJhc2UKICAgICAgICAgICJSZXdyaXRlIHJvdyBtYWpvciBtYXRyaWNlcyBp
biBzaGFkZXJzIGFzIGNvbHVtbiBtYWpvciBhcyBhIGRyaXZlciBidWcgd29ya2Fyb3VuZCIsCiAg
ICAgICAgICAmbWVtYmVycywgImh0dHA6Ly9hbmdsZWJ1Zy5jb20vMjI3MyJ9OwogIApAQCAtMjgs
NyArMjgsNyBAQCBpbmRleCAxMzE2NzQwMDguLmQwNjVjM2E5ZiAxMDA2NDQKICAjaW5jbHVkZSA8
c3RkbGliLmg+CiAgI2luY2x1ZGUgPGFycmF5PgogZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRp
bGl0aWVzLmNwcCBiL3NyYy9jb21tb24vdXRpbGl0aWVzLmNwcAotaW5kZXggMGNhOTY3YzE3Li4w
YTZkY2MyNDggMTAwNjQ0CitpbmRleCBlNzQ1ODA2YTQuLjQ2YjA1YjA4MiAxMDA2NDQKIC0tLSBh
L3NyYy9jb21tb24vdXRpbGl0aWVzLmNwcAogKysrIGIvc3JjL2NvbW1vbi91dGlsaXRpZXMuY3Bw
CiBAQCAtNiw2ICs2LDExIEBACkBAIC00Myw2ICs0MywxOSBAQCBpbmRleCAwY2E5NjdjMTcuLjBh
NmRjYzI0OCAxMDA2NDQKICAjaW5jbHVkZSAiY29tbW9uL3V0aWxpdGllcy5oIgogICNpbmNsdWRl
IDxHTFNMQU5HL1NoYWRlclZhcnMuaD4KICAjaW5jbHVkZSAiR0xFUzMvZ2wzLmgiCitkaWZmIC0t
Z2l0IGEvc3JjL2NvbW1vbi92ZXJzaW9uLmggYi9zcmMvY29tbW9uL3ZlcnNpb24uaAoraW5kZXgg
MWFhMzFmZDQ2Li41NmQ2YmUwOWMgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uL3ZlcnNpb24uaAor
KysrIGIvc3JjL2NvbW1vbi92ZXJzaW9uLmgKK0BAIC03LDcgKzcsNyBAQAorICNpZm5kZWYgQ09N
TU9OX1ZFUlNJT05fSF8KKyAjZGVmaW5lIENPTU1PTl9WRVJTSU9OX0hfCisgCistI2luY2x1ZGUg
ImNvbW1pdC5oIgorKyNpbmNsdWRlICJpZC9jb21taXQuaCIKKyAKKyAjZGVmaW5lIEFOR0xFX01B
Sk9SX1ZFUlNJT04gMgorICNkZWZpbmUgQU5HTEVfTUlOT1JfVkVSU0lPTiAxCiBkaWZmIC0tZ2l0
IGEvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9wcmVwcm9jZXNzb3JfdGFiX2F1dG9nZW4uY3Bw
IGIvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9wcmVwcm9jZXNzb3JfdGFiX2F1dG9nZW4uY3Bw
CiBpbmRleCA0NzExNzc0Y2QuLmNmMjVlNDgyMyAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci9w
cmVwcm9jZXNzb3IvcHJlcHJvY2Vzc29yX3RhYl9hdXRvZ2VuLmNwcApAQCAtNTYsNyArNjksNyBA
QCBpbmRleCA0NzExNzc0Y2QuLmNmMjVlNDgyMyAxMDA2NDQKICAKICAgICBDb3B5cmlnaHQgKEMp
IDE5ODQsIDE5ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLAogZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFi
X2F1dG9nZW4uY3BwIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dl
bi5jcHAKLWluZGV4IDhjOWZkMzI5OC4uMzk2MmEyMTRiIDEwMDY0NAoraW5kZXggMmZjZDgxZWMx
Li41NmVhOGUxZDQgMTAwNjQ0CiAtLS0gYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5n
X3RhYl9hdXRvZ2VuLmNwcAogKysrIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190
YWJfYXV0b2dlbi5jcHAKIEBAIC0xLDUgKzEsNyBAQApAQCAtNjgsNyArODEsNyBAQCBpbmRleCA4
YzlmZDMyOTguLjM5NjJhMjE0YiAxMDA2NDQKICAKICAgICBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5
ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAog
ZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4u
aCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4uaAotaW5kZXgg
ZTBlOGQ2NDQ3Li5lYmY4ZDkwZjUgMTAwNjQ0CitpbmRleCA2YTExMzYxNjIuLjAzNzgzMzY4MCAx
MDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4u
aAogKysrIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5oCiBA
QCAtMSw1ICsxLDcgQEAKQEAgLTc5LDggKzkyLDM2IEBAIGluZGV4IGUwZThkNjQ0Ny4uZWJmOGQ5
MGY1IDEwMDY0NAogIC8qIEJpc29uIGludGVyZmFjZSBmb3IgWWFjYy1saWtlIHBhcnNlcnMgaW4g
QwogIAogICAgIENvcHlyaWdodCAoQykgMTk4NCwgMTk4OS0xOTkwLCAyMDAwLTIwMTUsIDIwMTgt
MjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCitkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xF
L0NhcHMuY3BwIGIvc3JjL2xpYkFOR0xFL0NhcHMuY3BwCitpbmRleCBiYTNkNGQ5YjcuLjdmN2Y0
OTI2NiAxMDA2NDQKKy0tLSBhL3NyYy9saWJBTkdMRS9DYXBzLmNwcAorKysrIGIvc3JjL2xpYkFO
R0xFL0NhcHMuY3BwCitAQCAtNjI1LDcgKzYyNSwxMSBAQCBzdGF0aWMgYm9vbCBEZXRlcm1pbmVE
ZXB0aFRleHR1cmVBTkdMRVN1cHBvcnQoY29uc3QgVGV4dHVyZUNhcHNNYXAgJnRleHR1cmVDYXBz
KQorIHsKKyAgICAgY29uc3RleHByIEdMZW51bSByZXF1aXJlZEZvcm1hdHNbXSA9IHsKKyAgICAg
ICAgIEdMX0RFUFRIX0NPTVBPTkVOVDE2LAorKyNpZiAhQU5HTEVfUExBVEZPUk1fSU9TCisrICAg
ICAgICAvLyBGSVhNRTogVGVtcG9yYXJpbHkgUmVtb3ZpbmcgdGhlIG5lZWQgZm9yIEdMX0RFUFRI
X0NPTVBPTkVOVDMyX09FUworKyAgICAgICAgLy8gYmVjYXVzZSBpdCBpcyBub3Qgc3VwcG9ydGVk
IG9uIGlPUy4KKyAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDMyX09FUywKKysjZW5kaWYKKyAg
ICAgICAgIEdMX0RFUFRIMjRfU1RFTkNJTDhfT0VTLAorICAgICB9OworIAorQEAgLTYzNyw3ICs2
NDEsMTEgQEAgc3RhdGljIGJvb2wgRGV0ZXJtaW5lRGVwdGhUZXh0dXJlT0VTU3VwcG9ydChjb25z
dCBUZXh0dXJlQ2Fwc01hcCAmdGV4dHVyZUNhcHMpCisgeworICAgICBjb25zdGV4cHIgR0xlbnVt
IHJlcXVpcmVkRm9ybWF0c1tdID0geworICAgICAgICAgR0xfREVQVEhfQ09NUE9ORU5UMTYsCisr
I2lmICFBTkdMRV9QTEFURk9STV9JT1MKKysgICAgICAgIC8vIEZJWE1FOiBUZW1wb3JhcmlseSBS
ZW1vdmluZyB0aGUgbmVlZCBmb3IgR0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTCisrICAgICAgICAv
LyBiZWNhdXNlIGl0IGlzIG5vdCBzdXBwb3J0ZWQgb24gaU9TLgorICAgICAgICAgR0xfREVQVEhf
Q09NUE9ORU5UMzJfT0VTLAorKyNlbmRpZgorICAgICB9OworIAorICAgICByZXR1cm4gR2V0Rm9y
bWF0U3VwcG9ydCh0ZXh0dXJlQ2FwcywgcmVxdWlyZWRGb3JtYXRzLCB0cnVlLCB0cnVlLCB0cnVl
LCB0cnVlLCBmYWxzZSk7CiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL1N0YXRlLmNwcCBiL3Ny
Yy9saWJBTkdMRS9TdGF0ZS5jcHAKLWluZGV4IDQ1MmE2OTVjMC4uMTBhYjVmYzE3IDEwMDY0NAor
aW5kZXggZGJiZjg2OWU2Li4xYWNlNTMzMzQgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvU3Rh
dGUuY3BwCiArKysgYi9zcmMvbGliQU5HTEUvU3RhdGUuY3BwCiBAQCAtNiw2ICs2LDkgQEAKQEAg
LTk0LDcgKzEzNSw3IEBAIGluZGV4IDQ1MmE2OTVjMC4uMTBhYjVmYzE3IDEwMDY0NAogIAogICNp
bmNsdWRlIDxzdHJpbmcuaD4KIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
U3RhdGVNYW5hZ2VyR0wuY3BwIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N0YXRlTWFuYWdl
ckdMLmNwcAotaW5kZXggNWFjMWZhNjQ4Li4zZjliYzAxNjYgMTAwNjQ0CitpbmRleCBlMmExMGNi
ZmQuLjI1MzA2Y2ZhMiAxMDA2NDQKIC0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9TdGF0
ZU1hbmFnZXJHTC5jcHAKICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9TdGF0ZU1hbmFn
ZXJHTC5jcHAKIEBAIC01ODAsNiArNTgwLDkgQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0UGl4
ZWxQYWNrQnVmZmVyKGNvbnN0IGdsOjpCdWZmZXIgKnBpeGVsQnVmZmVyKQpAQCAtMTIxLDcgKzE2
Miw3IEBAIGluZGV4IDIyNjI2OTkwOS4uYWU5MDc3NmRhIDEwMDY0NAogIH0KICAKIGRpZmYgLS1n
aXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvY2dsL1dpbmRvd1N1cmZhY2VDR0wubW0gYi9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvY2dsL1dpbmRvd1N1cmZhY2VDR0wubW0KLWluZGV4IDFj
MWZkMjI1Mi4uNTRkODMyMGVhIDEwMDY0NAoraW5kZXggZDZhODZmNTI1Li4wZmE1N2JlNDMgMTAw
NjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvY2dsL1dpbmRvd1N1cmZhY2VDR0wu
bW0KICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9jZ2wvV2luZG93U3VyZmFjZUNHTC5t
bQogQEAgLTE1Myw3ICsxNTMsNyBAQCBXaW5kb3dTdXJmYWNlQ0dMOjpXaW5kb3dTdXJmYWNlQ0dM
KGNvbnN0IGVnbDo6U3VyZmFjZVN0YXRlICZzdGF0ZSwKQEAgLTE2Myw3ICsyMDQsNyBAQCBpbmRl
eCAyOWU4Mzg3MWMuLjg1ODA0NDExZCAxMDA2NDQKICB9CiAgCiBkaWZmIC0tZ2l0IGEvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL2VhZ2wvV2luZG93U3VyZmFjZUVBR0wubW0gYi9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvZWFnbC9XaW5kb3dTdXJmYWNlRUFHTC5tbQotaW5kZXggY2I0ODJkMDVi
Li42Y2VmN2QzZGQgMTAwNjQ0CitpbmRleCA1OWM1YzJmMDAuLjM4ZDI1M2ViZCAxMDA2NDQKIC0t
LSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lYWdsL1dpbmRvd1N1cmZhY2VFQUdMLm1tCiAr
KysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWFnbC9XaW5kb3dTdXJmYWNlRUFHTC5tbQog
QEAgLTExOSw3ICsxMTksNyBAQCBXaW5kb3dTdXJmYWNlRUFHTDo6V2luZG93U3VyZmFjZUVBR0wo
Y29uc3QgZWdsOjpTdXJmYWNlU3RhdGUgJnN0YXRlLApAQCAtMTgzLDIyICsyMjQsMjQgQEAgaW5k
ZXggY2I0ODJkMDViLi42Y2VmN2QzZGQgMTAwNjQ0CiAgICAgICAgICBtU3dhcExheWVyID0gbmls
OwogICAgICB9CiAgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Zvcm1h
dHV0aWxzZ2wuY3BwIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Zvcm1hdHV0aWxzZ2wuY3Bw
CitpbmRleCAzMjY5Y2M1YmMuLjhlZTA0Yjk0YSAxMDA2NDQKKy0tLSBhL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9mb3JtYXR1dGlsc2dsLmNwcAorKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2dsL2Zvcm1hdHV0aWxzZ2wuY3BwCitAQCAtMjU2LDcgKzI1Niw3IEBAIHN0YXRpYyBJbnRlcm5h
bEZvcm1hdEluZm9NYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAoKQorICAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1IxNkYsICAgICAgICAgICAgICBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9BUkJfdGV4dHVyZV9yZyBBUkJfdGV4dHVyZV9mbG9hdCIpLCAgICBBbHdheXNTdXBw
b3J0ZWQoKSwgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfQVJCX3RleHR1cmVfcmcgR0xfQVJCX3Rl
eHR1cmVfZmxvYXQgR0xfQVJCX2NvbG9yX2J1ZmZlcl9mbG9hdCIpLCBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IEdMX0VYVF90ZXh0dXJlX3JnIiksIFZlcnNp
b25PckV4dHMoMywgMCwgIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksIEV4dHNP
bmx5KCJHTF9FWFRfdGV4dHVyZV9zdG9yYWdlIEdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQgR0xf
RVhUX3RleHR1cmVfcmcgR0xfRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0IiwgIkdMX0VYVF9j
b2xvcl9idWZmZXJfZmxvYXQiKSwgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJlX3JnIEdMX09FU190
ZXh0dXJlX2hhbGZfZmxvYXQgR0xfRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0IiwgIkdMX0VY
VF9jb2xvcl9idWZmZXJfZmxvYXQiKSk7CisgICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwg
R0xfUkcxNkYsICAgICAgICAgICAgIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX0FSQl90ZXh0dXJl
X3JnIEFSQl90ZXh0dXJlX2Zsb2F0IiksICAgIEFsd2F5c1N1cHBvcnRlZCgpLCBWZXJzaW9uT3JF
eHRzKDMsIDAsICJHTF9BUkJfdGV4dHVyZV9yZyBHTF9BUkJfdGV4dHVyZV9mbG9hdCBHTF9BUkJf
Y29sb3JfYnVmZmVyX2Zsb2F0IiksIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQgR0xfRVhUX3RleHR1cmVfcmciKSwgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xf
T0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiKSwgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJl
X3N0b3JhZ2UgR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBHTF9FWFRfdGV4dHVyZV9yZyBHTF9F
WFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiLCAiR0xfRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIp
LCBFeHRzT25seSgiR0xfRVhUX3RleHR1cmVfcmcgR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBH
TF9FWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiLCAiR0xfRVhUX2NvbG9yX2J1ZmZlcl9mbG9h
dCIpKTsKKyAgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0IxNkYsICAgICAgICAg
ICAgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfQVJCX3RleHR1cmVfZmxvYXQiKSwgICAgICAgICAg
ICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX0FSQl90
ZXh0dXJlX2Zsb2F0IEdMX0FSQl9jb2xvcl9idWZmZXJfZmxvYXQiKSwgICAgICAgICAgICAgICAg
ICAgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLCAgICAg
ICAgICAgICAgICAgICBWZXJzaW9uT3JFeHRzKDMsIDAsICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0X2xpbmVhciIpLCBFeHRzT25seSgiR0xfRVhUX3RleHR1cmVfc3RvcmFnZSBHTF9PRVNfdGV4
dHVyZV9oYWxmX2Zsb2F0IEdMX0VYVF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCIpLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHNPbmx5KCJHTF9PRVNf
dGV4dHVyZV9oYWxmX2Zsb2F0IEdMX0VYVF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCIpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworLSAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkExNkYsICAgICAgICAgICBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9BUkJfdGV4dHVyZV9mbG9hdCIpLCAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBw
b3J0ZWQoKSwgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfQVJCX3RleHR1cmVfZmxvYXQgR0xfQVJC
X2NvbG9yX2J1ZmZlcl9mbG9hdCIpLCAgICAgICAgICAgICAgICAgICBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IiksICAgICAgICAgICAgICAgICAgIFZlcnNp
b25PckV4dHMoMywgMCwgIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksIEV4dHNP
bmx5KCJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IEdMX0VYVF9jb2xvcl9idWZmZXJfaGFsZl9m
bG9hdCIsICJHTF9FWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiksICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRXh0c09ubHkoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQg
R0xfRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0IiwgIkdMX0VYVF9jb2xvcl9idWZmZXJfZmxv
YXQiKSAgICAgICAgICAgICAgICAgICk7CisrICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwg
R0xfUkdCQTE2RiwgICAgICAgICAgIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX0FSQl90ZXh0dXJl
X2Zsb2F0IiksICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCgpLCBWZXJzaW9uT3JF
eHRzKDMsIDAsICJHTF9BUkJfdGV4dHVyZV9mbG9hdCBHTF9BUkJfY29sb3JfYnVmZmVyX2Zsb2F0
IiksICAgICAgICAgICAgICAgICAgIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKSwgICAgICAgICAgICAgICAgICAgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xf
T0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiKSwgRXh0c09ubHkoIkdMX0VYVF9jb2xvcl9i
dWZmZXJfaGFsZl9mbG9hdCIsICJHTF9FWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiksICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFeHRzT25seSgiR0xfRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0IiwgIkdMX0VYVF9jb2xv
cl9idWZmZXJfZmxvYXQiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKKyAgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SMzJGLCAgICAgICAgICAg
ICAgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfQVJCX3RleHR1cmVfcmcgR0xfQVJCX3RleHR1cmVf
ZmxvYXQiKSwgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX0FSQl90
ZXh0dXJlX3JnIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IEdMX0FSQl9jb2xvcl9idWZmZXJfZmxvYXQi
KSwgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfT0VTX3RleHR1cmVfZmxvYXQgR0xfRVhUX3RleHR1
cmVfcmciKSwgICAgICBFeHRzT25seSgiR0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiksICAg
ICAgICAgICAgICAgICBFeHRzT25seSgiR0xfRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIpLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHNPbmx5KCJHTF9FWFRf
Y29sb3JfYnVmZmVyX2Zsb2F0IikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHMzJGLCAgICAgICAgICAgICBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9BUkJfdGV4dHVyZV9yZyBHTF9BUkJfdGV4dHVyZV9mbG9hdCIpLCBBbHdheXNTdXBw
b3J0ZWQoKSwgVmVyc2lvbk9yRXh0cygzLCAwLCAiR0xfQVJCX3RleHR1cmVfcmcgR0xfQVJCX3Rl
eHR1cmVfZmxvYXQgR0xfQVJCX2NvbG9yX2J1ZmZlcl9mbG9hdCIpLCBWZXJzaW9uT3JFeHRzKDMs
IDAsICJHTF9PRVNfdGV4dHVyZV9mbG9hdCBHTF9FWFRfdGV4dHVyZV9yZyIpLCAgICAgIEV4dHNP
bmx5KCJHTF9PRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKSwgICAgICAgICAgICAgICAgIEV4dHNP
bmx5KCJHTF9FWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiksICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRXh0c09ubHkoIkdMX0VYVF9jb2xvcl9idWZmZXJfZmxvYXQi
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwg
R0xfUkdCMzJGLCAgICAgICAgICAgIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX0FSQl90ZXh0dXJl
X2Zsb2F0IiksICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCgpLCBWZXJzaW9uT3JF
eHRzKDMsIDAsICJHTF9BUkJfdGV4dHVyZV9mbG9hdCBHTF9BUkJfY29sb3JfYnVmZmVyX2Zsb2F0
IiksICAgICAgICAgICAgICAgICAgIFZlcnNpb25PckV4dHMoMywgMCwgIkdMX09FU190ZXh0dXJl
X2Zsb2F0IiksICAgICAgICAgICAgICAgICAgICAgICAgRXh0c09ubHkoIkdMX09FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciIpLCAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQoKSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOZXZlclN1cHBvcnRlZCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91
dGlscy5jcHAgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91dGlscy5jcHAK
LWluZGV4IDRlYzk5YmNlYS4uNmEyNTBkYjg1IDEwMDY0NAoraW5kZXggYzdhOGE1NDk4Li5lOWRm
NTUwYjkgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91
dGlscy5jcHAKICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9yZW5kZXJlcmdsX3V0aWxz
LmNwcAotQEAgLTE2MTUsNyArMTYxNSw5IEBAIHZvaWQgSW5pdGlhbGl6ZUZlYXR1cmVzKGNvbnN0
IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGZWF0dXJlc0dMICpmZWF0dXJlCi0gICAg
IGJvb2wgbGltaXRNYXhUZXh0dXJlU2l6ZSA9IGlzSW50ZWwgJiYgSXNMaW51eCgpICYmIEdldExp
bnV4T1NWZXJzaW9uKCkgPCBPU1ZlcnNpb24oNSwgMCwgMCk7Ci0gICAgIEFOR0xFX0ZFQVRVUkVf
Q09ORElUSU9OKGZlYXR1cmVzLCBsaW1pdE1heFRleHR1cmVTaXplVG80MDk2LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJc0FuZHJvaWQoKSB8fCBsaW1pdE1heFRleHR1cmVTaXplKTsK
LS0gICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oZmVhdHVyZXMsIGxpbWl0TWF4TVNBQVNhbXBs
ZXNUbzQsIElzQW5kcm9pZCgpKTsKLSsgICAgLy8gT24gQXBwbGUgc3dpdGNoYWJsZSBncmFwaGlj
cywgR0xfTUFYX1NBTVBMRVMgbWF5IGRpZmZlciBiZXR3ZWVuIHRoZSBHUFVzLgotKyAgICAvLyA0
IGlzIGEgbG93ZXN0IGNvbW1vbiBkZW5vbWluYXRvciB0aGF0IGlzIGFsd2F5cyBzdXBwb3J0ZWQu
Ci0rICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKGZlYXR1cmVzLCBsaW1pdE1heE1TQUFTYW1w
bGVzVG80LCBJc0FuZHJvaWQoKSB8fCAoSXNBcHBsZSgpICYmIChpc0ludGVsIHx8IGlzQU1EIHx8
IGlzTnZpZGlhKSkpOwotICAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgbGlt
aXRNYXgzZEFycmF5VGV4dHVyZVNpemVUbzEwMjQsIGxpbWl0TWF4VGV4dHVyZVNpemUpOwotIAot
ICAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgYWxsb3dDbGVhckZvclJvYnVz
dFJlc291cmNlSW5pdCwgSXNBcHBsZSgpKTsKLUBAIC0xNjczLDYgKzE2NzUsOSBAQCB2b2lkIElu
aXRpYWxpemVGZWF0dXJlcyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zLCBhbmdsZTo6RmVh
dHVyZXNHTCAqZmVhdHVyZQorQEAgLTE3MTEsNiArMTcxMSw5IEBAIHZvaWQgSW5pdGlhbGl6ZUZl
YXR1cmVzKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGZWF0dXJlc0dMICpm
ZWF0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8oYW5nbGVidWcuY29t
LzIyNzMpOiBkaWFnbm9zZSBjcmFzaGVzIHdpdGggdGhpcyB3b3JrYXJvdW5kLgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmYWxzZSk7CiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9leHRlbnNpb25zL0FOR0xFX2V4dGVybmFsX29iamVjdHNfZnVjaHNpYS50eHQg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9leHRlbnNpb25zL0FOR0xFX2V4dGVybmFsX29iamVj
dHNfZnVjaHNpYS50eHQKaW5kZXggOTJkYjAwNjlmY2YyOWY1MDg1NmEzOGNiMWVhZWNlNThmZGIz
ODcxMC4uOTJiMGQxYWQ5Mzg5NjNlODllZDgzYjllYzE5MTIxZThmNzNmMzA1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvZXh0ZW5zaW9ucy9BTkdMRV9leHRlcm5hbF9vYmpl
Y3RzX2Z1Y2hzaWEudHh0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2V4dGVuc2lvbnMv
QU5HTEVfZXh0ZXJuYWxfb2JqZWN0c19mdWNoc2lhLnR4dApAQCAtMTMxLDUgKzEzMSw1IEBAIEFk
ZGl0aW9ucyB0byBDaGFwdGVyIDYgb2YgdGhlIE9wZW5HTCA0LjUgU3BlY2lmaWNhdGlvbiAoTWVt
b3J5IE9iamVjdHMpCiAKIFJldmlzaW9uIEhpc3RvcnkKIAotICAgIFJldmlzaW9uIDEsIDIwMTkt
MDItMTkgKE1pY2hhZWwgU3BhbmcpCisgICAgUmV2aXNpb24gMSwgMjAyMC0wMi0xOSAoTWljaGFl
bCBTcGFuZykKICAgICAgICAgLSBJbml0aWFsIGRyYWZ0IGJhc2VkIGNsb3NlbHkgb24gRVhUX2V4
dGVybmFsX29iamVjdHNfZmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9l
eHRlbnNpb25zL0VHTF9BTkdMRV9kM2RfdGV4dHVyZV9jbGllbnRfYnVmZmVyLnR4dCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL2V4dGVuc2lvbnMvRUdMX0FOR0xFX2QzZF90ZXh0dXJlX2NsaWVu
dF9idWZmZXIudHh0CmluZGV4IGZiZjlmMTkyNjkxYmVkNjMzNjc0YzI5NzBiY2FjMGU1ZWEwODI2
ZjEuLmE0ZGMwOGY1M2VkNzQyMjk4ZTRhZGU4MDNmYTg0YjU4ZjZkYjVkMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2V4dGVuc2lvbnMvRUdMX0FOR0xFX2QzZF90ZXh0dXJl
X2NsaWVudF9idWZmZXIudHh0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2V4dGVuc2lv
bnMvRUdMX0FOR0xFX2QzZF90ZXh0dXJlX2NsaWVudF9idWZmZXIudHh0CkBAIC0yMiw3ICsyMiw3
IEBAIFN0YXR1cwogCiBWZXJzaW9uCiAKLSAgICBWZXJzaW9uIDUsIFNlcCA2LCAyMDE5CisgICAg
VmVyc2lvbiA2LCBNYXkgMTIsIDIwMjAKIAogTnVtYmVyCiAKQEAgLTc1LDEzICs3NSwxNyBAQCBB
ZGRpdGlvbnMgdG8gQ2hhcHRlciAyIG9mIHRoZSBFR0wgMS4yIFNwZWNpZmljYXRpb24gKEVHTCBP
cGVyYXRpb24pCiAgICAgSWYgPHRhcmdldD4gaXMgRUdMX0QzRF9URVhUVVJFX0FOR0xFLCA8ZHB5
PiBtdXN0IGJlIGEgdmFsaWQgZGlzcGxheSwgPGN0eD4KICAgICBtdXN0IGJlIEVHTF9OT19DT05U
RVhULCA8YnVmZmVyPiBtdXN0IGJlIGEgcG9pbnRlciB0byBhIHZhbGlkIEQzRDExIHRleHR1cmUK
ICAgICBvYmplY3QgKGNhc3QgaW50byB0aGUgdHlwZSBFR0xDbGllbnRCdWZmZXIpLCBhbmQgYXR0
cmlidXRlcyBvdGhlciB0aGFuCi0gICAgRUdMX1RFWFRVUkVfSU5URVJOQUxfRk9STUFUX0FOR0xF
IGFyZSBpZ25vcmVkLiBUaGUgd2lkdGggYW5kIGhlaWdodCBvZgotICAgIHRoZSBwYnVmZmVyIGFy
ZSBkZXRlcm1pbmVkIGJ5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIDxidWZmZXI+LiIKKyAgICBF
R0xfVEVYVFVSRV9JTlRFUk5BTF9GT1JNQVRfQU5HTEUsIEVHTF9URVhUVVJFX09GRlNFVF9YX0FO
R0xFLCBvcgorICAgIEVHTF9URVhUVVJFX09GRlNFVF9ZX0FOR0xFIGFyZSBpZ25vcmVkLiBUaGUg
d2lkdGggYW5kIGhlaWdodCBvZiB0aGUgcGJ1ZmZlcgorICAgIGFyZSBkZXRlcm1pbmVkIGJ5IHRo
ZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIDxidWZmZXI+LgogCiAgICAgSWYgRUdMX1RFWFRVUkVfSU5U
RVJOQUxfRk9STUFUX0FOR0xFIGlzIHNwZWNpZmllZCwgaXQgaXMgdXNlZCB0byBpbnRlcnByZXQK
ICAgICA8YnVmZmVyPiBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIGludGVybmFsIGZvcm1hdC4g
U2VlIHRhYmxlCiAgICAgZWdsLnJlc3RyaWN0aW9ucyBmb3IgYWNjZXB0YWJsZSB0ZXh0dXJlIG9i
amVjdCB0eXBlcyBhbmQgZm9ybWF0cy4KIAorICAgIElmIEVHTF9URVhUVVJFX09GRlNFVF9YX0FO
R0xFIG9yIEVHTF9URVhUVVJFX09GRlNFVF9ZX0FOR0xFIGFyZSBzcGVjaWZpZWQsCisgICAgdGhl
eSBhcmUgdXNlZCB0byBvZmZzZXQgYWxsIHJlbmRlcmluZyBpbnRvIHRoZSBzdXJmYWNlLgorCiAg
ICAgSWYgdGhlIEVHTF9BTkdMRV9kZXZpY2VfZDNkIGV4dGVuc2lvbiBpcyBwcmVzZW50LCB0aGUg
cHJvdmlkZWQgRDNEMTEgdGV4dHVyZQogICAgIG9iamVjdCBtdXN0IGhhdmUgYmVlbiBjcmVhdGVk
IGJ5IHRoZSBzYW1lIEQzRDExIGRldmljZSBxdWVyaWVkIGZyb20gdGhlCiAgICAgZGlzcGxheS4g
SWYgdGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBub3QgbWV0LCBhbiBFR0xfQkFEX1BBUkFNRVRFUiBl
cnJvciBpcwpAQCAtMTIyLDYgKzEyNiw5IEBAIEFkZGl0aW9ucyB0byBDaGFwdGVyIDMgb2YgdGhl
IEVHTCAxLjIgU3BlY2lmaWNhdGlvbiAoRUdMIEZ1bmN0aW9ucyBhbmQgRXJyb3JzKQogCiAgICAg
ICAgICAgICAgICAgICAgICAgIEVHTF9URVhUVVJFX0lOVEVSTkFMX0ZPUk1BVF9BTkdMRSBpcyBu
b3Qgc3VwcG9ydGVkLgogCisgICAgICAgICAgICAgICAgICAgICAgIEVHTF9URVhUVVJFX09GRlNF
VF9YX0FOR0xFIGFuZCBFR0xfVEVYVFVSRV9PRkZTRVRfWV9BTkdMRQorICAgICAgICAgICAgICAg
ICAgICAgICBhcmUgbm90IHN1cHBvcnRlZC4KKwogICAgIElEM0QxMVRleHR1cmUyRCAgICBVc2Fn
ZSBmbGFncyBtdXN0IGJlIEQzRDExX1VTQUdFX0RFRkFVTFQuCiAKICAgICAgICAgICAgICAgICAg
ICAgICAgRm9ybWF0IG11c3QgYmUKQEAgLTE5MSw4ICsxOTgsMTggQEAgSXNzdWVzCiAgICAgdG8g
R0xfUkdCLiBJbWFnZXMgd2l0aCBhbiBSR0IgZm9ybWF0IHdpbGwgZW5zdXJlIHRoYXQgdGhlIGFs
cGhhIGNoYW5uZWwgb2YKICAgICB0aGUgdGV4dHVyZSBpcyByZXNldCB0byAxLjAgd2hlbiBpdCBp
cyB1c2VkLgogCisgICAgNS4gV2hhdCBvcGVyYXRpb25zIGRvIHRoZSB0ZXh0dXJlIG9mZnNldHMg
YWZmZWN0PworCisgICAgUkVTT0xWRUQ6IFRoZSB0ZXh0dXJlIG9mZnNldHMgc3BlY2lmaWVkIGJ5
IEVHTF9URVhUVVJFX09GRlNFVF9YX0FOR0xFIGFuZAorICAgIEVHTF9URVhUVVJFX09GRlNFVF9Z
X0FOR0xFIGFmZmVjdCBvbmx5IHJlbmRlcmluZyBpbnRvIHRoZSBzdXJmYWNlLgorICAgIFNwZWNp
ZmljYWxseSB0aGVzZSBhZmZlY3QgdGhlIGludGVybmFsIEQzRCB2aWV3cG9ydCBhbmQgc2Npc3Nv
ciByZWN0IHN0YXRlcy4KKyAgICBUaGlzIGlzIG5lZWRlZCB0byBhcHBseSB0aGUgdXBkYXRlIG9m
ZnNldCByZXR1cm5lZCBieSBjYWxsaW5nIEJlZ2luRHJhdygpIG9uCisgICAgSURDb21wb3NpdGlv
blN1cmZhY2UsIGFuZCBpcyBuZWVkZWQgZm9yIGNvcnJlY3QgcmVuZGVyaW5nIGluIHRoYXQgY2Fz
ZS4KKwogUmV2aXNpb24gSGlzdG9yeQogCisgICAgVmVyc2lvbiA2LCAyMDIwLzA1LzEyIC0gYWRk
ZWQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyB0ZXh0dXJlIG9mZnNldHMuCisKICAgICBWZXJzaW9u
IDUsIDIwMTkvMDkvMDYgLSBhZGRlZCBzdXBwb3J0IGZvciBjcmVhdGluZyBFR0xJbWFnZS4KIAog
ICAgIFZlcnNpb24gNCwgMjAxOS8wNC8xNSAtIGFkZGVkIHN1cHBvcnQgZm9yIERYR0lfRk9STUFU
X1IxMEcxMEIxMEEyX1VOT1JNLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
ZXh0ZW5zaW9ucy9FR0xfQU5HTEVfcGxhdGZvcm1fYW5nbGVfZDNkX2x1aWQudHh0IGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvZXh0ZW5zaW9ucy9FR0xfQU5HTEVfcGxhdGZvcm1fYW5nbGVfZDNk
X2x1aWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjYWM3ZTNhZWYwMTMzMmU3NTViNjkyYTNjOGEzYmQxOTJk
NDZkMmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9leHRlbnNp
b25zL0VHTF9BTkdMRV9wbGF0Zm9ybV9hbmdsZV9kM2RfbHVpZC50eHQKQEAgLTAsMCArMSw4OCBA
QAorTmFtZQorCisgICAgQU5HTEVfcGxhdGZvcm1fYW5nbGVfZDNkX2x1aWQKKworTmFtZSBTdHJp
bmdzCisKKyAgICBFR0xfQU5HTEVfcGxhdGZvcm1fYW5nbGVfZDNkX2x1aWQKKworQ29udHJpYnV0
b3JzCisKKyAgICBQYXRyaWNrIFRvLCBNaWNyb3NvZnQKKworQ29udGFjdHMKKworICAgIFBhdHJp
Y2sgVG8sIE1pY3Jvc29mdCAocGF0cnRvICdhdCcgbWljcm9zb2Z0LmNvbSkKKworU3RhdHVzCisK
KyAgICBEcmFmdAorCitWZXJzaW9uCisKKyAgICBWZXJzaW9uIDEsIDIwMjAtMDQtMzAKKworTnVt
YmVyCisKKyAgICBFR0wgRXh0ZW5zaW9uIFhYWAorCitFeHRlbnNpb24gVHlwZQorCisgICAgRUdM
IGNsaWVudCBleHRlbnNpb24KKworRGVwZW5kZW5jaWVzCisKKyAgICBSZXF1aXJlcyBBTkdMRV9w
bGF0Zm9ybV9hbmdsZV9kM2QuCisKK092ZXJ2aWV3CisKKyAgICBUaGlzIGV4dGVuc2lvbiBlbmFi
bGVzIHRoZSBzZWxlY3Rpb24gb2YgYSBncmFwaGljcyBhZGFwdGVyIHRvIGJhY2sgRDNELgorCitO
ZXcgVHlwZXMKKworICAgIE5vbmUKKworTmV3IFByb2NlZHVyZXMgYW5kIEZ1bmN0aW9ucworCisg
ICAgTm9uZQorCitOZXcgVG9rZW5zCisKKyAgICBBY2NlcHRlZCBhcyBhbiBhdHRyaWJ1dGUgbmFt
ZSBpbiB0aGUgPGF0dHJpYl9saXN0PiBhcmd1bWVudCBvZgorICAgIGVnbEdldFBsYXRmb3JtRGlz
cGxheUVYVDoKKworICAgICAgICBFR0xfUExBVEZPUk1fQU5HTEVfRDNEX0xVSURfSElHSF9BTkdM
RSAgICAgICAgICAweDM0QTAKKyAgICAgICAgRUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0xP
V19BTkdMRSAgICAgICAgICAgMHgzNEExCisKK0FkZGl0aW9ucyB0byB0aGUgRUdMIFNwZWNpZmlj
YXRpb24KKworICAgIE5vbmUKKworTmV3IEJlaGF2aW9yCisKKyAgICBUbyByZXF1ZXN0IGEgZGlz
cGxheSB0aGF0IGlzIGJhY2tlZCBieSBhIHNwZWNpZmljIGdyYXBoaWNzIGFkYXB0ZXIsCisgICAg
RUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0hJR0hfQU5HTEUgYW5kL29yCisgICAgRUdMX1BM
QVRGT1JNX0FOR0xFX0QzRF9MVUlEX0xPV19BTkdMRSBzaG91bGQgYmUgc2V0IHRvIHRoZSBoaWdo
IHBhcnQgYW5kIGxvdworICAgIHBhcnQgb2YgdGhlIGFkYXB0ZXIncyBMVUlELiBJZiBvbmx5IG9u
ZSBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkLCB0aGUgb3RoZXIgaXMKKyAgICBhc3N1bWVkIHRvIGJl
IHplcm8uCisKKyAgICBJZiB0aGUgaGlnaCBwYXJ0IGFuZCBsb3cgcGFydCBjb21iaW5lZCBpcyB6
ZXJvLCBhbiBFR0xfQkFEX0FUVFJJQlVURSBlcnJvcgorICAgIGlzIGdlbmVyYXRlZCBhbmQgRUdM
X05PX0RJU1BMQVkgaXMgcmV0dXJuZWQuCisKKyAgICBJZiB0aGUgTFVJRCBzcGVjaWZpZWQgZG9l
c24ndCBtYXRjaCBhbnkgYWRhcHRlcnMgb24gdGhlIHN5c3RlbSwgdGhlIGRlZmF1bHQKKyAgICBh
ZGFwdGVyIGlzIHVzZWQuCisKKyAgICBJZiBFR0xfUExBVEZPUk1fQU5HTEVfRDNEX0xVSURfSElH
SF9BTkdMRSBhbmQvb3IKKyAgICBFR0xfUExBVEZPUk1fQU5HTEVfRDNEX0xVSURfTE9XX0FOR0xF
IGlzIGluY2x1ZGVkIGluIHRoZSA8YXR0cmliX2xpc3Q+CisgICAgYXJndW1lbnQgb2YgZWdsR2V0
UGxhdGZvcm1EaXNwbGF5RVhUIGFuZCBFR0xfUExBVEZPUk1fQU5HTEVfVFlQRV9BTkdMRSBpcwor
ICAgIG5vdCBzZXQgdG8gRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfRDNEMTFfQU5HTEUsIGFuIEVH
TF9CQURfQVRUUklCVVRFIGVycm9yCisgICAgaXMgZ2VuZXJhdGVkIGFuZCBFR0xfTk9fRElTUExB
WSBpcyByZXR1cm5lZC4KKworSXNzdWVzCisKKyAgICBOb25lCisKK1JldmlzaW9uIEhpc3RvcnkK
KworICAgIFZlcnNpb24gMSwgMjAyMC0wNC0zMCAoUGF0cmljayBUbykKKyAgICAgIC0gSW5pdGlh
bCBkcmFmdApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvZXh0ZW5zaW9ucy9F
R0xfQU5HTEVfc3luY19jb250cm9sX3JhdGUudHh0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
ZXh0ZW5zaW9ucy9FR0xfQU5HTEVfc3luY19jb250cm9sX3JhdGUudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIw
NTZhZTg4ODgyODJmM2QyNmExMjllYjc0ZGU5Y2FhOTMwZTU4OWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9leHRlbnNpb25zL0VHTF9BTkdMRV9zeW5jX2NvbnRy
b2xfcmF0ZS50eHQKQEAgLTAsMCArMSwxMTAgQEAKK++7v05hbWUKKworICAgQU5HTEVfc3luY19j
b250cm9sX3JhdGUKKworTmFtZSBTdHJpbmdzCisKKyAgIEVHTF9BTkdMRV9zeW5jX2NvbnRyb2xf
cmF0ZQorCitDb250YWN0CisKKyAgIEpvbmFoIFJ5YW4tRGF2aXMsIEdvb2dsZSAoam9uYWhyICdh
dCcgZ29vZ2xlLmNvbSkKKworU3RhdHVzCisKKyAgIERyYWZ0LgorCitWZXJzaW9uCisKKyAgIFZl
cnNpb24gMSwgMjAyMC0wMy0yNAorCisgICBCYXNlZCBvbiBHTFhfT01MX3N5bmNfY29udHJvbCBS
ZXZpc2lvbiA2LjAKKworTnVtYmVyCisKKyAgID8/PworCitEZXBlbmRlbmNpZXMKKworICAgVGhl
IGV4dGVuc2lvbiBpcyB3cml0dGVuIGFnYWluc3QgdGhlIEVHTCAxLjIgU3BlY2lmaWNhdGlvbiwg
YWx0aG91Z2ggaXQKKyAgIHNob3VsZCB3b3JrIG9uIG90aGVyIHZlcnNpb25zIG9mIHRoZXNlIHNw
ZWNpZmljYXRpb25zLiBUaGlzIGV4dGVuc2lvbgorICAgYWxzbyByZXF1aXJlcyBhbiBvcGVyYXRp
bmcgc3lzdGVtIHdoaWNoIHN1cHBvcnRzIENMT0NLX01PTk9UT05JQy4KKworT3ZlcnZpZXcKKwor
ICAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgY291bnRlcnMgd2hpY2ggbGV0IGFwcGxpY2F0aW9u
cyBrbm93IGFib3V0IHRoZQorICAgdGltaW5nIG9mIHRoZSBsYXN0IHZlcnRpY2FsIHJldHJhY2Uu
IEJ5IGxvb2tpbmcgYXQgdGhlIHN5c3RlbSBjbG9jaywgYXMKKyAgIHdlbGwgYXMgdGhlIHJlZnJl
c2ggcmF0ZSBvZiB0aGUgbW9uaXRvciwgdGhpcyBzaG91bGQgZW5hYmxlIGFwcGxpY2F0aW9ucwor
ICAgdG8gcHJlZGljdCB0aGUgcG9zaXRpb24gb2YgZnV0dXJlIHJldHJhY2VzIHNvIGFzIHRvIHNj
aGVkdWxlIGFuIG9wdGltYWwKKyAgIHdvcmtsb2FkLgorCisgICBUaGlzIGV4dGVuc2lvbiBpbmNv
cnBvcmF0ZXMgdGhlIHVzZSBvZiB0aHJlZSBjb3VudGVycyB0aGF0IHByb3ZpZGUKKyAgIHRoZSBu
ZWNlc3Nhcnkgc3luY2hyb25pemF0aW9uLiBUaGUgVW5hZGp1c3RlZCBTeXN0ZW0gVGltZSAob3Ig
VVNUKQorICAgaXMgdGhlIDY0LWJpdCBDTE9DS19NT05PVE9OSUMgY2xvY2s7IGluIHBhcnRpY3Vs
YXIgdGhpcyBsZXRzIHRoZQorICAgYXBwbGljYXRpb24gc2NoZWR1bGUgZnV0dXJlIHZlcnRpY2Fs
IHJldHJhY2VzIGJ5IHF1ZXJ5aW5nIHRoaXMgY2xvY2suCisgICBUaGUgZ3JhcGhpY3MgTWVkaWEg
U3RyZWFtIENvdW50ZXIgKG9yIGdyYXBoaWNzIE1TQykgaXMgYSBjb3VudGVyCisgICB0aGF0IGlz
IHVuaXF1ZSB0byB0aGUgZ3JhcGhpY3Mgc3Vic3lzdGVtIGFuZCBpbmNyZW1lbnRzIGZvciBlYWNo
CisgICB2ZXJ0aWNhbCByZXRyYWNlIHRoYXQgb2NjdXJzLiBUaGUgU3dhcCBCdWZmZXIgQ291bnRl
ciAoU0JDKSBpcyBhbgorICAgYXR0cmlidXRlIG9mIGFuIEVHTFN1cmZhY2UgYW5kIGlzIGluY3Jl
bWVudGVkIGVhY2ggdGltZSBhIHN3YXAKKyAgIGJ1ZmZlciBhY3Rpb24gaXMgcGVyZm9ybWVkIG9u
IHRoZSBhc3NvY2lhdGVkIHN1cmZhY2UuCisKKyAgIFRoZSB1c2Ugb2YgdGhlc2UgdGhyZWUgY291
bnRlcnMgYWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0bworICAgc3luY2hyb25pemUgZ3JhcGhpY3Mg
cmVuZGVyaW5nIHRvIHZlcnRpY2FsIHJldHJhY2VzIGFuZC9vciBzd2FwCisgICBidWZmZXIgYWN0
aW9ucy4gRm9yIGV4YW1wbGUsIGJ5IHF1ZXJ5aW5nIHRoZSBzeW5jaHJvbml6YXRpb24gdmFsdWVz
IGZvcgorICAgYSBnaXZlbiBzdXJmYWNlLCB0aGUgYXBwbGljYXRpb24gY2FuIGFjY3VyYXRlbHkg
cHJlZGljdCB0aGUgdGltaW5nIGZvcgorICAgdGhlIG5leHQgdmVydGljYWwgcmV0cmFjZXMgYW5k
IHNjaGVkdWxlIHJlbmRlcmluZyBhY2NvcmRpbmdseS4KKworSXNzdWVzCisKKyAgIE5vbmUuCisK
K0lQIFN0YXR1cworCisgICBObyBrbm93biBpc3N1ZXMuCisKK05ldyBQcm9jZWR1cmVzIGFuZCBG
dW5jdGlvbnMKKworICAgQm9vbCBlZ2xHZXRNc2NSYXRlQU5HTEUoRUdMRGlzcGxheSogZHB5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMU3VyZmFjZSBzdXJmYWNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MzJfdCogbnVtZXJhdG9yLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCogZGVub21pbmF0b3IpCisKK05ldyBUb2tlbnMKKworICAgTm9uZQor
CitBZGRpdGlvbnMgdG8gdGhlIEVHTCAxLjMgU3BlY2lmaWNhdGlvbgorCisgICBUaGUgZ3JhcGhp
Y3MgTVNDIHZhbHVlIGlzIGluY3JlbWVudGVkIG9uY2UgZm9yIGVhY2ggc2NyZWVuIHJlZnJlc2gu
CisgICBGb3IgYSBub24taW50ZXJsYWNlZCBkaXNwbGF5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIGdy
YXBoaWNzIE1TQyB2YWx1ZQorICAgaXMgaW5jcmVtZW50ZWQgZm9yIGVhY2ggZnJhbWUuIEZvciBh
biBpbnRlcmxhY2VkIGRpc3BsYXksIGl0IG1lYW5zCisgICB0aGF0IGl0IHdpbGwgYmUgaW5jcmVt
ZW50ZWQgZm9yIGVhY2ggZmllbGQuIEZvciBhIG11bHRpLW1vbml0b3IKKyAgIHN5c3RlbSwgdGhl
IG1vbml0b3IgdXNlZCB0byBkZXRlcm1pbmUgTVNDIGlzIHRoZSBvbmUgd2hlcmUgdGhlIHN1cmZh
Y2UKKyAgIGlzIGxvY2F0ZWQuIElmIHRoZSBzdXJmYWNlIHNwYW5zIG11bHRpcGxlIG1vbml0b3Jz
LCB0aGUgbW9uaXRvciB1c2VkCisgICB0byBkZXRlcm1pbmUgTVNDIGlzIHRoZSBvbmUgd2l0aCB0
aGUgYmlnZ2VzdCBjb3ZlcmFnZSBpbiBwaXhlbHMuCisKKyAgIGVnbEdldE1zY1JhdGVBTkdMRSBy
ZXR1cm5zIHRoZSByYXRlIGF0IHdoaWNoIHRoZSBNU0Mgd2lsbCBiZSBpbmNyZW1lbnRlZAorICAg
Zm9yIHRoZSBkaXNwbGF5IGFzc29jaWF0ZWQgd2l0aCA8aGRjPi4gVGhlIHJhdGUgaXMgZXhwcmVz
c2VkIGluIEhlcnR6CisgICBhcyA8bnVtZXJhdG9yPiAvIDxkZW5vbWluYXRvcj4uIElmIHRoZSBN
U0MgcmF0ZSBpbiBIZXJ0eiBpcyBhbgorICAgaW50ZWdlciwgdGhlbiA8ZGVub21pbmF0b3I+IHdp
bGwgYmUgMSBhbmQgPG51bWVyYXRvcj4gd2lsbCBiZQorICAgdGhlIE1TQyByYXRlLgorCisgICBU
aGUgZnVuY3Rpb24gZWdsR2V0TXNjUmF0ZUFOR0xFIHdpbGwgcmV0dXJuIFRSVUUgaWYgdGhlIGZ1
bmN0aW9uCisgICBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBGQUxTRSBvdGhlcndpc2UuCisKKyAg
IEVhY2ggdGltZSBlZ2xTd2FwQnVmZmVyIHN1Y2NlZWRzLCB0aGUgU0JDIHdpbGwgYmUgaW5jcmVh
c2VkIHdpdGhpbiBhCisgICBmaW5pdGUgdGltZSBwZXJpb2QuCisKK0Vycm9ycworCisgICBUaGUg
ZnVuY3Rpb24gZWdsR2V0TXNjUmF0ZUFOR0xFIHdpbGwgcmV0dXJuIEZBTFNFIGlmIHRoZXJlIGlz
IG5vCisgICBjdXJyZW50IEVHTENvbnRleHQuCisKK05ldyBJbXBsZW1lbnRhdGlvbiBEZXBlbmRl
bnQgU3RhdGUKKworICAgTm9uZQorCitSZXZpc2lvbiBIaXN0b3J5CisKKyAgICBWZXJzaW9uIDEs
IDIwMjAtMDMtMjQgKEpvbmFoIFJ5YW4tRGF2aXMpCisgICAgICAgLSBJbml0aWFsIGRyYWZ0LCBi
YXNlZCBvbiBHTFhfT01MX3N5bmNfY29udHJvbCByZXZpc2lvbiA2LjAuCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9leHRlbnNpb25zL0VHTF9DSFJPTUlVTV9zeW5jX2NvbnRy
b2wudHh0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvZXh0ZW5zaW9ucy9FR0xfQ0hST01JVU1f
c3luY19jb250cm9sLnR4dAppbmRleCAxNGY0ZTU2YzZmZjAyNTgxMWVlMmM1NDcwYjYyNTU2NTM1
MTkxZWZmLi5mNjk5ZjYxN2E5OGIwNjZlNDAwNzFlZjM4NmJkOTQ0Y2RiNTQzOTM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9leHRlbnNpb25zL0VHTF9DSFJPTUlVTV9zeW5j
X2NvbnRyb2wudHh0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2V4dGVuc2lvbnMvRUdM
X0NIUk9NSVVNX3N5bmNfY29udHJvbC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgU3RhdHVzCiAKIFZl
cnNpb24KIAotICAgVmVyc2lvbiAzLCAyMDIwLTAxLTIzCisgICBWZXJzaW9uIDIsIDIwMTUtMDUt
MDUKIAogICAgQmFzZWQgb24gR0xYX09NTF9zeW5jX2NvbnRyb2wgUmV2aXNpb24gNi4wCiAKQEAg
LTcwLDEyICs3MCw2IEBAIE5ldyBQcm9jZWR1cmVzIGFuZCBGdW5jdGlvbnMKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIG1zYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDY0X3QqIHNiYykKIAotICAgQm9vbCBlZ2xHZXRNc2NSYXRlQ0hST01J
VU0oRUdMRGlzcGxheSogZHB5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMU3Vy
ZmFjZSBzdXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCogbnVt
ZXJhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCogZGVub21pbmF0
b3IpCi0KLQogTmV3IFRva2VucwogCiAgICBOb25lCkBAIC0xMTIsMjIgKzEwNiwxNiBAQCBBZGRp
dGlvbnMgdG8gdGhlIEVHTCAxLjMgU3BlY2lmaWNhdGlvbgogICAgaXMgbG9jYXRlZC4gSWYgdGhl
IHN1cmZhY2Ugc3BhbnMgbXVsdGlwbGUgbW9uaXRvcnMsIHRoZSBtb25pdG9yIHVzZWQKICAgIHRv
IGRldGVybWluZSBNU0MgaXMgdGhlIG9uZSB3aXRoIHRoZSBiaWdnZXN0IGNvdmVyYWdlIGluIHBp
eGVscy4KIAotICAgZWdsR2V0TXNjUmF0ZUNIUk9NSVVNIHJldHVybnMgdGhlIHJhdGUgYXQgd2hp
Y2ggdGhlIE1TQyB3aWxsIGJlIGluY3JlbWVudGVkCi0gICBmb3IgdGhlIGRpc3BsYXkgYXNzb2Np
YXRlZCB3aXRoIDxoZGM+LiBUaGUgcmF0ZSBpcyBleHByZXNzZWQgaW4gSGVydHoKLSAgIGFzIDxu
dW1lcmF0b3I+IC8gPGRlbm9taW5hdG9yPi4gSWYgdGhlIE1TQyByYXRlIGluIEhlcnR6IGlzIGFu
Ci0gICBpbnRlZ2VyLCB0aGVuIDxkZW5vbWluYXRvcj4gd2lsbCBiZSAxIGFuZCA8bnVtZXJhdG9y
PiB3aWxsIGJlCi0gICB0aGUgTVNDIHJhdGUuCi0KLSAgIFRoZSBmdW5jdGlvbnMgZWdsR2V0U3lu
Y1ZhbHVlc0NIUk9NSVVNLCBhbmQgZWdsR2V0TXNjUmF0ZUNIUk9NSVVNIHdpbGwKLSAgIHJldHVy
biBUUlVFIGlmIHRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBGQUxTRSBvdGhl
cndpc2UuCisgICBUaGUgZnVuY3Rpb24gZWdsR2V0U3luY1ZhbHVlc0NIUk9NSVVNIHdpbGwgcmV0
dXJuIFRSVUUgaWYgdGhlIGZ1bmN0aW9uCisgICBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBGQUxT
RSBvdGhlcndpc2UuCiAKICAgIEVhY2ggdGltZSBlZ2xTd2FwQnVmZmVyIHN1Y2NlZWRzLCB0aGUg
U0JDIHdpbGwgYmUgaW5jcmVhc2VkIHdpdGhpbiBhCiAgICBmaW5pdGUgdGltZSBwZXJpb2QuCiAK
IEVycm9ycwogCi0gICBUaGUgZnVuY3Rpb25zIGVnbEdldFN5bmNWYWx1ZXNDSFJPTUlVTSwgYW5k
IGVnbEdldE1zY1JhdGVDSFJPTUlVTSB3aWxsCi0gICByZXR1cm4gRkFMU0UgaWYgdGhlcmUgaXMg
bm8gY3VycmVudCBFR0xDb250ZXh0LgorICAgVGhlIGZ1bmN0aW9uIGVnbEdldFN5bmNWYWx1ZXND
SFJPTUlVTSB3aWxsIHJldHVybiBGQUxTRSBpZiB0aGVyZSBpcyBubworICAgY3VycmVudCBFR0xD
b250ZXh0LgogCiAKIE5ldyBTdGF0ZQpAQCAtMTQ0LDEwICsxMzIsNiBAQCBOZXcgSW1wbGVtZW50
YXRpb24gRGVwZW5kZW50IFN0YXRlCiAKIFJldmlzaW9uIEhpc3RvcnkKIAotICAgIFZlcnNpb24g
MywgMjAyMC0wMS0yMyAoSm9uYWggUnlhbi1EYXZpcykKLSAgICAgICAtIEFkZCB0aGUgZnVuY3Rp
b24gZWdsR2V0TXNjUmF0ZUNIUk9NSVVNIGJhc2VkIG9uIGdsWEdldE1zY1JhdGVPTUwgZnJvbQot
ICAgICAgICAgR0xYX09NTF9zeW5jX2NvbnRyb2wgcmV2aXNpb24gNi4wLgotCiAgICAgVmVyc2lv
biAyLCAyMDE1LTA1LTA1IChDaGFkIFZlcnNhY2UpCiAgICAgICAgLSBSZW5hbWUgdG8gRUdMX0NI
Uk9NSVVNX3N5bmNfY29udHJvbCBmcm9tIEVHTF9DSFJPTUlVTV9nZXRfc3luY192YWx1ZXMuCiAg
ICAgICAgICBFR0xfQ0hST01JVU1fc3luY19jb250cm9sIGlzIHRoZSBkZSBmYWN0byBleHRlbnNp
b24gbmFtZSBiZWNhdXNlIGFsbApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
Z25pL2FuZ2xlLmduaSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2duaS9hbmdsZS5nbmkKaW5k
ZXggM2FjNzk2ZjZiZmNkZWJhY2UxZWViMGMyMGE0YTEyOTgyOWI3NmY5OS4uZjYzZmRhNDU1OTUw
MDEzYzI0OGM5NzE1OGE4NTIyMjUwMzI2YzBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvZ25pL2FuZ2xlLmduaQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9nbmkv
YW5nbGUuZ25pCkBAIC03Myw4ICs3Myw4IEBAIGRlY2xhcmVfYXJncygpIHsKICAgICAgICAgKGFu
Z2xlXzY0Yml0X2N1cnJlbnRfY3B1ICYmIGFuZHJvaWQ2NF9uZGtfYXBpX2xldmVsID49IDI2KQog
ICB9CiAKLSAgIyBUT0RPKHRvYmluZSk6IFJlbW92ZSB0aGlzIGFmdGVyIHJvbGwuIGh0dHA6Ly9h
bmdsZWJ1Zy5jb20vNDE2MgotICBhbmdsZV9zaGFyZWRfbGlidnVsa2FuID0gdHJ1ZQorICAjIFZ1
bGthbiBsb2FkZXIgaXMgc3RhdGljYWxseSBsaW5rZWQgb24gTWFjLiBodHRwOi8vYW5nbGVidWcu
Y29tLzQ0NzcKKyAgYW5nbGVfc2hhcmVkX2xpYnZ1bGthbiA9ICFpc19tYWMKIAogICAjIFRoZXJl
J3Mgbm8gImlzX3dpbnV3cCIgaGVscGVyIGluIEJVSUxEQ09ORklHLmduLCBzbyB3ZSBkZWZpbmUg
b25lIG91cnNlbHZlcwogICBhbmdsZV9pc193aW51d3AgPSBpc193aW4gJiYgY3VycmVudF9vcyA9
PSAid2ludXdwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9F
R0wvZWdsZXh0X2FuZ2xlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0VHTC9l
Z2xleHRfYW5nbGUuaAppbmRleCA1MGJkNmYxYzgyZDE4YzU4M2JiNjkwMjA2ODU2OGI1ZWY0Mjky
YTI0Li4wM2MzOTg2MGRjNjU5YzNiODI3MGE0MGI3ZjZiODI3ZTVhMTU5MjY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0VHTC9lZ2xleHRfYW5nbGUuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0VHTC9lZ2xleHRfYW5nbGUuaApAQCAt
MjUsNiArMjUsOCBAQAogI2lmbmRlZiBFR0xfQU5HTEVfZDNkX3RleHR1cmVfY2xpZW50X2J1ZmZl
cgogI2RlZmluZSBFR0xfQU5HTEVfZDNkX3RleHR1cmVfY2xpZW50X2J1ZmZlciAxCiAjZGVmaW5l
IEVHTF9EM0RfVEVYVFVSRV9BTkdMRSAgICAgICAgICAgICAweDMzQTMKKyNkZWZpbmUgRUdMX1RF
WFRVUkVfT0ZGU0VUX1hfQU5HTEUgICAgICAgIDB4MzQ5MAorI2RlZmluZSBFR0xfVEVYVFVSRV9P
RkZTRVRfWV9BTkdMRSAgICAgICAgMHgzNDkxCiAjZW5kaWYgLyogRUdMX0FOR0xFX2QzZF90ZXh0
dXJlX2NsaWVudF9idWZmZXIgKi8KIAogI2lmbmRlZiBFR0xfQU5HTEVfc29mdHdhcmVfZGlzcGxh
eQpAQCAtNjUsNiArNjcsMTIgQEAKICNkZWZpbmUgRUdMX1BMQVRGT1JNX0FOR0xFX0VOQUJMRV9B
VVRPTUFUSUNfVFJJTV9BTkdMRSAweDMyMEYKICNlbmRpZiAvKiBFR0xfQU5HTEVfcGxhdGZvcm1f
YW5nbGVfZDNkICovCiAKKyNpZm5kZWYgRUdMX0FOR0xFX3BsYXRmb3JtX2FuZ2xlX2QzZF9sdWlk
CisjZGVmaW5lIEVHTF9BTkdMRV9wbGF0Zm9ybV9hbmdsZV9kM2RfbHVpZCAxCisjZGVmaW5lIEVH
TF9QTEFURk9STV9BTkdMRV9EM0RfTFVJRF9ISUdIX0FOR0xFIDB4MzRBMAorI2RlZmluZSBFR0xf
UExBVEZPUk1fQU5HTEVfRDNEX0xVSURfTE9XX0FOR0xFIDB4MzRBMQorI2VuZGlmIC8qIEVHTF9B
TkdMRV9wbGF0Zm9ybV9hbmdsZV9kM2RfbHVpZCAqLworCiAjaWZuZGVmIEVHTF9BTkdMRV9wbGF0
Zm9ybV9hbmdsZV9kM2QxMW9uMTIKICNkZWZpbmUgRUdMX0FOR0xFX3BsYXRmb3JtX2FuZ2xlX2Qz
ZDExb24xMiAxCiAjZGVmaW5lIEVHTF9QTEFURk9STV9BTkdMRV9EM0QxMU9OMTJfQU5HTEUgMHgz
NDg4CkBAIC0yMTcsMjIgKzIyNSwyOCBAQCB0eXBlZGVmIEVHTEJvb2xlYW4gKEVHTEFQSUVOVFJZ
UCBQRk5FR0xHRVRTWU5DVkFMVUVTQ0hST01JVU1QUk9DKSAoRUdMRGlzcGxheSBkcAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVH
THVpbnQ2NEtIUiAqdXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVHTHVpbnQ2NEtIUiAqbXNjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTHVpbnQ2NEtI
UiAqc2JjKTsKLXR5cGVkZWYgRUdMQm9vbGVhbiAoRUdMQVBJRU5UUllQIFBGTkVHTEdFVE1TQ1JB
VEVDSFJPTUlVTVBST0MpIChFR0xEaXNwbGF5IGRweSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xTdXJmYWNlIHN1cmZhY2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRUdMaW50ICpudW1lcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMaW50ICpkZW5vbWluYXRvcik7CiAjaWZk
ZWYgRUdMX0VHTEVYVF9QUk9UT1RZUEVTCiBFR0xBUEkgRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBl
Z2xHZXRTeW5jVmFsdWVzQ0hST01JVU0oRUdMRGlzcGxheSBkcHksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMU3VyZmFjZSBz
dXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVHTHVpbnQ2NEtIUiAqdXN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTHVpbnQ2NEtIUiAqbXNjLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEVHTHVpbnQ2NEtIUiAqc2JjKTsKLUVHTEFQSSBFR0xCb29sZWFuIEVHTEFQSUVOVFJZIGVn
bEdldE1zY1JhdGVDSFJPTUlVTShFR0xEaXNwbGF5IGRweSwKKyNlbmRpZgorI2VuZGlmIC8qIEVH
TF9DSFJPTUlVTV9zeW5jX2NvbnRyb2wgKi8KKworI2lmbmRlZiBFR0xfQU5HTEVfc3luY19jb250
cm9sX3JhdGUKKyNkZWZpbmUgRUdMX0FOR0xFX3N5bmNfY29udHJvbF9yYXRlIDEKK3R5cGVkZWYg
RUdMQm9vbGVhbiAoRUdMQVBJRU5UUllQIFBGTkVHTEdFVE1TQ1JBVEVBTkdMRVBST0MpIChFR0xE
aXNwbGF5IGRweSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFR0xTdXJmYWNlIHN1cmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMaW50ICpudW1lcmF0
b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRUdMaW50ICpkZW5vbWluYXRvcik7CisjaWZkZWYgRUdMX0VHTEVYVF9QUk9UT1RZ
UEVTCitFR0xBUEkgRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBlZ2xHZXRNc2NSYXRlQU5HTEUoRUdM
RGlzcGxheSBkcHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRUdMU3VyZmFjZSBzdXJmYWNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTGludCAqbnVtZXJh
dG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVHTGludCAqZGVub21pbmF0b3IpOwogI2VuZGlmCi0jZW5kaWYgLyogRUdMX0NI
Uk9NSVVNX3N5bmNfY29udHJvbCAqLworI2VuZGlmIC8qIEVHTF9BTkdMRV9zeW5jX2NvbnRyb2xf
cmF0ZSAqLwogCiAjaWZuZGVmIEVHTF9BTkdMRV9wb3dlcl9wcmVmZXJlbmNlCiAjZGVmaW5lIEVH
TF9BTkdMRV9wb3dlcl9wcmVmZXJlbmNlIDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL2luY2x1ZGUvR0xFUzIvZ2wyZXh0X2FuZ2xlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9pbmNsdWRlL0dMRVMyL2dsMmV4dF9hbmdsZS5oCmluZGV4IGJjNTZjMTQ5ZmFmN2UyODkw
NDE2N2ZhZjM4YzZmYjFhZDkyMTI4ZmYuLmVkOTYxMmY4NWJjN2IyYmUxYWRiZjk0YzlmYjUyZDdi
NThiZTgyMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xF
UzIvZ2wyZXh0X2FuZ2xlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9H
TEVTMi9nbDJleHRfYW5nbGUuaApAQCAtNTEwLDYgKzUxMCwxMSBAQCBHTF9BUElDQUxMIHZvaWQg
R0xfQVBJRU5UUlkgZ2xJbXBvcnRTZW1hcGhvcmVaaXJjb25IYW5kbGVBTkdMRShHTHVpbnQgbWVt
b3J5LAogI2VuZGlmCiAjZW5kaWYgLyogR0xfQU5HTEVfc2VtYXBob3JlX2Z1Y2hzaWEgKi8KIAor
I2lmbmRlZiBHTF9DSFJPTUlVTV90ZXh0dXJlX2ZpbHRlcmluZ19oaW50CisjZGVmaW5lIEdMX0NI
Uk9NSVVNX3RleHR1cmVfZmlsdGVyaW5nX2hpbnQKKyNkZWZpbmUgR0xfVEVYVFVSRV9GSUxURVJJ
TkdfSElOVF9DSFJPTUlVTSAweDhBRjAKKyNlbmRpZiAvKiBHTF9DSFJPTUlVTV90ZXh0dXJlX2Zp
bHRlcmluZ19oaW50ICovCisKIC8vIGNsYW5nLWZvcm1hdCBvbgogCiAjZW5kaWYgIC8vIElOQ0xV
REVfR0xFUzJfR0wyRVhUX0FOR0xFX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyTGFuZy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlckxhbmcuaAppbmRleCBjNTE0Y2I1NWMyN2Y4YTVhOGY5
MzBjZWI3ODZlNTYwNmI4YzIzOWJmLi45MmJiMmUyMGNiZmYzYjFhOWM4MmJlMjVmODVmYWY2MDQy
MGViMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL0dMU0xB
TkcvU2hhZGVyTGFuZy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xT
TEFORy9TaGFkZXJMYW5nLmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogLy8gVmVyc2lvbiBudW1iZXIg
Zm9yIHNoYWRlciB0cmFuc2xhdGlvbiBBUEkuCiAvLyBJdCBpcyBpbmNyZW1lbnRlZCBldmVyeSB0
aW1lIHRoZSBBUEkgY2hhbmdlcy4KLSNkZWZpbmUgQU5HTEVfU0hfVkVSU0lPTiAyMjYKKyNkZWZp
bmUgQU5HTEVfU0hfVkVSU0lPTiAyMjkKIAogZW51bSBTaFNoYWRlclNwZWMKIHsKQEAgLTMzNiw2
ICszMzYsOSBAQCBjb25zdCBTaENvbXBpbGVPcHRpb25zIFNIX1JFV1JJVEVfUk9XX01BSk9SX01B
VFJJQ0VTID0gVUlOVDY0X0MoMSkgPDwgNTM7CiAvLyBEcm9wIGFueSBleHBsaWNpdCBwcmVjaXNp
b24gcXVhbGlmaWVycyBmcm9tIHNoYWRlci4KIGNvbnN0IFNoQ29tcGlsZU9wdGlvbnMgU0hfSUdO
T1JFX1BSRUNJU0lPTl9RVUFMSUZJRVJTID0gVUlOVDY0X0MoMSkgPDwgNTQ7CiAKKy8vIEFsbG93
IGNvbXBpbGVyIHRvIGRvIGVhcmx5IGZyYWdtZW50IHRlc3RzIGFzIGFuIG9wdGltaXphdGlvbi4K
K2NvbnN0IFNoQ29tcGlsZU9wdGlvbnMgU0hfRUFSTFlfRlJBR01FTlRfVEVTVFNfT1BUSU1JWkFU
SU9OID0gVUlOVDY0X0MoMSkgPDwgNTU7CisKIC8vIERlZmluZXMgYWx0ZXJuYXRlIHN0cmF0ZWdp
ZXMgZm9yIGltcGxlbWVudGluZyBhcnJheSBpbmRleCBjbGFtcGluZy4KIGVudW0gU2hBcnJheUlu
ZGV4Q2xhbXBpbmdTdHJhdGVneQogewpAQCAtMzgwLDYgKzM4Myw3IEBAIHN0cnVjdCBTaEJ1aWx0
SW5SZXNvdXJjZXMKICAgICBpbnQgV0VCR0xfZGVidWdfc2hhZGVyX3ByZWNpc2lvbjsKICAgICBp
bnQgRVhUX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaDsKICAgICBpbnQgTlZfc2hhZGVyX2ZyYW1l
YnVmZmVyX2ZldGNoOworICAgIGludCBOVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0
aW9uOwogICAgIGludCBBUk1fc2hhZGVyX2ZyYW1lYnVmZmVyX2ZldGNoOwogICAgIGludCBPVlJf
bXVsdGl2aWV3OwogICAgIGludCBPVlJfbXVsdGl2aWV3MjsKQEAgLTM5NCw2ICszOTgsNyBAQCBz
dHJ1Y3QgU2hCdWlsdEluUmVzb3VyY2VzCiAgICAgaW50IEFOR0xFX211bHRpX2RyYXc7CiAgICAg
aW50IEFOR0xFX2Jhc2VfdmVydGV4X2Jhc2VfaW5zdGFuY2U7CiAgICAgaW50IFdFQkdMX3ZpZGVv
X3RleHR1cmU7CisgICAgaW50IEFQUExFX2NsaXBfZGlzdGFuY2U7CiAKICAgICAvLyBTZXQgdG8g
MSB0byBlbmFibGUgcmVwbGFjaW5nIEdMX0VYVF9kcmF3X2J1ZmZlcnMgI2V4dGVuc2lvbiBkaXJl
Y3RpdmVzCiAgICAgLy8gd2l0aCBHTF9OVl9kcmF3X2J1ZmZlcnMgaW4gRVNTTCBvdXRwdXQuIFRo
aXMgZmxhZyBjYW4gYmUgdXNlZCB0byBlbXVsYXRlCkBAIC01MzUsNiArNTQwLDkgQEAgc3RydWN0
IFNoQnVpbHRJblJlc291cmNlcwogCiAgICAgLy8gU3VicGl4ZWwgYml0cyB1c2VkIGluIHJhc3Rl
cml6YXRpb24uCiAgICAgaW50IFN1YlBpeGVsQml0czsKKworICAgIC8vIEFQUExFX2NsaXBfZGlz
dGFuY2UvRVhUX2NsaXBfY3VsbF9kaXN0YW5jZSBjb25zdGFudAorICAgIGludCBNYXhDbGlwRGlz
dGFuY2VzOwogfTsKIAogLy8KQEAgLTY2NCw2ICs2NzIsOCBAQCBzaDo6V29ya0dyb3VwU2l6ZSBH
ZXRDb21wdXRlU2hhZGVyTG9jYWxHcm91cFNpemUoY29uc3QgU2hIYW5kbGUgaGFuZGxlKTsKIC8v
IFJldHVybnMgdGhlIG51bWJlciBvZiB2aWV3cyBzcGVjaWZpZWQgdGhyb3VnaCB0aGUgbnVtX3Zp
ZXdzIGxheW91dCBxdWFsaWZpZXIuIElmIG51bV92aWV3cyBpcwogLy8gbm90IHNldCwgdGhlIGZ1
bmN0aW9uIHJldHVybnMgLTEuCiBpbnQgR2V0VmVydGV4U2hhZGVyTnVtVmlld3MoY29uc3QgU2hI
YW5kbGUgaGFuZGxlKTsKKy8vIFJldHVybnMgdHJ1ZSBpZiBjb21waWxlciBoYXMgaW5qZWN0ZWQg
aW5zdHJ1Y3Rpb25zIGZvciBlYXJseSBmcmFnbWVudCB0ZXN0cyBhcyBhbiBvcHRpbWl6YXRpb24K
K2Jvb2wgSGFzRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uKGNvbnN0IFNoSGFuZGxlIGhh
bmRsZSk7CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGFzc2VkIGluIHZhcmlhYmxlcyBwYWNr
IGluIG1heFZlY3RvcnMgZm9sbG93aW5ndGhlIHBhY2tpbmcgcnVsZXMgZnJvbSB0aGUKIC8vIEdM
U0wgMS4wMTcgc3BlYywgQXBwZW5kaXggQSwgc2VjdGlvbiA3LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKaW5kZXggNTJmNmFk
MDc3NTU2ZGZjMTQwNDNlM2MyMWU1ZDAzMzMxZWQ5YmRkMS4uNDc3ZDJkMjk5ZGFhNjhiMGU4Yzk5
NTE4MGUyYzMyODU4NGJkM2Y3NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
aW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCkBAIC0yOCw3ICsyOCw4IEBAIGVudW0gSW50
ZXJwb2xhdGlvblR5cGUKIHsKICAgICBJTlRFUlBPTEFUSU9OX1NNT09USCwKICAgICBJTlRFUlBP
TEFUSU9OX0NFTlRST0lELAotICAgIElOVEVSUE9MQVRJT05fRkxBVAorICAgIElOVEVSUE9MQVRJ
T05fRkxBVCwKKyAgICBJTlRFUlBPTEFUSU9OX05PUEVSU1BFQ1RJVkUKIH07CiAKIC8vIFZhbGlk
YXRlIGxpbmsgJiBTU08gY29uc2lzdGVuY3kgb2YgaW50ZXJwb2xhdGlvbiBxdWFsaWZpZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1
cmUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZS5o
CmluZGV4IDU1OWUwODAxMmRkOTA2ODg3NmY0NDY0NzU5YTkxZGMwZDZkMjdjZWMuLjg3MzI5ZjQ5
MDk3NWE5MDY2YzRhM2EwNzc2MjE4NTk1MmRiMTE5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZS5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZS5oCkBAIC0xMzksNyArMTM5LDcg
QEAgaW5saW5lIEZlYXR1cmU6OkZlYXR1cmUoY29uc3QgY2hhciAqbmFtZSwKICAgICAgIGRlc2Ny
aXB0aW9uKGRlc2NyaXB0aW9uKSwKICAgICAgIGJ1ZyhidWcpLAogICAgICAgZW5hYmxlZChmYWxz
ZSksCi0gICAgICBjb25kaXRpb24obnVsbHB0cikKKyAgICAgIGNvbmRpdGlvbigiIikKIHsKICAg
ICBpZiAobWFwUHRyICE9IG51bGxwdHIpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc0dMLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAppbmRleCA4NTk0N2U0MGZk
NTZhNDk0ODZiNzVmNDEyZWJiZjlhZjRmM2QwOWE0Li41NzU2MDI5ZmI1MzhmZDBhNmYwYzNiM2Fh
MzliMDVlYmY3ZTJlNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNs
dWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9p
bmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaApAQCAtMzY0LDYgKzM2NCwxMiBAQCBzdHJ1Y3Qg
RmVhdHVyZXNHTCA6IEZlYXR1cmVTZXRCYXNlCiAgICAgICAgICJHTF9QUklNSVRJVkVfUkVTVEFS
VCBhbmQgZ2xQcmltaXRpdmVSZXN0YXJ0SW5kZXguIiwKICAgICAgICAgJm1lbWJlcnMsICJodHRw
Oi8vYW5nbGVidWcuY29tLzM5OTcifTsKIAorICAgIEZlYXR1cmUgc2V0UHJpbWl0aXZlUmVzdGFy
dEZpeGVkSW5kZXhGb3JEcmF3QXJyYXlzID0geworICAgICAgICAic2V0X3ByaW1pdGl2ZV9yZXN0
YXJ0X2ZpeGVkX2luZGV4X2Zvcl9kcmF3X2FycmF5cyIsIEZlYXR1cmVDYXRlZ29yeTo6T3BlbkdM
V29ya2Fyb3VuZHMsCisgICAgICAgICJTb21lIGRyaXZlcnMgZGlzY2FyZCB2ZXJ0ZXggZGF0YSBp
biBEcmF3QXJyYXlzIGNhbGxzIHdoZW4gdGhlIGZpeGVkIHByaW1pdGl2ZSByZXN0YXJ0ICIKKyAg
ICAgICAgImluZGV4IGlzIHdpdGhpbiB0aGUgbnVtYmVyIG9mIHByaW1pdGl2ZXMgYmVpbmcgZHJh
d24uIiwKKyAgICAgICAgJm1lbWJlcnMsICJodHRwOi8vYW5nbGVidWcuY29tLzM5OTcifTsKKwog
ICAgIC8vIER5bmFtaWMgaW5kZXhpbmcgb2Ygc3dpenpsZWQgbC12YWx1ZXMgZG9lc24ndCB3b3Jr
IGNvcnJlY3RseSBvbiB2YXJpb3VzIHBsYXRmb3Jtcy4KICAgICBGZWF0dXJlIHJlbW92ZUR5bmFt
aWNJbmRleGluZ09mU3dpenpsZWRWZWN0b3IgPSB7CiAgICAgICAgICJyZW1vdmVfZHluYW1pY19p
bmRleGluZ19vZl9zd2l6emxlZF92ZWN0b3IiLCBGZWF0dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmth
cm91bmRzLApAQCAtNDI2LDYgKzQzMiwxMiBAQCBzdHJ1Y3QgRmVhdHVyZXNHTCA6IEZlYXR1cmVT
ZXRCYXNlCiAgICAgICAgICJhdm9pZF9keHQxX3NyZ2JfdGV4dHVyZV9mb3JtYXQiLCBGZWF0dXJl
Q2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAogICAgICAgICAiUmVwbGFjZXMgRFhUMSBzUkdC
IHdpdGggRFhUMSBzUkdCIEFscGhhIGFzIGEgZHJpdmVyIGJ1ZyB3b3JrYXJvdW5kLiIsICZtZW1i
ZXJzfTsKIAorICAgIC8vIEJ1Z3MgZXhpc3QgaW4gT3BlbkdMIEFNRCBkcml2ZXJzIG9uIFdpbmRv
d3MgdGhhdCBwcm9kdWNlIGluY29ycmVjdCBwaXBlbGluZSBzdGF0ZSBmb3IKKyAgICAvLyBjb2xv
ck1hc2tpIGNhbGxzLgorICAgIEZlYXR1cmUgZGlzYWJsZURyYXdCdWZmZXJzSW5kZXhlZCA9IHsi
ZGlzYWJsZV9kcmF3X2J1ZmZlcnNfaW5kZXhlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZlYXR1cmVDYXRlZ29yeTo6T3BlbkdMV29ya2Fyb3VuZHMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEaXNhYmxlIE9FU19kcmF3X2J1
ZmZlcnNfaW5kZXhlZCBleHRlbnNpb24uIiwgJm1lbWJlcnN9OworCiAgICAgLy8gR0xfRVhUX3Nl
bWFwaG9yZV9mZCBkb2Vzbid0IHdvcmsgcHJvcGVybHkgd2l0aCBNZXNhIDE5LjMuNCBhbmQgZWFy
bGllciB2ZXJzaW9ucy4KICAgICBGZWF0dXJlIGRpc2FibGVTZW1hcGhvcmVGZCA9IHsiZGlzYWJs
ZV9zZW1hcGhvcmVfZmQiLCBGZWF0dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEaXNhYmxlIEdMX0VYVF9zZW1hcGhvcmVf
ZmQgZXh0ZW5zaW9uIiwgJm1lbWJlcnMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNWay5oCmluZGV4IDdkOTk5MzczODNhNGVmZjc1
MzEwYWFlZjFiM2U1MmY1MDU0NGYwMmYuLmJjNGRhMWMwYmJhMzZiNjdmM2EzYjBkYzYxYTU3OGFk
ZDk4NmM2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxh
dGZvcm0vRmVhdHVyZXNWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUv
cGxhdGZvcm0vRmVhdHVyZXNWay5oCkBAIC0xMjAsNiArMTIwLDIwIEBAIHN0cnVjdCBGZWF0dXJl
c1ZrIDogRmVhdHVyZVNldEJhc2UKICAgICAgICAgInN1cHBvcnRzX2V4dGVybmFsX21lbW9yeV9m
dWNoc2lhIiwgRmVhdHVyZUNhdGVnb3J5OjpWdWxrYW5GZWF0dXJlcywKICAgICAgICAgIlZrRGV2
aWNlIHN1cHBvcnRzIHRoZSBWS19GVUNIU0lBX2V4dGVybmFsX21lbW9yeSBleHRlbnNpb24iLCAm
bWVtYmVyc307CiAKKyAgICBhbmdsZTo6RmVhdHVyZSBzdXBwb3J0c0ZpbHRlcmluZ1ByZWNpc2lv
biA9IHsKKyAgICAgICAgInN1cHBvcnRzX2ZpbHRlcmluZ19wcmVjaXNpb25fZ29vZ2xlIiwgRmVh
dHVyZUNhdGVnb3J5OjpWdWxrYW5GZWF0dXJlcywKKyAgICAgICAgIlZrRGV2aWNlIHN1cHBvcnRz
IHRoZSBWS19HT09HTEVfc2FtcGxlcl9maWx0ZXJpbmdfcHJlY2lzaW9uIGV4dGVuc2lvbiIsICZt
ZW1iZXJzfTsKKworICAgIC8vIFdoZXRoZXIgdGhlIFZrRGV2aWNlIHN1cHBvcnRzIHRoZSBWS19L
SFJfZXh0ZXJuYWxfZmVuY2VfY2FwYWJpbGl0aWVzIGV4dGVuc2lvbi4KKyAgICBGZWF0dXJlIHN1
cHBvcnRzRXh0ZXJuYWxGZW5jZUNhcGFiaWxpdGllcyA9IHsKKyAgICAgICAgInN1cHBvcnRzX2V4
dGVybmFsX2ZlbmNlX2NhcGFiaWxpdGllcyIsIEZlYXR1cmVDYXRlZ29yeTo6VnVsa2FuRmVhdHVy
ZXMsCisgICAgICAgICJWa0RldmljZSBzdXBwb3J0cyB0aGUgVktfS0hSX2V4dGVybmFsX2ZlbmNl
X2NhcGFiaWxpdGllcyBleHRlbnNpb24iLCAmbWVtYmVyc307CisKKyAgICAvLyBXaGV0aGVyIHRo
ZSBWa0RldmljZSBzdXBwb3J0cyB0aGUgVktfS0hSX2V4dGVybmFsX3NlbWFwaG9yZV9jYXBhYmls
aXRpZXMgZXh0ZW5zaW9uLgorICAgIEZlYXR1cmUgc3VwcG9ydHNFeHRlcm5hbFNlbWFwaG9yZUNh
cGFiaWxpdGllcyA9IHsKKyAgICAgICAgInN1cHBvcnRzX2V4dGVybmFsX3NlbWFwaG9yZV9jYXBh
YmlsaXRpZXMiLCBGZWF0dXJlQ2F0ZWdvcnk6OlZ1bGthbkZlYXR1cmVzLAorICAgICAgICAiVmtE
ZXZpY2Ugc3VwcG9ydHMgdGhlIFZLX0tIUl9leHRlcm5hbF9zZW1hcGhvcmVfY2FwYWJpbGl0aWVz
IGV4dGVuc2lvbiIsICZtZW1iZXJzfTsKKwogICAgIC8vIFdoZXRoZXIgdGhlIFZrRGV2aWNlIHN1
cHBvcnRzIHRoZSBWS19LSFJfZXh0ZXJuYWxfc2VtYXBob3JlX2ZkIGV4dGVuc2lvbiwgb24gd2hp
Y2ggdGhlCiAgICAgLy8gR0xfRVhUX3NlbWFwaG9yZV9mZCBleHRlbnNpb24gY2FuIGJlIGxheWVy
ZWQuCiAgICAgRmVhdHVyZSBzdXBwb3J0c0V4dGVybmFsU2VtYXBob3JlRmQgPSB7CkBAIC0xMzIs
NiArMTQ2LDE5IEBAIHN0cnVjdCBGZWF0dXJlc1ZrIDogRmVhdHVyZVNldEJhc2UKICAgICAgICAg
InN1cHBvcnRzX2V4dGVybmFsX3NlbWFwaG9yZV9mdWNoc2lhIiwgRmVhdHVyZUNhdGVnb3J5OjpW
dWxrYW5GZWF0dXJlcywKICAgICAgICAgIlZrRGV2aWNlIHN1cHBvcnRzIHRoZSBWS19GVUNIU0lB
X2V4dGVybmFsX3NlbWFwaG9yZSBleHRlbnNpb24iLCAmbWVtYmVyc307CiAKKyAgICAvLyBXaGV0
aGVyIHRoZSBWa0RldmljZSBzdXBwb3J0cyB0aGUgVktfS0hSX2V4dGVybmFsX2ZlbmNlX2ZkIGV4
dGVuc2lvbiwgb24gd2hpY2ggdGhlCisgICAgLy8gRUdMX0FORFJPSURfbmF0aXZlX2ZlbmNlIGV4
dGVuc2lvbiBjYW4gYmUgbGF5ZXJlZC4KKyAgICBGZWF0dXJlIHN1cHBvcnRzRXh0ZXJuYWxGZW5j
ZUZkID0geyJzdXBwb3J0c19leHRlcm5hbF9mZW5jZV9mZCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGZWF0dXJlQ2F0ZWdvcnk6OlZ1bGthbkZlYXR1cmVzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlZrRGV2aWNlIHN1cHBvcnRzIHRo
ZSBWS19LSFJfZXh0ZXJuYWxfZmVuY2VfZmQgZXh0ZW5zaW9uIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZtZW1iZXJzLCAiaHR0cDovL2FuZ2xlYnVnLmNvbS8yNTE3
In07CisKKyAgICAvLyBXaGV0aGVyIHRoZSBWa0RldmljZSBjYW4gc3VwcG9ydCBFR0xfQU5EUk9J
RF9uYXRpdmVfZmVuY2Vfc3luYyBleHRlbnNpb24uCisgICAgRmVhdHVyZSBzdXBwb3J0c0FuZHJv
aWROYXRpdmVGZW5jZVN5bmMgPSB7CisgICAgICAgICJzdXBwb3J0c19hbmRyb2lkX25hdGl2ZV9m
ZW5jZV9zeW5jIiwgRmVhdHVyZUNhdGVnb3J5OjpWdWxrYW5GZWF0dXJlcywKKyAgICAgICAgIlZr
RGV2aWNlIHN1cHBvcnRzIHRoZSBFR0xfQU5EUk9JRF9uYXRpdmVfZmVuY2Vfc3luYyBleHRlbnNp
b24iLCAmbWVtYmVycywKKyAgICAgICAgImh0dHA6Ly9hbmdsZWJ1Zy5jb20vMjUxNyJ9OworCiAg
ICAgLy8gV2hldGhlciB0aGUgVmtEZXZpY2Ugc3VwcG9ydHMgdGhlIFZLX0VYVF9zaGFkZXJfc3Rl
bmNpbF9leHBvcnQgZXh0ZW5zaW9uLCB3aGljaCBpcyB1c2VkIHRvCiAgICAgLy8gcGVyZm9ybSBt
dWx0aXNhbXBsZWQgcmVzb2x2ZSBvZiBzdGVuY2lsIGJ1ZmZlci4gIEEgbXVsdGktc3RlcCB3b3Jr
YXJvdW5kIGlzIHVzZWQgaW5zdGVhZCBpZgogICAgIC8vIHRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBh
dmFpbGFibGUuCkBAIC0yNTEsNiArMjc4LDEzIEBAIHN0cnVjdCBGZWF0dXJlc1ZrIDogRmVhdHVy
ZVNldEJhc2UKICAgICAgICAgIkZpbGwgbmV3IGFsbG9jYXRpb25zIHdpdGggbm9uLXplcm8gdmFs
dWVzIHRvIGZsdXNoIG91dCBlcnJvcnMuIiwgJm1lbWJlcnMsCiAgICAgICAgICJodHRwOi8vYW5n
bGVidWcuY29tLzQzODQifTsKIAorICAgIC8vIFBlcnNpc3RlbnRseSBtYXAgYnVmZmVyIG1lbW9y
eSB1bnRpbCBkZXN0cm95LCBzYXZlcyBvbiBtYXAvdW5tYXAgSU9DVEwgb3ZlcmhlYWQKKyAgICAv
LyBmb3IgYnVmZmVycyB0aGF0IGFyZSB1cGRhdGVkIGZyZXF1ZW50bHkuCisgICAgRmVhdHVyZSBw
ZXJzaXN0ZW50bHlNYXBwZWRCdWZmZXJzID0geworICAgICAgICAicGVyc2lzdGVudGx5X21hcHBl
ZF9idWZmZXJzIiwgRmVhdHVyZUNhdGVnb3J5OjpWdWxrYW5GZWF0dXJlcywKKyAgICAgICAgIlBl
cnNpc3RlbnRseSBtYXAgYnVmZmVyIG1lbW9yeSB0byByZWR1Y2UgbWFwL3VubWFwIElPQ1RMIG92
ZXJoZWFkLiIsICZtZW1iZXJzLAorICAgICAgICAiaHR0cDovL2FuZ2xlYnVnLmNvbS8yMTYyIn07
CisKICAgICAvLyBBbmRyb2lkIG5lZWRzIHRvIHByZS1yb3RhdGUgc3VyZmFjZXMgdGhhdCBhcmUg
bm90IG9yaWVudGVkIHBlciB0aGUgbmF0aXZlIGRldmljZSdzCiAgICAgLy8gb3JpZW50YXRpb24g
KGUuZy4gYSBsYW5kc2NhcGUgYXBwbGljYXRpb24gb24gYSBQaXhlbCBwaG9uZSkuICBUaGlzIGZl
YXR1cmUgd29ya3MgZm9yCiAgICAgLy8gZnVsbC1zY3JlZW4gYXBwbGljYXRpb25zLiBodHRwOi8v
YW5nbGVidWcuY29tLzM1MDIKQEAgLTI3NCw2ICszMDgsMTUgQEAgc3RydWN0IEZlYXR1cmVzVmsg
OiBGZWF0dXJlU2V0QmFzZQogICAgIEZlYXR1cmUgc3VwcG9ydERlcHRoU3RlbmNpbFJlbmRlcmlu
Z0ZlZWRiYWNrTG9vcHMgPSB7CiAgICAgICAgICJzdXBwb3J0X2RlcHRoX3N0ZW5jaWxfcmVuZGVy
aW5nX2ZlZWRiYWNrX2xvb3BzIiwgRmVhdHVyZUNhdGVnb3J5OjpWdWxrYW5GZWF0dXJlcywKICAg
ICAgICAgIlN1cG9ydCBkZXB0aC9zdGVuY2lsIHJlbmRlcmluZyBmZWVkYmFjayBsb29wcyIsICZt
ZW1iZXJzLCAiaHR0cDovL2FuZ2xlYnVnLmNvbS80NDkwIn07CisKKyAgICAvLyBEZXNrdG9wIChh
dCBsZWFzdCBOVklESUEpIGRyaXZlcnMgcHJlZmVyIGNvbWJpbmluZyBiYXJyaWVycyBpbnRvIG9u
ZSB2a0NtZFBpcGVsaW5lQmFycmllcgorICAgIC8vIGNhbGwgb3ZlciBpc3N1aW5nIG11bHRpcGxl
IGJhcnJpZXIgY2FsbHMgd2l0aCBmaW5lIGdyYWluZWQgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiB0
byBoYXZlCisgICAgLy8gYmV0dGVyIHBlcmZvcm1hbmNlLiBodHRwOi8vYW5nbGVidWcuY29tLzQ2
MzMKKyAgICBGZWF0dXJlIHByZWZlckFnZ3JlZ2F0ZUJhcnJpZXJDYWxscyA9IHsKKyAgICAgICAg
InByZWZlcl9hZ2dyZWdhdGVfYmFycmllcl9jYWxscyIsIEZlYXR1cmVDYXRlZ29yeTo6VnVsa2Fu
V29ya2Fyb3VuZHMsCisgICAgICAgICJTaW5nbGUgYmFycmllciBjYWxsIGlzIHByZWZlcnJlZCBv
dmVyIG11bHRpcGxlIGNhbGxzIHdpdGggIgorICAgICAgICAiZmluZSBncmFpbmVkIHBpcGVsaW5l
IHN0YWdlIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24iLAorICAgICAgICAmbWVtYmVycywgImh0dHA6
Ly9hbmdsZWJ1Zy5jb20vNDYzMyJ9OwogfTsKIAogaW5saW5lIEZlYXR1cmVzVms6OkZlYXR1cmVz
VmsoKSAgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5m
cmEvQU5HTEVXcmFuZ2xpbmcubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9BTkdM
RVdyYW5nbGluZy5tZAppbmRleCAzNjFmM2QxMjJkZWExYjI0ZjNkNmVmMDkwNTgzYjhmZTY5Yjgx
ZTRkLi43NDM3OGFiZTRhZWEzMjEzYmRiZGQ4OGUyMzE2Nzc1MTdjOTg5YTBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9BTkdMRVdyYW5nbGluZy5tZAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9BTkdMRVdyYW5nbGluZy5tZApAQCAtMiwxMyAr
MiwxNSBAQAogCiBBcyBhbiBBTkdMRSBTaGVyaWZmLiBZb3VyIGpvYiBpcyB0bzoKIAotIDEuIEtl
ZXAgdGhlIFtBTkdMRSBUcnkgV2F0ZXJmYWxsXShodHRwczovL2NpLmNocm9taXVtLm9yZy9wL2No
cm9taXVtL2cvYW5nbGUudHJ5L2J1aWxkZXJzKSBpbiBnb29kCisgMS4gS2VlcCB0aGUgW0FOR0xF
IFRyeSBXYXRlcmZhbGxdKGh0dHBzOi8vY2kuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vZy90cnlz
ZXJ2ZXIuY2hyb21pdW0uYW5nbGUvYnVpbGRlcnMpIGluIGdvb2QKICAgICB3b3JraW5nIG9yZGVy
LgogIDEuIE1vbml0b3IgdGhlCiAgICAgW0Nocm9taXVtIEdQVSBGWUkgV2F0ZXJmYWxsXShodHRw
czovL2NpLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2cvY2hyb21pdW0uZ3B1LmZ5aS9jb25zb2xl
KQogICAgIGFuZCByZXNwb25kIHRvIEFOR0xFIGJ1Z3MuCiAgMS4gQ29udHJvbCBhbmQgbW9uaXRv
ciB0aGUgW0FOR0xFIGF1dG8tcm9sbGVyc10oI3Rhc2stM190aGUtYXV0b19yb2xsZXJzKS4KICAx
LiBLZWVwIHRoZSBbQU5HTEUgU3RhbmRhbG9uZSBUZXN0ZXJzXShSRUFETUUubWQpIGluIGdvb2Qg
d29ya2luZyBvcmRlci4KKyAxLiBLZWVwIHRoZSBbU3dBTkdMRSBUcnkgV2F0ZXJmYWxsXShodHRw
czovL2x1Y2ktbWlsby5hcHBzcG90LmNvbS9wL2Nocm9taXVtL2cvdHJ5c2VydmVyLmNocm9taXVt
LnN3YW5nbGUvYnVpbGRlcnMpIGluIGdvb2QKKyAgICB3b3JraW5nIG9yZGVyLgogCiBJZiB5b3Un
cmUgbm90IGFuIEFOR0xFIHRlYW0gbWVtYmVyLCB5b3UgY2FuIGNvbnRhY3QgdXMgb24gdGhlIHB1
YmxpYyBBTkdMRSBwcm9qZWN0CiBbR29vZ2xlIGdyb3VwXShodHRwczovL2dyb3Vwcy5nb29nbGUu
Y29tL2ZvcnVtLyMhZm9ydW0vYW5nbGVwcm9qZWN0KS4KQEAgLTIxLDcgKzIzLDcgQEAgZXh0ZW5z
aW9uIGZvciBpbnNwZWN0aW5nIGJvdCBidWlsZHMuIEl0J2xsIHNhdmUgeW91IGEgbG90IG9mIHRp
bWUuCiAjIyBUYXNrIDE6IE1vbml0b3IgQU5HTEUgQ0kgYW5kIFRyeSBUZXN0ZXJzCiAKIFlvdXIg
Zmlyc3Qgam9iIGlzIHRvIGtlZXAgdGhlCi1bQU5HTEUgVHJ5IFdhdGVyZmFsbF0oaHR0cHM6Ly9j
aS5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9nL2FuZ2xlLnRyeS9idWlsZGVycykgaGVhbHRoeS4g
IFNvbWUKK1tBTkdMRSBUcnkgV2F0ZXJmYWxsXShodHRwczovL2NpLmNocm9taXVtLm9yZy9wL2No
cm9taXVtL2cvdHJ5c2VydmVyLmNocm9taXVtLmFuZ2xlL2J1aWxkZXJzKSBoZWFsdGh5LiAgU29t
ZQogZmFpbHVyZXMgYXJlIGV4cGVjdGVkIG9uIHRoaXMgd2F0ZXJmYWxsLiBEZXZlbG9wZXJzIG1p
Z2h0IGJlIHRlc3RpbmcgZXhwZWN0ZWRseSBidWdneSBjb2RlLiBCdXQKIHBlcnNpc3RlbnQgZmxh
a2luZXNzIGFuZCBmYWlsdXJlcyBzaG91bGQgYmUgcmVwb3J0ZWQgYW5kIHJldmVydGVkLgogCkBA
IC05MCw4ICs5MiwxOSBAQCBXZSBhbHNvIHVzZSBhZGRpdGlvbmFsIGF1dG8tcm9sbGVycyB0byBy
b2xsIHRoaXJkIHBhcnR5IGxpYnJhcmllcyBpbnRvIEFOR0xFIG9uYwogICogW1Z1bGthbi1IZWFk
ZXJzIGludG8gQU5HTEVdKGh0dHBzOi8vYXV0b3JvbGwuc2tpYS5vcmcvci92dWxrYW4taGVhZGVy
cy1hbmdsZS1hdXRvcm9sbCkKICAqIFtWdWxrYW4tVmFsaWRhdGlvbkxheWVycyBpbnRvIEFOR0xF
XShodHRwczovL2F1dG9yb2xsLnNraWEub3JnL3IvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzLWFu
Z2xlLWF1dG9yb2xsKQogCi1QbGVhc2UgZW5zdXJlIHRoZXNlIHJvbGxlcnMgYXJlIGFsc28gaGVh
bHRoeSBhbmQgdW5ibG9ja2VkLiBZb3UgY2FuIHRyaWdnZXIgbWFudWFsIHJvbGxzIHVzaW5nIHRo
ZSBkYXNoYm9hcmRzCi10byBsYW5kIGhpZ2gtcHJpb3JpdHkgY2hhbmdlcy4KK1BsZWFzZSBlbnN1
cmUgdGhlc2Ugcm9sbGVycyBhcmUgYWxzbyBoZWFsdGh5IGFuZCB1bmJsb2NrZWQuIFlvdSBjYW4g
dHJpZ2dlciBtYW51YWwgcm9sbHMgdXNpbmcgdGhlCitkYXNoYm9hcmRzIHRvIGxhbmQgaGlnaC1w
cmlvcml0eSBjaGFuZ2VzLgorCisqKk5PVEU6IFdoZW4gVnVsa2FuLUhlYWRlcnMgcm9sbCBpcyBi
cm9rZW46KioKKworVGhlIFZ1bGthbi1Ub29scywgVnVsa2FuLUxvYWRlciwgYW5kIFZ1bGthbi1W
YWxpZGF0aW9uTGF5ZXJzIHJlcG9zIGFsbCBkZXBlbmQgb24gdGhlIFZ1bGthbi1IZWFkZXJzCity
ZXBvLiBXaGVuIFZ1bGthbi1IZWFkZXJzIHVwZGF0ZXMsIGFsbCBvZiB0aG9zZSByZXBvcyBoYXZl
IGEgcm9sbCBwcm9jZXNzIG1hbmFnZWQgYnkgTHVuYXJHIHRvCit1cGRhdGUgdGhlbSBmb3IgdGhl
IG5ldyBWdWxrYW4tSGVhZGVycy4gVGhpcyB1c3VhbGx5IHRha2VzIDItMyBidXNpbmVzcyBkYXlz
IGFmdGVyIHRoZQorVnVsa2FuLUhlYWRlcnMgdXBkYXRlLiBJZiBWdWxrYW4tSGVhZGVycyByb2xs
IGZhaWxzLCBwYXVzZSB0aGUgcm9sbGVyIHdpdGggYSBub3RlIHRoYXQgaXQgc2hvdWxkIGJlCity
ZS1lbmFibGVkIHdoZW4gdGhlIGRlcGVuZGVudCByZXBvcyBoYXZlIGJlZW4gdXBkYXRlZCBmb3Ig
dGhlIGxhdGVzdCBWdWxrYW4tSGVhZGVycyBjaGFuZ2VzLiBUaGlzCit3aWxsIHJlcXVpcmUgYSBt
YW51YWwgcm9sbCBpZiB0aGUgdHdvIHJlcG9zIGhhdmUgdG8gYmUgcm9sbGVkIGluIHVuaXNvbi4g
VG8gcGVyZm9ybSBhIG1hbnVhbCByb2xsLAorY3JlYXRlIGEgQ0wgdGhhdCB1cGRhdGVzIHRoZSBE
RVBTIGZpbGUgd2l0aCB0aGUgbmV3IFNIQTEgdmFsdWUgZnJvbSB0aGUgZGVzaXJlZCBjaGVja291
dCBvZiBlYWNoCitkZXBlbmRlbnQgcmVwby4gT25jZSB0aGUgbWFudWFsIHJvbGwgbGFuZHMsIHJl
LWVuYWJsZSB0aGUgYXV0by1yb2xsZXJzIGZvciB0aGUgcmVsZXZhbnQgcmVwb3MuCiAKIFRoZSBh
dXRvcm9sbGVyIGNvbmZpZ3VyYXRpb25zIGxpdmUgaW4gdGhlIFtza2lhL2J1aWxkYm90IHJlcG9z
aXRvcnldKGh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2UuY29tL2J1aWxkYm90LykKIGluIHRoZSBb
YXV0b3JvbGwvY29uZmlnXShodHRwczovL3NraWEuZ29vZ2xlc291cmNlLmNvbS9idWlsZGJvdC8r
L21hc3Rlci9hdXRvcm9sbC9jb25maWcpIGZvbGRlci4KQEAgLTk5LDMgKzExMiwzMSBAQCBpbiB0
aGUgW2F1dG9yb2xsL2NvbmZpZ10oaHR0cHM6Ly9za2lhLmdvb2dsZXNvdXJjZS5jb20vYnVpbGRi
b3QvKy9tYXN0ZXIvYXV0b3JvbAogIyMgVGFzayA0OiBBTkdMRSBTdGFuZGFsb25lIFRlc3RpbmcK
IAogU2VlIG1vcmUgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zIG9uIGJ5IGZvbGxvd2luZyBbdGhpcyBs
aW5rXShSRUFETUUubWQpLgorCisjIyBUYXNrIDU6IE1vbml0b3IgU3dBTkdMRSBDSSBhbmQgVHJ5
IFRlc3RlcnMKKworTW9zdCBpbXBvcnRhbnQgdGFzayBoZXJlIGlzIHRvIGtlZXAgaGVhbHRoeSB0
aGUgMiBTd0FOR0xFIGJvdHMgb24gQU5HTEUgQ1EsCitbbGludXgtc3dhbmdsZS10cnktdG90LWFu
Z2xlLXg2NF0oaHR0cHM6Ly9sdWNpLW1pbG8uYXBwc3BvdC5jb20vcC9jaHJvbWl1bS9idWlsZGVy
cy90cnkvbGludXgtc3dhbmdsZS10cnktdG90LWFuZ2xlLXg2NCkKK2FuZAorW3dpbi1zd2FuZ2xl
LXRyeS10b3QtYW5nbGUteDg2XShodHRwczovL2x1Y2ktbWlsby5hcHBzcG90LmNvbS9wL2Nocm9t
aXVtL2J1aWxkZXJzL3RyeS93aW4tc3dhbmdsZS10cnktdG90LWFuZ2xlLXg4NikuCitBcyB3ZWxs
IGFzIHRoZSAyIFN3QU5HTEUgYm90cyB1c2VkIGZvciBBTkdMRSByb2xscyBvbiBDaHJvbWl1bSBD
USwKK1tsaW51eC1zd2FuZ2xlLXRyeS14NjRdKGh0dHBzOi8vbHVjaS1taWxvLmFwcHNwb3QuY29t
L3AvY2hyb21pdW0vYnVpbGRlcnMvdHJ5L2xpbnV4LXN3YW5nbGUtdHJ5LXg2NCkKK2FuZAorW3dp
bi1zd2FuZ2xlLXRyeS14ODZdKGh0dHBzOi8vbHVjaS1taWxvLmFwcHNwb3QuY29tL3AvY2hyb21p
dW0vYnVpbGRlcnMvdHJ5L3dpbi1zd2FuZ2xlLXRyeS14ODYpLgorCitTYW1lIGluc3RydWN0aW9u
cyBhcyBmb3IgW1Rhc2sgMV0oI3Rhc2stMV9tb25pdG9yLWFuZ2xlLWNpLWFuZC10cnktdGVzdGVy
cykgYXBwbHkgaGVyZS4KK1NvbWUgZmFpbHVyZXMgb24gdGhlc2UgYm90cyBtYXkgYmUgZHVlIHRv
IFN3aWZ0U2hhZGVyIGNoYW5nZXMsIGhvd2V2ZXIuCitUaGUgcG9zc2libGUgd2F5cyB0byBoYW5k
bGUgdGhlc2UgZmFpbHVyZXMgYXJlOgorMS4gSWYgcG9zc2libGUsIHN1cHByZXNzIHRoZSBmYWls
aW5nIHRlc3RzIGluIEFOR0xFLCBvcGVuaW5nIGEgYnVnIHRvIGludmVzdGlnYXRlIHRoZXNlIGxh
dGVyLgorMS4gSWYgaXQgaXMgY2xlYXIgdGhhdCBhbiBBTkdMRSBDTCBjYXVzZWQgYSByZWdyZXNz
aW9uLAorICAgY29uc2lkZXIgd2hldGhlciByZXZlcnRpbmcgaXQgb3Igc3VwcHJlc3NpbmcgdGhl
IGZhaWx1cmVzIGlzIGEgYmV0dGVyIGNvdXJzZSBvZiBhY3Rpb24uCisxLiBJZiBhIFN3aWZ0U2hh
ZGVyIENMIGlzIHN1c3BlY3RlZCwgYW5kIHRoZSBicmVha2FnZSBpcyB0b28gc2V2ZXJlIHRvIGJl
IHN1cHByZXNzZWQsCisgICAoYSBsb3Qgb2YgdGVzdHMgZmFpbCBpbiBtdWx0aXBsZSBzdWl0ZXMp
LAorICAgaXQgaXMgcG9zc2libGUgdG8gcmV2ZXJ0IHRoZSByZXNwb25zaWJsZSBTd2lmdFNoYWRl
ciByb2xsIGludG8gQ2hyb21pdW0KKyAgIGFuZCBvcGVuIGEgU3dpZnRTaGFkZXIgW2J1Z10oaHR0
cDovL2dvL3N3aWZ0c2hhZGVyYnVncykuIFN3aWZ0U2hhZGVyIHJvbGxzIGludG8gQ2hyb21pdW0K
KyAgIHNob3VsZCBmYWlsIGFmdGVyd2FyZHMsIGJ1dCBpZiB0aGUgYmFkIHJvbGwgbWFuYWdlcyB0
byByZWxhbmQsCisgICB0aGUgW2F1dG9yb2xsZXJdKGh0dHBzOi8vYXV0b3JvbGwuc2tpYS5vcmcv
ci9zd2lmdHNoYWRlci1jaHJvbWl1bS1hdXRvcm9sbCkgbmVlZHMgdG8gYmUgc3RvcHBlZC4KKwor
QSBsb3dlciBwcmlvcml0eSB0YXNrIGhlcmUgaXMgdG8ga2VlcCBoZWFsdGh5IGFsbCB0aGUgU3dB
TkdMRQorW0NJXShodHRwczovL2x1Y2ktbWlsby5hcHBzcG90LmNvbS9wL2Nocm9taXVtL2cvY2hy
b21pdW0uc3dhbmdsZS9idWlsZGVycykgYW5kCitbVHJ5XShodHRwczovL2x1Y2ktbWlsby5hcHBz
cG90LmNvbS9wL2Nocm9taXVtL2cvdHJ5c2VydmVyLmNocm9taXVtLnN3YW5nbGUvYnVpbGRlcnMp
IGJvdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9SRUFETUUu
bWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9SRUFETUUubWQKaW5kZXggZWE0NWVh
NDc2ZTA5MzVhM2MwNzhjMTc0Y2U4NjZlMWZjZTc1MjFhMS4uMzgzMjcxMGQ5ZDI1NzAzMDYzNzc3
ZGNiNTFmZjQ0ZTJkYjk3ZDFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
aW5mcmEvUkVBRE1FLm1kCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luZnJhL1JFQURN
RS5tZApAQCAtMTIsNyArMTIsNyBAQCBBbHNvIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvbiBbQU5H
TEUgV3JhbmdsaW5nXVtXcmFuZ2xpbmddIGZvciBtb3JlIGluZm8uCiAKIFNlZSB0aGUgcHJlLWNv
bW1pdCB0cnkgd2F0ZXJmYWxsIGhlcmU6CiAKLVtgaHR0cHM6Ly9jaS5jaHJvbWl1bS5vcmcvcC9j
aHJvbWl1bS9nL2FuZ2xlLnRyeS9idWlsZGVyc2BdKGh0dHBzOi8vY2kuY2hyb21pdW0ub3JnL3Av
Y2hyb21pdW0vZy9hbmdsZS50cnkvYnVpbGRlcnMpCitbYGh0dHBzOi8vY2kuY2hyb21pdW0ub3Jn
L3AvY2hyb21pdW0vZy90cnlzZXJ2ZXIuY2hyb21pdW0uYW5nbGUvYnVpbGRlcnNgXShodHRwczov
L2NpLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2cvdHJ5c2VydmVyLmNocm9taXVtLmFuZ2xlL2J1
aWxkZXJzKQogCiBXZSBjdXJyZW50bHkgcnVuIHByZS1jb21taXQgdGVzdHMgb246CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luZnJhL2NvbmZpZy9nbG9iYWwvY29tbWl0
LXF1ZXVlLmNmZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luZnJhL2NvbmZpZy9nbG9iYWwv
Y29tbWl0LXF1ZXVlLmNmZwppbmRleCBjMzA2ODAwMDczNDU1Y2JkNjFhOTJhMjUyZTBlYWY0Y2M2
M2I2MmYxLi45MDY5YmVjNGRiYWMxY2FhNDQ2NDM4MWUyN2EzOTU4OGY2NmYxYTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmZyYS9jb25maWcvZ2xvYmFsL2NvbW1pdC1x
dWV1ZS5jZmcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5mcmEvY29uZmlnL2dsb2Jh
bC9jb21taXQtcXVldWUuY2ZnCkBAIC05OCw2ICs5OCw5IEBAIGNvbmZpZ19ncm91cHMgewogICAg
ICAgYnVpbGRlcnMgewogICAgICAgICBuYW1lOiAiY2hyb21pdW0vdHJ5L2xpbnV4LWFuZ2xlLXJl
bCIKICAgICAgIH0KKyAgICAgIGJ1aWxkZXJzIHsKKyAgICAgICAgbmFtZTogImNocm9taXVtL3Ry
eS9saW51eC1zd2FuZ2xlLXRyeS10b3QtYW5nbGUteDY0IgorICAgICAgfQogICAgICAgYnVpbGRl
cnMgewogICAgICAgICBuYW1lOiAiY2hyb21pdW0vdHJ5L21hYy1hbmdsZS1yZWwiCiAgICAgICB9
CkBAIC0xMTMsNiArMTE2LDkgQEAgY29uZmlnX2dyb3VwcyB7CiAgICAgICBidWlsZGVycyB7CiAg
ICAgICAgIG5hbWU6ICJjaHJvbWl1bS90cnkvd2luLWFuZ2xlLXJlbC02NCIKICAgICAgIH0KKyAg
ICAgIGJ1aWxkZXJzIHsKKyAgICAgICAgbmFtZTogImNocm9taXVtL3RyeS93aW4tc3dhbmdsZS10
cnktdG90LWFuZ2xlLXg4NiIKKyAgICAgIH0KICAgICAgIHJldHJ5X2NvbmZpZyB7CiAgICAgICAg
IHNpbmdsZV9xdW90YTogMQogICAgICAgICBnbG9iYWxfcXVvdGE6IDIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMvQlVJTEQuZ24gYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zYW1wbGVzL0JVSUxELmduCmluZGV4IGIwY2UyMDg4YjA0ZWIxMjUwYjU0NTJhZGNi
MTVkMGU0MDdiYjhiNDMuLmFlZjk5MjhmOGNmMGFkZjRlMzI3MTFjMzI1ZjczMmM2MTk4NDE2MTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMvQlVJTEQuZ24KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9CVUlMRC5nbgpAQCAtMjAxLDcgKzIw
MSwxNCBAQCBpZiAoYW5nbGVfYnVpbGRfY2FwdHVyZV9yZXBsYXlfc2FtcGxlKSB7CiAgICAgICAi
QU5HTEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0NPTlRFWFRfSUQ9JHtfY29udGV4dGlkfSIsCiAg
ICAgICAiQU5HTEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0hFQURFUj1hbmdsZV9jYXB0dXJlX2Nv
bnRleHQke19jb250ZXh0aWR9LmgiLAogICAgIF0KKwogICAgIHN1cHByZXNzZWRfY29uZmlncyA9
IFsgIiRhbmdsZV9yb290OmNvbnN0cnVjdG9yX2FuZF9kZXN0cnVjdG9yX3dhcm5pbmdzIiBdCisK
KyAgICAjIERpc2FibGUgb3B0aW1pemF0aW9uIHRvIGF2b2lkIG9wdGltaXppbmcgaHVnZSBmaWxl
cy4KKyAgICBpZiAoIWlzX2RlYnVnKSB7CisgICAgICBzdXBwcmVzc2VkX2NvbmZpZ3MgKz0gWyAi
Ly9idWlsZC9jb25maWcvY29tcGlsZXI6ZGVmYXVsdF9vcHRpbWl6YXRpb24iIF0KKyAgICAgIGNv
bmZpZ3MgKz0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6bm9fb3B0aW1pemUiIF0KKyAgICB9
CiAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9j
YXB0dXJlX3JlcGxheS9DYXB0dXJlUmVwbGF5LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NhbXBsZXMvY2FwdHVyZV9yZXBsYXkvQ2FwdHVyZVJlcGxheS5jcHAKaW5kZXggYTM4YzIzYmU4
YjBlODZjYjE4ZjAwNmQzYWNhNmZiOTg5NGQ5MTc5My4uY2QxMmU0NTExZGZmN2E0MmFkMzM3ZTdk
OTgzYTAwNmUxNDMzZTE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2Ft
cGxlcy9jYXB0dXJlX3JlcGxheS9DYXB0dXJlUmVwbGF5LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zYW1wbGVzL2NhcHR1cmVfcmVwbGF5L0NhcHR1cmVSZXBsYXkuY3BwCkBAIC0y
Nyw2ICsyNyw5IEBAIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBTZXR1cENvbnRleHRSZXBsYXkgPSBy
ZWludGVycHJldF9jYXN0PHZvaWQgKCopKCk+KAogc3RkOjpmdW5jdGlvbjx2b2lkKGludCk+IFJl
cGxheUNvbnRleHRGcmFtZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAoKikoaW50KT4oCiAgICAg
QU5HTEVfTUFDUk9fQ09OQ0FUKFJlcGxheUNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg
IEFOR0xFX01BQ1JPX0NPTkNBVChBTkdMRV9DQVBUVVJFX1JFUExBWV9TQU1QTEVfQ09OVEVYVF9J
RCwgRnJhbWUpKSk7CitzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gUmVzZXRDb250ZXh0UmVwbGF5ID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkICgqKSgpPigKKyAgICBBTkdMRV9NQUNST19DT05DQVQoUmVz
ZXRDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICBBTkdMRV9NQUNST19DT05DQVQoQU5H
TEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0NPTlRFWFRfSUQsIFJlcGxheSkpKTsKIAogY2xhc3Mg
Q2FwdHVyZVJlcGxheVNhbXBsZSA6IHB1YmxpYyBTYW1wbGVBcHBsaWNhdGlvbgogewpAQCAtNTks
MTIgKzYyLDE5IEBAIGNsYXNzIENhcHR1cmVSZXBsYXlTYW1wbGUgOiBwdWJsaWMgU2FtcGxlQXBw
bGljYXRpb24KICAgICAgICAgLy8gQ29tcHV0ZSB0aGUgY3VycmVudCBmcmFtZSwgbG9vcGluZyBm
cm9tIGtSZXBsYXlGcmFtZVN0YXJ0IHRvIGtSZXBsYXlGcmFtZUVuZC4KICAgICAgICAgdWludDMy
X3QgZnJhbWUgPQogICAgICAgICAgICAga1JlcGxheUZyYW1lU3RhcnQgKyAobUN1cnJlbnRGcmFt
ZSAlIChrUmVwbGF5RnJhbWVFbmQgLSBrUmVwbGF5RnJhbWVTdGFydCkpOworCisgICAgICAgIGlm
IChtUHJldmlvdXNGcmFtZSA+IGZyYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBSZXNldENv
bnRleHRSZXBsYXkoKTsKKyAgICAgICAgfQogICAgICAgICBSZXBsYXlDb250ZXh0RnJhbWUoZnJh
bWUpOworICAgICAgICBtUHJldmlvdXNGcmFtZSA9IGZyYW1lOwogICAgICAgICBtQ3VycmVudEZy
YW1lKys7CiAgICAgfQogCiAgIHByaXZhdGU6Ci0gICAgdWludDMyX3QgbUN1cnJlbnRGcmFtZSA9
IDA7CisgICAgdWludDMyX3QgbUN1cnJlbnRGcmFtZSAgPSAwOworICAgIHVpbnQzMl90IG1QcmV2
aW91c0ZyYW1lID0gMDsKIH07CiAKIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMvc2FtcGxlX3V0aWwvU2Ft
cGxlQXBwbGljYXRpb24uY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9zYW1w
bGVfdXRpbC9TYW1wbGVBcHBsaWNhdGlvbi5jcHAKaW5kZXggZmY5YWY0NGI3ZjAyZTEwMzQ4NGJh
YTRjN2E1N2ZlMjBlMGRkNzFjNC4uMmM1ZTMzYzVlMmU1YmIwNmFjYmRjMjZhMDZjMjc1MGEwZjk4
ZmY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9zYW1wbGVf
dXRpbC9TYW1wbGVBcHBsaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c2FtcGxlcy9zYW1wbGVfdXRpbC9TYW1wbGVBcHBsaWNhdGlvbi5jcHAKQEAgLTE1NSw3ICsxNTUs
OCBAQCBpbnQgU2FtcGxlQXBwbGljYXRpb246OnJ1bigpCiAgICAgY29uZmlnUGFyYW1zLmRlcHRo
Qml0cyAgID0gMjQ7CiAgICAgY29uZmlnUGFyYW1zLnN0ZW5jaWxCaXRzID0gODsKIAotICAgIGlm
ICghbUVHTFdpbmRvdy0+aW5pdGlhbGl6ZUdMKG1PU1dpbmRvdywgbUVudHJ5UG9pbnRzTGliLmdl
dCgpLCBtUGxhdGZvcm1QYXJhbXMsIGNvbmZpZ1BhcmFtcykpCisgICAgaWYgKCFtRUdMV2luZG93
LT5pbml0aWFsaXplR0wobU9TV2luZG93LCBtRW50cnlQb2ludHNMaWIuZ2V0KCksIGFuZ2xlOjpH
TEVTRHJpdmVyVHlwZTo6QW5nbGVFR0wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbVBsYXRmb3JtUGFyYW1zLCBjb25maWdQYXJhbXMpKQogICAgIHsKICAgICAgICAgcmV0dXJu
IC0xOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMv
c2hhZGVyX3RyYW5zbGF0b3Ivc2hhZGVyX3RyYW5zbGF0b3IuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc2FtcGxlcy9zaGFkZXJfdHJhbnNsYXRvci9zaGFkZXJfdHJhbnNsYXRvci5jcHAK
aW5kZXggM2FmN2ViYzBlNjc1NzRmOTdjNDkxMGNmYzhjZTQ2MDllYzQ5YTRjNy4uNTNmNmJlNjdh
ZTY2MmI5ZjFlYTI3ODUzYmNmOGJiYTBmZWNiZWI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc2FtcGxlcy9zaGFkZXJfdHJhbnNsYXRvci9zaGFkZXJfdHJhbnNsYXRvci5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9zaGFkZXJfdHJhbnNsYXRv
ci9zaGFkZXJfdHJhbnNsYXRvci5jcHAKQEAgLTY1LDYgKzY1LDcgQEAgdm9pZCBHZW5lcmF0ZVJl
c291cmNlcyhTaEJ1aWx0SW5SZXNvdXJjZXMgKnJlc291cmNlcykKICAgICByZXNvdXJjZXMtPk9F
U19FR0xfaW1hZ2VfZXh0ZXJuYWwgICAgPSAwOwogICAgIHJlc291cmNlcy0+RVhUX2dlb21ldHJ5
X3NoYWRlciAgICAgICA9IDE7CiAgICAgcmVzb3VyY2VzLT5BTkdMRV90ZXh0dXJlX211bHRpc2Ft
cGxlID0gMDsKKyAgICByZXNvdXJjZXMtPkFQUExFX2NsaXBfZGlzdGFuY2UgICAgICAgPSAwOwog
fQogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQpAQCAtMjQ5LDcgKzI1MCw3IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgICAgICAgICAgICAgICAg
Y2FzZSAneSc6IHJlc291cmNlcy5FWFRfWVVWX3RhcmdldCA9IDE7IGJyZWFrOwogICAgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6IGZhaWxDb2RlID0gRUZhaWxVc2FnZTsKICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAvLyBjbGFuZy1mb3JtYXQgb24KKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGNsYW5nLWZvcm1hdCBvbgogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25f
aGFzaGVzL0FOR0xFX2Zvcm1hdC5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0
cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX2Zvcm1hdC5qc29uCmluZGV4IDAxMzkxNTQ4
MjNmOGNkODEyNzFkODg3ZmUxYmRmZTQ0NTAzODRlZTUuLjE3ODU1MzIxZDAwMDFiMDU1MjYxNmFi
ZWVjNmY0ZTFlNGJkODlmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Nj
cmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9BTkdMRV9mb3JtYXQuanNvbgorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVf
Zm9ybWF0Lmpzb24KQEAgLTEsMTQgKzEsMTQgQEAKIHsKICAgInNyYy9saWJBTkdMRS9yZW5kZXJl
ci9Gb3JtYXRJRF9hdXRvZ2VuLmgiOgotICAgICIyNGZkY2U0MDcyZDdmOWU3NjMzN2ZmYmU0YzU4
YjRhYiIsCisgICAgImJiZGIzYmVhZTJkYTQ2MjllMzU4M2Q2ZDAxNGViYjJkIiwKICAgInNyYy9s
aWJBTkdMRS9yZW5kZXJlci9Gb3JtYXRfdGFibGVfYXV0b2dlbi5jcHAiOgotICAgICI4OTRlYWEx
NTA5NDlkMzJjNTYzZTk0MDI0MzEyMjk1ZCIsCisgICAgImVmNjMyZDljZjA0YjRiYTYxMDNmODBi
NjFhYzI2YmM5IiwKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9hbmdsZV9mb3JtYXQucHkiOgog
ICAgICIzMmJhNzE5NDJjMGZkMDBlNjgwNzEwNGYxYmI4MGEzYyIsCiAgICJzcmMvbGliQU5HTEUv
cmVuZGVyZXIvYW5nbGVfZm9ybWF0X2RhdGEuanNvbiI6CiAgICAgImI4YmZlNDcwYzMxYjEyYjI3
ZjNhMmJkYjAyODhlNGJlIiwKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9hbmdsZV9mb3JtYXRf
bWFwLmpzb24iOgotICAgICJmYWQ1ODExNzY1N2I2YmRlOTQ4OGExMGQzNTg3MmQ0NSIsCisgICAg
ImM3OWQ4MzNhZWE3MDA3YzdkMGQ1MWNkYWE5YjI2NWE2IiwKICAgInNyYy9saWJBTkdMRS9yZW5k
ZXJlci9nZW5fYW5nbGVfZm9ybWF0X3RhYmxlLnB5IjoKICAgICAiOGUzNDlhNjQzZTgxYTAyOGVi
YjU0YmRlMzc1NmY5ZjciCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVz
L0FOR0xFX2xvYWRfZnVuY3Rpb25zX3RhYmxlLmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVfbG9hZF9mdW5jdGlvbnNfdGFi
bGUuanNvbgppbmRleCBhZjc4NzZlMmIxYTQ5MTgxNjJlZWNkOTdiZGI4ZWE2ZjFhZDEyOTFmLi41
OGRiZTcyYmU1YTQyNDlhNWRkZjdmMGE3NGFhMWQ4NmFkZWIyZGFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVf
bG9hZF9mdW5jdGlvbnNfdGFibGUuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
Y3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVfbG9hZF9mdW5jdGlvbnNfdGFibGUu
anNvbgpAQCAtNCw3ICs0LDcgQEAKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9nZW5fbG9hZF9m
dW5jdGlvbnNfdGFibGUucHkiOgogICAgICI5YjRlYTZiY2I0ZWI0YzQzZjQ4YTA5N2E5ZWM5MjBm
MSIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF9mdW5jdGlvbnNfZGF0YS5qc29uIjoK
LSAgICAiN2RmNjRhNTQ4MWY1NWYzMDk2YWZmMTE2NDlkOTk5MmQiLAorICAgICI4MmU1OTlmNmE2
Y2Q5YTMxNDQwNmY2MTBmNzFkYzY2MCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF9m
dW5jdGlvbnNfdGFibGVfYXV0b2dlbi5jcHAiOgotICAgICI4MjY1OGUwNWExMDE5Mzc1NTAxMDc2
YzQwNDNkNmY4MiIKKyAgICAiN2E1OTRmZWQwMzg1ZGU4MWM0MDJiY2QzZmY3ZjY0MTIiCiB9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX3NoYWRlcl90cmFuc2xh
dG9yLmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlv
bl9oYXNoZXMvQU5HTEVfc2hhZGVyX3RyYW5zbGF0b3IuanNvbgppbmRleCA4Y2NhODJjYjBkZGNl
NDk3ZTFiODcyODAxYTQ4NTljZWFjOGE1ZGQzLi5jZTcyZjZlYjRjYjNlOWVmMGZhYmJhNjVkMWE1
ODQxZGUxNDgyM2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRz
L2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVfc2hhZGVyX3RyYW5zbGF0b3IuanNvbgorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMv
QU5HTEVfc2hhZGVyX3RyYW5zbGF0b3IuanNvbgpAQCAtNCwxNSArNCwxNSBAQAogICAic3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvZ2VuZXJhdGVfcGFyc2VyLnB5IjoKICAgICAiNTY2MTc4ZWNkZmFl
M2EyOTgwM2IzNjg3ZmM1MThlYmIiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFu
Zy5sIjoKLSAgICAiMmY2MDJhODUzZTRjNGQ2NjllZGMzY2MzNmExYThjNGEiLAorICAgICI3NjY3
NmI2NGQ1MWY0MzEyZTgwNjBmNGEwMGJjOGYxYiIsCiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9nbHNsYW5nLnkiOgotICAgICI5MjhjZmNkZDk5ODc3YjVhMjg5Njk0YTQwNTdkNWQ3NiIsCisg
ICAgIjYwOWMzOGExOTk3Yjc3YTlhZmZlYzg0NTQxZGFmOWM5IiwKICAgInNyYy9jb21waWxlci90
cmFuc2xhdG9yL2dsc2xhbmdfbGV4X2F1dG9nZW4uY3BwIjoKLSAgICAiODA5MzA3MjUwY2NjOWE2
YzZkMDI2ZGE0NWI1N2RjZWMiLAorICAgICJlZGMyMjlmNmQxYjQ4Zjg1ODgzMDEyMTlkZjgwNzYw
ZSIsCiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2VuLmNwcCI6
Ci0gICAgImY2OTMyMjhmNDk1YWFjNDYyOWVlOGUzMGMxMmRjNjJmIiwKKyAgICAiODg3MjgxMTUz
NGI0ZThhZWVmMGRmMzU0YmJkMDUwNDQiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xz
bGFuZ190YWJfYXV0b2dlbi5oIjoKLSAgICAiMjg2MTM5ZTdhOGYyZGQzNDU4ZmJmMzliZmYwOWQy
YWQiLAorICAgICIxYmI0Mjg3MmRkNWZkMGE2ZjY0NzIwMWIxNDJiNjdiNiIsCiAgICJ0b29scy9m
bGV4LWJpc29uL2xpbnV4L2Jpc29uLnNoYTEiOgogICAgICJlZmE4NjAwMWYwMGU3YmNmZGJlODk5
ZGQxNWZjODhlMCIsCiAgICJ0b29scy9mbGV4LWJpc29uL2xpbnV4L2ZsZXguc2hhMSI6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9o
YXNoZXMvRDNEMTFfZm9ybWF0Lmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRz
L2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvRDNEMTFfZm9ybWF0Lmpzb24KaW5kZXggZDVmNjUxZmI3
MGVkNjAyMDhhODMxZmIzMzYyOGVkYWJiYzhjNzYyNi4uOTQ1MWQ2YzcxMjRkMThiZmE2ZmFkNDFk
OWE4MjdhOTMwYjUxZjJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2Ny
aXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0QzRDExX2Zvcm1hdC5qc29uCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9EM0QxMV9m
b3JtYXQuanNvbgpAQCAtNiw3ICs2LDcgQEAKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9kM2Qv
ZDNkMTEvdGV4dHVyZV9mb3JtYXRfZGF0YS5qc29uIjoKICAgICAiYzgwNzA4YzE4MzQ4ZmQ4OWEz
YjkxOGU1OGU3NGMxZjgiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS90ZXh0
dXJlX2Zvcm1hdF9tYXAuanNvbiI6Ci0gICAgImU5ZGZiZDUxZmYxODM4MDlmNTk1ZjhmYzVkYjlj
MjE3IiwKKyAgICAiZDQ1YWVlMzUxOWI4YzlhMTU0MTE2MTdiYmIwMGM3N2YiLAogICAic3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS90ZXh0dXJlX2Zvcm1hdF90YWJsZV9hdXRvZ2VuLmNw
cCI6Ci0gICAgImY0ODg2NDE1OWMzYTFmZTZjYTc1NjdlM2ViODIxNWZiIgorICAgICJlZjZkYTI1
OGZmYmQwMjQ1ZDZhNTkyZjVjMGY4YjQ1NSIKIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJh
dGlvbl9oYXNoZXMvRFhHSV9mb3JtYXQuanNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Nj
cmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9EWEdJX2Zvcm1hdC5qc29uCmluZGV4IDEyZWY4
NGUyZGM2MzU5ZGMwYTFlMjFhYWJkZTkzOWEzZTc2OGYwNTkuLjE2MjhmMWViZGRkMTg2YzVlODFh
NjY1Mzg5NmNkNWFhYzRjMDJkZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9EWEdJX2Zvcm1hdC5qc29uCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9EWEdJ
X2Zvcm1hdC5qc29uCkBAIC0yLDcgKzIsNyBAQAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Fu
Z2xlX2Zvcm1hdC5weSI6CiAgICAgIjMyYmE3MTk0MmMwZmQwMGU2ODA3MTA0ZjFiYjgwYTNjIiwK
ICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9hbmdsZV9mb3JtYXRfbWFwLmpzb24iOgotICAgICJm
YWQ1ODExNzY1N2I2YmRlOTQ4OGExMGQzNTg3MmQ0NSIsCisgICAgImM3OWQ4MzNhZWE3MDA3Yzdk
MGQ1MWNkYWE5YjI2NWE2IiwKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvZHhn
aV9mb3JtYXRfZGF0YS5qc29uIjoKICAgICAiMzQyOGU0NzYxY2NkMDVmOTYwYWRmZmQ2Y2NiZDg2
YzUiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9keGdpX2Zvcm1hdF9tYXBf
YXV0b2dlbi5jcHAiOgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0
cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0dMX0NUU18oZEVRUClfYnVpbGRfZmlsZXMuanNvbiBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9H
TF9DVFNfKGRFUVApX2J1aWxkX2ZpbGVzLmpzb24KaW5kZXggOGVlMTZiN2U4NDQzZWYyZThhZjZl
MjRhNzNkZWY1YWQ3Y2NkYTg3Mi4uNTkxYjA1NjFlYzQ1YTZkZTZiMDJiODU5ODhlNzU4ZWRjZTBh
MjkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dl
bmVyYXRpb25faGFzaGVzL0dMX0NUU18oZEVRUClfYnVpbGRfZmlsZXMuanNvbgorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvR0xfQ1RT
XyhkRVFQKV9idWlsZF9maWxlcy5qc29uCkBAIC02LDExICs2LDExIEBACiAgICJzcmMvdGVzdHMv
ZGVxcF9zdXBwb3J0L2RlcXBfZGF0YV9hdXRvZ2VuLmduaSI6CiAgICAgIjNhNzRlOWU0MDRhOWIx
YTRmZjFhNzhkOGE2NDBjNDcyIiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvQ01ha2VM
aXN0cy50eHQiOgotICAgICI5OGYwNTc1YjM4NzFiMjA4Y2UzMDE1MGRlYTIwODFkNiIsCisgICAg
ImIzYTQ1MTM1MGI3ZTU0ODM3ZTMyMDhiMDJkODZlOWM1IiwKICAgInRoaXJkX3BhcnR5L1ZLLUdM
LUNUUy9zcmMvZXhlY3NlcnZlci9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjM4YWExODc1OTJlNmVm
OWEzMzFmYzFlYTMxM2ZjNjhkIiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXhlY3V0
b3IvQ01ha2VMaXN0cy50eHQiOgotICAgICJjMTYwNjY1YWZmODgwYmUyMTRmZWJhNjgxM2VkMTY4
NyIsCisgICAgIjNjMjU2ZjAwNjI1ZjY3ZDJhOGQ5ZWFkNWYyMWZhZGRmIiwKICAgInRoaXJkX3Bh
cnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvYW1iZXIvQ01ha2VMaXN0cy50eHQiOgogICAgICJm
ODNhNDE4Yjc5ODYzZTkwZGU3ODFkOGJlNjUxNTI0NiIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1D
VFMvc3JjL2V4dGVybmFsL2dsc2xhbmcvQ01ha2VMaXN0cy50eHQiOgpAQCAtMjIsNyArMjIsNyBA
QAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC9vcGVuZ2xjdHMvbW9kdWxl
cy9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjk4NTI3NTQ3ODBjZDk1MjJmOTM2NDRkMmQ5OWIyNzFk
IiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvb3BlbmdsY3RzL21vZHVs
ZXMvY29tbW9uL0NNYWtlTGlzdHMudHh0IjoKLSAgICAiZDIyMDU0MmE5ZTYwYzcxN2NiM2Q3MjEx
ZjkzNDQwZDMiLAorICAgICI2ZmFjMGY0MjU0ZTc3OTIyODRmYjA4NjU0NzIxMDgxMSIsCiAgICJ0
aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL29wZW5nbGN0cy9tb2R1bGVzL2NvbW1v
bi9zdWJncm91cHMvQ01ha2VMaXN0cy50eHQiOgogICAgICJiZjcxY2UyZDk3NTZjY2VlNzgzM2E3
ODk3MzdlNjQ4MSIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL29wZW5n
bGN0cy9tb2R1bGVzL2dsL0NNYWtlTGlzdHMudHh0IjoKQEAgLTM4LDE3ICszOCwxNyBAQAogICAi
dGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC9vcGVuZ2xjdHMvbW9kdWxlcy9nbGVz
ZXh0L0NNYWtlTGlzdHMudHh0IjoKICAgICAiZWJkZmJkMDE4MmI4YmYyZWE0NmQxYjdlMjk2Yzgx
N2YiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC9vcGVuZ2xjdHMvbW9k
dWxlcy9ydW5uZXIvQ01ha2VMaXN0cy50eHQiOgotICAgICJiMjZkZTkzYTQwNjUyOWI0ZmRjMzAy
ODQ3NDIwZWI4ZCIsCisgICAgIjRjMDA4NTlhNGE3MDBiZWM3NzkzMjIxZGJiZjQyZTJhIiwKICAg
InRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvc3BpcnYtdG9vbHMvQ01ha2VMaXN0
cy50eHQiOgogICAgICJjY2E4YjRiOTg0YzQwYWZiOTg4MGQxNzdkNTM2MjNhMSIsCiAgICJ0aGly
ZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0cy9mcmFtZXdvcmsvdnVsa2Fu
L0NNYWtlTGlzdHMudHh0IjoKLSAgICAiMjYwYjJhMWZmYjEzNjllOTk3Y2RlNjE5NTZkOTczYmEi
LAorICAgICI3ZjkwZjA4YmVhMzlhYmJkODZkYjE1MDNiNzE2YTUzNiIsCiAgICJ0aGlyZF9wYXJ0
eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9DTWFrZUxp
c3RzLnR4dCI6CiAgICAgIjU4YTBmNTU2ZGIzNTY3MDBjZmJmOTMzOTZmYzliZTc0IiwKICAgInRo
aXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVsZXMvdnVsa2Fu
L2FtYmVyL0NNYWtlTGlzdHMudHh0IjoKLSAgICAiODZjYjAzYTc3MWQ1YzBhNTdhNmUwZGJiMzA1
YzJhYmEiLAorICAgICI2NzI4NjE1ZmRlZjU5ODRlMzA1OTM0ZjEwZWZjNjg5MiIsCiAgICJ0aGly
ZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9h
cGkvQ01ha2VMaXN0cy50eHQiOgotICAgICIyZGE5ZDA1ZWYzYmE3Njg2MzJkNzM2MmQxZmZhYTE0
MyIsCisgICAgIjI4YWViMTUxMTExZjlmY2FhMGVhNTBhYjU4OTllMWI3IiwKICAgInRoaXJkX3Bh
cnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVsZXMvdnVsa2FuL2JpbmRp
bmdfbW9kZWwvQ01ha2VMaXN0cy50eHQiOgogICAgICI3OTRkMmZmZmIwYWM2ZGE0Zjk3YmRiOTdl
ZjI0MTIzOSIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0
cy9tb2R1bGVzL3Z1bGthbi9jbGlwcGluZy9DTWFrZUxpc3RzLnR4dCI6CkBAIC02Miw3ICs2Miw3
IEBACiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0cy9tb2R1
bGVzL3Z1bGthbi9kZXZpY2VfZ3JvdXAvQ01ha2VMaXN0cy50eHQiOgogICAgICI2ZjlmZTYwNTUz
OTI0ZWEwZmUzOGI4ZTY2MGZiZGM1YyIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4
dGVybmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9kcmF3L0NNYWtlTGlzdHMudHh0IjoKLSAg
ICAiZGU0OWRmOTNiZjU1Mzc4M2FlMjQwZjk3OTRmZmZjMGQiLAorICAgICJiYWZiNzJkMzk4ZTgw
ZDYwYTliNTI1N2UxOTIyNjE5ZiIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVy
bmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9keW5hbWljX3N0YXRlL0NNYWtlTGlzdHMudHh0
IjoKICAgICAiYmEyYmJhODY0MjZmMWRjOWViMTZiY2NjMmRmNjAxMTEiLAogICAidGhpcmRfcGFy
dHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4vZnJhZ21l
bnRfb3BzL0NNYWtlTGlzdHMudHh0IjoKQEAgLTcyLDcgKzcyLDcgQEAKICAgInRoaXJkX3BhcnR5
L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVsZXMvdnVsa2FuL2dlb21ldHJ5
L0NNYWtlTGlzdHMudHh0IjoKICAgICAiZWE2ZDZkMzc4NzM3MzExZjU0MWM3OWQwMzM5NmRjNzki
LAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxl
cy92dWxrYW4vaW1hZ2UvQ01ha2VMaXN0cy50eHQiOgotICAgICIwMDM3Mzg4YWUxY2IwNzI0NDBl
MzI1ZTU5YzE0MTQxOCIsCisgICAgIjMxZmJiZDNjZDBmNDlkMTkxMzUzNjMzMDc1NThhNjZhIiwK
ICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVsZXMv
dnVsa2FuL2ltYWdlbGVzc19mcmFtZWJ1ZmZlci9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjlmMjE2
N2E4Nzg0NGMxYzUxOTdkOWNjYjg4NjNhNjEzIiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9z
cmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVsZXMvdnVsa2FuL21lbW9yeS9DTWFrZUxpc3RzLnR4
dCI6CkBAIC04Niw3ICs4Niw3IEBACiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVy
bmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9wcm90ZWN0ZWRfbWVtb3J5L0NNYWtlTGlzdHMu
dHh0IjoKICAgICAiNjIzODlhNDU3ZmE3OWZmMDkzMTdiNzQ1ZTBjMmY0YWEiLAogICAidGhpcmRf
cGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4vcXVl
cnlfcG9vbC9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgImE2MDg3ZDFmZGRlNWEwZjc2MjA5MGIwOWJj
ZTYwYTI2IiwKKyAgICAiOGViNzdjOGIxZWJlN2Q1MzNlZWUxNDA0MDIyZGE3MTMiLAogICAidGhp
cmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4v
cmFzdGVyaXphdGlvbi9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjcyNDRjYzMxZTA5NDQyNmI0NDU0
MGM1N2EwMTdiZWFhIiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVs
a2FuY3RzL21vZHVsZXMvdnVsa2FuL3JlbmRlcnBhc3MvQ01ha2VMaXN0cy50eHQiOgpAQCAtMTAw
LDE3ICsxMDAsMTcgQEAKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVs
a2FuY3RzL21vZHVsZXMvdnVsa2FuL3NwYXJzZV9yZXNvdXJjZXMvQ01ha2VMaXN0cy50eHQiOgog
ICAgICJiZmFmMDcwMDkzZDU2M2U0ZGM5MmVjNzJkM2UyMGQ5NyIsCiAgICJ0aGlyZF9wYXJ0eS9W
Sy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi9zcGlydl9hc3Nl
bWJseS9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgImM4YTM2MDllNmEzYjM4MTNiY2Q1YmVmNmQ1NzZj
ZGVjIiwKKyAgICAiNGM4YmUwOTRkMTRmYzE0NDk3ZWRiYzhiNDY3Y2M5MDMiLAogICAidGhpcmRf
cGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4vc3Ni
by9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjk1N2I3YzQ1ZDk0ZDY1MjYwNzgzM2FlYjAwNzEzMmM1
IiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZXh0ZXJuYWwvdnVsa2FuY3RzL21vZHVs
ZXMvdnVsa2FuL3N1Ymdyb3Vwcy9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgImJiNjIxNjIwMDM4MTAz
ZDVlOGY4OGRlMTcxNGNlZmQ3IiwKKyAgICAiZDU1MDJiYThlMTg5MjEyZWVmMmU2ZWMxNDI2ZjE3
YTYiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9k
dWxlcy92dWxrYW4vc3luY2hyb25pemF0aW9uL0NNYWtlTGlzdHMudHh0IjoKICAgICAiNjhmYWI3
NTViNmJkZDk1NzBmYTMxMWI2YzhkODA5ZmIiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3Ny
Yy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4vdGVzc2VsbGF0aW9uL0NNYWtlTGlz
dHMudHh0IjoKICAgICAiYmQzMTVjMDRiZjVhZGI5ZjYzZThjOTkxZmJkZTFlMzQiLAogICAidGhp
cmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4v
dGV4dHVyZS9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgIjc4OTVkZjRhYmI1YmU3MWI5MmQzMTM1ZTU0
MmIxNGJmIiwKKyAgICAiZTFhNmM1OTM5OTBmYmY2OGFkYTc1ZWZiYTg5NDEwZmIiLAogICAidGhp
cmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5hbC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4v
dHJhbnNmb3JtX2ZlZWRiYWNrL0NNYWtlTGlzdHMudHh0IjoKICAgICAiZTJlMzJmMzRiY2QzY2Ji
ZmNlNmM0OWE5OTdmMzQ5MzQiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRlcm5h
bC92dWxrYW5jdHMvbW9kdWxlcy92dWxrYW4vdWJvL0NNYWtlTGlzdHMudHh0IjoKQEAgLTEyMCwx
MyArMTIwLDEzIEBACiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4dGVybmFsL3Z1bGth
bmN0cy9tb2R1bGVzL3Z1bGthbi93c2kvQ01ha2VMaXN0cy50eHQiOgogICAgICIzMmE4ZDQyODM2
OTdkNTNiOTkxMzVhYjdjZGEwNjk1NyIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL2V4
dGVybmFsL3Z1bGthbmN0cy9tb2R1bGVzL3Z1bGthbi95Y2Jjci9DTWFrZUxpc3RzLnR4dCI6Ci0g
ICAgIjFjNTJiNjg0MjU5NjIyZGUzNjlhYWRiYjU2ODZhMGU0IiwKKyAgICAiNDRkYmUzNDUwODA1
NzhkNmI0YTIyN2EzOTJjY2Y2OWUiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9leHRl
cm5hbC96bGliL0NNYWtlTGlzdHMudHh0IjoKICAgICAiZGFlNDZhNzI5NjhjYWEyZGYxN2E4ZDk4
OWRjNDNlYzAiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9mcmFtZXdvcmsvQ01ha2VM
aXN0cy50eHQiOgotICAgICJiNzNiNGJjY2MyYTNkNTJjMGRiNjVkMmQwZTAxMDgyOCIsCisgICAg
ImVkZWVlMjI4NDU3OGYxYjc2MTIyYWRlZTVlNDJmMGU3IiwKICAgInRoaXJkX3BhcnR5L1ZLLUdM
LUNUUy9zcmMvZnJhbWV3b3JrL2NvbW1vbi9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgImRjMDhhMzAw
OTVkMDA1NGNjNjdkZDBmZGFiMjE4ZTVlIiwKKyAgICAiMDI4MTRjZDhiYWFlY2RmNzgzY2I0MzFm
MTM4NDRmZTQiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9mcmFtZXdvcmsvZGVsaWJz
L2RlYmFzZS9DTWFrZUxpc3RzLnR4dCI6CiAgICAgIjEzNmI4ZDIwNjhjMDkyMDY4NDU4MjUwMDg0
M2IzZjg4IiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZnJhbWV3b3JrL2RlbGlicy9k
ZWNwcC9DTWFrZUxpc3RzLnR4dCI6CkBAIC0xNTQsMTEgKzE1NCwxMyBAQAogICAidGhpcmRfcGFy
dHkvVkstR0wtQ1RTL3NyYy9mcmFtZXdvcmsvcGxhdGZvcm0vQ01ha2VMaXN0cy50eHQiOgogICAg
ICI2MTE2NTU5MDgyMmM2NjhkYTQwZGI5OWRiOGYyYjQ1YiIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1H
TC1DVFMvc3JjL2ZyYW1ld29yay9xcGhlbHBlci9DTWFrZUxpc3RzLnR4dCI6Ci0gICAgImJmZjgw
YWRjMzA1ZTllNWM1MjdiMWFkNmRiNTNlOTlmIiwKKyAgICAiY2ZlNGU0OThkYjAwODZlZWE1YzU3
MzVkMTZhOGYxZWMiLAogICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9mcmFtZXdvcmsvcmFu
ZG9tc2hhZGVycy9DTWFrZUxpc3RzLnR4dCI6CiAgICAgImQxZDU5NzgwODI5ZjAxZDQ2NzA0OTJk
MjFhOTMxZGZiIiwKICAgInRoaXJkX3BhcnR5L1ZLLUdMLUNUUy9zcmMvZnJhbWV3b3JrL3JlZmVy
ZW5jZXJlbmRlcmVyL0NNYWtlTGlzdHMudHh0IjoKICAgICAiN2FjMTdjZTg4MzI4OWE0ZDliZjNj
NjliYWQ1MjYzYjciLAorICAidGhpcmRfcGFydHkvVkstR0wtQ1RTL3NyYy9mcmFtZXdvcmsveGV4
bWwvQ01ha2VMaXN0cy50eHQiOgorICAgICI1OGM5MTg2MGFiZTNmNjUxNWFjYmY1YTVhYmNlNmYw
YyIsCiAgICJ0aGlyZF9wYXJ0eS9WSy1HTC1DVFMvc3JjL21vZHVsZXMvQ01ha2VMaXN0cy50eHQi
OgogICAgICI2MzJjZjFkNGQ2OTZiMWUxOWMwMWM2ZDExZTJkNTljNCIsCiAgICJ0aGlyZF9wYXJ0
eS9WSy1HTC1DVFMvc3JjL21vZHVsZXMvZWdsL0NNYWtlTGlzdHMudHh0IjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9H
TF9FR0xfV0dMX2xvYWRlci5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9j
b2RlX2dlbmVyYXRpb25faGFzaGVzL0dMX0VHTF9XR0xfbG9hZGVyLmpzb24KaW5kZXggMmI5MmRl
ODkzYzllZGFhOWJmNDkyYjdjNmI2YmFjOTVhZTViOGI4Ni4uZjExZWE2NzJkZjczODA0NDM4Nzg5
YWRmZTA4MjkzYzg5M2NhY2MzMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0dMX0VHTF9XR0xfbG9hZGVyLmpzb24KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVz
L0dMX0VHTF9XR0xfbG9hZGVyLmpzb24KQEAgLTIsMzEgKzIsMzEgQEAKICAgInNjcmlwdHMvZWds
LnhtbCI6CiAgICAgIjg0MmUyNDUxNGM0Y2ZlMDlmYmE3MDNjMTdhMGZkMjkyIiwKICAgInNjcmlw
dHMvZWdsX2FuZ2xlX2V4dC54bWwiOgotICAgICI2M2YxOGRjOWI3MTgzZWFkNGRkZDNkZmQxNTcx
OTczYSIsCisgICAgIjg1NGU5OTc4NWFmMTlmOGY0ZWVhNGY3MzAwNWEwNDUxIiwKICAgInNjcmlw
dHMvZ2VuZXJhdGVfbG9hZGVyLnB5IjoKLSAgICAiNzkyYzQxZDdhZTkzYTQ1MThmMGM3M2U0NTYy
NmQxOWIiLAorICAgICJjNmMwMmQ4NTlmYWJjNjE0MTA0NzBmNTAxOThhNWE4MCIsCiAgICJzY3Jp
cHRzL2dsLnhtbCI6CiAgICAgImU3NGE1OTUwNjhjYmRkNjA2NDMwMGJlMWU3MWI3Y2M5IiwKICAg
InNjcmlwdHMvZ2xfYW5nbGVfZXh0LnhtbCI6CiAgICAgIjA3OWNjNDgyOWRlN2NlNjM4ZmFmN2Ji
ZjY2ZTE0MWFkIiwKICAgInNjcmlwdHMvcmVnaXN0cnlfeG1sLnB5IjoKLSAgICAiMDZjODM3YjM5
NWM4Y2QwYzRmYzkzN2IxOTMzNjUwNDIiLAorICAgICJiMjkwMmUwMmY0OTVhOWNjODUwODJjNDdl
N2I3M2FjOSIsCiAgICJzY3JpcHRzL3dnbC54bWwiOgogICAgICJhYTk2NDE5YzU4MmFmMmY2Njcz
NDMwZTI4NDc2OTNmNCIsCiAgICJzcmMvbGliRUdML2VnbF9sb2FkZXJfYXV0b2dlbi5jcHAiOgot
ICAgICI2ZGUyNzU1NzUzMGQxZGZmMzc4MGQ4Mzc0NWMwYTBmZCIsCisgICAgImFjZjNlYTE5Yjg0
YjEyYmZkMTE5N2ZlZDAyMDQ0MGIzIiwKICAgInNyYy9saWJFR0wvZWdsX2xvYWRlcl9hdXRvZ2Vu
LmgiOgotICAgICIyZmNhMTFhMjliYjZlNWNhZGIyNWQ0ODYyMzYwZGRkOCIsCisgICAgIjVmMTUw
N2M3OGI5NzBmNjg5OGQxZTkwZGEyMGU0MjVkIiwKICAgInV0aWwvZWdsX2xvYWRlcl9hdXRvZ2Vu
LmNwcCI6Ci0gICAgIjc4MGIzMTdmYmQ2YWMwM2UzMDBhN2VlMDEyMmFiM2NmIiwKKyAgICAiYzJh
NWY2Y2I1ZTM1MzFkZTE2ODYwZmZjNGY5ZGY2ZDUiLAogICAidXRpbC9lZ2xfbG9hZGVyX2F1dG9n
ZW4uaCI6Ci0gICAgIjU1YjU0MDcxZTYxYjNlN2JlYWIyODE3OGRjMjBmZDI4IiwKKyAgICAiM2I1
ODA0Mzc0ZTE4NDIwM2NkM2Y4OWNlZTEyYTBlNTciLAogICAidXRpbC9nbGVzX2xvYWRlcl9hdXRv
Z2VuLmNwcCI6Ci0gICAgImI3M2ZhODYzMTJhNzFjNzZmNmE4NDAyNTQ4ZDIxMjA0IiwKKyAgICAi
ZTRkMzAzNGMxM2FjMTBjNzZiODU0YzI3NDkzNzk5MzkiLAogICAidXRpbC9nbGVzX2xvYWRlcl9h
dXRvZ2VuLmgiOgotICAgICJmNWRmOTRkMzU0ZGIwZDI2Mjc1YjE4MjhmNDA4MzYzMyIsCisgICAg
Ijc0ZGFlMjJiMDBiZGI0NjUzYzMyOTU2MTlmMzY3NmExIiwKICAgInV0aWwvd2luZG93cy93Z2xf
bG9hZGVyX2F1dG9nZW4uY3BwIjoKLSAgICAiYzBkOWE2NWVhYTlhYWMzNTZjNmZkM2Y4ODYzOGQy
YmUiLAorICAgICI2MGE0MGZiYTNmZmRkZDQwMDYzZmU2MTMxYmM2N2JhNSIsCiAgICJ1dGlsL3dp
bmRvd3Mvd2dsX2xvYWRlcl9hdXRvZ2VuLmgiOgotICAgICIzNjg1N2JlNWMzMDNiMTNlYmEyZWU5
MWQ3YzEyNzIwNyIKKyAgICAiNTcyNTQ5ZGU5MmU3Zjg5M2VlMWMyMTYxNzA0ZTFjZmIiCiB9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0dMX0VHTF9lbnRyeV9wb2ludHMu
anNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hh
c2hlcy9HTF9FR0xfZW50cnlfcG9pbnRzLmpzb24KaW5kZXggMzY2NGVkN2IwZDU0OTM2OWZiNDNk
OThkNTI2ZGMxNjlmZjM5ODExZi4uYzVmMDkzZThmZGIwMzFhZTk2MmUxZDQ4ZGQ1YWRjOTQ2OGE5
ZTZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dl
bmVyYXRpb25faGFzaGVzL0dMX0VHTF9lbnRyeV9wb2ludHMuanNvbgorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvR0xfRUdMX2VudHJ5
X3BvaW50cy5qc29uCkBAIC0yLDcgKzIsNyBAQAogICAic2NyaXB0cy9lZ2wueG1sIjoKICAgICAi
ODQyZTI0NTE0YzRjZmUwOWZiYTcwM2MxN2EwZmQyOTIiLAogICAic2NyaXB0cy9lZ2xfYW5nbGVf
ZXh0LnhtbCI6Ci0gICAgIjYzZjE4ZGM5YjcxODNlYWQ0ZGRkM2RmZDE1NzE5NzNhIiwKKyAgICAi
ODU0ZTk5Nzg1YWYxOWY4ZjRlZWE0ZjczMDA1YTA0NTEiLAogICAic2NyaXB0cy9lbnRyeV9wb2lu
dF9wYWNrZWRfZ2xfZW51bXMuanNvbiI6CiAgICAgIjYzZjUwOGEwODYxMWU3NTgxMGRhZWRiMjk3
ZGNhMGU5IiwKICAgInNjcmlwdHMvZ2VuZXJhdGVfZW50cnlfcG9pbnRzLnB5IjoKQEAgLTEyLDcg
KzEyLDcgQEAKICAgInNjcmlwdHMvZ2xfYW5nbGVfZXh0LnhtbCI6CiAgICAgIjA3OWNjNDgyOWRl
N2NlNjM4ZmFmN2JiZjY2ZTE0MWFkIiwKICAgInNjcmlwdHMvcmVnaXN0cnlfeG1sLnB5IjoKLSAg
ICAiMDZjODM3YjM5NWM4Y2QwYzRmYzkzN2IxOTMzNjUwNDIiLAorICAgICJiMjkwMmUwMmY0OTVh
OWNjODUwODJjNDdlN2I3M2FjOSIsCiAgICJzY3JpcHRzL3dnbC54bWwiOgogICAgICJhYTk2NDE5
YzU4MmFmMmY2NjczNDMwZTI4NDc2OTNmNCIsCiAgICJzcmMvbGliQU5HTEUvQ29udGV4dF9nbF8x
XzBfYXV0b2dlbi5oIjoKQEAgLTY0LDcgKzY0LDcgQEAKICAgInNyYy9saWJBTkdMRS9Db250ZXh0
X2dsZXNfM18yX2F1dG9nZW4uaCI6CiAgICAgImUyNmY3ZWU3YjU5YTg5YTRmNTMzNzE3MTgxNmI4
MzM2IiwKICAgInNyYy9saWJBTkdMRS9Db250ZXh0X2dsZXNfZXh0X2F1dG9nZW4uaCI6Ci0gICAg
IjU3MjAwNmZhNDQ5M2E5MDFlODc5ZjZkZjNjYjRlZWU4IiwKKyAgICAiNzBiMDg4ZjE2ZDUzOWYx
ZmU3ZjNlYzM5YTJmZDJjMzQiLAogICAic3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc18xXzBfYXV0
b2dlbi5jcHAiOgogICAgICI5NmZjMGY1MDFlMmU2OTZhYjkxMWRhZDhiNDAwZGZiMiIsCiAgICJz
cmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzXzFfMF9hdXRvZ2VuLmgiOgpAQCAtODgsNyArODgsNyBA
QAogICAic3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc19leHRfYXV0b2dlbi5jcHAiOgogICAgICI5
NmNiNTA0M2ViZmNlMzQ5Yzg5ZWNlM2FmZWM2ZDlmOCIsCiAgICJzcmMvbGliQU5HTEUvY2FwdHVy
ZV9nbGVzX2V4dF9hdXRvZ2VuLmgiOgotICAgICI1ZDljNzM2YTM3OTYxNWQwMGY5NzUxZjRmZWQ3
MWQyNCIsCisgICAgIjI5OTNmZjRjMTI3ZmIzZGNhNTJjOTZiNGE4NmQ3ZjY5IiwKICAgInNyYy9s
aWJBTkdMRS9lbnRyeV9wb2ludHNfZW51bV9hdXRvZ2VuLmNwcCI6CiAgICAgIjY2ZjA5ZDRmOWU2
ZjhlODNmMmY2ZjBjZjhmYzNmM2Q5IiwKICAgInNyYy9saWJBTkdMRS9lbnRyeV9wb2ludHNfZW51
bV9hdXRvZ2VuLmgiOgpAQCAtMTEwLDcgKzExMCw3IEBACiAgICJzcmMvbGliQU5HTEUvdmFsaWRh
dGlvbkVTM19hdXRvZ2VuLmgiOgogICAgICI4NmJhNTAzODM1MzI4NDM4MTU4ZDlhNDY0OTQzZjNi
ZCIsCiAgICJzcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTRVhUX2F1dG9nZW4uaCI6Ci0gICAgIjg2
YWY5ZjMxNWQyOGEyYWI2NjI3OGI3OTkyYWFlNDRmIiwKKyAgICAiOWE3ZjdjMTI5ZTEyYWIyNjYw
ZjFlZjVkNmRkNzNjZDUiLAogICAic3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25HTDExX2F1dG9nZW4u
aCI6CiAgICAgImFhZGQxNDVjMTQwNGRlOWMzNGQ2YjdjMDA0MDRmMTBmIiwKICAgInNyYy9saWJB
TkdMRS92YWxpZGF0aW9uR0wxMl9hdXRvZ2VuLmgiOgpAQCAtMjUwLDE1ICsyNTAsMTUgQEAKICAg
InNyYy9saWJHTEVTdjIvZW50cnlfcG9pbnRzX2dsZXNfM18yX2F1dG9nZW4uaCI6CiAgICAgIjU3
OThhYTBhNzNhZjFkNGJhNWRmZTk5YjYyMTdhMjQ3IiwKICAgInNyYy9saWJHTEVTdjIvZW50cnlf
cG9pbnRzX2dsZXNfZXh0X2F1dG9nZW4uY3BwIjoKLSAgICAiMGIxN2M0OWEwYTVkYzIxMjg1NjI4
Y2RlNzZmMmYyNjYiLAorICAgICJmMjRiOTMxMTA4MWY0MzA3YTRiMDJjZWM2Njk3NTNiOSIsCiAg
ICJzcmMvbGliR0xFU3YyL2VudHJ5X3BvaW50c19nbGVzX2V4dF9hdXRvZ2VuLmgiOgotICAgICI5
YjIzYWE3MmZlODI1Nzg2Y2Y2MzA4MDM1MWZhNGRhZiIsCisgICAgIjk3YmRmNDhlNjIwNDcxYjIx
ZTNkMjUwMjU0YWM4NDdmIiwKICAgInNyYy9saWJHTEVTdjIvbGliR0xFU3YyX2F1dG9nZW4uY3Bw
IjoKLSAgICAiMTY4OWE4OGM1YmYzNzZkYTFmMDQzM2RiMjQyZWRlN2QiLAorICAgICIwZDc5YTE2
N2YwZTg2YTdhZGNkZWJmZTI2ZWQzMzFhOSIsCiAgICJzcmMvbGliR0xFU3YyL2xpYkdMRVN2Ml9h
dXRvZ2VuLmRlZiI6Ci0gICAgIjVmMWViNzYzZTMxZjkwODBlYjJkZmIxODgzMjYwODMzIiwKKyAg
ICAiZmY3NTYyYWU5YmRmODc2M2ZlYTdiYTA5ZTVjYmIxYjQiLAogICAic3JjL2xpYkdMRVN2Mi9s
aWJHTEVTdjJfbm9fY2FwdHVyZV9hdXRvZ2VuLmRlZiI6Ci0gICAgIjI4YzhhNWVlMGQzZDY3ODE1
YzFhN2ZmN2MyZDQ5NWNhIiwKKyAgICAiYWZmZWNkMDM5YzUwNjc0ODg3ZDZjN2JkOWIwNmQ0Y2Ui
LAogICAic3JjL2xpYkdMRVN2Mi9saWJHTEVTdjJfd2l0aF9jYXB0dXJlX2F1dG9nZW4uZGVmIjoK
LSAgICAiZGQwYzdjNTRmZDVkYThhZjBkYzg1ZjJmMWUzMjEyZWQiCisgICAgIjVhOWZjZTVmMDFi
M2IyMTUwY2JjZTQ0N2YwMmU3ODczIgogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9u
X2hhc2hlcy9HTF9mb3JtYXRfbWFwLmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3Jp
cHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvR0xfZm9ybWF0X21hcC5qc29uCmluZGV4IDM0MThk
YjE4ZGRiZjVlM2YyODkwZmU1M2ZlMTk2N2QzMDBjNzE5ZTMuLjZlY2M1ZmRmNTA0M2IzOTU5Yzlm
ZWI2N2Q2NDUzNzE3Y2ViNDljNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9HTF9mb3JtYXRfbWFwLmpzb24KKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0dM
X2Zvcm1hdF9tYXAuanNvbgpAQCAtMSwxMCArMSwxMCBAQAogewogICAic3JjL2xpYkFOR0xFL2Vz
M19mb3JtYXRfdHlwZV9jb21iaW5hdGlvbnMuanNvbiI6Ci0gICAgImI0NGIyMjJjMjdlZWE2ODM5
YzBkYTMwNzZlZTU0MGZjIiwKKyAgICAiM2M0Mjg4Mzk0MTYyYjIwZjVjY2RjMjlkM2I0ZWVjYmIi
LAogICAic3JjL2xpYkFOR0xFL2Zvcm1hdF9tYXBfYXV0b2dlbi5jcHAiOgotICAgICJlMGRlZGI0
YTQ3Y2E3ZWFiMmQzM2QyMDQzMGEzMGQwNSIsCisgICAgImJhYWUyMmNlZGYxNzZiNzc2ZDBhMjMz
MWFiYjRhYmNjIiwKICAgInNyYy9saWJBTkdMRS9mb3JtYXRfbWFwX2RhdGEuanNvbiI6Ci0gICAg
IjJlZGFiNGRiMTJhMWNjMTMxZjI2ZTBlNTY4MGI3ZDBjIiwKKyAgICAiNzQyY2Y0NzUyNDE2MDc1
N2EyY2VjNDMxMTZkYzE1M2MiLAogICAic3JjL2xpYkFOR0xFL2dlbl9mb3JtYXRfbWFwLnB5IjoK
ICAgICAiMzgzMjBkODQ0ZTY2MjllMDlhZmM1Y2NkYzQ4NGU5YWEiLAogICAic3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2FuZ2xlX2Zvcm1hdC5weSI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvR0xlbnVtX3ZhbHVlX3RvX3N0
cmluZ19tYXAuanNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5l
cmF0aW9uX2hhc2hlcy9HTGVudW1fdmFsdWVfdG9fc3RyaW5nX21hcC5qc29uCmluZGV4IGU2NDQ5
MDllM2YzZTQyZWNlN2ExOTNjMmU2NzIzYjFhYjlkZmVhOTAuLjNhNGNkMzE1ZDNhZDM0ZjMzNDY5
MWU0MTgxOGI3MDZlNmZiOTE5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9HTGVudW1fdmFsdWVfdG9fc3RyaW5nX21h
cC5qc29uCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0
aW9uX2hhc2hlcy9HTGVudW1fdmFsdWVfdG9fc3RyaW5nX21hcC5qc29uCkBAIC0xLDE0ICsxLDE0
IEBACiB7CiAgICJzY3JpcHRzL2dlbl9nbF9lbnVtX3V0aWxzLnB5IjoKLSAgICAiZjI1Y2RjNzRi
NTdkMTBhMWNiYzQxOTRhNzJlOTcxYWYiLAorICAgICJhZjllYzA5YWM4OWE3M2M5ZmUwZGQ1MTBh
MWRiNGIzOCIsCiAgICJzY3JpcHRzL2dsLnhtbCI6CiAgICAgImU3NGE1OTUwNjhjYmRkNjA2NDMw
MGJlMWU3MWI3Y2M5IiwKICAgInNjcmlwdHMvZ2xfYW5nbGVfZXh0LnhtbCI6CiAgICAgIjA3OWNj
NDgyOWRlN2NlNjM4ZmFmN2JiZjY2ZTE0MWFkIiwKICAgInNjcmlwdHMvcmVnaXN0cnlfeG1sLnB5
IjoKLSAgICAiMDZjODM3YjM5NWM4Y2QwYzRmYzkzN2IxOTMzNjUwNDIiLAorICAgICJiMjkwMmUw
MmY0OTVhOWNjODUwODJjNDdlN2I3M2FjOSIsCiAgICJzcmMvbGliQU5HTEUvZ2xfZW51bV91dGls
c19hdXRvZ2VuLmNwcCI6Ci0gICAgImNmYzUyZjQxMzI3MmMwNjFlZTRhMDM3ODc2NzkyNzI2IiwK
KyAgICAiNDg2MjdjMDg2NWQxNWJmNDAxNDMyN2RlNTg1OGQzYzUiLAogICAic3JjL2xpYkFOR0xF
L2dsX2VudW1fdXRpbHNfYXV0b2dlbi5oIjoKICAgICAiZGQ1NGYzNGJlNzMzYWZmY2I5OTRmYzMx
NWMzYjk3MmQiCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL1N0YXRp
Y19idWlsdGlucy5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dl
bmVyYXRpb25faGFzaGVzL1N0YXRpY19idWlsdGlucy5qc29uCmluZGV4IDUwNTBmMDA5Zjk2ZjA0
MmI3OWI1YTdhN2ZlMjVlM2M5NzA5MTM5ZTUuLjQ0ZDEwM2ZkZDJiN2VlNjE1Mjg2ZTcwZjQ0NTM3
MzIzMzcxM2MyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMv
Y29kZV9nZW5lcmF0aW9uX2hhc2hlcy9TdGF0aWNfYnVpbHRpbnMuanNvbgorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvU3RhdGljX2J1
aWx0aW5zLmpzb24KQEAgLTEsMzAgKzEsMzAgQEAKIHsKICAgInNyYy9jb21waWxlci90cmFuc2xh
dG9yL0ltbXV0YWJsZVN0cmluZ19FU1NMX2F1dG9nZW4uY3BwIjoKLSAgICAiNWViNTUyZWU0Zjg5
YjlkYmM5Njg5MWFmZGMyN2Y1MjQiLAorICAgICIwMDI1NzA1ZGMxOGI2OWM3MDJiNjQ2NDQ4MDZh
Nzk5YyIsCiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbW11dGFibGVTdHJpbmdfYXV0b2dl
bi5jcHAiOgotICAgICJmMTUzMGJjMDVmNmIzMTE3ODYxYjY2ZTE4NTEwZjkzMSIsCisgICAgIjBh
ZjBlYzEyZDU0ZWNjMDMyYjc0YjU4ZGQzNTI2MTI5IiwKICAgInNyYy9jb21waWxlci90cmFuc2xh
dG9yL1BhcnNlQ29udGV4dF9FU1NMX2F1dG9nZW4uaCI6Ci0gICAgImQ5N2ZjOTgzNWU4YWQ0ZDVl
ZDAzOTFhODYzYzZiMGNhIiwKKyAgICAiYzc1M2Q5NDY4MDdjY2ExMGRmN2Y1MGNhMmRiOGE0N2Ei
LAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvUGFyc2VDb250ZXh0X2NvbXBsZXRlX2F1dG9n
ZW4uaCI6CiAgICAgImRjODhhNDNjODc3YTk5NTVjOTA5ZTczYzRkYTM0MTc2IiwKICAgInNyYy9j
b21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxlX0VTU0xfYXV0b2dlbi5jcHAiOgotICAgICI2
ZTAyNTEzODQwNjBhZmNiMTJkNzZkZTQyOTNlMTMwOSIsCisgICAgIjk4ZTFjOTY5ODUwOTZjMWJi
ZTA2MjU5ODNmNjdhMjNlIiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxl
X2F1dG9nZW4uY3BwIjoKLSAgICAiYzExZDQ2NTA3YzFmMzJiYmJmNzkzMGFiNzJmNGFkNDYiLAor
ICAgICI3M2FjNmU1ZGYxNzUyMWQ4Y2Q2NzM0NDUwYTk3ODhhMCIsCiAgICJzcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9TeW1ib2xUYWJsZV9hdXRvZ2VuLmgiOgotICAgICJjNGY2Yjc1Mzc0YzIyODUx
ZGYyY2ZmNDBjNWM3Yzg3NyIsCisgICAgIjJkOGJlZDZmZjVkZWJjNjU0NjE5OWEyYWRkMzE2YTY2
IiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL2J1aWx0aW5fZnVuY3Rpb25fZGVjbGFyYXRp
b25zLnR4dCI6CiAgICAgImU0YTBhZGQwNDllYmJhYThkYzViNmM2MzA4MTZiN2Y4IiwKICAgInNy
Yy9jb21waWxlci90cmFuc2xhdG9yL2J1aWx0aW5fdmFyaWFibGVzLmpzb24iOgotICAgICIxYjcx
MDc1ZmYyNjQ0ZmQzMmIxMmJiNTNkY2U1MDA2MiIsCisgICAgIjk4ZDM0N2E2ZWQxODFlY2EzZDg5
YmZkNzMxOTNkNzg3IiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL2dlbl9idWlsdGluX3N5
bWJvbHMucHkiOgogICAgICJlZjZmZGUyMDljYTg2ZmZiMTc1MmZjM2E1YjlkNzJkNyIsCiAgICJz
cmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvQnVpbHRJbl9FU1NMX2F1dG9nZW4uaCI6
Ci0gICAgIjE4YzQ4MzU2MGJkODA0YmY0ZjU1NDE4YTViZDRmOTQ2IiwKKyAgICAiYWE1ZDgwNTlh
NDJhZGIyZmI4MzNjODRlODY3MjZiOTUiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJl
ZV91dGlsL0J1aWx0SW5fY29tcGxldGVfYXV0b2dlbi5oIjoKLSAgICAiNTI2YWY3YjkyZmU2YTEw
NTZjN2FhY2Q4MTBkMmU4YTkiLAorICAgICJjZjgzMTJjODU0YjA2ZDlmZTRlZGUwZGFhNjdiNTA2
MCIsCiAgICJzcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvSW1tdXRhYmxlU3RyaW5nX3Rlc3RfRVNT
TF9hdXRvZ2VuLmNwcCI6Ci0gICAgIjhiZDZkM2Q0Y2FkOGM0Zjc4OGMwMDZmOTczYThkZTA5IiwK
KyAgICAiZjNhN2U0OGI0M2IwOGMxNzY4MmEzYmI1NTAyZmMwMTYiLAogICAic3JjL3Rlc3RzL2Nv
bXBpbGVyX3Rlc3RzL0ltbXV0YWJsZVN0cmluZ190ZXN0X2F1dG9nZW4uY3BwIjoKLSAgICAiMTc3
ZWIyNmU4ZGRkYTY3YWVmMDA4YTFiM2QxZTBjZjkiCisgICAgIjY3MzExMGU3NTRhZDhlYTY5Mzlh
NzM2Yjg4YTc4MWJjIgogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9W
dWxrYW5fZm9ybWF0Lmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVf
Z2VuZXJhdGlvbl9oYXNoZXMvVnVsa2FuX2Zvcm1hdC5qc29uCmluZGV4IDg3OGNjYzU0Y2JiNWNi
ZWQ5MzcwNGM5ODczMGE2NDdlZGYxMzk2M2QuLjkwZGMwNmUyODg5N2MzMGE5MzNjNmRhZDc0OWEz
ZjZlYzMwOWRmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMv
Y29kZV9nZW5lcmF0aW9uX2hhc2hlcy9WdWxrYW5fZm9ybWF0Lmpzb24KKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL1Z1bGthbl9mb3Jt
YXQuanNvbgpAQCAtMiwxMSArMiwxMSBAQAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2FuZ2xl
X2Zvcm1hdC5weSI6CiAgICAgIjMyYmE3MTk0MmMwZmQwMGU2ODA3MTA0ZjFiYjgwYTNjIiwKICAg
InNyYy9saWJBTkdMRS9yZW5kZXJlci9hbmdsZV9mb3JtYXRfbWFwLmpzb24iOgotICAgICJmYWQ1
ODExNzY1N2I2YmRlOTQ4OGExMGQzNTg3MmQ0NSIsCisgICAgImM3OWQ4MzNhZWE3MDA3YzdkMGQ1
MWNkYWE5YjI2NWE2IiwKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vZ2VuX3ZrX2Zv
cm1hdF90YWJsZS5weSI6CiAgICAgImQ4YTBmMjI3OGMwOWE0OTA0OWE3MzkzMGI5ZGEzNzE5IiwK
ICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X21hcC5qc29uIjoKLSAg
ICAiODkzOTUwZjYzMGM5NWM2NTNlYzkwNzkwMTkzOWFmZDgiLAorICAgICI3MzhjOGRjMzZmYmUy
MTI2Njk5NDRlODhhZTkxOGY5YyIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3Zr
X2Zvcm1hdF90YWJsZV9hdXRvZ2VuLmNwcCI6Ci0gICAgIjQ1NTcyNTljYWRiNDVjOWRiMzMwMTAz
OWNkYTNhN2JjIgorICAgICIzODM3NDljNzg2ZTk1N2JkYmJiY2U5ZDhiNWMyNDQxYSIKIH0KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvVnVsa2FuX21hbmRhdG9yeV9mb3Jt
YXRfc3VwcG9ydF90YWJsZS5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9j
b2RlX2dlbmVyYXRpb25faGFzaGVzL1Z1bGthbl9tYW5kYXRvcnlfZm9ybWF0X3N1cHBvcnRfdGFi
bGUuanNvbgppbmRleCBkMzM1Mjc0ZDMzYjJmZjU3NWU2NTlmNWU4MTE0Y2VjNDQ5MTZkNTEzLi4z
NmYwNGMzZTAyZDYxNDQyNWE4OTVmNjk3ZTYyODliMWY5NWMzNDk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvVnVsa2Fu
X21hbmRhdG9yeV9mb3JtYXRfc3VwcG9ydF90YWJsZS5qc29uCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9WdWxrYW5fbWFuZGF0b3J5
X2Zvcm1hdF9zdXBwb3J0X3RhYmxlLmpzb24KQEAgLTgsNSArOCw1IEBACiAgICJzcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL3ZrX21hbmRhdG9yeV9mb3JtYXRfc3VwcG9ydF90YWJsZV9hdXRv
Z2VuLmNwcCI6CiAgICAgIjhiZmQ4YTM4NTdjMmI5MDYyZDdhZGE0NmM3ZDI3YmNmIiwKICAgInRo
aXJkX3BhcnR5L3Z1bGthbi1oZWFkZXJzL3NyYy9yZWdpc3RyeS92ay54bWwiOgotICAgICI0MDlm
ZWFjOTc5OTIyYmU0YWRiNWU4ZDNlYzE2YWRiNyIKKyAgICAiZjQ4ZjBiZWU0MTAxN2ZiMjFjNGY2
OWYyOWQxYTJiN2EiCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL3By
b2NfdGFibGUuanNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5l
cmF0aW9uX2hhc2hlcy9wcm9jX3RhYmxlLmpzb24KaW5kZXggOGRkNjVhOWEyYTgxY2M2Zjg5YzMw
ZjM4OGExMzExNDJhZDc0OWEzYi4uZTQ4YjJhZGJhMTMzZTdlYjAyYWIyZTcwODg2ZGIzZTY0MDk5
ZjY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dl
bmVyYXRpb25faGFzaGVzL3Byb2NfdGFibGUuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvcHJvY190YWJsZS5qc29uCkBAIC0y
LDcgKzIsNyBAQAogICAic2NyaXB0cy9lZ2wueG1sIjoKICAgICAiODQyZTI0NTE0YzRjZmUwOWZi
YTcwM2MxN2EwZmQyOTIiLAogICAic2NyaXB0cy9lZ2xfYW5nbGVfZXh0LnhtbCI6Ci0gICAgIjYz
ZjE4ZGM5YjcxODNlYWQ0ZGRkM2RmZDE1NzE5NzNhIiwKKyAgICAiODU0ZTk5Nzg1YWYxOWY4ZjRl
ZWE0ZjczMDA1YTA0NTEiLAogICAic2NyaXB0cy9nZW5fcHJvY190YWJsZS5weSI6CiAgICAgIjI0
ZGJjYzc4ZmQzZjAwMGY1OGNhOTgyMzdjY2MwZGE0IiwKICAgInNjcmlwdHMvZ2wueG1sIjoKQEAg
LTEwLDExICsxMCwxMSBAQAogICAic2NyaXB0cy9nbF9hbmdsZV9leHQueG1sIjoKICAgICAiMDc5
Y2M0ODI5ZGU3Y2U2MzhmYWY3YmJmNjZlMTQxYWQiLAogICAic2NyaXB0cy9yZWdpc3RyeV94bWwu
cHkiOgotICAgICIwNmM4MzdiMzk1YzhjZDBjNGZjOTM3YjE5MzM2NTA0MiIsCisgICAgImIyOTAy
ZTAyZjQ5NWE5Y2M4NTA4MmM0N2U3YjczYWM5IiwKICAgInNjcmlwdHMvd2dsLnhtbCI6CiAgICAg
ImFhOTY0MTljNTgyYWYyZjY2NzM0MzBlMjg0NzY5M2Y0IiwKICAgInNyYy9saWJHTC9wcm9jX3Rh
YmxlX3dnbF9hdXRvZ2VuLmNwcCI6CiAgICAgIjAzYzA1ZjIwYzU3YzFkZTgyMmIwZGRhZjZkNGY5
NjA3IiwKICAgInNyYy9saWJHTEVTdjIvcHJvY190YWJsZV9lZ2xfYXV0b2dlbi5jcHAiOgotICAg
ICJhNTFjODU5YzcyMWRjZDFiNTNhMDFhNjA1MjBmYWQ1NiIKKyAgICAiMDE1NGQyNzM0ZTZkODk1
MjBkMzY5Nzg5MGRmMjE2NGUiCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFz
aGVzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3Jp
cHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvcmVzdHJpY3RlZF90cmFjZXMuanNvbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zOGE2ZjQzODRlYWY1OGNhZDA2ZGQ1MWJiNmRiNmY1YjIyMTMwZGI0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25f
aGFzaGVzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24KQEAgLTAsMCArMSwxOCBAQAoreworICAic3Jj
L3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvZWd5cHRfMTUwMC50YXIuZ3ouc2hh
MSI6CisgICAgImJkMzkzNWQwMjM3NDY2ZTZjODBiNDUwOTAwYmJhNjdkIiwKKyAgInNyYy90ZXN0
cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL2dlbl9yZXN0cmljdGVkX3RyYWNlcy5weSI6
CisgICAgImY2MWNjZDJjOGNlOTg2NzQ1Mjc5MDlkNTY3MDgzOTYzIiwKKyAgInNyYy90ZXN0cy9w
ZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL21hbmhhdHRhbl8xMC50YXIuZ3ouc2hhMSI6Cisg
ICAgImI0ZDMzM2NkNWNmMzk3N2MzMzkzNTBiZTBhODE5OTI4IiwKKyAgInNyYy90ZXN0cy9wZXJm
X3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24iOgorICAgICJl
ZDUwNjkwZDhmZDcxM2FkNmVkNzkwOGFmM2U3MGI3ZSIsCisgICJzcmMvdGVzdHMvcGVyZl90ZXN0
cy9yZXN0cmljdGVkX3RyYWNlcy9yZXN0cmljdGVkX3RyYWNlc19hdXRvZ2VuLmduaSI6CisgICAg
IjJlNWQwZWQ1YWZjYTA0YTdhMzhlYjViZWM0MjU5MDA4IiwKKyAgInNyYy90ZXN0cy9wZXJmX3Rl
c3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRfdHJhY2VzX2F1dG9nZW4uaCI6CisgICAg
IjJiODMxOTU2NDYzZTJjMzBkNjExNmMxN2I4OTc0M2ZhIiwKKyAgInNyYy90ZXN0cy9wZXJmX3Rl
c3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3RlbXBsZV9ydW5fMzAwLnRhci5nei5zaGExIjoKKyAgICAi
OTM0OTgzODc2YWM1ZjNkOWJjOWI0MzY5OGJiOTRiOWQiLAorICAic3JjL3Rlc3RzL3BlcmZfdGVz
dHMvcmVzdHJpY3RlZF90cmFjZXMvdHJleF8yMDAudGFyLmd6LnNoYTEiOgorICAgICI2MDVjZjcx
ODQ2ZGEyMzA5YTAwMmJhYTc4YWJmMjhlMSIKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2VnbF9hbmdsZV9l
eHQueG1sIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9lZ2xfYW5nbGVfZXh0Lnht
bAppbmRleCBkZjA4OWRiOTlkMWZjZjZmZDM5NjhjNGRhMjE0M2NkZjU4NWE4YWU0Li43MjA2NTcz
YjIyMTBiYmNiMWFhMzM4ZjQzODhiYjIwYjE3ZmY0MzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2VnbF9hbmdsZV9leHQueG1sCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NjcmlwdHMvZWdsX2FuZ2xlX2V4dC54bWwKQEAgLTM0LDcgKzM0LDcgQEAK
ICAgICAgICAgICAgIDxwYXJhbT5jb25zdCA8cHR5cGU+RUdMQXR0cmliPC9wdHlwZT4gKjxuYW1l
PmF0dHJpYl9saXN0PC9uYW1lPjwvcGFyYW0+CiAgICAgICAgIDwvY29tbWFuZD4KICAgICAgICAg
PGNvbW1hbmQ+Ci0gICAgICAgICAgICA8cHJvdG8+PHB0eXBlPkVHTEJvb2xlYW48L3B0eXBlPiA8
bmFtZT5lZ2xHZXRNc2NSYXRlQ0hST01JVU08L25hbWU+PC9wcm90bz4KKyAgICAgICAgICAgIDxw
cm90bz48cHR5cGU+RUdMQm9vbGVhbjwvcHR5cGU+IDxuYW1lPmVnbEdldE1zY1JhdGVBTkdMRTwv
bmFtZT48L3Byb3RvPgogICAgICAgICAgICAgPHBhcmFtPjxwdHlwZT5FR0xEaXNwbGF5PC9wdHlw
ZT4gPG5hbWU+ZHB5PC9uYW1lPjwvcGFyYW0+CiAgICAgICAgICAgICA8cGFyYW0+PHB0eXBlPkVH
TFN1cmZhY2U8L3B0eXBlPiA8bmFtZT5zdXJmYWNlPC9uYW1lPjwvcGFyYW0+CiAgICAgICAgICAg
ICA8cGFyYW0+PHB0eXBlPkVHTGludDwvcHR5cGU+ICo8bmFtZT5udW1lcmF0b3I8L25hbWU+PC9w
YXJhbT4KQEAgLTExOCw3ICsxMTgsMTEgQEAKICAgICAgICAgPGV4dGVuc2lvbiBuYW1lPSJFR0xf
Q0hST01JVU1fc3luY19jb250cm9sIiBzdXBwb3J0ZWQ9ImVnbCI+CiAgICAgICAgICAgICA8cmVx
dWlyZT4KICAgICAgICAgICAgICAgICA8Y29tbWFuZCBuYW1lPSJlZ2xHZXRTeW5jVmFsdWVzQ0hS
T01JVU0iLz4KLSAgICAgICAgICAgICAgICA8Y29tbWFuZCBuYW1lPSJlZ2xHZXRNc2NSYXRlQ0hS
T01JVU0iLz4KKyAgICAgICAgICAgIDwvcmVxdWlyZT4KKyAgICAgICAgPC9leHRlbnNpb24+Cisg
ICAgICAgIDxleHRlbnNpb24gbmFtZT0iRUdMX0FOR0xFX3N5bmNfY29udHJvbF9yYXRlIiBzdXBw
b3J0ZWQ9ImVnbCI+CisgICAgICAgICAgICA8cmVxdWlyZT4KKyAgICAgICAgICAgICAgICA8Y29t
bWFuZCBuYW1lPSJlZ2xHZXRNc2NSYXRlQU5HTEUiLz4KICAgICAgICAgICAgIDwvcmVxdWlyZT4K
ICAgICAgICAgPC9leHRlbnNpb24+CiAgICAgICAgIDxleHRlbnNpb24gbmFtZT0iRUdMX0FOR0xF
X3Byb2dyYW1fY2FjaGVfY29udHJvbCIgc3VwcG9ydGVkPSJlZ2wiPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9leHBvcnRfdGFyZ2V0cy5weSBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZXhwb3J0X3RhcmdldHMucHkKaW5kZXggYmJlZDkzNDI2
NmEyM2Y3MzY2M2E5YmM5NGMwOWZkODI0ZDYwODhjYS4uNGZmOWFhZTQ4OGVjZTAyMWZkNjQ2Nzk2
NmU2MTA3MWFjZDQ1NjgzZCAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2Ny
aXB0cy9leHBvcnRfdGFyZ2V0cy5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3Jp
cHRzL2V4cG9ydF90YXJnZXRzLnB5CkBAIC0xOTgsNiArMTk4LDcgQEAgSUdOT1JFRF9JTkNMVURF
UyA9IHsKICAgICBiJ2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9tYWMvRGlzcGxheVZrTWFjLmgn
LAogICAgIGInbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3dpbjMyL0Rpc3BsYXlWa1dpbjMyLmgn
LAogICAgIGInbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3hjYi9EaXNwbGF5VmtYY2IuaCcsCisg
ICAgYid0aGlyZF9wYXJ0eS92b2xrL3ZvbGsuaCcsCiAgICAgYidrZXJuZWwvaW1hZ2UuaCcsCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuX2dsX2Vu
dW1fdXRpbHMucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2dlbl9nbF9lbnVt
X3V0aWxzLnB5CmluZGV4IGM0MzE3ZjY2NmUzZTkwYjAyMDFhZjQ5YTJlNDk3MzAwNGRmZDQ2MjIu
LjBkNjE0ZjU3NzA0OGRlZWFjNTFjZWY4NGVhMTg3NWFlOWUyOTNmNmYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuX2dsX2VudW1fdXRpbHMucHkKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9nZW5fZ2xfZW51bV91dGlscy5weQpAQCAt
NzMsNiArNzMsMTEgQEAgc3RkOjpzdHJpbmcgR0xiaXRmaWVsZFRvU3RyaW5nKEdMZW51bUdyb3Vw
IGVudW1Hcm91cCwgdW5zaWduZWQgaW50IHZhbHVlKQoge3sKICAgICBzdGQ6OnN0cmluZ3N0cmVh
bSBzdDsKIAorICAgIGlmICh2YWx1ZSA9PSAwKQorICAgIHt7CisgICAgICAgIHJldHVybiAiMCI7
CisgICAgfX0KKwogICAgIGNvbnN0IGFuZ2xlOjpCaXRTZXQ8MzI+IGJpdFNldCh2YWx1ZSk7CiAg
ICAgYm9vbCBmaXJzdCA9IHRydWU7CiAgICAgZm9yIChjb25zdCBhdXRvIGluZGV4IDogYml0U2V0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9nZW5lcmF0ZV9h
bmRyb2lkX2JwLnB5IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9nZW5lcmF0ZV9h
bmRyb2lkX2JwLnB5CmluZGV4IGZkYzk1M2RmNDE1YTZiYzIwMWM2YmJmNTgzNmNlOTFhMzI2ZTQ5
YzkuLjFhNTIxODgxYzZjNWI1Njg3MDMwNmEwOTcyZmVlMDRkZGUyOTdhMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuZXJhdGVfYW5kcm9pZF9icC5weQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2dlbmVyYXRlX2FuZHJvaWRfYnAu
cHkKQEAgLTgyLDEzICs4MiwzMCBAQCBkZWYgZ25fdGFyZ2V0X3RvX2JsdWVwcmludF90YXJnZXQo
dGFyZ2V0LCB0YXJnZXRfaW5mbyk6CiAgICAgaWYgJ291dHB1dF9uYW1lJyBpbiB0YXJnZXRfaW5m
bzoKICAgICAgICAgcmV0dXJuIHRhcmdldF9pbmZvWydvdXRwdXRfbmFtZSddCiAKLSAgICAjIFBy
ZWZpeCBhbGwgdGFyZ2V0cyB3aXRoIGFuZ2xlXwotICAgICMgUmVtb3ZlIHRoZSBwcmVmaXggLy86
IGZyb20gZ24gdGFyZ2V0IG5hbWVzCi0gICAgY2xlYW5lZF9wYXRoID0gcmUuc3ViKHInXi8vLio6
JywgJycsIHRhcmdldCkKLSAgICBwcmVmaXggPSAiYW5nbGVfIgotICAgIGlmIG5vdCBjbGVhbmVk
X3BhdGguc3RhcnRzd2l0aChwcmVmaXgpOgotICAgICAgICBjbGVhbmVkX3BhdGggPSBwcmVmaXgg
KyBjbGVhbmVkX3BhdGgKLSAgICByZXR1cm4gY2xlYW5lZF9wYXRoCisgICAgIyBTcGxpdCB0aGUg
Z24gdGFyZ2V0IG5hbWUgKGluIHRoZSBmb3JtIG9mIC8vZ25fZmlsZV9wYXRoOnRhcmdldF9uYW1l
KSBpbnRvIGduX2ZpbGVfcGF0aCBhbmQKKyAgICAjIHRhcmdldF9uYW1lCisgICAgdGFyZ2V0X3Jl
Z2V4ID0gcmUuY29tcGlsZShyIl4vLyhbYS16QS1aMC05XC1fL10qKTooW2EtekEtWjAtOVwtX1wu
XSspJCIpCisgICAgbWF0Y2ggPSByZS5tYXRjaCh0YXJnZXRfcmVnZXgsIHRhcmdldCkKKyAgICBh
c3NlcnQgbWF0Y2ggIT0gTm9uZQorCisgICAgZ25fZmlsZV9wYXRoID0gbWF0Y2guZ3JvdXAoMSkK
KyAgICB0YXJnZXRfbmFtZSA9IG1hdGNoLmdyb3VwKDIpCisgICAgYXNzZXJ0IGxlbih0YXJnZXRf
bmFtZSkgPiAwCisKKyAgICAjIENsZWFuIHVwIHRoZSBnbiBmaWxlIHBhdGggdG8gYmUgYSB2YWxp
ZCBibHVlcHJpbnQgdGFyZ2V0IG5hbWUuCisgICAgZ25fZmlsZV9wYXRoID0gZ25fZmlsZV9wYXRo
LnJlcGxhY2UoIi8iLCAiXyIpLnJlcGxhY2UoIi4iLCAiXyIpLnJlcGxhY2UoIi0iLCAiXyIpCisK
KyAgICAjIEdlbmVyYXRlIGEgYmx1ZXByaW50IHRhcmdldCBuYW1lIGJ5IG1lcmdpbmcgdGhlIGdu
IHBhdGggYW5kIHRhcmdldCBzbyBlYWNoIHRhcmdldCBpcyB1bmlxdWUuCisgICAgIyBQcmVwZW5k
IHRoZSAnYW5nbGUnIHByZWZpeCB0byBhbGwgdGFyZ2V0cyBpbiB0aGUgcm9vdCBwYXRoIChlbXB0
eSBnbl9maWxlX3BhdGgpLiBTa2lwIHRoaXMgc3RlcCBpZiB0aGUgdGFyZ2V0IG5hbWUgYWxyZWFk
eSBzdGFydHMgd2l0aCAnYW5nbGUnIHRvIGF2b2lkIHRhcmdldCBuYW1lcyBzdWNoIGFzICdhbmds
ZV9hbmdsZV9jb21tb24nLgorICAgIHJvb3RfcHJlZml4ID0gImFuZ2xlIgorICAgIGlmIGxlbihn
bl9maWxlX3BhdGgpID09IDAgYW5kIG5vdCB0YXJnZXRfbmFtZS5zdGFydHN3aXRoKHJvb3RfcHJl
Zml4KToKKyAgICAgICAgZ25fZmlsZV9wYXRoID0gcm9vdF9wcmVmaXgKKworICAgICMgQXZvaWQg
bmFtZXMgc3VjaCBhcyBfYW5nbGVfY29tbW9uIGlmIHRoZSBnbl9maWxlX3BhdGggaXMgZW1wdHku
CisgICAgaWYgbGVuKGduX2ZpbGVfcGF0aCkgPiAwOgorICAgICAgICBnbl9maWxlX3BhdGggKz0g
Il8iCisKKyAgICByZXR1cm4gZ25fZmlsZV9wYXRoICsgdGFyZ2V0X25hbWUKIAogCiBkZWYgcmVt
YXBfZ25fcGF0aChwYXRoKToKQEAgLTM2NSw2ICszODIsOCBAQCBkZWYgYWN0aW9uX3RhcmdldF90
b19ibHVlcHJpbnQodGFyZ2V0LCBidWlsZF9pbmZvKToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfaW5mb1snYXJncydd
KQogICAgIGJwWydjbWQnXSA9ICcgJy5qb2luKGNtZCkKIAorICAgIGJwWydzZGtfdmVyc2lvbidd
ID0gc2RrX3ZlcnNpb24KKwogICAgIHJldHVybiAoYmx1ZXByaW50X3R5cGUsIGJwKQogCiAKQEAg
LTQ0NSw2ICs0NjQsNyBAQCBkZWYgbWFpbigpOgogICAgICAgICAgICAgICAgICctLWV4dHJhLXBh
Y2thZ2VzIGNvbS5hbmRyb2lkLmFuZ2xlLmNvbW1vbicsCiAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgJ3NyY3MnOiBbJzpBTkdMRV9zcmNzJ10sCisgICAgICAgICAgICAncGx1Z2lucyc6IFsn
amF2YV9hcGlfZmluZGVyJyxdLAogICAgICAgICAgICAgJ3ByaXZpbGVnZWQnOgogICAgICAgICAg
ICAgICAgIFRydWUsCiAgICAgICAgICAgICAnb3duZXInOgpAQCAtNDg4LDcgKzUwOCw3IEBAIGRl
ZiBtYWluKCk6CiAgICAgZm9yIChibHVlcHJpbnRfdHlwZSwgYmx1ZXByaW50X2RhdGEpIGluIGJs
dWVwcmludF90YXJnZXRzOgogICAgICAgICB3cml0ZV9ibHVlcHJpbnQob3V0cHV0LCBibHVlcHJp
bnRfdHlwZSwgYmx1ZXByaW50X2RhdGEpCiAKLSAgICBwcmludCAnXG4nLmpvaW4ob3V0cHV0KQor
ICAgIHByaW50KCdcbicuam9pbihvdXRwdXQpKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5f
Xyc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2dlbmVyYXRl
X2xvYWRlci5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuZXJhdGVfbG9h
ZGVyLnB5CmluZGV4IDhjMTY3NGU2Y2Y0MTNjNmI0ZTlhZDdlYmU0OWI5OWQzODhkOWY0YmIuLjQw
YzEwZmYzZjIyNmQwYmIwYmQwZTM4YWU3ZWJhZDcyYWZmZTM0MGEgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuZXJhdGVfbG9hZGVyLnB5CisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuZXJhdGVfbG9hZGVyLnB5CkBAIC0xMyw2ICsx
Myw5IEBAIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGUKIGltcG9ydCByZWdpc3RyeV94bWwKIAog
CitpbnRlcm5hbF9wcmVmaXggPSAibF8iCisKKwogZGVmIHdyaXRlX2hlYWRlcihkYXRhX3NvdXJj
ZV9uYW1lLAogICAgICAgICAgICAgICAgICBhbGxfY21kcywKICAgICAgICAgICAgICAgICAgYXBp
LApAQCAtMzEsMTMgKzM0LDE5IEBAIGRlZiB3cml0ZV9oZWFkZXIoZGF0YV9zb3VyY2VfbmFtZSwK
ICAgICAgICAgcmV0dXJuIHByZWZpeCArIGNtZFtsZW4oYXBpKTpdCiAKICAgICB3aXRoIG9wZW4o
aGVhZGVyX3BhdGgsICJ3IikgYXMgb3V0OgorICAgICAgICBkZWZpbmVzID0gWworICAgICAgICAg
ICAgIiNkZWZpbmUgJXMlcyAlcyVzJXMiICUgKG5zLCBwcmUoY21kKSwgaW50ZXJuYWxfcHJlZml4
LCBucywgcHJlKGNtZCkpCisgICAgICAgICAgICBmb3IgY21kIGluIGFsbF9jbWRzCisgICAgICAg
IF0KICAgICAgICAgdmFyX3Byb3RvcyA9IFsKLSAgICAgICAgICAgICIlc2V4dGVybiBQRk4lc1BS
T0MgJXMlczsiICUgKGV4cG9ydCwgY21kLnVwcGVyKCksIG5zLCBwcmUoY21kKSkgZm9yIGNtZCBp
biBhbGxfY21kcworICAgICAgICAgICAgIiVzZXh0ZXJuIFBGTiVzUFJPQyAlcyVzJXM7IiAlIChl
eHBvcnQsIGNtZC51cHBlcigpLCBpbnRlcm5hbF9wcmVmaXgsIG5zLCBwcmUoY21kKSkKKyAgICAg
ICAgICAgIGZvciBjbWQgaW4gYWxsX2NtZHMKICAgICAgICAgXQogICAgICAgICBsb2FkZXJfaGVh
ZGVyID0gdGVtcGxhdGVfbG9hZGVyX2guZm9ybWF0KAogICAgICAgICAgICAgc2NyaXB0X25hbWU9
b3MucGF0aC5iYXNlbmFtZShzeXMuYXJndlswXSksCiAgICAgICAgICAgICBkYXRhX3NvdXJjZV9u
YW1lPWRhdGFfc291cmNlX25hbWUsCiAgICAgICAgICAgICB5ZWFyPWRhdGUudG9kYXkoKS55ZWFy
LAorICAgICAgICAgICAgZGVmaW5lcz0iXG4iLmpvaW4oZGVmaW5lcyksCiAgICAgICAgICAgICBm
dW5jdGlvbl9wb2ludGVycz0iXG4iLmpvaW4odmFyX3Byb3RvcyksCiAgICAgICAgICAgICBhcGlf
dXBwZXI9YXBpLnVwcGVyKCksCiAgICAgICAgICAgICBhcGlfbG93ZXI9YXBpLApAQCAtNjAsMTAg
KzY5LDE1IEBAIGRlZiB3cml0ZV9zb3VyY2UoZGF0YV9zb3VyY2VfbmFtZSwgYWxsX2NtZHMsIGFw
aSwgcGF0aCwgbnM9IiIsIHByZWZpeD1Ob25lLCBleHBvCiAgICAgICAgIHJldHVybiBwcmVmaXgg
KyBjbWRbbGVuKGFwaSk6XQogCiAgICAgd2l0aCBvcGVuKHNvdXJjZV9wYXRoLCAidyIpIGFzIG91
dDoKLSAgICAgICAgdmFyX2RlZnMgPSBbIiVzUEZOJXNQUk9DICVzJXM7IiAlIChleHBvcnQsIGNt
ZC51cHBlcigpLCBucywgcHJlKGNtZCkpIGZvciBjbWQgaW4gYWxsX2NtZHNdCisgICAgICAgIHZh
cl9kZWZzID0gWworICAgICAgICAgICAgIiVzUEZOJXNQUk9DICVzJXMlczsiICUgKGV4cG9ydCwg
Y21kLnVwcGVyKCksIGludGVybmFsX3ByZWZpeCwgbnMsIHByZShjbWQpKQorICAgICAgICAgICAg
Zm9yIGNtZCBpbiBhbGxfY21kcworICAgICAgICBdCiAKLSAgICAgICAgc2V0dGVyID0gIiAgICAl
cyVzID0gcmVpbnRlcnByZXRfY2FzdDxQRk4lc1BST0M+KGxvYWRQcm9jKFwiJXNcIikpOyIKLSAg
ICAgICAgc2V0dGVycyA9IFtzZXR0ZXIgJSAobnMsIHByZShjbWQpLCBjbWQudXBwZXIoKSwgcHJl
KGNtZCkpIGZvciBjbWQgaW4gYWxsX2NtZHNdCisgICAgICAgIHNldHRlciA9ICIgICAgJXMlcyVz
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk4lc1BST0M+KGxvYWRQcm9jKFwiJXNcIikpOyIKKyAgICAg
ICAgc2V0dGVycyA9IFsKKyAgICAgICAgICAgIHNldHRlciAlIChpbnRlcm5hbF9wcmVmaXgsIG5z
LCBwcmUoY21kKSwgY21kLnVwcGVyKCksIHByZShjbWQpKSBmb3IgY21kIGluIGFsbF9jbWRzCisg
ICAgICAgIF0KIAogICAgICAgICBsb2FkZXJfc291cmNlID0gdGVtcGxhdGVfbG9hZGVyX2NwcC5m
b3JtYXQoCiAgICAgICAgICAgICBzY3JpcHRfbmFtZT1vcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2
WzBdKSwKQEAgLTk3LDkgKzExMSwxNiBAQCBkZWYgZ2VuX2xpYmVnbF9sb2FkZXIoKToKICAgICBh
bGxfY21kcyA9IHhtbC5hbGxfY21kX25hbWVzLmdldF9hbGxfY29tbWFuZHMoKQogCiAgICAgcGF0
aCA9IG9zLnBhdGguam9pbigiLi4iLCAic3JjIiwgImxpYkVHTCIpCi0gICAgd3JpdGVfaGVhZGVy
KGRhdGFfc291cmNlX25hbWUsIGFsbF9jbWRzLCAiZWdsIiwgbGliZWdsX3ByZWFtYmxlLCBwYXRo
LCAiTElCRUdMIiwgIiIsICJFR0xfIiwKLSAgICAgICAgICAgICAgICAgIkFOR0xFX05PX0VYUE9S
VCAiKQotICAgIHdyaXRlX3NvdXJjZShkYXRhX3NvdXJjZV9uYW1lLCBhbGxfY21kcywgImVnbCIs
IHBhdGgsICIiLCAiRUdMXyIpCisgICAgd3JpdGVfaGVhZGVyKAorICAgICAgICBkYXRhX3NvdXJj
ZV9uYW1lLAorICAgICAgICBhbGxfY21kcywKKyAgICAgICAgImVnbCIsCisgICAgICAgIGxpYmVn
bF9wcmVhbWJsZSwKKyAgICAgICAgcGF0aCwKKyAgICAgICAgIkxJQkVHTCIsCisgICAgICAgIHBy
ZWZpeD0iRUdMXyIsCisgICAgICAgIGV4cG9ydD0iQU5HTEVfTk9fRVhQT1JUICIpCisgICAgd3Jp
dGVfc291cmNlKGRhdGFfc291cmNlX25hbWUsIGFsbF9jbWRzLCAiZWdsIiwgcGF0aCwgcHJlZml4
PSJFR0xfIikKIAogCiBkZWYgZ2VuX2dsX2xvYWRlcigpOgpAQCAtMjY2LDYgKzI4Nyw3IEBAIHRl
bXBsYXRlX2xvYWRlcl9oID0gIiIiLy8gR0VORVJBVEVEIEZJTEUgLSBETyBOT1QgRURJVC4KICNk
ZWZpbmUge2xpYn1fe2FwaV91cHBlcn1fTE9BREVSX0FVVE9HRU5fSF8KIAoge3ByZWFtYmxlfQor
e2RlZmluZXN9CiB7ZnVuY3Rpb25fcG9pbnRlcnN9CiAKIG5hbWVzcGFjZSBhbmdsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9nZW5lcmF0ZV9zdGF0cy5weSBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvZ2VuZXJhdGVfc3RhdHMucHkKaW5kZXgg
YzQ4YWQwNzZiNjBlMWIwODhlOWJjMTJjZTZmYzZjNzM2NWZiNjQ4MC4uODkyNGI3ZTA1YjY4MGYw
MTQyYjM4MjAyZjk3Nzk1ZGNmMDVkMzFiZiAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc2NyaXB0cy9nZW5lcmF0ZV9zdGF0cy5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zY3JpcHRzL2dlbmVyYXRlX3N0YXRzLnB5CkBAIC0zNjAsMTMgKzM2MCwxNiBAQCBkZWYg
Z2V0X3N0ZXBfaW5mbyhidWlsZF9uYW1lLCBzdGVwX25hbWUpOgogZGVmIGdldF9ib3RfaW5mbyhi
b3RfbmFtZSk6CiAgICAgaW5mbyA9IGdldF9sYXRlc3Rfc3VjY2Vzc19idWlsZF9pbmZvKGJvdF9u
YW1lKQogICAgIGluZm9bJ3N0ZXBfbmFtZXMnXSA9IGdldF9zdGVwX25hbWVzKGluZm9bJ2J1aWxk
X25hbWUnXSkKKyAgICBicm9rZW5fc3RlcF9uYW1lcyA9IFtdCiAgICAgZm9yIHN0ZXBfbmFtZSBp
biBpbmZvWydzdGVwX25hbWVzJ106CiAgICAgICAgIExPR0dFUi5pbmZvKCJQYXJzaW5nIHN0ZXAg
JyIgKyBzdGVwX25hbWUgKyAiJy4uLiIpCiAgICAgICAgIHN0ZXBfaW5mbyA9IGdldF9zdGVwX2lu
Zm8oaW5mb1snYnVpbGRfbmFtZSddLCBzdGVwX25hbWUpCiAgICAgICAgIGlmIHZhbGlkYXRlX3N0
ZXBfaW5mbyhzdGVwX2luZm8sIGluZm9bJ2J1aWxkX25hbWUnXSwgc3RlcF9uYW1lKToKICAgICAg
ICAgICAgIGluZm9bc3RlcF9uYW1lXSA9IHN0ZXBfaW5mbwogICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgaW5mb1snc3RlcF9uYW1lcyddLnJlbW92ZShzdGVwX25hbWUpCisgICAgICAgICAgICBi
cm9rZW5fc3RlcF9uYW1lcyArPSBzdGVwX25hbWUKKyAgICBmb3Igc3RlcF9uYW1lIGluIGJyb2tl
bl9zdGVwX25hbWVzOgorICAgICAgICBpbmZvWydzdGVwX25hbWVzJ10ucmVtb3ZlKHN0ZXBfbmFt
ZSkKICAgICByZXR1cm4gaW5mbwogCiAKQEAgLTU2Myw2ICs1NjYsOCBAQCBkZWYgdXBkYXRlX2hl
YWRlcnMoc2VydmljZSwgc3ByZWFkc2hlZXRfaWQsIGhlYWRlcnMsIGluZm8pOgogICAgIHNoZWV0
X25hbWVzID0gW10KICAgICBmb3IgYm90X25hbWUgaW4gaW5mbzoKICAgICAgICAgZm9yIHN0ZXBf
bmFtZSBpbiBpbmZvW2JvdF9uYW1lXVsnc3RlcF9uYW1lcyddOgorICAgICAgICAgICAgaWYgbm90
IHN0ZXBfbmFtZSBpbiBpbmZvW2JvdF9uYW1lXToKKyAgICAgICAgICAgICAgICBMT0dHRVIuZXJy
b3IoIk1pc3NpbmcgaW5mbyBmb3Igc3RlcCBuYW1lOiAnIiArIHN0ZXBfbmFtZSArICInIikKICAg
ICAgICAgICAgIHNoZWV0X25hbWUgPSBmb3JtYXRfc2hlZXRfbmFtZShib3RfbmFtZSwgc3RlcF9u
YW1lKQogICAgICAgICAgICAgaGVhZGVyc19zdGFsZSA9IEZhbHNlCiAgICAgICAgICAgICAjIEhl
YWRlcnMgc2hvdWxkIGFsd2F5cyBjb250YWluIHRoZSBmb2xsb3dpbmcgY29sdW1ucwpAQCAtNTg4
LDcgKzU5Myw2IEBAIGRlZiB1cGRhdGVfaGVhZGVycyhzZXJ2aWNlLCBzcHJlYWRzaGVldF9pZCwg
aGVhZGVycywgaW5mbyk6CiAgICAgICAgIExPR0dFUi5pbmZvKCdVcGRhdGluZyBzaGVldCBoZWFk
ZXJzLi4uJykKICAgICAgICAgYmF0Y2hfdXBkYXRlX3ZhbHVlcyhzZXJ2aWNlLCBzcHJlYWRzaGVl
dF9pZCwgZGF0YSkKIAotCiAjIENhbGxzIHZhbHVlcygpLmFwcGVuZCgpIHRvIGFwcGVuZCBhIGxp
c3Qgb2YgdmFsdWVzIHRvIGEgZ2l2ZW4gc2hlZXQuCiBkZWYgYXBwZW5kX3ZhbHVlcyhzZXJ2aWNl
LCBzcHJlYWRzaGVldF9pZCwgc2hlZXRfbmFtZSwgdmFsdWVzKToKICAgICBoZWFkZXJfcmFuZ2Ug
PSBzaGVldF9uYW1lICsgJyFBMTpaJwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc2NyaXB0cy9yZWdpc3RyeV94bWwucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3Jp
cHRzL3JlZ2lzdHJ5X3htbC5weQppbmRleCA4N2NhOTY5ZWNiNzU4YmI1MzVmYWRkNDg1ZTg1ZTY3
NTNjOTc0YmZiLi45NzQ4ZTMxYTRiNzhiZmExYzA1OWFmMDFkNTYxZmRhNjczYWVhY2MyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL3JlZ2lzdHJ5X3htbC5weQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL3JlZ2lzdHJ5X3htbC5weQpAQCAt
NjgsNiArNjgsNyBAQCBnbGVzX2V4dGVuc2lvbnMgPSBbCiAgICAgIkdMX0VYVF9kcmF3X2J1ZmZl
cnMiLAogICAgICJHTF9FWFRfZHJhd19idWZmZXJzX2luZGV4ZWQiLAogICAgICJHTF9FWFRfZHJh
d19lbGVtZW50c19iYXNlX3ZlcnRleCIsCisgICAgIkdMX0VYVF9FR0xfaW1hZ2VfYXJyYXkiLAog
ICAgICJHTF9FWFRfZ2VvbWV0cnlfc2hhZGVyIiwKICAgICAiR0xfRVhUX2luc3RhbmNlZF9hcnJh
eXMiLAogICAgICJHTF9FWFRfbWFwX2J1ZmZlcl9yYW5nZSIsCkBAIC04OCwxMCArODksMTIgQEAg
Z2xlc19leHRlbnNpb25zID0gWwogICAgICJHTF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9w
aWMiLAogICAgICJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgiLAogICAgICJHTF9FWFRf
dGV4dHVyZV9zdG9yYWdlIiwKKyAgICAiR0xfRVhUX3RleHR1cmVfc1JHQl9SOCIsCiAgICAgIkdM
X0tIUl9kZWJ1ZyIsCiAgICAgIkdMX0tIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIsCiAgICAg
IkdMX05WX2ZlbmNlIiwKICAgICAiR0xfT0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4X3RleHR1cmUi
LAorICAgICJHTF9FWFRfY29tcHJlc3NlZF9FVEMxX1JHQjhfc3ViX3RleHR1cmUiLAogICAgICJH
TF9PRVNfZGVwdGgzMiIsCiAgICAgIkdMX09FU19kcmF3X2J1ZmZlcnNfaW5kZXhlZCIsCiAgICAg
IkdMX09FU19kcmF3X2VsZW1lbnRzX2Jhc2VfdmVydGV4IiwKQEAgLTEyOCw4ICsxMzEsMTAgQEAg
c3VwcG9ydGVkX2VnbF9leHRlbnNpb25zID0gWwogICAgICJFR0xfQU5HTEVfc3dhcF93aXRoX2Zy
YW1lX3Rva2VuIiwKICAgICAiRUdMX0FOR0xFX3dpbmRvd19maXhlZF9zaXplIiwKICAgICAiRUdM
X0NIUk9NSVVNX3N5bmNfY29udHJvbCIsCisgICAgIkVHTF9BTkdMRV9zeW5jX2NvbnRyb2xfcmF0
ZSIsCiAgICAgIkVHTF9FWFRfY3JlYXRlX2NvbnRleHRfcm9idXN0bmVzcyIsCiAgICAgIkVHTF9F
WFRfZGV2aWNlX3F1ZXJ5IiwKKyAgICAiRUdMX0VYVF9pbWFnZV9nbF9jb2xvcnNwYWNlIiwKICAg
ICAiRUdMX0VYVF9waXhlbF9mb3JtYXRfZmxvYXQiLAogICAgICJFR0xfRVhUX3BsYXRmb3JtX2Jh
c2UiLAogICAgICJFR0xfRVhUX3BsYXRmb3JtX2RldmljZSIsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL3JvbGxfYW9zcC5zaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NjcmlwdHMvcm9sbF9hb3NwLnNoCmluZGV4IDdmY2JkNGI4NmY0YzJhN2MzOGQ5MWRm
ODBkYWJjYTVkNmFhOWNlZGQuLjgxOTk3NGUyODZlYjdiMzk2YjQ4MzAzN2FmOWNhMWYyNGIxMTMz
YjEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvcm9sbF9hb3Nw
LnNoCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvcm9sbF9hb3NwLnNoCkBA
IC02LDggKzYsNiBAQAogIwogIyBHZW5lcmF0ZXMgYSByb2xsIENMIHdpdGhpbiB0aGUgQU5HTEUg
cmVwb3NpdG9yeSBvZiBBT1NQLgogCi1naXQgbWVyZ2UgLVggdGhlaXJzIGFvc3AvdXBzdHJlYW0t
bWlycm9yCi0KIGRlcHM9KAogICAgICJ0aGlyZF9wYXJ0eS9zcGlydi10b29scy9zcmMiCiAgICAg
InRoaXJkX3BhcnR5L2dsc2xhbmcvc3JjIgpAQCAtMTUsMTEgKzEzLDEyIEBAIGRlcHM9KAogICAg
ICJ0aGlyZF9wYXJ0eS92dWxrYW4taGVhZGVycy9zcmMiCiAgICAgInRoaXJkX3BhcnR5L2pzb25j
cHAiCiAgICAgInRoaXJkX3BhcnR5L2pzb25jcHAvc291cmNlIgorICAgICJ0aGlyZF9wYXJ0eS92
dWxrYW5fbWVtb3J5X2FsbG9jYXRvciIKICkKIAogIyBEZWxldGUgZGVwIGRpcmVjdG9yaWVzIHNv
IHRoYXQgZ2NsaWVudCBjYW4gY2hlY2sgdGhlbSBvdXQKIGZvciBkZXAgaW4gJHtkZXBzW0BdfTsg
ZG8KLSAgICBybSAtcmYgLS1wcmVzZXJ2ZS1yb290ICRkZXAKKyAgICBybSAtcmYgJGRlcAogZG9u
ZQogCiAjIFN5bmMgYWxsIG9mIEFOR0xFJ3MgZGVwcyBzbyB0aGF0ICdnbiBnZW4nIHdvcmtzCkBA
IC02OCw3ICs2NywxOCBAQCBnaXQgYWRkIEFuZHJvaWQuYnAKICMgRGVsZXRlIHRoZSAuZ2l0IGZp
bGVzIGluIGVhY2ggZGVwIHNvIHRoYXQgaXQgY2FuIGJlIGFkZGVkIHRvIHRoaXMgcmVwby4gU29t
ZSBkZXBzIGxpa2UganNvbmNwcAogIyBoYXZlIG11bHRpcGxlIGxheWVycyBvZiBkZXBzIHNvIGRl
bGV0ZSBldmVyeXRoaW5nIGJlZm9yZSBhZGRpbmcgdGhlbS4KIGZvciBkZXAgaW4gJHtkZXBzW0Bd
fTsgZG8KLSAgICBybSAtcmYgLS1wcmVzZXJ2ZS1yb290ICRkZXAvLmdpdAorICAgIHJtIC1yZiAk
ZGVwLy5naXQKK2RvbmUKKworZXh0cmFfcmVtb3ZhbF9maWxlcz0oCisgICAgIyBUaGUganNvbmNw
cCBPV05FUlMgYW5kIFZ1bGthbk1lbW9yeUFsbG9jYXRvciBmaWxlIGNvbnRhaW5zIHVzZXJzIHRo
YXQgaGF2ZSBub3QgbG9nZ2VkIGludG8KKyAgICAjIHRoZSBBbmRyb2lkIGdlcnJpdCBzbyBpdCBm
YWlscyB0byB1cGxvYWQuCisgICAgInRoaXJkX3BhcnR5L2pzb25jcHAvT1dORVJTIgorICAgICJ0
aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9PV05FUlMiCispCisKK2ZvciByZW1v
dmFsX2ZpbGUgaW4gJHtleHRyYV9yZW1vdmFsX2ZpbGVzW0BdfTsgZG8KKyAgICBybSAkcmVtb3Zh
bF9maWxlCiBkb25lCiAKIGZvciBkZXAgaW4gJHtkZXBzW0BdfTsgZG8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvcm9sbF9kZXBzLnB5IGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc2NyaXB0cy9yb2xsX2RlcHMucHkKaW5kZXggODA1ZjI0ZTM1YzI3YzBlY2Nm
NDBhMDVmNTFiNTMyNTQwYzM2N2E2ZS4uZmFiOWE5ZTljZDgyYTk5MzY3YmM2ZDg1MTZjYjZmYWU5
MTVmNTJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9yb2xs
X2RlcHMucHkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9yb2xsX2RlcHMu
cHkKQEAgLTM3LDEwICszNywxMCBAQCBBTkdMRV9DSFJPTUlVTV9ERVBTID0gWwogICAgICd0aGly
ZF9wYXJ0eS9nb29nbGV0ZXN0JywKICAgICAndGhpcmRfcGFydHkvbGlianBlZ190dXJibycsCiAg
ICAgJ3RoaXJkX3BhcnR5L2pzb25jcHAnLAorICAgICd0aGlyZF9wYXJ0eS9uYXNtJywKICAgICAn
dGhpcmRfcGFydHkvUHl0aG9uLU1hcmtkb3duJywKICAgICAndGhpcmRfcGFydHkvcWVtdS1saW51
eC14NjQnLAogICAgICd0aGlyZF9wYXJ0eS9xZW11LW1hYy14NjQnLAotICAgICd0aGlyZF9wYXJ0
eS95YXNtJywKICAgICAndGhpcmRfcGFydHkvemxpYicsCiAgICAgJ3Rvb2xzL2NsYW5nJywKICAg
ICAndG9vbHMvbWRfYnJvd3NlcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHkKaW5kZXggYTNhMGVhZTg1NGJiNWY3N2Iz
OGZmMTg4MzQ4Njg4MGEyNGI2NzA4My4uNWQ0MTAzZjM5YTMxY2Q0ZjBlNmFhOGYxYmJiYTcxODQw
ZDFiMzRjYiAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9ydW5f
Y29kZV9nZW5lcmF0aW9uLnB5CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMv
cnVuX2NvZGVfZ2VuZXJhdGlvbi5weQpAQCAtODUsOCArODUsMTIgQEAgZ2VuZXJhdG9ycyA9IHsK
ICAgICAgICAgJ3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvZ2VuX2R4Z2lfZm9ybWF0
X3RhYmxlLnB5JywKICAgICAnRFhHSSBmb3JtYXQgc3VwcG9ydCc6CiAgICAgICAgICdzcmMvbGli
QU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL2dlbl9keGdpX3N1cHBvcnRfdGFibGVzLnB5JywKKyAg
ICAnRW11bGF0ZWQgSExTTCBmdW5jdGlvbnMnOgorICAgICAgICAnc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvZ2VuX2VtdWxhdGVkX2J1aWx0aW5fZnVuY3Rpb25fdGFibGVzLnB5JywKICAgICAnR0wg
Y29weSBjb252ZXJzaW9uIHRhYmxlJzoKICAgICAgICAgJ3NyYy9saWJBTkdMRS9nZW5fY29weV9j
b252ZXJzaW9uX3RhYmxlLnB5JywKKyAgICAnR0wgQ1RTIChkRVFQKSBidWlsZCBmaWxlcyc6Cisg
ICAgICAgICdzY3JpcHRzL2dlbl92a19nbF9jdHNfYnVpbGQucHknLAogICAgICdHTC9FR0wvV0dM
IGxvYWRlcic6CiAgICAgICAgICdzY3JpcHRzL2dlbmVyYXRlX2xvYWRlci5weScsCiAgICAgJ0dM
L0VHTCBlbnRyeSBwb2ludHMnOgpAQCAtOTUsMzQgKzk5LDMyIEBAIGdlbmVyYXRvcnMgPSB7CiAg
ICAgICAgICdzY3JpcHRzL2dlbl9nbF9lbnVtX3V0aWxzLnB5JywKICAgICAnR0wgZm9ybWF0IG1h
cCc6CiAgICAgICAgICdzcmMvbGliQU5HTEUvZ2VuX2Zvcm1hdF9tYXAucHknLAotICAgICd1bmlm
b3JtIHR5cGUnOgotICAgICAgICAnc3JjL2NvbW1vbi9nZW5fdW5pZm9ybV90eXBlX3RhYmxlLnB5
JywKKyAgICAnTWV0YWwgZm9ybWF0IHRhYmxlJzoKKyAgICAgICAgJ3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9nZW5fbXRsX2Zvcm1hdF90YWJsZS5weScsCisgICAgJ01ldGFsIGRlZmF1bHQg
c2hhZGVycyc6CisgICAgICAgICdzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9n
ZW5fbXRsX2ludGVybmFsX3NoYWRlcnMucHknLAogICAgICdPcGVuR0wgZGlzcGF0Y2ggdGFibGUn
OgogICAgICAgICAnc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2dlbmVyYXRlX2dsX2Rpc3BhdGNo
X3RhYmxlLnB5JywKKyAgICAnb3ZlcmxheSBmb250cyc6CisgICAgICAgICdzcmMvbGliQU5HTEUv
Z2VuX292ZXJsYXlfZm9udHMucHknLAorICAgICdvdmVybGF5IHdpZGdldHMnOgorICAgICAgICAn
c3JjL2xpYkFOR0xFL2dlbl9vdmVybGF5X3dpZGdldHMucHknLAogICAgICdwYWNrZWQgZW51bSc6
CiAgICAgICAgICdzcmMvY29tbW9uL2dlbl9wYWNrZWRfZ2xfZW51bXMucHknLAogICAgICdwcm9j
IHRhYmxlJzoKICAgICAgICAgJ3NjcmlwdHMvZ2VuX3Byb2NfdGFibGUucHknLAorICAgICdyZXN0
cmljdGVkIHRyYWNlcyc6CisgICAgICAgICdzcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVk
X3RyYWNlcy9nZW5fcmVzdHJpY3RlZF90cmFjZXMucHknLAorICAgICdTdGF0aWMgYnVpbHRpbnMn
OgorICAgICAgICAnc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2VuX2J1aWx0aW5fc3ltYm9scy5w
eScsCisgICAgJ3VuaWZvcm0gdHlwZSc6CisgICAgICAgICdzcmMvY29tbW9uL2dlbl91bmlmb3Jt
X3R5cGVfdGFibGUucHknLAogICAgICdWdWxrYW4gZm9ybWF0JzoKICAgICAgICAgJ3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vZ2VuX3ZrX2Zvcm1hdF90YWJsZS5weScsCiAgICAgJ1Z1bGth
biBtYW5kYXRvcnkgZm9ybWF0IHN1cHBvcnQgdGFibGUnOgogICAgICAgICAnc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9nZW5fdmtfbWFuZGF0b3J5X2Zvcm1hdF9zdXBwb3J0X3RhYmxlLnB5
JywKICAgICAnVnVsa2FuIGludGVybmFsIHNoYWRlciBwcm9ncmFtcyc6CiAgICAgICAgICdzcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL2dlbl92a19pbnRlcm5hbF9zaGFkZXJzLnB5JywKLSAg
ICAnb3ZlcmxheSBmb250cyc6Ci0gICAgICAgICdzcmMvbGliQU5HTEUvZ2VuX292ZXJsYXlfZm9u
dHMucHknLAotICAgICdvdmVybGF5IHdpZGdldHMnOgotICAgICAgICAnc3JjL2xpYkFOR0xFL2dl
bl9vdmVybGF5X3dpZGdldHMucHknLAotICAgICdFbXVsYXRlZCBITFNMIGZ1bmN0aW9ucyc6Ci0g
ICAgICAgICdzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nZW5fZW11bGF0ZWRfYnVpbHRpbl9mdW5j
dGlvbl90YWJsZXMucHknLAotICAgICdTdGF0aWMgYnVpbHRpbnMnOgotICAgICAgICAnc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvZ2VuX2J1aWx0aW5fc3ltYm9scy5weScsCi0gICAgJ01ldGFsIGZv
cm1hdCB0YWJsZSc6Ci0gICAgICAgICdzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvZ2VuX210
bF9mb3JtYXRfdGFibGUucHknLAotICAgICdNZXRhbCBkZWZhdWx0IHNoYWRlcnMnOgotICAgICAg
ICAnc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvZ2VuX210bF9pbnRlcm5hbF9z
aGFkZXJzLnB5JywKLSAgICAnR0wgQ1RTIChkRVFQKSBidWlsZCBmaWxlcyc6Ci0gICAgICAgICdz
Y3JpcHRzL2dlbl92a19nbF9jdHNfYnVpbGQucHknLAogfQogCiAKQEAgLTIyOCw5ICsyMzAsNyBA
QCBkZWYgbWFpbigpOgogCiAgICAgaWYgYW55X2RpcnR5OgogICAgICAgICBhcmdzID0gWydnaXQu
YmF0J10gaWYgb3MubmFtZSA9PSAnbnQnIGVsc2UgWydnaXQnXQotICAgICAgICAjIFRoZSBkaWZm
IGNhbiBiZSBzbyBsYXJnZSB0aGUgYXJndW1lbnRzIHRvIGNsYW5nLWZvcm1hdCBjYW4gYnJlYWsg
dGhlIFdpbmRvd3MgY29tbWFuZAotICAgICAgICAjIGxpbmUgbGVuZ3RoIGxpbWl0cy4gV29yayBh
cm91bmQgdGhpcyBieSBjYWxsaW5nIGdpdCBjbCBmb3JtYXQgd2l0aCAtLWZ1bGwuCi0gICAgICAg
IGFyZ3MgKz0gWydjbCcsICdmb3JtYXQnLCAnLS1mdWxsJ10KKyAgICAgICAgYXJncyArPSBbJ2Ns
JywgJ2Zvcm1hdCddCiAgICAgICAgIHByaW50KCdDYWxsaW5nIGdpdCBjbCBmb3JtYXQnKQogICAg
ICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoYXJncykgIT0gMDoKICAgICAgICAgICAgIHN5cy5leGl0
KDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL1BhY2tl
ZEVudW1zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vUGFja2VkRW51
bXMuY3BwCmluZGV4IGIyZjkwYTc5OWM5YjE2YTJhNWM2MWI2ZWYxN2ZlOTJmZWIxZDkzODIuLmFl
YjgwMjM4Y2Y1NWY5Njc5ZDVmZTZlY2Y3N2U5ODJhZjZlYWY1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vUGFja2VkRW51bXMuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vUGFja2VkRW51bXMuY3BwCkBAIC0yNTQsNiAr
MjU0LDEwMiBAQCBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtICZvcywgRHJh
d0VsZW1lbnRzVHlwZSB2YWx1ZSkKICAgICByZXR1cm4gb3M7CiB9CiAKK3N0ZDo6b3N0cmVhbSAm
b3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0gJm9zLCBCbGVuZEVxdWF0aW9uVHlwZSB2YWx1ZSkKK3sK
KyAgICBzd2l0Y2ggKHZhbHVlKQorICAgIHsKKyAgICAgICAgY2FzZSBCbGVuZEVxdWF0aW9uVHlw
ZTo6QWRkOgorICAgICAgICAgICAgb3MgPDwgIkdMX0ZVTkNfQUREIjsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIEJsZW5kRXF1YXRpb25UeXBlOjpNaW46CisgICAgICAgICAgICBv
cyA8PCAiR0xfTUlOIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRXF1
YXRpb25UeXBlOjpNYXg6CisgICAgICAgICAgICBvcyA8PCAiR0xfTUFYIjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRXF1YXRpb25UeXBlOjpTdWJ0cmFjdDoKKyAgICAg
ICAgICAgIG9zIDw8ICJHTF9GVU5DX1NVQlRSQUNUIjsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEJsZW5kRXF1YXRpb25UeXBlOjpSZXZlcnNlU3VidHJhY3Q6CisgICAgICAgICAg
ICBvcyA8PCAiR0xfRlVOQ19SRVZFUlNFX1NVQlRSQUNUIjsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgb3MgPDwgIkdMX0lOVkFMSURfRU5VTSI7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gb3M7Cit9CisKK3N0ZDo6b3N0
cmVhbSAmb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0gJm9zLCBCbGVuZEZhY3RvclR5cGUgdmFsdWUp
Cit7CisgICAgc3dpdGNoICh2YWx1ZSkKKyAgICB7CisgICAgICAgIGNhc2UgQmxlbmRGYWN0b3JU
eXBlOjpaZXJvOgorICAgICAgICAgICAgb3MgPDwgIkdMX1pFUk8iOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgQmxlbmRGYWN0b3JUeXBlOjpPbmU6CisgICAgICAgICAgICBvcyA8
PCAiR0xfT05FIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9y
VHlwZTo6U3JjQ29sb3I6CisgICAgICAgICAgICBvcyA8PCAiR0xfU1JDX0NPTE9SIjsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNTcmND
b2xvcjoKKyAgICAgICAgICAgIG9zIDw8ICJHTF9PTkVfTUlOVVNfU1JDX0NPTE9SIjsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6U3JjQWxwaGE6Cisg
ICAgICAgICAgICBvcyA8PCAiR0xfU1JDX0FMUEhBIjsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNTcmNBbHBoYToKKyAgICAgICAgICAg
IG9zIDw8ICJHTF9PTkVfTUlOVVNfU1JDX0FMUEhBIjsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6RHN0QWxwaGE6CisgICAgICAgICAgICBvcyA8PCAi
R0xfRFNUX0FMUEhBIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFj
dG9yVHlwZTo6T25lTWludXNEc3RBbHBoYToKKyAgICAgICAgICAgIG9zIDw8ICJHTF9PTkVfTUlO
VVNfRFNUX0FMUEhBIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFj
dG9yVHlwZTo6RHN0Q29sb3I6CisgICAgICAgICAgICBvcyA8PCAiR0xfRFNUX0NPTE9SIjsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNE
c3RDb2xvcjoKKyAgICAgICAgICAgIG9zIDw8ICJHTF9PTkVfTUlOVVNfRFNUX0NPTE9SIjsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6U3JjQWxwaGFT
YXR1cmF0ZToKKyAgICAgICAgICAgIG9zIDw8ICJHTF9TUkNfQUxQSEFfU0FUVVJBVEUiOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQmxlbmRGYWN0b3JUeXBlOjpDb25zdGFudENv
bG9yOgorICAgICAgICAgICAgb3MgPDwgIkdMX0NPTlNUQU5UX0NPTE9SIjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNDb25zdGFudENv
bG9yOgorICAgICAgICAgICAgb3MgPDwgIkdMX09ORV9NSU5VU19DT05TVEFOVF9DT0xPUiI7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCbGVuZEZhY3RvclR5cGU6OkNvbnN0YW50
QWxwaGE6CisgICAgICAgICAgICBvcyA8PCAiR0xfQ09OU1RBTlRfQUxQSEEiOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQmxlbmRGYWN0b3JUeXBlOjpPbmVNaW51c0NvbnN0YW50
QWxwaGE6CisgICAgICAgICAgICBvcyA8PCAiR0xfT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBIjsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6U3JjMUFs
cGhhOgorICAgICAgICAgICAgb3MgPDwgIkdMX1NSQzFfQUxQSEFfRVhUIjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6U3JjMUNvbG9yOgorICAgICAg
ICAgICAgb3MgPDwgIkdMX1NSQzFfQ09MT1JfRVhUIjsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNTcmMxQ29sb3I6CisgICAgICAgICAg
ICBvcyA8PCAiR0xfT05FX01JTlVTX1NSQzFfQ09MT1JfRVhUIjsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIEJsZW5kRmFjdG9yVHlwZTo6T25lTWludXNTcmMxQWxwaGE6CisgICAg
ICAgICAgICBvcyA8PCAiR0xfT05FX01JTlVTX1NSQzFfQUxQSEFfRVhUIjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgb3MgPDwgIkdMX0lOVkFMSURf
RU5VTSI7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gb3M7Cit9CisK
IHN0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0gJm9zLCBWZXJ0ZXhBdHRyaWJU
eXBlIHZhbHVlKQogewogICAgIHN3aXRjaCAodmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL1BhY2tlZEVudW1zLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tbW9uL1BhY2tlZEVudW1zLmgKaW5kZXggMzhjNjkxMGMxNDkxYTZkZWNj
NGY2OTAzOTUyOTk2OTM5MDkxM2VhYi4uYWE1NzZkMTJiMmI3ZDUzOWE2NzlmZTdjMWZjNjkxYmNj
OTZmNGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9Q
YWNrZWRFbnVtcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vUGFj
a2VkRW51bXMuaApAQCAtMzIzLDYgKzMyMywxMjkgQEAgQU5HTEVfVkFMSURBVEVfUEFDS0VEX0VO
VU0oRHJhd0VsZW1lbnRzVHlwZSwgVW5zaWduZWRJbnQsIEdMX1VOU0lHTkVEX0lOVCk7CiAKIHN0
ZDo6b3N0cmVhbSAmb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0gJm9zLCBEcmF3RWxlbWVudHNUeXBl
IHZhbHVlKTsKIAorZW51bSBjbGFzcyBCbGVuZEVxdWF0aW9uVHlwZQoreworICAgIEFkZCAgICAg
ICAgICAgICA9IDAsICAvLyBHTGVudW0gPT0gMHg4MDA2CisgICAgTWluICAgICAgICAgICAgID0g
MSwgIC8vIEdMZW51bSA9PSAweDgwMDcKKyAgICBNYXggICAgICAgICAgICAgPSAyLCAgLy8gR0xl
bnVtID09IDB4ODAwOAorICAgIFVudXNlZCAgICAgICAgICA9IDMsCisgICAgU3VidHJhY3QgICAg
ICAgID0gNCwgIC8vIEdMZW51bSA9PSAweDgwMEEKKyAgICBSZXZlcnNlU3VidHJhY3QgPSA1LCAg
Ly8gR0xlbnVtID09IDB4ODAwQgorICAgIEludmFsaWRFbnVtICAgICA9IDYsCisgICAgRW51bUNv
dW50ICAgICAgID0gNgorfTsKKwordGVtcGxhdGUgPD4KK2NvbnN0ZXhwciBCbGVuZEVxdWF0aW9u
VHlwZSBGcm9tR0xlbnVtPEJsZW5kRXF1YXRpb25UeXBlPihHTGVudW0gZnJvbSkKK3sKKyAgICBj
b25zdCBHTGVudW0gc2NhbGVkID0gKGZyb20gLSBHTF9GVU5DX0FERCk7CisgICAgcmV0dXJuIChz
Y2FsZWQgPT0gc3RhdGljX2Nhc3Q8R0xlbnVtPihCbGVuZEVxdWF0aW9uVHlwZTo6VW51c2VkKSB8
fAorICAgICAgICAgICAgc2NhbGVkID49IHN0YXRpY19jYXN0PEdMZW51bT4oQmxlbmRFcXVhdGlv
blR5cGU6OkVudW1Db3VudCkpCisgICAgICAgICAgICAgICA/IEJsZW5kRXF1YXRpb25UeXBlOjpJ
bnZhbGlkRW51bQorICAgICAgICAgICAgICAgOiBzdGF0aWNfY2FzdDxCbGVuZEVxdWF0aW9uVHlw
ZT4oc2NhbGVkKTsKK30KKworY29uc3RleHByIEdMZW51bSBUb0dMZW51bShCbGVuZEVxdWF0aW9u
VHlwZSBmcm9tKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxHTGVudW0+KGZyb20pICsgR0xf
RlVOQ19BREQ7Cit9CisKK0FOR0xFX1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5kRXF1YXRpb25U
eXBlLCBBZGQsIEdMX0ZVTkNfQUREKTsKK0FOR0xFX1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5k
RXF1YXRpb25UeXBlLCBNaW4sIEdMX01JTik7CitBTkdMRV9WQUxJREFURV9QQUNLRURfRU5VTShC
bGVuZEVxdWF0aW9uVHlwZSwgTWF4LCBHTF9NQVgpOworQU5HTEVfVkFMSURBVEVfUEFDS0VEX0VO
VU0oQmxlbmRFcXVhdGlvblR5cGUsIFN1YnRyYWN0LCBHTF9GVU5DX1NVQlRSQUNUKTsKK0FOR0xF
X1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5kRXF1YXRpb25UeXBlLCBSZXZlcnNlU3VidHJhY3Qs
IEdMX0ZVTkNfUkVWRVJTRV9TVUJUUkFDVCk7CisKK3N0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8PChz
dGQ6Om9zdHJlYW0gJm9zLCBCbGVuZEVxdWF0aW9uVHlwZSB2YWx1ZSk7CisKK2VudW0gY2xhc3Mg
QmxlbmRGYWN0b3JUeXBlCit7CisgICAgWmVybyA9IDAsICAvLyBHTGVudW0gPT0gMAorICAgIE9u
ZSAgPSAxLCAgLy8gR0xlbnVtID09IDEKKworICAgIE1pblNyY0RzdFR5cGUgICAgPSAyLAorICAg
IFNyY0NvbG9yICAgICAgICAgPSAyLCAgIC8vIEdMZW51bSA9PSAweDAzMDAKKyAgICBPbmVNaW51
c1NyY0NvbG9yID0gMywgICAvLyBHTGVudW0gPT0gMHgwMzAxCisgICAgU3JjQWxwaGEgICAgICAg
ICA9IDQsICAgLy8gR0xlbnVtID09IDB4MDMwMgorICAgIE9uZU1pbnVzU3JjQWxwaGEgPSA1LCAg
IC8vIEdMZW51bSA9PSAweDAzMDMKKyAgICBEc3RBbHBoYSAgICAgICAgID0gNiwgICAvLyBHTGVu
dW0gPT0gMHgwMzA0CisgICAgT25lTWludXNEc3RBbHBoYSA9IDcsICAgLy8gR0xlbnVtID09IDB4
MDMwNQorICAgIERzdENvbG9yICAgICAgICAgPSA4LCAgIC8vIEdMZW51bSA9PSAweDAzMDYKKyAg
ICBPbmVNaW51c0RzdENvbG9yID0gOSwgICAvLyBHTGVudW0gPT0gMHgwMzA3CisgICAgU3JjQWxw
aGFTYXR1cmF0ZSA9IDEwLCAgLy8gR0xlbnVtID09IDB4MDMwOAorICAgIE1heFNyY0RzdFR5cGUg
ICAgPSAxMCwKKworICAgIE1pbkNvbnN0YW50VHlwZSAgICAgICA9IDExLAorICAgIENvbnN0YW50
Q29sb3IgICAgICAgICA9IDExLCAgLy8gR0xlbnVtID09IDB4ODAwMQorICAgIE9uZU1pbnVzQ29u
c3RhbnRDb2xvciA9IDEyLCAgLy8gR0xlbnVtID09IDB4ODAwMgorICAgIENvbnN0YW50QWxwaGEg
ICAgICAgICA9IDEzLCAgLy8gR0xlbnVtID09IDB4ODAwMworICAgIE9uZU1pbnVzQ29uc3RhbnRB
bHBoYSA9IDE0LCAgLy8gR0xlbnVtID09IDB4ODAwNAorICAgIE1heENvbnN0YW50VHlwZSAgICAg
ICA9IDE0LAorCisgICAgLy8gR0xfRVhUX2JsZW5kX2Z1bmNfZXh0ZW5kZWQKKworICAgIFNyYzFB
bHBoYSA9IDE1LCAgLy8gR0xlbnVtID09IDB4ODU4OQorCisgICAgU3JjMUNvbG9yICAgICAgICAg
PSAxNiwgIC8vIEdMZW51bSA9PSAweDg4RjkKKyAgICBPbmVNaW51c1NyYzFDb2xvciA9IDE3LCAg
Ly8gR0xlbnVtID09IDB4ODhGQQorICAgIE9uZU1pbnVzU3JjMUFscGhhID0gMTgsICAvLyBHTGVu
dW0gPT0gMHg4OEZCCisKKyAgICBJbnZhbGlkRW51bSA9IDE5LAorICAgIEVudW1Db3VudCAgID0g
MTkKK307CisKK3RlbXBsYXRlIDw+Citjb25zdGV4cHIgQmxlbmRGYWN0b3JUeXBlIEZyb21HTGVu
dW08QmxlbmRGYWN0b3JUeXBlPihHTGVudW0gZnJvbSkKK3sKKyAgICBpZiAoZnJvbSA8PSAxKQor
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QmxlbmRGYWN0b3JUeXBlPihmcm9tKTsKKyAgICBp
ZiAoZnJvbSA+PSBHTF9TUkNfQ09MT1IgJiYgZnJvbSA8PSBHTF9TUkNfQUxQSEFfU0FUVVJBVEUp
CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxCbGVuZEZhY3RvclR5cGU+KGZyb20gLSBHTF9T
UkNfQ09MT1IgKyAyKTsKKyAgICBpZiAoZnJvbSA+PSBHTF9DT05TVEFOVF9DT0xPUiAmJiBmcm9t
IDw9IEdMX09ORV9NSU5VU19DT05TVEFOVF9BTFBIQSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEJsZW5kRmFjdG9yVHlwZT4oZnJvbSAtIEdMX0NPTlNUQU5UX0NPTE9SICsgMTEpOworICAg
IGlmIChmcm9tID09IEdMX1NSQzFfQUxQSEFfRVhUKQorICAgICAgICByZXR1cm4gQmxlbmRGYWN0
b3JUeXBlOjpTcmMxQWxwaGE7CisgICAgaWYgKGZyb20gPj0gR0xfU1JDMV9DT0xPUl9FWFQgJiYg
ZnJvbSA8PSBHTF9PTkVfTUlOVVNfU1JDMV9BTFBIQV9FWFQpCisgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxCbGVuZEZhY3RvclR5cGU+KGZyb20gLSBHTF9TUkMxX0NPTE9SX0VYVCArIDE2KTsK
KyAgICByZXR1cm4gQmxlbmRGYWN0b3JUeXBlOjpJbnZhbGlkRW51bTsKK30KKworY29uc3RleHBy
IEdMZW51bSBUb0dMZW51bShCbGVuZEZhY3RvclR5cGUgZnJvbSkKK3sKKyAgICBjb25zdCBHTGVu
dW0gdmFsdWUgPSBzdGF0aWNfY2FzdDxHTGVudW0+KGZyb20pOworICAgIGlmICh2YWx1ZSA8PSAx
KQorICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgaWYgKGZyb20gPj0gQmxlbmRGYWN0b3JUeXBl
OjpNaW5TcmNEc3RUeXBlICYmIGZyb20gPD0gQmxlbmRGYWN0b3JUeXBlOjpNYXhTcmNEc3RUeXBl
KQorICAgICAgICByZXR1cm4gdmFsdWUgLSAyICsgR0xfU1JDX0NPTE9SOworICAgIGlmIChmcm9t
ID49IEJsZW5kRmFjdG9yVHlwZTo6TWluQ29uc3RhbnRUeXBlICYmIGZyb20gPD0gQmxlbmRGYWN0
b3JUeXBlOjpNYXhDb25zdGFudFR5cGUpCisgICAgICAgIHJldHVybiB2YWx1ZSAtIDExICsgR0xf
Q09OU1RBTlRfQ09MT1I7CisgICAgaWYgKGZyb20gPT0gQmxlbmRGYWN0b3JUeXBlOjpTcmMxQWxw
aGEpCisgICAgICAgIHJldHVybiBHTF9TUkMxX0FMUEhBX0VYVDsKKyAgICByZXR1cm4gdmFsdWUg
LSAxNiArIEdMX1NSQzFfQ09MT1JfRVhUOworfQorCitBTkdMRV9WQUxJREFURV9QQUNLRURfRU5V
TShCbGVuZEZhY3RvclR5cGUsIFplcm8sIEdMX1pFUk8pOworQU5HTEVfVkFMSURBVEVfUEFDS0VE
X0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBPbmUsIEdMX09ORSk7CitBTkdMRV9WQUxJREFURV9QQUNL
RURfRU5VTShCbGVuZEZhY3RvclR5cGUsIFNyY0NvbG9yLCBHTF9TUkNfQ09MT1IpOworQU5HTEVf
VkFMSURBVEVfUEFDS0VEX0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBPbmVNaW51c1NyY0NvbG9yLCBH
TF9PTkVfTUlOVVNfU1JDX0NPTE9SKTsKK0FOR0xFX1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5k
RmFjdG9yVHlwZSwgU3JjQWxwaGEsIEdMX1NSQ19BTFBIQSk7CitBTkdMRV9WQUxJREFURV9QQUNL
RURfRU5VTShCbGVuZEZhY3RvclR5cGUsIE9uZU1pbnVzU3JjQWxwaGEsIEdMX09ORV9NSU5VU19T
UkNfQUxQSEEpOworQU5HTEVfVkFMSURBVEVfUEFDS0VEX0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBE
c3RBbHBoYSwgR0xfRFNUX0FMUEhBKTsKK0FOR0xFX1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5k
RmFjdG9yVHlwZSwgT25lTWludXNEc3RBbHBoYSwgR0xfT05FX01JTlVTX0RTVF9BTFBIQSk7CitB
TkdMRV9WQUxJREFURV9QQUNLRURfRU5VTShCbGVuZEZhY3RvclR5cGUsIERzdENvbG9yLCBHTF9E
U1RfQ09MT1IpOworQU5HTEVfVkFMSURBVEVfUEFDS0VEX0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBP
bmVNaW51c0RzdENvbG9yLCBHTF9PTkVfTUlOVVNfRFNUX0NPTE9SKTsKK0FOR0xFX1ZBTElEQVRF
X1BBQ0tFRF9FTlVNKEJsZW5kRmFjdG9yVHlwZSwgU3JjQWxwaGFTYXR1cmF0ZSwgR0xfU1JDX0FM
UEhBX1NBVFVSQVRFKTsKK0FOR0xFX1ZBTElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5kRmFjdG9yVHlw
ZSwgQ29uc3RhbnRDb2xvciwgR0xfQ09OU1RBTlRfQ09MT1IpOworQU5HTEVfVkFMSURBVEVfUEFD
S0VEX0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBPbmVNaW51c0NvbnN0YW50Q29sb3IsIEdMX09ORV9N
SU5VU19DT05TVEFOVF9DT0xPUik7CitBTkdMRV9WQUxJREFURV9QQUNLRURfRU5VTShCbGVuZEZh
Y3RvclR5cGUsIENvbnN0YW50QWxwaGEsIEdMX0NPTlNUQU5UX0FMUEhBKTsKK0FOR0xFX1ZBTElE
QVRFX1BBQ0tFRF9FTlVNKEJsZW5kRmFjdG9yVHlwZSwgT25lTWludXNDb25zdGFudEFscGhhLCBH
TF9PTkVfTUlOVVNfQ09OU1RBTlRfQUxQSEEpOworQU5HTEVfVkFMSURBVEVfUEFDS0VEX0VOVU0o
QmxlbmRGYWN0b3JUeXBlLCBTcmMxQWxwaGEsIEdMX1NSQzFfQUxQSEFfRVhUKTsKK0FOR0xFX1ZB
TElEQVRFX1BBQ0tFRF9FTlVNKEJsZW5kRmFjdG9yVHlwZSwgU3JjMUNvbG9yLCBHTF9TUkMxX0NP
TE9SX0VYVCk7CitBTkdMRV9WQUxJREFURV9QQUNLRURfRU5VTShCbGVuZEZhY3RvclR5cGUsIE9u
ZU1pbnVzU3JjMUNvbG9yLCBHTF9PTkVfTUlOVVNfU1JDMV9DT0xPUl9FWFQpOworQU5HTEVfVkFM
SURBVEVfUEFDS0VEX0VOVU0oQmxlbmRGYWN0b3JUeXBlLCBPbmVNaW51c1NyYzFBbHBoYSwgR0xf
T05FX01JTlVTX1NSQzFfQUxQSEFfRVhUKTsKKworc3RkOjpvc3RyZWFtICZvcGVyYXRvcjw8KHN0
ZDo6b3N0cmVhbSAmb3MsIEJsZW5kRmFjdG9yVHlwZSB2YWx1ZSk7CisKIGVudW0gY2xhc3MgVmVy
dGV4QXR0cmliVHlwZQogewogICAgIEJ5dGUgICAgICAgICAgICAgICA9IDAsICAgLy8gR0xlbnVt
ID09IDB4MTQwMApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1v
bi9iaXRzZXRfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vYml0
c2V0X3V0aWxzLmgKaW5kZXggMTg4MmU3ZDUzNmVlZjhjYjU2NzIyNDM5NjBmNmQ5ZDQ1ZWE0MTVl
ZC4uZmRjYjlhMTZiNzk2MDM0ZDVkOGUzYjU4ODU4ZGYyYjM5OGFkOTE4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9iaXRzZXRfdXRpbHMuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2JpdHNldF91dGlscy5oCkBAIC0xMzIs
NiArMTMyLDggQEAgY2xhc3MgQml0U2V0VCBmaW5hbAogICAgIEl0ZXJhdG9yIGJlZ2luKCkgY29u
c3QgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CiAgICAgSXRlcmF0b3IgZW5kKCkgY29uc3Qg
eyByZXR1cm4gSXRlcmF0b3IoQml0U2V0VCgpKTsgfQogCisgICAgY29uc3RleHByIHN0YXRpYyBC
aXRTZXRUIFplcm8oKSB7IHJldHVybiBCaXRTZXRUKCk7IH0KKwogICBwcml2YXRlOgogICAgIC8v
IFByb2R1Y2VzIGEgbWFzayBvZiBvbmVzIHVwIHRvIHRoZSAieCJ0aCBiaXQuCiAgICAgY29uc3Rl
eHByIHN0YXRpYyBCaXRzVCBNYXNrKHN0ZDo6c2l6ZV90IHgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2JpdHNldF91dGlsc191bml0dGVzdC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2JpdHNldF91dGlsc191bml0dGVzdC5j
cHAKaW5kZXggZjZiODRjYzQ4ZTg3MDEzMDc5YzUwY2JiYTUwNWYwMjI1ODM4MDg5Zi4uMWM4ZmU5
NDc5N2RjYWVhY2IzYTUwMzdlOGI3MzI4ODNhYjk5YjA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9iaXRzZXRfdXRpbHNfdW5pdHRlc3QuY3BwCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vYml0c2V0X3V0aWxzX3VuaXR0ZXN0
LmNwcApAQCAtMjgsNiArMjgsOCBAQCBUWVBFRF9URVNUX1NVSVRFKEJpdFNldFRlc3QsIEJpdFNl
dFR5cGVzKTsKIAogVFlQRURfVEVTVChCaXRTZXRUZXN0LCBCYXNpYykKIHsKKyAgICBFWFBFQ1Rf
RVEoVHlwZVBhcmFtOjpaZXJvKCkuYml0cygpLCAwdSk7CisKICAgICBUeXBlUGFyYW0gbUJpdHMg
PSB0aGlzLT5tQml0czsKICAgICBFWFBFQ1RfRkFMU0UobUJpdHMuYWxsKCkpOwogICAgIEVYUEVD
VF9GQUxTRShtQml0cy5hbnkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tbW9uL2Z1Y2hzaWFfZWdsL09XTkVSUyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21tb24vZnVjaHNpYV9lZ2wvT1dORVJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1YTI3NjAwZjQ2MDY5
YjhjNDNkMDBkMjNlMDg4YWU3ZWJhNjVhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2Z1Y2hzaWFfZWdsL09XTkVSUwpAQCAtMCwwICsxIEBA
CitzcGFuZ0BjaHJvbWl1bS5vcmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21tb24vc3lzdGVtX3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tbW9uL3N5c3RlbV91dGlscy5oCmluZGV4IDlkZGExNDQzNzFkZmVkYmFjYmFlYmRhNGYzNzA2
YmZmMjdjNmE0NDcuLjNjNDcyYTgwYzVlZjM0MTkzZDYwNmE3ODFhMWJhNDI3OTI2MGZkZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vc3lzdGVtX3V0aWxz
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9zeXN0ZW1fdXRpbHMu
aApAQCAtNjgsNiArNjgsNyBAQCBlbnVtIGNsYXNzIFNlYXJjaFR5cGUKIH07CiAKIExpYnJhcnkg
Kk9wZW5TaGFyZWRMaWJyYXJ5KGNvbnN0IGNoYXIgKmxpYnJhcnlOYW1lLCBTZWFyY2hUeXBlIHNl
YXJjaFR5cGUpOworTGlicmFyeSAqT3BlblNoYXJlZExpYnJhcnlXaXRoRXh0ZW5zaW9uKGNvbnN0
IGNoYXIgKmxpYnJhcnlOYW1lKTsKIAogLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9jZXNzIGlz
IGN1cnJlbnRseSBiZWluZyBkZWJ1Z2dlZC4KIGJvb2wgSXNEZWJ1Z2dlckF0dGFjaGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3N5c3RlbV91dGls
c19wb3NpeC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3N5c3RlbV91
dGlsc19wb3NpeC5jcHAKaW5kZXggZjljMDE5NTlmOTczNDk3NWQyYmMzZjJkZWYzMjllOWY3ZjMw
ZmIyOC4uYTI3YjhkYjFmODA3NjY4ODQ2MTk5YjJhMTkwZjdlOTAwZjUyMjc4NSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9zeXN0ZW1fdXRpbHNfcG9zaXgu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vc3lzdGVtX3V0aWxz
X3Bvc2l4LmNwcApAQCAtNzIsMTkgKzcyLDExIEBAIHN0ZDo6c3RyaW5nIEdldEhlbHBlckV4ZWN1
dGFibGVEaXIoKQogY2xhc3MgUG9zaXhMaWJyYXJ5IDogcHVibGljIExpYnJhcnkKIHsKICAgcHVi
bGljOgotICAgIFBvc2l4TGlicmFyeShjb25zdCBjaGFyICpsaWJyYXJ5TmFtZSwgU2VhcmNoVHlw
ZSBzZWFyY2hUeXBlKQorICAgIFBvc2l4TGlicmFyeShjb25zdCBzdGQ6OnN0cmluZyAmZnVsbFBh
dGgpIDogbU1vZHVsZShkbG9wZW4oZnVsbFBhdGguY19zdHIoKSwgUlRMRF9OT1cpKQogICAgIHsK
LSAgICAgICAgc3RkOjpzdHJpbmcgZGlyZWN0b3J5OwotICAgICAgICBpZiAoc2VhcmNoVHlwZSA9
PSBTZWFyY2hUeXBlOjpBcHBsaWNhdGlvbkRpcikKLSAgICAgICAgewotICAgICAgICAgICAgZGly
ZWN0b3J5ID0gR2V0SGVscGVyRXhlY3V0YWJsZURpcigpOwotICAgICAgICB9Ci0KLSAgICAgICAg
c3RkOjpzdHJpbmcgZnVsbFBhdGggPSBkaXJlY3RvcnkgKyBsaWJyYXJ5TmFtZSArICIuIiArIEdl
dFNoYXJlZExpYnJhcnlFeHRlbnNpb24oKTsKLSAgICAgICAgbU1vZHVsZSAgICAgICAgICAgICAg
PSBkbG9wZW4oZnVsbFBhdGguY19zdHIoKSwgUlRMRF9OT1cpOwogICAgICAgICBpZiAoIW1Nb2R1
bGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHN0ZDo6Y2VyciA8PCAiRmFpbGVkIHRvIGxvYWQg
IiA8PCBsaWJyYXJ5TmFtZSA8PCAiOiAiIDw8IGRsZXJyb3IoKSA8PCBzdGQ6OmVuZGw7CisgICAg
ICAgICAgICBzdGQ6OmNlcnIgPDwgIkZhaWxlZCB0byBsb2FkICIgPDwgZnVsbFBhdGggPDwgIjog
IiA8PCBkbGVycm9yKCkgPDwgc3RkOjplbmRsOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTQs
NyArMTA2LDE5IEBAIGNsYXNzIFBvc2l4TGlicmFyeSA6IHB1YmxpYyBMaWJyYXJ5CiAKIExpYnJh
cnkgKk9wZW5TaGFyZWRMaWJyYXJ5KGNvbnN0IGNoYXIgKmxpYnJhcnlOYW1lLCBTZWFyY2hUeXBl
IHNlYXJjaFR5cGUpCiB7Ci0gICAgcmV0dXJuIG5ldyBQb3NpeExpYnJhcnkobGlicmFyeU5hbWUs
IHNlYXJjaFR5cGUpOworICAgIHN0ZDo6c3RyaW5nIGRpcmVjdG9yeTsKKyAgICBpZiAoc2VhcmNo
VHlwZSA9PSBTZWFyY2hUeXBlOjpBcHBsaWNhdGlvbkRpcikKKyAgICB7CisgICAgICAgIGRpcmVj
dG9yeSA9IEdldEhlbHBlckV4ZWN1dGFibGVEaXIoKTsKKyAgICB9CisKKyAgICBzdGQ6OnN0cmlu
ZyBmdWxsUGF0aCA9IGRpcmVjdG9yeSArIGxpYnJhcnlOYW1lICsgIi4iICsgR2V0U2hhcmVkTGli
cmFyeUV4dGVuc2lvbigpOworICAgIHJldHVybiBuZXcgUG9zaXhMaWJyYXJ5KGZ1bGxQYXRoKTsK
K30KKworTGlicmFyeSAqT3BlblNoYXJlZExpYnJhcnlXaXRoRXh0ZW5zaW9uKGNvbnN0IGNoYXIg
KmxpYnJhcnlOYW1lKQoreworICAgIHJldHVybiBuZXcgUG9zaXhMaWJyYXJ5KGxpYnJhcnlOYW1l
KTsKIH0KIAogYm9vbCBJc0RpcmVjdG9yeShjb25zdCBjaGFyICpmaWxlbmFtZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vc3lzdGVtX3V0aWxzX3dpbjMy
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vc3lzdGVtX3V0aWxzX3dp
bjMyLmNwcAppbmRleCBkNjUwNGU0NDBjMTVmYzlkMmRkODc2NmE1YzkxZmNjZjY1MGZkMWRiLi5m
YmU2MWRmOThlMWRiMmRkNGMzYjkyYThkY2U0Y2MwMmU4ZWMyYjM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3N5c3RlbV91dGlsc193aW4zMi5jcHAKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9zeXN0ZW1fdXRpbHNfd2luMzIu
Y3BwCkBAIC00MiwxOSArNDIsMTQgQEAgY2xhc3MgV2luMzJMaWJyYXJ5IDogcHVibGljIExpYnJh
cnkKICAgcHVibGljOgogICAgIFdpbjMyTGlicmFyeShjb25zdCBjaGFyICpsaWJyYXJ5TmFtZSwg
U2VhcmNoVHlwZSBzZWFyY2hUeXBlKQogICAgIHsKLSAgICAgICAgY2hhciBidWZmZXJbTUFYX1BB
VEhdOwotICAgICAgICBpbnQgcmV0ID0gc25wcmludGYoYnVmZmVyLCBNQVhfUEFUSCwgIiVzLiVz
IiwgbGlicmFyeU5hbWUsIEdldFNoYXJlZExpYnJhcnlFeHRlbnNpb24oKSk7Ci0gICAgICAgIGlm
IChyZXQgPiAwICYmIHJldCA8IE1BWF9QQVRIKQorICAgICAgICBzd2l0Y2ggKHNlYXJjaFR5cGUp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHN3aXRjaCAoc2VhcmNoVHlwZSkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjYXNlIFNlYXJjaFR5cGU6OkFwcGxpY2F0aW9uRGlyOgotICAg
ICAgICAgICAgICAgICAgICBtTW9kdWxlID0gTG9hZExpYnJhcnlBKGJ1ZmZlcik7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgU2VhcmNoVHlwZTo6U3lz
dGVtRGlyOgotICAgICAgICAgICAgICAgICAgICBtTW9kdWxlID0gTG9hZExpYnJhcnlFeEEoYnVm
ZmVyLCBudWxscHRyLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlIFNlYXJjaFR5
cGU6OkFwcGxpY2F0aW9uRGlyOgorICAgICAgICAgICAgICAgIG1Nb2R1bGUgPSBMb2FkTGlicmFy
eUEobGlicmFyeU5hbWUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBTZWFyY2hUeXBlOjpTeXN0ZW1EaXI6CisgICAgICAgICAgICAgICAgbU1vZHVsZSA9IExvYWRM
aWJyYXJ5RXhBKGxpYnJhcnlOYW1lLCBudWxscHRyLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RF
TTMyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIApAQCAtODQs
NiArNzksMjEgQEAgY2xhc3MgV2luMzJMaWJyYXJ5IDogcHVibGljIExpYnJhcnkKIAogTGlicmFy
eSAqT3BlblNoYXJlZExpYnJhcnkoY29uc3QgY2hhciAqbGlicmFyeU5hbWUsIFNlYXJjaFR5cGUg
c2VhcmNoVHlwZSkKIHsKLSAgICByZXR1cm4gbmV3IFdpbjMyTGlicmFyeShsaWJyYXJ5TmFtZSwg
c2VhcmNoVHlwZSk7CisgICAgY2hhciBidWZmZXJbTUFYX1BBVEhdOworICAgIGludCByZXQgPSBz
bnByaW50ZihidWZmZXIsIE1BWF9QQVRILCAiJXMuJXMiLCBsaWJyYXJ5TmFtZSwgR2V0U2hhcmVk
TGlicmFyeUV4dGVuc2lvbigpKTsKKyAgICBpZiAocmV0ID4gMCAmJiByZXQgPCBNQVhfUEFUSCkK
KyAgICB7CisgICAgICAgIHJldHVybiBuZXcgV2luMzJMaWJyYXJ5KGJ1ZmZlciwgc2VhcmNoVHlw
ZSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJy
b3IgbG9hZGluZyBzaGFyZWQgbGlicmFyeTogMHgleCIsIHJldCk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KK30KKworTGlicmFyeSAqT3BlblNoYXJlZExpYnJhcnlXaXRoRXh0ZW5z
aW9uKGNvbnN0IGNoYXIgKmxpYnJhcnlOYW1lKQoreworICAgIHJldHVybiBuZXcgV2luMzJMaWJy
YXJ5KGxpYnJhcnlOYW1lLCBTZWFyY2hUeXBlOjpTeXN0ZW1EaXIpOwogfQogfSAgLy8gbmFtZXNw
YWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9u
L3N5c3RlbV91dGlsc193aW51d3AuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bW1vbi9zeXN0ZW1fdXRpbHNfd2ludXdwLmNwcAppbmRleCBiNmRhMjA4Y2MyNTkxY2ZkODgzMmZh
ZjYzOTM4ZTZiMjAwNDcwMmYyLi5iM2JiYjc4Mzg4MjM5MjRmMzljMWQ3YzE4YTA4NDU5OTA4NjU3
OWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3N5c3Rl
bV91dGlsc193aW51d3AuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21t
b24vc3lzdGVtX3V0aWxzX3dpbnV3cC5jcHAKQEAgLTM1LDIzICszNSwxNyBAQCBjbGFzcyBVd3BM
aWJyYXJ5IDogcHVibGljIExpYnJhcnkKICAgcHVibGljOgogICAgIFV3cExpYnJhcnkoY29uc3Qg
Y2hhciAqbGlicmFyeU5hbWUsIFNlYXJjaFR5cGUgc2VhcmNoVHlwZSkKICAgICB7Ci0gICAgICAg
IGNoYXIgYnVmZmVyW01BWF9QQVRIXTsKLSAgICAgICAgaW50IHJldCA9IHNucHJpbnRmKGJ1ZmZl
ciwgTUFYX1BBVEgsICIlcy4lcyIsIGxpYnJhcnlOYW1lLCBHZXRTaGFyZWRMaWJyYXJ5RXh0ZW5z
aW9uKCkpOwotCiAgICAgICAgIHN0ZDo6d3N0cmluZ19jb252ZXJ0PHN0ZDo6Y29kZWN2dF91dGY4
X3V0ZjE2PHdjaGFyX3Q+PiBjb252ZXJ0ZXI7Ci0gICAgICAgIHN0ZDo6d3N0cmluZyB3aWRlQnVm
ZmVyID0gY29udmVydGVyLmZyb21fYnl0ZXMoYnVmZmVyKTsKKyAgICAgICAgc3RkOjp3c3RyaW5n
IHdpZGVCdWZmZXIgPSBjb252ZXJ0ZXIuZnJvbV9ieXRlcyhsaWJyYXJ5TmFtZSk7CiAKLSAgICAg
ICAgaWYgKHJldCA+IDAgJiYgcmV0IDwgTUFYX1BBVEgpCisgICAgICAgIHN3aXRjaCAoc2VhcmNo
VHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgc3dpdGNoIChzZWFyY2hUeXBlKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGNhc2UgU2VhcmNoVHlwZTo6QXBwbGljYXRpb25EaXI6
Ci0gICAgICAgICAgICAgICAgICAgIG1Nb2R1bGUgPSBMb2FkUGFja2FnZWRMaWJyYXJ5KHdpZGVC
dWZmZXIuY19zdHIoKSwgMCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIGNhc2UgU2VhcmNoVHlwZTo6U3lzdGVtRGlyOgotICAgICAgICAgICAgICAgICAgICAv
LyBOb3Qgc3VwcG9ydGVkIGluIFVXUAotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgU2VhcmNoVHlwZTo6QXBwbGljYXRpb25EaXI6Cisg
ICAgICAgICAgICAgICAgbU1vZHVsZSA9IExvYWRQYWNrYWdlZExpYnJhcnkod2lkZUJ1ZmZlci5j
X3N0cigpLCAwKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU2Vh
cmNoVHlwZTo6U3lzdGVtRGlyOgorICAgICAgICAgICAgICAgIC8vIE5vdCBzdXBwb3J0ZWQgaW4g
VVdQCisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTgxLDYg
Kzc1LDI0IEBAIGNsYXNzIFV3cExpYnJhcnkgOiBwdWJsaWMgTGlicmFyeQogCiBMaWJyYXJ5ICpP
cGVuU2hhcmVkTGlicmFyeShjb25zdCBjaGFyICpsaWJyYXJ5TmFtZSwgU2VhcmNoVHlwZSBzZWFy
Y2hUeXBlKQogewotICAgIHJldHVybiBuZXcgVXdwTGlicmFyeShsaWJyYXJ5TmFtZSwgc2VhcmNo
VHlwZSk7CisgICAgY2hhciBidWZmZXJbTUFYX1BBVEhdOworICAgIGludCByZXQgPSBzbnByaW50
ZihidWZmZXIsIE1BWF9QQVRILCAiJXMuJXMiLCBsaWJyYXJ5TmFtZSwgR2V0U2hhcmVkTGlicmFy
eUV4dGVuc2lvbigpKTsKKworICAgIGlmIChyZXQgPiAwICYmIHJldCA8IE1BWF9QQVRIKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBVd3BMaWJyYXJ5KGJ1ZmZlciwgc2VhcmNoVHlwZSk7Cisg
ICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgbG9h
ZGluZyBzaGFyZWQgbGlicmFyeTogMHgleCIsIHJldCk7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KK30KKworTGlicmFyeSAqT3BlblNoYXJlZExpYnJhcnlXaXRoRXh0ZW5zaW9uKGNv
bnN0IGNoYXIgKmxpYnJhcnlOYW1lKQoreworICAgIC8vIFN5c3RlbURpciBpcyBub3QgaW1wbGVt
ZW50ZWQgaW4gVVdQLgorICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgbG9hZGluZyBzaGFyZWQg
bGlicmFyeSB3aXRoIGV4dGVuc2lvbi5cbiIpOworICAgIHJldHVybiBudWxscHRyOwogfQogfSAg
Ly8gbmFtZXNwYWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tbW9uL3V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
bW9uL3V0aWxpdGllcy5jcHAKaW5kZXggMGE2ZGNjMjQ4OWNmZGUzYjM3MmExNjRhMzE5OTEwMmFh
YjhjNmI4MS4uNDZiMDViMDgyMzI5NmEyOWNmZGE5YjcyMjNiZjBlZDM5NTMwNmU5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi91dGlsaXRpZXMuY3BwCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdXRpbGl0aWVzLmNwcApAQCAt
OTUyLDYgKzk1MiwxMyBAQCB1bnNpZ25lZCBpbnQgUGFyc2VBcnJheUluZGV4KGNvbnN0IHN0ZDo6
c3RyaW5nICZuYW1lLCBzaXplX3QgKm5hbWVMZW5ndGhXaXRob3V0QQogICAgICAgICAgICAgICAg
IGluZGV4SXNWYWxpZERlY2ltYWxOdW1iZXIgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gTGVhZGluZyB6ZXJvZXMgYXJlIGlu
dmFsaWQKKyAgICAgICAgICAgIGlmICgoaSA9PSAob3BlbiArIDEpKSAmJiAobmFtZVtpXSA9PSAn
MCcpICYmIChuYW1lW2kgKyAxXSAhPSAnXScpKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGluZGV4SXNWYWxpZERlY2ltYWxOdW1iZXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoaW5kZXhJc1ZhbGlk
RGVjaW1hbE51bWJlcikKICAgICAgICAgewpAQCAtMTE1Myw2ICsxMTYwLDcgQEAgYm9vbCBJc0V4
dGVybmFsSW1hZ2VUYXJnZXQoRUdMZW51bSB0YXJnZXQpCiAgICAgewogICAgICAgICBjYXNlIEVH
TF9OQVRJVkVfQlVGRkVSX0FORFJPSUQ6CiAgICAgICAgIGNhc2UgRUdMX0QzRDExX1RFWFRVUkVf
QU5HTEU6CisgICAgICAgIGNhc2UgRUdMX0xJTlVYX0RNQV9CVUZfRVhUOgogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAKICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdXRpbGl0aWVzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tbW9uL3V0aWxpdGllcy5oCmluZGV4IDNkYjcwMWMwYjhkMGNkZmViNjdhYjhi
ZTZjMTY2M2QwMTJiNTgzZTMuLjNjZGYxZDI4Y2ExODEzYTAwMGM3YjU4N2ViNzUzOGFjZTIyMjY0
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdXRpbGl0
aWVzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi91dGlsaXRpZXMu
aApAQCAtMjI4LDYgKzIyOCwxNSBAQCBjb25zdCBjaGFyICpHZXREZWJ1Z01lc3NhZ2VTb3VyY2VT
dHJpbmcoR0xlbnVtIHNvdXJjZSk7CiBjb25zdCBjaGFyICpHZXREZWJ1Z01lc3NhZ2VUeXBlU3Ry
aW5nKEdMZW51bSB0eXBlKTsKIGNvbnN0IGNoYXIgKkdldERlYnVnTWVzc2FnZVNldmVyaXR5U3Ry
aW5nKEdMZW51bSBzZXZlcml0eSk7CiAKKy8vIEZvciB1c2Ugd2l0aCBFWFRfdGV4dHVyZV9mb3Jt
YXRfc1JHQl9vdmVycmlkZSBhbmQgRVhUX3RleHR1cmVfc1JHQl9kZWNvZGUKKy8vIEEgdGV4dHVy
ZSBtYXkgZWl0aGVyIGhhdmUgU1JHQiBkZWNvZGluZyBmb3JjZWQgb24sIG9yIHVzZSB3aGF0ZXZl
ciBkZWNvZGUgc3RhdGUgaXMgZGVmYXVsdCBmb3IKKy8vIHRoZSB0ZXh0dXJlIGZvcm1hdC4KK2Vu
dW0gY2xhc3MgU3JnYk92ZXJyaWRlCit7CisgICAgRGVmYXVsdCA9IDAsCisgICAgRW5hYmxlZAor
fTsKKwogfSAgLy8gbmFtZXNwYWNlIGdsCiAKIG5hbWVzcGFjZSBlZ2wKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL0JVSUxELmduIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi92dWxrYW4vQlVJTEQuZ24KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2E0ODMxYmJlMzhhMWZjMGNkYWIwZTlhYzVhODczNzVhNDEwYTVhZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL0JVSUxELmduCkBA
IC0wLDAgKzEsNjQgQEAKKyMgQ29weXJpZ2h0IDIwMjAgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorIyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCitpbXBvcnQoIi8vYnVpbGRfb3ZlcnJpZGVzL3N3aWZ0c2hhZGVyLmdu
aSIpCitpbXBvcnQoIi4uLy4uLy4uL2duaS9hbmdsZS5nbmkiKQorCithc3NlcnQoYW5nbGVfZW5h
YmxlX3Z1bGthbikKKworYW5nbGVfc291cmNlX3NldCgidnVsa2FuIikgeworICBzb3VyY2VzID0g
WworICAgICJ2dWxrYW5faWNkLmNwcCIsCisgICAgInZ1bGthbl9pY2QuaCIsCisgIF0KKworICBw
dWJsaWNfZGVwcyA9IFsKKyAgICAiJGFuZ2xlX3Jvb3Q6YW5nbGVfY29tbW9uIiwKKyAgICAiJGFu
Z2xlX3Jvb3Qvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbjphbmdsZV92dWxrYW5fZW50cnlf
cG9pbnRzIiwKKyAgXQorCisgIGRlZmluZXMgPSBbCisgICAgIkFOR0xFX1ZLX0xBWUVSU19ESVI9
XCIkYW5nbGVfZGF0YV9kaXJcIiIsCisgICAgIkFOR0xFX1ZLX01PQ0tfSUNEX0pTT049XCIkYW5n
bGVfZGF0YV9kaXIvVmtJQ0RfbW9ja19pY2QuanNvblwiIiwKKyAgXQorCisgIGRlcHMgPSBbXQor
ICBkYXRhX2RlcHMgPSBbXQorCisgIGlmICghaXNfYW5kcm9pZCAmJiAhaXNfZnVjaHNpYSAmJiAh
aXNfZ2dwKSB7CisgICAgaWYgKGFuZ2xlX3NoYXJlZF9saWJ2dWxrYW4pIHsKKyAgICAgIGRhdGFf
ZGVwcyArPSBbICIkYW5nbGVfcm9vdC90aGlyZF9wYXJ0eS92dWxrYW4tbG9hZGVyL3NyYzpsaWJ2
dWxrYW4iIF0KKyAgICB9IGVsc2UgeworICAgICAgZGVwcyArPSBbICIkYW5nbGVfcm9vdC90aGly
ZF9wYXJ0eS92dWxrYW4tbG9hZGVyL3NyYzpsaWJ2dWxrYW4iIF0KKyAgICB9CisgICAgZGF0YV9k
ZXBzICs9IFsgIiRhbmdsZV9yb290L3RoaXJkX3BhcnR5L3Z1bGthbi10b29scy9zcmM6VmtJQ0Rf
bW9ja19pY2QiIF0KKyAgfQorCisgIGlmIChhbmdsZV9lbmFibGVfc3dpZnRzaGFkZXIpIHsKKyAg
ICBpbXBvcnQoIiRzd2lmdHNoYWRlcl9kaXIvc3JjL1Z1bGthbi92dWxrYW4uZ25pIikKKyAgICBf
c3dzX2ljZCA9ICIuLyRzd2lmdHNoYWRlcl9pY2RfZmlsZV9uYW1lIgorICAgIGlmIChpc193aW4p
IHsKKyAgICAgIF9zd3NfaWNkID0gIi5cXFxcJHN3aWZ0c2hhZGVyX2ljZF9maWxlX25hbWUiCisg
ICAgfQorCisgICAgZGVmaW5lcyArPSBbICJBTkdMRV9WS19TV0lGVFNIQURFUl9JQ0RfSlNPTj1c
IiR7X3N3c19pY2R9XCIiIF0KKworICAgIGRhdGFfZGVwcyArPSBbCisgICAgICAiJHN3aWZ0c2hh
ZGVyX2Rpci9zcmMvVnVsa2FuOmljZF9maWxlIiwKKyAgICAgICIkc3dpZnRzaGFkZXJfZGlyL3Ny
Yy9WdWxrYW46c3dpZnRzaGFkZXJfbGlidnVsa2FuIiwKKyAgICBdCisgIH0KK30KKworZ3JvdXAo
InZ1bGthbl92YWxpZGF0aW9uX2xheWVycyIpIHsKKyAgZGF0YV9kZXBzID0gW10KKyAgaWYgKGlz
X2Z1Y2hzaWEpIHsKKyAgICBkYXRhX2RlcHMgKz0gWyAiLy90aGlyZF9wYXJ0eS9mdWNoc2lhLXNk
azp2dWxrYW5fdmFsaWRhdGlvbiIgXQorICB9IGVsc2UgeworICAgIGRhdGFfZGVwcyArPSBbICIk
YW5nbGVfcm9vdC90aGlyZF9wYXJ0eS92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjOnZ1bGth
bl92YWxpZGF0aW9uX2xheWVycyIgXQorICAgIGlmICghaXNfYW5kcm9pZCkgeworICAgICAgZGF0
YV9kZXBzICs9IFsgIiRhbmdsZV9yb290L3RoaXJkX3BhcnR5L3Z1bGthbi12YWxpZGF0aW9uLWxh
eWVycy9zcmM6dnVsa2FuX2dlbl9qc29uX2ZpbGVzIiBdCisgICAgfQorICB9Cit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3Z1bGthbi92dWxrYW5faWNk
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL3Z1bGthbl9p
Y2QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJmNTZjN2RlNmQ5MjU3NGI4ZjNlYWRiNTE2Y2RhMDAzZDhkZWFj
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9u
L3Z1bGthbi92dWxrYW5faWNkLmNwcApAQCAtMCwwICsxLDIxMyBAQAorLy8KKy8vIENvcHlyaWdo
dCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8g
dnVsa2FuX2ljZC5jcHAgOiBIZWxwZXIgZm9yIGNyZWF0aW5nIHZ1bGthbiBpbnN0YW5jZXMgJiBz
ZWxlY3RpbmcgcGh5c2ljYWwgZGV2aWNlLgorCisjaW5jbHVkZSAiY29tbW9uL3Z1bGthbi92dWxr
YW5faWNkLmgiCisKKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgorI2luY2x1ZGUgPHZlY3Rvcj4KKwor
I2luY2x1ZGUgImNvbW1vbi9iaXRzZXRfdXRpbHMuaCIKKyNpbmNsdWRlICJjb21tb24vZGVidWcu
aCIKKyNpbmNsdWRlICJjb21tb24vc3lzdGVtX3V0aWxzLmgiCisKK25hbWVzcGFjZSBhbmdsZQor
eworCituYW1lc3BhY2UgdmsKK3sKKworbmFtZXNwYWNlCit7CisKKy8vIFRoaXMgZnVuY3Rpb24g
aXMgdW51c2VkIG9uIEFuZHJvaWQvRnVzY2hpYS9HR1AKKyNpZiAhZGVmaW5lZChBTkdMRV9QTEFU
Rk9STV9BTkRST0lEKSAmJiAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9GVUNIU0lBKSAmJiBcCisg
ICAgIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fR0dQKQorY29uc3Qgc3RkOjpzdHJpbmcgV3JhcElD
REVudmlyb25tZW50KGNvbnN0IGNoYXIgKmljZEVudmlyb25tZW50KQoreworIyAgICBpZiBkZWZp
bmVkKEFOR0xFX1BMQVRGT1JNX0FQUExFKQorICAgIC8vIE9uIE1hY09TIHRoZSBsaWJyYXJpZXMg
YXJlIGJ1bmRsZWQgaW50byB0aGUgYXBwbGljYXRpb24gZGlyZWN0b3J5CisgICAgc3RkOjpzdHJp
bmcgcmV0ID0gYW5nbGU6OkdldEhlbHBlckV4ZWN1dGFibGVEaXIoKSArIGljZEVudmlyb25tZW50
OworICAgIHJldHVybiByZXQ7CisjICAgIGVuZGlmICAvLyBkZWZpbmVkKEFOR0xFX1BMQVRGT1JN
X0FQUExFKQorICAgIHJldHVybiBpY2RFbnZpcm9ubWVudDsKK30KKworY29uc3RleHByIGNoYXIg
a0xvYWRlckxheWVyc1BhdGhFbnZbXSA9ICJWS19MQVlFUl9QQVRIIjsKKyNlbmRpZgorCitjb25z
dGV4cHIgY2hhciBrTG9hZGVySUNERmlsZW5hbWVzRW52W10gICA9ICJWS19JQ0RfRklMRU5BTUVT
IjsKK2NvbnN0ZXhwciBjaGFyIGtBTkdMRVByZWZlcnJlZERldmljZUVudltdID0gIkFOR0xFX1BS
RUZFUlJFRF9ERVZJQ0UiOworCitjb25zdGV4cHIgdWludDMyX3Qga01vY2tWZW5kb3JJRCA9IDB4
YmE1ZWJhMTE7Citjb25zdGV4cHIgdWludDMyX3Qga01vY2tEZXZpY2VJRCA9IDB4ZjAwNWJhMTE7
Citjb25zdGV4cHIgY2hhciBrTW9ja0RldmljZU5hbWVbXSA9ICJWdWxrYW4gTW9jayBEZXZpY2Ui
OworCitjb25zdGV4cHIgdWludDMyX3Qga0dvb2dsZVZlbmRvcklEICAgICAgPSAweDFBRTA7Citj
b25zdGV4cHIgdWludDMyX3Qga1N3aWZ0U2hhZGVyRGV2aWNlSUQgPSAweEMwREU7Citjb25zdGV4
cHIgY2hhciBrU3dpZnRTaGFkZXJEZXZpY2VOYW1lW10gPSAiU3dpZnRTaGFkZXIgRGV2aWNlIjsK
KwordXNpbmcgSUNERmlsdGVyRnVuYyA9IHN0ZDo6ZnVuY3Rpb248Ym9vbChjb25zdCBWa1BoeXNp
Y2FsRGV2aWNlUHJvcGVydGllcyAmKT47CisKK0lDREZpbHRlckZ1bmMgR2V0RmlsdGVyRm9ySUNE
KHZrOjpJQ0QgcHJlZmVycmVkSUNEKQoreworICAgIHN3aXRjaCAocHJlZmVycmVkSUNEKQorICAg
IHsKKyAgICAgICAgY2FzZSB2azo6SUNEOjpNb2NrOgorICAgICAgICAgICAgcmV0dXJuIFtdKGNv
bnN0IFZrUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzICZkZXZpY2VQcm9wZXJ0aWVzKSB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuICgoZGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCA9PSBrTW9ja1Zl
bmRvcklEKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgKGRldmljZVByb3BlcnRpZXMuZGV2
aWNlSUQgPT0ga01vY2tEZXZpY2VJRCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgIChzdHJj
bXAoZGV2aWNlUHJvcGVydGllcy5kZXZpY2VOYW1lLCBrTW9ja0RldmljZU5hbWUpID09IDApKTsK
KyAgICAgICAgICAgIH07CisgICAgICAgIGNhc2Ugdms6OklDRDo6U3dpZnRTaGFkZXI6CisgICAg
ICAgICAgICByZXR1cm4gW10oY29uc3QgVmtQaHlzaWNhbERldmljZVByb3BlcnRpZXMgJmRldmlj
ZVByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gKChkZXZpY2VQcm9wZXJ0aWVz
LnZlbmRvcklEID09IGtHb29nbGVWZW5kb3JJRCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAg
IChkZXZpY2VQcm9wZXJ0aWVzLmRldmljZUlEID09IGtTd2lmdFNoYWRlckRldmljZUlEKSAmJgor
ICAgICAgICAgICAgICAgICAgICAgICAgKHN0cm5jbXAoZGV2aWNlUHJvcGVydGllcy5kZXZpY2VO
YW1lLCBrU3dpZnRTaGFkZXJEZXZpY2VOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RybGVuKGtTd2lmdFNoYWRlckRldmljZU5hbWUpKSA9PSAwKSk7CisgICAgICAgICAg
ICB9OworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgYW5n
bGVQcmVmZXJyZWREZXZpY2UgPQorICAgICAgICAgICAgICAgIGFuZ2xlOjpHZXRFbnZpcm9ubWVu
dFZhcihrQU5HTEVQcmVmZXJyZWREZXZpY2VFbnYpOworICAgICAgICAgICAgcmV0dXJuIFthbmds
ZVByZWZlcnJlZERldmljZV0oY29uc3QgVmtQaHlzaWNhbERldmljZVByb3BlcnRpZXMgJmRldmlj
ZVByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gKGFuZ2xlUHJlZmVycmVkRGV2
aWNlLmVtcHR5KCkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlUHJlZmVycmVkRGV2
aWNlID09IGRldmljZVByb3BlcnRpZXMuZGV2aWNlTmFtZSk7CisgICAgICAgICAgICB9OworICAg
IH0KK30KKworfSAgLy8gbmFtZXNwYWNlCisKKy8vIElmIHdlJ3JlIGxvYWRpbmcgdGhlIHZhbGlk
YXRpb24gbGF5ZXJzLCB3ZSBjb3VsZCBiZSBydW5uaW5nIGZyb20gYW55IHJhbmRvbSBkaXJlY3Rv
cnkuCisvLyBDaGFuZ2UgdG8gdGhlIGV4ZWN1dGFibGUgZGlyZWN0b3J5IHNvIHdlIGNhbiBmaW5k
IHRoZSBsYXllcnMsIHRoZW4gY2hhbmdlIGJhY2sgdG8gdGhlCisvLyBwcmV2aW91cyBkaXJlY3Rv
cnkgdG8gYmUgc2FmZSB3ZSBkb24ndCBkaXNydXB0IHRoZSBhcHBsaWNhdGlvbi4KK1Njb3BlZFZr
TG9hZGVyRW52aXJvbm1lbnQ6OlNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQoYm9vbCBlbmFibGVW
YWxpZGF0aW9uTGF5ZXJzLCB2azo6SUNEIGljZCkKKyAgICA6IG1FbmFibGVWYWxpZGF0aW9uTGF5
ZXJzKGVuYWJsZVZhbGlkYXRpb25MYXllcnMpLAorICAgICAgbUlDRChpY2QpLAorICAgICAgbUNo
YW5nZWRDV0QoZmFsc2UpLAorICAgICAgbUNoYW5nZWRJQ0RFbnYoZmFsc2UpCit7CisvLyBDaGFu
Z2luZyBDV0QgYW5kIHNldHRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIG1ha2VzIG5vIHNlbnNl
IG9uIEFuZHJvaWQsCisvLyBzaW5jZSB0aGlzIGNvZGUgaXMgYSBwYXJ0IG9mIEphdmEgYXBwbGlj
YXRpb24gdGhlcmUuCisvLyBBbmRyb2lkIFZ1bGthbiBsb2FkZXIgZG9lc24ndCBuZWVkIHRoaXMg
ZWl0aGVyLgorI2lmICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0FORFJPSUQpICYmICFkZWZpbmVk
KEFOR0xFX1BMQVRGT1JNX0ZVQ0hTSUEpICYmIFwKKyAgICAhZGVmaW5lZChBTkdMRV9QTEFURk9S
TV9HR1ApCisgICAgaWYgKGljZCA9PSB2azo6SUNEOjpNb2NrKQorICAgIHsKKyAgICAgICAgaWYg
KCFzZXRJQ0RFbnZpcm9ubWVudChXcmFwSUNERW52aXJvbm1lbnQoQU5HTEVfVktfTU9DS19JQ0Rf
SlNPTikuY19zdHIoKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVSUigpIDw8ICJFcnJvciBz
ZXR0aW5nIGVudmlyb25tZW50IGZvciBNb2NrL051bGwgRHJpdmVyLiI7CisgICAgICAgIH0KKyAg
ICB9CisjICAgIGlmIGRlZmluZWQoQU5HTEVfVktfU1dJRlRTSEFERVJfSUNEX0pTT04pCisgICAg
ZWxzZSBpZiAoaWNkID09IHZrOjpJQ0Q6OlN3aWZ0U2hhZGVyKQorICAgIHsKKyAgICAgICAgaWYg
KCFzZXRJQ0RFbnZpcm9ubWVudChXcmFwSUNERW52aXJvbm1lbnQoQU5HTEVfVktfU1dJRlRTSEFE
RVJfSUNEX0pTT04pLmNfc3RyKCkpKQorICAgICAgICB7CisgICAgICAgICAgICBFUlIoKSA8PCAi
RXJyb3Igc2V0dGluZyBlbnZpcm9ubWVudCBmb3IgU3dpZnRTaGFkZXIuIjsKKyAgICAgICAgfQor
ICAgIH0KKyMgICAgZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfVktfU1dJRlRTSEFERVJfSUNEX0pT
T04pCisgICAgaWYgKG1FbmFibGVWYWxpZGF0aW9uTGF5ZXJzIHx8IGljZCAhPSB2azo6SUNEOjpE
ZWZhdWx0KQorICAgIHsKKyAgICAgICAgY29uc3QgYXV0byAmY3dkID0gYW5nbGU6OkdldENXRCgp
OworICAgICAgICBpZiAoIWN3ZC52YWxpZCgpKQorICAgICAgICB7CisgICAgICAgICAgICBFUlIo
KSA8PCAiRXJyb3IgZ2V0dGluZyBDV0QgZm9yIFZ1bGthbiBsYXllcnMgaW5pdC4iOworICAgICAg
ICAgICAgbUVuYWJsZVZhbGlkYXRpb25MYXllcnMgPSBmYWxzZTsKKyAgICAgICAgICAgIG1JQ0Qg
ICAgICAgICAgICAgICAgICAgID0gdms6OklDRDo6RGVmYXVsdDsKKyAgICAgICAgfQorICAgICAg
ICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIG1QcmV2aW91c0NXRCAgICAgICA9IGN3ZC52
YWx1ZSgpOworICAgICAgICAgICAgc3RkOjpzdHJpbmcgZXhlRGlyID0gYW5nbGU6OkdldEV4ZWN1
dGFibGVEaXJlY3RvcnkoKTsKKyAgICAgICAgICAgIG1DaGFuZ2VkQ1dEICAgICAgICA9IGFuZ2xl
OjpTZXRDV0QoZXhlRGlyLmNfc3RyKCkpOworICAgICAgICAgICAgaWYgKCFtQ2hhbmdlZENXRCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBFUlIoKSA8PCAiRXJyb3Igc2V0dGluZyBD
V0QgZm9yIFZ1bGthbiBsYXllcnMgaW5pdC4iOworICAgICAgICAgICAgICAgIG1FbmFibGVWYWxp
ZGF0aW9uTGF5ZXJzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgbUlDRCAgICAgICAgICAgICAg
ICAgICAgPSB2azo6SUNEOjpEZWZhdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCisgICAgLy8gT3ZlcnJpZGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdXNlIHRoZSBBTkdM
RSBsYXllcnMuCisgICAgaWYgKG1FbmFibGVWYWxpZGF0aW9uTGF5ZXJzKQorICAgIHsKKyAgICAg
ICAgaWYgKCFhbmdsZTo6UHJlcGVuZFBhdGhUb0Vudmlyb25tZW50VmFyKGtMb2FkZXJMYXllcnNQ
YXRoRW52LCBBTkdMRV9WS19MQVlFUlNfRElSKSkKKyAgICAgICAgeworICAgICAgICAgICAgRVJS
KCkgPDwgIkVycm9yIHNldHRpbmcgZW52aXJvbm1lbnQgZm9yIFZ1bGthbiBsYXllcnMgaW5pdC4i
OworICAgICAgICAgICAgbUVuYWJsZVZhbGlkYXRpb25MYXllcnMgPSBmYWxzZTsKKyAgICAgICAg
fQorICAgIH0KKyNlbmRpZiAgLy8gIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKK30K
KworU2NvcGVkVmtMb2FkZXJFbnZpcm9ubWVudDo6flNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQo
KQoreworICAgIGlmIChtQ2hhbmdlZENXRCkKKyAgICB7CisjaWYgIWRlZmluZWQoQU5HTEVfUExB
VEZPUk1fQU5EUk9JRCkKKyAgICAgICAgQVNTRVJUKG1QcmV2aW91c0NXRC52YWxpZCgpKTsKKyAg
ICAgICAgYW5nbGU6OlNldENXRChtUHJldmlvdXNDV0QudmFsdWUoKS5jX3N0cigpKTsKKyNlbmRp
ZiAgLy8gIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKKyAgICB9CisgICAgaWYgKG1D
aGFuZ2VkSUNERW52KQorICAgIHsKKyAgICAgICAgaWYgKG1QcmV2aW91c0lDREVudi52YWx1ZSgp
LmVtcHR5KCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFuZ2xlOjpVbnNldEVudmlyb25tZW50
VmFyKGtMb2FkZXJJQ0RGaWxlbmFtZXNFbnYpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgeworICAgICAgICAgICAgYW5nbGU6OlNldEVudmlyb25tZW50VmFyKGtMb2FkZXJJQ0RG
aWxlbmFtZXNFbnYsIG1QcmV2aW91c0lDREVudi52YWx1ZSgpLmNfc3RyKCkpOworICAgICAgICB9
CisgICAgfQorfQorCitib29sIFNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQ6OnNldElDREVudmly
b25tZW50KGNvbnN0IGNoYXIgKmljZCkKK3sKKyAgICAvLyBPdmVycmlkZSBlbnZpcm9ubWVudCB2
YXJpYWJsZSB0byB1c2UgYnVpbHQgTW9jayBJQ0QKKyAgICAvLyBBTkdMRV9WS19JQ0RfSlNPTiBn
ZXRzIHNldCB0byB0aGUgYnVpbHQgbW9jayBJQ0QgaW4gQlVJTEQuZ24KKyAgICBtUHJldmlvdXNJ
Q0RFbnYgPSBhbmdsZTo6R2V0RW52aXJvbm1lbnRWYXIoa0xvYWRlcklDREZpbGVuYW1lc0Vudik7
CisgICAgbUNoYW5nZWRJQ0RFbnYgID0gYW5nbGU6OlNldEVudmlyb25tZW50VmFyKGtMb2FkZXJJ
Q0RGaWxlbmFtZXNFbnYsIGljZCk7CisKKyAgICBpZiAoIW1DaGFuZ2VkSUNERW52KQorICAgIHsK
KyAgICAgICAgbUlDRCA9IHZrOjpJQ0Q6OkRlZmF1bHQ7CisgICAgfQorICAgIHJldHVybiBtQ2hh
bmdlZElDREVudjsKK30KKwordm9pZCBDaG9vc2VQaHlzaWNhbERldmljZShjb25zdCBzdGQ6OnZl
Y3RvcjxWa1BoeXNpY2FsRGV2aWNlPiAmcGh5c2ljYWxEZXZpY2VzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB2azo6SUNEIHByZWZlcnJlZElDRCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgVmtQaHlzaWNhbERldmljZSAqcGh5c2ljYWxEZXZpY2VPdXQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZrUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzICpwaHlzaWNhbERldmljZVByb3Bl
cnRpZXNPdXQpCit7CisgICAgQVNTRVJUKCFwaHlzaWNhbERldmljZXMuZW1wdHkoKSk7CisKKyAg
ICBJQ0RGaWx0ZXJGdW5jIGZpbHRlciA9IEdldEZpbHRlckZvcklDRChwcmVmZXJyZWRJQ0QpOwor
CisgICAgZm9yIChjb25zdCBWa1BoeXNpY2FsRGV2aWNlICZwaHlzaWNhbERldmljZSA6IHBoeXNp
Y2FsRGV2aWNlcykKKyAgICB7CisgICAgICAgIHZrR2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVz
KHBoeXNpY2FsRGV2aWNlLCBwaHlzaWNhbERldmljZVByb3BlcnRpZXNPdXQpOworICAgICAgICBp
ZiAoZmlsdGVyKCpwaHlzaWNhbERldmljZVByb3BlcnRpZXNPdXQpKQorICAgICAgICB7CisgICAg
ICAgICAgICAqcGh5c2ljYWxEZXZpY2VPdXQgPSBwaHlzaWNhbERldmljZTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICBXQVJOKCkgPDwgIlByZWZlcnJlZCBkZXZp
Y2UgSUNEIG5vdCBmb3VuZC4gVXNpbmcgZGVmYXVsdCBwaHlzaWNhbERldmljZSBpbnN0ZWFkLiI7
CisKKyAgICAvLyBGYWxsIGJhY2sgdG8gZmlyc3QgZGV2aWNlLgorICAgICpwaHlzaWNhbERldmlj
ZU91dCA9IHBoeXNpY2FsRGV2aWNlc1swXTsKKyAgICB2a0dldFBoeXNpY2FsRGV2aWNlUHJvcGVy
dGllcygqcGh5c2ljYWxEZXZpY2VPdXQsIHBoeXNpY2FsRGV2aWNlUHJvcGVydGllc091dCk7Cit9
CisKK30gIC8vIG5hbWVzcGFjZSB2aworCit9ICAvLyBuYW1lc3BhY2UgYW5nbGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL3Z1bGthbl9pY2Qu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL3Z1bGthbl9pY2Qu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzYzMWEzZGIwY2VmZjlhZTc4YjYzYmM4ZmUxN2IxYzdjMzQ0NjUwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi92dWxr
YW4vdnVsa2FuX2ljZC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBU
aGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyB2dWxrYW5faWNk
LmggOiBIZWxwZXIgZm9yIGNyZWF0aW5nIHZ1bGthbiBpbnN0YW5jZXMgJiBzZWxlY3RpbmcgcGh5
c2ljYWwgZGV2aWNlLgorCisjaWZuZGVmIENPTU1PTl9WVUxLQU5fVlVMS0FOX0lDRF9IXworI2Rl
ZmluZSBDT01NT05fVlVMS0FOX1ZVTEtBTl9JQ0RfSF8KKworI2luY2x1ZGUgPHN0cmluZz4KKwor
I2luY2x1ZGUgImNvbW1vbi9PcHRpb25hbC5oIgorI2luY2x1ZGUgImNvbW1vbi9hbmdsZXV0aWxz
LmgiCisjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlYWRlcnMuaCIKKwor
bmFtZXNwYWNlIGFuZ2xlCit7CisKK25hbWVzcGFjZSB2aworeworCitlbnVtIGNsYXNzIElDRAor
eworICAgIERlZmF1bHQsCisgICAgTW9jaywKKyAgICBTd2lmdFNoYWRlciwKK307CisKK2NsYXNz
IFNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQgOiBhbmdsZTo6Tm9uQ29weWFibGUKK3sKKyAgcHVi
bGljOgorICAgIFNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQoYm9vbCBlbmFibGVWYWxpZGF0aW9u
TGF5ZXJzLCB2azo6SUNEIGljZCk7CisgICAgflNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQoKTsK
KworICAgIGJvb2wgY2FuRW5hYmxlVmFsaWRhdGlvbkxheWVycygpIGNvbnN0IHsgcmV0dXJuIG1F
bmFibGVWYWxpZGF0aW9uTGF5ZXJzOyB9CisgICAgdms6OklDRCBnZXRFbmFibGVkSUNEKCkgY29u
c3QgeyByZXR1cm4gbUlDRDsgfQorCisgIHByaXZhdGU6CisgICAgYm9vbCBzZXRJQ0RFbnZpcm9u
bWVudChjb25zdCBjaGFyICppY2QpOworCisgICAgYm9vbCBtRW5hYmxlVmFsaWRhdGlvbkxheWVy
czsKKyAgICB2azo6SUNEIG1JQ0Q7CisgICAgYm9vbCBtQ2hhbmdlZENXRDsKKyAgICBPcHRpb25h
bDxzdGQ6OnN0cmluZz4gbVByZXZpb3VzQ1dEOworICAgIGJvb2wgbUNoYW5nZWRJQ0RFbnY7Cisg
ICAgT3B0aW9uYWw8c3RkOjpzdHJpbmc+IG1QcmV2aW91c0lDREVudjsKK307CisKK3ZvaWQgQ2hv
b3NlUGh5c2ljYWxEZXZpY2UoY29uc3Qgc3RkOjp2ZWN0b3I8VmtQaHlzaWNhbERldmljZT4gJnBo
eXNpY2FsRGV2aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OklDRCBwcmVmZXJy
ZWRJQ0QsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFZrUGh5c2ljYWxEZXZpY2UgKnBoeXNp
Y2FsRGV2aWNlT3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBWa1BoeXNpY2FsRGV2aWNl
UHJvcGVydGllcyAqcGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzT3V0KTsKKworfSAgLy8gbmFtZXNw
YWNlIHZrCisKK30gIC8vIG5hbWVzcGFjZSBhbmdsZQorCisjZW5kaWYgIC8vIENPTU1PTl9WVUxL
QU5fVlVMS0FOX0lDRF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyLmduaSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci5nbmkK
aW5kZXggNTIzMGE0MTVlNzkxMzBjMjFmNTY2Yzk2ZGFhNjM0YTg2YmQ4ODE1YS4uOTViMDU3MTY2
M2E1NjkxMDAxNmM1MmEyNzQwZjRlZDljZTdmMTQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyLmduaQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tcGlsZXIuZ25pCkBAIC0xMjQsNiArMTI0LDggQEAgYW5nbGVfdHJhbnNsYXRvcl9z
b3VyY2VzID0gWwogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMvRGVjbGFyZUFu
ZEluaXRCdWlsdGluc0Zvckluc3RhbmNlZE11bHRpdmlldy5oIiwKICAgInNyYy9jb21waWxlci90
cmFuc2xhdG9yL3RyZWVfb3BzL0RlZmVyR2xvYmFsSW5pdGlhbGl6ZXJzLmNwcCIsCiAgICJzcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9EZWZlckdsb2JhbEluaXRpYWxpemVycy5oIiwK
KyAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0Vhcmx5RnJhZ21lbnRUZXN0c09w
dGltaXphdGlvbi5jcHAiLAorICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMvRWFy
bHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmgiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvdHJlZV9vcHMvRW11bGF0ZUdMRnJhZ0NvbG9yQnJvYWRjYXN0LmNwcCIsCiAgICJzcmMvY29t
cGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FbXVsYXRlR0xGcmFnQ29sb3JCcm9hZGNhc3QuaCIs
CiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FbXVsYXRlTXVsdGlEcmF3U2hh
ZGVyQnVpbHRpbnMuY3BwIiwKQEAgLTIxNSw2ICsyMTcsOCBAQCBhbmdsZV90cmFuc2xhdG9yX3Nv
dXJjZXMgPSBbCiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvSW50ZXJtVHJh
dmVyc2UuY3BwIiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1U
cmF2ZXJzZS5oIiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9Ob2RlU2Vh
cmNoLmgiLAorICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL1JlcGxhY2VDbGlw
RGlzdGFuY2VWYXJpYWJsZS5jcHAiLAorICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91
dGlsL1JlcGxhY2VDbGlwRGlzdGFuY2VWYXJpYWJsZS5oIiwKICAgInNyYy9jb21waWxlci90cmFu
c2xhdG9yL3RyZWVfdXRpbC9SZXBsYWNlU2hhZG93aW5nVmFyaWFibGVzLmNwcCIsCiAgICJzcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvUmVwbGFjZVNoYWRvd2luZ1ZhcmlhYmxlcy5o
IiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9SZXBsYWNlVmFyaWFibGUu
Y3BwIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9m
dXp6L3RyYW5zbGF0b3JfZnV6emVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci9mdXp6L3RyYW5zbGF0b3JfZnV6emVyLmNwcAppbmRleCBjY2VkMjA3MWU0YTVjMzVi
ZGNhYzdjYWYwZDdjMzAxZmFhNjVlNDZlLi4wN2RmMTYxMzU4NzZhY2JhN2VlNDRkNzJiNTViMmM1
NDA1ZjI4YjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvZnV6ei90cmFuc2xhdG9yX2Z1enplci5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2NvbXBpbGVyL2Z1enovdHJhbnNsYXRvcl9mdXp6ZXIuY3BwCkBAIC0xNjEsOCArMTYx
LDEwIEBAIGV4dGVybiAiQyIgaW50IExMVk1GdXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhf
dCAqZGF0YSwgc2l6ZV90IHNpemUpCiAgICAgICAgIHJlc291cmNlcy5OVl9zaGFkZXJfZnJhbWVi
dWZmZXJfZmV0Y2ggICAgID0gMTsKICAgICAgICAgcmVzb3VyY2VzLkFSTV9zaGFkZXJfZnJhbWVi
dWZmZXJfZmV0Y2ggICAgPSAxOwogICAgICAgICByZXNvdXJjZXMuRVhUX1lVVl90YXJnZXQgICAg
ICAgICAgICAgICAgICA9IDE7CisgICAgICAgIHJlc291cmNlcy5BUFBMRV9jbGlwX2Rpc3RhbmNl
ICAgICAgICAgICAgID0gMTsKICAgICAgICAgcmVzb3VyY2VzLk1heER1YWxTb3VyY2VEcmF3QnVm
ZmVycyAgICAgICAgPSAxOwogICAgICAgICByZXNvdXJjZXMuRVhUX2dwdV9zaGFkZXI1ICAgICAg
ICAgICAgICAgICA9IDE7CisgICAgICAgIHJlc291cmNlcy5NYXhDbGlwRGlzdGFuY2VzICAgICAg
ICAgICAgICAgID0gMTsKIAogICAgICAgICBpZiAoIXRyYW5zbGF0b3ItPkluaXQocmVzb3VyY2Vz
KSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvQmFzZVR5cGVzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9CYXNlVHlwZXMuaAppbmRleCAxOGQwMTQyMWViYTU0Mjll
M2I2ODEyY2FiMWE1MGJmYTFlNmM2Zjc3Li5hNDc0YzMxYjQxOGQ5YTcwZjU1Y2M0MDVlYjc2NTkx
NDYyM2FjOTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9CYXNlVHlwZXMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9CYXNlVHlwZXMuaApAQCAtOTY1LDE5ICs5NjUsMjQgQEAg
ZW51bSBUUXVhbGlmaWVyCiAgICAgRXZxVmlld0lET1ZSLCAgICAgIC8vIE9WUl9tdWx0aXZpZXcK
ICAgICBFdnFWaWV3cG9ydEluZGV4LCAgLy8gZ2xfVmlld3BvcnRJbmRleAogCisgICAgRXZxQ2xp
cERpc3RhbmNlLCAgLy8gQVBQTEVfY2xpcF9kaXN0YW5jZS9FWFRfY2xpcF9jdWxsX2Rpc3RhbmNl
CisKICAgICAvLyBidWlsdC1pbnMgd3JpdHRlbiBieSB0aGUgc2hhZGVyX2ZyYW1lYnVmZmVyX2Zl
dGNoIGV4dGVuc2lvbihzKQogICAgIEV2cUxhc3RGcmFnQ29sb3IsCiAgICAgRXZxTGFzdEZyYWdE
YXRhLAogCiAgICAgLy8gR0xTTCBFUyAzLjAgdmVydGV4IG91dHB1dCBhbmQgZnJhZ21lbnQgaW5w
dXQKLSAgICBFdnFTbW9vdGgsICAgIC8vIEluY29tcGxldGUgcXVhbGlmaWVyLCBzbW9vdGggaXMg
dGhlIGRlZmF1bHQKLSAgICBFdnFGbGF0LCAgICAgIC8vIEluY29tcGxldGUgcXVhbGlmaWVyCi0g
ICAgRXZxQ2VudHJvaWQsICAvLyBJbmNvbXBsZXRlIHF1YWxpZmllcgorICAgIEV2cVNtb290aCwg
ICAgICAgICAvLyBJbmNvbXBsZXRlIHF1YWxpZmllciwgc21vb3RoIGlzIHRoZSBkZWZhdWx0Cisg
ICAgRXZxRmxhdCwgICAgICAgICAgIC8vIEluY29tcGxldGUgcXVhbGlmaWVyCisgICAgRXZxTm9Q
ZXJzcGVjdGl2ZSwgIC8vIEluY29tcGxldGUgcXVhbGlmaWVyCisgICAgRXZxQ2VudHJvaWQsICAg
ICAgIC8vIEluY29tcGxldGUgcXVhbGlmaWVyCiAgICAgRXZxU21vb3RoT3V0LAogICAgIEV2cUZs
YXRPdXQsCisgICAgRXZxTm9QZXJzcGVjdGl2ZU91dCwKICAgICBFdnFDZW50cm9pZE91dCwgIC8v
IEltcGxpZXMgc21vb3RoCiAgICAgRXZxU21vb3RoSW4sCiAgICAgRXZxRmxhdEluLAorICAgIEV2
cU5vUGVyc3BlY3RpdmVJbiwKICAgICBFdnFDZW50cm9pZEluLCAgLy8gSW1wbGllcyBzbW9vdGgK
IAogICAgIC8vIEdMU0wgRVMgMy4xIGNvbXB1dGUgc2hhZGVyIHNwZWNpYWwgdmFyaWFibGVzCkBA
IC0xMDM0LDYgKzEwMzksNyBAQCBpbmxpbmUgYm9vbCBJc1NoYWRlckluKFRRdWFsaWZpZXIgcXVh
bGlmaWVyKQogICAgICAgICBjYXNlIEV2cVZhcnlpbmdJbjoKICAgICAgICAgY2FzZSBFdnFTbW9v
dGhJbjoKICAgICAgICAgY2FzZSBFdnFGbGF0SW46CisgICAgICAgIGNhc2UgRXZxTm9QZXJzcGVj
dGl2ZUluOgogICAgICAgICBjYXNlIEV2cUNlbnRyb2lkSW46CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKQEAgLTEwNTEsNiArMTA1Nyw3IEBAIGlubGluZSBib29s
IElzU2hhZGVyT3V0KFRRdWFsaWZpZXIgcXVhbGlmaWVyKQogICAgICAgICBjYXNlIEV2cVZhcnlp
bmdPdXQ6CiAgICAgICAgIGNhc2UgRXZxU21vb3RoT3V0OgogICAgICAgICBjYXNlIEV2cUZsYXRP
dXQ6CisgICAgICAgIGNhc2UgRXZxTm9QZXJzcGVjdGl2ZU91dDoKICAgICAgICAgY2FzZSBFdnFD
ZW50cm9pZE91dDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgpA
QCAtMTMwMSwxMSArMTMwOCwxNCBAQCBpbmxpbmUgY29uc3QgY2hhciAqZ2V0UXVhbGlmaWVyU3Ry
aW5nKFRRdWFsaWZpZXIgcSkKICAgICBjYXNlIEV2cVNtb290aE91dDogICAgICAgICAgICAgIHJl
dHVybiAic21vb3RoIG91dCI7CiAgICAgY2FzZSBFdnFDZW50cm9pZE91dDogICAgICAgICAgICBy
ZXR1cm4gInNtb290aCBjZW50cm9pZCBvdXQiOwogICAgIGNhc2UgRXZxRmxhdE91dDogICAgICAg
ICAgICAgICAgcmV0dXJuICJmbGF0IG91dCI7CisgICAgY2FzZSBFdnFOb1BlcnNwZWN0aXZlT3V0
OiAgICAgICByZXR1cm4gIm5vcGVyc3BlY3RpdmUgb3V0IjsKICAgICBjYXNlIEV2cVNtb290aElu
OiAgICAgICAgICAgICAgIHJldHVybiAic21vb3RoIGluIjsKICAgICBjYXNlIEV2cUZsYXRJbjog
ICAgICAgICAgICAgICAgIHJldHVybiAiZmxhdCBpbiI7CisgICAgY2FzZSBFdnFOb1BlcnNwZWN0
aXZlSW46ICAgICAgICByZXR1cm4gIm5vcGVyc3BlY3RpdmUgaW4iOwogICAgIGNhc2UgRXZxQ2Vu
dHJvaWRJbjogICAgICAgICAgICAgcmV0dXJuICJzbW9vdGggY2VudHJvaWQgaW4iOwogICAgIGNh
c2UgRXZxQ2VudHJvaWQ6ICAgICAgICAgICAgICAgcmV0dXJuICJjZW50cm9pZCI7CiAgICAgY2Fz
ZSBFdnFGbGF0OiAgICAgICAgICAgICAgICAgICByZXR1cm4gImZsYXQiOworICAgIGNhc2UgRXZx
Tm9QZXJzcGVjdGl2ZTogICAgICAgICAgcmV0dXJuICJub3BlcnNwZWN0aXZlIjsKICAgICBjYXNl
IEV2cVNtb290aDogICAgICAgICAgICAgICAgIHJldHVybiAic21vb3RoIjsKICAgICBjYXNlIEV2
cVNoYXJlZDogICAgICAgICAgICAgICAgIHJldHVybiAic2hhcmVkIjsKICAgICBjYXNlIEV2cUNv
bXB1dGVJbjogICAgICAgICAgICAgIHJldHVybiAiaW4iOwpAQCAtMTMyMSw2ICsxMzMxLDcgQEAg
aW5saW5lIGNvbnN0IGNoYXIgKmdldFF1YWxpZmllclN0cmluZyhUUXVhbGlmaWVyIHEpCiAgICAg
Y2FzZSBFdnFHZW9tZXRyeU91dDogICAgICAgICAgICByZXR1cm4gIm91dCI7CiAgICAgY2FzZSBF
dnFQZXJWZXJ0ZXhJbjogICAgICAgICAgICByZXR1cm4gImdsX2luIjsKICAgICBjYXNlIEV2cVBy
ZWNpc2U6ICAgICAgICAgICAgICAgIHJldHVybiAicHJlY2lzZSI7CisgICAgY2FzZSBFdnFDbGlw
RGlzdGFuY2U6ICAgICAgICAgICByZXR1cm4gIkNsaXBEaXN0YW5jZSI7CiAgICAgZGVmYXVsdDog
VU5SRUFDSEFCTEUoKTsgICAgICAgICByZXR1cm4gInVua25vd24gcXVhbGlmaWVyIjsKICAgICB9
CiAgICAgLy8gY2xhbmctZm9ybWF0IG9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Db2xsZWN0VmFyaWFibGVzLmNwcCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0NvbGxlY3RWYXJpYWJs
ZXMuY3BwCmluZGV4IDJkYjNiMTc2YzY4NmU0ODA4ZjBiN2ZkMDE5MmIxNjQxNjhjY2NlYmUuLmYy
MDAyNDg1ODA3ZGMzODcyNzE1YjE5NDg5OTMwMGRjMTczM2NiYjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0NvbGxlY3RWYXJpYWJs
ZXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL0NvbGxlY3RWYXJpYWJsZXMuY3BwCkBAIC0xODgsNiArMTg4LDcgQEAgY2xhc3MgQ29sbGVj
dFZhcmlhYmxlc1RyYXZlcnNlciA6IHB1YmxpYyBUSW50ZXJtVHJhdmVyc2VyCiAKICAgICAvLyBW
ZXJ0ZXggU2hhZGVyIGFuZCBHZW9tZXRyeSBTaGFkZXIgYnVpbHRpbnMKICAgICBib29sIG1Qb3Np
dGlvbkFkZGVkOworICAgIGJvb2wgbUNsaXBEaXN0YW5jZUFkZGVkOwogCiAgICAgLy8gRnJhZ21l
bnQgU2hhZGVyIGJ1aWx0aW5zCiAgICAgYm9vbCBtUG9pbnRDb29yZEFkZGVkOwpAQCAtMjU3LDYg
KzI1OCw3IEBAIENvbGxlY3RWYXJpYWJsZXNUcmF2ZXJzZXI6OkNvbGxlY3RWYXJpYWJsZXNUcmF2
ZXJzZXIoCiAgICAgICBtQmFzZVZlcnRleEFkZGVkKGZhbHNlKSwKICAgICAgIG1CYXNlSW5zdGFu
Y2VBZGRlZChmYWxzZSksCiAgICAgICBtUG9zaXRpb25BZGRlZChmYWxzZSksCisgICAgICBtQ2xp
cERpc3RhbmNlQWRkZWQoZmFsc2UpLAogICAgICAgbVBvaW50Q29vcmRBZGRlZChmYWxzZSksCiAg
ICAgICBtRnJvbnRGYWNpbmdBZGRlZChmYWxzZSksCiAgICAgICBtSGVscGVySW52b2NhdGlvbkFk
ZGVkKGZhbHNlKSwKQEAgLTYwOSw2ICs2MTEsOSBAQCB2b2lkIENvbGxlY3RWYXJpYWJsZXNUcmF2
ZXJzZXI6OnZpc2l0U3ltYm9sKFRJbnRlcm1TeW1ib2wgKnN5bWJvbCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TaGFyZWRWYXJpYWJsZXMpOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgRXZx
Q2xpcERpc3RhbmNlOgorICAgICAgICAgICAgICAgIHJlY29yZEJ1aWx0SW5WYXJ5aW5nVXNlZChz
eW1ib2wtPnZhcmlhYmxlKCksICZtQ2xpcERpc3RhbmNlQWRkZWQsIG1PdXRwdXRWYXJ5aW5ncyk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtNzI0LDYgKzcyOSw3IEBAIFNoYWRlclZhcmlh
YmxlIENvbGxlY3RWYXJpYWJsZXNUcmF2ZXJzZXI6OnJlY29yZFZhcnlpbmcoY29uc3QgVEludGVy
bVN5bWJvbCAmdmFyCiAgICAgICAgIGNhc2UgRXZxVmVydGV4T3V0OgogICAgICAgICBjYXNlIEV2
cVNtb290aE91dDoKICAgICAgICAgY2FzZSBFdnFGbGF0T3V0OgorICAgICAgICBjYXNlIEV2cU5v
UGVyc3BlY3RpdmVPdXQ6CiAgICAgICAgIGNhc2UgRXZxQ2VudHJvaWRPdXQ6CiAgICAgICAgIGNh
c2UgRXZxR2VvbWV0cnlPdXQ6CiAgICAgICAgICAgICBpZiAobVN5bWJvbFRhYmxlLT5pc1Zhcnlp
bmdJbnZhcmlhbnQodmFyaWFibGUudmFyaWFibGUoKSkgfHwgdHlwZS5pc0ludmFyaWFudCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvQ29tcGlsZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvQ29tcGlsZXIuY3BwCmluZGV4IDg3NTY1ZWIwOTg5YmExZWM5ZDE2NDQ4OGU4NzUx
MjhmZDYxNTg2OWYuLjlmYTEwNWJjMGFjNGMwYmM2N2I4ZWZiMzQ5YTA0MmYzM2FjNmMwMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L0NvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9Db21waWxlci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb21w
aWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0NsYW1wUG9pbnRTaXplLmgiCiAjaW5jbHVkZSAiY29t
cGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9EZWNsYXJlQW5kSW5pdEJ1aWx0aW5zRm9ySW5zdGFu
Y2VkTXVsdGl2aWV3LmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9E
ZWZlckdsb2JhbEluaXRpYWxpemVycy5oIgorI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3Iv
dHJlZV9vcHMvRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLmgiCiAjaW5jbHVkZSAiY29t
cGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FbXVsYXRlR0xGcmFnQ29sb3JCcm9hZGNhc3QuaCIK
ICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0VtdWxhdGVNdWx0aURyYXdT
aGFkZXJCdWlsdGlucy5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMv
RW11bGF0ZVByZWNpc2lvbi5oIgpAQCAtOTMwLDYgKzkzMSwxNiBAQCBib29sIFRDb21waWxlcjo6
Y2hlY2tBbmRTaW1wbGlmeUFTVChUSW50ZXJtQmxvY2sgKnJvb3QsCiAgICAgICAgIH0KICAgICB9
CiAKKyAgICBtRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemVkID0gZmFsc2U7CisgICAgaWYgKGNv
bXBpbGVPcHRpb25zICYgU0hfRUFSTFlfRlJBR01FTlRfVEVTVFNfT1BUSU1JWkFUSU9OKQorICAg
IHsKKyAgICAgICAgaWYgKG1TaGFkZXJWZXJzaW9uIDw9IDMwMCAmJiBtU2hhZGVyVHlwZSA9PSBH
TF9GUkFHTUVOVF9TSEFERVIgJiYKKyAgICAgICAgICAgICFpc0Vhcmx5RnJhZ21lbnRUZXN0c1Nw
ZWNpZmllZCgpKQorICAgICAgICB7CisgICAgICAgICAgICBtRWFybHlGcmFnbWVudFRlc3RzT3B0
aW1pemVkID0gQ2hlY2tFYXJseUZyYWdtZW50VGVzdHNGZWFzaWJsZSh0aGlzLCByb290KTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMDc1LDYgKzEwODYs
NyBAQCB2b2lkIFRDb21waWxlcjo6c2V0UmVzb3VyY2VTdHJpbmcoKQogICAgICAgICA8PCAiOldF
QkdMX2RlYnVnX3NoYWRlcl9wcmVjaXNpb246IiA8PCBtUmVzb3VyY2VzLldFQkdMX2RlYnVnX3No
YWRlcl9wcmVjaXNpb24KICAgICAgICAgPDwgIjpBTkdMRV9tdWx0aV9kcmF3OiIgPDwgbVJlc291
cmNlcy5BTkdMRV9tdWx0aV9kcmF3CiAgICAgICAgIDw8ICI6QU5HTEVfYmFzZV92ZXJ0ZXhfYmFz
ZV9pbnN0YW5jZToiIDw8IG1SZXNvdXJjZXMuQU5HTEVfYmFzZV92ZXJ0ZXhfYmFzZV9pbnN0YW5j
ZQorICAgICAgICA8PCAiOkFQUExFX2NsaXBfZGlzdGFuY2U6IiA8PCBtUmVzb3VyY2VzLkFQUExF
X2NsaXBfZGlzdGFuY2UKICAgICAgICAgPDwgIjpNaW5Qcm9ncmFtVGV4dHVyZUdhdGhlck9mZnNl
dDoiIDw8IG1SZXNvdXJjZXMuTWluUHJvZ3JhbVRleHR1cmVHYXRoZXJPZmZzZXQKICAgICAgICAg
PDwgIjpNYXhQcm9ncmFtVGV4dHVyZUdhdGhlck9mZnNldDoiIDw8IG1SZXNvdXJjZXMuTWF4UHJv
Z3JhbVRleHR1cmVHYXRoZXJPZmZzZXQKICAgICAgICAgPDwgIjpNYXhJbWFnZVVuaXRzOiIgPDwg
bVJlc291cmNlcy5NYXhJbWFnZVVuaXRzCkBAIC0xMTEyLDcgKzExMjQsOCBAQCB2b2lkIFRDb21w
aWxlcjo6c2V0UmVzb3VyY2VTdHJpbmcoKQogICAgICAgICA8PCAiOk1heEdlb21ldHJ5QXRvbWlj
Q291bnRlcnM6IiA8PCBtUmVzb3VyY2VzLk1heEdlb21ldHJ5QXRvbWljQ291bnRlcnMKICAgICAg
ICAgPDwgIjpNYXhHZW9tZXRyeVNoYWRlclN0b3JhZ2VCbG9ja3M6IiA8PCBtUmVzb3VyY2VzLk1h
eEdlb21ldHJ5U2hhZGVyU3RvcmFnZUJsb2NrcwogICAgICAgICA8PCAiOk1heEdlb21ldHJ5U2hh
ZGVySW52b2NhdGlvbnM6IiA8PCBtUmVzb3VyY2VzLk1heEdlb21ldHJ5U2hhZGVySW52b2NhdGlv
bnMKLSAgICAgICAgPDwgIjpNYXhHZW9tZXRyeUltYWdlVW5pZm9ybXM6IiA8PCBtUmVzb3VyY2Vz
Lk1heEdlb21ldHJ5SW1hZ2VVbmlmb3JtczsKKyAgICAgICAgPDwgIjpNYXhHZW9tZXRyeUltYWdl
VW5pZm9ybXM6IiA8PCBtUmVzb3VyY2VzLk1heEdlb21ldHJ5SW1hZ2VVbmlmb3JtcworICAgICAg
ICA8PCAiOk1heENsaXBEaXN0YW5jZXMiIDw8IG1SZXNvdXJjZXMuTWF4Q2xpcERpc3RhbmNlczsK
ICAgICAvLyBjbGFuZy1mb3JtYXQgb24KIAogICAgIG1CdWlsdEluUmVzb3VyY2VzU3RyaW5nID0g
c3Ryc3RyZWFtLnN0cigpOwpAQCAtMTQ5Miw3ICsxNTA1LDcgQEAgYm9vbCBUQ29tcGlsZXI6Omlz
VmFyeWluZ0RlZmluZWQoY29uc3QgY2hhciAqdmFyeWluZ05hbWUpCiAKIHZvaWQgRW1pdEVhcmx5
RnJhZ21lbnRUZXN0c0dMU0woY29uc3QgVENvbXBpbGVyICZjb21waWxlciwgVEluZm9TaW5rQmFz
ZSAmc2luaykKIHsKLSAgICBpZiAoY29tcGlsZXIuaXNFYXJseUZyYWdtZW50VGVzdHNTcGVjaWZp
ZWQoKSkKKyAgICBpZiAoY29tcGlsZXIuaXNFYXJseUZyYWdtZW50VGVzdHNTcGVjaWZpZWQoKSB8
fCBjb21waWxlci5pc0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXplZCgpKQogICAgIHsKICAgICAg
ICAgc2luayA8PCAibGF5b3V0IChlYXJseV9mcmFnbWVudF90ZXN0cykgaW47XG4iOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL0NvbXBpbGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9Db21waWxlci5oCmluZGV4IDk1MGI2YTE4NDhlYzg5MzhhZWNjMjEwYWUyZTBiZjM4
MTYwZTQ4MjkuLmQwYjI0YmFhM2U3NzY1OTM3YTI0MTdjZDM5ZGRhZTUyMDg5ODY5ZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0Nv
bXBpbGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvQ29tcGlsZXIuaApAQCAtOTksNiArOTksNyBAQCBjbGFzcyBUQ29tcGlsZXIgOiBwdWJs
aWMgVFNoSGFuZGxlQmFzZQogICAgIFRJbmZvU2luayAmZ2V0SW5mb1NpbmsoKSB7IHJldHVybiBt
SW5mb1Npbms7IH0KIAogICAgIGJvb2wgaXNFYXJseUZyYWdtZW50VGVzdHNTcGVjaWZpZWQoKSBj
b25zdCB7IHJldHVybiBtRWFybHlGcmFnbWVudFRlc3RzU3BlY2lmaWVkOyB9CisgICAgYm9vbCBp
c0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXplZCgpIGNvbnN0IHsgcmV0dXJuIG1FYXJseUZyYWdt
ZW50VGVzdHNPcHRpbWl6ZWQ7IH0KIAogICAgIGJvb2wgaXNDb21wdXRlU2hhZGVyTG9jYWxTaXpl
RGVjbGFyZWQoKSBjb25zdCB7IHJldHVybiBtQ29tcHV0ZVNoYWRlckxvY2FsU2l6ZURlY2xhcmVk
OyB9CiAgICAgY29uc3Qgc2g6OldvcmtHcm91cFNpemUgJmdldENvbXB1dGVTaGFkZXJMb2NhbFNp
emUoKSBjb25zdCB7IHJldHVybiBtQ29tcHV0ZVNoYWRlckxvY2FsU2l6ZTsgfQpAQCAtMjc4LDYg
KzI3OSw3IEBAIGNsYXNzIFRDb21waWxlciA6IHB1YmxpYyBUU2hIYW5kbGVCYXNlCiAKICAgICAv
LyBmcmFnbWVudCBzaGFkZXIgZWFybHkgZnJhZ21lbnQgdGVzdHMKICAgICBib29sIG1FYXJseUZy
YWdtZW50VGVzdHNTcGVjaWZpZWQ7CisgICAgYm9vbCBtRWFybHlGcmFnbWVudFRlc3RzT3B0aW1p
emVkOwogCiAgICAgLy8gY29tcHV0ZSBzaGFkZXIgbG9jYWwgZ3JvdXAgc2l6ZQogICAgIGJvb2wg
bUNvbXB1dGVTaGFkZXJMb2NhbFNpemVEZWNsYXJlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0V4dGVuc2lvbkJlaGF2aW9yLmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0V4dGVu
c2lvbkJlaGF2aW9yLmNwcAppbmRleCBmMmI1YjY4ZDhhMDRmY2NiYzllYTllZjlhZTJkZmExMWFk
OGQxNWFkLi4wYzM0MjVjMDA4YjcwZWYzZGQwZmVmM2M2ZDA1ODJlNzg3Y2UzNmIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9FeHRl
bnNpb25CZWhhdmlvci5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvRXh0ZW5zaW9uQmVoYXZpb3IuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAg
ICAgT1AoRVhUX3NoYWRlcl90ZXh0dXJlX2xvZCkgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IE9QKEVYVF9ZVVZfdGFyZ2V0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBP
UChFWFRfc2hhZGVyX25vbl9jb25zdGFudF9nbG9iYWxfaW5pdGlhbGl6ZXJzKSBcCisgICAgT1Ao
TlZfc2hhZGVyX25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbikgICAgICAgXAogICAgIE9QKE5W
X0VHTF9zdHJlYW1fY29uc3VtZXJfZXh0ZXJuYWwpICAgICAgICAgICAgIFwKICAgICBPUChOVl9z
aGFkZXJfZnJhbWVidWZmZXJfZmV0Y2gpICAgICAgICAgICAgICAgICBcCiAgICAgT1AoT0VTX0VH
TF9pbWFnZV9leHRlcm5hbCkgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzYsNyArMzcsOCBA
QAogICAgIE9QKE9WUl9tdWx0aXZpZXcyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
ICAgICBPUChBTkdMRV9tdWx0aV9kcmF3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgT1AoQU5HTEVfYmFzZV92ZXJ0ZXhfYmFzZV9pbnN0YW5jZSkgICAgICAgICAgICAgXAotICAg
IE9QKFdFQkdMX3ZpZGVvX3RleHR1cmUpCisgICAgT1AoV0VCR0xfdmlkZW9fdGV4dHVyZSkgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIE9QKEFQUExFX2NsaXBfZGlzdGFuY2UpCiAKIG5h
bWVzcGFjZSBzaAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvRXh0ZW5zaW9uQmVoYXZpb3IuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0V4dGVuc2lvbkJlaGF2aW9yLmgKaW5kZXgg
NTllOGVmN2JkMWNmMDk3MGQ1ZTI1ZGE5NDQxYmI4ZjA0NWMyMTAzMi4uYjBmODU0ZDU0YjIwYzVj
YmQzN2UwOWU1ZDA1NjlkMjM2NDAwNTk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvRXh0ZW5zaW9uQmVoYXZpb3IuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9FeHRlbnNpb25C
ZWhhdmlvci5oCkBAIC0zMiw2ICszMiw3IEBAIGVudW0gY2xhc3MgVEV4dGVuc2lvbgogICAgIEVY
VF9zaGFkZXJfbm9uX2NvbnN0YW50X2dsb2JhbF9pbml0aWFsaXplcnMsCiAgICAgTlZfRUdMX3N0
cmVhbV9jb25zdW1lcl9leHRlcm5hbCwKICAgICBOVl9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2gs
CisgICAgTlZfc2hhZGVyX25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbiwKICAgICBPRVNfRUdM
X2ltYWdlX2V4dGVybmFsLAogICAgIE9FU19FR0xfaW1hZ2VfZXh0ZXJuYWxfZXNzbDMsCiAgICAg
T0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzLApAQCAtNDIsNiArNDMsNyBAQCBlbnVtIGNsYXNzIFRF
eHRlbnNpb24KICAgICBBTkdMRV9tdWx0aV9kcmF3LAogICAgIEFOR0xFX2Jhc2VfdmVydGV4X2Jh
c2VfaW5zdGFuY2UsCiAgICAgV0VCR0xfdmlkZW9fdGV4dHVyZSwKKyAgICBBUFBMRV9jbGlwX2Rp
c3RhbmNlLAogfTsKIAogZW51bSBUQmVoYXZpb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0hhc2hOYW1lcy5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9IYXNoTmFtZXMuY3BwCmlu
ZGV4IGNmNjFmYWQ2MGQ1YjNkYjY5YmVjOGJhNjY5YThkNTQ4MGRmYjU5YTYuLjZlMmViNmQ4MjY5
ZWZmOWE2ZDcxNGRkM2RjMThkZmE3MDdhZTg0YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0hhc2hOYW1lcy5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSGFzaE5hbWVzLmNw
cApAQCAtNTMsNiArNTMsMzUgQEAgSW1tdXRhYmxlU3RyaW5nIEhhc2hOYW1lKGNvbnN0IEltbXV0
YWJsZVN0cmluZyAmbmFtZSwKICAgICAgICAgICAgIC8vIGhhdmUgYXMgbG9uZyBuYW1lcyBhbmQg
Y291bGQgY29uZmxpY3QuCiAgICAgICAgICAgICByZXR1cm4gbmFtZTsKICAgICAgICAgfQorICAg
ICAgICBpZiAobmFtZSA9PSAiZ2xfQ2xpcERpc3RhbmNlIikKKyAgICAgICAgeworICAgICAgICAg
ICAgLy8gTk9URShocWxlKTogV2hlbiBnbF9DbGlwRGlzdGFuY2UgaXMgcmUtZGVjbGFyZWQsIGl0
IHdpbGwgYmVjb21lIGFuIFVzZXJEZWZpbmVkCisgICAgICAgICAgICAvLyBzeW1ib2wuIE5vcm1h
bGx5LCBVc2VyRGVmaW5lZCBzeW1ib2xzIHdpbGwgaGF2ZSAiX3UiIHByZWZpeCBhZGRlZCB0byB0
aGVpciBuYW1lcyBieQorICAgICAgICAgICAgLy8gQU5HTEUuIEhvd2V2ZXIsIGdsX0NsaXBEaXN0
YW5jZSBpcyBhbiBleGNlcHRpb24uIElmIHdlIGFkZCAiX3UiIHRvIGl0cyBuYW1lLCB0aGUKKyAg
ICAgICAgICAgIC8vIGJhY2tlbmQgd29uJ3QgYmUgYWJsZSB0byBoYW5kbGUgaXQgcHJvcGVybHku
IFNvIGZvciBnbF9DbGlwRGlzdGFuY2UsIHdlIHdvbid0IGFkZAorICAgICAgICAgICAgLy8gIl91
IiBwcmVmaXgsIGluc3RlYWQgd2UgcmV0dXJuIGl0IG9yaWdpbmFsIG5hbWUuCisgICAgICAgICAg
ICAvLworICAgICAgICAgICAgLy8gVGhlIG90aGVyIHdheSBpcyB0cmVhdGluZyBnbF9DbGlwRGlz
dGFuY2UgYXMgYW4gQW5nbGVJbnRlcm5hbCBzeW1ib2wgd2hlbiBhCisgICAgICAgICAgICAvLyBy
ZS1kZWNsYXJhdGlvbiBvY2N1cnMuIEFuZ2xlSW50ZXJuYWwgc3ltYm9scyB3aWxsIGhhdmUgdGhl
aXIgbmFtZSBpbnRhY3QuIEhvd2V2ZXIsCisgICAgICAgICAgICAvLyB0aGUgaXNzdWUgaXMgdGhh
dCB0aGUgY3VycmVudCBjb2RlIHB1dCBhIGxvdCBvZiByZXN0cmljdGlvbnMgb24gQW5nbGVJbnRl
cm5hbAorICAgICAgICAgICAgLy8gc3ltYm9scy4gRm9yIGV4YW1wbGVzOgorICAgICAgICAgICAg
Ly8gIC0gQ29sbGVjdFZhcmlhYmxlcy5jcHAgd2lsbCBub3QgY29uc2lkZXIgQW5nbGVJbnRlcm5h
bCBhcyB2YXJ5aW5nIG91dHB1dCB2YXJpYWxlcy4KKyAgICAgICAgICAgIC8vICAtIFN5bWJvbFRh
YmxlLmNwcCB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBBbmdsZUludGVybmFsIHN5bWJvbHMg
YXJlIGRlY2xhcmVkIGJ5CisgICAgICAgICAgICAvLyAgdXNlcnMuIEluIHRoaXMgY2FzZSwgaXQg
d291bGQgYmUgZ2xfQ2xpcERpc3RhbmNlLiBUaGlzIGlzIGJlY2F1c2UKKyAgICAgICAgICAgIC8v
ICBUU3ltYm9sVGFibGU6OmRlY2xhcmUoKSBvbmx5IGFjY2VwdHMgYW4gVXNlckRlZmluZWQgc3lt
Ym9sLgorICAgICAgICAgICAgLy8gIC0gQW5kIHBvdGVudGlhbGx5IG1hbnkgb3RoZXIgcGxhY2Vz
IHRoYXQgaGF2ZSBzb21lIGFzc3VtcHRpb25zIHRoYXQgaGF2ZW4ndCBiZWVuCisgICAgICAgICAg
ICAvLyAgZGlzY292ZXJlZCB5ZXQuCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gSWYg
cmUtZGVjbGFyZWQgZ2xfQ2xpcERpc3RhbmNlIHdhcyB0byBiZSBhbiBBbmdsZUludGVybmFsIHN5
bWJvbCwgYSBzcGVjaWFsICJpZiAobmFtZQorICAgICAgICAgICAgLy8gPT0gImdsX0NsaXBEaXN0
YW5jZSIpIiBoYW5kbGluZyB3b3VsZCBoYXZlIHRvIGJlIHB1dCBpbnRvIGFsbCB0aGUgYWJvdmUg
bWVudGlvbmVkCisgICAgICAgICAgICAvLyBjYXNlcy4gVFBhcnNlQ29udGV4dDo6ZGVjbGFyZVZh
cmlhYmxlKCkgZnVuY3Rpb24gd291bGQgYWxzbyBoYXZlIHRvIGJlIG1vZGlmaWVkIGluCisgICAg
ICAgICAgICAvLyBvcmRlciB0byBhc3NpZ24gQW5nbGVJbnRlcm5hbCBzeW1ib2wgdHlwZSB0byB0
aGUgcmUtZGVjbGFyZWQgZ2xfQ2xpcERpc3RhbmNlCisgICAgICAgICAgICAvLyB2YXJpYWJsZS4K
KyAgICAgICAgICAgIC8vIENvbXBhcmUgdG8gb25seSB0aGlzIHBsYWNlIGhhcyB0byBiZSBoYW5k
bGVkIGlmIHJlLWRlY2xhcmVkIGdsX0NsaXBEaXN0YW5jZSBpcworICAgICAgICAgICAgLy8gdHJl
YXRlZCBhcyBhbiBVc2VyRGVmaW5lZCBzeW1ib2wuCisgICAgICAgICAgICAvLworICAgICAgICAg
ICAgcmV0dXJuIG5hbWU7CisgICAgICAgIH0KICAgICAgICAgSW1tdXRhYmxlU3RyaW5nQnVpbGRl
ciBwcmVmaXhlZE5hbWUoa1VuaGFzaGVkTmFtZVByZWZpeC5sZW5ndGgoKSArIG5hbWUubGVuZ3Ro
KCkpOwogICAgICAgICBwcmVmaXhlZE5hbWUgPDwga1VuaGFzaGVkTmFtZVByZWZpeCA8PCBuYW1l
OwogICAgICAgICByZXR1cm4gcHJlZml4ZWROYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW1tdXRhYmxlU3RyaW5nX0VTU0xf
YXV0b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9JbW11dGFibGVTdHJpbmdfRVNTTF9hdXRvZ2VuLmNwcAppbmRleCAwMjIyMjBkOTI5ZWYz
N2Q0YjA0NjZmOTc1MjBkZmJlOWY3MTZjZTM0Li4zOGUxNmI5MTExNmQ5MTk5Y2JhMTliODhjMzM2
MTZlNmY2MjMzYjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9JbW11dGFibGVTdHJpbmdfRVNTTF9hdXRvZ2VuLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbW11dGFibGVT
dHJpbmdfRVNTTF9hdXRvZ2VuLmNwcApAQCAtMjQsMTQwICsyNCwxMjkgQEAgc3RkOjpvc3RyZWFt
ICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmb3MsIGNvbnN0IHNoOjpJbW11dGFibGVTdHJpbmcg
JnN0cikKIG5hbWVzcGFjZQogewogCi1jb25zdGV4cHIgaW50IG1hbmdsZWRrVDFbXSA9IHs4NDMs
ICAxNDExLCAxMDA2LCA4MTQsIDE2OTYsIDE2OTYsIDM2MywgIDE3NTYsIDgzLCAgMjA2LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAzLCAgNjc5LCAgNjU4LCAgNywgICA0MjMsICAx
MDgzLCA3MjgsICAxNzUzLCA1MTksIDIyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDIyLCAgIDI2NSwgIDE5MjcsIDcwMiwgMTU1MiwgNjIzLCAgMTI4MywgMTE4NSwgNTI3LCA1NzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTk0LCAxNjY5LCA4NDIsICAzNTMsIDE1
MTIsIDU4LCAgIDE2NDB9OwotY29uc3RleHByIGludCBtYW5nbGVka1QyW10gPSB7OTA4LCAgMTUz
MCwgNTI4LCAgMTU0LCAgNTcwLCAgMjQ5LCAgMTgyMiwgMjQsICAgMTU0LCAgMTY5MywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNywgIDEzODMsIDY2NCwgIDk1NSwgIDE5NjUsIDEz
MjcsIDUwMSwgIDExNDEsIDEzMDUsIDE3NDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA3MiwgICAyMTUsICAxNDQxLCAxNjI2LCAzMjUsICAyOTksICA5ODYsICAxNDc4LCAxMTg4LCAx
NjIzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTg1OCwgMTc5LCAgMTU4OSwgMTI0
NywgMTYyOCwgMTg5MCwgNDcxfTsKK2NvbnN0ZXhwciBpbnQgbWFuZ2xlZGtUMVtdID0gezU3Niwg
IDE3OTksIDEzMTgsIDQ0MiwgIDcwMCwgIDE3NTEsIDEyODcsIDY3OCwgIDE1MjUsIDIwNiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzAsIDU1MCwgIDE0NzAsIDEwMDksIDExNzgs
IDE1NjYsIDg0MiwgIDYwNSwgIDEyMjMsIDE1NzcsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA0NzYsICAxNzUsICAxMzIsICAxOCwgICA3NzQsICAxMDAxLCAyMTcsICAxMTI0LCAxNDQ3
LCAxNzM2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc5MiwgMzc4LCAgMTQ4Mywg
OTkzLCAgOTAsICAgMTQ1MiwgOTAyfTsKK2NvbnN0ZXhwciBpbnQgbWFuZ2xlZGtUMltdID0gezM4
NywgMTQ1NSwgODkxLCAgODUwLCAgMTgxNSwgOTE1LCAgMzc4LCAgNTkxLCAgOTA1LCAxMDUzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTA2LCAxMzY5LCAxNjgwLCAzOSwgICA0MDYs
ICAxNTE0LCAxMTcwLCA3MjgsICAyMDYsIDE0OTcsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA1OTYsIDY2NywgIDE0NjEsIDEyLCAgIDI1LCAgIDM3NSwgIDE1NzgsIDExMjMsIDMyMiwg
NTAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjIsICAzMiwgICAxMzkzLCAxNTUy
LCAxNzE1LCA5NDcsICA1MjZ9OwogY29uc3RleHByIGludCBtYW5nbGVka0dbXSAgPSB7Ci0gICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICA5NjYsICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxNzAsICA0NDgsICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDE0NzksIDAsICAgIDAs
ICAgIDAsICAgIDIwMCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsCi0gICAgMCwgICAgMCwgICAgMTEzOSwgMCwgICAgMCwgICAgMzc2LCAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgNzQ0LCAgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAxODg4LCAwLCAgICAxNjY4LCAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICA2MTYsICAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDg1MiwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDgxNCwgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgOCwgICAgMCwgICAgMCwgICAgMTQ5
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNzg5LCAgMTEzLAot
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDI0MiwgIDAsICAgIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTU1NCwgMCwgICAgMCwg
ICAgOTk3LCAgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICAxODcyLCAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICA3ODYsICAwLCAgICAwLCAgICAwLCAgICAxMTIxLCAwLCAgICA3NDgsICAwLCAgICAw
LCAgICA0MDksCi0gICAgMCwgICAgNTAxLCAgMTQ3LCAgMCwgICAgMCwgICAgNjU2LCAgMCwgICAg
MCwgICAgMzM1LCAgMTYwMywgMjc0LCAgMCwgICAgMTMyOCwgMCwgICAgMCwgICAgMCwKLSAgICAw
LCAgICAwLCAgICAzNTUsICAwLCAgICAwLCAgICAwLCAgICA5MTAsICAwLCAgICAwLCAgICAyNDgs
ICA4NDUsICAwLCAgICAwLCAgICAwLCAgICAxMTEwLCA4MiwKLSAgICAwLCAgICAxNzAxLCAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICA1NjMsICAwLCAgICAwLCAgICA4MTcsICAxNjk2LCAwLCAgICAw
LCAgICAzMDUsICAwLCAgICAwLAotICAgIDAsICAgIDM4NywgIDk5OCwgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDc4NSwgIDAsICAgIDE5NDQsIDAsICAg
IDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMTgyMSwgMCwgICAgMTkwLCAgMCwgICAgMTgzMCwg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICA3NTcsICAw
LCAgICAwLCAgICAxODkxLCAwLCAgICAwLCAgICAyOSwgICAxNDMsICAwLCAgICAxOTc5LCAxOTQ5
LCA4MzIsICAyMjYsICAwLCAgICAxODcyLCAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDE3MTYsIDAsICAgIDExOTAsIDAsICAgIDE3NTAsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsCi0gICAgNDMxLCAgMjkyLCAgMCwgICAgMCwgICAgMTQ4OSwgODIsICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgOTY3LCAgMCwgICAgMCwgICAgNTg1LCAgMCwKLSAg
ICAwLCAgICAxOTU1LCAwLCAgICAwLCAgICAwLCAgICAxNjQ2LCA2NzAsICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAzOTgsICAwLCAgICAzMTMsICAwLCAgICAwLAotICAgIDAsICAgIDY1MywgIDAs
ICAgIDAsICAgIDAsICAgIDU1NywgIDY2OSwgIDAsICAgIDIwNiwgIDE1LCAgIDUzNiwgIDAsICAg
IDYzOSwgIDAsICAgIDEzMTAsIDAsCi0gICAgMCwgICAgMzU0LCAgMCwgICAgMTg4NywgMCwgICAg
MCwgICAgMTg3NSwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTgyNywgNDk4LCAgMCwg
ICAgNDAyLAotICAgIDEyMjMsIDAsICAgIDY5OCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDg3NSwgIDExOSwgIDAsICAgIDAsICAgIDE2MzUsIDEzMTMsIDAsCi0gICAgODcw
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNzQ0LCAgODksICAgMCwgICAg
MCwgICAgMCwgICAgMzQ1LCAgOTY0LCAgMCwgICAgNDM4LAotICAgIDE4LCAgIDAsICAgIDAsICAg
IDAsICAgIDgwNywgIDAsICAgIDAsICAgIDAsICAgIDE2NjksIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDE1NjgsIDc3MiwgIDAsCi0gICAgNTIyLCAgOTI2LCAgMCwgICAgOTIzLCAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMTg4OSwgMCwgICAgNTEzLCAgMTIyMiwgMCwgICAgMCwgICAgMCwgICAg
MCwKLSAgICAwLCAgICAwLCAgICAwLCAgICA0ODUsICA5NjAsICAwLCAgICAxMTUxLCA1MTgsICAx
MjAyLCAwLCAgICAwLCAgICA3LCAgICAwLCAgICAwLCAgICAxMDczLCAxODcwLAotICAgIDUzMCwg
IDE0OTIsIDAsICAgIDE4NTQsIDAsICAgIDAsICAgIDMyNiwgIDAsICAgIDAsICAgIDY2NSwgIDEz
NzgsIDMxMSwgIDAsICAgIDAsICAgIDM2OCwgIDAsCi0gICAgMCwgICAgMTIyLCAgMTc0MywgNjAz
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNTA5LCAgMjE0LCAgMCwgICAgNiwgICAg
MCwgICAgMCwgICAgMTMwLAotICAgIDkzOCwgIDE5NDIsIDAsICAgIDE4NCwgIDcxNCwgIDAsICAg
IDAsICAgIDAsICAgIDkzLCAgIDAsICAgIDczOSwgIDMwNywgIDAsICAgIDE2OTYsIDUzMCwgIDAs
Ci0gICAgMCwgICAgMTI1OCwgMTg0LCAgOTU4LCAgNjEsICAgNDcyLCAgNjE0LCAgMTk1MywgMCwg
ICAgMTMyMCwgNTczLCAgMCwgICAgMCwgICAgMCwgICAgMjY2LCAgNzQ5LAotICAgIDAsICAgIDQ0
MSwgIDg0NSwgIDgwNSwgIDAsICAgIDQ0MSwgIDU3MCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDg5LCAgIDcxOCwgIDE4NywgIDc0OCwgIDM1LAotICAgIDAsICAgIDAsICAgIDAsICAgIDc5NCwg
IDE5OTMsIDAsICAgIDE0OSwgIDAsICAgIDAsICAgIDU5MiwgIDAsICAgIDAsICAgIDE0MzEsIDAs
ICAgIDQzMCwgIDE0NzksCi0gICAgMCwgICAgNDgsICAgODk0LCAgMTcyLCAgMCwgICAgODksICAg
MCwgICAgODY0LCAgMTk3NSwgMCwgICAgMzM3LCAgNjcyLCAgMCwgICAgMTczOCwgMCwgICAgMTY1
MywKLSAgICAwLCAgICAxMzksICAwLCAgICA2OTAsICAwLCAgICAwLCAgICAwLCAgICA4MTMsICAw
LCAgICAxMzY4LCAzOTUsICAxNDUsICAxNSwgICAwLCAgICAzNDQsICA0NCwKLSAgICAwLCAgICAw
LCAgICAwLCAgICAyMTEsICAwLCAgICAwLCAgICAwLCAgICA2MzQsICAxMzQ2LCA0NDQsICAwLCAg
ICAwLCAgICAwLCAgICA2NzgsICAwLCAgICAxNjkyLAotICAgIDM2NiwgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDY1MiwgIDAsICAgIDM4MSwg
IDQwNiwgIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgNTQ3LCAgMTk4NSwgMzUzLCAgMCwgICAg
MCwgICAgMCwgICAgMTM2OSwgMzUsICAgMCwgICAgODc2LCAgMTgwMywgMCwgICAgMjA2LCAgMCwK
LSAgICAwLCAgICAwLCAgICA1MzAsICAxMTksICAwLCAgICAwLCAgICAxNzE0LCAyMDcsICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDI3NywgIDE2NjAsIDAsICAgIDY5NSwgIDAsICAgIDE5
NzgsIDYzMiwgIDAsICAgIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgNzExLCAgMCwgICAgMTY2NywgMCwgICAgNjIxLCAgMCwgICAgNjk2LCAgMCwgICAg
MCwgICAgMTQsCi0gICAgNzI1LCAgMCwgICAgNTEyLCAgMCwgICAgNDU5LCAgNzEzLCAgMzQsICAg
MCwgICAgMCwgICAgODgzLCAgMCwgICAgMTI3MCwgMywgICAgMCwgICAgMCwgICAgOTk5LAotICAg
IDAsICAgIDk0NywgIDY3OSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE3MDAsIDE2NCwgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDE5MDEsIDI2OSwgIDAsCi0gICAgMTg4OCwgOTI3LCAgMTgx
NSwgMCwgICAgMTk5OCwgNDAxLCAgNTkxLCAgMCwgICAgMTk3NiwgMCwgICAgOTU3LCAgMjUzLCAg
MTMyLCAgMCwgICAgMCwgICAgMCwKLSAgICA4LCAgICAwLCAgICAwLCAgICAxODU0LCAxNDQ3LCAy
MjksICAwLCAgICAzNjMsICAxNTU0LCAyNTMsICAzOCwgICAxNzEyLCAwLCAgICAwLCAgICAzMywg
ICAwLAotICAgIDIwNywgIDAsICAgIDE5MTYsIDAsICAgIDAsICAgIDg0MCwgIDE2NTEsIDAsICAg
IDIxMywgIDAsICAgIDQ4OSwgIDU3LCAgIDAsICAgIDAsICAgIDAsICAgIDgyMCwKLSAgICA2MTIs
ICA3MTUsICAwLCAgICAwLCAgICAxMjUyLCAwLCAgICAwLCAgICAwLCAgICAyMjAsICAxODc2LCAw
LCAgICAxMjEsICAzMSwgICAxMjAsICAxOTYsICAwLAotICAgIDg2NywgIDkyNCwgIDE0NjgsIDE4
ODQsIDc1MiwgIDg0MiwgIDAsICAgIDAsICAgIDg5LCAgIDE5NTEsIDExLCAgIDAsICAgIDMyOSwg
IDE2MjYsIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgNzMxLCAgMCwgICAgMCwgICAgNDg3LCAg
MCwgICAgMCwgICAgMTY4OCwgMCwgICAgMTM2OCwgMCwgICAgMjEwLCAgMTYxNiwgMTM4NCwgMCwK
LSAgICAxNDU4LCAxNDQ4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMDc2LCAzODAsICAxODQs
ICAzNDQsICAwLCAgICA0MDUsICAyNDgsICAwLCAgICAwLCAgICAwLAotICAgIDEzNjgsIDgyMCwg
IDUxNywgIDAsICAgIDAsICAgIDE5MCwgIDEwNzcsIDU4NSwgIDAsICAgIDM2NCwgIDAsICAgIDAs
ICAgIDEyNywgIDQ1LCAgIDE3LCAgIDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgNCwgICAgMCwg
ICAgMTIwNywgMCwgICAgMCwgICAgMzE3LCAgNTUyLCAgNDQ0LCAgNDMyLCAgMzY3LCAgMCwgICAg
MCwgICAgMCwKLSAgICAwLCAgICAzMjAsICAzMTEsICA1NTQsICAwLCAgICA0NDMsICAxMDU0LCAw
LCAgICAwLCAgICAwLCAgICAxODQ5LCAwLCAgICAwLCAgICA2MzMsICAxNDM3LCAwLAotICAgIDg3
NiwgIDQ4NCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDQ4LCAgIDAsICAgIDAsICAg
IDE5MjYsIDcxOCwgIDAsICAgIDAsICAgIDAsICAgIDE2NCwKLSAgICAwLCAgICAwLCAgICA1NDQs
ICAxNzg0LCA4MDAsICAwLCAgICAwLCAgICAxNTYyLCAwLCAgICA1NjUsICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDkwNSwgIDc5OCwgIDAsICAgIDEx
NzAsIDAsICAgIDAsICAgIDAsICAgIDE1NTEsIDQwNywgIDAsICAgIDAsICAgIDAsICAgIDkyOSwg
IDAsCi0gICAgMCwgICAgOTg2LCAgMCwgICAgMTQwOSwgMCwgICAgMTk5OSwgMTE0MiwgMTE3OCwg
MTA0MiwgMTE0LCAgMCwgICAgMCwgICAgMzYyLCAgOTY0LCAgNTYsICAgMCwKLSAgICAyMzIsICAw
LCAgICAwLCAgICAwLCAgICA3MDIsICAxNTYxLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDE0NTAsIDg1MSwgIDAsICAgIDAsICAg
IDAsICAgIDE4NzgsIDE2MzUsIDAsICAgIDE3NTYsIDM3NiwgIDAsICAgIDQxNywgIDAsICAgIDE2
NzYsIDYzMCwgIDAsCi0gICAgMjEsICAgOTIwLCAgMTA4LCAgMTY3OSwgMCwgICAgMTc3MCwgMTYw
LCAgMCwgICAgODI5LCAgMTgyOCwgMCwgICAgMCwgICAgMCwgICAgNDY0LCAgMTA2NywgMCwKLSAg
ICAxNjA3LCAzMjIsICA3MjcsICAxMiwgICAwLCAgICAwLCAgICA2MTgsICAwLCAgICAyODcsICAw
LCAgICAwLCAgICAwLCAgICAyNDAsICAxNTkzLCA1MzEsICA0NDksCi0gICAgODEwLCAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgNTUxLCAgMCwgICAgNzMzLCAgMCwgICAgMCwgICAgMjgz
LCAgMTc5NiwgMCwgICAgMTkyLCAgMCwKLSAgICAwLCAgICA1NTksICAxMjEzLCAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAyMDQsICAxNDYsICAyOCwgICAyMzYsICAxODc1LCAwLCAgICA2ODAsICAw
LCAgICA3NjEsCi0gICAgNDEwLCAgMCwgICAgMCwgICAgMCwgICAgOTM0LCAgNjM4LCAgMCwgICAg
MCwgICAgODQ5LCAgMCwgICAgMTI4NiwgODEsICAgMCwgICAgOTI4LCAgMTkzMSwgMCwKLSAgICAx
NzYyLCAwLCAgICAxNDg1LCAxMjAzLCAxNzcxLCAwLCAgICA0NzgsICA1MCwgICAxNTksICAzODIs
ICAwLCAgICA4MjQsICAwLCAgICAwLCAgICAyMTYsICAwLAotICAgIDM0NywgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDQ0NiwgIDkyNSwgIDAsICAgIDI5NSwgIDE4NzQsIDAsICAgIDExNDIsIDAs
ICAgIDAsICAgIDkwOCwgIDAsCi0gICAgNDE5LCAgMCwgICAgMTM5NCwgODAsICAgMCwgICAgMCwg
ICAgMTY5NywgMCwgICAgNDE1LCAgMCwgICAgMCwgICAgMTY5MSwgMCwgICAgMCwgICAgMCwgICAg
MCwKLSAgICAwLCAgICAwLCAgICAzNjAsICAwLCAgICAwLCAgICAyMDAsICA3NywgICA3MjYsICAy
ODQsICAxNTAxLCA0ODMsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDE2NCwgIDY2
NywgIDY2NCwgIDU4NiwgIDU3OCwgIDE5MTEsIDk5LCAgIDE3MzcsIDAsICAgIDAsICAgIDk1MCwg
IDAsICAgIDM2MSwgIDAsICAgIDAsICAgIDAsCi0gICAgMjMsICAgMCwgICAgMCwgICAgMjE5LCAg
MTY3NywgMCwgICAgNDYyLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNzMyLCAgNTQsICAgMjQ4
LCAgNTQ4LCAgMTczOCwKLSAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAz
MDgsICAwLCAgICAwLCAgICAwLCAgICAyNzQsICAwLCAgICAwLCAgICAwLCAgICAxMjMsICAwLAot
ICAgIDAsICAgIDY2NSwgIDY3MCwgIDQ2OCwgIDc0NywgIDAsICAgIDkwNiwgIDE0MDcsIDAsICAg
IDI1NywgIDE0MzksIDg1OCwgIDg1LCAgIDQwNCwgIDI2OSwgIDE3ODMsCi0gICAgODU4LCAgNzc0
LCAgMTE1LCAgMCwgICAgMCwgICAgMCwgICAgMzIxLCAgMTYyNSwgMTYyMSwgMjk4LCAgMCwgICAg
MjI0LCAgMCwgICAgMCwgICAgMzY5LCAgNzA3LAotICAgIDg4MSwgIDUzNCwgIDgyMiwgIDAsICAg
IDAsICAgIDE3OTQsIDQ4OCwgIDAsICAgIDAsICAgIDAsICAgIDY1NSwgIDc0MywgIDAsICAgIDk2
NSwgIDQ3MiwgIDE1NDgsCi0gICAgNTY0LCAgMCwgICAgMCwgICAgMzA2LCAgMTIwNSwgMTc1OSwg
MCwgICAgNzg5LCAgMCwgICAgOTYyLCAgMCwgICAgMCwgICAgNTgzLCAgMzU5LCAgMCwgICAgMCwK
LSAgICAwLCAgICAwLCAgICA4MjMsICAxOTg2LCA2MTUsICAxMTIwLCAyNTcsICA3MDksICAwLCAg
ICAwLCAgICAwLCAgICAxNzQ4LCAwLCAgICAyMzMsICAwLCAgICAwLAotICAgIDAsICAgIDAsICAg
IDAsICAgIDE3MDAsIDAsICAgIDAsICAgIDU2MCwgIDg1NSwgIDIxOSwgIDE2NSwgIDAsICAgIDAs
ICAgIDUyLCAgIDAsICAgIDQxMywgIDM2MCwKLSAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA3
MjIsICAxMjYsICAyMzEsICAwLCAgICAwLCAgICAwLCAgICA4MDgsICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLAotICAgIDE0ODcsIDE5NTMsIDE3MDYsIDE0NzQsIDAsICAgIDExMjYsIDE0Mjks
IDE3OTAsIDAsICAgIDY1OSwgIDAsICAgIDAsICAgIDEzNjksIDQwLCAgIDExOTMsIDE4NSwKLSAg
ICAwLCAgICAxMTQxLCAwLCAgICAyNTUsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxNjcxLCAw
LCAgICAwLCAgICAxMTMxLCAyNDIsICAwLCAgICA3MzIsICAwLAotICAgIDAsICAgIDAsICAgIDE3
NDYsIDAsICAgIDE2ODEsIDAsICAgIDE1MDUsIDAsICAgIDAsICAgIDAsICAgIDUxNSwgIDAsICAg
IDAsICAgIDAsICAgIDEyODgsIDAsCi0gICAgMzQzLCAgMCwgICAgMCwgICAgMCwgICAgMjE3LCAg
MCwgICAgODgsICAgMTkyMSwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgODMyLCAgOTQxLCAgMCwg
ICAgMCwKLSAgICAxODAsICAwLCAgICAxNjEsICAwLCAgICAwLCAgICAxNTMsICAyMzMsICAwLCAg
ICA3MDAsICAwLCAgICAyMDUsICAyMDksICAxMjY3LCAwLCAgICAxNTAyLCAxNTksCi0gICAgMCwg
ICAgMCwgICAgMTg4NiwgNiwgICAgMCwgICAgMCwgICAgMTgwOSwgMCwgICAgMTI2LCAgMTU3Miwg
NjEzLCAgMTkwMSwgMCwgICAgMzQ4LCAgMTg1MywgMCwKLSAgICAwLCAgICAyODUsICAxMDgxLCAw
LCAgICAxMzI0LCAwLCAgICAxNjU5LCA5MjIsICAwLCAgICAxNjIyLCAwLCAgICAwLCAgICA0NjQs
ICAyMjksICA5MTMsICAwLAotICAgIDExMzYsIDMzNSwgIDI0OCwgIDAsICAgIDEzOCwgIDAsICAg
IDAsICAgIDAsICAgIDM5MywgIDAsICAgIDc3OSwgIDgyMCwgIDE0NCwgIDAsICAgIDAsICAgIDUz
MSwKLSAgICAxLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxODMzLCAxOTkzLCAx
OTAyLCAwLCAgICAwLCAgICA5MTIsICAwLCAgICAwLCAgICAzMzIsICAzMzEsCi0gICAgMCwgICAg
MzI4LCAgNzc2LCAgMTkzMSwgMCwgICAgMCwgICAgMCwgICAgNDUwLCAgMTgzNywgMCwgICAgMCwg
ICAgMCwgICAgMTU4LCAgMCwgICAgNDExLCAgMCwKLSAgICA1NDksICA0MTMsICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICA2MjQsICAxNDEyLCAwLCAgICAwLCAgICAzNTMsICAzNjEsICAwLCAgICAx
NjE1LCAxNTU3LCA0NDUsCi0gICAgMCwgICAgMCwgICAgNzgsICAgMTA3LCAgNDAyLCAgMCwgICAg
MCwgICAgMCwgICAgMTc2NywgMCwgICAgMTcwOSwgNjAwLCAgMCwgICAgNzM1LCAgODEwLCAgMCwK
LSAgICAwLCAgICAwLCAgICA0MTQsICAxMTAyLCAxOTMsICAyMjQsICAwLCAgICAwLCAgICAwLCAg
ICA0MzEsICAxMDAwLCA3MDEsICA0NTQsICAzMTIsICA3MDIsICA4NDksCi0gICAgMjI0LCAgMTg1
MywgMCwgICAgODExLCAgMTQ1OSwgNDk5LCAgMCwgICAgODgwLCAgNTYyLCAgNjYsICAgMCwgICAg
MTUyMCwgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICA3MzAsICAwLCAgICAwLCAgICAxMTg5LCA1
OTAsICA0MDQsICAwLCAgICAwLCAgICAwLCAgICAyMTAsICAxMzYsICAwLCAgICAwLCAgICA2ODcs
ICA3ODksICAyNTYsCi0gICAgMCwgICAgNjMwLCAgNjI2LCAgMCwgICAgMzY0LCAgMCwgICAgMzE0
LCAgMCwgICAgMCwgICAgNjM4LCAgMTY0NSwgMCwgICAgMTY5NywgMTc0MCwgMCwgICAgMCwKLSAg
ICA4NywgICAxNSwgICAzODEsICAzNzAsICAyNywgICAwLCAgICA1NjQsICA1NTcsICAxNjU1LCAy
NTcsICA0OCwgICAwLCAgICA5MDIsICAyNjksICAyMzksICAwLAotICAgIDE3MjYsIDEyMTQsIDE0
NjQsIDI5MiwgIDEwNTUsIDY1LCAgIDI3NSwgIDQ1MSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDg0OCwgIDQxNCwgIDI0NiwgIDcxNiwKLSAgICAzMSwgICAwLCAgICAwLCAgICAwLCAgICAxMTks
ICA2NTgsICAwLCAgICA0NzQsICAwLCAgICAxMDA0LCAxMjcsICA4MjUsICA1OTIsICAyNDAsICAx
MjQ5LCAwLAotICAgIDAsICAgIDAsICAgIDc2NiwgIDAsICAgIDU1OCwgIDAsICAgIDE2NTYsIDAs
ICAgIDEzNjAsIDAsICAgIDE5MTMsIDAsICAgIDUwLCAgIDAsICAgIDAsICAgIDEyOSwKLSAgICAy
MjksICAwLCAgICAwLCAgICAxMzAsICAwLCAgICAzNzEsICA1NTAsICAwLCAgICA1MzUsICAwLCAg
ICA5MTEsICAwLCAgICA0NTYsICA4MzUsICAwLCAgICAyMzgsCi0gICAgMCwgICAgODc4LCAgMCwg
ICAgNjE3LCAgMCwgICAgODEwLCAgMTgzOSwgMTM4LCAgMTE2MSwgMTM0NywgMCwgICAgOTA2LCAg
MjE0LCAgMjY1LCAgMCwgICAgNzk2LAotICAgIDU1NiwgIDg3NiwgIDE4NTIsIDI2MiwgIDE2NDks
IDM1OCwgIDcxMywgIDkzNCwgIDAsICAgIDAsICAgIDIzNywgIDI1OCwgIDU3NSwgIDEwNiwgIDAs
ICAgIDAsCi0gICAgODIxLCAgMTA4OCwgODI2LCAgMCwgICAgMCwgICAgNTE2LCAgMzg0LCAgMCwg
ICAgMTc0NywgMCwgICAgMTM5NywgODA4LCAgMzY2LCAgMCwgICAgMjUyLCAgMTQ1LAotICAgIDc1
MiwgIDQ5LCAgIDAsICAgIDE5NzYsIDUyMSwgIDAsICAgIDAsICAgIDEwNzYsIDE4MCwgIDc5OSwg
IDE5MzAsIDE0LCAgIDEwNDYsIDUxMCwgIDAsICAgIDAsCi0gICAgMTM3LCAgMCwgICAgMCwgICAg
MCwgICAgNDgxLCAgMCwgICAgNzA0LCAgMzY2LCAgMCwgICAgMCwgICAgMCwgICAgNjgxLCAgMzc5
LCAgMCwgICAgMCwgICAgNjkyLAotICAgIDQ3OSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDg5MSwgIDAsICAgIDE0MDEsIDY4NCwgIDU2MSwgIDAsICAgIDY5OCwgIDAsICAgIDUxMiwg
IDE5MzAsCi0gICAgMCwgICAgMjg2LCAgMTQ2MCwgMCwgICAgMCwgICAgMCwgICAgNjE0LCAgMCwg
ICAgNTYzLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNzMwLAotICAgIDg0
NCwgIDEyMjAsIDAsICAgIDEyNCwgIDYwNSwgIDEwNDksIDE3MzksIDIwLCAgIDE5NCwgIDAsICAg
IDEwMCwgIDAsICAgIDAsICAgIDAsICAgIDI0LCAgIDAsCi0gICAgMCwgICAgODA1LCAgMTI5LCAg
MjIsICAgMTkxMCwgNDI1LCAgMTg1NywgNTMwLCAgODcwLCAgMjQzLCAgMCwgICAgNTkwLCAgNDky
LCAgODUwLCAgMTc4MywgNDk3LAotICAgIDE5NjcsIDAsICAgIDE2OTMsIDM0OCwgIDAsICAgIDAs
ICAgIDAsICAgIDg2LCAgIDAsICAgIDE2OTgsIDc5OSwgIDY3NywgIDQ4LCAgIDAsICAgIDAsICAg
IDAsCi0gICAgNTY2LCAgMCwgICAgMTAyLCAgNzkzLCAgMCwgICAgNjAsICAgOTA1LCAgMCwgICAg
MCwgICAgMjUxLCAgNjcyLCAgMzQyLCAgMTk0LCAgMCwgICAgNjg1LCAgNDM5LAotICAgIDE1MDks
IDAsICAgIDc2NCwgIDAsICAgIDAsICAgIDEyNzcsIDAsICAgIDE1MjgsIDAsICAgIDE2MzMsIDE3
NiwgIDAsICAgIDc2NiwgIDAsICAgIDIwMCwgIDAsCi0gICAgMTc0NiwgMzgwLCAgMTAxNCwgMjg4
LCAgMTkwNywgMCwgICAgNTUzLCAgMCwgICAgMCwgICAgMCwgICAgMTczNiwgMTYwNywgMCwgICAg
MCwgICAgMjEsICAgNjE1LAotICAgIDAsICAgIDg2MCwgIDc1MCwgIDAsICAgIDAsICAgIDM2OSwg
IDQ1MSwgIDAsICAgIDE5OTMsIDY2OSwgIDEyMywgIDAsICAgIDAsICAgIDg0MSwgIDk2LCAgIDE3
OTMsCi0gICAgMCwgICAgOTY0LCAgMTUzLCAgNTk1LCAgMTkyLCAgMCwgICAgNTgzLCAgNjY2LCAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMjgwLCAgMjcsICAgMCwgICAgMCwKLSAgICAzNzUsICAw
LCAgICA0NjksICAwLCAgICAwLCAgICAwLCAgICAxNTk0LCA1OTUsICAxOTQ5LCAwLCAgICAwLCAg
ICAzNTYsICAxODg1LCAzNTksICA0NDcsICAwLAotICAgIDU4OSwgIDIyNiwgIDE3ODUsIDEyOTgs
IDAsICAgIDQ4MCwgIDAsICAgIDAsICAgIDAsICAgIDEzNjQsIDI1MCwgIDgzMiwgIDAsICAgIDYw
MCwgIDAsICAgIDgwNCwKLSAgICAyMzQsICAxNDksICAzOTUsICAwLCAgICAwLCAgICAxODgsICAx
NDk5LCAzNjYsICA1OTQsICAxNTIsICAwLCAgICA3MjgsICAxOTYwLCAxODI0LCAwLCAgICAwLAot
ICAgIDAsICAgIDE0MTMsIDQwMSwgIDYyMCwgIDAsICAgIDExMjUsIDAsICAgIDUwOSwgIDc5MCwg
IDAsICAgIDI3MywgIDAsICAgIDMwNSwgIDEwMTYsIDE0MDksIDAsCi0gICAgMCwgICAgODU2LCAg
MzI1LCAgMzc1LCAgMTYwOSwgMCwgICAgMzE3LCAgNzg4LCAgMzc1LCAgMCwgICAgMCwgICAgMzc5
LCAgMTY5MywgMCwgICAgMCwgICAgMTQ2MiwKLSAgICAxNjUsICA4NzQsICAxOTk3LCA0MjAsICAw
LCAgICA0NTksICAyMjgsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICA4MzYsICAwLAotICAgIDE5OTIsIDE5MjIsIDAsICAgIDg0OSwgIDAsICAgIDE2MTAsIDM0NSwg
IDQzNywgIDAsICAgIDczOSwgIDY0MywgIDI4OSwgIDAsICAgIDAsICAgIDg2NywgIDM2NiwKLSAg
ICAwLCAgICAxOTk5LCA2NjAsICAxNSwgICAwLCAgICAwLCAgICA1NTUsICAwLCAgICAwLCAgICAw
LCAgICAxMjQ4LCA0MjAsICAwLCAgICAwLCAgICA1MTEsICAzNTMsCi0gICAgNDY5LCAgMTg3Nywg
NDQwLCAgMCwgICAgMCwgICAgMTk2MCwgNzU1LCAgODE5LCAgNDI2LCAgODE0LCAgOTIsICAgMCwg
ICAgMTM2MiwgMCwgICAgNzIzLCAgNzA5LAotICAgIDE0MTAsIDcwLCAgIDAsICAgIDg1NCwgIDI1
MiwgIDYzMiwgIDk5LCAgIDE3NDgsIDM4MSwgIDg4MiwgIDAsICAgIDY3OSwgIDAsICAgIDI1NSwg
IDE5NywgIDEwMDAsCi0gICAgMCwgICAgMCwgICAgMTU4NCwgMTQ3MywgODQsICAgMCwgICAgNiwg
ICAgMCwgICAgODc4LCAgMTA5OCwgMCwgICAgMzM1LCAgMjU0LCAgNDYxLCAgMCwgICAgODYsCi0g
ICAgMCwgICAgNjYsICAgMCwgICAgNjEwLCAgMzg1LCAgMTc4MiwgMCwgICAgMCwgICAgNDA1LCAg
MCwgICAgMTg3MiwgMCwgICAgMTcwNSwgMCwgICAgNTE2LCAgMTc0OH07CisgICAgMCwgICAgMCwg
ICAgMCwgICAgNTc3LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNTIsICAgMCwgICAg
Nzk5LCAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICA5NzcsICAwLCAgICAwLCAgICA3OTcsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLAorICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDI2Miwg
IDAsICAgIDE1OTQsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAg
MCwgICAgMCwgICAgMTMxMSwgMCwgICAgMCwgICAgMCwgICAgNjU0LCAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAwLCAgICAzMDcsICAwLCAg
ICAwLCAgICAwLCAgICA0OCwgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMDQsICAwLCAgICAx
MTk2LCAxMzUyLCAwLCAgICAxMDU2LAorICAgIDAsICAgIDI1MywgIDAsICAgIDgyNCwgIDAsICAg
IDAsICAgIDk5NCwgIDAsICAgIDAsICAgIDgwOCwgIDEzNjYsIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMTY2LCAgMTMxNSwgMCwgICAgMCwgICAgMTQ4LCAgMCwgICAgMCwKKyAgICAxNjk5
LCAwLCAgICAwLCAgICAwLCAgICAxMDg1LCAwLCAgICAwLCAgICAwLCAgICA5MSwgICAwLCAgICAw
LCAgICAwLCAgICAxMTIzLCAwLCAgICAwLCAgICAwLAorICAgIDExNTAsIDAsICAgIDczNSwgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE0NjUs
IDc4MCwgIDE5NiwgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMzQ1LCAgMTY2MiwgMCwgICAg
NzE4LCAgODk1LCAgMCwgICAgMTMyOSwgMTE0OCwgMCwgICAgMCwgICAgMTUxNiwgOTI2LCAgMCwK
KyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxNTgxLCAwLCAgICAwLCAgICAxNDA4
LCA0MjgsICAwLCAgICAxMzEyLCAwLCAgICAxMTI3LCA1NDQsICAwLAorICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDIxNCwgIDcxNiwgIDAsICAgIDAsICAgIDExODIsIDAsICAgIDAs
ICAgIDAsICAgIDMzMCwgIDExMzgsIDAsCisgICAgMCwgICAgMTc4MSwgMCwgICAgMCwgICAgNzgw
LCAgNjM2LCAgMCwgICAgMTU3LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMTA4OSwKKyAgICAwLCAgICAwLCAgICA0MzYsICAxMTAsICAwLCAgICAxNTcyLCAxNDk0
LCAwLCAgICAwLCAgICAxNTk1LCAwLCAgICAwLCAgICAwLCAgICA3MDksICA5OTEsICAwLAorICAg
IDAsICAgIDAsICAgIDEzNTUsIDAsICAgIDEyMDEsIDE3ODYsIDAsICAgIDMxMiwgIDIzNSwgIDEz
ODYsIDAsICAgIDAsICAgIDE1ODIsIDE0NDgsIDAsICAgIDE1NzQsCisgICAgNjIwLCAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgNDkzLCAgNywgICAgMCwgICAgOTUyLCAgOTEyLCAgMCwgICAgMTcw
LCAgMCwgICAgMCwgICAgMCwgICAgMTU2NCwKKyAgICA1ODUsICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAxNDgxLCAwLCAgICAyNzgsICAwLCAgICA1MzUsICAwLCAgICAwLCAgICAxNjM0
LCAyOSwgICA2MTEsCisgICAgMTQ4NiwgMTA2LCAgMCwgICAgMCwgICAgMTA3MCwgMCwgICAgMCwg
ICAgMCwgICAgMjY2LCAgMCwgICAgMCwgICAgMTgwNiwgMCwgICAgMjE2LCAgMCwgICAgOTgsCisg
ICAgNjc2LCAgMCwgICAgNjUxLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMTA1LCAgNzIsICAgMCwgICAgMzE3LCAgMTMzLAorICAgIDAsICAgIDAsICAg
IDE0NiwgIDM1NCwgIDAsICAgIDY3NywgIDAsICAgIDExMCwgIDAsICAgIDEwOTcsIDAsICAgIDE2
NzQsIDAsICAgIDAsICAgIDU3LCAgIDAsCisgICAgMTU3NCwgNTg3LCAgMCwgICAgMjQyLCAgMTg4
LCAgMCwgICAgMTk2LCAgODY0LCAgMTMzMCwgNzM1LCAgMCwgICAgMzM5LCAgMCwgICAgNzM5LCAg
MCwgICAgNTgsCisgICAgMTkzLCAgMCwgICAgMCwgICAgMTY1LCAgMCwgICAgODIzLCAgMCwgICAg
MTI4LCAgMCwgICAgMCwgICAgMTA3NywgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAw
LCAgICA4NzIsICAxNzgyLCAxNjkyLCAwLCAgICAwLCAgICA2NjQsICAxMjcwLCAwLCAgICAxMTk5
LCAwLCAgICAwLCAgICA2MSwgICAwLCAgICAwLCAgICAwLAorICAgIDY2MiwgIDAsICAgIDQ4OSwg
IDAsICAgIDEwMjksIDAsICAgIDAsICAgIDAsICAgIDEzMzMsIDY5LCAgIDQ2NiwgIDAsICAgIDAs
ICAgIDEzNjAsIDAsICAgIDAsCisgICAgMjUxLCAgMTUzLCAgNDQ1LCAgMTczLCAgMCwgICAgMTE4
MSwgMCwgICAgMCwgICAgMzI1LCAgMCwgICAgMCwgICAgMzQyLCAgMzkxLCAgMCwgICAgOTAxLCAg
MCwKKyAgICA3MDcsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMjcyLCAwLCAgICA0OTAsICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICA3MjEsICAwLCAgICAwLCAgICAwLAorICAgIDAsICAgIDEy
MjAsIDEyMjgsIDgxMSwgIDEzNTksIDEzNTMsIDEyNjIsIDcyLCAgIDAsICAgIDAsICAgIDY4Mywg
IDAsICAgIDEzMzksIDAsICAgIDAsICAgIDAsCisgICAgMTM0MywgMCwgICAgNzE3LCAgMCwgICAg
MCwgICAgMTcyMywgNzI4LCAgMCwgICAgMCwgICAgMCwgICAgNzgsICAgNTMzLCAgMjQzLCAgMCwg
ICAgMCwgICAgMTQxNiwKKyAgICAzNjMsICAwLCAgICAwLCAgICAwLCAgICA0MjYsICAwLCAgICA1
MTQsICAwLCAgICAxMTMyLCA1MDEsICAyNjIsICAwLCAgICAwLCAgICA0MiwgICAxNjQ3LCAxNzc1
LAorICAgIDkwMywgIDgwMywgIDYwNywgIDAsICAgIDAsICAgIDkwNSwgIDIzNywgIDAsICAgIDAs
ICAgIDMwOSwgIDExNjQsIDAsICAgIDAsICAgIDczMCwgIDE3MDAsIDAsCisgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMjM0LCAgMTY2MywgMCwgICAgMCwgICAgMzgzLCAgMTAxOCwg
MCwgICAgMTY2NSwgMCwgICAgMCwgICAgMTI1MiwKKyAgICAwLCAgICAwLCAgICAwLCAgICA3ODUs
ICAwLCAgICAzNDYsICAxNDIwLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAx
NzU1LCAxMzM0LCAwLAorICAgIDk5MCwgIDEyMzAsIDAsICAgIDE0NzksIDkyNywgIDE3NjAsIDIz
MywgIDg1MiwgIDAsICAgIDcxMiwgIDEwMywgIDE1MTIsIDQzNiwgIDAsICAgIDAsICAgIDEzMywK
KyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA0MTksICAxNzQ2LCAxOTMsICAwLCAg
ICAwLCAgICAxMjgwLCA4MzIsICA3NDQsICAwLCAgICAwLCAgICA4MjYsCisgICAgMCwgICAgMTYw
MCwgMCwgICAgOTYzLCAgNDg1LCAgMjM4LCAgMCwgICAgMjE3LCAgMTM3NCwgMTcxNSwgODY3LCAg
MCwgICAgODc3LCAgNTY5LCAgNDM4LCAgNTk5LAorICAgIDAsICAgIDAsICAgIDQyOSwgIDkyMCwg
IDg1MCwgIDAsICAgIDAsICAgIDAsICAgIDE0MSwgIDAsICAgIDEzOCwgIDAsICAgIDAsICAgIDAs
ICAgIDE1MTMsIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgNjQzLCAgMCwgICAgMCwgICAgMTI3
NSwgMCwgICAgMCwgICAgMTU0MSwgMTQ1MSwgMCwgICAgODcsICAgMCwgICAgMCwgICAgMCwKKyAg
ICAwLCAgICAwLCAgICAwLCAgICAxNzksICAxMDg5LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICA0ODYsICAwLCAgICAwLCAgICAzMTMsICAwLAorICAgIDMzOSwgIDMyNCwgIDE0
NjUsIDAsICAgIDAsICAgIDM5MCwgIDAsICAgIDAsICAgIDAsICAgIDc2NywgIDAsICAgIDAsICAg
IDgyOCwgIDM3NywgIDE3NzksIDE1MSwKKyAgICAwLCAgICAwLCAgICAxNjk0LCAwLCAgICA2NzEs
ICAwLCAgICA2MjcsICAxNDgzLCAwLCAgICAwLCAgICA2MzEsICA0MjIsICAwLCAgICAyOSwgICAw
LCAgICA1NDAsCisgICAgMTE0NywgMCwgICAgMTQ2MSwgMCwgICAgMTUwOSwgMjYyLCAgMCwgICAg
MCwgICAgMzY4LCAgMTM4NCwgMTYyNCwgMTYwMiwgODc2LCAgMCwgICAgODIwLCAgMzk2LAorICAg
IDg0NCwgIDE2NzEsIDI3NywgIDAsICAgIDAsICAgIDEzNjQsIDAsICAgIDAsICAgIDAsICAgIDg3
NSwgIDAsICAgIDQ0MCwgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMjMyLCAgMCwgICAgMCwg
ICAgNDcsICAgMjk1LCAgMTAsICAgMCwgICAgMCwgICAgMCwgICAgNDEyLCAgMzExLCAgMCwgICAg
MTMxOCwgNzYsICAgMTA2NCwgMCwKKyAgICAwLCAgICAxMzg2LCA3MjYsICAwLCAgICAwLCAgICAx
MjM3LCAwLCAgICA5NTcsICA5ODYsICAwLCAgICA3NzEsICAxNTA4LCAyOTIsICAwLCAgICAwLCAg
ICAyOTEsCisgICAgOTk1LCAgMzk0LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTM2MywgMTEs
ICAgODY3LCAgMCwgICAgNTM0LCAgMzAyLCAgMTI0LCAgMCwgICAgMCwgICAgMCwKKyAgICAxNzQz
LCAwLCAgICAwLCAgICAxMDQsICA5MTIsICAyNzIsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAy
MjcsICAwLCAgICAwLCAgICAwLCAgICAxNTc5LCA3MTAsCisgICAgMTAzMSwgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgOTAxLCAgMCwgICAgNDgzLCAgMCwgICAgMzkwLCAgNzU1LCAgNDc0LCAgMTI3
MCwgMCwgICAgMzA1LCAgMCwKKyAgICA1NTksICAwLCAgICAzNTIsICAwLCAgICAwLCAgICA0MDEs
ICAwLCAgICAxMzQ4LCAwLCAgICA4NDAsICAwLCAgICAxMDgsICAwLCAgICAwLCAgICAwLCAgICA3
OTQsCisgICAgMCwgICAgNDQxLCAgMTA0OSwgMzM4LCAgMCwgICAgODU3LCAgMCwgICAgMzM0LCAg
MjcyLCAgOTYwLCAgMCwgICAgMCwgICAgNDYxLCAgMzI2LCAgODU2LCAgMTI0NiwKKyAgICAxNjA3
LCA3NjcsICAzODEsICAyODYsICAwLCAgICAzNTEsICAwLCAgICAwLCAgICAwLCAgICAxMzA5LCAw
LCAgICAxNTAsICAzNTAsICAwLCAgICAzNjcsICA3MDgsCisgICAgMCwgICAgMCwgICAgMzYsICAg
MCwgICAgMCwgICAgMTE1NywgMTcxMywgNTU5LCAgMjQ2LCAgNDg0LCAgNjgwLCAgMTQ5LCAgMCwg
ICAgMCwgICAgMCwgICAgMzI5LAorICAgIDczNCwgIDAsICAgIDAsICAgIDE3OTYsIDEzNywgIDAs
ICAgIDU2LCAgIDk4LCAgIDAsICAgIDAsICAgIDY1NiwgIDAsICAgIDY1NSwgIDAsICAgIDAsICAg
IDE2NywKKyAgICAwLCAgICAwLCAgICAxNzcsICAwLCAgICAxMzkxLCAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICA3MTksICA5MTMsICAxNzUxLCA2NDIsICA0NzgsICAxMzg3LCAwLAorICAgIDAsICAg
IDE2NzcsIDYxMiwgIDExMjAsIDAsICAgIDQ4MiwgIDI5NCwgIDc1MywgIDAsICAgIDg4MiwgIDcy
MywgIDEzLCAgIDAsICAgIDE1ODYsIDYxNiwgIDAsCisgICAgMTYyNCwgOTE4LCAgNjg3LCAgMTM4
MywgMCwgICAgODAyLCAgOTIzLCAgMTc4MSwgMCwgICAgMCwgICAgMTk4LCAgMTQ3NSwgOTAsICAg
MCwgICAgMCwgICAgOTI3LAorICAgIDAsICAgIDAsICAgIDAsICAgIDE0NTQsIDAsICAgIDc5MSwg
IDExODAsIDAsICAgIDE2ODcsIDE3NjMsIDgwLCAgIDYxLCAgIDEzMjYsIDAsICAgIDAsICAgIDAs
CisgICAgMCwgICAgODcwLCAgNzgyLCAgMCwgICAgNDQ4LCAgMTQwNywgNzEzLCAgMTA4MCwgMCwg
ICAgMCwgICAgMCwgICAgODgwLCAgNjEyLCAgMCwgICAgMCwgICAgMTcwNiwKKyAgICA4MzQsICAx
MDczLCA4MzksICAwLCAgICAwLCAgICAzOCwgICAxNjUzLCAwLCAgICAxMjY1LCAwLCAgICAwLCAg
ICA2NjIsICAxNjEzLCAwLCAgICAwLCAgICAwLAorICAgIDE0OTUsIDExMTAsIDE5LCAgIDAsICAg
IDAsICAgIDAsICAgIDk2OCwgIDAsICAgIDAsICAgIDEzNzUsIDAsICAgIDE2NDYsIDE0OTAsIDAs
ICAgIDU5NCwgIDY3MSwKKyAgICAwLCAgICA2MjIsICAwLCAgICA4MywgICAzNjIsICAxNjQsICAw
LCAgICAwLCAgICAxNDUsICAxOTgsICAwLCAgICAwLCAgICAxOTMsICAwLCAgICA1NjAsICA3MDAs
CisgICAgMCwgICAgMCwgICAgMCwgICAgMTQwNCwgOTA2LCAgNDM2LCAgMCwgICAgMTMxNCwgMCwg
ICAgMTI1MCwgMCwgICAgMCwgICAgMTY5MSwgMCwgICAgMTgxLCAgMCwKKyAgICA5OSwgICAxMDg2
LCAwLCAgICAxNjAxLCA3OTYsICAzNDYsICAxNDk0LCAwLCAgICAwLCAgICAwLCAgICA0OTAsICAw
LCAgICAxMjI2LCAwLCAgICA0ODcsICAxMTEzLAorICAgIDE2NSwgIDE0MjksIDg5NywgIDAsICAg
IDE2NzQsIDEwMzAsIDQwMiwgIDAsICAgIDgxMCwgIDg0MSwgIDE0OTAsIDQ1MSwgIDcwMSwgIDAs
ICAgIDAsICAgIDAsCisgICAgMTY4NSwgMTM4LCAgMzM2LCAgMCwgICAgMjI3LCAgMCwgICAgNjcs
ICAgMCwgICAgMzQ0LCAgMCwgICAgMCwgICAgODE3LCAgOTg2LCAgNjYzLCAgMTM1LCAgNzI1LAor
ICAgIDAsICAgIDE5OSwgIDExNTUsIDU0NiwgIDE1MTksIDAsICAgIDE0MzgsIDEyMjMsIDAsICAg
IDI3NywgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgNTQyLCAg
MCwgICAgMTIzNywgMCwgICAgMTIwNSwgMCwgICAgMCwgICAgMTI5NCwgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgNDQyLCAgMCwgICAgNzQ0LAorICAgIDkwNiwgIDAsICAgIDAsICAgIDAsICAgIDc0
OSwgIDIyLCAgIDkxNSwgIDAsICAgIDE0OTQsIDcwNiwgIDc0NywgIDAsICAgIDgxNiwgIDAsICAg
IDc4OCwgIDMzMSwKKyAgICAxNTMsICAxMzA4LCA5MjIsICAwLCAgICAyNjQsICA4ODcsICAyMTks
ICAxMDM5LCAzNTMsICA0NzcsICAwLCAgICAwLCAgICAwLCAgICAxNDQ3LCAwLCAgICA2NzMsCisg
ICAgMTYxMCwgMjksICAgMTE1LCAgMTY3MCwgMCwgICAgMCwgICAgMCwgICAgNDQyLCAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMjMwLAorICAgIDAsICAgIDEzMjcs
IDAsICAgIDkyNSwgIDAsICAgIDEzNjYsIDE1NTgsIDAsICAgIDAsICAgIDY4MywgIDAsICAgIDM1
NSwgIDMyNiwgIDU4MywgIDM0NiwgIDAsCisgICAgMTY4MCwgMTMzMywgMCwgICAgNzYzLCAgMTcw
MywgNzUyLCAgMCwgICAgOTcsICAgMCwgICAgMTcyMSwgMCwgICAgMCwgICAgNjA3LCAgMzEyLCAg
MCwgICAgMjgzLAorICAgIDM3MiwgIDQ5NiwgIDYwNSwgIDQ0LCAgIDAsICAgIDE0OCwgIDMyOSwg
IDY1MSwgIDAsICAgIDExOTgsIDg5NywgIDEzOSwgIDEyMywgIDYzLCAgIDU2NCwgIDAsCisgICAg
MTQ3MSwgMTY3MCwgMCwgICAgMCwgICAgNDgzLCAgMzM1LCAgNjQyLCAgMCwgICAgMTc2LCAgMCwg
ICAgNjMsICAgMTY3MSwgNTQ0LCAgMCwgICAgMTU3NywgMTE5LAorICAgIDE1NTcsIDc4NSwgIDQz
NiwgIDI3LCAgIDEzNCwgIDgzNSwgIDExNzAsIDAsICAgIDAsICAgIDAsICAgIDg2LCAgIDAsICAg
IDY4MiwgIDM5NywgIDI1MSwgIDY0LAorICAgIDAsICAgIDU5LCAgIDAsICAgIDUyOSwgIDAsICAg
IDg3OSwgIDAsICAgIDAsICAgIDE4MSwgIDE2NTYsIDM5LCAgIDI4NiwgIDE2NTcsIDAsICAgIDc5
NCwgIDE1MTQsCisgICAgNTU1LCAgNDYxLCAgNjQyLCAgMCwgICAgMzk4LCAgMCwgICAgMCwgICAg
MCwgICAgMjksICAgMCwgICAgMCwgICAgMTI3LCAgMTYwNCwgMCwgICAgNjU4LCAgMCwKKyAgICAx
MjY2LCAwLCAgICAyMjIsICAwLCAgICAwLCAgICAwLCAgICAxOTAsICA3NDEsICAxODUsICAzMzks
ICA2MTUsICAwLCAgICAwLCAgICAxNjU3LCAwLCAgICAxNTQ3LAorICAgIDAsICAgIDQ0OSwgIDAs
ICAgIDI1NywgIDAsICAgIDEwMTksIDUxOSwgIDE3OTEsIDM2NiwgIDgyMCwgIDczNCwgIDQyOSwg
IDAsICAgIDYwNiwgIDE2NDcsIDYzNCwKKyAgICA4MjQsICA2MTgsICAwLCAgICAxMDUsICAwLCAg
ICAxMTQsICAzODksICA0NjIsICA4MTQsICAwLCAgICA1MDksICAwLCAgICA5MjksICA3NzksICAz
MjcsICA3MTcsCisgICAgNDIwLCAgMTE2OSwgMTQ5NCwgMCwgICAgMCwgICAgNTEzLCAgOTQwLCAg
MTE3MCwgMTg1LCAgMCwgICAgOTEzLCAgMTEwLCAgMCwgICAgMCwgICAgMTMsICAgODE5LAorICAg
IDY2OCwgIDE1NjksIDE3MzksIDEwODYsIDM2LCAgIDAsICAgIDEzMjAsIDAsICAgIDAsICAgIDEz
NzgsIDAsICAgIDAsICAgIDEwNzIsIDM5NywgIDAsICAgIDAsCisgICAgNDksICAgMCwgICAgMCwg
ICAgNjI0LCAgMCwgICAgMTUyMywgMCwgICAgODA1LCAgMTIzNywgMTc3MCwgODI3LCAgMCwgICAg
NjE2LCAgMCwgICAgNDA1LCAgMCwKKyAgICAwLCAgICAwLCAgICAxNjg1LCAxMzUxLCAwLCAgICA3
NzgsICA0NjMsICA5NDQsICAxMjU1LCAwLCAgICA0MTMsICAwLCAgICAwLCAgICAwLCAgICA2NjAs
ICAxMDA4LAorICAgIDAsICAgIDAsICAgIDE0MDEsIDUyMiwgIDAsICAgIDE0LCAgIDAsICAgIDE1
MTAsIDAsICAgIDExMzksIDYwOCwgIDE2MDcsIDU4NSwgIDAsICAgIDAsICAgIDAsCisgICAgMjQw
LCAgMjk3LCAgNjkyLCAgMjIwLCAgMTQzNCwgNTksICAgNTE4LCAgNzAsICAgMTUyLCAgNDAzLCAg
NTA2LCAgMjI0LCAgMCwgICAgMCwgICAgMzY5LCAgMCwKKyAgICA4MDEsICA3NDAsICAwLCAgICAx
NzAxLCAwLCAgICAwLCAgICAxNTk5LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICA3MDksICAyNzUs
ICAzMjIsICAwLCAgICAwLAorICAgIDgwNSwgIDAsICAgIDI4MSwgIDI5OCwgIDYwLCAgIDAsICAg
IDAsICAgIDI4MiwgIDcwNSwgIDAsICAgIDAsICAgIDAsICAgIDE3ODIsIDExNDgsIDk1MiwgIDAs
CisgICAgNDUxLCAgNDg2LCAgMTUyLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTk0LCAgNTUy
LCAgNTQsICAgMCwgICAgMTEwLCAgNSwgICAgMTQ1NywgMCwgICAgODYxLAorICAgIDEzMTEsIDAs
ICAgIDM0LCAgIDE0MjQsIDEwNywgIDAsICAgIDAsICAgIDEzNywgIDMyNCwgIDI0OCwgIDczNiwg
IDE3NTEsIDY0NCwgIDEzMzAsIDU5NCwgIDEwODgsCisgICAgMTM3NSwgMCwgICAgMCwgICAgMTEx
NCwgMTAyLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzA0LCAgMCwgICAgMTA1MCwgMCwgICAg
MCwgICAgMCwgICAgNjMyLAorICAgIDAsICAgIDMyLCAgIDAsICAgIDMyMSwgIDU3NiwgIDAsICAg
IDIxNSwgIDkzMywgIDAsICAgIDYwNCwgIDAsICAgIDAsICAgIDAsICAgIDE2NTAsIDAsICAgIDAs
CisgICAgMTQwNCwgNDgwLCAgNzcsICAgMCwgICAgMCwgICAgMTE3MywgNzQzLCAgMjcxLCAgMCwg
ICAgMCwgICAgODA1LCAgMTQ4MSwgNTAxLCAgMTA1MywgNTgwLCAgMCwKKyAgICAwLCAgICAwLCAg
ICA3NDYsICAwLCAgICAxNTA4LCAxMjQ3LCAxNDk2LCAwLCAgICAwLCAgICAyODksICA1MjUsICAx
NzYsICAwLCAgICAwLCAgICA5MDIsICAwLAorICAgIDE4NCwgIDAsICAgIDEzMjcsIDAsICAgIDcs
ICAgIDU4MSwgIDExNjMsIDk1MSwgIDE2MSwgIDAsICAgIDIyOSwgIDI0MywgIDc5NSwgIDAsICAg
IDQzNywgIDI5MCwKKyAgICAwLCAgICA0MjcsICAyNDgsICAzNTAsICA0MDksICAwLCAgICA1NTYs
ICAwLCAgICAxMjgsICA5MywgICAyMzgsICAzNDcsICAzMzIsICAwLCAgICA0NzIsICA1NTEsCisg
ICAgNzkyLCAgNzI4LCAgMCwgICAgMjA4LCAgNDYwLCAgMCwgICAgMzU2LCAgMCwgICAgNDM0LCAg
MjMxLCAgMTQ1OCwgMTI0NiwgMCwgICAgNzM5LCAgOTQxLCAgMTc0NSwKKyAgICAxODAxLCAxNTU1
LCAxMzkwLCAwLCAgICA3MTQsICAzNTgsICA0MDAsICAxNzMsICA1MjMsICAxMTc2LCA2NjAsICAz
MjUsICA0ODgsICA5NTMsICAwLCAgICAwLAorICAgIDEzODgsIDU3NCwgIDAsICAgIDAsICAgIDIx
NSwgIDQ1OSwgIDYwNiwgIDE3NTcsIDU3MSwgIDM3MywgIDIwMSwgIDAsICAgIDAsICAgIDQyMywg
IDc3LCAgIDAsCisgICAgNjA4LCAgMjA3LCAgMCwgICAgNzA2LCAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgOTgzLCAgMCwgICAgMCwgICAgMCwgICAgMTAxMSwgMTI2NiwgMzQzLCAgMCwKKyAgICAw
LCAgICAwLCAgICA4NDcsICAxMTM3LCAxMCwgICA1MzEsICA5OTUsICAwLCAgICAwLCAgICAzOTEs
ICAwLCAgICAxNzg0LCAwLCAgICA1MjgsICAyMjIsICA4NjMsCisgICAgODg1LCAgMCwgICAgMTc3
OSwgMCwgICAgMTY0MiwgOTc3LCAgMCwgICAgMCwgICAgNDg5LCAgNjI4LCAgODA1LCAgMCwgICAg
NDA0LCAgMTI3LCAgMjY4LCAgMCwKKyAgICAwLCAgICAyNDIsICAwLCAgICAwLCAgICAwLCAgICAx
NzUwLCAyOTMsICA2NjMsICA4NjEsICA1MjgsICAwLCAgICAwLCAgICAwLCAgICAxMTA0LCA2ODUs
ICAzMTQsCisgICAgMjYyLCAgNzgxLCAgMTM1OSwgNjY2LCAgMTM3MCwgMTY1NiwgMjE5LCAgMTEw
MCwgMTY3NSwgOTIwLCAgNTEyLCAgODAyLCAgMTI1OCwgMTYwMSwgMTcyMSwgNzgwLAorICAgIDAs
ICAgIDAsICAgIDY4OSwgIDE3NjUsIDk0NywgIDE1MDcsIDE1NDAsIDAsICAgIDAsICAgIDgzMSwg
IDE2MDksIDM4NSwgIDAsICAgIDE3NzYsIDg0NCwgIDE2MDEsCisgICAgMCwgICAgMiwgICAgOTM5
LCAgNjU3LCAgMCwgICAgMCwgICAgMjQ3LCAgNDM2LCAgMTEzNiwgMjA1LCAgMTIwMCwgNDcxLCAg
OTgsICAgODg5LCAgMTY2LCAgNDcsCisgICAgMTYyNywgNjU5LCAgNDA3LCAgNjc2LCAgODUxLCAg
OTg1LCAgODMwLCAgMTA2LCAgMTA3NiwgMTA5MCwgMCwgICAgMTgxMCwgMCwgICAgNjcyLCAgMzIs
ICAgMTM1MSwKKyAgICAxMzg3LCAxNDQ2LCAzOTAsICA1ODYsICAwLCAgICAyMDIsICA1ODUsICA2
ODcsICAyMDUsICAwLCAgICA3NDYsICAxMjEyLCA5NywgICAxMzAsICAxMjE4LCA0OTgsCisgICAg
MCwgICAgMCwgICAgOTExLCAgNTg0LCAgNDA5LCAgNDE2LCAgMCwgICAgMCwgICAgMCwgICAgMTQx
MiwgNTExLCAgNDgwLCAgODEsICAgMTA2MSwgMCwgICAgODAzLAorICAgIDc1LCAgIDAsICAgIDAs
ICAgIDg1OSwgIDAsICAgIDQzNCwgIDUwNCwgIDAsICAgIDAsICAgIDI2NywgIDg1MiwgIDk5MCwg
IDE2NzksIDEyNjUsIDAsICAgIDEyMiwKKyAgICAwLCAgICAwLCAgICA3ODksICAwLCAgICAxMTEs
ICAwLCAgICAwLCAgICAwLCAgICA2NzQsICAwLCAgICAwLCAgICAwLCAgICAxNzYzLCAwLCAgICAw
LCAgICA2MTUsCisgICAgMCwgICAgMCwgICAgODUsICAgNzU0LCAgMCwgICAgNTc0LCAgMTIyMCwg
MTI2MiwgMCwgICAgMzUzLCAgMCwgICAgNzUzLCAgMCwgICAgMTU0MiwgMCwgICAgNjE0LAorICAg
IDk3OCwgIDE2NiwgIDE3MjgsIDAsICAgIDAsICAgIDI5MCwgIDAsICAgIDAsICAgIDUwOCwgIDEz
MTYsIDM4MywgIDAsICAgIDE3LCAgIDE0NTIsIDgzMiwgIDQ3OCwKKyAgICAwLCAgICAxNTc0LCA5
MTMsICA3MywgICAwLCAgICAwLCAgICAxMzIzLCAwLCAgICA1MywgICAxNjU2LCAwLCAgICAwLCAg
ICAwLCAgICAzMTUsICAwLCAgICAwLAorICAgIDAsICAgIDAsICAgIDQ0NiwgIDAsICAgIDAsICAg
IDAsICAgIDYxNCwgIDMzMSwgIDE0ODYsIDAsICAgIDEzMTV9OwogCiBpbnQgTWFuZ2xlZEhhc2hH
KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgaW50ICpUKQogewpAQCAtMTY2LDcgKzE1NSw3IEBAIGlu
dCBNYW5nbGVkSGFzaEcoY29uc3QgY2hhciAqa2V5LCBjb25zdCBpbnQgKlQpCiAgICAgZm9yIChp
bnQgaSA9IDA7IGtleVtpXSAhPSAnXDAnOyBpKyspCiAgICAgewogICAgICAgICBzdW0gKz0gVFtp
XSAqIGtleVtpXTsKLSAgICAgICAgc3VtICU9IDIwMDA7CisgICAgICAgIHN1bSAlPSAxODE5Owog
ICAgIH0KICAgICByZXR1cm4gbWFuZ2xlZGtHW3N1bV07CiB9CkBAIC0xNzYsMjkgKzE2NSwzMCBA
QCBpbnQgTWFuZ2xlZFBlcmZlY3RIYXNoKGNvbnN0IGNoYXIgKmtleSkKICAgICBpZiAoc3RybGVu
KGtleSkgPiAzNykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gKE1hbmdsZWRIYXNo
RyhrZXksIG1hbmdsZWRrVDEpICsgTWFuZ2xlZEhhc2hHKGtleSwgbWFuZ2xlZGtUMikpICUgMjAw
MDsKKyAgICByZXR1cm4gKE1hbmdsZWRIYXNoRyhrZXksIG1hbmdsZWRrVDEpICsgTWFuZ2xlZEhh
c2hHKGtleSwgbWFuZ2xlZGtUMikpICUgMTgxOTsKIH0KIAotY29uc3RleHByIGludCB1bm1hbmds
ZWRrVDFbXSA9IHsxMDYsIDc0LCAxNjAsIDIzMywgMTI5LCA2MCwgMTczLCAyMDAsIDIyLCAgMjUw
LCA3NywgIDIzMiwgMjE2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTIsIDQ2
LCAxMTcsIDIxMSwgMTIwLCA0MSwgNSwgICAyNiwgIDIyOSwgMjcwLCAxNjIsIDEsICAgMTQzfTsK
LWNvbnN0ZXhwciBpbnQgdW5tYW5nbGVka1QyW10gPSB7MTE1LCAxNDUsIDI0MSwgMjI4LCAzMiwg
IDgyLCAgMTIyLCAzNiwgMTAwLCAyNiwgNDAsICAyNzksIDE5NywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNzAsICAyNjQsIDc2LCAgNzIsICAyMDQsIDE4NCwgMTE1LCA4LCAgNTYs
ICA2NCwgMjcyLCA3MiwgIDIxN307Citjb25zdGV4cHIgaW50IHVubWFuZ2xlZGtUMVtdID0gezI5
MywgNzUsIDQwLCAgOTUsIDc0LCAgMjg5LCAxNjMsIDMyLCAgMTk2LCAyMTMsIDE1MSwgMjUwLCAy
NzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIyMiwgMzMsIDIyNSwgNjgsIDEy
MSwgOTYsICAxODgsIDI2NywgMTA2LCAxMzcsIDE2NywgNjMsICAyMjV9OworY29uc3RleHByIGlu
dCB1bm1hbmdsZWRrVDJbXSA9IHsyODIsIDE2OCwgMjMyLCAxMTYsIDE0NiwgNDEsIDIzMCwgMjM5
LCAxOTAsIDEzLCAgMTcsICAxNTMsIDE2MywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMTE1LCAxMDEsIDUsICAgMjM1LCAyNTcsIDY2LCA3MCwgIDI4NywgMjY0LCAxNjIsIDEwMCwg
Mjk0LCA1fTsKIGNvbnN0ZXhwciBpbnQgdW5tYW5nbGVka0dbXSAgPSB7Ci0gICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAyMjcsIDAsICAgMCwKLSAgICA2MSwgIDI0MiwgMCwgICAxNywgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDUzLCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAyNTksCi0gICAgOTksICAwLCAgIDAsICAgMCwgICAxMzksIDAsICAgMTc0LCA0LCAg
IDAsICAgMCwgICAxMjAsIDAsICAgMCwgICA4MywgIDgzLCAgMjgwLCAwLCAgIDUxLCAgMTE5LAot
ICAgIDQ0LCAgMCwgICAwLCAgIDAsICAgMCwgICAyMTIsIDAsICAgMCwgICAxMjUsIDI0MCwgNzks
ICA0MiwgIDAsICAgMjI0LCAyNjgsIDAsICAgMTY1LCAxMjAsIDE2OCwKLSAgICA4NywgIDAsICAg
MCwgICAwLCAgIDAsICAgMjYxLCAxNDMsIDAsICAgMTMyLCAwLCAgIDEwMSwgMjM1LCA1NywgIDI0
LCAgOTIsICAwLCAgIDk0LCAgNTUsICA5NSwKLSAgICAwLCAgIDg1LCAgMTg5LCAyNTcsIDAsICAg
MjgwLCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMjE3LCAwLCAgIDM5LCAgMCwgICA2MiwgIDAs
ICAgMjE1LCAxNjYsCi0gICAgMCwgICAxODIsIDEzLCAgMCwgICAyNDMsIDEyMSwgMTEwLCAyMjgs
IDIzOSwgODQsICAwLCAgIDAsICAgMCwgICAwLCAgIDE2MCwgOSwgICAwLCAgIDAsICAgMCwKLSAg
ICA5MCwgIDg5LCAgMCwgICAwLCAgIDcyLCAgMTA1LCAyMTUsIDIxMSwgMjMwLCAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDc3LCAgMCwgICAxMzIsCi0gICAgOTAsICAxMzMsIDE1
NiwgMjQ5LCAwLCAgIDAsICAgMCwgICA0MCwgIDcyLCAgMjU0LCAwLCAgIDEzMSwgMTIsICAwLCAg
IDAsICAgMCwgICA0OCwgIDAsICAgMjY4LAotICAgIDAsICAgMCwgICAxMTYsIDE4MiwgODAsICAw
LCAgIDIsICAgMTMxLCAxMzMsIDAsICAgMCwgICAwLCAgIDQ3LCAgMCwgICAwLCAgIDExNCwgMTI5
LCAwLCAgIDAsCi0gICAgMTE2LCA2LCAgIDAsICAgMjUxLCAxNTIsIDAsICAgODEsICAzMCwgIDAs
ICAgMTI4LCAwLCAgIDE3NSwgMTg5LCAwLCAgIDE0MiwgMTgyLCA2MCwgIDIzOCwgMCwKLSAgICAy
OSwgIDAsICAgNTQsICAwLCAgIDAsICAgMCwgICAyMiwgIDU4LCAgMCwgICA5LCAgIDI0MCwgMTYs
ICAxNCwgIDY5LCAgMCwgICAxNTEsIDAsICAgMjc0LCAxODAsCi0gICAgMTgsICAxODgsIDIsICAg
MywgICAyMTcsIDkxLCAgMCwgICAzLCAgIDIwMCwgMTI1LCAwLCAgIDIxLCAgNTEsICAwLCAgIDAs
ICAgMjEsICA2OCwgIDEzNiwgMCwKLSAgICAwLCAgIDExMCwgMTY2LCAxMDEsIDE0OCwgNTMsICAy
MDEsIDU5LCAgOTMsICAwLCAgIDEwOSwgMTczLCAyMTQsIDIzOSwgMCwgICAyNjIsIDUwLCAgMCwg
ICAyNTYsCi0gICAgMjE4LCAyNjksIDk2LCAgMjYzLCA0OCwgIDIyMywgNTIsICAxNDQsIDAsICAg
ODQsICAwLCAgIDAsICAgMjA0LCAyNzcsIDB9OworICAgIDAsICAgMCwgICAwLCAgIDAsICAgMjE1
LCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgNTUsICAwLCAgIDAsICAgMCwgICAyNDAsIDAsICAg
MjcsICAxOTIsIDAsCisgICAgMCwgICAxMzUsIDcsICAgNTMsICAxNjUsIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDI5MSwgMCwgICAwLCAgIDE0NSwgNzQsCisg
ICAgMCwgICAyNTgsIDEzLCAgMCwgICAwLCAgIDIwMCwgMCwgICAwLCAgIDAsICAgNzEsICAxMTYs
IDAsICAgNTMsICAwLCAgIDQ4LCAgMjIyLCAwLCAgIDE4NSwgMCwKKyAgICAxMzUsIDAsICAgMjQs
ICAyNjIsIDAsICAgMjQsICAyNDIsIDAsICAgMCwgICAwLCAgIDE5NSwgMCwgICAzOSwgIDgsICAg
OTksICAxNTIsIDAsICAgMCwgICA0LAorICAgIDAsICAgMCwgICAwLCAgIDk0LCAgOTcsICAwLCAg
IDAsICAgMzIsICAwLCAgIDI0MiwgNjcsICAwLCAgIDMsICAgMCwgICAxMDAsIDAsICAgMCwgICAw
LCAgIDEzLAorICAgIDEwMSwgMCwgICA0NiwgIDAsICAgMCwgICAxMDUsIDAsICAgMCwgICAwLCAg
IDAsICAgOTYsICAwLCAgIDExMCwgMjI4LCAwLCAgIDUyLCAgMjY5LCAwLCAgIDAsCisgICAgMCwg
ICAwLCAgIDAsICAgNiwgICAwLCAgIDAsICAgMTA5LCAxMzEsIDAsICAgMCwgICAwLCAgIDkzLCAg
MjgzLCAyNTEsIDE4OSwgMCwgICAxMTEsIDAsICAgMCwKKyAgICAwLCAgIDY1LCAgMjQsICAyMzYs
IDE1NCwgMCwgICAxMzIsIDIwNCwgMCwgICAyMDcsIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICA4
NywgIDc0LCAgNjAsICAxNDIsCisgICAgMTM3LCA2OSwgIDAsICAgMCwgICAwLCAgIDc1LCAgMCwg
ICAwLCAgIDg4LCAgMCwgICAxMjQsIDUxLCAgNTYsICAwLCAgIDExMywgMCwgICAwLCAgIDAsICAg
NDYsCisgICAgMCwgICAwLCAgIDIyMSwgMCwgICA1OCwgIDI3OCwgMjU3LCAwLCAgIDAsICAgMCwg
ICAyNzEsIDE0OSwgOTEsICAwLCAgIDIyNCwgOTUsICAxNTIsIDAsICAgMCwKKyAgICA4MSwgIDQ5
LCAgMTk4LCAxMjEsIDc0LCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDk0LCAgMjQ3LCA0MSwg
IDAsICAgMCwgICAwLCAgIDEwLCAgMTQwLCAwLAorICAgIDAsICAgMCwgICAxMTksIDI1LCAgMCwg
ICAxMDYsIDAsICAgMTk1LCAxMTUsIDM1LCAgMCwgICAxNjIsIDAsICAgODEsICAwLCAgIDIzLCAg
NzYsICAwLCAgIDI3MiwKKyAgICA4NiwgIDcyLCAgNTIsICAwLCAgIDAsICAgMTE4LCAwLCAgIDEy
NSwgMCwgICAxNDUsIDAsICAgMjE0LCAwLCAgIDE0NSwgMjI4LCAwLCAgIDAsICAgMTIxLCAwLAor
ICAgIDAsICAgMTEwLCA2MCwgIDE4LCAgNywgICA1LCAgIDE5MCwgMjc2LCA5NiwgIDAsICAgNTcs
ICAyNDksIDAsICAgNjUsICAzMSwgIDIxMywgMCwgICAwLCAgIDI5LAorICAgIDE3OCwgMTA4LCAx
MjUsIDMwLCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDIwMCwgMjUwLCAwLCAgIDM1LCAgMCwg
ICAxMDMsIDIzMCwgMjQzLCAyNzYsIDE3LAorICAgIDI2OCwgMTQ3LCAxODAsIDQ2LCAgNTUsICAy
NiwgIDQsICAgMjY5LCAxNiwgIDB9OwogCiBpbnQgVW5tYW5nbGVkSGFzaEcoY29uc3QgY2hhciAq
a2V5LCBjb25zdCBpbnQgKlQpCiB7CkBAIC0yMDcsNyArMTk3LDcgQEAgaW50IFVubWFuZ2xlZEhh
c2hHKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgaW50ICpUKQogICAgIGZvciAoaW50IGkgPSAwOyBr
ZXlbaV0gIT0gJ1wwJzsgaSsrKQogICAgIHsKICAgICAgICAgc3VtICs9IFRbaV0gKiBrZXlbaV07
Ci0gICAgICAgIHN1bSAlPSAyODE7CisgICAgICAgIHN1bSAlPSAyOTU7CiAgICAgfQogICAgIHJl
dHVybiB1bm1hbmdsZWRrR1tzdW1dOwogfQpAQCAtMjE3LDcgKzIwNyw3IEBAIGludCBVbm1hbmds
ZWRQZXJmZWN0SGFzaChjb25zdCBjaGFyICprZXkpCiAgICAgaWYgKHN0cmxlbihrZXkpID4gMjYp
CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIChVbm1hbmdsZWRIYXNoRyhrZXksIHVu
bWFuZ2xlZGtUMSkgKyBVbm1hbmdsZWRIYXNoRyhrZXksIHVubWFuZ2xlZGtUMikpICUgMjgxOwor
ICAgIHJldHVybiAoVW5tYW5nbGVkSGFzaEcoa2V5LCB1bm1hbmdsZWRrVDEpICsgVW5tYW5nbGVk
SGFzaEcoa2V5LCB1bm1hbmdsZWRrVDIpKSAlIDI5NTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9JbW11dGFibGVTdHJpbmdfYXV0b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbW11dGFibGVTdHJpbmdfYXV0b2dlbi5jcHAKaW5kZXgg
NzE3YTgxY2ExNWQ2MzRmNmQ1MmU4Y2M5MmVkNzc2NzU1OGYwNWM2YS4uYjc3OTBmN2I1NjY4MTZh
MjlkOWYzYzEzYzE4ZDBjNTQ3NzQ2ODBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW1tdXRhYmxlU3RyaW5nX2F1dG9nZW4uY3Bw
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0lt
bXV0YWJsZVN0cmluZ19hdXRvZ2VuLmNwcApAQCAtMjQsMjY3ICsyNCwyOTMgQEAgc3RkOjpvc3Ry
ZWFtICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmb3MsIGNvbnN0IHNoOjpJbW11dGFibGVTdHJp
bmcgJnN0cikKIG5hbWVzcGFjZQogewogCi1jb25zdGV4cHIgaW50IG1hbmdsZWRrVDFbXSA9IHsy
OCwgICAzNzIzLCAxNDc1LCAzNzEsICA1MSwgICAzNDYyLCAxNjgzLCAyMzU4LCAzOTYwLCAzNzYw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjUzMywgMjk0MiwgMjU4NywgMTY4Niwg
NDY2LCAgODMyLCAgMTE5OCwgODYwLCAgMzc0NywgODI0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOTQ2LCAgNzQzLCAgMTMwMSwgMzg4OCwgMTE4OSwgMTgxMywgMzg2NCwgMjQ4LCAg
MzU5MCwgMzQ0OCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzNzksIDE5NiwgIDE5
ODgsIDI1NzcsIDE3NjQsIDI3MCwgIDM3Nn07Ci1jb25zdGV4cHIgaW50IG1hbmdsZWRrVDJbXSA9
IHsyNzk4LCAzOTA0LCAyNTY0LCAxMTc4LCAzMjc4LCA2MjgsICAyNjEwLCAxOTg3LCAzMDI0LCAx
OTU0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQ5OSwgMTIsICAgMzM5MiwgMjkx
NCwgNzk0LCAgMzgwNiwgMzk4MCwgMjUyNywgMzM2MiwgMzk4MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEyMjYsIDM0MjMsIDcxMywgIDE4MjUsIDEwNjIsIDE2ODcsIDE3NTgsIDMw
MTAsIDIxNTEsIDI2MTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTg5LCAxNzU1
LCAxMzcyLCAyNjM0LCAxODMwLCA0NDgsICAyNzMwfTsKK2NvbnN0ZXhwciBpbnQgbWFuZ2xlZGtU
MVtdID0gezQxNywgIDMzMTMsIDMwNDQsIDY4MCwgIDI1MDgsIDM1NjEsIDEwNzMsIDM1MSwgIDQ1
NywgIDEzNjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNzA0LCAzNzAxLCAyMTE3
LCAzMzg4LCAxMDQ2LCAzMTAyLCA0MzMwLCAxODM1LCAzODI1LCAyNDksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAzNDUsICAxMTcxLCA0MTUyLCAzMjE1LCAzMjEyLCAzNzQ1LCAyODcy
LCAzNzk1LCAzNTI2LCAzOTE2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjg3MCwg
NjQyLCAgMzI2LCAgNTg1LCAgMjM0NiwgMjE0NCwgMjU5NX07Citjb25zdGV4cHIgaW50IG1hbmds
ZWRrVDJbXSA9IHsxNzMsICAzODE1LCAzNjkxLCAzMzA4LCAzOTA3LCAxMzQwLCAzNDMyLCAzOTE5
LCAyNjY1LCAzNTQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzcwMCwgMjkwNiwg
MzU0NiwgMzk3MSwgOTUyLCAgOTE4LCAgMjczNSwgMzkxMCwgMzYyNCwgMzYyNCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDY4OSwgIDMwMTIsIDEzMDAsIDM5MTYsIDE0NjgsIDQxOTgs
IDg2NCwgIDE5NzUsIDMxNzQsIDIzOTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAy
ODg1LCAzNzk3LCAzNzksICAzNzY5LCAxMDU0LCA0MzAzLCAyMDI5fTsKIGNvbnN0ZXhwciBpbnQg
bWFuZ2xlZGtHW10gID0gewotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
Ci0gICAgNjM5LCAgMCwgICAgMCwgICAgMCwgICAgMzk4OSwgMCwgICAgMTc2OSwgMCwgICAgNjM0
LCAgMTg5MCwgMCwgICAgMCwgICAgMCwgICAgMTQ1LCAgMCwgICAgMCwKLSAgICAwLCAgICAwLCAg
ICAzNjI2LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyMTY5LCAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAxMTAxLCAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDI4MzYsIDAsICAgIDM5MSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgMzk2MiwgMCwgICAgMCwgICAgMCwgICAgMjI1Niwg
MTcwOCwgMCwgICAgNTk0LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNTU3LAotICAg
IDAsICAgIDAsICAgIDExNjksIDgyNSwgIDM3ODYsIDAsICAgIDAsICAgIDE5NjMsIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCi0gICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMzQwNywgMCwKLSAgICAyMzc0LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAzNTE3LCAxMjYzLCAwLCAgICAwLCAgICAxMjgxLCA5ODksICAzODYyLCAzNDk2LCAxODEw
LCAwLAotICAgIDMxNDMsIDAsICAgIDAsICAgIDAsICAgIDMyODUsIDM1ODgsIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDMwODksIDAsICAgIDEyMzksIDU1MywgIDMzOTIsIDAsCi0gICAgMjMwMSwg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzc0OCwgMCwg
ICAgMCwgICAgMCwgICAgMjU4NCwgMTU3MCwgMCwKLSAgICAxMTM5LCAwLCAgICAxMDM0LCAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAxMzM1LCAwLCAgICAxNDM1LCAwLCAgICAzNjM3LCAwLCAgICAw
LCAgICAwLCAgICA1OCwKLSAgICAzMTE0LCAwLCAgICAwLCAgICAwLCAgICAyMDQzLCAwLCAgICAz
MTY5LCA0NjYsICAwLCAgICA0OTUsICAzNTk4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzNTA2
LAotICAgIDQwMTYsIDAsICAgIDAsICAgIDAsICAgIDIwNTYsIDAsICAgIDMwMywgIDMzMTksIDAs
ICAgIDAsICAgIDgxOCwgIDEzMjUsIDAsICAgIDAsICAgIDAsICAgIDAsCi0gICAgMzYyMiwgMCwg
ICAgMCwgICAgMTg5LCAgMzY4OSwgMCwgICAgMTczNSwgMCwgICAgMCwgICAgODA0LCAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMzM3OSwgMCwKLSAgICAxMzcxLCAwLCAgICAzNzQwLCAwLCAgICAw
LCAgICAwLCAgICAzNDk1LCAwLCAgICAwLCAgICAwLCAgICA0MDksICAwLCAgICAwLCAgICAwLCAg
ICAyNjA4LCAwLAotICAgIDEyMjksIDcyMiwgIDAsICAgIDE1NTgsIDEzOTEsIDM4MjMsIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCi0gICAg
MCwgICAgMzI5MSwgMTM5MiwgMCwgICAgMCwgICAgMjI4LCAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzA4LCAgMCwKLSAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAyNDM2LCAwLCAgICAwLCAgICAwLCAgICA3NDMsICAzMDA5LCAwLCAgICA2NDIsICAw
LCAgICAwLCAgICAxMTc2LCAwLAotICAgIDAsICAgIDAsICAgIDE3NjYsIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDI4NywgIDAsICAgIDAsICAgIDAsICAg
IDAsCi0gICAgMzQyMiwgMzIzNiwgMzk5MCwgMCwgICAgMCwgICAgMTM0NywgMCwgICAgMCwgICAg
MCwgICAgODMyLCAgMzI0MCwgMzU4OCwgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAzMDMzLCAw
LCAgICAwLCAgICAxMzY1LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxNzMsICAzOTY0LCAwLCAg
ICAwLCAgICAwLCAgICAzNTg5LCAwLCAgICAwLAotICAgIDAsICAgIDMyNDAsIDMzMiwgIDAsICAg
IDE3MTQsIDM1OTgsIDI0ODEsIDAsICAgIDAsICAgIDAsICAgIDk5LCAgIDAsICAgIDAsICAgIDAs
ICAgIDIyMjEsIDAsCi0gICAgMzY5NiwgMCwgICAgMTE5NSwgMzYxOCwgMjc1MywgMTI3OCwgMzY1
MSwgMCwgICAgMCwgICAgMCwgICAgMzIyOSwgMCwgICAgNzQ1LCAgMCwgICAgMCwgICAgMTg0MCwK
LSAgICAwLCAgICAwLCAgICAxODgxLCAwLCAgICAwLCAgICAwLCAgICA2MTYsICAwLCAgICA1NjEs
ICAzMTU4LCAxMzY3LCAwLCAgICAwLCAgICAwLCAgICA1NzEsICA0MTYsCi0gICAgMCwgICAgMCwg
ICAgMzQwLCAgMzQyNSwgMTY4NiwgMjg2LCAgMCwgICAgMzk4OCwgMjY1NywgMCwgICAgMzkxLCAg
MjgwLCAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAxMDE5LCAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAzMzc1LCAwLCAgICAwLCAgICAwLCAgICAyNDUwLCAwLCAgICAwLCAgICA3NzYsICAwLCAg
ICAyNzQ4LCAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIzNiwgIDAsICAgIDExNDMsIDAsCi0gICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMjU4NSwgMzUxMSwgMCwgICAgMzExLCAgMCwgICAgNDQy
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTQ5NCwgMCwKLSAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAzNDcyLCAwLCAgICAwLCAgICA3MTksICAyNjA5LCAwLCAgICAwLCAgICAwLCAgICAy
MTA4LCAyNTcyLCAwLCAgICA5MjgsCi0gICAgMjU4OSwgMCwgICAgMTY4LCAgNTksICAgMzM2MCwg
Mzc0MywgNTAyLCAgMCwgICAgMjcwMiwgMTg0MiwgMCwgICAgMCwgICAgMCwgICAgNTUzLCAgMTA3
MiwgMjc3NCwKLSAgICAxMzMwLCAxMzU1LCAxNzEzLCAwLCAgICAyMzEsICA4NTUsICAxNDcxLCAw
LCAgICAxMjksICAwLCAgICAzOTI2LCAwLCAgICAzNzM0LCAwLCAgICAwLCAgICAwLAotICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDM0MzAsIDAsICAgIDI2OSwgIDI0MDQs
IDAsICAgIDAsICAgIDAsICAgIDY1NiwgIDAsICAgIDY4NywKLSAgICAzNjAsICAyMTU5LCAxNDQz
LCAwLCAgICAxODYzLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMTg1LCAwLCAgICAz
OTAsICAwLCAgICAwLCAgICAyNTcxLAotICAgIDE3MDQsIDQ1MiwgIDE5OTcsIDAsICAgIDMzNjgs
IDAsICAgIDAsICAgIDI4NjgsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDg0MywgIDE5OTYsIDQ3
NywgIDAsCi0gICAgMzUzOSwgMTA3NywgMzQwNiwgMCwgICAgMCwgICAgNTQ0LCAgMCwgICAgNzgw
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzgxNiwgNjE3LAotICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDcwNiwgIDAsICAgIDAsICAgIDMyMDQsIDAsICAgIDQ2Miwg
IDAsICAgIDAsICAgIDcwMSwgIDM2NzIsIDAsICAgIDYzNywKLSAgICAwLCAgICAwLCAgICAzOTE2
LCAwLCAgICAwLCAgICAwLCAgICA1MzUsICAwLCAgICAzNSwgICAxOTEwLCAwLCAgICAxNDYzLCA2
MTksICAwLCAgICAxMDQxLCAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDMzNTksIDAs
ICAgIDI5MTIsIDAsICAgIDAsICAgIDAsICAgIDExMTgsIDAsICAgIDI1MTMsIDk0MywgIDAsICAg
IDAsCi0gICAgNzksICAgMCwgICAgMCwgICAgMCwgICAgMzM4NywgMCwgICAgMzUyMCwgMTY2Mywg
MCwgICAgMCwgICAgMCwgICAgMzY4OCwgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAzOTExLCAx
OTc5LCAwLCAgICA0NDUsICAwLCAgICAwLCAgICA4NDcsICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICA3NjEsICA0OTEsICAzOTkxLCAxODUsICAwLAotICAgIDAsICAgIDIxMzMsIDAsICAgIDM0OTks
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDEwMTQsIDAsICAgIDE3MTUsIDAsICAgIDQ4MywgIDAs
ICAgIDI1ODAsIDAsCi0gICAgMCwgICAgMCwgICAgMjcyNCwgMCwgICAgMCwgICAgMCwgICAgODM3
LCAgMTMwMCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAg
ICAwLCAgICAwLCAgICAzNzQ2LCAwLCAgICAwLCAgICAxNjEzLCAzNDI1LCAzNzk4LCA4NDUsICAw
LCAgICAwLCAgICAxOTIxLCAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDI1ODksIDMx
NzYsIDEyMDIsIDAsICAgIDYyLCAgIDM4MjMsIDQwMTksIDMwNTcsIDAsICAgIDI5OTIsIDI0MDYs
IDIwNzgsIDUyNCwgIDAsICAgIDI4NiwKLSAgICA3NjgsICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAzODAsICAwLCAgICAwLCAgICAzMTIsICAyMjk3LCAwLCAgICAz
NzM3LCAwLAotICAgIDAsICAgIDAsICAgIDM5MTUsIDAsICAgIDMxODUsIDI1ODEsIDM5OSwgIDAs
ICAgIDAsICAgIDEwMjMsIDMxMzMsIDI2MzMsIDg1LCAgIDAsICAgIDIzNjcsIDAsCi0gICAgMCwg
ICAgMTY1NywgMCwgICAgMCwgICAgMTA3NSwgMCwgICAgMTA2MSwgMzIwNiwgMCwgICAgMzk3NCwg
MzUxNSwgMCwgICAgMTA1NiwgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICAxMjA0LCAwLCAgICAz
MDAwLCA0NTMsICAwLCAgICA5NjcsICAwLCAgICAwLCAgICA3MjYsICAwLCAgICAwLCAgICAyNzgz
LCAwLCAgICAwLCAgICA3NSwKLSAgICAwLCAgICAwLCAgICAwLCAgICAzNzg5LCAxNCwgICAwLCAg
ICAyMDI2LCAyNDU4LCAzOTg3LCAyOTcxLCAwLCAgICAwLCAgICAxMjM2LCAzNzUxLCAwLCAgICAw
LAotICAgIDAsICAgIDMxNDMsIDM1MDYsIDAsICAgIDExNSwgIDMyNjEsIDAsICAgIDE0NzMsIDk5
NiwgIDEyMDMsIDE2MjUsIDM2NzgsIDAsICAgIDMzMjcsIDI2NDgsIDAsCi0gICAgMCwgICAgMCwg
ICAgMTgzMCwgMzM0NiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMzc5NCwgNzM0LCAgMCwKLSAgICAzOTUsICAwLCAgICAyMzI3LCAwLCAgICAz
ODksICAwLCAgICAwLCAgICAwLCAgICAyMDI0LCAwLCAgICAwLCAgICAwLCAgICA0MzksICAwLCAg
ICAwLCAgICAwLAotICAgIDY5OSwgIDE1NCwgIDM2NTgsIDAsICAgIDM1NTUsIDAsICAgIDAsICAg
IDAsICAgIDMyNDgsIDAsICAgIDE3ODMsIDMsICAgIDAsICAgIDAsICAgIDAsICAgIDE3MjEsCi0g
ICAgOTEzLCAgNTgsICAgMCwgICAgMzUwOCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MzY1MSwgMCwgICAgMTkxNCwgMCwgICAgMCwgICAgMCwgICAgMTE3NiwKLSAgICAwLCAgICAwLCAg
ICAyOTk0LCA3MjMsICAzNTIzLCAwLCAgICAzNjE5LCAwLCAgICA1MDAsICAwLCAgICAyMDczLCAw
LCAgICAwLCAgICAwLCAgICAyODgzLCAwLAotICAgIDAsICAgIDAsICAgIDI3MTMsIDAsICAgIDAs
ICAgIDAsICAgIDMzMjIsIDAsICAgIDAsICAgIDMxNjcsIDAsICAgIDAsICAgIDAsICAgIDI5ODEs
IDAsICAgIDAsCi0gICAgMCwgICAgMTg4LCAgMCwgICAgNzY4LCAgMCwgICAgMCwgICAgNTM3LCAg
MCwgICAgMzE4MCwgMjc0NCwgMjIyLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAy
NjgsICAwLCAgICA2MTgsICA0ODksICA2NjQsICAxNDM3LCAzMjAxLCAwLCAgICAwLCAgICAzMTY2
LCA3MjAsICAwLCAgICAwLCAgICAwLCAgICAzMTI1LCA3OTcsCi0gICAgMCwgICAgMzQyNywgMCwg
ICAgMCwgICAgMTY5NywgMTc2MCwgMzIxNSwgMTAwNywgNTU3LCAgNDAwNSwgMzU0NSwgNDEsICAg
MCwgICAgMCwgICAgMCwgICAgMTAyNywKLSAgICAwLCAgICAwLCAgICAzNDYsICAzNjQ1LCAwLCAg
ICAxNjg2LCAwLCAgICAwLCAgICAyNzYxLCA5NjcsICAwLCAgICAzNjczLCAwLCAgICAyNzAwLCAz
MzY1LCAzMjIsCi0gICAgMjA0MywgMjQ0OSwgMzU1MiwgMCwgICAgNjY1LCAgNjU4LCAgMTEzMSwg
MTUyNiwgOTM4LCAgMCwgICAgMzAwMiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKLSAgICAz
MjA0LCAwLCAgICA5MjcsICAxMzEsICAyMjYyLCAxMDY5LCAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDEwNzMsIDAsICAg
IDAsICAgIDAsICAgIDExMjgsIDMxMjcsIDYwNiwgIDAsICAgIDEwOTUsIDIwNjYsIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDM3MDcsCi0gICAgMzcwLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMTQwNCwgMTQ1MSwgMCwgICAgMjg4MiwgMjU2OSwgMjA4MSwgMCwg
ICAgMTYyLAotICAgIDI5MTgsIDQ1LCAgIDAsICAgIDExNzUsIDM5OSwgIDAsICAgIDkwOSwgIDE5
NTMsIDAsICAgIDAsICAgIDUyOCwgIDAsICAgIDAsICAgIDExMzMsIDAsICAgIDAsCi0gICAgMCwg
ICAgMzE5NCwgMzMyMywgMzIwNiwgMjAxMSwgMCwgICAgMzkxOCwgMCwgICAgMCwgICAgMTc4Nywg
MCwgICAgMCwgICAgODczLCAgMCwgICAgMCwgICAgMzY5MywKLSAgICAwLCAgICAxOTgzLCAxMDc5
LCAwLCAgICAwLCAgICAxODYyLCAwLCAgICAwLCAgICAxNjIxLCAwLCAgICAyNTgyLCAwLCAgICAz
NDksICAwLCAgICAwLCAgICAzMjMwLAotICAgIDE3MTgsIDAsICAgIDI1NTMsIDAsICAgIDUwNywg
IDE1NDMsIDM3NzMsIDAsICAgIDAsICAgIDIwOTAsIDkxOSwgIDAsICAgIDE0NjYsIDAsICAgIDAs
ICAgIDE5NTMsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMTcwOSwgMCwgICAgMCwgICAgMCwgICAg
MTE1NSwgMTk0NiwgMCwgICAgMTcyLCAgMCwgICAgMTY3MCwgMCwgICAgMCwgICAgMzkzMywKLSAg
ICAzMjc0LCAxODAsICA1MTAsICAzMzg0LCAwLCAgICAxMTkxLCAwLCAgICAwLCAgICAwLCAgICAx
MTQwLCAzNDAwLCAxNzE2LCAwLCAgICAzNzAzLCAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDIy
OSwgIDAsICAgIDE0MiwgIDAsICAgIDM0NTksIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDEwMzYs
IDAsICAgIDE1MzcsIDAsICAgIDAsCi0gICAgMCwgICAgODUyLCAgMzQsICAgMCwgICAgMCwgICAg
MzY5MSwgMzUzNiwgMjMwMSwgNjI1LCAgMTMwMCwgMCwgICAgNTA2LCAgNjYwLCAgMjQ1NSwgMCwg
ICAgNDAxOCwKLSAgICAxOTAxLCAxMjc1LCAwLCAgICA5OTksICAxNjY4LCAxMjIyLCAwLCAgICAx
MjIwLCAxOTA1LCA2NDAsICA2NjksICAwLCAgICAwLCAgICAxMTU3LCAwLCAgICAyMjY3LAotICAg
IDAsICAgIDMwMzIsIDAsICAgIDM4NzUsIDAsICAgIDAsICAgIDc1NywgIDIwNjMsIDQ1MiwgIDAs
ICAgIDM4MTIsIDAsICAgIDEzODcsIDAsICAgIDAsICAgIDMxNiwKLSAgICAzMzEsICAyNTcsICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICAxNjQ3LCAwLCAgICAwLCAgICAzODI5LCAzMDQsICAzMTY0
LCA0MDksICAxNzc3LCAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDE0NzIsIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDEwMjQsIDAsICAgIDI4NTIsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsCi0gICAgMTMzNywgNTI0LCAgMCwgICAgMTI3OCwgOTUzLCAgMTk5LCAgMTA3NywgMzk0
MCwgMCwgICAgMTI4LCAgMjgyNywgMzcxMSwgMCwgICAgMjQwMSwgMzMsICAgMCwKLSAgICAwLCAg
ICAyNjM4LCAxMTUzLCAxNjUyLCAyMTAyLCAxNTY4LCA1ODAsICAwLCAgICAzNjczLCAyMzM4LCAw
LCAgICAzNTE0LCAzMzM1LCAxODk4LCA3MzUsICAwLAotICAgIDAsICAgIDAsICAgIDczMCwgIDAs
ICAgIDE0MTcsIDI0ODQsIDI4MiwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDE5NDAsIDAsICAgIDAsCi0gICAgMTUwMSwgMTgyNCwgMCwgICAgMTY4OSwgMCwgICAgMCwgICAg
MSwgICAgNjU5LCAgMCwgICAgNzEzLCAgMCwgICAgMzg4NCwgMCwgICAgMzk1NCwgMCwgICAgMCwK
LSAgICAzODA1LCAwLCAgICAwLCAgICAzNDAsICAwLCAgICAyOTI1LCAwLCAgICAzODc0LCAzNTI1
LCAxNjgsICAwLCAgICAwLCAgICAxMjU5LCAwLCAgICAwLCAgICAwLAotICAgIDc3MiwgIDg3OCwg
IDY5NSwgIDAsICAgIDEzODUsIDEzMzEsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDI5NDUsIDE0NTUsIDg4NiwgIDYyMCwKLSAgICAxOTkyLCAwLCAgICAwLCAgICAwLCAgICA0
NzQsICAwLCAgICAzNDA4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyNTQ0LCA4MSwg
ICAwLCAgICAwLAotICAgIDAsICAgIDI2OTQsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDIzLCAgIDAsICAgIDAsICAgIDE0ODcsIDEzMDUsIDE2MDksIDAsICAgIDAsCi0gICAg
MCwgICAgMjcyMCwgNjcwLCAgNDY4LCAgMCwgICAgMCwgICAgMjY2OSwgNzc1LCAgNTk2LCAgMjUx
OCwgMjQwLCAgMzQxNywgNTgxLCAgMTYyOSwgMjMzOSwgMTc3MywKLSAgICAzMjI4LCAwLCAgICAz
NTA3LCAwLCAgICAyMzAsICAwLCAgICAzNTIsICAwLCAgICAxNTUxLCAwLCAgICAwLCAgICA2ODMs
ICAyMzAyLCAwLCAgICAzNjQsICAxNjM4LAotICAgIDAsICAgIDI5NTYsIDI0NCwgIDAsICAgIDQ5
NiwgIDMxMTMsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE5NTEsIDAsICAgIDYyMywgIDAsICAg
IDQwMjAsIDEzMjEsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTk5NiwgOTU4LCAgMCwg
ICAgMTU0NiwgMTg2OCwgMCwgICAgMTE5MCwgMCwgICAgMzc4MywgMCwgICAgMzAzMiwgMCwKLSAg
ICAxNjk1LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyMDc1LCAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAyODY4LCAyMDQ0LCAwLCAgICAwLAotICAgIDI0NjksIDAsICAgIDM4
NjQsIDAsICAgIDI5ODEsIDAsICAgIDMwMTgsIDAsICAgIDM0OTIsIDAsICAgIDM2NzAsIDAsICAg
IDI2NTUsIDAsICAgIDAsICAgIDEyMiwKLSAgICAwLCAgICAwLCAgICA1MzIsICAwLCAgICA2MzUs
ICAxODM1LCAzOTA0LCAwLCAgICAwLCAgICAwLCAgICAzMDI2LCAzNDMxLCAwLCAgICAwLCAgICA0
NzEsICAxMTMyLAotICAgIDExNTUsIDE5NDgsIDE3OTksIDExNDEsIDI0MzIsIDAsICAgIDAsICAg
IDAsICAgIDIwNzcsIDAsICAgIDEzMjEsIDAsICAgIDk2MywgIDAsICAgIDAsICAgIDE4ODUsCi0g
ICAgMCwgICAgMTcsICAgMCwgICAgMCwgICAgMTYxOCwgMzc2LCAgMjMwLCAgMzM1MCwgNDkyLCAg
MjE3OSwgMCwgICAgMTI2NywgMTY1MiwgMjkzNywgNzIxLCAgMjAzNSwKLSAgICAyODgyLCAwLCAg
ICAwLCAgICAwLCAgICAxODI2LCAxMTIzLCAwLCAgICAxMDk5LCAwLCAgICAxNTAsICAxMDg4LCA3
NTgsICAwLCAgICAzMjg1LCAwLCAgICAwLAotICAgIDExNSwgIDAsICAgIDE4OTUsIDAsICAgIDE0
NjgsIDAsICAgIDAsICAgIDAsICAgIDM4OCwgIDAsICAgIDAsICAgIDAsICAgIDE2MjcsIDAsICAg
IDM2ODYsIDM1NjAsCi0gICAgMjE0LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzAy
MiwgNzg0LCAgMCwgICAgMCwgICAgMCwgICAgMjY5NCwgMCwgICAgMCwgICAgMzAyNCwgMCwKLSAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxODcxLCAzMzAsICAwLCAgICAwLCAgICAw
LCAgICAxMjMsICAwLCAgICAzMzMsICAwLCAgICAyNjA5LCAwLAotICAgIDc0MiwgIDAsICAgIDEz
NzUsIDAsICAgIDE0MywgIDExODYsIDE5MSwgIDAsICAgIDcwNSwgIDAsICAgIDIxNSwgIDE4NzEs
IDAsICAgIDAsICAgIDEwMzksIDI5NDMsCi0gICAgMzQ1LCAgMTY4NSwgMCwgICAgMCwgICAgMjg4
NywgMCwgICAgMCwgICAgMCwgICAgMzY0LCAgMCwgICAgODMzLCAgMTMxNywgMCwgICAgNDY4LCAg
MzE1OSwgMCwKLSAgICAzMzE4LCAwLCAgICAwLCAgICAxMjA3LCAzODc5LCAxNzQwLCAwLCAgICAy
OTg2LCAwLCAgICAyNDYsICAyNTE0LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAotICAgIDAs
ICAgIDAsICAgIDk5MSwgIDAsICAgIDEzODEsIDAsICAgIDE2MjIsIDE1OTAsIDM0NSwgIDAsICAg
IDAsICAgIDcyOCwgIDAsICAgIDAsICAgIDc3MSwgIDAsCi0gICAgMCwgICAgMCwgICAgNTgzLCAg
MjQ0LCAgMjEzMywgMCwgICAgMCwgICAgMCwgICAgMTkxOCwgMCwgICAgMCwgICAgMTM2MSwgMTY3
NiwgMTA0MiwgMCwgICAgMCwKLSAgICAwLCAgICAxOTI0LCAyNDU0LCAxMzU3LCAwLCAgICA0ODIs
ICA2MDUsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA2NjYsICA1MzAsICAwLCAgICAyMzg4LCAw
LAotICAgIDY4MCwgIDM1MCwgIDIyLCAgIDUwMiwgIDExNzcsIDMwNjMsIDAsICAgIDI4MDQsIDQz
NSwgIDAsICAgIDAsICAgIDAsICAgIDM3MiwgIDAsICAgIDAsICAgIDE2MDIsCi0gICAgMzAyLCAg
MCwgICAgMzQ1NiwgMCwgICAgMCwgICAgMTU4NiwgOTQ3LCAgMjgyOCwgMCwgICAgMzM5NywgMTAx
LCAgOTQwLCAgMCwgICAgMjU0NiwgMCwgICAgMzIwLAotICAgIDAsICAgIDIyODYsIDEzNTksIDAs
ICAgIDkyNCwgIDc1NCwgIDE3OTIsIDAsICAgIDAsICAgIDM0NzIsIDAsICAgIDY2NiwgIDkyNSwg
IDI4MjQsIDI3NCwgIDAsCi0gICAgMjYyLCAgMTMwNCwgMjUyNiwgODM5LCAgMTI5NSwgMCwgICAg
MTgzMCwgMCwgICAgMTYzOCwgODgsICAgNDIxLCAgMCwgICAgNDQwLCAgNDEzLCAgMzI3LCAgMCwK
LSAgICAwLCAgICA4OTgsICAwLCAgICAyMjcxLCAxNDM1LCAwLCAgICAzNjUxLCAwLCAgICAyMjMz
LCA3MTQsICAxMzI5LCA0NTgsICA1NDQsICAxNjAzLCAwLCAgICAwLAotICAgIDMxODAsIDAsICAg
IDAsICAgIDIyNzYsIDAsICAgIDI4MCwgIDAsICAgIDAsICAgIDI5ODIsIDk5OCwgIDAsICAgIDY0
MywgIDEzMjIsIDIzMjUsIDIyOTYsIDAsCi0gICAgMCwgICAgMCwgICAgMTg2MCwgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNDA0LCAgMCwgICAgOTk5LCAgMTc1MSwgMTM4OCwg
MCwgICAgNTcwLAotICAgIDEyNjgsIDAsICAgIDM4NDMsIDAsICAgIDAsICAgIDEwMTksIDIxNjMs
IDM0ODgsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIzNjUsIDAsICAgIDQ2LCAgIDMwOTIsCi0g
ICAgMzQ0NiwgMCwgICAgMzczLCAgMTA1OSwgMCwgICAgMTU0OSwgMjAzOSwgMCwgICAgMzQ2Niwg
MCwgICAgMTY1NywgMCwgICAgMTE3OCwgMCwgICAgODg4LCAgMCwKLSAgICAxNTAwLCA0NDIsICAw
LCAgICAwLCAgICAyMDg3LCAwLCAgICAwLCAgICAwLCAgICAyMDY1LCAxMDk3LCAwLCAgICAwLCAg
ICAyNDM4LCAwLCAgICA1ODUsICAzODcsCi0gICAgMTYzMSwgMTg0LCAgMCwgICAgMCwgICAgMjkz
LCAgMzk1NCwgMCwgICAgMTA0NywgMTUyNiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMjAwMCwg
MCwgICAgMjc3NSwKLSAgICAwLCAgICAxNjQyLCAyMzUsICAzNjcxLCAxNzI3LCA3MTUsICAzNzYy
LCAyMDE1LCAwLCAgICA5OTEsICAwLCAgICA0MjcsICAwLCAgICAwLCAgICAwLCAgICAwLAotICAg
IDAsICAgIDMwMDIsIDAsICAgIDg0NCwgIDAsICAgIDAsICAgIDAsICAgIDIxNywgIDM2ODYsIDMy
NDksIDM3NDEsIDAsICAgIDE3NjMsIDAsICAgIDAsICAgIDAsCi0gICAgMzMyLCAgMjc5MywgMjQ2
OCwgMzUzMCwgODI2LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTg3MywgMCwgICAgMCwgICAg
MCwgICAgMzM3NSwgOTA5LCAgMCwKLSAgICAxNjU2LCA4NTQsICAwLCAgICAwLCAgICAzMzI2LCA4
NTQsICA3MSwgICAzNjk1LCAxODgsICAxNTAyLCAwLCAgICAwLCAgICA4MjcsICAwLCAgICAwLCAg
ICAwLAotICAgIDAsICAgIDM0ODksIDM5NjksIDE1MzcsIDAsICAgIDAsICAgIDYwMiwgIDAsICAg
IDAsICAgIDc1MSwgIDMwMTYsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCi0gICAgNywgICAg
MzkwMiwgMTc2NCwgMzY3NCwgMCwgICAgMzUwNywgMzAwNywgMCwgICAgMCwgICAgMjMwMiwgMzA3
OSwgMTk5NSwgOTQ3LCAgMzUwMywgMzM1MiwgMTI0MiwKLSAgICAwLCAgICAxNTA0LCAxMjA1LCAw
LCAgICAwLCAgICAzNjMxLCAwLCAgICA5ODQsICAxNDkwLCAwLCAgICAwLCAgICAxNDcxLCAzNzI3
LCAxMzA2LCAxMDUxLCAzNTgzLAotICAgIDc0LCAgIDAsICAgIDgyLCAgIDIyMDYsIDMzMjIsIDAs
ICAgIDAsICAgIDMwNCwgIDE5MDUsIDAsICAgIDIzNjUsIDI5ODQsIDMyMDAsIDE2MzYsIDExMzcs
IDI4NTEsCi0gICAgMCwgICAgNzk1LCAgMCwgICAgNjg1LCAgMCwgICAgMzQwNywgNjQ3LCAgMCwg
ICAgMTA1MywgMCwgICAgMzIwMiwgMCwgICAgMTM4NSwgNzM0LCAgMTk5NiwgODM0LAotICAgIDI1
NTcsIDU3NCwgIDk5NiwgIDEzOTIsIDAsICAgIDAsICAgIDE5ODUsIDMyNCwgIDAsICAgIDI2MTUs
IDAsICAgIDUwNywgIDgxNywgIDE5NSwgIDAsICAgIDAsCi0gICAgMCwgICAgMjYyNiwgMCwgICAg
MTE1MCwgMCwgICAgMCwgICAgNzQzLCAgMCwgICAgNzc1LCAgMCwgICAgNjE1LCAgMzE4OCwgODYz
LCAgMCwgICAgMTQ1MSwgMCwKLSAgICAzMjk2LCAwLCAgICAxMTMzLCAwLCAgICA1NzksICAxMTc0
LCA3MzYsICAyMjA1LCAxMTUxLCAxNzE2LCAwLCAgICAxOTY1LCAwLCAgICAwLCAgICAxNzYsICAx
NDI4LAotICAgIDc3NCwgIDExNDYsIDI4ODAsIDAsICAgIDAsICAgIDAsICAgIDgzOSwgIDgwNiwg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDQ1NiwgIDE1NzgsIDAsICAgIDAsCi0gICAgMzAyMywg
MCwgICAgMCwgICAgODE2LCAgMjM2OSwgMTgyNiwgMCwgICAgMCwgICAgMzUyMiwgMCwgICAgMjU1
MSwgMCwgICAgMTE3MiwgNTksICAgMTAwMCwgMCwKLSAgICA3ODMsICAyMTkzLCAxMjcsICA0ODEs
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzMjYsICA3OTIsICAzODI1LCAyMjEsICAwLCAgICA5
MDQsICAzMDE5LCA0MDgsCi0gICAgMTYwMCwgMCwgICAgMjM5NSwgMCwgICAgMCwgICAgMCwgICAg
MjcwMSwgMjMwMSwgMzAxMywgMjE2NiwgMjY3MywgMzE3MSwgMCwgICAgMCwgICAgMCwgICAgMCwK
LSAgICAwLCAgICAxNzYzLCAwLCAgICAwLCAgICAwLCAgICA3NjEsICA5MTIsICAxODQ1LCAwLCAg
ICAwLCAgICAxMzYyLCA1NDksICAwLCAgICA5ODksICAzOTEyLCAwLAotICAgIDYwMiwgIDczMCwg
IDAsICAgIDE2MTMsIDAsICAgIDI2NjIsIDMxLCAgIDg2LCAgIDIzMiwgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDEzODcsIDAsICAgIDAsCi0gICAgODc0LCAgMTkwOCwgMjA1NiwgMCwgICAgODk3
LCAgMCwgICAgMCwgICAgMCwgICAgMTczMSwgMjcxNiwgOTcxLCAgMCwgICAgMTU5MywgNDk4LCAg
MjY0NywgNjUzLAotICAgIDAsICAgIDE0NDAsIDQzNCwgIDAsICAgIDI3MTMsIDM1NiwgIDM0MzMs
IDAsICAgIDAsICAgIDAsICAgIDcxMCwgIDMyMTgsIDMwNDcsIDE4NzUsIDEzOTMsIDE0NzQsCi0g
ICAgMCwgICAgODg3LCAgMjAyNiwgMTA1MywgMjA5NCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMTg3MywgMCwgICAgMTg1OSwgOTI4LAotICAgIDAsICAgIDAsICAg
IDI5MywgIDE4ODIsIDAsICAgIDAsICAgIDE0OTMsIDI4NDcsIDAsICAgIDAsICAgIDI0MTUsIDAs
ICAgIDMxNiwgIDIyNjcsIDgzNywgIDAsCi0gICAgNTYxLCAgNjU4LCAgMzMxOSwgMjY1NSwgMTIz
OCwgMjE5MiwgMTIzLCAgMCwgICAgMTMzMCwgMTIwMywgMCwgICAgMCwgICAgMzAyNSwgMTI4OCwg
MjI2MCwgNzcwLAotICAgIDAsICAgIDM1MzQsIDc2NywgIDI4NTQsIDAsICAgIDE5MDcsIDE3NzEs
IDAsICAgIDAsICAgIDMwMjksIDE0MjEsIDAsICAgIDM0NjMsIDAsICAgIDAsICAgIDcyNywKLSAg
ICAxMzEwLCAzNDIyLCAxMjM2LCA3NDUsICAxMzk3LCAzNDk3LCA1MDQsICAxMTk0LCAzMjQ4LCA4
NjEsICAyNTM1LCAwLCAgICAxNjM0LCAwLCAgICAwLCAgICAxODEyLAotICAgIDI5NzMsIDAsICAg
IDIzNzIsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDM5NDAsIDEyMTAsIDAsICAgIDAs
ICAgIDAsICAgIDE1MTIsIDAsICAgIDAsCi0gICAgMTYwNywgODk5LCAgMCwgICAgMzU5MCwgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTAyLCAgMCwgICAgMCwgICAgMTcwMiwgMzUxMywg
MTIxMSwgMTc0NiwKLSAgICAyMjIsICAyODk0LCA2MzEsICAwLCAgICAwLCAgICAzMzE3LCAwLCAg
ICAwLCAgICAxNTI1LCAyMTA5LCAzNzY2LCAxMjMzLCAwLCAgICAyMzMsICAxNTM4LCAxNjYxLAot
ICAgIDg5OCwgIDI4MjUsIDAsICAgIDAsICAgIDk0MSwgIDAsICAgIDAsICAgIDAsICAgIDUxNiwg
IDAsICAgIDYxMSwgIDAsICAgIDAsICAgIDg1OSwgIDAsICAgIDEwMDEsCi0gICAgMjU5NywgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMTY4OCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTA3Niwg
MCwgICAgMzMyNiwgODk0LCAgNzQsICAgNDQ0LAotICAgIDM3NzksIDE5OTUsIDMyNDksIDExMywg
IDM5OTgsIDAsICAgIDAsICAgIDYwNCwgIDAsICAgIDAsICAgIDEwNzcsIDE1MTYsIDE3NTAsIDEz
MDIsIDAsICAgIDM2NzYsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTA5NywgMCwgICAg
MTA5OCwgMjU3MCwgMTQ4OSwgMCwgICAgMjk2MCwgMCwgICAgMzc2NywgMzIzLCAgMCwgICAgMTU4
MCwKLSAgICAxMzgyLCAwLCAgICAwLCAgICAyMTk1LCAwLCAgICAwLCAgICAyMjI1LCAxMjY4LCAx
ODE1LCAwLCAgICAxOTIsICAwLCAgICAwLCAgICAwLCAgICAyMTgzLCAyOTAsCi0gICAgMzU5LCAg
MCwgICAgMjk0NiwgMCwgICAgMTU4NCwgMjg4LCAgMjMzOCwgMCwgICAgMTg5MywgMTYxOSwgMCwg
ICAgMTUxNiwgNDE1LCAgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICAzMzc1LCA4MzYsICAxMjIw
LCAwLCAgICAwLCAgICAzOTY4LCAwLCAgICAwLCAgICAwLCAgICAxMTEyLCAxOTg0LCA0NjcsICAy
ODkwLCAwLCAgICAwLAotICAgIDIwMDYsIDM0ODQsIDAsICAgIDIxODcsIDE2ODIsIDM3MSwgIDIy
NjQsIDMwODgsIDkyNCwgIDk4NSwgIDAsICAgIDAsICAgIDAsICAgIDEwMzUsIDE0NywgIDM1MjUs
Ci0gICAgMjUwLCAgMjU5OCwgMTI4LCAgMTExMCwgMjEyMCwgMCwgICAgMzA5MSwgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgNDAwLCAgNTc0LCAgMCwgICAgNDc3LAotICAgIDAsICAgIDAs
ICAgIDM4MjAsIDAsICAgIDM4MzIsIDIxOTQsIDQ3NSwgIDI3MzIsIDAsICAgIDAsICAgIDk0MSwg
IDAsICAgIDAsICAgIDE5NzUsIDAsICAgIDAsCi0gICAgMCwgICAgMjAyMSwgMCwgICAgMCwgICAg
MTk1MSwgMTQyNywgODcwLCAgMTUxNiwgNTg4LCAgMjk1MiwgMzQ0MSwgMCwgICAgNDk2LCAgMCwg
ICAgNzgyLCAgMCwKLSAgICA2OTIsICAzLCAgICA4NjYsICAxMTM2LCAzMTMsICA2NzIsICAwLCAg
ICAxMjYyLCAzMjYyLCAyNjY5LCAwLCAgICA3MTYsICA5OTQsICAwLCAgICAxNDQ5LCAxNTg4LAot
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE3MSwgIDEwOTQsIDAsICAgIDYzMywgIDM0ODks
IDU5NSwgIDIxMTcsIDAsICAgIDE3OTcsIDE2NzYsIDgwOCwgIDAsCi0gICAgMCwgICAgMCwgICAg
MCwgICAgMTI2MCwgMCwgICAgMCwgICAgMTUzMywgMCwgICAgMzczNCwgMzM1NiwgMzQ0LCAgNzQ4
LCAgMCwgICAgMzMxNywgMTgwNCwgMCwKLSAgICAxMzc0LCAwLCAgICAxNTIzLCAzMzgzLCAxMDUw
LCA0MjksICAyNTY1LCAxMDQ3LCAyMTkzLCAwLCAgICAxMzgwLCAyNTE3LCAzMTQzLCA1MTQsICAw
LCAgICAwLAotICAgIDM5OTksIDI2MDQsIDAsICAgIDMzOTksIDIwODAsIDAsICAgIDAsICAgIDE1
NjcsIDAsICAgIDE2OTEsIDc2MywgIDAsICAgIDIxMzAsIDI2NzQsIDAsICAgIDEyMjksCi0gICAg
MCwgICAgMCwgICAgMCwgICAgMTMzMywgMCwgICAgMTg0NywgMCwgICAgMCwgICAgMTExMSwgMCwg
ICAgMCwgICAgMTQxLCAgMzYzMCwgMCwgICAgMCwgICAgMTgzOCwKLSAgICAxODM5LCAwLCAgICAy
OTA1LCAyMzgwLCAwLCAgICA4NzQsICAwLCAgICAyMzA3LCAwLCAgICAwLCAgICA5MDYsICAwLCAg
ICAxMDgwLCAwLCAgICAxMTksICAxODc2LAotICAgIDM4NjgsIDAsICAgIDAsICAgIDAsICAgIDEw
MDAsIDQ5OSwgIDAsICAgIDAsICAgIDU1LCAgIDc4MSwgIDM4MjgsIDAsICAgIDAsICAgIDIwNzks
IDExNzcsIDIzNjUsCi0gICAgMCwgICAgMCwgICAgMjM5LCAgMjMxMCwgNzIsICAgNjQ0LCAgODg0
LCAgMjQzNiwgOCwgICAgMTQ2NiwgMTM3NywgMTM1LCAgMTM4MywgMCwgICAgNzM3LCAgMCwKLSAg
ICAwLCAgICAwLCAgICAzODQzLCAzNzY3LCAwLCAgICA3MDMsICAxNzM3LCAxNjc2LCA3MzIsICAy
MDc3LCAwLCAgICAwLCAgICAxNDIwLCA5MTAsICAxMTQ4LCAyOTUsCi0gICAgMzU1MywgODg0LCAg
MCwgICAgMTQ5NiwgMTkxOSwgMTIwMSwgMCwgICAgMCwgICAgMzg1LCAgMTM4NSwgODU3LCAgMjQy
MiwgODA1LCAgMCwgICAgMzMxMSwgNDE5LAotICAgIDMxMjIsIDExOTEsIDAsICAgIDE2MzIsIDE5
NjQsIDEyMzEsIDAsICAgIDAsICAgIDE0MjcsIDAsICAgIDAsICAgIDExOTYsIDE4MjksIDE0ODYs
IDIxMSwgIDAsCi0gICAgMTQzNCwgMCwgICAgMCwgICAgMCwgICAgMTAyNCwgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMjAxMiwgMCwgICAgMjgzOCwgMTc4OCwgMjk4MSwgMCwgICAgMjY0NCwKLSAg
ICAwLCAgICA1NTQsICAzOTU2LCA1OTIsICAxNjUsICAyODY2LCAwLCAgICAwLCAgICAxNjEsICAw
LCAgICAwLCAgICA0MDIwLCAxNjYzLCAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDIyMiwgIDAs
ICAgIDIyODEsIDkwMSwgIDAsICAgIDM5NTUsIDEyMDgsIDExMzAsIDE5NywgIDE5MTMsIDAsICAg
IDI0LCAgIDM3ODMsIDAsICAgIDAsCi0gICAgMTA2OSwgMCwgICAgOTc0LCAgMCwgICAgMjc1NCwg
MCwgICAgMTE4MiwgMCwgICAgNjYxLCAgMzQ3NywgMjAwNywgMCwgICAgMjg4MiwgMCwgICAgNjQz
LCAgMzQxMiwKLSAgICAwLCAgICAzNjk4LCAwLCAgICA3ODIsICAzMDg1LCAzMCwgICAwLCAgICAw
LCAgICAyMDIwLCA5MjUsICAwLCAgICA0NjAsICA1MjEsICA0NzIsICAwLCAgICAyNzYsCi0gICAg
ODkyLCAgMCwgICAgMCwgICAgMTExMiwgNDc3LCAgMCwgICAgMTI0MSwgMCwgICAgODM0LCAgMzgz
MiwgMCwgICAgMCwgICAgMTE3MCwgMCwgICAgMCwgICAgOTY0LAotICAgIDQwMTMsIDI1MzYsIDAs
ICAgIDc5MywgIDQzLCAgIDM0NTUsIDg2OSwgIDAsICAgIDIyNzEsIDI3NzUsIDI3ODAsIDAsICAg
IDE1NzAsIDAsICAgIDE3OTMsIDE1NjIsCi0gICAgMzcxNSwgMCwgICAgMzMxNiwgNDg4LCAgMzY2
NiwgMzEyNiwgNzczLCAgOTEzLCAgMjE4OCwgMTk5OSwgMCwgICAgMjA3LCAgMzYyMSwgMjA3NCwg
MTMzOCwgMzc3MywKLSAgICAyMDM4LCAxMDQ3LCA1MzgsICAwLCAgICAwLCAgICAzMzAyLCAzMzQy
LCAxMjQ0LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyOTIsICAwLCAgICAzMTU5LCAwLAotICAg
IDEzNTksIDk0MiwgIDAsICAgIDAsICAgIDAsICAgIDEzNDMsIDAsICAgIDAsICAgIDE4MTQsIDEw
MTUsIDAsICAgIDEyNzEsIDE5NzEsIDAsICAgIDAsICAgIDM2NzEsCi0gICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMTA1OSwgMCwgICAgMCwgICAgMzE1NiwgMjAzOSwgMCwg
ICAgMTE4NywgMCwgICAgMCwgICAgMzUzNCwKLSAgICAxMTIzLCAzNTIyLCAxNDk4LCAyNDM0LCAy
ODk0LCAxODEwLCAxNTIzLCA3MTEsICA0NjcsICAwLCAgICAwLCAgICAwLCAgICAzMTkxLCAxNjM5
LCAyMDQzLCAxNjA0LAotICAgIDc2MCwgIDIxMzgsIDAsICAgIDE4NTIsIDAsICAgIDAsICAgIDI2
NzYsIDM3MDUsIDI1NzEsIDAsICAgIDM1NDUsIDE2NzEsIDE4MDIsIDAsICAgIDAsICAgIDcwNCwK
LSAgICAwLCAgICAwLCAgICAwLCAgICA2OTIsICA2MSwgICAwLCAgICAzMTAsICAzODU2LCAyNTY0
LCA1NjUsICAwLCAgICAwLCAgICA1MDQsICAxMjUxLCAyMTcwLCAzNDUyLAotICAgIDMzOTYsIDMx
MDEsIDU2NiwgIDIxMywgIDI0MDYsIDM2NDYsIDM3NDQsIDE4MTcsIDAsICAgIDEwODcsIDAsICAg
IDM5MDAsIDIwNzEsIDAsICAgIDMzNywgIDY3OSwKLSAgICAxNjI0LCA5MjMsICAwLCAgICAwLCAg
ICAwLCAgICAzMTkyLCAxNDE5LCAwLCAgICAyOTYzLCAwLCAgICAwLCAgICAzNDIsICAzMjUzLCAw
LCAgICAxNjk0LCAxNTU2LAotICAgIDEyOTYsIDAsICAgIDAsICAgIDAsICAgIDI0OTgsIDExNjAs
IDgyNCwgIDE2MTAsIDAsICAgIDAsICAgIDAsICAgIDI3NSwgIDAsICAgIDM5NjQsIDMwMzIsIDIw
OTAsCi0gICAgMTMxOSwgMjgzMywgNTU2LCAgMTMxMywgMCwgICAgMjA0NSwgMzg0MSwgMCwgICAg
MjgyNSwgMTU3MiwgMTkwMywgNDY1LCAgMCwgICAgMCwgICAgMCwgICAgMjI5MiwKLSAgICAwLCAg
ICAwLCAgICA3MDYsICAwLCAgICAxMjU4LCAwLCAgICAwLCAgICAwLCAgICAxNjY2LCAxMTMsICAz
NjEsICAxMDYyLCAwLCAgICAwLCAgICAwLCAgICAyMDc4LAotICAgIDM1MCwgIDY4MywgIDEyMCwg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE1NzEsIDAsICAgIDAsICAgIDAsICAgIDEyMjMsIDAs
ICAgIDk3MCwgIDM2NDEsIDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNjUxLCAgNzks
ICAgMzk1MywgMCwgICAgMCwgICAgMCwgICAgMzE3NiwgMCwgICAgMTg4OCwgMzk5OSwgMTM3MCwg
MCwKLSAgICAzMTE1LCAwLCAgICAxNDc4LCAxNzMzLCAwLCAgICAxNDMsICAyMDIwLCAwLCAgICAx
Nzg0LCAwLCAgICAzODA0LCAwLCAgICAwLCAgICAwLCAgICAyNDk3LCAwLAotICAgIDAsICAgIDM3
NTgsIDAsICAgIDE5NzQsIDAsICAgIDAsICAgIDAsICAgIDk4OCwgIDgyNywgIDAsICAgIDEyMjEs
IDE1ODEsIDAsICAgIDE2OTcsIDM3MTgsIDAsCi0gICAgMCwgICAgMCwgICAgMCwgICAgMzQ2Miwg
MTc3NywgMCwgICAgMCwgICAgMCwgICAgMzc0NywgNDU5LCAgNDkyLCAgMCwgICAgMCwgICAgMCwg
ICAgMzUxNSwgMCwKLSAgICAyNzU0LCAzMjY2LCAzNjUxLCAwLCAgICAzNDQwLCAwLCAgICAxOTQs
ICAxMTUxLCAyODIzLCAwLCAgICAxMTY5LCAxODIzLCAyODg4LCAwLCAgICAxMzk2LCAwLAotICAg
IDMxMTAsIDM0MTYsIDc4MywgIDkxOSwgIDEzNSwgIDAsICAgIDAsICAgIDAsICAgIDE3MywgIDAs
ICAgIDAsICAgIDAsICAgIDE2MjMsIDIzNSwgIDMxNzAsIDI3MDEsCi0gICAgMjc2NywgMzIzMiwg
MTE3LCAgMzgyMSwgMCwgICAgMCwgICAgMzE2NywgMCwgICAgMTYyNywgMCwgICAgMCwgICAgMTg5
OSwgMjk5LCAgMCwgICAgMCwgICAgMCwKLSAgICAwLCAgICAzOTAzLCAxMTI1LCAwLCAgICAyMTEs
ICAyMzgxLCAzMjgxLCAzMjQ1LCAxOTg2LCAwLCAgICAwLCAgICAwLCAgICAxNDM0LCAxNDgwLCAx
OTM3LCA3NTEsCi0gICAgMTgxMywgMzk0MSwgMzEzMiwgMzYyNywgMjM5LCAgMTI5LCAgNTQ1LCAg
MCwgICAgMjI5OSwgMzI0NCwgOTMyLCAgMCwgICAgMTI4NywgMTg4OCwgMzEzOSwgMTg4MSwKLSAg
ICAzMjU5LCAwLCAgICAxODMsICAyMDcsICAwLCAgICA1NzgsICAxNDk4LCAwLCAgICAwLCAgICAy
ODIsICAyMjM3LCA5NTksICAxNTU4LCAxODI0LCAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDI3
MjUsIDIxMzYsIDM1OSwgIDAsICAgIDEyMjgsIDAsICAgIDEyMzIsIDAsICAgIDcxMiwgIDM1NDMs
IDM0MjAsIDAsICAgIDAsICAgIDAsCi0gICAgMjE0OCwgMCwgICAgMCwgICAgMTYsICAgMCwgICAg
ODkzLCAgMzcwMywgMCwgICAgMCwgICAgMCwgICAgNTY5LCAgMjM4OSwgOTE0LCAgMCwgICAgMzQ5
NywgMjY4MSwKLSAgICA4NiwgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyNzA5LCAy
MDEsICAxMTA4LCAxNDg4LCAyMDMzLCAzNjUzLCAxMDIsICAwLCAgICAwLCAgICAwLAotICAgIDEy
MzAsIDAsICAgIDUwOSwgIDAsICAgIDAsICAgIDM0OSwgIDQxNCwgIDIzODUsIDM5MzIsIDAsICAg
IDg0NCwgIDM5NzEsIDEzNDYsIDM1MDQsIDcwMywgIDE3MzksCi0gICAgMTU1NCwgMCwgICAgMCwg
ICAgMCwgICAgODE4LCAgMTY0MiwgOSwgICAgMTA5MCwgMjcxMSwgMTUwMywgNTQyLCAgMCwgICAg
MTI5MiwgMTM5MiwgMTI0MCwgMzYzOCwKLSAgICAwLCAgICAwLCAgICA0MjAsICA1MTgsICAxMzU4
LCA4NzYsICAwLCAgICAwLCAgICAxNzQ5LCA0MDA2LCAxNzQwLCAzMzkyLCAxMjAwLCAwLCAgICAw
LCAgICAwLAotICAgIDAsICAgIDE2OTcsIDE2NTksIDAsICAgIDEyNjUsIDI3NiwgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDg5OCwgIDE5NjEsIDAsICAgIDAsICAgIDAsICAgIDE2NiwKLSAgICAy
MzQsICAxNDc3LCAxOTM1LCAyNjc2LCAwLCAgICA4ODgsICAzNDA1LCAyNjM2LCAxODI1LCAxOTY2
LCAxMTkyLCAxNjEsICAwLCAgICA0NDUsICA4ODQsICAwLAotICAgIDEyNzgsIDAsICAgIDI2MDQs
IDU2MCwgIDE0NjQsIDAsICAgIDAsICAgIDI1NjUsIDIwODcsIDQ2MCwgIDE4ODksIDAsICAgIDIz
MTAsIDEzNTQsIDAsICAgIDI1MDMsCi0gICAgMCwgICAgMTgxMiwgMTk0OSwgMCwgICAgMCwgICAg
NjM2LCAgMTc2LCAgMjkwMywgMTA4MSwgMCwgICAgMCwgICAgMTE1NiwgMzkzMCwgMCwgICAgMTA5
MCwgNDIyLAotICAgIDE3NDYsIDMwOSwgIDAsICAgIDQ3NCwgIDAsICAgIDE4MDEsIDEwMCwgIDAs
ICAgIDE4LCAgIDAsICAgIDEwNDMsIDE5NDIsIDAsICAgIDAsICAgIDM2LCAgIDE5NjksCi0gICAg
MTYwNiwgMTA0NSwgMTA2NywgODY5LCAgMTM5MSwgMzc2OCwgMjI4NSwgMCwgICAgMjUyLCAgNDE0
LCAgMCwgICAgNTg3LCAgMzkwOCwgMCwgICAgMzQwMiwgMzM0MSwKLSAgICAxMDU2LCAwLCAgICAw
LCAgICAwLCAgICA2MDUsICAwLCAgICAxMDc1LCA1MiwgICAyMTIyLCAwLCAgICAzOTk4LCAxMDE3
LCAzMjY1LCAwLCAgICAwLCAgICAxOTgwLAotICAgIDAsICAgIDEzNTEsIDAsICAgIDk0MCwgIDE3
MTUsIDg1LCAgIDE1NTEsIDAsICAgIDI4ODQsIDI4NDksIDAsICAgIDExMTgsIDAsICAgIDE1MTUs
IDAsICAgIDAsCi0gICAgNTE1LCAgMTczNywgMCwgICAgMTE4NywgMTU5NCwgMTMwNCwgMCwgICAg
MTA4MCwgMzg4OCwgMCwgICAgMTA2NSwgMCwgICAgMCwgICAgMCwgICAgMTQ3OSwgMCwKLSAgICAz
NDc3LCAxNjkwLCAzNSwgICAwLCAgICAxNzA5LCAwLCAgICAzODI3LCA1NjYsICAwLCAgICAxOTg2
LCAyNzIxLCAwLCAgICAxNTU2LCAxNDQzLCAzOTcwLCAyODE0LAotICAgIDIxNTUsIDAsICAgIDE1
NDAsIDAsICAgIDM1NzAsIDMyMjQsIDAsICAgIDAsICAgIDM3NTYsIDMxMDUsIDEzNTksIDE3Niwg
IDE0MDgsIDE5NDYsIDEzMzQsIDEyOTcsCi0gICAgMjAzMSwgMjY4MCwgMzk1NCwgNTE1LCAgNjMx
LCAgMjc5NywgNzI2LCAgNTMyLCAgMjI4MywgMCwgICAgNjAzLCAgMCwgICAgMjA1MywgOTgyLCAg
MTM0MiwgMCwKLSAgICAyMjYxLCA5OTksICAwLCAgICAxMDg2LCAwLCAgICA2NzEsICAwLCAgICAw
LCAgICAxNzEwLCAwLCAgICAwLCAgICAyMTM3LCAyOTY1LCAyOTcsICA0NTMsICAyMzc2LAotICAg
IDE0NDEsIDI2OTQsIDQ2MCwgIDE1NTAsIDM1NjIsIDM2NjIsIDM5NjcsIDc0MCwgIDAsICAgIDQ0
LCAgIDAsICAgIDAsICAgIDExNTgsIDAsICAgIDEyNDMsIDAsCi0gICAgMzE5MCwgMTU5MCwgMjY0
OSwgMCwgICAgMzg0LCAgMCwgICAgMCwgICAgNTM3LCAgMTQ0NCwgMjg4NywgMjI3NCwgNjI0LCAg
MzkzMSwgNTYyLCAgMTEyOSwgMCwKLSAgICA5NjgsICA4MDYsICAxMDczLCAwLCAgICAwLCAgICAy
NDI2LCAxNTI2LCA4MSwgICA2NjIsICAyMDI1LCAxNTY1LCAwLCAgICAwLCAgICA2MTIsICAyMjAs
ICAwLAotICAgIDc1NiwgIDAsICAgIDk3OSwgIDAsICAgIDE3NzgsIDExMDUsIDAsICAgIDM1OTEs
IDM4MzgsIDAsICAgIDAsICAgIDAsICAgIDEyMzEsIDI3MDcsIDMyNjksIDAsCi0gICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgODkzLCAgMCwgICAgMjM4LCAgMzg2NiwgMTQwMCwgNjY5LCAgNzEw
LCAgMCwgICAgMzU5MywgMTgwMCwgMCwgICAgMCwKLSAgICAxNTk2LCAwLCAgICA1OTAsICAxNDgz
LCAwLCAgICAzMzUsICAyNjY3LCAwLCAgICAxNTA2LCAwLCAgICA3NTEsICAxNjU2LCAxMiwgICAw
LCAgICAxNjcwLCAzOTYyLAotICAgIDM3MTYsIDAsICAgIDAsICAgIDE5OSwgIDEwMjYsIDAsICAg
IDQ4NCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDEzMTgsIDEzMDcsIDE4MTgsIDMzMzEsIDQy
NSwKLSAgICA5MzUsICAyMDUsICAwLCAgICAzNjA5LCAxOTg1LCAyMDU1LCAwLCAgICAxNTE4LCAx
MDM2LCA5OTEsICAxMjY0LCAzMjMwLCA4NzksICAyNzgxLCAxNDY2LCAxNzgsCi0gICAgMjk2OSwg
MCwgICAgOTE4LCAgMTQzMCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzk1MSwgMTU0LCAgMTU2
LCAgMjQwNSwgMCwgICAgNjk2LCAgMCwgICAgMCwKLSAgICAxNDMzLCAwLCAgICA3NzAsICAwLCAg
ICA5NDUsICAxODU4LCAwLCAgICAwLCAgICA3NDcsICAxOTA4LCAwLCAgICAxMzM5LCAwLCAgICAx
MjY3LCAwLCAgICAwLAotICAgIDAsICAgIDAsICAgIDAsICAgIDEwNzAsIDAsICAgIDE5MDgsIDI2
NjgsIDAsICAgIDIzMjAsIDEwODEsIDIzMzcsIDAsICAgIDAsICAgIDEzMDMsIDAsICAgIDIwODgs
Ci0gICAgNjkwLCAgMjAzNSwgMCwgICAgMjI1LCAgMTE3MywgMCwgICAgMTMsICAgMjM3LCAgMTMy
OSwgMCwgICAgNTM2LCAgMTQzMiwgODYsICAgMzU5MSwgMjkzMywgMTk0OSwKLSAgICAwLCAgICA3
MjIsICAzOTUxLCAwLCAgICAwLCAgICAyMCwgICA2NTUsICAzNzM0LCAxOTk1LCA1ODAsICAwLCAg
ICAwLCAgICAwLCAgICAzNTk4LCAzOTYzLCAwLAotICAgIDMwNDgsIDI3NjIsIDAsICAgIDM0MzYs
IDMwMDEsIDM3ODAsIDk5NSwgIDAsICAgIDg4MCwgIDMyNjksIDE1OTcsIDg2OSwgIDAsICAgIDMz
MjksIDk4NiwgIDcyOSwKLSAgICAwLCAgICA3MTEsICAwLCAgICA5MjYsICAzOTc1LCAxODcwLCAw
LCAgICAwLCAgICAxMzAzLCAzMTIsICAzMjksICAxMjU5LCAwLCAgICAxMjMzLCAzOTkwLCAxMzU2
LAotICAgIDM0NCwgIDAsICAgIDM3MDEsIDAsICAgIDM5MDIsIDAsICAgIDEzNjQsIDAsICAgIDAs
ICAgIDAsICAgIDIwNTEsIDM4NSwgIDAsICAgIDAsICAgIDIyMzIsIDAsCi0gICAgMCwgICAgMTgx
LCAgMTYwNywgMzg4MywgMTU2NSwgMCwgICAgMjExMSwgMTUwNiwgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMjAyMiwgMCwgICAgMzgzMiwgMCwKLSAgICAzNTk2LCAwLCAgICAxOTQ1LCAxOTU3LCAx
ODA1LCAxNDgyLCAzOTk2LCAzNDI2LCAyNjYsICAyMTE0LCA2NTIsICAwLCAgICA0MDcsICAxODM1
LCAxNDk5LCAyMDk1LAotICAgIDE2MzcsIDE2OTAsIDIxMzQsIDAsICAgIDAsICAgIDAsICAgIDY1
OCwgIDE1OTgsIDIxNzEsIDAsICAgIDAsICAgIDAsICAgIDE2MjgsIDAsICAgIDM2NSwgIDMxNjks
Ci0gICAgMjQ1LCAgOTc3LCAgMCwgICAgMCwgICAgMCwgICAgMTEwMSwgMzM2NSwgMTYyNiwgMjU1
NSwgMjA0MSwgMjgxNiwgMCwgICAgMCwgICAgODk4LCAgMTMwOSwgMjY5MiwKLSAgICAzNzk1LCA2
MDQsICA1OTQsICAyODQwLCAxOTMwLCAzOTY4LCAyMTI4LCAwLCAgICA5NDMsICAxOTcyLCAxMTE0
LCAwLCAgICAxMTksICAwLCAgICAyOTQ1LCAzNTE2LAotICAgIDIyMDAsIDMzMTAsIDAsICAgIDAs
ICAgIDQ1MywgIDI3ODgsIDEwNjQsIDAsICAgIDAsICAgIDE3MDAsIDc5MSwgIDE4MTgsIDAsICAg
IDEyMywgIDAsICAgIDIxMjQsCi0gICAgMTAzMSwgMTY0NSwgMCwgICAgMTI2MywgMCwgICAgMCwg
ICAgMTEwOCwgMCwgICAgMzQzNiwgMCwgICAgMjc0LCAgMTM5NCwgNzIwLCAgMCwgICAgMCwgICAg
MCwKLSAgICA4MzMsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzNDI1LCAxODE4LCAx
NTE1LCAwLCAgICAwLCAgICAyODk0LCAwLCAgICAyOTAxLCAwLCAgICAxOTk5LAotICAgIDE2OTks
IDAsICAgIDI1MjksIDExOTksIDIwMjQsIDAsICAgIDAsICAgIDI3MiwgIDI1ODMsIDAsICAgIDI5
MDAsIDMzMzIsIDIwMTgsIDgyMCwgIDMzOTUsIDAsCi0gICAgMCwgICAgMCwgICAgMjA2NiwgMCwg
ICAgMTEzNiwgMzc4NCwgMzczOSwgMzQ1LCAgMCwgICAgMTI0MSwgMzYzLCAgMCwgICAgMCwgICAg
MzU4NCwgNTE5LCAgOTg2LAotICAgIDAsICAgIDAsICAgIDE1MjEsIDAsICAgIDAsICAgIDMxMTIs
IDAsICAgIDExNywgIDAsICAgIDAsICAgIDI3OTksIDE1NSwgIDM5MzcsIDQ0OSwgIDM5NzAsIDc5
LAotICAgIDAsICAgIDM5ODksIDAsICAgIDAsICAgIDI2NzgsIDIxMjEsIDMxMDQsIDAsICAgIDAs
ICAgIDg0MiwgIDI4MjAsIDAsICAgIDE3NDQsIDMzMTYsIDAsICAgIDE1MzEsCi0gICAgMTMwNCwg
ODA3LCAgMCwgICAgMCwgICAgMjY2LCAgMCwgICAgMzM1NSwgMCwgICAgMzMwMSwgMCwgICAgMzYy
LCAgMTMzNSwgMjA1MSwgNzAwLCAgMCwgICAgNzk4LAotICAgIDI0NDksIDI5MjcsIDAsICAgIDAs
ICAgIDExNzEsIDAsICAgIDE0MDYsIDIxNDAsIDk4MCwgIDEyMDgsIDI2MCwgIDAsICAgIDAsICAg
IDAsICAgIDM4NjcsIDc3NCwKLSAgICAxOTkzLCAwLCAgICAwLCAgICAwLCAgICAyOTgsICAwLCAg
ICAxOTIyLCAyNzUsICAyNDczLCAwLCAgICAxMTIsICAwLCAgICAxMDAyLCAyOTg1LCAzNTI3LCAx
ODYwLAotICAgIDAsICAgIDAsICAgIDM0NzcsIDAsICAgIDIxNjgsIDAsICAgIDQwMTQsIDIzNTUs
IDI0ODksIDE2NjksIDg5OSwgIDAsICAgIDM3NjQsIDI1NjgsIDM5ODUsIDAsCi0gICAgNSwgICAg
MTU3MywgMCwgICAgMTY1NCwgMzQ3NCwgMTUwNywgNzkwLCAgMTM4OSwgMCwgICAgMCwgICAgMzAx
LCAgMjA5LCAgNjg3LCAgMjA1NywgMjcxLCAgMTQ5NiwKLSAgICAzMDIsICAwLCAgICAyODcsICAw
LCAgICAxNTI5LCAxMzUzLCAwLCAgICAwLCAgICAwLCAgICAyNDUyLCA5MTIsICAyMTUyLCAyNDAs
ICAwLCAgICAwLCAgICAwLAotICAgIDAsICAgIDMyNTgsIDEzOSwgIDE1OTMsIDIzMTQsIDAsICAg
IDAsICAgIDE5MjEsIDM5MTgsIDE0MSwgIDAsICAgIDE5NjIsIDExODgsIDAsICAgIDEwNiwgIDAs
Ci0gICAgMjY4NiwgMCwgICAgMzI2MCwgMzgwMCwgMTExOSwgMCwgICAgMjA5NywgMjYyMywgMzY4
NCwgMCwgICAgMzkzLCAgMzE4OCwgMTAyOSwgMzM0NSwgMjU0MCwgMjc5NiwKLSAgICAxNDU4LCAy
Mzc3LCAxMzQ5LCAwLCAgICAwLCAgICAzNjk4LCAwLCAgICAxODYwLCA1MjEsICAyNDgsICA1NDgs
ICAxNTk5LCAwLCAgICAxNzQ3LCA5MDIsICAzLAotICAgIDAsICAgIDE4ODMsIDAsICAgIDIwMDks
IDcxMywgIDIwMDJ9OworICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDQwNDYsIDAsICAgIDAsICAgIDAsICAgIDM5MTMsIDAsICAgIDAsICAgIDAsCisg
ICAgMCwgICAgMTY4OCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTEyNiwgMCwKKyAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMzI0LCAwLCAgICAwLCAgICA1NTksICAzMDQ3
LCAwLCAgICAwLCAgICAwLCAgICAwLAorICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDEyMjAsIDMwNzgsIDQ0MzIsIDAsICAgIDAsICAgIDAs
ICAgIDQzOTgsCisgICAgMTI0NiwgMCwgICAgMCwgICAgMCwgICAgMjc1OCwgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMDI0LCAwLAorICAgIDAsICAgIDAsICAgIDAsICAg
IDQxNTYsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIwMTQsIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsCisgICAgMzQwOSwgMTU3NSwgMCwgICAgMTg2MCwgODE4LCAgMTg1
NCwgMCwgICAgMCwgICAgMjg0MywgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzc2LCAg
MCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzOTA2LCAwLCAgICA5
ODIsICAwLCAgICAwLCAgICAwLCAgICAxNzE5LCAwLCAgICAwLCAgICAwLAorICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDI0MCwgIDAsICAgIDAsICAgIDAsICAgIDgyOSwgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNDE3NCwgMCwg
ICAgMCwgICAgMCwKKyAgICAwLCAgICAwLCAgICAyOTYsICAxMzk4LCAwLCAgICAxNjY1LCAwLCAg
ICAwLCAgICA2NywgICAwLCAgICA4NTMsICAwLCAgICAwLCAgICAyOTU3LCAwLCAgICAwLAorICAg
IDI0MTksIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMTIxMSwgMCwgICAgMCwgICAgMzY1OSwgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAyNDAsICAwLCAgICAxNTQ1LCAxOTQ2LCAwLCAgICAw
LCAgICAwLCAgICAyMzQxLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyMDk2
LCAwLAorICAgIDAsICAgIDMwMTgsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIzMDYs
IDk4NCwgIDE0LCAgIDAsICAgIDAsICAgIDAsICAgIDMzNjcsIDAsICAgIDAsCisgICAgNDQwNiwg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMzg5OCwgMCwgICAgMCwgICAgMzU0LCAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgNDM4NiwgMCwgICAgMjA0NiwKKyAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAxMjM0LCAwLCAgICAxNDgzLCAwLCAgICAwLCAgICA0MzM1LCAyMjgsICAyNjU5
LCAwLCAgICA1MjYsICAwLAorICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE4OTYsIDAsICAgIDAsICAgIDAsICAgIDAs
CisgICAgMCwgICAgMCwgICAgMTcyOCwgMCwgICAgMCwgICAgMCwgICAgMjE2MywgMTg0MSwgMzc5
OCwgMCwgICAgMCwgICAgMCwgICAgODkwLCAgMCwgICAgMCwgICAgMCwKKyAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA4NzIsICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICA1MDMsICAwLAorICAgIDMzMywgIDE2NzYsIDAsICAgIDAsICAgIDQz
NTYsIDIwNjgsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsCisgICAgNzk4LCAgMCwgICAgMTE1LCAgMTUzNiwgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgNDMyNywgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAz
NTEzLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICA0MDM1LCA5OTksICA3NjQsICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMTI3LAorICAgIDI4NTAsIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDM4OTcsIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgMjczMiwgMTM4NywgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNzczLCAgMzA3OSwgMCwg
ICAgMCwKKyAgICAwLCAgICAxNDI1LCAwLCAgICAwLCAgICAwLCAgICA4NzQsICAzMDYsICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgIDExNTMs
IDAsICAgIDAsICAgIDEyMzIsIDAsICAgIDAsICAgIDAsICAgIDEyMDgsIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDM4OTgsIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMTcwNiwgMzIwMCwgMzI5MiwgMTk5MywgMCwgICAgMTAyMCwgMzIwMiwgMCwgICAg
MCwgICAgMCwgICAgMCwKKyAgICAyMDQzLCA4NjIsICAwLCAgICAzNTQxLCAwLCAgICAwLCAgICAz
OTg1LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA3NSwgICAwLCAgICAwLAor
ICAgIDAsICAgIDAsICAgIDM1NTUsIDEzNDUsIDY0MCwgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDIwNDEsIDAsICAgIDM5NTAsIDg3NCwKKyAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAzMTc2LCA0MTIsCisgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
NDQwOSwgMCwgICAgMCwgICAgMzI1NSwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwKKyAgICA4OTYsICAwLCAgICAwLCAgICAwLCAgICA0MzQ0LCA0MjE1LCAwLCAg
ICAwLCAgICAzMDI4LCAwLCAgICAwLCAgICAwLCAgICAxNjk3LCAyNjksICAwLCAgICAwLAorICAg
IDAsICAgIDAsICAgIDE1MzAsIDAsICAgIDAsICAgIDQyMTYsIDE2MjAsIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDYxMSwgIDQ5OCwgIDAsICAgIDAsICAgIDQ1MiwKKyAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxLCAgICAwLCAgICAwLCAgICAxNzU3
LCAwLCAgICAwLCAgICAxMTcsICAxMTcyLAorICAgIDAsICAgIDkwMCwgIDQxMzcsIDAsICAgIDAs
ICAgIDM2MzksIDE4MzgsIDAsICAgIDAsICAgIDc5MywgIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDE5MSwgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMjQwNywgMCwgICAgMCwgICAgMCwgICAg
MzExLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgODI0LCAgMCwgICAgMTU2MCwgMCwKKyAgICAw
LCAgICAyMTA1LCAwLCAgICAwLCAgICAxNTIyLCA0MzQ3LCAwLCAgICAxNDQ1LCAxNjAxLCAwLCAg
ICAzNjc0LCAwLCAgICAyNDQ0LCAwLCAgICAwLCAgICAwLAorICAgIDAsICAgIDE0NjcsIDEzODcs
IDM4NzQsIDI4OTYsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsCisgICAgMjA5OSwgMCwgICAgMCwgICAgMzI3NywgMCwgICAgMTEw
MCwgMCwgICAgMCwgICAgMjQxOCwgMCwgICAgMCwgICAgMTYxNiwgMCwgICAgMzIxMiwgMCwgICAg
MzI4LAorICAgIDAsICAgIDAsICAgIDAsICAgIDI1NzQsIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgNzczLCAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMTY1MiwgMCwgICAgMjc1MCwgOTU1LCAgNzE5LCAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMzgzLCAgMCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAxMzg1LCAwLCAgICAwLCAgICA4NCwgICAwLCAgICAwLCAgICAw
LCAgICAzMjYzLCAwLAorICAgIDAsICAgIDAsICAgIDM1MTcsIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDE2MzQsIDAsICAgIDE5MzEsIDI3NTgsIDAsICAgIDAsICAgIDAsICAgIDAsCisg
ICAgMzg4NywgNTcwLCAgODUxLCAgMCwgICAgMCwgICAgMTQwOCwgMTc4OSwgMCwgICAgMCwgICAg
MTYzNywgNTkwLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgODkxLAorICAgIDAsICAgIDAsICAg
IDAsICAgIDI0MTIsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDM4MjQsIDAs
ICAgIDAsICAgIDEzMSwgIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwgICAgOTA5LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMzYzMiwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA4NzYsICAwLCAg
ICAwLCAgICAxNjg0LCAwLCAgICAzODIwLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxOTAyLAor
ICAgIDI1MzEsIDY3NywgIDAsICAgIDM3MzMsIDEyNjEsIDEzOSwgIDE2NTIsIDAsICAgIDAsICAg
IDAsICAgIDEzMzEsIDE2MzEsIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgNTE1LCAg
MTE5NywgNjQ1LCAgMCwgICAgMjEzNywgMjAzLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMzY5
LCAgNDY5LCAgMCwgICAgMCwgICAgMCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxODE2LCA3ODIsICAwLCAgICAzMTkyLCAwLCAgICAx
OTU5LCAwLAorICAgIDI0MywgIDAsICAgIDU3MywgIDAsICAgIDAsICAgIDAsICAgIDMxNDEsIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDI5MCwgIDE3NTEsIDAsICAgIDAsCisgICAgMTk0
MywgMCwgICAgMCwgICAgMTAyMSwgMjQwMiwgMCwgICAgMjY3MSwgMCwgICAgMjc0NywgNDA2Nywg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAzODQ1LCA0MTI1LCAwLCAgICAz
NTYsICAwLCAgICAwLCAgICAyNTg1LCAwLCAgICAwLCAgICAwLCAgICAxNjI2LCAwLCAgICAwLCAg
ICA0Mjg5LCAwLCAgICAwLAorICAgIDAsICAgIDAsICAgIDk5MCwgIDkxNiwgIDMwMiwgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIzMTAsIDAsICAgIDQzODMsIDAsICAgIDAsICAgIDIz
OTYsCisgICAgMCwgICAgNDA4OCwgMTg0NywgMCwgICAgMzg0NywgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMzE1LCAgMCwgICAgMCwgICAgMTA5MSwKKyAgICAwLCAg
ICAwLCAgICAwLCAgICAyNjY5LCAwLCAgICA0MTQ4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICA2
MzAsICAwLCAgICAyNTEsICAwLCAgICAzNzI4LCAwLAorICAgIDE1NDYsIDE4NzksIDAsICAgIDM4
MTUsIDAsICAgIDE1NDgsIDEzODksIDAsICAgIDI1OTYsIDMyMjgsIDMxNCwgIDM1NjMsIDM3OTgs
IDAsICAgIDIwNiwgIDMxNzAsCisgICAgMCwgICAgMCwgICAgMjMxNiwgMCwgICAgMzM1NywgMzYw
OCwgMCwgICAgMCwgICAgNDY2LCAgMCwgICAgMTAxLCAgMzc1NiwgMCwgICAgMCwgICAgMCwgICAg
MjA5MywKKyAgICA3ODAsICAwLCAgICAwLCAgICAwLCAgICAyODQ0LCAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAxMTkwLCAyMDEsICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgIDAsICAg
IDQ4MCwgIDAsICAgIDQ0MTMsIDQwMjQsIDAsICAgIDM2LCAgIDAsICAgIDAsICAgIDE3OTUsIDEw
MzcsIDAsICAgIDAsICAgIDAsICAgIDM0NDAsIDE1MjgsCisgICAgMCwgICAgMCwgICAgMTY0Mywg
MCwgICAgMzQ5NSwgMCwgICAgMCwgICAgMTc4NiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgOTAsCisgICAgMzA4MywgMzUwOCwgMzcxOCwgMjgyNCwgMCwgICAgMCwg
ICAgMzc3NCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTUwLCAgMCwgICAgMCwgICAgNDI0NSwg
MCwKKyAgICAxMDEwLCAxNDQ2LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA5ODEsICAw
LCAgICA2ODksICAwLCAgICA0MjIsICAwLCAgICAwLCAgICA0MDc1LCAwLAorICAgIDAsICAgIDAs
ICAgIDAsICAgIDczOSwgIDMxNiwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDk2NCwgIDAsICAg
IDEwNjAsIDAsICAgIDAsICAgIDM4OTMsIDAsCisgICAgMTcyNCwgMTI2LCAgMCwgICAgMCwgICAg
MCwgICAgNDI4LCAgMzc2NCwgMCwgICAgNDExLCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMTE2NCwgMzc5MCwKKyAgICAwLCAgICAwLCAgICAwLCAgICA0NTQsICA4NzksICAwLCAgICAw
LCAgICAwLCAgICAxNjc3LCAwLCAgICAxMDkzLCAwLCAgICAxMjQ5LCA4NDMsICA1MjQsICAwLAor
ICAgIDAsICAgIDAsICAgIDM2OTEsIDAsICAgIDAsICAgIDEzNDMsIDM0MDgsIDAsICAgIDAsICAg
IDE3OTgsIDAsICAgIDI1MSwgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgNDEyMSwg
MCwgICAgMCwgICAgMzk5MywgMTQxNiwgMCwgICAgNzc5LCAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMjkzNSwgMCwgICAgMCwKKyAgICA5MzAsICAwLCAgICA3NDksICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICA0OTksICAwLCAgICAxMDMxLCAyMDYzLCAxNzYyLCAxMzM0LCAyMzk4LCAw
LCAgICA4NzUsCisgICAgMCwgICAgMTAxNiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMjczLCAgMjAzMCwgMTIyMCwgMCwgICAgMCwgICAgMzI3MSwgMCwKKyAgICAw
LCAgICAwLCAgICAwLCAgICAxOTEwLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICA1OTcsICAxNzM3LCAyMTM5LCAwLAorICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDc5LCAgIDAs
ICAgIDExMjMsIDAsICAgIDAsCisgICAgMTEyNCwgMzg2MCwgMjAzLCAgNjc1LCAgMCwgICAgNDA1
NywgMCwgICAgMCwgICAgNzQ1LCAgMCwgICAgMCwgICAgMCwgICAgMTE3NSwgMCwgICAgMzE0MCwg
NjQsCisgICAgMCwgICAgMjY0MCwgMCwgICAgMTA0LCAgMCwgICAgMjA3MiwgNzcyLCAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgNTQ3LCAgMCwgICAgMCwgICAgMCwgICAgMTMxMiwKKyAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAxODcwLCAwLCAgICAzOTkzLCAyOTM0LCAwLCAgICAwLCAgICAy
Nzc3LCAwLCAgICA0MzE0LCA2NDgsICAwLCAgICA2NzcsCisgICAgMCwgICAgMjk0MiwgMCwgICAg
NDUyLCAgMCwgICAgMzYyMiwgMCwgICAgNDIwOSwgMCwgICAgMCwgICAgMTAwOSwgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwKKyAgICAxMDIzLCAwLCAgICAzMTIsICAxNzEzLCAxMTI3LCAwLCAg
ICA4NjYsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyMTEzLCA1MTAsICA0MjA0LCAw
LAorICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDY0NSwgIDIxMywgIDAsICAgIDAsICAgIDE5
ODUsIDExODEsIDAsICAgIDE0MDgsIDE2NSwgIDkzMSwgIDc2LCAgIDAsCisgICAgMCwgICAgMTI5
MSwgNDI2NCwgMCwgICAgMTUwNywgMTI3OCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNjMwLCAg
MCwgICAgMCwgICAgNTEzLCAgMTA5MiwgNDAzMywKKyAgICAwLCAgICA0MzM5LCA5MzAsICAwLCAg
ICA0NTAsICAxNTY5LCA0Mzg5LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICA5ODIsICAwLCAgICAw
LCAgICA4OTcsICAwLAorICAgIDE3MDYsIDAsICAgIDE5NjMsIDAsICAgIDAsICAgIDc4OSwgIDIw
MzUsIDAsICAgIDgxMywgIDM0MiwgIDAsICAgIDMwMDEsIDAsICAgIDIzMCwgIDAsICAgIDI5MTYs
CisgICAgMCwgICAgMCwgICAgMjYzNywgMTg5NywgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgODgyLCAgMzcsICAgMCwgICAgMjEyMCwgMCwgICAgMjk2OCwgMCwKKyAgICAwLCAgICA1Njcs
ICAwLCAgICAzNDU4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICA3MzAsICAwLCAgICAzNTc5LCAw
LCAgICAxMzY0LCAwLCAgICAwLCAgICA0NDE2LAorICAgIDAsICAgIDAsICAgIDM3NzMsIDEwNDYs
IDM3NzksIDAsICAgIDU0MCwgIDE2NjYsIDE2NzgsIDAsICAgIDgyMiwgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsCisgICAgMCwgICAgOTAwLCAgMTkwOCwgMCwgICAgMCwgICAgMCwgICAgNDMz
MiwgNDI3MywgMTAyNSwgNzM5LCAgMjU1OCwgMjE2LCAgMzY4LCAgMCwgICAgMCwgICAgMCwKKyAg
ICAyNDU0LCA4NTcsICAwLCAgICAxNDgsICA0NTEsICAwLCAgICAwLCAgICAxNzAsICAwLCAgICAw
LCAgICAxMTA0LCAwLCAgICAyMTYsICAwLCAgICAxNjYyLCA3ODIsCisgICAgMCwgICAgMCwgICAg
MCwgICAgMTI0MCwgMTA5OCwgNDI5OCwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgNDQ5LCAgMCwg
ICAgMCwgICAgMCwgICAgNjksICAgMCwKKyAgICAwLCAgICAwLCAgICA2NjksICAwLCAgICA3OTcs
ICAwLCAgICAyNjYsICAyNjE1LCAyNTEzLCAwLCAgICAxMjMxLCAwLCAgICAxMzYyLCAwLCAgICAw
LCAgICAwLAorICAgIDI3NzUsIDAsICAgIDE2NSwgIDAsICAgIDAsICAgIDAsICAgIDE1MTYsIDAs
ICAgIDk2MywgIDAsICAgIDAsICAgIDAsICAgIDgwNSwgIDAsICAgIDAsICAgIDAsCisgICAgMCwg
ICAgMCwgICAgMTI1OCwgMCwgICAgNDIwOSwgMCwgICAgMTAzNSwgODQsICAgMCwgICAgNzYwLCAg
MCwgICAgMjA0NCwgMCwgICAgMCwgICAgMTE2NCwgNDIsCisgICAgMTIwNSwgMzUsICAgMCwgICAg
MzU2NSwgMjg0OSwgMCwgICAgMjc0MSwgMjA0OCwgMCwgICAgMjQ1MSwgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMCwKKyAgICAyODgwLCA3MjAsICAxNjE3LCAwLCAgICAxNDkzLCAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAzNjc4LCAwLCAgICAwLCAgICAyNDg5LCAwLCAgICAyNDIzLCAw
LAorICAgIDEyNzksIDQ2OSwgIDM3MzUsIDQwOCwgIDAsICAgIDI4ODYsIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDE2MTYsIDIyMywgIDM2MzksIDkyMywKKyAgICAxODkyLCAw
LCAgICAzNzU4LCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzOTAxLCAxOTM0LCAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAzMSwgICA5NjIsCisgICAgMzQyNSwgMCwgICAgMTY5LCAgNzY2
LCAgMTY5LCAgMCwgICAgMCwgICAgMzY5LCAgMCwgICAgMTM3LCAgMjIzNCwgMCwgICAgMCwgICAg
MCwgICAgMTY5OSwgMzgzOCwKKyAgICAzNTIzLCA1NjEsICAxMDksICAzNjUwLCAwLCAgICAxNzg0
LCAzOTYwLCAxMjAzLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICA4NiwgICAwLCAgICAw
LAorICAgIDIzOTYsIDAsICAgIDE4NTUsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDMw
MDQsIDAsICAgIDI5MzQsIDkwNCwgIDAsICAgIDQzOTksIDI5LCAgIDAsCisgICAgOTAyLCAgMTA0
NiwgMzIzOCwgMCwgICAgMCwgICAgMCwgICAgMTc2MywgMCwgICAgNjI4LCAgMCwgICAgMCwgICAg
ODgsICAgMCwgICAgMCwgICAgMjM2OCwgMCwKKyAgICAwLCAgICAwLCAgICA3MDQsICAyNzgwLCAw
LCAgICA2MDQsICAwLCAgICAwLCAgICAzNjAsICA0MzA0LCAyMzEzLCAyNzEsICAwLCAgICAwLCAg
ICAwLCAgICAyMjIsCisgICAgMzAwNiwgODgwLCAgMCwgICAgMzE0NiwgMTMyOCwgMTU2MiwgMTEz
OCwgMTAxLCAgNDI2MCwgODQsICAgMTczNywgMTUxMSwgNDMyNywgMCwgICAgMjIxMSwgMTYxMiwK
KyAgICAwLCAgICAwLCAgICAwLCAgICA5NTIsICAwLCAgICAzNjU0LCAxOTE5LCAxNzIwLCAwLCAg
ICAwLCAgICAwLCAgICAxNzE2LCAzMzgwLCAxODkxLCAwLCAgICAxMzUxLAorICAgIDAsICAgIDk3
LCAgIDAsICAgIDAsICAgIDM0NTAsIDAsICAgIDM3NTEsIDM5MzQsIDAsICAgIDAsICAgIDcwNCwg
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMTkyOSwgOTQsICAgMCwgICAgMTE2Niwg
MCwgICAgNjAsICAgMCwgICAgODcsICAgMCwgICAgMTEyOCwgMCwgICAgMCwgICAgNjU0LCAgMCwg
ICAgNDEzMSwgMTI5MSwKKyAgICAwLCAgICAxNzUsICAwLCAgICA3MDAsICAxNzA2LCAwLCAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxODAsICAxNzA1LCAyMTMyLCAyMzUsICAwLAor
ICAgIDEyOTAsIDU3OCwgIDAsICAgIDgxNSwgIDAsICAgIDAsICAgIDQwNTAsIDAsICAgIDAsICAg
IDAsICAgIDE2MywgIDAsICAgIDI1OTAsIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAg
MzQ3LCAgMCwgICAgMTk2MCwgMCwgICAgMCwgICAgMzAzOCwgMCwgICAgMzMwNywgMzI5NywgMCwg
ICAgMCwgICAgMTg0OCwgMCwgICAgMTIxMSwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgICAyOTAzLCA1MCwgICA2NCwgICAyNDAzLCAxMjUzLCAwLCAgICA2MjIsICAwLCAgICAwLCAg
ICAxOTg0LCAzMDM1LAorICAgIDAsICAgIDAsICAgIDEzMzIsIDM5ODQsIDEwOTgsIDQxODEsIDAs
ICAgIDAsICAgIDAsICAgIDYyMywgIDAsICAgIDE1MDMsIDAsICAgIDAsICAgIDEyMDIsIDAsCisg
ICAgNDA1LCAgMjgxLCAgMCwgICAgMjQ0NywgMCwgICAgMCwgICAgMTAxMCwgMCwgICAgMTkyLCAg
MCwgICAgMzkyMywgNTU0LCAgMCwgICAgMCwgICAgMCwgICAgMTIxNiwKKyAgICAwLCAgICAzNTQs
ICAxMTUwLCAwLCAgICAzNzc5LCAwLCAgICAwLCAgICAwLCAgICAxMDg2LCAxMjU3LCA0MzgzLCAw
LCAgICAwLCAgICA0MTI4LCAwLCAgICAzNDA4LAorICAgIDM3MTgsIDM5OTEsIDAsICAgIDAsICAg
IDAsICAgIDIwMDYsIDAsICAgIDAsICAgIDM3MzEsIDAsICAgIDAsICAgIDQyMTYsIDE5MDcsIDE4
ODAsIDAsICAgIDAsCisgICAgMTY5OCwgMTMzNSwgODEyLCAgMCwgICAgMCwgICAgMCwgICAgNDE3
MywgMCwgICAgMzI3MywgMCwgICAgMCwgICAgODgxLCAgMCwgICAgNDExMSwgMCwgICAgMCwKKyAg
ICAwLCAgICAwLCAgICAxNzQwLCAwLCAgICA5OTEsICA0MTM1LCAwLCAgICAwLCAgICAwLCAgICA5
OSwgICAzMTgyLCAwLCAgICAzMjQ2LCAxNzUyLCAxODUzLCAwLAorICAgIDI2NzAsIDAsICAgIDI4
OTYsIDI4MDAsIDE3OTAsIDIwOCwgIDExODgsIDAsICAgIDMxMzYsIDAsICAgIDI5MiwgIDE0ODks
IDY0MSwgIDE2OTMsIDAsICAgIDE4MzcsCisgICAgNDEzLCAgMjU4NCwgMCwgICAgMCwgICAgMCwg
ICAgMCwgICAgMCwgICAgMzczLCAgMCwgICAgMjE5OSwgMzYyLCAgNDA0OSwgMjUzNSwgNTcsICAg
Mjc3NiwgMCwKKyAgICAzNDE2LCAwLCAgICAwLCAgICAxMTIzLCAwLCAgICAyNTczLCAwLCAgICAw
LCAgICA0MTYsICAyOTY2LCAwLCAgICA3MTYsICAwLCAgICA0NTUsICAwLCAgICAxMzUyLAorICAg
IDAsICAgIDAsICAgIDEwODYsIDE5OTYsIDQ0NCwgIDIyMzksIDkxNCwgIDAsICAgIDM2MDAsIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDExNTksIDAsCisgICAgMCwgICAgOTksICAgNDI1
MCwgMCwgICAgMjAzMywgMzIwNCwgMzk3MCwgMCwgICAgNDQ2LCAgMCwgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMTg2OSwgMjQwOSwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxMzQx
LCAwLCAgICAxNjk2LCAwLCAgICA1ODksICAwLCAgICAzMzI2LCA0MzMyLCAwLCAgICAwLCAgICAz
MTQ2LCAwLAorICAgIDAsICAgIDAsICAgIDAsICAgIDE5NSwgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDM3NCwgIDI1OTAsIDI1NzEsIDE4MDQsIDAsICAgIDAsICAgIDAsCisgICAgMCwg
ICAgMTc4LCAgMTY0MSwgNDQ0LCAgNDA0OSwgMCwgICAgNDAzOCwgNTc1LCAgMCwgICAgMCwgICAg
MjU4LCAgMTQ1NiwgMCwgICAgMCwgICAgMjAwMCwgMTA4NSwKKyAgICAwLCAgICAxOTExLCAwLCAg
ICAwLCAgICAwLCAgICAzNjUxLCAwLCAgICAzMTEsICAxNzcxLCAwLCAgICA0MDgzLCAyODAwLCAw
LCAgICAwLCAgICAwLCAgICAwLAorICAgIDAsICAgIDU1MywgIDUzNCwgIDAsICAgIDQ0MCwgIDAs
ICAgIDAsICAgIDIwODIsIDAsICAgIDAsICAgIDAsICAgIDI1MjQsIDE1NTksIDQxMTUsIDIxNTQs
IDAsCisgICAgMCwgICAgMCwgICAgMzg5LCAgMCwgICAgMzYzLCAgMCwgICAgODcxLCAgMjA3Niwg
MTA5NywgMzczNCwgMzY3NCwgMCwgICAgMjQ0LCAgMzYzOCwgMCwgICAgMTU0MSwKKyAgICAwLCAg
ICAyMDMsICAxMDUxLCAxNjMwLCAwLCAgICAwLCAgICAyNzEzLCAwLCAgICAwLCAgICAwLCAgICA5
MTUsICAwLCAgICAwLCAgICAwLCAgICAyOTg4LCAwLAorICAgIDAsICAgIDAsICAgIDAsICAgIDQz
MjksIDM4NzMsIDAsICAgIDAsICAgIDE2NzYsIDAsICAgIDAsICAgIDAsICAgIDE4MzksIDEwMTcs
IDU2MCwgIDAsICAgIDAsCisgICAgNDM3MiwgMCwgICAgMCwgICAgMTY5LCAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMTQzLCAgMCwgICAgMCwgICAgMCwgICAgNDQsICAgMTQ0
MCwKKyAgICAzOTcsICAwLCAgICAwLCAgICAxNTgsICAwLCAgICA3MDksICAwLCAgICAyNDU2LCAy
MDY5LCA0MjUwLCAwLCAgICAxNzI5LCAwLCAgICAwLCAgICAwLCAgICAwLAorICAgIDE1MDgsIDAs
ICAgIDAsICAgIDY4LCAgIDAsICAgIDAsICAgIDQ0MywgIDI5NzksIDI0MDIsIDAsICAgIDAsICAg
IDAsICAgIDAsICAgIDMyMDgsIDAsICAgIDIzMTcsCisgICAgMCwgICAgMzcsICAgMzc2LCAgNDIw
NCwgMCwgICAgMjIyNCwgMCwgICAgMCwgICAgNTAsICAgMjE5LCAgNzI5LCAgMzQwNywgMTE0MSwg
MCwgICAgMTc2OSwgMCwKKyAgICA1NjMsICA0NTEsICAxOTMsICAyMzgsICA1OCwgICAzNDY4LCAw
LCAgICAzODYzLCAwLCAgICA5MSwgICAxMDUzLCAwLCAgICAyODg4LCAwLCAgICAxODg3LCA0MTc2
LAorICAgIDAsICAgIDYyMCwgIDAsICAgIDQ3OCwgIDAsICAgIDAsICAgIDE0ODEsIDAsICAgIDQw
NzQsIDAsICAgIDAsICAgIDAsICAgIDU5NiwgIDAsICAgIDAsICAgIDAsCisgICAgMTQzNSwgMCwg
ICAgMjQ0MSwgMTM3NCwgMCwgICAgMCwgICAgNDIwOCwgMjA5MCwgMCwgICAgMCwgICAgMCwgICAg
Mzc2MCwgMCwgICAgMCwgICAgMTEzNCwgMTA5LAorICAgIDIzMjUsIDc5NywgIDAsICAgIDAsICAg
IDAsICAgIDk5NiwgIDQ5NywgIDEwNzcsIDAsICAgIDI1NTEsIDMyOSwgIDMyMiwgIDAsICAgIDAs
ICAgIDE5MjUsIDAsCisgICAgMCwgICAgMTExOCwgMCwgICAgMTQ4MSwgMzg4NSwgMCwgICAgMjYx
LCAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMTc0LCAgMCwgICAgMCwKKyAg
ICAwLCAgICAxMzc2LCAwLCAgICAxNjE3LCAwLCAgICA1NzYsICAwLCAgICAzNzc4LCAwLCAgICA5
NjEsICAxMzc1LCA0MzU5LCAwLCAgICAxNTQyLCAxNDMsICAwLAorICAgIDczMywgIDAsICAgIDQw
MjYsIDIxNDksIDAsICAgIDE2NzUsIDMzOSwgIDE4MTEsIDAsICAgIDAsICAgIDAsICAgIDE2MTIs
IDAsICAgIDAsICAgIDIxNDYsIDAsCisgICAgMCwgICAgMCwgICAgMzg5MCwgMCwgICAgMjE4LCAg
MCwgICAgMTI1MCwgMCwgICAgNDA3MCwgMCwgICAgMCwgICAgMjM2MywgNDI4MCwgMjMxLCAgMCwg
ICAgMCwKKyAgICAxMjM2LCAxNTY4LCAzMzk4LCA0NDgsICAwLCAgICAwLCAgICAzNjgwLCA2NzQs
ICAwLCAgICAxNzQzLCAwLCAgICAwLCAgICA0MDEyLCA4MzAsICAzOTIyLCAxMzgwLAorICAgIDY1
OCwgIDAsICAgIDIxNjYsIDI5MywgIDE4MjQsIDAsICAgIDAsICAgIDExMDIsIDAsICAgIDM2NjIs
IDE5MDIsIDIyOCwgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgNDEsICAgMTc5Mywg
MjU3NywgMCwgICAgMCwgICAgNzI2LCAgNDE5NiwgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMjgy
NCwgMCwgICAgMCwgICAgNDQwOCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAxNzc5LCAzNzY3LCAz
NjIzLCAxMzEzLCAwLCAgICAwLCAgICAxNzgwLCAwLCAgICAxMTQ5LCAxNjQ4LCAwLCAgICAyMzYw
LCAwLAorICAgIDQxMTcsIDY0NiwgIDAsICAgIDAsICAgIDE2NjEsIDI4NDAsIDAsICAgIDM1NTMs
IDAsICAgIDE4NjcsIDI3OTcsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDMyNjUsCisgICAgNzk5
LCAgNDMwNywgMCwgICAgMzg2LCAgMCwgICAgNDkwLCAgNDE3MiwgMTY5NSwgMCwgICAgMCwgICAg
MCwgICAgNjk2LCAgMCwgICAgNTI0LCAgNDgwLCAgMzE4OCwKKyAgICAyMDM1LCA4OTEsICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAxNDA5LCAyNjIsICAyNDIsICA3MDAsICAwLCAgICAwLCAgICA4
NDUsICAyMjY4LCAxMjQ3LCAxNjQ2LAorICAgIDI2MDIsIDAsICAgIDEwNDgsIDAsICAgIDM0MDYs
IDQwOCwgIDAsICAgIDU4NCwgIDAsICAgIDE2ODAsIDAsICAgIDAsICAgIDIwMzYsIDAsICAgIDAs
ICAgIDI3NCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAzNzgxLCAwLCAgICAx
NjgsICA0MTM2LCAxNiwgICAxNjQsICAxMzYsICAxOTkyLCAwLCAgICA0MDYsICAwLAorICAgIDAs
ICAgIDE5NjcsIDAsICAgIDM5MDMsIDI1NTUsIDAsICAgIDEyODAsIDM3NDIsIDUzNywgIDEyNzIs
IDk2NiwgIDc5NywgIDI5MjQsIDAsICAgIDE5NTIsIDEwMTMsCisgICAgMCwgICAgMTkyMywgMCwg
ICAgMTM5NywgMTUwNywgNDk3LCAgMCwgICAgMCwgICAgNDAxLCAgOTIzLCAgNDU1LCAgMCwgICAg
MCwgICAgNDEyMiwgMTU5MiwgNDI1NywKKyAgICAwLCAgICAxMzUwLCAxMzY0LCA0MDA2LCAzOTU4
LCAwLCAgICAxMzAxLCAxOTQ3LCAwLCAgICAyMTY4LCA4MTgsICAxODcsICAwLCAgICAwLCAgICAw
LCAgICAxMzI0LAorICAgIDAsICAgIDE0MzgsIDEzNzUsIDAsICAgIDIzOTcsIDI5ODQsIDAsICAg
IDE4NjQsIDI1MiwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDIzNjEsIDM5NSwgIDAsCisgICAg
MjMwOSwgODE0LCAgMCwgICAgODAyLCAgMCwgICAgMzQyMywgMTIwNSwgMCwgICAgMCwgICAgNDY1
LCAgMCwgICAgMCwgICAgMCwgICAgNDE3OSwgMCwgICAgMjk1NCwKKyAgICA0MzczLCAxODk4LCAx
MjAyLCAyMDE5LCAwLCAgICAyMDU3LCAwLCAgICAwLCAgICAxMTkwLCAxNjQ3LCA0MDY1LCAwLCAg
ICAyNjgsICAzNDM3LCAwLCAgICA2NzgsCisgICAgMTA2MSwgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgNjEzLCAgNDAzLCAgMjA4MSwgMCwgICAgMCwgICAgMjA2MywgMjA1OSwgMCwgICAgMTY4Mywg
MTA2OSwgMzU4LAorICAgIDYzNywgIDM5NiwgIDAsICAgIDAsICAgIDk4MCwgIDAsICAgIDEyMTEs
IDExMjAsIDY1MSwgIDEyODAsIDk2OSwgIDg0NiwgIDMzODUsIDQ0MTQsIDAsICAgIDAsCisgICAg
MzM3LCAgMCwgICAgMTc1MCwgNzg4LCAgMTE2MywgMCwgICAgMCwgICAgMCwgICAgMTEzLCAgNjE2
LCAgMTgyMiwgMCwgICAgMCwgICAgMCwgICAgNDkxLCAgMCwKKyAgICAwLCAgICAxOTExLCAwLCAg
ICAwLCAgICAwLCAgICA5NzQsICAwLCAgICAxNjQxLCAyMTI4LCAwLCAgICAwLCAgICAwLCAgICAw
LCAgICA2NTAsICA0MTksICAzNDUsCisgICAgMCwgICAgMCwgICAgMCwgICAgMTU2OSwgNzkxLCAg
MCwgICAgNjYwLCAgMCwgICAgMTkxNSwgMzYxLCAgMTY1OCwgMTcxNywgMzI0LCAgMCwgICAgMCwg
ICAgMTI5MCwKKyAgICAwLCAgICAyMjgyLCAyODAsICAwLCAgICA0MTYsICAxNjI5LCAwLCAgICAy
MTUyLCA0MTg2LCA5MDQsICAzNDU5LCAwLCAgICAwLCAgICAyMDE3LCAwLCAgICAwLAorICAgIDAs
ICAgIDAsICAgIDI2NywgIDEyMDcsIDExOTgsIDQzNDgsIDAsICAgIDAsICAgIDI1MCwgIDAsICAg
IDAsICAgIDAsICAgIDMyMDQsIDExNjUsIDgxNywgIDI3MDgsCisgICAgMTAxMiwgMCwgICAgMCwg
ICAgNDgyLCAgMTY0OSwgMCwgICAgMTc0NSwgMCwgICAgOTgwLCAgNzYxLCAgMCwgICAgMCwgICAg
MzE4MiwgMCwgICAgMCwgICAgMTI4NywKKyAgICAwLCAgICAwLCAgICA5MDUsICA0MTAsICAxMjQ2
LCA1NjYsICAwLCAgICA3NTYsICA0MDExLCAwLCAgICAyMjczLCAyNzQyLCAwLCAgICAzNzUsICAx
Nzg3LCA2OTUsCisgICAgMCwgICAgMzk1NSwgNDcxLCAgMCwgICAgMzIyOSwgMjAyLCAgMzkzOSwg
MTk1OCwgNDM2LCAgMzE4LCAgMCwgICAgMCwgICAgMCwgICAgNDAwOSwgMCwgICAgNjE3LAorICAg
IDE1MzAsIDY5OSwgIDEzMDcsIDE5NDUsIDAsICAgIDIwNzQsIDE4NjksIDU4MywgIDE2NjQsIDEy
MCwgIDExNTYsIDE4NzksIDAsICAgIDAsICAgIDM0NTcsIDE3MTAsCisgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMzE4LCAgOTI2LCAgMCwgICAgMCwgICAgMTY1MCwgMCwgICAgMCwgICAgOTU3
LCAgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAg
ICA1OTIsICA0MzE4LCAwLCAgICA5LCAgICA0MzU1LCA5MTEsICA5NzMsICAwLCAgICAzMjU3LCAw
LCAgICA3OCwKKyAgICAwLCAgICAxMDI0LCAwLCAgICAwLCAgICAwLCAgICAzNTY5LCAwLCAgICAx
NTMyLCAwLCAgICAwLCAgICA1NzEsICAxMjE3LCAzNTAsICAwLCAgICAwLCAgICAwLAorICAgIDM3
NDIsIDAsICAgIDM1OSwgIDAsICAgIDExNzgsIDAsICAgIDAsICAgIDgzOSwgIDE4MzQsIDk5NCwg
IDY1LCAgIDU5LCAgIDAsICAgIDAsICAgIDQyODksIDY5LAorICAgIDAsICAgIDAsICAgIDAsICAg
IDI3OTUsIDc0NiwgIDAsICAgIDAsICAgIDMwNSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAs
ICAgIDM2NzQsIDAsICAgIDAsCisgICAgMCwgICAgMzg5OSwgMCwgICAgMTgyOCwgMTg1MSwgMjA5
MSwgMCwgICAgMTcwMCwgNDEyMCwgOTEzLCAgMCwgICAgMTg4LCAgMCwgICAgMzM0MCwgMTg0OCwg
OTg0LAorICAgIDAsICAgIDAsICAgIDQzNDUsIDAsICAgIDE5NDgsIDM5MTQsIDE5MTUsIDAsICAg
IDAsICAgIDE3MjEsIDAsICAgIDI5NTAsIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAgNDU2LCAg
MzAwLCAgMjQ1NiwgODAzLCAgMCwgICAgNTA5LCAgMTczNywgMCwgICAgMCwgICAgMCwgICAgMCwg
ICAgMjA0OSwgMCwgICAgMTYsICAgNDA3LCAgMCwKKyAgICA1MDYsICAzNTIsICAxNjY4LCAxNDY1
LCAwLCAgICAwLCAgICAwLCAgICAxMjk4LCAwLCAgICAwLCAgICAwLCAgICAzOTAsICAzNDA1LCAw
LCAgICAwLCAgICAwLAorICAgIDIwMjcsIDg0MiwgIDEzMjEsIDExOTQsIDAsICAgIDAsICAgIDkz
NSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDU0NiwgIDEyMjEsIDAsICAgIDAsICAgIDM5NiwK
KyAgICAxNDUyLCA0MzcwLCAwLCAgICAwLCAgICAwLCAgICAwLCAgICAyMDI5LCAwLCAgICAwLCAg
ICA4MjYsICAxMjk3LCA0MTc4LCAwLCAgICA3NjQsICAwLCAgICA0MjUzLAorICAgIDE5NTQsIDAs
ICAgIDAsICAgIDAsICAgIDEzNTcsIDAsICAgIDEyMTQsIDAsICAgIDAsICAgIDAsICAgIDAsICAg
IDI3MTIsIDAsICAgIDEyNjksIDAsICAgIDI4NTEsCisgICAgMCwgICAgNTA3LCAgMzMyLCAgMCwg
ICAgNDE5OCwgMCwgICAgMCwgICAgMCwgICAgMTU0NSwgMCwgICAgMCwgICAgMCwgICAgMCwgICAg
MjMwLCAgNDk2LCAgMCwKKyAgICAzNjQ4LCAwLCAgICAxNDY1LCAwLCAgICAwLCAgICAyNzgsICAw
LCAgICAyMjk0LCAxMTIxLCAwLCAgICA4MzIsICAwLCAgICAxNzg5LCAzMjUzLCAxNDQ1LCAzNzcz
LAorICAgIDI4MjAsIDUxMiwgIDQyNTksIDE5MjQsIDM0NDcsIDAsICAgIDAsICAgIDAsICAgIDE3
NDEsIDI1NSwgIDAsICAgIDMwMzksIDE1MDEsIDAsICAgIDI4NTQsIDE0ODQsCisgICAgMTMyNSwg
ODM4LCAgODk3LCAgNTQ5LCAgMzgxNSwgMTczNiwgMCwgICAgMTI5LCAgMzk4MiwgNDMyNCwgMCwg
ICAgMTk1NSwgMjgzNSwgMCwgICAgMTU5NCwgMCwKKyAgICA2ODYsICA0Mzg1LCA3MSwgICAxNjcy
LCAxNzk5LCA0MTY5LCAwLCAgICAwLCAgICAxMDEyLCAwLCAgICAwLCAgICAxNjg2LCAwLCAgICA4
NjQsICAwLCAgICAxMTIwLAorICAgIDAsICAgIDI3OTIsIDAsICAgIDAsICAgIDEyMjcsIDAsICAg
IDY1NSwgIDc4NSwgIDEzMTUsIDY1NSwgIDE4OTMsIDAsICAgIDAsICAgIDAsICAgIDM1NDAsIDIw
MjgsCisgICAgMCwgICAgMzUwOSwgMTI4MywgMTA3NSwgMCwgICAgMCwgICAgMCwgICAgNDM2OCwg
MjAxMCwgMCwgICAgMCwgICAgOTY5LCAgMjYyNiwgNDA3MCwgMTE1OSwgMTk5OCwKKyAgICAwLCAg
ICA4NjAsICAzNTE4LCAwLCAgICAxNzU0LCA0MjQ3LCAzNCwgICA0MTY3LCAxNDY3LCAwLCAgICAx
ODk0LCAxNzgsICAwLCAgICAwLCAgICAwLCAgICAxMjAzLAorICAgIDAsICAgIDAsICAgIDE1OTMs
IDAsICAgIDg2NywgIDM4MDIsIDQ3MywgIDAsICAgIDAsICAgIDAsICAgIDU1MSwgIDEwNjEsIDk3
MiwgIDAsICAgIDAsICAgIDAsCisgICAgMCwgICAgNDUxLCAgMzU1NSwgMCwgICAgMjA5NywgMzAw
MiwgMCwgICAgMjA0MywgMCwgICAgMCwgICAgOTI2LCAgMTk5MCwgMTIwMSwgMCwgICAgMCwgICAg
MCwKKyAgICAyMDgzLCA2OTAsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAx
MTgwLCA0ODksICAzMjk2LCAxNTU4LCAyMzc5LCA1NjksICAzNDIzLCA0NTMsCisgICAgNTc0LCAg
MCwgICAgMCwgICAgMCwgICAgNTExLCAgNzk4LCAgMCwgICAgMCwgICAgMCwgICAgMTE0NywgNzMx
LCAgODI5LCAgMTExMiwgMzYyMywgMCwgICAgMCwKKyAgICAzNTQ4LCAwLCAgICAwLCAgICAyMDMx
LCAxMDkwLCAzNjE1LCAwLCAgICA2MzcsICAzMDYzLCAwLCAgICAyOTIsICA0OTksICAwLCAgICAw
LCAgICAwLCAgICAyOTg5LAorICAgIDE0MTMsIDYxMSwgIDExMTQsIDIxMjksIDAsICAgIDAsICAg
IDAsICAgIDEzMDMsIDQyNzksIDAsICAgIDE5NTAsIDAsICAgIDMwNTMsIDE1OTEsIDg1NCwgIDI5
OTYsCisgICAgMTE4MSwgMCwgICAgNzQyLCAgOTM5LCAgODQwLCAgMTMxOSwgMCwgICAgNDAyNSwg
MzMyOCwgMCwgICAgMzI0MiwgMjkyOSwgMjI1MSwgMCwgICAgMTk4OCwgMTY3MCwKKyAgICAxMzUw
LCAwLCAgICAzNjcyLCAwLCAgICAwLCAgICAwLCAgICAzNTUzLCAwLCAgICAwLCAgICAxNTcsICAx
MDE1LCAwLCAgICAwLCAgICAwLCAgICA0MDUzLCAxNTE3LAorICAgIDAsICAgIDAsICAgIDAsICAg
IDAsICAgIDY3NywgIDAsICAgIDAsICAgIDM1NDUsIDc1MCwgIDU5OSwgIDAsICAgIDAsICAgIDQ0
MDQsIDAsICAgIDE4NTIsIDE1MTMsCisgICAgMCwgICAgNDEyLCAgMCwgICAgMCwgICAgNDEyOCwg
Mjg0LCAgMCwgICAgNDczLCAgNDQyLCAgMjQsICAgMzA0OCwgMCwgICAgNDU1LCAgMCwgICAgMjQz
MywgNjg0LAorICAgIDQ3MCwgIDI3NiwgIDU5NCwgIDcwMCwgIDEyODIsIDAsICAgIDAsICAgIDAs
ICAgIDE1ODYsIDEwMywgIDAsICAgIDg4OCwgIDAsICAgIDE1NTksIDE0NzYsIDg0MSwKKyAgICAw
LCAgICAyNzA5LCAzMTc2LCAxNTM4LCA0ODYsICAwLCAgICAxMTksICAwLCAgICAwLCAgICAxOTky
LCAwLCAgICAzNzAsICA0NTMsICAwLCAgICAyMDYsICAxODM5LAorICAgIDI0MCwgIDI0NjUsIDM4
MywgIDcyNywgIDY4OSwgIDAsICAgIDEwODMsIDQzODQsIDAsICAgIDExNTEsIDE2ODgsIDAsICAg
IDIwMjYsIDEzODgsIDEwNzUsIDAsCisgICAgMTc3LCAgMjY4MywgMCwgICAgNDQwNSwgMTk2Miwg
MzEyMCwgNDE2MiwgMCwgICAgMCwgICAgMjQ3LCAgNzIwLCAgMCwgICAgMCwgICAgNzE0LCAgMTU1
MiwgMTA0MywKKyAgICA0MTcsICAwLCAgICAxOTcsICAwLCAgICA3MjksICAxMDk4LCAwLCAgICAx
MDYsICAwLCAgICA4MDEsICAzMTI3LCAwLCAgICAwLCAgICAxNDU5LCAzMDksICAwLAorICAgIDcz
NywgIDMxNiwgIDE0NTEsIDY3LCAgIDI3NSwgIDQwMCwgIDEzNSwgIDkzLCAgIDQwMDEsIDM0MTMs
IDAsICAgIDM3MiwgIDQwMjIsIDEzNzEsIDE0NiwgIDQyNDIsCisgICAgODQ3LCAgMCwgICAgOTU5
LCAgMTQzMSwgNDE3MywgNDE3MiwgNzA4LCAgMCwgICAgMjQ5LCAgMzMzOSwgMTEyLCAgMCwgICAg
MTg2NiwgMjQ1MCwgMzc4NiwgMCwKKyAgICAxNjUzLCAxNjI3LCAwLCAgICAwLCAgICAwLCAgICAw
LCAgICA0MzI1LCAxODA5LCAzNTEsICAxMTk5LCAzMzE3LCAwLCAgICA0MjcxLCAxNjg1LCA4ODMs
ICAyMzYwLAorICAgIDkzOSwgIDgzNiwgIDAsICAgIDAsICAgIDIzOTUsIDAsICAgIDExMzUsIDAs
ICAgIDgwMCwgIDMzNywgIDAsICAgIDAsICAgIDQyOTIsIDMzNzgsIDAsICAgIDQyMzksCisgICAg
MCwgICAgMzcsICAgMjI5MiwgMCwgICAgMCwgICAgMCwgICAgMTYyOSwgMCwgICAgNzkyLCAgMCwg
ICAgMjA3MywgMTA5NiwgNTQxLCAgMCwgICAgMjYzLCAgMTIzNywKKyAgICAzNzE5LCAxNDYzLCAw
LCAgICAwLCAgICAyMTMwLCAwLCAgICAxODYxLCA1MTIsICAwLCAgICA4NTMsICA2NDksICAyMzg4
LCAxMDM1LCAxOTA0LCAwLCAgICA5NjksCisgICAgMCwgICAgMTQ5MiwgNjE1LCAgMzY1OCwgMzEz
LCAgMzQwLCAgMTIxNywgMzUwMiwgMTU1NSwgMTQwNywgODMzLCAgOTk5LCAgMjU5MSwgMjExOCwg
MCwgICAgNzA0LAorICAgIDQyMzEsIDAsICAgIDI3OSwgIDAsICAgIDI2NDIsIDE4MjIsIDE3MTUs
IDE3MDcsIDEwMzAsIDI5MjAsIDI1NjcsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCisgICAg
MjkwMCwgMzE1NSwgMCwgICAgMzY2NywgMTc3MiwgMiwgICAgMCwgICAgMTA3OCwgMjk3NywgMCwg
ICAgMCwgICAgMCwgICAgMjcyOSwgMCwgICAgMTQ0MiwgMCwKKyAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAzOTIwLCAwLCAgICAwLCAgICAzOTM1LCAwLCAgICAxMjY4LCAwLCAgICAwLCAgICA0
NDUsICAxMzkyLCAxMzYzLCAwLAorICAgIDAsICAgIDEwNjUsIDAsICAgIDQ4OCwgIDE3NCwgIDM1
ODMsIDI0MjYsIDE2OTUsIDAsICAgIDAsICAgIDE3MDEsIDk0NywgIDI3MjUsIDUwNiwgIDE5MTIs
IDAsCisgICAgMCwgICAgMjU4NCwgNzgzLCAgMCwgICAgNzMsICAgNjMsICAgOCwgICAgMCwgICAg
NDA1OSwgMjgxLCAgMCwgICAgMCwgICAgMCwgICAgMjAwLCAgMTIzNCwgMCwKKyAgICAwLCAgICAw
LCAgICAyMDQwLCAwLCAgICAwLCAgICA0OTEsICAyNTUwLCAwLCAgICAyNzAsICAwLCAgICAwLCAg
ICAzNjMzLCAwLCAgICA1NDUsICAwLCAgICAxODI4LAorICAgIDAsICAgIDIwMTcsIDc3NiwgIDIy
NDYsIDE5NDMsIDM3NTQsIDAsICAgIDEzNTksIDMzODAsIDE3NTcsIDAsICAgIDAsICAgIDE2NTUs
IDAsICAgIDk3MiwgIDAsCisgICAgODIwLCAgMCwgICAgNzIxLCAgMCwgICAgOTAyLCAgMCwgICAg
NDM0NSwgMTM5LCAgODMzLCAgMCwgICAgNjEzLCAgMzU2NiwgMjE5MCwgMTQ1NiwgNDMxMiwgMCwK
KyAgICAwLCAgICAwLCAgICAwLCAgICAyMSwgICAwLCAgICAyODUzLCAwLCAgICAwLCAgICA2NzUs
ICAyMTA3LCAwLCAgICAyOTMsICAwLCAgICA0NzksICAwLCAgICAwLAorICAgIDIxOTYsIDE0Njgs
IDAsICAgIDAsICAgIDQ4NCwgIDAsICAgIDIxNTYsIDAsICAgIDk0NiwgIDE0NSwgIDExMjAsIDEx
ODYsIDAsICAgIDE3MiwgIDE2MzMsIDEzMzYsCisgICAgMCwgICAgMCwgICAgMjg5LCAgMzIwNSwg
MCwgICAgMjU2LCAgNTkzLCAgOTY4LCAgMCwgICAgMzk1MSwgMCwgICAgMTQxOSwgMjU2NCwgMjAw
MiwgMCwgICAgMCwKKyAgICAxNzQwLCAwLCAgICAwLCAgICA0Mjg3LCAwLCAgICAxNjUzLCAxOTIx
LCA1NzAsICAwLCAgICAxMDM0LCAwLCAgICAxMTI0LCA2NjIsICAwLCAgICAwLCAgICAxNzU1LAor
ICAgIDE0MDAsIDAsICAgIDAsICAgIDAsICAgIDMxNiwgIDAsICAgIDAsICAgIDAsICAgIDE0OTAs
IDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDE1NDEsIDQwODcsCisgICAgMCwgICAgMTM5
MywgMCwgICAgOTQ4LCAgMCwgICAgNDM5OSwgMTM2NiwgMCwgICAgMjM5LCAgMCwgICAgMCwgICAg
NDQzNCwgMCwgICAgMCwgICAgMjQ3LCAgMCwKKyAgICAzNDEwLCAwLCAgICA2NzcsICA0MTIsICAz
OTA1LCAwLCAgICAyMzYwLCAwLCAgICAzMDUyLCAwLCAgICA4MzgsICAxNTgyLCAwLCAgICAxMjIx
LCAwLCAgICAwLAorICAgIDAsICAgIDE0NTMsIDUyOCwgIDI3NzMsIDAsICAgIDUxNSwgIDAsICAg
IDIxMTIsIDM3MjAsIDEwNjgsIDM2MzYsIDM3OCwgIDAsICAgIDE3MjYsIDc3OCwgIDQwNzcsCisg
ICAgMCwgICAgMCwgICAgMCwgICAgNTUsICAgMTMxMSwgMTExNSwgMTI0MywgMCwgICAgMCwgICAg
MzczNiwgMTU4MywgMCwgICAgMjMxMywgMTQwOSwgMjEzLCAgMCwKKyAgICAzMzgyLCAwLCAgICAw
LCAgICAxMTgyLCAxNTE0LCA5OTMsICA4NTMsICAxOTYyLCAwLCAgICAwLCAgICAxMzA3LCA2OTMs
ICAwLCAgICAxMjk5LCAzODIsICAwLAorICAgIDg0MywgIDAsICAgIDAsICAgIDI5NjQsIDUxNSwg
IDExMzYsIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDEwNjQsIDEzMzMsIDAsICAgIDE2
NTUsIDMzMzEsCisgICAgMTUzMywgMzQ4OSwgMCwgICAgMTc1OCwgMjA3MSwgNTEsICAgMjA2Miwg
MCwgICAgMCwgICAgMCwgICAgMzg3NCwgNDMzMSwgMjc3MCwgMCwgICAgMTgxNSwgMCwKKyAgICAw
LCAgICAzNDYzLCAwLCAgICAxMTMzLCA2ODIsICAzMjY5LCAwLCAgICA5OTEsICA2ODUsICAwLCAg
ICAxOTU0LCA0MDg0LCA0MzUsICAwLCAgICAyNzAsICAwLAorICAgIDQ4NSwgIDQzOTAsIDEzMDYs
IDAsICAgIDc0MywgIDE5MiwgIDM4MTYsIDAsICAgIDAsICAgIDE2OTQsIDE1NDcsIDQwMDQsIDE0
NDQsIDEzNDgsIDc1NCwgIDM0NSwKKyAgICAwLCAgICAyMjMxLCA5NDUsICAxNzM3LCAyODQ2LCAw
LCAgICA4OTMsICAxMjI0LCA2NjQsICAxOTc4LCAwLCAgICA0MTAsICAzNjY1LCAxOTc3LCAxMzg5
LCAwLAorICAgIDU2OCwgIDAsICAgIDc4NSwgIDkzOCwgIDI4NjksIDE2OTksIDgyMCwgIDAsICAg
IDAsICAgIDE0LCAgIDEyNCwgIDAsICAgIDM5ODQsIDU4LCAgIDAsICAgIDIxMzMsCisgICAgMCwg
ICAgMCwgICAgNDE2NiwgMCwgICAgMTk4MywgMCwgICAgMCwgICAgMTY3MiwgMTgzNSwgMjY5Mywg
Mzk0MSwgODUwLCAgMCwgICAgMTUwNCwgMCwgICAgMCwKKyAgICAwLCAgICAxNjYsICAyMjM1LCAz
Mjk2LCAwLCAgICAzMTk3LCAxOTIxLCAxMjkzLCAwLCAgICA3ODksICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLAorICAgIDczNSwgIDQ3MiwgIDI1MjAsIDY1NywgIDE4OTMsIDEwNDQs
IDQxMzUsIDAsICAgIDE5MzksIDU1MSwgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDc1MywgIDAs
CisgICAgMCwgICAgMTIwNiwgOTg1LCAgMCwgICAgMTQ3MiwgMzc3LCAgMjE4LCAgMjI2MSwgMTU1
MywgMzk4NywgMTYyMiwgMCwgICAgNDM5NSwgMjc1OCwgMTQ3MSwgNDMyOSwKKyAgICAxMTAsICAx
OTUxLCAzMDgsICAyMTIsICAzMTIsICAwLCAgICAzNTMyLCAxODQ2LCAxNzM4LCAwLCAgICAyMDM0
LCAwLCAgICAxMDAyLCAyNDgsICAxOTM1LCAwLAorICAgIDAsICAgIDExMDUsIDAsICAgIDAsICAg
IDQyNTEsIDMxNSwgIDAsICAgIDE2NywgIDI1MDUsIDM2MSwgIDAsICAgIDMxODgsIDQyMiwgIDAs
ICAgIDAsICAgIDAsCisgICAgMCwgICAgMCwgICAgMCwgICAgMTYzOSwgMCwgICAgMTE3OCwgMTY4
MSwgMzQ2NCwgMTExMywgOTYyLCAgMCwgICAgMCwgICAgMTE2NCwgODAzLCAgODA3LCAgMCwKKyAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAxNTQxLCAwLCAgICAwLCAgICA3
MjMsICAwLCAgICAyNTUsICAwLCAgICAwLCAgICAxOTYsICAwLAorICAgIDAsICAgIDEyMzksIDQz
MzIsIDAsICAgIDE2MSwgIDAsICAgIDAsICAgIDAsICAgIDEyLCAgIDY2MywgIDg5OSwgIDEzOTYs
IDAsICAgIDcwNiwgIDM5MjUsIDM5NDQsCisgICAgMCwgICAgMTU4MCwgNTgwLCAgMCwgICAgNzcw
LCAgMCwgICAgMCwgICAgMCwgICAgMTMwOCwgMCwgICAgMCwgICAgMzI0NSwgMCwgICAgMTUwOSwg
MTU4MSwgNDA3NCwKKyAgICA3OTYsICAwLCAgICA2NywgICAxOTkxLCAyMDk5LCAwLCAgICAwLCAg
ICA3NTYsICAxMzMyLCAwLCAgICAzMTAwLCAxNjg1LCA0NzMsICAwLCAgICAwLCAgICAzNTU2LAor
ICAgIDMxMCwgIDE3NDIsIDAsICAgIDk5LCAgIDAsICAgIDAsICAgIDAsICAgIDE2MTUsIDEwNDUs
IDAsICAgIDAsICAgIDQyOTMsIDAsICAgIDAsICAgIDYzLCAgIDE0NTQsCisgICAgMTIwMSwgMTQy
MywgMzk1OSwgMCwgICAgMCwgICAgMTU1MCwgMTQwOSwgMCwgICAgMzM4LCAgMCwgICAgMCwgICAg
NDA4NCwgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAxODA4LCAwLCAgICAwLCAgICA1NDQsICAw
LCAgICAyNDQ1LCAxMTgyLCAxMDk1LCA0NSwgICAwLCAgICAyMTQzLCAwLCAgICAxMjk3LCAzOTMw
LCAxNjE4LCA0MjYyLAorICAgIDI3MSwgIDk0NSwgIDI1MDIsIDAsICAgIDAsICAgIDMyMjgsIDAs
ICAgIDAsICAgIDE5MjEsIDAsICAgIDAsICAgIDAsICAgIDUyLCAgIDE3MDQsIDUxMCwgIDU1NiwK
KyAgICA1NzEsICAwLCAgICA0MTI0LCAwLCAgICAyMTAyLCAzNzk2LCAwLCAgICA4ODksICAwLCAg
ICAwLCAgICA0NCwgICAxOTM4LCA2MjksICAyMjQsICAwLCAgICAwLAorICAgIDAsICAgIDAsICAg
IDM4NSwgIDE1NTQsIDAsICAgIDIyMjgsIDEzOSwgIDAsICAgIDYyNywgIDE5NzIsIDMzNSwgIDYy
LCAgIDY2OSwgIDE3NzMsIDAsICAgIDIwODMsCisgICAgMTM2NiwgMCwgICAgMTQ3MSwgMCwgICAg
NDk4LCAgMzk4OCwgMCwgICAgNTIyLCAgMCwgICAgMjA1LCAgMTYwNiwgMTc1NywgMzAyMywgMCwg
ICAgMTAxMCwgNTY0LAorICAgIDEwNywgIDYyOCwgIDE4ODQsIDAsICAgIDM0NjEsIDEzNjksIDU4
NSwgIDAsICAgIDE3MjUsIDM0ODMsIDMwMjQsIDY1MywgIDQyNzgsIDE2MDIsIDg4OSwgIDM3MiwK
KyAgICAyMjAsICAxMTk4LCA0NjAsICAwLCAgICAxMTY1LCAwLCAgICA4NjMsICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICA0OTYsICAzNTYzLCAxMDQ2LCAwLCAgICAwLAorICAgIDAsICAgIDAsICAg
IDE3NDUsIDExNTgsIDIwODksIDEyNSwgIDg1NywgIDAsICAgIDIxOTUsIDAsICAgIDYxOSwgIDQy
OTgsIDAsICAgIDAsICAgIDAsICAgIDczMiwKKyAgICAzMTMsICA3MTEsICAwLCAgICAxNjk0LCAz
NzIsICAwLCAgICAxMzI2LCA5MzAsICA0MDA5LCAxMjI0LCAwLCAgICAxMDkwLCAzODg4LCAyMDA4
LCAxMzkwLCAzMDcwLAorICAgIDIwOTksIDI4MTUsIDM1MzgsIDM1NzMsIDE3MTUsIDQzNzMsIDAs
ICAgIDAsICAgIDE0NzQsIDEwNzYsIDI3NjAsIDE1NDIsIDAsICAgIDg2MSwgIDAsICAgIDAsCisg
ICAgMCwgICAgMCwgICAgMCwgICAgOTQ0LCAgNDIwMywgOTkwLCAgMzQ5OSwgMCwgICAgMCwgICAg
MTc3LCAgMTY0MiwgMCwgICAgMTIyMiwgMCwgICAgMTk2LCAgMzczMSwKKyAgICAwLCAgICAwLCAg
ICAxODU4LCAwLCAgICAwLCAgICAyOTcxLCAwLCAgICA2NzgsICAwLCAgICAzMzgwLCA2MDEsICA2
OTgsICAyOTE1LCAzNzM0LCAwLCAgICAyMDY1LAorICAgIDAsICAgIDAsICAgIDI3ODAsIDE0Nzks
IDAsICAgIDAsICAgIDE2MjQsIDAsICAgIDAsICAgIDAsICAgIDI5NTcsIDI2NjAsIDM5NzAsIDAs
ICAgIDE5NiwgIDM5MiwKKyAgICAwLCAgICA3NTQsICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAx
NjAxLCAxNDA1LCAyODg0LCAxNDEzLCA0MTg1LCAwLCAgICAxODQ0LCAxMDQsICAxMDA3LCAyMDU0
LAorICAgIDAsICAgIDAsICAgIDcwMCwgIDAsICAgIDMzNiwgIDAsICAgIDM2MzUsIDIwMiwgIDAs
ICAgIDAsICAgIDAsICAgIDE0NDksIDc5OCwgIDc1OCwgIDUyMiwgIDI1NDQsCisgICAgMCwgICAg
MzQsICAgMCwgICAgMjA5MiwgNDM0LCAgMTQ2LCAgMCwgICAgMCwgICAgNDI5NCwgMCwgICAgNDI3
NiwgODYzLCAgMCwgICAgMzIyOCwgMCwgICAgNzI1LAorICAgIDQ0MjAsIDk4NywgIDAsICAgIDE4
ODIsIDAsICAgIDE4ODEsIDM3OTcsIDE3NjQsIDIwMjQsIDI2OTAsIDAsICAgIDIyMCwgIDAsICAg
IDU0OSwgIDExMDYsIDUwNSwKKyAgICAxMjYwLCAwLCAgICAwLCAgICAyMTEwLCAzMjczLCAwLCAg
ICA3NjgsICAyMDg2LCAwLCAgICA3OTUsICAzMzU3LCA0MzY4LCAxNDIsICAwLCAgICAzMDMwLCAx
MCwKKyAgICAxMTA5LCAxMTkyLCAwLCAgICAzODE3LCAzMjA5LCAyMjY1LCA5ODMsICAxNzAsICAw
LCAgICAwLCAgICAxNTgyLCAwLCAgICAwLCAgICAwLCAgICA0ODAsICA5NDMsCisgICAgMCwgICAg
MTI5NSwgMTIxNiwgMTQ2MCwgMTE5MywgMCwgICAgMCwgICAgMzY4LCAgMTM4NiwgMzg4OSwgNzY0
LCAgMCwgICAgMTMxMCwgMCwgICAgMjEyNiwgMTExOCwKKyAgICAxMzU1LCAwLCAgICAxNDg2LCAx
MDU2LCAyOTY0LCAxNTk2LCA0MDU5LCAwLCAgICAwLCAgICAyMTMxLCAzNDE0LCAyOSwgICA5MTAs
ICA1NTUsICAxODMwLCA5ODIsCisgICAgMjg5NCwgMzU1NywgMCwgICAgMjk1MCwgMjEyNywgMjk4
MiwgMzYwLCAgMCwgICAgMCwgICAgMTIwNCwgMCwgICAgMTE3MCwgMCwgICAgMCwgICAgMTI0Miwg
MjgyLAorICAgIDEwNTIsIDE5NDIsIDAsICAgIDIxMjQsIDAsICAgIDI4OSwgIDUxMSwgIDUyNywg
IDAsICAgIDAsICAgIDQzMTQsIDM2MTEsIDAsICAgIDkxMSwgIDExMDAsIDAsCisgICAgMTE4LCAg
NDc5LCAgMTg3NCwgMzU0MSwgMzQ0LCAgMjU5LCAgMzIwMiwgMCwgICAgMzE4MiwgMTI3LCAgMTgx
MywgMTQ3NiwgMCwgICAgMCwgICAgMCwgICAgMCwKKyAgICAyOTQ0LCA0NjgsICAwLCAgICA1MjEs
ICAwLCAgICA1NzgsICAwLCAgICA4MDgsICAwLCAgICA0NTAsICAxMDU0LCA0MjUsICA4NTAsICAx
MTk3LCAwLCAgICA3MTUsCisgICAgMCwgICAgMTIwMywgNDEwOSwgMjExMCwgMCwgICAgMCwgICAg
MTA5MywgMCwgICAgMjAyMywgNzYwLCAgMTQ3MywgMCwgICAgMCwgICAgMTk0NCwgMCwgICAgNzIs
CisgICAgMCwgICAgMTUxOSwgMSwgICAgMzA4MywgNDQwLCAgMTI5NCwgNjcxLCAgNzM5LCAgNDE3
OSwgMTQwNywgMCwgICAgMCwgICAgMzQ4MiwgMTM1NiwgMTM0NSwgMjA5NCwKKyAgICAwLCAgICAy
MDksICA3MzIsICAwLCAgICAxMTM0LCAxMjMwLCAzNTcwLCAxMzg2LCAxODA2LCA0MjQsICAzMDIs
ICAxNjA0LCA2NjIsICAyNjM1LCAwLCAgICAwLAorICAgIDE0NjksIDAsICAgIDgyMCwgIDAsICAg
IDE2MDAsIDAsICAgIDQ3LCAgIDg5NCwgIDEzODgsIDQyODIsIDAsICAgIDg1NSwgIDI2NTksIDAs
ICAgIDI3MDcsIDMxODQsCisgICAgMzM4NCwgMCwgICAgMCwgICAgNDcsICAgMCwgICAgMCwgICAg
MTQ1NCwgMTY0NiwgOTU4LCAgNDI2MiwgMCwgICAgMCwgICAgMCwgICAgMTYzMCwgMCwgICAgMCwK
KyAgICAwLCAgICAzNzM4LCAyOTIwLCAwLCAgICAyOTY1LCAwLCAgICAzNjIsICAwLCAgICAwLCAg
ICAwLCAgICAxMDI2LCAwLCAgICA1NDcsICA0Mjk3LCAxODk3LCA5NzMsCisgICAgMTc3NSwgMCwg
ICAgMzQ5NCwgMjcxNCwgMzQzMCwgODUyLCAgMTQ5NywgMTQzMiwgMCwgICAgNDE1MCwgMjEyMywg
NDAsICAgMTI1NCwgNjk3LCAgOTEyLCAgMCwKKyAgICA0MjExLCAwLCAgICA4NzgsICAwLCAgICAx
MzQ2fTsKIAogaW50IE1hbmdsZWRIYXNoRyhjb25zdCBjaGFyICprZXksIGNvbnN0IGludCAqVCkK
IHsKQEAgLTI5Myw3ICszMTksNyBAQCBpbnQgTWFuZ2xlZEhhc2hHKGNvbnN0IGNoYXIgKmtleSwg
Y29uc3QgaW50ICpUKQogICAgIGZvciAoaW50IGkgPSAwOyBrZXlbaV0gIT0gJ1wwJzsgaSsrKQog
ICAgIHsKICAgICAgICAgc3VtICs9IFRbaV0gKiBrZXlbaV07Ci0gICAgICAgIHN1bSAlPSA0MDIy
OworICAgICAgICBzdW0gJT0gNDQzNzsKICAgICB9CiAgICAgcmV0dXJuIG1hbmdsZWRrR1tzdW1d
OwogfQpAQCAtMzAzLDM0ICszMjksMzYgQEAgaW50IE1hbmdsZWRQZXJmZWN0SGFzaChjb25zdCBj
aGFyICprZXkpCiAgICAgaWYgKHN0cmxlbihrZXkpID4gMzcpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgcmV0dXJuIChNYW5nbGVkSGFzaEcoa2V5LCBtYW5nbGVka1QxKSArIE1hbmdsZWRIYXNo
RyhrZXksIG1hbmdsZWRrVDIpKSAlIDQwMjI7CisgICAgcmV0dXJuIChNYW5nbGVkSGFzaEcoa2V5
LCBtYW5nbGVka1QxKSArIE1hbmdsZWRIYXNoRyhrZXksIG1hbmdsZWRrVDIpKSAlIDQ0Mzc7CiB9
CiAKLWNvbnN0ZXhwciBpbnQgdW5tYW5nbGVka1QxW10gPSB7MTQ0LCAxMDYsIDMwNiwgMTQ4LCAx
MzEsIDIxOSwgMjEyLCA0NSwgIDI4NywgMzQxLCAyNzcsIDIwLCAgMTExLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA1OCwgIDIwOCwgMTE5LCAxNCwgIDE3NSwgMzAyLCAxMDAsIDIw
OSwgMjk1LCAyNjcsIDAsICAgMjI5LCAxODB9OwotY29uc3RleHByIGludCB1bm1hbmdsZWRrVDJb
XSA9IHsxMjEsIDEyMiwgMzQsIDY1LCAgMzE5LCA2OSwgIDE2MywgNjAsIDI0NiwgNjcsICAyOTEs
IDE5NiwgMTE5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMjQsIDExNywgNDEs
IDM2MCwgMzA5LCAyMTAsIDg4LCAgOTgsIDI0MiwgMjQxLCAyNzgsIDEwLCAgMX07Citjb25zdGV4
cHIgaW50IHVubWFuZ2xlZGtUMVtdID0gezE2MiwgOTgsICAyMDAsIDE3LCAyNjMsIDEzNywgMzU0
LCAzNjQsIDI0LCAgMTQ5LCA0MCwgIDQwLCAgMTcwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyNjcsIDM4NywgMjU1LCA3LCAgNTUsICAxMDgsIDE1MiwgMjcsICAxNTQsIDEwNSwg
MzQ5LCAyMjksIDIyOX07Citjb25zdGV4cHIgaW50IHVubWFuZ2xlZGtUMltdID0gezI5MCwgMzM4
LCAzMDEsIDI4NCwgMTE3LCAzMDMsIDgzLCAgMTUwLCAzODksIDM1MCwgMzIzLCAzMzAsIDU4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMTYsIDMxMCwgMTA3LCAzMCwgIDY1LCAg
MTQsICAzMTAsIDgsICAgMjk4LCAzNjUsIDQwLCAgMTc0LCA4M307CiBjb25zdGV4cHIgaW50IHVu
bWFuZ2xlZGtHW10gID0gewotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMTY5LCAwLCAgIDIxMywg
MCwgICAwLCAgIDE0NywgMCwgICAzNjQsIDAsICAgODMsICAyNzEsIDAsICAgMCwgICAwLCAgIDAs
Ci0gICAgMjYsICAwLCAgIDE5MCwgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDg0LCAgNiwgICAw
LCAgIDAsICAgNDcsICAwLCAgIDAsICAgMTcxLCAwLCAgIDM2LCAgNzQsCi0gICAgMjM2LCAwLCAg
IDgyLCAgMCwgICAwLCAgIDAsICAgNjUsICAxODksIDEyMSwgMCwgICAwLCAgIDAsICAgMywgICA2
NSwgIDI0NCwgMzcsICAzMTcsIDcxLCAgMzI3LAotICAgIDAsICAgMTMzLCAwLCAgIDczLCAgMCwg
ICAzMzcsIDAsICAgMCwgICA3NywgIDAsICAgMCwgICA5OCwgIDAsICAgMCwgICA0NSwgIDAsICAg
NDEsICAwLCAgIDUxLAotICAgIDMzOSwgMjMsICAwLCAgIDAsICAgMjQwLCAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMTg2LCAwLCAgIDAsICAgMCwgICAxMDMsIDQyLCAgMTg0LCAwLCAgIDAsCi0g
ICAgMzUwLCAwLCAgIDgyLCAgMjUsICAxMDUsIDYxLCAgMCwgICAwLCAgIDExOSwgMCwgICA2OSwg
IDE3NywgMCwgICAzNjAsIDM0NCwgMCwgICAwLCAgIDAsICAgMCwKLSAgICAxNTcsIDAsICAgNDEs
ICAwLCAgIDAsICAgMCwgICAwLCAgIDg3LCAgMzEzLCAwLCAgIDE0LCAgMTIsICAwLCAgIDAsICAg
MCwgICAxNzUsIDI4NiwgMCwgICAwLAotICAgIDEyMCwgMCwgICAxMTEsIDAsICAgMCwgICAwLCAg
IDAsICAgMjkxLCAwLCAgIDE4OCwgMjcwLCAzMDcsIDM1NiwgMCwgICA1LCAgIDU0LCAgMTMwLCAy
MCwgIDQ3LAotICAgIDEyMywgMCwgICAxNDksIDMwOCwgMTIwLCAzOSwgIDE2NSwgMzUxLCAxMzEs
IDAsICAgNTIsICAxMTAsIDk1LCAgODgsICAxNzIsIDAsICAgOTgsICAwLCAgIDE2OSwKLSAgICA2
NywgIDAsICAgOTMsICAzMjEsIDEzLCAgMSwgICAxNzgsIDAsICAgMjQ4LCA1MSwgIDAsICAgNjMs
ICAxODksIDE1NywgMCwgICAxMzQsIDI5OSwgMCwgICAwLAotICAgIDAsICAgMTMwLCAxOSwgIDAs
ICAgMTQxLCAwLCAgIDAsICAgMTg2LCAyODcsIDE4NCwgMCwgICAzMTQsIDAsICAgMzUyLCA2Mywg
IDEwOSwgNDksICAwLCAgIDI3NiwKLSAgICAwLCAgIDAsICAgMTksICAyODUsIDIwMiwgMTI4LCAw
LCAgIDU0LCAgMjg3LCAxOSwgIDc0LCAgMCwgICAwLCAgIDg2LCAgNzUsICAyOSwgIDEyMiwgMjcs
ICAzNywKLSAgICAxLCAgIDAsICAgMCwgICAzNTMsIDk4LCAgMCwgICA5NCwgIDEzNiwgMjA3LCAz
MCwgIDMwLCAgMTA3LCAxNzUsIDAsICAgMCwgICAwLCAgIDIyLCAgMCwgICAyNCwKLSAgICAyLCAg
IDIwLCAgMzAwLCAwLCAgIDAsICAgMjY1LCAwLCAgIDAsICAgMCwgICAxNjksIDk1LCAgOTMsICAx
NSwgIDk0LCAgMjQxLCA5NCwgIDYsICAgMCwgICAwLAotICAgIDAsICAgMzMyLCAyODMsIDAsICAg
MTMxLCAyOTksIDIsICAgMCwgICAxMjcsIDAsICAgMCwgICAyOTYsIDE4MywgMCwgICAwLCAgIDI3
NiwgMCwgICAxNTAsIDE2MywKLSAgICAxMzMsIDExMiwgMCwgICAzMzIsIDI0NSwgMTkyLCAwLCAg
IDAsICAgMTUsICA1NiwgIDAsICAgMCwgICAzNywgIDEyNSwgMCwgICAwLCAgIDAsICAgMTUsICAx
NDIsCi0gICAgMCwgICAwLCAgIDAsICAgMCwgICA1MCwgIDAsICAgMCwgICAzNDgsIDAsICAgMTEx
LCAwLCAgIDM3LCAgNTIsICA2NywgIDI2MCwgOTAsICA5OCwgIDE3NiwgMzEsCi0gICAgMCwgICAx
NzUsIDI0LCAgMCwgICAxNTgsIDAsICAgMCwgICA3NSwgIDEwOCwgMTI4LCA2MCwgIDAsICAgMTA3
LCAxMDYsIDAsICAgMCwgICA1OSwgIDMxNywgMCwKLSAgICAxNywgIDEzMiwgMCwgICAyMDMsIDAs
ICAgMCwgICAwLCAgIDkxLCAgNTAsICAxNSwgIDYyLCAgMCwgICAxMjksIDAsICAgMCwgICAxNjgs
IDI2NywgMCwgICAyNjEsCi0gICAgMjAwLCAwLCAgIDczLCAgMH07CisgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDE1LCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDE5OSwgMTY1LCAwLCAgIDAsICAgMCwKKyAgICAwLCAgIDAsICAgMjMxLCAyNDQsIDE2NCwgMCwg
ICAwLCAgIDcxLCAgMzgxLCAzNywgIDAsICAgMCwgICAxMzgsIDksICAgMzMsICAwLCAgIDYsICAg
MCwgICAwLAorICAgIDE2MywgMTAyLCAwLCAgIDAsICAgMTUyLCAwLCAgIDcwLCAgMCwgICAwLCAg
IDIwMywgMCwgICAxODEsIDAsICAgMCwgICAyMDYsIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwg
ICAwLCAgIDAsICAgNDAsICAwLCAgIDAsICAgMTE5LCAwLCAgIDAsICAgMTIyLCAwLCAgIDExNiwg
MCwgICA2NiwgIDAsICAgOTIsICAxMTYsIDAsICAgMzU1LAorICAgIDEwMSwgMCwgICAwLCAgIDAs
ICAgNzAsICAwLCAgIDAsICAgMCwgICA3OCwgIDM2NiwgMCwgICAyOCwgIDM4MywgMCwgICAwLCAg
IDI3MywgMCwgICAzOTIsIDAsCisgICAgMCwgICAwLCAgIDM2OSwgMzI1LCAwLCAgIDc0LCAgMCwg
ICAwLCAgIDI2MCwgMCwgICAwLCAgIDAsICAgMzA2LCAzMDYsIDAsICAgNjgsICAwLCAgIDEyMywg
NjEsCisgICAgMCwgICAxNDAsIDE5MCwgMCwgICAwLCAgIDAsICAgMTY1LCA4OCwgIDczLCAgMCwg
ICAzNzksIDE3LCAgODEsICA4MiwgIDM2MCwgMCwgICAxNzAsIDI4LCAgMTIwLAorICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMzE1LCA1OCwgIDU2LCAgMCwgICAzOTMsIDUwLCAgMCwgICAwLCAgIDM5
MiwgNDgsICAzMDUsIDAsICAgMCwgICAzODQsIDI0LAorICAgIDAsICAgMzgxLCAwLCAgIDAsICAg
MCwgICA3NCwgIDAsICAgMCwgICAyMjcsIDAsICAgMCwgICAxNjAsIDE3NCwgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDE5MiwgMCwgICA1OSwgIDAsICAgMCwgICAw
LCAgIDIyNSwgMzI3LCAwLCAgIDc1LCAgMTQyLCAzNjcsIDAsICAgMCwgICAxMDcsIDAsICAgMCwK
KyAgICA0OCwgIDAsICAgMCwgICA2NiwgIDQ3LCAgMCwgICAwLCAgIDAsICAgMjI4LCAzNDEsIDU4
LCAgMCwgICAxOTYsIDQwLCAgMTMwLCAyNSwgIDQxLCAgMTc5LCAxMzYsCisgICAgMywgICAwLCAg
IDExNSwgMzczLCAwLCAgIDAsICAgMzExLCAzMSwgIDAsICAgMCwgICAwLCAgIDM0OSwgMTEzLCA2
MiwgIDg5LCAgMCwgICAyMSwgIDAsICAgMjEsCisgICAgMjQsICA3NiwgIDM3OCwgMCwgICAzOTAs
IDAsICAgMTQwLCAxMjMsIDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAzMjIsIDE1MSwgMzgyLCAx
MTIsIDAsICAgMTksCisgICAgMjczLCAxMzcsIDAsICAgMCwgICA2OSwgIDIzLCAgMCwgICAwLCAg
IDE2MCwgMCwgICAzOSwgIDI2LCAgMjY5LCAzNjIsIDAsICAgMTg2LCAwLCAgIDEwOSwgNjIsCisg
ICAgODIsICAwLCAgIDU3LCAgMzcsICAwLCAgIDE1NSwgNjQsICAzOTksIDE0NiwgMTkxLCAwLCAg
IDAsICAgMjgyLCAwLCAgIDAsICAgMTYzLCAzOTIsIDE1MywgMTkyLAorICAgIDEyNywgMCwgICA5
OCwgIDAsICAgNzIsICAwLCAgIDAsICAgMTI4LCAyNCwgIDM5NiwgMCwgICA0MSwgIDcxLCAgMCwg
ICAwLCAgIDE3LCAgMTMzLCAwLCAgIDM4MSwKKyAgICAxODAsIDMxMCwgMTE1LCAxMjQsIDE2Niwg
NywgICAwLCAgIDAsICAgMCwgICAwLCAgIDgxLCAgMjk1LCAzNjksIDAsICAgMjMwLCAxMzQsIDg2
LCAgMCwgICAxMjEsCisgICAgMCwgICAwLCAgIDIwNiwgMCwgICAwLCAgIDE4OCwgODUsICAyMzAs
IDE5NywgMTE4LCAwLCAgIDAsICAgMTAsICAzOTQsIDU5LCAgOTYsICAwLCAgIDM3MSwgNTMsCisg
ICAgMCwgICAzNjksIDAsICAgMzY0LCAwLCAgIDIwOSwgMCwgICAxNzgsIDE5NSwgMjI4LCAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDE2NywgNDEsCisgICAgODksICAwLCAgIDc2
LCAgMCwgICAxNzIsIDAsICAgMCwgICAxNzYsIDAsICAgNDgsICAwLCAgIDE5OCwgMCwgICAyNjUs
IDU2LCAgMTU3LCAwLCAgIDI4MywgMCwKKyAgICAxMDIsIDIxNywgMCwgICAwLCAgIDAsICAgMzgs
ICAxNDYsIDAsICAgMTEyLCAwLCAgIDQxLCAgMCwgICAwLCAgIDAsICAgMjAwLCAwLCAgIDE5LCAg
NDMsICAwLAorICAgIDgyLCAgMzk2LCA1N307CiAKIGludCBVbm1hbmdsZWRIYXNoRyhjb25zdCBj
aGFyICprZXksIGNvbnN0IGludCAqVCkKIHsKQEAgLTMzOSw3ICszNjcsNyBAQCBpbnQgVW5tYW5n
bGVkSGFzaEcoY29uc3QgY2hhciAqa2V5LCBjb25zdCBpbnQgKlQpCiAgICAgZm9yIChpbnQgaSA9
IDA7IGtleVtpXSAhPSAnXDAnOyBpKyspCiAgICAgewogICAgICAgICBzdW0gKz0gVFtpXSAqIGtl
eVtpXTsKLSAgICAgICAgc3VtICU9IDM2NTsKKyAgICAgICAgc3VtICU9IDQwMjsKICAgICB9CiAg
ICAgcmV0dXJuIHVubWFuZ2xlZGtHW3N1bV07CiB9CkBAIC0zNDksNyArMzc3LDcgQEAgaW50IFVu
bWFuZ2xlZFBlcmZlY3RIYXNoKGNvbnN0IGNoYXIgKmtleSkKICAgICBpZiAoc3RybGVuKGtleSkg
PiAyNikKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gKFVubWFuZ2xlZEhhc2hHKGtl
eSwgdW5tYW5nbGVka1QxKSArIFVubWFuZ2xlZEhhc2hHKGtleSwgdW5tYW5nbGVka1QyKSkgJSAz
NjU7CisgICAgcmV0dXJuIChVbm1hbmdsZWRIYXNoRyhrZXksIHVubWFuZ2xlZGtUMSkgKyBVbm1h
bmdsZWRIYXNoRyhrZXksIHVubWFuZ2xlZGtUMikpICUgNDAyOwogfQogCiB9ICAvLyBuYW1lc3Bh
Y2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL0luaXRpYWxpemUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvSW5pdGlhbGl6ZS5jcHAKaW5kZXggNjM4ZjVlMDFhY2ZkMzhiYTllNjBh
YjNkMTdiNjEyMTA3MTcxNTMzYi4uN2I2MWU0Y2ZhYTYzMDcyMDJiOWZiNDNmNWIzNzYyMzRlZDhi
ZmMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvSW5pdGlhbGl6ZS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5pdGlhbGl6ZS5jcHAKQEAgLTU3LDYgKzU3LDEwIEBAIHZv
aWQgSW5pdEV4dGVuc2lvbkJlaGF2aW9yKGNvbnN0IFNoQnVpbHRJblJlc291cmNlcyAmcmVzb3Vy
Y2VzLCBURXh0ZW5zaW9uQmVoYXZpCiAgICAgewogICAgICAgICBleHRCZWhhdmlvcltURXh0ZW5z
aW9uOjpOVl9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2hdID0gRUJoVW5kZWZpbmVkOwogICAgIH0K
KyAgICBpZiAocmVzb3VyY2VzLk5WX3NoYWRlcl9ub3BlcnNwZWN0aXZlX2ludGVycG9sYXRpb24p
CisgICAgeworICAgICAgICBleHRCZWhhdmlvcltURXh0ZW5zaW9uOjpOVl9zaGFkZXJfbm9wZXJz
cGVjdGl2ZV9pbnRlcnBvbGF0aW9uXSA9IEVCaFVuZGVmaW5lZDsKKyAgICB9CiAgICAgaWYgKHJl
c291cmNlcy5BUk1fc2hhZGVyX2ZyYW1lYnVmZmVyX2ZldGNoKQogICAgIHsKICAgICAgICAgZXh0
QmVoYXZpb3JbVEV4dGVuc2lvbjo6QVJNX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaF0gPSBFQmhV
bmRlZmluZWQ7CkBAIC0xMDksNiArMTEzLDEwIEBAIHZvaWQgSW5pdEV4dGVuc2lvbkJlaGF2aW9y
KGNvbnN0IFNoQnVpbHRJblJlc291cmNlcyAmcmVzb3VyY2VzLCBURXh0ZW5zaW9uQmVoYXZpCiAg
ICAgewogICAgICAgICBleHRCZWhhdmlvcltURXh0ZW5zaW9uOjpXRUJHTF92aWRlb190ZXh0dXJl
XSA9IEVCaFVuZGVmaW5lZDsKICAgICB9CisgICAgaWYgKHJlc291cmNlcy5BUFBMRV9jbGlwX2Rp
c3RhbmNlKQorICAgIHsKKyAgICAgICAgZXh0QmVoYXZpb3JbVEV4dGVuc2lvbjo6QVBQTEVfY2xp
cF9kaXN0YW5jZV0gPSBFQmhVbmRlZmluZWQ7CisgICAgfQogfQogCiB2b2lkIFJlc2V0RXh0ZW5z
aW9uQmVoYXZpb3IoY29uc3QgU2hCdWlsdEluUmVzb3VyY2VzICZyZXNvdXJjZXMsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9PdXRw
dXRHTFNMQmFzZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9PdXRwdXRHTFNMQmFzZS5jcHAKaW5kZXggNjQ1MWNjMWZkZGFlM2E5NzFlNTlhNmVi
MjgyOWZhODIwZmFkODkyYy4uN2M4MjMwOTA0ZWJlMjgxZDg3MTdmM2ZiOWVhMWEwOWUwMjNmNjI0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvT3V0cHV0R0xTTEJhc2UuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL091dHB1dEdMU0xCYXNlLmNwcApAQCAtMTA5MCw4ICsxMDkw
LDEyIEBAIGJvb2wgVE91dHB1dEdMU0xCYXNlOjp2aXNpdERlY2xhcmF0aW9uKFZpc2l0IHZpc2l0
LCBUSW50ZXJtRGVjbGFyYXRpb24gKm5vZGUpCiAgICAgewogICAgICAgICBjb25zdCBUSW50ZXJt
U2VxdWVuY2UgJnNlcXVlbmNlID0gKihub2RlLT5nZXRTZXF1ZW5jZSgpKTsKICAgICAgICAgVElu
dGVybVR5cGVkICp2YXJpYWJsZSAgICAgICAgICA9IHNlcXVlbmNlLmZyb250KCktPmdldEFzVHlw
ZWQoKTsKLSAgICAgICAgd3JpdGVMYXlvdXRRdWFsaWZpZXIodmFyaWFibGUpOwotICAgICAgICBU
SW50ZXJtU3ltYm9sICpzeW1ib2xOb2RlID0gdmFyaWFibGUtPmdldEFzU3ltYm9sTm9kZSgpOwor
ICAgICAgICBUSW50ZXJtU3ltYm9sICpzeW1ib2xOb2RlICAgICAgID0gdmFyaWFibGUtPmdldEFz
U3ltYm9sTm9kZSgpOworICAgICAgICBpZiAoIXN5bWJvbE5vZGUgfHwgc3ltYm9sTm9kZS0+Z2V0
TmFtZSgpICE9ICJnbF9DbGlwRGlzdGFuY2UiKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBn
bF9DbGlwRGlzdGFuY2UgcmUtZGVjbGFyYXRpb24gZG9lc24ndCBuZWVkIGxheW91dC4KKyAgICAg
ICAgICAgIHdyaXRlTGF5b3V0UXVhbGlmaWVyKHZhcmlhYmxlKTsKKyAgICAgICAgfQogICAgICAg
ICB3cml0ZVZhcmlhYmxlVHlwZSh2YXJpYWJsZS0+Z2V0VHlwZSgpLCBzeW1ib2xOb2RlID8gJnN5
bWJvbE5vZGUtPnZhcmlhYmxlKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBmYWxzZSk7CiAgICAgICAgIGlmICh2YXJpYWJsZS0+Z2V0QXNTeW1ib2xOb2RlKCkgPT0gbnVs
bHB0ciB8fApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvT3V0cHV0SExTTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9PdXRwdXRITFNMLmNwcAppbmRleCA4OWRjZGM5NDM4ZDg0MGE0
YjRhMDU2OWI5YmMyY2QwYWMxMmE4NGRjLi5jY2YwMDA4ZjdmNTJjZWFmZjZmNjE4OWUyZjgzMTdk
MTMwYmUyZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9PdXRwdXRITFNMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9PdXRwdXRITFNMLmNwcApAQCAtODYsNiArODYsMzMg
QEAgYm9vbCBJc0luU3RkMTQwVW5pZm9ybUJsb2NrKFRJbnRlcm1UeXBlZCAqbm9kZSkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK2NvbnN0IFRJbnRlcmZhY2VCbG9jayAqR2V0SW50ZXJmYWNlQmxv
Y2tPZlVuaWZvcm1CbG9ja05lYXJlc3RJbmRleE9wZXJhdG9yKFRJbnRlcm1UeXBlZCAqbm9kZSkK
K3sKKyAgICBjb25zdCBUSW50ZXJtQmluYXJ5ICpiaW5hcnlOb2RlID0gbm9kZS0+Z2V0QXNCaW5h
cnlOb2RlKCk7CisgICAgaWYgKGJpbmFyeU5vZGUpCisgICAgeworICAgICAgICBpZiAoYmluYXJ5
Tm9kZS0+Z2V0T3AoKSA9PSBFT3BJbmRleERpcmVjdEludGVyZmFjZUJsb2NrKQorICAgICAgICB7
CisgICAgICAgICAgICByZXR1cm4gYmluYXJ5Tm9kZS0+Z2V0TGVmdCgpLT5nZXRUeXBlKCkuZ2V0
SW50ZXJmYWNlQmxvY2soKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGNvbnN0IFRJbnRlcm1T
eW1ib2wgKnN5bWJvbE5vZGUgPSBub2RlLT5nZXRBc1N5bWJvbE5vZGUoKTsKKyAgICBpZiAoc3lt
Ym9sTm9kZSkKKyAgICB7CisgICAgICAgIGNvbnN0IFRWYXJpYWJsZSAmdmFyaWFibGUgPSBzeW1i
b2xOb2RlLT52YXJpYWJsZSgpOworICAgICAgICBjb25zdCBUVHlwZSAmdmFyaWFibGVUeXBlID0g
dmFyaWFibGUuZ2V0VHlwZSgpOworCisgICAgICAgIGlmICh2YXJpYWJsZVR5cGUuZ2V0UXVhbGlm
aWVyKCkgPT0gRXZxVW5pZm9ybSAmJgorICAgICAgICAgICAgdmFyaWFibGUuc3ltYm9sVHlwZSgp
ID09IFN5bWJvbFR5cGU6OlVzZXJEZWZpbmVkKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gdmFyaWFibGVUeXBlLmdldEludGVyZmFjZUJsb2NrKCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogY29uc3QgY2hhciAqR2V0SExTTEF0b21pY0Z1bmN0
aW9uU3RyaW5nQW5kTGVmdFBhcmVudGhlc2lzKFRPcGVyYXRvciBvcCkKIHsKICAgICBzd2l0Y2gg
KG9wKQpAQCAtNjIzLDYgKzY1MCwxMiBAQCB2b2lkIE91dHB1dEhMU0w6OmhlYWRlcihUSW5mb1Np
bmtCYXNlICZvdXQsCiAgICAgICAgIG1hcHBlZFN0cnVjdHMgPSBnZW5lcmF0ZVN0cnVjdE1hcHBp
bmcoc3RkMTQwU3RydWN0cyk7CiAgICAgfQogCisgICAgLy8gU3VwcHJlc3Mgc29tZSBjb21tb24g
d2FybmluZ3M6CisgICAgLy8gMzU1NiA6IEludGVnZXIgZGl2aWRlcyBtaWdodCBiZSBtdWNoIHNs
b3dlciwgdHJ5IHVzaW5nIHVpbnRzIGlmIHBvc3NpYmxlLgorICAgIC8vIDM1NzEgOiBUaGUgcG93
KGYsIGUpIGludHJpbnNpYyBmdW5jdGlvbiB3b24ndCB3b3JrIGZvciBuZWdhdGl2ZSBmLCB1c2Ug
YWJzKGYpIG9yCisgICAgLy8gICAgICAgIGNvbmRpdGlvbmFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZh
bHVlcyBpZiB5b3UgZXhwZWN0IHRoZW0uCisgICAgb3V0IDw8ICIjcHJhZ21hIHdhcm5pbmcoIGRp
c2FibGU6IDM1NTYgMzU3MSApXG4iOworCiAgICAgb3V0IDw8IG1TdHJ1Y3R1cmVITFNMLT5zdHJ1
Y3RzSGVhZGVyKCk7CiAKICAgICBtUmVzb3VyY2VzSExTTC0+dW5pZm9ybXNIZWFkZXIob3V0LCBt
T3V0cHV0VHlwZSwgbVJlZmVyZW5jZWRVbmlmb3JtcywgbVN5bWJvbFRhYmxlKTsKQEAgLTE2MTAs
NiArMTY0MywyMSBAQCBib29sIE91dHB1dEhMU0w6OnZpc2l0QmluYXJ5KFZpc2l0IHZpc2l0LCBU
SW50ZXJtQmluYXJ5ICpub2RlKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgIG91dHB1dFRyaXBsZXQob3V0LCB2aXNpdCwgIiIsICJbIiwgIl0iKTsKKyAg
ICAgICAgICAgICAgICBpZiAodmlzaXQgPT0gUG9zdFZpc2l0KQorICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgY29uc3QgVEludGVyZmFjZUJsb2NrICppbnRlcmZhY2VCbG9j
ayA9CisgICAgICAgICAgICAgICAgICAgICAgICBHZXRJbnRlcmZhY2VCbG9ja09mVW5pZm9ybUJs
b2NrTmVhcmVzdEluZGV4T3BlcmF0b3Iobm9kZS0+Z2V0TGVmdCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGludGVyZmFjZUJsb2NrICYmCisgICAgICAgICAgICAgICAgICAgICAgICBtUmVz
b3VyY2VzSExTTC0+c2hvdWxkVHJhbnNsYXRlVW5pZm9ybUJsb2NrVG9TdHJ1Y3R1cmVkQnVmZmVy
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICppbnRlcmZhY2VCbG9jaykpCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRGaWVsZCAqZmll
bGQgPSBpbnRlcmZhY2VCbG9jay0+ZmllbGRzKClbMF07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoZmllbGQtPnR5cGUoKS0+aXNNYXRyaXgoKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIi5fbWF0cml4XyIgPDwgRGVj
b3JhdGUoZmllbGQtPm5hbWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CkBAIC0xNjI2LDYgKzE2NzQsMjEgQEAgYm9vbCBPdXRwdXRITFNM
Ojp2aXNpdEJpbmFyeShWaXNpdCB2aXNpdCwgVEludGVybUJpbmFyeSAqbm9kZSkKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBvdXRwdXRUcmlwbGV0KG91
dCwgdmlzaXQsICIiLCAiWyIsICJdIik7CisgICAgICAgICAgICAgICAgaWYgKHZpc2l0ID09IFBv
c3RWaXNpdCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRJ
bnRlcmZhY2VCbG9jayAqaW50ZXJmYWNlQmxvY2sgPQorICAgICAgICAgICAgICAgICAgICAgICAg
R2V0SW50ZXJmYWNlQmxvY2tPZlVuaWZvcm1CbG9ja05lYXJlc3RJbmRleE9wZXJhdG9yKG5vZGUt
PmdldExlZnQoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcmZhY2VCbG9jayAmJgor
ICAgICAgICAgICAgICAgICAgICAgICAgbVJlc291cmNlc0hMU0wtPnNob3VsZFRyYW5zbGF0ZVVu
aWZvcm1CbG9ja1RvU3RydWN0dXJlZEJ1ZmZlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqaW50ZXJmYWNlQmxvY2spKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBURmllbGQgKmZpZWxkID0gaW50ZXJmYWNlQmxvY2stPmZpZWxkcygp
WzBdOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLT50eXBlKCktPmlzTWF0cml4
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3V0IDw8ICIuX21hdHJpeF8iIDw8IERlY29yYXRlKGZpZWxkLT5uYW1lKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTE2
ODMsNyArMTc0Niw4IEBAIGJvb2wgT3V0cHV0SExTTDo6dmlzaXRCaW5hcnkoVmlzaXQgdmlzaXQs
IFRJbnRlcm1CaW5hcnkgKm5vZGUpCiAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmdldExlZnQo
KS0+Z2V0VHlwZSgpLmdldEludGVyZmFjZUJsb2NrKCk7CiAgICAgICAgICAgICAgICAgY29uc3Qg
VEludGVybUNvbnN0YW50VW5pb24gKmluZGV4ID0gbm9kZS0+Z2V0UmlnaHQoKS0+Z2V0QXNDb25z
dGFudFVuaW9uKCk7CiAgICAgICAgICAgICAgICAgY29uc3QgVEZpZWxkICpmaWVsZCAgICAgICAg
ICAgICAgID0gaW50ZXJmYWNlQmxvY2stPmZpZWxkcygpW2luZGV4LT5nZXRJQ29uc3QoMCldOwot
ICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3RJblN0ZDE0MFVuaWZvcm1CbG9jaykKKyAgICAgICAg
ICAgICAgICBpZiAoc3RydWN0SW5TdGQxNDBVbmlmb3JtQmxvY2sgfHwKKyAgICAgICAgICAgICAg
ICAgICAgbVJlc291cmNlc0hMU0wtPnNob3VsZFRyYW5zbGF0ZVVuaWZvcm1CbG9ja1RvU3RydWN0
dXJlZEJ1ZmZlcigqaW50ZXJmYWNlQmxvY2spKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgb3V0IDw8ICJfIjsKICAgICAgICAgICAgICAgICB9CkBAIC0zNTkzLDUgKzM2
NTcsNCBAQCBjb25zdCBjaGFyICpPdXRwdXRITFNMOjpnZW5lcmF0ZU91dHB1dENhbGwoKSBjb25z
dAogICAgICAgICByZXR1cm4gImdlbmVyYXRlT3V0cHV0KCkiOwogICAgIH0KIH0KLQogfSAgLy8g
bmFtZXNwYWNlIHNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9QYXJzZUNvbnRleHQuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvUGFyc2VDb250ZXh0LmNwcAppbmRleCAxNzk1MTJl
ZGJiMGNkMTdiYjQyMzRkYWUyZTdjYTcyM2Q0NTE2ZjY5Li4zNmNkYjUxYjg0M2JhZjMyNmFmNDAw
ZjkyMGYyYzk0NWVjZjA0ZWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9QYXJzZUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1BhcnNlQ29udGV4dC5jcHAKQEAg
LTUzMCw2ICs1MzAsNyBAQCBib29sIFRQYXJzZUNvbnRleHQ6OmNoZWNrQ2FuQmVMVmFsdWUoY29u
c3QgVFNvdXJjZUxvYyAmbGluZSwgY29uc3QgY2hhciAqb3AsIFRJbgogICAgICAgICBjYXNlIEV2
cVZlcnRleEluOgogICAgICAgICBjYXNlIEV2cUdlb21ldHJ5SW46CiAgICAgICAgIGNhc2UgRXZx
RmxhdEluOgorICAgICAgICBjYXNlIEV2cU5vUGVyc3BlY3RpdmVJbjoKICAgICAgICAgY2FzZSBF
dnFTbW9vdGhJbjoKICAgICAgICAgY2FzZSBFdnFDZW50cm9pZEluOgogICAgICAgICAgICAgbWVz
c2FnZSA9ICJjYW4ndCBtb2RpZnkgYW4gaW5wdXQiOwpAQCAtMTIyMSw2ICsxMjIyLDM2IEBAIGJv
b2wgVFBhcnNlQ29udGV4dDo6ZGVjbGFyZVZhcmlhYmxlKGNvbnN0IFRTb3VyY2VMb2MgJmxpbmUs
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CisgICAgZWxzZSBp
ZiAodHlwZS0+aXNBcnJheSgpICYmIGlkZW50aWZpZXIgPT0gImdsX0NsaXBEaXN0YW5jZSIpCisg
ICAgeworICAgICAgICAvLyBnbF9DbGlwRGlzdGFuY2UgY2FuIGJlIHJlZGVjbGFyZWQgd2l0aCBz
bWFsbGVyIHNpemUgdGhhbiBnbF9NYXhDbGlwRGlzdGFuY2VzCisgICAgICAgIGNvbnN0IFRWYXJp
YWJsZSAqbWF4Q2xpcERpc3RhbmNlcyA9IHN0YXRpY19jYXN0PGNvbnN0IFRWYXJpYWJsZSAqPigK
KyAgICAgICAgICAgIHN5bWJvbFRhYmxlLmZpbmRCdWlsdEluKEltbXV0YWJsZVN0cmluZygiZ2xf
TWF4Q2xpcERpc3RhbmNlcyIpLCBtU2hhZGVyVmVyc2lvbikpOworICAgICAgICBpZiAoIW1heENs
aXBEaXN0YW5jZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFVuc3VwcG9ydGVkIGV4dGVu
c2lvbgorICAgICAgICAgICAgbmVlZHNSZXNlcnZlZENoZWNrID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlIGlmICh0eXBlLT5pc0FycmF5T2ZBcnJheXMoKSkKKyAgICAgICAgeworICAg
ICAgICAgICAgZXJyb3IobGluZSwgInJlZGVjbGFyYXRpb24gb2YgZ2xfQ2xpcERpc3RhbmNlIGFz
IGFuIGFycmF5IG9mIGFycmF5cyIsIGlkZW50aWZpZXIpOworICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHN0YXRpY19jYXN0PGludD4odHlwZS0+
Z2V0T3V0ZXJtb3N0QXJyYXlTaXplKCkpIDw9CisgICAgICAgICAgICAgICAgIG1heENsaXBEaXN0
YW5jZXMtPmdldENvbnN0UG9pbnRlcigpLT5nZXRJQ29uc3QoKSkKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKGNvbnN0IFRTeW1ib2wgKmJ1aWx0SW5TeW1ib2wgPSBzeW1ib2xUYWJsZS5maW5k
QnVpbHRJbihpZGVudGlmaWVyLCBtU2hhZGVyVmVyc2lvbikpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgbmVlZHNSZXNlcnZlZENoZWNrID0gIWNoZWNrQ2FuVXNlRXh0ZW5zaW9uKGxp
bmUsIGJ1aWx0SW5TeW1ib2wtPmV4dGVuc2lvbigpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGVycm9yKGxpbmUsICJyZWRl
Y2xhcmF0aW9uIG9mIGdsX0NsaXBEaXN0YW5jZSB3aXRoIHNpemUgPiBnbF9NYXhDbGlwRGlzdGFu
Y2VzIiwKKyAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXIpOworICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisgICAgfQogCiAgICAgaWYgKG5lZWRzUmVzZXJ2ZWRDaGVjayAm
JiAhY2hlY2tJc05vdFJlc2VydmVkKGxpbmUsIGlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9QYXJzZUNvbnRleHRfRVNTTF9hdXRvZ2VuLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9QYXJzZUNvbnRleHRfRVNTTF9hdXRvZ2Vu
LmgKaW5kZXggYTJjMmQxMzI0MTg5YTkzNjQ1MzVlYTBlYjhlYzQ4MWEwYjMyYjE4Zi4uZTdkY2Q0
ODllYzdlMDEwMzQ5NTczZjJhNzU1MDA4MDExZjY4ZDM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvUGFyc2VDb250ZXh0X0VTU0xf
YXV0b2dlbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL1BhcnNlQ29udGV4dF9FU1NMX2F1dG9nZW4uaApAQCAtMjEsNjcgKzIxLDY3IEBAIG5h
bWVzcGFjZSBCdWlsdEluR3JvdXAKIGJvb2wgaXNUZXh0dXJlT2Zmc2V0Tm9CaWFzKGNvbnN0IFRG
dW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5jLT51bmlxdWVJZCgpLmdldCgpOwot
ICAgIHJldHVybiBpZCA+PSAzMDU4ICYmIGlkIDw9IDMxMjc7CisgICAgcmV0dXJuIGlkID49IDMw
NjAgJiYgaWQgPD0gMzEyOTsKIH0KIGJvb2wgaXNUZXh0dXJlT2Zmc2V0Qmlhcyhjb25zdCBURnVu
Y3Rpb24gKmZ1bmMpCiB7CiAgICAgaW50IGlkID0gZnVuYy0+dW5pcXVlSWQoKS5nZXQoKTsKLSAg
ICByZXR1cm4gaWQgPj0gMzEyOCAmJiBpZCA8PSAzMTQ3OworICAgIHJldHVybiBpZCA+PSAzMTMw
ICYmIGlkIDw9IDMxNDk7CiB9CiBib29sIGlzVGV4dHVyZUdhdGhlck9mZnNldHNDb21wKGNvbnN0
IFRGdW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5jLT51bmlxdWVJZCgpLmdldCgp
OwotICAgIHJldHVybiBpZCA+PSAzMTg1ICYmIGlkIDw9IDMxOTc7CisgICAgcmV0dXJuIGlkID49
IDMxODcgJiYgaWQgPD0gMzE5OTsKIH0KIGJvb2wgaXNUZXh0dXJlR2F0aGVyT2Zmc2V0c05vQ29t
cChjb25zdCBURnVuY3Rpb24gKmZ1bmMpCiB7CiAgICAgaW50IGlkID0gZnVuYy0+dW5pcXVlSWQo
KS5nZXQoKTsKLSAgICByZXR1cm4gaWQgPj0gMzE5OCAmJiBpZCA8PSAzMjEzOworICAgIHJldHVy
biBpZCA+PSAzMjAwICYmIGlkIDw9IDMyMTU7CiB9CiBib29sIGlzVGV4dHVyZUdhdGhlck9mZnNl
dHMoY29uc3QgVEZ1bmN0aW9uICpmdW5jKQogewogICAgIGludCBpZCA9IGZ1bmMtPnVuaXF1ZUlk
KCkuZ2V0KCk7Ci0gICAgcmV0dXJuIGlkID49IDMxODUgJiYgaWQgPD0gMzIxMzsKKyAgICByZXR1
cm4gaWQgPj0gMzE4NyAmJiBpZCA8PSAzMjE1OwogfQogYm9vbCBpc1RleHR1cmVHYXRoZXJPZmZz
ZXRDb21wKGNvbnN0IFRGdW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5jLT51bmlx
dWVJZCgpLmdldCgpOwotICAgIHJldHVybiBpZCA+PSAzMjE0ICYmIGlkIDw9IDMyMTk7CisgICAg
cmV0dXJuIGlkID49IDMyMTYgJiYgaWQgPD0gMzIyMTsKIH0KIGJvb2wgaXNUZXh0dXJlR2F0aGVy
T2Zmc2V0Tm9Db21wKGNvbnN0IFRGdW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5j
LT51bmlxdWVJZCgpLmdldCgpOwotICAgIHJldHVybiBpZCA+PSAzMjIwICYmIGlkIDw9IDMyMjc7
CisgICAgcmV0dXJuIGlkID49IDMyMjIgJiYgaWQgPD0gMzIyOTsKIH0KIGJvb2wgaXNUZXh0dXJl
R2F0aGVyT2Zmc2V0KGNvbnN0IFRGdW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5j
LT51bmlxdWVJZCgpLmdldCgpOwotICAgIHJldHVybiBpZCA+PSAzMjE0ICYmIGlkIDw9IDMyMjc7
CisgICAgcmV0dXJuIGlkID49IDMyMTYgJiYgaWQgPD0gMzIyOTsKIH0KIGJvb2wgaXNUZXh0dXJl
R2F0aGVyKGNvbnN0IFRGdW5jdGlvbiAqZnVuYykKIHsKICAgICBpbnQgaWQgPSBmdW5jLT51bmlx
dWVJZCgpLmdldCgpOwotICAgIHJldHVybiBpZCA+PSAzMTYxICYmIGlkIDw9IDMyMjc7CisgICAg
cmV0dXJuIGlkID49IDMxNjMgJiYgaWQgPD0gMzIyOTsKIH0KIGJvb2wgaXNBdG9taWNNZW1vcnko
Y29uc3QgVEZ1bmN0aW9uICpmdW5jKQogewogICAgIGludCBpZCA9IGZ1bmMtPnVuaXF1ZUlkKCku
Z2V0KCk7Ci0gICAgcmV0dXJuIGlkID49IDMyNDQgJiYgaWQgPD0gMzI2MTsKKyAgICByZXR1cm4g
aWQgPj0gMzI0NiAmJiBpZCA8PSAzMjYzOwogfQogYm9vbCBpc0ltYWdlTG9hZChjb25zdCBURnVu
Y3Rpb24gKmZ1bmMpCiB7CiAgICAgaW50IGlkID0gZnVuYy0+dW5pcXVlSWQoKS5nZXQoKTsKLSAg
ICByZXR1cm4gaWQgPj0gMzI4NiAmJiBpZCA8PSAzMjk3OworICAgIHJldHVybiBpZCA+PSAzMjg4
ICYmIGlkIDw9IDMyOTk7CiB9CiBib29sIGlzSW1hZ2VTdG9yZShjb25zdCBURnVuY3Rpb24gKmZ1
bmMpCiB7CiAgICAgaW50IGlkID0gZnVuYy0+dW5pcXVlSWQoKS5nZXQoKTsKLSAgICByZXR1cm4g
aWQgPj0gMzI5OCAmJiBpZCA8PSAzMzA5OworICAgIHJldHVybiBpZCA+PSAzMzAwICYmIGlkIDw9
IDMzMTE7CiB9CiBib29sIGlzSW1hZ2UoY29uc3QgVEZ1bmN0aW9uICpmdW5jKQogewogICAgIGlu
dCBpZCA9IGZ1bmMtPnVuaXF1ZUlkKCkuZ2V0KCk7Ci0gICAgcmV0dXJuIGlkID49IDMyNjIgJiYg
aWQgPD0gMzMwOTsKKyAgICByZXR1cm4gaWQgPj0gMzI2NCAmJiBpZCA8PSAzMzExOwogfQogCiB9
ICAvLyBuYW1lc3BhY2UgQnVpbHRJbkdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9RdWFsaWZpZXJUeXBlcy5jcHAgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9RdWFsaWZpZXJUeXBl
cy5jcHAKaW5kZXggM2UwZDczM2ZhYzFlNGEzZTE1ZDkyNjUxNTBlYzk4ZjMyNDA5NTEwYi4uNmY1
NDlhMmYzYzlhZjI4NTQ0ZjQ4YjM3N2U1MjNjN2QwNjViODZjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvUXVhbGlmaWVyVHlwZXMu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L1F1YWxpZmllclR5cGVzLmNwcApAQCAtNDAzLDYgKzQwMywyNiBAQCBib29sIEpvaW5WYXJpYWJs
ZVN0b3JhZ2VRdWFsaWZpZXIoVFF1YWxpZmllciAqam9pbmVkUXVhbGlmaWVyLCBUUXVhbGlmaWVy
IHN0b3JhZwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAg
ICAgICAgY2FzZSBFdnFOb1BlcnNwZWN0aXZlOgorICAgICAgICB7CisgICAgICAgICAgICBzd2l0
Y2ggKHN0b3JhZ2VRdWFsaWZpZXIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fz
ZSBFdnFDZW50cm9pZDoKKyAgICAgICAgICAgICAgICAgICAgKmpvaW5lZFF1YWxpZmllciA9IEV2
cU5vUGVyc3BlY3RpdmU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIGNhc2UgRXZxVmVydGV4T3V0OgorICAgICAgICAgICAgICAgIGNhc2UgRXZxR2VvbWV0cnlP
dXQ6CisgICAgICAgICAgICAgICAgICAgICpqb2luZWRRdWFsaWZpZXIgPSBFdnFOb1BlcnNwZWN0
aXZlT3V0OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNl
IEV2cUZyYWdtZW50SW46CisgICAgICAgICAgICAgICAgY2FzZSBFdnFHZW9tZXRyeUluOgorICAg
ICAgICAgICAgICAgICAgICAqam9pbmVkUXVhbGlmaWVyID0gRXZxTm9QZXJzcGVjdGl2ZUluOwor
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIEV2cUNlbnRyb2lkOgogICAgICAgICB7
CiAgICAgICAgICAgICBzd2l0Y2ggKHN0b3JhZ2VRdWFsaWZpZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9SZXNvdXJjZXNITFNM
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Jl
c291cmNlc0hMU0wuY3BwCmluZGV4IGIzOWQ1OWUxOTc5N2Q3NzhiMTc4Mjc0YTFhMDUyYjlhNDIz
MzJiOGEuLjU0NDk5YjE2MGFiM2M0OWQxZGNlMTRlNmY2MjcxODU5MjUxMmU3NjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Jlc291
cmNlc0hMU0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90
cmFuc2xhdG9yL1Jlc291cmNlc0hMU0wuY3BwCkBAIC02NTYsMTYgKzY1NiwyOSBAQCBUU3RyaW5n
IFJlc291cmNlc0hMU0w6OnVuaWZvcm1CbG9ja3NIZWFkZXIoCiAKICAgICAgICAgLy8gSW4gb3Jk
ZXIgdG8gYXZvaWQgY29tcGlsZSBwZXJmb3JtYW5jZSBpc3N1ZSwgdHJhbnNsYXRlIHVuaWZvcm0g
YmxvY2sgdG8gc3RydWN0dXJlZAogICAgICAgICAvLyBidWZmZXIuIGFuZ2xlYnVnLmNvbS8zNjgy
LgotICAgICAgICAvLyBUT0RPKGFuZ2xlYnVnLmNvbS80MjA1KTogU3VwcG9ydCB1bmlmb3JtIGJs
b2NrIHdpdGggYW4gaW5zdGFuY2UgbmFtZS4KLSAgICAgICAgaWYgKGluc3RhbmNlVmFyaWFibGUg
PT0gbnVsbHB0ciAmJgotICAgICAgICAgICAgc2hvdWxkVHJhbnNsYXRlVW5pZm9ybUJsb2NrVG9T
dHJ1Y3R1cmVkQnVmZmVyKGludGVyZmFjZUJsb2NrKSkKKyAgICAgICAgaWYgKHNob3VsZFRyYW5z
bGF0ZVVuaWZvcm1CbG9ja1RvU3RydWN0dXJlZEJ1ZmZlcihpbnRlcmZhY2VCbG9jaykpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdHJ1Y3R1cmVkQnVmZmVyUmVnaXN0ZXIg
PSBtU1JWUmVnaXN0ZXI7Ci0gICAgICAgICAgICBpbnRlcmZhY2VCbG9ja3MgKz0KLSAgICAgICAg
ICAgICAgICB1bmlmb3JtQmxvY2tXaXRoT25lTGFyZ2VBcnJheU1lbWJlclN0cmluZyhpbnRlcmZh
Y2VCbG9jaywgc3RydWN0dXJlZEJ1ZmZlclJlZ2lzdGVyKTsKKyAgICAgICAgICAgIGlmIChpbnN0
YW5jZVZhcmlhYmxlICE9IG51bGxwdHIgJiYgaW5zdGFuY2VWYXJpYWJsZS0+Z2V0VHlwZSgpLmlz
QXJyYXkoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaW5z
dGFuY2VBcnJheVNpemUgPQorICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZVZhcmlhYmxlLT5n
ZXRUeXBlKCkuZ2V0T3V0ZXJtb3N0QXJyYXlTaXplKCk7CisgICAgICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpbnQgYXJyYXlJbmRleCA9IDA7IGFycmF5SW5kZXggPCBpbnN0YW5jZUFycmF5U2l6
ZTsgYXJyYXlJbmRleCsrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
aW50ZXJmYWNlQmxvY2tzICs9IHVuaWZvcm1CbG9ja1dpdGhPbmVMYXJnZUFycmF5TWVtYmVyU3Ry
aW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlQmxvY2ssIGluc3RhbmNlVmFy
aWFibGUsIHN0cnVjdHVyZWRCdWZmZXJSZWdpc3RlciArIGFycmF5SW5kZXgsCisgICAgICAgICAg
ICAgICAgICAgICAgICBhcnJheUluZGV4KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgbVNSVlJlZ2lzdGVyICs9IGluc3RhbmNlQXJyYXlTaXplOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGludGVyZmFj
ZUJsb2NrcyArPSB1bmlmb3JtQmxvY2tXaXRoT25lTGFyZ2VBcnJheU1lbWJlclN0cmluZygKKyAg
ICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlQmxvY2ssIGluc3RhbmNlVmFyaWFibGUsIHN0cnVj
dHVyZWRCdWZmZXJSZWdpc3RlciwgR0xfSU5WQUxJRF9JTkRFWCk7CisgICAgICAgICAgICAgICAg
bVNSVlJlZ2lzdGVyICs9IDF1OworICAgICAgICAgICAgfQogICAgICAgICAgICAgbVVuaWZvcm1C
bG9ja1JlZ2lzdGVyTWFwW2ludGVyZmFjZUJsb2NrLm5hbWUoKS5kYXRhKCldID0gc3RydWN0dXJl
ZEJ1ZmZlclJlZ2lzdGVyOwogICAgICAgICAgICAgbVVuaWZvcm1CbG9ja1VzZVN0cnVjdHVyZWRC
dWZmZXJNYXBbaW50ZXJmYWNlQmxvY2submFtZSgpLmRhdGEoKV0gPSB0cnVlOwotICAgICAgICAg
ICAgbVNSVlJlZ2lzdGVyICs9IDF1OwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0K
IApAQCAtNzU4LDE2ICs3NzEsMzggQEAgVFN0cmluZyBSZXNvdXJjZXNITFNMOjp1bmlmb3JtQmxv
Y2tTdHJpbmcoY29uc3QgVEludGVyZmFjZUJsb2NrICZpbnRlcmZhY2VCbG9jaywKIAogVFN0cmlu
ZyBSZXNvdXJjZXNITFNMOjp1bmlmb3JtQmxvY2tXaXRoT25lTGFyZ2VBcnJheU1lbWJlclN0cmlu
ZygKICAgICBjb25zdCBUSW50ZXJmYWNlQmxvY2sgJmludGVyZmFjZUJsb2NrLAotICAgIHVuc2ln
bmVkIGludCByZWdpc3RlckluZGV4KQorICAgIGNvbnN0IFRWYXJpYWJsZSAqaW5zdGFuY2VWYXJp
YWJsZSwKKyAgICB1bnNpZ25lZCBpbnQgcmVnaXN0ZXJJbmRleCwKKyAgICB1bnNpZ25lZCBpbnQg
YXJyYXlJbmRleCkKIHsKICAgICBUU3RyaW5nIGhsc2wsIHR5cGVTdHJpbmc7CiAKICAgICBjb25z
dCBURmllbGQgJmZpZWxkICAgICAgICAgICAgICAgICAgICA9ICppbnRlcmZhY2VCbG9jay5maWVs
ZHMoKVswXTsKICAgICBjb25zdCBUTGF5b3V0QmxvY2tTdG9yYWdlIGJsb2NrU3RvcmFnZSA9IGlu
dGVyZmFjZUJsb2NrLmJsb2NrU3RvcmFnZSgpOwotICAgIHR5cGVTdHJpbmcgPSBJbnRlcmZhY2VC
bG9ja0ZpZWxkVHlwZVN0cmluZyhmaWVsZCwgYmxvY2tTdG9yYWdlLCB0cnVlKTsKKyAgICB0eXBl
U3RyaW5nICAgICAgICAgICAgID0gSW50ZXJmYWNlQmxvY2tGaWVsZFR5cGVTdHJpbmcoZmllbGQs
IGJsb2NrU3RvcmFnZSwgdHJ1ZSk7CisgICAgY29uc3QgVFR5cGUgJmZpZWxkVHlwZSA9ICpmaWVs
ZC50eXBlKCk7CisgICAgaWYgKGZpZWxkVHlwZS5pc01hdHJpeCgpKQorICAgIHsKKyAgICAgICAg
aWYgKGFycmF5SW5kZXggPT0gR0xfSU5WQUxJRF9JTkRFWCB8fCBhcnJheUluZGV4ID09IDApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGhsc2wgKz0gInN0cnVjdCBtYXRyaXgiICsgRGVjb3JhdGUo
ZmllbGQubmFtZSgpKSArICIgeyAiICsgdHlwZVN0cmluZyArICIgX21hdHJpeF8iICsKKyAgICAg
ICAgICAgICAgICAgICAgRGVjb3JhdGUoZmllbGQubmFtZSgpKSArICI7IH07XG4iOworICAgICAg
ICB9CisgICAgICAgIHR5cGVTdHJpbmcgPSAibWF0cml4IiArIERlY29yYXRlKGZpZWxkLm5hbWUo
KSk7CisgICAgfQorCisgICAgaWYgKGluc3RhbmNlVmFyaWFibGUgIT0gbnVsbHB0cikKKyAgICB7
CiAKLSAgICBobHNsICs9ICJTdHJ1Y3R1cmVkQnVmZmVyIDwiICsgdHlwZVN0cmluZyArICI+ICIg
KyBEZWNvcmF0ZShmaWVsZC5uYW1lKCkpICsgIiA6IHJlZ2lzdGVyKHQiICsKLSAgICAgICAgICAg
IHN0cihyZWdpc3RlckluZGV4KSArICIpO1xuIjsKKyAgICAgICAgaGxzbCArPSAiU3RydWN0dXJl
ZEJ1ZmZlciA8IiArIHR5cGVTdHJpbmcgKyAiPiAiICsKKyAgICAgICAgICAgICAgICBJbnRlcmZh
Y2VCbG9ja0luc3RhbmNlU3RyaW5nKGluc3RhbmNlVmFyaWFibGUtPm5hbWUoKSwgYXJyYXlJbmRl
eCkgKyAiXyIgKworICAgICAgICAgICAgICAgIERlY29yYXRlKGZpZWxkLm5hbWUoKSkgKyArIiA6
IHJlZ2lzdGVyKHQiICsgc3RyKHJlZ2lzdGVySW5kZXgpICsgIik7XG4iOworICAgIH0KKyAgICBl
bHNlCisgICAgeworICAgICAgICBobHNsICs9ICJTdHJ1Y3R1cmVkQnVmZmVyIDwiICsgdHlwZVN0
cmluZyArICI+ICIgKyBEZWNvcmF0ZShmaWVsZC5uYW1lKCkpICsKKyAgICAgICAgICAgICAgICAi
IDogcmVnaXN0ZXIodCIgKyBzdHIocmVnaXN0ZXJJbmRleCkgKyAiKTtcbiI7CisgICAgfQogCiAg
ICAgcmV0dXJuIGhsc2w7CiB9CkBAIC04NTQsMTEgKzg4OSwxMCBAQCBib29sIFJlc291cmNlc0hM
U0w6OnNob3VsZFRyYW5zbGF0ZVVuaWZvcm1CbG9ja1RvU3RydWN0dXJlZEJ1ZmZlcigKIHsKICAg
ICBjb25zdCBUVHlwZSAmZmllbGRUeXBlID0gKmludGVyZmFjZUJsb2NrLmZpZWxkcygpWzBdLT50
eXBlKCk7CiAKLSAgICAvLyBUT0RPKGFuZ2xlYnVnLmNvbS80MjA2KTogU3VwcG9ydCB1bmlmb3Jt
IGJsb2NrIGNvbnRhaW5zIG9ubHkgYSBtYXRyaXggYXJyYXkgbWVtYmVyLAotICAgIC8vIGFuZCBm
aXggcm93LW1ham9yL2NvbHVtbi1tYWpvciBjb252ZXJzaW9uIGlzc3VlLgogICAgIHJldHVybiAo
bUNvbXBpbGVPcHRpb25zICYgU0hfRE9OVF9UUkFOU0xBVEVfVU5JRk9STV9CTE9DS19UT19TVFJV
Q1RVUkVEQlVGRkVSKSA9PSAwICYmCiAgICAgICAgICAgIG1TUlZSZWdpc3RlciA8IGtNYXhJbnB1
dFJlc291cmNlU2xvdENvdW50ICYmIGludGVyZmFjZUJsb2NrLmZpZWxkcygpLnNpemUoKSA9PSAx
dSAmJgotICAgICAgICAgICBmaWVsZFR5cGUuZ2V0U3RydWN0KCkgIT0gbnVsbHB0ciAmJiBmaWVs
ZFR5cGUuZ2V0TnVtQXJyYXlTaXplcygpID09IDF1ICYmCisgICAgICAgICAgIChmaWVsZFR5cGUu
Z2V0U3RydWN0KCkgIT0gbnVsbHB0ciB8fCBmaWVsZFR5cGUuaXNNYXRyaXgoKSkgJiYKKyAgICAg
ICAgICAgZmllbGRUeXBlLmdldE51bUFycmF5U2l6ZXMoKSA9PSAxdSAmJgogICAgICAgICAgICBm
aWVsZFR5cGUuZ2V0T3V0ZXJtb3N0QXJyYXlTaXplKCkgPj0ga01pbkFycmF5U2l6ZVVzZVN0cnVj
dHVyZWRCdWZmZXI7CiB9CiB9ICAvLyBuYW1lc3BhY2Ugc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Jlc291cmNlc0hMU0wuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Jlc291cmNl
c0hMU0wuaAppbmRleCA5NzY0MTI5ZDlhNTQ5OWJiZDk0YzNjNGM1NGI2NGIzMzJhYzc2OGRmLi5m
N2ZkZTQxZGQxZGE0NmI2MjkxMWIwZjU3MTkxNjFiNWM5MWViODg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9SZXNvdXJjZXNITFNM
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
UmVzb3VyY2VzSExTTC5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlc0hMU0wgOiBh
bmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHVuc2lnbmVkIGludCBnZXRSZWFkb25seUltYWdlMkRS
ZWdpc3RlckluZGV4KCkgY29uc3QgeyByZXR1cm4gbVJlYWRvbmx5SW1hZ2UyRFJlZ2lzdGVySW5k
ZXg7IH0KICAgICB1bnNpZ25lZCBpbnQgZ2V0SW1hZ2UyRFJlZ2lzdGVySW5kZXgoKSBjb25zdCB7
IHJldHVybiBtSW1hZ2UyRFJlZ2lzdGVySW5kZXg7IH0KKyAgICBib29sIHNob3VsZFRyYW5zbGF0
ZVVuaWZvcm1CbG9ja1RvU3RydWN0dXJlZEJ1ZmZlcihjb25zdCBUSW50ZXJmYWNlQmxvY2sgJmlu
dGVyZmFjZUJsb2NrKTsKIAogICBwcml2YXRlOgogICAgIFRTdHJpbmcgdW5pZm9ybUJsb2NrU3Ry
aW5nKGNvbnN0IFRJbnRlcmZhY2VCbG9jayAmaW50ZXJmYWNlQmxvY2ssCkBAIC03NSw3ICs3Niw5
IEBAIGNsYXNzIFJlc291cmNlc0hMU0wgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcmVnaXN0ZXJJbmRleCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYXJyYXlJbmRleCk7CiAgICAgVFN0
cmluZyB1bmlmb3JtQmxvY2tXaXRoT25lTGFyZ2VBcnJheU1lbWJlclN0cmluZyhjb25zdCBUSW50
ZXJmYWNlQmxvY2sgJmludGVyZmFjZUJsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHJlZ2lzdGVySW5kZXgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgVFZhcmlhYmxlICppbnN0YW5jZVZhcmlhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHJlZ2lzdGVySW5kZXgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgYXJyYXlJbmRleCk7CiAKICAgICBUU3RyaW5nIHNoYWRlclN0b3JhZ2VCbG9j
a1N0cmluZyhjb25zdCBUSW50ZXJmYWNlQmxvY2sgJmludGVyZmFjZUJsb2NrLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRWYXJpYWJsZSAqaW5zdGFuY2VWYXJp
YWJsZSwKQEAgLTEyNSw3ICsxMjgsNiBAQCBjbGFzcyBSZXNvdXJjZXNITFNMIDogYW5nbGU6Ok5v
bkNvcHlhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSExT
TFJXVGV4dHVyZUdyb3VwIHRleHR1cmVHcm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBUVmVjdG9yPGNvbnN0IFRWYXJpYWJsZSAqPiAmZ3JvdXAsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpncm91cFRleHR1
cmVSZWdpc3RlckluZGV4KTsKLSAgICBib29sIHNob3VsZFRyYW5zbGF0ZVVuaWZvcm1CbG9ja1Rv
U3RydWN0dXJlZEJ1ZmZlcihjb25zdCBUSW50ZXJmYWNlQmxvY2sgJmludGVyZmFjZUJsb2NrKTsK
IAogICAgIHVuc2lnbmVkIGludCBtVW5pZm9ybVJlZ2lzdGVyOwogICAgIHVuc2lnbmVkIGludCBt
VW5pZm9ybUJsb2NrUmVnaXN0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwCmluZGV4IDU3
YWNlNjdmNjUyZTUzNjk3MTA4NWM1YmI3NDNhNDIxMjE0MzkyNWIuLjAyZWI5NjZjNmI5OGJiMzMy
NjdjZGYxNmM0MGIwM2NhYjUzNWQwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwCkBA
IC0xNjgsMTUgKzE2OCwxOSBAQCB2b2lkIEluaXRCdWlsdEluUmVzb3VyY2VzKFNoQnVpbHRJblJl
c291cmNlcyAqcmVzb3VyY2VzKQogICAgIHJlc291cmNlcy0+RVhUX2dlb21ldHJ5X3NoYWRlciAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDA7CiAgICAgcmVzb3VyY2VzLT5FWFRfZ3B1X3NoYWRl
cjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKICAgICByZXNvdXJjZXMtPkVYVF9z
aGFkZXJfbm9uX2NvbnN0YW50X2dsb2JhbF9pbml0aWFsaXplcnMgPSAwOworICAgIHJlc291cmNl
cy0+TlZfc2hhZGVyX25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbiAgICAgICA9IDA7CiAgICAg
cmVzb3VyY2VzLT5PRVNfdGV4dHVyZV9zdG9yYWdlX211bHRpc2FtcGxlXzJkX2FycmF5ICAgID0g
MDsKICAgICByZXNvdXJjZXMtPk9FU190ZXh0dXJlXzNEICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAwOwogICAgIHJlc291cmNlcy0+QU5HTEVfdGV4dHVyZV9tdWx0aXNhbXBsZSAgICAg
ICAgICAgICAgICAgICA9IDA7CiAgICAgcmVzb3VyY2VzLT5BTkdMRV9tdWx0aV9kcmF3ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMDsKICAgICByZXNvdXJjZXMtPkFOR0xFX2Jhc2VfdmVy
dGV4X2Jhc2VfaW5zdGFuY2UgICAgICAgICAgICAgPSAwOwogICAgIHJlc291cmNlcy0+V0VCR0xf
dmlkZW9fdGV4dHVyZSAgICAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgcmVzb3VyY2Vz
LT5BUFBMRV9jbGlwX2Rpc3RhbmNlICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKIAogICAg
IHJlc291cmNlcy0+TlZfZHJhd19idWZmZXJzID0gMDsKIAorICAgIHJlc291cmNlcy0+TWF4Q2xp
cERpc3RhbmNlcyA9IDA7CisKICAgICAvLyBEaXNhYmxlIGhpZ2hwIHByZWNpc2lvbiBpbiBmcmFn
bWVudCBzaGFkZXIgYnkgZGVmYXVsdC4KICAgICByZXNvdXJjZXMtPkZyYWdtZW50UHJlY2lzaW9u
SGlnaCA9IDA7CiAKQEAgLTQ5OCw2ICs1MDIsMTYgQEAgaW50IEdldFZlcnRleFNoYWRlck51bVZp
ZXdzKGNvbnN0IFNoSGFuZGxlIGhhbmRsZSkKICAgICByZXR1cm4gY29tcGlsZXItPmdldE51bVZp
ZXdzKCk7CiB9CiAKK2Jvb2wgSGFzRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uKGNvbnN0
IFNoSGFuZGxlIGhhbmRsZSkKK3sKKyAgICBUQ29tcGlsZXIgKmNvbXBpbGVyID0gR2V0Q29tcGls
ZXJGcm9tSGFuZGxlKGhhbmRsZSk7CisgICAgaWYgKGNvbXBpbGVyID09IG51bGxwdHIpCisgICAg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiBjb21waWxlci0+aXNF
YXJseUZyYWdtZW50VGVzdHNPcHRpbWl6ZWQoKTsKK30KKwogYm9vbCBDaGVja1ZhcmlhYmxlc1dp
dGhpblBhY2tpbmdMaW1pdHMoaW50IG1heFZlY3RvcnMsIGNvbnN0IHN0ZDo6dmVjdG9yPFNoYWRl
clZhcmlhYmxlPiAmdmFyaWFibGVzKQogewogICAgIHJldHVybiBDaGVja1ZhcmlhYmxlc0luUGFj
a2luZ0xpbWl0cyhtYXhWZWN0b3JzLCB2YXJpYWJsZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU2hhZGVyVmFycy5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJWYXJz
LmNwcAppbmRleCBmNWU0ZjIxZWYyYjkyZTBkZGQxMTcyMWI0Yzk4ZmM3NzkxNGE5MTI5Li40NDc4
MDk0OGI3NmQ4NTMwZjUwNGI2Nzk1ZGI1MDgxNzBmNDQyZmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJWYXJzLmNwcAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFk
ZXJWYXJzLmNwcApAQCAtMTYzLDcgKzE2MywxNSBAQCB2b2lkIFNoYWRlclZhcmlhYmxlOjppbmRl
eEludG9BcnJheSh1bnNpZ25lZCBpbnQgYXJyYXlJbmRleCkKIHVuc2lnbmVkIGludCBTaGFkZXJW
YXJpYWJsZTo6Z2V0TmVzdGVkQXJyYXlTaXplKHVuc2lnbmVkIGludCBhcnJheU5lc3RpbmdJbmRl
eCkgY29uc3QKIHsKICAgICBBU1NFUlQoYXJyYXlTaXplcy5zaXplKCkgPiBhcnJheU5lc3RpbmdJ
bmRleCk7Ci0gICAgcmV0dXJuIGFycmF5U2l6ZXNbYXJyYXlTaXplcy5zaXplKCkgLSAxdSAtIGFy
cmF5TmVzdGluZ0luZGV4XTsKKyAgICB1bnNpZ25lZCBpbnQgYXJyYXlTaXplID0gYXJyYXlTaXpl
c1thcnJheVNpemVzLnNpemUoKSAtIDF1IC0gYXJyYXlOZXN0aW5nSW5kZXhdOworCisgICAgaWYg
KGFycmF5U2l6ZSA9PSAwKQorICAgIHsKKyAgICAgICAgLy8gVW5zaXplZCBhcnJheSwgc28gZ2l2
ZSBpdCBhdCBsZWFzdCAxIGVudHJ5CisgICAgICAgIGFycmF5U2l6ZSA9IDE7CisgICAgfQorCisg
ICAgcmV0dXJuIGFycmF5U2l6ZTsKIH0KIAogdW5zaWduZWQgaW50IFNoYWRlclZhcmlhYmxlOjpn
ZXRCYXNpY1R5cGVFbGVtZW50Q291bnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU3ltYm9sVGFibGVfRVNTTF9hdXRv
Z2VuLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L1N5bWJvbFRhYmxlX0VTU0xfYXV0b2dlbi5jcHAKaW5kZXggMjkxNDdkNTBhYmZjZTY4MzZmM2E3
ZWUzNzljYjQ1NTUyMmFhZTdiYi4uYmRhNDJkODRiZWQ2ZWU1NGY4ZGExYzRlZDVhYTY5ODRlYWY5
ZmRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvU3ltYm9sVGFibGVfRVNTTF9hdXRvZ2VuLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TeW1ib2xUYWJsZV9FU1NMX2F1dG9n
ZW4uY3BwCkBAIC0xMDQzLDYgKzEwNDMsOCBAQCBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIEJ1aWx0SW5JZDo6Z2xfQmFzZVZlcnRleDsKIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgQnVpbHRJbklkOjpnbF9CYXNlSW5zdGFuY2U7CiBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIEJ1aWx0SW5JZDo6YW5nbGVfQmFzZVZlcnRleDsKIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgQnVpbHRJbklkOjphbmdsZV9CYXNlSW5zdGFuY2U7Citjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0SW5JZDo6Z2xfQ2xpcERpc3RhbmNlOworY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6OmdsX01heENsaXBEaXN0YW5jZXM7
CiBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0SW5JZDo6Z2xfTnVtV29ya0dy
b3VwczsKIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgQnVpbHRJbklkOjpnbF9Xb3Jr
R3JvdXBTaXplOwogY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6Omds
X1dvcmtHcm91cElEOwpAQCAtMTA1OSw3ICsxMDYxLDcgQEAgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBCdWlsdEluSWQ6OmdsX1BlclZlcnRleE91dEJsb2NrOwogY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6OmdsX1Bvc2l0aW9uR1M7CiBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0SW5JZDo6Z2xfVmlld0lEX09WUjsKIAotY29uc3Qg
aW50IFRTeW1ib2xUYWJsZTo6a0xhc3RCdWlsdEluSWQgPSAzNDA5OworY29uc3QgaW50IFRTeW1i
b2xUYWJsZTo6a0xhc3RCdWlsdEluSWQgPSAzNDEzOwogCiBuYW1lc3BhY2UgQnVpbHRJbk5hbWUK
IHsKQEAgLTExMjYsNiArMTEyOCw3IEBAIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcg
ZndpZHRoKCJmd2lkdGgiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZndpZHRo
RXh0KCJmd2lkdGgiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZ2xfQmFzZUlu
c3RhbmNlKCJnbF9CYXNlSW5zdGFuY2UiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJp
bmcgZ2xfQmFzZVZlcnRleCgiZ2xfQmFzZVZlcnRleCIpOworY29uc3RleHByIGNvbnN0IEltbXV0
YWJsZVN0cmluZyBnbF9DbGlwRGlzdGFuY2UoImdsX0NsaXBEaXN0YW5jZSIpOwogY29uc3RleHBy
IGNvbnN0IEltbXV0YWJsZVN0cmluZyBnbF9EZXB0aFJhbmdlKCJnbF9EZXB0aFJhbmdlIik7CiBj
b25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX0RlcHRoUmFuZ2VQYXJhbWV0ZXJzKCJn
bF9EZXB0aFJhbmdlUGFyYW1ldGVycyIpOwogY29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmlu
ZyBnbF9EcmF3SUQoImdsX0RyYXdJRCIpOwpAQCAtMTE0OCw2ICsxMTUxLDcgQEAgY29uc3RleHBy
IGNvbnN0IEltbXV0YWJsZVN0cmluZyBnbF9Mb2NhbEludm9jYXRpb25JRCgiZ2xfTG9jYWxJbnZv
Y2F0aW9uSUQiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZ2xfTG9jYWxJbnZv
Y2F0aW9uSW5kZXgoImdsX0xvY2FsSW52b2NhdGlvbkluZGV4Iik7CiBjb25zdGV4cHIgY29uc3Qg
SW1tdXRhYmxlU3RyaW5nIGdsX01heEF0b21pY0NvdW50ZXJCaW5kaW5ncygiZ2xfTWF4QXRvbWlj
Q291bnRlckJpbmRpbmdzIik7CiBjb25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX01h
eEF0b21pY0NvdW50ZXJCdWZmZXJTaXplKCJnbF9NYXhBdG9taWNDb3VudGVyQnVmZmVyU2l6ZSIp
OworY29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBnbF9NYXhDbGlwRGlzdGFuY2VzKCJn
bF9NYXhDbGlwRGlzdGFuY2VzIik7CiBjb25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGds
X01heENvbWJpbmVkQXRvbWljQ291bnRlckJ1ZmZlcnMoCiAgICAgImdsX01heENvbWJpbmVkQXRv
bWljQ291bnRlckJ1ZmZlcnMiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZ2xf
TWF4Q29tYmluZWRBdG9taWNDb3VudGVycygiZ2xfTWF4Q29tYmluZWRBdG9taWNDb3VudGVycyIp
OwpAQCAtMTA2NjYsNiArMTA2NzAsOCBAQCBjb25zdGV4cHIgU3ltYm9sUnVsZSBrUnVsZXNbXSA9
IHsKICAgICBSdWxlOjpHZXQ8U3BlYzo6RVNTTCwgMCwgU2hhZGVyOjpBTEwsIDA+KCZpbnZlcnNl
c3FydF8wMEIpLAogICAgIFJ1bGU6OkdldDxTcGVjOjpHTFNMLCAwLCBTaGFkZXI6OkFMTCwgMD4o
JmludmVyc2VzcXJ0XzAwQiksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkVTU0wsIDMwMCwgU2hhZGVy
OjpBTEwsIDA+KCZtYXRyaXhDb21wTXVsdF9EMEJEMEIpLAorICAgIFJ1bGU6OkdldDxTcGVjOjpF
U1NMLCAwLCBTaGFkZXI6OlZFUlRFWCwgRVhUX0lOREVYKEFQUExFX2NsaXBfZGlzdGFuY2UpPigK
KyAgICAgICAgJlRhYmxlQmFzZTo6bV9nbF9NYXhDbGlwRGlzdGFuY2VzKSwKICAgICBSdWxlOjpH
ZXQ8U3BlYzo6RVNTTCwgMCwgU2hhZGVyOjpBTEwsIDA+KCZsZXNzVGhhbkVxdWFsXzEwQjEwQiks
CiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDAsIFNoYWRlcjo6QUxMLCAwPigmbGVzc1RoYW5F
cXVhbF8xMEIxMEIpLAogICAgIFJ1bGU6OkdldDxTcGVjOjpFU1NMLCAzMTAsIFNoYWRlcjo6QUxM
LCAwPigmYml0ZmllbGRSZXZlcnNlXzIwRCksCkBAIC0xMTI2NCw2ICsxMTI3MCw4IEBAIGNvbnN0
ZXhwciBTeW1ib2xSdWxlIGtSdWxlc1tdID0gewogICAgIFJ1bGU6OkdldDxTcGVjOjpHTFNMLCA0
MDAsIFNoYWRlcjo6QUxMLCAwPigmYml0ZmllbGRSZXZlcnNlXzMwRSksCiAgICAgUnVsZTo6R2V0
PFNwZWM6OkVTU0wsIDMxMCwgU2hhZGVyOjpBTEwsIDA+KCZiaXRmaWVsZFJldmVyc2VfMzBEKSwK
ICAgICBSdWxlOjpHZXQ8U3BlYzo6R0xTTCwgNDAwLCBTaGFkZXI6OkFMTCwgMD4oJmJpdGZpZWxk
UmV2ZXJzZV8zMEQpLAorICAgIFJ1bGU6OkdldDxTcGVjOjpFU1NMLCAwLCBTaGFkZXI6OlZFUlRF
WCwgRVhUX0lOREVYKEFQUExFX2NsaXBfZGlzdGFuY2UpPigKKyAgICAgICAgJlRhYmxlQmFzZTo6
bV9nbF9DbGlwRGlzdGFuY2UpLAogICAgIFJ1bGU6OkdldDxTcGVjOjpFU1NMLCAwLCBTaGFkZXI6
OkFMTCwgMD4oJmludmVyc2VzcXJ0XzMwQiksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDAs
IFNoYWRlcjo6QUxMLCAwPigmaW52ZXJzZXNxcnRfMzBCKSwKICAgICBSdWxlOjpHZXQ8U3BlYzo6
RVNTTCwgMzEwLCBTaGFkZXI6OkNPTVBVVEUsIDA+KCZCdWlsdEluVmFyaWFibGU6OmtnbF9Mb2Nh
bEludm9jYXRpb25JRCksCkBAIC0xMjUxNCw2ICsxMjUyMiw3IEBAIGNvbnN0ZXhwciBjb25zdCBj
aGFyICprTWFuZ2xlZE5hbWVzW10gPSB7InRleHR1cmVQcm9qKDAwUjMwQjAwQiIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYnMoMjBCIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludmVyc2VzcXJ0KDAwQiIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXRyaXhDb21wTXVsdChEMEJEMEIi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xfTWF4Q2xpcERp
c3RhbmNlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsZXNz
VGhhbkVxdWFsKDEwQjEwQiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJiaXRmaWVsZFJldmVyc2UoMjBEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImJpdGZpZWxkUmV2ZXJzZSgyMEUiLApAQCAtMTI4MTQsNiArMTI4MjMsNyBA
QCBjb25zdGV4cHIgY29uc3QgY2hhciAqa01hbmdsZWROYW1lc1tdID0geyJ0ZXh0dXJlUHJvaigw
MFIzMEIwMEIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4
dHVyZVByb2pPZmZzZXQoMDBJMzBCMTBEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImJpdGZpZWxkUmV2ZXJzZSgzMEUiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiYml0ZmllbGRSZXZlcnNlKDMwRCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbF9DbGlwRGlzdGFuY2UiLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52ZXJzZXNxcnQoMzBCIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsX0xvY2FsSW52b2NhdGlvbklE
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsCkBAIC0xMzQ4
NSw4OTIgKzEzNDk1LDg5NCBAQCBjb25zdGV4cHIgdWludDE2X3Qga01hbmdsZWRPZmZzZXRzW10g
PSB7CiAgICAgMTUxLCAgIC8vIGFic18yMEIKICAgICAxNTMsICAgLy8gaW52ZXJzZXNxcnRfMDBC
CiAgICAgMTU1LCAgIC8vIG1hdHJpeENvbXBNdWx0X0QwQkQwQgotICAgIDE1NiwgICAvLyBsZXNz
VGhhbkVxdWFsXzEwQjEwQgotICAgIDE1OCwgICAvLyBiaXRmaWVsZFJldmVyc2VfMjBECi0gICAg
MTYwLCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8yMEUKLSAgICAxNjIsICAgLy8gdGV4dHVyZVByb2pH
cmFkXzAwUzMwQjIwQjIwQgotICAgIDE2NCwgICAvLyBlcXVhbF8xMEQxMEQKLSAgICAxNjYsICAg
Ly8gbWF4XzMwRDAwRAotICAgIDE2OCwgICAvLyBncm91cE1lbW9yeUJhcnJpZXJfCi0gICAgMTcw
LCAgIC8vIG1peF8wMEIwMEIwMEYKLSAgICAxNzIsICAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0
XzAwUjIwQjEwQjEwQjEwRAotICAgIDE3NCwgICAvLyBpbWFnZUxvYWRfMDFBMTBECi0gICAgMTc1
LCAgIC8vIGludEJpdHNUb0Zsb2F0XzMwRAotICAgIDE3NywgICAvLyB0ZXh0dXJlR2F0aGVyT2Zm
c2V0c18wMFgxMEIxMER4NAotICAgIDE4MCwgICAvLyB0ZXh0dXJlUHJval8wMEkyMEIKLSAgICAx
ODIsICAgLy8gdGV4ZWxGZXRjaF8wMEkxMEQwMEQKLSAgICAxODQsICAgLy8gaW1hZ2VTdG9yZV8w
MUkyMEQzMEIKLSAgICAxODUsICAgLy8gbWluXzMwQjMwQgotICAgIDE4NywgICAvLyBnbF9NYXhW
ZXJ0ZXhBdG9taWNDb3VudGVyQnVmZmVycwotICAgIDE4OSwgICAvLyB0ZXh0dXJlTG9kT2Zmc2V0
XzAwUzIwQjAwQjIwRAotICAgIDE5MSwgICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwUjEwQjEw
RAotICAgIDE5MywgICAvLyBhY29zXzAwQgotICAgIDE5NSwgICAvLyBmcmFjdF8xMEIKLSAgICAx
OTcsICAgLy8gdHJhbnNwb3NlX0UwQgotICAgIDE5OSwgICAvLyBpbnRCaXRzVG9GbG9hdF8wMEQK
LSAgICAyMDEsICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBKMjBCMjBCMjBCMjBECi0gICAgMjAz
LCAgIC8vIG1lbW9yeUJhcnJpZXJBdG9taWNDb3VudGVyXwotICAgIDIwNSwgICAvLyB0ZXh0dXJl
MkRHcmFkRVhUXzAwSTEwQjEwQjEwQgotICAgIDIwNiwgICAvLyBiaXRmaWVsZEluc2VydF8wMEUw
MEUwMEQwMEQKLSAgICAyMDgsICAgLy8gYXRvbWljWG9yXzAwRDAwRAotICAgIDIxMCwgICAvLyBn
cmVhdGVyVGhhbl8yMEIyMEIKLSAgICAyMTIsICAgLy8gdGV4dHVyZUxvZE9mZnNldF8wMEkxMEIw
MEIxMEQKLSAgICAyMTQsICAgLy8gdGV4ZWxGZXRjaF8wMFkyMEQwMEQKLSAgICAyMTYsICAgLy8g
dGV4dHVyZTJEUHJvakdyYWRFWFRfMDBJMzBCMTBCMTBCCi0gICAgMjE3LCAgIC8vIHRleHR1cmVH
cmFkXzAwZDIwQjEwQjEwQgotICAgIDIxOSwgICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFIzMEIx
MEQKLSAgICAyMjEsICAgLy8gdGV4dHVyZU9mZnNldF8wMFUyMEIxMEQKLSAgICAyMjMsICAgLy8g
YXRhbl8xMEIKLSAgICAyMjUsICAgLy8gbW9kZl8xMEIxMEIKLSAgICAyMjcsICAgLy8gbWluXzMw
QjAwQgotICAgIDIyOSwgICAvLyBkZXRlcm1pbmFudF81MEIKLSAgICAyMzAsICAgLy8gbGVzc1Ro
YW5fMjBCMjBCCi0gICAgMjMyLCAgIC8vIGF0b21pY0FuZF8wMEQwMEQKLSAgICAyMzQsICAgLy8g
Z2xfRnJhZ0NvbG9yCi0gICAgMjM2LCAgIC8vIGV4cF8xMEIKLSAgICAyMzgsICAgLy8gdGV4dHVy
ZVByb2pPZmZzZXRfMDBJMjBCMTBEMDBCCi0gICAgMjQwLCAgIC8vIHN0ZXBfMDBCMTBCCi0gICAg
MjQyLCAgIC8vIGJpdENvdW50XzMwRAotICAgIDI0NCwgICAvLyBtaXhfMzBFMzBFMzBGCi0gICAg
MjQ2LCAgIC8vIHVucGFja1Vub3JtMngxNl8wMEUKLSAgICAyNDgsICAgLy8gcmdiXzJfeXV2XzIw
QjAwSAotICAgIDI0OSwgICAvLyBzcXJ0XzIwQgotICAgIDI1MSwgICAvLyBzaWduXzIwQgotICAg
IDI1MywgICAvLyBzaWduXzIwRAotICAgIDI1NSwgICAvLyBhdGFuaF8wMEIKLSAgICAyNTcsICAg
Ly8gdGV4dHVyZUdyYWRPZmZzZXRfMDBYMTBCMTBCMTBCMTBECi0gICAgMjU5LCAgIC8vIGltYWdl
U3RvcmVfMDFLMjBEMzBFCi0gICAgMjYwLCAgIC8vIGdsX0RlcHRoUmFuZ2UKLSAgICAyNjIsICAg
Ly8gaW11bEV4dGVuZGVkXzEwRDEwRDEwRDEwRAotICAgIDI2NCwgICAvLyBhdGFuXzIwQgotICAg
IDI2NiwgICAvLyB0ZXh0dXJlXzAwTTEwQgotICAgIDI2NywgICAvLyBnbF9NYXhWZXJ0ZXhPdXRw
dXRWZWN0b3JzCi0gICAgMjY5LCAgIC8vIHRleHR1cmVfMDBUMjBCCi0gICAgMjcxLCAgIC8vIGxv
ZzJfMTBCCi0gICAgMjczLCAgIC8vIG1pbl8xMEIxMEIKLSAgICAyNzUsICAgLy8gZ2xfTWF4SW1h
Z2VVbml0cwotICAgIDI3NywgICAvLyBwb3dfMTBCMTBCCi0gICAgMjc5LCAgIC8vIGZpbmRMU0Jf
MjBFCi0gICAgMjgxLCAgIC8vIGZpbmRMU0JfMjBECi0gICAgMjgzLCAgIC8vIHRleHR1cmVfMDBZ
MjBCCi0gICAgMjg1LCAgIC8vIHBhY2tVbm9ybTR4OF8zMEIKLSAgICAyODcsICAgLy8gdGV4dHVy
ZV8wMFgxMEIwMEIKLSAgICAyODksICAgLy8gZnJleHBfMDBCMDBECi0gICAgMjkxLCAgIC8vIHRl
eHR1cmUyRF8wMEkxMEIKLSAgICAyOTMsICAgLy8gbm90XzEwRgotICAgIDI5NSwgICAvLyB0ZXhl
bEZldGNoXzAwUDEwRDAwRAotICAgIDI5OCwgICAvLyBsZXNzVGhhbl8xMEUxMEUKLSAgICAzMDAs
ICAgLy8gY2VpbF8yMEIKLSAgICAzMDIsICAgLy8gdGV4dHVyZUxvZE9mZnNldF8wMFIxMEIwMEIx
MEQKLSAgICAzMDQsICAgLy8gY2xhbXBfMTBEMTBEMTBECi0gICAgMzA2LCAgIC8vIHRleGVsRmV0
Y2hfMDBNMTBEMDBECi0gICAgMzA3LCAgIC8vIHRleHR1cmVfMDBPMTBCCi0gICAgMzA4LCAgIC8v
IHRyYW5zcG9zZV9GMEIKLSAgICAzMTAsICAgLy8gdGV4dHVyZU9mZnNldF8wMFkyMEIyMEQwMEIK
LSAgICAzMTIsICAgLy8gYXRvbWljQ291bnRlckRlY3JlbWVudF8wMEcKLSAgICAzMTQsICAgLy8g
dGV4dHVyZUdyYWRPZmZzZXRfMDBTMjBCMjBCMjBCMjBECi0gICAgMzE2LCAgIC8vIGF0b21pY1hv
cl8wMEUwMEUKLSAgICAzMTgsICAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBSMjBCMTBECi0gICAg
MzIwLCAgIC8vIGdsX0ZyYWdDb29yZAotICAgIDMyMiwgICAvLyBjbGFtcF8zMEUzMEUzMEUKLSAg
ICAzMjQsICAgLy8gdGV4dHVyZVByb2pfMDBOMzBCMDBCCi0gICAgMzI1LCAgIC8vIHRleHR1cmVT
aXplXzAwUjAwRAotICAgIDMyNywgICAvLyBnbF9NYXhGcmFnbWVudEltYWdlVW5pZm9ybXMKLSAg
ICAzMjksICAgLy8gbm9ybWFsaXplXzAwQgotICAgIDMzMSwgICAvLyB0ZXh0dXJlT2Zmc2V0XzAw
STEwQjEwRAotICAgIDMzMywgICAvLyBhdG9taWNFeGNoYW5nZV8wMEUwMEUKLSAgICAzMzUsICAg
Ly8gdGV4dHVyZVByb2pfMDBJMzBCMDBCCi0gICAgMzM3LCAgIC8vIGFjb3NoXzEwQgotICAgIDMz
OSwgICAvLyBnbF9NYXhDb21iaW5lZFNoYWRlck91dHB1dFJlc291cmNlcwotICAgIDM0MSwgICAv
LyBhdG9taWNPcl8wMEUwMEUKLSAgICAzNDMsICAgLy8gbWluXzIwQjAwQgotICAgIDM0NSwgICAv
LyB0ZXh0dXJlUHJval8wME0zMEIwMEIKLSAgICAzNDYsICAgLy8gYXRvbWljTWF4XzAwRDAwRAot
ICAgIDM0OCwgICAvLyB0ZXh0dXJlUHJval8wME0yMEIKLSAgICAzNDksICAgLy8gdGV4dHVyZV8w
MEkxMEIwMEIKLSAgICAzNTEsICAgLy8gcmVmbGVjdF8wMEIwMEIKLSAgICAzNTMsICAgLy8gbW9k
XzIwQjAwQgotICAgIDM1NSwgICAvLyBsZXNzVGhhbl8yMEQyMEQKLSAgICAzNTcsICAgLy8gcmVm
bGVjdF8xMEIxMEIKLSAgICAzNTksICAgLy8gZmxvYXRCaXRzVG9JbnRfMjBCCi0gICAgMzYxLCAg
IC8vIHRleHR1cmVMb2RfMDBKMjBCMDBCCi0gICAgMzYzLCAgIC8vIHNxcnRfMTBCCi0gICAgMzY1
LCAgIC8vIHRleHR1cmVQcm9qTG9kXzAwUzMwQjAwQgotICAgIDM2NywgICAvLyBjbGFtcF8yMEUy
MEUyMEUKLSAgICAzNjksICAgLy8gYXRvbWljQW5kXzAwRTAwRQotICAgIDM3MSwgICAvLyBtYXhf
MjBEMDBECi0gICAgMzczLCAgIC8vIHRleHR1cmVTaXplXzAwSTAwRAotICAgIDM3NSwgICAvLyBn
bF9NYXhDb21wdXRlQXRvbWljQ291bnRlckJ1ZmZlcnMKLSAgICAzNzcsICAgLy8gZ2xfUHJpbWl0
aXZlSURJbgotICAgIDM3OCwgICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwUjEwRDAwRDEwRAotICAg
IDM4MCwgICAvLyBpc2luZl8zMEIKLSAgICAzODIsICAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8w
MGEyMEIxMEQwMEQKLSAgICAzODQsICAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMEkxMEIxMEQK
LSAgICAzODYsICAgLy8gdGV4dHVyZU9mZnNldF8wMEwyMEIxMEQwMEIKLSAgICAzODgsICAgLy8g
dGV4dHVyZUxvZE9mZnNldF8wMFgxMEIwMEIxMEQKLSAgICAzOTAsICAgLy8gdGV4dHVyZV8wMFQy
MEIwMEIKLSAgICAzOTIsICAgLy8gdGV4dHVyZU9mZnNldF8wMEwyMEIxMEQKLSAgICAzOTQsICAg
Ly8gbGVzc1RoYW5FcXVhbF8zMEUzMEUKLSAgICAzOTYsICAgLy8gdGV4dHVyZU9mZnNldF8wMEoy
MEIyMEQwMEIKLSAgICAzOTgsICAgLy8gbWluXzEwRTAwRQotICAgIDQwMCwgICAvLyBsb2dfMzBC
Ci0gICAgNDAyLCAgIC8vIGltYWdlU3RvcmVfMDFKMjBEMzBECi0gICAgNDAzLCAgIC8vIGF0b21p
Y0NvdW50ZXJfMDBHCi0gICAgNDA1LCAgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwUzMwQjIwRAot
ICAgIDQwNywgICAvLyBpbWFnZUxvYWRfMDFJMjBECi0gICAgNDA4LCAgIC8vIHJvdW5kXzAwQgot
ICAgIDQxMCwgICAvLyBzbW9vdGhzdGVwXzAwQjAwQjIwQgotICAgIDQxMiwgICAvLyBpbWFnZUxv
YWRfMDFIMjBECi0gICAgNDEzLCAgIC8vIHRleHR1cmVHYXRoZXJfMDBLMjBCCi0gICAgNDE1LCAg
IC8vIGJpdGZpZWxkSW5zZXJ0XzMwRDMwRDAwRDAwRAotICAgIDQxNywgICAvLyBmd2lkdGhfMTBC
Ci0gICAgNDIwLCAgIC8vIHRleHR1cmVQcm9qTG9kXzAwUjIwQjAwQgotICAgIDQyMiwgICAvLyBu
b3RFcXVhbF8zMEQzMEQKLSAgICA0MjQsICAgLy8gcmVmcmFjdF8xMEIxMEIwMEIKLSAgICA0MjYs
ICAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMjBCMTBECi0gICAgNDI4LCAgIC8vIGdyZWF0ZXJU
aGFuXzMwRDMwRAotICAgIDQzMCwgICAvLyBncmVhdGVyVGhhbl8xMEQxMEQKLSAgICA0MzIsICAg
Ly8gdGV4dHVyZV8wMFUyMEIKLSAgICA0MzQsICAgLy8gdGV4dHVyZVNpemVfMDBhMDBECi0gICAg
NDM2LCAgIC8vIGJpdGZpZWxkRXh0cmFjdF8xMEUwMEQwMEQKLSAgICA0MzgsICAgLy8gZ2xfTWF4
RHJhd0J1ZmZlcnMKLSAgICA0NDAsICAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMFUyMEIxMEQw
MEQKLSAgICA0NDIsICAgLy8gZmxvYXRCaXRzVG9VaW50XzEwQgotICAgIDQ0NCwgICAvLyB0ZXh0
dXJlUHJvakxvZF8wMEozMEIwMEIKLSAgICA0NDYsICAgLy8gdGV4dHVyZTJEUmVjdF8wME8xMEIK
LSAgICA0NDcsICAgLy8gaW11bEV4dGVuZGVkXzIwRDIwRDIwRDIwRAotICAgIDQ0OSwgICAvLyBh
bnlfMzBGCi0gICAgNDUxLCAgIC8vIGRpc3RhbmNlXzMwQjMwQgotICAgIDQ1MywgICAvLyBncmVh
dGVyVGhhbl8yMEQyMEQKLSAgICA0NTUsICAgLy8gdGV4dHVyZU9mZnNldF8wMGEyMEIxMEQKLSAg
ICA0NTcsICAgLy8gZ3JlYXRlclRoYW5fMzBCMzBCCi0gICAgNDU5LCAgIC8vIHRydW5jXzAwQgot
ICAgIDQ2MSwgICAvLyB0ZXh0dXJlXzAwWjIwQjAwQgotICAgIDQ2MywgICAvLyBzaW5oXzMwQgot
ICAgIDQ2NSwgICAvLyBsZW5ndGhfMTBCCi0gICAgNDY3LCAgIC8vIGZpbmRNU0JfMTBFCi0gICAg
NDY5LCAgIC8vIGZpbmRNU0JfMTBECi0gICAgNDcxLCAgIC8vIGRvdF8wMEIwMEIKLSAgICA0NzMs
ICAgLy8gYXNpbmhfMjBCCi0gICAgNDc1LCAgIC8vIGRvdF8zMEIzMEIKLSAgICA0NzcsICAgLy8g
Yml0Q291bnRfMDBFCi0gICAgNDc5LCAgIC8vIHRhbl8zMEIKLSAgICA0ODEsICAgLy8gdGV4dHVy
ZUxvZF8wMFQyMEIwMEIKLSAgICA0ODMsICAgLy8gaW1hZ2VTdG9yZV8wMHoxMEQzMEIKLSAgICA0
ODQsICAgLy8gdXN1YkJvcnJvd18yMEUyMEUyMEUKLSAgICA0ODYsICAgLy8gdGV4dHVyZVByb2pH
cmFkXzAwUjMwQjEwQjEwQgotICAgIDQ4OCwgICAvLyBleHAyXzEwQgotICAgIDQ5MCwgICAvLyB0
ZXh0dXJlUHJval8wME8yMEIKLSAgICA0OTEsICAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBYMjBC
MTBEMDBCCi0gICAgNDkzLCAgIC8vIG91dGVyUHJvZHVjdF8xMEIyMEIKLSAgICA0OTUsICAgLy8g
Z2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVyQnVmZmVycwotICAgIDQ5NiwgICAvLyB0ZXh0dXJl
UHJvakdyYWRPZmZzZXRfMDBYMzBCMTBCMTBCMTBECi0gICAgNDk4LCAgIC8vIHRleHR1cmVPZmZz
ZXRfMDBJMTBCMTBEMDBCCi0gICAgNTAwLCAgIC8vIGNsYW1wXzMwQjAwQjAwQgotICAgIDUwMiwg
ICAvLyBpbnZlcnNlXzUwQgotICAgIDUwNCwgICAvLyBsZXNzVGhhbl8yMEUyMEUKLSAgICA1MDYs
ICAgLy8gZG90XzEwQjEwQgotICAgIDUwOCwgICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFkz
MEIwMEIyMEQKLSAgICA1MTAsICAgLy8gdW5wYWNrSGFsZjJ4MTZfMDBFCi0gICAgNTEyLCAgIC8v
IG1hdHJpeENvbXBNdWx0X0EwQkEwQgotICAgIDUxNCwgICAvLyB0ZXh0dXJlMkRQcm9qTG9kXzAw
STIwQjAwQgotICAgIDUxNiwgICAvLyB0ZXhlbEZldGNoXzAwVzIwRDAwRAotICAgIDUxNywgICAv
LyB0ZXh0dXJlMkRSZWN0UHJval8wME8zMEIKLSAgICA1MTgsICAgLy8gcmFkaWFuc18yMEIKLSAg
ICA1MjAsICAgLy8gdGV4dHVyZUdyYWRfMDBTMjBCMjBCMjBCCi0gICAgNTIyLCAgIC8vIG1heF8x
MEQwMEQKLSAgICA1MjQsICAgLy8gcm91bmRfMzBCCi0gICAgNTI2LCAgIC8vIGdsX01heENvbXB1
dGVUZXh0dXJlSW1hZ2VVbml0cwotICAgIDUyOCwgICAvLyBjbGFtcF8wMEQwMEQwMEQKLSAgICA1
MzAsICAgLy8gc2luXzMwQgotICAgIDUzMiwgICAvLyBmbG9vcl8zMEIKLSAgICA1MzQsICAgLy8g
dGV4dHVyZVByb2pfMDBTMzBCMDBCCi0gICAgNTM2LCAgIC8vIHRleHR1cmVHcmFkXzAwWTIwQjIw
QjIwQgotICAgIDUzOCwgICAvLyBnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJzCi0gICAgNTQw
LCAgIC8vIHRleHR1cmVHYXRoZXJfMDBMMjBCMDBECi0gICAgNTQyLCAgIC8vIHRleHR1cmVQcm9q
R3JhZE9mZnNldF8wMFMzMEIyMEIyMEIyMEQKLSAgICA1NDQsICAgLy8gaW1hZ2VTdG9yZV8wMUEx
MEQzMEQKLSAgICA1NDUsICAgLy8gZ2xfTWF4R2VvbWV0cnlPdXRwdXRWZXJ0aWNlcwotICAgIDU0
NiwgICAvLyB0ZXh0dXJlXzAwSjIwQgotICAgIDU0OCwgICAvLyBnbF9Qb2ludENvb3JkCi0gICAg
NTUwLCAgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwYTIwQjEwRHg0Ci0gICAgNTUzLCAgIC8v
IGRGZHhfMjBCCi0gICAgNTU2LCAgIC8vIGltYWdlU3RvcmVfMDFGMjBEMzBCCi0gICAgNTU3LCAg
IC8vIHRleHR1cmVQcm9qXzAwWDIwQgotICAgIDU1OSwgICAvLyBtYXhfMTBFMTBFCi0gICAgNTYx
LCAgIC8vIG1heF8zMEIzMEIKLSAgICA1NjMsICAgLy8gY2xhbXBfMTBFMTBFMTBFCi0gICAgNTY1
LCAgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBTMjBEMDBEMjBECi0gICAgNTY3LCAgIC8vIHRleHR1
cmVfMDBOMTBCCi0gICAgNTY4LCAgIC8vIHRleHR1cmVfMDBMMjBCCi0gICAgNTcwLCAgIC8vIGJh
cnJpZXJfCi0gICAgNTcyLCAgIC8vIGdsX01heEdlb21ldHJ5VW5pZm9ybUNvbXBvbmVudHMKLSAg
ICA1NzMsICAgLy8gZ3JlYXRlclRoYW5FcXVhbF8yMEUyMEUKLSAgICA1NzUsICAgLy8gbGVzc1Ro
YW5fMTBEMTBECi0gICAgNTc3LCAgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBhMjBEMDBEMTBECi0g
ICAgNTc5LCAgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFgyMEIxMEIxMEIxMEQKLSAgICA1
ODEsICAgLy8gdGV4dHVyZTJEUHJval8wMEkyMEIKLSAgICA1ODMsICAgLy8gdGV4dHVyZTNEUHJv
akxvZF8wMEozMEIwMEIKLSAgICA1ODQsICAgLy8gbm90XzIwRgotICAgIDU4NiwgICAvLyBFbXB0
eQotICAgIDU4NiwgICAvLyBmaW5kTVNCXzIwRAotICAgIDU4OCwgICAvLyBmaW5kTVNCXzIwRQot
ICAgIDU5MCwgICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwSTEwRDAwRDEwRAotICAgIDU5MiwgICAv
LyB0ZXh0dXJlR2F0aGVyXzAwSTEwQjAwRAotICAgIDU5NCwgICAvLyB0ZXhlbEZldGNoXzAwVjEw
RDAwRAotICAgIDU5NywgICAvLyBvdXRlclByb2R1Y3RfMjBCMjBCCi0gICAgNTk5LCAgIC8vIG1p
eF8xMEQxMEQxMEYKLSAgICA2MDEsICAgLy8gYXRhbl8zMEIzMEIKLSAgICA2MDMsICAgLy8gdW5w
YWNrU25vcm00eDhfMDBFCi0gICAgNjA1LCAgIC8vIGJpdENvdW50XzMwRQotICAgIDYwNywgICAv
LyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFIyMEIwMEIxMEQKLSAgICA2MDksICAgLy8gbG9nXzIw
QgotICAgIDYxMSwgICAvLyBhc2luXzMwQgotICAgIDYxMywgICAvLyB0ZXh0dXJlR2F0aGVyXzAw
ZjIwQgotICAgIDYxNCwgICAvLyBtb2RmXzMwQjMwQgotICAgIDYxNiwgICAvLyB0ZXh0dXJlXzAw
eTEwQgotICAgIDYxOCwgICAvLyBpc25hbl8yMEIKLSAgICA2MjAsICAgLy8gbWF4XzAwQjAwQgot
ICAgIDYyMiwgICAvLyByb3VuZEV2ZW5fMjBCCi0gICAgNjI0LCAgIC8vIGZ3aWR0aF8wMEIKLSAg
ICA2MjcsICAgLy8gdGV4dHVyZVByb2pHcmFkXzAwSjMwQjIwQjIwQgotICAgIDYyOSwgICAvLyBk
RmR5XzEwQgotICAgIDYzMiwgICAvLyBvdXRlclByb2R1Y3RfMzBCMTBCCi0gICAgNjM0LCAgIC8v
IGZsb2F0Qml0c1RvSW50XzMwQgotICAgIDYzNiwgICAvLyB0ZXh0dXJlUHJval8wMEozMEIKLSAg
ICA2MzgsICAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBkMTBCMDBCMTBEeDQKLSAgICA2NDEs
ICAgLy8gZ2xfSW52b2NhdGlvbklECi0gICAgNjQyLCAgIC8vIG1heF8zMEUwMEUKLSAgICA2NDQs
ICAgLy8gZXhwMl8yMEIKLSAgICA2NDYsICAgLy8gdGV4dHVyZUxvZF8wMGQyMEIwMEIKLSAgICA2
NDgsICAgLy8gcmFkaWFuc18xMEIKLSAgICA2NTAsICAgLy8gdGV4ZWxGZXRjaF8wMFUyMEQwMEQK
LSAgICA2NTIsICAgLy8gZ2xfTWF4Q29tcHV0ZVdvcmtHcm91cFNpemUKLSAgICA2NTQsICAgLy8g
Z2xfQmFzZVZlcnRleAotICAgIDY1NSwgICAvLyBtYXhfMDBEMDBECi0gICAgNjU3LCAgIC8vIGds
X0xhc3RGcmFnRGF0YQotICAgIDY1OSwgICAvLyBjZWlsXzMwQgotICAgIDY2MSwgICAvLyBhdG9t
aWNNaW5fMDBFMDBFCi0gICAgNjYzLCAgIC8vIGdsX01heENvbWJpbmVkVGV4dHVyZUltYWdlVW5p
dHMKLSAgICA2NjUsICAgLy8gYml0Q291bnRfMTBFCi0gICAgNjY3LCAgIC8vIHRleHR1cmVfMDBT
MjBCMDBCCi0gICAgNjY5LCAgIC8vIHRleHR1cmVHYXRoZXJfMDBlMjBCMDBCCi0gICAgNjcxLCAg
IC8vIGdsX0RlcHRoUmFuZ2VQYXJhbWV0ZXJzCi0gICAgNjczLCAgIC8vIGRpc3RhbmNlXzEwQjEw
QgotICAgIDY3NSwgICAvLyByZWZsZWN0XzIwQjIwQgotICAgIDY3NywgICAvLyBtb2RfMTBCMDBC
Ci0gICAgNjc5LCAgIC8vIHVpbnRCaXRzVG9GbG9hdF8xMEUKLSAgICA2ODEsICAgLy8gdGV4dHVy
ZUdyYWRfMDBaMjBCMjBCMjBCCi0gICAgNjgzLCAgIC8vIGVxdWFsXzEwRjEwRgotICAgIDY4NSwg
ICAvLyBjb3NoXzAwQgotICAgIDY4NywgICAvLyBiaXRmaWVsZFJldmVyc2VfMDBECi0gICAgNjg5
LCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8wMEUKLSAgICA2OTEsICAgLy8gbWF4XzIwRTIwRQotICAg
IDY5MywgICAvLyBtYXRyaXhDb21wTXVsdF83MEI3MEIKLSAgICA2OTQsICAgLy8gYml0ZmllbGRF
eHRyYWN0XzMwRTAwRDAwRAotICAgIDY5NiwgICAvLyB0ZXh0dXJlTG9kXzAwSTEwQjAwQgotICAg
IDY5OCwgICAvLyBncmVhdGVyVGhhbkVxdWFsXzEwRDEwRAotICAgIDcwMCwgICAvLyBpbWFnZVNp
emVfMDFGCi0gICAgNzAxLCAgIC8vIHRleHR1cmVfMDBlMzBCMDBCCi0gICAgNzAzLCAgIC8vIHRl
eHR1cmVMb2RPZmZzZXRfMDBZMjBCMDBCMjBECi0gICAgNzA1LCAgIC8vIGxvZzJfMDBCCi0gICAg
NzA3LCAgIC8vIGdsX0xhc3RGcmFnQ29sb3IKLSAgICA3MDgsICAgLy8gYWJzXzEwRAotICAgIDcx
MCwgICAvLyBhYnNfMTBCCi0gICAgNzEyLCAgIC8vIGFjb3NfMzBCCi0gICAgNzE0LCAgIC8vIHRh
bmhfMTBCCi0gICAgNzE2LCAgIC8vIGRlZ3JlZXNfMzBCCi0gICAgNzE4LCAgIC8vIGltYWdlU3Rv
cmVfMDFFMjBEMzBFCi0gICAgNzE5LCAgIC8vIGRGZHhfMTBCCi0gICAgNzIyLCAgIC8vIHRleHR1
cmVQcm9qT2Zmc2V0XzAwSTMwQjEwRAotICAgIDcyNCwgICAvLyBiaXRmaWVsZFJldmVyc2VfMzBF
Ci0gICAgNzI2LCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8zMEQKLSAgICA3MjgsICAgLy8gaW52ZXJz
ZXNxcnRfMzBCCi0gICAgNzMwLCAgIC8vIGdsX0xvY2FsSW52b2NhdGlvbklECi0gICAgNzMyLCAg
IC8vIEVtcHR5Ci0gICAgNzMyLCAgIC8vIGNsYW1wXzAwQjAwQjAwQgotICAgIDczNCwgICAvLyB0
ZXh0dXJlR2F0aGVyXzAwZDEwQgotICAgIDczNSwgICAvLyBmcmV4cF8yMEIyMEQKLSAgICA3Mzcs
ICAgLy8gaW50Qml0c1RvRmxvYXRfMjBECi0gICAgNzM5LCAgIC8vIGZyYWN0XzAwQgotICAgIDc0
MSwgICAvLyBnbF9GcmFnRGVwdGgKLSAgICA3NDMsICAgLy8gbWluXzMwRTAwRQotICAgIDc0NSwg
ICAvLyBleHBfMjBCCi0gICAgNzQ3LCAgIC8vIGVxdWFsXzIwQjIwQgotICAgIDc0OSwgICAvLyB0
ZXh0dXJlUHJvakxvZE9mZnNldF8wMFgyMEIwMEIxMEQKLSAgICA3NTEsICAgLy8gYWNvc2hfMDBC
Ci0gICAgNzUzLCAgIC8vIGxvZ18xMEIKLSAgICA3NTUsICAgLy8gdGV4dHVyZVZpZGVvV0VCR0xf
MDB5MTBCCi0gICAgNzU3LCAgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwUzMwQjAwQjIwRAot
ICAgIDc1OSwgICAvLyBzaW5oXzIwQgotICAgIDc2MSwgICAvLyBmbWFfMTBCMTBCMTBCCi0gICAg
NzY0LCAgIC8vIHJlZmxlY3RfMzBCMzBCCi0gICAgNzY2LCAgIC8vIG91dGVyUHJvZHVjdF8zMEIy
MEIKLSAgICA3NjgsICAgLy8gdGV4dHVyZV8wMFUyMEIwMEIKLSAgICA3NzAsICAgLy8gdGV4dHVy
ZV8wMFMyMEIKLSAgICA3NzIsICAgLy8gb3V0ZXJQcm9kdWN0XzIwQjEwQgotICAgIDc3NCwgICAv
LyBtaXhfMDBFMDBFMDBGCi0gICAgNzc2LCAgIC8vIHVtdWxFeHRlbmRlZF8xMEUxMEUxMEUxMEUK
LSAgICA3NzgsICAgLy8gbWl4XzAwRDAwRDAwRgotICAgIDc4MCwgICAvLyB0ZXh0dXJlR3JhZE9m
ZnNldF8wMGEyMEIxMEIxMEIxMEQKLSAgICA3ODIsICAgLy8gbm90RXF1YWxfMjBGMjBGCi0gICAg
Nzg0LCAgIC8vIG1vZF8zMEIzMEIKLSAgICA3ODYsICAgLy8gYml0ZmllbGRFeHRyYWN0XzEwRDAw
RDAwRAotICAgIDc4OCwgICAvLyBzaWduXzMwQgotICAgIDc5MCwgICAvLyBzaWduXzMwRAotICAg
IDc5MiwgICAvLyBwb3dfMDBCMDBCCi0gICAgNzk0LCAgIC8vIG1vZF8wMEIwMEIKLSAgICA3OTYs
ICAgLy8gdGV4dHVyZV8wMFkyMEIwMEIKLSAgICA3OTgsICAgLy8gbm90RXF1YWxfMzBCMzBCCi0g
ICAgODAwLCAgIC8vIHJvdW5kRXZlbl8xMEIKLSAgICA4MDIsICAgLy8gdGV4dHVyZTJEUHJvakxv
ZEVYVF8wMEkzMEIwMEIKLSAgICA4MDMsICAgLy8gYXRhbmhfMzBCCi0gICAgODA1LCAgIC8vIGRG
ZHlfMjBCCi0gICAgODA4LCAgIC8vIHRleHR1cmVQcm9qXzAwWTMwQgotICAgIDgxMCwgICAvLyBi
aXRDb3VudF8yMEQKLSAgICA4MTIsICAgLy8gc3RlcF8wMEIwMEIKLSAgICA4MTQsICAgLy8gdGV4
ZWxGZXRjaF8wMEwyMEQwMEQKLSAgICA4MTYsICAgLy8gbWVtb3J5QmFycmllckJ1ZmZlcl8KLSAg
ICA4MTgsICAgLy8gaXNpbmZfMDBCCi0gICAgODIwLCAgIC8vIGltYWdlU2l6ZV8wMHoKLSAgICA4
MjEsICAgLy8gZGlzdGFuY2VfMjBCMjBCCi0gICAgODIzLCAgIC8vIHRleHR1cmVHcmFkXzAwVTIw
QjEwQjEwQgotICAgIDgyNSwgICAvLyB1YWRkQ2FycnlfMzBFMzBFMzBFCi0gICAgODI3LCAgIC8v
IG1vZF8zMEIwMEIKLSAgICA4MjksICAgLy8gdGV4dHVyZV8wMEsyMEIwMEIKLSAgICA4MzEsICAg
Ly8gZ2xfTWF4Q29tYmluZWRJbWFnZVVuaWZvcm1zCi0gICAgODMzLCAgIC8vIGF0b21pY0NvbXBT
d2FwXzAwRDAwRDAwRAotICAgIDgzNSwgICAvLyB5dXZfMl9yZ2JfMjBCMDBICi0gICAgODM2LCAg
IC8vIHRleHR1cmVHYXRoZXJfMDBmMjBCMDBCCi0gICAgODM4LCAgIC8vIGdyZWF0ZXJUaGFuXzIw
RTIwRQotICAgIDg0MCwgICAvLyB0ZXh0dXJlR3JhZF8wMGEyMEIxMEIxMEIKLSAgICA4NDIsICAg
Ly8gdGV4dHVyZU9mZnNldF8wMFUyMEIxMEQwMEIKLSAgICA4NDQsICAgLy8gaW50Qml0c1RvRmxv
YXRfMTBECi0gICAgODQ2LCAgIC8vIHRleHR1cmVfMDBKMjBCMDBCCi0gICAgODQ4LCAgIC8vIHJl
ZnJhY3RfMjBCMjBCMDBCCi0gICAgODUwLCAgIC8vIHRleHR1cmVQcm9qTG9kXzAwSTMwQjAwQgot
ICAgIDg1MiwgICAvLyByZWZyYWN0XzAwQjAwQjAwQgotICAgIDg1NCwgICAvLyBmaW5kTFNCXzEw
RAotICAgIDg1NiwgICAvLyBmaW5kTFNCXzEwRQotICAgIDg1OCwgICAvLyBtaXhfMTBCMTBCMTBG
Ci0gICAgODYwLCAgIC8vIG1peF8xMEIxMEIxMEIKLSAgICA4NjIsICAgLy8gdGV4dHVyZVByb2pf
MDBZMzBCMDBCCi0gICAgODY0LCAgIC8vIHRleHR1cmUzRF8wMEoyMEIKLSAgICA4NjUsICAgLy8g
Z2xfU2Vjb25kYXJ5RnJhZ0RhdGFFWFQKLSAgICA4NjYsICAgLy8gdHJhbnNwb3NlX0QwQgotICAg
IDg2OCwgICAvLyBsb2cyXzMwQgotICAgIDg3MCwgICAvLyB0ZXh0dXJlR3JhZF8wMEoyMEIyMEIy
MEIKLSAgICA4NzIsICAgLy8gdGV4dHVyZVByb2pHcmFkXzAwZDMwQjEwQjEwQgotICAgIDg3NCwg
ICAvLyBmcmFjdF8zMEIKLSAgICA4NzYsICAgLy8gZ2xfTG9jYWxJbnZvY2F0aW9uSW5kZXgKLSAg
ICA4NzgsICAgLy8gdGV4dHVyZVNpemVfMDBKMDBECi0gICAgODgwLCAgIC8vIHRleHR1cmVHYXRo
ZXJPZmZzZXRfMDBJMTBCMTBEMDBECi0gICAgODgyLCAgIC8vIHRleHR1cmVHYXRoZXJfMDBYMTBC
MDBECi0gICAgODg0LCAgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBVMjBEMDBEMTBECi0gICAgODg2
LCAgIC8vIHRleHR1cmVTaXplXzAwTDAwRAotICAgIDg4OCwgICAvLyB0ZXh0dXJlU2l6ZV8wMGUw
MEQKLSAgICA4OTAsICAgLy8gbm90RXF1YWxfMjBFMjBFCi0gICAgODkyLCAgIC8vIHRleHR1cmVM
b2RPZmZzZXRfMDBkMjBCMDBCMTBECi0gICAgODk0LCAgIC8vIGludmVyc2VfQTBCCi0gICAgODk2
LCAgIC8vIHRleHR1cmVQcm9qR3JhZF8wMFgyMEIxMEIxMEIKLSAgICA4OTgsICAgLy8gbWF4XzMw
RTMwRQotICAgIDkwMCwgICAvLyBpc25hbl8zMEIKLSAgICA5MDIsICAgLy8gaW11bEV4dGVuZGVk
XzAwRDAwRDAwRDAwRAotICAgIDkwNCwgICAvLyBnbF9pbgotICAgIDkwNSwgICAvLyBhdGFuXzIw
QjIwQgotICAgIDkwNywgICAvLyB1c3ViQm9ycm93XzAwRTAwRTAwRQotICAgIDkwOSwgICAvLyB0
ZXh0dXJlUHJvakxvZE9mZnNldF8wMEozMEIwMEIyMEQKLSAgICA5MTEsICAgLy8gZnJleHBfMzBC
MzBECi0gICAgOTEzLCAgIC8vIGRlZ3JlZXNfMjBCCi0gICAgOTE1LCAgIC8vIG1pbl8zMEUzMEUK
LSAgICA5MTcsICAgLy8gaW1hZ2VMb2FkXzAxQjEwRAotICAgIDkxOCwgICAvLyB0ZXh0dXJlMkRQ
cm9qXzAwSTMwQjAwQgotICAgIDkyMCwgICAvLyB0ZXh0dXJlQ3ViZUdyYWRFWFRfMDBLMjBCMjBC
MjBCCi0gICAgOTIxLCAgIC8vIHRleHR1cmVfMDBJMTBCCi0gICAgOTIzLCAgIC8vIG1pbl8wMEIw
MEIKLSAgICA5MjUsICAgLy8gZ2xfSW5zdGFuY2VJRAotICAgIDkyNywgICAvLyB0ZXhlbEZldGNo
XzAwYzIwRDAwRAotICAgIDkyOCwgICAvLyBnbF9NYXhWZXJ0ZXhJbWFnZVVuaWZvcm1zCi0gICAg
OTMwLCAgIC8vIHNxcnRfMDBCCi0gICAgOTMyLCAgIC8vIG5vcm1hbGl6ZV8yMEIKLSAgICA5MzQs
ICAgLy8gZ2xfTWF4RnJhZ21lbnRBdG9taWNDb3VudGVyQnVmZmVycwotICAgIDkzNiwgICAvLyBn
bF9Xb3JrR3JvdXBJRAotICAgIDkzOCwgICAvLyBkZWdyZWVzXzAwQgotICAgIDk0MCwgICAvLyBp
bnZlcnNlX0YwQgotICAgIDk0MiwgICAvLyBtaW5fMjBFMDBFCi0gICAgOTQ0LCAgIC8vIHRleHR1
cmVQcm9qTG9kXzAwUjMwQjAwQgotICAgIDk0NiwgICAvLyB0ZXh0dXJlU2l6ZV8wMFAKLSAgICA5
NDksICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBkMjBCMTBCMTBCMTBECi0gICAgOTUxLCAgIC8v
IHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwUjEwQjEwRHg0Ci0gICAgOTU0LCAgIC8vIHRleHR1cmVQ
cm9qTG9kT2Zmc2V0XzAwUjMwQjAwQjEwRAotICAgIDk1NiwgICAvLyBhdGFuXzAwQgotICAgIDk1
OCwgICAvLyBhdG9taWNFeGNoYW5nZV8wMEQwMEQKLSAgICA5NjAsICAgLy8gdGV4dHVyZUdhdGhl
ck9mZnNldF8wMFIxMEIxMEQwMEQKLSAgICA5NjIsICAgLy8gZ2xfTWF4R2VvbWV0cnlBdG9taWND
b3VudGVycwotICAgIDk2MywgICAvLyB0ZXh0dXJlMkRfMDBJMTBCMDBCCi0gICAgOTY1LCAgIC8v
IHRleHR1cmVQcm9qXzAwWDIwQjAwQgotICAgIDk2NywgICAvLyBjbGFtcF8yMEQyMEQyMEQKLSAg
ICA5NjksICAgLy8gZ3JlYXRlclRoYW5fMzBFMzBFCi0gICAgOTcxLCAgIC8vIGZyZXhwXzEwQjEw
RAotICAgIDk3MywgICAvLyBtYXhfMTBFMDBFCi0gICAgOTc1LCAgIC8vIHNtb290aHN0ZXBfMDBC
MDBCMTBCCi0gICAgOTc3LCAgIC8vIGdsX0dsb2JhbEludm9jYXRpb25JRAotICAgIDk3OSwgICAv
LyBtYXRyaXhDb21wTXVsdF82MEI2MEIKLSAgICA5ODAsICAgLy8gbWVtb3J5QmFycmllclNoYXJl
ZF8KLSAgICA5ODIsICAgLy8gbm9ybWFsaXplXzEwQgotICAgIDk4NCwgICAvLyB1bnBhY2tTbm9y
bTJ4MTZfMDBFCi0gICAgOTg2LCAgIC8vIGltYWdlTG9hZF8wMHoxMEQKLSAgICA5ODcsICAgLy8g
bGVzc1RoYW5fMzBEMzBECi0gICAgOTg5LCAgIC8vIGF0YW5fMDBCMDBCCi0gICAgOTkxLCAgIC8v
IGJpdGZpZWxkRXh0cmFjdF8yMEQwMEQwMEQKLSAgICA5OTMsICAgLy8gdGV4dHVyZV8wMEwyMEIw
MEIKLSAgICA5OTUsICAgLy8gbm90RXF1YWxfMTBCMTBCCi0gICAgOTk3LCAgIC8vIGltYWdlTG9h
ZF8wMUcyMEQKLSAgICA5OTgsICAgLy8gYml0ZmllbGRFeHRyYWN0XzAwRTAwRDAwRAotICAgIDEw
MDAsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMGEyMEIxMER4NDAwRAotICAgIDEwMDMsICAv
LyBtaXhfMTBFMTBFMTBGCi0gICAgMTAwNSwgIC8vIHRydW5jXzMwQgotICAgIDEwMDcsICAvLyBt
YXRyaXhDb21wTXVsdF9FMEJFMEIKLSAgICAxMDA4LCAgLy8gbGVuZ3RoXzAwQgotICAgIDEwMTAs
ICAvLyBhbnlfMjBGCi0gICAgMTAxMiwgIC8vIGdsX1BlclZlcnRleAotICAgIDEwMTMsICAvLyB0
ZXh0dXJlUHJval8wMFgzMEIwMEIKLSAgICAxMDE1LCAgLy8gZ2xfSGVscGVySW52b2NhdGlvbgot
ICAgIDEwMTcsICAvLyB0ZXh0dXJlR2F0aGVyXzAwTDIwQgotICAgIDEwMTksICAvLyBnbF9WaWV3
SURfT1ZSCi0gICAgMTAyMCwgIC8vIGZsb29yXzEwQgotICAgIDEwMjIsICAvLyBzaW5fMTBCCi0g
ICAgMTAyNCwgIC8vIHRleHR1cmVTaXplXzAwTjAwRAotICAgIDEwMjUsICAvLyB0ZXhlbEZldGNo
T2Zmc2V0XzAwSjIwRDAwRDIwRAotICAgIDEwMjcsICAvLyB0YW5fMDBCCi0gICAgMTAyOSwgIC8v
IG1vZF8yMEIyMEIKLSAgICAxMDMxLCAgLy8gaW1hZ2VMb2FkXzAxSjIwRAotICAgIDEwMzIsICAv
LyBnbF9Xb3JrR3JvdXBTaXplCi0gICAgMTAzNCwgIC8vIGFzaW5oXzMwQgotICAgIDEwMzYsICAv
LyBvdXRlclByb2R1Y3RfMTBCMzBCCi0gICAgMTAzOCwgIC8vIHRleHR1cmVDdWJlXzAwSzIwQgot
ICAgIDEwNDAsICAvLyB0ZXh0dXJlU2l6ZV8wMGMKLSAgICAxMDQxLCAgLy8gdGV4dHVyZVNpemVf
MDBiCi0gICAgMTA0NCwgIC8vIGNvc18wMEIKLSAgICAxMDQ2LCAgLy8gbWluXzIwQjIwQgotICAg
IDEwNDgsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMGYzMEIxMEIxMEIxMEQKLSAgICAxMDUwLCAg
Ly8gbWF4XzIwRDIwRAotICAgIDEwNTIsICAvLyB0ZXh0dXJlUHJval8wMEkzMEIKLSAgICAxMDU0
LCAgLy8gbWF4XzEwRDEwRAotICAgIDEwNTYsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwYTIwQjEwRDAw
QgotICAgIDEwNTgsICAvLyB0ZXh0dXJlR2F0aGVyXzAwWDEwQgotICAgIDEwNjAsICAvLyB0ZXh0
dXJlR2F0aGVyT2Zmc2V0c18wMEwyMEIxMER4NAotICAgIDEwNjMsICAvLyBwb3dfMzBCMzBCCi0g
ICAgMTA2NSwgIC8vIHRleHR1cmVHYXRoZXJfMDBhMjBCCi0gICAgMTA2NywgIC8vIHNtb290aHN0
ZXBfMTBCMTBCMTBCCi0gICAgMTA2OSwgIC8vIHRleHR1cmVQcm9qXzAwTzMwQgotICAgIDEwNzAs
ICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwZDEwQjAwQjEwRAotICAgIDEwNzIsICAvLyByZWZy
YWN0XzMwQjMwQjAwQgotICAgIDEwNzQsICAvLyBiaXRmaWVsZEluc2VydF8yMEUyMEUwMEQwMEQK
LSAgICAxMDc2LCAgLy8gZmxvb3JfMjBCCi0gICAgMTA3OCwgIC8vIGVxdWFsXzIwRTIwRQotICAg
IDEwODAsICAvLyBtaXhfMDBCMDBCMDBCCi0gICAgMTA4MiwgIC8vIGltYWdlU2l6ZV8wMUIKLSAg
ICAxMDgzLCAgLy8gZ3JlYXRlclRoYW5FcXVhbF8yMEIyMEIKLSAgICAxMDg1LCAgLy8gdWFkZENh
cnJ5XzAwRTAwRTAwRQotICAgIDEwODcsICAvLyBzaW5fMjBCCi0gICAgMTA4OSwgIC8vIHRleHR1
cmVTaXplXzAwUQotICAgIDEwOTAsICAvLyByb3VuZF8yMEIKLSAgICAxMDkyLCAgLy8gbWF0cml4
Q29tcE11bHRfOTBCOTBCCi0gICAgMTA5MywgIC8vIHRleHR1cmVQcm9qTG9kXzAwZDMwQjAwQgot
ICAgIDEwOTUsICAvLyB0ZXh0dXJlU2l6ZV8wMFcKLSAgICAxMDk2LCAgLy8gdGV4dHVyZVByb2pM
b2RfMDBYMjBCMDBCCi0gICAgMTA5OCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwSTEwQjEw
RHg0Ci0gICAgMTEwMSwgIC8vIGdsX01heENvbWJpbmVkQXRvbWljQ291bnRlckJ1ZmZlcnMKLSAg
ICAxMTAzLCAgLy8gaXNuYW5fMDBCCi0gICAgMTEwNSwgIC8vIHVtdWxFeHRlbmRlZF8zMEUzMEUz
MEUzMEUKLSAgICAxMTA3LCAgLy8gZmFjZWZvcndhcmRfMzBCMzBCMzBCCi0gICAgMTEwOSwgIC8v
IHRleHR1cmVHcmFkT2Zmc2V0XzAwWTIwQjIwQjIwQjIwRAotICAgIDExMTEsICAvLyBjbGFtcF8z
MEUwMEUwMEUKLSAgICAxMTEzLCAgLy8gYXNpbl8wMEIKLSAgICAxMTE1LCAgLy8gY2VpbF8wMEIK
LSAgICAxMTE3LCAgLy8gdGV4dHVyZTNEXzAwSjIwQjAwQgotICAgIDExMTgsICAvLyBkaXN0YW5j
ZV8wMEIwMEIKLSAgICAxMTIwLCAgLy8gdGV4dHVyZV8wMGEyMEIKLSAgICAxMTIyLCAgLy8gdGV4
dHVyZUdhdGhlck9mZnNldF8wMGEyMEIxMEQKLSAgICAxMTI0LCAgLy8gdGV4dHVyZUdyYWRfMDBm
MzBCMTBCMTBCCi0gICAgMTEyNiwgIC8vIHRleHR1cmUyRFByb2pfMDBJMzBCCi0gICAgMTEyOCwg
IC8vIG1vZGZfMjBCMjBCCi0gICAgMTEzMCwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwSTEwQjEw
QjEwQjEwRAotICAgIDExMzIsICAvLyBub3RFcXVhbF8zMEUzMEUKLSAgICAxMTM0LCAgLy8gdGV4
dHVyZUdhdGhlcl8wMEkxMEIKLSAgICAxMTM2LCAgLy8gbGVzc1RoYW5FcXVhbF8xMEUxMEUKLSAg
ICAxMTM4LCAgLy8gaW52ZXJzZXNxcnRfMjBCCi0gICAgMTE0MCwgIC8vIHRleHR1cmVMb2RPZmZz
ZXRfMDBKMjBCMDBCMjBECi0gICAgMTE0MiwgIC8vIG1pbl8zMEQzMEQKLSAgICAxMTQ0LCAgLy8g
dGV4dHVyZU9mZnNldF8wMFIxMEIxMEQwMEIKLSAgICAxMTQ2LCAgLy8gdGV4dHVyZUdyYWRfMDBl
MzBCMjBCMjBCCi0gICAgMTE0OCwgIC8vIGF0b21pY0FkZF8wMEUwMEUKLSAgICAxMTUwLCAgLy8g
Z2xfTWF4R2VvbWV0cnlJbnB1dENvbXBvbmVudHMKLSAgICAxMTUxLCAgLy8gZmluZE1TQl8zMEUK
LSAgICAxMTUzLCAgLy8gZmluZE1TQl8zMEQKLSAgICAxMTU1LCAgLy8gdGV4dHVyZUdyYWRfMDBY
MTBCMTBCMTBCCi0gICAgMTE1NywgIC8vIGxlbmd0aF8zMEIKLSAgICAxMTU5LCAgLy8gZ3JlYXRl
clRoYW5FcXVhbF8zMEUzMEUKLSAgICAxMTYxLCAgLy8gZndpZHRoXzMwQgotICAgIDExNjQsICAv
LyB0ZXh0dXJlR3JhZF8wMEsyMEIyMEIyMEIKLSAgICAxMTY2LCAgLy8gbWl4XzIwQjIwQjIwRgot
ICAgIDExNjgsICAvLyB0ZXhlbEZldGNoXzAwUzIwRDAwRAotICAgIDExNzAsICAvLyB0ZXh0dXJl
R3JhZE9mZnNldF8wMFUyMEIxMEIxMEIxMEQKLSAgICAxMTcyLCAgLy8gbWl4XzIwQjIwQjIwQgot
ICAgIDExNzQsICAvLyBmbG9hdEJpdHNUb0ludF8xMEIKLSAgICAxMTc2LCAgLy8gbWF4XzEwQjAw
QgotICAgIDExNzgsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwTDIwQjEwRAotICAgIDExODAs
ICAvLyB0ZXh0dXJlTG9kXzAwYTIwQjAwQgotICAgIDExODIsICAvLyBhbnlfMTBGCi0gICAgMTE4
NCwgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMGQzMEIxMEIxMEIxMEQKLSAgICAxMTg2LCAg
Ly8gdGV4dHVyZVByb2pfMDBOMzBCCi0gICAgMTE4NywgIC8vIGdsX01heFByb2dyYW1UZXhlbE9m
ZnNldAotICAgIDExODksICAvLyBleHAyXzMwQgotICAgIDExOTEsICAvLyB0ZXhlbEZldGNoT2Zm
c2V0XzAwTDIwRDAwRDEwRAotICAgIDExOTMsICAvLyBlcXVhbF8zMEQzMEQKLSAgICAxMTk1LCAg
Ly8gdGV4dHVyZTNEUHJval8wMEozMEIwMEIKLSAgICAxMTk2LCAgLy8gaW1hZ2VTdG9yZV8wMUQy
MEQzMEQKLSAgICAxMTk3LCAgLy8gcGFja1Nub3JtMngxNl8xMEIKLSAgICAxMTk5LCAgLy8gZmxv
YXRCaXRzVG9VaW50XzMwQgotICAgIDEyMDEsICAvLyBsZXNzVGhhbkVxdWFsXzMwRDMwRAotICAg
IDEyMDMsICAvLyBnbF9NYXhHZW9tZXRyeUltYWdlVW5pZm9ybXMKLSAgICAxMjA0LCAgLy8gYXNp
bmhfMDBCCi0gICAgMTIwNiwgIC8vIHRleHR1cmVPZmZzZXRfMDBSMTBCMTBECi0gICAgMTIwOCwg
IC8vIGdyZWF0ZXJUaGFuRXF1YWxfMTBFMTBFCi0gICAgMTIxMCwgIC8vIHRleHR1cmVQcm9qR3Jh
ZE9mZnNldF8wMEkzMEIxMEIxMEIxMEQKLSAgICAxMjEyLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFoy
MEIKLSAgICAxMjE0LCAgLy8gdGV4dHVyZU9mZnNldF8wMFgxMEIxMEQKLSAgICAxMjE2LCAgLy8g
Y29zaF8zMEIKLSAgICAxMjE4LCAgLy8gdGV4dHVyZU9mZnNldF8wMGQyMEIxMEQwMEIKLSAgICAx
MjIwLCAgLy8gdGV4dHVyZV8wMFIxMEIKLSAgICAxMjIyLCAgLy8gdGV4dHVyZU9mZnNldF8wMFMy
MEIyMEQwMEIKLSAgICAxMjI0LCAgLy8gdXN1YkJvcnJvd18zMEUzMEUzMEUKLSAgICAxMjI2LCAg
Ly8gcmFkaWFuc18wMEIKLSAgICAxMjI4LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBSMjBCMTBE
MDBCCi0gICAgMTIzMCwgIC8vIGxkZXhwXzMwQjMwRAotICAgIDEyMzIsICAvLyBtYXhfMzBCMDBC
Ci0gICAgMTIzNCwgIC8vIG1pbl8yMEQyMEQKLSAgICAxMjM2LCAgLy8gdGV4dHVyZUdhdGhlck9m
ZnNldHNfMDBmMjBCMDBCMTBEeDQKLSAgICAxMjM5LCAgLy8gc3RlcF8xMEIxMEIKLSAgICAxMjQx
LCAgLy8gZ2xfTWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzRVhUCi0gICAgMTI0MiwgIC8vIHRleHR1
cmVHYXRoZXJPZmZzZXRzXzAwTDIwQjEwRHg0MDBECi0gICAgMTI0NSwgIC8vIHN0ZXBfMzBCMzBC
Ci0gICAgMTI0NywgIC8vIGJpdGZpZWxkUmV2ZXJzZV8xMEUKLSAgICAxMjQ5LCAgLy8gYml0Zmll
bGRSZXZlcnNlXzEwRAotICAgIDEyNTEsICAvLyB0ZXh0dXJlM0RQcm9qXzAwSjMwQgotICAgIDEy
NTIsICAvLyBnbF9GcmFnRGVwdGhFWFQKLSAgICAxMjUzLCAgLy8gbWF0cml4Q29tcE11bHRfQjBC
QjBCCi0gICAgMTI1NCwgIC8vIGxlc3NUaGFuXzMwQjMwQgotICAgIDEyNTYsICAvLyBjcm9zc18y
MEIyMEIKLSAgICAxMjU4LCAgLy8gYWxsXzEwRgotICAgIDEyNjAsICAvLyBjbGFtcF8yMEIwMEIw
MEIKLSAgICAxMjYyLCAgLy8gdGFuaF8yMEIKLSAgICAxMjY0LCAgLy8gZEZkeF8wMEIKLSAgICAx
MjY3LCAgLy8gbWF0cml4Q29tcE11bHRfRjBCRjBCCi0gICAgMTI2OSwgIC8vIHRleHR1cmVQcm9q
T2Zmc2V0XzAwWTMwQjIwRAotICAgIDEyNzEsICAvLyBhYnNfMDBECi0gICAgMTI3MywgIC8vIGFi
c18wMEIKLSAgICAxMjc1LCAgLy8gdGV4dHVyZUxvZF8wMFIxMEIwMEIKLSAgICAxMjc3LCAgLy8g
c3RlcF8yMEIyMEIKLSAgICAxMjc5LCAgLy8gZ2xfTWF4RnJhZ21lbnRBdG9taWNDb3VudGVycwot
ICAgIDEyODEsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwVTIwQjAwQjEwRAotICAgIDEyODMsICAv
LyB0ZXh0dXJlUHJval8wMFIyMEIwMEIKLSAgICAxMjg1LCAgLy8gZmFjZWZvcndhcmRfMjBCMjBC
MjBCCi0gICAgMTI4NywgIC8vIGltYWdlU2l6ZV8wMUUKLSAgICAxMjg4LCAgLy8gYWNvc18yMEIK
LSAgICAxMjkwLCAgLy8gdGV4ZWxGZXRjaF8wMFgxMEQwMEQKLSAgICAxMjkyLCAgLy8gc2luaF8w
MEIKLSAgICAxMjk0LCAgLy8gaW1hZ2VTaXplXzAxQQotICAgIDEyOTUsICAvLyB0ZXh0dXJlMkRM
b2RfMDBJMTBCMDBCCi0gICAgMTI5NywgIC8vIHRleGVsRmV0Y2hfMDBiMTBEMDBECi0gICAgMTMw
MCwgIC8vIGZtYV8yMEIyMEIyMEIKLSAgICAxMzAzLCAgLy8gZ2xfTWF4QXRvbWljQ291bnRlckJ1
ZmZlclNpemUKLSAgICAxMzA1LCAgLy8gbWF4XzIwQjIwQgotICAgIDEzMDcsICAvLyB0ZXh0dXJl
R2F0aGVyT2Zmc2V0XzAwZjIwQjAwQjEwRAotICAgIDEzMDksICAvLyBvdXRlclByb2R1Y3RfMzBC
MzBCCi0gICAgMTMxMSwgIC8vIGxlc3NUaGFuRXF1YWxfMjBFMjBFCi0gICAgMTMxMywgIC8vIHRl
eHR1cmVMb2RfMDBYMTBCMDBCCi0gICAgMTMxNSwgIC8vIGV4cF8zMEIKLSAgICAxMzE3LCAgLy8g
bWVtb3J5QmFycmllcl8KLSAgICAxMzE5LCAgLy8gaW1hZ2VTaXplXzAxRAotICAgIDEzMjAsICAv
LyBzdGVwXzAwQjMwQgotICAgIDEzMjIsICAvLyBiaXRDb3VudF8xMEQKLSAgICAxMzI0LCAgLy8g
ZXF1YWxfMzBFMzBFCi0gICAgMTMyNiwgIC8vIHNpZ25fMDBCCi0gICAgMTMyOCwgIC8vIGxvZ18w
MEIKLSAgICAxMzMwLCAgLy8gbWl4XzAwRjAwRjAwRgotICAgIDEzMzIsICAvLyB0ZXh0dXJlTG9k
XzAwWjIwQjAwQgotICAgIDEzMzQsICAvLyBzaWduXzAwRAotICAgIDEzMzYsICAvLyB0ZXh0dXJl
T2Zmc2V0XzAwWTIwQjIwRAotICAgIDEzMzgsICAvLyB0cmFuc3Bvc2VfNjBCCi0gICAgMTM0MCwg
IC8vIGZpbmRNU0JfMDBECi0gICAgMTM0MiwgIC8vIGdsX01heEdlb21ldHJ5VG90YWxPdXRwdXRD
b21wb25lbnRzCi0gICAgMTM0MywgIC8vIGFjb3NoXzMwQgotICAgIDEzNDUsICAvLyBmaW5kTVNC
XzAwRQotICAgIDEzNDcsICAvLyBiaXRmaWVsZEV4dHJhY3RfMjBFMDBEMDBECi0gICAgMTM0OSwg
IC8vIHVpbnRCaXRzVG9GbG9hdF8yMEUKLSAgICAxMzUxLCAgLy8gdW5wYWNrVW5vcm00eDhfMDBF
Ci0gICAgMTM1MywgIC8vIHRleHR1cmUyRFByb2pfMDBNMjBCCi0gICAgMTM1NCwgIC8vIHRleGVs
RmV0Y2hPZmZzZXRfMDBYMTBEMDBEMTBECi0gICAgMTM1NiwgIC8vIG1vZF8xMEIxMEIKLSAgICAx
MzU4LCAgLy8gdGV4dHVyZV8wMGQyMEIwMEIKLSAgICAxMzYwLCAgLy8gbm90RXF1YWxfMTBEMTBE
Ci0gICAgMTM2MiwgIC8vIHRleHR1cmUyRFByb2pfMDBNMzBCCi0gICAgMTM2MywgIC8vIHRleHR1
cmVTaXplXzAwVgotICAgIDEzNjYsICAvLyBwYWNrVW5vcm0yeDE2XzEwQgotICAgIDEzNjgsICAv
LyBmYWNlZm9yd2FyZF8wMEIwMEIwMEIKLSAgICAxMzcwLCAgLy8gdW11bEV4dGVuZGVkXzIwRTIw
RTIwRTIwRQotICAgIDEzNzIsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwWDEwQjEwRDAwQgotICAgIDEz
NzQsICAvLyBjb3NfMzBCCi0gICAgMTM3NiwgIC8vIGZpbmRMU0JfMzBECi0gICAgMTM3OCwgIC8v
IGZpbmRMU0JfMzBFCi0gICAgMTM4MCwgIC8vIGJpdENvdW50XzIwRQotICAgIDEzODIsICAvLyBn
bF9OdW1Xb3JrR3JvdXBzCi0gICAgMTM4NCwgIC8vIGVxdWFsXzIwRDIwRAotICAgIDEzODYsICAv
LyB0ZXh0dXJlUHJvak9mZnNldF8wMFkzMEIyMEQwMEIKLSAgICAxMzg4LCAgLy8gdGV4dHVyZUdh
dGhlck9mZnNldF8wMFUyMEIxMEQKLSAgICAxMzkwLCAgLy8gZmFjZWZvcndhcmRfMTBCMTBCMTBC
Ci0gICAgMTM5MiwgIC8vIG1peF8zMEQzMEQzMEYKLSAgICAxMzk0LCAgLy8gZ2xfTWF4Q29tcHV0
ZVVuaWZvcm1Db21wb25lbnRzCi0gICAgMTM5NiwgIC8vIHRleHR1cmVHYXRoZXJfMDBSMTBCMDBE
Ci0gICAgMTM5OCwgIC8vIGltYWdlU3RvcmVfMDFIMjBEMzBFCi0gICAgMTM5OSwgIC8vIHRleHR1
cmVTaXplXzAwWjAwRAotICAgIDE0MDEsICAvLyB0ZXh0dXJlR2F0aGVyXzAwVTIwQgotICAgIDE0
MDMsICAvLyBiaXRmaWVsZEV4dHJhY3RfMzBEMDBEMDBECi0gICAgMTQwNSwgIC8vIG1pbl8xMEQw
MEQKLSAgICAxNDA3LCAgLy8gdGV4ZWxGZXRjaF8wMFEyMEQwMEQKLSAgICAxNDA4LCAgLy8gbWF4
XzIwRTAwRQotICAgIDE0MTAsICAvLyB0ZXh0dXJlUHJval8wMFMzMEIKLSAgICAxNDEyLCAgLy8g
cm91bmRFdmVuXzAwQgotICAgIDE0MTQsICAvLyB0ZXh0dXJlMkRMb2RFWFRfMDBJMTBCMDBCCi0g
ICAgMTQxNSwgIC8vIGRGZHlfMzBCCi0gICAgMTQxOCwgIC8vIGF0YW5oXzIwQgotICAgIDE0MjAs
ICAvLyBjbGFtcF8xMEUwMEUwMEUKLSAgICAxNDIyLCAgLy8gaW1hZ2VTdG9yZV8wMUMyMEQzMEIK
LSAgICAxNDIzLCAgLy8gY2xhbXBfMjBEMDBEMDBECi0gICAgMTQyNSwgIC8vIGFsbF8yMEYKLSAg
ICAxNDI3LCAgLy8gaXNpbmZfMTBCCi0gICAgMTQyOSwgIC8vIGltYWdlTG9hZF8wMUMyMEQKLSAg
ICAxNDMwLCAgLy8gaW1hZ2VTaXplXzAxSgotICAgIDE0MzEsICAvLyBpbWFnZVNpemVfMDFLCi0g
ICAgMTQzMiwgIC8vIGltYWdlU2l6ZV8wMUgKLSAgICAxNDMzLCAgLy8gaW1hZ2VTaXplXzAxSQot
ICAgIDE0MzQsICAvLyBwYWNrSGFsZjJ4MTZfMTBCCi0gICAgMTQzNiwgIC8vIHRleHR1cmUyRFBy
b2pfMDBJMjBCMDBCCi0gICAgMTQzOCwgIC8vIGZpbmRMU0JfMDBFCi0gICAgMTQ0MCwgIC8vIGZp
bmRMU0JfMDBECi0gICAgMTQ0MiwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwWDMwQjEwRAotICAg
IDE0NDQsICAvLyBpbWFnZVNpemVfMDFDCi0gICAgMTQ0NSwgIC8vIGdyZWF0ZXJUaGFuRXF1YWxf
MzBCMzBCCi0gICAgMTQ0NywgIC8vIHRleHR1cmVTaXplXzAwVTAwRAotICAgIDE0NDksICAvLyB0
ZXh0dXJlR3JhZE9mZnNldF8wMFIxMEIxMEIxMEIxMEQKLSAgICAxNDUxLCAgLy8gaW1hZ2VTaXpl
XzAxRwotICAgIDE0NTIsICAvLyBlcXVhbF8zMEYzMEYKLSAgICAxNDU0LCAgLy8gYml0ZmllbGRF
eHRyYWN0XzAwRDAwRDAwRAotICAgIDE0NTYsICAvLyB0ZXh0dXJlMkRQcm9qTG9kRVhUXzAwSTIw
QjAwQgotICAgIDE0NTcsICAvLyBub3RFcXVhbF8zMEYzMEYKLSAgICAxNDU5LCAgLy8gZ2xfRnJv
bnRGYWNpbmcKLSAgICAxNDYxLCAgLy8gZ2xfU2Vjb25kYXJ5RnJhZ0NvbG9yRVhUCi0gICAgMTQ2
MiwgIC8vIGludmVyc2VzcXJ0XzEwQgotICAgIDE0NjQsICAvLyBnbF9NYXhDb21wdXRlV29ya0dy
b3VwQ291bnQKLSAgICAxNDY2LCAgLy8gYWNvc18xMEIKLSAgICAxNDY4LCAgLy8gYWJzXzMwRAot
ICAgIDE0NzAsICAvLyBnbF9NYXhGcmFnbWVudFVuaWZvcm1WZWN0b3JzCi0gICAgMTQ3MiwgIC8v
IGZyYWN0XzIwQgotICAgIDE0NzQsICAvLyBhYnNfMzBCCi0gICAgMTQ3NiwgIC8vIGxlc3NUaGFu
XzEwQjEwQgotICAgIDE0NzgsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwWDEwQjEwRAotICAg
IDE0ODAsICAvLyBiaXRmaWVsZEluc2VydF8xMEUxMEUwMEQwMEQKLSAgICAxNDgyLCAgLy8gcGFj
a1Nub3JtNHg4XzMwQgotICAgIDE0ODQsICAvLyBtaXhfMTBCMTBCMDBCCi0gICAgMTQ4NiwgIC8v
IGltYWdlTG9hZF8wMUUyMEQKLSAgICAxNDg3LCAgLy8gY2xhbXBfMzBEMzBEMzBECi0gICAgMTQ4
OSwgIC8vIHRleHR1cmVHYXRoZXJfMDBVMjBCMDBECi0gICAgMTQ5MSwgIC8vIHRleHR1cmVTaXpl
XzAwZjAwRAotICAgIDE0OTMsICAvLyB0ZXh0dXJlUHJval8wME4yMEIwMEIKLSAgICAxNDk0LCAg
Ly8gZ2xfRnJhZ0RhdGEKLSAgICAxNDk2LCAgLy8gdGV4dHVyZVByb2pfMDBkMzBCMDBCCi0gICAg
MTQ5OCwgIC8vIGNsYW1wXzIwRTAwRTAwRQotICAgIDE1MDAsICAvLyB0ZXh0dXJlXzAwWDEwQgot
ICAgIDE1MDIsICAvLyB0ZXh0dXJlUHJval8wMGQzMEIKLSAgICAxNTA0LCAgLy8gbWl4XzMwQjMw
QjMwRgotICAgIDE1MDYsICAvLyBkZXRlcm1pbmFudF9GMEIKLSAgICAxNTA3LCAgLy8gdHJhbnNw
b3NlX0EwQgotICAgIDE1MDksICAvLyBwb3dfMjBCMjBCCi0gICAgMTUxMSwgIC8vIHRleHR1cmUy
RFByb2pHcmFkRVhUXzAwSTIwQjEwQjEwQgotICAgIDE1MTIsICAvLyBnbF9MYXN0RnJhZ0NvbG9y
QVJNCi0gICAgMTUxMywgIC8vIHRleHR1cmVHYXRoZXJfMDBaMjBCMDBECi0gICAgMTUxNSwgIC8v
IHRleHR1cmVHYXRoZXJfMDBSMTBCCi0gICAgMTUxNywgIC8vIGxlc3NUaGFuRXF1YWxfMjBEMjBE
Ci0gICAgMTUxOSwgIC8vIHRleHR1cmVMb2RfMDBTMjBCMDBCCi0gICAgMTUyMSwgIC8vIHRleHR1
cmVQcm9qTG9kXzAwWTMwQjAwQgotICAgIDE1MjMsICAvLyBjb3NoXzEwQgotICAgIDE1MjUsICAv
LyBzcXJ0XzMwQgotICAgIDE1MjcsICAvLyBnbF9WZXJ0ZXhJRAotICAgIDE1MjksICAvLyBzaWdu
XzEwRAotICAgIDE1MzEsICAvLyB0ZXh0dXJlUHJval8wME0zMEIKLSAgICAxNTMyLCAgLy8gZXhw
XzAwQgotICAgIDE1MzQsICAvLyBtaW5fMDBFMDBFCi0gICAgMTUzNiwgIC8vIG1heF8zMEQzMEQK
LSAgICAxNTM4LCAgLy8gdW11bEV4dGVuZGVkXzAwRTAwRTAwRTAwRQotICAgIDE1NDAsICAvLyBn
bF9NYXhWZXJ0ZXhBdHRyaWJzCi0gICAgMTU0MiwgIC8vIGdsX0Jhc2VJbnN0YW5jZQotICAgIDE1
NDMsICAvLyB0cmFuc3Bvc2VfQjBCCi0gICAgMTU0NSwgIC8vIGZ3aWR0aF8yMEIKLSAgICAxNTQ4
LCAgLy8gbWl4XzIwRjIwRjIwRgotICAgIDE1NTAsICAvLyBFbXB0eQotICAgIDE1NTAsICAvLyBz
bW9vdGhzdGVwXzAwQjAwQjMwQgotICAgIDE1NTIsICAvLyB0ZXh0dXJlU2l6ZV8wME0wMEQKLSAg
ICAxNTUzLCAgLy8gbG9nMl8yMEIKLSAgICAxNTU1LCAgLy8gbGRleHBfMTBCMTBECi0gICAgMTU1
NywgIC8vIG1pbl8xMEIwMEIKLSAgICAxNTU5LCAgLy8gbWl4XzMwQjMwQjAwQgotICAgIDE1NjEs
ICAvLyBhbmdsZV9CYXNlSW5zdGFuY2UKLSAgICAxNTYyLCAgLy8gbWl4XzEwRjEwRjEwRgotICAg
IDE1NjQsICAvLyBkZWdyZWVzXzEwQgotICAgIDE1NjYsICAvLyBnbF9NYXhUZXh0dXJlSW1hZ2VV
bml0cwotICAgIDE1NjgsICAvLyBnbF9Qb3NpdGlvbgotICAgIDE1NzEsICAvLyB0ZXh0dXJlXzAw
SzIwQgotICAgIDE1NzMsICAvLyBhdG9taWNDb21wU3dhcF8wMEUwMEUwMEUKLSAgICAxNTc1LCAg
Ly8gZm1hXzMwQjMwQjMwQgotICAgIDE1NzgsICAvLyBzaW5oXzEwQgotICAgIDE1ODAsICAvLyBh
dGFuXzMwQgotICAgIDE1ODIsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMEwyMEIxMEIxMEIxMEQK
LSAgICAxNTg0LCAgLy8gY2VpbF8xMEIKLSAgICAxNTg2LCAgLy8gdGV4dHVyZVNpemVfMDBTMDBE
Ci0gICAgMTU4OCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwVTIwQjEwRHg0Ci0gICAgMTU5
MSwgIC8vIHRleHR1cmVQcm9qTG9kXzAwSTIwQjAwQgotICAgIDE1OTMsICAvLyBncmVhdGVyVGhh
bkVxdWFsXzEwQjEwQgotICAgIDE1OTUsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMEkxMEIx
MER4NDAwRAotICAgIDE1OTgsICAvLyB0ZXh0dXJlQ3ViZV8wMEsyMEIwMEIKLSAgICAxNjAwLCAg
Ly8gZG90XzIwQjIwQgotICAgIDE2MDIsICAvLyB0cmFuc3Bvc2VfOTBCCi0gICAgMTYwNCwgIC8v
IG5vdF8zMEYKLSAgICAxNjA2LCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBJMjBCMDBCMTBE
Ci0gICAgMTYwOCwgIC8vIG5vdEVxdWFsXzEwRjEwRgotICAgIDE2MTAsICAvLyB0ZXh0dXJlUHJv
akdyYWRfMDBSMjBCMTBCMTBCCi0gICAgMTYxMiwgIC8vIHRleHR1cmVfMDBmMzBCCi0gICAgMTYx
NCwgIC8vIHNtb290aHN0ZXBfMDBCMDBCMDBCCi0gICAgMTYxNiwgIC8vIHRleHR1cmVQcm9qTG9k
T2Zmc2V0XzAwZDMwQjAwQjEwRAotICAgIDE2MTgsICAvLyB0ZXhlbEZldGNoXzAwUjEwRDAwRAot
ICAgIDE2MjAsICAvLyBjb3NoXzIwQgotICAgIDE2MjIsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNl
dF8wMEkzMEIwMEIxMEQKLSAgICAxNjI0LCAgLy8gbm9ybWFsaXplXzMwQgotICAgIDE2MjYsICAv
LyBzbW9vdGhzdGVwXzMwQjMwQjMwQgotICAgIDE2MjgsICAvLyBiaXRmaWVsZEluc2VydF8xMEQx
MEQwMEQwMEQKLSAgICAxNjMwLCAgLy8gY2xhbXBfMjBCMjBCMjBCCi0gICAgMTYzMiwgIC8vIHRl
eHR1cmVHcmFkXzAwTDIwQjEwQjEwQgotICAgIDE2MzQsICAvLyB0ZXh0dXJlR3JhZF8wMFIxMEIx
MEIxMEIKLSAgICAxNjM2LCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwSTIwQjEwQjEwQgotICAgIDE2
MzgsICAvLyB0ZXh0dXJlR2F0aGVyXzAwZTIwQgotICAgIDE2MzksICAvLyB0ZXh0dXJlMkRfMDBN
MTBCCi0gICAgMTY0MCwgIC8vIG1pbl8wMEQwMEQKLSAgICAxNjQyLCAgLy8gb3V0ZXJQcm9kdWN0
XzEwQjEwQgotICAgIDE2NDQsICAvLyBsZXNzVGhhbkVxdWFsXzEwRDEwRAotICAgIDE2NDYsICAv
LyB0cnVuY18yMEIKLSAgICAxNjQ4LCAgLy8gZ2xfTWF4VmFyeWluZ1ZlY3RvcnMKLSAgICAxNjUw
LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMzBCMTBEMDBCCi0gICAgMTY1MiwgIC8vIHRleHR1
cmVTaXplXzAwZDAwRAotICAgIDE2NTQsICAvLyBzaW5fMDBCCi0gICAgMTY1NiwgIC8vIGdsX01h
eFZlcnRleFVuaWZvcm1WZWN0b3JzCi0gICAgMTY1OCwgIC8vIHRleHR1cmVDdWJlTG9kRVhUXzAw
SzIwQjAwQgotICAgIDE2NTksICAvLyB0ZXh0dXJlR2F0aGVyXzAwVDIwQjAwRAotICAgIDE2NjEs
ICAvLyB0ZXh0dXJlUHJval8wME4yMEIKLSAgICAxNjYyLCAgLy8gdWFkZENhcnJ5XzEwRTEwRTEw
RQotICAgIDE2NjQsICAvLyB0YW5fMTBCCi0gICAgMTY2NiwgIC8vIHRleHR1cmVMb2RPZmZzZXRf
MDBMMjBCMDBCMTBECi0gICAgMTY2OCwgIC8vIGF0b21pY0NvdW50ZXJJbmNyZW1lbnRfMDBHCi0g
ICAgMTY3MCwgIC8vIGxkZXhwXzIwQjIwRAotICAgIDE2NzIsICAvLyBncmVhdGVyVGhhbkVxdWFs
XzMwRDMwRAotICAgIDE2NzQsICAvLyBub3RFcXVhbF8yMEIyMEIKLSAgICAxNjc2LCAgLy8gaW1h
Z2VMb2FkXzAxRDIwRAotICAgIDE2NzcsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFgzMEIw
MEIxMEQKLSAgICAxNjc5LCAgLy8gaXNpbmZfMjBCCi0gICAgMTY4MSwgIC8vIGNvc18xMEIKLSAg
ICAxNjgzLCAgLy8gbWl4XzMwQjMwQjMwQgotICAgIDE2ODUsICAvLyB0ZXh0dXJlXzAwZTMwQgot
ICAgIDE2ODcsICAvLyB0ZXh0dXJlU2l6ZV8wMFQwMEQKLSAgICAxNjg5LCAgLy8gdGV4dHVyZUdh
dGhlck9mZnNldF8wMFgxMEIxMEQwMEQKLSAgICAxNjkxLCAgLy8gZXF1YWxfMTBFMTBFCi0gICAg
MTY5MywgIC8vIG1pbl8xMEUxMEUKLSAgICAxNjk1LCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0
XzAwWTMwQjIwQjIwQjIwRAotICAgIDE2OTcsICAvLyB0ZXh0dXJlR3JhZF8wMFQyMEIyMEIyMEIK
LSAgICAxNjk5LCAgLy8gbWVtb3J5QmFycmllckltYWdlXwotICAgIDE3MDEsICAvLyB0ZXh0dXJl
UHJvak9mZnNldF8wMEozMEIyMEQKLSAgICAxNzAzLCAgLy8gRW1pdFZlcnRleF8KLSAgICAxNzA0
LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBkMzBCMTBEMDBCCi0gICAgMTcwNiwgIC8vIHJvdW5k
XzEwQgotICAgIDE3MDgsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMGQzMEIxMEQKLSAgICAxNzEw
LCAgLy8gbm90RXF1YWxfMTBFMTBFCi0gICAgMTcxMiwgIC8vIHRleHR1cmVQcm9qXzAwUjMwQgot
ICAgIDE3MTQsICAvLyBtYXRyaXhDb21wTXVsdF81MEI1MEIKLSAgICAxNzE2LCAgLy8gZXF1YWxf
MjBGMjBGCi0gICAgMTcxOCwgIC8vIGdsX01heEZyYWdtZW50SW5wdXRWZWN0b3JzCi0gICAgMTcy
MCwgIC8vIGVxdWFsXzMwQjMwQgotICAgIDE3MjIsICAvLyB0ZXh0dXJlTG9kXzAwVTIwQjAwQgot
ICAgIDE3MjQsICAvLyB1c3ViQm9ycm93XzEwRTEwRTEwRQotICAgIDE3MjYsICAvLyBlcXVhbF8x
MEIxMEIKLSAgICAxNzI4LCAgLy8gZm1hXzAwQjAwQjAwQgotICAgIDE3MzEsICAvLyB0ZXh0dXJl
UHJvakdyYWRPZmZzZXRfMDBJMjBCMTBCMTBCMTBECi0gICAgMTczMywgIC8vIHRleHR1cmUyRFBy
b2pMb2RfMDBJMzBCMDBCCi0gICAgMTczNSwgIC8vIGlzbmFuXzEwQgotICAgIDE3MzcsICAvLyB1
YWRkQ2FycnlfMjBFMjBFMjBFCi0gICAgMTczOSwgIC8vIG1heF8xMEIxMEIKLSAgICAxNzQxLCAg
Ly8gYXRvbWljTWF4XzAwRTAwRQotICAgIDE3NDMsICAvLyBnbF9Qb2ludFNpemUKLSAgICAxNzQ1
LCAgLy8gYXRvbWljTWluXzAwRDAwRAotICAgIDE3NDcsICAvLyB0ZXh0dXJlU2l6ZV8wMFgwMEQK
LSAgICAxNzQ5LCAgLy8gZ3JlYXRlclRoYW5fMTBCMTBCCi0gICAgMTc1MSwgIC8vIGFzaW5fMTBC
Ci0gICAgMTc1MywgIC8vIHRleHR1cmVHYXRoZXJfMDBkMTBCMDBCCi0gICAgMTc1NSwgIC8vIHRy
dW5jXzEwQgotICAgIDE3NTcsICAvLyBnbF9NYXhDb21wdXRlQXRvbWljQ291bnRlcnMKLSAgICAx
NzU5LCAgLy8gdGV4dHVyZVByb2pfMDBYMzBCCi0gICAgMTc2MSwgIC8vIGdsX01heFZlcnRleEF0
b21pY0NvdW50ZXJzCi0gICAgMTc2MywgIC8vIGxlbmd0aF8yMEIKLSAgICAxNzY1LCAgLy8gYml0
ZmllbGRJbnNlcnRfMzBFMzBFMDBEMDBECi0gICAgMTc2NywgIC8vIHRleHR1cmVPZmZzZXRfMDBT
MjBCMjBECi0gICAgMTc2OSwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwWDIwQjEwRAotICAgIDE3
NzEsICAvLyBjbGFtcF8zMEQwMEQwMEQKLSAgICAxNzczLCAgLy8gY2xhbXBfMTBCMDBCMDBCCi0g
ICAgMTc3NSwgIC8vIG1peF8yMEUyMEUyMEYKLSAgICAxNzc3LCAgLy8gdGV4dHVyZVByb2pfMDBS
MjBCCi0gICAgMTc3OSwgIC8vIHRleHR1cmVQcm9qXzAwSTIwQjAwQgotICAgIDE3ODEsICAvLyBn
cmVhdGVyVGhhbl8xMEUxMEUKLSAgICAxNzgzLCAgLy8gaW1hZ2VMb2FkXzAxSzIwRAotICAgIDE3
ODQsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFIzMEIxMEQwMEIKLSAgICAxNzg2LCAgLy8gZEZk
eV8wMEIKLSAgICAxNzg5LCAgLy8gbWluXzMwRDAwRAotICAgIDE3OTEsICAvLyBmbG9hdEJpdHNU
b0ludF8wMEIKLSAgICAxNzkzLCAgLy8gc2lnbl8xMEIKLSAgICAxNzk1LCAgLy8gbWF4XzAwRTAw
RQotICAgIDE3OTcsICAvLyB0ZXh0dXJlXzAwYTIwQjAwQgotICAgIDE3OTksICAvLyB0ZXh0dXJl
XzAwTTEwQjAwQgotICAgIDE4MDAsICAvLyBzbW9vdGhzdGVwXzIwQjIwQjIwQgotICAgIDE4MDIs
ICAvLyB0ZXh0dXJlQ3ViZUxvZF8wMEsyMEIwMEIKLSAgICAxODA0LCAgLy8gdGV4dHVyZU9mZnNl
dF8wMEoyMEIyMEQKLSAgICAxODA2LCAgLy8gdGV4ZWxGZXRjaF8wMEoyMEQwMEQKLSAgICAxODA4
LCAgLy8gdGV4dHVyZVByb2pfMDBNMjBCMDBCCi0gICAgMTgwOSwgIC8vIGZsb2F0Qml0c1RvVWlu
dF8wMEIKLSAgICAxODExLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwUjMwQjEwQjEwQjEw
RAotICAgIDE4MTMsICAvLyB0ZXh0dXJlTG9kXzAwSzIwQjAwQgotICAgIDE4MTUsICAvLyB0ZXh0
dXJlUHJvak9mZnNldF8wMFgzMEIxMEQwMEIKLSAgICAxODE3LCAgLy8gY29zXzIwQgotICAgIDE4
MTksICAvLyBleHAyXzAwQgotICAgIDE4MjEsICAvLyByYWRpYW5zXzMwQgotICAgIDE4MjMsICAv
LyB0ZXh0dXJlMkRSZWN0UHJval8wME8yMEIKLSAgICAxODI0LCAgLy8gdGFuXzIwQgotICAgIDE4
MjYsICAvLyB0ZXh0dXJlR2F0aGVyXzAwVDIwQgotICAgIDE4MjgsICAvLyB0ZXh0dXJlR2F0aGVy
XzAwYTIwQjAwRAotICAgIDE4MzAsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBKMzBCMjBC
MjBCMjBECi0gICAgMTgzMiwgIC8vIGFzaW5oXzEwQgotICAgIDE4MzQsICAvLyB0ZXh0dXJlUHJv
akdyYWRfMDBYMzBCMTBCMTBCCi0gICAgMTgzNiwgIC8vIGZsb29yXzAwQgotICAgIDE4MzgsICAv
LyBnbF9EcmF3SUQKLSAgICAxODM5LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBSMTBCMTBE
eDQwMEQKLSAgICAxODQyLCAgLy8gYXRvbWljT3JfMDBEMDBECi0gICAgMTg0NCwgIC8vIHRleHR1
cmUzRExvZF8wMEoyMEIwMEIKKyAgICAxNTYsICAgLy8gZ2xfTWF4Q2xpcERpc3RhbmNlcworICAg
IDE1NywgICAvLyBsZXNzVGhhbkVxdWFsXzEwQjEwQgorICAgIDE1OSwgICAvLyBiaXRmaWVsZFJl
dmVyc2VfMjBECisgICAgMTYxLCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8yMEUKKyAgICAxNjMsICAg
Ly8gdGV4dHVyZVByb2pHcmFkXzAwUzMwQjIwQjIwQgorICAgIDE2NSwgICAvLyBlcXVhbF8xMEQx
MEQKKyAgICAxNjcsICAgLy8gbWF4XzMwRDAwRAorICAgIDE2OSwgICAvLyBncm91cE1lbW9yeUJh
cnJpZXJfCisgICAgMTcxLCAgIC8vIG1peF8wMEIwMEIwMEYKKyAgICAxNzMsICAgLy8gdGV4dHVy
ZVByb2pHcmFkT2Zmc2V0XzAwUjIwQjEwQjEwQjEwRAorICAgIDE3NSwgICAvLyBpbWFnZUxvYWRf
MDFBMTBECisgICAgMTc2LCAgIC8vIGludEJpdHNUb0Zsb2F0XzMwRAorICAgIDE3OCwgICAvLyB0
ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMFgxMEIxMER4NAorICAgIDE4MSwgICAvLyB0ZXh0dXJlUHJv
al8wMEkyMEIKKyAgICAxODMsICAgLy8gdGV4ZWxGZXRjaF8wMEkxMEQwMEQKKyAgICAxODUsICAg
Ly8gaW1hZ2VTdG9yZV8wMUkyMEQzMEIKKyAgICAxODYsICAgLy8gbWluXzMwQjMwQgorICAgIDE4
OCwgICAvLyBnbF9NYXhWZXJ0ZXhBdG9taWNDb3VudGVyQnVmZmVycworICAgIDE5MCwgICAvLyB0
ZXh0dXJlTG9kT2Zmc2V0XzAwUzIwQjAwQjIwRAorICAgIDE5MiwgICAvLyB0ZXh0dXJlR2F0aGVy
T2Zmc2V0XzAwUjEwQjEwRAorICAgIDE5NCwgICAvLyBhY29zXzAwQgorICAgIDE5NiwgICAvLyBm
cmFjdF8xMEIKKyAgICAxOTgsICAgLy8gdHJhbnNwb3NlX0UwQgorICAgIDIwMCwgICAvLyBpbnRC
aXRzVG9GbG9hdF8wMEQKKyAgICAyMDIsICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBKMjBCMjBC
MjBCMjBECisgICAgMjA0LCAgIC8vIG1lbW9yeUJhcnJpZXJBdG9taWNDb3VudGVyXworICAgIDIw
NiwgICAvLyB0ZXh0dXJlMkRHcmFkRVhUXzAwSTEwQjEwQjEwQgorICAgIDIwNywgICAvLyBiaXRm
aWVsZEluc2VydF8wMEUwMEUwMEQwMEQKKyAgICAyMDksICAgLy8gYXRvbWljWG9yXzAwRDAwRAor
ICAgIDIxMSwgICAvLyBncmVhdGVyVGhhbl8yMEIyMEIKKyAgICAyMTMsICAgLy8gdGV4dHVyZUxv
ZE9mZnNldF8wMEkxMEIwMEIxMEQKKyAgICAyMTUsICAgLy8gdGV4ZWxGZXRjaF8wMFkyMEQwMEQK
KyAgICAyMTcsICAgLy8gdGV4dHVyZTJEUHJvakdyYWRFWFRfMDBJMzBCMTBCMTBCCisgICAgMjE4
LCAgIC8vIHRleHR1cmVHcmFkXzAwZDIwQjEwQjEwQgorICAgIDIyMCwgICAvLyB0ZXh0dXJlUHJv
ak9mZnNldF8wMFIzMEIxMEQKKyAgICAyMjIsICAgLy8gdGV4dHVyZU9mZnNldF8wMFUyMEIxMEQK
KyAgICAyMjQsICAgLy8gYXRhbl8xMEIKKyAgICAyMjYsICAgLy8gbW9kZl8xMEIxMEIKKyAgICAy
MjgsICAgLy8gbWluXzMwQjAwQgorICAgIDIzMCwgICAvLyBkZXRlcm1pbmFudF81MEIKKyAgICAy
MzEsICAgLy8gbGVzc1RoYW5fMjBCMjBCCisgICAgMjMzLCAgIC8vIGF0b21pY0FuZF8wMEQwMEQK
KyAgICAyMzUsICAgLy8gZ2xfRnJhZ0NvbG9yCisgICAgMjM3LCAgIC8vIGV4cF8xMEIKKyAgICAy
MzksICAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMjBCMTBEMDBCCisgICAgMjQxLCAgIC8vIHN0
ZXBfMDBCMTBCCisgICAgMjQzLCAgIC8vIGJpdENvdW50XzMwRAorICAgIDI0NSwgICAvLyBtaXhf
MzBFMzBFMzBGCisgICAgMjQ3LCAgIC8vIHVucGFja1Vub3JtMngxNl8wMEUKKyAgICAyNDksICAg
Ly8gcmdiXzJfeXV2XzIwQjAwSAorICAgIDI1MCwgICAvLyBzcXJ0XzIwQgorICAgIDI1MiwgICAv
LyBzaWduXzIwQgorICAgIDI1NCwgICAvLyBzaWduXzIwRAorICAgIDI1NiwgICAvLyBhdGFuaF8w
MEIKKyAgICAyNTgsICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBYMTBCMTBCMTBCMTBECisgICAg
MjYwLCAgIC8vIGltYWdlU3RvcmVfMDFLMjBEMzBFCisgICAgMjYxLCAgIC8vIGdsX0RlcHRoUmFu
Z2UKKyAgICAyNjMsICAgLy8gaW11bEV4dGVuZGVkXzEwRDEwRDEwRDEwRAorICAgIDI2NSwgICAv
LyBhdGFuXzIwQgorICAgIDI2NywgICAvLyB0ZXh0dXJlXzAwTTEwQgorICAgIDI2OCwgICAvLyBn
bF9NYXhWZXJ0ZXhPdXRwdXRWZWN0b3JzCisgICAgMjcwLCAgIC8vIHRleHR1cmVfMDBUMjBCCisg
ICAgMjcyLCAgIC8vIGxvZzJfMTBCCisgICAgMjc0LCAgIC8vIG1pbl8xMEIxMEIKKyAgICAyNzYs
ICAgLy8gZ2xfTWF4SW1hZ2VVbml0cworICAgIDI3OCwgICAvLyBwb3dfMTBCMTBCCisgICAgMjgw
LCAgIC8vIGZpbmRMU0JfMjBFCisgICAgMjgyLCAgIC8vIGZpbmRMU0JfMjBECisgICAgMjg0LCAg
IC8vIHRleHR1cmVfMDBZMjBCCisgICAgMjg2LCAgIC8vIHBhY2tVbm9ybTR4OF8zMEIKKyAgICAy
ODgsICAgLy8gdGV4dHVyZV8wMFgxMEIwMEIKKyAgICAyOTAsICAgLy8gZnJleHBfMDBCMDBECisg
ICAgMjkyLCAgIC8vIHRleHR1cmUyRF8wMEkxMEIKKyAgICAyOTQsICAgLy8gbm90XzEwRgorICAg
IDI5NiwgICAvLyB0ZXhlbEZldGNoXzAwUDEwRDAwRAorICAgIDI5OSwgICAvLyBsZXNzVGhhbl8x
MEUxMEUKKyAgICAzMDEsICAgLy8gY2VpbF8yMEIKKyAgICAzMDMsICAgLy8gdGV4dHVyZUxvZE9m
ZnNldF8wMFIxMEIwMEIxMEQKKyAgICAzMDUsICAgLy8gY2xhbXBfMTBEMTBEMTBECisgICAgMzA3
LCAgIC8vIHRleGVsRmV0Y2hfMDBNMTBEMDBECisgICAgMzA4LCAgIC8vIHRleHR1cmVfMDBPMTBC
CisgICAgMzA5LCAgIC8vIHRyYW5zcG9zZV9GMEIKKyAgICAzMTEsICAgLy8gdGV4dHVyZU9mZnNl
dF8wMFkyMEIyMEQwMEIKKyAgICAzMTMsICAgLy8gYXRvbWljQ291bnRlckRlY3JlbWVudF8wMEcK
KyAgICAzMTUsICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBTMjBCMjBCMjBCMjBECisgICAgMzE3
LCAgIC8vIGF0b21pY1hvcl8wMEUwMEUKKyAgICAzMTksICAgLy8gdGV4dHVyZVByb2pPZmZzZXRf
MDBSMjBCMTBECisgICAgMzIxLCAgIC8vIGdsX0ZyYWdDb29yZAorICAgIDMyMywgICAvLyBjbGFt
cF8zMEUzMEUzMEUKKyAgICAzMjUsICAgLy8gdGV4dHVyZVByb2pfMDBOMzBCMDBCCisgICAgMzI2
LCAgIC8vIHRleHR1cmVTaXplXzAwUjAwRAorICAgIDMyOCwgICAvLyBnbF9NYXhGcmFnbWVudElt
YWdlVW5pZm9ybXMKKyAgICAzMzAsICAgLy8gbm9ybWFsaXplXzAwQgorICAgIDMzMiwgICAvLyB0
ZXh0dXJlT2Zmc2V0XzAwSTEwQjEwRAorICAgIDMzNCwgICAvLyBhdG9taWNFeGNoYW5nZV8wMEUw
MEUKKyAgICAzMzYsICAgLy8gdGV4dHVyZVByb2pfMDBJMzBCMDBCCisgICAgMzM4LCAgIC8vIGFj
b3NoXzEwQgorICAgIDM0MCwgICAvLyBnbF9NYXhDb21iaW5lZFNoYWRlck91dHB1dFJlc291cmNl
cworICAgIDM0MiwgICAvLyBhdG9taWNPcl8wMEUwMEUKKyAgICAzNDQsICAgLy8gbWluXzIwQjAw
QgorICAgIDM0NiwgICAvLyB0ZXh0dXJlUHJval8wME0zMEIwMEIKKyAgICAzNDcsICAgLy8gYXRv
bWljTWF4XzAwRDAwRAorICAgIDM0OSwgICAvLyB0ZXh0dXJlUHJval8wME0yMEIKKyAgICAzNTAs
ICAgLy8gdGV4dHVyZV8wMEkxMEIwMEIKKyAgICAzNTIsICAgLy8gcmVmbGVjdF8wMEIwMEIKKyAg
ICAzNTQsICAgLy8gbW9kXzIwQjAwQgorICAgIDM1NiwgICAvLyBsZXNzVGhhbl8yMEQyMEQKKyAg
ICAzNTgsICAgLy8gcmVmbGVjdF8xMEIxMEIKKyAgICAzNjAsICAgLy8gZmxvYXRCaXRzVG9JbnRf
MjBCCisgICAgMzYyLCAgIC8vIHRleHR1cmVMb2RfMDBKMjBCMDBCCisgICAgMzY0LCAgIC8vIHNx
cnRfMTBCCisgICAgMzY2LCAgIC8vIHRleHR1cmVQcm9qTG9kXzAwUzMwQjAwQgorICAgIDM2OCwg
ICAvLyBjbGFtcF8yMEUyMEUyMEUKKyAgICAzNzAsICAgLy8gYXRvbWljQW5kXzAwRTAwRQorICAg
IDM3MiwgICAvLyBtYXhfMjBEMDBECisgICAgMzc0LCAgIC8vIHRleHR1cmVTaXplXzAwSTAwRAor
ICAgIDM3NiwgICAvLyBnbF9NYXhDb21wdXRlQXRvbWljQ291bnRlckJ1ZmZlcnMKKyAgICAzNzgs
ICAgLy8gZ2xfUHJpbWl0aXZlSURJbgorICAgIDM3OSwgICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAw
UjEwRDAwRDEwRAorICAgIDM4MSwgICAvLyBpc2luZl8zMEIKKyAgICAzODMsICAgLy8gdGV4dHVy
ZUdhdGhlck9mZnNldF8wMGEyMEIxMEQwMEQKKyAgICAzODUsICAgLy8gdGV4dHVyZUdhdGhlck9m
ZnNldF8wMEkxMEIxMEQKKyAgICAzODcsICAgLy8gdGV4dHVyZU9mZnNldF8wMEwyMEIxMEQwMEIK
KyAgICAzODksICAgLy8gdGV4dHVyZUxvZE9mZnNldF8wMFgxMEIwMEIxMEQKKyAgICAzOTEsICAg
Ly8gdGV4dHVyZV8wMFQyMEIwMEIKKyAgICAzOTMsICAgLy8gdGV4dHVyZU9mZnNldF8wMEwyMEIx
MEQKKyAgICAzOTUsICAgLy8gbGVzc1RoYW5FcXVhbF8zMEUzMEUKKyAgICAzOTcsICAgLy8gdGV4
dHVyZU9mZnNldF8wMEoyMEIyMEQwMEIKKyAgICAzOTksICAgLy8gbWluXzEwRTAwRQorICAgIDQw
MSwgICAvLyBsb2dfMzBCCisgICAgNDAzLCAgIC8vIGltYWdlU3RvcmVfMDFKMjBEMzBECisgICAg
NDA0LCAgIC8vIGF0b21pY0NvdW50ZXJfMDBHCisgICAgNDA2LCAgIC8vIHRleHR1cmVQcm9qT2Zm
c2V0XzAwUzMwQjIwRAorICAgIDQwOCwgICAvLyBpbWFnZUxvYWRfMDFJMjBECisgICAgNDA5LCAg
IC8vIHJvdW5kXzAwQgorICAgIDQxMSwgICAvLyBzbW9vdGhzdGVwXzAwQjAwQjIwQgorICAgIDQx
MywgICAvLyBpbWFnZUxvYWRfMDFIMjBECisgICAgNDE0LCAgIC8vIHRleHR1cmVHYXRoZXJfMDBL
MjBCCisgICAgNDE2LCAgIC8vIGJpdGZpZWxkSW5zZXJ0XzMwRDMwRDAwRDAwRAorICAgIDQxOCwg
ICAvLyBmd2lkdGhfMTBCCisgICAgNDIxLCAgIC8vIHRleHR1cmVQcm9qTG9kXzAwUjIwQjAwQgor
ICAgIDQyMywgICAvLyBub3RFcXVhbF8zMEQzMEQKKyAgICA0MjUsICAgLy8gcmVmcmFjdF8xMEIx
MEIwMEIKKyAgICA0MjcsICAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMjBCMTBECisgICAgNDI5
LCAgIC8vIGdyZWF0ZXJUaGFuXzMwRDMwRAorICAgIDQzMSwgICAvLyBncmVhdGVyVGhhbl8xMEQx
MEQKKyAgICA0MzMsICAgLy8gdGV4dHVyZV8wMFUyMEIKKyAgICA0MzUsICAgLy8gdGV4dHVyZVNp
emVfMDBhMDBECisgICAgNDM3LCAgIC8vIGJpdGZpZWxkRXh0cmFjdF8xMEUwMEQwMEQKKyAgICA0
MzksICAgLy8gZ2xfTWF4RHJhd0J1ZmZlcnMKKyAgICA0NDEsICAgLy8gdGV4dHVyZUdhdGhlck9m
ZnNldF8wMFUyMEIxMEQwMEQKKyAgICA0NDMsICAgLy8gZmxvYXRCaXRzVG9VaW50XzEwQgorICAg
IDQ0NSwgICAvLyB0ZXh0dXJlUHJvakxvZF8wMEozMEIwMEIKKyAgICA0NDcsICAgLy8gdGV4dHVy
ZTJEUmVjdF8wME8xMEIKKyAgICA0NDgsICAgLy8gaW11bEV4dGVuZGVkXzIwRDIwRDIwRDIwRAor
ICAgIDQ1MCwgICAvLyBhbnlfMzBGCisgICAgNDUyLCAgIC8vIGRpc3RhbmNlXzMwQjMwQgorICAg
IDQ1NCwgICAvLyBncmVhdGVyVGhhbl8yMEQyMEQKKyAgICA0NTYsICAgLy8gdGV4dHVyZU9mZnNl
dF8wMGEyMEIxMEQKKyAgICA0NTgsICAgLy8gZ3JlYXRlclRoYW5fMzBCMzBCCisgICAgNDYwLCAg
IC8vIHRydW5jXzAwQgorICAgIDQ2MiwgICAvLyB0ZXh0dXJlXzAwWjIwQjAwQgorICAgIDQ2NCwg
ICAvLyBzaW5oXzMwQgorICAgIDQ2NiwgICAvLyBsZW5ndGhfMTBCCisgICAgNDY4LCAgIC8vIGZp
bmRNU0JfMTBFCisgICAgNDcwLCAgIC8vIGZpbmRNU0JfMTBECisgICAgNDcyLCAgIC8vIGRvdF8w
MEIwMEIKKyAgICA0NzQsICAgLy8gYXNpbmhfMjBCCisgICAgNDc2LCAgIC8vIGRvdF8zMEIzMEIK
KyAgICA0NzgsICAgLy8gYml0Q291bnRfMDBFCisgICAgNDgwLCAgIC8vIHRhbl8zMEIKKyAgICA0
ODIsICAgLy8gdGV4dHVyZUxvZF8wMFQyMEIwMEIKKyAgICA0ODQsICAgLy8gaW1hZ2VTdG9yZV8w
MHoxMEQzMEIKKyAgICA0ODUsICAgLy8gdXN1YkJvcnJvd18yMEUyMEUyMEUKKyAgICA0ODcsICAg
Ly8gdGV4dHVyZVByb2pHcmFkXzAwUjMwQjEwQjEwQgorICAgIDQ4OSwgICAvLyBleHAyXzEwQgor
ICAgIDQ5MSwgICAvLyB0ZXh0dXJlUHJval8wME8yMEIKKyAgICA0OTIsICAgLy8gdGV4dHVyZVBy
b2pPZmZzZXRfMDBYMjBCMTBEMDBCCisgICAgNDk0LCAgIC8vIG91dGVyUHJvZHVjdF8xMEIyMEIK
KyAgICA0OTYsICAgLy8gZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVyQnVmZmVycworICAgIDQ5
NywgICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBYMzBCMTBCMTBCMTBECisgICAgNDk5LCAg
IC8vIHRleHR1cmVPZmZzZXRfMDBJMTBCMTBEMDBCCisgICAgNTAxLCAgIC8vIGNsYW1wXzMwQjAw
QjAwQgorICAgIDUwMywgICAvLyBpbnZlcnNlXzUwQgorICAgIDUwNSwgICAvLyBsZXNzVGhhbl8y
MEUyMEUKKyAgICA1MDcsICAgLy8gZG90XzEwQjEwQgorICAgIDUwOSwgICAvLyB0ZXh0dXJlUHJv
akxvZE9mZnNldF8wMFkzMEIwMEIyMEQKKyAgICA1MTEsICAgLy8gdW5wYWNrSGFsZjJ4MTZfMDBF
CisgICAgNTEzLCAgIC8vIG1hdHJpeENvbXBNdWx0X0EwQkEwQgorICAgIDUxNSwgICAvLyB0ZXh0
dXJlMkRQcm9qTG9kXzAwSTIwQjAwQgorICAgIDUxNywgICAvLyB0ZXhlbEZldGNoXzAwVzIwRDAw
RAorICAgIDUxOCwgICAvLyB0ZXh0dXJlMkRSZWN0UHJval8wME8zMEIKKyAgICA1MTksICAgLy8g
cmFkaWFuc18yMEIKKyAgICA1MjEsICAgLy8gdGV4dHVyZUdyYWRfMDBTMjBCMjBCMjBCCisgICAg
NTIzLCAgIC8vIG1heF8xMEQwMEQKKyAgICA1MjUsICAgLy8gcm91bmRfMzBCCisgICAgNTI3LCAg
IC8vIGdsX01heENvbXB1dGVUZXh0dXJlSW1hZ2VVbml0cworICAgIDUyOSwgICAvLyBjbGFtcF8w
MEQwMEQwMEQKKyAgICA1MzEsICAgLy8gc2luXzMwQgorICAgIDUzMywgICAvLyBmbG9vcl8zMEIK
KyAgICA1MzUsICAgLy8gdGV4dHVyZVByb2pfMDBTMzBCMDBCCisgICAgNTM3LCAgIC8vIHRleHR1
cmVHcmFkXzAwWTIwQjIwQjIwQgorICAgIDUzOSwgICAvLyBnbF9NYXhDb21iaW5lZEF0b21pY0Nv
dW50ZXJzCisgICAgNTQxLCAgIC8vIHRleHR1cmVHYXRoZXJfMDBMMjBCMDBECisgICAgNTQzLCAg
IC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFMzMEIyMEIyMEIyMEQKKyAgICA1NDUsICAgLy8g
aW1hZ2VTdG9yZV8wMUExMEQzMEQKKyAgICA1NDYsICAgLy8gZ2xfTWF4R2VvbWV0cnlPdXRwdXRW
ZXJ0aWNlcworICAgIDU0NywgICAvLyB0ZXh0dXJlXzAwSjIwQgorICAgIDU0OSwgICAvLyBnbF9Q
b2ludENvb3JkCisgICAgNTUxLCAgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwYTIwQjEwRHg0
CisgICAgNTU0LCAgIC8vIGRGZHhfMjBCCisgICAgNTU3LCAgIC8vIGltYWdlU3RvcmVfMDFGMjBE
MzBCCisgICAgNTU4LCAgIC8vIHRleHR1cmVQcm9qXzAwWDIwQgorICAgIDU2MCwgICAvLyBtYXhf
MTBFMTBFCisgICAgNTYyLCAgIC8vIG1heF8zMEIzMEIKKyAgICA1NjQsICAgLy8gY2xhbXBfMTBF
MTBFMTBFCisgICAgNTY2LCAgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBTMjBEMDBEMjBECisgICAg
NTY4LCAgIC8vIHRleHR1cmVfMDBOMTBCCisgICAgNTY5LCAgIC8vIHRleHR1cmVfMDBMMjBCCisg
ICAgNTcxLCAgIC8vIGJhcnJpZXJfCisgICAgNTczLCAgIC8vIGdsX01heEdlb21ldHJ5VW5pZm9y
bUNvbXBvbmVudHMKKyAgICA1NzQsICAgLy8gZ3JlYXRlclRoYW5FcXVhbF8yMEUyMEUKKyAgICA1
NzYsICAgLy8gbGVzc1RoYW5fMTBEMTBECisgICAgNTc4LCAgIC8vIHRleGVsRmV0Y2hPZmZzZXRf
MDBhMjBEMDBEMTBECisgICAgNTgwLCAgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFgyMEIx
MEIxMEIxMEQKKyAgICA1ODIsICAgLy8gdGV4dHVyZTJEUHJval8wMEkyMEIKKyAgICA1ODQsICAg
Ly8gdGV4dHVyZTNEUHJvakxvZF8wMEozMEIwMEIKKyAgICA1ODUsICAgLy8gbm90XzIwRgorICAg
IDU4NywgICAvLyBFbXB0eQorICAgIDU4NywgICAvLyBmaW5kTVNCXzIwRAorICAgIDU4OSwgICAv
LyBmaW5kTVNCXzIwRQorICAgIDU5MSwgICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwSTEwRDAwRDEw
RAorICAgIDU5MywgICAvLyB0ZXh0dXJlR2F0aGVyXzAwSTEwQjAwRAorICAgIDU5NSwgICAvLyB0
ZXhlbEZldGNoXzAwVjEwRDAwRAorICAgIDU5OCwgICAvLyBvdXRlclByb2R1Y3RfMjBCMjBCCisg
ICAgNjAwLCAgIC8vIG1peF8xMEQxMEQxMEYKKyAgICA2MDIsICAgLy8gYXRhbl8zMEIzMEIKKyAg
ICA2MDQsICAgLy8gdW5wYWNrU25vcm00eDhfMDBFCisgICAgNjA2LCAgIC8vIGJpdENvdW50XzMw
RQorICAgIDYwOCwgICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFIyMEIwMEIxMEQKKyAgICA2
MTAsICAgLy8gbG9nXzIwQgorICAgIDYxMiwgICAvLyBhc2luXzMwQgorICAgIDYxNCwgICAvLyB0
ZXh0dXJlR2F0aGVyXzAwZjIwQgorICAgIDYxNSwgICAvLyBtb2RmXzMwQjMwQgorICAgIDYxNywg
ICAvLyB0ZXh0dXJlXzAweTEwQgorICAgIDYxOSwgICAvLyBpc25hbl8yMEIKKyAgICA2MjEsICAg
Ly8gbWF4XzAwQjAwQgorICAgIDYyMywgICAvLyByb3VuZEV2ZW5fMjBCCisgICAgNjI1LCAgIC8v
IGZ3aWR0aF8wMEIKKyAgICA2MjgsICAgLy8gdGV4dHVyZVByb2pHcmFkXzAwSjMwQjIwQjIwQgor
ICAgIDYzMCwgICAvLyBkRmR5XzEwQgorICAgIDYzMywgICAvLyBvdXRlclByb2R1Y3RfMzBCMTBC
CisgICAgNjM1LCAgIC8vIGZsb2F0Qml0c1RvSW50XzMwQgorICAgIDYzNywgICAvLyB0ZXh0dXJl
UHJval8wMEozMEIKKyAgICA2MzksICAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBkMTBCMDBC
MTBEeDQKKyAgICA2NDIsICAgLy8gZ2xfSW52b2NhdGlvbklECisgICAgNjQzLCAgIC8vIG1heF8z
MEUwMEUKKyAgICA2NDUsICAgLy8gZXhwMl8yMEIKKyAgICA2NDcsICAgLy8gdGV4dHVyZUxvZF8w
MGQyMEIwMEIKKyAgICA2NDksICAgLy8gcmFkaWFuc18xMEIKKyAgICA2NTEsICAgLy8gdGV4ZWxG
ZXRjaF8wMFUyMEQwMEQKKyAgICA2NTMsICAgLy8gZ2xfTWF4Q29tcHV0ZVdvcmtHcm91cFNpemUK
KyAgICA2NTUsICAgLy8gZ2xfQmFzZVZlcnRleAorICAgIDY1NiwgICAvLyBtYXhfMDBEMDBECisg
ICAgNjU4LCAgIC8vIGdsX0xhc3RGcmFnRGF0YQorICAgIDY2MCwgICAvLyBjZWlsXzMwQgorICAg
IDY2MiwgICAvLyBhdG9taWNNaW5fMDBFMDBFCisgICAgNjY0LCAgIC8vIGdsX01heENvbWJpbmVk
VGV4dHVyZUltYWdlVW5pdHMKKyAgICA2NjYsICAgLy8gYml0Q291bnRfMTBFCisgICAgNjY4LCAg
IC8vIHRleHR1cmVfMDBTMjBCMDBCCisgICAgNjcwLCAgIC8vIHRleHR1cmVHYXRoZXJfMDBlMjBC
MDBCCisgICAgNjcyLCAgIC8vIGdsX0RlcHRoUmFuZ2VQYXJhbWV0ZXJzCisgICAgNjc0LCAgIC8v
IGRpc3RhbmNlXzEwQjEwQgorICAgIDY3NiwgICAvLyByZWZsZWN0XzIwQjIwQgorICAgIDY3OCwg
ICAvLyBtb2RfMTBCMDBCCisgICAgNjgwLCAgIC8vIHVpbnRCaXRzVG9GbG9hdF8xMEUKKyAgICA2
ODIsICAgLy8gdGV4dHVyZUdyYWRfMDBaMjBCMjBCMjBCCisgICAgNjg0LCAgIC8vIGVxdWFsXzEw
RjEwRgorICAgIDY4NiwgICAvLyBjb3NoXzAwQgorICAgIDY4OCwgICAvLyBiaXRmaWVsZFJldmVy
c2VfMDBECisgICAgNjkwLCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8wMEUKKyAgICA2OTIsICAgLy8g
bWF4XzIwRTIwRQorICAgIDY5NCwgICAvLyBtYXRyaXhDb21wTXVsdF83MEI3MEIKKyAgICA2OTUs
ICAgLy8gYml0ZmllbGRFeHRyYWN0XzMwRTAwRDAwRAorICAgIDY5NywgICAvLyB0ZXh0dXJlTG9k
XzAwSTEwQjAwQgorICAgIDY5OSwgICAvLyBncmVhdGVyVGhhbkVxdWFsXzEwRDEwRAorICAgIDcw
MSwgICAvLyBpbWFnZVNpemVfMDFGCisgICAgNzAyLCAgIC8vIHRleHR1cmVfMDBlMzBCMDBCCisg
ICAgNzA0LCAgIC8vIHRleHR1cmVMb2RPZmZzZXRfMDBZMjBCMDBCMjBECisgICAgNzA2LCAgIC8v
IGxvZzJfMDBCCisgICAgNzA4LCAgIC8vIGdsX0xhc3RGcmFnQ29sb3IKKyAgICA3MDksICAgLy8g
YWJzXzEwRAorICAgIDcxMSwgICAvLyBhYnNfMTBCCisgICAgNzEzLCAgIC8vIGFjb3NfMzBCCisg
ICAgNzE1LCAgIC8vIHRhbmhfMTBCCisgICAgNzE3LCAgIC8vIGRlZ3JlZXNfMzBCCisgICAgNzE5
LCAgIC8vIGltYWdlU3RvcmVfMDFFMjBEMzBFCisgICAgNzIwLCAgIC8vIGRGZHhfMTBCCisgICAg
NzIzLCAgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwSTMwQjEwRAorICAgIDcyNSwgICAvLyBiaXRm
aWVsZFJldmVyc2VfMzBFCisgICAgNzI3LCAgIC8vIGJpdGZpZWxkUmV2ZXJzZV8zMEQKKyAgICA3
MjksICAgLy8gZ2xfQ2xpcERpc3RhbmNlCisgICAgNzMwLCAgIC8vIGludmVyc2VzcXJ0XzMwQgor
ICAgIDczMiwgICAvLyBnbF9Mb2NhbEludm9jYXRpb25JRAorICAgIDczNCwgICAvLyBFbXB0eQor
ICAgIDczNCwgICAvLyBjbGFtcF8wMEIwMEIwMEIKKyAgICA3MzYsICAgLy8gdGV4dHVyZUdhdGhl
cl8wMGQxMEIKKyAgICA3MzcsICAgLy8gZnJleHBfMjBCMjBECisgICAgNzM5LCAgIC8vIGludEJp
dHNUb0Zsb2F0XzIwRAorICAgIDc0MSwgICAvLyBmcmFjdF8wMEIKKyAgICA3NDMsICAgLy8gZ2xf
RnJhZ0RlcHRoCisgICAgNzQ1LCAgIC8vIG1pbl8zMEUwMEUKKyAgICA3NDcsICAgLy8gZXhwXzIw
QgorICAgIDc0OSwgICAvLyBlcXVhbF8yMEIyMEIKKyAgICA3NTEsICAgLy8gdGV4dHVyZVByb2pM
b2RPZmZzZXRfMDBYMjBCMDBCMTBECisgICAgNzUzLCAgIC8vIGFjb3NoXzAwQgorICAgIDc1NSwg
ICAvLyBsb2dfMTBCCisgICAgNzU3LCAgIC8vIHRleHR1cmVWaWRlb1dFQkdMXzAweTEwQgorICAg
IDc1OSwgICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFMzMEIwMEIyMEQKKyAgICA3NjEsICAg
Ly8gc2luaF8yMEIKKyAgICA3NjMsICAgLy8gZm1hXzEwQjEwQjEwQgorICAgIDc2NiwgICAvLyBy
ZWZsZWN0XzMwQjMwQgorICAgIDc2OCwgICAvLyBvdXRlclByb2R1Y3RfMzBCMjBCCisgICAgNzcw
LCAgIC8vIHRleHR1cmVfMDBVMjBCMDBCCisgICAgNzcyLCAgIC8vIHRleHR1cmVfMDBTMjBCCisg
ICAgNzc0LCAgIC8vIG91dGVyUHJvZHVjdF8yMEIxMEIKKyAgICA3NzYsICAgLy8gbWl4XzAwRTAw
RTAwRgorICAgIDc3OCwgICAvLyB1bXVsRXh0ZW5kZWRfMTBFMTBFMTBFMTBFCisgICAgNzgwLCAg
IC8vIG1peF8wMEQwMEQwMEYKKyAgICA3ODIsICAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBhMjBC
MTBCMTBCMTBECisgICAgNzg0LCAgIC8vIG5vdEVxdWFsXzIwRjIwRgorICAgIDc4NiwgICAvLyBt
b2RfMzBCMzBCCisgICAgNzg4LCAgIC8vIGJpdGZpZWxkRXh0cmFjdF8xMEQwMEQwMEQKKyAgICA3
OTAsICAgLy8gc2lnbl8zMEIKKyAgICA3OTIsICAgLy8gc2lnbl8zMEQKKyAgICA3OTQsICAgLy8g
cG93XzAwQjAwQgorICAgIDc5NiwgICAvLyBtb2RfMDBCMDBCCisgICAgNzk4LCAgIC8vIHRleHR1
cmVfMDBZMjBCMDBCCisgICAgODAwLCAgIC8vIG5vdEVxdWFsXzMwQjMwQgorICAgIDgwMiwgICAv
LyByb3VuZEV2ZW5fMTBCCisgICAgODA0LCAgIC8vIHRleHR1cmUyRFByb2pMb2RFWFRfMDBJMzBC
MDBCCisgICAgODA1LCAgIC8vIGF0YW5oXzMwQgorICAgIDgwNywgICAvLyBkRmR5XzIwQgorICAg
IDgxMCwgICAvLyB0ZXh0dXJlUHJval8wMFkzMEIKKyAgICA4MTIsICAgLy8gYml0Q291bnRfMjBE
CisgICAgODE0LCAgIC8vIHN0ZXBfMDBCMDBCCisgICAgODE2LCAgIC8vIHRleGVsRmV0Y2hfMDBM
MjBEMDBECisgICAgODE4LCAgIC8vIG1lbW9yeUJhcnJpZXJCdWZmZXJfCisgICAgODIwLCAgIC8v
IGlzaW5mXzAwQgorICAgIDgyMiwgICAvLyBpbWFnZVNpemVfMDB6CisgICAgODIzLCAgIC8vIGRp
c3RhbmNlXzIwQjIwQgorICAgIDgyNSwgICAvLyB0ZXh0dXJlR3JhZF8wMFUyMEIxMEIxMEIKKyAg
ICA4MjcsICAgLy8gdWFkZENhcnJ5XzMwRTMwRTMwRQorICAgIDgyOSwgICAvLyBtb2RfMzBCMDBC
CisgICAgODMxLCAgIC8vIHRleHR1cmVfMDBLMjBCMDBCCisgICAgODMzLCAgIC8vIGdsX01heENv
bWJpbmVkSW1hZ2VVbmlmb3JtcworICAgIDgzNSwgICAvLyBhdG9taWNDb21wU3dhcF8wMEQwMEQw
MEQKKyAgICA4MzcsICAgLy8geXV2XzJfcmdiXzIwQjAwSAorICAgIDgzOCwgICAvLyB0ZXh0dXJl
R2F0aGVyXzAwZjIwQjAwQgorICAgIDg0MCwgICAvLyBncmVhdGVyVGhhbl8yMEUyMEUKKyAgICA4
NDIsICAgLy8gdGV4dHVyZUdyYWRfMDBhMjBCMTBCMTBCCisgICAgODQ0LCAgIC8vIHRleHR1cmVP
ZmZzZXRfMDBVMjBCMTBEMDBCCisgICAgODQ2LCAgIC8vIGludEJpdHNUb0Zsb2F0XzEwRAorICAg
IDg0OCwgICAvLyB0ZXh0dXJlXzAwSjIwQjAwQgorICAgIDg1MCwgICAvLyByZWZyYWN0XzIwQjIw
QjAwQgorICAgIDg1MiwgICAvLyB0ZXh0dXJlUHJvakxvZF8wMEkzMEIwMEIKKyAgICA4NTQsICAg
Ly8gcmVmcmFjdF8wMEIwMEIwMEIKKyAgICA4NTYsICAgLy8gZmluZExTQl8xMEQKKyAgICA4NTgs
ICAgLy8gZmluZExTQl8xMEUKKyAgICA4NjAsICAgLy8gbWl4XzEwQjEwQjEwRgorICAgIDg2Miwg
ICAvLyBtaXhfMTBCMTBCMTBCCisgICAgODY0LCAgIC8vIHRleHR1cmVQcm9qXzAwWTMwQjAwQgor
ICAgIDg2NiwgICAvLyB0ZXh0dXJlM0RfMDBKMjBCCisgICAgODY3LCAgIC8vIGdsX1NlY29uZGFy
eUZyYWdEYXRhRVhUCisgICAgODY4LCAgIC8vIHRyYW5zcG9zZV9EMEIKKyAgICA4NzAsICAgLy8g
bG9nMl8zMEIKKyAgICA4NzIsICAgLy8gdGV4dHVyZUdyYWRfMDBKMjBCMjBCMjBCCisgICAgODc0
LCAgIC8vIHRleHR1cmVQcm9qR3JhZF8wMGQzMEIxMEIxMEIKKyAgICA4NzYsICAgLy8gZnJhY3Rf
MzBCCisgICAgODc4LCAgIC8vIGdsX0xvY2FsSW52b2NhdGlvbkluZGV4CisgICAgODgwLCAgIC8v
IHRleHR1cmVTaXplXzAwSjAwRAorICAgIDg4MiwgICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAw
STEwQjEwRDAwRAorICAgIDg4NCwgICAvLyB0ZXh0dXJlR2F0aGVyXzAwWDEwQjAwRAorICAgIDg4
NiwgICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwVTIwRDAwRDEwRAorICAgIDg4OCwgICAvLyB0ZXh0
dXJlU2l6ZV8wMEwwMEQKKyAgICA4OTAsICAgLy8gdGV4dHVyZVNpemVfMDBlMDBECisgICAgODky
LCAgIC8vIG5vdEVxdWFsXzIwRTIwRQorICAgIDg5NCwgICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAw
ZDIwQjAwQjEwRAorICAgIDg5NiwgICAvLyBpbnZlcnNlX0EwQgorICAgIDg5OCwgICAvLyB0ZXh0
dXJlUHJvakdyYWRfMDBYMjBCMTBCMTBCCisgICAgOTAwLCAgIC8vIG1heF8zMEUzMEUKKyAgICA5
MDIsICAgLy8gaXNuYW5fMzBCCisgICAgOTA0LCAgIC8vIGltdWxFeHRlbmRlZF8wMEQwMEQwMEQw
MEQKKyAgICA5MDYsICAgLy8gZ2xfaW4KKyAgICA5MDcsICAgLy8gYXRhbl8yMEIyMEIKKyAgICA5
MDksICAgLy8gdXN1YkJvcnJvd18wMEUwMEUwMEUKKyAgICA5MTEsICAgLy8gdGV4dHVyZVByb2pM
b2RPZmZzZXRfMDBKMzBCMDBCMjBECisgICAgOTEzLCAgIC8vIGZyZXhwXzMwQjMwRAorICAgIDkx
NSwgICAvLyBkZWdyZWVzXzIwQgorICAgIDkxNywgICAvLyBtaW5fMzBFMzBFCisgICAgOTE5LCAg
IC8vIGltYWdlTG9hZF8wMUIxMEQKKyAgICA5MjAsICAgLy8gdGV4dHVyZTJEUHJval8wMEkzMEIw
MEIKKyAgICA5MjIsICAgLy8gdGV4dHVyZUN1YmVHcmFkRVhUXzAwSzIwQjIwQjIwQgorICAgIDky
MywgICAvLyB0ZXh0dXJlXzAwSTEwQgorICAgIDkyNSwgICAvLyBtaW5fMDBCMDBCCisgICAgOTI3
LCAgIC8vIGdsX0luc3RhbmNlSUQKKyAgICA5MjksICAgLy8gdGV4ZWxGZXRjaF8wMGMyMEQwMEQK
KyAgICA5MzAsICAgLy8gZ2xfTWF4VmVydGV4SW1hZ2VVbmlmb3JtcworICAgIDkzMiwgICAvLyBz
cXJ0XzAwQgorICAgIDkzNCwgICAvLyBub3JtYWxpemVfMjBCCisgICAgOTM2LCAgIC8vIGdsX01h
eEZyYWdtZW50QXRvbWljQ291bnRlckJ1ZmZlcnMKKyAgICA5MzgsICAgLy8gZ2xfV29ya0dyb3Vw
SUQKKyAgICA5NDAsICAgLy8gZGVncmVlc18wMEIKKyAgICA5NDIsICAgLy8gaW52ZXJzZV9GMEIK
KyAgICA5NDQsICAgLy8gbWluXzIwRTAwRQorICAgIDk0NiwgICAvLyB0ZXh0dXJlUHJvakxvZF8w
MFIzMEIwMEIKKyAgICA5NDgsICAgLy8gdGV4dHVyZVNpemVfMDBQCisgICAgOTUxLCAgIC8vIHRl
eHR1cmVHcmFkT2Zmc2V0XzAwZDIwQjEwQjEwQjEwRAorICAgIDk1MywgICAvLyB0ZXh0dXJlR2F0
aGVyT2Zmc2V0c18wMFIxMEIxMER4NAorICAgIDk1NiwgICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNl
dF8wMFIzMEIwMEIxMEQKKyAgICA5NTgsICAgLy8gYXRhbl8wMEIKKyAgICA5NjAsICAgLy8gYXRv
bWljRXhjaGFuZ2VfMDBEMDBECisgICAgOTYyLCAgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDBS
MTBCMTBEMDBECisgICAgOTY0LCAgIC8vIGdsX01heEdlb21ldHJ5QXRvbWljQ291bnRlcnMKKyAg
ICA5NjUsICAgLy8gdGV4dHVyZTJEXzAwSTEwQjAwQgorICAgIDk2NywgICAvLyB0ZXh0dXJlUHJv
al8wMFgyMEIwMEIKKyAgICA5NjksICAgLy8gY2xhbXBfMjBEMjBEMjBECisgICAgOTcxLCAgIC8v
IGdyZWF0ZXJUaGFuXzMwRTMwRQorICAgIDk3MywgICAvLyBmcmV4cF8xMEIxMEQKKyAgICA5NzUs
ICAgLy8gbWF4XzEwRTAwRQorICAgIDk3NywgICAvLyBzbW9vdGhzdGVwXzAwQjAwQjEwQgorICAg
IDk3OSwgICAvLyBnbF9HbG9iYWxJbnZvY2F0aW9uSUQKKyAgICA5ODEsICAgLy8gbWF0cml4Q29t
cE11bHRfNjBCNjBCCisgICAgOTgyLCAgIC8vIG1lbW9yeUJhcnJpZXJTaGFyZWRfCisgICAgOTg0
LCAgIC8vIG5vcm1hbGl6ZV8xMEIKKyAgICA5ODYsICAgLy8gdW5wYWNrU25vcm0yeDE2XzAwRQor
ICAgIDk4OCwgICAvLyBpbWFnZUxvYWRfMDB6MTBECisgICAgOTg5LCAgIC8vIGxlc3NUaGFuXzMw
RDMwRAorICAgIDk5MSwgICAvLyBhdGFuXzAwQjAwQgorICAgIDk5MywgICAvLyBiaXRmaWVsZEV4
dHJhY3RfMjBEMDBEMDBECisgICAgOTk1LCAgIC8vIHRleHR1cmVfMDBMMjBCMDBCCisgICAgOTk3
LCAgIC8vIG5vdEVxdWFsXzEwQjEwQgorICAgIDk5OSwgICAvLyBpbWFnZUxvYWRfMDFHMjBECisg
ICAgMTAwMCwgIC8vIGJpdGZpZWxkRXh0cmFjdF8wMEUwMEQwMEQKKyAgICAxMDAyLCAgLy8gdGV4
dHVyZUdhdGhlck9mZnNldHNfMDBhMjBCMTBEeDQwMEQKKyAgICAxMDA1LCAgLy8gbWl4XzEwRTEw
RTEwRgorICAgIDEwMDcsICAvLyB0cnVuY18zMEIKKyAgICAxMDA5LCAgLy8gbWF0cml4Q29tcE11
bHRfRTBCRTBCCisgICAgMTAxMCwgIC8vIGxlbmd0aF8wMEIKKyAgICAxMDEyLCAgLy8gYW55XzIw
RgorICAgIDEwMTQsICAvLyBnbF9QZXJWZXJ0ZXgKKyAgICAxMDE1LCAgLy8gdGV4dHVyZVByb2pf
MDBYMzBCMDBCCisgICAgMTAxNywgIC8vIGdsX0hlbHBlckludm9jYXRpb24KKyAgICAxMDE5LCAg
Ly8gdGV4dHVyZUdhdGhlcl8wMEwyMEIKKyAgICAxMDIxLCAgLy8gZ2xfVmlld0lEX09WUgorICAg
IDEwMjIsICAvLyBmbG9vcl8xMEIKKyAgICAxMDI0LCAgLy8gc2luXzEwQgorICAgIDEwMjYsICAv
LyB0ZXh0dXJlU2l6ZV8wME4wMEQKKyAgICAxMDI3LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMEoy
MEQwMEQyMEQKKyAgICAxMDI5LCAgLy8gdGFuXzAwQgorICAgIDEwMzEsICAvLyBtb2RfMjBCMjBC
CisgICAgMTAzMywgIC8vIGltYWdlTG9hZF8wMUoyMEQKKyAgICAxMDM0LCAgLy8gZ2xfV29ya0dy
b3VwU2l6ZQorICAgIDEwMzYsICAvLyBhc2luaF8zMEIKKyAgICAxMDM4LCAgLy8gb3V0ZXJQcm9k
dWN0XzEwQjMwQgorICAgIDEwNDAsICAvLyB0ZXh0dXJlQ3ViZV8wMEsyMEIKKyAgICAxMDQyLCAg
Ly8gdGV4dHVyZVNpemVfMDBjCisgICAgMTA0MywgIC8vIHRleHR1cmVTaXplXzAwYgorICAgIDEw
NDYsICAvLyBjb3NfMDBCCisgICAgMTA0OCwgIC8vIG1pbl8yMEIyMEIKKyAgICAxMDUwLCAgLy8g
dGV4dHVyZUdyYWRPZmZzZXRfMDBmMzBCMTBCMTBCMTBECisgICAgMTA1MiwgIC8vIG1heF8yMEQy
MEQKKyAgICAxMDU0LCAgLy8gdGV4dHVyZVByb2pfMDBJMzBCCisgICAgMTA1NiwgIC8vIG1heF8x
MEQxMEQKKyAgICAxMDU4LCAgLy8gdGV4dHVyZU9mZnNldF8wMGEyMEIxMEQwMEIKKyAgICAxMDYw
LCAgLy8gdGV4dHVyZUdhdGhlcl8wMFgxMEIKKyAgICAxMDYyLCAgLy8gdGV4dHVyZUdhdGhlck9m
ZnNldHNfMDBMMjBCMTBEeDQKKyAgICAxMDY1LCAgLy8gcG93XzMwQjMwQgorICAgIDEwNjcsICAv
LyB0ZXh0dXJlR2F0aGVyXzAwYTIwQgorICAgIDEwNjksICAvLyBzbW9vdGhzdGVwXzEwQjEwQjEw
QgorICAgIDEwNzEsICAvLyB0ZXh0dXJlUHJval8wME8zMEIKKyAgICAxMDcyLCAgLy8gdGV4dHVy
ZUdhdGhlck9mZnNldF8wMGQxMEIwMEIxMEQKKyAgICAxMDc0LCAgLy8gcmVmcmFjdF8zMEIzMEIw
MEIKKyAgICAxMDc2LCAgLy8gYml0ZmllbGRJbnNlcnRfMjBFMjBFMDBEMDBECisgICAgMTA3OCwg
IC8vIGZsb29yXzIwQgorICAgIDEwODAsICAvLyBlcXVhbF8yMEUyMEUKKyAgICAxMDgyLCAgLy8g
bWl4XzAwQjAwQjAwQgorICAgIDEwODQsICAvLyBpbWFnZVNpemVfMDFCCisgICAgMTA4NSwgIC8v
IGdyZWF0ZXJUaGFuRXF1YWxfMjBCMjBCCisgICAgMTA4NywgIC8vIHVhZGRDYXJyeV8wMEUwMEUw
MEUKKyAgICAxMDg5LCAgLy8gc2luXzIwQgorICAgIDEwOTEsICAvLyB0ZXh0dXJlU2l6ZV8wMFEK
KyAgICAxMDkyLCAgLy8gcm91bmRfMjBCCisgICAgMTA5NCwgIC8vIG1hdHJpeENvbXBNdWx0Xzkw
QjkwQgorICAgIDEwOTUsICAvLyB0ZXh0dXJlUHJvakxvZF8wMGQzMEIwMEIKKyAgICAxMDk3LCAg
Ly8gdGV4dHVyZVNpemVfMDBXCisgICAgMTA5OCwgIC8vIHRleHR1cmVQcm9qTG9kXzAwWDIwQjAw
QgorICAgIDExMDAsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMEkxMEIxMER4NAorICAgIDEx
MDMsICAvLyBnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJCdWZmZXJzCisgICAgMTEwNSwgIC8v
IGlzbmFuXzAwQgorICAgIDExMDcsICAvLyB1bXVsRXh0ZW5kZWRfMzBFMzBFMzBFMzBFCisgICAg
MTEwOSwgIC8vIGZhY2Vmb3J3YXJkXzMwQjMwQjMwQgorICAgIDExMTEsICAvLyB0ZXh0dXJlR3Jh
ZE9mZnNldF8wMFkyMEIyMEIyMEIyMEQKKyAgICAxMTEzLCAgLy8gY2xhbXBfMzBFMDBFMDBFCisg
ICAgMTExNSwgIC8vIGFzaW5fMDBCCisgICAgMTExNywgIC8vIGNlaWxfMDBCCisgICAgMTExOSwg
IC8vIHRleHR1cmUzRF8wMEoyMEIwMEIKKyAgICAxMTIwLCAgLy8gZGlzdGFuY2VfMDBCMDBCCisg
ICAgMTEyMiwgIC8vIHRleHR1cmVfMDBhMjBCCisgICAgMTEyNCwgIC8vIHRleHR1cmVHYXRoZXJP
ZmZzZXRfMDBhMjBCMTBECisgICAgMTEyNiwgIC8vIHRleHR1cmVHcmFkXzAwZjMwQjEwQjEwQgor
ICAgIDExMjgsICAvLyB0ZXh0dXJlMkRQcm9qXzAwSTMwQgorICAgIDExMzAsICAvLyBtb2RmXzIw
QjIwQgorICAgIDExMzIsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMEkxMEIxMEIxMEIxMEQKKyAg
ICAxMTM0LCAgLy8gbm90RXF1YWxfMzBFMzBFCisgICAgMTEzNiwgIC8vIHRleHR1cmVHYXRoZXJf
MDBJMTBCCisgICAgMTEzOCwgIC8vIGxlc3NUaGFuRXF1YWxfMTBFMTBFCisgICAgMTE0MCwgIC8v
IGludmVyc2VzcXJ0XzIwQgorICAgIDExNDIsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwSjIwQjAw
QjIwRAorICAgIDExNDQsICAvLyBtaW5fMzBEMzBECisgICAgMTE0NiwgIC8vIHRleHR1cmVPZmZz
ZXRfMDBSMTBCMTBEMDBCCisgICAgMTE0OCwgIC8vIHRleHR1cmVHcmFkXzAwZTMwQjIwQjIwQgor
ICAgIDExNTAsICAvLyBhdG9taWNBZGRfMDBFMDBFCisgICAgMTE1MiwgIC8vIGdsX01heEdlb21l
dHJ5SW5wdXRDb21wb25lbnRzCisgICAgMTE1MywgIC8vIGZpbmRNU0JfMzBFCisgICAgMTE1NSwg
IC8vIGZpbmRNU0JfMzBECisgICAgMTE1NywgIC8vIHRleHR1cmVHcmFkXzAwWDEwQjEwQjEwQgor
ICAgIDExNTksICAvLyBsZW5ndGhfMzBCCisgICAgMTE2MSwgIC8vIGdyZWF0ZXJUaGFuRXF1YWxf
MzBFMzBFCisgICAgMTE2MywgIC8vIGZ3aWR0aF8zMEIKKyAgICAxMTY2LCAgLy8gdGV4dHVyZUdy
YWRfMDBLMjBCMjBCMjBCCisgICAgMTE2OCwgIC8vIG1peF8yMEIyMEIyMEYKKyAgICAxMTcwLCAg
Ly8gdGV4ZWxGZXRjaF8wMFMyMEQwMEQKKyAgICAxMTcyLCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRf
MDBVMjBCMTBCMTBCMTBECisgICAgMTE3NCwgIC8vIG1peF8yMEIyMEIyMEIKKyAgICAxMTc2LCAg
Ly8gZmxvYXRCaXRzVG9JbnRfMTBCCisgICAgMTE3OCwgIC8vIG1heF8xMEIwMEIKKyAgICAxMTgw
LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMEwyMEIxMEQKKyAgICAxMTgyLCAgLy8gdGV4dHVy
ZUxvZF8wMGEyMEIwMEIKKyAgICAxMTg0LCAgLy8gYW55XzEwRgorICAgIDExODYsICAvLyB0ZXh0
dXJlUHJvakdyYWRPZmZzZXRfMDBkMzBCMTBCMTBCMTBECisgICAgMTE4OCwgIC8vIHRleHR1cmVQ
cm9qXzAwTjMwQgorICAgIDExODksICAvLyBnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQKKyAgICAx
MTkxLCAgLy8gZXhwMl8zMEIKKyAgICAxMTkzLCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMEwyMEQw
MEQxMEQKKyAgICAxMTk1LCAgLy8gZXF1YWxfMzBEMzBECisgICAgMTE5NywgIC8vIHRleHR1cmUz
RFByb2pfMDBKMzBCMDBCCisgICAgMTE5OCwgIC8vIGltYWdlU3RvcmVfMDFEMjBEMzBECisgICAg
MTE5OSwgIC8vIHBhY2tTbm9ybTJ4MTZfMTBCCisgICAgMTIwMSwgIC8vIGZsb2F0Qml0c1RvVWlu
dF8zMEIKKyAgICAxMjAzLCAgLy8gbGVzc1RoYW5FcXVhbF8zMEQzMEQKKyAgICAxMjA1LCAgLy8g
Z2xfTWF4R2VvbWV0cnlJbWFnZVVuaWZvcm1zCisgICAgMTIwNiwgIC8vIGFzaW5oXzAwQgorICAg
IDEyMDgsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwUjEwQjEwRAorICAgIDEyMTAsICAvLyBncmVhdGVy
VGhhbkVxdWFsXzEwRTEwRQorICAgIDEyMTIsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBJ
MzBCMTBCMTBCMTBECisgICAgMTIxNCwgIC8vIHRleHR1cmVHYXRoZXJfMDBaMjBCCisgICAgMTIx
NiwgIC8vIHRleHR1cmVPZmZzZXRfMDBYMTBCMTBECisgICAgMTIxOCwgIC8vIGNvc2hfMzBCCisg
ICAgMTIyMCwgIC8vIHRleHR1cmVPZmZzZXRfMDBkMjBCMTBEMDBCCisgICAgMTIyMiwgIC8vIHRl
eHR1cmVfMDBSMTBCCisgICAgMTIyNCwgIC8vIHRleHR1cmVPZmZzZXRfMDBTMjBCMjBEMDBCCisg
ICAgMTIyNiwgIC8vIHVzdWJCb3Jyb3dfMzBFMzBFMzBFCisgICAgMTIyOCwgIC8vIHJhZGlhbnNf
MDBCCisgICAgMTIzMCwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwUjIwQjEwRDAwQgorICAgIDEy
MzIsICAvLyBsZGV4cF8zMEIzMEQKKyAgICAxMjM0LCAgLy8gbWF4XzMwQjAwQgorICAgIDEyMzYs
ICAvLyBtaW5fMjBEMjBECisgICAgMTIzOCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwZjIw
QjAwQjEwRHg0CisgICAgMTI0MSwgIC8vIHN0ZXBfMTBCMTBCCisgICAgMTI0MywgIC8vIGdsX01h
eER1YWxTb3VyY2VEcmF3QnVmZmVyc0VYVAorICAgIDEyNDQsICAvLyB0ZXh0dXJlR2F0aGVyT2Zm
c2V0c18wMEwyMEIxMER4NDAwRAorICAgIDEyNDcsICAvLyBzdGVwXzMwQjMwQgorICAgIDEyNDks
ICAvLyBiaXRmaWVsZFJldmVyc2VfMTBFCisgICAgMTI1MSwgIC8vIGJpdGZpZWxkUmV2ZXJzZV8x
MEQKKyAgICAxMjUzLCAgLy8gdGV4dHVyZTNEUHJval8wMEozMEIKKyAgICAxMjU0LCAgLy8gZ2xf
RnJhZ0RlcHRoRVhUCisgICAgMTI1NSwgIC8vIG1hdHJpeENvbXBNdWx0X0IwQkIwQgorICAgIDEy
NTYsICAvLyBsZXNzVGhhbl8zMEIzMEIKKyAgICAxMjU4LCAgLy8gY3Jvc3NfMjBCMjBCCisgICAg
MTI2MCwgIC8vIGFsbF8xMEYKKyAgICAxMjYyLCAgLy8gY2xhbXBfMjBCMDBCMDBCCisgICAgMTI2
NCwgIC8vIHRhbmhfMjBCCisgICAgMTI2NiwgIC8vIGRGZHhfMDBCCisgICAgMTI2OSwgIC8vIG1h
dHJpeENvbXBNdWx0X0YwQkYwQgorICAgIDEyNzEsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFkz
MEIyMEQKKyAgICAxMjczLCAgLy8gYWJzXzAwRAorICAgIDEyNzUsICAvLyBhYnNfMDBCCisgICAg
MTI3NywgIC8vIHRleHR1cmVMb2RfMDBSMTBCMDBCCisgICAgMTI3OSwgIC8vIHN0ZXBfMjBCMjBC
CisgICAgMTI4MSwgIC8vIGdsX01heEZyYWdtZW50QXRvbWljQ291bnRlcnMKKyAgICAxMjgzLCAg
Ly8gdGV4dHVyZUxvZE9mZnNldF8wMFUyMEIwMEIxMEQKKyAgICAxMjg1LCAgLy8gdGV4dHVyZVBy
b2pfMDBSMjBCMDBCCisgICAgMTI4NywgIC8vIGZhY2Vmb3J3YXJkXzIwQjIwQjIwQgorICAgIDEy
ODksICAvLyBpbWFnZVNpemVfMDFFCisgICAgMTI5MCwgIC8vIGFjb3NfMjBCCisgICAgMTI5Miwg
IC8vIHRleGVsRmV0Y2hfMDBYMTBEMDBECisgICAgMTI5NCwgIC8vIHNpbmhfMDBCCisgICAgMTI5
NiwgIC8vIGltYWdlU2l6ZV8wMUEKKyAgICAxMjk3LCAgLy8gdGV4dHVyZTJETG9kXzAwSTEwQjAw
QgorICAgIDEyOTksICAvLyB0ZXhlbEZldGNoXzAwYjEwRDAwRAorICAgIDEzMDIsICAvLyBmbWFf
MjBCMjBCMjBCCisgICAgMTMwNSwgIC8vIGdsX01heEF0b21pY0NvdW50ZXJCdWZmZXJTaXplCisg
ICAgMTMwNywgIC8vIG1heF8yMEIyMEIKKyAgICAxMzA5LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNl
dF8wMGYyMEIwMEIxMEQKKyAgICAxMzExLCAgLy8gb3V0ZXJQcm9kdWN0XzMwQjMwQgorICAgIDEz
MTMsICAvLyBsZXNzVGhhbkVxdWFsXzIwRTIwRQorICAgIDEzMTUsICAvLyB0ZXh0dXJlTG9kXzAw
WDEwQjAwQgorICAgIDEzMTcsICAvLyBleHBfMzBCCisgICAgMTMxOSwgIC8vIG1lbW9yeUJhcnJp
ZXJfCisgICAgMTMyMSwgIC8vIGltYWdlU2l6ZV8wMUQKKyAgICAxMzIyLCAgLy8gc3RlcF8wMEIz
MEIKKyAgICAxMzI0LCAgLy8gYml0Q291bnRfMTBECisgICAgMTMyNiwgIC8vIGVxdWFsXzMwRTMw
RQorICAgIDEzMjgsICAvLyBzaWduXzAwQgorICAgIDEzMzAsICAvLyBsb2dfMDBCCisgICAgMTMz
MiwgIC8vIG1peF8wMEYwMEYwMEYKKyAgICAxMzM0LCAgLy8gdGV4dHVyZUxvZF8wMFoyMEIwMEIK
KyAgICAxMzM2LCAgLy8gc2lnbl8wMEQKKyAgICAxMzM4LCAgLy8gdGV4dHVyZU9mZnNldF8wMFky
MEIyMEQKKyAgICAxMzQwLCAgLy8gdHJhbnNwb3NlXzYwQgorICAgIDEzNDIsICAvLyBmaW5kTVNC
XzAwRAorICAgIDEzNDQsICAvLyBnbF9NYXhHZW9tZXRyeVRvdGFsT3V0cHV0Q29tcG9uZW50cwor
ICAgIDEzNDUsICAvLyBhY29zaF8zMEIKKyAgICAxMzQ3LCAgLy8gZmluZE1TQl8wMEUKKyAgICAx
MzQ5LCAgLy8gYml0ZmllbGRFeHRyYWN0XzIwRTAwRDAwRAorICAgIDEzNTEsICAvLyB1aW50Qml0
c1RvRmxvYXRfMjBFCisgICAgMTM1MywgIC8vIHVucGFja1Vub3JtNHg4XzAwRQorICAgIDEzNTUs
ICAvLyB0ZXh0dXJlMkRQcm9qXzAwTTIwQgorICAgIDEzNTYsICAvLyB0ZXhlbEZldGNoT2Zmc2V0
XzAwWDEwRDAwRDEwRAorICAgIDEzNTgsICAvLyBtb2RfMTBCMTBCCisgICAgMTM2MCwgIC8vIHRl
eHR1cmVfMDBkMjBCMDBCCisgICAgMTM2MiwgIC8vIG5vdEVxdWFsXzEwRDEwRAorICAgIDEzNjQs
ICAvLyB0ZXh0dXJlMkRQcm9qXzAwTTMwQgorICAgIDEzNjUsICAvLyB0ZXh0dXJlU2l6ZV8wMFYK
KyAgICAxMzY4LCAgLy8gcGFja1Vub3JtMngxNl8xMEIKKyAgICAxMzcwLCAgLy8gZmFjZWZvcndh
cmRfMDBCMDBCMDBCCisgICAgMTM3MiwgIC8vIHVtdWxFeHRlbmRlZF8yMEUyMEUyMEUyMEUKKyAg
ICAxMzc0LCAgLy8gdGV4dHVyZU9mZnNldF8wMFgxMEIxMEQwMEIKKyAgICAxMzc2LCAgLy8gY29z
XzMwQgorICAgIDEzNzgsICAvLyBmaW5kTFNCXzMwRAorICAgIDEzODAsICAvLyBmaW5kTFNCXzMw
RQorICAgIDEzODIsICAvLyBiaXRDb3VudF8yMEUKKyAgICAxMzg0LCAgLy8gZ2xfTnVtV29ya0dy
b3VwcworICAgIDEzODYsICAvLyBlcXVhbF8yMEQyMEQKKyAgICAxMzg4LCAgLy8gdGV4dHVyZVBy
b2pPZmZzZXRfMDBZMzBCMjBEMDBCCisgICAgMTM5MCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRf
MDBVMjBCMTBECisgICAgMTM5MiwgIC8vIGZhY2Vmb3J3YXJkXzEwQjEwQjEwQgorICAgIDEzOTQs
ICAvLyBtaXhfMzBEMzBEMzBGCisgICAgMTM5NiwgIC8vIGdsX01heENvbXB1dGVVbmlmb3JtQ29t
cG9uZW50cworICAgIDEzOTgsICAvLyB0ZXh0dXJlR2F0aGVyXzAwUjEwQjAwRAorICAgIDE0MDAs
ICAvLyBpbWFnZVN0b3JlXzAxSDIwRDMwRQorICAgIDE0MDEsICAvLyB0ZXh0dXJlU2l6ZV8wMFow
MEQKKyAgICAxNDAzLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFUyMEIKKyAgICAxNDA1LCAgLy8gYml0
ZmllbGRFeHRyYWN0XzMwRDAwRDAwRAorICAgIDE0MDcsICAvLyBtaW5fMTBEMDBECisgICAgMTQw
OSwgIC8vIHRleGVsRmV0Y2hfMDBRMjBEMDBECisgICAgMTQxMCwgIC8vIG1heF8yMEUwMEUKKyAg
ICAxNDEyLCAgLy8gdGV4dHVyZVByb2pfMDBTMzBCCisgICAgMTQxNCwgIC8vIHJvdW5kRXZlbl8w
MEIKKyAgICAxNDE2LCAgLy8gdGV4dHVyZTJETG9kRVhUXzAwSTEwQjAwQgorICAgIDE0MTcsICAv
LyBkRmR5XzMwQgorICAgIDE0MjAsICAvLyBhdGFuaF8yMEIKKyAgICAxNDIyLCAgLy8gY2xhbXBf
MTBFMDBFMDBFCisgICAgMTQyNCwgIC8vIGltYWdlU3RvcmVfMDFDMjBEMzBCCisgICAgMTQyNSwg
IC8vIGNsYW1wXzIwRDAwRDAwRAorICAgIDE0MjcsICAvLyBhbGxfMjBGCisgICAgMTQyOSwgIC8v
IGlzaW5mXzEwQgorICAgIDE0MzEsICAvLyBpbWFnZUxvYWRfMDFDMjBECisgICAgMTQzMiwgIC8v
IGltYWdlU2l6ZV8wMUoKKyAgICAxNDMzLCAgLy8gaW1hZ2VTaXplXzAxSworICAgIDE0MzQsICAv
LyBpbWFnZVNpemVfMDFICisgICAgMTQzNSwgIC8vIGltYWdlU2l6ZV8wMUkKKyAgICAxNDM2LCAg
Ly8gcGFja0hhbGYyeDE2XzEwQgorICAgIDE0MzgsICAvLyB0ZXh0dXJlMkRQcm9qXzAwSTIwQjAw
QgorICAgIDE0NDAsICAvLyBmaW5kTFNCXzAwRQorICAgIDE0NDIsICAvLyBmaW5kTFNCXzAwRAor
ICAgIDE0NDQsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFgzMEIxMEQKKyAgICAxNDQ2LCAgLy8g
aW1hZ2VTaXplXzAxQworICAgIDE0NDcsICAvLyBncmVhdGVyVGhhbkVxdWFsXzMwQjMwQgorICAg
IDE0NDksICAvLyB0ZXh0dXJlU2l6ZV8wMFUwMEQKKyAgICAxNDUxLCAgLy8gdGV4dHVyZUdyYWRP
ZmZzZXRfMDBSMTBCMTBCMTBCMTBECisgICAgMTQ1MywgIC8vIGltYWdlU2l6ZV8wMUcKKyAgICAx
NDU0LCAgLy8gZXF1YWxfMzBGMzBGCisgICAgMTQ1NiwgIC8vIGJpdGZpZWxkRXh0cmFjdF8wMEQw
MEQwMEQKKyAgICAxNDU4LCAgLy8gdGV4dHVyZTJEUHJvakxvZEVYVF8wMEkyMEIwMEIKKyAgICAx
NDU5LCAgLy8gbm90RXF1YWxfMzBGMzBGCisgICAgMTQ2MSwgIC8vIGdsX0Zyb250RmFjaW5nCisg
ICAgMTQ2MywgIC8vIGdsX1NlY29uZGFyeUZyYWdDb2xvckVYVAorICAgIDE0NjQsICAvLyBpbnZl
cnNlc3FydF8xMEIKKyAgICAxNDY2LCAgLy8gZ2xfTWF4Q29tcHV0ZVdvcmtHcm91cENvdW50Cisg
ICAgMTQ2OCwgIC8vIGFjb3NfMTBCCisgICAgMTQ3MCwgIC8vIGFic18zMEQKKyAgICAxNDcyLCAg
Ly8gZ2xfTWF4RnJhZ21lbnRVbmlmb3JtVmVjdG9ycworICAgIDE0NzQsICAvLyBmcmFjdF8yMEIK
KyAgICAxNDc2LCAgLy8gYWJzXzMwQgorICAgIDE0NzgsICAvLyBsZXNzVGhhbl8xMEIxMEIKKyAg
ICAxNDgwLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMFgxMEIxMEQKKyAgICAxNDgyLCAgLy8g
Yml0ZmllbGRJbnNlcnRfMTBFMTBFMDBEMDBECisgICAgMTQ4NCwgIC8vIHBhY2tTbm9ybTR4OF8z
MEIKKyAgICAxNDg2LCAgLy8gbWl4XzEwQjEwQjAwQgorICAgIDE0ODgsICAvLyBpbWFnZUxvYWRf
MDFFMjBECisgICAgMTQ4OSwgIC8vIGNsYW1wXzMwRDMwRDMwRAorICAgIDE0OTEsICAvLyB0ZXh0
dXJlR2F0aGVyXzAwVTIwQjAwRAorICAgIDE0OTMsICAvLyB0ZXh0dXJlU2l6ZV8wMGYwMEQKKyAg
ICAxNDk1LCAgLy8gdGV4dHVyZVByb2pfMDBOMjBCMDBCCisgICAgMTQ5NiwgIC8vIGdsX0ZyYWdE
YXRhCisgICAgMTQ5OCwgIC8vIHRleHR1cmVQcm9qXzAwZDMwQjAwQgorICAgIDE1MDAsICAvLyBj
bGFtcF8yMEUwMEUwMEUKKyAgICAxNTAyLCAgLy8gdGV4dHVyZV8wMFgxMEIKKyAgICAxNTA0LCAg
Ly8gdGV4dHVyZVByb2pfMDBkMzBCCisgICAgMTUwNiwgIC8vIG1peF8zMEIzMEIzMEYKKyAgICAx
NTA4LCAgLy8gZGV0ZXJtaW5hbnRfRjBCCisgICAgMTUwOSwgIC8vIHRyYW5zcG9zZV9BMEIKKyAg
ICAxNTExLCAgLy8gcG93XzIwQjIwQgorICAgIDE1MTMsICAvLyB0ZXh0dXJlMkRQcm9qR3JhZEVY
VF8wMEkyMEIxMEIxMEIKKyAgICAxNTE0LCAgLy8gZ2xfTGFzdEZyYWdDb2xvckFSTQorICAgIDE1
MTUsICAvLyB0ZXh0dXJlR2F0aGVyXzAwWjIwQjAwRAorICAgIDE1MTcsICAvLyB0ZXh0dXJlR2F0
aGVyXzAwUjEwQgorICAgIDE1MTksICAvLyBsZXNzVGhhbkVxdWFsXzIwRDIwRAorICAgIDE1MjEs
ICAvLyB0ZXh0dXJlTG9kXzAwUzIwQjAwQgorICAgIDE1MjMsICAvLyB0ZXh0dXJlUHJvakxvZF8w
MFkzMEIwMEIKKyAgICAxNTI1LCAgLy8gY29zaF8xMEIKKyAgICAxNTI3LCAgLy8gc3FydF8zMEIK
KyAgICAxNTI5LCAgLy8gZ2xfVmVydGV4SUQKKyAgICAxNTMxLCAgLy8gc2lnbl8xMEQKKyAgICAx
NTMzLCAgLy8gdGV4dHVyZVByb2pfMDBNMzBCCisgICAgMTUzNCwgIC8vIGV4cF8wMEIKKyAgICAx
NTM2LCAgLy8gbWluXzAwRTAwRQorICAgIDE1MzgsICAvLyBtYXhfMzBEMzBECisgICAgMTU0MCwg
IC8vIHVtdWxFeHRlbmRlZF8wMEUwMEUwMEUwMEUKKyAgICAxNTQyLCAgLy8gZ2xfTWF4VmVydGV4
QXR0cmlicworICAgIDE1NDQsICAvLyBnbF9CYXNlSW5zdGFuY2UKKyAgICAxNTQ1LCAgLy8gdHJh
bnNwb3NlX0IwQgorICAgIDE1NDcsICAvLyBmd2lkdGhfMjBCCisgICAgMTU1MCwgIC8vIG1peF8y
MEYyMEYyMEYKKyAgICAxNTUyLCAgLy8gRW1wdHkKKyAgICAxNTUyLCAgLy8gc21vb3Roc3RlcF8w
MEIwMEIzMEIKKyAgICAxNTU0LCAgLy8gdGV4dHVyZVNpemVfMDBNMDBECisgICAgMTU1NSwgIC8v
IGxvZzJfMjBCCisgICAgMTU1NywgIC8vIGxkZXhwXzEwQjEwRAorICAgIDE1NTksICAvLyBtaW5f
MTBCMDBCCisgICAgMTU2MSwgIC8vIG1peF8zMEIzMEIwMEIKKyAgICAxNTYzLCAgLy8gYW5nbGVf
QmFzZUluc3RhbmNlCisgICAgMTU2NCwgIC8vIG1peF8xMEYxMEYxMEYKKyAgICAxNTY2LCAgLy8g
ZGVncmVlc18xMEIKKyAgICAxNTY4LCAgLy8gZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMKKyAgICAx
NTcwLCAgLy8gZ2xfUG9zaXRpb24KKyAgICAxNTczLCAgLy8gdGV4dHVyZV8wMEsyMEIKKyAgICAx
NTc1LCAgLy8gYXRvbWljQ29tcFN3YXBfMDBFMDBFMDBFCisgICAgMTU3NywgIC8vIGZtYV8zMEIz
MEIzMEIKKyAgICAxNTgwLCAgLy8gc2luaF8xMEIKKyAgICAxNTgyLCAgLy8gYXRhbl8zMEIKKyAg
ICAxNTg0LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBMMjBCMTBCMTBCMTBECisgICAgMTU4Niwg
IC8vIGNlaWxfMTBCCisgICAgMTU4OCwgIC8vIHRleHR1cmVTaXplXzAwUzAwRAorICAgIDE1OTAs
ICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMFUyMEIxMER4NAorICAgIDE1OTMsICAvLyB0ZXh0
dXJlUHJvakxvZF8wMEkyMEIwMEIKKyAgICAxNTk1LCAgLy8gZ3JlYXRlclRoYW5FcXVhbF8xMEIx
MEIKKyAgICAxNTk3LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBJMTBCMTBEeDQwMEQKKyAg
ICAxNjAwLCAgLy8gdGV4dHVyZUN1YmVfMDBLMjBCMDBCCisgICAgMTYwMiwgIC8vIGRvdF8yMEIy
MEIKKyAgICAxNjA0LCAgLy8gdHJhbnNwb3NlXzkwQgorICAgIDE2MDYsICAvLyBub3RfMzBGCisg
ICAgMTYwOCwgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwSTIwQjAwQjEwRAorICAgIDE2MTAs
ICAvLyBub3RFcXVhbF8xMEYxMEYKKyAgICAxNjEyLCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwUjIw
QjEwQjEwQgorICAgIDE2MTQsICAvLyB0ZXh0dXJlXzAwZjMwQgorICAgIDE2MTYsICAvLyBzbW9v
dGhzdGVwXzAwQjAwQjAwQgorICAgIDE2MTgsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMGQz
MEIwMEIxMEQKKyAgICAxNjIwLCAgLy8gdGV4ZWxGZXRjaF8wMFIxMEQwMEQKKyAgICAxNjIyLCAg
Ly8gY29zaF8yMEIKKyAgICAxNjI0LCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBJMzBCMDBC
MTBECisgICAgMTYyNiwgIC8vIG5vcm1hbGl6ZV8zMEIKKyAgICAxNjI4LCAgLy8gc21vb3Roc3Rl
cF8zMEIzMEIzMEIKKyAgICAxNjMwLCAgLy8gYml0ZmllbGRJbnNlcnRfMTBEMTBEMDBEMDBECisg
ICAgMTYzMiwgIC8vIGNsYW1wXzIwQjIwQjIwQgorICAgIDE2MzQsICAvLyB0ZXh0dXJlR3JhZF8w
MEwyMEIxMEIxMEIKKyAgICAxNjM2LCAgLy8gdGV4dHVyZUdyYWRfMDBSMTBCMTBCMTBCCisgICAg
MTYzOCwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMEkyMEIxMEIxMEIKKyAgICAxNjQwLCAgLy8gdGV4
dHVyZUdhdGhlcl8wMGUyMEIKKyAgICAxNjQxLCAgLy8gdGV4dHVyZTJEXzAwTTEwQgorICAgIDE2
NDIsICAvLyBtaW5fMDBEMDBECisgICAgMTY0NCwgIC8vIG91dGVyUHJvZHVjdF8xMEIxMEIKKyAg
ICAxNjQ2LCAgLy8gbGVzc1RoYW5FcXVhbF8xMEQxMEQKKyAgICAxNjQ4LCAgLy8gdHJ1bmNfMjBC
CisgICAgMTY1MCwgIC8vIGdsX01heFZhcnlpbmdWZWN0b3JzCisgICAgMTY1MiwgIC8vIHRleHR1
cmVQcm9qT2Zmc2V0XzAwSTMwQjEwRDAwQgorICAgIDE2NTQsICAvLyB0ZXh0dXJlU2l6ZV8wMGQw
MEQKKyAgICAxNjU2LCAgLy8gc2luXzAwQgorICAgIDE2NTgsICAvLyBnbF9NYXhWZXJ0ZXhVbmlm
b3JtVmVjdG9ycworICAgIDE2NjAsICAvLyB0ZXh0dXJlQ3ViZUxvZEVYVF8wMEsyMEIwMEIKKyAg
ICAxNjYxLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFQyMEIwMEQKKyAgICAxNjYzLCAgLy8gdGV4dHVy
ZVByb2pfMDBOMjBCCisgICAgMTY2NCwgIC8vIHVhZGRDYXJyeV8xMEUxMEUxMEUKKyAgICAxNjY2
LCAgLy8gdGFuXzEwQgorICAgIDE2NjgsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwTDIwQjAwQjEw
RAorICAgIDE2NzAsICAvLyBhdG9taWNDb3VudGVySW5jcmVtZW50XzAwRworICAgIDE2NzIsICAv
LyBsZGV4cF8yMEIyMEQKKyAgICAxNjc0LCAgLy8gZ3JlYXRlclRoYW5FcXVhbF8zMEQzMEQKKyAg
ICAxNjc2LCAgLy8gbm90RXF1YWxfMjBCMjBCCisgICAgMTY3OCwgIC8vIGltYWdlTG9hZF8wMUQy
MEQKKyAgICAxNjc5LCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBYMzBCMDBCMTBECisgICAg
MTY4MSwgIC8vIGlzaW5mXzIwQgorICAgIDE2ODMsICAvLyBjb3NfMTBCCisgICAgMTY4NSwgIC8v
IG1peF8zMEIzMEIzMEIKKyAgICAxNjg3LCAgLy8gdGV4dHVyZV8wMGUzMEIKKyAgICAxNjg5LCAg
Ly8gdGV4dHVyZVNpemVfMDBUMDBECisgICAgMTY5MSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRf
MDBYMTBCMTBEMDBECisgICAgMTY5MywgIC8vIGVxdWFsXzEwRTEwRQorICAgIDE2OTUsICAvLyBt
aW5fMTBFMTBFCisgICAgMTY5NywgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFkzMEIyMEIy
MEIyMEQKKyAgICAxNjk5LCAgLy8gdGV4dHVyZUdyYWRfMDBUMjBCMjBCMjBCCisgICAgMTcwMSwg
IC8vIG1lbW9yeUJhcnJpZXJJbWFnZV8KKyAgICAxNzAzLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRf
MDBKMzBCMjBECisgICAgMTcwNSwgIC8vIEVtaXRWZXJ0ZXhfCisgICAgMTcwNiwgIC8vIHRleHR1
cmVQcm9qT2Zmc2V0XzAwZDMwQjEwRDAwQgorICAgIDE3MDgsICAvLyByb3VuZF8xMEIKKyAgICAx
NzEwLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBkMzBCMTBECisgICAgMTcxMiwgIC8vIG5vdEVx
dWFsXzEwRTEwRQorICAgIDE3MTQsICAvLyB0ZXh0dXJlUHJval8wMFIzMEIKKyAgICAxNzE2LCAg
Ly8gbWF0cml4Q29tcE11bHRfNTBCNTBCCisgICAgMTcxOCwgIC8vIGVxdWFsXzIwRjIwRgorICAg
IDE3MjAsICAvLyBnbF9NYXhGcmFnbWVudElucHV0VmVjdG9ycworICAgIDE3MjIsICAvLyBlcXVh
bF8zMEIzMEIKKyAgICAxNzI0LCAgLy8gdGV4dHVyZUxvZF8wMFUyMEIwMEIKKyAgICAxNzI2LCAg
Ly8gdXN1YkJvcnJvd18xMEUxMEUxMEUKKyAgICAxNzI4LCAgLy8gZXF1YWxfMTBCMTBCCisgICAg
MTczMCwgIC8vIGZtYV8wMEIwMEIwMEIKKyAgICAxNzMzLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zm
c2V0XzAwSTIwQjEwQjEwQjEwRAorICAgIDE3MzUsICAvLyB0ZXh0dXJlMkRQcm9qTG9kXzAwSTMw
QjAwQgorICAgIDE3MzcsICAvLyBpc25hbl8xMEIKKyAgICAxNzM5LCAgLy8gdWFkZENhcnJ5XzIw
RTIwRTIwRQorICAgIDE3NDEsICAvLyBtYXhfMTBCMTBCCisgICAgMTc0MywgIC8vIGF0b21pY01h
eF8wMEUwMEUKKyAgICAxNzQ1LCAgLy8gZ2xfUG9pbnRTaXplCisgICAgMTc0NywgIC8vIGF0b21p
Y01pbl8wMEQwMEQKKyAgICAxNzQ5LCAgLy8gdGV4dHVyZVNpemVfMDBYMDBECisgICAgMTc1MSwg
IC8vIGdyZWF0ZXJUaGFuXzEwQjEwQgorICAgIDE3NTMsICAvLyBhc2luXzEwQgorICAgIDE3NTUs
ICAvLyB0ZXh0dXJlR2F0aGVyXzAwZDEwQjAwQgorICAgIDE3NTcsICAvLyB0cnVuY18xMEIKKyAg
ICAxNzU5LCAgLy8gZ2xfTWF4Q29tcHV0ZUF0b21pY0NvdW50ZXJzCisgICAgMTc2MSwgIC8vIHRl
eHR1cmVQcm9qXzAwWDMwQgorICAgIDE3NjMsICAvLyBnbF9NYXhWZXJ0ZXhBdG9taWNDb3VudGVy
cworICAgIDE3NjUsICAvLyBsZW5ndGhfMjBCCisgICAgMTc2NywgIC8vIGJpdGZpZWxkSW5zZXJ0
XzMwRTMwRTAwRDAwRAorICAgIDE3NjksICAvLyB0ZXh0dXJlT2Zmc2V0XzAwUzIwQjIwRAorICAg
IDE3NzEsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFgyMEIxMEQKKyAgICAxNzczLCAgLy8gY2xh
bXBfMzBEMDBEMDBECisgICAgMTc3NSwgIC8vIGNsYW1wXzEwQjAwQjAwQgorICAgIDE3NzcsICAv
LyBtaXhfMjBFMjBFMjBGCisgICAgMTc3OSwgIC8vIHRleHR1cmVQcm9qXzAwUjIwQgorICAgIDE3
ODEsICAvLyB0ZXh0dXJlUHJval8wMEkyMEIwMEIKKyAgICAxNzgzLCAgLy8gZ3JlYXRlclRoYW5f
MTBFMTBFCisgICAgMTc4NSwgIC8vIGltYWdlTG9hZF8wMUsyMEQKKyAgICAxNzg2LCAgLy8gdGV4
dHVyZVByb2pPZmZzZXRfMDBSMzBCMTBEMDBCCisgICAgMTc4OCwgIC8vIGRGZHlfMDBCCisgICAg
MTc5MSwgIC8vIG1pbl8zMEQwMEQKKyAgICAxNzkzLCAgLy8gZmxvYXRCaXRzVG9JbnRfMDBCCisg
ICAgMTc5NSwgIC8vIHNpZ25fMTBCCisgICAgMTc5NywgIC8vIG1heF8wMEUwMEUKKyAgICAxNzk5
LCAgLy8gdGV4dHVyZV8wMGEyMEIwMEIKKyAgICAxODAxLCAgLy8gdGV4dHVyZV8wME0xMEIwMEIK
KyAgICAxODAyLCAgLy8gc21vb3Roc3RlcF8yMEIyMEIyMEIKKyAgICAxODA0LCAgLy8gdGV4dHVy
ZUN1YmVMb2RfMDBLMjBCMDBCCisgICAgMTgwNiwgIC8vIHRleHR1cmVPZmZzZXRfMDBKMjBCMjBE
CisgICAgMTgwOCwgIC8vIHRleGVsRmV0Y2hfMDBKMjBEMDBECisgICAgMTgxMCwgIC8vIHRleHR1
cmVQcm9qXzAwTTIwQjAwQgorICAgIDE4MTEsICAvLyBmbG9hdEJpdHNUb1VpbnRfMDBCCisgICAg
MTgxMywgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFIzMEIxMEIxMEIxMEQKKyAgICAxODE1
LCAgLy8gdGV4dHVyZUxvZF8wMEsyMEIwMEIKKyAgICAxODE3LCAgLy8gdGV4dHVyZVByb2pPZmZz
ZXRfMDBYMzBCMTBEMDBCCisgICAgMTgxOSwgIC8vIGNvc18yMEIKKyAgICAxODIxLCAgLy8gZXhw
Ml8wMEIKKyAgICAxODIzLCAgLy8gcmFkaWFuc18zMEIKKyAgICAxODI1LCAgLy8gdGV4dHVyZTJE
UmVjdFByb2pfMDBPMjBCCisgICAgMTgyNiwgIC8vIHRhbl8yMEIKKyAgICAxODI4LCAgLy8gdGV4
dHVyZUdhdGhlcl8wMFQyMEIKKyAgICAxODMwLCAgLy8gdGV4dHVyZUdhdGhlcl8wMGEyMEIwMEQK
KyAgICAxODMyLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwSjMwQjIwQjIwQjIwRAorICAg
IDE4MzQsICAvLyBhc2luaF8xMEIKKyAgICAxODM2LCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwWDMw
QjEwQjEwQgorICAgIDE4MzgsICAvLyBmbG9vcl8wMEIKKyAgICAxODQwLCAgLy8gZ2xfRHJhd0lE
CisgICAgMTg0MSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwUjEwQjEwRHg0MDBECisgICAg
MTg0NCwgIC8vIGF0b21pY09yXzAwRDAwRAorICAgIDE4NDYsICAvLyB0ZXh0dXJlM0RMb2RfMDBK
MjBCMDBCCiB9OwogCiB1c2luZyBFeHQgPSBURXh0ZW5zaW9uOwpAQCAtMTQ5ODAsNiArMTQ5OTIs
MjAgQEAgdm9pZCBUU3ltYm9sVGFibGU6OmluaXRpYWxpemVCdWlsdEluVmFyaWFibGVzKHNoOjpH
TGVudW0gc2hhZGVyVHlwZSwKICAgICBtX2dsX0xhc3RGcmFnRGF0YU5WID0gbmV3IFRWYXJpYWJs
ZSgKICAgICAgICAgQnVpbHRJbklkOjpnbF9MYXN0RnJhZ0RhdGFOViwgQnVpbHRJbk5hbWU6Omds
X0xhc3RGcmFnRGF0YSwgU3ltYm9sVHlwZTo6QnVpbHRJbiwKICAgICAgICAgVEV4dGVuc2lvbjo6
TlZfc2hhZGVyX2ZyYW1lYnVmZmVyX2ZldGNoLCB0eXBlX2dsX0xhc3RGcmFnRGF0YU5WKTsKKyAg
ICBUVHlwZSAqdHlwZV9nbF9DbGlwRGlzdGFuY2UgPSBuZXcgVFR5cGUoRWJ0RmxvYXQsIEVicEhp
Z2gsIEV2cUNsaXBEaXN0YW5jZSwgMSk7CisgICAgdHlwZV9nbF9DbGlwRGlzdGFuY2UtPm1ha2VB
cnJheShyZXNvdXJjZXMuTWF4Q2xpcERpc3RhbmNlcyk7CisgICAgdHlwZV9nbF9DbGlwRGlzdGFu
Y2UtPnJlYWxpemUoKTsKKyAgICBtX2dsX0NsaXBEaXN0YW5jZSA9CisgICAgICAgIG5ldyBUVmFy
aWFibGUoQnVpbHRJbklkOjpnbF9DbGlwRGlzdGFuY2UsIEJ1aWx0SW5OYW1lOjpnbF9DbGlwRGlz
dGFuY2UsIFN5bWJvbFR5cGU6OkJ1aWx0SW4sCisgICAgICAgICAgICAgICAgICAgICAgVEV4dGVu
c2lvbjo6QVBQTEVfY2xpcF9kaXN0YW5jZSwgdHlwZV9nbF9DbGlwRGlzdGFuY2UpOworICAgIG1f
Z2xfTWF4Q2xpcERpc3RhbmNlcyA9IG5ldyBUVmFyaWFibGUoCisgICAgICAgIEJ1aWx0SW5JZDo6
Z2xfTWF4Q2xpcERpc3RhbmNlcywgQnVpbHRJbk5hbWU6OmdsX01heENsaXBEaXN0YW5jZXMsIFN5
bWJvbFR5cGU6OkJ1aWx0SW4sCisgICAgICAgIFRFeHRlbnNpb246OkFQUExFX2NsaXBfZGlzdGFu
Y2UsIFN0YXRpY1R5cGU6OkdldDxFYnRJbnQsIEVicE1lZGl1bSwgRXZxQ29uc3QsIDEsIDE+KCkp
OworICAgIHsKKyAgICAgICAgVENvbnN0YW50VW5pb24gKnVuaW9uQXJyYXkgPSBuZXcgVENvbnN0
YW50VW5pb25bMV07CisgICAgICAgIHVuaW9uQXJyYXlbMF0uc2V0SUNvbnN0KHJlc291cmNlcy5N
YXhDbGlwRGlzdGFuY2VzKTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8VFZhcmlhYmxlICo+KG1fZ2xf
TWF4Q2xpcERpc3RhbmNlcyktPnNoYXJlQ29uc3RQb2ludGVyKHVuaW9uQXJyYXkpOworICAgIH0K
ICAgICBURmllbGRMaXN0ICpmaWVsZHNfZ2xfUGVyVmVydGV4ID0gbmV3IFRGaWVsZExpc3QoKTsK
ICAgICBmaWVsZHNfZ2xfUGVyVmVydGV4LT5wdXNoX2JhY2sobmV3IFRGaWVsZChuZXcgVFR5cGUo
RWJ0RmxvYXQsIEVicEhpZ2gsIEV2cVBvc2l0aW9uLCA0LCAxKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsdEluTmFtZTo6Z2xfUG9zaXRpb24sIHpl
cm9Tb3VyY2VMb2MsCkBAIC0xNTAxMiw3ICsxNTAzOCw3IEBAIG5hbWVzcGFjZQogewogdWludDE2
X3QgR2V0TmV4dFJ1bGVJbmRleCh1aW50MzJfdCBuYW1lSGFzaCkKIHsKLSAgICBpZiAobmFtZUhh
c2ggPT0gOTY4IC0gMSkKKyAgICBpZiAobmFtZUhhc2ggPT0gOTcwIC0gMSkKICAgICAgICAgcmV0
dXJuIEFycmF5U2l6ZShCdWlsdEluQXJyYXk6OmtSdWxlcyk7CiAgICAgcmV0dXJuIEJ1aWx0SW5B
cnJheTo6a01hbmdsZWRPZmZzZXRzW25hbWVIYXNoICsgMV07CiB9CkBAIC0xNTAyNCw3ICsxNTA1
MCw3IEBAIGNvbnN0IFRTeW1ib2wgKlRTeW1ib2xUYWJsZTo6ZmluZEJ1aWx0SW4oY29uc3QgSW1t
dXRhYmxlU3RyaW5nICZuYW1lLCBpbnQgc2hhZGVyCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgdWludDMyX3QgbmFtZUhhc2ggPSBuYW1lLm1hbmdsZWROYW1lSGFzaCgpOwotICAgIGlm
IChuYW1lSGFzaCA+PSA5NjgpCisgICAgaWYgKG5hbWVIYXNoID49IDk3MCkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICBjb25zdCBjaGFyICphY3R1YWxOYW1lID0gQnVpbHRJbkFycmF5
OjprTWFuZ2xlZE5hbWVzW25hbWVIYXNoXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxlX2F1dG9nZW4uY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU3ltYm9sVGFi
bGVfYXV0b2dlbi5jcHAKaW5kZXggMDNkYjFiNWJjYzBmOGZlMTAxMmEwZWQwNWQ1OWI5OTM1NDZi
YmJkZS4uMjZiZTk4M2IwN2ZlNWVhMTkzNzk5NWQ5NmM2MGZlZjFkNzdjOTdhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU3ltYm9s
VGFibGVfYXV0b2dlbi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvU3ltYm9sVGFibGVfYXV0b2dlbi5jcHAKQEAgLTIyNDksNiArMjI0OSw4
IEBAIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgQnVpbHRJbklkOjpnbF9CYXNlVmVy
dGV4OwogY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6OmdsX0Jhc2VJ
bnN0YW5jZTsKIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgQnVpbHRJbklkOjphbmds
ZV9CYXNlVmVydGV4OwogY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6
OmFuZ2xlX0Jhc2VJbnN0YW5jZTsKK2NvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgQnVp
bHRJbklkOjpnbF9DbGlwRGlzdGFuY2U7Citjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IEJ1aWx0SW5JZDo6Z2xfTWF4Q2xpcERpc3RhbmNlczsKIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgQnVpbHRJbklkOjpnbF9OdW1Xb3JrR3JvdXBzOwogY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBCdWlsdEluSWQ6OmdsX1dvcmtHcm91cFNpemU7CiBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0SW5JZDo6Z2xfV29ya0dyb3VwSUQ7CkBAIC0yMjY1LDcg
KzIyNjcsNyBAQCBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0SW5JZDo6Z2xf
UGVyVmVydGV4T3V0QmxvY2s7CiBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIEJ1aWx0
SW5JZDo6Z2xfUG9zaXRpb25HUzsKIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgQnVp
bHRJbklkOjpnbF9WaWV3SURfT1ZSOwogCi1jb25zdCBpbnQgVFN5bWJvbFRhYmxlOjprTGFzdEJ1
aWx0SW5JZCA9IDIzMjA7Citjb25zdCBpbnQgVFN5bWJvbFRhYmxlOjprTGFzdEJ1aWx0SW5JZCA9
IDIzMjI7CiAKIG5hbWVzcGFjZSBCdWlsdEluTmFtZQogewpAQCAtMjM1Myw2ICsyMzU1LDcgQEAg
Y29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBmd2lkdGhFeHQoImZ3aWR0aCIpOwogY29u
c3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBmd2lkdGhGaW5lKCJmd2lkdGhGaW5lIik7CiBj
b25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX0Jhc2VJbnN0YW5jZSgiZ2xfQmFzZUlu
c3RhbmNlIik7CiBjb25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX0Jhc2VWZXJ0ZXgo
ImdsX0Jhc2VWZXJ0ZXgiKTsKK2NvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZ2xfQ2xp
cERpc3RhbmNlKCJnbF9DbGlwRGlzdGFuY2UiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVT
dHJpbmcgZ2xfRGVwdGhSYW5nZSgiZ2xfRGVwdGhSYW5nZSIpOwogY29uc3RleHByIGNvbnN0IElt
bXV0YWJsZVN0cmluZyBnbF9EZXB0aFJhbmdlUGFyYW1ldGVycygiZ2xfRGVwdGhSYW5nZVBhcmFt
ZXRlcnMiKTsKIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVTdHJpbmcgZ2xfRHJhd0lEKCJnbF9E
cmF3SUQiKTsKQEAgLTIzNzUsNiArMjM3OCw3IEBAIGNvbnN0ZXhwciBjb25zdCBJbW11dGFibGVT
dHJpbmcgZ2xfTG9jYWxJbnZvY2F0aW9uSUQoImdsX0xvY2FsSW52b2NhdGlvbklEIik7CiBjb25z
dGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX0xvY2FsSW52b2NhdGlvbkluZGV4KCJnbF9M
b2NhbEludm9jYXRpb25JbmRleCIpOwogY29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBn
bF9NYXhBdG9taWNDb3VudGVyQmluZGluZ3MoImdsX01heEF0b21pY0NvdW50ZXJCaW5kaW5ncyIp
OwogY29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBnbF9NYXhBdG9taWNDb3VudGVyQnVm
ZmVyU2l6ZSgiZ2xfTWF4QXRvbWljQ291bnRlckJ1ZmZlclNpemUiKTsKK2NvbnN0ZXhwciBjb25z
dCBJbW11dGFibGVTdHJpbmcgZ2xfTWF4Q2xpcERpc3RhbmNlcygiZ2xfTWF4Q2xpcERpc3RhbmNl
cyIpOwogY29uc3RleHByIGNvbnN0IEltbXV0YWJsZVN0cmluZyBnbF9NYXhDb21iaW5lZEF0b21p
Y0NvdW50ZXJCdWZmZXJzKAogICAgICJnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJCdWZmZXJz
Iik7CiBjb25zdGV4cHIgY29uc3QgSW1tdXRhYmxlU3RyaW5nIGdsX01heENvbWJpbmVkQXRvbWlj
Q291bnRlcnMoImdsX01heENvbWJpbmVkQXRvbWljQ291bnRlcnMiKTsKQEAgLTI0MTIzLDYgKzI0
MTI3LDggQEAgY29uc3RleHByIFN5bWJvbFJ1bGUga1J1bGVzW10gPSB7CiAgICAgUnVsZTo6R2V0
PFNwZWM6OkVTU0wsIDEwMCwgU2hhZGVyOjpGUkFHTUVOVCwgRVhUX0lOREVYKEVYVF9mcmFnX2Rl
cHRoKT4oCiAgICAgICAgICZUYWJsZUJhc2U6Om1fZ2xfRnJhZ0RlcHRoRVhUKSwKICAgICBSdWxl
OjpHZXQ8U3BlYzo6R0xTTCwgNDIwLCBTaGFkZXI6OkFMTCwgMD4oJmltYWdlQXRvbWljQWRkXzAx
VjIwRDAwRDAwRCksCisgICAgUnVsZTo6R2V0PFNwZWM6OkVTU0wsIDAsIFNoYWRlcjo6VkVSVEVY
LCBFWFRfSU5ERVgoQVBQTEVfY2xpcF9kaXN0YW5jZSk+KAorICAgICAgICAmVGFibGVCYXNlOjpt
X2dsX0NsaXBEaXN0YW5jZSksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDQwMCwgU2hhZGVy
OjpBTEwsIDA+KCZtb2RmXzMwQzMwQyksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDQyMCwg
U2hhZGVyOjpBTEwsIDA+KCZpbWFnZUF0b21pY01pbl8wMVQxMEQwMEQwMEUpLAogICAgIFJ1bGU6
OkdldDxTcGVjOjpHTFNMLCA0MjAsIFNoYWRlcjo6QUxMLCAwPigmaW1hZ2VBdG9taWNNaW5fMDFU
MTBEMDBEMDBEKSwKQEAgLTI1MDYxLDYgKzI1MDY3LDggQEAgY29uc3RleHByIFN5bWJvbFJ1bGUg
a1J1bGVzW10gPSB7CiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDEzMCwgU2hhZGVyOjpBTEws
IDA+KCZ0ZXh0dXJlTG9kXzAwZzAwQjAwQiksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkVTU0wsIDAs
IFNoYWRlcjo6QUxMLCAwPigmc2luXzEwQiksCiAgICAgUnVsZTo6R2V0PFNwZWM6OkdMU0wsIDAs
IFNoYWRlcjo6QUxMLCAwPigmc2luXzEwQiksCisgICAgUnVsZTo6R2V0PFNwZWM6OkVTU0wsIDAs
IFNoYWRlcjo6VkVSVEVYLCBFWFRfSU5ERVgoQVBQTEVfY2xpcF9kaXN0YW5jZSk+KAorICAgICAg
ICAmVGFibGVCYXNlOjptX2dsX01heENsaXBEaXN0YW5jZXMpLAogICAgIFJ1bGU6OkdldDxTcGVj
OjpFU1NMLCAzMDAsIFNoYWRlcjo6QUxMLCBFWFRfSU5ERVgoRVhUX1lVVl90YXJnZXQpPigmdGV4
dHVyZVNpemVfMDBOMDBEKSwKICAgICBSdWxlOjpHZXQ8U3BlYzo6RVNTTCwgMCwgU2hhZGVyOjpB
TEwsIDA+KCZtb2RfMjBCMjBCKSwKICAgICBSdWxlOjpHZXQ8U3BlYzo6R0xTTCwgMCwgU2hhZGVy
OjpBTEwsIDA+KCZtb2RfMjBCMjBCKSwKQEAgLTI2OTE3LDYgKzI2OTI1LDcgQEAgY29uc3RleHBy
IGNvbnN0IGNoYXIgKmtNYW5nbGVkTmFtZXNbXSA9IHsidGV4dHVyZVByb2ooMDBSMzBCMDBCIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFicygxMEMiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xfRnJhZ0RlcHRoRVhUIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltYWdlQXRvbWljQWRk
KDAxVjIwRDAwRDAwRCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJnbF9DbGlwRGlzdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibW9kZigzMEMzMEMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaW1hZ2VBdG9taWNNaW4oMDFUMTBEMDBEMDBFIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImltYWdlQXRvbWljTWluKDAxVDEwRDAwRDAwRCIsCkBAIC0y
NzU2Myw2ICsyNzU3Miw3IEBAIGNvbnN0ZXhwciBjb25zdCBjaGFyICprTWFuZ2xlZE5hbWVzW10g
PSB7InRleHR1cmVQcm9qKDAwUjMwQjAwQiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJnbF9IZWxwZXJJbnZvY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRleHR1cmVMb2QoMDBnMDBCMDBCIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpbigxMEIiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xfTWF4Q2xpcERpc3RhbmNlcyIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0dXJlU2l6ZSgwME4wMEQiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kKDIwQjIwQiIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbWFnZUF0b21pY09yKDAx
aDAwRDAwRSIsCkBAIC0yOTA1OCwxNDA3ICsyOTA2OCwxNDA5IEBAIGNvbnN0ZXhwciB1aW50MTZf
dCBrTWFuZ2xlZE9mZnNldHNbXSA9IHsKICAgICAxMDczLCAgLy8gYWJzXzEwQwogICAgIDEwNzQs
ICAvLyBnbF9GcmFnRGVwdGhFWFQKICAgICAxMDc1LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFWMjBE
MDBEMDBECi0gICAgMTA3NiwgIC8vIG1vZGZfMzBDMzBDCi0gICAgMTA3NywgIC8vIGltYWdlQXRv
bWljTWluXzAxVDEwRDAwRDAwRQotICAgIDEwNzgsICAvLyBpbWFnZUF0b21pY01pbl8wMVQxMEQw
MEQwMEQKLSAgICAxMDc5LCAgLy8gdGV4dHVyZUdyYWRfMDBpMjBCMDBCMDBCCi0gICAgMTA4MCwg
IC8vIHRleHR1cmVQcm9qXzAwZzEwQgotICAgIDEwODEsICAvLyBlcXVhbF8yMEIyMEIKLSAgICAx
MDgzLCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBYMjBCMDBCMTBECi0gICAgMTA4NSwgIC8v
IG1heF8zMEMwMEMKLSAgICAxMDg2LCAgLy8gdGV4dHVyZV8wMFUyMEIwMEIKLSAgICAxMDg4LCAg
Ly8gdGV4dHVyZVByb2pfMDBJMzBCCi0gICAgMTA5MCwgIC8vIG1peF8wMEUwMEUwMEYKLSAgICAx
MDkyLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMWgwMEQwMEQwMEQKLSAgICAxMDkzLCAgLy8g
bWl4XzAwRDAwRDAwRgotICAgIDEwOTUsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMHEyMEIxMEQK
LSAgICAxMDk2LCAgLy8gdGV4dHVyZV8wMGkyMEIKLSAgICAxMDk3LCAgLy8gdGV4dHVyZUdyYWRP
ZmZzZXRfMDBhMjBCMTBCMTBCMTBECi0gICAgMTA5OSwgIC8vIHNtb290aHN0ZXBfMDBCMDBCMjBC
Ci0gICAgMTEwMSwgIC8vIHRleHR1cmVMb2RfMDBzMzBCMDBCCi0gICAgMTEwMiwgIC8vIGltYWdl
QXRvbWljT3JfMDFDMjBEMDBECi0gICAgMTEwMywgIC8vIGltYWdlQXRvbWljT3JfMDFDMjBEMDBF
Ci0gICAgMTEwNCwgIC8vIGltYWdlQXRvbWljWG9yXzAxZzAwRDAwRQotICAgIDExMDUsICAvLyBu
b3RFcXVhbF8zMEIzMEIKLSAgICAxMTA3LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMGYyMEIw
MEIxMEQKLSAgICAxMTA5LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFOMDBEMDBECi0gICAgMTExMCwg
IC8vIGltYWdlQXRvbWljQW5kXzAxTjAwRDAwRQotICAgIDExMTEsICAvLyBpbWFnZVNpemVfMDB6
Ci0gICAgMTExMywgIC8vIG1vZF8xMEMxMEMKLSAgICAxMTE0LCAgLy8gaW1hZ2VBdG9taWNYb3Jf
MDFnMDBEMDBECi0gICAgMTExNSwgIC8vIGZhY2Vmb3J3YXJkXzAwQzAwQzAwQwotICAgIDExMTYs
ICAvLyB0ZXh0dXJlR3JhZF8wMGEyMEIxMEIxMEIKLSAgICAxMTE4LCAgLy8gZEZkeENvYXJzZV8w
MEIKLSAgICAxMTE5LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFhMjBEMDBECi0gICAgMTEyMCwgIC8v
IHRleHR1cmVfMDBKMjBCMDBCCi0gICAgMTEyMiwgIC8vIHJlZnJhY3RfMjBCMjBCMDBCCi0gICAg
MTEyNCwgIC8vIGNlaWxfMzBDCi0gICAgMTEyNSwgIC8vIGdsX01heEdlb21ldHJ5T3V0cHV0Q29t
cG9uZW50cwotICAgIDExMjYsICAvLyBub2lzZTFfMzBCCi0gICAgMTEyNywgIC8vIGxvZzJfMzBC
Ci0gICAgMTEyOSwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMGQzMEIxMEIxMEIKLSAgICAxMTMxLCAg
Ly8gbW9kXzIwQzIwQwotICAgIDExMzIsICAvLyBmcmFjdF8zMEMKLSAgICAxMTMzLCAgLy8gdGV4
ZWxGZXRjaF8wMHQwMEQwMEQKLSAgICAxMTM0LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFMMDBEMDBE
Ci0gICAgMTEzNSwgIC8vIG1heF8zMEUzMEUKLSAgICAxMTM3LCAgLy8gZ2xfTWF4RnJhZ21lbnRB
dG9taWNDb3VudGVyQnVmZmVycwotICAgIDExMzksICAvLyBnbF9pbgotICAgIDExNDAsICAvLyBu
b2lzZTRfMDBCCi0gICAgMTE0MSwgIC8vIGRpc3RhbmNlXzEwQzEwQwotICAgIDExNDIsICAvLyB0
ZXh0dXJlUHJvakxvZE9mZnNldF8wMEozMEIwMEIyMEQKLSAgICAxMTQ0LCAgLy8gaW1hZ2VMb2Fk
XzAxQjEwRAotICAgIDExNDYsICAvLyBpbWFnZUF0b21pY01heF8wMUgyMEQwMEUKLSAgICAxMTQ3
LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFIMjBEMDBECi0gICAgMTE0OCwgIC8vIGltYWdlU3RvcmVf
MDFoMDBEMzBECi0gICAgMTE0OSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFPMTBEMDBECi0g
ICAgMTE1MCwgIC8vIHRleGVsRmV0Y2hfMDBjMjBEMDBECi0gICAgMTE1MiwgIC8vIHNxcnRfMDBC
Ci0gICAgMTE1NCwgIC8vIHNxcnRfMDBDCi0gICAgMTE1NSwgIC8vIHRleHR1cmVQcm9qTG9kXzAw
UjMwQjAwQgotICAgIDExNTcsICAvLyBub2lzZTNfMTBCCi0gICAgMTE1OCwgIC8vIHRleGVsRmV0
Y2hfMDBxMTBECi0gICAgMTE1OSwgIC8vIGltYWdlQXRvbWljQW5kXzAxRjIwRDAwRAotICAgIDEx
NjAsICAvLyB0ZXh0dXJlTG9kXzAwbTIwQjAwQgotICAgIDExNjEsICAvLyB0ZXh0dXJlUHJvak9m
ZnNldF8wMG0zMEIwMEQwMEIKLSAgICAxMTYyLCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwdjMwQjEw
QjEwQgotICAgIDExNjMsICAvLyBjbGFtcF8yMEQyMEQyMEQKLSAgICAxMTY1LCAgLy8gaW1hZ2VB
dG9taWNNaW5fMDFQMTBEMDBFCi0gICAgMTE2NiwgIC8vIGltYWdlQXRvbWljQWRkXzAxQzIwRDAw
RQotICAgIDExNjcsICAvLyBjbGFtcF8wMEMwMEMwMEMKLSAgICAxMTY4LCAgLy8gaW1hZ2VBdG9t
aWNYb3JfMDFOMDBEMDBECi0gICAgMTE2OSwgIC8vIGltYWdlQXRvbWljWG9yXzAxTjAwRDAwRQot
ICAgIDExNzAsICAvLyBtYXhfMTBFMDBFCi0gICAgMTE3MiwgIC8vIGltYWdlTG9hZF8wMWMyMEQK
LSAgICAxMTczLCAgLy8gdGV4dHVyZUdyYWRfMDBVMjBCMTBCMTBCCi0gICAgMTE3NSwgIC8vIGlt
YWdlTG9hZF8wMHoxMEQKLSAgICAxMTc3LCAgLy8gY2xhbXBfMzBDMDBDMDBDCi0gICAgMTE3OCwg
IC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwYTIwQjEwRHg0MDBECi0gICAgMTE4MSwgIC8vIHNp
bmhfMjBCCi0gICAgMTE4MywgIC8vIG1hdHJpeENvbXBNdWx0X0UwQkUwQgotICAgIDExODQsICAv
LyBmd2lkdGhGaW5lXzAwQgotICAgIDExODUsICAvLyBnbF9QZXJWZXJ0ZXgKLSAgICAxMTg2LCAg
Ly8gdGV4dHVyZUdyYWRPZmZzZXRfMDBtMjBCMDBCMDBCMDBECi0gICAgMTE4NywgIC8vIGltYWdl
QXRvbWljTWluXzAxSzIwRDAwRQotICAgIDExODgsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBw
Ci0gICAgMTE4OSwgIC8vIGdsX1dvcmtHcm91cFNpemUKLSAgICAxMTkxLCAgLy8gYXNpbmhfMzBC
Ci0gICAgMTE5MywgIC8vIGNyb3NzXzIwQzIwQwotICAgIDExOTQsICAvLyB0ZXh0dXJlR2F0aGVy
XzAwYTIwQgotICAgIDExOTYsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBPMjBCMTBCMTBC
MTBECi0gICAgMTE5NywgIC8vIHBvd18zMEIzMEIKLSAgICAxMTk5LCAgLy8gaW1hZ2VBdG9taWND
b21wU3dhcF8wMUcyMEQwMEUwMEUKLSAgICAxMjAwLCAgLy8gc21vb3Roc3RlcF8xMEIxMEIxMEIK
LSAgICAxMjAyLCAgLy8gdGV4dHVyZVByb2pfMDBPMzBCCi0gICAgMTIwNCwgIC8vIHRleHR1cmVR
dWVyeUxvZF8wMFIxMEIKLSAgICAxMjA1LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFSMTBEMDBEMDBE
Ci0gICAgMTIwNiwgIC8vIGltYWdlQXRvbWljQWRkXzAxUjEwRDAwRDAwRQotICAgIDEyMDcsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxRTIwRDAwRAotICAgIDEyMDgsICAvLyBpbWFnZUF0b21p
Y01pbl8wMVExMEQwMEUKLSAgICAxMjA5LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFRMTBEMDBECi0g
ICAgMTIxMCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFFMjBEMDBFCi0gICAgMTIxMSwgIC8v
IGlzbmFuXzAwQgotICAgIDEyMTMsICAvLyBpc25hbl8wMEMKLSAgICAxMjE0LCAgLy8gaW11bEV4
dGVuZGVkXzEwRDEwRDEwRDEwRAotICAgIDEyMTYsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBvMTBC
MDBCMDBCCi0gICAgMTIxNywgIC8vIGltYWdlQXRvbWljTWF4XzAxaTAwRDAwRAotICAgIDEyMTgs
ICAvLyBpbWFnZUF0b21pY01heF8wMWkwMEQwMEUKLSAgICAxMjE5LCAgLy8gcmVmcmFjdF8xMEMx
MEMwMEIKLSAgICAxMjIwLCAgLy8gbWluXzAwRTAwRQotICAgIDEyMjIsICAvLyBpbWFnZVN0b3Jl
XzAxVDEwRDAwRDMwRQotICAgIDEyMjMsICAvLyB0ZXh0dXJlMkRQcm9qXzAwSTMwQgotICAgIDEy
MjUsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMEkxMEIxMEIxMEIxMEQKLSAgICAxMjI3LCAgLy8g
dGV4dHVyZUxvZE9mZnNldF8wMEoyMEIwMEIyMEQKLSAgICAxMjI5LCAgLy8gbm90RXF1YWxfMjBC
MjBCCi0gICAgMTIzMSwgIC8vIGF0b21pY0NvbXBTd2FwXzAwRDAwRDAwRAotICAgIDEyMzMsICAv
LyBFbXB0eQotICAgIDEyMzMsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwaTIwQjAwRAotICAgIDEyMzQs
ICAvLyBkRmR5RmluZV8wMEIKLSAgICAxMjM1LCAgLy8gdGV4dHVyZUxvZF8wMGEyMEIwMEIKLSAg
ICAxMjM3LCAgLy8gdGV4dHVyZVByb2pfMDBOMzBCCi0gICAgMTIzOCwgIC8vIHJlZnJhY3RfMzBD
MzBDMDBCCi0gICAgMTIzOSwgIC8vIGVxdWFsXzMwRDMwRAotICAgIDEyNDEsICAvLyBpbWFnZVN0
b3JlXzAxRDIwRDMwRAotICAgIDEyNDMsICAvLyBwYWNrU25vcm0yeDE2XzEwQgotICAgIDEyNDUs
ICAvLyBmbG9hdEJpdHNUb1VpbnRfMzBCCi0gICAgMTI0NywgIC8vIHRleHR1cmVPZmZzZXRfMDBS
MTBCMTBECi0gICAgMTI0OSwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMHEyMEIxMEIxMEIKLSAgICAx
MjUwLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwUjIwQjEwQjEwQjEwRAotICAgIDEyNTIs
ICAvLyBsZGV4cF8zMEIzMEQKLSAgICAxMjU0LCAgLy8gbWF4XzMwQjAwQgotICAgIDEyNTYsICAv
LyBhdG9taWNDb3VudGVyT3JfMDBHMDBFCi0gICAgMTI1NywgIC8vIGltYWdlQXRvbWljTWluXzAx
aTAwRDAwRQotICAgIDEyNTgsICAvLyBzdGVwXzMwQjMwQgotICAgIDEyNjAsICAvLyB0ZXh0dXJl
UHJval8wMEkzMEIwMEIKLSAgICAxMjYyLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUQyMEQw
MEUKLSAgICAxMjYzLCAgLy8gdGV4dHVyZU9mZnNldF8wMGcwMEIwMEQwMEIKLSAgICAxMjY0LCAg
Ly8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUQyMEQwMEIKLSAgICAxMjY1LCAgLy8gaW1hZ2VBdG9t
aWNNaW5fMDFnMDBEMDBFCi0gICAgMTI2NiwgIC8vIGltYWdlQXRvbWljTWF4XzAxYzIwRDAwRAot
ICAgIDEyNjcsICAvLyBhYnNfMDBECi0gICAgMTI2OSwgIC8vIGFic18wMEMKLSAgICAxMjcwLCAg
Ly8gYWJzXzAwQgotICAgIDEyNzIsICAvLyB0ZXh0dXJlTG9kXzAwUjEwQjAwQgotICAgIDEyNzQs
ICAvLyBkRmR4Q29hcnNlXzEwQgotICAgIDEyNzUsICAvLyB0ZXh0dXJlMURfMDBnMDBCCi0gICAg
MTI3NiwgIC8vIGZyZXhwXzEwQzEwRAotICAgIDEyNzcsICAvLyBpbWFnZUF0b21pY0FkZF8wMWcw
MEQwMEUKLSAgICAxMjc4LCAgLy8gdGV4dHVyZTJETG9kXzAwSTEwQjAwQgotICAgIDEyODAsICAv
LyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBYMjBCMTBCMTBCMTBECi0gICAgMTI4MiwgIC8vIGlt
YWdlQXRvbWljTWF4XzAxWjEwRDAwRAotICAgIDEyODMsICAvLyBnbF9NYXhDb21wdXRlQXRvbWlj
Q291bnRlcnMKLSAgICAxMjg1LCAgLy8gcm91bmRfMjBDCi0gICAgMTI4NiwgIC8vIEVuZFByaW1p
dGl2ZV8KLSAgICAxMjg4LCAgLy8gc3RlcF8wMEIzMEIKLSAgICAxMjkwLCAgLy8gcm91bmRfMjBC
Ci0gICAgMTI5MiwgIC8vIGVxdWFsXzMwRTMwRQotICAgIDEyOTQsICAvLyBpbWFnZUF0b21pY0Nv
bXBTd2FwXzAxUjEwRDAwRDAwRTAwRQotICAgIDEyOTUsICAvLyBzdGVwXzAwQzIwQwotICAgIDEy
OTYsICAvLyBkb3RfMDBDMDBDCi0gICAgMTI5NywgIC8vIG1heF8zMEMzMEMKLSAgICAxMjk4LCAg
Ly8gYXRvbWljT3JfMDBEMDBECi0gICAgMTMwMCwgIC8vIHRleHR1cmUyRFByb2pfMDBNMjBCCi0g
ICAgMTMwMSwgIC8vIG5vdEVxdWFsXzEwRDEwRAotICAgIDEzMDMsICAvLyBpbWFnZUF0b21pY0V4
Y2hhbmdlXzAxWjEwRDAwRAotICAgIDEzMDQsICAvLyB0ZXh0dXJlU2l6ZV8wMFYKLSAgICAxMzA3
LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFoMDBEMDBECi0gICAgMTMwOCwgIC8vIG1pbl8yMEMwMEMK
LSAgICAxMzA5LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFHMjBEMDBFCi0gICAgMTMxMCwgIC8vIGlt
YWdlQXRvbWljQWRkXzAxRzIwRDAwRAotICAgIDEzMTEsICAvLyBmaW5kTFNCXzMwRAotICAgIDEz
MTMsICAvLyBmaW5kTFNCXzMwRQotICAgIDEzMTUsICAvLyB0ZXh0dXJlUHJval8wMFgyMEIwMEIK
LSAgICAxMzE3LCAgLy8gc2hhZG93MkRfMDBkMjBCCi0gICAgMTMxOCwgIC8vIHRleHR1cmVHYXRo
ZXJPZmZzZXRfMDBVMjBCMTBECi0gICAgMTMyMCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFa
MTBEMDBFCi0gICAgMTMyMSwgIC8vIGZhY2Vmb3J3YXJkXzEwQjEwQjEwQgotICAgIDEzMjMsICAv
LyBpbWFnZUF0b21pY0FuZF8wMWgwMEQwMEUKLSAgICAxMzI0LCAgLy8gbWluXzEwRDAwRAotICAg
IDEzMjYsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxSjIwRDAwRDAwRAotICAgIDEzMjcsICAv
LyBhbGxfMjBGCi0gICAgMTMyOSwgIC8vIGltYWdlU2l6ZV8wMUoKLSAgICAxMzMxLCAgLy8gaW1h
Z2VTaXplXzAxSwotICAgIDEzMzMsICAvLyBpbWFnZVNpemVfMDFICi0gICAgMTMzNSwgIC8vIGlt
YWdlU2l6ZV8wMUkKLSAgICAxMzM3LCAgLy8gcGFja0hhbGYyeDE2XzEwQgotICAgIDEzMzksICAv
LyB0ZXh0dXJlUHJval8wMEkyMEIwMEIKLSAgICAxMzQxLCAgLy8gaW1hZ2VTaXplXzAxTAotICAg
IDEzNDIsICAvLyBpbWFnZVNpemVfMDFNCi0gICAgMTM0MywgIC8vIGltYWdlU2l6ZV8wMUIKLSAg
ICAxMzQ1LCAgLy8gaW1hZ2VTaXplXzAxQwotICAgIDEzNDcsICAvLyB0ZXhlbEZldGNoXzAwcjAw
RAotICAgIDEzNDgsICAvLyBpbWFnZVNpemVfMDFGCi0gICAgMTM1MCwgIC8vIGltYWdlU2l6ZV8w
MUcKLSAgICAxMzUyLCAgLy8gaW1hZ2VTaXplXzAxRAotICAgIDEzNTQsICAvLyBpbWFnZVNpemVf
MDFFCi0gICAgMTM1NiwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFMMDBEMDBCCi0gICAgMTM1
NywgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFMMDBEMDBFCi0gICAgMTM1OCwgIC8vIHRleGVs
RmV0Y2hfMDBYMTBEMDBECi0gICAgMTM2MCwgIC8vIG5vdEVxdWFsXzMwRjMwRgotICAgIDEzNjIs
ICAvLyBpbWFnZVNpemVfMDFSCi0gICAgMTM2MywgIC8vIGltYWdlU2l6ZV8wMVMKLSAgICAxMzY0
LCAgLy8gaW1hZ2VTaXplXzAxUAotICAgIDEzNjUsICAvLyBpbWFnZVNpemVfMDFRCi0gICAgMTM2
NiwgIC8vIGltYWdlU2l6ZV8wMVYKLSAgICAxMzY3LCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAwZzAw
QgotICAgIDEzNjgsICAvLyBpbWFnZVNpemVfMDFUCi0gICAgMTM2OSwgIC8vIGltYWdlU2l6ZV8w
MVUKLSAgICAxMzcwLCAgLy8gaW1hZ2VTaXplXzAxaAotICAgIDEzNzEsICAvLyBpbWFnZVNpemVf
MDFpCi0gICAgMTM3MiwgIC8vIGZyYWN0XzIwQwotICAgIDEzNzMsICAvLyBmcmFjdF8yMEIKLSAg
ICAxMzc1LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMFgxMEIxMEQKLSAgICAxMzc3LCAgLy8g
aW1hZ2VTaXplXzAxYwotICAgIDEzNzgsICAvLyBpbWFnZVN0b3JlXzAxUjEwRDAwRDMwQgotICAg
IDEzNzksICAvLyBpbWFnZVNpemVfMDFhCi0gICAgMTM4MCwgIC8vIGltYWdlU2l6ZV8wMWYKLSAg
ICAxMzgxLCAgLy8gdGV4dHVyZTJEUHJvakdyYWRFWFRfMDBJMjBCMTBCMTBCCi0gICAgMTM4Miwg
IC8vIGltYWdlU2l6ZV8wMWQKLSAgICAxMzgzLCAgLy8gdGV4dHVyZUxvZF8wMFMyMEIwMEIKLSAg
ICAxMzg1LCAgLy8gc3RlcF8zMEMzMEMKLSAgICAxMzg2LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFK
MjBEMDBECi0gICAgMTM4NywgIC8vIGdsX0ZyYWdEZXB0aAotICAgIDEzODksICAvLyB0ZXh0dXJl
R2F0aGVyXzAweDMwQgotICAgIDEzOTAsICAvLyBtaXhfMzBCMzBCMzBGCi0gICAgMTM5MiwgIC8v
IG1peF8zMEIzMEIzMEIKLSAgICAxMzk0LCAgLy8gdGV4dHVyZUdhdGhlcl8wMFoyMEIwMEQKLSAg
ICAxMzk2LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFaMTBEMDBFCi0gICAgMTM5NywgIC8vIGltYWdl
QXRvbWljQW5kXzAxWjEwRDAwRAotICAgIDEzOTgsICAvLyBpbWFnZVN0b3JlXzAxRTIwRDMwRQot
ICAgIDE0MDAsICAvLyBzcXJ0XzMwQwotICAgIDE0MDEsICAvLyBzcXJ0XzMwQgotICAgIDE0MDMs
ICAvLyBleHBfMDBCCi0gICAgMTQwNSwgIC8vIG1heF8zMEQzMEQKLSAgICAxNDA3LCAgLy8gZ2xf
TWF4R2VvbWV0cnlUZXh0dXJlSW1hZ2VVbml0cwotICAgIDE0MDgsICAvLyBpbnRlcnBvbGF0ZUF0
Q2VudHJvaWRfMTBCCi0gICAgMTQwOSwgIC8vIHRleHR1cmVfMDBxMTBCCi0gICAgMTQxMCwgIC8v
IHRleHR1cmVTaXplXzAwTTAwRAotICAgIDE0MTEsICAvLyB0ZXh0dXJlU2FtcGxlc18wMGMKLSAg
ICAxNDEyLCAgLy8gYW5nbGVfQmFzZUluc3RhbmNlCi0gICAgMTQxMywgIC8vIG1peF8xMEYxMEYx
MEYKLSAgICAxNDE1LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBVMjBCMTBCMTBCMTBECi0gICAg
MTQxNywgIC8vIGdsX1Bvc2l0aW9uCi0gICAgMTQyMCwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAw
TzEwQjEwQjEwQjEwRAotICAgIDE0MjEsICAvLyB0ZXh0dXJlUHJval8wME0zMEIKLSAgICAxNDIy
LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBMMjBCMTBCMTBCMTBECi0gICAgMTQyNCwgIC8vIGlt
YWdlQXRvbWljRXhjaGFuZ2VfMDFWMjBEMDBEMDBECi0gICAgMTQyNSwgIC8vIGltYWdlQXRvbWlj
RXhjaGFuZ2VfMDFKMjBEMDBCCi0gICAgMTQyNiwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFK
MjBEMDBFCi0gICAgMTQyNywgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFKMjBEMDBECi0gICAg
MTQyOCwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMGwyMEIKLSAgICAxNDI5LCAgLy8gaW1hZ2VBdG9t
aWNPcl8wMU0wMEQwMEUKLSAgICAxNDMwLCAgLy8gZG90XzIwQjIwQgotICAgIDE0MzIsICAvLyB0
ZXh0dXJlUHJvakdyYWRfMDB2MjBCMTBCMTBCCi0gICAgMTQzMywgIC8vIHRleHR1cmVQcm9qTG9k
XzAwUzMwQjAwQgotICAgIDE0MzUsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBSMjBCMTBCMTBCCi0g
ICAgMTQzNywgIC8vIGltYWdlQXRvbWljQW5kXzAxaTAwRDAwRQotICAgIDE0MzgsICAvLyBpbWFn
ZUF0b21pY0FuZF8wMWkwMEQwMEQKLSAgICAxNDM5LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDB6MTBE
MDBFCi0gICAgMTQ0MCwgIC8vIGltYWdlQXRvbWljTWF4XzAwejEwRDAwRAotICAgIDE0NDEsICAv
LyBub3JtYWxpemVfMzBDCi0gICAgMTQ0MiwgIC8vIG5vcm1hbGl6ZV8zMEIKLSAgICAxNDQ0LCAg
Ly8gdGV4dHVyZU9mZnNldF8wME8xMEIxMEQKLSAgICAxNDQ1LCAgLy8gdGV4dHVyZVByb2pHcmFk
XzAwSTIwQjEwQjEwQgotICAgIDE0NDcsICAvLyB0ZXh0dXJlR2F0aGVyXzAwZTIwQgotICAgIDE0
NDgsICAvLyBpbWFnZUF0b21pY01heF8wMVYyMEQwMEQwMEUKLSAgICAxNDQ5LCAgLy8gdGV4dHVy
ZTJEXzAwTTEwQgotICAgIDE0NTAsICAvLyBpbWFnZUF0b21pY0FkZF8wMWEyMEQwMEUKLSAgICAx
NDUxLCAgLy8gZndpZHRoRmluZV8zMEIKLSAgICAxNDUyLCAgLy8gdGV4dHVyZUdhdGhlcl8wMEsy
MEIwMEQKLSAgICAxNDU0LCAgLy8gdGV4dHVyZUN1YmVMb2RFWFRfMDBLMjBCMDBCCi0gICAgMTQ1
NSwgIC8vIHRleHR1cmVHYXRoZXJfMDBUMjBCMDBECi0gICAgMTQ1NywgIC8vIHRleHR1cmVQcm9q
XzAwTjIwQgotICAgIDE0NTgsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBJMTBCCi0gICAgMTQ1OSwg
IC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFBMTBEMDBFMDBFCi0gICAgMTQ2MCwgIC8vIGRGZHlG
aW5lXzEwQgotICAgIDE0NjEsICAvLyBtb2RmXzEwQzEwQwotICAgIDE0NjIsICAvLyBpbWFnZUF0
b21pY01heF8wMUUyMEQwMEQKLSAgICAxNDYzLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFFMjBEMDBF
Ci0gICAgMTQ2NCwgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwWDMwQjAwQjEwRAotICAgIDE0
NjYsICAvLyBpbWFnZVN0b3JlXzAxVzIwRDAwRDMwRQotICAgIDE0NjcsICAvLyB0ZXh0dXJlUHJv
akxvZF8wMG0zMEIwMEIKLSAgICAxNDY4LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBnMzBCMDBE
MDBCCi0gICAgMTQ2OSwgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBVMjBEMDBEMTBECi0gICAgMTQ3
MSwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDB6MTBEMDBFMDBFCi0gICAgMTQ3MiwgIC8vIGlt
YWdlQXRvbWljTWluXzAxRDIwRDAwRQotICAgIDE0NzMsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZz
ZXRfMDBxMzBCMTBCMTBCMTBECi0gICAgMTQ3NCwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwZDIw
QjEwQjEwQjEwRAotICAgIDE0NzYsICAvLyBmd2lkdGhDb2Fyc2VfMjBCCi0gICAgMTQ3NywgIC8v
IGltYWdlQXRvbWljQ29tcFN3YXBfMDFOMDBEMDBFMDBFCi0gICAgMTQ3OCwgIC8vIHRleHR1cmVQ
cm9qT2Zmc2V0XzAwZDMwQjEwRAotICAgIDE0ODAsICAvLyBpbWFnZUF0b21pY09yXzAxVDEwRDAw
RDAwRQotICAgIDE0ODEsICAvLyBpbWFnZUF0b21pY09yXzAxVDEwRDAwRDAwRAotICAgIDE0ODIs
ICAvLyBlcXVhbF8yMEYyMEYKLSAgICAxNDg0LCAgLy8gbWl4XzIwQzIwQzAwQwotICAgIDE0ODUs
ICAvLyB1c3ViQm9ycm93XzEwRTEwRTEwRQotICAgIDE0ODcsICAvLyBlcXVhbF8xMEIxMEIKLSAg
ICAxNDg5LCAgLy8gdGV4dHVyZUxvZE9mZnNldF8wMFUyMEIwMEIxMEQKLSAgICAxNDkxLCAgLy8g
aXNuYW5fMTBDCi0gICAgMTQ5MiwgIC8vIGlzbmFuXzEwQgotICAgIDE0OTQsICAvLyBpbWFnZUF0
b21pY01pbl8wMUgyMEQwMEQKLSAgICAxNDk1LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFBMTBEMDBE
Ci0gICAgMTQ5NiwgIC8vIGltYWdlQXRvbWljWG9yXzAxQTEwRDAwRQotICAgIDE0OTcsICAvLyBp
bWFnZUF0b21pY0NvbXBTd2FwXzAxQzIwRDAwRDAwRAotICAgIDE0OTgsICAvLyB0ZXh0dXJlR3Jh
ZF8wMFIwMEIwMEIwMEIKLSAgICAxNDk5LCAgLy8gYXRvbWljTWluXzAwRDAwRAotICAgIDE1MDEs
ICAvLyB0ZXh0dXJlU2l6ZV8wMFgwMEQKLSAgICAxNTAzLCAgLy8gZ3JlYXRlclRoYW5fMTBCMTBC
Ci0gICAgMTUwNSwgIC8vIG1peF8wMEMwMEMwMEMKLSAgICAxNTA2LCAgLy8gbm9pc2UxXzIwQgot
ICAgIDE1MDcsICAvLyBjbGFtcF8zMEQwMEQwMEQKLSAgICAxNTA5LCAgLy8gbWl4XzIwRTIwRTIw
RgotICAgIDE1MTEsICAvLyBmbG9hdEJpdHNUb0ludF8xMEIKLSAgICAxNTEzLCAgLy8gdGV4dHVy
ZVByb2pPZmZzZXRfMDBSMzBCMTBEMDBCCi0gICAgMTUxNSwgIC8vIHRleHR1cmVHYXRoZXJfMDBV
MjBCMDBECi0gICAgMTUxNywgIC8vIGZsb2F0Qml0c1RvSW50XzAwQgotICAgIDE1MTksICAvLyBp
bWFnZUxvYWRfMDFhMjBECi0gICAgMTUyMCwgIC8vIGZsb2F0Qml0c1RvVWludF8wMEIKLSAgICAx
NTIyLCAgLy8gbWluXzMwQzMwQwotICAgIDE1MjMsICAvLyB0ZXh0dXJlU2FtcGxlc18wMFEKLSAg
ICAxNTI0LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBpMjBCMDBCMDBCMDBECi0gICAgMTUyNSwg
IC8vIGltYWdlQXRvbWljWG9yXzAwejEwRDAwRAotICAgIDE1MjYsICAvLyB0ZXh0dXJlMkRSZWN0
UHJval8wME8yMEIKLSAgICAxNTI3LCAgLy8gbW9kZl8yMEMyMEMKLSAgICAxNTI4LCAgLy8gdGFu
XzIwQgotICAgIDE1MzAsICAvLyBmbG9vcl8wMEMKLSAgICAxNTMxLCAgLy8gZmxvb3JfMDBCCi0g
ICAgMTUzMywgIC8vIGltYWdlQXRvbWljTWF4XzAxTzEwRDAwRQotICAgIDE1MzQsICAvLyBpbWFn
ZUF0b21pY01heF8wMU8xMEQwMEQKLSAgICAxNTM1LCAgLy8gbW9kXzMwQzMwQwotICAgIDE1MzYs
ICAvLyBnbF9EcmF3SUQKLSAgICAxNTM3LCAgLy8gdGV4dHVyZU9mZnNldF8wMHQwMEIwMEQKLSAg
ICAxNTM4LCAgLy8gdGV4dHVyZTNETG9kXzAwSjIwQjAwQgotICAgIDE1NDAsICAvLyBpbWFnZUxv
YWRfMDFRMTBECi0gICAgMTU0MSwgIC8vIHRleHR1cmVfMDBSMTBCMDBCCi0gICAgMTU0MywgIC8v
IGltYWdlU3RvcmVfMDFZMTBEMzBECi0gICAgMTU0NCwgIC8vIG1vZGZfMDBCMDBCCi0gICAgMTU0
NiwgIC8vIG5vdEVxdWFsXzIwRDIwRAotICAgIDE1NDgsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdl
XzAxUjEwRDAwRDAwRQotICAgIDE1NDksICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxUjEwRDAw
RDAwRAotICAgIDE1NTAsICAvLyBsZGV4cF8xMEMxMEQKLSAgICAxNTUxLCAgLy8gaW1hZ2VBdG9t
aWNFeGNoYW5nZV8wMUYyMEQwMEUKLSAgICAxNTUyLCAgLy8gZGV0ZXJtaW5hbnRfQTBCCi0gICAg
MTU1MywgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFpMDBEMDBECi0gICAgMTU1NCwgIC8vIHRl
eHR1cmVMb2RPZmZzZXRfMDBpMjBCMDBCMDBECi0gICAgMTU1NSwgIC8vIGltYWdlQXRvbWljRXhj
aGFuZ2VfMDFpMDBEMDBCCi0gICAgMTU1NiwgIC8vIHNoYWRvdzFETG9kXzAwbTIwQjAwQgotICAg
IDE1NTcsICAvLyBpbWFnZUF0b21pY09yXzAxSTIwRDAwRQotICAgIDE1NTgsICAvLyBkaXN0YW5j
ZV8wMEMwMEMKLSAgICAxNTU5LCAgLy8gaXNuYW5fMzBCCi0gICAgMTU2MSwgIC8vIHRleHR1cmVQ
cm9qT2Zmc2V0XzAwbzMwQjAwRAotICAgIDE1NjIsICAvLyBsZXNzVGhhbkVxdWFsXzMwRDMwRAot
ICAgIDE1NjQsICAvLyB0ZXh0dXJlUHJval8wME0zMEIwMEIKLSAgICAxNTY1LCAgLy8gdGV4dHVy
ZTJEUHJval8wME0zMEIKLSAgICAxNTY2LCAgLy8gYXRvbWljQ291bnRlck1heF8wMEcwMEUKLSAg
ICAxNTY3LCAgLy8gYXRvbWljQ291bnRlckV4Y2hhbmdlXzAwRzAwRQotICAgIDE1NjgsICAvLyB0
ZXh0dXJlR3JhZF8wMEkxMEIxMEIxMEIKLSAgICAxNTcwLCAgLy8gc3RlcF8wMEIyMEIKLSAgICAx
NTcyLCAgLy8gdGV4dHVyZTJEUHJvakxvZF8wMEkyMEIwMEIKLSAgICAxNTc0LCAgLy8gc3RlcF8w
MEMzMEMKLSAgICAxNTc1LCAgLy8geXV2XzJfcmdiXzIwQjAwSAotICAgIDE1NzYsICAvLyB0ZXhl
bEZldGNoXzAwYjEwRDAwRAotICAgIDE1NzksICAvLyB0ZXh0dXJlUHJval8wMEozMEIwMEIKLSAg
ICAxNTgxLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFIxMEIKLSAgICAxNTgzLCAgLy8gaW1hZ2VBdG9t
aWNDb21wU3dhcF8wMWMyMEQwMEQwMEQKLSAgICAxNTg0LCAgLy8gaW1hZ2VBdG9taWNPcl8wMVYy
MEQwMEQwMEQKLSAgICAxNTg1LCAgLy8gaW1hZ2VBdG9taWNPcl8wMVYyMEQwMEQwMEUKLSAgICAx
NTg2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMVAxMEQwMEQKLSAgICAxNTg3LCAgLy8gaW1h
Z2VMb2FkXzAxTDAwRAotICAgIDE1ODgsICAvLyBtaW5fMTBEMTBECi0gICAgMTU5MCwgIC8vIGFs
bF8zMEYKLSAgICAxNTkyLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMVAxMEQwMEUKLSAgICAx
NTkzLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFTMTBEMDBEMDBFCi0gICAgMTU5NCwgIC8vIGltYWdl
QXRvbWljQW5kXzAxUzEwRDAwRDAwRAotICAgIDE1OTUsICAvLyBhbmdsZV9CYXNlVmVydGV4Ci0g
ICAgMTU5NiwgIC8vIGJpdGZpZWxkUmV2ZXJzZV8yMEQKLSAgICAxNTk4LCAgLy8gYml0ZmllbGRS
ZXZlcnNlXzIwRQotICAgIDE2MDAsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxSTIwRDAwRAot
ICAgIDE2MDEsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxSTIwRDAwRQotICAgIDE2MDIsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxSTIwRDAwQgotICAgIDE2MDMsICAvLyBpbWFnZUF0b21p
Y0V4Y2hhbmdlXzAxYzIwRDAwRQotICAgIDE2MDQsICAvLyBnbF9NYXhHZW9tZXRyeUlucHV0Q29t
cG9uZW50cwotICAgIDE2MDUsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMFgxMEIxMER4NAot
ICAgIDE2MDgsICAvLyB0ZXh0dXJlXzAwdTIwQgotICAgIDE2MDksICAvLyB0ZXh0dXJlR2F0aGVy
XzAwdjIwQgotICAgIDE2MTAsICAvLyBmcmFjdF8xMEIKLSAgICAxNjEyLCAgLy8gZnJhY3RfMTBD
Ci0gICAgMTYxMywgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDBPMTBCMTBEMDBECi0gICAgMTYx
NCwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMEsyMEIKLSAgICAxNjE1LCAgLy8gdGV4dHVyZUxvZE9m
ZnNldF8wMEkxMEIwMEIxMEQKLSAgICAxNjE3LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVMx
MEQwMEQwMEUwMEUKLSAgICAxNjE4LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFjMjBEMDBFCi0gICAg
MTYxOSwgIC8vIGltYWdlQXRvbWljWG9yXzAxYzIwRDAwRAotICAgIDE2MjAsICAvLyB0ZXh0dXJl
T2Zmc2V0XzAwVTIwQjEwRAotICAgIDE2MjIsICAvLyBtaW5fMzBCMDBCCi0gICAgMTYyNCwgIC8v
IGF0b21pY0FuZF8wMEQwMEQKLSAgICAxNjI2LCAgLy8gZXhwXzEwQgotICAgIDE2MjgsICAvLyB0
ZXh0dXJlT2Zmc2V0XzAwbjIwQjEwRAotICAgIDE2MjksICAvLyBiaXRDb3VudF8zMEQKLSAgICAx
NjMxLCAgLy8gdW5wYWNrVW5vcm0yeDE2XzAwRQotICAgIDE2MzMsICAvLyBzcXJ0XzIwQgotICAg
IDE2MzUsICAvLyBzcXJ0XzIwQwotICAgIDE2MzYsICAvLyB0ZXh0dXJlR3JhZF8wMEwyMEIxMEIx
MEIKLSAgICAxNjM4LCAgLy8gaW50ZXJwb2xhdGVBdENlbnRyb2lkXzAwQgotICAgIDE2MzksICAv
LyB0ZXh0dXJlU2l6ZV8wMG8wMEQKLSAgICAxNjQwLCAgLy8gZ2xfTWF4SW1hZ2VVbml0cwotICAg
IDE2NDIsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBvMzBCMDBCMDBCCi0gICAgMTY0MywgIC8vIGlt
YWdlQXRvbWljT3JfMDFRMTBEMDBECi0gICAgMTY0NCwgIC8vIHBhY2tVbm9ybTR4OF8zMEIKLSAg
ICAxNjQ2LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFRMTBEMDBFCi0gICAgMTY0NywgIC8vIHRleGVs
RmV0Y2hfMDBQMTBEMDBECi0gICAgMTY1MCwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFpMDBE
MDBEMDBECi0gICAgMTY1MSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwZDEwQjAwQjEwRHg0
Ci0gICAgMTY1NCwgIC8vIHRleHR1cmVfMDBPMTBCCi0gICAgMTY1NiwgIC8vIGltYWdlQXRvbWlj
TWluXzAxTTAwRDAwRAotICAgIDE2NTcsICAvLyBpbWFnZUF0b21pY01pbl8wMU0wMEQwMEUKLSAg
ICAxNjU4LCAgLy8gdGV4dHVyZV8wMGUzMEIwMEIKLSAgICAxNjYwLCAgLy8gaW1hZ2VBdG9taWNN
aW5fMDFPMTBEMDBFCi0gICAgMTY2MSwgIC8vIGltYWdlQXRvbWljTWluXzAxTzEwRDAwRAotICAg
IDE2NjIsICAvLyBnbF9GcmFnQ29vcmQKLSAgICAxNjY0LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFR
MTBEMDBECi0gICAgMTY2NSwgIC8vIGltYWdlQXRvbWljTWF4XzAxWDEwRDAwRAotICAgIDE2NjYs
ICAvLyB0ZXh0dXJlR3JhZF8wMHUxMEIwMEIwMEIKLSAgICAxNjY3LCAgLy8gZndpZHRoRmluZV8y
MEIKLSAgICAxNjY4LCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAwbzAwQgotICAgIDE2NjksICAvLyBp
bWFnZUF0b21pY0FuZF8wMUUyMEQwMEUKLSAgICAxNjcwLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFF
MjBEMDBECi0gICAgMTY3MSwgIC8vIG5vcm1hbGl6ZV8wMEIKLSAgICAxNjczLCAgLy8gbm9ybWFs
aXplXzAwQwotICAgIDE2NzQsICAvLyBjbGFtcF8xMEMwMEMwMEMKLSAgICAxNjc1LCAgLy8gaW1h
Z2VBdG9taWNPcl8wMUExMEQwMEUKLSAgICAxNjc2LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUExMEQw
MEQKLSAgICAxNjc3LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVExMEQwMEUwMEUKLSAgICAx
Njc4LCAgLy8gYXRvbWljTWF4XzAwRDAwRAotICAgIDE2ODAsICAvLyB0ZXh0dXJlUHJvakdyYWRf
MDBtMzBCMDBCMDBCCi0gICAgMTY4MSwgIC8vIGltYWdlQXRvbWljQW5kXzAxUjEwRDAwRDAwRQot
ICAgIDE2ODIsICAvLyBmbG9hdEJpdHNUb1VpbnRfMTBCCi0gICAgMTY4NCwgIC8vIHRleHR1cmVM
b2RfMDBKMjBCMDBCCi0gICAgMTY4NiwgIC8vIHRleHR1cmVHcmFkXzAwTzEwQjEwQjEwQgotICAg
IDE2ODcsICAvLyBkRmR5RmluZV8yMEIKLSAgICAxNjg4LCAgLy8gaW1hZ2VMb2FkXzAxVzIwRDAw
RAotICAgIDE2ODksICAvLyB0ZXh0dXJlU2l6ZV8wMEkwMEQKLSAgICAxNjkxLCAgLy8gZ2xfTWF4
Q29tcHV0ZVdvcmtHcm91cFNpemUKLSAgICAxNjkzLCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMFIx
MEQwMEQxMEQKLSAgICAxNjk1LCAgLy8gZEZkeEZpbmVfMTBCCi0gICAgMTY5NiwgIC8vIGltYWdl
QXRvbWljRXhjaGFuZ2VfMDFEMjBEMDBECi0gICAgMTY5NywgIC8vIHRleHR1cmVMb2RPZmZzZXRf
MDBYMTBCMDBCMTBECi0gICAgMTY5OSwgIC8vIHRleHR1cmVfMDBUMjBCMDBCCi0gICAgMTcwMSwg
IC8vIGxvZ18zMEIKLSAgICAxNzAzLCAgLy8gbm90RXF1YWxfMjBGMjBGCi0gICAgMTcwNSwgIC8v
IGFsbEludm9jYXRpb25zRXF1YWxfMDBGCi0gICAgMTcwNiwgIC8vIGltYWdlQXRvbWljTWF4XzAx
SzIwRDAwRAotICAgIDE3MDcsICAvLyBpbWFnZUF0b21pY01heF8wMUsyMEQwMEUKLSAgICAxNzA4
LCAgLy8gZEZkeUNvYXJzZV8zMEIKLSAgICAxNzA5LCAgLy8gdGV4dHVyZVByb2pMb2RfMDBSMjBC
MDBCCi0gICAgMTcxMSwgIC8vIG5vdEVxdWFsXzMwRDMwRAotICAgIDE3MTMsICAvLyBmd2lkdGhD
b2Fyc2VfMzBCCi0gICAgMTcxNCwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwSTIwQjEwRAotICAg
IDE3MTYsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBsCi0gICAgMTcxNywgIC8vIHRleHR1cmVR
dWVyeUxldmVsc18wMG0KLSAgICAxNzE4LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwbwotICAg
IDE3MTksICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBoCi0gICAgMTcyMCwgIC8vIHRleHR1cmVR
dWVyeUxldmVsc18wMGkKLSAgICAxNzIxLCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwawotICAg
IDE3MjIsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBkCi0gICAgMTcyMywgIC8vIHRleHR1cmVR
dWVyeUxldmVsc18wMGUKLSAgICAxNzI0LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwZgotICAg
IDE3MjUsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBnCi0gICAgMTcyNiwgIC8vIGdsX01heERy
YXdCdWZmZXJzCi0gICAgMTcyOCwgIC8vIHRleHR1cmVRdWVyeUxldmVsc18wMGEKLSAgICAxNzI5
LCAgLy8gYXRvbWljQ291bnRlck1pbl8wMEcwMEUKLSAgICAxNzMwLCAgLy8gdGV4dHVyZUdyYWRP
ZmZzZXRfMDB1MTBCMDBCMDBCMDBECi0gICAgMTczMSwgIC8vIGdsX01heENvbWJpbmVkVGV4dHVy
ZUltYWdlVW5pdHMKLSAgICAxNzMzLCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAweAotICAgIDE3
MzQsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDB0Ci0gICAgMTczNSwgIC8vIHRleHR1cmVRdWVy
eUxldmVsc18wMHUKLSAgICAxNzM2LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFLMjBEMDBECi0gICAg
MTczNywgIC8vIGltdWxFeHRlbmRlZF8yMEQyMEQyMEQyMEQKLSAgICAxNzM5LCAgLy8gYW55XzMw
RgotICAgIDE3NDEsICAvLyBkaXN0YW5jZV8zMEIzMEIKLSAgICAxNzQzLCAgLy8gdGV4dHVyZVF1
ZXJ5TGV2ZWxzXzAwcwotICAgIDE3NDQsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBMCi0gICAg
MTc0NSwgIC8vIHRleHR1cmVRdWVyeUxldmVsc18wMEkKLSAgICAxNzQ2LCAgLy8gdGV4dHVyZVF1
ZXJ5TGV2ZWxzXzAwSgotICAgIDE3NDcsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBLCi0gICAg
MTc0OCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFMMDBEMDBECi0gICAgMTc0OSwgIC8vIHRl
eHR1cmUzRF8wMEoyMEIwMEIKLSAgICAxNzUxLCAgLy8gdGV4dHVyZTFETG9kXzAwZzAwQjAwQgot
ICAgIDE3NTIsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBYCi0gICAgMTc1MywgIC8vIHRleHR1
cmVRdWVyeUxldmVsc18wMFkKLSAgICAxNzU0LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwWgot
ICAgIDE3NTUsICAvLyBkb3RfMzBCMzBCCi0gICAgMTc1NywgIC8vIHRleHR1cmVRdWVyeUxldmVs
c18wMFQKLSAgICAxNzU4LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwVQotICAgIDE3NTksICAv
LyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBSCi0gICAgMTc2MCwgIC8vIHRleHR1cmVRdWVyeUxldmVs
c18wMFMKLSAgICAxNzYxLCAgLy8gZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMKLSAgICAxNzYzLCAg
Ly8gdXN1YkJvcnJvd18yMEUyMEUyMEUKLSAgICAxNzY1LCAgLy8gdGV4dHVyZVByb2pfMDB0MzBC
MDBCCi0gICAgMTc2NiwgIC8vIHNoYWRvdzFEUHJval8wMG0zMEIwMEIKLSAgICAxNzY3LCAgLy8g
Y2xhbXBfMzBCMDBCMDBCCi0gICAgMTc2OSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwTzEw
QjEwRHg0Ci0gICAgMTc3MCwgIC8vIHRleHR1cmUyRFJlY3RQcm9qXzAwTzMwQgotICAgIDE3NzEs
ICAvLyBtYXhfMTBEMDBECi0gICAgMTc3MywgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwbjIwQjEw
QjEwQjEwRAotICAgIDE3NzQsICAvLyBjbGFtcF8wMEQwMEQwMEQKLSAgICAxNzc2LCAgLy8gZmxv
b3JfMzBCCi0gICAgMTc3OCwgIC8vIGZsb29yXzMwQwotICAgIDE3NzksICAvLyBpbWFnZVN0b3Jl
XzAxUDEwRDMwRAotICAgIDE3ODAsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBTMzBCMjBC
MjBCMjBECi0gICAgMTc4MiwgIC8vIHJlZmxlY3RfMzBDMzBDCi0gICAgMTc4MywgIC8vIGdsX1Bv
aW50Q29vcmQKLSAgICAxNzg1LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUQyMEQwMEUKLSAgICAxNzg2
LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMHYxMEIxMEQKLSAgICAxNzg3LCAgLy8gaW1hZ2VB
dG9taWNPcl8wMUQyMEQwMEQKLSAgICAxNzg4LCAgLy8gaW1hZ2VTdG9yZV8wMUYyMEQzMEIKLSAg
ICAxNzkwLCAgLy8gcGFja0RvdWJsZTJ4MzJfMTBFCi0gICAgMTc5MSwgIC8vIGNsYW1wXzEwQjAw
QjAwQgotICAgIDE3OTMsICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwUzIwRDAwRDIwRAotICAgIDE3
OTUsICAvLyBsZXNzVGhhbl8xMEQxMEQKLSAgICAxNzk3LCAgLy8gdGV4dHVyZVNpemVfMDBnMDBE
Ci0gICAgMTc5OCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDBVMjBCMTBEMDBECi0gICAgMTgw
MCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDBxMTBCMTBEMDBECi0gICAgMTgwMSwgIC8vIHRl
eHR1cmVHYXRoZXJfMDBJMTBCMDBECi0gICAgMTgwMywgIC8vIHRleHR1cmUxRFByb2pMb2RfMDBn
MzBCMDBCCi0gICAgMTgwNCwgIC8vIHRleGVsRmV0Y2hfMDBWMTBEMDBECi0gICAgMTgwNywgIC8v
IGltYWdlQXRvbWljRXhjaGFuZ2VfMDFoMDBEMDBFCi0gICAgMTgwOCwgIC8vIGltYWdlQXRvbWlj
RXhjaGFuZ2VfMDFoMDBEMDBECi0gICAgMTgwOSwgIC8vIGF0YW5fMzBCMzBCCi0gICAgMTgxMSwg
IC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFoMDBEMDBCCi0gICAgMTgxMiwgIC8vIGltYWdlQXRv
bWljTWF4XzAxYTIwRDAwRAotICAgIDE4MTMsICAvLyBpbWFnZUF0b21pY01heF8wMWEyMEQwMEUK
LSAgICAxODE0LCAgLy8gdGV4dHVyZVByb2pMb2RfMDBnMzBCMDBCCi0gICAgMTgxNSwgIC8vIG1h
eF8wMEIwMEIKLSAgICAxODE3LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUoyMEQwMEUKLSAgICAxODE4
LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUoyMEQwMEQKLSAgICAxODE5LCAgLy8gaW1hZ2VBdG9taWNN
YXhfMDFGMjBEMDBFCi0gICAgMTgyMCwgIC8vIGltYWdlQXRvbWljTWF4XzAxRjIwRDAwRAotICAg
IDE4MjEsICAvLyBleHAyXzIwQgotICAgIDE4MjMsICAvLyBzbW9vdGhzdGVwXzMwQzMwQzMwQwot
ICAgIDE4MjQsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAwejEwRDAwQgotICAgIDE4MjUsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAwejEwRDAwRQotICAgIDE4MjYsICAvLyBpbWFnZUF0b21p
Y0V4Y2hhbmdlXzAwejEwRDAwRAotICAgIDE4MjcsICAvLyB0ZXh0dXJlUHJval8wMHEyMEIKLSAg
ICAxODI4LCAgLy8gdGV4dHVyZVByb2pMb2RfMDB0MTBCMDBCCi0gICAgMTgyOSwgIC8vIGltYWdl
QXRvbWljTWluXzAxYzIwRDAwRAotICAgIDE4MzAsICAvLyBpbWFnZUF0b21pY01pbl8wMWMyMEQw
MEUKLSAgICAxODMxLCAgLy8gdGV4dHVyZVNpemVfMDBrMDBECi0gICAgMTgzMiwgIC8vIHJlZmxl
Y3RfMjBCMjBCCi0gICAgMTgzNCwgIC8vIGltYWdlQXRvbWljWG9yXzAxVjIwRDAwRDAwRQotICAg
IDE4MzUsICAvLyBpbWFnZUF0b21pY1hvcl8wMVYyMEQwMEQwMEQKLSAgICAxODM2LCAgLy8gZXF1
YWxfMTBGMTBGCi0gICAgMTgzOCwgIC8vIGFjb3NfMzBCCi0gICAgMTg0MCwgIC8vIHRleHR1cmVW
aWRlb1dFQkdMXzAweTEwQgotICAgIDE4NDIsICAvLyBkRmR4XzEwQgotICAgIDE4NDUsICAvLyBi
aXRmaWVsZFJldmVyc2VfMzBFCi0gICAgMTg0NywgIC8vIGJpdGZpZWxkUmV2ZXJzZV8zMEQKLSAg
ICAxODQ5LCAgLy8gaW1hZ2VBdG9taWNPcl8wMVoxMEQwMEQKLSAgICAxODUwLCAgLy8gaW1hZ2VB
dG9taWNPcl8wMVoxMEQwMEUKLSAgICAxODUxLCAgLy8gdGV4dHVyZTFEUHJval8wMGczMEIKLSAg
ICAxODUyLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDB2MTBCMTBEeDQwMEQKLSAgICAxODUz
LCAgLy8gZnJhY3RfMDBDCi0gICAgMTg1NCwgIC8vIGZyYWN0XzAwQgotICAgIDE4NTYsICAvLyBt
aW5fMzBFMDBFCi0gICAgMTg1OCwgIC8vIGdsX01pblByb2dyYW1UZXhlbE9mZnNldAotICAgIDE4
NjAsICAvLyBpbWFnZUF0b21pY09yXzAxUTEwRDAwRQotICAgIDE4NjEsICAvLyBpbnRlcnBvbGF0
ZUF0T2Zmc2V0XzIwQjEwQgotICAgIDE4NjIsICAvLyBpbWFnZUF0b21pY09yXzAxYzIwRDAwRAot
ICAgIDE4NjMsICAvLyBpbWFnZUF0b21pY09yXzAxYzIwRDAwRQotICAgIDE4NjQsICAvLyByZWZs
ZWN0XzMwQjMwQgotICAgIDE4NjYsICAvLyBpbnRlcnBvbGF0ZUF0Q2VudHJvaWRfMzBCCi0gICAg
MTg2NywgIC8vIHRleHR1cmVHYXRoZXJfMDBzMzBCCi0gICAgMTg2OCwgIC8vIGltYWdlQXRvbWlj
WG9yXzAxWDEwRDAwRQotICAgIDE4NjksICAvLyBpbWFnZUF0b21pY1hvcl8wMVgxMEQwMEQKLSAg
ICAxODcwLCAgLy8gbWVtb3J5QmFycmllcl8KLSAgICAxODcyLCAgLy8gdGV4dHVyZTFEXzAwZzAw
QjAwQgotICAgIDE4NzMsICAvLyBwb3dfMDBCMDBCCi0gICAgMTg3NSwgIC8vIG1vZF8wMEIwMEIK
LSAgICAxODc3LCAgLy8gZmFjZWZvcndhcmRfMzBDMzBDMzBDCi0gICAgMTg3OCwgIC8vIGltYWdl
QXRvbWljRXhjaGFuZ2VfMDFLMjBEMDBECi0gICAgMTg3OSwgIC8vIHJvdW5kRXZlbl8xMEIKLSAg
ICAxODgxLCAgLy8gcm91bmRFdmVuXzEwQwotICAgIDE4ODIsICAvLyBhdGFuaF8zMEIKLSAgICAx
ODg0LCAgLy8gdGV4dHVyZUxvZF8wMEsyMEIwMEIKLSAgICAxODg2LCAgLy8gYml0Q291bnRfMjBE
Ci0gICAgMTg4OCwgIC8vIGJpdENvdW50XzIwRQotICAgIDE4OTAsICAvLyB0ZXhlbEZldGNoXzAw
TDIwRDAwRAotICAgIDE4OTIsICAvLyBkRmR4RmluZV8wMEIKLSAgICAxODkzLCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFLMjBEMDBFCi0gICAgMTg5NCwgIC8vIGRpc3RhbmNlXzIwQjIwQgotICAgIDE4
OTYsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMHExMEIxMEIxMEIxMEQKLSAgICAxODk3LCAgLy8g
dWFkZENhcnJ5XzMwRTMwRTMwRQotICAgIDE4OTksICAvLyB0ZXh0dXJlU2l6ZV8wMFUwMEQKLSAg
ICAxOTAxLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBvMTBCMDBEMDBCCi0gICAgMTkwMiwgIC8v
IGdsX01heENvbWJpbmVkSW1hZ2VVbmlmb3JtcwotICAgIDE5MDQsICAvLyBhdG9taWNDb3VudGVy
WG9yXzAwRzAwRQotICAgIDE5MDUsICAvLyBpbWFnZUF0b21pY09yXzAxZzAwRDAwRAotICAgIDE5
MDYsICAvLyBpbWFnZUF0b21pY09yXzAxZzAwRDAwRQotICAgIDE5MDcsICAvLyBnbF9HbG9iYWxJ
bnZvY2F0aW9uSUQKLSAgICAxOTA5LCAgLy8gZ2xfTG9jYWxJbnZvY2F0aW9uSW5kZXgKLSAgICAx
OTExLCAgLy8gZ2xfVmVydGV4SUQKLSAgICAxOTEzLCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFMMDBE
MDBFCi0gICAgMTkxNCwgIC8vIHNtb290aHN0ZXBfMjBDMjBDMjBDCi0gICAgMTkxNSwgIC8vIGlt
YWdlQXRvbWljQ29tcFN3YXBfMDFVMjBEMDBEMDBEMDBECi0gICAgMTkxNiwgIC8vIGF0b21pY09y
XzAwRTAwRQotICAgIDE5MTgsICAvLyBtaXhfMTBCMTBCMTBGCi0gICAgMTkyMCwgIC8vIHJlZmxl
Y3RfMTBDMTBDCi0gICAgMTkyMSwgIC8vIG1peF8xMEIxMEIxMEIKLSAgICAxOTIzLCAgLy8gdGV4
dHVyZVByb2pfMDBZMzBCMDBCCi0gICAgMTkyNSwgIC8vIGltYWdlQXRvbWljTWF4XzAxSTIwRDAw
RAotICAgIDE5MjYsICAvLyBpbWFnZUF0b21pY01heF8wMUkyMEQwMEUKLSAgICAxOTI3LCAgLy8g
ZnJleHBfMjBCMjBECi0gICAgMTkyOSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDBJMTBCMTBE
MDBECi0gICAgMTkzMSwgIC8vIG5vdEVxdWFsXzIwRTIwRQotICAgIDE5MzMsICAvLyB0ZXh0dXJl
TG9kT2Zmc2V0XzAwZDIwQjAwQjEwRAotICAgIDE5MzUsICAvLyBpbnZlcnNlX0EwQgotICAgIDE5
MzcsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBYMjBCMTBCMTBCCi0gICAgMTkzOSwgIC8vIGltYWdl
TG9hZF8wMUoyMEQKLSAgICAxOTQxLCAgLy8gdGV4dHVyZVNpemVfMDBZMDBECi0gICAgMTk0Mywg
IC8vIGF0YW5fMjBCMjBCCi0gICAgMTk0NSwgIC8vIHVzdWJCb3Jyb3dfMDBFMDBFMDBFCi0gICAg
MTk0NywgIC8vIGltYWdlQXRvbWljWG9yXzAxTTAwRDAwRQotICAgIDE5NDgsICAvLyB0ZXh0dXJl
R2F0aGVyT2Zmc2V0c18wMEwyMEIxMER4NDAwRAotICAgIDE5NTEsICAvLyBkRmR5RmluZV8zMEIK
LSAgICAxOTUyLCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAwczIwQgotICAgIDE5NTMsICAvLyB0ZXh0
dXJlXzAwdjEwQgotICAgIDE5NTQsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMFUyMEIxMER4
NAotICAgIDE5NTcsICAvLyBzdWJwYXNzTG9hZF8wMW4wMEQKLSAgICAxOTU4LCAgLy8gaW1hZ2VB
dG9taWNDb21wU3dhcF8wMWMyMEQwMEUwMEUKLSAgICAxOTU5LCAgLy8gdGV4dHVyZVByb2pMb2RP
ZmZzZXRfMDBnMTBCMDBCMDBECi0gICAgMTk2MCwgIC8vIHN0ZXBfMTBDMTBDCi0gICAgMTk2MSwg
IC8vIHRleHR1cmVRdWVyeUxvZF8wMHgyMEIKLSAgICAxOTYyLCAgLy8gZm1hXzEwQjEwQjEwQgot
ICAgIDE5NjUsICAvLyBzbW9vdGhzdGVwXzAwQjAwQjEwQgotICAgIDE5NjcsICAvLyBpbWFnZUF0
b21pY0NvbXBTd2FwXzAxYTIwRDAwRDAwRAotICAgIDE5NjgsICAvLyBpbWFnZVNpemVfMDFOCi0g
ICAgMTk2OSwgIC8vIHRleHR1cmVMb2RfMDB1MTBCMDBCCi0gICAgMTk3MCwgIC8vIHRleHR1cmVQ
cm9qR3JhZE9mZnNldF8wMG0zMEIwMEIwMEIwMEQKLSAgICAxOTcxLCAgLy8gZndpZHRoQ29hcnNl
XzAwQgotICAgIDE5NzIsICAvLyBkRmR5Q29hcnNlXzIwQgotICAgIDE5NzMsICAvLyB0ZXh0dXJl
UHJvakdyYWRPZmZzZXRfMDBvMzBCMDBCMDBCMDBECi0gICAgMTk3NCwgIC8vIGltYWdlU3RvcmVf
MDFiMjBEMzBECi0gICAgMTk3NSwgIC8vIHRleHR1cmVQcm9qXzAwZzMwQjAwQgotICAgIDE5NzYs
ICAvLyBiaXRmaWVsZEV4dHJhY3RfMDBFMDBEMDBECi0gICAgMTk3OCwgIC8vIGRpc3RhbmNlXzMw
QzMwQwotICAgIDE5NzksICAvLyBhbnlfMjBGCi0gICAgMTk4MSwgIC8vIGdsX0hlbHBlckludm9j
YXRpb24KLSAgICAxOTgzLCAgLy8gdGV4dHVyZUxvZF8wMGcwMEIwMEIKLSAgICAxOTg0LCAgLy8g
c2luXzEwQgotICAgIDE5ODYsICAvLyB0ZXh0dXJlU2l6ZV8wME4wMEQKLSAgICAxOTg3LCAgLy8g
bW9kXzIwQjIwQgotICAgIDE5ODksICAvLyBpbWFnZUF0b21pY09yXzAxaDAwRDAwRQotICAgIDE5
OTAsICAvLyBpbWFnZUF0b21pY09yXzAxaDAwRDAwRAotICAgIDE5OTEsICAvLyB0ZXh0dXJlR3Jh
ZF8wMGszMEIyMEIyMEIKLSAgICAxOTkyLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBvMTBCMDBE
Ci0gICAgMTk5MywgIC8vIGltYWdlQXRvbWljTWluXzAxQTEwRDAwRQotICAgIDE5OTQsICAvLyBp
bWFnZUF0b21pY01pbl8wMUExMEQwMEQKLSAgICAxOTk1LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRf
MDBmMzBCMTBCMTBCMTBECi0gICAgMTk5NywgIC8vIG1heF8yMEQyMEQKLSAgICAxOTk5LCAgLy8g
bWF4XzEwRDEwRAotICAgIDIwMDEsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMHQwMEIwMEIwMEIw
MEQKLSAgICAyMDAyLCAgLy8gcmVmcmFjdF8zMEIzMEIwMEIKLSAgICAyMDA0LCAgLy8gZmxvb3Jf
MjBDCi0gICAgMjAwNSwgIC8vIGZsb29yXzIwQgotICAgIDIwMDcsICAvLyB0ZXhlbEZldGNoT2Zm
c2V0XzAwdDAwRDAwRDAwRAotICAgIDIwMDgsICAvLyBpbWFnZUF0b21pY09yXzAxYTIwRDAwRQot
ICAgIDIwMDksICAvLyBtYXRyaXhDb21wTXVsdF9GMEJGMEIKLSAgICAyMDExLCAgLy8gdW11bEV4
dGVuZGVkXzEwRTEwRTEwRTEwRQotICAgIDIwMTMsICAvLyB0ZXh0dXJlXzAwZDIwQjAwQgotICAg
IDIwMTUsICAvLyBnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJCdWZmZXJzCi0gICAgMjAxNywg
IC8vIHVtdWxFeHRlbmRlZF8zMEUzMEUzMEUzMEUKLSAgICAyMDE5LCAgLy8gdGV4dHVyZUdyYWRP
ZmZzZXRfMDBZMjBCMjBCMjBCMjBECi0gICAgMjAyMSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRf
MDBhMjBCMTBECi0gICAgMjAyMywgIC8vIHRleHR1cmVHcmFkXzAwZjMwQjEwQjEwQgotICAgIDIw
MjUsICAvLyBhdG9taWNDb3VudGVyU3VidHJhY3RfMDBHMDBFCi0gICAgMjAyNiwgIC8vIGltYWdl
QXRvbWljWG9yXzAxQzIwRDAwRQotICAgIDIwMjcsICAvLyBtb2RmXzIwQjIwQgotICAgIDIwMjks
ICAvLyBpbWFnZUF0b21pY0FuZF8wMVkxMEQwMEQKLSAgICAyMDMwLCAgLy8gaW1hZ2VBdG9taWNB
bmRfMDFZMTBEMDBFCi0gICAgMjAzMSwgIC8vIGltYWdlQXRvbWljQWRkXzAxaTAwRDAwRQotICAg
IDIwMzIsICAvLyBpbWFnZUF0b21pY0FkZF8wMWkwMEQwMEQKLSAgICAyMDMzLCAgLy8gbm9pc2Ux
XzAwQgotICAgIDIwMzQsICAvLyBpbWFnZUxvYWRfMDFNMDBECi0gICAgMjAzNSwgIC8vIGltYWdl
QXRvbWljQ29tcFN3YXBfMDFMMDBEMDBFMDBFCi0gICAgMjAzNiwgIC8vIHRleHR1cmVfMDB5MTBC
Ci0gICAgMjAzOCwgIC8vIGxlbmd0aF8zMEMKLSAgICAyMDM5LCAgLy8gbGVuZ3RoXzMwQgotICAg
IDIwNDEsICAvLyBpbWFnZVN0b3JlXzAxQjEwRDMwRQotICAgIDIwNDMsICAvLyBtb2RfMzBCMzBC
Ci0gICAgMjA0NSwgIC8vIG1peF8xMEMxMEMxMEYKLSAgICAyMDQ2LCAgLy8gaW1hZ2VBdG9taWNN
aW5fMDB6MTBEMDBFCi0gICAgMjA0NywgIC8vIGltYWdlQXRvbWljTWluXzAwejEwRDAwRAotICAg
IDIwNDgsICAvLyBpbWFnZVN0b3JlXzAxSTIwRDMwQgotICAgIDIwNTAsICAvLyBleHAyXzMwQgot
ICAgIDIwNTIsICAvLyBhbGxJbnZvY2F0aW9uc18wMEYKLSAgICAyMDUzLCAgLy8gbWF4XzIwQzAw
QwotICAgIDIwNTQsICAvLyB0ZXh0dXJlM0RQcm9qXzAwSjMwQjAwQgotICAgIDIwNTYsICAvLyBp
bWFnZUF0b21pY0FkZF8wMUsyMEQwMEUKLSAgICAyMDU3LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFL
MjBEMDBECi0gICAgMjA1OCwgIC8vIHRleHR1cmVQcm9qTG9kXzAwWDMwQjAwQgotICAgIDIwNjAs
ICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBJMzBCMTBCMTBCMTBECi0gICAgMjA2MiwgIC8v
IGltYWdlQXRvbWljQWRkXzAxVzIwRDAwRDAwRAotICAgIDIwNjMsICAvLyBjb3NoXzMwQgotICAg
IDIwNjUsICAvLyB0ZXh0dXJlUHJval8wMHEzMEIKLSAgICAyMDY2LCAgLy8gdGV4dHVyZU9mZnNl
dF8wMFMyMEIyMEQwMEIKLSAgICAyMDY4LCAgLy8gdXN1YkJvcnJvd18zMEUzMEUzMEUKLSAgICAy
MDcwLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFXMjBEMDBEMDBFCi0gICAgMjA3MSwgIC8vIGltYWdl
QXRvbWljTWF4XzAxVzIwRDAwRDAwRAotICAgIDIwNzIsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8w
MFIyMEIxMEQwMEIKLSAgICAyMDc0LCAgLy8gdGV4dHVyZU9mZnNldF8wMHQwMEIwMEQwMEIKLSAg
ICAyMDc1LCAgLy8gdGV4dHVyZU9mZnNldF8wMGkyMEIwMEQwMEIKLSAgICAyMDc2LCAgLy8gdGV4
dHVyZTNEUHJval8wMEozMEIKLSAgICAyMDc4LCAgLy8gbWF0cml4Q29tcE11bHRfQjBCQjBCCi0g
ICAgMjA3OSwgIC8vIGxlc3NUaGFuXzMwQjMwQgotICAgIDIwODEsICAvLyBjcm9zc18yMEIyMEIK
LSAgICAyMDgzLCAgLy8gaW1hZ2VTaXplXzAxTwotICAgIDIwODQsICAvLyB0ZXh0dXJlR3JhZF8w
MHExMEIxMEIxMEIKLSAgICAyMDg1LCAgLy8gY2xhbXBfMjBCMDBCMDBCCi0gICAgMjA4NywgIC8v
IGRGZHhfMDBCCi0gICAgMjA5MCwgIC8vIGZpbmRMU0JfMDBECi0gICAgMjA5MiwgIC8vIHRleHR1
cmVQcm9qTG9kT2Zmc2V0XzAwbzMwQjAwQjAwRAotICAgIDIwOTMsICAvLyBpbWFnZUF0b21pY1hv
cl8wMWkwMEQwMEUKLSAgICAyMDk0LCAgLy8gdGV4dHVyZVByb2pfMDBSMjBCMDBCCi0gICAgMjA5
NiwgIC8vIGFjb3NfMjBCCi0gICAgMjA5OCwgIC8vIGltYWdlU2l6ZV8wMUEKLSAgICAyMTAwLCAg
Ly8gbWF4XzIwQjIwQgotICAgIDIxMDIsICAvLyBsZXNzVGhhbl8yMEUyMEUKLSAgICAyMTA0LCAg
Ly8gdGV4dHVyZVByb2pPZmZzZXRfMDBnMTBCMDBEMDBCCi0gICAgMjEwNSwgIC8vIGVxdWFsXzMw
RjMwRgotICAgIDIxMDcsICAvLyBzaWduXzAwQwotICAgIDIxMDgsICAvLyBjb3NoXzAwQgotICAg
IDIxMTAsICAvLyBiaXRmaWVsZEV4dHJhY3RfMDBEMDBEMDBECi0gICAgMjExMiwgIC8vIGltYWdl
QXRvbWljTWluXzAxRTIwRDAwRAotICAgIDIxMTMsICAvLyBpbWFnZUF0b21pY01pbl8wMUUyMEQw
MEUKLSAgICAyMTE0LCAgLy8gdGV4dHVyZUxvZF8wMFoyMEIwMEIKLSAgICAyMTE2LCAgLy8gc2ln
bl8wMEQKLSAgICAyMTE4LCAgLy8gdGV4dHVyZU9mZnNldF8wMFkyMEIyMEQKLSAgICAyMTIwLCAg
Ly8gaW1hZ2VBdG9taWNYb3JfMDFRMTBEMDBECi0gICAgMjEyMSwgIC8vIGltYWdlQXRvbWljWG9y
XzAxUTEwRDAwRQotICAgIDIxMjIsICAvLyB0cmFuc3Bvc2VfNjBCCi0gICAgMjEyNCwgIC8vIGlt
YWdlU3RvcmVfMDFHMjBEMzBECi0gICAgMjEyNiwgIC8vIGltYWdlQXRvbWljQWRkXzAxTzEwRDAw
RAotICAgIDIxMjcsICAvLyBpbWFnZUF0b21pY0FkZF8wMU8xMEQwMEUKLSAgICAyMTI4LCAgLy8g
ZmFjZWZvcndhcmRfMDBCMDBCMDBCCi0gICAgMjEzMCwgIC8vIGltYWdlTG9hZF8wMVoxMEQKLSAg
ICAyMTMxLCAgLy8gaW1hZ2VBdG9taWNPcl8wMU8xMEQwMEUKLSAgICAyMTMyLCAgLy8gaW1hZ2VB
dG9taWNPcl8wMU8xMEQwMEQKLSAgICAyMTMzLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFiMjBEMDBE
Ci0gICAgMjEzNCwgIC8vIGludGVycG9sYXRlQXRDZW50cm9pZF8yMEIKLSAgICAyMTM1LCAgLy8g
dGV4dHVyZVByb2pMb2RPZmZzZXRfMDBSMzBCMDBCMTBECi0gICAgMjEzNywgIC8vIHRleHR1cmVH
cmFkXzAwaDEwQjAwQjAwQgotICAgIDIxMzgsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxVTIw
RDAwRDAwQgotICAgIDIxMzksICAvLyB0ZXh0dXJlMURQcm9qXzAwZzMwQjAwQgotICAgIDIxNDAs
ICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBoMDBCCi0gICAgMjE0MSwgIC8vIGltYWdlQXRvbWljRXhj
aGFuZ2VfMDFVMjBEMDBEMDBFCi0gICAgMjE0MiwgIC8vIG1vZGZfMDBDMDBDCi0gICAgMjE0Mywg
IC8vIHRleHR1cmVQcm9qTG9kXzAwdDMwQjAwQgotICAgIDIxNDQsICAvLyB0ZXh0dXJlT2Zmc2V0
XzAwbzAwQjAwRAotICAgIDIxNDUsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxVTIwRDAwRDAw
RAotICAgIDIxNDYsICAvLyBpbWFnZVN0b3JlXzAxSDIwRDMwRQotICAgIDIxNDgsICAvLyB0ZXh0
dXJlR2F0aGVyXzAwVTIwQgotICAgIDIxNTAsICAvLyB0ZXhlbEZldGNoXzAwUTIwRDAwRAotICAg
IDIxNTIsICAvLyByb3VuZEV2ZW5fMDBDCi0gICAgMjE1MywgIC8vIHJvdW5kRXZlbl8wMEIKLSAg
ICAyMTU1LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wME8xMEQxMEQKLSAgICAyMTU2LCAgLy8gYXRh
bmhfMjBCCi0gICAgMjE1OCwgIC8vIGNsYW1wXzEwRTAwRTAwRQotICAgIDIxNjAsICAvLyBkRmR4
RmluZV8zMEIKLSAgICAyMTYxLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFMMDBEMDBFCi0gICAgMjE2
MiwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMEoyMEIKLSAgICAyMTYzLCAgLy8gdGV4dHVyZVByb2pP
ZmZzZXRfMDBYMzBCMTBECi0gICAgMjE2NSwgIC8vIGdsX01heEZyYWdtZW50VW5pZm9ybVZlY3Rv
cnMKLSAgICAyMTY3LCAgLy8gdGV4dHVyZTJEUHJvakxvZF8wMEkzMEIwMEIKLSAgICAyMTY5LCAg
Ly8gaW50ZXJwb2xhdGVBdE9mZnNldF8xMEIxMEIKLSAgICAyMTcwLCAgLy8gbWF4XzEwQzEwQwot
ICAgIDIxNzEsICAvLyB0ZXhlbEZldGNoXzAwZzAwRDAwRAotICAgIDIxNzIsICAvLyBhYnNfMzBC
Ci0gICAgMjE3NCwgIC8vIGJpdGZpZWxkSW5zZXJ0XzEwRTEwRTAwRDAwRAotICAgIDIxNzYsICAv
LyBwYWNrU25vcm00eDhfMzBCCi0gICAgMjE3OCwgIC8vIG1peF8xMEIxMEIwMEIKLSAgICAyMTgw
LCAgLy8gaW1hZ2VTaXplXzAxYgotICAgIDIxODEsICAvLyBjbGFtcF8zMEQzMEQzMEQKLSAgICAy
MTgzLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBMMjBCMTBEeDQKLSAgICAyMTg2LCAgLy8g
aW1hZ2VBdG9taWNNYXhfMDFjMjBEMDBFCi0gICAgMjE4NywgIC8vIG1vZF8xMEMwMEMKLSAgICAy
MTg4LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFHMjBEMDBECi0gICAgMjE4OSwgIC8vIGltYWdlQXRv
bWljTWF4XzAxRzIwRDAwRQotICAgIDIxOTAsICAvLyBkZXRlcm1pbmFudF9GMEIKLSAgICAyMTkx
LCAgLy8gdHJhbnNwb3NlX0EwQgotICAgIDIxOTMsICAvLyBwb3dfMjBCMjBCCi0gICAgMjE5NSwg
IC8vIGltYWdlU2l6ZV8wMWcKLSAgICAyMTk2LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFCMTBEMDBE
Ci0gICAgMjE5NywgIC8vIGltYWdlQXRvbWljTWF4XzAxQjEwRDAwRQotICAgIDIxOTgsICAvLyBp
bWFnZUF0b21pY0V4Y2hhbmdlXzAxRzIwRDAwQgotICAgIDIxOTksICAvLyBpbWFnZVNpemVfMDFl
Ci0gICAgMjIwMCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFHMjBEMDBECi0gICAgMjIwMSwg
IC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFHMjBEMDBFCi0gICAgMjIwMiwgIC8vIGltYWdlTG9h
ZF8wMVkxMEQKLSAgICAyMjAzLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFnMDBEMDBECi0gICAgMjIw
NCwgIC8vIGltYWdlQXRvbWljTWF4XzAxZzAwRDAwRQotICAgIDIyMDUsICAvLyB0ZXh0dXJlUHJv
al8wMHYzMEIKLSAgICAyMjA2LCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwTzIwQjEwQjEwQgotICAg
IDIyMDcsICAvLyBsb2cyXzIwQgotICAgIDIyMDksICAvLyBkb3RfMzBDMzBDCi0gICAgMjIxMCwg
IC8vIGZ3aWR0aENvYXJzZV8xMEIKLSAgICAyMjExLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJ
MjBCMTBEMDBCCi0gICAgMjIxMywgIC8vIGltYWdlQXRvbWljQW5kXzAxVDEwRDAwRDAwRAotICAg
IDIyMTQsICAvLyBpbWFnZUF0b21pY0FuZF8wMVQxMEQwMEQwMEUKLSAgICAyMjE1LCAgLy8gbm90
RXF1YWxfMTBGMTBGCi0gICAgMjIxNywgIC8vIHNtb290aHN0ZXBfMDBCMDBCMDBCCi0gICAgMjIx
OSwgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwZDMwQjAwQjEwRAotICAgIDIyMjEsICAvLyBp
bWFnZUF0b21pY0FuZF8wMVAxMEQwMEUKLSAgICAyMjIyLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFQ
MTBEMDBECi0gICAgMjIyMywgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwSTMwQjAwQjEwRAot
ICAgIDIyMjUsICAvLyBnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJzCi0gICAgMjIyNywgIC8v
IGJpdGZpZWxkSW5zZXJ0XzEwRDEwRDAwRDAwRAotICAgIDIyMjksICAvLyBpbWFnZUF0b21pY0Nv
bXBTd2FwXzAxTjAwRDAwRDAwRAotICAgIDIyMzAsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAx
TDAwRDAwRDAwRAotICAgIDIyMzEsICAvLyB0ZXh0dXJlR2F0aGVyXzAwazMwQgotICAgIDIyMzIs
ICAvLyB0ZXh0dXJlXzAwSjIwQgotICAgIDIyMzQsICAvLyBsZXNzVGhhbkVxdWFsXzEwRDEwRAot
ICAgIDIyMzYsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMG8zMEIwMEQwMEIKLSAgICAyMjM3LCAg
Ly8gZ2xfTWF4VmFyeWluZ1ZlY3RvcnMKLSAgICAyMjM5LCAgLy8gdGV4dHVyZVNpemVfMDBkMDBE
Ci0gICAgMjI0MSwgIC8vIHNpbl8wMEIKLSAgICAyMjQzLCAgLy8gdWFkZENhcnJ5XzEwRTEwRTEw
RQotICAgIDIyNDUsICAvLyBtaXhfMTBDMTBDMDBDCi0gICAgMjI0NiwgIC8vIGF0b21pY0NvdW50
ZXJJbmNyZW1lbnRfMDBHCi0gICAgMjI0OCwgIC8vIGltYWdlQXRvbWljQWRkXzAxSjIwRDAwRAot
ICAgIDIyNDksICAvLyBpbWFnZUF0b21pY0FkZF8wMUoyMEQwMEUKLSAgICAyMjUwLCAgLy8gaW1h
Z2VBdG9taWNDb21wU3dhcF8wMVMxMEQwMEQwMEQwMEQKLSAgICAyMjUxLCAgLy8gaW1hZ2VTdG9y
ZV8wMVExMEQzMEUKLSAgICAyMjUyLCAgLy8gdGV4dHVyZVByb2pfMDBvMTBCMDBCCi0gICAgMjI1
MywgIC8vIGltYWdlQXRvbWljQWRkXzAxVTIwRDAwRDAwRAotICAgIDIyNTQsICAvLyBpbWFnZUF0
b21pY0FkZF8wMVUyMEQwMEQwMEUKLSAgICAyMjU1LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBt
MzBCMDBECi0gICAgMjI1NiwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFZMTBEMDBCCi0gICAg
MjI1NywgIC8vIGVxdWFsXzEwRTEwRQotICAgIDIyNTksICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdl
XzAxWTEwRDAwRQotICAgIDIyNjAsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxWTEwRDAwRAot
ICAgIDIyNjEsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxTzEwRDAwQgotICAgIDIyNjIsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxTzEwRDAwRQotICAgIDIyNjMsICAvLyB0ZXh0dXJlUHJv
ak9mZnNldF8wMEozMEIyMEQKLSAgICAyMjY1LCAgLy8gaW1hZ2VTaXplXzAxVwotICAgIDIyNjYs
ICAvLyBpbWFnZUF0b21pY1hvcl8wMUQyMEQwMEUKLSAgICAyMjY3LCAgLy8gbm90RXF1YWxfMTBF
MTBFCi0gICAgMjI2OSwgIC8vIG1pbl8xMEMxMEMKLSAgICAyMjcwLCAgLy8gdGV4dHVyZVByb2pH
cmFkXzAwdDEwQjAwQjAwQgotICAgIDIyNzEsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxTjAw
RDAwQgotICAgIDIyNzIsICAvLyB0ZXh0dXJlR2F0aGVyXzAwcTIwQjAwRAotICAgIDIyNzMsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxTjAwRDAwRQotICAgIDIyNzQsICAvLyBpbWFnZUF0b21p
Y0V4Y2hhbmdlXzAxTjAwRDAwRAotICAgIDIyNzUsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18w
MHExMEIxMER4NDAwRAotICAgIDIyNzYsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxTzEwRDAw
RDAwRAotICAgIDIyNzcsICAvLyBzaGFkb3cxRFByb2pMb2RfMDBtMzBCMDBCCi0gICAgMjI3OCwg
IC8vIGltYWdlQXRvbWljTWluXzAxaTAwRDAwRAotICAgIDIyNzksICAvLyB0ZXh0dXJlXzAwdTIw
QjAwQgotICAgIDIyODAsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwUjEwQjAwQjEwRAotICAgIDIy
ODIsICAvLyB0cnVuY18xMEIKLSAgICAyMjg0LCAgLy8gdHJ1bmNfMTBDCi0gICAgMjI4NSwgIC8v
IGltYWdlQXRvbWljQWRkXzAxUzEwRDAwRDAwRAotICAgIDIyODYsICAvLyB0ZXhlbEZldGNoXzAw
dTEwRDAwRAotICAgIDIyODcsICAvLyBkb3RfMjBDMjBDCi0gICAgMjI4OCwgIC8vIGdsX0RlcHRo
UmFuZ2VQYXJhbWV0ZXJzCi0gICAgMjI5MCwgIC8vIG5vaXNlNF8zMEIKLSAgICAyMjkxLCAgLy8g
dGV4dHVyZUdhdGhlcl8wMGYyMEIKLSAgICAyMjkyLCAgLy8gbm9pc2UxXzEwQgotICAgIDIyOTMs
ICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBnMzBCMDBCMDBCCi0gICAgMjI5NCwgIC8vIHNoYWRvdzJE
UHJval8wMGQzMEIKLSAgICAyMjk1LCAgLy8gdGV4dHVyZVByb2pfMDBkMzBCMDBCCi0gICAgMjI5
NywgIC8vIHNpZ25fMTBCCi0gICAgMjI5OSwgIC8vIG1heF8wMEUwMEUKLSAgICAyMzAxLCAgLy8g
dGV4dHVyZV8wMGEyMEIwMEIKLSAgICAyMzAzLCAgLy8gdGV4dHVyZVByb2pfMDBvMTBCCi0gICAg
MjMwNCwgIC8vIHJlZnJhY3RfMjBDMjBDMDBCCi0gICAgMjMwNSwgIC8vIHRleHR1cmVQcm9qXzAw
TTIwQjAwQgotICAgIDIzMDYsICAvLyBpbWFnZUxvYWRfMDFBMTBECi0gICAgMjMwOCwgIC8vIHRl
eHR1cmVQcm9qT2Zmc2V0XzAwWDMwQjEwRDAwQgotICAgIDIzMTAsICAvLyBleHAyXzAwQgotICAg
IDIzMTIsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxSDIwRDAwQgotICAgIDIzMTMsICAvLyB0
ZXhlbEZldGNoT2Zmc2V0XzAwdTEwRDAwRDAwRAotICAgIDIzMTQsICAvLyBpbWFnZUF0b21pY0Nv
bXBTd2FwXzAxSDIwRDAwRTAwRQotICAgIDIzMTUsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAx
SDIwRDAwRQotICAgIDIzMTYsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxSDIwRDAwRAotICAg
IDIzMTcsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwcTEwQjEwRAotICAgIDIzMTgsICAvLyB0
ZXh0dXJlR2F0aGVyXzAwYTIwQjAwRAotICAgIDIzMjAsICAvLyBpbWFnZVN0b3JlXzAxUzEwRDAw
RDMwRAotICAgIDIzMjEsICAvLyBsZGV4cF8wMEMwMEQKLSAgICAyMzIyLCAgLy8gdGV4dHVyZVNp
emVfMDBzMDBECi0gICAgMjMyMywgIC8vIGltYWdlQXRvbWljWG9yXzAxUDEwRDAwRQotICAgIDIz
MjQsICAvLyBpbWFnZUF0b21pY09yXzAxSTIwRDAwRAotICAgIDIzMjUsICAvLyB0ZXh0dXJlXzAw
TjEwQjAwQgotICAgIDIzMjYsICAvLyBnbF9QcmltaXRpdmVJRAotICAgIDIzMjgsICAvLyBpbWFn
ZUF0b21pY0NvbXBTd2FwXzAxWTEwRDAwRDAwRAotICAgIDIzMjksICAvLyB0ZXh0dXJlUHJvakdy
YWRfMDBJMzBCMTBCMTBCCi0gICAgMjMzMSwgIC8vIGdsX0xheWVyCi0gICAgMjMzMywgIC8vIHRl
eHR1cmVPZmZzZXRfMDBkMjBCMTBECi0gICAgMjMzNSwgIC8vIGRGZHhfMzBCCi0gICAgMjMzOCwg
IC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwVTIwQjEwRHg0MDBECi0gICAgMjM0MSwgIC8vIGlt
YWdlQXRvbWljTWluXzAxVjIwRDAwRDAwRAotICAgIDIzNDIsICAvLyBpbWFnZUF0b21pY01pbl8w
MVYyMEQwMEQwMEUKLSAgICAyMzQzLCAgLy8gZ2xfTGFzdEZyYWdDb2xvcgotICAgIDIzNDQsICAv
LyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDB0MzBCMDBCMDBCMDBECi0gICAgMjM0NSwgIC8vIG1p
bl8yMEUyMEUKLSAgICAyMzQ3LCAgLy8gYXNpbl8yMEIKLSAgICAyMzQ5LCAgLy8gaW1hZ2VBdG9t
aWNDb21wU3dhcF8wMVUyMEQwMEQwMEUwMEUKLSAgICAyMzUwLCAgLy8gdGV4dHVyZV8wMGwzMEIw
MEIKLSAgICAyMzUxLCAgLy8gdGV4dHVyZTFEUHJvakxvZF8wMGcxMEIwMEIKLSAgICAyMzUyLCAg
Ly8gZndpZHRoXzEwQgotICAgIDIzNTUsICAvLyBkRmR5XzAwQgotICAgIDIzNTgsICAvLyBzaGFk
b3cyRExvZF8wMGQyMEIwMEIKLSAgICAyMzU5LCAgLy8gdGV4dHVyZTFEUHJval8wMGcxMEIKLSAg
ICAyMzYwLCAgLy8gbGVzc1RoYW5fMzBFMzBFCi0gICAgMjM2MiwgIC8vIGltdWxFeHRlbmRlZF8z
MEQzMEQzMEQzMEQKLSAgICAyMzY0LCAgLy8gdHJhbnNwb3NlXzcwQgotICAgIDIzNjYsICAvLyBp
bXVsRXh0ZW5kZWRfMDBEMDBEMDBEMDBECi0gICAgMjM2OCwgIC8vIGltYWdlQXRvbWljQWRkXzAx
RjIwRDAwRAotICAgIDIzNjksICAvLyBpbWFnZUF0b21pY0FkZF8wMUYyMEQwMEUKLSAgICAyMzcw
LCAgLy8gdGV4dHVyZV8wMFMyMEIwMEIKLSAgICAyMzcyLCAgLy8gdGV4dHVyZUxvZF8wMFkyMEIw
MEIKLSAgICAyMzc0LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWMyMEQwMEQKLSAgICAyMzc1
LCAgLy8gZmFjZWZvcndhcmRfMTBDMTBDMTBDCi0gICAgMjM3NiwgIC8vIGltYWdlU3RvcmVfMDFa
MTBEMzBFCi0gICAgMjM3NywgIC8vIHRleHR1cmVRdWVyeUxvZF8wMHUwMEIKLSAgICAyMzc4LCAg
Ly8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWMyMEQwMEIKLSAgICAyMzc5LCAgLy8gbWluXzIwRDAw
RAotICAgIDIzODEsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxUDEwRDAwRDAwRAotICAgIDIz
ODIsICAvLyB1aW50Qml0c1RvRmxvYXRfMDBFCi0gICAgMjM4NCwgIC8vIGRGZHhGaW5lXzIwQgot
ICAgIDIzODUsICAvLyBpbWFnZUF0b21pY01pbl8wMUwwMEQwMEQKLSAgICAyMzg2LCAgLy8gaW1h
Z2VBdG9taWNFeGNoYW5nZV8wMWcwMEQwMEQKLSAgICAyMzg3LCAgLy8gYml0ZmllbGRJbnNlcnRf
MjBEMjBEMDBEMDBECi0gICAgMjM4OSwgIC8vIG1peF8zMEIzMEIwMEIKLSAgICAyMzkxLCAgLy8g
dGV4dHVyZVF1ZXJ5TG9kXzAwVTEwQgotICAgIDIzOTIsICAvLyB0YW5oXzAwQgotICAgIDIzOTQs
ICAvLyBzdWJwYXNzTG9hZF8wMW8wMEQKLSAgICAyMzk1LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFO
MDBEMDBFCi0gICAgMjM5NiwgIC8vIGltYWdlQXRvbWljTWF4XzAxTjAwRDAwRAotICAgIDIzOTcs
ICAvLyBtYXhfMTBDMDBDCi0gICAgMjM5OCwgIC8vIG1hdHJpeENvbXBNdWx0X0QwQkQwQgotICAg
IDIzOTksICAvLyBpbWFnZUF0b21pY1hvcl8wMU0wMEQwMEQKLSAgICAyNDAwLCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFYMTBEMDBFCi0gICAgMjQwMSwgIC8vIHNoYWRvdzJEUHJvakxvZF8wMGQzMEIw
MEIKLSAgICAyNDAyLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFYMTBEMDBECi0gICAgMjQwMywgIC8v
IG1pbl8zMEIzMEIKLSAgICAyNDA1LCAgLy8gcmVmbGVjdF8yMEMyMEMKLSAgICAyNDA2LCAgLy8g
dGV4ZWxGZXRjaF8wMGgxMEQwMEQKLSAgICAyNDA3LCAgLy8gbWVtb3J5QmFycmllckF0b21pY0Nv
dW50ZXJfCi0gICAgMjQwOSwgIC8vIGJpdGZpZWxkSW5zZXJ0XzAwRTAwRTAwRDAwRAotICAgIDI0
MTEsICAvLyBpbWFnZUF0b21pY0FkZF8wMWIyMEQwMEUKLSAgICAyNDEyLCAgLy8gaW1hZ2VBdG9t
aWNNaW5fMDFhMjBEMDBFCi0gICAgMjQxMywgIC8vIHRleHR1cmVHcmFkXzAwZDIwQjEwQjEwQgot
ICAgIDI0MTUsICAvLyBhdGFuXzEwQgotICAgIDI0MTcsICAvLyBpbWFnZUF0b21pY0NvbXBTd2Fw
XzAxZzAwRDAwRDAwRAotICAgIDI0MTgsICAvLyBjbGFtcF8zMEMzMEMzMEMKLSAgICAyNDE5LCAg
Ly8gdGV4dHVyZVByb2pfMDB2MjBCCi0gICAgMjQyMCwgIC8vIHN0ZXBfMDBCMTBCCi0gICAgMjQy
MiwgIC8vIHRleHR1cmVQcm9qTG9kXzAwSTIwQjAwQgotICAgIDI0MjQsICAvLyByZ2JfMl95dXZf
MjBCMDBICi0gICAgMjQyNSwgIC8vIGltYWdlTG9hZF8wMVAxMEQKLSAgICAyNDI2LCAgLy8gdGV4
dHVyZV8wMFQyMEIKLSAgICAyNDI4LCAgLy8gbG9nMl8xMEIKLSAgICAyNDMwLCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFEMjBEMDBECi0gICAgMjQzMSwgIC8vIGltYWdlQXRvbWljQW5kXzAxRDIwRDAw
RQotICAgIDI0MzIsICAvLyBmaW5kTFNCXzIwRQotICAgIDI0MzQsICAvLyBmaW5kTFNCXzIwRAot
ICAgIDI0MzYsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxQjEwRDAwRDAwRAotICAgIDI0Mzcs
ICAvLyBpbWFnZUF0b21pY09yXzAxWDEwRDAwRAotICAgIDI0MzgsICAvLyBpbWFnZUF0b21pY09y
XzAxWDEwRDAwRQotICAgIDI0MzksICAvLyBub2lzZTJfMzBCCi0gICAgMjQ0MCwgIC8vIGltYWdl
QXRvbWljT3JfMDFVMjBEMDBEMDBFCi0gICAgMjQ0MSwgIC8vIGdyZWF0ZXJUaGFuRXF1YWxfMTBC
MTBCCi0gICAgMjQ0MywgIC8vIGNsYW1wXzEwRDEwRDEwRAotICAgIDI0NDUsICAvLyB0ZXhlbEZl
dGNoXzAwTTEwRDAwRAotICAgIDI0NDYsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBZMjBCCi0gICAg
MjQ0NywgIC8vIHRyYW5zcG9zZV9GMEIKLSAgICAyNDQ5LCAgLy8gdGV4dHVyZU9mZnNldF8wMFky
MEIyMEQwMEIKLSAgICAyNDUxLCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBTMjBCMjBCMjBCMjBE
Ci0gICAgMjQ1MywgIC8vIGltYWdlQXRvbWljT3JfMDFVMjBEMDBEMDBECi0gICAgMjQ1NCwgIC8v
IGNsYW1wXzMwRTMwRTMwRQotICAgIDI0NTYsICAvLyB0ZXh0dXJlU2l6ZV8wMFIwMEQKLSAgICAy
NDU4LCAgLy8gYWNvc2hfMTBCCi0gICAgMjQ2MCwgIC8vIGltYWdlTG9hZF8wMWIyMEQKLSAgICAy
NDYxLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVoxMEQwMEUwMEUKLSAgICAyNDYyLCAgLy8g
dGV4dHVyZU9mZnNldF8wMEwyMEIxMEQwMEIKLSAgICAyNDY0LCAgLy8gbW9kXzIwQjAwQgotICAg
IDI0NjYsICAvLyBpbWFnZUxvYWRfMDFVMjBEMDBECi0gICAgMjQ2NywgIC8vIHRleHR1cmVQcm9q
TG9kXzAwSjMwQjAwQgotICAgIDI0NjksICAvLyBzdWJwYXNzTG9hZF8wMWsKLSAgICAyNDcwLCAg
Ly8gdHJhbnNwb3NlXzkwQgotICAgIDI0NzIsICAvLyBtaXhfMzBDMzBDMDBDCi0gICAgMjQ3Mywg
IC8vIHN1YnBhc3NMb2FkXzAxbAotICAgIDI0NzQsICAvLyBhdG9taWNBbmRfMDBFMDBFCi0gICAg
MjQ3NiwgIC8vIG1heF8yMEQwMEQKLSAgICAyNDc4LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMEkx
MEQwMEQxMEQKLSAgICAyNDgwLCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFaMTBEMDBECi0gICAgMjQ4
MSwgIC8vIGltYWdlQXRvbWljTWluXzAxWjEwRDAwRQotICAgIDI0ODIsICAvLyBpbWFnZUF0b21p
Y0NvbXBTd2FwXzAxaTAwRDAwRTAwRQotICAgIDI0ODMsICAvLyBpbWFnZUF0b21pY0NvbXBTd2Fw
XzAxSzIwRDAwRDAwRAotICAgIDI0ODQsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBMMTBCCi0gICAg
MjQ4NSwgIC8vIGltYWdlU3RvcmVfMDFKMjBEMzBECi0gICAgMjQ4NywgIC8vIGF0b21pY0NvdW50
ZXJfMDBHCi0gICAgMjQ4OSwgIC8vIHRleHR1cmVHcmFkXzAwbTIwQjAwQjAwQgotICAgIDI0OTAs
ICAvLyBub2lzZTNfMjBCCi0gICAgMjQ5MSwgIC8vIGJpdGZpZWxkSW5zZXJ0XzMwRDMwRDAwRDAw
RAotICAgIDI0OTMsICAvLyBtaW5fMTBDMDBDCi0gICAgMjQ5NCwgIC8vIGdyZWF0ZXJUaGFuXzEw
RDEwRAotICAgIDI0OTYsICAvLyBiaXRmaWVsZEV4dHJhY3RfMTBFMDBEMDBECi0gICAgMjQ5OCwg
IC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwaDEwQjAwQjAwQjAwRAotICAgIDI0OTksICAvLyBpbWFn
ZUF0b21pY01heF8wMVYyMEQwMEQwMEQKLSAgICAyNTAwLCAgLy8gdGV4dHVyZTJEXzAwSTEwQjAw
QgotICAgIDI1MDIsICAvLyBncmVhdGVyVGhhbl8yMEQyMEQKLSAgICAyNTA0LCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFXMjBEMDBEMDBECi0gICAgMjUwNSwgIC8vIGltYWdlQXRvbWljQW5kXzAxVzIw
RDAwRDAwRQotICAgIDI1MDYsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMHQxMEIwMEIwMEQK
LSAgICAyNTA3LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBPMjBCMTBECi0gICAgMjUwOCwgIC8v
IHRydW5jXzAwQgotICAgIDI1MTAsICAvLyBsZW5ndGhfMTBDCi0gICAgMjUxMSwgIC8vIGxlbmd0
aF8xMEIKLSAgICAyNTEzLCAgLy8gaW1hZ2VMb2FkXzAxUjEwRDAwRAotICAgIDI1MTQsICAvLyBp
bWFnZUF0b21pY0FkZF8wMUgyMEQwMEQKLSAgICAyNTE1LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFI
MjBEMDBFCi0gICAgMjUxNiwgIC8vIHN1YnBhc3NMb2FkXzAxagotICAgIDI1MTcsICAvLyBkb3Rf
MDBCMDBCCi0gICAgMjUxOSwgIC8vIHRhbl8zMEIKLSAgICAyNTIxLCAgLy8gdGV4dHVyZUxvZF8w
MFQyMEIwMEIKLSAgICAyNTIzLCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwUjMwQjEwQjEwQgotICAg
IDI1MjUsICAvLyBleHAyXzEwQgotICAgIDI1MjcsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFgy
MEIxMEQwMEIKLSAgICAyNTI5LCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwWDMwQjEwQjEw
QjEwRAotICAgIDI1MzEsICAvLyBpbWFnZUF0b21pY0FuZF8wMUIxMEQwMEQKLSAgICAyNTMyLCAg
Ly8gaW1hZ2VTdG9yZV8wMVUyMEQwMEQzMEIKLSAgICAyNTMzLCAgLy8gbWF0cml4Q29tcE11bHRf
QTBCQTBCCi0gICAgMjUzNSwgIC8vIHRleHR1cmVHcmFkXzAwUzIwQjIwQjIwQgotICAgIDI1Mzcs
ICAvLyByb3VuZF8zMEIKLSAgICAyNTM5LCAgLy8gcm91bmRfMzBDCi0gICAgMjU0MCwgIC8vIGFu
eUludm9jYXRpb25fMDBGCi0gICAgMjU0MSwgIC8vIHRleHR1cmVHcmFkXzAweDMwQjIwQjIwQgot
ICAgIDI1NDIsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxRDIwRDAwRTAwRQotICAgIDI1NDMs
ICAvLyB0ZXh0dXJlUHJvakxvZF8wMG8zMEIwMEIKLSAgICAyNTQ0LCAgLy8gc21vb3Roc3RlcF8w
MEMwMEMxMEMKLSAgICAyNTQ1LCAgLy8gaW50ZXJwb2xhdGVBdFNhbXBsZV8wMEIwMEQKLSAgICAy
NTQ2LCAgLy8gZEZkeF8yMEIKLSAgICAyNTQ5LCAgLy8gdGV4dHVyZV8wMEwyMEIKLSAgICAyNTUx
LCAgLy8gYmFycmllcl8KLSAgICAyNTUzLCAgLy8gaW1hZ2VBdG9taWNPcl8wMU4wMEQwMEUKLSAg
ICAyNTU0LCAgLy8gaW1hZ2VBdG9taWNPcl8wMU4wMEQwMEQKLSAgICAyNTU1LCAgLy8gaW1hZ2VB
dG9taWNBZGRfMDFhMjBEMDBECi0gICAgMjU1NiwgIC8vIHRleHR1cmVHYXRoZXJfMDBrMzBCMDBE
Ci0gICAgMjU1NywgIC8vIGZpbmRNU0JfMjBECi0gICAgMjU1OSwgIC8vIHRleHR1cmVHYXRoZXJP
ZmZzZXRfMDBMMjBCMTBECi0gICAgMjU2MSwgIC8vIGltYWdlQXRvbWljTWluXzAxUzEwRDAwRDAw
RAotICAgIDI1NjIsICAvLyBpbWFnZUF0b21pY01pbl8wMVMxMEQwMEQwMEUKLSAgICAyNTYzLCAg
Ly8gdGV4dHVyZVByb2pPZmZzZXRfMDBTMzBCMjBEMDBCCi0gICAgMjU2NSwgIC8vIGltYWdlQXRv
bWljQWRkXzAxRDIwRDAwRAotICAgIDI1NjYsICAvLyBub3JtYWxpemVfMTBDCi0gICAgMjU2Nywg
IC8vIHVucGFja1Nub3JtNHg4XzAwRQotICAgIDI1NjksICAvLyBpbWFnZUxvYWRfMDFDMjBECi0g
ICAgMjU3MSwgIC8vIGltYWdlQXRvbWljTWF4XzAxQzIwRDAwRAotICAgIDI1NzIsICAvLyBpbWFn
ZUF0b21pY01heF8wMUMyMEQwMEUKLSAgICAyNTczLCAgLy8gdGV4dHVyZUdhdGhlcl8wMGwzMEIw
MEIKLSAgICAyNTc0LCAgLy8gbm9ybWFsaXplXzEwQgotICAgIDI1NzYsICAvLyBhc2luXzMwQgot
ICAgIDI1NzgsICAvLyBpc25hbl8yMEIKLSAgICAyNTgwLCAgLy8gaXNuYW5fMjBDCi0gICAgMjU4
MSwgIC8vIGZ3aWR0aF8wMEIKLSAgICAyNTg0LCAgLy8gZEZkeV8xMEIKLSAgICAyNTg3LCAgLy8g
aW1hZ2VBdG9taWNBZGRfMDFQMTBEMDBFCi0gICAgMjU4OCwgIC8vIGltYWdlQXRvbWljQWRkXzAx
UDEwRDAwRAotICAgIDI1ODksICAvLyBtYXhfMzBFMDBFCi0gICAgMjU5MSwgIC8vIHRleHR1cmVM
b2RfMDBkMjBCMDBCCi0gICAgMjU5MywgIC8vIHRleHR1cmVPZmZzZXRfMDBxMTBCMTBECi0gICAg
MjU5NCwgIC8vIGltYWdlQXRvbWljQWRkXzAxYzIwRDAwRQotICAgIDI1OTUsICAvLyBpbWFnZUF0
b21pY0FkZF8wMWMyMEQwMEQKLSAgICAyNTk2LCAgLy8gbW9kXzEwQjAwQgotICAgIDI1OTgsICAv
LyB0ZXh0dXJlXzAwZzAwQjAwQgotICAgIDI1OTksICAvLyB1aW50Qml0c1RvRmxvYXRfMTBFCi0g
ICAgMjYwMSwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwdDMwQjAwRAotICAgIDI2MDIsICAvLyBt
YXRyaXhDb21wTXVsdF83MEI3MEIKLSAgICAyNjAzLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFJMjBE
MDBECi0gICAgMjYwNCwgIC8vIGltYWdlQXRvbWljTWF4XzAxTTAwRDAwRAotICAgIDI2MDUsICAv
LyBpbWFnZUF0b21pY01heF8wMU0wMEQwMEUKLSAgICAyNjA2LCAgLy8gdGV4dHVyZUxvZF8wMGsz
MEIwMEIKLSAgICAyNjA3LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFFMjBEMDBECi0gICAgMjYwOCwg
IC8vIHRleHR1cmVMb2RPZmZzZXRfMDBZMjBCMDBCMjBECi0gICAgMjYxMCwgIC8vIHJlZnJhY3Rf
MDBDMDBDMDBCCi0gICAgMjYxMSwgIC8vIGxvZzJfMDBCCi0gICAgMjYxMywgIC8vIHRhbmhfMTBC
Ci0gICAgMjYxNSwgIC8vIGltYWdlQXRvbWljTWluXzAxSTIwRDAwRQotICAgIDI2MTYsICAvLyB0
ZXh0dXJlTG9kXzAwaDEwQjAwQgotICAgIDI2MTcsICAvLyB0ZXh0dXJlR2F0aGVyXzAwTzIwQjAw
RAotICAgIDI2MTgsICAvLyBnbF9Mb2NhbEludm9jYXRpb25JRAotICAgIDI2MjAsICAvLyBjbGFt
cF8wMEIwMEIwMEIKLSAgICAyNjIyLCAgLy8gdGV4dHVyZUdhdGhlcl8wMGQxMEIKLSAgICAyNjIz
LCAgLy8gZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVyQnVmZmVycwotICAgIDI2MjQsICAvLyB0
ZXh0dXJlT2Zmc2V0XzAwcDEwQjAwRDAwQgotICAgIDI2MjUsICAvLyBjbGFtcF8xMEMxMEMxMEMK
LSAgICAyNjI2LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFCMTBEMDBECi0gICAgMjYyNywgIC8vIG91
dGVyUHJvZHVjdF8yMEIxMEIKLSAgICAyNjI5LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDB0MTBC
MDBECi0gICAgMjYzMCwgIC8vIGlzaW5mXzIwQwotICAgIDI2MzEsICAvLyB0ZXh0dXJlR3JhZF8w
MGUzMEIyMEIyMEIKLSAgICAyNjMzLCAgLy8gdGV4dHVyZVNpemVfMDBKMDBECi0gICAgMjYzNSwg
IC8vIHRleHR1cmVRdWVyeUxvZF8wMFoyMEIKLSAgICAyNjM2LCAgLy8gZG90XzEwQzEwQwotICAg
IDI2MzcsICAvLyBpbWFnZUF0b21pY1hvcl8wMUsyMEQwMEUKLSAgICAyNjM4LCAgLy8gaW1hZ2VB
dG9taWNYb3JfMDFLMjBEMDBECi0gICAgMjYzOSwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMG4zMEIx
MEIxMEIKLSAgICAyNjQwLCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFVMjBEMDBEMDBFCi0gICAgMjY0
MSwgIC8vIGltYWdlQXRvbWljTWluXzAxVTIwRDAwRDAwRAotICAgIDI2NDIsICAvLyBpbWFnZUF0
b21pY0FkZF8wMVExMEQwMEQKLSAgICAyNjQzLCAgLy8gdGV4dHVyZTJEUHJvakxvZEVYVF8wMEkz
MEIwMEIKLSAgICAyNjQ0LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFUMTBEMDBEMDBECi0gICAgMjY0
NSwgIC8vIGltYWdlQXRvbWljWG9yXzAxVDEwRDAwRDAwRQotICAgIDI2NDYsICAvLyBpbWFnZUF0
b21pY0FuZF8wMWIyMEQwMEQKLSAgICAyNjQ3LCAgLy8gc3RlcF8wMEIwMEIKLSAgICAyNjQ5LCAg
Ly8gdGV4dHVyZTJETG9kRVhUXzAwSTEwQjAwQgotICAgIDI2NTAsICAvLyB0ZXh0dXJlXzAwSzIw
QjAwQgotICAgIDI2NTIsICAvLyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBuMzBCMTBCMTBCMTBE
Ci0gICAgMjY1MywgIC8vIHRleHR1cmVHcmFkXzAwSjIwQjIwQjIwQgotICAgIDI2NTUsICAvLyBp
bWFnZUF0b21pY0NvbXBTd2FwXzAxVjIwRDAwRDAwRTAwRQotICAgIDI2NTYsICAvLyB0ZXh0dXJl
T2Zmc2V0XzAwVTIwQjEwRDAwQgotICAgIDI2NTgsICAvLyBpbnRCaXRzVG9GbG9hdF8xMEQKLSAg
ICAyNjYwLCAgLy8gbWluXzIwQzIwQwotICAgIDI2NjEsICAvLyBmaW5kTFNCXzEwRAotICAgIDI2
NjMsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMFkzMEIwMEIyMEQKLSAgICAyNjY1LCAgLy8g
aW1hZ2VBdG9taWNNYXhfMDFoMDBEMDBFCi0gICAgMjY2NiwgIC8vIHRleHR1cmUzRF8wMEoyMEIK
LSAgICAyNjY4LCAgLy8gZ2xfU2Vjb25kYXJ5RnJhZ0RhdGFFWFQKLSAgICAyNjY5LCAgLy8gaW1h
Z2VBdG9taWNBZGRfMDFYMTBEMDBFCi0gICAgMjY3MCwgIC8vIGZhY2Vmb3J3YXJkXzIwQzIwQzIw
QwotICAgIDI2NzEsICAvLyBpbWFnZUF0b21pY0FuZF8wMU8xMEQwMEUKLSAgICAyNjcyLCAgLy8g
aW1hZ2VBdG9taWNBZGRfMDFYMTBEMDBECi0gICAgMjY3MywgIC8vIGltYWdlQXRvbWljWG9yXzAx
VzIwRDAwRDAwRAotICAgIDI2NzQsICAvLyBpbWFnZUF0b21pY1hvcl8wMVcyMEQwMEQwMEUKLSAg
ICAyNjc1LCAgLy8gdGV4dHVyZUdhdGhlcl8wMG4xMEIwMEIKLSAgICAyNjc2LCAgLy8gaW1hZ2VB
dG9taWNYb3JfMDFaMTBEMDBFCi0gICAgMjY3NywgIC8vIGltYWdlQXRvbWljWG9yXzAxWjEwRDAw
RAotICAgIDI2NzgsICAvLyB0ZXh0dXJlR2F0aGVyXzAwWDEwQjAwRAotICAgIDI2ODAsICAvLyBp
bWFnZUF0b21pY01heF8wMUwwMEQwMEUKLSAgICAyNjgxLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFM
MDBEMDBECi0gICAgMjY4MiwgIC8vIGltYWdlQXRvbWljWG9yXzAxRzIwRDAwRQotICAgIDI2ODMs
ICAvLyBpbWFnZUF0b21pY1hvcl8wMUcyMEQwMEQKLSAgICAyNjg0LCAgLy8gdGV4dHVyZU9mZnNl
dF8wMGEyMEIxMEQKLSAgICAyNjg2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMVgxMEQwMEIK
LSAgICAyNjg3LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDB2MTBCMTBEeDQKLSAgICAyNjg4
LCAgLy8gdGV4dHVyZTJEUHJval8wMEkzMEIwMEIKLSAgICAyNjkwLCAgLy8gdGV4dHVyZVF1ZXJ5
TG9kXzAwWDEwQgotICAgIDI2OTEsICAvLyBpbWFnZUF0b21pY0FuZF8wMUkyMEQwMEUKLSAgICAy
NjkyLCAgLy8gdGV4dHVyZUN1YmVHcmFkRVhUXzAwSzIwQjIwQjIwQgotICAgIDI2OTMsICAvLyBt
aW5fMDBCMDBCCi0gICAgMjY5NSwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwbzAwQjAwQjAwQjAw
RAotICAgIDI2OTYsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxUTEwRDAwQgotICAgIDI2OTcs
ICAvLyBtaXhfMzBDMzBDMzBGCi0gICAgMjY5OCwgIC8vIG1peF8zMEMzMEMzMEMKLSAgICAyNjk5
LCAgLy8gZ2xfV29ya0dyb3VwSUQKLSAgICAyNzAxLCAgLy8gZGVncmVlc18wMEIKLSAgICAyNzAz
LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFKMjBEMDBFCi0gICAgMjcwNCwgIC8vIGltYWdlQXRvbWlj
TWF4XzAxSjIwRDAwRAotICAgIDI3MDUsICAvLyBpbWFnZUF0b21pY01pbl8wMUQyMEQwMEQKLSAg
ICAyNzA2LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBSMTBCMTBEeDQKLSAgICAyNzA5LCAg
Ly8gYXRvbWljRXhjaGFuZ2VfMDBEMDBECi0gICAgMjcxMSwgIC8vIHRleHR1cmVPZmZzZXRfMDBt
MjBCMDBEMDBCCi0gICAgMjcxMiwgIC8vIGdsX01heEdlb21ldHJ5QXRvbWljQ291bnRlcnMKLSAg
ICAyNzEzLCAgLy8gdGV4dHVyZU9mZnNldF8wMGYzMEIxMEQKLSAgICAyNzE0LCAgLy8gaW1hZ2VT
dG9yZV8wMWMyMEQzMEUKLSAgICAyNzE1LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWEyMEQw
MEQKLSAgICAyNzE2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWEyMEQwMEUKLSAgICAyNzE3
LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWEyMEQwMEIKLSAgICAyNzE4LCAgLy8gbWF0cml4
Q29tcE11bHRfNjBCNjBCCi0gICAgMjcxOSwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDB6MTBE
MDBEMDBECi0gICAgMjcyMCwgIC8vIHRleHR1cmVQcm9qXzAwdDMwQgotICAgIDI3MjEsICAvLyB0
ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDB0MTBCMDBCMDBCMDBECi0gICAgMjcyMiwgIC8vIHVucGFj
a1Nub3JtMngxNl8wMEUKLSAgICAyNzI0LCAgLy8gbGVzc1RoYW5fMzBEMzBECi0gICAgMjcyNiwg
IC8vIGF0YW5fMDBCMDBCCi0gICAgMjcyOCwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMFMyMEIKLSAg
ICAyNzI5LCAgLy8gbm90RXF1YWxfMTBCMTBCCi0gICAgMjczMSwgIC8vIGltYWdlTG9hZF8wMUcy
MEQKLSAgICAyNzMzLCAgLy8gdHJ1bmNfMzBCCi0gICAgMjczNSwgIC8vIHRydW5jXzMwQwotICAg
IDI3MzYsICAvLyBsZW5ndGhfMDBCCi0gICAgMjczOCwgIC8vIGxlbmd0aF8wMEMKLSAgICAyNzM5
LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFIMjBEMDBECi0gICAgMjc0MCwgIC8vIGltYWdlQXRvbWlj
QW5kXzAxSDIwRDAwRQotICAgIDI3NDEsICAvLyB0ZXh0dXJlUHJval8wMFgzMEIwMEIKLSAgICAy
NzQzLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMUMyMEQwMEUwMEUKLSAgICAyNzQ0LCAgLy8g
dGFuXzAwQgotICAgIDI3NDYsICAvLyBtaW5fMjBFMDBFCi0gICAgMjc0OCwgIC8vIHRleHR1cmVM
b2RfMDB4MzBCMDBCCi0gICAgMjc0OSwgIC8vIHRleHR1cmVTaXplXzAwagotICAgIDI3NTAsICAv
LyB0ZXh0dXJlU2l6ZV8wMG4KLSAgICAyNzUxLCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFGMjBEMDBE
Ci0gICAgMjc1MiwgIC8vIHRleHR1cmVTaXplXzAwYwotICAgIDI3NTQsICAvLyB0ZXh0dXJlU2l6
ZV8wMGIKLSAgICAyNzU3LCAgLy8gbWluXzIwQjIwQgotICAgIDI3NTksICAvLyB0ZXh0dXJlU2l6
ZV8wMHEKLSAgICAyNzYwLCAgLy8gdGV4dHVyZVNpemVfMDByCi0gICAgMjc2MSwgIC8vIHRleHR1
cmVTaXplXzAwdwotICAgIDI3NjIsICAvLyB0ZXh0dXJlU2l6ZV8wMHYKLSAgICAyNzYzLCAgLy8g
Yml0ZmllbGRJbnNlcnRfMjBFMjBFMDBEMDBECi0gICAgMjc2NSwgIC8vIGdsX01heFByb2dyYW1U
ZXhlbE9mZnNldAotICAgIDI3NjcsICAvLyB0ZXh0dXJlU2l6ZV8wME8KLSAgICAyNzY4LCAgLy8g
aW1hZ2VBdG9taWNBbmRfMDFhMjBEMDBFCi0gICAgMjc2OSwgIC8vIGltYWdlQXRvbWljTWluXzAx
ZzAwRDAwRAotICAgIDI3NzAsICAvLyB0cnVuY18wMEMKLSAgICAyNzcxLCAgLy8gaW1hZ2VBdG9t
aWNBbmRfMDFhMjBEMDBECi0gICAgMjc3MiwgIC8vIHRleHR1cmVTaXplXzAwUQotICAgIDI3NzQs
ICAvLyB0ZXh0dXJlU2l6ZV8wMFAKLSAgICAyNzc3LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFNMDBE
MDBFCi0gICAgMjc3OCwgIC8vIGltYWdlQXRvbWljQWRkXzAxTTAwRDAwRAotICAgIDI3NzksICAv
LyB0ZXh0dXJlU2l6ZV8wMFcKLSAgICAyNzgxLCAgLy8gdGV4dHVyZVByb2pMb2RfMDBYMjBCMDBC
Ci0gICAgMjc4MywgIC8vIHNtb290aHN0ZXBfMDBDMDBDMDBDCi0gICAgMjc4NCwgIC8vIGF0b21p
Y0NvdW50ZXJBbmRfMDBHMDBFCi0gICAgMjc4NSwgIC8vIGZhY2Vmb3J3YXJkXzMwQjMwQjMwQgot
ICAgIDI3ODcsICAvLyBkaXN0YW5jZV8yMEMyMEMKLSAgICAyNzg4LCAgLy8gYXRvbWljQ291bnRl
ckFkZF8wMEcwMEUKLSAgICAyNzg5LCAgLy8gaW1hZ2VTdG9yZV8wMU8xMEQzMEIKLSAgICAyNzkw
LCAgLy8gdGV4dHVyZV8wMFgxMEIKLSAgICAyNzkyLCAgLy8gY2VpbF8wMEMKLSAgICAyNzkzLCAg
Ly8gY2VpbF8wMEIKLSAgICAyNzk1LCAgLy8gZGlzdGFuY2VfMDBCMDBCCi0gICAgMjc5NywgIC8v
IHRleGVsRmV0Y2hfMDBPMTBECi0gICAgMjc5OCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFD
MjBEMDBECi0gICAgMjc5OSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFDMjBEMDBFCi0gICAg
MjgwMCwgIC8vIHRleHR1cmVHcmFkXzAwczMwQjIwQjIwQgotICAgIDI4MDEsICAvLyB0ZXh0dXJl
R2F0aGVyXzAwSTEwQgotICAgIDI4MDMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxQzIwRDAw
QgotICAgIDI4MDQsICAvLyBtaW5fMzBEMzBECi0gICAgMjgwNiwgIC8vIGltYWdlQXRvbWljRXhj
aGFuZ2VfMDFaMTBEMDBCCi0gICAgMjgwNywgIC8vIGZpbmRNU0JfMzBFCi0gICAgMjgwOSwgIC8v
IGZpbmRNU0JfMzBECi0gICAgMjgxMSwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwUjEwQjEwQjEw
QjEwRAotICAgIDI4MTMsICAvLyBmd2lkdGhfMzBCCi0gICAgMjgxNiwgIC8vIHRleHR1cmVHcmFk
XzAwSzIwQjIwQjIwQgotICAgIDI4MTgsICAvLyB0ZXhlbEZldGNoXzAwUzIwRDAwRAotICAgIDI4
MjAsICAvLyBtYXhfMTBCMDBCCi0gICAgMjgyMiwgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8w
MFIzMEIxMEIxMEIxMEQKLSAgICAyODI0LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMEwyMEQwMEQx
MEQKLSAgICAyODI2LCAgLy8gaXNuYW5fMzBDCi0gICAgMjgyNywgIC8vIHRyYW5zcG9zZV81MEIK
LSAgICAyODI5LCAgLy8gZ3JlYXRlclRoYW5FcXVhbF8yMEQyMEQKLSAgICAyODMxLCAgLy8gYXNp
bmhfMDBCCi0gICAgMjgzMywgIC8vIGdsX1ByaW1pdGl2ZUlESW4KLSAgICAyODM0LCAgLy8gdGV4
dHVyZUdhdGhlcl8wMFoyMEIKLSAgICAyODM2LCAgLy8gdGV4dHVyZUdyYWRfMDBwMTBCMDBCMDBC
Ci0gICAgMjgzNywgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwdjMwQjEwRAotICAgIDI4MzgsICAv
LyBncmVhdGVyVGhhbl8yMEIyMEIKLSAgICAyODQwLCAgLy8gbWluXzIwRDIwRAotICAgIDI4NDIs
ICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwZzAwRDAwRDAwRAotICAgIDI4NDMsICAvLyBpbWFnZUF0
b21pY0NvbXBTd2FwXzAxZzAwRDAwRTAwRQotICAgIDI4NDQsICAvLyBpbWFnZUF0b21pY01pbl8w
MVcyMEQwMEQwMEUKLSAgICAyODQ1LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFXMjBEMDBEMDBECi0g
ICAgMjg0NiwgIC8vIGltYWdlQXRvbWljWG9yXzAxTzEwRDAwRAotICAgIDI4NDcsICAvLyBpbWFn
ZUF0b21pY1hvcl8wMU8xMEQwMEUKLSAgICAyODQ4LCAgLy8gdGFuaF8yMEIKLSAgICAyODUwLCAg
Ly8gdGV4dHVyZVByb2pfMDBtMzBCMDBCCi0gICAgMjg1MSwgIC8vIHNpbl8yMEIKLSAgICAyODUz
LCAgLy8gc21vb3Roc3RlcF8wMEMwMEMzMEMKLSAgICAyODU0LCAgLy8gdGV4dHVyZVNpemVfMDBs
MDBECi0gICAgMjg1NSwgIC8vIHRleHR1cmVMb2RfMDBvMDBCMDBCCi0gICAgMjg1NiwgIC8vIHRl
eHR1cmVPZmZzZXRfMDBJMTBCMTBEMDBCCi0gICAgMjg1OCwgIC8vIGltYWdlQXRvbWljQW5kXzAw
ejEwRDAwRAotICAgIDI4NTksICAvLyBpbWFnZUF0b21pY0FuZF8wMHoxMEQwMEUKLSAgICAyODYw
LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVcyMEQwMEQwMEQwMEQKLSAgICAyODYxLCAgLy8g
Z2xfTWF4QXRvbWljQ291bnRlckJ1ZmZlclNpemUKLSAgICAyODYzLCAgLy8gdGV4dHVyZU9mZnNl
dF8wMEoyMEIyMEQwMEIKLSAgICAyODY1LCAgLy8gbGVzc1RoYW5FcXVhbF8yMEUyMEUKLSAgICAy
ODY3LCAgLy8gZ2xfQmFzZVZlcnRleAotICAgIDI4NjgsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwZzAw
QjAwRAotICAgIDI4NjksICAvLyB0ZXh0dXJlUHJval8wMGczMEIKLSAgICAyODcwLCAgLy8gZ2xf
TWF4R2VvbWV0cnlUb3RhbE91dHB1dENvbXBvbmVudHMKLSAgICAyODcxLCAgLy8gYml0ZmllbGRJ
bnNlcnRfMzBFMzBFMDBEMDBECi0gICAgMjg3MywgIC8vIGJpdGZpZWxkRXh0cmFjdF8yMEUwMEQw
MEQKLSAgICAyODc1LCAgLy8gdWludEJpdHNUb0Zsb2F0XzIwRQotICAgIDI4NzcsICAvLyB1bnBh
Y2tVbm9ybTR4OF8wMEUKLSAgICAyODc5LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUsyMEQw
MEUKLSAgICAyODgwLCAgLy8gbW9kXzEwQjEwQgotICAgIDI4ODIsICAvLyBpbWFnZUF0b21pY0V4
Y2hhbmdlXzAxSzIwRDAwQgotICAgIDI4ODMsICAvLyBpbWFnZUF0b21pY0FuZF8wMUIxMEQwMEUK
LSAgICAyODg0LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFpMDBEMDBECi0gICAgMjg4NSwgIC8vIGds
X01heFZlcnRleEltYWdlVW5pZm9ybXMKLSAgICAyODg3LCAgLy8gZXF1YWxfMjBEMjBECi0gICAg
Mjg4OSwgIC8vIG1peF8xMEUxMEUxMEYKLSAgICAyODkxLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFIx
MEIwMEQKLSAgICAyODkzLCAgLy8gdGV4dHVyZVNpemVfMDBaMDBECi0gICAgMjg5NSwgIC8vIGJp
dGZpZWxkRXh0cmFjdF8zMEQwMEQwMEQKLSAgICAyODk3LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFK
MjBEMDBECi0gICAgMjg5OCwgIC8vIGltYWdlQXRvbWljWG9yXzAxSjIwRDAwRQotICAgIDI4OTks
ICAvLyBpbnRCaXRzVG9GbG9hdF8wMEQKLSAgICAyOTAxLCAgLy8gdGV4dHVyZUxvZE9mZnNldF8w
MG0yMEIwMEIwMEQKLSAgICAyOTAyLCAgLy8gZmluZExTQl8wMEUKLSAgICAyOTA0LCAgLy8gdGV4
ZWxGZXRjaF8wMHAxMEQwMEQKLSAgICAyOTA1LCAgLy8gdGV4dHVyZUdhdGhlcl8wMGQxMEIwMEIK
LSAgICAyOTA3LCAgLy8gc2hhZG93MkRQcm9qXzAwZDMwQjAwQgotICAgIDI5MDgsICAvLyBpbWFn
ZUF0b21pY0FkZF8wMVQxMEQwMEQwMEQKLSAgICAyOTA5LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFU
MTBEMDBEMDBFCi0gICAgMjkxMCwgIC8vIGludmVyc2VzcXJ0XzEwQgotICAgIDI5MTIsICAvLyBp
bnZlcnNlc3FydF8xMEMKLSAgICAyOTEzLCAgLy8gYWJzXzMwRAotICAgIDI5MTUsICAvLyB0cmFu
c3Bvc2VfRDBCCi0gICAgMjkxNywgIC8vIGFic18zMEMKLSAgICAyOTE4LCAgLy8gdGV4dHVyZVBy
b2pHcmFkXzAwTzMwQjEwQjEwQgotICAgIDI5MTksICAvLyBFbXB0eQotICAgIDI5MTksICAvLyBp
bWFnZUxvYWRfMDFFMjBECi0gICAgMjkyMSwgIC8vIHRleHR1cmVQcm9qXzAwTjIwQjAwQgotICAg
IDI5MjIsICAvLyBnbF9GcmFnRGF0YQotICAgIDI5MjQsICAvLyBkRmR4Q29hcnNlXzIwQgotICAg
IDI5MjUsICAvLyBjbGFtcF8yMEUwMEUwMEUKLSAgICAyOTI3LCAgLy8gdGV4dHVyZVByb2pfMDBk
MzBCCi0gICAgMjkyOSwgIC8vIGdsX01heFZlcnRleE91dHB1dFZlY3RvcnMKLSAgICAyOTMxLCAg
Ly8gaW1hZ2VBdG9taWNPcl8wMWkwMEQwMEQKLSAgICAyOTMyLCAgLy8gaW1hZ2VBdG9taWNPcl8w
MWkwMEQwMEUKLSAgICAyOTMzLCAgLy8gc2hhZG93MURfMDBtMjBCCi0gICAgMjkzNCwgIC8vIHRl
eHR1cmVPZmZzZXRfMDB1MTBCMDBECi0gICAgMjkzNSwgIC8vIGNvc2hfMTBCCi0gICAgMjkzNywg
IC8vIHNpZ25fMTBDCi0gICAgMjkzOCwgIC8vIGltYWdlQXRvbWljQW5kXzAxRzIwRDAwRQotICAg
IDI5MzksICAvLyBpbWFnZUF0b21pY0FuZF8wMUcyMEQwMEQKLSAgICAyOTQwLCAgLy8gc2lnbl8x
MEQKLSAgICAyOTQyLCAgLy8gdW11bEV4dGVuZGVkXzAwRTAwRTAwRTAwRQotICAgIDI5NDQsICAv
LyBnbF9NYXhWZXJ0ZXhBdHRyaWJzCi0gICAgMjk0NiwgIC8vIEVtcHR5Ci0gICAgMjk0NiwgIC8v
IHRleHR1cmVfMDBhMjBCCi0gICAgMjk0OCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFnMDBE
MDBCCi0gICAgMjk0OSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFCMTBEMDBCCi0gICAgMjk1
MCwgIC8vIGxkZXhwXzEwQjEwRAotICAgIDI5NTIsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAx
QjEwRDAwRAotICAgIDI5NTMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxQjEwRDAwRQotICAg
IDI5NTQsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMGczMEIwMEQKLSAgICAyOTU1LCAgLy8gdGV4
dHVyZV8wMFoyMEIKLSAgICAyOTU3LCAgLy8gZGVncmVlc18xMEIKLSAgICAyOTU5LCAgLy8gdGV4
dHVyZV8wMEsyMEIKLSAgICAyOTYxLCAgLy8gc2luaF8xMEIKLSAgICAyOTYzLCAgLy8gdGV4dHVy
ZV8wMG0yMEIKLSAgICAyOTY0LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFDMjBEMDBECi0gICAgMjk2
NSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwSTEwQjEwRHg0MDBECi0gICAgMjk2OCwgIC8v
IG5vdF8zMEYKLSAgICAyOTcwLCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBJMjBCMDBCMTBE
Ci0gICAgMjk3MiwgIC8vIHRleHR1cmVHYXRoZXJfMDBLMjBCCi0gICAgMjk3NCwgIC8vIHRleHR1
cmVHYXRoZXJPZmZzZXRfMDBSMTBCMTBECi0gICAgMjk3NiwgIC8vIG1lbW9yeUJhcnJpZXJTaGFy
ZWRfCi0gICAgMjk3OCwgIC8vIGNsYW1wXzIwQjIwQjIwQgotICAgIDI5ODAsICAvLyB0ZXhlbEZl
dGNoXzAwVzIwRDAwRAotICAgIDI5ODIsICAvLyB0ZXh0dXJlUHJvakxvZF8wMGcxMEIwMEIKLSAg
ICAyOTgzLCAgLy8gdHJ1bmNfMjBDCi0gICAgMjk4NCwgIC8vIHRydW5jXzIwQgotICAgIDI5ODYs
ICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMEkzMEIxMEQwMEIKLSAgICAyOTg4LCAgLy8gbWF4XzAw
QzAwQwotICAgIDI5ODksICAvLyB0YW5fMTBCCi0gICAgMjk5MSwgIC8vIHRleHR1cmVfMDBnMDBC
Ci0gICAgMjk5MiwgIC8vIHRleHR1cmVMb2RPZmZzZXRfMDBMMjBCMDBCMTBECi0gICAgMjk5NCwg
IC8vIHRleHR1cmVMb2RPZmZzZXRfMDB1MTBCMDBCMDBECi0gICAgMjk5NSwgIC8vIGltYWdlQXRv
bWljT3JfMDFCMTBEMDBECi0gICAgMjk5NiwgIC8vIGltYWdlQXRvbWljT3JfMDFCMTBEMDBFCi0g
ICAgMjk5NywgIC8vIGlzaW5mXzIwQgotICAgIDI5OTksICAvLyBkRmR5Q29hcnNlXzEwQgotICAg
IDMwMDAsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwWDEwQjEwRDAwRAotICAgIDMwMDIsICAv
LyBtaW5fMTBFMTBFCi0gICAgMzAwNCwgIC8vIG1lbW9yeUJhcnJpZXJJbWFnZV8KLSAgICAzMDA2
LCAgLy8gcm91bmRfMTBCCi0gICAgMzAwOCwgIC8vIHJvdW5kXzEwQwotICAgIDMwMDksICAvLyB0
ZXh0dXJlUHJvakxvZE9mZnNldF8wMG0zMEIwMEIwMEQKLSAgICAzMDEwLCAgLy8gdGV4dHVyZVBy
b2pHcmFkT2Zmc2V0XzAwZzEwQjAwQjAwQjAwRAotICAgIDMwMTEsICAvLyB0ZXh0dXJlUHJval8w
MFIzMEIKLSAgICAzMDEzLCAgLy8gc2hhZG93MURQcm9qXzAwbTMwQgotICAgIDMwMTQsICAvLyB0
ZXh0dXJlXzAwZjMwQjAwQgotICAgIDMwMTUsICAvLyBmbWFfMDBCMDBCMDBCCi0gICAgMzAxOCwg
IC8vIGltYWdlU3RvcmVfMDFYMTBEMzBCCi0gICAgMzAxOSwgIC8vIGltYWdlQXRvbWljT3JfMDFi
MjBEMDBFCi0gICAgMzAyMCwgIC8vIGltYWdlQXRvbWljT3JfMDFiMjBEMDBECi0gICAgMzAyMSwg
IC8vIHRleHR1cmVHYXRoZXJPZmZzZXRfMDB2MTBCMTBEMDBECi0gICAgMzAyMiwgIC8vIGF0b21p
Y01heF8wMEUwMEUKLSAgICAzMDI0LCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAwdDAwQgotICAgIDMw
MjUsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFIzMEIxMEQKLSAgICAzMDI3LCAgLy8gdGV4dHVy
ZVByb2pfMDBYMzBCCi0gICAgMzAyOSwgIC8vIGZpbmRNU0JfMDBECi0gICAgMzAzMSwgIC8vIGZp
bmRNU0JfMDBFCi0gICAgMzAzMywgIC8vIG1peF8yMEIyMEIyMEIKLSAgICAzMDM1LCAgLy8gaW1h
Z2VBdG9taWNDb21wU3dhcF8wMVgxMEQwMEQwMEQKLSAgICAzMDM2LCAgLy8gZnJleHBfMzBDMzBE
Ci0gICAgMzAzNywgIC8vIG1peF8xMEMxMEMxMEMKLSAgICAzMDM4LCAgLy8gbWluXzMwRDAwRAot
ICAgIDMwNDAsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxSzIwRDAwRTAwRQotICAgIDMwNDEs
ICAvLyB0ZXh0dXJlXzAwTTEwQjAwQgotICAgIDMwNDIsICAvLyBmd2lkdGhfMjBCCi0gICAgMzA0
NSwgIC8vIGltYWdlQXRvbWljT3JfMDFTMTBEMDBEMDBECi0gICAgMzA0NiwgIC8vIGltYWdlQXRv
bWljT3JfMDFTMTBEMDBEMDBFCi0gICAgMzA0NywgIC8vIG1vZF8zMEMwMEMKLSAgICAzMDQ4LCAg
Ly8gaW1hZ2VBdG9taWNBZGRfMDFBMTBEMDBECi0gICAgMzA0OSwgIC8vIGltYWdlQXRvbWljQWRk
XzAxQTEwRDAwRQotICAgIDMwNTAsICAvLyB0ZXh0dXJlXzAwbzAwQjAwQgotICAgIDMwNTEsICAv
LyBpbWFnZUF0b21pY09yXzAxSDIwRDAwRQotICAgIDMwNTIsICAvLyBpbWFnZUF0b21pY09yXzAx
SDIwRDAwRAotICAgIDMwNTMsICAvLyBjb3NfMjBCCi0gICAgMzA1NSwgIC8vIGdsX01heEdlb21l
dHJ5VW5pZm9ybUNvbXBvbmVudHMKLSAgICAzMDU2LCAgLy8gdGV4dHVyZUdhdGhlcl8wMFQyMEIK
LSAgICAzMDU4LCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwSjMwQjIwQjIwQjIwRAotICAg
IDMwNjAsICAvLyBhc2luaF8xMEIKLSAgICAzMDYyLCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMHYx
MEQxMEQKLSAgICAzMDYzLCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFFMjBEMDBFCi0gICAgMzA2NCwg
IC8vIGltYWdlQXRvbWljWG9yXzAxRTIwRDAwRAotICAgIDMwNjUsICAvLyB0ZXh0dXJlR2F0aGVy
T2Zmc2V0c18wMFIxMEIxMER4NDAwRAorICAgIDEwNzYsICAvLyBnbF9DbGlwRGlzdGFuY2UKKyAg
ICAxMDc3LCAgLy8gbW9kZl8zMEMzMEMKKyAgICAxMDc4LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFU
MTBEMDBEMDBFCisgICAgMTA3OSwgIC8vIGltYWdlQXRvbWljTWluXzAxVDEwRDAwRDAwRAorICAg
IDEwODAsICAvLyB0ZXh0dXJlR3JhZF8wMGkyMEIwMEIwMEIKKyAgICAxMDgxLCAgLy8gdGV4dHVy
ZVByb2pfMDBnMTBCCisgICAgMTA4MiwgIC8vIGVxdWFsXzIwQjIwQgorICAgIDEwODQsICAvLyB0
ZXh0dXJlUHJvakxvZE9mZnNldF8wMFgyMEIwMEIxMEQKKyAgICAxMDg2LCAgLy8gbWF4XzMwQzAw
QworICAgIDEwODcsICAvLyB0ZXh0dXJlXzAwVTIwQjAwQgorICAgIDEwODksICAvLyB0ZXh0dXJl
UHJval8wMEkzMEIKKyAgICAxMDkxLCAgLy8gbWl4XzAwRTAwRTAwRgorICAgIDEwOTMsICAvLyBp
bWFnZUF0b21pY0NvbXBTd2FwXzAxaDAwRDAwRDAwRAorICAgIDEwOTQsICAvLyBtaXhfMDBEMDBE
MDBGCisgICAgMTA5NiwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwcTIwQjEwRAorICAgIDEwOTcs
ICAvLyB0ZXh0dXJlXzAwaTIwQgorICAgIDEwOTgsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMGEy
MEIxMEIxMEIxMEQKKyAgICAxMTAwLCAgLy8gc21vb3Roc3RlcF8wMEIwMEIyMEIKKyAgICAxMTAy
LCAgLy8gdGV4dHVyZUxvZF8wMHMzMEIwMEIKKyAgICAxMTAzLCAgLy8gaW1hZ2VBdG9taWNPcl8w
MUMyMEQwMEQKKyAgICAxMTA0LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUMyMEQwMEUKKyAgICAxMTA1
LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFnMDBEMDBFCisgICAgMTEwNiwgIC8vIG5vdEVxdWFsXzMw
QjMwQgorICAgIDExMDgsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwZjIwQjAwQjEwRAorICAg
IDExMTAsICAvLyBpbWFnZUF0b21pY0FuZF8wMU4wMEQwMEQKKyAgICAxMTExLCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFOMDBEMDBFCisgICAgMTExMiwgIC8vIGltYWdlU2l6ZV8wMHoKKyAgICAxMTE0
LCAgLy8gbW9kXzEwQzEwQworICAgIDExMTUsICAvLyBpbWFnZUF0b21pY1hvcl8wMWcwMEQwMEQK
KyAgICAxMTE2LCAgLy8gZmFjZWZvcndhcmRfMDBDMDBDMDBDCisgICAgMTExNywgIC8vIHRleHR1
cmVHcmFkXzAwYTIwQjEwQjEwQgorICAgIDExMTksICAvLyBkRmR4Q29hcnNlXzAwQgorICAgIDEx
MjAsICAvLyBpbWFnZUF0b21pY01pbl8wMWEyMEQwMEQKKyAgICAxMTIxLCAgLy8gdGV4dHVyZV8w
MEoyMEIwMEIKKyAgICAxMTIzLCAgLy8gcmVmcmFjdF8yMEIyMEIwMEIKKyAgICAxMTI1LCAgLy8g
Y2VpbF8zMEMKKyAgICAxMTI2LCAgLy8gZ2xfTWF4R2VvbWV0cnlPdXRwdXRDb21wb25lbnRzCisg
ICAgMTEyNywgIC8vIG5vaXNlMV8zMEIKKyAgICAxMTI4LCAgLy8gbG9nMl8zMEIKKyAgICAxMTMw
LCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwZDMwQjEwQjEwQgorICAgIDExMzIsICAvLyBtb2RfMjBD
MjBDCisgICAgMTEzMywgIC8vIGZyYWN0XzMwQworICAgIDExMzQsICAvLyB0ZXhlbEZldGNoXzAw
dDAwRDAwRAorICAgIDExMzUsICAvLyBpbWFnZUF0b21pY1hvcl8wMUwwMEQwMEQKKyAgICAxMTM2
LCAgLy8gbWF4XzMwRTMwRQorICAgIDExMzgsICAvLyBnbF9NYXhGcmFnbWVudEF0b21pY0NvdW50
ZXJCdWZmZXJzCisgICAgMTE0MCwgIC8vIGdsX2luCisgICAgMTE0MSwgIC8vIG5vaXNlNF8wMEIK
KyAgICAxMTQyLCAgLy8gZGlzdGFuY2VfMTBDMTBDCisgICAgMTE0MywgIC8vIHRleHR1cmVQcm9q
TG9kT2Zmc2V0XzAwSjMwQjAwQjIwRAorICAgIDExNDUsICAvLyBpbWFnZUxvYWRfMDFCMTBECisg
ICAgMTE0NywgIC8vIGltYWdlQXRvbWljTWF4XzAxSDIwRDAwRQorICAgIDExNDgsICAvLyBpbWFn
ZUF0b21pY01heF8wMUgyMEQwMEQKKyAgICAxMTQ5LCAgLy8gaW1hZ2VTdG9yZV8wMWgwMEQzMEQK
KyAgICAxMTUwLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMU8xMEQwMEQKKyAgICAxMTUxLCAg
Ly8gdGV4ZWxGZXRjaF8wMGMyMEQwMEQKKyAgICAxMTUzLCAgLy8gc3FydF8wMEIKKyAgICAxMTU1
LCAgLy8gc3FydF8wMEMKKyAgICAxMTU2LCAgLy8gdGV4dHVyZVByb2pMb2RfMDBSMzBCMDBCCisg
ICAgMTE1OCwgIC8vIG5vaXNlM18xMEIKKyAgICAxMTU5LCAgLy8gdGV4ZWxGZXRjaF8wMHExMEQK
KyAgICAxMTYwLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFGMjBEMDBECisgICAgMTE2MSwgIC8vIHRl
eHR1cmVMb2RfMDBtMjBCMDBCCisgICAgMTE2MiwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwbTMw
QjAwRDAwQgorICAgIDExNjMsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDB2MzBCMTBCMTBCCisgICAg
MTE2NCwgIC8vIGNsYW1wXzIwRDIwRDIwRAorICAgIDExNjYsICAvLyBpbWFnZUF0b21pY01pbl8w
MVAxMEQwMEUKKyAgICAxMTY3LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFDMjBEMDBFCisgICAgMTE2
OCwgIC8vIGNsYW1wXzAwQzAwQzAwQworICAgIDExNjksICAvLyBpbWFnZUF0b21pY1hvcl8wMU4w
MEQwMEQKKyAgICAxMTcwLCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFOMDBEMDBFCisgICAgMTE3MSwg
IC8vIG1heF8xMEUwMEUKKyAgICAxMTczLCAgLy8gaW1hZ2VMb2FkXzAxYzIwRAorICAgIDExNzQs
ICAvLyB0ZXh0dXJlR3JhZF8wMFUyMEIxMEIxMEIKKyAgICAxMTc2LCAgLy8gaW1hZ2VMb2FkXzAw
ejEwRAorICAgIDExNzgsICAvLyBjbGFtcF8zMEMwMEMwMEMKKyAgICAxMTc5LCAgLy8gdGV4dHVy
ZUdhdGhlck9mZnNldHNfMDBhMjBCMTBEeDQwMEQKKyAgICAxMTgyLCAgLy8gc2luaF8yMEIKKyAg
ICAxMTg0LCAgLy8gbWF0cml4Q29tcE11bHRfRTBCRTBCCisgICAgMTE4NSwgIC8vIGZ3aWR0aEZp
bmVfMDBCCisgICAgMTE4NiwgIC8vIGdsX1BlclZlcnRleAorICAgIDExODcsICAvLyB0ZXh0dXJl
R3JhZE9mZnNldF8wMG0yMEIwMEIwMEIwMEQKKyAgICAxMTg4LCAgLy8gaW1hZ2VBdG9taWNNaW5f
MDFLMjBEMDBFCisgICAgMTE4OSwgIC8vIHRleHR1cmVRdWVyeUxldmVsc18wMHAKKyAgICAxMTkw
LCAgLy8gZ2xfV29ya0dyb3VwU2l6ZQorICAgIDExOTIsICAvLyBhc2luaF8zMEIKKyAgICAxMTk0
LCAgLy8gY3Jvc3NfMjBDMjBDCisgICAgMTE5NSwgIC8vIHRleHR1cmVHYXRoZXJfMDBhMjBCCisg
ICAgMTE5NywgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wME8yMEIxMEIxMEIxMEQKKyAgICAx
MTk4LCAgLy8gcG93XzMwQjMwQgorICAgIDEyMDAsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAx
RzIwRDAwRTAwRQorICAgIDEyMDEsICAvLyBzbW9vdGhzdGVwXzEwQjEwQjEwQgorICAgIDEyMDMs
ICAvLyB0ZXh0dXJlUHJval8wME8zMEIKKyAgICAxMjA1LCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAw
UjEwQgorICAgIDEyMDYsICAvLyBpbWFnZUF0b21pY0FkZF8wMVIxMEQwMEQwMEQKKyAgICAxMjA3
LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFSMTBEMDBEMDBFCisgICAgMTIwOCwgIC8vIGltYWdlQXRv
bWljRXhjaGFuZ2VfMDFFMjBEMDBECisgICAgMTIwOSwgIC8vIGltYWdlQXRvbWljTWluXzAxUTEw
RDAwRQorICAgIDEyMTAsICAvLyBpbWFnZUF0b21pY01pbl8wMVExMEQwMEQKKyAgICAxMjExLCAg
Ly8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUUyMEQwMEUKKyAgICAxMjEyLCAgLy8gaXNuYW5fMDBC
CisgICAgMTIxNCwgIC8vIGlzbmFuXzAwQworICAgIDEyMTUsICAvLyBpbXVsRXh0ZW5kZWRfMTBE
MTBEMTBEMTBECisgICAgMTIxNywgIC8vIHRleHR1cmVQcm9qR3JhZF8wMG8xMEIwMEIwMEIKKyAg
ICAxMjE4LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFpMDBEMDBECisgICAgMTIxOSwgIC8vIGltYWdl
QXRvbWljTWF4XzAxaTAwRDAwRQorICAgIDEyMjAsICAvLyByZWZyYWN0XzEwQzEwQzAwQgorICAg
IDEyMjEsICAvLyBtaW5fMDBFMDBFCisgICAgMTIyMywgIC8vIGltYWdlU3RvcmVfMDFUMTBEMDBE
MzBFCisgICAgMTIyNCwgIC8vIHRleHR1cmUyRFByb2pfMDBJMzBCCisgICAgMTIyNiwgIC8vIHRl
eHR1cmVHcmFkT2Zmc2V0XzAwSTEwQjEwQjEwQjEwRAorICAgIDEyMjgsICAvLyB0ZXh0dXJlTG9k
T2Zmc2V0XzAwSjIwQjAwQjIwRAorICAgIDEyMzAsICAvLyBub3RFcXVhbF8yMEIyMEIKKyAgICAx
MjMyLCAgLy8gYXRvbWljQ29tcFN3YXBfMDBEMDBEMDBECisgICAgMTIzNCwgIC8vIEVtcHR5Cisg
ICAgMTIzNCwgIC8vIHRleHR1cmVPZmZzZXRfMDBpMjBCMDBECisgICAgMTIzNSwgIC8vIGRGZHlG
aW5lXzAwQgorICAgIDEyMzYsICAvLyB0ZXh0dXJlTG9kXzAwYTIwQjAwQgorICAgIDEyMzgsICAv
LyB0ZXh0dXJlUHJval8wME4zMEIKKyAgICAxMjM5LCAgLy8gcmVmcmFjdF8zMEMzMEMwMEIKKyAg
ICAxMjQwLCAgLy8gZXF1YWxfMzBEMzBECisgICAgMTI0MiwgIC8vIGltYWdlU3RvcmVfMDFEMjBE
MzBECisgICAgMTI0NCwgIC8vIHBhY2tTbm9ybTJ4MTZfMTBCCisgICAgMTI0NiwgIC8vIGZsb2F0
Qml0c1RvVWludF8zMEIKKyAgICAxMjQ4LCAgLy8gdGV4dHVyZU9mZnNldF8wMFIxMEIxMEQKKyAg
ICAxMjUwLCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwcTIwQjEwQjEwQgorICAgIDEyNTEsICAvLyB0
ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBSMjBCMTBCMTBCMTBECisgICAgMTI1MywgIC8vIGxkZXhw
XzMwQjMwRAorICAgIDEyNTUsICAvLyBtYXhfMzBCMDBCCisgICAgMTI1NywgIC8vIGF0b21pY0Nv
dW50ZXJPcl8wMEcwMEUKKyAgICAxMjU4LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFpMDBEMDBFCisg
ICAgMTI1OSwgIC8vIHN0ZXBfMzBCMzBCCisgICAgMTI2MSwgIC8vIHRleHR1cmVQcm9qXzAwSTMw
QjAwQgorICAgIDEyNjMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxRDIwRDAwRQorICAgIDEy
NjQsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwZzAwQjAwRDAwQgorICAgIDEyNjUsICAvLyBpbWFnZUF0
b21pY0V4Y2hhbmdlXzAxRDIwRDAwQgorICAgIDEyNjYsICAvLyBpbWFnZUF0b21pY01pbl8wMWcw
MEQwMEUKKyAgICAxMjY3LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFjMjBEMDBECisgICAgMTI2OCwg
IC8vIGFic18wMEQKKyAgICAxMjcwLCAgLy8gYWJzXzAwQworICAgIDEyNzEsICAvLyBhYnNfMDBC
CisgICAgMTI3MywgIC8vIHRleHR1cmVMb2RfMDBSMTBCMDBCCisgICAgMTI3NSwgIC8vIGRGZHhD
b2Fyc2VfMTBCCisgICAgMTI3NiwgIC8vIHRleHR1cmUxRF8wMGcwMEIKKyAgICAxMjc3LCAgLy8g
ZnJleHBfMTBDMTBECisgICAgMTI3OCwgIC8vIGltYWdlQXRvbWljQWRkXzAxZzAwRDAwRQorICAg
IDEyNzksICAvLyB0ZXh0dXJlMkRMb2RfMDBJMTBCMDBCCisgICAgMTI4MSwgIC8vIHRleHR1cmVQ
cm9qR3JhZE9mZnNldF8wMFgyMEIxMEIxMEIxMEQKKyAgICAxMjgzLCAgLy8gaW1hZ2VBdG9taWNN
YXhfMDFaMTBEMDBECisgICAgMTI4NCwgIC8vIGdsX01heENvbXB1dGVBdG9taWNDb3VudGVycwor
ICAgIDEyODYsICAvLyByb3VuZF8yMEMKKyAgICAxMjg3LCAgLy8gRW5kUHJpbWl0aXZlXworICAg
IDEyODksICAvLyBzdGVwXzAwQjMwQgorICAgIDEyOTEsICAvLyByb3VuZF8yMEIKKyAgICAxMjkz
LCAgLy8gZXF1YWxfMzBFMzBFCisgICAgMTI5NSwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFS
MTBEMDBEMDBFMDBFCisgICAgMTI5NiwgIC8vIHN0ZXBfMDBDMjBDCisgICAgMTI5NywgIC8vIGRv
dF8wMEMwMEMKKyAgICAxMjk4LCAgLy8gbWF4XzMwQzMwQworICAgIDEyOTksICAvLyBhdG9taWNP
cl8wMEQwMEQKKyAgICAxMzAxLCAgLy8gdGV4dHVyZTJEUHJval8wME0yMEIKKyAgICAxMzAyLCAg
Ly8gbm90RXF1YWxfMTBEMTBECisgICAgMTMwNCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFa
MTBEMDBECisgICAgMTMwNSwgIC8vIHRleHR1cmVTaXplXzAwVgorICAgIDEzMDgsICAvLyBpbWFn
ZUF0b21pY0FuZF8wMWgwMEQwMEQKKyAgICAxMzA5LCAgLy8gbWluXzIwQzAwQworICAgIDEzMTAs
ICAvLyBpbWFnZUF0b21pY0FkZF8wMUcyMEQwMEUKKyAgICAxMzExLCAgLy8gaW1hZ2VBdG9taWNB
ZGRfMDFHMjBEMDBECisgICAgMTMxMiwgIC8vIGZpbmRMU0JfMzBECisgICAgMTMxNCwgIC8vIGZp
bmRMU0JfMzBFCisgICAgMTMxNiwgIC8vIHRleHR1cmVQcm9qXzAwWDIwQjAwQgorICAgIDEzMTgs
ICAvLyBzaGFkb3cyRF8wMGQyMEIKKyAgICAxMzE5LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8w
MFUyMEIxMEQKKyAgICAxMzIxLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMVoxMEQwMEUKKyAg
ICAxMzIyLCAgLy8gZmFjZWZvcndhcmRfMTBCMTBCMTBCCisgICAgMTMyNCwgIC8vIGltYWdlQXRv
bWljQW5kXzAxaDAwRDAwRQorICAgIDEzMjUsICAvLyBtaW5fMTBEMDBECisgICAgMTMyNywgIC8v
IGltYWdlQXRvbWljQ29tcFN3YXBfMDFKMjBEMDBEMDBECisgICAgMTMyOCwgIC8vIGFsbF8yMEYK
KyAgICAxMzMwLCAgLy8gaW1hZ2VTaXplXzAxSgorICAgIDEzMzIsICAvLyBpbWFnZVNpemVfMDFL
CisgICAgMTMzNCwgIC8vIGltYWdlU2l6ZV8wMUgKKyAgICAxMzM2LCAgLy8gaW1hZ2VTaXplXzAx
SQorICAgIDEzMzgsICAvLyBwYWNrSGFsZjJ4MTZfMTBCCisgICAgMTM0MCwgIC8vIHRleHR1cmVQ
cm9qXzAwSTIwQjAwQgorICAgIDEzNDIsICAvLyBpbWFnZVNpemVfMDFMCisgICAgMTM0MywgIC8v
IGltYWdlU2l6ZV8wMU0KKyAgICAxMzQ0LCAgLy8gaW1hZ2VTaXplXzAxQgorICAgIDEzNDYsICAv
LyBpbWFnZVNpemVfMDFDCisgICAgMTM0OCwgIC8vIHRleGVsRmV0Y2hfMDByMDBECisgICAgMTM0
OSwgIC8vIGltYWdlU2l6ZV8wMUYKKyAgICAxMzUxLCAgLy8gaW1hZ2VTaXplXzAxRworICAgIDEz
NTMsICAvLyBpbWFnZVNpemVfMDFECisgICAgMTM1NSwgIC8vIGltYWdlU2l6ZV8wMUUKKyAgICAx
MzU3LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUwwMEQwMEIKKyAgICAxMzU4LCAgLy8gaW1h
Z2VBdG9taWNFeGNoYW5nZV8wMUwwMEQwMEUKKyAgICAxMzU5LCAgLy8gdGV4ZWxGZXRjaF8wMFgx
MEQwMEQKKyAgICAxMzYxLCAgLy8gbm90RXF1YWxfMzBGMzBGCisgICAgMTM2MywgIC8vIGltYWdl
U2l6ZV8wMVIKKyAgICAxMzY0LCAgLy8gaW1hZ2VTaXplXzAxUworICAgIDEzNjUsICAvLyBpbWFn
ZVNpemVfMDFQCisgICAgMTM2NiwgIC8vIGltYWdlU2l6ZV8wMVEKKyAgICAxMzY3LCAgLy8gaW1h
Z2VTaXplXzAxVgorICAgIDEzNjgsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBnMDBCCisgICAgMTM2
OSwgIC8vIGltYWdlU2l6ZV8wMVQKKyAgICAxMzcwLCAgLy8gaW1hZ2VTaXplXzAxVQorICAgIDEz
NzEsICAvLyBpbWFnZVNpemVfMDFoCisgICAgMTM3MiwgIC8vIGltYWdlU2l6ZV8wMWkKKyAgICAx
MzczLCAgLy8gZnJhY3RfMjBDCisgICAgMTM3NCwgIC8vIGZyYWN0XzIwQgorICAgIDEzNzYsICAv
LyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwWDEwQjEwRAorICAgIDEzNzgsICAvLyBpbWFnZVNpemVf
MDFjCisgICAgMTM3OSwgIC8vIGltYWdlU3RvcmVfMDFSMTBEMDBEMzBCCisgICAgMTM4MCwgIC8v
IGltYWdlU2l6ZV8wMWEKKyAgICAxMzgxLCAgLy8gaW1hZ2VTaXplXzAxZgorICAgIDEzODIsICAv
LyB0ZXh0dXJlMkRQcm9qR3JhZEVYVF8wMEkyMEIxMEIxMEIKKyAgICAxMzgzLCAgLy8gaW1hZ2VT
aXplXzAxZAorICAgIDEzODQsICAvLyB0ZXh0dXJlTG9kXzAwUzIwQjAwQgorICAgIDEzODYsICAv
LyBzdGVwXzMwQzMwQworICAgIDEzODcsICAvLyBpbWFnZUF0b21pY01pbl8wMUoyMEQwMEQKKyAg
ICAxMzg4LCAgLy8gZ2xfRnJhZ0RlcHRoCisgICAgMTM5MCwgIC8vIHRleHR1cmVHYXRoZXJfMDB4
MzBCCisgICAgMTM5MSwgIC8vIG1peF8zMEIzMEIzMEYKKyAgICAxMzkzLCAgLy8gbWl4XzMwQjMw
QjMwQgorICAgIDEzOTUsICAvLyB0ZXh0dXJlR2F0aGVyXzAwWjIwQjAwRAorICAgIDEzOTcsICAv
LyBpbWFnZUF0b21pY0FuZF8wMVoxMEQwMEUKKyAgICAxMzk4LCAgLy8gaW1hZ2VBdG9taWNBbmRf
MDFaMTBEMDBECisgICAgMTM5OSwgIC8vIGltYWdlU3RvcmVfMDFFMjBEMzBFCisgICAgMTQwMSwg
IC8vIHNxcnRfMzBDCisgICAgMTQwMiwgIC8vIHNxcnRfMzBCCisgICAgMTQwNCwgIC8vIGV4cF8w
MEIKKyAgICAxNDA2LCAgLy8gbWF4XzMwRDMwRAorICAgIDE0MDgsICAvLyBnbF9NYXhHZW9tZXRy
eVRleHR1cmVJbWFnZVVuaXRzCisgICAgMTQwOSwgIC8vIGludGVycG9sYXRlQXRDZW50cm9pZF8x
MEIKKyAgICAxNDEwLCAgLy8gdGV4dHVyZV8wMHExMEIKKyAgICAxNDExLCAgLy8gdGV4dHVyZVNp
emVfMDBNMDBECisgICAgMTQxMiwgIC8vIHRleHR1cmVTYW1wbGVzXzAwYworICAgIDE0MTMsICAv
LyBhbmdsZV9CYXNlSW5zdGFuY2UKKyAgICAxNDE0LCAgLy8gbWl4XzEwRjEwRjEwRgorICAgIDE0
MTYsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMFUyMEIxMEIxMEIxMEQKKyAgICAxNDE4LCAgLy8g
Z2xfUG9zaXRpb24KKyAgICAxNDIxLCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBPMTBCMTBCMTBC
MTBECisgICAgMTQyMiwgIC8vIHRleHR1cmVQcm9qXzAwTTMwQgorICAgIDE0MjMsICAvLyB0ZXh0
dXJlR3JhZE9mZnNldF8wMEwyMEIxMEIxMEIxMEQKKyAgICAxNDI1LCAgLy8gaW1hZ2VBdG9taWNF
eGNoYW5nZV8wMVYyMEQwMEQwMEQKKyAgICAxNDI2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8w
MUoyMEQwMEIKKyAgICAxNDI3LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUoyMEQwMEUKKyAg
ICAxNDI4LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUoyMEQwMEQKKyAgICAxNDI5LCAgLy8g
dGV4dHVyZVF1ZXJ5TG9kXzAwbDIwQgorICAgIDE0MzAsICAvLyBpbWFnZUF0b21pY09yXzAxTTAw
RDAwRQorICAgIDE0MzEsICAvLyBkb3RfMjBCMjBCCisgICAgMTQzMywgIC8vIHRleHR1cmVQcm9q
R3JhZF8wMHYyMEIxMEIxMEIKKyAgICAxNDM0LCAgLy8gdGV4dHVyZVByb2pMb2RfMDBTMzBCMDBC
CisgICAgMTQzNiwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMFIyMEIxMEIxMEIKKyAgICAxNDM4LCAg
Ly8gaW1hZ2VBdG9taWNBbmRfMDFpMDBEMDBFCisgICAgMTQzOSwgIC8vIGltYWdlQXRvbWljQW5k
XzAxaTAwRDAwRAorICAgIDE0NDAsICAvLyBpbWFnZUF0b21pY01heF8wMHoxMEQwMEUKKyAgICAx
NDQxLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDB6MTBEMDBECisgICAgMTQ0MiwgIC8vIG5vcm1hbGl6
ZV8zMEMKKyAgICAxNDQzLCAgLy8gbm9ybWFsaXplXzMwQgorICAgIDE0NDUsICAvLyB0ZXh0dXJl
T2Zmc2V0XzAwTzEwQjEwRAorICAgIDE0NDYsICAvLyB0ZXh0dXJlUHJvakdyYWRfMDBJMjBCMTBC
MTBCCisgICAgMTQ0OCwgIC8vIHRleHR1cmVHYXRoZXJfMDBlMjBCCisgICAgMTQ0OSwgIC8vIGlt
YWdlQXRvbWljTWF4XzAxVjIwRDAwRDAwRQorICAgIDE0NTAsICAvLyB0ZXh0dXJlMkRfMDBNMTBC
CisgICAgMTQ1MSwgIC8vIGltYWdlQXRvbWljQWRkXzAxYTIwRDAwRQorICAgIDE0NTIsICAvLyBm
d2lkdGhGaW5lXzMwQgorICAgIDE0NTMsICAvLyB0ZXh0dXJlR2F0aGVyXzAwSzIwQjAwRAorICAg
IDE0NTUsICAvLyB0ZXh0dXJlQ3ViZUxvZEVYVF8wMEsyMEIwMEIKKyAgICAxNDU2LCAgLy8gdGV4
dHVyZUdhdGhlcl8wMFQyMEIwMEQKKyAgICAxNDU4LCAgLy8gdGV4dHVyZVByb2pfMDBOMjBCCisg
ICAgMTQ1OSwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMEkxMEIKKyAgICAxNDYwLCAgLy8gaW1hZ2VB
dG9taWNDb21wU3dhcF8wMUExMEQwMEUwMEUKKyAgICAxNDYxLCAgLy8gZEZkeUZpbmVfMTBCCisg
ICAgMTQ2MiwgIC8vIG1vZGZfMTBDMTBDCisgICAgMTQ2MywgIC8vIGltYWdlQXRvbWljTWF4XzAx
RTIwRDAwRAorICAgIDE0NjQsICAvLyBpbWFnZUF0b21pY01heF8wMUUyMEQwMEUKKyAgICAxNDY1
LCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBYMzBCMDBCMTBECisgICAgMTQ2NywgIC8vIGlt
YWdlU3RvcmVfMDFXMjBEMDBEMzBFCisgICAgMTQ2OCwgIC8vIHRleHR1cmVQcm9qTG9kXzAwbTMw
QjAwQgorICAgIDE0NjksICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMGczMEIwMEQwMEIKKyAgICAx
NDcwLCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMFUyMEQwMEQxMEQKKyAgICAxNDcyLCAgLy8gaW1h
Z2VBdG9taWNDb21wU3dhcF8wMHoxMEQwMEUwMEUKKyAgICAxNDczLCAgLy8gaW1hZ2VBdG9taWNN
aW5fMDFEMjBEMDBFCisgICAgMTQ3NCwgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMHEzMEIx
MEIxMEIxMEQKKyAgICAxNDc1LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBkMjBCMTBCMTBCMTBE
CisgICAgMTQ3NywgIC8vIGZ3aWR0aENvYXJzZV8yMEIKKyAgICAxNDc4LCAgLy8gaW1hZ2VBdG9t
aWNDb21wU3dhcF8wMU4wMEQwMEUwMEUKKyAgICAxNDc5LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRf
MDBkMzBCMTBECisgICAgMTQ4MSwgIC8vIGltYWdlQXRvbWljT3JfMDFUMTBEMDBEMDBFCisgICAg
MTQ4MiwgIC8vIGltYWdlQXRvbWljT3JfMDFUMTBEMDBEMDBECisgICAgMTQ4MywgIC8vIGVxdWFs
XzIwRjIwRgorICAgIDE0ODUsICAvLyBtaXhfMjBDMjBDMDBDCisgICAgMTQ4NiwgIC8vIHVzdWJC
b3Jyb3dfMTBFMTBFMTBFCisgICAgMTQ4OCwgIC8vIGVxdWFsXzEwQjEwQgorICAgIDE0OTAsICAv
LyB0ZXh0dXJlTG9kT2Zmc2V0XzAwVTIwQjAwQjEwRAorICAgIDE0OTIsICAvLyBpc25hbl8xMEMK
KyAgICAxNDkzLCAgLy8gaXNuYW5fMTBCCisgICAgMTQ5NSwgIC8vIGltYWdlQXRvbWljTWluXzAx
SDIwRDAwRAorICAgIDE0OTYsICAvLyBpbWFnZUF0b21pY1hvcl8wMUExMEQwMEQKKyAgICAxNDk3
LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFBMTBEMDBFCisgICAgMTQ5OCwgIC8vIGltYWdlQXRvbWlj
Q29tcFN3YXBfMDFDMjBEMDBEMDBECisgICAgMTQ5OSwgIC8vIHRleHR1cmVHcmFkXzAwUjAwQjAw
QjAwQgorICAgIDE1MDAsICAvLyBhdG9taWNNaW5fMDBEMDBECisgICAgMTUwMiwgIC8vIHRleHR1
cmVTaXplXzAwWDAwRAorICAgIDE1MDQsICAvLyBncmVhdGVyVGhhbl8xMEIxMEIKKyAgICAxNTA2
LCAgLy8gbWl4XzAwQzAwQzAwQworICAgIDE1MDcsICAvLyBub2lzZTFfMjBCCisgICAgMTUwOCwg
IC8vIGNsYW1wXzMwRDAwRDAwRAorICAgIDE1MTAsICAvLyBtaXhfMjBFMjBFMjBGCisgICAgMTUx
MiwgIC8vIGZsb2F0Qml0c1RvSW50XzEwQgorICAgIDE1MTQsICAvLyB0ZXh0dXJlUHJvak9mZnNl
dF8wMFIzMEIxMEQwMEIKKyAgICAxNTE2LCAgLy8gdGV4dHVyZUdhdGhlcl8wMFUyMEIwMEQKKyAg
ICAxNTE4LCAgLy8gZmxvYXRCaXRzVG9JbnRfMDBCCisgICAgMTUyMCwgIC8vIGltYWdlTG9hZF8w
MWEyMEQKKyAgICAxNTIxLCAgLy8gZmxvYXRCaXRzVG9VaW50XzAwQgorICAgIDE1MjMsICAvLyBt
aW5fMzBDMzBDCisgICAgMTUyNCwgIC8vIHRleHR1cmVTYW1wbGVzXzAwUQorICAgIDE1MjUsICAv
LyB0ZXh0dXJlR3JhZE9mZnNldF8wMGkyMEIwMEIwMEIwMEQKKyAgICAxNTI2LCAgLy8gaW1hZ2VB
dG9taWNYb3JfMDB6MTBEMDBECisgICAgMTUyNywgIC8vIHRleHR1cmUyRFJlY3RQcm9qXzAwTzIw
QgorICAgIDE1MjgsICAvLyBtb2RmXzIwQzIwQworICAgIDE1MjksICAvLyB0YW5fMjBCCisgICAg
MTUzMSwgIC8vIGZsb29yXzAwQworICAgIDE1MzIsICAvLyBmbG9vcl8wMEIKKyAgICAxNTM0LCAg
Ly8gaW1hZ2VBdG9taWNNYXhfMDFPMTBEMDBFCisgICAgMTUzNSwgIC8vIGltYWdlQXRvbWljTWF4
XzAxTzEwRDAwRAorICAgIDE1MzYsICAvLyBtb2RfMzBDMzBDCisgICAgMTUzNywgIC8vIGdsX0Ry
YXdJRAorICAgIDE1MzgsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwdDAwQjAwRAorICAgIDE1MzksICAv
LyB0ZXh0dXJlM0RMb2RfMDBKMjBCMDBCCisgICAgMTU0MSwgIC8vIGltYWdlTG9hZF8wMVExMEQK
KyAgICAxNTQyLCAgLy8gdGV4dHVyZV8wMFIxMEIwMEIKKyAgICAxNTQ0LCAgLy8gaW1hZ2VTdG9y
ZV8wMVkxMEQzMEQKKyAgICAxNTQ1LCAgLy8gbW9kZl8wMEIwMEIKKyAgICAxNTQ3LCAgLy8gbm90
RXF1YWxfMjBEMjBECisgICAgMTU0OSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFSMTBEMDBE
MDBFCisgICAgMTU1MCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFSMTBEMDBEMDBECisgICAg
MTU1MSwgIC8vIGxkZXhwXzEwQzEwRAorICAgIDE1NTIsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdl
XzAxRjIwRDAwRQorICAgIDE1NTMsICAvLyBkZXRlcm1pbmFudF9BMEIKKyAgICAxNTU0LCAgLy8g
aW1hZ2VBdG9taWNFeGNoYW5nZV8wMWkwMEQwMEQKKyAgICAxNTU1LCAgLy8gdGV4dHVyZUxvZE9m
ZnNldF8wMGkyMEIwMEIwMEQKKyAgICAxNTU2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMWkw
MEQwMEIKKyAgICAxNTU3LCAgLy8gc2hhZG93MURMb2RfMDBtMjBCMDBCCisgICAgMTU1OCwgIC8v
IGltYWdlQXRvbWljT3JfMDFJMjBEMDBFCisgICAgMTU1OSwgIC8vIGRpc3RhbmNlXzAwQzAwQwor
ICAgIDE1NjAsICAvLyBpc25hbl8zMEIKKyAgICAxNTYyLCAgLy8gdGV4dHVyZVByb2pPZmZzZXRf
MDBvMzBCMDBECisgICAgMTU2MywgIC8vIGxlc3NUaGFuRXF1YWxfMzBEMzBECisgICAgMTU2NSwg
IC8vIHRleHR1cmVQcm9qXzAwTTMwQjAwQgorICAgIDE1NjYsICAvLyB0ZXh0dXJlMkRQcm9qXzAw
TTMwQgorICAgIDE1NjcsICAvLyBhdG9taWNDb3VudGVyTWF4XzAwRzAwRQorICAgIDE1NjgsICAv
LyBhdG9taWNDb3VudGVyRXhjaGFuZ2VfMDBHMDBFCisgICAgMTU2OSwgIC8vIHRleHR1cmVHcmFk
XzAwSTEwQjEwQjEwQgorICAgIDE1NzEsICAvLyBzdGVwXzAwQjIwQgorICAgIDE1NzMsICAvLyB0
ZXh0dXJlMkRQcm9qTG9kXzAwSTIwQjAwQgorICAgIDE1NzUsICAvLyBzdGVwXzAwQzMwQworICAg
IDE1NzYsICAvLyB5dXZfMl9yZ2JfMjBCMDBICisgICAgMTU3NywgIC8vIHRleGVsRmV0Y2hfMDBi
MTBEMDBECisgICAgMTU4MCwgIC8vIHRleHR1cmVQcm9qXzAwSjMwQjAwQgorICAgIDE1ODIsICAv
LyB0ZXh0dXJlR2F0aGVyXzAwUjEwQgorICAgIDE1ODQsICAvLyBpbWFnZUF0b21pY0NvbXBTd2Fw
XzAxYzIwRDAwRDAwRAorICAgIDE1ODUsICAvLyBpbWFnZUF0b21pY09yXzAxVjIwRDAwRDAwRAor
ICAgIDE1ODYsICAvLyBpbWFnZUF0b21pY09yXzAxVjIwRDAwRDAwRQorICAgIDE1ODcsICAvLyBp
bWFnZUF0b21pY0V4Y2hhbmdlXzAxUDEwRDAwRAorICAgIDE1ODgsICAvLyBpbWFnZUxvYWRfMDFM
MDBECisgICAgMTU4OSwgIC8vIG1pbl8xMEQxMEQKKyAgICAxNTkxLCAgLy8gYWxsXzMwRgorICAg
IDE1OTMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxUDEwRDAwRQorICAgIDE1OTQsICAvLyBp
bWFnZUF0b21pY0FuZF8wMVMxMEQwMEQwMEUKKyAgICAxNTk1LCAgLy8gaW1hZ2VBdG9taWNBbmRf
MDFTMTBEMDBEMDBECisgICAgMTU5NiwgIC8vIGFuZ2xlX0Jhc2VWZXJ0ZXgKKyAgICAxNTk3LCAg
Ly8gYml0ZmllbGRSZXZlcnNlXzIwRAorICAgIDE1OTksICAvLyBiaXRmaWVsZFJldmVyc2VfMjBF
CisgICAgMTYwMSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFJMjBEMDBECisgICAgMTYwMiwg
IC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFJMjBEMDBFCisgICAgMTYwMywgIC8vIGltYWdlQXRv
bWljRXhjaGFuZ2VfMDFJMjBEMDBCCisgICAgMTYwNCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2Vf
MDFjMjBEMDBFCisgICAgMTYwNSwgIC8vIGdsX01heEdlb21ldHJ5SW5wdXRDb21wb25lbnRzCisg
ICAgMTYwNiwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwWDEwQjEwRHg0CisgICAgMTYwOSwg
IC8vIHRleHR1cmVfMDB1MjBCCisgICAgMTYxMCwgIC8vIHRleHR1cmVHYXRoZXJfMDB2MjBCCisg
ICAgMTYxMSwgIC8vIGZyYWN0XzEwQgorICAgIDE2MTMsICAvLyBmcmFjdF8xMEMKKyAgICAxNjE0
LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wME8xMEIxMEQwMEQKKyAgICAxNjE1LCAgLy8gdGV4
dHVyZVF1ZXJ5TG9kXzAwSzIwQgorICAgIDE2MTYsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwSTEw
QjAwQjEwRAorICAgIDE2MTgsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxUzEwRDAwRDAwRTAw
RQorICAgIDE2MTksICAvLyBpbWFnZUF0b21pY1hvcl8wMWMyMEQwMEUKKyAgICAxNjIwLCAgLy8g
aW1hZ2VBdG9taWNYb3JfMDFjMjBEMDBECisgICAgMTYyMSwgIC8vIHRleHR1cmVPZmZzZXRfMDBV
MjBCMTBECisgICAgMTYyMywgIC8vIG1pbl8zMEIwMEIKKyAgICAxNjI1LCAgLy8gYXRvbWljQW5k
XzAwRDAwRAorICAgIDE2MjcsICAvLyBleHBfMTBCCisgICAgMTYyOSwgIC8vIHRleHR1cmVPZmZz
ZXRfMDBuMjBCMTBECisgICAgMTYzMCwgIC8vIGJpdENvdW50XzMwRAorICAgIDE2MzIsICAvLyB1
bnBhY2tVbm9ybTJ4MTZfMDBFCisgICAgMTYzNCwgIC8vIHNxcnRfMjBCCisgICAgMTYzNiwgIC8v
IHNxcnRfMjBDCisgICAgMTYzNywgIC8vIHRleHR1cmVHcmFkXzAwTDIwQjEwQjEwQgorICAgIDE2
MzksICAvLyBpbnRlcnBvbGF0ZUF0Q2VudHJvaWRfMDBCCisgICAgMTY0MCwgIC8vIHRleHR1cmVT
aXplXzAwbzAwRAorICAgIDE2NDEsICAvLyBnbF9NYXhJbWFnZVVuaXRzCisgICAgMTY0MywgIC8v
IHRleHR1cmVQcm9qR3JhZF8wMG8zMEIwMEIwMEIKKyAgICAxNjQ0LCAgLy8gaW1hZ2VBdG9taWNP
cl8wMVExMEQwMEQKKyAgICAxNjQ1LCAgLy8gcGFja1Vub3JtNHg4XzMwQgorICAgIDE2NDcsICAv
LyBpbWFnZUF0b21pY01heF8wMVExMEQwMEUKKyAgICAxNjQ4LCAgLy8gdGV4ZWxGZXRjaF8wMFAx
MEQwMEQKKyAgICAxNjUxLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMWkwMEQwMEQwMEQKKyAg
ICAxNjUyLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBkMTBCMDBCMTBEeDQKKyAgICAxNjU1
LCAgLy8gdGV4dHVyZV8wME8xMEIKKyAgICAxNjU3LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFNMDBE
MDBECisgICAgMTY1OCwgIC8vIGltYWdlQXRvbWljTWluXzAxTTAwRDAwRQorICAgIDE2NTksICAv
LyB0ZXh0dXJlXzAwZTMwQjAwQgorICAgIDE2NjEsICAvLyBpbWFnZUF0b21pY01pbl8wMU8xMEQw
MEUKKyAgICAxNjYyLCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFPMTBEMDBECisgICAgMTY2MywgIC8v
IGdsX0ZyYWdDb29yZAorICAgIDE2NjUsICAvLyBpbWFnZUF0b21pY01heF8wMVExMEQwMEQKKyAg
ICAxNjY2LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFYMTBEMDBECisgICAgMTY2NywgIC8vIHRleHR1
cmVHcmFkXzAwdTEwQjAwQjAwQgorICAgIDE2NjgsICAvLyBmd2lkdGhGaW5lXzIwQgorICAgIDE2
NjksICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBvMDBCCisgICAgMTY3MCwgIC8vIGltYWdlQXRvbWlj
QW5kXzAxRTIwRDAwRQorICAgIDE2NzEsICAvLyBpbWFnZUF0b21pY0FuZF8wMUUyMEQwMEQKKyAg
ICAxNjcyLCAgLy8gbm9ybWFsaXplXzAwQgorICAgIDE2NzQsICAvLyBub3JtYWxpemVfMDBDCisg
ICAgMTY3NSwgIC8vIGNsYW1wXzEwQzAwQzAwQworICAgIDE2NzYsICAvLyBpbWFnZUF0b21pY09y
XzAxQTEwRDAwRQorICAgIDE2NzcsICAvLyBpbWFnZUF0b21pY09yXzAxQTEwRDAwRAorICAgIDE2
NzgsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxUTEwRDAwRTAwRQorICAgIDE2NzksICAvLyBh
dG9taWNNYXhfMDBEMDBECisgICAgMTY4MSwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMG0zMEIwMEIw
MEIKKyAgICAxNjgyLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFSMTBEMDBEMDBFCisgICAgMTY4Mywg
IC8vIGZsb2F0Qml0c1RvVWludF8xMEIKKyAgICAxNjg1LCAgLy8gdGV4dHVyZUxvZF8wMEoyMEIw
MEIKKyAgICAxNjg3LCAgLy8gdGV4dHVyZUdyYWRfMDBPMTBCMTBCMTBCCisgICAgMTY4OCwgIC8v
IGRGZHlGaW5lXzIwQgorICAgIDE2ODksICAvLyBpbWFnZUxvYWRfMDFXMjBEMDBECisgICAgMTY5
MCwgIC8vIHRleHR1cmVTaXplXzAwSTAwRAorICAgIDE2OTIsICAvLyBnbF9NYXhDb21wdXRlV29y
a0dyb3VwU2l6ZQorICAgIDE2OTQsICAvLyB0ZXhlbEZldGNoT2Zmc2V0XzAwUjEwRDAwRDEwRAor
ICAgIDE2OTYsICAvLyBkRmR4RmluZV8xMEIKKyAgICAxNjk3LCAgLy8gaW1hZ2VBdG9taWNFeGNo
YW5nZV8wMUQyMEQwMEQKKyAgICAxNjk4LCAgLy8gdGV4dHVyZUxvZE9mZnNldF8wMFgxMEIwMEIx
MEQKKyAgICAxNzAwLCAgLy8gdGV4dHVyZV8wMFQyMEIwMEIKKyAgICAxNzAyLCAgLy8gbG9nXzMw
QgorICAgIDE3MDQsICAvLyBub3RFcXVhbF8yMEYyMEYKKyAgICAxNzA2LCAgLy8gYWxsSW52b2Nh
dGlvbnNFcXVhbF8wMEYKKyAgICAxNzA3LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFLMjBEMDBECisg
ICAgMTcwOCwgIC8vIGltYWdlQXRvbWljTWF4XzAxSzIwRDAwRQorICAgIDE3MDksICAvLyBkRmR5
Q29hcnNlXzMwQgorICAgIDE3MTAsICAvLyB0ZXh0dXJlUHJvakxvZF8wMFIyMEIwMEIKKyAgICAx
NzEyLCAgLy8gbm90RXF1YWxfMzBEMzBECisgICAgMTcxNCwgIC8vIGZ3aWR0aENvYXJzZV8zMEIK
KyAgICAxNzE1LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMjBCMTBECisgICAgMTcxNywgIC8v
IHRleHR1cmVRdWVyeUxldmVsc18wMGwKKyAgICAxNzE4LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxz
XzAwbQorICAgIDE3MTksICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBvCisgICAgMTcyMCwgIC8v
IHRleHR1cmVRdWVyeUxldmVsc18wMGgKKyAgICAxNzIxLCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxz
XzAwaQorICAgIDE3MjIsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBrCisgICAgMTcyMywgIC8v
IHRleHR1cmVRdWVyeUxldmVsc18wMGQKKyAgICAxNzI0LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxz
XzAwZQorICAgIDE3MjUsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBmCisgICAgMTcyNiwgIC8v
IHRleHR1cmVRdWVyeUxldmVsc18wMGcKKyAgICAxNzI3LCAgLy8gZ2xfTWF4RHJhd0J1ZmZlcnMK
KyAgICAxNzI5LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwYQorICAgIDE3MzAsICAvLyBhdG9t
aWNDb3VudGVyTWluXzAwRzAwRQorICAgIDE3MzEsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMHUx
MEIwMEIwMEIwMEQKKyAgICAxNzMyLCAgLy8gZ2xfTWF4Q29tYmluZWRUZXh0dXJlSW1hZ2VVbml0
cworICAgIDE3MzQsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDB4CisgICAgMTczNSwgIC8vIHRl
eHR1cmVRdWVyeUxldmVsc18wMHQKKyAgICAxNzM2LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAw
dQorICAgIDE3MzcsICAvLyBpbWFnZUF0b21pY01pbl8wMUsyMEQwMEQKKyAgICAxNzM4LCAgLy8g
aW11bEV4dGVuZGVkXzIwRDIwRDIwRDIwRAorICAgIDE3NDAsICAvLyBhbnlfMzBGCisgICAgMTc0
MiwgIC8vIGRpc3RhbmNlXzMwQjMwQgorICAgIDE3NDQsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNf
MDBzCisgICAgMTc0NSwgIC8vIHRleHR1cmVRdWVyeUxldmVsc18wMEwKKyAgICAxNzQ2LCAgLy8g
dGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwSQorICAgIDE3NDcsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNf
MDBKCisgICAgMTc0OCwgIC8vIHRleHR1cmVRdWVyeUxldmVsc18wMEsKKyAgICAxNzQ5LCAgLy8g
aW1hZ2VBdG9taWNFeGNoYW5nZV8wMUwwMEQwMEQKKyAgICAxNzUwLCAgLy8gdGV4dHVyZTNEXzAw
SjIwQjAwQgorICAgIDE3NTIsICAvLyB0ZXh0dXJlMURMb2RfMDBnMDBCMDBCCisgICAgMTc1Mywg
IC8vIHRleHR1cmVRdWVyeUxldmVsc18wMFgKKyAgICAxNzU0LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2
ZWxzXzAwWQorICAgIDE3NTUsICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBaCisgICAgMTc1Niwg
IC8vIGRvdF8zMEIzMEIKKyAgICAxNzU4LCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwVAorICAg
IDE3NTksICAvLyB0ZXh0dXJlUXVlcnlMZXZlbHNfMDBVCisgICAgMTc2MCwgIC8vIHRleHR1cmVR
dWVyeUxldmVsc18wMFIKKyAgICAxNzYxLCAgLy8gdGV4dHVyZVF1ZXJ5TGV2ZWxzXzAwUworICAg
IDE3NjIsICAvLyBnbF9NYXhUZXh0dXJlSW1hZ2VVbml0cworICAgIDE3NjQsICAvLyB1c3ViQm9y
cm93XzIwRTIwRTIwRQorICAgIDE3NjYsICAvLyB0ZXh0dXJlUHJval8wMHQzMEIwMEIKKyAgICAx
NzY3LCAgLy8gc2hhZG93MURQcm9qXzAwbTMwQjAwQgorICAgIDE3NjgsICAvLyBjbGFtcF8zMEIw
MEIwMEIKKyAgICAxNzcwLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBPMTBCMTBEeDQKKyAg
ICAxNzcxLCAgLy8gdGV4dHVyZTJEUmVjdFByb2pfMDBPMzBCCisgICAgMTc3MiwgIC8vIG1heF8x
MEQwMEQKKyAgICAxNzc0LCAgLy8gdGV4dHVyZUdyYWRPZmZzZXRfMDBuMjBCMTBCMTBCMTBECisg
ICAgMTc3NSwgIC8vIGNsYW1wXzAwRDAwRDAwRAorICAgIDE3NzcsICAvLyBmbG9vcl8zMEIKKyAg
ICAxNzc5LCAgLy8gZmxvb3JfMzBDCisgICAgMTc4MCwgIC8vIGltYWdlU3RvcmVfMDFQMTBEMzBE
CisgICAgMTc4MSwgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMFMzMEIyMEIyMEIyMEQKKyAg
ICAxNzgzLCAgLy8gcmVmbGVjdF8zMEMzMEMKKyAgICAxNzg0LCAgLy8gZ2xfUG9pbnRDb29yZAor
ICAgIDE3ODYsICAvLyBpbWFnZUF0b21pY09yXzAxRDIwRDAwRQorICAgIDE3ODcsICAvLyB0ZXh0
dXJlR2F0aGVyT2Zmc2V0XzAwdjEwQjEwRAorICAgIDE3ODgsICAvLyBpbWFnZUF0b21pY09yXzAx
RDIwRDAwRAorICAgIDE3ODksICAvLyBpbWFnZVN0b3JlXzAxRjIwRDMwQgorICAgIDE3OTEsICAv
LyBwYWNrRG91YmxlMngzMl8xMEUKKyAgICAxNzkyLCAgLy8gY2xhbXBfMTBCMDBCMDBCCisgICAg
MTc5NCwgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBTMjBEMDBEMjBECisgICAgMTc5NiwgIC8vIGxl
c3NUaGFuXzEwRDEwRAorICAgIDE3OTgsICAvLyB0ZXh0dXJlU2l6ZV8wMGcwMEQKKyAgICAxNzk5
LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMFUyMEIxMEQwMEQKKyAgICAxODAxLCAgLy8gdGV4
dHVyZUdhdGhlck9mZnNldF8wMHExMEIxMEQwMEQKKyAgICAxODAyLCAgLy8gdGV4dHVyZUdhdGhl
cl8wMEkxMEIwMEQKKyAgICAxODA0LCAgLy8gdGV4dHVyZTFEUHJvakxvZF8wMGczMEIwMEIKKyAg
ICAxODA1LCAgLy8gdGV4ZWxGZXRjaF8wMFYxMEQwMEQKKyAgICAxODA4LCAgLy8gaW1hZ2VBdG9t
aWNFeGNoYW5nZV8wMWgwMEQwMEUKKyAgICAxODA5LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8w
MWgwMEQwMEQKKyAgICAxODEwLCAgLy8gYXRhbl8zMEIzMEIKKyAgICAxODEyLCAgLy8gaW1hZ2VB
dG9taWNFeGNoYW5nZV8wMWgwMEQwMEIKKyAgICAxODEzLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFh
MjBEMDBECisgICAgMTgxNCwgIC8vIGltYWdlQXRvbWljTWF4XzAxYTIwRDAwRQorICAgIDE4MTUs
ICAvLyB0ZXh0dXJlUHJvakxvZF8wMGczMEIwMEIKKyAgICAxODE2LCAgLy8gbWF4XzAwQjAwQgor
ICAgIDE4MTgsICAvLyBpbWFnZUF0b21pY09yXzAxSjIwRDAwRQorICAgIDE4MTksICAvLyBpbWFn
ZUF0b21pY09yXzAxSjIwRDAwRAorICAgIDE4MjAsICAvLyBpbWFnZUF0b21pY01heF8wMUYyMEQw
MEUKKyAgICAxODIxLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFGMjBEMDBECisgICAgMTgyMiwgIC8v
IGV4cDJfMjBCCisgICAgMTgyNCwgIC8vIHNtb290aHN0ZXBfMzBDMzBDMzBDCisgICAgMTgyNSwg
IC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDB6MTBEMDBCCisgICAgMTgyNiwgIC8vIGltYWdlQXRv
bWljRXhjaGFuZ2VfMDB6MTBEMDBFCisgICAgMTgyNywgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2Vf
MDB6MTBEMDBECisgICAgMTgyOCwgIC8vIHRleHR1cmVQcm9qXzAwcTIwQgorICAgIDE4MjksICAv
LyB0ZXh0dXJlUHJvakxvZF8wMHQxMEIwMEIKKyAgICAxODMwLCAgLy8gaW1hZ2VBdG9taWNNaW5f
MDFjMjBEMDBECisgICAgMTgzMSwgIC8vIGltYWdlQXRvbWljTWluXzAxYzIwRDAwRQorICAgIDE4
MzIsICAvLyB0ZXh0dXJlU2l6ZV8wMGswMEQKKyAgICAxODMzLCAgLy8gcmVmbGVjdF8yMEIyMEIK
KyAgICAxODM1LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFWMjBEMDBEMDBFCisgICAgMTgzNiwgIC8v
IGltYWdlQXRvbWljWG9yXzAxVjIwRDAwRDAwRAorICAgIDE4MzcsICAvLyBlcXVhbF8xMEYxMEYK
KyAgICAxODM5LCAgLy8gYWNvc18zMEIKKyAgICAxODQxLCAgLy8gdGV4dHVyZVZpZGVvV0VCR0xf
MDB5MTBCCisgICAgMTg0MywgIC8vIGRGZHhfMTBCCisgICAgMTg0NiwgIC8vIGJpdGZpZWxkUmV2
ZXJzZV8zMEUKKyAgICAxODQ4LCAgLy8gYml0ZmllbGRSZXZlcnNlXzMwRAorICAgIDE4NTAsICAv
LyBpbWFnZUF0b21pY09yXzAxWjEwRDAwRAorICAgIDE4NTEsICAvLyBpbWFnZUF0b21pY09yXzAx
WjEwRDAwRQorICAgIDE4NTIsICAvLyB0ZXh0dXJlMURQcm9qXzAwZzMwQgorICAgIDE4NTMsICAv
LyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMHYxMEIxMER4NDAwRAorICAgIDE4NTQsICAvLyBmcmFj
dF8wMEMKKyAgICAxODU1LCAgLy8gZnJhY3RfMDBCCisgICAgMTg1NywgIC8vIG1pbl8zMEUwMEUK
KyAgICAxODU5LCAgLy8gZ2xfTWluUHJvZ3JhbVRleGVsT2Zmc2V0CisgICAgMTg2MSwgIC8vIGlt
YWdlQXRvbWljT3JfMDFRMTBEMDBFCisgICAgMTg2MiwgIC8vIGludGVycG9sYXRlQXRPZmZzZXRf
MjBCMTBCCisgICAgMTg2MywgIC8vIGltYWdlQXRvbWljT3JfMDFjMjBEMDBECisgICAgMTg2NCwg
IC8vIGltYWdlQXRvbWljT3JfMDFjMjBEMDBFCisgICAgMTg2NSwgIC8vIHJlZmxlY3RfMzBCMzBC
CisgICAgMTg2NywgIC8vIGludGVycG9sYXRlQXRDZW50cm9pZF8zMEIKKyAgICAxODY4LCAgLy8g
dGV4dHVyZUdhdGhlcl8wMHMzMEIKKyAgICAxODY5LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFYMTBE
MDBFCisgICAgMTg3MCwgIC8vIGltYWdlQXRvbWljWG9yXzAxWDEwRDAwRAorICAgIDE4NzEsICAv
LyBtZW1vcnlCYXJyaWVyXworICAgIDE4NzMsICAvLyB0ZXh0dXJlMURfMDBnMDBCMDBCCisgICAg
MTg3NCwgIC8vIHBvd18wMEIwMEIKKyAgICAxODc2LCAgLy8gbW9kXzAwQjAwQgorICAgIDE4Nzgs
ICAvLyBmYWNlZm9yd2FyZF8zMEMzMEMzMEMKKyAgICAxODc5LCAgLy8gaW1hZ2VBdG9taWNFeGNo
YW5nZV8wMUsyMEQwMEQKKyAgICAxODgwLCAgLy8gcm91bmRFdmVuXzEwQgorICAgIDE4ODIsICAv
LyByb3VuZEV2ZW5fMTBDCisgICAgMTg4MywgIC8vIGF0YW5oXzMwQgorICAgIDE4ODUsICAvLyB0
ZXh0dXJlTG9kXzAwSzIwQjAwQgorICAgIDE4ODcsICAvLyBiaXRDb3VudF8yMEQKKyAgICAxODg5
LCAgLy8gYml0Q291bnRfMjBFCisgICAgMTg5MSwgIC8vIHRleGVsRmV0Y2hfMDBMMjBEMDBECisg
ICAgMTg5MywgIC8vIGRGZHhGaW5lXzAwQgorICAgIDE4OTQsICAvLyBpbWFnZUF0b21pY0FuZF8w
MUsyMEQwMEUKKyAgICAxODk1LCAgLy8gZGlzdGFuY2VfMjBCMjBCCisgICAgMTg5NywgIC8vIHRl
eHR1cmVHcmFkT2Zmc2V0XzAwcTEwQjEwQjEwQjEwRAorICAgIDE4OTgsICAvLyB1YWRkQ2Fycnlf
MzBFMzBFMzBFCisgICAgMTkwMCwgIC8vIHRleHR1cmVTaXplXzAwVTAwRAorICAgIDE5MDIsICAv
LyB0ZXh0dXJlUHJvak9mZnNldF8wMG8xMEIwMEQwMEIKKyAgICAxOTAzLCAgLy8gZ2xfTWF4Q29t
YmluZWRJbWFnZVVuaWZvcm1zCisgICAgMTkwNSwgIC8vIGF0b21pY0NvdW50ZXJYb3JfMDBHMDBF
CisgICAgMTkwNiwgIC8vIGltYWdlQXRvbWljT3JfMDFnMDBEMDBECisgICAgMTkwNywgIC8vIGlt
YWdlQXRvbWljT3JfMDFnMDBEMDBFCisgICAgMTkwOCwgIC8vIGdsX0dsb2JhbEludm9jYXRpb25J
RAorICAgIDE5MTAsICAvLyBnbF9Mb2NhbEludm9jYXRpb25JbmRleAorICAgIDE5MTIsICAvLyBn
bF9WZXJ0ZXhJRAorICAgIDE5MTQsICAvLyBpbWFnZUF0b21pY01pbl8wMUwwMEQwMEUKKyAgICAx
OTE1LCAgLy8gc21vb3Roc3RlcF8yMEMyMEMyMEMKKyAgICAxOTE2LCAgLy8gaW1hZ2VBdG9taWND
b21wU3dhcF8wMVUyMEQwMEQwMEQwMEQKKyAgICAxOTE3LCAgLy8gYXRvbWljT3JfMDBFMDBFCisg
ICAgMTkxOSwgIC8vIG1peF8xMEIxMEIxMEYKKyAgICAxOTIxLCAgLy8gcmVmbGVjdF8xMEMxMEMK
KyAgICAxOTIyLCAgLy8gbWl4XzEwQjEwQjEwQgorICAgIDE5MjQsICAvLyB0ZXh0dXJlUHJval8w
MFkzMEIwMEIKKyAgICAxOTI2LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFJMjBEMDBECisgICAgMTky
NywgIC8vIGltYWdlQXRvbWljTWF4XzAxSTIwRDAwRQorICAgIDE5MjgsICAvLyBmcmV4cF8yMEIy
MEQKKyAgICAxOTMwLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8wMEkxMEIxMEQwMEQKKyAgICAx
OTMyLCAgLy8gbm90RXF1YWxfMjBFMjBFCisgICAgMTkzNCwgIC8vIHRleHR1cmVMb2RPZmZzZXRf
MDBkMjBCMDBCMTBECisgICAgMTkzNiwgIC8vIGludmVyc2VfQTBCCisgICAgMTkzOCwgIC8vIHRl
eHR1cmVQcm9qR3JhZF8wMFgyMEIxMEIxMEIKKyAgICAxOTQwLCAgLy8gaW1hZ2VMb2FkXzAxSjIw
RAorICAgIDE5NDIsICAvLyB0ZXh0dXJlU2l6ZV8wMFkwMEQKKyAgICAxOTQ0LCAgLy8gYXRhbl8y
MEIyMEIKKyAgICAxOTQ2LCAgLy8gdXN1YkJvcnJvd18wMEUwMEUwMEUKKyAgICAxOTQ4LCAgLy8g
aW1hZ2VBdG9taWNYb3JfMDFNMDBEMDBFCisgICAgMTk0OSwgIC8vIHRleHR1cmVHYXRoZXJPZmZz
ZXRzXzAwTDIwQjEwRHg0MDBECisgICAgMTk1MiwgIC8vIGRGZHlGaW5lXzMwQgorICAgIDE5NTMs
ICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBzMjBCCisgICAgMTk1NCwgIC8vIHRleHR1cmVfMDB2MTBC
CisgICAgMTk1NSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAwVTIwQjEwRHg0CisgICAgMTk1
OCwgIC8vIHN1YnBhc3NMb2FkXzAxbjAwRAorICAgIDE5NTksICAvLyBpbWFnZUF0b21pY0NvbXBT
d2FwXzAxYzIwRDAwRTAwRQorICAgIDE5NjAsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMGcx
MEIwMEIwMEQKKyAgICAxOTYxLCAgLy8gc3RlcF8xMEMxMEMKKyAgICAxOTYyLCAgLy8gdGV4dHVy
ZVF1ZXJ5TG9kXzAweDIwQgorICAgIDE5NjMsICAvLyBmbWFfMTBCMTBCMTBCCisgICAgMTk2Niwg
IC8vIHNtb290aHN0ZXBfMDBCMDBCMTBCCisgICAgMTk2OCwgIC8vIGltYWdlQXRvbWljQ29tcFN3
YXBfMDFhMjBEMDBEMDBECisgICAgMTk2OSwgIC8vIGltYWdlU2l6ZV8wMU4KKyAgICAxOTcwLCAg
Ly8gdGV4dHVyZUxvZF8wMHUxMEIwMEIKKyAgICAxOTcxLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zm
c2V0XzAwbTMwQjAwQjAwQjAwRAorICAgIDE5NzIsICAvLyBmd2lkdGhDb2Fyc2VfMDBCCisgICAg
MTk3MywgIC8vIGRGZHlDb2Fyc2VfMjBCCisgICAgMTk3NCwgIC8vIHRleHR1cmVQcm9qR3JhZE9m
ZnNldF8wMG8zMEIwMEIwMEIwMEQKKyAgICAxOTc1LCAgLy8gaW1hZ2VTdG9yZV8wMWIyMEQzMEQK
KyAgICAxOTc2LCAgLy8gdGV4dHVyZVByb2pfMDBnMzBCMDBCCisgICAgMTk3NywgIC8vIGJpdGZp
ZWxkRXh0cmFjdF8wMEUwMEQwMEQKKyAgICAxOTc5LCAgLy8gZGlzdGFuY2VfMzBDMzBDCisgICAg
MTk4MCwgIC8vIGFueV8yMEYKKyAgICAxOTgyLCAgLy8gZ2xfSGVscGVySW52b2NhdGlvbgorICAg
IDE5ODQsICAvLyB0ZXh0dXJlTG9kXzAwZzAwQjAwQgorICAgIDE5ODUsICAvLyBzaW5fMTBCCisg
ICAgMTk4NywgIC8vIGdsX01heENsaXBEaXN0YW5jZXMKKyAgICAxOTg4LCAgLy8gdGV4dHVyZVNp
emVfMDBOMDBECisgICAgMTk4OSwgIC8vIG1vZF8yMEIyMEIKKyAgICAxOTkxLCAgLy8gaW1hZ2VB
dG9taWNPcl8wMWgwMEQwMEUKKyAgICAxOTkyLCAgLy8gaW1hZ2VBdG9taWNPcl8wMWgwMEQwMEQK
KyAgICAxOTkzLCAgLy8gdGV4dHVyZUdyYWRfMDBrMzBCMjBCMjBCCisgICAgMTk5NCwgIC8vIHRl
eHR1cmVQcm9qT2Zmc2V0XzAwbzEwQjAwRAorICAgIDE5OTUsICAvLyBpbWFnZUF0b21pY01pbl8w
MUExMEQwMEUKKyAgICAxOTk2LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFBMTBEMDBECisgICAgMTk5
NywgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwZjMwQjEwQjEwQjEwRAorICAgIDE5OTksICAvLyBt
YXhfMjBEMjBECisgICAgMjAwMSwgIC8vIG1heF8xMEQxMEQKKyAgICAyMDAzLCAgLy8gdGV4dHVy
ZUdyYWRPZmZzZXRfMDB0MDBCMDBCMDBCMDBECisgICAgMjAwNCwgIC8vIHJlZnJhY3RfMzBCMzBC
MDBCCisgICAgMjAwNiwgIC8vIGZsb29yXzIwQworICAgIDIwMDcsICAvLyBmbG9vcl8yMEIKKyAg
ICAyMDA5LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMHQwMEQwMEQwMEQKKyAgICAyMDEwLCAgLy8g
aW1hZ2VBdG9taWNPcl8wMWEyMEQwMEUKKyAgICAyMDExLCAgLy8gbWF0cml4Q29tcE11bHRfRjBC
RjBCCisgICAgMjAxMywgIC8vIHVtdWxFeHRlbmRlZF8xMEUxMEUxMEUxMEUKKyAgICAyMDE1LCAg
Ly8gdGV4dHVyZV8wMGQyMEIwMEIKKyAgICAyMDE3LCAgLy8gZ2xfTWF4Q29tYmluZWRBdG9taWND
b3VudGVyQnVmZmVycworICAgIDIwMTksICAvLyB1bXVsRXh0ZW5kZWRfMzBFMzBFMzBFMzBFCisg
ICAgMjAyMSwgIC8vIHRleHR1cmVHcmFkT2Zmc2V0XzAwWTIwQjIwQjIwQjIwRAorICAgIDIwMjMs
ICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwYTIwQjEwRAorICAgIDIwMjUsICAvLyB0ZXh0dXJl
R3JhZF8wMGYzMEIxMEIxMEIKKyAgICAyMDI3LCAgLy8gYXRvbWljQ291bnRlclN1YnRyYWN0XzAw
RzAwRQorICAgIDIwMjgsICAvLyBpbWFnZUF0b21pY1hvcl8wMUMyMEQwMEUKKyAgICAyMDI5LCAg
Ly8gbW9kZl8yMEIyMEIKKyAgICAyMDMxLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFZMTBEMDBECisg
ICAgMjAzMiwgIC8vIGltYWdlQXRvbWljQW5kXzAxWTEwRDAwRQorICAgIDIwMzMsICAvLyBpbWFn
ZUF0b21pY0FkZF8wMWkwMEQwMEUKKyAgICAyMDM0LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFpMDBE
MDBECisgICAgMjAzNSwgIC8vIG5vaXNlMV8wMEIKKyAgICAyMDM2LCAgLy8gaW1hZ2VMb2FkXzAx
TTAwRAorICAgIDIwMzcsICAvLyBpbWFnZUF0b21pY0NvbXBTd2FwXzAxTDAwRDAwRTAwRQorICAg
IDIwMzgsICAvLyB0ZXh0dXJlXzAweTEwQgorICAgIDIwNDAsICAvLyBsZW5ndGhfMzBDCisgICAg
MjA0MSwgIC8vIGxlbmd0aF8zMEIKKyAgICAyMDQzLCAgLy8gaW1hZ2VTdG9yZV8wMUIxMEQzMEUK
KyAgICAyMDQ1LCAgLy8gbW9kXzMwQjMwQgorICAgIDIwNDcsICAvLyBtaXhfMTBDMTBDMTBGCisg
ICAgMjA0OCwgIC8vIGltYWdlQXRvbWljTWluXzAwejEwRDAwRQorICAgIDIwNDksICAvLyBpbWFn
ZUF0b21pY01pbl8wMHoxMEQwMEQKKyAgICAyMDUwLCAgLy8gaW1hZ2VTdG9yZV8wMUkyMEQzMEIK
KyAgICAyMDUyLCAgLy8gZXhwMl8zMEIKKyAgICAyMDU0LCAgLy8gYWxsSW52b2NhdGlvbnNfMDBG
CisgICAgMjA1NSwgIC8vIG1heF8yMEMwMEMKKyAgICAyMDU2LCAgLy8gdGV4dHVyZTNEUHJval8w
MEozMEIwMEIKKyAgICAyMDU4LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFLMjBEMDBFCisgICAgMjA1
OSwgIC8vIGltYWdlQXRvbWljQWRkXzAxSzIwRDAwRAorICAgIDIwNjAsICAvLyB0ZXh0dXJlUHJv
akxvZF8wMFgzMEIwMEIKKyAgICAyMDYyLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwSTMw
QjEwQjEwQjEwRAorICAgIDIwNjQsICAvLyBpbWFnZUF0b21pY0FkZF8wMVcyMEQwMEQwMEQKKyAg
ICAyMDY1LCAgLy8gY29zaF8zMEIKKyAgICAyMDY3LCAgLy8gdGV4dHVyZVByb2pfMDBxMzBCCisg
ICAgMjA2OCwgIC8vIHRleHR1cmVPZmZzZXRfMDBTMjBCMjBEMDBCCisgICAgMjA3MCwgIC8vIHVz
dWJCb3Jyb3dfMzBFMzBFMzBFCisgICAgMjA3MiwgIC8vIGltYWdlQXRvbWljTWF4XzAxVzIwRDAw
RDAwRQorICAgIDIwNzMsICAvLyBpbWFnZUF0b21pY01heF8wMVcyMEQwMEQwMEQKKyAgICAyMDc0
LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBSMjBCMTBEMDBCCisgICAgMjA3NiwgIC8vIHRleHR1
cmVPZmZzZXRfMDB0MDBCMDBEMDBCCisgICAgMjA3NywgIC8vIHRleHR1cmVPZmZzZXRfMDBpMjBC
MDBEMDBCCisgICAgMjA3OCwgIC8vIHRleHR1cmUzRFByb2pfMDBKMzBCCisgICAgMjA4MCwgIC8v
IG1hdHJpeENvbXBNdWx0X0IwQkIwQgorICAgIDIwODEsICAvLyBsZXNzVGhhbl8zMEIzMEIKKyAg
ICAyMDgzLCAgLy8gY3Jvc3NfMjBCMjBCCisgICAgMjA4NSwgIC8vIGltYWdlU2l6ZV8wMU8KKyAg
ICAyMDg2LCAgLy8gdGV4dHVyZUdyYWRfMDBxMTBCMTBCMTBCCisgICAgMjA4NywgIC8vIGNsYW1w
XzIwQjAwQjAwQgorICAgIDIwODksICAvLyBkRmR4XzAwQgorICAgIDIwOTIsICAvLyBmaW5kTFNC
XzAwRAorICAgIDIwOTQsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMG8zMEIwMEIwMEQKKyAg
ICAyMDk1LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFpMDBEMDBFCisgICAgMjA5NiwgIC8vIHRleHR1
cmVQcm9qXzAwUjIwQjAwQgorICAgIDIwOTgsICAvLyBhY29zXzIwQgorICAgIDIxMDAsICAvLyBp
bWFnZVNpemVfMDFBCisgICAgMjEwMiwgIC8vIG1heF8yMEIyMEIKKyAgICAyMTA0LCAgLy8gbGVz
c1RoYW5fMjBFMjBFCisgICAgMjEwNiwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwZzEwQjAwRDAw
QgorICAgIDIxMDcsICAvLyBlcXVhbF8zMEYzMEYKKyAgICAyMTA5LCAgLy8gc2lnbl8wMEMKKyAg
ICAyMTEwLCAgLy8gY29zaF8wMEIKKyAgICAyMTEyLCAgLy8gYml0ZmllbGRFeHRyYWN0XzAwRDAw
RDAwRAorICAgIDIxMTQsICAvLyBpbWFnZUF0b21pY01pbl8wMUUyMEQwMEQKKyAgICAyMTE1LCAg
Ly8gaW1hZ2VBdG9taWNNaW5fMDFFMjBEMDBFCisgICAgMjExNiwgIC8vIHRleHR1cmVMb2RfMDBa
MjBCMDBCCisgICAgMjExOCwgIC8vIHNpZ25fMDBECisgICAgMjEyMCwgIC8vIHRleHR1cmVPZmZz
ZXRfMDBZMjBCMjBECisgICAgMjEyMiwgIC8vIGltYWdlQXRvbWljWG9yXzAxUTEwRDAwRAorICAg
IDIxMjMsICAvLyBpbWFnZUF0b21pY1hvcl8wMVExMEQwMEUKKyAgICAyMTI0LCAgLy8gdHJhbnNw
b3NlXzYwQgorICAgIDIxMjYsICAvLyBpbWFnZVN0b3JlXzAxRzIwRDMwRAorICAgIDIxMjgsICAv
LyBpbWFnZUF0b21pY0FkZF8wMU8xMEQwMEQKKyAgICAyMTI5LCAgLy8gaW1hZ2VBdG9taWNBZGRf
MDFPMTBEMDBFCisgICAgMjEzMCwgIC8vIGZhY2Vmb3J3YXJkXzAwQjAwQjAwQgorICAgIDIxMzIs
ICAvLyBpbWFnZUxvYWRfMDFaMTBECisgICAgMjEzMywgIC8vIGltYWdlQXRvbWljT3JfMDFPMTBE
MDBFCisgICAgMjEzNCwgIC8vIGltYWdlQXRvbWljT3JfMDFPMTBEMDBECisgICAgMjEzNSwgIC8v
IGltYWdlQXRvbWljQWRkXzAxYjIwRDAwRAorICAgIDIxMzYsICAvLyBpbnRlcnBvbGF0ZUF0Q2Vu
dHJvaWRfMjBCCisgICAgMjEzNywgIC8vIHRleHR1cmVQcm9qTG9kT2Zmc2V0XzAwUjMwQjAwQjEw
RAorICAgIDIxMzksICAvLyB0ZXh0dXJlR3JhZF8wMGgxMEIwMEIwMEIKKyAgICAyMTQwLCAgLy8g
aW1hZ2VBdG9taWNFeGNoYW5nZV8wMVUyMEQwMEQwMEIKKyAgICAyMTQxLCAgLy8gdGV4dHVyZTFE
UHJval8wMGczMEIwMEIKKyAgICAyMTQyLCAgLy8gdGV4dHVyZVF1ZXJ5TG9kXzAwaDAwQgorICAg
IDIxNDMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxVTIwRDAwRDAwRQorICAgIDIxNDQsICAv
LyBtb2RmXzAwQzAwQworICAgIDIxNDUsICAvLyB0ZXh0dXJlUHJvakxvZF8wMHQzMEIwMEIKKyAg
ICAyMTQ2LCAgLy8gdGV4dHVyZU9mZnNldF8wMG8wMEIwMEQKKyAgICAyMTQ3LCAgLy8gaW1hZ2VB
dG9taWNFeGNoYW5nZV8wMVUyMEQwMEQwMEQKKyAgICAyMTQ4LCAgLy8gaW1hZ2VTdG9yZV8wMUgy
MEQzMEUKKyAgICAyMTUwLCAgLy8gdGV4dHVyZUdhdGhlcl8wMFUyMEIKKyAgICAyMTUyLCAgLy8g
dGV4ZWxGZXRjaF8wMFEyMEQwMEQKKyAgICAyMTU0LCAgLy8gcm91bmRFdmVuXzAwQworICAgIDIx
NTUsICAvLyByb3VuZEV2ZW5fMDBCCisgICAgMjE1NywgIC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBP
MTBEMTBECisgICAgMjE1OCwgIC8vIGF0YW5oXzIwQgorICAgIDIxNjAsICAvLyBjbGFtcF8xMEUw
MEUwMEUKKyAgICAyMTYyLCAgLy8gZEZkeEZpbmVfMzBCCisgICAgMjE2MywgIC8vIGltYWdlQXRv
bWljQWRkXzAxTDAwRDAwRQorICAgIDIxNjQsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBKMjBCCisg
ICAgMjE2NSwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwWDMwQjEwRAorICAgIDIxNjcsICAvLyBn
bF9NYXhGcmFnbWVudFVuaWZvcm1WZWN0b3JzCisgICAgMjE2OSwgIC8vIHRleHR1cmUyRFByb2pM
b2RfMDBJMzBCMDBCCisgICAgMjE3MSwgIC8vIGludGVycG9sYXRlQXRPZmZzZXRfMTBCMTBCCisg
ICAgMjE3MiwgIC8vIG1heF8xMEMxMEMKKyAgICAyMTczLCAgLy8gdGV4ZWxGZXRjaF8wMGcwMEQw
MEQKKyAgICAyMTc0LCAgLy8gYWJzXzMwQgorICAgIDIxNzYsICAvLyBiaXRmaWVsZEluc2VydF8x
MEUxMEUwMEQwMEQKKyAgICAyMTc4LCAgLy8gcGFja1Nub3JtNHg4XzMwQgorICAgIDIxODAsICAv
LyBtaXhfMTBCMTBCMDBCCisgICAgMjE4MiwgIC8vIGltYWdlU2l6ZV8wMWIKKyAgICAyMTgzLCAg
Ly8gY2xhbXBfMzBEMzBEMzBECisgICAgMjE4NSwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRzXzAw
TDIwQjEwRHg0CisgICAgMjE4OCwgIC8vIGltYWdlQXRvbWljTWF4XzAxYzIwRDAwRQorICAgIDIx
ODksICAvLyBtb2RfMTBDMDBDCisgICAgMjE5MCwgIC8vIGltYWdlQXRvbWljTWF4XzAxRzIwRDAw
RAorICAgIDIxOTEsICAvLyBpbWFnZUF0b21pY01heF8wMUcyMEQwMEUKKyAgICAyMTkyLCAgLy8g
ZGV0ZXJtaW5hbnRfRjBCCisgICAgMjE5MywgIC8vIHRyYW5zcG9zZV9BMEIKKyAgICAyMTk1LCAg
Ly8gcG93XzIwQjIwQgorICAgIDIxOTcsICAvLyBpbWFnZVNpemVfMDFnCisgICAgMjE5OCwgIC8v
IGltYWdlQXRvbWljTWF4XzAxQjEwRDAwRAorICAgIDIxOTksICAvLyBpbWFnZUF0b21pY01heF8w
MUIxMEQwMEUKKyAgICAyMjAwLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUcyMEQwMEIKKyAg
ICAyMjAxLCAgLy8gaW1hZ2VTaXplXzAxZQorICAgIDIyMDIsICAvLyBpbWFnZUF0b21pY0V4Y2hh
bmdlXzAxRzIwRDAwRAorICAgIDIyMDMsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxRzIwRDAw
RQorICAgIDIyMDQsICAvLyBpbWFnZUxvYWRfMDFZMTBECisgICAgMjIwNSwgIC8vIGltYWdlQXRv
bWljTWF4XzAxZzAwRDAwRAorICAgIDIyMDYsICAvLyBpbWFnZUF0b21pY01heF8wMWcwMEQwMEUK
KyAgICAyMjA3LCAgLy8gdGV4dHVyZVByb2pfMDB2MzBCCisgICAgMjIwOCwgIC8vIHRleHR1cmVQ
cm9qR3JhZF8wME8yMEIxMEIxMEIKKyAgICAyMjA5LCAgLy8gbG9nMl8yMEIKKyAgICAyMjExLCAg
Ly8gZG90XzMwQzMwQworICAgIDIyMTIsICAvLyBmd2lkdGhDb2Fyc2VfMTBCCisgICAgMjIxMywg
IC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwSTIwQjEwRDAwQgorICAgIDIyMTUsICAvLyBpbWFnZUF0
b21pY0FuZF8wMVQxMEQwMEQwMEQKKyAgICAyMjE2LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFUMTBE
MDBEMDBFCisgICAgMjIxNywgIC8vIG5vdEVxdWFsXzEwRjEwRgorICAgIDIyMTksICAvLyBzbW9v
dGhzdGVwXzAwQjAwQjAwQgorICAgIDIyMjEsICAvLyB0ZXh0dXJlUHJvakxvZE9mZnNldF8wMGQz
MEIwMEIxMEQKKyAgICAyMjIzLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFQMTBEMDBFCisgICAgMjIy
NCwgIC8vIGltYWdlQXRvbWljQW5kXzAxUDEwRDAwRAorICAgIDIyMjUsICAvLyB0ZXh0dXJlUHJv
akxvZE9mZnNldF8wMEkzMEIwMEIxMEQKKyAgICAyMjI3LCAgLy8gZ2xfTWF4Q29tYmluZWRBdG9t
aWNDb3VudGVycworICAgIDIyMjksICAvLyBiaXRmaWVsZEluc2VydF8xMEQxMEQwMEQwMEQKKyAg
ICAyMjMxLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMU4wMEQwMEQwMEQKKyAgICAyMjMyLCAg
Ly8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMUwwMEQwMEQwMEQKKyAgICAyMjMzLCAgLy8gdGV4dHVy
ZUdhdGhlcl8wMGszMEIKKyAgICAyMjM0LCAgLy8gdGV4dHVyZV8wMEoyMEIKKyAgICAyMjM2LCAg
Ly8gbGVzc1RoYW5FcXVhbF8xMEQxMEQKKyAgICAyMjM4LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRf
MDBvMzBCMDBEMDBCCisgICAgMjIzOSwgIC8vIGdsX01heFZhcnlpbmdWZWN0b3JzCisgICAgMjI0
MSwgIC8vIHRleHR1cmVTaXplXzAwZDAwRAorICAgIDIyNDMsICAvLyBzaW5fMDBCCisgICAgMjI0
NSwgIC8vIHVhZGRDYXJyeV8xMEUxMEUxMEUKKyAgICAyMjQ3LCAgLy8gbWl4XzEwQzEwQzAwQwor
ICAgIDIyNDgsICAvLyBhdG9taWNDb3VudGVySW5jcmVtZW50XzAwRworICAgIDIyNTAsICAvLyBp
bWFnZUF0b21pY0FkZF8wMUoyMEQwMEQKKyAgICAyMjUxLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFK
MjBEMDBFCisgICAgMjI1MiwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFTMTBEMDBEMDBEMDBE
CisgICAgMjI1MywgIC8vIGltYWdlU3RvcmVfMDFRMTBEMzBFCisgICAgMjI1NCwgIC8vIHRleHR1
cmVQcm9qXzAwbzEwQjAwQgorICAgIDIyNTUsICAvLyBpbWFnZUF0b21pY0FkZF8wMVUyMEQwMEQw
MEQKKyAgICAyMjU2LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFVMjBEMDBEMDBFCisgICAgMjI1Nywg
IC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwbTMwQjAwRAorICAgIDIyNTgsICAvLyBpbWFnZUF0b21p
Y0V4Y2hhbmdlXzAxWTEwRDAwQgorICAgIDIyNTksICAvLyBlcXVhbF8xMEUxMEUKKyAgICAyMjYx
LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMVkxMEQwMEUKKyAgICAyMjYyLCAgLy8gaW1hZ2VB
dG9taWNFeGNoYW5nZV8wMVkxMEQwMEQKKyAgICAyMjYzLCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5n
ZV8wMU8xMEQwMEIKKyAgICAyMjY0LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMU8xMEQwMEUK
KyAgICAyMjY1LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBKMzBCMjBECisgICAgMjI2NywgIC8v
IGltYWdlU2l6ZV8wMVcKKyAgICAyMjY4LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFEMjBEMDBFCisg
ICAgMjI2OSwgIC8vIG5vdEVxdWFsXzEwRTEwRQorICAgIDIyNzEsICAvLyBtaW5fMTBDMTBDCisg
ICAgMjI3MiwgIC8vIHRleHR1cmVQcm9qR3JhZF8wMHQxMEIwMEIwMEIKKyAgICAyMjczLCAgLy8g
aW1hZ2VBdG9taWNFeGNoYW5nZV8wMU4wMEQwMEIKKyAgICAyMjc0LCAgLy8gdGV4dHVyZUdhdGhl
cl8wMHEyMEIwMEQKKyAgICAyMjc1LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMU4wMEQwMEUK
KyAgICAyMjc2LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMU4wMEQwMEQKKyAgICAyMjc3LCAg
Ly8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBxMTBCMTBEeDQwMEQKKyAgICAyMjc4LCAgLy8gaW1h
Z2VBdG9taWNDb21wU3dhcF8wMU8xMEQwMEQwMEQKKyAgICAyMjc5LCAgLy8gc2hhZG93MURQcm9q
TG9kXzAwbTMwQjAwQgorICAgIDIyODAsICAvLyBpbWFnZUF0b21pY01pbl8wMWkwMEQwMEQKKyAg
ICAyMjgxLCAgLy8gdGV4dHVyZV8wMHUyMEIwMEIKKyAgICAyMjgyLCAgLy8gdGV4dHVyZUxvZE9m
ZnNldF8wMFIxMEIwMEIxMEQKKyAgICAyMjg0LCAgLy8gdHJ1bmNfMTBCCisgICAgMjI4NiwgIC8v
IHRydW5jXzEwQworICAgIDIyODcsICAvLyBpbWFnZUF0b21pY0FkZF8wMVMxMEQwMEQwMEQKKyAg
ICAyMjg4LCAgLy8gdGV4ZWxGZXRjaF8wMHUxMEQwMEQKKyAgICAyMjg5LCAgLy8gZG90XzIwQzIw
QworICAgIDIyOTAsICAvLyBnbF9EZXB0aFJhbmdlUGFyYW1ldGVycworICAgIDIyOTIsICAvLyBu
b2lzZTRfMzBCCisgICAgMjI5MywgIC8vIHRleHR1cmVHYXRoZXJfMDBmMjBCCisgICAgMjI5NCwg
IC8vIG5vaXNlMV8xMEIKKyAgICAyMjk1LCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwZzMwQjAwQjAw
QgorICAgIDIyOTYsICAvLyBzaGFkb3cyRFByb2pfMDBkMzBCCisgICAgMjI5NywgIC8vIHRleHR1
cmVQcm9qXzAwZDMwQjAwQgorICAgIDIyOTksICAvLyBzaWduXzEwQgorICAgIDIzMDEsICAvLyBt
YXhfMDBFMDBFCisgICAgMjMwMywgIC8vIHRleHR1cmVfMDBhMjBCMDBCCisgICAgMjMwNSwgIC8v
IHRleHR1cmVQcm9qXzAwbzEwQgorICAgIDIzMDYsICAvLyByZWZyYWN0XzIwQzIwQzAwQgorICAg
IDIzMDcsICAvLyB0ZXh0dXJlUHJval8wME0yMEIwMEIKKyAgICAyMzA4LCAgLy8gaW1hZ2VMb2Fk
XzAxQTEwRAorICAgIDIzMTAsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8wMFgzMEIxMEQwMEIKKyAg
ICAyMzEyLCAgLy8gZXhwMl8wMEIKKyAgICAyMzE0LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8w
MUgyMEQwMEIKKyAgICAyMzE1LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMHUxMEQwMEQwMEQKKyAg
ICAyMzE2LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMUgyMEQwMEUwMEUKKyAgICAyMzE3LCAg
Ly8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUgyMEQwMEUKKyAgICAyMzE4LCAgLy8gaW1hZ2VBdG9t
aWNFeGNoYW5nZV8wMUgyMEQwMEQKKyAgICAyMzE5LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8w
MHExMEIxMEQKKyAgICAyMzIwLCAgLy8gdGV4dHVyZUdhdGhlcl8wMGEyMEIwMEQKKyAgICAyMzIy
LCAgLy8gaW1hZ2VTdG9yZV8wMVMxMEQwMEQzMEQKKyAgICAyMzIzLCAgLy8gbGRleHBfMDBDMDBE
CisgICAgMjMyNCwgIC8vIHRleHR1cmVTaXplXzAwczAwRAorICAgIDIzMjUsICAvLyBpbWFnZUF0
b21pY1hvcl8wMVAxMEQwMEUKKyAgICAyMzI2LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUkyMEQwMEQK
KyAgICAyMzI3LCAgLy8gdGV4dHVyZV8wME4xMEIwMEIKKyAgICAyMzI4LCAgLy8gZ2xfUHJpbWl0
aXZlSUQKKyAgICAyMzMwLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVkxMEQwMEQwMEQKKyAg
ICAyMzMxLCAgLy8gdGV4dHVyZVByb2pHcmFkXzAwSTMwQjEwQjEwQgorICAgIDIzMzMsICAvLyBn
bF9MYXllcgorICAgIDIzMzUsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwZDIwQjEwRAorICAgIDIzMzcs
ICAvLyBkRmR4XzMwQgorICAgIDIzNDAsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMFUyMEIx
MER4NDAwRAorICAgIDIzNDMsICAvLyBpbWFnZUF0b21pY01pbl8wMVYyMEQwMEQwMEQKKyAgICAy
MzQ0LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFWMjBEMDBEMDBFCisgICAgMjM0NSwgIC8vIGdsX0xh
c3RGcmFnQ29sb3IKKyAgICAyMzQ2LCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwdDMwQjAw
QjAwQjAwRAorICAgIDIzNDcsICAvLyBtaW5fMjBFMjBFCisgICAgMjM0OSwgIC8vIGFzaW5fMjBC
CisgICAgMjM1MSwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFVMjBEMDBEMDBFMDBFCisgICAg
MjM1MiwgIC8vIHRleHR1cmVfMDBsMzBCMDBCCisgICAgMjM1MywgIC8vIHRleHR1cmUxRFByb2pM
b2RfMDBnMTBCMDBCCisgICAgMjM1NCwgIC8vIGZ3aWR0aF8xMEIKKyAgICAyMzU3LCAgLy8gZEZk
eV8wMEIKKyAgICAyMzYwLCAgLy8gc2hhZG93MkRMb2RfMDBkMjBCMDBCCisgICAgMjM2MSwgIC8v
IHRleHR1cmUxRFByb2pfMDBnMTBCCisgICAgMjM2MiwgIC8vIGxlc3NUaGFuXzMwRTMwRQorICAg
IDIzNjQsICAvLyBpbXVsRXh0ZW5kZWRfMzBEMzBEMzBEMzBECisgICAgMjM2NiwgIC8vIHRyYW5z
cG9zZV83MEIKKyAgICAyMzY4LCAgLy8gaW11bEV4dGVuZGVkXzAwRDAwRDAwRDAwRAorICAgIDIz
NzAsICAvLyBpbWFnZUF0b21pY0FkZF8wMUYyMEQwMEQKKyAgICAyMzcxLCAgLy8gaW1hZ2VBdG9t
aWNBZGRfMDFGMjBEMDBFCisgICAgMjM3MiwgIC8vIHRleHR1cmVfMDBTMjBCMDBCCisgICAgMjM3
NCwgIC8vIHRleHR1cmVMb2RfMDBZMjBCMDBCCisgICAgMjM3NiwgIC8vIGltYWdlQXRvbWljRXhj
aGFuZ2VfMDFjMjBEMDBECisgICAgMjM3NywgIC8vIGZhY2Vmb3J3YXJkXzEwQzEwQzEwQworICAg
IDIzNzgsICAvLyBpbWFnZVN0b3JlXzAxWjEwRDMwRQorICAgIDIzNzksICAvLyB0ZXh0dXJlUXVl
cnlMb2RfMDB1MDBCCisgICAgMjM4MCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFjMjBEMDBC
CisgICAgMjM4MSwgIC8vIG1pbl8yMEQwMEQKKyAgICAyMzgzLCAgLy8gaW1hZ2VBdG9taWNDb21w
U3dhcF8wMVAxMEQwMEQwMEQKKyAgICAyMzg0LCAgLy8gdWludEJpdHNUb0Zsb2F0XzAwRQorICAg
IDIzODYsICAvLyBkRmR4RmluZV8yMEIKKyAgICAyMzg3LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFM
MDBEMDBECisgICAgMjM4OCwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFnMDBEMDBECisgICAg
MjM4OSwgIC8vIGJpdGZpZWxkSW5zZXJ0XzIwRDIwRDAwRDAwRAorICAgIDIzOTEsICAvLyBtaXhf
MzBCMzBCMDBCCisgICAgMjM5MywgIC8vIHRleHR1cmVRdWVyeUxvZF8wMFUxMEIKKyAgICAyMzk0
LCAgLy8gdGFuaF8wMEIKKyAgICAyMzk2LCAgLy8gc3VicGFzc0xvYWRfMDFvMDBECisgICAgMjM5
NywgIC8vIGltYWdlQXRvbWljTWF4XzAxTjAwRDAwRQorICAgIDIzOTgsICAvLyBpbWFnZUF0b21p
Y01heF8wMU4wMEQwMEQKKyAgICAyMzk5LCAgLy8gbWF4XzEwQzAwQworICAgIDI0MDAsICAvLyBt
YXRyaXhDb21wTXVsdF9EMEJEMEIKKyAgICAyNDAxLCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFNMDBE
MDBECisgICAgMjQwMiwgIC8vIGltYWdlQXRvbWljQW5kXzAxWDEwRDAwRQorICAgIDI0MDMsICAv
LyBzaGFkb3cyRFByb2pMb2RfMDBkMzBCMDBCCisgICAgMjQwNCwgIC8vIGltYWdlQXRvbWljQW5k
XzAxWDEwRDAwRAorICAgIDI0MDUsICAvLyBtaW5fMzBCMzBCCisgICAgMjQwNywgIC8vIHJlZmxl
Y3RfMjBDMjBDCisgICAgMjQwOCwgIC8vIHRleGVsRmV0Y2hfMDBoMTBEMDBECisgICAgMjQwOSwg
IC8vIG1lbW9yeUJhcnJpZXJBdG9taWNDb3VudGVyXworICAgIDI0MTEsICAvLyBiaXRmaWVsZElu
c2VydF8wMEUwMEUwMEQwMEQKKyAgICAyNDEzLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFiMjBEMDBF
CisgICAgMjQxNCwgIC8vIGltYWdlQXRvbWljTWluXzAxYTIwRDAwRQorICAgIDI0MTUsICAvLyB0
ZXh0dXJlR3JhZF8wMGQyMEIxMEIxMEIKKyAgICAyNDE3LCAgLy8gYXRhbl8xMEIKKyAgICAyNDE5
LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMWcwMEQwMEQwMEQKKyAgICAyNDIwLCAgLy8gY2xh
bXBfMzBDMzBDMzBDCisgICAgMjQyMSwgIC8vIHRleHR1cmVQcm9qXzAwdjIwQgorICAgIDI0MjIs
ICAvLyBzdGVwXzAwQjEwQgorICAgIDI0MjQsICAvLyB0ZXh0dXJlUHJvakxvZF8wMEkyMEIwMEIK
KyAgICAyNDI2LCAgLy8gcmdiXzJfeXV2XzIwQjAwSAorICAgIDI0MjcsICAvLyBpbWFnZUxvYWRf
MDFQMTBECisgICAgMjQyOCwgIC8vIHRleHR1cmVfMDBUMjBCCisgICAgMjQzMCwgIC8vIGxvZzJf
MTBCCisgICAgMjQzMiwgIC8vIGltYWdlQXRvbWljQW5kXzAxRDIwRDAwRAorICAgIDI0MzMsICAv
LyBpbWFnZUF0b21pY0FuZF8wMUQyMEQwMEUKKyAgICAyNDM0LCAgLy8gZmluZExTQl8yMEUKKyAg
ICAyNDM2LCAgLy8gZmluZExTQl8yMEQKKyAgICAyNDM4LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dh
cF8wMUIxMEQwMEQwMEQKKyAgICAyNDM5LCAgLy8gaW1hZ2VBdG9taWNPcl8wMVgxMEQwMEQKKyAg
ICAyNDQwLCAgLy8gaW1hZ2VBdG9taWNPcl8wMVgxMEQwMEUKKyAgICAyNDQxLCAgLy8gbm9pc2Uy
XzMwQgorICAgIDI0NDIsICAvLyBpbWFnZUF0b21pY09yXzAxVTIwRDAwRDAwRQorICAgIDI0NDMs
ICAvLyBncmVhdGVyVGhhbkVxdWFsXzEwQjEwQgorICAgIDI0NDUsICAvLyBjbGFtcF8xMEQxMEQx
MEQKKyAgICAyNDQ3LCAgLy8gdGV4ZWxGZXRjaF8wME0xMEQwMEQKKyAgICAyNDQ4LCAgLy8gdGV4
dHVyZVF1ZXJ5TG9kXzAwWTIwQgorICAgIDI0NDksICAvLyB0cmFuc3Bvc2VfRjBCCisgICAgMjQ1
MSwgIC8vIHRleHR1cmVPZmZzZXRfMDBZMjBCMjBEMDBCCisgICAgMjQ1MywgIC8vIHRleHR1cmVH
cmFkT2Zmc2V0XzAwUzIwQjIwQjIwQjIwRAorICAgIDI0NTUsICAvLyBpbWFnZUF0b21pY09yXzAx
VTIwRDAwRDAwRAorICAgIDI0NTYsICAvLyBjbGFtcF8zMEUzMEUzMEUKKyAgICAyNDU4LCAgLy8g
dGV4dHVyZVNpemVfMDBSMDBECisgICAgMjQ2MCwgIC8vIGFjb3NoXzEwQgorICAgIDI0NjIsICAv
LyBpbWFnZUxvYWRfMDFiMjBECisgICAgMjQ2MywgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFa
MTBEMDBFMDBFCisgICAgMjQ2NCwgIC8vIHRleHR1cmVPZmZzZXRfMDBMMjBCMTBEMDBCCisgICAg
MjQ2NiwgIC8vIG1vZF8yMEIwMEIKKyAgICAyNDY4LCAgLy8gaW1hZ2VMb2FkXzAxVTIwRDAwRAor
ICAgIDI0NjksICAvLyB0ZXh0dXJlUHJvakxvZF8wMEozMEIwMEIKKyAgICAyNDcxLCAgLy8gc3Vi
cGFzc0xvYWRfMDFrCisgICAgMjQ3MiwgIC8vIHRyYW5zcG9zZV85MEIKKyAgICAyNDc0LCAgLy8g
bWl4XzMwQzMwQzAwQworICAgIDI0NzUsICAvLyBzdWJwYXNzTG9hZF8wMWwKKyAgICAyNDc2LCAg
Ly8gYXRvbWljQW5kXzAwRTAwRQorICAgIDI0NzgsICAvLyBtYXhfMjBEMDBECisgICAgMjQ4MCwg
IC8vIHRleGVsRmV0Y2hPZmZzZXRfMDBJMTBEMDBEMTBECisgICAgMjQ4MiwgIC8vIGltYWdlQXRv
bWljTWluXzAxWjEwRDAwRAorICAgIDI0ODMsICAvLyBpbWFnZUF0b21pY01pbl8wMVoxMEQwMEUK
KyAgICAyNDg0LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMWkwMEQwMEUwMEUKKyAgICAyNDg1
LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMUsyMEQwMEQwMEQKKyAgICAyNDg2LCAgLy8gdGV4
dHVyZVF1ZXJ5TG9kXzAwTDEwQgorICAgIDI0ODcsICAvLyBpbWFnZVN0b3JlXzAxSjIwRDMwRAor
ICAgIDI0ODksICAvLyBhdG9taWNDb3VudGVyXzAwRworICAgIDI0OTEsICAvLyB0ZXh0dXJlR3Jh
ZF8wMG0yMEIwMEIwMEIKKyAgICAyNDkyLCAgLy8gbm9pc2UzXzIwQgorICAgIDI0OTMsICAvLyBi
aXRmaWVsZEluc2VydF8zMEQzMEQwMEQwMEQKKyAgICAyNDk1LCAgLy8gbWluXzEwQzAwQworICAg
IDI0OTYsICAvLyBncmVhdGVyVGhhbl8xMEQxMEQKKyAgICAyNDk4LCAgLy8gYml0ZmllbGRFeHRy
YWN0XzEwRTAwRDAwRAorICAgIDI1MDAsICAvLyB0ZXh0dXJlR3JhZE9mZnNldF8wMGgxMEIwMEIw
MEIwMEQKKyAgICAyNTAxLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFWMjBEMDBEMDBECisgICAgMjUw
MiwgIC8vIHRleHR1cmUyRF8wMEkxMEIwMEIKKyAgICAyNTA0LCAgLy8gZ3JlYXRlclRoYW5fMjBE
MjBECisgICAgMjUwNiwgIC8vIGltYWdlQXRvbWljQW5kXzAxVzIwRDAwRDAwRAorICAgIDI1MDcs
ICAvLyBpbWFnZUF0b21pY0FuZF8wMVcyMEQwMEQwMEUKKyAgICAyNTA4LCAgLy8gdGV4dHVyZVBy
b2pMb2RPZmZzZXRfMDB0MTBCMDBCMDBECisgICAgMjUwOSwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0
XzAwTzIwQjEwRAorICAgIDI1MTAsICAvLyB0cnVuY18wMEIKKyAgICAyNTEyLCAgLy8gbGVuZ3Ro
XzEwQworICAgIDI1MTMsICAvLyBsZW5ndGhfMTBCCisgICAgMjUxNSwgIC8vIGltYWdlTG9hZF8w
MVIxMEQwMEQKKyAgICAyNTE2LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFIMjBEMDBECisgICAgMjUx
NywgIC8vIGltYWdlQXRvbWljQWRkXzAxSDIwRDAwRQorICAgIDI1MTgsICAvLyBzdWJwYXNzTG9h
ZF8wMWoKKyAgICAyNTE5LCAgLy8gZG90XzAwQjAwQgorICAgIDI1MjEsICAvLyB0YW5fMzBCCisg
ICAgMjUyMywgIC8vIHRleHR1cmVMb2RfMDBUMjBCMDBCCisgICAgMjUyNSwgIC8vIHRleHR1cmVQ
cm9qR3JhZF8wMFIzMEIxMEIxMEIKKyAgICAyNTI3LCAgLy8gZXhwMl8xMEIKKyAgICAyNTI5LCAg
Ly8gdGV4dHVyZVByb2pPZmZzZXRfMDBYMjBCMTBEMDBCCisgICAgMjUzMSwgIC8vIHRleHR1cmVQ
cm9qR3JhZE9mZnNldF8wMFgzMEIxMEIxMEIxMEQKKyAgICAyNTMzLCAgLy8gaW1hZ2VBdG9taWNB
bmRfMDFCMTBEMDBECisgICAgMjUzNCwgIC8vIGltYWdlU3RvcmVfMDFVMjBEMDBEMzBCCisgICAg
MjUzNSwgIC8vIG1hdHJpeENvbXBNdWx0X0EwQkEwQgorICAgIDI1MzcsICAvLyB0ZXh0dXJlR3Jh
ZF8wMFMyMEIyMEIyMEIKKyAgICAyNTM5LCAgLy8gcm91bmRfMzBCCisgICAgMjU0MSwgIC8vIHJv
dW5kXzMwQworICAgIDI1NDIsICAvLyBhbnlJbnZvY2F0aW9uXzAwRgorICAgIDI1NDMsICAvLyB0
ZXh0dXJlR3JhZF8wMHgzMEIyMEIyMEIKKyAgICAyNTQ0LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dh
cF8wMUQyMEQwMEUwMEUKKyAgICAyNTQ1LCAgLy8gdGV4dHVyZVByb2pMb2RfMDBvMzBCMDBCCisg
ICAgMjU0NiwgIC8vIHNtb290aHN0ZXBfMDBDMDBDMTBDCisgICAgMjU0NywgIC8vIGludGVycG9s
YXRlQXRTYW1wbGVfMDBCMDBECisgICAgMjU0OCwgIC8vIGRGZHhfMjBCCisgICAgMjU1MSwgIC8v
IHRleHR1cmVfMDBMMjBCCisgICAgMjU1MywgIC8vIGJhcnJpZXJfCisgICAgMjU1NSwgIC8vIGlt
YWdlQXRvbWljT3JfMDFOMDBEMDBFCisgICAgMjU1NiwgIC8vIGltYWdlQXRvbWljT3JfMDFOMDBE
MDBECisgICAgMjU1NywgIC8vIGltYWdlQXRvbWljQWRkXzAxYTIwRDAwRAorICAgIDI1NTgsICAv
LyB0ZXh0dXJlR2F0aGVyXzAwazMwQjAwRAorICAgIDI1NTksICAvLyBmaW5kTVNCXzIwRAorICAg
IDI1NjEsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwTDIwQjEwRAorICAgIDI1NjMsICAvLyBp
bWFnZUF0b21pY01pbl8wMVMxMEQwMEQwMEQKKyAgICAyNTY0LCAgLy8gaW1hZ2VBdG9taWNNaW5f
MDFTMTBEMDBEMDBFCisgICAgMjU2NSwgIC8vIHRleHR1cmVQcm9qT2Zmc2V0XzAwUzMwQjIwRDAw
QgorICAgIDI1NjcsICAvLyBpbWFnZUF0b21pY0FkZF8wMUQyMEQwMEQKKyAgICAyNTY4LCAgLy8g
bm9ybWFsaXplXzEwQworICAgIDI1NjksICAvLyB1bnBhY2tTbm9ybTR4OF8wMEUKKyAgICAyNTcx
LCAgLy8gaW1hZ2VMb2FkXzAxQzIwRAorICAgIDI1NzMsICAvLyBpbWFnZUF0b21pY01heF8wMUMy
MEQwMEQKKyAgICAyNTc0LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFDMjBEMDBFCisgICAgMjU3NSwg
IC8vIHRleHR1cmVHYXRoZXJfMDBsMzBCMDBCCisgICAgMjU3NiwgIC8vIG5vcm1hbGl6ZV8xMEIK
KyAgICAyNTc4LCAgLy8gYXNpbl8zMEIKKyAgICAyNTgwLCAgLy8gaXNuYW5fMjBCCisgICAgMjU4
MiwgIC8vIGlzbmFuXzIwQworICAgIDI1ODMsICAvLyBmd2lkdGhfMDBCCisgICAgMjU4NiwgIC8v
IGRGZHlfMTBCCisgICAgMjU4OSwgIC8vIGltYWdlQXRvbWljQWRkXzAxUDEwRDAwRQorICAgIDI1
OTAsICAvLyBpbWFnZUF0b21pY0FkZF8wMVAxMEQwMEQKKyAgICAyNTkxLCAgLy8gbWF4XzMwRTAw
RQorICAgIDI1OTMsICAvLyB0ZXh0dXJlTG9kXzAwZDIwQjAwQgorICAgIDI1OTUsICAvLyB0ZXh0
dXJlT2Zmc2V0XzAwcTEwQjEwRAorICAgIDI1OTYsICAvLyBpbWFnZUF0b21pY0FkZF8wMWMyMEQw
MEUKKyAgICAyNTk3LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFjMjBEMDBECisgICAgMjU5OCwgIC8v
IG1vZF8xMEIwMEIKKyAgICAyNjAwLCAgLy8gdGV4dHVyZV8wMGcwMEIwMEIKKyAgICAyNjAxLCAg
Ly8gdWludEJpdHNUb0Zsb2F0XzEwRQorICAgIDI2MDMsICAvLyB0ZXh0dXJlUHJvak9mZnNldF8w
MHQzMEIwMEQKKyAgICAyNjA0LCAgLy8gbWF0cml4Q29tcE11bHRfNzBCNzBCCisgICAgMjYwNSwg
IC8vIGltYWdlQXRvbWljQWRkXzAxSTIwRDAwRAorICAgIDI2MDYsICAvLyBpbWFnZUF0b21pY01h
eF8wMU0wMEQwMEQKKyAgICAyNjA3LCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFNMDBEMDBFCisgICAg
MjYwOCwgIC8vIHRleHR1cmVMb2RfMDBrMzBCMDBCCisgICAgMjYwOSwgIC8vIGltYWdlQXRvbWlj
QWRkXzAxRTIwRDAwRAorICAgIDI2MTAsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwWTIwQjAwQjIw
RAorICAgIDI2MTIsICAvLyByZWZyYWN0XzAwQzAwQzAwQgorICAgIDI2MTMsICAvLyBsb2cyXzAw
QgorICAgIDI2MTUsICAvLyB0YW5oXzEwQgorICAgIDI2MTcsICAvLyBpbWFnZUF0b21pY01pbl8w
MUkyMEQwMEUKKyAgICAyNjE4LCAgLy8gdGV4dHVyZUxvZF8wMGgxMEIwMEIKKyAgICAyNjE5LCAg
Ly8gdGV4dHVyZUdhdGhlcl8wME8yMEIwMEQKKyAgICAyNjIwLCAgLy8gZ2xfTG9jYWxJbnZvY2F0
aW9uSUQKKyAgICAyNjIyLCAgLy8gY2xhbXBfMDBCMDBCMDBCCisgICAgMjYyNCwgIC8vIHRleHR1
cmVHYXRoZXJfMDBkMTBCCisgICAgMjYyNSwgIC8vIGdsX01heEdlb21ldHJ5QXRvbWljQ291bnRl
ckJ1ZmZlcnMKKyAgICAyNjI2LCAgLy8gdGV4dHVyZU9mZnNldF8wMHAxMEIwMEQwMEIKKyAgICAy
NjI3LCAgLy8gY2xhbXBfMTBDMTBDMTBDCisgICAgMjYyOCwgIC8vIGltYWdlQXRvbWljWG9yXzAx
QjEwRDAwRAorICAgIDI2MjksICAvLyBvdXRlclByb2R1Y3RfMjBCMTBCCisgICAgMjYzMSwgIC8v
IHRleHR1cmVQcm9qT2Zmc2V0XzAwdDEwQjAwRAorICAgIDI2MzIsICAvLyBpc2luZl8yMEMKKyAg
ICAyNjMzLCAgLy8gdGV4dHVyZUdyYWRfMDBlMzBCMjBCMjBCCisgICAgMjYzNSwgIC8vIHRleHR1
cmVTaXplXzAwSjAwRAorICAgIDI2MzcsICAvLyB0ZXh0dXJlUXVlcnlMb2RfMDBaMjBCCisgICAg
MjYzOCwgIC8vIGRvdF8xMEMxMEMKKyAgICAyNjM5LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFLMjBE
MDBFCisgICAgMjY0MCwgIC8vIGltYWdlQXRvbWljWG9yXzAxSzIwRDAwRAorICAgIDI2NDEsICAv
LyB0ZXh0dXJlUHJvakdyYWRfMDBuMzBCMTBCMTBCCisgICAgMjY0MiwgIC8vIGltYWdlQXRvbWlj
TWluXzAxVTIwRDAwRDAwRQorICAgIDI2NDMsICAvLyBpbWFnZUF0b21pY01pbl8wMVUyMEQwMEQw
MEQKKyAgICAyNjQ0LCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFRMTBEMDBECisgICAgMjY0NSwgIC8v
IHRleHR1cmUyRFByb2pMb2RFWFRfMDBJMzBCMDBCCisgICAgMjY0NiwgIC8vIGltYWdlQXRvbWlj
WG9yXzAxVDEwRDAwRDAwRAorICAgIDI2NDcsICAvLyBpbWFnZUF0b21pY1hvcl8wMVQxMEQwMEQw
MEUKKyAgICAyNjQ4LCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFiMjBEMDBECisgICAgMjY0OSwgIC8v
IHN0ZXBfMDBCMDBCCisgICAgMjY1MSwgIC8vIHRleHR1cmUyRExvZEVYVF8wMEkxMEIwMEIKKyAg
ICAyNjUyLCAgLy8gdGV4dHVyZV8wMEsyMEIwMEIKKyAgICAyNjU0LCAgLy8gdGV4dHVyZVByb2pH
cmFkT2Zmc2V0XzAwbjMwQjEwQjEwQjEwRAorICAgIDI2NTUsICAvLyB0ZXh0dXJlR3JhZF8wMEoy
MEIyMEIyMEIKKyAgICAyNjU3LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMVYyMEQwMEQwMEUw
MEUKKyAgICAyNjU4LCAgLy8gdGV4dHVyZU9mZnNldF8wMFUyMEIxMEQwMEIKKyAgICAyNjYwLCAg
Ly8gaW50Qml0c1RvRmxvYXRfMTBECisgICAgMjY2MiwgIC8vIG1pbl8yMEMyMEMKKyAgICAyNjYz
LCAgLy8gZmluZExTQl8xMEQKKyAgICAyNjY1LCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBZ
MzBCMDBCMjBECisgICAgMjY2NywgIC8vIGltYWdlQXRvbWljTWF4XzAxaDAwRDAwRQorICAgIDI2
NjgsICAvLyB0ZXh0dXJlM0RfMDBKMjBCCisgICAgMjY3MCwgIC8vIGdsX1NlY29uZGFyeUZyYWdE
YXRhRVhUCisgICAgMjY3MSwgIC8vIGltYWdlQXRvbWljQWRkXzAxWDEwRDAwRQorICAgIDI2NzIs
ICAvLyBmYWNlZm9yd2FyZF8yMEMyMEMyMEMKKyAgICAyNjczLCAgLy8gaW1hZ2VBdG9taWNBbmRf
MDFPMTBEMDBFCisgICAgMjY3NCwgIC8vIGltYWdlQXRvbWljQWRkXzAxWDEwRDAwRAorICAgIDI2
NzUsICAvLyBpbWFnZUF0b21pY1hvcl8wMVcyMEQwMEQwMEQKKyAgICAyNjc2LCAgLy8gaW1hZ2VB
dG9taWNYb3JfMDFXMjBEMDBEMDBFCisgICAgMjY3NywgIC8vIHRleHR1cmVHYXRoZXJfMDBuMTBC
MDBCCisgICAgMjY3OCwgIC8vIGltYWdlQXRvbWljWG9yXzAxWjEwRDAwRQorICAgIDI2NzksICAv
LyBpbWFnZUF0b21pY1hvcl8wMVoxMEQwMEQKKyAgICAyNjgwLCAgLy8gdGV4dHVyZUdhdGhlcl8w
MFgxMEIwMEQKKyAgICAyNjgyLCAgLy8gaW1hZ2VBdG9taWNNYXhfMDFMMDBEMDBFCisgICAgMjY4
MywgIC8vIGltYWdlQXRvbWljTWF4XzAxTDAwRDAwRAorICAgIDI2ODQsICAvLyBpbWFnZUF0b21p
Y1hvcl8wMUcyMEQwMEUKKyAgICAyNjg1LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFHMjBEMDBECisg
ICAgMjY4NiwgIC8vIHRleHR1cmVPZmZzZXRfMDBhMjBCMTBECisgICAgMjY4OCwgIC8vIGltYWdl
QXRvbWljRXhjaGFuZ2VfMDFYMTBEMDBCCisgICAgMjY4OSwgIC8vIHRleHR1cmVHYXRoZXJPZmZz
ZXRzXzAwdjEwQjEwRHg0CisgICAgMjY5MCwgIC8vIHRleHR1cmUyRFByb2pfMDBJMzBCMDBCCisg
ICAgMjY5MiwgIC8vIHRleHR1cmVRdWVyeUxvZF8wMFgxMEIKKyAgICAyNjkzLCAgLy8gaW1hZ2VB
dG9taWNBbmRfMDFJMjBEMDBFCisgICAgMjY5NCwgIC8vIHRleHR1cmVDdWJlR3JhZEVYVF8wMEsy
MEIyMEIyMEIKKyAgICAyNjk1LCAgLy8gbWluXzAwQjAwQgorICAgIDI2OTcsICAvLyB0ZXh0dXJl
R3JhZE9mZnNldF8wMG8wMEIwMEIwMEIwMEQKKyAgICAyNjk4LCAgLy8gaW1hZ2VBdG9taWNFeGNo
YW5nZV8wMVExMEQwMEIKKyAgICAyNjk5LCAgLy8gbWl4XzMwQzMwQzMwRgorICAgIDI3MDAsICAv
LyBtaXhfMzBDMzBDMzBDCisgICAgMjcwMSwgIC8vIGdsX1dvcmtHcm91cElECisgICAgMjcwMywg
IC8vIGRlZ3JlZXNfMDBCCisgICAgMjcwNSwgIC8vIGltYWdlQXRvbWljTWF4XzAxSjIwRDAwRQor
ICAgIDI3MDYsICAvLyBpbWFnZUF0b21pY01heF8wMUoyMEQwMEQKKyAgICAyNzA3LCAgLy8gaW1h
Z2VBdG9taWNNaW5fMDFEMjBEMDBECisgICAgMjcwOCwgIC8vIHRleHR1cmVHYXRoZXJPZmZzZXRz
XzAwUjEwQjEwRHg0CisgICAgMjcxMSwgIC8vIGF0b21pY0V4Y2hhbmdlXzAwRDAwRAorICAgIDI3
MTMsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwbTIwQjAwRDAwQgorICAgIDI3MTQsICAvLyBnbF9NYXhH
ZW9tZXRyeUF0b21pY0NvdW50ZXJzCisgICAgMjcxNSwgIC8vIHRleHR1cmVPZmZzZXRfMDBmMzBC
MTBECisgICAgMjcxNiwgIC8vIGltYWdlU3RvcmVfMDFjMjBEMzBFCisgICAgMjcxNywgIC8vIGlt
YWdlQXRvbWljRXhjaGFuZ2VfMDFhMjBEMDBECisgICAgMjcxOCwgIC8vIGltYWdlQXRvbWljRXhj
aGFuZ2VfMDFhMjBEMDBFCisgICAgMjcxOSwgIC8vIGltYWdlQXRvbWljRXhjaGFuZ2VfMDFhMjBE
MDBCCisgICAgMjcyMCwgIC8vIG1hdHJpeENvbXBNdWx0XzYwQjYwQgorICAgIDI3MjEsICAvLyBp
bWFnZUF0b21pY0NvbXBTd2FwXzAwejEwRDAwRDAwRAorICAgIDI3MjIsICAvLyB0ZXh0dXJlUHJv
al8wMHQzMEIKKyAgICAyNzIzLCAgLy8gdGV4dHVyZVByb2pHcmFkT2Zmc2V0XzAwdDEwQjAwQjAw
QjAwRAorICAgIDI3MjQsICAvLyB1bnBhY2tTbm9ybTJ4MTZfMDBFCisgICAgMjcyNiwgIC8vIGxl
c3NUaGFuXzMwRDMwRAorICAgIDI3MjgsICAvLyBhdGFuXzAwQjAwQgorICAgIDI3MzAsICAvLyB0
ZXh0dXJlUXVlcnlMb2RfMDBTMjBCCisgICAgMjczMSwgIC8vIG5vdEVxdWFsXzEwQjEwQgorICAg
IDI3MzMsICAvLyBpbWFnZUxvYWRfMDFHMjBECisgICAgMjczNSwgIC8vIHRydW5jXzMwQgorICAg
IDI3MzcsICAvLyB0cnVuY18zMEMKKyAgICAyNzM4LCAgLy8gbGVuZ3RoXzAwQgorICAgIDI3NDAs
ICAvLyBsZW5ndGhfMDBDCisgICAgMjc0MSwgIC8vIGltYWdlQXRvbWljQW5kXzAxSDIwRDAwRAor
ICAgIDI3NDIsICAvLyBpbWFnZUF0b21pY0FuZF8wMUgyMEQwMEUKKyAgICAyNzQzLCAgLy8gdGV4
dHVyZVByb2pfMDBYMzBCMDBCCisgICAgMjc0NSwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFD
MjBEMDBFMDBFCisgICAgMjc0NiwgIC8vIHRhbl8wMEIKKyAgICAyNzQ4LCAgLy8gbWluXzIwRTAw
RQorICAgIDI3NTAsICAvLyB0ZXh0dXJlTG9kXzAweDMwQjAwQgorICAgIDI3NTEsICAvLyB0ZXh0
dXJlU2l6ZV8wMGoKKyAgICAyNzUyLCAgLy8gdGV4dHVyZVNpemVfMDBuCisgICAgMjc1MywgIC8v
IGltYWdlQXRvbWljWG9yXzAxRjIwRDAwRAorICAgIDI3NTQsICAvLyB0ZXh0dXJlU2l6ZV8wMGMK
KyAgICAyNzU2LCAgLy8gdGV4dHVyZVNpemVfMDBiCisgICAgMjc1OSwgIC8vIG1pbl8yMEIyMEIK
KyAgICAyNzYxLCAgLy8gdGV4dHVyZVNpemVfMDBxCisgICAgMjc2MiwgIC8vIHRleHR1cmVTaXpl
XzAwcgorICAgIDI3NjMsICAvLyB0ZXh0dXJlU2l6ZV8wMHcKKyAgICAyNzY0LCAgLy8gdGV4dHVy
ZVNpemVfMDB2CisgICAgMjc2NSwgIC8vIGJpdGZpZWxkSW5zZXJ0XzIwRTIwRTAwRDAwRAorICAg
IDI3NjcsICAvLyBnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQKKyAgICAyNzY5LCAgLy8gdGV4dHVy
ZVNpemVfMDBPCisgICAgMjc3MCwgIC8vIGltYWdlQXRvbWljQW5kXzAxYTIwRDAwRQorICAgIDI3
NzEsICAvLyBpbWFnZUF0b21pY01pbl8wMWcwMEQwMEQKKyAgICAyNzcyLCAgLy8gdHJ1bmNfMDBD
CisgICAgMjc3MywgIC8vIGltYWdlQXRvbWljQW5kXzAxYTIwRDAwRAorICAgIDI3NzQsICAvLyB0
ZXh0dXJlU2l6ZV8wMFEKKyAgICAyNzc2LCAgLy8gdGV4dHVyZVNpemVfMDBQCisgICAgMjc3OSwg
IC8vIGltYWdlQXRvbWljQWRkXzAxTTAwRDAwRQorICAgIDI3ODAsICAvLyBpbWFnZUF0b21pY0Fk
ZF8wMU0wMEQwMEQKKyAgICAyNzgxLCAgLy8gdGV4dHVyZVNpemVfMDBXCisgICAgMjc4MywgIC8v
IHRleHR1cmVQcm9qTG9kXzAwWDIwQjAwQgorICAgIDI3ODUsICAvLyBzbW9vdGhzdGVwXzAwQzAw
QzAwQworICAgIDI3ODYsICAvLyBhdG9taWNDb3VudGVyQW5kXzAwRzAwRQorICAgIDI3ODcsICAv
LyBmYWNlZm9yd2FyZF8zMEIzMEIzMEIKKyAgICAyNzg5LCAgLy8gZGlzdGFuY2VfMjBDMjBDCisg
ICAgMjc5MCwgIC8vIGF0b21pY0NvdW50ZXJBZGRfMDBHMDBFCisgICAgMjc5MSwgIC8vIGltYWdl
U3RvcmVfMDFPMTBEMzBCCisgICAgMjc5MiwgIC8vIHRleHR1cmVfMDBYMTBCCisgICAgMjc5NCwg
IC8vIGNlaWxfMDBDCisgICAgMjc5NSwgIC8vIGNlaWxfMDBCCisgICAgMjc5NywgIC8vIGRpc3Rh
bmNlXzAwQjAwQgorICAgIDI3OTksICAvLyB0ZXhlbEZldGNoXzAwTzEwRAorICAgIDI4MDAsICAv
LyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxQzIwRDAwRAorICAgIDI4MDEsICAvLyBpbWFnZUF0b21p
Y0V4Y2hhbmdlXzAxQzIwRDAwRQorICAgIDI4MDIsICAvLyB0ZXh0dXJlR3JhZF8wMHMzMEIyMEIy
MEIKKyAgICAyODAzLCAgLy8gdGV4dHVyZUdhdGhlcl8wMEkxMEIKKyAgICAyODA1LCAgLy8gaW1h
Z2VBdG9taWNFeGNoYW5nZV8wMUMyMEQwMEIKKyAgICAyODA2LCAgLy8gbWluXzMwRDMwRAorICAg
IDI4MDgsICAvLyBpbWFnZUF0b21pY0V4Y2hhbmdlXzAxWjEwRDAwQgorICAgIDI4MDksICAvLyBm
aW5kTVNCXzMwRQorICAgIDI4MTEsICAvLyBmaW5kTVNCXzMwRAorICAgIDI4MTMsICAvLyB0ZXh0
dXJlR3JhZE9mZnNldF8wMFIxMEIxMEIxMEIxMEQKKyAgICAyODE1LCAgLy8gZndpZHRoXzMwQgor
ICAgIDI4MTgsICAvLyB0ZXh0dXJlR3JhZF8wMEsyMEIyMEIyMEIKKyAgICAyODIwLCAgLy8gdGV4
ZWxGZXRjaF8wMFMyMEQwMEQKKyAgICAyODIyLCAgLy8gbWF4XzEwQjAwQgorICAgIDI4MjQsICAv
LyB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfMDBSMzBCMTBCMTBCMTBECisgICAgMjgyNiwgIC8vIHRl
eGVsRmV0Y2hPZmZzZXRfMDBMMjBEMDBEMTBECisgICAgMjgyOCwgIC8vIGlzbmFuXzMwQworICAg
IDI4MjksICAvLyB0cmFuc3Bvc2VfNTBCCisgICAgMjgzMSwgIC8vIGdyZWF0ZXJUaGFuRXF1YWxf
MjBEMjBECisgICAgMjgzMywgIC8vIGFzaW5oXzAwQgorICAgIDI4MzUsICAvLyBnbF9QcmltaXRp
dmVJREluCisgICAgMjgzNiwgIC8vIHRleHR1cmVHYXRoZXJfMDBaMjBCCisgICAgMjgzOCwgIC8v
IHRleHR1cmVHcmFkXzAwcDEwQjAwQjAwQgorICAgIDI4MzksICAvLyB0ZXh0dXJlUHJvak9mZnNl
dF8wMHYzMEIxMEQKKyAgICAyODQwLCAgLy8gZ3JlYXRlclRoYW5fMjBCMjBCCisgICAgMjg0Miwg
IC8vIG1pbl8yMEQyMEQKKyAgICAyODQ0LCAgLy8gdGV4ZWxGZXRjaE9mZnNldF8wMGcwMEQwMEQw
MEQKKyAgICAyODQ1LCAgLy8gaW1hZ2VBdG9taWNDb21wU3dhcF8wMWcwMEQwMEUwMEUKKyAgICAy
ODQ2LCAgLy8gaW1hZ2VBdG9taWNNaW5fMDFXMjBEMDBEMDBFCisgICAgMjg0NywgIC8vIGltYWdl
QXRvbWljTWluXzAxVzIwRDAwRDAwRAorICAgIDI4NDgsICAvLyBpbWFnZUF0b21pY1hvcl8wMU8x
MEQwMEQKKyAgICAyODQ5LCAgLy8gaW1hZ2VBdG9taWNYb3JfMDFPMTBEMDBFCisgICAgMjg1MCwg
IC8vIHRhbmhfMjBCCisgICAgMjg1MiwgIC8vIHRleHR1cmVQcm9qXzAwbTMwQjAwQgorICAgIDI4
NTMsICAvLyBzaW5fMjBCCisgICAgMjg1NSwgIC8vIHNtb290aHN0ZXBfMDBDMDBDMzBDCisgICAg
Mjg1NiwgIC8vIHRleHR1cmVTaXplXzAwbDAwRAorICAgIDI4NTcsICAvLyB0ZXh0dXJlTG9kXzAw
bzAwQjAwQgorICAgIDI4NTgsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwSTEwQjEwRDAwQgorICAgIDI4
NjAsICAvLyBpbWFnZUF0b21pY0FuZF8wMHoxMEQwMEQKKyAgICAyODYxLCAgLy8gaW1hZ2VBdG9t
aWNBbmRfMDB6MTBEMDBFCisgICAgMjg2MiwgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFXMjBE
MDBEMDBEMDBECisgICAgMjg2MywgIC8vIGdsX01heEF0b21pY0NvdW50ZXJCdWZmZXJTaXplCisg
ICAgMjg2NSwgIC8vIHRleHR1cmVPZmZzZXRfMDBKMjBCMjBEMDBCCisgICAgMjg2NywgIC8vIGxl
c3NUaGFuRXF1YWxfMjBFMjBFCisgICAgMjg2OSwgIC8vIGdsX0Jhc2VWZXJ0ZXgKKyAgICAyODcw
LCAgLy8gdGV4dHVyZU9mZnNldF8wMGcwMEIwMEQKKyAgICAyODcxLCAgLy8gdGV4dHVyZVByb2pf
MDBnMzBCCisgICAgMjg3MiwgIC8vIGdsX01heEdlb21ldHJ5VG90YWxPdXRwdXRDb21wb25lbnRz
CisgICAgMjg3MywgIC8vIGJpdGZpZWxkSW5zZXJ0XzMwRTMwRTAwRDAwRAorICAgIDI4NzUsICAv
LyBiaXRmaWVsZEV4dHJhY3RfMjBFMDBEMDBECisgICAgMjg3NywgIC8vIHVpbnRCaXRzVG9GbG9h
dF8yMEUKKyAgICAyODc5LCAgLy8gdW5wYWNrVW5vcm00eDhfMDBFCisgICAgMjg4MSwgIC8vIGlt
YWdlQXRvbWljRXhjaGFuZ2VfMDFLMjBEMDBFCisgICAgMjg4MiwgIC8vIG1vZF8xMEIxMEIKKyAg
ICAyODg0LCAgLy8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUsyMEQwMEIKKyAgICAyODg1LCAgLy8g
aW1hZ2VBdG9taWNBbmRfMDFCMTBEMDBFCisgICAgMjg4NiwgIC8vIGltYWdlQXRvbWljWG9yXzAx
aTAwRDAwRAorICAgIDI4ODcsICAvLyBnbF9NYXhWZXJ0ZXhJbWFnZVVuaWZvcm1zCisgICAgMjg4
OSwgIC8vIGVxdWFsXzIwRDIwRAorICAgIDI4OTEsICAvLyBtaXhfMTBFMTBFMTBGCisgICAgMjg5
MywgIC8vIHRleHR1cmVHYXRoZXJfMDBSMTBCMDBECisgICAgMjg5NSwgIC8vIHRleHR1cmVTaXpl
XzAwWjAwRAorICAgIDI4OTcsICAvLyBiaXRmaWVsZEV4dHJhY3RfMzBEMDBEMDBECisgICAgMjg5
OSwgIC8vIGltYWdlQXRvbWljWG9yXzAxSjIwRDAwRAorICAgIDI5MDAsICAvLyBpbWFnZUF0b21p
Y1hvcl8wMUoyMEQwMEUKKyAgICAyOTAxLCAgLy8gaW50Qml0c1RvRmxvYXRfMDBECisgICAgMjkw
MywgIC8vIHRleHR1cmVMb2RPZmZzZXRfMDBtMjBCMDBCMDBECisgICAgMjkwNCwgIC8vIGZpbmRM
U0JfMDBFCisgICAgMjkwNiwgIC8vIHRleGVsRmV0Y2hfMDBwMTBEMDBECisgICAgMjkwNywgIC8v
IHRleHR1cmVHYXRoZXJfMDBkMTBCMDBCCisgICAgMjkwOSwgIC8vIHNoYWRvdzJEUHJval8wMGQz
MEIwMEIKKyAgICAyOTEwLCAgLy8gaW1hZ2VBdG9taWNBZGRfMDFUMTBEMDBEMDBECisgICAgMjkx
MSwgIC8vIGltYWdlQXRvbWljQWRkXzAxVDEwRDAwRDAwRQorICAgIDI5MTIsICAvLyBpbnZlcnNl
c3FydF8xMEIKKyAgICAyOTE0LCAgLy8gaW52ZXJzZXNxcnRfMTBDCisgICAgMjkxNSwgIC8vIGFi
c18zMEQKKyAgICAyOTE3LCAgLy8gdHJhbnNwb3NlX0QwQgorICAgIDI5MTksICAvLyBhYnNfMzBD
CisgICAgMjkyMCwgIC8vIHRleHR1cmVQcm9qR3JhZF8wME8zMEIxMEIxMEIKKyAgICAyOTIxLCAg
Ly8gRW1wdHkKKyAgICAyOTIxLCAgLy8gaW1hZ2VMb2FkXzAxRTIwRAorICAgIDI5MjMsICAvLyB0
ZXh0dXJlUHJval8wME4yMEIwMEIKKyAgICAyOTI0LCAgLy8gZ2xfRnJhZ0RhdGEKKyAgICAyOTI2
LCAgLy8gZEZkeENvYXJzZV8yMEIKKyAgICAyOTI3LCAgLy8gY2xhbXBfMjBFMDBFMDBFCisgICAg
MjkyOSwgIC8vIHRleHR1cmVQcm9qXzAwZDMwQgorICAgIDI5MzEsICAvLyBnbF9NYXhWZXJ0ZXhP
dXRwdXRWZWN0b3JzCisgICAgMjkzMywgIC8vIGltYWdlQXRvbWljT3JfMDFpMDBEMDBECisgICAg
MjkzNCwgIC8vIGltYWdlQXRvbWljT3JfMDFpMDBEMDBFCisgICAgMjkzNSwgIC8vIHNoYWRvdzFE
XzAwbTIwQgorICAgIDI5MzYsICAvLyB0ZXh0dXJlT2Zmc2V0XzAwdTEwQjAwRAorICAgIDI5Mzcs
ICAvLyBjb3NoXzEwQgorICAgIDI5MzksICAvLyBzaWduXzEwQworICAgIDI5NDAsICAvLyBpbWFn
ZUF0b21pY0FuZF8wMUcyMEQwMEUKKyAgICAyOTQxLCAgLy8gaW1hZ2VBdG9taWNBbmRfMDFHMjBE
MDBECisgICAgMjk0MiwgIC8vIHNpZ25fMTBECisgICAgMjk0NCwgIC8vIHVtdWxFeHRlbmRlZF8w
MEUwMEUwMEUwMEUKKyAgICAyOTQ2LCAgLy8gZ2xfTWF4VmVydGV4QXR0cmlicworICAgIDI5NDgs
ICAvLyBFbXB0eQorICAgIDI5NDgsICAvLyB0ZXh0dXJlXzAwYTIwQgorICAgIDI5NTAsICAvLyBp
bWFnZUF0b21pY0V4Y2hhbmdlXzAxZzAwRDAwQgorICAgIDI5NTEsICAvLyBpbWFnZUF0b21pY0V4
Y2hhbmdlXzAxQjEwRDAwQgorICAgIDI5NTIsICAvLyBsZGV4cF8xMEIxMEQKKyAgICAyOTU0LCAg
Ly8gaW1hZ2VBdG9taWNFeGNoYW5nZV8wMUIxMEQwMEQKKyAgICAyOTU1LCAgLy8gaW1hZ2VBdG9t
aWNFeGNoYW5nZV8wMUIxMEQwMEUKKyAgICAyOTU2LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBn
MzBCMDBECisgICAgMjk1NywgIC8vIHRleHR1cmVfMDBaMjBCCisgICAgMjk1OSwgIC8vIGRlZ3Jl
ZXNfMTBCCisgICAgMjk2MSwgIC8vIHRleHR1cmVfMDBLMjBCCisgICAgMjk2MywgIC8vIHNpbmhf
MTBCCisgICAgMjk2NSwgIC8vIHRleHR1cmVfMDBtMjBCCisgICAgMjk2NiwgIC8vIGltYWdlQXRv
bWljWG9yXzAxQzIwRDAwRAorICAgIDI5NjcsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0c18wMEkx
MEIxMER4NDAwRAorICAgIDI5NzAsICAvLyBub3RfMzBGCisgICAgMjk3MiwgIC8vIHRleHR1cmVQ
cm9qTG9kT2Zmc2V0XzAwSTIwQjAwQjEwRAorICAgIDI5NzQsICAvLyB0ZXh0dXJlR2F0aGVyXzAw
SzIwQgorICAgIDI5NzYsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwUjEwQjEwRAorICAgIDI5
NzgsICAvLyBtZW1vcnlCYXJyaWVyU2hhcmVkXworICAgIDI5ODAsICAvLyBjbGFtcF8yMEIyMEIy
MEIKKyAgICAyOTgyLCAgLy8gdGV4ZWxGZXRjaF8wMFcyMEQwMEQKKyAgICAyOTg0LCAgLy8gdGV4
dHVyZVByb2pMb2RfMDBnMTBCMDBCCisgICAgMjk4NSwgIC8vIHRydW5jXzIwQworICAgIDI5ODYs
ICAvLyB0cnVuY18yMEIKKyAgICAyOTg4LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBJMzBCMTBE
MDBCCisgICAgMjk5MCwgIC8vIG1heF8wMEMwMEMKKyAgICAyOTkxLCAgLy8gdGFuXzEwQgorICAg
IDI5OTMsICAvLyB0ZXh0dXJlXzAwZzAwQgorICAgIDI5OTQsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0
XzAwTDIwQjAwQjEwRAorICAgIDI5OTYsICAvLyB0ZXh0dXJlTG9kT2Zmc2V0XzAwdTEwQjAwQjAw
RAorICAgIDI5OTcsICAvLyBpbWFnZUF0b21pY09yXzAxQjEwRDAwRAorICAgIDI5OTgsICAvLyBp
bWFnZUF0b21pY09yXzAxQjEwRDAwRQorICAgIDI5OTksICAvLyBpc2luZl8yMEIKKyAgICAzMDAx
LCAgLy8gZEZkeUNvYXJzZV8xMEIKKyAgICAzMDAyLCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldF8w
MFgxMEIxMEQwMEQKKyAgICAzMDA0LCAgLy8gbWluXzEwRTEwRQorICAgIDMwMDYsICAvLyBtZW1v
cnlCYXJyaWVySW1hZ2VfCisgICAgMzAwOCwgIC8vIHJvdW5kXzEwQgorICAgIDMwMTAsICAvLyBy
b3VuZF8xMEMKKyAgICAzMDExLCAgLy8gdGV4dHVyZVByb2pMb2RPZmZzZXRfMDBtMzBCMDBCMDBE
CisgICAgMzAxMiwgIC8vIHRleHR1cmVQcm9qR3JhZE9mZnNldF8wMGcxMEIwMEIwMEIwMEQKKyAg
ICAzMDEzLCAgLy8gdGV4dHVyZVByb2pfMDBSMzBCCisgICAgMzAxNSwgIC8vIHNoYWRvdzFEUHJv
al8wMG0zMEIKKyAgICAzMDE2LCAgLy8gdGV4dHVyZV8wMGYzMEIwMEIKKyAgICAzMDE3LCAgLy8g
Zm1hXzAwQjAwQjAwQgorICAgIDMwMjAsICAvLyBpbWFnZVN0b3JlXzAxWDEwRDMwQgorICAgIDMw
MjEsICAvLyBpbWFnZUF0b21pY09yXzAxYjIwRDAwRQorICAgIDMwMjIsICAvLyBpbWFnZUF0b21p
Y09yXzAxYjIwRDAwRAorICAgIDMwMjMsICAvLyB0ZXh0dXJlR2F0aGVyT2Zmc2V0XzAwdjEwQjEw
RDAwRAorICAgIDMwMjQsICAvLyBhdG9taWNNYXhfMDBFMDBFCisgICAgMzAyNiwgIC8vIHRleHR1
cmVRdWVyeUxvZF8wMHQwMEIKKyAgICAzMDI3LCAgLy8gdGV4dHVyZVByb2pPZmZzZXRfMDBSMzBC
MTBECisgICAgMzAyOSwgIC8vIHRleHR1cmVQcm9qXzAwWDMwQgorICAgIDMwMzEsICAvLyBmaW5k
TVNCXzAwRAorICAgIDMwMzMsICAvLyBmaW5kTVNCXzAwRQorICAgIDMwMzUsICAvLyBtaXhfMjBC
MjBCMjBCCisgICAgMzAzNywgIC8vIGltYWdlQXRvbWljQ29tcFN3YXBfMDFYMTBEMDBEMDBECisg
ICAgMzAzOCwgIC8vIGZyZXhwXzMwQzMwRAorICAgIDMwMzksICAvLyBtaXhfMTBDMTBDMTBDCisg
ICAgMzA0MCwgIC8vIG1pbl8zMEQwMEQKKyAgICAzMDQyLCAgLy8gaW1hZ2VBdG9taWNDb21wU3dh
cF8wMUsyMEQwMEUwMEUKKyAgICAzMDQzLCAgLy8gdGV4dHVyZV8wME0xMEIwMEIKKyAgICAzMDQ0
LCAgLy8gZndpZHRoXzIwQgorICAgIDMwNDcsICAvLyBpbWFnZUF0b21pY09yXzAxUzEwRDAwRDAw
RAorICAgIDMwNDgsICAvLyBpbWFnZUF0b21pY09yXzAxUzEwRDAwRDAwRQorICAgIDMwNDksICAv
LyBtb2RfMzBDMDBDCisgICAgMzA1MCwgIC8vIGltYWdlQXRvbWljQWRkXzAxQTEwRDAwRAorICAg
IDMwNTEsICAvLyBpbWFnZUF0b21pY0FkZF8wMUExMEQwMEUKKyAgICAzMDUyLCAgLy8gdGV4dHVy
ZV8wMG8wMEIwMEIKKyAgICAzMDUzLCAgLy8gaW1hZ2VBdG9taWNPcl8wMUgyMEQwMEUKKyAgICAz
MDU0LCAgLy8gaW1hZ2VBdG9taWNPcl8wMUgyMEQwMEQKKyAgICAzMDU1LCAgLy8gY29zXzIwQgor
ICAgIDMwNTcsICAvLyBnbF9NYXhHZW9tZXRyeVVuaWZvcm1Db21wb25lbnRzCisgICAgMzA1OCwg
IC8vIHRleHR1cmVHYXRoZXJfMDBUMjBCCisgICAgMzA2MCwgIC8vIHRleHR1cmVQcm9qR3JhZE9m
ZnNldF8wMEozMEIyMEIyMEIyMEQKKyAgICAzMDYyLCAgLy8gYXNpbmhfMTBCCisgICAgMzA2NCwg
IC8vIHRleGVsRmV0Y2hPZmZzZXRfMDB2MTBEMTBECisgICAgMzA2NSwgIC8vIGltYWdlQXRvbWlj
WG9yXzAxRTIwRDAwRQorICAgIDMwNjYsICAvLyBpbWFnZUF0b21pY1hvcl8wMUUyMEQwMEQKKyAg
ICAzMDY3LCAgLy8gdGV4dHVyZUdhdGhlck9mZnNldHNfMDBSMTBCMTBEeDQwMEQKIH07CiAKIHVz
aW5nIEV4dCA9IFRFeHRlbnNpb247CkBAIC0zMTEyMyw2ICszMTEzNSwyMCBAQCB2b2lkIFRTeW1i
b2xUYWJsZTo6aW5pdGlhbGl6ZUJ1aWx0SW5WYXJpYWJsZXMoc2g6OkdMZW51bSBzaGFkZXJUeXBl
LAogICAgIG1fZ2xfTGFzdEZyYWdEYXRhTlYgPSBuZXcgVFZhcmlhYmxlKAogICAgICAgICBCdWls
dEluSWQ6OmdsX0xhc3RGcmFnRGF0YU5WLCBCdWlsdEluTmFtZTo6Z2xfTGFzdEZyYWdEYXRhLCBT
eW1ib2xUeXBlOjpCdWlsdEluLAogICAgICAgICBURXh0ZW5zaW9uOjpOVl9zaGFkZXJfZnJhbWVi
dWZmZXJfZmV0Y2gsIHR5cGVfZ2xfTGFzdEZyYWdEYXRhTlYpOworICAgIFRUeXBlICp0eXBlX2ds
X0NsaXBEaXN0YW5jZSA9IG5ldyBUVHlwZShFYnRGbG9hdCwgRWJwSGlnaCwgRXZxQ2xpcERpc3Rh
bmNlLCAxKTsKKyAgICB0eXBlX2dsX0NsaXBEaXN0YW5jZS0+bWFrZUFycmF5KHJlc291cmNlcy5N
YXhDbGlwRGlzdGFuY2VzKTsKKyAgICB0eXBlX2dsX0NsaXBEaXN0YW5jZS0+cmVhbGl6ZSgpOwor
ICAgIG1fZ2xfQ2xpcERpc3RhbmNlID0KKyAgICAgICAgbmV3IFRWYXJpYWJsZShCdWlsdEluSWQ6
OmdsX0NsaXBEaXN0YW5jZSwgQnVpbHRJbk5hbWU6OmdsX0NsaXBEaXN0YW5jZSwgU3ltYm9sVHlw
ZTo6QnVpbHRJbiwKKyAgICAgICAgICAgICAgICAgICAgICBURXh0ZW5zaW9uOjpBUFBMRV9jbGlw
X2Rpc3RhbmNlLCB0eXBlX2dsX0NsaXBEaXN0YW5jZSk7CisgICAgbV9nbF9NYXhDbGlwRGlzdGFu
Y2VzID0gbmV3IFRWYXJpYWJsZSgKKyAgICAgICAgQnVpbHRJbklkOjpnbF9NYXhDbGlwRGlzdGFu
Y2VzLCBCdWlsdEluTmFtZTo6Z2xfTWF4Q2xpcERpc3RhbmNlcywgU3ltYm9sVHlwZTo6QnVpbHRJ
biwKKyAgICAgICAgVEV4dGVuc2lvbjo6QVBQTEVfY2xpcF9kaXN0YW5jZSwgU3RhdGljVHlwZTo6
R2V0PEVidEludCwgRWJwTWVkaXVtLCBFdnFDb25zdCwgMSwgMT4oKSk7CisgICAgeworICAgICAg
ICBUQ29uc3RhbnRVbmlvbiAqdW5pb25BcnJheSA9IG5ldyBUQ29uc3RhbnRVbmlvblsxXTsKKyAg
ICAgICAgdW5pb25BcnJheVswXS5zZXRJQ29uc3QocmVzb3VyY2VzLk1heENsaXBEaXN0YW5jZXMp
OworICAgICAgICBzdGF0aWNfY2FzdDxUVmFyaWFibGUgKj4obV9nbF9NYXhDbGlwRGlzdGFuY2Vz
KS0+c2hhcmVDb25zdFBvaW50ZXIodW5pb25BcnJheSk7CisgICAgfQogICAgIFRGaWVsZExpc3Qg
KmZpZWxkc19nbF9QZXJWZXJ0ZXggPSBuZXcgVEZpZWxkTGlzdCgpOwogICAgIGZpZWxkc19nbF9Q
ZXJWZXJ0ZXgtPnB1c2hfYmFjayhuZXcgVEZpZWxkKG5ldyBUVHlwZShFYnRGbG9hdCwgRWJwSGln
aCwgRXZxUG9zaXRpb24sIDQsIDEpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEJ1aWx0SW5OYW1lOjpnbF9Qb3NpdGlvbiwgemVyb1NvdXJjZUxvYywKQEAg
LTMxMTU1LDcgKzMxMTgxLDcgQEAgbmFtZXNwYWNlCiB7CiB1aW50MTZfdCBHZXROZXh0UnVsZUlu
ZGV4KHVpbnQzMl90IG5hbWVIYXNoKQogewotICAgIGlmIChuYW1lSGFzaCA9PSAyMTM4IC0gMSkK
KyAgICBpZiAobmFtZUhhc2ggPT0gMjE0MCAtIDEpCiAgICAgICAgIHJldHVybiBBcnJheVNpemUo
QnVpbHRJbkFycmF5OjprUnVsZXMpOwogICAgIHJldHVybiBCdWlsdEluQXJyYXk6OmtNYW5nbGVk
T2Zmc2V0c1tuYW1lSGFzaCArIDFdOwogfQpAQCAtMzExNjcsNyArMzExOTMsNyBAQCBjb25zdCBU
U3ltYm9sICpUU3ltYm9sVGFibGU6OmZpbmRCdWlsdEluKGNvbnN0IEltbXV0YWJsZVN0cmluZyAm
bmFtZSwgaW50IHNoYWRlcgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHVpbnQzMl90
IG5hbWVIYXNoID0gbmFtZS5tYW5nbGVkTmFtZUhhc2goKTsKLSAgICBpZiAobmFtZUhhc2ggPj0g
MjEzOCkKKyAgICBpZiAobmFtZUhhc2ggPj0gMjE0MCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKICAgICBjb25zdCBjaGFyICphY3R1YWxOYW1lID0gQnVpbHRJbkFycmF5OjprTWFuZ2xlZE5h
bWVzW25hbWVIYXNoXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxlX2F1dG9nZW4uaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxlX2F1dG9nZW4uaApp
bmRleCBhYzMzOTc1ZGU3M2RkYzc4MWMxYWY2YzgwMDI3YjVjZWViMjhiMTBmLi41NWVkZmYwNTE4
ZTA5NzRmN2FkNDNlOTM0MWNmMDNiZmYwZjg3NWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TeW1ib2xUYWJsZV9hdXRvZ2VuLmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU3lt
Ym9sVGFibGVfYXV0b2dlbi5oCkBAIC02OCw2ICs2OCw4IEBAIGNsYXNzIFRTeW1ib2xUYWJsZUJh
c2UKICAgICBUU3ltYm9sICptX2dsX0ZyYWdEZXB0aEVYVCAgICAgICAgICAgICAgICAgICAgID0g
bnVsbHB0cjsKICAgICBUU3ltYm9sICptX2dsX0xhc3RGcmFnRGF0YSAgICAgICAgICAgICAgICAg
ICAgID0gbnVsbHB0cjsKICAgICBUU3ltYm9sICptX2dsX0xhc3RGcmFnRGF0YU5WICAgICAgICAg
ICAgICAgICAgID0gbnVsbHB0cjsKKyAgICBUU3ltYm9sICptX2dsX0NsaXBEaXN0YW5jZSAgICAg
ICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICBUU3ltYm9sICptX2dsX01heENsaXBEaXN0
YW5jZXMgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKICAgICBUU3ltYm9sICptX2dsX1BlclZl
cnRleCAgICAgICAgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKICAgICBUU3ltYm9sICptX2ds
X2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKICAgICBUU3ltYm9s
ICptX2dsX1Bvc2l0aW9uR1MgICAgICAgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Ry
YW5zbGF0b3JHTFNMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90
cmFuc2xhdG9yL1RyYW5zbGF0b3JHTFNMLmNwcAppbmRleCBiZjQ4NGRiYjM2YTk0MTczNjkzZGQx
NzQ2MTlhMzVhOTE5YjQ2NGZmLi4wNTRiMjIzMWFkZTk3MmNhNzM1NWJhMWZlMzE5YjZhNjllOWNm
MGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9UcmFuc2xhdG9yR0xTTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvckdMU0wuY3BwCkBAIC0zMjMsNiArMzIz
LDcgQEAgdm9pZCBUcmFuc2xhdG9yR0xTTDo6d3JpdGVFeHRlbnNpb25CZWhhdmlvcihUSW50ZXJt
Tm9kZSAqcm9vdCwgU2hDb21waWxlT3B0aW9ucwogICAgICAgICAvLyBvbiBkcml2ZXJzIHRoYXQg
ZG9uJ3QgaGF2ZSB0aGUgZXh0ZW5zaW9uIGF0IGFsbCBhcyBpdCB3b3VsZCBicmVhayBXZWJHTCAx
IGZvcgogICAgICAgICAvLyBzb21lIHVzZXJzLgogICAgICAgICBzaW5rIDw8ICIjZXh0ZW5zaW9u
IEdMX0FSQl9ncHVfc2hhZGVyNSA6IGVuYWJsZVxuIjsKKyAgICAgICAgc2luayA8PCAiI2V4dGVu
c2lvbiBHTF9FWFRfZ3B1X3NoYWRlcjUgOiBlbmFibGVcbiI7CiAgICAgfQogCiAgICAgVEV4dGVu
c2lvbkdMU0wgZXh0ZW5zaW9uR0xTTChnZXRPdXRwdXRUeXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvclZ1
bGthbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9UcmFuc2xhdG9yVnVsa2FuLmNwcAppbmRleCBmZDgzYWRjYjBkNzgxYmNiNDc4ZjFjYzg3NzM4
NTI3NWE4Y2Q5ZTc5Li44N2JiNjIxODYwMDAzZGVhMTIxNjI3YmQyNTUyMDBjNmJmNTg2ODk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9UcmFuc2xhdG9yVnVsa2FuLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yVnVsa2FuLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ZpbmRGdW5jdGlvbi5o
IgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ZpbmRNYWluLmgiCiAj
aW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvSW50ZXJtTm9kZV91dGlsLmgi
CisjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvUmVwbGFjZUNsaXBEaXN0
YW5jZVZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwv
UmVwbGFjZVZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0
aWwvUnVuQXRUaGVFbmRPZlNoYWRlci5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3Iv
dXRpbC5oIgpAQCAtMTc2LDYgKzE3Nyw3IEBAIGNvbnN0ZXhwciBjb25zdCBjaGFyIGtWaWV3cG9y
dFtdICAgICAgICAgICAgID0gInZpZXdwb3J0IjsKIGNvbnN0ZXhwciBjb25zdCBjaGFyIGtIYWxm
UmVuZGVyQXJlYUhlaWdodFtdID0gImhhbGZSZW5kZXJBcmVhSGVpZ2h0IjsKIGNvbnN0ZXhwciBj
b25zdCBjaGFyIGtWaWV3cG9ydFlTY2FsZVtdICAgICAgID0gInZpZXdwb3J0WVNjYWxlIjsKIGNv
bnN0ZXhwciBjb25zdCBjaGFyIGtOZWdWaWV3cG9ydFlTY2FsZVtdICAgID0gIm5lZ1ZpZXdwb3J0
WVNjYWxlIjsKK2NvbnN0ZXhwciBjb25zdCBjaGFyIGtDbGlwRGlzdGFuY2VzRW5hYmxlZFtdID0g
ImNsaXBEaXN0YW5jZXNFbmFibGVkIjsKIGNvbnN0ZXhwciBjb25zdCBjaGFyIGtYZmJBY3RpdmVV
bnBhdXNlZFtdICAgID0gInhmYkFjdGl2ZVVucGF1c2VkIjsKIGNvbnN0ZXhwciBjb25zdCBjaGFy
IGtYZmJWZXJ0aWNlc1BlckRyYXdbXSAgID0gInhmYlZlcnRpY2VzUGVyRHJhdyI7CiBjb25zdGV4
cHIgY29uc3QgY2hhciBrWGZiQnVmZmVyT2Zmc2V0c1tdICAgICA9ICJ4ZmJCdWZmZXJPZmZzZXRz
IjsKQEAgLTE4MywxMCArMTg1LDExIEBAIGNvbnN0ZXhwciBjb25zdCBjaGFyIGtBY2JCdWZmZXJP
ZmZzZXRzW10gICAgID0gImFjYkJ1ZmZlck9mZnNldHMiOwogY29uc3RleHByIGNvbnN0IGNoYXIg
a0RlcHRoUmFuZ2VbXSAgICAgICAgICAgPSAiZGVwdGhSYW5nZSI7CiBjb25zdGV4cHIgY29uc3Qg
Y2hhciBrUHJlUm90YXRpb25bXSAgICAgICAgICA9ICJwcmVSb3RhdGlvbiI7CiAKLWNvbnN0ZXhw
ciBzaXplX3Qga051bUdyYXBoaWNzRHJpdmVyVW5pZm9ybXMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwOworY29uc3RleHByIHNpemVfdCBrTnVtR3Jh
cGhpY3NEcml2ZXJVbmlmb3JtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTE7CiBjb25zdGV4cHIgc3RkOjphcnJheTxjb25zdCBjaGFyICosIGtOdW1H
cmFwaGljc0RyaXZlclVuaWZvcm1zPiBrR3JhcGhpY3NEcml2ZXJVbmlmb3JtTmFtZXMgPSB7Ci0g
ICAge2tWaWV3cG9ydCwga0hhbGZSZW5kZXJBcmVhSGVpZ2h0LCBrVmlld3BvcnRZU2NhbGUsIGtO
ZWdWaWV3cG9ydFlTY2FsZSwga1hmYkFjdGl2ZVVucGF1c2VkLAotICAgICBrWGZiVmVydGljZXNQ
ZXJEcmF3LCBrWGZiQnVmZmVyT2Zmc2V0cywga0FjYkJ1ZmZlck9mZnNldHMsIGtEZXB0aFJhbmdl
LCBrUHJlUm90YXRpb259fTsKKyAgICB7a1ZpZXdwb3J0LCBrSGFsZlJlbmRlckFyZWFIZWlnaHQs
IGtWaWV3cG9ydFlTY2FsZSwga05lZ1ZpZXdwb3J0WVNjYWxlLCBrQ2xpcERpc3RhbmNlc0VuYWJs
ZWQsCisgICAgIGtYZmJBY3RpdmVVbnBhdXNlZCwga1hmYlZlcnRpY2VzUGVyRHJhdywga1hmYkJ1
ZmZlck9mZnNldHMsIGtBY2JCdWZmZXJPZmZzZXRzLCBrRGVwdGhSYW5nZSwKKyAgICAga1ByZVJv
dGF0aW9ufX07CiAKIGNvbnN0ZXhwciBzaXplX3Qga051bUNvbXB1dGVEcml2ZXJVbmlmb3JtcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOwogY29uc3Rl
eHByIHN0ZDo6YXJyYXk8Y29uc3QgY2hhciAqLCBrTnVtQ29tcHV0ZURyaXZlclVuaWZvcm1zPiBr
Q29tcHV0ZURyaXZlclVuaWZvcm1OYW1lcyA9IHsKQEAgLTQxNSw5ICs0MTgsMTAgQEAgY29uc3Qg
VFZhcmlhYmxlICpBZGRHcmFwaGljc0RyaXZlclVuaWZvcm1zVG9TaGFkZXIoVEludGVybUJsb2Nr
ICpyb290LCBUU3ltYm9sVGEKICAgICAgICAgbmV3IFRUeXBlKEVidEZsb2F0KSwKICAgICAgICAg
bmV3IFRUeXBlKEVidEZsb2F0KSwKICAgICAgICAgbmV3IFRUeXBlKEVidEZsb2F0KSwKKyAgICAg
ICAgbmV3IFRUeXBlKEVidFVJbnQpLCAgLy8gdWludCBjbGlwRGlzdGFuY2VzRW5hYmxlZDsgIC8v
IDMyIGJpdHMgZm9yIDMyIGNsaXAgZGlzdGFuY2VzIG1heAogICAgICAgICBuZXcgVFR5cGUoRWJ0
VUludCksCiAgICAgICAgIG5ldyBUVHlwZShFYnRVSW50KSwKLSAgICAgICAgLy8gTk9URTogVGhl
cmUncyBhIHZlYzMgZ2FwIGhlcmUgdGhhdCBjYW4gYmUgdXNlZCBpbiB0aGUgZnV0dXJlCisgICAg
ICAgIC8vIE5PVEU6IFRoZXJlJ3MgYSB2ZWMyIGdhcCBoZXJlIHRoYXQgY2FuIGJlIHVzZWQgaW4g
dGhlIGZ1dHVyZQogICAgICAgICBuZXcgVFR5cGUoRWJ0SW50LCA0KSwKICAgICAgICAgbmV3IFRU
eXBlKEVidFVJbnQsIDQpLAogICAgICAgICBlbXVsYXRlZERlcHRoUmFuZ2VUeXBlLApAQCAtMTAw
OSw2ICsxMDEzLDIzIEBAIGJvb2wgVHJhbnNsYXRvclZ1bGthbjo6dHJhbnNsYXRlSW1wbChUSW50
ZXJtQmxvY2sgKnJvb3QsCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAor
ICAgICAgICAvLyBTZWFyY2ggZm9yIHRoZSBnbF9DbGlwRGlzdGFuY2UgdXNhZ2UsIGlmIGl0cyB1
c2VkLCB3ZSBuZWVkIHRvIGRvIHNvbWUgcmVwbGFjZW1lbnRzLgorICAgICAgICBib29sIHVzZUNs
aXBEaXN0YW5jZSA9IGZhbHNlOworICAgICAgICBmb3IgKGNvbnN0IFNoYWRlclZhcmlhYmxlICZv
dXRwdXRWYXJ5aW5nIDogbU91dHB1dFZhcnlpbmdzKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAob3V0cHV0VmFyeWluZy5uYW1lID09ICJnbF9DbGlwRGlzdGFuY2UiKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHVzZUNsaXBEaXN0YW5jZSA9IHRydWU7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHVzZUNsaXBE
aXN0YW5jZSAmJiAhUmVwbGFjZUNsaXBEaXN0YW5jZUFzc2lnbm1lbnRzKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzLCByb290LCAmZ2V0U3ltYm9sVGFibGUoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRHJpdmVyVW5pZm9ybVJlZihk
cml2ZXJVbmlmb3Jtcywga0NsaXBEaXN0YW5jZXNFbmFibGVkKSkpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIEFwcGVuZCBkZXB0
aCByYW5nZSB0cmFuc2xhdGlvbiB0byBtYWluLgogICAgICAgICBpZiAoIXRyYW5zZm9ybURlcHRo
QmVmb3JlQ29ycmVjdGlvbihyb290LCBkcml2ZXJVbmlmb3JtcykpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2Js
b2NrbGF5b3V0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL2Jsb2NrbGF5b3V0LmNwcAppbmRleCA5Y2JjOTZiMzY1MGJhYzZjYjgxZmNmOWQ2NGY1
NjcyZGQ0MGFlYTkyLi5kNjgxZTRhMWQxM2Q2NmE4NzljZDU3YzdjY2Q3MzdmZjI2NjYxMGVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9ibG9ja2xheW91dC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvYmxvY2tsYXlvdXQuY3BwCkBAIC04Miw4ICs4Miw3IEBAIHZvaWQgVHJh
dmVyc2VTdHJ1Y3RBcnJheVZhcmlhYmxlKGNvbnN0IFNoYWRlclZhcmlhYmxlICZ2YXJpYWJsZSwK
ICAgICAvLyBOZXN0ZWQgYXJyYXlzIGFyZSBwcm9jZXNzZWQgc3RhcnRpbmcgZnJvbSBvdXRlcm1v
c3QgKGFycmF5TmVzdGluZ0luZGV4IDB1KSBhbmQgZW5kaW5nIGF0IHRoZQogICAgIC8vIGlubmVy
bW9zdC4gV2UgbWFrZSBhIHNwZWNpYWwgY2FzZSBmb3IgdW5zaXplZCBhcnJheXMuCiAgICAgY29u
c3QgdW5zaWduZWQgaW50IGN1cnJlbnRBcnJheVNpemUgPSB2YXJpYWJsZS5nZXROZXN0ZWRBcnJh
eVNpemUoMCk7Ci0gICAgdW5zaWduZWQgaW50IGNvdW50ICAgICAgICAgICAgICAgICAgPSBzdGQ6
Om1heChjdXJyZW50QXJyYXlTaXplLCAxdSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpbnQgYXJyYXlF
bGVtZW50ID0gMHU7IGFycmF5RWxlbWVudCA8IGNvdW50OyArK2FycmF5RWxlbWVudCkKKyAgICBm
b3IgKHVuc2lnbmVkIGludCBhcnJheUVsZW1lbnQgPSAwdTsgYXJyYXlFbGVtZW50IDwgY3VycmVu
dEFycmF5U2l6ZTsgKythcnJheUVsZW1lbnQpCiAgICAgewogICAgICAgICB2aXNpdG9yLT5lbnRl
ckFycmF5RWxlbWVudCh2YXJpYWJsZSwgYXJyYXlFbGVtZW50KTsKICAgICAgICAgU2hhZGVyVmFy
aWFibGUgZWxlbWVudFZhciA9IHZhcmlhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvYnVpbHRpbl92YXJpYWJsZXMuanNvbiBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2J1aWx0aW5f
dmFyaWFibGVzLmpzb24KaW5kZXggZjFhMTY3YzYxYTBjZDY3NmIzMmVkM2FiNzQxYmE4YmQxZDI1
ODE4ZS4uZTRiMGJhMTQyOThlYjNhODQ5MTAyODRhNjY4M2EzNDA3Yzc3NTljYiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvYnVpbHRp
bl92YXJpYWJsZXMuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9idWlsdGluX3ZhcmlhYmxlcy5qc29uCkBAIC03NTMsNiArNzUzLDI1IEBA
CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgIkFQUExFQ2xpcERpc3Rh
bmNlIjp7CisgICAgICAgICAgICAgICAgInZhcmlhYmxlcyI6eworICAgICAgICAgICAgICAgICAg
ICAiZ2xfQ2xpcERpc3RhbmNlIjp7CisgICAgICAgICAgICAgICAgICAgICAgICAiZXNzbF9sZXZl
bCI6IkNPTU1PTl9CVUlMVElOUyIsCisgICAgICAgICAgICAgICAgICAgICAgICAiZXNzbF9leHRl
bnNpb24iOiJBUFBMRV9jbGlwX2Rpc3RhbmNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJp
bml0RHluYW1pY1R5cGUiOiJUVHlwZSAqe3R5cGVfbmFtZX0gPSBuZXcgVFR5cGUoRWJ0RmxvYXQs
IEVicEhpZ2gsIEV2cUNsaXBEaXN0YW5jZSwgMSk7IHt0eXBlX25hbWV9LT5tYWtlQXJyYXkocmVz
b3VyY2VzLk1heENsaXBEaXN0YW5jZXMpOyIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgImdsX01heENsaXBEaXN0YW5jZXMiOnsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJlc3NsX2xldmVsIjoiQ09NTU9OX0JVSUxUSU5TIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjp7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2ljIjoiSW50
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIjoiTWVkaXVtIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicXVhbGlmaWVyIjoiQ29uc3QiCisgICAgICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgImVzc2xfZXh0ZW5zaW9u
IjoiQVBQTEVfY2xpcF9kaXN0YW5jZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUi
OiJyZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZy5sIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZy5sCmluZGV4IDU5
ODJlZDgzNmVlZDMxOTBjYTA2MWVjMjBhZjQ1MTI0N2Q1MjlkMWQuLmE3NzcyOGIyMWI2ZDMzNDI1
OTI5MjgwYmUwMjNiMGU1ZTc2NTk3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmcubAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nLmwKQEAgLTEwNSw2ICsx
MDUsNyBAQCBzdGF0aWMgaW50IEVTM18xX2tleXdvcmQoVFBhcnNlQ29udGV4dCAqY29udGV4dCwg
aW50IHRva2VuKTsKIHN0YXRpYyBpbnQgRVMyX3Jlc2VydmVkX0VTMl9leHRlbnNpb25fRVMzX2tl
eXdvcmQoVFBhcnNlQ29udGV4dCAqY29udGV4dCwgVEV4dGVuc2lvbiBleHRlbnNpb24sIGludCB0
b2tlbik7CiBzdGF0aWMgaW50IEVTM19leHRlbnNpb24oVFBhcnNlQ29udGV4dCAqY29udGV4dCwg
VEV4dGVuc2lvbiBleHRlbnNpb24sIGludCB0b2tlbik7CiBzdGF0aWMgaW50IEVTM19yZXNlcnZl
ZF9FUzNfMV9leHRlbnNpb25fRVMzXzJfa2V5d29yZChUUGFyc2VDb250ZXh0ICpjb250ZXh0LCBU
RXh0ZW5zaW9uIGV4dGVuc2lvbiwgaW50IHRva2VuKTsKK3N0YXRpYyBpbnQgRVMzX3Jlc2VydmVk
X0VTM19leHRlbnNpb24oVFBhcnNlQ29udGV4dCAqY29udGV4dCwgVEV4dGVuc2lvbiBleHRlbnNp
b24sIGludCB0b2tlbik7CiBzdGF0aWMgaW50IEVTM19yZXNlcnZlZF9FUzNfZXh0ZW5zaW9uX0VT
M18xX2tleXdvcmQoVFBhcnNlQ29udGV4dCAqY29udGV4dCwgVEV4dGVuc2lvbiBleHRlbnNpb24s
IGludCB0b2tlbik7CiBzdGF0aWMgaW50IEVTM18xX3Jlc2VydmVkX0VTM18xX2V4dGVuc2lvbl9F
UzNfMl9rZXl3b3JkKFRQYXJzZUNvbnRleHQgKmNvbnRleHQsIFRFeHRlbnNpb24gZXh0ZW5zaW9u
LCBpbnQgdG9rZW4pOwogc3RhdGljIGludCBXRUJHTF92aWRlb190ZXh0dXJlX2V4dGVuc2lvbihU
UGFyc2VDb250ZXh0ICpjb250ZXh0LCBpbnQgdG9rZW4pOwpAQCAtMTU2LDkgKzE1NywxMCBAQCBP
ICAgICAgICAgICBbMC03XQogImNhc2UiICAgICAgICAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29u
dGV4dCwgQ0FTRSk7IH0KICJkZWZhdWx0IiAgICAgIHsgcmV0dXJuIEVTMl9yZXNlcnZlZF9FUzNf
a2V5d29yZChjb250ZXh0LCBERUZBVUxUKTsgfQogCi0iY2VudHJvaWQiICAgICB7IHJldHVybiBF
UzNfa2V5d29yZChjb250ZXh0LCBDRU5UUk9JRCk7IH0KLSJmbGF0IiAgICAgICAgIHsgcmV0dXJu
IEVTMl9yZXNlcnZlZF9FUzNfa2V5d29yZChjb250ZXh0LCBGTEFUKTsgfQotInNtb290aCIgICAg
ICAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgU01PT1RIKTsgfQorImNlbnRyb2lkIiAg
ICAgIHsgcmV0dXJuIEVTM19rZXl3b3JkKGNvbnRleHQsIENFTlRST0lEKTsgfQorImZsYXQiICAg
ICAgICAgIHsgcmV0dXJuIEVTMl9yZXNlcnZlZF9FUzNfa2V5d29yZChjb250ZXh0LCBGTEFUKTsg
fQorInNtb290aCIgICAgICAgIHsgcmV0dXJuIEVTM19rZXl3b3JkKGNvbnRleHQsIFNNT09USCk7
IH0KKyJub3BlcnNwZWN0aXZlIiB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbihj
b250ZXh0LCBURXh0ZW5zaW9uOjpOVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0aW9u
LCBOT1BFUlNQRUNUSVZFKTsgfQogCiAiaW4iICAgICAgICAgICB7IHJldHVybiBJTl9RVUFMOyB9
CiAib3V0IiAgICAgICAgICB7IHJldHVybiBPVVRfUVVBTDsgfQpAQCAtMjYyLDcgKzI2NCw2IEBA
IE8gICAgICAgICAgIFswLTddCiAKICAgICAvKiBSZXNlcnZlZCBrZXl3b3JkcyBmb3IgR0xTTCBF
UyAzLjAwIHRoYXQgYXJlIG5vdCByZXNlcnZlZCBmb3IgR0xTTCBFUyAxLjAwICovCiAicmVzb3Vy
Y2UiICAgICAgICAgIHwKLSJub3BlcnNwZWN0aXZlIiAgICAgfAogInBhdGNoIiAgICAgICAgICAg
ICB8CiAic2FtcGxlIiAgICAgICAgICAgIHwKICJzdWJyb3V0aW5lIiAgICAgICAgfApAQCAtNjUx
LDYgKzY1MiwyNCBAQCBpbnQgRVMzX3Jlc2VydmVkX0VTM18xX2V4dGVuc2lvbl9FUzNfMl9rZXl3
b3JkKFRQYXJzZUNvbnRleHQgKmNvbnRleHQsIFRFeHRlbnNpbwogICAgIHJldHVybiBjaGVja190
eXBlKHl5c2Nhbm5lcik7CiB9CiAKK2ludCBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbihUUGFy
c2VDb250ZXh0ICpjb250ZXh0LCBURXh0ZW5zaW9uIGV4dGVuc2lvbiwgaW50IHRva2VuKQorewor
ICAgIHN0cnVjdCB5eWd1dHNfdCogeXlnID0gKHN0cnVjdCB5eWd1dHNfdCopIGNvbnRleHQtPmdl
dFNjYW5uZXIoKTsKKyAgICB5eXNjYW5fdCB5eXNjYW5uZXIgPSAoeXlzY2FuX3QpIGNvbnRleHQt
PmdldFNjYW5uZXIoKTsKKworICAgIGlmKGNvbnRleHQtPmdldFNoYWRlclZlcnNpb24oKSA+PSAz
MDApCisgICAgeworICAgICAgICBpZiAoY29udGV4dC0+aXNFeHRlbnNpb25FbmFibGVkKGV4dGVu
c2lvbikpIHsKKyAgICAgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHJldHVybiByZXNlcnZlZF93b3JkKHl5c2Nhbm5lcik7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICB5eWx2YWwtPmxleC5zdHJpbmcgPSBBbGxvY2F0ZVBvb2xDaGFyQXJyYXkoeXl0
ZXh0LCB5eWxlbmcpOworICAgIHJldHVybiBjaGVja190eXBlKHl5c2Nhbm5lcik7Cit9CisKIGlu
dCBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbl9FUzNfMV9rZXl3b3JkKFRQYXJzZUNvbnRleHQg
KmNvbnRleHQsIFRFeHRlbnNpb24gZXh0ZW5zaW9uLCBpbnQgdG9rZW4pCiB7CiAgICAgc3RydWN0
IHl5Z3V0c190KiB5eWcgPSAoc3RydWN0IHl5Z3V0c190KikgY29udGV4dC0+Z2V0U2Nhbm5lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvZ2xzbGFuZy55IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvZ2xzbGFuZy55CmluZGV4IDdhMWNjNGNkMDY3MzI0ODMwM2Y4NTM5OGM1YWViMDcz
ZTg3N2FjOGQuLjhhMGM1MmZiYjBhMjM5ZTQzNzE2ODU5Mzg4Yzc0NGU2Y2FjMWZjZjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2ds
c2xhbmcueQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9nbHNsYW5nLnkKQEAgLTE2NCw3ICsxNjQsNyBAQCBleHRlcm4gdm9pZCB5eWVycm9yKFlZ
TFRZUEUqIHl5bGxvYywgVFBhcnNlQ29udGV4dCogY29udGV4dCwgdm9pZCAqc2Nhbm5lciwgY29u
cwogJXRva2VuIDxsZXg+IEJWRUMyIEJWRUMzIEJWRUM0IElWRUMyIElWRUMzIElWRUM0IFZFQzIg
VkVDMyBWRUM0IFVWRUMyIFVWRUMzIFVWRUM0CiAldG9rZW4gPGxleD4gTUFUUklYMiBNQVRSSVgz
IE1BVFJJWDQgSU5fUVVBTCBPVVRfUVVBTCBJTk9VVF9RVUFMIFVOSUZPUk0gQlVGRkVSIFZBUllJ
TkcKICV0b2tlbiA8bGV4PiBNQVRSSVgyeDMgTUFUUklYM3gyIE1BVFJJWDJ4NCBNQVRSSVg0eDIg
TUFUUklYM3g0IE1BVFJJWDR4MwotJXRva2VuIDxsZXg+IENFTlRST0lEIEZMQVQgU01PT1RICisl
dG9rZW4gPGxleD4gQ0VOVFJPSUQgRkxBVCBTTU9PVEggTk9QRVJTUEVDVElWRQogJXRva2VuIDxs
ZXg+IFJFQURPTkxZIFdSSVRFT05MWSBDT0hFUkVOVCBSRVNUUklDVCBWT0xBVElMRSBTSEFSRUQK
ICV0b2tlbiA8bGV4PiBTVFJVQ1QgVk9JRF9UWVBFIFdISUxFCiAldG9rZW4gPGxleD4gU0FNUExF
UjJEIFNBTVBMRVJDVUJFIFNBTVBMRVJfRVhURVJOQUxfT0VTIFNBTVBMRVIyRFJFQ1QgU0FNUExF
UjJEQVJSQVkKQEAgLTc3Nyw2ICs3NzcsMTMgQEAgaW50ZXJwb2xhdGlvbl9xdWFsaWZpZXIKICAg
ICB8IEZMQVQgewogICAgICAgICAkJCA9IEV2cUZsYXQ7CiAgICAgfQorICAgIHwgTk9QRVJTUEVD
VElWRSB7CisgICAgICAgIGlmICghY29udGV4dC0+Y2hlY2tDYW5Vc2VFeHRlbnNpb24oQDEsIFRF
eHRlbnNpb246Ok5WX3NoYWRlcl9ub3BlcnNwZWN0aXZlX2ludGVycG9sYXRpb24pKQorICAgICAg
ICB7CisgICAgICAgICAgICBjb250ZXh0LT5lcnJvcihAMSwgInVuc3VwcG9ydGVkIGludGVycG9s
YXRpb24gcXVhbGlmaWVyIiwgIm5vcGVyc3BlY3RpdmUiKTsKKyAgICAgICAgfQorICAgICAgICAk
JCA9IEV2cU5vUGVyc3BlY3RpdmU7CisgICAgfQogICAgIDsKIAogdHlwZV9xdWFsaWZpZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L2dsc2xhbmdfbGV4X2F1dG9nZW4uY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ19sZXhfYXV0b2dlbi5jcHAKaW5kZXggZjJmNzllOWQx
OTQ2YmQ1MGZiZTk5ODZjNDUyN2M1MDk5OTJmZmI3NS4uYzZlZjAzZTdjYjJhZGQzMjZlMWY5MjMz
NzJhZWI4OGUxYTAyMGU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ19sZXhfYXV0b2dlbi5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ19sZXhfYXV0
b2dlbi5jcHAKQEAgLTQzMiw2MCArNDMyLDYwIEBAIHN0YXRpYyBjb25zdCBmbGV4X2ludDE2X3Qg
eXlfYWNjZXB0WzkwMl0gPSB7CiAgICAgMjE2LCAyMTUsIDIxOSwgMTg2LCAyMDcsIDIxMywgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAogCiAgICAgMTg2
LCAxODYsIDE4NiwgMTg2LCAxMywgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxODYsCi0gICAgMTg2LCAxNiwgIDE4NiwgMTg2LCAyNCwgIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYs
CisgICAgMTg2LCAxNiwgIDE4NiwgMTg2LCAyNSwgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsCiAgICAgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsCiAgICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMjA4LCAyMTIsIDI0
NCwgMCwgICAxOTgsIDE5NCwgMCwgICAxOTcsIDE5MSwgMCwgICAxOTMsCiAgICAgMTg3LCAyMDQs
IDIwNSwgMTg2LCAxODYsIDE0NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsCiAgICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxNCwgIDE4NiwKIAotICAgIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDI5LCAgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAyNSwgIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAorICAg
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDMwLCAgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAorICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAyNiwgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LAogICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAogICAgIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAwLCAgIDE5NSwgMCwgICAxOTQsIDE5NiwgMTkwLCAx
ODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMzIsICAxODYsIDE4NiwgMTg2LCAxOSwgIDE4MywgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAorICAgIDE4Niwg
MzMsICAxODYsIDE4NiwgMTg2LCAxOSwgIDE4MywgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LAogICAgIDE3LCAgMTQ5LCAxODYsIDE4NiwgMTg2LCAxODYs
IDIyLCAgMTg2LCAxODYsIDE1MywgMTY0LCAxODYsIDE4NiwgMTg2LCAxODYsCiAKLSAgICAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxNjEsIDQsICAgMzcsICAz
OCwgIDM5LCAgMTg2LCAxODYsIDE4NiwKKyAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxNjEsIDQsICAgMzgsICAzOSwgIDQwLCAgMTg2LCAxODYsIDE4NiwK
ICAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwKLSAgICAxODYsIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTUyLCAzMywgIDE4NiwgMTg2LCAzMCwgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAx
ODYsIDE4NiwKLSAgICA0OSwgIDUwLCAgNTEsICAzMSwgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxMSwgIDE4NiwgNTUsICA1NiwgIDU3LAotICAgIDE4NiwgMTQ3LCAx
ODYsIDE4NiwgNywgICAxODYsIDE4NiwgMTg2LCAxODYsIDE3MywgMTc0LCAxNzUsIDE4NiwgMzQs
ICAxODYsIDE2NSwgMjgsCi0gICAgMTc2LCAxNzcsIDE3OCwgMiwgICAxNzAsIDE3MSwgMTcyLCAx
ODYsIDE4NiwgMTg2LCAyNiwgIDE2OCwgMTg2LCAxODYsIDE4NiwKKyAgICAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTUyLCAzNCwgIDE4NiwgMTg2LCAzMSwgIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwKKyAgICA1MCwgIDUxLCAgNTIsICAzMiwgIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxMSwgIDE4NiwgNTYsICA1NywgIDU4LAorICAgIDE4Niwg
MTQ3LCAxODYsIDE4NiwgNywgICAxODYsIDE4NiwgMTg2LCAxODYsIDE3MywgMTc0LCAxNzUsIDE4
NiwgMzUsICAxODYsIDE2NSwgMjksCisgICAgMTc2LCAxNzcsIDE3OCwgMiwgICAxNzAsIDE3MSwg
MTcyLCAxODYsIDE4NiwgMTg2LCAyNywgIDE2OCwgMTg2LCAxODYsIDE4NiwKIAotICAgIDE4Niwg
MTg2LCA1MiwgIDUzLCAgNTQsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTE0LAorICAgIDE4NiwgMTg2LCA1MywgIDU0LCAgNTUsICAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTE0LAog
ICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxNjIsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMTg2LCAxODYsIDE0OCwg
MTg2LCAxODYsIDE4NSwgNTgsICA1OSwgIDYwLCAgMTg2LCAxODYsIDE1LCAgMTg2LCAxODYsIDE4
NiwgMTE5LAorICAgIDE4NiwgMTg2LCAxODYsIDE0OCwgMTg2LCAxODYsIDE4NSwgNTksICA2MCwg
IDYxLCAgMTg2LCAxODYsIDE1LCAgMTg2LCAxODYsIDE4NiwgMTE5LAogICAgIDE4NiwgMTg2LCA5
LCAgIDE4NiwgMTg2LCAxMTcsIDE4NiwgMTg2LCAxODYsIDE2MywgMTU4LCAxMjAsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMTU0LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
ODgsICA0MCwgIDQzLCAgNDUsICA0NCwgIDQxLCAgNDcsICA0NiwgIDQ4LCAgNDIsCi0gICAgMTg2
LCAxODYsIDE4NiwgMTg2LCAxNjksIDE0NSwgMTg2LCAxODYsIDE1NiwgMTg2LCAxODYsIDE4Niwg
MzYsICAxMTUsIDI3LAorICAgIDE4NiwgMTU0LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgODks
ICA0MSwgIDQ0LCAgNDYsICA0NSwgIDQyLCAgNDgsICA0NywgIDQ5LCAgNDMsCisgICAgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxNjksIDE0NSwgMTg2LCAxODYsIDE1NiwgMTg2LCAxODYsIDE4NiwgMzcs
ICAxMTUsIDI4LAogCi0gICAgMTgyLCAyMywgIDE1NywgODcsICAxODYsIDE2NywgMTgsICAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsCi0gICAgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMjAsICAzNSwgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDEyMSwgOTMsICA5OSwKLSAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgOTAsICA5
MiwgIDMsICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxMTEsIDE4NiwgMTg2LCAxODYsIDE4NiwKKyAg
ICAxODIsIDIzLCAgMTU3LCA4OCwgIDE4NiwgMTY3LCAxOCwgIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwKKyAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAyMCwgIDM2LCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTIxLCA5NCwg
IDEwMCwKKyAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgOTEsICA5MywgIDMsICAgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxMTIsIDE4NiwgMTg2LCAxODYsIDE4NiwKICAgICAxODYsIDE4NiwgMTg2
LCAxNTAsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCA4LCAgIDE4NiwgMTg2LCAxMCwgIDE4Niwg
MTg2LCAxODYsIDE4NiwKLSAgICAxODYsIDE4NiwgMjEsICAxMDcsIDEyLCAgMTU5LCAxMjIsIDk0
LCAgMTAxLCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwKLSAgICAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTU1LCAxODYsIDE4NiwgMTg2LCAxMDUsIDExMiwgMTA4LCAx
ODYsIDE4NiwgMTg2LAotCi0gICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE1MSwgMTIzLCA5
NSwgIDEwMCwgMTg2LCAxODYsIDE2NiwgMTg2LCAxMDksIDE4NiwgMTg2LCAxODYsCi0gICAgMTg2
LCA2LCAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDEwNCwg
MTYwLCAxLCAgIDE4NiwgMTg2LCAxODYsCi0gICAgMTg2LCAxODYsIDE4NiwgMTg0LCAxODYsIDEx
OCwgNSwgICAxNzksIDYxLCAgNjQsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYs
Ci0gICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxMDYsIDE4NiwgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsIDEwMiwgMTg2LCAxODYsCi0gICAgMTg2LCAxODYsIDE4NiwgMTM2
LCA2OSwgIDcwLCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsCi0gICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxMTYsIDE4NiwgMTg2LCAxODYsIDEw
MywgMTM4LCA3NCwgIDc1LCAgMTg2LCAxODYsIDE4NiwKLQotICAgIDE4NiwgMTEwLCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDEzMSwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTg2LAotICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgNjgsICAxODYsIDE4NiwgMTg2LCAx
ODYsIDYyLCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxMzIsIDEyNCwgMTg2LCA5NiwgIDE4Niwg
MTg2LCAxODYsIDczLCAgMTg2LAotICAgIDE4NiwgNzEsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAotICAg
IDEzMywgMTg2LCAxODYsIDc4LCAgMTg2LCAxODYsIDc2LCAgMTg2LCAxODYsIDEyNSwgOTcsICAx
ODYsIDEyNywgMTg2LCAxMjgsIDE4NiwgMTg2LAotICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTEz
LCAxODYsIDE4NiwgMTg2LCAxODYsIDY2LCAgMTg2LCA2NSwgIDE0MiwgMTg2LCAxODYsCi0KLSAg
ICAxODYsIDEyNiwgOTgsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxNDAsIDE0MywKLSAgICAxODYsIDEzNCwgMTg2LCA2NywgIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE0MSwgMTQ0LCAxODYs
IDE4NiwKLSAgICAxODYsIDE4NiwgMTM3LCA3MiwgIDE4NiwgMTg2LCAxODYsIDE4MCwgMTg2LCAx
ODYsIDE4NiwgNzksICAxODYsIDE4NiwgMTg2LCAxMzksIDc3LAotICAgIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDgzLCAgMTg2LCAxODYsIDE4NiwgMTg2LCAx
ODYsIDE4NiwgMTg2LAotICAgIDE4NiwgMTg2LCA4NCwgIDE4NiwgMTg2LCAxODYsIDE4NiwgODAs
ICAxODYsIDg2LCAgODUsICA4OSwgIDE4NiwgMTI5LCAxMzAsIDkxLCAgMTg2LAotICAgIDE4Niwg
MTg2LCA2MywgIDE4NiwgMTg2LCAxODYsIDE4MSwgMTg2LCAxMzUsIDgxLCAgMTg2LCAxODYsIDE4
NiwgMTg2LCA4MiwKKyAgICAxODYsIDE4NiwgMjEsICAxMDgsIDEyLCAgMTU5LCAxMjIsIDk1LCAg
MTAyLCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwKKyAgICAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTU1LCAxODYsIDE4NiwgMTg2LCAxMDYsIDExMywgMTA5LCAxODYs
IDE4NiwgMTg2LAorCisgICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE1MSwgMTIzLCA5Niwg
IDEwMSwgMTg2LCAxODYsIDE2NiwgMTg2LCAxMTAsIDE4NiwgMTg2LCAxODYsCisgICAgMTg2LCA2
LCAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDEwNSwgMTYw
LCAxLCAgIDE4NiwgMTg2LCAxODYsCisgICAgMTg2LCAxODYsIDE4NiwgMTg0LCAxODYsIDExOCwg
NSwgICAxNzksIDYyLCAgNjUsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsCisg
ICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxMDcsIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTg2LCAxODYsIDEwMywgMTg2LCAxODYsCisgICAgMTg2LCAxODYsIDE4NiwgMTM2LCA3
MCwgIDcxLCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsCisgICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxMTYsIDE4NiwgMTg2LCAxODYsIDEwNCwg
MTM4LCA3NSwgIDc2LCAgMTg2LCAxODYsIDE4NiwKKworICAgIDE4NiwgMTExLCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDEzMSwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LAorICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgNjksICAxODYsIDE4NiwgMTg2LCAxODYs
IDYzLCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAorICAgIDE4NiwgMTg2LCAx
ODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxMzIsIDEyNCwgMTg2LCA5NywgIDE4NiwgMTg2
LCAxODYsIDc0LCAgMTg2LAorICAgIDE4NiwgNzIsICAxODYsIDE4NiwgMTg2LCAxODYsIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LAorICAgIDEz
MywgMTg2LCAxODYsIDc5LCAgMTg2LCAxODYsIDc3LCAgMTg2LCAxODYsIDEyNSwgOTgsICAxODYs
IDEyNywgMTg2LCAxMjgsIDE4NiwgMTg2LAorICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMjQsICAx
ODYsIDE4NiwgMTg2LCAxODYsIDY3LCAgMTg2LCA2NiwgIDE0MiwgMTg2LCAxODYsCisKKyAgICAx
ODYsIDEyNiwgOTksICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2
LCAxODYsIDE4NiwgMTg2LCAxNDAsIDE0MywKKyAgICAxODYsIDEzNCwgMTg2LCA2OCwgIDE4Niwg
MTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE0MSwgMTQ0LCAxODYsIDE4
NiwKKyAgICAxODYsIDE4NiwgMTM3LCA3MywgIDE4NiwgMTg2LCAxODYsIDE4MCwgMTg2LCAxODYs
IDE4NiwgODAsICAxODYsIDE4NiwgMTg2LCAxMzksIDc4LAorICAgIDE4NiwgMTg2LCAxODYsIDE4
NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDg0LCAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYs
IDE4NiwgMTg2LAorICAgIDE4NiwgMTg2LCA4NSwgIDE4NiwgMTg2LCAxODYsIDE4NiwgODEsICAx
ODYsIDg3LCAgODYsICA5MCwgIDE4NiwgMTI5LCAxMzAsIDkyLCAgMTg2LAorICAgIDE4NiwgMTg2
LCA2NCwgIDE4NiwgMTg2LCAxODYsIDE4MSwgMTg2LCAxMzUsIDgyLCAgMTg2LCAxODYsIDE4Niwg
MTg2LCA4MywKIAogICAgIDB9OwogCkBAIC05MjEsNiArOTIxLDcgQEAgc3RhdGljIGludCBFUzNf
ZXh0ZW5zaW9uKFRQYXJzZUNvbnRleHQgKmNvbnRleHQsIFRFeHRlbnNpb24gZXh0ZW5zaW9uLCBp
bnQgdG9rZW4KIHN0YXRpYyBpbnQgRVMzX3Jlc2VydmVkX0VTM18xX2V4dGVuc2lvbl9FUzNfMl9r
ZXl3b3JkKFRQYXJzZUNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURXh0ZW5zaW9uIGV4dGVuc2lvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0b2tl
bik7CitzdGF0aWMgaW50IEVTM19yZXNlcnZlZF9FUzNfZXh0ZW5zaW9uKFRQYXJzZUNvbnRleHQg
KmNvbnRleHQsIFRFeHRlbnNpb24gZXh0ZW5zaW9uLCBpbnQgdG9rZW4pOwogc3RhdGljIGludCBF
UzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbl9FUzNfMV9rZXl3b3JkKFRQYXJzZUNvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVEV4dGVuc2lvbiBleHRlbnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHRva2VuKTsKQEAgLTEzNDIsMjExICsxMzQzLDIxOSBA
QCBZWV9ERUNMCiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMz
X2tleXdvcmQoY29udGV4dCwgU01PT1RIKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVB
SwogICAgICAgICAgICAgICAgIGNhc2UgMjQ6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JVTEVf
U0VUVVAgeyByZXR1cm4gSU5fUVVBTDsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NF
VFVQCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb250ZXh0LCBURXh0ZW5zaW9uOjpOVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUEVSU1BFQ1RJVkUpOworICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCiAgICAgICAgICAg
ICAgICAgY2FzZSAyNToKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVy
biBPVVRfUVVBTDsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJu
IElOX1FVQUw7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAg
ICBjYXNlIDI2OgotICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIElO
T1VUX1FVQUw7IH0KKyAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBP
VVRfUVVBTDsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAg
IGNhc2UgMjc6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMz
XzFfa2V5d29yZChjb250ZXh0LCBTSEFSRUQpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZX1JV
TEVfU0VUVVAgeyByZXR1cm4gSU5PVVRfUVVBTDsgfQogICAgICAgICAgICAgICAgICAgICBZWV9C
UkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMjg6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JV
TEVfU0VUVVAgeyByZXR1cm4gRkxPQVRfVFlQRTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9S
VUxFX1NFVFVQIHsgcmV0dXJuIEVTM18xX2tleXdvcmQoY29udGV4dCwgU0hBUkVEKTsgfQogICAg
ICAgICAgICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMjk6Ci0gICAg
ICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gSU5UX1RZUEU7IH0KKyAgICAg
ICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBGTE9BVF9UWVBFOyB9CiAgICAg
ICAgICAgICAgICAgICAgIFlZX0JSRUFLCiAgICAgICAgICAgICAgICAgY2FzZSAzMDoKLSAgICAg
ICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfa2V5d29yZChjb250ZXh0
LCBVSU5UX1RZUEUpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1
cm4gSU5UX1RZUEU7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAg
ICAgICBjYXNlIDMxOgotICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJu
IFZPSURfVFlQRTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJu
IEVTM19rZXl3b3JkKGNvbnRleHQsIFVJTlRfVFlQRSk7IH0KICAgICAgICAgICAgICAgICAgICAg
WVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNlIDMyOgotICAgICAgICAgICAgICAgICAgICBZ
WV9SVUxFX1NFVFVQIHsgcmV0dXJuIEJPT0xfVFlQRTsgfQorICAgICAgICAgICAgICAgICAgICBZ
WV9SVUxFX1NFVFVQIHsgcmV0dXJuIFZPSURfVFlQRTsgfQogICAgICAgICAgICAgICAgICAgICBZ
WV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMzM6CisgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gQk9PTF9UWVBFOyB9CisgICAgICAgICAgICAgICAgICAgIFlZ
X0JSRUFLCisgICAgICAgICAgICAgICAgY2FzZSAzNDoKICAgICAgICAgICAgICAgICAgICAgWVlf
UlVMRV9TRVRVUAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB5eWx2YWwtPmxleC5iID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBC
T09MQ09OU1RBTlQ7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
WVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDM0OgorICAgICAgICAgICAgICAgIGNhc2Ug
MzU6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAKICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgeXlsdmFsLT5sZXguYiA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJPT0xDT05TVEFOVDsKICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNh
c2UgMzU6CisgICAgICAgICAgICAgICAgY2FzZSAzNjoKICAgICAgICAgICAgICAgICAgICAgWVlf
UlVMRV9TRVRVUCB7IHJldHVybiBESVNDQVJEOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JS
RUFLCi0gICAgICAgICAgICAgICAgY2FzZSAzNjoKKyAgICAgICAgICAgICAgICBjYXNlIDM3Ogog
ICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIFJFVFVSTjsgfQogICAg
ICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgMzc6CisgICAg
ICAgICAgICAgICAgY2FzZSAzODoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7
IHJldHVybiBNQVRSSVgyOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAg
ICAgICAgICAgY2FzZSAzODoKKyAgICAgICAgICAgICAgICBjYXNlIDM5OgogICAgICAgICAgICAg
ICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIE1BVFJJWDM7IH0KICAgICAgICAgICAgICAg
ICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDM5OgorICAgICAgICAgICAgICAg
IGNhc2UgNDA6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gTUFU
UklYNDsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNh
c2UgNDA6CisgICAgICAgICAgICAgICAgY2FzZSA0MToKICAgICAgICAgICAgICAgICAgICAgWVlf
UlVMRV9TRVRVUCB7IHJldHVybiBFUzNfa2V5d29yZChjb250ZXh0LCBNQVRSSVgyKTsgfQogICAg
ICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNDE6CisgICAg
ICAgICAgICAgICAgY2FzZSA0MjoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7
IHJldHVybiBFUzNfa2V5d29yZChjb250ZXh0LCBNQVRSSVgzKTsgfQogICAgICAgICAgICAgICAg
ICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNDI6CisgICAgICAgICAgICAgICAg
Y2FzZSA0MzoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNf
a2V5d29yZChjb250ZXh0LCBNQVRSSVg0KTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVB
SwotICAgICAgICAgICAgICAgIGNhc2UgNDM6CisgICAgICAgICAgICAgICAgY2FzZSA0NDoKICAg
ICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfa2V5d29yZChjb250
ZXh0LCBNQVRSSVgyeDMpOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAg
ICAgICAgICAgY2FzZSA0NDoKKyAgICAgICAgICAgICAgICBjYXNlIDQ1OgogICAgICAgICAgICAg
ICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19rZXl3b3JkKGNvbnRleHQsIE1BVFJJ
WDN4Mik7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBj
YXNlIDQ1OgorICAgICAgICAgICAgICAgIGNhc2UgNDY6CiAgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgTUFUUklYMng0KTsgfQog
ICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNDY6Cisg
ICAgICAgICAgICAgICAgY2FzZSA0NzoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRV
UCB7IHJldHVybiBFUzNfa2V5d29yZChjb250ZXh0LCBNQVRSSVg0eDIpOyB9CiAgICAgICAgICAg
ICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA0NzoKKyAgICAgICAgICAg
ICAgICBjYXNlIDQ4OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJu
IEVTM19rZXl3b3JkKGNvbnRleHQsIE1BVFJJWDN4NCk7IH0KICAgICAgICAgICAgICAgICAgICAg
WVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDQ4OgorICAgICAgICAgICAgICAgIGNhc2Ug
NDk6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdv
cmQoY29udGV4dCwgTUFUUklYNHgzKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwot
ICAgICAgICAgICAgICAgIGNhc2UgNDk6CisgICAgICAgICAgICAgICAgY2FzZSA1MDoKICAgICAg
ICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBWRUMyOyB9CiAgICAgICAgICAg
ICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA1MDoKKyAgICAgICAgICAg
ICAgICBjYXNlIDUxOgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJu
IFZFQzM7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBj
YXNlIDUxOgorICAgICAgICAgICAgICAgIGNhc2UgNTI6CiAgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gVkVDNDsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVB
SwotICAgICAgICAgICAgICAgIGNhc2UgNTI6CisgICAgICAgICAgICAgICAgY2FzZSA1MzoKICAg
ICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBJVkVDMjsgfQogICAgICAg
ICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNTM6CisgICAgICAg
ICAgICAgICAgY2FzZSA1NDoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJl
dHVybiBJVkVDMzsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAg
ICAgIGNhc2UgNTQ6CisgICAgICAgICAgICAgICAgY2FzZSA1NToKICAgICAgICAgICAgICAgICAg
ICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBJVkVDNDsgfQogICAgICAgICAgICAgICAgICAgICBZ
WV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNTU6CisgICAgICAgICAgICAgICAgY2FzZSA1
NjoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBCVkVDMjsgfQog
ICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNTY6Cisg
ICAgICAgICAgICAgICAgY2FzZSA1NzoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRV
UCB7IHJldHVybiBCVkVDMzsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAg
ICAgICAgICAgIGNhc2UgNTc6CisgICAgICAgICAgICAgICAgY2FzZSA1ODoKICAgICAgICAgICAg
ICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBCVkVDNDsgfQogICAgICAgICAgICAgICAg
ICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNTg6CisgICAgICAgICAgICAgICAg
Y2FzZSA1OToKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNf
a2V5d29yZChjb250ZXh0LCBVVkVDMik7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsK
LSAgICAgICAgICAgICAgICBjYXNlIDU5OgorICAgICAgICAgICAgICAgIGNhc2UgNjA6CiAgICAg
ICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4
dCwgVVZFQzMpOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAg
ICAgY2FzZSA2MDoKKyAgICAgICAgICAgICAgICBjYXNlIDYxOgogICAgICAgICAgICAgICAgICAg
ICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19rZXl3b3JkKGNvbnRleHQsIFVWRUM0KTsgfQog
ICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNjE6Cisg
ICAgICAgICAgICAgICAgY2FzZSA2MjoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRV
UCB7IHJldHVybiBTQU1QTEVSMkQ7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAg
ICAgICAgICAgICAgICBjYXNlIDYyOgorICAgICAgICAgICAgICAgIGNhc2UgNjM6CiAgICAgICAg
ICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gU0FNUExFUkNVQkU7IH0KICAgICAg
ICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDYzOgorICAgICAg
ICAgICAgICAgIGNhc2UgNjQ6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyBy
ZXR1cm4gU0FNUExFUl9FWFRFUk5BTF9PRVM7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJF
QUsKLSAgICAgICAgICAgICAgICBjYXNlIDY0OgorICAgICAgICAgICAgICAgIGNhc2UgNjU6CiAg
ICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAKICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVTMl9yZXNlcnZlZF9FUzJfZXh0ZW5zaW9u
X0VTM19rZXl3b3JkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQsIFRFeHRl
bnNpb246Ok9FU190ZXh0dXJlXzNELCBTQU1QTEVSM0QpOwogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA2NToK
KyAgICAgICAgICAgICAgICBjYXNlIDY2OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NF
VFVQIHsgcmV0dXJuIEVTMl9yZXNlcnZlZF9FUzNfa2V5d29yZChjb250ZXh0LCBTQU1QTEVSM0RS
RUNUKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNh
c2UgNjY6CisgICAgICAgICAgICAgICAgY2FzZSA2NzoKICAgICAgICAgICAgICAgICAgICAgWVlf
UlVMRV9TRVRVUCB7IHJldHVybiBTQU1QTEVSMkRSRUNUOyB9CiAgICAgICAgICAgICAgICAgICAg
IFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA2NzoKKyAgICAgICAgICAgICAgICBjYXNl
IDY4OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19rZXl3
b3JkKGNvbnRleHQsIFNBTVBMRVIyREFSUkFZKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9C
UkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNjg6CisgICAgICAgICAgICAgICAgY2FzZSA2OToK
ICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUAogICAgICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM19leHRlbnNp
b25fRVMzXzFfa2V5d29yZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBU
RXh0ZW5zaW9uOjpBTkdMRV90ZXh0dXJlX211bHRpc2FtcGxlLCBTQU1QTEVSMkRNUyk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAg
ICAgICAgICBjYXNlIDY5OgorICAgICAgICAgICAgICAgIGNhc2UgNzA6CiAgICAgICAgICAgICAg
ICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgSVNBTVBM
RVIyRCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBj
YXNlIDcwOgorICAgICAgICAgICAgICAgIGNhc2UgNzE6CiAgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgSVNBTVBMRVIzRCk7IH0K
ICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDcxOgor
ICAgICAgICAgICAgICAgIGNhc2UgNzI6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VU
VVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgSVNBTVBMRVJDVUJFKTsgfQogICAgICAg
ICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgNzI6CisgICAgICAg
ICAgICAgICAgY2FzZSA3MzoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJl
dHVybiBFUzNfa2V5d29yZChjb250ZXh0LCBJU0FNUExFUjJEQVJSQVkpOyB9CiAgICAgICAgICAg
ICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA3MzoKKyAgICAgICAgICAg
ICAgICBjYXNlIDc0OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQCiAgICAgICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUzNfcmVzZXJ2
ZWRfRVMzX2V4dGVuc2lvbl9FUzNfMV9rZXl3b3JkKAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRleHQsIFRFeHRlbnNpb246OkFOR0xFX3RleHR1cmVfbXVsdGlzYW1wbGUsIElTQU1Q
TEVSMkRNUyk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgWVlf
QlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDc0OgorICAgICAgICAgICAgICAgIGNhc2UgNzU6
CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQo
Y29udGV4dCwgVVNBTVBMRVIyRCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAg
ICAgICAgICAgICAgICBjYXNlIDc1OgorICAgICAgICAgICAgICAgIGNhc2UgNzY6CiAgICAgICAg
ICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwg
VVNBTVBMRVIzRCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAg
ICAgICBjYXNlIDc2OgorICAgICAgICAgICAgICAgIGNhc2UgNzc6CiAgICAgICAgICAgICAgICAg
ICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgVVNBTVBMRVJD
VUJFKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNh
c2UgNzc6CisgICAgICAgICAgICAgICAgY2FzZSA3ODoKICAgICAgICAgICAgICAgICAgICAgWVlf
UlVMRV9TRVRVUCB7IHJldHVybiBFUzNfa2V5d29yZChjb250ZXh0LCBVU0FNUExFUjJEQVJSQVkp
OyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA3
ODoKKyAgICAgICAgICAgICAgICBjYXNlIDc5OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxF
X1NFVFVQCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lvbl9FUzNfMV9rZXl3b3JkKAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRleHQsIFRFeHRlbnNpb246OkFOR0xFX3RleHR1cmVfbXVs
dGlzYW1wbGUsIFVTQU1QTEVSMkRNUyk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDc5OgorICAgICAgICAg
ICAgICAgIGNhc2UgODA6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1
cm4gRVMyX3Jlc2VydmVkX0VTM19rZXl3b3JkKGNvbnRleHQsIFNBTVBMRVIyRFNIQURPVyk7IH0K
ICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBjYXNlIDgwOgor
ICAgICAgICAgICAgICAgIGNhc2UgODE6CiAgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VU
VVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgU0FNUExFUkNVQkVTSEFET1cpOyB9CiAg
ICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA4MToKKyAg
ICAgICAgICAgICAgICBjYXNlIDgyOgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQ
IHsgcmV0dXJuIEVTM19rZXl3b3JkKGNvbnRleHQsIFNBTVBMRVIyREFSUkFZU0hBRE9XKTsgfQog
ICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgODI6Cisg
ICAgICAgICAgICAgICAgY2FzZSA4MzoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRV
UAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
RVMzX2V4dGVuc2lvbihjb250ZXh0LCBURXh0ZW5zaW9uOjpFWFRfWVVWX3RhcmdldCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBTVBMRVJFWFRFUk5BTDJE
WTJZRVhUKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBZWV9C
UkVBSwotICAgICAgICAgICAgICAgIGNhc2UgODM6CisgICAgICAgICAgICAgICAgY2FzZSA4NDoK
ICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUAogICAgICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2V4dGVu
c2lvbl9FUzNfMl9rZXl3b3JkKApAQCAtMTU1NCw3ICsxNTYzLDcgQEAgWVlfREVDTAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNBTVBMRVIyRE1TQVJSQVkpOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2Fz
ZSA4NDoKKyAgICAgICAgICAgICAgICBjYXNlIDg1OgogICAgICAgICAgICAgICAgICAgICBZWV9S
VUxFX1NFVFVQCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfZXh0ZW5zaW9uX0VTM18yX2tleXdvcmQoCkBAIC0x
NTYyLDcgKzE1NzEsNyBAQCBZWV9ERUNMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNB
TVBMRVIyRE1TQVJSQVkpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIFlZX0JSRUFLCi0gICAgICAgICAgICAgICAgY2FzZSA4NToKKyAgICAgICAgICAgICAgICBj
YXNlIDg2OgogICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQCiAgICAgICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMz
XzFfZXh0ZW5zaW9uX0VTM18yX2tleXdvcmQoCkBAIC0xNTcwLDI4ICsxNTc5LDI1IEBAIFlZX0RF
Q0wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FNUExFUjJETVNBUlJBWSk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAg
ICAgICAgICBjYXNlIDg2OgorICAgICAgICAgICAgICAgIGNhc2UgODc6CiAgICAgICAgICAgICAg
ICAgICAgIFlZX1JVTEVfU0VUVVAKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFdFQkdMX3ZpZGVvX3RleHR1cmVfZXh0ZW5zaW9uKGNvbnRleHQs
IFNBTVBMRVJWSURFT1dFQkdMKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgODc6CisgICAgICAgICAgICAg
ICAgY2FzZSA4ODoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBT
VFJVQ1Q7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKLSAgICAgICAgICAgICAgICBj
YXNlIDg4OgorICAgICAgICAgICAgICAgIGNhc2UgODk6CiAgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX2tleXdvcmQoY29udGV4dCwgTEFZT1VUKTsgfQogICAg
ICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAgICAgICAgICAgICAgIGNhc2UgODk6CisgICAg
ICAgICAgICAgICAgY2FzZSA5MDoKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUAog
ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVMz
X2V4dGVuc2lvbihjb250ZXh0LCBURXh0ZW5zaW9uOjpFWFRfWVVWX3RhcmdldCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlVVkNTQ1NUQU5EQVJERVhUKTsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwotICAg
ICAgICAgICAgICAgIGNhc2UgOTA6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAg
eyByZXR1cm4geXV2Y3Njc3RhbmRhcmRleHRfY29uc3RhbnQoY29udGV4dCk7IH0KLSAgICAgICAg
ICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNlIDkxOgogICAgICAgICAg
ICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIHl1dmNzY3N0YW5kYXJkZXh0X2NvbnN0
YW50KGNvbnRleHQpOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCkBAIC0xNTk5LDYw
ICsxNjA1LDYzIEBAIFlZX0RFQ0wKICAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7
IHJldHVybiB5dXZjc2NzdGFuZGFyZGV4dF9jb25zdGFudChjb250ZXh0KTsgfQogICAgICAgICAg
ICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgOTM6Ci0gICAgICAgICAg
ICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdv
cmQoY29udGV4dCwgSU1BR0UyRCk7IH0KKyAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRV
UCB7IHJldHVybiB5dXZjc2NzdGFuZGFyZGV4dF9jb25zdGFudChjb250ZXh0KTsgfQogICAgICAg
ICAgICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgOTQ6Ci0gICAgICAg
ICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tl
eXdvcmQoY29udGV4dCwgSUlNQUdFMkQpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVf
U0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwgSU1BR0Uy
RCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNl
IDk1OgotICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNl
cnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFVJTUFHRTJEKTsgfQorICAgICAgICAgICAgICAg
ICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNfMV9rZXl3b3JkKGNv
bnRleHQsIElJTUFHRTJEKTsgfQogICAgICAgICAgICAgICAgICAgICBZWV9CUkVBSwogICAgICAg
ICAgICAgICAgIGNhc2UgOTY6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyBy
ZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwgSU1BR0UyREFSUkFZKTsg
fQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZl
ZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFVJTUFHRTJEKTsgfQogICAgICAgICAgICAgICAgICAg
ICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgOTc6Ci0gICAgICAgICAgICAgICAgICAg
IFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4
dCwgSUlNQUdFMkRBUlJBWSk7IH0KKyAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7
IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBJTUFHRTJEQVJSQVkp
OyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFLCiAgICAgICAgICAgICAgICAgY2FzZSA5
ODoKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2
ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBVSU1BR0UyREFSUkFZKTsgfQorICAgICAgICAgICAg
ICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNfMV9rZXl3b3Jk
KGNvbnRleHQsIElJTUFHRTJEQVJSQVkpOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JSRUFL
CiAgICAgICAgICAgICAgICAgY2FzZSA5OToKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9T
RVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBJTUFHRTNE
KTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNl
cnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFVJTUFHRTJEQVJSQVkpOyB9CiAgICAgICAgICAg
ICAgICAgICAgIFlZX0JSRUFLCiAgICAgICAgICAgICAgICAgY2FzZSAxMDA6Ci0gICAgICAgICAg
ICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdv
cmQoY29udGV4dCwgVUlNQUdFM0QpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VU
VVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwgSU1BR0UzRCk7
IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNlIDEw
MToKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2
ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBJSU1BR0UzRCk7IH0KKyAgICAgICAgICAgICAgICAg
ICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250
ZXh0LCBVSU1BR0UzRCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAg
ICAgICAgICBjYXNlIDEwMjoKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJl
dHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBJSU1BR0VDVUJFKTsgfQor
ICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9F
UzNfMV9rZXl3b3JkKGNvbnRleHQsIElJTUFHRTNEKTsgfQogICAgICAgICAgICAgICAgICAgICBZ
WV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMTAzOgotICAgICAgICAgICAgICAgICAgICBZ
WV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQs
IFVJTUFHRUNVQkUpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZX1JVTEVfU0VUVVAgeyByZXR1
cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwgSUlNQUdFQ1VCRSk7IH0KICAg
ICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNlIDEwNDoKLSAg
ICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMz
XzFfa2V5d29yZChjb250ZXh0LCBJTUFHRUNVQkUpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwg
VUlNQUdFQ1VCRSk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAg
ICAgICBjYXNlIDEwNToKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVy
biBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBSRUFET05MWSk7IH0KKyAgICAg
ICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFf
a2V5d29yZChjb250ZXh0LCBJTUFHRUNVQkUpOyB9CiAgICAgICAgICAgICAgICAgICAgIFlZX0JS
RUFLCiAgICAgICAgICAgICAgICAgY2FzZSAxMDY6Ci0gICAgICAgICAgICAgICAgICAgIFlZX1JV
TEVfU0VUVVAgeyByZXR1cm4gRVMzX3Jlc2VydmVkX0VTM18xX2tleXdvcmQoY29udGV4dCwgV1JJ
VEVPTkxZKTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVT
M19yZXNlcnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFJFQURPTkxZKTsgfQogICAgICAgICAg
ICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMTA3OgotICAgICAgICAg
ICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNfMV9rZXl3
b3JkKGNvbnRleHQsIENPSEVSRU5UKTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NF
VFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFdSSVRFT05M
WSk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNl
IDEwODoKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVz
ZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBSRVNUUklDVCk7IH0KKyAgICAgICAgICAgICAg
ICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChj
b250ZXh0LCBDT0hFUkVOVCk7IH0KICAgICAgICAgICAgICAgICAgICAgWVlfQlJFQUsKICAgICAg
ICAgICAgICAgICBjYXNlIDEwOToKLSAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7
IHJldHVybiBFUzJfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0LCBWT0xBVElMRSk7IH0K
KyAgICAgICAgICAgICAgICAgICAgWVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRf
RVMzXzFfa2V5d29yZChjb250ZXh0LCBSRVNUUklDVCk7IH0KICAgICAgICAgICAgICAgICAgICAg
WVlfQlJFQUsKICAgICAgICAgICAgICAgICBjYXNlIDExMDoKLSAgICAgICAgICAgICAgICAgICAg
WVlfUlVMRV9TRVRVUCB7IHJldHVybiBFUzNfcmVzZXJ2ZWRfRVMzXzFfa2V5d29yZChjb250ZXh0
LCBBVE9NSUNVSU5UKTsgfQorICAgICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0
dXJuIEVTMl9yZXNlcnZlZF9FUzNfMV9rZXl3b3JkKGNvbnRleHQsIFZPTEFUSUxFKTsgfQogICAg
ICAgICAgICAgICAgICAgICBZWV9CUkVBSwogICAgICAgICAgICAgICAgIGNhc2UgMTExOgorICAg
ICAgICAgICAgICAgICAgICBZWV9SVUxFX1NFVFVQIHsgcmV0dXJuIEVTM19yZXNlcnZlZF9FUzNf
MV9rZXl3b3JkKGNvbnRleHQsIEFUT01JQ1VJTlQpOyB9CisgICAgICAgICAgICAgICAgICAgIFlZ
X0JSRUFLCisgICAgICAgICAgICAgICAgY2FzZSAxMTI6CiAgICAgICAgICAgICAgICAgICAgIFlZ
X1JVTEVfU0VUVVAKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEVTM18xX3Jlc2VydmVkX0VTM18xX2V4dGVuc2lvbl9FUzNfMl9rZXl3b3JkKApA
QCAtMTY2MCw3ICsxNjY5LDYgQEAgWVlfREVDTAogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgICAgIFlZX0JSRUFLCiAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQga2V5
d29yZHMgZm9yIEdMU0wgRVMgMy4wMCB0aGF0IGFyZSBub3QgcmVzZXJ2ZWQgZm9yIEdMU0wgRVMg
MS4wMCAqLwotICAgICAgICAgICAgICAgIGNhc2UgMTEyOgogICAgICAgICAgICAgICAgIGNhc2Ug
MTEzOgogICAgICAgICAgICAgICAgIGNhc2UgMTE0OgogICAgICAgICAgICAgICAgIGNhc2UgMTE1
OgpAQCAtMzM1MCw2ICszMzU4LDI3IEBAIGludCBFUzNfcmVzZXJ2ZWRfRVMzXzFfZXh0ZW5zaW9u
X0VTM18yX2tleXdvcmQoVFBhcnNlQ29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gY2hlY2tf
dHlwZSh5eXNjYW5uZXIpOwogfQogCitpbnQgRVMzX3Jlc2VydmVkX0VTM19leHRlbnNpb24oVFBh
cnNlQ29udGV4dCAqY29udGV4dCwgVEV4dGVuc2lvbiBleHRlbnNpb24sIGludCB0b2tlbikKK3sK
KyAgICBzdHJ1Y3QgeXlndXRzX3QgKnl5ZyA9IChzdHJ1Y3QgeXlndXRzX3QgKiljb250ZXh0LT5n
ZXRTY2FubmVyKCk7CisgICAgeXlzY2FuX3QgeXlzY2FubmVyICAgPSAoeXlzY2FuX3QpY29udGV4
dC0+Z2V0U2Nhbm5lcigpOworCisgICAgaWYgKGNvbnRleHQtPmdldFNoYWRlclZlcnNpb24oKSA+
PSAzMDApCisgICAgeworICAgICAgICBpZiAoY29udGV4dC0+aXNFeHRlbnNpb25FbmFibGVkKGV4
dGVuc2lvbikpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICAgICAg
fQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiByZXNlcnZlZF93
b3JkKHl5c2Nhbm5lcik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB5eWx2YWwtPmxleC5zdHJp
bmcgPSBBbGxvY2F0ZVBvb2xDaGFyQXJyYXkoeXl0ZXh0LCB5eWxlbmcpOworICAgIHJldHVybiBj
aGVja190eXBlKHl5c2Nhbm5lcik7Cit9CisKIGludCBFUzNfcmVzZXJ2ZWRfRVMzX2V4dGVuc2lv
bl9FUzNfMV9rZXl3b3JkKFRQYXJzZUNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURXh0ZW5zaW9uIGV4dGVuc2lvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0b2tlbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2ds
c2xhbmdfdGFiX2F1dG9nZW4uY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5jcHAKaW5kZXggMzk2MmEyMTRiYmFj
ZjMxNzE4NDhjNTI0YTczMDliNjY2ZTE5MjMzYi4uNTZlYThlMWQ0Y2I2ZGM3YjE5NWRkMzljNGI0
Mzk4ZmE1NTY5MWFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dl
bi5jcHAKQEAgLTE5OCwxMDkgKzE5OCwxMTAgQEAgZW51bSB5eXRva2VudHlwZQogICAgIENFTlRS
T0lEICAgICAgICAgICAgICAgICAgPSAzMDgsCiAgICAgRkxBVCAgICAgICAgICAgICAgICAgICAg
ICA9IDMwOSwKICAgICBTTU9PVEggICAgICAgICAgICAgICAgICAgID0gMzEwLAotICAgIFJFQURP
TkxZICAgICAgICAgICAgICAgICAgPSAzMTEsCi0gICAgV1JJVEVPTkxZICAgICAgICAgICAgICAg
ICA9IDMxMiwKLSAgICBDT0hFUkVOVCAgICAgICAgICAgICAgICAgID0gMzEzLAotICAgIFJFU1RS
SUNUICAgICAgICAgICAgICAgICAgPSAzMTQsCi0gICAgVk9MQVRJTEUgICAgICAgICAgICAgICAg
ICA9IDMxNSwKLSAgICBTSEFSRUQgICAgICAgICAgICAgICAgICAgID0gMzE2LAotICAgIFNUUlVD
VCAgICAgICAgICAgICAgICAgICAgPSAzMTcsCi0gICAgVk9JRF9UWVBFICAgICAgICAgICAgICAg
ICA9IDMxOCwKLSAgICBXSElMRSAgICAgICAgICAgICAgICAgICAgID0gMzE5LAotICAgIFNBTVBM
RVIyRCAgICAgICAgICAgICAgICAgPSAzMjAsCi0gICAgU0FNUExFUkNVQkUgICAgICAgICAgICAg
ICA9IDMyMSwKLSAgICBTQU1QTEVSX0VYVEVSTkFMX09FUyAgICAgID0gMzIyLAotICAgIFNBTVBM
RVIyRFJFQ1QgICAgICAgICAgICAgPSAzMjMsCi0gICAgU0FNUExFUjJEQVJSQVkgICAgICAgICAg
ICA9IDMyNCwKLSAgICBJU0FNUExFUjJEICAgICAgICAgICAgICAgID0gMzI1LAotICAgIElTQU1Q
TEVSM0QgICAgICAgICAgICAgICAgPSAzMjYsCi0gICAgSVNBTVBMRVJDVUJFICAgICAgICAgICAg
ICA9IDMyNywKLSAgICBJU0FNUExFUjJEQVJSQVkgICAgICAgICAgID0gMzI4LAotICAgIFVTQU1Q
TEVSMkQgICAgICAgICAgICAgICAgPSAzMjksCi0gICAgVVNBTVBMRVIzRCAgICAgICAgICAgICAg
ICA9IDMzMCwKLSAgICBVU0FNUExFUkNVQkUgICAgICAgICAgICAgID0gMzMxLAotICAgIFVTQU1Q
TEVSMkRBUlJBWSAgICAgICAgICAgPSAzMzIsCi0gICAgU0FNUExFUjJETVMgICAgICAgICAgICAg
ICA9IDMzMywKLSAgICBJU0FNUExFUjJETVMgICAgICAgICAgICAgID0gMzM0LAotICAgIFVTQU1Q
TEVSMkRNUyAgICAgICAgICAgICAgPSAzMzUsCi0gICAgU0FNUExFUjJETVNBUlJBWSAgICAgICAg
ICA9IDMzNiwKLSAgICBJU0FNUExFUjJETVNBUlJBWSAgICAgICAgID0gMzM3LAotICAgIFVTQU1Q
TEVSMkRNU0FSUkFZICAgICAgICAgPSAzMzgsCi0gICAgU0FNUExFUjNEICAgICAgICAgICAgICAg
ICA9IDMzOSwKLSAgICBTQU1QTEVSM0RSRUNUICAgICAgICAgICAgID0gMzQwLAotICAgIFNBTVBM
RVIyRFNIQURPVyAgICAgICAgICAgPSAzNDEsCi0gICAgU0FNUExFUkNVQkVTSEFET1cgICAgICAg
ICA9IDM0MiwKLSAgICBTQU1QTEVSMkRBUlJBWVNIQURPVyAgICAgID0gMzQzLAotICAgIFNBTVBM
RVJWSURFT1dFQkdMICAgICAgICAgPSAzNDQsCi0gICAgU0FNUExFUkVYVEVSTkFMMkRZMllFWFQg
ICA9IDM0NSwKLSAgICBJTUFHRTJEICAgICAgICAgICAgICAgICAgID0gMzQ2LAotICAgIElJTUFH
RTJEICAgICAgICAgICAgICAgICAgPSAzNDcsCi0gICAgVUlNQUdFMkQgICAgICAgICAgICAgICAg
ICA9IDM0OCwKLSAgICBJTUFHRTNEICAgICAgICAgICAgICAgICAgID0gMzQ5LAotICAgIElJTUFH
RTNEICAgICAgICAgICAgICAgICAgPSAzNTAsCi0gICAgVUlNQUdFM0QgICAgICAgICAgICAgICAg
ICA9IDM1MSwKLSAgICBJTUFHRTJEQVJSQVkgICAgICAgICAgICAgID0gMzUyLAotICAgIElJTUFH
RTJEQVJSQVkgICAgICAgICAgICAgPSAzNTMsCi0gICAgVUlNQUdFMkRBUlJBWSAgICAgICAgICAg
ICA9IDM1NCwKLSAgICBJTUFHRUNVQkUgICAgICAgICAgICAgICAgID0gMzU1LAotICAgIElJTUFH
RUNVQkUgICAgICAgICAgICAgICAgPSAzNTYsCi0gICAgVUlNQUdFQ1VCRSAgICAgICAgICAgICAg
ICA9IDM1NywKLSAgICBBVE9NSUNVSU5UICAgICAgICAgICAgICAgID0gMzU4LAotICAgIExBWU9V
VCAgICAgICAgICAgICAgICAgICAgPSAzNTksCi0gICAgWVVWQ1NDU1RBTkRBUkRFWFQgICAgICAg
ICA9IDM2MCwKLSAgICBZVVZDU0NTVEFOREFSREVYVENPTlNUQU5UID0gMzYxLAotICAgIElERU5U
SUZJRVIgICAgICAgICAgICAgICAgPSAzNjIsCi0gICAgVFlQRV9OQU1FICAgICAgICAgICAgICAg
ICA9IDM2MywKLSAgICBGTE9BVENPTlNUQU5UICAgICAgICAgICAgID0gMzY0LAotICAgIElOVENP
TlNUQU5UICAgICAgICAgICAgICAgPSAzNjUsCi0gICAgVUlOVENPTlNUQU5UICAgICAgICAgICAg
ICA9IDM2NiwKLSAgICBCT09MQ09OU1RBTlQgICAgICAgICAgICAgID0gMzY3LAotICAgIEZJRUxE
X1NFTEVDVElPTiAgICAgICAgICAgPSAzNjgsCi0gICAgTEVGVF9PUCAgICAgICAgICAgICAgICAg
ICA9IDM2OSwKLSAgICBSSUdIVF9PUCAgICAgICAgICAgICAgICAgID0gMzcwLAotICAgIElOQ19P
UCAgICAgICAgICAgICAgICAgICAgPSAzNzEsCi0gICAgREVDX09QICAgICAgICAgICAgICAgICAg
ICA9IDM3MiwKLSAgICBMRV9PUCAgICAgICAgICAgICAgICAgICAgID0gMzczLAotICAgIEdFX09Q
ICAgICAgICAgICAgICAgICAgICAgPSAzNzQsCi0gICAgRVFfT1AgICAgICAgICAgICAgICAgICAg
ICA9IDM3NSwKLSAgICBORV9PUCAgICAgICAgICAgICAgICAgICAgID0gMzc2LAotICAgIEFORF9P
UCAgICAgICAgICAgICAgICAgICAgPSAzNzcsCi0gICAgT1JfT1AgICAgICAgICAgICAgICAgICAg
ICA9IDM3OCwKLSAgICBYT1JfT1AgICAgICAgICAgICAgICAgICAgID0gMzc5LAotICAgIE1VTF9B
U1NJR04gICAgICAgICAgICAgICAgPSAzODAsCi0gICAgRElWX0FTU0lHTiAgICAgICAgICAgICAg
ICA9IDM4MSwKLSAgICBBRERfQVNTSUdOICAgICAgICAgICAgICAgID0gMzgyLAotICAgIE1PRF9B
U1NJR04gICAgICAgICAgICAgICAgPSAzODMsCi0gICAgTEVGVF9BU1NJR04gICAgICAgICAgICAg
ICA9IDM4NCwKLSAgICBSSUdIVF9BU1NJR04gICAgICAgICAgICAgID0gMzg1LAotICAgIEFORF9B
U1NJR04gICAgICAgICAgICAgICAgPSAzODYsCi0gICAgWE9SX0FTU0lHTiAgICAgICAgICAgICAg
ICA9IDM4NywKLSAgICBPUl9BU1NJR04gICAgICAgICAgICAgICAgID0gMzg4LAotICAgIFNVQl9B
U1NJR04gICAgICAgICAgICAgICAgPSAzODksCi0gICAgTEVGVF9QQVJFTiAgICAgICAgICAgICAg
ICA9IDM5MCwKLSAgICBSSUdIVF9QQVJFTiAgICAgICAgICAgICAgID0gMzkxLAotICAgIExFRlRf
QlJBQ0tFVCAgICAgICAgICAgICAgPSAzOTIsCi0gICAgUklHSFRfQlJBQ0tFVCAgICAgICAgICAg
ICA9IDM5MywKLSAgICBMRUZUX0JSQUNFICAgICAgICAgICAgICAgID0gMzk0LAotICAgIFJJR0hU
X0JSQUNFICAgICAgICAgICAgICAgPSAzOTUsCi0gICAgRE9UICAgICAgICAgICAgICAgICAgICAg
ICA9IDM5NiwKLSAgICBDT01NQSAgICAgICAgICAgICAgICAgICAgID0gMzk3LAotICAgIENPTE9O
ICAgICAgICAgICAgICAgICAgICAgPSAzOTgsCi0gICAgRVFVQUwgICAgICAgICAgICAgICAgICAg
ICA9IDM5OSwKLSAgICBTRU1JQ09MT04gICAgICAgICAgICAgICAgID0gNDAwLAotICAgIEJBTkcg
ICAgICAgICAgICAgICAgICAgICAgPSA0MDEsCi0gICAgREFTSCAgICAgICAgICAgICAgICAgICAg
ICA9IDQwMiwKLSAgICBUSUxERSAgICAgICAgICAgICAgICAgICAgID0gNDAzLAotICAgIFBMVVMg
ICAgICAgICAgICAgICAgICAgICAgPSA0MDQsCi0gICAgU1RBUiAgICAgICAgICAgICAgICAgICAg
ICA9IDQwNSwKLSAgICBTTEFTSCAgICAgICAgICAgICAgICAgICAgID0gNDA2LAotICAgIFBFUkNF
TlQgICAgICAgICAgICAgICAgICAgPSA0MDcsCi0gICAgTEVGVF9BTkdMRSAgICAgICAgICAgICAg
ICA9IDQwOCwKLSAgICBSSUdIVF9BTkdMRSAgICAgICAgICAgICAgID0gNDA5LAotICAgIFZFUlRJ
Q0FMX0JBUiAgICAgICAgICAgICAgPSA0MTAsCi0gICAgQ0FSRVQgICAgICAgICAgICAgICAgICAg
ICA9IDQxMSwKLSAgICBBTVBFUlNBTkQgICAgICAgICAgICAgICAgID0gNDEyLAotICAgIFFVRVNU
SU9OICAgICAgICAgICAgICAgICAgPSA0MTMKKyAgICBOT1BFUlNQRUNUSVZFICAgICAgICAgICAg
ID0gMzExLAorICAgIFJFQURPTkxZICAgICAgICAgICAgICAgICAgPSAzMTIsCisgICAgV1JJVEVP
TkxZICAgICAgICAgICAgICAgICA9IDMxMywKKyAgICBDT0hFUkVOVCAgICAgICAgICAgICAgICAg
ID0gMzE0LAorICAgIFJFU1RSSUNUICAgICAgICAgICAgICAgICAgPSAzMTUsCisgICAgVk9MQVRJ
TEUgICAgICAgICAgICAgICAgICA9IDMxNiwKKyAgICBTSEFSRUQgICAgICAgICAgICAgICAgICAg
ID0gMzE3LAorICAgIFNUUlVDVCAgICAgICAgICAgICAgICAgICAgPSAzMTgsCisgICAgVk9JRF9U
WVBFICAgICAgICAgICAgICAgICA9IDMxOSwKKyAgICBXSElMRSAgICAgICAgICAgICAgICAgICAg
ID0gMzIwLAorICAgIFNBTVBMRVIyRCAgICAgICAgICAgICAgICAgPSAzMjEsCisgICAgU0FNUExF
UkNVQkUgICAgICAgICAgICAgICA9IDMyMiwKKyAgICBTQU1QTEVSX0VYVEVSTkFMX09FUyAgICAg
ID0gMzIzLAorICAgIFNBTVBMRVIyRFJFQ1QgICAgICAgICAgICAgPSAzMjQsCisgICAgU0FNUExF
UjJEQVJSQVkgICAgICAgICAgICA9IDMyNSwKKyAgICBJU0FNUExFUjJEICAgICAgICAgICAgICAg
ID0gMzI2LAorICAgIElTQU1QTEVSM0QgICAgICAgICAgICAgICAgPSAzMjcsCisgICAgSVNBTVBM
RVJDVUJFICAgICAgICAgICAgICA9IDMyOCwKKyAgICBJU0FNUExFUjJEQVJSQVkgICAgICAgICAg
ID0gMzI5LAorICAgIFVTQU1QTEVSMkQgICAgICAgICAgICAgICAgPSAzMzAsCisgICAgVVNBTVBM
RVIzRCAgICAgICAgICAgICAgICA9IDMzMSwKKyAgICBVU0FNUExFUkNVQkUgICAgICAgICAgICAg
ID0gMzMyLAorICAgIFVTQU1QTEVSMkRBUlJBWSAgICAgICAgICAgPSAzMzMsCisgICAgU0FNUExF
UjJETVMgICAgICAgICAgICAgICA9IDMzNCwKKyAgICBJU0FNUExFUjJETVMgICAgICAgICAgICAg
ID0gMzM1LAorICAgIFVTQU1QTEVSMkRNUyAgICAgICAgICAgICAgPSAzMzYsCisgICAgU0FNUExF
UjJETVNBUlJBWSAgICAgICAgICA9IDMzNywKKyAgICBJU0FNUExFUjJETVNBUlJBWSAgICAgICAg
ID0gMzM4LAorICAgIFVTQU1QTEVSMkRNU0FSUkFZICAgICAgICAgPSAzMzksCisgICAgU0FNUExF
UjNEICAgICAgICAgICAgICAgICA9IDM0MCwKKyAgICBTQU1QTEVSM0RSRUNUICAgICAgICAgICAg
ID0gMzQxLAorICAgIFNBTVBMRVIyRFNIQURPVyAgICAgICAgICAgPSAzNDIsCisgICAgU0FNUExF
UkNVQkVTSEFET1cgICAgICAgICA9IDM0MywKKyAgICBTQU1QTEVSMkRBUlJBWVNIQURPVyAgICAg
ID0gMzQ0LAorICAgIFNBTVBMRVJWSURFT1dFQkdMICAgICAgICAgPSAzNDUsCisgICAgU0FNUExF
UkVYVEVSTkFMMkRZMllFWFQgICA9IDM0NiwKKyAgICBJTUFHRTJEICAgICAgICAgICAgICAgICAg
ID0gMzQ3LAorICAgIElJTUFHRTJEICAgICAgICAgICAgICAgICAgPSAzNDgsCisgICAgVUlNQUdF
MkQgICAgICAgICAgICAgICAgICA9IDM0OSwKKyAgICBJTUFHRTNEICAgICAgICAgICAgICAgICAg
ID0gMzUwLAorICAgIElJTUFHRTNEICAgICAgICAgICAgICAgICAgPSAzNTEsCisgICAgVUlNQUdF
M0QgICAgICAgICAgICAgICAgICA9IDM1MiwKKyAgICBJTUFHRTJEQVJSQVkgICAgICAgICAgICAg
ID0gMzUzLAorICAgIElJTUFHRTJEQVJSQVkgICAgICAgICAgICAgPSAzNTQsCisgICAgVUlNQUdF
MkRBUlJBWSAgICAgICAgICAgICA9IDM1NSwKKyAgICBJTUFHRUNVQkUgICAgICAgICAgICAgICAg
ID0gMzU2LAorICAgIElJTUFHRUNVQkUgICAgICAgICAgICAgICAgPSAzNTcsCisgICAgVUlNQUdF
Q1VCRSAgICAgICAgICAgICAgICA9IDM1OCwKKyAgICBBVE9NSUNVSU5UICAgICAgICAgICAgICAg
ID0gMzU5LAorICAgIExBWU9VVCAgICAgICAgICAgICAgICAgICAgPSAzNjAsCisgICAgWVVWQ1ND
U1RBTkRBUkRFWFQgICAgICAgICA9IDM2MSwKKyAgICBZVVZDU0NTVEFOREFSREVYVENPTlNUQU5U
ID0gMzYyLAorICAgIElERU5USUZJRVIgICAgICAgICAgICAgICAgPSAzNjMsCisgICAgVFlQRV9O
QU1FICAgICAgICAgICAgICAgICA9IDM2NCwKKyAgICBGTE9BVENPTlNUQU5UICAgICAgICAgICAg
ID0gMzY1LAorICAgIElOVENPTlNUQU5UICAgICAgICAgICAgICAgPSAzNjYsCisgICAgVUlOVENP
TlNUQU5UICAgICAgICAgICAgICA9IDM2NywKKyAgICBCT09MQ09OU1RBTlQgICAgICAgICAgICAg
ID0gMzY4LAorICAgIEZJRUxEX1NFTEVDVElPTiAgICAgICAgICAgPSAzNjksCisgICAgTEVGVF9P
UCAgICAgICAgICAgICAgICAgICA9IDM3MCwKKyAgICBSSUdIVF9PUCAgICAgICAgICAgICAgICAg
ID0gMzcxLAorICAgIElOQ19PUCAgICAgICAgICAgICAgICAgICAgPSAzNzIsCisgICAgREVDX09Q
ICAgICAgICAgICAgICAgICAgICA9IDM3MywKKyAgICBMRV9PUCAgICAgICAgICAgICAgICAgICAg
ID0gMzc0LAorICAgIEdFX09QICAgICAgICAgICAgICAgICAgICAgPSAzNzUsCisgICAgRVFfT1Ag
ICAgICAgICAgICAgICAgICAgICA9IDM3NiwKKyAgICBORV9PUCAgICAgICAgICAgICAgICAgICAg
ID0gMzc3LAorICAgIEFORF9PUCAgICAgICAgICAgICAgICAgICAgPSAzNzgsCisgICAgT1JfT1Ag
ICAgICAgICAgICAgICAgICAgICA9IDM3OSwKKyAgICBYT1JfT1AgICAgICAgICAgICAgICAgICAg
ID0gMzgwLAorICAgIE1VTF9BU1NJR04gICAgICAgICAgICAgICAgPSAzODEsCisgICAgRElWX0FT
U0lHTiAgICAgICAgICAgICAgICA9IDM4MiwKKyAgICBBRERfQVNTSUdOICAgICAgICAgICAgICAg
ID0gMzgzLAorICAgIE1PRF9BU1NJR04gICAgICAgICAgICAgICAgPSAzODQsCisgICAgTEVGVF9B
U1NJR04gICAgICAgICAgICAgICA9IDM4NSwKKyAgICBSSUdIVF9BU1NJR04gICAgICAgICAgICAg
ID0gMzg2LAorICAgIEFORF9BU1NJR04gICAgICAgICAgICAgICAgPSAzODcsCisgICAgWE9SX0FT
U0lHTiAgICAgICAgICAgICAgICA9IDM4OCwKKyAgICBPUl9BU1NJR04gICAgICAgICAgICAgICAg
ID0gMzg5LAorICAgIFNVQl9BU1NJR04gICAgICAgICAgICAgICAgPSAzOTAsCisgICAgTEVGVF9Q
QVJFTiAgICAgICAgICAgICAgICA9IDM5MSwKKyAgICBSSUdIVF9QQVJFTiAgICAgICAgICAgICAg
ID0gMzkyLAorICAgIExFRlRfQlJBQ0tFVCAgICAgICAgICAgICAgPSAzOTMsCisgICAgUklHSFRf
QlJBQ0tFVCAgICAgICAgICAgICA9IDM5NCwKKyAgICBMRUZUX0JSQUNFICAgICAgICAgICAgICAg
ID0gMzk1LAorICAgIFJJR0hUX0JSQUNFICAgICAgICAgICAgICAgPSAzOTYsCisgICAgRE9UICAg
ICAgICAgICAgICAgICAgICAgICA9IDM5NywKKyAgICBDT01NQSAgICAgICAgICAgICAgICAgICAg
ID0gMzk4LAorICAgIENPTE9OICAgICAgICAgICAgICAgICAgICAgPSAzOTksCisgICAgRVFVQUwg
ICAgICAgICAgICAgICAgICAgICA9IDQwMCwKKyAgICBTRU1JQ09MT04gICAgICAgICAgICAgICAg
ID0gNDAxLAorICAgIEJBTkcgICAgICAgICAgICAgICAgICAgICAgPSA0MDIsCisgICAgREFTSCAg
ICAgICAgICAgICAgICAgICAgICA9IDQwMywKKyAgICBUSUxERSAgICAgICAgICAgICAgICAgICAg
ID0gNDA0LAorICAgIFBMVVMgICAgICAgICAgICAgICAgICAgICAgPSA0MDUsCisgICAgU1RBUiAg
ICAgICAgICAgICAgICAgICAgICA9IDQwNiwKKyAgICBTTEFTSCAgICAgICAgICAgICAgICAgICAg
ID0gNDA3LAorICAgIFBFUkNFTlQgICAgICAgICAgICAgICAgICAgPSA0MDgsCisgICAgTEVGVF9B
TkdMRSAgICAgICAgICAgICAgICA9IDQwOSwKKyAgICBSSUdIVF9BTkdMRSAgICAgICAgICAgICAg
ID0gNDEwLAorICAgIFZFUlRJQ0FMX0JBUiAgICAgICAgICAgICAgPSA0MTEsCisgICAgQ0FSRVQg
ICAgICAgICAgICAgICAgICAgICA9IDQxMiwKKyAgICBBTVBFUlNBTkQgICAgICAgICAgICAgICAg
ID0gNDEzLAorICAgIFFVRVNUSU9OICAgICAgICAgICAgICAgICAgPSA0MTQKIH07CiAjICAgIGVu
ZGlmCiAKQEAgLTY3MywyMSArNjc0LDIxIEBAIHVuaW9uIHl5YWxsb2MKICNlbmRpZiAvKiAhWVlD
T1BZX05FRURFRCAqLwogCiAvKiBZWUZJTkFMIC0tIFN0YXRlIG51bWJlciBvZiB0aGUgdGVybWlu
YXRpb24gc3RhdGUuICAqLwotI2RlZmluZSBZWUZJTkFMIDE0MQorI2RlZmluZSBZWUZJTkFMIDE0
MgogLyogWVlMQVNUIC0tIExhc3QgaW5kZXggaW4gWVlUQUJMRS4gICovCi0jZGVmaW5lIFlZTEFT
VCAyOTk1CisjZGVmaW5lIFlZTEFTVCAzMDE3CiAKIC8qIFlZTlRPS0VOUyAtLSBOdW1iZXIgb2Yg
dGVybWluYWxzLiAgKi8KLSNkZWZpbmUgWVlOVE9LRU5TIDE1OQorI2RlZmluZSBZWU5UT0tFTlMg
MTYwCiAvKiBZWU5OVFMgLS0gTnVtYmVyIG9mIG5vbnRlcm1pbmFscy4gICovCiAjZGVmaW5lIFlZ
Tk5UUyA5NgogLyogWVlOUlVMRVMgLS0gTnVtYmVyIG9mIHJ1bGVzLiAgKi8KLSNkZWZpbmUgWVlO
UlVMRVMgMzAzCisjZGVmaW5lIFlZTlJVTEVTIDMwNAogLyogWVlOU1RBVEVTIC0tIE51bWJlciBv
ZiBzdGF0ZXMuICAqLwotI2RlZmluZSBZWU5TVEFURVMgNDI5CisjZGVmaW5lIFlZTlNUQVRFUyA0
MzAKIAogI2RlZmluZSBZWVVOREVGVE9LIDIKLSNkZWZpbmUgWVlNQVhVVE9LIDQxMworI2RlZmlu
ZSBZWU1BWFVUT0sgNDE0CiAKIC8qIFlZVFJBTlNMQVRFKFRPS0VOLU5VTSkgLS0gU3ltYm9sIG51
bWJlciBjb3JyZXNwb25kaW5nIHRvIFRPS0VOLU5VTQogICAgYXMgcmV0dXJuZWQgYnkgeXlsZXgs
IHdpdGggb3V0LW9mLWJvdW5kcyBjaGVja2luZy4gICovCkBAIC03MTcsNyArNzE4LDcgQEAgc3Rh
dGljIGNvbnN0IHl5dHlwZV91aW50OCB5eXRyYW5zbGF0ZVtdID0gewogICAgIDg3LCAgODgsICA4
OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAw
LCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwKICAgICAxMDYsIDEwNywgMTA4LCAxMDksIDExMCwg
MTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIDEy
MiwgMTIzLCAxMjQsCiAgICAgMTI1LCAxMjYsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIs
IDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLAot
ICAgIDE0NCwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0
LCAxNTUsIDE1NiwgMTU3LCAxNTh9OworICAgIDE0NCwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDks
IDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAxNTgsIDE1OX07CiAKICNp
ZiBZWURFQlVHCiAvKiBZWVJMSU5FW1lZTl0gLS0gU291cmNlIGxpbmUgd2hlcmUgcnVsZSBudW1i
ZXIgWVlOIHdhcyBkZWZpbmVkLiAgKi8KQEAgLTcyOSwxOCArNzMwLDE5IEBAIHN0YXRpYyBjb25z
dCB5eXR5cGVfdWludDE2IHl5cmxpbmVbXSA9IHsKICAgICA1MDcsICA1MDgsICA1MTQsICA1MTUs
ICA1MjEsICA1MjIsICA1MjgsICA1MjksICA1MzUsICA1MzYsICA1NDIsICA1NDMsICA1NDQsICA1
NDUsICA1NDksICA1NTAsCiAgICAgNTUxLCAgNTU1LCAgNTU5LCAgNTYzLCAgNTY3LCAgNTc0LCAg
NTc3LCAgNTgzLCAgNTkwLCAgNTk3LCAgNjAwLCAgNjAzLCAgNjA3LCAgNjExLCAgNjE1LCAgNjE5
LAogICAgIDYyMywgIDYzMCwgIDYzNywgIDY0MCwgIDY0NywgIDY1NSwgIDY3MiwgIDY4MiwgIDY4
NSwgIDY5MSwgIDY5NSwgIDY5OSwgIDcwMywgIDcxMCwgIDcxNywgIDcyMCwKLSAgICA3MjQsICA3
MjgsICA3MzMsICA3NDAsICA3NDQsICA3NDgsICA3NTIsICA3NTcsICA3NjQsICA3NjgsICA3NzQs
ICA3NzcsICA3ODMsICA3ODcsICA3OTQsICA4MDAsCi0gICAgODA2LCAgODEwLCAgODE0LCAgODE3
LCAgODIwLCAgODI0LCAgODMyLCAgODM3LCAgODQxLCAgODQ0LCAgODQ3LCAgODUwLCAgODUzLCAg
ODU3LCAgODYwLCAgODY0LAotICAgIDg2NywgIDg3MCwgIDg3MywgIDg3NiwgIDg3OSwgIDg4Niwg
IDg5MywgIDg5NiwgIDg5OSwgIDkwNSwgIDkxMiwgIDkxNSwgIDkyMSwgIDkyNCwgIDkyNywgIDkz
MCwKLSAgICA5MzYsICA5MzksICA5NDYsICA5NTEsICA5NTgsICA5NjMsICA5NzQsICA5NzcsICA5
ODAsICA5ODMsICA5ODYsICA5ODksICA5OTMsICA5OTcsICAxMDAxLCAxMDA1LAotICAgIDEwMDks
IDEwMTMsIDEwMTcsIDEwMjEsIDEwMjUsIDEwMjksIDEwMzMsIDEwMzcsIDEwNDEsIDEwNDUsIDEw
NDksIDEwNTMsIDEwNTcsIDEwNjEsIDEwNjUsIDEwNjksCi0gICAgMTA3MywgMTA4MCwgMTA4Mywg
MTA4NiwgMTA4OSwgMTA5MiwgMTA5NSwgMTA5OCwgMTEwMSwgMTEwNCwgMTEwNywgMTExMCwgMTEx
MywgMTExNiwgMTExOSwgMTEyMiwKLSAgICAxMTI1LCAxMTI4LCAxMTMxLCAxMTM0LCAxMTM3LCAx
MTQwLCAxMTQzLCAxMTUwLCAxMTYwLCAxMTY3LCAxMTc0LCAxMTc3LCAxMTgwLCAxMTgzLCAxMTg2
LCAxMTg5LAotICAgIDExOTIsIDExOTUsIDExOTgsIDEyMDEsIDEyMDQsIDEyMDcsIDEyMTAsIDEy
MTMsIDEyMTYsIDEyMjQsIDEyMjQsIDEyMjcsIDEyMjcsIDEyMzMsIDEyMzYsIDEyNDIsCi0gICAg
MTI0NSwgMTI1MiwgMTI1NiwgMTI2MiwgMTI2NSwgMTI3MSwgMTI3NSwgMTI3OSwgMTI4MCwgMTI4
NiwgMTI4NywgMTI4OCwgMTI4OSwgMTI5MCwgMTI5MSwgMTI5MiwKLSAgICAxMjk2LCAxMzAwLCAx
MzAwLCAxMzAwLCAxMzA3LCAxMzA4LCAxMzEyLCAxMzEyLCAxMzEzLCAxMzEzLCAxMzE4LCAxMzIy
LCAxMzI5LCAxMzMzLCAxMzQwLCAxMzQxLAotICAgIDEzNDUsIDEzNTEsIDEzNTUsIDEzNjQsIDEz
NjQsIDEzNzEsIDEzNzQsIDEzODAsIDEzODQsIDEzOTAsIDEzOTAsIDEzOTUsIDEzOTUsIDEzOTks
IDEzOTksIDE0MDcsCi0gICAgMTQxMCwgMTQxNiwgMTQxOSwgMTQyNSwgMTQyOSwgMTQzNiwgMTQz
OSwgMTQ0MiwgMTQ0NSwgMTQ0OCwgMTQ1NiwgMTQ2MiwgMTQ2OCwgMTQ3MSwgMTQ3NywgMTQ3N307
CisgICAgNzI0LCAgNzI4LCAgNzMzLCAgNzQwLCAgNzQ0LCAgNzQ4LCAgNzUyLCAgNzU3LCAgNzY0
LCAgNzY4LCAgNzc0LCAgNzc3LCAgNzgwLCAgNzkwLCAgNzk0LCAgODAxLAorICAgIDgwNywgIDgx
MywgIDgxNywgIDgyMSwgIDgyNCwgIDgyNywgIDgzMSwgIDgzOSwgIDg0NCwgIDg0OCwgIDg1MSwg
IDg1NCwgIDg1NywgIDg2MCwgIDg2NCwgIDg2NywKKyAgICA4NzEsICA4NzQsICA4NzcsICA4ODAs
ICA4ODMsICA4ODYsICA4OTMsICA5MDAsICA5MDMsICA5MDYsICA5MTIsICA5MTksICA5MjIsICA5
MjgsICA5MzEsICA5MzQsCisgICAgOTM3LCAgOTQzLCAgOTQ2LCAgOTUzLCAgOTU4LCAgOTY1LCAg
OTcwLCAgOTgxLCAgOTg0LCAgOTg3LCAgOTkwLCAgOTkzLCAgOTk2LCAgMTAwMCwgMTAwNCwgMTAw
OCwKKyAgICAxMDEyLCAxMDE2LCAxMDIwLCAxMDI0LCAxMDI4LCAxMDMyLCAxMDM2LCAxMDQwLCAx
MDQ0LCAxMDQ4LCAxMDUyLCAxMDU2LCAxMDYwLCAxMDY0LCAxMDY4LCAxMDcyLAorICAgIDEwNzYs
IDEwODAsIDEwODcsIDEwOTAsIDEwOTMsIDEwOTYsIDEwOTksIDExMDIsIDExMDUsIDExMDgsIDEx
MTEsIDExMTQsIDExMTcsIDExMjAsIDExMjMsIDExMjYsCisgICAgMTEyOSwgMTEzMiwgMTEzNSwg
MTEzOCwgMTE0MSwgMTE0NCwgMTE0NywgMTE1MCwgMTE1NywgMTE2NywgMTE3NCwgMTE4MSwgMTE4
NCwgMTE4NywgMTE5MCwgMTE5MywKKyAgICAxMTk2LCAxMTk5LCAxMjAyLCAxMjA1LCAxMjA4LCAx
MjExLCAxMjE0LCAxMjE3LCAxMjIwLCAxMjIzLCAxMjMxLCAxMjMxLCAxMjM0LCAxMjM0LCAxMjQw
LCAxMjQzLAorICAgIDEyNDksIDEyNTIsIDEyNTksIDEyNjMsIDEyNjksIDEyNzIsIDEyNzgsIDEy
ODIsIDEyODYsIDEyODcsIDEyOTMsIDEyOTQsIDEyOTUsIDEyOTYsIDEyOTcsIDEyOTgsCisgICAg
MTI5OSwgMTMwMywgMTMwNywgMTMwNywgMTMwNywgMTMxNCwgMTMxNSwgMTMxOSwgMTMxOSwgMTMy
MCwgMTMyMCwgMTMyNSwgMTMyOSwgMTMzNiwgMTM0MCwgMTM0NywKKyAgICAxMzQ4LCAxMzUyLCAx
MzU4LCAxMzYyLCAxMzcxLCAxMzcxLCAxMzc4LCAxMzgxLCAxMzg3LCAxMzkxLCAxMzk3LCAxMzk3
LCAxNDAyLCAxNDAyLCAxNDA2LCAxNDA2LAorICAgIDE0MTQsIDE0MTcsIDE0MjMsIDE0MjYsIDE0
MzIsIDE0MzYsIDE0NDMsIDE0NDYsIDE0NDksIDE0NTIsIDE0NTUsIDE0NjMsIDE0NjksIDE0NzUs
IDE0NzgsIDE0ODQsCisgICAgMTQ4NH07CiAjZW5kaWYKIAogI2lmIFlZREVCVUcgfHwgWVlFUlJP
Ul9WRVJCT1NFIHx8IDAKQEAgLTgwMiw2ICs4MDQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29u
c3QgeXl0bmFtZVtdID0geyIkZW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIkNFTlRST0lEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IkZMQVQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU01PT1RIIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5PUEVSU1BFQ1RJVkUiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUkVBRE9OTFkiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV1JJVEVPTkxZIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNPSEVSRU5UIiwKQEAgLTEwMTYsNDYyICsxMDE5
LDQ2NSBAQCBzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQxNiB5eXRva251bVtdID0gewogICAgIDM0
NSwgMzQ2LCAzNDcsIDM0OCwgMzQ5LCAzNTAsIDM1MSwgMzUyLCAzNTMsIDM1NCwgMzU1LCAzNTYs
IDM1NywgMzU4LCAzNTksIDM2MCwgMzYxLCAzNjIsCiAgICAgMzYzLCAzNjQsIDM2NSwgMzY2LCAz
NjcsIDM2OCwgMzY5LCAzNzAsIDM3MSwgMzcyLCAzNzMsIDM3NCwgMzc1LCAzNzYsIDM3NywgMzc4
LCAzNzksIDM4MCwKICAgICAzODEsIDM4MiwgMzgzLCAzODQsIDM4NSwgMzg2LCAzODcsIDM4OCwg
Mzg5LCAzOTAsIDM5MSwgMzkyLCAzOTMsIDM5NCwgMzk1LCAzOTYsIDM5NywgMzk4LAotICAgIDM5
OSwgNDAwLCA0MDEsIDQwMiwgNDAzLCA0MDQsIDQwNSwgNDA2LCA0MDcsIDQwOCwgNDA5LCA0MTAs
IDQxMSwgNDEyLCA0MTN9OworICAgIDM5OSwgNDAwLCA0MDEsIDQwMiwgNDAzLCA0MDQsIDQwNSwg
NDA2LCA0MDcsIDQwOCwgNDA5LCA0MTAsIDQxMSwgNDEyLCA0MTMsIDQxNH07CiAjZW5kaWYKIAot
I2RlZmluZSBZWVBBQ1RfTklORiAtMzcwCisjZGVmaW5lIFlZUEFDVF9OSU5GIC0zNjgKIAotI2Rl
ZmluZSB5eXBhY3RfdmFsdWVfaXNfZGVmYXVsdChZeXN0YXRlKSAoISEoKFl5c3RhdGUpID09ICgt
MzcwKSkpCisjZGVmaW5lIHl5cGFjdF92YWx1ZV9pc19kZWZhdWx0KFl5c3RhdGUpICghISgoWXlz
dGF0ZSkgPT0gKC0zNjgpKSkKIAotI2RlZmluZSBZWVRBQkxFX05JTkYgLTI2MworI2RlZmluZSBZ
WVRBQkxFX05JTkYgLTI2NAogCiAjZGVmaW5lIHl5dGFibGVfdmFsdWVfaXNfZXJyb3IoWXl0YWJs
ZV92YWx1ZSkgMAogCiAvKiBZWVBBQ1RbU1RBVEUtTlVNXSAtLSBJbmRleCBpbiBZWVRBQkxFIG9m
IHRoZSBwb3J0aW9uIGRlc2NyaWJpbmcKICAgIFNUQVRFLU5VTS4gICovCiBzdGF0aWMgY29uc3Qg
eXl0eXBlX2ludDE2IHl5cGFjdFtdID0gewotICAgIDI1ODUsIC0zNzAsIC0zNzAsIC0zNzAsIC0z
NzAsIC0zNzAsIDEyMCwgIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAs
IC0zNzAsIC0zNzAsCi0gICAgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3
MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwK
LSAgICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcw
LCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLAotICAgIC0zNzAsIC02
OCwgIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAs
IC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsCi0gICAgLTM3MCwgLTM3MCwgLTM3MCwgLTM3
MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwg
LTM3MCwgLTM3MCwgLTM3MCwKLSAgICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcw
LCAtMzcwLCAtMzcwLCAtMzcwLCAtODIsICAtMzcwLCAtMzcwLCAtMzcwLCAtODgsICAtNjAsICAt
NTgsCi0gICAgMjY5MSwgLTM2LCAgLTM3MCwgLTc3LCAgLTM3MCwgMTQwMiwgLTM3MCwgLTM3MCwg
LTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTQwLCAgLTM3MCwKLSAgICAyNDc5
LCAtMzcwLCAtMzcwLCAyODg3LCAtMzcwLCAtMzcwLCAtMzcwLCAtNTksICAtNDUsICAtMzcwLCAt
NTAsICAtMzcwLCAyNjkxLCAtMzcwLCAtMzcwLCAtMzcwLAotICAgIDI2OTEsIDQ5LCAgIDQ5LCAg
IC0zNzAsIC0zMCwgIC0xMDksIC02MiwgIC0zNzAsIDI2OTEsIC0zNzAsIC0zNzAsIDE1MDEsIDQs
ICAgIC0zNzAsIC0zNzAsIC04LAotICAgIDI2OTEsIC0zNzAsIC0zNzAsIDMsICAgIC01NywgIC0z
NzAsIDQxMywgIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC00MCwgIC05NiwgIC0zNzAsIDE4ODIs
IC05NSwKLSAgICAtMzcwLCAtMzcwLCAyNjkxLCA0OSwgICAyMTM0LCAtMzcwLCAtMzcwLCAxNCwg
ICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAxODgyLCAxODgyLCAxODgyLAotICAgIC0z
NzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC01MSwgIC0zNzAsIC0zNzAs
IC0zNzAsIDE1LCAgIC00NCwgIDIwMDcsIDI4LCAgIC0zNzAsCi0gICAgMTg4MiwgMiwgICAgLTgw
LCAgNDQsICAgLTk4LCAgNDAsICAgOCwgICAgMTMsICAgMjAsICAgNTgsICAgNjEsICAgLTk3LCAg
LTM3MCwgNDgsICAgLTM3MCwgMTYyOSwKLSAgICAtMzcwLCAyMjQ5LCAyNjkxLCA1NywgICAtMzcw
LCAtNDUsICA1MywgICA1NiwgICAtMzcwLCA2NywgICA2OCwgICA2MCwgICAxNzU3LCA3MywgICAx
ODgyLCA2OSwKLSAgICA3NiwgICA3NCwgICAtMzcwLCAtMzcwLCA2MywgICAtMzcwLCAtMzcwLCAt
MzEsICAtMzcwLCAtODgsICA3OCwgICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCA1NjAsCi0gICAg
LTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgNCwgICAgMTg4MiwgLTY5LCAgLTM3
MCwgLTM3MCwgMTg4MiwgNDksICAgLTQwLCAgLTI5LCAgLTM3MCwKLSAgICAtODUsICAtMzcwLCAt
MzcwLCAtMzcwLCAtNDMsICAtMzcwLCAtMzcwLCAxODgyLCAyNzg5LCAtMzcwLCAtMzcwLCAxODgy
LCA3OSwgICAtMzcwLCAtMzcwLCAtMzcwLAotICAgIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4
ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIsIDE4ODIs
IDE4ODIsIDE4ODIsCi0gICAgMTg4MiwgMTg4MiwgMTg4MiwgMTg4MiwgLTM3MCwgLTM3MCwgODAs
ICAgLTM3MCwgMjM2NCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgNzcsICAgLTM3MCwK
LSAgICAxODgyLCAtMzcwLCAtMzcwLCAtMywgICAxODgyLCA5NywgICAtMzcwLCAtMzcwLCAtMzcw
LCA3MDcsICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLAotICAgIC0zNzAsIC0z
NzAsIC0zNzAsIC0zNzAsIC0zNzAsIDE4ODIsIDE4ODIsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAs
IDE4ODIsIC0zNzAsIDEsICAgIDQsICAgIDQ5LAotICAgIC0zNzAsIC0xMTIsIC0zNzAsIC0zNzAs
IDgxLCAgIDc1LCAgIC0zNzAsIDEwNiwgIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIDIs
ICAgIDIsICAgIC04MCwKLSAgICAtODAsICA0NCwgICA0NCwgICA0NCwgICA0NCwgICAtOTgsICAt
OTgsICA0MCwgICA4LCAgICAxMywgICAyMCwgICA1OCwgICA2MSwgICAyOSwgICAtMzcwLCAtMzcw
LAotICAgIDE3OSwgIC01MCwgIDEwMDEsIDExNDgsIC00MiwgIC0zNzAsIC0zNCwgIC0zNzAsIDEy
NzUsIDcwNywgIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIDE4ODIsCi0gICAgLTM3MCwg
LTM3MCwgMTg4MiwgMTA5LCAgLTM3MCwgLTM3MCwgLTM3MCwgLTM3MCwgMTI3NSwgNzcsICAgLTM3
MCwgNzUsICAgNDksICAgMjY5MSwgMTEwLCAgMTA1LAotICAgIDExNCwgIC0zNzAsIDE4ODIsIC0z
NzAsIDEwMiwgIDExMiwgIDIzNSwgIC0zNzAsIDExNSwgIDExMSwgIDg1NCwgIC0zNzAsIDExMywg
IC0zMiwgIDE4ODIsIDg1NCwKLSAgICA3NywgICAtMzcwLCAxODgyLCAtMzcwLCAtMzcwLCAtMzcw
LCAtMzcwLCAxMTYsICA3NSwgICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwfTsKKyAgICAyNjAzLCAt
MzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAxNTEsICAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4
LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LAorICAgIC0zNjgsIC0zNjgsIC0zNjgsIC0z
NjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgs
IC0zNjgsIC0zNjgsIC0zNjgsCisgICAgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2
OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwg
LTM2OCwKKyAgICAtMzY4LCAtMzY4LCAtODUsICAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4
LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LAorICAgIC0z
NjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgs
IC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsCisgICAgLTM2OCwgLTM2OCwgLTM2
OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgLTc5LCAgLTM2OCwg
LTM2OCwgLTM2OCwgLTk4LCAgLTU3LAorICAgIC03NiwgIDI3MTAsIC0xMTMsIC0zNjgsIC0yNCwg
IC0zNjgsIDE0MTAsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0z
NjgsIC00NywKKyAgICAtMzY4LCAyNDk2LCAtMzY4LCAtMzY4LCAyOTA4LCAtMzY4LCAtMzY4LCAt
MzY4LCAtMjYsICAtNDYsICAtMzY4LCAtNSwgICAtMzY4LCAyNzEwLCAtMzY4LCAtMzY4LAorICAg
IC0zNjgsIDI3MTAsIDMzLCAgIDMzLCAgIC0zNjgsIC0zNSwgIC0xMTAsIC05NywgIC0zNjgsIDI3
MTAsIC0zNjgsIC0zNjgsIDE1MTAsIC00MiwgIC0zNjgsIC0zNjgsCisgICAgLTIsICAgMjcxMCwg
LTM2OCwgLTM2OCwgMTksICAgLTkwLCAgLTM2OCwgNDE0LCAgLTM2OCwgLTM2OCwgLTM2OCwgLTM2
OCwgLTQ3LCAgLTcwLCAgLTM2OCwgMTg5NCwKKyAgICAtNjksICAtMzY4LCAtMzY4LCAyNzEwLCAz
MywgICAyMTQ4LCAtMzY4LCAtMzY4LCAyNiwgICAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4
LCAxODk0LCAxODk0LAorICAgIDE4OTQsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0z
NjgsIC0zNjgsIC01MiwgIC0zNjgsIC0zNjgsIC0zNjgsIDI5LCAgIC00OCwgIDIwMjAsIDM4LAor
ICAgIC0zNjgsIDE4OTQsIDgsICAgIC00MCwgIDMxLCAgIC05NCwgIDI4LCAgIDIwLCAgIDIzLCAg
IDIxLCAgIDYxLCAgIDczLCAgIC04MiwgIC0zNjgsIDYwLCAgIC0zNjgsCisgICAgMTYzOSwgLTM2
OCwgMjI2NCwgMjcxMCwgNDEsICAgLTM2OCwgLTQ2LCAgNTQsICAgNTUsICAgLTM2OCwgNjYsICAg
NjcsICAgNTksICAgMTc2OCwgNzIsICAgMTg5NCwKKyAgICA2NSwgICA3NiwgICA3NCwgICAtMzY4
LCAtMzY4LCA2MiwgICAtMzY4LCAtMzY4LCAtMzcsICAtMzY4LCAtOTgsICA3NywgICAtMzY4LCAt
MzY4LCAtMzY4LCAtMzY4LAorICAgIDU2MiwgIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgs
IC0zNjgsIC00MiwgIDE4OTQsIC02NywgIC0zNjgsIC0zNjgsIDE4OTQsIDMzLCAgIC00NywgIC0z
MSwKKyAgICAtMzY4LCAtODgsICAtMzY4LCAtMzY4LCAtMzY4LCAtNDQsICAtMzY4LCAtMzY4LCAx
ODk0LCAyODA5LCAtMzY4LCAtMzY4LCAxODk0LCA3OSwgICAtMzY4LCAtMzY4LAorICAgIC0zNjgs
IDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4
OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsIDE4OTQsCisgICAgMTg5NCwgMTg5NCwgMTg5NCwg
MTg5NCwgMTg5NCwgLTM2OCwgLTM2OCwgNzUsICAgLTM2OCwgMjM4MCwgLTM2OCwgLTM2OCwgLTM2
OCwgLTM2OCwgLTM2OCwgNzgsCisgICAgLTM2OCwgMTg5NCwgLTM2OCwgLTM2OCwgLTE5LCAgMTg5
NCwgOTcsICAgLTM2OCwgLTM2OCwgLTM2OCwgNzEwLCAgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwg
LTM2OCwKKyAgICAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAxODk0LCAxODk0
LCAtMzY4LCAtMzY4LCAtMzY4LCAtMzY4LCAxODk0LCAtMzY4LCAtNywgICAtNDIsCisgICAgMzMs
ICAgLTM2OCwgLTEwNywgLTM2OCwgLTM2OCwgODAsICAgMTAwLCAgLTM2OCwgODEsICAgLTM2OCwg
LTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgOCwgICAgOCwKKyAgICAtNDAsICAtNDAsICAzMSwgICAz
MSwgICAzMSwgICAzMSwgICAtOTQsICAtOTQsICAyOCwgICAyMCwgICAyMywgICAyMSwgICA2MSwg
ICA3MywgICAyNSwgICAtMzY4LAorICAgIC0zNjgsIDE3OSwgIC01LCAgIDEwMDYsIDExNTQsIC00
MywgIC0zNjgsIC0zOSwgIC0zNjgsIDEyODIsIDcxMCwgIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgs
IC0zNjgsCisgICAgMTg5NCwgLTM2OCwgLTM2OCwgMTg5NCwgMTA5LCAgLTM2OCwgLTM2OCwgLTM2
OCwgLTM2OCwgMTI4MiwgNzgsICAgLTM2OCwgMTAwLCAgMzMsICAgMjcxMCwgMTEwLAorICAgIDEw
NSwgIDExMiwgIC0zNjgsIDE4OTQsIC0zNjgsIDEwMiwgIDExNSwgIDIzNSwgIC0zNjgsIDExNCwg
IDExMSwgIDg1OCwgIC0zNjgsIDExMywgIC0zMiwgIDE4OTQsCisgICAgODU4LCAgNzgsICAgLTM2
OCwgMTg5NCwgLTM2OCwgLTM2OCwgLTM2OCwgLTM2OCwgMTE2LCAgMTAwLCAgLTM2OCwgLTM2OCwg
LTM2OCwgLTM2OH07CiAKIC8qIFlZREVGQUNUW1NUQVRFLU5VTV0gLS0gRGVmYXVsdCByZWR1Y3Rp
b24gbnVtYmVyIGluIHN0YXRlIFNUQVRFLU5VTS4KICAgIFBlcmZvcm1lZCB3aGVuIFlZVEFCTEUg
ZG9lcyBub3Qgc3BlY2lmeSBzb21ldGhpbmcgZWxzZSB0byBkby4gIFplcm8KICAgIG1lYW5zIHRo
ZSBkZWZhdWx0IGlzIGFuIGVycm9yLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5
ZGVmYWN0W10gPSB7Ci0gICAgMCwgICAxMjYsIDEyNywgMTUwLCAxNTEsIDE1MiwgMCwgICAxMzQs
IDEzNiwgMTcwLCAxNjcsIDE2OCwgMTY5LCAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgMTc5LAot
ICAgIDE3MSwgMTcyLCAxNzMsIDE4MCwgMTgxLCAxODIsIDE4MywgMTg0LCAxODUsIDEzNywgMTM4
LCAxMzksIDE0MSwgMTQyLCAxMzUsIDE4NiwgMTg3LCAxODgsIDE4OSwKLSAgICAxOTAsIDE5MSwg
MTQwLCAxMjMsIDEyMiwgMTQzLCAxNDQsIDE0NSwgMTQ2LCAxNDcsIDE0OCwgMCwgICAxNjYsIDE5
MywgMTk1LCAyMTUsIDIxNywgMTk2LCAxOTksCi0gICAgMjAwLCAyMDEsIDIwMiwgMjA1LCAyMDYs
IDIwNywgMjA4LCAxOTcsIDIwMywgMjA5LCAxOTgsIDIwNCwgMjEwLCAxOTQsIDIxMSwgMjEyLCAy
MTMsIDIxNCwgMjE2LAotICAgIDIxOCwgMjE5LCAyMjAsIDIyMSwgMjIyLCAyMjMsIDIyNCwgMjI1
LCAyMjYsIDIyNywgMjI4LCAyMjksIDIzMCwgMCwgICAxOTIsIDIzMiwgMzAxLCAzMDIsIDAsCi0g
ICAgOTksICA5OCwgIDAsICAgMTEwLCAxMTUsIDEzMSwgMCwgICAxMzIsIDEzMywgMTI0LCAxMjgs
IDEyMCwgMTMwLCAxMjksIDE0OSwgMTYwLCAyMzEsIDAsICAgMjk4LAotICAgIDMwMCwgMCwgICAy
LCAgIDMsICAgMjM1LCAwLCAgIDAsICAgODksICAwLCAgIDk3LCAgMCwgICAxMDYsIDEwMCwgMTA4
LCAwLCAgIDEwOSwgMCwgICA5MCwgIDIsCi0gICAgMTE2LCAwLCAgIDk1LCAgMCwgICAxMjUsIDEy
MSwgMCwgICAxNjEsIDEsICAgMjk5LCAwLCAgIDAsICAgMjMzLCAxNTksIDE1NiwgMCwgICAxNTQs
IDAsICAgMzAzLAotICAgIDEwMSwgMTA1LCAxMDcsIDEwMywgMTExLCAxMDIsIDAsICAgMTE3LCA4
OCwgIDk2LCAgMCwgICAwLCAgIDAsICAgMjM3LCAxMCwgIDQsICAgOCwgICA2LCAgIDcsCi0gICAg
OSwgICAzMSwgIDAsICAgMCwgICAwLCAgIDE2MiwgMzgsICAzNywgIDM5LCAgMzYsICA1LCAgIDEy
LCAgMzIsICAxNCwgIDE5LCAgMjAsICAwLCAgIDAsICAgMjUsCi0gICAgMCwgICA0MCwgIDAsICAg
NDQsICA0NywgIDUwLCAgNTUsICA1OCwgIDYwLCAgNjIsICA2NCwgIDY2LCAgNjgsICA3MCwgIDg3
LCAgMCwgICAyOSwgIDAsICAgOTEsCi0gICAgMCwgICAwLCAgIDAsICAgMTUzLCAwLCAgIDAsICAg
MCwgICAyODMsIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAyNTcsIDI2
NiwgMjcwLAotICAgIDQwLCAgNzIsICA4NSwgIDAsICAgMjQ2LCAwLCAgIDE0OSwgMjQ5LCAyNjgs
IDI0OCwgMjQ3LCAwLCAgIDI1MCwgMjUxLCAyNTIsIDI1MywgMjU0LCAyNTUsIDEwNCwKLSAgICAw
LCAgIDExMiwgMjQ1LCAxMTksIDAsICAgMCwgICAyNDMsIDAsICAgMjQxLCAwLCAgIDIzOCwgMzMs
ICAzNCwgIDAsICAgMTYsICAxNywgIDAsICAgMCwgICAyMywKLSAgICAyMiwgIDAsICAgMTY2LCAy
NiwgIDI4LCAgMzUsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMTYzLCAxNjQsIDAsICAgMjM2LCAwLCAgIDE1NywgMTU4LCAxNTUsIDI5NCwgMjkzLCAyNjQs
IDI4NSwKLSAgICAwLCAgIDI5NywgMjk1LCAwLCAgIDAsICAgMCwgICAyNzgsIDI4MSwgMjU2LCAw
LCAgIDc1LCAgNzYsICA3OCwgIDc3LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwKLSAgICA3OSwg
IDc0LCAgMCwgICAwLCAgIDI3MSwgMjY3LCAyNjksIDExNCwgMCwgICAxMTgsIDAsICAgMjQ0LCAw
LCAgIDIzOSwgMCwgICA5MiwgIDExLCAgMCwgICAxOCwKLSAgICAzMCwgIDE1LCAgMjEsICAyNywg
IDQxLCAgNDIsICA0MywgIDQ2LCAgNDUsICA0OCwgIDQ5LCAgNTMsICA1NCwgIDUxLCAgNTIsICA1
NiwgIDU3LCAgNTksICA2MSwKLSAgICA2MywgIDY1LCAgNjcsICA2OSwgIDAsICAgMTY1LCAyMzQs
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAyOTYsIDAsICAgMjc3LCAwLCAgIDI1OCwgNzMsICA4
NiwKLSAgICAxMTMsIDI0MCwgMjQyLCAwLCAgIDkzLCAgMTMsICAwLCAgIDAsICAgMjYzLCAyNjUs
IDI4OCwgMjg3LCAyOTAsIDI2NCwgMjc1LCAyNzksIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwg
ICA3MSwgIDAsICAgMjg5LCAwLCAgIDAsICAgMjc0LCAyNzIsIDAsICAgMCwgICAwLCAgIDI1OSwg
MCwgICAwLCAgIDI5MSwgMCwgICAyNjQsIDI3NiwKLSAgICAwLCAgIDI2MSwgMjgyLCAyNjAsIDk0
LCAgMCwgICAyOTIsIDI4NiwgMjczLCAyODAsIDI4NH07CisgICAgMCwgICAxMjcsIDEyOCwgMTUx
LCAxNTIsIDE1MywgMCwgICAxMzUsIDEzNywgMTcxLCAxNjgsIDE2OSwgMTcwLCAxNzUsIDE3Niwg
MTc3LCAxNzgsIDE3OSwgMTgwLAorICAgIDE3MiwgMTczLCAxNzQsIDE4MSwgMTgyLCAxODMsIDE4
NCwgMTg1LCAxODYsIDEzOCwgMTM5LCAxNDAsIDE0MiwgMTQzLCAxMzYsIDE4NywgMTg4LCAxODks
IDE5MCwKKyAgICAxOTEsIDE5MiwgMTQxLCAxMjMsIDEyMiwgMTI0LCAxNDQsIDE0NSwgMTQ2LCAx
NDcsIDE0OCwgMTQ5LCAwLCAgIDE2NywgMTk0LCAxOTYsIDIxNiwgMjE4LCAxOTcsCisgICAgMjAw
LCAyMDEsIDIwMiwgMjAzLCAyMDYsIDIwNywgMjA4LCAyMDksIDE5OCwgMjA0LCAyMTAsIDE5OSwg
MjA1LCAyMTEsIDE5NSwgMjEyLCAyMTMsIDIxNCwgMjE1LAorICAgIDIxNywgMjE5LCAyMjAsIDIy
MSwgMjIyLCAyMjMsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjI4LCAyMjksIDIzMCwgMjMxLCAwLCAg
IDE5MywgMjMzLCAzMDIsIDMwMywKKyAgICAwLCAgIDk5LCAgOTgsICAwLCAgIDExMCwgMTE1LCAx
MzIsIDAsICAgMTMzLCAxMzQsIDEyNSwgMTI5LCAxMjAsIDEzMSwgMTMwLCAxNTAsIDE2MSwgMjMy
LCAwLAorICAgIDI5OSwgMzAxLCAwLCAgIDIsICAgMywgICAyMzYsIDAsICAgMCwgICA4OSwgIDAs
ICAgOTcsICAwLCAgIDEwNiwgMTAwLCAxMDgsIDAsICAgMTA5LCAwLCAgIDkwLAorICAgIDIsICAg
MTE2LCAwLCAgIDk1LCAgMCwgICAxMjYsIDEyMSwgMCwgICAxNjIsIDEsICAgMzAwLCAwLCAgIDAs
ICAgMjM0LCAxNjAsIDE1NywgMCwgICAxNTUsIDAsCisgICAgMzA0LCAxMDEsIDEwNSwgMTA3LCAx
MDMsIDExMSwgMTAyLCAwLCAgIDExNywgODgsICA5NiwgIDAsICAgMCwgICAwLCAgIDIzOCwgMTAs
ICA0LCAgIDgsICAgNiwKKyAgICA3LCAgIDksICAgMzEsICAwLCAgIDAsICAgMCwgICAxNjMsIDM4
LCAgMzcsICAzOSwgIDM2LCAgNSwgICAxMiwgIDMyLCAgMTQsICAxOSwgIDIwLCAgMCwgICAwLAor
ICAgIDI1LCAgMCwgICA0MCwgIDAsICAgNDQsICA0NywgIDUwLCAgNTUsICA1OCwgIDYwLCAgNjIs
ICA2NCwgIDY2LCAgNjgsICA3MCwgIDg3LCAgMCwgICAyOSwgIDAsCisgICAgOTEsICAwLCAgIDAs
ICAgMCwgICAxNTQsIDAsICAgMCwgICAwLCAgIDI4NCwgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDI1OCwgMjY3LAorICAgIDI3MSwgNDAsICA3MiwgIDg1LCAgMCwgICAy
NDcsIDAsICAgMTUwLCAyNTAsIDI2OSwgMjQ5LCAyNDgsIDAsICAgMjUxLCAyNTIsIDI1MywgMjU0
LCAyNTUsIDI1NiwKKyAgICAxMDQsIDAsICAgMTEyLCAyNDYsIDExOSwgMCwgICAwLCAgIDI0NCwg
MCwgICAyNDIsIDAsICAgMjM5LCAzMywgIDM0LCAgMCwgICAxNiwgIDE3LCAgMCwgICAwLAorICAg
IDIzLCAgMjIsICAwLCAgIDE2NywgMjYsICAyOCwgIDM1LCAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDE2NCwgMTY1LCAwLCAgIDIzNywgMCwgICAxNTgsIDE1
OSwgMTU2LCAyOTUsIDI5NCwgMjY1LAorICAgIDI4NiwgMCwgICAyOTgsIDI5NiwgMCwgICAwLCAg
IDAsICAgMjc5LCAyODIsIDI1NywgMCwgICA3NSwgIDc2LCAgNzgsICA3NywgIDgwLCAgODEsICA4
MiwgIDgzLAorICAgIDg0LCAgNzksICA3NCwgIDAsICAgMCwgICAyNzIsIDI2OCwgMjcwLCAxMTQs
IDAsICAgMTE4LCAwLCAgIDI0NSwgMCwgICAyNDAsIDAsICAgOTIsICAxMSwgIDAsCisgICAgMTgs
ICAzMCwgIDE1LCAgMjEsICAyNywgIDQxLCAgNDIsICA0MywgIDQ2LCAgNDUsICA0OCwgIDQ5LCAg
NTMsICA1NCwgIDUxLCAgNTIsICA1NiwgIDU3LCAgNTksCisgICAgNjEsICA2MywgIDY1LCAgNjcs
ICA2OSwgIDAsICAgMTY2LCAyMzUsIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAyOTcsIDAsICAg
Mjc4LCAwLCAgIDI1OSwgNzMsCisgICAgODYsICAxMTMsIDI0MSwgMjQzLCAwLCAgIDkzLCAgMTMs
ICAwLCAgIDAsICAgMjY0LCAyNjYsIDI4OSwgMjg4LCAyOTEsIDI2NSwgMjc2LCAyODAsIDAsICAg
MCwKKyAgICAwLCAgIDAsICAgMCwgICA3MSwgIDAsICAgMjkwLCAwLCAgIDAsICAgMjc1LCAyNzMs
IDAsICAgMCwgICAwLCAgIDI2MCwgMCwgICAwLCAgIDI5MiwgMCwgICAyNjUsCisgICAgMjc3LCAw
LCAgIDI2MiwgMjgzLCAyNjEsIDk0LCAgMCwgICAyOTMsIDI4NywgMjc0LCAyODEsIDI4NX07CiAK
IC8qIFlZUEdPVE9bTlRFUk0tTlVNXS4gICovCiBzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5
cGdvdG9bXSA9IHsKLSAgICAtMzcwLCAtNDgsICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtMzcw
LCAtMzcwLCAtNywgICAtMzcwLCAtMzcwLCAtMzcwLCAtMzcwLCAtNTIsICAtMzcwLCAtMTAyLAot
ICAgIC0xMDEsIC0xNDgsIC04NCwgIC0yNiwgIC0yNCwgIC0yNywgIC0yNSwgIC0zMywgIC0yMiwg
IC0zNzAsIC0xMzQsIC0xNDQsIC0zNzAsIC0xMjUsIC0xOTksIC0zNzAsCi0gICAgMTcsICAgMTgs
ICAgLTM3MCwgLTM3MCwgLTM3MCwgMTM2LCAgMTQxLCAgMTM4LCAgLTM3MCwgLTM3MCwgLTM0OSwg
LTM3MCwgLTkwLCAgLTM3MCwgLTM3MCwgLTk5LAotICAgIC0zNzAsIC05MiwgIDI2MywgIC0zNzAs
IC0zNzAsIDU5LCAgIDAsICAgIC0xMTgsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0xMzIsIC0x
NTEsIDE5LCAgIC02NSwKLSAgICAtMjQwLCAtOTMsICAtMjI5LCAtMzUxLCAtMTM1LCAtMzcwLCAt
MzcwLCAtMTQwLCAtMzY5LCAtMzcwLCAtMzcwLCAtMTE5LCAtMzcsICAtOTEsICAtMzcwLCAtMzcw
LAotICAgIC0zNzAsIC0zNzAsIC0zNzAsIC0xMTMsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0z
NzAsIC0zNzAsIC0zNzAsIC0zNzAsIC0zNzAsIDE2OSwgIC0zNzAsIC0zNzB9OworICAgIC0zNjgs
IC00OSwgIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC04LCAgIC0zNjgsIC0z
NjgsIC0zNjgsIC0zNjgsIC01MywgIC0zNjgsIC0xMDQsCisgICAgLTEwMywgLTE0OSwgLTk5LCAg
LTI4LCAgLTI3LCAgLTI1LCAgLTIzLCAgLTI5LCAgLTIyLCAgLTM2OCwgLTEzNSwgLTE0NSwgLTM2
OCwgLTEzOCwgLTIwMSwgLTM2OCwKKyAgICAxNSwgICAxNywgICAtMzY4LCAtMzY4LCAtMzY4LCAx
MzUsICAxNDIsICAxMzksICAtMzY4LCAtMzY4LCAtMzU2LCAtMzY4LCAtOTEsICAtMzY4LCAtMzY4
LCAtMTAwLAorICAgIC0zNjgsIC05MywgIDI2NCwgIC0zNjgsIC0zNjgsIDU3LCAgIDAsICAgIC0x
MTYsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0xMzIsIC0xNTQsIDIyLCAgIC02NCwKKyAgICAt
MjQwLCAtOTYsICAtMjMwLCAtMzUyLCAtMTM2LCAtMzY4LCAtMzY4LCAtMTM3LCAtMzY3LCAtMzY4
LCAtMzY4LCAtMTIwLCAtMzYsICAtOTIsICAtMzY4LCAtMzY4LAorICAgIC0zNjgsIC0zNjgsIC0z
NjgsIC0xMTIsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgsIC0zNjgs
IC0zNjgsIDE2OSwgIC0zNjgsIC0zNjh9OwogCiAvKiBZWURFRkdPVE9bTlRFUk0tTlVNXS4gICov
CiBzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5ZGVmZ290b1tdID0gewotICAgIC0xLCAgMjUz
LCAxODEsIDE4MiwgMTgzLCAzNDAsIDE4NCwgMTg1LCAxODYsIDE4NywgMTg4LCAxODksIDE5MCwg
MjI4LCAxOTIsIDE5MywKLSAgICAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIw
MSwgMjAyLCAyMDMsIDIyOSwgMjMwLCAzMjUsIDIzMSwgMjA1LCAxMzYsCi0gICAgMjMyLCAyMzMs
IDk0LCAgOTUsICA5NiwgIDEyNSwgMTI2LCAxMjcsIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAx
MDIsIDEwMywgMTA0LAotICAgIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTQ4LCAxNDksIDIwNiwgMTQw
LCAxMTAsIDExMSwgMjEwLCAxNDQsIDE2NCwgMTY1LCAyNTQsIDI1NSwKLSAgICAyNTAsIDIzNSwg
MjM2LCAyMzcsIDIzOCwgMzEzLCAzOTksIDQyMCwgMzY4LCAzNjksIDM3MCwgNDIxLCAyMzksIDI0
MCwgMjQxLCA0MDcsCi0gICAgMjQyLCA0MDgsIDI0MywgMzk4LCAyNDQsIDM3NiwgMzAyLCAzNzEs
IDM5MiwgNDA0LCA0MDUsIDI0NSwgMTEyLCAxMTMsIDExNCwgMTIyfTsKKyAgICAtMSwgIDI1NCwg
MTgyLCAxODMsIDE4NCwgMzQxLCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDIy
OSwgMTkzLCAxOTQsCisgICAgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIs
IDIwMywgMjA0LCAyMzAsIDIzMSwgMzI2LCAyMzIsIDIwNiwgMTM3LAorICAgIDIzMywgMjM0LCA5
NSwgIDk2LCAgOTcsICAxMjYsIDEyNywgMTI4LCA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAz
LCAxMDQsIDEwNSwKKyAgICAxMDYsIDEwNywgMTA4LCAxMDksIDE0OSwgMTUwLCAyMDcsIDE0MSwg
MTExLCAxMTIsIDIxMSwgMTQ1LCAxNjUsIDE2NiwgMjU1LCAyNTYsCisgICAgMjUxLCAyMzYsIDIz
NywgMjM4LCAyMzksIDMxNCwgNDAwLCA0MjEsIDM2OSwgMzcwLCAzNzEsIDQyMiwgMjQwLCAyNDEs
IDI0MiwgNDA4LAorICAgIDI0MywgNDA5LCAyNDQsIDM5OSwgMjQ1LCAzNzcsIDMwMywgMzcyLCAz
OTMsIDQwNSwgNDA2LCAyNDYsIDExMywgMTE0LCAxMTUsIDEyM307CiAKIC8qIFlZVEFCTEVbWVlQ
QUNUW1NUQVRFLU5VTV1dIC0tIFdoYXQgdG8gZG8gaW4gc3RhdGUgU1RBVEUtTlVNLiAgSWYKICAg
IHBvc2l0aXZlLCBzaGlmdCB0aGF0IHRva2VuLiAgSWYgbmVnYXRpdmUsIHJlZHVjZSB0aGUgcnVs
ZSB3aG9zZQogICAgbnVtYmVyIGlzIHRoZSBvcHBvc2l0ZS4gIElmIFlZVEFCTEVfTklORiwgc3lu
dGF4IGVycm9yLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfaW50MTYgeXl0YWJsZVtdID0gewot
ICAgIDEwOSwgMTE5LCAxMzcsIDE1MSwgMTI5LCAyMDQsIDEyOCwgMzMwLCAgMjk0LCAxMzgsIDMy
OSwgMzMyLCAyMDksIDI1NywgMjQ5LCAxNTksIDE0NiwgOTIsICA5MywKLSAgICAzODksIDI3OSwg
MjgwLCAzMzcsIDMwOSwgNDA2LCAzODMsIDI5MCwgIDM5NiwgMTM5LCAxMzcsIDEzMiwgMTE3LCAx
MjksIDM4NCwgMTI4LCAxNTgsIDEyOSwgMjQ2LAotICAgIDI0OCwgMTE2LCAxMTcsIDEzOSwgMjA3
LCAzOTYsIDE2MywgMjY5LCAgMTYyLCA0MjYsIDI0NywgMjUxLCAyNjAsIDEzMywgMTYzLCAxMjAs
IDE2MiwgMjgxLCAyODIsCi0gICAgMTIxLCAyNTcsIDQxOSwgMzM4LCAyOTEsIDE0NywgMTM3LCA0
MTksICAyNjEsIDI2MiwgMjc1LCAyMDcsIDI3NiwgMjUyLCAxMTgsIDE2MywgMjA0LCAxNjIsIDMz
MSwKLSAgICAxMjMsIDE2MCwgMjk2LCAyMTIsIDE0NSwgMTU1LCAxNTYsIDE2MSwgIDEyNCwgMjEz
LCAyNjMsIDE5MSwgMjA0LCAxNTAsIDI2NCwgMzgwLCAyNjYsIDMzOSwgMzkzLAotICAgIDMwNywg
MTA5LCAxMzksIDI2NywgMzI2LCAzMjYsIDEwOSwgMzk0LCAgMjQ5LCA0MjMsIDE1NywgMTMwLCAy
NDksIDMyNiwgMTMxLCAzMjYsIDMyNiwgMTA5LCAzMzUsCi0gICAgMzI3LCAxNDMsIDMzNiwgMTYz
LCAxNjMsIDE2MiwgMTYyLCAyNTgsICAyNTksIDM0NSwgMTA5LCAzLCAgIDQsICAgNSwgICAxMDks
IDkyLCAgOTMsICAzNTMsIDM1NCwKLSAgICAzNTUsIDM1NiwgMzM0LCAxMDksIDIwOCwgMzQxLCAz
MjYsIDI3MSwgIDIwNywgMzczLCAzMzUsIDEwOSwgMjU3LCAzODEsIDIxMSwgMzI5LCAtMzAsIDIz
NCwgMjY1LAotICAgIDI3MiwgMjczLCAyNzQsIDE5MSwgMTE2LCAxMTcsIDI3NywgMjc4LCAgMjgz
LCAyODQsIDEwOSwgMjcwLCAxMDksIDI4NSwgMzY1LCAyOTcsIDI5OCwgMjg2LCAxOTEsCi0gICAg
MzI2LCAzODYsIDM0OSwgMzUwLCAyODcsIDM1MSwgMzUyLCA0MjcsICAzNzIsIDI4OCwgMzc4LCAz
NzksIDM3NCwgNDAwLCAyODksIDI5MiwgMjQ5LCAzMTQsIDMxNSwKLSAgICAzMTYsIDMxNywgMzE4
LCAzMTksIDMyMCwgMzIxLCAzMjIsIDMyMywgIDMwMCwgMzU3LCAzNTgsIDMwMSwgMzAzLCAzMDQs
IDE2MywgMzA1LCAxNjIsIDMyNCwgMzA4LAotICAgIDEwOSwgMTA5LCAzMTEsIDMxMCwgLTI5LCAz
MTIsIC0yNCwgLTI2MiwgMzI2LCAzNjYsIDM4NSwgMzQ2LCAzNDcsIDM0OCwgMTkxLCAxOTEsIDE5
MSwgMTkxLCAxOTEsCi0gICAgMTkxLCAxOTEsIDE5MSwgMTkxLCAxOTEsIDE5MSwgMTkxLCAxOTEs
ICAxOTEsIDE5MSwgMTkxLCAyMzQsIDM3NSwgLTMxLCA0MDEsIDM4NywgNDAyLCA0MTEsIDQxMCwK
LSAgICA0MTQsIDQxNSwgMjA0LCAzODgsIDM5NSwgNDEyLCA0MTYsIDIyNSwgIDQxOCwgMzYzLCAz
NDQsIDQyMiwgMzU5LCAzNjEsIDQyOCwgMzYwLCAzNjIsIDE1MywgMTUyLAotICAgIDE1NCwgMzk1
LCAzNjQsIDExNSwgMzgyLCAzMzMsIDI5OSwgNDE3LCAgMjQ5LCA0MjUsIDM3NywgNDEzLCAzOTAs
IDQwMywgMzkxLCAxNDIsIDAsICAgMCwgICAwLAotICAgIDAsICAgMzk3LCAwLCAgIDAsICAgNDI0
LCAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMTA5LCAwLCAgIDEzNywgMCwgICAwLCAg
IDAsICAgMzk3LCAwLAotICAgIDAsICAgMTM4LCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAgMCwgICAyMzQsIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAot
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMTkxLCAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDQwOSwgMCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAgMCwgICAyMzQsIDIzNCwgMCwgICAwLCAgIDAsICAgMCwgICAyMzQsIDIz
NCwgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAg
MCwgICAwLCAgIDAsICAgMCwgICAyMzQsIDAsICAgMCwgICAwLCAgIDAsICAgMTA5LCAwLAotICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAg
MjM0LCAwLCAgIDAsICAgMCwgICAwLCAgIDIzNCwgMSwgICAyLAotICAgIDMsICAgNCwgICA1LCAg
IDYsICAgNywgICA4LCAgIDksICAgMTAsICAgMTEsICAxMiwgIDIxNCwgMjE1LCAyMTYsIDAsICAg
MjE3LCAyMTgsIDIxOSwgMjIwLCAyMjEsCi0gICAgMjIyLCAyMjMsIDEzLCAgMTQsICAxNSwgIDE2
LCAgMTcsICAxOCwgICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcs
ICAyOCwgIDI5LAotICAgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAg
MzgsICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwKLSAg
ICA0OSwgIDUwLCAgMjI0LCA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgIDU2LCAgNTcsICA1OCwg
IDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsCi0gICAgNjcsICA2OCwgIDY5
LCAgNzAsICAwLCAgIDcxLCAgNzIsICA3MywgICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzks
ICA4MCwgIDgxLCAgODIsICA4MywgIDg0LAotICAgIDg1LCAgODYsICA4NywgIDg4LCAgODksICA5
MCwgIDE2NiwgMTY3LCAgOTEsICAxNjgsIDE2OSwgMTcwLCAxNzEsIDE3MiwgMCwgICAwLCAgIDE3
MywgMTc0LCAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDE3NSwgMCwgICAwLAotICAg
IDAsICAgMjI1LCAyMjYsIDAsICAgMCwgICAwLCAgIDAsICAgMjI3LCAgMTc3LCAxNzgsIDE3OSwg
MTgwLCAxLCAgIDIsICAgMywgICA0LCAgIDUsICAgNiwgICA3LAotICAgIDgsICAgOSwgICAxMCwg
IDExLCAgMTIsICAyMTQsIDIxNSwgMjE2LCAgMCwgICAyMTcsIDIxOCwgMjE5LCAyMjAsIDIyMSwg
MjIyLCAyMjMsIDEzLCAgMTQsICAxNSwKLSAgICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLCAgMjEs
ICAyMiwgIDIzLCAgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwg
IDMzLCAgMzQsCi0gICAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwgICA0
MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgMjI0LCA1MSwgIDUyLAotICAg
IDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICAgNjEsICA2MiwgIDYzLCAg
NjQsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICAwLAotICAgIDcxLCAgNzIsICA3Mywg
IDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAg
ODUsICA4NiwgIDg3LCAgODgsICA4OSwKLSAgICA5MCwgIDE2NiwgMTY3LCA5MSwgIDE2OCwgMTY5
LCAxNzAsIDE3MSwgIDE3MiwgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDAs
ICAgMCwgICAwLCAgIDE3NSwgMCwgICAwLCAgIDAsICAgMjI1LCAzMjgsIDAsICAgMCwKLSAgICAw
LCAgIDAsICAgMjI3LCAxNzcsIDE3OCwgMTc5LCAxODAsIDEsICAgIDIsICAgMywgICA0LCAgIDUs
ICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsCi0gICAgMjE0LCAyMTUsIDIxNiwg
MCwgICAyMTcsIDIxOCwgMjE5LCAyMjAsICAyMjEsIDIyMiwgMjIzLCAxMywgIDE0LCAgMTUsICAx
NiwgIDE3LCAgMTgsICAxOSwgIDIwLAotICAgIDIxLCAgMjIsICAyMywgIDI0LCAgMjUsICAyNiwg
IDI3LCAgMjgsICAgMjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAg
MzgsICAzOSwKLSAgICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgIDQ4
LCAgNDksICA1MCwgIDIyNCwgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsCi0gICAg
NTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgICA2NiwgIDY3LCAgNjgsICA2
OSwgIDcwLCAgMCwgICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LAotICAgIDc2LCAgNzcsICA3OCwg
IDc5LCAgODAsICA4MSwgIDgyLCAgODMsICAgODQsICA4NSwgIDg2LCAgODcsICA4OCwgIDg5LCAg
OTAsICAxNjYsIDE2NywgOTEsICAxNjgsCi0gICAgMTY5LCAxNzAsIDE3MSwgMTcyLCAwLCAgIDAs
ICAgMTczLCAxNzQsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsCi0gICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTc1LCAwLCAgICAw
LCAgIDAsICAgMjI1LCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMjI3LCAxNzcsIDE3OCwKLSAg
ICAxNzksIDE4MCwgMSwgICAyLCAgIDMsICAgNCwgICA1LCAgIDYsICAgIDcsICAgOCwgICA5LCAg
IDEwLCAgMTEsICAxMiwgIDIxNCwgMjE1LCAyMTYsIDAsICAgMjE3LAotICAgIDIxOCwgMjE5LCAy
MjAsIDIyMSwgMjIyLCAyMjMsIDEzLCAgMTQsICAgMTUsICAxNiwgIDE3LCAgMTgsICAxOSwgIDIw
LCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwKLSAgICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAg
MzEsICAzMiwgIDMzLCAgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0
MiwgIDQzLCAgNDQsCi0gICAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgMjI0LCA1MSwg
ICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLAot
ICAgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICAgMCwgICA3MSwgIDcy
LCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwKLSAgICA4MSwgIDgyLCAg
ODMsICA4NCwgIDg1LCAgODYsICA4NywgIDg4LCAgIDg5LCAgOTAsICAxNjYsIDE2NywgOTEsICAx
NjgsIDE2OSwgMTcwLCAxNzEsIDE3MiwgMCwKLSAgICAwLCAgIDE3MywgMTc0LCAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwKLSAgICAwLCAgIDE3NSwgMCwgICAwLCAgIDAsICAgMTUwLCAwLCAgIDAsICAg
IDAsICAgMCwgICAwLCAgIDIyNywgMTc3LCAxNzgsIDE3OSwgMTgwLCAxLCAgIDIsICAgMywKLSAg
ICA0LCAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgIDEyLCAgMjE0LCAyMTUs
IDIxNiwgMCwgICAyMTcsIDIxOCwgMjE5LCAyMjAsIDIyMSwgMjIyLAotICAgIDIyMywgMTMsICAx
NCwgIDE1LCAgMTYsICAxNywgIDE4LCAgMTksICAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1
LCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwKLSAgICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAg
MzYsICAzNywgIDM4LCAgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAgNDYsICA0
NywgIDQ4LCAgNDksCi0gICAgNTAsICAyMjQsIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1Niwg
ICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LAot
ICAgIDY4LCAgNjksICA3MCwgIDAsICAgNzEsICA3MiwgIDczLCAgNzQsICAgNzUsICA3NiwgIDc3
LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwKLSAgICA4NiwgIDg3LCAg
ODgsICA4OSwgIDkwLCAgMTY2LCAxNjcsIDkxLCAgIDE2OCwgMTY5LCAxNzAsIDE3MSwgMTcyLCAw
LCAgIDAsICAgMTczLCAxNzQsIDAsICAgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTc1LCAw
LCAgIDAsICAgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAyMjcsIDE3Nywg
IDE3OCwgMTc5LCAxODAsIDEsICAgMiwgICAzLCAgIDQsICAgNSwgICA2LCAgIDcsICAgOCwKLSAg
ICA5LCAgIDEwLCAgMTEsICAxMiwgIDAsICAgMCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMTMsICAxNCwgIDE1LCAgMTYsCi0gICAgMTcsICAxOCwgIDE5
LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgICAyNSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAs
ICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LAotICAgIDM2LCAgMzcsICAzOCwgIDM5LCAgNDAsICA0
MSwgIDQyLCAgNDMsICAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICAwLCAgIDUx
LCAgNTIsICA1MywKLSAgICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAg
IDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDAsICAgNzEsCi0g
ICAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgICA4MCwgIDgxLCAgODIs
ICA4MywgIDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLAotICAgIDE2NiwgMTY3LCA5
MSwgIDE2OCwgMTY5LCAxNzAsIDE3MSwgMTcyLCAgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDIsICAgMywgICAgNCwgICA1LCAgIDE3NSwgNywgICA4LCAgIDksICAgMTAsICAxMSwgIDEy
LCAgMCwgICAwLAotICAgIDAsICAgMjI3LCAxNzcsIDE3OCwgMTc5LCAxODAsIDAsICAgMCwgICAg
MCwgICAxMywgIDE0LCAgMTUsICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLCAgMjEsICAyMiwKLSAg
ICAyMywgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgIDMxLCAgMzIsICAzMywg
IDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsCi0gICAgNDIsICA0MywgIDQ0
LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgICA1MCwgIDAsICAgNTEsICA1MiwgIDUzLCAgNTQs
ICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LAotICAgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2
NSwgIDY2LCAgNjcsICAgNjgsICA2OSwgIDcwLCAgMCwgICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1
LCAgNzYsICA3NywKLSAgICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAg
IDg2LCAgODcsICA4OCwgIDg5LCAgOTAsICAxNjYsIDE2NywgOTEsICAxNjgsIDE2OSwgMTcwLAot
ICAgIDE3MSwgMTcyLCAwLCAgIDAsICAgMTczLCAxNzQsIDAsICAgMCwgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAxLAotICAgIDIsICAgMywgICA0
LCAgIDUsICAgMTc1LCA3LCAgIDgsICAgOSwgICAgMTAsICAxMSwgIDEyLCAgMCwgICAwLCAgIDAs
ICAgMCwgICAxNzcsIDE3OCwgMTc5LCAxODAsCi0gICAgMCwgICAwLCAgIDAsICAgMTMsICAxNCwg
IDE1LCAgMTYsICAxNywgICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LCAg
MjYsICAyNywgIDI4LAotICAgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYs
ICAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAgNDYsICA0NywK
LSAgICA0OCwgIDQ5LCAgNTAsICAwLCAgIDUxLCAgNTIsICA1MywgIDU0LCAgIDU1LCAgNTYsICA1
NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsCi0gICAgNjYsICA2Nywg
IDY4LCAgNjksICA3MCwgIDAsICAgNzEsICA3MiwgICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAg
NzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLAotICAgIDg0LCAgODUsICA4NiwgIDg3LCAgODgs
ICA4OSwgIDkwLCAgMCwgICAgMTM0LCA5MSwgIDAsICAgOSwgICAxMCwgIDExLCAgMTIsICAwLCAg
IDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTMs
ICAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwK
LSAgICAyNSwgIDI2LCAgMjcsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDEzNSwgMzQsICAz
NSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsICAgMCwKLSAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgNDksICA1MCwgIDAsICAgIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1
NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsCi0gICAgNjIsICA2MywgIDY0LCAgNjUsICA2Niwg
IDY3LCAgNjgsICA2OSwgICA3MCwgIDAsICAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAg
NzcsICA3OCwgIDc5LAotICAgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgODcs
ICAgODgsICAwLCAgIDkwLCAgMTY2LCAxNjcsIDkxLCAgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIs
Ci0gICAgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAgIDAsICAgMCwgICAwLCAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCi0gICAgMCwgICAwLCAg
IDE3NSwgMCwgICAwLCAgIDE3NiwgOSwgICAxMCwgICAxMSwgIDEyLCAgMCwgICAwLCAgIDAsICAg
MTc3LCAxNzgsIDE3OSwgMTgwLCAwLCAgIDAsCi0gICAgMCwgICAwLCAgIDEzLCAgMTQsICAxNSwg
IDE2LCAgMTcsICAxOCwgICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAg
MjcsICAwLCAgIDAsCi0gICAgMCwgICAwLCAgIDAsICAgMCwgICAzNCwgIDM1LCAgMzYsICAzNywg
ICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCi0g
ICAgNDksICA1MCwgIDAsICAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgICA1NiwgIDU3LCAgNTgs
ICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LAotICAgIDY3LCAgNjgsICA2
OSwgIDcwLCAgMCwgICA3MSwgIDcyLCAgNzMsICAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5
LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwKLSAgICA4NSwgIDg2LCAgODcsICA4OCwgIDAsICAg
OTAsICAxNjYsIDE2NywgIDkxLCAgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIsIDAsICAgMCwgICAx
NzMsIDE3NCwgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAxNzUsIDAsICAgMCwKLSAg
ICAyOTMsIDksICAgMTAsICAxMSwgIDEyLCAgMCwgICAwLCAgIDAsICAgIDE3NywgMTc4LCAxNzks
IDE4MCwgMCwgICAwLCAgIDAsICAgMCwgICAxMywgIDE0LCAgMTUsCi0gICAgMTYsICAxNywgIDE4
LCAgMTksICAyMCwgIDIxLCAgMjIsICAyMywgICAyNCwgIDI1LCAgMjYsICAyNywgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDM0LAotICAgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICAw
LCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgNDksICA1MCwgIDAs
ICAgNTEsICA1MiwKLSAgICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAg
IDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgMCwKLSAg
ICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgIDc5LCAgODAsICA4MSwg
IDgyLCAgODMsICA4NCwgIDg1LCAgODYsICA4NywgIDg4LCAgMCwKLSAgICA5MCwgIDE2NiwgMTY3
LCA5MSwgIDE2OCwgMTY5LCAxNzAsIDE3MSwgIDE3MiwgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDE3NSwgOSwgICAxMCwgIDExLCAgMTIsICAwLCAg
IDAsICAgMCwKLSAgICAwLCAgIDAsICAgMzA2LCAxNzcsIDE3OCwgMTc5LCAxODAsIDAsICAgIDEz
LCAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsCi0gICAg
MjQsICAyNSwgIDI2LCAgMjcsICAwLCAgIDAsICAgMCwgICAwLCAgICAwLCAgIDAsICAgMzQsICAz
NSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsCi0gICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgNDksICA1MCwgICAwLCAgIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1
NiwgIDU3LCAgNTgsICA1OSwgIDYwLAotICAgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2Niwg
IDY3LCAgNjgsICAgNjksICA3MCwgIDAsICAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAg
NzcsICA3OCwKLSAgICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgIDg3
LCAgODgsICAwLCAgIDkwLCAgMTY2LCAxNjcsIDkxLCAgMTY4LCAxNjksIDE3MCwgMTcxLAotICAg
IDE3MiwgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAg
IDE3NSwgOSwgICAxMCwgIDExLCAgMTIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MTc3LCAxNzgsIDE3OSwgMTgwLCAwLAotICAgIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwg
IDE5LCAgMjAsICAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcsICAwLCAgIDAsICAg
MCwgICAwLAotICAgIDAsICAgMCwgICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgNDksICAyNjgsCi0gICAg
MCwgICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgICA1OCwgIDU5LCAgNjAsICA2
MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LAotICAgIDY5LCAgNzAsICAwLCAg
IDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAg
ODIsICA4MywgIDg0LCAgODUsICA4NiwKLSAgICA4NywgIDg4LCAgMCwgICA5MCwgIDE2NiwgMTY3
LCA5MSwgIDE2OCwgIDE2OSwgMTcwLCAxNzEsIDE3MiwgMCwgICAwLCAgIDE3MywgMTc0LCAwLCAg
IDAsICAgMCwKLSAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDAs
ICAgMSwgICAyLCAgIDMsICAgNCwgICA1LCAgIDE3NSwgNywgICA4LCAgIDksICAgMTAsCi0gICAg
MTEsICAxMiwgIDAsICAgMCwgICAwLCAgIDAsICAgMTc3LCAxNzgsICAxNzksIDE4MCwgMCwgICAw
LCAgIDAsICAgMTMsICAxNCwgIDE1LCAgMTYsICAxNywgIDE4LAotICAgIDE5LCAgMjAsICAyMSwg
IDIyLCAgMjMsICAyNCwgIDI1LCAgMjYsICAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAg
MzMsICAzNCwgIDM1LCAgMzYsICAzNywKLSAgICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMs
ICA0NCwgIDQ1LCAgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICAwLCAgIDUxLCAgNTIsICA1Mywg
IDU0LCAgNTUsCi0gICAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgICA2
NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDAsICAgNzEsICA3MiwgIDczLAotICAg
IDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICAgODIsICA4MywgIDg0LCAg
ODUsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAgMCwgICAwLAotICAgIDkxLCAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDEsICAgMiwgICAzLCAgIDQsICAg
NSwgICAwLCAgIDcsICAgOCwgICA5LAotICAgIDEwLCAgMTEsICAxMiwgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDI1NiwgMTMsICAxNCwgIDE1LCAg
MTYsICAxNywKLSAgICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LCAgIDI2
LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsCi0gICAg
MzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwgICA0NSwgIDQ2LCAgNDcsICA0
OCwgIDQ5LCAgNTAsICAwLCAgIDUxLCAgNTIsICA1MywgIDU0LAotICAgIDU1LCAgNTYsICA1Nywg
IDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAg
NjksICA3MCwgIDAsICAgNzEsICA3MiwKLSAgICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgs
ICA3OSwgIDgwLCAgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4OSwg
IDkwLCAgMCwKLSAgICAwLCAgIDkxLCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDAs
ICAgMCwgICAwLCAgIDEsICAgMiwgICAzLCAgIDQsICAgNSwgICAwLCAgIDcsICAgOCwKLSAgICA5
LCAgIDEwLCAgMTEsICAxMiwgIDAsICAgMCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDI5NSwgMTMsICAxNCwgIDE1LCAgMTYsCi0gICAgMTcsICAxOCwgIDE5LCAg
MjAsICAyMSwgIDIyLCAgMjMsICAyNCwgICAyNSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAz
MSwgIDMyLCAgMzMsICAzNCwgIDM1LAotICAgIDM2LCAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwg
IDQyLCAgNDMsICAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICAwLCAgIDUxLCAg
NTIsICA1MywKLSAgICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgIDYy
LCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDAsICAgNzEsCi0gICAg
NzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgICA4MCwgIDgxLCAgODIsICA4
MywgIDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLAotICAgIDAsICAgMCwgICA5MSwg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAxNDEsIDAsICAgMCwgICAxLCAgIDIsICAg
MywgICA0LCAgIDUsICAgNiwgICA3LAotICAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAwLCAg
IDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAzNjcsIDEzLCAg
MTQsICAxNSwKLSAgICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgIDI0
LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsCi0gICAg
MzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwgICA0MywgIDQ0LCAgNDUsICA0
NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgMCwgICA1MSwgIDUyLAotICAgIDUzLCAgNTQsICA1NSwg
IDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAg
NjcsICA2OCwgIDY5LCAgNzAsICAwLAotICAgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3Niwg
IDc3LCAgNzgsICAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwgIDg3LCAg
ODgsICA4OSwKLSAgICA5MCwgIDAsICAgMCwgICA5MSwgIDEsICAgMiwgICAzLCAgIDQsICAgIDUs
ICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAwLCAgIDAsICAgMCwKLSAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDEzLCAgMTQsICAxNSwgIDE2
LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsCi0gICAgMjQsICAyNSwgIDI2LCAg
MjcsICAyOCwgIDI5LCAgMzAsICAzMSwgICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAz
OCwgIDM5LCAgNDAsICA0MSwgIDQyLAotICAgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwg
IDQ5LCAgNTAsICAgMCwgICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAg
NTksICA2MCwKLSAgICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgIDY5
LCAgNzAsICAwLCAgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsCi0gICAg
NzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwgICA4NywgIDg4LCAgODksICA5
MCwgIDAsICAgMCwgICA5MSwgIDEsICAgMiwgICAzLCAgIDQsCi0gICAgNSwgICAwLCAgIDcsICAg
OCwgICA5LCAgIDEwLCAgMTEsICAxMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsCi0gICAgMTMsICAxNCwgIDE1LCAgMTYsICAxNywgIDE4LCAg
MTksICAyMCwgICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LCAgMjYsICAyNywgIDI4LCAgMjksICAz
MCwgIDMxLAotICAgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICAgNDAs
ICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAgNDYsICA0NywgIDQ4LCAgNDksICA1MCwKLSAgICAw
LCAgIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgIDU4LCAgNTksICA2MCwgIDYx
LCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LCAgNjgsCi0gICAgNjksICA3MCwgIDAsICAg
NzEsICA3MiwgIDczLCAgNzQsICA3NSwgICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4
MiwgIDgzLCAgODQsICA4NSwgIDg2LAotICAgIDg3LCAgODgsICA4OSwgIDkwLCAgMCwgICAwLCAg
IDkxLCAgOSwgICAgMTAsICAxMSwgIDEyLCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcsICAgMTgs
ICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcsICAwLAotICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAzNCwgIDM1LCAgMzYsICAgMzcsICAzOCwgIDM5LCAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgNDksICA1MCwgIDAs
ICAgNTEsICA1MiwgIDUzLCAgNTQsICAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEs
ICA2MiwgIDYzLCAgNjQsICA2NSwKLSAgICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgMCwgICA3
MSwgIDcyLCAgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgy
LCAgODMsCi0gICAgODQsICA4NSwgIDg2LCAgODcsICA4OCwgIDAsICAgOTAsICAwLCAgICAzNDIs
IDkxLCAgOSwgICAxMCwgIDExLCAgMTIsICAzNDMsIDAsICAgMCwgICAwLCAgIDAsCi0gICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTMsICAxNCwgICAxNSwgIDE2LCAgMTcsICAxOCwg
IDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LAotICAgIDI2LCAgMjcsICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLAotICAgIDAsICAgMCwgICAwLCAgIDAsICAgNDksICA1MCwgIDAs
ICAgNTEsICAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEs
ICA2MiwKLSAgICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgIDAsICAg
NzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsCi0gICAgODEs
ICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgODcsICA4OCwgICAwLCAgIDkwLCAgMCwgICAwLCAg
IDkxfTsKKyAgICAxMTAsIDEyMCwgMTM4LCAxNTIsIDEzMCwgMjA1LCAxMjksIDI5NSwgMzMxLCAx
MzksICAzMzAsIDI1OCwgMzMzLCAyMTAsIDI1MCwgOTMsICAxNDcsIDk0LCAgMTYwLAorICAgIDM5
MCwgMzM4LCAzOTcsIDMxMCwgMTE3LCAxMTgsIDI4MCwgMjgxLCA0MDcsIDE0MCwgIDEzOCwgMTMx
LCAzODQsIDEzMCwgMTMyLCAxMjksIDE1OSwgMTMwLCAzOTcsCisgICAgMjYxLCAzODUsIDI0Nywg
MjQ5LCAyOTEsIDE2MSwgMTY0LCAyNzAsIDE2MywgMjEzLCAgMTIyLCAxNjIsIDQyNywgMTM0LCAx
NjQsIDIxNCwgMTYzLCAxMTksIDI1OCwKKyAgICAxMjEsIDMzOSwgNDIwLCAyODIsIDI4MywgMTQ4
LCAxMzgsIDQyMCwgMjYyLCAyNjMsICAxMjUsIDE0MCwgMjA4LCAyNTMsIDIwOCwgMTY0LCAyMDUs
IDE2MywgMjQ4LAorICAgIDI1MiwgMjkyLCAzMzIsIDI5NywgMTI0LCAxNTYsIDE1NywgMzA4LCAx
MzMsIDExOCwgIDI2NCwgMTkyLCAyMDUsIDI2NywgMjY1LCAxNDAsIDM4MSwgMzQwLCAzOTQsCisg
ICAgMjY4LCAyMDgsIDExMCwgMzk1LCAzMjcsIDMyNywgMTU4LCAxMTAsIDI1MCwgMzI3LCAgNDI0
LCAzMjcsIDI1MCwgMjc2LCAzMjgsIDI3NywgMzI3LCAzMzYsIDExMCwKKyAgICAxNDYsIDMzNywg
MTQ0LCAxNjQsIDE2NCwgMTYzLCAxNjMsIDI1OSwgMjYwLCAzNDYsICAzMjcsIDExMCwgMzQyLCAz
NzQsIDkzLCAgMTEwLCA5NCwgIDM1NCwgMzU1LAorICAgIDM1NiwgMzU3LCAxNTEsIDMzNiwgMTEw
LCAzMzUsIDM4MiwgMjcyLCAxMTcsIDExOCwgIDI1OCwgMjA5LCAxMTAsIDI3OCwgMjc5LCAzMzAs
IDI4NCwgMjg1LCAyMzUsCisgICAgMjk4LCAyOTksIDM2NiwgMTkyLCAzLCAgIDQsICAgNSwgICAy
NzMsIDI3NCwgMjc1LCAgLTMwLCAxMTAsIDIxMiwgMTEwLCAyNjYsIDM3MywgMzI3LCAzODcsIDE5
MiwKKyAgICAzNzUsIDM1MCwgMzUxLCAyNzEsIDM1MiwgMzUzLCAyODgsIDI4NiwgNDI4LCAyODcs
ICAzNzksIDM4MCwgNDAxLCAyODksIDM1OCwgMzU5LCAyNTAsIDMxNSwgMzE2LAorICAgIDMxNywg
MzE4LCAzMTksIDMyMCwgMzIxLCAzMjIsIDMyMywgMzI0LCAyOTAsIDI5MywgIDMwMSwgMzAyLCAz
MDQsIDMwNSwgMTY0LCAzMDYsIDE2MywgMzI1LCAzMDksCisgICAgMzExLCAxMTAsIDExMCwgMzEy
LCAtMjksIDM2NywgMzEzLCAtMjQsIC0zMSwgLTI2MywgMzg2LCAzNDcsIDM0OCwgMzQ5LCAxOTIs
IDE5MiwgMTkyLCAxOTIsIDE5MiwKKyAgICAxOTIsIDE5MiwgMTkyLCAxOTIsIDE5MiwgMTkyLCAx
OTIsIDE5MiwgMTkyLCAxOTIsICAxOTIsIDM5NiwgMjM1LCAzNzYsIDQwMiwgMzI3LCAzODgsIDQw
MywgNDEyLAorICAgIDQxMSwgNDE1LCAyMDUsIDM4OSwgNDEzLCA0MTYsIDQxNywgMjI2LCAzOTYs
IDQxOSwgIDM0NSwgMzYwLCA0MjMsIDM2MSwgMzY0LCA0MjksIDM2MiwgMTU0LCA0MTQsCisgICAg
MzYzLCAxNTMsIDE1NSwgMzY1LCAxMTYsIDMwMCwgMzgzLCA0MTgsIDI1MCwgMzM0LCAgMzkxLCA0
MjUsIDM3OCwgNDI2LCAzOTIsIDQwNCwgMTQzLCAwLCAgIDAsCisgICAgMCwgICAzOTgsIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDExMCwgMTM4LCAw
LCAgIDAsICAgMCwgICAzOTgsIDAsCisgICAgMCwgICAxMzksIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAgMjM1LCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDE5Miwg
MCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgNDEwLCAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMjM1LCAyMzUsIDAsICAgMCwgICAwLCAg
IDAsICAgMjM1LCAyMzUsIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMjM1LCAwLCAgIDAsICAgMCwgICAwLCAg
IDExMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgICAwLCAgIDAsICAgMjM1LCAwLCAgIDAsICAgMCwgICAwLCAgIDIzNSwgMSwKKyAgICAyLCAg
IDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDksICAgMTAsICAxMSwgICAxMiwgIDIxNSwg
MjE2LCAyMTcsIDAsICAgMjE4LCAyMTksIDIyMCwgMjIxLAorICAgIDIyMiwgMjIzLCAyMjQsIDEz
LCAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgIDIwLCAgMjEsICAyMiwgIDIzLCAgMjQs
ICAyNSwgIDI2LCAgMjcsICAyOCwKKyAgICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAz
NSwgIDM2LCAgMzcsICAzOCwgICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2
LCAgNDcsCisgICAgNDgsICA0OSwgIDUwLCAgNTEsICAyMjUsIDUyLCAgNTMsICA1NCwgIDU1LCAg
NTYsICAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LAorICAgIDY2
LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDAsICAgNzIsICA3MywgIDc0LCAgIDc1LCAgNzYs
ICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywKKyAgICA4NCwgIDg1LCAgODYsICA4
NywgIDg4LCAgODksICA5MCwgIDkxLCAgMTY3LCAxNjgsICA5MiwgIDE2OSwgMTcwLCAxNzEsIDE3
MiwgMTczLCAwLCAgIDAsICAgMTc0LAorICAgIDE3NSwgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAxNzYsCisgICAgMCwgICAwLCAgIDAsICAgMjI2LCAyMjcsIDAsICAgMCwgICAwLCAgIDAs
ICAgMjI4LCAgMTc4LCAxNzksIDE4MCwgMTgxLCAxLCAgIDIsICAgMywgICA0LCAgIDUsCisgICAg
NiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAyMTUsIDIxNiwgMjE3LCAgMCwgICAy
MTgsIDIxOSwgMjIwLCAyMjEsIDIyMiwgMjIzLCAyMjQsIDEzLAorICAgIDE0LCAgMTUsICAxNiwg
IDE3LCAgMTgsICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgIDI0LCAgMjUsICAyNiwgIDI3LCAg
MjgsICAyOSwgIDMwLCAgMzEsICAzMiwKKyAgICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgs
ICAzOSwgIDQwLCAgNDEsICA0MiwgICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwg
IDUwLCAgNTEsCisgICAgMjI1LCA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5
LCAgNjAsICAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LAorICAg
IDcwLCAgNzEsICAwLCAgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgIDc5LCAg
ODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgODYsICA4NywKKyAgICA4OCwgIDg5LCAgOTAs
ICA5MSwgIDE2NywgMTY4LCA5MiwgIDE2OSwgMTcwLCAxNzEsICAxNzIsIDE3MywgMCwgICAwLCAg
IDE3NCwgMTc1LCAwLCAgIDAsICAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgICAwLCAgIDAsICAgMCwgICAwLCAgIDE3NiwgMCwgICAwLCAg
IDAsICAgMjI2LAorICAgIDMyOSwgMCwgICAwLCAgIDAsICAgMCwgICAyMjgsIDE3OCwgMTc5LCAx
ODAsIDE4MSwgIDEsICAgMiwgICAzLCAgIDQsICAgNSwgICA2LCAgIDcsICAgOCwgICA5LAorICAg
IDEwLCAgMTEsICAxMiwgIDIxNSwgMjE2LCAyMTcsIDAsICAgMjE4LCAyMTksIDIyMCwgIDIyMSwg
MjIyLCAyMjMsIDIyNCwgMTMsICAxNCwgIDE1LCAgMTYsICAxNywKKyAgICAxOCwgIDE5LCAgMjAs
ICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LCAgMjYsICAyNywgICAyOCwgIDI5LCAgMzAsICAzMSwg
IDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsCisgICAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQy
LCAgNDMsICA0NCwgIDQ1LCAgNDYsICAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDIyNSwgNTIs
ICA1MywgIDU0LAorICAgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2
MywgIDY0LCAgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgMCwgICA3MiwKKyAg
ICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgICA4Mywg
IDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsCisgICAgMTY3LCAxNjgsIDky
LCAgMTY5LCAxNzAsIDE3MSwgMTcyLCAxNzMsIDAsICAgMCwgICAgMTc0LCAxNzUsIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAgMTc2LCAwLCAgIDAsICAgMCwgICAyMjYsIDAsICAgMCwg
ICAwLCAgIDAsCisgICAgMCwgICAyMjgsIDE3OCwgMTc5LCAxODAsIDE4MSwgMSwgICAyLCAgIDMs
ICAgNCwgICAgNSwgICA2LCAgIDcsICAgOCwgICA5LCAgIDEwLCAgMTEsICAxMiwgIDIxNSwKKyAg
ICAyMTYsIDIxNywgMCwgICAyMTgsIDIxOSwgMjIwLCAyMjEsIDIyMiwgMjIzLCAyMjQsICAxMywg
IDE0LCAgMTUsICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLCAgMjEsCisgICAgMjIsICAyMywgIDI0
LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAgMzIsICAzMywgIDM0LCAgMzUs
ICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLAorICAgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0
NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgIDUxLCAgMjI1LCA1MiwgIDUzLCAgNTQsICA1NSwgIDU2
LCAgNTcsICA1OCwKKyAgICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAg
NjcsICA2OCwgICA2OSwgIDcwLCAgNzEsICAwLCAgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsCisg
ICAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgODYsICAgODcs
ICA4OCwgIDg5LCAgOTAsICA5MSwgIDE2NywgMTY4LCA5MiwgIDE2OSwKKyAgICAxNzAsIDE3MSwg
MTcyLCAxNzMsIDAsICAgMCwgICAxNzQsIDE3NSwgMCwgICAwLCAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAxNzYsIDAsICAgMCwgICAwLCAgICAxNTEsIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAy
MjgsIDE3OCwgMTc5LAorICAgIDE4MCwgMTgxLCAxLCAgIDIsICAgMywgICA0LCAgIDUsICAgNiwg
ICA3LCAgIDgsICAgIDksICAgMTAsICAxMSwgIDEyLCAgMjE1LCAyMTYsIDIxNywgMCwgICAyMTgs
CisgICAgMjE5LCAyMjAsIDIyMSwgMjIyLCAyMjMsIDIyNCwgMTMsICAxNCwgIDE1LCAgMTYsICAg
MTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LAorICAgIDI2LCAgMjcs
ICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgIDM2LCAgMzcsICAzOCwg
IDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwKKyAgICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5
LCAgNTAsICA1MSwgIDIyNSwgNTIsICA1MywgICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTks
ICA2MCwgIDYxLCAgNjIsCisgICAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3
MCwgIDcxLCAgMCwgICAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgw
LAorICAgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAg
IDkxLCAgMTY3LCAxNjgsIDkyLCAgMTY5LCAxNzAsIDE3MSwgMTcyLCAxNzMsCisgICAgMCwgICAw
LCAgIDE3NCwgMTc1LCAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDE3NiwgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDIyOCwgMTc4LCAxNzksIDE4
MCwgMTgxLCAxLCAgIDIsCisgICAgMywgICA0LCAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAx
MCwgIDExLCAgMTIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
CisgICAgMCwgICAwLCAgIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAg
MjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcsICAyOCwgIDI5LAorICAgIDMwLCAgMzEs
ICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgIDQwLCAgNDEsICA0Miwg
IDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwKKyAgICA0OSwgIDUwLCAgNTEsICAwLCAgIDUy
LCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMs
ICA2NCwgIDY1LCAgNjYsCisgICAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDAsICAgNzIsICA3
MywgIDc0LCAgNzUsICAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0
LAorICAgIDg1LCAgODYsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgMTY3LCAxNjgsIDkyLCAg
IDE2OSwgMTcwLCAxNzEsIDE3MiwgMTczLCAwLCAgIDAsICAgMTc0LCAxNzUsCisgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMCwgICAwLCAgIDEs
ICAgMiwgICAzLCAgIDQsICAgNSwgICAxNzYsIDcsCisgICAgOCwgICA5LCAgIDEwLCAgMTEsICAx
MiwgIDAsICAgMCwgICAwLCAgIDIyOCwgMTc4LCAgMTc5LCAxODAsIDE4MSwgMCwgICAwLCAgIDAs
ICAgMTMsICAxNCwgIDE1LAorICAgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAg
MjMsICAyNCwgIDI1LCAgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAz
NCwKKyAgICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwg
ICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDAsICAgNTIsCisgICAgNTMsICA1
NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICAgNjMsICA2NCwgIDY1
LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLAorICAgIDAsICAgNzIsICA3MywgIDc0LCAg
NzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4
NiwgIDg3LCAgODgsICA4OSwKKyAgICA5MCwgIDkxLCAgMTY3LCAxNjgsIDkyLCAgMTY5LCAxNzAs
IDE3MSwgMTcyLCAxNzMsICAwLCAgIDAsICAgMTc0LCAxNzUsIDAsICAgMCwgICAwLCAgIDAsICAg
MCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMiwgICAzLCAg
ICA0LCAgIDUsICAgMTc2LCA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsCisgICAgMCwgICAw
LCAgIDAsICAgMCwgICAxNzgsIDE3OSwgMTgwLCAxODEsIDAsICAgMCwgICAgMCwgICAxMywgIDE0
LCAgMTUsICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLAorICAgIDIxLCAgMjIsICAyMywgIDI0LCAg
MjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAz
NiwgIDM3LCAgMzgsICAzOSwKKyAgICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0Niwg
IDQ3LCAgNDgsICA0OSwgICA1MCwgIDUxLCAgMCwgICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAg
NTcsCisgICAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcs
ICAgNjgsICA2OSwgIDcwLCAgNzEsICAwLCAgIDcyLCAgNzMsICA3NCwgIDc1LAorICAgIDc2LCAg
NzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgIDg2LCAgODcsICA4
OCwgIDg5LCAgOTAsICA5MSwgIDAsICAgMTM1LCA5MiwKKyAgICAwLCAgIDksICAgMTAsICAxMSwg
IDEyLCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAxMywgIDE0LCAgMTUsCisgICAgMTYsICAxNywgIDE4LCAgMTksICAyMCwgIDIxLCAgMjIs
ICAyMywgIDI0LCAgMjUsICAgMjYsICAyNywgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAxMzYs
IDM0LAorICAgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICA1MCwgIDUxLCAgMCwgICA1MiwKKyAgICA1Mywg
IDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgICA2MywgIDY0LCAg
NjUsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsCisgICAgMCwgICA3MiwgIDczLCAgNzQs
ICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICAgODEsICA4MiwgIDgzLCAgODQsICA4NSwg
IDg2LCAgODcsICA4OCwgIDg5LAorICAgIDAsICAgOTEsICAxNjcsIDE2OCwgOTIsICAxNjksIDE3
MCwgMTcxLCAxNzIsIDE3MywgIDAsICAgMCwgICAxNzQsIDE3NSwgMCwgICAwLCAgIDAsICAgMCwg
ICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgIDAsICAgMCwgICAxNzYsIDAsICAgMCwgICAxNzcsIDksICAgMTAsICAxMSwKKyAgICAxMiwg
IDAsICAgMCwgICAwLCAgIDE3OCwgMTc5LCAxODAsIDE4MSwgMCwgICAwLCAgICAwLCAgIDAsICAg
MTMsICAxNCwgIDE1LCAgMTYsICAxNywgIDE4LCAgMTksCisgICAgMjAsICAyMSwgIDIyLCAgMjMs
ICAyNCwgIDI1LCAgMjYsICAyNywgIDAsICAgMCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAzNCwg
IDM1LCAgMzYsICAzNywgIDM4LAorICAgIDM5LCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgIDAsICAgNTAsICA1MSwgIDAsICAgNTIsICA1MywgIDU0LCAgNTUs
ICA1NiwKKyAgICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2
NiwgICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgMCwgICA3MiwgIDczLCAgNzQsCisgICAgNzUs
ICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICAgODUsICA4Niwg
IDg3LCAgODgsICA4OSwgIDAsICAgOTEsICAxNjcsIDE2OCwKKyAgICA5MiwgIDE2OSwgMTcwLCAx
NzEsIDE3MiwgMTczLCAwLCAgIDAsICAgMTc0LCAxNzUsICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMTc2LCAwLCAgICAwLCAgIDI5NCwgOSwgICAxMCwgIDExLCAgMTIsICAwLCAgIDAs
ICAgMCwKKyAgICAxNzgsIDE3OSwgMTgwLCAxODEsIDAsICAgMCwgICAwLCAgIDAsICAgMTMsICAx
NCwgICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsCisgICAgMjQs
ICAyNSwgIDI2LCAgMjcsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMzQsICAzNSwg
IDM2LCAgMzcsICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICA1MCwgIDUxLCAgMCwgICAgNTIsICA1MywgIDU0LCAgNTUsICA1Niwg
IDU3LCAgNTgsICA1OSwgIDYwLAorICAgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3
LCAgNjgsICA2OSwgIDcwLCAgIDcxLCAgMCwgICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcs
ICA3OCwKKyAgICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgODcsICA4
OCwgICA4OSwgIDAsICAgOTEsICAxNjcsIDE2OCwgOTIsICAxNjksIDE3MCwgMTcxLAorICAgIDE3
MiwgMTczLCAwLCAgIDAsICAgMTc0LCAxNzUsIDAsICAgMCwgICAwLCAgIDAsICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMTc2LCA5LCAgIDEwLCAgMTEsICAxMiwgIDAsICAgIDAsICAgMCwgICAwLCAgIDAsICAgMzA3
LCAxNzgsIDE3OSwgMTgwLCAxODEsCisgICAgMCwgICAxMywgIDE0LCAgMTUsICAxNiwgIDE3LCAg
MTgsICAxOSwgIDIwLCAgMjEsICAgMjIsICAyMywgIDI0LCAgMjUsICAyNiwgIDI3LCAgMCwgICAw
LCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAg
MCwgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgNTAs
ICA1MSwgIDAsICAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICAgNTksICA2MCwg
IDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LAorICAgIDY4LCAgNjksICA3MCwgIDcx
LCAgMCwgICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEs
ICA4MiwgIDgzLCAgODQsICA4NSwKKyAgICA4NiwgIDg3LCAgODgsICA4OSwgIDAsICAgOTEsICAx
NjcsIDE2OCwgOTIsICAxNjksICAxNzAsIDE3MSwgMTcyLCAxNzMsIDAsICAgMCwgICAxNzQsIDE3
NSwgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAxNzYsIDksICAgMTAsCisgICAgMTEs
ICAxMiwgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDE3OCwgMTc5LCAgMTgwLCAxODEs
IDAsICAgMTMsICAxNCwgIDE1LCAgMTYsICAxNywgIDE4LAorICAgIDE5LCAgMjAsICAyMSwgIDIy
LCAgMjMsICAyNCwgIDI1LCAgMjYsICAyNywgIDAsICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAzNCwgIDM1LCAgMzYsICAzNywKKyAgICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgICAwLCAgIDAsICAgNTAsICAyNjksIDAsICAgNTIsICA1MywgIDU0
LCAgNTUsCisgICAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAg
NjUsICAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgMCwgICA3MiwgIDczLAorICAgIDc0
LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgIDg0LCAgODUs
ICA4NiwgIDg3LCAgODgsICA4OSwgIDAsICAgOTEsICAxNjcsCisgICAgMTY4LCA5MiwgIDE2OSwg
MTcwLCAxNzEsIDE3MiwgMTczLCAwLCAgIDAsICAgMTc0LCAgMTc1LCAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDIsICAg
MywgICA0LCAgIDUsICAgMTc2LCAgNywgICA4LCAgIDksICAgMTAsICAxMSwgIDEyLCAgMCwgICAw
LCAgIDAsCisgICAgMCwgICAxNzgsIDE3OSwgMTgwLCAxODEsIDAsICAgMCwgICAwLCAgIDEzLCAg
MTQsICAgMTUsICAxNiwgIDE3LCAgMTgsICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLAorICAgIDI0
LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgIDM0LCAgMzUs
ICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwKKyAgICA0MywgIDQ0LCAgNDUsICA0
NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICAwLCAgICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2
LCAgNTcsICA1OCwgIDU5LCAgNjAsCisgICAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAg
NjcsICA2OCwgIDY5LCAgNzAsICAgNzEsICAwLCAgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3
NywgIDc4LAorICAgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgODYsICA4Nywg
IDg4LCAgIDg5LCAgOTAsICA5MSwgIDAsICAgMCwgICA5MiwgIDAsICAgMCwgICAwLAorICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMiwgICAzLCAgIDQsICAgIDUsICAgMCwg
ICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDI1NywgIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcs
ICAxOCwgIDE5LCAgMjAsICAyMSwKKyAgICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcsICAy
OCwgIDI5LCAgMzAsICAzMSwgICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5
LCAgNDAsCisgICAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAg
NTAsICAgNTEsICAwLCAgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LAorICAgIDU5
LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgIDY5LCAgNzAs
ICA3MSwgIDAsICAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwKKyAgICA3NywgIDc4LCAgNzksICA4
MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwgICA4NywgIDg4LCAgODksICA5MCwgIDkx
LCAgMCwgICAwLCAgIDkyLCAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMSwgICAyLCAgICAzLCAgIDQsICAgNSwgICAwLCAgIDcsICAgOCwgICA5LCAgIDEw
LCAgMTEsCisgICAgMTIsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAgMCwgICAyOTYsIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LAorICAgIDIw
LCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgIDMwLCAgMzEs
ICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwKKyAgICAzOSwgIDQwLCAgNDEsICA0
MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgICA0OSwgIDUwLCAgNTEsICAwLCAgIDUy
LCAgNTMsICA1NCwgIDU1LCAgNTYsCisgICAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAg
NjMsICA2NCwgIDY1LCAgNjYsICAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDAsICAgNzIsICA3
MywgIDc0LAorICAgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4Mywg
IDg0LCAgIDg1LCAgODYsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgMCwgICAwLAorICAgIDky
LCAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTQyLCAwLCAgIDAsICAgIDEsICAgMiwg
ICAzLCAgIDQsICAgNSwgICA2LCAgIDcsICAgOCwgICA5LAorICAgIDEwLCAgMTEsICAxMiwgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgIDAsICAgMCwgICAwLCAgIDM2OCwgMTMs
ICAxNCwgIDE1LCAgMTYsICAxNywKKyAgICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAy
NCwgIDI1LCAgMjYsICAyNywgICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1
LCAgMzYsCisgICAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAg
NDYsICAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDAsICAgNTIsICA1MywgIDU0LAorICAgIDU1
LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgIDY1LCAgNjYs
ICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgMCwgICA3MiwKKyAgICA3MywgIDc0LCAgNzUsICA3
NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgICA4MywgIDg0LCAgODUsICA4NiwgIDg3
LCAgODgsICA4OSwgIDkwLCAgOTEsCisgICAgMCwgICAwLCAgIDkyLCAgMSwgICAyLCAgIDMsICAg
NCwgICA1LCAgIDYsICAgNywgICAgOCwgICA5LCAgIDEwLCAgMTEsICAxMiwgIDAsICAgMCwgICAw
LCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAxMywgIDE0LCAg
MTUsICAgMTYsICAxNywgIDE4LCAgMTksICAyMCwgIDIxLCAgMjIsICAyMywgIDI0LAorICAgIDI1
LCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgIDM1LCAgMzYs
ICAzNywgIDM4LCAgMzksICA0MCwgIDQxLCAgNDIsICA0MywKKyAgICA0NCwgIDQ1LCAgNDYsICA0
NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgMCwgICA1MiwgICA1MywgIDU0LCAgNTUsICA1NiwgIDU3
LCAgNTgsICA1OSwgIDYwLCAgNjEsCisgICAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3LCAg
NjgsICA2OSwgIDcwLCAgNzEsICAgMCwgICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3
OCwgIDc5LAorICAgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgODcsICA4OCwg
IDg5LCAgIDkwLCAgOTEsICAwLCAgIDAsICAgOTIsICAxLCAgIDIsICAgMywgICA0LAorICAgIDUs
ICAgMCwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAwLCAgIDAsICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDEzLCAgMTQsICAxNSwgIDE2
LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgIDIzLCAgMjQsICAyNSwgIDI2LCAgMjcs
ICAyOCwgIDI5LCAgMzAsICAzMSwKKyAgICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAz
OCwgIDM5LCAgNDAsICA0MSwgICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5
LCAgNTAsCisgICAgNTEsICAwLCAgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAg
NTksICAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LAorICAgIDY5
LCAgNzAsICA3MSwgIDAsICAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgIDc4LCAgNzks
ICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICA4NiwKKyAgICA4NywgIDg4LCAgODksICA5
MCwgIDkxLCAgMCwgICAwLCAgIDkyLCAgOSwgICAxMCwgICAxMSwgIDEyLCAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEzLCAgMTQsICAx
NSwgIDE2LCAgMTcsICAxOCwgICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDI2
LCAgMjcsCisgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMzQsICAzNSwgIDM2LCAg
MzcsICAgMzgsICAzOSwgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsCisgICAgMCwg
ICAwLCAgIDAsICAgNTAsICA1MSwgIDAsICAgNTIsICA1MywgIDU0LCAgNTUsICAgNTYsICA1Nywg
IDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LAorICAgIDY1LCAgNjYsICA2NywgIDY4
LCAgNjksICA3MCwgIDcxLCAgMCwgICA3MiwgIDczLCAgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgs
ICA3OSwgIDgwLCAgODEsICA4MiwKKyAgICA4MywgIDg0LCAgODUsICA4NiwgIDg3LCAgODgsICA4
OSwgIDAsICAgOTEsICAwLCAgICAzNDMsIDkyLCAgOSwgICAxMCwgIDExLCAgMTIsICAzNDQsIDAs
ICAgMCwKKyAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMTMsICAx
NCwgICAxNSwgIDE2LCAgMTcsICAxOCwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsCisgICAgMjQs
ICAyNSwgIDI2LCAgMjcsICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAgMzQsICAzNSwg
IDM2LCAgMzcsICAzOCwgIDM5LCAgMCwgICAwLCAgIDAsCisgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICA1MCwgIDUxLCAgMCwgICAgNTIsICA1MywgIDU0LCAgNTUsICA1Niwg
IDU3LCAgNTgsICA1OSwgIDYwLAorICAgIDYxLCAgNjIsICA2MywgIDY0LCAgNjUsICA2NiwgIDY3
LCAgNjgsICA2OSwgIDcwLCAgIDcxLCAgMCwgICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcs
ICA3OCwKKyAgICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIDg2LCAgODcsICA4
OCwgICA4OSwgIDAsICAgOTEsICAwLCAgIDAsICAgOTJ9OwogCiBzdGF0aWMgY29uc3QgeXl0eXBl
X2ludDE2IHl5Y2hlY2tbXSA9IHsKLSAgICAwLCAgIDQ5LCAgMTAxLCAxMjIsIDk2LCAgMTM5LCA5
NiwgIDI0NywgMjA3LCAxMDEsIDIzOSwgMjUxLCAxNDQsIDE2NCwgMTU4LCAxMzMsIDYxLCAgMCwg
ICAwLAotICAgIDM3MCwgMTE4LCAxMTksIDEwNywgMjIyLCAzOTMsIDEzNywgMTIzLCAzNzYsIDEz
NywgMTI4LCAxMDcsIDEwOCwgMTI0LCAxNDUsIDEyNCwgMTQ0LCAxMjgsIDE1NSwKLSAgICAxNTYs
IDEwNywgMTA4LCAxMzcsIDEzNywgMzkyLCAxMzYsIDE4OSwgMTM2LCA0MTYsIDE0NCwgMTQ0LCAx
NzUsIDk5LCAgMTQ0LCAxMzUsIDE0NCwgMTUzLCAxNTQsCi0gICAgMTQ1LCAyMDksIDQxMCwgMTQ1
LCAxNTgsIDEwNywgMTYyLCA0MTUsIDExNiwgMTE3LCAxNDcsIDEzNywgMTQ5LCAxNjIsIDEzOSwg
MTY0LCAyMDcsIDE2NCwgMTQ0LAotICAgIDEzNiwgMTM5LCAyMTAsIDEzNiwgMTM5LCAxMjksIDEz
MCwgMTQ1LCAxNDIsIDE0MiwgMTM3LCAxMzksIDIyMiwgMTM5LCAxNDEsIDMzMSwgMTM2LCAxMzYs
IDEzNiwKLSAgICAyMjAsIDk2LCAgMTM3LCAxNDIsIDE0MiwgMTQyLCAxMDEsIDEzNiwgMjQ3LCAx
MzYsIDEzNSwgMTQyLCAyNTEsIDE0MiwgMTQ1LCAxNDIsIDE0MiwgMTEyLCAxNDIsCi0gICAgMTQ1
LCAxMTUsIDE0NSwgMjA5LCAyMTAsIDIwOSwgMjEwLCAxNzMsIDE3NCwgMjY3LCAxMjQsIDUsICAg
NiwgICA3LCAgIDEyOCwgMTEyLCAxMTIsIDI3OSwgMjgwLAotICAgIDI4MSwgMjgyLCAyNTMsIDEz
NiwgMTQ1LCAyNjMsIDE0MiwgMTkyLCAxMzcsIDE0NSwgMTQyLCAxNDQsIDI5NiwgMTQ1LCAxNDQs
IDM3NywgMTM1LCAxNTAsIDEzNiwKLSAgICAxNTAsIDE1MSwgMTUyLCAyMDcsIDEwNywgMTA4LCAx
MTQsIDExNSwgMTIwLCAxMjEsIDE2MiwgMTM1LCAxNjQsIDE1NywgMjkxLCAxMTAsIDExMSwgMTU2
LCAyMjIsCi0gICAgMTQyLCAxNDMsIDI3NSwgMjc2LCAxNTUsIDI3NywgMjc4LCA0MTgsIDMwNCwg
MTIyLCAzMjUsIDMyNiwgMzA4LCAzODMsIDEyNCwgMTM4LCAzMzEsIDEyNSwgMTI2LAotICAgIDEy
NywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxNDUsIDI4MywgMjg0LCAxNDUs
IDEzNSwgMTM1LCAyOTYsIDE0NSwgMjk2LCAxNDQsIDEzNSwKLSAgICAyMDksIDIxMCwgMTM1LCAx
NDMsIDEzNSwgMTQwLCAxMzYsIDEzOSwgMTQyLCAxMzgsIDEzOCwgMjcyLCAyNzMsIDI3NCwgMjc1
LCAyNzYsIDI3NywgMjc4LCAyNzksCi0gICAgMjgwLCAyODEsIDI4MiwgMjgzLCAyODQsIDI4NSwg
Mjg2LCAyODcsIDI4OCwgMjg5LCAyOTAsIDIzOSwgMTQzLCAxMzUsIDM4NiwgNjQsICAxMzUsIDE0
MCwgMTM2LAotICAgIDE0NSwgMTM2LCAzODMsIDM2OSwgMzc2LCAxMzgsIDE4LCAgMTM5LCAxNDQs
IDI4OSwgMjY0LCAxNDUsIDI4NSwgMjg3LCAxNDUsIDI4NiwgMjg4LCAxMjgsIDEyNCwKLSAgICAx
MjgsIDM5MiwgMjkwLCA2LCAgIDMzNSwgMjUyLCAyMTMsIDQwOCwgNDE4LCA0MTUsIDMxMywgNDAy
LCAzNzEsIDM5MiwgMzcxLCAxMTIsIC0xLCAgLTEsICAtMSwKLSAgICAtMSwgIDM3NiwgLTEsICAt
MSwgIDQxNCwgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMjk2LCAtMSwgIDM5NywgLTEs
ICAtMSwgIC0xLCAgMzkyLCAtMSwKLSAgICAtMSwgIDM5NywgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAzMTMsIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEs
ICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMzgzLCAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwKLSAgICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAzOTYsIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAzNzAsIDM3MSwgLTEsICAtMSwgIC0xLCAgLTEsICAz
NzYsIDM3NywgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAzOTIsIC0xLCAgLTEsICAtMSwgIC0xLCAgMzk3LCAt
MSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgNDEwLCAtMSwgIC0xLCAgLTEsICAtMSwgIDQxNSwgMywgICA0LAotICAgIDUsICAgNiwg
ICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAgMTUsICAxNiwgIDE3LCAg
LTEsICAxOSwgIDIwLCAgMjEsICAyMiwgIDIzLAotICAgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgs
ICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAg
NDAsICA0MSwgIDQyLAotICAgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAs
ICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLAot
ICAgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIs
ICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLAotICAgIDgxLCAgODIsICA4
MywgIDg0LCAgLTEsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQs
ICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LAotICAgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAx
MDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAtMSwgIC0xLCAgMTE2
LCAxMTcsIC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTM1LCAtMSwgIC0xLAotICAg
IC0xLCAgMTM5LCAxNDAsIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQ1LCAxNDYsIDE0NywgMTQ4LCAx
NDksIDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDksCi0gICAgMTAsICAxMSwgIDEyLCAg
MTMsICAxNCwgIDE1LCAgMTYsICAxNywgIC0xLCAgMTksICAyMCwgIDIxLCAgMjIsICAyMywgIDI0
LCAgMjUsICAyNiwgIDI3LCAgMjgsCi0gICAgMjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAg
MzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2
LCAgNDcsCi0gICAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAg
NTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsCi0gICAgNjcs
ICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAg
NzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgLTEsCi0gICAgODYsICA4NywgIDg4LCAgODks
ICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwg
MTAxLCAxMDIsIDEwMywgMTA0LAotICAgIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDEx
MSwgMTEyLCAxMTMsIC0xLCAgLTEsICAxMTYsIDExNywgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAxMzUsIC0xLCAgLTEsICAtMSwgIDEzOSwgMTQwLCAtMSwgIC0xLAotICAgIC0xLCAg
LTEsICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMywgICA0LCAgIDUsICAgNiwgICA3LCAgIDgs
ICAgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LAotICAgIDE1LCAgMTYsICAxNywgIC0xLCAg
MTksICAyMCwgIDIxLCAgMjIsICAyMywgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMw
LCAgMzEsICAzMiwgIDMzLAotICAgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAg
NDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUy
LAotICAgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAg
NjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLAotICAgIDcyLCAgNzMs
ICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAg
LTEsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLAotICAgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUs
ICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwg
MTA3LCAxMDgsIDEwOSwKLSAgICAxMTAsIDExMSwgMTEyLCAxMTMsIC0xLCAgLTEsICAxMTYsIDEx
NywgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwK
LSAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxMzUsIC0xLCAgLTEsICAtMSwgIDEz
OSwgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDE0NSwgMTQ2LCAxNDcsCi0gICAgMTQ4LCAxNDks
IDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDksICAgMTAsICAxMSwgIDEyLCAgMTMsICAx
NCwgIDE1LCAgMTYsICAxNywgIC0xLCAgMTksCisgICAgMCwgICA1MCwgIDEwMiwgMTIzLCA5Nywg
IDE0MCwgOTcsICAyMDgsIDI0OCwgMTAyLCAyNDAsIDE2NSwgMjUyLCAxNDUsIDE1OSwgMCwgICA2
MiwgIDAsICAgMTM0LAorICAgIDM3MSwgMTA4LCAzNzcsIDIyMywgMTA4LCAxMDksIDExOSwgMTIw
LCAzOTQsIDEzOCwgMTI5LCAxNDMsIDEzOCwgMTI1LCAxNDYsIDEyNSwgMTQ1LCAxMjksIDM5MywK
KyAgICAxNzYsIDE0NiwgMTU2LCAxNTcsIDEyNCwgMTQwLCAxMzcsIDE5MCwgMTM3LCAxMzcsIDE0
NiwgMTQ2LCA0MTcsIDEwMCwgMTQ1LCAxNDMsIDE0NSwgMTQwLCAyMTAsCisgICAgMTM2LCAxNDYs
IDQxMSwgMTU0LCAxNTUsIDEwOCwgMTYzLCA0MTYsIDExNywgMTE4LCAxNDMsIDEzOCwgMTM4LCAx
NjMsIDEzOCwgMTY1LCAyMDgsIDE2NSwgMTQ1LAorICAgIDE0NSwgMTU5LCAxNDUsIDIxMSwgMTM3
LCAxMzAsIDEzMSwgMjIxLCAxMDgsIDEwOSwgMTM4LCAxNDAsIDIyMywgMTM3LCAxNDIsIDEzOCwg
MzMyLCAxMzcsIDEzNywKKyAgICAxNDMsIDEzOCwgOTcsICAxMzcsIDE0MywgMTQzLCAxMzYsIDEw
MiwgMjQ4LCAxNDMsIDEzNywgMTQzLCAyNTIsIDE0OCwgMTQ2LCAxNTAsIDE0MywgMTQzLCAxMTMs
CisgICAgMTQwLCAxNDYsIDExNiwgMjEwLCAyMTEsIDIxMCwgMjExLCAxNzQsIDE3NSwgMjY4LCAx
NDMsIDEyNSwgMjY0LCAxNDYsIDExMywgMTI5LCAxMTMsIDI4MCwgMjgxLAorICAgIDI4MiwgMjgz
LCAxNDAsIDE0MywgMTM3LCAyNTQsIDE0NiwgMTkzLCAxMDgsIDEwOSwgMjk3LCAxNDYsIDE0NSwg
MTE1LCAxMTYsIDM3OCwgMTIxLCAxMjIsIDE1MSwKKyAgICAxMTEsIDExMiwgMjkyLCAyMDgsIDUs
ICAgNiwgICA3LCAgIDE1MSwgMTUyLCAxNTMsIDEzNiwgMTYzLCAxNDUsIDE2NSwgMTM3LCAzMDUs
IDE0MywgMTQ0LCAyMjMsCisgICAgMzA5LCAyNzYsIDI3NywgMTM2LCAyNzgsIDI3OSwgMTU2LCAx
NTgsIDQxOSwgMTU3LCAzMjYsIDMyNywgMzg0LCAxMjMsIDI4NCwgMjg1LCAzMzIsIDEyNiwgMTI3
LAorICAgIDEyOCwgMTI5LCAxMzAsIDEzMSwgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMjUsIDEzOSwg
MTQ2LCAxNDYsIDEzNiwgMTM2LCAyOTcsIDE0NiwgMjk3LCAxNDUsIDEzNiwKKyAgICAxNDQsIDIx
MCwgMjExLCAxMzYsIDEzNiwgMTM5LCAxNDEsIDEzNywgMTM2LCAxNDAsIDEzOSwgMjczLCAyNzQs
IDI3NSwgMjc2LCAyNzcsIDI3OCwgMjc5LCAyODAsCisgICAgMjgxLCAyODIsIDI4MywgMjg0LCAy
ODUsIDI4NiwgMjg3LCAyODgsIDI4OSwgMjkwLCAyOTEsIDM3NywgMjQwLCAxNDQsIDM4NywgMTQz
LCA2NSwgIDEzNiwgMTQxLAorICAgIDEzNywgMTQ2LCAzODQsIDM3MCwgMTM5LCAxMzcsIDE4LCAg
MTQwLCAzOTMsIDE0NSwgMjY1LCAyODYsIDE0NiwgMjg3LCAyOTAsIDE0NiwgMjg4LCAxMjksIDQw
MywKKyAgICAyODksIDEyNSwgMTI5LCAyOTEsIDYsICAgMjE0LCAzMzYsIDQwOSwgNDE5LCAyNTMs
IDM3MiwgNDE1LCAzMTQsIDQxNiwgMzcyLCAzOTMsIDExMywgLTEsICAtMSwKKyAgICAtMSwgIDM3
NywgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAyOTcs
IDM5OCwgLTEsICAtMSwgIC0xLCAgMzkzLCAtMSwKKyAgICAtMSwgIDM5OCwgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDMxNCwgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwKKyAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgMzg0LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwK
KyAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAzOTcsIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwKKyAgICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDM3MSwgMzcyLCAtMSwgIC0x
LCAgLTEsICAtMSwgIDM3NywgMzc4LCAtMSwKKyAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDM5MywgLTEsICAtMSwgIC0x
LCAgLTEsICAzOTgsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgNDExLCAtMSwgIC0xLCAgLTEsICAtMSwgIDQxNiwgMywKKyAg
ICA0LCAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAg
MTUsICAxNiwgIDE3LCAgLTEsICAxOSwgIDIwLCAgMjEsICAyMiwKKyAgICAyMywgIDI0LCAgMjUs
ICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAg
MzcsICAzOCwgIDM5LCAgNDAsICA0MSwKKyAgICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcs
ICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAg
NTksICA2MCwKKyAgICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjks
ICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwKKyAgICA4
MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICAtMSwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEs
ICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwKKyAgICA5OSwgIDEwMCwgMTAxLCAx
MDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEz
LCAxMTQsIC0xLCAgLTEsICAxMTcsCisgICAgMTE4LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgMTM2LAorICAgIC0xLCAgLTEsICAtMSwgIDE0MCwgMTQxLCAtMSwgIC0xLCAgLTEsICAtMSwg
IDE0NiwgMTQ3LCAxNDgsIDE0OSwgMTUwLCAzLCAgIDQsICAgNSwgICA2LCAgIDcsCisgICAgOCwg
ICA5LCAgIDEwLCAgMTEsICAxMiwgIDEzLCAgMTQsICAxNSwgIDE2LCAgMTcsICAtMSwgIDE5LCAg
MjAsICAyMSwgIDIyLCAgMjMsICAyNCwgIDI1LCAgMjYsCisgICAgMjcsICAyOCwgIDI5LCAgMzAs
ICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIDQxLCAg
NDIsICA0MywgIDQ0LCAgNDUsCisgICAgNDYsICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIs
ICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAg
NjQsCisgICAgNjUsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQs
ICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsCisgICAgODQsICA4
NSwgIC0xLCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYs
ICA5NywgIDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLAorICAgIDEwMywgMTA0LCAxMDUsIDEwNiwg
MTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIC0xLCAgLTEsICAxMTcsIDEx
OCwgLTEsICAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxMzYsIC0xLCAgLTEsICAtMSwgIDE0
MCwKKyAgICAxNDEsIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQ2LCAxNDcsIDE0OCwgMTQ5LCAxNTAs
IDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDksICAgMTAsICAxMSwKKyAgICAxMiwgIDEz
LCAgMTQsICAxNSwgIDE2LCAgMTcsICAtMSwgIDE5LCAgMjAsICAyMSwgIDIyLCAgMjMsICAyNCwg
IDI1LCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwKKyAgICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1
LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0Niwg
IDQ3LCAgNDgsICA0OSwKKyAgICA1MCwgIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3
LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcsICA2OCwK
KyAgICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5
LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgLTEsICA4NywKKyAgICA4OCwgIDg5LCAg
OTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LCAgOTksICAxMDAsIDEw
MSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsCisgICAgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEs
IDExMiwgMTEzLCAxMTQsIC0xLCAgLTEsICAxMTcsIDExOCwgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAxMzYsIC0xLCAgLTEsICAtMSwgIDE0MCwgLTEsICAtMSwgIC0xLCAgLTEsCisg
ICAgLTEsICAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMywgICA0LCAgIDUsICAgNiwgICA3LCAg
IDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAgMTUsCisgICAgMTYsICAxNywgIC0x
LCAgMTksICAyMCwgIDIxLCAgMjIsICAyMywgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwg
IDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsCisgICAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQw
LCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwg
IDUyLCAgNTMsCisgICAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYy
LCAgNjMsICA2NCwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsCisgICAg
NzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0
LCAgODUsICAtMSwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsCisgICAgOTIsICA5MywgIDk0LCAg
OTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEw
NiwgMTA3LCAxMDgsIDEwOSwgMTEwLAorICAgIDExMSwgMTEyLCAxMTMsIDExNCwgLTEsICAtMSwg
IDExNywgMTE4LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDEzNiwgLTEsICAtMSwg
IC0xLCAgMTQwLCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQ2LCAxNDcsIDE0OCwKKyAgICAx
NDksIDE1MCwgMywgICA0LCAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIs
ICAxMywgIDE0LCAgMTUsICAxNiwgIDE3LCAgLTEsICAxOSwKICAgICAyMCwgIDIxLCAgMjIsICAy
MywgIDI0LCAgMjUsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQs
ICAzNSwgIDM2LCAgMzcsICAzOCwKICAgICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0
NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYs
ICA1NywKICAgICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2NCwgIDY1LCAgNjYsICA2
NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwKLSAgICA3Nywg
IDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgLTEsICA4NiwgIDg3LCAgODgsICA4
OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQsICA5NSwKLSAgICA5NiwgIDk3LCAgOTgsICA5OSwg
IDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAx
MTEsIDExMiwgMTEzLCAtMSwKLSAgICAtMSwgIDExNiwgMTE3LCAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwKLSAgICAtMSwgIDEzNSwgLTEsICAtMSwgIC0xLCAgMTM5LCAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDMsICAgNCwgICA1LAotICAgIDYsICAgNywg
ICA4LCAgIDksICAgMTAsICAxMSwgIDEyLCAgMTMsICAxNCwgIDE1LCAgMTYsICAxNywgIC0xLCAg
MTksICAyMCwgIDIxLCAgMjIsICAyMywgIDI0LAotICAgIDI1LCAgMjYsICAyNywgIDI4LCAgMjks
ICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAg
NDEsICA0MiwgIDQzLAotICAgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEs
ICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLAot
ICAgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMs
ICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLAotICAgIDgyLCAgODMsICA4
NCwgIC0xLCAgODYsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUs
ICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwKLSAgICAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwg
MTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIC0xLCAgLTEsICAxMTYsIDEx
NywgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxMzUsIC0xLCAgLTEsICAtMSwKLSAg
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwg
MywgICA0LCAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwKLSAgICAxMSwgIDEyLCAgMTMs
ICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAyNiwgIDI3LCAgMjgsICAyOSwKLSAgICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUs
ICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAg
NDcsICA0OCwKLSAgICA0OSwgIDUwLCAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcs
ICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICAtMSwgIDY1LCAgNjYsICA2NywKLSAgICA2
OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzks
ICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgLTEsICA4NiwKLSAgICA4NywgIDg4LCAgODksICA5
MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAx
LCAxMDIsIDEwMywgMTA0LCAxMDUsCi0gICAgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwg
MTEyLCAxMTMsIC0xLCAgLTEsICAxMTYsIDExNywgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsCi0gICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDMsICAgNCwgICA1LCAgIDYsICAg
NywgICAxMzUsIDksICAgMTAsICAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsCi0gICAgLTEs
ICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAg
MjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsCi0gICAgMzYsICAzNywgIDM4LCAgMzks
ICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAg
NTEsICA1MiwgIDUzLCAgNTQsCi0gICAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEs
ICA2MiwgIDYzLCAgLTEsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAg
NzMsCi0gICAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMs
ICA4NCwgIC0xLCAgODYsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsCi0gICAgOTMsICA5
NCwgIDk1LCAgOTYsICA5NywgIDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1
LCAxMDYsIDEwNywgMTA4LCAxMDksIDExMCwgMTExLAotICAgIDExMiwgMTEzLCAtMSwgIC0xLCAg
MTE2LCAxMTcsIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIDMsCi0gICAgNCwgICA1LCAgIDYsICAgNywgICAxMzUsIDksICAgMTAsICAx
MSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQ2LCAxNDcsIDE0OCwgMTQ5
LAotICAgIC0xLCAgLTEsICAtMSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAg
MzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIDQxLAotICAgIDQyLCAgNDMs
ICA0NCwgIDQ1LCAgNDYsICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsICA1MywgIDU0LCAg
NTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLAotICAgIDYxLCAgNjIsICA2MywgIC0xLCAgNjUs
ICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAg
NzcsICA3OCwgIDc5LAotICAgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICAtMSwgIDg2LCAgODcs
ICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LAot
ICAgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgLTEsICAxMDcsIDEwOCwgLTEs
ICAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLAotICAgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIs
ICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LAotICAgIDM4LCAgMzksICA0MCwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAxNDUsIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIC0xLCAgLTEs
ICAtMSwgIC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICA2MiwgIDYzLCAgLTEsICA2
NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LAotICAg
IDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIC0xLCAgODYsICA4
NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LAotICAgIDk1LCAgOTYsICA5Nywg
IDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIC0xLCAgMTA1LCAxMDYsIDEwNywgMTA4LCAx
MDksIDExMCwgMTExLCAxMTIsIDExMywKLSAgICAtMSwgIC0xLCAgMTE2LCAxMTcsIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwKLSAgICAtMSwgIC0xLCAgMTM1LCAtMSwgIC0xLCAgMTM4LCAxMSwgIDEyLCAgMTMs
ICAxNCwgIC0xLCAgLTEsICAtMSwgIDE0NiwgMTQ3LCAxNDgsIDE0OSwgLTEsICAtMSwKLSAgICAt
MSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUs
ICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAt
MSwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwKLSAgICA2MiwgIDYzLCAgLTEsICA2NSwgIDY2LCAgNjcsICA2
OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzks
ICA4MCwKLSAgICA4MSwgIDgyLCAgODMsICA4NCwgIC0xLCAgODYsICA4NywgIDg4LCAgODksICA5
MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwKLSAgICAxMDAs
IDEwMSwgMTAyLCAxMDMsIC0xLCAgMTA1LCAxMDYsIDEwNywgMTA4LCAxMDksIDExMCwgMTExLCAx
MTIsIDExMywgLTEsICAtMSwgIDExNiwgMTE3LCAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIDEzNSwgLTEsICAtMSwKLSAgICAxMzgsIDExLCAgMTIsICAxMywgIDE0LCAgLTEsICAtMSwg
IC0xLCAgMTQ2LCAxNDcsIDE0OCwgMTQ5LCAtMSwgIC0xLCAgLTEsICAtMSwgIDI2LCAgMjcsICAy
OCwKLSAgICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwg
IDM5LCAgNDAsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICA0NywKLSAgICA0OCwgIDQ5
LCAgNTAsICA1MSwgIDUyLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgNjIsICA2MywgIC0xLCAgNjUsICA2NiwKLSAgICA2NywgIDY4LCAgNjksICA3MCwgIDcx
LCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4Miwg
IDgzLCAgODQsICAtMSwKLSAgICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkz
LCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAtMSwK
LSAgICAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAtMSwgIC0x
LCAgMTE2LCAxMTcsIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTM1LCAxMSwgIDEy
LCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgMTQ1LCAxNDYsIDE0Nywg
MTQ4LCAxNDksIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0
LCAgMzUsICAzNiwKLSAgICAzNywgIDM4LCAgMzksICA0MCwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIC0xLCAgLTEsICAtMSwKLSAg
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICA2MiwgIDYzLCAgLTEsICA2NSwgIDY2LCAg
NjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwKLSAgICA3NSwgIDc2LCAgNzcs
ICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIC0xLCAgODYsICA4NywgIDg4LCAg
ODksICA5MCwgIDkxLCAgOTIsICA5MywKLSAgICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LCAgOTks
ICAxMDAsIDEwMSwgMTAyLCAxMDMsIC0xLCAgMTA1LCAxMDYsIDEwNywgMTA4LCAxMDksIDExMCwg
MTExLCAxMTIsCi0gICAgMTEzLCAtMSwgIC0xLCAgMTE2LCAxMTcsIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsCi0gICAg
LTEsICAtMSwgIC0xLCAgMTM1LCAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIDE0NiwgMTQ3LCAxNDgsIDE0OSwgLTEsCi0gICAgMjYsICAyNywgIDI4LCAg
MjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQw
LCAgLTEsICAtMSwgIC0xLCAgLTEsCi0gICAgLTEsICAtMSwgIDQ3LCAgNDgsICA0OSwgIDUwLCAg
NTEsICA1MiwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDYy
LCAgNjMsCi0gICAgLTEsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAg
NzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsCi0gICAgODMs
ICA4NCwgIC0xLCAgODYsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAg
OTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLAotICAgIDEwMiwgMTAzLCAtMSwgIDEw
NSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIC0xLCAgLTEsICAxMTYs
IDExNywgLTEsICAtMSwgIC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIDMsICAgNCwgICA1LCAgIDYsICAgNywgICAxMzUsIDksICAgMTAsICAxMSwg
IDEyLAotICAgIDEzLCAgMTQsICAtMSwgIC0xLCAgLTEsICAtMSwgIDE0NiwgMTQ3LCAxNDgsIDE0
OSwgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLAotICAgIDMyLCAg
MzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0
LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLAotICAgIDUxLCAgNTIsICA1MywgIDU0LCAg
NTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgLTEsICA2NSwgIDY2
LCAgNjcsICA2OCwgIDY5LAotICAgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAg
NzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIC0xLCAgODYsICA4NywgIDg4
LAotICAgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LCAg
OTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAtMSwgIC0xLAotICAgIDEwOCwgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMywgICA0LCAgIDUsICAg
NiwgICA3LCAgIC0xLCAgOSwgICAxMCwgIDExLAotICAgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQwLCAyNiwgIDI3LCAg
MjgsICAyOSwgIDMwLAotICAgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgs
ICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LAot
ICAgIDUwLCAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAs
ICA2MSwgIDYyLCAgNjMsICAtMSwgIDY1LCAgNjYsICA2NywgIDY4LAotICAgIDY5LCAgNzAsICA3
MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIs
ICA4MywgIDg0LCAgLTEsICA4NiwgIDg3LAotICAgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5
MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0
LCAxMDUsIC0xLAotICAgIC0xLCAgMTA4LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAzLCAgIDQsICAgNSwgICA2LCAgIDcsICAgLTEsICA5LCAgIDEwLAotICAg
IDExLCAgMTIsICAxMywgIDE0LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAxNDAsIDI2LCAgMjcsICAyOCwgIDI5LAotICAgIDMwLCAgMzEsICAzMiwg
IDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0
NCwgIDQ1LCAgNDYsICA0NywgIDQ4LAotICAgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMsICA1NCwg
IDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIC0xLCAgNjUsICA2
NiwgIDY3LAotICAgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3Niwg
IDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICAtMSwgIDg2LAotICAgIDg3
LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwg
IDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwKLSAgICAtMSwgIC0xLCAgMTA4LCAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAwLCAgIC0xLCAgLTEsICAzLCAgIDQsICAgNSwg
ICA2LCAgIDcsICAgOCwgICA5LAotICAgIDEwLCAgMTEsICAxMiwgIDEzLCAgMTQsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDE0MCwgMjYsICAyNywg
IDI4LAorICAgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIC0x
LCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LAorICAgIDk2LCAg
OTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDEw
OCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwKKyAgICAtMSwgIC0xLCAgMTE3LCAxMTgs
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwKKyAgICAtMSwgIC0xLCAgMTM2LCAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMywgICA0
LAorICAgIDUsICAgNiwgICA3LCAgIDgsICAgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLAorICAgIC0xLCAgLTEs
ICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAg
MzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLAorICAgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcs
ICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAg
NTksICA2MCwgIDYxLAorICAgIDYyLCAgNjMsICA2NCwgIC0xLCAgNjYsICA2NywgIDY4LCAgNjks
ICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLAor
ICAgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICAtMSwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEs
ICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LAorICAgIDEwMCwgMTAxLCAx
MDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEz
LCAxMTQsIC0xLCAgLTEsICAxMTcsIDExOCwKKyAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAzLCAgIDQsICAgNSwgICA2LCAgIDcs
ICAgMTM2LCA5LAorICAgIDEwLCAgMTEsICAxMiwgIDEzLCAgMTQsICAtMSwgIC0xLCAgLTEsICAx
NDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LAogICAg
IDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0
MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LAotICAgIDQ4LCAgNDksICA1MCwg
IDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2
MiwgIDYzLCAgLTEsICA2NSwgIDY2LAotICAgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3Miwg
IDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4
NCwgIC0xLAotICAgIDg2LCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwg
IDk1LCAgOTYsICA5NywgIDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwKLSAgICAx
MDUsIC0xLCAgLTEsICAxMDgsIDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDksICAgMTAs
ICAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwKLSAgICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIs
ICAzMywgIDM0LCAgMzUsICAzNiwKKyAgICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMsICA1
NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgLTEs
ICA2NiwKKyAgICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3
NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwKKyAgICAtMSwg
IDg3LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5
OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsCisgICAgMTA1LCAxMDYsIDEwNywgMTA4
LCAxMDksIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAtMSwgIC0xLCAgMTE3LCAxMTgsIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEs
ICAzLCAgIDQsICAgNSwgICA2LCAgIDcsICAgMTM2LCA5LCAgIDEwLCAgMTEsICAxMiwgIDEzLCAg
MTQsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAxNDcsIDE0OCwgMTQ5LCAxNTAsIC0xLCAgLTEs
ICAtMSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsCisgICAgMzQsICAz
NSwgIDM2LCAgMzcsICAzOCwgIDM5LCAgNDAsICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAgNDYs
ICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsCisgICAgNTMsICA1NCwgIDU1LCAgNTYsICA1
NywgIDU4LCAgNTksICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgLTEsICA2NiwgIDY3LCAgNjgs
ICA2OSwgIDcwLCAgNzEsCisgICAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3
OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICA4NSwgIC0xLCAgODcsICA4OCwgIDg5LCAgOTAs
CisgICAgOTEsICA5MiwgIDkzLCAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAx
MDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAtMSwgIDEwOCwgMTA5LAorICAgIC0xLCAgMTEs
ICAxMiwgIDEzLCAgMTQsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LAorICAgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMs
ICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAxNDYsIDQ3LAorICAgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsICAtMSwgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDYzLCAgNjQsICAtMSwgIDY2LAor
ICAgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcs
ICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LAorICAgIC0xLCAgODcsICA4
OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LCAgOTks
ICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwKKyAgICAtMSwgIDEwNiwgMTA3LCAxMDgsIDEwOSwg
MTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIC0xLCAgLTEsICAxMTcsIDExOCwgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwKKyAgICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAxMzYsIC0xLCAgLTEsICAxMzksIDExLCAgMTIsICAxMywKKyAg
ICAxNCwgIC0xLCAgLTEsICAtMSwgIDE0NywgMTQ4LCAxNDksIDE1MCwgLTEsICAtMSwgIC0xLCAg
LTEsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsICAzMiwKKyAgICAzMywgIDM0LCAgMzUs
ICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
NDcsICA0OCwgIDQ5LCAgNTAsICA1MSwKKyAgICA1MiwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgNjMsICA2NCwgIC0xLCAgNjYsICA2NywgIDY4LCAg
NjksICA3MCwKKyAgICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzks
ICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICAtMSwgIDg3LCAgODgsICA4OSwKKyAgICA5
MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAx
LCAxMDIsIDEwMywgMTA0LCAtMSwgIDEwNiwgMTA3LCAxMDgsCisgICAgMTA5LCAxMTAsIDExMSwg
MTEyLCAxMTMsIDExNCwgLTEsICAtMSwgIDExNywgMTE4LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIDEzNiwgLTEsICAtMSwgIDEzOSwgMTEsICAxMiwgIDEzLCAgMTQsICAtMSwgIC0x
LCAgLTEsCisgICAgMTQ3LCAxNDgsIDE0OSwgMTUwLCAtMSwgIC0xLCAgLTEsICAtMSwgIDI2LCAg
MjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsCisgICAgMzcs
ICAzOCwgIDM5LCAgNDAsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICA0NywgIDQ4LCAg
NDksICA1MCwgIDUxLCAgNTIsICAtMSwgIC0xLCAgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICA2MywgIDY0LCAgLTEsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAg
NzEsICA3MiwgIDczLCAgNzQsCisgICAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEs
ICA4MiwgIDgzLCAgODQsICA4NSwgIC0xLCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAg
OTMsCisgICAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAz
LCAxMDQsIC0xLCAgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLAorICAgIDExMywg
MTE0LCAtMSwgIC0xLCAgMTE3LCAxMTgsIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAg
MTM2LCAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxNDYsIDE0
NywgMTQ4LCAxNDksIDE1MCwKKyAgICAtMSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwg
IDMyLCAgMzMsICAzNCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIC0xLCAgLTEsICAt
MSwKKyAgICAtMSwgIC0xLCAgLTEsICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwKKyAgICA2MywgIDY0
LCAgLTEsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwg
IDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwKKyAgICA4MiwgIDgzLCAgODQsICA4NSwgIC0x
LCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5Nywg
IDk4LCAgOTksICAxMDAsCisgICAgMTAxLCAxMDIsIDEwMywgMTA0LCAtMSwgIDEwNiwgMTA3LCAx
MDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIC0xLCAgLTEsICAxMTcsIDExOCwgLTEs
CisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxMzYsIDExLCAgMTIsCisgICAgMTMsICAxNCwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIDE0NywgMTQ4LCAxNDksIDE1MCwgLTEsICAy
NiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEsCisgICAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwg
IDM3LCAgMzgsICAzOSwgIDQwLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgNDcsICA0
OCwgIDQ5LCAgNTAsCisgICAgNTEsICA1MiwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICAtMSwgIC0xLCAgNjMsICA2NCwgIC0xLCAgNjYsICA2NywgIDY4LCAgNjksCisg
ICAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwg
IDgxLCAgODIsICA4MywgIDg0LCAgODUsICAtMSwgIDg3LCAgODgsCisgICAgODksICA5MCwgIDkx
LCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIs
IDEwMywgMTA0LCAtMSwgIDEwNiwgMTA3LAorICAgIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAx
MTMsIDExNCwgLTEsICAtMSwgIDExNywgMTE4LCAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEs
ICAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgMywgICA0LCAgIDUsICAgNiwgICA3
LCAgIDEzNiwgOSwgICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAgLTEsICAtMSwgIC0xLAorICAg
IC0xLCAgMTQ3LCAxNDgsIDE0OSwgMTUwLCAtMSwgIC0xLCAgLTEsICAyNiwgIDI3LCAgMjgsICAy
OSwgIDMwLCAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LAogICAgIDM3LCAgMzgsICAzOSwg
IDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1
MSwgIDUyLCAgNTMsICA1NCwgIDU1LAotICAgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwg
IDYyLCAgNjMsICAtMSwgIDY1LCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsICA3
MywgIDc0LAotICAgIDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4Mywg
IDg0LCAgLTEsICA4NiwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLAotICAgIDk0
LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUs
IC0xLCAgLTEsICAxMDgsIDMsICAgNCwgICA1LCAgIDYsCisgICAgNTYsICA1NywgIDU4LCAgNTks
ICA2MCwgIDYxLCAgNjIsICA2MywgIDY0LCAgLTEsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLCAg
NzEsICA3MiwgIDczLCAgNzQsCisgICAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEs
ICA4MiwgIDgzLCAgODQsICA4NSwgIC0xLCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAg
OTMsCisgICAgOTQsICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAz
LCAxMDQsIDEwNSwgMTA2LCAtMSwgIC0xLCAgMTA5LCAtMSwgIC0xLCAgLTEsCisgICAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMywgICA0LCAgIDUsICAgNiwgICA3LCAgIC0xLCAgOSwg
ICAxMCwgIDExLCAgMTIsICAxMywgIDE0LCAgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMTQxLCAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEs
ICAzMiwgIDMzLCAgMzQsCisgICAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0
MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgNTMs
CisgICAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsICA2
NCwgIC0xLCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsCisgICAgNzMsICA3NCwg
IDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICAt
MSwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsCisgICAgOTIsICA5MywgIDk0LCAgOTUsICA5Niwg
IDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgLTEsICAt
MSwgIDEwOSwgLTEsCisgICAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IDMsICAgNCwgICA1LCAgIDYsICAgNywgICAtMSwgIDksICAgMTAsICAxMSwgIDEyLCAgMTMsCisg
ICAgMTQsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwg
IDE0MSwgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIsCisgICAgMzMsICAzNCwgIDM1
LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0Niwg
IDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsCisgICAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3
LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICAtMSwgIDY2LCAgNjcsICA2OCwg
IDY5LCAgNzAsCisgICAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5
LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgLTEsICA4NywgIDg4LCAgODksCisgICAg
OTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LCAgOTksICAxMDAsIDEw
MSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIC0xLCAgLTEsCisgICAgMTA5LCAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAwLCAgIC0xLCAgLTEsICAzLCAgIDQsICAgNSwgICA2LCAgIDcs
ICAgOCwgICA5LCAgIDEwLCAgMTEsCisgICAgMTIsICAxMywgIDE0LCAgLTEsICAtMSwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAxNDEsIDI2LCAgMjcsICAyOCwgIDI5
LCAgMzAsCisgICAgMzEsICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LCAgMzcsICAzOCwgIDM5LCAg
NDAsICA0MSwgIDQyLCAgNDMsICA0NCwgIDQ1LCAgNDYsICA0NywgIDQ4LCAgNDksCisgICAgNTAs
ICA1MSwgIDUyLCAgNTMsICA1NCwgIDU1LCAgNTYsICA1NywgIDU4LCAgNTksICA2MCwgIDYxLCAg
NjIsICA2MywgIDY0LCAgLTEsICA2NiwgIDY3LCAgNjgsCisgICAgNjksICA3MCwgIDcxLCAgNzIs
ICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAg
ODQsICA4NSwgIC0xLCAgODcsCisgICAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLCAgOTQs
ICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwg
MTA2LAorICAgIC0xLCAgLTEsICAxMDksIDMsICAgNCwgICA1LCAgIDYsICAgNywgICA4LCAgIDks
ICAgMTAsICAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLAorICAgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMx
LCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LAorICAgIDM4LCAgMzksICA0MCwgIDQxLCAg
NDIsICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIDUz
LCAgNTQsICA1NSwgIDU2LAorICAgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAg
NjQsICAtMSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1
LAorICAgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAg
LTEsICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LAorICAgIDk1LCAgOTYs
ICA5NywgIDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIC0xLCAg
LTEsICAxMDksIDMsICAgNCwgICA1LCAgIDYsCiAgICAgNywgICAtMSwgIDksICAgMTAsICAxMSwg
IDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsCiAgICAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzIsICAzMywg
IDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsCiAg
ICAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwg
IDU2LCAgNTcsICA1OCwgIDU5LCAgNjAsICA2MSwgIDYyLCAgNjMsCi0gICAgLTEsICA2NSwgIDY2
LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYsICA3Nywg
IDc4LCAgNzksICA4MCwgIDgxLCAgODIsCi0gICAgODMsICA4NCwgIC0xLCAgODYsICA4NywgIDg4
LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwg
IDEwMCwgMTAxLAotICAgIDEwMiwgMTAzLCAxMDQsIDEwNSwgLTEsICAtMSwgIDEwOCwgMTEsICAx
MiwgIDEzLCAgMTQsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLAotICAg
IC0xLCAgLTEsICAtMSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAz
NCwgIDM1LCAgMzYsICAzNywgIDM4LCAgMzksICA0MCwgIC0xLAotICAgIC0xLCAgLTEsICAtMSwg
IC0xLCAgLTEsICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsICAtMSwgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLAotICAgIC0xLCAgNjIsICA2MywgIC0xLCAgNjUsICA2Niwg
IDY3LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3
OCwgIDc5LAotICAgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICAtMSwgIDg2LCAgODcsICA4OCwg
IDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LCAgOTYsICA5NywgIDk4LAotICAgIDk5
LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAtMSwgIDEwNSwgLTEsICAxMDcsIDEwOCwgMTEsICAxMiwg
IDEzLCAgMTQsICAxMTMsIC0xLCAgLTEsICAtMSwgIC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICAtMSwgIDI2LCAgMjcsICAyOCwgIDI5LCAgMzAsICAzMSwgIDMyLCAgMzMsICAzNCwg
IDM1LCAgMzYsICAzNywgIDM4LAotICAgIDM5LCAgNDAsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LCAgLTEsICA0NywgIDQ4LCAgNDksICA1MCwgIDUxLCAgNTIsICAtMSwgIC0xLCAgLTEsICAtMSwg
IC0xLAotICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgNjIsICA2MywgIC0xLCAgNjUsICA2NiwgIDY3
LCAgNjgsICA2OSwgIDcwLCAgNzEsICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LAotICAgIDc3LCAg
NzgsICA3OSwgIDgwLCAgODEsICA4MiwgIDgzLCAgODQsICAtMSwgIDg2LCAgODcsICA4OCwgIDg5
LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5NCwgIDk1LAotICAgIDk2LCAgOTcsICA5OCwgIDk5LCAg
MTAwLCAxMDEsIDEwMiwgMTAzLCAtMSwgIDEwNSwgLTEsICAtMSwgIDEwOH07CisgICAgNjQsICAt
MSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAgNzYs
ICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsCisgICAgODMsICA4NCwgIDg1LCAgLTEsICA4
NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgs
ICA5OSwgIDEwMCwgMTAxLAorICAgIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAtMSwgIC0xLCAg
MTA5LCAxMSwgIDEyLCAgMTMsICAxNCwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0x
LAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgMjYsICAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAg
MzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsICAzOSwgIDQwLAorICAgIC0xLCAgLTEs
ICAtMSwgIC0xLCAgLTEsICAtMSwgIDQ3LCAgNDgsICA0OSwgIDUwLCAgNTEsICA1MiwgIC0xLCAg
LTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIDYzLCAgNjQs
ICAtMSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsICA3MSwgIDcyLCAgNzMsICA3NCwgIDc1LCAg
NzYsICA3NywgIDc4LAorICAgIDc5LCAgODAsICA4MSwgIDgyLCAgODMsICA4NCwgIDg1LCAgLTEs
ICA4NywgIDg4LCAgODksICA5MCwgIDkxLCAgOTIsICA5MywgIDk0LCAgOTUsICA5NiwgIDk3LAor
ICAgIDk4LCAgOTksICAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgLTEsICAxMDYsIC0xLCAgMTA4
LCAxMDksIDExLCAgMTIsICAxMywgIDE0LCAgMTE0LCAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAyNiwgIDI3LCAgMjgsICAyOSwgIDMwLCAgMzEs
ICAzMiwgIDMzLCAgMzQsICAzNSwgIDM2LAorICAgIDM3LCAgMzgsICAzOSwgIDQwLCAgLTEsICAt
MSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgNDcsICA0OCwgIDQ5LCAgNTAsICA1MSwgIDUyLCAgLTEs
ICAtMSwgIC0xLAorICAgIC0xLCAgLTEsICAtMSwgIC0xLCAgLTEsICAtMSwgIC0xLCAgNjMsICA2
NCwgIC0xLCAgNjYsICA2NywgIDY4LCAgNjksICA3MCwgIDcxLCAgNzIsICA3MywgIDc0LAorICAg
IDc1LCAgNzYsICA3NywgIDc4LCAgNzksICA4MCwgIDgxLCAgODIsICA4MywgIDg0LCAgODUsICAt
MSwgIDg3LCAgODgsICA4OSwgIDkwLCAgOTEsICA5MiwgIDkzLAorICAgIDk0LCAgOTUsICA5Niwg
IDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAtMSwgIDEwNiwgLTEsICAt
MSwgIDEwOX07CiAKIC8qIFlZU1RPU1tTVEFURS1OVU1dIC0tIFRoZSAoaW50ZXJuYWwgbnVtYmVy
IG9mIHRoZSkgYWNjZXNzaW5nCiAgICBzeW1ib2wgb2Ygc3RhdGUgU1RBVEUtTlVNLiAgKi8KIHN0
YXRpYyBjb25zdCB5eXR5cGVfdWludDggeXlzdG9zW10gPSB7CiAgICAgMCwgICAzLCAgIDQsICAg
NSwgICA2LCAgIDcsICAgOCwgICA5LCAgIDEwLCAgMTEsICAxMiwgIDEzLCAgMTQsICAyNiwgIDI3
LCAgMjgsICAyOSwgIDMwLCAgMzEsCiAgICAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAg
MzgsICAzOSwgIDQwLCAgNDEsICA0MiwgIDQzLCAgNDQsICA0NSwgIDQ2LCAgNDcsICA0OCwgIDQ5
LCAgNTAsCi0gICAgNTEsICA1MiwgIDUzLCAgNTQsICA1NSwgIDU2LCAgNTcsICA1OCwgIDU5LCAg
NjAsICA2MSwgIDYyLCAgNjMsICA2NSwgIDY2LCAgNjcsICA2OCwgIDY5LCAgNzAsCi0gICAgNzEs
ICA3MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAg
ODMsICA4NCwgIDg2LCAgODcsICA4OCwgIDg5LCAgOTAsCi0gICAgOTEsICA5MiwgIDkzLCAgOTQs
ICA5NSwgIDk2LCAgOTcsICA5OCwgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwg
MTA4LCAxOTEsIDE5MiwgMTkzLAotICAgIDE5NCwgMTk1LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIw
MywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMjEwLCAyMTMsIDIxNSwgMjE2LCAyNTEs
IDI1MiwKLSAgICAyNTMsIDIwOSwgMTA3LCAxMDgsIDEzOSwgMTYwLCAxMzUsIDE0NSwgMjU0LCAx
MzYsIDE0MiwgMTk2LCAxOTcsIDE5OCwgMjAzLCAyMDgsIDE0MiwgMTQ1LCAxMDcsCi0gICAgMTYw
LCAxMDcsIDE0NSwgMTkwLCAyMDYsIDIwOCwgMTM3LCAyMTQsIDAsICAgMjUyLCAyMTMsIDIxOCwg
MTM5LCA2MSwgIDEwNywgMjExLCAyMTIsIDEzOSwgMjM0LAotICAgIDE5NywgMTk2LCAxOTgsIDE2
MCwgMTYwLCAxMzUsIDE0NCwgMjE0LCAxMzksIDE0NSwgMjAzLCAyMDgsIDIxOSwgMjIwLCAxMDYs
IDEwNywgMTA5LCAxMTAsIDExMSwKLSAgICAxMTIsIDExMywgMTE2LCAxMTcsIDEzNSwgMTM4LCAx
NDYsIDE0NywgMTQ4LCAxNDksIDE2MSwgMTYyLCAxNjMsIDE2NSwgMTY2LCAxNjcsIDE2OCwgMTY5
LCAxNzAsCi0gICAgMTcxLCAxNzIsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwg
MTgwLCAxODEsIDE4MiwgMTgzLCAxODQsIDE4NSwgMTg5LCAyMTMsIDEzNywgMTQ1LAotICAgIDIx
OSwgMjE3LCAxNDQsIDEzNiwgMTQyLCAxNSwgIDE2LCAgMTcsICAxOSwgIDIwLCAgMjEsICAyMiwg
IDIzLCAgMjQsICAyNSwgIDY0LCAgMTM5LCAxNDAsIDE0NSwKLSAgICAxNzIsIDE4NSwgMTg2LCAx
ODgsIDE5MSwgMTkyLCAyMTMsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjM1LCAyMzYsIDIzNywgMjM5
LCAyNDEsIDI0MywgMjUwLCAyMTQsCi0gICAgMTQ0LCAyMTQsIDE4NiwgMjIzLCAxNDQsIDIwOCwg
MTYwLCAyMjEsIDIyMiwgMTQwLCAyMjAsIDE3MiwgMTcyLCAxODgsIDExNiwgMTE3LCAxMzcsIDE0
MSwgMTM2LAotICAgIDEzNiwgMTQyLCA2MywgIDE4NiwgMTM1LCAxNzIsIDE1MCwgMTUxLCAxNTIs
IDE0NywgMTQ5LCAxMTQsIDExNSwgMTE4LCAxMTksIDE1MywgMTU0LCAxMjAsIDEyMSwKLSAgICAx
NTcsIDE1NiwgMTU1LCAxMjIsIDEyNCwgMTIzLCAxNTgsIDEzOCwgMTM4LCAxODksIDE0MCwgMjE5
LCAxMTAsIDExMSwgMjEyLCAxNDUsIDE0NSwgMjQ1LCAxMzUsCi0gICAgMTM1LCAxNDUsIDE0NSwg
MTg4LCAxMzUsIDE4OSwgMTQzLCAxMzUsIDE0MCwgMjI4LCAxMjUsIDEyNiwgMTI3LCAxMjgsIDEy
OSwgMTMwLCAxMzEsIDEzMiwgMTMzLAotICAgIDEzNCwgMTQ0LCAxODcsIDE0MiwgMTQ1LCAxNDAs
IDIyNSwgMjIzLCAxNDQsIDIyMywgMjIxLCAyMTQsIDE0MiwgMTQ1LCAxMDcsIDE0NSwgMTM2LCAx
NjQsIDE4OCwKLSAgICAxMDcsIDExMywgMTY3LCAxODYsIDE3MiwgMTcyLCAxNzIsIDE3NCwgMTc0
LCAxNzUsIDE3NSwgMTc2LCAxNzYsIDE3NiwgMTc2LCAxNzcsIDE3NywgMTc4LCAxNzksCi0gICAg
MTgwLCAxODEsIDE4MiwgMTgzLCAxODgsIDEzOCwgMTQwLCAyMzEsIDIzMiwgMjMzLCAyNDYsIDE4
OCwgMTQ1LCAxODgsIDE0MywgMjQ0LCAyMzUsIDE4NiwgMTg2LAotICAgIDIyMywgMTQ1LCAyMjIs
IDEzNywgMTQ1LCAxMzgsIDE0MywgNjQsICAyMzQsIDIyNiwgMjI0LCAyMzYsIDI0NywgMTM2LCAx
MzYsIDE4OCwgMjAxLCAyMDMsIDI0MiwKLSAgICAyMjksIDE4OSwgMTg2LCAxMzUsIDI0MiwgMjQ4
LCAyNDksIDIzMSwgMjM4LCAyNDAsIDE2MCwgMTM2LCAxNDAsIDEzOCwgMTg4LCAxNDUsIDEzNiwg
MTgsICAyMjcsCi0gICAgMTQ0LCAyMjYsIDIzMCwgMjM0LCAxNDUsIDEzNiwgMTg4LCAyMzAsIDIz
MSwgMjIzLCAxNDV9OworICAgIDUxLCAgNTIsICA1MywgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgs
ICA1OSwgIDYwLCAgNjEsICA2MiwgIDYzLCAgNjQsICA2NiwgIDY3LCAgNjgsICA2OSwgIDcwLAor
ICAgIDcxLCAgNzIsICA3MywgIDc0LCAgNzUsICA3NiwgIDc3LCAgNzgsICA3OSwgIDgwLCAgODEs
ICA4MiwgIDgzLCAgODQsICA4NSwgIDg3LCAgODgsICA4OSwgIDkwLAorICAgIDkxLCAgOTIsICA5
MywgIDk0LCAgOTUsICA5NiwgIDk3LCAgOTgsICA5OSwgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0
LCAxMDUsIDEwNiwgMTA5LCAxOTIsIDE5MywKKyAgICAxOTQsIDE5NSwgMTk2LCAyMDAsIDIwMSwg
MjAyLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMjExLCAyMTQsIDIx
NiwgMjE3LCAyNTIsCisgICAgMjUzLCAyNTQsIDIxMCwgMTA4LCAxMDksIDE0MCwgMTYxLCAxMzYs
IDE0NiwgMjU1LCAxMzcsIDE0MywgMTk3LCAxOTgsIDE5OSwgMjA0LCAyMDksIDE0MywgMTQ2LAor
ICAgIDEwOCwgMTYxLCAxMDgsIDE0NiwgMTkxLCAyMDcsIDIwOSwgMTM4LCAyMTUsIDAsICAgMjUz
LCAyMTQsIDIxOSwgMTQwLCA2MiwgIDEwOCwgMjEyLCAyMTMsIDE0MCwKKyAgICAyMzUsIDE5OCwg
MTk3LCAxOTksIDE2MSwgMTYxLCAxMzYsIDE0NSwgMjE1LCAxNDAsIDE0NiwgMjA0LCAyMDksIDIy
MCwgMjIxLCAxMDcsIDEwOCwgMTEwLCAxMTEsCisgICAgMTEyLCAxMTMsIDExNCwgMTE3LCAxMTgs
IDEzNiwgMTM5LCAxNDcsIDE0OCwgMTQ5LCAxNTAsIDE2MiwgMTYzLCAxNjQsIDE2NiwgMTY3LCAx
NjgsIDE2OSwgMTcwLAorICAgIDE3MSwgMTcyLCAxNzMsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4
LCAxNzksIDE4MCwgMTgxLCAxODIsIDE4MywgMTg0LCAxODUsIDE4NiwgMTkwLCAyMTQsIDEzOCwK
KyAgICAxNDYsIDIyMCwgMjE4LCAxNDUsIDEzNywgMTQzLCAxNSwgIDE2LCAgMTcsICAxOSwgIDIw
LCAgMjEsICAyMiwgIDIzLCAgMjQsICAyNSwgIDY1LCAgMTQwLCAxNDEsCisgICAgMTQ2LCAxNzMs
IDE4NiwgMTg3LCAxODksIDE5MiwgMTkzLCAyMTQsIDIyNSwgMjI2LCAyMjcsIDIyOCwgMjM2LCAy
MzcsIDIzOCwgMjQwLCAyNDIsIDI0NCwgMjUxLAorICAgIDIxNSwgMTQ1LCAyMTUsIDE4NywgMjI0
LCAxNDUsIDIwOSwgMTYxLCAyMjIsIDIyMywgMTQxLCAyMjEsIDE3MywgMTczLCAxODksIDExNywg
MTE4LCAxMzgsIDE0MiwKKyAgICAxMzcsIDEzNywgMTQzLCA2NCwgIDE4NywgMTM2LCAxNzMsIDE1
MSwgMTUyLCAxNTMsIDE0OCwgMTUwLCAxMTUsIDExNiwgMTE5LCAxMjAsIDE1NCwgMTU1LCAxMjEs
CisgICAgMTIyLCAxNTgsIDE1NywgMTU2LCAxMjMsIDEyNSwgMTI0LCAxNTksIDEzOSwgMTM5LCAx
OTAsIDE0MSwgMjIwLCAxMTEsIDExMiwgMjEzLCAxNDYsIDE0NiwgMjQ2LAorICAgIDEzNiwgMTM2
LCAxNDYsIDE0NiwgMTg5LCAxMzYsIDE5MCwgMTQ0LCAxMzYsIDE0MSwgMjI5LCAxMjYsIDEyNywg
MTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywKKyAgICAxMzQsIDEzNSwgMTQ1LCAxODgsIDE0
MywgMTQ2LCAxNDEsIDIyNiwgMjI0LCAxNDUsIDIyNCwgMjIyLCAyMTUsIDE0MywgMTQ2LCAxMDgs
IDE0NiwgMTM3LCAxNjUsCisgICAgMTg5LCAxMDgsIDExNCwgMTY4LCAxODcsIDE3MywgMTczLCAx
NzMsIDE3NSwgMTc1LCAxNzYsIDE3NiwgMTc3LCAxNzcsIDE3NywgMTc3LCAxNzgsIDE3OCwgMTc5
LAorICAgIDE4MCwgMTgxLCAxODIsIDE4MywgMTg0LCAxODksIDEzOSwgMTQxLCAyMzIsIDIzMywg
MjM0LCAyNDcsIDE4OSwgMTQ2LCAxODksIDE0NCwgMjQ1LCAyMzYsIDE4NywKKyAgICAxODcsIDIy
NCwgMTQ2LCAyMjMsIDEzOCwgMTQ2LCAxMzksIDE0NCwgNjUsICAyMzUsIDIyNywgMjI1LCAyMzcs
IDI0OCwgMTM3LCAxMzcsIDE4OSwgMjAyLCAyMDQsCisgICAgMjQzLCAyMzAsIDE5MCwgMTg3LCAx
MzYsIDI0MywgMjQ5LCAyNTAsIDIzMiwgMjM5LCAyNDEsIDE2MSwgMTM3LCAxNDEsIDEzOSwgMTg5
LCAxNDYsIDEzNywgMTgsCisgICAgMjI4LCAxNDUsIDIyNywgMjMxLCAyMzUsIDE0NiwgMTM3LCAx
ODksIDIzMSwgMjMyLCAyMjQsIDE0Nn07CiAKIC8qIFlZUjFbWVlOXSAtLSBTeW1ib2wgbnVtYmVy
IG9mIHN5bWJvbCB0aGF0IHJ1bGUgWVlOIGRlcml2ZXMuICAqLwogc3RhdGljIGNvbnN0IHl5dHlw
ZV91aW50OCB5eXIxW10gPSB7Ci0gICAgMCwgICAxNTksIDE2MCwgMTYwLCAxNjEsIDE2MiwgMTYy
LCAxNjIsIDE2MiwgMTYyLCAxNjIsIDE2MiwgMTYzLCAxNjMsIDE2MywgMTYzLCAxNjMsIDE2Mywg
MTY0LAotICAgIDE2NSwgMTY2LCAxNjYsIDE2NywgMTY3LCAxNjgsIDE2OCwgMTY5LCAxNjksIDE3
MCwgMTcxLCAxNzEsIDE3MSwgMTcyLCAxNzIsIDE3MiwgMTcyLCAxNzMsIDE3MywKLSAgICAxNzMs
IDE3MywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzUsIDE3NSwgMTc1LCAxNzYsIDE3NiwgMTc2LCAx
NzcsIDE3NywgMTc3LCAxNzcsIDE3NywgMTc4LCAxNzgsCi0gICAgMTc4LCAxNzksIDE3OSwgMTgw
LCAxODAsIDE4MSwgMTgxLCAxODIsIDE4MiwgMTgzLCAxODMsIDE4NCwgMTg0LCAxODUsIDE4NSwg
MTg2LCAxODYsIDE4NywgMTg3LAotICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4
NywgMTg3LCAxODcsIDE4OCwgMTg4LCAxODksIDE5MCwgMTkxLCAxOTEsIDE5MSwgMTkxLCAxOTEs
IDE5MSwKLSAgICAxOTEsIDE5MSwgMTkyLCAxOTMsIDE5MywgMTk0LCAxOTQsIDE5NSwgMTk2LCAx
OTYsIDE5NywgMTk3LCAxOTcsIDE5NywgMTk4LCAxOTksIDE5OSwgMTk5LCAxOTksCi0gICAgMTk5
LCAyMDAsIDIwMCwgMjAwLCAyMDAsIDIwMCwgMjAxLCAyMDEsIDIwMiwgMjAyLCAyMDMsIDIwMywg
MjA0LCAyMDUsIDIwNiwgMjA2LCAyMDYsIDIwNiwgMjA2LAotICAgIDIwNiwgMjA3LCAyMDcsIDIw
NywgMjA3LCAyMDcsIDIwNywgMjA3LCAyMDcsIDIwNywgMjA3LCAyMDcsIDIwNywgMjA3LCAyMDcs
IDIwNywgMjA4LCAyMDksIDIwOSwKLSAgICAyMDksIDIxMCwgMjExLCAyMTEsIDIxMiwgMjEyLCAy
MTIsIDIxMiwgMjEzLCAyMTMsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE1LCAyMTUsIDIxNSwgMjE1
LCAyMTUsCi0gICAgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwg
MjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LAotICAgIDIx
NSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUs
IDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwKLSAgICAyMTUsIDIxNSwgMjE1LCAy
MTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE1
LCAyMTUsIDIxNSwgMjE1LCAyMTUsCi0gICAgMjE1LCAyMTUsIDIxNSwgMjE1LCAyMTUsIDIxNywg
MjE2LCAyMTgsIDIxNiwgMjE5LCAyMTksIDIyMCwgMjIwLCAyMjEsIDIyMSwgMjIyLCAyMjIsIDIy
MywgMjI0LAotICAgIDIyNSwgMjI1LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYs
IDIyNywgMjI4LCAyMjksIDIyNywgMjMwLCAyMzAsIDIzMiwgMjMxLCAyMzMsIDIzMSwKLSAgICAy
MzQsIDIzNCwgMjM1LCAyMzUsIDIzNiwgMjM2LCAyMzcsIDIzOCwgMjM4LCAyNDAsIDIzOSwgMjQx
LCAyNDEsIDI0MiwgMjQyLCAyNDQsIDI0MywgMjQ1LCAyNDMsCi0gICAgMjQ2LCAyNDMsIDI0Nywg
MjQ3LCAyNDgsIDI0OCwgMjQ5LCAyNDksIDI1MCwgMjUwLCAyNTAsIDI1MCwgMjUwLCAyNTEsIDI1
MSwgMjUyLCAyNTIsIDI1NCwgMjUzfTsKKyAgICAwLCAgIDE2MCwgMTYxLCAxNjEsIDE2MiwgMTYz
LCAxNjMsIDE2MywgMTYzLCAxNjMsIDE2MywgMTYzLCAxNjQsIDE2NCwgMTY0LCAxNjQsIDE2NCwg
MTY0LAorICAgIDE2NSwgMTY2LCAxNjcsIDE2NywgMTY4LCAxNjgsIDE2OSwgMTY5LCAxNzAsIDE3
MCwgMTcxLCAxNzIsIDE3MiwgMTcyLCAxNzMsIDE3MywgMTczLCAxNzMsCisgICAgMTc0LCAxNzQs
IDE3NCwgMTc0LCAxNzUsIDE3NSwgMTc1LCAxNzUsIDE3NiwgMTc2LCAxNzYsIDE3NywgMTc3LCAx
NzcsIDE3OCwgMTc4LCAxNzgsIDE3OCwKKyAgICAxNzgsIDE3OSwgMTc5LCAxNzksIDE4MCwgMTgw
LCAxODEsIDE4MSwgMTgyLCAxODIsIDE4MywgMTgzLCAxODQsIDE4NCwgMTg1LCAxODUsIDE4Niwg
MTg2LAorICAgIDE4NywgMTg3LCAxODgsIDE4OCwgMTg4LCAxODgsIDE4OCwgMTg4LCAxODgsIDE4
OCwgMTg4LCAxODgsIDE4OCwgMTg5LCAxODksIDE5MCwgMTkxLCAxOTIsCisgICAgMTkyLCAxOTIs
IDE5MiwgMTkyLCAxOTIsIDE5MiwgMTkyLCAxOTMsIDE5NCwgMTk0LCAxOTUsIDE5NSwgMTk2LCAx
OTcsIDE5NywgMTk4LCAxOTgsIDE5OCwKKyAgICAxOTgsIDE5OSwgMjAwLCAyMDAsIDIwMCwgMjAw
LCAyMDAsIDIwMSwgMjAxLCAyMDEsIDIwMSwgMjAxLCAyMDIsIDIwMiwgMjAzLCAyMDMsIDIwMywg
MjA0LAorICAgIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA3LCAyMDcsIDIwNywgMjA3LCAyMDcsIDIw
OCwgMjA4LCAyMDgsIDIwOCwgMjA4LCAyMDgsIDIwOCwgMjA4LCAyMDgsCisgICAgMjA4LCAyMDgs
IDIwOCwgMjA4LCAyMDgsIDIwOCwgMjA5LCAyMTAsIDIxMCwgMjEwLCAyMTEsIDIxMiwgMjEyLCAy
MTMsIDIxMywgMjEzLCAyMTMsIDIxNCwKKyAgICAyMTQsIDIxNSwgMjE1LCAyMTUsIDIxNSwgMjE2
LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwg
MjE2LAorICAgIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIx
NiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsCisgICAgMjE2LCAyMTYs
IDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAy
MTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwKKyAgICAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2
LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwgMjE2LCAyMTYsIDIxNiwg
MjE2LAorICAgIDIxOCwgMjE3LCAyMTksIDIxNywgMjIwLCAyMjAsIDIyMSwgMjIxLCAyMjIsIDIy
MiwgMjIzLCAyMjMsIDIyNCwgMjI1LCAyMjYsIDIyNiwgMjI3LCAyMjcsCisgICAgMjI3LCAyMjcs
IDIyNywgMjI3LCAyMjcsIDIyOCwgMjI5LCAyMzAsIDIyOCwgMjMxLCAyMzEsIDIzMywgMjMyLCAy
MzQsIDIzMiwgMjM1LCAyMzUsIDIzNiwKKyAgICAyMzYsIDIzNywgMjM3LCAyMzgsIDIzOSwgMjM5
LCAyNDEsIDI0MCwgMjQyLCAyNDIsIDI0MywgMjQzLCAyNDUsIDI0NCwgMjQ2LCAyNDQsIDI0Nywg
MjQ0LAorICAgIDI0OCwgMjQ4LCAyNDksIDI0OSwgMjUwLCAyNTAsIDI1MSwgMjUxLCAyNTEsIDI1
MSwgMjUxLCAyNTIsIDI1MiwgMjUzLCAyNTMsIDI1NSwgMjU0fTsKIAogLyogWVlSMltZWU5dIC0t
IE51bWJlciBvZiBzeW1ib2xzIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgb2YgcnVsZSBZWU4uICAq
Lwogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50OCB5eXIyW10gPSB7CkBAIC0xNDc5LDEyICsxNDg1
LDEyIEBAIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDggeXlyMltdID0gewogICAgIDEsIDEsIDIs
IDIsIDIsIDEsIDEsIDEsIDEsIDEsIDMsIDMsIDMsIDEsIDMsIDMsIDEsIDMsIDMsIDEsIDMsIDMs
IDMsIDMsIDEsIDMsIDMsIDEsIDMsIDEsIDMsCiAgICAgMSwgMywgMSwgMywgMSwgMywgMSwgMywg
MSwgNSwgMSwgMywgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMywgMSwgMiwg
MiwgMiwgNCwgNSwKICAgICA2LCA5LCAyLCAzLCAyLCAxLCAxLCAyLCAzLCAzLCAyLCAzLCAyLCAx
LCAyLCAxLCAxLCAxLCAzLCA0LCA2LCA1LCAxLCAyLCAzLCA1LCA0LCAxLCAyLCAxLCAxLAotICAg
IDEsIDIsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDQsIDEsCi0gICAgMywgMSwgMywgMywgMSwg
MSwgMiwgMiwgMywgMywgNCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwKKyAgICAxLCAxLCAyLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCA0LAorICAgIDEsIDMsIDEsIDMsIDMsIDEsIDEsIDIsIDIsIDMsIDMsIDQsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCiAgICAgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCA2LCAwLCA1LCAxLCAyLCAzLCA0LCAxLCAzLCAx
LCAyLCAxLCAxLCAxLAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDIsIDAsIDAsIDUsIDEs
IDEsIDAsIDIsIDAsIDIsIDIsIDMsIDEsIDIsIDEsIDIsIDUsIDMsIDEsIDAsIDYsIDMsIDIsCi0g
ICAgMSwgNCwgMCwgNiwgMCwgOCwgMCwgNywgMSwgMSwgMSwgMCwgMiwgMywgMiwgMiwgMiwgMywg
MiwgMSwgMiwgMSwgMSwgMCwgM307CisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgNiwgMCwgNSwgMSwgMiwgMywgNCwgMSwgMywgMSwgMiwg
MSwgMSwKKyAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAyLCAwLCAwLCA1LCAxLCAxLCAw
LCAyLCAwLCAyLCAyLCAzLCAxLCAyLCAxLCAyLCA1LCAzLCAxLCAwLCA2LCAzLAorICAgIDIsIDEs
IDQsIDAsIDYsIDAsIDgsIDAsIDcsIDEsIDEsIDEsIDAsIDIsIDMsIDIsIDIsIDIsIDMsIDIsIDEs
IDIsIDEsIDEsIDAsIDN9OwogCiAjZGVmaW5lIHl5ZXJyb2sgKHl5ZXJyc3RhdHVzID0gMCkKICNk
ZWZpbmUgeXljbGVhcmluICh5eWNoYXIgPSBZWUVNUFRZKQpAQCAtMzM5Niw2ICszNDAyLDE5IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGNhc2UgMTI0OgogCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICghY29udGV4dC0+Y2hlY2tDYW5Vc2VFeHRlbnNpb24oKHl5bHNwWzBdKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEV4dGVuc2lvbjo6TlZfc2hh
ZGVyX25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbikpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgY29udGV4dC0+ZXJyb3IoKHl5bHNwWzBdKSwgInVuc3VwcG9ydGVkIGludGVycG9s
YXRpb24gcXVhbGlmaWVyIiwgIm5vcGVyc3BlY3RpdmUiKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICh5eXZhbC5pbnRlcm0ucXVhbGlmaWVyKSA9IEV2cU5vUGVyc3BlY3RpdmU7CisgICAg
ICAgIH0KKworICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIDEyNToKKwogICAgICAgICB7
CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVRdWFsaWZpZXJCdWlsZGVyKSA9IGNvbnRl
eHQtPmNyZWF0ZVR5cGVRdWFsaWZpZXJCdWlsZGVyKCh5eWxzcFswXSkpOwogICAgICAgICAgICAg
KHl5dmFsLmludGVybS50eXBlUXVhbGlmaWVyQnVpbGRlcikKQEAgLTM0MDQsNyArMzQyMyw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTI1OgorICAgICAg
ICBjYXNlIDEyNjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVR
dWFsaWZpZXJCdWlsZGVyKSA9ICh5eXZzcFstMV0uaW50ZXJtLnR5cGVRdWFsaWZpZXJCdWlsZGVy
KTsKQEAgLTM0MTQsNyArMzQzMyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0g
ICAgICAgIGNhc2UgMTI2OgorICAgICAgICBjYXNlIDEyNzoKIAogICAgICAgICB7CiAgICAgICAg
ICAgICAvLyBlbXB0eQpAQCAtMzQyMiw3ICszNDQxLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAxMjc6CisgICAgICAgIGNhc2UgMTI4OgogCiAgICAgICAg
IHsKICAgICAgICAgICAgIC8vIGVtcHR5CkBAIC0zNDMwLDcgKzM0NDksNyBAQCB5eXJlZHVjZToK
IAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDEyODoKKyAgICAgICAgY2FzZSAxMjk6
CiAKICAgICAgICAgewogICAgICAgICAgICAgY29udGV4dC0+Y2hlY2tMb2NhbFZhcmlhYmxlQ29u
c3RTdG9yYWdlUXVhbGlmaWVyKCooeXl2c3BbMF0uaW50ZXJtLnF1YWxpZmllcldyYXBwZXIpKTsK
QEAgLTM0MzksNyArMzQ1OCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAg
ICAgIGNhc2UgMTI5OgorICAgICAgICBjYXNlIDEzMDoKIAogICAgICAgICB7CiAgICAgICAgICAg
ICBjb250ZXh0LT5jaGVja0lzQXRHbG9iYWxMZXZlbCgoeXlsc3BbMF0pLCAibGF5b3V0Iik7CkBA
IC0zNDQ5LDcgKzM0NjgsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDEzMDoKKyAgICAgICAgY2FzZSAxMzE6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS5xdWFsaWZpZXJXcmFwcGVyKSA9CkBAIC0zNDU4LDcgKzM0NzcsNyBAQCB5
eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDEzMToKKyAgICAgICAg
Y2FzZSAxMzI6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5xdWFsaWZp
ZXJXcmFwcGVyKSA9CkBAIC0zNDY3LDcgKzM0ODYsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBi
cmVhazsKIAotICAgICAgICBjYXNlIDEzMjoKKyAgICAgICAgY2FzZSAxMzM6CiAKICAgICAgICAg
ewogICAgICAgICAgICAgY29udGV4dC0+Y2hlY2tJc0F0R2xvYmFsTGV2ZWwoKHl5bHNwWzBdKSwg
ImludmFyaWFudCIpOwpAQCAtMzQ3Niw3ICszNDk1LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAxMzM6CisgICAgICAgIGNhc2UgMTM0OgogCiAgICAgICAg
IHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0ucXVhbGlmaWVyV3JhcHBlcikgPSBuZXcgVFBy
ZWNpc2VRdWFsaWZpZXJXcmFwcGVyKCh5eWxzcFswXSkpOwpAQCAtMzQ4NCw3ICszNTAzLDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxMzQ6CisgICAgICAg
IGNhc2UgMTM1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgIFZFUlRFWF9PTkxZKCJhdHRyaWJ1
dGUiLCAoeXlsc3BbMF0pKTsKQEAgLTM0OTUsNyArMzUxNCw3IEBAIHl5cmVkdWNlOgogCiAgICAg
ICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTM1OgorICAgICAgICBjYXNlIDEzNjoKIAogICAg
ICAgICB7CiAgICAgICAgICAgICBFUzJfT05MWSgidmFyeWluZyIsICh5eWxzcFswXSkpOwpAQCAt
MzUwNCw3ICszNTIzLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
Y2FzZSAxMzY6CisgICAgICAgIGNhc2UgMTM3OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5
eXZhbC5pbnRlcm0ucXVhbGlmaWVyV3JhcHBlcikgPSBuZXcgVFN0b3JhZ2VRdWFsaWZpZXJXcmFw
cGVyKEV2cUNvbnN0LCAoeXlsc3BbMF0pKTsKQEAgLTM1MTIsNyArMzUzMSw3IEBAIHl5cmVkdWNl
OgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTM3OgorICAgICAgICBjYXNlIDEz
ODoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnF1YWxpZmllcldyYXBw
ZXIpID0gY29udGV4dC0+cGFyc2VJblF1YWxpZmllcigoeXlsc3BbMF0pKTsKQEAgLTM1MjAsNyAr
MzUzOSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTM4
OgorICAgICAgICBjYXNlIDEzOToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50
ZXJtLnF1YWxpZmllcldyYXBwZXIpID0gY29udGV4dC0+cGFyc2VPdXRRdWFsaWZpZXIoKHl5bHNw
WzBdKSk7CkBAIC0zNTI4LDcgKzM1NDcsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsK
IAotICAgICAgICBjYXNlIDEzOToKKyAgICAgICAgY2FzZSAxNDA6CiAKICAgICAgICAgewogICAg
ICAgICAgICAgKHl5dmFsLmludGVybS5xdWFsaWZpZXJXcmFwcGVyKSA9IGNvbnRleHQtPnBhcnNl
SW5PdXRRdWFsaWZpZXIoKHl5bHNwWzBdKSk7CkBAIC0zNTM2LDcgKzM1NTUsNyBAQCB5eXJlZHVj
ZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE0MDoKKyAgICAgICAgY2FzZSAx
NDE6CiAKICAgICAgICAgewogICAgICAgICAgICAgRVMzX09SX05FV0VSKCJjZW50cm9pZCIsICh5
eWxzcFswXSksICJzdG9yYWdlIHF1YWxpZmllciIpOwpAQCAtMzU0NSw3ICszNTY0LDcgQEAgeXly
ZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNDE6CisgICAgICAgIGNh
c2UgMTQyOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0ucXVhbGlmaWVy
V3JhcHBlcikgPQpAQCAtMzU1NCw3ICszNTczLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJl
YWs7CiAKLSAgICAgICAgY2FzZSAxNDI6CisgICAgICAgIGNhc2UgMTQzOgogCiAgICAgICAgIHsK
ICAgICAgICAgICAgIEVTM18xX09OTFkoImJ1ZmZlciIsICh5eWxzcFswXSksICJzdG9yYWdlIHF1
YWxpZmllciIpOwpAQCAtMzU2NCw3ICszNTgzLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJl
YWs7CiAKLSAgICAgICAgY2FzZSAxNDM6CisgICAgICAgIGNhc2UgMTQ0OgogCiAgICAgICAgIHsK
ICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0ucXVhbGlmaWVyV3JhcHBlcikgPSBuZXcgVE1lbW9y
eVF1YWxpZmllcldyYXBwZXIoRXZxUmVhZE9ubHksICh5eWxzcFswXSkpOwpAQCAtMzU3Miw3ICsz
NTkxLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNDQ6
CisgICAgICAgIGNhc2UgMTQ1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRl
cm0ucXVhbGlmaWVyV3JhcHBlcikgPSBuZXcgVE1lbW9yeVF1YWxpZmllcldyYXBwZXIoRXZxV3Jp
dGVPbmx5LCAoeXlsc3BbMF0pKTsKQEAgLTM1ODAsNyArMzU5OSw3IEBAIHl5cmVkdWNlOgogCiAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTQ1OgorICAgICAgICBjYXNlIDE0NjoKIAog
ICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnF1YWxpZmllcldyYXBwZXIpID0g
bmV3IFRNZW1vcnlRdWFsaWZpZXJXcmFwcGVyKEV2cUNvaGVyZW50LCAoeXlsc3BbMF0pKTsKQEAg
LTM1ODgsNyArMzYwNyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgMTQ2OgorICAgICAgICBjYXNlIDE0NzoKIAogICAgICAgICB7CiAgICAgICAgICAgICAo
eXl2YWwuaW50ZXJtLnF1YWxpZmllcldyYXBwZXIpID0gbmV3IFRNZW1vcnlRdWFsaWZpZXJXcmFw
cGVyKEV2cVJlc3RyaWN0LCAoeXlsc3BbMF0pKTsKQEAgLTM1OTYsNyArMzYxNSw3IEBAIHl5cmVk
dWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTQ3OgorICAgICAgICBjYXNl
IDE0ODoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnF1YWxpZmllcldy
YXBwZXIpID0gbmV3IFRNZW1vcnlRdWFsaWZpZXJXcmFwcGVyKEV2cVZvbGF0aWxlLCAoeXlsc3Bb
MF0pKTsKQEAgLTM2MDQsNyArMzYyMyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgMTQ4OgorICAgICAgICBjYXNlIDE0OToKIAogICAgICAgICB7CiAgICAg
ICAgICAgICBDT01QVVRFX09OTFkoInNoYXJlZCIsICh5eWxzcFswXSkpOwpAQCAtMzYxNCw3ICsz
NjMzLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNDk6
CisgICAgICAgIGNhc2UgMTUwOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRl
cm0udHlwZSkgPSAoeXl2c3BbMF0uaW50ZXJtLnR5cGUpOwpAQCAtMzYyNCw3ICszNjQzLDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNTA6CisgICAgICAg
IGNhc2UgMTUxOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0ucHJlY2lz
aW9uKSA9IEVicEhpZ2g7CkBAIC0zNjMyLDcgKzM2NTEsNyBAQCB5eXJlZHVjZToKIAogICAgICAg
ICBicmVhazsKIAotICAgICAgICBjYXNlIDE1MToKKyAgICAgICAgY2FzZSAxNTI6CiAKICAgICAg
ICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5wcmVjaXNpb24pID0gRWJwTWVkaXVtOwpA
QCAtMzY0MCw3ICszNjU5LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgY2FzZSAxNTI6CisgICAgICAgIGNhc2UgMTUzOgogCiAgICAgICAgIHsKICAgICAgICAgICAg
ICh5eXZhbC5pbnRlcm0ucHJlY2lzaW9uKSA9IEVicExvdzsKQEAgLTM2NDgsNyArMzY2Nyw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTUzOgorICAgICAg
ICBjYXNlIDE1NDoKIAogICAgICAgICB7CiAgICAgICAgICAgICBFUzNfT1JfTkVXRVIoImxheW91
dCIsICh5eWxzcFstM10pLCAicXVhbGlmaWVyIik7CkBAIC0zNjU3LDcgKzM2NzYsNyBAQCB5eXJl
ZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE1NDoKKyAgICAgICAgY2Fz
ZSAxNTU6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5sYXlvdXRRdWFs
aWZpZXIpID0gKHl5dnNwWzBdLmludGVybS5sYXlvdXRRdWFsaWZpZXIpOwpAQCAtMzY2NSw3ICsz
Njg0LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNTU6
CisgICAgICAgIGNhc2UgMTU2OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRl
cm0ubGF5b3V0UXVhbGlmaWVyKSA9IGNvbnRleHQtPmpvaW5MYXlvdXRRdWFsaWZpZXJzKApAQCAt
MzY3NCw3ICszNjkzLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
Y2FzZSAxNTY6CisgICAgICAgIGNhc2UgMTU3OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5
eXZhbC5pbnRlcm0ubGF5b3V0UXVhbGlmaWVyKSA9CkBAIC0zNjgzLDcgKzM3MDIsNyBAQCB5eXJl
ZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE1NzoKKyAgICAgICAgY2Fz
ZSAxNTg6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5sYXlvdXRRdWFs
aWZpZXIpID0gY29udGV4dC0+cGFyc2VMYXlvdXRRdWFsaWZpZXIoCkBAIC0zNjkyLDcgKzM3MTEs
NyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE1ODoKKyAg
ICAgICAgY2FzZSAxNTk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5s
YXlvdXRRdWFsaWZpZXIpID0gY29udGV4dC0+cGFyc2VMYXlvdXRRdWFsaWZpZXIoCkBAIC0zNzAx
LDcgKzM3MjAsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNl
IDE1OToKKyAgICAgICAgY2FzZSAxNjA6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFs
LmludGVybS5sYXlvdXRRdWFsaWZpZXIpID0KQEAgLTM3MTAsNyArMzcyOSw3IEBAIHl5cmVkdWNl
OgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTYwOgorICAgICAgICBjYXNlIDE2
MToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGUpCkBAIC0zNzIw
LDcgKzM3MzksNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNl
IDE2MToKKyAgICAgICAgY2FzZSAxNjI6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFs
LmludGVybS50eXBlKQpAQCAtMzczMSw3ICszNzUwLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNjI6CisgICAgICAgIGNhc2UgMTYzOgogCiAgICAgICAg
IHsKICAgICAgICAgICAgIEVTM19PUl9ORVdFUigiW10iLCAoeXlsc3BbLTFdKSwgImltcGxpY2l0
bHkgc2l6ZWQgYXJyYXkiKTsKQEAgLTM3NDEsNyArMzc2MCw3IEBAIHl5cmVkdWNlOgogCiAgICAg
ICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTYzOgorICAgICAgICBjYXNlIDE2NDoKIAogICAg
ICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmFycmF5U2l6ZXMpID0gbmV3IFRWZWN0
b3I8dW5zaWduZWQgaW50PigpOwpAQCAtMzc1NSw3ICszNzc0LDcgQEAgeXlyZWR1Y2U6CiAKICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNjQ6CisgICAgICAgIGNhc2UgMTY1OgogCiAg
ICAgICAgIHsKICAgICAgICAgICAgIEVTM18xX09OTFkoIltdIiwgKHl5bHNwWy0xXSksICJhcnJh
eXMgb2YgYXJyYXlzIik7CkBAIC0zNzY1LDcgKzM3ODQsNyBAQCB5eXJlZHVjZToKIAogICAgICAg
ICBicmVhazsKIAotICAgICAgICBjYXNlIDE2NToKKyAgICAgICAgY2FzZSAxNjY6CiAKICAgICAg
ICAgewogICAgICAgICAgICAgRVMzXzFfT05MWSgiW10iLCAoeXlsc3BbLTJdKSwgImFycmF5cyBv
ZiBhcnJheXMiKTsKQEAgLTM3ODAsNyArMzc5OSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIGNhc2UgMTY2OgorICAgICAgICBjYXNlIDE2NzoKIAogICAgICAgICB7
CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlh
bGl6ZShFYnRWb2lkLCAoeXlsc3BbMF0pKTsKQEAgLTM3ODgsNyArMzgwNyw3IEBAIHl5cmVkdWNl
OgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTY3OgorICAgICAgICBjYXNlIDE2
ODoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJO
b25BcnJheSkuaW5pdGlhbGl6ZShFYnRGbG9hdCwgKHl5bHNwWzBdKSk7CkBAIC0zNzk2LDcgKzM4
MTUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE2ODoK
KyAgICAgICAgY2FzZSAxNjk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVy
bS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SW50LCAoeXlsc3BbMF0pKTsK
QEAgLTM4MDQsNyArMzgyMyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAg
ICAgIGNhc2UgMTY5OgorICAgICAgICBjYXNlIDE3MDoKIAogICAgICAgICB7CiAgICAgICAgICAg
ICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRVSW50
LCAoeXlsc3BbMF0pKTsKQEAgLTM4MTIsNyArMzgzMSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAg
IGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTcwOgorICAgICAgICBjYXNlIDE3MToKIAogICAgICAg
ICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5p
dGlhbGl6ZShFYnRCb29sLCAoeXlsc3BbMF0pKTsKQEAgLTM4MjAsNyArMzgzOSw3IEBAIHl5cmVk
dWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTcxOgorICAgICAgICBjYXNl
IDE3MjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZp
ZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRGbG9hdCwgKHl5bHNwWzBdKSk7CkBAIC0zODI5LDcg
KzM4NDgsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE3
MjoKKyAgICAgICAgY2FzZSAxNzM6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmlu
dGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0RmxvYXQsICh5eWxzcFsw
XSkpOwpAQCAtMzgzOCw3ICszODU3LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAK
LSAgICAgICAgY2FzZSAxNzM6CisgICAgICAgIGNhc2UgMTc0OgogCiAgICAgICAgIHsKICAgICAg
ICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVi
dEZsb2F0LCAoeXlsc3BbMF0pKTsKQEAgLTM4NDcsNyArMzg2Niw3IEBAIHl5cmVkdWNlOgogCiAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTc0OgorICAgICAgICBjYXNlIDE3NToKIAog
ICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJh
eSkuaW5pdGlhbGl6ZShFYnRCb29sLCAoeXlsc3BbMF0pKTsKQEAgLTM4NTYsNyArMzg3NSw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTc1OgorICAgICAg
ICBjYXNlIDE3NjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVT
cGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRCb29sLCAoeXlsc3BbMF0pKTsKQEAgLTM4
NjUsNyArMzg4NCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNh
c2UgMTc2OgorICAgICAgICBjYXNlIDE3NzoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2
YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRCb29sLCAoeXls
c3BbMF0pKTsKQEAgLTM4NzQsNyArMzg5Myw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIGNhc2UgMTc3OgorICAgICAgICBjYXNlIDE3ODoKIAogICAgICAgICB7CiAg
ICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6
ZShFYnRJbnQsICh5eWxzcFswXSkpOwpAQCAtMzg4Myw3ICszOTAyLDcgQEAgeXlyZWR1Y2U6CiAK
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxNzg6CisgICAgICAgIGNhc2UgMTc5Ogog
CiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFy
cmF5KS5pbml0aWFsaXplKEVidEludCwgKHl5bHNwWzBdKSk7CkBAIC0zODkyLDcgKzM5MTEsNyBA
QCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE3OToKKyAgICAg
ICAgY2FzZSAxODA6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBl
U3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SW50LCAoeXlsc3BbMF0pKTsKQEAgLTM5
MDEsNyArMzkyMCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNh
c2UgMTgwOgorICAgICAgICBjYXNlIDE4MToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2
YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRVSW50LCAoeXls
c3BbMF0pKTsKQEAgLTM5MTAsNyArMzkyOSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIGNhc2UgMTgxOgorICAgICAgICBjYXNlIDE4MjoKIAogICAgICAgICB7CiAg
ICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6
ZShFYnRVSW50LCAoeXlsc3BbMF0pKTsKQEAgLTM5MTksNyArMzkzOCw3IEBAIHl5cmVkdWNlOgog
CiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTgyOgorICAgICAgICBjYXNlIDE4MzoK
IAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25B
cnJheSkuaW5pdGlhbGl6ZShFYnRVSW50LCAoeXlsc3BbMF0pKTsKQEAgLTM5MjgsNyArMzk0Nyw3
IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTgzOgorICAg
ICAgICBjYXNlIDE4NDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5
cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRGbG9hdCwgKHl5bHNwWzBdKSk7CkBA
IC0zOTM3LDcgKzM5NTYsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDE4NDoKKyAgICAgICAgY2FzZSAxODU6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0RmxvYXQs
ICh5eWxzcFswXSkpOwpAQCAtMzk0Niw3ICszOTY1LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAxODU6CisgICAgICAgIGNhc2UgMTg2OgogCiAgICAgICAg
IHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0
aWFsaXplKEVidEZsb2F0LCAoeXlsc3BbMF0pKTsKQEAgLTM5NTUsNyArMzk3NCw3IEBAIHl5cmVk
dWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTg2OgorICAgICAgICBjYXNl
IDE4NzoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZp
ZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRGbG9hdCwgKHl5bHNwWzBdKSk7CkBAIC0zOTY0LDcg
KzM5ODMsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE4
NzoKKyAgICAgICAgY2FzZSAxODg6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmlu
dGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0RmxvYXQsICh5eWxzcFsw
XSkpOwpAQCAtMzk3Myw3ICszOTkyLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAK
LSAgICAgICAgY2FzZSAxODg6CisgICAgICAgIGNhc2UgMTg5OgogCiAgICAgICAgIHsKICAgICAg
ICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVi
dEZsb2F0LCAoeXlsc3BbMF0pKTsKQEAgLTM5ODIsNyArNDAwMSw3IEBAIHl5cmVkdWNlOgogCiAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTg5OgorICAgICAgICBjYXNlIDE5MDoKIAog
ICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJh
eSkuaW5pdGlhbGl6ZShFYnRGbG9hdCwgKHl5bHNwWzBdKSk7CkBAIC0zOTkxLDcgKzQwMTAsNyBA
QCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE5MDoKKyAgICAg
ICAgY2FzZSAxOTE6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBl
U3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0RmxvYXQsICh5eWxzcFswXSkpOwpAQCAt
NDAwMCw3ICs0MDE5LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
Y2FzZSAxOTE6CisgICAgICAgIGNhc2UgMTkyOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5
eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidEZsb2F0LCAo
eXlsc3BbMF0pKTsKQEAgLTQwMDksNyArNDAyOCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIGNhc2UgMTkyOgorICAgICAgICBjYXNlIDE5MzoKIAogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoIWNvbnRleHQtPmNoZWNrQ2FuVXNlRXh0ZW5zaW9uKCh5eWxzcFsw
XSksIFRFeHRlbnNpb246OkVYVF9ZVVZfdGFyZ2V0KSkKQEAgLTQwMjEsNyArNDA0MCw3IEBAIHl5
cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMTkzOgorICAgICAgICBj
YXNlIDE5NDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVj
aWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRTYW1wbGVyMkQsICh5eWxzcFswXSkpOwpAQCAt
NDAyOSw3ICs0MDQ4LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
Y2FzZSAxOTQ6CisgICAgICAgIGNhc2UgMTk1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5
eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidFNhbXBsZXIz
RCwgKHl5bHNwWzBdKSk7CkBAIC00MDM3LDcgKzQwNTYsNyBAQCB5eXJlZHVjZToKIAogICAgICAg
ICBicmVhazsKIAotICAgICAgICBjYXNlIDE5NToKKyAgICAgICAgY2FzZSAxOTY6CiAKICAgICAg
ICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmlu
aXRpYWxpemUoRWJ0U2FtcGxlckN1YmUsICh5eWxzcFswXSkpOwpAQCAtNDA0NSw3ICs0MDY0LDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAxOTY6CisgICAg
ICAgIGNhc2UgMTk3OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlw
ZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidFNhbXBsZXIyREFycmF5LCAoeXlsc3Bb
MF0pKTsKQEAgLTQwNTMsNyArNDA3Miw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgMTk3OgorICAgICAgICBjYXNlIDE5ODoKIAogICAgICAgICB7CiAgICAg
ICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShF
YnRTYW1wbGVyMkRNUywgKHl5bHNwWzBdKSk7CkBAIC00MDYxLDcgKzQwODAsNyBAQCB5eXJlZHVj
ZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDE5ODoKKyAgICAgICAgY2FzZSAx
OTk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVy
Tm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0U2FtcGxlcjJETVNBcnJheSwgKHl5bHNwWzBdKSk7CkBA
IC00MDY5LDcgKzQwODgsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDE5OToKKyAgICAgICAgY2FzZSAyMDA6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SVNhbXBs
ZXIyRCwgKHl5bHNwWzBdKSk7CkBAIC00MDc3LDcgKzQwOTYsNyBAQCB5eXJlZHVjZToKIAogICAg
ICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIwMDoKKyAgICAgICAgY2FzZSAyMDE6CiAKICAg
ICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkp
LmluaXRpYWxpemUoRWJ0SVNhbXBsZXIzRCwgKHl5bHNwWzBdKSk7CkBAIC00MDg1LDcgKzQxMDQs
NyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIwMToKKyAg
ICAgICAgY2FzZSAyMDI6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50
eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SVNhbXBsZXJDdWJlLCAoeXlsc3Bb
MF0pKTsKQEAgLTQwOTMsNyArNDExMiw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgMjAyOgorICAgICAgICBjYXNlIDIwMzoKIAogICAgICAgICB7CiAgICAg
ICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShF
YnRJU2FtcGxlcjJEQXJyYXksICh5eWxzcFswXSkpOwpAQCAtNDEwMSw3ICs0MTIwLDcgQEAgeXly
ZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMDM6CisgICAgICAgIGNh
c2UgMjA0OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNp
Zmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidElTYW1wbGVyMkRNUywgKHl5bHNwWzBdKSk7CkBA
IC00MTA5LDcgKzQxMjgsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDIwNDoKKyAgICAgICAgY2FzZSAyMDU6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SVNhbXBs
ZXIyRE1TQXJyYXksICh5eWxzcFswXSkpOwpAQCAtNDExNyw3ICs0MTM2LDcgQEAgeXlyZWR1Y2U6
CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMDU6CisgICAgICAgIGNhc2UgMjA2
OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5v
bkFycmF5KS5pbml0aWFsaXplKEVidFVTYW1wbGVyMkQsICh5eWxzcFswXSkpOwpAQCAtNDEyNSw3
ICs0MTQ0LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAy
MDY6CisgICAgICAgIGNhc2UgMjA3OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5p
bnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidFVTYW1wbGVyM0QsICh5
eWxzcFswXSkpOwpAQCAtNDEzMyw3ICs0MTUyLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJl
YWs7CiAKLSAgICAgICAgY2FzZSAyMDc6CisgICAgICAgIGNhc2UgMjA4OgogCiAgICAgICAgIHsK
ICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5pbml0aWFs
aXplKEVidFVTYW1wbGVyQ3ViZSwgKHl5bHNwWzBdKSk7CkBAIC00MTQxLDcgKzQxNjAsNyBAQCB5
eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIwODoKKyAgICAgICAg
Y2FzZSAyMDk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3Bl
Y2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0VVNhbXBsZXIyREFycmF5LCAoeXlsc3BbMF0p
KTsKQEAgLTQxNDksNyArNDE2OCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0g
ICAgICAgIGNhc2UgMjA5OgorICAgICAgICBjYXNlIDIxMDoKIAogICAgICAgICB7CiAgICAgICAg
ICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRV
U2FtcGxlcjJETVMsICh5eWxzcFswXSkpOwpAQCAtNDE1Nyw3ICs0MTc2LDcgQEAgeXlyZWR1Y2U6
CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMTA6CisgICAgICAgIGNhc2UgMjEx
OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5v
bkFycmF5KS5pbml0aWFsaXplKEVidFVTYW1wbGVyMkRNU0FycmF5LCAoeXlsc3BbMF0pKTsKQEAg
LTQxNjUsNyArNDE4NCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgMjExOgorICAgICAgICBjYXNlIDIxMjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAo
eXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRTYW1wbGVy
MkRTaGFkb3csICh5eWxzcFswXSkpOwpAQCAtNDE3Myw3ICs0MTkyLDcgQEAgeXlyZWR1Y2U6CiAK
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMTI6CisgICAgICAgIGNhc2UgMjEzOgog
CiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFy
cmF5KS5pbml0aWFsaXplKEVidFNhbXBsZXJDdWJlU2hhZG93LCAoeXlsc3BbMF0pKTsKQEAgLTQx
ODEsNyArNDIwMCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNh
c2UgMjEzOgorICAgICAgICBjYXNlIDIxNDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2
YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRTYW1wbGVyMkRB
cnJheVNoYWRvdywgKHl5bHNwWzBdKSk7CkBAIC00MTg5LDcgKzQyMDgsNyBAQCB5eXJlZHVjZToK
IAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIxNDoKKyAgICAgICAgY2FzZSAyMTU6
CiAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFjb250ZXh0LT5jaGVja0NhblVzZUV4dGVu
c2lvbigoeXlsc3BbMF0pLCBURXh0ZW5zaW9uOjpXRUJHTF92aWRlb190ZXh0dXJlKSkKQEAgLTQy
MDEsNyArNDIyMCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNh
c2UgMjE1OgorICAgICAgICBjYXNlIDIxNjoKIAogICAgICAgICB7CiAgICAgICAgICAgICBjb25z
dGV4cHIgc3RkOjphcnJheTxURXh0ZW5zaW9uLCAzdT4gZXh0ZW5zaW9uc3sKQEAgLTQyMTYsNyAr
NDIzNSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjE2
OgorICAgICAgICBjYXNlIDIxNzoKIAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIWNvbnRl
eHQtPmNoZWNrQ2FuVXNlRXh0ZW5zaW9uKCh5eWxzcFswXSksIFRFeHRlbnNpb246OkVYVF9ZVVZf
dGFyZ2V0KSkKQEAgLTQyMjgsNyArNDI0Nyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIGNhc2UgMjE3OgorICAgICAgICBjYXNlIDIxODoKIAogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAoIWNvbnRleHQtPmNoZWNrQ2FuVXNlRXh0ZW5zaW9uKCh5eWxzcFswXSks
IFRFeHRlbnNpb246OkFSQl90ZXh0dXJlX3JlY3RhbmdsZSkpCkBAIC00MjQwLDcgKzQyNTksNyBA
QCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIxODoKKyAgICAg
ICAgY2FzZSAyMTk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBl
U3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SW1hZ2UyRCwgKHl5bHNwWzBdKSk7CkBA
IC00MjQ4LDcgKzQyNjcsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDIxOToKKyAgICAgICAgY2FzZSAyMjA6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SUltYWdl
MkQsICh5eWxzcFswXSkpOwpAQCAtNDI1Niw3ICs0Mjc1LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAg
ICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMjA6CisgICAgICAgIGNhc2UgMjIxOgogCiAgICAg
ICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNwZWNpZmllck5vbkFycmF5KS5p
bml0aWFsaXplKEVidFVJbWFnZTJELCAoeXlsc3BbMF0pKTsKQEAgLTQyNjQsNyArNDI4Myw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjIxOgorICAgICAg
ICBjYXNlIDIyMjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVT
cGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRJbWFnZTNELCAoeXlsc3BbMF0pKTsKQEAg
LTQyNzIsNyArNDI5MSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgMjIyOgorICAgICAgICBjYXNlIDIyMzoKIAogICAgICAgICB7CiAgICAgICAgICAgICAo
eXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRJSW1hZ2Uz
RCwgKHl5bHNwWzBdKSk7CkBAIC00MjgwLDcgKzQyOTksNyBAQCB5eXJlZHVjZToKIAogICAgICAg
ICBicmVhazsKIAotICAgICAgICBjYXNlIDIyMzoKKyAgICAgICAgY2FzZSAyMjQ6CiAKICAgICAg
ICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmlu
aXRpYWxpemUoRWJ0VUltYWdlM0QsICh5eWxzcFswXSkpOwpAQCAtNDI4OCw3ICs0MzA3LDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMjQ6CisgICAgICAg
IGNhc2UgMjI1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0udHlwZVNw
ZWNpZmllck5vbkFycmF5KS5pbml0aWFsaXplKEVidEltYWdlMkRBcnJheSwgKHl5bHNwWzBdKSk7
CkBAIC00Mjk2LDcgKzQzMTUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAg
ICAgICBjYXNlIDIyNToKKyAgICAgICAgY2FzZSAyMjY6CiAKICAgICAgICAgewogICAgICAgICAg
ICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SUlt
YWdlMkRBcnJheSwgKHl5bHNwWzBdKSk7CkBAIC00MzA0LDcgKzQzMjMsNyBAQCB5eXJlZHVjZToK
IAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIyNjoKKyAgICAgICAgY2FzZSAyMjc6
CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9u
QXJyYXkpLmluaXRpYWxpemUoRWJ0VUltYWdlMkRBcnJheSwgKHl5bHNwWzBdKSk7CkBAIC00MzEy
LDcgKzQzMzEsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNl
IDIyNzoKKyAgICAgICAgY2FzZSAyMjg6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFs
LmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpLmluaXRpYWxpemUoRWJ0SW1hZ2VDdWJlLCAo
eXlsc3BbMF0pKTsKQEAgLTQzMjAsNyArNDMzOSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIGNhc2UgMjI4OgorICAgICAgICBjYXNlIDIyOToKIAogICAgICAgICB7
CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlh
bGl6ZShFYnRJSW1hZ2VDdWJlLCAoeXlsc3BbMF0pKTsKQEAgLTQzMjgsNyArNDM0Nyw3IEBAIHl5
cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjI5OgorICAgICAgICBj
YXNlIDIzMDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVj
aWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRVSW1hZ2VDdWJlLCAoeXlsc3BbMF0pKTsKQEAg
LTQzMzYsNyArNDM1NSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgMjMwOgorICAgICAgICBjYXNlIDIzMToKIAogICAgICAgICB7CiAgICAgICAgICAgICAo
eXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSkuaW5pdGlhbGl6ZShFYnRBdG9taWND
b3VudGVyLCAoeXlsc3BbMF0pKTsKQEAgLTQzNDQsNyArNDM2Myw3IEBAIHl5cmVkdWNlOgogCiAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjMxOgorICAgICAgICBjYXNlIDIzMjoKIAog
ICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJh
eSkgPSAoeXl2c3BbMF0uaW50ZXJtLnR5cGVTcGVjaWZpZXJOb25BcnJheSk7CkBAIC00MzUyLDcg
KzQzNzEsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIz
MjoKKyAgICAgICAgY2FzZSAyMzM6CiAKICAgICAgICAgewogICAgICAgICAgICAgLy8gVGhpcyBp
cyBmb3IgdXNlciBkZWZpbmVkIHR5cGUgbmFtZXMuIFRoZSBsZXhpY2FsIHBoYXNlIGxvb2tlZCB1
cCB0aGUgdHlwZS4KQEAgLTQzNjIsNyArNDM4MSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIGNhc2UgMjMzOgorICAgICAgICBjYXNlIDIzNDoKIAogICAgICAgICB7
CiAgICAgICAgICAgICBjb250ZXh0LT5lbnRlclN0cnVjdERlY2xhcmF0aW9uKCh5eWxzcFstMV0p
LCBJbW11dGFibGVTdHJpbmcoKHl5dnNwWy0xXS5sZXgpLnN0cmluZykpOwpAQCAtNDM3MCw3ICs0
Mzg5LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMzQ6
CisgICAgICAgIGNhc2UgMjM1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRl
cm0udHlwZVNwZWNpZmllck5vbkFycmF5KSA9IGNvbnRleHQtPmFkZFN0cnVjdHVyZSgKQEAgLTQz
ODAsNyArNDM5OSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNh
c2UgMjM1OgorICAgICAgICBjYXNlIDIzNjoKIAogICAgICAgICB7CiAgICAgICAgICAgICBjb250
ZXh0LT5lbnRlclN0cnVjdERlY2xhcmF0aW9uKCh5eWxzcFswXSksIGtFbXB0eUltbXV0YWJsZVN0
cmluZyk7CkBAIC00Mzg4LDcgKzQ0MDcsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsK
IAotICAgICAgICBjYXNlIDIzNjoKKyAgICAgICAgY2FzZSAyMzc6CiAKICAgICAgICAgewogICAg
ICAgICAgICAgKHl5dmFsLmludGVybS50eXBlU3BlY2lmaWVyTm9uQXJyYXkpID0gY29udGV4dC0+
YWRkU3RydWN0dXJlKApAQCAtNDM5Nyw3ICs0NDE2LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAyMzc6CisgICAgICAgIGNhc2UgMjM4OgogCiAgICAgICAg
IHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uZmllbGRMaXN0KSA9CkBAIC00NDA2LDcgKzQ0
MjUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDIzODoK
KyAgICAgICAgY2FzZSAyMzk6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVy
bS5maWVsZExpc3QpID0gY29udGV4dC0+Y29tYmluZVN0cnVjdEZpZWxkTGlzdHMoCkBAIC00NDE1
LDcgKzQ0MzQsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNl
IDIzOToKKyAgICAgICAgY2FzZSAyNDA6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFs
LmludGVybS5maWVsZExpc3QpID0gY29udGV4dC0+YWRkU3RydWN0RGVjbGFyYXRvckxpc3QoCkBA
IC00NDI0LDcgKzQ0NDMsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDI0MDoKKyAgICAgICAgY2FzZSAyNDE6CiAKICAgICAgICAgewogICAgICAgICAgICAg
Ly8gRVMzIE9ubHksIGJ1dCBlcnJvcnMgc2hvdWxkIGJlIGhhbmRsZWQgZWxzZXdoZXJlCkBAIC00
NDM1LDcgKzQ0NTQsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBj
YXNlIDI0MToKKyAgICAgICAgY2FzZSAyNDI6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5
dmFsLmludGVybS5kZWNsYXJhdG9yTGlzdCkgPSBuZXcgVERlY2xhcmF0b3JMaXN0KCk7CkBAIC00
NDQ0LDcgKzQ0NjMsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBj
YXNlIDI0MjoKKyAgICAgICAgY2FzZSAyNDM6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5
dmFsLmludGVybS5kZWNsYXJhdG9yTGlzdCktPnB1c2hfYmFjaygoeXl2c3BbMF0uaW50ZXJtLmRl
Y2xhcmF0b3IpKTsKQEAgLTQ0NTIsNyArNDQ3MSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIGNhc2UgMjQzOgorICAgICAgICBjYXNlIDI0NDoKIAogICAgICAgICB7
CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmRlY2xhcmF0b3IpID0KQEAgLTQ0NjEsNyArNDQ4
MCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjQ0Ogor
ICAgICAgICBjYXNlIDI0NToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJt
LmRlY2xhcmF0b3IpID0gY29udGV4dC0+cGFyc2VTdHJ1Y3RBcnJheURlY2xhcmF0b3IoCkBAIC00
NDcwLDcgKzQ0ODksNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBj
YXNlIDI0NToKKyAgICAgICAgY2FzZSAyNDY6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5
dmFsLmludGVybS5pbnRlcm1UeXBlZE5vZGUpID0gKHl5dnNwWzBdLmludGVybS5pbnRlcm1UeXBl
ZE5vZGUpOwpAQCAtNDQ3OCw3ICs0NDk3LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7
CiAKLSAgICAgICAgY2FzZSAyNDY6CisgICAgICAgIGNhc2UgMjQ3OgogCiAgICAgICAgIHsKICAg
ICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmlu
dGVybU5vZGUpOwpAQCAtNDQ4Niw3ICs0NTA1LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJl
YWs7CiAKLSAgICAgICAgY2FzZSAyNDc6CisgICAgICAgIGNhc2UgMjQ4OgogCiAgICAgICAgIHsK
ICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJt
LmludGVybUJsb2NrKTsKQEAgLTQ0OTQsNyArNDUxMyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAg
IGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjQ4OgorICAgICAgICBjYXNlIDI0OToKIAogICAgICAg
ICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gKHl5dnNwWzBdLmlu
dGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ1MDIsNyArNDUyMSw3IEBAIHl5cmVkdWNlOgogCiAgICAg
ICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjQ5OgorICAgICAgICBjYXNlIDI1MDoKIAogICAg
ICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gKHl5dnNwWzBd
LmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ1MTAsNyArNDUyOSw3IEBAIHl5cmVkdWNlOgogCiAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjUwOgorICAgICAgICBjYXNlIDI1MToKIAog
ICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gKHl5dnNw
WzBdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ1MTgsNyArNDUzNyw3IEBAIHl5cmVkdWNlOgog
CiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjUxOgorICAgICAgICBjYXNlIDI1MjoK
IAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gKHl5
dnNwWzBdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ1MjYsNyArNDU0NSw3IEBAIHl5cmVkdWNl
OgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjUyOgorICAgICAgICBjYXNlIDI1
MzoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0g
KHl5dnNwWzBdLmludGVybS5pbnRlcm1Td2l0Y2gpOwpAQCAtNDUzNCw3ICs0NTUzLDcgQEAgeXly
ZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNTM6CisgICAgICAgIGNh
c2UgMjU0OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9k
ZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybUNhc2UpOwpAQCAtNDU0Miw3ICs0NTYxLDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNTQ6CisgICAgICAg
IGNhc2UgMjU1OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJt
Tm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDU1MCw3ICs0NTY5LDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNTU6CisgICAg
ICAgIGNhc2UgMjU2OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50
ZXJtTm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDU1OCw3ICs0NTc3
LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNTY6Cisg
ICAgICAgIGNhc2UgMjU3OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0u
aW50ZXJtQmxvY2spID0gbmV3IFRJbnRlcm1CbG9jaygpOwpAQCAtNDU2Nyw3ICs0NTg2LDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNTc6CisgICAgICAg
IGNhc2UgMjU4OgogCiAgICAgICAgIHsKICAgICAgICAgICAgIGNvbnRleHQtPnN5bWJvbFRhYmxl
LnB1c2goKTsKQEAgLTQ1NzUsNyArNDU5NCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIGNhc2UgMjU4OgorICAgICAgICBjYXNlIDI1OToKIAogICAgICAgICB7CiAg
ICAgICAgICAgICBjb250ZXh0LT5zeW1ib2xUYWJsZS5wb3AoKTsKQEAgLTQ1ODMsNyArNDYwMiw3
IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjU5OgorICAg
ICAgICBjYXNlIDI2MDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2c3BbLTJdLmludGVy
bS5pbnRlcm1CbG9jayktPnNldExpbmUoKHl5bG9jKSk7CkBAIC00NTkyLDcgKzQ2MTEsNyBAQCB5
eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI2MDoKKyAgICAgICAg
Y2FzZSAyNjE6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5pbnRlcm1O
b2RlKSA9ICh5eXZzcFswXS5pbnRlcm0uaW50ZXJtQmxvY2spOwpAQCAtNDYwMCw3ICs0NjE5LDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNjE6CisgICAg
ICAgIGNhc2UgMjYyOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50
ZXJtTm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDYwOCw3ICs0NjI3
LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNjI6Cisg
ICAgICAgIGNhc2UgMjYzOgogCiAgICAgICAgIHsKICAgICAgICAgICAgIGNvbnRleHQtPnN5bWJv
bFRhYmxlLnB1c2goKTsKQEAgLTQ2MTYsNyArNDYzNSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAg
IGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjYzOgorICAgICAgICBjYXNlIDI2NDoKIAogICAgICAg
ICB7CiAgICAgICAgICAgICBjb250ZXh0LT5zeW1ib2xUYWJsZS5wb3AoKTsKQEAgLTQ2MjUsNyAr
NDY0NCw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjY0
OgorICAgICAgICBjYXNlIDI2NToKIAogICAgICAgICB7CiAgICAgICAgICAgICBjb250ZXh0LT5z
eW1ib2xUYWJsZS5wdXNoKCk7CkBAIC00NjMzLDcgKzQ2NTIsNyBAQCB5eXJlZHVjZToKIAogICAg
ICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI2NToKKyAgICAgICAgY2FzZSAyNjY6CiAKICAg
ICAgICAgewogICAgICAgICAgICAgY29udGV4dC0+c3ltYm9sVGFibGUucG9wKCk7CkBAIC00NjQy
LDcgKzQ2NjEsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNl
IDI2NjoKKyAgICAgICAgY2FzZSAyNjc6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFs
LmludGVybS5pbnRlcm1CbG9jaykgPSBuZXcgVEludGVybUJsb2NrKCk7CkBAIC00NjUxLDcgKzQ2
NzAsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI2NzoK
KyAgICAgICAgY2FzZSAyNjg6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dnNwWy0xXS5p
bnRlcm0uaW50ZXJtQmxvY2spLT5zZXRMaW5lKCh5eWxvYykpOwpAQCAtNDY2MCw3ICs0Njc5LDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNjg6CisgICAg
ICAgIGNhc2UgMjY5OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50
ZXJtQmxvY2spID0gbmV3IFRJbnRlcm1CbG9jaygpOwpAQCAtNDY2OSw3ICs0Njg4LDcgQEAgeXly
ZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNjk6CisgICAgICAgIGNh
c2UgMjcwOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtQmxv
Y2spID0gKHl5dnNwWy0xXS5pbnRlcm0uaW50ZXJtQmxvY2spOwpAQCAtNDY3OCw3ICs0Njk3LDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNzA6CisgICAg
ICAgIGNhc2UgMjcxOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50
ZXJtTm9kZSkgPSBjb250ZXh0LT5hZGRFbXB0eVN0YXRlbWVudCgoeXlsb2MpKTsKQEAgLTQ2ODYs
NyArNDcwNSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2Ug
MjcxOgorICAgICAgICBjYXNlIDI3MjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwu
aW50ZXJtLmludGVybU5vZGUpID0gKHl5dnNwWy0xXS5pbnRlcm0uaW50ZXJtVHlwZWROb2RlKTsK
QEAgLTQ2OTQsNyArNDcxMyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAg
ICAgIGNhc2UgMjcyOgorICAgICAgICBjYXNlIDI3MzoKIAogICAgICAgICB7CiAgICAgICAgICAg
ICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gY29udGV4dC0+YWRkSWZFbHNlKCh5eXZzcFst
Ml0uaW50ZXJtLmludGVybVR5cGVkTm9kZSksCkBAIC00NzAzLDcgKzQ3MjIsNyBAQCB5eXJlZHVj
ZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI3MzoKKyAgICAgICAgY2FzZSAy
NzQ6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5ub2RlUGFpcikubm9k
ZTEgPSAoeXl2c3BbLTJdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ3MTIsNyArNDczMSw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjc0OgorICAgICAg
ICBjYXNlIDI3NToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLm5vZGVQ
YWlyKS5ub2RlMSA9ICh5eXZzcFswXS5pbnRlcm0uaW50ZXJtTm9kZSk7CkBAIC00NzIxLDcgKzQ3
NDAsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI3NToK
KyAgICAgICAgY2FzZSAyNzY6CiAKICAgICAgICAgewogICAgICAgICAgICAgY29udGV4dC0+aW5j
clN3aXRjaE5lc3RpbmdMZXZlbCgpOwpAQCAtNDcyOSw3ICs0NzQ4LDcgQEAgeXlyZWR1Y2U6CiAK
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyNzY6CisgICAgICAgIGNhc2UgMjc3Ogog
CiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtU3dpdGNoKSA9IGNv
bnRleHQtPmFkZFN3aXRjaCgKQEAgLTQ3MzksNyArNDc1OCw3IEBAIHl5cmVkdWNlOgogCiAgICAg
ICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjc3OgorICAgICAgICBjYXNlIDI3ODoKIAogICAg
ICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybUNhc2UpID0KQEAgLTQ3NDgs
NyArNDc2Nyw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2Ug
Mjc4OgorICAgICAgICBjYXNlIDI3OToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwu
aW50ZXJtLmludGVybUNhc2UpID0gY29udGV4dC0+YWRkRGVmYXVsdCgoeXlsc3BbLTFdKSk7CkBA
IC00NzU2LDcgKzQ3NzUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDI3OToKKyAgICAgICAgY2FzZSAyODA6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS5pbnRlcm1Ob2RlKSA9ICh5eXZzcFswXS5pbnRlcm0uaW50ZXJtVHlwZWRO
b2RlKTsKQEAgLTQ3NjYsNyArNDc4NSw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgMjgwOgorICAgICAgICBjYXNlIDI4MToKIAogICAgICAgICB7CiAgICAg
ICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0gY29udGV4dC0+YWRkQ29uZGl0aW9u
SW5pdGlhbGl6ZXIoCkBAIC00Nzc2LDcgKzQ3OTUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBi
cmVhazsKIAotICAgICAgICBjYXNlIDI4MToKKyAgICAgICAgY2FzZSAyODI6CiAKICAgICAgICAg
ewogICAgICAgICAgICAgY29udGV4dC0+c3ltYm9sVGFibGUucHVzaCgpOwpAQCAtNDc4NSw3ICs0
ODA0LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyODI6
CisgICAgICAgIGNhc2UgMjgzOgogCiAgICAgICAgIHsKICAgICAgICAgICAgIGNvbnRleHQtPnN5
bWJvbFRhYmxlLnBvcCgpOwpAQCAtNDc5Nyw3ICs0ODE2LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAg
ICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyODM6CisgICAgICAgIGNhc2UgMjg0OgogCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGNvbnRleHQtPmluY3JMb29wTmVzdGluZ0xldmVsKCk7CkBAIC00
ODA1LDcgKzQ4MjQsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBj
YXNlIDI4NDoKKyAgICAgICAgY2FzZSAyODU6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5
dmFsLmludGVybS5pbnRlcm1Ob2RlKSA9CkBAIC00ODE2LDcgKzQ4MzUsNyBAQCB5eXJlZHVjZToK
IAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI4NToKKyAgICAgICAgY2FzZSAyODY6
CiAKICAgICAgICAgewogICAgICAgICAgICAgY29udGV4dC0+c3ltYm9sVGFibGUucHVzaCgpOwpA
QCAtNDgyNSw3ICs0ODQ0LDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgY2FzZSAyODY6CisgICAgICAgIGNhc2UgMjg3OgogCiAgICAgICAgIHsKICAgICAgICAgICAg
IGNvbnRleHQtPnN5bWJvbFRhYmxlLnBvcCgpOwpAQCAtNDgzOCw3ICs0ODU3LDcgQEAgeXlyZWR1
Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyODc6CisgICAgICAgIGNhc2Ug
Mjg4OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9kZSkg
PSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDg0Niw3ICs0ODY1LDcgQEAgeXly
ZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyODg6CisgICAgICAgIGNh
c2UgMjg5OgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9k
ZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDg1NCw3ICs0ODczLDcgQEAg
eXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyODk6CisgICAgICAg
IGNhc2UgMjkwOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJt
Tm9kZSkgPSAoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpOwpAQCAtNDg2Miw3ICs0ODgxLDcg
QEAgeXlyZWR1Y2U6CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyOTA6CisgICAg
ICAgIGNhc2UgMjkxOgogCiAgICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50
ZXJtTm9kZSkgPSBudWxscHRyOwpAQCAtNDg3MCw3ICs0ODg5LDcgQEAgeXlyZWR1Y2U6CiAKICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAyOTE6CisgICAgICAgIGNhc2UgMjkyOgogCiAg
ICAgICAgIHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0ubm9kZVBhaXIpLm5vZGUxID0gKHl5
dnNwWy0xXS5pbnRlcm0uaW50ZXJtTm9kZSk7CkBAIC00ODc5LDcgKzQ4OTgsNyBAQCB5eXJlZHVj
ZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI5MjoKKyAgICAgICAgY2FzZSAy
OTM6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5ub2RlUGFpcikubm9k
ZTEgPSAoeXl2c3BbLTJdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ4ODgsNyArNDkwNyw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMjkzOgorICAgICAg
ICBjYXNlIDI5NDoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVy
bU5vZGUpID0gY29udGV4dC0+YWRkQnJhbmNoKEVPcENvbnRpbnVlLCAoeXlsc3BbLTFdKSk7CkBA
IC00ODk2LDcgKzQ5MTUsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAg
ICBjYXNlIDI5NDoKKyAgICAgICAgY2FzZSAyOTU6CiAKICAgICAgICAgewogICAgICAgICAgICAg
KHl5dmFsLmludGVybS5pbnRlcm1Ob2RlKSA9IGNvbnRleHQtPmFkZEJyYW5jaChFT3BCcmVhaywg
KHl5bHNwWy0xXSkpOwpAQCAtNDkwNCw3ICs0OTIzLDcgQEAgeXlyZWR1Y2U6CiAKICAgICAgICAg
YnJlYWs7CiAKLSAgICAgICAgY2FzZSAyOTU6CisgICAgICAgIGNhc2UgMjk2OgogCiAgICAgICAg
IHsKICAgICAgICAgICAgICh5eXZhbC5pbnRlcm0uaW50ZXJtTm9kZSkgPSBjb250ZXh0LT5hZGRC
cmFuY2goRU9wUmV0dXJuLCAoeXlsc3BbLTFdKSk7CkBAIC00OTEyLDcgKzQ5MzEsNyBAQCB5eXJl
ZHVjZToKIAogICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI5NjoKKyAgICAgICAgY2Fz
ZSAyOTc6CiAKICAgICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5pbnRlcm1Ob2Rl
KSA9CkBAIC00OTIxLDcgKzQ5NDAsNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBicmVhazsKIAot
ICAgICAgICBjYXNlIDI5NzoKKyAgICAgICAgY2FzZSAyOTg6CiAKICAgICAgICAgewogICAgICAg
ICAgICAgKHl5dmFsLmludGVybS5pbnRlcm1Ob2RlKSA9IGNvbnRleHQtPmFkZEJyYW5jaChFT3BL
aWxsLCAoeXlsc3BbLTFdKSk7CkBAIC00OTI5LDcgKzQ5NDgsNyBAQCB5eXJlZHVjZToKIAogICAg
ICAgICBicmVhazsKIAotICAgICAgICBjYXNlIDI5ODoKKyAgICAgICAgY2FzZSAyOTk6CiAKICAg
ICAgICAgewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5pbnRlcm1CbG9jaykgPSBuZXcgVElu
dGVybUJsb2NrKCk7CkBAIC00OTQwLDcgKzQ5NTksNyBAQCB5eXJlZHVjZToKIAogICAgICAgICBi
cmVhazsKIAotICAgICAgICBjYXNlIDI5OToKKyAgICAgICAgY2FzZSAzMDA6CiAKICAgICAgICAg
ewogICAgICAgICAgICAgKHl5dmFsLmludGVybS5pbnRlcm1CbG9jayktPmFwcGVuZFN0YXRlbWVu
dCgoeXl2c3BbMF0uaW50ZXJtLmludGVybU5vZGUpKTsKQEAgLTQ5NDgsNyArNDk2Nyw3IEBAIHl5
cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMzAwOgorICAgICAgICBj
YXNlIDMwMToKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5v
ZGUpID0gKHl5dnNwWzBdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ5NTYsNyArNDk3NSw3IEBA
IHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMzAxOgorICAgICAg
ICBjYXNlIDMwMjoKIAogICAgICAgICB7CiAgICAgICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVy
bU5vZGUpID0gKHl5dnNwWzBdLmludGVybS5pbnRlcm1Ob2RlKTsKQEAgLTQ5NjQsNyArNDk4Myw3
IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGNhc2UgMzAyOgorICAg
ICAgICBjYXNlIDMwMzoKIAogICAgICAgICB7CiAgICAgICAgICAgICBjb250ZXh0LT5wYXJzZUZ1
bmN0aW9uRGVmaW5pdGlvbkhlYWRlcigoeXlsc3BbMF0pLCAoeXl2c3BbMF0uaW50ZXJtKS5mdW5j
dGlvbiwKQEAgLTQ5NzMsNyArNDk5Miw3IEBAIHl5cmVkdWNlOgogCiAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgMzAzOgorICAgICAgICBjYXNlIDMwNDoKIAogICAgICAgICB7CiAgICAg
ICAgICAgICAoeXl2YWwuaW50ZXJtLmludGVybU5vZGUpID0KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9n
ZW4uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2ds
c2xhbmdfdGFiX2F1dG9nZW4uaAppbmRleCBlYmY4ZDkwZjUyYTBmNWZkM2Q0NGFjZGU3YmQyZWQy
M2QzN2U0MWIzLi4wMzc4MzM2ODAzZGYzYzc4MDU3NWMzYjRiYzdiOWI5NzBhYzQ1M2Y3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9n
bHNsYW5nX3RhYl9hdXRvZ2VuLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5oCkBAIC0xMDksMTA5ICsxMDks
MTEwIEBAIGVudW0geXl0b2tlbnR5cGUKICAgICBDRU5UUk9JRCAgICAgICAgICAgICAgICAgID0g
MzA4LAogICAgIEZMQVQgICAgICAgICAgICAgICAgICAgICAgPSAzMDksCiAgICAgU01PT1RIICAg
ICAgICAgICAgICAgICAgICA9IDMxMCwKLSAgICBSRUFET05MWSAgICAgICAgICAgICAgICAgID0g
MzExLAotICAgIFdSSVRFT05MWSAgICAgICAgICAgICAgICAgPSAzMTIsCi0gICAgQ09IRVJFTlQg
ICAgICAgICAgICAgICAgICA9IDMxMywKLSAgICBSRVNUUklDVCAgICAgICAgICAgICAgICAgID0g
MzE0LAotICAgIFZPTEFUSUxFICAgICAgICAgICAgICAgICAgPSAzMTUsCi0gICAgU0hBUkVEICAg
ICAgICAgICAgICAgICAgICA9IDMxNiwKLSAgICBTVFJVQ1QgICAgICAgICAgICAgICAgICAgID0g
MzE3LAotICAgIFZPSURfVFlQRSAgICAgICAgICAgICAgICAgPSAzMTgsCi0gICAgV0hJTEUgICAg
ICAgICAgICAgICAgICAgICA9IDMxOSwKLSAgICBTQU1QTEVSMkQgICAgICAgICAgICAgICAgID0g
MzIwLAotICAgIFNBTVBMRVJDVUJFICAgICAgICAgICAgICAgPSAzMjEsCi0gICAgU0FNUExFUl9F
WFRFUk5BTF9PRVMgICAgICA9IDMyMiwKLSAgICBTQU1QTEVSMkRSRUNUICAgICAgICAgICAgID0g
MzIzLAotICAgIFNBTVBMRVIyREFSUkFZICAgICAgICAgICAgPSAzMjQsCi0gICAgSVNBTVBMRVIy
RCAgICAgICAgICAgICAgICA9IDMyNSwKLSAgICBJU0FNUExFUjNEICAgICAgICAgICAgICAgID0g
MzI2LAotICAgIElTQU1QTEVSQ1VCRSAgICAgICAgICAgICAgPSAzMjcsCi0gICAgSVNBTVBMRVIy
REFSUkFZICAgICAgICAgICA9IDMyOCwKLSAgICBVU0FNUExFUjJEICAgICAgICAgICAgICAgID0g
MzI5LAotICAgIFVTQU1QTEVSM0QgICAgICAgICAgICAgICAgPSAzMzAsCi0gICAgVVNBTVBMRVJD
VUJFICAgICAgICAgICAgICA9IDMzMSwKLSAgICBVU0FNUExFUjJEQVJSQVkgICAgICAgICAgID0g
MzMyLAotICAgIFNBTVBMRVIyRE1TICAgICAgICAgICAgICAgPSAzMzMsCi0gICAgSVNBTVBMRVIy
RE1TICAgICAgICAgICAgICA9IDMzNCwKLSAgICBVU0FNUExFUjJETVMgICAgICAgICAgICAgID0g
MzM1LAotICAgIFNBTVBMRVIyRE1TQVJSQVkgICAgICAgICAgPSAzMzYsCi0gICAgSVNBTVBMRVIy
RE1TQVJSQVkgICAgICAgICA9IDMzNywKLSAgICBVU0FNUExFUjJETVNBUlJBWSAgICAgICAgID0g
MzM4LAotICAgIFNBTVBMRVIzRCAgICAgICAgICAgICAgICAgPSAzMzksCi0gICAgU0FNUExFUjNE
UkVDVCAgICAgICAgICAgICA9IDM0MCwKLSAgICBTQU1QTEVSMkRTSEFET1cgICAgICAgICAgID0g
MzQxLAotICAgIFNBTVBMRVJDVUJFU0hBRE9XICAgICAgICAgPSAzNDIsCi0gICAgU0FNUExFUjJE
QVJSQVlTSEFET1cgICAgICA9IDM0MywKLSAgICBTQU1QTEVSVklERU9XRUJHTCAgICAgICAgID0g
MzQ0LAotICAgIFNBTVBMRVJFWFRFUk5BTDJEWTJZRVhUICAgPSAzNDUsCi0gICAgSU1BR0UyRCAg
ICAgICAgICAgICAgICAgICA9IDM0NiwKLSAgICBJSU1BR0UyRCAgICAgICAgICAgICAgICAgID0g
MzQ3LAotICAgIFVJTUFHRTJEICAgICAgICAgICAgICAgICAgPSAzNDgsCi0gICAgSU1BR0UzRCAg
ICAgICAgICAgICAgICAgICA9IDM0OSwKLSAgICBJSU1BR0UzRCAgICAgICAgICAgICAgICAgID0g
MzUwLAotICAgIFVJTUFHRTNEICAgICAgICAgICAgICAgICAgPSAzNTEsCi0gICAgSU1BR0UyREFS
UkFZICAgICAgICAgICAgICA9IDM1MiwKLSAgICBJSU1BR0UyREFSUkFZICAgICAgICAgICAgID0g
MzUzLAotICAgIFVJTUFHRTJEQVJSQVkgICAgICAgICAgICAgPSAzNTQsCi0gICAgSU1BR0VDVUJF
ICAgICAgICAgICAgICAgICA9IDM1NSwKLSAgICBJSU1BR0VDVUJFICAgICAgICAgICAgICAgID0g
MzU2LAotICAgIFVJTUFHRUNVQkUgICAgICAgICAgICAgICAgPSAzNTcsCi0gICAgQVRPTUlDVUlO
VCAgICAgICAgICAgICAgICA9IDM1OCwKLSAgICBMQVlPVVQgICAgICAgICAgICAgICAgICAgID0g
MzU5LAotICAgIFlVVkNTQ1NUQU5EQVJERVhUICAgICAgICAgPSAzNjAsCi0gICAgWVVWQ1NDU1RB
TkRBUkRFWFRDT05TVEFOVCA9IDM2MSwKLSAgICBJREVOVElGSUVSICAgICAgICAgICAgICAgID0g
MzYyLAotICAgIFRZUEVfTkFNRSAgICAgICAgICAgICAgICAgPSAzNjMsCi0gICAgRkxPQVRDT05T
VEFOVCAgICAgICAgICAgICA9IDM2NCwKLSAgICBJTlRDT05TVEFOVCAgICAgICAgICAgICAgID0g
MzY1LAotICAgIFVJTlRDT05TVEFOVCAgICAgICAgICAgICAgPSAzNjYsCi0gICAgQk9PTENPTlNU
QU5UICAgICAgICAgICAgICA9IDM2NywKLSAgICBGSUVMRF9TRUxFQ1RJT04gICAgICAgICAgID0g
MzY4LAotICAgIExFRlRfT1AgICAgICAgICAgICAgICAgICAgPSAzNjksCi0gICAgUklHSFRfT1Ag
ICAgICAgICAgICAgICAgICA9IDM3MCwKLSAgICBJTkNfT1AgICAgICAgICAgICAgICAgICAgID0g
MzcxLAotICAgIERFQ19PUCAgICAgICAgICAgICAgICAgICAgPSAzNzIsCi0gICAgTEVfT1AgICAg
ICAgICAgICAgICAgICAgICA9IDM3MywKLSAgICBHRV9PUCAgICAgICAgICAgICAgICAgICAgID0g
Mzc0LAotICAgIEVRX09QICAgICAgICAgICAgICAgICAgICAgPSAzNzUsCi0gICAgTkVfT1AgICAg
ICAgICAgICAgICAgICAgICA9IDM3NiwKLSAgICBBTkRfT1AgICAgICAgICAgICAgICAgICAgID0g
Mzc3LAotICAgIE9SX09QICAgICAgICAgICAgICAgICAgICAgPSAzNzgsCi0gICAgWE9SX09QICAg
ICAgICAgICAgICAgICAgICA9IDM3OSwKLSAgICBNVUxfQVNTSUdOICAgICAgICAgICAgICAgID0g
MzgwLAotICAgIERJVl9BU1NJR04gICAgICAgICAgICAgICAgPSAzODEsCi0gICAgQUREX0FTU0lH
TiAgICAgICAgICAgICAgICA9IDM4MiwKLSAgICBNT0RfQVNTSUdOICAgICAgICAgICAgICAgID0g
MzgzLAotICAgIExFRlRfQVNTSUdOICAgICAgICAgICAgICAgPSAzODQsCi0gICAgUklHSFRfQVNT
SUdOICAgICAgICAgICAgICA9IDM4NSwKLSAgICBBTkRfQVNTSUdOICAgICAgICAgICAgICAgID0g
Mzg2LAotICAgIFhPUl9BU1NJR04gICAgICAgICAgICAgICAgPSAzODcsCi0gICAgT1JfQVNTSUdO
ICAgICAgICAgICAgICAgICA9IDM4OCwKLSAgICBTVUJfQVNTSUdOICAgICAgICAgICAgICAgID0g
Mzg5LAotICAgIExFRlRfUEFSRU4gICAgICAgICAgICAgICAgPSAzOTAsCi0gICAgUklHSFRfUEFS
RU4gICAgICAgICAgICAgICA9IDM5MSwKLSAgICBMRUZUX0JSQUNLRVQgICAgICAgICAgICAgID0g
MzkyLAotICAgIFJJR0hUX0JSQUNLRVQgICAgICAgICAgICAgPSAzOTMsCi0gICAgTEVGVF9CUkFD
RSAgICAgICAgICAgICAgICA9IDM5NCwKLSAgICBSSUdIVF9CUkFDRSAgICAgICAgICAgICAgID0g
Mzk1LAotICAgIERPVCAgICAgICAgICAgICAgICAgICAgICAgPSAzOTYsCi0gICAgQ09NTUEgICAg
ICAgICAgICAgICAgICAgICA9IDM5NywKLSAgICBDT0xPTiAgICAgICAgICAgICAgICAgICAgID0g
Mzk4LAotICAgIEVRVUFMICAgICAgICAgICAgICAgICAgICAgPSAzOTksCi0gICAgU0VNSUNPTE9O
ICAgICAgICAgICAgICAgICA9IDQwMCwKLSAgICBCQU5HICAgICAgICAgICAgICAgICAgICAgID0g
NDAxLAotICAgIERBU0ggICAgICAgICAgICAgICAgICAgICAgPSA0MDIsCi0gICAgVElMREUgICAg
ICAgICAgICAgICAgICAgICA9IDQwMywKLSAgICBQTFVTICAgICAgICAgICAgICAgICAgICAgID0g
NDA0LAotICAgIFNUQVIgICAgICAgICAgICAgICAgICAgICAgPSA0MDUsCi0gICAgU0xBU0ggICAg
ICAgICAgICAgICAgICAgICA9IDQwNiwKLSAgICBQRVJDRU5UICAgICAgICAgICAgICAgICAgID0g
NDA3LAotICAgIExFRlRfQU5HTEUgICAgICAgICAgICAgICAgPSA0MDgsCi0gICAgUklHSFRfQU5H
TEUgICAgICAgICAgICAgICA9IDQwOSwKLSAgICBWRVJUSUNBTF9CQVIgICAgICAgICAgICAgID0g
NDEwLAotICAgIENBUkVUICAgICAgICAgICAgICAgICAgICAgPSA0MTEsCi0gICAgQU1QRVJTQU5E
ICAgICAgICAgICAgICAgICA9IDQxMiwKLSAgICBRVUVTVElPTiAgICAgICAgICAgICAgICAgID0g
NDEzCisgICAgTk9QRVJTUEVDVElWRSAgICAgICAgICAgICA9IDMxMSwKKyAgICBSRUFET05MWSAg
ICAgICAgICAgICAgICAgID0gMzEyLAorICAgIFdSSVRFT05MWSAgICAgICAgICAgICAgICAgPSAz
MTMsCisgICAgQ09IRVJFTlQgICAgICAgICAgICAgICAgICA9IDMxNCwKKyAgICBSRVNUUklDVCAg
ICAgICAgICAgICAgICAgID0gMzE1LAorICAgIFZPTEFUSUxFICAgICAgICAgICAgICAgICAgPSAz
MTYsCisgICAgU0hBUkVEICAgICAgICAgICAgICAgICAgICA9IDMxNywKKyAgICBTVFJVQ1QgICAg
ICAgICAgICAgICAgICAgID0gMzE4LAorICAgIFZPSURfVFlQRSAgICAgICAgICAgICAgICAgPSAz
MTksCisgICAgV0hJTEUgICAgICAgICAgICAgICAgICAgICA9IDMyMCwKKyAgICBTQU1QTEVSMkQg
ICAgICAgICAgICAgICAgID0gMzIxLAorICAgIFNBTVBMRVJDVUJFICAgICAgICAgICAgICAgPSAz
MjIsCisgICAgU0FNUExFUl9FWFRFUk5BTF9PRVMgICAgICA9IDMyMywKKyAgICBTQU1QTEVSMkRS
RUNUICAgICAgICAgICAgID0gMzI0LAorICAgIFNBTVBMRVIyREFSUkFZICAgICAgICAgICAgPSAz
MjUsCisgICAgSVNBTVBMRVIyRCAgICAgICAgICAgICAgICA9IDMyNiwKKyAgICBJU0FNUExFUjNE
ICAgICAgICAgICAgICAgID0gMzI3LAorICAgIElTQU1QTEVSQ1VCRSAgICAgICAgICAgICAgPSAz
MjgsCisgICAgSVNBTVBMRVIyREFSUkFZICAgICAgICAgICA9IDMyOSwKKyAgICBVU0FNUExFUjJE
ICAgICAgICAgICAgICAgID0gMzMwLAorICAgIFVTQU1QTEVSM0QgICAgICAgICAgICAgICAgPSAz
MzEsCisgICAgVVNBTVBMRVJDVUJFICAgICAgICAgICAgICA9IDMzMiwKKyAgICBVU0FNUExFUjJE
QVJSQVkgICAgICAgICAgID0gMzMzLAorICAgIFNBTVBMRVIyRE1TICAgICAgICAgICAgICAgPSAz
MzQsCisgICAgSVNBTVBMRVIyRE1TICAgICAgICAgICAgICA9IDMzNSwKKyAgICBVU0FNUExFUjJE
TVMgICAgICAgICAgICAgID0gMzM2LAorICAgIFNBTVBMRVIyRE1TQVJSQVkgICAgICAgICAgPSAz
MzcsCisgICAgSVNBTVBMRVIyRE1TQVJSQVkgICAgICAgICA9IDMzOCwKKyAgICBVU0FNUExFUjJE
TVNBUlJBWSAgICAgICAgID0gMzM5LAorICAgIFNBTVBMRVIzRCAgICAgICAgICAgICAgICAgPSAz
NDAsCisgICAgU0FNUExFUjNEUkVDVCAgICAgICAgICAgICA9IDM0MSwKKyAgICBTQU1QTEVSMkRT
SEFET1cgICAgICAgICAgID0gMzQyLAorICAgIFNBTVBMRVJDVUJFU0hBRE9XICAgICAgICAgPSAz
NDMsCisgICAgU0FNUExFUjJEQVJSQVlTSEFET1cgICAgICA9IDM0NCwKKyAgICBTQU1QTEVSVklE
RU9XRUJHTCAgICAgICAgID0gMzQ1LAorICAgIFNBTVBMRVJFWFRFUk5BTDJEWTJZRVhUICAgPSAz
NDYsCisgICAgSU1BR0UyRCAgICAgICAgICAgICAgICAgICA9IDM0NywKKyAgICBJSU1BR0UyRCAg
ICAgICAgICAgICAgICAgID0gMzQ4LAorICAgIFVJTUFHRTJEICAgICAgICAgICAgICAgICAgPSAz
NDksCisgICAgSU1BR0UzRCAgICAgICAgICAgICAgICAgICA9IDM1MCwKKyAgICBJSU1BR0UzRCAg
ICAgICAgICAgICAgICAgID0gMzUxLAorICAgIFVJTUFHRTNEICAgICAgICAgICAgICAgICAgPSAz
NTIsCisgICAgSU1BR0UyREFSUkFZICAgICAgICAgICAgICA9IDM1MywKKyAgICBJSU1BR0UyREFS
UkFZICAgICAgICAgICAgID0gMzU0LAorICAgIFVJTUFHRTJEQVJSQVkgICAgICAgICAgICAgPSAz
NTUsCisgICAgSU1BR0VDVUJFICAgICAgICAgICAgICAgICA9IDM1NiwKKyAgICBJSU1BR0VDVUJF
ICAgICAgICAgICAgICAgID0gMzU3LAorICAgIFVJTUFHRUNVQkUgICAgICAgICAgICAgICAgPSAz
NTgsCisgICAgQVRPTUlDVUlOVCAgICAgICAgICAgICAgICA9IDM1OSwKKyAgICBMQVlPVVQgICAg
ICAgICAgICAgICAgICAgID0gMzYwLAorICAgIFlVVkNTQ1NUQU5EQVJERVhUICAgICAgICAgPSAz
NjEsCisgICAgWVVWQ1NDU1RBTkRBUkRFWFRDT05TVEFOVCA9IDM2MiwKKyAgICBJREVOVElGSUVS
ICAgICAgICAgICAgICAgID0gMzYzLAorICAgIFRZUEVfTkFNRSAgICAgICAgICAgICAgICAgPSAz
NjQsCisgICAgRkxPQVRDT05TVEFOVCAgICAgICAgICAgICA9IDM2NSwKKyAgICBJTlRDT05TVEFO
VCAgICAgICAgICAgICAgID0gMzY2LAorICAgIFVJTlRDT05TVEFOVCAgICAgICAgICAgICAgPSAz
NjcsCisgICAgQk9PTENPTlNUQU5UICAgICAgICAgICAgICA9IDM2OCwKKyAgICBGSUVMRF9TRUxF
Q1RJT04gICAgICAgICAgID0gMzY5LAorICAgIExFRlRfT1AgICAgICAgICAgICAgICAgICAgPSAz
NzAsCisgICAgUklHSFRfT1AgICAgICAgICAgICAgICAgICA9IDM3MSwKKyAgICBJTkNfT1AgICAg
ICAgICAgICAgICAgICAgID0gMzcyLAorICAgIERFQ19PUCAgICAgICAgICAgICAgICAgICAgPSAz
NzMsCisgICAgTEVfT1AgICAgICAgICAgICAgICAgICAgICA9IDM3NCwKKyAgICBHRV9PUCAgICAg
ICAgICAgICAgICAgICAgID0gMzc1LAorICAgIEVRX09QICAgICAgICAgICAgICAgICAgICAgPSAz
NzYsCisgICAgTkVfT1AgICAgICAgICAgICAgICAgICAgICA9IDM3NywKKyAgICBBTkRfT1AgICAg
ICAgICAgICAgICAgICAgID0gMzc4LAorICAgIE9SX09QICAgICAgICAgICAgICAgICAgICAgPSAz
NzksCisgICAgWE9SX09QICAgICAgICAgICAgICAgICAgICA9IDM4MCwKKyAgICBNVUxfQVNTSUdO
ICAgICAgICAgICAgICAgID0gMzgxLAorICAgIERJVl9BU1NJR04gICAgICAgICAgICAgICAgPSAz
ODIsCisgICAgQUREX0FTU0lHTiAgICAgICAgICAgICAgICA9IDM4MywKKyAgICBNT0RfQVNTSUdO
ICAgICAgICAgICAgICAgID0gMzg0LAorICAgIExFRlRfQVNTSUdOICAgICAgICAgICAgICAgPSAz
ODUsCisgICAgUklHSFRfQVNTSUdOICAgICAgICAgICAgICA9IDM4NiwKKyAgICBBTkRfQVNTSUdO
ICAgICAgICAgICAgICAgID0gMzg3LAorICAgIFhPUl9BU1NJR04gICAgICAgICAgICAgICAgPSAz
ODgsCisgICAgT1JfQVNTSUdOICAgICAgICAgICAgICAgICA9IDM4OSwKKyAgICBTVUJfQVNTSUdO
ICAgICAgICAgICAgICAgID0gMzkwLAorICAgIExFRlRfUEFSRU4gICAgICAgICAgICAgICAgPSAz
OTEsCisgICAgUklHSFRfUEFSRU4gICAgICAgICAgICAgICA9IDM5MiwKKyAgICBMRUZUX0JSQUNL
RVQgICAgICAgICAgICAgID0gMzkzLAorICAgIFJJR0hUX0JSQUNLRVQgICAgICAgICAgICAgPSAz
OTQsCisgICAgTEVGVF9CUkFDRSAgICAgICAgICAgICAgICA9IDM5NSwKKyAgICBSSUdIVF9CUkFD
RSAgICAgICAgICAgICAgID0gMzk2LAorICAgIERPVCAgICAgICAgICAgICAgICAgICAgICAgPSAz
OTcsCisgICAgQ09NTUEgICAgICAgICAgICAgICAgICAgICA9IDM5OCwKKyAgICBDT0xPTiAgICAg
ICAgICAgICAgICAgICAgID0gMzk5LAorICAgIEVRVUFMICAgICAgICAgICAgICAgICAgICAgPSA0
MDAsCisgICAgU0VNSUNPTE9OICAgICAgICAgICAgICAgICA9IDQwMSwKKyAgICBCQU5HICAgICAg
ICAgICAgICAgICAgICAgID0gNDAyLAorICAgIERBU0ggICAgICAgICAgICAgICAgICAgICAgPSA0
MDMsCisgICAgVElMREUgICAgICAgICAgICAgICAgICAgICA9IDQwNCwKKyAgICBQTFVTICAgICAg
ICAgICAgICAgICAgICAgID0gNDA1LAorICAgIFNUQVIgICAgICAgICAgICAgICAgICAgICAgPSA0
MDYsCisgICAgU0xBU0ggICAgICAgICAgICAgICAgICAgICA9IDQwNywKKyAgICBQRVJDRU5UICAg
ICAgICAgICAgICAgICAgID0gNDA4LAorICAgIExFRlRfQU5HTEUgICAgICAgICAgICAgICAgPSA0
MDksCisgICAgUklHSFRfQU5HTEUgICAgICAgICAgICAgICA9IDQxMCwKKyAgICBWRVJUSUNBTF9C
QVIgICAgICAgICAgICAgID0gNDExLAorICAgIENBUkVUICAgICAgICAgICAgICAgICAgICAgPSA0
MTIsCisgICAgQU1QRVJTQU5EICAgICAgICAgICAgICAgICA9IDQxMywKKyAgICBRVUVTVElPTiAg
ICAgICAgICAgICAgICAgID0gNDE0CiB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0Vhcmx5RnJh
Z21lbnRUZXN0c09wdGltaXphdGlvbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9FYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6YXRp
b24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg4MmZjNDA2NWM3ZmMxMGI2MzBjNzczYTY2OGVkNmQ1OTA4YTg3
ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci90cmVlX29wcy9FYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6YXRpb24uY3Bw
CkBAIC0wLDAgKzEsNzkgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVj
dCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyBDaGVja0Vhcmx5RnJhZ21lbnRUZXN0T3B0
aW1pemF0aW9uIGlzIGFuIEFTVCB0cmF2ZXJzZXIgdG8gY2hlY2sgaWYgZWFybHkgZnJhZ21lbnQK
Ky8vIHRlc3QgYXMgYW4gb3B0aW1pemF0aW9uIGlzIGZlYXNpYmxlLgorLy8KKworI2luY2x1ZGUg
ImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMvRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0
aW9uLmgiCisKKyNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgiCisjaW5j
bHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9TeW1ib2wuaCIKKyNpbmNsdWRlICJjb21waWxlci90
cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1Ob2RlX3V0aWwuaCIKKyNpbmNsdWRlICJjb21waWxl
ci90cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1UcmF2ZXJzZS5oIgorCituYW1lc3BhY2Ugc2gK
K3sKKworbmFtZXNwYWNlCit7CisKKy8vIFRyYXZlcnNlciB0aGF0IGNoZWNrIGNvbmRpdGlvbnMg
dGhhdCB3b3VsZCBwcmV2ZW50IGVhcmx5IGZyYWdtZW50IHRlc3RzIG9wdG1pemF0aW9uLgorY2xh
c3MgQ2hlY2tFRlRPcHRpbWl6YXRpb25UcmF2ZXJzZXIgOiBwdWJsaWMgVEludGVybVRyYXZlcnNl
cgoreworICBwdWJsaWM6CisgICAgQ2hlY2tFRlRPcHRpbWl6YXRpb25UcmF2ZXJzZXIoKTsKKwor
ICAgIHZvaWQgdmlzaXRTeW1ib2woVEludGVybVN5bWJvbCAqbm9kZSkgb3ZlcnJpZGU7CisgICAg
Ym9vbCB2aXNpdEJyYW5jaChWaXNpdCB2aXNpdCwgVEludGVybUJyYW5jaCAqbm9kZSkgb3ZlcnJp
ZGU7CisKKyAgICBib29sIGlzRnJhZ0RlcHRoVXNlZCgpIHsgcmV0dXJuIG1GcmFnRGVwdGhVc2Vk
OyB9CisgICAgYm9vbCBpc0Rpc2NhcmRPcFVzZWQoKSB7IHJldHVybiBtRGlzY2FyZE9wVXNlZDsg
fQorCisgIHByb3RlY3RlZDoKKyAgICBib29sIG1GcmFnRGVwdGhVc2VkOworICAgIGJvb2wgbURp
c2NhcmRPcFVzZWQ7Cit9OworCitDaGVja0VGVE9wdGltaXphdGlvblRyYXZlcnNlcjo6Q2hlY2tF
RlRPcHRpbWl6YXRpb25UcmF2ZXJzZXIoKQorICAgIDogVEludGVybVRyYXZlcnNlcih0cnVlLCBm
YWxzZSwgZmFsc2UpLCBtRnJhZ0RlcHRoVXNlZChmYWxzZSksIG1EaXNjYXJkT3BVc2VkKGZhbHNl
KQore30KKwordm9pZCBDaGVja0VGVE9wdGltaXphdGlvblRyYXZlcnNlcjo6dmlzaXRTeW1ib2wo
VEludGVybVN5bWJvbCAqbm9kZSkKK3sKKyAgICAvLyBDaGVjayB0aGUgcXVhbGlmaWVyIGZyb20g
dGhlIHZhcmlhYmxlLCBub3QgZnJvbSB0aGUgc3ltYm9sIG5vZGUuIFRoZSBub2RlIG1heSBoYXZl
IGEKKyAgICAvLyBkaWZmZXJlbnQgcXVhbGlmaWVyIGlmIGl0J3MgdGhlIHJlc3VsdCBvZiBhIGZv
bGRlZCB0ZXJuYXJ5IG5vZGUuCisgICAgVFF1YWxpZmllciBxdWFsaWZpZXIgPSBub2RlLT52YXJp
YWJsZSgpLmdldFR5cGUoKS5nZXRRdWFsaWZpZXIoKTsKKworICAgIGlmIChxdWFsaWZpZXIgPT0g
RXZxRnJhZ0RlcHRoIHx8IHF1YWxpZmllciA9PSBFdnFGcmFnRGVwdGhFWFQpCisgICAgeworICAg
ICAgICBtRnJhZ0RlcHRoVXNlZCA9IHRydWU7CisgICAgfQorfQorCitib29sIENoZWNrRUZUT3B0
aW1pemF0aW9uVHJhdmVyc2VyOjp2aXNpdEJyYW5jaChWaXNpdCB2aXNpdCwgVEludGVybUJyYW5j
aCAqbm9kZSkKK3sKKyAgICBpZiAobm9kZS0+Z2V0Rmxvd09wKCkgPT0gRU9wS2lsbCkKKyAgICB7
CisgICAgICAgIG1EaXNjYXJkT3BVc2VkID0gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK30gIC8vIG5hbWVzcGFjZQorCitib29sIENoZWNrRWFybHlGcmFnbWVudFRlc3RzRmVh
c2libGUoVENvbXBpbGVyICpjb21waWxlciwgVEludGVybU5vZGUgKnJvb3QpCit7CisgICAgQ2hl
Y2tFRlRPcHRpbWl6YXRpb25UcmF2ZXJzZXIgdHJhdmVyc2VyOworICAgIHJvb3QtPnRyYXZlcnNl
KCZ0cmF2ZXJzZXIpOworCisgICAgaWYgKHRyYXZlcnNlci5pc0ZyYWdEZXB0aFVzZWQoKSB8fCB0
cmF2ZXJzZXIuaXNEaXNjYXJkT3BVc2VkKCkpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit9ICAvLyBuYW1lc3BhY2Ugc2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3Ry
ZWVfb3BzL0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbi5oIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMvRWFybHlGcmFnbWVudFRl
c3RzT3B0aW1pemF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGIwZTU1NmVjOGRiMDMyNjkxNWMyYmM4ZmU4
MGUxMmVkMzg4OGFmZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL0Vhcmx5RnJhZ21lbnRUZXN0c09wdGlt
aXphdGlvbi5oCkBAIC0wLDAgKzEsMjMgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5H
TEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyBDaGVja0Vhcmx5RnJhZ21l
bnRUZXN0c09wdGltaXphdGlvbiBpcyBhbiBBU1QgdHJhdmVyc2VyIHRvIGNoZWNrIGlmIGVhcmx5
IGZyYWdtZW50CisvLyB0ZXN0cyBhcyBhbiBvcHRpbWl6YXRpb24gaXMgZmVhc2libGUuCisvLwor
CisjaWZuZGVmIENPTVBJTEVSX1RSQU5TTEFUT1JfVFJFRU9QU19FQVJMWUZSQUdNRU5UVEVTVFNP
UFRJTUlaQVRJT05fSF8KKyNkZWZpbmUgQ09NUElMRVJfVFJBTlNMQVRPUl9UUkVFT1BTX0VBUkxZ
RlJBR01FTlRURVNUU09QVElNSVpBVElPTl9IXworCisjaW5jbHVkZSAiY29tbW9uL2FuZ2xldXRp
bHMuaCIKKworbmFtZXNwYWNlIHNoCit7CitjbGFzcyBUQ29tcGlsZXI7CitjbGFzcyBUSW50ZXJt
Tm9kZTsKKworQU5HTEVfTk9fRElTQ0FSRCBib29sIENoZWNrRWFybHlGcmFnbWVudFRlc3RzRmVh
c2libGUoVENvbXBpbGVyICpjb21waWxlciwgVEludGVybU5vZGUgKnJvb3QpOworfSAgLy8gbmFt
ZXNwYWNlIHNoCisKKyNlbmRpZiAgLy8gQ09NUElMRVJfVFJBTlNMQVRPUl9UUkVFT1BTX0VBUkxZ
RlJBR01FTlRURVNUU09QVElNSVpBVElPTl9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0J1aWx0SW5fRVNTTF9h
dXRvZ2VuLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci90cmVlX3V0aWwvQnVpbHRJbl9FU1NMX2F1dG9nZW4uaAppbmRleCBhZjk5OTZlMjMyMTcxMWFi
ZGM1OTgxY2ZjOWQ1OGQ3ZmE4M2M5MzJmLi45NmNiYmE0YzdmMGE4YjhlYWNmYzJhZTdkNzlkZWM1
MWQ5YTlmNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvQnVpbHRJbl9FU1NMX2F1dG9nZW4uaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvQnVp
bHRJbl9FU1NMX2F1dG9nZW4uaApAQCAtMjIsMTQxMyArMjIsMTQxNSBAQCBjbGFzcyBUVmFyaWFi
bGU7CiBjbGFzcyBCdWlsdEluSWQKIHsKICAgcHVibGljOgotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJhZGlhbnNfRmxvYXQxICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzMjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0MDBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzMjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJh
ZGlhbnNfRmxvYXQyICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjMpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBCICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjQpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJhZGlhbnNfRmxvYXQzICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHB0MjBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzMjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHJhZGlhbnNfRmxvYXQ0ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzMjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBC
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjgpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQxICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjkpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQyICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQzICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzMzEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGRlZ3JlZXNfRmxvYXQ0ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
MzIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9h
dDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzMpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDIgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzQpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDMgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzMzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGNvc19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzcp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDIg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzgpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDMgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzNDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRhbl9GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzNDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRh
bl9GbG9hdDIgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDIpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbl9GbG9hdDMgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDMpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbl9GbG9hdDQgICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5fRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzNDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGFzaW5fRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzNDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5f
RmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDcpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5fRmxvYXQ0ICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDgpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NfRmxvYXQxICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGFjb3NfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzNTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGFjb3NfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
NTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NfRmxv
YXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTIpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQxX0Zsb2F0MSAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTMpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQzX0Zsb2F0MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzNTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGF0YW5fRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTYp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQx
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTcpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQyICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzNTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGF0YW5fRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzNjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNp
bmhfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjEpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQyICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjIpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQzICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzNjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGNvc2hfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzNjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hf
RmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjYpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hfRmxvYXQzICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjcpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hfRmxvYXQ0ICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRhbmhfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzNjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRhbmhfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
NzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbmhfRmxv
YXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzEpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbmhfRmxvYXQ0ICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzIpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5oX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGFzaW5oX0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzNzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGFzaW5oX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzUp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5oX0Zsb2F0
NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzYpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NoX0Zsb2F0MSAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NoX0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzNzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGFjb3NoX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzNzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFj
b3NoX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODApOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MSAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODEpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MiAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzODMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGF0YW5oX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzODQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19G
bG9hdDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODUpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDJfRmxvYXQy
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODYpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDNfRmxvYXQzICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzODgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGV4cF9GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
ODkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9h
dDIgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTApOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9hdDMgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTEpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9hdDQgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGxvZ19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzOTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGxvZ19GbG9hdDIgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTQp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZ19GbG9hdDMg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTUpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZ19GbG9hdDQgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cDJfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzOTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGV4cDJfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzOTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4
cDJfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTkpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cDJfRmxvYXQ0ICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDApOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZzJfRmxvYXQxICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGxvZzJfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGxvZzJfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0MDMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZzJf
RmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDQpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQxICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDUpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQyICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0MDcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHNxcnRfRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
MDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2Vz
cXJ0X0Zsb2F0MSAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDkpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0MiAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTApOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0MyAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0MTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGFic19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTMp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDIg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTQpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDMgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0MTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGFic19JbnQxICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0MTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0
MDBEICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTgpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19JbnQyICAgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTkpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBEICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGFic19JbnQzICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0MjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHB0MjBEICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0MjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19J
bnQ0ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjMpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBEICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjQpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fRmxvYXQxICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHNpZ25fRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0MjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHNpZ25fRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
MjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fRmxv
YXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjgpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fSW50MSAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjkpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fSW50MiAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHNpZ25fSW50MyAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0MzEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHNpZ25fSW50NCAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzIp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0
MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzMpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0MiAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0MzUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGZsb29yX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0MzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRy
dW5jX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzcpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0MiAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzgpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0MyAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0NDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHJvdW5kX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0NDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5k
X0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDIpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kX0Zsb2F0MyAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDMpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kX0Zsb2F0NCAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHJvdW5kRXZlbl9GbG9hdDEgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0NDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHJvdW5kRXZlbl9GbG9hdDIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
NDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kRXZl
bl9GbG9hdDMgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDcpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kRXZlbl9GbG9hdDQgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDgpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNlaWxfRmxvYXQxICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGNlaWxfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0NTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGNlaWxfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTEp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNlaWxfRmxvYXQ0
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTIpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyYWN0X0Zsb2F0MSAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyYWN0X0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0NTQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGZyYWN0X0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0NTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZy
YWN0X0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTYpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDFfRmxv
YXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTcpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDJfRmxvYXQxICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDNfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0NTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1vZF9GbG9hdDRfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0NjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9G
bG9hdDJfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjEpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDNfRmxvYXQz
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjIpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0NjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1pbl9GbG9hdDJfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
NjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9h
dDNfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjYpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDRfRmxvYXQxICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjcpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDJfRmxvYXQyICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0NjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1pbl9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzAp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQxX0lu
dDEgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzEpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQyX0ludDIgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQzX0ludDMgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0NzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1pbl9JbnQ0X0ludDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0NzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1p
bl9JbnQyX0ludDEgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzUpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQzX0ludDEg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzYpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQ0X0ludDEgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50MV9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0NzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHB0MDBFICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0NzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9V
SW50Ml9VSW50MiAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODApOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBFICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODEpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50M19VSW50MyAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHB0MjBFICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0ODMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1pbl9VSW50NF9VSW50NCAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
ODQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBFICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODUpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50Ml9VSW50MSAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODYpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50M19VSW50MSAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1pbl9VSW50NF9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0ODgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1heF9GbG9hdDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODkp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDJf
RmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTApOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDNfRmxvYXQxICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDRfRmxvYXQxICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0OTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1heF9GbG9hdDJfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0OTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1h
eF9GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTQpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDRfRmxv
YXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTUpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQxX0ludDEgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQyX0ludDIgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0OTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1heF9JbnQzX0ludDMgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0OTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9J
bnQ0X0ludDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTkpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQyX0ludDEgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDApOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQzX0ludDEgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQ0X0ludDEgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1heF9VSW50MV9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
MDMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50
Ml9VSW50MiAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDQpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50M19VSW50MyAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDUpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50NF9VSW50NCAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1heF9VSW50Ml9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1MDcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1heF9VSW50M19VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDgp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50NF9V
SW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDkpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0MV9GbG9hdDFfRmxv
YXQxICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0Ml9GbG9hdDFfRmxvYXQxICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1MTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGNsYW1wX0Zsb2F0M19GbG9hdDFfRmxvYXQxICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1MTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNs
YW1wX0Zsb2F0NF9GbG9hdDFfRmxvYXQxICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTMpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0Ml9G
bG9hdDJfRmxvYXQyICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTQpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0M19GbG9hdDNfRmxvYXQz
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0NF9GbG9hdDRfRmxvYXQ0ICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1MTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGNsYW1wX0ludDFfSW50MV9JbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1MTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1w
X0ludDJfSW50MV9JbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTgpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDNfSW50MV9J
bnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTkpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDRfSW50MV9JbnQxICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDJfSW50Ml9JbnQyICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1MjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGNsYW1wX0ludDNfSW50M19JbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
MjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0lu
dDRfSW50NF9JbnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjMpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQxX1VJbnQxX1VJ
bnQxICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjQpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQyX1VJbnQxX1VJbnQxICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQzX1VJbnQxX1VJbnQxICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1MjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGNsYW1wX1VJbnQ0X1VJbnQxX1VJbnQxICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1Mjcp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQy
X1VJbnQyX1VJbnQyICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjgpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQzX1VJbnQzX1VJbnQz
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQ0X1VJbnQ0X1VJbnQ0ICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1MzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1peF9GbG9hdDFfRmxvYXQxX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1MzEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1p
eF9GbG9hdDJfRmxvYXQyX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzIpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDNfRmxv
YXQzX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzMpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDRfRmxvYXQ0X0Zsb2F0MSAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDJfRmxvYXQyX0Zsb2F0MiAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1MzUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1peF9GbG9hdDNfRmxvYXQzX0Zsb2F0MyAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1MzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9G
bG9hdDRfRmxvYXQ0X0Zsb2F0NCAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzcpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDFfRmxvYXQx
X0Jvb2wxICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzgpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBGICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDJfRmxvYXQyX0Jvb2wyICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1NDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0MTBGICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
NDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9h
dDNfRmxvYXQzX0Jvb2wzICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDIpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MjBGICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDMpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDRfRmxvYXQ0X0Jvb2w0ICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHB0MzBGICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1NDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1peF9JbnQxX0ludDFfQm9vbDEgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDYp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQyX0lu
dDJfQm9vbDIgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDcpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQzX0ludDNfQm9vbDMgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQ0X0ludDRfQm9vbDQgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1NDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1peF9VSW50MV9VSW50MV9Cb29sMSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1NTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1p
eF9VSW50Ml9VSW50Ml9Cb29sMiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTEpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9VSW50M19VSW50
M19Cb29sMyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTIpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9VSW50NF9VSW50NF9Cb29sNCAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9Cb29sMV9Cb29sMV9Cb29sMSAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1NTQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1peF9Cb29sMl9Cb29sMl9Cb29sMiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1NTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9C
b29sM19Cb29sM19Cb29sMyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTYpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9Cb29sNF9Cb29sNF9C
b29sNCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTcpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MSAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1NTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHN0ZXBfRmxvYXQzX0Zsb2F0MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
NjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxv
YXQ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjEpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MiAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjIpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MyAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1NjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHNtb290aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjUp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBf
RmxvYXQyX0Zsb2F0Ml9GbG9hdDIgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjYpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQzX0Zsb2F0
M19GbG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQ0X0Zsb2F0NF9GbG9hdDQgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1NjgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDIgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1NjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNt
b290aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzApOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxv
YXQxX0Zsb2F0MV9GbG9hdDQgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzEpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQxX0Zsb2F0MSAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMDBCICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1NzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1vZGZfRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1NzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29f
MTBCICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzUpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQzX0Zsb2F0
MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzYpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMjBCICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1NzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0X29fMzBCICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
NzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zs
b2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODApOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0MiAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODEpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1ODMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGlzaW5mX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODQp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0
MiAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODUpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0MyAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1ODcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGZsb2F0Qml0c1RvSW50X0Zsb2F0MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1ODgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZs
b2F0Qml0c1RvSW50X0Zsb2F0MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODkpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvSW50
X0Zsb2F0MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTApOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvSW50X0Zsb2F0NCAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvVWludF9GbG9hdDEgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1OTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZsb2F0Qml0c1RvVWludF9GbG9hdDIgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1OTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0
Qml0c1RvVWludF9GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTQpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvVWludF9G
bG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTUpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludEJpdHNUb0Zsb2F0X0ludDEgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGludEJpdHNUb0Zsb2F0X0ludDIgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1OTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGludEJpdHNUb0Zsb2F0X0ludDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
OTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludEJpdHNU
b0Zsb2F0X0ludDQgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTkpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50
MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDApOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50MiAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50MyAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHVpbnRCaXRzVG9GbG9hdF9VSW50NCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDMp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDFf
RmxvYXQxX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDQpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDJfRmxvYXQyX0Zsb2F0
MiAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDNfRmxvYXQzX0Zsb2F0MyAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2MDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGZtYV9GbG9hdDRfRmxvYXQ0X0Zsb2F0NCAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2MDcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZt
YUV4dF9GbG9hdDFfRmxvYXQxX0Zsb2F0MSAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDgpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDJf
RmxvYXQyX0Zsb2F0MiAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDkpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDNfRmxvYXQzX0Zsb2F0
MyAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDRfRmxvYXQ0X0Zsb2F0NCAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2MTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZyZXhwX0Zsb2F0MV9JbnQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2MTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29f
MDBEICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTMpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyZXhwX0Zsb2F0Ml9JbnQy
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTQpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMTBEICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGZyZXhwX0Zsb2F0M19JbnQzICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2MTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0X29fMjBEICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
MTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyZXhwX0Zs
b2F0NF9JbnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTgpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMzBEICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTkpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxkZXhwX0Zsb2F0MV9JbnQxICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGxkZXhwX0Zsb2F0Ml9JbnQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2MjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGxkZXhwX0Zsb2F0M19JbnQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjIp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxkZXhwX0Zsb2F0
NF9JbnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjMpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tTbm9ybTJ4MTZfRmxvYXQyICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tIYWxmMngxNl9GbG9hdDIgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2MjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHVucGFja1Nub3JtMngxNl9VSW50MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2MjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVu
cGFja0hhbGYyeDE2X1VJbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjcpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tVbm9ybTJ4MTZf
RmxvYXQyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjgpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFja1Vub3JtMngxNl9VSW50MSAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tVbm9ybTR4OF9GbG9hdDQgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2MzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHBhY2tTbm9ybTR4OF9GbG9hdDQgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2MzEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFj
a1Vub3JtNHg4X1VJbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzIpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFja1Nub3JtNHg4X1VJ
bnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzMpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlbmd0aF9GbG9hdDEgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGxlbmd0aF9GbG9hdDIgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2MzUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGxlbmd0aF9GbG9hdDMgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
MzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlbmd0aF9G
bG9hdDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzcpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0MV9GbG9h
dDEgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzgpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0Ml9GbG9hdDIgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2NDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGRpc3RhbmNlX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDEp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDFf
RmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDIpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDJfRmxvYXQyICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2NDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGRvdF9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2NDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNy
b3NzX0Zsb2F0M19GbG9hdDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDYpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9h
dDEgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDcpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDIgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDMgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2NDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDQgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2NTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vm
b3J3YXJkX0Zsb2F0MV9GbG9hdDFfRmxvYXQxID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTEpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0
Ml9GbG9hdDJfRmxvYXQyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTIpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0M19GbG9hdDNfRmxv
YXQzID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0NF9GbG9hdDRfRmxvYXQ0ID0gVFN5bWJv
bFVuaXF1ZUlkKDI2NTQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHJlZmxlY3RfRmxvYXQxX0Zsb2F0MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
NTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3Rf
RmxvYXQyX0Zsb2F0MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTYpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3RfRmxvYXQzX0Zsb2F0
MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTcpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3RfRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHJlZnJhY3RfRmxvYXQxX0Zsb2F0MV9GbG9hdDEgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2NTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHJlZnJhY3RfRmxvYXQyX0Zsb2F0Ml9GbG9hdDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjAp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZnJhY3RfRmxv
YXQzX0Zsb2F0M19GbG9hdDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjEpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZnJhY3RfRmxvYXQ0X0Zsb2F0NF9G
bG9hdDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0MngyX0Zsb2F0MngyID0g
VFN5bWJvbFVuaXF1ZUlkKDI2NjMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0NTBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2NjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1h
dHJpeENvbXBNdWx0X0Zsb2F0M3gzX0Zsb2F0M3gzID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjUpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0QTBCICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjYpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0NHg0X0Zs
b2F0NHg0ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHB0RjBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2NjgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0MngzX0Zsb2F0MngzID0gVFN5bWJvbFVuaXF1ZUlk
KDI2NjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0OTBC
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzApOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zs
b2F0M3gyX0Zsb2F0M3gyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzEpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0NjBCICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0Mng0X0Zsb2F0Mng0ID0gVFN5bWJv
bFVuaXF1ZUlkKDI2NzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0RDBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
NzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENv
bXBNdWx0X0Zsb2F0NHgyX0Zsb2F0NHgyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzUpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0NzBCICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzYpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0M3g0X0Zsb2F0M3g0
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHB0RTBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2NzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1hdHJpeENvbXBNdWx0X0Zsb2F0NHgzX0Zsb2F0NHgzID0gVFN5bWJvbFVuaXF1ZUlkKDI2Nzkp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0QjBCICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODApOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDJfRmxv
YXQyICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDNfRmxvYXQzICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2ODIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQ0ICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2ODMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91
dGVyUHJvZHVjdF9GbG9hdDNfRmxvYXQyICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODQpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9G
bG9hdDJfRmxvYXQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODUpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQy
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDJfRmxvYXQ0ICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2ODcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2ODgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVy
UHJvZHVjdF9GbG9hdDNfRmxvYXQ0ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODkpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDJ4
MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTApOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDN4MyAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4NCAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2OTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRyYW5zcG9zZV9GbG9hdDN4MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
OTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9z
ZV9GbG9hdDJ4MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTQpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4MiAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTUpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDJ4NCAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2OTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRyYW5zcG9zZV9GbG9hdDN4NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTgp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50
X0Zsb2F0MngyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTkpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50X0Zsb2F0M3gzICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50X0Zsb2F0NHg0ICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3MDEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGludmVyc2VfRmxvYXQyeDIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlu
dmVyc2VfRmxvYXQzeDMgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDMpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VfRmxvYXQ0
eDQgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDQpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0Zsb2F0Ml9GbG9hdDIgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3MDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGxlc3NUaGFuX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3MDcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NU
aGFuX0ludDJfSW50MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDgpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0ludDNfSW50
MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDkpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0ludDRfSW50NCAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX1VJbnQyX1VJbnQyICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3MTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGxlc3NUaGFuX1VJbnQzX1VJbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
MTIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFu
X1VJbnQ0X1VJbnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTMpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQy
X0Zsb2F0MiAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTQpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQzX0Zsb2F0MyAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQ0X0Zsb2F0NCAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3MTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGxlc3NUaGFuRXF1YWxfSW50Ml9JbnQyICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTcp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1
YWxfSW50M19JbnQzICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTgpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfSW50NF9JbnQ0
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfVUludDJfVUludDIgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3MjApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfVUludDNfVUludDMgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3MjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxl
c3NUaGFuRXF1YWxfVUludDRfVUludDQgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjIpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zs
b2F0Ml9GbG9hdDIgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjMpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zsb2F0M19GbG9hdDMg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zsb2F0NF9GbG9hdDQgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3MjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdyZWF0ZXJUaGFuX0ludDJfSW50MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3MjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0
ZXJUaGFuX0ludDNfSW50MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjcpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0ludDRf
SW50NCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjgpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX1VJbnQyX1VJbnQyICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX1VJbnQzX1VJbnQzICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3MzApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdyZWF0ZXJUaGFuX1VJbnQ0X1VJbnQ0ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
MzEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJU
aGFuRXF1YWxfRmxvYXQyX0Zsb2F0MiAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzIpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfRmxv
YXQzX0Zsb2F0MyAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzMpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfRmxvYXQ0X0Zsb2F0NCAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfSW50Ml9JbnQyICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3MzUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGdyZWF0ZXJUaGFuRXF1YWxfSW50M19JbnQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzYp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFu
RXF1YWxfSW50NF9JbnQ0ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzcpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDJf
VUludDIgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDNfVUludDMgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3MzkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDRfVUludDQgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3NDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVx
dWFsX0Zsb2F0Ml9GbG9hdDIgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDEpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Zsb2F0M19G
bG9hdDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDIpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Zsb2F0NF9GbG9hdDQgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0ludDJfSW50MiAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3NDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGVxdWFsX0ludDNfSW50MyAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3NDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFs
X0ludDRfSW50NCAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDYpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQyX1VJbnQy
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDcpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQzX1VJbnQzICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQ0X1VJbnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3NDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGVxdWFsX0Jvb2wyX0Jvb2wyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
NTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Jv
b2wzX0Jvb2wzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTEpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Jvb2w0X0Jvb2w0ICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTIpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Zsb2F0Ml9GbG9hdDIgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3NTQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG5vdEVxdWFsX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTUp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0lu
dDJfSW50MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTYpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0ludDNfSW50MyAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0ludDRfSW50NCAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3NTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG5vdEVxdWFsX1VJbnQyX1VJbnQyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3NTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5v
dEVxdWFsX1VJbnQzX1VJbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjApOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX1VJbnQ0
X1VJbnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjEpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Jvb2wyX0Jvb2wyICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Jvb2wzX0Jvb2wzICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3NjMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG5vdEVxdWFsX0Jvb2w0X0Jvb2w0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3NjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9C
b29sMiAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjUpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9Cb29sMyAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjYpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9Cb29sNCAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGFsbF9Cb29sMiAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3NjgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGFsbF9Cb29sMyAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
NjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFsbF9Cb29s
NCAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzApOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDIgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzEpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDMgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3NzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGJpdGZpZWxkRXh0cmFjdF9JbnQxX0ludDFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzQp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0
cmFjdF9JbnQyX0ludDFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzUpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9JbnQzX0lu
dDFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9JbnQ0X0ludDFfSW50MSAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3NzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9VSW50MV9JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3NzgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJp
dGZpZWxkRXh0cmFjdF9VSW50Ml9JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzkpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFj
dF9VSW50M19JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3ODApOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9VSW50NF9JbnQx
X0ludDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3ODEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHJhZGlhbnNfRmxvYXQxICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzMjMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHB0MDBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzMjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJhZGlh
bnNfRmxvYXQyICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjUpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBCICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjYpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJhZGlhbnNfRmxvYXQzICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHB0MjBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzMjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHJhZGlhbnNfRmxvYXQ0ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
MjkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBCICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzApOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQxICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzEpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQyICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGRlZ3JlZXNfRmxvYXQzICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzMzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGRlZ3JlZXNfRmxvYXQ0ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzQp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDEg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzUpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDIgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbl9GbG9hdDMgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzMzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHNpbl9GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzMzgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNv
c19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMzkpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDIgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDApOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDMgICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGNvc19GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzNDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHRhbl9GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzNDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbl9G
bG9hdDIgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDQpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbl9GbG9hdDMgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDUpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbl9GbG9hdDQgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGFzaW5fRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzNDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGFzaW5fRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
NDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5fRmxv
YXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNDkpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5fRmxvYXQ0ICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTApOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NfRmxvYXQxICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGFjb3NfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzNTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGFjb3NfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTMp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NfRmxvYXQ0
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTQpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQxX0Zsb2F0MSAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzNTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGF0YW5fRmxvYXQzX0Zsb2F0MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzNTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0
YW5fRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQxICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNTkpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQyICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5fRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzNjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGF0YW5fRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzNjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhf
RmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjMpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQyICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjQpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQzICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHNpbmhfRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzNjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGNvc2hfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
NjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hfRmxv
YXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjgpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hfRmxvYXQzICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNjkpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNvc2hfRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRhbmhfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzNzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRhbmhfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzIp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbmhfRmxvYXQz
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzMpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRhbmhfRmxvYXQ0ICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5oX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzNzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGFzaW5oX0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzNzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFz
aW5oX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzcpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFzaW5oX0Zsb2F0NCAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzgpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NoX0Zsb2F0MSAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzNzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3NoX0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzODApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGFjb3NoX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDIzODEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFjb3No
X0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODIpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MSAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODMpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MiAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGF0YW5oX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDIzODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGF0YW5oX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIz
ODYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9h
dDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODcpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDJfRmxvYXQyICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzODgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzODkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHBvd19GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDIzOTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGV4cF9GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTEp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9hdDIg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTIpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9hdDMgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cF9GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDIzOTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGxvZ19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDIzOTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxv
Z19GbG9hdDIgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTYpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZ19GbG9hdDMgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTcpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZ19GbG9hdDQgICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzOTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGV4cDJfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDIzOTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGV4cDJfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0MDApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cDJf
RmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDEpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGV4cDJfRmxvYXQ0ICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDIpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZzJfRmxvYXQxICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGxvZzJfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0MDQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGxvZzJfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
MDUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxvZzJfRmxv
YXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDYpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQxICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDcpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQyICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0MDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHNxcnRfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0MDkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHNxcnRfRmxvYXQ0ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTAp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0
X0Zsb2F0MSAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTEpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0MiAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0MyAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0MTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGludmVyc2VzcXJ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0MTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFi
c19GbG9hdDEgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTUpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDIgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTYpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDMgICAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGFic19GbG9hdDQgICAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0MTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGFic19JbnQxICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0MTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBE
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjApOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19JbnQyICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjEpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBEICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGFic19JbnQzICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0MjMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0MjBEICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
MjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFic19JbnQ0
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjUpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBEICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjYpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fRmxvYXQxICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0MjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHNpZ25fRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0MjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHNpZ25fRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0Mjkp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fRmxvYXQ0
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzApOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fSW50MSAgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNpZ25fSW50MiAgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0MzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHNpZ25fSW50MyAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0MzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNp
Z25fSW50NCAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzQpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0MSAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzUpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0MiAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGZsb29yX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0MzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZsb29yX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0MzgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5j
X0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0MzkpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0MiAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDApOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0MyAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRydW5jX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0NDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHJvdW5kX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
NDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kX0Zs
b2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDQpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kX0Zsb2F0MyAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDUpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHJvdW5kRXZlbl9GbG9hdDEgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0NDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHJvdW5kRXZlbl9GbG9hdDIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDgp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kRXZlbl9G
bG9hdDMgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NDkpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJvdW5kRXZlbl9GbG9hdDQgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTApOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNlaWxfRmxvYXQxICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGNlaWxfRmxvYXQyICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0NTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNl
aWxfRmxvYXQzICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTMpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNlaWxfRmxvYXQ0ICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTQpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyYWN0X0Zsb2F0MSAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGZyYWN0X0Zsb2F0MiAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0NTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZyYWN0X0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0NTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyYWN0
X0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTgpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDFfRmxvYXQx
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NTkpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDJfRmxvYXQxICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDNfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0NjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1vZF9GbG9hdDRfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
NjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9h
dDJfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjMpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDNfRmxvYXQzICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjQpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZF9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0NjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1pbl9GbG9hdDJfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0Njcp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDNf
RmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjgpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDRfRmxvYXQxICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NjkpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9GbG9hdDJfRmxvYXQyICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0NzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1pbl9GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0NzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1p
bl9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzIpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQxX0ludDEg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzMpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQyX0ludDIgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQzX0ludDMgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0NzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1pbl9JbnQ0X0ludDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0NzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9J
bnQyX0ludDEgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzcpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQzX0ludDEgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzgpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9JbnQ0X0ludDEgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0NzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50MV9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0ODApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0MDBFICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0
ODEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50
Ml9VSW50MiAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODIpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBFICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODMpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50M19VSW50MyAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHB0MjBFICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI0ODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1pbl9VSW50NF9VSW50NCAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODYp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MzBFICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODcpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50Ml9VSW50MSAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0ODgpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1pbl9VSW50M19VSW50MSAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI0ODkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1pbl9VSW50NF9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI0OTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1h
eF9GbG9hdDFfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTEpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDJfRmxv
YXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTIpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDNfRmxvYXQxICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDRfRmxvYXQxICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI0OTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1heF9GbG9hdDJfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI0OTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9G
bG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTYpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9GbG9hdDRfRmxvYXQ0
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTcpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQxX0ludDEgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI0OTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQyX0ludDIgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI0OTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1heF9JbnQzX0ludDMgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
MDApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQ0
X0ludDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDEpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQyX0ludDEgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDIpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9JbnQzX0ludDEgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1heF9JbnQ0X0ludDEgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1MDQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1heF9VSW50MV9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDUp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50Ml9V
SW50MiAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDYpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50M19VSW50MyAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50NF9VSW50NCAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1MDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG1heF9VSW50Ml9VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1MDkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1h
eF9VSW50M19VSW50MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTApOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1heF9VSW50NF9VSW50
MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTEpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0MV9GbG9hdDFfRmxvYXQx
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0Ml9GbG9hdDFfRmxvYXQxICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1MTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGNsYW1wX0Zsb2F0M19GbG9hdDFfRmxvYXQxICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1MTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1w
X0Zsb2F0NF9GbG9hdDFfRmxvYXQxICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTUpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0Ml9GbG9h
dDJfRmxvYXQyICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTYpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0M19GbG9hdDNfRmxvYXQzICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0Zsb2F0NF9GbG9hdDRfRmxvYXQ0ICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1MTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGNsYW1wX0ludDFfSW50MV9JbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
MTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0lu
dDJfSW50MV9JbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjApOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDNfSW50MV9JbnQx
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjEpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDRfSW50MV9JbnQxICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDJfSW50Ml9JbnQyICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1MjMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGNsYW1wX0ludDNfSW50M19JbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjQp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX0ludDRf
SW50NF9JbnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjUpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQxX1VJbnQxX1VJbnQx
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQyX1VJbnQxX1VJbnQxICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1MjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGNsYW1wX1VJbnQzX1VJbnQxX1VJbnQxICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1MjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNs
YW1wX1VJbnQ0X1VJbnQxX1VJbnQxICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MjkpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQyX1VJ
bnQyX1VJbnQyICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzApOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQzX1VJbnQzX1VJbnQzICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGNsYW1wX1VJbnQ0X1VJbnQ0X1VJbnQ0ICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1MzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1peF9GbG9hdDFfRmxvYXQxX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1MzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9G
bG9hdDJfRmxvYXQyX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzQpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDNfRmxvYXQz
X0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzUpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDRfRmxvYXQ0X0Zsb2F0MSAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDJfRmxvYXQyX0Zsb2F0MiAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1MzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1peF9GbG9hdDNfRmxvYXQzX0Zsb2F0MyAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
MzgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9h
dDRfRmxvYXQ0X0Zsb2F0NCAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1MzkpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDFfRmxvYXQxX0Jv
b2wxICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDApOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBGICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDJfRmxvYXQyX0Jvb2wyICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1NDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHB0MTBGICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDMp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDNf
RmxvYXQzX0Jvb2wzICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDQpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MjBGICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDUpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9GbG9hdDRfRmxvYXQ0X0Jvb2w0ICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1NDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0MzBGICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1NDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1p
eF9JbnQxX0ludDFfQm9vbDEgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQyX0ludDJf
Qm9vbDIgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NDkpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQzX0ludDNfQm9vbDMgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9JbnQ0X0ludDRfQm9vbDQgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG1peF9VSW50MV9VSW50MV9Cb29sMSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1NTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9V
SW50Ml9VSW50Ml9Cb29sMiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTMpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9VSW50M19VSW50M19C
b29sMyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTQpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9VSW50NF9VSW50NF9Cb29sNCAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG1peF9Cb29sMV9Cb29sMV9Cb29sMSAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1NTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1peF9Cb29sMl9Cb29sMl9Cb29sMiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
NTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9Cb29s
M19Cb29sM19Cb29sMyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTgpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1peF9Cb29sNF9Cb29sNF9Cb29s
NCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NTkpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MSAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1NjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHN0ZXBfRmxvYXQzX0Zsb2F0MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjIp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQ0
X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjMpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MiAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0MyAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1NjUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHN0ZXBfRmxvYXQxX0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1NjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNt
b290aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjcpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxv
YXQyX0Zsb2F0Ml9GbG9hdDIgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjgpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQzX0Zsb2F0M19G
bG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NjkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQ0X0Zsb2F0NF9GbG9hdDQgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1NzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDIgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1NzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290
aHN0ZXBfRmxvYXQxX0Zsb2F0MV9GbG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzIpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHNtb290aHN0ZXBfRmxvYXQx
X0Zsb2F0MV9GbG9hdDQgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzMpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQxX0Zsb2F0MSAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHB0X29fMDBCICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1NzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1vZGZfRmxvYXQyX0Zsb2F0MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
NzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMTBC
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzcpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQzX0Zsb2F0MyAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMjBCICAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1NzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1vZGZfRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1ODApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHB0X29fMzBCICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODEp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0
MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODIpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0MiAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODMpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzbmFuX0Zsb2F0MyAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI1ODQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGlzbmFuX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI1ODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlz
aW5mX0Zsb2F0MSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODYpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0MiAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODcpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0MyAgICAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1ODgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGlzaW5mX0Zsb2F0NCAgICAgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI1ODkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZsb2F0Qml0c1RvSW50X0Zsb2F0MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI1OTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0
Qml0c1RvSW50X0Zsb2F0MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTEpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvSW50X0Zs
b2F0MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTIpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvSW50X0Zsb2F0NCAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvVWludF9GbG9hdDEgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI1OTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGZsb2F0Qml0c1RvVWludF9GbG9hdDIgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1
OTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0
c1RvVWludF9GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTYpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZsb2F0Qml0c1RvVWludF9GbG9h
dDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTcpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludEJpdHNUb0Zsb2F0X0ludDEgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI1OTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGludEJpdHNUb0Zsb2F0X0ludDIgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI1OTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGludEJpdHNUb0Zsb2F0X0ludDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDAp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludEJpdHNUb0Zs
b2F0X0ludDQgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDEpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50MSAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50MiAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2MDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHVpbnRCaXRzVG9GbG9hdF9VSW50MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2MDQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVp
bnRCaXRzVG9GbG9hdF9VSW50NCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDUpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDFfRmxv
YXQxX0Zsb2F0MSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDYpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDJfRmxvYXQyX0Zsb2F0MiAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGZtYV9GbG9hdDNfRmxvYXQzX0Zsb2F0MyAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2MDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZtYV9GbG9hdDRfRmxvYXQ0X0Zsb2F0NCAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2MDkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4
dF9GbG9hdDFfRmxvYXQxX0Zsb2F0MSAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTApOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDJfRmxv
YXQyX0Zsb2F0MiAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTEpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDNfRmxvYXQzX0Zsb2F0MyAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGZtYUV4dF9GbG9hdDRfRmxvYXQ0X0Zsb2F0NCAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2MTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGZyZXhwX0Zsb2F0MV9JbnQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
MTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMDBE
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTUpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyZXhwX0Zsb2F0Ml9JbnQyICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTYpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMTBEICAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGZyZXhwX0Zsb2F0M19JbnQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2MTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHB0X29fMjBEICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MTkp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZyZXhwX0Zsb2F0
NF9JbnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjApOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMzBEICAgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxkZXhwX0Zsb2F0MV9JbnQxICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2MjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGxkZXhwX0Zsb2F0Ml9JbnQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2MjMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxk
ZXhwX0Zsb2F0M19JbnQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjQpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxkZXhwX0Zsb2F0NF9J
bnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjUpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tTbm9ybTJ4MTZfRmxvYXQyICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tIYWxmMngxNl9GbG9hdDIgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2MjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHVucGFja1Nub3JtMngxNl9VSW50MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2MjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFj
a0hhbGYyeDE2X1VJbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MjkpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHBhY2tVbm9ybTJ4MTZfRmxv
YXQyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzApOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFja1Vub3JtMngxNl9VSW50MSAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHBhY2tVbm9ybTR4OF9GbG9hdDQgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2MzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHBhY2tTbm9ybTR4OF9GbG9hdDQgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
MzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFja1Vu
b3JtNHg4X1VJbnQxICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzQpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVucGFja1Nub3JtNHg4X1VJbnQx
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzUpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlbmd0aF9GbG9hdDEgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGxlbmd0aF9GbG9hdDIgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2MzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGxlbmd0aF9GbG9hdDMgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2Mzgp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlbmd0aF9GbG9h
dDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2MzkpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0MV9GbG9hdDEg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDApOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0Ml9GbG9hdDIgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2NDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGRpc3RhbmNlX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2NDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRp
c3RhbmNlX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDMpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDFfRmxv
YXQxICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDQpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDJfRmxvYXQyICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGRvdF9GbG9hdDNfRmxvYXQzICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2NDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGRvdF9GbG9hdDRfRmxvYXQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2NDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGNyb3Nz
X0Zsb2F0M19GbG9hdDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDgpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDEg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NDkpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDIgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG5vcm1hbGl6ZV9GbG9hdDMgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG5vcm1hbGl6ZV9GbG9hdDQgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
NTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3
YXJkX0Zsb2F0MV9GbG9hdDFfRmxvYXQxID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTMpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0Ml9G
bG9hdDJfRmxvYXQyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTQpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0M19GbG9hdDNfRmxvYXQz
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGZhY2Vmb3J3YXJkX0Zsb2F0NF9GbG9hdDRfRmxvYXQ0ID0gVFN5bWJvbFVu
aXF1ZUlkKDI2NTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHJlZmxlY3RfRmxvYXQxX0Zsb2F0MSAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTcp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3RfRmxv
YXQyX0Zsb2F0MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTgpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3RfRmxvYXQzX0Zsb2F0MyAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZmxlY3RfRmxvYXQ0X0Zsb2F0NCAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2NjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHJlZnJhY3RfRmxvYXQxX0Zsb2F0MV9GbG9hdDEgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2NjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJl
ZnJhY3RfRmxvYXQyX0Zsb2F0Ml9GbG9hdDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjIpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZnJhY3RfRmxvYXQz
X0Zsb2F0M19GbG9hdDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjMpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHJlZnJhY3RfRmxvYXQ0X0Zsb2F0NF9GbG9h
dDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0MngyX0Zsb2F0MngyID0gVFN5
bWJvbFVuaXF1ZUlkKDI2NjUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHB0NTBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2NjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJp
eENvbXBNdWx0X0Zsb2F0M3gzX0Zsb2F0M3gzID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjcpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0QTBCICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjgpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0NHg0X0Zsb2F0
NHg0ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NjkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHB0RjBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2NzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0MngzX0Zsb2F0MngzID0gVFN5bWJvbFVuaXF1ZUlkKDI2
NzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0OTBCICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzIpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0
M3gyX0Zsb2F0M3gyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzMpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0NjBCICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0Mng0X0Zsb2F0Mng0ID0gVFN5bWJvbFVu
aXF1ZUlkKDI2NzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHB0RDBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzYp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBN
dWx0X0Zsb2F0NHgyX0Zsb2F0NHgyID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzcpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0NzBCICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2NzgpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1hdHJpeENvbXBNdWx0X0Zsb2F0M3g0X0Zsb2F0M3g0ID0g
VFN5bWJvbFVuaXF1ZUlkKDI2NzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0RTBCICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2ODApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1h
dHJpeENvbXBNdWx0X0Zsb2F0NHgzX0Zsb2F0NHgzID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODEpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0QjBCICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODIpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDJfRmxvYXQy
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDNfRmxvYXQzICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI2ODQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQ0ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI2ODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVy
UHJvZHVjdF9GbG9hdDNfRmxvYXQyICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODYpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9h
dDJfRmxvYXQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODcpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQyICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2ODgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDJfRmxvYXQ0ICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI2ODkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG91dGVyUHJvZHVjdF9GbG9hdDRfRmxvYXQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2
OTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG91dGVyUHJv
ZHVjdF9GbG9hdDNfRmxvYXQ0ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTEpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDJ4MiAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTIpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDN4MyAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI2OTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRyYW5zcG9zZV9GbG9hdDN4MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTUp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9G
bG9hdDJ4MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTYpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4MiAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI2OTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDJ4NCAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI2OTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRyYW5zcG9zZV9GbG9hdDR4MyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI2OTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRy
YW5zcG9zZV9GbG9hdDN4NCAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDApOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50X0Zs
b2F0MngyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDEpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50X0Zsb2F0M3gzICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGRldGVybWluYW50X0Zsb2F0NHg0ICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3MDMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGludmVyc2VfRmxvYXQyeDIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3MDQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVy
c2VfRmxvYXQzeDMgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDUpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGludmVyc2VfRmxvYXQ0eDQg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDYpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0Zsb2F0Ml9GbG9hdDIgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3MDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGxlc3NUaGFuX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
MDkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFu
X0ludDJfSW50MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTApOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0ludDNfSW50MyAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTEpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX0ludDRfSW50NCAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX1VJbnQyX1VJbnQyICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3MTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGxlc3NUaGFuX1VJbnQzX1VJbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTQp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuX1VJ
bnQ0X1VJbnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTUpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQyX0Zs
b2F0MiAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQzX0Zsb2F0MyAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3MTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfRmxvYXQ0X0Zsb2F0NCAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3MTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxl
c3NUaGFuRXF1YWxfSW50Ml9JbnQyICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MTkpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxf
SW50M19JbnQzICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjApOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfSW50NF9JbnQ0ICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NUaGFuRXF1YWxfVUludDJfVUludDIgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3MjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGxlc3NUaGFuRXF1YWxfVUludDNfVUludDMgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3MjMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGxlc3NU
aGFuRXF1YWxfVUludDRfVUludDQgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjQpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zsb2F0
Ml9GbG9hdDIgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjUpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zsb2F0M19GbG9hdDMgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0Zsb2F0NF9GbG9hdDQgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3MjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdyZWF0ZXJUaGFuX0ludDJfSW50MiAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
MjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJU
aGFuX0ludDNfSW50MyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MjkpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX0ludDRfSW50
NCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzApOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX1VJbnQyX1VJbnQyICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuX1VJbnQzX1VJbnQzICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3MzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGdyZWF0ZXJUaGFuX1VJbnQ0X1VJbnQ0ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzMp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFu
RXF1YWxfRmxvYXQyX0Zsb2F0MiAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzQpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfRmxvYXQz
X0Zsb2F0MyAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfRmxvYXQ0X0Zsb2F0NCAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3MzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfSW50Ml9JbnQyICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3MzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdy
ZWF0ZXJUaGFuRXF1YWxfSW50M19JbnQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1
YWxfSW50NF9JbnQ0ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3MzkpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDJfVUlu
dDIgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDNfVUludDMgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3NDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdyZWF0ZXJUaGFuRXF1YWxfVUludDRfVUludDQgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3NDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFs
X0Zsb2F0Ml9GbG9hdDIgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDMpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Zsb2F0M19GbG9h
dDMgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDQpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Zsb2F0NF9GbG9hdDQgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0ludDJfSW50MiAgICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3NDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGVxdWFsX0ludDNfSW50MyAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
NDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0lu
dDRfSW50NCAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDgpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQyX1VJbnQyICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NDkpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQzX1VJbnQzICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGVxdWFsX1VJbnQ0X1VJbnQ0ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGVxdWFsX0Jvb2wyX0Jvb2wyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTIp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Jvb2wz
X0Jvb2wzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTMpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGVxdWFsX0Jvb2w0X0Jvb2w0ICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Zsb2F0Ml9GbG9hdDIgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3NTUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG5vdEVxdWFsX0Zsb2F0M19GbG9hdDMgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3NTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5v
dEVxdWFsX0Zsb2F0NF9GbG9hdDQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTcpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0ludDJf
SW50MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTgpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0ludDNfSW50MyAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0ludDRfSW50NCAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3NjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIG5vdEVxdWFsX1VJbnQyX1VJbnQyICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3NjEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVx
dWFsX1VJbnQzX1VJbnQzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjIpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX1VJbnQ0X1VJ
bnQ0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjMpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Jvb2wyX0Jvb2wyICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIG5vdEVxdWFsX0Jvb2wzX0Jvb2wzICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI3NjUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIG5vdEVxdWFsX0Jvb2w0X0Jvb2w0ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
NjYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9Cb29s
MiAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjcpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9Cb29sMyAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFueV9Cb29sNCAgICAgICAgICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI3NjkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGFsbF9Cb29sMiAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3NzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGFsbF9Cb29sMyAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzEp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFsbF9Cb29sNCAg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzIpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDIgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDMgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3NzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIG5vdEZ1bmNfQm9vbDQgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3NzUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJp
dGZpZWxkRXh0cmFjdF9JbnQxX0ludDFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzYpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFj
dF9JbnQyX0ludDFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzcpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9JbnQzX0ludDFf
SW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3NzgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9JbnQ0X0ludDFfSW50MSAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI3NzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9VSW50MV9JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1ZUlk
KDI3ODApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZp
ZWxkRXh0cmFjdF9VSW50Ml9JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3ODEpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9V
SW50M19JbnQxX0ludDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3ODIpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkRXh0cmFjdF9VSW50NF9JbnQxX0lu
dDEgID0gVFN5bWJvbFVuaXF1ZUlkKDI3ODMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkSW5zZXJ0X0ludDFfSW50MV9JbnQxX0ludDEgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMjc4Mik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyNzg0
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRmaWVsZElu
c2VydF9JbnQyX0ludDJfSW50MV9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI3ODMp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjc4NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRJbnNlcnRfSW50M19JbnQzX0ludDFfSW50MSA9
Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyNzg0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDI3ODYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZp
ZWxkSW5zZXJ0X0ludDRfSW50NF9JbnQxX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
Mjc4NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyNzg3KTsKICAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRmaWVsZEluc2VydF9VSW50MV9VSW50MV9JbnQx
X0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjc4Nik7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgyNzg4KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBiaXRmaWVsZEluc2VydF9VSW50Ml9VSW50Ml9JbnQxX0ludDEgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMjc4Nyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyNzg5KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRmaWVsZEluc2VydF9VSW50M19V
SW50M19JbnQxX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjc4OCk7CisgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyNzkwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBiaXRmaWVsZEluc2VydF9VSW50NF9VSW50NF9JbnQxX0ludDEgPQotICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMjc4OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNlX0ludDEgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgyNzkwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRm
aWVsZFJldmVyc2VfSW50MiAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3OTEpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkUmV2ZXJzZV9JbnQz
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjc5Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNlX0ludDQgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgyNzkzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBiaXRmaWVsZFJldmVyc2VfVUludDEgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3OTQp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxkUmV2
ZXJzZV9VSW50MiAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjc5NSk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNlX1VJbnQzICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgyNzk2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBiaXRmaWVsZFJldmVyc2VfVUludDQgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI3OTcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJp
dENvdW50X0ludDEgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjc5OCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0Q291bnRfSW50MiAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyNzk5KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRDb3VudF9JbnQzICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI4MDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGJpdENvdW50X0ludDQgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgw
MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0Q291bnRf
VUludDEgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODAyKTsKLSAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRDb3VudF9VSW50MiAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGJpdENvdW50X1VJbnQzICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMjgwNCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
Yml0Q291bnRfVUludDQgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODA1KTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTFNCX0ludDEgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDYpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRMU0JfSW50MiAgICAgICAgICAgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMjgwNyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZmluZExTQl9JbnQzICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgy
ODA4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTFNC
X0ludDQgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDkpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRMU0JfVUludDEgICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxMCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgZmluZExTQl9VSW50MiAgICAgICAgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgyODExKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBmaW5kTFNCX1VJbnQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MTIpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRMU0JfVUludDQg
ICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxMyk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZE1TQl9JbnQxICAgICAgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgyODE0KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBmaW5kTVNCX0ludDIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI4MTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRN
U0JfSW50MyAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxNik7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZE1TQl9JbnQ0ICAgICAgICAg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODE3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTVNCX1VJbnQxICAgICAgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDI4MTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGZpbmRNU0JfVUludDIgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxOSk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZE1TQl9VSW50
MyAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODIwKTsKLSAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTVNCX1VJbnQ0ICAgICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHVhZGRDYXJyeV9VSW50MV9VSW50MV9VSW50MSAgPSBUU3ltYm9sVW5pcXVl
SWQoMjgyMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHRf
b18wMEUgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODIzKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB1YWRkQ2FycnlfVUludDJfVUlu
dDJfVUludDIgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMTBFICAgICAgICAgICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMjgyNSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgdWFkZENhcnJ5X1VJbnQzX1VJbnQzX1VJbnQzICA9IFRTeW1ib2xVbmlxdWVJZCgyODI2
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdF9vXzIwRSAg
ICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjcpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVhZGRDYXJyeV9VSW50NF9VSW50NF9VSW50
NCAgPSBUU3ltYm9sVW5pcXVlSWQoMjgyOCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgcHRfb18zMEUgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgyODI5KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB1
c3ViQm9ycm93X1VJbnQxX1VJbnQxX1VJbnQxID0gVFN5bWJvbFVuaXF1ZUlkKDI4MzApOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVzdWJCb3Jyb3dfVUludDJf
VUludDJfVUludDIgPSBUU3ltYm9sVW5pcXVlSWQoMjgzMSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdXN1YkJvcnJvd19VSW50M19VSW50M19VSW50MyA9IFRT
eW1ib2xVbmlxdWVJZCgyODMyKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB1c3ViQm9ycm93X1VJbnQ0X1VJbnQ0X1VJbnQ0ID0gVFN5bWJvbFVuaXF1ZUlkKDI4
MzMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjc5MSk7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNlX0ludDEgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgyNzkyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBiaXRmaWVsZFJldmVyc2VfSW50MiAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI3
OTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdGZpZWxk
UmV2ZXJzZV9JbnQzICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjc5NCk7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNlX0ludDQgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyNzk1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBiaXRmaWVsZFJldmVyc2VfVUludDEgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI3OTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGJpdGZpZWxkUmV2ZXJzZV9VSW50MiAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjc5Nyk7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0ZmllbGRSZXZlcnNl
X1VJbnQzICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyNzk4KTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRmaWVsZFJldmVyc2VfVUludDQgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI3OTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGJpdENvdW50X0ludDEgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MjgwMCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYml0Q291
bnRfSW50MiAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODAxKTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRDb3VudF9JbnQzICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGJpdENvdW50X0ludDQgICAgICAgICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMjgwMyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgYml0Q291bnRfVUludDEgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODA0KTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBiaXRDb3VudF9VSW50
MiAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDUpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJpdENvdW50X1VJbnQzICAgICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMjgwNik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgYml0Q291bnRfVUludDQgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgyODA3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5k
TFNCX0ludDEgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MDgpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRMU0JfSW50MiAgICAgICAg
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgwOSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZExTQl9JbnQzICAgICAgICAgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgyODEwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBmaW5kTFNCX0ludDQgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MTEp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZpbmRMU0JfVUlu
dDEgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxMik7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZExTQl9VSW50MiAgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgyODEzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBmaW5kTFNCX1VJbnQzICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI4MTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZp
bmRMU0JfVUludDQgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgxNSk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZE1TQl9JbnQxICAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODE2KTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTVNCX0ludDIgICAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI4MTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGZpbmRNU0JfSW50MyAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgx
OCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZmluZE1TQl9J
bnQ0ICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODE5KTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTVNCX1VJbnQxICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGZpbmRNU0JfVUludDIgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMjgyMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
ZmluZE1TQl9VSW50MyAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODIyKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmaW5kTVNCX1VJbnQ0ICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjMpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVhZGRDYXJyeV9VSW50MV9VSW50MV9VSW50MSAgPSBU
U3ltYm9sVW5pcXVlSWQoMjgyNCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgcHRfb18wMEUgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgy
ODI1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB1YWRkQ2Fy
cnlfVUludDJfVUludDJfVUludDIgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjYpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0X29fMTBFICAgICAgICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjgyNyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdWFkZENhcnJ5X1VJbnQzX1VJbnQzX1VJbnQzICA9IFRTeW1ib2xV
bmlxdWVJZCgyODI4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBwdF9vXzIwRSAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4MjkpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVhZGRDYXJyeV9VSW50
NF9VSW50NF9VSW50NCAgPSBUU3ltYm9sVW5pcXVlSWQoMjgzMCk7CisgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHRfb18zMEUgICAgICAgICAgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgyODMxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB1c3ViQm9ycm93X1VJbnQxX1VJbnQxX1VJbnQxID0gVFN5bWJvbFVuaXF1ZUlk
KDI4MzIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVzdWJC
b3Jyb3dfVUludDJfVUludDJfVUludDIgPSBUU3ltYm9sVW5pcXVlSWQoMjgzMyk7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdXN1YkJvcnJvd19VSW50M19VSW50
M19VSW50MyA9IFRTeW1ib2xVbmlxdWVJZCgyODM0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB1c3ViQm9ycm93X1VJbnQ0X1VJbnQ0X1VJbnQ0ID0gVFN5bWJv
bFVuaXF1ZUlkKDI4MzUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHVtdWxFeHRlbmRlZF9VSW50MV9VSW50MV9VSW50MV9VSW50MSA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgyODM0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4MzYpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVtdWxFeHRlbmRlZF9VSW50Ml9V
SW50Ml9VSW50Ml9VSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODM1KTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDI4MzcpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHVtdWxFeHRlbmRlZF9VSW50M19VSW50M19VSW50M19VSW50MyA9Ci0gICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgyODM2KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4Mzgp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHVtdWxFeHRlbmRl
ZF9VSW50NF9VSW50NF9VSW50NF9VSW50NCA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODM3
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbXVsRXh0ZW5k
ZWRfSW50MV9JbnQxX0ludDFfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgyODM4KTsKLSAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbXVsRXh0ZW5kZWRfSW50Ml9JbnQy
X0ludDJfSW50MiA9IFRTeW1ib2xVbmlxdWVJZCgyODM5KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbXVsRXh0ZW5kZWRfSW50M19JbnQzX0ludDNfSW50MyA9
IFRTeW1ib2xVbmlxdWVJZCgyODQwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBpbXVsRXh0ZW5kZWRfSW50NF9JbnQ0X0ludDRfSW50NCA9IFRTeW1ib2xVbmlx
dWVJZCgyODQxKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlMkRfU2FtcGxlcjJEMV9GbG9hdDIgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODQyKTsK
LSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwSSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODQzKTsKLSAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRQcm9qX1NhbXBsZXIyRDFf
RmxvYXQzICA9IFRTeW1ib2xVbmlxdWVJZCgyODQ0KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRQcm9qX1NhbXBsZXIyRDFfRmxvYXQ0ICA9IFRT
eW1ib2xVbmlxdWVJZCgyODQ1KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlQ3ViZV9TYW1wbGVyQ3ViZTFfRmxvYXQzICA9IFRTeW1ib2xVbmlxdWVJ
ZCgyODQ2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAw
SyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODQ3KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4MzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGltdWxFeHRlbmRlZF9JbnQxX0ludDFfSW50MV9JbnQxID0gVFN5bWJv
bFVuaXF1ZUlkKDI4NDApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGltdWxFeHRlbmRlZF9JbnQyX0ludDJfSW50Ml9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDI4
NDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGltdWxFeHRl
bmRlZF9JbnQzX0ludDNfSW50M19JbnQzID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDIpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGltdWxFeHRlbmRlZF9JbnQ0X0lu
dDRfSW50NF9JbnQ0ID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDMpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRF9TYW1wbGVyMkQxX0Zsb2F0MiAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHB0MDBJICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI4NDUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmUyRFByb2pfU2FtcGxlcjJEMV9GbG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDYp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRFBy
b2pfU2FtcGxlcjJEMV9GbG9hdDQgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDcpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVDdWJlX1NhbXBsZXJDdWJl
MV9GbG9hdDMgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NDgpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBLICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI4NDkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmUyRF9TYW1wbGVyRXh0ZXJuYWxPRVMxX0Zsb2F0MiA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyODQ4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBwdDAwTSA9IFRTeW1ib2xVbmlxdWVJZCgyODQ5KTsKLSAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRQcm9qX1NhbXBsZXJFeHRlcm5h
bE9FUzFfRmxvYXQzID0KICAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NTApOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBNID0gVFN5bWJvbFVuaXF1ZUlk
KDI4NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmUyRFByb2pfU2FtcGxlckV4dGVybmFsT0VTMV9GbG9hdDMgPQorICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMjg1Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZTJEUHJval9TYW1wbGVyRXh0ZXJuYWxPRVMxX0Zsb2F0NCA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgyODUxKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NTMpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRFJlY3RfU2FtcGxl
cjJEUmVjdDFfRmxvYXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NTIpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBPID0gVFN5bWJvbFVuaXF1
ZUlkKDI4NTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmUyRFJlY3RQcm9qX1NhbXBsZXIyRFJlY3QxX0Zsb2F0MyA9CiAgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgyODU0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBwdDAwTyA9IFRTeW1ib2xVbmlxdWVJZCgyODU1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRSZWN0UHJval9TYW1wbGVyMkRSZWN0MV9GbG9h
dDMgPQorICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg1Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTJEUmVjdFByb2pfU2FtcGxlcjJEUmVjdDFf
RmxvYXQ0ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NTUpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEUmVjdDFfRmxvYXQy
ID0gVFN5bWJvbFVuaXF1ZUlkKDI4NTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRFJlY3QxX0Zsb2F0MyA9CiAgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyODU3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIyRFJlY3QxX0Zsb2F0MiA9IFRTeW1ib2xVbmlxdWVJ
ZCgyODU4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0
dXJlUHJval9TYW1wbGVyMkRSZWN0MV9GbG9hdDMgPQorICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
Mjg1OSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZVByb2pfU2FtcGxlcjJEUmVjdDFfRmxvYXQ0ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4
NTgpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg2MCk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTJER3JhZEVYVF9TYW1wbGVyMkQxX0Zsb2F0
Ml9GbG9hdDJfRmxvYXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NTkpOworICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMjg2MSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgdGV4dHVyZTJEUHJvakdyYWRFWFRfU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQy
X0Zsb2F0MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODYwKTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDI4NjIpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmUyRFByb2pHcmFkRVhUX1NhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0Ml9GbG9hdDIg
PQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg2MSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgyODYzKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0
dXJlQ3ViZUdyYWRFWFRfU2FtcGxlckN1YmUxX0Zsb2F0M19GbG9hdDNfRmxvYXQzID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDI4NjIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg2NCk7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTJEX1Nh
bXBsZXIyRDFfRmxvYXQyX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODYzKTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NjUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRFByb2pfU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQx
ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NjQpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMjg2Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZTJEUHJval9TYW1wbGVyMkQxX0Zsb2F0NF9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMjg2NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODY3KTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlQ3ViZV9TYW1wbGVyQ3ViZTFf
RmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODY2KTsKLSAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR4RXh0X0Zsb2F0MSAgID0gVFN5
bWJvbFVuaXF1ZUlkKDI4NjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGRGZHhFeHRfRmxvYXQyICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg2OCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZEZkeEV4dF9GbG9hdDMgICA9IFRT
eW1ib2xVbmlxdWVJZCgyODY5KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBkRmR4RXh0X0Zsb2F0NCAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NzApOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlFeHRfRmxvYXQxICAgPSBU
U3ltYm9sVW5pcXVlSWQoMjg3MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZEZkeUV4dF9GbG9hdDIgICA9IFRTeW1ib2xVbmlxdWVJZCgyODcyKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR5RXh0X0Zsb2F0MyAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI4NzMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGRGZHlFeHRfRmxvYXQ0ICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg3NCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoRXh0X0Zsb2F0MSA9
IFRTeW1ib2xVbmlxdWVJZCgyODc1KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBmd2lkdGhFeHRfRmxvYXQyID0gVFN5bWJvbFVuaXF1ZUlkKDI4NzYpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZ3aWR0aEV4dF9GbG9hdDMg
PSBUU3ltYm9sVW5pcXVlSWQoMjg3Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZndpZHRoRXh0X0Zsb2F0NCA9IFRTeW1ib2xVbmlxdWVJZCgyODc4KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4NjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGRGZHhFeHRfRmxvYXQxICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg2OSk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZEZkeEV4dF9GbG9h
dDIgICA9IFRTeW1ib2xVbmlxdWVJZCgyODcwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBkRmR4RXh0X0Zsb2F0MyAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NzEp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHhFeHRfRmxv
YXQ0ICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg3Mik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgZEZkeUV4dF9GbG9hdDEgICA9IFRTeW1ib2xVbmlxdWVJZCgyODcz
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR5RXh0X0Zs
b2F0MiAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4NzQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlFeHRfRmxvYXQzICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg3
NSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZEZkeUV4dF9G
bG9hdDQgICA9IFRTeW1ib2xVbmlxdWVJZCgyODc2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBmd2lkdGhFeHRfRmxvYXQxID0gVFN5bWJvbFVuaXF1ZUlkKDI4
NzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZ3aWR0aEV4
dF9GbG9hdDIgPSBUU3ltYm9sVW5pcXVlSWQoMjg3OCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoRXh0X0Zsb2F0MyA9IFRTeW1ib2xVbmlxdWVJZCgy
ODc5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBmd2lkdGhF
eHRfRmxvYXQ0ID0gVFN5bWJvbFVuaXF1ZUlkKDI4ODApOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRExvZEVYVF9TYW1wbGVyMkQxX0Zsb2F0Ml9G
bG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg3OSk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgyODgxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlMkRQcm9qTG9kRVhUX1NhbXBsZXIyRDFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyODgwKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4ODIpOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmUyRFByb2pM
b2RFWFRfU2FtcGxlcjJEMV9GbG9hdDRfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDI4ODEpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg4Myk7CiAgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUN1YmVMb2RFWFRfU2FtcGxlckN1YmUx
X0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg4Mik7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTNEX1NhbXBsZXIzRDFf
RmxvYXQzICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODgzKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwSiAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI4ODQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmUzRFByb2pfU2FtcGxlcjNEMV9GbG9hdDQgPSBUU3ltYm9sVW5pcXVl
SWQoMjg4NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODg0KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlM0RfU2FtcGxlcjNEMV9GbG9hdDMg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4ODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHB0MDBKICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMjg4Nik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZTNEUHJval9TYW1wbGVyM0QxX0Zsb2F0NCA9IFRTeW1ib2xVbmlxdWVJZCgyODg3
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlM0Rf
U2FtcGxlcjNEMV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4ODYp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg4OCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTNEUHJval9TYW1wbGVyM0QxX0Zsb2F0NF9GbG9h
dDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg4Nyk7CisgICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgyODg5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlM0RMb2RfU2FtcGxlcjNEMV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDI4ODgpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg5MCk7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTNEUHJvakxvZF9TYW1wbGVy
M0QxX0Zsb2F0NF9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg4OSk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgyODkxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRMb2RfU2FtcGxlcjJEMV9GbG9hdDJfRmxvYXQxID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4OTApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjg5
Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZTJE
UHJvakxvZF9TYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMjg5MSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODkzKTsKICAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlMkRQcm9qTG9kX1NhbXBsZXIyRDFf
RmxvYXQ0X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyODkyKTsKKyAgICAgICAg
VFN5bWJvbFVuaXF1ZUlkKDI4OTQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmVDdWJlTG9kX1NhbXBsZXJDdWJlMV9GbG9hdDNfRmxvYXQxID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4OTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEMV9GbG9hdDIgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMjg5NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZV9JU2FtcGxlcjJEMV9GbG9hdDIgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyODk1
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwUiAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI4OTYpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfVVNhbXBsZXIyRDFfRmxv
YXQyICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg5Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMFggICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgyODk4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIzRDFfRmxvYXQzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI4OTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVfSVNhbXBsZXIzRDFfRmxvYXQzICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjkwMCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMFMgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTAxKTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1VTYW1wbGVyM0QxX0Zsb2F0MyAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI5MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHB0MDBZICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMjkwMyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZV9TYW1wbGVyQ3ViZTFfRmxvYXQzICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTA0KTsK
LSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX0lTYW1w
bGVyQ3ViZTFfRmxvYXQzICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5MDUpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBUICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjkwNik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9VU2FtcGxlckN1YmUxX0Zsb2F0MyAgICA9IFRTeW1i
b2xVbmlxdWVJZCgyOTA3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBwdDAwWiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5
MDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVf
U2FtcGxlcjJEQXJyYXkxX0Zsb2F0MyAgPSBUU3ltYm9sVW5pcXVlSWQoMjkwOSk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMEwgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTEwKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX0lTYW1wbGVyMkRBcnJheTFfRmxvYXQzID0g
VFN5bWJvbFVuaXF1ZUlkKDI5MTEpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0MDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMjkxMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZV9VU2FtcGxlcjJEQXJyYXkxX0Zsb2F0MyA9IFRTeW1ib2xVbmlxdWVJZCgyOTEzKTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwYSAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5MTQpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEU2hhZG93MV9GbG9h
dDMgPSBUU3ltYm9sVW5pcXVlSWQoMjkxNSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgcHQwMGQgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgyOTE2KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI4OTUpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEMV9GbG9h
dDIgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg5Nik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9JU2FtcGxlcjJEMV9GbG9hdDIgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgyODk3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBwdDAwUiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDI4OTgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVfVVNhbXBsZXIyRDFfRmxvYXQyICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjg5OSk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMFggICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTAwKTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIzRDFfRmxvYXQzICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI5MDEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVfSVNhbXBsZXIzRDFfRmxvYXQzICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMjkwMik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
cHQwMFMgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTAzKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1VTYW1w
bGVyM0QxX0Zsb2F0MyAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5MDQpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBZICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjkwNSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyQ3ViZTFfRmxvYXQzICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgyOTA2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlX0lTYW1wbGVyQ3ViZTFfRmxvYXQzICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5
MDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBUICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjkwOCk7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9VU2FtcGxlckN1YmUx
X0Zsb2F0MyAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTA5KTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwWiAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI5MTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEQXJyYXkxX0Zsb2F0MyAgPSBUU3ltYm9sVW5pcXVl
SWQoMjkxMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQw
MEwgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTEyKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX0lTYW1wbGVy
MkRBcnJheTFfRmxvYXQzID0gVFN5bWJvbFVuaXF1ZUlkKDI5MTMpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBVICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMjkxNCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9VU2FtcGxlcjJEQXJyYXkxX0Zsb2F0MyA9IFRTeW1ib2xV
bmlxdWVJZCgyOTE1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBwdDAwYSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5MTYp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2Ft
cGxlcjJEU2hhZG93MV9GbG9hdDMgPSBUU3ltYm9sVW5pcXVlSWQoMjkxNyk7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMGQgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTE4KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXJDdWJlU2hhZG93MV9GbG9hdDQgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjkxNyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgcHQwMGUgPSBUU3ltYm9sVW5pcXVlSWQoMjkxOCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyMkRBcnJh
eVNoYWRvdzFfRmxvYXQ0ID0KICAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5MTkpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBmICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTIwKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9TYW1wbGVyMkQxX0Zsb2F0MyAgPSBU
U3ltYm9sVW5pcXVlSWQoMjkyMSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgdGV4dHVyZVByb2pfSVNhbXBsZXIyRDFfRmxvYXQzID0gVFN5bWJvbFVuaXF1ZUlk
KDI5MjIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVQcm9qX1VTYW1wbGVyMkQxX0Zsb2F0MyA9IFRTeW1ib2xVbmlxdWVJZCgyOTIzKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9TYW1wbGVy
MkQxX0Zsb2F0NCAgPSBUU3ltYm9sVW5pcXVlSWQoMjkyNCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfSVNhbXBsZXIyRDFfRmxvYXQ0ID0g
VFN5bWJvbFVuaXF1ZUlkKDI5MjUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmVQcm9qX1VTYW1wbGVyMkQxX0Zsb2F0NCA9IFRTeW1ib2xVbmlxdWVJ
ZCgyOTI2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0
dXJlUHJval9TYW1wbGVyM0QxX0Zsb2F0NCAgPSBUU3ltYm9sVW5pcXVlSWQoMjkyNyk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfSVNhbXBs
ZXIzRDFfRmxvYXQ0ID0gVFN5bWJvbFVuaXF1ZUlkKDI5MjgpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1VTYW1wbGVyM0QxX0Zsb2F0NCA9
IFRTeW1ib2xVbmlxdWVJZCgyOTI5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBwdDAwZSA9IFRTeW1ib2xVbmlxdWVJZCgyOTIwKTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIyREFycmF5U2hhZG93
MV9GbG9hdDQgPQorICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjkyMSk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMGYgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5MjIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRDFfRmxvYXQzICA9IFRTeW1ib2xV
bmlxdWVJZCgyOTIzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlUHJval9JU2FtcGxlcjJEMV9GbG9hdDMgPSBUU3ltYm9sVW5pcXVlSWQoMjkyNCk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pf
VVNhbXBsZXIyRDFfRmxvYXQzID0gVFN5bWJvbFVuaXF1ZUlkKDI5MjUpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRDFfRmxv
YXQ0ICA9IFRTeW1ib2xVbmlxdWVJZCgyOTI2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9JU2FtcGxlcjJEMV9GbG9hdDQgPSBUU3ltYm9s
VW5pcXVlSWQoMjkyNyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZVByb2pfVVNhbXBsZXIyRDFfRmxvYXQ0ID0gVFN5bWJvbFVuaXF1ZUlkKDI5Mjgp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9q
X1NhbXBsZXIzRDFfRmxvYXQ0ICA9IFRTeW1ib2xVbmlxdWVJZCgyOTI5KTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9JU2FtcGxlcjNEMV9G
bG9hdDQgPSBUU3ltYm9sVW5pcXVlSWQoMjkzMCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfVVNhbXBsZXIzRDFfRmxvYXQ0ID0gVFN5bWJv
bFVuaXF1ZUlkKDI5MzEpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQ0ID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDI5MzApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjkzMik7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUxvZF9TYW1wbGVyMkQx
X0Zsb2F0Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjkzMSk7CisgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyOTMzKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXh0dXJlTG9kX0lTYW1wbGVyMkQxX0Zsb2F0Ml9GbG9hdDEgPQotICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMjkzMik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM0KTsK
ICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlTG9kX1VT
YW1wbGVyMkQxX0Zsb2F0Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjkzMyk7
CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlTG9kX1NhbXBsZXIzRDFfRmxvYXQzX0Zsb2F0MSA9
Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDI5MzYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVMb2RfSVNhbXBsZXIzRDFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgyOTM1KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5MzcpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RfVVNhbXBsZXIzRDFfRmxvYXQz
X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM2KTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDI5MzgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVMb2RfU2FtcGxlckN1YmUxX0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMjkzNyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM5KTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlTG9kX0lTYW1wbGVy
Q3ViZTFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTM4KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NDApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RfVVNhbXBsZXJDdWJlMV9GbG9hdDNfRmxvYXQxID0K
LSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5MzkpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
Mjk0MSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZUxvZF9TYW1wbGVyMkRBcnJheTFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgyOTQwKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NDIpOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RfSVNhbXBsZXIyREFycmF5
MV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NDEpOworICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMjk0Myk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgdGV4dHVyZUxvZF9VU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19GbG9hdDEgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk0Mik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgy
OTQ0KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
TG9kX1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgyOTQzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlU2l6ZV9TYW1wbGVyMkQxX0ludDEgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTQ0KTsK
LSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9J
U2FtcGxlcjJEMV9JbnQxICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTQ1KTsKLSAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9VU2FtcGxlcjJEMV9J
bnQxICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTQ2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9TYW1wbGVyM0QxX0ludDEgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgyOTQ3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlU2l6ZV9JU2FtcGxlcjNEMV9JbnQxICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgyOTQ4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0
dXJlU2l6ZV9VU2FtcGxlcjNEMV9JbnQxICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTQ5KTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9TYW1w
bGVyQ3ViZTFfSW50MSAgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTUwKTsKLSAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9JU2FtcGxlckN1YmUxX0lu
dDEgICA9IFRTeW1ib2xVbmlxdWVJZCgyOTUxKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlU2l6ZV9VU2FtcGxlckN1YmUxX0ludDEgICA9IFRTeW1i
b2xVbmlxdWVJZCgyOTUyKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlU2l6ZV9TYW1wbGVyMkRBcnJheTFfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgy
OTUzKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NDUpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1NhbXBsZXIyRDFfSW50MSAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDI5NDYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX0lTYW1wbGVyMkQxX0ludDEgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDI5NDcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmVTaXplX1VTYW1wbGVyMkQxX0ludDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5NDgp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXpl
X1NhbXBsZXIzRDFfSW50MSAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5NDkpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX0lTYW1wbGVyM0Qx
X0ludDEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5NTApOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1VTYW1wbGVyM0QxX0ludDEgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDI5NTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmVTaXplX1NhbXBsZXJDdWJlMV9JbnQxICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDI5NTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVTaXplX0lTYW1wbGVyQ3ViZTFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5NTMpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1VT
YW1wbGVyQ3ViZTFfSW50MSAgID0gVFN5bWJvbFVuaXF1ZUlkKDI5NTQpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1NhbXBsZXIyREFycmF5
MV9JbnQxID0gVFN5bWJvbFVuaXF1ZUlkKDI5NTUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX0lTYW1wbGVyMkRBcnJheTFfSW50MSA9Ci0g
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTU0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5
NTYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVT
aXplX1VTYW1wbGVyMkRBcnJheTFfSW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTU1
KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NTcpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1NhbXBsZXIyRFNoYWRvdzFfSW50MSA9
Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTU2KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDI5NTgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVTaXplX1NhbXBsZXJDdWJlU2hhZG93MV9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDI5NTcpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk1OSk7CiAgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVfU2FtcGxlcjJEQXJyYXlTaGFk
b3cxX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk1OCk7CisgICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgyOTYwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlUHJvakxvZF9TYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMjk1OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTYxKTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakxvZF9J
U2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NjAp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk2Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pMb2RfVVNhbXBsZXIyRDFfRmxvYXQzX0Zs
b2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTYxKTsKKyAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDI5NjMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmVQcm9qTG9kX1NhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgyOTYyKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NjQpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qTG9kX0lTYW1w
bGVyMkQxX0Zsb2F0NF9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk2Myk7Cisg
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTY1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakxvZF9VU2FtcGxlcjJEMV9GbG9hdDRfRmxvYXQx
ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NjQpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMjk2Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZVByb2pMb2RfU2FtcGxlcjNEMV9GbG9hdDRfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDI5NjUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk2Nyk7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pMb2RfSVNhbXBsZXIz
RDFfRmxvYXQ0X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTY2KTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDI5NjgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qTG9kX1VTYW1wbGVyM0QxX0Zsb2F0NF9GbG9hdDEgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk2Nyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgy
OTY5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
UHJvakxvZF9TYW1wbGVyMkRTaGFkb3cxX0Zsb2F0NF9GbG9hdDEgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMjk2OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4ZWxGZXRjaF9TYW1wbGVyMkQxX0ludDJfSW50MSAgPSBUU3ltYm9sVW5pcXVlSWQoMjk2
OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRj
aF9JU2FtcGxlcjJEMV9JbnQyX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMjk3MCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaF9VU2FtcGxlcjJE
MV9JbnQyX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMjk3MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaF9TYW1wbGVyM0QxX0ludDNfSW50MSAg
PSBUU3ltYm9sVW5pcXVlSWQoMjk3Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgdGV4ZWxGZXRjaF9JU2FtcGxlcjNEMV9JbnQzX0ludDEgPSBUU3ltYm9sVW5p
cXVlSWQoMjk3Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4ZWxGZXRjaF9VU2FtcGxlcjNEMV9JbnQzX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMjk3NCk7
CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTcwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX1NhbXBsZXIyRDFfSW50Ml9JbnQxICA9IFRT
eW1ib2xVbmlxdWVJZCgyOTcxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXhlbEZldGNoX0lTYW1wbGVyMkQxX0ludDJfSW50MSA9IFRTeW1ib2xVbmlxdWVJ
ZCgyOTcyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhl
bEZldGNoX1VTYW1wbGVyMkQxX0ludDJfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgyOTczKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX1NhbXBs
ZXIzRDFfSW50M19JbnQxICA9IFRTeW1ib2xVbmlxdWVJZCgyOTc0KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX0lTYW1wbGVyM0QxX0ludDNf
SW50MSA9IFRTeW1ib2xVbmlxdWVJZCgyOTc1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX1VTYW1wbGVyM0QxX0ludDNfSW50MSA9IFRTeW1i
b2xVbmlxdWVJZCgyOTc2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXhlbEZldGNoX1NhbXBsZXIyREFycmF5MV9JbnQzX0ludDEgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMjk3NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTc3KTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX0lTYW1wbGVy
MkRBcnJheTFfSW50M19JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5NzYpOworICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMjk3OCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaF9VU2FtcGxlcjJEQXJyYXkxX0ludDNfSW50MSA9Ci0g
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTc3KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5
NzkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVH
cmFkX1NhbXBsZXIyRDFfRmxvYXQyX0Zsb2F0Ml9GbG9hdDIgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMjk3OCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTgwKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR3JhZF9JU2FtcGxlcjJEMV9G
bG9hdDJfRmxvYXQyX0Zsb2F0MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTc5KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5ODEpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHcmFkX1VTYW1wbGVyMkQxX0Zsb2F0Ml9GbG9hdDJfRmxv
YXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5ODApOworICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMjk4Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZUdyYWRfU2FtcGxlcjNEMV9GbG9hdDNfRmxvYXQzX0Zsb2F0MyA9Ci0gICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgyOTgxKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5ODMpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHcmFkX0lTYW1w
bGVyM0QxX0Zsb2F0M19GbG9hdDNfRmxvYXQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5
ODIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4NCk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdyYWRfVVNhbXBsZXIzRDFfRmxvYXQzX0Zs
b2F0M19GbG9hdDMgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4Myk7CisgICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgyOTg1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlR3JhZF9TYW1wbGVyQ3ViZTFfRmxvYXQzX0Zsb2F0M19GbG9hdDMgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4NCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgy
OTg2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
R3JhZF9JU2FtcGxlckN1YmUxX0Zsb2F0M19GbG9hdDNfRmxvYXQzID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDI5ODUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4Nyk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdyYWRfVVNhbXBsZXJD
dWJlMV9GbG9hdDNfRmxvYXQzX0Zsb2F0MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTg2
KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5ODgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHcmFkX1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQz
X0Zsb2F0Ml9GbG9hdDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4Nyk7CisgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgyOTg5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXh0dXJlR3JhZF9TYW1wbGVyQ3ViZVNoYWRvdzFfRmxvYXQ0X0Zsb2F0M19G
bG9hdDMgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4OCk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgyOTkwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlR3JhZF9TYW1wbGVyMkRBcnJheTFfRmxvYXQzX0Zsb2F0Ml9GbG9hdDIgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMjk4OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTkx
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR3Jh
ZF9JU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19GbG9hdDJfRmxvYXQyID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDI5OTApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk5Mik7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdyYWRfVVNhbXBsZXIy
REFycmF5MV9GbG9hdDNfRmxvYXQyX0Zsb2F0MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgy
OTkxKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5OTMpOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHcmFkX1NhbXBsZXIyREFycmF5U2hhZG93
MV9GbG9hdDRfRmxvYXQyX0Zsb2F0MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTkyKTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5OTQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qR3JhZF9TYW1wbGVyMkQxX0Zsb2F0M19GbG9h
dDJfRmxvYXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5OTMpOworICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMjk5NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgdGV4dHVyZVByb2pHcmFkX0lTYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDJfRmxvYXQyID0K
LSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDI5OTQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
Mjk5Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZVByb2pHcmFkX1VTYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDJfRmxvYXQyID0KLSAgICAgICAgVFN5
bWJvbFVuaXF1ZUlkKDI5OTUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk5Nyk7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pHcmFkX1Nh
bXBsZXIyRDFfRmxvYXQ0X0Zsb2F0Ml9GbG9hdDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
Mjk5Nik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgyOTk4KTsKICAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakdyYWRfSVNhbXBsZXIyRDFfRmxv
YXQ0X0Zsb2F0Ml9GbG9hdDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk5Nyk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgyOTk5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakdyYWRfVVNhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0Ml9G
bG9hdDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMjk5OCk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMDAwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlUHJvakdyYWRfU2FtcGxlcjNEMV9GbG9hdDRfRmxvYXQzX0Zsb2F0MyA9Ci0gICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgyOTk5KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMDEp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9q
R3JhZF9JU2FtcGxlcjNEMV9GbG9hdDRfRmxvYXQzX0Zsb2F0MyA9Ci0gICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMDAwKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMDIpOwogICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qR3JhZF9VU2FtcGxl
cjNEMV9GbG9hdDRfRmxvYXQzX0Zsb2F0MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDAx
KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMDMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qR3JhZF9TYW1wbGVyMkRTaGFkb3cxX0Zs
b2F0NF9GbG9hdDJfRmxvYXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMDIpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX1NhbXBs
ZXIyRE1TMSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMDMpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBQICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMDQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplX0lTYW1wbGVyMkRNUzEgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDMwMDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHB0MDBWICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMw
MDYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVT
aXplX1VTYW1wbGVyMkRNUzEgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMDcpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMDgpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplRXh0X1NhbXBsZXIyRE1TMSAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDMwMDkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXplRXh0X0lTYW1wbGVyMkRNUzEgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDMwMTApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmVTaXplRXh0X1VTYW1wbGVyMkRNUzEgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMTEp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVTaXpl
RXh0X1NhbXBsZXIyRE1TQXJyYXkxID0gVFN5bWJvbFVuaXF1ZUlkKDMwMTIpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBRICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMwMTMpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzAwNCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZVNpemVfU2FtcGxlcjJETVMxICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAwNSk7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMFAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAwNik7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVfSVNhbXBsZXIyRE1TMSAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAwNyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgcHQwMFYgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzAwOCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgdGV4dHVyZVNpemVfVVNhbXBsZXIyRE1TMSAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzAwOSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMGIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAxMCk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVFeHRfU2Ft
cGxlcjJETVMxICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAxMSk7CisgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVFeHRfSVNhbXBsZXIyRE1TMSAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAxMik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVFeHRfVVNhbXBsZXIyRE1TMSAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzAxMyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZVNpemVFeHRfU2FtcGxlcjJETVNBcnJheTEgPSBUU3ltYm9sVW5pcXVlSWQoMzAx
NCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMFEgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzAxNSk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVNpemVFeHRfSVNhbXBs
ZXIyRE1TQXJyYXkxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMTQpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBXID0gVFN5bWJvbFVuaXF1ZUlk
KDMwMTUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVTaXplRXh0X1VTYW1wbGVyMkRNU0FycmF5MSA9CiAgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MDE2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwYyA9
IFRTeW1ib2xVbmlxdWVJZCgzMDE3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXhlbEZldGNoX1NhbXBsZXIyRE1TMV9JbnQyX0ludDEgPQorICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MDBXID0gVFN5bWJvbFVuaXF1ZUlk
KDMwMTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVTaXplRXh0X1VTYW1wbGVyMkRNU0FycmF5MSA9CiAgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MDE4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwYyA9
IFRTeW1ib2xVbmlxdWVJZCgzMDE5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXhlbEZldGNoX1NhbXBsZXIyRE1TMV9JbnQyX0ludDEgPQorICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzAyMCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgdGV4ZWxGZXRjaF9JU2FtcGxlcjJETVMxX0ludDJfSW50MSA9Ci0gICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMDE5KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMjEpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hfVVNhbXBs
ZXIyRE1TMV9JbnQyX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAyMCk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMDIyKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoRXh0X1NhbXBsZXIyRE1TMV9JbnQyX0ludDEgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzAyMSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDIz
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNo
RXh0X0lTYW1wbGVyMkRNUzFfSW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMw
MjIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAyNCk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaEV4dF9VU2FtcGxlcjJETVMxX0ludDJf
SW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDIzKTsKKyAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDMwMjUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleGVsRmV0Y2hFeHRfU2FtcGxlcjJETVNBcnJheTFfSW50M19JbnQxID0KLSAgICAgICAgVFN5
bWJvbFVuaXF1ZUlkKDMwMjQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAyNik7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaEV4dF9JU2Ft
cGxlcjJETVNBcnJheTFfSW50M19JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMjUp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAyNyk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaEV4dF9VU2FtcGxlcjJETVNBcnJheTFfSW50
M19JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMjYpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxlcjJEMV9GbG9hdDJfRmxv
YXQxID0gVFN5bWJvbFVuaXF1ZUlkKDMwMjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfSVNhbXBsZXIyRDFfRmxvYXQyX0Zsb2F0MSA9CiAgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMDI4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIyRDFfRmxvYXQyX0Zsb2F0MSA9IFRTeW1ib2xV
bmlxdWVJZCgzMDI5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlX0lTYW1wbGVyMkQxX0Zsb2F0Ml9GbG9hdDEgPQorICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzAzMCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZV9VU2FtcGxlcjJEMV9GbG9hdDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMwMjkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVfU2FtcGxlcjNEMV9GbG9hdDNfRmxvYXQxID0gVFN5bWJvbFVuaXF1ZUlkKDMwMzApOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfSVNhbXBs
ZXIzRDFfRmxvYXQzX0Zsb2F0MSA9CiAgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDMxKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIz
RDFfRmxvYXQzX0Zsb2F0MSA9IFRTeW1ib2xVbmlxdWVJZCgzMDMyKTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX0lTYW1wbGVyM0QxX0Zsb2F0M19G
bG9hdDEgPQorICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAzMyk7CiAgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9VU2FtcGxlcjNEMV9GbG9hdDNfRmxv
YXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMzIpOworICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzAzNCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZV9TYW1wbGVyQ3ViZTFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgzMDMzKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMzUpOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfSVNhbXBsZXJDdWJlMV9GbG9h
dDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMzQpOworICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzAzNik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgdGV4dHVyZV9VU2FtcGxlckN1YmUxX0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzAzNSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDM3KTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXIyREFy
cmF5MV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwMzYpOworICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzAzOCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9JU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19GbG9hdDEgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzAzNyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MDM5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
X1VTYW1wbGVyMkRBcnJheTFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgzMDM4KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDApOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRDFfRmxvYXQz
X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDM5KTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwNDEpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVQcm9qX0lTYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDEgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzA0MCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDQyKTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9VU2FtcGxl
cjJEMV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDEpOworICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzA0Myk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfU2FtcGxlcjJEMV9GbG9hdDRfRmxvYXQxID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA0
NCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVBy
b2pfSVNhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MDQzKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDUpOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1VTYW1wbGVyMkQxX0Zsb2F0NF9G
bG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA0NCk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMDQ2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlUHJval9TYW1wbGVyM0QxX0Zsb2F0NF9GbG9hdDEgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzA0NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDQ3KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9JU2FtcGxlcjNE
MV9GbG9hdDRfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDYpOworICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMzA0OCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgdGV4dHVyZVByb2pfVVNhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0MSA9Ci0gICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMDQ3KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNDkp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2Ft
cGxlcjJEU2hhZG93MV9GbG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMw
NDgpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA1MCk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyQ3ViZVNoYWRvdzFfRmxvYXQ0
X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDQ5KTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwNTEpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVQcm9qX1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQ0X0Zsb2F0MSA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMDUwKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNTIpOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVfU2FtcGxl
ckV4dGVybmFsT0VTMV9GbG9hdDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMw
NTEpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA1Myk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfU2FtcGxlckV4dGVybmFsT0VTMV9G
bG9hdDNfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNTIpOworICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzA1NCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgdGV4dHVyZVByb2pfU2FtcGxlckV4dGVybmFsT0VTMV9GbG9hdDRfRmxvYXQxID0K
LSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNTMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
MzA1NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZV9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVYVDFfRmxvYXQyX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMDU0KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBwdDAwTiA9IFRTeW1ib2xVbmlxdWVJZCgzMDU1KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVY
VDFfRmxvYXQzX0Zsb2F0MSA9CiAgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDU2KTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwTiA9IFRTeW1ib2xVbmlx
dWVJZCgzMDU3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlUHJval9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVYVDFfRmxvYXQzX0Zsb2F0MSA9CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMDU4KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJval9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVYVDFfRmxvYXQ0
X0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDU3KTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwNTkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVPZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDJfSW50MiA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMDU4KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNjApOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVPZmZzZXRfSVNhbXBs
ZXIyRDFfRmxvYXQyX0ludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA1OSk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMDYxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlT2Zmc2V0X1VTYW1wbGVyMkQxX0Zsb2F0Ml9JbnQyID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNjApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA2
Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZU9m
ZnNldF9TYW1wbGVyM0QxX0Zsb2F0M19JbnQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMw
NjEpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA2Myk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZU9mZnNldF9JU2FtcGxlcjNEMV9GbG9hdDNf
SW50MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDYyKTsKKyAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDMwNjQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmVPZmZzZXRfVVNhbXBsZXIzRDFfRmxvYXQzX0ludDMgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzA2Myk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDY1KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlT2Zmc2V0X1NhbXBsZXIy
RFNoYWRvdzFfRmxvYXQzX0ludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA2NCk7Cisg
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDY2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlT2Zmc2V0X1NhbXBsZXIyREFycmF5MV9GbG9hdDNfSW50
MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDY1KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMwNjcpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVPZmZzZXRfSVNhbXBsZXIyREFycmF5MV9GbG9hdDNfSW50MiA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMDY2KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNjgpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVPZmZzZXRfVVNhbXBs
ZXIyREFycmF5MV9GbG9hdDNfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDY3KTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNjkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0X1NhbXBsZXIyRDFfRmxvYXQzX0lu
dDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA2OCk7CisgICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgzMDcwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlUHJvak9mZnNldF9JU2FtcGxlcjJEMV9GbG9hdDNfSW50MiA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMDY5KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNzEpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0X1VT
YW1wbGVyMkQxX0Zsb2F0M19JbnQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNzApOwor
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA3Mik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pPZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDRfSW50
MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDcxKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMwNzMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVQcm9qT2Zmc2V0X0lTYW1wbGVyMkQxX0Zsb2F0NF9JbnQyID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwNzIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA3NCk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pPZmZzZXRfVVNh
bXBsZXIyRDFfRmxvYXQ0X0ludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA3Myk7Cisg
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDc1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvak9mZnNldF9TYW1wbGVyM0QxX0Zsb2F0NF9JbnQz
ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNzQpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzA3Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZVByb2pPZmZzZXRfSVNhbXBsZXIzRDFfRmxvYXQ0X0ludDMgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzA3NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDc3KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvak9mZnNldF9VU2Ft
cGxlcjNEMV9GbG9hdDRfSW50MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDc2KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwNzgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0X1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQ0
X0ludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA3Nyk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMDc5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlTG9kT2Zmc2V0X1NhbXBsZXIyRDFfRmxvYXQyX0Zsb2F0MV9JbnQyID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMwNzgpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA4MCk7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUxvZE9m
ZnNldF9JU2FtcGxlcjJEMV9GbG9hdDJfRmxvYXQxX0ludDIgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzA3OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDgxKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlTG9kT2Zmc2V0X1VTYW1wbGVy
MkQxX0Zsb2F0Ml9GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDgwKTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwODIpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RPZmZzZXRfU2FtcGxlcjNEMV9GbG9hdDNfRmxv
YXQxX0ludDMgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA4MSk7CisgICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMDgzKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlTG9kT2Zmc2V0X0lTYW1wbGVyM0QxX0Zsb2F0M19GbG9hdDFfSW50MyA9Ci0g
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDgyKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMw
ODQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVM
b2RPZmZzZXRfVVNhbXBsZXIzRDFfRmxvYXQzX0Zsb2F0MV9JbnQzID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwODMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA4NSk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUxvZE9mZnNldF9TYW1w
bGVyMkRTaGFkb3cxX0Zsb2F0M19GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgzMDg0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwODYpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RPZmZzZXRfU2FtcGxlcjJEQXJy
YXkxX0Zsb2F0M19GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDg1KTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwODcpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVMb2RPZmZzZXRfSVNhbXBsZXIyREFycmF5MV9GbG9h
dDNfRmxvYXQxX0ludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA4Nik7CisgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMDg4KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCB0ZXh0dXJlTG9kT2Zmc2V0X1VTYW1wbGVyMkRBcnJheTFfRmxvYXQzX0Zsb2F0
MV9JbnQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwODcpOworICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzA4OSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZVByb2pMb2RPZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQxX0ludDIgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA4OCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MDkwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
UHJvakxvZE9mZnNldF9JU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQxX0ludDIgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzA4OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDkxKTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakxvZE9m
ZnNldF9VU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQxX0ludDIgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzA5MCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDkyKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvakxvZE9mZnNldF9TYW1w
bGVyMkQxX0Zsb2F0NF9GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDkx
KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwOTMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qTG9kT2Zmc2V0X0lTYW1wbGVyMkQxX0Zs
b2F0NF9GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDkyKTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMwOTQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qTG9kT2Zmc2V0X1VTYW1wbGVyMkQxX0Zsb2F0NF9GbG9h
dDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDkzKTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMwOTUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVQcm9qTG9kT2Zmc2V0X1NhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0MV9JbnQzID0K
LSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMwOTQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
MzA5Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZVByb2pMb2RPZmZzZXRfSVNhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0MV9JbnQzID0KLSAgICAgICAg
VFN5bWJvbFVuaXF1ZUlkKDMwOTUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA5Nyk7CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pMb2RP
ZmZzZXRfVVNhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0MV9JbnQzID0KLSAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDMwOTYpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA5OCk7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZVByb2pMb2RP
ZmZzZXRfU2FtcGxlcjJEU2hhZG93MV9GbG9hdDRfRmxvYXQxX0ludDIgPSBUU3ltYm9sVW5pcXVl
SWQoMzA5Nyk7CisgICAgICAgIHRleHR1cmVQcm9qTG9kT2Zmc2V0X1NhbXBsZXIyRFNoYWRvdzFf
RmxvYXQ0X0Zsb2F0MV9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMwOTkpOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hPZmZzZXRfU2FtcGxlcjJE
MV9JbnQyX0ludDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMDk4KTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMxMDApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hPZmZzZXRfSVNhbXBsZXIyRDFfSW50Ml9JbnQxX0ludDIg
PQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzA5OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgzMTAxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhl
bEZldGNoT2Zmc2V0X1VTYW1wbGVyMkQxX0ludDJfSW50MV9JbnQyID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMxMDApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEwMik7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaE9mZnNldF9TYW1w
bGVyM0QxX0ludDNfSW50MV9JbnQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMDEpOwor
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEwMyk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgdGV4ZWxGZXRjaE9mZnNldF9JU2FtcGxlcjNEMV9JbnQzX0ludDFf
SW50MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTAyKTsKKyAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDMxMDQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleGVsRmV0Y2hPZmZzZXRfVVNhbXBsZXIzRDFfSW50M19JbnQxX0ludDMgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzEwMyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTA1KTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoT2Zmc2V0
X1NhbXBsZXIyREFycmF5MV9JbnQzX0ludDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgzMTA0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMDYpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hPZmZzZXRfSVNhbXBsZXIyREFy
cmF5MV9JbnQzX0ludDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTA1KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMDcpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hPZmZzZXRfVVNhbXBsZXIyREFycmF5MV9JbnQzX0lu
dDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTA2KTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMxMDgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVHcmFkT2Zmc2V0X1NhbXBsZXIyRDFfRmxvYXQyX0Zsb2F0Ml9GbG9hdDJfSW50
MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTA3KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMxMDkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVHcmFkT2Zmc2V0X0lTYW1wbGVyMkQxX0Zsb2F0Ml9GbG9hdDJfRmxvYXQyX0ludDIgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEwOCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MTEwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
R3JhZE9mZnNldF9VU2FtcGxlcjJEMV9GbG9hdDJfRmxvYXQyX0Zsb2F0Ml9JbnQyID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMxMDkpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzExMSk7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdyYWRP
ZmZzZXRfU2FtcGxlcjNEMV9GbG9hdDNfRmxvYXQzX0Zsb2F0M19JbnQzID0KLSAgICAgICAgVFN5
bWJvbFVuaXF1ZUlkKDMxMTApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzExMik7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdyYWRPZmZzZXRf
SVNhbXBsZXIzRDFfRmxvYXQzX0Zsb2F0M19GbG9hdDNfSW50MyA9Ci0gICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMTExKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMTMpOwogICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHcmFkT2Zmc2V0X1VTYW1w
bGVyM0QxX0Zsb2F0M19GbG9hdDNfRmxvYXQzX0ludDMgPQotICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzExMik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTE0KTsKICAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlR3JhZE9mZnNldF9T
YW1wbGVyMkRTaGFkb3cxX0Zsb2F0M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVl
SWQoMzExMyk7CisgICAgICAgIHRleHR1cmVHcmFkT2Zmc2V0X1NhbXBsZXIyRFNoYWRvdzFfRmxv
YXQzX0Zsb2F0Ml9GbG9hdDJfSW50MiA9IFRTeW1ib2xVbmlxdWVJZCgzMTE1KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlR3JhZE9m
ZnNldF9TYW1wbGVyMkRBcnJheTFfRmxvYXQzX0Zsb2F0Ml9GbG9hdDJfSW50MiA9IFRTeW1ib2xV
bmlxdWVJZCgzMTE0KTsKKyAgICAgICAgdGV4dHVyZUdyYWRPZmZzZXRfU2FtcGxlcjJEQXJyYXkx
X0Zsb2F0M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzExNik7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZUdy
YWRPZmZzZXRfSVNhbXBsZXIyREFycmF5MV9GbG9hdDNfRmxvYXQyX0Zsb2F0Ml9JbnQyID0gVFN5
bWJvbFVuaXF1ZUlkKDMxMTUpOworICAgICAgICB0ZXh0dXJlR3JhZE9mZnNldF9JU2FtcGxlcjJE
QXJyYXkxX0Zsb2F0M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzExNyk7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4
dHVyZUdyYWRPZmZzZXRfVVNhbXBsZXIyREFycmF5MV9GbG9hdDNfRmxvYXQyX0Zsb2F0Ml9JbnQy
ID0gVFN5bWJvbFVuaXF1ZUlkKDMxMTYpOworICAgICAgICB0ZXh0dXJlR3JhZE9mZnNldF9VU2Ft
cGxlcjJEQXJyYXkxX0Zsb2F0M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQo
MzExOCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAg
ICAgdGV4dHVyZUdyYWRPZmZzZXRfU2FtcGxlcjJEQXJyYXlTaGFkb3cxX0Zsb2F0NF9GbG9hdDJf
RmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzExNyk7CisgICAgICAgIHRleHR1cmVHcmFk
T2Zmc2V0X1NhbXBsZXIyREFycmF5U2hhZG93MV9GbG9hdDRfRmxvYXQyX0Zsb2F0Ml9JbnQyID0g
VFN5bWJvbFVuaXF1ZUlkKDMxMTkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVQcm9qR3JhZE9mZnNldF9TYW1wbGVyMkQxX0Zsb2F0
M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzExOCk7CisgICAgICAgIHRl
eHR1cmVQcm9qR3JhZE9mZnNldF9TYW1wbGVyMkQxX0Zsb2F0M19GbG9hdDJfRmxvYXQyX0ludDIg
PSBUU3ltYm9sVW5pcXVlSWQoMzEyMCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZVByb2pHcmFkT2Zmc2V0X0lTYW1wbGVyMkQxX0Zs
b2F0M19GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzExOSk7CisgICAgICAg
IHRleHR1cmVQcm9qR3JhZE9mZnNldF9JU2FtcGxlcjJEMV9GbG9hdDNfRmxvYXQyX0Zsb2F0Ml9J
bnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjEpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVQcm9qR3JhZE9mZnNldF9VU2FtcGxlcjJE
MV9GbG9hdDNfRmxvYXQyX0Zsb2F0Ml9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjApOworICAg
ICAgICB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfVVNhbXBsZXIyRDFfRmxvYXQzX0Zsb2F0Ml9GbG9h
dDJfSW50MiA9IFRTeW1ib2xVbmlxdWVJZCgzMTIyKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfU2FtcGxl
cjJEMV9GbG9hdDRfRmxvYXQyX0Zsb2F0Ml9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjEpOwor
ICAgICAgICB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDRfRmxvYXQyX0Zs
b2F0Ml9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVQcm9qR3JhZE9mZnNldF9JU2Ft
cGxlcjJEMV9GbG9hdDRfRmxvYXQyX0Zsb2F0Ml9JbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjIp
OworICAgICAgICB0ZXh0dXJlUHJvakdyYWRPZmZzZXRfSVNhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0
Ml9GbG9hdDJfSW50MiA9IFRTeW1ib2xVbmlxdWVJZCgzMTI0KTsKICAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlUHJvakdyYWRPZmZzZXRf
VVNhbXBsZXIyRDFfRmxvYXQ0X0Zsb2F0Ml9GbG9hdDJfSW50MiA9IFRTeW1ib2xVbmlxdWVJZCgz
MTIzKTsKKyAgICAgICAgdGV4dHVyZVByb2pHcmFkT2Zmc2V0X1VTYW1wbGVyMkQxX0Zsb2F0NF9G
bG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVlSWQoMzEyNSk7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZVByb2pHcmFkT2Zm
c2V0X1NhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0M19GbG9hdDNfSW50MyA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMTI0KTsKKyAgICAgICAgdGV4dHVyZVByb2pHcmFkT2Zmc2V0X1NhbXBsZXIzRDFfRmxvYXQ0
X0Zsb2F0M19GbG9hdDNfSW50MyA9IFRTeW1ib2xVbmlxdWVJZCgzMTI2KTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlUHJvakdyYWRP
ZmZzZXRfSVNhbXBsZXIzRDFfRmxvYXQ0X0Zsb2F0M19GbG9hdDNfSW50MyA9IFRTeW1ib2xVbmlx
dWVJZCgzMTI1KTsKKyAgICAgICAgdGV4dHVyZVByb2pHcmFkT2Zmc2V0X0lTYW1wbGVyM0QxX0Zs
b2F0NF9GbG9hdDNfRmxvYXQzX0ludDMgPSBUU3ltYm9sVW5pcXVlSWQoMzEyNyk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZVByb2pH
cmFkT2Zmc2V0X1VTYW1wbGVyM0QxX0Zsb2F0NF9GbG9hdDNfRmxvYXQzX0ludDMgPSBUU3ltYm9s
VW5pcXVlSWQoMzEyNik7CisgICAgICAgIHRleHR1cmVQcm9qR3JhZE9mZnNldF9VU2FtcGxlcjNE
MV9GbG9hdDRfRmxvYXQzX0Zsb2F0M19JbnQzID0gVFN5bWJvbFVuaXF1ZUlkKDMxMjgpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVQ
cm9qR3JhZE9mZnNldF9TYW1wbGVyMkRTaGFkb3cxX0Zsb2F0NF9GbG9hdDJfRmxvYXQyX0ludDIg
PSBUU3ltYm9sVW5pcXVlSWQoMzEyNyk7CisgICAgICAgIHRleHR1cmVQcm9qR3JhZE9mZnNldF9T
YW1wbGVyMkRTaGFkb3cxX0Zsb2F0NF9GbG9hdDJfRmxvYXQyX0ludDIgPSBUU3ltYm9sVW5pcXVl
SWQoMzEyOSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZU9mZnNldF9TYW1wbGVyMkQxX0Zsb2F0Ml9JbnQyX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMTI4KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzApOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVPZmZzZXRfSVNhbXBs
ZXIyRDFfRmxvYXQyX0ludDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMjkp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzMSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZU9mZnNldF9VU2FtcGxlcjJEMV9GbG9hdDJfSW50
Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzMCk7CisgICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMTMyKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlT2Zmc2V0X1NhbXBsZXIzRDFfRmxvYXQzX0ludDNfRmxvYXQxID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzEpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzMyk7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZU9mZnNl
dF9JU2FtcGxlcjNEMV9GbG9hdDNfSW50M19GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzEzMik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTM0KTsKICAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlT2Zmc2V0X1VTYW1wbGVyM0QxX0Zs
b2F0M19JbnQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTMzKTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVPZmZzZXRfU2FtcGxlcjJEU2hhZG93MV9GbG9hdDNfSW50Ml9G
bG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzNCk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMTM2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlT2Zmc2V0X1NhbXBsZXIyREFycmF5MV9GbG9hdDNfSW50Ml9GbG9hdDEgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzNSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTM3
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlT2Zm
c2V0X0lTYW1wbGVyMkRBcnJheTFfRmxvYXQzX0ludDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMxMzYpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzEzOCk7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZU9mZnNldF9VU2FtcGxl
cjJEQXJyYXkxX0Zsb2F0M19JbnQyX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MTM3KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzkpOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0X1NhbXBsZXIyRDFfRmxv
YXQzX0ludDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzgpOworICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMzE0MCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgdGV4dHVyZVByb2pPZmZzZXRfSVNhbXBsZXIyRDFfRmxvYXQzX0ludDJfRmxv
YXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxMzkpOworICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzE0MSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZVByb2pPZmZzZXRfVVNhbXBsZXIyRDFfRmxvYXQzX0ludDJfRmxvYXQxID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMxNDApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE0Mik7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pP
ZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDRfSW50Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzE0MSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTQzKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvak9mZnNldF9JU2FtcGxl
cjJEMV9GbG9hdDRfSW50Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE0Mik7
CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTQ0KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlUHJvak9mZnNldF9VU2FtcGxlcjJEMV9GbG9hdDRf
SW50Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE0Myk7CisgICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMTQ1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlUHJvak9mZnNldF9TYW1wbGVyM0QxX0Zsb2F0NF9JbnQzX0Zsb2F0MSA9
Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTQ0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDMxNDYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVQcm9qT2Zmc2V0X0lTYW1wbGVyM0QxX0Zsb2F0NF9JbnQzX0Zsb2F0MSA9Ci0gICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMTQ1KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNDcpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0
X1VTYW1wbGVyM0QxX0Zsb2F0NF9JbnQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJ
ZCgzMTQ2KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNDgpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qT2Zmc2V0X1NhbXBsZXIyRFNo
YWRvdzFfRmxvYXQ0X0ludDJfRmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNDcp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE0OSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyRXh0ZXJuYWxPRVMxX0Zsb2F0MiA9
Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTQ4KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlk
KDMxNTApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1
cmVQcm9qX1NhbXBsZXJFeHRlcm5hbE9FUzFfRmxvYXQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMxNDkpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE1MSk7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZVByb2pfU2FtcGxlckV4dGVybmFs
T0VTMV9GbG9hdDQgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE1MCk7CisgICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMTUyKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCB0ZXh0dXJlU2l6ZV9TYW1wbGVyRXh0ZXJuYWxPRVMxX0ludDEgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzE1MSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTUzKTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXhlbEZldGNoX1NhbXBs
ZXJFeHRlcm5hbE9FUzFfSW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNTIp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE1NCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVYVDFfRmxv
YXQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNTMpOworICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzE1NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
dGV4dHVyZVByb2pfU2FtcGxlckV4dGVybmFsMkRZMllFWFQxX0Zsb2F0MyA9Ci0gICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMTU0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNTYpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVQcm9qX1NhbXBs
ZXJFeHRlcm5hbDJEWTJZRVhUMV9GbG9hdDQgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE1
NSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTU3KTsKICAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCByZ2JfMl95dXZfRmxvYXQzX1l1dkNzY1N0YW5kYXJkRVhU
MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTU2KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwSCA9IFRTeW1ib2xVbmlxdWVJZCgzMTU3KTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB5dXZfMl9yZ2JfRmxvYXQz
X1l1dkNzY1N0YW5kYXJkRVhUMSA9CiAgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTU4KTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAwSCA9IFRTeW1ib2xV
bmlxdWVJZCgzMTU5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB5dXZfMl9yZ2JfRmxvYXQzX1l1dkNzY1N0YW5kYXJkRVhUMSA9CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMTYwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCB0ZXh0dXJlU2l6ZV9TYW1wbGVyRXh0ZXJuYWwyRFkyWUVYVDFfSW50MSA9Ci0gICAgICAgIFRT
eW1ib2xVbmlxdWVJZCgzMTU5KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNjEpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleGVsRmV0Y2hfU2FtcGxl
ckV4dGVybmFsMkRZMllFWFQxX0ludDJfSW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MTYwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJl
R2F0aGVyX1NhbXBsZXIyRDFfRmxvYXQyICA9IFRTeW1ib2xVbmlxdWVJZCgzMTYxKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX0lTYW1w
bGVyMkQxX0Zsb2F0MiA9IFRTeW1ib2xVbmlxdWVJZCgzMTYyKTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1VTYW1wbGVyMkQxX0Zsb2F0
MiA9IFRTeW1ib2xVbmlxdWVJZCgzMTYzKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNjIp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRo
ZXJfU2FtcGxlcjJEMV9GbG9hdDIgID0gVFN5bWJvbFVuaXF1ZUlkKDMxNjMpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJfSVNhbXBsZXIy
RDFfRmxvYXQyID0gVFN5bWJvbFVuaXF1ZUlkKDMxNjQpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJfVVNhbXBsZXIyRDFfRmxvYXQyID0g
VFN5bWJvbFVuaXF1ZUlkKDMxNjUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJfU2FtcGxlcjJEMV9GbG9hdDJfSW50MSA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMTY0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNjYpOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJf
SVNhbXBsZXIyRDFfRmxvYXQyX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE2NSk7
CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTY3KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1VTYW1wbGVyMkQxX0Zsb2F0Ml9JbnQx
ID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNjYpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzE2OCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4
dHVyZUdhdGhlcl9TYW1wbGVyMkRBcnJheTFfRmxvYXQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMxNjcpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE2OSk7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlcl9JU2FtcGxlcjJEQXJy
YXkxX0Zsb2F0MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTY4KTsKKyAgICAgICAgVFN5
bWJvbFVuaXF1ZUlkKDMxNzApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHRleHR1cmVHYXRoZXJfVVNhbXBsZXIyREFycmF5MV9GbG9hdDMgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzE2OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTcxKTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1Nh
bXBsZXIyREFycmF5MV9GbG9hdDNfSW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTcw
KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNzIpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJfSVNhbXBsZXIyREFycmF5MV9GbG9h
dDNfSW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTcxKTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMxNzMpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVHYXRoZXJfVVNhbXBsZXIyREFycmF5MV9GbG9hdDNfSW50MSA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMTcyKTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNzQpOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJf
U2FtcGxlckN1YmUxX0Zsb2F0MyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTczKTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNzUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJfSVNhbXBsZXJDdWJlMV9GbG9hdDMgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzE3NCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTc2
KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0
aGVyX1VTYW1wbGVyQ3ViZTFfRmxvYXQzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNzUp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE3Nyk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlcl9TYW1wbGVyQ3ViZTFfRmxvYXQzX0lu
dDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE3Nik7CisgICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgzMTc4KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlR2F0aGVyX0lTYW1wbGVyQ3ViZTFfRmxvYXQzX0ludDEgPQotICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzE3Nyk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTc5KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1VTYW1wbGVy
Q3ViZTFfRmxvYXQzX0ludDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE3OCk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMTgwKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1NhbXBsZXIyRFNoYWRvdzFfRmxvYXQyID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxNzkpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE4
MSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdh
dGhlcl9TYW1wbGVyMkRTaGFkb3cxX0Zsb2F0Ml9GbG9hdDEgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzE4MCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTgyKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1NhbXBsZXIyREFy
cmF5U2hhZG93MV9GbG9hdDMgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE4MSk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMTgzKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyX1NhbXBsZXIyREFycmF5U2hhZG93MV9GbG9hdDNf
RmxvYXQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxODIpOworICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzE4NCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZUdhdGhlcl9TYW1wbGVyQ3ViZVNoYWRvdzFfRmxvYXQzID0KLSAgICAgICAgVFN5
bWJvbFVuaXF1ZUlkKDMxODMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE4NSk7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlcl9TYW1w
bGVyQ3ViZVNoYWRvdzFfRmxvYXQzX0Zsb2F0MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgz
MTg0KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxODYpOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRzX1NhbXBsZXIyRDFf
RmxvYXQyXzR4SW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxODUpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBEeDQgPSBUU3ltYm9s
VW5pcXVlSWQoMzE4Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgdGV4dHVyZUdhdGhlck9mZnNldHNfSVNhbXBsZXIyRDFfRmxvYXQyXzR4SW50Ml9JbnQxID0K
ICAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxODcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIHB0MTBEeDQgPSBUU3ltYm9sVW5pcXVlSWQoMzE4OCk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNl
dHNfSVNhbXBsZXIyRDFfRmxvYXQyXzR4SW50Ml9JbnQxID0KKyAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMxODkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRl
eHR1cmVHYXRoZXJPZmZzZXRzX1VTYW1wbGVyMkQxX0Zsb2F0Ml80eEludDJfSW50MSA9Ci0gICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMTg4KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxOTAp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRo
ZXJPZmZzZXRzX1NhbXBsZXIyREFycmF5MV9GbG9hdDNfNHhJbnQyX0ludDEgPQotICAgICAgICBU
U3ltYm9sVW5pcXVlSWQoMzE4OSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTkxKTsKICAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJl
R2F0aGVyT2Zmc2V0c19JU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDJfSW50MSA9IFRTeW1i
b2xVbmlxdWVJZCgzMTkwKTsKKyAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNfSVNhbXBsZXIy
REFycmF5MV9GbG9hdDNfNHhJbnQyX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMzE5Mik7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZUdh
dGhlck9mZnNldHNfVVNhbXBsZXIyREFycmF5MV9GbG9hdDNfNHhJbnQyX0ludDEgPSBUU3ltYm9s
VW5pcXVlSWQoMzE5MSk7CisgICAgICAgIHRleHR1cmVHYXRoZXJPZmZzZXRzX1VTYW1wbGVyMkRB
cnJheTFfRmxvYXQzXzR4SW50Ml9JbnQxID0gVFN5bWJvbFVuaXF1ZUlkKDMxOTMpOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRz
RXh0X1NhbXBsZXIyRDFfRmxvYXQyXzR4SW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMxOTIpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE5NCk7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRfSVNh
bXBsZXIyRDFfRmxvYXQyXzR4SW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMx
OTMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE5NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRfVVNhbXBsZXIy
RDFfRmxvYXQyXzR4SW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMxOTQpOwor
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE5Nik7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRfU2FtcGxl
cjJEQXJyYXkxX0Zsb2F0M180eEludDJfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgzMTk1KTsKKyAg
ICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRfU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eElu
dDJfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgzMTk3KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlR2F0aGVyT2Zmc2V0c0V4dF9JU2Ft
cGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDJfSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgzMTk2KTsK
KyAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRfSVNhbXBsZXIyREFycmF5MV9GbG9hdDNf
NHhJbnQyX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMzE5OCk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQKLSAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNFeHRf
VVNhbXBsZXIyREFycmF5MV9GbG9hdDNfNHhJbnQyX0ludDEgPSBUU3ltYm9sVW5pcXVlSWQoMzE5
Nyk7CisgICAgICAgIHRleHR1cmVHYXRoZXJPZmZzZXRzRXh0X1VTYW1wbGVyMkRBcnJheTFfRmxv
YXQzXzR4SW50Ml9JbnQxID0gVFN5bWJvbFVuaXF1ZUlkKDMxOTkpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRzX1NhbXBsZXIy
RDFfRmxvYXQyXzR4SW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMTk4KTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMyMDApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRzX0lTYW1wbGVyMkQxX0Zsb2F0Ml80eElu
dDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzE5OSk7CisgICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgzMjAxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlR2F0aGVyT2Zmc2V0c19VU2FtcGxlcjJEMV9GbG9hdDJfNHhJbnQyID0KLSAgICAgICAg
VFN5bWJvbFVuaXF1ZUlkKDMyMDApOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIwMik7CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9m
ZnNldHNfU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDIgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzIwMSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjAzKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyT2Zmc2V0c19JU2Ft
cGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIw
Mik7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjA0KTsKICAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyT2Zmc2V0c19VU2FtcGxlcjJEQXJy
YXkxX0Zsb2F0M180eEludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIwMyk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMjA1KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlR2F0aGVyT2Zmc2V0c19TYW1wbGVyMkRTaGFk
b3cxX0Zsb2F0Ml9GbG9hdDFfNHhJbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMyMDQpOworICAgICAg
ICB0ZXh0dXJlR2F0aGVyT2Zmc2V0c19TYW1wbGVyMkRTaGFkb3cxX0Zsb2F0Ml9GbG9hdDFfNHhJ
bnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMyMDYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVHYXRoZXJPZmZzZXRzX1NhbXBsZXIyREFy
cmF5U2hhZG93MV9GbG9hdDNfRmxvYXQxXzR4SW50MiA9IFRTeW1ib2xVbmlxdWVJZCgzMjA1KTsK
KyAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNfU2FtcGxlcjJEQXJyYXlTaGFkb3cxX0Zsb2F0
M19GbG9hdDFfNHhJbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMyMDcpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRzRXh0X1NhbXBs
ZXIyRDFfRmxvYXQyXzR4SW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjA2KTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMDgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRzRXh0X0lTYW1wbGVyMkQxX0Zsb2F0
Ml80eEludDIgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIwNyk7CisgICAgICAgIFRTeW1i
b2xVbmlxdWVJZCgzMjA5KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCB0ZXh0dXJlR2F0aGVyT2Zmc2V0c0V4dF9VU2FtcGxlcjJEMV9GbG9hdDJfNHhJbnQyID0K
LSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMDgpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQo
MzIxMCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVy
ZUdhdGhlck9mZnNldHNFeHRfU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDIgPQotICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMzIwOSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjExKTsK
ICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVy
T2Zmc2V0c0V4dF9JU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDIgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzIxMCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjEyKTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyT2Zmc2V0
c0V4dF9VU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M180eEludDIgPQotICAgICAgICBUU3ltYm9sVW5p
cXVlSWQoMzIxMSk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjEzKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZAotICAgICAgICB0ZXh0dXJlR2F0aGVyT2Zm
c2V0c0V4dF9TYW1wbGVyMkRTaGFkb3cxX0Zsb2F0Ml9GbG9hdDFfNHhJbnQyID0gVFN5bWJvbFVu
aXF1ZUlkKDMyMTIpOworICAgICAgICB0ZXh0dXJlR2F0aGVyT2Zmc2V0c0V4dF9TYW1wbGVyMkRT
aGFkb3cxX0Zsb2F0Ml9GbG9hdDFfNHhJbnQyID0gVFN5bWJvbFVuaXF1ZUlkKDMyMTQpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVH
YXRoZXJPZmZzZXRzRXh0X1NhbXBsZXIyREFycmF5U2hhZG93MV9GbG9hdDNfRmxvYXQxXzR4SW50
MiA9IFRTeW1ib2xVbmlxdWVJZCgzMjEzKTsKKyAgICAgICAgdGV4dHVyZUdhdGhlck9mZnNldHNF
eHRfU2FtcGxlcjJEQXJyYXlTaGFkb3cxX0Zsb2F0M19GbG9hdDFfNHhJbnQyID0gVFN5bWJvbFVu
aXF1ZUlkKDMyMTUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IHRleHR1cmVHYXRoZXJPZmZzZXRfU2FtcGxlcjJEMV9GbG9hdDJfSW50Ml9JbnQxID0KLSAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMyMTQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIxNik7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhl
ck9mZnNldF9JU2FtcGxlcjJEMV9GbG9hdDJfSW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVu
aXF1ZUlkKDMyMTUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIxNyk7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9VU2Ft
cGxlcjJEMV9GbG9hdDJfSW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMTYp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIxOCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9TYW1wbGVyMkRBcnJheTFf
RmxvYXQzX0ludDJfSW50MSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjE3KTsKKyAgICAg
ICAgVFN5bWJvbFVuaXF1ZUlkKDMyMTkpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRfSVNhbXBsZXIyREFycmF5MV9GbG9hdDNf
SW50Ml9JbnQxID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMTgpOworICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzIyMCk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9VU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19JbnQyX0lu
dDEgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIxOSk7CisgICAgICAgIFRTeW1ib2xVbmlx
dWVJZCgzMjIxKTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0
ZXh0dXJlR2F0aGVyT2Zmc2V0X1NhbXBsZXIyRDFfRmxvYXQyX0ludDIgPQotICAgICAgICBUU3lt
Ym9sVW5pcXVlSWQoMzIyMCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjIyKTsKICAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlR2F0aGVyT2Zmc2V0
X0lTYW1wbGVyMkQxX0Zsb2F0Ml9JbnQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMjEp
OworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIyMyk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9VU2FtcGxlcjJEMV9GbG9h
dDJfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjIyKTsKKyAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMyMjQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIHRleHR1cmVHYXRoZXJPZmZzZXRfU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19JbnQyID0KLSAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMjMpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIy
NSk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdh
dGhlck9mZnNldF9JU2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19JbnQyID0KLSAgICAgICAgVFN5bWJv
bFVuaXF1ZUlkKDMyMjQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIyNik7CiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9V
U2FtcGxlcjJEQXJyYXkxX0Zsb2F0M19JbnQyID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMy
MjUpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzIyNyk7CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZUdhdGhlck9mZnNldF9TYW1wbGVyMkRTaGFk
b3cxX0Zsb2F0Ml9GbG9hdDFfSW50MiA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjI2KTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyMjgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkCi0gICAgICAgIHRleHR1cmVHYXRoZXJPZmZzZXRfU2FtcGxlcjJE
QXJyYXlTaGFkb3cxX0Zsb2F0M19GbG9hdDFfSW50MiAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjI3
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR4X0Zsb2F0
MSAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMjgpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHhfRmxvYXQyICAgICAgICAgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzIyOSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgZEZkeF9GbG9hdDMgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMjMwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBk
RmR4X0Zsb2F0NCAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMzEpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlfRmxvYXQxICAgICAg
ICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzIzMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZEZkeV9GbG9hdDIgICAgICAgICAgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMjMzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBkRmR5X0Zsb2F0MyAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMy
MzQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlfRmxv
YXQ0ICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzIzNSk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoX0Zsb2F0MSAgICAgICAgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjM2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBmd2lkdGhfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDMyMzcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGZ3aWR0aF9GbG9hdDMgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzIzOCk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoX0Zsb2F0NCAg
ICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjM5KTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNDb3VudGVyX0F0b21pY0NvdW50ZXIxID0g
VFN5bWJvbFVuaXF1ZUlkKDMyNDApOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIHB0MDBHICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzI0MSk7CisgICAgICAgIHRleHR1cmVHYXRoZXJPZmZzZXRfU2FtcGxlcjJEQXJyYXlTaGFkb3cx
X0Zsb2F0M19GbG9hdDFfSW50MiAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjI5KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR4X0Zsb2F0MSAgICAgICAgICAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHhfRmxvYXQyICAgICAgICAgICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzIzMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgZEZkeF9GbG9hdDMgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjMyKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR4X0Zsb2F0NCAg
ICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMzMpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlfRmxvYXQxICAgICAgICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzIzNCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZEZkeV9GbG9hdDIgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMjM1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBkRmR5
X0Zsb2F0MyAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMzYpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGRGZHlfRmxvYXQ0ICAgICAgICAg
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzIzNyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoX0Zsb2F0MSAgICAgICAgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMjM4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBmd2lkdGhfRmxvYXQyICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMyMzkp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGZ3aWR0aF9GbG9h
dDMgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI0MCk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZndpZHRoX0Zsb2F0NCAgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgzMjQxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBhdG9taWNDb3VudGVyX0F0b21pY0NvdW50ZXIxID0gVFN5bWJvbFVuaXF1
ZUlkKDMyNDIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIHB0
MDBHICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI0Myk7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljQ291bnRlckluY3Jl
bWVudF9BdG9taWNDb3VudGVyMSA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMjQyKTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMyNDQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGF0b21pY0NvdW50ZXJEZWNyZW1lbnRfQXRvbWljQ291bnRlcjEgPQot
ICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzI0Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljQWRkX1VJbnQxX1VJbnQxICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzI0NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgcHRfaW9fMDBFICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzI0NSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWlj
QWRkX0ludDFfSW50MSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI0Nik7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHRfaW9fMDBEICAgICAgICAg
ICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI0Nyk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljTWluX1VJbnQxX1VJbnQxICAgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI0OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgYXRvbWljTWluX0ludDFfSW50MSAgICAgICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzI0OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgYXRvbWljTWF4X1VJbnQxX1VJbnQxICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1
MCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljTWF4
X0ludDFfSW50MSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1MSk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljQW5kX1VJbnQxX1VJbnQx
ICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljQW5kX0ludDFfSW50MSAgICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzI1Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgYXRvbWljT3JfVUludDFfVUludDEgICAgICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMzI1NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
YXRvbWljT3JfSW50MV9JbnQxICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1NSk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljWG9yX1VJ
bnQxX1VJbnQxICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1Nik7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljWG9yX0ludDFfSW50MSAgICAg
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI1Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljRXhjaGFuZ2VfVUludDFfVUludDEgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzI1OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgYXRvbWljRXhjaGFuZ2VfSW50MV9JbnQxICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzI1OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRv
bWljQ29tcFN3YXBfVUludDFfVUludDFfVUludDEgPSBUU3ltYm9sVW5pcXVlSWQoMzI2MCk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYXRvbWljQ29tcFN3YXBf
SW50MV9JbnQxX0ludDEgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2MSk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX0ltYWdlMkQxICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgcHQwMHogICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzI2Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgaW1hZ2VTaXplX0lJbWFnZTJEMSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzI2NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUEg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2NSk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX1VJbWFnZTJE
MSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2Nik7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX0ltYWdlM0QxICAgICAgICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzI2OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgcHQwMUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI2
OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXpl
X0lJbWFnZTNEMSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3MCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX1VJbWFnZTNEMSAgICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzI3Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgcHQwMUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMzI3Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
aW1hZ2VTaXplX0ltYWdlMkRBcnJheTEgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3NCk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUYgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3NSk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX0lJbWFnZTJEQXJyYXkx
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzI3Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgaW1hZ2VTaXplX1VJbWFnZTJEQXJyYXkxICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzI3OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQw
MUggICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI3OSk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX0ltYWdl
Q3ViZTEgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4MCk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTaXplX0lJbWFnZUN1YmUxICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzI4Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgcHQwMUogICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzI4Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VT
aXplX1VJbWFnZUN1YmUxICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4NCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgcHQwMUsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4NSk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX0ltYWdlMkQxX0ludDIgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX0lJbWFnZTJEMV9JbnQyICAgICAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzI4Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgaW1hZ2VMb2FkX1VJbWFnZTJEMV9JbnQyICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4
OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2Fk
X0ltYWdlM0QxX0ludDMgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI4OSk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX0lJbWFnZTNEMV9J
bnQzICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5MCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX1VJbWFnZTNEMV9JbnQzICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzI5MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgaW1hZ2VMb2FkX0ltYWdlMkRBcnJheTFfSW50MyAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMzI5Mik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
aW1hZ2VMb2FkX0lJbWFnZTJEQXJyYXkxX0ludDMgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5Myk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX1VJ
bWFnZTJEQXJyYXkxX0ludDMgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5NCk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX0ltYWdlQ3ViZTFfSW50
MyAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5NSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VMb2FkX0lJbWFnZUN1YmUxX0ludDMgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzI5Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgaW1hZ2VMb2FkX1VJbWFnZUN1YmUxX0ludDMgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzI5Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1h
Z2VTdG9yZV9JbWFnZTJEMV9JbnQyX0Zsb2F0NCAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5OCk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTdG9yZV9JSW1h
Z2UyRDFfSW50Ml9JbnQ0ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzI5OSk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTdG9yZV9VSW1hZ2UyRDFfSW50Ml9V
SW50NCAgPSBUU3ltYm9sVW5pcXVlSWQoMzMwMCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VTdG9yZV9JbWFnZTNEMV9JbnQzX0Zsb2F0NCAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzMwMSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgaW1hZ2VTdG9yZV9JSW1hZ2UzRDFfSW50M19JbnQ0ICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzMwMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgaW1hZ2VT
dG9yZV9VSW1hZ2UzRDFfSW50M19VSW50NCAgPSBUU3ltYm9sVW5pcXVlSWQoMzMwMyk7CisgICAg
ICAgIFRTeW1ib2xVbmlxdWVJZCgzMjQ1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBhdG9taWNBZGRfVUludDFfVUludDEgICAgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMjQ2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBwdF9pb18wMEUgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjQ3
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNBZGRf
SW50MV9JbnQxICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjQ4KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdF9pb18wMEQgICAgICAgICAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjQ5KTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNNaW5fVUludDFfVUludDEgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgzMjUwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBhdG9taWNNaW5fSW50MV9JbnQxICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMjUxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBh
dG9taWNNYXhfVUludDFfVUludDEgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjUyKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNNYXhfSW50
MV9JbnQxICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjUzKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNBbmRfVUludDFfVUludDEgICAg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjU0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNBbmRfSW50MV9JbnQxICAgICAgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMjU1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBhdG9taWNPcl9VSW50MV9VSW50MSAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMjU2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9t
aWNPcl9JbnQxX0ludDEgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjU3KTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNYb3JfVUludDFf
VUludDEgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjU4KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNYb3JfSW50MV9JbnQxICAgICAgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjU5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNFeGNoYW5nZV9VSW50MV9VSW50MSAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMjYwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBhdG9taWNFeGNoYW5nZV9JbnQxX0ludDEgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgz
MjYxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWND
b21wU3dhcF9VSW50MV9VSW50MV9VSW50MSA9IFRTeW1ib2xVbmlxdWVJZCgzMjYyKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhdG9taWNDb21wU3dhcF9JbnQx
X0ludDFfSW50MSAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjYzKTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfSW1hZ2UyRDEgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgzMjY0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBwdDAweiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMjY1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBpbWFnZVNpemVfSUltYWdlMkQxICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjY2
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxQSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjY3KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfVUltYWdlMkQxICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjY4KTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxQiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgzMjY5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBpbWFnZVNpemVfSW1hZ2UzRDEgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMjcwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBw
dDAxQyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjcxKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfSUlt
YWdlM0QxICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjcyKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxRCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjczKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfVUltYWdlM0QxICAgICAgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMjc0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBwdDAxRSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMjc1KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFn
ZVNpemVfSW1hZ2UyREFycmF5MSAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjc2KTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxRiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjc3KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfSUltYWdlMkRBcnJheTEgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjc4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBwdDAxRyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMjc5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBpbWFnZVNpemVfVUltYWdlMkRBcnJheTEgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgz
MjgwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxSCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjgxKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfSW1hZ2VDdWJl
MSAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjgyKTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxSSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgzMjgzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBpbWFnZVNpemVfSUltYWdlQ3ViZTEgICAgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMjg0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBwdDAxSiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjg1
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVNpemVf
VUltYWdlQ3ViZTEgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjg2KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBwdDAxSyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjg3KTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfSW1hZ2UyRDFfSW50MiAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgzMjg4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBpbWFnZUxvYWRfSUltYWdlMkQxX0ludDIgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMjg5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBp
bWFnZUxvYWRfVUltYWdlMkQxX0ludDIgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjkwKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfSW1h
Z2UzRDFfSW50MyAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjkxKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfSUltYWdlM0QxX0ludDMg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjkyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfVUltYWdlM0QxX0ludDMgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMjkzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBpbWFnZUxvYWRfSW1hZ2UyREFycmF5MV9JbnQzICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMjk0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFn
ZUxvYWRfSUltYWdlMkRBcnJheTFfSW50MyAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjk1KTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfVUltYWdl
MkRBcnJheTFfSW50MyAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjk2KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfSW1hZ2VDdWJlMV9JbnQzICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMjk3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBpbWFnZUxvYWRfSUltYWdlQ3ViZTFfSW50MyAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMjk4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBpbWFnZUxvYWRfVUltYWdlQ3ViZTFfSW50MyAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgz
Mjk5KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0
b3JlX0ltYWdlMkQxX0ludDJfRmxvYXQ0ICA9IFRTeW1ib2xVbmlxdWVJZCgzMzAwKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0b3JlX0lJbWFnZTJE
MV9JbnQyX0ludDQgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzAxKTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0b3JlX1VJbWFnZTJEMV9JbnQyX1VJbnQ0
ICA9IFRTeW1ib2xVbmlxdWVJZCgzMzAyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBpbWFnZVN0b3JlX0ltYWdlM0QxX0ludDNfRmxvYXQ0ICA9IFRTeW1ib2xV
bmlxdWVJZCgzMzAzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBpbWFnZVN0b3JlX0lJbWFnZTNEMV9JbnQzX0ludDQgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzA0
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0b3Jl
X1VJbWFnZTNEMV9JbnQzX1VJbnQ0ICA9IFRTeW1ib2xVbmlxdWVJZCgzMzA1KTsKICAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0b3JlX0ltYWdlMkRBcnJh
eTFfSW50M19GbG9hdDQgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzMwNCk7CisgICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMzA2KTsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBpbWFnZVN0b3JlX0lJbWFnZTJEQXJyYXkxX0ludDNfSW50NCA9Ci0gICAgICAg
IFRTeW1ib2xVbmlxdWVJZCgzMzA1KTsKKyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzMDcpOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGltYWdlU3RvcmVfVUlt
YWdlMkRBcnJheTFfSW50M19VSW50NCA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMzA2KTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzMDgpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGltYWdlU3RvcmVfSW1hZ2VDdWJlMV9JbnQzX0Zsb2F0NCA9Ci0g
ICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMzA3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBpbWFnZVN0b3JlX0lJbWFnZUN1YmUxX0ludDNfSW50NCA9IFRTeW1i
b2xVbmlxdWVJZCgzMzA4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBpbWFnZVN0b3JlX1VJbWFnZUN1YmUxX0ludDNfVUludDQgPQogICAgICAgICBUU3ltYm9s
VW5pcXVlSWQoMzMwOSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgbWVtb3J5QmFycmllciAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMxMCk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgbWVtb3J5QmFycmllckF0
b21pY0NvdW50ZXIgPSBUU3ltYm9sVW5pcXVlSWQoMzMxMSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgbWVtb3J5QmFycmllckJ1ZmZlciAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzMxMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgbWVtb3J5QmFycmllckltYWdlICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMxMyk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYmFycmllciAgICAg
ICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMxNCk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgbWVtb3J5QmFycmllclNoYXJlZCAgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzMxNSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZ3JvdXBNZW1vcnlCYXJyaWVyICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMx
Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgRW1pdFZlcnRl
eCAgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMxNyk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgRW5kUHJpbWl0aXZlICAgICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzMxOCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgaW1hZ2VTdG9yZV9JSW1hZ2VDdWJlMV9JbnQzX0ludDQgPSBUU3ltYm9sVW5p
cXVlSWQoMzMxMCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
aW1hZ2VTdG9yZV9VSW1hZ2VDdWJlMV9JbnQzX1VJbnQ0ID0KKyAgICAgICAgVFN5bWJvbFVuaXF1
ZUlkKDMzMTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1l
bW9yeUJhcnJpZXIgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTIpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1lbW9yeUJhcnJpZXJBdG9taWND
b3VudGVyID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIG1lbW9yeUJhcnJpZXJCdWZmZXIgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDMzMTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IG1lbW9yeUJhcnJpZXJJbWFnZSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTUpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGJhcnJpZXIgICAgICAgICAg
ICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIG1lbW9yeUJhcnJpZXJTaGFyZWQgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDMzMTcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdyb3VwTWVtb3J5QmFycmllciAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIEVtaXRWZXJ0ZXggICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMTkpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIEVuZFByaW1pdGl2ZSAgICAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDMzMjApOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIHRleHR1cmVWaWRlb1dFQkdMX1NhbXBsZXJWaWRlb1dFQkdMMV9GbG9hdDIgPQotICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzMxOSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgcHQwMHkgPSBUU3ltYm9sVW5pcXVlSWQoMzMyMCk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgdGV4dHVyZV9TYW1wbGVyVmlkZW9XRUJH
TDFfRmxvYXQyID0KICAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzMjEpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0RlcHRoUmFuZ2VQYXJhbWV0ZXJzICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMyMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgZ2xfRGVwdGhSYW5nZSAgICAgICAgICAgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMzIzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBnbF9NYXhWZXJ0ZXhBdHRyaWJzICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMz
MjQpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heFZl
cnRleFVuaWZvcm1WZWN0b3JzICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMyNSk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4VmVydGV4VGV4dHVyZUlt
YWdlVW5pdHMgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzI2KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21iaW5lZFRleHR1cmVJbWFnZVVuaXRzID0g
VFN5bWJvbFVuaXF1ZUlkKDMzMjcpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGdsX01heFRleHR1cmVJbWFnZVVuaXRzICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzMyOCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xf
TWF4RnJhZ21lbnRVbmlmb3JtVmVjdG9ycyAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzI5KTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhWYXJ5aW5nVmVj
dG9ycyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMzApOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heERyYXdCdWZmZXJzICAgICAgICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMzMSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgZ2xfTWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzRVhUICA9IFRTeW1ib2xV
bmlxdWVJZCgzMzMyKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9NYXhWZXJ0ZXhPdXRwdXRWZWN0b3JzICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMzMp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEZyYWdt
ZW50SW5wdXRWZWN0b3JzICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMzNCk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWluUHJvZ3JhbVRleGVsT2Zmc2V0
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzM1KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDMzMzYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdsX01heEltYWdlVW5pdHMgICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzMzNyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4
VmVydGV4SW1hZ2VVbmlmb3JtcyAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzM4KTsKLSAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhGcmFnbWVudEltYWdl
VW5pZm9ybXMgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMzkpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENvbXB1dGVJbWFnZVVuaWZvcm1zICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzM0MCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZ2xfTWF4Q29tYmluZWRJbWFnZVVuaWZvcm1zICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMzQxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBw
dDAweSA9IFRTeW1ib2xVbmlxdWVJZCgzMzIyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCB0ZXh0dXJlX1NhbXBsZXJWaWRlb1dFQkdMMV9GbG9hdDIgPQorICAg
ICAgICBUU3ltYm9sVW5pcXVlSWQoMzMyMyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgZ2xfRGVwdGhSYW5nZVBhcmFtZXRlcnMgICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMzI0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9EZXB0aFJhbmdlICAgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMjUp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heFZlcnRl
eEF0dHJpYnMgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMyNik7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4VmVydGV4VW5pZm9ybVZlY3Rv
cnMgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzI3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhWZXJ0ZXhUZXh0dXJlSW1hZ2VVbml0cyAgID0gVFN5
bWJvbFVuaXF1ZUlkKDMzMjgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdsX01heENvbWJpbmVkVGV4dHVyZUltYWdlVW5pdHMgPSBUU3ltYm9sVW5pcXVlSWQo
MzMyOSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4
VGV4dHVyZUltYWdlVW5pdHMgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzMwKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhGcmFnbWVudFVuaWZv
cm1WZWN0b3JzICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMzEpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heFZhcnlpbmdWZWN0b3JzICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzMzMik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZ2xfTWF4RHJhd0J1ZmZlcnMgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMzMzKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBn
bF9NYXhEdWFsU291cmNlRHJhd0J1ZmZlcnNFWFQgID0gVFN5bWJvbFVuaXF1ZUlkKDMzMzQpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heFZlcnRleE91
dHB1dFZlY3RvcnMgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMzNSk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4RnJhZ21lbnRJbnB1dFZlY3RvcnMg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzM2KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9NaW5Qcm9ncmFtVGV4ZWxPZmZzZXQgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDMzMzcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdsX01heFByb2dyYW1UZXhlbE9mZnNldCAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzMz
OCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4SW1h
Z2VVbml0cyAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzM5KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhWZXJ0ZXhJbWFnZVVuaWZv
cm1zICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNDApOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEZyYWdtZW50SW1hZ2VVbmlmb3JtcyAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzM0MSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZ2xfTWF4Q29tcHV0ZUltYWdlVW5pZm9ybXMgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMzQyKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9N
YXhDb21iaW5lZEltYWdlVW5pZm9ybXMgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNDMpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENvbWJpbmVkU2hh
ZGVyT3V0cHV0UmVzb3VyY2VzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzNDIpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENvbXB1dGVXb3Jr
R3JvdXBDb3VudCAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzQzKTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21wdXRlV29ya0dyb3VwU2l6ZSAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzM0NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZ2xfTWF4Q29tcHV0ZVVuaWZvcm1Db21wb25lbnRzID0gVFN5bWJvbFVuaXF1
ZUlkKDMzNDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGds
X01heENvbXB1dGVUZXh0dXJlSW1hZ2VVbml0cyA9IFRTeW1ib2xVbmlxdWVJZCgzMzQ2KTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21wdXRlQXRv
bWljQ291bnRlcnMgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM0Nyk7CisgICAgICAgIFRTeW1ib2xV
bmlxdWVJZCgzMzQ0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9NYXhDb21wdXRlV29ya0dyb3VwQ291bnQgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM0NSk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4Q29tcHV0
ZVdvcmtHcm91cFNpemUgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNDYpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENvbXB1dGVVbmlmb3JtQ29tcG9u
ZW50cyA9IFRTeW1ib2xVbmlxdWVJZCgzMzQ3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21wdXRlVGV4dHVyZUltYWdlVW5pdHMgPSBUU3ltYm9s
VW5pcXVlSWQoMzM0OCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgZ2xfTWF4Q29tcHV0ZUF0b21pY0NvdW50ZXJzICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNDkp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENvbXB1
dGVBdG9taWNDb3VudGVyQnVmZmVycyA9Ci0gICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMzQ4KTsK
LSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhWZXJ0ZXhB
dG9taWNDb3VudGVycyAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzQ5KTsKLSAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhGcmFnbWVudEF0b21pY0NvdW50
ZXJzICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzUwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJzICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMzUxKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBnbF9NYXhBdG9taWNDb3VudGVyQmluZGluZ3MgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMzUyKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9N
YXhWZXJ0ZXhBdG9taWNDb3VudGVyQnVmZmVycyA9IFRTeW1ib2xVbmlxdWVJZCgzMzUzKTsKKyAg
ICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzNTApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdsX01heFZlcnRleEF0b21pY0NvdW50ZXJzICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDMzNTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdsX01heEZyYWdtZW50QXRvbWljQ291bnRlcnMgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMz
NTIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENv
bWJpbmVkQXRvbWljQ291bnRlcnMgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNTMpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEF0b21pY0NvdW50ZXJC
aW5kaW5ncyAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNTQpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heFZlcnRleEF0b21pY0NvdW50ZXJCdWZmZXJz
ID0gVFN5bWJvbFVuaXF1ZUlkKDMzNTUpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdsX01heEZyYWdtZW50QXRvbWljQ291bnRlckJ1ZmZlcnMgPQotICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMzM1NCk7CisgICAgICAgIFRTeW1ib2xVbmlxdWVJZCgzMzU2KTsK
ICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhDb21iaW5l
ZEF0b21pY0NvdW50ZXJCdWZmZXJzID0KLSAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzNTUpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEF0b21pY0Nv
dW50ZXJCdWZmZXJTaXplICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM1Nik7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2VvbWV0cnlJbnB1dENvbXBvbmVu
dHMgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzU3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhHZW9tZXRyeU91dHB1dENvbXBvbmVudHMgID0gVFN5bWJv
bFVuaXF1ZUlkKDMzNTgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdsX01heEdlb21ldHJ5SW1hZ2VVbmlmb3JtcyAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM1
OSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2Vv
bWV0cnlUZXh0dXJlSW1hZ2VVbml0cyA9IFRTeW1ib2xVbmlxdWVJZCgzMzYwKTsKLSAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhHZW9tZXRyeU91dHB1dFZl
cnRpY2VzICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNjEpOworICAgICAgICBUU3ltYm9sVW5pcXVl
SWQoMzM1Nyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xf
TWF4QXRvbWljQ291bnRlckJ1ZmZlclNpemUgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzU4KTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhHZW9tZXRyeUlu
cHV0Q29tcG9uZW50cyAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNTkpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEdlb21ldHJ5T3V0cHV0Q29tcG9uZW50
cyAgPSBUU3ltYm9sVW5pcXVlSWQoMzM2MCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2VvbWV0cnlJbWFnZVVuaWZvcm1zICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMzYxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9NYXhHZW9tZXRyeVRleHR1cmVJbWFnZVVuaXRzID0gVFN5bWJvbFVuaXF1ZUlkKDMzNjIp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heEdlb21l
dHJ5T3V0cHV0VmVydGljZXMgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM2Myk7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2VvbWV0cnlUb3RhbE91dHB1
dENvbXBvbmVudHMgPQotICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzM2Mik7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2VvbWV0cnlVbmlmb3JtQ29t
cG9uZW50cyA9IFRTeW1ib2xVbmlxdWVJZCgzMzYzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhHZW9tZXRyeUF0b21pY0NvdW50ZXJzICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDMzNjQpOworICAgICAgICBUU3ltYm9sVW5pcXVlSWQoMzM2NCk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4R2VvbWV0cnlVbmlm
b3JtQ29tcG9uZW50cyA9IFRTeW1ib2xVbmlxdWVJZCgzMzY1KTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9NYXhHZW9tZXRyeUF0b21pY0NvdW50ZXJzICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDMzNjYpOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdsX01heEdlb21ldHJ5QXRvbWljQ291bnRlckJ1ZmZlcnMgPQotICAgICAg
ICBUU3ltYm9sVW5pcXVlSWQoMzM2NSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZ2xfRnJhZ0Nvb3JkICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMz
NjYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0Zyb250
RmFjaW5nICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzY3KTsKLSAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Qb2ludENvb3JkICAgICAgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzM2OCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZ2xfRnJhZ0NvbG9yICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNjkp
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0ZyYWdEYXRh
ICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzcwKTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9GcmFnRGVwdGggICAgICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzM3MSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgZ2xfSGVscGVySW52b2NhdGlvbiAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNzIpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1NlY29uZGFyeUZy
YWdDb2xvckVYVCA9IFRTeW1ib2xVbmlxdWVJZCgzMzczKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9TZWNvbmRhcnlGcmFnRGF0YUVYVCAgPSBUU3ltYm9s
VW5pcXVlSWQoMzM3NCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgZ2xfRnJhZ0RlcHRoRVhUICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNzUpOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xhc3RGcmFnRGF0YSAg
ICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzc2KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXN0RnJhZ0NvbG9yICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMzM3Nyk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
Z2xfTGFzdEZyYWdEYXRhTlYgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNzgpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xhc3RGcmFnQ29sb3JBUk0g
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzc5KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9QcmltaXRpdmVJRCAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzM4MCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xf
TGF5ZXIgICAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzODEpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1Bvc2l0aW9uICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgzMzgyKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBnbF9Qb2ludFNpemUgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzM4Myk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfSW5z
dGFuY2VJRCAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzODQpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0luc3RhbmNlSW5kZXggICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgzMzg1KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBnbF9WZXJ0ZXhJRCAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM4
Nik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfVmVydGV4
SW5kZXggICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzODcpOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ZpZXdwb3J0SW5kZXggICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgzMzg4KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBnbF9MYXllclZTICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM4OSk7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfRHJhd0lEICAg
ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzOTApOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0Jhc2VWZXJ0ZXggICAgICAgICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgzMzkxKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBnbF9CYXNlSW5zdGFuY2UgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM5Mik7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgYW5nbGVfQmFzZVZlcnRl
eCAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzOTMpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFuZ2xlX0Jhc2VJbnN0YW5jZSAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgzMzk0KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9OdW1Xb3JrR3JvdXBzICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM5NSk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfV29ya0dyb3VwU2l6ZSAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzOTYpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1dvcmtHcm91cElEICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMzk3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBn
bF9Mb2NhbEludm9jYXRpb25JRCAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM5OCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfR2xvYmFsSW52b2NhdGlvbklE
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzOTkpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdsX0xvY2FsSW52b2NhdGlvbkluZGV4ICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzNDAwKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Q
cmltaXRpdmVJREluICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzQwMSk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfSW52b2NhdGlvbklEICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDM0MDIpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdsX1ByaW1pdGl2ZUlER1MgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgz
NDAzKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXll
ckdTICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzQwNCk7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUGVyVmVydGV4ICAgICAgICAgICAgID0g
VFN5bWJvbFVuaXF1ZUlkKDM0MDUpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGdsX2luICAgICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzNDA2
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9QZXJWZXJ0
ZXhPdXRCbG9jayAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzQwNyk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUG9zaXRpb25HUyAgICAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDM0MDgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdsX1ZpZXdJRF9PVlIgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzNDA5KTsK
KyAgICAgICAgVFN5bWJvbFVuaXF1ZUlkKDMzNjcpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0ZyYWdDb29yZCAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgzMzY4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBn
bF9Gcm9udEZhY2luZyAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM2OSk7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUG9pbnRDb29yZCAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzNzApOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdsX0ZyYWdDb2xvciAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgzMzcxKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9G
cmFnRGF0YSAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM3Mik7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfRnJhZ0RlcHRoICAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDMzNzMpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5
bWJvbFVuaXF1ZUlkIGdsX0hlbHBlckludm9jYXRpb24gICAgICA9IFRTeW1ib2xVbmlxdWVJZCgz
Mzc0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9TZWNv
bmRhcnlGcmFnQ29sb3JFWFQgPSBUU3ltYm9sVW5pcXVlSWQoMzM3NSk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfU2Vjb25kYXJ5RnJhZ0RhdGFFWFQgID0g
VFN5bWJvbFVuaXF1ZUlkKDMzNzYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJv
bFVuaXF1ZUlkIGdsX0ZyYWdEZXB0aEVYVCAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzc3
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXN0RnJh
Z0RhdGEgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM3OCk7CisgICAgc3RhdGljIGNvbnN0
ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTGFzdEZyYWdDb2xvciAgICAgICAgID0gVFN5
bWJvbFVuaXF1ZUlkKDMzNzkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVu
aXF1ZUlkIGdsX0xhc3RGcmFnRGF0YU5WICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzgwKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXN0RnJhZ0Nv
bG9yQVJNICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM4MSk7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUHJpbWl0aXZlSUQgICAgICAgICAgID0gVFN5bWJv
bFVuaXF1ZUlkKDMzODIpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1
ZUlkIGdsX0xheWVyICAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzgzKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Qb3NpdGlvbiAgICAg
ICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM4NCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUG9pbnRTaXplICAgICAgICAgICAgID0gVFN5bWJvbFVu
aXF1ZUlkKDMzODUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlk
IGdsX0luc3RhbmNlSUQgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzg2KTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9JbnN0YW5jZUluZGV4ICAg
ICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM4Nyk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBUU3ltYm9sVW5pcXVlSWQgZ2xfVmVydGV4SUQgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1
ZUlkKDMzODgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGds
X1ZlcnRleEluZGV4ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzg5KTsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9WaWV3cG9ydEluZGV4ICAgICAg
ICAgPSBUU3ltYm9sVW5pcXVlSWQoMzM5MCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBU
U3ltYm9sVW5pcXVlSWQgZ2xfTGF5ZXJWUyAgICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlk
KDMzOTEpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0Ry
YXdJRCAgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzkyKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9CYXNlVmVydGV4ICAgICAgICAgICAg
PSBUU3ltYm9sVW5pcXVlSWQoMzM5Myk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3lt
Ym9sVW5pcXVlSWQgZ2xfQmFzZUluc3RhbmNlICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMz
OTQpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFuZ2xlX0Jh
c2VWZXJ0ZXggICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzk1KTsKKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBhbmdsZV9CYXNlSW5zdGFuY2UgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMzM5Nik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgZ2xfQ2xpcERpc3RhbmNlICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDMzOTcp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX01heENsaXBE
aXN0YW5jZXMgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzMzk4KTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9OdW1Xb3JrR3JvdXBzICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMzM5OSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgZ2xfV29ya0dyb3VwU2l6ZSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDM0MDApOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1dvcmtHcm91cElE
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzNDAxKTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Mb2NhbEludm9jYXRpb25JRCAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMzQwMik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgZ2xfR2xvYmFsSW52b2NhdGlvbklEICAgID0gVFN5bWJvbFVuaXF1ZUlkKDM0MDMpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xvY2FsSW52b2NhdGlv
bkluZGV4ICA9IFRTeW1ib2xVbmlxdWVJZCgzNDA0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9QcmltaXRpdmVJREluICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMzQwNSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
Z2xfSW52b2NhdGlvbklEICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDM0MDYpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ByaW1pdGl2ZUlER1MgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgzNDA3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXllckdTICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMzQwOCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xf
UGVyVmVydGV4ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDM0MDkpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX2luICAgICAgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgzNDEwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBnbF9QZXJWZXJ0ZXhPdXRCbG9jayAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MzQxMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUG9z
aXRpb25HUyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDM0MTIpOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ZpZXdJRF9PVlIgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgzNDEzKTsKIAogfTsgIC8vIGNsYXNzIEJ1aWx0SW5JZAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90
cmVlX3V0aWwvQnVpbHRJbl9jb21wbGV0ZV9hdXRvZ2VuLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvQnVpbHRJbl9jb21wbGV0ZV9h
dXRvZ2VuLmgKaW5kZXggMTljOTBjMmQwOTAwNzA5Yzk3Zjk1ZTIzZjZkZWY5YmQwYTBmZmJkZS4u
ZTUxMGM3MzdkNDU2YzU1Y2MxYjljZDRmZWMzOGMwZDRhY2E1YzRkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0J1
aWx0SW5fY29tcGxldGVfYXV0b2dlbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9CdWlsdEluX2NvbXBsZXRlX2F1dG9nZW4u
aApAQCAtMzUwOCwyMSArMzUwOCwyMyBAQCBjbGFzcyBCdWlsdEluSWQKICAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9CYXNlSW5zdGFuY2UgICAgICAgICAgPSBU
U3ltYm9sVW5pcXVlSWQoMjMwMyk7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9s
VW5pcXVlSWQgYW5nbGVfQmFzZVZlcnRleCAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMDQp
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGFuZ2xlX0Jhc2VJ
bnN0YW5jZSAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyMzA1KTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9OdW1Xb3JrR3JvdXBzICAgICAgICAgPSBUU3lt
Ym9sVW5pcXVlSWQoMjMwNik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5p
cXVlSWQgZ2xfV29ya0dyb3VwU2l6ZSAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMDcpOwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1dvcmtHcm91cElE
ICAgICAgICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyMzA4KTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Mb2NhbEludm9jYXRpb25JRCAgICAgPSBUU3ltYm9s
VW5pcXVlSWQoMjMwOSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVl
SWQgZ2xfR2xvYmFsSW52b2NhdGlvbklEICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTApOwotICAg
IHN0YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xvY2FsSW52b2NhdGlv
bkluZGV4ICA9IFRTeW1ib2xVbmlxdWVJZCgyMzExKTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9QcmltaXRpdmVJREluICAgICAgICAgPSBUU3ltYm9sVW5p
cXVlSWQoMjMxMik7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQg
Z2xfSW52b2NhdGlvbklEICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTMpOwotICAgIHN0
YXRpYyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ByaW1pdGl2ZUlER1MgICAg
ICAgICA9IFRTeW1ib2xVbmlxdWVJZCgyMzE0KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0
IFRTeW1ib2xVbmlxdWVJZCBnbF9MYXllckdTICAgICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVl
SWQoMjMxNSk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xf
UGVyVmVydGV4ICAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTYpOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX2luICAgICAgICAgICAgICAgICAg
ICA9IFRTeW1ib2xVbmlxdWVJZCgyMzE3KTsKLSAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRT
eW1ib2xVbmlxdWVJZCBnbF9QZXJWZXJ0ZXhPdXRCbG9jayAgICAgPSBUU3ltYm9sVW5pcXVlSWQo
MjMxOCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUG9z
aXRpb25HUyAgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTkpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ZpZXdJRF9PVlIgICAgICAgICAgICA9
IFRTeW1ib2xVbmlxdWVJZCgyMzIwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1i
b2xVbmlxdWVJZCBnbF9DbGlwRGlzdGFuY2UgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMw
Nik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTWF4Q2xp
cERpc3RhbmNlcyAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMDcpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX051bVdvcmtHcm91cHMgICAgICAgICA9IFRT
eW1ib2xVbmlxdWVJZCgyMzA4KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xV
bmlxdWVJZCBnbF9Xb3JrR3JvdXBTaXplICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMwOSk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfV29ya0dyb3Vw
SUQgICAgICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTApOworICAgIHN0YXRpYyBjb25zdGV4
cHIgY29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xvY2FsSW52b2NhdGlvbklEICAgICA9IFRTeW1i
b2xVbmlxdWVJZCgyMzExKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlx
dWVJZCBnbF9HbG9iYWxJbnZvY2F0aW9uSUQgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMxMik7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfTG9jYWxJbnZvY2F0
aW9uSW5kZXggID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTMpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgVFN5bWJvbFVuaXF1ZUlkIGdsX1ByaW1pdGl2ZUlESW4gICAgICAgICA9IFRTeW1ib2xV
bmlxdWVJZCgyMzE0KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJ
ZCBnbF9JbnZvY2F0aW9uSUQgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMxNSk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfUHJpbWl0aXZlSURHUyAg
ICAgICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29u
c3QgVFN5bWJvbFVuaXF1ZUlkIGdsX0xheWVyR1MgICAgICAgICAgICAgICA9IFRTeW1ib2xVbmlx
dWVJZCgyMzE3KTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBn
bF9QZXJWZXJ0ZXggICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMxOCk7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfaW4gICAgICAgICAgICAgICAg
ICAgID0gVFN5bWJvbFVuaXF1ZUlkKDIzMTkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3Qg
VFN5bWJvbFVuaXF1ZUlkIGdsX1BlclZlcnRleE91dEJsb2NrICAgICA9IFRTeW1ib2xVbmlxdWVJ
ZCgyMzIwKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IFRTeW1ib2xVbmlxdWVJZCBnbF9Q
b3NpdGlvbkdTICAgICAgICAgICAgPSBUU3ltYm9sVW5pcXVlSWQoMjMyMSk7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBUU3ltYm9sVW5pcXVlSWQgZ2xfVmlld0lEX09WUiAgICAgICAgICAg
ID0gVFN5bWJvbFVuaXF1ZUlkKDIzMjIpOwogCiB9OyAgLy8gY2xhc3MgQnVpbHRJbklkCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L3RyZWVfdXRpbC9JbnRlcm1Ob2RlX3V0aWwuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybU5vZGVfdXRpbC5jcHAKaW5k
ZXggYmJjYWEzOGFjOTVlYjQ4N2ZiYjY0ZjRjZmQ5NjIyZDBmMzVjNmE5Mi4uNmFiMTNiYTQ2OTVl
YzFjNDMwYmJhMWM2Mjk2YTU2MWE0Zjk3NDMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybU5vZGVfdXRp
bC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvdHJlZV91dGlsL0ludGVybU5vZGVfdXRpbC5jcHAKQEAgLTEzMSw2ICsxMzEsMTUgQEAgVElu
dGVybUNvbnN0YW50VW5pb24gKkNyZWF0ZUluZGV4Tm9kZShpbnQgaW5kZXgpCiAgICAgcmV0dXJu
IG5ldyBUSW50ZXJtQ29uc3RhbnRVbmlvbih1LCB0eXBlKTsKIH0KIAorVEludGVybUNvbnN0YW50
VW5pb24gKkNyZWF0ZVVJbnROb2RlKHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKyAgICBUQ29uc3Rh
bnRVbmlvbiAqdSA9IG5ldyBUQ29uc3RhbnRVbmlvblsxXTsKKyAgICB1WzBdLnNldFVDb25zdCh2
YWx1ZSk7CisKKyAgICBUVHlwZSB0eXBlKEVidFVJbnQsIEVicFVuZGVmaW5lZCwgRXZxQ29uc3Qs
IDEpOworICAgIHJldHVybiBuZXcgVEludGVybUNvbnN0YW50VW5pb24odSwgdHlwZSk7Cit9CisK
IFRJbnRlcm1Db25zdGFudFVuaW9uICpDcmVhdGVCb29sTm9kZShib29sIHZhbHVlKQogewogICAg
IFRDb25zdGFudFVuaW9uICp1ID0gbmV3IFRDb25zdGFudFVuaW9uWzFdOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGls
L0ludGVybU5vZGVfdXRpbC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybU5vZGVfdXRpbC5oCmluZGV4IDQzM2I3Y2RjMGNh
MzlkMDZkYTc4ODEwMDdjNWFkZTExYTg5NmE0NjguLjM5Yjg2ZGQxYmYyOTZiNzAzOTU2ZjcxMjZk
MDc0YmQ1OWFjZTZjNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1Ob2RlX3V0aWwuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvSW50
ZXJtTm9kZV91dGlsLmgKQEAgLTI1LDYgKzI1LDcgQEAgVEludGVybUZ1bmN0aW9uRGVmaW5pdGlv
biAqQ3JlYXRlSW50ZXJuYWxGdW5jdGlvbkRlZmluaXRpb25Ob2RlKGNvbnN0IFRGdW5jdGlvbgog
VEludGVybVR5cGVkICpDcmVhdGVaZXJvTm9kZShjb25zdCBUVHlwZSAmdHlwZSk7CiBUSW50ZXJt
Q29uc3RhbnRVbmlvbiAqQ3JlYXRlRmxvYXROb2RlKGZsb2F0IHZhbHVlKTsKIFRJbnRlcm1Db25z
dGFudFVuaW9uICpDcmVhdGVJbmRleE5vZGUoaW50IGluZGV4KTsKK1RJbnRlcm1Db25zdGFudFVu
aW9uICpDcmVhdGVVSW50Tm9kZSh1bnNpZ25lZCBpbnQgdmFsdWUpOwogVEludGVybUNvbnN0YW50
VW5pb24gKkNyZWF0ZUJvb2xOb2RlKGJvb2wgdmFsdWUpOwogCiBUVmFyaWFibGUgKkNyZWF0ZVRl
bXBWYXJpYWJsZShUU3ltYm9sVGFibGUgKnN5bWJvbFRhYmxlLCBjb25zdCBUVHlwZSAqdHlwZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci90cmVlX3V0aWwvUmVwbGFjZUNsaXBEaXN0YW5jZVZhcmlhYmxlLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9SZXBsYWNl
Q2xpcERpc3RhbmNlVmFyaWFibGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzOGU5MGRjY2QxNmUxMDhjZDE5
ZWQ5ZGNiZTYyYTM0ZDc4MDNhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvUmVwbGFjZUNsaXBEaXN0
YW5jZVZhcmlhYmxlLmNwcApAQCAtMCwwICsxLDMxMiBAQAorLy8KKy8vIENvcHlyaWdodCAyMDIw
IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKy8vIFJlcGxhY2VD
bGlwRGlzdGFuY2VWYXJpYWJsZS5jcHA6IEZpbmQgYW55IHJlZmVyZW5jZXMgdG8gZ2xfQ2xpcERp
c3RhbmNlIGFuZAorLy8gcmVwbGFjZSBpdCB3aXRoIEFOR0xFQ2xpcERpc3RhbmNlLgorLy8KKwor
I2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL1JlcGxhY2VDbGlwRGlzdGFu
Y2VWYXJpYWJsZS5oIgorCisjaW5jbHVkZSAiY29tbW9uL2JpdHNldF91dGlscy5oIgorI2luY2x1
ZGUgImNvbW1vbi9kZWJ1Zy5oIgorI2luY2x1ZGUgImNvbW1vbi91dGlsaXRpZXMuaCIKKyNpbmNs
dWRlICJjb21waWxlci90cmFuc2xhdG9yL1N5bWJvbFRhYmxlLmgiCisjaW5jbHVkZSAiY29tcGls
ZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvQnVpbHRJbi5oIgorI2luY2x1ZGUgImNvbXBpbGVyL3Ry
YW5zbGF0b3IvdHJlZV91dGlsL0ludGVybU5vZGVfdXRpbC5oIgorI2luY2x1ZGUgImNvbXBpbGVy
L3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybVRyYXZlcnNlLmgiCisjaW5jbHVkZSAiY29tcGls
ZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvUnVuQXRUaGVFbmRPZlNoYWRlci5oIgorCituYW1lc3Bh
Y2Ugc2gKK3sKK25hbWVzcGFjZQoreworCit1c2luZyBDbGlwRGlzdGFuY2VJZHhTZXQgPSBhbmds
ZTo6Qml0U2V0PDMyPjsKKworLy8gVHJhdmVyc2UgdGhlIHRyZWUgYW5kIGNvbGxlY3QgdGhlIHJl
ZGVjbGFyYXRpb24gYW5kIGFsbCBjb25zdGFudCBpbmRleCByZWZlcmVuY2VzIG9mCisvLyBnbF9D
bGlwRGlzdGFuY2UKK2NsYXNzIEdMQ2xpcERpc3RhbmNlUmVmZXJlbmNlVHJhdmVyc2VyIDogcHVi
bGljIFRJbnRlcm1UcmF2ZXJzZXIKK3sKKyAgcHVibGljOgorICAgIEdMQ2xpcERpc3RhbmNlUmVm
ZXJlbmNlVHJhdmVyc2VyKGNvbnN0IFRJbnRlcm1TeW1ib2wgKipyZWRlY2xhcmVkU3ltT3V0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKm5vbkNvbnN0SWR4VXNl
ZE91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
Km1heENvbnN0SWR4T3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENs
aXBEaXN0YW5jZUlkeFNldCAqY29uc3RJbmRpY2VzT3V0KQorICAgICAgICA6IFRJbnRlcm1UcmF2
ZXJzZXIodHJ1ZSwgZmFsc2UsIGZhbHNlKSwKKyAgICAgICAgICBtUmVkZWNsYXJlZFN5bShyZWRl
Y2xhcmVkU3ltT3V0KSwKKyAgICAgICAgICBtVXNlTm9uQ29uc3RDbGlwRGlzdGFuY2VJbmRleChu
b25Db25zdElkeFVzZWRPdXQpLAorICAgICAgICAgIG1NYXhDb25zdENsaXBEaXN0YW5jZUluZGV4
KG1heENvbnN0SWR4T3V0KSwKKyAgICAgICAgICBtQ29uc3RDbGlwRGlzdGFuY2VJbmRpY2VzKGNv
bnN0SW5kaWNlc091dCkKKyAgICB7CisgICAgICAgICptUmVkZWNsYXJlZFN5bSAgICAgICAgICAg
ICAgICA9IG51bGxwdHI7CisgICAgICAgICptVXNlTm9uQ29uc3RDbGlwRGlzdGFuY2VJbmRleCA9
IGZhbHNlOworICAgICAgICAqbU1heENvbnN0Q2xpcERpc3RhbmNlSW5kZXggICAgPSAwOworICAg
ICAgICBtQ29uc3RDbGlwRGlzdGFuY2VJbmRpY2VzLT5yZXNldCgpOworICAgIH0KKworICAgIGJv
b2wgdmlzaXREZWNsYXJhdGlvbihWaXNpdCB2aXNpdCwgVEludGVybURlY2xhcmF0aW9uICpub2Rl
KSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgLy8gSWYgZ2xfQ2xpcERpc3RhbmNlIGlzIHJlZGVj
bGFyZWQsIHdlIG5lZWQgdG8gY29sbGVjdCBpdHMgaW5mb3JtYXRpb24KKyAgICAgICAgY29uc3Qg
VEludGVybVNlcXVlbmNlICZzZXF1ZW5jZSA9ICoobm9kZS0+Z2V0U2VxdWVuY2UoKSk7CisKKyAg
ICAgICAgaWYgKHNlcXVlbmNlLnNpemUoKSAhPSAxKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIFRJbnRlcm1UeXBlZCAqdmFyaWFibGUg
PSBzZXF1ZW5jZS5mcm9udCgpLT5nZXRBc1R5cGVkKCk7CisgICAgICAgIGlmICghdmFyaWFibGUt
PmdldEFzU3ltYm9sTm9kZSgpIHx8CisgICAgICAgICAgICB2YXJpYWJsZS0+Z2V0QXNTeW1ib2xO
b2RlKCktPmdldE5hbWUoKSAhPSAiZ2xfQ2xpcERpc3RhbmNlIikKKyAgICAgICAgeworICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICAqbVJlZGVjbGFyZWRTeW0g
PSB2YXJpYWJsZS0+Z2V0QXNTeW1ib2xOb2RlKCk7CisKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgYm9vbCB2aXNpdEJpbmFyeShWaXNpdCB2aXNpdCwgVEludGVybUJpbmFyeSAq
bm9kZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFRPcGVyYXRvciBvcCA9IG5vZGUtPmdldE9w
KCk7CisgICAgICAgIGlmIChvcCAhPSBFT3BJbmRleERpcmVjdCAmJiBvcCAhPSBFT3BJbmRleElu
ZGlyZWN0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
ICAgICAgICBUSW50ZXJtU3ltYm9sICpsZWZ0ID0gbm9kZS0+Z2V0TGVmdCgpLT5nZXRBc1N5bWJv
bE5vZGUoKTsKKyAgICAgICAgaWYgKCFsZWZ0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAobGVmdC0+Z2V0TmFtZSgpICE9ICJnbF9D
bGlwRGlzdGFuY2UiKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgfQorICAgICAgICBjb25zdCBUQ29uc3RhbnRVbmlvbiAqY29uc3RJZHggPSBub2RlLT5nZXRS
aWdodCgpLT5nZXRDb25zdGFudFZhbHVlKCk7CisgICAgICAgIGlmICghY29uc3RJZHgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgICptVXNlTm9uQ29uc3RDbGlwRGlzdGFuY2VJbmRleCA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQgaWR4ID0gMDsKKyAgICAgICAgICAgIHN3aXRjaCAoY29uc3RJZHgtPmdldFR5cGUoKSkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjYXNlIEVidEludDoKKyAgICAgICAgICAg
ICAgICAgICAgaWR4ID0gY29uc3RJZHgtPmdldElDb25zdCgpOworICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIEVidFVJbnQ6CisgICAgICAgICAgICAgICAg
ICAgIGlkeCA9IGNvbnN0SWR4LT5nZXRVQ29uc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgY2FzZSBFYnRGbG9hdDoKKyAgICAgICAgICAgICAgICAgICAg
aWR4ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50Pihjb25zdElkeC0+Z2V0RkNvbnN0KCkpOwor
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIEVidEJvb2w6
CisgICAgICAgICAgICAgICAgICAgIGlkeCA9IGNvbnN0SWR4LT5nZXRCQ29uc3QoKSA/IDEgOiAw
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEFTU0VSVChpZHggPCBtQ29uc3RDbGlw
RGlzdGFuY2VJbmRpY2VzLT5zaXplKCkpOworICAgICAgICAgICAgbUNvbnN0Q2xpcERpc3RhbmNl
SW5kaWNlcy0+c2V0KGlkeCk7CisKKyAgICAgICAgICAgICptTWF4Q29uc3RDbGlwRGlzdGFuY2VJ
bmRleCA9IHN0ZDo6bWF4KCptTWF4Q29uc3RDbGlwRGlzdGFuY2VJbmRleCwgaWR4KTsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICBwcml2YXRlOgorICAgIGNv
bnN0IFRJbnRlcm1TeW1ib2wgKiptUmVkZWNsYXJlZFN5bTsKKyAgICAvLyBGbGFnIGluZGljYXRp
bmcgd2hldGhlciB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVmZXJlbmNlIG9mIGdsX0NsaXBEaXN0
YW5jZSB3aXRoIG5vbi1jb25zdGFudAorICAgIC8vIGluZGV4CisgICAgYm9vbCAqbVVzZU5vbkNv
bnN0Q2xpcERpc3RhbmNlSW5kZXg7CisgICAgLy8gTWF4IGNvbnN0YW50IGluZGV4IHRoYXQgaXMg
dXNlZCB0byByZWZlcmVuY2UgZ2xfQ2xpcERpc3RhbmNlCisgICAgdW5zaWduZWQgaW50ICptTWF4
Q29uc3RDbGlwRGlzdGFuY2VJbmRleDsKKyAgICAvLyBMaXN0IG9mIGNvbnN0YW50IGluZGV4IHJl
ZmVyZW5jZSBvZiBnbF9DbGlwRGlzdGFuY2UKKyAgICBDbGlwRGlzdGFuY2VJZHhTZXQgKm1Db25z
dENsaXBEaXN0YW5jZUluZGljZXM7Cit9OworCisvLyBSZXBsYWNlIGFsbCBzeW1ib2xpYyBvY2N1
cnJlbmNlcyBvZiBnaXZlbiB2YXJpYWJsZXMgZXhjZXB0IG9uZSBzeW1ib2wuCitjbGFzcyBSZXBs
YWNlVmFyaWFibGVFeGNlcHRPbmVUcmF2ZXJzZXIgOiBwdWJsaWMgVEludGVybVRyYXZlcnNlcgor
eworICBwdWJsaWM6CisgICAgUmVwbGFjZVZhcmlhYmxlRXhjZXB0T25lVHJhdmVyc2VyKGNvbnN0
IFRWYXJpYWJsZSAqdG9CZVJlcGxhY2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBUSW50ZXJtVHlwZWQgKnJlcGxhY2VtZW50LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUSW50ZXJtU3ltYm9sICpleGNlcHRpb24pCisg
ICAgICAgIDogVEludGVybVRyYXZlcnNlcih0cnVlLCBmYWxzZSwgZmFsc2UpLAorICAgICAgICAg
IG1Ub0JlUmVwbGFjZWQodG9CZVJlcGxhY2VkKSwKKyAgICAgICAgICBtRXhjZXB0aW9uKGV4Y2Vw
dGlvbiksCisgICAgICAgICAgbVJlcGxhY2VtZW50KHJlcGxhY2VtZW50KQorICAgIHt9CisKKyAg
ICB2b2lkIHZpc2l0U3ltYm9sKFRJbnRlcm1TeW1ib2wgKm5vZGUpIG92ZXJyaWRlCisgICAgewor
ICAgICAgICBpZiAoJm5vZGUtPnZhcmlhYmxlKCkgPT0gbVRvQmVSZXBsYWNlZCAmJiBub2RlICE9
IG1FeGNlcHRpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIHF1ZXVlUmVwbGFjZW1lbnQobVJl
cGxhY2VtZW50LT5kZWVwQ29weSgpLCBPcmlnaW5hbE5vZGU6OklTX0RST1BQRUQpOworICAgICAg
ICB9CisgICAgfQorCisgIHByaXZhdGU6CisgICAgY29uc3QgVFZhcmlhYmxlICpjb25zdCBtVG9C
ZVJlcGxhY2VkOworICAgIGNvbnN0IFRJbnRlcm1TeW1ib2wgKmNvbnN0IG1FeGNlcHRpb247Cisg
ICAgY29uc3QgVEludGVybVR5cGVkICpjb25zdCBtUmVwbGFjZW1lbnQ7Cit9OworCit9ICAvLyBh
bm9ueW1vdXMgbmFtZXNwYWNlCisKK0FOR0xFX05PX0RJU0NBUkQgYm9vbCBSZXBsYWNlQ2xpcERp
c3RhbmNlQXNzaWdubWVudHMoVENvbXBpbGVyICpjb21waWxlciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEludGVybUJsb2NrICpyb290LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUU3lt
Ym9sVGFibGUgKnN5bWJvbFRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBUSW50ZXJtVHlwZWQgKmNsaXBEaXN0YW5jZUVuYWJs
ZUZsYWdzKQoreworICAgIC8vIENvbGxlY3QgYWxsIGNvbnN0YW50IGluZGV4IHJlZmVyZW5jZXMg
b2YgZ2xfQ2xpcERpc3RhbmNlCisgICAgQ2xpcERpc3RhbmNlSWR4U2V0IGNvbnN0SW5kaWNlczsK
KyAgICBib29sIHVzZU5vbkNvbnN0SW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgPSBmYWxz
ZTsKKyAgICBjb25zdCBUSW50ZXJtU3ltYm9sICpyZWRlY2xhcmVkR0xDbGlwRGlzdGFuY2UgPSBu
dWxscHRyOworICAgIHVuc2lnbmVkIGludCBtYXhDb25zdEluZGV4ICAgICAgICAgICAgICAgICAg
ICA9IDA7CisgICAgR0xDbGlwRGlzdGFuY2VSZWZlcmVuY2VUcmF2ZXJzZXIgaW5kZXhUcmF2ZXJz
ZXIoJnJlZGVjbGFyZWRHTENsaXBEaXN0YW5jZSwgJnVzZU5vbkNvbnN0SW5kZXgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1heENvbnN0SW5k
ZXgsICZjb25zdEluZGljZXMpOworICAgIHJvb3QtPnRyYXZlcnNlKCZpbmRleFRyYXZlcnNlcik7
CisgICAgaWYgKCF1c2VOb25Db25zdEluZGV4ICYmIGNvbnN0SW5kaWNlcy5ub25lKCkpCisgICAg
eworICAgICAgICAvLyBObyByZWZlcmVuY2VzIG9mIGdsX0NsaXBEaXN0YW5jZQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICAvLyBSZXRyaWV2ZSBnbF9DbGlwRGlzdGFuY2UgdmFy
aWFibGUgcmVmZXJlbmNlCisgICAgLy8gU2VhcmNoIHVzZXIgcmVkZWNsYXJlZCBnbF9DbGlwRGlz
dGFuY2UgZmlyc3QKKyAgICBjb25zdCBUVmFyaWFibGUgKmdsQ2xpcERpc3RhbmNlVmFyID0gbnVs
bHB0cjsKKyAgICBpZiAocmVkZWNsYXJlZEdMQ2xpcERpc3RhbmNlKQorICAgIHsKKyAgICAgICAg
Z2xDbGlwRGlzdGFuY2VWYXIgPSAmcmVkZWNsYXJlZEdMQ2xpcERpc3RhbmNlLT52YXJpYWJsZSgp
OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBJbW11dGFibGVTdHJpbmcgZ2xDbGlw
RGlzdGFuY2VOYW1lKCJnbF9DbGlwRGlzdGFuY2UiKTsKKyAgICAgICAgLy8gVXNlciBkZWZpbmVk
IG5vdCBmb3VuZCwgZmluZCBpbiBidWlsdC1pbiB0YWJsZQorICAgICAgICBnbENsaXBEaXN0YW5j
ZVZhciA9CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBUVmFyaWFibGUgKj4oc3ltYm9s
VGFibGUtPmZpbmRCdWlsdEluKGdsQ2xpcERpc3RhbmNlTmFtZSwgMCkpOworICAgIH0KKyAgICBp
ZiAoIWdsQ2xpcERpc3RhbmNlVmFyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIC8vIERlY2xhcmUgYSBnbG9iYWwgdmFyaWFibGUgc3Vic3RpdHV0aW5nIGdsX0Ns
aXBEaXN0YW5jZQorICAgIFRUeXBlICpjbGlwRGlzdGFuY2VUeXBlID0gbmV3IFRUeXBlKEVidEZs
b2F0LCBFYnBNZWRpdW0sIEV2cUdsb2JhbCwgMSk7CisgICAgaWYgKHJlZGVjbGFyZWRHTENsaXBE
aXN0YW5jZSkKKyAgICB7CisgICAgICAgIC8vIElmIGFycmF5IGlzIHJlZGVjbGFyZWQgYnkgdXNl
ciwgdXNlIHRoYXQgcmVkZWNsYXJlZCBzaXplLgorICAgICAgICBjbGlwRGlzdGFuY2VUeXBlLT5t
YWtlQXJyYXkocmVkZWNsYXJlZEdMQ2xpcERpc3RhbmNlLT5nZXRUeXBlKCkuZ2V0T3V0ZXJtb3N0
QXJyYXlTaXplKCkpOworICAgIH0KKyAgICBlbHNlIGlmICghdXNlTm9uQ29uc3RJbmRleCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChtYXhDb25zdEluZGV4IDwgZ2xDbGlwRGlzdGFuY2VWYXItPmdl
dFR5cGUoKS5nZXRPdXRlcm1vc3RBcnJheVNpemUoKSk7CisgICAgICAgIC8vIE9ubHkgdXNlIGNv
bnN0YW50IGluZGV4LCB0aGVuIHVzZSBtYXggYXJyYXkgaW5kZXggdXNlZC4KKyAgICAgICAgY2xp
cERpc3RhbmNlVHlwZS0+bWFrZUFycmF5KG1heENvbnN0SW5kZXggKyAxKTsKKyAgICB9CisgICAg
ZWxzZQorICAgIHsKKyAgICAgICAgY2xpcERpc3RhbmNlVHlwZS0+bWFrZUFycmF5KGdsQ2xpcERp
c3RhbmNlVmFyLT5nZXRUeXBlKCkuZ2V0T3V0ZXJtb3N0QXJyYXlTaXplKCkpOworICAgIH0KKwor
ICAgIGNsaXBEaXN0YW5jZVR5cGUtPnJlYWxpemUoKTsKKyAgICBUVmFyaWFibGUgKmNsaXBEaXN0
YW5jZVZhciA9IG5ldyBUVmFyaWFibGUoc3ltYm9sVGFibGUsIEltbXV0YWJsZVN0cmluZygiQU5H
TEVDbGlwRGlzdGFuY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2xpcERpc3RhbmNlVHlwZSwgU3ltYm9sVHlwZTo6QW5nbGVJbnRlcm5hbCk7CisK
KyAgICBUSW50ZXJtU3ltYm9sICpjbGlwRGlzdGFuY2VEZWNsYXJhdG9yID0gbmV3IFRJbnRlcm1T
eW1ib2woY2xpcERpc3RhbmNlVmFyKTsKKyAgICBUSW50ZXJtRGVjbGFyYXRpb24gKmNsaXBEaXN0
YW5jZURlY2wgID0gbmV3IFRJbnRlcm1EZWNsYXJhdGlvbjsKKyAgICBjbGlwRGlzdGFuY2VEZWNs
LT5hcHBlbmREZWNsYXJhdG9yKGNsaXBEaXN0YW5jZURlY2xhcmF0b3IpOworCisgICAgLy8gTXVz
dCBkZWNsYXJlIEFOR0xFQ2xpcERpc3RhbmNlIGJlZm9yZSBhbnkgZnVuY3Rpb24sIHNpbmNlIGds
X0NsaXBEaXN0YW5jZSBtaWdodCBiZSBhY2Nlc3NlZAorICAgIC8vIHdpdGhpbiBhIGZ1bmN0aW9u
IGRlY2xhcmVkIGJlZm9yZSBtYWluLgorICAgIHJvb3QtPmluc2VydFN0YXRlbWVudCgwLCBjbGlw
RGlzdGFuY2VEZWNsKTsKKworICAgIC8vIFJlcGxhY2UgZ2xfQ2xpcERpc3RhbmNlIHJlZmVyZW5j
ZSB3aXRoIEFOR0xFQ2xpcERpc3RhbmNlLCBleGNlcHQgdGhlIGRlY2xhcmF0aW9uCisgICAgUmVw
bGFjZVZhcmlhYmxlRXhjZXB0T25lVHJhdmVyc2VyIHJlcGxhY2VUcmF2ZXJzZXIoZ2xDbGlwRGlz
dGFuY2VWYXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3IFRJbnRlcm1TeW1ib2woY2xpcERpc3RhbmNlVmFyKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogZXhjZXB0aW9u
ICovIHJlZGVjbGFyZWRHTENsaXBEaXN0YW5jZSk7CisgICAgcm9vdC0+dHJhdmVyc2UoJnJlcGxh
Y2VUcmF2ZXJzZXIpOworICAgIGlmICghcmVwbGFjZVRyYXZlcnNlci51cGRhdGVUcmVlKGNvbXBp
bGVyLCByb290KSkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBU
SW50ZXJtQmxvY2sgKnJlYXNzaWduQmxvY2sgICAgICAgICA9IG5ldyBUSW50ZXJtQmxvY2s7Cisg
ICAgVEludGVybVN5bWJvbCAqZ2xDbGlwRGlzdGFuY2VTeW1ib2wgPSBuZXcgVEludGVybVN5bWJv
bChnbENsaXBEaXN0YW5jZVZhcik7CisgICAgVEludGVybVN5bWJvbCAqY2xpcERpc3RhbmNlU3lt
Ym9sICAgPSBuZXcgVEludGVybVN5bWJvbChjbGlwRGlzdGFuY2VWYXIpOworCisgICAgLy8gUmVh
c3NpZ24gQU5HTEVDbGlwRGlzdGFuY2UgdG8gZ2xfQ2xpcERpc3RhbmNlIGJ1dCBpZ25vcmUgdGhv
c2UgdGhhdCBhcmUgZGlzYWJsZWQKKworICAgIGF1dG8gYXNzaWduRnVuYyA9IFs9XSh1bnNpZ25l
ZCBpbnQgaW5kZXgpIHsKKyAgICAgICAgLy8gIGlmIChBTkdMRVVuaWZvcm1zLmNsaXBEaXN0YW5j
ZXNFbmFibGVkICYgKDB4MSA8PCBpbmRleCkpCisgICAgICAgIC8vICAgICAgZ2xfQ2xpcERpc3Rh
bmNlW2luZGV4XSA9IEFOR0xFQ2xpcERpc3RhbmNlW2luZGV4XTsKKyAgICAgICAgLy8gIGVsc2UK
KyAgICAgICAgLy8gICAgICBnbF9DbGlwRGlzdGFuY2VbaW5kZXhdID0gMDsKKyAgICAgICAgVElu
dGVybUNvbnN0YW50VW5pb24gKmJpdE1hc2sgPSBDcmVhdGVVSW50Tm9kZSgweDEgPDwgaW5kZXgp
OworICAgICAgICBUSW50ZXJtQmluYXJ5ICpiaXR3aXNlQW5kID0KKyAgICAgICAgICAgIG5ldyBU
SW50ZXJtQmluYXJ5KEVPcEJpdHdpc2VBbmQsIGNsaXBEaXN0YW5jZUVuYWJsZUZsYWdzLT5kZWVw
Q29weSgpLCBiaXRNYXNrKTsKKyAgICAgICAgVEludGVybUJpbmFyeSAqbm9uWmVybyA9IG5ldyBU
SW50ZXJtQmluYXJ5KEVPcE5vdEVxdWFsLCBiaXR3aXNlQW5kLCBDcmVhdGVVSW50Tm9kZSgwKSk7
CisKKyAgICAgICAgVEludGVybUJpbmFyeSAqbGVmdCAgPSBuZXcgVEludGVybUJpbmFyeShFT3BJ
bmRleERpcmVjdCwgZ2xDbGlwRGlzdGFuY2VTeW1ib2wtPmRlZXBDb3B5KCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVJbmRleE5vZGUoaW5k
ZXgpKTsKKyAgICAgICAgVEludGVybUJpbmFyeSAqcmlnaHQgPSBuZXcgVEludGVybUJpbmFyeShF
T3BJbmRleERpcmVjdCwgY2xpcERpc3RhbmNlU3ltYm9sLT5kZWVwQ29weSgpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUluZGV4Tm9kZShp
bmRleCkpOworICAgICAgICBUSW50ZXJtQmluYXJ5ICphc3NpZ25tZW50ID0gbmV3IFRJbnRlcm1C
aW5hcnkoRU9wQXNzaWduLCBsZWZ0LCByaWdodCk7CisgICAgICAgIFRJbnRlcm1CbG9jayAqdHJ1
ZUJsb2NrICAgPSBuZXcgVEludGVybUJsb2NrKCk7CisgICAgICAgIHRydWVCbG9jay0+YXBwZW5k
U3RhdGVtZW50KGFzc2lnbm1lbnQpOworCisgICAgICAgIFRJbnRlcm1CaW5hcnkgKnplcm9Bc3Np
Z25tZW50ID0KKyAgICAgICAgICAgIG5ldyBUSW50ZXJtQmluYXJ5KEVPcEFzc2lnbiwgbGVmdC0+
ZGVlcENvcHkoKSwgQ3JlYXRlRmxvYXROb2RlKDApKTsKKyAgICAgICAgVEludGVybUJsb2NrICpm
YWxzZUJsb2NrID0gbmV3IFRJbnRlcm1CbG9jaygpOworICAgICAgICBmYWxzZUJsb2NrLT5hcHBl
bmRTdGF0ZW1lbnQoemVyb0Fzc2lnbm1lbnQpOworCisgICAgICAgIHJldHVybiBuZXcgVEludGVy
bUlmRWxzZShub25aZXJvLCB0cnVlQmxvY2ssIGZhbHNlQmxvY2spOworICAgIH07CisKKyAgICBp
ZiAodXNlTm9uQ29uc3RJbmRleCkKKyAgICB7CisgICAgICAgIC8vIElmIHRoZXJlIGlzIGF0IGxl
YXN0IG9uZSBub24gY29uc3RhbnQgaW5kZXggcmVmZXJlbmNlLAorICAgICAgICAvLyBUaGVuIHdl
IG5lZWQgdG8gbG9vcCB0aHJvdWdoIHRoZSB3aG9sZSBkZWNsYXJlZCBzaXplIG9mIGdsX0NsaXBE
aXN0YW5jZS4KKyAgICAgICAgLy8gU2luY2Ugd2UgZG9uJ3Qga25vdyBleGFjdGx5IHRoZSBpbmRl
eCBhdCBjb21waWxlIHRpbWUuCisgICAgICAgIC8vIEFzIG1lbnRpb25lZCBpbgorICAgICAgICAv
LyBodHRwczovL3d3dy5raHJvbm9zLm9yZy9yZWdpc3RyeS9PcGVuR0wvZXh0ZW5zaW9ucy9BUFBM
RS9BUFBMRV9jbGlwX2Rpc3RhbmNlLnR4dAorICAgICAgICAvLyBOb24gY29uc3RhbnQgaW5kZXgg
Y2FuIG9ubHkgYmUgdXNlZCBpZiBnbF9DbGlwRGlzdGFuY2UgaXMgcmVkZWNsYXJlZCB3aXRoIGFu
IGV4cGxpY2l0CisgICAgICAgIC8vIHNpemUuCisgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkg
PSAwOyBpIDwgY2xpcERpc3RhbmNlVHlwZS0+Z2V0T3V0ZXJtb3N0QXJyYXlTaXplKCk7ICsraSkK
KyAgICAgICAgeworICAgICAgICAgICAgcmVhc3NpZ25CbG9jay0+YXBwZW5kU3RhdGVtZW50KGFz
c2lnbkZ1bmMoaSkpOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg
IC8vIEFzc2lnbiBBTkdMRUNsaXBEaXN0YW5jZVtpXSdzIHZhbHVlIHRvIGdsX0NsaXBEaXN0YW5j
ZVtpXSBpZiBpIGlzIGluIHRoZSBjb25zdGFudAorICAgICAgICAvLyBpbmRpY2VzIGxpc3QuCisg
ICAgICAgIC8vIFRob3NlIGVsZW1lbnRzIHdob3NlIGluZGV4IGlzIG5vdCBpbiB0aGUgY29uc3Rh
bnQgaW5kZXggbGlzdCB3aWxsIGJlIHplcm9pc2UuCisgICAgICAgIGZvciAodW5zaWduZWQgaW50
IGkgPSAwOyBpIDwgY2xpcERpc3RhbmNlVHlwZS0+Z2V0T3V0ZXJtb3N0QXJyYXlTaXplKCk7ICsr
aSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGNvbnN0SW5kaWNlcy50ZXN0KGkpKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJlYXNzaWduQmxvY2stPmFwcGVuZFN0YXRlbWVu
dChhc3NpZ25GdW5jKGkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBnbF9DbGlwRGlzdGFuY2VbaV0gPSAwOworICAg
ICAgICAgICAgICAgIFRJbnRlcm1CaW5hcnkgKmxlZnQgPSBuZXcgVEludGVybUJpbmFyeSgKKyAg
ICAgICAgICAgICAgICAgICAgRU9wSW5kZXhEaXJlY3QsIGdsQ2xpcERpc3RhbmNlU3ltYm9sLT5k
ZWVwQ29weSgpLCBDcmVhdGVJbmRleE5vZGUoaSkpOworICAgICAgICAgICAgICAgIFRJbnRlcm1C
aW5hcnkgKnplcm9Bc3NpZ25tZW50ID0KKyAgICAgICAgICAgICAgICAgICAgbmV3IFRJbnRlcm1C
aW5hcnkoRU9wQXNzaWduLCBsZWZ0LCBDcmVhdGVGbG9hdE5vZGUoMCkpOworICAgICAgICAgICAg
ICAgIHJlYXNzaWduQmxvY2stPmFwcGVuZFN0YXRlbWVudCh6ZXJvQXNzaWdubWVudCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gUnVuQXRUaGVFbmRPZlNo
YWRlcihjb21waWxlciwgcm9vdCwgcmVhc3NpZ25CbG9jaywgc3ltYm9sVGFibGUpOworfQorCit9
ICAvLyBuYW1lc3BhY2Ugc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9SZXBsYWNlQ2xpcERpc3RhbmNlVmFyaWFi
bGUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3Ry
ZWVfdXRpbC9SZXBsYWNlQ2xpcERpc3RhbmNlVmFyaWFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzI1YjVl
MWFjMDJmYjIxZGJmYTRlM2FmMmMwNWJiMmZlZWRlYzEyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL1Jl
cGxhY2VDbGlwRGlzdGFuY2VWYXJpYWJsZS5oCkBAIC0wLDAgKzEsMzUgQEAKKy8vCisvLyBDb3B5
cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisv
LyBSZXBsYWNlQ2xpcERpc3RhbmNlVmFyaWFibGUuaDogRmluZCBhbnkgcmVmZXJlbmNlcyB0byBn
bF9DbGlwRGlzdGFuY2UgYW5kCisvLyByZXBsYWNlIGl0IHdpdGggQU5HTEVDbGlwRGlzdGFuY2Uu
CisvLworCisjaWZuZGVmIENPTVBJTEVSX1RSQU5TTEFUT1JfVFJFRVVUSUxfUkVQTEFDRUNMSVBE
SVNUQU5DRVZBUklBQkxFX0hfCisjZGVmaW5lIENPTVBJTEVSX1RSQU5TTEFUT1JfVFJFRVVUSUxf
UkVQTEFDRUNMSVBESVNUQU5DRVZBUklBQkxFX0hfCisKKyNpbmNsdWRlICJjb21tb24vYW5nbGV1
dGlscy5oIgorCituYW1lc3BhY2Ugc2gKK3sKKworY2xhc3MgVENvbXBpbGVyOworY2xhc3MgVElu
dGVybUJsb2NrOworY2xhc3MgVFN5bWJvbFRhYmxlOworY2xhc3MgVEludGVybVR5cGVkOworCisv
LyBSZXBsYWNlIGV2ZXJ5IGdsX0NsaXBEaXN0YW5jZSBhc3NpZ25tZW50IHdpdGggYXNzaWdubWVu
dCB0byAiQU5HTEVDbGlwRGlzdGFuY2UiLAorLy8gdGhlbiBhdCB0aGUgZW5kIG9mIHNoYWRlciBy
ZS1hc3NpZ24gdGhlIHZhbHVlcyBvZiB0aGlzIGdsb2JhbCB2YXJpYWJsZSB0byBnbF9DbGlwRGlz
dGFuY2UuCisvLyBUaGlzIHRvIHNvbHZlIHNvbWUgY29tcGxleCB1c2FnZXMgc3VjaCBhcyB1c2Vy
IHBhc3NpbmcgZ2xfQ2xpcERpc3RhbmNlIGFzIG91dHB1dCByZWZlcmVuY2UKKy8vIHRvIGEgZnVu
Y3Rpb24uCisvLyBGdXJ0aGVybW9yZSwgYXQgdGhlIGVuZCBzaGFkZXIsIHNvbWUgZGlzYWJsZWQg
Z2xfQ2xpcERpc3RhbmNlW2ldIGNhbiBiZSBza2lwcGVkIGZyb20gdGhlCisvLyBhc3NpZ25tZW50
LgorQU5HTEVfTk9fRElTQ0FSRCBib29sIFJlcGxhY2VDbGlwRGlzdGFuY2VBc3NpZ25tZW50cyhU
Q29tcGlsZXIgKmNvbXBpbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBUSW50ZXJtQmxvY2sgKnJvb3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRTeW1ib2xUYWJsZSAqc3ltYm9sVGFi
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFRJbnRlcm1UeXBlZCAqY2xpcERpc3RhbmNlRW5hYmxlRmxhZ3MpOworfSAgLy8gbmFt
ZXNwYWNlIHNoCisKKyNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3V0aWwu
Y3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdXRp
bC5jcHAKaW5kZXggZGZhYmIzMmE0ODg1NTFmNDk1NGFhMGY1YmI4Y2FlMTZhMmIxY2I4YS4uYmQ5
OGQ1YjI5NjEwYWQzNjU0MWJkOWI0M2EwM2FhMTM3YzEzMjk1MiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdXRpbC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdXRpbC5jcHAK
QEAgLTMzLDYgKzMzLDcgQEAgYm9vbCBJc0ludGVycG9sYXRpb25JbihUUXVhbGlmaWVyIHF1YWxp
ZmllcikKICAgICB7CiAgICAgICAgIGNhc2UgRXZxU21vb3RoSW46CiAgICAgICAgIGNhc2UgRXZx
RmxhdEluOgorICAgICAgICBjYXNlIEV2cU5vUGVyc3BlY3RpdmVJbjoKICAgICAgICAgY2FzZSBF
dnFDZW50cm9pZEluOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6
CkBAIC01MTksNiArNTIwLDcgQEAgYm9vbCBJc1ZhcnlpbmdPdXQoVFF1YWxpZmllciBxdWFsaWZp
ZXIpCiAgICAgICAgIGNhc2UgRXZxVmFyeWluZ091dDoKICAgICAgICAgY2FzZSBFdnFTbW9vdGhP
dXQ6CiAgICAgICAgIGNhc2UgRXZxRmxhdE91dDoKKyAgICAgICAgY2FzZSBFdnFOb1BlcnNwZWN0
aXZlT3V0OgogICAgICAgICBjYXNlIEV2cUNlbnRyb2lkT3V0OgogICAgICAgICBjYXNlIEV2cVZl
cnRleE91dDoKICAgICAgICAgY2FzZSBFdnFHZW9tZXRyeU91dDoKQEAgLTUzOCw2ICs1NDAsNyBA
QCBib29sIElzVmFyeWluZ0luKFRRdWFsaWZpZXIgcXVhbGlmaWVyKQogICAgICAgICBjYXNlIEV2
cVZhcnlpbmdJbjoKICAgICAgICAgY2FzZSBFdnFTbW9vdGhJbjoKICAgICAgICAgY2FzZSBFdnFG
bGF0SW46CisgICAgICAgIGNhc2UgRXZxTm9QZXJzcGVjdGl2ZUluOgogICAgICAgICBjYXNlIEV2
cUNlbnRyb2lkSW46CiAgICAgICAgIGNhc2UgRXZxRnJhZ21lbnRJbjoKICAgICAgICAgY2FzZSBF
dnFHZW9tZXRyeUluOgpAQCAtNTY5LDYgKzU3MiwxMCBAQCBJbnRlcnBvbGF0aW9uVHlwZSBHZXRJ
bnRlcnBvbGF0aW9uVHlwZShUUXVhbGlmaWVyIHF1YWxpZmllcikKICAgICAgICAgY2FzZSBFdnFG
bGF0T3V0OgogICAgICAgICAgICAgcmV0dXJuIElOVEVSUE9MQVRJT05fRkxBVDsKIAorICAgICAg
ICBjYXNlIEV2cU5vUGVyc3BlY3RpdmVJbjoKKyAgICAgICAgY2FzZSBFdnFOb1BlcnNwZWN0aXZl
T3V0OgorICAgICAgICAgICAgcmV0dXJuIElOVEVSUE9MQVRJT05fTk9QRVJTUEVDVElWRTsKKwog
ICAgICAgICBjYXNlIEV2cVNtb290aEluOgogICAgICAgICBjYXNlIEV2cVNtb290aE91dDoKICAg
ICAgICAgY2FzZSBFdnFWZXJ0ZXhPdXQ6CkBAIC02OTAsNiArNjk3LDcgQEAgYm9vbCBJc0J1aWx0
aW5PdXRwdXRWYXJpYWJsZShUUXVhbGlmaWVyIHF1YWxpZmllcikKICAgICAgICAgY2FzZSBFdnFT
ZWNvbmRhcnlGcmFnQ29sb3JFWFQ6CiAgICAgICAgIGNhc2UgRXZxRnJhZ0RhdGE6CiAgICAgICAg
IGNhc2UgRXZxU2Vjb25kYXJ5RnJhZ0RhdGFFWFQ6CisgICAgICAgIGNhc2UgRXZxQ2xpcERpc3Rh
bmNlOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9pZC9j
b21taXQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9pZC9jb21taXQuaAppbmRleCA0
MWQwYjZjMjA1NmZlZjE4ZTRkY2VhYmE4ZTliNWE3MTVhOWQ4MzVlLi5iMDcwNjI1YzRhMzQyMjM0
ZTI5MGY1MzFiODM5Yzc0YzE0MTQ4NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvaWQvY29tbWl0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2lk
L2NvbW1pdC5oCkBAIC0xLDMgKzEsMyBAQAotI2RlZmluZSBBTkdMRV9DT01NSVRfSEFTSCAiYjM4
N2NlOTM4OWVkIgorI2RlZmluZSBBTkdMRV9DT01NSVRfSEFTSCAiOTZhODAyODNjYzBmIgogI2Rl
ZmluZSBBTkdMRV9DT01NSVRfSEFTSF9TSVpFIDEyCi0jZGVmaW5lIEFOR0xFX0NPTU1JVF9EQVRF
ICIyMDIwLTAzLTI4IDA0OjEwOjI4ICswMDAwIgorI2RlZmluZSBBTkdMRV9DT01NSVRfREFURSAi
MjAyMC0wNS0yMSAyMDo0NDo0MSArMDAwMCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9CbG9iQ2FjaGUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL0Jsb2JDYWNoZS5jcHAKaW5kZXggNTY3MjA5MTViZGFiNjEwYjQ2NmNj
ZDUwZmU0MGY1NzE3NTlkNzljNC4uNzM3ZWQ2ODExNWVmNzFlZmU4ZWZmMmUyMTI1ODczZTI1YzE4
OWZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Js
b2JDYWNoZS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Js
b2JDYWNoZS5jcHAKQEAgLTE0Nyw4ICsxNDcsNyBAQCBib29sIEJsb2JDYWNoZTo6Z2V0QXQoc2l6
ZV90IGluZGV4LCBjb25zdCBCbG9iQ2FjaGU6OktleSAqKmtleU91dCwgQmxvYkNhY2hlOjpWYQog
CiB2b2lkIEJsb2JDYWNoZTo6cmVtb3ZlKGNvbnN0IEJsb2JDYWNoZTo6S2V5ICZrZXkpCiB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBtQmxvYkNhY2hlLmVyYXNlQnlLZXkoa2V5KTsKLSAgICBBU1NFUlQo
cmVzdWx0KTsKKyAgICBtQmxvYkNhY2hlLmVyYXNlQnlLZXkoa2V5KTsKIH0KIAogdm9pZCBCbG9i
Q2FjaGU6OnNldEJsb2JDYWNoZUZ1bmNzKEVHTFNldEJsb2JGdW5jQU5EUk9JRCBzZXQsIEVHTEdl
dEJsb2JGdW5jQU5EUk9JRCBnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvQ2Fwcy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvQ2Fwcy5jcHAKaW5kZXggYzQyNmZiNGI0NWM0ODRiY2NjNDExZGI5ZTYxODkxMGQ2YWNj
NDg3Yi4uN2Y3ZjQ5MjY2YzE0NDQyNWVlMWMyNjdkNmJjOGY2YzYxZjUxMzg5NSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NhcHMuY3BwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9DYXBzLmNwcApAQCAtMjIzLDE5ICsy
MjMsMzIgQEAgc3RhdGljIGJvb2wgRGV0ZXJtaW5lUGFja2VkRGVwdGhTdGVuY2lsU3VwcG9ydChj
b25zdCBUZXh0dXJlQ2Fwc01hcCAmdGV4dHVyZUNhcHMKIC8vIENoZWNrcyBmb3IgR0xfTlZfcmVh
ZF9kZXB0aCBzdXBwb3J0CiBzdGF0aWMgYm9vbCBEZXRlcm1pbmVSZWFkRGVwdGhTdXBwb3J0KGNv
bnN0IFRleHR1cmVDYXBzTWFwICZ0ZXh0dXJlQ2FwcykKIHsKLSAgICByZXR1cm4gZmFsc2U7Cisg
ICAgY29uc3RleHByIEdMZW51bSByZXF1aXJlZEZvcm1hdHNbXSA9IHsKKyAgICAgICAgR0xfREVQ
VEhfQ09NUE9ORU5UMTYsCisgICAgfTsKKworICAgIHJldHVybiBHZXRGb3JtYXRTdXBwb3J0KHRl
eHR1cmVDYXBzLCByZXF1aXJlZEZvcm1hdHMsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFs
c2UpOwogfQogCiAvLyBDaGVja3MgZm9yIEdMX05WX3JlYWRfc3RlbmNpbCBzdXBwb3J0CiBzdGF0
aWMgYm9vbCBEZXRlcm1pbmVSZWFkU3RlbmNpbFN1cHBvcnQoY29uc3QgVGV4dHVyZUNhcHNNYXAg
JnRleHR1cmVDYXBzKQogewotICAgIHJldHVybiBmYWxzZTsKKyAgICBjb25zdGV4cHIgR0xlbnVt
IHJlcXVpcmVkRm9ybWF0c1tdID0geworICAgICAgICBHTF9TVEVOQ0lMX0lOREVYOCwKKyAgICB9
OworCisgICAgcmV0dXJuIEdldEZvcm1hdFN1cHBvcnQodGV4dHVyZUNhcHMsIHJlcXVpcmVkRm9y
bWF0cywgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UpOwogfQogCiAvLyBDaGVja3Mg
Zm9yIEdMX05WX2RlcHRoX2J1ZmZlcl9mbG9hdDIgc3VwcG9ydAogc3RhdGljIGJvb2wgRGV0ZXJt
aW5lRGVwdGhCdWZmZXJGbG9hdDJTdXBwb3J0KGNvbnN0IFRleHR1cmVDYXBzTWFwICZ0ZXh0dXJl
Q2FwcykKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgY29uc3RleHByIEdMZW51bSByZXF1aXJl
ZEZvcm1hdHNbXSA9IHsKKyAgICAgICAgR0xfREVQVEhfQ09NUE9ORU5UMzJGLAorICAgICAgICBH
TF9ERVBUSDMyRl9TVEVOQ0lMOCwKKyAgICB9OworCisgICAgcmV0dXJuIEdldEZvcm1hdFN1cHBv
cnQodGV4dHVyZUNhcHMsIHJlcXVpcmVkRm9ybWF0cywgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNl
LCBmYWxzZSk7CiB9CiAKIC8vIENoZWNrcyBmb3IgR0xfT0VTX3JnYjhfcmdiYTggc3VwcG9ydApA
QCAtNTk5LDYgKzYxMiwxNCBAQCBzdGF0aWMgYm9vbCBEZXRlcm1pbmVTUkdCVGV4dHVyZVN1cHBv
cnQoY29uc3QgVGV4dHVyZUNhcHNNYXAgJnRleHR1cmVDYXBzKQogICAgICAgICAgICBHZXRGb3Jt
YXRTdXBwb3J0KHRleHR1cmVDYXBzLCByZXF1aXJlZFJlbmRlckZvcm1hdHMsIHRydWUsIGZhbHNl
LCB0cnVlLCB0cnVlLCBmYWxzZSk7CiB9CiAKKy8vIENoZWNrIGZvciBHTF9FWFRfdGV4dHVyZV9z
UkdCX1I4IHN1cHBvcnQKK3N0YXRpYyBib29sIERldGVybWluZVNSR0JSOFRleHR1cmVTdXBwb3J0
KGNvbnN0IFRleHR1cmVDYXBzTWFwICZ0ZXh0dXJlQ2FwcykKK3sKKyAgICBjb25zdGV4cHIgR0xl
bnVtIHJlcXVpcmVkRmlsdGVyRm9ybWF0c1tdID0ge0dMX1NSOF9FWFR9OworCisgICAgcmV0dXJu
IEdldEZvcm1hdFN1cHBvcnQodGV4dHVyZUNhcHMsIHJlcXVpcmVkRmlsdGVyRm9ybWF0cywgdHJ1
ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7Cit9CisKIC8vIENoZWNrIGZvciBHTF9BTkdM
RV9kZXB0aF90ZXh0dXJlIHN1cHBvcnQKIHN0YXRpYyBib29sIERldGVybWluZURlcHRoVGV4dHVy
ZUFOR0xFU3VwcG9ydChjb25zdCBUZXh0dXJlQ2Fwc01hcCAmdGV4dHVyZUNhcHMpCiB7CkBAIC04
MTUsNiArODM2LDcgQEAgdm9pZCBFeHRlbnNpb25zOjpzZXRUZXh0dXJlRXh0ZW5zaW9uU3VwcG9y
dChjb25zdCBUZXh0dXJlQ2Fwc01hcCAmdGV4dHVyZUNhcHMpCiAgICAgY29tcHJlc3NlZEVBQ1JH
MTFVbnNpZ25lZFRleHR1cmVPRVMgPSBEZXRlcm1pbmVFQUNSRzExVW5zaWduZWRUZXh0dXJlU3Vw
cG9ydCh0ZXh0dXJlQ2Fwcyk7CiAgICAgY29tcHJlc3NlZEVBQ1JHMTFTaWduZWRUZXh0dXJlT0VT
ICAgPSBEZXRlcm1pbmVFQUNSRzExU2lnbmVkVGV4dHVyZVN1cHBvcnQodGV4dHVyZUNhcHMpOwog
ICAgIHNSR0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gRGV0ZXJtaW5lU1JHQlRl
eHR1cmVTdXBwb3J0KHRleHR1cmVDYXBzKTsKKyAgICBzUkdCUjhFWFQgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IERldGVybWluZVNSR0JSOFRleHR1cmVTdXBwb3J0KHRleHR1cmVDYXBzKTsK
ICAgICBkZXB0aFRleHR1cmVBTkdMRSAgICAgICAgICAgICAgICAgICA9IERldGVybWluZURlcHRo
VGV4dHVyZUFOR0xFU3VwcG9ydCh0ZXh0dXJlQ2Fwcyk7CiAgICAgZGVwdGhUZXh0dXJlT0VTICAg
ICAgICAgICAgICAgICAgICAgPSBEZXRlcm1pbmVEZXB0aFRleHR1cmVPRVNTdXBwb3J0KHRleHR1
cmVDYXBzKTsKICAgICBkZXB0aDI0T0VTICAgICAgICAgICAgICAgICAgICAgICAgICA9IERldGVy
bWluZURlcHRoMjRPRVNTdXBwb3J0KHRleHR1cmVDYXBzKTsKQEAgLTg1OCw5ICs4ODAsOSBAQCBj
b25zdCBFeHRlbnNpb25JbmZvTWFwICZHZXRFeHRlbnNpb25JbmZvTWFwKCkKICAgICAgICAgbWFw
WyJHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwiXSA9IGVzT25seUV4dGVuc2lvbigmRXh0ZW5z
aW9uczo6cGFja2VkRGVwdGhTdGVuY2lsT0VTKTsKICAgICAgICAgbWFwWyJHTF9PRVNfZ2V0X3By
b2dyYW1fYmluYXJ5Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpnZXRQcm9n
cmFtQmluYXJ5T0VTKTsKICAgICAgICAgbWFwWyJHTF9PRVNfcmdiOF9yZ2JhOCJdID0gZW5hYmxl
YWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6cmdiOHJnYmE4T0VTKTsKLSAgICAgICAgbWFwWyJH
TF9OVl9yZWFkX2RlcHRoIl0gPSBlc09ubHlFeHRlbnNpb24oJkV4dGVuc2lvbnM6OnJlYWREZXB0
aE5WKTsKLSAgICAgICAgbWFwWyJHTF9OVl9yZWFkX3N0ZW5jaWwiXSA9IGVzT25seUV4dGVuc2lv
bigmRXh0ZW5zaW9uczo6cmVhZFN0ZW5jaWxOVik7Ci0gICAgICAgIG1hcFsiR0xfTlZfZGVwdGhf
YnVmZmVyX2Zsb2F0MiJdID0gZXNPbmx5RXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpkZXB0aEJ1ZmZl
ckZsb2F0Mk5WKTsKKyAgICAgICAgbWFwWyJHTF9OVl9yZWFkX2RlcHRoIl0gPSBlbmFibGVhYmxl
RXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpyZWFkRGVwdGhOVik7CisgICAgICAgIG1hcFsiR0xfTlZf
cmVhZF9zdGVuY2lsIl0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpyZWFkU3Rl
bmNpbE5WKTsKKyAgICAgICAgbWFwWyJHTF9OVl9kZXB0aF9idWZmZXJfZmxvYXQyIl0gPSBlbmFi
bGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpkZXB0aEJ1ZmZlckZsb2F0Mk5WKTsKICAgICAg
ICAgbWFwWyJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgiXSA9IGVuYWJsZWFibGVFeHRl
bnNpb24oJkV4dGVuc2lvbnM6OnRleHR1cmVGb3JtYXRCR1JBODg4OCk7CiAgICAgICAgIG1hcFsi
R0xfRVhUX3RleHR1cmVfdHlwZV8yXzEwXzEwXzEwX1JFViJdID0gZW5hYmxlYWJsZUV4dGVuc2lv
bigmRXh0ZW5zaW9uczo6dGV4dHVyZUZvcm1hdDIxMDEwMTBSRVYpOwogICAgICAgICBtYXBbIkdM
X0VYVF9yZWFkX2Zvcm1hdF9iZ3JhIl0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25z
OjpyZWFkRm9ybWF0QkdSQSk7CkBAIC04ODUsNiArOTA3LDcgQEAgY29uc3QgRXh0ZW5zaW9uSW5m
b01hcCAmR2V0RXh0ZW5zaW9uSW5mb01hcCgpCiAgICAgICAgIG1hcFsiR0xfRVhUX3RleHR1cmVf
Y29tcHJlc3Npb25fYnB0YyJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6dGV4
dHVyZUNvbXByZXNzaW9uQlBUQyk7CiAgICAgICAgIG1hcFsiR0xfRVhUX3RleHR1cmVfY29tcHJl
c3Npb25fcmd0YyJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6dGV4dHVyZUNv
bXByZXNzaW9uUkdUQyk7CiAgICAgICAgIG1hcFsiR0xfT0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4
X3RleHR1cmUiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OmNvbXByZXNzZWRF
VEMxUkdCOFRleHR1cmVPRVMpOworICAgICAgICBtYXBbIkdMX0VYVF9jb21wcmVzc2VkX0VUQzFf
UkdCOF9zdWJfdGV4dHVyZSJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6Y29t
cHJlc3NlZEVUQzFSR0I4U3ViVGV4dHVyZSk7CiAgICAgICAgIG1hcFsiR0xfT0VTX2NvbXByZXNz
ZWRfRVRDMl9SR0I4X3RleHR1cmUiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6
OmNvbXByZXNzZWRFVEMyUkdCOFRleHR1cmVPRVMpOwogICAgICAgICBtYXBbIkdMX09FU19jb21w
cmVzc2VkX0VUQzJfc1JHQjhfdGV4dHVyZSJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5z
aW9uczo6Y29tcHJlc3NlZEVUQzJzUkdCOFRleHR1cmVPRVMpOwogICAgICAgICBtYXBbIkdMX09F
U19jb21wcmVzc2VkX0VUQzJfcHVuY2h0aHJvdWdoQV9SR0JBOF90ZXh0dXJlIl0gPSBlbmFibGVh
YmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpjb21wcmVzc2VkRVRDMlB1bmNodGhyb3VnaEFSR0I4
VGV4dHVyZU9FUyk7CkBAIC04OTksNiArOTIyLDcgQEAgY29uc3QgRXh0ZW5zaW9uSW5mb01hcCAm
R2V0RXh0ZW5zaW9uSW5mb01hcCgpCiAgICAgICAgIG1hcFsiR0xfSU1HX3RleHR1cmVfY29tcHJl
c3Npb25fcHZydGMiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OmNvbXByZXNz
ZWRUZXh0dXJlUFZSVEMpOwogICAgICAgICBtYXBbIkdMX0VYVF9wdnJ0Y19zUkdCIl0gPSBlbmFi
bGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpjb21wcmVzc2VkVGV4dHVyZVBWUlRDc1JHQik7
CiAgICAgICAgIG1hcFsiR0xfRVhUX3NSR0IiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVu
c2lvbnM6OnNSR0IpOworICAgICAgICBtYXBbIkdMX0VYVF90ZXh0dXJlX3NSR0JfUjgiXSA9IGVu
YWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OnNSR0JSOEVYVCk7CiAgICAgICAgIG1hcFsi
R0xfQU5HTEVfZGVwdGhfdGV4dHVyZSJdID0gZXNPbmx5RXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpk
ZXB0aFRleHR1cmVBTkdMRSk7CiAgICAgICAgIG1hcFsiR0xfT0VTX2RlcHRoX3RleHR1cmUiXSA9
IGVzT25seUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlT0VTKTsKICAgICAgICAg
bWFwWyJHTF9PRVNfZGVwdGhfdGV4dHVyZV9jdWJlX21hcCJdID0gZW5hYmxlYWJsZUV4dGVuc2lv
bigmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlQ3ViZU1hcE9FUyk7CkBAIC05NDQsNiArOTY4LDcg
QEAgY29uc3QgRXh0ZW5zaW9uSW5mb01hcCAmR2V0RXh0ZW5zaW9uSW5mb01hcCgpCiAgICAgICAg
IG1hcFsiR0xfRVhUX3NlbWFwaG9yZSJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9u
czo6c2VtYXBob3JlKTsKICAgICAgICAgbWFwWyJHTF9FWFRfc2VtYXBob3JlX2ZkIl0gPSBlbmFi
bGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpzZW1hcGhvcmVGZCk7CiAgICAgICAgIG1hcFsi
R0xfTlZfRUdMX3N0cmVhbV9jb25zdW1lcl9leHRlcm5hbCJdID0gZW5hYmxlYWJsZUV4dGVuc2lv
bigmRXh0ZW5zaW9uczo6ZWdsU3RyZWFtQ29uc3VtZXJFeHRlcm5hbE5WKTsKKyAgICAgICAgbWFw
WyJHTF9OVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0aW9uIl0gPSBlbmFibGVhYmxl
RXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpub3BlcnNwZWN0aXZlSW50ZXJwb2xhdGlvbk5WKTsKICAg
ICAgICAgbWFwWyJHTF9BTkdMRV9zZW1hcGhvcmVfZnVjaHNpYSJdID0gZW5hYmxlYWJsZUV4dGVu
c2lvbigmRXh0ZW5zaW9uczo6c2VtYXBob3JlRnVjaHNpYUFOR0xFKTsKICAgICAgICAgbWFwWyJH
TF9FWFRfdW5wYWNrX3N1YmltYWdlIl0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25z
Ojp1bnBhY2tTdWJpbWFnZSk7CiAgICAgICAgIG1hcFsiR0xfTlZfcGFja19zdWJpbWFnZSJdID0g
ZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6cGFja1N1YmltYWdlKTsKQEAgLTk2NSw2
ICs5OTAsNyBAQCBjb25zdCBFeHRlbnNpb25JbmZvTWFwICZHZXRFeHRlbnNpb25JbmZvTWFwKCkK
ICAgICAgICAgbWFwWyJHTF9DSFJPTUlVTV9iaW5kX2dlbmVyYXRlc19yZXNvdXJjZSJdID0gZXNP
bmx5RXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpiaW5kR2VuZXJhdGVzUmVzb3VyY2UpOwogICAgICAg
ICBtYXBbIkdMX0FOR0xFX3JvYnVzdF9jbGllbnRfbWVtb3J5Il0gPSBlc09ubHlFeHRlbnNpb24o
JkV4dGVuc2lvbnM6OnJvYnVzdENsaWVudE1lbW9yeSk7CiAgICAgICAgIG1hcFsiR0xfRVhUX3Rl
eHR1cmVfc1JHQl9kZWNvZGUiXSA9IGVzT25seUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6dGV4dHVy
ZVNSR0JEZWNvZGUpOworICAgICAgICBtYXBbIkdMX0VYVF90ZXh0dXJlX3NSR0Jfb3ZlcnJpZGUi
XSA9IGVzT25seUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6dGV4dHVyZVNSR0JPdmVycmlkZSk7CiAg
ICAgICAgIG1hcFsiR0xfRVhUX3NSR0Jfd3JpdGVfY29udHJvbCJdID0gZXNPbmx5RXh0ZW5zaW9u
KCZFeHRlbnNpb25zOjpzUkdCV3JpdGVDb250cm9sKTsKICAgICAgICAgbWFwWyJHTF9DSFJPTUlV
TV9jb2xvcl9idWZmZXJfZmxvYXRfcmdiIl0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNp
b25zOjpjb2xvckJ1ZmZlckZsb2F0UkdCKTsKICAgICAgICAgbWFwWyJHTF9DSFJPTUlVTV9jb2xv
cl9idWZmZXJfZmxvYXRfcmdiYSJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6
Y29sb3JCdWZmZXJGbG9hdFJHQkEpOwpAQCAtOTg3LDYgKzEwMTMsNyBAQCBjb25zdCBFeHRlbnNp
b25JbmZvTWFwICZHZXRFeHRlbnNpb25JbmZvTWFwKCkKICAgICAgICAgbWFwWyJHTF9BTkdMRV90
ZXh0dXJlX211bHRpc2FtcGxlIl0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjp0
ZXh0dXJlTXVsdGlzYW1wbGUpOwogICAgICAgICBtYXBbIkdMX0FOR0xFX211bHRpX2RyYXciXSA9
IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6Om11bHRpRHJhdyk7CiAgICAgICAgIG1h
cFsiR0xfQU5HTEVfcHJvdm9raW5nX3ZlcnRleCJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0
ZW5zaW9uczo6cHJvdm9raW5nVmVydGV4KTsKKyAgICAgICAgbWFwWyJHTF9DSFJPTUlVTV90ZXh0
dXJlX2ZpbHRlcmluZ19oaW50Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjp0
ZXh0dXJlRmlsdGVyaW5nQ0hST01JVU0pOwogICAgICAgICBtYXBbIkdMX0NIUk9NSVVNX2xvc2Vf
Y29udGV4dCJdID0gZW5hYmxlYWJsZUV4dGVuc2lvbigmRXh0ZW5zaW9uczo6bG9zZUNvbnRleHRD
SFJPTUlVTSk7CiAgICAgICAgIG1hcFsiR0xfQU5HTEVfdGV4dHVyZV9leHRlcm5hbF91cGRhdGUi
XSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OnRleHR1cmVFeHRlcm5hbFVwZGF0
ZUFOR0xFKTsKICAgICAgICAgbWFwWyJHTF9BTkdMRV9iYXNlX3ZlcnRleF9iYXNlX2luc3RhbmNl
Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpiYXNlVmVydGV4QmFzZUluc3Rh
bmNlKTsKQEAgLTk5NCw2ICsxMDIxLDggQEAgY29uc3QgRXh0ZW5zaW9uSW5mb01hcCAmR2V0RXh0
ZW5zaW9uSW5mb01hcCgpCiAgICAgICAgIG1hcFsiR0xfT0VTX2RyYXdfZWxlbWVudHNfYmFzZV92
ZXJ0ZXgiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OmRyYXdFbGVtZW50c0Jh
c2VWZXJ0ZXhPRVMpOwogICAgICAgICBtYXBbIkdMX0VYVF9kcmF3X2VsZW1lbnRzX2Jhc2VfdmVy
dGV4Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpkcmF3RWxlbWVudHNCYXNl
VmVydGV4RVhUKTsKICAgICAgICAgbWFwWyJHTF9FWFRfZ3B1X3NoYWRlcjUiXSA9IGVuYWJsZWFi
bGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OmdwdVNoYWRlcjVFWFQpOworICAgICAgICBtYXBbIkdM
X0FQUExFX2NsaXBfZGlzdGFuY2UiXSA9IGVuYWJsZWFibGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6
OmNsaXBEaXN0YW5jZUFQUExFKTsKKyAgICAgICAgbWFwWyJHTF9FWFRfRUdMX2ltYWdlX2FycmF5
Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjplZ2xJbWFnZUFycmF5KTsKICAg
ICAgICAgLy8gR0xFUzEgZXh0ZW5zaW9ucwogICAgICAgICBtYXBbIkdMX09FU19wb2ludF9zaXpl
X2FycmF5Il0gPSBlbmFibGVhYmxlRXh0ZW5zaW9uKCZFeHRlbnNpb25zOjpwb2ludFNpemVBcnJh
eU9FUyk7CiAgICAgICAgIG1hcFsiR0xfT0VTX3RleHR1cmVfY3ViZV9tYXAiXSA9IGVuYWJsZWFi
bGVFeHRlbnNpb24oJkV4dGVuc2lvbnM6OnRleHR1cmVDdWJlTWFwT0VTKTsKQEAgLTEzMjEsNiAr
MTM1MCw3IEBAIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBEaXNwbGF5RXh0ZW5zaW9uczo6Z2V0
U3RyaW5ncygpIGNvbnN0CiAgICAgSW5zZXJ0RXh0ZW5zaW9uU3RyaW5nKCJFR0xfS0hSX2ltYWdl
IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmZXh0ZW5zaW9uU3RyaW5ncyk7CiAgICAgSW5zZXJ0RXh0ZW5z
aW9uU3RyaW5nKCJFR0xfS0hSX2ltYWdlX2Jhc2UiLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbWFnZUJhc2UsICAgICAgICAgICAgICAgICAgICAgICAgICAmZXh0ZW5zaW9uU3Ry
aW5ncyk7CiAgICAgSW5zZXJ0RXh0ZW5zaW9uU3RyaW5nKCJFR0xfS0hSX2ltYWdlX3BpeG1hcCIs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVBpeG1hcCwgICAgICAgICAgICAg
ICAgICAgICAgICAmZXh0ZW5zaW9uU3RyaW5ncyk7CisgICAgSW5zZXJ0RXh0ZW5zaW9uU3RyaW5n
KCJFR0xfRVhUX2ltYWdlX2dsX2NvbG9yc3BhY2UiLCAgICAgICAgICAgICAgICAgICAgICAgICBp
bWFnZUdsQ29sb3JzcGFjZSwgICAgICAgICAgICAgICAgICAmZXh0ZW5zaW9uU3RyaW5ncyk7CiAg
ICAgSW5zZXJ0RXh0ZW5zaW9uU3RyaW5nKCJFR0xfS0hSX2dsX2NvbG9yc3BhY2UiLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnbENvbG9yc3BhY2UsICAgICAgICAgICAgICAgICAgICAg
ICAmZXh0ZW5zaW9uU3RyaW5ncyk7CiAgICAgSW5zZXJ0RXh0ZW5zaW9uU3RyaW5nKCJFR0xfRVhU
X2dsX2NvbG9yc3BhY2Vfc2NyZ2IiLCAgICAgICAgICAgICAgICAgICAgICAgICBnbENvbG9yc3Bh
Y2VTY3JnYiwgICAgICAgICAgICAgICAgICAmZXh0ZW5zaW9uU3RyaW5ncyk7CiAgICAgSW5zZXJ0
RXh0ZW5zaW9uU3RyaW5nKCJFR0xfRVhUX2dsX2NvbG9yc3BhY2Vfc2NyZ2JfbGluZWFyIiwgICAg
ICAgICAgICAgICAgICBnbENvbG9yc3BhY2VTY3JnYkxpbmVhciwgICAgICAgICAgICAmZXh0ZW5z
aW9uU3RyaW5ncyk7CkBAIC0xMzQyLDYgKzEzNzIsNyBAQCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmlu
Zz4gRGlzcGxheUV4dGVuc2lvbnM6OmdldFN0cmluZ3MoKSBjb25zdAogICAgIEluc2VydEV4dGVu
c2lvblN0cmluZygiRUdMX0FOR0xFX2NyZWF0ZV9jb250ZXh0X3dlYmdsX2NvbXBhdGliaWxpdHki
LCAgICAgICAgY3JlYXRlQ29udGV4dFdlYkdMQ29tcGF0aWJpbGl0eSwgICAgJmV4dGVuc2lvblN0
cmluZ3MpOwogICAgIEluc2VydEV4dGVuc2lvblN0cmluZygiRUdMX0NIUk9NSVVNX2NyZWF0ZV9j
b250ZXh0X2JpbmRfZ2VuZXJhdGVzX3Jlc291cmNlIiwgY3JlYXRlQ29udGV4dEJpbmRHZW5lcmF0
ZXNSZXNvdXJjZSwgJmV4dGVuc2lvblN0cmluZ3MpOwogICAgIEluc2VydEV4dGVuc2lvblN0cmlu
ZygiRUdMX0NIUk9NSVVNX3N5bmNfY29udHJvbCIsICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3luY0NvbnRyb2xDSFJPTUlVTSwgICAgICAgICAgICAgICAgJmV4dGVuc2lvblN0cmluZ3MpOwor
ICAgIEluc2VydEV4dGVuc2lvblN0cmluZygiRUdMX0FOR0xFX3N5bmNfY29udHJvbF9yYXRlIiwg
ICAgICAgICAgICAgICAgICAgICAgICAgc3luY0NvbnRyb2xSYXRlQU5HTEUsICAgICAgICAgICAg
ICAgJmV4dGVuc2lvblN0cmluZ3MpOwogICAgIEluc2VydEV4dGVuc2lvblN0cmluZygiRUdMX0tI
Ul9zd2FwX2J1ZmZlcnNfd2l0aF9kYW1hZ2UiLCAgICAgICAgICAgICAgICAgICAgc3dhcEJ1ZmZl
cnNXaXRoRGFtYWdlLCAgICAgICAgICAgICAgJmV4dGVuc2lvblN0cmluZ3MpOwogICAgIEluc2Vy
dEV4dGVuc2lvblN0cmluZygiRUdMX0VYVF9waXhlbF9mb3JtYXRfZmxvYXQiLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGl4ZWxGb3JtYXRGbG9hdCwgICAgICAgICAgICAgICAgICAgJmV4dGVu
c2lvblN0cmluZ3MpOwogICAgIEluc2VydEV4dGVuc2lvblN0cmluZygiRUdMX0tIUl9zdXJmYWNl
bGVzc19jb250ZXh0IiwgICAgICAgICAgICAgICAgICAgICAgICAgc3VyZmFjZWxlc3NDb250ZXh0
LCAgICAgICAgICAgICAgICAgJmV4dGVuc2lvblN0cmluZ3MpOwpAQCAtMTM2NSw2ICsxMzk2LDkg
QEAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IERpc3BsYXlFeHRlbnNpb25zOjpnZXRTdHJpbmdz
KCkgY29uc3QKICAgICBJbnNlcnRFeHRlbnNpb25TdHJpbmcoIkVHTF9LSFJfbm9fY29uZmlnX2Nv
bnRleHQiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vQ29uZmlnQ29udGV4dCwgICAgICAg
ICAgICAgICAgICAgICZleHRlbnNpb25TdHJpbmdzKTsKICAgICBJbnNlcnRFeHRlbnNpb25TdHJp
bmcoIkVHTF9JTUdfY29udGV4dF9wcmlvcml0eSIsICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHRQcmlvcml0eSwgICAgICAgICAgICAgICAgICAgICZleHRlbnNpb25TdHJpbmdzKTsK
ICAgICBJbnNlcnRFeHRlbnNpb25TdHJpbmcoIkVHTF9LSFJfY3JlYXRlX2NvbnRleHRfbm9fZXJy
b3IiLCAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZUNvbnRleHROb0Vycm9yLCAgICAgICAgICAg
ICAgICZleHRlbnNpb25TdHJpbmdzKTsKKyAgICBJbnNlcnRFeHRlbnNpb25TdHJpbmcoIkVHTF9F
WFRfaW1hZ2VfZG1hX2J1Zl9pbXBvcnQiLCAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlRG1h
QnVmSW1wb3J0RVhULCAgICAgICAgICAgICAgICZleHRlbnNpb25TdHJpbmdzKTsKKyAgICBJbnNl
cnRFeHRlbnNpb25TdHJpbmcoIkVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pbXBvcnRfbW9kaWZpZXJz
IiwgICAgICAgICAgICAgIGltYWdlRG1hQnVmSW1wb3J0TW9kaWZpZXJzRVhULCAgICAgICAgICAg
ICAgICZleHRlbnNpb25TdHJpbmdzKTsKKwogICAgIC8vIGNsYW5nLWZvcm1hdCBvbgogCiAgICAg
cmV0dXJuIGV4dGVuc2lvblN0cmluZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvQ2Fwcy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL0NhcHMuaAppbmRleCBiZDY5Nzg3MTljNmZiMDUzYjMzZWNhZDFhZTE4ZmQxYTllZWU1
ZmE0Li4zMjE0MmE0MmEzZWI5MmRjNmRlMjdjYWI1MDRkZDllZmU1NjM4NGRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ2Fwcy5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9DYXBzLmgKQEAgLTIyNiw2ICsyMjYsOSBA
QCBzdHJ1Y3QgRXh0ZW5zaW9ucwogICAgIC8vIEltcGxpZXMgdGhhdCBUZXh0dXJlQ2FwcyBmb3Ig
R0xfRVRDMV9SR0I4X09FUyBleGlzdAogICAgIGJvb2wgY29tcHJlc3NlZEVUQzFSR0I4VGV4dHVy
ZU9FUyA9IGZhbHNlOwogCisgICAgLy8gR0xfRVhUX2NvbXByZXNzZWRfRVRDMV9SR0I4X3N1Yl90
ZXh0dXJlCisgICAgYm9vbCBjb21wcmVzc2VkRVRDMVJHQjhTdWJUZXh0dXJlID0gZmFsc2U7CisK
ICAgICAvLyBPRVNfY29tcHJlc3NlZF9FVEMyX1JHQjhfdGV4dHVyZQogICAgIGJvb2wgY29tcHJl
c3NlZEVUQzJSR0I4VGV4dHVyZU9FUyA9IGZhbHNlOwogCkBAIC0yNzQsNiArMjc3LDkgQEAgc3Ry
dWN0IEV4dGVuc2lvbnMKICAgICAvLyBUT0RPOiBEb24ndCBhZHZlcnRpc2UgdGhpcyBleHRlbnNp
b24gaW4gRVMzCiAgICAgYm9vbCBzUkdCID0gZmFsc2U7CiAKKyAgICAvLyBHTF9FWFRfdGV4dHVy
ZV9zUkdCX1I4CisgICAgYm9vbCBzUkdCUjhFWFQgPSBmYWxzZTsKKwogICAgIC8vIEdMX0FOR0xF
X2RlcHRoX3RleHR1cmUKICAgICBib29sIGRlcHRoVGV4dHVyZUFOR0xFID0gZmFsc2U7CiAKQEAg
LTQyOCw2ICs0MzQsOSBAQCBzdHJ1Y3QgRXh0ZW5zaW9ucwogICAgIC8vIE5WX3BhY2tfc3ViaW1h
Z2UKICAgICBib29sIHBhY2tTdWJpbWFnZSA9IGZhbHNlOwogCisgICAgLy8gR0xfTlZfc2hhZGVy
X25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbgorICAgIGJvb2wgbm9wZXJzcGVjdGl2ZUludGVy
cG9sYXRpb25OViA9IGZhbHNlOworCiAgICAgLy8gR0xfT0VTX3ZlcnRleF9oYWxmX2Zsb2F0CiAg
ICAgYm9vbCB2ZXJ0ZXhIYWxmRmxvYXRPRVMgPSBmYWxzZTsKIApAQCAtNDgzLDYgKzQ5Miw5IEBA
IHN0cnVjdCBFeHRlbnNpb25zCiAgICAgLy8gR0xfRVhUX3RleHR1cmVfc1JHQl9kZWNvZGUKICAg
ICBib29sIHRleHR1cmVTUkdCRGVjb2RlID0gZmFsc2U7CiAKKyAgICAvLyBHTF9FWFRfdGV4dHVy
ZV9zUkdCX292ZXJyaWRlCisgICAgYm9vbCB0ZXh0dXJlU1JHQk92ZXJyaWRlID0gZmFsc2U7CisK
ICAgICAvLyBHTF9FWFRfc1JHQl93cml0ZV9jb250cm9sCiAgICAgYm9vbCBzUkdCV3JpdGVDb250
cm9sID0gZmFsc2U7CiAKQEAgLTQ5Miw2ICs1MDQsOSBAQCBzdHJ1Y3QgRXh0ZW5zaW9ucwogICAg
IC8vIEdMX0NIUk9NSVVNX2NvbG9yX2J1ZmZlcl9mbG9hdF9yZ2JhCiAgICAgYm9vbCBjb2xvckJ1
ZmZlckZsb2F0UkdCQSA9IGZhbHNlOwogCisgICAgLy8gR0xfRVhUX0VHTF9pbWFnZV9hcnJheQor
ICAgIGJvb2wgZWdsSW1hZ2VBcnJheSA9IGZhbHNlOworCiAgICAgLy8gRVMzIEV4dGVuc2lvbiBz
dXBwb3J0CiAKICAgICAvLyBHTF9FWFRfY29sb3JfYnVmZmVyX2Zsb2F0CkBAIC01NzMsNiArNTg4
LDkgQEAgc3RydWN0IEV4dGVuc2lvbnMKICAgICAvLyBHTF9BTkdMRV9wcm92b2tpbmdfdmVydGV4
CiAgICAgYm9vbCBwcm92b2tpbmdWZXJ0ZXggPSBmYWxzZTsKIAorICAgIC8vIEdMX0NIUk9NSVVN
X3RleHR1cmVfZmlsdGVyaW5nX2hpbnQKKyAgICBib29sIHRleHR1cmVGaWx0ZXJpbmdDSFJPTUlV
TSA9IGZhbHNlOworCiAgICAgLy8gR0xfQ0hST01JVU1fbG9zZV9jb250ZXh0CiAgICAgYm9vbCBs
b3NlQ29udGV4dENIUk9NSVVNID0gZmFsc2U7CiAKQEAgLTYwMiw2ICs2MjAsOSBAQCBzdHJ1Y3Qg
RXh0ZW5zaW9ucwogICAgIGJvb2wgZ3B1U2hhZGVyNUVYVCA9IGZhbHNlOwogICAgIC8vIFdFQkdM
X3ZpZGVvX3RleHR1cmUKICAgICBib29sIHdlYmdsVmlkZW9UZXh0dXJlID0gZmFsc2U7CisKKyAg
ICAvLyBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlCisgICAgYm9vbCBjbGlwRGlzdGFuY2VBUFBMRSA9
IGZhbHNlOwogfTsKIAogLy8gUG9pbnRlciB0byBhIGJvb2xlYW4gbWVtZWJlciBvZiB0aGUgRXh0
ZW5zaW9ucyBzdHJ1Y3QKQEAgLTgxNiw2ICs4MzcsOSBAQCBzdHJ1Y3QgQ2FwcwogCiAgICAgR0x1
aW50IHN1YlBpeGVsQml0cyA9IDQ7CiAKKyAgICAvLyBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlL0dM
X0VYVF9jbGlwX2N1bGxfZGlzdGFuY2UKKyAgICBHTHVpbnQgbWF4Q2xpcERpc3RhbmNlcyA9IDA7
CisKICAgICAvLyBHTEVTMSBlbXVsYXRpb246IENhcHMgZm9yIEVTIDEuMS4gVGFrZW4gZnJvbSBU
YWJsZSA2LjIwIC8gNi4yMiBpbiB0aGUgT3BlbkdMIEVTIDEuMSBzcGVjLgogICAgIEdMdWludCBt
YXhNdWx0aXRleHR1cmVVbml0cyAgICAgICAgICAgICAgICAgPSAwOwogICAgIEdMdWludCBtYXhD
bGlwUGxhbmVzICAgICAgICAgICAgICAgICAgICAgICAgPSAwOwpAQCAtOTQ3LDYgKzk3MSw5IEBA
IHN0cnVjdCBEaXNwbGF5RXh0ZW5zaW9ucwogICAgIC8vIEVHTF9DSFJPTUlVTV9zeW5jX2NvbnRy
b2wKICAgICBib29sIHN5bmNDb250cm9sQ0hST01JVU0gPSBmYWxzZTsKIAorICAgIC8vIEVHTF9B
TkdMRV9zeW5jX2NvbnRyb2xfcmF0ZQorICAgIGJvb2wgc3luY0NvbnRyb2xSYXRlQU5HTEUgPSBm
YWxzZTsKKwogICAgIC8vIEVHTF9LSFJfc3dhcF9idWZmZXJzX3dpdGhfZGFtYWdlCiAgICAgYm9v
bCBzd2FwQnVmZmVyc1dpdGhEYW1hZ2UgPSBmYWxzZTsKIApAQCAtMTAzNiw2ICsxMDYzLDE1IEBA
IHN0cnVjdCBEaXNwbGF5RXh0ZW5zaW9ucwogCiAgICAgLy8gRUdMX0FORFJPSURfZnJhbWVidWZm
ZXJfdGFyZ2V0CiAgICAgYm9vbCBmcmFtZWJ1ZmZlclRhcmdldEFORFJPSUQgPSBmYWxzZTsKKwor
ICAgIC8vIEVHTF9FWFRfaW1hZ2VfZ2xfY29sb3JzcGFjZQorICAgIGJvb2wgaW1hZ2VHbENvbG9y
c3BhY2UgPSBmYWxzZTsKKworICAgIC8vIEVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pbXBvcnQKKyAg
ICBib29sIGltYWdlRG1hQnVmSW1wb3J0RVhUID0gZmFsc2U7CisKKyAgICAvLyBFR0xfRVhUX2lt
YWdlX2RtYV9idWZfaW1wb3J0X21vZGlmaWVycworICAgIGJvb2wgaW1hZ2VEbWFCdWZJbXBvcnRN
b2RpZmllcnNFWFQgPSBmYWxzZTsKIH07CiAKIHN0cnVjdCBEZXZpY2VFeHRlbnNpb25zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29tcGlsZXIuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NvbXBpbGVyLmNwcAppbmRl
eCA5ZGRlNTA0NzFlOWMzNjVhMWUwMDJkM2EyYWRmZmJiMTk2MWFhYTFkLi4yNjA4YjExNmJjOTZl
ZGRkNjA4MTZmNDMzMTViMzc0MTU2OTgwODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9Db21waWxlci5jcHAKQEAgLTkyLDE3ICs5MiwxOSBAQCBDb21w
aWxlcjo6Q29tcGlsZXIocng6OkdMSW1wbEZhY3RvcnkgKmltcGxGYWN0b3J5LCBjb25zdCBTdGF0
ZSAmc3RhdGUpCiAgICAgbVJlc291cmNlcy5FWFRfc2hhZGVyX3RleHR1cmVfbG9kICAgICAgID0g
ZXh0ZW5zaW9ucy5zaGFkZXJUZXh0dXJlTE9EOwogICAgIG1SZXNvdXJjZXMuRVhUX3NoYWRlcl9u
b25fY29uc3RhbnRfZ2xvYmFsX2luaXRpYWxpemVycyA9CiAgICAgICAgIGV4dGVuc2lvbnMuc2hh
ZGVyTm9uQ29uc3RHbG9iYWxJbml0aWFsaXplcnNFWFQ7Ci0gICAgbVJlc291cmNlcy5PRVNfRUdM
X2ltYWdlX2V4dGVybmFsICAgICAgICAgID0gZXh0ZW5zaW9ucy5lZ2xJbWFnZUV4dGVybmFsT0VT
OwotICAgIG1SZXNvdXJjZXMuT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyAgICA9IGV4dGVu
c2lvbnMuZWdsSW1hZ2VFeHRlcm5hbEVzc2wzT0VTOwotICAgIG1SZXNvdXJjZXMuTlZfRUdMX3N0
cmVhbV9jb25zdW1lcl9leHRlcm5hbCA9IGV4dGVuc2lvbnMuZWdsU3RyZWFtQ29uc3VtZXJFeHRl
cm5hbE5WOwotICAgIG1SZXNvdXJjZXMuQVJCX3RleHR1cmVfcmVjdGFuZ2xlICAgICAgICAgICA9
IGV4dGVuc2lvbnMudGV4dHVyZVJlY3RhbmdsZTsKLSAgICBtUmVzb3VyY2VzLkVYVF9ncHVfc2hh
ZGVyNSAgICAgICAgICAgICAgICAgPSBleHRlbnNpb25zLmdwdVNoYWRlcjVFWFQ7CisgICAgbVJl
c291cmNlcy5PRVNfRUdMX2ltYWdlX2V4dGVybmFsICAgICAgICAgICAgICAgID0gZXh0ZW5zaW9u
cy5lZ2xJbWFnZUV4dGVybmFsT0VTOworICAgIG1SZXNvdXJjZXMuT0VTX0VHTF9pbWFnZV9leHRl
cm5hbF9lc3NsMyAgICAgICAgICA9IGV4dGVuc2lvbnMuZWdsSW1hZ2VFeHRlcm5hbEVzc2wzT0VT
OworICAgIG1SZXNvdXJjZXMuTlZfRUdMX3N0cmVhbV9jb25zdW1lcl9leHRlcm5hbCAgICAgICA9
IGV4dGVuc2lvbnMuZWdsU3RyZWFtQ29uc3VtZXJFeHRlcm5hbE5WOworICAgIG1SZXNvdXJjZXMu
TlZfc2hhZGVyX25vcGVyc3BlY3RpdmVfaW50ZXJwb2xhdGlvbiA9IGV4dGVuc2lvbnMubm9wZXJz
cGVjdGl2ZUludGVycG9sYXRpb25OVjsKKyAgICBtUmVzb3VyY2VzLkFSQl90ZXh0dXJlX3JlY3Rh
bmdsZSAgICAgICAgICAgICAgICAgPSBleHRlbnNpb25zLnRleHR1cmVSZWN0YW5nbGU7CisgICAg
bVJlc291cmNlcy5FWFRfZ3B1X3NoYWRlcjUgICAgICAgICAgICAgICAgICAgICAgID0gZXh0ZW5z
aW9ucy5ncHVTaGFkZXI1RVhUOwogICAgIG1SZXNvdXJjZXMuT0VTX3RleHR1cmVfc3RvcmFnZV9t
dWx0aXNhbXBsZV8yZF9hcnJheSA9CiAgICAgICAgIGV4dGVuc2lvbnMudGV4dHVyZVN0b3JhZ2VN
dWx0aXNhbXBsZTJEQXJyYXlPRVM7CiAgICAgbVJlc291cmNlcy5PRVNfdGV4dHVyZV8zRCAgICAg
ICAgICAgICAgICAgID0gZXh0ZW5zaW9ucy50ZXh0dXJlM0RPRVM7CiAgICAgbVJlc291cmNlcy5B
TkdMRV90ZXh0dXJlX211bHRpc2FtcGxlICAgICAgID0gZXh0ZW5zaW9ucy50ZXh0dXJlTXVsdGlz
YW1wbGU7CiAgICAgbVJlc291cmNlcy5BTkdMRV9tdWx0aV9kcmF3ICAgICAgICAgICAgICAgID0g
ZXh0ZW5zaW9ucy5tdWx0aURyYXc7CiAgICAgbVJlc291cmNlcy5BTkdMRV9iYXNlX3ZlcnRleF9i
YXNlX2luc3RhbmNlID0gZXh0ZW5zaW9ucy5iYXNlVmVydGV4QmFzZUluc3RhbmNlOworICAgIG1S
ZXNvdXJjZXMuQVBQTEVfY2xpcF9kaXN0YW5jZSAgICAgICAgICAgICA9IGV4dGVuc2lvbnMuY2xp
cERpc3RhbmNlQVBQTEU7CiAKICAgICAvLyBUT0RPOiB1c2Ugc2hhZGVyIHByZWNpc2lvbiBjYXBz
IHRvIGRldGVybWluZSBpZiBoaWdoIHByZWNpc2lvbiBpcyBzdXBwb3J0ZWQ/CiAgICAgbVJlc291
cmNlcy5GcmFnbWVudFByZWNpc2lvbkhpZ2ggPSAxOwpAQCAtMTMxLDYgKzEzMyw5IEBAIENvbXBp
bGVyOjpDb21waWxlcihyeDo6R0xJbXBsRmFjdG9yeSAqaW1wbEZhY3RvcnksIGNvbnN0IFN0YXRl
ICZzdGF0ZSkKICAgICBtUmVzb3VyY2VzLkVYVF9ibGVuZF9mdW5jX2V4dGVuZGVkICA9IGV4dGVu
c2lvbnMuYmxlbmRGdW5jRXh0ZW5kZWQ7CiAgICAgbVJlc291cmNlcy5NYXhEdWFsU291cmNlRHJh
d0J1ZmZlcnMgPSBleHRlbnNpb25zLm1heER1YWxTb3VyY2VEcmF3QnVmZmVyczsKIAorICAgIC8v
IEFQUExFX2NsaXBfZGlzdGFuY2UvRVhUX2NsaXBfY3VsbF9kaXN0YW5jZQorICAgIG1SZXNvdXJj
ZXMuTWF4Q2xpcERpc3RhbmNlcyA9IGNhcHMubWF4Q2xpcERpc3RhbmNlczsKKwogICAgIC8vIEdM
U0wgRVMgMy4xIGNvbnN0YW50cwogICAgIG1SZXNvdXJjZXMuTWF4UHJvZ3JhbVRleHR1cmVHYXRo
ZXJPZmZzZXQgICAgPSBjYXBzLm1heFByb2dyYW1UZXh0dXJlR2F0aGVyT2Zmc2V0OwogICAgIG1S
ZXNvdXJjZXMuTWluUHJvZ3JhbVRleHR1cmVHYXRoZXJPZmZzZXQgICAgPSBjYXBzLm1pblByb2dy
YW1UZXh0dXJlR2F0aGVyT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL0NvbnN0YW50cy5oCmluZGV4IDc0Njc4OTkxMzU0MjE5ODVjMzJmOWM5NTlhYzZi
ZGVlYzc3ZGYwM2QuLjQyOTY0Y2MxNGZhYjczYzNjMDIzMDUyY2IwZDJmMzNjZDFjMDgwYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db25zdGFudHMu
aAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29uc3RhbnRzLmgK
QEAgLTczLDYgKzczLDkgQEAgZW51bQogCiAgICAgLy8gSW1wbGVtZW50YXRpb24gdXBwZXIgbGlt
aXRzLCByZWFsIG1heGltdW1zIGRlcGVuZCBvbiB0aGUgaGFyZHdhcmUuCiAgICAgSU1QTEVNRU5U
QVRJT05fTUFYX1NIQURFUl9TVE9SQUdFX0JVRkZFUl9CSU5ESU5HUyA9IDY0LAorCisgICAgLy8g
SW1wbGVtZW50YXRpb24gdXBwZXIgbGltaXRzIG9mIG1heCBudW1iZXIgb2YgY2xpcCBkaXN0YW5j
ZXMKKyAgICBJTVBMRU1FTlRBVElPTl9NQVhfQ0xJUF9ESVNUQU5DRVMgPSAzMiwKIH07CiAKIG5h
bWVzcGFjZSBsaW1pdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9Db250ZXh0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9Db250ZXh0LmNwcAppbmRleCAzOGQyMWU2ZjI1MGRjZTIyYWRlMDg3ZDRiNGU2Y2Q2YWQzZTFh
NzhlLi5hNDM5MzcwOTFjNDM4OTM5MGQwN2UzMGEwNWZmZmU1OGY0NDg4MjA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NvbnRleHQuY3BwCkBAIC0yNTUs
OCArMjU1LDcgQEAgQ29udGV4dDo6Q29udGV4dChlZ2w6OkRpc3BsYXkgKmRpc3BsYXksCiAgICAg
ICAgICAgICAgICAgIGNvbnN0IGVnbDo6QXR0cmlidXRlTWFwICZhdHRyaWJzLAogICAgICAgICAg
ICAgICAgICBjb25zdCBlZ2w6OkRpc3BsYXlFeHRlbnNpb25zICZkaXNwbGF5RXh0ZW5zaW9ucywK
ICAgICAgICAgICAgICAgICAgY29uc3QgZWdsOjpDbGllbnRFeHRlbnNpb25zICZjbGllbnRFeHRl
bnNpb25zKQotICAgIDogbVN0YXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Q29udGV4dElEPih0aGlzKSwK
LSAgICAgICAgICAgICBzaGFyZUNvbnRleHQgPyAmc2hhcmVDb250ZXh0LT5tU3RhdGUgOiBudWxs
cHRyLAorICAgIDogbVN0YXRlKHNoYXJlQ29udGV4dCA/ICZzaGFyZUNvbnRleHQtPm1TdGF0ZSA6
IG51bGxwdHIsCiAgICAgICAgICAgICAgc2hhcmVUZXh0dXJlcywKICAgICAgICAgICAgICAmbU92
ZXJsYXksCiAgICAgICAgICAgICAgY2xpZW50VHlwZSwKQEAgLTQ0Miw2ICs0NDEsNyBAQCB2b2lk
IENvbnRleHQ6OmluaXRpYWxpemUoKQogICAgIG1EcmF3RGlydHlPYmplY3RzLnNldChTdGF0ZTo6
RElSVFlfT0JKRUNUX1ZFUlRFWF9BUlJBWSk7CiAgICAgbURyYXdEaXJ0eU9iamVjdHMuc2V0KFN0
YXRlOjpESVJUWV9PQkpFQ1RfVEVYVFVSRVMpOwogICAgIG1EcmF3RGlydHlPYmplY3RzLnNldChT
dGF0ZTo6RElSVFlfT0JKRUNUX1BST0dSQU0pOworICAgIG1EcmF3RGlydHlPYmplY3RzLnNldChT
dGF0ZTo6RElSVFlfT0JKRUNUX1BST0dSQU1fUElQRUxJTkUpOwogICAgIG1EcmF3RGlydHlPYmpl
Y3RzLnNldChTdGF0ZTo6RElSVFlfT0JKRUNUX1NBTVBMRVJTKTsKICAgICBtRHJhd0RpcnR5T2Jq
ZWN0cy5zZXQoU3RhdGU6OkRJUlRZX09CSkVDVF9JTUFHRVMpOwogCkBAIC00OTAsNiArNDkwLDcg
QEAgdm9pZCBDb250ZXh0Ojppbml0aWFsaXplKCkKICAgICBtQ29tcHV0ZURpcnR5Qml0cy5zZXQo
U3RhdGU6OkRJUlRZX0JJVF9ESVNQQVRDSF9JTkRJUkVDVF9CVUZGRVJfQklORElORyk7CiAgICAg
bUNvbXB1dGVEaXJ0eU9iamVjdHMuc2V0KFN0YXRlOjpESVJUWV9PQkpFQ1RfVEVYVFVSRVMpOwog
ICAgIG1Db21wdXRlRGlydHlPYmplY3RzLnNldChTdGF0ZTo6RElSVFlfT0JKRUNUX1BST0dSQU0p
OworICAgIG1Db21wdXRlRGlydHlPYmplY3RzLnNldChTdGF0ZTo6RElSVFlfT0JKRUNUX1BST0dS
QU1fUElQRUxJTkUpOwogICAgIG1Db21wdXRlRGlydHlPYmplY3RzLnNldChTdGF0ZTo6RElSVFlf
T0JKRUNUX0lNQUdFUyk7CiAgICAgbUNvbXB1dGVEaXJ0eU9iamVjdHMuc2V0KFN0YXRlOjpESVJU
WV9PQkpFQ1RfU0FNUExFUlMpOwogCkBAIC01NjQsMTMgKzU2NSwxNiBAQCBlZ2w6OkVycm9yIENv
bnRleHQ6Om9uRGVzdHJveShjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXkpCiAgICAgbVN0YXRl
LnJlc2V0KHRoaXMpOwogCiAgICAgbVN0YXRlLm1CdWZmZXJNYW5hZ2VyLT5yZWxlYXNlKHRoaXMp
OworICAgIC8vIG1Qcm9ncmFtUGlwZWxpbmVNYW5hZ2VyIG11c3QgYmUgYmVmb3JlIG1TaGFkZXJQ
cm9ncmFtTWFuYWdlciB0byBnaXZlIGVhY2gKKyAgICAvLyBQUE8gdGhlIGNoYW5jZSB0byByZWxl
YXNlIGFueSByZWZlcmVuY2VzIHRoZXkgaGF2ZSB0byB0aGUgUHJvZ3JhbXMgdGhhdAorICAgIC8v
IGFyZSBib3VuZCB0byB0aGVtIGJlZm9yZSB0aGUgUHJvZ3JhbXMgYXJlIHJlbGVhc2VkKCknZWQu
CisgICAgbVN0YXRlLm1Qcm9ncmFtUGlwZWxpbmVNYW5hZ2VyLT5yZWxlYXNlKHRoaXMpOwogICAg
IG1TdGF0ZS5tU2hhZGVyUHJvZ3JhbU1hbmFnZXItPnJlbGVhc2UodGhpcyk7CiAgICAgbVN0YXRl
Lm1UZXh0dXJlTWFuYWdlci0+cmVsZWFzZSh0aGlzKTsKICAgICBtU3RhdGUubVJlbmRlcmJ1ZmZl
ck1hbmFnZXItPnJlbGVhc2UodGhpcyk7CiAgICAgbVN0YXRlLm1TYW1wbGVyTWFuYWdlci0+cmVs
ZWFzZSh0aGlzKTsKICAgICBtU3RhdGUubVN5bmNNYW5hZ2VyLT5yZWxlYXNlKHRoaXMpOwogICAg
IG1TdGF0ZS5tRnJhbWVidWZmZXJNYW5hZ2VyLT5yZWxlYXNlKHRoaXMpOwotICAgIG1TdGF0ZS5t
UHJvZ3JhbVBpcGVsaW5lTWFuYWdlci0+cmVsZWFzZSh0aGlzKTsKICAgICBtU3RhdGUubU1lbW9y
eU9iamVjdE1hbmFnZXItPnJlbGVhc2UodGhpcyk7CiAgICAgbVN0YXRlLm1TZW1hcGhvcmVNYW5h
Z2VyLT5yZWxlYXNlKHRoaXMpOwogCkBAIC03MTEsNyArNzE1LDU3IEBAIFByb2dyYW1QaXBlbGlu
ZUlEIENvbnRleHQ6OmNyZWF0ZVByb2dyYW1QaXBlbGluZSgpCiAKIEdMdWludCBDb250ZXh0Ojpj
cmVhdGVTaGFkZXJQcm9ncmFtdihTaGFkZXJUeXBlIHR5cGUsIEdMc2l6ZWkgY291bnQsIGNvbnN0
IEdMY2hhciAqY29uc3QgKnN0cmluZ3MpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOworICAgIGNv
bnN0IFNoYWRlclByb2dyYW1JRCBzaGFkZXJJRCA9IEZyb21HTDxTaGFkZXJQcm9ncmFtSUQ+KGNy
ZWF0ZVNoYWRlcih0eXBlKSk7CisgICAgaWYgKHNoYWRlcklELnZhbHVlKQorICAgIHsKKyAgICAg
ICAgU2hhZGVyICpzaGFkZXJPYmplY3QgPSBnZXRTaGFkZXIoc2hhZGVySUQpOworICAgICAgICBB
U1NFUlQoc2hhZGVyT2JqZWN0KTsKKyAgICAgICAgc2hhZGVyT2JqZWN0LT5zZXRTb3VyY2UoY291
bnQsIHN0cmluZ3MsIG51bGxwdHIpOworICAgICAgICBzaGFkZXJPYmplY3QtPmNvbXBpbGUodGhp
cyk7CisgICAgICAgIGNvbnN0IFNoYWRlclByb2dyYW1JRCBwcm9ncmFtSUQgPSBGcm9tR0w8U2hh
ZGVyUHJvZ3JhbUlEPihjcmVhdGVQcm9ncmFtKCkpOworICAgICAgICBpZiAocHJvZ3JhbUlELnZh
bHVlKQorICAgICAgICB7CisgICAgICAgICAgICBnbDo6UHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCA9
IGdldFByb2dyYW1Ob1Jlc29sdmVMaW5rKHByb2dyYW1JRCk7CisgICAgICAgICAgICBBU1NFUlQo
cHJvZ3JhbU9iamVjdCk7CisKKyAgICAgICAgICAgIGlmIChzaGFkZXJPYmplY3QtPmlzQ29tcGls
ZWQoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBBcyBwZXIgS2hyb25vcyBp
c3N1ZSAyMjYxOgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0bGFiLmtocm9ub3Mub3Jn
L1RyYWNrZXIvdmstZ2wtY3RzL2lzc3Vlcy8yMjYxCisgICAgICAgICAgICAgICAgLy8gV2UgbXVz
dCB3YWl0IHRvIG1hcmsgdGhlIHByb2dyYW0gc2VwYXJhYmxlIHVudGlsIGl0J3Mgc3VjY2Vzc2Z1
bGx5IGNvbXBpbGVkLgorICAgICAgICAgICAgICAgIHByb2dyYW1PYmplY3QtPnNldFNlcGFyYWJs
ZSh0cnVlKTsKKworICAgICAgICAgICAgICAgIHByb2dyYW1PYmplY3QtPmF0dGFjaFNoYWRlcih0
aGlzLCBzaGFkZXJPYmplY3QpOworCisgICAgICAgICAgICAgICAgaWYgKHByb2dyYW1PYmplY3Qt
PmxpbmsodGhpcykgIT0gYW5nbGU6OlJlc3VsdDo6Q29udGludWUpCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBkZWxldGVTaGFkZXIoc2hhZGVySUQpOworICAgICAgICAg
ICAgICAgICAgICBkZWxldGVQcm9ncmFtKHByb2dyYW1JRCk7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiAwdTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9uUHJv
Z3JhbUxpbmsocHJvZ3JhbU9iamVjdCkgIT0gYW5nbGU6OlJlc3VsdDo6Q29udGludWUpCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBkZWxldGVTaGFkZXIoc2hhZGVySUQp
OworICAgICAgICAgICAgICAgICAgICBkZWxldGVQcm9ncmFtKHByb2dyYW1JRCk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAwdTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICAvLyBOZWVkIHRvIG1hbnVhbGx5IHJlc29sdmVMaW5rKCksIHNpbmNlIG9uUHJvZ3JhbUxp
bmsoKSBkb2Vzbid0IHRoaW5rIHRoZSBwcm9ncmFtCisgICAgICAgICAgICAgICAgLy8gaXMgaW4g
dXNlLiAgIEZvciB0aGUgbm9ybWFsIGdsRGV0YWNoU2hhZGVyKCkgQVBJIGNhbGwgcGF0aCwgdGhp
cyBpcyBkb25lIGR1cmluZworICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlRGV0YWNoU2hhZGVy
KCkgdmlhIGdsOjpHZXRWYWxpZFByb2dyYW0oKS4KKyAgICAgICAgICAgICAgICBwcm9ncmFtT2Jq
ZWN0LT5yZXNvbHZlTGluayh0aGlzKTsKKyAgICAgICAgICAgICAgICBwcm9ncmFtT2JqZWN0LT5k
ZXRhY2hTaGFkZXIodGhpcywgc2hhZGVyT2JqZWN0KTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgSW5mb0xvZyAmcHJvZ3JhbUluZm9Mb2cgPSBwcm9ncmFtT2JqZWN0LT5nZXRFeGVjdXRh
YmxlKCkuZ2V0SW5mb0xvZygpOworICAgICAgICAgICAgcHJvZ3JhbUluZm9Mb2cgPDwgc2hhZGVy
T2JqZWN0LT5nZXRJbmZvTG9nU3RyaW5nKCk7CisgICAgICAgIH0KKworICAgICAgICBkZWxldGVT
aGFkZXIoc2hhZGVySUQpOworCisgICAgICAgIHJldHVybiBwcm9ncmFtSUQudmFsdWU7CisgICAg
fQorCiAgICAgcmV0dXJuIDB1OwogfQogCkBAIC03NzUsMTQgKzgyOSwxNSBAQCB2b2lkIENvbnRl
eHQ6OmRlbGV0ZVN5bmMoR0xzeW5jIHN5bmMpCiAgICAgbVN0YXRlLm1TeW5jTWFuYWdlci0+ZGVs
ZXRlT2JqZWN0KHRoaXMsIHN0YXRpY19jYXN0PEdMdWludD4ocmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KHN5bmMpKSk7CiB9CiAKLXZvaWQgQ29udGV4dDo6ZGVsZXRlUHJvZ3JhbVBpcGVsaW5l
KFByb2dyYW1QaXBlbGluZUlEIHBpcGVsaW5lKQordm9pZCBDb250ZXh0OjpkZWxldGVQcm9ncmFt
UGlwZWxpbmUoUHJvZ3JhbVBpcGVsaW5lSUQgcGlwZWxpbmVJRCkKIHsKLSAgICBpZiAobVN0YXRl
Lm1Qcm9ncmFtUGlwZWxpbmVNYW5hZ2VyLT5nZXRQcm9ncmFtUGlwZWxpbmUocGlwZWxpbmUpKQor
ICAgIFByb2dyYW1QaXBlbGluZSAqcGlwZWxpbmUgPSBtU3RhdGUubVByb2dyYW1QaXBlbGluZU1h
bmFnZXItPmdldFByb2dyYW1QaXBlbGluZShwaXBlbGluZUlEKTsKKyAgICBpZiAocGlwZWxpbmUp
CiAgICAgewotICAgICAgICBkZXRhY2hQcm9ncmFtUGlwZWxpbmUocGlwZWxpbmUpOworICAgICAg
ICBkZXRhY2hQcm9ncmFtUGlwZWxpbmUocGlwZWxpbmVJRCk7CiAgICAgfQogCi0gICAgbVN0YXRl
Lm1Qcm9ncmFtUGlwZWxpbmVNYW5hZ2VyLT5kZWxldGVPYmplY3QodGhpcywgcGlwZWxpbmUpOwor
ICAgIG1TdGF0ZS5tUHJvZ3JhbVBpcGVsaW5lTWFuYWdlci0+ZGVsZXRlT2JqZWN0KHRoaXMsIHBp
cGVsaW5lSUQpOwogfQogCiB2b2lkIENvbnRleHQ6OmRlbGV0ZU1lbW9yeU9iamVjdChNZW1vcnlP
YmplY3RJRCBtZW1vcnlPYmplY3QpCkBAIC04OTYsNiArOTUxLDggQEAgZ2w6OkxhYmVsZWRPYmpl
Y3QgKkNvbnRleHQ6OmdldExhYmVsZWRPYmplY3QoR0xlbnVtIGlkZW50aWZpZXIsIEdMdWludCBu
YW1lKSBjb24KICAgICAgICAgICAgIHJldHVybiBnZXRSZW5kZXJidWZmZXIoe25hbWV9KTsKICAg
ICAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUjoKICAgICAgICAgICAgIHJldHVybiBnZXRGcmFtZWJ1
ZmZlcih7bmFtZX0pOworICAgICAgICBjYXNlIEdMX1BST0dSQU1fUElQRUxJTkU6CisgICAgICAg
ICAgICByZXR1cm4gZ2V0UHJvZ3JhbVBpcGVsaW5lKHtuYW1lfSk7CiAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC05NzgsNyArMTAzNSw3IEBAIHZvaWQgQ29udGV4dDo6YmluZFRleHR1cmUoVGV4dHVyZVR5
cGUgdGFyZ2V0LCBUZXh0dXJlSUQgaGFuZGxlKQogdm9pZCBDb250ZXh0OjpiaW5kUmVhZEZyYW1l
YnVmZmVyKEZyYW1lYnVmZmVySUQgZnJhbWVidWZmZXJIYW5kbGUpCiB7CiAgICAgRnJhbWVidWZm
ZXIgKmZyYW1lYnVmZmVyID0gbVN0YXRlLm1GcmFtZWJ1ZmZlck1hbmFnZXItPmNoZWNrRnJhbWVi
dWZmZXJBbGxvY2F0aW9uKAotICAgICAgICBtSW1wbGVtZW50YXRpb24uZ2V0KCksIG1TdGF0ZS5t
Q2FwcywgZnJhbWVidWZmZXJIYW5kbGUpOworICAgICAgICBtSW1wbGVtZW50YXRpb24uZ2V0KCks
IG1TdGF0ZS5tQ2FwcywgZnJhbWVidWZmZXJIYW5kbGUsIG1TdGF0ZS5nZXRDb250ZXh0SUQoKSk7
CiAgICAgbVN0YXRlLnNldFJlYWRGcmFtZWJ1ZmZlckJpbmRpbmcoZnJhbWVidWZmZXIpOwogICAg
IG1SZWFkRnJhbWVidWZmZXJPYnNlcnZlckJpbmRpbmcuYmluZChmcmFtZWJ1ZmZlcik7CiB9CkBA
IC05ODYsNyArMTA0Myw3IEBAIHZvaWQgQ29udGV4dDo6YmluZFJlYWRGcmFtZWJ1ZmZlcihGcmFt
ZWJ1ZmZlcklEIGZyYW1lYnVmZmVySGFuZGxlKQogdm9pZCBDb250ZXh0OjpiaW5kRHJhd0ZyYW1l
YnVmZmVyKEZyYW1lYnVmZmVySUQgZnJhbWVidWZmZXJIYW5kbGUpCiB7CiAgICAgRnJhbWVidWZm
ZXIgKmZyYW1lYnVmZmVyID0gbVN0YXRlLm1GcmFtZWJ1ZmZlck1hbmFnZXItPmNoZWNrRnJhbWVi
dWZmZXJBbGxvY2F0aW9uKAotICAgICAgICBtSW1wbGVtZW50YXRpb24uZ2V0KCksIG1TdGF0ZS5t
Q2FwcywgZnJhbWVidWZmZXJIYW5kbGUpOworICAgICAgICBtSW1wbGVtZW50YXRpb24uZ2V0KCks
IG1TdGF0ZS5tQ2FwcywgZnJhbWVidWZmZXJIYW5kbGUsIG1TdGF0ZS5nZXRDb250ZXh0SUQoKSk7
CiAgICAgbVN0YXRlLnNldERyYXdGcmFtZWJ1ZmZlckJpbmRpbmcoZnJhbWVidWZmZXIpOwogICAg
IG1EcmF3RnJhbWVidWZmZXJPYnNlcnZlckJpbmRpbmcuYmluZChmcmFtZWJ1ZmZlcik7CiAgICAg
bVN0YXRlQ2FjaGUub25EcmF3RnJhbWVidWZmZXJDaGFuZ2UodGhpcyk7CkBAIC0xMDQ0LDcgKzEx
MDEsMTQgQEAgdm9pZCBDb250ZXh0Ojp1c2VQcm9ncmFtU3RhZ2VzKFByb2dyYW1QaXBlbGluZUlE
IHBpcGVsaW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYml0ZmllbGQgc3Rh
Z2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlclByb2dyYW1JRCBwcm9n
cmFtKQogewotICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICBQcm9ncmFtICpzaGFkZXJQcm9ncmFt
ID0gZ2V0UHJvZ3JhbU5vUmVzb2x2ZUxpbmsocHJvZ3JhbSk7CisgICAgUHJvZ3JhbVBpcGVsaW5l
ICpwcm9ncmFtUGlwZWxpbmUgPQorICAgICAgICBtU3RhdGUubVByb2dyYW1QaXBlbGluZU1hbmFn
ZXItPmNoZWNrUHJvZ3JhbVBpcGVsaW5lQWxsb2NhdGlvbihtSW1wbGVtZW50YXRpb24uZ2V0KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBpcGVsaW5lKTsKKworICAgIEFTU0VSVChwcm9ncmFtUGlwZWxpbmUp
OworICAgIEFOR0xFX0NPTlRFWFRfVFJZKG1TdGF0ZS51c2VQcm9ncmFtU3RhZ2VzKHRoaXMsIHBy
b2dyYW1QaXBlbGluZSwgc3RhZ2VzLCBzaGFkZXJQcm9ncmFtKSk7CisgICAgbVN0YXRlQ2FjaGUu
b25Qcm9ncmFtRXhlY3V0YWJsZUNoYW5nZSh0aGlzKTsKIH0KIAogdm9pZCBDb250ZXh0OjpiaW5k
VHJhbnNmb3JtRmVlZGJhY2soR0xlbnVtIHRhcmdldCwgVHJhbnNmb3JtRmVlZGJhY2tJRCB0cmFu
c2Zvcm1GZWVkYmFja0hhbmRsZSkKQEAgLTEwNTksNyArMTEyMyw4IEBAIHZvaWQgQ29udGV4dDo6
YmluZFByb2dyYW1QaXBlbGluZShQcm9ncmFtUGlwZWxpbmVJRCBwaXBlbGluZUhhbmRsZSkKIHsK
ICAgICBQcm9ncmFtUGlwZWxpbmUgKnBpcGVsaW5lID0gbVN0YXRlLm1Qcm9ncmFtUGlwZWxpbmVN
YW5hZ2VyLT5jaGVja1Byb2dyYW1QaXBlbGluZUFsbG9jYXRpb24oCiAgICAgICAgIG1JbXBsZW1l
bnRhdGlvbi5nZXQoKSwgcGlwZWxpbmVIYW5kbGUpOwotICAgIG1TdGF0ZS5zZXRQcm9ncmFtUGlw
ZWxpbmVCaW5kaW5nKHRoaXMsIHBpcGVsaW5lKTsKKyAgICBBTkdMRV9DT05URVhUX1RSWShtU3Rh
dGUuc2V0UHJvZ3JhbVBpcGVsaW5lQmluZGluZyh0aGlzLCBwaXBlbGluZSkpOworICAgIG1TdGF0
ZUNhY2hlLm9uUHJvZ3JhbUV4ZWN1dGFibGVDaGFuZ2UodGhpcyk7CiB9CiAKIHZvaWQgQ29udGV4
dDo6YmVnaW5RdWVyeShRdWVyeVR5cGUgdGFyZ2V0LCBRdWVyeUlEIHF1ZXJ5KQpAQCAtMTY4Niw4
ICsxNzUxLDE4IEBAIHZvaWQgQ29udGV4dDo6Z2V0SW50ZWdlcnZJbXBsKEdMZW51bSBwbmFtZSwg
R0xpbnQgKnBhcmFtcykgY29uc3QKICAgICAgICAgY2FzZSBHTF9NQVhfTElHSFRTOgogICAgICAg
ICAgICAgKnBhcmFtcyA9IG1TdGF0ZS5tQ2Fwcy5tYXhMaWdodHM7CiAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICAvLyBjYXNlIEdMX01BWF9DTElQX0RJU1RBTkNFU19FWFQ6ICBDb25mbGlj
dCBlbnVtIHZhbHVlCiAgICAgICAgIGNhc2UgR0xfTUFYX0NMSVBfUExBTkVTOgotICAgICAgICAg
ICAgKnBhcmFtcyA9IG1TdGF0ZS5tQ2Fwcy5tYXhDbGlwUGxhbmVzOworICAgICAgICAgICAgaWYg
KGdldENsaWVudFZlcnNpb24oKS5tYWpvciA+PSAyKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIC8vIEdMX0FQUExFX2NsaXBfZGlzdGFuY2UvR0xfRVhUX2NsaXBfY3VsbF9kaXN0YW5j
ZQorICAgICAgICAgICAgICAgICpwYXJhbXMgPSBtU3RhdGUubUNhcHMubWF4Q2xpcERpc3RhbmNl
czsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAqcGFyYW1zID0gbVN0YXRlLm1DYXBzLm1heENsaXBQbGFuZXM7CisgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgLy8gR0xFUzEgZW11bGF0aW9uOiBW
ZXJ0ZXggYXR0cmlidXRlIHF1ZXJpZXMKICAgICAgICAgY2FzZSBHTF9WRVJURVhfQVJSQVlfQlVG
RkVSX0JJTkRJTkc6CkBAIC0yOTc2LDYgKzMwNTEsNyBAQCB2b2lkIENvbnRleHQ6OmJlZ2luVHJh
bnNmb3JtRmVlZGJhY2soUHJpbWl0aXZlTW9kZSBwcmltaXRpdmVNb2RlKQogICAgIEFTU0VSVCh0
cmFuc2Zvcm1GZWVkYmFjayAhPSBudWxscHRyKTsKICAgICBBU1NFUlQoIXRyYW5zZm9ybUZlZWRi
YWNrLT5pc1BhdXNlZCgpKTsKIAorICAgIC8vIFRPRE86IGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzU3
MDogSGFuZGxlIFBQT3MKICAgICBBTkdMRV9DT05URVhUX1RSWSh0cmFuc2Zvcm1GZWVkYmFjay0+
YmVnaW4odGhpcywgcHJpbWl0aXZlTW9kZSwgbVN0YXRlLmdldFByb2dyYW0oKSkpOwogICAgIG1T
dGF0ZUNhY2hlLm9uQWN0aXZlVHJhbnNmb3JtRmVlZGJhY2tDaGFuZ2UodGhpcyk7CiB9CkBAIC0z
MDIzLDYgKzMwOTksNyBAQCBFeHRlbnNpb25zIENvbnRleHQ6OmdlbmVyYXRlU3VwcG9ydGVkRXh0
ZW5zaW9ucygpIGNvbnN0CiAgICAgICAgIHN1cHBvcnRlZEV4dGVuc2lvbnMudGV4dHVyZU11bHRp
c2FtcGxlICAgICAgID0gZmFsc2U7CiAgICAgICAgIHN1cHBvcnRlZEV4dGVuc2lvbnMuZHJhd0J1
ZmZlcnNJbmRleGVkRVhUICAgID0gZmFsc2U7CiAgICAgICAgIHN1cHBvcnRlZEV4dGVuc2lvbnMu
ZHJhd0J1ZmZlcnNJbmRleGVkT0VTICAgID0gZmFsc2U7CisgICAgICAgIHN1cHBvcnRlZEV4dGVu
c2lvbnMuZWdsSW1hZ2VBcnJheSAgICAgICAgICAgID0gZmFsc2U7CiAKICAgICAgICAgLy8gUmVx
dWlyZXMgZ2xDb21wcmVzc2VkVGV4SW1hZ2UzRAogICAgICAgICBzdXBwb3J0ZWRFeHRlbnNpb25z
LnRleHR1cmVDb21wcmVzc2lvbkFTVENPRVMgPSBmYWxzZTsKQEAgLTMxODMsNiArMzI2MCwxNiBA
QCB2b2lkIENvbnRleHQ6OmluaXRDYXBzKCkKICAgICAgICAgbVN0YXRlLm1DYXBzLm1heFNtb290
aExpbmVXaWR0aCAgICAgICAgICAgID0gMS4wZjsKICAgICB9CiAKKyAgICAvLyBJZiB3ZSdyZSBj
YXB0dXJpbmcgYXBwbGljYXRpb24gY2FsbHMgZm9yIHJlcGxheSwgZG9uJ3QgZXhwb3NlIGFueSBi
aW5hcnkgZm9ybWF0cyB0byBwcmV2ZW50CisgICAgLy8gdHJhY2VzIGZyb20gdHJ5aW5nIHRvIHVz
ZSBjYWNoZWQgcmVzdWx0cworICAgIGlmIChnZXRGcmFtZUNhcHR1cmUoKS0+ZW5hYmxlZCgpKQor
ICAgIHsKKyAgICAgICAgSU5GTygpIDw8ICJMaW1pdGluZyBiaW5hcnkgZm9ybWF0IHN1cHBvcnQg
Y291bnQgdG8gemVybyB3aGlsZSBGcmFtZUNhcHR1cmUgZW5hYmxlZCIKKyAgICAgICAgICAgICAg
IDw8IHN0ZDo6ZW5kbDsKKyAgICAgICAgbVN0YXRlLm1DYXBzLnNoYWRlckJpbmFyeUZvcm1hdHMu
Y2xlYXIoKTsKKyAgICAgICAgbVN0YXRlLm1DYXBzLnByb2dyYW1CaW5hcnlGb3JtYXRzLmNsZWFy
KCk7CisgICAgfQorCiAjaWYgMAogLy8gVGhpcyBsb2dnaW5nIGNhbiBnZW5lcmF0ZSBhIGxvdCBv
ZiBzcGFtIGluIHRlc3Qgc3VpdGVzIHRoYXQgY3JlYXRlIG1hbnkgY29udGV4dHMKICMgICAgZGVm
aW5lIEFOR0xFX0xPR19MSU1JVEVEX0NBUChjYXAsIGxpbWl0KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzQ5NCw2ICszNTgxLDEwIEBAIEFOR0xF
X0lOTElORSBhbmdsZTo6UmVzdWx0IENvbnRleHQ6OnByZXBhcmVGb3JDb3B5SW1hZ2UoKQogCiBB
TkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0OjpwcmVwYXJlRm9yRGlzcGF0Y2goKQog
eworICAgIC8vIFdlIGFsd2F5cyBhc3N1bWUgUFBPcyBhcmUgdXNlZCBmb3IgZHJhd3MsIHVudGls
IHRoZXkgYXJlbid0LiBJZiB3ZSBhcmUgZXhlY3V0aW5nIGEgZGlzcGF0Y2gKKyAgICAvLyB3aXRo
IGEgUFBPLCB3ZSBuZWVkIHRvIGNvbnZlcnQgaXQgZnJvbSBhICJkcmF3Ii10eXBlIHRvICJkaXNw
YXRjaCItdHlwZS4KKyAgICBjb252ZXJ0UHBvVG9Db21wdXRlT3JEcmF3KHRydWUpOworCiAgICAg
QU5HTEVfVFJZKHN5bmNEaXJ0eU9iamVjdHMobUNvbXB1dGVEaXJ0eU9iamVjdHMpKTsKICAgICBy
ZXR1cm4gc3luY0RpcnR5Qml0cyhtQ29tcHV0ZURpcnR5Qml0cyk7CiB9CkBAIC00MDAzLDkgKzQw
OTQsMTEgQEAgdm9pZCBDb250ZXh0Ojp0ZXhJbWFnZTJEKFRleHR1cmVUYXJnZXQgdGFyZ2V0LAog
ewogICAgIEFOR0xFX0NPTlRFWFRfVFJZKHN5bmNTdGF0ZUZvclRleEltYWdlKCkpOwogCisgICAg
Z2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyID0gbVN0YXRlLmdldFRhcmdldEJ1ZmZlcihnbDo6QnVm
ZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOworCiAgICAgRXh0ZW50cyBzaXplKHdpZHRoLCBoZWln
aHQsIDEpOwogICAgIFRleHR1cmUgKnRleHR1cmUgPSBnZXRUZXh0dXJlQnlUYXJnZXQodGFyZ2V0
KTsKLSAgICBBTkdMRV9DT05URVhUX1RSWSh0ZXh0dXJlLT5zZXRJbWFnZSh0aGlzLCBtU3RhdGUu
Z2V0VW5wYWNrU3RhdGUoKSwgdGFyZ2V0LCBsZXZlbCwKKyAgICBBTkdMRV9DT05URVhUX1RSWSh0
ZXh0dXJlLT5zZXRJbWFnZSh0aGlzLCBtU3RhdGUuZ2V0VW5wYWNrU3RhdGUoKSwgdW5wYWNrQnVm
ZmVyLCB0YXJnZXQsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludGVybmFsZm9ybWF0LCBzaXplLCBmb3JtYXQsIHR5cGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCAqPihwaXhl
bHMpKSk7CiB9CkBAIC00MDM3LDkgKzQxMzAsMTEgQEAgdm9pZCBDb250ZXh0Ojp0ZXhJbWFnZTNE
KFRleHR1cmVUYXJnZXQgdGFyZ2V0LAogewogICAgIEFOR0xFX0NPTlRFWFRfVFJZKHN5bmNTdGF0
ZUZvclRleEltYWdlKCkpOwogCisgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyID0gbVN0YXRl
LmdldFRhcmdldEJ1ZmZlcihnbDo6QnVmZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOworCiAgICAg
RXh0ZW50cyBzaXplKHdpZHRoLCBoZWlnaHQsIGRlcHRoKTsKICAgICBUZXh0dXJlICp0ZXh0dXJl
ID0gZ2V0VGV4dHVyZUJ5VGFyZ2V0KHRhcmdldCk7Ci0gICAgQU5HTEVfQ09OVEVYVF9UUlkodGV4
dHVyZS0+c2V0SW1hZ2UodGhpcywgbVN0YXRlLmdldFVucGFja1N0YXRlKCksIHRhcmdldCwgbGV2
ZWwsCisgICAgQU5HTEVfQ09OVEVYVF9UUlkodGV4dHVyZS0+c2V0SW1hZ2UodGhpcywgbVN0YXRl
LmdldFVucGFja1N0YXRlKCksIHVucGFja0J1ZmZlciwgdGFyZ2V0LCBsZXZlbCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbGZvcm1hdCwgc2l6ZSwgZm9y
bWF0LCB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRp
Y19jYXN0PGNvbnN0IHVpbnQ4X3QgKj4ocGl4ZWxzKSkpOwogfQpAQCAtNDUwMSw3ICs0NTk2LDEz
IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dDo6c3luY1N0YXRlRm9yQmxpdCgpCiAKIHZvaWQgQ29u
dGV4dDo6YWN0aXZlU2hhZGVyUHJvZ3JhbShQcm9ncmFtUGlwZWxpbmVJRCBwaXBlbGluZSwgU2hh
ZGVyUHJvZ3JhbUlEIHByb2dyYW0pCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOworICAgIFByb2dy
YW0gKnNoYWRlclByb2dyYW0gPSBnZXRQcm9ncmFtTm9SZXNvbHZlTGluayhwcm9ncmFtKTsKKyAg
ICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSA9CisgICAgICAgIG1TdGF0ZS5tUHJv
Z3JhbVBpcGVsaW5lTWFuYWdlci0+Y2hlY2tQcm9ncmFtUGlwZWxpbmVBbGxvY2F0aW9uKG1JbXBs
ZW1lbnRhdGlvbi5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmUpOworICAgIEFTU0VSVChw
cm9ncmFtUGlwZWxpbmUpOworCisgICAgcHJvZ3JhbVBpcGVsaW5lLT5hY3RpdmVTaGFkZXJQcm9n
cmFtKHNoYWRlclByb2dyYW0pOwogfQogCiB2b2lkIENvbnRleHQ6OmFjdGl2ZVRleHR1cmUoR0xl
bnVtIHRleHR1cmUpCkBAIC00NjgxLDYgKzQ3ODIsOSBAQCB2b2lkIENvbnRleHQ6OmhpbnQoR0xl
bnVtIHRhcmdldCwgR0xlbnVtIG1vZGUpCiAgICAgICAgIGNhc2UgR0xfRk9HX0hJTlQ6CiAgICAg
ICAgICAgICBtU3RhdGUuZ2xlczEoKS5zZXRIaW50KHRhcmdldCwgbW9kZSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBHTF9URVhUVVJFX0ZJTFRFUklOR19ISU5UX0NIUk9NSVVN
OgorICAgICAgICAgICAgbVN0YXRlLnNldFRleHR1cmVGaWx0ZXJpbmdIaW50KG1vZGUpOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBVTlJFQUNIQUJM
RSgpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNTE0NCw3ICs1MjQ4LDcgQEAgdm9pZCBDb250
ZXh0OjphdHRhY2hTaGFkZXIoU2hhZGVyUHJvZ3JhbUlEIHByb2dyYW0sIFNoYWRlclByb2dyYW1J
RCBzaGFkZXIpCiAgICAgUHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCA9IG1TdGF0ZS5tU2hhZGVyUHJv
Z3JhbU1hbmFnZXItPmdldFByb2dyYW0ocHJvZ3JhbSk7CiAgICAgU2hhZGVyICpzaGFkZXJPYmpl
Y3QgICA9IG1TdGF0ZS5tU2hhZGVyUHJvZ3JhbU1hbmFnZXItPmdldFNoYWRlcihzaGFkZXIpOwog
ICAgIEFTU0VSVChwcm9ncmFtT2JqZWN0ICYmIHNoYWRlck9iamVjdCk7Ci0gICAgcHJvZ3JhbU9i
amVjdC0+YXR0YWNoU2hhZGVyKHNoYWRlck9iamVjdCk7CisgICAgcHJvZ3JhbU9iamVjdC0+YXR0
YWNoU2hhZGVyKHRoaXMsIHNoYWRlck9iamVjdCk7CiB9CiAKIHZvaWQgQ29udGV4dDo6Y29weUJ1
ZmZlclN1YkRhdGEoQnVmZmVyQmluZGluZyByZWFkVGFyZ2V0LApAQCAtNTQyMSwxMSArNTUyNSwz
NSBAQCB2b2lkIENvbnRleHQ6OmRpc3BhdGNoQ29tcHV0ZShHTHVpbnQgbnVtR3JvdXBzWCwgR0x1
aW50IG51bUdyb3Vwc1ksIEdMdWludCBudW1HcgogICAgIH0KIAogICAgIEFOR0xFX0NPTlRFWFRf
VFJZKHByZXBhcmVGb3JEaXNwYXRjaCgpKTsKLSAgICBBTkdMRV9DT05URVhUX1RSWShtSW1wbGVt
ZW50YXRpb24tPmRpc3BhdGNoQ29tcHV0ZSh0aGlzLCBudW1Hcm91cHNYLCBudW1Hcm91cHNZLCBu
dW1Hcm91cHNaKSk7CisKKyAgICBhbmdsZTo6UmVzdWx0IHJlc3VsdCA9CisgICAgICAgIG1JbXBs
ZW1lbnRhdGlvbi0+ZGlzcGF0Y2hDb21wdXRlKHRoaXMsIG51bUdyb3Vwc1gsIG51bUdyb3Vwc1ks
IG51bUdyb3Vwc1opOworCisgICAgLy8gV2UgYWx3YXlzIGFzc3VtZSBQUE9zIGFyZSB1c2VkIGZv
ciBkcmF3cywgdW50aWwgdGhleSBhcmVuJ3QuIElmIHdlIGp1c3QgZXhlY3V0ZWQgYSBkaXNwYXRj
aAorICAgIC8vIHdpdGggYSBQUE8sIHdlIG5lZWQgdG8gY29udmVydCBpdCBiYWNrIHRvIGEgImRy
YXciLXR5cGUuCisgICAgY29udmVydFBwb1RvQ29tcHV0ZU9yRHJhdyhmYWxzZSk7CisKKyAgICBp
ZiAoQU5HTEVfVU5MSUtFTFkoSXNFcnJvcihyZXN1bHQpKSkKKyAgICB7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBNYXJrU2hhZGVyU3RvcmFnZUJ1ZmZlclVzYWdlKHRoaXMpOwogfQog
Cit2b2lkIENvbnRleHQ6OmNvbnZlcnRQcG9Ub0NvbXB1dGVPckRyYXcoYm9vbCBpc0NvbXB1dGUp
Cit7CisgICAgUHJvZ3JhbSAqcHJvZ3JhbSAgICAgICAgICA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7
CisgICAgUHJvZ3JhbVBpcGVsaW5lICpwaXBlbGluZSA9IG1TdGF0ZS5nZXRQcm9ncmFtUGlwZWxp
bmUoKTsKKyAgICBpZiAoIXByb2dyYW0gJiYgcGlwZWxpbmUpCisgICAgeworICAgICAgICBwaXBl
bGluZS0+Z2V0RXhlY3V0YWJsZSgpLnNldElzQ29tcHV0ZShpc0NvbXB1dGUpOworICAgICAgICBw
aXBlbGluZS0+c2V0RGlydHlCaXQoUHJvZ3JhbVBpcGVsaW5lOjpEaXJ0eUJpdFR5cGU6OkRJUlRZ
X0JJVF9EUkFXX0RJU1BBVENIX0NIQU5HRSk7CisgICAgICAgIG1TdGF0ZS5tRGlydHlPYmplY3Rz
LnNldChTdGF0ZTo6RElSVFlfT0JKRUNUX1BST0dSQU1fUElQRUxJTkUpOworICAgICAgICBtU3Rh
dGUubURpcnR5Qml0cy5zZXQoU3RhdGU6OkRpcnR5Qml0VHlwZTo6RElSVFlfQklUX1BST0dSQU1f
RVhFQ1VUQUJMRSk7CisgICAgfQorfQorCiB2b2lkIENvbnRleHQ6OmRpc3BhdGNoQ29tcHV0ZUlu
ZGlyZWN0KEdMaW50cHRyIGluZGlyZWN0KQogewogICAgIEFOR0xFX0NPTlRFWFRfVFJZKHByZXBh
cmVGb3JEaXNwYXRjaCgpKTsKQEAgLTU2NjksMTQgKzU3OTcsMTQgQEAgdm9pZCBDb250ZXh0Ojpk
cmF3QXJyYXlzSW5zdGFuY2VkQmFzZUluc3RhbmNlKFByaW1pdGl2ZU1vZGUgbW9kZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGluc3RhbmNl
Q291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1
aW50IGJhc2VJbnN0YW5jZSkKIHsKLSAgICBBTkdMRV9DT05URVhUX1RSWShwcmVwYXJlRm9yRHJh
dyhtb2RlKSk7Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCA9IG1TdGF0ZS5nZXRMaW5rZWRQ
cm9ncmFtKHRoaXMpOwotCiAgICAgaWYgKG5vb3BEcmF3KG1vZGUsIGNvdW50KSkKICAgICB7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBBTkdMRV9DT05URVhUX1RSWShwcmVwYXJlRm9y
RHJhdyhtb2RlKSk7CisgICAgUHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCA9IG1TdGF0ZS5nZXRMaW5r
ZWRQcm9ncmFtKHRoaXMpOworCiAgICAgY29uc3QgYm9vbCBoYXNCYXNlSW5zdGFuY2UgPSBwcm9n
cmFtT2JqZWN0ICYmIHByb2dyYW1PYmplY3QtPmhhc0Jhc2VJbnN0YW5jZVVuaWZvcm0oKTsKICAg
ICBpZiAoaGFzQmFzZUluc3RhbmNlKQogICAgIHsKQEAgLTU2ODYsNyArNTgxNCw3IEBAIHZvaWQg
Q29udGV4dDo6ZHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZShQcmltaXRpdmVNb2RlIG1v
ZGUsCiAgICAgUmVzZXRCYXNlVmVydGV4QmFzZUluc3RhbmNlIHJlc2V0VW5pZm9ybXMocHJvZ3Jh
bU9iamVjdCwgZmFsc2UsIGhhc0Jhc2VJbnN0YW5jZSk7CiAKICAgICAvLyBUaGUgaW5wdXQgZ2xf
SW5zdGFuY2VJRCBkb2VzIG5vdCBmb2xsb3cgdGhlIGJhc2VpbnN0YW5jZS4gZ2xfSW5zdGFuY2VJ
RCBhbHdheXMgZmFsbHMgb24KLSAgICAvLyB0aGUgaGFsZi1vcGVuIHJhbmdlIFswLCBpbnN0YW5j
ZWNvdW504oCLKS4gTm8gbmVlZCB0byBzZXQgb3RoZXIgc3R1ZmYuIEV4Y2VwdCBmb3IgVnVsa2Fu
LgorICAgIC8vIHRoZSBoYWxmLW9wZW4gcmFuZ2UgWzAsIGluc3RhbmNlY291bnQpLiBObyBuZWVk
IHRvIHNldCBvdGhlciBzdHVmZi4gRXhjZXB0IGZvciBWdWxrYW4uCiAKICAgICBBTkdMRV9DT05U
RVhUX1RSWShtSW1wbGVtZW50YXRpb24tPmRyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5zdGFuY2Uo
CiAgICAgICAgIHRoaXMsIG1vZGUsIGZpcnN0LCBjb3VudCwgaW5zdGFuY2VDb3VudCwgYmFzZUlu
c3RhbmNlKSk7CkBAIC01NzAxLDE0ICs1ODI5LDE0IEBAIHZvaWQgQ29udGV4dDo6ZHJhd0VsZW1l
bnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZShQcmltaXRpdmVNb2RlIG1vZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xpbnQgYmFzZVZlcnRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHVpbnQgYmFzZUluc3RhbmNlKQogewotICAgIEFOR0xFX0NP
TlRFWFRfVFJZKHByZXBhcmVGb3JEcmF3KG1vZGUpKTsKLSAgICBQcm9ncmFtICpwcm9ncmFtT2Jq
ZWN0ID0gbVN0YXRlLmdldExpbmtlZFByb2dyYW0odGhpcyk7Ci0KICAgICBpZiAobm9vcERyYXco
bW9kZSwgY291bnQpKQogICAgIHsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIEFOR0xF
X0NPTlRFWFRfVFJZKHByZXBhcmVGb3JEcmF3KG1vZGUpKTsKKyAgICBQcm9ncmFtICpwcm9ncmFt
T2JqZWN0ID0gbVN0YXRlLmdldExpbmtlZFByb2dyYW0odGhpcyk7CisKICAgICBjb25zdCBib29s
IGhhc0Jhc2VWZXJ0ZXggPSBwcm9ncmFtT2JqZWN0ICYmIHByb2dyYW1PYmplY3QtPmhhc0Jhc2VW
ZXJ0ZXhVbmlmb3JtKCk7CiAgICAgaWYgKGhhc0Jhc2VWZXJ0ZXgpCiAgICAgewpAQCAtNjEwNiw3
ICs2MjM0LDEyIEBAIHZvaWQgQ29udGV4dDo6Z2V0UHJvZ3JhbWl2Um9idXN0KFNoYWRlclByb2dy
YW1JRCBwcm9ncmFtLAogCiB2b2lkIENvbnRleHQ6OmdldFByb2dyYW1QaXBlbGluZWl2KFByb2dy
YW1QaXBlbGluZUlEIHBpcGVsaW5lLCBHTGVudW0gcG5hbWUsIEdMaW50ICpwYXJhbXMpCiB7Ci0g
ICAgVU5JTVBMRU1FTlRFRCgpOworICAgIFByb2dyYW1QaXBlbGluZSAqcHJvZ3JhbVBpcGVsaW5l
ID0gbnVsbHB0cjsKKyAgICBpZiAoIW1Db250ZXh0TG9zdCkKKyAgICB7CisgICAgICAgIHByb2dy
YW1QaXBlbGluZSA9IGdldFByb2dyYW1QaXBlbGluZShwaXBlbGluZSk7CisgICAgfQorICAgIFF1
ZXJ5UHJvZ3JhbVBpcGVsaW5laXYodGhpcywgcHJvZ3JhbVBpcGVsaW5lLCBwbmFtZSwgcGFyYW1z
KTsKIH0KIAogTWVtb3J5T2JqZWN0ICpDb250ZXh0OjpnZXRNZW1vcnlPYmplY3QoTWVtb3J5T2Jq
ZWN0SUQgaGFuZGxlKSBjb25zdApAQCAtNjEzNCw3ICs2MjY3LDE2IEBAIHZvaWQgQ29udGV4dDo6
Z2V0UHJvZ3JhbVBpcGVsaW5lSW5mb0xvZyhQcm9ncmFtUGlwZWxpbmVJRCBwaXBlbGluZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpICpsZW5ndGgsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xjaGFyICppbmZvTG9nKQog
ewotICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBl
bGluZSA9IGdldFByb2dyYW1QaXBlbGluZShwaXBlbGluZSk7CisgICAgaWYgKHByb2dyYW1QaXBl
bGluZSkKKyAgICB7CisgICAgICAgIHByb2dyYW1QaXBlbGluZS0+Z2V0RXhlY3V0YWJsZSgpLmdl
dEluZm9Mb2coYnVmU2l6ZSwgbGVuZ3RoLCBpbmZvTG9nKTsKKyAgICB9CisgICAgZWxzZQorICAg
IHsKKyAgICAgICAgKmxlbmd0aCAgPSAwOworICAgICAgICAqaW5mb0xvZyA9ICdcMCc7CisgICAg
fQogfQogCiB2b2lkIENvbnRleHQ6OmdldFNoYWRlcml2KFNoYWRlclByb2dyYW1JRCBzaGFkZXIs
IEdMZW51bSBwbmFtZSwgR0xpbnQgKnBhcmFtcykKQEAgLTY0NDIsMTUgKzY1ODQsMzAgQEAgdm9p
ZCBDb250ZXh0OjpwYXRjaFBhcmFtZXRlcmkoR0xlbnVtIHBuYW1lLCBHTGludCB2YWx1ZSkKICAg
ICBVTklNUExFTUVOVEVEKCk7CiB9CiAKK1Byb2dyYW0gKkNvbnRleHQ6OmdldEFjdGl2ZUxpbmtl
ZFByb2dyYW0oKSBjb25zdAoreworICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0TGlu
a2VkUHJvZ3JhbSh0aGlzKTsKKyAgICBpZiAoIXByb2dyYW0pCisgICAgeworICAgICAgICBQcm9n
cmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZU9iamVjdCA9IG1TdGF0ZS5nZXRQcm9ncmFtUGlw
ZWxpbmUoKTsKKyAgICAgICAgaWYgKHByb2dyYW1QaXBlbGluZU9iamVjdCkKKyAgICAgICAgewor
ICAgICAgICAgICAgcHJvZ3JhbSA9IHByb2dyYW1QaXBlbGluZU9iamVjdC0+Z2V0TGlua2VkQWN0
aXZlU2hhZGVyUHJvZ3JhbSh0aGlzKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBw
cm9ncmFtOworfQorCiB2b2lkIENvbnRleHQ6OnVuaWZvcm0xZihVbmlmb3JtTG9jYXRpb24gbG9j
YXRpb24sIEdMZmxvYXQgeCkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFBy
b2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgp
OwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0xZnYobG9jYXRpb24sIDEsICZ4KTsKIH0KIAogdm9p
ZCBDb250ZXh0Ojp1bmlmb3JtMWZ2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBj
b3VudCwgY29uc3QgR0xmbG9hdCAqdikKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRl
LmdldFByb2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJv
Z3JhbSgpOwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0xZnYobG9jYXRpb24sIGNvdW50LCB2KTsK
IH0KIApAQCAtNjQ2Niw5NiArNjYyMyw5NSBAQCB2b2lkIENvbnRleHQ6Om9uU2FtcGxlclVuaWZv
cm1DaGFuZ2Uoc2l6ZV90IHRleHR1cmVVbml0SW5kZXgpCiB7CiAgICAgbVN0YXRlLm9uQWN0aXZl
VGV4dHVyZUNoYW5nZSh0aGlzLCB0ZXh0dXJlVW5pdEluZGV4KTsKICAgICBtU3RhdGVDYWNoZS5v
bkFjdGl2ZVRleHR1cmVDaGFuZ2UodGhpcyk7Ci0gICAgaWYgKCFtU3RhdGUuZ2V0UHJvZ3JhbSgp
LT5nZXRFeGVjdXRhYmxlKCkuZ2V0QWN0aXZlU2FtcGxlcnNNYXNrKClbdGV4dHVyZVVuaXRJbmRl
eF0pIHsKLSAgICAgICAgbVN0YXRlLnNldFRleHR1cmVJbmRleEluYWN0aXZlKHRleHR1cmVVbml0
SW5kZXgpOwotICAgIH0KIH0KIAogdm9pZCBDb250ZXh0Ojp1bmlmb3JtMWkoVW5pZm9ybUxvY2F0
aW9uIGxvY2F0aW9uLCBHTGludCB4KQogewotICAgIHNldFVuaWZvcm0xaUltcGwobVN0YXRlLmdl
dFByb2dyYW0oKSwgbG9jYXRpb24sIDEsICZ4KTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0
QWN0aXZlTGlua2VkUHJvZ3JhbSgpOworICAgIHNldFVuaWZvcm0xaUltcGwocHJvZ3JhbSwgbG9j
YXRpb24sIDEsICZ4KTsKIH0KIAogdm9pZCBDb250ZXh0Ojp1bmlmb3JtMWl2KFVuaWZvcm1Mb2Nh
dGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0xpbnQgKnYpCiB7Ci0gICAgc2V0
VW5pZm9ybTFpSW1wbChtU3RhdGUuZ2V0UHJvZ3JhbSgpLCBsb2NhdGlvbiwgY291bnQsIHYpOwor
ICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CisgICAgc2V0
VW5pZm9ybTFpSW1wbChwcm9ncmFtLCBsb2NhdGlvbiwgY291bnQsIHYpOwogfQogCiB2b2lkIENv
bnRleHQ6OnVuaWZvcm0yZihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xm
bG9hdCB5KQogewogICAgIEdMZmxvYXQgeHlbMl0gICAgPSB7eCwgeX07Ci0gICAgUHJvZ3JhbSAq
cHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IGdl
dEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFtLT5zZXRVbmlmb3JtMmZ2KGxvY2F0
aW9uLCAxLCB4eSk7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTJmdihVbmlmb3JtTG9jYXRp
b24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMZmxvYXQgKnYpCiB7Ci0gICAgUHJv
Z3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAgUHJvZ3JhbSAqcHJvZ3Jh
bSA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFtLT5zZXRVbmlmb3JtMmZ2
KGxvY2F0aW9uLCBjb3VudCwgdik7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTJpKFVuaWZv
cm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSkKIHsKICAgICBHTGludCB4eVsy
XSAgICAgID0ge3gsIHl9OwotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3Jh
bSgpOworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAg
ICAgcHJvZ3JhbS0+c2V0VW5pZm9ybTJpdihsb2NhdGlvbiwgMSwgeHkpOwogfQogCiB2b2lkIENv
bnRleHQ6OnVuaWZvcm0yaXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50
LCBjb25zdCBHTGludCAqdikKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFBy
b2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgp
OwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0yaXYobG9jYXRpb24sIGNvdW50LCB2KTsKIH0KIAog
dm9pZCBDb250ZXh0Ojp1bmlmb3JtM2YoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGZsb2F0
IHgsIEdMZmxvYXQgeSwgR0xmbG9hdCB6KQogewogICAgIEdMZmxvYXQgeHl6WzNdICAgPSB7eCwg
eSwgen07Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAg
UHJvZ3JhbSAqcHJvZ3JhbSA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFt
LT5zZXRVbmlmb3JtM2Z2KGxvY2F0aW9uLCAxLCB4eXopOwogfQogCiB2b2lkIENvbnRleHQ6OnVu
aWZvcm0zZnYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBH
TGZsb2F0ICp2KQogewotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgp
OworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAg
cHJvZ3JhbS0+c2V0VW5pZm9ybTNmdihsb2NhdGlvbiwgY291bnQsIHYpOwogfQogCiB2b2lkIENv
bnRleHQ6OnVuaWZvcm0zaShVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50
IHksIEdMaW50IHopCiB7CiAgICAgR0xpbnQgeHl6WzNdICAgICA9IHt4LCB5LCB6fTsKLSAgICBQ
cm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFByb2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9n
cmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0z
aXYobG9jYXRpb24sIDEsIHh5eik7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTNpdihVbmlm
b3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMaW50ICp2KQogewot
ICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dyYW0g
KnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0VW5p
Zm9ybTNpdihsb2NhdGlvbiwgY291bnQsIHYpOwogfQogCiB2b2lkIENvbnRleHQ6OnVuaWZvcm00
ZihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0
IHosIEdMZmxvYXQgdykKIHsKICAgICBHTGZsb2F0IHh5endbNF0gID0ge3gsIHksIHosIHd9Owot
ICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dyYW0g
KnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0VW5p
Zm9ybTRmdihsb2NhdGlvbiwgMSwgeHl6dyk7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTRm
dihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMZmxvYXQg
KnYpCiB7Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAg
UHJvZ3JhbSAqcHJvZ3JhbSA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFt
LT5zZXRVbmlmb3JtNGZ2KGxvY2F0aW9uLCBjb3VudCwgdik7CiB9CiAKIHZvaWQgQ29udGV4dDo6
dW5pZm9ybTRpKFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwgR0xp
bnQgeiwgR0xpbnQgdykKIHsKICAgICBHTGludCB4eXp3WzRdICAgID0ge3gsIHksIHosIHd9Owot
ICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dyYW0g
KnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0VW5p
Zm9ybTRpdihsb2NhdGlvbiwgMSwgeHl6dyk7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTRp
dihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMaW50ICp2
KQogewotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFBy
b2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+
c2V0VW5pZm9ybTRpdihsb2NhdGlvbiwgY291bnQsIHYpOwogfQogCkBAIC02NTY0LDcgKzY3MjAs
NyBAQCB2b2lkIENvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0
aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xmbG9hdCAqdmFsdWUpCiB7
Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAgUHJvZ3Jh
bSAqcHJvZ3JhbSA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFtLT5zZXRV
bmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBjb3VudCwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAK
QEAgLTY1NzMsNyArNjcyOSw3IEBAIHZvaWQgQ29udGV4dDo6dW5pZm9ybU1hdHJpeDNmdihVbmlm
b3JtTG9jYXRpb24gbG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xi
b29sZWFuIHRyYW5zcG9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBH
TGZsb2F0ICp2YWx1ZSkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFByb2dy
YW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwog
ICAgIHByb2dyYW0tPnNldFVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIGNvdW50LCB0cmFuc3Bv
c2UsIHZhbHVlKTsKIH0KIApAQCAtNjU4Miw3ICs2NzM4LDcgQEAgdm9pZCBDb250ZXh0Ojp1bmlm
b3JtTWF0cml4NGZ2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHTGJvb2xlYW4gdHJhbnNwb3NlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEdMZmxvYXQgKnZhbHVlKQogewotICAgIFByb2dyYW0gKnByb2dyYW0g
PSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVM
aW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0VW5pZm9ybU1hdHJpeDRmdihsb2NhdGlv
biwgY291bnQsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCkBAIC02NTk1LDcgKzY3NTEsMTIgQEAg
dm9pZCBDb250ZXh0Ojp2YWxpZGF0ZVByb2dyYW0oU2hhZGVyUHJvZ3JhbUlEIHByb2dyYW0pCiAK
IHZvaWQgQ29udGV4dDo6dmFsaWRhdGVQcm9ncmFtUGlwZWxpbmUoUHJvZ3JhbVBpcGVsaW5lSUQg
cGlwZWxpbmUpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOworICAgIFByb2dyYW1QaXBlbGluZSAq
cHJvZ3JhbVBpcGVsaW5lID0KKyAgICAgICAgbVN0YXRlLm1Qcm9ncmFtUGlwZWxpbmVNYW5hZ2Vy
LT5jaGVja1Byb2dyYW1QaXBlbGluZUFsbG9jYXRpb24obUltcGxlbWVudGF0aW9uLmdldCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwaXBlbGluZSk7CisgICAgQVNTRVJUKHByb2dyYW1QaXBlbGluZSk7CisK
KyAgICBwcm9ncmFtUGlwZWxpbmUtPnZhbGlkYXRlKHRoaXMpOwogfQogCiB2b2lkIENvbnRleHQ6
OmdldFByb2dyYW1CaW5hcnkoU2hhZGVyUHJvZ3JhbUlEIHByb2dyYW0sCkBAIC02NjI0LDUxICs2
Nzg1LDUxIEBAIHZvaWQgQ29udGV4dDo6cHJvZ3JhbUJpbmFyeShTaGFkZXJQcm9ncmFtSUQgcHJv
Z3JhbSwKIAogdm9pZCBDb250ZXh0Ojp1bmlmb3JtMXVpKFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlv
biwgR0x1aW50IHYwKQogewotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3Jh
bSgpOworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAg
ICAgcHJvZ3JhbS0+c2V0VW5pZm9ybTF1aXYobG9jYXRpb24sIDEsICZ2MCk7CiB9CiAKIHZvaWQg
Q29udGV4dDo6dW5pZm9ybTJ1aShVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMdWludCB2MCwg
R0x1aW50IHYxKQogewotICAgIFByb2dyYW0gKnByb2dyYW0gID0gbVN0YXRlLmdldFByb2dyYW0o
KTsKKyAgICBQcm9ncmFtICpwcm9ncmFtICA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAg
ICBjb25zdCBHTHVpbnQgeHlbXSA9IHt2MCwgdjF9OwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0y
dWl2KGxvY2F0aW9uLCAxLCB4eSk7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9ybTN1aShVbmlm
b3JtTG9jYXRpb24gbG9jYXRpb24sIEdMdWludCB2MCwgR0x1aW50IHYxLCBHTHVpbnQgdjIpCiB7
Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSAgID0gbVN0YXRlLmdldFByb2dyYW0oKTsKKyAgICBQcm9n
cmFtICpwcm9ncmFtICAgPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgY29uc3QgR0x1
aW50IHh5eltdID0ge3YwLCB2MSwgdjJ9OwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0zdWl2KGxv
Y2F0aW9uLCAxLCB4eXopOwogfQogCiB2b2lkIENvbnRleHQ6OnVuaWZvcm00dWkoVW5pZm9ybUxv
Y2F0aW9uIGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSwgR0x1aW50IHYyLCBHTHVpbnQg
djMpCiB7Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSAgICA9IG1TdGF0ZS5nZXRQcm9ncmFtKCk7Cisg
ICAgUHJvZ3JhbSAqcHJvZ3JhbSAgICA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBj
b25zdCBHTHVpbnQgeHl6d1tdID0ge3YwLCB2MSwgdjIsIHYzfTsKICAgICBwcm9ncmFtLT5zZXRV
bmlmb3JtNHVpdihsb2NhdGlvbiwgMSwgeHl6dyk7CiB9CiAKIHZvaWQgQ29udGV4dDo6dW5pZm9y
bTF1aXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBHTHVp
bnQgKnZhbHVlKQogewotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgp
OworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAg
cHJvZ3JhbS0+c2V0VW5pZm9ybTF1aXYobG9jYXRpb24sIGNvdW50LCB2YWx1ZSk7CiB9CiB2b2lk
IENvbnRleHQ6OnVuaWZvcm0ydWl2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBj
b3VudCwgY29uc3QgR0x1aW50ICp2YWx1ZSkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0
YXRlLmdldFByb2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2Vk
UHJvZ3JhbSgpOwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0ydWl2KGxvY2F0aW9uLCBjb3VudCwg
dmFsdWUpOwogfQogCiB2b2lkIENvbnRleHQ6OnVuaWZvcm0zdWl2KFVuaWZvcm1Mb2NhdGlvbiBs
b2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0x1aW50ICp2YWx1ZSkKIHsKLSAgICBQcm9n
cmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFByb2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFt
ID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwogICAgIHByb2dyYW0tPnNldFVuaWZvcm0zdWl2
KGxvY2F0aW9uLCBjb3VudCwgdmFsdWUpOwogfQogCiB2b2lkIENvbnRleHQ6OnVuaWZvcm00dWl2
KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0x1aW50ICp2
YWx1ZSkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFByb2dyYW0oKTsKKyAg
ICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwogICAgIHByb2dy
YW0tPnNldFVuaWZvcm00dWl2KGxvY2F0aW9uLCBjb3VudCwgdmFsdWUpOwogfQogCkBAIC02NzE1
LDcgKzY4NzYsNyBAQCB2b2lkIENvbnRleHQ6OnVuaWZvcm1NYXRyaXgyeDNmdihVbmlmb3JtTG9j
YXRpb24gbG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGJvb2xl
YW4gdHJhbnNwb3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xm
bG9hdCAqdmFsdWUpCiB7Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5nZXRQcm9ncmFt
KCk7CisgICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IGdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAg
ICBwcm9ncmFtLT5zZXRVbmlmb3JtTWF0cml4MngzZnYobG9jYXRpb24sIGNvdW50LCB0cmFuc3Bv
c2UsIHZhbHVlKTsKIH0KIApAQCAtNjcyNCw3ICs2ODg1LDcgQEAgdm9pZCBDb250ZXh0Ojp1bmlm
b3JtTWF0cml4M3gyZnYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xib29sZWFuIHRyYW5zcG9zZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEdMZmxvYXQgKnZhbHVlKQogewotICAgIFByb2dyYW0gKnBy
b2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dyYW0gKnByb2dyYW0gPSBnZXRB
Y3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0VW5pZm9ybU1hdHJpeDN4MmZ2
KGxvY2F0aW9uLCBjb3VudCwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKQEAgLTY3MzMsNyArNjg5
NCw3IEBAIHZvaWQgQ29udGV4dDo6dW5pZm9ybU1hdHJpeDJ4NGZ2KFVuaWZvcm1Mb2NhdGlvbiBs
b2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0cmFu
c3Bvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2
YWx1ZSkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLmdldFByb2dyYW0oKTsKKyAg
ICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwogICAgIHByb2dy
YW0tPnNldFVuaWZvcm1NYXRyaXgyeDRmdihsb2NhdGlvbiwgY291bnQsIHRyYW5zcG9zZSwgdmFs
dWUpOwogfQogCkBAIC02NzQyLDcgKzY5MDMsNyBAQCB2b2lkIENvbnRleHQ6OnVuaWZvcm1NYXRy
aXg0eDJmdihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTGJvb2xlYW4gdHJhbnNwb3NlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgR0xmbG9hdCAqdmFsdWUpCiB7Ci0gICAgUHJvZ3JhbSAqcHJvZ3JhbSA9
IG1TdGF0ZS5nZXRQcm9ncmFtKCk7CisgICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IGdldEFjdGl2ZUxp
bmtlZFByb2dyYW0oKTsKICAgICBwcm9ncmFtLT5zZXRVbmlmb3JtTWF0cml4NHgyZnYobG9jYXRp
b24sIGNvdW50LCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIApAQCAtNjc1MSw3ICs2OTEyLDcgQEAg
dm9pZCBDb250ZXh0Ojp1bmlmb3JtTWF0cml4M3g0ZnYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9u
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xib29sZWFuIHRyYW5zcG9zZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZmxvYXQgKnZhbHVlKQog
ewotICAgIFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0UHJvZ3JhbSgpOworICAgIFByb2dy
YW0gKnByb2dyYW0gPSBnZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcHJvZ3JhbS0+c2V0
VW5pZm9ybU1hdHJpeDN4NGZ2KGxvY2F0aW9uLCBjb3VudCwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9
CiAKQEAgLTY3NjAsNyArNjkyMSw3IEBAIHZvaWQgQ29udGV4dDo6dW5pZm9ybU1hdHJpeDR4M2Z2
KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBHTGZsb2F0ICp2YWx1ZSkKIHsKLSAgICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRl
LmdldFByb2dyYW0oKTsKKyAgICBQcm9ncmFtICpwcm9ncmFtID0gZ2V0QWN0aXZlTGlua2VkUHJv
Z3JhbSgpOwogICAgIHByb2dyYW0tPnNldFVuaWZvcm1NYXRyaXg0eDNmdihsb2NhdGlvbiwgY291
bnQsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCkBAIC03NDgzLDcgKzc2NDQsMTIgQEAgR0xib29s
ZWFuIENvbnRleHQ6OmlzUHJvZ3JhbVBpcGVsaW5lKFByb2dyYW1QaXBlbGluZUlEIHBpcGVsaW5l
KSBjb25zdAogICAgICAgICByZXR1cm4gR0xfRkFMU0U7CiAgICAgfQogCi0gICAgcmV0dXJuIENv
bnZlcnRUb0dMQm9vbGVhbihnZXRQcm9ncmFtUGlwZWxpbmUocGlwZWxpbmUpKTsKKyAgICBpZiAo
Z2V0UHJvZ3JhbVBpcGVsaW5lKHBpcGVsaW5lKSkKKyAgICB7CisgICAgICAgIHJldHVybiBHTF9U
UlVFOworICAgIH0KKworICAgIHJldHVybiBHTF9GQUxTRTsKIH0KIAogdm9pZCBDb250ZXh0Ojpm
aW5pc2hGZW5jZU5WKEZlbmNlTlZJRCBmZW5jZSkKQEAgLTgxMzUsNiArODMwMSwyNSBAQCBhbmds
ZTo6UmVzdWx0IENvbnRleHQ6Om9uUHJvZ3JhbUxpbmsoUHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCkK
ICAgICAgICAgbVN0YXRlQ2FjaGUub25Qcm9ncmFtRXhlY3V0YWJsZUNoYW5nZSh0aGlzKTsKICAg
ICB9CiAKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU1OSk6IFVzZSB0aGUgU3Vi
amVjdC9PYnNlcnZlciBwYXR0ZXJuIGZvcgorICAgIC8vIFByb2dyYW1zIGluIFBQT3Mgc28gd2Ug
Y2FuIHJlbW92ZSB0aGlzLgorICAgIC8vIE5lZWQgdG8gbWFyayBhbnkgUFBPcyB0aGF0IHRoaXMg
UHJvZ3JhbSBpcyBib3VuZCB0byBhcyBkaXJ0eQorICAgIGJvb2wgZm91bmRQaXBlbGluZSA9IGZh
bHNlOworICAgIGZvciAoUmVzb3VyY2VNYXA8UHJvZ3JhbVBpcGVsaW5lLCBQcm9ncmFtUGlwZWxp
bmVJRD46Okl0ZXJhdG9yIHBwb0l0ZXJhdG9yID0KKyAgICAgICAgICAgICBtU3RhdGUubVByb2dy
YW1QaXBlbGluZU1hbmFnZXItPmJlZ2luKCk7CisgICAgICAgICBwcG9JdGVyYXRvciAhPSBtU3Rh
dGUubVByb2dyYW1QaXBlbGluZU1hbmFnZXItPmVuZCgpOyArK3Bwb0l0ZXJhdG9yKQorICAgIHsK
KyAgICAgICAgUHJvZ3JhbVBpcGVsaW5lICpwaXBlbGluZSA9IHBwb0l0ZXJhdG9yLT5zZWNvbmQ7
CisgICAgICAgIHBpcGVsaW5lLT5zZXREaXJ0eUJpdChQcm9ncmFtUGlwZWxpbmU6OkRpcnR5Qml0
VHlwZTo6RElSVFlfQklUX1BST0dSQU1fU1RBR0UpOworICAgICAgICBmb3VuZFBpcGVsaW5lID0g
dHJ1ZTsKKyAgICB9CisgICAgLy8gQWxzbyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgUFBPIGRpcnR5
IGJpdHMgZ2V0IGhhbmRsZWQgYnkgbWFya2luZyB0aGUgUFBPCisgICAgLy8gb2JqZWN0cyBkaXJ0
eS4KKyAgICBpZiAoZm91bmRQaXBlbGluZSkKKyAgICB7CisgICAgICAgIG1TdGF0ZS5tRGlydHlP
YmplY3RzLnNldChTdGF0ZTo6RElSVFlfT0JKRUNUX1BST0dSQU1fUElQRUxJTkUpOworICAgIH0K
KwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtODMxMSw3ICs4
NDk2LDggQEAgU3RhdGVDYWNoZTo6U3RhdGVDYWNoZSgpCiAgICAgICBtQ2FjaGVkSW5zdGFuY2Vk
VmVydGV4RWxlbWVudExpbWl0KDApLAogICAgICAgbUNhY2hlZEJhc2ljRHJhd1N0YXRlc0Vycm9y
KGtJbnZhbGlkUG9pbnRlciksCiAgICAgICBtQ2FjaGVkQmFzaWNEcmF3RWxlbWVudHNFcnJvcihr
SW52YWxpZFBvaW50ZXIpLAotICAgICAgbUNhY2hlZFRyYW5zZm9ybUZlZWRiYWNrQWN0aXZlVW5w
YXVzZWQoZmFsc2UpCisgICAgICBtQ2FjaGVkVHJhbnNmb3JtRmVlZGJhY2tBY3RpdmVVbnBhdXNl
ZChmYWxzZSksCisgICAgICBtQ2FjaGVkQ2FuRHJhdyhmYWxzZSkKIHt9CiAKIFN0YXRlQ2FjaGU6
On5TdGF0ZUNhY2hlKCkgPSBkZWZhdWx0OwpAQCAtODMzMiw2ICs4NTE4LDcgQEAgdm9pZCBTdGF0
ZUNhY2hlOjppbml0aWFsaXplKENvbnRleHQgKmNvbnRleHQpCiAgICAgdXBkYXRlQmFzaWNEcmF3
U3RhdGVzRXJyb3IoKTsKICAgICB1cGRhdGVCYXNpY0RyYXdFbGVtZW50c0Vycm9yKCk7CiAgICAg
dXBkYXRlVmVydGV4QXR0cmliVHlwZXNWYWxpZGF0aW9uKGNvbnRleHQpOworICAgIHVwZGF0ZUNh
bkRyYXcoY29udGV4dCk7CiB9CiAKIHZvaWQgU3RhdGVDYWNoZTo6dXBkYXRlQWN0aXZlQXR0cmli
c01hc2soQ29udGV4dCAqY29udGV4dCkKQEAgLTgzMzksNyArODUyNiw3IEBAIHZvaWQgU3RhdGVD
YWNoZTo6dXBkYXRlQWN0aXZlQXR0cmlic01hc2soQ29udGV4dCAqY29udGV4dCkKICAgICBib29s
IGlzR0xFUzEgICAgICAgICA9IGNvbnRleHQtPmlzR0xFUzEoKTsKICAgICBjb25zdCBTdGF0ZSAm
Z2xTdGF0ZSA9IGNvbnRleHQtPmdldFN0YXRlKCk7CiAKLSAgICBpZiAoIWlzR0xFUzEgJiYgIWds
U3RhdGUuZ2V0UHJvZ3JhbSgpKQorICAgIGlmICghaXNHTEVTMSAmJiAhZ2xTdGF0ZS5nZXRQcm9n
cmFtRXhlY3V0YWJsZSgpKQogICAgIHsKICAgICAgICAgbUNhY2hlZEFjdGl2ZUJ1ZmZlcmVkQXR0
cmlic01hc2sgPSBBdHRyaWJ1dGVzTWFzaygpOwogICAgICAgICBtQ2FjaGVkQWN0aXZlQ2xpZW50
QXR0cmlic01hc2sgICA9IEF0dHJpYnV0ZXNNYXNrKCk7CkBAIC04NDQzLDYgKzg2MzAsNyBAQCB2
b2lkIFN0YXRlQ2FjaGU6Om9uUHJvZ3JhbUV4ZWN1dGFibGVDaGFuZ2UoQ29udGV4dCAqY29udGV4
dCkKICAgICB1cGRhdGVCYXNpY0RyYXdTdGF0ZXNFcnJvcigpOwogICAgIHVwZGF0ZVZhbGlkRHJh
d01vZGVzKGNvbnRleHQpOwogICAgIHVwZGF0ZUFjdGl2ZVNoYWRlclN0b3JhZ2VCdWZmZXJJbmRp
Y2VzKGNvbnRleHQpOworICAgIHVwZGF0ZUNhbkRyYXcoY29udGV4dCk7CiB9CiAKIHZvaWQgU3Rh
dGVDYWNoZTo6b25WZXJ0ZXhBcnJheUZvcm1hdENoYW5nZShDb250ZXh0ICpjb250ZXh0KQpAQCAt
ODcwNCw0ICs4ODkyLDExIEBAIHZvaWQgU3RhdGVDYWNoZTo6dXBkYXRlQWN0aXZlU2hhZGVyU3Rv
cmFnZUJ1ZmZlckluZGljZXMoQ29udGV4dCAqY29udGV4dCkKICAgICAgICAgfQogICAgIH0KIH0K
Kwordm9pZCBTdGF0ZUNhY2hlOjp1cGRhdGVDYW5EcmF3KENvbnRleHQgKmNvbnRleHQpCit7Cisg
ICAgbUNhY2hlZENhbkRyYXcgPSAoY29udGV4dC0+aXNHTEVTMSgpIHx8CisgICAgICAgICAgICAg
ICAgICAgICAgKGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKSAmJgor
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldFByb2dyYW1FeGVj
dXRhYmxlKCktPmhhc1ZlcnRleEFuZEZyYWdtZW50U2hhZGVyKCkpKTsKK30KIH0gIC8vIG5hbWVz
cGFjZSBnbApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L0NvbnRleHQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db250ZXh0
LmgKaW5kZXggMjAxMDEwZjlmNTU1NWZhYTc5Y2FiNDgwYTM0Y2FmNjNiZjVmZmJmMi4uMzc4YTM2
M2Q1NTRhNjY1ZWM1ZjBjNGI1NzQ5MDk3OTEyYjdjYzcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NvbnRleHQuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29udGV4dC5oCkBAIC0yNTcsNiArMjU3LDEwIEBAIGNs
YXNzIFN0YXRlQ2FjaGUgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgcmV0dXJu
IG1DYWNoZWRBY3RpdmVTaGFkZXJTdG9yYWdlQnVmZmVySW5kaWNlczsKICAgICB9CiAKKyAgICAv
LyBQbGFjZXMgdGhhdCBjYW4gdHJpZ2dlciB1cGRhdGVDYW5EcmF3OgorICAgIC8vIDEuIG9uUHJv
Z3JhbUV4ZWN1dGFibGVDaGFuZ2UuCisgICAgYm9vbCBnZXRDYW5EcmF3KCkgY29uc3QgeyByZXR1
cm4gbUNhY2hlZENhbkRyYXc7IH0KKwogICAgIC8vIFN0YXRlIGNoYW5nZSBub3RpZmljYXRpb25z
LgogICAgIHZvaWQgb25WZXJ0ZXhBcnJheUJpbmRpbmdDaGFuZ2UoQ29udGV4dCAqY29udGV4dCk7
CiAgICAgdm9pZCBvblByb2dyYW1FeGVjdXRhYmxlQ2hhbmdlKENvbnRleHQgKmNvbnRleHQpOwpA
QCAtMjkwLDYgKzI5NCw3IEBAIGNsYXNzIFN0YXRlQ2FjaGUgZmluYWwgOiBhbmdsZTo6Tm9uQ29w
eWFibGUKICAgICB2b2lkIHVwZGF0ZVRyYW5zZm9ybUZlZWRiYWNrQWN0aXZlVW5wYXVzZWQoQ29u
dGV4dCAqY29udGV4dCk7CiAgICAgdm9pZCB1cGRhdGVWZXJ0ZXhBdHRyaWJUeXBlc1ZhbGlkYXRp
b24oQ29udGV4dCAqY29udGV4dCk7CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVTaGFkZXJTdG9yYWdl
QnVmZmVySW5kaWNlcyhDb250ZXh0ICpjb250ZXh0KTsKKyAgICB2b2lkIHVwZGF0ZUNhbkRyYXco
Q29udGV4dCAqY29udGV4dCk7CiAKICAgICB2b2lkIHNldFZhbGlkRHJhd01vZGVzKGJvb2wgcG9p
bnRzT0ssIGJvb2wgbGluZXNPSywgYm9vbCB0cmlzT0ssIGJvb2wgbGluZUFkak9LLCBib29sIHRy
aUFkak9LKTsKIApAQCAtMzI0LDYgKzMyOSw4IEBAIGNsYXNzIFN0YXRlQ2FjaGUgZmluYWwgOiBh
bmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJ0ZXhBdHRyaWJU
eXBlQ2FzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW51bVNpemU8VmVydGV4
QXR0cmliVHlwZT4oKSArIDE+CiAgICAgICAgIG1DYWNoZWRJbnRlZ2VyVmVydGV4QXR0cmliVHlw
ZXNWYWxpZGF0aW9uOworCisgICAgYm9vbCBtQ2FjaGVkQ2FuRHJhdzsKIH07CiAKIHVzaW5nIFZl
cnRleEFycmF5TWFwICAgICAgID0gUmVzb3VyY2VNYXA8VmVydGV4QXJyYXksIFZlcnRleEFycmF5
SUQ+OwpAQCAtMzQ0LDcgKzM1MSw3IEBAIGNsYXNzIENvbnRleHQgZmluYWwgOiBwdWJsaWMgZWds
OjpMYWJlbGVkT2JqZWN0LCBhbmdsZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBhbmdsCiAgICAgICAg
ICAgICBjb25zdCBlZ2w6OkNsaWVudEV4dGVuc2lvbnMgJmNsaWVudEV4dGVuc2lvbnMpOwogCiAg
ICAgLy8gVXNlIGZvciBkZWJ1Z2dpbmcuCi0gICAgaW50IGlkKCkgY29uc3QgeyByZXR1cm4gbVN0
YXRlLm1JRDsgfQorICAgIENvbnRleHRJRCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1TdGF0ZS5nZXRD
b250ZXh0SUQoKTsgfQogCiAgICAgZWdsOjpFcnJvciBvbkRlc3Ryb3koY29uc3QgZWdsOjpEaXNw
bGF5ICpkaXNwbGF5KTsKICAgICB+Q29udGV4dCgpIG92ZXJyaWRlOwpAQCAtNTk5LDYgKzYwNiw4
IEBAIGNsYXNzIENvbnRleHQgZmluYWwgOiBwdWJsaWMgZWdsOjpMYWJlbGVkT2JqZWN0LCBhbmds
ZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBhbmdsCiAKICAgICB2b2lkIG9uUG9zdFN3YXAoKSBjb25z
dDsKIAorICAgIFByb2dyYW0gKmdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKSBjb25zdDsKKwogICBw
cml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBAIC02NDksNiArNjU4LDggQEAgY2xh
c3MgQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBlZ2w6OkxhYmVsZWRPYmplY3QsIGFuZ2xlOjpOb25D
b3B5YWJsZSwgcHVibGljIGFuZ2wKICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBj
b3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xpbnQgKnYpOwogCisgICAg
dm9pZCBjb252ZXJ0UHBvVG9Db21wdXRlT3JEcmF3KGJvb2wgaXNDb21wdXRlKTsKKwogICAgIFN0
YXRlIG1TdGF0ZTsKICAgICBib29sIG1TaGFyZWQ7CiAgICAgYm9vbCBtU2tpcFZhbGlkYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29udGV4
dC5pbmwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db250ZXh0Lmlu
bC5oCmluZGV4IDQzZmEzZmUwN2U1ZmMzZDI4MmUwZjM1Y2Y0MDFhY2ViMWMwNDJmYWQuLjE4NTYw
MDZjZTg5ZDMyMGRjMmNmN2QwNWU0MjYyMDhjYTk1M2IzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db250ZXh0LmlubC5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db250ZXh0LmlubC5oCkBAIC01OSwxMCArNTks
MTggQEAgQU5HTEVfSU5MSU5FIHZvaWQgTWFya1NoYWRlclN0b3JhZ2VCdWZmZXJVc2FnZShjb25z
dCBDb250ZXh0ICpjb250ZXh0KQogfQogCiAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGUgZHJhdyBpcyBh
IG5vLW9wLCBlbHNlIHJldHVybiBmYWxzZS4KKy8vICBJZiB0aGVyZSBpcyBubyBhY3RpdmUgcHJv
Z3JhbSBmb3IgdGhlIHZlcnRleCBvciBmcmFnbWVudCBzaGFkZXIgc3RhZ2VzLCB0aGUgcmVzdWx0
cyBvZiB2ZXJ0ZXgKKy8vICBhbmQgZnJhZ21lbnQgc2hhZGVyIGV4ZWN1dGlvbiB3aWxsIHJlc3Bl
Y3RpdmVseSBiZSB1bmRlZmluZWQuIEhvd2V2ZXIsIHRoaXMgaXMgbm90CisvLyAgYW4gZXJyb3Iu
IEFOR0xFIHdpbGwgdHJlYXQgdGhpcyBhcyBhIG5vLW9wLgogLy8gIEEgbm8tb3AgZHJhdyBvY2N1
cnMgaWYgdGhlIGNvdW50IG9mIHZlcnRpY2VzIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSByZXF1
aXJlZCB0bwogLy8gIGhhdmUgYSB2YWxpZCBwcmltaXRpdmUgZm9yIHRoaXMgbW9kZSAoMCBmb3Ig
cG9pbnRzLCAwLTEgZm9yIGxpbmVzLCAwLTIgZm9yIHRyaXMpLgogQU5HTEVfSU5MSU5FIGJvb2wg
Q29udGV4dDo6bm9vcERyYXcoUHJpbWl0aXZlTW9kZSBtb2RlLCBHTHNpemVpIGNvdW50KQogewor
ICAgIGlmICghbVN0YXRlQ2FjaGUuZ2V0Q2FuRHJhdygpKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCiAgICAgcmV0dXJuIGNvdW50IDwga01pbmltdW1QcmltaXRpdmVDb3Vu
dHNbbW9kZV07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9Db250ZXh0X2dsZXNfZXh0X2F1dG9nZW4uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9Db250ZXh0X2dsZXNfZXh0X2F1dG9nZW4uaAppbmRleCA1ODM3Y2Fk
NThiZjgzN2JhOWU0NjMzYjA1MmE4NDVjZGFjMzYxNWZkLi5lYzRlYmIyOTRhMGRiMmU5MzBiNWY3
OWY1N2RjOGQ3MzFhNGUwZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvQ29udGV4dF9nbGVzX2V4dF9hdXRvZ2VuLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NvbnRleHRfZ2xlc19leHRfYXV0b2dlbi5oCkBAIC0y
NzMsNiArMjczLDcgQEAKICAgICAvKiBHTF9BTkdMRV90cmFuc2xhdGVkX3NoYWRlcl9zb3VyY2Ug
Ki8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICB2b2lkIGdldFRyYW5zbGF0ZWRTaGFkZXJTb3VyY2UoU2hhZGVyUHJvZ3JhbUlEIHNo
YWRlclBhY2tlZCwgR0xzaXplaSBidWZzaXplLCBHTHNpemVpICpsZW5ndGgsIFwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xjaGFyICpzb3VyY2UpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAvKiBHTF9FWFRfRUdMX2lt
YWdlX2FycmF5ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAvKiBHTF9FWFRfYmxlbmRfZnVuY19leHRlbmRl
ZCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICB2b2lkIGJpbmRGcmFnRGF0YUxvY2F0aW9uKFNoYWRlclByb2dyYW1J
RCBwcm9ncmFtUGFja2VkLCBHTHVpbnQgY29sb3IsIGNvbnN0IEdMY2hhciAqbmFtZSk7ICAgIFwK
ICAgICB2b2lkIGJpbmRGcmFnRGF0YUxvY2F0aW9uSW5kZXhlZChTaGFkZXJQcm9ncmFtSUQgcHJv
Z3JhbVBhY2tlZCwgR0x1aW50IGNvbG9yTnVtYmVyLCAgICAgICAgICAgIFwKQEAgLTI4MCw2ICsy
ODEsNyBAQAogICAgIEdMaW50IGdldEZyYWdEYXRhSW5kZXgoU2hhZGVyUHJvZ3JhbUlEIHByb2dy
YW1QYWNrZWQsIGNvbnN0IEdMY2hhciAqbmFtZSk7ICAgICAgICAgICAgICAgICAgICAgXAogICAg
IEdMaW50IGdldFByb2dyYW1SZXNvdXJjZUxvY2F0aW9uSW5kZXgoU2hhZGVyUHJvZ3JhbUlEIHBy
b2dyYW1QYWNrZWQsIEdMZW51bSBwcm9ncmFtSW50ZXJmYWNlLCAgXAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xjaGFyICpuYW1lKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIC8qIEdMX0VYVF9jb21wcmVzc2VkX0VU
QzFfUkdCOF9zdWJfdGV4dHVyZSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIC8qIEdMX0VYVF9kZWJ1Z19tYXJrZXIgKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIHZvaWQgaW5zZXJ0RXZlbnRNYXJrZXIoR0xzaXplaSBsZW5ndGgsIGNvbnN0IEdM
Y2hhciAqbWFya2VyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHZv
aWQgcG9wR3JvdXBNYXJrZXIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzU4LDYgKzM2MCw3IEBA
CiAgICAgLyogR0xfRVhUX3RleHR1cmVfY29tcHJlc3Npb25fczN0Y19zcmdiICovICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgLyogR0xf
RVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljICovICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgLyogR0xfRVhUX3RleHR1cmVf
Zm9ybWF0X0JHUkE4ODg4ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgLyogR0xfRVhUX3RleHR1cmVfc1JHQl9SOCAqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgLyogR0xfRVhUX3RleHR1cmVfc3RvcmFnZSAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgdm9pZCB0ZXhTdG9yYWdlMUQoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdMZW51
bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCk7ICAgICAgICBcCiAgICAgLyogR0xfS0hS
X2RlYnVnICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRGlzcGxheS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvRGlzcGxheS5jcHAKaW5kZXggZjNiNmViZjAzNTY1ZTJhOTNmYzUw
ZWUyOWU1NGZmNDA4ZjhhYTY2OC4uYjEwNzExY2QwNzVjYjFhZjIzZDQ3Mjg2OTliOTljYTE1YzA0
NGUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Rp
c3BsYXkuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9EaXNw
bGF5LmNwcApAQCAtNjU1LDYgKzY1NSwxNCBAQCBFcnJvciBEaXNwbGF5Ojppbml0aWFsaXplKCkK
ICAgICBBU1NFUlQobUltcGxlbWVudGF0aW9uICE9IG51bGxwdHIpOwogICAgIG1JbXBsZW1lbnRh
dGlvbi0+c2V0QmxvYkNhY2hlKCZtQmxvYkNhY2hlKTsKIAorICAgIC8vIEVuYWJsZSBzaGFkZXIg
Y2FjaGluZyBpZiBkZWJ1ZyBsYXllcnMgYXJlIHR1cm5lZCBvbi4gVGhpcyBhbGxvd3MgdXMgdG8g
dGVzdCB0aGF0IHNoYWRlcnMgYXJlCisgICAgLy8gcHJvcGVybHkgc2F2ZWQgJiByZXN0b3JlZCBv
biBhbGwgcGxhdGZvcm1zLiBUaGUgY2FjaGUgd29uJ3QgYWxsb2NhdGUgc3BhY2UgdW50aWwgaXQn
cyB1c2VkCisgICAgLy8gYW5kIHdpbGwgYmUgaWdub3JlZCBlbnRpcmVseSBpZiB0aGUgYXBwbGlj
YXRpb24gLyBzeXN0ZW0gc2V0cyBpdCdzIG93biBjYWNoZSBmdW5jdGlvbnMuCisgICAgaWYgKHJ4
OjpTaG91bGRVc2VEZWJ1Z0xheWVycyhtQXR0cmlidXRlTWFwKSkKKyAgICB7CisgICAgICAgIG1C
bG9iQ2FjaGUucmVzaXplKDEwMjQgKiAxMDI0KTsKKyAgICB9CisKICAgICBnbDo6SW5pdGlhbGl6
ZURlYnVnQW5ub3RhdGlvbnMoJm1Bbm5vdGF0b3IpOwogCiAgICAgZ2w6OkluaXRpYWxpemVEZWJ1
Z011dGV4SWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9FR0xTeW5jLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9FR0xTeW5jLmNwcAppbmRleCA5NWY1MDU4YWM4NjI4ZGVhODA4YzQyMjBmNTRmMWVjMmUy
ZDdlMzdjLi4yZTdkNDM0ODgxNTU0MzVlMDEyZmE5OGM2NDZiODhkOTlmYzAxNTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRUdMU3luYy5jcHAKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0VHTFN5bmMuY3BwCkBAIC0y
MSw5ICsyMSwyMSBAQCBTeW5jOjpTeW5jKHJ4OjpFR0xJbXBsRmFjdG9yeSAqZmFjdG9yeSwgRUdM
ZW51bSB0eXBlLCBjb25zdCBBdHRyaWJ1dGVNYXAgJmF0dHJpYgogICAgIDogbUZlbmNlKGZhY3Rv
cnktPmNyZWF0ZVN5bmMoYXR0cmlicykpLAogICAgICAgbUxhYmVsKG51bGxwdHIpLAogICAgICAg
bVR5cGUodHlwZSksCisgICAgICBtQ29uZGl0aW9uKEVHTF9TWU5DX1BSSU9SX0NPTU1BTkRTX0NP
TVBMRVRFX0tIUiksCiAgICAgICBtTmF0aXZlRmVuY2VGRCgKICAgICAgICAgICBhdHRyaWJzLmdl
dEFzSW50KEVHTF9TWU5DX05BVElWRV9GRU5DRV9GRF9BTkRST0lELCBFR0xfTk9fTkFUSVZFX0ZF
TkNFX0ZEX0FORFJPSUQpKQote30KK3sKKyAgICAvLyBQZXIgZXh0ZW5zaW9uIHNwZWM6IFNpZ25h
bGluZyBDb25kaXRpb24uCisgICAgLy8gIklmIHRoZSBFR0xfU1lOQ19OQVRJVkVfRkVOQ0VfRkRf
QU5EUk9JRCBhdHRyaWJ1dGUgaXMgbm90CisgICAgLy8gRUdMX05PX05BVElWRV9GRU5DRV9GRF9B
TkRST0lEIHRoZW4gdGhlIEVHTF9TWU5DX0NPTkRJVElPTl9LSFIgYXR0cmlidXRlCisgICAgLy8g
aXMgc2V0IHRvIEVHTF9TWU5DX05BVElWRV9GRU5DRV9TSUdOQUxFRF9BTkRST0lEIGFuZCB0aGUg
RUdMX1NZTkNfU1RBVFVTX0tIUgorICAgIC8vIGF0dHJpYnV0ZSBpcyBzZXQgdG8gcmVmbGVjdCB0
aGUgc2lnbmFsIHN0YXR1cyBvZiB0aGUgbmF0aXZlIGZlbmNlIG9iamVjdC4KKyAgICBpZiAoKG1U
eXBlID09IEVHTF9TWU5DX05BVElWRV9GRU5DRV9BTkRST0lEKSAmJgorICAgICAgICAobU5hdGl2
ZUZlbmNlRkQgIT0gRUdMX05PX05BVElWRV9GRU5DRV9GRF9BTkRST0lEKSkKKyAgICB7CisgICAg
ICAgIG1Db25kaXRpb24gPSBFR0xfU1lOQ19OQVRJVkVfRkVOQ0VfU0lHTkFMRURfQU5EUk9JRDsK
KyAgICB9Cit9CiAKIHZvaWQgU3luYzo6b25EZXN0cm95KGNvbnN0IERpc3BsYXkgKmRpc3BsYXkp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRUdM
U3luYy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0VHTFN5bmMuaApp
bmRleCA2ODNlYTM3NGJkM2ZiMmM4Yzg4ZmFkZmQwM2M2YTNlZTYwOGQ1NWYzLi45ZWZiZDczYzQ0
NTBjNGNjMGVlMDlkMDc5OThlODQ0OTBhNzJjMDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRUdMU3luYy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9FR0xTeW5jLmgKQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgU3lu
YyBmaW5hbCA6IHB1YmxpYyBhbmdsZTo6UmVmQ291bnRPYmplY3Q8RGlzcGxheSwgYW5nbGU6OlJl
c3VsdD4sIHB1YmxpYwogICAgIEVHTExhYmVsS0hSIG1MYWJlbDsKIAogICAgIEVHTGVudW0gbVR5
cGU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBFR0xpbnQgbUNvbmRpdGlvbiA9IEVHTF9TWU5DX1BS
SU9SX0NPTU1BTkRTX0NPTVBMRVRFX0tIUjsKKyAgICBFR0xpbnQgbUNvbmRpdGlvbjsKICAgICBF
R0xpbnQgbU5hdGl2ZUZlbmNlRkQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvRXJyb3JTdHJpbmdzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvRXJyb3JTdHJpbmdzLmgKaW5kZXggYmFhNzhiYjIxYjJhMDFlYjRk
MTY3NTAyN2YwY2FmN2QxZTRlYmM3Yi4uYmE2MTE5Mzk2YmU2NWExMDg1MGZkNzRkYjhhYTE1NzRi
NjU0NzQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L0Vycm9yU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9FcnJvclN0cmluZ3MuaApAQCAtODUsNiArODUsOCBAQCBNU0cga0Rlc3RpbmF0aW9uVGV4dHVy
ZVRvb1NtYWxsID0gIkRlc3RpbmF0aW9uIHRleHR1cmUgdG9vIHNtYWxsLiI7CiBNU0cga0RpbWVu
c2lvbnNNdXN0QmVQb3cyID0gIlRleHR1cmUgZGltZW5zaW9ucyBtdXN0IGJlIHBvd2VyLW9mLXR3
by4iOwogTVNHIGtEaXNwYXRjaEluZGlyZWN0QnVmZmVyTm90Qm91bmQgPSAiRGlzcGF0Y2ggaW5k
aXJlY3QgYnVmZmVyIG11c3QgYmUgYm91bmQuIjsKIE1TRyBrRHJhd0J1ZmZlck1hc2tNaXNtYXRj
aCA9ICJBY3RpdmUgZHJhdyBidWZmZXJzIHdpdGggbWlzc2luZyBmcmFnbWVudCBzaGFkZXIgb3V0
cHV0cy4iOworTVNHIGtEcmF3QnVmZmVyc0luZGV4ZWRFeHRlbnNpb25Ob3RBdmFpbGFibGUgPSAi
RVhUL09FU19kcmF3X2J1ZmZlcnNfaW5kZXhlZCBpcyBub3QgYXZhaWxhYmxlLiI7CitNU0cga0VT
MzFPckRyYXdCdWZmZXJzSW5kZXhlZEV4dGVuc2lvbk5vdEF2YWlsYWJsZSA9ICJFWFQvT0VTX2Ry
YXdfYnVmZmVyc19pbmRleGVkIG9yIEVTIDMuMSBhcmUgcmVxdWlyZWQgYnV0IG5vdCBhdmFpbGFi
bGUuIjsKIE1TRyBrRHJhd0J1ZmZlclR5cGVNaXNtYXRjaCA9ICJGcmFnbWVudCBzaGFkZXIgb3V0
cHV0IHR5cGUgZG9lcyBub3QgbWF0Y2ggdGhlIGJvdW5kIGZyYW1lYnVmZmVyIGF0dGFjaG1lbnQg
dHlwZS4iOwogTVNHIGtEcmF3RnJhbWVidWZmZXJJbmNvbXBsZXRlID0gIkRyYXcgZnJhbWVidWZm
ZXIgaXMgaW5jb21wbGV0ZSI7CiBNU0cga0RyYXdJbmRpcmVjdEJ1ZmZlck5vdEJvdW5kID0gIkRy
YXcgaW5kaXJlY3QgYnVmZmVyIG11c3QgYmUgYm91bmQuIjsKQEAgLTI1OSw2ICsyNjEsNyBAQCBN
U0cga0ludmFsaWRQcmltaXRpdmVNb2RlID0gIkludmFsaWQgcHJpbWl0aXZlIG1vZGUuIjsKIE1T
RyBrSW52YWxpZFByb2dyYW1CaW5hcnlGb3JtYXQgPSAiUHJvZ3JhbSBiaW5hcnkgZm9ybWF0IGlz
IG5vdCB2YWxpZC4iOwogTVNHIGtJbnZhbGlkUHJvZ3JhbUludGVyZmFjZSA9ICJJbnZhbGlkIHBy
b2dyYW0gaW50ZXJmYWNlLiI7CiBNU0cga0ludmFsaWRQcm9ncmFtTmFtZSA9ICJQcm9ncmFtIG9i
amVjdCBleHBlY3RlZC4iOworTVNHIGtJbnZhbGlkUHJvZ3JhbVBpcGVsaW5lTmFtZSA9ICJuYW1l
IGlzIG5vdCBhIHZhbGlkIHByb2dyYW0gcGlwZWxpbmUuIjsKIE1TRyBrSW52YWxpZFByb2dyYW1S
ZXNvdXJjZUluZGV4ID0gIkludmFsaWQgcHJvZ3JhbSByZXNvdXJjZSBpbmRleC4iOwogTVNHIGtJ
bnZhbGlkUHJvZ3JhbVJlc291cmNlUHJvcGVydHkgPSAiSW52YWxpZCBwcm9ncmFtIHJlc291cmNl
IHByb3BlcnR5LiI7CiBNU0cga0ludmFsaWRQcm9qZWN0aW9uTWF0cml4ID0gIkludmFsaWQgcHJv
amVjdGlvbiBtYXRyaXguIExlZnQvcmlnaHQsIHRvcC9ib3R0b20sIG5lYXIvZmFyIGludGVydmFs
cyBjYW5ub3QgYmUgemVybywgYW5kIG5lYXIvZmFyIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVyby4i
OwpAQCAtNDgxLDYgKzQ4NCwxMSBAQCBNU0cga1dlYmdsMk5hbWVMZW5ndGhMaW1pdEV4Y2VlZGVk
ID0gIkxvY2F0aW9uIGxlbmd0aHMgbXVzdCBub3QgYmUgZ3JlYXRlciB0aGFuCiBNU0cga1dlYmds
QmluZEF0dHJpYkxvY2F0aW9uUmVzZXJ2ZWRQcmVmaXggPSAiQXR0cmlidXRlcyB0aGF0IGJlZ2lu
IHdpdGggJ3dlYmdsXycsIG9yICdfd2ViZ2xfJyBhcmUgbm90IGFsbG93ZWQuIjsKIE1TRyBrV2Vi
Z2xOYW1lTGVuZ3RoTGltaXRFeGNlZWRlZCA9ICJMb2NhdGlvbiBuYW1lIGxlbmd0aHMgbXVzdCBu
b3QgYmUgZ3JlYXRlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLiI7CiBNU0cga1plcm9Cb3VuZFRvVGFy
Z2V0ID0gIlplcm8gaXMgYm91bmQgdG8gdGFyZ2V0LiI7CitNU0cga1VucmVjb2duaXplZFNoYWRl
clN0YWdlQml0ID0gIlVucmVjb2duaXplZCBzaGFkZXIgc3RhZ2UgYml0LiI7CitNU0cga1Byb2dy
YW1Ob3RTZXBhcmFibGUgPSAiUHJvZ3JhbSBvYmplY3Qgd2FzIG5vdCBsaW5rZWQgd2l0aCBpdHMg
UFJPR1JBTV9TRVBBUkFCTEUgc3RhdHVzIHNldC4iOworTVNHIGtQcm9ncmFtUGlwZWxpbmVEb2Vz
Tm90RXhpc3QgPSAiUHJvZ3JhbSBwaXBlbGluZSBkb2VzIG5vdCBleGlzdC4iOworTVNHIGtOb3RB
bGxTdGFnZXNPZlNlcGFyYWJsZVByb2dyYW1Vc2VkID0gIkEgcHJvZ3JhbSBvYmplY3QgaXMgYWN0
aXZlIGZvciBhdCBsZWFzdCBvbmUsIGJ1dCBub3QgYWxsIG9mIHRoZSBzaGFkZXIgc3RhZ2VzIHRo
YXQgd2VyZSBwcmVzZW50IHdoZW4gdGhlIHByb2dyYW0gd2FzIGxpbmtlZC4iOworCiAvLyBjbGFu
Zy1mb3JtYXQgb24KIAogI3VuZGVmIE1TRwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lQ2FwdHVyZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvRnJhbWVDYXB0dXJlLmNwcAppbmRleCAxMzA3YmZhNGRhNDA4ZGY1
YWJkMDQ2Y2E1MjE2ZjAyMWY4NDUyZGY1Li5hYWQ2ZjI5NTUzZmIyMGM0YWExYzMzMGNiMjkwMmEw
NWMzN2ZiMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvRnJhbWVDYXB0dXJlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvRnJhbWVDYXB0dXJlLmNwcApAQCAtMTcxLDEwICsxNzEsMTAgQEAgc3RkOjpzdHJpbmcg
R2V0RGVmYXVsdE91dERpcmVjdG9yeSgpCiAKIHN0cnVjdCBGbXRDYXB0dXJlUHJlZml4CiB7Ci0g
ICAgRm10Q2FwdHVyZVByZWZpeChpbnQgY29udGV4dElkSW4sIGNvbnN0IHN0ZDo6c3RyaW5nICZj
YXB0dXJlTGFiZWxJbikKKyAgICBGbXRDYXB0dXJlUHJlZml4KGdsOjpDb250ZXh0SUQgY29udGV4
dElkSW4sIGNvbnN0IHN0ZDo6c3RyaW5nICZjYXB0dXJlTGFiZWxJbikKICAgICAgICAgOiBjb250
ZXh0SWQoY29udGV4dElkSW4pLCBjYXB0dXJlTGFiZWwoY2FwdHVyZUxhYmVsSW4pCiAgICAge30K
LSAgICBpbnQgY29udGV4dElkOworICAgIGdsOjpDb250ZXh0SUQgY29udGV4dElkOwogICAgIGNv
bnN0IHN0ZDo6c3RyaW5nICZjYXB0dXJlTGFiZWw7CiB9OwogCkBAIC0xODgsMjYgKzE4OCwyNiBA
QCBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtICZvcywgY29uc3QgRm10Q2Fw
dHVyZVByZWZpeCAmZm10KQogICAgIHsKICAgICAgICAgb3MgPDwgZm10LmNhcHR1cmVMYWJlbDsK
ICAgICB9Ci0gICAgb3MgPDwgIl9jYXB0dXJlX2NvbnRleHQiIDw8IGZtdC5jb250ZXh0SWQ7Cisg
ICAgb3MgPDwgIl9jYXB0dXJlX2NvbnRleHQiIDw8IHN0YXRpY19jYXN0PGludD4oZm10LmNvbnRl
eHRJZCk7CiAgICAgcmV0dXJuIG9zOwogfQogCiBzdHJ1Y3QgRm10UmVwbGF5RnVuY3Rpb24KIHsK
LSAgICBGbXRSZXBsYXlGdW5jdGlvbihpbnQgY29udGV4dElkSW4sIHVpbnQzMl90IGZyYW1lSW5k
ZXhJbikKKyAgICBGbXRSZXBsYXlGdW5jdGlvbihnbDo6Q29udGV4dElEIGNvbnRleHRJZEluLCB1
aW50MzJfdCBmcmFtZUluZGV4SW4pCiAgICAgICAgIDogY29udGV4dElkKGNvbnRleHRJZEluKSwg
ZnJhbWVJbmRleChmcmFtZUluZGV4SW4pCiAgICAge30KLSAgICBpbnQgY29udGV4dElkOworICAg
IGdsOjpDb250ZXh0SUQgY29udGV4dElkOwogICAgIHVpbnQzMl90IGZyYW1lSW5kZXg7CiB9Owog
CiBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtICZvcywgY29uc3QgRm10UmVw
bGF5RnVuY3Rpb24gJmZtdCkKIHsKLSAgICBvcyA8PCAiUmVwbGF5Q29udGV4dCIgPDwgZm10LmNv
bnRleHRJZCA8PCAiRnJhbWUiIDw8IGZtdC5mcmFtZUluZGV4IDw8ICIoKSI7CisgICAgb3MgPDwg
IlJlcGxheUNvbnRleHQiIDw8IHN0YXRpY19jYXN0PGludD4oZm10LmNvbnRleHRJZCkgPDwgIkZy
YW1lIiA8PCBmbXQuZnJhbWVJbmRleCA8PCAiKCkiOwogICAgIHJldHVybiBvczsKIH0KIAotc3Rk
OjpzdHJpbmcgR2V0Q2FwdHVyZUZpbGVOYW1lKGludCBjb250ZXh0SWQsCitzdGQ6OnN0cmluZyBH
ZXRDYXB0dXJlRmlsZU5hbWUoZ2w6OkNvbnRleHRJRCBjb250ZXh0SWQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJmNhcHR1cmVMYWJlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmcmFtZUluZGV4LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN1ZmZpeCkKQEAgLTIxOSw3ICsyMTks
NyBAQCBzdGQ6OnN0cmluZyBHZXRDYXB0dXJlRmlsZU5hbWUoaW50IGNvbnRleHRJZCwKIH0KIAog
c3RkOjpzdHJpbmcgR2V0Q2FwdHVyZUZpbGVQYXRoKGNvbnN0IHN0ZDo6c3RyaW5nICZvdXREaXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbnRleHRJZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnbDo6Q29udGV4dElEIGNvbnRleHRJZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmY2FwdHVyZUxhYmVsLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZyYW1lSW5kZXgsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3VmZml4KQpAQCAtNDY5LDYg
KzQ2OSwxMSBAQCB2b2lkIFdyaXRlQmluYXJ5UGFyYW1SZXBsYXkoRGF0YUNvdW50ZXJzICpjb3Vu
dGVycywKICAgICB9CiB9CiAKK3VpbnRwdHJfdCBTeW5jSW5kZXhWYWx1ZShHTHN5bmMgc3luYykK
K3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHN5bmMpOworfQorCiB2
b2lkIFdyaXRlQ3BwUmVwbGF5Rm9yQ2FsbChjb25zdCBDYWxsQ2FwdHVyZSAmY2FsbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERhdGFDb3VudGVycyAqY291bnRlcnMsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGQ6Om9zdHJlYW0gJm91dCwKQEAgLTQ4NCwxNSArNDg5LDI1IEBA
IHZvaWQgV3JpdGVDcHBSZXBsYXlGb3JDYWxsKGNvbnN0IENhbGxDYXB0dXJlICZjYWxsLAogICAg
ICAgICBjYWxsT3V0IDw8ICJnU2hhZGVyUHJvZ3JhbU1hcFsiIDw8IGlkIDw8ICJdID0gIjsKICAg
ICB9CiAKLSAgICBpZiAoY2FsbC5lbnRyeVBvaW50ID09IGdsOjpFbnRyeVBvaW50OjpNYXBCdWZm
ZXJSYW5nZSkKKyAgICBpZiAoY2FsbC5lbnRyeVBvaW50ID09IGdsOjpFbnRyeVBvaW50OjpGZW5j
ZVN5bmMpCisgICAgeworICAgICAgICBHTHN5bmMgc3luYyA9IGNhbGwucGFyYW1zLmdldFJldHVy
blZhbHVlKCkudmFsdWUuR0xzeW5jVmFsOworICAgICAgICBjYWxsT3V0IDw8ICJnU3luY01hcFsi
IDw8IFN5bmNJbmRleFZhbHVlKHN5bmMpIDw8ICJdID0gIjsKKyAgICB9CisKKyAgICBpZiAoY2Fs
bC5lbnRyeVBvaW50ID09IGdsOjpFbnRyeVBvaW50OjpNYXBCdWZmZXJSYW5nZSB8fAorICAgICAg
ICBjYWxsLmVudHJ5UG9pbnQgPT0gZ2w6OkVudHJ5UG9pbnQ6Ok1hcEJ1ZmZlclJhbmdlRVhUKQog
ICAgIHsKICAgICAgICAgR0xiaXRmaWVsZCBhY2Nlc3MgPQogICAgICAgICAgICAgY2FsbC5wYXJh
bXMuZ2V0UGFyYW0oImFjY2VzcyIsIFBhcmFtVHlwZTo6VEdMYml0ZmllbGQsIDMpLnZhbHVlLkdM
Yml0ZmllbGRWYWw7CiAKICAgICAgICAgaWYgKGFjY2VzcyAmIEdMX01BUF9XUklURV9CSVQpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIC8vIFRyYWNrIHRoZSByZXR1cm5lZCBwb2ludGVyIHNvIHdl
IHVwZGF0ZSBpdHMgZGF0YQotICAgICAgICAgICAgY2FsbE91dCA8PCAiZ01hcHBlZEJ1ZmZlckRh
dGEgPSAiOworICAgICAgICAgICAgLy8gVHJhY2sgdGhlIHJldHVybmVkIHBvaW50ZXIgc28gd2Ug
dXBkYXRlIGl0cyBkYXRhIHdoZW4gdW5tYXBwZWQKKyAgICAgICAgICAgIGdsOjpCdWZmZXJJRCBi
dWZmZXJJRCA9IGNhbGwucGFyYW1zLmdldE1hcHBlZEJ1ZmZlcklEKCk7CisgICAgICAgICAgICBj
YWxsT3V0IDw8ICJnTWFwcGVkQnVmZmVyRGF0YVsiOworICAgICAgICAgICAgV3JpdGVQYXJhbVZh
bHVlUmVwbGF5PFBhcmFtVHlwZTo6VEJ1ZmZlcklEPihjYWxsT3V0LCBjYWxsLCBidWZmZXJJRCk7
CisgICAgICAgICAgICBjYWxsT3V0IDw8ICJdID0gIjsKICAgICAgICAgfQogICAgIH0KIApAQCAt
NTI4LDYgKzU0MywyMSBAQCB2b2lkIFdyaXRlQ3BwUmVwbGF5Rm9yQ2FsbChjb25zdCBDYWxsQ2Fw
dHVyZSAmY2FsbCwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBXcml0ZUdMRmxvYXRW
YWx1ZShjYWxsT3V0LCBwYXJhbS52YWx1ZS5HTGZsb2F0VmFsKTsKICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGVsc2UgaWYgKHBhcmFtLnR5cGUgPT0gUGFyYW1UeXBlOjpUR0xzeW5jKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxPdXQgPDwgImdTeW5jTWFwWyIgPDwgU3lu
Y0luZGV4VmFsdWUocGFyYW0udmFsdWUuR0xzeW5jVmFsKSA8PCAiXSI7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBlbHNlIGlmIChwYXJhbS50eXBlID09IFBhcmFtVHlwZTo6VEdMdWludDY0
ICYmIHBhcmFtLm5hbWUgPT0gInRpbWVvdXQiKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGlmIChwYXJhbS52YWx1ZS5HTHVpbnQ2NFZhbCA9PSBHTF9USU1FT1VUX0lHTk9SRUQpCisg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYWxsT3V0IDw8ICJHTF9USU1F
T1VUX0lHTk9SRUQiOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBXcml0ZVBhcmFtQ2FwdHVyZVJl
cGxheShjYWxsT3V0LCBjYWxsLCBwYXJhbSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIFdy
aXRlUGFyYW1DYXB0dXJlUmVwbGF5KGNhbGxPdXQsIGNhbGwsIHBhcmFtKTsKQEAgLTYxOSwzMyAr
NjQ5LDQzIEBAIHNpemVfdCBNYXhDbGllbnRBcnJheVNpemUoY29uc3QgZ2w6OkF0dHJpYkFycmF5
PHNpemVfdD4gJmNsaWVudEFycmF5U2l6ZXMpCiAKIHN0cnVjdCBTYXZlRmlsZUhlbHBlcgogewot
ICAgIFNhdmVGaWxlSGVscGVyKGNvbnN0IHN0ZDo6c3RyaW5nICZmaWxlUGF0aEluLCBzdGQ6Omlv
c19iYXNlOjpvcGVubW9kZSBtb2RlID0gc3RkOjppb3M6Om91dCkKLSAgICAgICAgOiBvZnMoZmls
ZVBhdGhJbiwgbW9kZSksIGZpbGVQYXRoKGZpbGVQYXRoSW4pCisgIHB1YmxpYzoKKyAgICAvLyBX
ZSBhbHdheXMgdXNlIGlvczo6YmluYXJ5IHRvIGF2b2lkIGluY29uc2lzdGVudCBsaW5lIGVuZGlu
Z3Mgd2hlbiBjYXB0dXJlZCBvbiBMaW51eCB2cyBXaW4uCisgICAgU2F2ZUZpbGVIZWxwZXIoY29u
c3Qgc3RkOjpzdHJpbmcgJmZpbGVQYXRoSW4pCisgICAgICAgIDogbU9mcyhmaWxlUGF0aEluLCBz
dGQ6Omlvczo6YmluYXJ5IHwgc3RkOjppb3M6Om91dCksIG1GaWxlUGF0aChmaWxlUGF0aEluKQog
ICAgIHsKLSAgICAgICAgaWYgKCFvZnMuaXNfb3BlbigpKQorICAgICAgICBpZiAoIW1PZnMuaXNf
b3BlbigpKQogICAgICAgICB7CiAgICAgICAgICAgICBGQVRBTCgpIDw8ICJDb3VsZCBub3Qgb3Bl
biAiIDw8IGZpbGVQYXRoSW47CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB+U2F2ZUZpbGVIZWxw
ZXIoKSB7IHByaW50ZigiU2F2ZWQgJyVzJy5cbiIsIGZpbGVQYXRoLmNfc3RyKCkpOyB9CisgICAg
flNhdmVGaWxlSGVscGVyKCkgeyBwcmludGYoIlNhdmVkICclcycuXG4iLCBtRmlsZVBhdGguY19z
dHIoKSk7IH0KIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgIFNhdmVGaWxlSGVscGVy
ICZvcGVyYXRvcjw8KGNvbnN0IFQgJnZhbHVlKQogICAgIHsKLSAgICAgICAgb2ZzIDw8IHZhbHVl
OwotICAgICAgICBpZiAob2ZzLmJhZCgpKQorICAgICAgICBtT2ZzIDw8IHZhbHVlOworICAgICAg
ICBpZiAobU9mcy5iYWQoKSkKICAgICAgICAgewotICAgICAgICAgICAgRkFUQUwoKSA8PCAiRXJy
b3Igd3JpdGluZyB0byAiIDw8IGZpbGVQYXRoOworICAgICAgICAgICAgRkFUQUwoKSA8PCAiRXJy
b3Igd3JpdGluZyB0byAiIDw8IG1GaWxlUGF0aDsKICAgICAgICAgfQogICAgICAgICByZXR1cm4g
KnRoaXM7CiAgICAgfQogCi0gICAgc3RkOjpvZnN0cmVhbSBvZnM7Ci0gICAgc3RkOjpzdHJpbmcg
ZmlsZVBhdGg7CisgICAgdm9pZCB3cml0ZShjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3Qgc2l6
ZSkKKyAgICB7CisgICAgICAgIG1PZnMud3JpdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFy
ICo+KGRhdGEpLCBzaXplKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGQ6Om9mc3RyZWFt
IG1PZnM7CisgICAgc3RkOjpzdHJpbmcgbUZpbGVQYXRoOwogfTsKIAotc3RkOjpzdHJpbmcgR2V0
QmluYXJ5RGF0YUZpbGVQYXRoKGJvb2wgY29tcHJlc3Npb24sIGludCBjb250ZXh0SWQsIGNvbnN0
IHN0ZDo6c3RyaW5nICZjYXB0dXJlTGFiZWwpCitzdGQ6OnN0cmluZyBHZXRCaW5hcnlEYXRhRmls
ZVBhdGgoYm9vbCBjb21wcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnbDo6Q29udGV4dElEIGNvbnRleHRJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdGQ6OnN0cmluZyAmY2FwdHVyZUxhYmVsKQogewogICAgIHN0ZDo6c3RyaW5n
c3RyZWFtIGZuYW1lU3RyZWFtOwogICAgIGZuYW1lU3RyZWFtIDw8IEZtdENhcHR1cmVQcmVmaXgo
Y29udGV4dElkLCBjYXB0dXJlTGFiZWwpIDw8ICIuYW5nbGVkYXRhIjsKQEAgLTY1OCwxNCArNjk4
LDE0IEBAIHN0ZDo6c3RyaW5nIEdldEJpbmFyeURhdGFGaWxlUGF0aChib29sIGNvbXByZXNzaW9u
LCBpbnQgY29udGV4dElkLCBjb25zdCBzdGQ6OnN0CiAKIHZvaWQgU2F2ZUJpbmFyeURhdGEoYm9v
bCBjb21wcmVzc2lvbiwKICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJm91
dERpciwKLSAgICAgICAgICAgICAgICAgICAgaW50IGNvbnRleHRJZCwKKyAgICAgICAgICAgICAg
ICAgICAgZ2w6OkNvbnRleHRJRCBjb250ZXh0SWQsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0ZDo6c3RyaW5nICZjYXB0dXJlTGFiZWwsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6dmVjdG9yPHVpbnQ4X3Q+ICZiaW5hcnlEYXRhKQogewogICAgIHN0ZDo6c3RyaW5nIGJpbmFy
eURhdGFGaWxlTmFtZSA9IEdldEJpbmFyeURhdGFGaWxlUGF0aChjb21wcmVzc2lvbiwgY29udGV4
dElkLCBjYXB0dXJlTGFiZWwpOwogICAgIHN0ZDo6c3RyaW5nIGRhdGFGaWxlcGF0aCAgICAgICA9
IG91dERpciArIGJpbmFyeURhdGFGaWxlTmFtZTsKIAotICAgIFNhdmVGaWxlSGVscGVyIHNhdmVE
YXRhKGRhdGFGaWxlcGF0aCwgc3RkOjppb3M6OmJpbmFyeSk7CisgICAgU2F2ZUZpbGVIZWxwZXIg
c2F2ZURhdGEoZGF0YUZpbGVwYXRoKTsKIAogICAgIGlmIChjb21wcmVzc2lvbikKICAgICB7CkBA
IC02ODUsMzAgKzcyNSwxMDEgQEAgdm9pZCBTYXZlQmluYXJ5RGF0YShib29sIGNvbXByZXNzaW9u
LAogICAgICAgICAgICAgRkFUQUwoKSA8PCAiRXJyb3IgY29tcHJlc3NpbmcgYmluYXJ5IGRhdGE6
ICIgPDwgelJlc3VsdDsKICAgICAgICAgfQogCi0gICAgICAgIHNhdmVEYXRhLm9mcy53cml0ZShy
ZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIgKj4oY29tcHJlc3NlZERhdGEuZGF0YSgpKSwgY29t
cHJlc3NlZFNpemUpOworICAgICAgICBzYXZlRGF0YS53cml0ZShjb21wcmVzc2VkRGF0YS5kYXRh
KCksIGNvbXByZXNzZWRTaXplKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAgc2F2
ZURhdGEub2ZzLndyaXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciAqPihiaW5hcnlEYXRh
LmRhdGEoKSksIGJpbmFyeURhdGEuc2l6ZSgpKTsKKyAgICAgICAgc2F2ZURhdGEud3JpdGUoYmlu
YXJ5RGF0YS5kYXRhKCksIGJpbmFyeURhdGEuc2l6ZSgpKTsKICAgICB9CiB9CiAKIHZvaWQgV3Jp
dGVMb2FkQmluYXJ5RGF0YUNhbGwoYm9vbCBjb21wcmVzc2lvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RkOjpvc3RyZWFtICZvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBjb250ZXh0SWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpDb250
ZXh0SUQgY29udGV4dElkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6
OnN0cmluZyAmY2FwdHVyZUxhYmVsKQogewogICAgIHN0ZDo6c3RyaW5nIGJpbmFyeURhdGFGaWxl
TmFtZSA9IEdldEJpbmFyeURhdGFGaWxlUGF0aChjb21wcmVzc2lvbiwgY29udGV4dElkLCBjYXB0
dXJlTGFiZWwpOwogICAgIG91dCA8PCAiICAgIExvYWRCaW5hcnlEYXRhKFwiIiA8PCBiaW5hcnlE
YXRhRmlsZU5hbWUgPDwgIlwiKTtcbiI7CiB9CiAKK3ZvaWQgTWF5YmVSZXNldFJlc291cmNlcyhz
dGQ6OnN0cmluZ3N0cmVhbSAmb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNl
SURUeXBlIHJlc291cmNlSURUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFDb3Vu
dGVycyAqY291bnRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmdzdHJl
YW0gJmhlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRyYWNrZXIgKnJl
c291cmNlVHJhY2tlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx1aW50
OF90PiAqYmluYXJ5RGF0YSkKK3sKKyAgICBzd2l0Y2ggKHJlc291cmNlSURUeXBlKQorICAgIHsK
KyAgICAgICAgY2FzZSBSZXNvdXJjZUlEVHlwZTo6QnVmZmVyOgorICAgICAgICB7CisgICAgICAg
ICAgICBCdWZmZXJTZXQgJm5ld0J1ZmZlcnMgICAgICAgICAgID0gcmVzb3VyY2VUcmFja2VyLT5n
ZXROZXdCdWZmZXJzKCk7CisgICAgICAgICAgICBCdWZmZXJDYWxscyAmYnVmZmVyUmVnZW5DYWxs
cyAgID0gcmVzb3VyY2VUcmFja2VyLT5nZXRCdWZmZXJSZWdlbkNhbGxzKCk7CisgICAgICAgICAg
ICBCdWZmZXJDYWxscyAmYnVmZmVyUmVzdG9yZUNhbGxzID0gcmVzb3VyY2VUcmFja2VyLT5nZXRC
dWZmZXJSZXN0b3JlQ2FsbHMoKTsKKworICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbnkgbmV3
IGJ1ZmZlcnMgZ2VuZXJhdGVkIGFuZCBub3QgZGVsZXRlZCBkdXJpbmcgdGhlIHJ1biwgZGVsZXRl
IHRoZW0gbm93CisgICAgICAgICAgICBpZiAoIW5ld0J1ZmZlcnMuZW1wdHkoKSkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBvdXQgPDwgIiAgICBjb25zdCBHTHVpbnQgZGVsZXRlQnVm
ZmVyc1tdID0geyI7CisgICAgICAgICAgICAgICAgQnVmZmVyU2V0OjppdGVyYXRvciBidWZmZXJJ
dGVyID0gbmV3QnVmZmVycy5iZWdpbigpOworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBidWZmZXJJdGVyICE9IG5ld0J1ZmZlcnMuZW5kKCk7ICsraSwgKytidWZmZXJJdGVyKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwKQorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIiwgIjsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoKGkgJSA0KSA9PSAw
KQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwg
IlxuICAgICAgICAiOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
IG91dCA8PCAiZ0J1ZmZlck1hcFsiIDw8ICgqYnVmZmVySXRlcikudmFsdWUgPDwgIl0iOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBvdXQgPDwgIn07XG4iOworICAgICAgICAg
ICAgICAgIG91dCA8PCAiICAgIGdsRGVsZXRlQnVmZmVycygiIDw8IG5ld0J1ZmZlcnMuc2l6ZSgp
IDw8ICIsIGRlbGV0ZUJ1ZmZlcnMpO1xuIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
Ly8gSWYgYW55IG9mIG91ciBzdGFydGluZyBidWZmZXJzIHdlcmUgZGVsZXRlZCBkdXJpbmcgdGhl
IHJ1biwgcmVjcmVhdGUgdGhlbQorICAgICAgICAgICAgQnVmZmVyU2V0ICZidWZmZXJzVG9SZWdl
biA9IHJlc291cmNlVHJhY2tlci0+Z2V0QnVmZmVyc1RvUmVnZW4oKTsKKyAgICAgICAgICAgIGZv
ciAoY29uc3QgZ2w6OkJ1ZmZlcklEIGlkIDogYnVmZmVyc1RvUmVnZW4pCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgLy8gRW1pdCB0aGVpciByZWdlbiBjYWxscworICAgICAgICAgICAg
ICAgIGZvciAoQ2FsbENhcHR1cmUgJmNhbGwgOiBidWZmZXJSZWdlbkNhbGxzW2lkXSkKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG91dCA8PCAiICAgICI7CisgICAgICAg
ICAgICAgICAgICAgIFdyaXRlQ3BwUmVwbGF5Rm9yQ2FsbChjYWxsLCBjb3VudGVycywgb3V0LCBo
ZWFkZXIsIGJpbmFyeURhdGEpOworICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIjtcbiI7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBJZiBhbnkg
b2Ygb3VyIHN0YXJ0aW5nIGJ1ZmZlcnMgd2VyZSBtb2RpZmllZCBkdXJpbmcgdGhlIHJ1biwgcmVz
dG9yZSB0aGVpciBjb250ZW50cworICAgICAgICAgICAgQnVmZmVyU2V0ICZidWZmZXJzVG9SZXN0
b3JlID0gcmVzb3VyY2VUcmFja2VyLT5nZXRCdWZmZXJzVG9SZXN0b3JlKCk7CisgICAgICAgICAg
ICBmb3IgKGNvbnN0IGdsOjpCdWZmZXJJRCBpZCA6IGJ1ZmZlcnNUb1Jlc3RvcmUpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLy8gRW1pdCB0aGVpciByZXN0b3JlIGNhbGxzCisgICAg
ICAgICAgICAgICAgZm9yIChDYWxsQ2FwdHVyZSAmY2FsbCA6IGJ1ZmZlclJlc3RvcmVDYWxsc1tp
ZF0pCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIiAgICAi
OworICAgICAgICAgICAgICAgICAgICBXcml0ZUNwcFJlcGxheUZvckNhbGwoY2FsbCwgY291bnRl
cnMsIG91dCwgaGVhZGVyLCBiaW5hcnlEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0IDw8
ICI7XG4iOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvLyBUT0RPICho
dHRwOi8vYW5nbGVidWcuY29tLzQ1OTkpOiBSZXNldCBtb3JlIHRoYW4ganVzdCBidWZmZXJzCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKIHZvaWQgV3JpdGVDcHBSZXBsYXkoYm9vbCBj
b21wcmVzc2lvbiwKICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJm91dERp
ciwKLSAgICAgICAgICAgICAgICAgICAgaW50IGNvbnRleHRJZCwKKyAgICAgICAgICAgICAgICAg
ICAgZ2w6OkNvbnRleHRJRCBjb250ZXh0SWQsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6c3RyaW5nICZjYXB0dXJlTGFiZWwsCiAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZy
YW1lSW5kZXgsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZyYW1lRW5kLAogICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxDYWxsQ2FwdHVyZT4gJmZyYW1lQ2FsbHMs
CiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPENhbGxDYXB0dXJlPiAmc2V0
dXBDYWxscywKKyAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUcmFja2VyICpyZXNvdXJjZVRy
YWNrZXIsCiAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+ICpiaW5hcnlE
YXRhKQogewogICAgIERhdGFDb3VudGVycyBjb3VudGVyczsKQEAgLTczMCw3ICs4NDEsNyBAQCB2
b2lkIFdyaXRlQ3BwUmVwbGF5KGJvb2wgY29tcHJlc3Npb24sCiAKICAgICBpZiAoZnJhbWVJbmRl
eCA9PSAwIHx8ICFzZXR1cENhbGxzLmVtcHR5KCkpCiAgICAgewotICAgICAgICBvdXQgPDwgInZv
aWQgU2V0dXBDb250ZXh0IiA8PCBTdHIoY29udGV4dElkKSA8PCAiUmVwbGF5KClcbiI7CisgICAg
ICAgIG91dCA8PCAidm9pZCBTZXR1cENvbnRleHQiIDw8IFN0cihzdGF0aWNfY2FzdDxpbnQ+KGNv
bnRleHRJZCkpIDw8ICJSZXBsYXkoKVxuIjsKICAgICAgICAgb3V0IDw8ICJ7XG4iOwogCiAgICAg
ICAgIHN0ZDo6c3RyaW5nc3RyZWFtIHNldHVwQ2FsbFN0cmVhbTsKQEAgLTc1MCw2ICs4NjEsMjgg
QEAgdm9pZCBXcml0ZUNwcFJlcGxheShib29sIGNvbXByZXNzaW9uLAogICAgICAgICBvdXQgPDwg
IlxuIjsKICAgICB9CiAKKyAgICBpZiAoZnJhbWVJbmRleCA9PSBmcmFtZUVuZCkKKyAgICB7Cisg
ICAgICAgIC8vIEVtaXQgY29kZSB0byByZXNldCBiYWNrIHRvIHN0YXJ0aW5nIHN0YXRlCisgICAg
ICAgIG91dCA8PCAidm9pZCBSZXNldENvbnRleHQiIDw8IFN0cihzdGF0aWNfY2FzdDxpbnQ+KGNv
bnRleHRJZCkpIDw8ICJSZXBsYXkoKVxuIjsKKyAgICAgICAgb3V0IDw8ICJ7XG4iOworCisgICAg
ICAgIHN0ZDo6c3RyaW5nc3RyZWFtIHJlc3RvcmVDYWxsU3RyZWFtOworCisgICAgICAgIC8vIEZv
ciBub3csIHdlIG9ubHkgcmVzZXQgYnVmZmVyIHN0YXRlcworICAgICAgICAvLyBUT0RPIChodHRw
Oi8vYW5nbGVidWcuY29tLzQ1OTkpOiBSZXNldCBtb3JlIHN0YXRlIG9uIGZyYW1lIGxvb3AKKyAg
ICAgICAgZm9yIChSZXNvdXJjZUlEVHlwZSByZXNvdXJjZVR5cGUgOiBBbGxFbnVtczxSZXNvdXJj
ZUlEVHlwZT4oKSkKKyAgICAgICAgeworICAgICAgICAgICAgTWF5YmVSZXNldFJlc291cmNlcyhy
ZXN0b3JlQ2FsbFN0cmVhbSwgcmVzb3VyY2VUeXBlLCAmY291bnRlcnMsIGhlYWRlciwgcmVzb3Vy
Y2VUcmFja2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnlEYXRhKTsK
KyAgICAgICAgfQorCisgICAgICAgIG91dCA8PCByZXN0b3JlQ2FsbFN0cmVhbS5zdHIoKTsKKwor
ICAgICAgICBvdXQgPDwgIn1cbiI7CisgICAgICAgIG91dCA8PCAiXG4iOworICAgIH0KKwogICAg
IG91dCA8PCAidm9pZCAiIDw8IEZtdFJlcGxheUZ1bmN0aW9uKGNvbnRleHRJZCwgZnJhbWVJbmRl
eCkgPDwgIlxuIjsKICAgICBvdXQgPDwgIntcbiI7CiAKQEAgLTc4Niw3ICs5MTksNyBAQCB2b2lk
IFdyaXRlQ3BwUmVwbGF5KGJvb2wgY29tcHJlc3Npb24sCiAKIHZvaWQgV3JpdGVDcHBSZXBsYXlJ
bmRleEZpbGVzKGJvb2wgY29tcHJlc3Npb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdGQ6OnN0cmluZyAmb3V0RGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNvbnRleHRJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpDb250
ZXh0SUQgY29udGV4dElkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Rk
OjpzdHJpbmcgJmNhcHR1cmVMYWJlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IGZyYW1lU3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBmcmFtZUVuZCwKQEAgLTgzNCw4ICs5NjcsMTAgQEAgdm9pZCBXcml0ZUNwcFJlcGxheUluZGV4
RmlsZXMoYm9vbCBjb21wcmVzc2lvbiwKICAgICBoZWFkZXIgPDwgImNvbnN0ZXhwciB1aW50MzJf
dCBrUmVwbGF5RnJhbWVTdGFydCA9ICIgPDwgZnJhbWVTdGFydCA8PCAiO1xuIjsKICAgICBoZWFk
ZXIgPDwgImNvbnN0ZXhwciB1aW50MzJfdCBrUmVwbGF5RnJhbWVFbmQgPSAiIDw8IGZyYW1lRW5k
IDw8ICI7XG4iOwogICAgIGhlYWRlciA8PCAiXG4iOwotICAgIGhlYWRlciA8PCAidm9pZCBTZXR1
cENvbnRleHQiIDw8IGNvbnRleHRJZCA8PCAiUmVwbGF5KCk7XG4iOwotICAgIGhlYWRlciA8PCAi
dm9pZCBSZXBsYXlDb250ZXh0IiA8PCBjb250ZXh0SWQgPDwgIkZyYW1lKHVpbnQzMl90IGZyYW1l
SW5kZXgpO1xuIjsKKyAgICBoZWFkZXIgPDwgInZvaWQgU2V0dXBDb250ZXh0IiA8PCBzdGF0aWNf
Y2FzdDxpbnQ+KGNvbnRleHRJZCkgPDwgIlJlcGxheSgpO1xuIjsKKyAgICBoZWFkZXIgPDwgInZv
aWQgUmVwbGF5Q29udGV4dCIgPDwgc3RhdGljX2Nhc3Q8aW50Pihjb250ZXh0SWQpCisgICAgICAg
ICAgIDw8ICJGcmFtZSh1aW50MzJfdCBmcmFtZUluZGV4KTtcbiI7CisgICAgaGVhZGVyIDw8ICJ2
b2lkIFJlc2V0Q29udGV4dCIgPDwgc3RhdGljX2Nhc3Q8aW50Pihjb250ZXh0SWQpIDw8ICJSZXBs
YXkoKTtcbiI7CiAgICAgaGVhZGVyIDw8ICJcbiI7CiAgICAgaGVhZGVyIDw8ICJ1c2luZyBGcmFt
ZWJ1ZmZlckNoYW5nZUNhbGxiYWNrID0gdm9pZCgqKSh2b2lkICp1c2VyRGF0YSwgR0xlbnVtIHRh
cmdldCwgR0x1aW50ICIKICAgICAgICAgICAgICAgImZyYW1lYnVmZmVyKTtcbiI7CkBAIC04NTks
NyArOTk0LDYgQEAgdm9pZCBXcml0ZUNwcFJlcGxheUluZGV4RmlsZXMoYm9vbCBjb21wcmVzc2lv
biwKICAgICBoZWFkZXIgPDwgIi8vIEdsb2JhbCBzdGF0ZVxuIjsKICAgICBoZWFkZXIgPDwgIlxu
IjsKICAgICBoZWFkZXIgPDwgImV4dGVybiB1aW50OF90ICpnQmluYXJ5RGF0YTtcbiI7Ci0gICAg
aGVhZGVyIDw8ICJleHRlcm4gdm9pZCAqZ01hcHBlZEJ1ZmZlckRhdGE7XG4iOwogCiAgICAgc291
cmNlIDw8ICIjaW5jbHVkZSBcIiIgPDwgRm10Q2FwdHVyZVByZWZpeChjb250ZXh0SWQsIGNhcHR1
cmVMYWJlbCkgPDwgIi5oXCJcbiI7CiAgICAgc291cmNlIDw8ICJcbiI7CkBAIC05MDYsNyArMTA0
MCw2IEBAIHZvaWQgV3JpdGVDcHBSZXBsYXlJbmRleEZpbGVzKGJvb2wgY29tcHJlc3Npb24sCiAg
ICAgc291cmNlIDw8ICJcbiI7CiAKICAgICBzb3VyY2UgPDwgInVpbnQ4X3QgKmdCaW5hcnlEYXRh
ID0gbnVsbHB0cjtcbiI7Ci0gICAgc291cmNlIDw8ICJ2b2lkKiBnTWFwcGVkQnVmZmVyRGF0YSA9
IG51bGxwdHI7XG4iOwogCiAgICAgaWYgKHJlYWRCdWZmZXJTaXplID4gMCkKICAgICB7CkBAIC05
MjgsNiArMTA2MSwxMCBAQCB2b2lkIFdyaXRlQ3BwUmVwbGF5SW5kZXhGaWxlcyhib29sIGNvbXBy
ZXNzaW9uLAogICAgICAgICBzb3VyY2UgPDwgIlJlc291cmNlTWFwIGciIDw8IG5hbWUgPDwgIk1h
cDtcbiI7CiAgICAgfQogCisgICAgaGVhZGVyIDw8ICJ1c2luZyBTeW5jUmVzb3VyY2VNYXAgPSBz
dGQ6OnVub3JkZXJlZF9tYXA8dWludHB0cl90LCBHTHN5bmM+O1xuIjsKKyAgICBoZWFkZXIgPDwg
ImV4dGVybiBTeW5jUmVzb3VyY2VNYXAgZ1N5bmNNYXA7XG4iOworICAgIHNvdXJjZSA8PCAiU3lu
Y1Jlc291cmNlTWFwIGdTeW5jTWFwO1xuIjsKKwogICAgIGhlYWRlciA8PCAiXG4iOwogCiAgICAg
c291cmNlIDw8ICJcbiI7CkBAIC05NDYsMTQgKzEwODMsMTUgQEAgdm9pZCBXcml0ZUNwcFJlcGxh
eUluZGV4RmlsZXMoYm9vbCBjb21wcmVzc2lvbiwKICAgICBzb3VyY2UgPDwgIn1cbiI7CiAKICAg
ICBzb3VyY2UgPDwgIlxuIjsKLSAgICBzb3VyY2UgPDwgInZvaWQgUmVwbGF5Q29udGV4dCIgPDwg
Y29udGV4dElkIDw8ICJGcmFtZSh1aW50MzJfdCBmcmFtZUluZGV4KVxuIjsKKyAgICBzb3VyY2Ug
PDwgInZvaWQgUmVwbGF5Q29udGV4dCIgPDwgc3RhdGljX2Nhc3Q8aW50Pihjb250ZXh0SWQpIDw8
ICJGcmFtZSh1aW50MzJfdCBmcmFtZUluZGV4KVxuIjsKICAgICBzb3VyY2UgPDwgIntcbiI7CiAg
ICAgc291cmNlIDw8ICIgICAgc3dpdGNoIChmcmFtZUluZGV4KVxuIjsKICAgICBzb3VyY2UgPDwg
IiAgICB7XG4iOwogICAgIGZvciAodWludDMyX3QgZnJhbWVJbmRleCA9IGZyYW1lU3RhcnQ7IGZy
YW1lSW5kZXggPCBmcmFtZUVuZDsgKytmcmFtZUluZGV4KQogICAgIHsKICAgICAgICAgc291cmNl
IDw8ICIgICAgICAgIGNhc2UgIiA8PCBmcmFtZUluZGV4IDw8ICI6XG4iOwotICAgICAgICBzb3Vy
Y2UgPDwgIiAgICAgICAgICAgIFJlcGxheUNvbnRleHQiIDw8IGNvbnRleHRJZCA8PCAiRnJhbWUi
IDw8IGZyYW1lSW5kZXggPDwgIigpO1xuIjsKKyAgICAgICAgc291cmNlIDw8ICIgICAgICAgICAg
ICBSZXBsYXlDb250ZXh0IiA8PCBzdGF0aWNfY2FzdDxpbnQ+KGNvbnRleHRJZCkgPDwgIkZyYW1l
IgorICAgICAgICAgICAgICAgPDwgZnJhbWVJbmRleCA8PCAiKCk7XG4iOwogICAgICAgICBzb3Vy
Y2UgPDwgIiAgICAgICAgICAgIGJyZWFrO1xuIjsKICAgICB9CiAgICAgc291cmNlIDw8ICIgICAg
ICAgIGRlZmF1bHQ6XG4iOwpAQCAtMTAyNSwxMiArMTE2MywxNiBAQCB2b2lkIFdyaXRlQ3BwUmVw
bGF5SW5kZXhGaWxlcyhib29sIGNvbXByZXNzaW9uLAogICAgICAgICBzb3VyY2UgPDwgIn1cbiI7
CiAgICAgfQogCi0gICAgaGVhZGVyIDw8ICJ2b2lkIFVwZGF0ZUNsaWVudEJ1ZmZlckRhdGEoY29u
c3Qgdm9pZCAqc291cmNlLCBHTHNpemVpIHNpemUpO1xuIjsKKyAgICAvLyBEYXRhIHR5cGVzIGFu
ZCBmdW5jdGlvbnMgZm9yIHRyYWNraW5nIGNvbnRlbnRzIG9mIG1hcHBlZCBidWZmZXJzCisgICAg
aGVhZGVyIDw8ICJ1c2luZyBCdWZmZXJIYW5kbGVNYXAgPSBzdGQ6OnVub3JkZXJlZF9tYXA8R0x1
aW50LCB2b2lkKj47XG4iOworICAgIGhlYWRlciA8PCAiZXh0ZXJuIEJ1ZmZlckhhbmRsZU1hcCBn
TWFwcGVkQnVmZmVyRGF0YTtcbiI7CisgICAgaGVhZGVyIDw8ICJ2b2lkIFVwZGF0ZUNsaWVudEJ1
ZmZlckRhdGEoR0x1aW50IGJ1ZmZlcklELCBjb25zdCB2b2lkICpzb3VyY2UsIEdMc2l6ZWkgc2l6
ZSk7XG4iOworICAgIHNvdXJjZSA8PCAiQnVmZmVySGFuZGxlTWFwIGdNYXBwZWRCdWZmZXJEYXRh
O1xuIjsKICAgICBzb3VyY2UgPDwgIlxuIjsKLSAgICBzb3VyY2UgPDwgInZvaWQgVXBkYXRlQ2xp
ZW50QnVmZmVyRGF0YShjb25zdCB2b2lkICpzb3VyY2UsIEdMc2l6ZWkgc2l6ZSkiOworICAgIHNv
dXJjZSA8PCAidm9pZCBVcGRhdGVDbGllbnRCdWZmZXJEYXRhKEdMdWludCBidWZmZXJJRCwgY29u
c3Qgdm9pZCAqc291cmNlLCBHTHNpemVpIHNpemUpIjsKICAgICBzb3VyY2UgPDwgIlxuIjsKICAg
ICBzb3VyY2UgPDwgIntcbiI7Ci0gICAgc291cmNlIDw8ICIgICAgbWVtY3B5KGdNYXBwZWRCdWZm
ZXJEYXRhLCBzb3VyY2UsIHNpemUpO1xuIjsKKyAgICBzb3VyY2UgPDwgIiAgICBtZW1jcHkoZ01h
cHBlZEJ1ZmZlckRhdGFbZ0J1ZmZlck1hcFtidWZmZXJJRF1dLCBzb3VyY2UsIHNpemUpO1xuIjsK
ICAgICBzb3VyY2UgPDwgIn1cbiI7CiAKICAgICBmb3IgKFJlc291cmNlSURUeXBlIHJlc291cmNl
VHlwZSA6IEFsbEVudW1zPFJlc291cmNlSURUeXBlPigpKQpAQCAtMTM1OCw2ICsxNTAwLDE4NSBA
QCB2b2lkIENhcHR1cmVGcmFtZWJ1ZmZlckF0dGFjaG1lbnQoc3RkOjp2ZWN0b3I8Q2FsbENhcHR1
cmU+ICpzZXR1cENhbGxzLAogICAgIH0KIH0KIAordm9pZCBDYXB0dXJlVXBkYXRlVW5pZm9ybVZh
bHVlcyhjb25zdCBnbDo6U3RhdGUgJnJlcGxheVN0YXRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dyYW0gKnByb2dyYW0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPENhbGxDYXB0dXJlPiAqY2FsbHNPdXQpCit7
CisgICAgaWYgKCFwcm9ncmFtLT5pc0xpbmtlZCgpKQorICAgIHsKKyAgICAgICAgLy8gV2UgY2Fu
J3QgcG9wdWxhdGUgdW5pZm9ybXMgaWYgdGhlIHByb2dyYW0gaGFzbid0IGJlZW4gbGlua2VkCisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBXZSBuZWVkIHRvIGJpbmQgdGhlIHByb2dy
YW0gYW5kIHVwZGF0ZSBpdHMgdW5pZm9ybXMKKyAgICAvLyBUT0RPIChodHRwOi8vYW5nbGVidWcu
Y29tLzM2NjIpOiBPbmx5IGJpbmQgaWYgZGlmZmVyZW50IGZyb20gY3VycmVudGx5IGJvdW5kCisg
ICAgQ2FwdHVyZShjYWxsc091dCwgQ2FwdHVyZVVzZVByb2dyYW0ocmVwbGF5U3RhdGUsIHRydWUs
IHByb2dyYW0tPmlkKCkpKTsKKyAgICBDYXB0dXJlVXBkYXRlQ3VycmVudFByb2dyYW0oY2FsbHNP
dXQtPmJhY2soKSwgY2FsbHNPdXQpOworCisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Z2w6Okxpbmtl
ZFVuaWZvcm0+ICZ1bmlmb3JtcyA9IHByb2dyYW0tPmdldFN0YXRlKCkuZ2V0VW5pZm9ybXMoKTsK
KworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdW5pZm9ybXMuc2l6ZSgpOyBpKyspCisgICAg
eworICAgICAgICBjb25zdCBnbDo6TGlua2VkVW5pZm9ybSAmdW5pZm9ybSA9IHVuaWZvcm1zW2ld
OworICAgICAgICBzdGQ6OnN0cmluZyB1bmlmb3JtTmFtZSAgICAgICAgICA9IHVuaWZvcm0ubmFt
ZTsKKworICAgICAgICBpbnQgdW5pZm9ybUNvdW50ID0gMTsKKyAgICAgICAgaWYgKHVuaWZvcm0u
aXNBcnJheSgpKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAodW5pZm9ybS5pc0FycmF5T2ZB
cnJheXMoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBVTklNUExFTUVOVEVEKCk7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IHVuaWZvcm1Db3VudCA9IHVuaWZvcm0uYXJyYXlTaXplc1swXTsKKyAgICAgICAgICAgIHVuaWZv
cm1OYW1lICA9IGdsOjpTdHJpcExhc3RBcnJheUluZGV4KHVuaWZvcm1OYW1lKTsKKyAgICAgICAg
fQorCisgICAgICAgIGdsOjpVbmlmb3JtTG9jYXRpb24gdW5pZm9ybUxvYyAgICAgID0gcHJvZ3Jh
bS0+Z2V0VW5pZm9ybUxvY2F0aW9uKHVuaWZvcm1OYW1lKTsKKyAgICAgICAgY29uc3QgZ2w6OlVu
aWZvcm1UeXBlSW5mbyAqdHlwZUluZm8gPSB1bmlmb3JtLnR5cGVJbmZvOworICAgICAgICBpbnQg
dW5pZm9ybVNpemUgICAgICAgICAgICAgICAgICAgICA9IHVuaWZvcm1Db3VudCAqIHR5cGVJbmZv
LT5jb21wb25lbnRDb3VudDsKKworICAgICAgICBzd2l0Y2ggKHR5cGVJbmZvLT5jb21wb25lbnRU
eXBlKQorICAgICAgICB7CisgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUOgorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEdMZmxvYXQ+IHVuaWZvcm1CdWZmZXIodW5p
Zm9ybVNpemUpOworICAgICAgICAgICAgICAgIHByb2dyYW0tPmdldFVuaWZvcm1mdihjb250ZXh0
LCB1bmlmb3JtTG9jLCB1bmlmb3JtQnVmZmVyLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgc3dp
dGNoICh0eXBlSW5mby0+dHlwZSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIC8vIE5vdGU6IEFsbCBtYXRyaXggdW5pZm9ybXMgYXJlIHBvcHVsYXRlZCB3aXRob3V0IHRy
YW5zcG9zZQorICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUX01BVDR4MzoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIENhcHR1cmUoY2FsbHNPdXQsIENhcHR1cmVVbmlmb3JtTWF0cml4
NHgzZnYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1D
b3VudCwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9GTE9B
VF9NQVQ0eDI6CisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0LCBDYXB0
dXJlVW5pZm9ybU1hdHJpeDR4MmZ2KHJlcGxheVN0YXRlLCB0cnVlLCB1bmlmb3JtTG9jLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlmb3JtQ291bnQsIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlmb3JtQnVmZmVyLmRh
dGEoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIGNhc2UgR0xfRkxPQVRfTUFUNDoKKyAgICAgICAgICAgICAgICAgICAgICAgIENhcHR1cmUo
Y2FsbHNPdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhcHR1cmVVbmlmb3Jt
TWF0cml4NGZ2KHJlcGxheVN0YXRlLCB0cnVlLCB1bmlmb3JtTG9jLCB1bmlmb3JtQ291bnQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh
bHNlLCB1bmlmb3JtQnVmZmVyLmRhdGEoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfRkxPQVRfTUFUM3g0OgorICAgICAgICAg
ICAgICAgICAgICAgICAgQ2FwdHVyZShjYWxsc091dCwgQ2FwdHVyZVVuaWZvcm1NYXRyaXgzeDRm
dihyZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pZm9ybUNvdW50
LCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUX01B
VDN4MjoKKyAgICAgICAgICAgICAgICAgICAgICAgIENhcHR1cmUoY2FsbHNPdXQsIENhcHR1cmVV
bmlmb3JtTWF0cml4M3gyZnYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuaWZvcm1Db3VudCwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1CdWZmZXIuZGF0YSgp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
Y2FzZSBHTF9GTE9BVF9NQVQzOgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZShjYWxs
c091dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZVVuaWZvcm1NYXRy
aXgzZnYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsIHVuaWZvcm1Db3VudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2Us
IHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9GTE9BVF9NQVQyeDQ6CisgICAgICAgICAgICAg
ICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0LCBDYXB0dXJlVW5pZm9ybU1hdHJpeDJ4NGZ2KHJl
cGxheVN0YXRlLCB0cnVlLCB1bmlmb3JtTG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlmb3JtQ291bnQsIGZh
bHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bmlmb3JtQnVmZmVyLmRhdGEoKSkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfRkxPQVRfTUFUMngz
OgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZShjYWxsc091dCwgQ2FwdHVyZVVuaWZv
cm1NYXRyaXgyeDNmdihyZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pZm9ybUNvdW50LCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNl
IEdMX0ZMT0FUX01BVDI6CisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlVW5pZm9ybU1hdHJpeDJm
dihyZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywgdW5pZm9ybUNvdW50LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgdW5p
Zm9ybUJ1ZmZlci5kYXRhKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUX1ZFQzQ6CisgICAgICAgICAgICAgICAgICAg
ICAgICBDYXB0dXJlKGNhbGxzT3V0LCBDYXB0dXJlVW5pZm9ybTRmdihyZXBsYXlTdGF0ZSwgdHJ1
ZSwgdW5pZm9ybUxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuaWZvcm1Db3VudCwgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNl
IEdMX0ZMT0FUX1ZFQzM6CisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0
LCBDYXB0dXJlVW5pZm9ybTNmdihyZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aWZvcm1Db3VudCwgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUX1ZFQzI6CisgICAg
ICAgICAgICAgICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0LCBDYXB0dXJlVW5pZm9ybTJmdihy
ZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1Db3VudCwgdW5pZm9ybUJ1
ZmZlci5kYXRhKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICBjYXNlIEdMX0ZMT0FUOgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVy
ZShjYWxsc091dCwgQ2FwdHVyZVVuaWZvcm0xZnYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1M
b2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlmb3JtQ291bnQsIHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgR0xfSU5UOgorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEdMaW50PiB1bmlmb3JtQnVmZmVyKHVuaWZvcm1TaXpl
KTsKKyAgICAgICAgICAgICAgICBwcm9ncmFtLT5nZXRVbmlmb3JtaXYoY29udGV4dCwgdW5pZm9y
bUxvYywgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpOworICAgICAgICAgICAgICAgIHN3aXRjaCAodHlw
ZUluZm8tPmNvbXBvbmVudENvdW50KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgY2FzZSA0OgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZShjYWxsc091dCwg
Q2FwdHVyZVVuaWZvcm00aXYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlm
b3JtQ291bnQsIHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgICAg
ICAgICAgQ2FwdHVyZShjYWxsc091dCwgQ2FwdHVyZVVuaWZvcm0zaXYocmVwbGF5U3RhdGUsIHRy
dWUsIHVuaWZvcm1Mb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bmlmb3JtQ291bnQsIHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSAyOgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZShjYWxsc091dCwgQ2FwdHVyZVVu
aWZvcm0yaXYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlmb3JtQ291bnQs
IHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgQ2Fw
dHVyZShjYWxsc091dCwgQ2FwdHVyZVVuaWZvcm0xaXYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZv
cm1Mb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bmlmb3JtQ291bnQsIHVuaWZvcm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UOgorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEdMdWludD4gdW5pZm9ybUJ1ZmZl
cih1bmlmb3JtU2l6ZSk7CisgICAgICAgICAgICAgICAgcHJvZ3JhbS0+Z2V0VW5pZm9ybXVpdihj
b250ZXh0LCB1bmlmb3JtTG9jLCB1bmlmb3JtQnVmZmVyLmRhdGEoKSk7CisgICAgICAgICAgICAg
ICAgc3dpdGNoICh0eXBlSW5mby0+Y29tcG9uZW50Q291bnQpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0
dXJlKGNhbGxzT3V0LCBDYXB0dXJlVW5pZm9ybTR1aXYocmVwbGF5U3RhdGUsIHRydWUsIHVuaWZv
cm1Mb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5pZm9ybUNvdW50LCB1bmlmb3JtQnVmZmVyLmRhdGEoKSkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENhcHR1cmUoY2FsbHNPdXQsIENhcHR1cmVVbmlmb3JtM3Vp
dihyZXBsYXlTdGF0ZSwgdHJ1ZSwgdW5pZm9ybUxvYywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlmb3JtQ291bnQsIHVuaWZv
cm1CdWZmZXIuZGF0YSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZShj
YWxsc091dCwgQ2FwdHVyZVVuaWZvcm0ydWl2KHJlcGxheVN0YXRlLCB0cnVlLCB1bmlmb3JtTG9j
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaWZvcm1Db3VudCwgdW5pZm9ybUJ1ZmZlci5kYXRhKCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIDE6CisgICAgICAg
ICAgICAgICAgICAgICAgICBDYXB0dXJlKGNhbGxzT3V0LCBDYXB0dXJlVW5pZm9ybTF1aXYocmVw
bGF5U3RhdGUsIHRydWUsIHVuaWZvcm1Mb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pZm9ybUNvdW50LCB1bmlmb3JtQnVm
ZmVyLmRhdGEoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBVTklNUExFTUVOVEVE
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBDYXB0dXJlVmVydGV4QXJyYXlEYXRhKHN0
ZDo6dmVjdG9yPENhbGxDYXB0dXJlPiAqc2V0dXBDYWxscywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6VmVydGV4QXJyYXkgKnZlcnRleEFycmF5LApAQCAtMTQwNiwxNiAr
MTcyNywxNzMgQEAgdm9pZCBDYXB0dXJlVmVydGV4QXJyYXlEYXRhKHN0ZDo6dmVjdG9yPENhbGxD
YXB0dXJlPiAqc2V0dXBDYWxscywKICAgICB9CiB9CiAKK3ZvaWQgQ2FwdHVyZVRleHR1cmVTdG9y
YWdlKHN0ZDo6dmVjdG9yPENhbGxDYXB0dXJlPiAqc2V0dXBDYWxscywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdsOjpTdGF0ZSAqcmVwbGF5U3RhdGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6VGV4dHVyZSAqdGV4dHVyZSkKK3sKKyAgICAvLyBVc2UgbWlwLWxl
dmVsIDAgZm9yIHRoZSBiYXNlIGRpbWVuc2lvbnMKKyAgICBnbDo6SW1hZ2VJbmRleCBpbWFnZUlu
ZGV4ID0gZ2w6OkltYWdlSW5kZXg6Ok1ha2VGcm9tVHlwZSh0ZXh0dXJlLT5nZXRUeXBlKCksIDAp
OworICAgIGNvbnN0IGdsOjpJbWFnZURlc2MgJmRlc2MgPSB0ZXh0dXJlLT5nZXRUZXh0dXJlU3Rh
dGUoKS5nZXRJbWFnZURlc2MoaW1hZ2VJbmRleCk7CisKKyAgICBzd2l0Y2ggKHRleHR1cmUtPmdl
dFR5cGUoKSkKKyAgICB7CisgICAgICAgIGNhc2UgZ2w6OlRleHR1cmVUeXBlOjpfMkQ6CisgICAg
ICAgIGNhc2UgZ2w6OlRleHR1cmVUeXBlOjpDdWJlTWFwOgorICAgICAgICB7CisgICAgICAgICAg
ICBDYXB0dXJlKHNldHVwQ2FsbHMsIENhcHR1cmVUZXhTdG9yYWdlMkQoKnJlcGxheVN0YXRlLCB0
cnVlLCB0ZXh0dXJlLT5nZXRUeXBlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZS0+Z2V0SW1tdXRhYmxlTGV2ZWxzKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYy5mb3Jt
YXQuaW5mby0+aW50ZXJuYWxGb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzYy5zaXplLndpZHRoLCBkZXNjLnNpemUuaGVpZ2h0KSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIGdsOjpUZXh0dXJl
VHlwZTo6XzNEOgorICAgICAgICBjYXNlIGdsOjpUZXh0dXJlVHlwZTo6XzJEQXJyYXk6CisgICAg
ICAgIHsKKyAgICAgICAgICAgIENhcHR1cmUoc2V0dXBDYWxscywgQ2FwdHVyZVRleFN0b3JhZ2Uz
RCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyZXBsYXlTdGF0ZSwgdHJ1
ZSwgdGV4dHVyZS0+Z2V0VHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGV4dHVyZS0+Z2V0SW1tdXRhYmxlTGV2ZWxzKCksIGRlc2MuZm9ybWF0LmluZm8tPmludGVy
bmFsRm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYy5zaXpl
LndpZHRoLCBkZXNjLnNpemUuaGVpZ2h0LCBkZXNjLnNpemUuZGVwdGgpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBVTklNUExF
TUVOVEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3ZvaWQgQ2FwdHVyZVRl
eHR1cmVDb250ZW50cyhzdGQ6OnZlY3RvcjxDYWxsQ2FwdHVyZT4gKnNldHVwQ2FsbHMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlN0YXRlICpyZXBsYXlTdGF0ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6VGV4dHVyZSAqdGV4dHVyZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlRGVzYyAmZGVzYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHVpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB2b2lkICpkYXRhKQoreworICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAm
Zm9ybWF0ID0gKmRlc2MuZm9ybWF0LmluZm87CisKKyAgICBib29sIGlzM0QgPQorICAgICAgICAo
aW5kZXguZ2V0VHlwZSgpID09IGdsOjpUZXh0dXJlVHlwZTo6XzNEIHx8IGluZGV4LmdldFR5cGUo
KSA9PSBnbDo6VGV4dHVyZVR5cGU6Ol8yREFycmF5KTsKKworICAgIGlmIChmb3JtYXQuY29tcHJl
c3NlZCkKKyAgICB7CisgICAgICAgIGlmIChpczNEKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAodGV4dHVyZS0+Z2V0SW1tdXRhYmxlRm9ybWF0KCkpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgQ2FwdHVyZShzZXR1cENhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgQ2Fw
dHVyZUNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICpyZXBsYXlTdGF0ZSwgdHJ1ZSwgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4LmdldExldmVsSW5k
ZXgoKSwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUud2lk
dGgsIGRlc2Muc2l6ZS5oZWlnaHQsIGRlc2Muc2l6ZS5kZXB0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmb3JtYXQuaW50ZXJuYWxGb3JtYXQsIHNpemUsIGRhdGEpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBD
YXB0dXJlKHNldHVwQ2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlQ29tcHJl
c3NlZFRleEltYWdlM0QoKnJlcGxheVN0YXRlLCB0cnVlLCBpbmRleC5nZXRUYXJnZXQoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleC5n
ZXRMZXZlbEluZGV4KCksIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUud2lkdGgsIGRlc2Mu
c2l6ZS5oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGVzYy5zaXplLmRlcHRoLCAwLCBzaXplLCBkYXRhKSk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAodGV4
dHVyZS0+Z2V0SW1tdXRhYmxlRm9ybWF0KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgQ2FwdHVyZShzZXR1cENhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZUNv
bXByZXNzZWRUZXhTdWJJbWFnZTJEKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyZXBs
YXlTdGF0ZSwgdHJ1ZSwgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4LmdldExldmVsSW5kZXgoKSwg
MCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUud2lkdGgsIGRlc2Mu
c2l6ZS5oZWlnaHQsIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwgc2l6ZSwgZGF0YSkpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IENhcHR1cmUoc2V0dXBDYWxscywgQ2FwdHVyZUNvbXByZXNzZWRUZXhJbWFnZTJEKAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyZXBsYXlTdGF0ZSwgdHJ1ZSwgaW5k
ZXguZ2V0VGFyZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZXguZ2V0TGV2ZWxJbmRleCgpLCBmb3JtYXQuaW50ZXJuYWxGb3JtYXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYy5zaXplLndpZHRoLCBkZXNjLnNpemUu
aGVpZ2h0LCAwLCBzaXplLCBkYXRhKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKGlzM0QpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmICh0ZXh0dXJlLT5nZXRJbW11dGFibGVGb3JtYXQoKSkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBDYXB0dXJlKHNldHVwQ2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICBDYXB0dXJlVGV4U3ViSW1hZ2UzRCgqcmVwbGF5U3RhdGUsIHRydWUsIGluZGV4LmdldFRhcmdl
dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgu
Z2V0TGV2ZWxJbmRleCgpLCAwLCAwLCAwLCBkZXNjLnNpemUud2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUuaGVpZ2h0LCBkZXNjLnNp
emUuZGVwdGgsIGZvcm1hdC5mb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb3JtYXQudHlwZSwgZGF0YSkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIENhcHR1cmUoCisgICAg
ICAgICAgICAgICAgICAgIHNldHVwQ2FsbHMsCisgICAgICAgICAgICAgICAgICAgIENhcHR1cmVU
ZXhJbWFnZTNEKCpyZXBsYXlTdGF0ZSwgdHJ1ZSwgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4Lmdl
dExldmVsSW5kZXgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y
bWF0LmludGVybmFsRm9ybWF0LCBkZXNjLnNpemUud2lkdGgsIGRlc2Muc2l6ZS5oZWlnaHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2Muc2l6ZS5kZXB0aCwgMCwg
Zm9ybWF0LmZvcm1hdCwgZm9ybWF0LnR5cGUsIGRhdGEpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh0ZXh0dXJlLT5n
ZXRJbW11dGFibGVGb3JtYXQoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBDYXB0
dXJlKHNldHVwQ2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAgICBDYXB0dXJlVGV4U3ViSW1h
Z2UyRCgqcmVwbGF5U3RhdGUsIHRydWUsIGluZGV4LmdldFRhcmdldCgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXguZ2V0TGV2ZWxJbmRleCgpLCAw
LCAwLCBkZXNjLnNpemUud2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZXNjLnNpemUuaGVpZ2h0LCBmb3JtYXQuZm9ybWF0LCBmb3JtYXQudHlwZSwg
ZGF0YSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIENhcHR1cmUoc2V0dXBDYWxscywgQ2FwdHVyZVRleEltYWdlMkQoKnJl
cGxheVN0YXRlLCB0cnVlLCBpbmRleC5nZXRUYXJnZXQoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LmdldExldmVsSW5kZXgoKSwg
Zm9ybWF0LmludGVybmFsRm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzYy5zaXplLndpZHRoLCBkZXNjLnNpemUuaGVpZ2h0LCAw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Zm9ybWF0LmZvcm1hdCwgZm9ybWF0LnR5cGUsIGRhdGEpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KK30KKworLy8gVE9ETyhodHRwOi8vYW5nbGVidWcuY29tLzQ1OTkpOiBJbXBy
b3ZlIHJlc2V0L3Jlc3RvcmUgY2FsbCBnZW5lcmF0aW9uCisvLyBUaGVyZSBhcmUgbXVsdGlwbGUg
d2F5cyB0byB0cmFjayByZXNldCBjYWxscyBmb3IgaW5kaXZpZHVhbCByZXNvdXJjZXMuIEZvciBu
b3csIHdlIGFyZSB0cmFja2luZworLy8gc2VwYXJhdGUgbGlzdHMgb2YgaW5zdHJ1Y3Rpb25zIHRo
YXQgbWlycm9yIHRoZSBjYWxscyBjcmVhdGVkIGR1cmluZyBtaWQtZXhlY3V0aW9uIHNldHVwLiBP
dGhlcgorLy8gbWV0aG9kcyBjb3VsZCBpbnZvbHZlIHBhc3NpbmcgdGhlIG9yaWdpbmFsIENhbGxD
YXB0dXJlcyB0byB0aGlzIGZ1bmN0aW9uLCBvciB0cmFja2luZyB0aGUKKy8vIGluZGljZXMgb2Yg
b3JpZ2luYWwgc2V0dXAgY2FsbHMuCit2b2lkIENhcHR1cmVCdWZmZXJSZXNldENhbGxzKGNvbnN0
IGdsOjpTdGF0ZSAmcmVwbGF5U3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl
c291cmNlVHJhY2tlciAqcmVzb3VyY2VUcmFja2VyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbDo6QnVmZmVySUQgKmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6QnVmZmVyICpidWZmZXIpCit7CisgICAgLy8gVHJhY2sgdGhpcyBhcyBhIHN0YXJ0aW5n
IHJlc291cmNlIHRoYXQgbWF5IG5lZWQgdG8gYmUgcmVzdG9yZWQuCisgICAgQnVmZmVyU2V0ICZz
dGFydGluZ0J1ZmZlcnMgPSByZXNvdXJjZVRyYWNrZXItPmdldFN0YXJ0aW5nQnVmZmVycygpOwor
ICAgIHN0YXJ0aW5nQnVmZmVycy5pbnNlcnQoKmlkKTsKKworICAgIC8vIFRyYWNrIGNhbGxzIHRv
IHJlZ2VuZXJhdGUgYSBnaXZlbiBidWZmZXIKKyAgICBCdWZmZXJDYWxscyAmYnVmZmVyUmVnZW5D
YWxscyA9IHJlc291cmNlVHJhY2tlci0+Z2V0QnVmZmVyUmVnZW5DYWxscygpOworICAgIENhcHR1
cmUoJmJ1ZmZlclJlZ2VuQ2FsbHNbKmlkXSwgQ2FwdHVyZURlbGV0ZUJ1ZmZlcnMocmVwbGF5U3Rh
dGUsIHRydWUsIDEsIGlkKSk7CisgICAgQ2FwdHVyZSgmYnVmZmVyUmVnZW5DYWxsc1sqaWRdLCBD
YXB0dXJlR2VuQnVmZmVycyhyZXBsYXlTdGF0ZSwgdHJ1ZSwgMSwgaWQpKTsKKyAgICBNYXliZUNh
cHR1cmVVcGRhdGVSZXNvdXJjZUlEcygmYnVmZmVyUmVnZW5DYWxsc1sqaWRdKTsKKworICAgIC8v
IFRyYWNrIGNhbGxzIHRvIHJlc3RvcmUgYSBnaXZlbiBidWZmZXIncyBjb250ZW50cworICAgIEJ1
ZmZlckNhbGxzICZidWZmZXJSZXN0b3JlQ2FsbHMgPSByZXNvdXJjZVRyYWNrZXItPmdldEJ1ZmZl
clJlc3RvcmVDYWxscygpOworICAgIENhcHR1cmUoJmJ1ZmZlclJlc3RvcmVDYWxsc1sqaWRdLAor
ICAgICAgICAgICAgQ2FwdHVyZUJpbmRCdWZmZXIocmVwbGF5U3RhdGUsIHRydWUsIGdsOjpCdWZm
ZXJCaW5kaW5nOjpBcnJheSwgKmlkKSk7CisgICAgQ2FwdHVyZSgmYnVmZmVyUmVzdG9yZUNhbGxz
WyppZF0sCisgICAgICAgICAgICBDYXB0dXJlQnVmZmVyRGF0YShyZXBsYXlTdGF0ZSwgdHJ1ZSwg
Z2w6OkJ1ZmZlckJpbmRpbmc6OkFycmF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8R0xzaXplaXB0cj4oYnVmZmVyLT5nZXRTaXplKCkpLCBidWZmZXItPmdldE1h
cFBvaW50ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci0+Z2V0VXNh
Z2UoKSkpOworfQorCiB2b2lkIENhcHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9y
PENhbGxDYXB0dXJlPiAqc2V0dXBDYWxscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJlc291cmNlVHJhY2tlciAqcmVzb3VyY2VUcmFja2VyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgU2hhZGVyU291cmNlTWFwICZjYWNoZWRTaGFkZXJTb3VyY2VzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbVNvdXJjZU1hcCAmY2FjaGVk
UHJvZ3JhbVNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0
dXJlTGV2ZWxEYXRhTWFwICZjYWNoZWRUZXh0dXJlTGV2ZWxEYXRhKQogewogICAgIGNvbnN0IGds
OjpTdGF0ZSAmYXBpU3RhdGUgPSBjb250ZXh0LT5nZXRTdGF0ZSgpOwotICAgIGdsOjpTdGF0ZSBy
ZXBsYXlTdGF0ZSgwLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBFR0xfT1BFTkdMX0VTX0FQ
SSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpU3RhdGUuZ2V0Q2xpZW50VmVyc2lvbigp
LCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIEVHTF9DT05URVhUX1BSSU9SSVRZX01FRElVTV9JTUcpOworICAgIGdsOjpTdGF0ZSByZXBs
YXlTdGF0ZShudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBFR0xfT1BFTkdMX0VTX0FQSSwgYXBp
U3RhdGUuZ2V0Q2xpZW50VmVyc2lvbigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxz
ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIEVHTF9DT05URVhUX1BSSU9SSVRZX01FRElVTV9J
TUcpOwogCiAgICAgLy8gU21hbGwgaGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgdGhlIGNvZGUgbW9y
ZSByZWFkYWJsZS4KICAgICBhdXRvIGNhcCA9IFtzZXR1cENhbGxzXShDYWxsQ2FwdHVyZSAmJmNh
bGwpIHsgc2V0dXBDYWxscy0+ZW1wbGFjZV9iYWNrKHN0ZDo6bW92ZShjYWxsKSk7IH07CkBAIC0x
NDYyLDYgKzE5NDAsOSBAQCB2b2lkIENhcHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19j
YXN0PEdMc2l6ZWlwdHI+KGJ1ZmZlci0+Z2V0U2l6ZSgpKSwgYnVmZmVyLT5nZXRNYXBQb2ludGVy
KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXItPmdldFVzYWdlKCkpKTsK
IAorICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgY2FsbHMgbmVlZGVkIHRvIHJlc3RvcmUgdGhpcyBi
dWZmZXIgdG8gb3JpZ2luYWwgc3RhdGUgZm9yIGZyYW1lIGxvb3BpbmcKKyAgICAgICAgQ2FwdHVy
ZUJ1ZmZlclJlc2V0Q2FsbHMocmVwbGF5U3RhdGUsIHJlc291cmNlVHJhY2tlciwgJmlkLCBidWZm
ZXIpOworCiAgICAgICAgIEdMYm9vbGVhbiBkb250Q2FyZTsKICAgICAgICAgKHZvaWQpYnVmZmVy
LT51bm1hcChjb250ZXh0LCAmZG9udENhcmUpOwogICAgIH0KQEAgLTE1NDcsOCArMjAyOCw4IEBA
IHZvaWQgQ2FwdHVyZU1pZEV4ZWN1dGlvblNldHVwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogCiAgICAgZm9yIChjb25zdCBhdXRvICZ0ZXh0dXJlSXRlciA6IHRleHR1cmVzKQogICAgIHsK
LSAgICAgICAgZ2w6OlRleHR1cmVJRCBpZCAgICAgICAgICAgPSB7dGV4dHVyZUl0ZXIuZmlyc3R9
OwotICAgICAgICBjb25zdCBnbDo6VGV4dHVyZSAqdGV4dHVyZSA9IHRleHR1cmVJdGVyLnNlY29u
ZDsKKyAgICAgICAgZ2w6OlRleHR1cmVJRCBpZCAgICAgPSB7dGV4dHVyZUl0ZXIuZmlyc3R9Owor
ICAgICAgICBnbDo6VGV4dHVyZSAqdGV4dHVyZSA9IHRleHR1cmVJdGVyLnNlY29uZDsKIAogICAg
ICAgICBpZiAoaWQudmFsdWUgPT0gMCkKICAgICAgICAgewpAQCAtMTYyMiw3ICsyMTAzLDYgQEAg
dm9pZCBDYXB0dXJlTWlkRXhlY3V0aW9uU2V0dXAoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgIH0KIAogICAgICAgICAvLyBUZXh0dXJlIHBhcmFtZXRlcnMKLSAgICAgICAgLy8g
VE9ETzogQWRkIGltbXV0YWJsZSBhbmQgYmFzZS9tYXggd2hlbiBUZXhTdG9yYWdlIGlzIGhhbmRs
ZWQgKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzY2MikKICAgICAgICAgaWYgKHRleHR1cmUtPmdldFN3
aXp6bGVSZWQoKSAhPSBHTF9SRUQpCiAgICAgICAgIHsKICAgICAgICAgICAgIGNhcFRleFBhcmFt
KEdMX1RFWFRVUkVfU1dJWlpMRV9SLCB0ZXh0dXJlLT5nZXRTd2l6emxlUmVkKCkpOwpAQCAtMTY0
Myw2ICsyMTIzLDIyIEBAIHZvaWQgQ2FwdHVyZU1pZEV4ZWN1dGlvblNldHVwKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgY2FwVGV4UGFyYW0oR0xfVEVYVFVSRV9TV0la
WkxFX0EsIHRleHR1cmUtPmdldFN3aXp6bGVBbHBoYSgpKTsKICAgICAgICAgfQogCisgICAgICAg
IGlmICh0ZXh0dXJlLT5nZXRCYXNlTGV2ZWwoKSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAg
ICBjYXBUZXhQYXJhbShHTF9URVhUVVJFX0JBU0VfTEVWRUwsIHRleHR1cmUtPmdldEJhc2VMZXZl
bCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0ZXh0dXJlLT5nZXRNYXhMZXZlbCgpICE9
IDEwMDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGNhcFRleFBhcmFtKEdMX1RFWFRVUkVfTUFY
X0xFVkVMLCB0ZXh0dXJlLT5nZXRNYXhMZXZlbCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8v
IElmIHRoZSB0ZXh0dXJlIGlzIGltbXV0YWJsZSwgaW5pdGlhbGl6ZSBpdCB3aXRoIFRleFN0b3Jh
Z2UKKyAgICAgICAgaWYgKHRleHR1cmUtPmdldEltbXV0YWJsZUZvcm1hdCgpKQorICAgICAgICB7
CisgICAgICAgICAgICBDYXB0dXJlVGV4dHVyZVN0b3JhZ2Uoc2V0dXBDYWxscywgJnJlcGxheVN0
YXRlLCB0ZXh0dXJlKTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIEl0ZXJhdGUgdGV4dHVyZSBs
ZXZlbHMgYW5kIGxheWVycy4KICAgICAgICAgZ2w6OkltYWdlSW5kZXhJdGVyYXRvciBpbWFnZUl0
ZXIgPSBnbDo6SW1hZ2VJbmRleEl0ZXJhdG9yOjpNYWtlR2VuZXJpYygKICAgICAgICAgICAgIHRl
eHR1cmUtPmdldFR5cGUoKSwgMCwgdGV4dHVyZS0+Z2V0TWlwbWFwTWF4TGV2ZWwoKSArIDEsIGds
OjpJbWFnZUluZGV4OjprRW50aXJlTGV2ZWwsCkBAIC0xNjY0LDkgKzIxNjAsNiBAQCB2b2lkIENh
cHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICBpbmRleC5nZXRUeXBlKCkgPT0gZ2w6OlRleHR1cmVUeXBlOjpfMkRBcnJh
eSB8fAogICAgICAgICAgICAgICAgICAgIGluZGV4LmdldFR5cGUoKSA9PSBnbDo6VGV4dHVyZVR5
cGU6OkN1YmVNYXApOwogCi0gICAgICAgICAgICBib29sIGlzM0QgPSAoaW5kZXguZ2V0VHlwZSgp
ID09IGdsOjpUZXh0dXJlVHlwZTo6XzNEIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZXguZ2V0VHlwZSgpID09IGdsOjpUZXh0dXJlVHlwZTo6XzJEQXJyYXkpOwotCiAgICAgICAgICAg
ICBpZiAoZm9ybWF0LmNvbXByZXNzZWQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Ly8gRm9yIGNvbXByZXNzZWQgaW1hZ2VzLCB3ZSd2ZSB0cmFja2VkIGEgY29weSBvZiB0aGUgaW5j
b21pbmcgZGF0YSwgc28gd2UgY2FuCkBAIC0xNjgzLDIyICsyMTc2LDkgQEAgdm9pZCBDYXB0dXJl
TWlkRXhlY3V0aW9uU2V0dXAoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8dWludDhfdD4gJmNhcHR1cmVkVGV4dHVyZUxldmVsID0g
Zm91bmRUZXh0dXJlTGV2ZWwtPnNlY29uZDsKIAogICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUg
c2hhZG93IGNvcHkgb2YgdGhlIGRhdGEgdG8gcG9wdWxhdGUgdGhlIGNhbGwKLSAgICAgICAgICAg
ICAgICBpZiAoaXMzRCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNh
cChDYXB0dXJlQ29tcHJlc3NlZFRleEltYWdlM0QoCi0gICAgICAgICAgICAgICAgICAgICAgICBy
ZXBsYXlTdGF0ZSwgdHJ1ZSwgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4LmdldExldmVsSW5kZXgo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwgZGVzYy5z
aXplLndpZHRoLCBkZXNjLnNpemUuaGVpZ2h0LCBkZXNjLnNpemUuZGVwdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAwLCBzdGF0aWNfY2FzdDxHTHVpbnQ+KGNhcHR1cmVkVGV4dHVyZUxldmVs
LnNpemUoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICBjYXB0dXJlZFRleHR1cmVMZXZlbC5k
YXRhKCkpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgY2FwKENhcHR1cmVDb21wcmVzc2VkVGV4
SW1hZ2UyRCgKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxheVN0YXRlLCB0cnVlLCBpbmRl
eC5nZXRUYXJnZXQoKSwgaW5kZXguZ2V0TGV2ZWxJbmRleCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgZm9ybWF0LmludGVybmFsRm9ybWF0LCBkZXNjLnNpemUud2lkdGgsIGRlc2Muc2l6ZS5o
ZWlnaHQsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHTHVpbnQ+KGNh
cHR1cmVkVGV4dHVyZUxldmVsLnNpemUoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICBjYXB0
dXJlZFRleHR1cmVMZXZlbC5kYXRhKCkpKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgQ2FwdHVyZVRleHR1cmVDb250ZW50cyhzZXR1cENhbGxzLCAmcmVwbGF5U3RhdGUsIHRl
eHR1cmUsIGluZGV4LCBkZXNjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8R0x1aW50PihjYXB0dXJlZFRleHR1cmVMZXZlbC5zaXplKCkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZWRUZXh0dXJlTGV2ZWwu
ZGF0YSgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHsK
QEAgLTE3MjgsMzcgKzIyMDgsMTMgQEAgdm9pZCBDYXB0dXJlTWlkRXhlY3V0aW9uU2V0dXAoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluZGV4LmdldExldmVsSW5kZXgoKSwgZ2V0Rm9ybWF0LCBnZXRUeXBl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRh
dGEoKSk7CiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKGlzM0QpCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhcChDYXB0dXJlVGV4SW1hZ2UzRChyZXBs
YXlTdGF0ZSwgdHJ1ZSwgaW5kZXguZ2V0VGFyZ2V0KCksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXguZ2V0TGV2ZWxJbmRleCgpLCBmb3JtYXQuaW50
ZXJuYWxGb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVzYy5zaXplLndpZHRoLCBkZXNjLnNpemUuaGVpZ2h0LCBkZXNjLnNpemUuZGVwdGgsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0
LCBnZXRUeXBlLCBkYXRhLmRhdGEoKSkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgY2FwKENhcHR1cmVUZXhJbWFnZTJEKHJlcGxheVN0YXRlLCB0cnVlLCBpbmRleC5n
ZXRUYXJnZXQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmRleC5nZXRMZXZlbEluZGV4KCksIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUud2lkdGgsIGRl
c2Muc2l6ZS5oZWlnaHQsIDAsIGdldEZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnZXRUeXBlLCBkYXRhLmRhdGEoKSkpOwotICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIENhcHR1cmVUZXh0dXJlQ29udGVudHMoc2V0
dXBDYWxscywgJnJlcGxheVN0YXRlLCB0ZXh0dXJlLCBpbmRleCwgZGVzYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHTHVpbnQ+KGRhdGEu
c2l6ZSgpKSwgZGF0YS5kYXRhKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoaXMzRCkK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgY2FwKENhcHR1
cmVUZXhJbWFnZTNEKHJlcGxheVN0YXRlLCB0cnVlLCBpbmRleC5nZXRUYXJnZXQoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleC5nZXRMZXZlbElu
ZGV4KCksIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXNjLnNpemUud2lkdGgsIGRlc2Muc2l6ZS5oZWlnaHQsIGRl
c2Muc2l6ZS5kZXB0aCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmb3JtYXQuZm9ybWF0LCBmb3JtYXQudHlwZSwgbnVsbHB0cikpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgY2FwKENhcHR1cmVUZXhJbWFnZTJEKHJlcGxh
eVN0YXRlLCB0cnVlLCBpbmRleC5nZXRUYXJnZXQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmRleC5nZXRMZXZlbEluZGV4KCksIGZvcm1hdC5pbnRl
cm5hbEZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZXNjLnNpemUud2lkdGgsIGRlc2Muc2l6ZS5oZWlnaHQsIDAsIGZvcm1hdC5mb3JtYXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LnR5cGUs
IG51bGxwdHIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBD
YXB0dXJlVGV4dHVyZUNvbnRlbnRzKHNldHVwQ2FsbHMsICZyZXBsYXlTdGF0ZSwgdGV4dHVyZSwg
aW5kZXgsIGRlc2MsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbnVsbHB0cik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC0xOTgxLDggKzI0MzcsMTggQEAgdm9pZCBDYXB0dXJlTWlkRXhlY3V0aW9uU2V0dXAoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmFyeWluZ3NTdHJpbmdzLmRhdGEoKSwgeGZiTW9kZSkpOwogICAg
ICAgICB9CiAKKyAgICAgICAgLy8gRm9yY2UgdGhlIGF0dHJpYnV0ZXMgdG8gYmUgYm91bmQgdGhl
IHNhbWUgd2F5IGFzIGluIHRoZSBleGlzdGluZyBwcm9ncmFtLgorICAgICAgICAvLyBUaGlzIGNh
biBhZmZlY3QgYXR0cmlidXRlcyB0aGF0IGFyZSBvcHRpbWl6ZWQgb3V0IGluIHNvbWUgaW1wbGVt
ZW50YXRpb25zLgorICAgICAgICBmb3IgKGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmYXR0cmli
IDogcHJvZ3JhbS0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtSW5wdXRzKCkpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIEFTU0VSVChhdHRyaWIubG9jYXRpb24gIT0gLTEpOworICAgICAgICAgICAgY2Fw
KENhcHR1cmVCaW5kQXR0cmliTG9jYXRpb24oCisgICAgICAgICAgICAgICAgcmVwbGF5U3RhdGUs
IHRydWUsIGlkLCBzdGF0aWNfY2FzdDxHTHVpbnQ+KGF0dHJpYi5sb2NhdGlvbiksIGF0dHJpYi5u
YW1lLmNfc3RyKCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhcChDYXB0dXJlTGlua1Byb2dy
YW0ocmVwbGF5U3RhdGUsIHRydWUsIGlkKSk7CiAgICAgICAgIENhcHR1cmVVcGRhdGVVbmlmb3Jt
TG9jYXRpb25zKHByb2dyYW0sIHNldHVwQ2FsbHMpOworICAgICAgICBDYXB0dXJlVXBkYXRlVW5p
Zm9ybVZhbHVlcyhyZXBsYXlTdGF0ZSwgY29udGV4dCwgcHJvZ3JhbSwgc2V0dXBDYWxscyk7CiAg
ICAgfQogCiAgICAgLy8gSGFuZGxlIHNoYWRlcnMuCkBAIC0yMTYwLDcgKzI2MjYsNyBAQCB2b2lk
IENhcHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICB9CiAKICAgICAvLyBCaW5kIHNhbXBsZXJzCi0gICAgZ2w6OlNhbXBsZXJCaW5kaW5nVmVjdG9y
IHNhbXBsZXJCaW5kaW5ncyA9IGFwaVN0YXRlLmdldFNhbXBsZXJzKCk7CisgICAgY29uc3QgZ2w6
OlNhbXBsZXJCaW5kaW5nVmVjdG9yICZzYW1wbGVyQmluZGluZ3MgPSBhcGlTdGF0ZS5nZXRTYW1w
bGVycygpOwogICAgIGZvciAoR0x1aW50IGJpbmRpbmdJbmRleCA9IDA7IGJpbmRpbmdJbmRleCA8
IHN0YXRpY19jYXN0PEdMdWludD4oc2FtcGxlckJpbmRpbmdzLnNpemUoKSk7CiAgICAgICAgICAr
K2JpbmRpbmdJbmRleCkKICAgICB7CkBAIC0yNDI1LDYgKzI4OTEsMTEgQEAgdm9pZCBDYXB0dXJl
TWlkRXhlY3V0aW9uU2V0dXAoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50U2Npc3Nvci53aWR0aCwgY3VycmVudFNjaXNzb3IuaGVp
Z2h0KSk7CiAgICAgfQogCisgICAgaWYgKGFwaVN0YXRlLmlzRGl0aGVyRW5hYmxlZCgpKQorICAg
IHsKKyAgICAgICAgY2FwQ2FwKEdMX0RJVEhFUiwgYXBpU3RhdGUuaXNEaXRoZXJFbmFibGVkKCkp
OworICAgIH0KKwogICAgIGNvbnN0IGdsOjpTeW5jTWFuYWdlciAmc3luY3MgPSBhcGlTdGF0ZS5n
ZXRTeW5jTWFuYWdlckZvckNhcHR1cmUoKTsKICAgICBmb3IgKGNvbnN0IGF1dG8gJnN5bmNJdGVy
IDogc3luY3MpCiAgICAgewpAQCAtMjQ3OSw2ICsyOTUwLDcgQEAgUGFyYW1CdWZmZXIgJlBhcmFt
QnVmZmVyOjpvcGVyYXRvcj0oUGFyYW1CdWZmZXIgJiZvdGhlcikKICAgICBzdGQ6OnN3YXAobUNs
aWVudEFycmF5RGF0YVBhcmFtLCBvdGhlci5tQ2xpZW50QXJyYXlEYXRhUGFyYW0pOwogICAgIHN0
ZDo6c3dhcChtUmVhZEJ1ZmZlclNpemUsIG90aGVyLm1SZWFkQnVmZmVyU2l6ZSk7CiAgICAgc3Rk
Ojpzd2FwKG1SZXR1cm5WYWx1ZUNhcHR1cmUsIG90aGVyLm1SZXR1cm5WYWx1ZUNhcHR1cmUpOwor
ICAgIHN0ZDo6c3dhcChtTWFwcGVkQnVmZmVySUQsIG90aGVyLm1NYXBwZWRCdWZmZXJJRCk7CiAg
ICAgcmV0dXJuICp0aGlzOwogfQogCkBAIC0yODU5LDcgKzMzMzEsNyBAQCB2b2lkIEZyYW1lQ2Fw
dHVyZTo6Y2FwdHVyZUNvbXByZXNzZWRUZXh0dXJlRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwgY29ucwogICAgIH0KIH0KIAotdm9pZCBGcmFtZUNhcHR1cmU6Om1heWJlQ2FwdHVyZUNs
aWVudERhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGNvbnN0IENhbGxDYXB0dXJlICZj
YWxsKQordm9pZCBGcmFtZUNhcHR1cmU6Om1heWJlQ2FwdHVyZUNsaWVudERhdGEoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsIENhbGxDYXB0dXJlICZjYWxsKQogewogICAgIHN3aXRjaCAoY2Fs
bC5lbnRyeVBvaW50KQogICAgIHsKQEAgLTI4NzksNiArMzM1MSw0NiBAQCB2b2lkIEZyYW1lQ2Fw
dHVyZTo6bWF5YmVDYXB0dXJlQ2xpZW50RGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwg
Y29uc3QgQ2FsbAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNl
IGdsOjpFbnRyeVBvaW50OjpEZWxldGVCdWZmZXJzOgorICAgICAgICB7CisgICAgICAgICAgICBH
THNpemVpIGNvdW50ID0gY2FsbC5wYXJhbXMuZ2V0UGFyYW0oIm4iLCBQYXJhbVR5cGU6OlRHTHNp
emVpLCAwKS52YWx1ZS5HTHNpemVpVmFsOworICAgICAgICAgICAgY29uc3QgZ2w6OkJ1ZmZlcklE
ICpidWZmZXJJRHMgPQorICAgICAgICAgICAgICAgIGNhbGwucGFyYW1zLmdldFBhcmFtKCJidWZm
ZXJzUGFja2VkIiwgUGFyYW1UeXBlOjpUQnVmZmVySURDb25zdFBvaW50ZXIsIDEpCisgICAgICAg
ICAgICAgICAgICAgIC52YWx1ZS5CdWZmZXJJRENvbnN0UG9pbnRlclZhbDsKKyAgICAgICAgICAg
IGZvciAoR0xzaXplaSBpID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgLy8gRm9yIGVhY2ggYnVmZmVyIGJlaW5nIGRlbGV0ZWQsIGNoZWNrIG91ciBi
YWNrdXAgb2YgZGF0YSBhbmQgcmVtb3ZlIGl0CisgICAgICAgICAgICAgICAgY29uc3QgYXV0byAm
YnVmZmVyRGF0YUluZm8gPSBtQnVmZmVyRGF0YU1hcC5maW5kKGJ1ZmZlcklEc1tpXSk7CisgICAg
ICAgICAgICAgICAgaWYgKGJ1ZmZlckRhdGFJbmZvICE9IG1CdWZmZXJEYXRhTWFwLmVuZCgpKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbUJ1ZmZlckRhdGFNYXAuZXJh
c2UoYnVmZmVyRGF0YUluZm8pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAv
LyBJZiB3ZSdyZSBjYXB0dXJpbmcsIHRyYWNrIHdoYXQgbmV3IGJ1ZmZlcnMgaGF2ZSBiZWVuIGdl
bm5lZAorICAgICAgICAgICAgICAgIGlmIChtRnJhbWVJbmRleCA+PSBtRnJhbWVTdGFydCkKKyAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG1SZXNvdXJjZVRyYWNrZXIuc2V0
RGVsZXRlZEJ1ZmZlcihidWZmZXJJRHNbaV0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBnbDo6
RW50cnlQb2ludDo6R2VuQnVmZmVyczoKKyAgICAgICAgeworICAgICAgICAgICAgR0xzaXplaSBj
b3VudCA9IGNhbGwucGFyYW1zLmdldFBhcmFtKCJuIiwgUGFyYW1UeXBlOjpUR0xzaXplaSwgMCku
dmFsdWUuR0xzaXplaVZhbDsKKyAgICAgICAgICAgIGNvbnN0IGdsOjpCdWZmZXJJRCAqYnVmZmVy
SURzID0KKyAgICAgICAgICAgICAgICBjYWxsLnBhcmFtcy5nZXRQYXJhbSgiYnVmZmVyc1BhY2tl
ZCIsIFBhcmFtVHlwZTo6VEJ1ZmZlcklEUG9pbnRlciwgMSkKKyAgICAgICAgICAgICAgICAgICAg
LnZhbHVlLkJ1ZmZlcklEUG9pbnRlclZhbDsKKyAgICAgICAgICAgIGZvciAoR0xzaXplaSBpID0g
MDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gSWYg
d2UncmUgY2FwdHVyaW5nLCB0cmFjayB3aGF0IG5ldyBidWZmZXJzIGhhdmUgYmVlbiBnZW5uZWQK
KyAgICAgICAgICAgICAgICBpZiAobUZyYW1lSW5kZXggPj0gbUZyYW1lU3RhcnQpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBtUmVzb3VyY2VUcmFja2VyLnNldEdlbm5l
ZEJ1ZmZlcihidWZmZXJJRHNbaV0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgY2FzZSBnbDo6RW50cnlQ
b2ludDo6RHJhd0FycmF5czoKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGNvbnRleHQtPmdl
dFN0YXRlQ2FjaGUoKS5oYXNBbnlBY3RpdmVDbGllbnRBdHRyaWIoKSkKQEAgLTI5OTYsOSArMzUw
OCwxNSBAQCB2b2lkIEZyYW1lQ2FwdHVyZTo6bWF5YmVDYXB0dXJlQ2xpZW50RGF0YShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwgY29uc3QgQ2FsbAogICAgICAgICB9CiAKICAgICAgICAgY2Fz
ZSBnbDo6RW50cnlQb2ludDo6TWFwQnVmZmVyOgorICAgICAgICB7CisgICAgICAgICAgICBVTklN
UExFTUVOVEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNl
IGdsOjpFbnRyeVBvaW50OjpNYXBCdWZmZXJPRVM6Ci0gICAgICAgIGNhc2UgZ2w6OkVudHJ5UG9p
bnQ6Ok1hcEJ1ZmZlclJhbmdlRVhUOgotICAgICAgICBjYXNlIGdsOjpFbnRyeVBvaW50OjpVbm1h
cEJ1ZmZlck9FUzoKKyAgICAgICAgeworICAgICAgICAgICAgVU5JTVBMRU1FTlRFRCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBnbDo6RW50cnlQb2ludDo6
VW5tYXBOYW1lZEJ1ZmZlcjoKICAgICAgICAgewogICAgICAgICAgICAgVU5JTVBMRU1FTlRFRCgp
OwpAQCAtMzAwNiw2ICszNTI0LDcgQEAgdm9pZCBGcmFtZUNhcHR1cmU6Om1heWJlQ2FwdHVyZUNs
aWVudERhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGNvbnN0IENhbGwKICAgICAgICAg
fQogCiAgICAgICAgIGNhc2UgZ2w6OkVudHJ5UG9pbnQ6Ok1hcEJ1ZmZlclJhbmdlOgorICAgICAg
ICBjYXNlIGdsOjpFbnRyeVBvaW50OjpNYXBCdWZmZXJSYW5nZUVYVDoKICAgICAgICAgewogICAg
ICAgICAgICAgLy8gVXNlIHRoZSBhY2Nlc3MgYml0cyB0byBzZWUgaWYgY29udGVudHMgbWF5IGJl
IG1vZGlmaWVkCiAgICAgICAgICAgICBHTGJpdGZpZWxkIGFjY2VzcyA9CkBAIC0zMDI1LDE3ICsz
NTQ0LDQwIEBAIHZvaWQgRnJhbWVDYXB0dXJlOjptYXliZUNhcHR1cmVDbGllbnREYXRhKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LCBjb25zdCBDYWxsCiAgICAgICAgICAgICAgICAgR0xzaXpl
aXB0ciBsZW5ndGggPQogICAgICAgICAgICAgICAgICAgICBjYWxsLnBhcmFtcy5nZXRQYXJhbSgi
bGVuZ3RoIiwgUGFyYW1UeXBlOjpUR0xzaXplaXB0ciwgMikudmFsdWUuR0xzaXplaXB0clZhbDsK
IAotICAgICAgICAgICAgICAgIG1CdWZmZXJEYXRhTWFwW3RhcmdldF0gPSBzdGQ6Om1ha2VfcGFp
cihvZmZzZXQsIGxlbmd0aCk7CisgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqYnVmZmVyICAg
ICAgICAgICA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0VGFyZ2V0QnVmZmVyKHRhcmdldCk7Cisg
ICAgICAgICAgICAgICAgbUJ1ZmZlckRhdGFNYXBbYnVmZmVyLT5pZCgpXSA9IHN0ZDo6bWFrZV9w
YWlyKG9mZnNldCwgbGVuZ3RoKTsKKworICAgICAgICAgICAgICAgIC8vIFRyYWNrIHRoZSBidWZm
ZXJJRCB0aGF0IHdhcyBqdXN0IG1hcHBlZAorICAgICAgICAgICAgICAgIGNhbGwucGFyYW1zLnNl
dE1hcHBlZEJ1ZmZlcklEKGJ1ZmZlci0+aWQoKSk7CisKKyAgICAgICAgICAgICAgICAvLyBSZW1l
bWJlciB0aGF0IGl0IHdhcyBtYXBwZWQgd3JpdGFibGUsIGZvciB1c2UgZHVyaW5nIHN0YXRlIHJl
c2V0CisgICAgICAgICAgICAgICAgbVJlc291cmNlVHJhY2tlci5zZXRCdWZmZXJNb2RpZmllZChi
dWZmZXItPmlkKCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAogICAgICAgICBjYXNlIGdsOjpFbnRyeVBvaW50OjpVbm1hcEJ1ZmZlcjoKKyAgICAgICAg
Y2FzZSBnbDo6RW50cnlQb2ludDo6VW5tYXBCdWZmZXJPRVM6CiAgICAgICAgIHsKICAgICAgICAg
ICAgIC8vIFNlZSBpZiB3ZSBuZWVkIHRvIGNhcHR1cmUgdGhlIGJ1ZmZlciBjb250ZW50cwogICAg
ICAgICAgICAgY2FwdHVyZU1hcHBlZEJ1ZmZlclNuYXBzaG90KGNvbnRleHQsIGNhbGwpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKworICAgICAgICBjYXNlIGdsOjpFbnRyeVBvaW50
OjpCdWZmZXJEYXRhOgorICAgICAgICBjYXNlIGdsOjpFbnRyeVBvaW50OjpCdWZmZXJTdWJEYXRh
OgorICAgICAgICB7CisgICAgICAgICAgICBnbDo6QnVmZmVyQmluZGluZyB0YXJnZXQgPQorICAg
ICAgICAgICAgICAgIGNhbGwucGFyYW1zLmdldFBhcmFtKCJ0YXJnZXRQYWNrZWQiLCBQYXJhbVR5
cGU6OlRCdWZmZXJCaW5kaW5nLCAwKQorICAgICAgICAgICAgICAgICAgICAudmFsdWUuQnVmZmVy
QmluZGluZ1ZhbDsKKworICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqYnVmZmVyID0gY29udGV4dC0+
Z2V0U3RhdGUoKS5nZXRUYXJnZXRCdWZmZXIodGFyZ2V0KTsKKworICAgICAgICAgICAgLy8gVHJh
Y2sgdGhhdCB0aGlzIGJ1ZmZlcidzIGNvbnRlbnRzIGhhdmUgYmVlbiBtb2RpZmllZAorICAgICAg
ICAgICAgbVJlc291cmNlVHJhY2tlci5zZXRCdWZmZXJNb2RpZmllZChidWZmZXItPmlkKCkpOwor
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzE0OCw5ICszNjkwLDEwIEBAIHZvaWQgRnJhbWVDYXB0
dXJlOjpjYXB0dXJlTWFwcGVkQnVmZmVyU25hcHNob3QoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsIGNvbnN0CiAgICAgLy8gaW50byB3aGF0IHRoZSBjbGllbnQgZGlkIHRvIHRoZSBidWZmZXIg
d2hpbGUgbWFwcGVkCiAgICAgLy8gVGhpcyBzZXF1ZW5jZSB3aWxsIHJlc3VsdCBpbiByZXBsYXkg
Y2FsbHMgbGlrZSB0aGlzOgogICAgIC8vICAgLi4uCi0gICAgLy8gICBnTWFwcGVkQnVmZmVyRGF0
YSA9IGdsTWFwQnVmZmVyUmFuZ2UoR0xfUElYRUxfVU5QQUNLX0JVRkZFUiwgMCwgNjU1MzYsIEdM
X01BUF9XUklURV9CSVQpOworICAgIC8vICAgZ01hcHBlZEJ1ZmZlckRhdGFbZ0J1ZmZlck1hcFs0
Ml1dID0gZ2xNYXBCdWZmZXJSYW5nZShHTF9QSVhFTF9VTlBBQ0tfQlVGRkVSLCAwLCA2NTUzNiwK
KyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xfTUFQX1dSSVRFX0JJVCk7CiAgICAgLy8gICAuLi4KLSAgICAvLyAgIFVwZGF0ZUNs
aWVudEJ1ZmZlckRhdGEoJmdCaW5hcnlEYXRhWzE2NDYzMTAyNF0sIDY1NTM2KTsKKyAgICAvLyAg
IFVwZGF0ZUNsaWVudEJ1ZmZlckRhdGEoNDIsICZnQmluYXJ5RGF0YVsxNjQ2MzEwMjRdLCA2NTUz
Nik7CiAgICAgLy8gICBnbFVubWFwQnVmZmVyKEdMX1BJWEVMX1VOUEFDS19CVUZGRVIpOwogICAg
IC8vICAgLi4uCiAKQEAgLTMxNTgsNyArMzcwMSw4IEBAIHZvaWQgRnJhbWVDYXB0dXJlOjpjYXB0
dXJlTWFwcGVkQnVmZmVyU25hcHNob3QoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGNvbnN0
CiAgICAgZ2w6OkJ1ZmZlckJpbmRpbmcgdGFyZ2V0ID0KICAgICAgICAgY2FsbC5wYXJhbXMuZ2V0
UGFyYW0oInRhcmdldFBhY2tlZCIsIFBhcmFtVHlwZTo6VEJ1ZmZlckJpbmRpbmcsIDApLnZhbHVl
LkJ1ZmZlckJpbmRpbmdWYWw7CiAKLSAgICBjb25zdCBhdXRvICZidWZmZXJEYXRhSW5mbyA9IG1C
dWZmZXJEYXRhTWFwLmZpbmQodGFyZ2V0KTsKKyAgICBnbDo6QnVmZmVyICpidWZmZXIgICAgICAg
ICA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0VGFyZ2V0QnVmZmVyKHRhcmdldCk7CisgICAgY29u
c3QgYXV0byAmYnVmZmVyRGF0YUluZm8gPSBtQnVmZmVyRGF0YU1hcC5maW5kKGJ1ZmZlci0+aWQo
KSk7CiAgICAgaWYgKGJ1ZmZlckRhdGFJbmZvID09IG1CdWZmZXJEYXRhTWFwLmVuZCgpKQogICAg
IHsKICAgICAgICAgLy8gVGhpcyBidWZmZXIgd2FzIG5vdCBtYXJrZWQgd3JpdGFibGUsIHNvIHdl
IGRpZCBub3QgYmFjayBpdCB1cApAQCAtMzE2OSwxNCArMzcxMywyMCBAQCB2b2lkIEZyYW1lQ2Fw
dHVyZTo6Y2FwdHVyZU1hcHBlZEJ1ZmZlclNuYXBzaG90KGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LCBjb25zdAogICAgIEdMc2l6ZWlwdHIgbGVuZ3RoID0gYnVmZmVyRGF0YUluZm8tPnNlY29u
ZC5zZWNvbmQ7CiAKICAgICAvLyBNYXAgdGhlIGJ1ZmZlciBzbyB3ZSBjYW4gY29weSBpdHMgY29u
dGVudHMgb3V0Ci0gICAgZ2w6OkJ1ZmZlciAqYnVmZmVyID0gY29udGV4dC0+Z2V0U3RhdGUoKS5n
ZXRUYXJnZXRCdWZmZXIodGFyZ2V0KTsKICAgICBBU1NFUlQoIWJ1ZmZlci0+aXNNYXBwZWQoKSk7
Ci0gICAgKHZvaWQpYnVmZmVyLT5tYXBSYW5nZShjb250ZXh0LCBvZmZzZXQsIGxlbmd0aCwgR0xf
TUFQX1JFQURfQklUKTsKKyAgICBhbmdsZTo6UmVzdWx0IHJlc3VsdCA9IGJ1ZmZlci0+bWFwUmFu
Z2UoY29udGV4dCwgb2Zmc2V0LCBsZW5ndGgsIEdMX01BUF9SRUFEX0JJVCk7CisgICAgaWYgKHJl
c3VsdCAhPSBhbmdsZTo6UmVzdWx0OjpDb250aW51ZSkKKyAgICB7CisgICAgICAgIEVSUigpIDw8
ICJGYWlsZWQgdG8gbWFwUmFuZ2Ugb2YgYnVmZmVyIiA8PCBzdGQ6OmVuZGw7CisgICAgfQogICAg
IGNvbnN0IHVpbnQ4X3QgKmRhdGEgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QgKj4o
YnVmZmVyLT5nZXRNYXBQb2ludGVyKCkpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSBwYXJhbWV0ZXJz
IHRvIG91ciBoZWxwZXIgZm9yIHVzZSBkdXJpbmcgcmVwbGF5CiAgICAgUGFyYW1CdWZmZXIgZGF0
YVBhcmFtQnVmZmVyOwogCisgICAgLy8gUGFzcyBpbiB0aGUgdGFyZ2V0IGJ1ZmZlciBJRAorICAg
IGRhdGFQYXJhbUJ1ZmZlci5hZGRWYWx1ZVBhcmFtKCJkZXN0IiwgUGFyYW1UeXBlOjpUR0x1aW50
LCBidWZmZXItPmlkKCkudmFsdWUpOworCiAgICAgLy8gQ2FwdHVyZSB0aGUgY3VycmVudCBidWZm
ZXIgZGF0YSB3aXRoIGEgYmluYXJ5IHBhcmFtCiAgICAgUGFyYW1DYXB0dXJlIGNhcHR1cmVEYXRh
KCJzb3VyY2UiLCBQYXJhbVR5cGU6OlR2b2lkQ29uc3RQb2ludGVyKTsKICAgICBDYXB0dXJlTWVt
b3J5KGRhdGEsIGxlbmd0aCwgJmNhcHR1cmVEYXRhKTsKQEAgLTMxOTksNyArMzc0OSw3IEBAIHZv
aWQgRnJhbWVDYXB0dXJlOjpvbkVuZEZyYW1lKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQog
ICAgIGlmICghbUZyYW1lQ2FsbHMuZW1wdHkoKSAmJiBtRnJhbWVJbmRleCA+PSBtRnJhbWVTdGFy
dCkKICAgICB7CiAgICAgICAgIFdyaXRlQ3BwUmVwbGF5KG1Db21wcmVzc2lvbiwgbU91dERpcmVj
dG9yeSwgY29udGV4dC0+aWQoKSwgbUNhcHR1cmVMYWJlbCwgbUZyYW1lSW5kZXgsCi0gICAgICAg
ICAgICAgICAgICAgICAgIG1GcmFtZUNhbGxzLCBtU2V0dXBDYWxscywgJm1CaW5hcnlEYXRhKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgbUZyYW1lRW5kLCBtRnJhbWVDYWxscywgbVNldHVwQ2Fs
bHMsICZtUmVzb3VyY2VUcmFja2VyLCAmbUJpbmFyeURhdGEpOwogCiAgICAgICAgIC8vIFNhdmUg
dGhlIGluZGV4IGZpbGVzIGFmdGVyIHRoZSBsYXN0IGZyYW1lLgogICAgICAgICBpZiAobUZyYW1l
SW5kZXggPT0gbUZyYW1lRW5kKQpAQCAtMzIzNyw4ICszNzg3LDggQEAgdm9pZCBGcmFtZUNhcHR1
cmU6Om9uRW5kRnJhbWUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAgICAgaWYgKGVuYWJs
ZWQoKSAmJiBtRnJhbWVJbmRleCA9PSBtRnJhbWVTdGFydCkKICAgICB7CiAgICAgICAgIG1TZXR1
cENhbGxzLmNsZWFyKCk7Ci0gICAgICAgIENhcHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb250ZXh0
LCAmbVNldHVwQ2FsbHMsIG1DYWNoZWRTaGFkZXJTb3VyY2VzLCBtQ2FjaGVkUHJvZ3JhbVNvdXJj
ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtQ2FjaGVkVGV4dHVyZUxldmVs
RGF0YSk7CisgICAgICAgIENhcHR1cmVNaWRFeGVjdXRpb25TZXR1cChjb250ZXh0LCAmbVNldHVw
Q2FsbHMsICZtUmVzb3VyY2VUcmFja2VyLCBtQ2FjaGVkU2hhZGVyU291cmNlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1DYWNoZWRQcm9ncmFtU291cmNlcywgbUNhY2hlZFRl
eHR1cmVMZXZlbERhdGEpOwogICAgIH0KIH0KIApAQCAtMzI1Miw3ICszODAyLDQ5IEBAIGludCBE
YXRhQ291bnRlcnM6OmdldEFuZEluY3JlbWVudChnbDo6RW50cnlQb2ludCBlbnRyeVBvaW50LCBj
b25zdCBzdGQ6OnN0cmluZyAmCiAgICAgcmV0dXJuIG1EYXRhW2NvdW50ZXJLZXldKys7CiB9CiAK
LWJvb2wgRnJhbWVDYXB0dXJlOjplbmFibGVkKCkgY29uc3QKK1Jlc291cmNlVHJhY2tlcjo6UmVz
b3VyY2VUcmFja2VyKCkgPSBkZWZhdWx0OworCitSZXNvdXJjZVRyYWNrZXI6On5SZXNvdXJjZVRy
YWNrZXIoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgUmVzb3VyY2VUcmFja2VyOjpzZXREZWxldGVkQnVm
ZmVyKGdsOjpCdWZmZXJJRCBpZCkKK3sKKyAgICBpZiAobU5ld0J1ZmZlcnMuZmluZChpZCkgIT0g
bU5ld0J1ZmZlcnMuZW5kKCkpCisgICAgeworICAgICAgICAvLyBUaGlzIGlzIGEgYnVmZmVyIGdl
bm5lZCBhZnRlciBNRUMgd2FzIGluaXRpYWxpemVkLCBqdXN0IGNsZWFyIGl0LCBzaW5jZSB0aGVy
ZSB3aWxsIGJlIG5vCisgICAgICAgIC8vIGFjdGlvbnMgcmVxdWlyZWQgZm9yIGl0IHRvIHJldHVy
biB0byBzdGFydGluZyBzdGF0ZS4KKyAgICAgICAgbU5ld0J1ZmZlcnMuZXJhc2UoaWQpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRW5zdXJlIHRoaXMgYnVmZmVyIHdhcyBpbiBv
dXIgc3RhcnRpbmcgc2V0CisgICAgLy8gSXQncyBwb3NzaWJsZSB0aGlzIGNvdWxkIGZpcmUgaWYg
dGhlIGFwcCBkZWxldGVzIGJ1ZmZlcnMgdGhhdCB3ZXJlIG5ldmVyIGdlbmVyYXRlZAorICAgIEFT
U0VSVChtU3RhcnRpbmdCdWZmZXJzLmZpbmQoaWQpICE9IG1TdGFydGluZ0J1ZmZlcnMuZW5kKCkp
OworCisgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgYXBwIGlzIGRlbGV0aW5nIGEgYnVmZmVyIHdl
IHN0YXJ0ZWQgd2l0aCwgd2UgbmVlZCB0byByZWdlbiBvbiBsb29wCisgICAgbUJ1ZmZlcnNUb1Jl
Z2VuLmluc2VydChpZCk7CisgICAgbUJ1ZmZlcnNUb1Jlc3RvcmUuaW5zZXJ0KGlkKTsKK30KKwor
dm9pZCBSZXNvdXJjZVRyYWNrZXI6OnNldEdlbm5lZEJ1ZmZlcihnbDo6QnVmZmVySUQgaWQpCit7
CisgICAgaWYgKG1TdGFydGluZ0J1ZmZlcnMuZmluZChpZCkgPT0gbVN0YXJ0aW5nQnVmZmVycy5l
bmQoKSkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgaXMgYSBidWZmZXIgZ2VubmVkIGFmdGVyIE1F
QyB3YXMgaW5pdGlhbGl6ZWQsIHRyYWNrIGl0CisgICAgICAgIG1OZXdCdWZmZXJzLmluc2VydChp
ZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cit9CisKK3ZvaWQgUmVzb3VyY2VUcmFja2VyOjpz
ZXRCdWZmZXJNb2RpZmllZChnbDo6QnVmZmVySUQgaWQpCit7CisgICAgLy8gSWYgdGhpcyB3YXMg
YSBzdGFydGluZyBidWZmZXIsIHdlIG5lZWQgdG8gdHJhY2sgaXQgZm9yIHJlc3RvcmUKKyAgICBp
ZiAobVN0YXJ0aW5nQnVmZmVycy5maW5kKGlkKSAhPSBtU3RhcnRpbmdCdWZmZXJzLmVuZCgpKQor
ICAgIHsKKyAgICAgICAgbUJ1ZmZlcnNUb1Jlc3RvcmUuaW5zZXJ0KGlkKTsKKyAgICB9Cit9CisK
K2Jvb2wgRnJhbWVDYXB0dXJlOjppc0NhcHR1cmluZygpIGNvbnN0CiB7CiAgICAgLy8gQ3VycmVu
dGx5IHdlIHdpbGwgYWx3YXlzIGRvIGEgY2FwdHVyZSB1cCB1bnRpbCB0aGUgbGFzdCBmcmFtZS4g
SW4gdGhlIGZ1dHVyZSB3ZSBjb3VsZCBpbXByb3ZlCiAgICAgLy8gbWlkIGV4ZWN1dGlvbiBjYXB0
dXJlIGJ5IG9ubHkgY2FwdHVyaW5nIGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgZnJhbWVzLiBU
aGUgb25seSBuZWNlc3NhcnkKQEAgLTM0OTEsNiArNDA4MywxNCBAQCB2b2lkIFdyaXRlUGFyYW1W
YWx1ZVJlcGxheTxQYXJhbVR5cGU6OlRTaGFkZXJQcm9ncmFtSUQ+KHN0ZDo6b3N0cmVhbSAmb3Ms
CiAgICAgb3MgPDwgImdTaGFkZXJQcm9ncmFtTWFwWyIgPDwgdmFsdWUudmFsdWUgPDwgIl0iOwog
fQogCit0ZW1wbGF0ZSA8Pgordm9pZCBXcml0ZVBhcmFtVmFsdWVSZXBsYXk8UGFyYW1UeXBlOjpU
R0xzeW5jPihzdGQ6Om9zdHJlYW0gJm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBDYWxsQ2FwdHVyZSAmY2FsbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzeW5jIHZhbHVlKQoreworICAgIG9z
IDw8ICJnU3luY01hcFsiIDw8IFN5bmNJbmRleFZhbHVlKHZhbHVlKSA8PCAiXSI7Cit9CisKIHRl
bXBsYXRlIDw+CiB2b2lkIFdyaXRlUGFyYW1WYWx1ZVJlcGxheTxQYXJhbVR5cGU6OlRUZXh0dXJl
SUQ+KHN0ZDo6b3N0cmVhbSAmb3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IENhbGxDYXB0dXJlICZjYWxsLApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lQ2FwdHVyZS5oIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lQ2FwdHVyZS5oCmluZGV4IDg5OTA4
OWQwMWEwNTJkN2IyM2FlMGJiZWU4YWMwNmVjOTI3YmY4MGMuLjVjNmI3YjRlYTlkMzE4NzVhNjFl
ZjdjYjVkODY5NmY2YzY5ODc5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9GcmFtZUNhcHR1cmUuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvRnJhbWVDYXB0dXJlLmgKQEAgLTc4LDExICs3OCwxOCBAQCBjbGFzcyBQ
YXJhbUJ1ZmZlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgY29uc3Qgc3RkOjp2
ZWN0b3I8UGFyYW1DYXB0dXJlPiAmZ2V0UGFyYW1DYXB0dXJlcygpIGNvbnN0IHsgcmV0dXJuIG1Q
YXJhbUNhcHR1cmVzOyB9CiAKKyAgICAvLyBUaGVzZSBoZWxwZXJzIGFsbG93IHVzIHRvIHRyYWNr
IHRoZSBJRCBvZiB0aGUgYnVmZmVyIHRoYXQgd2FzIGFjdGl2ZSB3aGVuCisgICAgLy8gTWFwQnVm
ZmVyUmFuZ2Ugd2FzIGNhbGxlZC4gIFdlJ2xsIHVzZSBpdCBkdXJpbmcgcmVwbGF5IHRvIHRyYWNr
IHRoZQorICAgIC8vIGJ1ZmZlcidzIGNvbnRlbnRzLCBhcyB0aGV5IGNhbiBiZSBtb2RpZmllZCBi
eSB0aGUgaG9zdC4KKyAgICB2b2lkIHNldE1hcHBlZEJ1ZmZlcklEKGdsOjpCdWZmZXJJRCBidWZm
ZXJJRCkgeyBtTWFwcGVkQnVmZmVySUQgPSBidWZmZXJJRDsgfQorICAgIGdsOjpCdWZmZXJJRCBn
ZXRNYXBwZWRCdWZmZXJJRCgpIGNvbnN0IHsgcmV0dXJuIG1NYXBwZWRCdWZmZXJJRDsgfQorCiAg
IHByaXZhdGU6CiAgICAgc3RkOjp2ZWN0b3I8UGFyYW1DYXB0dXJlPiBtUGFyYW1DYXB0dXJlczsK
ICAgICBQYXJhbUNhcHR1cmUgbVJldHVyblZhbHVlQ2FwdHVyZTsKICAgICBpbnQgbUNsaWVudEFy
cmF5RGF0YVBhcmFtID0gLTE7CiAgICAgc2l6ZV90IG1SZWFkQnVmZmVyU2l6ZSAgICA9IDA7Cisg
ICAgZ2w6OkJ1ZmZlcklEIG1NYXBwZWRCdWZmZXJJRDsKIH07CiAKIHN0cnVjdCBDYWxsQ2FwdHVy
ZQpAQCAtMTcwLDExICsxNzcsNDkgQEAgY2xhc3MgRGF0YUNvdW50ZXJzIGZpbmFsIDogYW5nbGU6
Ok5vbkNvcHlhYmxlCiAgICAgc3RkOjptYXA8Q291bnRlciwgaW50PiBtRGF0YTsKIH07CiAKK3Vz
aW5nIEJ1ZmZlclNldCAgID0gc3RkOjpzZXQ8Z2w6OkJ1ZmZlcklEPjsKK3VzaW5nIEJ1ZmZlckNh
bGxzID0gc3RkOjptYXA8Z2w6OkJ1ZmZlcklELCBzdGQ6OnZlY3RvcjxDYWxsQ2FwdHVyZT4+Owor
CisvLyBIZWxwZXIgdG8gdHJhY2sgcmVzb3VyY2UgY2hhbmdlcyBkdXJpbmcgdGhlIGNhcHR1cmUK
K2NsYXNzIFJlc291cmNlVHJhY2tlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQoreworICBw
dWJsaWM6CisgICAgUmVzb3VyY2VUcmFja2VyKCk7CisgICAgflJlc291cmNlVHJhY2tlcigpOwor
CisgICAgQnVmZmVyQ2FsbHMgJmdldEJ1ZmZlclJlZ2VuQ2FsbHMoKSB7IHJldHVybiBtQnVmZmVy
UmVnZW5DYWxsczsgfQorICAgIEJ1ZmZlckNhbGxzICZnZXRCdWZmZXJSZXN0b3JlQ2FsbHMoKSB7
IHJldHVybiBtQnVmZmVyUmVzdG9yZUNhbGxzOyB9CisKKyAgICBCdWZmZXJTZXQgJmdldFN0YXJ0
aW5nQnVmZmVycygpIHsgcmV0dXJuIG1TdGFydGluZ0J1ZmZlcnM7IH0KKyAgICBCdWZmZXJTZXQg
JmdldE5ld0J1ZmZlcnMoKSB7IHJldHVybiBtTmV3QnVmZmVyczsgfQorICAgIEJ1ZmZlclNldCAm
Z2V0QnVmZmVyc1RvUmVnZW4oKSB7IHJldHVybiBtQnVmZmVyc1RvUmVnZW47IH0KKyAgICBCdWZm
ZXJTZXQgJmdldEJ1ZmZlcnNUb1Jlc3RvcmUoKSB7IHJldHVybiBtQnVmZmVyc1RvUmVzdG9yZTsg
fQorCisgICAgdm9pZCBzZXRHZW5uZWRCdWZmZXIoZ2w6OkJ1ZmZlcklEIGlkKTsKKyAgICB2b2lk
IHNldERlbGV0ZWRCdWZmZXIoZ2w6OkJ1ZmZlcklEIGlkKTsKKyAgICB2b2lkIHNldEJ1ZmZlck1v
ZGlmaWVkKGdsOjpCdWZmZXJJRCBpZCk7CisKKyAgcHJpdmF0ZToKKyAgICAvLyBCdWZmZXIgcmVn
ZW4gY2FsbHMgd2lsbCBkZWxldGUgYW5kIGdlbiBhIGJ1ZmZlcgorICAgIEJ1ZmZlckNhbGxzIG1C
dWZmZXJSZWdlbkNhbGxzOworICAgIC8vIEJ1ZmZlciByZXN0b3JlIGNhbGxzIHdpbGwgcmVzdG9y
ZSB0aGUgY29udGVudHMgb2YgYSBidWZmZXIKKyAgICBCdWZmZXJDYWxscyBtQnVmZmVyUmVzdG9y
ZUNhbGxzOworCisgICAgLy8gU3RhcnRpbmcgYnVmZmVycyBpbmNsdWRlIGFsbCB0aGUgYnVmZmVy
cyBjcmVhdGVkIGR1cmluZyBzZXR1cCBmb3IgTUVDCisgICAgQnVmZmVyU2V0IG1TdGFydGluZ0J1
ZmZlcnM7CisgICAgLy8gTmV3IGJ1ZmZlcnMgYXJlIHRob3NlIGdlbmVyYXRlZCB3aGlsZSBjYXB0
dXJpbmcKKyAgICBCdWZmZXJTZXQgbU5ld0J1ZmZlcnM7CisgICAgLy8gQnVmZmVycyB0byByZWdl
biBhcmUgYSBsaXN0IG9mIHN0YXJ0aW5nIGJ1ZmZlcnMgdGhhdCBuZWVkIHRvIGJlIGRlbGV0ZWQg
YW5kIGdlbm5lZAorICAgIEJ1ZmZlclNldCBtQnVmZmVyc1RvUmVnZW47CisgICAgLy8gQnVmZmVy
cyB0byByZXN0b3JlIGluY2x1ZGUgYW55IHN0YXJ0aW5nIGJ1ZmZlcnMgd2l0aCBjb250ZW50cyBt
b2RpZmllZCBkdXJpbmcgdGhlIHJ1bgorICAgIEJ1ZmZlclNldCBtQnVmZmVyc1RvUmVzdG9yZTsK
K307CisKIC8vIFVzZWQgYnkgdGhlIENQUCByZXBsYXkgdG8gZmlsdGVyIG91dCB1bm5lY2Vzc2Fy
eSBjb2RlLgogdXNpbmcgSGFzUmVzb3VyY2VUeXBlTWFwID0gYW5nbGU6OlBhY2tlZEVudW1CaXRT
ZXQ8UmVzb3VyY2VJRFR5cGU+OwogCi0vLyBNYXAgb2YgYnVmZmluZyBiaW5kaW5ncyB0byBvZmZz
ZXQgYW5kIHNpemUgdXNlZCB3aGVuIG1hcHBlZAotdXNpbmcgQnVmZmVyRGF0YU1hcCA9IHN0ZDo6
bWFwPGdsOjpCdWZmZXJCaW5kaW5nLCBzdGQ6OnBhaXI8R0xpbnRwdHIsIEdMc2l6ZWlwdHI+PjsK
Ky8vIE1hcCBvZiBidWZmZXIgSUQgdG8gb2Zmc2V0IGFuZCBzaXplIHVzZWQgd2hlbiBtYXBwZWQK
K3VzaW5nIEJ1ZmZlckRhdGFNYXAgPSBzdGQ6Om1hcDxnbDo6QnVmZmVySUQsIHN0ZDo6cGFpcjxH
TGludHB0ciwgR0xzaXplaXB0cj4+OwogCiAvLyBBIGRpY3Rpb25hcnkgb2Ygc291cmNlcyBpbmRl
eGVkIGJ5IHNoYWRlciB0eXBlLgogdXNpbmcgUHJvZ3JhbVNvdXJjZXMgPSBnbDo6U2hhZGVyTWFw
PHN0ZDo6c3RyaW5nPjsKQEAgLTE5NSw3ICsyNDAsOSBAQCBjbGFzcyBGcmFtZUNhcHR1cmUgZmlu
YWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHZvaWQgY2FwdHVyZUNhbGwoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsIENhbGxDYXB0dXJlICYmY2FsbCk7CiAgICAgdm9pZCBvbkVuZEZy
YW1lKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKLSAgICBib29sIGVuYWJsZWQoKSBjb25z
dDsKKyAgICBib29sIGVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtRW5hYmxlZDsgfQorCisgICAg
Ym9vbCBpc0NhcHR1cmluZygpIGNvbnN0OwogICAgIHZvaWQgcmVwbGF5KGdsOjpDb250ZXh0ICpj
b250ZXh0KTsKIAogICBwcml2YXRlOgpAQCAtMjA3LDcgKzI1NCw3IEBAIGNsYXNzIEZyYW1lQ2Fw
dHVyZSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHZvaWQgY2FwdHVyZUNvbXByZXNz
ZWRUZXh0dXJlRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgY29uc3QgQ2FsbENhcHR1
cmUgJmNhbGwpOwogCiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgbWF5YmVDYXB0dXJlQ2xp
ZW50RGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgY29uc3QgQ2FsbENhcHR1cmUgJmNh
bGwpOworICAgIHZvaWQgbWF5YmVDYXB0dXJlQ2xpZW50RGF0YShjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwgQ2FsbENhcHR1cmUgJmNhbGwpOwogICAgIHZvaWQgbWF5YmVDYXB0dXJlUG9zdENh
bGxVcGRhdGVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIAogICAgIHN0YXRpYyB2b2lk
IFJlcGxheUNhbGwoZ2w6OkNvbnRleHQgKmNvbnRleHQsCkBAIC0yMTYsMTMgKzI2MywxMiBAQCBj
bGFzcyBGcmFtZUNhcHR1cmUgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHN0ZDo6
dmVjdG9yPENhbGxDYXB0dXJlPiBtU2V0dXBDYWxsczsKICAgICBzdGQ6OnZlY3RvcjxDYWxsQ2Fw
dHVyZT4gbUZyYW1lQ2FsbHM7Ci0gICAgc3RkOjp2ZWN0b3I8Q2FsbENhcHR1cmU+IG1UZWFyRG93
bkNhbGxzOwogCiAgICAgLy8gV2Ugc2F2ZSBvbmUgbGFyZ2UgYnVmZmVyIG9mIGJpbmFyeSBkYXRh
IGZvciB0aGUgd2hvbGUgQ1BQIHJlcGxheS4KICAgICAvLyBUaGlzIHNpbXBsaWZpZXMgYSBsb3Qg
b2YgZmlsZSBtYW5hZ2VtZW50LgogICAgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IG1CaW5hcnlEYXRh
OwogCi0gICAgYm9vbCBtRW5hYmxlZDsKKyAgICBib29sIG1FbmFibGVkID0gZmFsc2U7CiAgICAg
c3RkOjpzdHJpbmcgbU91dERpcmVjdG9yeTsKICAgICBzdGQ6OnN0cmluZyBtQ2FwdHVyZUxhYmVs
OwogICAgIGJvb2wgbUNvbXByZXNzaW9uOwpAQCAtMjM1LDYgKzI4MSw4IEBAIGNsYXNzIEZyYW1l
Q2FwdHVyZSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIEhhc1Jlc291cmNlVHlwZU1h
cCBtSGFzUmVzb3VyY2VUeXBlOwogICAgIEJ1ZmZlckRhdGFNYXAgbUJ1ZmZlckRhdGFNYXA7CiAK
KyAgICBSZXNvdXJjZVRyYWNrZXIgbVJlc291cmNlVHJhY2tlcjsKKwogICAgIC8vIENhY2hlIG1v
c3QgcmVjZW50bHkgY29tcGlsZWQgYW5kIGxpbmtlZCBzb3VyY2VzLgogICAgIFNoYWRlclNvdXJj
ZU1hcCBtQ2FjaGVkU2hhZGVyU291cmNlczsKICAgICBQcm9ncmFtU291cmNlTWFwIG1DYWNoZWRQ
cm9ncmFtU291cmNlczsKQEAgLTI1MSw3ICsyOTksNyBAQCB2b2lkIENhcHR1cmVDYWxsVG9GcmFt
ZUNhcHR1cmUoQ2FwdHVyZUZ1bmNUIGNhcHR1cmVGdW5jLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFyZ3NULi4uIGNhcHR1cmVQYXJhbXMpCiB7CiAgICAgRnJhbWVDYXB0dXJlICpm
cmFtZUNhcHR1cmUgPSBjb250ZXh0LT5nZXRGcmFtZUNhcHR1cmUoKTsKLSAgICBpZiAoIWZyYW1l
Q2FwdHVyZS0+ZW5hYmxlZCgpKQorICAgIGlmICghZnJhbWVDYXB0dXJlLT5pc0NhcHR1cmluZygp
KQogICAgICAgICByZXR1cm47CiAKICAgICBDYWxsQ2FwdHVyZSBjYWxsID0gY2FwdHVyZUZ1bmMo
Y29udGV4dC0+Z2V0U3RhdGUoKSwgaXNDYWxsVmFsaWQsIGNhcHR1cmVQYXJhbXMuLi4pOwpAQCAt
Mzk0LDYgKzQ0MiwxMSBAQCB2b2lkIFdyaXRlUGFyYW1WYWx1ZVJlcGxheTxQYXJhbVR5cGU6OlRV
bmlmb3JtTG9jYXRpb24+KHN0ZDo6b3N0cmVhbSAmb3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENhbGxDYXB0dXJlICZjYWxs
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnbDo6VW5pZm9ybUxvY2F0aW9uIHZhbHVlKTsKIAordGVtcGxhdGUgPD4KK3ZvaWQgV3JpdGVQ
YXJhbVZhbHVlUmVwbGF5PFBhcmFtVHlwZTo6VEdMc3luYz4oc3RkOjpvc3RyZWFtICZvcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ2FsbENh
cHR1cmUgJmNhbGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMc3luYyB2YWx1ZSk7CisKIC8vIEdlbmVyYWwgZmFsbGJhY2sgZm9yIGFueSB1bnNwZWNp
ZmljIHR5cGUuCiB0ZW1wbGF0ZSA8UGFyYW1UeXBlIFBhcmFtVCwgdHlwZW5hbWUgVD4KIHZvaWQg
V3JpdGVQYXJhbVZhbHVlUmVwbGF5KHN0ZDo6b3N0cmVhbSAmb3MsIGNvbnN0IENhbGxDYXB0dXJl
ICZjYWxsLCBUIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL0ZyYW1lQ2FwdHVyZV9tb2NrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9GcmFtZUNhcHR1cmVfbW9jay5jcHAKaW5kZXggYjBmZjNhODRlNjc3MWQ2
YWI5NDVlZDk5NmM1OTE2YmE0NmE2ZTkwZS4uMzlmNjgzOWU4M2RhNDEzZmRmZTFkMjY3MmM3NmE5
NmMzNmM0MTFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL0ZyYW1lQ2FwdHVyZV9tb2NrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvRnJhbWVDYXB0dXJlX21vY2suY3BwCkBAIC0xOCw2ICsxOCw4IEBAIG5hbWVz
cGFjZSBhbmdsZQogQ2FsbENhcHR1cmU6On5DYWxsQ2FwdHVyZSgpIHt9CiBQYXJhbUJ1ZmZlcjo6
flBhcmFtQnVmZmVyKCkge30KIFBhcmFtQ2FwdHVyZTo6flBhcmFtQ2FwdHVyZSgpIHt9CitSZXNv
dXJjZVRyYWNrZXI6OlJlc291cmNlVHJhY2tlcigpIHt9CitSZXNvdXJjZVRyYWNrZXI6On5SZXNv
dXJjZVRyYWNrZXIoKSB7fQogCiBGcmFtZUNhcHR1cmU6OkZyYW1lQ2FwdHVyZSgpIHt9CiBGcmFt
ZUNhcHR1cmU6On5GcmFtZUNhcHR1cmUoKSB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lYnVmZmVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlci5jcHAKaW5kZXggNGU4M2MyNTAwNGYwNzY0
ZTZmMzM1OTUwODVkOWExYTJkYmE0YzM1My4uMDAyMDk3YjhkMzRkZDNhOTkyNDVhZDg1OTQ0ZmE1
NTdlZWM5ODNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL0ZyYW1lYnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvRnJhbWVidWZmZXIuY3BwCkBAIC0zMDAsMTEgKzMwMCwxNyBAQCBib29sIElzQ2xlYXJC
dWZmZXJNYXNrZWRPdXQoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xlbnVtIGJ1ZmZlciwgR0xp
bnQgZHJhd2J1ZgogICAgIH0KIH0KIAorYm9vbCBJc0NsZWFyQnVmZmVyRGlzYWJsZWQoY29uc3Qg
RnJhbWVidWZmZXJTdGF0ZSAmbVN0YXRlLCBHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVy
KQoreworICAgIHJldHVybiBidWZmZXIgPT0gR0xfQ09MT1IgJiYgIW1TdGF0ZS5nZXRFbmFibGVk
RHJhd0J1ZmZlcnMoKVtkcmF3YnVmZmVyXTsKK30KKwogfSAgLy8gYW5vbnltb3VzIG5hbWVzcGFj
ZQogCiAvLyBUaGlzIGNvbnN0cnVjdG9yIGlzIG9ubHkgdXNlZCBmb3IgZGVmYXVsdCBmcmFtZWJ1
ZmZlcnMuCi1GcmFtZWJ1ZmZlclN0YXRlOjpGcmFtZWJ1ZmZlclN0YXRlKCkKK0ZyYW1lYnVmZmVy
U3RhdGU6OkZyYW1lYnVmZmVyU3RhdGUoQ29udGV4dElEIG93bmluZ0NvbnRleHRJRCkKICAgICA6
IG1JZChGcmFtZWJ1ZmZlcjo6a0RlZmF1bHREcmF3RnJhbWVidWZmZXJIYW5kbGUpLAorICAgICAg
bU93bmluZ0NvbnRleHRJRChvd25pbmdDb250ZXh0SUQpLAogICAgICAgbUxhYmVsKCksCiAgICAg
ICBtQ29sb3JBdHRhY2htZW50cygxKSwKICAgICAgIG1EcmF3QnVmZmVyU3RhdGVzKDEsIEdMX0JB
Q0spLApAQCAtMzI1LDggKzMzMSw5IEBAIEZyYW1lYnVmZmVyU3RhdGU6OkZyYW1lYnVmZmVyU3Rh
dGUoKQogICAgIG1FbmFibGVkRHJhd0J1ZmZlcnMuc2V0KDApOwogfQogCi1GcmFtZWJ1ZmZlclN0
YXRlOjpGcmFtZWJ1ZmZlclN0YXRlKGNvbnN0IENhcHMgJmNhcHMsIEZyYW1lYnVmZmVySUQgaWQp
CitGcmFtZWJ1ZmZlclN0YXRlOjpGcmFtZWJ1ZmZlclN0YXRlKGNvbnN0IENhcHMgJmNhcHMsIEZy
YW1lYnVmZmVySUQgaWQsIENvbnRleHRJRCBvd25pbmdDb250ZXh0SUQpCiAgICAgOiBtSWQoaWQp
LAorICAgICAgbU93bmluZ0NvbnRleHRJRChvd25pbmdDb250ZXh0SUQpLAogICAgICAgbUxhYmVs
KCksCiAgICAgICBtQ29sb3JBdHRhY2htZW50cyhjYXBzLm1heENvbG9yQXR0YWNobWVudHMpLAog
ICAgICAgbURyYXdCdWZmZXJTdGF0ZXMoY2Fwcy5tYXhEcmF3QnVmZmVycywgR0xfTk9ORSksCkBA
IC00MzIsNiArNDM5LDE5IEBAIGNvbnN0IEZyYW1lYnVmZmVyQXR0YWNobWVudCAqRnJhbWVidWZm
ZXJTdGF0ZTo6Z2V0UmVhZEF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJldHVybiBmcmFtZWJ1ZmZl
ckF0dGFjaG1lbnQuaXNBdHRhY2hlZCgpID8gJmZyYW1lYnVmZmVyQXR0YWNobWVudCA6IG51bGxw
dHI7CiB9CiAKK2NvbnN0IEZyYW1lYnVmZmVyQXR0YWNobWVudCAqRnJhbWVidWZmZXJTdGF0ZTo6
Z2V0UmVhZFBpeGVsc0F0dGFjaG1lbnQoR0xlbnVtIHJlYWRGb3JtYXQpIGNvbnN0Cit7CisgICAg
c3dpdGNoIChyZWFkRm9ybWF0KQorICAgIHsKKyAgICAgICAgY2FzZSBHTF9ERVBUSF9DT01QT05F
TlQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0RGVwdGhBdHRhY2htZW50KCk7CisgICAgICAgIGNh
c2UgR0xfU1RFTkNJTF9JTkRFWF9PRVM6CisgICAgICAgICAgICByZXR1cm4gZ2V0U3RlbmNpbE9y
RGVwdGhTdGVuY2lsQXR0YWNobWVudCgpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
cmV0dXJuIGdldFJlYWRBdHRhY2htZW50KCk7CisgICAgfQorfQorCiBjb25zdCBGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnQgKkZyYW1lYnVmZmVyU3RhdGU6OmdldEZpcnN0Tm9uTnVsbEF0dGFjaG1lbnQo
KSBjb25zdAogewogICAgIGF1dG8gKmNvbG9yQXR0YWNobWVudCA9IGdldEZpcnN0Q29sb3JBdHRh
Y2htZW50KCk7CkBAIC02ODgsMTMgKzcwOCwxMyBAQCBib29sIEZyYW1lYnVmZmVyU3RhdGU6OnVw
ZGF0ZUF0dGFjaG1lbnRGZWVkYmFja0xvb3BBbmRSZXR1cm5JZkNoYW5nZWQoc2l6ZV90IGRpcgog
ICAgIHsKICAgICAgICAgY2FzZSBGcmFtZWJ1ZmZlcjo6RElSVFlfQklUX0RFUFRIX0FUVEFDSE1F
TlQ6CiAgICAgICAgICAgICBwcmV2aW91cyAgICAgICAgICAgICAgICAgPSBtRGVwdGhCdWZmZXJG
ZWVkYmFja0xvb3A7Ci0gICAgICAgICAgICBsb29wICAgICAgICAgICAgICAgICAgICAgPSBtRGVw
dGhBdHRhY2htZW50LmlzQm91bmRBc1NhbXBsZXJPckltYWdlKCk7CisgICAgICAgICAgICBsb29w
ICAgICAgICAgICAgICAgICAgICAgPSBtRGVwdGhBdHRhY2htZW50LmlzQm91bmRBc1NhbXBsZXJP
ckltYWdlKG1Pd25pbmdDb250ZXh0SUQpOwogICAgICAgICAgICAgbURlcHRoQnVmZmVyRmVlZGJh
Y2tMb29wID0gbG9vcDsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgRnJhbWVi
dWZmZXI6OkRJUlRZX0JJVF9TVEVOQ0lMX0FUVEFDSE1FTlQ6Ci0gICAgICAgICAgICBwcmV2aW91
cyAgICAgICAgICAgICAgICAgICA9IG1TdGVuY2lsQnVmZmVyRmVlZGJhY2tMb29wOwotICAgICAg
ICAgICAgbG9vcCAgICAgICAgICAgICAgICAgICAgICAgPSBtU3RlbmNpbEF0dGFjaG1lbnQuaXNC
b3VuZEFzU2FtcGxlck9ySW1hZ2UoKTsKKyAgICAgICAgICAgIHByZXZpb3VzID0gbVN0ZW5jaWxC
dWZmZXJGZWVkYmFja0xvb3A7CisgICAgICAgICAgICBsb29wICAgICA9IG1TdGVuY2lsQXR0YWNo
bWVudC5pc0JvdW5kQXNTYW1wbGVyT3JJbWFnZShtT3duaW5nQ29udGV4dElEKTsKICAgICAgICAg
ICAgIG1TdGVuY2lsQnVmZmVyRmVlZGJhY2tMb29wID0gbG9vcDsKICAgICAgICAgICAgIGJyZWFr
OwogCkBAIC03MDIsNyArNzIyLDcgQEAgYm9vbCBGcmFtZWJ1ZmZlclN0YXRlOjp1cGRhdGVBdHRh
Y2htZW50RmVlZGJhY2tMb29wQW5kUmV0dXJuSWZDaGFuZ2VkKHNpemVfdCBkaXIKICAgICAgICAg
ewogICAgICAgICAgICAgQVNTRVJUKGRpcnR5Qml0IDw9IEZyYW1lYnVmZmVyOjpESVJUWV9CSVRf
Q09MT1JfQVRUQUNITUVOVF9NQVgpOwogICAgICAgICAgICAgcHJldmlvdXMgPSBtRHJhd0J1ZmZl
ckZlZWRiYWNrTG9vcHMudGVzdChkaXJ0eUJpdCk7Ci0gICAgICAgICAgICBsb29wICAgICA9IG1D
b2xvckF0dGFjaG1lbnRzW2RpcnR5Qml0XS5pc0JvdW5kQXNTYW1wbGVyT3JJbWFnZSgpOworICAg
ICAgICAgICAgbG9vcCAgICAgPSBtQ29sb3JBdHRhY2htZW50c1tkaXJ0eUJpdF0uaXNCb3VuZEFz
U2FtcGxlck9ySW1hZ2UobU93bmluZ0NvbnRleHRJRCk7CiAgICAgICAgICAgICBtRHJhd0J1ZmZl
ckZlZWRiYWNrTG9vcHNbZGlydHlCaXRdID0gbG9vcDsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CkBAIC03MjgsOSArNzQ4LDEyIEBAIHZvaWQgRnJhbWVidWZmZXJTdGF0ZTo6dXBkYXRl
SGFzUmVuZGVyaW5nRmVlZGJhY2tMb29wKCkKIAogY29uc3QgRnJhbWVidWZmZXJJRCBGcmFtZWJ1
ZmZlcjo6a0RlZmF1bHREcmF3RnJhbWVidWZmZXJIYW5kbGUgPSB7MH07CiAKLUZyYW1lYnVmZmVy
OjpGcmFtZWJ1ZmZlcihjb25zdCBDYXBzICZjYXBzLCByeDo6R0xJbXBsRmFjdG9yeSAqZmFjdG9y
eSwgRnJhbWVidWZmZXJJRCBpZCkKK0ZyYW1lYnVmZmVyOjpGcmFtZWJ1ZmZlcihjb25zdCBDYXBz
ICZjYXBzLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJ4OjpHTEltcGxGYWN0b3J5ICpmYWN0
b3J5LAorICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVySUQgaWQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgQ29udGV4dElEIG93bmluZ0NvbnRleHRJRCkKICAgICA6IG1TZXJp
YWwoZmFjdG9yeS0+Z2VuZXJhdGVTZXJpYWwoKSksCi0gICAgICBtU3RhdGUoY2FwcywgaWQpLAor
ICAgICAgbVN0YXRlKGNhcHMsIGlkLCBvd25pbmdDb250ZXh0SUQpLAogICAgICAgbUltcGwoZmFj
dG9yeS0+Y3JlYXRlRnJhbWVidWZmZXIobVN0YXRlKSksCiAgICAgICBtQ2FjaGVkU3RhdHVzKCks
CiAgICAgICBtRGlydHlEZXB0aEF0dGFjaG1lbnRCaW5kaW5nKHRoaXMsIERJUlRZX0JJVF9ERVBU
SF9BVFRBQ0hNRU5UKSwKQEAgLTc0OSw3ICs3NzIsNyBAQCBGcmFtZWJ1ZmZlcjo6RnJhbWVidWZm
ZXIoY29uc3QgQ2FwcyAmY2Fwcywgcng6OkdMSW1wbEZhY3RvcnkgKmZhY3RvcnksIEZyYW1lYnVm
ZgogCiBGcmFtZWJ1ZmZlcjo6RnJhbWVidWZmZXIoY29uc3QgQ29udGV4dCAqY29udGV4dCwgZWds
OjpTdXJmYWNlICpzdXJmYWNlLCBlZ2w6OlN1cmZhY2UgKnJlYWRTdXJmYWNlKQogICAgIDogbVNl
cmlhbChjb250ZXh0LT5nZXRJbXBsZW1lbnRhdGlvbigpLT5nZW5lcmF0ZVNlcmlhbCgpKSwKLSAg
ICAgIG1TdGF0ZSgpLAorICAgICAgbVN0YXRlKGNvbnRleHQtPmlkKCkpLAogICAgICAgbUltcGwo
c3VyZmFjZS0+Z2V0SW1wbGVtZW50YXRpb24oKS0+Y3JlYXRlRGVmYXVsdEZyYW1lYnVmZmVyKGNv
bnRleHQsIG1TdGF0ZSkpLAogICAgICAgbUNhY2hlZFN0YXR1cyhHTF9GUkFNRUJVRkZFUl9DT01Q
TEVURSksCiAgICAgICBtRGlydHlEZXB0aEF0dGFjaG1lbnRCaW5kaW5nKHRoaXMsIERJUlRZX0JJ
VF9ERVBUSF9BVFRBQ0hNRU5UKSwKQEAgLTc4OSw3ICs4MTIsNyBAQCBGcmFtZWJ1ZmZlcjo6RnJh
bWVidWZmZXIoY29uc3QgQ29udGV4dCAqY29udGV4dCwgZWdsOjpTdXJmYWNlICpzdXJmYWNlLCBl
Z2w6OlN1cgogRnJhbWVidWZmZXI6OkZyYW1lYnVmZmVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgcng6OkdMSW1wbEZhY3RvcnkgKmZhY3RvcnksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgZWdsOjpTdXJmYWNlICpyZWFkU3VyZmFjZSkKLSAgICA6
IG1TdGF0ZSgpLAorICAgIDogbVN0YXRlKGNvbnRleHQtPmlkKCkpLAogICAgICAgbUltcGwoZmFj
dG9yeS0+Y3JlYXRlRnJhbWVidWZmZXIobVN0YXRlKSksCiAgICAgICBtQ2FjaGVkU3RhdHVzKEdM
X0ZSQU1FQlVGRkVSX1VOREVGSU5FRF9PRVMpLAogICAgICAgbURpcnR5RGVwdGhBdHRhY2htZW50
QmluZGluZyh0aGlzLCBESVJUWV9CSVRfREVQVEhfQVRUQUNITUVOVCksCkBAIC0xMTIyLDcgKzEx
NDUsOSBAQCBHTGVudW0gRnJhbWVidWZmZXI6OmNoZWNrU3RhdHVzSW1wbChjb25zdCBDb250ZXh0
ICpjb250ZXh0KSBjb25zdAogICAgICAgICAvLyBXZSBjYW4gc2tpcCBzeW5jU3RhdGUgb24gc2V2
ZXJhbCBiYWNrLWVuZHMuCiAgICAgICAgIGlmIChtSW1wbC0+c2hvdWxkU3luY1N0YXRlQmVmb3Jl
Q2hlY2tTdGF0dXMoKSkKICAgICAgICAgewotICAgICAgICAgICAgYW5nbGU6OlJlc3VsdCBlcnIg
PSBzeW5jU3RhdGUoY29udGV4dCk7CisgICAgICAgICAgICAvLyBUaGlzIGJpbmRpbmcgaXMgbm90
IHRvdGFsbHkgY29ycmVjdC4gSXQgaXMgb2sgYmVjYXVzZSB0aGUgcGFyYW1ldGVyIGlzbid0IHVz
ZWQgaW4KKyAgICAgICAgICAgIC8vIHRoZSBHTCBiYWNrLWVuZCBhbmQgdGhlIEdMIGJhY2stZW5k
IGlzIHRoZSBvbmx5IHVzZXIgb2Ygc3luY1N0YXRlQmVmb3JlQ2hlY2tTdGF0dXMuCisgICAgICAg
ICAgICBhbmdsZTo6UmVzdWx0IGVyciA9IHN5bmNTdGF0ZShjb250ZXh0LCBHTF9GUkFNRUJVRkZF
Uik7CiAgICAgICAgICAgICBpZiAoZXJyICE9IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtMTUxNCw3ICsxNTM5LDgg
QEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlcjo6Y2xlYXJCdWZmZXJmdihjb25zdCBDb250ZXh0
ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGlu
dCBkcmF3YnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBHTGZsb2F0ICp2YWx1ZXMpCiB7Ci0gICAgaWYgKGNvbnRleHQtPmdldFN0YXRlKCkuaXNS
YXN0ZXJpemVyRGlzY2FyZEVuYWJsZWQoKSB8fAorICAgIGlmIChJc0NsZWFyQnVmZmVyRGlzYWJs
ZWQobVN0YXRlLCBidWZmZXIsIGRyYXdidWZmZXIpIHx8CisgICAgICAgIGNvbnRleHQtPmdldFN0
YXRlKCkuaXNSYXN0ZXJpemVyRGlzY2FyZEVuYWJsZWQoKSB8fAogICAgICAgICBJc0NsZWFyQnVm
ZmVyTWFza2VkT3V0KGNvbnRleHQsIGJ1ZmZlciwgZHJhd2J1ZmZlcikpCiAgICAgewogICAgICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC0xNTMwLDcgKzE1NTYsOCBAQCBh
bmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyOjpjbGVhckJ1ZmZlcnVpdihjb25zdCBDb250ZXh0ICpj
b250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQg
ZHJhd2J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IEdMdWludCAqdmFsdWVzKQogewotICAgIGlmIChjb250ZXh0LT5nZXRTdGF0ZSgpLmlzUmFz
dGVyaXplckRpc2NhcmRFbmFibGVkKCkgfHwKKyAgICBpZiAoSXNDbGVhckJ1ZmZlckRpc2FibGVk
KG1TdGF0ZSwgYnVmZmVyLCBkcmF3YnVmZmVyKSB8fAorICAgICAgICBjb250ZXh0LT5nZXRTdGF0
ZSgpLmlzUmFzdGVyaXplckRpc2NhcmRFbmFibGVkKCkgfHwKICAgICAgICAgSXNDbGVhckJ1ZmZl
ck1hc2tlZE91dChjb250ZXh0LCBidWZmZXIsIGRyYXdidWZmZXIpKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTU0Niw3ICsxNTczLDggQEAgYW5n
bGU6OlJlc3VsdCBGcmFtZWJ1ZmZlcjo6Y2xlYXJCdWZmZXJpdihjb25zdCBDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBkcmF3
YnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBH
TGludCAqdmFsdWVzKQogewotICAgIGlmIChjb250ZXh0LT5nZXRTdGF0ZSgpLmlzUmFzdGVyaXpl
ckRpc2NhcmRFbmFibGVkKCkgfHwKKyAgICBpZiAoSXNDbGVhckJ1ZmZlckRpc2FibGVkKG1TdGF0
ZSwgYnVmZmVyLCBkcmF3YnVmZmVyKSB8fAorICAgICAgICBjb250ZXh0LT5nZXRTdGF0ZSgpLmlz
UmFzdGVyaXplckRpc2NhcmRFbmFibGVkKCkgfHwKICAgICAgICAgSXNDbGVhckJ1ZmZlck1hc2tl
ZE91dChjb250ZXh0LCBidWZmZXIsIGRyYXdidWZmZXIpKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTU4OSwxOSArMTYxNywxNiBAQCBhbmdsZTo6
UmVzdWx0IEZyYW1lYnVmZmVyOjpjbGVhckJ1ZmZlcmZpKGNvbnN0IENvbnRleHQgKmNvbnRleHQs
CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCi1hbmdsZTo6UmVzdWx0
IEZyYW1lYnVmZmVyOjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb25zdCBDb250
ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xlbnVtICpmb3JtYXRPdXQpCitHTGVudW0gRnJhbWVidWZmZXI6
OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNvbnN0IENvbnRleHQgKmNvbnRleHQp
CiB7Ci0gICAgQU5HTEVfVFJZKHN5bmNTdGF0ZShjb250ZXh0KSk7Ci0gICAgKmZvcm1hdE91dCA9
IG1JbXBsLT5nZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb250ZXh0KTsKLSAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgY29uc3QgZ2w6OkludGVybmFsRm9y
bWF0ICZmb3JtYXQgPSBtSW1wbC0+Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRGb3JtYXQoY29u
dGV4dCk7CisgICAgcmV0dXJuIGZvcm1hdC5nZXRSZWFkUGl4ZWxzRm9ybWF0KGNvbnRleHQtPmdl
dEV4dGVuc2lvbnMoKSk7CiB9CiAKLWFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXI6OmdldEltcGxl
bWVudGF0aW9uQ29sb3JSZWFkVHlwZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gKnR5
cGVPdXQpCitHTGVudW0gRnJhbWVidWZmZXI6OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkVHlw
ZShjb25zdCBDb250ZXh0ICpjb250ZXh0KQogewotICAgIEFOR0xFX1RSWShzeW5jU3RhdGUoY29u
dGV4dCkpOwotICAgICp0eXBlT3V0ID0gbUltcGwtPmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFk
VHlwZShjb250ZXh0KTsKLSAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAg
Y29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZmb3JtYXQgPSBtSW1wbC0+Z2V0SW1wbGVtZW50YXRp
b25Db2xvclJlYWRGb3JtYXQoY29udGV4dCk7CisgICAgcmV0dXJuIGZvcm1hdC5nZXRSZWFkUGl4
ZWxzVHlwZShjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpOwogfQogCiBhbmdsZTo6UmVzdWx0
IEZyYW1lYnVmZmVyOjpyZWFkUGl4ZWxzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCkBAIC0xNzAy
LDYgKzE3MjcsMTUgQEAgYm9vbCBGcmFtZWJ1ZmZlcjo6aGFzVmFsaWREZXB0aFN0ZW5jaWwoKSBj
b25zdAogICAgIHJldHVybiBtU3RhdGUuZ2V0RGVwdGhTdGVuY2lsQXR0YWNobWVudCgpICE9IG51
bGxwdHI7CiB9CiAKK2dsOjpPZmZzZXQgRnJhbWVidWZmZXI6OmdldFRleHR1cmVPZmZzZXQoKSBj
b25zdAoreworICAgIGlmIChpc0RlZmF1bHQoKSAmJiBnZXRGaXJzdENvbG9yQXR0YWNobWVudCgp
LT5nZXRTdXJmYWNlKCkpCisgICAgeworICAgICAgICByZXR1cm4gZ2V0Rmlyc3RDb2xvckF0dGFj
aG1lbnQoKS0+Z2V0U3VyZmFjZSgpLT5nZXRUZXh0dXJlT2Zmc2V0KCk7CisgICAgfQorICAgIHJl
dHVybiBnbDo6T2Zmc2V0KCk7Cit9CisKIHZvaWQgRnJhbWVidWZmZXI6OnNldEF0dGFjaG1lbnQo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xlbnVtIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBiaW5k
aW5nLApAQCAtMTk1NywxMiArMTk5MSwxMiBAQCB2b2lkIEZyYW1lYnVmZmVyOjpyZXNldEF0dGFj
aG1lbnQoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xlbnVtIGJpbmRpbmcpCiAgICAgc2V0QXR0
YWNobWVudChjb250ZXh0LCBHTF9OT05FLCBiaW5kaW5nLCBJbWFnZUluZGV4KCksIG51bGxwdHIp
OwogfQogCi1hbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyOjpzeW5jU3RhdGUoY29uc3QgQ29udGV4
dCAqY29udGV4dCkgY29uc3QKK2FuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXI6OnN5bmNTdGF0ZShj
b25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gZnJhbWVidWZmZXJCaW5kaW5nKSBjb25zdAog
ewogICAgIGlmIChtRGlydHlCaXRzLmFueSgpKQogICAgIHsKICAgICAgICAgbURpcnR5Qml0c0d1
YXJkID0gbURpcnR5Qml0czsKLSAgICAgICAgQU5HTEVfVFJZKG1JbXBsLT5zeW5jU3RhdGUoY29u
dGV4dCwgbURpcnR5Qml0cykpOworICAgICAgICBBTkdMRV9UUlkobUltcGwtPnN5bmNTdGF0ZShj
b250ZXh0LCBmcmFtZWJ1ZmZlckJpbmRpbmcsIG1EaXJ0eUJpdHMpKTsKICAgICAgICAgbURpcnR5
Qml0cy5yZXNldCgpOwogICAgICAgICBtRGlydHlCaXRzR3VhcmQucmVzZXQoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRnJhbWVidWZm
ZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlci5o
CmluZGV4IDdhMzA5OTdmNTk5OGMxZjZmZWJmZWFhNzM1NzQzYjkzMjkxZDJiM2YuLjhlZmM3MWVm
ZjlkZTk5MDE0YjQ5YzNlMDZmNjc1NmMxYjcwNDU5YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlci5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlci5oCkBAIC02MSw4ICs2MSw4IEBA
IGVudW0gY2xhc3MgQXR0YWNobWVudFNhbXBsZVR5cGUKIGNsYXNzIEZyYW1lYnVmZmVyU3RhdGUg
ZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIHsKICAgcHVibGljOgotICAgIEZyYW1lYnVmZmVy
U3RhdGUoKTsKLSAgICBleHBsaWNpdCBGcmFtZWJ1ZmZlclN0YXRlKGNvbnN0IENhcHMgJmNhcHMs
IEZyYW1lYnVmZmVySUQgaWQpOworICAgIGV4cGxpY2l0IEZyYW1lYnVmZmVyU3RhdGUoQ29udGV4
dElEIG93bmluZ0NvbnRleHRJRCk7CisgICAgRnJhbWVidWZmZXJTdGF0ZShjb25zdCBDYXBzICZj
YXBzLCBGcmFtZWJ1ZmZlcklEIGlkLCBDb250ZXh0SUQgb3duaW5nQ29udGV4dElEKTsKICAgICB+
RnJhbWVidWZmZXJTdGF0ZSgpOwogCiAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJmdldExhYmVsKCk7
CkBAIC03OCw2ICs3OCw3IEBAIGNsYXNzIEZyYW1lYnVmZmVyU3RhdGUgZmluYWwgOiBhbmdsZTo6
Tm9uQ29weWFibGUKICAgICBjb25zdCBGcmFtZWJ1ZmZlckF0dGFjaG1lbnQgKmdldERlcHRoQXR0
YWNobWVudCgpIGNvbnN0OwogICAgIGNvbnN0IEZyYW1lYnVmZmVyQXR0YWNobWVudCAqZ2V0U3Rl
bmNpbEF0dGFjaG1lbnQoKSBjb25zdDsKICAgICBjb25zdCBGcmFtZWJ1ZmZlckF0dGFjaG1lbnQg
KmdldERlcHRoU3RlbmNpbEF0dGFjaG1lbnQoKSBjb25zdDsKKyAgICBjb25zdCBGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnQgKmdldFJlYWRQaXhlbHNBdHRhY2htZW50KEdMZW51bSByZWFkRm9ybWF0KSBj
b25zdDsKIAogICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdMZW51bT4gJmdldERyYXdCdWZmZXJTdGF0
ZXMoKSBjb25zdCB7IHJldHVybiBtRHJhd0J1ZmZlclN0YXRlczsgfQogICAgIERyYXdCdWZmZXJN
YXNrIGdldEVuYWJsZWREcmF3QnVmZmVycygpIGNvbnN0IHsgcmV0dXJuIG1FbmFibGVkRHJhd0J1
ZmZlcnM7IH0KQEAgLTE0MCw2ICsxNDEsNyBAQCBjbGFzcyBGcmFtZWJ1ZmZlclN0YXRlIGZpbmFs
IDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgZnJpZW5kIGNsYXNzIEZyYW1lYnVmZmVyOwogCiAg
ICAgRnJhbWVidWZmZXJJRCBtSWQ7CisgICAgQ29udGV4dElEIG1Pd25pbmdDb250ZXh0SUQ7CiAg
ICAgc3RkOjpzdHJpbmcgbUxhYmVsOwogCiAgICAgc3RkOjp2ZWN0b3I8RnJhbWVidWZmZXJBdHRh
Y2htZW50PiBtQ29sb3JBdHRhY2htZW50czsKQEAgLTE4Myw3ICsxODUsMTAgQEAgY2xhc3MgRnJh
bWVidWZmZXIgZmluYWwgOiBwdWJsaWMgYW5nbGU6Ok9ic2VydmVySW50ZXJmYWNlLAogewogICBw
dWJsaWM6CiAgICAgLy8gQ29uc3RydWN0b3IgdG8gYnVpbGQgYXBwbGljYXRpb24tZGVmaW5lZCBm
cmFtZWJ1ZmZlcnMKLSAgICBGcmFtZWJ1ZmZlcihjb25zdCBDYXBzICZjYXBzLCByeDo6R0xJbXBs
RmFjdG9yeSAqZmFjdG9yeSwgRnJhbWVidWZmZXJJRCBpZCk7CisgICAgRnJhbWVidWZmZXIoY29u
c3QgQ2FwcyAmY2FwcywKKyAgICAgICAgICAgICAgICByeDo6R0xJbXBsRmFjdG9yeSAqZmFjdG9y
eSwKKyAgICAgICAgICAgICAgICBGcmFtZWJ1ZmZlcklEIGlkLAorICAgICAgICAgICAgICAgIENv
bnRleHRJRCBvd25pbmdDb250ZXh0SUQpOwogICAgIC8vIENvbnN0cnVjdG9yIHRvIGJ1aWxkIGRl
ZmF1bHQgZnJhbWVidWZmZXJzIGZvciBhIHN1cmZhY2UgYW5kIGNvbnRleHQgcGFpcgogICAgIEZy
YW1lYnVmZmVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIGVnbDo6U3VyZmFjZSAqc3VyZmFjZSwg
ZWdsOjpTdXJmYWNlICpyZWFkU3VyZmFjZSk7CiAgICAgLy8gQ29uc3RydWN0b3IgdG8gYnVpbGQg
YSBmYWtlIGRlZmF1bHQgZnJhbWVidWZmZXIgd2hlbiBzdXJmYWNlbGVzcwpAQCAtMzA5LDYgKzMx
NCwxMSBAQCBjbGFzcyBGcmFtZWJ1ZmZlciBmaW5hbCA6IHB1YmxpYyBhbmdsZTo6T2JzZXJ2ZXJJ
bnRlcmZhY2UsCiAKICAgICBib29sIGhhc1ZhbGlkRGVwdGhTdGVuY2lsKCkgY29uc3Q7CiAKKyAg
ICAvLyBSZXR1cm5zIHRoZSBvZmZzZXQgaW50byB0aGUgdGV4dHVyZSBiYWNraW5nIHRoZSBkZWZh
dWx0IGZyYW1lYnVmZmVyJ3Mgc3VyZmFjZSBpZiBhbnkuIFJldHVybnMKKyAgICAvLyB6ZXJvIG9m
ZnNldCBvdGhlcndpc2UuICBPZmZzZXQgaXMgYXBwbGllZCB0byBzY2lzc29yIGFuZCB2aWV3cG9y
dCByZWN0cyBzbyB0aGF0IGl0IGFwcGxpZXMgdG8KKyAgICAvLyBhbGwgcmVuZGVyaW5nLgorICAg
IGdsOjpPZmZzZXQgZ2V0VGV4dHVyZU9mZnNldCgpIGNvbnN0OworCiAgICAgYW5nbGU6OlJlc3Vs
dCBkaXNjYXJkKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIHNpemVfdCBjb3VudCwgY29uc3QgR0xl
bnVtICphdHRhY2htZW50cyk7CiAgICAgYW5nbGU6OlJlc3VsdCBpbnZhbGlkYXRlKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsIHNpemVfdCBjb3VudCwgY29uc3QgR0xlbnVtICphdHRhY2htZW50cyk7
CiAgICAgYW5nbGU6OlJlc3VsdCBpbnZhbGlkYXRlU3ViKGNvbnN0IENvbnRleHQgKmNvbnRleHQs
CkBAIC0zMzUsOSArMzQ1LDggQEAgY2xhc3MgRnJhbWVidWZmZXIgZmluYWwgOiBwdWJsaWMgYW5n
bGU6Ok9ic2VydmVySW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
TGZsb2F0IGRlcHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBzdGVu
Y2lsKTsKIAotICAgIC8vIFRoZXNlIHR3byBtZXRob2RzIGNhbGwgc3luY1N0YXRlKCkgaW50ZXJu
YWxseS4KLSAgICBhbmdsZTo6UmVzdWx0IGdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0
KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSAqZm9ybWF0T3V0KTsKLSAgICBhbmdsZTo6
UmVzdWx0IGdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkVHlwZShjb25zdCBDb250ZXh0ICpjb250
ZXh0LCBHTGVudW0gKnR5cGVPdXQpOworICAgIEdMZW51bSBnZXRJbXBsZW1lbnRhdGlvbkNvbG9y
UmVhZEZvcm1hdChjb25zdCBDb250ZXh0ICpjb250ZXh0KTsKKyAgICBHTGVudW0gZ2V0SW1wbGVt
ZW50YXRpb25Db2xvclJlYWRUeXBlKGNvbnN0IENvbnRleHQgKmNvbnRleHQpOwogCiAgICAgYW5n
bGU6OlJlc3VsdCByZWFkUGl4ZWxzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFJlY3RhbmdsZSAmYXJlYSwKQEAgLTM4NSw3ICszOTQs
NyBAQCBjbGFzcyBGcmFtZWJ1ZmZlciBmaW5hbCA6IHB1YmxpYyBhbmdsZTo6T2JzZXJ2ZXJJbnRl
cmZhY2UsCiAKICAgICBib29sIGhhc1Jlc291cmNlVGhhdE5lZWRzSW5pdCgpIGNvbnN0IHsgcmV0
dXJuIG1TdGF0ZS5tUmVzb3VyY2VOZWVkc0luaXQuYW55KCk7IH0KIAotICAgIGFuZ2xlOjpSZXN1
bHQgc3luY1N0YXRlKGNvbnN0IENvbnRleHQgKmNvbnRleHQpIGNvbnN0OworICAgIGFuZ2xlOjpS
ZXN1bHQgc3luY1N0YXRlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSBmcmFtZWJ1ZmZl
ckJpbmRpbmcpIGNvbnN0OwogCiAgICAgLy8gT2JzZXJ2ZXIgaW1wbGVtZW50YXRpb24KICAgICB2
b2lkIG9uU3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xl
OjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdlKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlckF0dGFjaG1lbnQuY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lYnVmZmVyQXR0YWNobWVu
dC5jcHAKaW5kZXggMjg0ODAxOWJkNzA0NzRlYjM4YzYyYjY5NDlmZTU4YTZlMzhmZjJiYi4uMThm
YTM5MDVmOGJlMzQ0ZTQxMGRiNzRjOWE3YjlmOGFiYzJiMWYyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lYnVmZmVyQXR0YWNobWVudC5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ZyYW1lYnVmZmVyQXR0
YWNobWVudC5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCB2b2lkIEZyYW1lYnVmZmVyQXR0YWNobWVu
dDo6c2V0SW5pdFN0YXRlKEluaXRTdGF0ZSBpbml0U3RhdGUpIGNvbnN0CiAgICAgbVJlc291cmNl
LT5zZXRJbml0U3RhdGUobVRhcmdldC50ZXh0dXJlSW5kZXgoKSwgaW5pdFN0YXRlKTsKIH0KIAot
Ym9vbCBGcmFtZWJ1ZmZlckF0dGFjaG1lbnQ6OmlzQm91bmRBc1NhbXBsZXJPckltYWdlKCkgY29u
c3QKK2Jvb2wgRnJhbWVidWZmZXJBdHRhY2htZW50Ojppc0JvdW5kQXNTYW1wbGVyT3JJbWFnZShD
b250ZXh0SUQgY29udGV4dElEKSBjb25zdAogewogICAgIGlmIChtVHlwZSAhPSBHTF9URVhUVVJF
KQogICAgIHsKQEAgLTI4OSw3ICsyODksOCBAQCBib29sIEZyYW1lYnVmZmVyQXR0YWNobWVudDo6
aXNCb3VuZEFzU2FtcGxlck9ySW1hZ2UoKSBjb25zdAogICAgIH0KIAogICAgIGNvbnN0IGdsOjpU
ZXh0dXJlU3RhdGUgJnRleHR1cmVTdGF0ZSA9IGdldFRleHR1cmUoKS0+Z2V0VGV4dHVyZVN0YXRl
KCk7Ci0gICAgcmV0dXJuIHRleHR1cmVTdGF0ZS5pc0JvdW5kQXNJbWFnZVRleHR1cmUoKSB8fCB0
ZXh0dXJlU3RhdGUuaXNCb3VuZEFzU2FtcGxlclRleHR1cmUoKTsKKyAgICByZXR1cm4gdGV4dHVy
ZVN0YXRlLmlzQm91bmRBc0ltYWdlVGV4dHVyZShjb250ZXh0SUQpIHx8CisgICAgICAgICAgIHRl
eHR1cmVTdGF0ZS5pc0JvdW5kQXNTYW1wbGVyVGV4dHVyZShjb250ZXh0SUQpOwogfQogCiAvLy8v
Ly8gRnJhbWVidWZmZXJBdHRhY2htZW50T2JqZWN0IEltcGxlbWVudGF0aW9uIC8vLy8vLwpAQCAt
MzE1LDE2ICszMTYsMTQgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckF0dGFjaG1lbnRPYmpl
Y3Q6OmluaXRpYWxpemVDb250ZW50cyhjb25zdCBDb250ZXh0ICpjb24KICAgICBBU1NFUlQoY29u
dGV4dC0+aXNSb2J1c3RSZXNvdXJjZUluaXRFbmFibGVkKCkpOwogCiAgICAgLy8gQmVjYXVzZSBn
bDo6VGV4dHVyZSBjYW5ub3Qgc3VwcG9ydCB0cmFja2luZyBpbmRpdmlkdWFsIGxheWVyIGRpcnRp
bmVzcywgd2Ugb25seSBoYW5kbGUKLSAgICAvLyBpbml0aWFsaXppbmcgZW50aXJlIG1pcCBsZXZl
bHMgZm9yIDJEIGFycmF5IHRleHR1cmVzLgotICAgIGlmIChpbWFnZUluZGV4LmdldFR5cGUoKSA9
PSBUZXh0dXJlVHlwZTo6XzJEQXJyYXkgJiYgaW1hZ2VJbmRleC5oYXNMYXllcigpKQorICAgIC8v
IGluaXRpYWxpemluZyBlbnRpcmUgbWlwIGxldmVscyBmb3IgdGV4dHVyZXMgd2l0aCBsYXllcnMK
KyAgICBpZiAoaW1hZ2VJbmRleC51c2VzVGV4M0QoKSAmJiBpbWFnZUluZGV4Lmhhc0xheWVyKCkp
CiAgICAgewotICAgICAgICBJbWFnZUluZGV4IGZ1bGxNaXBJbmRleCA9Ci0gICAgICAgICAgICBJ
bWFnZUluZGV4OjpNYWtlMkRBcnJheShpbWFnZUluZGV4LmdldExldmVsSW5kZXgoKSwgSW1hZ2VJ
bmRleDo6a0VudGlyZUxldmVsKTsKLSAgICAgICAgcmV0dXJuIGdldEF0dGFjaG1lbnRJbXBsKCkt
PmluaXRpYWxpemVDb250ZW50cyhjb250ZXh0LCBmdWxsTWlwSW5kZXgpOwotICAgIH0KLSAgICBl
bHNlIGlmIChpbWFnZUluZGV4LmdldFR5cGUoKSA9PSBUZXh0dXJlVHlwZTo6XzJETXVsdGlzYW1w
bGVBcnJheSAmJiBpbWFnZUluZGV4Lmhhc0xheWVyKCkpCi0gICAgewotICAgICAgICBJbWFnZUlu
ZGV4IGZ1bGxNaXBJbmRleCA9IEltYWdlSW5kZXg6Ok1ha2UyRE11bHRpc2FtcGxlQXJyYXkoSW1h
Z2VJbmRleDo6a0VudGlyZUxldmVsKTsKKyAgICAgICAgLy8gQ29tcHV0ZSB0aGUgbGF5ZXIgY291
bnQgc28gd2UgZ2V0IGEgY29ycmVjdCBsYXllciBpbmRleC4KKyAgICAgICAgY29uc3QgZ2w6OkV4
dGVudHMgJnNpemUgPSBnZXRBdHRhY2htZW50U2l6ZShpbWFnZUluZGV4KTsKKworICAgICAgICBJ
bWFnZUluZGV4IGZ1bGxNaXBJbmRleCA9IEltYWdlSW5kZXg6Ok1ha2VGcm9tVHlwZSgKKyAgICAg
ICAgICAgIGltYWdlSW5kZXguZ2V0VHlwZSgpLCBpbWFnZUluZGV4LmdldExldmVsSW5kZXgoKSwg
SW1hZ2VJbmRleDo6a0VudGlyZUxldmVsLCBzaXplLmRlcHRoKTsKICAgICAgICAgcmV0dXJuIGdl
dEF0dGFjaG1lbnRJbXBsKCktPmluaXRpYWxpemVDb250ZW50cyhjb250ZXh0LCBmdWxsTWlwSW5k
ZXgpOwogICAgIH0KICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvRnJhbWVidWZmZXJBdHRhY2htZW50LmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvRnJhbWVidWZmZXJBdHRhY2htZW50LmgKaW5kZXggMjg4NzMw
NTg5NDZiYzc2NjMwYTQ4ODJjZjQ1NzA0MzZiZmFlMzc4Mi4uMTk4ZDM2ZGEyYTFlOTBjOWZlZTNk
MGM4YjNmOTNlNjQ0YjdhNGUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL0ZyYW1lYnVmZmVyQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9GcmFtZWJ1ZmZlckF0dGFjaG1lbnQuaApAQCAtOTIsNyAr
OTIsNyBAQCBjbGFzcyBGcmFtZWJ1ZmZlckF0dGFjaG1lbnQgZmluYWwKICAgICBHTGVudW0gZ2V0
Q29tcG9uZW50VHlwZSgpIGNvbnN0OwogICAgIEdMZW51bSBnZXRDb2xvckVuY29kaW5nKCkgY29u
c3Q7CiAKLSAgICBib29sIGlzQm91bmRBc1NhbXBsZXJPckltYWdlKCkgY29uc3Q7CisgICAgYm9v
bCBpc0JvdW5kQXNTYW1wbGVyT3JJbWFnZShDb250ZXh0SUQgY29udGV4dElEKSBjb25zdDsKIAog
ICAgIGJvb2wgaXNUZXh0dXJlV2l0aElkKFRleHR1cmVJRCB0ZXh0dXJlSWQpIGNvbnN0CiAgICAg
ewpAQCAtMTk1LDcgKzE5NSw3IEBAIGNsYXNzIEZyYW1lYnVmZmVyQXR0YWNobWVudCBmaW5hbAog
fTsKIAogLy8gQSBiYXNlIGNsYXNzIGZvciBvYmplY3RzIHRoYXQgRkJPIEF0dGFjaG1lbnRzIG1h
eSBwb2ludCB0by4KLWNsYXNzIEZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdCA6IHB1YmxpYyBh
bmdsZTo6U3ViamVjdAorY2xhc3MgRnJhbWVidWZmZXJBdHRhY2htZW50T2JqZWN0IDogcHVibGlj
IGFuZ2xlOjpTdWJqZWN0LCBwdWJsaWMgYW5nbGU6Ok9ic2VydmVySW50ZXJmYWNlCiB7CiAgIHB1
YmxpYzoKICAgICBGcmFtZWJ1ZmZlckF0dGFjaG1lbnRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9HTEVTMVJlbmRlcmVyLmNwcCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9HTEVTMVJlbmRlcmVyLmNwcAppbmRl
eCAzM2VkZTc3ZTViYzgyM2E5NjgxMzU3MjUzZTAxMTcyMzllYWNhZTYxLi4zZmJmMDM0OGJmZmY4
ZmI4YWZhZDU3OGJmZmUyYTA4NDQ3ZTZjYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvR0xFUzFSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0dMRVMxUmVuZGVyZXIuY3BwCkBAIC01NTksOCArNTU5
LDggQEAgYW5nbGU6OlJlc3VsdCBHTEVTMVJlbmRlcmVyOjpsaW5rUHJvZ3JhbShDb250ZXh0ICpj
b250ZXh0LAogCiAgICAgKnByb2dyYW1PdXQgPSBwcm9ncmFtOwogCi0gICAgcHJvZ3JhbU9iamVj
dC0+YXR0YWNoU2hhZGVyKGdldFNoYWRlcih2ZXJ0ZXhTaGFkZXIpKTsKLSAgICBwcm9ncmFtT2Jq
ZWN0LT5hdHRhY2hTaGFkZXIoZ2V0U2hhZGVyKGZyYWdtZW50U2hhZGVyKSk7CisgICAgcHJvZ3Jh
bU9iamVjdC0+YXR0YWNoU2hhZGVyKGNvbnRleHQsIGdldFNoYWRlcih2ZXJ0ZXhTaGFkZXIpKTsK
KyAgICBwcm9ncmFtT2JqZWN0LT5hdHRhY2hTaGFkZXIoY29udGV4dCwgZ2V0U2hhZGVyKGZyYWdt
ZW50U2hhZGVyKSk7CiAKICAgICBmb3IgKGF1dG8gaXQgOiBhdHRyaWJMb2NzKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9JbWFnZS5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuY3BwCmluZGV4IDVj
MWUxZWYyMzU1YWYxNWMyZjljMTRjZTY4OTdmOWY2ZTZkNTc0MjcuLjU0NmVlOTFiNzNmOTQ5MDdm
NTUyODM1OWJlZTQ3MTI5MjNhODYxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9JbWFnZS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL0ltYWdlLmNwcApAQCAtNDksNiArNDksOCBAQCBjb25zdCBEaXNwbGF5ICpE
aXNwbGF5RnJvbUNvbnRleHQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7CiAgICAgcmV0
dXJuIChjb250ZXh0ID8gY29udGV4dC0+Z2V0RGlzcGxheSgpIDogbnVsbHB0cik7CiB9CisKK2Fu
Z2xlOjpTdWJqZWN0SW5kZXgga0V4dGVybmFsSW1hZ2VJbXBsU3ViamVjdEluZGV4ID0gMDsKIH0g
IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAogSW1hZ2VTaWJsaW5nOjpJbWFnZVNpYmxpbmcoKSA6
IEZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdCgpLCBtU291cmNlc09mKCksIG1UYXJnZXRPZigp
IHt9CkBAIC0xNDUsOCArMTQ3LDExIEBAIEV4dGVybmFsSW1hZ2VTaWJsaW5nOjpFeHRlcm5hbElt
YWdlU2libGluZyhyeDo6RUdMSW1wbEZhY3RvcnkgKmZhY3RvcnksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMZW51bSB0YXJnZXQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMQ2xpZW50QnVmZmVyIGJ1ZmZlciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBBdHRyaWJ1dGVN
YXAgJmF0dHJpYnMpCi0gICAgOiBtSW1wbGVtZW50YXRpb24oZmFjdG9yeS0+Y3JlYXRlRXh0ZXJu
YWxJbWFnZVNpYmxpbmcoY29udGV4dCwgdGFyZ2V0LCBidWZmZXIsIGF0dHJpYnMpKQote30KKyAg
ICA6IG1JbXBsZW1lbnRhdGlvbihmYWN0b3J5LT5jcmVhdGVFeHRlcm5hbEltYWdlU2libGluZyhj
b250ZXh0LCB0YXJnZXQsIGJ1ZmZlciwgYXR0cmlicykpLAorICAgICAgbUltcGxPYnNlcnZlckJp
bmRpbmcodGhpcywga0V4dGVybmFsSW1hZ2VJbXBsU3ViamVjdEluZGV4KQoreworICAgIG1JbXBs
T2JzZXJ2ZXJCaW5kaW5nLmJpbmQobUltcGxlbWVudGF0aW9uLmdldCgpKTsKK30KIAogRXh0ZXJu
YWxJbWFnZVNpYmxpbmc6On5FeHRlcm5hbEltYWdlU2libGluZygpID0gZGVmYXVsdDsKIApAQCAt
MjExLDYgKzIxNiwxMiBAQCByeDo6RXh0ZXJuYWxJbWFnZVNpYmxpbmdJbXBsICpFeHRlcm5hbElt
YWdlU2libGluZzo6Z2V0SW1wbGVtZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtSW1wbGVt
ZW50YXRpb24uZ2V0KCk7CiB9CiAKK3ZvaWQgRXh0ZXJuYWxJbWFnZVNpYmxpbmc6Om9uU3ViamVj
dFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6U3ViamVjdE1lc3NhZ2UgbWVz
c2FnZSkKK3sKKyAgICBvblN0YXRlQ2hhbmdlKG1lc3NhZ2UpOworfQorCiByeDo6RnJhbWVidWZm
ZXJBdHRhY2htZW50T2JqZWN0SW1wbCAqRXh0ZXJuYWxJbWFnZVNpYmxpbmc6OmdldEF0dGFjaG1l
bnRJbXBsKCkgY29uc3QKIHsKICAgICByZXR1cm4gbUltcGxlbWVudGF0aW9uLmdldCgpOwpAQCAt
MjI1LDcgKzIzNiw5IEBAIEltYWdlU3RhdGU6OkltYWdlU3RhdGUoRUdMZW51bSB0YXJnZXQsIElt
YWdlU2libGluZyAqYnVmZmVyLCBjb25zdCBBdHRyaWJ1dGVNYXAKICAgICAgIGZvcm1hdChHTF9O
T05FKSwKICAgICAgIHNpemUoKSwKICAgICAgIHNhbXBsZXMoKSwKLSAgICAgIHNvdXJjZVR5cGUo
dGFyZ2V0KQorICAgICAgc291cmNlVHlwZSh0YXJnZXQpLAorICAgICAgY29sb3JzcGFjZSgKKyAg
ICAgICAgICBzdGF0aWNfY2FzdDxFR0xlbnVtPihhdHRyaWJzLmdldChFR0xfR0xfQ09MT1JTUEFD
RSwgRUdMX0dMX0NPTE9SU1BBQ0VfREVGQVVMVF9FWFQpKSkKIHt9CiAKIEltYWdlU3RhdGU6On5J
bWFnZVN0YXRlKCkge30KQEAgLTM3NSw2ICszODgsMTEgQEAgc2l6ZV90IEltYWdlOjpnZXRIZWln
aHQoKSBjb25zdAogICAgIHJldHVybiBtU3RhdGUuc2l6ZS5oZWlnaHQ7CiB9CiAKK2Jvb2wgSW1h
Z2U6OmlzTGF5ZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1TdGF0ZS5pbWFnZUluZGV4Lmlz
TGF5ZXJlZCgpOworfQorCiBzaXplX3QgSW1hZ2U6OmdldFNhbXBsZXMoKSBjb25zdAogewogICAg
IHJldHVybiBtU3RhdGUuc2FtcGxlczsKQEAgLTM5Miw3ICs0MTAsMTkgQEAgRXJyb3IgSW1hZ2U6
OmluaXRpYWxpemUoY29uc3QgRGlzcGxheSAqZGlzcGxheSkKICAgICAgICAgQU5HTEVfVFJZKHJ4
OjpHZXRBczxFeHRlcm5hbEltYWdlU2libGluZz4obVN0YXRlLnNvdXJjZSktPmluaXRpYWxpemUo
ZGlzcGxheSkpOwogICAgIH0KIAotICAgIG1TdGF0ZS5mb3JtYXQgID0gbVN0YXRlLnNvdXJjZS0+
Z2V0QXR0YWNobWVudEZvcm1hdChHTF9OT05FLCBtU3RhdGUuaW1hZ2VJbmRleCk7CisgICAgbVN0
YXRlLmZvcm1hdCA9IG1TdGF0ZS5zb3VyY2UtPmdldEF0dGFjaG1lbnRGb3JtYXQoR0xfTk9ORSwg
bVN0YXRlLmltYWdlSW5kZXgpOworCisgICAgaWYgKG1TdGF0ZS5jb2xvcnNwYWNlICE9IEVHTF9H
TF9DT0xPUlNQQUNFX0RFRkFVTFRfRVhUKQorICAgIHsKKyAgICAgICAgR0xlbnVtIG5vbkxpbmVh
ckZvcm1hdCA9IG1TdGF0ZS5mb3JtYXQuaW5mby0+c2l6ZWRJbnRlcm5hbEZvcm1hdDsKKyAgICAg
ICAgaWYgKCFnbDo6Q29sb3JzcGFjZUZvcm1hdE92ZXJyaWRlKG1TdGF0ZS5jb2xvcnNwYWNlLCAm
bm9uTGluZWFyRm9ybWF0KSkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gdGhlIGNvbG9yc3Bh
Y2UgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgICAgIHJldHVybiBlZ2w6OkVnbEJh
ZE1hdGNoKCk7CisgICAgICAgIH0KKyAgICAgICAgbVN0YXRlLmZvcm1hdCA9IGdsOjpGb3JtYXQo
bm9uTGluZWFyRm9ybWF0KTsKKyAgICB9CisKICAgICBtU3RhdGUuc2l6ZSAgICA9IG1TdGF0ZS5z
b3VyY2UtPmdldEF0dGFjaG1lbnRTaXplKG1TdGF0ZS5pbWFnZUluZGV4KTsKICAgICBtU3RhdGUu
c2FtcGxlcyA9IG1TdGF0ZS5zb3VyY2UtPmdldEF0dGFjaG1lbnRTYW1wbGVzKG1TdGF0ZS5pbWFn
ZUluZGV4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL0ltYWdlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2Uu
aAppbmRleCBkNWZkNjQ2MGUwZTY0MjE5ZTQxZTlhNWFiOTBmZjFhNjNhZWJkYjRlLi5lOTJmOTk0
NWY4ZDhhZGVhZDI4YjNjNjVjNjA4MzM3NjNmN2QxZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBEaXNw
bGF5OwogLy8gT25seSBjdXJyZW50bHkgUmVuZGVyYnVmZmVycyBhbmQgVGV4dHVyZXMgY2FuIGJl
IGJvdW5kIHdpdGggaW1hZ2VzLiBUaGlzIG1ha2VzIHRoZSByZWxhdGlvbnNoaXAKIC8vIGV4cGxp
Y2l0LCBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgYW4gaW1hZ2Ugc2libGluZyBjYW4gZGV0ZXJtaW5l
IGlmIGl0J3MgYmVlbiBpbml0aWFsaXplZCBvciBub3QsCiAvLyB3aGljaCBpcyBpbXBvcnRhbnQg
Zm9yIHRoZSByb2J1c3QgcmVzb3VyY2UgaW5pdCBleHRlbnNpb24gd2l0aCBUZXh0dXJlcyBhbmQg
RUdMSW1hZ2VzLgotY2xhc3MgSW1hZ2VTaWJsaW5nIDogcHVibGljIGdsOjpGcmFtZWJ1ZmZlckF0
dGFjaG1lbnRPYmplY3QsIHB1YmxpYyBhbmdsZTo6T2JzZXJ2ZXJJbnRlcmZhY2UKK2NsYXNzIElt
YWdlU2libGluZyA6IHB1YmxpYyBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50T2JqZWN0CiB7CiAg
IHB1YmxpYzoKICAgICBJbWFnZVNpYmxpbmcoKTsKQEAgLTUyLDEyICs1Miw2IEBAIGNsYXNzIElt
YWdlU2libGluZyA6IHB1YmxpYyBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50T2JqZWN0LCBwdWJs
aWMgYW5nbGU6Ok9ic2VyCiAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGJpbmRpbmcsCiAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmltYWdlSW5kZXgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgLy8gT2JzZXJ2ZXJJbnRlcmZhY2UgaW1wbGVtZW50YXRpb24K
LSAgICB2b2lkIG9uU3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgs
IGFuZ2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
Ly8gZGVmYXVsdCB0byBuby1vcC4KLSAgICB9Ci0KICAgcHJvdGVjdGVkOgogICAgIC8vIFNldCB0
aGUgaW1hZ2UgdGFyZ2V0IG9mIHRoaXMgc2libGluZwogICAgIHZvaWQgc2V0VGFyZ2V0SW1hZ2Uo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGVnbDo6SW1hZ2UgKmltYWdlVGFyZ2V0KTsKQEAg
LTExNyw3ICsxMTEsMTEgQEAgY2xhc3MgRXh0ZXJuYWxJbWFnZVNpYmxpbmcgOiBwdWJsaWMgSW1h
Z2VTaWJsaW5nCiAgICAgcng6OkZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwgKmdldEF0
dGFjaG1lbnRJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgcHJpdmF0ZToKKyAgICAvLyBPYnNl
cnZlckludGVyZmFjZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIG9uU3ViamVjdFN0YXRlQ2hh
bmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNz
YWdlKSBvdmVycmlkZTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxyeDo6RXh0ZXJuYWxJbWFnZVNp
YmxpbmdJbXBsPiBtSW1wbGVtZW50YXRpb247CisgICAgYW5nbGU6Ok9ic2VydmVyQmluZGluZyBt
SW1wbE9ic2VydmVyQmluZGluZzsKIH07CiAKIHN0cnVjdCBJbWFnZVN0YXRlIDogcHJpdmF0ZSBh
bmdsZTo6Tm9uQ29weWFibGUKQEAgLTEzNSw2ICsxMzMsNyBAQCBzdHJ1Y3QgSW1hZ2VTdGF0ZSA6
IHByaXZhdGUgYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgZ2w6OkV4dGVudHMgc2l6ZTsKICAgICBz
aXplX3Qgc2FtcGxlczsKICAgICBFR0xlbnVtIHNvdXJjZVR5cGU7CisgICAgRUdMZW51bSBjb2xv
cnNwYWNlOwogfTsKIAogY2xhc3MgSW1hZ2UgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3Qs
IHB1YmxpYyBMYWJlbGVkT2JqZWN0CkBAIC0xNTcsNiArMTU2LDcgQEAgY2xhc3MgSW1hZ2UgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3QsIHB1YmxpYyBMYWJlbGVkT2JqZWN0CiAgICAgYm9v
bCBpc1RleHR1cmFibGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0OwogICAgIHNp
emVfdCBnZXRXaWR0aCgpIGNvbnN0OwogICAgIHNpemVfdCBnZXRIZWlnaHQoKSBjb25zdDsKKyAg
ICBib29sIGlzTGF5ZXJlZCgpIGNvbnN0OwogICAgIHNpemVfdCBnZXRTYW1wbGVzKCkgY29uc3Q7
CiAKICAgICBFcnJvciBpbml0aWFsaXplKGNvbnN0IERpc3BsYXkgKmRpc3BsYXkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ltYWdlX3VuaXR0ZXN0
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9JbWFnZV91bml0dGVz
dC5jcHAKaW5kZXggZDM1ODIxNjAwZTJmOTNiYjQzODAyMTAyZDRkMjFmYzM3YmUzNGU2ZS4uNTNi
ZTExZWIyN2U2ODhiZWI5YzgzYmFiY2U4MDI1MjkyYWY0OTc0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ltYWdlX3VuaXR0ZXN0LmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2VfdW5pdHRlc3QuY3BwCkBA
IC0xMTEsMTIgKzExMSwxMyBAQCBURVNUKEltYWdlVGVzdCwgUmVzcGVjaWZpY2F0aW9uUmVsZWFz
ZXNSZWZlcmVuY2VzKQogCiAgICAgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgZGVmYXVsdFVucGFja1N0
YXRlOwogCi0gICAgRVhQRUNUX0NBTEwoKnRleHR1cmVJbXBsLCBzZXRJbWFnZShfLCBfLCBfLCBf
LCBfLCBfLCBfLCBfKSkKKyAgICBFWFBFQ1RfQ0FMTCgqdGV4dHVyZUltcGwsIHNldEltYWdlKF8s
IF8sIF8sIF8sIF8sIF8sIF8sIF8sIF8pKQogICAgICAgICAuV2lsbE9uY2UoUmV0dXJuKGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlKSkKICAgICAgICAgLlJldGlyZXNPblNhdHVyYXRpb24oKTsKLSAg
ICBFWFBFQ1RfRVEoYW5nbGU6OlJlc3VsdDo6Q29udGludWUsCi0gICAgICAgICAgICAgIHRleHR1
cmUtPnNldEltYWdlKG51bGxwdHIsIGRlZmF1bHRVbnBhY2tTdGF0ZSwgZ2w6OlRleHR1cmVUYXJn
ZXQ6Ol8yRCwgMCwgR0xfUkdCQTgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGds
OjpFeHRlbnRzKDEsIDEsIDEpLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBudWxscHRyKSk7
CisgICAgRVhQRUNUX0VRKAorICAgICAgICBhbmdsZTo6UmVzdWx0OjpDb250aW51ZSwKKyAgICAg
ICAgdGV4dHVyZS0+c2V0SW1hZ2UobnVsbHB0ciwgZGVmYXVsdFVucGFja1N0YXRlLCBudWxscHRy
LCBnbDo6VGV4dHVyZVRhcmdldDo6XzJELCAwLCBHTF9SR0JBOCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2w6OkV4dGVudHMoMSwgMSwgMSksIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUs
IG51bGxwdHIpKTsKIAogICAgIEVYUEVDVF9DQUxMKG1vY2tFR0xGYWN0b3J5LCBjcmVhdGVJbWFn
ZShfLCBfLCBfLCBfKSkKICAgICAgICAgLldpbGxPbmNlKENyZWF0ZU1vY2tJbWFnZUltcGwoKSkK
QEAgLTEzNSwxMyArMTM2LDE0IEBAIFRFU1QoSW1hZ2VUZXN0LCBSZXNwZWNpZmljYXRpb25SZWxl
YXNlc1JlZmVyZW5jZXMpCiAgICAgRVhQRUNUX0NBTEwoKmltYWdlSW1wbCwgb3JwaGFuKF8sIF8p
KQogICAgICAgICAuV2lsbE9uY2UoUmV0dXJuKGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlKSkKICAg
ICAgICAgLlJldGlyZXNPblNhdHVyYXRpb24oKTsKLSAgICBFWFBFQ1RfQ0FMTCgqdGV4dHVyZUlt
cGwsIHNldEltYWdlKF8sIF8sIF8sIF8sIF8sIF8sIF8sIF8pKQorICAgIEVYUEVDVF9DQUxMKCp0
ZXh0dXJlSW1wbCwgc2V0SW1hZ2UoXywgXywgXywgXywgXywgXywgXywgXywgXykpCiAgICAgICAg
IC5XaWxsT25jZShSZXR1cm4oYW5nbGU6OlJlc3VsdDo6Q29udGludWUpKQogICAgICAgICAuUmV0
aXJlc09uU2F0dXJhdGlvbigpOwogCi0gICAgRVhQRUNUX0VRKGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlLAotICAgICAgICAgICAgICB0ZXh0dXJlLT5zZXRJbWFnZShudWxscHRyLCBkZWZhdWx0VW5w
YWNrU3RhdGUsIGdsOjpUZXh0dXJlVGFyZ2V0OjpfMkQsIDAsIEdMX1JHQkE4LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnbDo6RXh0ZW50cygxLCAxLCAxKSwgR0xfUkdCQSwgR0xf
VU5TSUdORURfQllURSwgbnVsbHB0cikpOworICAgIEVYUEVDVF9FUSgKKyAgICAgICAgYW5nbGU6
OlJlc3VsdDo6Q29udGludWUsCisgICAgICAgIHRleHR1cmUtPnNldEltYWdlKG51bGxwdHIsIGRl
ZmF1bHRVbnBhY2tTdGF0ZSwgbnVsbHB0ciwgZ2w6OlRleHR1cmVUYXJnZXQ6Ol8yRCwgMCwgR0xf
UkdCQTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpFeHRlbnRzKDEsIDEsIDEpLCBH
TF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBudWxscHRyKSk7CiAKICAgICBFWFBFQ1RfRVEoMXUs
IHRleHR1cmUtPmdldFJlZkNvdW50KCkpOwogICAgIEVYUEVDVF9FUSgxdSwgaW1hZ2UtPmdldFJl
ZkNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL01lbW9yeVByb2dyYW1DYWNoZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvTWVtb3J5UHJvZ3JhbUNhY2hlLmNwcAppbmRleCAyOTliMmUzODY0NTI4ZGVmMDVj
OWFkYzdkMzVhNGM3ZGFlZDIzYjFmLi43ZmVhNThjMzUzNWFiYmViMjFkYzdhNTYyYzIxNDBjMDM2
ZDI2ODI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
TWVtb3J5UHJvZ3JhbUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvTWVtb3J5UHJvZ3JhbUNhY2hlLmNwcApAQCAtMTE2LDYgKzExNiw3IEBAIHZvaWQg
TWVtb3J5UHJvZ3JhbUNhY2hlOjpDb21wdXRlSGFzaChjb25zdCBDb250ZXh0ICpjb250ZXh0LAog
CiAgICAgLy8gSGFzaCBwcmUtbGluayBwcm9ncmFtIHByb3BlcnRpZXMuCiAgICAgaGFzaFN0cmVh
bSA8PCBwcm9ncmFtLT5nZXRBdHRyaWJ1dGVCaW5kaW5ncygpIDw8IHByb2dyYW0tPmdldFVuaWZv
cm1Mb2NhdGlvbkJpbmRpbmdzKCkKKyAgICAgICAgICAgICAgIDw8IHByb2dyYW0tPmdldEZyYWdt
ZW50T3V0cHV0TG9jYXRpb25zKCkgPDwgcHJvZ3JhbS0+Z2V0RnJhZ21lbnRPdXRwdXRJbmRleGVz
KCkKICAgICAgICAgICAgICAgIDw8IHByb2dyYW0tPmdldFN0YXRlKCkuZ2V0VHJhbnNmb3JtRmVl
ZGJhY2tWYXJ5aW5nTmFtZXMoKQogICAgICAgICAgICAgICAgPDwgcHJvZ3JhbS0+Z2V0U3RhdGUo
KS5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKQogICAgICAgICAgICAgICAgPDwgcHJv
Z3JhbS0+Z2V0U3RhdGUoKS5nZXRPdXRwdXRMb2NhdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Byb2dyYW0uY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Byb2dyYW0uY3BwCmluZGV4IGNiYzZhMzY4MTVlM2U5
MjIxZDdiMDA0YmMyYzNkMTA4MTYxMDFlMmYuLmI0MWE5YjZiMDJlZmMyNTNmZmJiNTlmOWQ2MjZi
MTJhYjIyNzg3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9Qcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvUHJvZ3JhbS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb21tb24vdmVyc2lv
bi5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvYmxvY2tsYXlvdXQuaCIKICNpbmNs
dWRlICJsaWJBTkdMRS9Db250ZXh0LmgiCisjaW5jbHVkZSAibGliQU5HTEUvRXJyb3JTdHJpbmdz
LmgiCiAjaW5jbHVkZSAibGliQU5HTEUvTWVtb3J5UHJvZ3JhbUNhY2hlLmgiCiAjaW5jbHVkZSAi
bGliQU5HTEUvUHJvZ3JhbUxpbmtlZFJlc291cmNlcy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL1Jl
c291cmNlTWFuYWdlci5oIgpAQCAtNzMxLDI1ICs3MzIsMTIgQEAgdm9pZCBMb2FkSW50ZXJmYWNl
QmxvY2soQmluYXJ5SW5wdXRTdHJlYW0gKnN0cmVhbSwgSW50ZXJmYWNlQmxvY2sgKmJsb2NrKQog
CiAgICAgTG9hZFNoYWRlclZhcmlhYmxlQnVmZmVyKHN0cmVhbSwgYmxvY2spOwogfQotCi0vLyBU
T0RPKHRpbXZwKTogaHR0cDovL2FuZ2xlYnVnLmNvbS8zNTcwOiBSZW1vdmUgd2hlbiBQUE9zIGFy
ZSBzdXBwb3J0ZWQKLXNpemVfdCBDb3VudFVuaXF1ZUJsb2Nrcyhjb25zdCBzdGQ6OnZlY3RvcjxJ
bnRlcmZhY2VCbG9jaz4gJmJsb2NrcykKLXsKLSAgICBzaXplX3QgY291bnQgPSAwOwotICAgIGZv
ciAoY29uc3QgSW50ZXJmYWNlQmxvY2sgJmJsb2NrIDogYmxvY2tzKQotICAgIHsKLSAgICAgICAg
aWYgKCFibG9jay5pc0FycmF5IHx8IGJsb2NrLmFycmF5RWxlbWVudCA9PSAwKQotICAgICAgICB7
Ci0gICAgICAgICAgICArK2NvdW50OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBjb3Vu
dDsKLX0KIH0gIC8vIGFub255bW91cyBuYW1lc3BhY2UKIAogLy8gU2F2ZXMgdGhlIGxpbmtpbmcg
Y29udGV4dCBmb3IgbGF0ZXIgdXNlIGluIHJlc29sdmVMaW5rKCkuCiBzdHJ1Y3QgUHJvZ3JhbTo6
TGlua2luZ1N0YXRlCiB7CisgICAgc3RkOjpzaGFyZWRfcHRyPFByb2dyYW1FeGVjdXRhYmxlPiBs
aW5rZWRFeGVjdXRhYmxlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTGlua2VkUmVzb3Vy
Y2VzPiByZXNvdXJjZXM7CiAgICAgZWdsOjpCbG9iQ2FjaGU6OktleSBwcm9ncmFtSGFzaDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8cng6OkxpbmtFdmVudD4gbGlua0V2ZW50OwpAQCAtNzU5LDcgKzc0
Nyw3IEBAIHN0cnVjdCBQcm9ncmFtOjpMaW5raW5nU3RhdGUKIGNvbnN0IGNoYXIgKmNvbnN0IGdf
ZmFrZXBhdGggPSAiQzpcXGZha2VwYXRoIjsKIAogLy8gSW5mb0xvZyBpbXBsZW1lbnRhdGlvbi4K
LUluZm9Mb2c6OkluZm9Mb2coKSB7fQorSW5mb0xvZzo6SW5mb0xvZygpIDogbUxhenlTdHJlYW0o
bnVsbHB0cikge30KIAogSW5mb0xvZzo6fkluZm9Mb2coKSB7fQogCkBAIC0xMDkxLDEwICsxMDc5
LDggQEAgSW1hZ2VCaW5kaW5nOjp+SW1hZ2VCaW5kaW5nKCkgPSBkZWZhdWx0OwogUHJvZ3JhbVN0
YXRlOjpQcm9ncmFtU3RhdGUoKQogICAgIDogbUxhYmVsKCksCiAgICAgICBtQXR0YWNoZWRTaGFk
ZXJze30sCi0gICAgICBtVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKEdMX0lOVEVSTEVBVkVE
X0FUVFJJQlMpLAorICAgICAgbUF0dGFjaGVkU2hhZGVyc01hcmtlZEZvckRldGFjaHt9LAogICAg
ICAgbURlZmF1bHRVbmlmb3JtUmFuZ2UoMCwgMCksCi0gICAgICBtU2FtcGxlclVuaWZvcm1SYW5n
ZSgwLCAwKSwKLSAgICAgIG1JbWFnZVVuaWZvcm1SYW5nZSgwLCAwKSwKICAgICAgIG1BdG9taWND
b3VudGVyVW5pZm9ybVJhbmdlKDAsIDApLAogICAgICAgbUJpbmFyeVJldHJpZXZlYWJsZUhpbnQo
ZmFsc2UpLAogICAgICAgbVNlcGFyYWJsZShmYWxzZSksCkBAIC0xMTA4LDEwICsxMDk0LDEyIEBA
IFByb2dyYW1TdGF0ZTo6UHJvZ3JhbVN0YXRlKCkKICAgICAgIG1CYXNlVmVydGV4TG9jYXRpb24o
LTEpLAogICAgICAgbUJhc2VJbnN0YW5jZUxvY2F0aW9uKC0xKSwKICAgICAgIG1DYWNoZWRCYXNl
VmVydGV4KDApLAotICAgICAgbUNhY2hlZEJhc2VJbnN0YW5jZSgwKQorICAgICAgbUNhY2hlZEJh
c2VJbnN0YW5jZSgwKSwKKyAgICAgIG1FeGVjdXRhYmxlKG5ldyBQcm9ncmFtRXhlY3V0YWJsZSgp
KQogewogICAgIG1Db21wdXRlU2hhZGVyTG9jYWxTaXplLmZpbGwoMSk7Ci0gICAgbUV4ZWN1dGFi
bGUuc2V0UHJvZ3JhbVN0YXRlKHRoaXMpOworCisgICAgbUV4ZWN1dGFibGUtPnNldFByb2dyYW1T
dGF0ZSh0aGlzKTsKIH0KIAogUHJvZ3JhbVN0YXRlOjp+UHJvZ3JhbVN0YXRlKCkKQEAgLTExMzAs
MjUgKzExMTgsMTQgQEAgU2hhZGVyICpQcm9ncmFtU3RhdGU6OmdldEF0dGFjaGVkU2hhZGVyKFNo
YWRlclR5cGUgc2hhZGVyVHlwZSkgY29uc3QKICAgICByZXR1cm4gbUF0dGFjaGVkU2hhZGVyc1tz
aGFkZXJUeXBlXTsKIH0KIAotLy8gVE9ETyh0aW12cCk6IGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzU3
MDogUmVtb3ZlIHdoZW4gUFBPcyBhcmUgc3VwcG9ydGVkCi1zaXplX3QgUHJvZ3JhbVN0YXRlOjpn
ZXRVbmlxdWVVbmlmb3JtQmxvY2tDb3VudCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIENvdW50VW5p
cXVlQmxvY2tzKG1Vbmlmb3JtQmxvY2tzKTsKLX0KLQotc2l6ZV90IFByb2dyYW1TdGF0ZTo6Z2V0
VW5pcXVlU3RvcmFnZUJsb2NrQ291bnQoKSBjb25zdAotewotICAgIHJldHVybiBDb3VudFVuaXF1
ZUJsb2NrcyhtU2hhZGVyU3RvcmFnZUJsb2Nrcyk7Ci19Ci0KIHNpemVfdCBQcm9ncmFtU3RhdGU6
OmdldFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291bnQoKSBjb25zdAogewotICAgIHJldHVybiBt
VHJhbnNmb3JtRmVlZGJhY2tTdHJpZGVzLnNpemUoKTsKKyAgICByZXR1cm4gbUV4ZWN1dGFibGUt
Pm1UcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXMuc2l6ZSgpOwogfQogCiBHTHVpbnQgUHJvZ3JhbVN0
YXRlOjpnZXRVbmlmb3JtSW5kZXhGcm9tTmFtZShjb25zdCBzdGQ6OnN0cmluZyAmbmFtZSkgY29u
c3QKIHsKLSAgICByZXR1cm4gR2V0UmVzb3VyY2VJbmRleEZyb21OYW1lKG1Vbmlmb3JtcywgbmFt
ZSk7CisgICAgcmV0dXJuIEdldFJlc291cmNlSW5kZXhGcm9tTmFtZShtRXhlY3V0YWJsZS0+bVVu
aWZvcm1zLCBuYW1lKTsKIH0KIAogR0x1aW50IFByb2dyYW1TdGF0ZTo6Z2V0QnVmZmVyVmFyaWFi
bGVJbmRleEZyb21OYW1lKGNvbnN0IHN0ZDo6c3RyaW5nICZuYW1lKSBjb25zdApAQCAtMTE3NSw0
MSArMTE1Miw0MSBAQCBPcHRpb25hbDxHTHVpbnQ+IFByb2dyYW1TdGF0ZTo6Z2V0U2FtcGxlcklu
ZGV4KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbikgY29uc3QKIAogYm9vbCBQcm9ncmFtU3RhdGU6
OmlzU2FtcGxlclVuaWZvcm1JbmRleChHTHVpbnQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IG1TYW1wbGVyVW5pZm9ybVJhbmdlLmNvbnRhaW5zKGluZGV4KTsKKyAgICByZXR1cm4gbUV4ZWN1
dGFibGUtPm1TYW1wbGVyVW5pZm9ybVJhbmdlLmNvbnRhaW5zKGluZGV4KTsKIH0KIAogR0x1aW50
IFByb2dyYW1TdGF0ZTo6Z2V0U2FtcGxlckluZGV4RnJvbVVuaWZvcm1JbmRleChHTHVpbnQgdW5p
Zm9ybUluZGV4KSBjb25zdAogewogICAgIEFTU0VSVChpc1NhbXBsZXJVbmlmb3JtSW5kZXgodW5p
Zm9ybUluZGV4KSk7Ci0gICAgcmV0dXJuIHVuaWZvcm1JbmRleCAtIG1TYW1wbGVyVW5pZm9ybVJh
bmdlLmxvdygpOworICAgIHJldHVybiB1bmlmb3JtSW5kZXggLSBtRXhlY3V0YWJsZS0+bVNhbXBs
ZXJVbmlmb3JtUmFuZ2UubG93KCk7CiB9CiAKIEdMdWludCBQcm9ncmFtU3RhdGU6OmdldFVuaWZv
cm1JbmRleEZyb21TYW1wbGVySW5kZXgoR0x1aW50IHNhbXBsZXJJbmRleCkgY29uc3QKIHsKLSAg
ICBBU1NFUlQoc2FtcGxlckluZGV4IDwgbVNhbXBsZXJVbmlmb3JtUmFuZ2UubGVuZ3RoKCkpOwot
ICAgIHJldHVybiBzYW1wbGVySW5kZXggKyBtU2FtcGxlclVuaWZvcm1SYW5nZS5sb3coKTsKKyAg
ICBBU1NFUlQoc2FtcGxlckluZGV4IDwgbUV4ZWN1dGFibGUtPm1TYW1wbGVyVW5pZm9ybVJhbmdl
Lmxlbmd0aCgpKTsKKyAgICByZXR1cm4gc2FtcGxlckluZGV4ICsgbUV4ZWN1dGFibGUtPm1TYW1w
bGVyVW5pZm9ybVJhbmdlLmxvdygpOwogfQogCiBib29sIFByb2dyYW1TdGF0ZTo6aXNJbWFnZVVu
aWZvcm1JbmRleChHTHVpbnQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1JbWFnZVVuaWZv
cm1SYW5nZS5jb250YWlucyhpbmRleCk7CisgICAgcmV0dXJuIG1FeGVjdXRhYmxlLT5tSW1hZ2VV
bmlmb3JtUmFuZ2UuY29udGFpbnMoaW5kZXgpOwogfQogCiBHTHVpbnQgUHJvZ3JhbVN0YXRlOjpn
ZXRJbWFnZUluZGV4RnJvbVVuaWZvcm1JbmRleChHTHVpbnQgdW5pZm9ybUluZGV4KSBjb25zdAog
ewogICAgIEFTU0VSVChpc0ltYWdlVW5pZm9ybUluZGV4KHVuaWZvcm1JbmRleCkpOwotICAgIHJl
dHVybiB1bmlmb3JtSW5kZXggLSBtSW1hZ2VVbmlmb3JtUmFuZ2UubG93KCk7CisgICAgcmV0dXJu
IHVuaWZvcm1JbmRleCAtIG1FeGVjdXRhYmxlLT5tSW1hZ2VVbmlmb3JtUmFuZ2UubG93KCk7CiB9
CiAKIEdMdWludCBQcm9ncmFtU3RhdGU6OmdldFVuaWZvcm1JbmRleEZyb21JbWFnZUluZGV4KEdM
dWludCBpbWFnZUluZGV4KSBjb25zdAogewotICAgIEFTU0VSVChpbWFnZUluZGV4IDwgbUltYWdl
VW5pZm9ybVJhbmdlLmxlbmd0aCgpKTsKLSAgICByZXR1cm4gaW1hZ2VJbmRleCArIG1JbWFnZVVu
aWZvcm1SYW5nZS5sb3coKTsKKyAgICBBU1NFUlQoaW1hZ2VJbmRleCA8IG1FeGVjdXRhYmxlLT5t
SW1hZ2VVbmlmb3JtUmFuZ2UubGVuZ3RoKCkpOworICAgIHJldHVybiBpbWFnZUluZGV4ICsgbUV4
ZWN1dGFibGUtPm1JbWFnZVVuaWZvcm1SYW5nZS5sb3coKTsKIH0KIAogR0x1aW50IFByb2dyYW1T
dGF0ZTo6Z2V0QXR0cmlidXRlTG9jYXRpb24oY29uc3Qgc3RkOjpzdHJpbmcgJm5hbWUpIGNvbnN0
CiB7Ci0gICAgZm9yIChjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJmF0dHJpYnV0ZSA6IG1Qcm9n
cmFtSW5wdXRzKQorICAgIGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZhdHRyaWJ1dGUg
OiBtRXhlY3V0YWJsZS0+bVByb2dyYW1JbnB1dHMpCiAgICAgewogICAgICAgICBpZiAoYXR0cmli
dXRlLm5hbWUgPT0gbmFtZSkKICAgICAgICAgewpAQCAtMTIzNCwyMCArMTIxMSwxMiBAQCBib29s
IFByb2dyYW1TdGF0ZTo6aGFzQXR0YWNoZWRTaGFkZXIoKSBjb25zdAogCiBTaGFkZXJUeXBlIFBy
b2dyYW1TdGF0ZTo6Z2V0Rmlyc3RBdHRhY2hlZFNoYWRlclN0YWdlVHlwZSgpIGNvbnN0CiB7Ci0g
ICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OmtBbGxHcmFwaGlj
c1NoYWRlclR5cGVzKQotICAgIHsKLSAgICAgICAgaWYgKG1FeGVjdXRhYmxlLmhhc0xpbmtlZFNo
YWRlclN0YWdlKHNoYWRlclR5cGUpKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gc2hh
ZGVyVHlwZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChtRXhlY3V0YWJsZS5oYXNMaW5r
ZWRTaGFkZXJTdGFnZShTaGFkZXJUeXBlOjpDb21wdXRlKSkKKyAgICBpZiAobUV4ZWN1dGFibGUt
PmdldExpbmtlZFNoYWRlclN0YWdlcygpLm5vbmUoKSkKICAgICB7Ci0gICAgICAgIHJldHVybiBT
aGFkZXJUeXBlOjpDb21wdXRlOworICAgICAgICByZXR1cm4gU2hhZGVyVHlwZTo6SW52YWxpZEVu
dW07CiAgICAgfQogCi0gICAgcmV0dXJuIFNoYWRlclR5cGU6OkludmFsaWRFbnVtOworICAgIHJl
dHVybiAqbUV4ZWN1dGFibGUtPmdldExpbmtlZFNoYWRlclN0YWdlcygpLmJlZ2luKCk7CiB9CiAK
IFNoYWRlclR5cGUgUHJvZ3JhbVN0YXRlOjpnZXRMYXN0QXR0YWNoZWRTaGFkZXJTdGFnZVR5cGUo
KSBjb25zdApAQCAtMTI1NiwxMyArMTIyNSwxMyBAQCBTaGFkZXJUeXBlIFByb2dyYW1TdGF0ZTo6
Z2V0TGFzdEF0dGFjaGVkU2hhZGVyU3RhZ2VUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIGNv
bnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgPSBnbDo6a0FsbEdyYXBoaWNzU2hhZGVyVHlw
ZXNbaV07CiAKLSAgICAgICAgaWYgKG1FeGVjdXRhYmxlLmhhc0xpbmtlZFNoYWRlclN0YWdlKHNo
YWRlclR5cGUpKQorICAgICAgICBpZiAobUV4ZWN1dGFibGUtPmhhc0xpbmtlZFNoYWRlclN0YWdl
KHNoYWRlclR5cGUpKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gc2hhZGVyVHlwZTsK
ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChtRXhlY3V0YWJsZS5oYXNMaW5rZWRTaGFkZXJT
dGFnZShTaGFkZXJUeXBlOjpDb21wdXRlKSkKKyAgICBpZiAobUV4ZWN1dGFibGUtPmhhc0xpbmtl
ZFNoYWRlclN0YWdlKFNoYWRlclR5cGU6OkNvbXB1dGUpKQogICAgIHsKICAgICAgICAgcmV0dXJu
IFNoYWRlclR5cGU6OkNvbXB1dGU7CiAgICAgfQpAQCAtMTI3NSw3ICsxMjQ0LDYgQEAgUHJvZ3Jh
bTo6UHJvZ3JhbShyeDo6R0xJbXBsRmFjdG9yeSAqZmFjdG9yeSwgU2hhZGVyUHJvZ3JhbU1hbmFn
ZXIgKm1hbmFnZXIsIFNoYWQKICAgICAgIG1Qcm9ncmFtKGZhY3RvcnktPmNyZWF0ZVByb2dyYW0o
bVN0YXRlKSksCiAgICAgICBtVmFsaWRhdGVkKGZhbHNlKSwKICAgICAgIG1MaW5rZWQoZmFsc2Up
LAotICAgICAgbUxpbmtSZXNvbHZlZCh0cnVlKSwKICAgICAgIG1EZWxldGVTdGF0dXMoZmFsc2Up
LAogICAgICAgbVJlZkNvdW50KDApLAogICAgICAgbVJlc291cmNlTWFuYWdlcihtYW5hZ2VyKSwK
QEAgLTEyOTksNyArMTI2Nyw4IEBAIHZvaWQgUHJvZ3JhbTo6b25EZXN0cm95KGNvbnN0IENvbnRl
eHQgKmNvbnRleHQpCiAgICAgICAgIGlmIChtU3RhdGUubUF0dGFjaGVkU2hhZGVyc1tzaGFkZXJU
eXBlXSkKICAgICAgICAgewogICAgICAgICAgICAgbVN0YXRlLm1BdHRhY2hlZFNoYWRlcnNbc2hh
ZGVyVHlwZV0tPnJlbGVhc2UoY29udGV4dCk7Ci0gICAgICAgICAgICBtU3RhdGUubUF0dGFjaGVk
U2hhZGVyc1tzaGFkZXJUeXBlXSA9IG51bGxwdHI7CisgICAgICAgICAgICBtU3RhdGUubUF0dGFj
aGVkU2hhZGVyc1tzaGFkZXJUeXBlXSAgICAgICAgICAgICAgICA9IG51bGxwdHI7CisgICAgICAg
ICAgICBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc01hcmtlZEZvckRldGFjaFtzaGFkZXJUeXBlXSA9
IGZhbHNlOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMzEyLDQ2ICsxMjgxLDY2IEBAIHZvaWQg
UHJvZ3JhbTo6b25EZXN0cm95KGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiB9CiBTaGFkZXJQcm9n
cmFtSUQgUHJvZ3JhbTo6aWQoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtSGFuZGxlOwogfQogCiB2
b2lkIFByb2dyYW06OnNldExhYmVsKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IHN0ZDo6
c3RyaW5nICZsYWJlbCkKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJU
KCFtTGlua2luZ1N0YXRlKTsKICAgICBtU3RhdGUubUxhYmVsID0gbGFiZWw7CiB9CiAKIGNvbnN0
IHN0ZDo6c3RyaW5nICZQcm9ncmFtOjpnZXRMYWJlbCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1M
aW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1T
dGF0ZS5tTGFiZWw7CiB9CiAKLXZvaWQgUHJvZ3JhbTo6YXR0YWNoU2hhZGVyKFNoYWRlciAqc2hh
ZGVyKQordm9pZCBQcm9ncmFtOjphdHRhY2hTaGFkZXIoY29uc3QgQ29udGV4dCAqY29udGV4dCwg
U2hhZGVyICpzaGFkZXIpCiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VS
VCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgU2hhZGVyVHlwZSBzaGFkZXJUeXBlID0gc2hhZGVyLT5n
ZXRUeXBlKCk7CiAgICAgQVNTRVJUKHNoYWRlclR5cGUgIT0gU2hhZGVyVHlwZTo6SW52YWxpZEVu
dW0pOwogCisgICAgLy8gU2luY2UgZGV0YWNoU2hhZGVyIGRvZXNuJ3QgYWN0dWFsbHkgZGV0YWNo
IGFueW1vcmUsIHdlIG5lZWQgdG8gZG8gdGhhdCB3b3JrIHdoZW4gYXR0YWNoaW5nIGEKKyAgICAv
LyBuZXcgc2hhZGVyIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBsb3NlIHRyYWNrIG9mIGl0IGFuZCBm
cmVlIHRoZSByZXNvdXJjZXMuCisgICAgaWYgKG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW3NoYWRl
clR5cGVdKQorICAgIHsKKyAgICAgICAgbVN0YXRlLm1BdHRhY2hlZFNoYWRlcnNbc2hhZGVyVHlw
ZV0tPnJlbGVhc2UoY29udGV4dCk7CisgICAgICAgIG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW3No
YWRlclR5cGVdICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICAgICAgbVN0YXRlLm1BdHRh
Y2hlZFNoYWRlcnNNYXJrZWRGb3JEZXRhY2hbc2hhZGVyVHlwZV0gPSBmYWxzZTsKKyAgICB9CisK
ICAgICBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc1tzaGFkZXJUeXBlXSA9IHNoYWRlcjsKICAgICBt
U3RhdGUubUF0dGFjaGVkU2hhZGVyc1tzaGFkZXJUeXBlXS0+YWRkUmVmKCk7CiB9CiAKIHZvaWQg
UHJvZ3JhbTo6ZGV0YWNoU2hhZGVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFNoYWRlciAqc2hh
ZGVyKQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5n
U3RhdGUpOwogICAgIFNoYWRlclR5cGUgc2hhZGVyVHlwZSA9IHNoYWRlci0+Z2V0VHlwZSgpOwog
ICAgIEFTU0VSVChzaGFkZXJUeXBlICE9IFNoYWRlclR5cGU6OkludmFsaWRFbnVtKTsKIAogICAg
IEFTU0VSVChtU3RhdGUubUF0dGFjaGVkU2hhZGVyc1tzaGFkZXJUeXBlXSA9PSBzaGFkZXIpOwor
CisgICAgaWYgKGlzU2VwYXJhYmxlKCkpCisgICAgeworICAgICAgICAvLyBEb24ndCBhY3R1YWxs
eSBkZXRhY2ggdGhlIHNoYWRlciBzaW5jZSB3ZSBzdGlsbCBuZWVkIGl0IGluIGNhc2UgdGhpcwor
ICAgICAgICAvLyBQcm9ncmFtIGlzIHBhcnQgb2YgYSBQcm9ncmFtIFBpcGVsaW5lIE9iamVjdC4g
SW5zdGVhZCwgbGVhdmUgYSBtYXJrCisgICAgICAgIC8vIHRoYXQgaW5kaWNhdGVzIHdlIGludGVu
ZGVkIHRvLgorICAgICAgICBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc01hcmtlZEZvckRldGFjaFtz
aGFkZXJUeXBlXSA9IHRydWU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBzaGFkZXIt
PnJlbGVhc2UoY29udGV4dCk7Ci0gICAgbVN0YXRlLm1BdHRhY2hlZFNoYWRlcnNbc2hhZGVyVHlw
ZV0gPSBudWxscHRyOworICAgIG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW3NoYWRlclR5cGVdICAg
ICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc01hcmtl
ZEZvckRldGFjaFtzaGFkZXJUeXBlXSA9IGZhbHNlOwogfQogCiBpbnQgUHJvZ3JhbTo6Z2V0QXR0
YWNoZWRTaGFkZXJzQ291bnQoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGludCBudW1BdHRhY2hlZFNoYWRlcnMg
PSAwOwogICAgIGZvciAoY29uc3QgU2hhZGVyICpzaGFkZXIgOiBtU3RhdGUubUF0dGFjaGVkU2hh
ZGVycykKICAgICB7CkBAIC0xMzY2LDE5ICsxMzU1LDE5IEBAIGludCBQcm9ncmFtOjpnZXRBdHRh
Y2hlZFNoYWRlcnNDb3VudCgpIGNvbnN0CiAKIGNvbnN0IFNoYWRlciAqUHJvZ3JhbTo6Z2V0QXR0
YWNoZWRTaGFkZXIoU2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdAogewotICAgIEFTU0VSVCht
TGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBt
U3RhdGUuZ2V0QXR0YWNoZWRTaGFkZXIoc2hhZGVyVHlwZSk7CiB9CiAKIHZvaWQgUHJvZ3JhbTo6
YmluZEF0dHJpYnV0ZUxvY2F0aW9uKEdMdWludCBpbmRleCwgY29uc3QgY2hhciAqbmFtZSkKIHsK
LSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsK
ICAgICBtQXR0cmlidXRlQmluZGluZ3MuYmluZExvY2F0aW9uKGluZGV4LCBuYW1lKTsKIH0KIAog
dm9pZCBQcm9ncmFtOjpiaW5kVW5pZm9ybUxvY2F0aW9uKFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlv
biwgY29uc3QgY2hhciAqbmFtZSkKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAg
QVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBtU3RhdGUubVVuaWZvcm1Mb2NhdGlvbkJpbmRp
bmdzLmJpbmRMb2NhdGlvbihsb2NhdGlvbi52YWx1ZSwgbmFtZSk7CiB9CiAKQEAgLTEzOTIsMjMg
KzEzODEsNjYgQEAgdm9pZCBQcm9ncmFtOjpiaW5kRnJhZ21lbnRPdXRwdXRJbmRleChHTHVpbnQg
aW5kZXgsIGNvbnN0IGNoYXIgKm5hbWUpCiAgICAgbUZyYWdtZW50T3V0cHV0SW5kZXhlcy5iaW5k
TG9jYXRpb24oaW5kZXgsIG5hbWUpOwogfQogCithbmdsZTo6UmVzdWx0IFByb2dyYW06OmxpbmtN
ZXJnZWRWYXJ5aW5ncyhjb25zdCBDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGUgJmV4ZWN1dGFi
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9n
cmFtTWVyZ2VkVmFyeWluZ3MgJm1lcmdlZFZhcnlpbmdzKQoreworICAgIFNoYWRlclR5cGUgdGZT
dGFnZSA9CisgICAgICAgIG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5cGU6Okdlb21l
dHJ5XSA/IFNoYWRlclR5cGU6Okdlb21ldHJ5IDogU2hhZGVyVHlwZTo6VmVydGV4OworICAgIElu
Zm9Mb2cgJmluZm9Mb2cgPSBnZXRFeGVjdXRhYmxlKCkuZ2V0SW5mb0xvZygpOworCisgICAgaWYg
KCFsaW5rVmFsaWRhdGVUcmFuc2Zvcm1GZWVkYmFjayhjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9u
KCksIGluZm9Mb2csIG1lcmdlZFZhcnlpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGZTdGFnZSwgY29udGV4dC0+Z2V0Q2FwcygpKSkKKyAgICB7CisgICAgICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpTdG9wOworICAgIH0KKworICAgIGlmICghZXhlY3V0YWJs
ZS5tUmVzb3VyY2VzLT52YXJ5aW5nUGFja2luZy5jb2xsZWN0QW5kUGFja1VzZXJWYXJ5aW5ncygK
KyAgICAgICAgICAgIGluZm9Mb2csIG1lcmdlZFZhcnlpbmdzLCBtU3RhdGUuZ2V0VHJhbnNmb3Jt
RmVlZGJhY2tWYXJ5aW5nTmFtZXMoKSwgaXNTZXBhcmFibGUoKSkpCisgICAgeworICAgICAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6U3RvcDsKKyAgICB9CisKKyAgICBnYXRoZXJUcmFuc2Zvcm1G
ZWVkYmFja1ZhcnlpbmdzKG1lcmdlZFZhcnlpbmdzLCB0ZlN0YWdlKTsKKyAgICBtU3RhdGUudXBk
YXRlVHJhbnNmb3JtRmVlZGJhY2tTdHJpZGVzKCk7CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7Cit9CisKK2FuZ2xlOjpSZXN1bHQgUHJvZ3JhbTo6bGluayhjb25zdCBDb250
ZXh0ICpjb250ZXh0KQoreworICAgIGFuZ2xlOjpSZXN1bHQgcmVzdWx0ID0gbGlua0ltcGwoY29u
dGV4dCk7CisKKyAgICAvLyBBdm9pZCBoYXZpbmcgdHdvIFByb2dyYW1FeGVjdXRhYmxlcyBpZiB0
aGUgbGluayBmYWlsZWQgYW5kIHRoZSBQcm9ncmFtIGhhZCBzdWNjZXNzZnVsbHkKKyAgICAvLyBs
aW5rZWQgcHJldmlvdXNseS4KKyAgICBpZiAobUxpbmtpbmdTdGF0ZSAmJiBtTGlua2luZ1N0YXRl
LT5saW5rZWRFeGVjdXRhYmxlKQorICAgIHsKKyAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlID0g
bUxpbmtpbmdTdGF0ZS0+bGlua2VkRXhlY3V0YWJsZTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCiAvLyBUaGUgYXR0YWNoZWQgc2hhZGVycyBhcmUgY2hlY2tlZCBmb3IgbGlua2lu
ZyBlcnJvcnMgYnkgbWF0Y2hpbmcgdXAgdGhlaXIgdmFyaWFibGVzLgogLy8gVW5pZm9ybSwgaW5w
dXQgYW5kIG91dHB1dCB2YXJpYWJsZXMgZ2V0IGNvbGxlY3RlZC4KIC8vIFRoZSBjb2RlIGdldHMg
Y29tcGlsZWQgaW50byBiaW5hcmllcy4KLWFuZ2xlOjpSZXN1bHQgUHJvZ3JhbTo6bGluayhjb25z
dCBDb250ZXh0ICpjb250ZXh0KQorYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpsaW5rSW1wbChjb25z
dCBDb250ZXh0ICpjb250ZXh0KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBB
U1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIC8vIERvbid0IG1ha2UgYW55IGxvY2FsIHZhcmlh
YmxlcyBwb2ludGluZyB0byBhbnl0aGluZyB3aXRoaW4gdGhlIFByb2dyYW1FeGVjdXRhYmxlLCBz
aW5jZQorICAgIC8vIHVubGluaygpIGNvdWxkIG1ha2UgYSBuZXcgUHJvZ3JhbUV4ZWN1dGFibGUg
bWFraW5nIGFueSByZWZlcmVuY2VzL3BvaW50ZXJzIGludmFsaWQuCiAgICAgY29uc3QgYXV0byAm
ZGF0YSA9IGNvbnRleHQtPmdldFN0YXRlKCk7Ci0gICAgSW5mb0xvZyAmaW5mb0xvZyA9IG1TdGF0
ZS5tRXhlY3V0YWJsZS5nZXRJbmZvTG9nKCk7Ci0KICAgICBhdXRvICpwbGF0Zm9ybSAgID0gQU5H
TEVQbGF0Zm9ybUN1cnJlbnQoKTsKICAgICBkb3VibGUgc3RhcnRUaW1lID0gcGxhdGZvcm0tPmN1
cnJlbnRUaW1lKHBsYXRmb3JtKTsKIAotICAgIHVubGluaygpOwotICAgIGluZm9Mb2cucmVzZXQo
KTsKKyAgICAvLyBVbmxpbmsgdGhlIHByb2dyYW0sIGJ1dCBkbyBub3QgY2xlYXIgdGhlIHZhbGlk
YXRpb24tcmVsYXRlZCBjYWNoaW5nIHlldCwgc2luY2Ugd2UgY2FuIHN0aWxsCisgICAgLy8gdXNl
IHRoZSBwcmV2aW91c2x5IGxpbmtlZCBwcm9ncmFtIGlmIGxpbmtpbmcgdGhlIHNoYWRlcnMgZmFp
bHMuCisgICAgbUxpbmtlZCA9IGZhbHNlOworCisgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRJ
bmZvTG9nKCkucmVzZXQoKTsKIAogICAgIC8vIFZhbGlkYXRlIHdlIGhhdmUgcHJvcGVybHkgYXR0
YWNoZWQgc2hhZGVycyBiZWZvcmUgY2hlY2tpbmcgdGhlIGNhY2hlLgotICAgIGlmICghbGlua1Zh
bGlkYXRlU2hhZGVycyhpbmZvTG9nKSkKKyAgICBpZiAoIWxpbmtWYWxpZGF0ZVNoYWRlcnMobVN0
YXRlLm1FeGVjdXRhYmxlLT5nZXRJbmZvTG9nKCkpKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KQEAgLTE0MTYsNyArMTQ0OCw4IEBAIGFuZ2xl
OjpSZXN1bHQgUHJvZ3JhbTo6bGluayhjb25zdCBDb250ZXh0ICpjb250ZXh0KQogICAgIGVnbDo6
QmxvYkNhY2hlOjpLZXkgcHJvZ3JhbUhhc2ggPSB7MH07CiAgICAgTWVtb3J5UHJvZ3JhbUNhY2hl
ICpjYWNoZSAgICAgICA9IGNvbnRleHQtPmdldE1lbW9yeVByb2dyYW1DYWNoZSgpOwogCi0gICAg
aWYgKGNhY2hlKQorICAgIC8vIFRPRE86IGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDUzMDogRW5hYmxl
IHByb2dyYW0gY2FjaGluZyBmb3Igc2VwYXJhYmxlIHByb2dyYW1zCisgICAgaWYgKGNhY2hlICYm
ICFpc1NlcGFyYWJsZSgpKQogICAgIHsKICAgICAgICAgYW5nbGU6OlJlc3VsdCBjYWNoZVJlc3Vs
dCA9IGNhY2hlLT5nZXRQcm9ncmFtKGNvbnRleHQsIHRoaXMsICZwcm9ncmFtSGFzaCk7CiAgICAg
ICAgIEFOR0xFX1RSWShjYWNoZVJlc3VsdCk7CkBAIC0xNDM1LDIyICsxNDY4LDIzIEBAIGFuZ2xl
OjpSZXN1bHQgUHJvZ3JhbTo6bGluayhjb25zdCBDb250ZXh0ICpjb250ZXh0KQogCiAgICAgLy8g
Q2FjaGUgbG9hZCBmYWlsZWQsIGZhbGwgdGhyb3VnaCB0byBub3JtYWwgbGlua2luZy4KICAgICB1
bmxpbmsoKTsKKyAgICBJbmZvTG9nICZpbmZvTG9nID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRJ
bmZvTG9nKCk7CiAKICAgICAvLyBSZS1saW5rIHNoYWRlcnMgYWZ0ZXIgdGhlIHVubGluayBjYWxs
LgogICAgIGJvb2wgcmVzdWx0ID0gbGlua1ZhbGlkYXRlU2hhZGVycyhpbmZvTG9nKTsKICAgICBB
U1NFUlQocmVzdWx0KTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTGlua2VkUmVzb3Vy
Y2VzPiByZXNvdXJjZXM7CiAgICAgaWYgKG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5
cGU6OkNvbXB1dGVdKQogICAgIHsKLSAgICAgICAgcmVzb3VyY2VzLnJlc2V0KG5ldyBQcm9ncmFt
TGlua2VkUmVzb3VyY2VzKAotICAgICAgICAgICAgMCwgUGFja01vZGU6OkFOR0xFX1JFTEFYRUQs
ICZtU3RhdGUubVVuaWZvcm1CbG9ja3MsICZtU3RhdGUubVVuaWZvcm1zLAotICAgICAgICAgICAg
Jm1TdGF0ZS5tU2hhZGVyU3RvcmFnZUJsb2NrcywgJm1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzLCAm
bVN0YXRlLm1BdG9taWNDb3VudGVyQnVmZmVycykpOworICAgICAgICBtU3RhdGUubUV4ZWN1dGFi
bGUtPm1SZXNvdXJjZXMucmVzZXQobmV3IFByb2dyYW1MaW5rZWRSZXNvdXJjZXMoCisgICAgICAg
ICAgICAwLCBQYWNrTW9kZTo6QU5HTEVfUkVMQVhFRCwgJm1TdGF0ZS5tRXhlY3V0YWJsZS0+bVVu
aWZvcm1CbG9ja3MsCisgICAgICAgICAgICAmbVN0YXRlLm1FeGVjdXRhYmxlLT5tVW5pZm9ybXMs
ICZtU3RhdGUubUV4ZWN1dGFibGUtPm1TaGFkZXJTdG9yYWdlQmxvY2tzLAorICAgICAgICAgICAg
Jm1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzLCAmbVN0YXRlLm1FeGVjdXRhYmxlLT5tQXRvbWljQ291
bnRlckJ1ZmZlcnMpKTsKIAogICAgICAgICBHTHVpbnQgY29tYmluZWRJbWFnZVVuaWZvcm1zID0g
MHU7CiAgICAgICAgIGlmICghbGlua1VuaWZvcm1zKGNvbnRleHQtPmdldENhcHMoKSwgY29udGV4
dC0+Z2V0Q2xpZW50VmVyc2lvbigpLCBpbmZvTG9nLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBtU3RhdGUubVVuaWZvcm1Mb2NhdGlvbkJpbmRpbmdzLCAmY29tYmluZWRJbWFnZVVuaWZvcm1z
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzb3VyY2VzLT51bnVzZWRVbmlmb3Jtcykp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICZtU3RhdGUubUV4ZWN1dGFibGUtPmdldFJlc291
cmNlcygpLnVudXNlZFVuaWZvcm1zKSkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgICAgICB9CkBAIC0xNDc5LDggKzE1MTMsOSBAQCBh
bmdsZTo6UmVzdWx0IFByb2dyYW06OmxpbmsoY29uc3QgQ29udGV4dCAqY29udGV4dCkKICAgICAg
ICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKICAgICAgICAgfQogCi0gICAg
ICAgIEluaXRVbmlmb3JtQmxvY2tMaW5rZXIobVN0YXRlLCAmcmVzb3VyY2VzLT51bmlmb3JtQmxv
Y2tMaW5rZXIpOwotICAgICAgICBJbml0U2hhZGVyU3RvcmFnZUJsb2NrTGlua2VyKG1TdGF0ZSwg
JnJlc291cmNlcy0+c2hhZGVyU3RvcmFnZUJsb2NrTGlua2VyKTsKKyAgICAgICAgSW5pdFVuaWZv
cm1CbG9ja0xpbmtlcihtU3RhdGUsICZtU3RhdGUubUV4ZWN1dGFibGUtPmdldFJlc291cmNlcygp
LnVuaWZvcm1CbG9ja0xpbmtlcik7CisgICAgICAgIEluaXRTaGFkZXJTdG9yYWdlQmxvY2tMaW5r
ZXIobVN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtU3RhdGUu
bUV4ZWN1dGFibGUtPmdldFJlc291cmNlcygpLnNoYWRlclN0b3JhZ2VCbG9ja0xpbmtlcik7CiAg
ICAgfQogICAgIGVsc2UKICAgICB7CkBAIC0xNDk3LDEwICsxNTMyLDExIEBAIGFuZ2xlOjpSZXN1
bHQgUHJvZ3JhbTo6bGluayhjb25zdCBDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAgICAgcGFj
a01vZGUgPSBQYWNrTW9kZTo6V0VCR0xfU1RSSUNUOwogICAgICAgICB9CiAKLSAgICAgICAgcmVz
b3VyY2VzLnJlc2V0KG5ldyBQcm9ncmFtTGlua2VkUmVzb3VyY2VzKAotICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8R0x1aW50PihkYXRhLmdldENhcHMoKS5tYXhWYXJ5aW5nVmVjdG9ycyksIHBhY2tN
b2RlLCAmbVN0YXRlLm1Vbmlmb3JtQmxvY2tzLAotICAgICAgICAgICAgJm1TdGF0ZS5tVW5pZm9y
bXMsICZtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3MsICZtU3RhdGUubUJ1ZmZlclZhcmlhYmxl
cywKLSAgICAgICAgICAgICZtU3RhdGUubUF0b21pY0NvdW50ZXJCdWZmZXJzKSk7CisgICAgICAg
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bVJlc291cmNlcy5yZXNldChuZXcgUHJvZ3JhbUxpbmtlZFJl
c291cmNlcygKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEdMdWludD4oZGF0YS5nZXRDYXBzKCku
bWF4VmFyeWluZ1ZlY3RvcnMpLCBwYWNrTW9kZSwKKyAgICAgICAgICAgICZtU3RhdGUubUV4ZWN1
dGFibGUtPm1Vbmlmb3JtQmxvY2tzLCAmbVN0YXRlLm1FeGVjdXRhYmxlLT5tVW5pZm9ybXMsCisg
ICAgICAgICAgICAmbVN0YXRlLm1FeGVjdXRhYmxlLT5tU2hhZGVyU3RvcmFnZUJsb2NrcywgJm1T
dGF0ZS5tQnVmZmVyVmFyaWFibGVzLAorICAgICAgICAgICAgJm1TdGF0ZS5tRXhlY3V0YWJsZS0+
bUF0b21pY0NvdW50ZXJCdWZmZXJzKSk7CiAKICAgICAgICAgaWYgKCFsaW5rQXR0cmlidXRlcyhj
b250ZXh0LCBpbmZvTG9nKSkKICAgICAgICAgewpAQCAtMTUxNSw3ICsxNTUxLDcgQEAgYW5nbGU6
OlJlc3VsdCBQcm9ncmFtOjpsaW5rKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAgICAgICAgIEdM
dWludCBjb21iaW5lZEltYWdlVW5pZm9ybXMgPSAwdTsKICAgICAgICAgaWYgKCFsaW5rVW5pZm9y
bXMoY29udGV4dC0+Z2V0Q2FwcygpLCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCksIGluZm9M
b2csCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TdGF0ZS5tVW5pZm9ybUxvY2F0aW9uQmlu
ZGluZ3MsICZjb21iaW5lZEltYWdlVW5pZm9ybXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICZyZXNvdXJjZXMtPnVudXNlZFVuaWZvcm1zKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Jm1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UmVzb3VyY2VzKCkudW51c2VkVW5pZm9ybXMpKQogICAg
ICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAg
ICAgIH0KQEAgLTE1MjgsNyArMTU2NCw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbTo6bGluayhj
b25zdCBDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OkNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCFsaW5rVmFsaWRhdGVHbG9iYWxO
YW1lcyhpbmZvTG9nKSkKKyAgICAgICAgaWYgKCFtU3RhdGUubUV4ZWN1dGFibGUtPmxpbmtWYWxp
ZGF0ZUdsb2JhbE5hbWVzKGluZm9Mb2cpKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAgICAgIH0KQEAgLTE1NDAsMzQgKzE1NzYsMzUg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpsaW5rKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAg
ICAgICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAgICAgIH0KIAot
ICAgICAgICBjb25zdCBQcm9ncmFtTWVyZ2VkVmFyeWluZ3MgJm1lcmdlZFZhcnlpbmdzID0gZ2V0
TWVyZ2VkVmFyeWluZ3MoKTsKLQogICAgICAgICBnbDo6U2hhZGVyICp2ZXJ0ZXhTaGFkZXIgPSBt
U3RhdGUubUF0dGFjaGVkU2hhZGVyc1tTaGFkZXJUeXBlOjpWZXJ0ZXhdOwogICAgICAgICBpZiAo
dmVydGV4U2hhZGVyKQogICAgICAgICB7CiAgICAgICAgICAgICBtU3RhdGUubU51bVZpZXdzID0g
dmVydGV4U2hhZGVyLT5nZXROdW1WaWV3cygpOwogICAgICAgICB9CiAKLSAgICAgICAgSW5pdFVu
aWZvcm1CbG9ja0xpbmtlcihtU3RhdGUsICZyZXNvdXJjZXMtPnVuaWZvcm1CbG9ja0xpbmtlcik7
Ci0gICAgICAgIEluaXRTaGFkZXJTdG9yYWdlQmxvY2tMaW5rZXIobVN0YXRlLCAmcmVzb3VyY2Vz
LT5zaGFkZXJTdG9yYWdlQmxvY2tMaW5rZXIpOworICAgICAgICBnbDo6U2hhZGVyICpmcmFnbWVu
dFNoYWRlciA9IG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5cGU6OkZyYWdtZW50XTsK
KyAgICAgICAgaWYgKGZyYWdtZW50U2hhZGVyKQorICAgICAgICB7CisgICAgICAgICAgICBtU3Rh
dGUubUVhcmx5RnJhbWVudFRlc3RzT3B0aW1pemF0aW9uID0KKyAgICAgICAgICAgICAgICBmcmFn
bWVudFNoYWRlci0+aGFzRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uKCk7CisgICAgICAg
IH0KIAotICAgICAgICBTaGFkZXJUeXBlIHRmU3RhZ2UgPSBtU3RhdGUubUF0dGFjaGVkU2hhZGVy
c1tTaGFkZXJUeXBlOjpHZW9tZXRyeV0gPyBTaGFkZXJUeXBlOjpHZW9tZXRyeQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiBTaGFkZXJUeXBlOjpWZXJ0ZXg7CisgICAgICAgIEluaXRVbmlmb3JtQmxvY2tM
aW5rZXIobVN0YXRlLCAmbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRSZXNvdXJjZXMoKS51bmlmb3Jt
QmxvY2tMaW5rZXIpOworICAgICAgICBJbml0U2hhZGVyU3RvcmFnZUJsb2NrTGlua2VyKG1TdGF0
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbVN0YXRlLm1FeGVjdXRh
YmxlLT5nZXRSZXNvdXJjZXMoKS5zaGFkZXJTdG9yYWdlQmxvY2tMaW5rZXIpOwogCi0gICAgICAg
IGlmICghbGlua1ZhbGlkYXRlVHJhbnNmb3JtRmVlZGJhY2soY29udGV4dC0+Z2V0Q2xpZW50VmVy
c2lvbigpLCBpbmZvTG9nLCBtZXJnZWRWYXJ5aW5ncywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZlN0YWdlLCBjb250ZXh0LT5nZXRDYXBzKCkpKQorICAgICAg
ICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSA9IGNvbnRleHQtPmdldFN0YXRlKCku
Z2V0UHJvZ3JhbVBpcGVsaW5lKCk7CisgICAgICAgIGlmIChwcm9ncmFtUGlwZWxpbmUgJiYgcHJv
Z3JhbVBpcGVsaW5lLT51c2VzU2hhZGVyUHJvZ3JhbShpZCgpKSkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgICAgICAgICAgY29uc3Qg
UHJvZ3JhbU1lcmdlZFZhcnlpbmdzICZtZXJnZWRWYXJ5aW5ncyA9CisgICAgICAgICAgICAgICAg
Y29udGV4dC0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtUGlwZWxpbmUoKS0+Z2V0TWVyZ2VkVmFyeWlu
Z3MoKTsKKyAgICAgICAgICAgIEFOR0xFX1RSWShsaW5rTWVyZ2VkVmFyeWluZ3MoY29udGV4dCwg
Km1TdGF0ZS5tRXhlY3V0YWJsZSwgbWVyZ2VkVmFyeWluZ3MpKTsKICAgICAgICAgfQotCi0gICAg
ICAgIGlmICghcmVzb3VyY2VzLT52YXJ5aW5nUGFja2luZy5jb2xsZWN0QW5kUGFja1VzZXJWYXJ5
aW5ncygKLSAgICAgICAgICAgICAgICBpbmZvTG9nLCBtZXJnZWRWYXJ5aW5ncywgbVN0YXRlLmdl
dFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ05hbWVzKCksIGlzU2VwYXJhYmxlKCkpKQorICAgICAg
ICBlbHNlCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250
aW51ZTsKKyAgICAgICAgICAgIGNvbnN0IFByb2dyYW1NZXJnZWRWYXJ5aW5ncyAmbWVyZ2VkVmFy
eWluZ3MgPSBnZXRNZXJnZWRWYXJ5aW5ncygpOworICAgICAgICAgICAgQU5HTEVfVFJZKGxpbmtN
ZXJnZWRWYXJ5aW5ncyhjb250ZXh0LCAqbVN0YXRlLm1FeGVjdXRhYmxlLCBtZXJnZWRWYXJ5aW5n
cykpOwogICAgICAgICB9Ci0KLSAgICAgICAgZ2F0aGVyVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5n
cyhtZXJnZWRWYXJ5aW5ncywgdGZTdGFnZSk7Ci0gICAgICAgIG1TdGF0ZS51cGRhdGVUcmFuc2Zv
cm1GZWVkYmFja1N0cmlkZXMoKTsKICAgICB9CiAKICAgICB1cGRhdGVMaW5rZWRTaGFkZXJTdGFn
ZXMoKTsKQEAgLTE1NzUsMjAgKzE2MTIsMjcgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpsaW5r
KGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAgICAgbUxpbmtpbmdTdGF0ZS5yZXNldChuZXcgTGlu
a2luZ1N0YXRlKCkpOwogICAgIG1MaW5raW5nU3RhdGUtPmxpbmtpbmdGcm9tQmluYXJ5ID0gZmFs
c2U7CiAgICAgbUxpbmtpbmdTdGF0ZS0+cHJvZ3JhbUhhc2ggICAgICAgPSBwcm9ncmFtSGFzaDsK
LSAgICBtTGlua2luZ1N0YXRlLT5saW5rRXZlbnQgICAgICAgICA9IG1Qcm9ncmFtLT5saW5rKGNv
bnRleHQsICpyZXNvdXJjZXMsIGluZm9Mb2cpOwotICAgIG1MaW5raW5nU3RhdGUtPnJlc291cmNl
cyAgICAgICAgID0gc3RkOjptb3ZlKHJlc291cmNlcyk7Ci0gICAgbUxpbmtSZXNvbHZlZCAgICAg
ICAgICAgICAgICAgICAgPSBmYWxzZTsKKyAgICBtTGlua2luZ1N0YXRlLT5saW5rRXZlbnQgPSBt
UHJvZ3JhbS0+bGluayhjb250ZXh0LCBtU3RhdGUubUV4ZWN1dGFibGUtPmdldFJlc291cmNlcygp
LCBpbmZvTG9nKTsKIAogICAgIC8vIE11c3QgYmUgYWZ0ZXIgbVByb2dyYW0tPmxpbmsoKSB0byBh
dm9pZCBtaXNsZWFkaW5nIHRoZSBsaW5rZXIgYWJvdXQgb3V0cHV0IHZhcmlhYmxlcy4KICAgICBt
U3RhdGUudXBkYXRlUHJvZ3JhbUludGVyZmFjZUlucHV0cygpOwogICAgIG1TdGF0ZS51cGRhdGVQ
cm9ncmFtSW50ZXJmYWNlT3V0cHV0cygpOwogCisgICAgLy8gTGlua2luZyBoYXMgc3VjY2VlZGVk
LCBzbyB3ZSBuZWVkIHRvIHNhdmUgc29tZSBpbmZvcm1hdGlvbiB0aGF0IG1heSBnZXQgb3Zlcndy
aXR0ZW4gYnkgYQorICAgIC8vIGxhdGVyIGxpbmtQcm9ncmFtKCkgdGhhdCBjb3VsZCBmYWlsLgor
ICAgIGlmIChtU3RhdGUubVNlcGFyYWJsZSkKKyAgICB7CisgICAgICAgIG1TdGF0ZS5tRXhlY3V0
YWJsZS0+c2F2ZUxpbmtlZFN0YXRlSW5mbygpOworICAgICAgICBtTGlua2luZ1N0YXRlLT5saW5r
ZWRFeGVjdXRhYmxlID0gbVN0YXRlLm1FeGVjdXRhYmxlOworICAgIH0KKwogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAogYm9vbCBQcm9ncmFtOjppc0xpbmtpbmcoKSBj
b25zdAogewotICAgIHJldHVybiAobUxpbmtpbmdTdGF0ZS5nZXQoKSAmJiBtTGlua2luZ1N0YXRl
LT5saW5rRXZlbnQtPmlzTGlua2luZygpKTsKKyAgICByZXR1cm4gKG1MaW5raW5nU3RhdGUuZ2V0
KCkgJiYgbUxpbmtpbmdTdGF0ZS0+bGlua0V2ZW50ICYmCisgICAgICAgICAgICBtTGlua2luZ1N0
YXRlLT5saW5rRXZlbnQtPmlzTGlua2luZygpKTsKIH0KIAogdm9pZCBQcm9ncmFtOjpyZXNvbHZl
TGlua0ltcGwoY29uc3QgQ29udGV4dCAqY29udGV4dCkKQEAgLTE1OTgsNyArMTY0Miw2IEBAIHZv
aWQgUHJvZ3JhbTo6cmVzb2x2ZUxpbmtJbXBsKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAgICAg
YW5nbGU6OlJlc3VsdCByZXN1bHQgPSBtTGlua2luZ1N0YXRlLT5saW5rRXZlbnQtPndhaXQoY29u
dGV4dCk7CiAKICAgICBtTGlua2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSByZXN1bHQgPT0gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Ci0gICAgbUxpbmtSZXNvbHZlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gdHJ1ZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
TGlua2luZ1N0YXRlPiBsaW5raW5nU3RhdGUgPSBzdGQ6Om1vdmUobUxpbmtpbmdTdGF0ZSk7CiAg
ICAgaWYgKCFtTGlua2VkKQogICAgIHsKQEAgLTE2MjYsOCArMTY2OSw5IEBAIHZvaWQgUHJvZ3Jh
bTo6cmVzb2x2ZUxpbmtJbXBsKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAKICAgICAvLyBTYXZl
IHRvIHRoZSBwcm9ncmFtIGNhY2hlLgogICAgIE1lbW9yeVByb2dyYW1DYWNoZSAqY2FjaGUgPSBj
b250ZXh0LT5nZXRNZW1vcnlQcm9ncmFtQ2FjaGUoKTsKLSAgICBpZiAoY2FjaGUgJiYKLSAgICAg
ICAgKG1TdGF0ZS5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncy5lbXB0eSgpIHx8Cisg
ICAgLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVnLmNvbS80NTMwOiBFbmFibGUgcHJvZ3JhbSBjYWNo
aW5nIGZvciBzZXBhcmFibGUgcHJvZ3JhbXMKKyAgICBpZiAoY2FjaGUgJiYgIWlzU2VwYXJhYmxl
KCkgJiYKKyAgICAgICAgKG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUxpbmtlZFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZ3MuZW1wdHkoKSB8fAogICAgICAgICAgIWNvbnRleHQtPmdldEZyb250ZW5kRmVh
dHVyZXMoKS5kaXNhYmxlUHJvZ3JhbUNhY2hpbmdGb3JUcmFuc2Zvcm1GZWVkYmFjay5lbmFibGVk
KSkKICAgICB7CiAgICAgICAgIGlmIChjYWNoZS0+cHV0UHJvZ3JhbShsaW5raW5nU3RhdGUtPnBy
b2dyYW1IYXNoLCBjb250ZXh0LCB0aGlzKSA9PSBhbmdsZTo6UmVzdWx0OjpTdG9wKQpAQCAtMTY0
MSwzNiArMTY4NSwzOCBAQCB2b2lkIFByb2dyYW06OnJlc29sdmVMaW5rSW1wbChjb25zdCBDb250
ZXh0ICpjb250ZXh0KQogCiB2b2lkIFByb2dyYW06OnVwZGF0ZUxpbmtlZFNoYWRlclN0YWdlcygp
CiB7Ci0gICAgbVN0YXRlLm1FeGVjdXRhYmxlLmdldExpbmtlZFNoYWRlclN0YWdlcygpLnJlc2V0
KCk7CisgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5yZXNldExpbmtlZFNoYWRlclN0YWdlcygpOwog
CiAgICAgZm9yIChjb25zdCBTaGFkZXIgKnNoYWRlciA6IG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJz
KQogICAgIHsKICAgICAgICAgaWYgKHNoYWRlcikKICAgICAgICAgewotICAgICAgICAgICAgbVN0
YXRlLm1FeGVjdXRhYmxlLmdldExpbmtlZFNoYWRlclN0YWdlcygpLnNldChzaGFkZXItPmdldFR5
cGUoKSk7CisgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPnNldExpbmtlZFNoYWRlclN0
YWdlcyhzaGFkZXItPmdldFR5cGUoKSk7CiAgICAgICAgIH0KICAgICB9CiB9CiAKIHZvaWQgUHJv
Z3JhbVN0YXRlOjp1cGRhdGVUcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXMoKQogewotICAgIGlmICht
VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlID09IEdMX0lOVEVSTEVBVkVEX0FUVFJJQlMpCisg
ICAgaWYgKG1FeGVjdXRhYmxlLT5tVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlID09IEdMX0lO
VEVSTEVBVkVEX0FUVFJJQlMpCiAgICAgewotICAgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tTdHJp
ZGVzLnJlc2l6ZSgxKTsKKyAgICAgICAgbUV4ZWN1dGFibGUtPm1UcmFuc2Zvcm1GZWVkYmFja1N0
cmlkZXMucmVzaXplKDEpOwogICAgICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKLSAgICAgICAg
Zm9yIChjb25zdCBUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmcgJnZhcnlpbmcgOiBtTGlua2VkVHJh
bnNmb3JtRmVlZGJhY2tWYXJ5aW5ncykKKyAgICAgICAgZm9yIChjb25zdCBUcmFuc2Zvcm1GZWVk
YmFja1ZhcnlpbmcgJnZhcnlpbmcgOgorICAgICAgICAgICAgIG1FeGVjdXRhYmxlLT5tTGlua2Vk
VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncykKICAgICAgICAgewogICAgICAgICAgICAgdG90YWxT
aXplICs9IHZhcnlpbmcuc2l6ZSgpICogVmFyaWFibGVFeHRlcm5hbFNpemUodmFyeWluZy50eXBl
KTsKICAgICAgICAgfQotICAgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tTdHJpZGVzWzBdID0gc3Rh
dGljX2Nhc3Q8R0xzaXplaT4odG90YWxTaXplKTsKKyAgICAgICAgbUV4ZWN1dGFibGUtPm1UcmFu
c2Zvcm1GZWVkYmFja1N0cmlkZXNbMF0gPSBzdGF0aWNfY2FzdDxHTHNpemVpPih0b3RhbFNpemUp
OwogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tTdHJp
ZGVzLnJlc2l6ZShtTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncy5zaXplKCkpOwotICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1Zhcnlp
bmdzLnNpemUoKTsgaSsrKQorICAgICAgICBtRXhlY3V0YWJsZS0+bVRyYW5zZm9ybUZlZWRiYWNr
U3RyaWRlcy5yZXNpemUoCisgICAgICAgICAgICBtRXhlY3V0YWJsZS0+bUxpbmtlZFRyYW5zZm9y
bUZlZWRiYWNrVmFyeWluZ3Muc2l6ZSgpKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBtRXhlY3V0YWJsZS0+bUxpbmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3Muc2l6ZSgpOyBp
KyspCiAgICAgICAgIHsKLSAgICAgICAgICAgIFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyAmdmFy
eWluZyA9IG1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzW2ldOwotICAgICAgICAgICAg
bVRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlc1tpXSA9CisgICAgICAgICAgICBUcmFuc2Zvcm1GZWVk
YmFja1ZhcnlpbmcgJnZhcnlpbmcgPSBtRXhlY3V0YWJsZS0+bUxpbmtlZFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZ3NbaV07CisgICAgICAgICAgICBtRXhlY3V0YWJsZS0+bVRyYW5zZm9ybUZlZWRi
YWNrU3RyaWRlc1tpXSA9CiAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R0xzaXplaT4odmFy
eWluZy5zaXplKCkgKiBWYXJpYWJsZUV4dGVybmFsU2l6ZSh2YXJ5aW5nLnR5cGUpKTsKICAgICAg
ICAgfQogICAgIH0KQEAgLTE2NzgsMTMgKzE3MjQsMTMgQEAgdm9pZCBQcm9ncmFtU3RhdGU6OnVw
ZGF0ZVRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlcygpCiAKIHZvaWQgUHJvZ3JhbVN0YXRlOjp1cGRh
dGVBY3RpdmVTYW1wbGVycygpCiB7Ci0gICAgbUV4ZWN1dGFibGUubUFjdGl2ZVNhbXBsZXJSZWZD
b3VudHMuZmlsbCgwKTsKLSAgICBtRXhlY3V0YWJsZS51cGRhdGVBY3RpdmVTYW1wbGVycyhtU2Ft
cGxlckJpbmRpbmdzKTsKKyAgICBtRXhlY3V0YWJsZS0+bUFjdGl2ZVNhbXBsZXJSZWZDb3VudHMu
ZmlsbCgwKTsKKyAgICBtRXhlY3V0YWJsZS0+dXBkYXRlQWN0aXZlU2FtcGxlcnMoKnRoaXMpOwog
fQogCiB2b2lkIFByb2dyYW1TdGF0ZTo6dXBkYXRlQWN0aXZlSW1hZ2VzKCkKIHsKLSAgICBtRXhl
Y3V0YWJsZS51cGRhdGVBY3RpdmVJbWFnZXMobUltYWdlQmluZGluZ3MpOworICAgIG1FeGVjdXRh
YmxlLT51cGRhdGVBY3RpdmVJbWFnZXMobUltYWdlQmluZGluZ3MpOwogfQogCiB2b2lkIFByb2dy
YW1TdGF0ZTo6dXBkYXRlUHJvZ3JhbUludGVyZmFjZUlucHV0cygpCkBAIC0xNzEzLDcgKzE3NTks
NyBAQCB2b2lkIFByb2dyYW1TdGF0ZTo6dXBkYXRlUHJvZ3JhbUludGVyZmFjZUlucHV0cygpCiAg
ICAgICAgICAgICAvLyBpbiB1dmVjMyBnbF9HbG9iYWxJbnZvY2F0aW9uSUQ7CiAgICAgICAgICAg
ICAvLyBpbiB1aW50ICBnbF9Mb2NhbEludm9jYXRpb25JbmRleDsKICAgICAgICAgICAgIC8vIFRo
ZXkgYXJlIGFsbCB2ZWNzIG9yIHVpbnRzLCBzbyBubyBzcGVjaWFsIGhhbmRsaW5nIGlzIHJlcXVp
cmVkLgotICAgICAgICAgICAgbVByb2dyYW1JbnB1dHMuZW1wbGFjZV9iYWNrKGF0dHJpYnV0ZSk7
CisgICAgICAgICAgICBtRXhlY3V0YWJsZS0+bVByb2dyYW1JbnB1dHMuZW1wbGFjZV9iYWNrKGF0
dHJpYnV0ZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSBpZiAoc2hhZGVyLT5nZXRUeXBl
KCkgPT0gU2hhZGVyVHlwZTo6RnJhZ21lbnQpCkBAIC0xNzI3LDEyICsxNzczLDEyIEBAIHZvaWQg
UHJvZ3JhbVN0YXRlOjp1cGRhdGVQcm9ncmFtSW50ZXJmYWNlSW5wdXRzKCkKICAgICAgICAgICAg
ICAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxlIGZpZWxkVmFyeWluZyA9IHNoOjpTaGFkZXJWYXJp
YWJsZShmaWVsZCk7CiAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFyeWluZy5sb2NhdGlvbiAg
ICAgICAgICAgPSB2YXJ5aW5nLmxvY2F0aW9uOwogICAgICAgICAgICAgICAgICAgICBmaWVsZFZh
cnlpbmcubmFtZSAgICAgICAgICAgICAgID0gdmFyeWluZy5uYW1lICsgIi4iICsgZmllbGQubmFt
ZTsKLSAgICAgICAgICAgICAgICAgICAgbVByb2dyYW1JbnB1dHMuZW1wbGFjZV9iYWNrKGZpZWxk
VmFyeWluZyk7CisgICAgICAgICAgICAgICAgICAgIG1FeGVjdXRhYmxlLT5tUHJvZ3JhbUlucHV0
cy5lbXBsYWNlX2JhY2soZmllbGRWYXJ5aW5nKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
bVByb2dyYW1JbnB1dHMuZW1wbGFjZV9iYWNrKHZhcnlpbmcpOworICAgICAgICAgICAgICAgIG1F
eGVjdXRhYmxlLT5tUHJvZ3JhbUlucHV0cy5lbXBsYWNlX2JhY2sodmFyeWluZyk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzY2LDEyICsxODEyLDEyIEBAIHZvaWQgUHJv
Z3JhbVN0YXRlOjp1cGRhdGVQcm9ncmFtSW50ZXJmYWNlT3V0cHV0cygpCiAgICAgICAgICAgICAg
ICAgc2g6OlNoYWRlclZhcmlhYmxlIGZpZWxkVmFyeWluZyA9IHNoOjpTaGFkZXJWYXJpYWJsZShm
aWVsZCk7CiAgICAgICAgICAgICAgICAgZmllbGRWYXJ5aW5nLmxvY2F0aW9uICAgICAgICAgICA9
IHZhcnlpbmcubG9jYXRpb247CiAgICAgICAgICAgICAgICAgZmllbGRWYXJ5aW5nLm5hbWUgICAg
ICAgICAgICAgICA9IHZhcnlpbmcubmFtZSArICIuIiArIGZpZWxkLm5hbWU7Ci0gICAgICAgICAg
ICAgICAgbU91dHB1dFZhcmlhYmxlcy5lbXBsYWNlX2JhY2soZmllbGRWYXJ5aW5nKTsKKyAgICAg
ICAgICAgICAgICBtRXhlY3V0YWJsZS0+bU91dHB1dFZhcmlhYmxlcy5lbXBsYWNlX2JhY2soZmll
bGRWYXJ5aW5nKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIG1PdXRwdXRWYXJpYWJsZXMuZW1wbGFjZV9iYWNrKHZhcnlpbmcp
OworICAgICAgICAgICAgbUV4ZWN1dGFibGUtPm1PdXRwdXRWYXJpYWJsZXMuZW1wbGFjZV9iYWNr
KHZhcnlpbmcpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMTc3OSwxNyArMTgyNSwxNyBAQCB2
b2lkIFByb2dyYW1TdGF0ZTo6dXBkYXRlUHJvZ3JhbUludGVyZmFjZU91dHB1dHMoKQogLy8gUmV0
dXJucyB0aGUgcHJvZ3JhbSBvYmplY3QgdG8gYW4gdW5saW5rZWQgc3RhdGUsIGJlZm9yZSByZS1s
aW5raW5nLCBvciBhdCBkZXN0cnVjdGlvbgogdm9pZCBQcm9ncmFtOjp1bmxpbmsoKQogewotICAg
IG1TdGF0ZS5tUHJvZ3JhbUlucHV0cy5jbGVhcigpOwotICAgIG1TdGF0ZS5tTGlua2VkVHJhbnNm
b3JtRmVlZGJhY2tWYXJ5aW5ncy5jbGVhcigpOwotICAgIG1TdGF0ZS5tVW5pZm9ybXMuY2xlYXIo
KTsKKyAgICBpZiAobUxpbmtpbmdTdGF0ZSAmJiBtTGlua2luZ1N0YXRlLT5saW5rZWRFeGVjdXRh
YmxlKQorICAgIHsKKyAgICAgICAgLy8gVGhlIG5ldyBQcm9ncmFtRXhlY3V0YWJsZSB0aGF0IHdl
J2xsIGF0dGVtcHQgdG8gbGluayB3aXRoIG5lZWRzIHRvIHN0YXJ0IGZyb20gYSBjb3B5IG9mCisg
ICAgICAgIC8vIHRoZSBsYXN0IHN1Y2Nlc3NmdWxseSBsaW5rZWQgUHJvZ3JhbUV4ZWN1dGFibGUs
IHNvIHdlIGRvbid0IGxvc2UgYW55IHN0YXRlIGluZm9ybWF0aW9uLgorICAgICAgICBtU3RhdGUu
bUV4ZWN1dGFibGUucmVzZXQobmV3IFByb2dyYW1FeGVjdXRhYmxlKCptTGlua2luZ1N0YXRlLT5s
aW5rZWRFeGVjdXRhYmxlKSk7CisgICAgfQorICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+cmVzZXQo
KTsKKwogICAgIG1TdGF0ZS5tVW5pZm9ybUxvY2F0aW9ucy5jbGVhcigpOwotICAgIG1TdGF0ZS5t
VW5pZm9ybUJsb2Nrcy5jbGVhcigpOwogICAgIG1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzLmNsZWFy
KCk7Ci0gICAgbVN0YXRlLm1TaGFkZXJTdG9yYWdlQmxvY2tzLmNsZWFyKCk7CiAgICAgbVN0YXRl
Lm1BY3RpdmVVbmlmb3JtQmxvY2tCaW5kaW5ncy5yZXNldCgpOwotICAgIG1TdGF0ZS5tQXRvbWlj
Q291bnRlckJ1ZmZlcnMuY2xlYXIoKTsKLSAgICBtU3RhdGUubU91dHB1dFZhcmlhYmxlcy5jbGVh
cigpOwotICAgIG1TdGF0ZS5tT3V0cHV0TG9jYXRpb25zLmNsZWFyKCk7CiAgICAgbVN0YXRlLm1T
ZWNvbmRhcnlPdXRwdXRMb2NhdGlvbnMuY2xlYXIoKTsKICAgICBtU3RhdGUubU91dHB1dFZhcmlh
YmxlVHlwZXMuY2xlYXIoKTsKICAgICBtU3RhdGUubURyYXdCdWZmZXJUeXBlTWFzay5yZXNldCgp
OwpAQCAtMTgwNywxMiArMTg1MywxMSBAQCB2b2lkIFByb2dyYW06OnVubGluaygpCiAgICAgbVN0
YXRlLm1CYXNlSW5zdGFuY2VMb2NhdGlvbiAgICAgICAgICAgICAgPSAtMTsKICAgICBtU3RhdGUu
bUNhY2hlZEJhc2VWZXJ0ZXggICAgICAgICAgICAgICAgICA9IDA7CiAgICAgbVN0YXRlLm1DYWNo
ZWRCYXNlSW5zdGFuY2UgICAgICAgICAgICAgICAgPSAwOworICAgIG1TdGF0ZS5tRWFybHlGcmFt
ZW50VGVzdHNPcHRpbWl6YXRpb24gICAgID0gZmFsc2U7CiAKICAgICBtVmFsaWRhdGVkID0gZmFs
c2U7CiAKICAgICBtTGlua2VkID0gZmFsc2U7Ci0KLSAgICBtU3RhdGUubUV4ZWN1dGFibGUucmVz
ZXQoKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpsb2FkQmluYXJ5KGNvbnN0IENvbnRl
eHQgKmNvbnRleHQsCkBAIC0xODIwLDkgKzE4NjUsOSBAQCBhbmdsZTo6UmVzdWx0IFByb2dyYW06
OmxvYWRCaW5hcnkoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB2b2lkICpiaW5hcnksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xzaXplaSBsZW5ndGgpCiB7Ci0gICAgSW5mb0xvZyAmaW5mb0xvZyA9IG1T
dGF0ZS5tRXhlY3V0YWJsZS5nZXRJbmZvTG9nKCk7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQp
OworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgdW5saW5rKCk7CisgICAgSW5mb0xv
ZyAmaW5mb0xvZyA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0SW5mb0xvZygpOwogCiAjaWYgQU5H
TEVfUFJPR1JBTV9CSU5BUllfTE9BRCAhPSBBTkdMRV9FTkFCTEVECiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTg0MCwxOCArMTg4NSw0NSBAQCBhbmdsZTo6UmVzdWx0
IFByb2dyYW06OmxvYWRCaW5hcnkoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAvLyBDdXJy
ZW50bHkgd2UgcmVxdWlyZSB0aGUgZnVsbCBzaGFkZXIgdGV4dCB0byBjb21wdXRlIHRoZSBwcm9n
cmFtIGhhc2guCiAgICAgLy8gV2UgY291bGQgYWxzbyBzdG9yZSB0aGUgYmluYXJ5IGluIHRoZSBp
bnRlcm5hbCBwcm9ncmFtIGNhY2hlLgogCi0gICAgZm9yIChzaXplX3QgdW5pZm9ybUJsb2NrSW5k
ZXggPSAwOyB1bmlmb3JtQmxvY2tJbmRleCA8IG1TdGF0ZS5tVW5pZm9ybUJsb2Nrcy5zaXplKCk7
Ci0gICAgICAgICArK3VuaWZvcm1CbG9ja0luZGV4KQorICAgIGZvciAoc2l6ZV90IHVuaWZvcm1C
bG9ja0luZGV4ID0gMDsKKyAgICAgICAgIHVuaWZvcm1CbG9ja0luZGV4IDwgbVN0YXRlLm1FeGVj
dXRhYmxlLT5nZXRBY3RpdmVVbmlmb3JtQmxvY2tDb3VudCgpOyArK3VuaWZvcm1CbG9ja0luZGV4
KQogICAgIHsKICAgICAgICAgbURpcnR5Qml0cy5zZXQodW5pZm9ybUJsb2NrSW5kZXgpOwogICAg
IH0KIAotICAgIG1MaW5raW5nU3RhdGUucmVzZXQobmV3IExpbmtpbmdTdGF0ZSgpKTsKLSAgICBt
TGlua2luZ1N0YXRlLT5saW5raW5nRnJvbUJpbmFyeSA9IHRydWU7Ci0gICAgbUxpbmtpbmdTdGF0
ZS0+bGlua0V2ZW50ICAgICAgICAgPSBtUHJvZ3JhbS0+bG9hZChjb250ZXh0LCAmc3RyZWFtLCBp
bmZvTG9nKTsKLSAgICBtTGlua1Jlc29sdmVkICAgICAgICAgICAgICAgICAgICA9IGZhbHNlOwor
ICAgIC8vIFRoZSByeDo6TGlua0V2ZW50IHJldHVybmVkIGZyb20gUHJvZ3JhbUltcGw6OmxvYWQg
aXMgYSBiYXNlIGNsYXNzIHdpdGggbXVsdGlwbGUKKyAgICAvLyBpbXBsZW1lbnRhdGlvbnMuIElu
IHNvbWUgaW1wbGVtZW50YXRpb25zLCBhIGJhY2tncm91bmQgdGhyZWFkIGlzIHVzZWQgdG8gY29t
cGlsZSB0aGUKKyAgICAvLyBzaGFkZXJzLiBBbnkgY2FsbHMgdG8gdGhlIExpbmtFdmVudCBvYmpl
Y3QsIHRoZXJlZm9yZSwgYXJlIHJhY3kgYW5kIG1heSBpbnRlcmZlcmUgd2l0aAorICAgIC8vIHRo
ZSBvcGVyYXRpb24uCisKKyAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBjYWxsIExpbmtFdmVudDo6
d2FpdCBiZWNhdXNlIHRoYXQgd2lsbCBjYXVzZSB0aGUgYmFja2dyb3VuZCB0aHJlYWQKKyAgICAv
LyB0byBmaW5pc2ggaXRzIHRhc2sgYmVmb3JlIHJldHVybmluZywgdGh1cyBkZWZlYXRpbmcgdGhl
IHB1cnBvc2Ugb2YgYmFja2dyb3VuZCBjb21waWxhdGlvbi4KKyAgICAvLyBXZSBuZWVkIHRvIGRl
ZmVyIHdhaXRpbmcgb24gYmFja2dyb3VuZCBjb21waWxhdGlvbiB1bnRpbCB0aGUgdmVyeSBsYXN0
IG1pbnV0ZSB3aGVuIHdlCisgICAgLy8gYWJzb2x1dGVseSBuZWVkIHRoZSByZXN1bHRzLCBzdWNo
IGFzIHdoZW4gdGhlIGRldmVsb3BlciBiaW5kcyB0aGUgcHJvZ3JhbSBvciBxdWVyaWVzCisgICAg
Ly8gZm9yIHRoZSBjb21wbGV0aW9uIHN0YXR1cy4KKworICAgIC8vIElmIGxvYWQgcmV0dXJucyBu
dWxscHRyLCB3ZSBrbm93IGZvciBzdXJlIHRoYXQgdGhlIGJpbmFyeSBpcyBub3QgY29tcGF0aWJs
ZSB3aXRoIHRoZSBiYWNrZW5kLgorICAgIC8vIFRoZSBsb2FkZWQgYmluYXJ5IGNvdWxkIGhhdmUg
YmVlbiByZWFkIGZyb20gdGhlIG9uLWRpc2sgc2hhZGVyIGNhY2hlIGFuZCBiZSBjb3JydXB0ZWQg
b3IKKyAgICAvLyBzZXJpYWxpemVkIHdpdGggZGlmZmVyZW50IHJldmlzaW9uIGFuZCBzdWJzeXN0
ZW0gaWQgdGhhbiB0aGUgY3VycmVudGx5IGxvYWRlZCBiYWNrZW5kLgorICAgIC8vIFJldHVybmlu
ZyAnSW5jb21wbGV0ZScgdG8gdGhlIGNhbGxlciByZXN1bHRzIGluIGxpbmsgaGFwcGVuaW5nIHVz
aW5nIHRoZSBvcmlnaW5hbCBzaGFkZXIKKyAgICAvLyBzb3VyY2VzLgorICAgIGFuZ2xlOjpSZXN1
bHQgcmVzdWx0OworICAgIHN0ZDo6dW5pcXVlX3B0cjxMaW5raW5nU3RhdGU+IGxpbmtpbmdTdGF0
ZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cng6OkxpbmtFdmVudD4gbGlua0V2ZW50ID0gbVByb2dy
YW0tPmxvYWQoY29udGV4dCwgJnN0cmVhbSwgaW5mb0xvZyk7CisgICAgaWYgKGxpbmtFdmVudCkK
KyAgICB7CisgICAgICAgIGxpbmtpbmdTdGF0ZSAgICAgICAgICAgICAgICAgICAgPSBzdGQ6Om1h
a2VfdW5pcXVlPExpbmtpbmdTdGF0ZT4oKTsKKyAgICAgICAgbGlua2luZ1N0YXRlLT5saW5raW5n
RnJvbUJpbmFyeSA9IHRydWU7CisgICAgICAgIGxpbmtpbmdTdGF0ZS0+bGlua0V2ZW50ICAgICAg
ICAgPSBzdGQ6Om1vdmUobGlua0V2ZW50KTsKKyAgICAgICAgcmVzdWx0ICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0KKyAgICBlbHNlCisg
ICAgeworICAgICAgICByZXN1bHQgPSBhbmdsZTo6UmVzdWx0OjpJbmNvbXBsZXRlOworICAgIH0K
KyAgICBtTGlua2luZ1N0YXRlID0gc3RkOjptb3ZlKGxpbmtpbmdTdGF0ZSk7CiAKLSAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgcmV0dXJuIHJlc3VsdDsKICNlbmRpZiAg
Ly8gI2lmIEFOR0xFX1BST0dSQU1fQklOQVJZX0xPQUQgPT0gQU5HTEVfRU5BQkxFRAogfQogCkBA
IC0xODYxLDcgKzE5MzMsNyBAQCBhbmdsZTo6UmVzdWx0IFByb2dyYW06OnNhdmVCaW5hcnkoQ29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVp
IGJ1ZlNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSAqbGVu
Z3RoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1M
aW5raW5nU3RhdGUpOwogICAgIGlmIChiaW5hcnlGb3JtYXQpCiAgICAgewogICAgICAgICAqYmlu
YXJ5Rm9ybWF0ID0gR0xfUFJPR1JBTV9CSU5BUllfQU5HTEU7CkBAIC0xOTA2LDcgKzE5NzgsNyBA
QCBhbmdsZTo6UmVzdWx0IFByb2dyYW06OnNhdmVCaW5hcnkoQ29udGV4dCAqY29udGV4dCwKIAog
R0xpbnQgUHJvZ3JhbTo6Z2V0QmluYXJ5TGVuZ3RoKENvbnRleHQgKmNvbnRleHQpIGNvbnN0CiB7
Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7
CiAgICAgaWYgKCFtTGlua2VkKQogICAgIHsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xOTI1LDcg
KzE5OTcsNyBAQCBHTGludCBQcm9ncmFtOjpnZXRCaW5hcnlMZW5ndGgoQ29udGV4dCAqY29udGV4
dCkgY29uc3QKIAogdm9pZCBQcm9ncmFtOjpzZXRCaW5hcnlSZXRyaWV2YWJsZUhpbnQoYm9vbCBy
ZXRyaWV2YWJsZSkKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFt
TGlua2luZ1N0YXRlKTsKICAgICAvLyBUT0RPKGptYWRpbGwpIDogcmVwbGFjZSB3aXRoIGRpcnR5
IGJpdHMKICAgICBtUHJvZ3JhbS0+c2V0QmluYXJ5UmV0cmlldmFibGVIaW50KHJldHJpZXZhYmxl
KTsKICAgICBtU3RhdGUubUJpbmFyeVJldHJpZXZlYWJsZUhpbnQgPSByZXRyaWV2YWJsZTsKQEAg
LTE5MzMsMTMgKzIwMDUsMTMgQEAgdm9pZCBQcm9ncmFtOjpzZXRCaW5hcnlSZXRyaWV2YWJsZUhp
bnQoYm9vbCByZXRyaWV2YWJsZSkKIAogYm9vbCBQcm9ncmFtOjpnZXRCaW5hcnlSZXRyaWV2YWJs
ZUhpbnQoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQo
IW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubUJpbmFyeVJldHJpZXZlYWJsZUhp
bnQ7CiB9CiAKIHZvaWQgUHJvZ3JhbTo6c2V0U2VwYXJhYmxlKGJvb2wgc2VwYXJhYmxlKQogewot
ICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwog
ICAgIC8vIFRPRE8oeXVuY2hhbykgOiByZXBsYWNlIHdpdGggZGlydHkgYml0cwogICAgIGlmICht
U3RhdGUubVNlcGFyYWJsZSAhPSBzZXBhcmFibGUpCiAgICAgewpAQCAtMTk1MCw3ICsyMDIyLDcg
QEAgdm9pZCBQcm9ncmFtOjpzZXRTZXBhcmFibGUoYm9vbCBzZXBhcmFibGUpCiAKIGJvb2wgUHJv
Z3JhbTo6aXNTZXBhcmFibGUoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubVNlcGFyYWJs
ZTsKIH0KIApAQCAtMTk2Nyw3ICsyMDM5LDcgQEAgdW5zaWduZWQgaW50IFByb2dyYW06OmdldFJl
ZkNvdW50KCkgY29uc3QKIAogdm9pZCBQcm9ncmFtOjpnZXRBdHRhY2hlZFNoYWRlcnMoR0xzaXpl
aSBtYXhDb3VudCwgR0xzaXplaSAqY291bnQsIFNoYWRlclByb2dyYW1JRCAqc2hhZGVycykgY29u
c3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0
YXRlKTsKICAgICBpbnQgdG90YWwgPSAwOwogCiAgICAgZm9yIChjb25zdCBTaGFkZXIgKnNoYWRl
ciA6IG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzKQpAQCAtMTk4Nyw3ICsyMDU5LDcgQEAgdm9pZCBQ
cm9ncmFtOjpnZXRBdHRhY2hlZFNoYWRlcnMoR0xzaXplaSBtYXhDb3VudCwgR0xzaXplaSAqY291
bnQsIFNoYWRlclByb2dyYW0KIAogR0x1aW50IFByb2dyYW06OmdldEF0dHJpYnV0ZUxvY2F0aW9u
KGNvbnN0IHN0ZDo6c3RyaW5nICZuYW1lKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29s
dmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUuZ2V0
QXR0cmlidXRlTG9jYXRpb24obmFtZSk7CiB9CiAKQEAgLTE5OTgsNyArMjA3MCw3IEBAIHZvaWQg
UHJvZ3JhbTo6Z2V0QWN0aXZlQXR0cmlidXRlKEdMdWludCBpbmRleCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMZW51bSAqdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMY2hhciAqbmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZl
ZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBpZiAoIW1MaW5rZWQpCiAgICAg
ewogICAgICAgICBpZiAoYnVmc2l6ZSA+IDApCkBAIC0yMDE2LDggKzIwODgsOCBAQCB2b2lkIFBy
b2dyYW06OmdldEFjdGl2ZUF0dHJpYnV0ZShHTHVpbnQgaW5kZXgsCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBBU1NFUlQoaW5kZXggPCBtU3RhdGUubVByb2dyYW1JbnB1dHMuc2l6ZSgp
KTsKLSAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJmF0dHJpYiA9IG1TdGF0ZS5tUHJvZ3Jh
bUlucHV0c1tpbmRleF07CisgICAgQVNTRVJUKGluZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxlLT5n
ZXRQcm9ncmFtSW5wdXRzKCkuc2l6ZSgpKTsKKyAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUg
JmF0dHJpYiA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpW2luZGV4XTsK
IAogICAgIGlmIChidWZzaXplID4gMCkKICAgICB7CkBAIC0yMDMxLDE4ICsyMTAzLDE4IEBAIHZv
aWQgUHJvZ3JhbTo6Z2V0QWN0aXZlQXR0cmlidXRlKEdMdWludCBpbmRleCwKIAogR0xpbnQgUHJv
Z3JhbTo6Z2V0QWN0aXZlQXR0cmlidXRlQ291bnQoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlu
a1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmICghbUxpbmtl
ZCkKICAgICB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxHTGludD4obVN0YXRlLm1Qcm9ncmFtSW5wdXRzLnNpemUoKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEdMaW50PihtU3RhdGUubUV4ZWN1dGFibGUtPmdldFByb2dyYW1JbnB1dHMoKS5z
aXplKCkpOwogfQogCiBHTGludCBQcm9ncmFtOjpnZXRBY3RpdmVBdHRyaWJ1dGVNYXhMZW5ndGgo
KSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5r
aW5nU3RhdGUpOwogICAgIGlmICghbUxpbmtlZCkKICAgICB7CiAgICAgICAgIHJldHVybiAwOwpA
QCAtMjA1MCw3ICsyMTIyLDcgQEAgR0xpbnQgUHJvZ3JhbTo6Z2V0QWN0aXZlQXR0cmlidXRlTWF4
TGVuZ3RoKCkgY29uc3QKIAogICAgIHNpemVfdCBtYXhMZW5ndGggPSAwOwogCi0gICAgZm9yIChj
b25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJmF0dHJpYiA6IG1TdGF0ZS5tUHJvZ3JhbUlucHV0cykK
KyAgICBmb3IgKGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmYXR0cmliIDogbVN0YXRlLm1FeGVj
dXRhYmxlLT5nZXRQcm9ncmFtSW5wdXRzKCkpCiAgICAgewogICAgICAgICBtYXhMZW5ndGggPSBz
dGQ6Om1heChhdHRyaWIubmFtZS5sZW5ndGgoKSArIDEsIG1heExlbmd0aCk7CiAgICAgfQpAQCAt
MjA2MCw1NiArMjEzMiw1NiBAQCBHTGludCBQcm9ncmFtOjpnZXRBY3RpdmVBdHRyaWJ1dGVNYXhM
ZW5ndGgoKSBjb25zdAogCiBjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZQ
cm9ncmFtOjpnZXRBdHRyaWJ1dGVzKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZl
ZCk7Ci0gICAgcmV0dXJuIG1TdGF0ZS5tUHJvZ3JhbUlucHV0czsKKyAgICBBU1NFUlQoIW1MaW5r
aW5nU3RhdGUpOworICAgIHJldHVybiBtU3RhdGUubUV4ZWN1dGFibGUtPmdldFByb2dyYW1JbnB1
dHMoKTsKIH0KIAogY29uc3Qgc3RkOjp2ZWN0b3I8U2FtcGxlckJpbmRpbmc+ICZQcm9ncmFtOjpn
ZXRTYW1wbGVyQmluZGluZ3MoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubVNhbXBsZXJC
aW5kaW5nczsKIH0KIAogY29uc3Qgc2g6OldvcmtHcm91cFNpemUgJlByb2dyYW06OmdldENvbXB1
dGVTaGFkZXJMb2NhbFNpemUoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubUNvbXB1dGVT
aGFkZXJMb2NhbFNpemU7CiB9CiAKIFByaW1pdGl2ZU1vZGUgUHJvZ3JhbTo6Z2V0R2VvbWV0cnlT
aGFkZXJJbnB1dFByaW1pdGl2ZVR5cGUoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29s
dmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubUdl
b21ldHJ5U2hhZGVySW5wdXRQcmltaXRpdmVUeXBlOwogfQogUHJpbWl0aXZlTW9kZSBQcm9ncmFt
OjpnZXRHZW9tZXRyeVNoYWRlck91dHB1dFByaW1pdGl2ZVR5cGUoKSBjb25zdAogewotICAgIEFT
U0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJl
dHVybiBtU3RhdGUubUdlb21ldHJ5U2hhZGVyT3V0cHV0UHJpbWl0aXZlVHlwZTsKIH0KIEdMaW50
IFByb2dyYW06OmdldEdlb21ldHJ5U2hhZGVySW52b2NhdGlvbnMoKSBjb25zdAogewotICAgIEFT
U0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJl
dHVybiBtU3RhdGUubUdlb21ldHJ5U2hhZGVySW52b2NhdGlvbnM7CiB9CiBHTGludCBQcm9ncmFt
OjpnZXRHZW9tZXRyeVNoYWRlck1heFZlcnRpY2VzKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxp
bmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICByZXR1cm4gbVN0
YXRlLm1HZW9tZXRyeVNoYWRlck1heFZlcnRpY2VzOwogfQogCiBjb25zdCBzaDo6U2hhZGVyVmFy
aWFibGUgJlByb2dyYW06OmdldElucHV0UmVzb3VyY2Uoc2l6ZV90IGluZGV4KSBjb25zdAogewot
ICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICBBU1NFUlQoaW5kZXggPCBtU3RhdGUubVBy
b2dyYW1JbnB1dHMuc2l6ZSgpKTsKLSAgICByZXR1cm4gbVN0YXRlLm1Qcm9ncmFtSW5wdXRzW2lu
ZGV4XTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIEFTU0VSVChpbmRleCA8IG1T
dGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpLnNpemUoKSk7CisgICAgcmV0dXJu
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpW2luZGV4XTsKIH0KIAogR0x1
aW50IFByb2dyYW06OmdldElucHV0UmVzb3VyY2VJbmRleChjb25zdCBHTGNoYXIgKm5hbWUpIGNv
bnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdT
dGF0ZSk7CiAgICAgY29uc3Qgc3RkOjpzdHJpbmcgbmFtZVN0cmluZyA9IFN0cmlwTGFzdEFycmF5
SW5kZXgobmFtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbVN0YXRl
Lm1Qcm9ncmFtSW5wdXRzLnNpemUoKTsgaW5kZXgrKykKKyAgICBmb3IgKHNpemVfdCBpbmRleCA9
IDA7IGluZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRQcm9ncmFtSW5wdXRzKCkuc2l6ZSgp
OyBpbmRleCsrKQogICAgIHsKICAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxlIHJlc291cmNlID0g
Z2V0SW5wdXRSZXNvdXJjZShpbmRleCk7CiAgICAgICAgIGlmIChyZXNvdXJjZS5uYW1lID09IG5h
bWVTdHJpbmcpCkBAIC0yMTM3LDcgKzIyMDksNyBAQCBHTHVpbnQgUHJvZ3JhbTo6Z2V0SW5wdXRS
ZXNvdXJjZU1heE5hbWVTaXplKCkgY29uc3QKIHsKICAgICBHTGludCBtYXggPSAwOwogCi0gICAg
Zm9yIChjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJnJlc291cmNlIDogbVN0YXRlLm1Qcm9ncmFt
SW5wdXRzKQorICAgIGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZyZXNvdXJjZSA6IG1T
dGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpKQogICAgIHsKICAgICAgICAgbWF4
ID0gZ2V0UmVzb3VyY2VNYXhOYW1lU2l6ZShyZXNvdXJjZSwgbWF4KTsKICAgICB9CkBAIC0yMTQ5
LDcgKzIyMjEsNyBAQCBHTHVpbnQgUHJvZ3JhbTo6Z2V0T3V0cHV0UmVzb3VyY2VNYXhOYW1lU2l6
ZSgpIGNvbnN0CiB7CiAgICAgR0xpbnQgbWF4ID0gMDsKIAotICAgIGZvciAoY29uc3Qgc2g6OlNo
YWRlclZhcmlhYmxlICZyZXNvdXJjZSA6IG1TdGF0ZS5tT3V0cHV0VmFyaWFibGVzKQorICAgIGZv
ciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZyZXNvdXJjZSA6IG1TdGF0ZS5tRXhlY3V0YWJs
ZS0+Z2V0T3V0cHV0VmFyaWFibGVzKCkpCiAgICAgewogICAgICAgICBtYXggPSBnZXRSZXNvdXJj
ZU1heE5hbWVTaXplKHJlc291cmNlLCBtYXgpOwogICAgIH0KQEAgLTIxNTksNiArMjIzMSwxMSBA
QCBHTHVpbnQgUHJvZ3JhbTo6Z2V0T3V0cHV0UmVzb3VyY2VNYXhOYW1lU2l6ZSgpIGNvbnN0CiAK
IEdMdWludCBQcm9ncmFtOjpnZXRSZXNvdXJjZUxvY2F0aW9uKGNvbnN0IEdMY2hhciAqbmFtZSwg
Y29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZ2YXJpYWJsZSkgY29uc3QKIHsKKyAgICBpZiAodmFy
aWFibGUuaXNCdWlsdEluKCkpCisgICAgeworICAgICAgICByZXR1cm4gR0xfSU5WQUxJRF9JTkRF
WDsKKyAgICB9CisKICAgICBHTGludCBsb2NhdGlvbiA9IHZhcmlhYmxlLmxvY2F0aW9uOwogICAg
IGlmICh2YXJpYWJsZS5pc0FycmF5KCkpCiAgICAgewpAQCAtMjIwMiwxMCArMjI3OSwxMCBAQCBH
THVpbnQgUHJvZ3JhbTo6Z2V0T3V0cHV0UmVzb3VyY2VMb2NhdGlvbihjb25zdCBHTGNoYXIgKm5h
bWUpIGNvbnN0CiAKIEdMdWludCBQcm9ncmFtOjpnZXRPdXRwdXRSZXNvdXJjZUluZGV4KGNvbnN0
IEdMY2hhciAqbmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAg
QVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBjb25zdCBzdGQ6OnN0cmluZyBuYW1lU3RyaW5n
ID0gU3RyaXBMYXN0QXJyYXlJbmRleChuYW1lKTsKIAotICAgIGZvciAoc2l6ZV90IGluZGV4ID0g
MDsgaW5kZXggPCBtU3RhdGUubU91dHB1dFZhcmlhYmxlcy5zaXplKCk7IGluZGV4KyspCisgICAg
Zm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0T3V0
cHV0VmFyaWFibGVzKCkuc2l6ZSgpOyBpbmRleCsrKQogICAgIHsKICAgICAgICAgc2g6OlNoYWRl
clZhcmlhYmxlIHJlc291cmNlID0gZ2V0T3V0cHV0UmVzb3VyY2UoaW5kZXgpOwogICAgICAgICBp
ZiAocmVzb3VyY2UubmFtZSA9PSBuYW1lU3RyaW5nKQpAQCAtMjIxOSwxMyArMjI5NiwxMyBAQCBH
THVpbnQgUHJvZ3JhbTo6Z2V0T3V0cHV0UmVzb3VyY2VJbmRleChjb25zdCBHTGNoYXIgKm5hbWUp
IGNvbnN0CiAKIHNpemVfdCBQcm9ncmFtOjpnZXRPdXRwdXRSZXNvdXJjZUNvdW50KCkgY29uc3QK
IHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgcmV0dXJuIChtTGlua2VkID8gbVN0
YXRlLm1PdXRwdXRWYXJpYWJsZXMuc2l6ZSgpIDogMCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0
YXRlKTsKKyAgICByZXR1cm4gKG1MaW5rZWQgPyBtU3RhdGUubUV4ZWN1dGFibGUtPmdldE91dHB1
dFZhcmlhYmxlcygpLnNpemUoKSA6IDApOwogfQogCiBjb25zdCBzdGQ6OnZlY3RvcjxHTGVudW0+
ICZQcm9ncmFtOjpnZXRPdXRwdXRWYXJpYWJsZVR5cGVzKCkgY29uc3QKIHsKLSAgICBBU1NFUlQo
bUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICByZXR1cm4g
bVN0YXRlLm1PdXRwdXRWYXJpYWJsZVR5cGVzOwogfQogCkBAIC0yMjU5LDcgKzIzMzYsNyBAQCB2
b2lkIFByb2dyYW06OmdldElucHV0UmVzb3VyY2VOYW1lKEdMdWludCBpbmRleCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSAqbGVuZ3RoLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTGNoYXIgKm5hbWUpIGNvbnN0CiB7Ci0gICAgQVNTRVJU
KG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgZ2V0UmVz
b3VyY2VOYW1lKGdldElucHV0UmVzb3VyY2VOYW1lKGluZGV4KSwgYnVmU2l6ZSwgbGVuZ3RoLCBu
YW1lKTsKIH0KIApAQCAtMjI2OCw3ICsyMzQ1LDcgQEAgdm9pZCBQcm9ncmFtOjpnZXRPdXRwdXRS
ZXNvdXJjZU5hbWUoR0x1aW50IGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xzaXplaSAqbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xjaGFyICpuYW1lKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAg
ICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGdldFJlc291cmNlTmFtZShnZXRPdXRwdXRS
ZXNvdXJjZU5hbWUoaW5kZXgpLCBidWZTaXplLCBsZW5ndGgsIG5hbWUpOwogfQogCkBAIC0yMjc3
LDkgKzIzNTQsOSBAQCB2b2lkIFByb2dyYW06OmdldFVuaWZvcm1SZXNvdXJjZU5hbWUoR0x1aW50
IGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgKmxl
bmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGNoYXIgKm5hbWUp
IGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOwotICAgIEFTU0VSVChpbmRleCA8
IG1TdGF0ZS5tVW5pZm9ybXMuc2l6ZSgpKTsKLSAgICBnZXRSZXNvdXJjZU5hbWUobVN0YXRlLm1V
bmlmb3Jtc1tpbmRleF0ubmFtZSwgYnVmU2l6ZSwgbGVuZ3RoLCBuYW1lKTsKKyAgICBBU1NFUlQo
IW1MaW5raW5nU3RhdGUpOworICAgIEFTU0VSVChpbmRleCA8IG1TdGF0ZS5tRXhlY3V0YWJsZS0+
Z2V0VW5pZm9ybXMoKS5zaXplKCkpOworICAgIGdldFJlc291cmNlTmFtZShtU3RhdGUubUV4ZWN1
dGFibGUtPmdldFVuaWZvcm1zKClbaW5kZXhdLm5hbWUsIGJ1ZlNpemUsIGxlbmd0aCwgbmFtZSk7
CiB9CiAKIHZvaWQgUHJvZ3JhbTo6Z2V0QnVmZmVyVmFyaWFibGVSZXNvdXJjZU5hbWUoR0x1aW50
IGluZGV4LApAQCAtMjI4Nyw3ICsyMzY0LDcgQEAgdm9pZCBQcm9ncmFtOjpnZXRCdWZmZXJWYXJp
YWJsZVJlc291cmNlTmFtZShHTHVpbnQgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgKmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xjaGFyICpuYW1lKSBjb25zdAogewotICAgIEFTU0VS
VChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIEFTU0VS
VChpbmRleCA8IG1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzLnNpemUoKSk7CiAgICAgZ2V0UmVzb3Vy
Y2VOYW1lKG1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzW2luZGV4XS5uYW1lLCBidWZTaXplLCBsZW5n
dGgsIG5hbWUpOwogfQpAQCAtMjMwNiw3ICsyMzgzLDcgQEAgY29uc3Qgc3RkOjpzdHJpbmcgUHJv
Z3JhbTo6Z2V0UmVzb3VyY2VOYW1lKGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmcmVzb3VyY2Up
IGMKIAogY29uc3Qgc3RkOjpzdHJpbmcgUHJvZ3JhbTo6Z2V0SW5wdXRSZXNvdXJjZU5hbWUoR0x1
aW50IGluZGV4KSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NF
UlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmcmVzb3Vy
Y2UgPSBnZXRJbnB1dFJlc291cmNlKGluZGV4KTsKIAogICAgIHJldHVybiBnZXRSZXNvdXJjZU5h
bWUocmVzb3VyY2UpOwpAQCAtMjMxNCw3ICsyMzkxLDcgQEAgY29uc3Qgc3RkOjpzdHJpbmcgUHJv
Z3JhbTo6Z2V0SW5wdXRSZXNvdXJjZU5hbWUoR0x1aW50IGluZGV4KSBjb25zdAogCiBjb25zdCBz
dGQ6OnN0cmluZyBQcm9ncmFtOjpnZXRPdXRwdXRSZXNvdXJjZU5hbWUoR0x1aW50IGluZGV4KSBj
b25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5n
U3RhdGUpOwogICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmcmVzb3VyY2UgPSBnZXRPdXRw
dXRSZXNvdXJjZShpbmRleCk7CiAKICAgICByZXR1cm4gZ2V0UmVzb3VyY2VOYW1lKHJlc291cmNl
KTsKQEAgLTIzMjIsNTQgKzIzOTksNjkgQEAgY29uc3Qgc3RkOjpzdHJpbmcgUHJvZ3JhbTo6Z2V0
T3V0cHV0UmVzb3VyY2VOYW1lKEdMdWludCBpbmRleCkgY29uc3QKIAogY29uc3Qgc2g6OlNoYWRl
clZhcmlhYmxlICZQcm9ncmFtOjpnZXRPdXRwdXRSZXNvdXJjZShzaXplX3QgaW5kZXgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOwotICAgIEFTU0VSVChpbmRleCA8IG1TdGF0
ZS5tT3V0cHV0VmFyaWFibGVzLnNpemUoKSk7Ci0gICAgcmV0dXJuIG1TdGF0ZS5tT3V0cHV0VmFy
aWFibGVzW2luZGV4XTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIEFTU0VSVChp
bmRleCA8IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVzKCkuc2l6ZSgpKTsK
KyAgICByZXR1cm4gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRPdXRwdXRWYXJpYWJsZXMoKVtpbmRl
eF07CiB9CiAKIGNvbnN0IFByb2dyYW1CaW5kaW5ncyAmUHJvZ3JhbTo6Z2V0QXR0cmlidXRlQmlu
ZGluZ3MoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQo
IW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtQXR0cmlidXRlQmluZGluZ3M7CiB9CiBjb25z
dCBQcm9ncmFtQWxpYXNlZEJpbmRpbmdzICZQcm9ncmFtOjpnZXRVbmlmb3JtTG9jYXRpb25CaW5k
aW5ncygpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCgh
bUxpbmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1TdGF0ZS5tVW5pZm9ybUxvY2F0aW9uQmluZGlu
Z3M7CiB9CiAKK2NvbnN0IGdsOjpQcm9ncmFtQWxpYXNlZEJpbmRpbmdzICZQcm9ncmFtOjpnZXRG
cmFnbWVudE91dHB1dExvY2F0aW9ucygpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0
YXRlKTsKKyAgICByZXR1cm4gbUZyYWdtZW50T3V0cHV0TG9jYXRpb25zOworfQorCitjb25zdCBn
bDo6UHJvZ3JhbUFsaWFzZWRCaW5kaW5ncyAmUHJvZ3JhbTo6Z2V0RnJhZ21lbnRPdXRwdXRJbmRl
eGVzKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIHJldHVybiBt
RnJhZ21lbnRPdXRwdXRJbmRleGVzOworfQorCiBDb21wb25lbnRUeXBlTWFzayBQcm9ncmFtOjpn
ZXREcmF3QnVmZmVyVHlwZU1hc2soKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVk
KTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubURyYXdC
dWZmZXJUeXBlTWFzazsKIH0KIAogY29uc3Qgc3RkOjp2ZWN0b3I8R0xzaXplaT4gJlByb2dyYW06
OmdldFRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlcygpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5r
UmVzb2x2ZWQpOwotICAgIHJldHVybiBtU3RhdGUubVRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlczsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIHJldHVybiBtU3RhdGUubUV4ZWN1dGFi
bGUtPmdldFRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlcygpOwogfQogCiBHTGludCBQcm9ncmFtOjpn
ZXRGcmFnRGF0YUxvY2F0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nICZuYW1lKSBjb25zdAogewotICAg
IEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICBHTGludCBwcmltYXJ5TG9jYXRpb24gPQotICAg
ICAgICBHZXRWYXJpYWJsZUxvY2F0aW9uKG1TdGF0ZS5tT3V0cHV0VmFyaWFibGVzLCBtU3RhdGUu
bU91dHB1dExvY2F0aW9ucywgbmFtZSk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKKyAg
ICBHTGludCBwcmltYXJ5TG9jYXRpb24gPSBHZXRWYXJpYWJsZUxvY2F0aW9uKG1TdGF0ZS5tRXhl
Y3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVzKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPmdldE91dHB1dExvY2F0
aW9ucygpLCBuYW1lKTsKICAgICBpZiAocHJpbWFyeUxvY2F0aW9uICE9IC0xKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHByaW1hcnlMb2NhdGlvbjsKICAgICB9Ci0gICAgcmV0dXJuIEdldFZhcmlh
YmxlTG9jYXRpb24obVN0YXRlLm1PdXRwdXRWYXJpYWJsZXMsIG1TdGF0ZS5tU2Vjb25kYXJ5T3V0
cHV0TG9jYXRpb25zLCBuYW1lKTsKKyAgICByZXR1cm4gR2V0VmFyaWFibGVMb2NhdGlvbihtU3Rh
dGUubUV4ZWN1dGFibGUtPmdldE91dHB1dFZhcmlhYmxlcygpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1TdGF0ZS5tU2Vjb25kYXJ5T3V0cHV0TG9jYXRpb25zLCBuYW1lKTsKIH0K
IAogR0xpbnQgUHJvZ3JhbTo6Z2V0RnJhZ0RhdGFJbmRleChjb25zdCBzdGQ6OnN0cmluZyAmbmFt
ZSkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgaWYgKEdldFZhcmlh
YmxlTG9jYXRpb24obVN0YXRlLm1PdXRwdXRWYXJpYWJsZXMsIG1TdGF0ZS5tT3V0cHV0TG9jYXRp
b25zLCBuYW1lKSAhPSAtMSkKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIGlmIChH
ZXRWYXJpYWJsZUxvY2F0aW9uKG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVz
KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRP
dXRwdXRMb2NhdGlvbnMoKSwgbmFtZSkgIT0gLTEpCiAgICAgewogICAgICAgICByZXR1cm4gMDsK
ICAgICB9Ci0gICAgaWYgKEdldFZhcmlhYmxlTG9jYXRpb24obVN0YXRlLm1PdXRwdXRWYXJpYWJs
ZXMsIG1TdGF0ZS5tU2Vjb25kYXJ5T3V0cHV0TG9jYXRpb25zLCBuYW1lKSAhPSAtMSkKKyAgICBp
ZiAoR2V0VmFyaWFibGVMb2NhdGlvbihtU3RhdGUubUV4ZWN1dGFibGUtPmdldE91dHB1dFZhcmlh
YmxlcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TdGF0ZS5tU2Vjb25kYXJ5T3V0
cHV0TG9jYXRpb25zLCBuYW1lKSAhPSAtMSkKICAgICB7CiAgICAgICAgIHJldHVybiAxOwogICAg
IH0KQEAgLTIzODMsMTIgKzI0NzUsMTIgQEAgdm9pZCBQcm9ncmFtOjpnZXRBY3RpdmVVbmlmb3Jt
KEdMdWludCBpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gKnR5
cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xjaGFyICpuYW1lKSBjb25zdAog
ewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUp
OwogICAgIGlmIChtTGlua2VkKQogICAgIHsKICAgICAgICAgLy8gaW5kZXggbXVzdCBiZSBzbWFs
bGVyIHRoYW4gZ2V0QWN0aXZlVW5pZm9ybUNvdW50KCkKLSAgICAgICAgQVNTRVJUKGluZGV4IDwg
bVN0YXRlLm1Vbmlmb3Jtcy5zaXplKCkpOwotICAgICAgICBjb25zdCBMaW5rZWRVbmlmb3JtICZ1
bmlmb3JtID0gbVN0YXRlLm1Vbmlmb3Jtc1tpbmRleF07CisgICAgICAgIEFTU0VSVChpbmRleCA8
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5zaXplKCkpOworICAgICAgICBjb25z
dCBMaW5rZWRVbmlmb3JtICZ1bmlmb3JtID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRVbmlmb3Jt
cygpW2luZGV4XTsKIAogICAgICAgICBpZiAoYnVmc2l6ZSA+IDApCiAgICAgICAgIHsKQEAgLTI0
MTgsMTAgKzI1MTAsMTAgQEAgdm9pZCBQcm9ncmFtOjpnZXRBY3RpdmVVbmlmb3JtKEdMdWludCBp
bmRleCwKIAogR0xpbnQgUHJvZ3JhbTo6Z2V0QWN0aXZlVW5pZm9ybUNvdW50KCkgY29uc3QKIHsK
LSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsK
ICAgICBpZiAobUxpbmtlZCkKICAgICB7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxHTGlu
dD4obVN0YXRlLm1Vbmlmb3Jtcy5zaXplKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
R0xpbnQ+KG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5zaXplKCkpOwogICAgIH0K
ICAgICBlbHNlCiAgICAgewpAQCAtMjQzMSwxOCArMjUyMywxOCBAQCBHTGludCBQcm9ncmFtOjpn
ZXRBY3RpdmVVbmlmb3JtQ291bnQoKSBjb25zdAogCiBzaXplX3QgUHJvZ3JhbTo6Z2V0QWN0aXZl
QnVmZmVyVmFyaWFibGVDb3VudCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQp
OworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1MaW5rZWQgPyBtU3Rh
dGUubUJ1ZmZlclZhcmlhYmxlcy5zaXplKCkgOiAwOwogfQogCiBHTGludCBQcm9ncmFtOjpnZXRB
Y3RpdmVVbmlmb3JtTWF4TGVuZ3RoKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZl
ZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBzaXplX3QgbWF4TGVuZ3RoID0g
MDsKIAogICAgIGlmIChtTGlua2VkKQogICAgIHsKLSAgICAgICAgZm9yIChjb25zdCBMaW5rZWRV
bmlmb3JtICZ1bmlmb3JtIDogbVN0YXRlLm1Vbmlmb3JtcykKKyAgICAgICAgZm9yIChjb25zdCBM
aW5rZWRVbmlmb3JtICZ1bmlmb3JtIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRVbmlmb3Jtcygp
KQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIXVuaWZvcm0ubmFtZS5lbXB0eSgpKQogICAg
ICAgICAgICAgewpAQCAtMjQ2MSw3ICsyNTUzLDcgQEAgR0xpbnQgUHJvZ3JhbTo6Z2V0QWN0aXZl
VW5pZm9ybU1heExlbmd0aCgpIGNvbnN0CiAKIGJvb2wgUHJvZ3JhbTo6aXNWYWxpZFVuaWZvcm1M
b2NhdGlvbihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24pIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1M
aW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgQVNTRVJUKGFu
Z2xlOjpJc1ZhbHVlSW5SYW5nZUZvck51bWVyaWNUeXBlPEdMaW50PihtU3RhdGUubVVuaWZvcm1M
b2NhdGlvbnMuc2l6ZSgpKSk7CiAgICAgcmV0dXJuIChsb2NhdGlvbi52YWx1ZSA+PSAwICYmCiAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KGxvY2F0aW9uLnZhbHVlKSA8IG1TdGF0ZS5t
VW5pZm9ybUxvY2F0aW9ucy5zaXplKCkgJiYKQEAgLTI0NzAsMTUgKzI1NjIsMTUgQEAgYm9vbCBQ
cm9ncmFtOjppc1ZhbGlkVW5pZm9ybUxvY2F0aW9uKFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbikg
Y29uc3QKIAogY29uc3QgTGlua2VkVW5pZm9ybSAmUHJvZ3JhbTo6Z2V0VW5pZm9ybUJ5TG9jYXRp
b24oVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jl
c29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIEFTU0VSVChsb2NhdGlv
bi52YWx1ZSA+PSAwICYmCiAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4obG9jYXRpb24u
dmFsdWUpIDwgbVN0YXRlLm1Vbmlmb3JtTG9jYXRpb25zLnNpemUoKSk7Ci0gICAgcmV0dXJuIG1T
dGF0ZS5tVW5pZm9ybXNbbVN0YXRlLmdldFVuaWZvcm1JbmRleEZyb21Mb2NhdGlvbihsb2NhdGlv
bildOworICAgIHJldHVybiBtU3RhdGUubUV4ZWN1dGFibGUtPmdldFVuaWZvcm1zKClbbVN0YXRl
LmdldFVuaWZvcm1JbmRleEZyb21Mb2NhdGlvbihsb2NhdGlvbildOwogfQogCiBjb25zdCBWYXJp
YWJsZUxvY2F0aW9uICZQcm9ncmFtOjpnZXRVbmlmb3JtTG9jYXRpb24oVW5pZm9ybUxvY2F0aW9u
IGxvY2F0aW9uKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NF
UlQoIW1MaW5raW5nU3RhdGUpOwogICAgIEFTU0VSVChsb2NhdGlvbi52YWx1ZSA+PSAwICYmCiAg
ICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4obG9jYXRpb24udmFsdWUpIDwgbVN0YXRlLm1V
bmlmb3JtTG9jYXRpb25zLnNpemUoKSk7CiAgICAgcmV0dXJuIG1TdGF0ZS5tVW5pZm9ybUxvY2F0
aW9uc1tsb2NhdGlvbi52YWx1ZV07CkBAIC0yNDg2LDIwICsyNTc4LDIwIEBAIGNvbnN0IFZhcmlh
YmxlTG9jYXRpb24gJlByb2dyYW06OmdldFVuaWZvcm1Mb2NhdGlvbihVbmlmb3JtTG9jYXRpb24g
bG9jYXRpb24pIGNvCiAKIGNvbnN0IEJ1ZmZlclZhcmlhYmxlICZQcm9ncmFtOjpnZXRCdWZmZXJW
YXJpYWJsZUJ5SW5kZXgoR0x1aW50IGluZGV4KSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jl
c29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIEFTU0VSVChpbmRleCA8
IHN0YXRpY19jYXN0PHNpemVfdD4obVN0YXRlLm1CdWZmZXJWYXJpYWJsZXMuc2l6ZSgpKSk7CiAg
ICAgcmV0dXJuIG1TdGF0ZS5tQnVmZmVyVmFyaWFibGVzW2luZGV4XTsKIH0KIAogVW5pZm9ybUxv
Y2F0aW9uIFByb2dyYW06OmdldFVuaWZvcm1Mb2NhdGlvbihjb25zdCBzdGQ6OnN0cmluZyAmbmFt
ZSkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgcmV0dXJuIHtHZXRW
YXJpYWJsZUxvY2F0aW9uKG1TdGF0ZS5tVW5pZm9ybXMsIG1TdGF0ZS5tVW5pZm9ybUxvY2F0aW9u
cywgbmFtZSl9OworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgcmV0dXJuIHtHZXRW
YXJpYWJsZUxvY2F0aW9uKG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKSwgbVN0YXRl
Lm1Vbmlmb3JtTG9jYXRpb25zLCBuYW1lKX07CiB9CiAKIEdMdWludCBQcm9ncmFtOjpnZXRVbmlm
b3JtSW5kZXgoY29uc3Qgc3RkOjpzdHJpbmcgJm5hbWUpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1M
aW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1T
dGF0ZS5nZXRVbmlmb3JtSW5kZXhGcm9tTmFtZShuYW1lKTsKIH0KIApAQCAtMjUyMCw3ICsyNjEy
LDcgQEAgYm9vbCBQcm9ncmFtOjpzaG91bGRJZ25vcmVVbmlmb3JtKFVuaWZvcm1Mb2NhdGlvbiBs
b2NhdGlvbikgY29uc3QKIAogdm9pZCBQcm9ncmFtOjpzZXRVbmlmb3JtMWZ2KFVuaWZvcm1Mb2Nh
dGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0xmbG9hdCAqdikKIHsKLSAgICBB
U1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBp
ZiAoc2hvdWxkSWdub3JlVW5pZm9ybShsb2NhdGlvbikpCiAgICAgewogICAgICAgICByZXR1cm47
CkBAIC0yNTMzLDcgKzI2MjUsNyBAQCB2b2lkIFByb2dyYW06OnNldFVuaWZvcm0xZnYoVW5pZm9y
bUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBHTGZsbwogCiB2b2lkIFBy
b2dyYW06OnNldFVuaWZvcm0yZnYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNv
dW50LCBjb25zdCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAg
ICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxv
Y2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI1NDYsNyArMjYzOCw3IEBAIHZv
aWQgUHJvZ3JhbTo6c2V0VW5pZm9ybTJmdihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6
ZWkgY291bnQsIGNvbnN0IEdMZmxvCiAKIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybTNmdihVbmlm
b3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMZmxvYXQgKnYpCiB7
Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7
CiAgICAgaWYgKHNob3VsZElnbm9yZVVuaWZvcm0obG9jYXRpb24pKQogICAgIHsKICAgICAgICAg
cmV0dXJuOwpAQCAtMjU1OSw3ICsyNjUxLDcgQEAgdm9pZCBQcm9ncmFtOjpzZXRVbmlmb3JtM2Z2
KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0xmbG8KIAog
dm9pZCBQcm9ncmFtOjpzZXRVbmlmb3JtNGZ2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xz
aXplaSBjb3VudCwgY29uc3QgR0xmbG9hdCAqdikKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZl
ZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBpZiAoc2hvdWxkSWdub3JlVW5p
Zm9ybShsb2NhdGlvbikpCiAgICAgewogICAgICAgICByZXR1cm47CkBAIC0yNTc1LDcgKzI2Njcs
NyBAQCB2b2lkIFByb2dyYW06OnNldFVuaWZvcm0xaXYoQ29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGNvdW50LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEdMaW50ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3Jt
KGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI1OTQsNyArMjY4Niw3IEBA
IHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybTFpdihDb250ZXh0ICpjb250ZXh0LAogCiB2b2lkIFBy
b2dyYW06OnNldFVuaWZvcm0yaXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNv
dW50LCBjb25zdCBHTGludCAqdikKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAg
QVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBpZiAoc2hvdWxkSWdub3JlVW5pZm9ybShsb2Nh
dGlvbikpCiAgICAgewogICAgICAgICByZXR1cm47CkBAIC0yNjA3LDcgKzI2OTksNyBAQCB2b2lk
IFByb2dyYW06OnNldFVuaWZvcm0yaXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVp
IGNvdW50LCBjb25zdCBHTGludAogCiB2b2lkIFByb2dyYW06OnNldFVuaWZvcm0zaXYoVW5pZm9y
bUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBHTGludCAqdikKIHsKLSAg
ICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAg
ICBpZiAoc2hvdWxkSWdub3JlVW5pZm9ybShsb2NhdGlvbikpCiAgICAgewogICAgICAgICByZXR1
cm47CkBAIC0yNjIwLDcgKzI3MTIsNyBAQCB2b2lkIFByb2dyYW06OnNldFVuaWZvcm0zaXYoVW5p
Zm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBHTGludAogCiB2b2lk
IFByb2dyYW06OnNldFVuaWZvcm00aXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVp
IGNvdW50LCBjb25zdCBHTGludCAqdikKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Cisg
ICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBpZiAoc2hvdWxkSWdub3JlVW5pZm9ybShs
b2NhdGlvbikpCiAgICAgewogICAgICAgICByZXR1cm47CkBAIC0yNjMzLDcgKzI3MjUsNyBAQCB2
b2lkIFByb2dyYW06OnNldFVuaWZvcm00aXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNp
emVpIGNvdW50LCBjb25zdCBHTGludAogCiB2b2lkIFByb2dyYW06OnNldFVuaWZvcm0xdWl2KFVu
aWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0x1aW50ICp2KQog
ewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUp
OwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAg
IHJldHVybjsKQEAgLTI2NDYsNyArMjczOCw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybTF1
aXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTHNpemVpIGNvdW50LCBjb25zdCBHTHVpCiAK
IHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybTJ1aXYoVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBH
THNpemVpIGNvdW50LCBjb25zdCBHTHVpbnQgKnYpCiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2
ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgaWYgKHNob3VsZElnbm9yZVVu
aWZvcm0obG9jYXRpb24pKQogICAgIHsKICAgICAgICAgcmV0dXJuOwpAQCAtMjY1OSw3ICsyNzUx
LDcgQEAgdm9pZCBQcm9ncmFtOjpzZXRVbmlmb3JtMnVpdihVbmlmb3JtTG9jYXRpb24gbG9jYXRp
b24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMdWkKIAogdm9pZCBQcm9ncmFtOjpzZXRVbmlmb3Jt
M3VpdihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMc2l6ZWkgY291bnQsIGNvbnN0IEdMdWlu
dCAqdikKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2lu
Z1N0YXRlKTsKICAgICBpZiAoc2hvdWxkSWdub3JlVW5pZm9ybShsb2NhdGlvbikpCiAgICAgewog
ICAgICAgICByZXR1cm47CkBAIC0yNjcyLDcgKzI3NjQsNyBAQCB2b2lkIFByb2dyYW06OnNldFVu
aWZvcm0zdWl2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3Qg
R0x1aQogCiB2b2lkIFByb2dyYW06OnNldFVuaWZvcm00dWl2KFVuaWZvcm1Mb2NhdGlvbiBsb2Nh
dGlvbiwgR0xzaXplaSBjb3VudCwgY29uc3QgR0x1aW50ICp2KQogewotICAgIEFTU0VSVChtTGlu
a1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJ
Z25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI2ODgs
NyArMjc4MCw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDJmdihVbmlmb3JtTG9j
YXRpb24gbG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xib29s
ZWFuIHRyYW5zcG9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBH
TGZsb2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1M
aW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAg
ICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI3MDMsNyArMjc5NSw3IEBAIHZvaWQgUHJvZ3JhbTo6
c2V0VW5pZm9ybU1hdHJpeDNmdihVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xib29sZWFuIHRyYW5zcG9zZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VSVCht
TGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91
bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI3
MTgsNyArMjgxMCw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDRmdihVbmlmb3Jt
TG9jYXRpb24gbG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xi
b29sZWFuIHRyYW5zcG9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQo
IW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkK
ICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI3MzMsNyArMjgyNSw3IEBAIHZvaWQgUHJvZ3Jh
bTo6c2V0VW5pZm9ybU1hdHJpeDJ4M2Z2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2KQogewotICAg
IEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAg
IGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVy
bjsKQEAgLTI3NDgsNyArMjg0MCw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDJ4
NGZ2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVk
KTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlm
b3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI3NjMsNyArMjg1NSw3
IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDN4MmZ2KFVuaWZvcm1Mb2NhdGlvbiBs
b2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZs
b2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5r
aW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7
CiAgICAgICAgIHJldHVybjsKQEAgLTI3NzgsNyArMjg3MCw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0
VW5pZm9ybU1hdHJpeDN4NGZ2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VS
VChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChz
aG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAg
LTI3OTMsNyArMjg4NSw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDR4MmZ2KFVu
aWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMYm9vbGVhbiB0cmFuc3Bvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBHTGZsb2F0ICp2KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAg
ICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxv
Y2F0aW9uKSkKICAgICB7CiAgICAgICAgIHJldHVybjsKQEAgLTI4MDgsNyArMjkwMCw3IEBAIHZv
aWQgUHJvZ3JhbTo6c2V0VW5pZm9ybU1hdHJpeDR4M2Z2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlv
biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYm9vbGVhbiB0cmFuc3Bv
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2
KQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3Rh
dGUpOwogICAgIGlmIChzaG91bGRJZ25vcmVVbmlmb3JtKGxvY2F0aW9uKSkKICAgICB7CiAgICAg
ICAgIHJldHVybjsKQEAgLTI4MjAsNyArMjkxMiw3IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9y
bU1hdHJpeDR4M2Z2KFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwKIAogR0x1aW50IFByb2dyYW06
OmdldFNhbXBsZXJVbmlmb3JtQmluZGluZyhjb25zdCBWYXJpYWJsZUxvY2F0aW9uICZ1bmlmb3Jt
TG9jYXRpb24pIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VS
VCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgR0x1aW50IHNhbXBsZXJJbmRleCA9IG1TdGF0ZS5nZXRT
YW1wbGVySW5kZXhGcm9tVW5pZm9ybUluZGV4KHVuaWZvcm1Mb2NhdGlvbi5pbmRleCk7CiAgICAg
Y29uc3Qgc3RkOjp2ZWN0b3I8R0x1aW50PiAmYm91bmRUZXh0dXJlVW5pdHMgPQogICAgICAgICBt
U3RhdGUubVNhbXBsZXJCaW5kaW5nc1tzYW1wbGVySW5kZXhdLmJvdW5kVGV4dHVyZVVuaXRzOwpA
QCAtMjgyOSw3ICsyOTIxLDcgQEAgR0x1aW50IFByb2dyYW06OmdldFNhbXBsZXJVbmlmb3JtQmlu
ZGluZyhjb25zdCBWYXJpYWJsZUxvY2F0aW9uICZ1bmlmb3JtTG9jYXRpb24KIAogR0x1aW50IFBy
b2dyYW06OmdldEltYWdlVW5pZm9ybUJpbmRpbmcoY29uc3QgVmFyaWFibGVMb2NhdGlvbiAmdW5p
Zm9ybUxvY2F0aW9uKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBB
U1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIEdMdWludCBpbWFnZUluZGV4ID0gbVN0YXRlLmdl
dEltYWdlSW5kZXhGcm9tVW5pZm9ybUluZGV4KHVuaWZvcm1Mb2NhdGlvbi5pbmRleCk7CiAgICAg
Y29uc3Qgc3RkOjp2ZWN0b3I8R0x1aW50PiAmYm91bmRJbWFnZVVuaXRzID0gbVN0YXRlLm1JbWFn
ZUJpbmRpbmdzW2ltYWdlSW5kZXhdLmJvdW5kSW1hZ2VVbml0czsKICAgICByZXR1cm4gYm91bmRJ
bWFnZVVuaXRzW3VuaWZvcm1Mb2NhdGlvbi5hcnJheUluZGV4XTsKQEAgLTI4MzcsNyArMjkyOSw3
IEBAIEdMdWludCBQcm9ncmFtOjpnZXRJbWFnZVVuaWZvcm1CaW5kaW5nKGNvbnN0IFZhcmlhYmxl
TG9jYXRpb24gJnVuaWZvcm1Mb2NhdGlvbikKIAogdm9pZCBQcm9ncmFtOjpnZXRVbmlmb3JtZnYo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwgVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGZsb2F0
ICp2KSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1M
aW5raW5nU3RhdGUpOwogICAgIGNvbnN0IFZhcmlhYmxlTG9jYXRpb24gJnVuaWZvcm1Mb2NhdGlv
biA9IG1TdGF0ZS5nZXRVbmlmb3JtTG9jYXRpb25zKClbbG9jYXRpb24udmFsdWVdOwogICAgIGNv
bnN0IExpbmtlZFVuaWZvcm0gJnVuaWZvcm0gICAgICAgICAgICA9IG1TdGF0ZS5nZXRVbmlmb3Jt
cygpW3VuaWZvcm1Mb2NhdGlvbi5pbmRleF07CiAKQEAgLTI4NjUsNyArMjk1Nyw3IEBAIHZvaWQg
UHJvZ3JhbTo6Z2V0VW5pZm9ybWZ2KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFVuaWZvcm1Mb2Nh
dGlvbiBsb2NhdGlvbiwgR0xmCiAKIHZvaWQgUHJvZ3JhbTo6Z2V0VW5pZm9ybWl2KGNvbnN0IENv
bnRleHQgKmNvbnRleHQsIFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xpbnQgKnYpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0
ZSk7CiAgICAgY29uc3QgVmFyaWFibGVMb2NhdGlvbiAmdW5pZm9ybUxvY2F0aW9uID0gbVN0YXRl
LmdldFVuaWZvcm1Mb2NhdGlvbnMoKVtsb2NhdGlvbi52YWx1ZV07CiAgICAgY29uc3QgTGlua2Vk
VW5pZm9ybSAmdW5pZm9ybSAgICAgICAgICAgID0gbVN0YXRlLmdldFVuaWZvcm1zKClbdW5pZm9y
bUxvY2F0aW9uLmluZGV4XTsKIApAQCAtMjg5Myw3ICsyOTg1LDcgQEAgdm9pZCBQcm9ncmFtOjpn
ZXRVbmlmb3JtaXYoY29uc3QgQ29udGV4dCAqY29udGV4dCwgVW5pZm9ybUxvY2F0aW9uIGxvY2F0
aW9uLCBHTGkKIAogdm9pZCBQcm9ncmFtOjpnZXRVbmlmb3JtdWl2KGNvbnN0IENvbnRleHQgKmNv
bnRleHQsIFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0x1aW50ICp2KSBjb25zdAogewotICAg
IEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAg
IGNvbnN0IFZhcmlhYmxlTG9jYXRpb24gJnVuaWZvcm1Mb2NhdGlvbiA9IG1TdGF0ZS5nZXRVbmlm
b3JtTG9jYXRpb25zKClbbG9jYXRpb24udmFsdWVdOwogICAgIGNvbnN0IExpbmtlZFVuaWZvcm0g
JnVuaWZvcm0gICAgICAgICAgICA9IG1TdGF0ZS5nZXRVbmlmb3JtcygpW3VuaWZvcm1Mb2NhdGlv
bi5pbmRleF07CiAKQEAgLTI5MjEsMjEgKzMwMTMsMjEgQEAgdm9pZCBQcm9ncmFtOjpnZXRVbmlm
b3JtdWl2KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwg
R0wKIAogdm9pZCBQcm9ncmFtOjpmbGFnRm9yRGVsZXRpb24oKQogewotICAgIEFTU0VSVChtTGlu
a1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIG1EZWxldGVTdGF0
dXMgPSB0cnVlOwogfQogCiBib29sIFByb2dyYW06OmlzRmxhZ2dlZEZvckRlbGV0aW9uKCkgY29u
c3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0
YXRlKTsKICAgICByZXR1cm4gbURlbGV0ZVN0YXR1czsKIH0KIAogdm9pZCBQcm9ncmFtOjp2YWxp
ZGF0ZShjb25zdCBDYXBzICZjYXBzKQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAg
ICBtU3RhdGUubUV4ZWN1dGFibGUucmVzZXRJbmZvTG9nKCk7Ci0gICAgSW5mb0xvZyAmaW5mb0xv
ZyA9IG1TdGF0ZS5tRXhlY3V0YWJsZS5nZXRJbmZvTG9nKCk7CisgICAgQVNTRVJUKCFtTGlua2lu
Z1N0YXRlKTsKKyAgICBtU3RhdGUubUV4ZWN1dGFibGUtPnJlc2V0SW5mb0xvZygpOworICAgIElu
Zm9Mb2cgJmluZm9Mb2cgPSBtU3RhdGUubUV4ZWN1dGFibGUtPmdldEluZm9Mb2coKTsKIAogICAg
IGlmIChtTGlua2VkKQogICAgIHsKQEAgLTI5NDksMTUgKzMwNDEsMTUgQEAgdm9pZCBQcm9ncmFt
Ojp2YWxpZGF0ZShjb25zdCBDYXBzICZjYXBzKQogCiBib29sIFByb2dyYW06OnZhbGlkYXRlU2Ft
cGxlcnNJbXBsKEluZm9Mb2cgKmluZm9Mb2csIGNvbnN0IENhcHMgJmNhcHMpCiB7Ci0gICAgY29u
c3QgUHJvZ3JhbUV4ZWN1dGFibGUgJmV4ZWN1dGFibGUgPSBtU3RhdGUubUV4ZWN1dGFibGU7Ci0g
ICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICpl
eGVjdXRhYmxlID0gbVN0YXRlLm1FeGVjdXRhYmxlLmdldCgpOworICAgIEFTU0VSVCghbUxpbmtp
bmdTdGF0ZSk7CiAKICAgICAvLyBpZiBhbnkgdHdvIGFjdGl2ZSBzYW1wbGVycyBpbiBhIHByb2dy
YW0gYXJlIG9mIGRpZmZlcmVudCB0eXBlcywgYnV0IHJlZmVyIHRvIHRoZSBzYW1lCiAgICAgLy8g
dGV4dHVyZSBpbWFnZSB1bml0LCBhbmQgdGhpcyBpcyB0aGUgY3VycmVudCBwcm9ncmFtLCB0aGVu
IFZhbGlkYXRlUHJvZ3JhbSB3aWxsIGZhaWwsIGFuZAogICAgIC8vIERyYXdBcnJheXMgYW5kIERy
YXdFbGVtZW50cyB3aWxsIGlzc3VlIHRoZSBJTlZBTElEX09QRVJBVElPTiBlcnJvci4KLSAgICBm
b3IgKHNpemVfdCB0ZXh0dXJlVW5pdCA6IGV4ZWN1dGFibGUubUFjdGl2ZVNhbXBsZXJzTWFzaykK
KyAgICBmb3IgKHNpemVfdCB0ZXh0dXJlVW5pdCA6IGV4ZWN1dGFibGUtPm1BY3RpdmVTYW1wbGVy
c01hc2spCiAgICAgewotICAgICAgICBpZiAoZXhlY3V0YWJsZS5tQWN0aXZlU2FtcGxlclR5cGVz
W3RleHR1cmVVbml0XSA9PSBUZXh0dXJlVHlwZTo6SW52YWxpZEVudW0pCisgICAgICAgIGlmIChl
eGVjdXRhYmxlLT5tQWN0aXZlU2FtcGxlclR5cGVzW3RleHR1cmVVbml0XSA9PSBUZXh0dXJlVHlw
ZTo6SW52YWxpZEVudW0pCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChpbmZvTG9nKQogICAg
ICAgICAgICAgewpAQCAtMjk3Nyw3ICszMDY5LDcgQEAgYm9vbCBQcm9ncmFtOjp2YWxpZGF0ZVNh
bXBsZXJzSW1wbChJbmZvTG9nICppbmZvTG9nLCBjb25zdCBDYXBzICZjYXBzKQogCiBib29sIFBy
b2dyYW06OmlzVmFsaWRhdGVkKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7
CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICByZXR1cm4gbVZhbGlkYXRlZDsKIH0K
IApAQCAtMjk4Niw4ICszMDc4LDkgQEAgdm9pZCBQcm9ncmFtOjpnZXRBY3RpdmVVbmlmb3JtQmxv
Y2tOYW1lKGNvbnN0IEdMdWludCBibG9ja0luZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMc2l6ZWkgKmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGNoYXIgKmJsb2NrTmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQo
bUxpbmtSZXNvbHZlZCk7Ci0gICAgR2V0SW50ZXJmYWNlQmxvY2tOYW1lKGJsb2NrSW5kZXgsIG1T
dGF0ZS5tVW5pZm9ybUJsb2NrcywgYnVmU2l6ZSwgbGVuZ3RoLCBibG9ja05hbWUpOworICAgIEFT
U0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgR2V0SW50ZXJmYWNlQmxvY2tOYW1lKGJsb2NrSW5k
ZXgsIG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybUJsb2NrcygpLCBidWZTaXplLCBsZW5n
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrTmFtZSk7CiB9CiAKIHZvaWQgUHJv
Z3JhbTo6Z2V0QWN0aXZlU2hhZGVyU3RvcmFnZUJsb2NrTmFtZShjb25zdCBHTHVpbnQgYmxvY2tJ
bmRleCwKQEAgLTI5OTUsOCArMzA4OCw5IEBAIHZvaWQgUHJvZ3JhbTo6Z2V0QWN0aXZlU2hhZGVy
U3RvcmFnZUJsb2NrTmFtZShjb25zdCBHTHVpbnQgYmxvY2tJbmRleCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpICpsZW5ndGgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xjaGFyICpibG9ja05hbWUp
IGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOwotICAgIEdldEludGVyZmFjZUJs
b2NrTmFtZShibG9ja0luZGV4LCBtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3MsIGJ1ZlNpemUs
IGxlbmd0aCwgYmxvY2tOYW1lKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIEdl
dEludGVyZmFjZUJsb2NrTmFtZShibG9ja0luZGV4LCBtU3RhdGUubUV4ZWN1dGFibGUtPmdldFNo
YWRlclN0b3JhZ2VCbG9ja3MoKSwgYnVmU2l6ZSwgbGVuZ3RoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBibG9ja05hbWUpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KQEAgLTMwMjEs
NTkgKzMxMTUsNTkgQEAgR0xpbnQgUHJvZ3JhbTo6Z2V0QWN0aXZlSW50ZXJmYWNlQmxvY2tNYXhO
YW1lTGVuZ3RoKGNvbnN0IHN0ZDo6dmVjdG9yPFQ+ICZyZXNvdXIKIAogR0xpbnQgUHJvZ3JhbTo6
Z2V0QWN0aXZlVW5pZm9ybUJsb2NrTWF4TmFtZUxlbmd0aCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJU
KG1MaW5rUmVzb2x2ZWQpOwotICAgIHJldHVybiBnZXRBY3RpdmVJbnRlcmZhY2VCbG9ja01heE5h
bWVMZW5ndGgobVN0YXRlLm1Vbmlmb3JtQmxvY2tzKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3Rh
dGUpOworICAgIHJldHVybiBnZXRBY3RpdmVJbnRlcmZhY2VCbG9ja01heE5hbWVMZW5ndGgobVN0
YXRlLm1FeGVjdXRhYmxlLT5nZXRVbmlmb3JtQmxvY2tzKCkpOwogfQogCiBHTGludCBQcm9ncmFt
OjpnZXRBY3RpdmVTaGFkZXJTdG9yYWdlQmxvY2tNYXhOYW1lTGVuZ3RoKCkgY29uc3QKIHsKLSAg
ICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgcmV0dXJuIGdldEFjdGl2ZUludGVyZmFjZUJs
b2NrTWF4TmFtZUxlbmd0aChtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3MpOworICAgIEFTU0VS
VCghbUxpbmtpbmdTdGF0ZSk7CisgICAgcmV0dXJuIGdldEFjdGl2ZUludGVyZmFjZUJsb2NrTWF4
TmFtZUxlbmd0aChtU3RhdGUubUV4ZWN1dGFibGUtPmdldFNoYWRlclN0b3JhZ2VCbG9ja3MoKSk7
CiB9CiAKIEdMdWludCBQcm9ncmFtOjpnZXRVbmlmb3JtQmxvY2tJbmRleChjb25zdCBzdGQ6OnN0
cmluZyAmbmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgcmV0
dXJuIEdldEludGVyZmFjZUJsb2NrSW5kZXgobVN0YXRlLm1Vbmlmb3JtQmxvY2tzLCBuYW1lKTsK
KyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIHJldHVybiBHZXRJbnRlcmZhY2VCbG9j
a0luZGV4KG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybUJsb2NrcygpLCBuYW1lKTsKIH0K
IAogR0x1aW50IFByb2dyYW06OmdldFNoYWRlclN0b3JhZ2VCbG9ja0luZGV4KGNvbnN0IHN0ZDo6
c3RyaW5nICZuYW1lKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICBy
ZXR1cm4gR2V0SW50ZXJmYWNlQmxvY2tJbmRleChtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3Ms
IG5hbWUpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgcmV0dXJuIEdldEludGVy
ZmFjZUJsb2NrSW5kZXgobVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRTaGFkZXJTdG9yYWdlQmxvY2tz
KCksIG5hbWUpOwogfQogCiBjb25zdCBJbnRlcmZhY2VCbG9jayAmUHJvZ3JhbTo6Z2V0VW5pZm9y
bUJsb2NrQnlJbmRleChHTHVpbnQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVz
b2x2ZWQpOwotICAgIEFTU0VSVChpbmRleCA8IHN0YXRpY19jYXN0PEdMdWludD4obVN0YXRlLm1V
bmlmb3JtQmxvY2tzLnNpemUoKSkpOwotICAgIHJldHVybiBtU3RhdGUubVVuaWZvcm1CbG9ja3Nb
aW5kZXhdOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgQVNTRVJUKGluZGV4IDwg
c3RhdGljX2Nhc3Q8R0x1aW50PihtU3RhdGUubUV4ZWN1dGFibGUtPmdldEFjdGl2ZVVuaWZvcm1C
bG9ja0NvdW50KCkpKTsKKyAgICByZXR1cm4gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRVbmlmb3Jt
QmxvY2tzKClbaW5kZXhdOwogfQogCiBjb25zdCBJbnRlcmZhY2VCbG9jayAmUHJvZ3JhbTo6Z2V0
U2hhZGVyU3RvcmFnZUJsb2NrQnlJbmRleChHTHVpbnQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgQVNT
RVJUKG1MaW5rUmVzb2x2ZWQpOwotICAgIEFTU0VSVChpbmRleCA8IHN0YXRpY19jYXN0PEdMdWlu
dD4obVN0YXRlLm1TaGFkZXJTdG9yYWdlQmxvY2tzLnNpemUoKSkpOwotICAgIHJldHVybiBtU3Rh
dGUubVNoYWRlclN0b3JhZ2VCbG9ja3NbaW5kZXhdOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0
ZSk7CisgICAgQVNTRVJUKGluZGV4IDwgc3RhdGljX2Nhc3Q8R0x1aW50PihtU3RhdGUubUV4ZWN1
dGFibGUtPmdldEFjdGl2ZVNoYWRlclN0b3JhZ2VCbG9ja0NvdW50KCkpKTsKKyAgICByZXR1cm4g
bVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRTaGFkZXJTdG9yYWdlQmxvY2tzKClbaW5kZXhdOwogfQog
CiB2b2lkIFByb2dyYW06OmJpbmRVbmlmb3JtQmxvY2soR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4
LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmluZGluZykKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZl
ZCk7Ci0gICAgbVN0YXRlLm1Vbmlmb3JtQmxvY2tzW3VuaWZvcm1CbG9ja0luZGV4XS5iaW5kaW5n
ID0gdW5pZm9ybUJsb2NrQmluZGluZzsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAg
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bVVuaWZvcm1CbG9ja3NbdW5pZm9ybUJsb2NrSW5kZXhdLmJp
bmRpbmcgPSB1bmlmb3JtQmxvY2tCaW5kaW5nOwogICAgIG1TdGF0ZS5tQWN0aXZlVW5pZm9ybUJs
b2NrQmluZGluZ3Muc2V0KHVuaWZvcm1CbG9ja0luZGV4LCB1bmlmb3JtQmxvY2tCaW5kaW5nICE9
IDApOwogICAgIG1EaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9VTklGT1JNX0JMT0NLX0JJTkRJTkdf
MCArIHVuaWZvcm1CbG9ja0luZGV4KTsKIH0KIAogR0x1aW50IFByb2dyYW06OmdldFVuaWZvcm1C
bG9ja0JpbmRpbmcoR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4KSBjb25zdAogewotICAgIEFTU0VS
VChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJldHVy
biBtU3RhdGUuZ2V0VW5pZm9ybUJsb2NrQmluZGluZyh1bmlmb3JtQmxvY2tJbmRleCk7CiB9CiAK
IEdMdWludCBQcm9ncmFtOjpnZXRTaGFkZXJTdG9yYWdlQmxvY2tCaW5kaW5nKEdMdWludCBzaGFk
ZXJTdG9yYWdlQmxvY2tJbmRleCkgY29uc3QKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7
CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICByZXR1cm4gbVN0YXRlLmdldFNoYWRl
clN0b3JhZ2VCbG9ja0JpbmRpbmcoc2hhZGVyU3RvcmFnZUJsb2NrSW5kZXgpOwogfQogCkBAIC0z
MDgxLDE0ICszMTc1LDE0IEBAIHZvaWQgUHJvZ3JhbTo6c2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5
aW5ncyhHTHNpemVpIGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEdMY2hhciAqY29uc3QgKnZhcnlpbmdzLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBidWZmZXJNb2RlKQogewotICAgIEFTU0VS
VChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIG1TdGF0
ZS5tVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nTmFtZXMucmVzaXplKGNvdW50KTsKICAgICBmb3Ig
KEdMc2l6ZWkgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQogICAgIHsKICAgICAgICAgbVN0YXRlLm1U
cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdOYW1lc1tpXSA9IHZhcnlpbmdzW2ldOwogICAgIH0KIAot
ICAgIG1TdGF0ZS5tVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlID0gYnVmZmVyTW9kZTsKKyAg
ICBtU3RhdGUubUV4ZWN1dGFibGUtPm1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUgPSBidWZm
ZXJNb2RlOwogfQogCiB2b2lkIFByb2dyYW06OmdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyhH
THVpbnQgaW5kZXgsCkBAIC0zMDk4LDExICszMTkyLDExIEBAIHZvaWQgUHJvZ3JhbTo6Z2V0VHJh
bnNmb3JtRmVlZGJhY2tWYXJ5aW5nKEdMdWludCBpbmRleCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSAqdHlwZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMY2hhciAqbmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQo
bUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBpZiAobUxp
bmtlZCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpbmRleCA8IG1TdGF0ZS5tTGlua2VkVHJhbnNm
b3JtRmVlZGJhY2tWYXJ5aW5ncy5zaXplKCkpOwotICAgICAgICBjb25zdCBhdXRvICZ2YXIgICAg
ID0gbVN0YXRlLm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzW2luZGV4XTsKKyAgICAg
ICAgQVNTRVJUKGluZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVl
ZGJhY2tWYXJ5aW5ncy5zaXplKCkpOworICAgICAgICBjb25zdCBhdXRvICZ2YXIgICAgID0gbVN0
YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nc1tpbmRleF07
CiAgICAgICAgIHN0ZDo6c3RyaW5nIHZhck5hbWUgPSB2YXIubmFtZVdpdGhBcnJheUluZGV4KCk7
CiAgICAgICAgIEdMc2l6ZWkgbGFzdE5hbWVJZHggPSBzdGQ6Om1pbihidWZTaXplIC0gMSwgc3Rh
dGljX2Nhc3Q8R0xzaXplaT4odmFyTmFtZS5sZW5ndGgoKSkpOwogICAgICAgICBpZiAobGVuZ3Ro
KQpAQCAtMzEyNywxMCArMzIyMSwxMCBAQCB2b2lkIFByb2dyYW06OmdldFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZyhHTHVpbnQgaW5kZXgsCiAKIEdMc2l6ZWkgUHJvZ3JhbTo6Z2V0VHJhbnNmb3Jt
RmVlZGJhY2tWYXJ5aW5nQ291bnQoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVk
KTsKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChtTGlua2VkKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEdMc2l6ZWk+KG1TdGF0ZS5tTGlua2VkVHJhbnNm
b3JtRmVlZGJhY2tWYXJ5aW5ncy5zaXplKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
R0xzaXplaT4obVN0YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5
aW5ncy5zaXplKCkpOwogICAgIH0KICAgICBlbHNlCiAgICAgewpAQCAtMzE0MCwxMSArMzIzNCwx
MSBAQCBHTHNpemVpIFByb2dyYW06OmdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ0NvdW50KCkg
Y29uc3QKIAogR0xzaXplaSBQcm9ncmFtOjpnZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdNYXhM
ZW5ndGgoKSBjb25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQo
IW1MaW5raW5nU3RhdGUpOwogICAgIGlmIChtTGlua2VkKQogICAgIHsKICAgICAgICAgR0xzaXpl
aSBtYXhTaXplID0gMDsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvICZ2YXIgOiBtU3RhdGUubUxp
bmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MpCisgICAgICAgIGZvciAoY29uc3QgYXV0byAm
dmFyIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5n
cykKICAgICAgICAgewogICAgICAgICAgICAgbWF4U2l6ZSA9CiAgICAgICAgICAgICAgICAgc3Rk
OjptYXgobWF4U2l6ZSwgc3RhdGljX2Nhc3Q8R0xzaXplaT4odmFyLm5hbWVXaXRoQXJyYXlJbmRl
eCgpLmxlbmd0aCgpICsgMSkpOwpAQCAtMzE2MCw4ICszMjU0LDggQEAgR0xzaXplaSBQcm9ncmFt
OjpnZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdNYXhMZW5ndGgoKSBjb25zdAogCiBHTGVudW0g
UHJvZ3JhbTo6Z2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKCkgY29uc3QKIHsKLSAgICBB
U1NFUlQobUxpbmtSZXNvbHZlZCk7Ci0gICAgcmV0dXJuIG1TdGF0ZS5tVHJhbnNmb3JtRmVlZGJh
Y2tCdWZmZXJNb2RlOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgcmV0dXJuIG1T
dGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKCk7CiB9CiAK
IGJvb2wgUHJvZ3JhbTo6bGlua1ZhbGlkYXRlU2hhZGVycyhJbmZvTG9nICZpbmZvTG9nKQpAQCAt
MzIwNiw2ICszMzAwLDEyIEBAIGJvb2wgUHJvZ3JhbTo6bGlua1ZhbGlkYXRlU2hhZGVycyhJbmZv
TG9nICZpbmZvTG9nKQogICAgIHsKICAgICAgICAgaWYgKGlzU2VwYXJhYmxlKCkpCiAgICAgICAg
IHsKKyAgICAgICAgICAgIGlmICghZnJhZ21lbnRTaGFkZXIgJiYgIXZlcnRleFNoYWRlcikKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpbmZvTG9nIDw8ICJObyBjb21waWxlZCBzaGFk
ZXJzLiI7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICBBU1NFUlQoIWZyYWdtZW50U2hhZGVyIHx8IGZyYWdtZW50U2hhZGVyLT5nZXRU
eXBlKCkgPT0gU2hhZGVyVHlwZTo6RnJhZ21lbnQpOwogICAgICAgICAgICAgaWYgKGZyYWdtZW50
U2hhZGVyICYmICFmcmFnbWVudFNoYWRlci0+aXNDb21waWxlZCgpKQogICAgICAgICAgICAgewpA
QCAtMzMxMiwxMCArMzQxMiwxMSBAQCBib29sIFByb2dyYW06OmxpbmtWYWxpZGF0ZVNoYWRlcnMo
SW5mb0xvZyAmaW5mb0xvZykKIAogR0x1aW50IFByb2dyYW06OmdldFRyYW5zZm9ybUZlZWRiYWNr
VmFyeWluZ1Jlc291cmNlSW5kZXgoY29uc3QgR0xjaGFyICpuYW1lKSBjb25zdAogewotICAgIEFT
U0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICBmb3IgKEdMdWludCB0ZkluZGV4ID0gMDsgdGZJbmRl
eCA8IG1TdGF0ZS5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncy5zaXplKCk7ICsrdGZJ
bmRleCkKKyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOworICAgIGZvciAoR0x1aW50IHRmSW5k
ZXggPSAwOyB0ZkluZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVl
ZGJhY2tWYXJ5aW5ncy5zaXplKCk7CisgICAgICAgICArK3RmSW5kZXgpCiAgICAgewotICAgICAg
ICBjb25zdCBhdXRvICZ0ZiA9IG1TdGF0ZS5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5n
c1t0ZkluZGV4XTsKKyAgICAgICAgY29uc3QgYXV0byAmdGYgPSBtU3RhdGUubUV4ZWN1dGFibGUt
Pm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzW3RmSW5kZXhdOwogICAgICAgICBpZiAo
dGYubmFtZVdpdGhBcnJheUluZGV4KCkgPT0gbmFtZSkKICAgICAgICAgewogICAgICAgICAgICAg
cmV0dXJuIHRmSW5kZXg7CkBAIC0zMzI2LDMzICszNDI3LDMzIEBAIEdMdWludCBQcm9ncmFtOjpn
ZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdSZXNvdXJjZUluZGV4KGNvbnN0IEdMY2hhciAqbmFt
ZSkgY29uCiAKIGNvbnN0IFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyAmUHJvZ3JhbTo6Z2V0VHJh
bnNmb3JtRmVlZGJhY2tWYXJ5aW5nUmVzb3VyY2UoR0x1aW50IGluZGV4KSBjb25zdAogewotICAg
IEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICBBU1NFUlQoaW5kZXggPCBtU3RhdGUubUxpbmtl
ZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3Muc2l6ZSgpKTsKLSAgICByZXR1cm4gbVN0YXRlLm1M
aW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzW2luZGV4XTsKKyAgICBBU1NFUlQoIW1MaW5r
aW5nU3RhdGUpOworICAgIEFTU0VSVChpbmRleCA8IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUxpbmtl
ZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3Muc2l6ZSgpKTsKKyAgICByZXR1cm4gbVN0YXRlLm1F
eGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nc1tpbmRleF07CiB9CiAK
IGJvb2wgUHJvZ3JhbTo6aGFzRHJhd0lEVW5pZm9ybSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1M
aW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1T
dGF0ZS5tRHJhd0lETG9jYXRpb24gPj0gMDsKIH0KIAogdm9pZCBQcm9ncmFtOjpzZXREcmF3SURV
bmlmb3JtKEdMaW50IGRyYXdpZCkKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAg
QVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICBBU1NFUlQobVN0YXRlLm1EcmF3SURMb2NhdGlv
biA+PSAwKTsKICAgICBtUHJvZ3JhbS0+c2V0VW5pZm9ybTFpdihtU3RhdGUubURyYXdJRExvY2F0
aW9uLCAxLCAmZHJhd2lkKTsKIH0KIAogYm9vbCBQcm9ncmFtOjpoYXNCYXNlVmVydGV4VW5pZm9y
bSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgIEFTU0VSVCghbUxp
bmtpbmdTdGF0ZSk7CiAgICAgcmV0dXJuIG1TdGF0ZS5tQmFzZVZlcnRleExvY2F0aW9uID49IDA7
CiB9CiAKIHZvaWQgUHJvZ3JhbTo6c2V0QmFzZVZlcnRleFVuaWZvcm0oR0xpbnQgYmFzZVZlcnRl
eCkKIHsKLSAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgQVNTRVJUKCFtTGlua2luZ1N0
YXRlKTsKICAgICBBU1NFUlQobVN0YXRlLm1CYXNlVmVydGV4TG9jYXRpb24gPj0gMCk7CiAgICAg
aWYgKGJhc2VWZXJ0ZXggPT0gbVN0YXRlLm1DYWNoZWRCYXNlVmVydGV4KQogICAgIHsKQEAgLTMz
NjQsMTMgKzM0NjUsMTMgQEAgdm9pZCBQcm9ncmFtOjpzZXRCYXNlVmVydGV4VW5pZm9ybShHTGlu
dCBiYXNlVmVydGV4KQogCiBib29sIFByb2dyYW06Omhhc0Jhc2VJbnN0YW5jZVVuaWZvcm0oKSBj
b25zdAogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5n
U3RhdGUpOwogICAgIHJldHVybiBtU3RhdGUubUJhc2VJbnN0YW5jZUxvY2F0aW9uID49IDA7CiB9
CiAKIHZvaWQgUHJvZ3JhbTo6c2V0QmFzZUluc3RhbmNlVW5pZm9ybShHTHVpbnQgYmFzZUluc3Rh
bmNlKQogewotICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICBBU1NFUlQoIW1MaW5raW5n
U3RhdGUpOwogICAgIEFTU0VSVChtU3RhdGUubUJhc2VJbnN0YW5jZUxvY2F0aW9uID49IDApOwog
ICAgIGlmIChiYXNlSW5zdGFuY2UgPT0gbVN0YXRlLm1DYWNoZWRCYXNlSW5zdGFuY2UpCiAgICAg
ewpAQCAtMzM4Myw3ICszNDg0LDcgQEAgdm9pZCBQcm9ncmFtOjpzZXRCYXNlSW5zdGFuY2VVbmlm
b3JtKEdMdWludCBiYXNlSW5zdGFuY2UpCiAKIGJvb2wgUHJvZ3JhbTo6bGlua1ZhcnlpbmdzKElu
Zm9Mb2cgJmluZm9Mb2cpIGNvbnN0CiB7Ci0gICAgU2hhZGVyICpwcmV2aW91c1NoYWRlciA9IG51
bGxwdHI7CisgICAgU2hhZGVyVHlwZSBwcmV2aW91c1NoYWRlclR5cGUgPSBTaGFkZXJUeXBlOjpJ
bnZhbGlkRW51bTsKICAgICBmb3IgKFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGtBbGxHcmFwaGlj
c1NoYWRlclR5cGVzKQogICAgIHsKICAgICAgICAgU2hhZGVyICpjdXJyZW50U2hhZGVyID0gbVN0
YXRlLm1BdHRhY2hlZFNoYWRlcnNbc2hhZGVyVHlwZV07CkBAIC0zMzkyLDE3ICszNDkzLDI5IEBA
IGJvb2wgUHJvZ3JhbTo6bGlua1ZhcnlpbmdzKEluZm9Mb2cgJmluZm9Mb2cpIGNvbnN0CiAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChwcmV2aW91c1NoYWRl
cikKKyAgICAgICAgaWYgKHByZXZpb3VzU2hhZGVyVHlwZSAhPSBTaGFkZXJUeXBlOjpJbnZhbGlk
RW51bSkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCFsaW5rVmFsaWRhdGVTaGFkZXJJbnRl
cmZhY2VNYXRjaGluZyhwcmV2aW91c1NoYWRlciwgY3VycmVudFNoYWRlciwgaW5mb0xvZykpCisg
ICAgICAgICAgICBTaGFkZXIgKnByZXZpb3VzU2hhZGVyID0gbVN0YXRlLm1BdHRhY2hlZFNoYWRl
cnNbcHJldmlvdXNTaGFkZXJUeXBlXTsKKyAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNo
OjpTaGFkZXJWYXJpYWJsZT4gJm91dHB1dFZhcnlpbmdzID0KKyAgICAgICAgICAgICAgICBwcmV2
aW91c1NoYWRlci0+Z2V0T3V0cHV0VmFyeWluZ3MoKTsKKworICAgICAgICAgICAgaWYgKCFsaW5r
VmFsaWRhdGVTaGFkZXJJbnRlcmZhY2VNYXRjaGluZygKKyAgICAgICAgICAgICAgICAgICAgb3V0
cHV0VmFyeWluZ3MsIGN1cnJlbnRTaGFkZXItPmdldElucHV0VmFyeWluZ3MoKSwgcHJldmlvdXNT
aGFkZXJUeXBlLAorICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2hhZGVyLT5nZXRUeXBlKCks
IHByZXZpb3VzU2hhZGVyLT5nZXRTaGFkZXJWZXJzaW9uKCksCisgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRTaGFkZXItPmdldFNoYWRlclZlcnNpb24oKSwgaXNTZXBhcmFibGUoKSwgaW5mb0xv
ZykpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIHByZXZpb3VzU2hhZGVyID0gY3VycmVudFNoYWRl
cjsKKyAgICAgICAgcHJldmlvdXNTaGFkZXJUeXBlID0gY3VycmVudFNoYWRlci0+Z2V0VHlwZSgp
OwogICAgIH0KIAotICAgIGlmICghbGlua1ZhbGlkYXRlQnVpbHRJblZhcnlpbmdzKGluZm9Mb2cp
KQorICAgIFNoYWRlciAqdmVydGV4U2hhZGVyICAgPSBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc1tT
aGFkZXJUeXBlOjpWZXJ0ZXhdOworICAgIFNoYWRlciAqZnJhZ21lbnRTaGFkZXIgPSBtU3RhdGUu
bUF0dGFjaGVkU2hhZGVyc1tTaGFkZXJUeXBlOjpGcmFnbWVudF07CisgICAgaWYgKHZlcnRleFNo
YWRlciAmJiBmcmFnbWVudFNoYWRlciAmJgorICAgICAgICAhbGlua1ZhbGlkYXRlQnVpbHRJblZh
cnlpbmdzKHZlcnRleFNoYWRlci0+Z2V0T3V0cHV0VmFyeWluZ3MoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudFNoYWRlci0+Z2V0SW5wdXRWYXJ5aW5ncygp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRleFNoYWRlci0+Z2V0
U2hhZGVyVmVyc2lvbigpLCBpbmZvTG9nKSkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CkBAIC0zNDEwLDU2ICszNTIzLDEwNiBAQCBib29sIFByb2dyYW06OmxpbmtWYXJ5aW5n
cyhJbmZvTG9nICZpbmZvTG9nKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0vLyBbT3Bl
bkdMIEVTIDMuMV0gQ2hhcHRlciA3LjQuMSAiU2hhZGVyIEludGVyZmFjZSBNYXRjaGluZyIgUGFn
ZSA5MQotLy8gVE9ETyhqaWF3ZWkuc2hhb0BpbnRlbC5jb20pOiBhZGQgdmFsaWRhdGlvbiBvbiBp
bnB1dC9vdXRwdXQgYmxvY2tzIG1hdGNoaW5nCi1ib29sIFByb2dyYW06OmxpbmtWYWxpZGF0ZVNo
YWRlckludGVyZmFjZU1hdGNoaW5nKGdsOjpTaGFkZXIgKmdlbmVyYXRpbmdTaGFkZXIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpTaGFkZXIg
KmNvbnN1bWluZ1NoYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2w6OkluZm9Mb2cgJmluZm9Mb2cpIGNvbnN0Cit2b2lkIFByb2dyYW06Omdl
dEZpbHRlcmVkVmFyeWluZ3MoY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAm
dmFyeWluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8
Y29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICo+ICpmaWx0ZXJlZFZhcnlpbmdzT3V0KQogewotICAg
IEFTU0VSVChnZW5lcmF0aW5nU2hhZGVyLT5nZXRTaGFkZXJWZXJzaW9uKCkgPT0gY29uc3VtaW5n
U2hhZGVyLT5nZXRTaGFkZXJWZXJzaW9uKCkpOwotCi0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6
OlNoYWRlclZhcmlhYmxlPiAmb3V0cHV0VmFyeWluZ3MgPSBnZW5lcmF0aW5nU2hhZGVyLT5nZXRP
dXRwdXRWYXJ5aW5ncygpOwotICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJs
ZT4gJmlucHV0VmFyeWluZ3MgID0gY29uc3VtaW5nU2hhZGVyLT5nZXRJbnB1dFZhcnlpbmdzKCk7
Ci0KLSAgICBib29sIHZhbGlkYXRlR2VvbWV0cnlTaGFkZXJJbnB1dHMgPSBjb25zdW1pbmdTaGFk
ZXItPmdldFR5cGUoKSA9PSBTaGFkZXJUeXBlOjpHZW9tZXRyeTsKLQotICAgIGZvciAoY29uc3Qg
c2g6OlNoYWRlclZhcmlhYmxlICZpbnB1dCA6IGlucHV0VmFyeWluZ3MpCisgICAgZm9yIChjb25z
dCBzaDo6U2hhZGVyVmFyaWFibGUgJnZhcnlpbmcgOiB2YXJ5aW5ncykKICAgICB7Ci0gICAgICAg
IGJvb2wgbWF0Y2hlZCA9IGZhbHNlOwotCiAgICAgICAgIC8vIEJ1aWx0LWluIHZhcnlpbmdzIG9i
ZXkgc3BlY2lhbCBydWxlcwotICAgICAgICBpZiAoaW5wdXQuaXNCdWlsdEluKCkpCisgICAgICAg
IGlmICh2YXJ5aW5nLmlzQnVpbHRJbigpKQogICAgICAgICB7CiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEFuIG91dHB1dCB2YXJpYWJsZSBpcyBjb25zaWRl
cmVkIHRvIG1hdGNoIGFuIGlucHV0IHZhcmlhYmxlIGluIHRoZSBzdWJzZXF1ZW50Ci0gICAgICAg
IC8vIHNoYWRlciBpZjoKLSAgICAgICAgLy8gLSB0aGUgdHdvIHZhcmlhYmxlcyBtYXRjaCBpbiBu
YW1lLCB0eXBlLCBhbmQgcXVhbGlmaWNhdGlvbjsgb3IKLSAgICAgICAgLy8gLSB0aGUgdHdvIHZh
cmlhYmxlcyBhcmUgZGVjbGFyZWQgd2l0aCB0aGUgc2FtZSBsb2NhdGlvbiBxdWFsaWZpZXIgYW5k
Ci0gICAgICAgIC8vICAgbWF0Y2ggaW4gdHlwZSBhbmQgcXVhbGlmaWNhdGlvbi4KLSAgICAgICAg
Zm9yIChjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJm91dHB1dCA6IG91dHB1dFZhcnlpbmdzKQor
ICAgICAgICBmaWx0ZXJlZFZhcnlpbmdzT3V0LT5wdXNoX2JhY2soJnZhcnlpbmcpOworICAgIH0K
K30KKworYm9vbCBQcm9ncmFtOjpkb1NoYWRlclZhcmlhYmxlc01hdGNoKGludCBvdXRwdXRTaGFk
ZXJWZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlclR5
cGUgb3V0cHV0U2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTaGFkZXJUeXBlIGlucHV0U2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJmlucHV0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmb3V0cHV0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdmFsaWRhdGVHZW9t
ZXRyeVNoYWRlcklucHV0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGlzU2VwYXJhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGds
OjpJbmZvTG9nICZpbmZvTG9nKQoreworICAgIGJvb2wgbmFtZXNNYXRjaCAgICAgPSBpbnB1dC5u
YW1lID09IG91dHB1dC5uYW1lOworICAgIGJvb2wgbG9jYXRpb25zTWF0Y2ggPSAoaW5wdXQubG9j
YXRpb24gIT0gLTEpICYmIChpbnB1dC5sb2NhdGlvbiA9PSBvdXRwdXQubG9jYXRpb24pOworCisg
ICAgLy8gQW4gb3V0cHV0IHZhcmlhYmxlIGlzIGNvbnNpZGVyZWQgdG8gbWF0Y2ggYW4gaW5wdXQg
dmFyaWFibGUgaW4gdGhlIHN1YnNlcXVlbnQKKyAgICAvLyBzaGFkZXIgaWY6CisgICAgLy8gLSB0
aGUgdHdvIHZhcmlhYmxlcyBtYXRjaCBpbiBuYW1lLCB0eXBlLCBhbmQgcXVhbGlmaWNhdGlvbjsg
b3IKKyAgICAvLyAtIHRoZSB0d28gdmFyaWFibGVzIGFyZSBkZWNsYXJlZCB3aXRoIHRoZSBzYW1l
IGxvY2F0aW9uIHF1YWxpZmllciBhbmQKKyAgICAvLyAgIG1hdGNoIGluIHR5cGUgYW5kIHF1YWxp
ZmljYXRpb24uCisKKyAgICBpZiAobmFtZXNNYXRjaCB8fCBsb2NhdGlvbnNNYXRjaCkKKyAgICB7
CisgICAgICAgIHN0ZDo6c3RyaW5nIG1pc21hdGNoZWRTdHJ1Y3RGaWVsZE5hbWU7CisgICAgICAg
IExpbmtNaXNtYXRjaEVycm9yIGxpbmtFcnJvciA9CisgICAgICAgICAgICBMaW5rVmFsaWRhdGVW
YXJ5aW5ncyhvdXRwdXQsIGlucHV0LCBvdXRwdXRTaGFkZXJWZXJzaW9uLCB2YWxpZGF0ZUdlb21l
dHJ5U2hhZGVySW5wdXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZXBh
cmFibGUsICZtaXNtYXRjaGVkU3RydWN0RmllbGROYW1lKTsKKyAgICAgICAgaWYgKGxpbmtFcnJv
ciAhPSBMaW5rTWlzbWF0Y2hFcnJvcjo6Tk9fTUlTTUFUQ0gpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGJvb2wgbmFtZXNNYXRjaCAgICAgPSBpbnB1dC5uYW1lID09IG91dHB1dC5uYW1lOwotICAg
ICAgICAgICAgYm9vbCBsb2NhdGlvbnNNYXRjaCA9IChpbnB1dC5sb2NhdGlvbiAhPSAtMSkgJiYg
KGlucHV0LmxvY2F0aW9uID09IG91dHB1dC5sb2NhdGlvbik7CisgICAgICAgICAgICBMb2dMaW5r
TWlzbWF0Y2goaW5mb0xvZywgaW5wdXQubmFtZSwgInZhcnlpbmciLCBsaW5rRXJyb3IsIG1pc21h
dGNoZWRTdHJ1Y3RGaWVsZE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0
U2hhZGVyVHlwZSwgaW5wdXRTaGFkZXJUeXBlKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAobmFtZXNNYXRjaCB8fCBsb2NhdGlvbnNNYXRj
aCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoIW91dHB1dC5pc0J1aWx0
SW4oKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAotICAgICAgICAgICAgICAgIHN0
ZDo6c3RyaW5nIG1pc21hdGNoZWRTdHJ1Y3RGaWVsZE5hbWU7Ci0gICAgICAgICAgICAgICAgTGlu
a01pc21hdGNoRXJyb3IgbGlua0Vycm9yID0KLSAgICAgICAgICAgICAgICAgICAgTGlua1ZhbGlk
YXRlVmFyeWluZ3Mob3V0cHV0LCBpbnB1dCwgZ2VuZXJhdGluZ1NoYWRlci0+Z2V0U2hhZGVyVmVy
c2lvbigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0
ZUdlb21ldHJ5U2hhZGVySW5wdXRzLCAmbWlzbWF0Y2hlZFN0cnVjdEZpZWxkTmFtZSk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGxpbmtFcnJvciAhPSBMaW5rTWlzbWF0Y2hFcnJvcjo6Tk9fTUlTTUFU
Q0gpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBMb2dMaW5rTWlzbWF0
Y2goaW5mb0xvZywgaW5wdXQubmFtZSwgInZhcnlpbmciLCBsaW5rRXJyb3IsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNtYXRjaGVkU3RydWN0RmllbGROYW1lLCBnZW5l
cmF0aW5nU2hhZGVyLT5nZXRUeXBlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdW1pbmdTaGFkZXItPmdldFR5cGUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCisv
LyBbT3BlbkdMIEVTIDMuMV0gQ2hhcHRlciA3LjQuMSAiU2hhZGVyIEludGVyZmFjZSBNYXRjaGlu
ZyIgUGFnZSA5MQorLy8gVE9ETyhqaWF3ZWkuc2hhb0BpbnRlbC5jb20pOiBhZGQgdmFsaWRhdGlv
biBvbiBpbnB1dC9vdXRwdXQgYmxvY2tzIG1hdGNoaW5nCitib29sIFByb2dyYW06OmxpbmtWYWxp
ZGF0ZVNoYWRlckludGVyZmFjZU1hdGNoaW5nKAorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpT
aGFkZXJWYXJpYWJsZT4gJm91dHB1dFZhcnlpbmdzLAorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNo
OjpTaGFkZXJWYXJpYWJsZT4gJmlucHV0VmFyeWluZ3MsCisgICAgU2hhZGVyVHlwZSBvdXRwdXRT
aGFkZXJUeXBlLAorICAgIFNoYWRlclR5cGUgaW5wdXRTaGFkZXJUeXBlLAorICAgIGludCBvdXRw
dXRTaGFkZXJWZXJzaW9uLAorICAgIGludCBpbnB1dFNoYWRlclZlcnNpb24sCisgICAgYm9vbCBp
c1NlcGFyYWJsZSwKKyAgICBnbDo6SW5mb0xvZyAmaW5mb0xvZykKK3sKKyAgICBBU1NFUlQob3V0
cHV0U2hhZGVyVmVyc2lvbiA9PSBpbnB1dFNoYWRlclZlcnNpb24pOworCisgICAgc3RkOjp2ZWN0
b3I8Y29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICo+IGZpbHRlcmVkSW5wdXRWYXJ5aW5nczsKKyAg
ICBzdGQ6OnZlY3Rvcjxjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgKj4gZmlsdGVyZWRPdXRwdXRW
YXJ5aW5nczsKKyAgICBib29sIHZhbGlkYXRlR2VvbWV0cnlTaGFkZXJJbnB1dHMgPSBpbnB1dFNo
YWRlclR5cGUgPT0gU2hhZGVyVHlwZTo6R2VvbWV0cnk7CisKKyAgICBnZXRGaWx0ZXJlZFZhcnlp
bmdzKGlucHV0VmFyeWluZ3MsICZmaWx0ZXJlZElucHV0VmFyeWluZ3MpOworICAgIGdldEZpbHRl
cmVkVmFyeWluZ3Mob3V0cHV0VmFyeWluZ3MsICZmaWx0ZXJlZE91dHB1dFZhcnlpbmdzKTsKKwor
ICAgIC8vIFNlcGFyYWJsZSBwcm9ncmFtcyByZXF1aXJlIHRoZSBudW1iZXIgb2YgaW5wdXRzIGFu
ZCBvdXRwdXRzIG1hdGNoCisgICAgaWYgKGlzU2VwYXJhYmxlICYmIGZpbHRlcmVkSW5wdXRWYXJ5
aW5ncy5zaXplKCkgPCBmaWx0ZXJlZE91dHB1dFZhcnlpbmdzLnNpemUoKSkKKyAgICB7CisgICAg
ICAgIGluZm9Mb2cgPDwgR2V0U2hhZGVyVHlwZVN0cmluZyhpbnB1dFNoYWRlclR5cGUpCisgICAg
ICAgICAgICAgICAgPDwgIiBkb2VzIG5vdCBjb25zdW1lIGFsbCB2YXJ5aW5ncyBnZW5lcmF0ZWQg
YnkgIgorICAgICAgICAgICAgICAgIDw8IEdldFNoYWRlclR5cGVTdHJpbmcob3V0cHV0U2hhZGVy
VHlwZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgaWYgKGlzU2VwYXJhYmxl
ICYmIGZpbHRlcmVkSW5wdXRWYXJ5aW5ncy5zaXplKCkgPiBmaWx0ZXJlZE91dHB1dFZhcnlpbmdz
LnNpemUoKSkKKyAgICB7CisgICAgICAgIGluZm9Mb2cgPDwgR2V0U2hhZGVyVHlwZVN0cmluZyhv
dXRwdXRTaGFkZXJUeXBlKQorICAgICAgICAgICAgICAgIDw8ICIgZG9lcyBub3QgZ2VuZXJhdGUg
YWxsIHZhcnlpbmdzIGNvbnN1bWVkIGJ5ICIKKyAgICAgICAgICAgICAgICA8PCBHZXRTaGFkZXJU
eXBlU3RyaW5nKGlucHV0U2hhZGVyVHlwZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CiAKLSAgICAgICAgICAgICAgICBtYXRjaGVkID0gdHJ1ZTsKKyAgICAvLyBBbGwgaW5wdXRzIG11
c3QgbWF0Y2ggYWxsIG91dHB1dHMKKyAgICBmb3IgKGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAq
aW5wdXQgOiBmaWx0ZXJlZElucHV0VmFyeWluZ3MpCisgICAgeworICAgICAgICBib29sIG1hdGNo
ID0gZmFsc2U7CisgICAgICAgIGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICpvdXRwdXQg
OiBmaWx0ZXJlZE91dHB1dFZhcnlpbmdzKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZG9T
aGFkZXJWYXJpYWJsZXNNYXRjaChvdXRwdXRTaGFkZXJWZXJzaW9uLCBvdXRwdXRTaGFkZXJUeXBl
LCBpbnB1dFNoYWRlclR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqaW5wdXQsICpvdXRwdXQsIHZhbGlkYXRlR2VvbWV0cnlTaGFkZXJJbnB1dHMsIGlzU2VwYXJh
YmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb0xvZykpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbWF0Y2ggPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNDY3LDE3ICszNjMwLDE1
IEBAIGJvb2wgUHJvZ3JhbTo6bGlua1ZhbGlkYXRlU2hhZGVySW50ZXJmYWNlTWF0Y2hpbmcoZ2w6
OlNoYWRlciAqZ2VuZXJhdGluZ1NoYWRlciwKICAgICAgICAgLy8gV2UgcGVybWl0IHVubWF0Y2hl
ZCwgdW5yZWZlcmVuY2VkIHZhcnlpbmdzLiBOb3RlIHRoYXQgdGhpcyBzcGVjaWZpY2FsbHkgZGVw
ZW5kcyBvbgogICAgICAgICAvLyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBzdGF0aWNhbGx5IHVzZWQg
LSBhIHN0YXRpY2FsbHkgdXNlZCBpbnB1dCBzaG91bGQgZmFpbCB0aGlzIHRlc3QgZXZlbgogICAg
ICAgICAvLyBpZiBpdCBpcyBub3QgYWN0aXZlLiBHTFNMIEVTIDMuMDAuNiBzZWN0aW9uIDQuMy4x
MC4KLSAgICAgICAgaWYgKCFtYXRjaGVkICYmIGlucHV0LnN0YXRpY1VzZSkKKyAgICAgICAgaWYg
KCFtYXRjaCAmJiBpbnB1dC0+c3RhdGljVXNlKQogICAgICAgICB7Ci0gICAgICAgICAgICBpbmZv
TG9nIDw8IEdldFNoYWRlclR5cGVTdHJpbmcoY29uc3VtaW5nU2hhZGVyLT5nZXRUeXBlKCkpIDw8
ICIgdmFyeWluZyAiIDw8IGlucHV0Lm5hbWUKLSAgICAgICAgICAgICAgICAgICAgPDwgIiBkb2Vz
IG5vdCBtYXRjaCBhbnkgIiA8PCBHZXRTaGFkZXJUeXBlU3RyaW5nKGdlbmVyYXRpbmdTaGFkZXIt
PmdldFR5cGUoKSkKKyAgICAgICAgICAgIGluZm9Mb2cgPDwgR2V0U2hhZGVyVHlwZVN0cmluZyhp
bnB1dFNoYWRlclR5cGUpIDw8ICIgdmFyeWluZyAiIDw8IGlucHV0LT5uYW1lCisgICAgICAgICAg
ICAgICAgICAgIDw8ICIgZG9lcyBub3QgbWF0Y2ggYW55ICIgPDwgR2V0U2hhZGVyVHlwZVN0cmlu
ZyhvdXRwdXRTaGFkZXJUeXBlKQogICAgICAgICAgICAgICAgICAgICA8PCAiIHZhcnlpbmciOwog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfQogCi0gICAgLy8gVE9E
TyhqbWFkaWxsKTogdmVyaWZ5IG5vIHVubWF0Y2hlZCBvdXRwdXQgdmFyeWluZ3M/Ci0KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMzQ5NCw3ICszNjU1LDcgQEAgYm9vbCBQcm9ncmFtOjpsaW5r
VW5pZm9ybXMoY29uc3QgQ2FwcyAmY2FwcywKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIGxpbmtlci5nZXRSZXN1bHRzKCZtU3RhdGUubVVuaWZvcm1zLCB1bnVzZWRVbmlmb3Jt
cywgJm1TdGF0ZS5tVW5pZm9ybUxvY2F0aW9ucyk7CisgICAgbGlua2VyLmdldFJlc3VsdHMoJm1T
dGF0ZS5tRXhlY3V0YWJsZS0+bVVuaWZvcm1zLCB1bnVzZWRVbmlmb3JtcywgJm1TdGF0ZS5tVW5p
Zm9ybUxvY2F0aW9ucyk7CiAKICAgICBsaW5rU2FtcGxlckFuZEltYWdlQmluZGluZ3MoY29tYmlu
ZWRJbWFnZVVuaWZvcm1zQ291bnQpOwogCkBAIC0zNTIxLDE5ICszNjgyLDIwIEBAIHZvaWQgUHJv
Z3JhbTo6bGlua1NhbXBsZXJBbmRJbWFnZUJpbmRpbmdzKEdMdWludCAqY29tYmluZWRJbWFnZVVu
aWZvcm1zKQogewogICAgIEFTU0VSVChjb21iaW5lZEltYWdlVW5pZm9ybXMpOwogCi0gICAgLy8g
SXRlcmF0ZSBvdmVyIG1Vbmlmb3JtcyBmcm9tIHRoZSBiYWNrLCBhbmQgZmluZCB0aGUgcmFuZ2Ug
b2YgYXRvbWljIGNvdW50ZXJzLCBpbWFnZXMgYW5kCi0gICAgLy8gc2FtcGxlcnMgaW4gdGhhdCBv
cmRlci4KLSAgICBhdXRvIGhpZ2hJdGVyID0gbVN0YXRlLm1Vbmlmb3Jtcy5yYmVnaW4oKTsKKyAg
ICAvLyBJdGVyYXRlIG92ZXIgbUV4ZWN1dGFibGUtPm1Vbmlmb3JtcyBmcm9tIHRoZSBiYWNrLCBh
bmQgZmluZCB0aGUgcmFuZ2Ugb2YgYXRvbWljIGNvdW50ZXJzLAorICAgIC8vIGltYWdlcyBhbmQg
c2FtcGxlcnMgaW4gdGhhdCBvcmRlci4KKyAgICBhdXRvIGhpZ2hJdGVyID0gbVN0YXRlLm1FeGVj
dXRhYmxlLT5nZXRVbmlmb3JtcygpLnJiZWdpbigpOwogICAgIGF1dG8gbG93SXRlciAgPSBoaWdo
SXRlcjsKIAotICAgIHVuc2lnbmVkIGludCBoaWdoID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50
PihtU3RhdGUubVVuaWZvcm1zLnNpemUoKSk7CisgICAgdW5zaWduZWQgaW50IGhpZ2ggPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5z
aXplKCkpOwogICAgIHVuc2lnbmVkIGludCBsb3cgID0gaGlnaDsKIAogICAgIC8vIE5vdGUgdGhh
dCB1bmlmb3JtIGJsb2NrIHVuaWZvcm1zIGFyZSBub3QgeWV0IGFwcGVuZGVkIHRvIHRoaXMgbGlz
dC4KLSAgICBBU1NFUlQobVN0YXRlLm1Vbmlmb3Jtcy5zaXplKCkgPT0gMCB8fCBoaWdoSXRlci0+
aXNBdG9taWNDb3VudGVyKCkgfHwgaGlnaEl0ZXItPmlzSW1hZ2UoKSB8fAotICAgICAgICAgICBo
aWdoSXRlci0+aXNTYW1wbGVyKCkgfHwgaGlnaEl0ZXItPmlzSW5EZWZhdWx0QmxvY2soKSk7Cisg
ICAgQVNTRVJUKG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5zaXplKCkgPT0gMCB8
fCBoaWdoSXRlci0+aXNBdG9taWNDb3VudGVyKCkgfHwKKyAgICAgICAgICAgaGlnaEl0ZXItPmlz
SW1hZ2UoKSB8fCBoaWdoSXRlci0+aXNTYW1wbGVyKCkgfHwgaGlnaEl0ZXItPmlzSW5EZWZhdWx0
QmxvY2soKSk7CiAKLSAgICBmb3IgKDsgbG93SXRlciAhPSBtU3RhdGUubVVuaWZvcm1zLnJlbmQo
KSAmJiBsb3dJdGVyLT5pc0F0b21pY0NvdW50ZXIoKTsgKytsb3dJdGVyKQorICAgIGZvciAoOyBs
b3dJdGVyICE9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5yZW5kKCkgJiYgbG93
SXRlci0+aXNBdG9taWNDb3VudGVyKCk7CisgICAgICAgICArK2xvd0l0ZXIpCiAgICAgewogICAg
ICAgICAtLWxvdzsKICAgICB9CkBAIC0zNTQzLDIxICszNzA1LDIxIEBAIHZvaWQgUHJvZ3JhbTo6
bGlua1NhbXBsZXJBbmRJbWFnZUJpbmRpbmdzKEdMdWludCAqY29tYmluZWRJbWFnZVVuaWZvcm1z
KQogICAgIGhpZ2hJdGVyID0gbG93SXRlcjsKICAgICBoaWdoICAgICA9IGxvdzsKIAotICAgIGZv
ciAoOyBsb3dJdGVyICE9IG1TdGF0ZS5tVW5pZm9ybXMucmVuZCgpICYmIGxvd0l0ZXItPmlzSW1h
Z2UoKTsgKytsb3dJdGVyKQorICAgIGZvciAoOyBsb3dJdGVyICE9IG1TdGF0ZS5tRXhlY3V0YWJs
ZS0+Z2V0VW5pZm9ybXMoKS5yZW5kKCkgJiYgbG93SXRlci0+aXNJbWFnZSgpOyArK2xvd0l0ZXIp
CiAgICAgewogICAgICAgICAtLWxvdzsKICAgICB9CiAKLSAgICBtU3RhdGUubUltYWdlVW5pZm9y
bVJhbmdlID0gUmFuZ2VVSShsb3csIGhpZ2gpOwotICAgICpjb21iaW5lZEltYWdlVW5pZm9ybXMg
ICAgPSAwdTsKKyAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1JbWFnZVVuaWZvcm1SYW5nZSA9IFJh
bmdlVUkobG93LCBoaWdoKTsKKyAgICAqY29tYmluZWRJbWFnZVVuaWZvcm1zICAgICAgICAgICAg
ICAgICA9IDB1OwogICAgIC8vIElmIHVuaWZvcm0gaXMgYSBpbWFnZSB0eXBlLCBpbnNlcnQgaXQg
aW50byB0aGUgbUltYWdlQmluZGluZ3MgYXJyYXkuCi0gICAgZm9yICh1bnNpZ25lZCBpbnQgaW1h
Z2VJbmRleCA6IG1TdGF0ZS5tSW1hZ2VVbmlmb3JtUmFuZ2UpCisgICAgZm9yICh1bnNpZ25lZCBp
bnQgaW1hZ2VJbmRleCA6IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0SW1hZ2VVbmlmb3JtUmFuZ2Uo
KSkKICAgICB7CiAgICAgICAgIC8vIEVTMy4xIChzZWN0aW9uIDcuNi4xKSBhbmQgR0xTTCBFUzMu
MSAoc2VjdGlvbiA0LjQuNSksIFVuaWZvcm0qaXt2fSBjb21tYW5kcwogICAgICAgICAvLyBjYW5u
b3QgbG9hZCB2YWx1ZXMgaW50byBhIHVuaWZvcm0gZGVmaW5lZCBhcyBhbiBpbWFnZS4gaWYgZGVj
bGFyZSB3aXRob3V0IGEKICAgICAgICAgLy8gYmluZGluZyBxdWFsaWZpZXIsIGFueSB1bmlmb3Jt
IGltYWdlIHZhcmlhYmxlIChpbmNsdWRlIGFsbCBlbGVtZW50cyBvZgogICAgICAgICAvLyB1bmJv
dW5kIGltYWdlIGFycmF5KSBzaG91ZCBiZSBib3VuZCB0byB1bml0IHplcm8uCi0gICAgICAgIGF1
dG8gJmltYWdlVW5pZm9ybSA9IG1TdGF0ZS5tVW5pZm9ybXNbaW1hZ2VJbmRleF07CisgICAgICAg
IGF1dG8gJmltYWdlVW5pZm9ybSA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKVtp
bWFnZUluZGV4XTsKICAgICAgICAgaWYgKGltYWdlVW5pZm9ybS5iaW5kaW5nID09IC0xKQogICAg
ICAgICB7CiAgICAgICAgICAgICBtU3RhdGUubUltYWdlQmluZGluZ3MuZW1wbGFjZV9iYWNrKApA
QCAtMzU3NiwxNyArMzczOCwxNyBAQCB2b2lkIFByb2dyYW06OmxpbmtTYW1wbGVyQW5kSW1hZ2VC
aW5kaW5ncyhHTHVpbnQgKmNvbWJpbmVkSW1hZ2VVbmlmb3JtcykKICAgICBoaWdoSXRlciA9IGxv
d0l0ZXI7CiAgICAgaGlnaCAgICAgPSBsb3c7CiAKLSAgICBmb3IgKDsgbG93SXRlciAhPSBtU3Rh
dGUubVVuaWZvcm1zLnJlbmQoKSAmJiBsb3dJdGVyLT5pc1NhbXBsZXIoKTsgKytsb3dJdGVyKQor
ICAgIGZvciAoOyBsb3dJdGVyICE9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybXMoKS5y
ZW5kKCkgJiYgbG93SXRlci0+aXNTYW1wbGVyKCk7ICsrbG93SXRlcikKICAgICB7CiAgICAgICAg
IC0tbG93OwogICAgIH0KIAotICAgIG1TdGF0ZS5tU2FtcGxlclVuaWZvcm1SYW5nZSA9IFJhbmdl
VUkobG93LCBoaWdoKTsKKyAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1TYW1wbGVyVW5pZm9ybVJh
bmdlID0gUmFuZ2VVSShsb3csIGhpZ2gpOwogCiAgICAgLy8gSWYgdW5pZm9ybSBpcyBhIHNhbXBs
ZXIgdHlwZSwgaW5zZXJ0IGl0IGludG8gdGhlIG1TYW1wbGVyQmluZGluZ3MgYXJyYXkuCi0gICAg
Zm9yICh1bnNpZ25lZCBpbnQgc2FtcGxlckluZGV4IDogbVN0YXRlLm1TYW1wbGVyVW5pZm9ybVJh
bmdlKQorICAgIGZvciAodW5zaWduZWQgaW50IHNhbXBsZXJJbmRleCA6IG1TdGF0ZS5tRXhlY3V0
YWJsZS0+Z2V0U2FtcGxlclVuaWZvcm1SYW5nZSgpKQogICAgIHsKLSAgICAgICAgY29uc3QgYXV0
byAmc2FtcGxlclVuaWZvcm0gPSBtU3RhdGUubVVuaWZvcm1zW3NhbXBsZXJJbmRleF07CisgICAg
ICAgIGNvbnN0IGF1dG8gJnNhbXBsZXJVbmlmb3JtID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRV
bmlmb3JtcygpW3NhbXBsZXJJbmRleF07CiAgICAgICAgIFRleHR1cmVUeXBlIHRleHR1cmVUeXBl
ICAgID0gU2FtcGxlclR5cGVUb1RleHR1cmVUeXBlKHNhbXBsZXJVbmlmb3JtLnR5cGUpOwogICAg
ICAgICB1bnNpZ25lZCBpbnQgZWxlbWVudENvdW50ICA9IHNhbXBsZXJVbmlmb3JtLmdldEJhc2lj
VHlwZUVsZW1lbnRDb3VudCgpOwogICAgICAgICBTYW1wbGVyRm9ybWF0IGZvcm1hdCAgICAgICA9
IHNhbXBsZXJVbmlmb3JtLnR5cGVJbmZvLT5zYW1wbGVyRm9ybWF0OwpAQCAtMzYwMSwxNyArMzc2
MywxNyBAQCBib29sIFByb2dyYW06OmxpbmtBdG9taWNDb3VudGVyQnVmZmVycygpCiB7CiAgICAg
Zm9yICh1bnNpZ25lZCBpbnQgaW5kZXggOiBtU3RhdGUubUF0b21pY0NvdW50ZXJVbmlmb3JtUmFu
Z2UpCiAgICAgewotICAgICAgICBhdXRvICZ1bmlmb3JtICAgICAgICAgICAgICAgICAgICAgID0g
bVN0YXRlLm1Vbmlmb3Jtc1tpbmRleF07CisgICAgICAgIGF1dG8gJnVuaWZvcm0gICAgICAgICAg
ICAgICAgICAgICAgPSBtU3RhdGUubUV4ZWN1dGFibGUtPm1Vbmlmb3Jtc1tpbmRleF07CiAgICAg
ICAgIHVuaWZvcm0uYmxvY2tJbmZvLm9mZnNldCAgICAgICAgICAgPSB1bmlmb3JtLm9mZnNldDsK
ICAgICAgICAgdW5pZm9ybS5ibG9ja0luZm8uYXJyYXlTdHJpZGUgICAgICA9ICh1bmlmb3JtLmlz
QXJyYXkoKSA/IDQgOiAwKTsKICAgICAgICAgdW5pZm9ybS5ibG9ja0luZm8ubWF0cml4U3RyaWRl
ICAgICA9IDA7CiAgICAgICAgIHVuaWZvcm0uYmxvY2tJbmZvLmlzUm93TWFqb3JNYXRyaXggPSBm
YWxzZTsKIAogICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7Ci0gICAgICAgIGZvciAodW5zaWdu
ZWQgaW50IGJ1ZmZlckluZGV4ID0gMDsgYnVmZmVySW5kZXggPCBtU3RhdGUubUF0b21pY0NvdW50
ZXJCdWZmZXJzLnNpemUoKTsKLSAgICAgICAgICAgICArK2J1ZmZlckluZGV4KQorICAgICAgICBm
b3IgKHVuc2lnbmVkIGludCBidWZmZXJJbmRleCA9IDA7CisgICAgICAgICAgICAgYnVmZmVySW5k
ZXggPCBtU3RhdGUubUV4ZWN1dGFibGUtPmdldEFjdGl2ZUF0b21pY0NvdW50ZXJCdWZmZXJDb3Vu
dCgpOyArK2J1ZmZlckluZGV4KQogICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvICZidWZmZXIg
PSBtU3RhdGUubUF0b21pY0NvdW50ZXJCdWZmZXJzW2J1ZmZlckluZGV4XTsKKyAgICAgICAgICAg
IGF1dG8gJmJ1ZmZlciA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUF0b21pY0NvdW50ZXJCdWZmZXJz
W2J1ZmZlckluZGV4XTsKICAgICAgICAgICAgIGlmIChidWZmZXIuYmluZGluZyA9PSB1bmlmb3Jt
LmJpbmRpbmcpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgYnVmZmVyLm1lbWJlcklu
ZGV4ZXMucHVzaF9iYWNrKGluZGV4KTsKQEAgLTM2MjcsOCArMzc4OSw5IEBAIGJvb2wgUHJvZ3Jh
bTo6bGlua0F0b21pY0NvdW50ZXJCdWZmZXJzKCkKICAgICAgICAgICAgIGF0b21pY0NvdW50ZXJC
dWZmZXIuYmluZGluZyA9IHVuaWZvcm0uYmluZGluZzsKICAgICAgICAgICAgIGF0b21pY0NvdW50
ZXJCdWZmZXIubWVtYmVySW5kZXhlcy5wdXNoX2JhY2soaW5kZXgpOwogICAgICAgICAgICAgYXRv
bWljQ291bnRlckJ1ZmZlci51bmlvblJlZmVyZW5jZXNXaXRoKHVuaWZvcm0pOwotICAgICAgICAg
ICAgbVN0YXRlLm1BdG9taWNDb3VudGVyQnVmZmVycy5wdXNoX2JhY2soYXRvbWljQ291bnRlckJ1
ZmZlcik7Ci0gICAgICAgICAgICB1bmlmb3JtLmJ1ZmZlckluZGV4ID0gc3RhdGljX2Nhc3Q8aW50
PihtU3RhdGUubUF0b21pY0NvdW50ZXJCdWZmZXJzLnNpemUoKSAtIDEpOworICAgICAgICAgICAg
bVN0YXRlLm1FeGVjdXRhYmxlLT5tQXRvbWljQ291bnRlckJ1ZmZlcnMucHVzaF9iYWNrKGF0b21p
Y0NvdW50ZXJCdWZmZXIpOworICAgICAgICAgICAgdW5pZm9ybS5idWZmZXJJbmRleCA9CisgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50PihtU3RhdGUubUV4ZWN1dGFibGUtPmdldEFjdGl2
ZUF0b21pY0NvdW50ZXJCdWZmZXJDb3VudCgpIC0gMSk7CiAgICAgICAgIH0KICAgICB9CiAgICAg
Ly8gVE9ETyhqaWUuYS5jaGVuQGludGVsLmNvbSk6IENvdW50IGVhY2ggYXRvbWljIGNvdW50ZXIg
YnVmZmVyIHRvIHZhbGlkYXRlIGFnYWluc3QKQEAgLTM2NjAsMTkgKzM4MjMsMTkgQEAgYm9vbCBQ
cm9ncmFtOjpsaW5rQXR0cmlidXRlcyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBJbmZvTG9nICZp
bmZvTG9nKQogICAgICAgICAvLyBJbiBHTFNMIEVTIDMuMDAuNiwgYWxpYXNpbmcgY2hlY2tzIHNo
b3VsZCBiZSBkb25lIHdpdGggYWxsIGRlY2xhcmVkIGF0dHJpYnV0ZXMgLQogICAgICAgICAvLyBz
ZWUgR0xTTCBFUyAzLjAwLjYgc2VjdGlvbiAxMi40Ni4gSW5hY3RpdmUgYXR0cmlidXRlcyB3aWxs
IGJlIHBydW5lZCBhZnRlcgogICAgICAgICAvLyBhbGlhc2luZyBjaGVja3MuCi0gICAgICAgIG1T
dGF0ZS5tUHJvZ3JhbUlucHV0cyA9IHZlcnRleFNoYWRlci0+Z2V0QWxsQXR0cmlidXRlcygpOwor
ICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1Qcm9ncmFtSW5wdXRzID0gdmVydGV4U2hhZGVy
LT5nZXRBbGxBdHRyaWJ1dGVzKCk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIC8v
IEluIEdMU0wgRVMgMS4wMC4xNyB3ZSBvbmx5IGRvIGFsaWFzaW5nIGNoZWNrcyBmb3IgYWN0aXZl
IGF0dHJpYnV0ZXMuCi0gICAgICAgIG1TdGF0ZS5tUHJvZ3JhbUlucHV0cyA9IHZlcnRleFNoYWRl
ci0+Z2V0QWN0aXZlQXR0cmlidXRlcygpOworICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1Q
cm9ncmFtSW5wdXRzID0gdmVydGV4U2hhZGVyLT5nZXRBY3RpdmVBdHRyaWJ1dGVzKCk7CiAgICAg
fQogCiAgICAgR0x1aW50IG1heEF0dHJpYnMgPSBzdGF0aWNfY2FzdDxHTHVpbnQ+KGNhcHMubWF4
VmVydGV4QXR0cmlidXRlcyk7CiAgICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlICo+
IHVzZWRBdHRyaWJNYXAobWF4QXR0cmlicywgbnVsbHB0cik7CiAKICAgICAvLyBBc3NpZ24gbG9j
YXRpb25zIHRvIGF0dHJpYnV0ZXMgdGhhdCBoYXZlIGEgYmluZGluZyBsb2NhdGlvbiBhbmQgY2hl
Y2sgZm9yIGF0dHJpYnV0ZSBhbGlhc2luZy4KLSAgICBmb3IgKHNoOjpTaGFkZXJWYXJpYWJsZSAm
YXR0cmlidXRlIDogbVN0YXRlLm1Qcm9ncmFtSW5wdXRzKQorICAgIGZvciAoc2g6OlNoYWRlclZh
cmlhYmxlICZhdHRyaWJ1dGUgOiBtU3RhdGUubUV4ZWN1dGFibGUtPm1Qcm9ncmFtSW5wdXRzKQog
ICAgIHsKICAgICAgICAgLy8gR0xTTCBFUyAzLjEwIEphbnVhcnkgMjAxNiBzZWN0aW9uIDQuMy40
OiBWZXJ0ZXggc2hhZGVyIGlucHV0cyBjYW4ndCBiZSBhcnJheXMgb3IKICAgICAgICAgLy8gc3Ry
dWN0dXJlcywgc28gd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBhZGp1c3RpbmcgdGhlaXIg
bmFtZXMgb3IgZ2VuZXJhdGluZyBlbnRyaWVzCkBAIC0zNzI4LDcgKzM4OTEsNyBAQCBib29sIFBy
b2dyYW06OmxpbmtBdHRyaWJ1dGVzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEluZm9Mb2cgJmlu
Zm9Mb2cpCiAgICAgfQogCiAgICAgLy8gQXNzaWduIGxvY2F0aW9ucyB0byBhdHRyaWJ1dGVzIHRo
YXQgZG9uJ3QgaGF2ZSBhIGJpbmRpbmcgbG9jYXRpb24uCi0gICAgZm9yIChzaDo6U2hhZGVyVmFy
aWFibGUgJmF0dHJpYnV0ZSA6IG1TdGF0ZS5tUHJvZ3JhbUlucHV0cykKKyAgICBmb3IgKHNoOjpT
aGFkZXJWYXJpYWJsZSAmYXR0cmlidXRlIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5tUHJvZ3JhbUlu
cHV0cykKICAgICB7CiAgICAgICAgIC8vIE5vdCBzZXQgYnkgZ2xCaW5kQXR0cmliTG9jYXRpb24g
b3IgYnkgbG9jYXRpb24gbGF5b3V0IHF1YWxpZmllcgogICAgICAgICBpZiAoYXR0cmlidXRlLmxv
Y2F0aW9uID09IC0xKQpAQCAtMzc0NiwxNSArMzkwOSwxNSBAQCBib29sIFByb2dyYW06OmxpbmtB
dHRyaWJ1dGVzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEluZm9Mb2cgJmluZm9Mb2cpCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBBU1NFUlQobVN0YXRlLm1FeGVjdXRhYmxlLm1BdHRyaWJ1dGVz
VHlwZU1hc2subm9uZSgpKTsKLSAgICBBU1NFUlQobVN0YXRlLm1FeGVjdXRhYmxlLm1BdHRyaWJ1
dGVzTWFzay5ub25lKCkpOworICAgIEFTU0VSVChtU3RhdGUubUV4ZWN1dGFibGUtPm1BdHRyaWJ1
dGVzVHlwZU1hc2subm9uZSgpKTsKKyAgICBBU1NFUlQobVN0YXRlLm1FeGVjdXRhYmxlLT5tQXR0
cmlidXRlc01hc2subm9uZSgpKTsKIAogICAgIC8vIFBydW5lIGluYWN0aXZlIGF0dHJpYnV0ZXMu
IFRoaXMgc3RlcCBpcyBvbmx5IG5lZWRlZCBvbiBzaGFkZXJWZXJzaW9uID49IDMwMCBzaW5jZSBv
biBlYXJsaWVyCiAgICAgLy8gc2hhZGVyIHZlcnNpb25zIHdlJ3JlIG9ubHkgcHJvY2Vzc2luZyBh
Y3RpdmUgYXR0cmlidXRlcyB0byBiZWdpbiB3aXRoLgogICAgIGlmIChzaGFkZXJWZXJzaW9uID49
IDMwMCkKICAgICB7Ci0gICAgICAgIGZvciAoYXV0byBhdHRyaWJ1dGVJdGVyID0gbVN0YXRlLm1Q
cm9ncmFtSW5wdXRzLmJlZ2luKCk7Ci0gICAgICAgICAgICAgYXR0cmlidXRlSXRlciAhPSBtU3Rh
dGUubVByb2dyYW1JbnB1dHMuZW5kKCk7KQorICAgICAgICBmb3IgKGF1dG8gYXR0cmlidXRlSXRl
ciA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpLmJlZ2luKCk7CisgICAg
ICAgICAgICAgYXR0cmlidXRlSXRlciAhPSBtU3RhdGUubUV4ZWN1dGFibGUtPmdldFByb2dyYW1J
bnB1dHMoKS5lbmQoKTspCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVJdGVy
LT5hY3RpdmUpCiAgICAgICAgICAgICB7CkBAIC0zNzYyLDEyICszOTI1LDEyIEBAIGJvb2wgUHJv
Z3JhbTo6bGlua0F0dHJpYnV0ZXMoY29uc3QgQ29udGV4dCAqY29udGV4dCwgSW5mb0xvZyAmaW5m
b0xvZykKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGVJdGVyID0gbVN0YXRlLm1Qcm9ncmFtSW5wdXRzLmVyYXNl
KGF0dHJpYnV0ZUl0ZXIpOworICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUl0ZXIgPSBtU3RhdGUu
bUV4ZWN1dGFibGUtPm1Qcm9ncmFtSW5wdXRzLmVyYXNlKGF0dHJpYnV0ZUl0ZXIpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQogCi0gICAgZm9yIChjb25zdCBzaDo6U2hhZGVyVmFy
aWFibGUgJmF0dHJpYnV0ZSA6IG1TdGF0ZS5tUHJvZ3JhbUlucHV0cykKKyAgICBmb3IgKGNvbnN0
IHNoOjpTaGFkZXJWYXJpYWJsZSAmYXR0cmlidXRlIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRQ
cm9ncmFtSW5wdXRzKCkpCiAgICAgewogICAgICAgICBBU1NFUlQoYXR0cmlidXRlLmFjdGl2ZSk7
CiAgICAgICAgIEFTU0VSVChhdHRyaWJ1dGUubG9jYXRpb24gIT0gLTEpOwpAQCAtMzc3OSwxNiAr
Mzk0MiwxNiBAQCBib29sIFByb2dyYW06OmxpbmtBdHRyaWJ1dGVzKGNvbnN0IENvbnRleHQgKmNv
bnRleHQsIEluZm9Mb2cgJmluZm9Mb2cpCiAgICAgICAgICAgICAvLyBCdWlsdC1pbiBhY3RpdmUg
cHJvZ3JhbSBpbnB1dHMgZG9uJ3QgaGF2ZSBhIGJvdW5kIGF0dHJpYnV0ZS4KICAgICAgICAgICAg
IGlmICghYXR0cmlidXRlLmlzQnVpbHRJbigpKQogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS5tQWN0aXZlQXR0cmliTG9jYXRpb25zTWFzay5zZXQobG9j
YXRpb24pOwotICAgICAgICAgICAgICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS5tTWF4QWN0aXZlQXR0
cmliTG9jYXRpb24gPQotICAgICAgICAgICAgICAgICAgICBzdGQ6Om1heChtU3RhdGUubUV4ZWN1
dGFibGUubU1heEFjdGl2ZUF0dHJpYkxvY2F0aW9uLCBsb2NhdGlvbiArIDEpOworICAgICAgICAg
ICAgICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUFjdGl2ZUF0dHJpYkxvY2F0aW9uc01hc2suc2V0
KGxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1NYXhBY3Rp
dmVBdHRyaWJMb2NhdGlvbiA9CisgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWF4KG1TdGF0ZS5t
RXhlY3V0YWJsZS0+bU1heEFjdGl2ZUF0dHJpYkxvY2F0aW9uLCBsb2NhdGlvbiArIDEpOwogCiAg
ICAgICAgICAgICAgICAgQ29tcG9uZW50VHlwZSBjb21wb25lbnRUeXBlID0KICAgICAgICAgICAg
ICAgICAgICAgR0xlbnVtVG9Db21wb25lbnRUeXBlKFZhcmlhYmxlQ29tcG9uZW50VHlwZShhdHRy
aWJ1dGUudHlwZSkpOwogCiAgICAgICAgICAgICAgICAgU2V0Q29tcG9uZW50VHlwZU1hc2soY29t
cG9uZW50VHlwZSwgbG9jYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJm1TdGF0ZS5tRXhlY3V0YWJsZS5tQXR0cmlidXRlc1R5cGVNYXNrKTsKLSAgICAgICAgICAg
ICAgICBtU3RhdGUubUV4ZWN1dGFibGUubUF0dHJpYnV0ZXNNYXNrLnNldChsb2NhdGlvbik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1TdGF0ZS5tRXhlY3V0YWJsZS0+
bUF0dHJpYnV0ZXNUeXBlTWFzayk7CisgICAgICAgICAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxl
LT5tQXR0cmlidXRlc01hc2suc2V0KGxvY2F0aW9uKTsKIAogICAgICAgICAgICAgICAgIGxvY2F0
aW9uKys7CiAgICAgICAgICAgICB9CkBAIC0zOTUyLDYgKzQxMTUsNyBAQCBMaW5rTWlzbWF0Y2hF
cnJvciBQcm9ncmFtOjpMaW5rVmFsaWRhdGVWYXJ5aW5ncyhjb25zdCBzaDo6U2hhZGVyVmFyaWFi
bGUgJm91dHB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZpbnB1dFZhcnlpbmcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2hhZGVyVmVyc2lvbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdmFsaWRh
dGVHZW9tZXRyeVNoYWRlcklucHV0VmFyeWluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNTZXBhcmFibGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyAqbWlzbWF0Y2hlZFN0
cnVjdEZpZWxkTmFtZSkKIHsKICAgICBpZiAodmFsaWRhdGVHZW9tZXRyeVNoYWRlcklucHV0VmFy
eWluZykKQEAgLTM5NzYsMTQgKzQxNDAsMjIgQEAgTGlua01pc21hdGNoRXJyb3IgUHJvZ3JhbTo6
TGlua1ZhbGlkYXRlVmFyeWluZ3MoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZvdXRwdXQKIAog
ICAgIC8vIFNraXAgdGhlIHZhbGlkYXRpb24gb24gdGhlIGFycmF5IHNpemVzIGJldHdlZW4gYSB2
ZXJ0ZXggb3V0cHV0IHZhcnlpbmcgYW5kIGEgZ2VvbWV0cnkgaW5wdXQKICAgICAvLyB2YXJ5aW5n
IGFzIGl0IGhhcyBiZWVuIGRvbmUgYmVmb3JlLgorICAgIGJvb2wgdmFsaWRhdGVQcmVjaXNpb24g
PSBpc1NlcGFyYWJsZSAmJiAoc2hhZGVyVmVyc2lvbiA+IDEwMCk7CiAgICAgTGlua01pc21hdGNo
RXJyb3IgbGlua0Vycm9yID0KLSAgICAgICAgTGlua1ZhbGlkYXRlVmFyaWFibGVzQmFzZShvdXRw
dXRWYXJ5aW5nLCBpbnB1dFZhcnlpbmcsIGZhbHNlLAorICAgICAgICBMaW5rVmFsaWRhdGVWYXJp
YWJsZXNCYXNlKG91dHB1dFZhcnlpbmcsIGlucHV0VmFyeWluZywgdmFsaWRhdGVQcmVjaXNpb24s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXZhbGlkYXRlR2VvbWV0cnlTaGFk
ZXJJbnB1dFZhcnlpbmcsIG1pc21hdGNoZWRTdHJ1Y3RGaWVsZE5hbWUpOwogICAgIGlmIChsaW5r
RXJyb3IgIT0gTGlua01pc21hdGNoRXJyb3I6Ok5PX01JU01BVENIKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGxpbmtFcnJvcjsKICAgICB9CiAKKyAgICAvLyBFeHBsaWNpdCBsb2NhdGlvbnMgbXVz
dCBtYXRjaCBpZiB0aGUgbmFtZXMgbWF0Y2guCisgICAgaWYgKChvdXRwdXRWYXJ5aW5nLm5hbWUg
PT0gaW5wdXRWYXJ5aW5nLm5hbWUpICYmCisgICAgICAgIChvdXRwdXRWYXJ5aW5nLmxvY2F0aW9u
ICE9IGlucHV0VmFyeWluZy5sb2NhdGlvbikpCisgICAgeworICAgICAgICByZXR1cm4gTGlua01p
c21hdGNoRXJyb3I6OkxPQ0FUSU9OX01JU01BVENIOworICAgIH0KKwogICAgIGlmICghc2g6Oklu
dGVycG9sYXRpb25UeXBlc01hdGNoKG91dHB1dFZhcnlpbmcuaW50ZXJwb2xhdGlvbiwgaW5wdXRW
YXJ5aW5nLmludGVycG9sYXRpb24pKQogICAgIHsKICAgICAgICAgcmV0dXJuIExpbmtNaXNtYXRj
aEVycm9yOjpJTlRFUlBPTEFUSU9OX1RZUEVfTUlTTUFUQ0g7CkBAIC0zOTk3LDIyICs0MTY5LDEy
IEBAIExpbmtNaXNtYXRjaEVycm9yIFByb2dyYW06OkxpbmtWYWxpZGF0ZVZhcnlpbmdzKGNvbnN0
IHNoOjpTaGFkZXJWYXJpYWJsZSAmb3V0cHV0CiAgICAgcmV0dXJuIExpbmtNaXNtYXRjaEVycm9y
OjpOT19NSVNNQVRDSDsKIH0KIAotYm9vbCBQcm9ncmFtOjpsaW5rVmFsaWRhdGVCdWlsdEluVmFy
eWluZ3MoSW5mb0xvZyAmaW5mb0xvZykgY29uc3QKK2Jvb2wgUHJvZ3JhbTo6bGlua1ZhbGlkYXRl
QnVpbHRJblZhcnlpbmdzKGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gJnZl
cnRleFZhcnlpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmZnJhZ21lbnRWYXJ5aW5ncywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2ZXJ0ZXhTaGFk
ZXJWZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5m
b0xvZyAmaW5mb0xvZykKIHsKLSAgICBTaGFkZXIgKnZlcnRleFNoYWRlciAgID0gbVN0YXRlLm1B
dHRhY2hlZFNoYWRlcnNbU2hhZGVyVHlwZTo6VmVydGV4XTsKLSAgICBTaGFkZXIgKmZyYWdtZW50
U2hhZGVyID0gbVN0YXRlLm1BdHRhY2hlZFNoYWRlcnNbU2hhZGVyVHlwZTo6RnJhZ21lbnRdOwot
Ci0gICAgaWYgKCF2ZXJ0ZXhTaGFkZXIgfHwgIWZyYWdtZW50U2hhZGVyKQotICAgIHsKLSAgICAg
ICAgLy8gV2UgY2FuJ3QgdmFsaWRhdGUgYW4gaW50ZXJmYWNlIGlmIHdlIGRvbid0IGhhdmUgYm90
aCBhIHByb2R1Y2VyIGFuZCBhIGNvbnN1bWVyCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LQotICAgIGNvbnN0IGF1dG8gJnZlcnRleFZhcnlpbmdzICAgPSB2ZXJ0ZXhTaGFkZXItPmdldE91
dHB1dFZhcnlpbmdzKCk7Ci0gICAgY29uc3QgYXV0byAmZnJhZ21lbnRWYXJ5aW5ncyA9IGZyYWdt
ZW50U2hhZGVyLT5nZXRJbnB1dFZhcnlpbmdzKCk7Ci0gICAgaW50IHNoYWRlclZlcnNpb24gICAg
ICAgICAgICA9IHZlcnRleFNoYWRlci0+Z2V0U2hhZGVyVmVyc2lvbigpOwotCi0gICAgaWYgKHNo
YWRlclZlcnNpb24gIT0gMTAwKQorICAgIGlmICh2ZXJ0ZXhTaGFkZXJWZXJzaW9uICE9IDEwMCkK
ICAgICB7CiAgICAgICAgIC8vIE9ubHkgRVNTTCAxLjAgaGFzIHJlc3RyaWN0aW9ucyBvbiBtYXRj
aGluZyBpbnB1dCBhbmQgb3V0cHV0IGludmFyaWFuY2UKICAgICAgICAgcmV0dXJuIHRydWU7CkBA
IC00MTY4LDcgKzQzMzAsNyBAQCBib29sIFByb2dyYW06OmxpbmtWYWxpZGF0ZVRyYW5zZm9ybUZl
ZWRiYWNrKGNvbnN0IFZlcnNpb24gJnZlcnNpb24sCiAKICAgICAgICAgLy8gVE9ETyhqbWFkaWxs
KTogSW52ZXN0aWdhdGUgaW1wbGVtZW50YXRpb24gbGltaXRzIG9uIEQzRDExCiAgICAgICAgIGNv
bXBvbmVudENvdW50ID0gVmFyaWFibGVDb21wb25lbnRDb3VudCh2YXItPnR5cGUpICogZWxlbWVu
dENvdW50OwotICAgICAgICBpZiAobVN0YXRlLm1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUg
PT0gR0xfU0VQQVJBVEVfQVRUUklCUyAmJgorICAgICAgICBpZiAobVN0YXRlLm1FeGVjdXRhYmxl
LT5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKSA9PSBHTF9TRVBBUkFURV9BVFRSSUJT
ICYmCiAgICAgICAgICAgICBjb21wb25lbnRDb3VudCA+IHN0YXRpY19jYXN0PEdMdWludD4oY2Fw
cy5tYXhUcmFuc2Zvcm1GZWVkYmFja1NlcGFyYXRlQ29tcG9uZW50cykpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGluZm9Mb2cgPDwgIlRyYW5zZm9ybSBmZWVkYmFjayB2YXJ5aW5nICIgPDwgdGZW
YXJ5aW5nTmFtZSA8PCAiIGNvbXBvbmVudHMgKCIKQEAgLTQxNzgsNyArNDM0MCw3IEBAIGJvb2wg
UHJvZ3JhbTo6bGlua1ZhbGlkYXRlVHJhbnNmb3JtRmVlZGJhY2soY29uc3QgVmVyc2lvbiAmdmVy
c2lvbiwKICAgICAgICAgfQogCiAgICAgICAgIHRvdGFsQ29tcG9uZW50cyArPSBjb21wb25lbnRD
b3VudDsKLSAgICAgICAgaWYgKG1TdGF0ZS5tVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlID09
IEdMX0lOVEVSTEVBVkVEX0FUVFJJQlMgJiYKKyAgICAgICAgaWYgKG1TdGF0ZS5tRXhlY3V0YWJs
ZS0+Z2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKCkgPT0gR0xfSU5URVJMRUFWRURfQVRU
UklCUyAmJgogICAgICAgICAgICAgdG90YWxDb21wb25lbnRzID4gc3RhdGljX2Nhc3Q8R0x1aW50
PihjYXBzLm1heFRyYW5zZm9ybUZlZWRiYWNrSW50ZXJsZWF2ZWRDb21wb25lbnRzKSkKICAgICAg
ICAgewogICAgICAgICAgICAgaW5mb0xvZyA8PCAiVHJhbnNmb3JtIGZlZWRiYWNrIHZhcnlpbmcg
dG90YWwgY29tcG9uZW50cyAoIiA8PCB0b3RhbENvbXBvbmVudHMKQEAgLTQxOTAsMTIxICs0MzUy
LDExIEBAIGJvb2wgUHJvZ3JhbTo6bGlua1ZhbGlkYXRlVHJhbnNmb3JtRmVlZGJhY2soY29uc3Qg
VmVyc2lvbiAmdmVyc2lvbiwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBQcm9ncmFtOjps
aW5rVmFsaWRhdGVHbG9iYWxOYW1lcyhJbmZvTG9nICZpbmZvTG9nKSBjb25zdAotewotICAgIHN0
ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICo+
IHVuaWZvcm1NYXA7Ci0gICAgdXNpbmcgQmxvY2tBbmRGaWVsZFBhaXIgPSBzdGQ6OnBhaXI8Y29u
c3Qgc2g6OkludGVyZmFjZUJsb2NrICosIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAqPjsKLSAg
ICBzdGQ6OnVub3JkZXJlZF9tYXA8c3RkOjpzdHJpbmcsIHN0ZDo6dmVjdG9yPEJsb2NrQW5kRmll
bGRQYWlyPj4gdW5pZm9ybUJsb2NrRmllbGRNYXA7Ci0KLSAgICBmb3IgKFNoYWRlclR5cGUgc2hh
ZGVyVHlwZSA6IGtBbGxHcmFwaGljc1NoYWRlclR5cGVzKQotICAgIHsKLSAgICAgICAgU2hhZGVy
ICpzaGFkZXIgPSBtU3RhdGUubUF0dGFjaGVkU2hhZGVyc1tzaGFkZXJUeXBlXTsKLSAgICAgICAg
aWYgKCFzaGFkZXIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9
Ci0KLSAgICAgICAgLy8gQnVpbGQgYSBtYXAgb2YgVW5pZm9ybXMKLSAgICAgICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiB1bmlmb3JtcyA9IHNoYWRlci0+Z2V0VW5pZm9y
bXMoKTsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvICZ1bmlmb3JtIDogdW5pZm9ybXMpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHVuaWZvcm1NYXBbdW5pZm9ybS5uYW1lXSA9ICZ1bmlmb3JtOwot
ICAgICAgICB9Ci0KLSAgICAgICAgLy8gQnVpbGQgYSBtYXAgb2YgVW5pZm9ybSBCbG9ja3MKLSAg
ICAgICAgLy8gVGhpcyB3aWxsIGFsc28gZGV0ZWN0IGFueSBmaWVsZCBuYW1lIGNvbmZsaWN0cyBi
ZXR3ZWVuIFVuaWZvcm0gQmxvY2tzIHdpdGhvdXQgaW5zdGFuY2UKLSAgICAgICAgLy8gbmFtZXMK
LSAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OkludGVyZmFjZUJsb2NrPiAmdW5pZm9ybUJs
b2NrcyA9IHNoYWRlci0+Z2V0VW5pZm9ybUJsb2NrcygpOwotICAgICAgICBmb3IgKGNvbnN0IGF1
dG8gJnVuaWZvcm1CbG9jayA6IHVuaWZvcm1CbG9ja3MpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IC8vIE9ubHkgdW5pZm9ybSBibG9ja3Mgd2l0aG91dCBhbiBpbnN0YW5jZSBuYW1lIGNhbiBjcmVh
dGUgYSBjb25mbGljdCB3aXRoIHRoZWlyIGZpZWxkCi0gICAgICAgICAgICAvLyBuYW1lcwotICAg
ICAgICAgICAgaWYgKCF1bmlmb3JtQmxvY2suaW5zdGFuY2VOYW1lLmVtcHR5KCkpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGZvciAoY29uc3QgYXV0byAmZmllbGQgOiB1bmlmb3JtQmxvY2suZmllbGRzKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICghdW5pZm9ybUJsb2NrRmllbGRNYXAuY291
bnQoZmllbGQubmFtZSkpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAv
LyBGaXJzdCB0aW1lIHdlJ3ZlIHNlZW4gdGhpcyB1bmlmb3JtIGJsb2NrIGZpZWxkIG5hbWUsIHNv
IGFkZCB0aGUKLSAgICAgICAgICAgICAgICAgICAgLy8gKFVuaWZvcm0gQmxvY2ssIEZpZWxkKSBw
YWlyIGltbWVkaWF0ZWx5IHNpbmNlIHRoZXJlIGNhbid0IGJlIGEgY29uZmxpY3QgeWV0Ci0gICAg
ICAgICAgICAgICAgICAgIEJsb2NrQW5kRmllbGRQYWlyIGJsb2NrQW5kRmllbGRQYWlyKCZ1bmlm
b3JtQmxvY2ssICZmaWVsZCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEJsb2Nr
QW5kRmllbGRQYWlyPiBuZXdVbmlmb3JtQmxvY2tMaXN0OwotICAgICAgICAgICAgICAgICAgICBu
ZXdVbmlmb3JtQmxvY2tMaXN0LnB1c2hfYmFjayhibG9ja0FuZEZpZWxkUGFpcik7Ci0gICAgICAg
ICAgICAgICAgICAgIHVuaWZvcm1CbG9ja0ZpZWxkTWFwW2ZpZWxkLm5hbWVdID0gbmV3VW5pZm9y
bUJsb2NrTGlzdDsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAgICAgLy8gV2UndmUgc2VlbiB0aGlzIG5hbWUgYmVmb3JlLgot
ICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgZWFjaCBvZiB0aGUgdW5pZm9ybSBi
bG9ja3MgdGhhdCBjb250YWluIGEgZmllbGQgd2l0aCB0aGlzIG5hbWUKLSAgICAgICAgICAgICAg
ICAvLyB0byBzZWUgaWYgdGhlcmUncyBhIGNvbmZsaWN0IG9yIG5vdC4KLSAgICAgICAgICAgICAg
ICBzdGQ6OnZlY3RvcjxCbG9ja0FuZEZpZWxkUGFpcj4gcHJldkJsb2NrRmllbGRQYWlycyA9Ci0g
ICAgICAgICAgICAgICAgICAgIHVuaWZvcm1CbG9ja0ZpZWxkTWFwW2ZpZWxkLm5hbWVdOwotICAg
ICAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byAmcHJldkJsb2NrRmllbGRQYWlyIDogcHJldkJs
b2NrRmllbGRQYWlycykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNv
bnN0IHNoOjpJbnRlcmZhY2VCbG9jayAqcHJldlVuaWZvcm1CbG9jayAgICAgID0gcHJldkJsb2Nr
RmllbGRQYWlyLmZpcnN0OwotICAgICAgICAgICAgICAgICAgICBjb25zdCBzaDo6U2hhZGVyVmFy
aWFibGUgKnByZXZVbmlmb3JtQmxvY2tGaWVsZCA9IHByZXZCbG9ja0ZpZWxkUGFpci5zZWNvbmQ7
Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWZvcm1CbG9jay5pc1NhbWVJbnRlcmZhY2VC
bG9ja0F0TGlua1RpbWUoKnByZXZVbmlmb3JtQmxvY2spKQotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc2FtZSB1bmlmb3JtIGJsb2NrIHNob3Vs
ZCwgYnkgZGVmaW5pdGlvbiwgY29udGFpbiB0aGUgc2FtZSBmaWVsZCBuYW1lCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgICAgIC8vIFRoZSB1bmlmb3JtIGJsb2NrcyBkb24ndCBtYXRjaCwgc28gY2hlY2sg
aWYgdGhlIG5lY2Vzc2FyeSBmaWVsZCBwcm9wZXJ0aWVzCi0gICAgICAgICAgICAgICAgICAgIC8v
IGFsc28gbWF0Y2gKLSAgICAgICAgICAgICAgICAgICAgaWYgKChmaWVsZC5uYW1lID09IHByZXZV
bmlmb3JtQmxvY2tGaWVsZC0+bmFtZSkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgIChmaWVs
ZC50eXBlID09IHByZXZVbmlmb3JtQmxvY2tGaWVsZC0+dHlwZSkgJiYKLSAgICAgICAgICAgICAg
ICAgICAgICAgIChmaWVsZC5wcmVjaXNpb24gPT0gcHJldlVuaWZvcm1CbG9ja0ZpZWxkLT5wcmVj
aXNpb24pKQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
bmZvTG9nIDw8ICJOYW1lIGNvbmZsaWN0cyBiZXR3ZWVuIHVuaWZvcm0gYmxvY2sgZmllbGQgbmFt
ZXM6ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgZmllbGQubmFtZTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIC8vIE5vIGNvbmZsaWN0LCBz
byByZWNvcmQgdGhpcyBwYWlyCi0gICAgICAgICAgICAgICAgQmxvY2tBbmRGaWVsZFBhaXIgYmxv
Y2tBbmRGaWVsZFBhaXIoJnVuaWZvcm1CbG9jaywgJmZpZWxkKTsKLSAgICAgICAgICAgICAgICB1
bmlmb3JtQmxvY2tGaWVsZE1hcFtmaWVsZC5uYW1lXS5wdXNoX2JhY2soYmxvY2tBbmRGaWVsZFBh
aXIpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gVmFsaWRhdGUg
bm8gdW5pZm9ybSBuYW1lcyBjb25mbGljdCB3aXRoIGF0dHJpYnV0ZSBuYW1lcwotICAgIGdsOjpT
aGFkZXIgKnZlcnRleFNoYWRlciA9IG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5cGU6
OlZlcnRleF07Ci0gICAgaWYgKHZlcnRleFNoYWRlcikKLSAgICB7Ci0gICAgICAgIGZvciAoY29u
c3QgYXV0byAmYXR0cmliIDogdmVydGV4U2hhZGVyLT5nZXRBY3RpdmVBdHRyaWJ1dGVzKCkpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh1bmlmb3JtTWFwLmNvdW50KGF0dHJpYi5uYW1lKSkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpbmZvTG9nIDw8ICJOYW1lIGNvbmZsaWN0
cyBiZXR3ZWVuIGEgdW5pZm9ybSBhbmQgYW4gYXR0cmlidXRlOiAiIDw8IGF0dHJpYi5uYW1lOwot
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIC8vIFZhbGlkYXRlIG5vIFVuaWZvcm0gQmxvY2sgZmllbGRzIGNvbmZsaWN0
IHdpdGggb3RoZXIgVW5pZm9ybXMKLSAgICBmb3IgKGNvbnN0IGF1dG8gJnVuaWZvcm1CbG9ja0Zp
ZWxkIDogdW5pZm9ybUJsb2NrRmllbGRNYXApCi0gICAgewotICAgICAgICBjb25zdCBzdGQ6OnN0
cmluZyAmZmllbGROYW1lID0gdW5pZm9ybUJsb2NrRmllbGQuZmlyc3Q7Ci0gICAgICAgIGlmICh1
bmlmb3JtTWFwLmNvdW50KGZpZWxkTmFtZSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGluZm9M
b2cgPDwgIk5hbWUgY29uZmxpY3RzIGJldHdlZW4gYSB1bmlmb3JtIGFuZCBhIHVuaWZvcm0gYmxv
Y2sgZmllbGQ6ICIgPDwgZmllbGROYW1lOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgUHJvZ3JhbTo6Z2F0
aGVyVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncyhjb25zdCBQcm9ncmFtTWVyZ2VkVmFyeWluZ3Mg
JnZhcnlpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNoYWRlclR5cGUgc3RhZ2UpCiB7CiAgICAgLy8gR2F0aGVyIHRoZSBsaW5rZWQgdmFyeWluZ3Mg
dGhhdCBhcmUgdXNlZCBmb3IgdHJhbnNmb3JtIGZlZWRiYWNrLCB0aGV5IHNob3VsZCBhbGwgZXhp
c3QuCi0gICAgbVN0YXRlLm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzLmNsZWFyKCk7
CisgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5n
cy5jbGVhcigpOwogICAgIGZvciAoY29uc3Qgc3RkOjpzdHJpbmcgJnRmVmFyeWluZ05hbWUgOiBt
U3RhdGUubVRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ05hbWVzKQogICAgIHsKICAgICAgICAgc3Rk
Ojp2ZWN0b3I8dW5zaWduZWQgaW50PiBzdWJzY3JpcHRzOwpAQCAtNDMyNCw3ICs0Mzc2LDcgQEAg
dm9pZCBQcm9ncmFtOjpnYXRoZXJUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKGNvbnN0IFByb2dy
YW1NZXJnZWRWYXJ5aW5ncyAmdmFyeWkKICAgICAgICAgICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJp
YWJsZSAqdmFyeWluZyA9IHJlZi5nZXQoc3RhZ2UpOwogICAgICAgICAgICAgaWYgKGJhc2VOYW1l
ID09IHZhcnlpbmctPm5hbWUpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbVN0YXRl
Lm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzLmVtcGxhY2VfYmFjaygKKyAgICAgICAg
ICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1Zhcnlp
bmdzLmVtcGxhY2VfYmFjaygKICAgICAgICAgICAgICAgICAgICAgKnZhcnlpbmcsIHN0YXRpY19j
YXN0PEdMdWludD4oc3Vic2NyaXB0KSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CkBAIC00MzM0LDcgKzQzODYsOCBAQCB2b2lkIFByb2dyYW06OmdhdGhlclRyYW5zZm9y
bUZlZWRiYWNrVmFyeWluZ3MoY29uc3QgUHJvZ3JhbU1lcmdlZFZhcnlpbmdzICZ2YXJ5aQogICAg
ICAgICAgICAgICAgIGNvbnN0IGF1dG8gKmZpZWxkID0gRmluZFNoYWRlclZhckZpZWxkKCp2YXJ5
aW5nLCB0ZlZhcnlpbmdOYW1lLCAmZmllbGRJbmRleCk7CiAgICAgICAgICAgICAgICAgaWYgKGZp
ZWxkICE9IG51bGxwdHIpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBt
U3RhdGUubUxpbmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MuZW1wbGFjZV9iYWNrKCpmaWVs
ZCwgKnZhcnlpbmcpOworICAgICAgICAgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1M
aW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzLmVtcGxhY2VfYmFjaygqZmllbGQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICp2YXJ5aW5nKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtNDU1OCw3ICs0NjEx
LDcgQEAgYm9vbCBQcm9ncmFtOjpsaW5rT3V0cHV0VmFyaWFibGVzKGNvbnN0IENhcHMgJmNhcHMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IGNvbWJpbmVkSW1hZ2VV
bmlmb3Jtc0NvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBj
b21iaW5lZFNoYWRlclN0b3JhZ2VCbG9ja3NDb3VudCkKIHsKLSAgICBJbmZvTG9nICZpbmZvTG9n
ICAgICAgID0gbVN0YXRlLm1FeGVjdXRhYmxlLmdldEluZm9Mb2coKTsKKyAgICBJbmZvTG9nICZp
bmZvTG9nICAgICAgID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRJbmZvTG9nKCk7CiAgICAgU2hh
ZGVyICpmcmFnbWVudFNoYWRlciA9IG1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5cGU6
OkZyYWdtZW50XTsKIAogICAgIEFTU0VSVChtU3RhdGUubU91dHB1dFZhcmlhYmxlVHlwZXMuZW1w
dHkoKSk7CkBAIC00NjI5LDcgKzQ2ODIsNyBAQCBib29sIFByb2dyYW06OmxpbmtPdXRwdXRWYXJp
YWJsZXMoY29uc3QgQ2FwcyAmY2FwcywKICAgICBpZiAoZnJhZ21lbnRTaGFkZXIgJiYgZnJhZ21l
bnRTaGFkZXItPmdldFNoYWRlclZlcnNpb24oKSA9PSAxMDApCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgbVN0YXRlLm1PdXRwdXRWYXJpYWJsZXMgPSBvdXRwdXRWYXJpYWJsZXM7CisgICAg
bVN0YXRlLm1FeGVjdXRhYmxlLT5tT3V0cHV0VmFyaWFibGVzID0gb3V0cHV0VmFyaWFibGVzOwog
ICAgIC8vIFRPRE8oam1hZGlsbCk6IGFueSBjYXBzIHZhbGlkYXRpb24gaGVyZT8KIAogICAgIC8v
IEVYVF9ibGVuZF9mdW5jX2V4dGVuZGVkIGRvZXNuJ3Qgc3BlY2lmeSBhbnl0aGluZyByZWxhdGVk
IHRvIGJpbmRpbmcgc3BlY2lmaWMgZWxlbWVudHMgb2YgYW4KQEAgLTQ2NjUsOSArNDcxOCwxMSBA
QCBib29sIFByb2dyYW06OmxpbmtPdXRwdXRWYXJpYWJsZXMoY29uc3QgQ2FwcyAmY2FwcywKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGZvciAodW5zaWduZWQgaW50
IG91dHB1dFZhcmlhYmxlSW5kZXggPSAwOwotICAgICAgICAgICAgIG91dHB1dFZhcmlhYmxlSW5k
ZXggPCBtU3RhdGUubU91dHB1dFZhcmlhYmxlcy5zaXplKCk7IG91dHB1dFZhcmlhYmxlSW5kZXgr
KykKKyAgICAgICAgICAgICBvdXRwdXRWYXJpYWJsZUluZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxl
LT5nZXRPdXRwdXRWYXJpYWJsZXMoKS5zaXplKCk7CisgICAgICAgICAgICAgb3V0cHV0VmFyaWFi
bGVJbmRleCsrKQogICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFi
bGUgJm91dHB1dFZhcmlhYmxlID0gbVN0YXRlLm1PdXRwdXRWYXJpYWJsZXNbb3V0cHV0VmFyaWFi
bGVJbmRleF07CisgICAgICAgICAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJm91dHB1dFZh
cmlhYmxlID0KKyAgICAgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPmdldE91dHB1dFZh
cmlhYmxlcygpW291dHB1dFZhcmlhYmxlSW5kZXhdOwogICAgICAgICAgICAgLy8gQ2hlY2sgdGhh
dCB0aGUgYmluZGluZyBjb3JyZXNwb25kcyB0byBhbiBvdXRwdXQgYXJyYXkgYW5kIGl0cyBhcnJh
eSBpbmRleCBmaXRzLgogICAgICAgICAgICAgaWYgKG91dHB1dFZhcmlhYmxlLmlzQnVpbHRJbigp
IHx8ICFvdXRwdXRWYXJpYWJsZS5pc0FycmF5KCkgfHwKICAgICAgICAgICAgICAgICAhYW5nbGU6
OkJlZ2luc1dpdGgob3V0cHV0VmFyaWFibGUubmFtZSwgYmluZGluZy5maXJzdCwKQEAgLTQ2ODEs
NyArNDczNiw3IEBAIGJvb2wgUHJvZ3JhbTo6bGlua091dHB1dFZhcmlhYmxlcyhjb25zdCBDYXBz
ICZjYXBzLAogICAgICAgICAgICAgLy8gVGhpcyBpbmRleCBtYXkgZGlmZmVyIGZyb20gdGhlIGlu
ZGV4IHVzZWQgZm9yIHRoZSBhcnJheSdzIGJhc2UuCiAgICAgICAgICAgICBhdXRvICZvdXRwdXRM
b2NhdGlvbnMgPSBtRnJhZ21lbnRPdXRwdXRJbmRleGVzLmdldEJpbmRpbmdCeU5hbWUoYmluZGlu
Zy5maXJzdCkgPT0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8g
bVN0YXRlLm1TZWNvbmRhcnlPdXRwdXRMb2NhdGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6IG1TdGF0ZS5tT3V0cHV0TG9jYXRpb25zOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5tT3V0cHV0
TG9jYXRpb25zOwogICAgICAgICAgICAgdW5zaWduZWQgaW50IGxvY2F0aW9uID0gYmluZGluZy5z
ZWNvbmQubG9jYXRpb247CiAgICAgICAgICAgICBWYXJpYWJsZUxvY2F0aW9uIGxvY2F0aW9uSW5m
byhhcnJheUluZGV4LCBvdXRwdXRWYXJpYWJsZUluZGV4KTsKICAgICAgICAgICAgIGlmIChsb2Nh
dGlvbiA+PSBvdXRwdXRMb2NhdGlvbnMuc2l6ZSgpKQpAQCAtNDcwMywxMCArNDc1OCwxMiBAQCBi
b29sIFByb2dyYW06OmxpbmtPdXRwdXRWYXJpYWJsZXMoY29uc3QgQ2FwcyAmY2FwcywKIAogICAg
IC8vIFJlc2VydmUgbG9jYXRpb25zIGZvciBvdXRwdXQgdmFyaWFibGVzIHdob3NlIGxvY2F0aW9u
IGlzIGZpeGVkIGluIHRoZSBzaGFkZXIgb3IgdGhyb3VnaCB0aGUKICAgICAvLyBBUEkuIE90aGVy
d2lzZSwgdGhlIHJlbWFpbmluZyB1bmFsbG9jYXRlZCBvdXRwdXRzIHdpbGwgYmUgcHJvY2Vzc2Vk
IGxhdGVyLgotICAgIGZvciAodW5zaWduZWQgaW50IG91dHB1dFZhcmlhYmxlSW5kZXggPSAwOyBv
dXRwdXRWYXJpYWJsZUluZGV4IDwgbVN0YXRlLm1PdXRwdXRWYXJpYWJsZXMuc2l6ZSgpOworICAg
IGZvciAodW5zaWduZWQgaW50IG91dHB1dFZhcmlhYmxlSW5kZXggPSAwOworICAgICAgICAgb3V0
cHV0VmFyaWFibGVJbmRleCA8IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVz
KCkuc2l6ZSgpOwogICAgICAgICAgb3V0cHV0VmFyaWFibGVJbmRleCsrKQogICAgIHsKLSAgICAg
ICAgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZvdXRwdXRWYXJpYWJsZSA9IG1TdGF0ZS5tT3V0
cHV0VmFyaWFibGVzW291dHB1dFZhcmlhYmxlSW5kZXhdOworICAgICAgICBjb25zdCBzaDo6U2hh
ZGVyVmFyaWFibGUgJm91dHB1dFZhcmlhYmxlID0KKyAgICAgICAgICAgIG1TdGF0ZS5tRXhlY3V0
YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVzKClbb3V0cHV0VmFyaWFibGVJbmRleF07CiAKICAgICAg
ICAgLy8gRG9uJ3Qgc3RvcmUgb3V0cHV0cyBmb3IgZ2xfRnJhZ0RlcHRoLCBnbF9GcmFnQ29sb3Is
IGV0Yy4KICAgICAgICAgaWYgKG91dHB1dFZhcmlhYmxlLmlzQnVpbHRJbigpKQpAQCAtNDcyMiw3
ICs0Nzc5LDcgQEAgYm9vbCBQcm9ncmFtOjpsaW5rT3V0cHV0VmFyaWFibGVzKGNvbnN0IENhcHMg
JmNhcHMsCiAKICAgICAgICAgYXV0byAmb3V0cHV0TG9jYXRpb25zID0gaXNPdXRwdXRTZWNvbmRh
cnlGb3JMaW5rKG91dHB1dFZhcmlhYmxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPyBtU3RhdGUubVNlY29uZGFyeU91dHB1dExvY2F0aW9ucwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiBtU3RhdGUubU91dHB1dExvY2F0aW9uczsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5tT3V0cHV0
TG9jYXRpb25zOwogCiAgICAgICAgIC8vIEdMU0wgRVMgMy4xMCBzZWN0aW9uIDQuMy42OiBPdXRw
dXQgdmFyaWFibGVzIGNhbm5vdCBiZSBhcnJheXMgb2YgYXJyYXlzIG9yIGFycmF5cyBvZgogICAg
ICAgICAvLyBzdHJ1Y3R1cmVzLCBzbyB3ZSBtYXkgdXNlIGdldEJhc2ljVHlwZUVsZW1lbnRDb3Vu
dCgpLgpAQCAtNDczNSw3ICs0NzkyLDggQEAgYm9vbCBQcm9ncmFtOjpsaW5rT3V0cHV0VmFyaWFi
bGVzKGNvbnN0IENhcHMgJmNhcHMsCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
IH0KICAgICAgICAgQXNzaWduT3V0cHV0TG9jYXRpb25zKG91dHB1dExvY2F0aW9ucywgYmFzZUxv
Y2F0aW9uLCBlbGVtZW50Q291bnQsIHJlc2VydmVkTG9jYXRpb25zLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3V0cHV0VmFyaWFibGVJbmRleCwgbVN0YXRlLm1PdXRwdXRWYXJpYWJs
ZXNbb3V0cHV0VmFyaWFibGVJbmRleF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3V0cHV0VmFyaWFibGVJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TdGF0
ZS5tRXhlY3V0YWJsZS0+bU91dHB1dFZhcmlhYmxlc1tvdXRwdXRWYXJpYWJsZUluZGV4XSk7CiAg
ICAgfQogCiAgICAgLy8gSGVyZSB3ZSBhc3NpZ24gbG9jYXRpb25zIGZvciB0aGUgb3V0cHV0IHZh
cmlhYmxlcyB0aGF0IGRvbid0IHlldCBoYXZlIHRoZW0uIE5vdGUgdGhhdCB3ZSdyZQpAQCAtNDc1
MSwxMCArNDgwOSwxMiBAQCBib29sIFByb2dyYW06OmxpbmtPdXRwdXRWYXJpYWJsZXMoY29uc3Qg
Q2FwcyAmY2FwcywKICAgICAgICAgbWF4TG9jYXRpb24gPSBleHRlbnNpb25zLm1heER1YWxTb3Vy
Y2VEcmF3QnVmZmVyczsKICAgICB9CiAKLSAgICBmb3IgKHVuc2lnbmVkIGludCBvdXRwdXRWYXJp
YWJsZUluZGV4ID0gMDsgb3V0cHV0VmFyaWFibGVJbmRleCA8IG1TdGF0ZS5tT3V0cHV0VmFyaWFi
bGVzLnNpemUoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBvdXRwdXRWYXJpYWJsZUluZGV4ID0g
MDsKKyAgICAgICAgIG91dHB1dFZhcmlhYmxlSW5kZXggPCBtU3RhdGUubUV4ZWN1dGFibGUtPmdl
dE91dHB1dFZhcmlhYmxlcygpLnNpemUoKTsKICAgICAgICAgIG91dHB1dFZhcmlhYmxlSW5kZXgr
KykKICAgICB7Ci0gICAgICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmb3V0cHV0VmFyaWFi
bGUgPSBtU3RhdGUubU91dHB1dFZhcmlhYmxlc1tvdXRwdXRWYXJpYWJsZUluZGV4XTsKKyAgICAg
ICAgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZvdXRwdXRWYXJpYWJsZSA9CisgICAgICAgICAg
ICBtU3RhdGUubUV4ZWN1dGFibGUtPmdldE91dHB1dFZhcmlhYmxlcygpW291dHB1dFZhcmlhYmxl
SW5kZXhdOwogCiAgICAgICAgIC8vIERvbid0IHN0b3JlIG91dHB1dHMgZm9yIGdsX0ZyYWdEZXB0
aCwgZ2xfRnJhZ0NvbG9yLCBldGMuCiAgICAgICAgIGlmIChvdXRwdXRWYXJpYWJsZS5pc0J1aWx0
SW4oKSkKQEAgLTQ3NjMsNyArNDgyMyw3IEBAIGJvb2wgUHJvZ3JhbTo6bGlua091dHB1dFZhcmlh
Ymxlcyhjb25zdCBDYXBzICZjYXBzLAogICAgICAgICBpbnQgZml4ZWRMb2NhdGlvbiAgICAgPSBn
ZXRPdXRwdXRMb2NhdGlvbkZvckxpbmsob3V0cHV0VmFyaWFibGUpOwogICAgICAgICBhdXRvICZv
dXRwdXRMb2NhdGlvbnMgPSBpc091dHB1dFNlY29uZGFyeUZvckxpbmsob3V0cHV0VmFyaWFibGUp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1TdGF0ZS5tU2Vjb25kYXJ5
T3V0cHV0TG9jYXRpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1T
dGF0ZS5tT3V0cHV0TG9jYXRpb25zOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiBtU3RhdGUubUV4ZWN1dGFibGUtPm1PdXRwdXRMb2NhdGlvbnM7CiAgICAgICAgIHVuc2ln
bmVkIGludCBiYXNlTG9jYXRpb24gPSAwOwogICAgICAgICB1bnNpZ25lZCBpbnQgZWxlbWVudENv
dW50ID0gb3V0cHV0VmFyaWFibGUuZ2V0QmFzaWNUeXBlRWxlbWVudENvdW50KCk7CiAgICAgICAg
IGlmIChmaXhlZExvY2F0aW9uICE9IC0xKQpAQCAtNDc4NCw3ICs0ODQ0LDcgQEAgYm9vbCBQcm9n
cmFtOjpsaW5rT3V0cHV0VmFyaWFibGVzKGNvbnN0IENhcHMgJmNhcHMsCiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBBc3NpZ25PdXRwdXRMb2NhdGlvbnMob3V0cHV0TG9jYXRpb25zLCBiYXNl
TG9jYXRpb24sIGVsZW1lbnRDb3VudCwgcmVzZXJ2ZWRMb2NhdGlvbnMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3V0cHV0VmFyaWFibGVJbmRleCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtU3RhdGUubU91dHB1dFZhcmlhYmxlc1tvdXRwdXRWYXJpYWJs
ZUluZGV4XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVN0YXRlLm1FeGVj
dXRhYmxlLT5tT3V0cHV0VmFyaWFibGVzW291dHB1dFZhcmlhYmxlSW5kZXhdKTsKICAgICAgICAg
fQogCiAgICAgICAgIC8vIENoZWNrIGZvciBhbnkgZWxlbWVudHMgYXNzaWduZWQgYWJvdmUgdGhl
IG1heCBsb2NhdGlvbiB0aGF0IGFyZSBhY3R1YWxseSB1c2VkLgpAQCAtNDgwOSw5ICs0ODY5LDkg
QEAgYm9vbCBQcm9ncmFtOjpsaW5rT3V0cHV0VmFyaWFibGVzKGNvbnN0IENhcHMgJmNhcHMsCiAK
IHZvaWQgUHJvZ3JhbTo6c2V0VW5pZm9ybVZhbHVlc0Zyb21CaW5kaW5nUXVhbGlmaWVycygpCiB7
Ci0gICAgZm9yICh1bnNpZ25lZCBpbnQgc2FtcGxlckluZGV4IDogbVN0YXRlLm1TYW1wbGVyVW5p
Zm9ybVJhbmdlKQorICAgIGZvciAodW5zaWduZWQgaW50IHNhbXBsZXJJbmRleCA6IG1TdGF0ZS5t
RXhlY3V0YWJsZS0+Z2V0U2FtcGxlclVuaWZvcm1SYW5nZSgpKQogICAgIHsKLSAgICAgICAgY29u
c3QgYXV0byAmc2FtcGxlclVuaWZvcm0gPSBtU3RhdGUubVVuaWZvcm1zW3NhbXBsZXJJbmRleF07
CisgICAgICAgIGNvbnN0IGF1dG8gJnNhbXBsZXJVbmlmb3JtID0gbVN0YXRlLm1FeGVjdXRhYmxl
LT5nZXRVbmlmb3JtcygpW3NhbXBsZXJJbmRleF07CiAgICAgICAgIGlmIChzYW1wbGVyVW5pZm9y
bS5iaW5kaW5nICE9IC0xKQogICAgICAgICB7CiAgICAgICAgICAgICBVbmlmb3JtTG9jYXRpb24g
bG9jYXRpb24gPSBnZXRVbmlmb3JtTG9jYXRpb24oc2FtcGxlclVuaWZvcm0ubmFtZSk7CkBAIC00
ODM0LDkgKzQ4OTQsMTAgQEAgdm9pZCBQcm9ncmFtOjpzZXRVbmlmb3JtVmFsdWVzRnJvbUJpbmRp
bmdRdWFsaWZpZXJzKCkKIHZvaWQgUHJvZ3JhbTo6aW5pdEludGVyZmFjZUJsb2NrQmluZGluZ3Mo
KQogewogICAgIC8vIFNldCBpbml0aWFsIGJpbmRpbmdzIGZyb20gc2hhZGVyLgotICAgIGZvciAo
dW5zaWduZWQgaW50IGJsb2NrSW5kZXggPSAwOyBibG9ja0luZGV4IDwgbVN0YXRlLm1Vbmlmb3Jt
QmxvY2tzLnNpemUoKTsgYmxvY2tJbmRleCsrKQorICAgIGZvciAodW5zaWduZWQgaW50IGJsb2Nr
SW5kZXggPSAwOyBibG9ja0luZGV4IDwgbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRBY3RpdmVVbmlm
b3JtQmxvY2tDb3VudCgpOworICAgICAgICAgYmxvY2tJbmRleCsrKQogICAgIHsKLSAgICAgICAg
SW50ZXJmYWNlQmxvY2sgJnVuaWZvcm1CbG9jayA9IG1TdGF0ZS5tVW5pZm9ybUJsb2Nrc1tibG9j
a0luZGV4XTsKKyAgICAgICAgSW50ZXJmYWNlQmxvY2sgJnVuaWZvcm1CbG9jayA9IG1TdGF0ZS5t
RXhlY3V0YWJsZS0+bVVuaWZvcm1CbG9ja3NbYmxvY2tJbmRleF07CiAgICAgICAgIGJpbmRVbmlm
b3JtQmxvY2soYmxvY2tJbmRleCwgdW5pZm9ybUJsb2NrLmJpbmRpbmcpOwogICAgIH0KIH0KQEAg
LTQ4NjYsMjQgKzQ5MjcsMjYgQEAgdm9pZCBQcm9ncmFtOjp1cGRhdGVTYW1wbGVyVW5pZm9ybShD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICBib3VuZFRleHR1cmVVbml0c1thcnJheUluZGV4ICsg
bG9jYXRpb25JbmZvLmFycmF5SW5kZXhdID0gbmV3VGV4dHVyZVVuaXQ7CiAKICAgICAgICAgLy8g
VXBkYXRlIHRoZSByZWZlcmVuY2UgY291bnRzLgotICAgICAgICB1aW50MzJfdCAmb2xkUmVmQ291
bnQgPSBtU3RhdGUubUV4ZWN1dGFibGUubUFjdGl2ZVNhbXBsZXJSZWZDb3VudHNbb2xkVGV4dHVy
ZVVuaXRdOwotICAgICAgICB1aW50MzJfdCAmbmV3UmVmQ291bnQgPSBtU3RhdGUubUV4ZWN1dGFi
bGUubUFjdGl2ZVNhbXBsZXJSZWZDb3VudHNbbmV3VGV4dHVyZVVuaXRdOworICAgICAgICB1aW50
MzJfdCAmb2xkUmVmQ291bnQgPSBtU3RhdGUubUV4ZWN1dGFibGUtPm1BY3RpdmVTYW1wbGVyUmVm
Q291bnRzW29sZFRleHR1cmVVbml0XTsKKyAgICAgICAgdWludDMyX3QgJm5ld1JlZkNvdW50ID0g
bVN0YXRlLm1FeGVjdXRhYmxlLT5tQWN0aXZlU2FtcGxlclJlZkNvdW50c1tuZXdUZXh0dXJlVW5p
dF07CiAgICAgICAgIEFTU0VSVChvbGRSZWZDb3VudCA+IDApOwogICAgICAgICBBU1NFUlQobmV3
UmVmQ291bnQgPCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpOwogICAgICAg
ICBvbGRSZWZDb3VudC0tOwogICAgICAgICBuZXdSZWZDb3VudCsrOwogCiAgICAgICAgIC8vIENo
ZWNrIGZvciBiaW5kaW5nIHR5cGUgY2hhbmdlLgotICAgICAgICBUZXh0dXJlVHlwZSAmbmV3U2Ft
cGxlclR5cGUgICAgID0gbVN0YXRlLm1FeGVjdXRhYmxlLm1BY3RpdmVTYW1wbGVyVHlwZXNbbmV3
VGV4dHVyZVVuaXRdOwotICAgICAgICBUZXh0dXJlVHlwZSAmb2xkU2FtcGxlclR5cGUgICAgID0g
bVN0YXRlLm1FeGVjdXRhYmxlLm1BY3RpdmVTYW1wbGVyVHlwZXNbb2xkVGV4dHVyZVVuaXRdOwot
ICAgICAgICBTYW1wbGVyRm9ybWF0ICZuZXdTYW1wbGVyRm9ybWF0ID0gbVN0YXRlLm1FeGVjdXRh
YmxlLm1BY3RpdmVTYW1wbGVyRm9ybWF0c1tuZXdUZXh0dXJlVW5pdF07Ci0gICAgICAgIFNhbXBs
ZXJGb3JtYXQgJm9sZFNhbXBsZXJGb3JtYXQgPSBtU3RhdGUubUV4ZWN1dGFibGUubUFjdGl2ZVNh
bXBsZXJGb3JtYXRzW29sZFRleHR1cmVVbml0XTsKKyAgICAgICAgVGV4dHVyZVR5cGUgJm5ld1Nh
bXBsZXJUeXBlICAgICA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUFjdGl2ZVNhbXBsZXJUeXBlc1tu
ZXdUZXh0dXJlVW5pdF07CisgICAgICAgIFRleHR1cmVUeXBlICZvbGRTYW1wbGVyVHlwZSAgICAg
PSBtU3RhdGUubUV4ZWN1dGFibGUtPm1BY3RpdmVTYW1wbGVyVHlwZXNbb2xkVGV4dHVyZVVuaXRd
OworICAgICAgICBTYW1wbGVyRm9ybWF0ICZuZXdTYW1wbGVyRm9ybWF0ID0gbVN0YXRlLm1FeGVj
dXRhYmxlLT5tQWN0aXZlU2FtcGxlckZvcm1hdHNbbmV3VGV4dHVyZVVuaXRdOworICAgICAgICBT
YW1wbGVyRm9ybWF0ICZvbGRTYW1wbGVyRm9ybWF0ID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5tQWN0
aXZlU2FtcGxlckZvcm1hdHNbb2xkVGV4dHVyZVVuaXRdOwogCiAgICAgICAgIGlmIChuZXdSZWZD
b3VudCA9PSAxKQogICAgICAgICB7CiAgICAgICAgICAgICBuZXdTYW1wbGVyVHlwZSAgID0gc2Ft
cGxlckJpbmRpbmcudGV4dHVyZVR5cGU7CiAgICAgICAgICAgICBuZXdTYW1wbGVyRm9ybWF0ID0g
c2FtcGxlckJpbmRpbmcuZm9ybWF0OwotICAgICAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlLm1B
Y3RpdmVTYW1wbGVyc01hc2suc2V0KG5ld1RleHR1cmVVbml0KTsKKyAgICAgICAgICAgIG1TdGF0
ZS5tRXhlY3V0YWJsZS0+bUFjdGl2ZVNhbXBsZXJzTWFzay5zZXQobmV3VGV4dHVyZVVuaXQpOwor
ICAgICAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5tQWN0aXZlU2FtcGxlclNoYWRlckJpdHNb
bmV3VGV4dHVyZVVuaXRdID0KKyAgICAgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPmdl
dFVuaWZvcm1zKClbbG9jYXRpb25JbmZvLmluZGV4XS5hY3RpdmVTaGFkZXJzKCk7CiAgICAgICAg
IH0KICAgICAgICAgZWxzZQogICAgICAgICB7CkBAIC00OTAzLDcgKzQ5NjYsNyBAQCB2b2lkIFBy
b2dyYW06OnVwZGF0ZVNhbXBsZXJVbmlmb3JtKENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHsK
ICAgICAgICAgICAgIG9sZFNhbXBsZXJUeXBlICAgPSBUZXh0dXJlVHlwZTo6SW52YWxpZEVudW07
CiAgICAgICAgICAgICBvbGRTYW1wbGVyRm9ybWF0ID0gU2FtcGxlckZvcm1hdDo6SW52YWxpZEVu
dW07Ci0gICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUubUFjdGl2ZVNhbXBsZXJzTWFzay5y
ZXNldChvbGRUZXh0dXJlVW5pdCk7CisgICAgICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1B
Y3RpdmVTYW1wbGVyc01hc2sucmVzZXQob2xkVGV4dHVyZVVuaXQpOwogICAgICAgICB9CiAgICAg
ICAgIGVsc2UKICAgICAgICAgewpAQCAtNDkyOSw3ICs0OTkyLDcgQEAgdm9pZCBQcm9ncmFtOjp1
cGRhdGVTYW1wbGVyVW5pZm9ybShDb250ZXh0ICpjb250ZXh0LAogCiB2b2lkIFByb2dyYW1TdGF0
ZTo6c2V0U2FtcGxlclVuaWZvcm1UZXh0dXJlVHlwZUFuZEZvcm1hdChzaXplX3QgdGV4dHVyZVVu
aXRJbmRleCkKIHsKLSAgICBtRXhlY3V0YWJsZS5zZXRTYW1wbGVyVW5pZm9ybVRleHR1cmVUeXBl
QW5kRm9ybWF0KHRleHR1cmVVbml0SW5kZXgsIG1TYW1wbGVyQmluZGluZ3MpOworICAgIG1FeGVj
dXRhYmxlLT5zZXRTYW1wbGVyVW5pZm9ybVRleHR1cmVUeXBlQW5kRm9ybWF0KHRleHR1cmVVbml0
SW5kZXgsIG1TYW1wbGVyQmluZGluZ3MpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KQEAg
LTQ5NDEsNyArNTAwNCw3IEBAIEdMc2l6ZWkgUHJvZ3JhbTo6Y2xhbXBVbmlmb3JtQ291bnQoY29u
c3QgVmFyaWFibGVMb2NhdGlvbiAmbG9jYXRpb25JbmZvLAogICAgIGlmIChjb3VudCA9PSAxKQog
ICAgICAgICByZXR1cm4gMTsKIAotICAgIGNvbnN0IExpbmtlZFVuaWZvcm0gJmxpbmtlZFVuaWZv
cm0gPSBtU3RhdGUubVVuaWZvcm1zW2xvY2F0aW9uSW5mby5pbmRleF07CisgICAgY29uc3QgTGlu
a2VkVW5pZm9ybSAmbGlua2VkVW5pZm9ybSA9IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9y
bXMoKVtsb2NhdGlvbkluZm8uaW5kZXhdOwogCiAgICAgLy8gT3BlbkdMIEVTIDMuMC40IHNwZWMg
cGcgNjc6ICJWYWx1ZXMgZm9yIGFueSBhcnJheSBlbGVtZW50IHRoYXQgZXhjZWVkcyB0aGUgaGln
aGVzdCBhcnJheQogICAgIC8vIGVsZW1lbnQgaW5kZXggdXNlZCwgYXMgcmVwb3J0ZWQgYnkgR2V0
QWN0aXZlVW5pZm9ybSwgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSBHTC4iCkBAIC00OTcxLDcgKzUw
MzQsNyBAQCBHTHNpemVpIFByb2dyYW06OmNsYW1wTWF0cml4VW5pZm9ybUNvdW50KFVuaWZvcm1M
b2NhdGlvbiBsb2NhdGlvbiwKICAgICAgICAgcmV0dXJuIGNsYW1wVW5pZm9ybUNvdW50KGxvY2F0
aW9uSW5mbywgY291bnQsIGNvbHMgKiByb3dzLCB2KTsKICAgICB9CiAKLSAgICBjb25zdCBMaW5r
ZWRVbmlmb3JtICZsaW5rZWRVbmlmb3JtID0gbVN0YXRlLm1Vbmlmb3Jtc1tsb2NhdGlvbkluZm8u
aW5kZXhdOworICAgIGNvbnN0IExpbmtlZFVuaWZvcm0gJmxpbmtlZFVuaWZvcm0gPSBtU3RhdGUu
bUV4ZWN1dGFibGUtPmdldFVuaWZvcm1zKClbbG9jYXRpb25JbmZvLmluZGV4XTsKIAogICAgIC8v
IE9wZW5HTCBFUyAzLjAuNCBzcGVjIHBnIDY3OiAiVmFsdWVzIGZvciBhbnkgYXJyYXkgZWxlbWVu
dCB0aGF0IGV4Y2VlZHMgdGhlIGhpZ2hlc3QgYXJyYXkKICAgICAvLyBlbGVtZW50IGluZGV4IHVz
ZWQsIGFzIHJlcG9ydGVkIGJ5IEdldEFjdGl2ZVVuaWZvcm0sIHdpbGwgYmUgaWdub3JlZCBieSB0
aGUgR0wuIgpAQCAtNTAzMyw3ICs1MDk2LDcgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpzeW5j
U3RhdGUoY29uc3QgQ29udGV4dCAqY29udGV4dCkKIHsKICAgICBpZiAobURpcnR5Qml0cy5hbnko
KSkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICAgICAgQVNTRVJU
KCFtTGlua2luZ1N0YXRlKTsKICAgICAgICAgQU5HTEVfVFJZKG1Qcm9ncmFtLT5zeW5jU3RhdGUo
Y29udGV4dCwgbURpcnR5Qml0cykpOwogICAgICAgICBtRGlydHlCaXRzLnJlc2V0KCk7CiAgICAg
fQpAQCAtNTA3MywxMyArNTEzNiw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbTo6c2VyaWFsaXpl
KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIGFuZ2xlOjpNZW1vcnlCdWZmZXIgKmJpCiAgICAgc3Ry
ZWFtLndyaXRlSW50KG1TdGF0ZS5tR2VvbWV0cnlTaGFkZXJNYXhWZXJ0aWNlcyk7CiAKICAgICBz
dHJlYW0ud3JpdGVJbnQobVN0YXRlLm1OdW1WaWV3cyk7Ci0KLSAgICBzdGF0aWNfYXNzZXJ0KE1B
WF9WRVJURVhfQVRUUklCUyAqIDIgPD0gc2l6ZW9mKHVpbnQzMl90KSAqIDgsCi0gICAgICAgICAg
ICAgICAgICAiQWxsIGJpdHMgb2YgbUF0dHJpYnV0ZXNUeXBlTWFzayB0eXBlcyBhbmQgbWFzayBm
aXQgaW50byAzMiBiaXRzIGVhY2giKTsKLSAgICBzdHJlYW0ud3JpdGVJbnQoc3RhdGljX2Nhc3Q8
aW50PihtU3RhdGUubUV4ZWN1dGFibGUubUF0dHJpYnV0ZXNUeXBlTWFzay50b191bG9uZygpKSk7
Ci0gICAgc3RyZWFtLndyaXRlSW50KHN0YXRpY19jYXN0PGludD4obVN0YXRlLm1FeGVjdXRhYmxl
Lm1BdHRyaWJ1dGVzTWFzay50b191bG9uZygpKSk7Ci0gICAgc3RyZWFtLndyaXRlSW50KG1TdGF0
ZS5tRXhlY3V0YWJsZS5nZXRBY3RpdmVBdHRyaWJMb2NhdGlvbnNNYXNrKCkudG9fdWxvbmcoKSk7
Ci0gICAgc3RyZWFtLndyaXRlSW50KG1TdGF0ZS5tRXhlY3V0YWJsZS5tTWF4QWN0aXZlQXR0cmli
TG9jYXRpb24pOworICAgIHN0cmVhbS53cml0ZUludChtU3RhdGUubUVhcmx5RnJhbWVudFRlc3Rz
T3B0aW1pemF0aW9uKTsKIAogICAgIHN0cmVhbS53cml0ZUludChtU3RhdGUuZ2V0UHJvZ3JhbUlu
cHV0cygpLnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJmF0dHJp
YiA6IG1TdGF0ZS5nZXRQcm9ncmFtSW5wdXRzKCkpCkBAIC01MTMzLDggKzUxOTAsOCBAQCBhbmds
ZTo6UmVzdWx0IFByb2dyYW06OnNlcmlhbGl6ZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBhbmds
ZTo6TWVtb3J5QnVmZmVyICpiaQogICAgICAgICBXcml0ZUludGVyZmFjZUJsb2NrKCZzdHJlYW0s
IHNoYWRlclN0b3JhZ2VCbG9jayk7CiAgICAgfQogCi0gICAgc3RyZWFtLndyaXRlSW50KG1TdGF0
ZS5tQXRvbWljQ291bnRlckJ1ZmZlcnMuc2l6ZSgpKTsKLSAgICBmb3IgKGNvbnN0IGF1dG8gJmF0
b21pY0NvdW50ZXJCdWZmZXIgOiBtU3RhdGUubUF0b21pY0NvdW50ZXJCdWZmZXJzKQorICAgIHN0
cmVhbS53cml0ZUludChtU3RhdGUubUV4ZWN1dGFibGUtPmdldEFjdGl2ZUF0b21pY0NvdW50ZXJC
dWZmZXJDb3VudCgpKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8gJmF0b21pY0NvdW50ZXJCdWZmZXIg
OiBtU3RhdGUubUV4ZWN1dGFibGUtPmdldEF0b21pY0NvdW50ZXJCdWZmZXJzKCkpCiAgICAgewog
ICAgICAgICBXcml0ZVNoYWRlclZhcmlhYmxlQnVmZmVyKCZzdHJlYW0sIGF0b21pY0NvdW50ZXJC
dWZmZXIpOwogICAgIH0KQEAgLTUyMjYsNyArNTI4Myw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3Jh
bTo6c2VyaWFsaXplKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIGFuZ2xlOjpNZW1vcnlCdWZmZXIg
KmJpCiAgICAgc3RyZWFtLndyaXRlSW50KG1TdGF0ZS5nZXRBdG9taWNDb3VudGVyVW5pZm9ybVJh
bmdlKCkubG93KCkpOwogICAgIHN0cmVhbS53cml0ZUludChtU3RhdGUuZ2V0QXRvbWljQ291bnRl
clVuaWZvcm1SYW5nZSgpLmhpZ2goKSk7CiAKLSAgICBzdHJlYW0ud3JpdGVJbnQobVN0YXRlLm1F
eGVjdXRhYmxlLmdldExpbmtlZFNoYWRlclN0YWdlcygpLnRvX3Vsb25nKCkpOworICAgIG1TdGF0
ZS5tRXhlY3V0YWJsZS0+c2F2ZSgmc3RyZWFtKTsKIAogICAgIG1Qcm9ncmFtLT5zYXZlKGNvbnRl
eHQsICZzdHJlYW0pOwogCkBAIC01MjcyLDI4ICs1MzI5LDIxIEBAIGFuZ2xlOjpSZXN1bHQgUHJv
Z3JhbTo6ZGVzZXJpYWxpemUoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICBtU3RhdGUubUdl
b21ldHJ5U2hhZGVySW52b2NhdGlvbnMgICAgICAgICA9IHN0cmVhbS5yZWFkSW50PGludD4oKTsK
ICAgICBtU3RhdGUubUdlb21ldHJ5U2hhZGVyTWF4VmVydGljZXMgICAgICAgICA9IHN0cmVhbS5y
ZWFkSW50PGludD4oKTsKIAotICAgIG1TdGF0ZS5tTnVtVmlld3MgPSBzdHJlYW0ucmVhZEludDxp
bnQ+KCk7Ci0KLSAgICBzdGF0aWNfYXNzZXJ0KE1BWF9WRVJURVhfQVRUUklCUyAqIDIgPD0gc2l6
ZW9mKHVpbnQzMl90KSAqIDgsCi0gICAgICAgICAgICAgICAgICAiVG9vIG1hbnkgdmVydGV4IGF0
dHJpYnMgZm9yIG1hc2s6IEFsbCBiaXRzIG9mIG1BdHRyaWJ1dGVzVHlwZU1hc2sgdHlwZXMgYW5k
ICIKLSAgICAgICAgICAgICAgICAgICJtYXNrIGZpdCBpbnRvIDMyIGJpdHMgZWFjaCIpOwotICAg
IG1TdGF0ZS5tRXhlY3V0YWJsZS5tQXR0cmlidXRlc1R5cGVNYXNrID0gZ2w6OkNvbXBvbmVudFR5
cGVNYXNrKHN0cmVhbS5yZWFkSW50PHVpbnQzMl90PigpKTsKLSAgICBtU3RhdGUubUV4ZWN1dGFi
bGUubUF0dHJpYnV0ZXNNYXNrICAgICA9IHN0cmVhbS5yZWFkSW50PGdsOjpBdHRyaWJ1dGVzTWFz
az4oKTsKLSAgICBtU3RhdGUubUV4ZWN1dGFibGUubUFjdGl2ZUF0dHJpYkxvY2F0aW9uc01hc2sg
PSBzdHJlYW0ucmVhZEludDxnbDo6QXR0cmlidXRlc01hc2s+KCk7Ci0gICAgbVN0YXRlLm1FeGVj
dXRhYmxlLm1NYXhBY3RpdmVBdHRyaWJMb2NhdGlvbiAgID0gc3RyZWFtLnJlYWRJbnQ8dW5zaWdu
ZWQgaW50PigpOworICAgIG1TdGF0ZS5tTnVtVmlld3MgICAgICAgICAgICAgICAgICAgICAgPSBz
dHJlYW0ucmVhZEludDxpbnQ+KCk7CisgICAgbVN0YXRlLm1FYXJseUZyYW1lbnRUZXN0c09wdGlt
aXphdGlvbiA9IHN0cmVhbS5yZWFkSW50PGJvb2w+KCk7CiAKICAgICB1bnNpZ25lZCBpbnQgYXR0
cmliQ291bnQgPSBzdHJlYW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7Ci0gICAgQVNTRVJUKG1T
dGF0ZS5tUHJvZ3JhbUlucHV0cy5lbXB0eSgpKTsKKyAgICBBU1NFUlQobVN0YXRlLm1FeGVjdXRh
YmxlLT5nZXRQcm9ncmFtSW5wdXRzKCkuZW1wdHkoKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpbnQg
YXR0cmliSW5kZXggPSAwOyBhdHRyaWJJbmRleCA8IGF0dHJpYkNvdW50OyArK2F0dHJpYkluZGV4
KQogICAgIHsKICAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxlIGF0dHJpYjsKICAgICAgICAgTG9h
ZFNoYWRlclZhcigmc3RyZWFtLCAmYXR0cmliKTsKICAgICAgICAgYXR0cmliLmxvY2F0aW9uID0g
c3RyZWFtLnJlYWRJbnQ8aW50PigpOwotICAgICAgICBtU3RhdGUubVByb2dyYW1JbnB1dHMucHVz
aF9iYWNrKGF0dHJpYik7CisgICAgICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+bVByb2dyYW1JbnB1
dHMucHVzaF9iYWNrKGF0dHJpYik7CiAgICAgfQogCiAgICAgdW5zaWduZWQgaW50IHVuaWZvcm1D
b3VudCA9IHN0cmVhbS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKLSAgICBBU1NFUlQobVN0YXRl
Lm1Vbmlmb3Jtcy5lbXB0eSgpKTsKKyAgICBBU1NFUlQobVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRV
bmlmb3JtcygpLmVtcHR5KCkpOwogICAgIGZvciAodW5zaWduZWQgaW50IHVuaWZvcm1JbmRleCA9
IDA7IHVuaWZvcm1JbmRleCA8IHVuaWZvcm1Db3VudDsgKyt1bmlmb3JtSW5kZXgpCiAgICAgewog
ICAgICAgICBMaW5rZWRVbmlmb3JtIHVuaWZvcm07CkBAIC01MzEyLDcgKzUzNjIsNyBAQCBhbmds
ZTo6UmVzdWx0IFByb2dyYW06OmRlc2VyaWFsaXplKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICB1bmlmb3JtLnNldEFjdGl2ZShzaGFkZXJUeXBlLCBzdHJlYW0ucmVhZEJvb2wo
KSk7CiAgICAgICAgIH0KIAotICAgICAgICBtU3RhdGUubVVuaWZvcm1zLnB1c2hfYmFjayh1bmlm
b3JtKTsKKyAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5tVW5pZm9ybXMucHVzaF9iYWNrKHVu
aWZvcm0pOwogICAgIH0KIAogICAgIGNvbnN0IHVuc2lnbmVkIGludCB1bmlmb3JtSW5kZXhDb3Vu
dCA9IHN0cmVhbS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKQEAgLTUzMjksMTMgKzUzNzksMTMg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpkZXNlcmlhbGl6ZShjb25zdCBDb250ZXh0ICpjb250
ZXh0LAogICAgIH0KIAogICAgIHVuc2lnbmVkIGludCB1bmlmb3JtQmxvY2tDb3VudCA9IHN0cmVh
bS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKLSAgICBBU1NFUlQobVN0YXRlLm1Vbmlmb3JtQmxv
Y2tzLmVtcHR5KCkpOworICAgIEFTU0VSVChtU3RhdGUubUV4ZWN1dGFibGUtPmdldFVuaWZvcm1C
bG9ja3MoKS5lbXB0eSgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGludCB1bmlmb3JtQmxvY2tJbmRl
eCA9IDA7IHVuaWZvcm1CbG9ja0luZGV4IDwgdW5pZm9ybUJsb2NrQ291bnQ7CiAgICAgICAgICAr
K3VuaWZvcm1CbG9ja0luZGV4KQogICAgIHsKICAgICAgICAgSW50ZXJmYWNlQmxvY2sgdW5pZm9y
bUJsb2NrOwogICAgICAgICBMb2FkSW50ZXJmYWNlQmxvY2soJnN0cmVhbSwgJnVuaWZvcm1CbG9j
ayk7Ci0gICAgICAgIG1TdGF0ZS5tVW5pZm9ybUJsb2Nrcy5wdXNoX2JhY2sodW5pZm9ybUJsb2Nr
KTsKKyAgICAgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5tVW5pZm9ybUJsb2Nrcy5wdXNoX2JhY2so
dW5pZm9ybUJsb2NrKTsKIAogICAgICAgICBtU3RhdGUubUFjdGl2ZVVuaWZvcm1CbG9ja0JpbmRp
bmdzLnNldCh1bmlmb3JtQmxvY2tJbmRleCwgdW5pZm9ybUJsb2NrLmJpbmRpbmcgIT0gMCk7CiAg
ICAgfQpAQCAtNTM1MCwyMyArNTQwMCwyMyBAQCBhbmdsZTo6UmVzdWx0IFByb2dyYW06OmRlc2Vy
aWFsaXplKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgfQogCiAgICAgdW5zaWduZWQgaW50
IHNoYWRlclN0b3JhZ2VCbG9ja0NvdW50ID0gc3RyZWFtLnJlYWRJbnQ8dW5zaWduZWQgaW50Pigp
OwotICAgIEFTU0VSVChtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3MuZW1wdHkoKSk7CisgICAg
QVNTRVJUKG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0U2hhZGVyU3RvcmFnZUJsb2NrcygpLmVtcHR5
KCkpOwogICAgIGZvciAodW5zaWduZWQgaW50IHNoYWRlclN0b3JhZ2VCbG9ja0luZGV4ID0gMDsK
ICAgICAgICAgIHNoYWRlclN0b3JhZ2VCbG9ja0luZGV4IDwgc2hhZGVyU3RvcmFnZUJsb2NrQ291
bnQ7ICsrc2hhZGVyU3RvcmFnZUJsb2NrSW5kZXgpCiAgICAgewogICAgICAgICBJbnRlcmZhY2VC
bG9jayBzaGFkZXJTdG9yYWdlQmxvY2s7CiAgICAgICAgIExvYWRJbnRlcmZhY2VCbG9jaygmc3Ry
ZWFtLCAmc2hhZGVyU3RvcmFnZUJsb2NrKTsKLSAgICAgICAgbVN0YXRlLm1TaGFkZXJTdG9yYWdl
QmxvY2tzLnB1c2hfYmFjayhzaGFkZXJTdG9yYWdlQmxvY2spOworICAgICAgICBtU3RhdGUubUV4
ZWN1dGFibGUtPm1TaGFkZXJTdG9yYWdlQmxvY2tzLnB1c2hfYmFjayhzaGFkZXJTdG9yYWdlQmxv
Y2spOwogICAgIH0KIAogICAgIHVuc2lnbmVkIGludCBhdG9taWNDb3VudGVyQnVmZmVyQ291bnQg
PSBzdHJlYW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7Ci0gICAgQVNTRVJUKG1TdGF0ZS5tQXRv
bWljQ291bnRlckJ1ZmZlcnMuZW1wdHkoKSk7CisgICAgQVNTRVJUKG1TdGF0ZS5tRXhlY3V0YWJs
ZS0+Z2V0QXRvbWljQ291bnRlckJ1ZmZlcnMoKS5lbXB0eSgpKTsKICAgICBmb3IgKHVuc2lnbmVk
IGludCBidWZmZXJJbmRleCA9IDA7IGJ1ZmZlckluZGV4IDwgYXRvbWljQ291bnRlckJ1ZmZlckNv
dW50OyArK2J1ZmZlckluZGV4KQogICAgIHsKICAgICAgICAgQXRvbWljQ291bnRlckJ1ZmZlciBh
dG9taWNDb3VudGVyQnVmZmVyOwogICAgICAgICBMb2FkU2hhZGVyVmFyaWFibGVCdWZmZXIoJnN0
cmVhbSwgJmF0b21pY0NvdW50ZXJCdWZmZXIpOwogCi0gICAgICAgIG1TdGF0ZS5tQXRvbWljQ291
bnRlckJ1ZmZlcnMucHVzaF9iYWNrKGF0b21pY0NvdW50ZXJCdWZmZXIpOworICAgICAgICBtU3Rh
dGUubUV4ZWN1dGFibGUtPm1BdG9taWNDb3VudGVyQnVmZmVycy5wdXNoX2JhY2soYXRvbWljQ291
bnRlckJ1ZmZlcik7CiAgICAgfQogCiAgICAgdW5zaWduZWQgaW50IHRyYW5zZm9ybUZlZWRiYWNr
VmFyeWluZ0NvdW50ID0gc3RyZWFtLnJlYWRJbnQ8dW5zaWduZWQgaW50PigpOwpAQCAtNTM3OSw3
ICs1NDI5LDcgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtOjpkZXNlcmlhbGl6ZShjb25zdCBDb250
ZXh0ICpjb250ZXh0LAogICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6SW5jb21wbGV0ZTsK
ICAgICB9CiAKLSAgICBBU1NFUlQobVN0YXRlLm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1Zhcnlp
bmdzLmVtcHR5KCkpOworICAgIEFTU0VSVChtU3RhdGUubUV4ZWN1dGFibGUtPm1MaW5rZWRUcmFu
c2Zvcm1GZWVkYmFja1ZhcnlpbmdzLmVtcHR5KCkpOwogICAgIGZvciAodW5zaWduZWQgaW50IHRy
YW5zZm9ybUZlZWRiYWNrVmFyeWluZ0luZGV4ID0gMDsKICAgICAgICAgIHRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZ0luZGV4IDwgdHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nQ291bnQ7CiAgICAgICAg
ICArK3RyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ0luZGV4KQpAQCAtNTM5MSwzMSArNTQ0MSwzMSBA
QCBhbmdsZTo6UmVzdWx0IFByb2dyYW06OmRlc2VyaWFsaXplKGNvbnN0IENvbnRleHQgKmNvbnRl
eHQsCiAKICAgICAgICAgR0x1aW50IGFycmF5SW5kZXggPSBzdHJlYW0ucmVhZEludDxHTHVpbnQ+
KCk7CiAKLSAgICAgICAgbVN0YXRlLm1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzLmVt
cGxhY2VfYmFjayh2YXJ5aW5nLCBhcnJheUluZGV4KTsKKyAgICAgICAgbVN0YXRlLm1FeGVjdXRh
YmxlLT5tTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncy5lbXBsYWNlX2JhY2sodmFyeWlu
ZywgYXJyYXlJbmRleCk7CiAgICAgfQogCi0gICAgc3RyZWFtLnJlYWRJbnQoJm1TdGF0ZS5tVHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKTsKKyAgICBzdHJlYW0ucmVhZEludCgmbVN0YXRlLm1F
eGVjdXRhYmxlLT5tVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlKTsKIAogICAgIHVuc2lnbmVk
IGludCBvdXRwdXRDb3VudCA9IHN0cmVhbS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKLSAgICBB
U1NFUlQobVN0YXRlLm1PdXRwdXRWYXJpYWJsZXMuZW1wdHkoKSk7CisgICAgQVNTRVJUKG1TdGF0
ZS5tRXhlY3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVzKCkuZW1wdHkoKSk7CiAgICAgZm9yICh1
bnNpZ25lZCBpbnQgb3V0cHV0SW5kZXggPSAwOyBvdXRwdXRJbmRleCA8IG91dHB1dENvdW50OyAr
K291dHB1dEluZGV4KQogICAgIHsKICAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxlIG91dHB1dDsK
ICAgICAgICAgTG9hZFNoYWRlclZhcigmc3RyZWFtLCAmb3V0cHV0KTsKICAgICAgICAgb3V0cHV0
LmxvY2F0aW9uID0gc3RyZWFtLnJlYWRJbnQ8aW50PigpOwogICAgICAgICBvdXRwdXQuaW5kZXgg
ICAgPSBzdHJlYW0ucmVhZEludDxpbnQ+KCk7Ci0gICAgICAgIG1TdGF0ZS5tT3V0cHV0VmFyaWFi
bGVzLnB1c2hfYmFjayhvdXRwdXQpOworICAgICAgICBtU3RhdGUubUV4ZWN1dGFibGUtPm1PdXRw
dXRWYXJpYWJsZXMucHVzaF9iYWNrKG91dHB1dCk7CiAgICAgfQogCiAgICAgdW5zaWduZWQgaW50
IG91dHB1dFZhckNvdW50ID0gc3RyZWFtLnJlYWRJbnQ8dW5zaWduZWQgaW50PigpOwotICAgIEFT
U0VSVChtU3RhdGUubU91dHB1dExvY2F0aW9ucy5lbXB0eSgpKTsKKyAgICBBU1NFUlQobVN0YXRl
Lm1FeGVjdXRhYmxlLT5nZXRPdXRwdXRMb2NhdGlvbnMoKS5lbXB0eSgpKTsKICAgICBmb3IgKHVu
c2lnbmVkIGludCBvdXRwdXRJbmRleCA9IDA7IG91dHB1dEluZGV4IDwgb3V0cHV0VmFyQ291bnQ7
ICsrb3V0cHV0SW5kZXgpCiAgICAgewogICAgICAgICBWYXJpYWJsZUxvY2F0aW9uIGxvY2F0aW9u
RGF0YTsKICAgICAgICAgc3RyZWFtLnJlYWRJbnQoJmxvY2F0aW9uRGF0YS5hcnJheUluZGV4KTsK
ICAgICAgICAgc3RyZWFtLnJlYWRJbnQoJmxvY2F0aW9uRGF0YS5pbmRleCk7CiAgICAgICAgIHN0
cmVhbS5yZWFkQm9vbCgmbG9jYXRpb25EYXRhLmlnbm9yZWQpOwotICAgICAgICBtU3RhdGUubU91
dHB1dExvY2F0aW9ucy5wdXNoX2JhY2sobG9jYXRpb25EYXRhKTsKKyAgICAgICAgbVN0YXRlLm1F
eGVjdXRhYmxlLT5tT3V0cHV0TG9jYXRpb25zLnB1c2hfYmFjayhsb2NhdGlvbkRhdGEpOwogICAg
IH0KIAogICAgIHVuc2lnbmVkIGludCBzZWNvbmRhcnlPdXRwdXRWYXJDb3VudCA9IHN0cmVhbS5y
ZWFkSW50PHVuc2lnbmVkIGludD4oKTsKQEAgLTU0NDUsMTAgKzU0OTUsMTAgQEAgYW5nbGU6OlJl
c3VsdCBQcm9ncmFtOjpkZXNlcmlhbGl6ZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgIHVu
c2lnbmVkIGludCBkZWZhdWx0VW5pZm9ybVJhbmdlSGlnaCA9IHN0cmVhbS5yZWFkSW50PHVuc2ln
bmVkIGludD4oKTsKICAgICBtU3RhdGUubURlZmF1bHRVbmlmb3JtUmFuZ2UgICAgICAgICAgPSBS
YW5nZVVJKGRlZmF1bHRVbmlmb3JtUmFuZ2VMb3csIGRlZmF1bHRVbmlmb3JtUmFuZ2VIaWdoKTsK
IAotICAgIHVuc2lnbmVkIGludCBzYW1wbGVyUmFuZ2VMb3cgID0gc3RyZWFtLnJlYWRJbnQ8dW5z
aWduZWQgaW50PigpOwotICAgIHVuc2lnbmVkIGludCBzYW1wbGVyUmFuZ2VIaWdoID0gc3RyZWFt
LnJlYWRJbnQ8dW5zaWduZWQgaW50PigpOwotICAgIG1TdGF0ZS5tU2FtcGxlclVuaWZvcm1SYW5n
ZSAgID0gUmFuZ2VVSShzYW1wbGVyUmFuZ2VMb3csIHNhbXBsZXJSYW5nZUhpZ2gpOwotICAgIHVu
c2lnbmVkIGludCBzYW1wbGVyQ291bnQgICAgID0gc3RyZWFtLnJlYWRJbnQ8dW5zaWduZWQgaW50
PigpOworICAgIHVuc2lnbmVkIGludCBzYW1wbGVyUmFuZ2VMb3cgICAgICAgICAgICAgPSBzdHJl
YW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7CisgICAgdW5zaWduZWQgaW50IHNhbXBsZXJSYW5n
ZUhpZ2ggICAgICAgICAgICA9IHN0cmVhbS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKKyAgICBt
U3RhdGUubUV4ZWN1dGFibGUtPm1TYW1wbGVyVW5pZm9ybVJhbmdlID0gUmFuZ2VVSShzYW1wbGVy
UmFuZ2VMb3csIHNhbXBsZXJSYW5nZUhpZ2gpOworICAgIHVuc2lnbmVkIGludCBzYW1wbGVyQ291
bnQgICAgICAgICAgICAgICAgPSBzdHJlYW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpbnQgc2FtcGxlckluZGV4ID0gMDsgc2FtcGxlckluZGV4IDwgc2FtcGxl
ckNvdW50OyArK3NhbXBsZXJJbmRleCkKICAgICB7CiAgICAgICAgIFRleHR1cmVUeXBlIHRleHR1
cmVUeXBlID0gc3RyZWFtLnJlYWRFbnVtPFRleHR1cmVUeXBlPigpOwpAQCAtNTQ1OCwxMCArNTUw
OCwxMCBAQCBhbmdsZTo6UmVzdWx0IFByb2dyYW06OmRlc2VyaWFsaXplKGNvbnN0IENvbnRleHQg
KmNvbnRleHQsCiAgICAgICAgIG1TdGF0ZS5tU2FtcGxlckJpbmRpbmdzLmVtcGxhY2VfYmFjayh0
ZXh0dXJlVHlwZSwgZm9ybWF0LCBiaW5kaW5nQ291bnQsIHVucmVmZXJlbmNlZCk7CiAgICAgfQog
Ci0gICAgdW5zaWduZWQgaW50IGltYWdlUmFuZ2VMb3cgICAgID0gc3RyZWFtLnJlYWRJbnQ8dW5z
aWduZWQgaW50PigpOwotICAgIHVuc2lnbmVkIGludCBpbWFnZVJhbmdlSGlnaCAgICA9IHN0cmVh
bS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKLSAgICBtU3RhdGUubUltYWdlVW5pZm9ybVJhbmdl
ICAgICAgPSBSYW5nZVVJKGltYWdlUmFuZ2VMb3csIGltYWdlUmFuZ2VIaWdoKTsKLSAgICB1bnNp
Z25lZCBpbnQgaW1hZ2VCaW5kaW5nQ291bnQgPSBzdHJlYW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+
KCk7CisgICAgdW5zaWduZWQgaW50IGltYWdlUmFuZ2VMb3cgICAgICAgICAgICAgPSBzdHJlYW0u
cmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7CisgICAgdW5zaWduZWQgaW50IGltYWdlUmFuZ2VIaWdo
ICAgICAgICAgICAgPSBzdHJlYW0ucmVhZEludDx1bnNpZ25lZCBpbnQ+KCk7CisgICAgbVN0YXRl
Lm1FeGVjdXRhYmxlLT5tSW1hZ2VVbmlmb3JtUmFuZ2UgPSBSYW5nZVVJKGltYWdlUmFuZ2VMb3cs
IGltYWdlUmFuZ2VIaWdoKTsKKyAgICB1bnNpZ25lZCBpbnQgaW1hZ2VCaW5kaW5nQ291bnQgICAg
ICAgICA9IHN0cmVhbS5yZWFkSW50PHVuc2lnbmVkIGludD4oKTsKICAgICBmb3IgKHVuc2lnbmVk
IGludCBpbWFnZUluZGV4ID0gMDsgaW1hZ2VJbmRleCA8IGltYWdlQmluZGluZ0NvdW50OyArK2lt
YWdlSW5kZXgpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBpbnQgZWxlbWVudENvdW50ID0gc3Ry
ZWFtLnJlYWRJbnQ8dW5zaWduZWQgaW50PigpOwpAQCAtNTQ3OSwxNCArNTUyOSwxNiBAQCBhbmds
ZTo6UmVzdWx0IFByb2dyYW06OmRlc2VyaWFsaXplKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAK
ICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KFNoYWRlclR5cGU6
OkVudW1Db3VudCkgPD0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCwKICAgICAgICAgICAgICAg
ICAgICJUb28gbWFueSBzaGFkZXIgdHlwZXMiKTsKLSAgICBtU3RhdGUubUV4ZWN1dGFibGUuZ2V0
TGlua2VkU2hhZGVyU3RhZ2VzKCkgPSBTaGFkZXJCaXRTZXQoc3RyZWFtLnJlYWRJbnQ8dWludDhf
dD4oKSk7CiAKICAgICBpZiAoIW1TdGF0ZS5tQXR0YWNoZWRTaGFkZXJzW1NoYWRlclR5cGU6OkNv
bXB1dGVdKQogICAgIHsKICAgICAgICAgbVN0YXRlLnVwZGF0ZVRyYW5zZm9ybUZlZWRiYWNrU3Ry
aWRlcygpOwogICAgIH0KIAorICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+bG9hZCgmc3RyZWFtKTsK
KwogICAgIHBvc3RSZXNvbHZlTGluayhjb250ZXh0KTsKKyAgICBtU3RhdGUubUV4ZWN1dGFibGUt
PnVwZGF0ZUNhbkRyYXdXaXRoKCk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
UHJvZ3JhbS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Byb2dyYW0u
aAppbmRleCA1YjY5ODA3MmEyZGJjMTg4ZTY0OTAxM2ZiZTc3NjBmMzU1YmUyMWIwLi5lZGIyZTdi
NDc3Y2Y5NDI0OTUyNDExYTgzZjA5OGEyNWQ3MjM4NjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Qcm9ncmFtLmgKQEAgLTUxLDYgKzUxLDcgQEAgc3RydWN0
IENhcHM7CiBjbGFzcyBDb250ZXh0Owogc3RydWN0IEV4dGVuc2lvbnM7CiBjbGFzcyBGcmFtZWJ1
ZmZlcjsKK2NsYXNzIFByb2dyYW1FeGVjdXRhYmxlOwogY2xhc3MgU2hhZGVyOwogY2xhc3MgU2hh
ZGVyUHJvZ3JhbU1hbmFnZXI7CiBjbGFzcyBTdGF0ZTsKQEAgLTE1MSw0NSArMTUyLDYgQEAgc3Ry
dWN0IEJpbmRpbmdJbmZvCiAgICAgYm9vbCB2YWxpZDsKIH07CiAKLS8vIEEgdmFyeWluZyB3aXRo
IHRyYW5mb3JtIGZlZWRiYWNrIGVuYWJsZWQuIElmIGl0J3MgYW4gYXJyYXksIGVpdGhlciB0aGUg
d2hvbGUgYXJyYXkgb3Igb25lIG9mIGl0cwotLy8gZWxlbWVudHMgc3BlY2lmaWVkIGJ5ICdhcnJh
eUluZGV4JyBjYW4gc2V0IHRvIGJlIGVuYWJsZWQuCi1zdHJ1Y3QgVHJhbnNmb3JtRmVlZGJhY2tW
YXJ5aW5nIDogcHVibGljIHNoOjpTaGFkZXJWYXJpYWJsZQotewotICAgIFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZyhjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJnZhcnlpbmdJbiwgR0x1aW50IGFy
cmF5SW5kZXhJbikKLSAgICAgICAgOiBzaDo6U2hhZGVyVmFyaWFibGUodmFyeWluZ0luKSwgYXJy
YXlJbmRleChhcnJheUluZGV4SW4pCi0gICAgewotICAgICAgICBBU1NFUlQoIWlzQXJyYXlPZkFy
cmF5cygpKTsKLSAgICB9Ci0KLSAgICBUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmcoY29uc3Qgc2g6
OlNoYWRlclZhcmlhYmxlICZmaWVsZCwgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZwYXJlbnQp
Ci0gICAgICAgIDogYXJyYXlJbmRleChHTF9JTlZBTElEX0lOREVYKQotICAgIHsKLSAgICAgICAg
c2g6OlNoYWRlclZhcmlhYmxlICp0aGlzVmFyID0gdGhpczsKLSAgICAgICAgKnRoaXNWYXIgICAg
ICAgICAgICAgICAgICAgID0gZmllbGQ7Ci0gICAgICAgIGludGVycG9sYXRpb24gICAgICAgICAg
ICAgICA9IHBhcmVudC5pbnRlcnBvbGF0aW9uOwotICAgICAgICBpc0ludmFyaWFudCAgICAgICAg
ICAgICAgICAgPSBwYXJlbnQuaXNJbnZhcmlhbnQ7Ci0gICAgICAgIG5hbWUgICAgICAgICAgICAg
ICAgICAgICAgICA9IHBhcmVudC5uYW1lICsgIi4iICsgbmFtZTsKLSAgICAgICAgbWFwcGVkTmFt
ZSAgICAgICAgICAgICAgICAgID0gcGFyZW50Lm1hcHBlZE5hbWUgKyAiLiIgKyBtYXBwZWROYW1l
OwotICAgIH0KLQotICAgIHN0ZDo6c3RyaW5nIG5hbWVXaXRoQXJyYXlJbmRleCgpIGNvbnN0Ci0g
ICAgewotICAgICAgICBzdGQ6OnN0cmluZ3N0cmVhbSBmdWxsTmFtZVN0cjsKLSAgICAgICAgZnVs
bE5hbWVTdHIgPDwgbmFtZTsKLSAgICAgICAgaWYgKGFycmF5SW5kZXggIT0gR0xfSU5WQUxJRF9J
TkRFWCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVsbE5hbWVTdHIgPDwgIlsiIDw8IGFycmF5
SW5kZXggPDwgIl0iOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBmdWxsTmFtZVN0ci5zdHIo
KTsKLSAgICB9Ci0gICAgR0xzaXplaSBzaXplKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVy
biAoaXNBcnJheSgpICYmIGFycmF5SW5kZXggPT0gR0xfSU5WQUxJRF9JTkRFWCA/IGdldE91dGVy
bW9zdEFycmF5U2l6ZSgpIDogMSk7Ci0gICAgfQotCi0gICAgR0x1aW50IGFycmF5SW5kZXg7Ci19
OwotCiBzdHJ1Y3QgUHJvZ3JhbUJpbmRpbmcKIHsKICAgICBQcm9ncmFtQmluZGluZygpIDogbG9j
YXRpb24oR0xfSU5WQUxJRF9JTkRFWCksIGFsaWFzZWQoZmFsc2UpIHt9CkBAIC0yNTIsNjEgKzIx
NCw3MiBAQCBjbGFzcyBQcm9ncmFtU3RhdGUgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAg
ICB7CiAgICAgICAgIHJldHVybiBtVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nTmFtZXM7CiAgICAg
fQotICAgIEdMaW50IGdldFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyTW9kZSgpIGNvbnN0IHsgcmV0
dXJuIG1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGU7IH0KKyAgICBHTGludCBnZXRUcmFuc2Zv
cm1GZWVkYmFja0J1ZmZlck1vZGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1FeGVj
dXRhYmxlLT5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKTsKKyAgICB9CiAgICAgR0x1
aW50IGdldFVuaWZvcm1CbG9ja0JpbmRpbmcoR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4KSBjb25z
dAogICAgIHsKLSAgICAgICAgQVNTRVJUKHVuaWZvcm1CbG9ja0luZGV4IDwgbVVuaWZvcm1CbG9j
a3Muc2l6ZSgpKTsKLSAgICAgICAgcmV0dXJuIG1Vbmlmb3JtQmxvY2tzW3VuaWZvcm1CbG9ja0lu
ZGV4XS5iaW5kaW5nOworICAgICAgICByZXR1cm4gbUV4ZWN1dGFibGUtPmdldFVuaWZvcm1CbG9j
a0JpbmRpbmcodW5pZm9ybUJsb2NrSW5kZXgpOwogICAgIH0KICAgICBHTHVpbnQgZ2V0U2hhZGVy
U3RvcmFnZUJsb2NrQmluZGluZyhHTHVpbnQgYmxvY2tJbmRleCkgY29uc3QKICAgICB7Ci0gICAg
ICAgIEFTU0VSVChibG9ja0luZGV4IDwgbVNoYWRlclN0b3JhZ2VCbG9ja3Muc2l6ZSgpKTsKLSAg
ICAgICAgcmV0dXJuIG1TaGFkZXJTdG9yYWdlQmxvY2tzW2Jsb2NrSW5kZXhdLmJpbmRpbmc7Cisg
ICAgICAgIHJldHVybiBtRXhlY3V0YWJsZS0+Z2V0U2hhZGVyU3RvcmFnZUJsb2NrQmluZGluZyhi
bG9ja0luZGV4KTsKICAgICB9CiAgICAgY29uc3QgVW5pZm9ybUJsb2NrQmluZGluZ01hc2sgJmdl
dEFjdGl2ZVVuaWZvcm1CbG9ja0JpbmRpbmdzTWFzaygpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gbUFjdGl2ZVVuaWZvcm1CbG9ja0JpbmRpbmdzOwogICAgIH0KLSAgICBjb25zdCBzdGQ6
OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZnZXRQcm9ncmFtSW5wdXRzKCkgY29uc3QgeyBy
ZXR1cm4gbVByb2dyYW1JbnB1dHM7IH0KKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVy
VmFyaWFibGU+ICZnZXRQcm9ncmFtSW5wdXRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtRXhlY3V0YWJsZS0+Z2V0UHJvZ3JhbUlucHV0cygpOworICAgIH0KICAgICBEcmF3QnVmZmVy
TWFzayBnZXRBY3RpdmVPdXRwdXRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBtQWN0aXZlT3V0
cHV0VmFyaWFibGVzOyB9Ci0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxl
PiAmZ2V0T3V0cHV0VmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gbU91dHB1dFZhcmlhYmxlczsg
fQotICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFZhcmlhYmxlTG9jYXRpb24+ICZnZXRPdXRwdXRMb2Nh
dGlvbnMoKSBjb25zdCB7IHJldHVybiBtT3V0cHV0TG9jYXRpb25zOyB9CisgICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmZ2V0T3V0cHV0VmFyaWFibGVzKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtRXhlY3V0YWJsZS0+Z2V0T3V0cHV0VmFyaWFibGVzKCk7
CisgICAgfQorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFZhcmlhYmxlTG9jYXRpb24+ICZnZXRPdXRw
dXRMb2NhdGlvbnMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1FeGVjdXRhYmxlLT5n
ZXRPdXRwdXRMb2NhdGlvbnMoKTsKKyAgICB9CiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8VmFyaWFi
bGVMb2NhdGlvbj4gJmdldFNlY29uZGFyeU91dHB1dExvY2F0aW9ucygpIGNvbnN0CiAgICAgewog
ICAgICAgICByZXR1cm4gbVNlY29uZGFyeU91dHB1dExvY2F0aW9uczsKICAgICB9Ci0gICAgY29u
c3Qgc3RkOjp2ZWN0b3I8TGlua2VkVW5pZm9ybT4gJmdldFVuaWZvcm1zKCkgY29uc3QgeyByZXR1
cm4gbVVuaWZvcm1zOyB9CisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8TGlua2VkVW5pZm9ybT4gJmdl
dFVuaWZvcm1zKCkgY29uc3QgeyByZXR1cm4gbUV4ZWN1dGFibGUtPmdldFVuaWZvcm1zKCk7IH0K
ICAgICBjb25zdCBzdGQ6OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9uPiAmZ2V0VW5pZm9ybUxvY2F0
aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1Vbmlmb3JtTG9jYXRpb25zOyB9Ci0gICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8SW50ZXJmYWNlQmxvY2s+ICZnZXRVbmlmb3JtQmxvY2tzKCkgY29uc3QgeyByZXR1
cm4gbVVuaWZvcm1CbG9ja3M7IH0KKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxJbnRlcmZhY2VCbG9j
az4gJmdldFVuaWZvcm1CbG9ja3MoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1FeGVj
dXRhYmxlLT5nZXRVbmlmb3JtQmxvY2tzKCk7CisgICAgfQogICAgIGNvbnN0IHN0ZDo6dmVjdG9y
PEludGVyZmFjZUJsb2NrPiAmZ2V0U2hhZGVyU3RvcmFnZUJsb2NrcygpIGNvbnN0CiAgICAgewot
ICAgICAgICByZXR1cm4gbVNoYWRlclN0b3JhZ2VCbG9ja3M7CisgICAgICAgIHJldHVybiBtRXhl
Y3V0YWJsZS0+Z2V0U2hhZGVyU3RvcmFnZUJsb2NrcygpOwogICAgIH0KICAgICBjb25zdCBzdGQ6
OnZlY3RvcjxCdWZmZXJWYXJpYWJsZT4gJmdldEJ1ZmZlclZhcmlhYmxlcygpIGNvbnN0IHsgcmV0
dXJuIG1CdWZmZXJWYXJpYWJsZXM7IH0KICAgICBjb25zdCBzdGQ6OnZlY3RvcjxTYW1wbGVyQmlu
ZGluZz4gJmdldFNhbXBsZXJCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1TYW1wbGVyQmluZGlu
Z3M7IH0KICAgICBjb25zdCBzdGQ6OnZlY3RvcjxJbWFnZUJpbmRpbmc+ICZnZXRJbWFnZUJpbmRp
bmdzKCkgY29uc3QgeyByZXR1cm4gbUltYWdlQmluZGluZ3M7IH0KICAgICBjb25zdCBzaDo6V29y
a0dyb3VwU2l6ZSAmZ2V0Q29tcHV0ZVNoYWRlckxvY2FsU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1D
b21wdXRlU2hhZGVyTG9jYWxTaXplOyB9CiAgICAgY29uc3QgUmFuZ2VVSSAmZ2V0RGVmYXVsdFVu
aWZvcm1SYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1EZWZhdWx0VW5pZm9ybVJhbmdlOyB9Ci0gICAg
Y29uc3QgUmFuZ2VVSSAmZ2V0U2FtcGxlclVuaWZvcm1SYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1T
YW1wbGVyVW5pZm9ybVJhbmdlOyB9Ci0gICAgY29uc3QgUmFuZ2VVSSAmZ2V0SW1hZ2VVbmlmb3Jt
UmFuZ2UoKSBjb25zdCB7IHJldHVybiBtSW1hZ2VVbmlmb3JtUmFuZ2U7IH0KKyAgICBjb25zdCBS
YW5nZVVJICZnZXRTYW1wbGVyVW5pZm9ybVJhbmdlKCkgY29uc3QgeyByZXR1cm4gbUV4ZWN1dGFi
bGUtPmdldFNhbXBsZXJVbmlmb3JtUmFuZ2UoKTsgfQorICAgIGNvbnN0IFJhbmdlVUkgJmdldElt
YWdlVW5pZm9ybVJhbmdlKCkgY29uc3QgeyByZXR1cm4gbUV4ZWN1dGFibGUtPmdldEltYWdlVW5p
Zm9ybVJhbmdlKCk7IH0KICAgICBjb25zdCBSYW5nZVVJICZnZXRBdG9taWNDb3VudGVyVW5pZm9y
bVJhbmdlKCkgY29uc3QgeyByZXR1cm4gbUF0b21pY0NvdW50ZXJVbmlmb3JtUmFuZ2U7IH0KIAog
ICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZz4gJmdldExpbmtl
ZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJu
IG1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzOworICAgICAgICByZXR1cm4gbUV4ZWN1
dGFibGUtPmdldExpbmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoKTsKICAgICB9CiAgICAg
Y29uc3Qgc3RkOjp2ZWN0b3I8R0xzaXplaT4gJmdldFRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlcygp
IGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbVRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlczsK
KyAgICAgICAgcmV0dXJuIG1FeGVjdXRhYmxlLT5nZXRUcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXMo
KTsKICAgICB9CiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8QXRvbWljQ291bnRlckJ1ZmZlcj4gJmdl
dEF0b21pY0NvdW50ZXJCdWZmZXJzKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtQXRv
bWljQ291bnRlckJ1ZmZlcnM7CisgICAgICAgIHJldHVybiBtRXhlY3V0YWJsZS0+Z2V0QXRvbWlj
Q291bnRlckJ1ZmZlcnMoKTsKICAgICB9CiAKICAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIHVu
aWZvcm0gYW5kIHN0b3JhZ2UgYnVmZmVyIGRlY2xhcmF0aW9ucywgY291bnRpbmcgYXJyYXlzIGFz
IG9uZS4KLSAgICBzaXplX3QgZ2V0VW5pcXVlVW5pZm9ybUJsb2NrQ291bnQoKSBjb25zdDsKLSAg
ICBzaXplX3QgZ2V0VW5pcXVlU3RvcmFnZUJsb2NrQ291bnQoKSBjb25zdDsKICAgICBzaXplX3Qg
Z2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3VudCgpIGNvbnN0OwogCiAgICAgR0x1aW50IGdl
dFVuaWZvcm1JbmRleEZyb21OYW1lKGNvbnN0IHN0ZDo6c3RyaW5nICZuYW1lKSBjb25zdDsKQEAg
LTMzNSw4ICszMDgsMTYgQEAgY2xhc3MgUHJvZ3JhbVN0YXRlIGZpbmFsIDogYW5nbGU6Ok5vbkNv
cHlhYmxlCiAgICAgICAgIHJldHVybiBtVW5pZm9ybUxvY2F0aW9uQmluZGluZ3M7CiAgICAgfQog
Ci0gICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGUgJmdldFByb2dyYW1FeGVjdXRhYmxlKCkgY29u
c3QgeyByZXR1cm4gbUV4ZWN1dGFibGU7IH0KLSAgICBQcm9ncmFtRXhlY3V0YWJsZSAmZ2V0UHJv
Z3JhbUV4ZWN1dGFibGUoKSB7IHJldHVybiBtRXhlY3V0YWJsZTsgfQorICAgIGNvbnN0IFByb2dy
YW1FeGVjdXRhYmxlICZnZXRFeGVjdXRhYmxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VS
VChtRXhlY3V0YWJsZSk7CisgICAgICAgIHJldHVybiAqbUV4ZWN1dGFibGU7CisgICAgfQorICAg
IFByb2dyYW1FeGVjdXRhYmxlICZnZXRFeGVjdXRhYmxlKCkKKyAgICB7CisgICAgICAgIEFTU0VS
VChtRXhlY3V0YWJsZSk7CisgICAgICAgIHJldHVybiAqbUV4ZWN1dGFibGU7CisgICAgfQogCiAg
ICAgYm9vbCBoYXNEZWZhdWx0VW5pZm9ybXMoKSBjb25zdCB7IHJldHVybiAhZ2V0RGVmYXVsdFVu
aWZvcm1SYW5nZSgpLmVtcHR5KCk7IH0KICAgICBib29sIGhhc1RleHR1cmVzKCkgY29uc3QgeyBy
ZXR1cm4gIWdldFNhbXBsZXJCaW5kaW5ncygpLmVtcHR5KCk7IH0KQEAgLTM0OCw2ICszMjksMTYg
QEAgY2xhc3MgUHJvZ3JhbVN0YXRlIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgewog
ICAgICAgICByZXR1cm4gIWdldExpbmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoKS5lbXB0
eSgpOwogICAgIH0KKyAgICBib29sIGhhc0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1FYXJseUZyYW1lbnRUZXN0c09wdGltaXphdGlvbjsgfQorCisgICAg
Ym9vbCBpc1NoYWRlck1hcmtlZEZvckRldGFjaChnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1BdHRhY2hlZFNoYWRlcnNNYXJrZWRGb3JEZXRh
Y2hbc2hhZGVyVHlwZV07CisgICAgfQorCisgICAgLy8gQSBQcm9ncmFtIGNhbiBvbmx5IGVpdGhl
ciBiZSBncmFwaGljcyBvciBjb21wdXRlLCBidXQgbmV2ZXIgYm90aCwgc28gaXQKKyAgICAvLyBj
YW4gYW5zd2VyIGlzQ29tcHV0ZSgpIGJhc2VkIG9uIHdoaWNoIHNoYWRlcnMgaXQgaGFzLgorICAg
IGJvb2wgaXNDb21wdXRlKCkgY29uc3QgeyByZXR1cm4gbUV4ZWN1dGFibGUtPmhhc0xpbmtlZFNo
YWRlclN0YWdlKFNoYWRlclR5cGU6OkNvbXB1dGUpOyB9CiAKICAgcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgTWVtb3J5UHJvZ3JhbUNhY2hlOwpAQCAtMzY3LDM5ICszNTgsMTcgQEAgY2xhc3Mg
UHJvZ3JhbVN0YXRlIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgc2g6OldvcmtHcm91
cFNpemUgbUNvbXB1dGVTaGFkZXJMb2NhbFNpemU7CiAKICAgICBTaGFkZXJNYXA8U2hhZGVyICo+
IG1BdHRhY2hlZFNoYWRlcnM7CisgICAgU2hhZGVyTWFwPGJvb2w+IG1BdHRhY2hlZFNoYWRlcnNN
YXJrZWRGb3JEZXRhY2g7CiAKICAgICB1aW50MzJfdCBtTG9jYXRpb25zVXNlZEZvclhmYkV4dGVu
c2lvbjsKICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gbVRyYW5zZm9ybUZlZWRiYWNrVmFy
eWluZ05hbWVzOwotICAgIHN0ZDo6dmVjdG9yPFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZz4gbUxp
bmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3M7Ci0gICAgR0xlbnVtIG1UcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlck1vZGU7CiAKICAgICAvLyBGb3IgZmFzdGVyIGl0ZXJhdGlvbiBvbiB0aGUgYmxv
Y2tzIGN1cnJlbnRseSBiZWluZyBib3VuZC4KICAgICBVbmlmb3JtQmxvY2tCaW5kaW5nTWFzayBt
QWN0aXZlVW5pZm9ybUJsb2NrQmluZGluZ3M7CiAKLSAgICAvLyBWZXJ0ZXggYXR0cmlidXRlcywg
RnJhZ21lbnQgaW5wdXQgdmFyeWluZ3MsIGV0Yy4KLSAgICBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVy
VmFyaWFibGU+IG1Qcm9ncmFtSW5wdXRzOwotCi0gICAgLy8gVW5pZm9ybXMgYXJlIHNvcnRlZCBp
biBvcmRlcjoKLSAgICAvLyAgMS4gTm9uLW9wYXF1ZSB1bmlmb3JtcwotICAgIC8vICAyLiBTYW1w
bGVyIHVuaWZvcm1zCi0gICAgLy8gIDMuIEltYWdlIHVuaWZvcm1zCi0gICAgLy8gIDQuIEF0b21p
YyBjb3VudGVyIHVuaWZvcm1zCi0gICAgLy8gIDUuIFVuaWZvcm0gYmxvY2sgdW5pZm9ybXMKLSAg
ICAvLyBUaGlzIG1ha2VzIG9wYXF1ZSB1bmlmb3JtIHZhbGlkYXRpb24gZWFzaWVyLCBzaW5jZSB3
ZSBkb24ndCBuZWVkIGEgc2VwYXJhdGUgbGlzdC4KLSAgICAvLyBGb3IgZ2VuZXJhdGluZyB0aGUg
ZW50cmllcyBhbmQgbmFtaW5nIHRoZW0gd2UgZm9sbG93IHRoZSBzcGVjOiBHTEVTIDMuMSBOb3Zl
bWJlciAyMDE2IHNlY3Rpb24KLSAgICAvLyA3LjMuMS4xIE5hbWluZyBBY3RpdmUgUmVzb3VyY2Vz
LiBUaGVyZSdzIGEgc2VwYXJhdGUgZW50cnkgZm9yIGVhY2ggc3RydWN0IG1lbWJlciBhbmQgZWFj
aAotICAgIC8vIGlubmVyIGFycmF5IG9mIGFuIGFycmF5IG9mIGFycmF5cy4gTmFtZXMgYW5kIG1h
cHBlZCBuYW1lcyBvZiB1bmlmb3JtcyB0aGF0IGFyZSBhcnJheXMgaW5jbHVkZQotICAgIC8vIFsw
XSBpbiB0aGUgZW5kLiBUaGlzIG1ha2VzIGltcGxlbWVudGF0aW9uIG9mIHF1ZXJpZXMgc2ltcGxl
ci4KLSAgICBzdGQ6OnZlY3RvcjxMaW5rZWRVbmlmb3JtPiBtVW5pZm9ybXM7Ci0KICAgICBzdGQ6
OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9uPiBtVW5pZm9ybUxvY2F0aW9uczsKLSAgICBzdGQ6OnZl
Y3RvcjxJbnRlcmZhY2VCbG9jaz4gbVVuaWZvcm1CbG9ja3M7CiAgICAgc3RkOjp2ZWN0b3I8QnVm
ZmVyVmFyaWFibGU+IG1CdWZmZXJWYXJpYWJsZXM7Ci0gICAgc3RkOjp2ZWN0b3I8SW50ZXJmYWNl
QmxvY2s+IG1TaGFkZXJTdG9yYWdlQmxvY2tzOwotICAgIHN0ZDo6dmVjdG9yPEF0b21pY0NvdW50
ZXJCdWZmZXI+IG1BdG9taWNDb3VudGVyQnVmZmVyczsKICAgICBSYW5nZVVJIG1EZWZhdWx0VW5p
Zm9ybVJhbmdlOwotICAgIFJhbmdlVUkgbVNhbXBsZXJVbmlmb3JtUmFuZ2U7Ci0gICAgUmFuZ2VV
SSBtSW1hZ2VVbmlmb3JtUmFuZ2U7CiAgICAgUmFuZ2VVSSBtQXRvbWljQ291bnRlclVuaWZvcm1S
YW5nZTsKIAogICAgIC8vIEFuIGFycmF5IG9mIHRoZSBzYW1wbGVycyB0aGF0IGFyZSB1c2VkIGJ5
IHRoZSBwcm9ncmFtCkBAIC00MDgsMTEgKzM3Nyw2IEBAIGNsYXNzIFByb2dyYW1TdGF0ZSBmaW5h
bCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIC8vIEFuIGFycmF5IG9mIHRoZSBpbWFnZXMgdGhh
dCBhcmUgdXNlZCBieSB0aGUgcHJvZ3JhbQogICAgIHN0ZDo6dmVjdG9yPEltYWdlQmluZGluZz4g
bUltYWdlQmluZGluZ3M7CiAKLSAgICAvLyBOYW1lcyBhbmQgbWFwcGVkIG5hbWVzIG9mIG91dHB1
dCB2YXJpYWJsZXMgdGhhdCBhcmUgYXJyYXlzIGluY2x1ZGUgWzBdIGluIHRoZSBlbmQsIHNpbWls
YXJseQotICAgIC8vIHRvIHVuaWZvcm1zLgotICAgIHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJp
YWJsZT4gbU91dHB1dFZhcmlhYmxlczsKLSAgICBzdGQ6OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9u
PiBtT3V0cHV0TG9jYXRpb25zOwotCiAgICAgLy8gRVhUX2JsZW5kX2Z1bmNfZXh0ZW5kZWQgc2Vj
b25kYXJ5IG91dHB1dHMgKG9uZXMgd2l0aCBpbmRleCAxKSBpbiBFU1NMIDMuMDAgc2hhZGVycy4K
ICAgICBzdGQ6OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9uPiBtU2Vjb25kYXJ5T3V0cHV0TG9jYXRp
b25zOwogCkBAIC00MjQsNiArMzg4LDcgQEAgY2xhc3MgUHJvZ3JhbVN0YXRlIGZpbmFsIDogYW5n
bGU6Ok5vbkNvcHlhYmxlCiAKICAgICBib29sIG1CaW5hcnlSZXRyaWV2ZWFibGVIaW50OwogICAg
IGJvb2wgbVNlcGFyYWJsZTsKKyAgICBib29sIG1FYXJseUZyYW1lbnRUZXN0c09wdGltaXphdGlv
bjsKIAogICAgIC8vIEFOR0xFX211bHRpdmlldy4KICAgICBpbnQgbU51bVZpZXdzOwpAQCAtNDQ1
LDE0ICs0MTAsMTEgQEAgY2xhc3MgUHJvZ3JhbVN0YXRlIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgR0xpbnQgbUNhY2hlZEJhc2VWZXJ0ZXg7CiAgICAgR0x1aW50IG1DYWNoZWRCYXNl
SW5zdGFuY2U7CiAKLSAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgZGF0YSB3cml0dGVuIHRvIGVhY2gg
dHJhbnNmb3JtIGZlZWRiYWNrIGJ1ZmZlciBwZXIgdmVydGV4LgotICAgIHN0ZDo6dmVjdG9yPEdM
c2l6ZWk+IG1UcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXM7Ci0KICAgICAvLyBOb3RlIHRoYXQgdGhp
cyBoYXMgbm90aGluZyB0byBkbyB3aXRoIGJpbmRpbmcgbGF5b3V0IHF1YWxpZmllcnMgdGhhdCBj
YW4gYmUgc2V0IGZvciBzb21lCiAgICAgLy8gdW5pZm9ybXMgaW4gR0xFUzMuMSsuIEl0IGlzIHVz
ZWQgdG8gcHJlLXNldCB0aGUgbG9jYXRpb24gb2YgdW5pZm9ybXMuCiAgICAgUHJvZ3JhbUFsaWFz
ZWRCaW5kaW5ncyBtVW5pZm9ybUxvY2F0aW9uQmluZGluZ3M7CiAKLSAgICBQcm9ncmFtRXhlY3V0
YWJsZSBtRXhlY3V0YWJsZTsKKyAgICBzdGQ6OnNoYXJlZF9wdHI8UHJvZ3JhbUV4ZWN1dGFibGU+
IG1FeGVjdXRhYmxlOwogfTsKIAogc3RydWN0IFByb2dyYW1WYXJ5aW5nUmVmCkBAIC00ODYsMTEg
KzQ0OCwxMSBAQCBjbGFzcyBQcm9ncmFtIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlLCBwdWJs
aWMgTGFiZWxlZE9iamVjdAogCiAgICAgQU5HTEVfSU5MSU5FIHJ4OjpQcm9ncmFtSW1wbCAqZ2V0
SW1wbGVtZW50YXRpb24oKSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJUKG1MaW5rUmVzb2x2
ZWQpOworICAgICAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgICAgICByZXR1cm4gbVBy
b2dyYW07CiAgICAgfQogCi0gICAgdm9pZCBhdHRhY2hTaGFkZXIoU2hhZGVyICpzaGFkZXIpOwor
ICAgIHZvaWQgYXR0YWNoU2hhZGVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFNoYWRlciAqc2hh
ZGVyKTsKICAgICB2b2lkIGRldGFjaFNoYWRlcihjb25zdCBDb250ZXh0ICpjb250ZXh0LCBTaGFk
ZXIgKnNoYWRlcik7CiAgICAgaW50IGdldEF0dGFjaGVkU2hhZGVyc0NvdW50KCkgY29uc3Q7CiAK
QEAgLTUwMyw2ICs0NjUsMTAgQEAgY2xhc3MgUHJvZ3JhbSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5
YWJsZSwgcHVibGljIExhYmVsZWRPYmplY3QKICAgICB2b2lkIGJpbmRGcmFnbWVudE91dHB1dExv
Y2F0aW9uKEdMdWludCBpbmRleCwgY29uc3QgY2hhciAqbmFtZSk7CiAgICAgdm9pZCBiaW5kRnJh
Z21lbnRPdXRwdXRJbmRleChHTHVpbnQgaW5kZXgsIGNvbnN0IGNoYXIgKm5hbWUpOwogCisgICAg
YW5nbGU6OlJlc3VsdCBsaW5rTWVyZ2VkVmFyeWluZ3MoY29uc3QgQ29udGV4dCAqY29udGV4dCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9ncmFtRXhlY3V0
YWJsZSAmZXhlY3V0YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBQcm9ncmFtTWVyZ2VkVmFyeWluZ3MgJm1lcmdlZFZhcnlpbmdzKTsKKwogICAgIC8vIEtI
Ul9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQogICAgIC8vIFRyeSB0byBsaW5rIHRoZSBwcm9ncmFt
IGFzeW5jaHJvdXNseS4gQXMgYSByZXN1bHQsIGJhY2tncm91bmQgdGhyZWFkcyBtYXkgYmUgbGF1
bmNoZWQgdG8KICAgICAvLyBleGVjdXRlIHRoZSBsaW5raW5nIHRhc2tzIGNvbmN1cnJlbnRseS4K
QEAgLTUxMyw3ICs0NzksNyBAQCBjbGFzcyBQcm9ncmFtIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlh
YmxlLCBwdWJsaWMgTGFiZWxlZE9iamVjdAogCiAgICAgYm9vbCBpc0xpbmtlZCgpIGNvbnN0CiAg
ICAgewotICAgICAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgICAgIEFTU0VSVCghbUxp
bmtpbmdTdGF0ZSk7CiAgICAgICAgIHJldHVybiBtTGlua2VkOwogICAgIH0KIApAQCAtNTUyLDcg
KzUxOCw3IEBAIGNsYXNzIFByb2dyYW0gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUsIHB1Ymxp
YyBMYWJlbGVkT2JqZWN0CiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8R0xlbnVtPiAmZ2V0T3V0cHV0
VmFyaWFibGVUeXBlcygpIGNvbnN0OwogICAgIERyYXdCdWZmZXJNYXNrIGdldEFjdGl2ZU91dHB1
dFZhcmlhYmxlcygpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7
CisgICAgICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgICAgIHJldHVybiBtU3RhdGUu
bUFjdGl2ZU91dHB1dFZhcmlhYmxlczsKICAgICB9CiAKQEAgLTU3NCwxNSArNTQwLDE0IEBAIGNs
YXNzIFByb2dyYW0gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBMYWJlbGVkT2Jq
ZWN0CiAKICAgICBjb25zdCBzdGQ6OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9uPiAmZ2V0VW5pZm9y
bUxvY2F0aW9ucygpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7
CisgICAgICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgICAgIHJldHVybiBtU3RhdGUu
bVVuaWZvcm1Mb2NhdGlvbnM7CiAgICAgfQogCiAgICAgY29uc3QgTGlua2VkVW5pZm9ybSAmZ2V0
VW5pZm9ybUJ5SW5kZXgoR0x1aW50IGluZGV4KSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJU
KG1MaW5rUmVzb2x2ZWQpOwotICAgICAgICBBU1NFUlQoaW5kZXggPCBzdGF0aWNfY2FzdDxzaXpl
X3Q+KG1TdGF0ZS5tVW5pZm9ybXMuc2l6ZSgpKSk7Ci0gICAgICAgIHJldHVybiBtU3RhdGUubVVu
aWZvcm1zW2luZGV4XTsKKyAgICAgICAgQVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKKyAgICAgICAg
cmV0dXJuIG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0VW5pZm9ybUJ5SW5kZXgoaW5kZXgpOwogICAg
IH0KIAogICAgIGNvbnN0IEJ1ZmZlclZhcmlhYmxlICZnZXRCdWZmZXJWYXJpYWJsZUJ5SW5kZXgo
R0x1aW50IGluZGV4KSBjb25zdDsKQEAgLTY1OSwyMCArNjI0LDIwIEBAIGNsYXNzIFByb2dyYW0g
ZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBMYWJlbGVkT2JqZWN0CiAKICAgICBB
TkdMRV9JTkxJTkUgR0x1aW50IGdldEFjdGl2ZVVuaWZvcm1CbG9ja0NvdW50KCkgY29uc3QKICAg
ICB7Ci0gICAgICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKLSAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEdMdWludD4obVN0YXRlLm1Vbmlmb3JtQmxvY2tzLnNpemUoKSk7CisgICAgICAgIEFT
U0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxHTHVpbnQ+
KG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0QWN0aXZlVW5pZm9ybUJsb2NrQ291bnQoKSk7CiAgICAg
fQogCiAgICAgQU5HTEVfSU5MSU5FIEdMdWludCBnZXRBY3RpdmVBdG9taWNDb3VudGVyQnVmZmVy
Q291bnQoKSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOwotICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8R0x1aW50PihtU3RhdGUubUF0b21pY0NvdW50ZXJCdWZm
ZXJzLnNpemUoKSk7CisgICAgICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxHTHVpbnQ+KG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0QWN0aXZlQXRv
bWljQ291bnRlckJ1ZmZlckNvdW50KCkpOwogICAgIH0KIAogICAgIEFOR0xFX0lOTElORSBHTHVp
bnQgZ2V0QWN0aXZlU2hhZGVyU3RvcmFnZUJsb2NrQ291bnQoKSBjb25zdAogICAgIHsKLSAgICAg
ICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8R0x1
aW50PihtU3RhdGUubVNoYWRlclN0b3JhZ2VCbG9ja3Muc2l6ZSgpKTsKKyAgICAgICAgQVNTRVJU
KCFtTGlua2luZ1N0YXRlKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEdMdWludD4obVN0
YXRlLm1FeGVjdXRhYmxlLT5nZXRBY3RpdmVTaGFkZXJTdG9yYWdlQmxvY2tDb3VudCgpKTsKICAg
ICB9CiAKICAgICBHTGludCBnZXRBY3RpdmVVbmlmb3JtQmxvY2tNYXhOYW1lTGVuZ3RoKCkgY29u
c3Q7CkBAIC03MTMsMTMgKzY3OCwxMyBAQCBjbGFzcyBQcm9ncmFtIGZpbmFsIDogYW5nbGU6Ok5v
bkNvcHlhYmxlLCBwdWJsaWMgTGFiZWxlZE9iamVjdAogCiAgICAgQU5HTEVfSU5MSU5FIHZvaWQg
YWRkUmVmKCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtTGlua1Jlc29sdmVkKTsKKyAgICAgICAg
QVNTRVJUKCFtTGlua2luZ1N0YXRlKTsKICAgICAgICAgbVJlZkNvdW50Kys7CiAgICAgfQogCiAg
ICAgQU5HTEVfSU5MSU5FIHZvaWQgcmVsZWFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0KQogICAg
IHsKLSAgICAgICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgICAgICBBU1NFUlQoIW1MaW5r
aW5nU3RhdGUpOwogICAgICAgICBtUmVmQ291bnQtLTsKIAogICAgICAgICBpZiAobVJlZkNvdW50
ID09IDAgJiYgbURlbGV0ZVN0YXR1cykKQEAgLTc0OCwxMCArNzEzLDEzIEBAIGNsYXNzIFByb2dy
YW0gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBMYWJlbGVkT2JqZWN0CiAKICAg
ICBib29sIGlzVmFsaWRhdGVkKCkgY29uc3Q7CiAKKyAgICBPcHRpb25hbDxib29sPiBnZXRDYWNo
ZWRWYWxpZGF0ZVNhbXBsZXJzUmVzdWx0KCkgeyByZXR1cm4gbUNhY2hlZFZhbGlkYXRlU2FtcGxl
cnNSZXN1bHQ7IH0KKyAgICB2b2lkIHNldENhY2hlZFZhbGlkYXRlU2FtcGxlcnNSZXN1bHQoYm9v
bCByZXN1bHQpIHsgbUNhY2hlZFZhbGlkYXRlU2FtcGxlcnNSZXN1bHQgPSByZXN1bHQ7IH0KKwog
ICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFNhbXBsZXJCaW5kaW5nPiAmZ2V0U2FtcGxlckJpbmRpbmdz
KCkgY29uc3Q7CiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8SW1hZ2VCaW5kaW5nPiAmZ2V0SW1hZ2VC
aW5kaW5ncygpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7Cisg
ICAgICAgIEFTU0VSVCghbUxpbmtpbmdTdGF0ZSk7CiAgICAgICAgIHJldHVybiBtU3RhdGUubUlt
YWdlQmluZGluZ3M7CiAgICAgfQogICAgIGNvbnN0IHNoOjpXb3JrR3JvdXBTaXplICZnZXRDb21w
dXRlU2hhZGVyTG9jYWxTaXplKCkgY29uc3Q7CkBAIC03NjIsNyArNzMwLDcgQEAgY2xhc3MgUHJv
Z3JhbSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExhYmVsZWRPYmplY3QKIAog
ICAgIGNvbnN0IFByb2dyYW1TdGF0ZSAmZ2V0U3RhdGUoKSBjb25zdAogICAgIHsKLSAgICAgICAg
QVNTRVJUKG1MaW5rUmVzb2x2ZWQpOworICAgICAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwog
ICAgICAgICByZXR1cm4gbVN0YXRlOwogICAgIH0KIApAQCAtNzk2LDEwICs3NjQsMTIgQEAgY2xh
c3MgUHJvZ3JhbSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExhYmVsZWRPYmpl
Y3QKIAogICAgIGNvbnN0IFByb2dyYW1CaW5kaW5ncyAmZ2V0QXR0cmlidXRlQmluZGluZ3MoKSBj
b25zdDsKICAgICBjb25zdCBQcm9ncmFtQWxpYXNlZEJpbmRpbmdzICZnZXRVbmlmb3JtTG9jYXRp
b25CaW5kaW5ncygpIGNvbnN0OworICAgIGNvbnN0IFByb2dyYW1BbGlhc2VkQmluZGluZ3MgJmdl
dEZyYWdtZW50T3V0cHV0TG9jYXRpb25zKCkgY29uc3Q7CisgICAgY29uc3QgUHJvZ3JhbUFsaWFz
ZWRCaW5kaW5ncyAmZ2V0RnJhZ21lbnRPdXRwdXRJbmRleGVzKCkgY29uc3Q7CiAKICAgICBpbnQg
Z2V0TnVtVmlld3MoKSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJUKG1MaW5rUmVzb2x2ZWQp
OworICAgICAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgICAgICByZXR1cm4gbVN0YXRl
LmdldE51bVZpZXdzKCk7CiAgICAgfQogCkBAIC04MjYsNyArNzk2LDcgQEAgY2xhc3MgUHJvZ3Jh
bSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExhYmVsZWRPYmplY3QKICAgICAv
LyBUcnkgdG8gcmVzb2x2ZSBsaW5raW5nLiBJbmxpbmVkIHRvIG1ha2Ugc3VyZSBpdHMgb3Zlcmhl
YWQgaXMgYXMgbG93IGFzIHBvc3NpYmxlLgogICAgIHZvaWQgcmVzb2x2ZUxpbmsoY29uc3QgQ29u
dGV4dCAqY29udGV4dCkKICAgICB7Ci0gICAgICAgIGlmICghbUxpbmtSZXNvbHZlZCkKKyAgICAg
ICAgaWYgKG1MaW5raW5nU3RhdGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJlc29sdmVMaW5r
SW1wbChjb250ZXh0KTsKICAgICAgICAgfQpAQCAtODM5LDggKzgwOSwzNCBAQCBjbGFzcyBQcm9n
cmFtIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlLCBwdWJsaWMgTGFiZWxlZE9iamVjdAogCiAg
ICAgcng6OlNlcmlhbCBzZXJpYWwoKSBjb25zdCB7IHJldHVybiBtU2VyaWFsOyB9CiAKLSAgICBj
b25zdCBQcm9ncmFtRXhlY3V0YWJsZSAmZ2V0RXhlY3V0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1T
dGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOyB9Ci0gICAgUHJvZ3JhbUV4ZWN1dGFibGUgJmdl
dEV4ZWN1dGFibGUoKSB7IHJldHVybiBtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsgfQor
ICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICZnZXRFeGVjdXRhYmxlKCkgY29uc3QgeyByZXR1
cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUoKTsgfQorICAgIFByb2dyYW1FeGVjdXRhYmxlICZnZXRF
eGVjdXRhYmxlKCkgeyByZXR1cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUoKTsgfQorCisgICAgY29u
c3QgY2hhciAqdmFsaWRhdGVEcmF3U3RhdGVzKGNvbnN0IFN0YXRlICZzdGF0ZSwgY29uc3QgZ2w6
OkV4dGVuc2lvbnMgJmV4dGVuc2lvbnMpIGNvbnN0OworCisgICAgc3RhdGljIHZvaWQgZ2V0Rmls
dGVyZWRWYXJ5aW5ncyhjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZ2YXJ5
aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPGNv
bnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAqPiAqZmlsdGVyZWRWYXJ5aW5nc091dCk7CisgICAgc3Rh
dGljIGJvb2wgZG9TaGFkZXJWYXJpYWJsZXNNYXRjaChpbnQgb3V0cHV0U2hhZGVyVmVyc2lvbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlclR5cGUgb3V0cHV0
U2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRl
clR5cGUgaW5wdXRTaGFkZXJUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZpbnB1dCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmb3V0cHV0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB2YWxpZGF0ZUdlb21l
dHJ5U2hhZGVySW5wdXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBpc1NlcGFyYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdsOjpJbmZvTG9nICZpbmZvTG9nKTsKKyAgICBzdGF0aWMgYm9vbCBsaW5rVmFsaWRhdGVTaGFk
ZXJJbnRlcmZhY2VNYXRjaGluZygKKyAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRl
clZhcmlhYmxlPiAmb3V0cHV0VmFyeWluZ3MsCisgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNo
OjpTaGFkZXJWYXJpYWJsZT4gJmlucHV0VmFyeWluZ3MsCisgICAgICAgIFNoYWRlclR5cGUgb3V0
cHV0U2hhZGVyVHlwZSwKKyAgICAgICAgU2hhZGVyVHlwZSBpbnB1dFNoYWRlclR5cGUsCisgICAg
ICAgIGludCBvdXRwdXRTaGFkZXJWZXJzaW9uLAorICAgICAgICBpbnQgaW5wdXRTaGFkZXJWZXJz
aW9uLAorICAgICAgICBib29sIGlzU2VwYXJhYmxlLAorICAgICAgICBJbmZvTG9nICZpbmZvTG9n
KTsKKyAgICBzdGF0aWMgYm9vbCBsaW5rVmFsaWRhdGVCdWlsdEluVmFyeWluZ3MoY29uc3Qgc3Rk
Ojp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmdmVydGV4VmFyeWluZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpT
aGFkZXJWYXJpYWJsZT4gJmZyYWdtZW50VmFyeWluZ3MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB2ZXJ0ZXhTaGFkZXJWZXJzaW9uLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmZvTG9nICZpbmZvTG9nKTsKIAog
ICBwcml2YXRlOgogICAgIHN0cnVjdCBMaW5raW5nU3RhdGU7CkBAIC04NTMsNiArODQ5LDggQEAg
Y2xhc3MgUHJvZ3JhbSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExhYmVsZWRP
YmplY3QKICAgICB2b2lkIHVubGluaygpOwogICAgIHZvaWQgZGVsZXRlU2VsZihjb25zdCBDb250
ZXh0ICpjb250ZXh0KTsKIAorICAgIGFuZ2xlOjpSZXN1bHQgbGlua0ltcGwoY29uc3QgQ29udGV4
dCAqY29udGV4dCk7CisKICAgICBib29sIGxpbmtWYWxpZGF0ZVNoYWRlcnMoSW5mb0xvZyAmaW5m
b0xvZyk7CiAgICAgYm9vbCBsaW5rQXR0cmlidXRlcyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBJ
bmZvTG9nICZpbmZvTG9nKTsKICAgICBib29sIGxpbmtJbnRlcmZhY2VCbG9ja3MoY29uc3QgQ2Fw
cyAmY2FwcywKQEAgLTg3NywxOSArODc1LDE0IEBAIGNsYXNzIFByb2dyYW0gZmluYWwgOiBhbmds
ZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBMYWJlbGVkT2JqZWN0CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAm
aW5wdXRWYXJ5aW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2hhZGVyVmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCB2YWxpZGF0ZUdlb21ldHJ5U2hhZGVySW5wdXRWYXJ5
aW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGlzU2VwYXJhYmxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdGQ6OnN0cmluZyAqbWlzbWF0Y2hlZFN0cnVjdEZpZWxkTmFtZSk7CiAKLSAg
ICBib29sIGxpbmtWYWxpZGF0ZVNoYWRlckludGVyZmFjZU1hdGNoaW5nKFNoYWRlciAqZ2VuZXJh
dGluZ1NoYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNoYWRlciAqY29uc3VtaW5nU2hhZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW5mb0xvZyAmaW5mb0xvZykgY29uc3Q7Ci0KLSAgICBib29sIGxpbmtW
YWxpZGF0ZUJ1aWx0SW5WYXJ5aW5ncyhJbmZvTG9nICZpbmZvTG9nKSBjb25zdDsKICAgICBib29s
IGxpbmtWYWxpZGF0ZVRyYW5zZm9ybUZlZWRiYWNrKGNvbnN0IFZlcnNpb24gJnZlcnNpb24sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmZvTG9nICZpbmZvTG9nLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbU1lcmdl
ZFZhcnlpbmdzICZsaW5rZWRWYXJ5aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNoYWRlclR5cGUgc3RhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBDYXBzICZjYXBzKSBjb25zdDsKLSAgICBib29sIGxpbmtWYWxpZGF0
ZUdsb2JhbE5hbWVzKEluZm9Mb2cgJmluZm9Mb2cpIGNvbnN0OwogCiAgICAgdm9pZCBnYXRoZXJU
cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKGNvbnN0IFByb2dyYW1NZXJnZWRWYXJ5aW5ncyAmdmFy
eWluZ3MsIFNoYWRlclR5cGUgc3RhZ2UpOwogCkBAIC05NjMsNyArOTU2LDYgQEAgY2xhc3MgUHJv
Z3JhbSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExhYmVsZWRPYmplY3QKICAg
ICBQcm9ncmFtQWxpYXNlZEJpbmRpbmdzIG1GcmFnbWVudE91dHB1dEluZGV4ZXM7CiAKICAgICBi
b29sIG1MaW5rZWQ7Ci0gICAgYm9vbCBtTGlua1Jlc29sdmVkOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxMaW5raW5nU3RhdGU+IG1MaW5raW5nU3RhdGU7CiAgICAgYm9vbCBtRGVsZXRlU3RhdHVzOyAg
Ly8gRmxhZyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBwcm9ncmFtIGNhbiBiZSBkZWxldGVkIHdoZW4g
bm8gbG9uZ2VyIGluIHVzZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL1Byb2dyYW1FeGVjdXRhYmxlLmNwcAppbmRleCBmM2I5YWNmYmI0MDhj
MTgwOTA1ZmVlMzRiNjgwOTY2MWM4MTY3NzVhLi5hMmM3NDVmMDkzNWRmYjhiZjJlZWExY2QwOTZj
YjJiYWNmYzg5N2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHAKQEAgLTksNiArOSw5IEBACiAjaW5j
bHVkZSAibGliQU5HTEUvUHJvZ3JhbUV4ZWN1dGFibGUuaCIKIAogI2luY2x1ZGUgImxpYkFOR0xF
L0NvbnRleHQuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9Qcm9ncmFtLmgiCisjaW5jbHVkZSAibGli
QU5HTEUvUHJvZ3JhbVBpcGVsaW5lLmgiCisjaW5jbHVkZSAibGliQU5HTEUvU2hhZGVyLmgiCiAK
IG5hbWVzcGFjZSBnbAogewpAQCAtMjEsMTAgKzI0LDQ2IEBAIFByb2dyYW1FeGVjdXRhYmxlOjpQ
cm9ncmFtRXhlY3V0YWJsZSgpCiAgICAgICBtQXR0cmlidXRlc01hc2soMCksCiAgICAgICBtQWN0
aXZlU2FtcGxlcnNNYXNrKDApLAogICAgICAgbUFjdGl2ZVNhbXBsZXJSZWZDb3VudHN7fSwKLSAg
ICAgIG1BY3RpdmVJbWFnZXNNYXNrKDApCisgICAgICBtQWN0aXZlSW1hZ2VzTWFzaygwKSwKKyAg
ICAgIG1DYW5EcmF3V2l0aChmYWxzZSksCisgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJN
b2RlKEdMX0lOVEVSTEVBVkVEX0FUVFJJQlMpLAorICAgICAgbVNhbXBsZXJVbmlmb3JtUmFuZ2Uo
MCwgMCksCisgICAgICBtSW1hZ2VVbmlmb3JtUmFuZ2UoMCwgMCkKIHsKLSAgICBtQWN0aXZlU2Ft
cGxlclR5cGVzLmZpbGwoVGV4dHVyZVR5cGU6OkludmFsaWRFbnVtKTsKLSAgICBtQWN0aXZlU2Ft
cGxlckZvcm1hdHMuZmlsbChTYW1wbGVyRm9ybWF0OjpJbnZhbGlkRW51bSk7CisgICAgcmVzZXQo
KTsKK30KKworUHJvZ3JhbUV4ZWN1dGFibGU6OlByb2dyYW1FeGVjdXRhYmxlKGNvbnN0IFByb2dy
YW1FeGVjdXRhYmxlICZvdGhlcikKKyAgICA6IG1Qcm9ncmFtU3RhdGUob3RoZXIubVByb2dyYW1T
dGF0ZSksCisgICAgICBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUob3RoZXIubVByb2dyYW1QaXBlbGlu
ZVN0YXRlKSwKKyAgICAgIG1MaW5rZWRHcmFwaGljc1NoYWRlclN0YWdlcyhvdGhlci5tTGlua2Vk
R3JhcGhpY3NTaGFkZXJTdGFnZXMpLAorICAgICAgbUxpbmtlZENvbXB1dGVTaGFkZXJTdGFnZXMo
b3RoZXIubUxpbmtlZENvbXB1dGVTaGFkZXJTdGFnZXMpLAorICAgICAgbUFjdGl2ZUF0dHJpYkxv
Y2F0aW9uc01hc2sob3RoZXIubUFjdGl2ZUF0dHJpYkxvY2F0aW9uc01hc2spLAorICAgICAgbU1h
eEFjdGl2ZUF0dHJpYkxvY2F0aW9uKG90aGVyLm1NYXhBY3RpdmVBdHRyaWJMb2NhdGlvbiksCisg
ICAgICBtQXR0cmlidXRlc1R5cGVNYXNrKG90aGVyLm1BdHRyaWJ1dGVzVHlwZU1hc2spLAorICAg
ICAgbUF0dHJpYnV0ZXNNYXNrKG90aGVyLm1BdHRyaWJ1dGVzTWFzayksCisgICAgICBtQWN0aXZl
U2FtcGxlcnNNYXNrKG90aGVyLm1BY3RpdmVTYW1wbGVyc01hc2spLAorICAgICAgbUFjdGl2ZVNh
bXBsZXJSZWZDb3VudHMob3RoZXIubUFjdGl2ZVNhbXBsZXJSZWZDb3VudHMpLAorICAgICAgbUFj
dGl2ZVNhbXBsZXJUeXBlcyhvdGhlci5tQWN0aXZlU2FtcGxlclR5cGVzKSwKKyAgICAgIG1BY3Rp
dmVTYW1wbGVyRm9ybWF0cyhvdGhlci5tQWN0aXZlU2FtcGxlckZvcm1hdHMpLAorICAgICAgbUFj
dGl2ZVNhbXBsZXJTaGFkZXJCaXRzKG90aGVyLm1BY3RpdmVTYW1wbGVyU2hhZGVyQml0cyksCisg
ICAgICBtQWN0aXZlSW1hZ2VzTWFzayhvdGhlci5tQWN0aXZlSW1hZ2VzTWFzayksCisgICAgICBt
QWN0aXZlSW1hZ2VTaGFkZXJCaXRzKG90aGVyLm1BY3RpdmVJbWFnZVNoYWRlckJpdHMpLAorICAg
ICAgbUNhbkRyYXdXaXRoKG90aGVyLm1DYW5EcmF3V2l0aCksCisgICAgICBtT3V0cHV0VmFyaWFi
bGVzKG90aGVyLm1PdXRwdXRWYXJpYWJsZXMpLAorICAgICAgbU91dHB1dExvY2F0aW9ucyhvdGhl
ci5tT3V0cHV0TG9jYXRpb25zKSwKKyAgICAgIG1Qcm9ncmFtSW5wdXRzKG90aGVyLm1Qcm9ncmFt
SW5wdXRzKSwKKyAgICAgIG1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKG90aGVyLm1M
aW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKSwKKyAgICAgIG1UcmFuc2Zvcm1GZWVkYmFj
a1N0cmlkZXMob3RoZXIubVRyYW5zZm9ybUZlZWRiYWNrU3RyaWRlcyksCisgICAgICBtVHJhbnNm
b3JtRmVlZGJhY2tCdWZmZXJNb2RlKG90aGVyLm1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUp
LAorICAgICAgbVVuaWZvcm1zKG90aGVyLm1Vbmlmb3JtcyksCisgICAgICBtU2FtcGxlclVuaWZv
cm1SYW5nZShvdGhlci5tU2FtcGxlclVuaWZvcm1SYW5nZSksCisgICAgICBtVW5pZm9ybUJsb2Nr
cyhvdGhlci5tVW5pZm9ybUJsb2NrcyksCisgICAgICBtQXRvbWljQ291bnRlckJ1ZmZlcnMob3Ro
ZXIubUF0b21pY0NvdW50ZXJCdWZmZXJzKSwKKyAgICAgIG1JbWFnZVVuaWZvcm1SYW5nZShvdGhl
ci5tSW1hZ2VVbmlmb3JtUmFuZ2UpLAorICAgICAgbVNoYWRlclN0b3JhZ2VCbG9ja3Mob3RoZXIu
bVNoYWRlclN0b3JhZ2VCbG9ja3MpCit7CisgICAgcmVzZXQoKTsKIH0KIAogUHJvZ3JhbUV4ZWN1
dGFibGU6On5Qcm9ncmFtRXhlY3V0YWJsZSgpID0gZGVmYXVsdDsKQEAgLTQzLDYgKzgyLDgyIEBA
IHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6OnJlc2V0KCkKICAgICBtQWN0aXZlU2FtcGxlckZvcm1h
dHMuZmlsbChTYW1wbGVyRm9ybWF0OjpJbnZhbGlkRW51bSk7CiAKICAgICBtQWN0aXZlSW1hZ2Vz
TWFzay5yZXNldCgpOworCisgICAgbVByb2dyYW1JbnB1dHMuY2xlYXIoKTsKKyAgICBtTGlua2Vk
VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncy5jbGVhcigpOworICAgIG1Vbmlmb3Jtcy5jbGVhcigp
OworICAgIG1Vbmlmb3JtQmxvY2tzLmNsZWFyKCk7CisgICAgbVNoYWRlclN0b3JhZ2VCbG9ja3Mu
Y2xlYXIoKTsKKyAgICBtQXRvbWljQ291bnRlckJ1ZmZlcnMuY2xlYXIoKTsKKyAgICBtT3V0cHV0
VmFyaWFibGVzLmNsZWFyKCk7CisgICAgbU91dHB1dExvY2F0aW9ucy5jbGVhcigpOworfQorCit2
b2lkIFByb2dyYW1FeGVjdXRhYmxlOjpsb2FkKGdsOjpCaW5hcnlJbnB1dFN0cmVhbSAqc3RyZWFt
KQoreworICAgIHN0YXRpY19hc3NlcnQoTUFYX1ZFUlRFWF9BVFRSSUJTICogMiA8PSBzaXplb2Yo
dWludDMyX3QpICogOCwKKyAgICAgICAgICAgICAgICAgICJUb28gbWFueSB2ZXJ0ZXggYXR0cmli
cyBmb3IgbWFzazogQWxsIGJpdHMgb2YgbUF0dHJpYnV0ZXNUeXBlTWFzayB0eXBlcyBhbmQgIgor
ICAgICAgICAgICAgICAgICAgIm1hc2sgZml0IGludG8gMzIgYml0cyBlYWNoIik7CisgICAgbUF0
dHJpYnV0ZXNUeXBlTWFzayAgICAgICAgPSBnbDo6Q29tcG9uZW50VHlwZU1hc2soc3RyZWFtLT5y
ZWFkSW50PHVpbnQzMl90PigpKTsKKyAgICBtQXR0cmlidXRlc01hc2sgICAgICAgICAgICA9IHN0
cmVhbS0+cmVhZEludDxnbDo6QXR0cmlidXRlc01hc2s+KCk7CisgICAgbUFjdGl2ZUF0dHJpYkxv
Y2F0aW9uc01hc2sgPSBzdHJlYW0tPnJlYWRJbnQ8Z2w6OkF0dHJpYnV0ZXNNYXNrPigpOworICAg
IG1NYXhBY3RpdmVBdHRyaWJMb2NhdGlvbiAgID0gc3RyZWFtLT5yZWFkSW50PHVuc2lnbmVkIGlu
dD4oKTsKKworICAgIG1MaW5rZWRHcmFwaGljc1NoYWRlclN0YWdlcyA9IFNoYWRlckJpdFNldChz
dHJlYW0tPnJlYWRJbnQ8dWludDhfdD4oKSk7CisgICAgbUxpbmtlZENvbXB1dGVTaGFkZXJTdGFn
ZXMgID0gU2hhZGVyQml0U2V0KHN0cmVhbS0+cmVhZEludDx1aW50OF90PigpKTsKK30KKwordm9p
ZCBQcm9ncmFtRXhlY3V0YWJsZTo6c2F2ZShnbDo6QmluYXJ5T3V0cHV0U3RyZWFtICpzdHJlYW0p
IGNvbnN0Cit7CisgICAgc3RhdGljX2Fzc2VydChNQVhfVkVSVEVYX0FUVFJJQlMgKiAyIDw9IHNp
emVvZih1aW50MzJfdCkgKiA4LAorICAgICAgICAgICAgICAgICAgIkFsbCBiaXRzIG9mIG1BdHRy
aWJ1dGVzVHlwZU1hc2sgdHlwZXMgYW5kIG1hc2sgZml0IGludG8gMzIgYml0cyBlYWNoIik7Cisg
ICAgc3RyZWFtLT53cml0ZUludChzdGF0aWNfY2FzdDxpbnQ+KG1BdHRyaWJ1dGVzVHlwZU1hc2su
dG9fdWxvbmcoKSkpOworICAgIHN0cmVhbS0+d3JpdGVJbnQoc3RhdGljX2Nhc3Q8aW50PihtQXR0
cmlidXRlc01hc2sudG9fdWxvbmcoKSkpOworICAgIHN0cmVhbS0+d3JpdGVJbnQobUFjdGl2ZUF0
dHJpYkxvY2F0aW9uc01hc2sudG9fdWxvbmcoKSk7CisgICAgc3RyZWFtLT53cml0ZUludChtTWF4
QWN0aXZlQXR0cmliTG9jYXRpb24pOworCisgICAgc3RyZWFtLT53cml0ZUludChtTGlua2VkR3Jh
cGhpY3NTaGFkZXJTdGFnZXMuYml0cygpKTsKKyAgICBzdHJlYW0tPndyaXRlSW50KG1MaW5rZWRD
b21wdXRlU2hhZGVyU3RhZ2VzLmJpdHMoKSk7Cit9CisKK2NvbnN0IFByb2dyYW1TdGF0ZSAqUHJv
Z3JhbUV4ZWN1dGFibGU6OmdldFByb2dyYW1TdGF0ZShTaGFkZXJUeXBlIHNoYWRlclR5cGUpIGNv
bnN0Cit7CisgICAgaWYgKG1Qcm9ncmFtU3RhdGUgJiYKKyAgICAgICAgKGhhc0xpbmtlZFNoYWRl
clN0YWdlKHNoYWRlclR5cGUpIHx8IG1Qcm9ncmFtU3RhdGUtPmdldEF0dGFjaGVkU2hhZGVyKHNo
YWRlclR5cGUpKSkKKyAgICB7CisgICAgICAgIHJldHVybiBtUHJvZ3JhbVN0YXRlOworICAgIH0K
KyAgICBlbHNlIGlmIChtUHJvZ3JhbVBpcGVsaW5lU3RhdGUgJiYgKGhhc0xpbmtlZFNoYWRlclN0
YWdlKHNoYWRlclR5cGUpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUtPmdldFNoYWRlclByb2dyYW0oc2hhZGVyVHlwZSkpKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuICZtUHJvZ3JhbVBpcGVsaW5lU3RhdGUtPmdldFNoYWRlclBy
b2dyYW0oc2hhZGVyVHlwZSktPmdldFN0YXRlKCk7CisgICAgfQorCisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK2Jvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6OmlzQ29tcHV0ZSgpIGNvbnN0Cit7Cisg
ICAgQVNTRVJUKG1Qcm9ncmFtU3RhdGUgfHwgbVByb2dyYW1QaXBlbGluZVN0YXRlKTsKKworICAg
IGlmIChtUHJvZ3JhbVN0YXRlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1Qcm9ncmFtU3RhdGUt
PmlzQ29tcHV0ZSgpOworICAgIH0KKworICAgIHJldHVybiBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUt
PmlzQ29tcHV0ZSgpOworfQorCit2b2lkIFByb2dyYW1FeGVjdXRhYmxlOjpzZXRJc0NvbXB1dGUo
Ym9vbCBpc0NvbXB1dGVJbikKK3sKKyAgICAvLyBBIFByb2dyYW0gY2FuIG9ubHkgZWl0aGVyIGJl
IGdyYXBoaWNzIG9yIGNvbXB1dGUsIGJ1dCBuZXZlciBib3RoLCBzbyBpdCBjYW4gYW5zd2VyCisg
ICAgLy8gaXNDb21wdXRlKCkgYmFzZWQgb24gd2hpY2ggc2hhZGVycyBpdCBoYXMuIEhvd2V2ZXIs
IGEgUFBPIGNhbiBoYXZlIGJvdGggZ3JhcGhpY3MgYW5kIGNvbXB1dGUKKyAgICAvLyBwcm9ncmFt
cyBhdHRhY2hlZCwgc28gd2UgZG9uJ3Qga25vdyBpZiB0aGUgUFBPIGlzIGEgJ2dyYXBoaWNzJyBv
ciAnY29tcHV0ZScgUFBPIHVudGlsIHRoZQorICAgIC8vIGFjdHVhbCBkcmF3L2Rpc3BhdGNoIGNh
bGwsIHdoaWNoIGlzIHdoeSBvbmx5IFBQT3MgbmVlZCB0byByZWNvcmQgdGhlIHR5cGUgb2YgY2Fs
bCBoZXJlLgorICAgIGlmIChtUHJvZ3JhbVBpcGVsaW5lU3RhdGUpCisgICAgeworICAgICAgICBt
UHJvZ3JhbVBpcGVsaW5lU3RhdGUtPnNldElzQ29tcHV0ZShpc0NvbXB1dGVJbik7CisgICAgfQog
fQogCiBpbnQgUHJvZ3JhbUV4ZWN1dGFibGU6OmdldEluZm9Mb2dMZW5ndGgoKSBjb25zdApAQCAt
NjMsNyArMTc4LDcgQEAgc3RkOjpzdHJpbmcgUHJvZ3JhbUV4ZWN1dGFibGU6OmdldEluZm9Mb2dT
dHJpbmcoKSBjb25zdAogYm9vbCBQcm9ncmFtRXhlY3V0YWJsZTo6aXNBdHRyaWJMb2NhdGlvbkFj
dGl2ZShzaXplX3QgYXR0cmliTG9jYXRpb24pIGNvbnN0CiB7CiAgICAgLy8gVE9ETyh0aW12cCk6
IGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzU3MDogRW5hYmxlIHRoaXMgYXNzZXJ0IGhlcmUgc29tZWhv
dy4KLSAgICAvLyAgICBBU1NFUlQobUxpbmtSZXNvbHZlZCk7CisgICAgLy8gICAgQVNTRVJUKCFt
TGlua2luZ1N0YXRlKTsKICAgICBBU1NFUlQoYXR0cmliTG9jYXRpb24gPCBtQWN0aXZlQXR0cmli
TG9jYXRpb25zTWFzay5zaXplKCkpOwogICAgIHJldHVybiBtQWN0aXZlQXR0cmliTG9jYXRpb25z
TWFza1thdHRyaWJMb2NhdGlvbl07CiB9CkBAIC03MSwxMSArMTg2LDExIEBAIGJvb2wgUHJvZ3Jh
bUV4ZWN1dGFibGU6OmlzQXR0cmliTG9jYXRpb25BY3RpdmUoc2l6ZV90IGF0dHJpYkxvY2F0aW9u
KSBjb25zdAogQXR0cmlidXRlc01hc2sgUHJvZ3JhbUV4ZWN1dGFibGU6OmdldEF0dHJpYnV0ZXNN
YXNrKCkgY29uc3QKIHsKICAgICAvLyBUT0RPKHRpbXZwKTogaHR0cDovL2FuZ2xlYnVnLmNvbS8z
NTcwOiBFbmFibGUgdGhpcyBhc3NlcnQgaGVyZSBzb21laG93LgotICAgIC8vICAgIEFTU0VSVCht
TGlua1Jlc29sdmVkKTsKKyAgICAvLyAgICBBU1NFUlQoIW1MaW5raW5nU3RhdGUpOwogICAgIHJl
dHVybiBtQXR0cmlidXRlc01hc2s7CiB9CiAKLWJvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6Omhhc0Rl
ZmF1bHRVbmlmb3Jtcyhjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0Citib29sIFByb2dy
YW1FeGVjdXRhYmxlOjpoYXNEZWZhdWx0VW5pZm9ybXMoKSBjb25zdAogewogICAgIEFTU0VSVCht
UHJvZ3JhbVN0YXRlIHx8IG1Qcm9ncmFtUGlwZWxpbmVTdGF0ZSk7CiAgICAgaWYgKG1Qcm9ncmFt
U3RhdGUpCkBAIC04MywxMiArMTk4LDEwIEBAIGJvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6Omhhc0Rl
ZmF1bHRVbmlmb3Jtcyhjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBtUHJvZ3JhbVN0YXRlLT5oYXNEZWZhdWx0VW5pZm9ybXMoKTsKICAgICB9CiAKLSAgICAv
LyBUT0RPKHRpbXZwKTogaHR0cDovL2FuZ2xlYnVnLmNvbS8zNTcwOiBTdXBwb3J0IHByb2dyYW0g
cGlwZWxpbmVzCi0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1Qcm9ncmFtUGlwZWxp
bmVTdGF0ZS0+aGFzRGVmYXVsdFVuaWZvcm1zKCk7CiB9CiAKLWJvb2wgUHJvZ3JhbUV4ZWN1dGFi
bGU6Omhhc1RleHR1cmVzKGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSkgY29uc3QKK2Jvb2wgUHJv
Z3JhbUV4ZWN1dGFibGU6Omhhc1RleHR1cmVzKCkgY29uc3QKIHsKICAgICBBU1NFUlQobVByb2dy
YW1TdGF0ZSB8fCBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUpOwogICAgIGlmIChtUHJvZ3JhbVN0YXRl
KQpAQCAtOTYsMTIgKzIwOSwxMCBAQCBib29sIFByb2dyYW1FeGVjdXRhYmxlOjpoYXNUZXh0dXJl
cyhjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0CiAgICAgICAgIHJldHVybiBtUHJvZ3Jh
bVN0YXRlLT5oYXNUZXh0dXJlcygpOwogICAgIH0KIAotICAgIC8vIFRPRE8odGltdnApOiBodHRw
Oi8vYW5nbGVidWcuY29tLzM1NzA6IFN1cHBvcnQgcHJvZ3JhbSBwaXBlbGluZXMKLQotICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gbVByb2dyYW1QaXBlbGluZVN0YXRlLT5oYXNUZXh0dXJl
cygpOwogfQogCi1ib29sIFByb2dyYW1FeGVjdXRhYmxlOjpoYXNVbmlmb3JtQnVmZmVycyhjb25z
dCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0Citib29sIFByb2dyYW1FeGVjdXRhYmxlOjpoYXNV
bmlmb3JtQnVmZmVycygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1Qcm9ncmFtU3RhdGUgfHwgbVBy
b2dyYW1QaXBlbGluZVN0YXRlKTsKICAgICBpZiAobVByb2dyYW1TdGF0ZSkKQEAgLTEwOSwxMiAr
MjIwLDEwIEBAIGJvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6Omhhc1VuaWZvcm1CdWZmZXJzKGNvbnN0
IGdsOjpTdGF0ZSAmZ2xTdGF0ZSkgY29uc3QKICAgICAgICAgcmV0dXJuIG1Qcm9ncmFtU3RhdGUt
Pmhhc1VuaWZvcm1CdWZmZXJzKCk7CiAgICAgfQogCi0gICAgLy8gVE9ETyh0aW12cCk6IGh0dHA6
Ly9hbmdsZWJ1Zy5jb20vMzU3MDogU3VwcG9ydCBwcm9ncmFtIHBpcGVsaW5lcwotCi0gICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUtPmhhc1VuaWZvcm1C
dWZmZXJzKCk7CiB9CiAKLWJvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6Omhhc1N0b3JhZ2VCdWZmZXJz
KGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSkgY29uc3QKK2Jvb2wgUHJvZ3JhbUV4ZWN1dGFibGU6
Omhhc1N0b3JhZ2VCdWZmZXJzKCkgY29uc3QKIHsKICAgICBBU1NFUlQobVByb2dyYW1TdGF0ZSB8
fCBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUpOwogICAgIGlmIChtUHJvZ3JhbVN0YXRlKQpAQCAtMTIy
LDEyICsyMzEsMTAgQEAgYm9vbCBQcm9ncmFtRXhlY3V0YWJsZTo6aGFzU3RvcmFnZUJ1ZmZlcnMo
Y29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBjb25zdAogICAgICAgICByZXR1cm4gbVByb2dyYW1T
dGF0ZS0+aGFzU3RvcmFnZUJ1ZmZlcnMoKTsKICAgICB9CiAKLSAgICAvLyBUT0RPKHRpbXZwKTog
aHR0cDovL2FuZ2xlYnVnLmNvbS8zNTcwOiBTdXBwb3J0IHByb2dyYW0gcGlwZWxpbmVzCi0KLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1Qcm9ncmFtUGlwZWxpbmVTdGF0ZS0+aGFzU3Rv
cmFnZUJ1ZmZlcnMoKTsKIH0KIAotYm9vbCBQcm9ncmFtRXhlY3V0YWJsZTo6aGFzQXRvbWljQ291
bnRlckJ1ZmZlcnMoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBjb25zdAorYm9vbCBQcm9ncmFt
RXhlY3V0YWJsZTo6aGFzQXRvbWljQ291bnRlckJ1ZmZlcnMoKSBjb25zdAogewogICAgIEFTU0VS
VChtUHJvZ3JhbVN0YXRlIHx8IG1Qcm9ncmFtUGlwZWxpbmVTdGF0ZSk7CiAgICAgaWYgKG1Qcm9n
cmFtU3RhdGUpCkBAIC0xMzUsMTIgKzI0MiwxMCBAQCBib29sIFByb2dyYW1FeGVjdXRhYmxlOjpo
YXNBdG9taWNDb3VudGVyQnVmZmVycyhjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBtUHJvZ3JhbVN0YXRlLT5oYXNBdG9taWNDb3VudGVyQnVmZmVycygpOwog
ICAgIH0KIAotICAgIC8vIFRPRE8odGltdnApOiBodHRwOi8vYW5nbGVidWcuY29tLzM1NzA6IFN1
cHBvcnQgcHJvZ3JhbSBwaXBlbGluZXMKLQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
bVByb2dyYW1QaXBlbGluZVN0YXRlLT5oYXNBdG9taWNDb3VudGVyQnVmZmVycygpOwogfQogCi1i
b29sIFByb2dyYW1FeGVjdXRhYmxlOjpoYXNJbWFnZXMoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRl
KSBjb25zdAorYm9vbCBQcm9ncmFtRXhlY3V0YWJsZTo6aGFzSW1hZ2VzKCkgY29uc3QKIHsKICAg
ICBBU1NFUlQobVByb2dyYW1TdGF0ZSB8fCBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUpOwogICAgIGlm
IChtUHJvZ3JhbVN0YXRlKQpAQCAtMTQ4LDEyICsyNTMsMTAgQEAgYm9vbCBQcm9ncmFtRXhlY3V0
YWJsZTo6aGFzSW1hZ2VzKGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSkgY29uc3QKICAgICAgICAg
cmV0dXJuIG1Qcm9ncmFtU3RhdGUtPmhhc0ltYWdlcygpOwogICAgIH0KIAotICAgIC8vIFRPRE8o
dGltdnApOiBodHRwOi8vYW5nbGVidWcuY29tLzM1NzA6IFN1cHBvcnQgcHJvZ3JhbSBwaXBlbGlu
ZXMKLQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbVByb2dyYW1QaXBlbGluZVN0YXRl
LT5oYXNJbWFnZXMoKTsKIH0KIAotYm9vbCBQcm9ncmFtRXhlY3V0YWJsZTo6aGFzVHJhbnNmb3Jt
RmVlZGJhY2tPdXRwdXQoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBjb25zdAorYm9vbCBQcm9n
cmFtRXhlY3V0YWJsZTo6aGFzVHJhbnNmb3JtRmVlZGJhY2tPdXRwdXQoKSBjb25zdAogewogICAg
IEFTU0VSVChtUHJvZ3JhbVN0YXRlIHx8IG1Qcm9ncmFtUGlwZWxpbmVTdGF0ZSk7CiAgICAgaWYg
KG1Qcm9ncmFtU3RhdGUpCkBAIC0xNjEsOSArMjY0LDcgQEAgYm9vbCBQcm9ncmFtRXhlY3V0YWJs
ZTo6aGFzVHJhbnNmb3JtRmVlZGJhY2tPdXRwdXQoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBj
b24KICAgICAgICAgcmV0dXJuIG1Qcm9ncmFtU3RhdGUtPmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0
cHV0KCk7CiAgICAgfQogCi0gICAgLy8gVE9ETyh0aW12cCk6IGh0dHA6Ly9hbmdsZWJ1Zy5jb20v
MzU3MDogU3VwcG9ydCBwcm9ncmFtIHBpcGVsaW5lcwotCi0gICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiBtUHJvZ3JhbVBpcGVsaW5lU3RhdGUtPmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0
KCk7CiB9CiAKIHNpemVfdCBQcm9ncmFtRXhlY3V0YWJsZTo6Z2V0VHJhbnNmb3JtRmVlZGJhY2tC
dWZmZXJDb3VudChjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0CkBAIC0xNzksMTkgKzI4
MCwyNiBAQCBzaXplX3QgUHJvZ3JhbUV4ZWN1dGFibGU6OmdldFRyYW5zZm9ybUZlZWRiYWNrQnVm
ZmVyQ291bnQoY29uc3QgZ2w6OlN0YXRlICZnbFN0YQogICAgIHJldHVybiAwOwogfQogCi12b2lk
IFByb2dyYW1FeGVjdXRhYmxlOjp1cGRhdGVBY3RpdmVTYW1wbGVycyhjb25zdCBzdGQ6OnZlY3Rv
cjxTYW1wbGVyQmluZGluZz4gJnNhbXBsZXJCaW5kaW5ncykKK3ZvaWQgUHJvZ3JhbUV4ZWN1dGFi
bGU6OnVwZGF0ZUFjdGl2ZVNhbXBsZXJzKGNvbnN0IFByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0YXRl
KQogewotICAgIGZvciAoY29uc3QgU2FtcGxlckJpbmRpbmcgJnNhbXBsZXJCaW5kaW5nIDogc2Ft
cGxlckJpbmRpbmdzKQorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFNhbXBsZXJCaW5kaW5nPiAmc2Ft
cGxlckJpbmRpbmdzID0gcHJvZ3JhbVN0YXRlLmdldFNhbXBsZXJCaW5kaW5ncygpOworCisgICAg
Zm9yICh1aW50MzJfdCBzYW1wbGVySW5kZXggPSAwOyBzYW1wbGVySW5kZXggPCBzYW1wbGVyQmlu
ZGluZ3Muc2l6ZSgpOyArK3NhbXBsZXJJbmRleCkKICAgICB7CisgICAgICAgIGNvbnN0IFNhbXBs
ZXJCaW5kaW5nICZzYW1wbGVyQmluZGluZyA9IHNhbXBsZXJCaW5kaW5nc1tzYW1wbGVySW5kZXhd
OwogICAgICAgICBpZiAoc2FtcGxlckJpbmRpbmcudW5yZWZlcmVuY2VkKQogICAgICAgICAgICAg
Y29udGludWU7CiAKKyAgICAgICAgdWludDMyX3QgdW5pZm9ybUluZGV4ID0gcHJvZ3JhbVN0YXRl
LmdldFVuaWZvcm1JbmRleEZyb21TYW1wbGVySW5kZXgoc2FtcGxlckluZGV4KTsKKyAgICAgICAg
Y29uc3QgZ2w6OkxpbmtlZFVuaWZvcm0gJnNhbXBsZXJVbmlmb3JtID0gcHJvZ3JhbVN0YXRlLmdl
dFVuaWZvcm1zKClbdW5pZm9ybUluZGV4XTsKKwogICAgICAgICBmb3IgKEdMaW50IHRleHR1cmVV
bml0IDogc2FtcGxlckJpbmRpbmcuYm91bmRUZXh0dXJlVW5pdHMpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGlmICgrK21BY3RpdmVTYW1wbGVyUmVmQ291bnRzW3RleHR1cmVVbml0XSA9PSAxKQog
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG1BY3RpdmVTYW1wbGVyVHlwZXNbdGV4dHVy
ZVVuaXRdICAgPSBzYW1wbGVyQmluZGluZy50ZXh0dXJlVHlwZTsKLSAgICAgICAgICAgICAgICBt
QWN0aXZlU2FtcGxlckZvcm1hdHNbdGV4dHVyZVVuaXRdID0gc2FtcGxlckJpbmRpbmcuZm9ybWF0
OworICAgICAgICAgICAgICAgIG1BY3RpdmVTYW1wbGVyVHlwZXNbdGV4dHVyZVVuaXRdICAgICAg
PSBzYW1wbGVyQmluZGluZy50ZXh0dXJlVHlwZTsKKyAgICAgICAgICAgICAgICBtQWN0aXZlU2Ft
cGxlckZvcm1hdHNbdGV4dHVyZVVuaXRdICAgID0gc2FtcGxlckJpbmRpbmcuZm9ybWF0OworICAg
ICAgICAgICAgICAgIG1BY3RpdmVTYW1wbGVyU2hhZGVyQml0c1t0ZXh0dXJlVW5pdF0gPSBzYW1w
bGVyVW5pZm9ybS5hY3RpdmVTaGFkZXJzKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICB7CkBAIC0yMTEsMTQgKzMxOSwyMyBAQCB2b2lkIFByb2dyYW1FeGVj
dXRhYmxlOjp1cGRhdGVBY3RpdmVTYW1wbGVycyhjb25zdCBzdGQ6OnZlY3RvcjxTYW1wbGVyQmlu
ZGluZz4gJgogCiB2b2lkIFByb2dyYW1FeGVjdXRhYmxlOjp1cGRhdGVBY3RpdmVJbWFnZXMoc3Rk
Ojp2ZWN0b3I8SW1hZ2VCaW5kaW5nPiAmaW1hZ2VCaW5kaW5ncykKIHsKLSAgICBmb3IgKEltYWdl
QmluZGluZyAmaW1hZ2VCaW5kaW5nIDogaW1hZ2VCaW5kaW5ncykKKyAgICBjb25zdCBib29sIGNv
bXB1dGUgPSBpc0NvbXB1dGUoKSA/IHRydWUgOiBmYWxzZTsKKyAgICBmb3IgKHVpbnQzMl90IGlt
YWdlSW5kZXggPSAwOyBpbWFnZUluZGV4IDwgaW1hZ2VCaW5kaW5ncy5zaXplKCk7ICsraW1hZ2VJ
bmRleCkKICAgICB7CisgICAgICAgIGNvbnN0IGdsOjpJbWFnZUJpbmRpbmcgJmltYWdlQmluZGlu
ZyA9IGltYWdlQmluZGluZ3NbaW1hZ2VJbmRleF07CiAgICAgICAgIGlmIChpbWFnZUJpbmRpbmcu
dW5yZWZlcmVuY2VkKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgdWludDMyX3Qg
dW5pZm9ybUluZGV4ID0gbVByb2dyYW1TdGF0ZS0+Z2V0VW5pZm9ybUluZGV4RnJvbUltYWdlSW5k
ZXgoaW1hZ2VJbmRleCk7CisgICAgICAgIGNvbnN0IGdsOjpMaW5rZWRVbmlmb3JtICZpbWFnZVVu
aWZvcm0gPSBtUHJvZ3JhbVN0YXRlLT5nZXRVbmlmb3JtcygpW3VuaWZvcm1JbmRleF07CisgICAg
ICAgIGNvbnN0IFNoYWRlckJpdFNldCBzaGFkZXJCaXRzICAgICAgICAgPSBpbWFnZVVuaWZvcm0u
YWN0aXZlU2hhZGVycygpOwogICAgICAgICBmb3IgKEdMaW50IGltYWdlVW5pdCA6IGltYWdlQmlu
ZGluZy5ib3VuZEltYWdlVW5pdHMpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1BY3RpdmVJbWFn
ZXNNYXNrLnNldChpbWFnZVVuaXQpOworICAgICAgICAgICAgaWYgKGNvbXB1dGUpCisgICAgICAg
ICAgICAgICAgbUFjdGl2ZUltYWdlU2hhZGVyQml0c1tpbWFnZVVuaXRdLnNldChnbDo6U2hhZGVy
VHlwZTo6Q29tcHV0ZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbUFjdGl2
ZUltYWdlU2hhZGVyQml0c1tpbWFnZVVuaXRdID0gc2hhZGVyQml0czsKICAgICAgICAgfQogICAg
IH0KIH0KQEAgLTI2Nyw0ICszODQsMTQ0IEBAIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6OnNldFNh
bXBsZXJVbmlmb3JtVGV4dHVyZVR5cGVBbmRGb3JtYXQoCiAgICAgbUFjdGl2ZVNhbXBsZXJGb3Jt
YXRzW3RleHR1cmVVbml0SW5kZXhdID0gZm91bmRGb3JtYXQ7CiB9CiAKK2Jvb2wgUHJvZ3JhbUV4
ZWN1dGFibGU6OmxpbmtWYWxpZGF0ZUdsb2JhbE5hbWVzKEluZm9Mb2cgJmluZm9Mb2cpIGNvbnN0
Cit7CisgICAgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBjb25zdCBzaDo6U2hhZGVy
VmFyaWFibGUgKj4gdW5pZm9ybU1hcDsKKyAgICB1c2luZyBCbG9ja0FuZEZpZWxkUGFpciA9IHN0
ZDo6cGFpcjxjb25zdCBzaDo6SW50ZXJmYWNlQmxvY2sgKiwgY29uc3Qgc2g6OlNoYWRlclZhcmlh
YmxlICo+OworICAgIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgc3RkOjp2ZWN0b3I8
QmxvY2tBbmRGaWVsZFBhaXI+PiB1bmlmb3JtQmxvY2tGaWVsZE1hcDsKKworICAgIGZvciAoU2hh
ZGVyVHlwZSBzaGFkZXJUeXBlIDoga0FsbEdyYXBoaWNzU2hhZGVyVHlwZXMpCisgICAgeworICAg
ICAgICBjb25zdCBQcm9ncmFtU3RhdGUgKnByb2dyYW1TdGF0ZSA9IGdldFByb2dyYW1TdGF0ZShz
aGFkZXJUeXBlKTsKKyAgICAgICAgaWYgKCFwcm9ncmFtU3RhdGUpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIFNoYWRlciAqc2hhZGVyID0gcHJv
Z3JhbVN0YXRlLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAgICAgICAgaWYgKCFz
aGFkZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gQnVpbGQgYSBtYXAgb2YgVW5pZm9ybXMKKyAgICAgICAgY29uc3Qgc3RkOjp2ZWN0
b3I8c2g6OlNoYWRlclZhcmlhYmxlPiB1bmlmb3JtcyA9IHNoYWRlci0+Z2V0VW5pZm9ybXMoKTsK
KyAgICAgICAgZm9yIChjb25zdCBhdXRvICZ1bmlmb3JtIDogdW5pZm9ybXMpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHVuaWZvcm1NYXBbdW5pZm9ybS5uYW1lXSA9ICZ1bmlmb3JtOworICAgICAg
ICB9CisKKyAgICAgICAgLy8gQnVpbGQgYSBtYXAgb2YgVW5pZm9ybSBCbG9ja3MKKyAgICAgICAg
Ly8gVGhpcyB3aWxsIGFsc28gZGV0ZWN0IGFueSBmaWVsZCBuYW1lIGNvbmZsaWN0cyBiZXR3ZWVu
IFVuaWZvcm0gQmxvY2tzIHdpdGhvdXQgaW5zdGFuY2UKKyAgICAgICAgLy8gbmFtZXMKKyAgICAg
ICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OkludGVyZmFjZUJsb2NrPiAmdW5pZm9ybUJsb2NrcyA9
IHNoYWRlci0+Z2V0VW5pZm9ybUJsb2NrcygpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8gJnVu
aWZvcm1CbG9jayA6IHVuaWZvcm1CbG9ja3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE9u
bHkgdW5pZm9ybSBibG9ja3Mgd2l0aG91dCBhbiBpbnN0YW5jZSBuYW1lIGNhbiBjcmVhdGUgYSBj
b25mbGljdCB3aXRoIHRoZWlyIGZpZWxkCisgICAgICAgICAgICAvLyBuYW1lcworICAgICAgICAg
ICAgaWYgKCF1bmlmb3JtQmxvY2suaW5zdGFuY2VOYW1lLmVtcHR5KCkpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byAmZmllbGQgOiB1bmlmb3JtQmxvY2suZmllbGRzKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGlmICghdW5pZm9ybUJsb2NrRmllbGRNYXAuY291bnQoZmll
bGQubmFtZSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJz
dCB0aW1lIHdlJ3ZlIHNlZW4gdGhpcyB1bmlmb3JtIGJsb2NrIGZpZWxkIG5hbWUsIHNvIGFkZCB0
aGUKKyAgICAgICAgICAgICAgICAgICAgLy8gKFVuaWZvcm0gQmxvY2ssIEZpZWxkKSBwYWlyIGlt
bWVkaWF0ZWx5IHNpbmNlIHRoZXJlIGNhbid0IGJlIGEgY29uZmxpY3QgeWV0CisgICAgICAgICAg
ICAgICAgICAgIEJsb2NrQW5kRmllbGRQYWlyIGJsb2NrQW5kRmllbGRQYWlyKCZ1bmlmb3JtQmxv
Y2ssICZmaWVsZCk7CisgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEJsb2NrQW5kRmll
bGRQYWlyPiBuZXdVbmlmb3JtQmxvY2tMaXN0OworICAgICAgICAgICAgICAgICAgICBuZXdVbmlm
b3JtQmxvY2tMaXN0LnB1c2hfYmFjayhibG9ja0FuZEZpZWxkUGFpcik7CisgICAgICAgICAgICAg
ICAgICAgIHVuaWZvcm1CbG9ja0ZpZWxkTWFwW2ZpZWxkLm5hbWVdID0gbmV3VW5pZm9ybUJsb2Nr
TGlzdDsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgLy8gV2UndmUgc2VlbiB0aGlzIG5hbWUgYmVmb3JlLgorICAgICAg
ICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgZWFjaCBvZiB0aGUgdW5pZm9ybSBibG9ja3Mg
dGhhdCBjb250YWluIGEgZmllbGQgd2l0aCB0aGlzIG5hbWUKKyAgICAgICAgICAgICAgICAvLyB0
byBzZWUgaWYgdGhlcmUncyBhIGNvbmZsaWN0IG9yIG5vdC4KKyAgICAgICAgICAgICAgICBzdGQ6
OnZlY3RvcjxCbG9ja0FuZEZpZWxkUGFpcj4gcHJldkJsb2NrRmllbGRQYWlycyA9CisgICAgICAg
ICAgICAgICAgICAgIHVuaWZvcm1CbG9ja0ZpZWxkTWFwW2ZpZWxkLm5hbWVdOworICAgICAgICAg
ICAgICAgIGZvciAoY29uc3QgYXV0byAmcHJldkJsb2NrRmllbGRQYWlyIDogcHJldkJsb2NrRmll
bGRQYWlycykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNo
OjpJbnRlcmZhY2VCbG9jayAqcHJldlVuaWZvcm1CbG9jayAgICAgID0gcHJldkJsb2NrRmllbGRQ
YWlyLmZpcnN0OworICAgICAgICAgICAgICAgICAgICBjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUg
KnByZXZVbmlmb3JtQmxvY2tGaWVsZCA9IHByZXZCbG9ja0ZpZWxkUGFpci5zZWNvbmQ7CisKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHVuaWZvcm1CbG9jay5pc1NhbWVJbnRlcmZhY2VCbG9ja0F0
TGlua1RpbWUoKnByZXZVbmlmb3JtQmxvY2spKQorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc2FtZSB1bmlmb3JtIGJsb2NrIHNob3VsZCwgYnkg
ZGVmaW5pdGlvbiwgY29udGFpbiB0aGUgc2FtZSBmaWVsZCBuYW1lCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgICAgIC8vIFRoZSB1bmlmb3JtIGJsb2NrcyBkb24ndCBtYXRjaCwgc28gY2hlY2sgaWYgdGhl
IG5lY2Vzc2FyeSBmaWVsZCBwcm9wZXJ0aWVzCisgICAgICAgICAgICAgICAgICAgIC8vIGFsc28g
bWF0Y2gKKyAgICAgICAgICAgICAgICAgICAgaWYgKChmaWVsZC5uYW1lID09IHByZXZVbmlmb3Jt
QmxvY2tGaWVsZC0+bmFtZSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBl
ID09IHByZXZVbmlmb3JtQmxvY2tGaWVsZC0+dHlwZSkgJiYKKyAgICAgICAgICAgICAgICAgICAg
ICAgIChmaWVsZC5wcmVjaXNpb24gPT0gcHJldlVuaWZvcm1CbG9ja0ZpZWxkLT5wcmVjaXNpb24p
KQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvTG9n
IDw8ICJOYW1lIGNvbmZsaWN0cyBiZXR3ZWVuIHVuaWZvcm0gYmxvY2sgZmllbGQgbmFtZXM6ICIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgZmllbGQubmFtZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIE5vIGNvbmZsaWN0LCBzbyByZWNv
cmQgdGhpcyBwYWlyCisgICAgICAgICAgICAgICAgQmxvY2tBbmRGaWVsZFBhaXIgYmxvY2tBbmRG
aWVsZFBhaXIoJnVuaWZvcm1CbG9jaywgJmZpZWxkKTsKKyAgICAgICAgICAgICAgICB1bmlmb3Jt
QmxvY2tGaWVsZE1hcFtmaWVsZC5uYW1lXS5wdXNoX2JhY2soYmxvY2tBbmRGaWVsZFBhaXIpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gVmFsaWRhdGUgbm8gdW5p
Zm9ybSBuYW1lcyBjb25mbGljdCB3aXRoIGF0dHJpYnV0ZSBuYW1lcworICAgIGNvbnN0IFByb2dy
YW1TdGF0ZSAqcHJvZ3JhbVN0YXRlID0gZ2V0UHJvZ3JhbVN0YXRlKFNoYWRlclR5cGU6OlZlcnRl
eCk7CisgICAgaWYgKHByb2dyYW1TdGF0ZSkKKyAgICB7CisgICAgICAgIFNoYWRlciAqdmVydGV4
U2hhZGVyID0gcHJvZ3JhbVN0YXRlLT5nZXRBdHRhY2hlZFNoYWRlcihTaGFkZXJUeXBlOjpWZXJ0
ZXgpOworICAgICAgICBpZiAodmVydGV4U2hhZGVyKQorICAgICAgICB7CisgICAgICAgICAgICBm
b3IgKGNvbnN0IGF1dG8gJmF0dHJpYiA6IHZlcnRleFNoYWRlci0+Z2V0QWN0aXZlQXR0cmlidXRl
cygpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICh1bmlmb3JtTWFwLmNvdW50
KGF0dHJpYi5uYW1lKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlu
Zm9Mb2cgPDwgIk5hbWUgY29uZmxpY3RzIGJldHdlZW4gYSB1bmlmb3JtIGFuZCBhbiBhdHRyaWJ1
dGU6ICIgPDwgYXR0cmliLm5hbWU7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICAvLyBWYWxpZGF0ZSBubyBVbmlmb3JtIEJsb2NrIGZpZWxkcyBjb25mbGljdCB3aXRoIG90aGVy
IFVuaWZvcm1zCisgICAgZm9yIChjb25zdCBhdXRvICZ1bmlmb3JtQmxvY2tGaWVsZCA6IHVuaWZv
cm1CbG9ja0ZpZWxkTWFwKQorICAgIHsKKyAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJmZpZWxk
TmFtZSA9IHVuaWZvcm1CbG9ja0ZpZWxkLmZpcnN0OworICAgICAgICBpZiAodW5pZm9ybU1hcC5j
b3VudChmaWVsZE5hbWUpKQorICAgICAgICB7CisgICAgICAgICAgICBpbmZvTG9nIDw8ICJOYW1l
IGNvbmZsaWN0cyBiZXR3ZWVuIGEgdW5pZm9ybSBhbmQgYSB1bmlmb3JtIGJsb2NrIGZpZWxkOiAi
IDw8IGZpZWxkTmFtZTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFByb2dyYW1FeGVjdXRhYmxlOjp1cGRh
dGVDYW5EcmF3V2l0aCgpCit7CisgICAgbUNhbkRyYXdXaXRoID0KKyAgICAgICAgKGhhc0xpbmtl
ZFNoYWRlclN0YWdlKFNoYWRlclR5cGU6OlZlcnRleCkgJiYgaGFzTGlua2VkU2hhZGVyU3RhZ2Uo
U2hhZGVyVHlwZTo6RnJhZ21lbnQpKTsKK30KKwordm9pZCBQcm9ncmFtRXhlY3V0YWJsZTo6c2F2
ZUxpbmtlZFN0YXRlSW5mbygpCit7CisgICAgLy8gT25seSBhIFByb2dyYW0ncyBsaW5rZWQgZGF0
YSBuZWVkcyB0byBiZSBzYXZlZCwgbm90IGEgUHJvZ3JhbVBpcGVsaW5lJ3MKKyAgICBBU1NFUlQo
bVByb2dyYW1TdGF0ZSk7CisKKyAgICBmb3IgKFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdldExp
bmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsKKyAgICAgICAgU2hhZGVyICpzaGFkZXIgPSBtUHJv
Z3JhbVN0YXRlLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAgICAgICAgQVNTRVJU
KHNoYWRlcik7CisgICAgICAgIG1MaW5rZWRPdXRwdXRWYXJ5aW5nc1tzaGFkZXJUeXBlXSA9IHNo
YWRlci0+Z2V0T3V0cHV0VmFyeWluZ3MoKTsKKyAgICAgICAgbUxpbmtlZElucHV0VmFyeWluZ3Nb
c2hhZGVyVHlwZV0gID0gc2hhZGVyLT5nZXRJbnB1dFZhcnlpbmdzKCk7CisgICAgICAgIG1MaW5r
ZWRTaGFkZXJWZXJzaW9uc1tzaGFkZXJUeXBlXSA9IHNoYWRlci0+Z2V0U2hhZGVyVmVyc2lvbigp
OworICAgIH0KK30KKwogfSAgLy8gbmFtZXNwYWNlIGdsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUHJvZ3JhbUV4ZWN1dGFibGUuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Qcm9ncmFtRXhlY3V0YWJsZS5oCmluZGV4IDdk
N2U3ODUzM2VhZGM5OGZjYTNiNTIxN2Y5ZTczMzIzZmI0N2U5Y2UuLjg0MDlkMTIzZWIxN2IzOGY0
ZDIzYzQ0NGJlYTAwZjNlNzI3YjdlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9Qcm9ncmFtRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Qcm9ncmFtRXhlY3V0YWJsZS5oCkBAIC05LDggKzksMTIg
QEAKICNpZm5kZWYgTElCQU5HTEVfUFJPR1JBTUVYRUNVVEFCTEVfSF8KICNkZWZpbmUgTElCQU5H
TEVfUFJPR1JBTUVYRUNVVEFCTEVfSF8KIAorI2luY2x1ZGUgIkJpbmFyeVN0cmVhbS5oIgogI2lu
Y2x1ZGUgImxpYkFOR0xFL0NhcHMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9JbmZvTG9nLmgiCisj
aW5jbHVkZSAibGliQU5HTEUvUHJvZ3JhbUxpbmtlZFJlc291cmNlcy5oIgorI2luY2x1ZGUgImxp
YkFOR0xFL1NoYWRlci5oIgorI2luY2x1ZGUgImxpYkFOR0xFL1VuaWZvcm0uaCIKICNpbmNsdWRl
ICJsaWJBTkdMRS9WYXJ5aW5nUGFja2luZy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL2FuZ2xldHlw
ZXMuaCIKIApAQCAtNTIsNiArNTYsNDUgQEAgc3RydWN0IEltYWdlQmluZGluZwogICAgIGJvb2wg
dW5yZWZlcmVuY2VkOwogfTsKIAorLy8gQSB2YXJ5aW5nIHdpdGggdHJhbnNmb3JtIGZlZWRiYWNr
IGVuYWJsZWQuIElmIGl0J3MgYW4gYXJyYXksIGVpdGhlciB0aGUgd2hvbGUgYXJyYXkgb3Igb25l
IG9mIGl0cworLy8gZWxlbWVudHMgc3BlY2lmaWVkIGJ5ICdhcnJheUluZGV4JyBjYW4gc2V0IHRv
IGJlIGVuYWJsZWQuCitzdHJ1Y3QgVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nIDogcHVibGljIHNo
OjpTaGFkZXJWYXJpYWJsZQoreworICAgIFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyhjb25zdCBz
aDo6U2hhZGVyVmFyaWFibGUgJnZhcnlpbmdJbiwgR0x1aW50IGFycmF5SW5kZXhJbikKKyAgICAg
ICAgOiBzaDo6U2hhZGVyVmFyaWFibGUodmFyeWluZ0luKSwgYXJyYXlJbmRleChhcnJheUluZGV4
SW4pCisgICAgeworICAgICAgICBBU1NFUlQoIWlzQXJyYXlPZkFycmF5cygpKTsKKyAgICB9CisK
KyAgICBUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmcoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZm
aWVsZCwgY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZwYXJlbnQpCisgICAgICAgIDogYXJyYXlJ
bmRleChHTF9JTlZBTElEX0lOREVYKQorICAgIHsKKyAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxl
ICp0aGlzVmFyID0gdGhpczsKKyAgICAgICAgKnRoaXNWYXIgICAgICAgICAgICAgICAgICAgID0g
ZmllbGQ7CisgICAgICAgIGludGVycG9sYXRpb24gICAgICAgICAgICAgICA9IHBhcmVudC5pbnRl
cnBvbGF0aW9uOworICAgICAgICBpc0ludmFyaWFudCAgICAgICAgICAgICAgICAgPSBwYXJlbnQu
aXNJbnZhcmlhbnQ7CisgICAgICAgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICA9IHBhcmVu
dC5uYW1lICsgIi4iICsgbmFtZTsKKyAgICAgICAgbWFwcGVkTmFtZSAgICAgICAgICAgICAgICAg
ID0gcGFyZW50Lm1hcHBlZE5hbWUgKyAiLiIgKyBtYXBwZWROYW1lOworICAgIH0KKworICAgIHN0
ZDo6c3RyaW5nIG5hbWVXaXRoQXJyYXlJbmRleCgpIGNvbnN0CisgICAgeworICAgICAgICBzdGQ6
OnN0cmluZ3N0cmVhbSBmdWxsTmFtZVN0cjsKKyAgICAgICAgZnVsbE5hbWVTdHIgPDwgbmFtZTsK
KyAgICAgICAgaWYgKGFycmF5SW5kZXggIT0gR0xfSU5WQUxJRF9JTkRFWCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZnVsbE5hbWVTdHIgPDwgIlsiIDw8IGFycmF5SW5kZXggPDwgIl0iOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBmdWxsTmFtZVN0ci5zdHIoKTsKKyAgICB9CisgICAgR0xz
aXplaSBzaXplKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAoaXNBcnJheSgpICYmIGFy
cmF5SW5kZXggPT0gR0xfSU5WQUxJRF9JTkRFWCA/IGdldE91dGVybW9zdEFycmF5U2l6ZSgpIDog
MSk7CisgICAgfQorCisgICAgR0x1aW50IGFycmF5SW5kZXg7Cit9OworCiBjbGFzcyBQcm9ncmFt
U3RhdGU7CiBjbGFzcyBQcm9ncmFtUGlwZWxpbmVTdGF0ZTsKIApAQCAtNTksMjUgKzEwMiw1NiBA
QCBjbGFzcyBQcm9ncmFtRXhlY3V0YWJsZQogewogICBwdWJsaWM6CiAgICAgUHJvZ3JhbUV4ZWN1
dGFibGUoKTsKKyAgICBQcm9ncmFtRXhlY3V0YWJsZShjb25zdCBQcm9ncmFtRXhlY3V0YWJsZSAm
b3RoZXIpOwogICAgIHZpcnR1YWwgflByb2dyYW1FeGVjdXRhYmxlKCk7CiAKICAgICB2b2lkIHJl
c2V0KCk7CiAKKyAgICB2b2lkIHNhdmUoZ2w6OkJpbmFyeU91dHB1dFN0cmVhbSAqc3RyZWFtKSBj
b25zdDsKKyAgICB2b2lkIGxvYWQoZ2w6OkJpbmFyeUlucHV0U3RyZWFtICpzdHJlYW0pOworCisg
ICAgY29uc3QgUHJvZ3JhbVN0YXRlICpnZXRQcm9ncmFtU3RhdGUoU2hhZGVyVHlwZSBzaGFkZXJU
eXBlKSBjb25zdDsKKwogICAgIGludCBnZXRJbmZvTG9nTGVuZ3RoKCkgY29uc3Q7CiAgICAgSW5m
b0xvZyAmZ2V0SW5mb0xvZygpIHsgcmV0dXJuIG1JbmZvTG9nOyB9CiAgICAgdm9pZCBnZXRJbmZv
TG9nKEdMc2l6ZWkgYnVmU2l6ZSwgR0xzaXplaSAqbGVuZ3RoLCBjaGFyICppbmZvTG9nKSBjb25z
dDsKICAgICBzdGQ6OnN0cmluZyBnZXRJbmZvTG9nU3RyaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBy
ZXNldEluZm9Mb2coKSB7IG1JbmZvTG9nLnJlc2V0KCk7IH0KIAotICAgIGNvbnN0IFNoYWRlckJp
dFNldCAmZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkgY29uc3QgeyByZXR1cm4gbUxpbmtlZFNoYWRl
clN0YWdlczsgfQotICAgIFNoYWRlckJpdFNldCAmZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkgeyBy
ZXR1cm4gbUxpbmtlZFNoYWRlclN0YWdlczsgfQorICAgIHZvaWQgcmVzZXRMaW5rZWRTaGFkZXJT
dGFnZXMoKQorICAgIHsKKyAgICAgICAgbUxpbmtlZENvbXB1dGVTaGFkZXJTdGFnZXMucmVzZXQo
KTsKKyAgICAgICAgbUxpbmtlZEdyYXBoaWNzU2hhZGVyU3RhZ2VzLnJlc2V0KCk7CisgICAgfQor
ICAgIGNvbnN0IFNoYWRlckJpdFNldCAmZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBpc0NvbXB1dGUoKSA/IG1MaW5rZWRDb21wdXRlU2hhZGVyU3Rh
Z2VzIDogbUxpbmtlZEdyYXBoaWNzU2hhZGVyU3RhZ2VzOworICAgIH0KKyAgICB2b2lkIHNldExp
bmtlZFNoYWRlclN0YWdlcyhTaGFkZXJUeXBlIHNoYWRlclR5cGUpCisgICAgeworICAgICAgICBp
ZiAoc2hhZGVyVHlwZSA9PSBTaGFkZXJUeXBlOjpDb21wdXRlKQorICAgICAgICB7CisgICAgICAg
ICAgICBtTGlua2VkQ29tcHV0ZVNoYWRlclN0YWdlcy5zZXQoU2hhZGVyVHlwZTo6Q29tcHV0ZSk7
CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBtTGlua2Vk
R3JhcGhpY3NTaGFkZXJTdGFnZXMuc2V0KHNoYWRlclR5cGUpOworICAgICAgICB9CisKKyAgICAg
ICAgdXBkYXRlQ2FuRHJhd1dpdGgoKTsKKyAgICB9CiAgICAgYm9vbCBoYXNMaW5rZWRTaGFkZXJT
dGFnZShTaGFkZXJUeXBlIHNoYWRlclR5cGUpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQo
c2hhZGVyVHlwZSAhPSBTaGFkZXJUeXBlOjpJbnZhbGlkRW51bSk7Ci0gICAgICAgIHJldHVybiBt
TGlua2VkU2hhZGVyU3RhZ2VzW3NoYWRlclR5cGVdOworICAgICAgICByZXR1cm4gKHNoYWRlclR5
cGUgPT0gU2hhZGVyVHlwZTo6Q29tcHV0ZSkgPyBtTGlua2VkQ29tcHV0ZVNoYWRlclN0YWdlc1tz
aGFkZXJUeXBlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiBtTGlua2VkR3JhcGhpY3NTaGFkZXJTdGFnZXNbc2hhZGVyVHlwZV07CisgICAgfQor
ICAgIHNpemVfdCBnZXRMaW5rZWRTaGFkZXJTdGFnZUNvdW50KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBpc0NvbXB1dGUoKSA/IG1MaW5rZWRDb21wdXRlU2hhZGVyU3RhZ2VzLmNvdW50
KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbUxpbmtlZEdyYXBoaWNzU2hhZGVyU3Rh
Z2VzLmNvdW50KCk7CiAgICAgfQotICAgIHNpemVfdCBnZXRMaW5rZWRTaGFkZXJTdGFnZUNvdW50
KCkgY29uc3QgeyByZXR1cm4gbUxpbmtlZFNoYWRlclN0YWdlcy5jb3VudCgpOyB9Ci0gICAgYm9v
bCBpc0NvbXB1dGUoKSBjb25zdCB7IHJldHVybiBoYXNMaW5rZWRTaGFkZXJTdGFnZShTaGFkZXJU
eXBlOjpDb21wdXRlKTsgfQorICAgIGJvb2wgaXNDb21wdXRlKCkgY29uc3Q7CiAKICAgICBjb25z
dCBBdHRyaWJ1dGVzTWFzayAmZ2V0QWN0aXZlQXR0cmliTG9jYXRpb25zTWFzaygpIGNvbnN0CiAg
ICAgewpAQCAtOTQsMjQgKzE2OCwzNCBAQCBjbGFzcyBQcm9ncmFtRXhlY3V0YWJsZQogICAgIHsK
ICAgICAgICAgcmV0dXJuIG1BY3RpdmVTYW1wbGVyRm9ybWF0c1t0ZXh0dXJlVW5pdEluZGV4XTsK
ICAgICB9CisgICAgY29uc3QgU2hhZGVyQml0U2V0IGdldFNhbXBsZXJTaGFkZXJCaXRzRm9yVGV4
dHVyZVVuaXRJbmRleChzaXplX3QgdGV4dHVyZVVuaXRJbmRleCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtQWN0aXZlU2FtcGxlclNoYWRlckJpdHNbdGV4dHVyZVVuaXRJbmRleF07Cisg
ICAgfQogICAgIGNvbnN0IEFjdGl2ZVRleHR1cmVNYXNrICZnZXRBY3RpdmVJbWFnZXNNYXNrKCkg
Y29uc3QgeyByZXR1cm4gbUFjdGl2ZUltYWdlc01hc2s7IH0KKyAgICBjb25zdCBBY3RpdmVUZXh0
dXJlQXJyYXk8U2hhZGVyQml0U2V0PiAmZ2V0QWN0aXZlSW1hZ2VTaGFkZXJCaXRzKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtQWN0aXZlSW1hZ2VTaGFkZXJCaXRzOworICAgIH0KIAog
ICAgIGNvbnN0IEFjdGl2ZVRleHR1cmVBcnJheTxUZXh0dXJlVHlwZT4gJmdldEFjdGl2ZVNhbXBs
ZXJUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbUFjdGl2ZVNhbXBsZXJUeXBl
czsKICAgICB9CiAKLSAgICBib29sIGhhc0RlZmF1bHRVbmlmb3Jtcyhjb25zdCBnbDo6U3RhdGUg
JmdsU3RhdGUpIGNvbnN0OwotICAgIGJvb2wgaGFzVGV4dHVyZXMoY29uc3QgZ2w6OlN0YXRlICZn
bFN0YXRlKSBjb25zdDsKLSAgICBib29sIGhhc1VuaWZvcm1CdWZmZXJzKGNvbnN0IGdsOjpTdGF0
ZSAmZ2xTdGF0ZSkgY29uc3Q7Ci0gICAgYm9vbCBoYXNTdG9yYWdlQnVmZmVycyhjb25zdCBnbDo6
U3RhdGUgJmdsU3RhdGUpIGNvbnN0OwotICAgIGJvb2wgaGFzQXRvbWljQ291bnRlckJ1ZmZlcnMo
Y29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBjb25zdDsKLSAgICBib29sIGhhc0ltYWdlcyhjb25z
dCBnbDo6U3RhdGUgJmdsU3RhdGUpIGNvbnN0OwotICAgIGJvb2wgaGFzVHJhbnNmb3JtRmVlZGJh
Y2tPdXRwdXQoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKSBjb25zdDsKKyAgICBib29sIGhhc0Rl
ZmF1bHRVbmlmb3JtcygpIGNvbnN0OworICAgIGJvb2wgaGFzVGV4dHVyZXMoKSBjb25zdDsKKyAg
ICBib29sIGhhc1VuaWZvcm1CdWZmZXJzKCkgY29uc3Q7CisgICAgYm9vbCBoYXNTdG9yYWdlQnVm
ZmVycygpIGNvbnN0OworICAgIGJvb2wgaGFzQXRvbWljQ291bnRlckJ1ZmZlcnMoKSBjb25zdDsK
KyAgICBib29sIGhhc0ltYWdlcygpIGNvbnN0OworICAgIGJvb2wgaGFzVHJhbnNmb3JtRmVlZGJh
Y2tPdXRwdXQoKSBjb25zdDsKIAogICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgdW5pZm9ybSBh
bmQgc3RvcmFnZSBidWZmZXIgZGVjbGFyYXRpb25zLCBjb3VudGluZyBhcnJheXMgYXMgb25lLgog
ICAgIHNpemVfdCBnZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50KGNvbnN0IGdsOjpTdGF0
ZSAmZ2xTdGF0ZSkgY29uc3Q7CiAKKyAgICBib29sIGxpbmtWYWxpZGF0ZUdsb2JhbE5hbWVzKElu
Zm9Mb2cgJmluZm9Mb2cpIGNvbnN0OworCiAgICAgLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVnLmNv
bS80NTIwOiBSZW1vdmUgbVByb2dyYW1TdGF0ZS9tUHJvZ3JhbVBpcGVsaW5lU3RhdGUKICAgICB2
b2lkIHNldFByb2dyYW1TdGF0ZShQcm9ncmFtU3RhdGUgKnN0YXRlKQogICAgIHsKQEAgLTEyNCw2
ICsyMDgsODMgQEAgY2xhc3MgUHJvZ3JhbUV4ZWN1dGFibGUKICAgICAgICAgbVByb2dyYW1QaXBl
bGluZVN0YXRlID0gc3RhdGU7CiAgICAgfQogCisgICAgdm9pZCBzZXRJc0NvbXB1dGUoYm9vbCBp
c0NvbXB1dGVJbik7CisKKyAgICB2b2lkIHVwZGF0ZUNhbkRyYXdXaXRoKCk7CisgICAgYm9vbCBo
YXNWZXJ0ZXhBbmRGcmFnbWVudFNoYWRlcigpIGNvbnN0IHsgcmV0dXJuIG1DYW5EcmF3V2l0aDsg
fQorCisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmZ2V0UHJvZ3Jh
bUlucHV0cygpIGNvbnN0IHsgcmV0dXJuIG1Qcm9ncmFtSW5wdXRzOyB9CisgICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmZ2V0T3V0cHV0VmFyaWFibGVzKCkgY29uc3Qg
eyByZXR1cm4gbU91dHB1dFZhcmlhYmxlczsgfQorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFZhcmlh
YmxlTG9jYXRpb24+ICZnZXRPdXRwdXRMb2NhdGlvbnMoKSBjb25zdCB7IHJldHVybiBtT3V0cHV0
TG9jYXRpb25zOyB9CisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8TGlua2VkVW5pZm9ybT4gJmdldFVu
aWZvcm1zKCkgY29uc3QgeyByZXR1cm4gbVVuaWZvcm1zOyB9CisgICAgY29uc3Qgc3RkOjp2ZWN0
b3I8SW50ZXJmYWNlQmxvY2s+ICZnZXRVbmlmb3JtQmxvY2tzKCkgY29uc3QgeyByZXR1cm4gbVVu
aWZvcm1CbG9ja3M7IH0KKyAgICBjb25zdCBSYW5nZVVJICZnZXRTYW1wbGVyVW5pZm9ybVJhbmdl
KCkgY29uc3QgeyByZXR1cm4gbVNhbXBsZXJVbmlmb3JtUmFuZ2U7IH0KKyAgICBjb25zdCBSYW5n
ZVVJICZnZXRJbWFnZVVuaWZvcm1SYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1JbWFnZVVuaWZvcm1S
YW5nZTsgfQorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZz4g
JmdldExpbmtlZFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1MaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzOworICAgIH0KKyAgICBH
TGludCBnZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKSBjb25zdCB7IHJldHVybiBtVHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJNb2RlOyB9CisgICAgR0x1aW50IGdldFVuaWZvcm1CbG9ja0Jp
bmRpbmcoR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4KSBjb25zdAorICAgIHsKKyAgICAgICAgQVNT
RVJUKHVuaWZvcm1CbG9ja0luZGV4IDwgbVVuaWZvcm1CbG9ja3Muc2l6ZSgpKTsKKyAgICAgICAg
cmV0dXJuIG1Vbmlmb3JtQmxvY2tzW3VuaWZvcm1CbG9ja0luZGV4XS5iaW5kaW5nOworICAgIH0K
KyAgICBHTHVpbnQgZ2V0U2hhZGVyU3RvcmFnZUJsb2NrQmluZGluZyhHTHVpbnQgYmxvY2tJbmRl
eCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChibG9ja0luZGV4IDwgbVNoYWRlclN0b3Jh
Z2VCbG9ja3Muc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIG1TaGFkZXJTdG9yYWdlQmxvY2tzW2Js
b2NrSW5kZXhdLmJpbmRpbmc7CisgICAgfQorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdMc2l6ZWk+
ICZnZXRUcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1UcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXM7CisgICAgfQorICAgIGNvbnN0IHN0ZDo6dmVj
dG9yPEF0b21pY0NvdW50ZXJCdWZmZXI+ICZnZXRBdG9taWNDb3VudGVyQnVmZmVycygpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbUF0b21pY0NvdW50ZXJCdWZmZXJzOworICAgIH0KKyAg
ICBjb25zdCBzdGQ6OnZlY3RvcjxJbnRlcmZhY2VCbG9jaz4gJmdldFNoYWRlclN0b3JhZ2VCbG9j
a3MoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1TaGFkZXJTdG9yYWdlQmxvY2tzOwor
ICAgIH0KKyAgICBjb25zdCBMaW5rZWRVbmlmb3JtICZnZXRVbmlmb3JtQnlJbmRleChHTHVpbnQg
aW5kZXgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaW5kZXggPCBzdGF0aWNfY2FzdDxz
aXplX3Q+KG1Vbmlmb3Jtcy5zaXplKCkpKTsKKyAgICAgICAgcmV0dXJuIG1Vbmlmb3Jtc1tpbmRl
eF07CisgICAgfQorCisgICAgQU5HTEVfSU5MSU5FIEdMdWludCBnZXRBY3RpdmVVbmlmb3JtQmxv
Y2tDb3VudCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8R0x1aW50
PihtVW5pZm9ybUJsb2Nrcy5zaXplKCkpOworICAgIH0KKworICAgIEFOR0xFX0lOTElORSBHTHVp
bnQgZ2V0QWN0aXZlQXRvbWljQ291bnRlckJ1ZmZlckNvdW50KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxHTHVpbnQ+KG1BdG9taWNDb3VudGVyQnVmZmVycy5zaXpl
KCkpOworICAgIH0KKworICAgIEFOR0xFX0lOTElORSBHTHVpbnQgZ2V0QWN0aXZlU2hhZGVyU3Rv
cmFnZUJsb2NrQ291bnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEdMdWludD4obVNoYWRlclN0b3JhZ2VCbG9ja3Muc2l6ZSgpKTsKKyAgICB9CisKKyAgICBnbDo6
UHJvZ3JhbUxpbmtlZFJlc291cmNlcyAmZ2V0UmVzb3VyY2VzKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtUmVzb3VyY2VzKTsKKyAgICAgICAgcmV0dXJuICptUmVzb3VyY2VzOworICAg
IH0KKworICAgIHZvaWQgc2F2ZUxpbmtlZFN0YXRlSW5mbygpOworICAgIHN0ZDo6dmVjdG9yPHNo
OjpTaGFkZXJWYXJpYWJsZT4gZ2V0TGlua2VkT3V0cHV0VmFyeWluZ3MoU2hhZGVyVHlwZSBzaGFk
ZXJUeXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1MaW5rZWRPdXRwdXRWYXJ5aW5nc1tzaGFk
ZXJUeXBlXTsKKyAgICB9CisgICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiBnZXRM
aW5rZWRJbnB1dFZhcnlpbmdzKFNoYWRlclR5cGUgc2hhZGVyVHlwZSkKKyAgICB7CisgICAgICAg
IHJldHVybiBtTGlua2VkSW5wdXRWYXJ5aW5nc1tzaGFkZXJUeXBlXTsKKyAgICB9CisgICAgaW50
IGdldExpbmtlZFNoYWRlclZlcnNpb24oU2hhZGVyVHlwZSBzaGFkZXJUeXBlKSB7IHJldHVybiBt
TGlua2VkU2hhZGVyVmVyc2lvbnNbc2hhZGVyVHlwZV07IH0KKwogICBwcml2YXRlOgogICAgIC8v
IFRPRE8odGltdnApOiBodHRwOi8vYW5nbGVidWcuY29tLzM1NzA6IEludmVzdGlnYXRlIHJlbW92
aW5nIHRoZXNlIGZyaWVuZAogICAgIC8vIGNsYXNzIGRlY2xhcmF0aW9ucyBhbmQgYWNjZXNzaW5n
IHRoZSBuZWNlc3NhcnkgbWVtYmVycyB3aXRoIGdldHRlcnMvc2V0dGVycy4KQEAgLTEzMSw3ICsy
OTIsNyBAQCBjbGFzcyBQcm9ncmFtRXhlY3V0YWJsZQogICAgIGZyaWVuZCBjbGFzcyBQcm9ncmFt
UGlwZWxpbmU7CiAgICAgZnJpZW5kIGNsYXNzIFByb2dyYW1TdGF0ZTsKIAotICAgIHZvaWQgdXBk
YXRlQWN0aXZlU2FtcGxlcnMoY29uc3Qgc3RkOjp2ZWN0b3I8U2FtcGxlckJpbmRpbmc+ICZzYW1w
bGVyQmluZGluZ3MpOworICAgIHZvaWQgdXBkYXRlQWN0aXZlU2FtcGxlcnMoY29uc3QgUHJvZ3Jh
bVN0YXRlICZwcm9ncmFtU3RhdGUpOwogICAgIHZvaWQgdXBkYXRlQWN0aXZlSW1hZ2VzKHN0ZDo6
dmVjdG9yPEltYWdlQmluZGluZz4gJmltYWdlQmluZGluZ3MpOwogCiAgICAgLy8gU2NhbnMgdGhl
IHNhbXBsZXIgYmluZGluZ3MgZm9yIHR5cGUgY29uZmxpY3RzIHdpdGggc2FtcGxlciAndGV4dHVy
ZVVuaXRJbmRleCcuCkBAIC0xNDQsNyArMzA1LDggQEAgY2xhc3MgUHJvZ3JhbUV4ZWN1dGFibGUK
IAogICAgIEluZm9Mb2cgbUluZm9Mb2c7CiAKLSAgICBTaGFkZXJCaXRTZXQgbUxpbmtlZFNoYWRl
clN0YWdlczsKKyAgICBTaGFkZXJCaXRTZXQgbUxpbmtlZEdyYXBoaWNzU2hhZGVyU3RhZ2VzOwor
ICAgIFNoYWRlckJpdFNldCBtTGlua2VkQ29tcHV0ZVNoYWRlclN0YWdlczsKIAogICAgIGFuZ2xl
OjpCaXRTZXQ8TUFYX1ZFUlRFWF9BVFRSSUJTPiBtQWN0aXZlQXR0cmliTG9jYXRpb25zTWFzazsK
ICAgICB1bnNpZ25lZCBpbnQgbU1heEFjdGl2ZUF0dHJpYkxvY2F0aW9uOwpAQCAtMTU3LDkgKzMx
OSw0NyBAQCBjbGFzcyBQcm9ncmFtRXhlY3V0YWJsZQogICAgIEFjdGl2ZVRleHR1cmVBcnJheTx1
aW50MzJfdD4gbUFjdGl2ZVNhbXBsZXJSZWZDb3VudHM7CiAgICAgQWN0aXZlVGV4dHVyZUFycmF5
PFRleHR1cmVUeXBlPiBtQWN0aXZlU2FtcGxlclR5cGVzOwogICAgIEFjdGl2ZVRleHR1cmVBcnJh
eTxTYW1wbGVyRm9ybWF0PiBtQWN0aXZlU2FtcGxlckZvcm1hdHM7CisgICAgQWN0aXZlVGV4dHVy
ZUFycmF5PFNoYWRlckJpdFNldD4gbUFjdGl2ZVNhbXBsZXJTaGFkZXJCaXRzOwogCiAgICAgLy8g
Q2FjaGVkIG1hc2sgb2YgYWN0aXZlIGltYWdlcy4KICAgICBBY3RpdmVUZXh0dXJlTWFzayBtQWN0
aXZlSW1hZ2VzTWFzazsKKyAgICBBY3RpdmVUZXh0dXJlQXJyYXk8U2hhZGVyQml0U2V0PiBtQWN0
aXZlSW1hZ2VTaGFkZXJCaXRzOworCisgICAgYm9vbCBtQ2FuRHJhd1dpdGg7CisKKyAgICAvLyBO
YW1lcyBhbmQgbWFwcGVkIG5hbWVzIG9mIG91dHB1dCB2YXJpYWJsZXMgdGhhdCBhcmUgYXJyYXlz
IGluY2x1ZGUgWzBdIGluIHRoZSBlbmQsIHNpbWlsYXJseQorICAgIC8vIHRvIHVuaWZvcm1zLgor
ICAgIHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gbU91dHB1dFZhcmlhYmxlczsKKyAg
ICBzdGQ6OnZlY3RvcjxWYXJpYWJsZUxvY2F0aW9uPiBtT3V0cHV0TG9jYXRpb25zOworICAgIC8v
IFZlcnRleCBhdHRyaWJ1dGVzLCBGcmFnbWVudCBpbnB1dCB2YXJ5aW5ncywgZXRjLgorICAgIHN0
ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gbVByb2dyYW1JbnB1dHM7CisgICAgc3RkOjp2
ZWN0b3I8VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nPiBtTGlua2VkVHJhbnNmb3JtRmVlZGJhY2tW
YXJ5aW5nczsKKyAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgZGF0YSB3cml0dGVuIHRvIGVhY2ggdHJh
bnNmb3JtIGZlZWRiYWNrIGJ1ZmZlciBwZXIgdmVydGV4LgorICAgIHN0ZDo6dmVjdG9yPEdMc2l6
ZWk+IG1UcmFuc2Zvcm1GZWVkYmFja1N0cmlkZXM7CisgICAgR0xlbnVtIG1UcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlck1vZGU7CisgICAgLy8gVW5pZm9ybXMgYXJlIHNvcnRlZCBpbiBvcmRlcjoKKyAg
ICAvLyAgMS4gTm9uLW9wYXF1ZSB1bmlmb3JtcworICAgIC8vICAyLiBTYW1wbGVyIHVuaWZvcm1z
CisgICAgLy8gIDMuIEltYWdlIHVuaWZvcm1zCisgICAgLy8gIDQuIEF0b21pYyBjb3VudGVyIHVu
aWZvcm1zCisgICAgLy8gIDUuIFVuaWZvcm0gYmxvY2sgdW5pZm9ybXMKKyAgICAvLyBUaGlzIG1h
a2VzIG9wYXF1ZSB1bmlmb3JtIHZhbGlkYXRpb24gZWFzaWVyLCBzaW5jZSB3ZSBkb24ndCBuZWVk
IGEgc2VwYXJhdGUgbGlzdC4KKyAgICAvLyBGb3IgZ2VuZXJhdGluZyB0aGUgZW50cmllcyBhbmQg
bmFtaW5nIHRoZW0gd2UgZm9sbG93IHRoZSBzcGVjOiBHTEVTIDMuMSBOb3ZlbWJlciAyMDE2IHNl
Y3Rpb24KKyAgICAvLyA3LjMuMS4xIE5hbWluZyBBY3RpdmUgUmVzb3VyY2VzLiBUaGVyZSdzIGEg
c2VwYXJhdGUgZW50cnkgZm9yIGVhY2ggc3RydWN0IG1lbWJlciBhbmQgZWFjaAorICAgIC8vIGlu
bmVyIGFycmF5IG9mIGFuIGFycmF5IG9mIGFycmF5cy4gTmFtZXMgYW5kIG1hcHBlZCBuYW1lcyBv
ZiB1bmlmb3JtcyB0aGF0IGFyZSBhcnJheXMgaW5jbHVkZQorICAgIC8vIFswXSBpbiB0aGUgZW5k
LiBUaGlzIG1ha2VzIGltcGxlbWVudGF0aW9uIG9mIHF1ZXJpZXMgc2ltcGxlci4KKyAgICBzdGQ6
OnZlY3RvcjxMaW5rZWRVbmlmb3JtPiBtVW5pZm9ybXM7CisgICAgUmFuZ2VVSSBtU2FtcGxlclVu
aWZvcm1SYW5nZTsKKyAgICBzdGQ6OnZlY3RvcjxJbnRlcmZhY2VCbG9jaz4gbVVuaWZvcm1CbG9j
a3M7CisgICAgc3RkOjp2ZWN0b3I8QXRvbWljQ291bnRlckJ1ZmZlcj4gbUF0b21pY0NvdW50ZXJC
dWZmZXJzOworICAgIFJhbmdlVUkgbUltYWdlVW5pZm9ybVJhbmdlOworICAgIHN0ZDo6dmVjdG9y
PEludGVyZmFjZUJsb2NrPiBtU2hhZGVyU3RvcmFnZUJsb2NrczsKKworICAgIFNoYWRlck1hcDxz
dGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+PiBtTGlua2VkT3V0cHV0VmFyeWluZ3M7Cisg
ICAgU2hhZGVyTWFwPHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4+IG1MaW5rZWRJbnB1
dFZhcnlpbmdzOworICAgIFNoYWRlck1hcDxpbnQ+IG1MaW5rZWRTaGFkZXJWZXJzaW9uczsKKyAg
ICAvLyBUT0RPOiBodHRwOi8vYW5nbGVidWcuY29tLzQ1MTQ6IFJlbW92ZQorICAgIHN0ZDo6dW5p
cXVlX3B0cjxnbDo6UHJvZ3JhbUxpbmtlZFJlc291cmNlcz4gbVJlc291cmNlczsKIH07CiAKIH0g
IC8vIG5hbWVzcGFjZSBnbApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL1Byb2dyYW1QaXBlbGluZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvUHJvZ3JhbVBpcGVsaW5lLmNwcAppbmRleCBkMTc1MWFkNzQyNzMwZTRlNzRk
ZjEwZjBlN2UzODUzNDk3ZWQzZTNhLi5lNzVkM2EzYzViZDIwMGRkYjJlNzRlNWMzYjU4MTJlNTA1
MzFlOTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
UHJvZ3JhbVBpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvUHJvZ3JhbVBpcGVsaW5lLmNwcApAQCAtMTAsNiArMTAsMTEgQEAKIAogI2luY2x1ZGUg
ImxpYkFOR0xFL1Byb2dyYW1QaXBlbGluZS5oIgogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCisj
aW5jbHVkZSAibGliQU5HTEUvQ29udGV4dC5oIgorI2luY2x1ZGUgImxpYkFOR0xFL0Vycm9yU3Ry
aW5ncy5oIgorI2luY2x1ZGUgImxpYkFOR0xFL1Byb2dyYW0uaCIKICNpbmNsdWRlICJsaWJBTkdM
RS9hbmdsZXR5cGVzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvR0xJbXBsRmFjdG9y
eS5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUltcGwuaCIK
QEAgLTE3LDMxICsyMiwyMzEgQEAKIG5hbWVzcGFjZSBnbAogewogCi1Qcm9ncmFtUGlwZWxpbmVT
dGF0ZTo6UHJvZ3JhbVBpcGVsaW5lU3RhdGUoKSA6IG1MYWJlbCgpCitQcm9ncmFtUGlwZWxpbmVT
dGF0ZTo6UHJvZ3JhbVBpcGVsaW5lU3RhdGUoKQorICAgIDogbUxhYmVsKCksCisgICAgICBtSXND
b21wdXRlKGZhbHNlKSwKKyAgICAgIG1BY3RpdmVTaGFkZXJQcm9ncmFtKG51bGxwdHIpLAorICAg
ICAgbVZhbGlkKGZhbHNlKSwKKyAgICAgIG1IYXNCZWVuQm91bmQoZmFsc2UpLAorICAgICAgbUV4
ZWN1dGFibGUobmV3IFByb2dyYW1FeGVjdXRhYmxlKCkpCiB7Ci0gICAgbUV4ZWN1dGFibGUuc2V0
UHJvZ3JhbVBpcGVsaW5lU3RhdGUodGhpcyk7CisgICAgbUV4ZWN1dGFibGUtPnNldFByb2dyYW1Q
aXBlbGluZVN0YXRlKHRoaXMpOworCisgICAgZm9yIChjb25zdCBTaGFkZXJUeXBlIHNoYWRlclR5
cGUgOiBnbDo6QWxsU2hhZGVyVHlwZXMoKSkKKyAgICB7CisgICAgICAgIG1Qcm9ncmFtc1tzaGFk
ZXJUeXBlXSA9IG51bGxwdHI7CisgICAgfQogfQogCi1Qcm9ncmFtUGlwZWxpbmVTdGF0ZTo6flBy
b2dyYW1QaXBlbGluZVN0YXRlKCkge30KK1Byb2dyYW1QaXBlbGluZVN0YXRlOjp+UHJvZ3JhbVBp
cGVsaW5lU3RhdGUoKQoreworICAgIFNhZmVEZWxldGUobUV4ZWN1dGFibGUpOworfQogCiBjb25z
dCBzdGQ6OnN0cmluZyAmUHJvZ3JhbVBpcGVsaW5lU3RhdGU6OmdldExhYmVsKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbUxhYmVsOwogfQogCit2b2lkIFByb2dyYW1QaXBlbGluZVN0YXRlOjphY3Rp
dmVTaGFkZXJQcm9ncmFtKFByb2dyYW0gKnNoYWRlclByb2dyYW0pCit7CisgICAgbUFjdGl2ZVNo
YWRlclByb2dyYW0gPSBzaGFkZXJQcm9ncmFtOworfQorCit2b2lkIFByb2dyYW1QaXBlbGluZVN0
YXRlOjp1c2VQcm9ncmFtU3RhZ2UoY29uc3QgQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJUeXBlIHNoYWRlclR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbSAq
c2hhZGVyUHJvZ3JhbSkKK3sKKyAgICBQcm9ncmFtICpvbGRQcm9ncmFtID0gbVByb2dyYW1zW3No
YWRlclR5cGVdOworICAgIGlmIChvbGRQcm9ncmFtKQorICAgIHsKKyAgICAgICAgb2xkUHJvZ3Jh
bS0+cmVsZWFzZShjb250ZXh0KTsKKyAgICB9CisKKyAgICAvLyBJZiBwcm9ncmFtIHJlZmVycyB0
byBhIHByb2dyYW0gb2JqZWN0IHdpdGggYSB2YWxpZCBzaGFkZXIgYXR0YWNoZWQgZm9yIHRoZSBp
bmRpY2F0ZWQgc2hhZGVyCisgICAgLy8gc3RhZ2UsIGdsVXNlUHJvZ3JhbVN0YWdlcyBpbnN0YWxs
cyB0aGUgZXhlY3V0YWJsZSBjb2RlIGZvciB0aGF0IHN0YWdlIGluIHRoZSBpbmRpY2F0ZWQKKyAg
ICAvLyBwcm9ncmFtIHBpcGVsaW5lIG9iamVjdCBwaXBlbGluZS4KKyAgICBpZiAoc2hhZGVyUHJv
Z3JhbSAmJiAoc2hhZGVyUHJvZ3JhbS0+aWQoKS52YWx1ZSAhPSAwKSAmJgorICAgICAgICBzaGFk
ZXJQcm9ncmFtLT5nZXRFeGVjdXRhYmxlKCkuaGFzTGlua2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlw
ZSkpCisgICAgeworICAgICAgICBtUHJvZ3JhbXNbc2hhZGVyVHlwZV0gPSBzaGFkZXJQcm9ncmFt
OworICAgICAgICBzaGFkZXJQcm9ncmFtLT5hZGRSZWYoKTsKKyAgICB9CisgICAgZWxzZQorICAg
IHsKKyAgICAgICAgLy8gSWYgcHJvZ3JhbSBpcyB6ZXJvLCBvciByZWZlcnMgdG8gYSBwcm9ncmFt
IG9iamVjdCB3aXRoIG5vIHZhbGlkIHNoYWRlciBleGVjdXRhYmxlIGZvciB0aGUKKyAgICAgICAg
Ly8gZ2l2ZW4gc3RhZ2UsIGl0IGlzIGFzIGlmIHRoZSBwaXBlbGluZSBvYmplY3QgaGFzIG5vIHBy
b2dyYW1tYWJsZSBzdGFnZSBjb25maWd1cmVkIGZvciB0aGUKKyAgICAgICAgLy8gaW5kaWNhdGVk
IHNoYWRlciBzdGFnZS4KKyAgICAgICAgbVByb2dyYW1zW3NoYWRlclR5cGVdID0gbnVsbHB0cjsK
KyAgICB9Cit9CisKK3ZvaWQgUHJvZ3JhbVBpcGVsaW5lU3RhdGU6OnVzZVByb2dyYW1TdGFnZXMo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xiaXRmaWVsZCBzdGFnZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFByb2dyYW0gKnNoYWRlclByb2dyYW0pCit7CisgICAgaWYgKHN0
YWdlcyA9PSBHTF9BTExfU0hBREVSX0JJVFMpCisgICAgeworICAgICAgICBmb3IgKGNvbnN0IFNo
YWRlclR5cGUgc2hhZGVyVHlwZSA6IGdsOjpBbGxTaGFkZXJUeXBlcygpKQorICAgICAgICB7Cisg
ICAgICAgICAgICB1c2VQcm9ncmFtU3RhZ2UoY29udGV4dCwgc2hhZGVyVHlwZSwgc2hhZGVyUHJv
Z3JhbSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKHN0
YWdlcyAmIEdMX1ZFUlRFWF9TSEFERVJfQklUKQorICAgICAgICB7CisgICAgICAgICAgICB1c2VQ
cm9ncmFtU3RhZ2UoY29udGV4dCwgU2hhZGVyVHlwZTo6VmVydGV4LCBzaGFkZXJQcm9ncmFtKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmIChzdGFnZXMgJiBHTF9GUkFHTUVOVF9TSEFERVJfQklU
KQorICAgICAgICB7CisgICAgICAgICAgICB1c2VQcm9ncmFtU3RhZ2UoY29udGV4dCwgU2hhZGVy
VHlwZTo6RnJhZ21lbnQsIHNoYWRlclByb2dyYW0pOworICAgICAgICB9CisKKyAgICAgICAgaWYg
KHN0YWdlcyAmIEdMX0NPTVBVVEVfU0hBREVSX0JJVCkKKyAgICAgICAgeworICAgICAgICAgICAg
dXNlUHJvZ3JhbVN0YWdlKGNvbnRleHQsIFNoYWRlclR5cGU6OkNvbXB1dGUsIHNoYWRlclByb2dy
YW0pOworICAgICAgICB9CisgICAgfQorfQorCitib29sIFByb2dyYW1QaXBlbGluZVN0YXRlOjp1
c2VzU2hhZGVyUHJvZ3JhbShTaGFkZXJQcm9ncmFtSUQgcHJvZ3JhbUlkKSBjb25zdAoreworICAg
IGZvciAoY29uc3QgUHJvZ3JhbSAqcHJvZ3JhbSA6IG1Qcm9ncmFtcykKKyAgICB7CisgICAgICAg
IGlmIChwcm9ncmFtICYmIChwcm9ncmFtLT5pZCgpID09IHByb2dyYW1JZCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIFByb2dyYW1QaXBlbGluZVN0YXRlOjpoYXNEZWZhdWx0VW5pZm9y
bXMoKSBjb25zdAoreworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6
IG1FeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7CisgICAgICAgIGNv
bnN0IFByb2dyYW0gKnNoYWRlclByb2dyYW0gPSBnZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUp
OworICAgICAgICBpZiAoc2hhZGVyUHJvZ3JhbSAmJiBzaGFkZXJQcm9ncmFtLT5nZXRTdGF0ZSgp
Lmhhc0RlZmF1bHRVbmlmb3JtcygpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm9n
cmFtUGlwZWxpbmVTdGF0ZTo6aGFzVGV4dHVyZXMoKSBjb25zdAoreworICAgIGZvciAoY29uc3Qg
Z2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IG1FeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJT
dGFnZXMoKSkKKyAgICB7CisgICAgICAgIGNvbnN0IFByb2dyYW0gKnNoYWRlclByb2dyYW0gPSBn
ZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAgICAgICBpZiAoc2hhZGVyUHJvZ3JhbSAm
JiBzaGFkZXJQcm9ncmFtLT5nZXRTdGF0ZSgpLmhhc1RleHR1cmVzKCkpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIFByb2dyYW1QaXBlbGluZVN0YXRlOjpoYXNVbmlmb3JtQnVmZmVycygp
IGNvbnN0Cit7CisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogbUV4
ZWN1dGFibGUtPmdldExpbmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsKKyAgICAgICAgY29uc3Qg
UHJvZ3JhbSAqc2hhZGVyUHJvZ3JhbSA9IGdldFNoYWRlclByb2dyYW0oc2hhZGVyVHlwZSk7Cisg
ICAgICAgIGlmIChzaGFkZXJQcm9ncmFtICYmIHNoYWRlclByb2dyYW0tPmdldFN0YXRlKCkuaGFz
VW5pZm9ybUJ1ZmZlcnMoKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUHJvZ3JhbVBp
cGVsaW5lU3RhdGU6Omhhc1N0b3JhZ2VCdWZmZXJzKCkgY29uc3QKK3sKKyAgICBmb3IgKGNvbnN0
IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBtRXhlY3V0YWJsZS0+Z2V0TGlua2VkU2hhZGVy
U3RhZ2VzKCkpCisgICAgeworICAgICAgICBjb25zdCBQcm9ncmFtICpzaGFkZXJQcm9ncmFtID0g
Z2V0U2hhZGVyUHJvZ3JhbShzaGFkZXJUeXBlKTsKKyAgICAgICAgaWYgKHNoYWRlclByb2dyYW0g
JiYgc2hhZGVyUHJvZ3JhbS0+Z2V0U3RhdGUoKS5oYXNTdG9yYWdlQnVmZmVycygpKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiBmYWxzZTsKK30KKworYm9vbCBQcm9ncmFtUGlwZWxpbmVTdGF0ZTo6aGFzQXRvbWljQ291
bnRlckJ1ZmZlcnMoKSBjb25zdAoreworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hh
ZGVyVHlwZSA6IG1FeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7Cisg
ICAgICAgIGNvbnN0IFByb2dyYW0gKnNoYWRlclByb2dyYW0gPSBnZXRTaGFkZXJQcm9ncmFtKHNo
YWRlclR5cGUpOworICAgICAgICBpZiAoc2hhZGVyUHJvZ3JhbSAmJiBzaGFkZXJQcm9ncmFtLT5n
ZXRTdGF0ZSgpLmhhc0F0b21pY0NvdW50ZXJCdWZmZXJzKCkpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIFByb2dyYW1QaXBlbGluZVN0YXRlOjpoYXNJbWFnZXMoKSBjb25zdAoreworICAg
IGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IG1FeGVjdXRhYmxlLT5nZXRM
aW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7CisgICAgICAgIGNvbnN0IFByb2dyYW0gKnNoYWRl
clByb2dyYW0gPSBnZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAgICAgICBpZiAoc2hh
ZGVyUHJvZ3JhbSAmJiBzaGFkZXJQcm9ncmFtLT5nZXRTdGF0ZSgpLmhhc0ltYWdlcygpKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm9ncmFtUGlwZWxpbmVTdGF0ZTo6aGFzVHJhbnNm
b3JtRmVlZGJhY2tPdXRwdXQoKSBjb25zdAoreworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5
cGUgc2hhZGVyVHlwZSA6IG1FeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAg
ICB7CisgICAgICAgIGNvbnN0IFByb2dyYW0gKnNoYWRlclByb2dyYW0gPSBnZXRTaGFkZXJQcm9n
cmFtKHNoYWRlclR5cGUpOworICAgICAgICBpZiAoc2hhZGVyUHJvZ3JhbSAmJiBzaGFkZXJQcm9n
cmFtLT5nZXRTdGF0ZSgpLmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBQcm9ncmFtUGlwZWxpbmU6OlByb2dyYW1QaXBlbGluZShyeDo6R0xJbXBs
RmFjdG9yeSAqZmFjdG9yeSwgUHJvZ3JhbVBpcGVsaW5lSUQgaGFuZGxlKQogICAgIDogUmVmQ291
bnRPYmplY3QoZmFjdG9yeS0+Z2VuZXJhdGVTZXJpYWwoKSwgaGFuZGxlKSwKLSAgICAgIG1Qcm9n
cmFtUGlwZWxpbmUoZmFjdG9yeS0+Y3JlYXRlUHJvZ3JhbVBpcGVsaW5lKG1TdGF0ZSkpCisgICAg
ICBtUHJvZ3JhbVBpcGVsaW5lSW1wbChmYWN0b3J5LT5jcmVhdGVQcm9ncmFtUGlwZWxpbmUobVN0
YXRlKSkKIHsKLSAgICBBU1NFUlQobVByb2dyYW1QaXBlbGluZSk7CisgICAgQVNTRVJUKG1Qcm9n
cmFtUGlwZWxpbmVJbXBsKTsKIH0KIAogUHJvZ3JhbVBpcGVsaW5lOjp+UHJvZ3JhbVBpcGVsaW5l
KCkKIHsKLSAgICBtUHJvZ3JhbVBpcGVsaW5lLnJlbGVhc2UoKTsKKyAgICBtUHJvZ3JhbVBpcGVs
aW5lSW1wbC5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgUHJvZ3JhbVBpcGVsaW5lOjpvbkRlc3Ryb3ko
Y29uc3QgQ29udGV4dCAqY29udGV4dCkge30KK3ZvaWQgUHJvZ3JhbVBpcGVsaW5lOjpvbkRlc3Ry
b3koY29uc3QgQ29udGV4dCAqY29udGV4dCkKK3sKKyAgICBmb3IgKFByb2dyYW0gKnByb2dyYW0g
OiBtU3RhdGUubVByb2dyYW1zKQorICAgIHsKKyAgICAgICAgaWYgKHByb2dyYW0pCisgICAgICAg
IHsKKyAgICAgICAgICAgIEFTU0VSVChwcm9ncmFtLT5nZXRSZWZDb3VudCgpKTsKKyAgICAgICAg
ICAgIHByb2dyYW0tPnJlbGVhc2UoY29udGV4dCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBn
ZXRJbXBsZW1lbnRhdGlvbigpLT5kZXN0cm95KGNvbnRleHQpOworfQogCiB2b2lkIFByb2dyYW1Q
aXBlbGluZTo6c2V0TGFiZWwoY29uc3QgQ29udGV4dCAqY29udGV4dCwgY29uc3Qgc3RkOjpzdHJp
bmcgJmxhYmVsKQogewpAQCAtNTUsNyArMjYwLDM3NyBAQCBjb25zdCBzdGQ6OnN0cmluZyAmUHJv
Z3JhbVBpcGVsaW5lOjpnZXRMYWJlbCgpIGNvbnN0CiAKIHJ4OjpQcm9ncmFtUGlwZWxpbmVJbXBs
ICpQcm9ncmFtUGlwZWxpbmU6OmdldEltcGxlbWVudGF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbVByb2dyYW1QaXBlbGluZS5nZXQoKTsKKyAgICByZXR1cm4gbVByb2dyYW1QaXBlbGluZUlt
cGwuZ2V0KCk7Cit9CisKK3ZvaWQgUHJvZ3JhbVBpcGVsaW5lOjphY3RpdmVTaGFkZXJQcm9ncmFt
KFByb2dyYW0gKnNoYWRlclByb2dyYW0pCit7CisgICAgbVN0YXRlLmFjdGl2ZVNoYWRlclByb2dy
YW0oc2hhZGVyUHJvZ3JhbSk7Cit9CisKK3ZvaWQgUHJvZ3JhbVBpcGVsaW5lOjp1c2VQcm9ncmFt
U3RhZ2VzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHTGJpdGZpZWxkIHN0YWdlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFByb2dyYW0gKnNoYWRlclByb2dyYW0pCit7CisgICAgbVN0YXRlLnVz
ZVByb2dyYW1TdGFnZXMoY29udGV4dCwgc3RhZ2VzLCBzaGFkZXJQcm9ncmFtKTsKKyAgICB1cGRh
dGVMaW5rZWRTaGFkZXJTdGFnZXMoKTsKKyAgICB1cGRhdGVFeGVjdXRhYmxlKCk7CisKKyAgICBt
RGlydHlCaXRzLnNldChESVJUWV9CSVRfUFJPR1JBTV9TVEFHRSk7Cit9CisKK3ZvaWQgUHJvZ3Jh
bVBpcGVsaW5lOjp1cGRhdGVMaW5rZWRTaGFkZXJTdGFnZXMoKQoreworICAgIG1TdGF0ZS5tRXhl
Y3V0YWJsZS0+cmVzZXRMaW5rZWRTaGFkZXJTdGFnZXMoKTsKKworICAgIGZvciAoY29uc3QgU2hh
ZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5cGVzKCkpCisgICAgeworICAgICAg
ICBQcm9ncmFtICpwcm9ncmFtID0gbVN0YXRlLm1Qcm9ncmFtc1tzaGFkZXJUeXBlXTsKKyAgICAg
ICAgaWYgKHByb2dyYW0pCisgICAgICAgIHsKKyAgICAgICAgICAgIG1TdGF0ZS5tRXhlY3V0YWJs
ZS0+c2V0TGlua2VkU2hhZGVyU3RhZ2VzKHNoYWRlclR5cGUpOworICAgICAgICB9CisgICAgfQor
CisgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT51cGRhdGVDYW5EcmF3V2l0aCgpOworfQorCit2b2lk
IFByb2dyYW1QaXBlbGluZTo6dXBkYXRlRXhlY3V0YWJsZUF0dHJpYnV0ZXMoKQoreworICAgIFBy
b2dyYW0gKnZlcnRleFByb2dyYW0gPSBnZXRTaGFkZXJQcm9ncmFtKGdsOjpTaGFkZXJUeXBlOjpW
ZXJ0ZXgpOworCisgICAgaWYgKCF2ZXJ0ZXhQcm9ncmFtKQorICAgIHsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICZ2ZXJ0ZXhFeGVjdXRhYmxl
ICAgICAgPSB2ZXJ0ZXhQcm9ncmFtLT5nZXRFeGVjdXRhYmxlKCk7CisgICAgbVN0YXRlLm1FeGVj
dXRhYmxlLT5tQWN0aXZlQXR0cmliTG9jYXRpb25zTWFzayA9IHZlcnRleEV4ZWN1dGFibGUubUFj
dGl2ZUF0dHJpYkxvY2F0aW9uc01hc2s7CisgICAgbVN0YXRlLm1FeGVjdXRhYmxlLT5tTWF4QWN0
aXZlQXR0cmliTG9jYXRpb24gICA9IHZlcnRleEV4ZWN1dGFibGUubU1heEFjdGl2ZUF0dHJpYkxv
Y2F0aW9uOworICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUF0dHJpYnV0ZXNUeXBlTWFzayAgICAg
ICAgPSB2ZXJ0ZXhFeGVjdXRhYmxlLm1BdHRyaWJ1dGVzVHlwZU1hc2s7CisgICAgbVN0YXRlLm1F
eGVjdXRhYmxlLT5tQXR0cmlidXRlc01hc2sgICAgICAgICAgICA9IHZlcnRleEV4ZWN1dGFibGUu
bUF0dHJpYnV0ZXNNYXNrOworfQorCit2b2lkIFByb2dyYW1QaXBlbGluZTo6dXBkYXRlRXhlY3V0
YWJsZVRleHR1cmVzKCkKK3sKKyAgICBmb3IgKGNvbnN0IFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+Z2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCisgICAgeworICAg
ICAgICBjb25zdCBQcm9ncmFtICpwcm9ncmFtID0gZ2V0U2hhZGVyUHJvZ3JhbShzaGFkZXJUeXBl
KTsKKyAgICAgICAgaWYgKHByb2dyYW0pCisgICAgICAgIHsKKyAgICAgICAgICAgIG1TdGF0ZS5t
RXhlY3V0YWJsZS0+bUFjdGl2ZVNhbXBsZXJzTWFzayB8PQorICAgICAgICAgICAgICAgIHByb2dy
YW0tPmdldEV4ZWN1dGFibGUoKS5nZXRBY3RpdmVTYW1wbGVyc01hc2soKTsKKyAgICAgICAgICAg
IG1TdGF0ZS5tRXhlY3V0YWJsZS0+bUFjdGl2ZUltYWdlc01hc2sgfD0gcHJvZ3JhbS0+Z2V0RXhl
Y3V0YWJsZSgpLmdldEFjdGl2ZUltYWdlc01hc2soKTsKKyAgICAgICAgICAgIC8vIFVwZGF0ZXMg
bUFjdGl2ZVNhbXBsZXJSZWZDb3VudHMsIG1BY3RpdmVTYW1wbGVyVHlwZXMsIGFuZCBtQWN0aXZl
U2FtcGxlckZvcm1hdHMKKyAgICAgICAgICAgIG1TdGF0ZS5tRXhlY3V0YWJsZS0+dXBkYXRlQWN0
aXZlU2FtcGxlcnMocHJvZ3JhbS0+Z2V0U3RhdGUoKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisK
K3ZvaWQgUHJvZ3JhbVBpcGVsaW5lOjp1cGRhdGVFeGVjdXRhYmxlKCkKK3sKKyAgICBtU3RhdGUu
bUV4ZWN1dGFibGUtPnJlc2V0KCk7CisKKyAgICAvLyBWZXJ0ZXggU2hhZGVyIFByb2dyYW1FeGVj
dXRhYmxlIHByb3BlcnRpZXMKKyAgICB1cGRhdGVFeGVjdXRhYmxlQXR0cmlidXRlcygpOworCisg
ICAgLy8gQWxsIFNoYWRlciBQcm9ncmFtRXhlY3V0YWJsZSBwcm9wZXJ0aWVzCisgICAgdXBkYXRl
RXhlY3V0YWJsZVRleHR1cmVzKCk7Cit9CisKK1Byb2dyYW1NZXJnZWRWYXJ5aW5ncyBQcm9ncmFt
UGlwZWxpbmU6OmdldE1lcmdlZFZhcnlpbmdzKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1TdGF0
ZS5tRXhlY3V0YWJsZS0+aXNDb21wdXRlKCkpOworCisgICAgLy8gVmFyeWluZ3MgYXJlIG1hdGNo
ZWQgYmV0d2VlbiBwYWlycyBvZiBjb25zZWN1dGl2ZSBzdGFnZXMsIGJ5IGxvY2F0aW9uIGlmIGFz
c2lnbmVkIG9yCisgICAgLy8gYnkgbmFtZSBvdGhlcndpc2UuICBOb3RlIHRoYXQgaXQncyBwb3Nz
aWJsZSBmb3Igb25lIHN0YWdlIHRvIHNwZWNpZnkgbG9jYXRpb24gYW5kIHRoZSBvdGhlcgorICAg
IC8vIG5vdDogaHR0cHM6Ly9jdnMua2hyb25vcy5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk
PTE2MjYxCisKKyAgICAvLyBNYXAgc3RhZ2VzIHRvIHRoZSBwcmV2aW91cyBhY3RpdmUgc3RhZ2Ug
aW4gdGhlIHJlbmRlcmluZyBwaXBlbGluZS4gIFdoZW4gbG9va2luZyBhdCBpbnB1dAorICAgIC8v
IHZhcnlpbmdzIG9mIGEgc3RhZ2UsIHRoaXMgaXMgdXNlZCB0byBmaW5kIHRoZSBzdGFnZSB3aG9z
ZSBvdXRwdXQgdmFyeWluZ3MgYXJlIGJlaW5nIGxpbmtlZAorICAgIC8vIHdpdGggdGhlbS4KKyAg
ICBTaGFkZXJNYXA8U2hhZGVyVHlwZT4gcHJldmlvdXNBY3RpdmVTdGFnZTsKKworICAgIC8vIE5v
dGUgdGhhdCBrQWxsR3JhcGhpY3NTaGFkZXJUeXBlcyBpcyBzb3J0ZWQgYWNjb3JkaW5nIHRvIHRo
ZSByZW5kZXJpbmcgcGlwZWxpbmUuCisgICAgU2hhZGVyVHlwZSBsYXN0QWN0aXZlU3RhZ2UgPSBT
aGFkZXJUeXBlOjpJbnZhbGlkRW51bTsKKyAgICBmb3IgKFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6
IGdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7CisgICAgICAg
IHByZXZpb3VzQWN0aXZlU3RhZ2Vbc2hhZGVyVHlwZV0gPSBsYXN0QWN0aXZlU3RhZ2U7CisKKyAg
ICAgICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3JhbSA9IGdldFNoYWRlclByb2dyYW0oc2hhZGVyVHlw
ZSk7CisgICAgICAgIEFTU0VSVChwcm9ncmFtKTsKKyAgICAgICAgbGFzdEFjdGl2ZVN0YWdlID0g
c2hhZGVyVHlwZTsKKyAgICB9CisKKyAgICAvLyBGaXJzdCwgZ28gdGhyb3VnaCBvdXRwdXQgdmFy
eWluZ3MgYW5kIGNyZWF0ZSB0d28gbWFwcyAob25lIGJ5IG5hbWUsIG9uZSBieSBsb2NhdGlvbikg
Zm9yCisgICAgLy8gZmFzdGVyIGxvb2t1cCB3aGVuIG1hdGNoaW5nIGlucHV0IHZhcnlpbmdzLgor
CisgICAgU2hhZGVyTWFwPHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBzaXplX3Q+PiBvdXRwdXRWYXJ5
aW5nTmFtZVRvSW5kZXhTaGFkZXJNYXA7CisgICAgU2hhZGVyTWFwPHN0ZDo6bWFwPGludCwgc2l6
ZV90Pj4gb3V0cHV0VmFyeWluZ0xvY2F0aW9uVG9JbmRleFNoYWRlck1hcDsKKworICAgIFByb2dy
YW1NZXJnZWRWYXJ5aW5ncyBtZXJnZWQ7CisKKyAgICAvLyBHYXRoZXIgb3V0cHV0IHZhcnlpbmdz
LgorICAgIGZvciAoU2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2V0RXhlY3V0YWJsZSgpLmdldExp
bmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsKKyAgICAgICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3Jh
bSA9IGdldFNoYWRlclByb2dyYW0oc2hhZGVyVHlwZSk7CisgICAgICAgIEFTU0VSVChwcm9ncmFt
KTsKKyAgICAgICAgU2hhZGVyICpzaGFkZXIgPSBwcm9ncmFtLT5nZXRTdGF0ZSgpLmdldEF0dGFj
aGVkU2hhZGVyKHNoYWRlclR5cGUpOworICAgICAgICBBU1NFUlQoc2hhZGVyKTsKKworICAgICAg
ICBmb3IgKGNvbnN0IHNoOjpTaGFkZXJWYXJpYWJsZSAmdmFyeWluZyA6IHNoYWRlci0+Z2V0T3V0
cHV0VmFyeWluZ3MoKSkKKyAgICAgICAgeworICAgICAgICAgICAgbWVyZ2VkLnB1c2hfYmFjayh7
fSk7CisgICAgICAgICAgICBQcm9ncmFtVmFyeWluZ1JlZiAqcmVmID0gJm1lcmdlZC5iYWNrKCk7
CisKKyAgICAgICAgICAgIHJlZi0+ZnJvbnRTaGFkZXIgICAgICA9ICZ2YXJ5aW5nOworICAgICAg
ICAgICAgcmVmLT5mcm9udFNoYWRlclN0YWdlID0gc2hhZGVyVHlwZTsKKworICAgICAgICAgICAg
Ly8gQWx3YXlzIG1hcCBieSBuYW1lLiAgRXZlbiBpZiBsb2NhdGlvbiBpcyBwcm92aWRlZCBpbiB0
aGlzIHN0YWdlLCBpdCBtYXkgbm90IGJlIGluIHRoZQorICAgICAgICAgICAgLy8gcGFpcmVkIHN0
YWdlLgorICAgICAgICAgICAgb3V0cHV0VmFyeWluZ05hbWVUb0luZGV4U2hhZGVyTWFwW3NoYWRl
clR5cGVdW3ZhcnlpbmcubmFtZV0gPSBtZXJnZWQuc2l6ZSgpIC0gMTsKKworICAgICAgICAgICAg
Ly8gSWYgbG9jYXRpb24gaXMgcHJvdmlkZWQsIGFsc28ga2VlcCBpdCBpbiBhIG1hcCBieSBsb2Nh
dGlvbi4KKyAgICAgICAgICAgIGlmICh2YXJ5aW5nLmxvY2F0aW9uICE9IC0xKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIG91dHB1dFZhcnlpbmdMb2NhdGlvblRvSW5kZXhTaGFkZXJN
YXBbc2hhZGVyVHlwZV1bdmFyeWluZy5sb2NhdGlvbl0gPQorICAgICAgICAgICAgICAgICAgICBt
ZXJnZWQuc2l6ZSgpIC0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAg
IC8vIEdhdGhlciBpbnB1dCB2YXJ5aW5ncywgYW5kIG1hdGNoIHRoZW0gd2l0aCBvdXRwdXQgdmFy
eWluZ3Mgb2YgdGhlIHByZXZpb3VzIHN0YWdlLgorICAgIGZvciAoU2hhZGVyVHlwZSBzaGFkZXJU
eXBlIDogZ2V0RXhlY3V0YWJsZSgpLmdldExpbmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsKKyAg
ICAgICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3JhbSA9IGdldFNoYWRlclByb2dyYW0oc2hhZGVyVHlw
ZSk7CisgICAgICAgIEFTU0VSVChwcm9ncmFtKTsKKyAgICAgICAgU2hhZGVyICpzaGFkZXIgPSBw
cm9ncmFtLT5nZXRTdGF0ZSgpLmdldEF0dGFjaGVkU2hhZGVyKHNoYWRlclR5cGUpOworICAgICAg
ICBBU1NFUlQoc2hhZGVyKTsKKyAgICAgICAgU2hhZGVyVHlwZSBwcmV2aW91c1N0YWdlID0gcHJl
dmlvdXNBY3RpdmVTdGFnZVtzaGFkZXJUeXBlXTsKKworICAgICAgICBmb3IgKGNvbnN0IHNoOjpT
aGFkZXJWYXJpYWJsZSAmdmFyeWluZyA6IHNoYWRlci0+Z2V0SW5wdXRWYXJ5aW5ncygpKQorICAg
ICAgICB7CisgICAgICAgICAgICBzaXplX3QgbWVyZ2VkSW5kZXggPSBtZXJnZWQuc2l6ZSgpOwor
ICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhZ2UgIT0gU2hhZGVyVHlwZTo6SW52YWxpZEVudW0p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gSWYgbG9jYXRpb24gaXMgcHJvdmlk
ZWQsIHNlZSBpZiB3ZSBjYW4gbWF0Y2ggYnkgbG9jYXRpb24uCisgICAgICAgICAgICAgICAgaWYg
KHZhcnlpbmcubG9jYXRpb24gIT0gLTEpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICBzdGQ6Om1hcDxpbnQsIHNpemVfdD4gb3V0cHV0VmFyeWluZ0xvY2F0aW9uVG9JbmRl
eCA9CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRWYXJ5aW5nTG9jYXRpb25Ub0luZGV4
U2hhZGVyTWFwW3ByZXZpb3VzU3RhZ2VdOworICAgICAgICAgICAgICAgICAgICBhdXRvIGJ5TG9j
YXRpb25JdGVyID0gb3V0cHV0VmFyeWluZ0xvY2F0aW9uVG9JbmRleC5maW5kKHZhcnlpbmcubG9j
YXRpb24pOworICAgICAgICAgICAgICAgICAgICBpZiAoYnlMb2NhdGlvbkl0ZXIgIT0gb3V0cHV0
VmFyeWluZ0xvY2F0aW9uVG9JbmRleC5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgbWVyZ2VkSW5kZXggPSBieUxvY2F0aW9uSXRlci0+c2Vjb25k
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgLy8gSWYgbm90IGZvdW5kLCB0cnkgdG8gbWF0Y2ggYnkgbmFtZS4KKyAgICAgICAgICAg
ICAgICBpZiAobWVyZ2VkSW5kZXggPT0gbWVyZ2VkLnNpemUoKSkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBzaXplX3Q+IG91dHB1
dFZhcnlpbmdOYW1lVG9JbmRleCA9CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRWYXJ5
aW5nTmFtZVRvSW5kZXhTaGFkZXJNYXBbcHJldmlvdXNTdGFnZV07CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8gYnlOYW1lSXRlciA9IG91dHB1dFZhcnlpbmdOYW1lVG9JbmRleC5maW5kKHZhcnlp
bmcubmFtZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChieU5hbWVJdGVyICE9IG91dHB1dFZh
cnlpbmdOYW1lVG9JbmRleC5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgbWVyZ2VkSW5kZXggPSBieU5hbWVJdGVyLT5zZWNvbmQ7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC8vIElmIG5vIHByZXZpb3VzIHN0YWdlLCBvciBub3QgbWF0Y2hlZCBieSBsb2NhdGlv
biBvciBuYW1lLCBjcmVhdGUgYSBuZXcgZW50cnkgZm9yIGl0LgorICAgICAgICAgICAgaWYgKG1l
cmdlZEluZGV4ID09IG1lcmdlZC5zaXplKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgbWVyZ2VkLnB1c2hfYmFjayh7fSk7CisgICAgICAgICAgICAgICAgbWVyZ2VkSW5kZXggPSBt
ZXJnZWQuc2l6ZSgpIC0gMTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgUHJvZ3JhbVZh
cnlpbmdSZWYgKnJlZiA9ICZtZXJnZWRbbWVyZ2VkSW5kZXhdOworCisgICAgICAgICAgICByZWYt
PmJhY2tTaGFkZXIgICAgICA9ICZ2YXJ5aW5nOworICAgICAgICAgICAgcmVmLT5iYWNrU2hhZGVy
U3RhZ2UgPSBzaGFkZXJUeXBlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIG1lcmdl
ZDsKK30KKworLy8gVGhlIGF0dGFjaGVkIHNoYWRlcnMgYXJlIGNoZWNrZWQgZm9yIGxpbmtpbmcg
ZXJyb3JzIGJ5IG1hdGNoaW5nIHVwIHRoZWlyIHZhcmlhYmxlcy4KKy8vIFVuaWZvcm0sIGlucHV0
IGFuZCBvdXRwdXQgdmFyaWFibGVzIGdldCBjb2xsZWN0ZWQuCisvLyBUaGUgY29kZSBnZXRzIGNv
bXBpbGVkIGludG8gYmluYXJpZXMuCithbmdsZTo6UmVzdWx0IFByb2dyYW1QaXBlbGluZTo6bGlu
ayhjb25zdCBDb250ZXh0ICpjb250ZXh0KQoreworICAgIGlmICghZ2V0RXhlY3V0YWJsZSgpLmlz
Q29tcHV0ZSgpKQorICAgIHsKKyAgICAgICAgSW5mb0xvZyAmaW5mb0xvZyA9IG1TdGF0ZS5tRXhl
Y3V0YWJsZS0+Z2V0SW5mb0xvZygpOworICAgICAgICBpbmZvTG9nLnJlc2V0KCk7CisgICAgICAg
IGNvbnN0IFN0YXRlICZzdGF0ZSA9IGNvbnRleHQtPmdldFN0YXRlKCk7CisKKyAgICAgICAgLy8g
TWFwIHRoZSB2YXJ5aW5ncyB0byB0aGUgcmVnaXN0ZXIgZmlsZQorICAgICAgICBnbDo6UGFja01v
ZGUgcGFja01vZGUgPSBQYWNrTW9kZTo6QU5HTEVfUkVMQVhFRDsKKyAgICAgICAgaWYgKHN0YXRl
LmdldExpbWl0YXRpb25zKCkubm9GbGV4aWJsZVZhcnlpbmdQYWNraW5nKQorICAgICAgICB7Cisg
ICAgICAgICAgICAvLyBEM0Q5IHBhY2sgbW9kZSBpcyBzdHJpY3RseSBtb3JlIHN0cmljdCB0aGFu
IFdlYkdMLCBzbyB0YWtlcyBwcmlvcml0eS4KKyAgICAgICAgICAgIHBhY2tNb2RlID0gUGFja01v
ZGU6OkFOR0xFX05PTl9DT05GT1JNQU5UX0QzRDk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBp
ZiAoc3RhdGUuZ2V0RXh0ZW5zaW9ucygpLndlYmdsQ29tcGF0aWJpbGl0eSkKKyAgICAgICAgewor
ICAgICAgICAgICAgLy8gSW4gV2ViR0wsIHdlIHVzZSBhIHNsaWdodGx5IGRpZmZlcmVudCBoYW5k
bGluZyBmb3IgcGFja2luZyB2YXJpYWJsZXMuCisgICAgICAgICAgICBwYWNrTW9kZSA9IFBhY2tN
b2RlOjpXRUJHTF9TVFJJQ1Q7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWxpbmtWYXJ5aW5n
cyhpbmZvTG9nKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OlN0b3A7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIW1TdGF0ZS5tRXhlY3V0YWJsZS0+bGlu
a1ZhbGlkYXRlR2xvYmFsTmFtZXMoaW5mb0xvZykpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBhbmdsZTo6UmVzdWx0OjpTdG9wOworICAgICAgICB9CisKKyAgICAgICAgR0x1aW50IG1h
eFZhcnlpbmdWZWN0b3JzID0KKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEdMdWludD4oY29udGV4
dC0+Z2V0U3RhdGUoKS5nZXRDYXBzKCkubWF4VmFyeWluZ1ZlY3RvcnMpOworICAgICAgICBWYXJ5
aW5nUGFja2luZyB2YXJ5aW5nUGFja2luZyhtYXhWYXJ5aW5nVmVjdG9ycywgcGFja01vZGUpOwor
CisgICAgICAgIGNvbnN0IFByb2dyYW1NZXJnZWRWYXJ5aW5ncyAmbWVyZ2VkVmFyeWluZ3MgPSBn
ZXRNZXJnZWRWYXJ5aW5ncygpOworICAgICAgICBmb3IgKFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6
IGdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICAgICAgeworICAg
ICAgICAgICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IG1TdGF0ZS5tUHJvZ3JhbXNbc2hhZGVyVHlwZV07
CisgICAgICAgICAgICBBU1NFUlQocHJvZ3JhbSk7CisgICAgICAgICAgICBwcm9ncmFtLT5nZXRF
eGVjdXRhYmxlKCkuZ2V0UmVzb3VyY2VzKCkudmFyeWluZ1BhY2tpbmcucmVzZXQoKTsKKyAgICAg
ICAgICAgIEFOR0xFX1RSWSgKKyAgICAgICAgICAgICAgICBwcm9ncmFtLT5saW5rTWVyZ2VkVmFy
eWluZ3MoY29udGV4dCwgcHJvZ3JhbS0+Z2V0RXhlY3V0YWJsZSgpLCBtZXJnZWRWYXJ5aW5ncykp
OworICAgICAgICB9CisgICAgfQorCisgICAgQU5HTEVfVFJZKGdldEltcGxlbWVudGF0aW9uKCkt
PmxpbmsoY29udGV4dCkpOworCisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwor
fQorCitib29sIFByb2dyYW1QaXBlbGluZTo6bGlua1ZhcnlpbmdzKEluZm9Mb2cgJmluZm9Mb2cp
IGNvbnN0Cit7CisgICAgU2hhZGVyVHlwZSBwcmV2aW91c1NoYWRlclR5cGUgPSBTaGFkZXJUeXBl
OjpJbnZhbGlkRW51bTsKKyAgICBmb3IgKFNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdldEV4ZWN1
dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7CisgICAgICAgIFByb2dyYW0g
KnByb2dyYW0gPSBnZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAgICAgICBBU1NFUlQo
cHJvZ3JhbSk7CisgICAgICAgIFByb2dyYW1FeGVjdXRhYmxlICZleGVjdXRhYmxlID0gcHJvZ3Jh
bS0+Z2V0RXhlY3V0YWJsZSgpOworCisgICAgICAgIGlmIChwcmV2aW91c1NoYWRlclR5cGUgIT0g
U2hhZGVyVHlwZTo6SW52YWxpZEVudW0pCisgICAgICAgIHsKKyAgICAgICAgICAgIFByb2dyYW0g
KnByZXZpb3VzUHJvZ3JhbSA9IGdldFNoYWRlclByb2dyYW0ocHJldmlvdXNTaGFkZXJUeXBlKTsK
KyAgICAgICAgICAgIEFTU0VSVChwcmV2aW91c1Byb2dyYW0pOworICAgICAgICAgICAgUHJvZ3Jh
bUV4ZWN1dGFibGUgJnByZXZpb3VzRXhlY3V0YWJsZSA9IHByZXZpb3VzUHJvZ3JhbS0+Z2V0RXhl
Y3V0YWJsZSgpOworCisgICAgICAgICAgICBpZiAoIVByb2dyYW06OmxpbmtWYWxpZGF0ZVNoYWRl
ckludGVyZmFjZU1hdGNoaW5nKAorICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4ZWN1dGFi
bGUuZ2V0TGlua2VkT3V0cHV0VmFyeWluZ3MocHJldmlvdXNTaGFkZXJUeXBlKSwKKyAgICAgICAg
ICAgICAgICAgICAgZXhlY3V0YWJsZS5nZXRMaW5rZWRJbnB1dFZhcnlpbmdzKHNoYWRlclR5cGUp
LCBwcmV2aW91c1NoYWRlclR5cGUsIHNoYWRlclR5cGUsCisgICAgICAgICAgICAgICAgICAgIHBy
ZXZpb3VzRXhlY3V0YWJsZS5nZXRMaW5rZWRTaGFkZXJWZXJzaW9uKHByZXZpb3VzU2hhZGVyVHlw
ZSksCisgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUuZ2V0TGlua2VkU2hhZGVyVmVyc2lv
bihzaGFkZXJUeXBlKSwgdHJ1ZSwgaW5mb0xvZykpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHBy
ZXZpb3VzU2hhZGVyVHlwZSA9IHNoYWRlclR5cGU7CisgICAgfQorCisgICAgUHJvZ3JhbSAqdmVy
dGV4UHJvZ3JhbSAgID0gbVN0YXRlLm1Qcm9ncmFtc1tTaGFkZXJUeXBlOjpWZXJ0ZXhdOworICAg
IFByb2dyYW0gKmZyYWdtZW50UHJvZ3JhbSA9IG1TdGF0ZS5tUHJvZ3JhbXNbU2hhZGVyVHlwZTo6
RnJhZ21lbnRdOworICAgIGlmICghdmVydGV4UHJvZ3JhbSB8fCAhZnJhZ21lbnRQcm9ncmFtKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBQcm9ncmFtRXhlY3V0YWJs
ZSAmdmVydGV4RXhlY3V0YWJsZSAgID0gdmVydGV4UHJvZ3JhbS0+Z2V0RXhlY3V0YWJsZSgpOwor
ICAgIFByb2dyYW1FeGVjdXRhYmxlICZmcmFnbWVudEV4ZWN1dGFibGUgPSBmcmFnbWVudFByb2dy
YW0tPmdldEV4ZWN1dGFibGUoKTsKKyAgICByZXR1cm4gUHJvZ3JhbTo6bGlua1ZhbGlkYXRlQnVp
bHRJblZhcnlpbmdzKAorICAgICAgICB2ZXJ0ZXhFeGVjdXRhYmxlLmdldExpbmtlZE91dHB1dFZh
cnlpbmdzKFNoYWRlclR5cGU6OlZlcnRleCksCisgICAgICAgIGZyYWdtZW50RXhlY3V0YWJsZS5n
ZXRMaW5rZWRJbnB1dFZhcnlpbmdzKFNoYWRlclR5cGU6OkZyYWdtZW50KSwKKyAgICAgICAgdmVy
dGV4RXhlY3V0YWJsZS5nZXRMaW5rZWRTaGFkZXJWZXJzaW9uKFNoYWRlclR5cGU6OlZlcnRleCks
IGluZm9Mb2cpOworfQorCit2b2lkIFByb2dyYW1QaXBlbGluZTo6dmFsaWRhdGUoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQpCit7CisgICAgY29uc3QgQ2FwcyAmY2FwcyA9IGNvbnRleHQtPmdl
dENhcHMoKTsKKyAgICBtU3RhdGUubVZhbGlkICAgID0gdHJ1ZTsKKyAgICBJbmZvTG9nICZpbmZv
TG9nID0gbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRJbmZvTG9nKCk7CisgICAgaW5mb0xvZy5yZXNl
dCgpOworCisgICAgZm9yIChjb25zdCBTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBtU3RhdGUubUV4
ZWN1dGFibGUtPmdldExpbmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsKKyAgICAgICAgUHJvZ3Jh
bSAqc2hhZGVyUHJvZ3JhbSA9IG1TdGF0ZS5tUHJvZ3JhbXNbc2hhZGVyVHlwZV07CisgICAgICAg
IGlmIChzaGFkZXJQcm9ncmFtKQorICAgICAgICB7CisgICAgICAgICAgICBzaGFkZXJQcm9ncmFt
LT5yZXNvbHZlTGluayhjb250ZXh0KTsKKyAgICAgICAgICAgIHNoYWRlclByb2dyYW0tPnZhbGlk
YXRlKGNhcHMpOworICAgICAgICAgICAgc3RkOjpzdHJpbmcgc2hhZGVySW5mb1N0cmluZyA9IHNo
YWRlclByb2dyYW0tPmdldEV4ZWN1dGFibGUoKS5nZXRJbmZvTG9nU3RyaW5nKCk7CisgICAgICAg
ICAgICBpZiAoc2hhZGVySW5mb1N0cmluZy5sZW5ndGgoKSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBtU3RhdGUubVZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaW5mb0xv
ZyA8PCBzaGFkZXJJbmZvU3RyaW5nIDw8ICJcbiI7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFzaGFkZXJQcm9ncmFtLT5pc1NlcGFyYWJs
ZSgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG1TdGF0ZS5tVmFsaWQgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICBpbmZvTG9nIDw8IEdldFNoYWRlclR5cGVTdHJpbmcoc2hhZGVy
VHlwZSkgPDwgIiBpcyBub3QgbWFya2VkIHNlcGFyYWJsZS4iCisgICAgICAgICAgICAgICAgICAg
ICAgICA8PCAiXG4iOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKworICAgIGlmICghbGlua1ZhcnlpbmdzKGluZm9Mb2cpKQorICAgIHsK
KyAgICAgICAgbVN0YXRlLm1WYWxpZCA9IGZhbHNlOworCisgICAgICAgIGZvciAoY29uc3QgU2hh
ZGVyVHlwZSBzaGFkZXJUeXBlIDogbVN0YXRlLm1FeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJT
dGFnZXMoKSkKKyAgICAgICAgeworICAgICAgICAgICAgUHJvZ3JhbSAqc2hhZGVyUHJvZ3JhbSA9
IG1TdGF0ZS5tUHJvZ3JhbXNbc2hhZGVyVHlwZV07CisgICAgICAgICAgICBBU1NFUlQoc2hhZGVy
UHJvZ3JhbSk7CisgICAgICAgICAgICBzaGFkZXJQcm9ncmFtLT52YWxpZGF0ZShjYXBzKTsKKyAg
ICAgICAgICAgIHN0ZDo6c3RyaW5nIHNoYWRlckluZm9TdHJpbmcgPSBzaGFkZXJQcm9ncmFtLT5n
ZXRFeGVjdXRhYmxlKCkuZ2V0SW5mb0xvZ1N0cmluZygpOworICAgICAgICAgICAgaWYgKHNoYWRl
ckluZm9TdHJpbmcubGVuZ3RoKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaW5m
b0xvZyA8PCBzaGFkZXJJbmZvU3RyaW5nIDw8ICJcbiI7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9Cit9CisKK2Jvb2wgUHJvZ3JhbVBpcGVsaW5lOjp2YWxpZGF0ZVNhbXBsZXJzKElu
Zm9Mb2cgKmluZm9Mb2csIGNvbnN0IENhcHMgJmNhcHMpCit7CisgICAgZm9yIChjb25zdCBTaGFk
ZXJUeXBlIHNoYWRlclR5cGUgOiBnbDo6QWxsU2hhZGVyVHlwZXMoKSkKKyAgICB7CisgICAgICAg
IFByb2dyYW0gKnNoYWRlclByb2dyYW0gPSBtU3RhdGUubVByb2dyYW1zW3NoYWRlclR5cGVdOwor
ICAgICAgICBpZiAoc2hhZGVyUHJvZ3JhbSAmJiAhc2hhZGVyUHJvZ3JhbS0+dmFsaWRhdGVTYW1w
bGVycyhpbmZvTG9nLCBjYXBzKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2FuZ2xlOjpSZXN1
bHQgUHJvZ3JhbVBpcGVsaW5lOjpzeW5jU3RhdGUoY29uc3QgQ29udGV4dCAqY29udGV4dCkKK3sK
KyAgICBpZiAobURpcnR5Qml0cy5hbnkoKSkKKyAgICB7CisgICAgICAgIG1EaXJ0eUJpdHMucmVz
ZXQoKTsKKworICAgICAgICAvLyBJZiB0aGVyZSdzIGEgUHJvZ3JhbSBib3VuZCwgd2Ugc3RpbGwg
d2FudCB0byBsaW5rIHRoZSBQUE8gc28gd2UgZG9uJ3QKKyAgICAgICAgLy8gbG9zZSB0aGUgZGly
dHkgYml0LCBidXQsIHdlIGRvbid0IHdhbnQgdG8gc2lnbmFsIGFueSBlcnJvcnMgaWYgaXQgZmFp
bHMKKyAgICAgICAgLy8gc2luY2UgdGhlIGZhaWx1cmUgd291bGQgYmUgdW5yZWxhdGVkIHRvIGRy
YXdpbmcgd2l0aCB0aGUgUHJvZ3JhbS4KKyAgICAgICAgYm9vbCBnb29kUmVzdWx0ID0gbGluayhj
b250ZXh0KSA9PSBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICAgICAgaWYgKCFjb250ZXh0
LT5nZXRTdGF0ZSgpLmdldFByb2dyYW0oKSkKKyAgICAgICAgeworICAgICAgICAgICAgQU5HTEVf
Q0hFQ0soY29uc3RfY2FzdDxDb250ZXh0ICo+KGNvbnRleHQpLCBnb29kUmVzdWx0LCAiUHJvZ3Jh
bSBwaXBlbGluZSBsaW5rIGZhaWxlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlZB
TElEX09QRVJBVElPTik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CiB9CiAKIH0gIC8vIG5hbWVzcGFjZSBnbApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Byb2dyYW1QaXBlbGluZS5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Byb2dyYW1QaXBlbGluZS5oCmluZGV4
IDk4NzMxNTI3ODEzZTJiMjM0ZDAyMTliZjUwMTlhYTllNzYwZjg3YzQuLmJjMTNkNDczOWZhZGU1
MjBjODJlYzYxYjY3NzVhNjZlNDlhMzVkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9Qcm9ncmFtUGlwZWxpbmUuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUHJvZ3JhbVBpcGVsaW5lLmgKQEAgLTE1LDYgKzE1LDcg
QEAKIAogI2luY2x1ZGUgImNvbW1vbi9hbmdsZXV0aWxzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUv
RGVidWcuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9Qcm9ncmFtLmgiCiAjaW5jbHVkZSAibGliQU5H
TEUvUHJvZ3JhbUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9SZWZDb3VudE9iamVj
dC5oIgogCkBAIC0zNywxNSArMzgsNjEgQEAgY2xhc3MgUHJvZ3JhbVBpcGVsaW5lU3RhdGUgZmlu
YWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZnZXRMYWJl
bCgpIGNvbnN0OwogCi0gICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGUgJmdldEV4ZWN1dGFibGUo
KSBjb25zdCB7IHJldHVybiBtRXhlY3V0YWJsZTsgfQotICAgIFByb2dyYW1FeGVjdXRhYmxlICZn
ZXRFeGVjdXRhYmxlKCkgeyByZXR1cm4gbUV4ZWN1dGFibGU7IH0KKyAgICAvLyBBIFBQTyBjYW4g
aGF2ZSBib3RoIGdyYXBoaWNzIGFuZCBjb21wdXRlIHByb2dyYW1zIGF0dGFjaGVkLCBzbworICAg
IC8vIHdlIGRvbid0IGtub3cgaWYgdGhlIFBQTyBpcyBhICdncmFwaGljcycgb3IgJ2NvbXB1dGUn
IFBQTyB1bnRpbCB0aGUKKyAgICAvLyBhY3R1YWwgZHJhdy9kaXNwYXRjaCBjYWxsLgorICAgIGJv
b2wgaXNDb21wdXRlKCkgY29uc3QgeyByZXR1cm4gbUlzQ29tcHV0ZTsgfQorICAgIHZvaWQgc2V0
SXNDb21wdXRlKGJvb2wgaXNDb21wdXRlKSB7IG1Jc0NvbXB1dGUgPSBpc0NvbXB1dGU7IH0KKwor
ICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICZnZXRQcm9ncmFtRXhlY3V0YWJsZSgpIGNvbnN0
CisgICAgeworICAgICAgICBBU1NFUlQobUV4ZWN1dGFibGUpOworICAgICAgICByZXR1cm4gKm1F
eGVjdXRhYmxlOworICAgIH0KKyAgICBQcm9ncmFtRXhlY3V0YWJsZSAmZ2V0UHJvZ3JhbUV4ZWN1
dGFibGUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1FeGVjdXRhYmxlKTsKKyAgICAgICAgcmV0
dXJuICptRXhlY3V0YWJsZTsKKyAgICB9CisKKyAgICB2b2lkIGFjdGl2ZVNoYWRlclByb2dyYW0o
UHJvZ3JhbSAqc2hhZGVyUHJvZ3JhbSk7CisgICAgdm9pZCB1c2VQcm9ncmFtU3RhZ2VzKGNvbnN0
IENvbnRleHQgKmNvbnRleHQsIEdMYml0ZmllbGQgc3RhZ2VzLCBQcm9ncmFtICpzaGFkZXJQcm9n
cmFtKTsKKworICAgIFByb2dyYW0gKmdldEFjdGl2ZVNoYWRlclByb2dyYW0oKSB7IHJldHVybiBt
QWN0aXZlU2hhZGVyUHJvZ3JhbTsgfQorCisgICAgR0xib29sZWFuIGlzVmFsaWQoKSBjb25zdCB7
IHJldHVybiBtVmFsaWQ7IH0KKworICAgIGNvbnN0IFByb2dyYW0gKmdldFNoYWRlclByb2dyYW0o
U2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdCB7IHJldHVybiBtUHJvZ3JhbXNbc2hhZGVyVHlw
ZV07IH0KKworICAgIGJvb2wgdXNlc1NoYWRlclByb2dyYW0oU2hhZGVyUHJvZ3JhbUlEIHByb2dy
YW0pIGNvbnN0OworCisgICAgYm9vbCBoYXNEZWZhdWx0VW5pZm9ybXMoKSBjb25zdDsKKyAgICBi
b29sIGhhc1RleHR1cmVzKCkgY29uc3Q7CisgICAgYm9vbCBoYXNVbmlmb3JtQnVmZmVycygpIGNv
bnN0OworICAgIGJvb2wgaGFzU3RvcmFnZUJ1ZmZlcnMoKSBjb25zdDsKKyAgICBib29sIGhhc0F0
b21pY0NvdW50ZXJCdWZmZXJzKCkgY29uc3Q7CisgICAgYm9vbCBoYXNJbWFnZXMoKSBjb25zdDsK
KyAgICBib29sIGhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KCkgY29uc3Q7CiAKICAgcHJpdmF0
ZToKKyAgICB2b2lkIHVzZVByb2dyYW1TdGFnZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBTaGFk
ZXJUeXBlIHNoYWRlclR5cGUsIFByb2dyYW0gKnNoYWRlclByb2dyYW0pOworCiAgICAgZnJpZW5k
IGNsYXNzIFByb2dyYW1QaXBlbGluZTsKIAogICAgIHN0ZDo6c3RyaW5nIG1MYWJlbDsKIAotICAg
IFByb2dyYW1FeGVjdXRhYmxlIG1FeGVjdXRhYmxlOworICAgIGJvb2wgbUlzQ29tcHV0ZTsKKwor
ICAgIC8vIFRoZSBhY3RpdmUgc2hhZGVyIHByb2dyYW0KKyAgICBQcm9ncmFtICptQWN0aXZlU2hh
ZGVyUHJvZ3JhbTsKKyAgICAvLyBUaGUgc2hhZGVyIHByb2dyYW1zIGZvciBlYWNoIHN0YWdlLgor
ICAgIFNoYWRlck1hcDxQcm9ncmFtICo+IG1Qcm9ncmFtczsKKworICAgIEdMYm9vbGVhbiBtVmFs
aWQ7CisKKyAgICBHTGJvb2xlYW4gbUhhc0JlZW5Cb3VuZDsKKworICAgIFByb2dyYW1FeGVjdXRh
YmxlICptRXhlY3V0YWJsZTsKIH07CiAKIGNsYXNzIFByb2dyYW1QaXBlbGluZSBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudE9iamVjdDxQcm9ncmFtUGlwZWxpbmVJRD4sIHB1YmxpYyBMYWJlbGVkT2Jq
ZWN0CkBAIC02MSwxNSArMTA4LDcyIEBAIGNsYXNzIFByb2dyYW1QaXBlbGluZSBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudE9iamVjdDxQcm9ncmFtUGlwZWxpbmVJRD4sIHB1YmxpYyBMCiAKICAgICBj
b25zdCBQcm9ncmFtUGlwZWxpbmVTdGF0ZSAmZ2V0U3RhdGUoKSBjb25zdCB7IHJldHVybiBtU3Rh
dGU7IH0KIAotICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICZnZXRFeGVjdXRhYmxlKCkgY29u
c3QgeyByZXR1cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUoKTsgfQotICAgIFByb2dyYW1FeGVjdXRh
YmxlICZnZXRFeGVjdXRhYmxlKCkgeyByZXR1cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUoKTsgfQor
ICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICZnZXRFeGVjdXRhYmxlKCkgY29uc3QgeyByZXR1
cm4gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7IH0KKyAgICBQcm9ncmFtRXhlY3V0YWJs
ZSAmZ2V0RXhlY3V0YWJsZSgpIHsgcmV0dXJuIG1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgp
OyB9CiAKICAgICByeDo6UHJvZ3JhbVBpcGVsaW5lSW1wbCAqZ2V0SW1wbGVtZW50YXRpb24oKSBj
b25zdDsKIAorICAgIFByb2dyYW0gKmdldEFjdGl2ZVNoYWRlclByb2dyYW0oKSB7IHJldHVybiBt
U3RhdGUuZ2V0QWN0aXZlU2hhZGVyUHJvZ3JhbSgpOyB9CisgICAgdm9pZCBhY3RpdmVTaGFkZXJQ
cm9ncmFtKFByb2dyYW0gKnNoYWRlclByb2dyYW0pOworICAgIFByb2dyYW0gKmdldExpbmtlZEFj
dGl2ZVNoYWRlclByb2dyYW0oY29uc3QgQ29udGV4dCAqY29udGV4dCkKKyAgICB7CisgICAgICAg
IFByb2dyYW0gKnByb2dyYW0gPSBtU3RhdGUuZ2V0QWN0aXZlU2hhZGVyUHJvZ3JhbSgpOworICAg
ICAgICBpZiAocHJvZ3JhbSkKKyAgICAgICAgeworICAgICAgICAgICAgcHJvZ3JhbS0+cmVzb2x2
ZUxpbmsoY29udGV4dCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHByb2dyYW07CisgICAg
fQorCisgICAgdm9pZCB1c2VQcm9ncmFtU3RhZ2VzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdM
Yml0ZmllbGQgc3RhZ2VzLCBQcm9ncmFtICpzaGFkZXJQcm9ncmFtKTsKKworICAgIHZvaWQgdXBk
YXRlRXhlY3V0YWJsZUF0dHJpYnV0ZXMoKTsKKyAgICB2b2lkIHVwZGF0ZUV4ZWN1dGFibGVUZXh0
dXJlcygpOworICAgIHZvaWQgdXBkYXRlRXhlY3V0YWJsZSgpOworCisgICAgUHJvZ3JhbSAqZ2V0
U2hhZGVyUHJvZ3JhbShTaGFkZXJUeXBlIHNoYWRlclR5cGUpIGNvbnN0IHsgcmV0dXJuIG1TdGF0
ZS5tUHJvZ3JhbXNbc2hhZGVyVHlwZV07IH0KKworICAgIFByb2dyYW1NZXJnZWRWYXJ5aW5ncyBn
ZXRNZXJnZWRWYXJ5aW5ncygpIGNvbnN0OworICAgIGFuZ2xlOjpSZXN1bHQgbGluayhjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCk7CisgICAgYm9vbCBsaW5rVmFyeWluZ3MoSW5mb0xvZyAmaW5m
b0xvZykgY29uc3Q7CisgICAgdm9pZCB2YWxpZGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCk7CisgICAgYm9vbCB2YWxpZGF0ZVNhbXBsZXJzKEluZm9Mb2cgKmluZm9Mb2csIGNvbnN0IENh
cHMgJmNhcHMpOworCisgICAgYm9vbCB1c2VzU2hhZGVyUHJvZ3JhbShTaGFkZXJQcm9ncmFtSUQg
cHJvZ3JhbSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtU3RhdGUudXNlc1NoYWRlclBy
b2dyYW0ocHJvZ3JhbSk7CisgICAgfQorCisgICAgYm9vbCBoYXNBbnlEaXJ0eUJpdCgpIGNvbnN0
IHsgcmV0dXJuIG1EaXJ0eUJpdHMuYW55KCk7IH0KKworICAgIEdMYm9vbGVhbiBpc1ZhbGlkKCkg
Y29uc3QgeyByZXR1cm4gbVN0YXRlLmlzVmFsaWQoKTsgfQorCisgICAgdm9pZCBiaW5kKCkgeyBt
U3RhdGUubUhhc0JlZW5Cb3VuZCA9IHRydWU7IH0KKyAgICBHTGJvb2xlYW4gaGFzQmVlbkJvdW5k
KCkgY29uc3QgeyByZXR1cm4gbVN0YXRlLm1IYXNCZWVuQm91bmQ7IH0KKworICAgIC8vIFByb2dy
YW0gcGlwZWxpbmUgZGlydHkgYml0cy4KKyAgICBlbnVtIERpcnR5Qml0VHlwZQorICAgIHsKKyAg
ICAgICAgLy8gT25lIG9mIHRoZSBwcm9ncmFtIHN0YWdlcyBpbiB0aGUgUFBPIGNoYW5nZWQuCisg
ICAgICAgIERJUlRZX0JJVF9QUk9HUkFNX1NUQUdFLAorICAgICAgICBESVJUWV9CSVRfRFJBV19E
SVNQQVRDSF9DSEFOR0UsCisKKyAgICAgICAgRElSVFlfQklUX0NPVU5UID0gRElSVFlfQklUX0RS
QVdfRElTUEFUQ0hfQ0hBTkdFICsgMSwKKyAgICB9OworCisgICAgdXNpbmcgRGlydHlCaXRzID0g
YW5nbGU6OkJpdFNldDxESVJUWV9CSVRfQ09VTlQ+OworCisgICAgYW5nbGU6OlJlc3VsdCBzeW5j
U3RhdGUoY29uc3QgQ29udGV4dCAqY29udGV4dCk7CisgICAgdm9pZCBzZXREaXJ0eUJpdChEaXJ0
eUJpdFR5cGUgZGlydHlCaXRUeXBlKSB7IG1EaXJ0eUJpdHMuc2V0KGRpcnR5Qml0VHlwZSk7IH0K
KwogICBwcml2YXRlOgotICAgIHN0ZDo6dW5pcXVlX3B0cjxyeDo6UHJvZ3JhbVBpcGVsaW5lSW1w
bD4gbVByb2dyYW1QaXBlbGluZTsKKyAgICB2b2lkIHVwZGF0ZUxpbmtlZFNoYWRlclN0YWdlcygp
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPHJ4OjpQcm9ncmFtUGlwZWxpbmVJbXBsPiBtUHJvZ3Jh
bVBpcGVsaW5lSW1wbDsKIAogICAgIFByb2dyYW1QaXBlbGluZVN0YXRlIG1TdGF0ZTsKKworICAg
IERpcnR5Qml0cyBtRGlydHlCaXRzOwogfTsKIH0gIC8vIG5hbWVzcGFjZSBnbAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUmVuZGVyYnVmZmVyLmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZW5kZXJidWZmZXIuY3Bw
CmluZGV4IDRjNGQ4OTZkNDEyNDc1ZjU3NmRiZjJlZjE3OThkZDY1ZDdmNWQ3YWEuLjM4MDQ4YTU4
NTM1YTAyNTAwNTUzNjUzZWRkZDhhMmQ0YzgzMWQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZW5kZXJidWZmZXIuY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZW5kZXJidWZmZXIuY3BwCkBAIC0yMiw2ICsy
MiwxMSBAQAogCiBuYW1lc3BhY2UgZ2wKIHsKK25hbWVzcGFjZQoreworYW5nbGU6OlN1YmplY3RJ
bmRleCBrUmVuZGVyYnVmZmVySW1wbFN1YmplY3RJbmRleCA9IDA7Cit9ICAvLyBuYW1lc3BhY2UK
KwogLy8gUmVuZGVyYnVmZmVyU3RhdGUgaW1wbGVtZW50YXRpb24uCiBSZW5kZXJidWZmZXJTdGF0
ZTo6UmVuZGVyYnVmZmVyU3RhdGUoKQogICAgIDogbVdpZHRoKDApLCBtSGVpZ2h0KDApLCBtRm9y
bWF0KEdMX1JHQkE0KSwgbVNhbXBsZXMoMCksIG1Jbml0U3RhdGUoSW5pdFN0YXRlOjpNYXlOZWVk
SW5pdCkKQEAgLTY3LDggKzcyLDExIEBAIFJlbmRlcmJ1ZmZlcjo6UmVuZGVyYnVmZmVyKHJ4OjpH
TEltcGxGYWN0b3J5ICppbXBsRmFjdG9yeSwgUmVuZGVyYnVmZmVySUQgaWQpCiAgICAgOiBSZWZD
b3VudE9iamVjdChpbXBsRmFjdG9yeS0+Z2VuZXJhdGVTZXJpYWwoKSwgaWQpLAogICAgICAgbVN0
YXRlKCksCiAgICAgICBtSW1wbGVtZW50YXRpb24oaW1wbEZhY3RvcnktPmNyZWF0ZVJlbmRlcmJ1
ZmZlcihtU3RhdGUpKSwKLSAgICAgIG1MYWJlbCgpCi17fQorICAgICAgbUxhYmVsKCksCisgICAg
ICBtSW1wbE9ic2VydmVyQmluZGluZyh0aGlzLCBrUmVuZGVyYnVmZmVySW1wbFN1YmplY3RJbmRl
eCkKK3sKKyAgICBtSW1wbE9ic2VydmVyQmluZGluZy5iaW5kKG1JbXBsZW1lbnRhdGlvbi5nZXQo
KSk7Cit9CiAKIHZvaWQgUmVuZGVyYnVmZmVyOjpvbkRlc3Ryb3koY29uc3QgQ29udGV4dCAqY29u
dGV4dCkKIHsKQEAgLTMwNSw0ICszMTMsMTAgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJidWZmZXI6
OmdldFJlbmRlcmJ1ZmZlckltYWdlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0dXJu
IG1JbXBsZW1lbnRhdGlvbi0+Z2V0UmVuZGVyYnVmZmVySW1hZ2UoY29udGV4dCwgcGFja1N0YXRl
LCBwYWNrQnVmZmVyLCBmb3JtYXQsIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGl4ZWxzKTsKIH0KKwordm9pZCBSZW5kZXJidWZmZXI6Om9u
U3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJq
ZWN0TWVzc2FnZSBtZXNzYWdlKQoreworICAgIEFTU0VSVChtZXNzYWdlID09IGFuZ2xlOjpTdWJq
ZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQpOworICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1
YmplY3RNZXNzYWdlOjpDb250ZW50c0NoYW5nZWQpOworfQogfSAgLy8gbmFtZXNwYWNlIGdsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUmVuZGVyYnVm
ZmVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUmVuZGVyYnVmZmVy
LmgKaW5kZXggYmRmYmM5MzQyNzFiNjA2N2FkYzZiMjNhYzhkYjdlOWY2M2FlMzI0ZC4uOTFkMTQz
OGU4MDUyZDU0MjhjODQ1OTFiYjJjNzJhNTNlNDI5ZTFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1JlbmRlcmJ1ZmZlci5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZW5kZXJidWZmZXIuaApAQCAtMTI3LDEyICsx
MjcsMTYgQEAgY2xhc3MgUmVuZGVyYnVmZmVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50T2JqZWN0
PFJlbmRlcmJ1ZmZlcklEPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZvaWQgKnBpeGVscykgY29uc3Q7CiAKICAgcHJpdmF0ZToKKyAgICAvLyBPYnNlcnZlckludGVy
ZmFjZSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIG9uU3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xl
OjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdlKSBvdmVy
cmlkZTsKKwogICAgIHJ4OjpGcmFtZWJ1ZmZlckF0dGFjaG1lbnRPYmplY3RJbXBsICpnZXRBdHRh
Y2htZW50SW1wbCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgUmVuZGVyYnVmZmVyU3RhdGUgbVN0
YXRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxyeDo6UmVuZGVyYnVmZmVySW1wbD4gbUltcGxlbWVu
dGF0aW9uOwogCiAgICAgc3RkOjpzdHJpbmcgbUxhYmVsOworICAgIGFuZ2xlOjpPYnNlcnZlckJp
bmRpbmcgbUltcGxPYnNlcnZlckJpbmRpbmc7CiB9OwogCiB9ICAvLyBuYW1lc3BhY2UgZ2wKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZXNvdXJjZU1h
bmFnZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Jlc291cmNl
TWFuYWdlci5jcHAKaW5kZXggOGY5OTU3YWI2MDBkZmFhYmZjYzUxYjE5ZGRhNGRmOTUyODYyNjZm
Ni4uZjJjMGE4ZjgyYjJmNzA5Nzc2YWY1Mzc2NTY1YzBkNmU3OTU4MGJmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Jlc291cmNlTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Jlc291cmNlTWFuYWdl
ci5jcHAKQEAgLTM1MCwxMSArMzUwLDEyIEBAIFN5bmMgKlN5bmNNYW5hZ2VyOjpnZXRTeW5jKEdM
dWludCBoYW5kbGUpIGNvbnN0CiAvLyBzdGF0aWMKIEZyYW1lYnVmZmVyICpGcmFtZWJ1ZmZlck1h
bmFnZXI6OkFsbG9jYXRlTmV3T2JqZWN0KHJ4OjpHTEltcGxGYWN0b3J5ICpmYWN0b3J5LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbWVidWZm
ZXJJRCBoYW5kbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBDYXBzICZjYXBzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ2FwcyAmY2FwcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRleHRJRCBvd25pbmdDb250ZXh0
SUQpCiB7CiAgICAgLy8gTWFrZSBzdXJlIHRoZSBjYWxsZXIgaXNuJ3QgdXNpbmcgYSByZXNlcnZl
ZCBoYW5kbGUuCiAgICAgQVNTRVJUKGhhbmRsZSAhPSBGcmFtZWJ1ZmZlcjo6a0RlZmF1bHREcmF3
RnJhbWVidWZmZXJIYW5kbGUpOwotICAgIHJldHVybiBuZXcgRnJhbWVidWZmZXIoY2FwcywgZmFj
dG9yeSwgaGFuZGxlKTsKKyAgICByZXR1cm4gbmV3IEZyYW1lYnVmZmVyKGNhcHMsIGZhY3Rvcnks
IGhhbmRsZSwgb3duaW5nQ29udGV4dElEKTsKIH0KIAogLy8gc3RhdGljCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUmVzb3VyY2VNYW5hZ2VyLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvUmVzb3VyY2VNYW5hZ2VyLmgKaW5k
ZXggNTJiZTIyNzk4YmE4ZTExYjkyNDA1MWExNjcwYWFiNTA1NTQ2OTRhZS4uZGNmMDhjMjc4YzRk
MjY0N2E2MTIyZDUzZGVmZjQwOWM5ZWFkZGUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL1Jlc291cmNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9SZXNvdXJjZU1hbmFnZXIuaApAQCAtMjc1LDE0ICsy
NzUsMTYgQEAgY2xhc3MgRnJhbWVidWZmZXJNYW5hZ2VyCiAKICAgICBGcmFtZWJ1ZmZlciAqY2hl
Y2tGcmFtZWJ1ZmZlckFsbG9jYXRpb24ocng6OkdMSW1wbEZhY3RvcnkgKmZhY3RvcnksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENhcHMgJmNhcHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVy
SUQgaGFuZGxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
cmFtZWJ1ZmZlcklEIGhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ29udGV4dElEIG93bmluZ0NvbnRleHRJRCkKICAgICB7Ci0gICAgICAgIHJldHVy
biBjaGVja09iamVjdEFsbG9jYXRpb248Y29uc3QgQ2FwcyAmPihmYWN0b3J5LCBoYW5kbGUsIGNh
cHMpOworICAgICAgICByZXR1cm4gY2hlY2tPYmplY3RBbGxvY2F0aW9uPGNvbnN0IENhcHMgJj4o
ZmFjdG9yeSwgaGFuZGxlLCBjYXBzLCBvd25pbmdDb250ZXh0SUQpOwogICAgIH0KIAogICAgIHN0
YXRpYyBGcmFtZWJ1ZmZlciAqQWxsb2NhdGVOZXdPYmplY3Qocng6OkdMSW1wbEZhY3RvcnkgKmZh
Y3RvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZWJ1
ZmZlcklEIGhhbmRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IENhcHMgJmNhcHMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgQ2FwcyAmY2FwcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENvbnRleHRJRCBvd25pbmdDb250ZXh0SUQpOwogICAgIHN0YXRpYyB2b2lkIERl
bGV0ZU9iamVjdChjb25zdCBDb250ZXh0ICpjb250ZXh0LCBGcmFtZWJ1ZmZlciAqZnJhbWVidWZm
ZXIpOwogCiAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9TaGFkZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL1NoYWRlci5jcHAKaW5kZXggMDRiMGRjMDYxNjA4N2M3NzMyNTg3ZmEwYTgxZDcxODJk
ZDU3OTQ4My4uODQ3YTA4ODFmOWMwNGY3MGNlYzY3YmVkN2I3ODM4OTlkYWVhNThiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKQEAgLTMx
Nyw3ICszMTcsOCBAQCB2b2lkIFNoYWRlcjo6Y29tcGlsZShjb25zdCBDb250ZXh0ICpjb250ZXh0
KQogICAgIG1TdGF0ZS5tR2VvbWV0cnlTaGFkZXJJbnB1dFByaW1pdGl2ZVR5cGUucmVzZXQoKTsK
ICAgICBtU3RhdGUubUdlb21ldHJ5U2hhZGVyT3V0cHV0UHJpbWl0aXZlVHlwZS5yZXNldCgpOwog
ICAgIG1TdGF0ZS5tR2VvbWV0cnlTaGFkZXJNYXhWZXJ0aWNlcy5yZXNldCgpOwotICAgIG1TdGF0
ZS5tR2VvbWV0cnlTaGFkZXJJbnZvY2F0aW9ucyA9IDE7CisgICAgbVN0YXRlLm1HZW9tZXRyeVNo
YWRlckludm9jYXRpb25zICAgICAgPSAxOworICAgIG1TdGF0ZS5tRWFybHlGcmFnbWVudFRlc3Rz
T3B0aW1pemF0aW9uID0gZmFsc2U7CiAKICAgICBtU3RhdGUubUNvbXBpbGVTdGF0dXMgPSBDb21w
aWxlU3RhdHVzOjpDT01QSUxFX1JFUVVFU1RFRDsKICAgICBtQm91bmRDb21waWxlci5zZXQoY29u
dGV4dCwgY29udGV4dC0+Z2V0Q29tcGlsZXIoKSk7CkBAIC00OTAsNiArNDkxLDggQEAgdm9pZCBT
aGFkZXI6OnJlc29sdmVDb21waWxlKCkKICAgICAgICAgICAgIHN0ZDo6c29ydChtU3RhdGUubUlu
cHV0VmFyeWluZ3MuYmVnaW4oKSwgbVN0YXRlLm1JbnB1dFZhcnlpbmdzLmVuZCgpLCBDb21wYXJl
U2hhZGVyVmFyKTsKICAgICAgICAgICAgIG1TdGF0ZS5tQWN0aXZlT3V0cHV0VmFyaWFibGVzID0K
ICAgICAgICAgICAgICAgICBHZXRBY3RpdmVTaGFkZXJWYXJpYWJsZXMoc2g6OkdldE91dHB1dFZh
cmlhYmxlcyhjb21waWxlckhhbmRsZSkpOworICAgICAgICAgICAgbVN0YXRlLm1FYXJseUZyYWdt
ZW50VGVzdHNPcHRpbWl6YXRpb24gPQorICAgICAgICAgICAgICAgIHNoOjpIYXNFYXJseUZyYWdt
ZW50VGVzdHNPcHRpbWl6YXRpb24oY29tcGlsZXJIYW5kbGUpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBTaGFkZXJUeXBlOjpHZW9tZXRyeToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TaGFkZXIuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TaGFkZXIuaAppbmRleCA3MDdhYzg5ZGIw
NmJlMzljMmU4MjQzNWM3ODRkNjdmZGIxMzg5ODE0Li41ZGM2MDI1ZjlhY2I1YWI5ZWNjZjVkYWMz
ZjU4MzRmNTFlNWU0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvU2hhZGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL1NoYWRlci5oCkBAIC04NSw2ICs4NSw4IEBAIGNsYXNzIFNoYWRlclN0YXRlIGZpbmFsIDog
YW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIHJldHVybiBtQWN0aXZlT3V0cHV0VmFyaWFibGVz
OwogICAgIH0KIAorICAgIGJvb2wgaXNFYXJseUZyYWdtZW50VGVzdHN0T3B0aW1pemF0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbjsgfQorCiAgICAg
Ym9vbCBjb21waWxlUGVuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1Db21waWxlU3RhdHVzID09IENv
bXBpbGVTdGF0dXM6OkNPTVBJTEVfUkVRVUVTVEVEOyB9CiAKICAgcHJpdmF0ZToKQEAgLTEwOCw2
ICsxMTAsOCBAQCBjbGFzcyBTaGFkZXJTdGF0ZSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQog
ICAgIHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gbUFjdGl2ZUF0dHJpYnV0ZXM7CiAg
ICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiBtQWN0aXZlT3V0cHV0VmFyaWFibGVz
OwogCisgICAgYm9vbCBtRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uOworCiAgICAgLy8g
QU5HTEVfbXVsdGl2aWV3LgogICAgIGludCBtTnVtVmlld3M7CiAKQEAgLTE0Myw2ICsxNDcsNyBA
QCBjbGFzcyBTaGFkZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUsIHB1YmxpYyBMYWJlbGVk
T2JqZWN0CiAgICAgdm9pZCBzZXRTb3VyY2UoR0xzaXplaSBjb3VudCwgY29uc3QgY2hhciAqY29u
c3QgKnN0cmluZywgY29uc3QgR0xpbnQgKmxlbmd0aCk7CiAgICAgaW50IGdldEluZm9Mb2dMZW5n
dGgoKTsKICAgICB2b2lkIGdldEluZm9Mb2coR0xzaXplaSBidWZTaXplLCBHTHNpemVpICpsZW5n
dGgsIGNoYXIgKmluZm9Mb2cpOworICAgIHN0ZDo6c3RyaW5nIGdldEluZm9Mb2dTdHJpbmcoKSBj
b25zdCB7IHJldHVybiBtSW5mb0xvZzsgfQogICAgIGludCBnZXRTb3VyY2VMZW5ndGgoKSBjb25z
dDsKICAgICBjb25zdCBzdGQ6OnN0cmluZyAmZ2V0U291cmNlU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gbVN0YXRlLmdldFNvdXJjZSgpOyB9CiAgICAgdm9pZCBnZXRTb3VyY2UoR0xzaXplaSBidWZT
aXplLCBHTHNpemVpICpsZW5ndGgsIGNoYXIgKmJ1ZmZlcikgY29uc3Q7CkBAIC0xNjEsNiArMTY2
LDEwIEBAIGNsYXNzIFNoYWRlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZSwgcHVibGljIExh
YmVsZWRPYmplY3QKICAgICB1bnNpZ25lZCBpbnQgZ2V0UmVmQ291bnQoKSBjb25zdDsKICAgICBi
b29sIGlzRmxhZ2dlZEZvckRlbGV0aW9uKCkgY29uc3Q7CiAgICAgdm9pZCBmbGFnRm9yRGVsZXRp
b24oKTsKKyAgICBib29sIGhhc0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbigpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbVN0YXRlLm1FYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6
YXRpb247CisgICAgfQogCiAgICAgaW50IGdldFNoYWRlclZlcnNpb24oKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NpemVkTVJVQ2FjaGUuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TaXplZE1SVUNhY2hlLmgKaW5k
ZXggOTQ1NjIyZDAwMzliZTllOTNlYWFlOGJhNWNjZmFlMDA5ODZiOTljYS4uYjU1N2U2NTdlYzVj
MmZkNTA0YmQwMjVlZmYxMjI3Y2ZjMDYzNDE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NpemVkTVJVQ2FjaGUuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU2l6ZWRNUlVDYWNoZS5oCkBAIC03NSw3ICs3NSw3IEBA
IGNsYXNzIFNpemVkTVJVQ2FjaGUgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAg
bUN1cnJlbnRTaXplID0gMDsKICAgICB9CiAKLSAgICBib29sIGVyYXNlQnlLZXkoY29uc3QgS2V5
ICZrZXkpCisgICAgdm9pZCBlcmFzZUJ5S2V5KGNvbnN0IEtleSAma2V5KQogICAgIHsKICAgICAg
ICAgLy8gQ2hlY2sgZm9yIGV4aXN0aW5nIGtleS4KICAgICAgICAgYXV0byBleGlzdGluZyA9IG1T
dG9yZS5QZWVrKGtleSk7CkBAIC04MywxMCArODMsNyBAQCBjbGFzcyBTaXplZE1SVUNhY2hlIGZp
bmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIHsKICAgICAgICAgICAgIG1DdXJyZW50
U2l6ZSAtPSBleGlzdGluZy0+c2Vjb25kLnNpemU7CiAgICAgICAgICAgICBtU3RvcmUuRXJhc2Uo
ZXhpc3RpbmcpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KLQotICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgc2l6ZV90IGVudHJ5Q291bnQoKSBjb25zdCB7
IHJldHVybiBtU3RvcmUuc2l6ZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL1N0YXRlLmNwcAppbmRleCBhNmNiYTk2OGMxNWQ0YjQ0NzdjZTIyOWU2OTkxOWYx
N2I3NDU4ZGJmLi41Y2E1OTY1Zjg5ZmMzYjE0NWU3MWQ0ODlkNWZmNjU4Y2E5ZjQyYjQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuY3BwCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdGF0ZS5jcHAKQEAgLTI2
MywxMSArMjYzLDExIEBAIEFjdGl2ZVRleHR1cmVzQ2FjaGU6On5BY3RpdmVUZXh0dXJlc0NhY2hl
KCkKICAgICBBU1NFUlQoZW1wdHkoKSk7CiB9CiAKLXZvaWQgQWN0aXZlVGV4dHVyZXNDYWNoZTo6
Y2xlYXIoKQordm9pZCBBY3RpdmVUZXh0dXJlc0NhY2hlOjpjbGVhcihDb250ZXh0SUQgY29udGV4
dElEKQogewogICAgIGZvciAoc2l6ZV90IHRleHR1cmVJbmRleCA9IDA7IHRleHR1cmVJbmRleCA8
IG1UZXh0dXJlcy5zaXplKCk7ICsrdGV4dHVyZUluZGV4KQogICAgIHsKLSAgICAgICAgcmVzZXQo
dGV4dHVyZUluZGV4KTsKKyAgICAgICAgcmVzZXQoY29udGV4dElELCB0ZXh0dXJlSW5kZXgpOwog
ICAgIH0KIH0KIApAQCAtMjg0LDMwICsyODQsMzEgQEAgYm9vbCBBY3RpdmVUZXh0dXJlc0NhY2hl
OjplbXB0eSgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUFOR0xFX0lOTElORSB2b2lk
IEFjdGl2ZVRleHR1cmVzQ2FjaGU6OnJlc2V0KHNpemVfdCB0ZXh0dXJlSW5kZXgpCitBTkdMRV9J
TkxJTkUgdm9pZCBBY3RpdmVUZXh0dXJlc0NhY2hlOjpyZXNldChDb250ZXh0SUQgY29udGV4dElE
LCBzaXplX3QgdGV4dHVyZUluZGV4KQogewogICAgIGlmIChtVGV4dHVyZXNbdGV4dHVyZUluZGV4
XSkKICAgICB7Ci0gICAgICAgIG1UZXh0dXJlc1t0ZXh0dXJlSW5kZXhdLT5vblVuYmluZEFzU2Ft
cGxlclRleHR1cmUoKTsKKyAgICAgICAgbVRleHR1cmVzW3RleHR1cmVJbmRleF0tPm9uVW5iaW5k
QXNTYW1wbGVyVGV4dHVyZShjb250ZXh0SUQpOwogICAgICAgICBtVGV4dHVyZXNbdGV4dHVyZUlu
ZGV4XSA9IG51bGxwdHI7CiAgICAgfQogfQogCi1BTkdMRV9JTkxJTkUgdm9pZCBBY3RpdmVUZXh0
dXJlc0NhY2hlOjpzZXQoc2l6ZV90IHRleHR1cmVJbmRleCwgVGV4dHVyZSAqdGV4dHVyZSkKK0FO
R0xFX0lOTElORSB2b2lkIEFjdGl2ZVRleHR1cmVzQ2FjaGU6OnNldChDb250ZXh0SUQgY29udGV4
dElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCB0
ZXh0dXJlSW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VGV4dHVyZSAqdGV4dHVyZSkKIHsKICAgICAvLyBXZSBkb24ndCBjYWxsIHJlc2V0KCkgaGVyZSB0
byBhdm9pZCBzZXR0aW5nIG51bGxwdHIgYmVmb3JlIHJlYmluZC4KICAgICBpZiAobVRleHR1cmVz
W3RleHR1cmVJbmRleF0pCiAgICAgewotICAgICAgICBtVGV4dHVyZXNbdGV4dHVyZUluZGV4XS0+
b25VbmJpbmRBc1NhbXBsZXJUZXh0dXJlKCk7CisgICAgICAgIG1UZXh0dXJlc1t0ZXh0dXJlSW5k
ZXhdLT5vblVuYmluZEFzU2FtcGxlclRleHR1cmUoY29udGV4dElEKTsKICAgICB9CiAKICAgICBB
U1NFUlQodGV4dHVyZSk7Ci0gICAgdGV4dHVyZS0+b25CaW5kQXNTYW1wbGVyVGV4dHVyZSgpOwor
ICAgIHRleHR1cmUtPm9uQmluZEFzU2FtcGxlclRleHR1cmUoY29udGV4dElEKTsKICAgICBtVGV4
dHVyZXNbdGV4dHVyZUluZGV4XSA9IHRleHR1cmU7CiB9CiAKLVN0YXRlOjpTdGF0ZShDb250ZXh0
SUQgY29udGV4dEluLAotICAgICAgICAgICAgIGNvbnN0IFN0YXRlICpzaGFyZUNvbnRleHRTdGF0
ZSwKK1N0YXRlOjpTdGF0ZShjb25zdCBTdGF0ZSAqc2hhcmVDb250ZXh0U3RhdGUsCiAgICAgICAg
ICAgICAgVGV4dHVyZU1hbmFnZXIgKnNoYXJlVGV4dHVyZXMsCiAgICAgICAgICAgICAgY29uc3Qg
T3ZlcmxheVR5cGUgKm92ZXJsYXksCiAgICAgICAgICAgICAgY29uc3QgRUdMZW51bSBjbGllbnRU
eXBlLApAQCAtMzIyLDcgKzMyMyw2IEBAIFN0YXRlOjpTdGF0ZShDb250ZXh0SUQgY29udGV4dElu
LAogICAgICAgbUNsaWVudFR5cGUoY2xpZW50VHlwZSksCiAgICAgICBtQ29udGV4dFByaW9yaXR5
KGNvbnRleHRQcmlvcml0eSksCiAgICAgICBtQ2xpZW50VmVyc2lvbihjbGllbnRWZXJzaW9uKSwK
LSAgICAgIG1Db250ZXh0KGNvbnRleHRJbiksCiAgICAgICBtQnVmZmVyTWFuYWdlcihBbGxvY2F0
ZU9yR2V0U2hhcmVkUmVzb3VyY2VNYW5hZ2VyKHNoYXJlQ29udGV4dFN0YXRlLCAmU3RhdGU6Om1C
dWZmZXJNYW5hZ2VyKSksCiAgICAgICBtU2hhZGVyUHJvZ3JhbU1hbmFnZXIoCiAgICAgICAgICAg
QWxsb2NhdGVPckdldFNoYXJlZFJlc291cmNlTWFuYWdlcihzaGFyZUNvbnRleHRTdGF0ZSwgJlN0
YXRlOjptU2hhZGVyUHJvZ3JhbU1hbmFnZXIpKSwKQEAgLTM1NSw2ICszNTUsNyBAQCBTdGF0ZTo6
U3RhdGUoQ29udGV4dElEIGNvbnRleHRJbiwKICAgICAgIG1TdGVuY2lsQmFja1JlZigwKSwKICAg
ICAgIG1MaW5lV2lkdGgoMCksCiAgICAgICBtR2VuZXJhdGVNaXBtYXBIaW50KEdMX05PTkUpLAor
ICAgICAgbVRleHR1cmVGaWx0ZXJpbmdIaW50KEdMX05PTkUpLAogICAgICAgbUZyYWdtZW50U2hh
ZGVyRGVyaXZhdGl2ZUhpbnQoR0xfTk9ORSksCiAgICAgICBtQmluZEdlbmVyYXRlc1Jlc291cmNl
KGJpbmRHZW5lcmF0ZXNSZXNvdXJjZSksCiAgICAgICBtQ2xpZW50QXJyYXlzRW5hYmxlZChjbGll
bnRBcnJheXNFbmFibGVkKSwKQEAgLTM5MSw2ICszOTIsNyBAQCB2b2lkIFN0YXRlOjppbml0aWFs
aXplKENvbnRleHQgKmNvbnRleHQpCiAgICAgY29uc3QgVmVyc2lvbiAmY2xpZW50VmVyc2lvbiAg
ICAgICA9IGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKTsKIAogICAgIG1NYXhEcmF3QnVmZmVy
cyAgICAgICAgICAgICAgID0gc3RhdGljX2Nhc3Q8R0x1aW50PihjYXBzLm1heERyYXdCdWZmZXJz
KTsKKyAgICBtQmxlbmRTdGF0ZUV4dCAgICAgICAgICAgICAgICA9IEJsZW5kU3RhdGVFeHQobU1h
eERyYXdCdWZmZXJzKTsKICAgICBtTWF4Q29tYmluZWRUZXh0dXJlSW1hZ2VVbml0cyA9IHN0YXRp
Y19jYXN0PEdMdWludD4oY2Fwcy5tYXhDb21iaW5lZFRleHR1cmVJbWFnZVVuaXRzKTsKIAogICAg
IHNldENvbG9yQ2xlYXJWYWx1ZSgwLjBmLCAwLjBmLCAwLjBmLCAwLjBmKTsKQEAgLTQyMSw2ICs0
MjMsNyBAQCB2b2lkIFN0YXRlOjppbml0aWFsaXplKENvbnRleHQgKmNvbnRleHQpCiAgICAgbVNh
bXBsZU1hc2tWYWx1ZXMuZmlsbCh+R0xiaXRmaWVsZCgwKSk7CiAKICAgICBtR2VuZXJhdGVNaXBt
YXBIaW50ICAgICAgICAgICA9IEdMX0RPTlRfQ0FSRTsKKyAgICBtVGV4dHVyZUZpbHRlcmluZ0hp
bnQgICAgICAgICA9IEdMX0RPTlRfQ0FSRTsKICAgICBtRnJhZ21lbnRTaGFkZXJEZXJpdmF0aXZl
SGludCA9IEdMX0RPTlRfQ0FSRTsKIAogICAgIG1MaW5lV2lkdGggPSAxLjBmOwpAQCAtNTIxLDYg
KzUyNCw4IEBAIHZvaWQgU3RhdGU6OmluaXRpYWxpemUoQ29udGV4dCAqY29udGV4dCkKIAogdm9p
ZCBTdGF0ZTo6cmVzZXQoY29uc3QgQ29udGV4dCAqY29udGV4dCkKIHsKKyAgICBtQWN0aXZlVGV4
dHVyZXNDYWNoZS5jbGVhcihtSUQpOworCiAgICAgZm9yIChhdXRvICZiaW5kaW5nVmVjIDogbVNh
bXBsZXJUZXh0dXJlcykKICAgICB7CiAgICAgICAgIGZvciAoc2l6ZV90IHRleHR1cmVJZHggPSAw
OyB0ZXh0dXJlSWR4IDwgYmluZGluZ1ZlYy5zaXplKCk7IHRleHR1cmVJZHgrKykKQEAgLTU1NCw5
ICs1NTksOSBAQCB2b2lkIFN0YXRlOjpyZXNldChjb25zdCBDb250ZXh0ICpjb250ZXh0KQogICAg
IHsKICAgICAgICAgbVByb2dyYW0tPnJlbGVhc2UoY29udGV4dCk7CiAgICAgfQotICAgIG1Qcm9n
cmFtICAgID0gbnVsbHB0cjsKLSAgICBtRXhlY3V0YWJsZSA9IG51bGxwdHI7CisgICAgbVByb2dy
YW0gPSBudWxscHRyOwogICAgIG1Qcm9ncmFtUGlwZWxpbmUuc2V0KGNvbnRleHQsIG51bGxwdHIp
OworICAgIG1FeGVjdXRhYmxlID0gbnVsbHB0cjsKIAogICAgIGlmIChtVHJhbnNmb3JtRmVlZGJh
Y2suZ2V0KCkpCiAgICAgICAgIG1UcmFuc2Zvcm1GZWVkYmFjay0+b25CaW5kaW5nQ2hhbmdlZChj
b250ZXh0LCBmYWxzZSk7CkBAIC01ODIsNyArNTg3LDcgQEAgdm9pZCBTdGF0ZTo6cmVzZXQoY29u
c3QgQ29udGV4dCAqY29udGV4dCkKICAgICAgICAgVXBkYXRlSW5kZXhlZEJ1ZmZlckJpbmRpbmco
Y29udGV4dCwgJmJ1ZiwgbnVsbHB0ciwgQnVmZmVyQmluZGluZzo6U2hhZGVyU3RvcmFnZSwgMCwg
MCk7CiAgICAgfQogCi0gICAgbUFjdGl2ZVRleHR1cmVzQ2FjaGUuY2xlYXIoKTsKKyAgICBtQ2xp
cERpc3RhbmNlc0VuYWJsZWQucmVzZXQoKTsKIAogICAgIHNldEFsbERpcnR5Qml0cygpOwogfQpA
QCAtNTkwLDI5ICs1OTUsMjUgQEAgdm9pZCBTdGF0ZTo6cmVzZXQoY29uc3QgQ29udGV4dCAqY29u
dGV4dCkKIEFOR0xFX0lOTElORSB2b2lkIFN0YXRlOjp1bnNldEFjdGl2ZVRleHR1cmVzKEFjdGl2
ZVRleHR1cmVNYXNrIHRleHR1cmVNYXNrKQogewogICAgIC8vIFVuc2V0IGFueSByZWxldmFudCBi
b3VuZCB0ZXh0dXJlcy4KLSAgICBmb3IgKHNpemVfdCB0ZXh0dXJlSW5kZXggOiBtRXhlY3V0YWJs
ZS0+Z2V0QWN0aXZlU2FtcGxlcnNNYXNrKCkpCisgICAgZm9yIChzaXplX3QgdGV4dHVyZUluZGV4
IDogdGV4dHVyZU1hc2spCiAgICAgewotICAgICAgICBtQWN0aXZlVGV4dHVyZXNDYWNoZS5yZXNl
dCh0ZXh0dXJlSW5kZXgpOworICAgICAgICBtQWN0aXZlVGV4dHVyZXNDYWNoZS5yZXNldChtSUQs
IHRleHR1cmVJbmRleCk7CiAgICAgICAgIG1Db21wbGV0ZVRleHR1cmVCaW5kaW5nc1t0ZXh0dXJl
SW5kZXhdLnJlc2V0KCk7CiAgICAgfQogfQogCi12b2lkIFN0YXRlOjpzZXRUZXh0dXJlSW5kZXhJ
bmFjdGl2ZShzaXplX3QgdGV4dHVyZUluZGV4KSB7Ci0gICAgbUFjdGl2ZVRleHR1cmVzQ2FjaGUu
cmVzZXQodGV4dHVyZUluZGV4KTsKLX0KLQogQU5HTEVfSU5MSU5FIHZvaWQgU3RhdGU6OnVwZGF0
ZUFjdGl2ZVRleHR1cmVTdGF0ZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgdGV4dHVyZUluZGV4
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTYW1wbGVyICpzYW1wbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUZXh0dXJlICp0ZXh0dXJlKQogewotICAgIGlmICghdGV4dHVyZS0+aXNT
YW1wbGVyQ29tcGxldGUoY29udGV4dCwgc2FtcGxlcikpCisgICAgaWYgKCF0ZXh0dXJlIHx8ICF0
ZXh0dXJlLT5pc1NhbXBsZXJDb21wbGV0ZShjb250ZXh0LCBzYW1wbGVyKSkKICAgICB7Ci0gICAg
ICAgIG1BY3RpdmVUZXh0dXJlc0NhY2hlLnJlc2V0KHRleHR1cmVJbmRleCk7CisgICAgICAgIG1B
Y3RpdmVUZXh0dXJlc0NhY2hlLnJlc2V0KG1JRCwgdGV4dHVyZUluZGV4KTsKICAgICB9CiAgICAg
ZWxzZQogICAgIHsKLSAgICAgICAgbUFjdGl2ZVRleHR1cmVzQ2FjaGUuc2V0KHRleHR1cmVJbmRl
eCwgdGV4dHVyZSk7CisgICAgICAgIG1BY3RpdmVUZXh0dXJlc0NhY2hlLnNldChtSUQsIHRleHR1
cmVJbmRleCwgdGV4dHVyZSk7CiAKICAgICAgICAgaWYgKHRleHR1cmUtPmhhc0FueURpcnR5Qml0
KCkpCiAgICAgICAgIHsKQEAgLTYyNSw3ICs2MjYsNyBAQCBBTkdMRV9JTkxJTkUgdm9pZCBTdGF0
ZTo6dXBkYXRlQWN0aXZlVGV4dHVyZVN0YXRlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBpZiAobVByb2dyYW0pCisgICAgaWYgKHRleHR1cmUgJiYgbVBy
b2dyYW0pCiAgICAgewogICAgICAgICBjb25zdCBTYW1wbGVyU3RhdGUgJnNhbXBsZXJTdGF0ZSA9
CiAgICAgICAgICAgICBzYW1wbGVyID8gc2FtcGxlci0+Z2V0U2FtcGxlclN0YXRlKCkgOiB0ZXh0
dXJlLT5nZXRTYW1wbGVyU3RhdGUoKTsKQEAgLTY1MSw3ICs2NTIsNyBAQCBBTkdMRV9JTkxJTkUg
dm9pZCBTdGF0ZTo6dXBkYXRlQWN0aXZlVGV4dHVyZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAog
CiAgICAgaWYgKCF0ZXh0dXJlKQogICAgIHsKLSAgICAgICAgbUFjdGl2ZVRleHR1cmVzQ2FjaGUu
cmVzZXQodGV4dHVyZUluZGV4KTsKKyAgICAgICAgbUFjdGl2ZVRleHR1cmVzQ2FjaGUucmVzZXQo
bUlELCB0ZXh0dXJlSW5kZXgpOwogICAgICAgICBtRGlydHlCaXRzLnNldChESVJUWV9CSVRfVEVY
VFVSRV9CSU5ESU5HUyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MTEsNiArNzEyLDgg
QEAgdm9pZCBTdGF0ZTo6c2V0Q29sb3JNYXNrKGJvb2wgcmVkLCBib29sIGdyZWVuLCBib29sIGJs
dWUsIGJvb2wgYWxwaGEpCiAgICAgICAgIGJsZW5kU3RhdGUuY29sb3JNYXNrQmx1ZSAgPSBibHVl
OwogICAgICAgICBibGVuZFN0YXRlLmNvbG9yTWFza0FscGhhID0gYWxwaGE7CiAgICAgfQorCisg
ICAgbUJsZW5kU3RhdGVFeHQuc2V0Q29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsK
ICAgICBtRGlydHlCaXRzLnNldChESVJUWV9CSVRfQ09MT1JfTUFTSyk7CiB9CiAKQEAgLTcyMSw2
ICs3MjQsOCBAQCB2b2lkIFN0YXRlOjpzZXRDb2xvck1hc2tJbmRleGVkKGJvb2wgcmVkLCBib29s
IGdyZWVuLCBib29sIGJsdWUsIGJvb2wgYWxwaGEsIEdMdQogICAgIG1CbGVuZFN0YXRlQXJyYXlb
aW5kZXhdLmNvbG9yTWFza0dyZWVuID0gZ3JlZW47CiAgICAgbUJsZW5kU3RhdGVBcnJheVtpbmRl
eF0uY29sb3JNYXNrQmx1ZSAgPSBibHVlOwogICAgIG1CbGVuZFN0YXRlQXJyYXlbaW5kZXhdLmNv
bG9yTWFza0FscGhhID0gYWxwaGE7CisKKyAgICBtQmxlbmRTdGF0ZUV4dC5zZXRDb2xvck1hc2tJ
bmRleGVkKGluZGV4LCByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CiAgICAgbURpcnR5Qml0cy5z
ZXQoRElSVFlfQklUX0NPTE9SX01BU0spOwogfQogCkBAIC04MTksNyArODI0LDcgQEAgdm9pZCBT
dGF0ZTo6c2V0QmxlbmQoYm9vbCBlbmFibGVkKQogICAgIHsKICAgICAgICAgYmxlbmRTdGF0ZS5i
bGVuZCA9IGVuYWJsZWQ7CiAgICAgfQotICAgIGVuYWJsZWQgPyBtQmxlbmRFbmFibGVkRHJhd0J1
ZmZlcnMuc2V0KCkgOiBtQmxlbmRFbmFibGVkRHJhd0J1ZmZlcnMucmVzZXQoKTsKKyAgICBtQmxl
bmRTdGF0ZUV4dC5zZXRFbmFibGVkKGVuYWJsZWQpOwogICAgIG1EaXJ0eUJpdHMuc2V0KERJUlRZ
X0JJVF9CTEVORF9FTkFCTEVEKTsKIH0KIApAQCAtODI3LDcgKzgzMiw3IEBAIHZvaWQgU3RhdGU6
OnNldEJsZW5kSW5kZXhlZChib29sIGVuYWJsZWQsIEdMdWludCBpbmRleCkKIHsKICAgICBBU1NF
UlQoaW5kZXggPCBtQmxlbmRTdGF0ZUFycmF5LnNpemUoKSk7CiAgICAgbUJsZW5kU3RhdGVBcnJh
eVtpbmRleF0uYmxlbmQgPSBlbmFibGVkOwotICAgIG1CbGVuZEVuYWJsZWREcmF3QnVmZmVycy5z
ZXQoaW5kZXgsIGVuYWJsZWQpOworICAgIG1CbGVuZFN0YXRlRXh0LnNldEVuYWJsZWRJbmRleGVk
KGluZGV4LCBlbmFibGVkKTsKICAgICBtRGlydHlCaXRzLnNldChESVJUWV9CSVRfQkxFTkRfRU5B
QkxFRCk7CiB9CiAKQEAgLTg2MSw2ICs4NjYsOCBAQCB2b2lkIFN0YXRlOjpzZXRCbGVuZEZhY3Rv
cnMoR0xlbnVtIHNvdXJjZVJHQiwgR0xlbnVtIGRlc3RSR0IsIEdMZW51bSBzb3VyY2VBbHBoYQog
ICAgICAgICAgICAgbUJsZW5kRnVuY0NvbnN0YW50QWxwaGFEcmF3QnVmZmVycy5yZXNldCgpOwog
ICAgICAgICB9CiAgICAgfQorCisgICAgbUJsZW5kU3RhdGVFeHQuc2V0RmFjdG9ycyhzb3VyY2VS
R0IsIGRlc3RSR0IsIHNvdXJjZUFscGhhLCBkZXN0QWxwaGEpOwogICAgIG1EaXJ0eUJpdHMuc2V0
KERJUlRZX0JJVF9CTEVORF9GVU5DUyk7CiB9CiAKQEAgLTg4MSw2ICs4ODgsOCBAQCB2b2lkIFN0
YXRlOjpzZXRCbGVuZEZhY3RvcnNJbmRleGVkKEdMZW51bSBzb3VyY2VSR0IsCiAgICAgICAgIG1C
bGVuZEZ1bmNDb25zdGFudENvbG9yRHJhd0J1ZmZlcnMuc2V0KGluZGV4LCBoYXNDb25zdGFudENv
bG9yKHNvdXJjZVJHQiwgZGVzdFJHQikpOwogICAgICAgICBtQmxlbmRGdW5jQ29uc3RhbnRBbHBo
YURyYXdCdWZmZXJzLnNldChpbmRleCwgaGFzQ29uc3RhbnRBbHBoYShzb3VyY2VSR0IsIGRlc3RS
R0IpKTsKICAgICB9CisKKyAgICBtQmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZChpbmRl
eCwgc291cmNlUkdCLCBkZXN0UkdCLCBzb3VyY2VBbHBoYSwgZGVzdEFscGhhKTsKICAgICBtRGly
dHlCaXRzLnNldChESVJUWV9CSVRfQkxFTkRfRlVOQ1MpOwogfQogCkBAIC05MTQsNiArOTIzLDgg
QEAgdm9pZCBTdGF0ZTo6c2V0QmxlbmRFcXVhdGlvbihHTGVudW0gcmdiRXF1YXRpb24sIEdMZW51
bSBhbHBoYUVxdWF0aW9uKQogICAgICAgICBibGVuZFN0YXRlLmJsZW5kRXF1YXRpb25SR0IgICA9
IHJnYkVxdWF0aW9uOwogICAgICAgICBibGVuZFN0YXRlLmJsZW5kRXF1YXRpb25BbHBoYSA9IGFs
cGhhRXF1YXRpb247CiAgICAgfQorCisgICAgbUJsZW5kU3RhdGVFeHQuc2V0RXF1YXRpb25zKHJn
YkVxdWF0aW9uLCBhbHBoYUVxdWF0aW9uKTsKICAgICBtRGlydHlCaXRzLnNldChESVJUWV9CSVRf
QkxFTkRfRVFVQVRJT05TKTsKIH0KIApAQCAtOTIyLDYgKzkzMyw4IEBAIHZvaWQgU3RhdGU6OnNl
dEJsZW5kRXF1YXRpb25JbmRleGVkKEdMZW51bSByZ2JFcXVhdGlvbiwgR0xlbnVtIGFscGhhRXF1
YXRpb24sIEdMCiAgICAgQVNTRVJUKGluZGV4IDwgbUJsZW5kU3RhdGVBcnJheS5zaXplKCkpOwog
ICAgIG1CbGVuZFN0YXRlQXJyYXlbaW5kZXhdLmJsZW5kRXF1YXRpb25SR0IgICA9IHJnYkVxdWF0
aW9uOwogICAgIG1CbGVuZFN0YXRlQXJyYXlbaW5kZXhdLmJsZW5kRXF1YXRpb25BbHBoYSA9IGFs
cGhhRXF1YXRpb247CisKKyAgICBtQmxlbmRTdGF0ZUV4dC5zZXRFcXVhdGlvbnNJbmRleGVkKGlu
ZGV4LCByZ2JFcXVhdGlvbiwgYWxwaGFFcXVhdGlvbik7CiAgICAgbURpcnR5Qml0cy5zZXQoRElS
VFlfQklUX0JMRU5EX0VRVUFUSU9OUyk7CiB9CiAKQEAgLTExMDEsNjYgKzExMTQsMTAyIEBAIHZv
aWQgU3RhdGU6OnNldFByaW1pdGl2ZVJlc3RhcnQoYm9vbCBlbmFibGVkKQogICAgIG1EaXJ0eUJp
dHMuc2V0KERJUlRZX0JJVF9QUklNSVRJVkVfUkVTVEFSVF9FTkFCTEVEKTsKIH0KIAordm9pZCBT
dGF0ZTo6c2V0Q2xpcERpc3RhbmNlRW5hYmxlKGludCBpZHgsIGJvb2wgZW5hYmxlKQoreworICAg
IGlmIChlbmFibGUpCisgICAgeworICAgICAgICBtQ2xpcERpc3RhbmNlc0VuYWJsZWQuc2V0KGlk
eCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIG1DbGlwRGlzdGFuY2VzRW5hYmxl
ZC5yZXNldChpZHgpOworICAgIH0KKworICAgIG1EaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9FWFRF
TkRFRCk7Cit9CisKIHZvaWQgU3RhdGU6OnNldEVuYWJsZUZlYXR1cmUoR0xlbnVtIGZlYXR1cmUs
IGJvb2wgZW5hYmxlZCkKIHsKICAgICBzd2l0Y2ggKGZlYXR1cmUpCiAgICAgewogICAgICAgICBj
YXNlIEdMX01VTFRJU0FNUExFX0VYVDoKICAgICAgICAgICAgIHNldE11bHRpc2FtcGxpbmcoZW5h
YmxlZCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
Y2FzZSBHTF9TQU1QTEVfQUxQSEFfVE9fT05FX0VYVDoKICAgICAgICAgICAgIHNldFNhbXBsZUFs
cGhhVG9PbmUoZW5hYmxlZCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgY2FzZSBHTF9DVUxMX0ZBQ0U6CiAgICAgICAgICAgICBzZXRDdWxsRmFjZShl
bmFibGVkKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjYXNlIEdMX1BPTFlHT05fT0ZGU0VUX0ZJTEw6CiAgICAgICAgICAgICBzZXRQb2x5Z29uT2Zm
c2V0RmlsbChlbmFibGVkKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBjYXNlIEdMX1NBTVBMRV9BTFBIQV9UT19DT1ZFUkFHRToKICAgICAgICAgICAg
IHNldFNhbXBsZUFscGhhVG9Db3ZlcmFnZShlbmFibGVkKTsKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEdMX1NBTVBMRV9DT1ZFUkFHRToKICAg
ICAgICAgICAgIHNldFNhbXBsZUNvdmVyYWdlKGVuYWJsZWQpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgR0xfU0NJU1NPUl9URVNUOgogICAg
ICAgICAgICAgc2V0U2Npc3NvclRlc3QoZW5hYmxlZCk7Ci0gICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBHTF9TVEVOQ0lMX1RFU1Q6CiAgICAgICAg
ICAgICBzZXRTdGVuY2lsVGVzdChlbmFibGVkKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEdMX0RFUFRIX1RFU1Q6CiAgICAgICAgICAgICBz
ZXREZXB0aFRlc3QoZW5hYmxlZCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgY2FzZSBHTF9CTEVORDoKICAgICAgICAgICAgIHNldEJsZW5kKGVuYWJs
ZWQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNh
c2UgR0xfRElUSEVSOgogICAgICAgICAgICAgc2V0RGl0aGVyKGVuYWJsZWQpOwotICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgR0xfUFJJTUlUSVZF
X1JFU1RBUlRfRklYRURfSU5ERVg6CiAgICAgICAgICAgICBzZXRQcmltaXRpdmVSZXN0YXJ0KGVu
YWJsZWQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGNhc2UgR0xfUkFTVEVSSVpFUl9ESVNDQVJEOgogICAgICAgICAgICAgc2V0UmFzdGVyaXplckRp
c2NhcmQoZW5hYmxlZCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgY2FzZSBHTF9TQU1QTEVfTUFTSzoKICAgICAgICAgICAgIHNldFNhbXBsZU1hc2tF
bmFibGVkKGVuYWJsZWQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIGNhc2UgR0xfREVCVUdfT1VUUFVUX1NZTkNIUk9OT1VTOgogICAgICAgICAgICAg
bURlYnVnLnNldE91dHB1dFN5bmNocm9ub3VzKGVuYWJsZWQpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgR0xfREVCVUdfT1VUUFVUOgogICAg
ICAgICAgICAgbURlYnVnLnNldE91dHB1dEVuYWJsZWQoZW5hYmxlZCk7Ci0gICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUl9T
UkdCX0VYVDoKICAgICAgICAgICAgIHNldEZyYW1lYnVmZmVyU1JHQihlbmFibGVkKTsKLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEdMX1RFWFRV
UkVfUkVDVEFOR0xFX0FOR0xFOgogICAgICAgICAgICAgbVRleHR1cmVSZWN0YW5nbGVFbmFibGVk
ID0gZW5hYmxlZDsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAvLyBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlL0dMX0VYVF9jbGlwX2N1bGxfZGlzdGFuY2UK
KyAgICAgICAgY2FzZSBHTF9DTElQX0RJU1RBTkNFMF9FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJ
UF9ESVNUQU5DRTFfRVhUOgorICAgICAgICBjYXNlIEdMX0NMSVBfRElTVEFOQ0UyX0VYVDoKKyAg
ICAgICAgY2FzZSBHTF9DTElQX0RJU1RBTkNFM19FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJUF9E
SVNUQU5DRTRfRVhUOgorICAgICAgICBjYXNlIEdMX0NMSVBfRElTVEFOQ0U1X0VYVDoKKyAgICAg
ICAgY2FzZSBHTF9DTElQX0RJU1RBTkNFNl9FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJUF9ESVNU
QU5DRTdfRVhUOgorICAgICAgICAgICAgLy8gTk9URShocWxlKTogVGhlc2UgZW51bXMgYXJlIGNv
bmZsaWN0ZWQgd2l0aCBHTEVTMSdzIGVudW1zLCBuZWVkCisgICAgICAgICAgICAvLyB0byBkbyBh
ZGRpdGlvbmFsIGNoZWNrIGhlcmU6CisgICAgICAgICAgICBpZiAobUNsaWVudFZlcnNpb24ubWFq
b3IgPj0gMikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzZXRDbGlwRGlzdGFuY2VF
bmFibGUoZmVhdHVyZSAtIEdMX0NMSVBfRElTVEFOQ0UwX0VYVCwgZW5hYmxlZCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgIH0KIAotICAgICAgICAvLyBHTEVT
MSBlbXVsYXRpb24KKyAgICBBU1NFUlQobUNsaWVudFZlcnNpb24ubWFqb3IgPT0gMSk7CisKKyAg
ICAvLyBHTEVTMSBlbXVsYXRpb24uIE5lZWQgdG8gc2VwYXJhdGUgZnJvbSBtYWluIHN3aXRjaCBk
dWUgdG8gY29uZmxpY3QgZW51bSBiZXR3ZWVuCisgICAgLy8gR0xfQ0xJUF9ESVNUQU5DRTBfRVhU
ICYgR0xfQ0xJUF9QTEFORTAKKyAgICBzd2l0Y2ggKGZlYXR1cmUpCisgICAgewogICAgICAgICBj
YXNlIEdMX0FMUEhBX1RFU1Q6CiAgICAgICAgICAgICBtR0xFUzFTdGF0ZS5tQWxwaGFUZXN0RW5h
YmxlZCA9IGVuYWJsZWQ7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEyODEsNiArMTMzMCwyOCBA
QCBib29sIFN0YXRlOjpnZXRFbmFibGVGZWF0dXJlKEdMZW51bSBmZWF0dXJlKSBjb25zdAogICAg
ICAgICBjYXNlIEdMX1RFWFRVUkVfUkVDVEFOR0xFX0FOR0xFOgogICAgICAgICAgICAgcmV0dXJu
IG1UZXh0dXJlUmVjdGFuZ2xlRW5hYmxlZDsKIAorICAgICAgICAvLyBHTF9BUFBMRV9jbGlwX2Rp
c3RhbmNlL0dMX0VYVF9jbGlwX2N1bGxfZGlzdGFuY2UKKyAgICAgICAgY2FzZSBHTF9DTElQX0RJ
U1RBTkNFMF9FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTFfRVhUOgorICAgICAg
ICBjYXNlIEdMX0NMSVBfRElTVEFOQ0UyX0VYVDoKKyAgICAgICAgY2FzZSBHTF9DTElQX0RJU1RB
TkNFM19FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTRfRVhUOgorICAgICAgICBj
YXNlIEdMX0NMSVBfRElTVEFOQ0U1X0VYVDoKKyAgICAgICAgY2FzZSBHTF9DTElQX0RJU1RBTkNF
Nl9FWFQ6CisgICAgICAgIGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTdfRVhUOgorICAgICAgICAgICAg
aWYgKG1DbGllbnRWZXJzaW9uLm1ham9yID49IDIpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgLy8gSWYgR0xFUyB2ZXJzaW9uIGlzIDEsIHRoZSBHTF9DTElQX0RJU1RBTkNFMF9FWFQg
ZW51bSB3aWxsIGJlIHVzZWQgYXMKKyAgICAgICAgICAgICAgICAvLyBHTF9DTElQX1BMQU5FMCBp
bnN0ZWFkLgorICAgICAgICAgICAgICAgIHJldHVybiBtQ2xpcERpc3RhbmNlc0VuYWJsZWQudGVz
dChmZWF0dXJlIC0gR0xfQ0xJUF9ESVNUQU5DRTBfRVhUKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIEFTU0VSVChtQ2xpZW50VmVyc2lvbi5tYWpvciA9
PSAxKTsKKworICAgIHN3aXRjaCAoZmVhdHVyZSkKKyAgICB7CiAgICAgICAgIC8vIEdMRVMxIGVt
dWxhdGlvbgogICAgICAgICBjYXNlIEdMX0FMUEhBX1RFU1Q6CiAgICAgICAgICAgICByZXR1cm4g
bUdMRVMxU3RhdGUubUFscGhhVGVzdEVuYWJsZWQ7CkBAIC0xMzQ0LDcgKzE0MTUsNiBAQCBib29s
IFN0YXRlOjpnZXRFbmFibGVGZWF0dXJlSW5kZXhlZChHTGVudW0gZmVhdHVyZSwgR0x1aW50IGlu
ZGV4KSBjb25zdAogICAgIHsKICAgICAgICAgY2FzZSBHTF9CTEVORDoKICAgICAgICAgICAgIHJl
dHVybiBpc0JsZW5kRW5hYmxlZEluZGV4ZWQoaW5kZXgpOwotICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOwogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTM2MCwxMyArMTQzMCwyNSBAQCB2b2lkIFN0YXRlOjpzZXRMaW5l
V2lkdGgoR0xmbG9hdCB3aWR0aCkKIHZvaWQgU3RhdGU6OnNldEdlbmVyYXRlTWlwbWFwSGludChH
TGVudW0gaGludCkKIHsKICAgICBtR2VuZXJhdGVNaXBtYXBIaW50ID0gaGludDsKLSAgICBtRGly
dHlCaXRzLnNldChESVJUWV9CSVRfR0VORVJBVEVfTUlQTUFQX0hJTlQpOworICAgIG1EaXJ0eUJp
dHMuc2V0KERJUlRZX0JJVF9FWFRFTkRFRCk7Cit9CisKK3ZvaWQgU3RhdGU6OnNldFRleHR1cmVG
aWx0ZXJpbmdIaW50KEdMZW51bSBoaW50KQoreworICAgIG1UZXh0dXJlRmlsdGVyaW5nSGludCA9
IGhpbnQ7CisgICAgLy8gTm90ZTogd2UgZG9uJ3QgYWRkIGEgZGlydHkgYml0IGZvciB0aGlzIGZs
YWcgYXMgaXQncyBub3QgZXhwZWN0ZWQgdG8gYmUgdG9nZ2xlZCBhdAorICAgIC8vIHJ1bnRpbWUu
Cit9CisKK0dMZW51bSBTdGF0ZTo6Z2V0VGV4dHVyZUZpbHRlcmluZ0hpbnQoKSBjb25zdAorewor
ICAgIHJldHVybiBtVGV4dHVyZUZpbHRlcmluZ0hpbnQ7CiB9CiAKIHZvaWQgU3RhdGU6OnNldEZy
YWdtZW50U2hhZGVyRGVyaXZhdGl2ZUhpbnQoR0xlbnVtIGhpbnQpCiB7CiAgICAgbUZyYWdtZW50
U2hhZGVyRGVyaXZhdGl2ZUhpbnQgPSBoaW50OwotICAgIG1EaXJ0eUJpdHMuc2V0KERJUlRZX0JJ
VF9TSEFERVJfREVSSVZBVElWRV9ISU5UKTsKKyAgICBtRGlydHlCaXRzLnNldChESVJUWV9CSVRf
RVhURU5ERUQpOwogICAgIC8vIFRPRE86IFByb3BhZ2F0ZSB0aGUgaGludCB0byBzaGFkZXIgdHJh
bnNsYXRvciBzbyB3ZSBjYW4gd3JpdGUKICAgICAvLyBkZHgsIGRkeF9jb2Fyc2UsIG9yIGRkeF9m
aW5lIGRlcGVuZGluZyBvbiB0aGUgaGludC4KICAgICAvLyBJZ25vcmUgZm9yIG5vdy4gSXQgaXMg
dmFsaWQgZm9yIGltcGxlbWVudGF0aW9ucyB0byBpZ25vcmUgaGludC4KQEAgLTEzOTMsMTQgKzE0
NzUsMTQgQEAgdm9pZCBTdGF0ZTo6c2V0QWN0aXZlU2FtcGxlcih1bnNpZ25lZCBpbnQgYWN0aXZl
KQogCiB2b2lkIFN0YXRlOjpzZXRTYW1wbGVyVGV4dHVyZShjb25zdCBDb250ZXh0ICpjb250ZXh0
LCBUZXh0dXJlVHlwZSB0eXBlLCBUZXh0dXJlICp0ZXh0dXJlKQogewotICAgIG1TYW1wbGVyVGV4
dHVyZXNbdHlwZV1bbUFjdGl2ZVNhbXBsZXJdLnNldChjb250ZXh0LCB0ZXh0dXJlKTsKLQogICAg
IGlmIChtRXhlY3V0YWJsZSAmJiBtRXhlY3V0YWJsZS0+Z2V0QWN0aXZlU2FtcGxlcnNNYXNrKClb
bUFjdGl2ZVNhbXBsZXJdICYmCiAgICAgICAgIElzVGV4dHVyZUNvbXBhdGlibGVXaXRoU2FtcGxl
cih0eXBlLCBtRXhlY3V0YWJsZS0+Z2V0QWN0aXZlU2FtcGxlclR5cGVzKClbbUFjdGl2ZVNhbXBs
ZXJdKSkKICAgICB7CiAgICAgICAgIHVwZGF0ZUFjdGl2ZVRleHR1cmUoY29udGV4dCwgbUFjdGl2
ZVNhbXBsZXIsIHRleHR1cmUpOwogICAgIH0KIAorICAgIG1TYW1wbGVyVGV4dHVyZXNbdHlwZV1b
bUFjdGl2ZVNhbXBsZXJdLnNldChjb250ZXh0LCB0ZXh0dXJlKTsKKwogICAgIG1EaXJ0eUJpdHMu
c2V0KERJUlRZX0JJVF9URVhUVVJFX0JJTkRJTkdTKTsKIH0KIApAQCAtMTcxNyw2ICsxNzk5LDEw
IEBAIGFuZ2xlOjpSZXN1bHQgU3RhdGU6OnNldFByb2dyYW0oY29uc3QgQ29udGV4dCAqY29udGV4
dCwgUHJvZ3JhbSAqbmV3UHJvZ3JhbSkKICAgICAgICAgICAgIG5ld1Byb2dyYW0tPmFkZFJlZigp
OwogICAgICAgICAgICAgQU5HTEVfVFJZKG9uUHJvZ3JhbUV4ZWN1dGFibGVDaGFuZ2UoY29udGV4
dCwgbmV3UHJvZ3JhbSkpOwogICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKG1Qcm9ncmFtUGlw
ZWxpbmUuZ2V0KCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1FeGVjdXRhYmxlID0gJm1Qcm9n
cmFtUGlwZWxpbmUtPmdldEV4ZWN1dGFibGUoKTsKKyAgICAgICAgfQogCiAgICAgICAgIC8vIE5v
dGUgdGhhdCByZW5kZXJpbmcgaXMgdW5kZWZpbmVkIGlmIGdsVXNlUHJvZ3JhbSgwKSBpcyBjYWxs
ZWQuIEJ1dCBBTkdMRSB3aWxsIGdlbmVyYXRlCiAgICAgICAgIC8vIGFuIGVycm9yIGlmIHRoZSBh
cHAgdHJpZXMgdG8gZHJhdyBpbiB0aGlzIGNhc2UuCkBAIC0xNzU0LDE2ICsxODQwLDU4IEBAIGJv
b2wgU3RhdGU6OnJlbW92ZVRyYW5zZm9ybUZlZWRiYWNrQmluZGluZyhjb25zdCBDb250ZXh0ICpj
b250ZXh0LAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBTdGF0ZTo6c2V0UHJvZ3JhbVBp
cGVsaW5lQmluZGluZyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBQcm9ncmFtUGlwZWxpbmUgKnBp
cGVsaW5lKQorYW5nbGU6OlJlc3VsdCBTdGF0ZTo6dXNlUHJvZ3JhbVN0YWdlcyhjb25zdCBDb250
ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9n
cmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xiaXRmaWVsZCBzdGFnZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFByb2dyYW0gKnNoYWRlclByb2dyYW0pCiB7CisgICAgcHJvZ3JhbVBpcGVs
aW5lLT51c2VQcm9ncmFtU3RhZ2VzKGNvbnRleHQsIHN0YWdlcywgc2hhZGVyUHJvZ3JhbSk7Cisg
ICAgQU5HTEVfVFJZKG9uUHJvZ3JhbVBpcGVsaW5lRXhlY3V0YWJsZUNoYW5nZShjb250ZXh0LCBw
cm9ncmFtUGlwZWxpbmUpKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
K30KKworYW5nbGU6OlJlc3VsdCBTdGF0ZTo6c2V0UHJvZ3JhbVBpcGVsaW5lQmluZGluZyhjb25z
dCBDb250ZXh0ICpjb250ZXh0LCBQcm9ncmFtUGlwZWxpbmUgKnBpcGVsaW5lKQoreworICAgIGlm
IChtUHJvZ3JhbVBpcGVsaW5lLmdldCgpID09IHBpcGVsaW5lKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0KKworICAgIGlmIChtUHJvZ3JhbVBp
cGVsaW5lLmdldCgpKQorICAgIHsKKyAgICAgICAgdW5zZXRBY3RpdmVUZXh0dXJlcyhtUHJvZ3Jh
bVBpcGVsaW5lLT5nZXRFeGVjdXRhYmxlKCkuZ2V0QWN0aXZlU2FtcGxlcnNNYXNrKCkpOworICAg
IH0KKwogICAgIG1Qcm9ncmFtUGlwZWxpbmUuc2V0KGNvbnRleHQsIHBpcGVsaW5lKTsKKyAgICBt
RGlydHlCaXRzLnNldChESVJUWV9CSVRfUFJPR1JBTV9CSU5ESU5HKTsKIAogICAgIC8vIEEgYm91
bmQgUHJvZ3JhbSBhbHdheXMgb3ZlcnJpZGVzIHRoZSBQcm9ncmFtUGlwZWxpbmUsIHNvIG9ubHkg
dXBkYXRlIHRoZQogICAgIC8vIGN1cnJlbnQgUHJvZ3JhbUV4ZWN1dGFibGUgaWYgdGhlcmUgaXNu
J3QgY3VycmVudGx5IGEgUHJvZ3JhbSBib3VuZC4KLSAgICBpZiAoIW1Qcm9ncmFtICYmIHBpcGVs
aW5lKQorICAgIGlmICghbVByb2dyYW0pCisgICAgeworICAgICAgICBpZiAobVByb2dyYW1QaXBl
bGluZS5nZXQoKSkKKyAgICAgICAgeworICAgICAgICAgICAgbUV4ZWN1dGFibGUgPSAmbVByb2dy
YW1QaXBlbGluZS0+Z2V0RXhlY3V0YWJsZSgpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgeworICAgICAgICAgICAgbUV4ZWN1dGFibGUgPSBudWxscHRyOworICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKG1Qcm9ncmFtUGlwZWxpbmUuZ2V0KCkpCiAgICAgewotICAgICAgICBt
RXhlY3V0YWJsZSA9ICZtUHJvZ3JhbVBpcGVsaW5lLT5nZXRFeGVjdXRhYmxlKCk7CisgICAgICAg
IG1Qcm9ncmFtUGlwZWxpbmUtPmJpbmQoKTsKKyAgICAgICAgQU5HTEVfVFJZKG9uUHJvZ3JhbVBp
cGVsaW5lRXhlY3V0YWJsZUNoYW5nZShjb250ZXh0LCBtUHJvZ3JhbVBpcGVsaW5lLmdldCgpKSk7
CisKKyAgICAgICAgaWYgKG1Qcm9ncmFtUGlwZWxpbmUtPmhhc0FueURpcnR5Qml0KCkpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIG1EaXJ0eU9iamVjdHMuc2V0KERJUlRZX09CSkVDVF9QUk9HUkFN
X1BJUEVMSU5FKTsKKyAgICAgICAgfQogICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKIH0KIAogdm9pZCBTdGF0ZTo6ZGV0YWNoUHJvZ3JhbVBpcGVsaW5lKGNvbnN0
IENvbnRleHQgKmNvbnRleHQsIFByb2dyYW1QaXBlbGluZUlEIHBpcGVsaW5lKQpAQCAtMjM2Niw2
ICsyNDk0LDkgQEAgYW5nbGU6OlJlc3VsdCBTdGF0ZTo6Z2V0SW50ZWdlcnYoY29uc3QgQ29udGV4
dCAqY29udGV4dCwgR0xlbnVtIHBuYW1lLCBHTGludCAqcGEKICAgICAgICAgY2FzZSBHTF9HRU5F
UkFURV9NSVBNQVBfSElOVDoKICAgICAgICAgICAgICpwYXJhbXMgPSBtR2VuZXJhdGVNaXBtYXBI
aW50OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0xfVEVYVFVSRV9GSUxURVJJ
TkdfSElOVF9DSFJPTUlVTToKKyAgICAgICAgICAgICpwYXJhbXMgPSBtVGV4dHVyZUZpbHRlcmlu
Z0hpbnQ7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHTF9GUkFHTUVOVF9TSEFE
RVJfREVSSVZBVElWRV9ISU5UX09FUzoKICAgICAgICAgICAgICpwYXJhbXMgPSBtRnJhZ21lbnRT
aGFkZXJEZXJpdmF0aXZlSGludDsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjQ0MCwxMiArMjU3
MSwxMCBAQCBhbmdsZTo6UmVzdWx0IFN0YXRlOjpnZXRJbnRlZ2Vydihjb25zdCBDb250ZXh0ICpj
b250ZXh0LCBHTGVudW0gcG5hbWUsIEdMaW50ICpwYQogICAgICAgICAgICAgKnBhcmFtcyA9IG1T
dGVuY2lsQ2xlYXJWYWx1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdMX0lN
UExFTUVOVEFUSU9OX0NPTE9SX1JFQURfVFlQRToKLSAgICAgICAgICAgIEFOR0xFX1RSWShtUmVh
ZEZyYW1lYnVmZmVyLT5nZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoCi0gICAgICAgICAg
ICAgICAgY29udGV4dCwgcmVpbnRlcnByZXRfY2FzdDxHTGVudW0gKj4ocGFyYW1zKSkpOworICAg
ICAgICAgICAgKnBhcmFtcyA9IG1SZWFkRnJhbWVidWZmZXItPmdldEltcGxlbWVudGF0aW9uQ29s
b3JSZWFkVHlwZShjb250ZXh0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdM
X0lNUExFTUVOVEFUSU9OX0NPTE9SX1JFQURfRk9STUFUOgotICAgICAgICAgICAgQU5HTEVfVFJZ
KG1SZWFkRnJhbWVidWZmZXItPmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KAotICAg
ICAgICAgICAgICAgIGNvbnRleHQsIHJlaW50ZXJwcmV0X2Nhc3Q8R0xlbnVtICo+KHBhcmFtcykp
KTsKKyAgICAgICAgICAgICpwYXJhbXMgPSBtUmVhZEZyYW1lYnVmZmVyLT5nZXRJbXBsZW1lbnRh
dGlvbkNvbG9yUmVhZEZvcm1hdChjb250ZXh0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIEdMX1NBTVBMRV9CVUZGRVJTOgogICAgICAgICBjYXNlIEdMX1NBTVBMRVM6CkBAIC0y
Njk5LDYgKzI4MjgsMjAgQEAgYW5nbGU6OlJlc3VsdCBTdGF0ZTo6Z2V0SW50ZWdlcnYoY29uc3Qg
Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHBuYW1lLCBHTGludCAqcGEKICAgICAgICAgICAgICpw
YXJhbXMgPSBUb0dMZW51bShtUHJvdm9raW5nVmVydGV4KTsKICAgICAgICAgICAgIGJyZWFrOwog
CisgICAgICAgIGNhc2UgR0xfUFJPR1JBTV9QSVBFTElORV9CSU5ESU5HOgorICAgICAgICB7Cisg
ICAgICAgICAgICBQcm9ncmFtUGlwZWxpbmUgKnBpcGVsaW5lID0gZ2V0UHJvZ3JhbVBpcGVsaW5l
KCk7CisgICAgICAgICAgICBpZiAocGlwZWxpbmUpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgKnBhcmFtcyA9IHBpcGVsaW5lLT5pZCgpLnZhbHVlOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICpwYXJhbXMgPSAw
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMjk1NywxMyArMzEwMCwxMyBAQCBhbmdsZTo6UmVzdWx0IFN0YXRlOjpzeW5jRHJhd0F0
dGFjaG1lbnRzKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiBhbmdsZTo6UmVzdWx0IFN0YXRlOjpz
eW5jUmVhZEZyYW1lYnVmZmVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiB7CiAgICAgQVNTRVJU
KG1SZWFkRnJhbWVidWZmZXIpOwotICAgIHJldHVybiBtUmVhZEZyYW1lYnVmZmVyLT5zeW5jU3Rh
dGUoY29udGV4dCk7CisgICAgcmV0dXJuIG1SZWFkRnJhbWVidWZmZXItPnN5bmNTdGF0ZShjb250
ZXh0LCBHTF9SRUFEX0ZSQU1FQlVGRkVSKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBTdGF0ZTo6c3lu
Y0RyYXdGcmFtZWJ1ZmZlcihjb25zdCBDb250ZXh0ICpjb250ZXh0KQogewogICAgIEFTU0VSVCht
RHJhd0ZyYW1lYnVmZmVyKTsKLSAgICByZXR1cm4gbURyYXdGcmFtZWJ1ZmZlci0+c3luY1N0YXRl
KGNvbnRleHQpOworICAgIHJldHVybiBtRHJhd0ZyYW1lYnVmZmVyLT5zeW5jU3RhdGUoY29udGV4
dCwgR0xfRFJBV19GUkFNRUJVRkZFUik7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgU3RhdGU6OnN5bmNU
ZXh0dXJlcyhjb25zdCBDb250ZXh0ICpjb250ZXh0KQpAQCAtMzAyOSw3ICszMTcyLDIyIEBAIGFu
Z2xlOjpSZXN1bHQgU3RhdGU6OnN5bmNWZXJ0ZXhBcnJheShjb25zdCBDb250ZXh0ICpjb250ZXh0
KQogCiBhbmdsZTo6UmVzdWx0IFN0YXRlOjpzeW5jUHJvZ3JhbShjb25zdCBDb250ZXh0ICpjb250
ZXh0KQogewotICAgIHJldHVybiBtUHJvZ3JhbS0+c3luY1N0YXRlKGNvbnRleHQpOworICAgIC8v
IFRoZXJlIG1heSBub3QgYmUgYSBwcm9ncmFtIGlmIHRoZSBjYWxsaW5nIGFwcGxpY2F0aW9uIG9u
bHkgdXNlcyBwcm9ncmFtIHBpcGVsaW5lcy4KKyAgICBpZiAobVByb2dyYW0pCisgICAgeworICAg
ICAgICByZXR1cm4gbVByb2dyYW0tPnN5bmNTdGF0ZShjb250ZXh0KTsKKyAgICB9CisgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQorCithbmdsZTo6UmVzdWx0IFN0YXRlOjpz
eW5jUHJvZ3JhbVBpcGVsaW5lKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCit7CisgICAgLy8gVGhl
cmUgbWF5IG5vdCBiZSBhIHByb2dyYW0gcGlwZWxpbmUgaWYgdGhlIGNhbGxpbmcgYXBwbGljYXRp
b24gb25seSB1c2VzIHByb2dyYW1zLgorICAgIGlmIChtUHJvZ3JhbVBpcGVsaW5lLmdldCgpKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1Qcm9ncmFtUGlwZWxpbmUtPnN5bmNTdGF0ZShjb250ZXh0
KTsKKyAgICB9CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiBhbmds
ZTo6UmVzdWx0IFN0YXRlOjpzeW5jRGlydHlPYmplY3QoY29uc3QgQ29udGV4dCAqY29udGV4dCwg
R0xlbnVtIHRhcmdldCkKQEAgLTMwOTgsNiArMzI1NiwxMyBAQCBhbmdsZTo6UmVzdWx0IFN0YXRl
OjpvblByb2dyYW1FeGVjdXRhYmxlQ2hhbmdlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFByb2dy
YW0gKgogICAgIC8vICBnZW5lcmF0ZWQgZXhlY3V0YWJsZSBjb2RlIHdpbGwgYmUgaW5zdGFsbGVk
IGFzIHBhcnQgb2YgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIHN0YXRlLiIKICAgICBBU1NFUlQocHJv
Z3JhbS0+aXNMaW5rZWQoKSk7CiAKKyAgICAvLyBJZiB0aGlzIFByb2dyYW0gaXMgY3VycmVudGx5
IGFjdGl2ZSwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIFN0YXRlJ3MgcG9pbnRlciB0byB0aGUgY3Vy
cmVudAorICAgIC8vIFByb2dyYW1FeGVjdXRhYmxlIGlmIHdlIGp1c3QgY2hhbmdlZCBpdC4KKyAg
ICBpZiAobVByb2dyYW0gPT0gcHJvZ3JhbSkKKyAgICB7CisgICAgICAgIG1FeGVjdXRhYmxlID0g
JnByb2dyYW0tPmdldEV4ZWN1dGFibGUoKTsKKyAgICB9CisKICAgICBtRGlydHlCaXRzLnNldChE
SVJUWV9CSVRfUFJPR1JBTV9FWEVDVVRBQkxFKTsKIAogICAgIGlmIChwcm9ncmFtLT5oYXNBbnlE
aXJ0eUJpdCgpKQpAQCAtMzE0MCw2ICszMzA1LDUxIEBAIGFuZ2xlOjpSZXN1bHQgU3RhdGU6Om9u
UHJvZ3JhbUV4ZWN1dGFibGVDaGFuZ2UoY29uc3QgQ29udGV4dCAqY29udGV4dCwgUHJvZ3JhbSAq
CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCithbmdsZTo6UmVzdWx0
IFN0YXRlOjpvblByb2dyYW1QaXBlbGluZUV4ZWN1dGFibGVDaGFuZ2UoY29uc3QgQ29udGV4dCAq
Y29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSkKK3sKKyAgICBtRGlydHlC
aXRzLnNldChESVJUWV9CSVRfUFJPR1JBTV9FWEVDVVRBQkxFKTsKKworICAgIGlmIChwcm9ncmFt
UGlwZWxpbmUtPmhhc0FueURpcnR5Qml0KCkpCisgICAgeworICAgICAgICBtRGlydHlPYmplY3Rz
LnNldChESVJUWV9PQkpFQ1RfUFJPR1JBTV9QSVBFTElORSk7CisgICAgfQorCisgICAgLy8gU2V0
IGFueSBib3VuZCB0ZXh0dXJlcy4KKyAgICBjb25zdCBBY3RpdmVUZXh0dXJlVHlwZUFycmF5ICZ0
ZXh0dXJlVHlwZXMgPQorICAgICAgICBwcm9ncmFtUGlwZWxpbmUtPmdldEV4ZWN1dGFibGUoKS5n
ZXRBY3RpdmVTYW1wbGVyVHlwZXMoKTsKKyAgICBmb3IgKHNpemVfdCB0ZXh0dXJlSW5kZXggOiBw
cm9ncmFtUGlwZWxpbmUtPmdldEV4ZWN1dGFibGUoKS5nZXRBY3RpdmVTYW1wbGVyc01hc2soKSkK
KyAgICB7CisgICAgICAgIFRleHR1cmVUeXBlIHR5cGUgPSB0ZXh0dXJlVHlwZXNbdGV4dHVyZUlu
ZGV4XTsKKworICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlcmUgaXMgYSBjb25mbGlj
dGluZyB0ZXh0dXJlIHR5cGUuCisgICAgICAgIGlmICh0eXBlID09IFRleHR1cmVUeXBlOjpJbnZh
bGlkRW51bSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIFRleHR1cmUgKnRleHR1
cmUgPSBnZXRUZXh0dXJlRm9yQWN0aXZlU2FtcGxlcih0eXBlLCB0ZXh0dXJlSW5kZXgpOworICAg
ICAgICB1cGRhdGVBY3RpdmVUZXh0dXJlKGNvbnRleHQsIHRleHR1cmVJbmRleCwgdGV4dHVyZSk7
CisgICAgfQorCisgICAgZm9yIChzaXplX3QgaW1hZ2VVbml0SW5kZXggOiBwcm9ncmFtUGlwZWxp
bmUtPmdldEV4ZWN1dGFibGUoKS5nZXRBY3RpdmVJbWFnZXNNYXNrKCkpCisgICAgeworICAgICAg
ICBUZXh0dXJlICppbWFnZSA9IG1JbWFnZVVuaXRzW2ltYWdlVW5pdEluZGV4XS50ZXh0dXJlLmdl
dCgpOworICAgICAgICBpZiAoIWltYWdlKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgaWYgKGltYWdlLT5oYXNBbnlEaXJ0eUJpdCgpKQorICAgICAgICB7CisgICAgICAgICAgICBB
TkdMRV9UUlkoaW1hZ2UtPnN5bmNTdGF0ZShjb250ZXh0KSk7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAobVJvYnVzdFJlc291cmNlSW5pdCAmJiBpbWFnZS0+aW5pdFN0YXRlKCkgPT0gSW5pdFN0
YXRlOjpNYXlOZWVkSW5pdCkKKyAgICAgICAgeworICAgICAgICAgICAgbURpcnR5T2JqZWN0cy5z
ZXQoRElSVFlfT0JKRUNUX0lNQUdFU19JTklUKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogdm9pZCBTdGF0ZTo6c2V0VGV4dHVy
ZURpcnR5KHNpemVfdCB0ZXh0dXJlVW5pdEluZGV4KQogewogICAgIG1EaXJ0eU9iamVjdHMuc2V0
KERJUlRZX09CSkVDVF9URVhUVVJFUyk7CkBAIC0zMTY1LDExICszMzc1LDExIEBAIHZvaWQgU3Rh
dGU6OnNldEltYWdlVW5pdChjb25zdCBDb250ZXh0ICpjb250ZXh0LAogCiAgICAgaWYgKGltYWdl
VW5pdC50ZXh0dXJlLmdldCgpKQogICAgIHsKLSAgICAgICAgaW1hZ2VVbml0LnRleHR1cmUtPm9u
VW5iaW5kQXNJbWFnZVRleHR1cmUoKTsKKyAgICAgICAgaW1hZ2VVbml0LnRleHR1cmUtPm9uVW5i
aW5kQXNJbWFnZVRleHR1cmUobUlEKTsKICAgICB9CiAgICAgaWYgKHRleHR1cmUpCiAgICAgewot
ICAgICAgICB0ZXh0dXJlLT5vbkJpbmRBc0ltYWdlVGV4dHVyZSgpOworICAgICAgICB0ZXh0dXJl
LT5vbkJpbmRBc0ltYWdlVGV4dHVyZShtSUQpOwogICAgIH0KICAgICBpbWFnZVVuaXQudGV4dHVy
ZS5zZXQoY29udGV4dCwgdGV4dHVyZSk7CiAgICAgaW1hZ2VVbml0LmxldmVsICAgPSBsZXZlbDsK
QEAgLTMxODcsMTIgKzMzOTcsMTEgQEAgdm9pZCBTdGF0ZTo6b25BY3RpdmVUZXh0dXJlQ2hhbmdl
KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIHNpemVfdCB0ZXh0dXJlVW5pdCkKIHsKICAgICBpZiAo
bVByb2dyYW0pCiAgICAgewotICAgICAgICBUZXh0dXJlVHlwZSB0eXBlID0gbUV4ZWN1dGFibGUt
PmdldEFjdGl2ZVNhbXBsZXJUeXBlcygpW3RleHR1cmVVbml0XTsKLSAgICAgICAgaWYgKHR5cGUg
IT0gVGV4dHVyZVR5cGU6OkludmFsaWRFbnVtKQotICAgICAgICB7Ci0gICAgICAgICAgICBUZXh0
dXJlICphY3RpdmVUZXh0dXJlID0gZ2V0VGV4dHVyZUZvckFjdGl2ZVNhbXBsZXIodHlwZSwgdGV4
dHVyZVVuaXQpOwotICAgICAgICAgICAgdXBkYXRlQWN0aXZlVGV4dHVyZShjb250ZXh0LCB0ZXh0
dXJlVW5pdCwgYWN0aXZlVGV4dHVyZSk7Ci0gICAgICAgIH0KKyAgICAgICAgVGV4dHVyZVR5cGUg
dHlwZSAgICAgICA9IG1FeGVjdXRhYmxlLT5nZXRBY3RpdmVTYW1wbGVyVHlwZXMoKVt0ZXh0dXJl
VW5pdF07CisgICAgICAgIFRleHR1cmUgKmFjdGl2ZVRleHR1cmUgPSAodHlwZSAhPSBUZXh0dXJl
VHlwZTo6SW52YWxpZEVudW0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PyBnZXRUZXh0dXJlRm9yQWN0aXZlU2FtcGxlcih0eXBlLCB0ZXh0dXJlVW5pdCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxwdHI7CisgICAgICAgIHVwZGF0ZUFj
dGl2ZVRleHR1cmUoY29udGV4dCwgdGV4dHVyZVVuaXQsIGFjdGl2ZVRleHR1cmUpOwogICAgIH0K
IH0KIApAQCAtMzIwMCwxMyArMzQwOSwxMiBAQCB2b2lkIFN0YXRlOjpvbkFjdGl2ZVRleHR1cmVT
dGF0ZUNoYW5nZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBzaXplX3QgdGV4dHVyZVVuaQogewog
ICAgIGlmIChtUHJvZ3JhbSkKICAgICB7Ci0gICAgICAgIFRleHR1cmVUeXBlIHR5cGUgPSBtRXhl
Y3V0YWJsZS0+Z2V0QWN0aXZlU2FtcGxlclR5cGVzKClbdGV4dHVyZVVuaXRdOwotICAgICAgICBp
ZiAodHlwZSAhPSBUZXh0dXJlVHlwZTo6SW52YWxpZEVudW0pCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIFRleHR1cmUgKmFjdGl2ZVRleHR1cmUgPSBnZXRUZXh0dXJlRm9yQWN0aXZlU2FtcGxlcih0
eXBlLCB0ZXh0dXJlVW5pdCk7Ci0gICAgICAgICAgICBjb25zdCBTYW1wbGVyICpzYW1wbGVyID0g
bVNhbXBsZXJzW3RleHR1cmVVbml0XS5nZXQoKTsKLSAgICAgICAgICAgIHVwZGF0ZUFjdGl2ZVRl
eHR1cmVTdGF0ZShjb250ZXh0LCB0ZXh0dXJlVW5pdCwgc2FtcGxlciwgYWN0aXZlVGV4dHVyZSk7
Ci0gICAgICAgIH0KKyAgICAgICAgVGV4dHVyZVR5cGUgdHlwZSAgICAgICA9IG1FeGVjdXRhYmxl
LT5nZXRBY3RpdmVTYW1wbGVyVHlwZXMoKVt0ZXh0dXJlVW5pdF07CisgICAgICAgIFRleHR1cmUg
KmFjdGl2ZVRleHR1cmUgPSAodHlwZSAhPSBUZXh0dXJlVHlwZTo6SW52YWxpZEVudW0pCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBnZXRUZXh0dXJlRm9yQWN0aXZlU2Ft
cGxlcih0eXBlLCB0ZXh0dXJlVW5pdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IG51bGxwdHI7CisgICAgICAgIGNvbnN0IFNhbXBsZXIgKnNhbXBsZXIgPSBtU2FtcGxl
cnNbdGV4dHVyZVVuaXRdLmdldCgpOworICAgICAgICB1cGRhdGVBY3RpdmVUZXh0dXJlU3RhdGUo
Y29udGV4dCwgdGV4dHVyZVVuaXQsIHNhbXBsZXIsIGFjdGl2ZVRleHR1cmUpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N0YXRl
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuaAppbmRleCAx
NjJkN2E2ZDI2NzRhNzZhNjY1MzA2M2MzNTQwMzdiYjExMDYyMmZhLi5jYmUxZjU0YjRlNGM3OTU5
NDc5ZDE1YWZkNDljNDEwYzhhYzMzYmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvU3RhdGUuaApAQCAtNzIsOSArNzIsOSBAQCBjbGFzcyBBY3RpdmVUZXh0dXJl
c0NhY2hlIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgICBUZXh0dXJlICpvcGVyYXRv
cltdKHNpemVfdCB0ZXh0dXJlSW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1UZXh0dXJlc1t0ZXh0dXJl
SW5kZXhdOyB9CiAKLSAgICB2b2lkIGNsZWFyKCk7Ci0gICAgdm9pZCBzZXQoc2l6ZV90IHRleHR1
cmVJbmRleCwgVGV4dHVyZSAqdGV4dHVyZSk7Ci0gICAgdm9pZCByZXNldChzaXplX3QgdGV4dHVy
ZUluZGV4KTsKKyAgICB2b2lkIGNsZWFyKENvbnRleHRJRCBjb250ZXh0SUQpOworICAgIHZvaWQg
c2V0KENvbnRleHRJRCBjb250ZXh0SUQsIHNpemVfdCB0ZXh0dXJlSW5kZXgsIFRleHR1cmUgKnRl
eHR1cmUpOworICAgIHZvaWQgcmVzZXQoQ29udGV4dElEIGNvbnRleHRJRCwgc2l6ZV90IHRleHR1
cmVJbmRleCk7CiAgICAgYm9vbCBlbXB0eSgpIGNvbnN0OwogCiAgIHByaXZhdGU6CkBAIC04NCw4
ICs4NCw3IEBAIGNsYXNzIEFjdGl2ZVRleHR1cmVzQ2FjaGUgZmluYWwgOiBhbmdsZTo6Tm9uQ29w
eWFibGUKIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB7CiAgIHB1YmxpYzoKLSAg
ICBTdGF0ZShDb250ZXh0SUQgY29udGV4dEluLAotICAgICAgICAgIGNvbnN0IFN0YXRlICpzaGFy
ZUNvbnRleHRTdGF0ZSwKKyAgICBTdGF0ZShjb25zdCBTdGF0ZSAqc2hhcmVDb250ZXh0U3RhdGUs
CiAgICAgICAgICAgVGV4dHVyZU1hbmFnZXIgKnNoYXJlVGV4dHVyZXMsCiAgICAgICAgICAgY29u
c3QgT3ZlcmxheVR5cGUgKm92ZXJsYXksCiAgICAgICAgICAgY29uc3QgRUdMZW51bSBjbGllbnRU
eXBlLApAQCAtOTgsMTMgKzk3LDExIEBAIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxl
CiAgICAgICAgICAgRUdMZW51bSBjb250ZXh0UHJpb3JpdHkpOwogICAgIH5TdGF0ZSgpOwogCi0g
ICAgaW50IGlkKCkgY29uc3QgeyByZXR1cm4gbUlEOyB9Ci0KICAgICB2b2lkIGluaXRpYWxpemUo
Q29udGV4dCAqY29udGV4dCk7CiAgICAgdm9pZCByZXNldChjb25zdCBDb250ZXh0ICpjb250ZXh0
KTsKIAogICAgIC8vIEdldHRlcnMKLSAgICBDb250ZXh0SUQgZ2V0Q29udGV4dElEKCkgY29uc3Qg
eyByZXR1cm4gbUNvbnRleHQ7IH0KKyAgICBDb250ZXh0SUQgZ2V0Q29udGV4dElEKCkgY29uc3Qg
eyByZXR1cm4gbUlEOyB9CiAgICAgRUdMZW51bSBnZXRDbGllbnRUeXBlKCkgY29uc3QgeyByZXR1
cm4gbUNsaWVudFR5cGU7IH0KICAgICBFR0xlbnVtIGdldENvbnRleHRQcmlvcml0eSgpIGNvbnN0
IHsgcmV0dXJuIG1Db250ZXh0UHJpb3JpdHk7IH0KICAgICBHTGludCBnZXRDbGllbnRNYWpvclZl
cnNpb24oKSBjb25zdCB7IHJldHVybiBtQ2xpZW50VmVyc2lvbi5tYWpvcjsgfQpAQCAtMTc1LDcg
KzE3Miw3IEBAIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIEFTU0VS
VChpbmRleCA8IG1CbGVuZFN0YXRlQXJyYXkuc2l6ZSgpKTsKICAgICAgICAgcmV0dXJuIG1CbGVu
ZFN0YXRlQXJyYXlbaW5kZXhdLmJsZW5kOwogICAgIH0KLSAgICBEcmF3QnVmZmVyTWFzayBnZXRC
bGVuZEVuYWJsZWREcmF3QnVmZmVyTWFzaygpIGNvbnN0IHsgcmV0dXJuIG1CbGVuZEVuYWJsZWRE
cmF3QnVmZmVyczsgfQorICAgIERyYXdCdWZmZXJNYXNrIGdldEJsZW5kRW5hYmxlZERyYXdCdWZm
ZXJNYXNrKCkgY29uc3QgeyByZXR1cm4gbUJsZW5kU3RhdGVFeHQubUVuYWJsZWRNYXNrOyB9CiAg
ICAgdm9pZCBzZXRCbGVuZChib29sIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0QmxlbmRJbmRleGVk
KGJvb2wgZW5hYmxlZCwgR0x1aW50IGluZGV4KTsKICAgICB2b2lkIHNldEJsZW5kRmFjdG9ycyhH
TGVudW0gc291cmNlUkdCLCBHTGVudW0gZGVzdFJHQiwgR0xlbnVtIHNvdXJjZUFscGhhLCBHTGVu
dW0gZGVzdEFscGhhKTsKQEAgLTI1OCw2ICsyNTUsOCBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpO
b25Db3B5YWJsZQogCiAgICAgLy8gSGludCBzZXR0ZXJzCiAgICAgdm9pZCBzZXRHZW5lcmF0ZU1p
cG1hcEhpbnQoR0xlbnVtIGhpbnQpOworICAgIHZvaWQgc2V0VGV4dHVyZUZpbHRlcmluZ0hpbnQo
R0xlbnVtIGhpbnQpOworICAgIEdMZW51bSBnZXRUZXh0dXJlRmlsdGVyaW5nSGludCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0RnJhZ21lbnRTaGFkZXJEZXJpdmF0aXZlSGludChHTGVudW0gaGludCk7
CiAKICAgICAvLyBHTF9DSFJPTUlVTV9iaW5kX2dlbmVyYXRlc19yZXNvdXJjZQpAQCAtMzUyLDYg
KzM1MSw4IEBAIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIHJldHVy
biBtUHJvZ3JhbTsKICAgICB9CiAKKyAgICBQcm9ncmFtUGlwZWxpbmUgKmdldFByb2dyYW1QaXBl
bGluZSgpIGNvbnN0IHsgcmV0dXJuIG1Qcm9ncmFtUGlwZWxpbmUuZ2V0KCk7IH0KKwogICAgIC8v
IFRyYW5zZm9ybSBmZWVkYmFjayBvYmplY3QgKG5vdCBidWZmZXIpIGJpbmRpbmcgbWFuaXB1bGF0
aW9uCiAgICAgdm9pZCBzZXRUcmFuc2Zvcm1GZWVkYmFja0JpbmRpbmcoY29uc3QgQ29udGV4dCAq
Y29udGV4dCwgVHJhbnNmb3JtRmVlZGJhY2sgKnRyYW5zZm9ybUZlZWRiYWNrKTsKICAgICBUcmFu
c2Zvcm1GZWVkYmFjayAqZ2V0Q3VycmVudFRyYW5zZm9ybUZlZWRiYWNrKCkgY29uc3QgeyByZXR1
cm4gbVRyYW5zZm9ybUZlZWRiYWNrLmdldCgpOyB9CkBAIC0zNzksNyArMzgwLDExIEBAIGNsYXNz
IFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgUXVlcnkgKmdldEFjdGl2ZVF1ZXJ5KFF1
ZXJ5VHlwZSB0eXBlKSBjb25zdDsKIAogICAgIC8vIFByb2dyYW0gUGlwZWxpbmUgYmluZGluZyBt
YW5pcHVsYXRpb24KLSAgICB2b2lkIHNldFByb2dyYW1QaXBlbGluZUJpbmRpbmcoY29uc3QgQ29u
dGV4dCAqY29udGV4dCwgUHJvZ3JhbVBpcGVsaW5lICpwaXBlbGluZSk7CisgICAgYW5nbGU6OlJl
c3VsdCB1c2VQcm9ncmFtU3RhZ2VzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyYW1QaXBlbGluZSAqcHJvZ3JhbVBpcGVsaW5l
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGJpdGZpZWxkIHN0YWdlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbSAqc2hhZGVyUHJvZ3Jh
bSk7CisgICAgYW5nbGU6OlJlc3VsdCBzZXRQcm9ncmFtUGlwZWxpbmVCaW5kaW5nKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsIFByb2dyYW1QaXBlbGluZSAqcGlwZWxpbmUpOwogICAgIHZvaWQgZGV0
YWNoUHJvZ3JhbVBpcGVsaW5lKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIFByb2dyYW1QaXBlbGlu
ZUlEIHBpcGVsaW5lKTsKIAogICAgIC8vLy8gVHlwZWQgYnVmZmVyIGJpbmRpbmcgcG9pbnQgbWFu
aXB1bGF0aW9uIC8vLy8KQEAgLTU0Myw2ICs1NDgsOSBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpO
b25Db3B5YWJsZQogCiAgICAgLy8gU2V0cyB0aGUgZGlydHkgYml0IGZvciB0aGUgcHJvZ3JhbSBl
eGVjdXRhYmxlLgogICAgIGFuZ2xlOjpSZXN1bHQgb25Qcm9ncmFtRXhlY3V0YWJsZUNoYW5nZShj
b25zdCBDb250ZXh0ICpjb250ZXh0LCBQcm9ncmFtICpwcm9ncmFtKTsKKyAgICAvLyBTZXRzIHRo
ZSBkaXJ0eSBiaXQgZm9yIHRoZSBwcm9ncmFtIHBpcGVsaW5lIGV4ZWN1dGFibGUuCisgICAgYW5n
bGU6OlJlc3VsdCBvblByb2dyYW1QaXBlbGluZUV4ZWN1dGFibGVDaGFuZ2UoY29uc3QgQ29udGV4
dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW0pOwogCiAgICAgZW51bSBEaXJ0eUJpdFR5
cGUKICAgICB7CkBAIC01OTEsMTQgKzU5OSwxMiBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpOb25D
b3B5YWJsZQogICAgICAgICBESVJUWV9CSVRfUEFDS19TVEFURSwKICAgICAgICAgRElSVFlfQklU
X1BBQ0tfQlVGRkVSX0JJTkRJTkcsCiAgICAgICAgIERJUlRZX0JJVF9ESVRIRVJfRU5BQkxFRCwK
LSAgICAgICAgRElSVFlfQklUX0dFTkVSQVRFX01JUE1BUF9ISU5ULAotICAgICAgICBESVJUWV9C
SVRfU0hBREVSX0RFUklWQVRJVkVfSElOVCwKICAgICAgICAgRElSVFlfQklUX1JFTkRFUkJVRkZF
Ul9CSU5ESU5HLAogICAgICAgICBESVJUWV9CSVRfVkVSVEVYX0FSUkFZX0JJTkRJTkcsCiAgICAg
ICAgIERJUlRZX0JJVF9EUkFXX0lORElSRUNUX0JVRkZFUl9CSU5ESU5HLAogICAgICAgICBESVJU
WV9CSVRfRElTUEFUQ0hfSU5ESVJFQ1RfQlVGRkVSX0JJTkRJTkcsCiAgICAgICAgIC8vIFRPRE8o
am1hZGlsbCk6IEZpbmUtZ3JhaW5lZCBkaXJ0eSBiaXRzIGZvciBlYWNoIGluZGV4LgotICAgICAg
ICBESVJUWV9CSVRfUFJPR1JBTV9CSU5ESU5HLAorICAgICAgICBESVJUWV9CSVRfUFJPR1JBTV9C
SU5ESU5HLCAgLy8gTXVzdCBiZSBiZWZvcmUgRElSVFlfQklUX1BST0dSQU1fRVhFQ1VUQUJMRQog
ICAgICAgICBESVJUWV9CSVRfUFJPR1JBTV9FWEVDVVRBQkxFLAogICAgICAgICAvLyBUT0RPKGpt
YWRpbGwpOiBGaW5lLWdyYWluZWQgZGlydHkgYml0cyBmb3IgZWFjaCB0ZXh0dXJlL3NhbXBsZXIu
CiAgICAgICAgIERJUlRZX0JJVF9TQU1QTEVSX0JJTkRJTkdTLApAQCAtNjE0LDYgKzYyMCw3IEBA
IGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIERJUlRZX0JJVF9GUkFN
RUJVRkZFUl9TUkdCLCAgICAgLy8gR0xfRVhUX3NSR0Jfd3JpdGVfY29udHJvbAogICAgICAgICBE
SVJUWV9CSVRfQ1VSUkVOVF9WQUxVRVMsCiAgICAgICAgIERJUlRZX0JJVF9QUk9WT0tJTkdfVkVS
VEVYLAorICAgICAgICBESVJUWV9CSVRfRVhURU5ERUQsICAvLyBjbGlwIGRpc3RhbmNlcywgbWlw
bWFwIGdlbmVyYXRpb24gaGludCwgZGVyaXZhdGl2ZSBoaW50LgogICAgICAgICBESVJUWV9CSVRf
SU5WQUxJRCwKICAgICAgICAgRElSVFlfQklUX01BWCA9IERJUlRZX0JJVF9JTlZBTElELAogICAg
IH07CkBAIC02MzQsNiArNjQxLDcgQEAgY2xhc3MgU3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUK
ICAgICAgICAgRElSVFlfT0JKRUNUX0lNQUdFUywgICAgLy8gVG9wLWxldmVsIGRpcnR5IGJpdC4g
QWxzbyBzZWUgbURpcnR5SW1hZ2VzLgogICAgICAgICBESVJUWV9PQkpFQ1RfU0FNUExFUlMsICAv
LyBUb3AtbGV2ZWwgZGlydHkgYml0LiBBbHNvIHNlZSBtRGlydHlTYW1wbGVycy4KICAgICAgICAg
RElSVFlfT0JKRUNUX1BST0dSQU0sCisgICAgICAgIERJUlRZX09CSkVDVF9QUk9HUkFNX1BJUEVM
SU5FLAogICAgICAgICBESVJUWV9PQkpFQ1RfVU5LTk9XTiwKICAgICAgICAgRElSVFlfT0JKRUNU
X01BWCA9IERJUlRZX09CSkVDVF9VTktOT1dOLAogICAgIH07CkBAIC03MTcsNyArNzI1LDggQEAg
Y2xhc3MgU3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIEFOR0xFX0lOTElORSBib29s
IHZhbGlkYXRlU2FtcGxlckZvcm1hdHMoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuICht
VGV4dHVyZXNJbmNvbXBhdGlibGVXaXRoU2FtcGxlcnMgJiBtRXhlY3V0YWJsZS0+Z2V0QWN0aXZl
U2FtcGxlcnNNYXNrKCkpLm5vbmUoKTsKKyAgICAgICAgcmV0dXJuICghbUV4ZWN1dGFibGUgfHwK
KyAgICAgICAgICAgICAgICAobVRleHR1cmVzSW5jb21wYXRpYmxlV2l0aFNhbXBsZXJzICYgbUV4
ZWN1dGFibGUtPmdldEFjdGl2ZVNhbXBsZXJzTWFzaygpKS5ub25lKCkpOwogICAgIH0KIAogICAg
IFByb3Zva2luZ1ZlcnRleENvbnZlbnRpb24gZ2V0UHJvdm9raW5nVmVydGV4KCkgY29uc3QgeyBy
ZXR1cm4gbVByb3Zva2luZ1ZlcnRleDsgfQpAQCAtNzI3LDYgKzczNiwxMCBAQCBjbGFzcyBTdGF0
ZSA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgICAgICBtUHJvdm9raW5nVmVydGV4ID0gdmFsOwog
ICAgIH0KIAorICAgIHVzaW5nIENsaXBEaXN0YW5jZUVuYWJsZUJpdHMgPSBhbmdsZTo6Qml0U2V0
MzI8SU1QTEVNRU5UQVRJT05fTUFYX0NMSVBfRElTVEFOQ0VTPjsKKyAgICBjb25zdCBDbGlwRGlz
dGFuY2VFbmFibGVCaXRzICZnZXRFbmFibGVkQ2xpcERpc3RhbmNlcygpIGNvbnN0IHsgcmV0dXJu
IG1DbGlwRGlzdGFuY2VzRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0Q2xpcERpc3RhbmNlRW5hYmxl
KGludCBpZHgsIGJvb2wgZW5hYmxlKTsKKwogICAgIGNvbnN0IE92ZXJsYXlUeXBlICpnZXRPdmVy
bGF5KCkgY29uc3QgeyByZXR1cm4gbU92ZXJsYXk7IH0KIAogICAgIC8vIE5vdCBmb3IgZ2VuZXJh
bCB1c2UuCkBAIC03NTQsMTIgKzc2NywxMiBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpOb25Db3B5
YWJsZQogCiAgICAgYm9vbCBoYXNDb25zdGFudEFscGhhQmxlbmRGdW5jKCkgY29uc3QKICAgICB7
Ci0gICAgICAgIHJldHVybiAobUJsZW5kRnVuY0NvbnN0YW50QWxwaGFEcmF3QnVmZmVycyAmIG1C
bGVuZEVuYWJsZWREcmF3QnVmZmVycykuYW55KCk7CisgICAgICAgIHJldHVybiAobUJsZW5kRnVu
Y0NvbnN0YW50QWxwaGFEcmF3QnVmZmVycyAmIG1CbGVuZFN0YXRlRXh0Lm1FbmFibGVkTWFzayku
YW55KCk7CiAgICAgfQogCiAgICAgYm9vbCBoYXNTaW11bHRhbmVvdXNDb25zdGFudENvbG9yQW5k
QWxwaGFCbGVuZEZ1bmMoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIChtQmxlbmRGdW5j
Q29uc3RhbnRDb2xvckRyYXdCdWZmZXJzICYgbUJsZW5kRW5hYmxlZERyYXdCdWZmZXJzKS5hbnko
KSAmJgorICAgICAgICByZXR1cm4gKG1CbGVuZEZ1bmNDb25zdGFudENvbG9yRHJhd0J1ZmZlcnMg
JiBtQmxlbmRTdGF0ZUV4dC5tRW5hYmxlZE1hc2spLmFueSgpICYmCiAgICAgICAgICAgICAgICBo
YXNDb25zdGFudEFscGhhQmxlbmRGdW5jKCk7CiAgICAgfQogCkBAIC03NjgsNiArNzgxLDEwIEBA
IGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIHJldHVybiBtTm9TaW11
bHRhbmVvdXNDb25zdGFudENvbG9yQW5kQWxwaGFCbGVuZEZ1bmM7CiAgICAgfQogCisgICAgYm9v
bCBpc0Vhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbkFsbG93ZWQoKSBjb25zdCB7IHJldHVy
biBpc1NhbXBsZUNvdmVyYWdlRW5hYmxlZCgpOyB9CisKKyAgICBjb25zdCBCbGVuZFN0YXRlRXh0
ICZnZXRCbGVuZFN0YXRlRXh0KCkgY29uc3QgeyByZXR1cm4gbUJsZW5kU3RhdGVFeHQ7IH0KKwog
ICBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBDb250ZXh0OwogCkBAIC03NzcsNyArNzk0LDYg
QEAgY2xhc3MgU3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplX3QgdGV4dHVyZUluZGV4LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFNhbXBsZXIgKnNhbXBsZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVGV4dHVyZSAqdGV4dHVyZSk7Ci0gICAgdm9pZCBzZXRUZXh0dXJlSW5k
ZXhJbmFjdGl2ZShzaXplX3QgdGV4dHVyZUluZGV4KTsKICAgICBUZXh0dXJlICpnZXRUZXh0dXJl
Rm9yQWN0aXZlU2FtcGxlcihUZXh0dXJlVHlwZSB0eXBlLCBzaXplX3QgaW5kZXgpOwogCiAgICAg
Ym9vbCBoYXNDb25zdGFudENvbG9yKEdMZW51bSBzb3VyY2VSR0IsIEdMZW51bSBkZXN0UkdCKSBj
b25zdDsKQEAgLTc5NSwxMyArODExLDE0IEBAIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgYW5nbGU6OlJlc3VsdCBzeW5jSW1hZ2VzKGNvbnN0IENvbnRleHQgKmNvbnRleHQp
OwogICAgIGFuZ2xlOjpSZXN1bHQgc3luY1NhbXBsZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQp
OwogICAgIGFuZ2xlOjpSZXN1bHQgc3luY1Byb2dyYW0oY29uc3QgQ29udGV4dCAqY29udGV4dCk7
CisgICAgYW5nbGU6OlJlc3VsdCBzeW5jUHJvZ3JhbVBpcGVsaW5lKGNvbnN0IENvbnRleHQgKmNv
bnRleHQpOwogCiAgICAgdXNpbmcgRGlydHlPYmplY3RIYW5kbGVyID0gYW5nbGU6OlJlc3VsdCAo
U3RhdGU6OiopKGNvbnN0IENvbnRleHQgKmNvbnRleHQpOwogICAgIHN0YXRpYyBjb25zdGV4cHIg
RGlydHlPYmplY3RIYW5kbGVyIGtEaXJ0eU9iamVjdEhhbmRsZXJzW0RJUlRZX09CSkVDVF9NQVhd
ID0gewogICAgICAgICAmU3RhdGU6OnN5bmNUZXh0dXJlc0luaXQsICAgICZTdGF0ZTo6c3luY0lt
YWdlc0luaXQsICAgICAgJlN0YXRlOjpzeW5jUmVhZEF0dGFjaG1lbnRzLAogICAgICAgICAmU3Rh
dGU6OnN5bmNEcmF3QXR0YWNobWVudHMsICZTdGF0ZTo6c3luY1JlYWRGcmFtZWJ1ZmZlciwgJlN0
YXRlOjpzeW5jRHJhd0ZyYW1lYnVmZmVyLAogICAgICAgICAmU3RhdGU6OnN5bmNWZXJ0ZXhBcnJh
eSwgICAgICZTdGF0ZTo6c3luY1RleHR1cmVzLCAgICAgICAgJlN0YXRlOjpzeW5jSW1hZ2VzLAot
ICAgICAgICAmU3RhdGU6OnN5bmNTYW1wbGVycywgICAgICAgICZTdGF0ZTo6c3luY1Byb2dyYW0s
CisgICAgICAgICZTdGF0ZTo6c3luY1NhbXBsZXJzLCAgICAgICAgJlN0YXRlOjpzeW5jUHJvZ3Jh
bSwgICAgICAgICAmU3RhdGU6OnN5bmNQcm9ncmFtUGlwZWxpbmUsCiAgICAgfTsKIAogICAgIC8v
IFJvYnVzdCBpbml0IG11c3QgaGFwcGVuIGJlZm9yZSBGcmFtZWJ1ZmZlciBpbml0IGZvciB0aGUg
VnVsa2FuIGJhY2stZW5kLgpAQCAtODIxLDE2ICs4MzgsMTYgQEAgY2xhc3MgU3RhdGUgOiBhbmds
ZTo6Tm9uQ29weWFibGUKICAgICBzdGF0aWNfYXNzZXJ0KERJUlRZX09CSkVDVF9JTUFHRVMgPT0g
OCwgImNoZWNrIERJUlRZX09CSkVDVF9JTUFHRVMgaW5kZXgiKTsKICAgICBzdGF0aWNfYXNzZXJ0
KERJUlRZX09CSkVDVF9TQU1QTEVSUyA9PSA5LCAiY2hlY2sgRElSVFlfT0JKRUNUX1NBTVBMRVJT
IGluZGV4Iik7CiAgICAgc3RhdGljX2Fzc2VydChESVJUWV9PQkpFQ1RfUFJPR1JBTSA9PSAxMCwg
ImNoZWNrIERJUlRZX09CSkVDVF9QUk9HUkFNIGluZGV4Iik7CisgICAgc3RhdGljX2Fzc2VydChE
SVJUWV9PQkpFQ1RfUFJPR1JBTV9QSVBFTElORSA9PSAxMSwgImNoZWNrIERJUlRZX09CSkVDVF9Q
Uk9HUkFNX1BJUEVMSU5FIGluZGV4Iik7CiAKICAgICAvLyBEaXNwYXRjaCB0YWJsZSBmb3IgYnVm
ZmVyIHVwZGF0ZSBmdW5jdGlvbnMuCiAgICAgc3RhdGljIGNvbnN0IGFuZ2xlOjpQYWNrZWRFbnVt
TWFwPEJ1ZmZlckJpbmRpbmcsIEJ1ZmZlckJpbmRpbmdTZXR0ZXI+IGtCdWZmZXJTZXR0ZXJzOwog
Ci0gICAgaW50IG1JRDsKKyAgICBDb250ZXh0SUQgbUlEOwogCiAgICAgRUdMZW51bSBtQ2xpZW50
VHlwZTsKICAgICBFR0xlbnVtIG1Db250ZXh0UHJpb3JpdHk7CiAgICAgVmVyc2lvbiBtQ2xpZW50
VmVyc2lvbjsKLSAgICBDb250ZXh0SUQgbUNvbnRleHQ7CiAKICAgICAvLyBDYXBzIHRvIHVzZSBm
b3IgdmFsaWRhdGlvbgogICAgIENhcHMgbUNhcHM7CkBAIC04NjMsNiArODgwLDcgQEAgY2xhc3Mg
U3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBSZWN0YW5nbGUgbVNjaXNzb3I7CiAKICAg
ICBCbGVuZFN0YXRlQXJyYXkgbUJsZW5kU3RhdGVBcnJheTsKKyAgICBCbGVuZFN0YXRlRXh0IG1C
bGVuZFN0YXRlRXh0OwogICAgIENvbG9yRiBtQmxlbmRDb2xvcjsKICAgICBib29sIG1TYW1wbGVB
bHBoYVRvQ292ZXJhZ2U7CiAgICAgYm9vbCBtU2FtcGxlQ292ZXJhZ2U7CkBAIC04NzksNiArODk3
LDcgQEAgY2xhc3MgU3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBHTGZsb2F0IG1MaW5l
V2lkdGg7CiAKICAgICBHTGVudW0gbUdlbmVyYXRlTWlwbWFwSGludDsKKyAgICBHTGVudW0gbVRl
eHR1cmVGaWx0ZXJpbmdIaW50OwogICAgIEdMZW51bSBtRnJhZ21lbnRTaGFkZXJEZXJpdmF0aXZl
SGludDsKIAogICAgIGNvbnN0IGJvb2wgbUJpbmRHZW5lcmF0ZXNSZXNvdXJjZTsKQEAgLTk2MSw3
ICs5ODAsNyBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIC8vIEdMX0VY
VF9zUkdCX3dyaXRlX2NvbnRyb2wKICAgICBib29sIG1GcmFtZWJ1ZmZlclNSR0I7CiAKLSAgICAv
LyBHTF9BTkdMRV9yb2J1c3RfcmVzb3VyY2VfaW50aWFsaXphdGlvbgorICAgIC8vIEdMX0FOR0xF
X3JvYnVzdF9yZXNvdXJjZV9pbml0aWFsaXphdGlvbgogICAgIGNvbnN0IGJvb2wgbVJvYnVzdFJl
c291cmNlSW5pdDsKIAogICAgIC8vIEdMX0FOR0xFX3Byb2dyYW1fY2FjaGVfY29udHJvbApAQCAt
OTczLDYgKzk5Miw5IEBAIGNsYXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgLy8g
R0xfS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlCiAgICAgR0x1aW50IG1NYXhTaGFkZXJDb21w
aWxlclRocmVhZHM7CiAKKyAgICAvLyBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlL0dMX0VYVF9jbGlw
X2N1bGxfZGlzdGFuY2UKKyAgICBDbGlwRGlzdGFuY2VFbmFibGVCaXRzIG1DbGlwRGlzdGFuY2Vz
RW5hYmxlZDsKKwogICAgIC8vIEdMRVMxIGVtdWxhdGlvbjogc3RhdGUgc3BlY2lmaWMgdG8gR0xF
UzEKICAgICBHTEVTMVN0YXRlIG1HTEVTMVN0YXRlOwogCkBAIC05ODcsNyArMTAwOSw2IEBAIGNs
YXNzIFN0YXRlIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgY29uc3QgT3ZlcmxheVR5cGUgKm1P
dmVybGF5OwogCiAgICAgLy8gT0VTX2RyYXdfYnVmZmVyc19pbmRleGVkCi0gICAgRHJhd0J1ZmZl
ck1hc2sgbUJsZW5kRW5hYmxlZERyYXdCdWZmZXJzOwogICAgIERyYXdCdWZmZXJNYXNrIG1CbGVu
ZEZ1bmNDb25zdGFudEFscGhhRHJhd0J1ZmZlcnM7CiAgICAgRHJhd0J1ZmZlck1hc2sgbUJsZW5k
RnVuY0NvbnN0YW50Q29sb3JEcmF3QnVmZmVyczsKICAgICBib29sIG1Ob1NpbXVsdGFuZW91c0Nv
bnN0YW50Q29sb3JBbmRBbHBoYUJsZW5kRnVuYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdXJmYWNlLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9TdXJmYWNlLmNwcAppbmRleCBkODdmNDMzMjNhMTcwMDg5YWJiNzBi
YTgxMDFhMTBiNzFlNGRiMDhjLi5kNGU1MDRjY2ExZGRmZjVjZTQ2ODg0NmQ0OTJiOTczNGJhNmRh
MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3Vy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N1cmZh
Y2UuY3BwCkBAIC0yNCw2ICsyNCwxMCBAQAogCiBuYW1lc3BhY2UgZWdsCiB7CituYW1lc3BhY2UK
K3sKK2FuZ2xlOjpTdWJqZWN0SW5kZXgga1N1cmZhY2VJbXBsU3ViamVjdEluZGV4ID0gMDsKK30g
IC8vIG5hbWVzcGFjZQogCiBTdXJmYWNlU3RhdGU6OlN1cmZhY2VTdGF0ZShjb25zdCBlZ2w6OkNv
bmZpZyAqY29uZmlnSW4sIGNvbnN0IEF0dHJpYnV0ZU1hcCAmYXR0cmlidXRlc0luKQogICAgIDog
bGFiZWwobnVsbHB0ciksCkBAIC03NCw3ICs3OCw4IEBAIFN1cmZhY2U6OlN1cmZhY2UoRUdMaW50
IHN1cmZhY2VUeXBlLAogICAgICAgbVRleHR1cmUobnVsbHB0ciksCiAgICAgICBtQ29sb3JGb3Jt
YXQoY29uZmlnLT5yZW5kZXJUYXJnZXRGb3JtYXQpLAogICAgICAgbURTRm9ybWF0KGNvbmZpZy0+
ZGVwdGhTdGVuY2lsRm9ybWF0KSwKLSAgICAgIG1Jbml0U3RhdGUoZ2w6OkluaXRTdGF0ZTo6SW5p
dGlhbGl6ZWQpCisgICAgICBtSW5pdFN0YXRlKGdsOjpJbml0U3RhdGU6OkluaXRpYWxpemVkKSwK
KyAgICAgIG1JbXBsT2JzZXJ2ZXJCaW5kaW5nKHRoaXMsIGtTdXJmYWNlSW1wbFN1YmplY3RJbmRl
eCkKIHsKICAgICBtUG9zdFN1YkJ1ZmZlclJlcXVlc3RlZCA9CiAgICAgICAgIChhdHRyaWJ1dGVz
LmdldChFR0xfUE9TVF9TVUJfQlVGRkVSX1NVUFBPUlRFRF9OViwgRUdMX0ZBTFNFKSA9PSBFR0xf
VFJVRSk7CkBAIC0xMTQsNiArMTE5LDkgQEAgU3VyZmFjZTo6U3VyZmFjZShFR0xpbnQgc3VyZmFj
ZVR5cGUsCiAgICAgfQogCiAgICAgbU9yaWVudGF0aW9uID0gc3RhdGljX2Nhc3Q8RUdMaW50Pihh
dHRyaWJ1dGVzLmdldChFR0xfU1VSRkFDRV9PUklFTlRBVElPTl9BTkdMRSwgMCkpOworCisgICAg
bVRleHR1cmVPZmZzZXQueCA9IHN0YXRpY19jYXN0PGludD4obVN0YXRlLmF0dHJpYnV0ZXMuZ2V0
KEVHTF9URVhUVVJFX09GRlNFVF9YX0FOR0xFLCAwKSk7CisgICAgbVRleHR1cmVPZmZzZXQueSA9
IHN0YXRpY19jYXN0PGludD4obVN0YXRlLmF0dHJpYnV0ZXMuZ2V0KEVHTF9URVhUVVJFX09GRlNF
VF9ZX0FOR0xFLCAwKSk7CiB9CiAKIFN1cmZhY2U6On5TdXJmYWNlKCkge30KQEAgLTIwNSw2ICsy
MTMsOCBAQCBFcnJvciBTdXJmYWNlOjppbml0aWFsaXplKGNvbnN0IERpc3BsYXkgKmRpc3BsYXkp
CiAgICAgICAgIG1TdGF0ZS5zdXBwb3J0ZWRUaW1lc3RhbXBzICAgICAgICA9IG1JbXBsZW1lbnRh
dGlvbi0+Z2V0U3VwcG9ydGVkVGltZXN0YW1wcygpOwogICAgIH0KIAorICAgIG1JbXBsT2JzZXJ2
ZXJCaW5kaW5nLmJpbmQobUltcGxlbWVudGF0aW9uKTsKKwogICAgIHJldHVybiBOb0Vycm9yKCk7
CiB9CiAKQEAgLTQ1MCw2ICs0NjAsMzIgQEAgRUdMaW50IFN1cmZhY2U6OmdldEhlaWdodCgpIGNv
bnN0CiAgICAgcmV0dXJuIG1GaXhlZFNpemUgPyBzdGF0aWNfY2FzdDxFR0xpbnQ+KG1GaXhlZEhl
aWdodCkgOiBtSW1wbGVtZW50YXRpb24tPmdldEhlaWdodCgpOwogfQogCitlZ2w6OkVycm9yIFN1
cmZhY2U6OmdldFVzZXJXaWR0aChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAq
dmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG1GaXhlZFNpemUpCisgICAgeworICAgICAgICAqdmFs
dWUgPSBzdGF0aWNfY2FzdDxFR0xpbnQ+KG1GaXhlZFdpZHRoKTsKKyAgICAgICAgcmV0dXJuIE5v
RXJyb3IoKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1JbXBsZW1l
bnRhdGlvbi0+Z2V0VXNlcldpZHRoKGRpc3BsYXksIHZhbHVlKTsKKyAgICB9Cit9CisKK2VnbDo6
RXJyb3IgU3VyZmFjZTo6Z2V0VXNlckhlaWdodChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXks
IEVHTGludCAqdmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG1GaXhlZFNpemUpCisgICAgeworICAg
ICAgICAqdmFsdWUgPSBzdGF0aWNfY2FzdDxFR0xpbnQ+KG1GaXhlZEhlaWdodCk7CisgICAgICAg
IHJldHVybiBOb0Vycm9yKCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVy
biBtSW1wbGVtZW50YXRpb24tPmdldFVzZXJIZWlnaHQoZGlzcGxheSwgdmFsdWUpOworICAgIH0K
K30KKwogRXJyb3IgU3VyZmFjZTo6YmluZFRleEltYWdlKGdsOjpDb250ZXh0ICpjb250ZXh0LCBn
bDo6VGV4dHVyZSAqdGV4dHVyZSwgRUdMaW50IGJ1ZmZlcikKIHsKICAgICBBU1NFUlQoIW1UZXh0
dXJlKTsKQEAgLTU3OSw2ICs2MTUsMTIgQEAgRXJyb3IgU3VyZmFjZTo6Z2V0RnJhbWVUaW1lc3Rh
bXBzKEVHTHVpbnQ2NEtIUiBmcmFtZUlkLAogICAgIHJldHVybiBtSW1wbGVtZW50YXRpb24tPmdl
dEZyYW1lVGltZXN0YW1wcyhmcmFtZUlkLCBudW1UaW1lc3RhbXBzLCB0aW1lc3RhbXBzLCB2YWx1
ZXMpOwogfQogCit2b2lkIFN1cmZhY2U6Om9uU3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJq
ZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdlKQoreworICAgIEFT
U0VSVChtZXNzYWdlID09IGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQgJiYg
aW5kZXggPT0ga1N1cmZhY2VJbXBsU3ViamVjdEluZGV4KTsKKyAgICBvblN0YXRlQ2hhbmdlKGFu
Z2xlOjpTdWJqZWN0TWVzc2FnZTo6Q29udGVudHNDaGFuZ2VkKTsKK30KKwogV2luZG93U3VyZmFj
ZTo6V2luZG93U3VyZmFjZShyeDo6RUdMSW1wbEZhY3RvcnkgKmltcGxGYWN0b3J5LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlZ2w6OkNvbmZpZyAqY29uZmlnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBFR0xOYXRpdmVXaW5kb3dUeXBlIHdpbmRvdywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdXJmYWNlLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3VyZmFjZS5oCmluZGV4IGJhZGJi
ZTc1MGQzOGI3NjYyZDhhMWM5OWE1NzQzYzcxNjc4NmJmMzEuLjhhMzA0ODMwNmFmZWMzNDJhNzcz
Y2RlMDgzY2IzMzliZjNhYmM2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9TdXJmYWNlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL1N1cmZhY2UuaApAQCAtMTA3LDYgKzEwNywxNSBAQCBjbGFzcyBTdXJmYWNlIDog
cHVibGljIExhYmVsZWRPYmplY3QsIHB1YmxpYyBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50T2Jq
ZWN0CiAgICAgLy8gd2lkdGggYW5kIGhlaWdodCBjYW4gY2hhbmdlIHdpdGggY2xpZW50IHdpbmRv
dyByZXNpemluZwogICAgIEVHTGludCBnZXRXaWR0aCgpIGNvbnN0OwogICAgIEVHTGludCBnZXRI
ZWlnaHQoKSBjb25zdDsKKyAgICAvLyBOb3RlOiB3aW5kb3dzIGNhbm5vdCBiZSByZXNpemVkIG9u
IEFuZHJvaWQuICBUaGUgYXBwcm9hY2ggcmVxdWlyZXMKKyAgICAvLyBjYWxsaW5nIHZrR2V0UGh5
c2ljYWxEZXZpY2VTdXJmYWNlQ2FwYWJpbGl0aWVzS0hSLiAgSG93ZXZlciwgdGhhdCBpcworICAg
IC8vIGV4cGVuc2l2ZTsgYW5kIHRoZXJlIGFyZSB0cm91Ymxlc29tZSB0aW1pbmcgaXNzdWVzIGZv
ciBvdGhlciBwYXJ0cyBvZgorICAgIC8vIEFOR0xFICh3aGljaCBjYXVzZSB0ZXN0IGZhaWx1cmVz
IGFuZCBjcmFzaGVzKS4gIFRoZXJlZm9yZSwgYQorICAgIC8vIHNwZWNpYWwtQW5kcm9pZC1vbmx5
IHBhdGggaXMgY3JlYXRlZCBqdXN0IGZvciB0aGUgcXVlcnlpbmcgb2YgRUdMX1dJRFRICisgICAg
Ly8gYW5kIEVHTF9IRUlHSFQuCisgICAgLy8gaHR0cHM6Ly9pc3N1ZXRyYWNrZXIuZ29vZ2xlLmNv
bS9pc3N1ZXMvMTUzMzI5OTgwCisgICAgZWdsOjpFcnJvciBnZXRVc2VyV2lkdGgoY29uc3QgZWds
OjpEaXNwbGF5ICpkaXNwbGF5LCBFR0xpbnQgKnZhbHVlKSBjb25zdDsKKyAgICBlZ2w6OkVycm9y
IGdldFVzZXJIZWlnaHQoY29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5LCBFR0xpbnQgKnZhbHVl
KSBjb25zdDsKICAgICBFR0xpbnQgZ2V0UGl4ZWxBc3BlY3RSYXRpbygpIGNvbnN0OwogICAgIEVH
TGVudW0gZ2V0UmVuZGVyQnVmZmVyKCkgY29uc3Q7CiAgICAgRUdMZW51bSBnZXRTd2FwQmVoYXZp
b3IoKSBjb25zdDsKQEAgLTE2OSw2ICsxNzgsMTEgQEAgY2xhc3MgU3VyZmFjZSA6IHB1YmxpYyBM
YWJlbGVkT2JqZWN0LCBwdWJsaWMgZ2w6OkZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFR0xpbnQgKnRpbWVzdGFtcHMsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVHTG5zZWNzQU5EUk9JRCAqdmFsdWVzKSBjb25zdDsK
IAorICAgIC8vIFJldHVybnMgdGhlIG9mZnNldCBpbnRvIHRoZSB0ZXh0dXJlIGJhY2tpbmcgdGhl
IHN1cmZhY2UgaWYgc3BlY2lmaWVkIHZpYSB0ZXh0dXJlIG9mZnNldAorICAgIC8vIGF0dHJpYnV0
ZXMgKHNlZSBFR0xfQU5HTEVfZDNkX3RleHR1cmVfY2xpZW50X2J1ZmZlciBleHRlbnNpb24pLiBS
ZXR1cm5zIHplcm8gb2Zmc2V0CisgICAgLy8gb3RoZXJ3aXNlLgorICAgIGNvbnN0IGdsOjpPZmZz
ZXQgJmdldFRleHR1cmVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtVGV4dHVyZU9mZnNldDsgfQor
CiAgIHByb3RlY3RlZDoKICAgICBTdXJmYWNlKEVHTGludCBzdXJmYWNlVHlwZSwKICAgICAgICAg
ICAgIGNvbnN0IGVnbDo6Q29uZmlnICpjb25maWcsCkBAIC0yMjYsMTMgKzI0MCwxOSBAQCBjbGFz
cyBTdXJmYWNlIDogcHVibGljIExhYmVsZWRPYmplY3QsIHB1YmxpYyBnbDo6RnJhbWVidWZmZXJB
dHRhY2htZW50T2JqZWN0CiAgICAgZ2w6OkZvcm1hdCBtQ29sb3JGb3JtYXQ7CiAgICAgZ2w6OkZv
cm1hdCBtRFNGb3JtYXQ7CiAKKyAgICBnbDo6T2Zmc2V0IG1UZXh0dXJlT2Zmc2V0OworCiAgIHBy
aXZhdGU6CiAgICAgRXJyb3IgZGVzdHJveUltcGwoY29uc3QgRGlzcGxheSAqZGlzcGxheSk7CiAK
ICAgICB2b2lkIHBvc3RTd2FwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKICAgICBFcnJv
ciByZWxlYXNlUmVmKGNvbnN0IERpc3BsYXkgKmRpc3BsYXkpOwogCisgICAgLy8gT2JzZXJ2ZXJJ
bnRlcmZhY2UgaW1wbGVtZW50YXRpb24uCisgICAgdm9pZCBvblN1YmplY3RTdGF0ZUNoYW5nZShh
bmdsZTo6U3ViamVjdEluZGV4IGluZGV4LCBhbmdsZTo6U3ViamVjdE1lc3NhZ2UgbWVzc2FnZSkg
b3ZlcnJpZGU7CisKICAgICBnbDo6SW5pdFN0YXRlIG1Jbml0U3RhdGU7CisgICAgYW5nbGU6Ok9i
c2VydmVyQmluZGluZyBtSW1wbE9ic2VydmVyQmluZGluZzsKIH07CiAKIGNsYXNzIFdpbmRvd1N1
cmZhY2UgZmluYWwgOiBwdWJsaWMgU3VyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL1RleHR1cmUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL1RleHR1cmUuY3BwCmluZGV4IGEyYTlmM2M4NTFiODMxNzI0MzQzYTI4
ZDg0ZmVmZTM2NTM3YTcyZDguLjYxZGRjNDFhNjA5NmU0Njk5NjI3Yzc4MzZjMjI4YWMyYjBiODRm
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9UZXh0
dXJlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvVGV4dHVy
ZS5jcHAKQEAgLTM3LDE2ICszNywxNSBAQCBzaXplX3QgR2V0SW1hZ2VEZXNjSW5kZXgoVGV4dHVy
ZVRhcmdldCB0YXJnZXQsIHNpemVfdCBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogbGV2ZWw7CiB9CiAKLUluaXRTdGF0ZSBEZXRlcm1pbmVJbml0U3RhdGUo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwgY29uc3QgdWludDhfdCAqcGl4ZWxzKQorSW5pdFN0YXRl
IERldGVybWluZUluaXRTdGF0ZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBCdWZmZXIgKnVucGFj
a0J1ZmZlciwgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewogICAgIC8vIENhbiBoYXBwZW4gaW4g
dGVzdHMuCiAgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5pc1JvYnVzdFJlc291cmNlSW5p
dEVuYWJsZWQoKSkKKyAgICB7CiAgICAgICAgIHJldHVybiBJbml0U3RhdGU6OkluaXRpYWxpemVk
OworICAgIH0KIAotICAgIGNvbnN0IGF1dG8gJmdsU3RhdGUgPSBjb250ZXh0LT5nZXRTdGF0ZSgp
OwotICAgIHJldHVybiAocGl4ZWxzID09IG51bGxwdHIgJiYgZ2xTdGF0ZS5nZXRUYXJnZXRCdWZm
ZXIoZ2w6OkJ1ZmZlckJpbmRpbmc6OlBpeGVsVW5wYWNrKSA9PSBudWxscHRyKQotICAgICAgICAg
ICAgICAgPyBJbml0U3RhdGU6Ok1heU5lZWRJbml0Ci0gICAgICAgICAgICAgICA6IEluaXRTdGF0
ZTo6SW5pdGlhbGl6ZWQ7CisgICAgcmV0dXJuICghcGl4ZWxzICYmICF1bnBhY2tCdWZmZXIpID8g
SW5pdFN0YXRlOjpNYXlOZWVkSW5pdCA6IEluaXRTdGF0ZTo6SW5pdGlhbGl6ZWQ7CiB9CiB9ICAv
LyBuYW1lc3BhY2UKIApAQCAtOTYsMTEgKzk1LDEwIEBAIGJvb2wgU3dpenpsZVN0YXRlOjpvcGVy
YXRvciE9KGNvbnN0IFN3aXp6bGVTdGF0ZSAmb3RoZXIpIGNvbnN0CiBUZXh0dXJlU3RhdGU6OlRl
eHR1cmVTdGF0ZShUZXh0dXJlVHlwZSB0eXBlKQogICAgIDogbVR5cGUodHlwZSksCiAgICAgICBt
U2FtcGxlclN0YXRlKFNhbXBsZXJTdGF0ZTo6Q3JlYXRlRGVmYXVsdEZvclRhcmdldCh0eXBlKSks
CisgICAgICBtU3JnYk92ZXJyaWRlKFNyZ2JPdmVycmlkZTo6RGVmYXVsdCksCiAgICAgICBtQmFz
ZUxldmVsKDApLAogICAgICAgbU1heExldmVsKDEwMDApLAogICAgICAgbURlcHRoU3RlbmNpbFRl
eHR1cmVNb2RlKEdMX0RFUFRIX0NPTVBPTkVOVCksCi0gICAgICBtU2FtcGxlckJpbmRpbmdDb3Vu
dCgwKSwKLSAgICAgIG1JbWFnZUJpbmRpbmdDb3VudCgwKSwKICAgICAgIG1JbW11dGFibGVGb3Jt
YXQoZmFsc2UpLAogICAgICAgbUltbXV0YWJsZUxldmVscygwKSwKICAgICAgIG1Vc2FnZShHTF9O
T05FKSwKQEAgLTIyMywxMiArMjIxLDEyIEBAIGNvbnN0IEltYWdlRGVzYyAmVGV4dHVyZVN0YXRl
OjpnZXRCYXNlTGV2ZWxEZXNjKCkgY29uc3QKICAgICByZXR1cm4gZ2V0SW1hZ2VEZXNjKGdldEJh
c2VJbWFnZVRhcmdldCgpLCBnZXRFZmZlY3RpdmVCYXNlTGV2ZWwoKSk7CiB9CiAKLXZvaWQgVGV4
dHVyZVN0YXRlOjpzZXRDcm9wKGNvbnN0IGdsOjpSZWN0YW5nbGUgJnJlY3QpCit2b2lkIFRleHR1
cmVTdGF0ZTo6c2V0Q3JvcChjb25zdCBSZWN0YW5nbGUgJnJlY3QpCiB7CiAgICAgbUNyb3BSZWN0
ID0gcmVjdDsKIH0KIAotY29uc3QgZ2w6OlJlY3RhbmdsZSAmVGV4dHVyZVN0YXRlOjpnZXRDcm9w
KCkgY29uc3QKK2NvbnN0IFJlY3RhbmdsZSAmVGV4dHVyZVN0YXRlOjpnZXRDcm9wKCkgY29uc3QK
IHsKICAgICByZXR1cm4gbUNyb3BSZWN0OwogfQpAQCAtNTI3LDcgKzUyNSw3IEBAIEdMdWludCBU
ZXh0dXJlU3RhdGU6OmdldEVuYWJsZWRMZXZlbENvdW50KCkgY29uc3QKIH0KIAogSW1hZ2VEZXNj
OjpJbWFnZURlc2MoKQotICAgIDogSW1hZ2VEZXNjKEV4dGVudHMoMCwgMCwgMCksIEZvcm1hdDo6
SW52YWxpZCgpLCAwLCBHTF9UUlVFLCBJbml0U3RhdGU6OkluaXRpYWxpemVkKQorICAgIDogSW1h
Z2VEZXNjKEV4dGVudHMoMCwgMCwgMCksIEZvcm1hdDo6SW52YWxpZCgpLCAwLCBHTF9UUlVFLCBJ
bml0U3RhdGU6Ok1heU5lZWRJbml0KQoge30KIAogSW1hZ2VEZXNjOjpJbWFnZURlc2MoY29uc3Qg
RXh0ZW50cyAmc2l6ZSwgY29uc3QgRm9ybWF0ICZmb3JtYXQsIGNvbnN0IEluaXRTdGF0ZSBpbml0
U3RhdGUpCkBAIC04NjIsNiArODYwLDIyIEBAIEdMZW51bSBUZXh0dXJlOjpnZXRTUkdCRGVjb2Rl
KCkgY29uc3QKICAgICByZXR1cm4gbVN0YXRlLm1TYW1wbGVyU3RhdGUuZ2V0U1JHQkRlY29kZSgp
OwogfQogCit2b2lkIFRleHR1cmU6OnNldFNSR0JPdmVycmlkZShjb25zdCBDb250ZXh0ICpjb250
ZXh0LCBHTGVudW0gc1JHQk92ZXJyaWRlKQoreworICAgIFNyZ2JPdmVycmlkZSBvbGRPdmVycmlk
ZSA9IG1TdGF0ZS5tU3JnYk92ZXJyaWRlOworICAgIG1TdGF0ZS5tU3JnYk92ZXJyaWRlID0KKyAg
ICAgICAgKHNSR0JPdmVycmlkZSA9PSBHTF9TUkdCKSA/IFNyZ2JPdmVycmlkZTo6RW5hYmxlZCA6
IFNyZ2JPdmVycmlkZTo6RGVmYXVsdDsKKyAgICBpZiAobVN0YXRlLm1TcmdiT3ZlcnJpZGUgIT0g
b2xkT3ZlcnJpZGUpCisgICAgeworICAgICAgICBzaWduYWxEaXJ0eVN0YXRlKERJUlRZX0JJVF9T
UkdCX09WRVJSSURFKTsKKyAgICB9Cit9CisKK0dMZW51bSBUZXh0dXJlOjpnZXRTUkdCT3ZlcnJp
ZGUoKSBjb25zdAoreworICAgIHJldHVybiAobVN0YXRlLm1TcmdiT3ZlcnJpZGUgPT0gU3JnYk92
ZXJyaWRlOjpFbmFibGVkKSA/IEdMX1NSR0IgOiBHTF9OT05FOworfQorCiBjb25zdCBTYW1wbGVy
U3RhdGUgJlRleHR1cmU6OmdldFNhbXBsZXJTdGF0ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1T
dGF0ZS5tU2FtcGxlclN0YXRlOwpAQCAtOTM2LDcgKzk1MCw3IEBAIGNvbnN0IFRleHR1cmVTdGF0
ZSAmVGV4dHVyZTo6Z2V0VGV4dHVyZVN0YXRlKCkgY29uc3QKICAgICByZXR1cm4gbVN0YXRlOwog
fQogCi1jb25zdCBnbDo6RXh0ZW50cyAmVGV4dHVyZTo6Z2V0RXh0ZW50cyhUZXh0dXJlVGFyZ2V0
IHRhcmdldCwgc2l6ZV90IGxldmVsKSBjb25zdAorY29uc3QgRXh0ZW50cyAmVGV4dHVyZTo6Z2V0
RXh0ZW50cyhUZXh0dXJlVGFyZ2V0IHRhcmdldCwgc2l6ZV90IGxldmVsKSBjb25zdAogewogICAg
IEFTU0VSVChUZXh0dXJlVGFyZ2V0VG9UeXBlKHRhcmdldCkgPT0gbVN0YXRlLm1UeXBlKTsKICAg
ICByZXR1cm4gbVN0YXRlLmdldEltYWdlRGVzYyh0YXJnZXQsIGxldmVsKS5zaXplOwpAQCAtMTA0
Myw2ICsxMDU3LDcgQEAgdm9pZCBUZXh0dXJlOjpzaWduYWxEaXJ0eVN0YXRlKHNpemVfdCBkaXJ0
eUJpdCkKIAogYW5nbGU6OlJlc3VsdCBUZXh0dXJlOjpzZXRJbWFnZShDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQaXhlbFVucGFja1N0YXRl
ICZ1bnBhY2tTdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyICp1
bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHR1cmVUYXJn
ZXQgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBsZXZlbCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGludGVybmFsRm9ybWF0LApA
QCAtMTA2MCw5ICsxMDc1LDkgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlOjpzZXRJbWFnZShDb250
ZXh0ICpjb250ZXh0LAogICAgIEltYWdlSW5kZXggaW5kZXggPSBJbWFnZUluZGV4OjpNYWtlRnJv
bVRhcmdldCh0YXJnZXQsIGxldmVsLCBzaXplLmRlcHRoKTsKIAogICAgIEFOR0xFX1RSWShtVGV4
dHVyZS0+c2V0SW1hZ2UoY29udGV4dCwgaW5kZXgsIGludGVybmFsRm9ybWF0LCBzaXplLCBmb3Jt
YXQsIHR5cGUsIHVucGFja1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGl4ZWxzKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBhY2tCdWZmZXIs
IHBpeGVscykpOwogCi0gICAgSW5pdFN0YXRlIGluaXRTdGF0ZSA9IERldGVybWluZUluaXRTdGF0
ZShjb250ZXh0LCBwaXhlbHMpOworICAgIEluaXRTdGF0ZSBpbml0U3RhdGUgPSBEZXRlcm1pbmVJ
bml0U3RhdGUoY29udGV4dCwgdW5wYWNrQnVmZmVyLCBwaXhlbHMpOwogICAgIG1TdGF0ZS5zZXRJ
bWFnZURlc2ModGFyZ2V0LCBsZXZlbCwgSW1hZ2VEZXNjKHNpemUsIEZvcm1hdChpbnRlcm5hbEZv
cm1hdCwgdHlwZSksIGluaXRTdGF0ZSkpOwogCiAgICAgQU5HTEVfVFJZKGhhbmRsZU1pcG1hcEdl
bmVyYXRpb25IaW50KGNvbnRleHQsIGxldmVsKSk7CkBAIC0xMDg0LDkgKzEwOTksOCBAQCBhbmds
ZTo6UmVzdWx0IFRleHR1cmU6OnNldFN1YkltYWdlKENvbnRleHQgKmNvbnRleHQsCiB7CiAgICAg
QVNTRVJUKFRleHR1cmVUYXJnZXRUb1R5cGUodGFyZ2V0KSA9PSBtU3RhdGUubVR5cGUpOwogCi0g
ICAgQU5HTEVfVFJZKGVuc3VyZVN1YkltYWdlSW5pdGlhbGl6ZWQoY29udGV4dCwgdGFyZ2V0LCBs
ZXZlbCwgYXJlYSkpOwotCiAgICAgSW1hZ2VJbmRleCBpbmRleCA9IEltYWdlSW5kZXg6Ok1ha2VG
cm9tVGFyZ2V0KHRhcmdldCwgbGV2ZWwsIGFyZWEuZGVwdGgpOworICAgIEFOR0xFX1RSWShlbnN1
cmVTdWJJbWFnZUluaXRpYWxpemVkKGNvbnRleHQsIGluZGV4LCBhcmVhKSk7CiAKICAgICBBTkdM
RV9UUlkobVRleHR1cmUtPnNldFN1YkltYWdlKGNvbnRleHQsIGluZGV4LCBhcmVhLCBmb3JtYXQs
IHR5cGUsIHVucGFja1N0YXRlLCB1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwaXhlbHMpKTsKQEAgLTExMTgsNyArMTEzMiw5IEBAIGFuZ2xlOjpSZXN1
bHQgVGV4dHVyZTo6c2V0Q29tcHJlc3NlZEltYWdlKENvbnRleHQgKmNvbnRleHQsCiAgICAgQU5H
TEVfVFJZKG1UZXh0dXJlLT5zZXRDb21wcmVzc2VkSW1hZ2UoY29udGV4dCwgaW5kZXgsIGludGVy
bmFsRm9ybWF0LCBzaXplLCB1bnBhY2tTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbWFnZVNpemUsIHBpeGVscykpOwogCi0gICAgSW5pdFN0YXRlIGlu
aXRTdGF0ZSA9IERldGVybWluZUluaXRTdGF0ZShjb250ZXh0LCBwaXhlbHMpOworICAgIEJ1ZmZl
ciAqdW5wYWNrQnVmZmVyID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRUYXJnZXRCdWZmZXIoQnVm
ZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOworCisgICAgSW5pdFN0YXRlIGluaXRTdGF0ZSA9IERl
dGVybWluZUluaXRTdGF0ZShjb250ZXh0LCB1bnBhY2tCdWZmZXIsIHBpeGVscyk7CiAgICAgbVN0
YXRlLnNldEltYWdlRGVzYyh0YXJnZXQsIGxldmVsLCBJbWFnZURlc2Moc2l6ZSwgRm9ybWF0KGlu
dGVybmFsRm9ybWF0KSwgaW5pdFN0YXRlKSk7CiAgICAgc2lnbmFsRGlydHlTdG9yYWdlKGluaXRT
dGF0ZSk7CiAKQEAgLTExMzYsOSArMTE1Miw4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZTo6c2V0
Q29tcHJlc3NlZFN1YkltYWdlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiB7CiAgICAgQVNTRVJU
KFRleHR1cmVUYXJnZXRUb1R5cGUodGFyZ2V0KSA9PSBtU3RhdGUubVR5cGUpOwogCi0gICAgQU5H
TEVfVFJZKGVuc3VyZVN1YkltYWdlSW5pdGlhbGl6ZWQoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCwg
YXJlYSkpOwotCiAgICAgSW1hZ2VJbmRleCBpbmRleCA9IEltYWdlSW5kZXg6Ok1ha2VGcm9tVGFy
Z2V0KHRhcmdldCwgbGV2ZWwsIGFyZWEuZGVwdGgpOworICAgIEFOR0xFX1RSWShlbnN1cmVTdWJJ
bWFnZUluaXRpYWxpemVkKGNvbnRleHQsIGluZGV4LCBhcmVhKSk7CiAKICAgICBBTkdMRV9UUlko
bVRleHR1cmUtPnNldENvbXByZXNzZWRTdWJJbWFnZShjb250ZXh0LCBpbmRleCwgYXJlYSwgZm9y
bWF0LCB1bnBhY2tTdGF0ZSwgaW1hZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBpeGVscykpOwpAQCAtMTE2MSwyNSArMTE3Niw1NiBAQCBhbmds
ZTo6UmVzdWx0IFRleHR1cmU6OmNvcHlJbWFnZShDb250ZXh0ICpjb250ZXh0LAogICAgIEFOR0xF
X1RSWShyZWxlYXNlVGV4SW1hZ2VJbnRlcm5hbChjb250ZXh0KSk7CiAgICAgQU5HTEVfVFJZKG9y
cGhhbkltYWdlcyhjb250ZXh0KSk7CiAKLSAgICAvLyBVc2UgdGhlIHNvdXJjZSBGQk8gc2l6ZSBh
cyB0aGUgaW5pdCBpbWFnZSBhcmVhLgotICAgIEJveCBkZXN0Qm94KDAsIDAsIDAsIHNvdXJjZUFy
ZWEud2lkdGgsIHNvdXJjZUFyZWEuaGVpZ2h0LCAxKTsKLSAgICBBTkdMRV9UUlkoZW5zdXJlU3Vi
SW1hZ2VJbml0aWFsaXplZChjb250ZXh0LCB0YXJnZXQsIGxldmVsLCBkZXN0Qm94KSk7Ci0KICAg
ICBJbWFnZUluZGV4IGluZGV4ID0gSW1hZ2VJbmRleDo6TWFrZUZyb21UYXJnZXQodGFyZ2V0LCBs
ZXZlbCwgMSk7CiAKLSAgICBBTkdMRV9UUlkobVRleHR1cmUtPmNvcHlJbWFnZShjb250ZXh0LCBp
bmRleCwgc291cmNlQXJlYSwgaW50ZXJuYWxGb3JtYXQsIHNvdXJjZSkpOwotCiAgICAgY29uc3Qg
SW50ZXJuYWxGb3JtYXQgJmludGVybmFsRm9ybWF0SW5mbyA9CiAgICAgICAgIEdldEludGVybmFs
Rm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1hdCwgR0xfVU5TSUdORURfQllURSk7CiAKKyAgICAvLyBN
b3N0IGlmIG5vdCBhbGwgcmVuZGVyZXJzIGNsaXAgdGhlc2UgY29waWVzIHRvIHRoZSBzaXplIG9m
IHRoZSBzb3VyY2UgZnJhbWVidWZmZXIsIGxlYXZpbmcKKyAgICAvLyBvdGhlciBwaXhlbHMgdW50
b3VjaGVkLiBGb3Igc2FmZXR5IGluIHJvYnVzdCByZXNvdXJjZSBpbml0aWFsaXphdGlvbiwgYXNz
dW1lIHRoYXQgdGhhdAorICAgIC8vIGNsaXBwaW5nIGlzIGdvaW5nIHRvIG9jY3VyIHdoZW4gY29t
cHV0aW5nIHRoZSByZWdpb24gZm9yIHdoaWNoIHRvIGVuc3VyZSBpbml0aWFsaXphdGlvbi4gSWYK
KyAgICAvLyB0aGUgY29weSBsaWVzIGVudGlyZWx5IG9mZiB0aGUgc291cmNlIGZyYW1lYnVmZmVy
LCBpbml0aWFsaXplIGFzIHRob3VnaCBhIHplcm8tc2l6ZSBib3ggaXMKKyAgICAvLyBnb2luZyB0
byBiZSBzZXQgZHVyaW5nIHRoZSBjb3B5IG9wZXJhdGlvbi4KKyAgICBCb3ggZGVzdEJveDsKKyAg
ICBpZiAoY29udGV4dC0+aXNSb2J1c3RSZXNvdXJjZUluaXRFbmFibGVkKCkpCisgICAgeworICAg
ICAgICBFeHRlbnRzIGZiU2l6ZSA9IHNvdXJjZS0+Z2V0UmVhZENvbG9yQXR0YWNobWVudCgpLT5n
ZXRTaXplKCk7CisgICAgICAgIFJlY3RhbmdsZSBjbGlwcGVkQXJlYTsKKyAgICAgICAgaWYgKENs
aXBSZWN0YW5nbGUoc291cmNlQXJlYSwgUmVjdGFuZ2xlKDAsIDAsIGZiU2l6ZS53aWR0aCwgZmJT
aXplLmhlaWdodCksICZjbGlwcGVkQXJlYSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0
IE9mZnNldCBjbGlwcGVkT2Zmc2V0KGNsaXBwZWRBcmVhLnggLSBzb3VyY2VBcmVhLngsIGNsaXBw
ZWRBcmVhLnkgLSBzb3VyY2VBcmVhLnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwKTsKKyAgICAgICAgICAgIGRlc3RCb3ggPSBCb3goY2xpcHBlZE9mZnNldC54LCBj
bGlwcGVkT2Zmc2V0LnksIGNsaXBwZWRPZmZzZXQueiwgY2xpcHBlZEFyZWEud2lkdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaXBwZWRBcmVhLmhlaWdodCwgMSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICAvLyBJZiB3ZSBuZWVkIHRvIGluaXRpYWxpemUgdGhlIGRlc3RpbmF0aW9u
IHRleHR1cmUgd2Ugc3BsaXQgdGhlIGNhbGwgaW50byBhIGNyZWF0ZSBjYWxsLAorICAgIC8vIGFu
IGluaXRpYWxpemVDb250ZW50cyBjYWxsLCBhbmQgdGhlbiBhIGNvcHlTdWJJbWFnZSBjYWxsLiBU
aGlzIGVuc3VyZXMgdGhlIGRlc3RpbmF0aW9uCisgICAgLy8gdGV4dHVyZSBleGlzdHMgYmVmb3Jl
IHdlIHRyeSB0byBjbGVhciBpdC4KKyAgICBFeHRlbnRzIHNpemUoc291cmNlQXJlYS53aWR0aCwg
c291cmNlQXJlYS5oZWlnaHQsIDEpOworICAgIGlmIChkb2VzU3ViSW1hZ2VOZWVkSW5pdChjb250
ZXh0LCBpbmRleCwgZGVzdEJveCkpCisgICAgeworICAgICAgICBBTkdMRV9UUlkobVRleHR1cmUt
PnNldEltYWdlKGNvbnRleHQsIGluZGV4LCBpbnRlcm5hbEZvcm1hdCwgc2l6ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbEZvcm1hdEluZm8uZm9ybWF0LCBp
bnRlcm5hbEZvcm1hdEluZm8udHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQaXhlbFVucGFja1N0YXRlKCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgbVN0
YXRlLnNldEltYWdlRGVzYyh0YXJnZXQsIGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEltYWdlRGVzYyhzaXplLCBGb3JtYXQoaW50ZXJuYWxGb3JtYXRJbmZvKSwgSW5pdFN0YXRl
OjpNYXlOZWVkSW5pdCkpOworICAgICAgICBBTkdMRV9UUlkoZW5zdXJlU3ViSW1hZ2VJbml0aWFs
aXplZChjb250ZXh0LCBpbmRleCwgZGVzdEJveCkpOworICAgICAgICBBTkdMRV9UUlkobVRleHR1
cmUtPmNvcHlTdWJJbWFnZShjb250ZXh0LCBpbmRleCwgT2Zmc2V0KCksIHNvdXJjZUFyZWEsIHNv
dXJjZSkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBBTkdMRV9UUlkobVRleHR1
cmUtPmNvcHlJbWFnZShjb250ZXh0LCBpbmRleCwgc291cmNlQXJlYSwgaW50ZXJuYWxGb3JtYXQs
IHNvdXJjZSkpOworICAgIH0KKwogICAgIG1TdGF0ZS5zZXRJbWFnZURlc2ModGFyZ2V0LCBsZXZl
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlRGVzYyhFeHRlbnRzKHNvdXJjZUFyZWEu
d2lkdGgsIHNvdXJjZUFyZWEuaGVpZ2h0LCAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGb3JtYXQoaW50ZXJuYWxGb3JtYXRJbmZvKSwgSW5pdFN0YXRlOjpJbml0aWFsaXpl
ZCkpOworICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VEZXNjKHNpemUsIEZvcm1hdChpbnRl
cm5hbEZvcm1hdEluZm8pLCBJbml0U3RhdGU6OkluaXRpYWxpemVkKSk7CiAKICAgICBBTkdMRV9U
UlkoaGFuZGxlTWlwbWFwR2VuZXJhdGlvbkhpbnQoY29udGV4dCwgbGV2ZWwpKTsKIAotICAgIC8v
IFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGlzIHRleHR1cmUgb25seSBpZiB0aGUgc291cmNlIGF0
dGFjaG1lbnQgaXMgbm90IGluaXRpYWxpemVkLgotICAgIHNpZ25hbERpcnR5U3RvcmFnZShJbml0
U3RhdGU6OkluaXRpYWxpemVkKTsKKyAgICAvLyBCZWNhdXNlIHRoaXMgY291bGQgYWZmZWN0IHRo
ZSB0ZXh0dXJlIHN0b3JhZ2Ugd2UgbWlnaHQgbmVlZCB0byBpbml0IG90aGVyIGxheWVycy9sZXZl
bHMuCisgICAgc2lnbmFsRGlydHlTdG9yYWdlKEluaXRTdGF0ZTo6TWF5TmVlZEluaXQpOwogCiAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMTIxMyw4ICsxMjU5LDcg
QEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlOjpjb3B5U3ViSW1hZ2UoQ29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgfQogICAgIH0KIAotICAgIEFOR0xFX1RSWSgKLSAgICAgICAgZW5zdXJlU3ViSW1h
Z2VJbml0aWFsaXplZChjb250ZXh0LCBpbmRleC5nZXRUYXJnZXQoKSwgaW5kZXguZ2V0TGV2ZWxJ
bmRleCgpLCBkZXN0Qm94KSk7CisgICAgQU5HTEVfVFJZKGVuc3VyZVN1YkltYWdlSW5pdGlhbGl6
ZWQoY29udGV4dCwgaW5kZXgsIGRlc3RCb3gpKTsKIAogICAgIEFOR0xFX1RSWShtVGV4dHVyZS0+
Y29weVN1YkltYWdlKGNvbnRleHQsIGluZGV4LCBkZXN0T2Zmc2V0LCBzb3VyY2VBcmVhLCBzb3Vy
Y2UpKTsKICAgICBBTkdMRV9UUlkoaGFuZGxlTWlwbWFwR2VuZXJhdGlvbkhpbnQoY29udGV4dCwg
aW5kZXguZ2V0TGV2ZWxJbmRleCgpKSk7CkBAIC0xMjgxLDkgKzEzMjYsOCBAQCBhbmdsZTo6UmVz
dWx0IFRleHR1cmU6OmNvcHlTdWJUZXh0dXJlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAKICAg
ICBCb3ggZGVzdEJveChkZXN0T2Zmc2V0LngsIGRlc3RPZmZzZXQueSwgZGVzdE9mZnNldC56LCBz
b3VyY2VCb3gud2lkdGgsIHNvdXJjZUJveC5oZWlnaHQsCiAgICAgICAgICAgICAgICAgc291cmNl
Qm94LmRlcHRoKTsKLSAgICBBTkdMRV9UUlkoZW5zdXJlU3ViSW1hZ2VJbml0aWFsaXplZChjb250
ZXh0LCB0YXJnZXQsIGxldmVsLCBkZXN0Qm94KSk7Ci0KICAgICBJbWFnZUluZGV4IGluZGV4ID0g
SW1hZ2VJbmRleDo6TWFrZUZyb21UYXJnZXQodGFyZ2V0LCBsZXZlbCwgc291cmNlQm94LmRlcHRo
KTsKKyAgICBBTkdMRV9UUlkoZW5zdXJlU3ViSW1hZ2VJbml0aWFsaXplZChjb250ZXh0LCBpbmRl
eCwgZGVzdEJveCkpOwogCiAgICAgQU5HTEVfVFJZKG1UZXh0dXJlLT5jb3B5U3ViVGV4dHVyZShj
b250ZXh0LCBpbmRleCwgZGVzdE9mZnNldCwgc291cmNlTGV2ZWwsIHNvdXJjZUJveCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGFja0ZsaXBZLCB1bnBhY2tQcmVt
dWx0aXBseUFscGhhLCB1bnBhY2tVbm11bHRpcGx5QWxwaGEsCkBAIC0xNTk0LDcgKzE2MzgsOCBA
QCBhbmdsZTo6UmVzdWx0IFRleHR1cmU6OnNldEVHTEltYWdlVGFyZ2V0KENvbnRleHQgKmNvbnRl
eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVnbDo6SW1hZ2Ug
KmltYWdlVGFyZ2V0KQogewogICAgIEFTU0VSVCh0eXBlID09IG1TdGF0ZS5tVHlwZSk7Ci0gICAg
QVNTRVJUKHR5cGUgPT0gVGV4dHVyZVR5cGU6Ol8yRCB8fCB0eXBlID09IFRleHR1cmVUeXBlOjpF
eHRlcm5hbCk7CisgICAgQVNTRVJUKHR5cGUgPT0gVGV4dHVyZVR5cGU6Ol8yRCB8fCB0eXBlID09
IFRleHR1cmVUeXBlOjpFeHRlcm5hbCB8fAorICAgICAgICAgICB0eXBlID09IFRleHR1cmVUeXBl
OjpfMkRBcnJheSk7CiAKICAgICAvLyBSZWxlYXNlIGZyb20gcHJldmlvdXMgY2FsbHMgdG8gZWds
QmluZFRleEltYWdlLCB0byBhdm9pZCBjYWxsaW5nIHRoZSBJbXBsIGFmdGVyCiAgICAgQU5HTEVf
VFJZKHJlbGVhc2VUZXhJbWFnZUludGVybmFsKGNvbnRleHQpKTsKQEAgLTE3MDIsMTIgKzE3NDcs
MTIgQEAgY29uc3QgQ29sb3JHZW5lcmljICZUZXh0dXJlOjpnZXRCb3JkZXJDb2xvcigpIGNvbnN0
CiAgICAgcmV0dXJuIG1TdGF0ZS5tU2FtcGxlclN0YXRlLmdldEJvcmRlckNvbG9yKCk7CiB9CiAK
LXZvaWQgVGV4dHVyZTo6c2V0Q3JvcChjb25zdCBnbDo6UmVjdGFuZ2xlICZyZWN0KQordm9pZCBU
ZXh0dXJlOjpzZXRDcm9wKGNvbnN0IFJlY3RhbmdsZSAmcmVjdCkKIHsKICAgICBtU3RhdGUuc2V0
Q3JvcChyZWN0KTsKIH0KIAotY29uc3QgZ2w6OlJlY3RhbmdsZSAmVGV4dHVyZTo6Z2V0Q3JvcCgp
IGNvbnN0Citjb25zdCBSZWN0YW5nbGUgJlRleHR1cmU6OmdldENyb3AoKSBjb25zdAogewogICAg
IHJldHVybiBtU3RhdGUuZ2V0Q3JvcCgpOwogfQpAQCAtMTc5OSw3ICsxODQ0LDcgQEAgYW5nbGU6
OlJlc3VsdCBUZXh0dXJlOjplbnN1cmVJbml0aWFsaXplZChjb25zdCBDb250ZXh0ICpjb250ZXh0
KQogICAgICAgICBjb25zdCBJbWFnZUluZGV4IGluZGV4ID0gaXQubmV4dCgpOwogICAgICAgICBJ
bWFnZURlc2MgJmRlc2MgPQogICAgICAgICAgICAgbVN0YXRlLm1JbWFnZURlc2NzW0dldEltYWdl
RGVzY0luZGV4KGluZGV4LmdldFRhcmdldCgpLCBpbmRleC5nZXRMZXZlbEluZGV4KCkpXTsKLSAg
ICAgICAgaWYgKGRlc2MuaW5pdFN0YXRlID09IEluaXRTdGF0ZTo6TWF5TmVlZEluaXQpCisgICAg
ICAgIGlmIChkZXNjLmluaXRTdGF0ZSA9PSBJbml0U3RhdGU6Ok1heU5lZWRJbml0ICYmICFkZXNj
LnNpemUuZW1wdHkoKSkKICAgICAgICAgewogICAgICAgICAgICAgQVNTRVJUKG1TdGF0ZS5tSW5p
dFN0YXRlID09IEluaXRTdGF0ZTo6TWF5TmVlZEluaXQpOwogICAgICAgICAgICAgQU5HTEVfVFJZ
KGluaXRpYWxpemVDb250ZW50cyhjb250ZXh0LCBpbmRleCkpOwpAQCAtMTg1Niw0MiArMTkwMSw0
NSBAQCB2b2lkIFRleHR1cmU6OnNldEluaXRTdGF0ZShjb25zdCBJbWFnZUluZGV4ICZpbWFnZUlu
ZGV4LCBJbml0U3RhdGUgaW5pdFN0YXRlKQogICAgIH0KIH0KIAotYW5nbGU6OlJlc3VsdCBUZXh0
dXJlOjplbnN1cmVTdWJJbWFnZUluaXRpYWxpemVkKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVRh
cmdldCB0YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZV90IGxldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpCb3ggJmFyZWEpCitib29sIFRleHR1cmU6OmRvZXNTdWJJ
bWFnZU5lZWRJbml0KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEltYWdlSW5kZXggJmltYWdlSW5kZXgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJveCAmYXJlYSkgY29uc3QKIHsKICAgICBp
ZiAoIWNvbnRleHQtPmlzUm9idXN0UmVzb3VyY2VJbml0RW5hYmxlZCgpIHx8IG1TdGF0ZS5tSW5p
dFN0YXRlID09IEluaXRTdGF0ZTo6SW5pdGlhbGl6ZWQpCiAgICAgewotICAgICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAK
ICAgICAvLyBQcmUtaW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSBjb250ZW50cyBpZiBuZWNlc3Nhcnku
Ci0gICAgLy8gVE9ETyhqbWFkaWxsKTogQ2hlY2sgaWYgYXJlYSBvdmVybGFwcyB0aGUgZW50aXJl
IHRleHR1cmUuCi0gICAgSW1hZ2VJbmRleCBpbWFnZUluZGV4ID0KLSAgICAgICAgSW1hZ2VJbmRl
eDo6TWFrZUZyb21UYXJnZXQodGFyZ2V0LCBzdGF0aWNfY2FzdDxHTGludD4obGV2ZWwpLCBhcmVh
LmRlcHRoKTsKLSAgICBjb25zdCBhdXRvICZkZXNjID0gbVN0YXRlLmdldEltYWdlRGVzYyhpbWFn
ZUluZGV4KTsKLSAgICBpZiAoZGVzYy5pbml0U3RhdGUgPT0gSW5pdFN0YXRlOjpNYXlOZWVkSW5p
dCkKKyAgICBjb25zdCBJbWFnZURlc2MgJmRlc2MgPSBtU3RhdGUuZ2V0SW1hZ2VEZXNjKGltYWdl
SW5kZXgpOworICAgIGlmIChkZXNjLmluaXRTdGF0ZSAhPSBJbml0U3RhdGU6Ok1heU5lZWRJbml0
KQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1TdGF0ZS5tSW5pdFN0YXRlID09IEluaXRTdGF0ZTo6
TWF5TmVlZEluaXQpOwotICAgICAgICBib29sIGNvdmVyc1dob2xlSW1hZ2UgPSBhcmVhLnggPT0g
MCAmJiBhcmVhLnkgPT0gMCAmJiBhcmVhLnogPT0gMCAmJgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhcmVhLndpZHRoID09IGRlc2Muc2l6ZS53aWR0aCAmJiBhcmVhLmhlaWdodCA9
PSBkZXNjLnNpemUuaGVpZ2h0ICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFy
ZWEuZGVwdGggPT0gZGVzYy5zaXplLmRlcHRoOwotICAgICAgICBpZiAoIWNvdmVyc1dob2xlSW1h
Z2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBvcHRpbWl6ZSB0aGlz
IHRvIG9ubHkgaW5pdGlhbGl6ZSB0aGUgcGFzc2VkIGFyZWEgb2YgdGhlIHRleHR1cmUsIG9yIHRo
ZQotICAgICAgICAgICAgLy8gaW5pdGlhbGl6YXRpb24gbG9naWMgaW4gY29weVN1YkltYWdlIHdp
bGwgYmUgaW5jb3JyZWN0LgotICAgICAgICAgICAgQU5HTEVfVFJZKGluaXRpYWxpemVDb250ZW50
cyhjb250ZXh0LCBpbWFnZUluZGV4KSk7Ci0gICAgICAgIH0KLSAgICAgICAgc2V0SW5pdFN0YXRl
KGltYWdlSW5kZXgsIEluaXRTdGF0ZTo6SW5pdGlhbGl6ZWQpOworICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCisgICAgQVNTRVJUKG1TdGF0ZS5tSW5pdFN0YXRlID09IEluaXRTdGF0ZTo6
TWF5TmVlZEluaXQpOworICAgIGJvb2wgY292ZXJzV2hvbGVJbWFnZSA9IGFyZWEueCA9PSAwICYm
IGFyZWEueSA9PSAwICYmIGFyZWEueiA9PSAwICYmCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXJlYS53aWR0aCA9PSBkZXNjLnNpemUud2lkdGggJiYgYXJlYS5oZWlnaHQgPT0gZGVzYy5z
aXplLmhlaWdodCAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZWEuZGVwdGggPT0g
ZGVzYy5zaXplLmRlcHRoOworICAgIHJldHVybiAhY292ZXJzV2hvbGVJbWFnZTsKK30KKworYW5n
bGU6OlJlc3VsdCBUZXh0dXJlOjplbnN1cmVTdWJJbWFnZUluaXRpYWxpemVkKGNvbnN0IENvbnRl
eHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW1hZ2VJbmRleCAmaW1hZ2VJbmRleCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCb3ggJmFyZWEpCit7CisgICAgaWYg
KGRvZXNTdWJJbWFnZU5lZWRJbml0KGNvbnRleHQsIGltYWdlSW5kZXgsIGFyZWEpKQorICAgIHsK
KyAgICAgICAgLy8gTk9URTogZG8gbm90IG9wdGltaXplIHRoaXMgdG8gb25seSBpbml0aWFsaXpl
IHRoZSBwYXNzZWQgYXJlYSBvZiB0aGUgdGV4dHVyZSwgb3IgdGhlCisgICAgICAgIC8vIGluaXRp
YWxpemF0aW9uIGxvZ2ljIGluIGNvcHlTdWJJbWFnZSB3aWxsIGJlIGluY29ycmVjdC4KKyAgICAg
ICAgQU5HTEVfVFJZKGluaXRpYWxpemVDb250ZW50cyhjb250ZXh0LCBpbWFnZUluZGV4KSk7Cisg
ICAgfQorICAgIHNldEluaXRTdGF0ZShpbWFnZUluZGV4LCBJbml0U3RhdGU6OkluaXRpYWxpemVk
KTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIGFuZ2xlOjpSZXN1
bHQgVGV4dHVyZTo6aGFuZGxlTWlwbWFwR2VuZXJhdGlvbkhpbnQoQ29udGV4dCAqY29udGV4dCwg
aW50IGxldmVsKQogewotCiAgICAgaWYgKGdldEdlbmVyYXRlTWlwbWFwSGludCgpID09IEdMX1RS
VUUgJiYgbGV2ZWwgPT0gMCkKICAgICB7CiAgICAgICAgIEFOR0xFX1RSWShnZW5lcmF0ZU1pcG1h
cChjb250ZXh0KSk7CkBAIC0xOTEwLDE5ICsxOTU4LDMwIEBAIHZvaWQgVGV4dHVyZTo6b25TdWJq
ZWN0U3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RJbmRleCBpbmRleCwgYW5nbGU6OlN1YmplY3RN
ZXNzCiAgICAgICAgICAgICAvLyBUZXh0dXJlIHdpbGwgc2lnbmFsIGRpcnR5IHN0b3JhZ2UgdG8g
aW52YWxpZGF0ZSBpdHMgb3duIGNhY2hlIGFuZCB0aGUKICAgICAgICAgICAgIC8vIGF0dGFjaGVk
IGZyYW1lYnVmZmVyJ3MgY2FjaGUuCiAgICAgICAgICAgICBzaWduYWxEaXJ0eVN0b3JhZ2UoSW5p
dFN0YXRlOjpJbml0aWFsaXplZCk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBhbmdsZTo6U3ViamVjdE1lc3NhZ2U6OkRpcnR5Qml0c0ZsYWdn
ZWQ6CisgICAgICAgICAgICBzaWduYWxEaXJ0eVN0YXRlKERJUlRZX0JJVF9JTVBMRU1FTlRBVElP
Tik7CisKKyAgICAgICAgICAgIC8vIE5vdGlmeSBzaWJsaW5ncyB0aGF0IHdlIGFyZSBkaXJ0eS4K
KyAgICAgICAgICAgIGlmIChpbmRleCA9PSByeDo6a1RleHR1cmVJbWFnZUltcGxPYnNlcnZlck1l
c3NhZ2VJbmRleCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBub3RpZnlTaWJsaW5n
cyhtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQ6Ci0gICAgICAgICAgICBt
RGlydHlCaXRzLnNldChESVJUWV9CSVRfSU1QTEVNRU5UQVRJT04pOworICAgICAgICAgICAgbVN0
YXRlLm1Jbml0U3RhdGUgPSBJbml0U3RhdGU6Ok1heU5lZWRJbml0OwogICAgICAgICAgICAgc2ln
bmFsRGlydHlTdGF0ZShESVJUWV9CSVRfSU1QTEVNRU5UQVRJT04pOworICAgICAgICAgICAgb25T
dGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6OkNvbnRlbnRzQ2hhbmdlZCk7CiAKICAg
ICAgICAgICAgIC8vIE5vdGlmeSBzaWJsaW5ncyB0aGF0IHdlIGFyZSBkaXJ0eS4KICAgICAgICAg
ICAgIGlmIChpbmRleCA9PSByeDo6a1RleHR1cmVJbWFnZUltcGxPYnNlcnZlck1lc3NhZ2VJbmRl
eCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBub3RpZnlTaWJsaW5ncyhtZXNzYWdl
KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgVU5S
RUFDSEFCTEUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIApAQCAtMTk0MywxOSAr
MjAwMiwyNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmU6OmdldFRleEltYWdlKGNvbnN0IENvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGxl
dmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcGl4ZWxzKSBjb25zdAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwaXhlbHMpCiB7CisgICAgaWYgKGhhc0Fu
eURpcnR5Qml0KCkpCisgICAgeworICAgICAgICBBTkdMRV9UUlkoc3luY1N0YXRlKGNvbnRleHQp
KTsKKyAgICB9CisKICAgICByZXR1cm4gbVRleHR1cmUtPmdldFRleEltYWdlKGNvbnRleHQsIHBh
Y2tTdGF0ZSwgcGFja0J1ZmZlciwgdGFyZ2V0LCBsZXZlbCwgZm9ybWF0LCB0eXBlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGl4ZWxzKTsKIH0KIAotdm9pZCBUZXh0dXJlOjpv
bkJpbmRBc0ltYWdlVGV4dHVyZSgpCit2b2lkIFRleHR1cmU6Om9uQmluZEFzSW1hZ2VUZXh0dXJl
KENvbnRleHRJRCBjb250ZXh0SUQpCiB7Ci0gICAgaWYgKCFtU3RhdGUuaXNCb3VuZEFzSW1hZ2VU
ZXh0dXJlKCkpCisgICAgQ29udGV4dEJpbmRpbmdDb3VudCAmYmluZGluZ0NvdW50ID0gbVN0YXRl
LmdldEJpbmRpbmdDb3VudChjb250ZXh0SUQpOworCisgICAgQVNTRVJUKGJpbmRpbmdDb3VudC5p
bWFnZUJpbmRpbmdDb3VudCA8IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSk7
CisgICAgbVN0YXRlLmdldEJpbmRpbmdDb3VudChjb250ZXh0SUQpLmltYWdlQmluZGluZ0NvdW50
Kys7CisgICAgaWYgKGJpbmRpbmdDb3VudC5pbWFnZUJpbmRpbmdDb3VudCA9PSAxKQogICAgIHsK
ICAgICAgICAgbURpcnR5Qml0cy5zZXQoRElSVFlfQklUX0JPVU5EX0FTX0lNQUdFKTsKICAgICB9
Ci0gICAgbVN0YXRlLm1JbWFnZUJpbmRpbmdDb3VudCsrOwogfQogCiB9ICAvLyBuYW1lc3BhY2Ug
Z2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9UZXh0
dXJlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvVGV4dHVyZS5oCmlu
ZGV4IGY1YWViZjE1Y2NiZWExNDQ3YzNkMDg1NmI3MzA5NDc3ZDBhZTNkYTkuLmUzM2RkZDEyYzQx
MjgxN2QwMjhiNDI0ZTI1ODhiNDkzNDBkZGNiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9UZXh0dXJlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL1RleHR1cmUuaApAQCAtOTIsNiArOTIsMTMgQEAgc3RydWN0IFN3
aXp6bGVTdGF0ZSBmaW5hbAogICAgIEdMZW51bSBzd2l6emxlQWxwaGE7CiB9OwogCitzdHJ1Y3Qg
Q29udGV4dEJpbmRpbmdDb3VudAoreworICAgIENvbnRleHRJRCBjb250ZXh0SUQ7CisgICAgdWlu
dDMyX3Qgc2FtcGxlckJpbmRpbmdDb3VudDsKKyAgICB1aW50MzJfdCBpbWFnZUJpbmRpbmdDb3Vu
dDsKK307CisKIC8vIFN0YXRlIGZyb20gVGFibGUgNi45IChzdGF0ZSBwZXIgdGV4dHVyZSBvYmpl
Y3QpIGluIHRoZSBPcGVuR0wgRVMgMy4wLjIgc3BlYy4KIGNsYXNzIFRleHR1cmVTdGF0ZSBmaW5h
bCA6IHByaXZhdGUgYW5nbGU6Ok5vbkNvcHlhYmxlCiB7CkBAIC0xMzUsMTUgKzE0MiwyMyBAQCBj
bGFzcyBUZXh0dXJlU3RhdGUgZmluYWwgOiBwcml2YXRlIGFuZ2xlOjpOb25Db3B5YWJsZQogICAg
IEdMZW51bSBnZXRVc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1Vc2FnZTsgfQogICAgIEdMZW51bSBn
ZXREZXB0aFN0ZW5jaWxUZXh0dXJlTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1EZXB0aFN0ZW5jaWxU
ZXh0dXJlTW9kZTsgfQogICAgIGJvb2wgaXNTdGVuY2lsTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1E
ZXB0aFN0ZW5jaWxUZXh0dXJlTW9kZSA9PSBHTF9TVEVOQ0lMX0lOREVYOyB9Ci0gICAgYm9vbCBp
c0JvdW5kQXNTYW1wbGVyVGV4dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1TYW1wbGVyQmluZGluZ0Nv
dW50ID4gMDsgfQotICAgIGJvb2wgaXNCb3VuZEFzSW1hZ2VUZXh0dXJlKCkgY29uc3QgeyByZXR1
cm4gbUltYWdlQmluZGluZ0NvdW50ID4gMDsgfQorICAgIGJvb2wgaXNCb3VuZEFzU2FtcGxlclRl
eHR1cmUoQ29udGV4dElEIGNvbnRleHRJRCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBn
ZXRCaW5kaW5nQ291bnQoY29udGV4dElEKS5zYW1wbGVyQmluZGluZ0NvdW50ID4gMDsKKyAgICB9
CisgICAgYm9vbCBpc0JvdW5kQXNJbWFnZVRleHR1cmUoQ29udGV4dElEIGNvbnRleHRJRCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBnZXRCaW5kaW5nQ291bnQoY29udGV4dElEKS5pbWFn
ZUJpbmRpbmdDb3VudCA+IDA7CisgICAgfQorCisgICAgZ2w6OlNyZ2JPdmVycmlkZSBnZXRTUkdC
T3ZlcnJpZGUoKSBjb25zdCB7IHJldHVybiBtU3JnYk92ZXJyaWRlOyB9CiAKICAgICAvLyBSZXR1
cm5zIHRoZSBkZXNjIG9mIHRoZSBiYXNlIGxldmVsLiBPbmx5IHZhbGlkIGZvciBjdWJlLWNvbXBs
ZXRlL21pcC1jb21wbGV0ZSB0ZXh0dXJlcy4KICAgICBjb25zdCBJbWFnZURlc2MgJmdldEJhc2VM
ZXZlbERlc2MoKSBjb25zdDsKIAogICAgIC8vIEdMRVMxIGVtdWxhdGlvbjogRm9yIEdMX09FU19k
cmF3X3RleHR1cmUKLSAgICB2b2lkIHNldENyb3AoY29uc3QgZ2w6OlJlY3RhbmdsZSAmcmVjdCk7
Ci0gICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmZ2V0Q3JvcCgpIGNvbnN0OworICAgIHZvaWQgc2V0
Q3JvcChjb25zdCBSZWN0YW5nbGUgJnJlY3QpOworICAgIGNvbnN0IFJlY3RhbmdsZSAmZ2V0Q3Jv
cCgpIGNvbnN0OwogCiAgICAgLy8gR0xFUzEgZW11bGF0aW9uOiBBdXRvLW1pcG1hcCBnZW5lcmF0
aW9uIGlzIGEgdGV4cGFyYW1ldGVyCiAgICAgdm9pZCBzZXRHZW5lcmF0ZU1pcG1hcEhpbnQoR0xl
bnVtIGhpbnQpOwpAQCAtMTgxLDE5ICsxOTYsMzcgQEAgY2xhc3MgVGV4dHVyZVN0YXRlIGZpbmFs
IDogcHJpdmF0ZSBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB2b2lkIGNsZWFySW1hZ2VEZXNjKFRl
eHR1cmVUYXJnZXQgdGFyZ2V0LCBzaXplX3QgbGV2ZWwpOwogICAgIHZvaWQgY2xlYXJJbWFnZURl
c2NzKCk7CiAKKyAgICBDb250ZXh0QmluZGluZ0NvdW50ICZnZXRCaW5kaW5nQ291bnQoQ29udGV4
dElEIGNvbnRleHRJRCkKKyAgICB7CisgICAgICAgIGZvciAoQ29udGV4dEJpbmRpbmdDb3VudCAm
YmluZGluZ0NvdW50IDogbUJpbmRpbmdDb3VudHMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
IChiaW5kaW5nQ291bnQuY29udGV4dElEID09IGNvbnRleHRJRCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gYmluZGluZ0NvdW50OworICAgICAgICB9CisgICAgICAgIG1CaW5kaW5nQ291bnRzLnB1
c2hfYmFjayh7Y29udGV4dElELCAwLCAwfSk7CisgICAgICAgIHJldHVybiBtQmluZGluZ0NvdW50
cy5iYWNrKCk7CisgICAgfQorCisgICAgY29uc3QgQ29udGV4dEJpbmRpbmdDb3VudCAmZ2V0Qmlu
ZGluZ0NvdW50KENvbnRleHRJRCBjb250ZXh0SUQpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gY29uc3RfY2FzdDxUZXh0dXJlU3RhdGUgKj4odGhpcyktPmdldEJpbmRpbmdDb3VudChjb250
ZXh0SUQpOworICAgIH0KKwogICAgIGNvbnN0IFRleHR1cmVUeXBlIG1UeXBlOwogCiAgICAgU3dp
enpsZVN0YXRlIG1Td2l6emxlU3RhdGU7CiAKICAgICBTYW1wbGVyU3RhdGUgbVNhbXBsZXJTdGF0
ZTsKIAorICAgIFNyZ2JPdmVycmlkZSBtU3JnYk92ZXJyaWRlOworCiAgICAgR0x1aW50IG1CYXNl
TGV2ZWw7CiAgICAgR0x1aW50IG1NYXhMZXZlbDsKIAogICAgIEdMZW51bSBtRGVwdGhTdGVuY2ls
VGV4dHVyZU1vZGU7CiAKLSAgICB1aW50MzJfdCBtU2FtcGxlckJpbmRpbmdDb3VudDsKLSAgICB1
aW50MzJfdCBtSW1hZ2VCaW5kaW5nQ291bnQ7CisgICAgc3RkOjp2ZWN0b3I8Q29udGV4dEJpbmRp
bmdDb3VudD4gbUJpbmRpbmdDb3VudHM7CisKICAgICBib29sIG1JbW11dGFibGVGb3JtYXQ7CiAg
ICAgR0x1aW50IG1JbW11dGFibGVMZXZlbHM7CiAKQEAgLTIwNCw3ICsyMzcsNyBAQCBjbGFzcyBU
ZXh0dXJlU3RhdGUgZmluYWwgOiBwcml2YXRlIGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgLy8g
R0xFUzEgZW11bGF0aW9uOiBUZXh0dXJlIGNyb3AgcmVjdGFuZ2xlCiAgICAgLy8gRm9yIEdMX09F
U19kcmF3X3RleHR1cmUKLSAgICBnbDo6UmVjdGFuZ2xlIG1Dcm9wUmVjdDsKKyAgICBSZWN0YW5n
bGUgbUNyb3BSZWN0OwogCiAgICAgLy8gR0xFUzEgZW11bGF0aW9uOiBHZW5lcmF0ZS1taXBtYXAg
aGludCBwZXIgdGV4dHVyZQogICAgIEdMZW51bSBtR2VuZXJhdGVNaXBtYXBIaW50OwpAQCAtMjc5
LDYgKzMxMiw5IEBAIGNsYXNzIFRleHR1cmUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3Q8
VGV4dHVyZUlEPiwKICAgICB2b2lkIHNldFNSR0JEZWNvZGUoY29uc3QgQ29udGV4dCAqY29udGV4
dCwgR0xlbnVtIHNSR0JEZWNvZGUpOwogICAgIEdMZW51bSBnZXRTUkdCRGVjb2RlKCkgY29uc3Q7
CiAKKyAgICB2b2lkIHNldFNSR0JPdmVycmlkZShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVu
dW0gc1JHQk92ZXJyaWRlKTsKKyAgICBHTGVudW0gZ2V0U1JHQk92ZXJyaWRlKCkgY29uc3Q7CisK
ICAgICBjb25zdCBTYW1wbGVyU3RhdGUgJmdldFNhbXBsZXJTdGF0ZSgpIGNvbnN0OwogCiAgICAg
YW5nbGU6OlJlc3VsdCBzZXRCYXNlTGV2ZWwoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0x1aW50
IGJhc2VMZXZlbCk7CkBAIC0zMDIsNyArMzM4LDcgQEAgY2xhc3MgVGV4dHVyZSBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudE9iamVjdDxUZXh0dXJlSUQ+LAogCiAgICAgY29uc3QgVGV4dHVyZVN0YXRl
ICZnZXRUZXh0dXJlU3RhdGUoKSBjb25zdDsKIAotICAgIGNvbnN0IGdsOjpFeHRlbnRzICZnZXRF
eHRlbnRzKFRleHR1cmVUYXJnZXQgdGFyZ2V0LCBzaXplX3QgbGV2ZWwpIGNvbnN0OworICAgIGNv
bnN0IEV4dGVudHMgJmdldEV4dGVudHMoVGV4dHVyZVRhcmdldCB0YXJnZXQsIHNpemVfdCBsZXZl
bCkgY29uc3Q7CiAgICAgc2l6ZV90IGdldFdpZHRoKFRleHR1cmVUYXJnZXQgdGFyZ2V0LCBzaXpl
X3QgbGV2ZWwpIGNvbnN0OwogICAgIHNpemVfdCBnZXRIZWlnaHQoVGV4dHVyZVRhcmdldCB0YXJn
ZXQsIHNpemVfdCBsZXZlbCkgY29uc3Q7CiAgICAgc2l6ZV90IGdldERlcHRoKFRleHR1cmVUYXJn
ZXQgdGFyZ2V0LCBzaXplX3QgbGV2ZWwpIGNvbnN0OwpAQCAtMzE3LDYgKzM1Myw3IEBAIGNsYXNz
IFRleHR1cmUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3Q8VGV4dHVyZUlEPiwKIAogICAg
IGFuZ2xlOjpSZXN1bHQgc2V0SW1hZ2UoQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFBpeGVsVW5wYWNrU3RhdGUgJnVucGFja1N0YXRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUZXh0dXJlVGFyZ2V0IHRhcmdldCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMaW50IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGlu
dGVybmFsRm9ybWF0LApAQCAtNDE4LDI5ICs0NTUsMzMgQEAgY2xhc3MgVGV4dHVyZSBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudE9iamVjdDxUZXh0dXJlSUQ+LAogCiAgICAgYW5nbGU6OlJlc3VsdCBn
ZW5lcmF0ZU1pcG1hcChDb250ZXh0ICpjb250ZXh0KTsKIAotICAgIHZvaWQgb25CaW5kQXNJbWFn
ZVRleHR1cmUoKTsKKyAgICB2b2lkIG9uQmluZEFzSW1hZ2VUZXh0dXJlKENvbnRleHRJRCBjb250
ZXh0SUQpOwogCi0gICAgQU5HTEVfSU5MSU5FIHZvaWQgb25VbmJpbmRBc0ltYWdlVGV4dHVyZSgp
CisgICAgQU5HTEVfSU5MSU5FIHZvaWQgb25VbmJpbmRBc0ltYWdlVGV4dHVyZShDb250ZXh0SUQg
Y29udGV4dElEKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1TdGF0ZS5pc0JvdW5kQXNJbWFnZVRl
eHR1cmUoKSk7Ci0gICAgICAgIG1TdGF0ZS5tSW1hZ2VCaW5kaW5nQ291bnQtLTsKKyAgICAgICAg
QVNTRVJUKG1TdGF0ZS5pc0JvdW5kQXNJbWFnZVRleHR1cmUoY29udGV4dElEKSk7CisgICAgICAg
IG1TdGF0ZS5nZXRCaW5kaW5nQ291bnQoY29udGV4dElEKS5pbWFnZUJpbmRpbmdDb3VudC0tOwog
ICAgIH0KIAotICAgIEFOR0xFX0lOTElORSB2b2lkIG9uQmluZEFzU2FtcGxlclRleHR1cmUoKQor
ICAgIEFOR0xFX0lOTElORSB2b2lkIG9uQmluZEFzU2FtcGxlclRleHR1cmUoQ29udGV4dElEIGNv
bnRleHRJRCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtU3RhdGUubVNhbXBsZXJCaW5kaW5nQ291
bnQgPCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpOwotICAgICAgICBtU3Rh
dGUubVNhbXBsZXJCaW5kaW5nQ291bnQrKzsKLSAgICAgICAgaWYgKG1TdGF0ZS5tU2FtcGxlckJp
bmRpbmdDb3VudCA9PSAxKQorICAgICAgICBDb250ZXh0QmluZGluZ0NvdW50ICZiaW5kaW5nQ291
bnQgPSBtU3RhdGUuZ2V0QmluZGluZ0NvdW50KGNvbnRleHRJRCk7CisKKyAgICAgICAgQVNTRVJU
KGJpbmRpbmdDb3VudC5zYW1wbGVyQmluZGluZ0NvdW50IDwgc3RkOjpudW1lcmljX2xpbWl0czx1
aW50MzJfdD46Om1heCgpKTsKKyAgICAgICAgYmluZGluZ0NvdW50LnNhbXBsZXJCaW5kaW5nQ291
bnQrKzsKKyAgICAgICAgaWYgKGJpbmRpbmdDb3VudC5zYW1wbGVyQmluZGluZ0NvdW50ID09IDEp
CiAgICAgICAgIHsKICAgICAgICAgICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RNZXNz
YWdlOjpCaW5kaW5nQ2hhbmdlZCk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBBTkdMRV9JTkxJ
TkUgdm9pZCBvblVuYmluZEFzU2FtcGxlclRleHR1cmUoKQorICAgIEFOR0xFX0lOTElORSB2b2lk
IG9uVW5iaW5kQXNTYW1wbGVyVGV4dHVyZShDb250ZXh0SUQgY29udGV4dElEKQogICAgIHsKLSAg
ICAgICAgQVNTRVJUKG1TdGF0ZS5pc0JvdW5kQXNTYW1wbGVyVGV4dHVyZSgpKTsKLSAgICAgICAg
bVN0YXRlLm1TYW1wbGVyQmluZGluZ0NvdW50LS07Ci0gICAgICAgIGlmIChtU3RhdGUubVNhbXBs
ZXJCaW5kaW5nQ291bnQgPT0gMCkKKyAgICAgICAgQ29udGV4dEJpbmRpbmdDb3VudCAmYmluZGlu
Z0NvdW50ID0gbVN0YXRlLmdldEJpbmRpbmdDb3VudChjb250ZXh0SUQpOworCisgICAgICAgIEFT
U0VSVChtU3RhdGUuaXNCb3VuZEFzU2FtcGxlclRleHR1cmUoY29udGV4dElEKSk7CisgICAgICAg
IGJpbmRpbmdDb3VudC5zYW1wbGVyQmluZGluZ0NvdW50LS07CisgICAgICAgIGlmIChiaW5kaW5n
Q291bnQuc2FtcGxlckJpbmRpbmdDb3VudCA9PSAwKQogICAgICAgICB7CiAgICAgICAgICAgICBv
blN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6QmluZGluZ0NoYW5nZWQpOwogICAg
ICAgICB9CkBAIC00NjcsNyArNTA4LDcgQEAgY2xhc3MgVGV4dHVyZSBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudE9iamVjdDxUZXh0dXJlSUQ+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xpbnQgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpwaXhlbHMpIGNvbnN0OworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdm9pZCAqcGl4ZWxzKTsKIAogICAgIHJ4OjpUZXh0dXJlSW1wbCAqZ2V0
SW1wbGVtZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBtVGV4dHVyZTsgfQogCkBAIC00ODIsOCAr
NTIzLDggQEAgY2xhc3MgVGV4dHVyZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudE9iamVjdDxUZXh0
dXJlSUQ+LAogICAgIGJvb2wgZ2V0QXR0YWNobWVudEZpeGVkU2FtcGxlTG9jYXRpb25zKGNvbnN0
IEltYWdlSW5kZXggJmltYWdlSW5kZXgpIGNvbnN0OwogCiAgICAgLy8gR0xFUzEgZW11bGF0aW9u
Ci0gICAgdm9pZCBzZXRDcm9wKGNvbnN0IGdsOjpSZWN0YW5nbGUgJnJlY3QpOwotICAgIGNvbnN0
IGdsOjpSZWN0YW5nbGUgJmdldENyb3AoKSBjb25zdDsKKyAgICB2b2lkIHNldENyb3AoY29uc3Qg
UmVjdGFuZ2xlICZyZWN0KTsKKyAgICBjb25zdCBSZWN0YW5nbGUgJmdldENyb3AoKSBjb25zdDsK
ICAgICB2b2lkIHNldEdlbmVyYXRlTWlwbWFwSGludChHTGVudW0gZ2VuZXJhdGUpOwogICAgIEdM
ZW51bSBnZXRHZW5lcmF0ZU1pcG1hcEhpbnQoKSBjb25zdDsKIApAQCAtNTE1LDYgKzU1Niw3IEBA
IGNsYXNzIFRleHR1cmUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3Q8VGV4dHVyZUlEPiwK
ICAgICAgICAgRElSVFlfQklUX0NPTVBBUkVfTU9ERSwKICAgICAgICAgRElSVFlfQklUX0NPTVBB
UkVfRlVOQywKICAgICAgICAgRElSVFlfQklUX1NSR0JfREVDT0RFLAorICAgICAgICBESVJUWV9C
SVRfU1JHQl9PVkVSUklERSwKICAgICAgICAgRElSVFlfQklUX0JPUkRFUl9DT0xPUiwKIAogICAg
ICAgICAvLyBUZXh0dXJlIHN0YXRlCkBAIC01NjMsMTAgKzYwNSwxMiBAQCBjbGFzcyBUZXh0dXJl
IGZpbmFsIDogcHVibGljIFJlZkNvdW50T2JqZWN0PFRleHR1cmVJRD4sCiAgICAgdm9pZCBpbnZh
bGlkYXRlQ29tcGxldGVuZXNzQ2FjaGUoKSBjb25zdDsKICAgICBhbmdsZTo6UmVzdWx0IHJlbGVh
c2VUZXhJbWFnZUludGVybmFsKENvbnRleHQgKmNvbnRleHQpOwogCisgICAgYm9vbCBkb2VzU3Vi
SW1hZ2VOZWVkSW5pdChjb25zdCBDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgSW1hZ2VJbmRleCAmaW1hZ2VJbmRleCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEJveCAmYXJlYSkgY29uc3Q7CiAgICAgYW5nbGU6OlJlc3Vs
dCBlbnN1cmVTdWJJbWFnZUluaXRpYWxpemVkKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHR1cmVUYXJnZXQgdGFy
Z2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg
bGV2ZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdsOjpCb3ggJmFyZWEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBJbWFnZUluZGV4ICZpbWFnZUluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCb3ggJmFyZWEpOwogCiAgICAgYW5nbGU6OlJl
c3VsdCBoYW5kbGVNaXBtYXBHZW5lcmF0aW9uSGludChDb250ZXh0ICpjb250ZXh0LCBpbnQgbGV2
ZWwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
VmFyeWluZ1BhY2tpbmcuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L1ZhcnlpbmdQYWNraW5nLmNwcAppbmRleCA0OWZlN2MyNWVlNDA1NTA5MDAyZjNjNTg4OGExMDM3
YmFhYjdmMWNiLi5kZjczZjUzZmRjMjBlNTBkY2Y1Zjg5NmE3NDFjMDIzNDg0MDBjY2Q1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvVmFyeWluZ1BhY2tp
bmcuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9WYXJ5aW5n
UGFja2luZy5jcHAKQEAgLTExOCw2ICsxMTgsMjMgQEAgVmFyeWluZ1BhY2tpbmc6OlZhcnlpbmdQ
YWNraW5nKEdMdWludCBtYXhWYXJ5aW5nVmVjdG9ycywgUGFja01vZGUgcGFja01vZGUpCiAKIFZh
cnlpbmdQYWNraW5nOjp+VmFyeWluZ1BhY2tpbmcoKSA9IGRlZmF1bHQ7CiAKK3ZvaWQgVmFyeWlu
Z1BhY2tpbmc6OnJlc2V0KCkKK3sKKyAgICBjbGVhclJlZ2lzdGVyTWFwKCk7CisgICAgbVJlZ2lz
dGVyTGlzdC5jbGVhcigpOworICAgIG1QYWNrZWRWYXJ5aW5ncy5jbGVhcigpOworCisgICAgZm9y
IChzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gaW5hY3RpdmVWYXJ5aW5nTWFwcGVkTmFtZXMgOiBt
SW5hY3RpdmVWYXJ5aW5nTWFwcGVkTmFtZXMpCisgICAgeworICAgICAgICBpbmFjdGl2ZVZhcnlp
bmdNYXBwZWROYW1lcy5jbGVhcigpOworICAgIH0KK30KKwordm9pZCBWYXJ5aW5nUGFja2luZzo6
Y2xlYXJSZWdpc3Rlck1hcCgpCit7CisgICAgc3RkOjpmaWxsKG1SZWdpc3Rlck1hcC5iZWdpbigp
LCBtUmVnaXN0ZXJNYXAuZW5kKCksIFJlZ2lzdGVyKCkpOworfQorCiAvLyBQYWNrcyB2YXJ5aW5n
cyBpbnRvIGdlbmVyaWMgdmFyeWluZyByZWdpc3RlcnMsIHVzaW5nIHRoZSBhbGdvcml0aG0gZnJv
bQogLy8gU2VlIFtPcGVuR0wgRVMgU2hhZGluZyBMYW5ndWFnZSAxLjAwIHJldi4gMTddIGFwcGVu
ZGl4IEEgc2VjdGlvbiA3IHBhZ2UgMTExCiAvLyBBbHNvIFtPcGVuR0wgRVMgU2hhZGluZyBMYW5n
dWFnZSAzLjAwIHJldi4gNF0gU2VjdGlvbiAxMSBwYWdlIDExOQpAQCAtNDM4LDYgKzQ1NSw3IEBA
IGJvb2wgVmFyeWluZ1BhY2tpbmc6OmNvbGxlY3RBbmRQYWNrVXNlclZhcnlpbmdzKGdsOjpJbmZv
TG9nICZpbmZvTG9nLAogewogICAgIFZhcnlpbmdVbmlxdWVGdWxsTmFtZXMgdW5pcXVlRnVsbE5h
bWVzOwogICAgIG1QYWNrZWRWYXJ5aW5ncy5jbGVhcigpOworICAgIGNsZWFyUmVnaXN0ZXJNYXAo
KTsKIAogICAgIGZvciAoY29uc3QgUHJvZ3JhbVZhcnlpbmdSZWYgJnJlZiA6IG1lcmdlZFZhcnlp
bmdzKQogICAgIHsKQEAgLTQ4Niw3ICs1MDQsOCBAQCBib29sIFZhcnlpbmdQYWNraW5nOjpjb2xs
ZWN0QW5kUGFja1VzZXJWYXJ5aW5ncyhnbDo6SW5mb0xvZyAmaW5mb0xvZywKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCi0gICAgICAgIC8vIElmIHRoZSB2YXJ5aW5nIGlzIG5vdCB1c2VkIGlu
IHRoZSBpbnB1dCwgd2Uga25vdyBpdCBpcyBpbmFjdGl2ZS4KKyAgICAgICAgLy8gSWYgdGhlIHZh
cnlpbmcgaXMgbm90IHVzZWQgaW4gdGhlIGlucHV0LCB3ZSBrbm93IGl0IGlzIGluYWN0aXZlLCB1
bmxlc3MgaXQncyBhIHNlcGFyYWJsZQorICAgICAgICAvLyBwcm9ncmFtLCBpbiB3aGljaCBjYXNl
IHRoZSBpbnB1dCBzaGFkZXIgbWF5IG5vdCBleGlzdCBpbiB0aGlzIHByb2dyYW0uCiAgICAgICAg
IGlmICghaW5wdXQgJiYgIWlzU2VwYXJhYmxlUHJvZ3JhbSkKICAgICAgICAgewogICAgICAgICAg
ICAgbUluYWN0aXZlVmFyeWluZ01hcHBlZE5hbWVzW3JlZi5iYWNrU2hhZGVyU3RhZ2VdLnB1c2hf
YmFjayhvdXRwdXQtPm1hcHBlZE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL1ZhcnlpbmdQYWNraW5nLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvVmFyeWluZ1BhY2tpbmcuaAppbmRleCBjNDg3NGQ5YjVkOTQ2MmQx
NDI4MmRlZTkyMmU5ZmM5NDFlNWE1NjhkLi4yNTExOTFkNTBkMTc2ODk1YjA1ZTNjMmQ5MzBiZTBj
MGI3OTZjYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvVmFyeWluZ1BhY2tpbmcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvVmFyeWluZ1BhY2tpbmcuaApAQCAtMjIxLDYgKzIyMSw4IEBAIGNsYXNzIFZhcnlpbmdQ
YWNraW5nIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIHJldHVybiBtSW5hY3Rp
dmVWYXJ5aW5nTWFwcGVkTmFtZXM7CiAgICAgfQogCisgICAgdm9pZCByZXNldCgpOworCiAgIHBy
aXZhdGU6CiAgICAgYm9vbCBwYWNrVmFyeWluZyhjb25zdCBQYWNrZWRWYXJ5aW5nICZwYWNrZWRW
YXJ5aW5nKTsKICAgICBib29sIGlzRnJlZSh1bnNpZ25lZCBpbnQgcmVnaXN0ZXJSb3csCkBAIC0y
NDEsNiArMjQzLDggQEAgY2xhc3MgVmFyeWluZ1BhY2tpbmcgZmluYWwgOiBhbmdsZTo6Tm9uQ29w
eWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2g6OlNoYWRlclZh
cmlhYmxlICZmaWVsZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IGZp
ZWxkSW5kZXgpOwogCisgICAgdm9pZCBjbGVhclJlZ2lzdGVyTWFwKCk7CisKICAgICBzdGQ6OnZl
Y3RvcjxSZWdpc3Rlcj4gbVJlZ2lzdGVyTWFwOwogICAgIHN0ZDo6dmVjdG9yPFBhY2tlZFZhcnlp
bmdSZWdpc3Rlcj4gbVJlZ2lzdGVyTGlzdDsKICAgICBzdGQ6OnZlY3RvcjxQYWNrZWRWYXJ5aW5n
PiBtUGFja2VkVmFyeWluZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvYW5nbGV0eXBlcy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvYW5nbGV0eXBlcy5jcHAKaW5kZXggNjU0YzlmMWQyM2Y0MWZhMzk3OTY1NGQzZTFi
ODhlMjNlZmU2YmI5ZC4uNzc5YzliMmFkMGM1ZDRjYWU1YmUzYzIwMjJiMDQ0M2JhZDc4OWIzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2FuZ2xldHlw
ZXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9hbmdsZXR5
cGVzLmNwcApAQCAtMjMwLDYgKzIzMCwyODAgQEAgSW1hZ2VVbml0OjpJbWFnZVVuaXQoY29uc3Qg
SW1hZ2VVbml0ICZvdGhlcikgPSBkZWZhdWx0OwogCiBJbWFnZVVuaXQ6On5JbWFnZVVuaXQoKSA9
IGRlZmF1bHQ7CiAKK0JsZW5kU3RhdGVFeHQ6OkJsZW5kU3RhdGVFeHQoY29uc3Qgc2l6ZV90IGRy
YXdCdWZmZXJzKQorICAgIDogbU1heEZhY3Rvck1hc2soRmFjdG9yU3RvcmFnZTo6R2V0TWFzayhk
cmF3QnVmZmVycykpLAorICAgICAgbVNyY0NvbG9yKEZhY3RvclN0b3JhZ2U6OkdldFJlcGxpY2F0
ZWRWYWx1ZShCbGVuZEZhY3RvclR5cGU6Ok9uZSwgbU1heEZhY3Rvck1hc2spKSwKKyAgICAgIG1E
c3RDb2xvcihGYWN0b3JTdG9yYWdlOjpHZXRSZXBsaWNhdGVkVmFsdWUoQmxlbmRGYWN0b3JUeXBl
OjpaZXJvLCBtTWF4RmFjdG9yTWFzaykpLAorICAgICAgbVNyY0FscGhhKEZhY3RvclN0b3JhZ2U6
OkdldFJlcGxpY2F0ZWRWYWx1ZShCbGVuZEZhY3RvclR5cGU6Ok9uZSwgbU1heEZhY3Rvck1hc2sp
KSwKKyAgICAgIG1Ec3RBbHBoYShGYWN0b3JTdG9yYWdlOjpHZXRSZXBsaWNhdGVkVmFsdWUoQmxl
bmRGYWN0b3JUeXBlOjpaZXJvLCBtTWF4RmFjdG9yTWFzaykpLAorICAgICAgbU1heEVxdWF0aW9u
TWFzayhFcXVhdGlvblN0b3JhZ2U6OkdldE1hc2soZHJhd0J1ZmZlcnMpKSwKKyAgICAgIG1FcXVh
dGlvbkNvbG9yKEVxdWF0aW9uU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEJsZW5kRXF1YXRp
b25UeXBlOjpBZGQsIG1NYXhFcXVhdGlvbk1hc2spKSwKKyAgICAgIG1FcXVhdGlvbkFscGhhKEVx
dWF0aW9uU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEJsZW5kRXF1YXRpb25UeXBlOjpBZGQs
IG1NYXhFcXVhdGlvbk1hc2spKSwKKyAgICAgIG1NYXhDb2xvck1hc2soQ29sb3JNYXNrU3RvcmFn
ZTo6R2V0TWFzayhkcmF3QnVmZmVycykpLAorICAgICAgbUNvbG9yTWFzayhDb2xvck1hc2tTdG9y
YWdlOjpHZXRSZXBsaWNhdGVkVmFsdWUoUGFja0NvbG9yTWFzayh0cnVlLCB0cnVlLCB0cnVlLCB0
cnVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1NYXhDb2xvck1hc2spKSwKKyAgICAgIG1NYXhFbmFibGVkTWFzaygweEZGID4+ICg4IC0g
ZHJhd0J1ZmZlcnMpKSwKKyAgICAgIG1FbmFibGVkTWFzaygpLAorICAgICAgbU1heERyYXdCdWZm
ZXJzKGRyYXdCdWZmZXJzKQore30KKworQmxlbmRTdGF0ZUV4dCAmQmxlbmRTdGF0ZUV4dDo6b3Bl
cmF0b3I9KGNvbnN0IEJsZW5kU3RhdGVFeHQgJm90aGVyKQoreworICAgIG1lbWNweSh0aGlzLCAm
b3RoZXIsIHNpemVvZihCbGVuZFN0YXRlRXh0KSk7CisgICAgcmV0dXJuICp0aGlzOworfQorCit2
b2lkIEJsZW5kU3RhdGVFeHQ6OnNldEVuYWJsZWQoY29uc3QgYm9vbCBlbmFibGVkKQoreworICAg
IG1FbmFibGVkTWFzayA9IGVuYWJsZWQgPyBtTWF4RW5hYmxlZE1hc2sgOiBEcmF3QnVmZmVyTWFz
azo6WmVybygpOworfQorCit2b2lkIEJsZW5kU3RhdGVFeHQ6OnNldEVuYWJsZWRJbmRleGVkKGNv
bnN0IHNpemVfdCBpbmRleCwgY29uc3QgYm9vbCBlbmFibGVkKQoreworICAgIEFTU0VSVChpbmRl
eCA8IG1NYXhEcmF3QnVmZmVycyk7CisgICAgbUVuYWJsZWRNYXNrLnNldChpbmRleCwgZW5hYmxl
ZCk7Cit9CisKK0JsZW5kU3RhdGVFeHQ6OkNvbG9yTWFza1N0b3JhZ2U6OlR5cGUgQmxlbmRTdGF0
ZUV4dDo6ZXhwYW5kQ29sb3JNYXNrVmFsdWUoY29uc3QgYm9vbCByZWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGJvb2wgZ3JlZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgYmx1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCBhbHBoYSkgY29uc3QKK3sKKyAgICByZXR1cm4g
QmxlbmRTdGF0ZUV4dDo6Q29sb3JNYXNrU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKAorICAg
ICAgICBQYWNrQ29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKSwgbU1heENvbG9yTWFz
ayk7Cit9CisKK0JsZW5kU3RhdGVFeHQ6OkNvbG9yTWFza1N0b3JhZ2U6OlR5cGUgQmxlbmRTdGF0
ZUV4dDo6ZXhwYW5kQ29sb3JNYXNrSW5kZXhlZCgKKyAgICBjb25zdCBzaXplX3QgaW5kZXgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIENvbG9yTWFza1N0b3JhZ2U6OkdldFJlcGxpY2F0ZWRWYWx1ZSgK
KyAgICAgICAgQ29sb3JNYXNrU3RvcmFnZTo6R2V0VmFsdWVJbmRleGVkKGluZGV4LCBtQ29sb3JN
YXNrKSwgbU1heENvbG9yTWFzayk7Cit9CisKK3ZvaWQgQmxlbmRTdGF0ZUV4dDo6c2V0Q29sb3JN
YXNrKGNvbnN0IGJvb2wgcmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgYm9vbCBncmVlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJv
b2wgYmx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgYWxw
aGEpCit7CisgICAgbUNvbG9yTWFzayA9IGV4cGFuZENvbG9yTWFza1ZhbHVlKHJlZCwgZ3JlZW4s
IGJsdWUsIGFscGhhKTsKK30KKwordm9pZCBCbGVuZFN0YXRlRXh0OjpzZXRDb2xvck1hc2tJbmRl
eGVkKGNvbnN0IHNpemVfdCBpbmRleCwgY29uc3QgdWludDhfdCB2YWx1ZSkKK3sKKyAgICBBU1NF
UlQoaW5kZXggPCBtTWF4RHJhd0J1ZmZlcnMpOworICAgIEFTU0VSVCh2YWx1ZSA8PSAweEYpOwor
ICAgIENvbG9yTWFza1N0b3JhZ2U6OlNldFZhbHVlSW5kZXhlZChpbmRleCwgdmFsdWUsICZtQ29s
b3JNYXNrKTsKK30KKwordm9pZCBCbGVuZFN0YXRlRXh0OjpzZXRDb2xvck1hc2tJbmRleGVkKGNv
bnN0IHNpemVfdCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBib29sIHJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBib29sIGdyZWVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGJvb2wgYmx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBib29sIGFscGhhKQoreworICAgIEFTU0VSVChpbmRleCA8IG1NYXhEcmF3QnVm
ZmVycyk7CisgICAgQ29sb3JNYXNrU3RvcmFnZTo6U2V0VmFsdWVJbmRleGVkKGluZGV4LCBQYWNr
Q29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKSwgJm1Db2xvck1hc2spOworfQorCit1
aW50OF90IEJsZW5kU3RhdGVFeHQ6OmdldENvbG9yTWFza0luZGV4ZWQoY29uc3Qgc2l6ZV90IGlu
ZGV4KSBjb25zdAoreworICAgIEFTU0VSVChpbmRleCA8IG1NYXhEcmF3QnVmZmVycyk7CisgICAg
cmV0dXJuIENvbG9yTWFza1N0b3JhZ2U6OkdldFZhbHVlSW5kZXhlZChpbmRleCwgbUNvbG9yTWFz
ayk7Cit9CisKK3ZvaWQgQmxlbmRTdGF0ZUV4dDo6Z2V0Q29sb3JNYXNrSW5kZXhlZChjb25zdCBz
aXplX3QgaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCAqcmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmdy
ZWVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmJsdWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqYWxwaGEpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZmZXJzKTsKKyAgICBVbnBhY2tD
b2xvck1hc2soQ29sb3JNYXNrU3RvcmFnZTo6R2V0VmFsdWVJbmRleGVkKGluZGV4LCBtQ29sb3JN
YXNrKSwgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOworfQorCitEcmF3QnVmZmVyTWFzayBCbGVu
ZFN0YXRlRXh0Ojpjb21wYXJlQ29sb3JNYXNrKENvbG9yTWFza1N0b3JhZ2U6OlR5cGUgb3RoZXIp
IGNvbnN0Cit7CisgICAgcmV0dXJuIENvbG9yTWFza1N0b3JhZ2U6OkdldERpZmZNYXNrKG1Db2xv
ck1hc2ssIG90aGVyKTsKK30KKworQmxlbmRTdGF0ZUV4dDo6RXF1YXRpb25TdG9yYWdlOjpUeXBl
IEJsZW5kU3RhdGVFeHQ6OmV4cGFuZEVxdWF0aW9uVmFsdWUoY29uc3QgR0xlbnVtIG1vZGUpIGNv
bnN0Cit7CisgICAgcmV0dXJuIEVxdWF0aW9uU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEZy
b21HTGVudW08QmxlbmRFcXVhdGlvblR5cGU+KG1vZGUpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtTWF4RXF1YXRpb25NYXNrKTsKK30KKworQmxlbmRT
dGF0ZUV4dDo6RXF1YXRpb25TdG9yYWdlOjpUeXBlIEJsZW5kU3RhdGVFeHQ6OmV4cGFuZEVxdWF0
aW9uQ29sb3JJbmRleGVkKAorICAgIGNvbnN0IHNpemVfdCBpbmRleCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gRXF1YXRpb25TdG9yYWdlOjpHZXRSZXBsaWNhdGVkVmFsdWUoCisgICAgICAgIEVxdWF0
aW9uU3RvcmFnZTo6R2V0VmFsdWVJbmRleGVkKGluZGV4LCBtRXF1YXRpb25Db2xvciksIG1NYXhF
cXVhdGlvbk1hc2spOworfQorCitCbGVuZFN0YXRlRXh0OjpFcXVhdGlvblN0b3JhZ2U6OlR5cGUg
QmxlbmRTdGF0ZUV4dDo6ZXhwYW5kRXF1YXRpb25BbHBoYUluZGV4ZWQoCisgICAgY29uc3Qgc2l6
ZV90IGluZGV4KSBjb25zdAoreworICAgIHJldHVybiBFcXVhdGlvblN0b3JhZ2U6OkdldFJlcGxp
Y2F0ZWRWYWx1ZSgKKyAgICAgICAgRXF1YXRpb25TdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoaW5k
ZXgsIG1FcXVhdGlvbkFscGhhKSwgbU1heEVxdWF0aW9uTWFzayk7Cit9CisKK3ZvaWQgQmxlbmRT
dGF0ZUV4dDo6c2V0RXF1YXRpb25zKGNvbnN0IEdMZW51bSBtb2RlQ29sb3IsIGNvbnN0IEdMZW51
bSBtb2RlQWxwaGEpCit7CisgICAgbUVxdWF0aW9uQ29sb3IgPSBleHBhbmRFcXVhdGlvblZhbHVl
KG1vZGVDb2xvcik7CisgICAgbUVxdWF0aW9uQWxwaGEgPSBleHBhbmRFcXVhdGlvblZhbHVlKG1v
ZGVBbHBoYSk7Cit9CisKK3ZvaWQgQmxlbmRTdGF0ZUV4dDo6c2V0RXF1YXRpb25zSW5kZXhlZChj
b25zdCBzaXplX3QgaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgR0xlbnVtIG1vZGVDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBHTGVudW0gbW9kZUFscGhhKQoreworICAgIEFTU0VSVChpbmRleCA8
IG1NYXhEcmF3QnVmZmVycyk7CisgICAgRXF1YXRpb25TdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQo
aW5kZXgsIEZyb21HTGVudW08QmxlbmRFcXVhdGlvblR5cGU+KG1vZGVDb2xvciksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1FcXVhdGlvbkNvbG9yKTsKKyAgICBFcXVh
dGlvblN0b3JhZ2U6OlNldFZhbHVlSW5kZXhlZChpbmRleCwgRnJvbUdMZW51bTxCbGVuZEVxdWF0
aW9uVHlwZT4obW9kZUFscGhhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmbUVxdWF0aW9uQWxwaGEpOworfQorCit2b2lkIEJsZW5kU3RhdGVFeHQ6OnNldEVxdWF0aW9u
c0luZGV4ZWQoY29uc3Qgc2l6ZV90IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBzb3VyY2VJbmRleCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCbGVuZFN0YXRlRXh0ICZzb3VyY2UpCit7Cisg
ICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZmZXJzKTsKKyAgICBBU1NFUlQoc291cmNlSW5k
ZXggPCBzb3VyY2UubU1heERyYXdCdWZmZXJzKTsKKyAgICBFcXVhdGlvblN0b3JhZ2U6OlNldFZh
bHVlSW5kZXhlZCgKKyAgICAgICAgaW5kZXgsIEVxdWF0aW9uU3RvcmFnZTo6R2V0VmFsdWVJbmRl
eGVkKHNvdXJjZUluZGV4LCBzb3VyY2UubUVxdWF0aW9uQ29sb3IpLAorICAgICAgICAmbUVxdWF0
aW9uQ29sb3IpOworICAgIEVxdWF0aW9uU3RvcmFnZTo6U2V0VmFsdWVJbmRleGVkKAorICAgICAg
ICBpbmRleCwgRXF1YXRpb25TdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoc291cmNlSW5kZXgsIHNv
dXJjZS5tRXF1YXRpb25BbHBoYSksCisgICAgICAgICZtRXF1YXRpb25BbHBoYSk7Cit9CisKK0dM
ZW51bSBCbGVuZFN0YXRlRXh0OjpnZXRFcXVhdGlvbkNvbG9ySW5kZXhlZChzaXplX3QgaW5kZXgp
IGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZmZXJzKTsKKyAgICByZXR1
cm4gVG9HTGVudW0oRXF1YXRpb25TdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoaW5kZXgsIG1FcXVh
dGlvbkNvbG9yKSk7Cit9CisKK0dMZW51bSBCbGVuZFN0YXRlRXh0OjpnZXRFcXVhdGlvbkFscGhh
SW5kZXhlZChzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERy
YXdCdWZmZXJzKTsKKyAgICByZXR1cm4gVG9HTGVudW0oRXF1YXRpb25TdG9yYWdlOjpHZXRWYWx1
ZUluZGV4ZWQoaW5kZXgsIG1FcXVhdGlvbkFscGhhKSk7Cit9CisKK0RyYXdCdWZmZXJNYXNrIEJs
ZW5kU3RhdGVFeHQ6OmNvbXBhcmVFcXVhdGlvbnMoY29uc3QgRXF1YXRpb25TdG9yYWdlOjpUeXBl
IGNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBFcXVhdGlvblN0b3JhZ2U6OlR5cGUgYWxwaGEpIGNvbnN0Cit7CisgICAgcmV0dXJuIEVx
dWF0aW9uU3RvcmFnZTo6R2V0RGlmZk1hc2sobUVxdWF0aW9uQ29sb3IsIGNvbG9yKSB8CisgICAg
ICAgICAgIEVxdWF0aW9uU3RvcmFnZTo6R2V0RGlmZk1hc2sobUVxdWF0aW9uQWxwaGEsIGFscGhh
KTsKK30KKworQmxlbmRTdGF0ZUV4dDo6RmFjdG9yU3RvcmFnZTo6VHlwZSBCbGVuZFN0YXRlRXh0
OjpleHBhbmRGYWN0b3JWYWx1ZShjb25zdCBHTGVudW0gZnVuYykgY29uc3QKK3sKKyAgICByZXR1
cm4gRmFjdG9yU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEZyb21HTGVudW08QmxlbmRGYWN0
b3JUeXBlPihmdW5jKSwgbU1heEZhY3Rvck1hc2spOworfQorCitCbGVuZFN0YXRlRXh0OjpGYWN0
b3JTdG9yYWdlOjpUeXBlIEJsZW5kU3RhdGVFeHQ6OmV4cGFuZFNyY0NvbG9ySW5kZXhlZChjb25z
dCBzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZm
ZXJzKTsKKyAgICByZXR1cm4gRmFjdG9yU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEZhY3Rv
clN0b3JhZ2U6OkdldFZhbHVlSW5kZXhlZChpbmRleCwgbVNyY0NvbG9yKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1NYXhGYWN0b3JNYXNrKTsKK30KKwor
QmxlbmRTdGF0ZUV4dDo6RmFjdG9yU3RvcmFnZTo6VHlwZSBCbGVuZFN0YXRlRXh0OjpleHBhbmRE
c3RDb2xvckluZGV4ZWQoY29uc3Qgc2l6ZV90IGluZGV4KSBjb25zdAoreworICAgIEFTU0VSVChp
bmRleCA8IG1NYXhEcmF3QnVmZmVycyk7CisgICAgcmV0dXJuIEZhY3RvclN0b3JhZ2U6OkdldFJl
cGxpY2F0ZWRWYWx1ZShGYWN0b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoaW5kZXgsIG1Ec3RD
b2xvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtTWF4
RmFjdG9yTWFzayk7Cit9CisKK0JsZW5kU3RhdGVFeHQ6OkZhY3RvclN0b3JhZ2U6OlR5cGUgQmxl
bmRTdGF0ZUV4dDo6ZXhwYW5kU3JjQWxwaGFJbmRleGVkKGNvbnN0IHNpemVfdCBpbmRleCkgY29u
c3QKK3sKKyAgICBBU1NFUlQoaW5kZXggPCBtTWF4RHJhd0J1ZmZlcnMpOworICAgIHJldHVybiBG
YWN0b3JTdG9yYWdlOjpHZXRSZXBsaWNhdGVkVmFsdWUoRmFjdG9yU3RvcmFnZTo6R2V0VmFsdWVJ
bmRleGVkKGluZGV4LCBtU3JjQWxwaGEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbU1heEZhY3Rvck1hc2spOworfQorCitCbGVuZFN0YXRlRXh0OjpGYWN0
b3JTdG9yYWdlOjpUeXBlIEJsZW5kU3RhdGVFeHQ6OmV4cGFuZERzdEFscGhhSW5kZXhlZChjb25z
dCBzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZm
ZXJzKTsKKyAgICByZXR1cm4gRmFjdG9yU3RvcmFnZTo6R2V0UmVwbGljYXRlZFZhbHVlKEZhY3Rv
clN0b3JhZ2U6OkdldFZhbHVlSW5kZXhlZChpbmRleCwgbURzdEFscGhhKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1NYXhGYWN0b3JNYXNrKTsKK30KKwor
dm9pZCBCbGVuZFN0YXRlRXh0OjpzZXRGYWN0b3JzKGNvbnN0IEdMZW51bSBzcmNDb2xvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGVudW0gZHN0Q29sb3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xlbnVtIHNyY0FscGhhLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZW51bSBkc3RBbHBoYSkKK3sKKyAgICBt
U3JjQ29sb3IgPSBleHBhbmRGYWN0b3JWYWx1ZShzcmNDb2xvcik7CisgICAgbURzdENvbG9yID0g
ZXhwYW5kRmFjdG9yVmFsdWUoZHN0Q29sb3IpOworICAgIG1TcmNBbHBoYSA9IGV4cGFuZEZhY3Rv
clZhbHVlKHNyY0FscGhhKTsKKyAgICBtRHN0QWxwaGEgPSBleHBhbmRGYWN0b3JWYWx1ZShkc3RB
bHBoYSk7Cit9CisKK3ZvaWQgQmxlbmRTdGF0ZUV4dDo6c2V0RmFjdG9yc0luZGV4ZWQoY29uc3Qg
c2l6ZV90IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBHTGVudW0gc3JjQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEdMZW51bSBkc3RDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgR0xlbnVtIHNyY0FscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBHTGVudW0gZHN0QWxwaGEpCit7CisgICAgQVNTRVJUKGluZGV4IDwg
bU1heERyYXdCdWZmZXJzKTsKKyAgICBGYWN0b3JTdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQoaW5k
ZXgsIEZyb21HTGVudW08QmxlbmRGYWN0b3JUeXBlPihzcmNDb2xvciksICZtU3JjQ29sb3IpOwor
ICAgIEZhY3RvclN0b3JhZ2U6OlNldFZhbHVlSW5kZXhlZChpbmRleCwgRnJvbUdMZW51bTxCbGVu
ZEZhY3RvclR5cGU+KGRzdENvbG9yKSwgJm1Ec3RDb2xvcik7CisgICAgRmFjdG9yU3RvcmFnZTo6
U2V0VmFsdWVJbmRleGVkKGluZGV4LCBGcm9tR0xlbnVtPEJsZW5kRmFjdG9yVHlwZT4oc3JjQWxw
aGEpLCAmbVNyY0FscGhhKTsKKyAgICBGYWN0b3JTdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQoaW5k
ZXgsIEZyb21HTGVudW08QmxlbmRGYWN0b3JUeXBlPihkc3RBbHBoYSksICZtRHN0QWxwaGEpOwor
fQorCit2b2lkIEJsZW5kU3RhdGVFeHQ6OnNldEZhY3RvcnNJbmRleGVkKGNvbnN0IHNpemVfdCBp
bmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90
IHNvdXJjZUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBCbGVuZFN0YXRlRXh0ICZzb3VyY2UpCit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdC
dWZmZXJzKTsKKyAgICBBU1NFUlQoc291cmNlSW5kZXggPCBzb3VyY2UubU1heERyYXdCdWZmZXJz
KTsKKyAgICBGYWN0b3JTdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQoCisgICAgICAgIGluZGV4LCBG
YWN0b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoc291cmNlSW5kZXgsIHNvdXJjZS5tU3JjQ29s
b3IpLCAmbVNyY0NvbG9yKTsKKyAgICBGYWN0b3JTdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQoCisg
ICAgICAgIGluZGV4LCBGYWN0b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoc291cmNlSW5kZXgs
IHNvdXJjZS5tRHN0Q29sb3IpLCAmbURzdENvbG9yKTsKKyAgICBGYWN0b3JTdG9yYWdlOjpTZXRW
YWx1ZUluZGV4ZWQoCisgICAgICAgIGluZGV4LCBGYWN0b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4
ZWQoc291cmNlSW5kZXgsIHNvdXJjZS5tU3JjQWxwaGEpLCAmbVNyY0FscGhhKTsKKyAgICBGYWN0
b3JTdG9yYWdlOjpTZXRWYWx1ZUluZGV4ZWQoCisgICAgICAgIGluZGV4LCBGYWN0b3JTdG9yYWdl
OjpHZXRWYWx1ZUluZGV4ZWQoc291cmNlSW5kZXgsIHNvdXJjZS5tRHN0QWxwaGEpLCAmbURzdEFs
cGhhKTsKK30KKworR0xlbnVtIEJsZW5kU3RhdGVFeHQ6OmdldFNyY0NvbG9ySW5kZXhlZChzaXpl
X3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdCdWZmZXJzKTsK
KyAgICByZXR1cm4gVG9HTGVudW0oRmFjdG9yU3RvcmFnZTo6R2V0VmFsdWVJbmRleGVkKGluZGV4
LCBtU3JjQ29sb3IpKTsKK30KKworR0xlbnVtIEJsZW5kU3RhdGVFeHQ6OmdldERzdENvbG9ySW5k
ZXhlZChzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwgbU1heERyYXdC
dWZmZXJzKTsKKyAgICByZXR1cm4gVG9HTGVudW0oRmFjdG9yU3RvcmFnZTo6R2V0VmFsdWVJbmRl
eGVkKGluZGV4LCBtRHN0Q29sb3IpKTsKK30KKworR0xlbnVtIEJsZW5kU3RhdGVFeHQ6OmdldFNy
Y0FscGhhSW5kZXhlZChzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4IDwg
bU1heERyYXdCdWZmZXJzKTsKKyAgICByZXR1cm4gVG9HTGVudW0oRmFjdG9yU3RvcmFnZTo6R2V0
VmFsdWVJbmRleGVkKGluZGV4LCBtU3JjQWxwaGEpKTsKK30KKworR0xlbnVtIEJsZW5kU3RhdGVF
eHQ6OmdldERzdEFscGhhSW5kZXhlZChzaXplX3QgaW5kZXgpIGNvbnN0Cit7CisgICAgQVNTRVJU
KGluZGV4IDwgbU1heERyYXdCdWZmZXJzKTsKKyAgICByZXR1cm4gVG9HTGVudW0oRmFjdG9yU3Rv
cmFnZTo6R2V0VmFsdWVJbmRleGVkKGluZGV4LCBtRHN0QWxwaGEpKTsKK30KKworRHJhd0J1ZmZl
ck1hc2sgQmxlbmRTdGF0ZUV4dDo6Y29tcGFyZUZhY3RvcnMoY29uc3QgRmFjdG9yU3RvcmFnZTo6
VHlwZSBzcmNDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEZhY3RvclN0b3JhZ2U6OlR5cGUgZHN0Q29sb3IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGYWN0b3JTdG9yYWdlOjpUeXBlIHNy
Y0FscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgRmFjdG9yU3RvcmFnZTo6VHlwZSBkc3RBbHBoYSkgY29uc3QKK3sKKyAgICByZXR1cm4gRmFj
dG9yU3RvcmFnZTo6R2V0RGlmZk1hc2sobVNyY0NvbG9yLCBzcmNDb2xvcikgfAorICAgICAgICAg
ICBGYWN0b3JTdG9yYWdlOjpHZXREaWZmTWFzayhtRHN0Q29sb3IsIGRzdENvbG9yKSB8CisgICAg
ICAgICAgIEZhY3RvclN0b3JhZ2U6OkdldERpZmZNYXNrKG1TcmNBbHBoYSwgc3JjQWxwaGEpIHwK
KyAgICAgICAgICAgRmFjdG9yU3RvcmFnZTo6R2V0RGlmZk1hc2sobURzdEFscGhhLCBkc3RBbHBo
YSk7Cit9CisKIHN0YXRpYyB2b2lkIE1pbk1heChpbnQgYSwgaW50IGIsIGludCAqbWluaW11bSwg
aW50ICptYXhpbXVtKQogewogICAgIGlmIChhIDwgYikKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9hbmdsZXR5cGVzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvYW5nbGV0eXBlcy5oCmluZGV4IDU0ZDZkZDdmMmVmNTVlMWI3
YTYxMmQ1NDA5ZTUxNTYzMjY2MGE0YjUuLmViYWZjNjFlNDZiY2Q3ZDQ1ZmYyYjczM2UwZmI3ZjZh
ZDkyNGY3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9hbmdsZXR5cGVzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L2FuZ2xldHlwZXMuaApAQCAtMzg2LDYgKzM4NiwyNTAgQEAgdXNpbmcgVW5pZm9ybUJsb2NrQmlu
ZGluZ01hc2sgPSBhbmdsZTo6Qml0U2V0PElNUExFTUVOVEFUSU9OX01BWF9DT01CSU5FRF9TSEFE
RVIKIC8vIFVzZWQgaW4gRnJhbWVidWZmZXIgLyBQcm9ncmFtCiB1c2luZyBEcmF3QnVmZmVyTWFz
ayA9IGFuZ2xlOjpCaXRTZXQ8SU1QTEVNRU5UQVRJT05fTUFYX0RSQVdfQlVGRkVSUz47CiAKK2Ns
YXNzIEJsZW5kU3RhdGVFeHQgZmluYWwKK3sKKyAgICBzdGF0aWNfYXNzZXJ0KElNUExFTUVOVEFU
SU9OX01BWF9EUkFXX0JVRkZFUlMgPT0gOCwgIk9ubHkgdXAgdG8gOCBkcmF3IGJ1ZmZlcnMgc3Vw
cG9ydGVkLiIpOworCisgIHB1YmxpYzoKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRWxlbWVudFR5
cGUsIHNpemVfdCBFbGVtZW50Q291bnQ+CisgICAgc3RydWN0IFN0b3JhZ2VUeXBlIGZpbmFsCisg
ICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KEVsZW1lbnRDb3VudCA8PSAyNTYsICJFbGVtZW50
Q291bnQgY2Fubm90IGV4Y2VlZCAyNTYuIik7CisKKyNpZiBkZWZpbmVkKEFOR0xFX0lTXzY0X0JJ
VF9DUFUpCisgICAgICAgIC8vIEFsd2F5cyB1c2UgdWludDY0X3Qgb24gNjQtYml0IHN5c3RlbXMK
KyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qga0JpdHMgPSA4OworI2Vsc2UKKyAgICAg
ICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qga0JpdHMgPSBFbGVtZW50Q291bnQgPiAxNiA/IDgg
OiA0OworI2VuZGlmCisKKyAgICAgICAgdXNpbmcgVHlwZSA9IHR5cGVuYW1lIHN0ZDo6Y29uZGl0
aW9uYWw8a0JpdHMgPT0gOCwgdWludDY0X3QsIHVpbnQzMl90Pjo6dHlwZTsKKworICAgICAgICBz
dGF0aWMgY29uc3RleHByIFR5cGUga01heFZhbHVlTWFzayA9IChrQml0cyA9PSA4KSA/IDB4RkYg
OiAweEY7CisKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlIEdldE1hc2soY29uc3Qgc2l6
ZV90IGRyYXdCdWZmZXJzKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoZHJhd0J1ZmZl
cnMgPD0gSU1QTEVNRU5UQVRJT05fTUFYX0RSQVdfQlVGRkVSUyk7CisgICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8VHlwZT4oMHhGRkZGRkZGRkZGRkZGRkZGdWxsID4+ICg2NCAtIGRyYXdC
dWZmZXJzICoga0JpdHMpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEEgbXVsdGlwbGllciB0
aGF0IGlzIHVzZWQgdG8gcmVwbGljYXRlIDQtIG9yIDgtYml0IHZhbHVlIDggdGltZXMuCisgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZSBrUmVwbGljYXRvciA9IChrQml0cyA9PSA4KSA/IDB4
MDEwMTAxMDEwMTAxMDEwMXVsbCA6IDB4MTExMTExMTE7CisKKyAgICAgICAgLy8gRXh0cmFjdCBw
YWNrZWQgYEJpdHNgLWJpdCB2YWx1ZSBvZiBpbmRleCBgaW5kZXhgLiBgdmFsdWVzYCB2YXJpYWJs
ZSBjb250YWlucyB1cCB0byA4CisgICAgICAgIC8vIHBhY2tlZCB2YWx1ZXMuCisgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgRWxlbWVudFR5cGUgR2V0VmFsdWVJbmRleGVkKGNvbnN0IHNpemVfdCBp
bmRleCwgY29uc3QgVHlwZSB2YWx1ZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChp
bmRleCA8IElNUExFTUVOVEFUSU9OX01BWF9EUkFXX0JVRkZFUlMpOworCisgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudFR5cGU+KCh2YWx1ZXMgPj4gKGluZGV4ICoga0JpdHMp
KSAmIGtNYXhWYWx1ZU1hc2spOworICAgICAgICB9CisKKyAgICAgICAgLy8gUmVwbGljYXRlIGBC
aXRzYC1iaXQgdmFsdWUgOCB0aW1lcyBhbmQgbWFzayB0aGUgcmVzdWx0LgorICAgICAgICBzdGF0
aWMgY29uc3RleHByIFR5cGUgR2V0UmVwbGljYXRlZFZhbHVlKGNvbnN0IEVsZW1lbnRUeXBlIHZh
bHVlLCBjb25zdCBUeXBlIG1hc2spCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxzaXplX3Q+KHZhbHVlKSA8PSBrTWF4VmFsdWVNYXNrKTsKKyAgICAgICAgICAgIHJl
dHVybiAoc3RhdGljX2Nhc3Q8c2l6ZV90Pih2YWx1ZSkgKiBrUmVwbGljYXRvcikgJiBtYXNrOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gUmVwbGFjZSBgQml0c2AtYml0IHZhbHVlIG9mIGluZGV4
IGBpbmRleGAgaW4gYHRhcmdldGAgd2l0aCBgdmFsdWVgLgorICAgICAgICBzdGF0aWMgY29uc3Rl
eHByIHZvaWQgU2V0VmFsdWVJbmRleGVkKGNvbnN0IHNpemVfdCBpbmRleCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFbGVtZW50VHlwZSB2YWx1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICp0
YXJnZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+
KHZhbHVlKSA8PSBrTWF4VmFsdWVNYXNrKTsKKyAgICAgICAgICAgIEFTU0VSVChpbmRleCA8IElN
UExFTUVOVEFUSU9OX01BWF9EUkFXX0JVRkZFUlMpOworCisgICAgICAgICAgICAvLyBCaXRtYXNr
IHdpdGggc2V0IGJpdHMgdGhhdCBjb250YWluIHRoZSB2YWx1ZSBvZiBpbmRleCBgaW5kZXhgLgor
ICAgICAgICAgICAgY29uc3QgVHlwZSBzZWxlY3RvciA9IGtNYXhWYWx1ZU1hc2sgPDwgKGluZGV4
ICoga0JpdHMpOworCisgICAgICAgICAgICAvLyBTaGlmdCB0aGUgbmV3IGB2YWx1ZWAgdG8gaXRz
IHBvc2l0aW9uIGluIHRoZSBwYWNrZWQgdmFsdWUuCisgICAgICAgICAgICBjb25zdCBUeXBlIGJ1
aWx0VmFsdWUgPSBzdGF0aWNfY2FzdDxUeXBlPih2YWx1ZSkgPDwgKGluZGV4ICoga0JpdHMpOwor
CisgICAgICAgICAgICAvLyBNYXJrIGRpZmZlcmluZyBiaXRzIG9mIGB0YXJnZXRgIGFuZCBgYnVp
bHRWYWx1ZWAsIHRoZW4gZmxpcCB0aGUgYml0cyBvbiB0aG9zZQorICAgICAgICAgICAgLy8gcG9z
aXRpb25zIGluIGB0YXJnZXRgLgorICAgICAgICAgICAgLy8gVGFrZW4gZnJvbSBodHRwczovL2dy
YXBoaWNzLnN0YW5mb3JkLmVkdS9+c2VhbmRlci9iaXRoYWNrcy5odG1sI01hc2tlZE1lcmdlCisg
ICAgICAgICAgICAqdGFyZ2V0ID0gKnRhcmdldCBeICgoKnRhcmdldCBeIGJ1aWx0VmFsdWUpICYg
c2VsZWN0b3IpOworICAgICAgICB9CisKKyAgICAgICAgLy8gQ29tcGFyZSB0d28gcGFja2VkIHNl
dHMgb2YgZWlnaHQgNC1iaXQgdmFsdWVzIGFuZCByZXR1cm4gYW4gOC1iaXQgZGlmZiBtYXNrLgor
ICAgICAgICBzdGF0aWMgY29uc3RleHByIERyYXdCdWZmZXJNYXNrIEdldERpZmZNYXNrKGNvbnN0
IHVpbnQzMl90IHBhY2tlZFZhbHVlMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCBwYWNrZWRWYWx1ZTIpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHVpbnQzMl90IGRpZmYgPSBwYWNrZWRWYWx1ZTEgXiBwYWNrZWRWYWx1
ZTI7CisKKyAgICAgICAgICAgIC8vIEZvciBlYWNoIDQtYml0IHZhbHVlIHRoYXQgaXMgZGlmZmVy
ZW50IGJldHdlZW4gaW5wdXRzLCBzZXQgdGhlIG1zYiB0byAxIGFuZCBvdGhlcgorICAgICAgICAg
ICAgLy8gYml0cyB0byAwLgorICAgICAgICAgICAgZGlmZiA9IChkaWZmIHwgKChkaWZmICYgMHg3
Nzc3Nzc3NykgKyAweDc3Nzc3Nzc3KSkgJiAweDg4ODg4ODg4OworCisgICAgICAgICAgICAvLyBC
eSB0aGlzIHBvaW50LCBgZGlmZmAgbG9va3MgbGlrZSBhLi4uYi4uLmMuLi5kLi4uZS4uLmYuLi5n
Li4uaC4uLiAoZG90cyBtZWFuIHplcm9zKS4KKyAgICAgICAgICAgIC8vIFRvIGdldCBEcmF3QnVm
ZmVyTWFzaywgd2UgbmVlZCB0byBjb21wcmVzcyB0aGlzIDMyLWJpdCB2YWx1ZSB0byA4IGJpdHMs
IGkuZS4gYWJjZGVmZ2gKKworICAgICAgICAgICAgLy8gTXVsdGlwbHlpbmcgdGhlIGxvd2VyIGhh
bGYgb2YgYGRpZmZgIGJ5IDB4MjQ5ICgweDIwMCArIDB4NDAgKyAweDggKyAweDEpIHByb2R1Y2Vz
OgorICAgICAgICAgICAgLy8gLi4uLi4uLi4uLi4uLi4uLmUuLi5mLi4uZy4uLmguLi4gKworICAg
ICAgICAgICAgLy8gLi4uLi4uLi4uLi4uLmUuLi5mLi4uZy4uLmguLi4uLi4gKworICAgICAgICAg
ICAgLy8gLi4uLi4uLi4uLmUuLi5mLi4uZy4uLmguLi4uLi4uLi4gKworICAgICAgICAgICAgLy8g
Li4uLi4uLmUuLi5mLi4uZy4uLmguLi4uLi4uLi4uLi4KKyAgICAgICAgICAgIC8vIF9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fID0KKyAgICAgICAgICAgIC8vIC4uLi4uLi5lLi5lZi5l
ZmdlZmdoZmdoLmdoLi5oLi4uCisgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgXl5eXgor
ICAgICAgICAgICAgLy8gU2ltaWxhciBvcGVyYXRpb24gaXMgYXBwbGllZCB0byB0aGUgdXBwZXIg
d29yZC4KKyAgICAgICAgICAgIC8vIFRoaXMgY2FsY3VsYXRpb24gY291bGQgYmUgcmVwbGFjZWQg
d2l0aCBhIHNpbmdsZSBQRVhUIGluc3RydWN0aW9uIGZyb20gQk1JMiBzZXQuCisgICAgICAgICAg
ICBkaWZmID0gKCgoKGRpZmYgJiAweEZGRkYwMDAwKSAqIDB4MjQ5KSA+PiAyNCkgJiAweEYwKSB8
ICgoKGRpZmYgKiAweDI0OSkgPj4gMTIpICYgMHhGKTsKKworICAgICAgICAgICAgcmV0dXJuIERy
YXdCdWZmZXJNYXNrKGRpZmYpOworICAgICAgICB9CisKKyAgICAgICAgLy8gQ29tcGFyZSB0d28g
cGFja2VkIHNldHMgb2YgZWlnaHQgOC1iaXQgdmFsdWVzIGFuZCByZXR1cm4gYW4gOC1iaXQgZGlm
ZiBtYXNrLgorICAgICAgICBzdGF0aWMgY29uc3RleHByIERyYXdCdWZmZXJNYXNrIEdldERpZmZN
YXNrKGNvbnN0IHVpbnQ2NF90IHBhY2tlZFZhbHVlMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50NjRfdCBwYWNrZWRWYWx1ZTIp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90IGRpZmYgPSBwYWNrZWRWYWx1ZTEgXiBw
YWNrZWRWYWx1ZTI7CisKKyAgICAgICAgICAgIC8vIEZvciBlYWNoIDgtYml0IHZhbHVlIHRoYXQg
aXMgZGlmZmVyZW50IGJldHdlZW4gaW5wdXRzLCBzZXQgdGhlIG1zYiB0byAxIGFuZCBvdGhlcgor
ICAgICAgICAgICAgLy8gYml0cyB0byAwLgorICAgICAgICAgICAgZGlmZiA9IChkaWZmIHwgKChk
aWZmICYgMHg3RjdGN0Y3RjdGN0Y3RjdGKSArIDB4N0Y3RjdGN0Y3RjdGN0Y3RikpICYgMHg4MDgw
ODA4MDgwODA4MDgwOworCisgICAgICAgICAgICAvLyBCeSB0aGlzIHBvaW50LCBgZGlmZmAgbG9v
a3MgbGlrZSAoZG90cyBtZWFuIHplcm9zKToKKyAgICAgICAgICAgIC8vIGEuLi4uLi4uYi4uLi4u
Li5jLi4uLi4uLmQuLi4uLi4uZS4uLi4uLi5mLi4uLi4uLmcuLi4uLi4uaC4uLi4uLi4KKyAgICAg
ICAgICAgIC8vIFRvIGdldCBEcmF3QnVmZmVyTWFzaywgd2UgbmVlZCB0byBjb21wcmVzcyB0aGlz
IDY0LWJpdCB2YWx1ZSB0byA4IGJpdHMsIGkuZS4gYWJjZGVmZ2gKKworICAgICAgICAgICAgLy8g
TXVsdGlwbHlpbmcgYGRpZmZgIGJ5IDB4MDAwMjA0MDgxMDIwNDA4MSBwcm9kdWNlczoKKyAgICAg
ICAgICAgIC8vIGEuLi4uLi4uYi4uLi4uLi5jLi4uLi4uLmQuLi4uLi4uZS4uLi4uLi5mLi4uLi4u
LmcuLi4uLi4uaC4uLi4uLi4gKworICAgICAgICAgICAgLy8gLmIuLi4uLi4uYy4uLi4uLi5kLi4u
Li4uLmUuLi4uLi4uZi4uLi4uLi5nLi4uLi4uLmguLi4uLi4uLi4uLi4uLiArCisgICAgICAgICAg
ICAvLyAuLmMuLi4uLi4uZC4uLi4uLi5lLi4uLi4uLmYuLi4uLi4uZy4uLi4uLi5oLi4uLi4uLi4u
Li4uLi4uLi4uLi4uICsKKyAgICAgICAgICAgIC8vIC4uLmQuLi4uLi4uZS4uLi4uLi5mLi4uLi4u
LmcuLi4uLi4uaC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKworICAgICAgICAgICAgLy8g
Li4uLmUuLi4uLi4uZi4uLi4uLi5nLi4uLi4uLmguLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLiArCisgICAgICAgICAgICAvLyAuLi4uLmYuLi4uLi4uZy4uLi4uLi5oLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICsKKyAgICAgICAgICAgIC8vIC4uLi4u
LmcuLi4uLi4uaC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4gKworICAgICAgICAgICAgLy8gLi4uLi4uLmguLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorICAgICAgICAgICAgLy8gX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyA9Cisg
ICAgICAgICAgICAvLyBhYmNkZWZnaGJjZGVmZ2guY2RlZmdoLi5kZWZnaC4uLmVmZ2guLi4uZmdo
Li4uLi5naC4uLi4uLmguLi4uLi4uCisgICAgICAgICAgICAvLyBeXl5eXl5eXgorICAgICAgICAg
ICAgLy8gVGhpcyBvcGVyYXRpb24gY291bGQgYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBQRVhU
IGluc3RydWN0aW9uIGZyb20gQk1JMiBzZXQuCisgICAgICAgICAgICBkaWZmID0gMHgwMDAyMDQw
ODEwMjA0MDgxICogZGlmZiA+PiA1NjsKKworICAgICAgICAgICAgcmV0dXJuIERyYXdCdWZmZXJN
YXNrKHN0YXRpY19jYXN0PHVpbnQzMl90PihkaWZmKSk7CisgICAgICAgIH0KKyAgICB9OworCisg
ICAgdXNpbmcgRmFjdG9yU3RvcmFnZSAgICA9IFN0b3JhZ2VUeXBlPEJsZW5kRmFjdG9yVHlwZSwg
YW5nbGU6OkVudW1TaXplPEJsZW5kRmFjdG9yVHlwZT4oKT47CisgICAgdXNpbmcgRXF1YXRpb25T
dG9yYWdlICA9IFN0b3JhZ2VUeXBlPEJsZW5kRXF1YXRpb25UeXBlLCBhbmdsZTo6RW51bVNpemU8
QmxlbmRFcXVhdGlvblR5cGU+KCk+OworICAgIHVzaW5nIENvbG9yTWFza1N0b3JhZ2UgPSBTdG9y
YWdlVHlwZTx1aW50OF90LCAxNj47CisKKyAgICBCbGVuZFN0YXRlRXh0KGNvbnN0IHNpemVfdCBk
cmF3QnVmZmVycyA9IDEpOworCisgICAgQmxlbmRTdGF0ZUV4dCAmb3BlcmF0b3I9KGNvbnN0IEJs
ZW5kU3RhdGVFeHQgJm90aGVyKTsKKworICAgIC8vLy8vLy8vLyBCbGVuZGluZyBUb2dnbGUgLy8v
Ly8vLy8vCisKKyAgICB2b2lkIHNldEVuYWJsZWQoY29uc3QgYm9vbCBlbmFibGVkKTsKKyAgICB2
b2lkIHNldEVuYWJsZWRJbmRleGVkKGNvbnN0IHNpemVfdCBpbmRleCwgY29uc3QgYm9vbCBlbmFi
bGVkKTsKKworICAgIC8vLy8vLy8vLyBDb2xvciBXcml0ZSBNYXNrIC8vLy8vLy8vLworCisgICAg
c3RhdGljIGNvbnN0ZXhwciBzaXplX3QgUGFja0NvbG9yTWFzayhjb25zdCBib29sIHJlZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgZ3JlZW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sIGJs
dWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29s
IGFscGhhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIChyZWQgPyAxIDogMCkgfCAoZ3JlZW4gPyAy
IDogMCkgfCAoYmx1ZSA/IDQgOiAwKSB8IChhbHBoYSA/IDggOiAwKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgY29uc3RleHByIHZvaWQgVW5wYWNrQ29sb3JNYXNrKGNvbnN0IHNpemVfdCB2YWx1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKnJlZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmdyZWVuLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqYmx1ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmFscGhhKQorICAgIHsK
KyAgICAgICAgKnJlZCAgID0gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUgJiAxKTsKKyAgICAgICAg
KmdyZWVuID0gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUgJiAyKTsKKyAgICAgICAgKmJsdWUgID0g
c3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUgJiA0KTsKKyAgICAgICAgKmFscGhhID0gc3RhdGljX2Nh
c3Q8Ym9vbD4odmFsdWUgJiA4KTsKKyAgICB9CisKKyAgICBDb2xvck1hc2tTdG9yYWdlOjpUeXBl
IGV4cGFuZENvbG9yTWFza1ZhbHVlKGNvbnN0IGJvb2wgcmVkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCBncmVlbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgYmx1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJv
b2wgYWxwaGEpIGNvbnN0OworICAgIENvbG9yTWFza1N0b3JhZ2U6OlR5cGUgZXhwYW5kQ29sb3JN
YXNrSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgc2V0Q29sb3JN
YXNrKGNvbnN0IGJvb2wgcmVkLCBjb25zdCBib29sIGdyZWVuLCBjb25zdCBib29sIGJsdWUsIGNv
bnN0IGJvb2wgYWxwaGEpOworICAgIHZvaWQgc2V0Q29sb3JNYXNrSW5kZXhlZChjb25zdCBzaXpl
X3QgaW5kZXgsIGNvbnN0IHVpbnQ4X3QgdmFsdWUpOworICAgIHZvaWQgc2V0Q29sb3JNYXNrSW5k
ZXhlZChjb25zdCBzaXplX3QgaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGJvb2wgcmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sIGdy
ZWVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sIGJsdWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgYWxwaGEpOworICAgIHVpbnQ4X3Qg
Z2V0Q29sb3JNYXNrSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIHZvaWQg
Z2V0Q29sb3JNYXNrSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgKnJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCAqZ3JlZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmJsdWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmFscGhhKSBjb25zdDsKKyAgICBEcmF3QnVm
ZmVyTWFzayBjb21wYXJlQ29sb3JNYXNrKENvbG9yTWFza1N0b3JhZ2U6OlR5cGUgb3RoZXIpIGNv
bnN0OworCisgICAgLy8vLy8vLy8vIEJsZW5kIEVxdWF0aW9uIC8vLy8vLy8vLworCisgICAgRXF1
YXRpb25TdG9yYWdlOjpUeXBlIGV4cGFuZEVxdWF0aW9uVmFsdWUoY29uc3QgR0xlbnVtIG1vZGUp
IGNvbnN0OworICAgIEVxdWF0aW9uU3RvcmFnZTo6VHlwZSBleHBhbmRFcXVhdGlvbkNvbG9ySW5k
ZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIEVxdWF0aW9uU3RvcmFnZTo6VHlw
ZSBleHBhbmRFcXVhdGlvbkFscGhhSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0Owor
ICAgIHZvaWQgc2V0RXF1YXRpb25zKGNvbnN0IEdMZW51bSBtb2RlQ29sb3IsIGNvbnN0IEdMZW51
bSBtb2RlQWxwaGEpOworICAgIHZvaWQgc2V0RXF1YXRpb25zSW5kZXhlZChjb25zdCBzaXplX3Qg
aW5kZXgsIGNvbnN0IEdMZW51bSBtb2RlQ29sb3IsIGNvbnN0IEdMZW51bSBtb2RlQWxwaGEpOwor
ICAgIHZvaWQgc2V0RXF1YXRpb25zSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBvdGhlckluZGV4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBCbGVuZFN0YXRlRXh0ICZvdGhlcik7CisgICAgR0xl
bnVtIGdldEVxdWF0aW9uQ29sb3JJbmRleGVkKHNpemVfdCBpbmRleCkgY29uc3Q7CisgICAgR0xl
bnVtIGdldEVxdWF0aW9uQWxwaGFJbmRleGVkKHNpemVfdCBpbmRleCkgY29uc3Q7CisgICAgRHJh
d0J1ZmZlck1hc2sgY29tcGFyZUVxdWF0aW9ucyhjb25zdCBFcXVhdGlvblN0b3JhZ2U6OlR5cGUg
Y29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFcXVhdGlv
blN0b3JhZ2U6OlR5cGUgYWxwaGEpIGNvbnN0OworCisgICAgLy8vLy8vLy8vIEJsZW5kIEZhY3Rv
cnMgLy8vLy8vLy8vCisKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBlIGV4cGFuZEZhY3RvclZhbHVl
KGNvbnN0IEdMZW51bSBmdW5jKSBjb25zdDsKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBlIGV4cGFu
ZFNyY0NvbG9ySW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIEZhY3RvclN0
b3JhZ2U6OlR5cGUgZXhwYW5kRHN0Q29sb3JJbmRleGVkKGNvbnN0IHNpemVfdCBpbmRleCkgY29u
c3Q7CisgICAgRmFjdG9yU3RvcmFnZTo6VHlwZSBleHBhbmRTcmNBbHBoYUluZGV4ZWQoY29uc3Qg
c2l6ZV90IGluZGV4KSBjb25zdDsKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBlIGV4cGFuZERzdEFs
cGhhSW5kZXhlZChjb25zdCBzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgc2V0RmFjdG9y
cyhjb25zdCBHTGVudW0gc3JjQ29sb3IsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZW51
bSBkc3RDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xlbnVtIHNyY0FscGhhLAor
ICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGVudW0gZHN0QWxwaGEpOworICAgIHZvaWQgc2V0
RmFjdG9yc0luZGV4ZWQoY29uc3Qgc2l6ZV90IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgR0xlbnVtIHNyY0NvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgR0xlbnVtIGRzdENvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
R0xlbnVtIHNyY0FscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xlbnVt
IGRzdEFscGhhKTsKKyAgICB2b2lkIHNldEZhY3RvcnNJbmRleGVkKGNvbnN0IHNpemVfdCBpbmRl
eCwgY29uc3Qgc2l6ZV90IG90aGVySW5kZXgsIGNvbnN0IEJsZW5kU3RhdGVFeHQgJm90aGVyKTsK
KyAgICBHTGVudW0gZ2V0U3JjQ29sb3JJbmRleGVkKHNpemVfdCBpbmRleCkgY29uc3Q7CisgICAg
R0xlbnVtIGdldERzdENvbG9ySW5kZXhlZChzaXplX3QgaW5kZXgpIGNvbnN0OworICAgIEdMZW51
bSBnZXRTcmNBbHBoYUluZGV4ZWQoc2l6ZV90IGluZGV4KSBjb25zdDsKKyAgICBHTGVudW0gZ2V0
RHN0QWxwaGFJbmRleGVkKHNpemVfdCBpbmRleCkgY29uc3Q7CisgICAgRHJhd0J1ZmZlck1hc2sg
Y29tcGFyZUZhY3RvcnMoY29uc3QgRmFjdG9yU3RvcmFnZTo6VHlwZSBzcmNDb2xvciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGYWN0b3JTdG9yYWdlOjpUeXBlIGRz
dENvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZhY3RvclN0
b3JhZ2U6OlR5cGUgc3JjQWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgRmFjdG9yU3RvcmFnZTo6VHlwZSBkc3RBbHBoYSkgY29uc3Q7CisKKyAgICAvLy8vLy8v
Ly8gRGF0YSBNZW1iZXJzIC8vLy8vLy8vLworCisgICAgY29uc3QgRmFjdG9yU3RvcmFnZTo6VHlw
ZSBtTWF4RmFjdG9yTWFzazsKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBlIG1TcmNDb2xvcjsKKyAg
ICBGYWN0b3JTdG9yYWdlOjpUeXBlIG1Ec3RDb2xvcjsKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBl
IG1TcmNBbHBoYTsKKyAgICBGYWN0b3JTdG9yYWdlOjpUeXBlIG1Ec3RBbHBoYTsKKworICAgIGNv
bnN0IEVxdWF0aW9uU3RvcmFnZTo6VHlwZSBtTWF4RXF1YXRpb25NYXNrOworICAgIEVxdWF0aW9u
U3RvcmFnZTo6VHlwZSBtRXF1YXRpb25Db2xvcjsKKyAgICBFcXVhdGlvblN0b3JhZ2U6OlR5cGUg
bUVxdWF0aW9uQWxwaGE7CisKKyAgICBjb25zdCBDb2xvck1hc2tTdG9yYWdlOjpUeXBlIG1NYXhD
b2xvck1hc2s7CisgICAgQ29sb3JNYXNrU3RvcmFnZTo6VHlwZSBtQ29sb3JNYXNrOworCisgICAg
Y29uc3QgRHJhd0J1ZmZlck1hc2sgbU1heEVuYWJsZWRNYXNrOworICAgIERyYXdCdWZmZXJNYXNr
IG1FbmFibGVkTWFzazsKKworICAgIGNvbnN0IHNpemVfdCBtTWF4RHJhd0J1ZmZlcnM7Cit9Owor
CiAvLyBVc2VkIGluIFN0YXRlQ2FjaGUKIHVzaW5nIFN0b3JhZ2VCdWZmZXJzTWFzayA9IGFuZ2xl
OjpCaXRTZXQ8SU1QTEVNRU5UQVRJT05fTUFYX1NIQURFUl9TVE9SQUdFX0JVRkZFUl9CSU5ESU5H
Uz47CiAKQEAgLTQ3Myw2ICs3MTcsOCBAQCB1c2luZyBTaGFkZXJWZWN0b3IgPSBhbmdsZTo6Rml4
ZWRWZWN0b3I8VCwgc3RhdGljX2Nhc3Q8c2l6ZV90PihTaGFkZXJUeXBlOjpFbnVtQwogdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+CiB1c2luZyBBdHRhY2htZW50QXJyYXkgPSBzdGQ6OmFycmF5PFQsIElN
UExFTUVOVEFUSU9OX01BWF9GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UUz47CiAKK3VzaW5nIEF0dGFj
aG1lbnRzTWFzayA9IGFuZ2xlOjpCaXRTZXQ8SU1QTEVNRU5UQVRJT05fTUFYX0ZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRTPjsKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiB1c2luZyBEcmF3QnVmZmVy
c0FycmF5ID0gc3RkOjphcnJheTxULCBJTVBMRU1FTlRBVElPTl9NQVhfRFJBV19CVUZGRVJTPjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2FuZ2xl
dHlwZXNfdW5pdHRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L2FuZ2xldHlwZXNfdW5pdHRlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiYjRjZTQxOWFhMThmODEzYTkw
NTA2MGFiZDA3NjUxM2FjZjkyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvYW5nbGV0eXBlc191bml0dGVzdC5jcHAKQEAgLTAsMCArMSwy
MzAgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8vCisKKy8vIGFuZ2xldHlwZXNfdW5pdHRlc3QuY3BwOiBVbml0IHRlc3Rz
IG9mIHRoZSBCbGVuZFN0YXRlRXh0IGNsYXNzLgorCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4K
KworI2luY2x1ZGUgImxpYkFOR0xFL2FuZ2xldHlwZXMuaCIKKworbmFtZXNwYWNlIGFuZ2xlCit7
CisKKyNpZiBkZWZpbmVkKEFOR0xFX0lTXzY0X0JJVF9DUFUpCitjb25zdGV4cHIgYm9vbCBpczY0
Qml0ID0gdHJ1ZTsKKyNlbHNlCitjb25zdGV4cHIgYm9vbCBpczY0Qml0ID0gZmFsc2U7CisjZW5k
aWYKKwordm9pZCBjaGVja0luaXRTdGF0ZShjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRT
dGF0ZUV4dCkKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGJsZW5kU3RhdGVFeHQubU1h
eERyYXdCdWZmZXJzOyArK2kpCisgICAgeworICAgICAgICBBU1NFUlRfRkFMU0UoYmxlbmRTdGF0
ZUV4dC5tRW5hYmxlZE1hc2sudGVzdChpKSk7CisKKyAgICAgICAgYm9vbCByLCBnLCBiLCBhOwor
ICAgICAgICBibGVuZFN0YXRlRXh0LmdldENvbG9yTWFza0luZGV4ZWQoaSwgJnIsICZnLCAmYiwg
JmEpOworICAgICAgICBBU1NFUlRfVFJVRShyKTsKKyAgICAgICAgQVNTRVJUX1RSVUUoZyk7Cisg
ICAgICAgIEFTU0VSVF9UUlVFKGIpOworICAgICAgICBBU1NFUlRfVFJVRShhKTsKKworICAgICAg
ICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXRFcXVhdGlvbkNvbG9ySW5kZXhlZChpKSwgc3Rh
dGljX2Nhc3Q8R0xlbnVtPihHTF9GVU5DX0FERCkpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRT
dGF0ZUV4dC5nZXRFcXVhdGlvbkFscGhhSW5kZXhlZChpKSwgc3RhdGljX2Nhc3Q8R0xlbnVtPihH
TF9GVU5DX0FERCkpOworCisgICAgICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0LmdldFNyY0Nv
bG9ySW5kZXhlZChpKSwgc3RhdGljX2Nhc3Q8R0xlbnVtPihHTF9PTkUpKTsKKyAgICAgICAgQVNT
RVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0RHN0Q29sb3JJbmRleGVkKGkpLCBzdGF0aWNfY2FzdDxH
TGVudW0+KEdMX1pFUk8pKTsKKyAgICAgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0U3Jj
QWxwaGFJbmRleGVkKGkpLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdMX09ORSkpOworICAgICAgICBB
U1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBoYUluZGV4ZWQoaSksIHN0YXRpY19jYXN0
PEdMZW51bT4oR0xfWkVSTykpOworICAgIH0KK30KKworLy8gVGVzdCB0aGUgaW5pdGlhbCBzdGF0
ZSBvZiBCbGVuZFN0YXRlRXh0CitURVNUKEJsZW5kU3RhdGVFeHQsIEluaXQpCit7CisgICAgewor
ICAgICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCBibGVuZFN0YXRlRXh0ID0gZ2w6OkJsZW5k
U3RhdGVFeHQoMSk7CisgICAgICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1NYXhEcmF3QnVm
ZmVycywgMXUpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tTWF4RW5hYmxlZE1h
c2sudG9fdWxvbmcoKSwgMXUpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tTWF4
Q29sb3JNYXNrLCBpczY0Qml0ID8gMHhGRnUgOiAweEZ1KTsKKyAgICAgICAgQVNTRVJUX0VRKGJs
ZW5kU3RhdGVFeHQubU1heEVxdWF0aW9uTWFzaywgaXM2NEJpdCA/IDB4RkZ1IDogMHhGdSk7Cisg
ICAgICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1NYXhGYWN0b3JNYXNrLCAweEZGdSk7Cisg
ICAgICAgIGNoZWNrSW5pdFN0YXRlKGJsZW5kU3RhdGVFeHQpOworICAgIH0KKworICAgIHsKKyAg
ICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGVFeHQgYmxlbmRTdGF0ZUV4dCA9IGdsOjpCbGVuZFN0
YXRlRXh0KDQpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tTWF4RHJhd0J1ZmZl
cnMsIDR1KTsKKyAgICAgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQubU1heEVuYWJsZWRNYXNr
LnRvX3Vsb25nKCksIDB4RnUpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tTWF4
Q29sb3JNYXNrLCBpczY0Qml0ID8gMHhGRkZGRkZGRnUgOiAweEZGRkZ1KTsKKyAgICAgICAgQVNT
RVJUX0VRKGJsZW5kU3RhdGVFeHQubU1heEVxdWF0aW9uTWFzaywgaXM2NEJpdCA/IDB4RkZGRkZG
RkZ1IDogMHhGRkZGdSk7CisgICAgICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1NYXhGYWN0
b3JNYXNrLCAweEZGRkZGRkZGdSk7CisgICAgICAgIGNoZWNrSW5pdFN0YXRlKGJsZW5kU3RhdGVF
eHQpOworICAgIH0KKworICAgIHsKKyAgICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGVFeHQgYmxl
bmRTdGF0ZUV4dCA9IGdsOjpCbGVuZFN0YXRlRXh0KDgpOworICAgICAgICBBU1NFUlRfRVEoYmxl
bmRTdGF0ZUV4dC5tTWF4RHJhd0J1ZmZlcnMsIDh1KTsKKyAgICAgICAgQVNTRVJUX0VRKGJsZW5k
U3RhdGVFeHQubU1heEVuYWJsZWRNYXNrLnRvX3Vsb25nKCksIDB4RkZ1KTsKKyAgICAgICAgQVNT
RVJUX0VRKGJsZW5kU3RhdGVFeHQubU1heENvbG9yTWFzaywgaXM2NEJpdCA/IDB4RkZGRkZGRkZG
RkZGRkZGRnUgOiAweEZGRkZGRkZGdSk7CisgICAgICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0
Lm1NYXhFcXVhdGlvbk1hc2ssIGlzNjRCaXQgPyAweEZGRkZGRkZGRkZGRkZGRkZ1IDogMHhGRkZG
RkZGRnUpOworICAgICAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tTWF4RmFjdG9yTWFzaywg
MHhGRkZGRkZGRkZGRkZGRkZGdSk7CisgICAgICAgIGNoZWNrSW5pdFN0YXRlKGJsZW5kU3RhdGVF
eHQpOworICAgIH0KK30KKworLy8gVGVzdCBibGVuZCBlbmFibGVkIGZsYWdzCitURVNUKEJsZW5k
U3RhdGVFeHQsIEJsZW5kRW5hYmxlZCkKK3sKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dCBibGVuZFN0
YXRlRXh0ID0gZ2w6OkJsZW5kU3RhdGVFeHQoMyk7CisKKyAgICBibGVuZFN0YXRlRXh0LnNldEVu
YWJsZWQodHJ1ZSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQubUVuYWJsZWRNYXNrLnRv
X3Vsb25nKCksIDd1KTsKKworICAgIGJsZW5kU3RhdGVFeHQuc2V0RW5hYmxlZEluZGV4ZWQoMSwg
ZmFsc2UpOworICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1FbmFibGVkTWFzay50b191bG9u
ZygpLCA1dSk7Cit9CisKKy8vIFRlc3QgY29sb3Igd3JpdGUgbWFzayBtYW5pcHVsYXRpb25zCitU
RVNUKEJsZW5kU3RhdGVFeHQsIENvbG9yTWFzaykKK3sKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dCBi
bGVuZFN0YXRlRXh0ID0gZ2w6OkJsZW5kU3RhdGVFeHQoNSk7CisKKyAgICBibGVuZFN0YXRlRXh0
LnNldENvbG9yTWFzayh0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOworICAgIEFTU0VSVF9FUShi
bGVuZFN0YXRlRXh0Lm1Db2xvck1hc2ssIGlzNjRCaXQgPyAweDA1MDUwNTA1MDV1IDogMHg1NTU1
NXUpOworCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRDb2xvck1hc2tJbmRleGVkKDMsIGZhbHNlLCB0
cnVlLCBmYWxzZSwgdHJ1ZSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQubUNvbG9yTWFz
aywgaXM2NEJpdCA/IDB4MDUwQTA1MDUwNXUgOiAweDVBNTU1dSk7CisKKyAgICBibGVuZFN0YXRl
RXh0LnNldENvbG9yTWFza0luZGV4ZWQoMywgMHhGKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0
ZUV4dC5nZXRDb2xvck1hc2tJbmRleGVkKDMpLCAweEYpOworCisgICAgYmxlbmRTdGF0ZUV4dC5z
ZXRDb2xvck1hc2tJbmRleGVkKDMsIDB4QSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQu
Z2V0Q29sb3JNYXNrSW5kZXhlZCgzKSwgMHhBKTsKKworICAgIGJvb2wgciwgZywgYiwgYTsKKyAg
ICBibGVuZFN0YXRlRXh0LmdldENvbG9yTWFza0luZGV4ZWQoMywgJnIsICZnLCAmYiwgJmEpOwor
ICAgIEFTU0VSVF9GQUxTRShyKTsKKyAgICBBU1NFUlRfVFJVRShnKTsKKyAgICBBU1NFUlRfRkFM
U0UoYik7CisgICAgQVNTRVJUX1RSVUUoYSk7CisKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dDo6Q29s
b3JNYXNrU3RvcmFnZTo6VHlwZSBvdGhlckNvbG9yTWFzayA9CisgICAgICAgIGJsZW5kU3RhdGVF
eHQuZXhwYW5kQ29sb3JNYXNrSW5kZXhlZCgzKTsKKyAgICBBU1NFUlRfRVEob3RoZXJDb2xvck1h
c2ssIGlzNjRCaXQgPyAweDBBMEEwQTBBMEF1IDogMHhBQUFBQXUpOworCisgICAgY29uc3QgZ2w6
OkRyYXdCdWZmZXJNYXNrIGRpZmYgPSBibGVuZFN0YXRlRXh0LmNvbXBhcmVDb2xvck1hc2sob3Ro
ZXJDb2xvck1hc2spOworICAgIEFTU0VSVF9FUShkaWZmLnRvX3Vsb25nKCksIDIzdSk7Cit9CisK
Ky8vIFRlc3QgYmxlbmQgZXF1YXRpb25zIG1hbmlwdWxhdGlvbnMKK1RFU1QoQmxlbmRTdGF0ZUV4
dCwgQmxlbmRFcXVhdGlvbnMpCit7CisgICAgZ2w6OkJsZW5kU3RhdGVFeHQgYmxlbmRTdGF0ZUV4
dCA9IGdsOjpCbGVuZFN0YXRlRXh0KDcpOworCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRFcXVhdGlv
bnMoR0xfTUlOLCBHTF9GVU5DX1NVQlRSQUNUKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4
dC5tRXF1YXRpb25Db2xvciwgaXM2NEJpdCA/IDB4MDEwMTAxMDEwMTAxMDF1IDogMHgxMTExMTEx
dSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQubUVxdWF0aW9uQWxwaGEsIGlzNjRCaXQg
PyAweDA0MDQwNDA0MDQwNDA0dSA6IDB4NDQ0NDQ0NHUpOworCisgICAgYmxlbmRTdGF0ZUV4dC5z
ZXRFcXVhdGlvbnNJbmRleGVkKDMsIEdMX01BWCwgR0xfRlVOQ19TVUJUUkFDVCk7CisgICAgYmxl
bmRTdGF0ZUV4dC5zZXRFcXVhdGlvbnNJbmRleGVkKDUsIEdMX01JTiwgR0xfRlVOQ19BREQpOwor
ICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1FcXVhdGlvbkNvbG9yLCBpczY0Qml0ID8gMHgw
MTAxMDEwMjAxMDEwMXUgOiAweDExMTIxMTF1KTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4
dC5tRXF1YXRpb25BbHBoYSwgaXM2NEJpdCA/IDB4MDQwMDA0MDQwNDA0MDR1IDogMHg0MDQ0NDQ0
dSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0RXF1YXRpb25Db2xvckluZGV4ZWQo
MyksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfTUFYKSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3Rh
dGVFeHQuZ2V0RXF1YXRpb25BbHBoYUluZGV4ZWQoNSksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xf
RlVOQ19BREQpKTsKKworICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpFcXVhdGlvblN0b3JhZ2U6OlR5
cGUgb3RoZXJFcXVhdGlvbkNvbG9yID0KKyAgICAgICAgYmxlbmRTdGF0ZUV4dC5leHBhbmRFcXVh
dGlvbkNvbG9ySW5kZXhlZCgwKTsKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dDo6RXF1YXRpb25TdG9y
YWdlOjpUeXBlIG90aGVyRXF1YXRpb25BbHBoYSA9CisgICAgICAgIGJsZW5kU3RhdGVFeHQuZXhw
YW5kRXF1YXRpb25BbHBoYUluZGV4ZWQoMCk7CisKKyAgICBBU1NFUlRfRVEob3RoZXJFcXVhdGlv
bkNvbG9yLCBpczY0Qml0ID8gMHgwMTAxMDEwMTAxMDEwMXUgOiAweDExMTExMTF1KTsKKyAgICBB
U1NFUlRfRVEob3RoZXJFcXVhdGlvbkFscGhhLCBpczY0Qml0ID8gMHgwNDA0MDQwNDA0MDQwNHUg
OiAweDQ0NDQ0NDR1KTsKKworICAgIGNvbnN0IGdsOjpEcmF3QnVmZmVyTWFzayBkaWZmID0KKyAg
ICAgICAgYmxlbmRTdGF0ZUV4dC5jb21wYXJlRXF1YXRpb25zKG90aGVyRXF1YXRpb25Db2xvciwg
b3RoZXJFcXVhdGlvbkFscGhhKTsKKyAgICBBU1NFUlRfRVEoZGlmZi50b191bG9uZygpLCA0MHUp
OworCisgICAgLy8gQ29weSBidWZmZXIgMyB0byBidWZmZXIgMAorICAgIGJsZW5kU3RhdGVFeHQu
c2V0RXF1YXRpb25zSW5kZXhlZCgwLCAzLCBibGVuZFN0YXRlRXh0KTsKKyAgICBBU1NFUlRfRVEo
YmxlbmRTdGF0ZUV4dC5nZXRFcXVhdGlvbkNvbG9ySW5kZXhlZCgwKSwgc3RhdGljX2Nhc3Q8R0xl
bnVtPihHTF9NQVgpKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXRFcXVhdGlvbkFs
cGhhSW5kZXhlZCgwKSwgc3RhdGljX2Nhc3Q8R0xlbnVtPihHTF9GVU5DX1NVQlRSQUNUKSk7CisK
KyAgICAvLyBDb3B5IGJ1ZmZlciA1IHRvIGJ1ZmZlciAwCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRF
cXVhdGlvbnNJbmRleGVkKDAsIDUsIGJsZW5kU3RhdGVFeHQpOworICAgIEFTU0VSVF9FUShibGVu
ZFN0YXRlRXh0LmdldEVxdWF0aW9uQ29sb3JJbmRleGVkKDApLCBzdGF0aWNfY2FzdDxHTGVudW0+
KEdMX01JTikpOworICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0LmdldEVxdWF0aW9uQWxwaGFJ
bmRleGVkKDApLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdMX0ZVTkNfQUREKSk7Cit9CisKKy8vIFRl
c3QgYmxlbmQgZmFjdG9ycyBtYW5pcHVsYXRpb25zCitURVNUKEJsZW5kU3RhdGVFeHQsIEJsZW5k
RmFjdG9ycykKK3sKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dCBibGVuZFN0YXRlRXh0ID0gZ2w6OkJs
ZW5kU3RhdGVFeHQoOCk7CisKKyAgICBibGVuZFN0YXRlRXh0LnNldEZhY3RvcnMoR0xfU1JDX0NP
TE9SLCBHTF9EU1RfQ09MT1IsIEdMX1NSQ19BTFBIQSwgR0xfRFNUX0FMUEhBKTsKKyAgICBBU1NF
UlRfRVEoYmxlbmRTdGF0ZUV4dC5tU3JjQ29sb3IsIDB4MDIwMjAyMDIwMjAyMDIwMnUpOworICAg
IEFTU0VSVF9FUShibGVuZFN0YXRlRXh0Lm1Ec3RDb2xvciwgMHgwODA4MDgwODA4MDgwODA4dSk7
CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQubVNyY0FscGhhLCAweDA0MDQwNDA0MDQwNDA0
MDR1KTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5tRHN0QWxwaGEsIDB4MDYwNjA2MDYw
NjA2MDYwNnUpOworCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZCgwLCBHTF9P
TkUsIEdMX0RTVF9DT0xPUiwgR0xfU1JDX0FMUEhBLCBHTF9EU1RfQUxQSEEpOworICAgIGJsZW5k
U3RhdGVFeHQuc2V0RmFjdG9yc0luZGV4ZWQoMywgR0xfU1JDX0NPTE9SLCBHTF9PTkUsIEdMX1NS
Q19BTFBIQSwgR0xfRFNUX0FMUEhBKTsKKyAgICBibGVuZFN0YXRlRXh0LnNldEZhY3RvcnNJbmRl
eGVkKDUsIEdMX1NSQ19DT0xPUiwgR0xfRFNUX0NPTE9SLCBHTF9PTkUsIEdMX0RTVF9BTFBIQSk7
CisgICAgYmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZCg3LCBHTF9TUkNfQ09MT1IsIEdM
X0RTVF9DT0xPUiwgR0xfU1JDX0FMUEhBLCBHTF9PTkUpOworICAgIEFTU0VSVF9FUShibGVuZFN0
YXRlRXh0Lm1TcmNDb2xvciwgMHgwMjAyMDIwMjAyMDIwMjAxdSk7CisgICAgQVNTRVJUX0VRKGJs
ZW5kU3RhdGVFeHQubURzdENvbG9yLCAweDA4MDgwODA4MDEwODA4MDh1KTsKKyAgICBBU1NFUlRf
RVEoYmxlbmRTdGF0ZUV4dC5tU3JjQWxwaGEsIDB4MDQwNDAxMDQwNDA0MDQwNHUpOworICAgIEFT
U0VSVF9FUShibGVuZFN0YXRlRXh0Lm1Ec3RBbHBoYSwgMHgwMTA2MDYwNjA2MDYwNjA2dSk7CisK
KyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvckluZGV4ZWQoMCksIHN0YXRp
Y19jYXN0PEdMZW51bT4oR0xfT05FKSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0
RHN0Q29sb3JJbmRleGVkKDMpLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdMX09ORSkpOworICAgIEFT
U0VSVF9FUShibGVuZFN0YXRlRXh0LmdldFNyY0FscGhhSW5kZXhlZCg1KSwgc3RhdGljX2Nhc3Q8
R0xlbnVtPihHTF9PTkUpKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBo
YUluZGV4ZWQoNyksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfT05FKSk7CisKKyAgICBnbDo6Qmxl
bmRTdGF0ZUV4dDo6RmFjdG9yU3RvcmFnZTo6VHlwZSBvdGhlclNyY0NvbG9yID0gYmxlbmRTdGF0
ZUV4dC5leHBhbmRTcmNDb2xvckluZGV4ZWQoMSk7CisgICAgZ2w6OkJsZW5kU3RhdGVFeHQ6OkZh
Y3RvclN0b3JhZ2U6OlR5cGUgb3RoZXJEc3RDb2xvciA9IGJsZW5kU3RhdGVFeHQuZXhwYW5kRHN0
Q29sb3JJbmRleGVkKDEpOworICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpU
eXBlIG90aGVyU3JjQWxwaGEgPSBibGVuZFN0YXRlRXh0LmV4cGFuZFNyY0FscGhhSW5kZXhlZCgx
KTsKKyAgICBnbDo6QmxlbmRTdGF0ZUV4dDo6RmFjdG9yU3RvcmFnZTo6VHlwZSBvdGhlckRzdEFs
cGhhID0gYmxlbmRTdGF0ZUV4dC5leHBhbmREc3RBbHBoYUluZGV4ZWQoMSk7CisKKyAgICBBU1NF
UlRfRVEob3RoZXJTcmNDb2xvciwgMHgwMjAyMDIwMjAyMDIwMjAydSk7CisgICAgQVNTRVJUX0VR
KG90aGVyRHN0Q29sb3IsIDB4MDgwODA4MDgwODA4MDgwOHUpOworICAgIEFTU0VSVF9FUShvdGhl
clNyY0FscGhhLCAweDA0MDQwNDA0MDQwNDA0MDR1KTsKKyAgICBBU1NFUlRfRVEob3RoZXJEc3RB
bHBoYSwgMHgwNjA2MDYwNjA2MDYwNjA2dSk7CisKKyAgICBjb25zdCBnbDo6RHJhd0J1ZmZlck1h
c2sgZGlmZiA9CisgICAgICAgIGJsZW5kU3RhdGVFeHQuY29tcGFyZUZhY3RvcnMob3RoZXJTcmND
b2xvciwgb3RoZXJEc3RDb2xvciwgb3RoZXJTcmNBbHBoYSwgb3RoZXJEc3RBbHBoYSk7CisgICAg
QVNTRVJUX0VRKGRpZmYudG9fdWxvbmcoKSwgMTY5dSk7CisKKyAgICAvLyBDb3B5IGJ1ZmZlciAw
IHRvIGJ1ZmZlciAxCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZCgxLCAwLCBi
bGVuZFN0YXRlRXh0KTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvcklu
ZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfT05FKSk7CisgICAgQVNTRVJUX0VRKGJs
ZW5kU3RhdGVFeHQuZ2V0RHN0Q29sb3JJbmRleGVkKDEpLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdM
X0RTVF9DT0xPUikpOworICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0LmdldFNyY0FscGhhSW5k
ZXhlZCgxKSwgc3RhdGljX2Nhc3Q8R0xlbnVtPihHTF9TUkNfQUxQSEEpKTsKKyAgICBBU1NFUlRf
RVEoYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBoYUluZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51
bT4oR0xfRFNUX0FMUEhBKSk7CisKKyAgICAvLyBDb3B5IGJ1ZmZlciAzIHRvIGJ1ZmZlciAxCisg
ICAgYmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZCgxLCAzLCBibGVuZFN0YXRlRXh0KTsK
KyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvckluZGV4ZWQoMSksIHN0YXRp
Y19jYXN0PEdMZW51bT4oR0xfU1JDX0NPTE9SKSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVF
eHQuZ2V0RHN0Q29sb3JJbmRleGVkKDEpLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdMX09ORSkpOwor
ICAgIEFTU0VSVF9FUShibGVuZFN0YXRlRXh0LmdldFNyY0FscGhhSW5kZXhlZCgxKSwgc3RhdGlj
X2Nhc3Q8R0xlbnVtPihHTF9TUkNfQUxQSEEpKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4
dC5nZXREc3RBbHBoYUluZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfRFNUX0FMUEhB
KSk7CisKKyAgICAvLyBDb3B5IGJ1ZmZlciA1IHRvIGJ1ZmZlciAxCisgICAgYmxlbmRTdGF0ZUV4
dC5zZXRGYWN0b3JzSW5kZXhlZCgxLCA1LCBibGVuZFN0YXRlRXh0KTsKKyAgICBBU1NFUlRfRVEo
YmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvckluZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51bT4o
R0xfU1JDX0NPTE9SKSk7CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0RHN0Q29sb3JJ
bmRleGVkKDEpLCBzdGF0aWNfY2FzdDxHTGVudW0+KEdMX0RTVF9DT0xPUikpOworICAgIEFTU0VS
VF9FUShibGVuZFN0YXRlRXh0LmdldFNyY0FscGhhSW5kZXhlZCgxKSwgc3RhdGljX2Nhc3Q8R0xl
bnVtPihHTF9PTkUpKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBoYUlu
ZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfRFNUX0FMUEhBKSk7CisKKyAgICAvLyBD
b3B5IGJ1ZmZlciA3IHRvIGJ1ZmZlciAxCisgICAgYmxlbmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5k
ZXhlZCgxLCA3LCBibGVuZFN0YXRlRXh0KTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5n
ZXRTcmNDb2xvckluZGV4ZWQoMSksIHN0YXRpY19jYXN0PEdMZW51bT4oR0xfU1JDX0NPTE9SKSk7
CisgICAgQVNTRVJUX0VRKGJsZW5kU3RhdGVFeHQuZ2V0RHN0Q29sb3JJbmRleGVkKDEpLCBzdGF0
aWNfY2FzdDxHTGVudW0+KEdMX0RTVF9DT0xPUikpOworICAgIEFTU0VSVF9FUShibGVuZFN0YXRl
RXh0LmdldFNyY0FscGhhSW5kZXhlZCgxKSwgc3RhdGljX2Nhc3Q8R0xlbnVtPihHTF9TUkNfQUxQ
SEEpKTsKKyAgICBBU1NFUlRfRVEoYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBoYUluZGV4ZWQoMSks
IHN0YXRpY19jYXN0PEdMZW51bT4oR0xfT05FKSk7Cit9CisKK30gIC8vIG5hbWVzcGFjZSBhbmds
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1
cmVfZ2xlc18yXzBfcGFyYW1zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9jYXB0dXJlX2dsZXNfMl8wX3BhcmFtcy5jcHAKaW5kZXggMGQxYTI2NTk4NjAyNjVkMDFi
ZTlmOWI0NjYwODE5YTZiNzdkM2M0MC4uMjk1YmQyNTBhZGUxNTRmNmJkMzExNGJlOTIyNTdhZmE4
NjBiZTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L2NhcHR1cmVfZ2xlc18yXzBfcGFyYW1zLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzXzJfMF9wYXJhbXMuY3BwCkBAIC01MjUsNyArNTI1
LDEwIEBAIHZvaWQgQ2FwdHVyZUdldFRleFBhcmFtZXRlcml2X3BhcmFtcyhjb25zdCBTdGF0ZSAm
Z2xTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCAqcGFy
YW1zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFtQ2FwdHVyZSAq
cGFyYW1DYXB0dXJlKQogewotICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICBpZiAocGFyYW1zKQor
ICAgIHsKKyAgICAgICAgcGFyYW1DYXB0dXJlLT5yZWFkQnVmZmVyU2l6ZUJ5dGVzID0gc2l6ZW9m
KEdMaW50KTsKKyAgICB9CiB9CiAKIHZvaWQgQ2FwdHVyZUdldFVuaWZvcm1Mb2NhdGlvbl9uYW1l
KGNvbnN0IFN0YXRlICZnbFN0YXRlLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc18zXzBfcGFyYW1zLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9jYXB0dXJlX2dsZXNfM18wX3BhcmFtcy5jcHAKaW5k
ZXggZTBkMjkzYzg3ZWI5MTIyNWRiMTQ1Yjc1MjY0YWZmODI1MjAzMzkwNi4uNWQ3ZTViNDI0MDVh
ZGI2ODNjOTkzZDMzZmEzMzVkYjY4M2IxYzY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc18zXzBfcGFyYW1zLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzXzNfMF9wYXJh
bXMuY3BwCkBAIC00NTUsNyArNDU1LDEwIEBAIHZvaWQgQ2FwdHVyZUdldFN5bmNpdl9sZW5ndGgo
Y29uc3QgU3RhdGUgJmdsU3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50
ICp2YWx1ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFtQ2FwdHVyZSAqcGFy
YW1DYXB0dXJlKQogewotICAgIFVOSU1QTEVNRU5URUQoKTsKKyAgICBpZiAobGVuZ3RoKQorICAg
IHsKKyAgICAgICAgcGFyYW1DYXB0dXJlLT5yZWFkQnVmZmVyU2l6ZUJ5dGVzID0gc2l6ZW9mKEdM
c2l6ZWkpOworICAgIH0KIH0KIAogdm9pZCBDYXB0dXJlR2V0U3luY2l2X3ZhbHVlcyhjb25zdCBT
dGF0ZSAmZ2xTdGF0ZSwKQEAgLTQ2Nyw3ICs0NzAsMTYgQEAgdm9pZCBDYXB0dXJlR2V0U3luY2l2
X3ZhbHVlcyhjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xpbnQgKnZhbHVlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1DYXB0
dXJlICpwYXJhbUNhcHR1cmUpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOworICAgIC8vIFNwZWM6
IE9uIHN1Y2Nlc3MsIEdldFN5bmNpdiByZXBsYWNlcyB1cCB0byBidWZTaXplIGludGVnZXJzIGlu
IHZhbHVlcyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nCisgICAgLy8gcHJvcGVydHkgdmFsdWVzIG9m
IHRoZSBvYmplY3QgYmVpbmcgcXVlcmllZC4gVGhlIGFjdHVhbCBudW1iZXIgb2YgaW50ZWdlcnMg
cmVwbGFjZWQgaXMKKyAgICAvLyByZXR1cm5lZCBpbiAqbGVuZ3RoLklmIGxlbmd0aCBpcyBOVUxM
LCBubyBsZW5ndGggaXMgcmV0dXJuZWQuCisgICAgaWYgKGJ1ZlNpemUgPT0gMCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKHZhbHVlcykKKyAgICB7CisgICAgICAgIHBhcmFtQ2FwdHVyZS0+
cmVhZEJ1ZmZlclNpemVCeXRlcyA9IHNpemVvZihHTGludCkgKiBidWZTaXplOworICAgIH0KIH0K
IAogdm9pZCBDYXB0dXJlR2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nX2xlbmd0aChjb25zdCBT
dGF0ZSAmZ2xTdGF0ZSwKQEAgLTU5NCw3ICs2MDYsOCBAQCB2b2lkIENhcHR1cmVJbnZhbGlkYXRl
RnJhbWVidWZmZXJfYXR0YWNobWVudHMoY29uc3QgU3RhdGUgJmdsU3RhdGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xlbnVtICphdHRhY2ht
ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJh
bUNhcHR1cmUgKnBhcmFtQ2FwdHVyZSkKIHsKLSAgICBVTklNUExFTUVOVEVEKCk7CisgICAgQ2Fw
dHVyZU1lbW9yeShhdHRhY2htZW50cywgc2l6ZW9mKEdMZW51bSkgKiBudW1BdHRhY2htZW50cywg
cGFyYW1DYXB0dXJlKTsKKyAgICBwYXJhbUNhcHR1cmUtPnZhbHVlLnZvaWRDb25zdFBvaW50ZXJW
YWwgPSBwYXJhbUNhcHR1cmUtPmRhdGFbMF0uZGF0YSgpOwogfQogCiB2b2lkIENhcHR1cmVJbnZh
bGlkYXRlU3ViRnJhbWVidWZmZXJfYXR0YWNobWVudHMoY29uc3QgU3RhdGUgJmdsU3RhdGUsCkBA
IC04NDUsNyArODU4LDggQEAgdm9pZCBDYXB0dXJlVmVydGV4QXR0cmliSVBvaW50ZXJfcG9pbnRl
cihjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgdm9pZCAqcG9pbnRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUGFyYW1DYXB0dXJlICpwYXJhbUNhcHR1cmUpCiB7Ci0gICAgVU5JTVBM
RU1FTlRFRCgpOworICAgIENhcHR1cmVWZXJ0ZXhBdHRyaWJQb2ludGVyX3BvaW50ZXIoZ2xTdGF0
ZSwgaXNDYWxsVmFsaWQsIGluZGV4LCBzaXplLCB0eXBlUGFja2VkLCBmYWxzZSwgc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlciwgcGFyYW1DYXB0
dXJlKTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIGdsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzX2V4dF9hdXRvZ2VuLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzX2V4dF9hdXRvZ2Vu
LmgKaW5kZXggMTUwNmJhYmFmZjA3NDkzZDcwMTNiMDQ4MjdmM2NmZDM0MjFjOTIyZS4uNDM5M2Uy
YWYzNDRkMzFiYmEzOGU2ZWU3ZDUyODQ2NjE3NWE3ZDUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc19leHRfYXV0b2dlbi5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9jYXB0dXJlX2dsZXNfZXh0
X2F1dG9nZW4uaApAQCAtODE0LDYgKzgxNCw4IEBAIGFuZ2xlOjpDYWxsQ2FwdHVyZSBDYXB0dXJl
TG9zZUNvbnRleHRDSFJPTUlVTShjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc1Jlc2V0U3RhdHVzIGN1cnJl
bnRQYWNrZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R3JhcGhpY3NSZXNldFN0YXR1cyBvdGhlclBhY2tlZCk7CiAKKy8vIEdMX0VYVF9FR0xfaW1hZ2Vf
YXJyYXkKKwogLy8gR0xfRVhUX2JsZW5kX2Z1bmNfZXh0ZW5kZWQKIGFuZ2xlOjpDYWxsQ2FwdHVy
ZSBDYXB0dXJlQmluZEZyYWdEYXRhTG9jYXRpb25FWFQoY29uc3QgU3RhdGUgJmdsU3RhdGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXND
YWxsVmFsaWQsCkBAIC0xMjMyLDYgKzEyMzQsOCBAQCBhbmdsZTo6Q2FsbENhcHR1cmUgQ2FwdHVy
ZUltcG9ydFNlbWFwaG9yZUZkRVhUKGNvbnN0IFN0YXRlICZnbFN0YXRlLAogCiAvLyBHTF9FWFRf
dGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgKIAorLy8gR0xfRVhUX3RleHR1cmVfc1JHQl9SOAorCiAv
LyBHTF9FWFRfdGV4dHVyZV9zdG9yYWdlCiBhbmdsZTo6Q2FsbENhcHR1cmUgQ2FwdHVyZVRleFN0
b3JhZ2UxREVYVChjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgaXNDYWxsVmFsaWQsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzX2V4dF9wYXJhbXMuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmVfZ2xlc19leHRf
cGFyYW1zLmNwcAppbmRleCBkODE0MjBmYjkxOTc3NzMxMWRhMGJlYWY5ZTRiMDdmOTZkMzVlNzgx
Li4zZTY2ODgwNGQ3YjdiNDhjM2ZlZjc4YmJhNzI3Y2E1NWE5NjlhNTQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZV9nbGVzX2V4dF9wYXJh
bXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9jYXB0dXJl
X2dsZXNfZXh0X3BhcmFtcy5jcHAKQEAgLTgsNiArOCw3IEBACiAKICNpbmNsdWRlICJsaWJBTkdM
RS9jYXB0dXJlX2dsZXNfZXh0X2F1dG9nZW4uaCIKIAorI2luY2x1ZGUgImxpYkFOR0xFL2NhcHR1
cmVfZ2xlc18yXzBfYXV0b2dlbi5oIgogI2luY2x1ZGUgImxpYkFOR0xFL2NhcHR1cmVfZ2xlc18z
XzBfYXV0b2dlbi5oIgogCiB1c2luZyBuYW1lc3BhY2UgYW5nbGU7CkBAIC0yNjIsNyArMjYzLDgg
QEAgdm9pZCBDYXB0dXJlRHJhd0VsZW1lbnRzQmFzZVZlcnRleE9FU19pbmRpY2VzKGNvbnN0IFN0
YXRlICZnbFN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMaW50IGJhc2V2ZXJ0ZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUGFyYW1DYXB0dXJlICppbmRpY2VzUGFyYW0pCiB7Ci0gICAgVU5JTVBMRU1F
TlRFRCgpOworICAgIENhcHR1cmVEcmF3RWxlbWVudHNfaW5kaWNlcyhnbFN0YXRlLCBpc0NhbGxW
YWxpZCwgbW9kZVBhY2tlZCwgY291bnQsIHR5cGVQYWNrZWQsIGluZGljZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGljZXNQYXJhbSk7CiB9CiAKIHZvaWQgQ2FwdHVyZURy
YXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhPRVNfaW5kaWNlcyhjb25zdCBTdGF0ZSAmZ2xT
dGF0ZSwKQEAgLTMxMTEsNyArMzExMyw4IEBAIHZvaWQgQ2FwdHVyZVRleEltYWdlM0RPRVNfcGl4
ZWxzKGNvbnN0IFN0YXRlICZnbFN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqcGl4ZWxzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UGFyYW1DYXB0dXJlICpwYXJhbUNhcHR1cmUpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOworICAg
IENhcHR1cmVUZXhJbWFnZTNEX3BpeGVscyhnbFN0YXRlLCBpc0NhbGxWYWxpZCwgdGFyZ2V0UGFj
a2VkLCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoZWlnaHQsIGRlcHRoLCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzLCBwYXJh
bUNhcHR1cmUpOwogfQogCiB2b2lkIENhcHR1cmVUZXhTdWJJbWFnZTNET0VTX3BpeGVscyhjb25z
dCBTdGF0ZSAmZ2xTdGF0ZSwKQEAgLTMxMjksNyArMzEzMiw4IEBAIHZvaWQgQ2FwdHVyZVRleFN1
YkltYWdlM0RPRVNfcGl4ZWxzKGNvbnN0IFN0YXRlICZnbFN0YXRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqcGl4ZWxzLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUGFyYW1DYXB0dXJlICpwYXJhbUNhcHR1cmUpCiB7Ci0gICAg
VU5JTVBMRU1FTlRFRCgpOworICAgIENhcHR1cmVUZXhTdWJJbWFnZTNEX3BpeGVscyhnbFN0YXRl
LCBpc0NhbGxWYWxpZCwgdGFyZ2V0UGFja2VkLCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9mZnNldCwgd2lkdGgsIGhlaWdodCwgZGVw
dGgsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzLCBwYXJhbUNhcHR1cmUpOwogfQogCiB2b2lkIENhcHR1
cmVHZXRTYW1wbGVyUGFyYW1ldGVySWl2T0VTX3BhcmFtcyhjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9lbnRyeV9w
b2ludHNfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9lbnRy
eV9wb2ludHNfdXRpbHMuaAppbmRleCA0ZDE4ODZlMmEwZWU5NDZkYzJlYTQwODljZDE0NmIzYzRk
Yzg3MzcwLi5lODA5NGE4NTZiOTY3YTU5ZGMwYmRkZDUwM2YzZTMwMjlmOWY0Y2E4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvZW50cnlfcG9pbnRzX3V0
aWxzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2VudHJ5X3Bv
aW50c191dGlscy5oCkBAIC05OSw3ICs5OSw3IEBAIGNvbnN0ZXhwciBBTkdMRV9JTkxJTkUgUmV0
dXJuVHlwZSBHZXREZWZhdWx0UmV0dXJuVmFsdWUoKQogCiBpbmxpbmUgaW50IENJRChjb25zdCBD
b250ZXh0ICpjb250ZXh0KQogewotICAgIHJldHVybiBjb250ZXh0ICE9IG51bGxwdHIgPyBjb250
ZXh0LT5pZCgpIDogMDsKKyAgICByZXR1cm4gY29udGV4dCAhPSBudWxscHRyID8gc3RhdGljX2Nh
c3Q8aW50Pihjb250ZXh0LT5pZCgpKSA6IDA7CiB9CiB9ICAvLyBuYW1lc3BhY2UgZ2wKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2VzM19mb3JtYXRf
dHlwZV9jb21iaW5hdGlvbnMuanNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9lczNfZm9ybWF0X3R5cGVfY29tYmluYXRpb25zLmpzb24KaW5kZXggNDA2OGZjNzJlOWJj
M2NmNzY0NGQ0MTg4MjQxODIwNzY3MGE5NzhiOS4uYTUyOGJiOTk3OGIwMmY0ZGM5NWNkNDFkOGM4
NDJkZWMxZTEyNzY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL2VzM19mb3JtYXRfdHlwZV9jb21iaW5hdGlvbnMuanNvbgorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvZXMzX2Zvcm1hdF90eXBlX2NvbWJpbmF0aW9ucy5q
c29uCkBAIC0xMDUsNiArMTA1LDEwIEBACiAgICAgICAgIFsgIkdMX1NSR0I4X0FMUEhBOF9FWFQi
LCAgICJHTF9TUkdCX0FMUEhBX0VYVCIsICJHTF9VTlNJR05FRF9CWVRFIiBdLAogICAgICAgICBb
ICJHTF9TUkdCOCIsICAgICAgICAgICAgICAiR0xfU1JHQl9FWFQiLCAgICAgICAiR0xfVU5TSUdO
RURfQllURSIgXQogICAgIF0sCisgICAgIkZyb20gR0xfRVhUX3RleHR1cmVfc1JHQl9SOCI6Cisg
ICAgWworICAgICAgICBbICJHTF9TUjhfRVhUIiwgICAgICAgICAgICAiR0xfUkVEIiwgICAgICAg
IkdMX1VOU0lHTkVEX0JZVEUiIF0KKyAgICBdLAogICAgICJGcm9tIEdMX09FU190ZXh0dXJlX2Zs
b2F0IjoKICAgICBbCiAgICAgICAgIFsgIkdMX1JHQkEiLCAgICAgICAgICAgICAgICJHTF9SR0JB
IiwgICAgICAgICAgICAiR0xfRkxPQVQiIF0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvZm9ybWF0X21hcF9hdXRvZ2VuLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9mb3JtYXRfbWFwX2F1dG9nZW4uY3BwCmluZGV4IDAy
NDhmYWI1OGU2NTJiMTVjNjc1NWY2N2VjOWJmYjVmOTlhOGI5NjIuLmI0ODUxNDNkZmQ5OGRkOGEw
OTdmNGZjNjZlZTFjNDlkNmE1NDI5ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9mb3JtYXRfbWFwX2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9mb3JtYXRfbWFwX2F1dG9nZW4uY3BwCkBAIC0yOTks
NiArMjk5LDggQEAgR0xlbnVtIEdldFNpemVkRm9ybWF0SW50ZXJuYWwoR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHTF9ERVBUSF9DT01QT05F
TlQzMkY7CiAgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9JTlQ6CiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHTF9ERVBUSF9DT01QT05FTlQzMl9PRVM7CisgICAgICAgICAgICAg
ICAgY2FzZSBHTF9VTlNJR05FRF9JTlRfMjRfODoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdMX0RFUFRIMjRfU1RFTkNJTDg7CiAgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9T
SE9SVDoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX0RFUFRIX0NPTVBPTkVOVDE2Owog
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC01NjQsNiArNTY2LDE2IEBAIEdMZW51bSBHZXRT
aXplZEZvcm1hdEludGVybmFsKEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlKQogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBHTF9TVEVOQ0lMX0lOREVY
X09FUzoKKyAgICAgICAgICAgIHN3aXRjaCAodHlwZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHTF9TVEVOQ0lMX0lOREVYODsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCiAg
ICAgICAgIGNhc2UgR0xfTk9ORToKICAgICAgICAgICAgIHJldHVybiBHTF9OT05FOwogCkBAIC04
NDMsMTQgKzg1NSwxNSBAQCBib29sIFZhbGlkRVMzRm9ybWF0Q29tYmluYXRpb24oR0xlbnVtIGZv
cm1hdCwgR0xlbnVtIHR5cGUsIEdMZW51bSBpbnRlcm5hbEZvcm1hdAogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9GTE9BVDoKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAoaW50ZXJuYWxGb3JtYXQpCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgR0xfUkdCOgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9S
R0I4OgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0I1NjU6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlIEdMX1NSR0I4OgorICAgICAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9SR0IzMkY6CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX1JHQjE2RjoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUjExRl9HMTFGX0IxMEY6CisgICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlIEdMX1JHQjlfRTU6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtODk2LDE1ICs5MDksMTQgQEAgYm9vbCBW
YWxpZEVTM0Zvcm1hdENvbWJpbmF0aW9uKEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGVu
dW0gaW50ZXJuYWxGb3JtYXQKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2FzZSBHTF9G
TE9BVDoKKyAgICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CiAgICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAg
ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX1JHQjoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUkdCMzJGOgotICAgICAgICAgICAgICAg
ICAgICAgICAgY2FzZSBHTF9SR0IxNkY6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdM
X1IxMUZfRzExRl9CMTBGOgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0I5X0U1
OgorICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0I4OgorICAgICAgICAgICAgICAg
ICAgICAgICAgY2FzZSBHTF9SR0I1NjU6CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdM
X1NSR0I4OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKQEAgLTk0NSwzMiArOTU3LDMyIEBAIGJvb2wgVmFsaWRFUzNGb3JtYXRDb21iaW5hdGlv
bihHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xlbnVtIGludGVybmFsRm9ybWF0CiAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0
KQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdM
X0xVTUlOQU5DRV9BTFBIQToKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5B
TkNFX0FMUEhBMTZGX0VYVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5B
TkNFX0FMUEhBOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2FzZSBHTF9GTE9BVDoKKyAg
ICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CiAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBI
QToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhBMzJGX0VY
VDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhU
OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOgorICAg
ICAgICAgICAgICAgIGNhc2UgR0xfRkxPQVQ6CiAgICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQToKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhUOgorICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSBHTF9MVU1JTkFOQ0VfQUxQSEEzMkZfRVhUOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTk4MSw4
ICs5OTMsOCBAQCBib29sIFZhbGlkRVMzRm9ybWF0Q29tYmluYXRpb24oR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIEdMZW51bSBpbnRlcm5hbEZvcm1hdAogICAgICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcm5hbEZvcm1hdCkKICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9MVU1JTkFOQ0VfQUxQSEE6
CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQ6
CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQToKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDAx
LDMyICsxMDEzLDMyIEBAIGJvb2wgVmFsaWRFUzNGb3JtYXRDb21iaW5hdGlvbihHTGVudW0gZm9y
bWF0LCBHTGVudW0gdHlwZSwgR0xlbnVtIGludGVybmFsRm9ybWF0CiAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0FMUEhBOgogICAg
ICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9BTFBIQTE2Rl9FWFQ6CisgICAgICAgICAgICAg
ICAgICAgICAgICBjYXNlIEdMX0FMUEhBOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2Fz
ZSBHTF9GTE9BVDoKKyAgICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CiAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0
KQogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdM
X0FMUEhBOgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9BTFBIQTMyRl9FWFQ6Cisg
ICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0FMUEhBOF9FWFQ6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9GTE9BVDoKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAoaW50ZXJuYWxGb3JtYXQpCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgR0xfQUxQSEE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdM
X0FMUEhBOF9FWFQ6CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0FMUEhBMzJGX0VY
VDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CkBAIC0xMDM3LDggKzEwNDksOCBAQCBib29sIFZhbGlkRVMzRm9ybWF0Q29tYmluYXRpb24oR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMZW51bSBpbnRlcm5hbEZvcm1hdAogICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcm5hbEZvcm1hdCkKICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9BTFBI
QToKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfQUxQSEExNkZfRVhUOgorICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSBHTF9BTFBIQToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTAwLDE1ICsxMTEyLDEzIEBAIGJv
b2wgVmFsaWRFUzNGb3JtYXRDb21iaW5hdGlvbihHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
R0xlbnVtIGludGVybmFsRm9ybWF0CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNhc2Ug
R0xfVU5TSUdORURfQllURToKKyAgICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FUOgogICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcm5hbEZvcm1hdCkK
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9S
R0JBOgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0JBODoKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNhc2UgR0xfUkdCNV9BMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNh
c2UgR0xfUkdCQTQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX1NSR0I4X0FMUEhB
ODoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUkdCQTMyRjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNhc2UgR0xfUkdCQTE2RjoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTM4LDEzICsxMTQ4LDE1IEBAIGJvb2wg
VmFsaWRFUzNGb3JtYXRDb21iaW5hdGlvbihHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xl
bnVtIGludGVybmFsRm9ybWF0CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNhc2UgR0xf
RkxPQVQ6CisgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOgogICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcm5hbEZvcm1hdCkKICAg
ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0JB
OgotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9SR0JBMzJGOgotICAgICAgICAgICAg
ICAgICAgICAgICAgY2FzZSBHTF9SR0JBMTZGOgorICAgICAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9SR0JBODoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUkdCNV9BMToKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUkdCQTQ6CisgICAgICAgICAgICAgICAgICAg
ICAgICBjYXNlIEdMX1NSR0I4X0FMUEhBODoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTg2LDMyICsxMTk4LDMyIEBAIGJvb2wgVmFs
aWRFUzNGb3JtYXRDb21iaW5hdGlvbihHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xlbnVt
IGludGVybmFsRm9ybWF0CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBz
d2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRToKICAgICAgICAgICAgICAgICAgICAgICAg
IGNhc2UgR0xfTFVNSU5BTkNFMTZGX0VYVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2Ug
R0xfTFVNSU5BTkNFOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2FzZSBHTF9GTE9BVDoK
KyAgICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CiAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRToK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFMzJGX0VYVDoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9FWFQ6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9GTE9BVDoKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAoaW50ZXJuYWxGb3JtYXQpCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOgotICAgICAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9MVU1JTkFOQ0U4X0VYVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfTFVN
SU5BTkNFMzJGX0VYVDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CkBAIC0xMjIyLDggKzEyMzQsOCBAQCBib29sIFZhbGlkRVMzRm9ybWF0Q29t
YmluYXRpb24oR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMZW51bSBpbnRlcm5hbEZvcm1h
dAogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnRlcm5h
bEZvcm1hdCkKICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
Y2FzZSBHTF9MVU1JTkFOQ0U6CiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlO
QU5DRTE2Rl9FWFQ6CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBA
IC0xNDUwLDYgKzE0NjIsNyBAQCBib29sIFZhbGlkRVMzRm9ybWF0Q29tYmluYXRpb24oR0xlbnVt
IGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMZW51bSBpbnRlcm5hbEZvcm1hdAogICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KQogICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEdMX1JFRDoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgR0xfU1I4X0VYVDoKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR0xfUjg6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL2Zvcm1hdF9tYXBfZGF0YS5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL2Zvcm1hdF9tYXBfZGF0YS5qc29uCmluZGV4IGQzMDE4N2JmN2M2YzRh
NDY2NjhlMmFhNWJmOTc3NDg1YWMyMTI3NDkuLmEzYzg5ODQwNmY5ZDM5ZWViYWY3ZmVkODk2ZDlk
ODVkMmVjNmY0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9mb3JtYXRfbWFwX2RhdGEuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvZm9ybWF0X21hcF9kYXRhLmpzb24KQEAgLTE1NSwxMSArMTU1LDE1IEBACiAg
ICAgIkdMX0RFUFRIX0NPTVBPTkVOVCI6IHsKICAgICAgICAgIkdMX1VOU0lHTkVEX1NIT1JUIjog
IkdMX0RFUFRIX0NPTVBPTkVOVDE2IiwKICAgICAgICAgIkdMX1VOU0lHTkVEX0lOVCI6ICJHTF9E
RVBUSF9DT01QT05FTlQzMl9PRVMiLAorICAgICAgICAiR0xfVU5TSUdORURfSU5UXzI0XzgiOiAi
R0xfREVQVEgyNF9TVEVOQ0lMOCIsCiAgICAgICAgICJHTF9GTE9BVCI6ICJHTF9ERVBUSF9DT01Q
T05FTlQzMkYiCiAgICAgfSwKICAgICAiR0xfU1RFTkNJTCI6IHsKICAgICAgICAgIkdMX1VOU0lH
TkVEX0JZVEUiOiAiR0xfU1RFTkNJTF9JTkRFWDgiCiAgICAgfSwKKyAgICAiR0xfU1RFTkNJTF9J
TkRFWF9PRVMiOiB7CisgICAgICAgICJHTF9VTlNJR05FRF9CWVRFIjogIkdMX1NURU5DSUxfSU5E
RVg4IgorICAgIH0sCiAgICAgIkdMX0RFUFRIX1NURU5DSUwiOiB7CiAgICAgICAgICJHTF9VTlNJ
R05FRF9JTlRfMjRfOCI6ICJHTF9ERVBUSDI0X1NURU5DSUw4IiwKICAgICAgICAgIkdMX0ZMT0FU
XzMyX1VOU0lHTkVEX0lOVF8yNF84X1JFViI6ICJHTF9ERVBUSDMyRl9TVEVOQ0lMOCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9mb3JtYXR1dGlscy5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvZm9ybWF0dXRpbHMuY3Bw
CmluZGV4IGViODI3NDk4NTEzZjllMjRlMWVlNThhZWJlNjJlOWUwMjJlNTVhN2UuLjA1N2Q5NTQ1
OTk1MzZhNzM2ODY0ODA0ZGI1NDY3NTMwNDEyZTA5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9mb3JtYXR1dGlscy5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2Zvcm1hdHV0aWxzLmNwcApAQCAtMzc0LDExICsz
NzQsNyBAQCBHTGVudW0gSW50ZXJuYWxGb3JtYXQ6OmdldFJlYWRQaXhlbHNGb3JtYXQoY29uc3Qg
RXh0ZW5zaW9ucyAmZXh0ZW5zaW9ucykgY29uc3QKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICByZXR1cm4gR0xfUkdCQTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gR0xfQkdSQV9FWFQ7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHTF9CR1JBX0VY
VDsKIAogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGZvcm1hdDsKQEAgLTM5
OSwxMCArMzk1LDcgQEAgR0xlbnVtIEludGVybmFsRm9ybWF0OjpnZXRSZWFkUGl4ZWxzVHlwZShj
b25zdCBWZXJzaW9uICZ2ZXJzaW9uKSBjb25zdAogICAgICAgICAgICAgICAgIC8vIGFzIGFuIElN
UExFTUVOVEFUSU9OX1JFQURfVFlQRS4KICAgICAgICAgICAgICAgICByZXR1cm4gR0xfSEFMRl9G
TE9BVF9PRVM7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEdMX0hBTEZfRkxPQVQ7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICByZXR1cm4gR0xfSEFMRl9GTE9BVDsKIAogICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgcmV0dXJuIHR5cGU7CkBAIC03ODksNyArNzgyLDcgQEAgc3RhdGljIEludGVybmFs
Rm9ybWF0SW5mb01hcCBCdWlsZEludGVybmFsRm9ybWF0SW5mb01hcCgpCiAgICAgQWRkUkdCQUZv
cm1hdCgmbWFwLCBHTF9SR0IxMF9BMiwgICAgICAgICAgdHJ1ZSwgMTAsIDEwLCAxMCwgIDIsIDAs
IEdMX1JHQkEsICAgICAgICAgR0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWLCAgICBHTF9V
TlNJR05FRF9OT1JNQUxJWkVELCBmYWxzZSwgUmVxdWlyZUVTPDMsIDA+LCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkLCBSZXF1aXJlRVM8MywgMD4sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8MywgMD4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDMsIDA+KTsKICAgICBBZGRSR0JBRm9y
bWF0KCZtYXAsIEdMX1JHQjEwX0EyVUksICAgICAgICB0cnVlLCAxMCwgMTAsIDEwLCAgMiwgMCwg
R0xfUkdCQV9JTlRFR0VSLCBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsICAgIEdMX1VO
U0lHTkVEX0lOVCwgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8MywgMD4sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgIFJlcXVpcmVFUzwzLCAwPiwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzLCAwPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCk7CiAgICAgQWRkUkdCQUZvcm1h
dCgmbWFwLCBHTF9TUkdCOCwgICAgICAgICAgICAgdHJ1ZSwgIDgsICA4LCAgOCwgIDAsIDAsIEdM
X1JHQiwgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBHTF9VTlNJ
R05FRF9OT1JNQUxJWkVELCB0cnVlLCAgUmVxdWlyZUVTPDMsIDA+LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkLCBOZXZlclN1cHBvcnRlZCwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpOwotICAgIEFkZFJHQkFGb3JtYXQo
Jm1hcCwgR0xfU1JHQjhfQUxQSEE4LCAgICAgIHRydWUsICA4LCAgOCwgIDgsICA4LCAwLCBHTF9S
R0JBLCAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfVU5TSUdO
RURfTk9STUFMSVpFRCwgdHJ1ZSwgIFJlcXVpcmVFUzwzLCAwPiwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCwgUmVxdWlyZUVTPDMsIDA+LCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgMCwgJkV4dGVuc2lv
bnM6OnNSR0I+LCAgICAgICAgIFJlcXVpcmVFU09yRXh0PDMsIDAsICZFeHRlbnNpb25zOjpzUkdC
Pik7CisgICAgQWRkUkdCQUZvcm1hdCgmbWFwLCBHTF9TUkdCOF9BTFBIQTgsICAgICAgdHJ1ZSwg
IDgsICA4LCAgOCwgIDgsIDAsIEdMX1JHQkEsICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAg
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCB0cnVlLCAgUmVxdWlyZUVTT3JF
eHQ8MywgMCwgJkV4dGVuc2lvbnM6OnNSR0I+LCAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkLCBS
ZXF1aXJlRVM8MywgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJl
RVNPckV4dDwzLCAwLCAmRXh0ZW5zaW9uczo6c1JHQj4sICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8
MywgMCwgJkV4dGVuc2lvbnM6OnNSR0I+KTsKICAgICBBZGRSR0JBRm9ybWF0KCZtYXAsIEdMX1Ix
MUZfRzExRl9CMTBGLCAgICB0cnVlLCAxMSwgMTEsIDEwLCAgMCwgMCwgR0xfUkdCLCAgICAgICAg
ICBHTF9VTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWLCAgIEdMX0ZMT0FULCAgICAgICAgICAg
ICAgIGZhbHNlLCBSZXF1aXJlRVM8MywgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBBbHdheXNTdXBwb3J0ZWQsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OmNvbG9yQnVmZmVy
RmxvYXQ+LCAgICAgICAgIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OmNvbG9yQnVmZmVyRmxvYXQ+
LCAgICAgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjpjb2xvckJ1ZmZlckZsb2F0Pik7CiAgICAg
QWRkUkdCQUZvcm1hdCgmbWFwLCBHTF9SR0I5X0U1LCAgICAgICAgICAgdHJ1ZSwgIDksICA5LCAg
OSwgIDAsIDUsIEdMX1JHQiwgICAgICAgICAgR0xfVU5TSUdORURfSU5UXzVfOV85XzlfUkVWLCAg
ICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDMsIDA+LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkLCBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpOwogICAgIEFk
ZFJHQkFGb3JtYXQoJm1hcCwgR0xfUjhJLCAgICAgICAgICAgICAgIHRydWUsICA4LCAgMCwgIDAs
ICAwLCAwLCBHTF9SRURfSU5URUdFUiwgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzLCAwPiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgUmVxdWlyZUVTPDMs
IDA+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDMsIDA+LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKTsKQEAgLTg1Miw3
ICs4NDUsNyBAQCBzdGF0aWMgSW50ZXJuYWxGb3JtYXRJbmZvTWFwIEJ1aWxkSW50ZXJuYWxGb3Jt
YXRJbmZvTWFwKCkKICAgICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfREVQVEhfQ09N
UE9ORU5UMzJGLCAgICB0cnVlLCAzMiwgMCwgIDAsIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfRkxP
QVQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1
aXJlRVM8MywgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgMCwgJkV4dGVuc2lvbnM6OmRlcHRo
VGV4dHVyZUFOR0xFPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJl
RVM8MywgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzLCAwPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8MywgMD4pOwogICAgIEFkZERlcHRo
U3RlbmNpbEZvcm1hdCgmbWFwLCBHTF9ERVBUSF9DT01QT05FTlQzMl9PRVMsIHRydWUsIDMyLCAw
LCAgMCwgR0xfREVQVEhfQ09NUE9ORU5ULCBHTF9VTlNJR05FRF9JTlQsICAgICAgICAgICAgICAg
ICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6
ZGVwdGhUZXh0dXJlQU5HTEUsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVPRVM+LCBBbHdheXNT
dXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6ZGVw
dGhUZXh0dXJlQU5HTEUsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVPRVM+LCAgICAgICAgICAg
ICAgICAgUmVxdWlyZUV4dE9yRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZUFOR0xF
LCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlT0VTLCAmRXh0ZW5zaW9uczo6ZGVwdGgzMk9FUz4s
IFJlcXVpcmVFeHRPckV4dE9yRXh0PCZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVBTkdMRSwgJkV4
dGVuc2lvbnM6OmRlcHRoVGV4dHVyZU9FUywgJkV4dGVuc2lvbnM6OmRlcHRoMzJPRVM+KTsKICAg
ICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfREVQVEgyNF9TVEVOQ0lMOCwgICAgICB0
cnVlLCAyNCwgOCwgIDAsIEdMX0RFUFRIX1NURU5DSUwsICAgR0xfVU5TSUdORURfSU5UXzI0Xzgs
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBSZXF1aXJlRVNPckV4dDwzLCAw
LCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlQU5HTEU+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgQWx3YXlzU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVNPckV4dE9yRXh0PDMs
IDAsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVBTkdMRSwgJkV4dGVuc2lvbnM6OnBhY2tlZERl
cHRoU3RlbmNpbE9FUz4sIFJlcXVpcmVFU09yRXh0T3JFeHQ8MywgMCwgJkV4dGVuc2lvbnM6OmRl
cHRoVGV4dHVyZUFOR0xFLCAmRXh0ZW5zaW9uczo6cGFja2VkRGVwdGhTdGVuY2lsT0VTPiwgICAg
ICAgICAgICAgICBSZXF1aXJlRVNPckV4dE9yRXh0PDMsIDAsICZFeHRlbnNpb25zOjpkZXB0aFRl
eHR1cmVBTkdMRSwgJkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbE9FUz4pOwotICAgIEFk
ZERlcHRoU3RlbmNpbEZvcm1hdCgmbWFwLCBHTF9ERVBUSDMyRl9TVEVOQ0lMOCwgICAgIHRydWUs
IDMyLCA4LCAyNCwgR0xfREVQVEhfU1RFTkNJTCwgICBHTF9GTE9BVF8zMl9VTlNJR05FRF9JTlRf
MjRfOF9SRVYsIEdMX0ZMT0FULCAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzLCAwPiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
bHdheXNTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzLCAwPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmVxdWlyZUVTPDMsIDA+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlcXVpcmVFUzwzLCAwPik7CisgICAgQWRkRGVwdGhTdGVuY2lsRm9ybWF0KCZtYXAs
IEdMX0RFUFRIMzJGX1NURU5DSUw4LCAgICAgdHJ1ZSwgMzIsIDgsIDI0LCBHTF9ERVBUSF9TVEVO
Q0lMLCAgIEdMX0ZMT0FUXzMyX1VOU0lHTkVEX0lOVF8yNF84X1JFViwgR0xfRkxPQVQsICAgICAg
ICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgMCwgJkV4dGVuc2lvbnM6OmRlcHRoQnVmZmVyRmxv
YXQyTlY+LCAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgMCwgJkV4dGVuc2lvbnM6OmRlcHRoQnVmZmVyRmxvYXQy
TlY+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVNPckV4
dDwzLCAwLCAmRXh0ZW5zaW9uczo6ZGVwdGhCdWZmZXJGbG9hdDJOVj4sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8Mywg
MCwgJkV4dGVuc2lvbnM6OmRlcHRoQnVmZmVyRmxvYXQyTlY+KTsKICAgICAvLyBTVEVOQ0lMX0lO
REVYOCBpcyBzcGVjaWFsLWNhc2VkLCBzZWUgYXJvdW5kIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qu
CiAKICAgICAvLyBMdW1pbmFuY2UgYWxwaGEgZm9ybWF0cwpAQCAtMTAwOSw2ICsxMDAyLDEwIEBA
IHN0YXRpYyBJbnRlcm5hbEZvcm1hdEluZm9NYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAo
KQogICAgIEFkZFJHQkFGb3JtYXQoJm1hcCwgR0xfUkdCQTE2X0VYVCwgICAgICAgdHJ1ZSwgMTYs
IDE2LCAxNiwgMTYsIDAsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX1NIT1JULCBHTF9VTlNJR05FRF9O
T1JNQUxJWkVELCBmYWxzZSwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZU5vcm0xNj4s
IEFsd2F5c1N1cHBvcnRlZCwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZU5vcm0xNj4s
IFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVOb3JtMTY+LCBSZXF1aXJlRXh0PCZFeHRl
bnNpb25zOjp0ZXh0dXJlTm9ybTE2Pik7CiAgICAgQWRkUkdCQUZvcm1hdCgmbWFwLCBHTF9SR0JB
MTZfU05PUk1fRVhULCB0cnVlLCAxNiwgMTYsIDE2LCAxNiwgMCwgR0xfUkdCQSwgR0xfU0hPUlQs
ICAgICAgICAgIEdMX1NJR05FRF9OT1JNQUxJWkVELCAgIGZhbHNlLCBSZXF1aXJlRXh0PCZFeHRl
bnNpb25zOjp0ZXh0dXJlTm9ybTE2PiwgQWx3YXlzU3VwcG9ydGVkLCBOZXZlclN1cHBvcnRlZCwg
ICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAg
ICAgICAgIE5ldmVyU3VwcG9ydGVkKTsKIAorICAgIC8vIEZyb20gRVhUX3RleHR1cmVfc1JHQl9S
OAorICAgIC8vICAgICAgICAgICAgICAgICB8IEludGVybmFsIGZvcm1hdCAgICB8c2l6ZWR8IFIg
fCBHIHwgQiB8IEEgfFMgfCBGb3JtYXQgfCBUeXBlICAgICAgICAgICAgIHwgQ29tcG9uZW50IHR5
cGUgICAgICAgIHwgU1JHQiB8IFRleHR1cmUgc3VwcG9ydGVkICAgICAgICAgICAgICAgICAgICAg
fCBGaWx0ZXJhYmxlICAgICB8IFRleHR1cmUgYXR0YWNobWVudCAgICAgICAgICAgICAgICAgICAg
fCBSZW5kZXJidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQmxlbmQKKyAgICBBZGRS
R0JBRm9ybWF0KCZtYXAsIEdMX1NSOF9FWFQsICAgICAgICAgIHRydWUsICA4LCAgMCwgIDAsICAw
LCAwLCBHTF9SRUQsICBHTF9VTlNJR05FRF9CWVRFLCAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwg
dHJ1ZSwgIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnNSR0JSOEVYVD4sICAgICBBbHdheXNTdXBw
b3J0ZWQsIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpOworCiAgICAgLy8g
VW5zaXplZCBmb3JtYXRzCiAgICAgLy8gICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0
ICB8c2l6ZWQgfCBSIHwgRyB8IEIgfCBBIHxTIHwgRm9ybWF0ICAgICAgICAgICB8IFR5cGUgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgQ29tcG9uZW50IHR5cGUgICAgICAgIHwgU1JHQiB8IFRl
eHR1cmUgc3VwcG9ydGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRmlsdGVyYWJs
ZSAgICAgfCBUZXh0dXJlIGF0dGFjaG1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBS
ZW5kZXJidWZmZXIgIHwgQmxlbmQKICAgICBBZGRSR0JBRm9ybWF0KCZtYXAsIEdMX1JFRCwgICAg
ICAgICAgICBmYWxzZSwgIDgsICAwLCAgMCwgIDAsIDAsIEdMX1JFRCwgICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIGZhbHNl
LCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlUkc+LCAgICAgICAgICAgICAgIEFsd2F5
c1N1cHBvcnRlZCwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgICAgICAgICAg
ICAgTmV2ZXJTdXBwb3J0ZWQsIE5ldmVyU3VwcG9ydGVkKTsKQEAgLTEwOTcsOSArMTA5NCwxMSBA
QCBzdGF0aWMgSW50ZXJuYWxGb3JtYXRJbmZvTWFwIEJ1aWxkSW50ZXJuYWxGb3JtYXRJbmZvTWFw
KCkKICAgICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCBm
YWxzZSwgMTYsIDAsICAwLCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX1NIT1JULCAg
ICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWlyZUVTPDEsIDA+LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCwg
UmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVBTkdMRSwgJkV4dGVuc2lv
bnM6OmRlcHRoVGV4dHVyZU9FUz4sICAgICAgICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6
OmRlcHRoVGV4dHVyZUFOR0xFLCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlT0VTPiwgICAgICAg
IFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlQU5HTEUsICZFeHRlbnNp
b25zOjpkZXB0aFRleHR1cmVPRVM+KTsKICAgICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwg
R0xfREVQVEhfQ09NUE9ORU5ULCBmYWxzZSwgMjQsIDAsICAwLCBHTF9ERVBUSF9DT01QT05FTlQs
IEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpF
RCwgUmVxdWlyZUVTPDEsIDA+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEFsd2F5c1N1cHBvcnRlZCwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjpkZXB0aFRl
eHR1cmVBTkdMRSwgJkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZU9FUz4sICAgICAgICBSZXF1aXJl
RXh0T3JFeHQ8JkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZUFOR0xFLCAmRXh0ZW5zaW9uczo6ZGVw
dGhUZXh0dXJlT0VTPiwgICAgICAgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6ZGVwdGhU
ZXh0dXJlQU5HTEUsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVPRVM+KTsKICAgICBBZGREZXB0
aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCBmYWxzZSwgMzIsIDAsICAw
LCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUVTPDEsIDA+LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCwgUmVxdWlyZUVTPDEsIDA+
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXF1aXJlRVM8MSwgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwxLCAw
Pik7CisgICAgQWRkRGVwdGhTdGVuY2lsRm9ybWF0KCZtYXAsIEdMX0RFUFRIX0NPTVBPTkVOVCwg
ZmFsc2UsIDI0LCA4LCAgMCwgR0xfREVQVEhfQ09NUE9ORU5ULCBHTF9VTlNJR05FRF9JTlRfMjRf
OCwgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVFU09yRXh0PDMs
IDAsICZFeHRlbnNpb25zOjpwYWNrZWREZXB0aFN0ZW5jaWxPRVM+LCBBbHdheXNTdXBwb3J0ZWQs
IFJlcXVpcmVFeHRBbmRFeHQ8JkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbE9FUywgJkV4
dGVuc2lvbnM6OmRlcHRoVGV4dHVyZUFOR0xFPiwgUmVxdWlyZUV4dEFuZEV4dDwmRXh0ZW5zaW9u
czo6cGFja2VkRGVwdGhTdGVuY2lsT0VTLCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlQU5HTEU+
LCBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25zOjpwYWNrZWREZXB0aFN0ZW5jaWxPRVMsICZF
eHRlbnNpb25zOjpkZXB0aFRleHR1cmVBTkdMRT4pOwogICAgIEFkZERlcHRoU3RlbmNpbEZvcm1h
dCgmbWFwLCBHTF9ERVBUSF9TVEVOQ0lMLCAgIGZhbHNlLCAyNCwgOCwgIDAsIEdMX0RFUFRIX1NU
RU5DSUwsICAgR0xfVU5TSUdORURfSU5UXzI0XzgsICAgICAgICAgICAgICBHTF9VTlNJR05FRF9O
T1JNQUxJWkVELCBSZXF1aXJlRVNPckV4dDwzLCAwLCAmRXh0ZW5zaW9uczo6cGFja2VkRGVwdGhT
dGVuY2lsT0VTPiwgQWx3YXlzU3VwcG9ydGVkLCBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25z
OjpwYWNrZWREZXB0aFN0ZW5jaWxPRVMsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVBTkdMRT4s
IFJlcXVpcmVFeHRBbmRFeHQ8JkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbE9FUywgJkV4
dGVuc2lvbnM6OmRlcHRoVGV4dHVyZUFOR0xFPiwgUmVxdWlyZUV4dEFuZEV4dDwmRXh0ZW5zaW9u
czo6cGFja2VkRGVwdGhTdGVuY2lsT0VTLCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlQU5HTEU+
KTsKICAgICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfREVQVEhfU1RFTkNJTCwgICBm
YWxzZSwgMzIsIDgsIDI0LCBHTF9ERVBUSF9TVEVOQ0lMLCAgIEdMX0ZMT0FUXzMyX1VOU0lHTkVE
X0lOVF8yNF84X1JFViwgR0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8Mywg
MCwgJkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbE9FUz4sIEFsd2F5c1N1cHBvcnRlZCwg
UmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6cGFja2VkRGVwdGhTdGVuY2lsT0VTPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjpwYWNr
ZWREZXB0aFN0ZW5jaWxPRVM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbE9FUz4pOwogICAgIEFk
ZERlcHRoU3RlbmNpbEZvcm1hdCgmbWFwLCBHTF9TVEVOQ0lMLCAgICAgICAgIGZhbHNlLCAgMCwg
OCwgIDAsIEdMX1NURU5DSUwsICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBSZXF1aXJlRVM8MSwgMD4sICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQgLCBSZXF1aXJlRVM8
MSwgMD4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwxLCAwPiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVT
PDEsIDA+KTsKKyAgICBBZGREZXB0aFN0ZW5jaWxGb3JtYXQoJm1hcCwgR0xfU1RFTkNJTF9JTkRF
WCwgICBmYWxzZSwgIDAsIDgsICAwLCBHTF9TVEVOQ0lMX0lOREVYLCAgIEdMX1VOU0lHTkVEX0JZ
VEUsICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWlyZUVTPDMs
IDE+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9y
dGVkICwgUmVxdWlyZUVTPDMsIDE+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8MywgMT4sICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlcXVpcmVFUzwzLCAxPik7CiAgICAgLy8gY2xhbmctZm9ybWF0IG9uCiAKICAgICBy
ZXR1cm4gbWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL2dsX2VudW1fdXRpbHNfYXV0b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvZ2xfZW51bV91dGlsc19hdXRvZ2VuLmNwcAppbmRleCBmNzRmNTNjYzExMGZj
MmI4MzNkMWVjZDQzODYxMjRkNGFiODM5MjM3Li5mZWQ1YWU0MTQ0M2M5NmM0YWFiMDE2ZTliNDRm
ZjYwYWQzNjZhOWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvZ2xfZW51bV91dGlsc19hdXRvZ2VuLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvZ2xfZW51bV91dGlsc19hdXRvZ2VuLmNwcApAQCAtMTQwMiw2ICsx
NDAyLDggQEAgY29uc3QgY2hhciAqR0xlbnVtVG9TdHJpbmcoR0xlbnVtR3JvdXAgZW51bUdyb3Vw
LCB1bnNpZ25lZCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiR0xfU0lH
TkVEX05PUk1BTElaRUQiOwogICAgICAgICAgICAgICAgIGNhc2UgMHg4RkJCOgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gIkdMX0dQVV9ESVNKT0lOVF9FWFQiOworICAgICAgICAgICAgICAg
IGNhc2UgMHg4RkJEOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkdMX1NSOF9FWFQiOwog
ICAgICAgICAgICAgICAgIGNhc2UgMHg5MDBBOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
IkdMX1RFWFRVUkVfQklORElOR19DVUJFX01BUF9BUlJBWSI7CiAgICAgICAgICAgICAgICAgY2Fz
ZSAweDkwMEM6CkBAIC00MDM2LDYgKzQwMzgsMTEgQEAgc3RkOjpzdHJpbmcgR0xiaXRmaWVsZFRv
U3RyaW5nKEdMZW51bUdyb3VwIGVudW1Hcm91cCwgdW5zaWduZWQgaW50IHZhbHVlKQogewogICAg
IHN0ZDo6c3RyaW5nc3RyZWFtIHN0OwogCisgICAgaWYgKHZhbHVlID09IDApCisgICAgeworICAg
ICAgICByZXR1cm4gIjAiOworICAgIH0KKwogICAgIGNvbnN0IGFuZ2xlOjpCaXRTZXQ8MzI+IGJp
dFNldCh2YWx1ZSk7CiAgICAgYm9vbCBmaXJzdCA9IHRydWU7CiAgICAgZm9yIChjb25zdCBhdXRv
IGluZGV4IDogYml0U2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3F1ZXJ5dXRpbHMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3F1ZXJ5dXRpbHMuY3BwCmluZGV4IDRlNmYxMTIyNWJmNTEyMjkwNzY5ZDFjNmRjZTk1
Y2Q1YTNkYjFiMjYuLmEwZDEyYjExNjJiNGIzY2U5NTI0MWM5NDhmYjE1OGI2ZDkyNDFiZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9xdWVyeXV0aWxz
LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcXVlcnl1dGls
cy5jcHAKQEAgLTMwNCw2ICszMDQsOSBAQCB2b2lkIFF1ZXJ5VGV4UGFyYW1ldGVyQmFzZShjb25z
dCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICBjYXNlIEdMX1RFWFRVUkVfU1JHQl9ERUNPREVf
RVhUOgogICAgICAgICAgICAgKnBhcmFtcyA9IENhc3RGcm9tR0xpbnRTdGF0ZVZhbHVlPFBhcmFt
VHlwZT4ocG5hbWUsIHRleHR1cmUtPmdldFNSR0JEZWNvZGUoKSk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBHTF9URVhUVVJFX0ZPUk1BVF9TUkdCX09WRVJSSURFX0VYVDoKKyAg
ICAgICAgICAgICpwYXJhbXMgPSBDYXN0RnJvbUdMaW50U3RhdGVWYWx1ZTxQYXJhbVR5cGU+KHBu
YW1lLCB0ZXh0dXJlLT5nZXRTUkdCT3ZlcnJpZGUoKSk7CisgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBHTF9ERVBUSF9TVEVOQ0lMX1RFWFRVUkVfTU9ERToKICAgICAgICAgICAgICpw
YXJhbXMgPQogICAgICAgICAgICAgICAgIENhc3RGcm9tR0xpbnRTdGF0ZVZhbHVlPFBhcmFtVHlw
ZT4ocG5hbWUsIHRleHR1cmUtPmdldERlcHRoU3RlbmNpbFRleHR1cmVNb2RlKCkpOwpAQCAtNDMy
LDYgKzQzNSw5IEBAIHZvaWQgU2V0VGV4UGFyYW1ldGVyQmFzZShDb250ZXh0ICpjb250ZXh0LCBU
ZXh0dXJlICp0ZXh0dXJlLCBHTGVudW0gcG5hbWUsIGNvbnN0CiAgICAgICAgIGNhc2UgR0xfVEVY
VFVSRV9TUkdCX0RFQ09ERV9FWFQ6CiAgICAgICAgICAgICB0ZXh0dXJlLT5zZXRTUkdCRGVjb2Rl
KGNvbnRleHQsIENvbnZlcnRUb0dMZW51bShwbmFtZSwgcGFyYW1zWzBdKSk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBHTF9URVhUVVJFX0ZPUk1BVF9TUkdCX09WRVJSSURFX0VY
VDoKKyAgICAgICAgICAgIHRleHR1cmUtPnNldFNSR0JPdmVycmlkZShjb250ZXh0LCBDb252ZXJ0
VG9HTGVudW0ocG5hbWUsIHBhcmFtc1swXSkpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgR0xfVEVYVFVSRV9DUk9QX1JFQ1RfT0VTOgogICAgICAgICAgICAgdGV4dHVyZS0+c2V0
Q3JvcChnbDo6UmVjdGFuZ2xlKENvbnZlcnRUZXhQYXJhbTxpc0dMZml4ZWQsIEdMaW50PihwbmFt
ZSwgcGFyYW1zWzBdKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb252ZXJ0VGV4UGFyYW08aXNHTGZpeGVkLCBHTGludD4ocG5hbWUsIHBhcmFtc1sxXSksCkBA
IC02NzYsNyArNjgyLDcgQEAgR0xpbnQgR2V0SW5wdXRSZXNvdXJjZVByb3BlcnR5KGNvbnN0IFBy
b2dyYW0gKnByb2dyYW0sIEdMdWludCBpbmRleCwgR0xlbnVtIHByb3AKICAgICAgICAgICAgIHJl
dHVybiBjbGFtcENhc3Q8R0xpbnQ+KHByb2dyYW0tPmdldElucHV0UmVzb3VyY2VOYW1lKGluZGV4
KS5zaXplKCkgKyAxdSk7CiAKICAgICAgICAgY2FzZSBHTF9MT0NBVElPTjoKLSAgICAgICAgICAg
IHJldHVybiB2YXJpYWJsZS5sb2NhdGlvbjsKKyAgICAgICAgICAgIHJldHVybiB2YXJpYWJsZS5p
c0J1aWx0SW4oKSA/IEdMX0lOVkFMSURfSU5ERVggOiB2YXJpYWJsZS5sb2NhdGlvbjsKIAogICAg
ICAgICAvLyBUaGUgcXVlcnkgaXMgdGFyZ2V0ZWQgYXQgdGhlIHNldCBvZiBhY3RpdmUgaW5wdXQg
dmFyaWFibGVzIHVzZWQgYnkgdGhlIGZpcnN0IHNoYWRlciBzdGFnZQogICAgICAgICAvLyBvZiBw
cm9ncmFtLiBJZiBwcm9ncmFtIGNvbnRhaW5zIG11bHRpcGxlIHNoYWRlciBzdGFnZXMgdGhlbiBp
bnB1dCB2YXJpYWJsZXMgZnJvbSBhbnkKQEAgLTEyNzAsNyArMTI3NiwxNCBAQCB2b2lkIFF1ZXJ5
UHJvZ3JhbWl2KENvbnRleHQgKmNvbnRleHQsIGNvbnN0IFByb2dyYW0gKnByb2dyYW0sIEdMZW51
bSBwbmFtZSwgR0xpbgogICAgICAgICAgICAgKnBhcmFtcyA9IHByb2dyYW0tPmdldEJpbmFyeVJl
dHJpZXZhYmxlSGludCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR0xfUFJP
R1JBTV9TRVBBUkFCTEU6Ci0gICAgICAgICAgICAqcGFyYW1zID0gcHJvZ3JhbS0+aXNTZXBhcmFi
bGUoKTsKKyAgICAgICAgICAgIC8vIEZyb20gZXMzMWNTZXBhcmF0ZVNoYWRlck9ianNUZXN0cy5j
cHA6CisgICAgICAgICAgICAvLyBQcm9ncmFtUGFyYW1ldGVyaSBQUk9HUkFNX1NFUEFSQUJMRQor
ICAgICAgICAgICAgLy8gTk9URTogVGhlIHF1ZXJ5IGZvciBQUk9HUkFNX1NFUEFSQUJMRSBtdXN0
IHF1ZXJ5IGxhdGNoZWQKKyAgICAgICAgICAgIC8vICAgICAgIHN0YXRlLiBJbiBvdGhlciB3b3Jk
cywgdGhlIHN0YXRlIG9mIHRoZSBiaW5hcnkgYWZ0ZXIKKyAgICAgICAgICAgIC8vICAgICAgIGl0
IHdhcyBsaW5rZWQuIFNvIGluIHRoZSB0ZXN0cyBiZWxvdywgdGhlIHF1ZXJpZXMKKyAgICAgICAg
ICAgIC8vICAgICAgIHNob3VsZCByZXR1cm4gdGhlIGRlZmF1bHQgc3RhdGUgR0xfRkFMU0Ugc2lu
Y2UgdGhlCisgICAgICAgICAgICAvLyAgICAgICBwcm9ncmFtIGhhcyBubyBsaW5rZWQgYmluYXJ5
LgorICAgICAgICAgICAgKnBhcmFtcyA9IHByb2dyYW0tPmlzU2VwYXJhYmxlKCkgJiYgcHJvZ3Jh
bS0+aXNMaW5rZWQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdMX0NPTVBV
VEVfV09SS19HUk9VUF9TSVpFOgogICAgICAgICB7CkBAIC0yOTY2LDYgKzI5NzksNyBAQCBib29s
IEdldFF1ZXJ5UGFyYW1ldGVySW5mbyhjb25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgY2Fz
ZSBHTF9QQUNLX0FMSUdOTUVOVDoKICAgICAgICAgY2FzZSBHTF9VTlBBQ0tfQUxJR05NRU5UOgog
ICAgICAgICBjYXNlIEdMX0dFTkVSQVRFX01JUE1BUF9ISU5UOgorICAgICAgICBjYXNlIEdMX1RF
WFRVUkVfRklMVEVSSU5HX0hJTlRfQ0hST01JVU06CiAgICAgICAgIGNhc2UgR0xfUkVEX0JJVFM6
CiAgICAgICAgIGNhc2UgR0xfR1JFRU5fQklUUzoKICAgICAgICAgY2FzZSBHTF9CTFVFX0JJVFM6
CkBAIC0zMTQ4LDYgKzMxNjIsMjAgQEAgYm9vbCBHZXRRdWVyeVBhcmFtZXRlckluZm8oY29uc3Qg
U3RhdGUgJmdsU3RhdGUsCiAgICAgICAgICAgICAqdHlwZSAgICAgID0gR0xfSU5UOwogICAgICAg
ICAgICAgKm51bVBhcmFtcyA9IDE7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
Y2FzZSBHTF9NQVhfQ0xJUF9ESVNUQU5DRVNfRVhUOiAgLy8gY2FzZSBHTF9NQVhfQ0xJUF9QTEFO
RVMKKyAgICAgICAgICAgIGlmIChjbGllbnRNYWpvclZlcnNpb24gPCAyKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KCFleHRlbnNpb25zLmNsaXBEaXN0YW5jZUFQUExFKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIC8vIE5PVEUoaHFsZSk6IGlmIGNsaWVudCB2ZXJzaW9uIGlzIDEuIEdMX01BWF9DTElQ
X0RJU1RBTkNFU19FWFQgaXMgZXF1YWwKKyAgICAgICAgICAgICAgICAvLyB0byBHTF9NQVhfQ0xJ
UF9QTEFORVMgd2hpY2ggaXMgYSB2YWxpZCBlbnVtLgorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICp0eXBlICAgICAgPSBHTF9JTlQ7Cisg
ICAgICAgICAgICAqbnVtUGFyYW1zID0gMTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KIAogICAgIGlmIChnbFN0YXRlLmdldENsaWVudFR5cGUoKSA9PSBFR0xfT1BFTkdMX0FQSSkK
QEAgLTM1NzksNiArMzYwNyw3IEBAIGJvb2wgR2V0UXVlcnlQYXJhbWV0ZXJJbmZvKGNvbnN0IFN0
YXRlICZnbFN0YXRlLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgLy8gQ2hl
Y2sgZm9yIEVTMy4xKyBwYXJhbWV0ZXIgbmFtZXMKICAgICBzd2l0Y2ggKHBuYW1lKQogICAgIHsK
ICAgICAgICAgY2FzZSBHTF9BVE9NSUNfQ09VTlRFUl9CVUZGRVJfQklORElORzoKQEAgLTM2Mjgs
NiArMzY1Nyw3IEBAIGJvb2wgR2V0UXVlcnlQYXJhbWV0ZXJJbmZvKGNvbnN0IFN0YXRlICZnbFN0
YXRlLAogICAgICAgICBjYXNlIEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUl9PRkZTRVRfQUxJR05N
RU5UOgogICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQklORElOR18yRF9NVUxUSVNBTVBMRToKICAg
ICAgICAgY2FzZSBHTF9URVhUVVJFX0JJTkRJTkdfMkRfTVVMVElTQU1QTEVfQVJSQVk6CisgICAg
ICAgIGNhc2UgR0xfUFJPR1JBTV9QSVBFTElORV9CSU5ESU5HOgogICAgICAgICAgICAgKnR5cGUg
ICAgICA9IEdMX0lOVDsKICAgICAgICAgICAgICpudW1QYXJhbXMgPSAxOwogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0zNjY4LDYgKzM2OTgsMTEzIEBAIGJvb2wgR2V0UXVlcnlQYXJhbWV0
ZXJJbmZvKGNvbnN0IFN0YXRlICZnbFN0YXRlLAogCiAgICAgcmV0dXJuIGZhbHNlOwogfQorCit2
b2lkIFF1ZXJ5UHJvZ3JhbVBpcGVsaW5laXYoY29uc3QgQ29udGV4dCAqY29udGV4dCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gcG5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xpbnQgKnBhcmFtcykKK3sKKyAgICBpZiAoIXBhcmFtcykKKyAgICB7
CisgICAgICAgIC8vIENhbid0IHdyaXRlIHRoZSByZXN1bHQgYW55d2hlcmUsIHNvIGp1c3QgcmV0
dXJuIGltbWVkaWF0ZWx5LgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc3dpdGNoIChw
bmFtZSkKKyAgICB7CisgICAgICAgIGNhc2UgR0xfQUNUSVZFX1BST0dSQU06CisgICAgICAgIHsK
KyAgICAgICAgICAgIC8vIHRoZSBuYW1lIG9mIHRoZSBhY3RpdmUgcHJvZ3JhbSBvYmplY3Qgb2Yg
dGhlIHByb2dyYW0gcGlwZWxpbmUgb2JqZWN0IGlzIHJldHVybmVkIGluCisgICAgICAgICAgICAv
LyBwYXJhbXMKKyAgICAgICAgICAgICpwYXJhbXMgPSAwOworICAgICAgICAgICAgaWYgKHByb2dy
YW1QaXBlbGluZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zdCBQcm9ncmFt
ICpwcm9ncmFtID0gcHJvZ3JhbVBpcGVsaW5lLT5nZXRBY3RpdmVTaGFkZXJQcm9ncmFtKCk7Cisg
ICAgICAgICAgICAgICAgaWYgKHByb2dyYW0pCisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAqcGFyYW1zID0gcHJvZ3JhbS0+aWQoKS52YWx1ZTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAg
ICAgIGNhc2UgR0xfVkVSVEVYX1NIQURFUjoKKyAgICAgICAgeworICAgICAgICAgICAgLy8gdGhl
IG5hbWUgb2YgdGhlIGN1cnJlbnQgcHJvZ3JhbSBvYmplY3QgZm9yIHRoZSB2ZXJ0ZXggc2hhZGVy
IHR5cGUgb2YgdGhlIHByb2dyYW0KKyAgICAgICAgICAgIC8vIHBpcGVsaW5lIG9iamVjdCBpcyBy
ZXR1cm5lZCBpbiBwYXJhbXMKKyAgICAgICAgICAgICpwYXJhbXMgPSAwOworICAgICAgICAgICAg
aWYgKHByb2dyYW1QaXBlbGluZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25z
dCBQcm9ncmFtICpwcm9ncmFtID0gcHJvZ3JhbVBpcGVsaW5lLT5nZXRTaGFkZXJQcm9ncmFtKFNo
YWRlclR5cGU6OlZlcnRleCk7CisgICAgICAgICAgICAgICAgaWYgKHByb2dyYW0pCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAqcGFyYW1zID0gcHJvZ3JhbS0+aWQoKS52
YWx1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR0xfRlJBR01FTlRfU0hBREVSOgorICAgICAg
ICB7CisgICAgICAgICAgICAvLyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBwcm9ncmFtIG9iamVj
dCBmb3IgdGhlIGZyYWdtZW50IHNoYWRlciB0eXBlIG9mIHRoZSBwcm9ncmFtCisgICAgICAgICAg
ICAvLyBwaXBlbGluZSBvYmplY3QgaXMgcmV0dXJuZWQgaW4gcGFyYW1zCisgICAgICAgICAgICAq
cGFyYW1zID0gMDsKKyAgICAgICAgICAgIGlmIChwcm9ncmFtUGlwZWxpbmUpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3JhbSA9IHByb2dyYW1QaXBl
bGluZS0+Z2V0U2hhZGVyUHJvZ3JhbShTaGFkZXJUeXBlOjpGcmFnbWVudCk7CisgICAgICAgICAg
ICAgICAgaWYgKHByb2dyYW0pCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAqcGFyYW1zID0gcHJvZ3JhbS0+aWQoKS52YWx1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2Ug
R0xfQ09NUFVURV9TSEFERVI6CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIHRoZSBuYW1lIG9m
IHRoZSBjdXJyZW50IHByb2dyYW0gb2JqZWN0IGZvciB0aGUgY29tcHV0ZSBzaGFkZXIgdHlwZSBv
ZiB0aGUgcHJvZ3JhbQorICAgICAgICAgICAgLy8gcGlwZWxpbmUgb2JqZWN0IGlzIHJldHVybmVk
IGluIHBhcmFtcworICAgICAgICAgICAgKnBhcmFtcyA9IDA7CisgICAgICAgICAgICBpZiAocHJv
Z3JhbVBpcGVsaW5lKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnN0IFByb2dy
YW0gKnByb2dyYW0gPSBwcm9ncmFtUGlwZWxpbmUtPmdldFNoYWRlclByb2dyYW0oU2hhZGVyVHlw
ZTo6Q29tcHV0ZSk7CisgICAgICAgICAgICAgICAgaWYgKHByb2dyYW0pCisgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAqcGFyYW1zID0gcHJvZ3JhbS0+aWQoKS52YWx1ZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIGNhc2UgR0xfSU5GT19MT0dfTEVOR1RIOgorICAgICAgICB7Cisg
ICAgICAgICAgICAvLyB0aGUgbGVuZ3RoIG9mIHRoZSBpbmZvIGxvZywgaW5jbHVkaW5nIHRoZSBu
dWxsIHRlcm1pbmF0b3IsIGlzIHJldHVybmVkIGluIHBhcmFtcy4gSWYKKyAgICAgICAgICAgIC8v
IHRoZXJlIGlzIG5vIGluZm8gbG9nLCB6ZXJvIGlzIHJldHVybmVkLgorICAgICAgICAgICAgKnBh
cmFtcyA9IDA7CisgICAgICAgICAgICBpZiAocHJvZ3JhbVBpcGVsaW5lKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICpwYXJhbXMgPSBwcm9ncmFtUGlwZWxpbmUtPmdldEV4ZWN1dGFi
bGUoKS5nZXRJbmZvTG9nTGVuZ3RoKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgR0xfVkFMSURBVEVfU1RBVFVTOgorICAgICAg
ICB7CisgICAgICAgICAgICAvLyB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgb2YgcGlwZWxpbmUsIGFz
IGRldGVybWluZWQgYnkgZ2xWYWxpZGF0ZVByb2dyYW1QaXBlbGluZSwgaXMKKyAgICAgICAgICAg
IC8vIHJldHVybmVkIGluIHBhcmFtcworICAgICAgICAgICAgKnBhcmFtcyA9IDA7CisgICAgICAg
ICAgICBpZiAocHJvZ3JhbVBpcGVsaW5lKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICpwYXJhbXMgPSBwcm9ncmFtUGlwZWxpbmUtPmlzVmFsaWQoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgIGJyZWFrOworICAgIH0KK30KKwogfSAgLy8gbmFtZXNwYWNlIGdsCiAKIG5hbWVzcGFjZSBl
Z2wKQEAgLTM4MzQsNyArMzk3MSwxMCBAQCB2b2lkIFF1ZXJ5Q29udGV4dEF0dHJpYihjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwgRUdMaW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YQogICAgIH0K
IH0KIAotdm9pZCBRdWVyeVN1cmZhY2VBdHRyaWIoY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwgRUdM
aW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YWx1ZSkKK2VnbDo6RXJyb3IgUXVlcnlTdXJmYWNlQXR0
cmliKGNvbnN0IERpc3BsYXkgKmRpc3BsYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBTdXJmYWNlICpzdXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RUdMaW50IGF0dHJpYnV0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTGludCAq
dmFsdWUpCiB7CiAgICAgc3dpdGNoIChhdHRyaWJ1dGUpCiAgICAgewpAQCAtMzg1MSw3ICszOTkx
LDcgQEAgdm9pZCBRdWVyeVN1cmZhY2VBdHRyaWIoY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwgRUdM
aW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YWx1ZSkKICAgICAgICAgICAgICp2YWx1ZSA9IHN1cmZh
Y2UtPmdldENvbmZpZygpLT5jb25maWdJRDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIEVHTF9IRUlHSFQ6Ci0gICAgICAgICAgICAqdmFsdWUgPSBzdXJmYWNlLT5nZXRIZWlnaHQo
KTsKKyAgICAgICAgICAgIEFOR0xFX1RSWShzdXJmYWNlLT5nZXRVc2VySGVpZ2h0KGRpc3BsYXks
IHZhbHVlKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBFR0xfSE9SSVpPTlRB
TF9SRVNPTFVUSU9OOgogICAgICAgICAgICAgKnZhbHVlID0gc3VyZmFjZS0+Z2V0SG9yaXpvbnRh
bFJlc29sdXRpb24oKTsKQEAgLTM5MDcsNyArNDA0Nyw3IEBAIHZvaWQgUXVlcnlTdXJmYWNlQXR0
cmliKGNvbnN0IFN1cmZhY2UgKnN1cmZhY2UsIEVHTGludCBhdHRyaWJ1dGUsIEVHTGludCAqdmFs
dWUpCiAgICAgICAgICAgICAqdmFsdWUgPSBzdXJmYWNlLT5nZXRWZXJ0aWNhbFJlc29sdXRpb24o
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEVHTF9XSURUSDoKLSAgICAgICAg
ICAgICp2YWx1ZSA9IHN1cmZhY2UtPmdldFdpZHRoKCk7CisgICAgICAgICAgICBBTkdMRV9UUlko
c3VyZmFjZS0+Z2V0VXNlcldpZHRoKGRpc3BsYXksIHZhbHVlKSk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBFR0xfUE9TVF9TVUJfQlVGRkVSX1NVUFBPUlRFRF9OVjoKICAgICAg
ICAgICAgICp2YWx1ZSA9IHN1cmZhY2UtPmlzUG9zdFN1YkJ1ZmZlclN1cHBvcnRlZCgpOwpAQCAt
MzkzNCw2ICs0MDc0LDcgQEAgdm9pZCBRdWVyeVN1cmZhY2VBdHRyaWIoY29uc3QgU3VyZmFjZSAq
c3VyZmFjZSwgRUdMaW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YWx1ZSkKICAgICAgICAgICAgIFVO
UkVBQ0hBQkxFKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICB9CisgICAgcmV0dXJuIE5vRXJy
b3IoKTsKIH0KIAogdm9pZCBTZXRTdXJmYWNlQXR0cmliKFN1cmZhY2UgKnN1cmZhY2UsIEVHTGlu
dCBhdHRyaWJ1dGUsIEVHTGludCB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9xdWVyeXV0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcXVlcnl1dGlscy5oCmluZGV4IGMwN2E2Nzc1Mjc3MzI4MDNkNzMxZDNm
MDViNjBjYmNlODZjZmU1NTIuLmQ2MThmNGJiYWJkOGU3NzM1MWY3MmYxMjIyYzdiMzA1ZDgxNGJk
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9xdWVy
eXV0aWxzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3F1ZXJ5
dXRpbHMuaApAQCAtMjU2LDYgKzI1NiwxMSBAQCBib29sIEdldFF1ZXJ5UGFyYW1ldGVySW5mbyhj
b25zdCBTdGF0ZSAmZ2xTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBw
bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSAqdHlwZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqbnVtUGFyYW1zKTsKKwordm9pZCBRdWVy
eVByb2dyYW1QaXBlbGluZWl2KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUHJvZ3JhbVBpcGVsaW5lICpwcm9ncmFtUGlwZWxpbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHBuYW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMaW50ICpwYXJhbXMpOwogfSAgLy8gbmFtZXNwYWNlIGdsCiAKIG5hbWVzcGFjZSBl
Z2wKQEAgLTI2OSw3ICsyNzQsMTAgQEAgdm9pZCBRdWVyeUNvbmZpZ0F0dHJpYihjb25zdCBDb25m
aWcgKmNvbmZpZywgRUdMaW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YWx1ZSk7CiAKIHZvaWQgUXVl
cnlDb250ZXh0QXR0cmliKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBFR0xpbnQgYXR0cmli
dXRlLCBFR0xpbnQgKnZhbHVlKTsKIAotdm9pZCBRdWVyeVN1cmZhY2VBdHRyaWIoY29uc3QgU3Vy
ZmFjZSAqc3VyZmFjZSwgRUdMaW50IGF0dHJpYnV0ZSwgRUdMaW50ICp2YWx1ZSk7CitlZ2w6OkVy
cm9yIFF1ZXJ5U3VyZmFjZUF0dHJpYihjb25zdCBEaXNwbGF5ICpkaXNwbGF5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVHTGludCBhdHRyaWJ1dGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBFR0xpbnQgKnZhbHVlKTsKIHZvaWQgU2V0U3VyZmFjZUF0dHJpYihTdXJmYWNl
ICpzdXJmYWNlLCBFR0xpbnQgYXR0cmlidXRlLCBFR0xpbnQgdmFsdWUpOwogRXJyb3IgR2V0U3lu
Y0F0dHJpYihEaXNwbGF5ICpkaXNwbGF5LCBTeW5jICpzeW5jLCBFR0xpbnQgYXR0cmlidXRlLCBF
R0xpbnQgKnZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL0VHTFN5bmNJbXBsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRUdMU3luY0ltcGwuaAppbmRleCA1OTkyYzQ4NDFlODNi
NWYxY2Y1ZDU2OWM0ODg0YmQ0OTZmMjNmMDNkLi5kOWY4OTI3MWYzMzA4YjI0MTAwOTAzYmM4ZDZk
ZDJjYzViYzc5ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvRUdMU3luY0ltcGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRUdMU3luY0ltcGwuaApAQCAtNDgsNyArNDgsNyBAQCBj
bGFzcyBFR0xTeW5jSW1wbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEVHTGludCBmbGFncykgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAwOwogICAgIHZpcnR1YWwgZWdsOjpFcnJvciBnZXRTdGF0dXMoY29uc3QgZWdsOjpE
aXNwbGF5ICpkaXNwbGF5LCBFR0xpbnQgKm91dFN0YXR1cykgPSAwOwogCi0gICAgdmlydHVhbCBl
Z2w6OkVycm9yIGR1cE5hdGl2ZUZlbmNlRkQoY29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5LCBF
R0xpbnQgKnJlc3VsdCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgZWdsOjpFcnJvciBkdXBOYXRp
dmVGZW5jZUZEKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwgRUdMaW50ICpmZE91dCkgY29u
c3QgPSAwOwogfTsKIH0gIC8vIG5hbWVzcGFjZSByeAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRm9ybWF0SURfYXV0b2dlbi5oIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0Zvcm1hdElEX2F1
dG9nZW4uaAppbmRleCBiZTVmYWUyMjA3NjQ0MmFhMTMwYzUyMTc5N2FjOWUzNjFhYmQ2MmZiLi5m
YzY5M2EzZjZjYmNlYWMzNDAyMTU3OGFjYTMwNDQ0YzhmNWE5MmQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRm9ybWF0SURfYXV0b2dl
bi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9G
b3JtYXRJRF9hdXRvZ2VuLmgKQEAgLTIzMCw2ICsyMzAsNyBAQCBlbnVtIGNsYXNzIEZvcm1hdElE
CiAgICAgUjhfU1NDQUxFRCwKICAgICBSOF9VSU5ULAogICAgIFI4X1VOT1JNLAorICAgIFI4X1VO
T1JNX1NSR0IsCiAgICAgUjhfVVNDQUxFRCwKICAgICBSOUc5QjlFNV9TSEFSRURFWFAsCiAgICAg
UzhfVUlOVCwKQEAgLTI0MSw3ICsyNDIsNyBAQCBlbnVtIGNsYXNzIEZvcm1hdElECiAgICAgWDJS
MTBHMTBCMTBfVVNDQUxFRF9WRVJURVgKIH07CiAKLWNvbnN0ZXhwciB1aW50MzJfdCBrTnVtQU5H
TEVGb3JtYXRzID0gMjIyOworY29uc3RleHByIHVpbnQzMl90IGtOdW1BTkdMRUZvcm1hdHMgPSAy
MjM7CiAKIH0gIC8vIG5hbWVzcGFjZSBhbmdsZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRm9ybWF0X3RhYmxlX2F1dG9nZW4uY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0Zvcm1hdF90
YWJsZV9hdXRvZ2VuLmNwcAppbmRleCBlYWUwZjAxZDQwYzYxZTU2OTdjNzBlNTMzOTA4MGFmOTRh
N2Y4OGRkLi4xZWQ5OTY1NWYxYjkxOTc2MmRmZmEyYzc2NTUzZGVkMDJmNTNlNmU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRm9ybWF0
X3RhYmxlX2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9Gb3JtYXRfdGFibGVfYXV0b2dlbi5jcHAKQEAgLTIzNyw2ICsyMzcsNyBA
QCBjb25zdCBGb3JtYXQgZ0Zvcm1hdEluZm9UYWJsZVtdID0gewogICAgIHsgRm9ybWF0SUQ6OlI4
X1NTQ0FMRUQsIEdMX1I4X1NTQ0FMRURfQU5HTEVYLCBHTF9SOF9TU0NBTEVEX0FOR0xFWCwgR2Vu
ZXJhdGVNaXA8UjhTPiwgTm9Db3B5RnVuY3Rpb25zLCBSZWFkQ29sb3I8UjhTLCBHTGludD4sIFdy
aXRlQ29sb3I8UjhTLCBHTGludD4sIEdMX0lOVCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwg
ZmFsc2UsIGZhbHNlLCB0cnVlLCBnbDo6VmVydGV4QXR0cmliVHlwZTo6Qnl0ZSB9LAogICAgIHsg
Rm9ybWF0SUQ6OlI4X1VJTlQsIEdMX1I4VUksIEdMX1I4VUksIEdlbmVyYXRlTWlwPFI4PiwgTm9D
b3B5RnVuY3Rpb25zLCBSZWFkQ29sb3I8UjgsIEdMdWludD4sIFdyaXRlQ29sb3I8UjgsIEdMdWlu
dD4sIEdMX1VOU0lHTkVEX0lOVCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgZmFsc2UsIGZh
bHNlLCBmYWxzZSwgZ2w6OlZlcnRleEF0dHJpYlR5cGU6OlVuc2lnbmVkQnl0ZSB9LAogICAgIHsg
Rm9ybWF0SUQ6OlI4X1VOT1JNLCBHTF9SOCwgR0xfUjgsIEdlbmVyYXRlTWlwPFI4PiwgTm9Db3B5
RnVuY3Rpb25zLCBSZWFkQ29sb3I8UjgsIEdMZmxvYXQ+LCBXcml0ZUNvbG9yPFI4LCBHTGZsb2F0
PiwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgZmFs
c2UsIGZhbHNlLCBmYWxzZSwgZ2w6OlZlcnRleEF0dHJpYlR5cGU6OlVuc2lnbmVkQnl0ZSB9LAor
ICAgIHsgRm9ybWF0SUQ6OlI4X1VOT1JNX1NSR0IsIEdMX1NSOF9FWFQsIEdMX1NSOF9FWFQsIEdl
bmVyYXRlTWlwPFI4PiwgTm9Db3B5RnVuY3Rpb25zLCBSZWFkQ29sb3I8UjgsIEdMZmxvYXQ+LCBX
cml0ZUNvbG9yPFI4LCBHTGZsb2F0PiwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgOCwgMCwgMCwg
MCwgMCwgMCwgMCwgMSwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZ2w6OlZlcnRleEF0dHJpYlR5
cGU6OkJ5dGUgfSwKICAgICB7IEZvcm1hdElEOjpSOF9VU0NBTEVELCBHTF9SOF9VU0NBTEVEX0FO
R0xFWCwgR0xfUjhfVVNDQUxFRF9BTkdMRVgsIEdlbmVyYXRlTWlwPFI4PiwgTm9Db3B5RnVuY3Rp
b25zLCBSZWFkQ29sb3I8UjgsIEdMdWludD4sIFdyaXRlQ29sb3I8UjgsIEdMdWludD4sIEdMX1VO
U0lHTkVEX0lOVCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgZmFsc2UsIGZhbHNlLCB0cnVl
LCBnbDo6VmVydGV4QXR0cmliVHlwZTo6VW5zaWduZWRCeXRlIH0sCiAgICAgeyBGb3JtYXRJRDo6
UjlHOUI5RTVfU0hBUkVERVhQLCBHTF9SR0I5X0U1LCBHTF9SR0I5X0U1LCBHZW5lcmF0ZU1pcDxS
OUc5QjlFNT4sIE5vQ29weUZ1bmN0aW9ucywgUmVhZENvbG9yPFI5RzlCOUU1LCBHTGZsb2F0Piwg
V3JpdGVDb2xvcjxSOUc5QjlFNSwgR0xmbG9hdD4sIEdMX0ZMT0FULCA5LCA5LCA5LCAwLCAwLCAw
LCAwLCA0LCBzdGQ6Om51bWVyaWNfbGltaXRzPEdMdWludD46Om1heCgpLCBmYWxzZSwgZmFsc2Us
IGZhbHNlLCBnbDo6VmVydGV4QXR0cmliVHlwZTo6SW52YWxpZEVudW0gfSwKICAgICB7IEZvcm1h
dElEOjpTOF9VSU5ULCBHTF9TVEVOQ0lMX0lOREVYOCwgR0xfU1RFTkNJTF9JTkRFWDgsIG51bGxw
dHIsIE5vQ29weUZ1bmN0aW9ucywgUmVhZERlcHRoU3RlbmNpbDxTOD4sIFdyaXRlRGVwdGhTdGVu
Y2lsPFM4PiwgR0xfVU5TSUdORURfSU5ULCAwLCAwLCAwLCAwLCAwLCAwLCA4LCAxLCBzdGQ6Om51
bWVyaWNfbGltaXRzPEdMdWludD46Om1heCgpLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBnbDo6VmVy
dGV4QXR0cmliVHlwZTo6SW52YWxpZEVudW0gfSwKQEAgLTY4Miw2ICs2ODMsOCBAQCBGb3JtYXRJ
RCBGb3JtYXQ6OkludGVybmFsRm9ybWF0VG9JRChHTGVudW0gaW50ZXJuYWxGb3JtYXQpCiAgICAg
ICAgICAgICByZXR1cm4gRm9ybWF0SUQ6OlI4RzhCOEE4X1RZUEVMRVNTX1NSR0I7CiAgICAgICAg
IGNhc2UgR0xfUkdCQThfVVNDQUxFRF9BTkdMRVg6CiAgICAgICAgICAgICByZXR1cm4gRm9ybWF0
SUQ6OlI4RzhCOEE4X1VTQ0FMRUQ7CisgICAgICAgIGNhc2UgR0xfU1I4X0VYVDoKKyAgICAgICAg
ICAgIHJldHVybiBGb3JtYXRJRDo6UjhfVU5PUk1fU1JHQjsKICAgICAgICAgY2FzZSBHTF9TUkdC
ODoKICAgICAgICAgICAgIHJldHVybiBGb3JtYXRJRDo6UjhHOEI4X1VOT1JNX1NSR0I7CiAgICAg
ICAgIGNhc2UgR0xfU1JHQjhfQUxQSEE4OgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0ZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdElt
cGwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9GcmFt
ZWJ1ZmZlckF0dGFjaG1lbnRPYmplY3RJbXBsLmgKaW5kZXggN2YzNDk3ZWFjYTI0ZDVmODIzNGI4
MmFlZTYzNzYxM2Q5MmQzZmExNS4uN2YxMGI0MmFkOGJiZTQxNDNkYWI1Nzk0MjUzZTJhNTk1OThk
MTIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL0ZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRnJhbWVidWZmZXJBdHRhY2htZW50
T2JqZWN0SW1wbC5oCkBAIC0yMywxMSArMjMsMTEgQEAgbmFtZXNwYWNlIHJ4CiB7CiBjbGFzcyBG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRSZW5kZXJUYXJnZXQ7CiAKLWNsYXNzIEZyYW1lYnVmZmVyQXR0
YWNobWVudE9iamVjdEltcGwgOiBhbmdsZTo6Tm9uQ29weWFibGUKK2NsYXNzIEZyYW1lYnVmZmVy
QXR0YWNobWVudE9iamVjdEltcGwgOiBwdWJsaWMgYW5nbGU6OlN1YmplY3QKIHsKICAgcHVibGlj
OgogICAgIEZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwoKSB7fQotICAgIHZpcnR1YWwg
fkZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwoKSB7fQorICAgIH5GcmFtZWJ1ZmZlckF0
dGFjaG1lbnRPYmplY3RJbXBsKCkgb3ZlcnJpZGUge30KIAogICAgIHZpcnR1YWwgYW5nbGU6OlJl
c3VsdCBnZXRBdHRhY2htZW50UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
ZW51bSBiaW5kaW5nLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL0ZyYW1lYnVmZmVySW1wbC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0ZyYW1lYnVmZmVySW1wbC5oCmluZGV4IGI2ZGIwNDgz
MWE3ZDU3MTFmMGZhMmNjOTI5MDdiYzJlMzc3ZGI4N2MuLmUxMzJlMTUzYmExZWY1MGQzNjI3NzM3
YTkzYTI2NDdhZDE2MmRjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9GcmFtZWJ1ZmZlckltcGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRnJhbWVidWZmZXJJbXBsLmgKQEAgLTYz
LDEzICs2MywxMyBAQCBjbGFzcyBGcmFtZWJ1ZmZlckltcGwgOiBhbmdsZTo6Tm9uQ29weWFibGUK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGZsb2F0IGRlcHRoLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IHN0ZW5jaWwpICAg
ICAgICAgICAgICAgICAgICAgICA9IDA7CiAKLSAgICB2aXJ0dWFsIEdMZW51bSBnZXRJbXBsZW1l
bnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgR0xlbnVtIGdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkVHlwZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3QgICA9IDA7CisgICAgdmlydHVhbCBjb25z
dCBnbDo6SW50ZXJuYWxGb3JtYXQgJmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KAor
ICAgICAgICBjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Q7CiAgICAgdmlydHVhbCBh
bmdsZTo6UmVzdWx0IHJlYWRQaXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmYXJl
YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnBpeGVscykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdm9pZCAqcGl4ZWxzKSA9IDA7CiAKICAgICB2aXJ0dWFsIGFuZ2xlOjpSZXN1bHQg
YmxpdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZzb3VyY2VBcmVhLApAQCAtODAsNiArODAsNyBA
QCBjbGFzcyBGcmFtZWJ1ZmZlckltcGwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB2aXJ0dWFs
IGJvb2wgY2hlY2tTdGF0dXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0ID0gMDsK
IAogICAgIHZpcnR1YWwgYW5nbGU6OlJlc3VsdCBzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gYmlu
ZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpGcmFt
ZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpID0gMDsKIAogICAgIHZpcnR1YWwgYW5nbGU6
OlJlc3VsdCBnZXRTYW1wbGVQb3NpdGlvbihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKQEAg
LTEwMyw2ICsxMDQsMTMgQEAgaW5saW5lIGJvb2wgRnJhbWVidWZmZXJJbXBsOjpzaG91bGRTeW5j
U3RhdGVCZWZvcmVDaGVja1N0YXR1cygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisv
LyBEZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgdGhlIGZvcm1hdCBzcGVjaWZpZWQgaW4g
dGhlIGF0dGFjaG1lbnQuCitpbmxpbmUgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZGcmFtZWJ1
ZmZlckltcGw6OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KAorICAgIGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAoreworICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlckF0
dGFjaG1lbnQgKnJlYWRBdHRhY2htZW50ID0gbVN0YXRlLmdldFJlYWRBdHRhY2htZW50KCk7Cisg
ICAgcmV0dXJuICpyZWFkQXR0YWNobWVudC0+Z2V0Rm9ybWF0KCkuaW5mbzsKK30KIH0gIC8vIG5h
bWVzcGFjZSByeAogCiAjZW5kaWYgIC8vIExJQkFOR0xFX1JFTkRFUkVSX0ZSQU1FQlVGRkVSSU1Q
TF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL0ZyYW1lYnVmZmVySW1wbF9tb2NrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvRnJhbWVidWZmZXJJbXBsX21vY2suaAppbmRleCA4ZDg0MWU3
MDIwY2Y0ZTk2ZmM1ZGU5ZDRmMmUzYTljMWE2MWU4YTdkLi5hZWYyZGNlZTY3ZWExZTZmMTA2ZWUw
NGVhN2Y4OGI0YTdmNjkwNmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvRnJhbWVidWZmZXJJbXBsX21vY2suaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvRnJhbWVidWZmZXJJbXBsX21v
Y2suaApAQCAtMjAsNyArMjAsNyBAQCBuYW1lc3BhY2UgcngKIGNsYXNzIE1vY2tGcmFtZWJ1ZmZl
ckltcGwgOiBwdWJsaWMgcng6OkZyYW1lYnVmZmVySW1wbAogewogICBwdWJsaWM6Ci0gICAgTW9j
a0ZyYW1lYnVmZmVySW1wbCgpIDogcng6OkZyYW1lYnVmZmVySW1wbChnbDo6RnJhbWVidWZmZXJT
dGF0ZSgpKSB7fQorICAgIE1vY2tGcmFtZWJ1ZmZlckltcGwoKSA6IHJ4OjpGcmFtZWJ1ZmZlcklt
cGwoZ2w6OkZyYW1lYnVmZmVyU3RhdGUoMSkpIHt9CiAgICAgdmlydHVhbCB+TW9ja0ZyYW1lYnVm
ZmVySW1wbCgpIHsgZGVzdHJ1Y3RvcigpOyB9CiAKICAgICBNT0NLX01FVEhPRDMoZGlzY2FyZCwg
YW5nbGU6OlJlc3VsdChjb25zdCBnbDo6Q29udGV4dCAqLCBzaXplX3QsIGNvbnN0IEdMZW51bSAq
KSk7CkBAIC0zNCw4ICszNCw2IEBAIGNsYXNzIE1vY2tGcmFtZWJ1ZmZlckltcGwgOiBwdWJsaWMg
cng6OkZyYW1lYnVmZmVySW1wbAogICAgIE1PQ0tfTUVUSE9ENChjbGVhckJ1ZmZlcml2LCBhbmds
ZTo6UmVzdWx0KGNvbnN0IGdsOjpDb250ZXh0ICosIEdMZW51bSwgR0xpbnQsIGNvbnN0IEdMaW50
ICopKTsKICAgICBNT0NLX01FVEhPRDUoY2xlYXJCdWZmZXJmaSwgYW5nbGU6OlJlc3VsdChjb25z
dCBnbDo6Q29udGV4dCAqLCBHTGVudW0sIEdMaW50LCBHTGZsb2F0LCBHTGludCkpOwogCi0gICAg
TU9DS19DT05TVF9NRVRIT0QxKGdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0LCBHTGVu
dW0oY29uc3QgZ2w6OkNvbnRleHQgKikpOwotICAgIE1PQ0tfQ09OU1RfTUVUSE9EMShnZXRJbXBs
ZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUsIEdMZW51bShjb25zdCBnbDo6Q29udGV4dCAqKSk7CiAg
ICAgTU9DS19NRVRIT0Q1KHJlYWRQaXhlbHMsCiAgICAgICAgICAgICAgICAgIGFuZ2xlOjpSZXN1
bHQoY29uc3QgZ2w6OkNvbnRleHQgKiwgY29uc3QgZ2w6OlJlY3RhbmdsZSAmLCBHTGVudW0sIEdM
ZW51bSwgdm9pZCAqKSk7CiAKQEAgLTUwLDcgKzQ4LDggQEAgY2xhc3MgTW9ja0ZyYW1lYnVmZmVy
SW1wbCA6IHB1YmxpYyByeDo6RnJhbWVidWZmZXJJbXBsCiAKICAgICBNT0NLX0NPTlNUX01FVEhP
RDEoY2hlY2tTdGF0dXMsIGJvb2woY29uc3QgZ2w6OkNvbnRleHQgKikpOwogCi0gICAgTU9DS19N
RVRIT0QyKHN5bmNTdGF0ZSwgYW5nbGU6OlJlc3VsdChjb25zdCBnbDo6Q29udGV4dCAqLCBjb25z
dCBnbDo6RnJhbWVidWZmZXI6OkRpcnR5Qml0cyAmKSk7CisgICAgTU9DS19NRVRIT0QzKHN5bmNT
dGF0ZSwKKyAgICAgICAgICAgICAgICAgYW5nbGU6OlJlc3VsdChjb25zdCBnbDo6Q29udGV4dCAq
LCBHTGVudW0sIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICYpKTsKIAogICAgIE1P
Q0tfTUVUSE9EMChkZXN0cnVjdG9yLCB2b2lkKCkpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9Qcm9ncmFtUGlwZWxpbmVJbXBs
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9Qcm9n
cmFtUGlwZWxpbmVJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTg5NzA1YTk2NGQ4MzMyMDIwMzlkYzY2
YjE0ZmI1OWI1M2ExOTU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUltcGwuY3BwCkBAIC0wLDAg
KzEsMTkgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIFByb2dyYW1QaXBlbGluZUltcGwuY3BwOiBEZWZpbmVz
IHRoZSBhYnN0cmFjdCByeDo6UHJvZ3JhbVBpcGVsaW5lSW1wbCBjbGFzcy4KKworI2luY2x1ZGUg
ImxpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUltcGwuaCIKKworbmFtZXNwYWNlIHJ4
Cit7CisKK2FuZ2xlOjpSZXN1bHQgUHJvZ3JhbVBpcGVsaW5lSW1wbDo6bGluayhjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCkKK3sKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
Cit9CisKK30gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUltcGwuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9Qcm9ncmFtUGlwZWxpbmVJ
bXBsLmgKaW5kZXggMjQyZTkyNjBmMWU1OGQyZmQyNDMxMmRiZWUzNDE3YTg2NDRhOWYwMi4uYjQ4
OGNhNDkwMTE5YTMyYjY4ODVlNjhiMGZmNzE2NTFhOTNlYjIyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1Byb2dyYW1QaXBlbGluZUlt
cGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
UHJvZ3JhbVBpcGVsaW5lSW1wbC5oCkBAIC0yMSw3ICsyMSwxMSBAQCBjbGFzcyBQcm9ncmFtUGlw
ZWxpbmVJbXBsIDogcHVibGljIGFuZ2xlOjpOb25Db3B5YWJsZQogICBwdWJsaWM6CiAgICAgUHJv
Z3JhbVBpcGVsaW5lSW1wbChjb25zdCBnbDo6UHJvZ3JhbVBpcGVsaW5lU3RhdGUgJnN0YXRlKSA6
IG1TdGF0ZShzdGF0ZSkge30KICAgICB2aXJ0dWFsIH5Qcm9ncmFtUGlwZWxpbmVJbXBsKCkge30K
LSAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveShjb25zdCBDb250ZXh0SW1wbCAqY29udGV4dEltcGwp
IHt9CisgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQp
IHt9CisKKyAgICB2aXJ0dWFsIGFuZ2xlOjpSZXN1bHQgbGluayhjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCk7CisKKyAgICBjb25zdCBnbDo6UHJvZ3JhbVBpcGVsaW5lU3RhdGUgJmdldFN0YXRl
KCkgY29uc3QgeyByZXR1cm4gbVN0YXRlOyB9CiAKICAgcHJvdGVjdGVkOgogICAgIGNvbnN0IGds
OjpQcm9ncmFtUGlwZWxpbmVTdGF0ZSAmbVN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1F1ZXJ5SW1wbC5oIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1F1ZXJ5SW1wbC5oCmluZGV4IGM0
NmIzZDM3MmNiZGQxOTgzYmU5Yzc5YjExNjI2MGQzYjYzMzk0NTMuLjM0Y2NiODA4ZWRkZGVkZGI0
NDg3YzQ2ZWJmNGIzYjQyYzM0ZjE5MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9RdWVyeUltcGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvUXVlcnlJbXBsLmgKQEAgLTM5LDYgKzM5
LDE1IEBAIGNsYXNzIFF1ZXJ5SW1wbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgZ2w6OlF1
ZXJ5VHlwZSBnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gbVR5cGU7IH0KIAorICAgIC8vIENvbnZl
bmllbnQgZnVuY3Rpb25zCisgICAgYm9vbCBpc09jY2x1c2lvblF1ZXJ5KCkgY29uc3QgeyByZXR1
cm4gaXNBbnlTYW1wbGVzUXVlcnkoKSB8fCBpc0FueVNhbXBsZXNDb25zZXJ2YXRpdmVRdWVyeSgp
OyB9CisgICAgYm9vbCBpc0FueVNhbXBsZXNRdWVyeSgpIGNvbnN0IHsgcmV0dXJuIGdldFR5cGUo
KSA9PSBnbDo6UXVlcnlUeXBlOjpBbnlTYW1wbGVzOyB9CisKKyAgICBib29sIGlzQW55U2FtcGxl
c0NvbnNlcnZhdGl2ZVF1ZXJ5KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBnZXRUeXBl
KCkgPT0gZ2w6OlF1ZXJ5VHlwZTo6QW55U2FtcGxlc0NvbnNlcnZhdGl2ZTsKKyAgICB9CisKICAg
cHJpdmF0ZToKICAgICBnbDo6UXVlcnlUeXBlIG1UeXBlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9SZW5kZXJUYXJnZXRDYWNo
ZS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1JlbmRl
clRhcmdldENhY2hlLmgKaW5kZXggNDlhNGFlMTQ3ZTIzYTkwOWQxZGI4YTRkM2E0Zjg3NzJiN2Y3
YmRjNS4uODk5ZjczODIxZTMyNGJmYjAxMzRhOGM3MjRhZjdiOWJmYjU4NWJkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1JlbmRlclRh
cmdldENhY2hlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL1JlbmRlclRhcmdldENhY2hlLmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBhbmdsZTo6UmVz
dWx0IFJlbmRlclRhcmdldENhY2hlPFJlbmRlclRhcmdldFQ+Ojp1cGRhdGVDb2xvclJlbmRlclRh
cmdldCgKIHsKICAgICAvLyBJZiB0aGUgY29sb3IgcmVuZGVyIHRhcmdldCB3ZSdyZSB1cGRhdGlu
ZyBpcyBhbHNvIHRoZSByZWFkIGJ1ZmZlciwgbWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUKICAgICAv
LyByZWFkIHJlbmRlciB0YXJnZXQgYWxzbyBzbyBpdCdzIG5vdCBzdGFsZS4KLSAgICBpZiAoc3Rh
dGUuZ2V0UmVhZEluZGV4KCkgPT0gY29sb3JJbmRleCkKKyAgICBpZiAoc3RhdGUuZ2V0UmVhZEJ1
ZmZlclN0YXRlKCkgIT0gR0xfTk9ORSAmJiBzdGF0ZS5nZXRSZWFkSW5kZXgoKSA9PSBjb2xvcklu
ZGV4KQogICAgIHsKICAgICAgICAgQU5HTEVfVFJZKHVwZGF0ZVJlYWRDb2xvclJlbmRlclRhcmdl
dChjb250ZXh0LCBzdGF0ZSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9TdXJmYWNlSW1wbC5jcHAgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvU3VyZmFjZUltcGwuY3BwCmluZGV4
IGI1Yjg1MjAwNWQ3YTE2MzY1ZTUyZjFjNzZkZjk1ZjRkYmQyN2I0NGMuLjhmMzA5Y2U0MmM2ZDcx
MjU2MmY1MzBkZDg2MGJiYjFhYzZjYzUxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9TdXJmYWNlSW1wbC5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1N1cmZhY2VJbXBsLmNwcApA
QCAtOTksNCArOTksMTYgQEAgZWdsOjpFcnJvciBTdXJmYWNlSW1wbDo6c3dhcFdpdGhGcmFtZVRv
a2VuKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIFVOUkVBQ0hBQkxFKCk7CiAgICAg
cmV0dXJuIGVnbDo6RWdsQmFkRGlzcGxheSgpOwogfQorCitlZ2w6OkVycm9yIFN1cmZhY2VJbXBs
OjpnZXRVc2VyV2lkdGgoY29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5LCBFR0xpbnQgKnZhbHVl
KSBjb25zdAoreworICAgICp2YWx1ZSA9IGdldFdpZHRoKCk7CisgICAgcmV0dXJuIGVnbDo6Tm9F
cnJvcigpOworfQorCitlZ2w6OkVycm9yIFN1cmZhY2VJbXBsOjpnZXRVc2VySGVpZ2h0KGNvbnN0
IGVnbDo6RGlzcGxheSAqZGlzcGxheSwgRUdMaW50ICp2YWx1ZSkgY29uc3QKK3sKKyAgICAqdmFs
dWUgPSBnZXRIZWlnaHQoKTsKKyAgICByZXR1cm4gZWdsOjpOb0Vycm9yKCk7Cit9CiB9ICAvLyBu
YW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9TdXJmYWNlSW1wbC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL1N1cmZhY2VJbXBsLmgKaW5kZXggYmViZDZhMDNhOWZhZjQ4YTJk
OTZlNDJjOTI0OGI3MmMzZjhjMzQ0NC4uYjRlNGE5M2YyNzYzNzE1MTE4NmRkNzdmNzgwZGRlMjhm
OGQ5MjUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL1N1cmZhY2VJbXBsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL1N1cmZhY2VJbXBsLmgKQEAgLTc5LDYgKzc5LDE1IEBAIGNsYXNz
IFN1cmZhY2VJbXBsIDogcHVibGljIEZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwKICAg
ICAvLyB3aWR0aCBhbmQgaGVpZ2h0IGNhbiBjaGFuZ2Ugd2l0aCBjbGllbnQgd2luZG93IHJlc2l6
aW5nCiAgICAgdmlydHVhbCBFR0xpbnQgZ2V0V2lkdGgoKSBjb25zdCAgPSAwOwogICAgIHZpcnR1
YWwgRUdMaW50IGdldEhlaWdodCgpIGNvbnN0ID0gMDsKKyAgICAvLyBOb3RlOiB3aW5kb3dzIGNh
bm5vdCBiZSByZXNpemVkIG9uIEFuZHJvaWQuICBUaGUgYXBwcm9hY2ggcmVxdWlyZXMKKyAgICAv
LyBjYWxsaW5nIHZrR2V0UGh5c2ljYWxEZXZpY2VTdXJmYWNlQ2FwYWJpbGl0aWVzS0hSLiAgSG93
ZXZlciwgdGhhdCBpcworICAgIC8vIGV4cGVuc2l2ZTsgYW5kIHRoZXJlIGFyZSB0cm91Ymxlc29t
ZSB0aW1pbmcgaXNzdWVzIGZvciBvdGhlciBwYXJ0cyBvZgorICAgIC8vIEFOR0xFICh3aGljaCBj
YXVzZSB0ZXN0IGZhaWx1cmVzIGFuZCBjcmFzaGVzKS4gIFRoZXJlZm9yZSwgYQorICAgIC8vIHNw
ZWNpYWwtQW5kcm9pZC1vbmx5IHBhdGggaXMgY3JlYXRlZCBqdXN0IGZvciB0aGUgcXVlcnlpbmcg
b2YgRUdMX1dJRFRICisgICAgLy8gYW5kIEVHTF9IRUlHSFQuCisgICAgLy8gaHR0cHM6Ly9pc3N1
ZXRyYWNrZXIuZ29vZ2xlLmNvbS9pc3N1ZXMvMTUzMzI5OTgwCisgICAgdmlydHVhbCBlZ2w6OkVy
cm9yIGdldFVzZXJXaWR0aChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAqdmFs
dWUpIGNvbnN0OworICAgIHZpcnR1YWwgZWdsOjpFcnJvciBnZXRVc2VySGVpZ2h0KGNvbnN0IGVn
bDo6RGlzcGxheSAqZGlzcGxheSwgRUdMaW50ICp2YWx1ZSkgY29uc3Q7CiAKICAgICB2aXJ0dWFs
IEVHTGludCBpc1Bvc3RTdWJCdWZmZXJTdXBwb3J0ZWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBFR0xpbnQgZ2V0U3dhcEJlaGF2aW9yKCkgY29uc3QgICAgICAgICAgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL1RleHR1cmVJ
bXBsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvVGV4
dHVyZUltcGwuaAppbmRleCBkMjAyY2JiMjI0OTI0MjEwOGFmOGQ5OWFkZDA5YWVjY2IwYTg3Mzhi
Li5jMDY0ZTIyMzI0OWYwZGE0ZWNjOWZiMmEwZmE1MmY2M2UxNGJmNjk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvVGV4dHVyZUltcGwu
aAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvVGV4
dHVyZUltcGwuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgcngKIHsKIGNsYXNzIENvbnRl
eHRJbXBsOwogCi1jbGFzcyBUZXh0dXJlSW1wbCA6IHB1YmxpYyBGcmFtZWJ1ZmZlckF0dGFjaG1l
bnRPYmplY3RJbXBsLCBwdWJsaWMgYW5nbGU6OlN1YmplY3QKK2NsYXNzIFRleHR1cmVJbXBsIDog
cHVibGljIEZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVjdEltcGwKIHsKICAgcHVibGljOgogICAg
IFRleHR1cmVJbXBsKGNvbnN0IGdsOjpUZXh0dXJlU3RhdGUgJnN0YXRlKTsKQEAgLTU2LDYgKzU2
LDcgQEAgY2xhc3MgVGV4dHVyZUltcGwgOiBwdWJsaWMgRnJhbWVidWZmZXJBdHRhY2htZW50T2Jq
ZWN0SW1wbCwgcHVibGljIGFuZ2xlOjpTdWJqZWMKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xlbnVtIGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xlbnVtIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKSAgICA9IDA7CiAgICAgdmlydHVh
bCBhbmdsZTo6UmVzdWx0IHNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRl
eCAmaW5kZXgsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvVGV4dHVyZUltcGxfbW9jay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL1RleHR1cmVJbXBsX21vY2suaAppbmRleCBiYTliZWUwYmQw
ODg1NDNiMDNhNzU0ZWVhMzVkMWViYmUwYTE4ODJjLi5hYmMwNDQwMmE0MzFjZmMwNjI0MWIzY2E3
OWZiYWExYWMxYjY4ZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvVGV4dHVyZUltcGxfbW9jay5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9UZXh0dXJlSW1wbF9tb2NrLmgKQEAgLTIx
LDcgKzIxLDcgQEAgY2xhc3MgTW9ja1RleHR1cmVJbXBsIDogcHVibGljIFRleHR1cmVJbXBsCiAg
IHB1YmxpYzoKICAgICBNb2NrVGV4dHVyZUltcGwoKSA6IFRleHR1cmVJbXBsKG1Nb2NrU3RhdGUp
LCBtTW9ja1N0YXRlKGdsOjpUZXh0dXJlVHlwZTo6XzJEKSB7fQogICAgIHZpcnR1YWwgfk1vY2tU
ZXh0dXJlSW1wbCgpIHsgZGVzdHJ1Y3RvcigpOyB9Ci0gICAgTU9DS19NRVRIT0Q4KHNldEltYWdl
LAorICAgIE1PQ0tfTUVUSE9EOShzZXRJbWFnZSwKICAgICAgICAgICAgICAgICAgYW5nbGU6OlJl
c3VsdChjb25zdCBnbDo6Q29udGV4dCAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpJbWFnZUluZGV4ICYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xlbnVtLApAQCAtMjksNiArMjksNyBAQCBjbGFzcyBNb2NrVGV4dHVyZUltcGwgOiBwdWJsaWMg
VGV4dHVyZUltcGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QgKikpOwogICAgIE1PQ0tfTUVUSE9EOChzZXRTdWJJbWFnZSwKICAg
ICAgICAgICAgICAgICAgYW5nbGU6OlJlc3VsdChjb25zdCBnbDo6Q29udGV4dCAqLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2FuZ2xl
X2Zvcm1hdF9tYXAuanNvbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9hbmdsZV9mb3JtYXRfbWFwLmpzb24KaW5kZXggMzE4YmEzODc1NjJkNTZhMzc0NTRl
OGUzYmFiNGJhNGE2YzQ4OWM5MC4uOGZkZmFjMjMzNzA4ZDFhNjIxYjM2MjA0ZWI2MmZiNzZjYWNl
MDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2FuZ2xlX2Zvcm1hdF9tYXAuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvYW5nbGVfZm9ybWF0X21hcC5qc29uCkBAIC0xNTEsNiAr
MTUxLDcgQEAKICAgWyAiR0xfUkdCQThVSSIsICJSOEc4QjhBOF9VSU5UIiBdLAogICBbICJHTF9S
R0JBOF9TTk9STSIsICJSOEc4QjhBOF9TTk9STSIgXSwKICAgWyAiR0xfU1JHQjgiLCAiUjhHOEI4
X1VOT1JNX1NSR0IiIF0sCisgIFsgIkdMX1NSOF9FWFQiLCAiUjhfVU5PUk1fU1JHQiIgXSwKICAg
WyAiR0xfU1JHQjhfQUxQSEE4IiwgIlI4RzhCOEE4X1VOT1JNX1NSR0IiIF0sCiAgIFsgIkdMX1NU
RU5DSUxfSU5ERVg4IiwgIlM4X1VJTlQiIF0sCiAgIFsgIkdMX1IxNl9FWFQiLCAiUjE2X1VOT1JN
IiBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2QzZC9GcmFtZWJ1ZmZlckQzRC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0ZyYW1lYnVmZmVyRDNELmNwcAppbmRleCBiNzgyZmE3
YzdmZjI3ODY5ZjJlNWUyMGQ0MjIzOWU5OWJiZjU4NjNhLi4wMjQ4YjM2ODE0ZGRmYTRhOWUyM2Uz
ODRjMDQxNjE2YjU0NjhlYzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0ZyYW1lYnVmZmVyRDNELmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0ZyYW1lYnVmZmVyRDNE
LmNwcApAQCAtMzQsOCArMzQsNiBAQCBDbGVhclBhcmFtZXRlcnMgR2V0Q2xlYXJQYXJhbWV0ZXJz
KGNvbnN0IGdsOjpTdGF0ZSAmc3RhdGUsIEdMYml0ZmllbGQgbWFzaykKICAgICBDbGVhclBhcmFt
ZXRlcnMgY2xlYXJQYXJhbXM7CiAgICAgbWVtc2V0KCZjbGVhclBhcmFtcywgMCwgc2l6ZW9mKENs
ZWFyUGFyYW1ldGVycykpOwogCi0gICAgY29uc3QgYXV0byAmYmxlbmRTdGF0ZUFycmF5ID0gc3Rh
dGUuZ2V0QmxlbmRTdGF0ZUFycmF5KCk7Ci0KICAgICBjbGVhclBhcmFtcy5jb2xvckYgICAgICAg
ICAgID0gc3RhdGUuZ2V0Q29sb3JDbGVhclZhbHVlKCk7CiAgICAgY2xlYXJQYXJhbXMuY29sb3JU
eXBlICAgICAgICA9IEdMX0ZMT0FUOwogICAgIGNsZWFyUGFyYW1zLmNsZWFyRGVwdGggICAgICAg
PSBmYWxzZTsKQEAgLTQ5LDE1ICs0NywxNSBAQCBDbGVhclBhcmFtZXRlcnMgR2V0Q2xlYXJQYXJh
bWV0ZXJzKGNvbnN0IGdsOjpTdGF0ZSAmc3RhdGUsIEdMYml0ZmllbGQgbWFzaykKICAgICBjb25z
dCBnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyT2JqZWN0ID0gc3RhdGUuZ2V0RHJhd0ZyYW1l
YnVmZmVyKCk7CiAgICAgY29uc3QgYm9vbCBjbGVhckNvbG9yID0KICAgICAgICAgKG1hc2sgJiBH
TF9DT0xPUl9CVUZGRVJfQklUKSAmJiBmcmFtZWJ1ZmZlck9iamVjdC0+aGFzRW5hYmxlZERyYXdC
dWZmZXIoKTsKLSAgICBBU1NFUlQoYmxlbmRTdGF0ZUFycmF5LnNpemUoKSA9PSBnbDo6SU1QTEVN
RU5UQVRJT05fTUFYX0RSQVdfQlVGRkVSUyk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBi
bGVuZFN0YXRlQXJyYXkuc2l6ZSgpOyBpKyspCisgICAgaWYgKGNsZWFyQ29sb3IpCisgICAgewor
ICAgICAgICBjbGVhclBhcmFtcy5jbGVhckNvbG9yLnNldCgpOworICAgIH0KKyAgICBlbHNlCiAg
ICAgewotICAgICAgICBjbGVhclBhcmFtcy5jbGVhckNvbG9yW2ldICAgICA9IGNsZWFyQ29sb3I7
Ci0gICAgICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFza1JlZFtpXSAgID0gYmxlbmRTdGF0ZUFycmF5
W2ldLmNvbG9yTWFza1JlZDsKLSAgICAgICAgY2xlYXJQYXJhbXMuY29sb3JNYXNrR3JlZW5baV0g
PSBibGVuZFN0YXRlQXJyYXlbaV0uY29sb3JNYXNrR3JlZW47Ci0gICAgICAgIGNsZWFyUGFyYW1z
LmNvbG9yTWFza0JsdWVbaV0gID0gYmxlbmRTdGF0ZUFycmF5W2ldLmNvbG9yTWFza0JsdWU7Ci0g
ICAgICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFza0FscGhhW2ldID0gYmxlbmRTdGF0ZUFycmF5W2ld
LmNvbG9yTWFza0FscGhhOworICAgICAgICBjbGVhclBhcmFtcy5jbGVhckNvbG9yLnJlc2V0KCk7
CiAgICAgfQorICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFzayA9IHN0YXRlLmdldEJsZW5kU3RhdGVF
eHQoKS5tQ29sb3JNYXNrOwogCiAgICAgaWYgKG1hc2sgJiBHTF9ERVBUSF9CVUZGRVJfQklUKQog
ICAgIHsKQEAgLTE4NCw1NCArMTgyLDYgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckQzRDo6
Y2xlYXJCdWZmZXJmaShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gY2xl
YXJJbXBsKGNvbnRleHQsIGNsZWFyUGFyYW1zKTsKIH0KIAotR0xlbnVtIEZyYW1lYnVmZmVyRDNE
OjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCkgY29uc3QKLXsKLSAgICBjb25zdCBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50ICpyZWFk
QXR0YWNobWVudCA9IG1TdGF0ZS5nZXRSZWFkQXR0YWNobWVudCgpOwotCi0gICAgaWYgKHJlYWRB
dHRhY2htZW50ID09IG51bGxwdHIpCi0gICAgewotICAgICAgICByZXR1cm4gR0xfTk9ORTsKLSAg
ICB9Ci0KLSAgICBSZW5kZXJUYXJnZXREM0QgKmF0dGFjaG1lbnRSZW5kZXJUYXJnZXQgPSBudWxs
cHRyOwotICAgIGFuZ2xlOjpSZXN1bHQgZXJyb3IgICAgICAgICAgICAgICAgICAgICA9IHJlYWRB
dHRhY2htZW50LT5nZXRSZW5kZXJUYXJnZXQoCi0gICAgICAgIGNvbnRleHQsIHJlYWRBdHRhY2ht
ZW50LT5nZXRSZW5kZXJUb1RleHR1cmVTYW1wbGVzKCksICZhdHRhY2htZW50UmVuZGVyVGFyZ2V0
KTsKLSAgICBpZiAoZXJyb3IgIT0gYW5nbGU6OlJlc3VsdDo6Q29udGludWUpCi0gICAgewotICAg
ICAgICByZXR1cm4gR0xfTk9ORTsKLSAgICB9Ci0KLSAgICBHTGVudW0gaW1wbGVtZW50YXRpb25G
b3JtYXQgPSBnZXRSZW5kZXJUYXJnZXRJbXBsZW1lbnRhdGlvbkZvcm1hdChhdHRhY2htZW50UmVu
ZGVyVGFyZ2V0KTsKLSAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJmltcGxlbWVudGF0aW9u
Rm9ybWF0SW5mbyA9Ci0gICAgICAgIGdsOjpHZXRTaXplZEludGVybmFsRm9ybWF0SW5mbyhpbXBs
ZW1lbnRhdGlvbkZvcm1hdCk7Ci0KLSAgICByZXR1cm4gaW1wbGVtZW50YXRpb25Gb3JtYXRJbmZv
LmdldFJlYWRQaXhlbHNGb3JtYXQoY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpKTsKLX0KLQotR0xl
bnVtIEZyYW1lYnVmZmVyRDNEOjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0Ci17Ci0gICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVy
QXR0YWNobWVudCAqcmVhZEF0dGFjaG1lbnQgPSBtU3RhdGUuZ2V0UmVhZEF0dGFjaG1lbnQoKTsK
LQotICAgIGlmIChyZWFkQXR0YWNobWVudCA9PSBudWxscHRyKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIEdMX05PTkU7Ci0gICAgfQotCi0gICAgUmVuZGVyVGFyZ2V0RDNEICphdHRhY2htZW50UmVu
ZGVyVGFyZ2V0ID0gbnVsbHB0cjsKLSAgICBhbmdsZTo6UmVzdWx0IGVycm9yICAgICAgICAgICAg
ICAgICAgICAgPSByZWFkQXR0YWNobWVudC0+Z2V0UmVuZGVyVGFyZ2V0KAotICAgICAgICBjb250
ZXh0LCByZWFkQXR0YWNobWVudC0+Z2V0UmVuZGVyVG9UZXh0dXJlU2FtcGxlcygpLCAmYXR0YWNo
bWVudFJlbmRlclRhcmdldCk7Ci0gICAgaWYgKGVycm9yICE9IGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEdMX05PTkU7Ci0gICAgfQotCi0gICAgR0xlbnVt
IGltcGxlbWVudGF0aW9uRm9ybWF0ID0gZ2V0UmVuZGVyVGFyZ2V0SW1wbGVtZW50YXRpb25Gb3Jt
YXQoYXR0YWNobWVudFJlbmRlclRhcmdldCk7Ci0gICAgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0
ICZpbXBsZW1lbnRhdGlvbkZvcm1hdEluZm8gPQotICAgICAgICBnbDo6R2V0U2l6ZWRJbnRlcm5h
bEZvcm1hdEluZm8oaW1wbGVtZW50YXRpb25Gb3JtYXQpOwotCi0gICAgcmV0dXJuIGltcGxlbWVu
dGF0aW9uRm9ybWF0SW5mby5nZXRSZWFkUGl4ZWxzVHlwZShjb250ZXh0LT5nZXRDbGllbnRWZXJz
aW9uKCkpOwotfQotCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyRDNEOjpyZWFkUGl4ZWxzKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZhcmVhLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LApAQCAtMjM5LDcgKzE4OSw3IEBA
IGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJEM0Q6OnJlYWRQaXhlbHMoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZv
aWQgKnBpeGVscykKIHsKICAgICAvLyBDbGlwIHJlYWQgYXJlYSB0byBmcmFtZWJ1ZmZlci4KLSAg
ICBjb25zdCBnbDo6RXh0ZW50cyBmYlNpemUgPSBnZXRTdGF0ZSgpLmdldFJlYWRBdHRhY2htZW50
KCktPmdldFNpemUoKTsKKyAgICBjb25zdCBnbDo6RXh0ZW50cyBmYlNpemUgPSBnZXRTdGF0ZSgp
LmdldFJlYWRQaXhlbHNBdHRhY2htZW50KGZvcm1hdCktPmdldFNpemUoKTsKICAgICBjb25zdCBn
bDo6UmVjdGFuZ2xlIGZiUmVjdCgwLCAwLCBmYlNpemUud2lkdGgsIGZiU2l6ZS5oZWlnaHQpOwog
ICAgIGdsOjpSZWN0YW5nbGUgY2xpcHBlZEFyZWE7CiAgICAgaWYgKCFDbGlwUmVjdGFuZ2xlKGFy
ZWEsIGZiUmVjdCwgJmNsaXBwZWRBcmVhKSkKQEAgLTMxNiw2ICsyNjYsNyBAQCBib29sIEZyYW1l
YnVmZmVyRDNEOjpjaGVja1N0YXR1cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3QK
IH0KIAogYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckQzRDo6c3luY1N0YXRlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSBiaW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpCiB7CiAgICAgaWYg
KCFtQ29sb3JBdHRhY2htZW50c0ZvclJlbmRlci52YWxpZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9GcmFtZWJ1ZmZlckQz
RC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9G
cmFtZWJ1ZmZlckQzRC5oCmluZGV4IDlmOThlZGY2MDdkMzAzMGQzMzA1ZmZmNWExOWY2ZjlkNmVl
YTI4NGEuLjE0YTQ0ZTkwY2JiNDM1MGFhZDg4MTBlOTNiNGE3NjFmNjI4YmU2ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvRnJh
bWVidWZmZXJEM0QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZDNkL0ZyYW1lYnVmZmVyRDNELmgKQEAgLTQwLDEwICs0MCw3IEBAIHN0cnVjdCBD
bGVhclBhcmFtZXRlcnMKICAgICBnbDo6Q29sb3JJIGNvbG9ySTsKICAgICBnbDo6Q29sb3JVSSBj
b2xvclVJOwogICAgIEdMZW51bSBjb2xvclR5cGU7Ci0gICAgZ2w6OkRyYXdCdWZmZXJNYXNrIGNv
bG9yTWFza1JlZDsKLSAgICBnbDo6RHJhd0J1ZmZlck1hc2sgY29sb3JNYXNrR3JlZW47Ci0gICAg
Z2w6OkRyYXdCdWZmZXJNYXNrIGNvbG9yTWFza0JsdWU7Ci0gICAgZ2w6OkRyYXdCdWZmZXJNYXNr
IGNvbG9yTWFza0FscGhhOworICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpDb2xvck1hc2tTdG9yYWdl
OjpUeXBlIGNvbG9yTWFzazsKIAogICAgIGJvb2wgY2xlYXJEZXB0aDsKICAgICBmbG9hdCBkZXB0
aFZhbHVlOwpAQCAtODEsOCArNzgsNiBAQCBjbGFzcyBGcmFtZWJ1ZmZlckQzRCA6IHB1YmxpYyBG
cmFtZWJ1ZmZlckltcGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xmbG9hdCBk
ZXB0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgc3RlbmNpbCkgb3Zl
cnJpZGU7CiAKLSAgICBHTGVudW0gZ2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRGb3JtYXQoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwotICAgIEdMZW51bSBnZXRJ
bXBsZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgcmVhZFBpeGVscyhjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJl
Y3RhbmdsZSAmYXJlYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1h
dCwKQEAgLTk4LDYgKzkzLDcgQEAgY2xhc3MgRnJhbWVidWZmZXJEM0QgOiBwdWJsaWMgRnJhbWVi
dWZmZXJJbXBsCiAgICAgYm9vbCBjaGVja1N0YXR1cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBhbmdsZTo6UmVzdWx0IHN5bmNTdGF0ZShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0g
YmluZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6RnJhbWVidWZm
ZXI6OkRpcnR5Qml0cyAmZGlydHlCaXRzKSBvdmVycmlkZTsKIAogICAgIGNvbnN0IGdsOjpBdHRh
Y2htZW50TGlzdCAmZ2V0Q29sb3JBdHRhY2htZW50c0ZvclJlbmRlcihjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCk7CkBAIC0xMzEsOCArMTI3LDYgQEAgY2xhc3MgRnJhbWVidWZmZXJEM0QgOiBw
dWJsaWMgRnJhbWVidWZmZXJJbXBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSBmaWx0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdsOjpGcmFtZWJ1ZmZlciAqc291cmNlRnJhbWVidWZmZXIpID0gMDsKIAotICAgIHZpcnR1YWwg
R0xlbnVtIGdldFJlbmRlclRhcmdldEltcGxlbWVudGF0aW9uRm9ybWF0KFJlbmRlclRhcmdldEQz
RCAqcmVuZGVyVGFyZ2V0KSBjb25zdCA9IDA7Ci0KICAgICBSZW5kZXJlckQzRCAqbVJlbmRlcmVy
OwogICAgIE9wdGlvbmFsPGdsOjpBdHRhY2htZW50TGlzdD4gbUNvbG9yQXR0YWNobWVudHNGb3JS
ZW5kZXI7CiAgICAgZ2w6OkRyYXdCdWZmZXJNYXNrIG1DdXJyZW50QWN0aXZlUHJvZ3JhbU91dHB1
dHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZDNkL1Byb2dyYW1EM0QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2QzZC9Qcm9ncmFtRDNELmNwcAppbmRleCBlZTE4YzE2NzkyNGQyZTBi
NWQyNzExOWFkY2I3NzgzMDIzZGI5MjY1Li5mNTBlNTU3MjI3NDdkNzZmNzlhZmM3YjQyMjI4NGQz
NGJiZDVjYTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZDNkL1Byb2dyYW1EM0QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvUHJvZ3JhbUQzRC5jcHAKQEAgLTk2MywxNCAr
OTYzLDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxyeDo6TGlua0V2ZW50PiBQcm9ncmFtRDNEOjpsb2Fk
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIGlmIChtZW1jbXAoJmlkZW50aWZpZXIs
ICZiaW5hcnlEZXZpY2VJZGVudGlmaWVyLCBzaXplb2YoRGV2aWNlSWRlbnRpZmllcikpICE9IDAp
CiAgICAgewogICAgICAgICBpbmZvTG9nIDw8ICJJbnZhbGlkIHByb2dyYW0gYmluYXJ5LCBkZXZp
Y2UgY29uZmlndXJhdGlvbiBoYXMgY2hhbmdlZC4iOwotICAgICAgICByZXR1cm4gc3RkOjptYWtl
X3VuaXF1ZTxMaW5rRXZlbnREb25lPihhbmdsZTo6UmVzdWx0OjpJbmNvbXBsZXRlKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaW50IGNvbXBpbGVGbGFncyA9IHN0cmVh
bS0+cmVhZEludDxpbnQ+KCk7CiAgICAgaWYgKGNvbXBpbGVGbGFncyAhPSBBTkdMRV9DT01QSUxF
X09QVElNSVpBVElPTl9MRVZFTCkKICAgICB7CiAgICAgICAgIGluZm9Mb2cgPDwgIk1pc21hdGNo
ZWQgY29tcGlsYXRpb24gZmxhZ3MuIjsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8
TGlua0V2ZW50RG9uZT4oYW5nbGU6OlJlc3VsdDo6SW5jb21wbGV0ZSk7CisgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIAogICAgIGZvciAoaW50ICZpbmRleCA6IG1BdHRyaWJMb2NhdGlv
blRvRDNEU2VtYW50aWMpCkBAIC0xMDMzLDcgKzEwMzMsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8cng6
OkxpbmtFdmVudD4gUHJvZ3JhbUQzRDo6bG9hZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICBpZiAoc3RyZWFtLT5lcnJvcigpKQogICAgIHsKICAgICAgICAgaW5mb0xvZyA8PCAiSW52
YWxpZCBwcm9ncmFtIGJpbmFyeS4iOwotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxM
aW5rRXZlbnREb25lPihhbmdsZTo6UmVzdWx0OjpJbmNvbXBsZXRlKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCiAgICAgQVNTRVJUKG1EM0RTaGFkZXJTdG9yYWdlQmxvY2tzLmVt
cHR5KCkpOwpAQCAtMTA1MSw3ICsxMDUxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPHJ4OjpMaW5rRXZl
bnQ+IFByb2dyYW1EM0Q6OmxvYWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgaWYg
KHN0cmVhbS0+ZXJyb3IoKSkKICAgICB7CiAgICAgICAgIGluZm9Mb2cgPDwgIkludmFsaWQgcHJv
Z3JhbSBiaW5hcnkuIjsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8TGlua0V2ZW50
RG9uZT4oYW5nbGU6OlJlc3VsdDo6SW5jb21wbGV0ZSk7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIEFTU0VSVChtSW1hZ2UyRFVuaWZvcm1zLmVtcHR5KCkpOwpAQCAtMTA3
Myw3ICsxMDczLDcgQEAgc3RkOjp1bmlxdWVfcHRyPHJ4OjpMaW5rRXZlbnQ+IFByb2dyYW1EM0Q6
OmxvYWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgaWYgKHN0cmVhbS0+ZXJyb3Io
KSkKICAgICB7CiAgICAgICAgIGluZm9Mb2cgPDwgIkludmFsaWQgcHJvZ3JhbSBiaW5hcnkuIjsK
LSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8TGlua0V2ZW50RG9uZT4oYW5nbGU6OlJl
c3VsdDo6SW5jb21wbGV0ZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAg
IGNvbnN0IGF1dG8gJmxpbmtlZFVuaWZvcm1zID0gbVN0YXRlLmdldFVuaWZvcm1zKCk7CkBAIC0x
MTAwLDcgKzExMDAsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8cng6OkxpbmtFdmVudD4gUHJvZ3JhbUQz
RDo6bG9hZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBpZiAoc3RyZWFtLT5lcnJv
cigpKQogICAgIHsKICAgICAgICAgaW5mb0xvZyA8PCAiSW52YWxpZCBwcm9ncmFtIGJpbmFyeS4i
OwotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxMaW5rRXZlbnREb25lPihhbmdsZTo6
UmVzdWx0OjpJbmNvbXBsZXRlKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAg
ICAgQVNTRVJUKG1EM0RVbmlmb3JtQmxvY2tzLmVtcHR5KCkpOwpAQCAtMTMwNyw3ICsxMzA3LDcg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtRDNEOjpsb2FkQmluYXJ5U2hhZGVyRXhlY3V0YWJsZXMo
ZDNkOjpDb250ZXh0ICpjb250ZXh0RDNELAogICAgICAgICAgICAgc3RyZWFtLT5yZWFkSW50PHVu
c2lnbmVkIGludD4oKSwgZ2w6OlRleHR1cmVUeXBlOjpfMkQpKTsKICAgICB9CiAKLSAgICBpbml0
aWFsaXplVW5pZm9ybVN0b3JhZ2UobVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCkuZ2V0TGlu
a2VkU2hhZGVyU3RhZ2VzKCkpOworICAgIGluaXRpYWxpemVVbmlmb3JtU3RvcmFnZShtU3RhdGUu
Z2V0RXhlY3V0YWJsZSgpLmdldExpbmtlZFNoYWRlclN0YWdlcygpKTsKIAogICAgIGRpcnR5QWxs
VW5pZm9ybXMoKTsKIApAQCAtMjM1Myw3ICsyMzUzLDcgQEAgY29uc3Qgc3RkOjp2ZWN0b3I8RDNE
VUJPQ2FjaGVVc2VTQj4gJlByb2dyYW1EM0Q6OmdldFNoYWRlclVuaWZvcm1CdWZmZXJDYWNoZVVz
ZVMKIAogdm9pZCBQcm9ncmFtRDNEOjpkaXJ0eUFsbFVuaWZvcm1zKCkKIHsKLSAgICBtU2hhZGVy
VW5pZm9ybXNEaXJ0eSA9IG1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLmdldExpbmtlZFNo
YWRlclN0YWdlcygpOworICAgIG1TaGFkZXJVbmlmb3Jtc0RpcnR5ID0gbVN0YXRlLmdldEV4ZWN1
dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKTsKIH0KIAogdm9pZCBQcm9ncmFtRDNEOjpt
YXJrVW5pZm9ybXNDbGVhbigpCkBAIC0zMDQ5LDcgKzMwNDksNyBAQCB2b2lkIFByb2dyYW1EM0Q6
OnVwZGF0ZUNhY2hlZElucHV0TGF5b3V0KFNlcmlhbCBhc3NvY2lhdGVkU2VyaWFsLCBjb25zdCBn
bDo6U3RhdAogCiAgICAgY29uc3QgYXV0byAmdmVydGV4QXR0cmlidXRlcyA9IHN0YXRlLmdldFZl
cnRleEFycmF5KCktPmdldFZlcnRleEF0dHJpYnV0ZXMoKTsKICAgICBjb25zdCBnbDo6QXR0cmli
dXRlc01hc2sgJmF0dHJpYnV0ZXNNYXNrID0KLSAgICAgICAgbVN0YXRlLmdldFByb2dyYW1FeGVj
dXRhYmxlKCkuZ2V0QWN0aXZlQXR0cmliTG9jYXRpb25zTWFzaygpOworICAgICAgICBtU3RhdGUu
Z2V0RXhlY3V0YWJsZSgpLmdldEFjdGl2ZUF0dHJpYkxvY2F0aW9uc01hc2soKTsKIAogICAgIGZv
ciAoc2l6ZV90IGxvY2F0aW9uSW5kZXggOiBhdHRyaWJ1dGVzTWFzaykKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1By
b2dyYW1EM0QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9kM2QvUHJvZ3JhbUQzRC5oCmluZGV4IDRmY2ExOWRhMWFlNzZkZmZmYTU5NTRjYmY1ODViNmNm
ZmI2OGM2ODcuLmZmZjc5MjJkMWYzNmZlN2VmODBjYTA2NWUwYTk0ZmE1ZDRhOGVmYzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2Qv
UHJvZ3JhbUQzRC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvUHJvZ3JhbUQzRC5oCkBAIC0zMzksNyArMzM5LDcgQEAgY2xhc3MgUHJvZ3Jh
bUQzRCA6IHB1YmxpYyBQcm9ncmFtSW1wbAogCiAgICAgYm9vbCBoYXNTaGFkZXJTdGFnZShnbDo6
U2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1TdGF0
ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLmdldExpbmtlZFNoYWRlclN0YWdlcygpW3NoYWRlclR5
cGVdOworICAgICAgICByZXR1cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFk
ZXJTdGFnZXMoKVtzaGFkZXJUeXBlXTsKICAgICB9CiAKICAgICB2b2lkIGFzc2lnbkltYWdlMkRS
ZWdpc3RlcnModW5zaWduZWQgaW50IHN0YXJ0SW1hZ2VJbmRleCwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvUmVuZGVyZXJEM0Qu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvUmVu
ZGVyZXJEM0QuaAppbmRleCBlYmU5MDUxMTNjYjIxY2ZiMzY2M2U2MzE1ZTM2ZmQ4NDIzOGE2NjMx
Li44OWM1ZTI3MTRjNTcyYzFjMjlmNTI0MmMwMzUzZTQ0ZTNhMDU4MTZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1JlbmRlcmVy
RDNELmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2QzZC9SZW5kZXJlckQzRC5oCkBAIC0zNDUsNiArMzQ1LDcgQEAgY2xhc3MgUmVuZGVyZXJEM0Qg
OiBwdWJsaWMgQnVmZmVyRmFjdG9yeUQzRAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Zhc3RD
b3B5QnVmZmVyVG9UZXh0dXJlKEdMZW51bSBpbnRlcm5hbEZvcm1hdCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYW5nbGU6OlJlc3VsdCBmYXN0Q29weUJ1ZmZlclRvVGV4dHVyZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5w
YWNrQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKmRlc3RSZW5kZXJUYXJnZXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBk
ZXN0aW5hdGlvbkZvcm1hdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9kM2QvVGV4dHVyZUQzRC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1RleHR1cmVEM0QuY3BwCmluZGV4IDI1
MmQ5N2UwNWY5NmZlMDI4MGY3ZDk1OGVkYTQwNDI3ZTIyZTRiZDEuLjBmZWJiOWJmZTMyNTdhYWIy
NDllYTBlNDVjMzAyM2FjZTAwMGI2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvVGV4dHVyZUQzRC5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9UZXh0dXJlRDNELmNw
cApAQCAtMjI2LDExICsyMjYsMTEgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEOjpzZXRJbWFn
ZUltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBh
Y2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1
bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpwaXhlbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3QgbGF5ZXJPZmZzZXQpCiB7Ci0gICAgSW1hZ2VEM0QgKmltYWdlICAgICAgICAg
ID0gZ2V0SW1hZ2UoaW5kZXgpOwotICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciA9IGNvbnRl
eHQtPmdldFN0YXRlKCkuZ2V0VGFyZ2V0QnVmZmVyKGdsOjpCdWZmZXJCaW5kaW5nOjpQaXhlbFVu
cGFjayk7CisgICAgSW1hZ2VEM0QgKmltYWdlID0gZ2V0SW1hZ2UoaW5kZXgpOwogICAgIEFTU0VS
VChpbWFnZSk7CiAKICAgICAvLyBOby1vcApAQCAtMzYzLDYgKzM2Myw3IEBAIGJvb2wgVGV4dHVy
ZUQzRDo6aXNGYXN0VW5wYWNrYWJsZShjb25zdCBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsIEdM
ZW51bSBzaXplZEluCiAKIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQzRDo6ZmFzdFVucGFja1BpeGVs
cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFj
a0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpwaXhlbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OkJveCAmZGVzdEFyZWEsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xlbnVtIHNpemVkSW50ZXJuYWxGb3JtYXQsCkBAIC0zODYsOSAr
Mzg3LDkgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEOjpmYXN0VW5wYWNrUGl4ZWxzKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogCiAgICAgdWludHB0cl90IG9mZnNldCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihwaXhlbHMpOwogCi0gICAgQU5HTEVfVFJZKG1SZW5kZXJlci0+
ZmFzdENvcHlCdWZmZXJUb1RleHR1cmUoY29udGV4dCwgdW5wYWNrLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBpbnQ+KG9mZnNldCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVzdFJlbmRlclRhcmdldCwgc2l6ZWRJbnRlcm5hbEZvcm1hdCwgdHlwZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0QXJl
YSkpOworICAgIEFOR0xFX1RSWShtUmVuZGVyZXItPmZhc3RDb3B5QnVmZmVyVG9UZXh0dXJlKAor
ICAgICAgICBjb250ZXh0LCB1bnBhY2ssIHVucGFja0J1ZmZlciwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgaW50PihvZmZzZXQpLCBkZXN0UmVuZGVyVGFyZ2V0LAorICAgICAgICBzaXplZEludGVybmFs
Rm9ybWF0LCB0eXBlLCBkZXN0QXJlYSkpOwogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOwogfQpAQCAtNjUyLDYgKzY1MywyNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVEM0Q6
OnNldEJhc2VMZXZlbChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0x1aW50IGJhc2VMZQog
ICAgICAgICAgbmV3U3RvcmFnZURlcHRoICE9IG9sZFN0b3JhZ2VEZXB0aCB8fCBuZXdTdG9yYWdl
Rm9ybWF0ICE9IG9sZFN0b3JhZ2VGb3JtYXQpKQogICAgIHsKICAgICAgICAgbWFya0FsbEltYWdl
c0RpcnR5KCk7CisKKyAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGFsbCBpbWFnZXMsIGFuZCBiYWNr
dXAgdGhlIGNvbnRlbnQgaWYgaXQncyBiZWVuIHVzZWQgYXMgYSByZW5kZXIgdGFyZ2V0LiBUaGUK
KyAgICAgICAgLy8gRDNEMTEgYmFja2VuZCBjYW4gYXV0b21hdGljYWxseSByZXN0b3JlIGltYWdl
cyBvbiBzdG9yYWdlIGRlc3Ryb3ksIGJ1dCBpdCBvbmx5IHdvcmtzIGZvcgorICAgICAgICAvLyBp
bWFnZXMgdGhhdCBoYXZlIGJlZW4gYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXh0dXJlIHN0b3JhZ2Ug
YmVmb3JlLCB3aGljaCBpcyBpbnN1ZmZpY2llbnQKKyAgICAgICAgLy8gaGVyZS4KKyAgICAgICAg
aWYgKG1UZXhTdG9yYWdlLT5pc1JlbmRlclRhcmdldCgpKQorICAgICAgICB7CisgICAgICAgICAg
ICBnbDo6SW1hZ2VJbmRleEl0ZXJhdG9yIGl0ZXJhdG9yID0gaW1hZ2VJdGVyYXRvcigpOworICAg
ICAgICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCBpbmRleCAgICA9IGl0ZXJhdG9yLm5leHQo
KTsKKyAgICAgICAgICAgICAgICBjb25zdCBHTHNpemVpIHNhbXBsZXMgICAgICAgICA9IGdldFJl
bmRlclRvVGV4dHVyZVNhbXBsZXMoKTsKKyAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0Qg
KnJlbmRlclRhcmdldCA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgQU5HTEVfVFJZKG1UZXhT
dG9yYWdlLT5maW5kUmVuZGVyVGFyZ2V0KGNvbnRleHQsIGluZGV4LCBzYW1wbGVzLCAmcmVuZGVy
VGFyZ2V0KSk7CisgICAgICAgICAgICAgICAgaWYgKHJlbmRlclRhcmdldCkKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIEFOR0xFX1RSWShnZXRJbWFnZShpbmRleCktPmNv
cHlGcm9tVGV4U3RvcmFnZShjb250ZXh0LCBpbmRleCwgbVRleFN0b3JhZ2UpKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBBTkdMRV9UUlko
cmVsZWFzZVRleFN0b3JhZ2UoY29udGV4dCkpOwogICAgIH0KIApAQCAtODg5LDYgKzkxMSw3IEBA
IGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQzRF8yRDo6c2V0SW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBm
b3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxV
bnBhY2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscykKIHsKICAgICBBU1NFUlQoKGluZGV4Lmdl
dFRhcmdldCgpID09IGdsOjpUZXh0dXJlVGFyZ2V0OjpfMkQgfHwKQEAgLTkwMyw3ICs5MjYsNiBA
QCBhbmdsZTo6UmVzdWx0IFRleHR1cmVEM0RfMkQ6OnNldEltYWdlKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUsIGZhbHNlKSk7CiAK
ICAgICAvLyBBdHRlbXB0IGEgZmFzdCBncHUgY29weSBvZiB0aGUgcGl4ZWwgZGF0YSB0byB0aGUg
c3VyZmFjZQotICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciA9IGNvbnRleHQtPmdldFN0YXRl
KCkuZ2V0VGFyZ2V0QnVmZmVyKGdsOjpCdWZmZXJCaW5kaW5nOjpQaXhlbFVucGFjayk7CiAgICAg
aWYgKG1UZXhTdG9yYWdlKQogICAgIHsKICAgICAgICAgQU5HTEVfVFJZKG1UZXhTdG9yYWdlLT5y
ZWxlYXNlTXVsdGlzYW1wbGVkVGV4U3RvcmFnZUZvckxldmVsKGluZGV4LmdldExldmVsSW5kZXgo
KSkpOwpAQCAtOTE4LDcgKzk0MCw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQzRF8yRDo6c2V0
SW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIGdsOjpCb3ggZGVzdEFy
ZWEoMCwgMCwgMCwgZ2V0V2lkdGgoaW5kZXguZ2V0TGV2ZWxJbmRleCgpKSwgZ2V0SGVpZ2h0KGlu
ZGV4LmdldExldmVsSW5kZXgoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CiAKLSAg
ICAgICAgQU5HTEVfVFJZKGZhc3RVbnBhY2tQaXhlbHMoY29udGV4dCwgdW5wYWNrLCBwaXhlbHMs
IGRlc3RBcmVhLAorICAgICAgICBBTkdMRV9UUlkoZmFzdFVucGFja1BpeGVscyhjb250ZXh0LCB1
bnBhY2ssIHVucGFja0J1ZmZlciwgcGl4ZWxzLCBkZXN0QXJlYSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50ZXJuYWxGb3JtYXRJbmZvLnNpemVkSW50ZXJuYWxGb3JtYXQs
IHR5cGUsIGRlc3RSZW5kZXJUYXJnZXQpKTsKIAogICAgICAgICAvLyBFbnN1cmUgd2UgZG9uJ3Qg
b3ZlcndyaXRlIG91ciBuZXdseSBpbml0aWFsaXplZCBkYXRhCkBAIC05MjksNyArOTUxLDcgQEAg
YW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEXzJEOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKIAogICAgIGlmICghZmFzdFVucGFja2VkKQogICAgIHsKLSAgICAgICAgQU5HTEVf
VFJZKHNldEltYWdlSW1wbChjb250ZXh0LCBpbmRleCwgdHlwZSwgdW5wYWNrLCBwaXhlbHMsIDAp
KTsKKyAgICAgICAgQU5HTEVfVFJZKHNldEltYWdlSW1wbChjb250ZXh0LCBpbmRleCwgdHlwZSwg
dW5wYWNrLCB1bnBhY2tCdWZmZXIsIHBpeGVscywgMCkpOwogICAgIH0KIAogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTk1Nyw3ICs5NzksOCBAQCBhbmdsZTo6UmVzdWx0
IFRleHR1cmVEM0RfMkQ6OnNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICBBTkdMRV9UUlkoZ2V0UmVuZGVyVGFyZ2V0KGNvbnRleHQsIGluZGV4LCBnZXRSZW5k
ZXJUb1RleHR1cmVTYW1wbGVzKCksICZyZW5kZXJUYXJnZXQpKTsKICAgICAgICAgQVNTRVJUKCFt
SW1hZ2VBcnJheVtpbmRleC5nZXRMZXZlbEluZGV4KCldLT5pc0RpcnR5KCkpOwogCi0gICAgICAg
IHJldHVybiBmYXN0VW5wYWNrUGl4ZWxzKGNvbnRleHQsIHVucGFjaywgcGl4ZWxzLCBhcmVhLCBt
aXBGb3JtYXQsIHR5cGUsIHJlbmRlclRhcmdldCk7CisgICAgICAgIHJldHVybiBmYXN0VW5wYWNr
UGl4ZWxzKGNvbnRleHQsIHVucGFjaywgdW5wYWNrQnVmZmVyLCBwaXhlbHMsIGFyZWEsIG1pcEZv
cm1hdCwgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFyZ2V0
KTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTE2OTIsNiArMTcxNSw3IEBAIGFuZ2xlOjpS
ZXN1bHQgVGV4dHVyZUQzRF9DdWJlOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVu
cGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscykKIHsKICAgICBBU1NFUlQoc2l6ZS5k
ZXB0aCA9PSAxKTsKQEAgLTE3MDAsNyArMTcyNCw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQz
RF9DdWJlOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBBTkdMRV9U
UlkocmVkZWZpbmVJbWFnZShjb250ZXh0LCBpbmRleC5jdWJlTWFwRmFjZUluZGV4KCksIGluZGV4
LmdldExldmVsSW5kZXgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbEZv
cm1hdEluZm8uc2l6ZWRJbnRlcm5hbEZvcm1hdCwgc2l6ZSwgZmFsc2UpKTsKIAotICAgIHJldHVy
biBzZXRJbWFnZUltcGwoY29udGV4dCwgaW5kZXgsIHR5cGUsIHVucGFjaywgcGl4ZWxzLCAwKTsK
KyAgICByZXR1cm4gc2V0SW1hZ2VJbXBsKGNvbnRleHQsIGluZGV4LCB0eXBlLCB1bnBhY2ssIHVu
cGFja0J1ZmZlciwgcGl4ZWxzLCAwKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEX0N1
YmU6OnNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LApAQCAtMjQyNSw2ICsy
NDQ5LDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEXzNEOjpzZXRJbWFnZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xlbnVtIGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGds
OjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewogICAgIEFTU0VSVChp
bmRleC5nZXRUYXJnZXQoKSA9PSBnbDo6VGV4dHVyZVRhcmdldDo6XzNEKTsKQEAgLTI0MzYsNyAr
MjQ2MSw2IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQzRF8zRDo6c2V0SW1hZ2UoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCiAgICAgYm9vbCBmYXN0VW5wYWNrZWQgPSBmYWxzZTsKIAogICAg
IC8vIEF0dGVtcHQgYSBmYXN0IGdwdSBjb3B5IG9mIHRoZSBwaXhlbCBkYXRhIHRvIHRoZSBzdXJm
YWNlIGlmIHRoZSBhcHAgYm91bmQgYW4gdW5wYWNrIGJ1ZmZlcgotICAgIGdsOjpCdWZmZXIgKnVu
cGFja0J1ZmZlciA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0VGFyZ2V0QnVmZmVyKGdsOjpCdWZm
ZXJCaW5kaW5nOjpQaXhlbFVucGFjayk7CiAgICAgaWYgKGlzRmFzdFVucGFja2FibGUodW5wYWNr
QnVmZmVyLCBpbnRlcm5hbEZvcm1hdEluZm8uc2l6ZWRJbnRlcm5hbEZvcm1hdCkgJiYgIXNpemUu
ZW1wdHkoKSAmJgogICAgICAgICBpc0xldmVsQ29tcGxldGUoaW5kZXguZ2V0TGV2ZWxJbmRleCgp
KSkKICAgICB7CkBAIC0yNDQ3LDcgKzI0NzEsNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVEM0Rf
M0Q6OnNldEltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICBnbDo6Qm94
IGRlc3RBcmVhKDAsIDAsIDAsIGdldFdpZHRoKGluZGV4LmdldExldmVsSW5kZXgoKSksIGdldEhl
aWdodChpbmRleC5nZXRMZXZlbEluZGV4KCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgIGdl
dERlcHRoKGluZGV4LmdldExldmVsSW5kZXgoKSkpOwogCi0gICAgICAgIEFOR0xFX1RSWShmYXN0
VW5wYWNrUGl4ZWxzKGNvbnRleHQsIHVucGFjaywgcGl4ZWxzLCBkZXN0QXJlYSwKKyAgICAgICAg
QU5HTEVfVFJZKGZhc3RVbnBhY2tQaXhlbHMoY29udGV4dCwgdW5wYWNrLCB1bnBhY2tCdWZmZXIs
IHBpeGVscywgZGVzdEFyZWEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dGVybmFsRm9ybWF0SW5mby5zaXplZEludGVybmFsRm9ybWF0LCB0eXBlLCBkZXN0UmVuZGVyVGFy
Z2V0KSk7CiAKICAgICAgICAgLy8gRW5zdXJlIHdlIGRvbid0IG92ZXJ3cml0ZSBvdXIgbmV3bHkg
aW5pdGlhbGl6ZWQgZGF0YQpAQCAtMjQ1OCw3ICsyNDgyLDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0
dXJlRDNEXzNEOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgIGlm
ICghZmFzdFVucGFja2VkKQogICAgIHsKLSAgICAgICAgQU5HTEVfVFJZKHNldEltYWdlSW1wbChj
b250ZXh0LCBpbmRleCwgdHlwZSwgdW5wYWNrLCBwaXhlbHMsIDApKTsKKyAgICAgICAgQU5HTEVf
VFJZKHNldEltYWdlSW1wbChjb250ZXh0LCBpbmRleCwgdHlwZSwgdW5wYWNrLCB1bnBhY2tCdWZm
ZXIsIHBpeGVscywgMCkpOwogICAgIH0KIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250
aW51ZTsKQEAgLTI0ODMsNyArMjUwNyw4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUQzRF8zRDo6
c2V0U3ViSW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIEFOR0xFX1RS
WShnZXRSZW5kZXJUYXJnZXQoY29udGV4dCwgaW5kZXgsIGdldFJlbmRlclRvVGV4dHVyZVNhbXBs
ZXMoKSwgJmRlc3RSZW5kZXJUYXJnZXQpKTsKICAgICAgICAgQVNTRVJUKCFtSW1hZ2VBcnJheVtp
bmRleC5nZXRMZXZlbEluZGV4KCldLT5pc0RpcnR5KCkpOwogCi0gICAgICAgIHJldHVybiBmYXN0
VW5wYWNrUGl4ZWxzKGNvbnRleHQsIHVucGFjaywgcGl4ZWxzLCBhcmVhLCBtaXBGb3JtYXQsIHR5
cGUsIGRlc3RSZW5kZXJUYXJnZXQpOworICAgICAgICByZXR1cm4gZmFzdFVucGFja1BpeGVscyhj
b250ZXh0LCB1bnBhY2ssIHVucGFja0J1ZmZlciwgcGl4ZWxzLCBhcmVhLCBtaXBGb3JtYXQsIHR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RSZW5kZXJUYXJnZXQpOwog
ICAgIH0KICAgICBlbHNlCiAgICAgewpAQCAtMzA5MCw2ICszMTE1LDcgQEAgYW5nbGU6OlJlc3Vs
dCBUZXh0dXJlRDNEXzJEQXJyYXk6OnNldEltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmb3Jt
YXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5
cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6
OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewogICAg
IEFTU0VSVChpbmRleC5nZXRUYXJnZXQoKSA9PSBnbDo6VGV4dHVyZVRhcmdldDo6XzJEQXJyYXkp
OwpAQCAtMzExMCw3ICszMTM2LDggQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNEXzJEQXJyYXk6
OnNldEltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIHsKICAgICAgICAgY29u
c3QgcHRyZGlmZl90IGxheWVyT2Zmc2V0ID0gKGlucHV0RGVwdGhQaXRjaCAqIGkpOwogICAgICAg
ICBnbDo6SW1hZ2VJbmRleCBsYXllckluZGV4ICAgPSBnbDo6SW1hZ2VJbmRleDo6TWFrZTJEQXJy
YXkoaW5kZXguZ2V0TGV2ZWxJbmRleCgpLCBpKTsKLSAgICAgICAgQU5HTEVfVFJZKHNldEltYWdl
SW1wbChjb250ZXh0LCBsYXllckluZGV4LCB0eXBlLCB1bnBhY2ssIHBpeGVscywgbGF5ZXJPZmZz
ZXQpKTsKKyAgICAgICAgQU5HTEVfVFJZKAorICAgICAgICAgICAgc2V0SW1hZ2VJbXBsKGNvbnRl
eHQsIGxheWVySW5kZXgsIHR5cGUsIHVucGFjaywgdW5wYWNrQnVmZmVyLCBwaXhlbHMsIGxheWVy
T2Zmc2V0KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpA
QCAtMzgwNiw2ICszODMzLDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlRDNESW1tdXRhYmxlQmFz
ZTo6c2V0SW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4
ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQog
ewogICAgIEFOR0xFX0hSX1VOUkVBQ0hBQkxFKEdldEltcGxBczxDb250ZXh0RDNEPihjb250ZXh0
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZDNkL1RleHR1cmVEM0QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9kM2QvVGV4dHVyZUQzRC5oCmluZGV4IDg0NTEzMTMxMTViNDg1ZWFlNzcx
MWI3NWFlZWQ1Njk1NmI1ZTQ5YWMuLmMwYWI1N2I5OTllMTM5NzE1ZTM1M2MwMmE0NzI0NzEzMTBi
MWNlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvVGV4dHVyZUQzRC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9kM2QvVGV4dHVyZUQzRC5oCkBAIC0xMjIsNiArMTIyLDcgQEAg
Y2xhc3MgVGV4dHVyZUQzRCA6IHB1YmxpYyBUZXh0dXJlSW1wbCwgcHVibGljIGFuZ2xlOjpPYnNl
cnZlckludGVyZmFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJ
bWFnZUluZGV4ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0g
dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBh
Y2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpCdWZm
ZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpwaXhlbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGxheWVyT2Zmc2V0KTsKICAgICBhbmdsZTo6UmVzdWx0IHN1YkltYWdlKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LApAQCAtMTQ4LDYgKzE0OSw3IEBAIGNsYXNzIFRleHR1cmVEM0QgOiBwdWJs
aWMgVGV4dHVyZUltcGwsIHB1YmxpYyBhbmdsZTo6T2JzZXJ2ZXJJbnRlcmZhY2UKICAgICBib29s
IGlzRmFzdFVucGFja2FibGUoY29uc3QgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLCBHTGVudW0g
c2l6ZWRJbnRlcm5hbEZvcm1hdCk7CiAgICAgYW5nbGU6OlJlc3VsdCBmYXN0VW5wYWNrUGl4ZWxz
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkJveCAmZGVzdEFyZWEsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBzaXplZEludGVybmFsRm9y
bWF0LApAQCAtMjI3LDYgKzIyOSw3IEBAIGNsYXNzIFRleHR1cmVEM0RfMkQgOiBwdWJsaWMgVGV4
dHVyZUQzRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1hdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscykgb3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJl
c3VsdCBzZXRTdWJJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKQEAgLTM1OCw2
ICszNjEsNyBAQCBjbGFzcyBUZXh0dXJlRDNEX0N1YmUgOiBwdWJsaWMgVGV4dHVyZUQzRAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1hdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2w6OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnBpeGVscykgb3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBzZXRTdWJJ
bWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKQEAgLTQ5MCw2ICs0OTQsNyBAQCBj
bGFzcyBUZXh0dXJlRDNEXzNEIDogcHVibGljIFRleHR1cmVEM0QKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSBmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVu
dW0gdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFj
a1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1
bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpw
aXhlbHMpIG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgc2V0U3ViSW1hZ2UoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6SW1hZ2VJbmRleCAmaW5kZXgsCkBAIC02MTksNiArNjI0LDcgQEAgY2xhc3MgVGV4dHVyZUQz
RF8yREFycmF5IDogcHVibGljIFRleHR1cmVEM0QKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSBmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1
bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZm
ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwaXhlbHMpIG92
ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgc2V0U3ViSW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJ
bmRleCAmaW5kZXgsCkBAIC03NDYsNiArNzUyLDcgQEAgY2xhc3MgVGV4dHVyZUQzREltbXV0YWJs
ZUJhc2UgOiBwdWJsaWMgVGV4dHVyZUQzRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFj
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscykgb3ZlcnJp
ZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBzZXRTdWJJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4
ICZpbmRleCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9kM2QvVGV4dHVyZVN0b3JhZ2UuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvVGV4dHVyZVN0b3JhZ2UuaAppbmRleCA0MzcyZDBh
MmNkYzg5MzBjZTczMGM5MzNkZTZhOWI5ZjIxZmE2MjhmLi5lMTkxYjEyMjY1NzM5MDk4ZGQxMWU3
M2IzNGU3ZjRmYjllNTIxN2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1RleHR1cmVTdG9yYWdlLmgKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9UZXh0dXJlU3RvcmFnZS5o
CkBAIC01MSw2ICs1MSwxMCBAQCBjbGFzcyBUZXh0dXJlU3RvcmFnZSA6IHB1YmxpYyBhbmdsZTo6
U3ViamVjdAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c05hdGl2ZU1pcG1hcEZ1bmN0aW9uKCkg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgaW50IGdldExldmVsQ291bnQoKSBjb25zdCAgICAgICAg
ICAgICAgICAgPSAwOwogCisgICAgdmlydHVhbCBhbmdsZTo6UmVzdWx0IGZpbmRSZW5kZXJUYXJn
ZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipv
dXRSVCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYW5nbGU6OlJlc3VsdCBnZXRSZW5kZXJUYXJn
ZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2Qz
ZDExL0J1ZmZlcjExLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvQnVmZmVyMTEuY3BwCmluZGV4IDBkNWIyNWMxNjI5YjUzYTRiMDg1
MTBmNmIwZTY3N2Y1OGFhNTNkOTAuLmZlMWQ0MDI4ZGEyMjgwN2U5OThjMWVkMTQwMDM0YmJmZmVm
OTdmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvQnVmZmVyMTEuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvQnVmZmVyMTEuY3BwCkBAIC00MjYs
NyArNDI2LDE2IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyMTE6OnNldFN1YkRhdGEoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgc2l6ZSA8PSBzdGF0aWNfY2FzdDxV
SU5UPihtUmVuZGVyZXItPmdldE5hdGl2ZUNhcHMoKS5tYXhVbmlmb3JtQmxvY2tTaXplKSAmJgog
ICAgICAgICAgICAgICAgICFtUmVuZGVyZXItPmdldEZlYXR1cmVzKCkudXNlU3lzdGVtTWVtb3J5
Rm9yQ29uc3RhbnRCdWZmZXJzLmVuYWJsZWQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgQU5HTEVfVFJZKGdldEJ1ZmZlclN0b3JhZ2UoY29udGV4dCwgQlVGRkVSX1VTQUdFX1VOSUZP
Uk0sICZ3cml0ZUJ1ZmZlcikpOworICAgICAgICAgICAgICAgIEJ1ZmZlclN0b3JhZ2UgKmxhdGVz
dFN0b3JhZ2UgPSBudWxscHRyOworICAgICAgICAgICAgICAgIEFOR0xFX1RSWShnZXRMYXRlc3RC
dWZmZXJTdG9yYWdlKGNvbnRleHQsICZsYXRlc3RTdG9yYWdlKSk7CisgICAgICAgICAgICAgICAg
aWYgKGxhdGVzdFN0b3JhZ2UgJiYgKGxhdGVzdFN0b3JhZ2UtPmdldFVzYWdlKCkgPT0gQlVGRkVS
X1VTQUdFX1NUUlVDVFVSRUQpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgQU5HTEVfVFJZKGdldEJ1ZmZlclN0b3JhZ2UoY29udGV4dCwgQlVGRkVSX1VTQUdFX1NUUlVD
VFVSRUQsICZ3cml0ZUJ1ZmZlcikpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBBTkdMRV9UUlko
Z2V0QnVmZmVyU3RvcmFnZShjb250ZXh0LCBCVUZGRVJfVVNBR0VfVU5JRk9STSwgJndyaXRlQnVm
ZmVyKSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9DbGVhcjExLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvQ2xlYXIxMS5jcHAKaW5k
ZXggOTNkNGFmNmU3YWRmMzFkNmI5MWZjMDA1YzY5MGJiZjdmMDJhNDQyNS4uMDU3Mzk3MDdkMjYx
MjBmN2YzMjRhMTVhNzM3YTkwYjY0MmE4YzQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9DbGVhcjExLmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDEx
L0NsZWFyMTEuY3BwCkBAIC0yODcsMTYgKzI4Nyw3IEBAIGFuZ2xlOjpSZXN1bHQgQ2xlYXIxMTo6
ZW5zdXJlUmVzb3VyY2VzSW5pdGlhbGl6ZWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAg
ICAgbURlcHRoU3RlbmNpbFN0YXRlS2V5LnN0ZW5jaWxCYWNrRnVuYyAgICAgICAgICA9IEdMX0FM
V0FZUzsKIAogICAgIC8vIEluaXRpYWxpemUgQmxlbmRTdGF0ZUtleSB3aXRoIGRlZmF1bHRzCi0g
ICAgZm9yIChnbDo6QmxlbmRTdGF0ZSAmYmxlbmRTdGF0ZSA6IG1CbGVuZFN0YXRlS2V5LmJsZW5k
U3RhdGVBcnJheSkKLSAgICB7Ci0gICAgICAgIGJsZW5kU3RhdGUuYmxlbmQgICAgICAgICAgICAg
ID0gZmFsc2U7Ci0gICAgICAgIGJsZW5kU3RhdGUuc291cmNlQmxlbmRSR0IgICAgID0gR0xfT05F
OwotICAgICAgICBibGVuZFN0YXRlLnNvdXJjZUJsZW5kQWxwaGEgICA9IEdMX09ORTsKLSAgICAg
ICAgYmxlbmRTdGF0ZS5kZXN0QmxlbmRSR0IgICAgICAgPSBHTF9aRVJPOwotICAgICAgICBibGVu
ZFN0YXRlLmRlc3RCbGVuZEFscGhhICAgICA9IEdMX1pFUk87Ci0gICAgICAgIGJsZW5kU3RhdGUu
YmxlbmRFcXVhdGlvblJHQiAgID0gR0xfRlVOQ19BREQ7Ci0gICAgICAgIGJsZW5kU3RhdGUuYmxl
bmRFcXVhdGlvbkFscGhhID0gR0xfRlVOQ19BREQ7Ci0gICAgfQorICAgIG1CbGVuZFN0YXRlS2V5
LmJsZW5kU3RhdGVFeHQgPSBnbDo6QmxlbmRTdGF0ZUV4dChtUmVuZGVyZXItPmdldE5hdGl2ZUNh
cHMoKS5tYXhEcmF3QnVmZmVycyk7CiAKICAgICBtUmVzb3VyY2VzSW5pdGlhbGl6ZWQgPSB0cnVl
OwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTQ2OCwxMSArNDU5LDgg
QEAgYW5nbGU6OlJlc3VsdCBDbGVhcjExOjpjbGVhckZyYW1lYnVmZmVyKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogICAgIGNvbnN0IGF1dG8gJmNvbG9yQXR0YWNobWVudHMgPSBmYm9EYXRh
LmdldENvbG9yQXR0YWNobWVudHMoKTsKICAgICBmb3IgKGF1dG8gY29sb3JBdHRhY2htZW50SW5k
ZXggOiBmYm9EYXRhLmdldEVuYWJsZWREcmF3QnVmZmVycygpKQogICAgIHsKLSAgICAgICAgY29u
c3QgdWludDhfdCBjb2xvck1hc2sgPQotICAgICAgICAgICAgZ2xfZDNkMTE6OkNvbnZlcnRDb2xv
ck1hc2soY2xlYXJQYXJhbXMuY29sb3JNYXNrUmVkW2NvbG9yQXR0YWNobWVudEluZGV4XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFz
a0dyZWVuW2NvbG9yQXR0YWNobWVudEluZGV4XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFza0JsdWVbY29sb3JBdHRhY2htZW50SW5k
ZXhdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJQYXJhbXMu
Y29sb3JNYXNrQWxwaGFbY29sb3JBdHRhY2htZW50SW5kZXhdKTsKKyAgICAgICAgY29uc3QgdWlu
dDhfdCBjb2xvck1hc2sgPSBnbDo6QmxlbmRTdGF0ZUV4dDo6Q29sb3JNYXNrU3RvcmFnZTo6R2V0
VmFsdWVJbmRleGVkKAorICAgICAgICAgICAgY29sb3JBdHRhY2htZW50SW5kZXgsIGNsZWFyUGFy
YW1zLmNvbG9yTWFzayk7CiAKICAgICAgICAgY29tbW9uQ29sb3JNYXNrIHw9IGNvbG9yTWFzazsK
IApAQCAtNTAxLDEwICs0ODksMTAgQEAgYW5nbGU6OlJlc3VsdCBDbGVhcjExOjpjbGVhckZyYW1l
YnVmZmVyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgIDw8
ICIpLiI7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKGZvcm1hdEluZm8ucmVkQml0cyA9PSAw
IHx8ICFjbGVhclBhcmFtcy5jb2xvck1hc2tSZWRbY29sb3JBdHRhY2htZW50SW5kZXhdKSAmJgot
ICAgICAgICAgICAgKGZvcm1hdEluZm8uZ3JlZW5CaXRzID09IDAgfHwgIWNsZWFyUGFyYW1zLmNv
bG9yTWFza0dyZWVuW2NvbG9yQXR0YWNobWVudEluZGV4XSkgJiYKLSAgICAgICAgICAgIChmb3Jt
YXRJbmZvLmJsdWVCaXRzID09IDAgfHwgIWNsZWFyUGFyYW1zLmNvbG9yTWFza0JsdWVbY29sb3JB
dHRhY2htZW50SW5kZXhdKSAmJgotICAgICAgICAgICAgKGZvcm1hdEluZm8uYWxwaGFCaXRzID09
IDAgfHwgIWNsZWFyUGFyYW1zLmNvbG9yTWFza0FscGhhW2NvbG9yQXR0YWNobWVudEluZGV4XSkp
CisgICAgICAgIGJvb2wgciwgZywgYiwgYTsKKyAgICAgICAgZ2w6OkJsZW5kU3RhdGVFeHQ6OlVu
cGFja0NvbG9yTWFzayhjb2xvck1hc2ssICZyLCAmZywgJmIsICZhKTsKKyAgICAgICAgaWYgKChm
b3JtYXRJbmZvLnJlZEJpdHMgPT0gMCB8fCAhcikgJiYgKGZvcm1hdEluZm8uZ3JlZW5CaXRzID09
IDAgfHwgIWcpICYmCisgICAgICAgICAgICAoZm9ybWF0SW5mby5ibHVlQml0cyA9PSAwIHx8ICFi
KSAmJiAoZm9ybWF0SW5mby5hbHBoYUJpdHMgPT0gMCB8fCAhYSkpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIC8vIEV2ZXJ5IGNoYW5uZWwgZWl0aGVyIGRvZXMgbm90IGV4aXN0IGluIHRoZSByZW5k
ZXIgdGFyZ2V0IG9yIGlzIG1hc2tlZCBvdXQKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNTE0
LDExICs1MDIsOSBAQCBhbmdsZTo6UmVzdWx0IENsZWFyMTE6OmNsZWFyRnJhbWVidWZmZXIoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIEFTU0VSVChmcmFtZWJ1ZmZlclJUVi52
YWxpZCgpKTsKIAogICAgICAgICBpZiAoKCEobVJlbmRlcmVyLT5nZXRSZW5kZXJlcjExRGV2aWNl
Q2FwcygpLnN1cHBvcnRzQ2xlYXJWaWV3KSAmJiBuZWVkU2Npc3NvcmVkQ2xlYXIpIHx8Ci0gICAg
ICAgICAgICBjbGVhclBhcmFtcy5jb2xvclR5cGUgIT0gR0xfRkxPQVQgfHwKLSAgICAgICAgICAg
IChmb3JtYXRJbmZvLnJlZEJpdHMgPiAwICYmICFjbGVhclBhcmFtcy5jb2xvck1hc2tSZWRbY29s
b3JBdHRhY2htZW50SW5kZXhdKSB8fAotICAgICAgICAgICAgKGZvcm1hdEluZm8uZ3JlZW5CaXRz
ID4gMCAmJiAhY2xlYXJQYXJhbXMuY29sb3JNYXNrR3JlZW5bY29sb3JBdHRhY2htZW50SW5kZXhd
KSB8fAotICAgICAgICAgICAgKGZvcm1hdEluZm8uYmx1ZUJpdHMgPiAwICYmICFjbGVhclBhcmFt
cy5jb2xvck1hc2tCbHVlW2NvbG9yQXR0YWNobWVudEluZGV4XSkgfHwKLSAgICAgICAgICAgIChm
b3JtYXRJbmZvLmFscGhhQml0cyA+IDAgJiYgIWNsZWFyUGFyYW1zLmNvbG9yTWFza0FscGhhW2Nv
bG9yQXR0YWNobWVudEluZGV4XSkpCisgICAgICAgICAgICBjbGVhclBhcmFtcy5jb2xvclR5cGUg
IT0gR0xfRkxPQVQgfHwgKGZvcm1hdEluZm8ucmVkQml0cyA+IDAgJiYgIXIpIHx8CisgICAgICAg
ICAgICAoZm9ybWF0SW5mby5ncmVlbkJpdHMgPiAwICYmICFnKSB8fCAoZm9ybWF0SW5mby5ibHVl
Qml0cyA+IDAgJiYgIWIpIHx8CisgICAgICAgICAgICAoZm9ybWF0SW5mby5hbHBoYUJpdHMgPiAw
ICYmICFhKSkKICAgICAgICAgewogICAgICAgICAgICAgcnR2c1tudW1SdHZzXSAgICAgPSBmcmFt
ZWJ1ZmZlclJUVi5nZXQoKTsKICAgICAgICAgICAgIHJ0dk1hc2tzW251bVJ0dnNdID0gZ2xfZDNk
MTE6OkdldENvbG9yTWFzayhmb3JtYXRJbmZvKSAmIGNvbG9yTWFzazsKQEAgLTY1MCwxNyArNjM2
LDEzIEBAIGFuZ2xlOjpSZXN1bHQgQ2xlYXIxMTo6Y2xlYXJGcmFtZWJ1ZmZlcihjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICBBU1NFUlQobnVtUnR2cyA8PSBzdGF0aWNfY2FzdDx1aW50
MzJfdD4obVJlbmRlcmVyLT5nZXROYXRpdmVDYXBzKCkubWF4RHJhd0J1ZmZlcnMpKTsKIAogICAg
IC8vIFNldHVwIEJsZW5kU3RhdGVLZXkgcGFyYW1ldGVycwotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbUJsZW5kU3RhdGVLZXkuYmxlbmRTdGF0ZUFycmF5LnNpemUoKTsgaSsrKQorICAgIG1C
bGVuZFN0YXRlS2V5LmJsZW5kU3RhdGVFeHQuc2V0Q29sb3JNYXNrKGZhbHNlLCBmYWxzZSwgZmFs
c2UsIGZhbHNlKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVJ0dnM7IGkrKykKICAg
ICB7Ci0gICAgICAgIGdsOjpCbGVuZFN0YXRlICZibGVuZFN0YXRlID0gbUJsZW5kU3RhdGVLZXku
YmxlbmRTdGF0ZUFycmF5W2ldOwotICAgICAgICBibGVuZFN0YXRlLmNvbG9yTWFza1JlZCAgICA9
IGNsZWFyUGFyYW1zLmNvbG9yTWFza1JlZFtpXTsKLSAgICAgICAgYmxlbmRTdGF0ZS5jb2xvck1h
c2tHcmVlbiAgPSBjbGVhclBhcmFtcy5jb2xvck1hc2tHcmVlbltpXTsKLSAgICAgICAgYmxlbmRT
dGF0ZS5jb2xvck1hc2tCbHVlICAgPSBjbGVhclBhcmFtcy5jb2xvck1hc2tCbHVlW2ldOwotICAg
ICAgICBibGVuZFN0YXRlLmNvbG9yTWFza0FscGhhICA9IGNsZWFyUGFyYW1zLmNvbG9yTWFza0Fs
cGhhW2ldOworICAgICAgICBtQmxlbmRTdGF0ZUtleS5ibGVuZFN0YXRlRXh0LnNldENvbG9yTWFz
a0luZGV4ZWQoaSwgcnR2TWFza3NbaV0pOwogICAgIH0KIAogICAgIG1CbGVuZFN0YXRlS2V5LnJ0
dk1heCA9IHN0YXRpY19jYXN0PHVpbnQxNl90PihudW1SdHZzKTsKLSAgICBtZW1jcHkobUJsZW5k
U3RhdGVLZXkucnR2TWFza3MsICZydHZNYXNrc1swXSwgc2l6ZW9mKG1CbGVuZFN0YXRlS2V5LnJ0
dk1hc2tzKSk7CiAKICAgICAvLyBHZXQgQmxlbmRTdGF0ZQogICAgIGNvbnN0IGQzZDExOjpCbGVu
ZFN0YXRlICpibGVuZFN0YXRlID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvQ29udGV4dDExLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEv
Q29udGV4dDExLmNwcAppbmRleCBmZmQyMGZiMTA4ZDhkZjIwNmUzNmJlNzgxZTQ4Y2VkMmU1Nzdm
NDExLi5kMDczNDk0MjNiMmM0ZmVmZTE2ZDVjZjQwZWQ5YzllN2MxNTllYjY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDEx
L0NvbnRleHQxMS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2QzZC9kM2QxMS9Db250ZXh0MTEuY3BwCkBAIC0zMDksMTIgKzMwOSwxMyBAQCBB
TkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0MTE6OmRyYXdFbGVtZW50c0ltcGwoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleAogICAgICAgICBnbDo6SW5kZXhSYW5nZSBpbmRleFJhbmdl
OwogICAgICAgICBBTkdMRV9UUlkoY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRWZXJ0ZXhBcnJheSgp
LT5nZXRJbmRleFJhbmdlKAogICAgICAgICAgICAgY29udGV4dCwgaW5kZXhUeXBlLCBpbmRleENv
dW50LCBpbmRpY2VzLCAmaW5kZXhSYW5nZSkpOworICAgICAgICBHTGludCBzdGFydFZlcnRleDsK
KyAgICAgICAgQU5HTEVfVFJZKENvbXB1dGVTdGFydFZlcnRleChHZXRJbXBsQXM8Q29udGV4dDEx
Pihjb250ZXh0KSwgaW5kZXhSYW5nZSwgYmFzZVZlcnRleCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmc3RhcnRWZXJ0ZXgpKTsKICAgICAgICAgQU5HTEVfVFJZKG1SZW5k
ZXJlci0+Z2V0U3RhdGVNYW5hZ2VyKCktPnVwZGF0ZVN0YXRlKAotICAgICAgICAgICAgY29udGV4
dCwgbW9kZSwgc3RhdGljX2Nhc3Q8R0xpbnQ+KGluZGV4UmFuZ2Uuc3RhcnQpLCBpbmRleENvdW50
LCBpbmRleFR5cGUsIGluZGljZXMsCi0gICAgICAgICAgICBpbnN0YW5jZUNvdW50LCBiYXNlVmVy
dGV4KSk7Ci0gICAgICAgIHJldHVybiBtUmVuZGVyZXItPmRyYXdFbGVtZW50cyhjb250ZXh0LCBt
b2RlLCBzdGF0aWNfY2FzdDxHTGludD4oaW5kZXhSYW5nZS5zdGFydCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleENvdW50LCBpbmRleFR5cGUsIGluZGljZXMs
IGluc3RhbmNlQ291bnQsIGJhc2VWZXJ0ZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiYXNlSW5zdGFuY2UpOworICAgICAgICAgICAgY29udGV4dCwgbW9kZSwgc3Rh
cnRWZXJ0ZXgsIGluZGV4Q291bnQsIGluZGV4VHlwZSwgaW5kaWNlcywgaW5zdGFuY2VDb3VudCwg
YmFzZVZlcnRleCkpOworICAgICAgICByZXR1cm4gbVJlbmRlcmVyLT5kcmF3RWxlbWVudHMoY29u
dGV4dCwgbW9kZSwgc3RhcnRWZXJ0ZXgsIGluZGV4Q291bnQsIGluZGV4VHlwZSwgaW5kaWNlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ291bnQsIGJh
c2VWZXJ0ZXgsIGJhc2VJbnN0YW5jZSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CkBAIC0zNDEs
OSArMzQyLDcgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0MTE6OmRyYXdFbGVtZW50c0Jhc2VWZXJ0
ZXgoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbmRpY2VzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgYmFzZVZlcnRleCkKIHsK
LSAgICAvLyBUT0RPOiBhbmdsZXByb2plY3Q6MzQwMgotICAgIFVOSU1QTEVNRU5URUQoKTsKLSAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6U3RvcDsKKyAgICByZXR1cm4gZHJhd0VsZW1lbnRzSW1w
bChjb250ZXh0LCBtb2RlLCBjb3VudCwgdHlwZSwgaW5kaWNlcywgMCwgYmFzZVZlcnRleCwgMCk7
CiB9CiAKIGFuZ2xlOjpSZXN1bHQgQ29udGV4dDExOjpkcmF3RWxlbWVudHNJbnN0YW5jZWQoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCkBAIC0zNjQsOSArMzYzLDcgQEAgYW5nbGU6OlJlc3Vs
dCBDb250ZXh0MTE6OmRyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXgoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgaW5zdGFuY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgYmFzZVZlcnRleCkKIHsKLSAg
ICAvLyBUT0RPOiBhbmdsZXByb2plY3Q6MzQwMgotICAgIFVOSU1QTEVNRU5URUQoKTsKLSAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6U3RvcDsKKyAgICByZXR1cm4gZHJhd0VsZW1lbnRzSW1wbChj
b250ZXh0LCBtb2RlLCBjb3VudCwgdHlwZSwgaW5kaWNlcywgaW5zdGFuY2VzLCBiYXNlVmVydGV4
LCAwKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBDb250ZXh0MTE6OmRyYXdFbGVtZW50c0luc3RhbmNl
ZEJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCkBAIC00
MDIsOSArMzk5LDcgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0MTE6OmRyYXdSYW5nZUVsZW1lbnRz
QmFzZVZlcnRleChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5kaWNlcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xp
bnQgYmFzZVZlcnRleCkKIHsKLSAgICAvLyBUT0RPOiBhbmdsZXByb2plY3Q6MzQwMgotICAgIFVO
SU1QTEVNRU5URUQoKTsKLSAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6U3RvcDsKKyAgICByZXR1
cm4gZHJhd0VsZW1lbnRzSW1wbChjb250ZXh0LCBtb2RlLCBjb3VudCwgdHlwZSwgaW5kaWNlcywg
MCwgYmFzZVZlcnRleCwgMCk7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgQ29udGV4dDExOjpkcmF3QXJy
YXlzSW5kaXJlY3QoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL0ZyYW1l
YnVmZmVyMTEuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL2QzZC9kM2QxMS9GcmFtZWJ1ZmZlcjExLmNwcAppbmRleCBlZjAwNWE4MTA1M2IwOWMwZTZh
YzhiZmU2ODlmMTg4ZTM2MGU3ZmFmLi4yNTYxZWNhMTUzYzFkNWQxODgxNzhkY2JlNDJmZTQ4ZTU5
NTI4NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZDNkL2QzZDExL0ZyYW1lYnVmZmVyMTEuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvRnJhbWVidWZmZXIxMS5j
cHAKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9kM2QvVGV4
dHVyZUQzRC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9CdWZmZXIx
MS5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9DbGVhcjExLmgiCisj
aW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL0NvbnRleHQxMS5oIgogI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJUYXJnZXQxMS5oIgogI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJlcjExLmgiCiAjaW5jbHVkZSAi
bGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1RleHR1cmVTdG9yYWdlMTEuaCIKQEAgLTI1Myw3
ICsyNTQsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyMTE6OnJlYWRQaXhlbHNJbXBsKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxQYWNrU3RhdGUgJnBhY2ssCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBpeGVscykKIHsKLSAg
ICBjb25zdCBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50ICpyZWFkQXR0YWNobWVudCA9IG1TdGF0
ZS5nZXRSZWFkQXR0YWNobWVudCgpOworICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlckF0dGFjaG1l
bnQgKnJlYWRBdHRhY2htZW50ID0gbVN0YXRlLmdldFJlYWRQaXhlbHNBdHRhY2htZW50KGZvcm1h
dCk7CiAgICAgQVNTRVJUKHJlYWRBdHRhY2htZW50KTsKIAogICAgIGdsOjpCdWZmZXIgKnBhY2tC
dWZmZXIgPSBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldFRhcmdldEJ1ZmZlcihnbDo6QnVmZmVyQmlu
ZGluZzo6UGl4ZWxQYWNrKTsKQEAgLTM3NCwxNyArMzc1LDIyIEBAIGFuZ2xlOjpSZXN1bHQgRnJh
bWVidWZmZXIxMTo6YmxpdEltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCi1HTGVudW0gRnJhbWVidWZmZXIxMTo6
Z2V0UmVuZGVyVGFyZ2V0SW1wbGVtZW50YXRpb25Gb3JtYXQoUmVuZGVyVGFyZ2V0RDNEICpyZW5k
ZXJUYXJnZXQpIGNvbnN0Citjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJkZyYW1lYnVmZmVyMTE6
OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KAorICAgIGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0KSBjb25zdAogewotICAgIFJlbmRlclRhcmdldDExICpyZW5kZXJUYXJnZXQxMSA9
IEdldEFzPFJlbmRlclRhcmdldDExPihyZW5kZXJUYXJnZXQpOwotICAgIHJldHVybiByZW5kZXJU
YXJnZXQxMS0+Z2V0Rm9ybWF0U2V0KCkuZm9ybWF0KCkuZmJvSW1wbGVtZW50YXRpb25JbnRlcm5h
bEZvcm1hdDsKKyAgICBDb250ZXh0MTEgKmNvbnRleHQxMSAgICAgICAgICAgICA9IEdldEltcGxB
czxDb250ZXh0MTE+KGNvbnRleHQpOworICAgIGNvbnN0IFJlbmRlcmVyMTFEZXZpY2VDYXBzICZj
YXBzID0gY29udGV4dDExLT5nZXRSZW5kZXJlcigpLT5nZXRSZW5kZXJlcjExRGV2aWNlQ2Fwcygp
OworICAgIEdMZW51bSBzaXplZEZvcm1hdCA9IG1TdGF0ZS5nZXRSZWFkQXR0YWNobWVudCgpLT5n
ZXRGb3JtYXQoKS5pbmZvLT5zaXplZEludGVybmFsRm9ybWF0OworICAgIGNvbnN0IGFuZ2xlOjpG
b3JtYXQgJmFuZ2xlRm9ybWF0ID0gZDNkMTE6OkZvcm1hdDo6R2V0KHNpemVkRm9ybWF0LCBjYXBz
KS5mb3JtYXQoKTsKKyAgICByZXR1cm4gZ2w6OkdldFNpemVkSW50ZXJuYWxGb3JtYXRJbmZvKGFu
Z2xlRm9ybWF0LmZib0ltcGxlbWVudGF0aW9uSW50ZXJuYWxGb3JtYXQpOwogfQogCiBhbmdsZTo6
UmVzdWx0IEZyYW1lYnVmZmVyMTE6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBiaW5kaW5n
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkZyYW1l
YnVmZmVyOjpEaXJ0eUJpdHMgJmRpcnR5Qml0cykKIHsKICAgICBBTkdMRV9UUlkobVJlbmRlclRh
cmdldENhY2hlLnVwZGF0ZShjb250ZXh0LCBtU3RhdGUsIGRpcnR5Qml0cykpOwotICAgIEFOR0xF
X1RSWShGcmFtZWJ1ZmZlckQzRDo6c3luY1N0YXRlKGNvbnRleHQsIGRpcnR5Qml0cykpOworICAg
IEFOR0xFX1RSWShGcmFtZWJ1ZmZlckQzRDo6c3luY1N0YXRlKGNvbnRleHQsIGJpbmRpbmcsIGRp
cnR5Qml0cykpOwogCiAgICAgLy8gQ2FsbCB0aGlzIGxhc3QgdG8gYWxsb3cgdGhlIHN0YXRlIG1h
bmFnZXIgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGNhY2hlZCByZW5kZXIgdGFyZ2V0cy4KICAg
ICBtUmVuZGVyZXItPmdldFN0YXRlTWFuYWdlcigpLT5pbnZhbGlkYXRlUmVuZGVyVGFyZ2V0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZDNkL2QzZDExL0ZyYW1lYnVmZmVyMTEuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvRnJhbWVidWZmZXIxMS5oCmluZGV4IDhkNTdl
NWU2MTc1MjZjNjdmNTkwMmUyNDcyYjJhOGQyYWUyODkzNzYuLmU5MGI0YWYwNjFhODFkMmU3MmU4
NWY1YTlhMDIwYWEzMmM2MDk0NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvRnJhbWVidWZmZXIxMS5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvRnJh
bWVidWZmZXIxMS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIEZyYW1lYnVmZmVyMTEgOiBwdWJs
aWMgRnJhbWVidWZmZXJEM0QKICAgICBhbmdsZTo6UmVzdWx0IG1hcmtBdHRhY2htZW50c0RpcnR5
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdDsKIAogICAgIGFuZ2xlOjpSZXN1bHQg
c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSBiaW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpIG92ZXJyaWRlOwogCiAg
ICAgY29uc3QgZ2w6OkF0dGFjaG1lbnRBcnJheTxSZW5kZXJUYXJnZXQxMSAqPiAmZ2V0Q2FjaGVk
Q29sb3JSZW5kZXJUYXJnZXRzKCkgY29uc3QKQEAgLTU2LDYgKzU3LDkgQEAgY2xhc3MgRnJhbWVi
dWZmZXIxMSA6IHB1YmxpYyBGcmFtZWJ1ZmZlckQzRAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2l6ZV90IGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xmbG9hdCAqeHkpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgY29uc3QgZ2w6OkludGVy
bmFsRm9ybWF0ICZnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdCgKKyAgICAgICAgY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOworCiAgIHByaXZhdGU6CiAg
ICAgYW5nbGU6OlJlc3VsdCBjbGVhckltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ2xlYXJQYXJhbWV0ZXJzICZjbGVhclBh
cmFtcykgb3ZlcnJpZGU7CkBAIC04NSw4ICs4OSw2IEBAIGNsYXNzIEZyYW1lYnVmZmVyMTEgOiBw
dWJsaWMgRnJhbWVidWZmZXJEM0QKICAgICBhbmdsZTo6UmVzdWx0IGludmFsaWRhdGVBdHRhY2ht
ZW50KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVyQXR0YWNobWVudCAqYXR0YWNobWVu
dCkgY29uc3Q7CiAKLSAgICBHTGVudW0gZ2V0UmVuZGVyVGFyZ2V0SW1wbGVtZW50YXRpb25Gb3Jt
YXQoUmVuZGVyVGFyZ2V0RDNEICpyZW5kZXJUYXJnZXQpIGNvbnN0IG92ZXJyaWRlOwotCiAgICAg
UmVuZGVyZXIxMSAqY29uc3QgbVJlbmRlcmVyOwogICAgIFJlbmRlclRhcmdldENhY2hlPFJlbmRl
clRhcmdldDExPiBtUmVuZGVyVGFyZ2V0Q2FjaGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9QaXhlbFRyYW5z
ZmVyMTEuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2QzZC9kM2QxMS9QaXhlbFRyYW5zZmVyMTEuY3BwCmluZGV4IDQ3MzZhOGMwYTk5NjY5NzdmY2Qx
NzYzNGNjZGEyN2FmNzFiNWFmNDAuLmViNGQ1ZWEzN2FlZmEwMzcyZTE3NjgwYjc2NzY4NGEwNmFl
MDI3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvUGl4ZWxUcmFuc2ZlcjExLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1BpeGVsVHJhbnNmZXIx
MS5jcHAKQEAgLTE1MCwxMiArMTUwLDE1IEBAIHZvaWQgUGl4ZWxUcmFuc2ZlcjExOjpzZXRCdWZm
ZXJUb1RleHR1cmVDb3B5UGFyYW1zKGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLAogCiBhbmdsZTo6
UmVzdWx0IFBpeGVsVHJhbnNmZXIxMTo6Y29weUJ1ZmZlclRvVGV4dHVyZShjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBh
Y2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICpkZXN0UmVuZGVyVGFyZ2V0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVt
IGRlc3RpbmF0aW9uRm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xlbnVtIHNvdXJjZVBpeGVsc1R5cGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6Qm94ICZkZXN0QXJl
YSkKIHsKKyAgICBBU1NFUlQodW5wYWNrQnVmZmVyKTsKKwogICAgIEFOR0xFX1RSWShsb2FkUmVz
b3VyY2VzKGNvbnRleHQpKTsKIAogICAgIGdsOjpFeHRlbnRzIGRlc3RTaXplID0gZGVzdFJlbmRl
clRhcmdldC0+Z2V0RXh0ZW50cygpOwpAQCAtMTY0LDkgKzE2Nyw2IEBAIGFuZ2xlOjpSZXN1bHQg
UGl4ZWxUcmFuc2ZlcjExOjpjb3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgICAgICAgICBkZXN0QXJlYS55ICsgZGVzdEFyZWEuaGVpZ2h0IDw9IGRlc3RT
aXplLmhlaWdodCAmJiBkZXN0QXJlYS56ID49IDAgJiYKICAgICAgICAgICAgZGVzdEFyZWEueiAr
IGRlc3RBcmVhLmRlcHRoIDw9IGRlc3RTaXplLmRlcHRoKTsKIAotICAgIGNvbnN0IGdsOjpCdWZm
ZXIgJnNvdXJjZUJ1ZmZlciA9Ci0gICAgICAgICpjb250ZXh0LT5nZXRTdGF0ZSgpLmdldFRhcmdl
dEJ1ZmZlcihnbDo6QnVmZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOwotCiAgICAgQVNTRVJUKG1S
ZW5kZXJlci0+c3VwcG9ydHNGYXN0Q29weUJ1ZmZlclRvVGV4dHVyZShkZXN0aW5hdGlvbkZvcm1h
dCkpOwogCiAgICAgY29uc3QgZDNkMTE6OlBpeGVsU2hhZGVyICpwaXhlbFNoYWRlciA9IGZpbmRC
dWZmZXJUb1RleHR1cmVQUyhkZXN0aW5hdGlvbkZvcm1hdCk7CkBAIC0xODIsNyArMTgyLDcgQEAg
YW5nbGU6OlJlc3VsdCBQaXhlbFRyYW5zZmVyMTE6OmNvcHlCdWZmZXJUb1RleHR1cmUoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHNvdXJjZWdsRm9ybWF0SW5mby5zaXplZElu
dGVybmFsRm9ybWF0LCBtUmVuZGVyZXItPmdldFJlbmRlcmVyMTFEZXZpY2VDYXBzKCkpOwogICAg
IERYR0lfRk9STUFUIHNydkZvcm1hdCA9IHNvdXJjZUZvcm1hdEluZm8uc3J2Rm9ybWF0OwogICAg
IEFTU0VSVChzcnZGb3JtYXQgIT0gRFhHSV9GT1JNQVRfVU5LTk9XTik7Ci0gICAgQnVmZmVyMTEg
KmJ1ZmZlclN0b3JhZ2UxMSAgICAgICAgICAgICAgICAgID0gR2V0QXM8QnVmZmVyMTE+KHNvdXJj
ZUJ1ZmZlci5nZXRJbXBsZW1lbnRhdGlvbigpKTsKKyAgICBCdWZmZXIxMSAqYnVmZmVyU3RvcmFn
ZTExICAgICAgICAgICAgICAgICAgPSBHZXRBczxCdWZmZXIxMT4odW5wYWNrQnVmZmVyLT5nZXRJ
bXBsZW1lbnRhdGlvbigpKTsKICAgICBjb25zdCBkM2QxMTo6U2hhZGVyUmVzb3VyY2VWaWV3ICpi
dWZmZXJTUlYgPSBudWxscHRyOwogICAgIEFOR0xFX1RSWShidWZmZXJTdG9yYWdlMTEtPmdldFNS
Vihjb250ZXh0LCBzcnZGb3JtYXQsICZidWZmZXJTUlYpKTsKICAgICBBU1NFUlQoYnVmZmVyU1JW
ICE9IG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9QaXhlbFRyYW5zZmVyMTEuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvUGl4ZWxUcmFuc2Zl
cjExLmgKaW5kZXggNGE1ZTg1Mzk1ODQ4N2I0MjRjOTY0YWVlOTdjZDhhNDdmZTA1MTI0Yi4uYmRi
MTFiOTBmZmRjNzhiM2E2Mjk2OWU3ZDRmYjU0ZDQyZjM1MjViMSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9QaXhlbFRy
YW5zZmVyMTEuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZDNkL2QzZDExL1BpeGVsVHJhbnNmZXIxMS5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNz
IFBpeGVsVHJhbnNmZXIxMQogICAgIC8vIGRlc3RBcmVhOiB0aGUgc3ViLXNlY3Rpb24gb2YgZGVz
dFJlbmRlclRhcmdldCB0byBjb3B5IHRvCiAgICAgYW5nbGU6OlJlc3VsdCBjb3B5QnVmZmVyVG9U
ZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZm
ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBv
ZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhcmdl
dEQzRCAqZGVzdFJlbmRlclRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJTdGF0ZUNh
Y2hlLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9k
M2QvZDNkMTEvUmVuZGVyU3RhdGVDYWNoZS5jcHAKaW5kZXggZDI0NDIwZDQ2OGE5ODJiMTM4MThk
ZGEwNjdlZWViYzdmZjA1N2M2MC4uNTA0ZWY0YjliNGIyM2VhM2FiMzc2MDM2ZDQ1YzU0N2NjOTA3
ODE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJTdGF0ZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1JlbmRlclN0YXRlQ2Fj
aGUuY3BwCkBAIC00NSw3MCArNDUsNTkgQEAgdm9pZCBSZW5kZXJTdGF0ZUNhY2hlOjpjbGVhcigp
CiAvLyBzdGF0aWMKIGQzZDExOjpCbGVuZFN0YXRlS2V5IFJlbmRlclN0YXRlQ2FjaGU6OkdldEJs
ZW5kU3RhdGVLZXkoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVyMTEgKmZy
YW1lYnVmZmVyMTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlQXJyYXkgJmJsZW5kU3RhdGVBcnJheSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkJsZW5kU3RhdGVFeHQgJmJsZW5kU3RhdGVFeHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc2FtcGxlQWxwaGFU
b0NvdmVyYWdlKQogewogICAgIGQzZDExOjpCbGVuZFN0YXRlS2V5IGtleTsKLSAgICAvLyBBbGwg
ZWxlbWVudHMgb2YgdGhlIEJsZW5kU3RhdGVBcnJheSBpbnNpZGUgdGhlIGtleSBzaG91bGQgYmUg
aW5pdGlhbGl6ZWQgZm9yIHRoZSBjYWNoaW5nIHRvCisgICAgLy8gQWxsIGZpZWxkcyBvZiB0aGUg
QmxlbmRTdGF0ZUV4dCBpbnNpZGUgdGhlIGtleSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgZm9yIHRo
ZSBjYWNoaW5nIHRvCiAgICAgLy8gd29yayBjb3JyZWN0bHkuIER1ZSB0byBtcnRfcGVyZl93b3Jr
YXJvdW5kLCB0aGUgYWN0dWFsIGluZGljZXMgb2YgYWN0aXZlIGRyYXcgYnVmZmVycyBtYXkgYmUK
ICAgICAvLyBkaWZmZXJlbnQsIHNvIGJvdGggYXJyYXlzIHNob3VsZCBiZSB0cmFja2VkLgorICAg
IGtleS5ibGVuZFN0YXRlRXh0ICAgICAgICAgICAgICAgICAgICAgID0gZ2w6OkJsZW5kU3RhdGVF
eHQoYmxlbmRTdGF0ZUV4dC5tTWF4RHJhd0J1ZmZlcnMpOwogICAgIGNvbnN0IGdsOjpBdHRhY2ht
ZW50TGlzdCAmY29sb3JidWZmZXJzID0gZnJhbWVidWZmZXIxMS0+Z2V0Q29sb3JBdHRhY2htZW50
c0ZvclJlbmRlcihjb250ZXh0KTsKICAgICBjb25zdCBnbDo6RHJhd0J1ZmZlck1hc2sgY29sb3JB
dHRhY2htZW50c0ZvclJlbmRlck1hc2sgPQogICAgICAgICBmcmFtZWJ1ZmZlcjExLT5nZXRMYXN0
Q29sb3JBdHRhY2htZW50c0ZvclJlbmRlck1hc2soKTsKIAotICAgIEFTU0VSVChibGVuZFN0YXRl
QXJyYXkuc2l6ZSgpID09IGNvbG9yQXR0YWNobWVudHNGb3JSZW5kZXJNYXNrLnNpemUoKSk7Cisg
ICAgQVNTRVJUKGJsZW5kU3RhdGVFeHQubU1heERyYXdCdWZmZXJzIDw9IGNvbG9yQXR0YWNobWVu
dHNGb3JSZW5kZXJNYXNrLnNpemUoKSk7CiAgICAgQVNTRVJUKGNvbG9yYnVmZmVycy5zaXplKCkg
PT0gY29sb3JBdHRhY2htZW50c0ZvclJlbmRlck1hc2suY291bnQoKSk7CiAKICAgICBzaXplX3Qg
a2V5QmxlbmRJbmRleCA9IDA7CisKKyAgICAvLyBXaXRoIGJsZW5kaW5nIGRpc2FibGVkLCBmYWN0
b3JzIGFuZCBlcXVhdGlvbnMgYXJlIGlnbm9yZWQgd2hlbiBidWlsZGluZworICAgIC8vIEQzRDEx
X1JFTkRFUl9UQVJHRVRfQkxFTkRfREVTQywgc28gd2UgY2FuIHJlZHVjZSB0aGUgYW1vdW50IG9m
IHVuaXF1ZSBrZXlzIGJ5CisgICAgLy8gZW5mb3JjaW5nIGRlZmF1bHQgdmFsdWVzLgogICAgIGZv
ciAoc2l6ZV90IHNvdXJjZUluZGV4IDogY29sb3JBdHRhY2htZW50c0ZvclJlbmRlck1hc2spCiAg
ICAgewotICAgICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZSAmYmxlbmRTdGF0ZSA9IGJsZW5kU3Rh
dGVBcnJheVtzb3VyY2VJbmRleF07Ci0gICAgICAgIGdsOjpCbGVuZFN0YXRlICZrZXlCbGVuZFN0
YXRlICAgID0ga2V5LmJsZW5kU3RhdGVBcnJheVtrZXlCbGVuZEluZGV4XTsKLQotICAgICAgICAv
LyBXaXRoIGJsZW5kaW5nIGRpc2FibGVkLCBmYWN0b3JzIGFuZCBlcXVhdGlvbnMgYXJlIGlnbm9y
ZWQgd2hlbiBidWlsZGluZwotICAgICAgICAvLyBEM0QxMV9SRU5ERVJfVEFSR0VUX0JMRU5EX0RF
U0MsIHNvIHdlIGNhbiByZWR1Y2UgdGhlIGFtb3VudCBvZiB1bmlxdWUga2V5cyBieQotICAgICAg
ICAvLyBlbmZvcmNpbmcgZGVmYXVsdCB2YWx1ZXMuCi0gICAgICAgIGtleUJsZW5kU3RhdGUgPSBn
bDo6QmxlbmRTdGF0ZSgpOworICAgICAgICBBU1NFUlQoa2V5QmxlbmRJbmRleCA8IGNvbG9yYnVm
ZmVycy5zaXplKCkpOworICAgICAgICBjb25zdCBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50ICph
dHRhY2htZW50ID0gY29sb3JidWZmZXJzW2tleUJsZW5kSW5kZXhdOwogCi0gICAgICAgIGlmIChi
bGVuZFN0YXRlLmJsZW5kKQorICAgICAgICAvLyBEbyBub3Qgc2V0IGJsZW5kIHN0YXRlIGZvciBu
dWxsIGF0dGFjaG1lbnRzIHRoYXQgbWF5IGJlIHByZXNlbnQgd2hlbgorICAgICAgICAvLyBtcnRf
cGVyZl93b3JrYXJvdW5kIGlzIGRpc2FibGVkLgorICAgICAgICBpZiAoYXR0YWNobWVudCA9PSBu
dWxscHRyKQogICAgICAgICB7Ci0gICAgICAgICAgICBrZXlCbGVuZFN0YXRlLmJsZW5kICAgICAg
ICAgICAgICA9IHRydWU7Ci0gICAgICAgICAgICBrZXlCbGVuZFN0YXRlLnNvdXJjZUJsZW5kUkdC
ICAgICA9IGJsZW5kU3RhdGUuc291cmNlQmxlbmRSR0I7Ci0gICAgICAgICAgICBrZXlCbGVuZFN0
YXRlLnNvdXJjZUJsZW5kQWxwaGEgICA9IGJsZW5kU3RhdGUuc291cmNlQmxlbmRBbHBoYTsKLSAg
ICAgICAgICAgIGtleUJsZW5kU3RhdGUuZGVzdEJsZW5kUkdCICAgICAgID0gYmxlbmRTdGF0ZS5k
ZXN0QmxlbmRSR0I7Ci0gICAgICAgICAgICBrZXlCbGVuZFN0YXRlLmRlc3RCbGVuZEFscGhhICAg
ICA9IGJsZW5kU3RhdGUuZGVzdEJsZW5kQWxwaGE7Ci0gICAgICAgICAgICBrZXlCbGVuZFN0YXRl
LmJsZW5kRXF1YXRpb25SR0IgICA9IGJsZW5kU3RhdGUuYmxlbmRFcXVhdGlvblJHQjsKLSAgICAg
ICAgICAgIGtleUJsZW5kU3RhdGUuYmxlbmRFcXVhdGlvbkFscGhhID0gYmxlbmRTdGF0ZS5ibGVu
ZEVxdWF0aW9uQWxwaGE7CisgICAgICAgICAgICBrZXlCbGVuZEluZGV4Kys7CisgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgdXNl
ZCBvbmx5IGZvciBjYWNoaW5nIChoYXNoIGNhbGN1bGF0aW9uKSBwdXJwb3Nlcy4KLSAgICAgICAg
Ly8gQWN0dWFsIHdyaXRlIGNvbG9yIG1hc2sgdmFsdWUgaXMgZGVyaXZlZCBiZWxvdy4KLSAgICAg
ICAga2V5QmxlbmRTdGF0ZS5jb2xvck1hc2tSZWQgICA9IGJsZW5kU3RhdGUuY29sb3JNYXNrUmVk
OwotICAgICAgICBrZXlCbGVuZFN0YXRlLmNvbG9yTWFza0dyZWVuID0gYmxlbmRTdGF0ZS5jb2xv
ck1hc2tHcmVlbjsKLSAgICAgICAga2V5QmxlbmRTdGF0ZS5jb2xvck1hc2tCbHVlICA9IGJsZW5k
U3RhdGUuY29sb3JNYXNrQmx1ZTsKLSAgICAgICAga2V5QmxlbmRTdGF0ZS5jb2xvck1hc2tBbHBo
YSA9IGJsZW5kU3RhdGUuY29sb3JNYXNrQWxwaGE7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QgY29s
b3JNYXNrID0gYmxlbmRTdGF0ZUV4dC5nZXRDb2xvck1hc2tJbmRleGVkKHNvdXJjZUluZGV4KTsK
IAotICAgICAgICBBU1NFUlQoa2V5QmxlbmRJbmRleCA8IGNvbG9yYnVmZmVycy5zaXplKCkpOwot
ICAgICAgICBjb25zdCBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50ICphdHRhY2htZW50ID0gY29s
b3JidWZmZXJzW2tleUJsZW5kSW5kZXhdOworICAgICAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3Jt
YXQgJmludGVybmFsRm9ybWF0ID0gKmF0dGFjaG1lbnQtPmdldEZvcm1hdCgpLmluZm87CiAKLSAg
ICAgICAgaWYgKGF0dGFjaG1lbnQpICAvLyB3aGVuIG1ydF9wZXJmX3dvcmthcm91bmQgaXMgZGlz
YWJsZWQsIG51bGxwdHIgYXR0YWNobWVudHMgbWF5IGV4aXN0CisgICAgICAgIGtleS5ibGVuZFN0
YXRlRXh0LnNldENvbG9yTWFza0luZGV4ZWQoa2V5QmxlbmRJbmRleCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbF9kM2QxMTo6R2V0Q29sb3JNYXNrKGlu
dGVybmFsRm9ybWF0KSAmIGNvbG9yTWFzayk7CisgICAgICAgIGtleS5ydHZNYXggPSBzdGF0aWNf
Y2FzdDx1aW50MTZfdD4oa2V5QmxlbmRJbmRleCkgKyAxOworCisgICAgICAgIC8vIFNvbWUgRDNE
MTEgZHJpdmVycyBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0cyB3aGVuIGJsZW5kaW5nIGlzIGVu
YWJsZWQgZm9yIGludGVnZXIKKyAgICAgICAgLy8gYXR0YWNobWVudHMuIFBlciBPcGVuR0wgRVMg
c3BlYywgaXQgbXVzdCBiZSBpZ25vcmVkIGFueXdheS4gV2hlbiBibGVuZGluZyBpcyBkaXNhYmxl
ZCwKKyAgICAgICAgLy8gdGhlIHN0YXRlIHJlbWFpbnMgZGVmYXVsdCB0byByZWR1Y2UgdGhlIG51
bWJlciBvZiB1bmlxdWUga2V5cy4KKyAgICAgICAgaWYgKGJsZW5kU3RhdGVFeHQubUVuYWJsZWRN
YXNrLnRlc3Qoc291cmNlSW5kZXgpICYmICFpbnRlcm5hbEZvcm1hdC5pc0ludCgpKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBrZXkucnR2TWF4ID0gc3RhdGljX2Nhc3Q8dWludDE2X3Q+KGtleUJs
ZW5kSW5kZXgpICsgMTsKLSAgICAgICAgICAgIGtleS5ydHZNYXNrc1trZXlCbGVuZEluZGV4XSA9
Ci0gICAgICAgICAgICAgICAgKGdsX2QzZDExOjpHZXRDb2xvck1hc2soKmF0dGFjaG1lbnQtPmdl
dEZvcm1hdCgpLmluZm8pKSAmCi0gICAgICAgICAgICAgICAgZ2xfZDNkMTE6OkNvbnZlcnRDb2xv
ck1hc2soYmxlbmRTdGF0ZS5jb2xvck1hc2tSZWQsIGJsZW5kU3RhdGUuY29sb3JNYXNrR3JlZW4s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZS5j
b2xvck1hc2tCbHVlLCBibGVuZFN0YXRlLmNvbG9yTWFza0FscGhhKTsKKyAgICAgICAgICAgIGtl
eS5ibGVuZFN0YXRlRXh0LnNldEVuYWJsZWRJbmRleGVkKGtleUJsZW5kSW5kZXgsIHRydWUpOwor
ICAgICAgICAgICAga2V5LmJsZW5kU3RhdGVFeHQuc2V0RXF1YXRpb25zSW5kZXhlZChrZXlCbGVu
ZEluZGV4LCBzb3VyY2VJbmRleCwgYmxlbmRTdGF0ZUV4dCk7CisgICAgICAgICAgICBrZXkuYmxl
bmRTdGF0ZUV4dC5zZXRGYWN0b3JzSW5kZXhlZChrZXlCbGVuZEluZGV4LCBzb3VyY2VJbmRleCwg
YmxlbmRTdGF0ZUV4dCk7CiAgICAgICAgIH0KICAgICAgICAga2V5QmxlbmRJbmRleCsrOwogICAg
IH0KIAotICAgIC8vIEluaXRpYWxpemUgcmVtYWluaW5nIHNsb3RzIGluIGtleS5ibGVuZFN0YXRl
QXJyYXkKLSAgICBpZiAoa2V5QmxlbmRJbmRleCA8IGtleS5ibGVuZFN0YXRlQXJyYXkuc2l6ZSgp
KQotICAgIHsKLSAgICAgICAgc3RkOjpmaWxsKGtleS5ibGVuZFN0YXRlQXJyYXkuYmVnaW4oKSAr
IGtleUJsZW5kSW5kZXgsIGtleS5ibGVuZFN0YXRlQXJyYXkuZW5kKCksCi0gICAgICAgICAgICAg
ICAgICBnbDo6QmxlbmRTdGF0ZSgpKTsKLSAgICB9Ci0KICAgICBrZXkuc2FtcGxlQWxwaGFUb0Nv
dmVyYWdlID0gc2FtcGxlQWxwaGFUb0NvdmVyYWdlID8gMSA6IDA7CiAgICAgcmV0dXJuIGtleTsK
IH0KQEAgLTEyOCw4ICsxMTcsOCBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlclN0YXRlQ2FjaGU6Omdl
dEJsZW5kU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgVHJpbUNhY2hlKGtN
YXhTdGF0ZXMsIGtHQ0xpbWl0LCAiYmxlbmQgc3RhdGUiLCAmbUJsZW5kU3RhdGVDYWNoZSk7CiAK
ICAgICAvLyBDcmVhdGUgYSBuZXcgYmxlbmQgc3RhdGUgYW5kIGluc2VydCBpdCBpbnRvIHRoZSBj
YWNoZQotICAgIEQzRDExX0JMRU5EX0RFU0MgYmxlbmREZXNjOwotICAgIGNvbnN0IGdsOjpCbGVu
ZFN0YXRlQXJyYXkgJmJsZW5kU3RhdGVBcnJheSA9IGtleS5ibGVuZFN0YXRlQXJyYXk7CisgICAg
RDNEMTFfQkxFTkRfREVTQyBibGVuZERlc2MgICAgICAgICAgICAgPSB7fTsgIC8vIGF2b2lkIHVu
ZGVmaW5lZCBmaWVsZHMKKyAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4
dCA9IGtleS5ibGVuZFN0YXRlRXh0OwogCiAgICAgYmxlbmREZXNjLkFscGhhVG9Db3ZlcmFnZUVu
YWJsZSAgPSBrZXkuc2FtcGxlQWxwaGFUb0NvdmVyYWdlICE9IDAgPyBUUlVFIDogRkFMU0U7CiAg
ICAgYmxlbmREZXNjLkluZGVwZW5kZW50QmxlbmRFbmFibGUgPSBrZXkucnR2TWF4ID4gMSA/IFRS
VUUgOiBGQUxTRTsKQEAgLTEzOCwyNiArMTI3LDI5IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyU3Rh
dGVDYWNoZTo6Z2V0QmxlbmRTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAv
LyBmZWF0dXJlIGxldmVsLiBHaXZlbiB0aGF0IHdlIGRvIG5vdCBleHBvc2UgR0wgZW50cnlwb2lu
dHMgdGhhdCBzZXQgcGVyLWJ1ZmZlciBibGVuZCBzdGF0ZXMgb24KICAgICAvLyBzeXN0ZW1zIGxv
d2VyIHRoYW4gRkwxMF8xLCB0aGlzIGFycmF5IHdpbGwgYmUgYWx3YXlzIHZhbGlkLgogCi0gICAg
QVNTRVJUKGJsZW5kU3RhdGVBcnJheS5zaXplKCkgPj0gRDNEMTFfU0lNVUxUQU5FT1VTX1JFTkRF
Ul9UQVJHRVRfQ09VTlQpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgRDNEMTFfU0lNVUxU
QU5FT1VTX1JFTkRFUl9UQVJHRVRfQ09VTlQ7IGkrKykKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGJsZW5kU3RhdGVFeHQubU1heERyYXdCdWZmZXJzOyBpKyspCiAgICAgewogICAgICAgICBE
M0QxMV9SRU5ERVJfVEFSR0VUX0JMRU5EX0RFU0MgJnJ0RGVzYyA9IGJsZW5kRGVzYy5SZW5kZXJU
YXJnZXRbaV07CiAKLSAgICAgICAgcnREZXNjID0ge307ICAvLyBvdGhlcndpc2UgaXRzIGNvbnRl
bnQgbWF5IGJlIHVuZGVmaW5lZAotCi0gICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlICZibGVu
ZFN0YXRlID0gYmxlbmRTdGF0ZUFycmF5W2ldOwotICAgICAgICBpZiAoYmxlbmRTdGF0ZS5ibGVu
ZCkKKyAgICAgICAgaWYgKGJsZW5kU3RhdGVFeHQubUVuYWJsZWRNYXNrLnRlc3QoaSkpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJ0RGVzYy5CbGVuZEVuYWJsZSAgICA9IHRydWU7Ci0gICAgICAg
ICAgICBydERlc2MuU3JjQmxlbmQgICAgICAgPSBnbF9kM2QxMTo6Q29udmVydEJsZW5kRnVuYyhi
bGVuZFN0YXRlLnNvdXJjZUJsZW5kUkdCLCBmYWxzZSk7Ci0gICAgICAgICAgICBydERlc2MuRGVz
dEJsZW5kICAgICAgPSBnbF9kM2QxMTo6Q29udmVydEJsZW5kRnVuYyhibGVuZFN0YXRlLmRlc3RC
bGVuZFJHQiwgZmFsc2UpOwotICAgICAgICAgICAgcnREZXNjLkJsZW5kT3AgICAgICAgID0gZ2xf
ZDNkMTE6OkNvbnZlcnRCbGVuZE9wKGJsZW5kU3RhdGUuYmxlbmRFcXVhdGlvblJHQik7Ci0gICAg
ICAgICAgICBydERlc2MuU3JjQmxlbmRBbHBoYSAgPSBnbF9kM2QxMTo6Q29udmVydEJsZW5kRnVu
YyhibGVuZFN0YXRlLnNvdXJjZUJsZW5kQWxwaGEsIHRydWUpOwotICAgICAgICAgICAgcnREZXNj
LkRlc3RCbGVuZEFscGhhID0gZ2xfZDNkMTE6OkNvbnZlcnRCbGVuZEZ1bmMoYmxlbmRTdGF0ZS5k
ZXN0QmxlbmRBbHBoYSwgdHJ1ZSk7Ci0gICAgICAgICAgICBydERlc2MuQmxlbmRPcEFscGhhICAg
PSBnbF9kM2QxMTo6Q29udmVydEJsZW5kT3AoYmxlbmRTdGF0ZS5ibGVuZEVxdWF0aW9uQWxwaGEp
OworICAgICAgICAgICAgcnREZXNjLkJsZW5kRW5hYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIHJ0
RGVzYy5TcmNCbGVuZCA9CisgICAgICAgICAgICAgICAgZ2xfZDNkMTE6OkNvbnZlcnRCbGVuZEZ1
bmMoYmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvckluZGV4ZWQoaSksIGZhbHNlKTsKKyAgICAgICAg
ICAgIHJ0RGVzYy5EZXN0QmxlbmQgPQorICAgICAgICAgICAgICAgIGdsX2QzZDExOjpDb252ZXJ0
QmxlbmRGdW5jKGJsZW5kU3RhdGVFeHQuZ2V0RHN0Q29sb3JJbmRleGVkKGkpLCBmYWxzZSk7Cisg
ICAgICAgICAgICBydERlc2MuQmxlbmRPcCA9IGdsX2QzZDExOjpDb252ZXJ0QmxlbmRPcChibGVu
ZFN0YXRlRXh0LmdldEVxdWF0aW9uQ29sb3JJbmRleGVkKGkpKTsKKyAgICAgICAgICAgIHJ0RGVz
Yy5TcmNCbGVuZEFscGhhID0KKyAgICAgICAgICAgICAgICBnbF9kM2QxMTo6Q29udmVydEJsZW5k
RnVuYyhibGVuZFN0YXRlRXh0LmdldFNyY0FscGhhSW5kZXhlZChpKSwgdHJ1ZSk7CisgICAgICAg
ICAgICBydERlc2MuRGVzdEJsZW5kQWxwaGEgPQorICAgICAgICAgICAgICAgIGdsX2QzZDExOjpD
b252ZXJ0QmxlbmRGdW5jKGJsZW5kU3RhdGVFeHQuZ2V0RHN0QWxwaGFJbmRleGVkKGkpLCB0cnVl
KTsKKyAgICAgICAgICAgIHJ0RGVzYy5CbGVuZE9wQWxwaGEgPQorICAgICAgICAgICAgICAgIGds
X2QzZDExOjpDb252ZXJ0QmxlbmRPcChibGVuZFN0YXRlRXh0LmdldEVxdWF0aW9uQWxwaGFJbmRl
eGVkKGkpKTsKICAgICAgICAgfQogCi0gICAgICAgIHJ0RGVzYy5SZW5kZXJUYXJnZXRXcml0ZU1h
c2sgPSBrZXkucnR2TWFza3NbaV07CisgICAgICAgIC8vIGJsZW5kU3RhdGVFeHQuY29sb3JNYXNr
IGZvbGxvd3MgdGhlIHNhbWUgcGFja2luZyBzY2hlbWUgYXMKKyAgICAgICAgLy8gRDNEMTFfUkVO
REVSX1RBUkdFVF9CTEVORF9ERVNDLlJlbmRlclRhcmdldFdyaXRlTWFzaworICAgICAgICBydERl
c2MuUmVuZGVyVGFyZ2V0V3JpdGVNYXNrID0gYmxlbmRTdGF0ZUV4dC5nZXRDb2xvck1hc2tJbmRl
eGVkKGkpOwogICAgIH0KIAogICAgIGQzZDExOjpCbGVuZFN0YXRlIGQzZEJsZW5kU3RhdGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
ZDNkL2QzZDExL1JlbmRlclN0YXRlQ2FjaGUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvUmVuZGVyU3RhdGVDYWNoZS5oCmluZGV4IDVi
ZmM1OTMxM2ViMWJjMTJkZjBlOWFmZGM4NWIwMGU0ODE1Y2Q1MTQuLmJkODUzZmU4NmU0YjdhNWM1
Yzg3MTUzOTM5YTNkNzMxYjRiZTk4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvUmVuZGVyU3RhdGVDYWNoZS5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNk
MTEvUmVuZGVyU3RhdGVDYWNoZS5oCkBAIC02OSw3ICs2OSw3IEBAIGNsYXNzIFJlbmRlclN0YXRl
Q2FjaGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHN0YXRpYyBkM2QxMTo6QmxlbmRTdGF0
ZUtleSBHZXRCbGVuZFN0YXRlS2V5KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVyMTEg
KmZyYW1lYnVmZmVyMTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGVBcnJheSAmYmxlbmRTdGF0ZUFycmF5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpC
bGVuZFN0YXRlRXh0ICZibGVuZFN0YXRlRXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc2FtcGxlQWxwaGFUb0NvdmVyYWdlKTsKICAgICBh
bmdsZTo6UmVzdWx0IGdldEJsZW5kU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlcmVyMTEgKnJlbmRlcmVyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Qz
ZC9kM2QxMS9SZW5kZXJlcjExLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvUmVuZGVyZXIxMS5jcHAKaW5kZXggYTdjZTBlOTU0Yjlj
YjQyMmVjNWZkYWEyMjQ0NTQ4NDFkOTk2ZmY1My4uY2RhMzhjNDdkMmZlYTUyZTZlOTA4NDViYTlm
OTdmYzIzZWY4YmE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJlcjExLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1JlbmRlcmVyMTEu
Y3BwCkBAIC02OTAsMTAgKzY5MCwzOSBAQCBlZ2w6OkVycm9yIFJlbmRlcmVyMTE6OmluaXRpYWxp
emUoKQogCiBIUkVTVUxUIFJlbmRlcmVyMTE6OmNhbGxEM0QxMUNyZWF0ZURldmljZShQRk5fRDNE
MTFfQ1JFQVRFX0RFVklDRSBjcmVhdGVEZXZpY2UsIGJvb2wgZGVidWcpCiB7CisgICAgYW5nbGU6
OkNvbVB0cjxJRFhHSUFkYXB0ZXI+IGFkYXB0ZXI7CisKKyAgICBjb25zdCBlZ2w6OkF0dHJpYnV0
ZU1hcCAmYXR0cmlidXRlcyA9IG1EaXNwbGF5LT5nZXRBdHRyaWJ1dGVNYXAoKTsKKyAgICBsb25n
IGhpZ2ggPSBzdGF0aWNfY2FzdDxsb25nPihhdHRyaWJ1dGVzLmdldChFR0xfUExBVEZPUk1fQU5H
TEVfRDNEX0xVSURfSElHSF9BTkdMRSwgMCkpOworICAgIHVuc2lnbmVkIGxvbmcgbG93ID0KKyAg
ICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oYXR0cmlidXRlcy5nZXQoRUdMX1BMQVRG
T1JNX0FOR0xFX0QzRF9MVUlEX0xPV19BTkdMRSwgMCkpOworCisgICAgaWYgKGhpZ2ggIT0gMCB8
fCBsb3cgIT0gMCkKKyAgICB7CisgICAgICAgIGFuZ2xlOjpDb21QdHI8SURYR0lGYWN0b3J5MT4g
ZmFjdG9yeTsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChDcmVhdGVEWEdJRmFjdG9yeTEoSUlEX1BQ
Vl9BUkdTKCZmYWN0b3J5KSkpKQorICAgICAgICB7CisgICAgICAgICAgICBhbmdsZTo6Q29tUHRy
PElEWEdJQWRhcHRlcj4gdGVtcDsKKyAgICAgICAgICAgIGZvciAoVUlOVCBpID0gMDsgU1VDQ0VF
REVEKGZhY3RvcnktPkVudW1BZGFwdGVycyhpLCAmdGVtcCkpOyBpKyspCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgRFhHSV9BREFQVEVSX0RFU0MgZGVzYzsKKyAgICAgICAgICAgICAg
ICBpZiAoU1VDQ0VFREVEKHRlbXAtPkdldERlc2MoJmRlc2MpKSAmJiBkZXNjLkFkYXB0ZXJMdWlk
LkhpZ2hQYXJ0ID09IGhpZ2ggJiYKKyAgICAgICAgICAgICAgICAgICAgZGVzYy5BZGFwdGVyTHVp
ZC5Mb3dQYXJ0ID09IGxvdykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IGFkYXB0ZXIgPSB0ZW1wOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBJZiBhZGFw
dGVyIGlzIG5vdCBudWxscHRyLCB0aGUgZHJpdmVyIHR5cGUgbXVzdCBiZSBEM0RfRFJJVkVSX1RZ
UEVfVU5LTk9XTiBvcgorICAgIC8vIEQzRDExQ3JlYXRlRGV2aWNlIHdpbGwgcmV0dXJuIEVfSU5W
QUxJREFSRy4KICAgICByZXR1cm4gY3JlYXRlRGV2aWNlKAotICAgICAgICBudWxscHRyLCBtUmVx
dWVzdGVkRHJpdmVyVHlwZSwgbnVsbHB0ciwgZGVidWcgPyBEM0QxMV9DUkVBVEVfREVWSUNFX0RF
QlVHIDogMCwKLSAgICAgICAgbUF2YWlsYWJsZUZlYXR1cmVMZXZlbHMuZGF0YSgpLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBpbnQ+KG1BdmFpbGFibGVGZWF0dXJlTGV2ZWxzLnNpemUoKSksCi0gICAg
ICAgIEQzRDExX1NES19WRVJTSU9OLCAmbURldmljZSwgJihtUmVuZGVyZXIxMURldmljZUNhcHMu
ZmVhdHVyZUxldmVsKSwgJm1EZXZpY2VDb250ZXh0KTsKKyAgICAgICAgYWRhcHRlci5HZXQoKSwg
YWRhcHRlciA/IEQzRF9EUklWRVJfVFlQRV9VTktOT1dOIDogbVJlcXVlc3RlZERyaXZlclR5cGUs
IG51bGxwdHIsCisgICAgICAgIGRlYnVnID8gRDNEMTFfQ1JFQVRFX0RFVklDRV9ERUJVRyA6IDAs
IG1BdmFpbGFibGVGZWF0dXJlTGV2ZWxzLmRhdGEoKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8dW5z
aWduZWQgaW50PihtQXZhaWxhYmxlRmVhdHVyZUxldmVscy5zaXplKCkpLCBEM0QxMV9TREtfVkVS
U0lPTiwgJm1EZXZpY2UsCisgICAgICAgICYobVJlbmRlcmVyMTFEZXZpY2VDYXBzLmZlYXR1cmVM
ZXZlbCksICZtRGV2aWNlQ29udGV4dCk7CiB9CiAKIEhSRVNVTFQgUmVuZGVyZXIxMTo6Y2FsbEQz
RDExT24xMkNyZWF0ZURldmljZShQRk5fRDNEMTJfQ1JFQVRFX0RFVklDRSBjcmVhdGVEZXZpY2Ux
MiwKQEAgLTMxMDQsNiArMzEzMyw3IEBAIGJvb2wgUmVuZGVyZXIxMTo6c3VwcG9ydHNGYXN0Q29w
eUJ1ZmZlclRvVGV4dHVyZShHTGVudW0gaW50ZXJuYWxGb3JtYXQpIGNvbnN0CiAKIGFuZ2xlOjpS
ZXN1bHQgUmVuZGVyZXIxMTo6ZmFzdENvcHlCdWZmZXJUb1RleHR1cmUoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpCdWZmZXIgKnVucGFja0J1
ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IG9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICpkZXN0UmVuZGVyVGFyZ2V0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZGVzdGlu
YXRpb25Gb3JtYXQsCkBAIC0zMTExLDggKzMxNDEsOSBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVy
MTE6OmZhc3RDb3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6Qm94ICZkZXN0QXJlYSkKIHsKICAgICBBU1NFUlQoc3VwcG9ydHNGYXN0Q29weUJ1ZmZlclRv
VGV4dHVyZShkZXN0aW5hdGlvbkZvcm1hdCkpOwotICAgIHJldHVybiBtUGl4ZWxUcmFuc2Zlci0+
Y29weUJ1ZmZlclRvVGV4dHVyZShjb250ZXh0LCB1bnBhY2ssIG9mZnNldCwgZGVzdFJlbmRlclRh
cmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dGluYXRpb25Gb3JtYXQsIHNvdXJjZVBpeGVsc1R5cGUsIGRlc3RBcmVhKTsKKyAgICByZXR1cm4g
bVBpeGVsVHJhbnNmZXItPmNvcHlCdWZmZXJUb1RleHR1cmUoY29udGV4dCwgdW5wYWNrLCB1bnBh
Y2tCdWZmZXIsIG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGVzdFJlbmRlclRhcmdldCwgZGVzdGluYXRpb25Gb3JtYXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBpeGVsc1R5cGUsIGRl
c3RBcmVhKTsKIH0KIAogSW1hZ2VEM0QgKlJlbmRlcmVyMTE6OmNyZWF0ZUltYWdlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2Qv
ZDNkMTEvUmVuZGVyZXIxMS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJlcjExLmgKaW5kZXggNGUzZGE5YWJjYmFjZjVlOWM0
OTYzNzg2YmNmYTQ5ODY1MDNiMDBkOC4uY2I5OGJmYTBkMThjOTA2ZDk4OWE4NDI1MmEwZGM5NDkx
MzU5MDc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJlcjExLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9SZW5kZXJlcjExLmgKQEAgLTM1
MSw2ICszNTEsNyBAQCBjbGFzcyBSZW5kZXJlcjExIDogcHVibGljIFJlbmRlcmVyRDNECiAgICAg
Ym9vbCBzdXBwb3J0c0Zhc3RDb3B5QnVmZmVyVG9UZXh0dXJlKEdMZW51bSBpbnRlcm5hbEZvcm1h
dCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBmYXN0Q29weUJ1ZmZlclRvVGV4
dHVyZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBh
Y2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFyZ2V0RDNEICpkZXN0UmVuZGVyVGFyZ2V0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9k
M2QxMS9TdGF0ZU1hbmFnZXIxMS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1N0YXRlTWFuYWdlcjExLmNwcAppbmRleCA3ZWI3ZjE4
OTY3MGI0YjU5NTZmZTI1MWY4YzEyODRmYjYzNTZhMmNjLi4xMThjY2I5NzY5M2I1MmJiMzc0Nzg1
NjMwZmQ4NTkyNDUzY2JkMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1N0YXRlTWFuYWdlcjExLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1N0
YXRlTWFuYWdlcjExLmNwcApAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgImNvbW1vbi91dGls
aXRpZXMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9Db250ZXh0LmgiCiAjaW5jbHVkZSAibGliQU5H
TEUvUXVlcnkuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9TdXJmYWNlLmgiCiAjaW5jbHVkZSAibGli
QU5HTEUvVmVydGV4QXJyYXkuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9kM2QvRGlz
cGxheUQzRC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL2QzZC9UZXh0dXJlRDNELmgi
CkBAIC0xOTMsNyArMTk0LDcgQEAgdm9pZCBTb3J0QXR0cmlidXRlc0J5TGF5b3V0KGNvbnN0IFBy
b2dyYW1EM0QgJnByb2dyYW1EM0QsCiAgICAgc29ydGVkQXR0cmlidXRlc091dC0+Y2xlYXIoKTsK
IAogICAgIGNvbnN0IEF0dHJpYkluZGV4QXJyYXkgJmxvY2F0aW9uVG9TZW1hbnRpYyA9IHByb2dy
YW1EM0QuZ2V0QXR0cmliTG9jYXRpb25Ub0QzRFNlbWFudGljcygpOwotICAgIGNvbnN0IGdsOjpQ
cm9ncmFtRXhlY3V0YWJsZSAmZXhlY3V0YWJsZSAgICA9IHByb2dyYW1EM0QuZ2V0U3RhdGUoKS5n
ZXRQcm9ncmFtRXhlY3V0YWJsZSgpOworICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAm
ZXhlY3V0YWJsZSAgICA9IHByb2dyYW1EM0QuZ2V0U3RhdGUoKS5nZXRFeGVjdXRhYmxlKCk7CiAK
ICAgICBmb3IgKGF1dG8gbG9jYXRpb25JbmRleCA6IGV4ZWN1dGFibGUuZ2V0QWN0aXZlQXR0cmli
TG9jYXRpb25zTWFzaygpKQogICAgIHsKQEAgLTY2Nyw3ICs2NjgsNyBAQCBTdGF0ZU1hbmFnZXIx
MTo6U3RhdGVNYW5hZ2VyMTEoUmVuZGVyZXIxMSAqcmVuZGVyZXIpCiAgICAgOiBtUmVuZGVyZXIo
cmVuZGVyZXIpLAogICAgICAgbUludGVybmFsRGlydHlCaXRzKCksCiAgICAgICBtQ3VyU2FtcGxl
QWxwaGFUb0NvdmVyYWdlKGZhbHNlKSwKLSAgICAgIG1DdXJCbGVuZFN0YXRlQXJyYXkoKSwKKyAg
ICAgIG1DdXJCbGVuZFN0YXRlRXh0KCksCiAgICAgICBtQ3VyQmxlbmRDb2xvcigwLCAwLCAwLCAw
KSwKICAgICAgIG1DdXJTYW1wbGVNYXNrKDApLAogICAgICAgbUN1clN0ZW5jaWxSZWYoMCksCkBA
IC05NTAsNjMgKzk1MSw0MCBAQCB2b2lkIFN0YXRlTWFuYWdlcjExOjpzeW5jU3RhdGUoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsIGNvbnN0IGdsOjpTdGF0ZTo6RGlydAogICAgICAgICB7CiAg
ICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX0JMRU5EX0VRVUFUSU9OUzoKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUFycmF5ICZi
bGVuZFN0YXRlQXJyYXkgPSBzdGF0ZS5nZXRCbGVuZFN0YXRlQXJyYXkoKTsKLSAgICAgICAgICAg
ICAgICBjb25zdCBzaXplX3Qgc3RhdGVzQ291bnQgPSBtSW5kZXBlbmRlbnRCbGVuZFN0YXRlcyA/
IGJsZW5kU3RhdGVBcnJheS5zaXplKCkgOiAxOwotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgc3RhdGVzQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBjb25zdCBnbDo6
QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCA9IHN0YXRlLmdldEJsZW5kU3RhdGVFeHQoKTsK
KyAgICAgICAgICAgICAgICBBU1NFUlQobUN1ckJsZW5kU3RhdGVFeHQubU1heERyYXdCdWZmZXJz
ID09IGJsZW5kU3RhdGVFeHQubU1heERyYXdCdWZmZXJzKTsKKyAgICAgICAgICAgICAgICAvLyBD
b21wYXJlIGJsZW5kIGVxdWF0aW9ucyBvbmx5IGZvciBidWZmZXJzIHdpdGggYmxlbmRpbmcgZW5h
YmxlZCBiZWNhdXNlCisgICAgICAgICAgICAgICAgLy8gc3Vic2VxdWVudCBzeW5jIHN0YWdlcyBl
bmZvcmNlIGRlZmF1bHQgdmFsdWVzIGZvciBidWZmZXJzIHdpdGggYmxlbmRpbmcgZGlzYWJsZWQu
CisgICAgICAgICAgICAgICAgaWYgKChibGVuZFN0YXRlRXh0Lm1FbmFibGVkTWFzayAmCisgICAg
ICAgICAgICAgICAgICAgICBtQ3VyQmxlbmRTdGF0ZUV4dC5jb21wYXJlRXF1YXRpb25zKGJsZW5k
U3RhdGVFeHQubUVxdWF0aW9uQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJsZW5kU3RhdGVFeHQubUVxdWF0aW9uQWxwaGEpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgLmFueSgpKQogICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGUgJmJsZW5kU3RhdGUgPSBibGVuZFN0
YXRlQXJyYXlbaV07Ci0gICAgICAgICAgICAgICAgICAgIGlmICghYmxlbmRTdGF0ZS5ibGVuZCkK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3Vic2Vx
dWVudCBzeW5jIHN0YWdlcyBlbmZvcmNlIGRlZmF1bHQgdmFsdWVzIGZvciBidWZmZXJzIHdpdGgg
ZGlzYWJsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJsZW5kaW5nIGFueXdheSwgbm8g
bmVlZCB0byB0b3VjaCBpbnRlcm5hbCBkaXJ0eSBiaXRzLgotICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkJsZW5kU3RhdGUgJmN1ckJsZW5kU3RhdGUgPSBtQ3VyQmxlbmRTdGF0ZUFycmF5
W2ldOwotICAgICAgICAgICAgICAgICAgICBpZiAoYmxlbmRTdGF0ZS5ibGVuZEVxdWF0aW9uUkdC
ICE9IGN1ckJsZW5kU3RhdGUuYmxlbmRFcXVhdGlvblJHQiB8fAotICAgICAgICAgICAgICAgICAg
ICAgICAgYmxlbmRTdGF0ZS5ibGVuZEVxdWF0aW9uQWxwaGEgIT0gY3VyQmxlbmRTdGF0ZS5ibGVu
ZEVxdWF0aW9uQWxwaGEpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQoRElSVFlfQklUX0JMRU5EX1NUQVRFKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQoRElSVFlfQklUX0JMRU5EX1NU
QVRFKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX0JMRU5EX0ZVTkNT
OgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlQXJy
YXkgJmJsZW5kU3RhdGVBcnJheSA9IHN0YXRlLmdldEJsZW5kU3RhdGVBcnJheSgpOwotICAgICAg
ICAgICAgICAgIGNvbnN0IHNpemVfdCBzdGF0ZXNDb3VudCA9IG1JbmRlcGVuZGVudEJsZW5kU3Rh
dGVzID8gYmxlbmRTdGF0ZUFycmF5LnNpemUoKSA6IDE7Ci0gICAgICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBzdGF0ZXNDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIGNvbnN0
IGdsOjpCbGVuZFN0YXRlRXh0ICZibGVuZFN0YXRlRXh0ID0gc3RhdGUuZ2V0QmxlbmRTdGF0ZUV4
dCgpOworICAgICAgICAgICAgICAgIEFTU0VSVChtQ3VyQmxlbmRTdGF0ZUV4dC5tTWF4RHJhd0J1
ZmZlcnMgPT0gYmxlbmRTdGF0ZUV4dC5tTWF4RHJhd0J1ZmZlcnMpOworICAgICAgICAgICAgICAg
IC8vIENvbXBhcmUgYmxlbmQgZmFjdG9ycyBvbmx5IGZvciBidWZmZXJzIHdpdGggYmxlbmRpbmcg
ZW5hYmxlZCBiZWNhdXNlCisgICAgICAgICAgICAgICAgLy8gc3Vic2VxdWVudCBzeW5jIHN0YWdl
cyBlbmZvcmNlIGRlZmF1bHQgdmFsdWVzIGZvciBidWZmZXJzIHdpdGggYmxlbmRpbmcgZGlzYWJs
ZWQuCisgICAgICAgICAgICAgICAgaWYgKChibGVuZFN0YXRlRXh0Lm1FbmFibGVkTWFzayAmCisg
ICAgICAgICAgICAgICAgICAgICBtQ3VyQmxlbmRTdGF0ZUV4dC5jb21wYXJlRmFjdG9ycygKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBibGVuZFN0YXRlRXh0Lm1TcmNDb2xvciwgYmxlbmRTdGF0
ZUV4dC5tRHN0Q29sb3IsIGJsZW5kU3RhdGVFeHQubVNyY0FscGhhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGJsZW5kU3RhdGVFeHQubURzdEFscGhhKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC5hbnkoKSkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdsOjpCbGVuZFN0YXRlICZibGVuZFN0YXRlID0gYmxlbmRTdGF0ZUFycmF5W2ldOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIWJsZW5kU3RhdGUuYmxlbmQpCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1YnNlcXVlbnQgc3luYyBzdGFnZXMgZW5m
b3JjZSBkZWZhdWx0IHZhbHVlcyBmb3IgYnVmZmVycyB3aXRoIGRpc2FibGVkCi0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBibGVuZGluZyBhbnl3YXksIG5vIG5lZWQgdG8gdG91Y2ggaW50ZXJu
YWwgZGlydHkgYml0cy4KLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRl
ICZjdXJCbGVuZFN0YXRlID0gbUN1ckJsZW5kU3RhdGVBcnJheVtpXTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKGJsZW5kU3RhdGUuc291cmNlQmxlbmRSR0IgIT0gY3VyQmxlbmRTdGF0ZS5zb3Vy
Y2VCbGVuZFJHQiB8fAotICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZS5kZXN0Qmxl
bmRSR0IgIT0gY3VyQmxlbmRTdGF0ZS5kZXN0QmxlbmRSR0IgfHwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJsZW5kU3RhdGUuc291cmNlQmxlbmRBbHBoYSAhPSBjdXJCbGVuZFN0YXRlLnNvdXJj
ZUJsZW5kQWxwaGEgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJsZW5kU3RhdGUuZGVzdEJs
ZW5kQWxwaGEgIT0gY3VyQmxlbmRTdGF0ZS5kZXN0QmxlbmRBbHBoYSkKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgbUludGVybmFsRGlydHlCaXRzLnNldChE
SVJUWV9CSVRfQkxFTkRfU1RBVEUpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgbUludGVybmFsRGlydHlC
aXRzLnNldChESVJUWV9CSVRfQkxFTkRfU1RBVEUpOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgZ2w6OlN0
YXRlOjpESVJUWV9CSVRfQkxFTkRfRU5BQkxFRDoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUFycmF5ICZibGVuZFN0YXRlQXJyYXkgPSBzdGF0ZS5n
ZXRCbGVuZFN0YXRlQXJyYXkoKTsKLSAgICAgICAgICAgICAgICBjb25zdCBzaXplX3Qgc3RhdGVz
Q291bnQgPSBtSW5kZXBlbmRlbnRCbGVuZFN0YXRlcyA/IGJsZW5kU3RhdGVBcnJheS5zaXplKCkg
OiAxOwotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGVzQ291bnQ7
IGkrKykKKyAgICAgICAgICAgICAgICBpZiAoc3RhdGUuZ2V0QmxlbmRTdGF0ZUV4dCgpLm1FbmFi
bGVkTWFzayAhPSBtQ3VyQmxlbmRTdGF0ZUV4dC5tRW5hYmxlZE1hc2spCiAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoYmxlbmRTdGF0ZUFycmF5W2ldLmJsZW5kICE9
IG1DdXJCbGVuZFN0YXRlQXJyYXlbaV0uYmxlbmQpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQoRElSVFlfQklUX0JM
RU5EX1NUQVRFKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQoRElS
VFlfQklUX0JMRU5EX1NUQVRFKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0xMDI0LDIwICsxMDAyLDkgQEAgdm9pZCBTdGF0ZU1h
bmFnZXIxMTo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBjb25zdCBnbDo6
U3RhdGU6OkRpcnQKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgZ2w6
OlN0YXRlOjpESVJUWV9CSVRfQ09MT1JfTUFTSzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUFycmF5ICZibGVuZFN0YXRlQXJyYXkgPSBzdGF0ZS5n
ZXRCbGVuZFN0YXRlQXJyYXkoKTsKLSAgICAgICAgICAgICAgICBjb25zdCBzaXplX3Qgc3RhdGVz
Q291bnQgPSBtSW5kZXBlbmRlbnRCbGVuZFN0YXRlcyA/IGJsZW5kU3RhdGVBcnJheS5zaXplKCkg
OiAxOwotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGVzQ291bnQ7
IGkrKykKKyAgICAgICAgICAgICAgICBpZiAoc3RhdGUuZ2V0QmxlbmRTdGF0ZUV4dCgpLm1Db2xv
ck1hc2sgIT0gbUN1ckJsZW5kU3RhdGVFeHQubUNvbG9yTWFzaykKICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlICZibGVuZFN0YXRlICAg
ID0gYmxlbmRTdGF0ZUFycmF5W2ldOwotICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6Qmxl
bmRTdGF0ZSAmY3VyQmxlbmRTdGF0ZSA9IG1DdXJCbGVuZFN0YXRlQXJyYXlbaV07Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChibGVuZFN0YXRlLmNvbG9yTWFza1JlZCAhPSBjdXJCbGVuZFN0YXRl
LmNvbG9yTWFza1JlZCB8fAotICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZS5jb2xv
ck1hc2tHcmVlbiAhPSBjdXJCbGVuZFN0YXRlLmNvbG9yTWFza0dyZWVuIHx8Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBibGVuZFN0YXRlLmNvbG9yTWFza0JsdWUgIT0gY3VyQmxlbmRTdGF0ZS5j
b2xvck1hc2tCbHVlIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICBibGVuZFN0YXRlLmNvbG9y
TWFza0FscGhhICE9IGN1ckJsZW5kU3RhdGUuY29sb3JNYXNrQWxwaGEpCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQo
RElSVFlfQklUX0JMRU5EX1NUQVRFKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIG1JbnRlcm5hbERpcnR5
Qml0cy5zZXQoRElSVFlfQklUX0JMRU5EX1NUQVRFKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0xMjYxLDcgKzEyMjgsNyBAQCB2
b2lkIFN0YXRlTWFuYWdlcjExOjpoYW5kbGVNdWx0aXZpZXdEcmF3RnJhbWVidWZmZXJDaGFuZ2Uo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbgogfQogCiBhbmdsZTo6UmVzdWx0IFN0YXRlTWFuYWdlcjEx
OjpzeW5jQmxlbmRTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlQXJy
YXkgJmJsZW5kU3RhdGVBcnJheSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlRXh0ICZibGVuZFN0YXRlRXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkNvbG9yRiAm
YmxlbmRDb2xvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCBzYW1wbGVNYXNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBzYW1wbGVBbHBoYVRvQ292ZXJhZ2UsCkBAIC0xMjY5LDcgKzEy
MzYsNyBAQCBhbmdsZTo6UmVzdWx0IFN0YXRlTWFuYWdlcjExOjpzeW5jQmxlbmRTdGF0ZShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKIHsKICAgICBjb25zdCBkM2QxMTo6QmxlbmRTdGF0ZSAq
ZHhCbGVuZFN0YXRlID0gbnVsbHB0cjsKICAgICBjb25zdCBkM2QxMTo6QmxlbmRTdGF0ZUtleSAm
a2V5ICAgICAgID0gUmVuZGVyU3RhdGVDYWNoZTo6R2V0QmxlbmRTdGF0ZUtleSgKLSAgICAgICAg
Y29udGV4dCwgbUZyYW1lYnVmZmVyMTEsIGJsZW5kU3RhdGVBcnJheSwgc2FtcGxlQWxwaGFUb0Nv
dmVyYWdlKTsKKyAgICAgICAgY29udGV4dCwgbUZyYW1lYnVmZmVyMTEsIGJsZW5kU3RhdGVFeHQs
IHNhbXBsZUFscGhhVG9Db3ZlcmFnZSk7CiAKICAgICBBTkdMRV9UUlkobVJlbmRlcmVyLT5nZXRC
bGVuZFN0YXRlKGNvbnRleHQsIGtleSwgJmR4QmxlbmRTdGF0ZSkpOwogCkBAIC0xMjg3LDcgKzEy
NTQsNyBAQCBhbmdsZTo6UmVzdWx0IFN0YXRlTWFuYWdlcjExOjpzeW5jQmxlbmRTdGF0ZShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgIG1SZW5kZXJlci0+Z2V0RGV2aWNlQ29udGV4
dCgpLT5PTVNldEJsZW5kU3RhdGUoZHhCbGVuZFN0YXRlLT5nZXQoKSwgYmxlbmRDb2xvcnMsIHNh
bXBsZU1hc2spOwogCi0gICAgbUN1ckJsZW5kU3RhdGVBcnJheSAgICAgICA9IGJsZW5kU3RhdGVB
cnJheTsKKyAgICBtQ3VyQmxlbmRTdGF0ZUV4dCAgICAgICAgID0gYmxlbmRTdGF0ZUV4dDsKICAg
ICBtQ3VyQmxlbmRDb2xvciAgICAgICAgICAgID0gYmxlbmRDb2xvcjsKICAgICBtQ3VyU2FtcGxl
TWFzayAgICAgICAgICAgID0gc2FtcGxlTWFzazsKICAgICBtQ3VyU2FtcGxlQWxwaGFUb0NvdmVy
YWdlID0gc2FtcGxlQWxwaGFUb0NvdmVyYWdlOwpAQCAtMTQwNCwxOSArMTM3MSwyOCBAQCBhbmds
ZTo6UmVzdWx0IFN0YXRlTWFuYWdlcjExOjpzeW5jUmFzdGVyaXplclN0YXRlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0K
IAotdm9pZCBTdGF0ZU1hbmFnZXIxMTo6c3luY1NjaXNzb3JSZWN0YW5nbGUoY29uc3QgZ2w6OlJl
Y3RhbmdsZSAmc2Npc3NvciwgYm9vbCBlbmFibGVkKQordm9pZCBTdGF0ZU1hbmFnZXIxMTo6c3lu
Y1NjaXNzb3JSZWN0YW5nbGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgaW50
IG1vZGlmaWVkU2Npc3NvclkgPSBzY2lzc29yLnk7CisgICAgY29uc3QgYXV0byAmZ2xTdGF0ZSAg
ICAgICAgICA9IGNvbnRleHQtPmdldFN0YXRlKCk7CisgICAgZ2w6OkZyYW1lYnVmZmVyICpmcmFt
ZWJ1ZmZlciA9IGdsU3RhdGUuZ2V0RHJhd0ZyYW1lYnVmZmVyKCk7CisgICAgY29uc3QgZ2w6OlJl
Y3RhbmdsZSAmc2Npc3NvciA9IGdsU3RhdGUuZ2V0U2Npc3NvcigpOworICAgIGNvbnN0IGJvb2wg
ZW5hYmxlZCAgICAgICAgICAgPSBnbFN0YXRlLmlzU2Npc3NvclRlc3RFbmFibGVkKCk7CisKKyAg
ICBtQ3VyU2Npc3Nvck9mZnNldCA9IGZyYW1lYnVmZmVyLT5nZXRUZXh0dXJlT2Zmc2V0KCk7CisK
KyAgICBpbnQgc2Npc3NvclggPSBzY2lzc29yLnggKyBtQ3VyU2Npc3Nvck9mZnNldC54OworICAg
IGludCBzY2lzc29yWSA9IHNjaXNzb3IueSArIG1DdXJTY2lzc29yT2Zmc2V0Lnk7CisKICAgICBp
ZiAobUN1clByZXNlbnRQYXRoRmFzdEVuYWJsZWQpCiAgICAgewotICAgICAgICBtb2RpZmllZFNj
aXNzb3JZID0gbUN1clByZXNlbnRQYXRoRmFzdENvbG9yQnVmZmVySGVpZ2h0IC0gc2Npc3Nvci5o
ZWlnaHQgLSBzY2lzc29yLnk7CisgICAgICAgIHNjaXNzb3JZID0gbUN1clByZXNlbnRQYXRoRmFz
dENvbG9yQnVmZmVySGVpZ2h0IC0gc2Npc3Nvci5oZWlnaHQgLSBzY2lzc29yLnk7CiAgICAgfQog
CiAgICAgaWYgKGVuYWJsZWQpCiAgICAgewogICAgICAgICBEM0QxMV9SRUNUIHJlY3Q7Ci0gICAg
ICAgIGludCB4ICAgICAgID0gc2Npc3Nvci54OwotICAgICAgICBpbnQgeSAgICAgICA9IG1vZGlm
aWVkU2Npc3Nvclk7CisgICAgICAgIGludCB4ICAgICAgID0gc2Npc3Nvclg7CisgICAgICAgIGlu
dCB5ICAgICAgID0gc2Npc3Nvclk7CiAgICAgICAgIHJlY3QubGVmdCAgID0gc3RkOjptYXgoMCwg
eCk7CiAgICAgICAgIHJlY3QudG9wICAgID0gc3RkOjptYXgoMCwgeSk7CiAgICAgICAgIHJlY3Qu
cmlnaHQgID0geCArIHN0ZDo6bWF4KDAsIHNjaXNzb3Iud2lkdGgpOwpAQCAtMTQ1OSwxMCArMTQz
NSwxNCBAQCB2b2lkIFN0YXRlTWFuYWdlcjExOjpzeW5jVmlld3BvcnQoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQpCiAgICAgaW50IGR4Vmlld3BvcnRXaWR0aCAgICA9IDA7CiAgICAgaW50IGR4
Vmlld3BvcnRIZWlnaHQgICA9IDA7CiAKLSAgICBkeFZpZXdwb3J0VG9wTGVmdFggPSBnbDo6Y2xh
bXAodmlld3BvcnQueCwgZHhNaW5WaWV3cG9ydEJvdW5kc1gsIGR4TWF4Vmlld3BvcnRCb3VuZHNY
KTsKLSAgICBkeFZpZXdwb3J0VG9wTGVmdFkgPSBnbDo6Y2xhbXAodmlld3BvcnQueSwgZHhNaW5W
aWV3cG9ydEJvdW5kc1ksIGR4TWF4Vmlld3BvcnRCb3VuZHNZKTsKLSAgICBkeFZpZXdwb3J0V2lk
dGggICAgPSBnbDo6Y2xhbXAodmlld3BvcnQud2lkdGgsIDAsIGR4TWF4Vmlld3BvcnRCb3VuZHNY
IC0gZHhWaWV3cG9ydFRvcExlZnRYKTsKLSAgICBkeFZpZXdwb3J0SGVpZ2h0ICAgPSBnbDo6Y2xh
bXAodmlld3BvcnQuaGVpZ2h0LCAwLCBkeE1heFZpZXdwb3J0Qm91bmRzWSAtIGR4Vmlld3BvcnRU
b3BMZWZ0WSk7CisgICAgbUN1clZpZXdwb3J0T2Zmc2V0ID0gZnJhbWVidWZmZXItPmdldFRleHR1
cmVPZmZzZXQoKTsKKworICAgIGR4Vmlld3BvcnRUb3BMZWZ0WCA9CisgICAgICAgIGdsOjpjbGFt
cCh2aWV3cG9ydC54ICsgbUN1clZpZXdwb3J0T2Zmc2V0LngsIGR4TWluVmlld3BvcnRCb3VuZHNY
LCBkeE1heFZpZXdwb3J0Qm91bmRzWCk7CisgICAgZHhWaWV3cG9ydFRvcExlZnRZID0KKyAgICAg
ICAgZ2w6OmNsYW1wKHZpZXdwb3J0LnkgKyBtQ3VyVmlld3BvcnRPZmZzZXQueSwgZHhNaW5WaWV3
cG9ydEJvdW5kc1ksIGR4TWF4Vmlld3BvcnRCb3VuZHNZKTsKKyAgICBkeFZpZXdwb3J0V2lkdGgg
ID0gZ2w6OmNsYW1wKHZpZXdwb3J0LndpZHRoLCAwLCBkeE1heFZpZXdwb3J0Qm91bmRzWCAtIGR4
Vmlld3BvcnRUb3BMZWZ0WCk7CisgICAgZHhWaWV3cG9ydEhlaWdodCA9IGdsOjpjbGFtcCh2aWV3
cG9ydC5oZWlnaHQsIDAsIGR4TWF4Vmlld3BvcnRCb3VuZHNZIC0gZHhWaWV3cG9ydFRvcExlZnRZ
KTsKIAogICAgIEQzRDExX1ZJRVdQT1JUIGR4Vmlld3BvcnQ7CiAgICAgZHhWaWV3cG9ydC5Ub3BM
ZWZ0WCA9IHN0YXRpY19jYXN0PGZsb2F0PihkeFZpZXdwb3J0VG9wTGVmdFgpOwpAQCAtMTU0MCw2
ICsxNTIwLDE2IEBAIHZvaWQgU3RhdGVNYW5hZ2VyMTE6OnByb2Nlc3NGcmFtZWJ1ZmZlckludmFs
aWRhdGlvbihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICBnbDo6RnJhbWVidWZmZXIg
KmZibyA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0RHJhd0ZyYW1lYnVmZmVyKCk7CiAgICAgQVNT
RVJUKGZibyk7CiAKKyAgICAvLyBEaXJ0eSBzY2lzc29yIGFuZCB2aWV3cG9ydCBiZWNhdXNlIHN1
cmZhY2UgdGV4dHVyZSBvZmZzZXQgbWlnaHQgaGF2ZSBjaGFuZ2VkLgorICAgIGlmIChtQ3VyVmll
d3BvcnRPZmZzZXQgIT0gZmJvLT5nZXRUZXh0dXJlT2Zmc2V0KCkpCisgICAgeworICAgICAgICBt
SW50ZXJuYWxEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9WSUVXUE9SVF9TVEFURSk7CisgICAgfQor
ICAgIGlmIChtQ3VyU2Npc3Nvck9mZnNldCAhPSBmYm8tPmdldFRleHR1cmVPZmZzZXQoKSkKKyAg
ICB7CisgICAgICAgIG1JbnRlcm5hbERpcnR5Qml0cy5zZXQoRElSVFlfQklUX1NDSVNTT1JfU1RB
VEUpOworICAgIH0KKwogICAgIC8vIERpc2FibGUgdGhlIGRlcHRoIHRlc3QvZGVwdGggd3JpdGUg
aWYgd2UgYXJlIHVzaW5nIGEgc3RlbmNpbC1vbmx5IGF0dGFjaG1lbnQuCiAgICAgLy8gVGhpcyBp
cyBiZWNhdXNlIEFOR0xFIGVtdWxhdGVzIHN0ZW5jaWwtb25seSB3aXRoIEQyNFM4IG9uIEQzRDEx
IC0gd2Ugc2hvdWxkIG5laXRoZXIgcmVhZAogICAgIC8vIG5vciB3cml0ZSB0byB0aGUgdW51c2Vk
IGRlcHRoIHBhcnQgb2YgdGhpcyBlbXVsYXRlZCB0ZXh0dXJlLgpAQCAtMTkzNiw2ICsxOTI2LDEw
IEBAIGFuZ2xlOjpSZXN1bHQgU3RhdGVNYW5hZ2VyMTE6OmVuc3VyZUluaXRpYWxpemVkKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0KQogCiAgICAgbUluZGVwZW5kZW50QmxlbmRTdGF0ZXMgPSBl
eHRlbnNpb25zLmRyYXdCdWZmZXJzSW5kZXhlZEFueSgpOyAgLy8gcmVxdWlyZXMgRkwxMF8xCiAK
KyAgICAvLyBGTDlfMyBpcyBsaW1pdGVkIHRvIDQ7IEVTMy4xIGNvbnRleHQgb24gRkwxMV8wIGlz
IGxpbWl0ZWQgdG8gNworICAgIG1DdXJCbGVuZFN0YXRlRXh0ID0KKyAgICAgICAgZ2w6OkJsZW5k
U3RhdGVFeHQoR2V0SW1wbEFzPENvbnRleHQxMT4oY29udGV4dCktPmdldE5hdGl2ZUNhcHMoKS5t
YXhEcmF3QnVmZmVycyk7CisKICAgICBBTkdMRV9UUlkobVZlcnRleERhdGFNYW5hZ2VyLmluaXRp
YWxpemUoY29udGV4dCkpOwogCiAgICAgbUN1cnJlbnRBdHRyaWJ1dGVzLnJlc2VydmUoZ2w6Ok1B
WF9WRVJURVhfQVRUUklCUyk7CkBAIC0yMDUzLDcgKzIwNDcsNyBAQCBhbmdsZTo6UmVzdWx0IFN0
YXRlTWFuYWdlcjExOjpzeW5jQ3VycmVudFZhbHVlQXR0cmlicygKICAgICBjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICBjb25zdCBzdGQ6OnZlY3RvcjxnbDo6VmVydGV4QXR0cmliQ3Vy
cmVudFZhbHVlRGF0YT4gJmN1cnJlbnRWYWx1ZXMpCiB7Ci0gICAgY29uc3QgZ2w6OlByb2dyYW1F
eGVjdXRhYmxlICZleGVjdXRhYmxlID0gbVByb2dyYW1EM0QtPmdldFN0YXRlKCkuZ2V0UHJvZ3Jh
bUV4ZWN1dGFibGUoKTsKKyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmV4ZWN1dGFi
bGUgPSBtUHJvZ3JhbUQzRC0+Z2V0U3RhdGUoKS5nZXRFeGVjdXRhYmxlKCk7CiAgICAgY29uc3Qg
YXV0byAmYWN0aXZlQXR0cmlic01hc2sgICAgICAgICAgID0gZXhlY3V0YWJsZS5nZXRBY3RpdmVB
dHRyaWJMb2NhdGlvbnNNYXNrKCk7CiAgICAgY29uc3QgYXV0byAmZGlydHlBY3RpdmVBdHRyaWJz
ICAgICAgICAgID0gKGFjdGl2ZUF0dHJpYnNNYXNrICYgbURpcnR5Q3VycmVudFZhbHVlQXR0cmli
cyk7CiAKQEAgLTIyNjksMTQgKzIyNjMsMTQgQEAgYW5nbGU6OlJlc3VsdCBTdGF0ZU1hbmFnZXIx
MTo6dXBkYXRlU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAg
ICAgc3luY1ZpZXdwb3J0KGNvbnRleHQpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgY2FzZSBESVJUWV9CSVRfU0NJU1NPUl9TVEFURToKLSAgICAgICAgICAgICAgICBzeW5j
U2Npc3NvclJlY3RhbmdsZShnbFN0YXRlLmdldFNjaXNzb3IoKSwgZ2xTdGF0ZS5pc1NjaXNzb3JU
ZXN0RW5hYmxlZCgpKTsKKyAgICAgICAgICAgICAgICBzeW5jU2Npc3NvclJlY3RhbmdsZShjb250
ZXh0KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgRElSVFlfQklU
X1JBU1RFUklaRVJfU1RBVEU6CiAgICAgICAgICAgICAgICAgQU5HTEVfVFJZKHN5bmNSYXN0ZXJp
emVyU3RhdGUoY29udGV4dCwgbW9kZSkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgY2FzZSBESVJUWV9CSVRfQkxFTkRfU1RBVEU6CiAgICAgICAgICAgICAgICAgQU5HTEVf
VFJZKHN5bmNCbGVuZFN0YXRlKAotICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBnbFN0YXRl
LmdldEJsZW5kU3RhdGVBcnJheSgpLCBnbFN0YXRlLmdldEJsZW5kQ29sb3IoKSwgc2FtcGxlTWFz
aywKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dCwgZ2xTdGF0ZS5nZXRCbGVuZFN0YXRlRXh0
KCksIGdsU3RhdGUuZ2V0QmxlbmRDb2xvcigpLCBzYW1wbGVNYXNrLAogICAgICAgICAgICAgICAg
ICAgICBnbFN0YXRlLmlzU2FtcGxlQWxwaGFUb0NvdmVyYWdlRW5hYmxlZCgpLCBnbFN0YXRlLmhh
c0NvbnN0YW50QWxwaGFCbGVuZEZ1bmMoKSkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgY2FzZSBESVJUWV9CSVRfREVQVEhfU1RFTkNJTF9TVEFURToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEv
U3RhdGVNYW5hZ2VyMTEuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvU3RhdGVNYW5hZ2VyMTEuaAppbmRleCAxODk5ZDlmMTJmNDBmM2Zj
OWI3MDQ0NjYyNDVkMjE2YzA5N2E0NGE0Li5hZmRiNzFhMmRkZWU0MzM5NDE0NTdiMjBlODQzYzhh
MTJlOGFlYWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZDNkL2QzZDExL1N0YXRlTWFuYWdlcjExLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9TdGF0ZU1hbmFnZXIx
MS5oCkBAIC0zMTMsNyArMzEzLDcgQEAgY2xhc3MgU3RhdGVNYW5hZ2VyMTEgZmluYWwgOiBhbmds
ZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIElEM0QxMVJlc291cmNlICpyZXNvdXJjZSk7CiAKICAgICBhbmdsZTo6UmVzdWx0IHN5bmNC
bGVuZFN0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGVBcnJheSAmYmxlbmRTdGF0ZUFycmF5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkJsZW5kU3RhdGVF
eHQgJmJsZW5kU3RhdGVFeHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6Q29sb3JGICZibGVuZENvbG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IHNhbXBsZU1hc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIHNhbXBsZUFscGhhVG9Db3ZlcmFnZSwKQEAgLTMyMyw3ICszMjMsNyBAQCBjbGFz
cyBTdGF0ZU1hbmFnZXIxMSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgYW5nbGU6
OlJlc3VsdCBzeW5jUmFzdGVyaXplclN0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBn
bDo6UHJpbWl0aXZlTW9kZSBtb2RlKTsKIAotICAgIHZvaWQgc3luY1NjaXNzb3JSZWN0YW5nbGUo
Y29uc3QgZ2w6OlJlY3RhbmdsZSAmc2Npc3NvciwgYm9vbCBlbmFibGVkKTsKKyAgICB2b2lkIHN5
bmNTY2lzc29yUmVjdGFuZ2xlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIAogICAgIHZv
aWQgc3luY1ZpZXdwb3J0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIApAQCAtNDY2LDcg
KzQ2Niw3IEBAIGNsYXNzIFN0YXRlTWFuYWdlcjExIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxl
CiAgICAgYm9vbCBtQ3VyU2FtcGxlQWxwaGFUb0NvdmVyYWdlOwogCiAgICAgLy8gQmxlbmQgU3Rh
dGUKLSAgICBnbDo6QmxlbmRTdGF0ZUFycmF5IG1DdXJCbGVuZFN0YXRlQXJyYXk7CisgICAgZ2w6
OkJsZW5kU3RhdGVFeHQgbUN1ckJsZW5kU3RhdGVFeHQ7CiAgICAgZ2w6OkNvbG9yRiBtQ3VyQmxl
bmRDb2xvcjsKICAgICB1bnNpZ25lZCBpbnQgbUN1clNhbXBsZU1hc2s7CiAKQEAgLTQ5MCw2ICs0
OTAsMTAgQEAgY2xhc3MgU3RhdGVNYW5hZ2VyMTEgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUK
ICAgICBmbG9hdCBtQ3VyTmVhcjsKICAgICBmbG9hdCBtQ3VyRmFyOwogCisgICAgLy8gQ3VycmVu
dGx5IGFwcGxpZWQgb2Zmc2V0IHRvIHZpZXdwb3J0IGFuZCBzY2lzc29yCisgICAgZ2w6Ok9mZnNl
dCBtQ3VyVmlld3BvcnRPZmZzZXQ7CisgICAgZ2w6Ok9mZnNldCBtQ3VyU2Npc3Nvck9mZnNldDsK
KwogICAgIC8vIFRoaW5ncyBuZWVkZWQgaW4gdmlld3BvcnQgc3RhdGUKICAgICBTaGFkZXJDb25z
dGFudHMxMSBtU2hhZGVyQ29uc3RhbnRzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1RleHR1cmVTdG9yYWdlMTEu
Y3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9k
M2QxMS9UZXh0dXJlU3RvcmFnZTExLmNwcAppbmRleCA3N2FlMTA0NGEzNTcxNTczMmQ0OWY5MTcz
NjI3NmEzYWFkYzQ3ODVhLi40N2YyMDYzOGY3MGIwNzM2MmZlOGEwYTg1ZWE1YTk0Y2E3NDIzYzRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZDNkL2QzZDExL1RleHR1cmVTdG9yYWdlMTEuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvVGV4dHVyZVN0b3JhZ2UxMS5j
cHAKQEAgLTkwMyw2ICs5MDMsMjQgQEAgR0xzaXplaSBUZXh0dXJlU3RvcmFnZTExOjpnZXRSZW5k
ZXJUb1RleHR1cmVTYW1wbGVzKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorYW5nbGU6OlJl
c3VsdCBUZXh0dXJlU3RvcmFnZTExOjpmaW5kTXVsdGlzYW1wbGVkUmVuZGVyVGFyZ2V0KGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTHNpemVpIHNhbXBsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNvbnN0
Cit7CisgICAgY29uc3QgaW50IGxldmVsID0gaW5kZXguZ2V0TGV2ZWxJbmRleCgpOworICAgIGlm
ICghbU1TVGV4SW5mbyB8fCBsZXZlbCAhPSBtTVNUZXhJbmZvLT5pbmRleFNTLmdldExldmVsSW5k
ZXgoKSB8fAorICAgICAgICBzYW1wbGVzICE9IG1NU1RleEluZm8tPnNhbXBsZXMgfHwgIW1NU1Rl
eEluZm8tPm1zVGV4KQorICAgIHsKKyAgICAgICAgKm91dFJUID0gbnVsbHB0cjsKKyAgICAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0KKyAgICBSZW5kZXJUYXJnZXRE
M0QgKnJ0OworICAgIEFOR0xFX1RSWShtTVNUZXhJbmZvLT5tc1RleC0+ZmluZFJlbmRlclRhcmdl
dChjb250ZXh0LCBtTVNUZXhJbmZvLT5pbmRleE1TLCBzYW1wbGVzLCAmcnQpKTsKKyAgICAqb3V0
UlQgPSBydDsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9CisKIGFuZ2xl
OjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2UxMTo6Z2V0TXVsdGlzYW1wbGVkUmVuZGVyVGFyZ2V0KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xzaXplaSBzYW1wbGVzLApAQCAtMTI1Nyw2ICsxMjc1LDQwIEBAIGFuZ2xlOjpSZXN1
bHQgVGV4dHVyZVN0b3JhZ2UxMV8yRDo6ZW5zdXJlVGV4dHVyZUV4aXN0cyhjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCith
bmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfMkQ6OmZpbmRSZW5kZXJUYXJnZXQoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxl
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUYXJnZXREM0QgKipvdXRSVCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWluZGV4Lmhhc0xh
eWVyKCkpOworCisgICAgY29uc3QgaW50IGxldmVsID0gaW5kZXguZ2V0TGV2ZWxJbmRleCgpOwor
ICAgIEFTU0VSVChsZXZlbCA+PSAwICYmIGxldmVsIDwgZ2V0TGV2ZWxDb3VudCgpKTsKKworICAg
IGJvb2wgbmVlZE1TID0gc2FtcGxlcyA+IDA7CisgICAgaWYgKG5lZWRNUykKKyAgICB7CisgICAg
ICAgIHJldHVybiBmaW5kTXVsdGlzYW1wbGVkUmVuZGVyVGFyZ2V0KGNvbnRleHQsIGluZGV4LCBz
YW1wbGVzLCBvdXRSVCk7CisgICAgfQorCisgICAgQVNTRVJUKG91dFJUKTsKKyAgICBpZiAobVJl
bmRlclRhcmdldFtsZXZlbF0pCisgICAgeworICAgICAgICAqb3V0UlQgPSBtUmVuZGVyVGFyZ2V0
W2xldmVsXS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwor
ICAgIH0KKworICAgIGlmIChtVXNlTGV2ZWxaZXJvVGV4dHVyZSkKKyAgICB7CisgICAgICAgIEFT
U0VSVChsZXZlbCA9PSAwKTsKKyAgICAgICAgKm91dFJUID0gbUxldmVsWmVyb1JlbmRlclRhcmdl
dC5nZXQoKTsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0K
KworICAgICpvdXRSVCA9IG51bGxwdHI7CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOworfQorCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfMkQ6OmdldFJlbmRlclRh
cmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6
ZWkgc2FtcGxlcywKQEAgLTE2NDcsNiArMTY5OSwxNiBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVT
dG9yYWdlMTFfRXh0ZXJuYWw6OmdldE1pcHBlZFJlc291cmNlKGNvbnN0IGdsOjpDb250ZXh0ICpj
bwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAorYW5nbGU6OlJlc3Vs
dCBUZXh0dXJlU3RvcmFnZTExX0V4dGVybmFsOjpmaW5kUmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVp
IHNhbXBsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNvbnN0Cit7CisgICAgLy8gUmVu
ZGVyIHRhcmdldHMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIGV4dGVybmFsIHRleHR1cmVzCisgICAg
QU5HTEVfSFJfVU5SRUFDSEFCTEUoR2V0SW1wbEFzPENvbnRleHQxMT4oY29udGV4dCkpOworICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpTdG9wOworfQorCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVT
dG9yYWdlMTFfRXh0ZXJuYWw6OmdldFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKQEAg
LTE4MjUsNiArMTg4NywxNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfRUdMSW1h
Z2U6OmdldE1pcHBlZFJlc291cmNlKGNvbnN0IGdsOjpDb250ZXh0ICpjbwogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpTdG9wOwogfQogCithbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFf
RUdMSW1hZ2U6OmZpbmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJU
YXJnZXREM0QgKipvdXRSVCkgY29uc3QKK3sKKyAgICAvLyBTaW5jZSB0aGUgcmVuZGVyIHRhcmdl
dCBvZiBhbiBFR0wgaW1hZ2Ugd2lsbCBiZSB1cGRhdGVkIHdoZW4gb3JwaGFuaW5nLCB0cnlpbmcg
dG8gZmluZCBhCisgICAgLy8gY2FjaGUgb2YgaXQgY2FuIGJlIHJhcmVseSB1c2VmdWwuCisgICAg
QU5HTEVfSFJfVU5SRUFDSEFCTEUoR2V0SW1wbEFzPENvbnRleHQxMT4oY29udGV4dCkpOworICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpTdG9wOworfQorCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVT
dG9yYWdlMTFfRUdMSW1hZ2U6OmdldFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKQEAg
LTIzMTAsNiArMjM4MywzOSBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfQ3ViZTo6
ZW5zdXJlVGV4dHVyZUV4aXN0cyhjb25zdCBnbDo6Q29udGV4dCAqY29udAogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAorYW5nbGU6OlJlc3VsdCBUZXh0dXJlU3RvcmFn
ZTExX0N1YmU6OmZpbmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipv
dXRSVCkgY29uc3QKK3sKKyAgICBjb25zdCBpbnQgZmFjZUluZGV4ID0gaW5kZXguY3ViZU1hcEZh
Y2VJbmRleCgpOworICAgIGNvbnN0IGludCBsZXZlbCAgICAgPSBpbmRleC5nZXRMZXZlbEluZGV4
KCk7CisKKyAgICBBU1NFUlQobGV2ZWwgPj0gMCAmJiBsZXZlbCA8IGdldExldmVsQ291bnQoKSk7
CisgICAgQVNTRVJUKGZhY2VJbmRleCA+PSAwICYmIGZhY2VJbmRleCA8IHN0YXRpY19jYXN0PEdM
aW50PihnbDo6a0N1YmVGYWNlQ291bnQpKTsKKworICAgIGJvb2wgbmVlZE1TID0gc2FtcGxlcyA+
IDA7CisgICAgaWYgKG5lZWRNUykKKyAgICB7CisgICAgICAgIHJldHVybiBmaW5kTXVsdGlzYW1w
bGVkUmVuZGVyVGFyZ2V0KGNvbnRleHQsIGluZGV4LCBzYW1wbGVzLCBvdXRSVCk7CisgICAgfQor
CisgICAgaWYgKCFtUmVuZGVyVGFyZ2V0W2ZhY2VJbmRleF1bbGV2ZWxdKQorICAgIHsKKyAgICAg
ICAgaWYgKG1Vc2VMZXZlbFplcm9UZXh0dXJlKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NF
UlQoaW5kZXguZ2V0TGV2ZWxJbmRleCgpID09IDApOworICAgICAgICAgICAgQVNTRVJUKG91dFJU
KTsKKyAgICAgICAgICAgICpvdXRSVCA9IG1MZXZlbFplcm9SZW5kZXJUYXJnZXRbZmFjZUluZGV4
XS5nZXQoKTsKKyAgICAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIEFTU0VSVChvdXRSVCk7CisgICAgKm91dFJUID0gbVJlbmRl
clRhcmdldFtmYWNlSW5kZXhdW2xldmVsXS5nZXQoKTsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7Cit9CisKIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2UxMV9DdWJlOjpj
cmVhdGVSZW5kZXJUYXJnZXRTUlYoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFRleHR1cmVIZWxwZXIxMSAmdGV4dHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4
LApAQCAtMjg2MCw2ICsyOTY2LDM2IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2UxMV8z
RDo6Y3JlYXRlVUFWRm9ySW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCithbmdsZTo6UmVzdWx0IFRleHR1cmVT
dG9yYWdlMTFfM0Q6OmZpbmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipvdXRS
VCkgY29uc3QKK3sKKyAgICBjb25zdCBpbnQgbWlwTGV2ZWwgPSBpbmRleC5nZXRMZXZlbEluZGV4
KCk7CisgICAgQVNTRVJUKG1pcExldmVsID49IDAgJiYgbWlwTGV2ZWwgPCBnZXRMZXZlbENvdW50
KCkpOworCisgICAgaWYgKCFpbmRleC5oYXNMYXllcigpKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KG91dFJUKTsKKyAgICAgICAgKm91dFJUID0gbUxldmVsUmVuZGVyVGFyZ2V0c1ttaXBMZXZlbF0u
Z2V0KCk7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisK
KyAgICBjb25zdCBpbnQgbGF5ZXIgPSBpbmRleC5nZXRMYXllckluZGV4KCk7CisKKyAgICBMZXZl
bExheWVyS2V5IGtleShtaXBMZXZlbCwgbGF5ZXIpOworICAgIGlmIChtTGV2ZWxMYXllclJlbmRl
clRhcmdldHMuZmluZChrZXkpID09IG1MZXZlbExheWVyUmVuZGVyVGFyZ2V0cy5lbmQoKSkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChvdXRSVCk7CisgICAgICAgICpvdXRSVCA9IG51bGxwdHI7Cisg
ICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisKKyAgICBBU1NF
UlQob3V0UlQpOworICAgICpvdXRSVCA9IG1MZXZlbExheWVyUmVuZGVyVGFyZ2V0cy5hdChrZXkp
LmdldCgpOworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogYW5nbGU6
OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTExXzNEOjpnZXRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCkBAIC0z
MjExLDYgKzMzNDcsMzIgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTExXzJEQXJyYXk6
OmNyZWF0ZVVBVkZvckltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb24KICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2Ux
MV8yREFycmF5OjpmaW5kUmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFy
Z2V0RDNEICoqb3V0UlQpIGNvbnN0Cit7CisgICAgQVNTRVJUKGluZGV4Lmhhc0xheWVyKCkpOwor
CisgICAgY29uc3QgaW50IG1pcExldmVsICA9IGluZGV4LmdldExldmVsSW5kZXgoKTsKKyAgICBj
b25zdCBpbnQgbGF5ZXIgICAgID0gaW5kZXguZ2V0TGF5ZXJJbmRleCgpOworICAgIGNvbnN0IGlu
dCBudW1MYXllcnMgPSBpbmRleC5nZXRMYXllckNvdW50KCk7CisKKyAgICBBU1NFUlQobWlwTGV2
ZWwgPj0gMCAmJiBtaXBMZXZlbCA8IGdldExldmVsQ291bnQoKSk7CisKKyAgICBMZXZlbExheWVy
UmFuZ2VLZXkga2V5KG1pcExldmVsLCBsYXllciwgbnVtTGF5ZXJzKTsKKyAgICBpZiAobVJlbmRl
clRhcmdldHMuZmluZChrZXkpID09IG1SZW5kZXJUYXJnZXRzLmVuZCgpKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKG91dFJUKTsKKyAgICAgICAgKm91dFJUID0gbnVsbHB0cjsKKyAgICAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0KKworICAgIEFTU0VSVChvdXRSVCk7
CisgICAgKm91dFJUID0gbVJlbmRlclRhcmdldHMuYXQoa2V5KS5nZXQoKTsKKyAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9CisKIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3Jh
Z2UxMV8yREFycmF5OjpjcmVhdGVSZW5kZXJUYXJnZXRTUlYoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFRleHR1cmVIZWxwZXIxMSAmdGV4dHVyZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2w6OkltYWdlSW5kZXggJmluZGV4LApAQCAtMzQ5NCw2ICszNjU2LDIxIEBAIGFuZ2xlOjpSZXN1
bHQgVGV4dHVyZVN0b3JhZ2UxMV8yRE11bHRpc2FtcGxlOjplbnN1cmVUZXh0dXJlRXhpc3RzKGNv
bnN0IGdsOjpDb250CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCith
bmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfMkRNdWx0aXNhbXBsZTo6ZmluZFJlbmRlclRh
cmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUlu
ZGV4ICZpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhcmdldEQz
RCAqKm91dFJUKSBjb25zdAoreworICAgIEFTU0VSVCghaW5kZXguaGFzTGF5ZXIoKSk7CisKKyAg
ICBjb25zdCBpbnQgbGV2ZWwgPSBpbmRleC5nZXRMZXZlbEluZGV4KCk7CisgICAgQVNTRVJUKGxl
dmVsID09IDApOworCisgICAgQVNTRVJUKG91dFJUKTsKKyAgICAqb3V0UlQgPSBtUmVuZGVyVGFy
Z2V0LmdldCgpOworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogYW5n
bGU6OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTExXzJETXVsdGlzYW1wbGU6OmdldFJlbmRlclRhcmdl
dChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXgg
JmluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCkBAIC0zNjg2LDYgKzM4NjMsMzMgQEAgYW5n
bGU6OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTExXzJETXVsdGlzYW1wbGVBcnJheTo6ZW5zdXJlVGV4
dHVyZUV4aXN0cyhjb25zdCBnbDoKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
CiB9CiAKK2FuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2UxMV8yRE11bHRpc2FtcGxlQXJyYXk6
OmZpbmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipvdXRSVCkgY29uc3QKK3sKKyAgICBBU1NF
UlQoaW5kZXguaGFzTGF5ZXIoKSk7CisKKyAgICBjb25zdCBpbnQgbWlwTGV2ZWwgPSBpbmRleC5n
ZXRMZXZlbEluZGV4KCk7CisgICAgQVNTRVJUKG1pcExldmVsID09IDApOworICAgIGNvbnN0IGlu
dCBsYXllciAgICAgPSBpbmRleC5nZXRMYXllckluZGV4KCk7CisgICAgY29uc3QgaW50IG51bUxh
eWVycyA9IGluZGV4LmdldExheWVyQ291bnQoKTsKKworICAgIEFTU0VSVChtaXBMZXZlbCA+PSAw
ICYmIG1pcExldmVsIDwgZ2V0TGV2ZWxDb3VudCgpKTsKKworICAgIFRleHR1cmVTdG9yYWdlMTFf
MkRBcnJheTo6TGV2ZWxMYXllclJhbmdlS2V5IGtleShtaXBMZXZlbCwgbGF5ZXIsIG51bUxheWVy
cyk7CisgICAgaWYgKG1SZW5kZXJUYXJnZXRzLmZpbmQoa2V5KSA9PSBtUmVuZGVyVGFyZ2V0cy5l
bmQoKSkKKyAgICB7CisgICAgICAgIEFTU0VSVChvdXRSVCk7CisgICAgICAgICpvdXRSVCA9IG51
bGxwdHI7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisK
KyAgICBBU1NFUlQob3V0UlQpOworICAgICpvdXRSVCA9IG1SZW5kZXJUYXJnZXRzLmF0KGtleSku
Z2V0KCk7CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQorCiBhbmdsZTo6
UmVzdWx0IFRleHR1cmVTdG9yYWdlMTFfMkRNdWx0aXNhbXBsZUFycmF5OjpjcmVhdGVSZW5kZXJU
YXJnZXRTUlYoCiAgICAgY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgY29uc3QgVGV4
dHVyZUhlbHBlcjExICZ0ZXh0dXJlLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9UZXh0dXJlU3RvcmFnZTExLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1Rl
eHR1cmVTdG9yYWdlMTEuaAppbmRleCBjYmIxZmMyYmI4NTM2NzkyZDNhN2Q3ODUxOWIxZjM5NmUw
MmI4YWViLi5iMDY3NDQ0YzMyOTQ0MWRjYjQyYzFiM2YxMGE2NWE4MTQxNzlhY2YxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2Qz
ZDExL1RleHR1cmVTdG9yYWdlMTEuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL1RleHR1cmVTdG9yYWdlMTEuaApAQCAtMTk5LDYg
KzE5OSwxMCBAQCBjbGFzcyBUZXh0dXJlU3RvcmFnZTExIDogcHVibGljIFRleHR1cmVTdG9yYWdl
CiAgICAgLy8gSGVscGVyIGZvciByZXNvbHZpbmcgTVMgc2hhZG93ZWQgdGV4dHVyZQogICAgIGFu
Z2xlOjpSZXN1bHQgcmVzb2x2ZVRleHR1cmVIZWxwZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsIGNvbnN0IFRleHR1cmVIZWxwZXIxMSAmdGV4dHVyZSk7CiAgICAgYW5nbGU6OlJlc3VsdCBy
ZWxlYXNlTXVsdGlzYW1wbGVkVGV4U3RvcmFnZUZvckxldmVsKHNpemVfdCBsZXZlbCkgb3ZlcnJp
ZGU7CisgICAgYW5nbGU6OlJlc3VsdCBmaW5kTXVsdGlzYW1wbGVkUmVuZGVyVGFyZ2V0KGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNE
ICoqb3V0UlQpIGNvbnN0OwogICAgIGFuZ2xlOjpSZXN1bHQgZ2V0TXVsdGlzYW1wbGVkUmVuZGVy
VGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBs
ZXMsCkBAIC0yODksNiArMjkzLDEwIEBAIGNsYXNzIFRleHR1cmVTdG9yYWdlMTFfMkQgOiBwdWJs
aWMgVGV4dHVyZVN0b3JhZ2UxMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VGV4dHVyZUhlbHBlcjExICoqb3V0UmVzb3VyY2UpIG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1
bHQgZ2V0TWlwcGVkUmVzb3VyY2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0dXJlSGVscGVyMTEgKipvdXRS
ZXNvdXJjZSkgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJlc3VsdCBmaW5kUmVuZGVyVGFyZ2V0KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGFu
Z2xlOjpSZXN1bHQgZ2V0UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZp
bmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMs
CkBAIC0zNzgsNiArMzg2LDEwIEBAIGNsYXNzIFRleHR1cmVTdG9yYWdlMTFfRXh0ZXJuYWwgOiBw
dWJsaWMgVGV4dHVyZVN0b3JhZ2UxMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgVGV4dHVyZUhlbHBlcjExICoqb3V0UmVzb3VyY2UpIG92ZXJyaWRlOwogICAgIGFuZ2xlOjpS
ZXN1bHQgZ2V0TWlwcGVkUmVzb3VyY2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0dXJlSGVscGVyMTEgKipv
dXRSZXNvdXJjZSkgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJlc3VsdCBmaW5kUmVuZGVyVGFyZ2V0
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGFuZ2xlOjpSZXN1bHQgZ2V0UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4
ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBs
ZXMsCkBAIC00NzIsNiArNDg0LDEwIEBAIGNsYXNzIFRleHR1cmVTdG9yYWdlMTFfRUdMSW1hZ2Ug
ZmluYWwgOiBwdWJsaWMgVGV4dHVyZVN0b3JhZ2UxMUltbXV0YWJsZUJhc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZDNkMTE6OlNoYXJlZFNSViAqKm91dFNSVikg
b3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRNaXBwZWRSZXNvdXJjZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFRleHR1cmVIZWxwZXIxMSAqKm91dFJlc291cmNlKSBvdmVycmlkZTsKKyAgICBhbmdsZTo6
UmVzdWx0IGZpbmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRl
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipvdXRS
VCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRSZW5kZXJUYXJnZXQoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKQEAgLTUzMiw2ICs1NDgsMTAgQEAgY2xhc3MgVGV4
dHVyZVN0b3JhZ2UxMV9DdWJlIDogcHVibGljIFRleHR1cmVTdG9yYWdlMTEKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHR1cmVIZWxwZXIxMSAqKm91dFJlc291cmNlKSBv
dmVycmlkZTsKICAgICBhbmdsZTo6UmVzdWx0IGdldE1pcHBlZFJlc291cmNlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgVGV4dHVyZUhlbHBlcjExICoqb3V0UmVzb3VyY2UpIG92ZXJyaWRlOworICAgIGFuZ2xlOjpS
ZXN1bHQgZmluZFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhcmdldEQzRCAqKm91dFJU
KSBjb25zdCBvdmVycmlkZTsKICAgICBhbmdsZTo6UmVzdWx0IGdldFJlbmRlclRhcmdldChjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xzaXplaSBzYW1wbGVzLApAQCAtNjE5LDYgKzYzOSwxMCBAQCBjbGFzcyBUZXh0
dXJlU3RvcmFnZTExXzNEIDogcHVibGljIFRleHR1cmVTdG9yYWdlMTEKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFRleHR1cmVIZWxwZXIxMSAqKm91dFJlc291cmNlKSBvdmVy
cmlkZTsKIAogICAgIC8vIEhhbmRsZXMgYm90aCBsYXllciBhbmQgbm9uLWxheWVyIFJUcworICAg
IGFuZ2xlOjpSZXN1bHQgZmluZFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5k
ZXggJmluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNh
bXBsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhcmdldEQz
RCAqKm91dFJUKSBjb25zdCBvdmVycmlkZTsKICAgICBhbmdsZTo6UmVzdWx0IGdldFJlbmRlclRh
cmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLApAQCAtNjg0LDYgKzcwOCwxMCBAQCBj
bGFzcyBUZXh0dXJlU3RvcmFnZTExXzJEQXJyYXkgOiBwdWJsaWMgVGV4dHVyZVN0b3JhZ2UxMQog
CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRSZXNvdXJjZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHR1cmVIZWxwZXIxMSAq
Km91dFJlc291cmNlKSBvdmVycmlkZTsKKyAgICBhbmdsZTo6UmVzdWx0IGZpbmRSZW5kZXJUYXJn
ZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipvdXRSVCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgYW5nbGU6OlJlc3VsdCBnZXRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5k
ZXggJmluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2Ft
cGxlcywKQEAgLTc3OCw2ICs4MDYsMTAgQEAgY2xhc3MgVGV4dHVyZVN0b3JhZ2UxMV8yRE11bHRp
c2FtcGxlIGZpbmFsIDogcHVibGljIFRleHR1cmVTdG9yYWdlMTFJbW11dGFibGVCYXMKIAogICAg
IGFuZ2xlOjpSZXN1bHQgZ2V0UmVzb3VyY2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0dXJlSGVscGVyMTEgKipvdXRS
ZXNvdXJjZSkgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJlc3VsdCBmaW5kUmVuZGVyVGFyZ2V0KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGFu
Z2xlOjpSZXN1bHQgZ2V0UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZp
bmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMs
CkBAIC04MjksNiArODYxLDEwIEBAIGNsYXNzIFRleHR1cmVTdG9yYWdlMTFfMkRNdWx0aXNhbXBs
ZUFycmF5IGZpbmFsIDogcHVibGljIFRleHR1cmVTdG9yYWdlMTFJbW11dGFiCiAKICAgICBhbmds
ZTo6UmVzdWx0IGdldFJlc291cmNlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGV4dHVyZUhlbHBlcjExICoqb3V0UmVzb3Vy
Y2UpIG92ZXJyaWRlOworICAgIGFuZ2xlOjpSZXN1bHQgZmluZFJlbmRlclRhcmdldChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTHNpemVpIHNhbXBsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhcmdldEQzRCAqKm91dFJUKSBjb25zdCBvdmVycmlkZTsKICAgICBhbmdsZTo6
UmVzdWx0IGdldFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Qz
ZC9kM2QxMS9yZW5kZXJlcjExX3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvcmVuZGVyZXIxMV91dGlscy5jcHAKaW5kZXgg
ZGM2NzI2ZThiOWUyZmQyNTg2ZTliYzlmMjRjZGJmZWZlZTBhNzAzMC4uZTIxOGI3NTFlZDEwYjNj
NTA5MzQ5M2FkZTljYmRmN2M2MWE4Njg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9yZW5kZXJlcjExX3V0aWxzLmNw
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNk
L2QzZDExL3JlbmRlcmVyMTFfdXRpbHMuY3BwCkBAIC0xNTY5LDYgKzE1NjksNyBAQCB2b2lkIEdl
bmVyYXRlQ2FwcyhJRDNEMTFEZXZpY2UgKmRldmljZSwKICAgICAvLyBFeHBsaWNpdGx5IGRpc2Fi
bGUgR0xfT0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4X3RleHR1cmUgYmVjYXVzZSBpdCdzIGVtdWxh
dGVkIGFuZCBuZXZlcgogICAgIC8vIGJlY29tZXMgY29yZS4gV2ViR0wgZG9lc24ndCB3YW50IHRv
IGV4cG9zZSBpdCB1bmxlc3MgdGhlcmUgaXMgbmF0aXZlIHN1cHBvcnQuCiAgICAgZXh0ZW5zaW9u
cy0+Y29tcHJlc3NlZEVUQzFSR0I4VGV4dHVyZU9FUyA9IGZhbHNlOworICAgIGV4dGVuc2lvbnMt
PmNvbXByZXNzZWRFVEMxUkdCOFN1YlRleHR1cmUgPSBmYWxzZTsKIAogICAgIGV4dGVuc2lvbnMt
PmVsZW1lbnRJbmRleFVpbnRPRVMgPSB0cnVlOwogICAgIGV4dGVuc2lvbnMtPmdldFByb2dyYW1C
aW5hcnlPRVMgPSB0cnVlOwpAQCAtMTYzMywxNiArMTYzNCwxOCBAQCB2b2lkIEdlbmVyYXRlQ2Fw
cyhJRDNEMTFEZXZpY2UgKmRldmljZSwKICAgICBleHRlbnNpb25zLT5jb3B5VGV4dHVyZSAgICAg
ICAgICAgICAgICAgICAgICAgICA9IHRydWU7CiAgICAgZXh0ZW5zaW9ucy0+Y29weUNvbXByZXNz
ZWRUZXh0dXJlICAgICAgICAgICAgICAgPSB0cnVlOwogICAgIGV4dGVuc2lvbnMtPnRleHR1cmVT
dG9yYWdlTXVsdGlzYW1wbGUyREFycmF5T0VTID0gdHJ1ZTsKLSAgICBleHRlbnNpb25zLT5tdWx0
aXZpZXdNdWx0aXNhbXBsZSAgICAgPSAoKGV4dGVuc2lvbnMtPm11bHRpdmlldyB8fCBleHRlbnNp
b25zLT5tdWx0aXZpZXcyKSAmJgorICAgIGV4dGVuc2lvbnMtPm11bHRpdmlld011bHRpc2FtcGxl
ICAgICAgPSAoKGV4dGVuc2lvbnMtPm11bHRpdmlldyB8fCBleHRlbnNpb25zLT5tdWx0aXZpZXcy
KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbnMt
PnRleHR1cmVTdG9yYWdlTXVsdGlzYW1wbGUyREFycmF5T0VTKTsKLSAgICBleHRlbnNpb25zLT5j
b3B5VGV4dHVyZTNkICAgICAgICAgICAgPSB0cnVlOwotICAgIGV4dGVuc2lvbnMtPnRleHR1cmVC
b3JkZXJDbGFtcE9FUyAgICA9IHRydWU7Ci0gICAgZXh0ZW5zaW9ucy0+dGV4dHVyZU11bHRpc2Ft
cGxlICAgICAgID0gdHJ1ZTsKLSAgICBleHRlbnNpb25zLT5wcm92b2tpbmdWZXJ0ZXggICAgICAg
ICAgPSB0cnVlOwotICAgIGV4dGVuc2lvbnMtPmJsZW5kRnVuY0V4dGVuZGVkICAgICAgICA9IHRy
dWU7Ci0gICAgZXh0ZW5zaW9ucy0+bWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzID0gMTsKLSAgICBl
eHRlbnNpb25zLT50ZXh0dXJlM0RPRVMgICAgICAgICAgICAgPSB0cnVlOwotICAgIGV4dGVuc2lv
bnMtPmJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UgICA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+Y29w
eVRleHR1cmUzZCAgICAgICAgICAgICA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+dGV4dHVyZUJv
cmRlckNsYW1wT0VTICAgICA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+dGV4dHVyZU11bHRpc2Ft
cGxlICAgICAgICA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+cHJvdm9raW5nVmVydGV4ICAgICAg
ICAgICA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+YmxlbmRGdW5jRXh0ZW5kZWQgICAgICAgICA9
IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+bWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzICA9IDE7Cisg
ICAgZXh0ZW5zaW9ucy0+dGV4dHVyZTNET0VTICAgICAgICAgICAgICA9IHRydWU7CisgICAgZXh0
ZW5zaW9ucy0+YmFzZVZlcnRleEJhc2VJbnN0YW5jZSAgICA9IHRydWU7CisgICAgZXh0ZW5zaW9u
cy0+ZHJhd0VsZW1lbnRzQmFzZVZlcnRleE9FUyA9IHRydWU7CisgICAgZXh0ZW5zaW9ucy0+ZHJh
d0VsZW1lbnRzQmFzZVZlcnRleEVYVCA9IHRydWU7CiAgICAgaWYgKCFzdHJzdHIoZGVzY3JpcHRp
b24sICJBZHJlbm8iKSkKICAgICB7CiAgICAgICAgIGV4dGVuc2lvbnMtPm11bHRpc2FtcGxlZFJl
bmRlclRvVGV4dHVyZSA9IHRydWU7CkBAIC0xNjUzLDYgKzE2NTYsMTEgQEAgdm9pZCBHZW5lcmF0
ZUNhcHMoSUQzRDExRGV2aWNlICpkZXZpY2UsCiAgICAgLy8gSXQgdHJlYXRzIGl0IGFzIGEgcmVk
LWNoYW5uZWwtb25seSB0ZXh0dXJlLgogICAgIGV4dGVuc2lvbnMtPmRlcHRoVGV4dHVyZU9FUyA9
IGZhbHNlOwogCisgICAgLy8gcmVhZFBpeGVscyBvbiBkZXB0aCAmIHN0ZW5jaWwgbm90IHdvcmtp
bmcgd2l0aCBEM0QxMSBiYWNrZW5kLgorICAgIGV4dGVuc2lvbnMtPnJlYWREZXB0aE5WICAgICAg
ICAgPSBmYWxzZTsKKyAgICBleHRlbnNpb25zLT5yZWFkU3RlbmNpbE5WICAgICAgID0gZmFsc2U7
CisgICAgZXh0ZW5zaW9ucy0+ZGVwdGhCdWZmZXJGbG9hdDJOViA9IGZhbHNlOworCiAgICAgLy8g
RDNEMTEgRmVhdHVyZSBMZXZlbCAxMF8wKyB1c2VzIFNWX0lzRnJvbnRGYWNlIGluIEhMU0wgdG8g
ZW11bGF0ZSBnbF9Gcm9udEZhY2luZy4KICAgICAvLyBEM0QxMSBGZWF0dXJlIExldmVsIDlfMyBk
b2Vzbid0IHN1cHBvcnQgU1ZfSXNGcm9udEZhY2UsIGFuZCBoYXMgbm8gZXF1aXZhbGVudCwgc28g
Y2FuJ3QKICAgICAvLyBzdXBwb3J0IGdsX0Zyb250RmFjaW5nLgpAQCAtMjIxNSw2ICsyMjIzLDcg
QEAgdm9pZCBTZXRQb3NpdGlvbkxheWVyVGV4Q29vcmQzRFZlcnRleChQb3NpdGlvbkxheWVyVGV4
Q29vcmQzRFZlcnRleCAqdmVydGV4LAogQmxlbmRTdGF0ZUtleTo6QmxlbmRTdGF0ZUtleSgpCiB7
CiAgICAgbWVtc2V0KHRoaXMsIDAsIHNpemVvZihCbGVuZFN0YXRlS2V5KSk7CisgICAgYmxlbmRT
dGF0ZUV4dCA9IGdsOjpCbGVuZFN0YXRlRXh0KCk7CiB9CiAKIEJsZW5kU3RhdGVLZXk6OkJsZW5k
U3RhdGVLZXkoY29uc3QgQmxlbmRTdGF0ZUtleSAmb3RoZXIpCkBAIC0yNDU3LDkgKzI0NjYsMTAg
QEAgdm9pZCBJbml0aWFsaXplRmVhdHVyZXMoY29uc3QgUmVuZGVyZXIxMURldmljZUNhcHMgJmRl
dmljZUNhcHMsCiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oZmVhdHVyZXMsIHNlbGVjdFZp
ZXdJbkdlb21ldHJ5U2hhZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICFkZXZpY2VD
YXBzLnN1cHBvcnRzVnBSdEluZGV4V3JpdGVGcm9tVmVydGV4U2hhZGVyKTsKIAotICAgIC8vIElu
dGVsIGFuZCBBTUQgZHJpdmVycyBoYXZlIHRyb3VibGUgY2xlYXJpbmcgdGV4dHVyZXMgd2l0aG91
dCBjYXVzaW5nIGNvcnJ1cHRpb24uIE5WaWRpYSwKLSAgICAvLyBvbiB0aGUgb3RoZXIgaGFuZCwg
Y2FuIGhhbmRsZS4KLSAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgYWxsb3dD
bGVhckZvclJvYnVzdFJlc291cmNlSW5pdCwgaXNOdmlkaWEpOworICAgIC8vIE5WaWRpYSBkcml2
ZXJzIGhhdmUgbm8gdHJvdWJsZSBjbGVhcmluZyB0ZXh0dXJlcyB3aXRob3V0IHNob3dpbmcgY29y
cnVwdGlvbi4KKyAgICAvLyBJbnRlbCBhbmQgQU1EIGRyaXZlcnMgdGhhdCBoYXZlIHRyb3VibGUg
aGF2ZSBiZWVuIGJsb2NrbGlzdGVkIGJ5IENocm9taXVtLiBJbiB0aGUgY2FzZSBvZgorICAgIC8v
IEludGVsLCB0aGV5J3ZlIGJlZW4gYmxvY2tsaXN0ZWQgdG8gdGhlIERYOSBydW50aW1lLgorICAg
IEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKGZlYXR1cmVzLCBhbGxvd0NsZWFyRm9yUm9idXN0UmVz
b3VyY2VJbml0LCB0cnVlKTsKIAogICAgIC8vIERvbid0IHRyYW5zbGF0ZSB1bmlmb3JtIGJsb2Nr
IHRvIFN0cnVjdHVyZWRCdWZmZXIgb24gV2luZG93cyA3IGFuZCBlYXJsaWVyLiBUaGlzIGlzIHRh
cmdldGVkCiAgICAgLy8gdG8gd29yayBhcm91bmQgYSBidWcgdGhhdCBmYWlscyB0byBhbGxvY2F0
ZSBTaGFkZXJSZXNvdXJjZVZpZXcgZm9yIFN0cnVjdHVyZWRCdWZmZXIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL3Jl
bmRlcmVyMTFfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvcmVuZGVyZXIxMV91dGlscy5oCmluZGV4IDM5Y2UzNzllZGZhMDc2
M2MzMDA3YjlmYWMyZmVjNjM2NDkyNzczYWYuLjhjY2Y3MTJmYjUwNzA2MTljM2VmYTYyNmU0MjU2
MjFmZGMxZDA1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvcmVuZGVyZXIxMV91dGlscy5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvcmVuZGVyZXIx
MV91dGlscy5oCkBAIC0xNDgsOSArMTQ4LDcgQEAgc3RydWN0IEJsZW5kU3RhdGVLZXkgZmluYWwK
ICAgICBCbGVuZFN0YXRlS2V5KCk7CiAgICAgQmxlbmRTdGF0ZUtleShjb25zdCBCbGVuZFN0YXRl
S2V5ICZvdGhlcik7CiAKLSAgICBnbDo6QmxlbmRTdGF0ZUFycmF5IGJsZW5kU3RhdGVBcnJheTsK
LQotICAgIHVpbnQ4X3QgcnR2TWFza3NbRDNEMTFfU0lNVUxUQU5FT1VTX1JFTkRFUl9UQVJHRVRf
Q09VTlRdOworICAgIGdsOjpCbGVuZFN0YXRlRXh0IGJsZW5kU3RhdGVFeHQ7CiAKICAgICAvLyBV
c2UgdHdvIDE2LWJpdCBpbnRzIHRvIHJvdW5kIHRoZSBzdHJ1Y3QgbmljZWx5LgogICAgIHVpbnQx
Nl90IHJ0dk1heDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9kM2QvZDNkMTEvdGV4dHVyZV9mb3JtYXRfbWFwLmpzb24gYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL3RleHR1cmVf
Zm9ybWF0X21hcC5qc29uCmluZGV4IDZhYzQ5Mzk2MjcxNjZlMTMwMGU3ZWUxNDZmOTQzMjRiMTRl
MjAxNjUuLmZkNjEwZjE1N2YyODZjY2VmMDkxZTUyZjYwZWQwYzkxNWYyOWNhNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNk
MTEvdGV4dHVyZV9mb3JtYXRfbWFwLmpzb24KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS90ZXh0dXJlX2Zvcm1hdF9tYXAuanNvbgpA
QCAtMTAyLDUgKzEwMiw2IEBACiAgICJHTF9DT01QUkVTU0VEX1NSR0JfUFZSVENfMkJQUFYxX0VY
VCI6ICJOT05FIiwKICAgIkdMX0NPTVBSRVNTRURfU1JHQl9QVlJUQ180QlBQVjFfRVhUIjogIk5P
TkUiLAogICAiR0xfQ09NUFJFU1NFRF9TUkdCX0FMUEhBX1BWUlRDXzJCUFBWMV9FWFQiOiAiTk9O
RSIsCi0gICJHTF9DT01QUkVTU0VEX1NSR0JfQUxQSEFfUFZSVENfNEJQUFYxX0VYVCI6ICJOT05F
IgorICAiR0xfQ09NUFJFU1NFRF9TUkdCX0FMUEhBX1BWUlRDXzRCUFBWMV9FWFQiOiAiTk9ORSIs
CisgICJHTF9TUjhfRVhUIjogIk5PTkUiCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL3RleHR1cmVfZm9ybWF0X3Rh
YmxlX2F1dG9nZW4uY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2QzZC9kM2QxMS90ZXh0dXJlX2Zvcm1hdF90YWJsZV9hdXRvZ2VuLmNwcAppbmRleCBh
MzY5MWY0MDNiOGU2OTQwNDAwMjlhODQ3YjkxMDg2ODNjOTMzMmY2Li42ZTE0MGEzODQ2YWI5N2M1
Y2M4NDRhMzg4MjcyODA5YzY3YjI0NGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDExL3RleHR1cmVfZm9ybWF0X3RhYmxl
X2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkMTEvdGV4dHVyZV9mb3JtYXRfdGFibGVfYXV0b2dlbi5jcHAKQEAgLTI1
NDEsNiArMjU0MSwyMCBAQCBjb25zdCBGb3JtYXQgJkZvcm1hdDo6R2V0KEdMZW51bSBpbnRlcm5h
bEZvcm1hdCwgY29uc3QgUmVuZGVyZXIxMURldmljZUNhcHMgJmRldgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyKTsKICAgICAgICAgICAgIHJldHVybiBp
bmZvOwogICAgICAgICB9CisgICAgICAgIGNhc2UgR0xfU1I4X0VYVDoKKyAgICAgICAgeworICAg
ICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBGb3JtYXQgaW5mbyhHTF9TUjhfRVhULAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6Rm9ybWF0SUQ6Ok5PTkUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERYR0lfRk9STUFUX1VO
S05PV04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERYR0lfRk9S
TUFUX1VOS05PV04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERY
R0lfRk9STUFUX1VOS05PV04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIERYR0lfRk9STUFUX1VOS05PV04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMX05PTkUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG51bGxwdHIpOworICAgICAgICAgICAgcmV0dXJuIGluZm87CisgICAg
ICAgIH0KICAgICAgICAgY2FzZSBHTF9TUkdCODoKICAgICAgICAgewogICAgICAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBGb3JtYXQgaW5mbyhHTF9TUkdCOCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9GcmFtZWJ1ZmZl
cjkuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Qz
ZC9kM2Q5L0ZyYW1lYnVmZmVyOS5jcHAKaW5kZXggYjRjZjIwYzNhOThjYTg4YmQzNmUyZDc0OTk1
N2Q0NzEzNTZiMDJkNi4uNzE5MzY5NGJlYjdhOWJlN2VlZTgyNzU3NzcyMjZiZDMwZmI5NmIyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2QzZC9kM2Q5L0ZyYW1lYnVmZmVyOS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2Q5L0ZyYW1lYnVmZmVyOS5jcHAKQEAgLTM4NSwx
MSArMzg1LDE0IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXI5OjpibGl0SW1wbChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
CiB9CiAKLUdMZW51bSBGcmFtZWJ1ZmZlcjk6OmdldFJlbmRlclRhcmdldEltcGxlbWVudGF0aW9u
Rm9ybWF0KFJlbmRlclRhcmdldEQzRCAqcmVuZGVyVGFyZ2V0KSBjb25zdAorY29uc3QgZ2w6Oklu
dGVybmFsRm9ybWF0ICZGcmFtZWJ1ZmZlcjk6OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9y
bWF0KAorICAgIGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAogewotICAgIFJlbmRl
clRhcmdldDkgKnJlbmRlclRhcmdldDkgICAgICAgICA9IEdldEFzPFJlbmRlclRhcmdldDk+KHJl
bmRlclRhcmdldCk7Ci0gICAgY29uc3QgZDNkOTo6RDNERm9ybWF0ICZkM2RGb3JtYXRJbmZvID0g
ZDNkOTo6R2V0RDNERm9ybWF0SW5mbyhyZW5kZXJUYXJnZXQ5LT5nZXREM0RGb3JtYXQoKSk7Ci0g
ICAgcmV0dXJuIGQzZEZvcm1hdEluZm8uaW5mbygpLmdsSW50ZXJuYWxGb3JtYXQ7CisgICAgR0xl
bnVtIHNpemVkRm9ybWF0ID0gbVN0YXRlLmdldFJlYWRBdHRhY2htZW50KCktPmdldEZvcm1hdCgp
LmluZm8tPnNpemVkSW50ZXJuYWxGb3JtYXQ7CisgICAgY29uc3QgZDNkOTo6VGV4dHVyZUZvcm1h
dCAmdGV4dHVyZUZvcm1hdCA9IGQzZDk6OkdldFRleHR1cmVGb3JtYXRJbmZvKHNpemVkRm9ybWF0
KTsKKyAgICBjb25zdCBkM2Q5OjpEM0RGb3JtYXQgJmQzZEZvcm1hdEluZm8gICAgID0gZDNkOTo6
R2V0RDNERm9ybWF0SW5mbyh0ZXh0dXJlRm9ybWF0LnJlbmRlckZvcm1hdCk7CisgICAgY29uc3Qg
YW5nbGU6OkZvcm1hdCAmYW5nbGVGb3JtYXQgICAgICAgICA9IGFuZ2xlOjpGb3JtYXQ6OkdldChk
M2RGb3JtYXRJbmZvLmZvcm1hdElEKTsKKyAgICByZXR1cm4gZ2w6OkdldFNpemVkSW50ZXJuYWxG
b3JtYXRJbmZvKGFuZ2xlRm9ybWF0LmZib0ltcGxlbWVudGF0aW9uSW50ZXJuYWxGb3JtYXQpOwog
fQogCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyOTo6Z2V0U2FtcGxlUG9zaXRpb24oY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCkBAIC00MDEsOSArNDA0LDEwIEBAIGFuZ2xlOjpSZXN1bHQg
RnJhbWVidWZmZXI5OjpnZXRTYW1wbGVQb3NpdGlvbihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKIH0KIAogYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlcjk6OnN5bmNTdGF0ZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xlbnVtIGJpbmRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpCiB7Ci0gICAgQU5HTEVf
VFJZKEZyYW1lYnVmZmVyRDNEOjpzeW5jU3RhdGUoY29udGV4dCwgZGlydHlCaXRzKSk7CisgICAg
QU5HTEVfVFJZKEZyYW1lYnVmZmVyRDNEOjpzeW5jU3RhdGUoY29udGV4dCwgYmluZGluZywgZGly
dHlCaXRzKSk7CiAgICAgQU5HTEVfVFJZKG1SZW5kZXJUYXJnZXRDYWNoZS51cGRhdGUoY29udGV4
dCwgbVN0YXRlLCBkaXJ0eUJpdHMpKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZDNkL2QzZDkvRnJhbWVidWZmZXI5LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDkvRnJhbWVidWZmZXI5LmgKaW5kZXggOGZi
ZDA3MWFkMDUxNDAwMDI1ZjA4MzhjMTE0YmIwMmViYmI2MWVhNy4uZTY4ZmZiY2VjNDNkMjhmNmZj
MTgwNGM3NzkxMGZhNjJmZGVjNWNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2Q5L0ZyYW1lYnVmZmVyOS5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9GcmFt
ZWJ1ZmZlcjkuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBGcmFtZWJ1ZmZlcjkgOiBwdWJsaWMg
RnJhbWVidWZmZXJEM0QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZmxv
YXQgKnh5KSBjb25zdCBvdmVycmlkZTsKIAogICAgIGFuZ2xlOjpSZXN1bHQgc3luY1N0YXRlKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
ZW51bSBiaW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpGcmFt
ZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpIG92ZXJyaWRlOwogCiAgICAgY29uc3QgZ2w6
OkF0dGFjaG1lbnRBcnJheTxSZW5kZXJUYXJnZXQ5ICo+ICZnZXRDYWNoZWRDb2xvclJlbmRlclRh
cmdldHMoKSBjb25zdApAQCAtNTEsNiArNTIsOSBAQCBjbGFzcyBGcmFtZWJ1ZmZlcjkgOiBwdWJs
aWMgRnJhbWVidWZmZXJEM0QKICAgICAgICAgcmV0dXJuIG1SZW5kZXJUYXJnZXRDYWNoZS5nZXRE
ZXB0aFN0ZW5jaWwodHJ1ZSk7CiAgICAgfQogCisgICAgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0
ICZnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdCgKKyAgICAgICAgY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOworCiAgIHByaXZhdGU6CiAgICAgYW5nbGU6
OlJlc3VsdCBjbGVhckltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgQ2xlYXJQYXJhbWV0ZXJzICZjbGVhclBhcmFtcykgb3Zl
cnJpZGU7CkBAIC03Myw4ICs3Nyw2IEBAIGNsYXNzIEZyYW1lYnVmZmVyOSA6IHB1YmxpYyBGcmFt
ZWJ1ZmZlckQzRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZpbHRlciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlciAqc291cmNlRnJh
bWVidWZmZXIpIG92ZXJyaWRlOwogCi0gICAgR0xlbnVtIGdldFJlbmRlclRhcmdldEltcGxlbWVu
dGF0aW9uRm9ybWF0KFJlbmRlclRhcmdldEQzRCAqcmVuZGVyVGFyZ2V0KSBjb25zdCBvdmVycmlk
ZTsKLQogICAgIFJlbmRlcmVyOSAqY29uc3QgbVJlbmRlcmVyOwogCiAgICAgUmVuZGVyVGFyZ2V0
Q2FjaGU8UmVuZGVyVGFyZ2V0OT4gbVJlbmRlclRhcmdldENhY2hlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2Q5L1JlbmRl
cmVyOS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
ZDNkL2QzZDkvUmVuZGVyZXI5LmNwcAppbmRleCA4NDk5YjYwZTRjNGZiNDdjOGFlYjViNmMyMzE5
MWQ5ODIxN2EwY2JiLi4zNGQ2NDYxMjg3YmU1NDY0NzdlMTViN2RmNjY5MTYzOTJkM2JjMTg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
ZDNkL2QzZDkvUmVuZGVyZXI5LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDkvUmVuZGVyZXI5LmNwcApAQCAtOTQ5LDYgKzk0OSw3
IEBAIGJvb2wgUmVuZGVyZXI5OjpzdXBwb3J0c0Zhc3RDb3B5QnVmZmVyVG9UZXh0dXJlKEdMZW51
bSBpbnRlcm5hbEZvcm1hdCkgY29uc3QKIAogYW5nbGU6OlJlc3VsdCBSZW5kZXJlcjk6OmZhc3RD
b3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVu
cGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0
RDNEICpkZXN0UmVuZGVyVGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMZW51bSBkZXN0aW5hdGlvbkZvcm1hdCwKQEAgLTE5NDgsMTAgKzE5
NDksMTIgQEAgdm9pZCBSZW5kZXJlcjk6OmNsZWFyKGNvbnN0IENsZWFyUGFyYW1ldGVycyAmY2xl
YXJQYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAw
LjBmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjbGVhclBh
cmFtcy5jb2xvckYuYmx1ZSkpOwogCi0gICAgICAgIGlmICgoZm9ybWF0SW5mby5yZWRCaXRzID4g
MCAmJiAhY2xlYXJQYXJhbXMuY29sb3JNYXNrUmVkWzBdKSB8fAotICAgICAgICAgICAgKGZvcm1h
dEluZm8uZ3JlZW5CaXRzID4gMCAmJiAhY2xlYXJQYXJhbXMuY29sb3JNYXNrR3JlZW5bMF0pIHx8
Ci0gICAgICAgICAgICAoZm9ybWF0SW5mby5ibHVlQml0cyA+IDAgJiYgIWNsZWFyUGFyYW1zLmNv
bG9yTWFza0JsdWVbMF0pIHx8Ci0gICAgICAgICAgICAoZm9ybWF0SW5mby5hbHBoYUJpdHMgPiAw
ICYmICFjbGVhclBhcmFtcy5jb2xvck1hc2tBbHBoYVswXSkpCisgICAgICAgIGNvbnN0IHVpbnQ4
X3QgY29sb3JNYXNrID0KKyAgICAgICAgICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpDb2xvck1hc2tT
dG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoMCwgY2xlYXJQYXJhbXMuY29sb3JNYXNrKTsKKyAgICAg
ICAgYm9vbCByLCBnLCBiLCBhOworICAgICAgICBnbDo6QmxlbmRTdGF0ZUV4dDo6VW5wYWNrQ29s
b3JNYXNrKGNvbG9yTWFzaywgJnIsICZnLCAmYiwgJmEpOworICAgICAgICBpZiAoKGZvcm1hdElu
Zm8ucmVkQml0cyA+IDAgJiYgIXIpIHx8IChmb3JtYXRJbmZvLmdyZWVuQml0cyA+IDAgJiYgIWcp
IHx8CisgICAgICAgICAgICAoZm9ybWF0SW5mby5ibHVlQml0cyA+IDAgJiYgIWIpIHx8IChmb3Jt
YXRJbmZvLmFscGhhQml0cyA+IDAgJiYgIWEpKQogICAgICAgICB7CiAgICAgICAgICAgICBuZWVk
TWFza2VkQ29sb3JDbGVhciA9IHRydWU7CiAgICAgICAgIH0KQEAgLTIwMTgsMTEgKzIwMjEsMTEg
QEAgdm9pZCBSZW5kZXJlcjk6OmNsZWFyKGNvbnN0IENsZWFyUGFyYW1ldGVycyAmY2xlYXJQYXJh
bXMsCiAKICAgICAgICAgaWYgKGNsZWFyQ29sb3IpCiAgICAgICAgIHsKLSAgICAgICAgICAgIG1E
ZXZpY2UtPlNldFJlbmRlclN0YXRlKEQzRFJTX0NPTE9SV1JJVEVFTkFCTEUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnbF9kM2Q5OjpDb252ZXJ0Q29sb3JNYXNrKGNsZWFy
UGFyYW1zLmNvbG9yTWFza1JlZFswXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJQYXJhbXMuY29sb3JNYXNrR3JlZW5b
MF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNsZWFyUGFyYW1zLmNvbG9yTWFza0JsdWVbMF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyUGFyYW1z
LmNvbG9yTWFza0FscGhhWzBdKSk7CisgICAgICAgICAgICAvLyBjbGVhclBhcmFtcy5jb2xvck1h
c2sgZm9sbG93cyB0aGUgc2FtZSBwYWNraW5nIHNjaGVtZSBhcworICAgICAgICAgICAgLy8gRDNE
Q09MT1JXUklURUVOQUJMRV9SRUQvR1JFRU4vQkxVRS9BTFBIQQorICAgICAgICAgICAgbURldmlj
ZS0+U2V0UmVuZGVyU3RhdGUoCisgICAgICAgICAgICAgICAgRDNEUlNfQ09MT1JXUklURUVOQUJM
RSwKKyAgICAgICAgICAgICAgICBnbDo6QmxlbmRTdGF0ZUV4dDo6Q29sb3JNYXNrU3RvcmFnZTo6
R2V0VmFsdWVJbmRleGVkKDAsIGNsZWFyUGFyYW1zLmNvbG9yTWFzaykpOwogICAgICAgICB9CiAg
ICAgICAgIGVsc2UKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2Q5L1JlbmRlcmVyOS5oIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2Q5L1JlbmRlcmVyOS5o
CmluZGV4IGM2ZTgyYTcwYjhkMzE4M2MxYzRlNmI2OWRlNTg0ZDg5OWJkODAyMmQuLjVjOGVlZTQ0
NTRiOTU5YzA2NWVhMjg4ZjY4MTQ1MTQzYWRlNjY5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9SZW5kZXJlcjkuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2Qz
ZDkvUmVuZGVyZXI5LmgKQEAgLTM1MSw2ICszNTEsNyBAQCBjbGFzcyBSZW5kZXJlcjkgOiBwdWJs
aWMgUmVuZGVyZXJEM0QKICAgICBib29sIHN1cHBvcnRzRmFzdENvcHlCdWZmZXJUb1RleHR1cmUo
R0xlbnVtIGludGVybmFsRm9ybWF0KSBjb25zdCBvdmVycmlkZTsKICAgICBhbmdsZTo6UmVzdWx0
IGZhc3RDb3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlBpeGVsVW5w
YWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdsOjpCdWZmZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKmRlc3RSZW5kZXJUYXJnZXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZGVzdGlu
YXRpb25Gb3JtYXQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZDNkL2QzZDkvVGV4dHVyZVN0b3JhZ2U5LmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9UZXh0dXJlU3RvcmFn
ZTkuY3BwCmluZGV4IGYxMTNlN2RhZmYzOTNlZmQ5OWIyZDFlMTE1NzY0ODUwMzljYjI5NjQuLjhh
Yjk4NTYwYjJjMzViN2JmOWRjOWY0ZWU5ZDcyNjQyYzEzOWM4OTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9UZXh0dXJl
U3RvcmFnZTkuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvZDNkOS9UZXh0dXJlU3RvcmFnZTkuY3BwCkBAIC0xODAsNiArMTgwLDE4IEBA
IGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2U5XzJEOjpnZXRTdXJmYWNlTGV2ZWwoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVl
OwogfQogCithbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlOV8yRDo6ZmluZFJlbmRlclRhcmdl
dChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkg
c2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhcmdldEQzRCAqKm91dFJUKSBjb25zdAoreworICAgIEFTU0VSVChpbmRleC5n
ZXRMZXZlbEluZGV4KCkgPCBnZXRMZXZlbENvdW50KCkpOworCisgICAgQVNTRVJUKG91dFJUKTsK
KyAgICAqb3V0UlQgPSBtUmVuZGVyVGFyZ2V0c1tpbmRleC5nZXRMZXZlbEluZGV4KCldOworICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogYW5nbGU6OlJlc3VsdCBUZXh0
dXJlU3RvcmFnZTlfMkQ6OmdldFJlbmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMsCkBAIC0zMDQsNiArMzE2LDE3IEBA
IGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVN0b3JhZ2U5X0VHTEltYWdlOjpnZXRTdXJmYWNlTGV2ZWwo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRlCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOwogfQogCithbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlOV9FR0xJbWFnZTo6ZmluZFJl
bmRlclRhcmdldChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUlu
ZGV4ICZpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhcmdldEQzRCAqKm91dFJUKSBj
b25zdAoreworICAgIC8vIFNpbmNlIHRoZSByZW5kZXIgdGFyZ2V0IG9mIGEgRUdMIGltYWdlIHdp
bGwgYmUgdXBkYXRlZCB3aGVuIG9ycGhhbmluZywgdHJ5aW5nIHRvIGZpbmQgYSBjYWNoZQorICAg
IC8vIG9mIGl0IGNhbiBiZSByYXJlbHkgdXNlZnVsLgorICAgIEFOR0xFX0hSX1VOUkVBQ0hBQkxF
KEdldEltcGxBczxDb250ZXh0OT4oY29udGV4dCkpOworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpTdG9wOworfQorCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlOV9FR0xJbWFnZTo6Z2V0
UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJ
bmRleCAmaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKQEAgLTQzMSw2ICs0NTQsMjMgQEAgYW5nbGU6
OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTlfQ3ViZTo6Z2V0U3VyZmFjZUxldmVsKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0K
IAorYW5nbGU6OlJlc3VsdCBUZXh0dXJlU3RvcmFnZTlfQ3ViZTo6ZmluZFJlbmRlclRhcmdldChj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVp
IHNhbXBsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhcmdldEQzRCAqKm91dFJUKSBjb25zdAoreworICAgIEFTU0VSVChvdXRS
VCk7CisgICAgQVNTRVJUKGluZGV4LmdldExldmVsSW5kZXgoKSA9PSAwKTsKKyAgICBBU1NFUlQo
c2FtcGxlcyA9PSAwKTsKKworICAgIEFTU0VSVChpbmRleC5nZXRUeXBlKCkgPT0gZ2w6OlRleHR1
cmVUeXBlOjpDdWJlTWFwICYmCisgICAgICAgICAgIGdsOjpJc0N1YmVNYXBGYWNlVGFyZ2V0KGlu
ZGV4LmdldFRhcmdldCgpKSk7CisgICAgY29uc3Qgc2l6ZV90IHJlbmRlclRhcmdldEluZGV4ID0g
aW5kZXguY3ViZU1hcEZhY2VJbmRleCgpOworCisgICAgKm91dFJUID0gbVJlbmRlclRhcmdldFty
ZW5kZXJUYXJnZXRJbmRleF07CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwor
fQorCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVTdG9yYWdlOV9DdWJlOjpnZXRSZW5kZXJUYXJnZXQo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkg
c2FtcGxlcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9kM2QvZDNkOS9UZXh0dXJlU3RvcmFnZTkuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNkOS9UZXh0dXJlU3RvcmFnZTkuaApp
bmRleCA2NzE0ZDliNGJkN2M5Y2M0MjM1YTBjZWU5ZWY5NTJiN2NmYmE4YTIwLi5kYWVhNjQ4MDVi
NjA0NjI0YzJiOTUzZDdmNDkzZWU1NDU0ZTU3M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL2QzZDkvVGV4dHVyZVN0b3JhZ2U5
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Qz
ZC9kM2Q5L1RleHR1cmVTdG9yYWdlOS5oCkBAIC04OCw2ICs4OCwxMCBAQCBjbGFzcyBUZXh0dXJl
U3RvcmFnZTlfMkQgOiBwdWJsaWMgVGV4dHVyZVN0b3JhZ2U5CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgZGlydHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURpcmVj
dDNEU3VyZmFjZTkgKipvdXRTdXJmYWNlKSBvdmVycmlkZTsKKyAgICBhbmdsZTo6UmVzdWx0IGZp
bmRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBzYW1wbGVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXREM0QgKipvdXRSVCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2w6OkltYWdlSW5kZXggJmluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMc2l6ZWkgc2FtcGxlcywKQEAgLTExNSw2ICsxMTksMTAgQEAgY2xhc3MgVGV4dHVyZVN0b3Jh
Z2U5X0VHTEltYWdlIGZpbmFsIDogcHVibGljIFRleHR1cmVTdG9yYWdlOQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGRpcnR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IElEaXJlY3QzRFN1cmZhY2U5ICoqb3V0U3VyZmFjZSkgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJl
c3VsdCBmaW5kUmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgZ2V0UmVuZGVyVGFyZ2V0KGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTHNpemVpIHNhbXBsZXMsCkBAIC0xNDYsNiArMTU0LDEwIEBAIGNsYXNzIFRleHR1
cmVTdG9yYWdlOV9DdWJlIDogcHVibGljIFRleHR1cmVTdG9yYWdlOQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGRpcnR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElE
aXJlY3QzRFN1cmZhY2U5ICoqb3V0U3VyZmFjZSkgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJlc3Vs
dCBmaW5kUmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgc2FtcGxlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0RDNEICoqb3V0UlQpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgZ2V0UmVuZGVyVGFyZ2V0KGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTHNpemVpIHNhbXBsZXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQmxpdEdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9CbGl0R0wuY3BwCmluZGV4IGM1YmJlOWU1
YWNkNTk1MzNjZTAyYjM1MTRjZDhkMjc2ZDcxNTczZDcuLjc1NzE2OGNlYTNlZDJhNTExZmMyZWEy
ZDMxNzk3ODBiZWMwODQzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9CbGl0R0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9CbGl0R0wuY3BwCkBAIC0yNzYsMTAgKzI3
Niw4IEBAIGFuZ2xlOjpSZXN1bHQgQmxpdEdMOjpjb3B5SW1hZ2VUb0xVTUFXb3JrYXJvdW5kVGV4
dHVyZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4CiAgICAgbVN0YXRlTWFuYWdlci0+YmluZFRl
eHR1cmUodGV4dHVyZVR5cGUsIHRleHR1cmUpOwogCiAgICAgLy8gQWxsb2NhdGUgdGhlIHRleHR1
cmUgbWVtb3J5Ci0gICAgR0xlbnVtIGZvcm1hdCA9IGdsOjpHZXRVbnNpemVkRm9ybWF0KGludGVy
bmFsRm9ybWF0KTsKLQotICAgIEdMZW51bSByZWFkVHlwZSA9IEdMX05PTkU7Ci0gICAgQU5HTEVf
VFJZKHNvdXJjZS0+Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRUeXBlKGNvbnRleHQsICZyZWFk
VHlwZSkpOworICAgIEdMZW51bSBmb3JtYXQgICA9IGdsOjpHZXRVbnNpemVkRm9ybWF0KGludGVy
bmFsRm9ybWF0KTsKKyAgICBHTGVudW0gcmVhZFR5cGUgPSBzb3VyY2UtPmdldEltcGxlbWVudGF0
aW9uQ29sb3JSZWFkVHlwZShjb250ZXh0KTsKIAogICAgIGdsOjpQaXhlbFVucGFja1N0YXRlIHVu
cGFjazsKICAgICBtU3RhdGVNYW5hZ2VyLT5zZXRQaXhlbFVucGFja1N0YXRlKHVucGFjayk7CkBA
IC0zMTMsMTEgKzMxMSw4IEBAIGFuZ2xlOjpSZXN1bHQgQmxpdEdMOjpjb3B5U3ViSW1hZ2VUb0xV
TUFXb3JrYXJvdW5kVGV4dHVyZShjb25zdCBnbDo6Q29udGV4dCAqY29uCiAgICAgY29uc3QgRnJh
bWVidWZmZXJHTCAqc291cmNlRnJhbWVidWZmZXJHTCA9IEdldEltcGxBczxGcmFtZWJ1ZmZlckdM
Pihzb3VyY2UpOwogICAgIG1TdGF0ZU1hbmFnZXItPmJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJV
RkZFUiwgc291cmNlRnJhbWVidWZmZXJHTC0+Z2V0RnJhbWVidWZmZXJJRCgpKTsKIAotICAgIEdM
ZW51bSByZWFkRm9ybWF0ID0gR0xfTk9ORTsKLSAgICBBTkdMRV9UUlkoc291cmNlLT5nZXRJbXBs
ZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb250ZXh0LCAmcmVhZEZvcm1hdCkpOwotCi0gICAg
R0xlbnVtIHJlYWRUeXBlID0gR0xfTk9ORTsKLSAgICBBTkdMRV9UUlkoc291cmNlLT5nZXRJbXBs
ZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoY29udGV4dCwgJnJlYWRUeXBlKSk7CisgICAgR0xlbnVt
IHJlYWRGb3JtYXQgPSBzb3VyY2UtPmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNv
bnRleHQpOworICAgIEdMZW51bSByZWFkVHlwZSAgID0gc291cmNlLT5nZXRJbXBsZW1lbnRhdGlv
bkNvbG9yUmVhZFR5cGUoY29udGV4dCk7CiAKICAgICBuYXRpdmVnbDo6Q29weVRleEltYWdlSW1h
Z2VGb3JtYXQgY29weVRleEltYWdlRm9ybWF0ID0KICAgICAgICAgbmF0aXZlZ2w6OkdldENvcHlU
ZXhJbWFnZUltYWdlRm9ybWF0KG1GdW5jdGlvbnMsIG1GZWF0dXJlcywgcmVhZEZvcm1hdCwgcmVh
ZFR5cGUpOwpAQCAtNDAzLDcgKzM5OCw4IEBAIGFuZ2xlOjpSZXN1bHQgQmxpdEdMOjpibGl0Q29s
b3JCdWZmZXJXaXRoU2hhZGVyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkZyYW1lYnVm
ZmVyICpkZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmc291cmNlQXJlYUluLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmZGVzdEFy
ZWFJbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
ZW51bSBmaWx0ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTGVudW0gZmlsdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCB3cml0ZUFscGhhKQogewogICAgIEFOR0xFX1RSWShpbml0aWFsaXpl
UmVzb3VyY2VzKGNvbnRleHQpKTsKIApAQCAtNDQ0LDE1ICs0NDAsMTcgQEAgYW5nbGU6OlJlc3Vs
dCBCbGl0R0w6OmJsaXRDb2xvckJ1ZmZlcldpdGhTaGFkZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgewogICAgICAgICB0ZXh0dXJlSWQgPSBtU2NyYXRjaFRleHR1cmVzWzBdOwog
Ci0gICAgICAgIEdMZW51bSBmb3JtYXQgICAgICAgICAgICAgICAgID0gcmVhZEF0dGFjaG1lbnQt
PmdldEZvcm1hdCgpLmluZm8tPmludGVybmFsRm9ybWF0OworICAgICAgICBjb25zdCBnbDo6SW50
ZXJuYWxGb3JtYXQgJnNvdXJjZUludGVybmFsRm9ybWF0ICAgICAgID0gKnJlYWRBdHRhY2htZW50
LT5nZXRGb3JtYXQoKS5pbmZvOworICAgICAgICBuYXRpdmVnbDo6Q29weVRleEltYWdlSW1hZ2VG
b3JtYXQgY29weVRleEltYWdlRm9ybWF0ID0gbmF0aXZlZ2w6OkdldENvcHlUZXhJbWFnZUltYWdl
Rm9ybWF0KAorICAgICAgICAgICAgbUZ1bmN0aW9ucywgbUZlYXR1cmVzLCBzb3VyY2VJbnRlcm5h
bEZvcm1hdC5pbnRlcm5hbEZvcm1hdCwgc291cmNlSW50ZXJuYWxGb3JtYXQudHlwZSk7CiAgICAg
ICAgIGNvbnN0IEZyYW1lYnVmZmVyR0wgKnNvdXJjZUdMID0gR2V0SW1wbEFzPEZyYW1lYnVmZmVy
R0w+KHNvdXJjZSk7CiAgICAgICAgIG1TdGF0ZU1hbmFnZXItPmJpbmRGcmFtZWJ1ZmZlcihHTF9S
RUFEX0ZSQU1FQlVGRkVSLCBzb3VyY2VHTC0+Z2V0RnJhbWVidWZmZXJJRCgpKTsKICAgICAgICAg
bVN0YXRlTWFuYWdlci0+YmluZFRleHR1cmUoZ2w6OlRleHR1cmVUeXBlOjpfMkQsIHRleHR1cmVJ
ZCk7CiAKICAgICAgICAgQU5HTEVfR0xfVFJZX0FMV0FZU19DSEVDSygKLSAgICAgICAgICAgIGNv
bnRleHQsCi0gICAgICAgICAgICBtRnVuY3Rpb25zLT5jb3B5VGV4SW1hZ2UyRChHTF9URVhUVVJF
XzJELCAwLCBmb3JtYXQsIGluQm91bmRzU291cmNlLngsIGluQm91bmRzU291cmNlLnksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbkJvdW5kc1NvdXJjZS53aWR0aCwg
aW5Cb3VuZHNTb3VyY2UuaGVpZ2h0LCAwKSk7CisgICAgICAgICAgICBjb250ZXh0LCBtRnVuY3Rp
b25zLT5jb3B5VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBjb3B5VGV4SW1hZ2VGb3JtYXQu
aW50ZXJuYWxGb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbkJvdW5kc1NvdXJjZS54LCBpbkJvdW5kc1NvdXJjZS55LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5Cb3VuZHNTb3VyY2Uud2lkdGgs
IGluQm91bmRzU291cmNlLmhlaWdodCwgMCkpOwogCiAgICAgICAgIC8vIFRyYW5zbGF0ZSBzb3Vy
Y2VBcmVhIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBjb3BpZWQgaW1hZ2UuCiAgICAgICAgIHNvdXJj
ZUFyZWEueCAtPSBpbkJvdW5kc1NvdXJjZS54OwpAQCAtNDkxLDYgKzQ4OSw5IEBAIGFuZ2xlOjpS
ZXN1bHQgQmxpdEdMOjpibGl0Q29sb3JCdWZmZXJXaXRoU2hhZGVyKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAogICAgIEFOR0xFX1RSWShzY29wZWRTdGF0ZS5lbnRlcihjb250ZXh0LCBkZXN0
QXJlYSwgU2NvcGVkR0xTdGF0ZTo6S0VFUF9TQ0lTU09SKSk7CiAgICAgc2NvcGVkU3RhdGUud2ls
bFVzZVRleHR1cmVVbml0KGNvbnRleHQsIDApOwogCisgICAgLy8gU2V0IHRoZSB3cml0ZSBjb2xv
ciBtYXNrIHRvIHBvdGVudGlhbGx5IG5vdCB3cml0ZSBhbHBoYQorICAgIG1TdGF0ZU1hbmFnZXIt
PnNldENvbG9yTWFzayh0cnVlLCB0cnVlLCB0cnVlLCB3cml0ZUFscGhhKTsKKwogICAgIC8vIFNl
dCB1bmlmb3JtcwogICAgIG1TdGF0ZU1hbmFnZXItPmFjdGl2ZVRleHR1cmUoMCk7CiAgICAgbVN0
YXRlTWFuYWdlci0+YmluZFRleHR1cmUoZ2w6OlRleHR1cmVUeXBlOjpfMkQsIHRleHR1cmVJZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvQmxpdEdMLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZ2wvQmxpdEdMLmgKaW5kZXggNDY3NzM5MWI4MDJmMzBmZDg2MzYzZWJjNzBiN2FmOWYz
NDk4ZjgwZi4uYzFmYTMyNDlmNTA2ZDY4YmEwMzE2MmNiMTA0NjYyNTk1YWMzZjU1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0Js
aXRHTC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9CbGl0R0wuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBCbGl0R0wgOiBhbmdsZTo6Tm9u
Q29weWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgZ2w6OkZyYW1lYnVmZmVyICpkZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZzb3VyY2VBcmVhLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZk
ZXN0QXJlYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIGZpbHRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSBmaWx0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgd3JpdGVBbHBoYSk7CiAKICAgICBhbmdsZTo6UmVzdWx0IGNvcHlTdWJUZXh0dXJl
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGV4dHVyZUdMICpzb3VyY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCmluZGV4
IDJhNWJiZGQwMTBhZDhhNTFhMzIzZmRkZDI4OGMwMjVhOTA4YzM3YWMuLjg2OWYyYTE4YTJjMDA3
ODE1YjZkNDcxMGUzZGJlMGY2YzhjZWViMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3Bw
CkBAIC0yMTEsNiArMjExLDE0IEBAIEFOR0xFX0lOTElORSBhbmdsZTo6UmVzdWx0IENvbnRleHRH
TDo6c2V0RHJhd0FycmF5c1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250CiAjZW5kaWYgIC8v
IEFOR0xFX1NUQVRFX1ZBTElEQVRJT05fRU5BQkxFRAogICAgIH0KIAorICAgIGNvbnN0IGFuZ2xl
OjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IGdldEZlYXR1cmVzR0woKTsKKyAgICBpZiAoZmVhdHVy
ZXMuc2V0UHJpbWl0aXZlUmVzdGFydEZpeGVkSW5kZXhGb3JEcmF3QXJyYXlzLmVuYWJsZWQpCisg
ICAgeworICAgICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgICAgICA9IGdl
dFN0YXRlTWFuYWdlcigpOworICAgICAgICBjb25zdGV4cHIgR0x1aW50IHByaW1pdGl2ZVJlc3Rh
cnRJbmRleCA9IGdsOjpHZXRQcmltaXRpdmVSZXN0YXJ0SW5kZXhGcm9tVHlwZTxHTHVpbnQ+KCk7
CisgICAgICAgIEFOR0xFX1RSWShzdGF0ZU1hbmFnZXItPnNldFByaW1pdGl2ZVJlc3RhcnRJbmRl
eChjb250ZXh0LCBwcmltaXRpdmVSZXN0YXJ0SW5kZXgpKTsKKyAgICB9CisKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTI0NCw3ICsyNTIsNyBAQCBBTkdMRV9J
TkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0R0w6OnNldERyYXdFbGVtZW50c1N0YXRlKGNvbnN0
IGdsOjpDb250ZXh0ICpjbwogICAgICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyID0g
Z2V0U3RhdGVNYW5hZ2VyKCk7CiAKICAgICAgICAgR0x1aW50IHByaW1pdGl2ZVJlc3RhcnRJbmRl
eCA9IGdsOjpHZXRQcmltaXRpdmVSZXN0YXJ0SW5kZXgodHlwZSk7Ci0gICAgICAgIHN0YXRlTWFu
YWdlci0+c2V0UHJpbWl0aXZlUmVzdGFydEluZGV4KHByaW1pdGl2ZVJlc3RhcnRJbmRleCk7Cisg
ICAgICAgIEFOR0xFX1RSWShzdGF0ZU1hbmFnZXItPnNldFByaW1pdGl2ZVJlc3RhcnRJbmRleChj
b250ZXh0LCBwcmltaXRpdmVSZXN0YXJ0SW5kZXgpKTsKICAgICB9CiAKICNpZiBkZWZpbmVkKEFO
R0xFX1NUQVRFX1ZBTElEQVRJT05fRU5BQkxFRCkKQEAgLTY5NCw4ICs3MDIsNyBAQCBhbmdsZTo6
UmVzdWx0IENvbnRleHRHTDo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U3RhdGU6OkRpcnR5
Qml0cyAmZGlydHlCaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6U3RhdGU6OkRpcnR5Qml0cyAmYml0TWFzaykKIHsKLSAgICBtUmVuZGVyZXItPmdldFN0
YXRlTWFuYWdlcigpLT5zeW5jU3RhdGUoY29udGV4dCwgZGlydHlCaXRzLCBiaXRNYXNrKTsKLSAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgcmV0dXJuIG1SZW5kZXJlci0+
Z2V0U3RhdGVNYW5hZ2VyKCktPnN5bmNTdGF0ZShjb250ZXh0LCBkaXJ0eUJpdHMsIGJpdE1hc2sp
OwogfQogCiBHTGludCBDb250ZXh0R0w6OmdldEdQVURpc2pvaW50KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZl
ckdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9GcmFtZWJ1ZmZlckdMLmNwcAppbmRleCAwNWFiYWQ4NzE5ZjkxYWIxYjg2ODZlMDRkNDA1MWUz
NmEwNDMyZTI1Li43ZjA2OWEwMjkyY2VkYmQwOGRjOGU4NTJhOTY0NDFlYTMxOWU4NzIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
RnJhbWVidWZmZXJHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3BwCkBAIC0zNzQsNiArMzc0LDEyIEBAIGFu
Z2xlOjpSZXN1bHQgUmVhcnJhbmdlRVhUVGV4dHVyZU5vcm0xNlBpeGVscyhjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
K2Jvb2wgSXNWYWxpZFVuc2lnbmVkU2hvcnRSZWFkUGl4ZWxzRm9ybWF0KEdMZW51bSByZWFkRm9y
bWF0LCBjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKK3sKKyAgICByZXR1cm4gKHJlYWRGb3Jt
YXQgPT0gR0xfUkVEKSB8fCAocmVhZEZvcm1hdCA9PSBHTF9SRykgfHwgKHJlYWRGb3JtYXQgPT0g
R0xfUkdCQSkgfHwKKyAgICAgICAgICAgKChyZWFkRm9ybWF0ID09IEdMX0RFUFRIX0NPTVBPTkVO
VCkgJiYgKGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5yZWFkRGVwdGhOVikpOworfQorCiB9ICAv
LyBuYW1lc3BhY2UKIAogRnJhbWVidWZmZXJHTDo6RnJhbWVidWZmZXJHTChjb25zdCBnbDo6RnJh
bWVidWZmZXJTdGF0ZSAmZGF0YSwKQEAgLTYwMSwyMCArNjA3LDYgQEAgYW5nbGU6OlJlc3VsdCBG
cmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZpKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAotR0xlbnVtIEZyYW1lYnVm
ZmVyR0w6OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0KSBjb25zdAotewotICAgIGNvbnN0IGF1dG8gKnJlYWRBdHRhY2htZW50ID0gbVN0
YXRlLmdldFJlYWRBdHRhY2htZW50KCk7Ci0gICAgY29uc3QgRm9ybWF0ICZmb3JtYXQgICAgICAg
PSByZWFkQXR0YWNobWVudC0+Z2V0Rm9ybWF0KCk7Ci0gICAgcmV0dXJuIGZvcm1hdC5pbmZvLT5n
ZXRSZWFkUGl4ZWxzRm9ybWF0KGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKSk7Ci19Ci0KLUdMZW51
bSBGcmFtZWJ1ZmZlckdMOjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0Ci17Ci0gICAgY29uc3QgYXV0byAqcmVhZEF0dGFjaG1l
bnQgPSBtU3RhdGUuZ2V0UmVhZEF0dGFjaG1lbnQoKTsKLSAgICBjb25zdCBGb3JtYXQgJmZvcm1h
dCAgICAgICA9IHJlYWRBdHRhY2htZW50LT5nZXRGb3JtYXQoKTsKLSAgICByZXR1cm4gZm9ybWF0
LmluZm8tPmdldFJlYWRQaXhlbHNUeXBlKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSk7Ci19
Ci0KIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6cmVhZFBpeGVscyhjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBnbDo6UmVjdGFuZ2xlICZhcmVhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSBmb3JtYXQsCkBAIC02MjcsNyArNjE5LDcgQEAgYW5nbGU6OlJlc3Vs
dCBGcmFtZWJ1ZmZlckdMOjpyZWFkUGl4ZWxzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29u
dGV4dCk7CiAKICAgICAvLyBDbGlwIHJlYWQgYXJlYSB0byBmcmFtZWJ1ZmZlci4KLSAgICBjb25z
dCBhdXRvICpyZWFkQXR0YWNobWVudCA9IG1TdGF0ZS5nZXRSZWFkQXR0YWNobWVudCgpOworICAg
IGNvbnN0IGF1dG8gKnJlYWRBdHRhY2htZW50ID0gbVN0YXRlLmdldFJlYWRQaXhlbHNBdHRhY2ht
ZW50KGZvcm1hdCk7CiAgICAgY29uc3QgZ2w6OkV4dGVudHMgZmJTaXplICAgPSByZWFkQXR0YWNo
bWVudC0+Z2V0U2l6ZSgpOwogICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgZmJSZWN0KDAsIDAsIGZi
U2l6ZS53aWR0aCwgZmJTaXplLmhlaWdodCk7CiAgICAgZ2w6OlJlY3RhbmdsZSBjbGlwcGVkQXJl
YTsKQEAgLTY1MCw3ICs2NDIsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OnJlYWRQ
aXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgaWYgKGZlYXR1cmVzLnJlYWRQ
aXhlbHNVc2luZ0ltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0Rm9yTm9ybTE2LmVuYWJsZWQg
JiYKICAgICAgICAgcmVhZFR5cGUgPT0gR0xfVU5TSUdORURfU0hPUlQpCiAgICAgewotICAgICAg
ICBBTkdMRV9DSEVDSyhjb250ZXh0R0wsIHJlYWRGb3JtYXQgPT0gR0xfUkVEIHx8IHJlYWRGb3Jt
YXQgPT0gR0xfUkcgfHwgcmVhZEZvcm1hdCA9PSBHTF9SR0JBLAorICAgICAgICBBTkdMRV9DSEVD
Syhjb250ZXh0R0wsIElzVmFsaWRVbnNpZ25lZFNob3J0UmVhZFBpeGVsc0Zvcm1hdChyZWFkRm9y
bWF0LCBjb250ZXh0KSwKICAgICAgICAgICAgICAgICAgICAgImdsUmVhZFBpeGVsczogR0xfSU1Q
TEVNRU5UQVRJT05fQ09MT1JfUkVBRF9GT1JNQVQgYWR2ZXJ0aXNlZCBieSB0aGUgZHJpdmVyIGlz
ICIKICAgICAgICAgICAgICAgICAgICAgIm5vdCBoYW5kbGVkIGJ5IFJHQkExNiByZWFkUGl4ZWxz
IHdvcmthcm91bmQuIiwKICAgICAgICAgICAgICAgICAgICAgR0xfSU5WQUxJRF9PUEVSQVRJT04p
OwpAQCAtNzc1LDYgKzc2NywxMyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmJsaXQo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICBuZWVkTWFudWFsQ29sb3JC
bGl0IHx8IChkZXN0U1JHQiAmJiBmdW5jdGlvbnMtPmlzQXRNb3N0R0woZ2w6OlZlcnNpb24oNCwg
MSkpKTsKICAgICB9CiAKKyAgICAvLyBJZiB0aGUgZGVzdGluYXRpb24gaGFzIGFuIGVtdWxhdGVk
IGFscGhhIGNoYW5uZWwsIHdlIG5lZWQgdG8gYmxpdCB3aXRoIGEgc2hhZGVyIHdpdGggYWxwaGEK
KyAgICAvLyB3cml0ZXMgZGlzYWJsZWQuCisgICAgaWYgKG1IYXNFbXVsYXRlZEFscGhhQXR0YWNo
bWVudCkKKyAgICB7CisgICAgICAgIG5lZWRNYW51YWxDb2xvckJsaXQgPSB0cnVlOworICAgIH0K
KwogICAgIC8vIEVuYWJsZSBGUkFNRUJVRkZFUl9TUkdCIGlmIG5lZWRlZAogICAgIHN0YXRlTWFu
YWdlci0+c2V0RnJhbWVidWZmZXJTUkdCRW5hYmxlZEZvckZyYW1lYnVmZmVyKGNvbnRleHQsIHRy
dWUsIHRoaXMpOwogCkBAIC03ODMsNyArNzgyLDggQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZl
ckdMOjpibGl0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIHsKICAgICAgICAgQmxp
dEdMICpibGl0dGVyID0gR2V0QmxpdEdMKGNvbnRleHQpOwogICAgICAgICBBTkdMRV9UUlkoYmxp
dHRlci0+YmxpdENvbG9yQnVmZmVyV2l0aFNoYWRlcihjb250ZXh0LCBzb3VyY2VGcmFtZWJ1ZmZl
ciwgZGVzdEZyYW1lYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzb3VyY2VBcmVhLCBkZXN0QXJlYSwgZmlsdGVyKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUFyZWEs
IGRlc3RBcmVhLCBmaWx0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICFtSGFzRW11bGF0ZWRBbHBoYUF0dGFjaG1lbnQpKTsKICAgICAgICAg
YmxpdE1hc2sgJj0gfkdMX0NPTE9SX0JVRkZFUl9CSVQ7CiAgICAgfQogCkBAIC0xMTkzLDYgKzEx
OTMsNyBAQCBib29sIEZyYW1lYnVmZmVyR0w6OmNoZWNrU3RhdHVzKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0KSBjb25zdAogfQogCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OnN5bmNT
dGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMZW51bSBiaW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVyOjpEaXJ0eUJpdHMgJmRpcnR5Qml0
cykKIHsKICAgICAvLyBEb24ndCBuZWVkIHRvIHN5bmMgc3RhdGUgZm9yIHRoZSBkZWZhdWx0IEZC
Ty4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVidWZmZXJHTC5oCmluZGV4IDYyMjY1NzVlNGI2NmM3ZDg0
OTM4Y2IzNjU4Y2VhMTc1OGYxY2FjZjYuLmUzNjFjZTQzYjY4NzEyNDJiNGJiY2JiZGFhNDYzZDk5
YWM1OTQ4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuaApAQCAtNTgsOSArNTgs
NiBAQCBjbGFzcyBGcmFtZWJ1ZmZlckdMIDogcHVibGljIEZyYW1lYnVmZmVySW1wbAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHTGZsb2F0IGRlcHRoLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGludCBzdGVuY2lsKSBvdmVycmlkZTsKIAotICAgIEdMZW51bSBn
ZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgR0xlbnVtIGdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFk
VHlwZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7Ci0KICAgICBh
bmdsZTo6UmVzdWx0IHJlYWRQaXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJmFyZWEsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmb3JtYXQsCkBAIC04Myw2ICs4MCw3IEBA
IGNsYXNzIEZyYW1lYnVmZmVyR0wgOiBwdWJsaWMgRnJhbWVidWZmZXJJbXBsCiAgICAgYm9vbCBj
aGVja1N0YXR1cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICBhbmdsZTo6UmVzdWx0IHN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gYmluZGluZywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6RnJhbWVidWZmZXI6OkRpcnR5Qml0cyAmZGlydHlC
aXRzKSBvdmVycmlkZTsKIAogICAgIEdMdWludCBnZXRGcmFtZWJ1ZmZlcklEKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvUHJvZ3JhbUdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9Qcm9ncmFtR0wuY3BwCmluZGV4IDVlOGNjYWYxODUyNzY2NWNkY2FiNGU5MTIy
NWE5M2ZmOWM3MGE3MGUuLjRhYThiNDM1MmYwZGY2ZGU4MWFkZmI5ZjJkODZmYTYxMTE2Y2JhMzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9Qcm9ncmFtR0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9Qcm9ncmFtR0wuY3BwCkBAIC0yMjgsNyArMjI4LDcgQEAgc3RkOjp1
bmlxdWVfcHRyPExpbmtFdmVudD4gUHJvZ3JhbUdMOjpsaW5rKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgICAgICBmb3IgKGNvbnN0IGF1dG8gJnRmVmFyeWluZyA6IG1TdGF0ZS5nZXRU
cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdOYW1lcygpKQogICAgICAgICB7CiAgICAgICAgICAgICBn
bDo6U2hhZGVyVHlwZSB0ZlNoYWRlclR5cGUgPQotICAgICAgICAgICAgICAgIG1TdGF0ZS5nZXRQ
cm9ncmFtRXhlY3V0YWJsZSgpLmhhc0xpbmtlZFNoYWRlclN0YWdlKGdsOjpTaGFkZXJUeXBlOjpH
ZW9tZXRyeSkKKyAgICAgICAgICAgICAgICBtU3RhdGUuZ2V0RXhlY3V0YWJsZSgpLmhhc0xpbmtl
ZFNoYWRlclN0YWdlKGdsOjpTaGFkZXJUeXBlOjpHZW9tZXRyeSkKICAgICAgICAgICAgICAgICAg
ICAgPyBnbDo6U2hhZGVyVHlwZTo6R2VvbWV0cnkKICAgICAgICAgICAgICAgICAgICAgOiBnbDo6
U2hhZGVyVHlwZTo6VmVydGV4OwogICAgICAgICAgICAgc3RkOjpzdHJpbmcgdGZWYXJ5aW5nTWFw
cGVkTmFtZSA9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5jcHAKaW5kZXggMDk3ODliNTFhZTc5
NWE0MzM1YjgxYmE3Njc3MjExODNlNWU4N2EyMS4uYjYyZTBmM2VjNGNkNDk3OWU5OTE5ZWJmYmFl
NGY3YzVkM2M4NjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmNwcApAQCAtNjMsNiAr
NjMsMTUgQEAgY29uc3QgY2hhciAqa0lnbm9yZWRFcnJvcnNbXSA9IHsKICAgICAic2hhcmVfY29u
dGV4dCB0byBlZ2xDcmVhdGVDb250ZXh0LiBSZXN1bHRzIGFyZSB1bmRlZmluZWQuIiwKIH07CiAj
ZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKKworY29uc3QgY2hhciAq
a0lnbm9yZWRXYXJuaW5nc1tdID0geworICAgIC8vIFdlIGFsd2F5cyByZXF1ZXN0IEdMX0FSQl9n
cHVfc2hhZGVyNSBhbmQgR0xfRVhUX2dwdV9zaGFkZXI1IHdoZW4gY29tcGlsaW5nIHNoYWRlcnMg
YnV0IHNvbWUKKyAgICAvLyBkcml2ZXJzIHdhcm4gd2hlbiBpdCBpcyBub3QgcHJlc2VudC4gVGhp
cyBlbmRzIHVwIHNwYW1taW5nIHRoZSBjb25zb2xlIG9uIGV2ZXJ5IHNoYWRlcgorICAgIC8vIGNv
bXBpbGUuCisgICAgImV4dGVuc2lvbiBgR0xfQVJCX2dwdV9zaGFkZXI1JyB1bnN1cHBvcnRlZCBp
biIsCisgICAgImV4dGVuc2lvbiBgR0xfRVhUX2dwdV9zaGFkZXI1JyB1bnN1cHBvcnRlZCBpbiIs
Cit9OworCiB9ICAvLyBuYW1lc3BhY2UKIAogc3RhdGljIHZvaWQgSU5URVJOQUxfR0xfQVBJRU5U
UlkgTG9nR0xEZWJ1Z01lc3NhZ2UoR0xlbnVtIHNvdXJjZSwKQEAgLTEwNiw2ICsxMTUsMTQgQEAg
c3RhdGljIHZvaWQgSU5URVJOQUxfR0xfQVBJRU5UUlkgTG9nR0xEZWJ1Z01lc3NhZ2UoR0xlbnVt
IHNvdXJjZSwKICAgICAgICAgLy8gRG9uJ3QgcHJpbnQgcGVyZm9ybWFuY2Ugd2FybmluZ3MuIFRo
ZXkgdGVuZCB0byBiZSB2ZXJ5IHNwYW1teSBpbiB0aGUgZEVRUCB0ZXN0IHN1aXRlIGFuZAogICAg
ICAgICAvLyB0aGVyZSBpcyB2ZXJ5IGxpdHRsZSB3ZSBjYW4gZG8gYWJvdXQgdGhlbS4KIAorICAg
ICAgICBmb3IgKGNvbnN0IGNoYXIgKiZ3YXJuIDoga0lnbm9yZWRXYXJuaW5ncykKKyAgICAgICAg
eworICAgICAgICAgICAgaWYgKHN0cnN0cihtZXNzYWdlLCB3YXJuKSAhPSBudWxscHRyKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorCiAgICAgICAgIC8vIFRPRE8oeW5vdmlrb3YpOiBmaWx0ZXIgaW50byBXQVJOIGFuZCBJ
TkZPIGlmIElORk8gaXMgZXZlciBpbXBsZW1lbnRlZAogICAgICAgICBXQVJOKCkgPDwgc3RkOjpl
bmRsCiAgICAgICAgICAgICAgICA8PCAiXHRTb3VyY2U6ICIgPDwgc291cmNlVGV4dCA8PCBzdGQ6
OmVuZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9TdGF0ZU1hbmFnZXJHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvU3RhdGVNYW5hZ2VyR0wuY3BwCmluZGV4IDNmOWJjMDE2
NmNmZmQ4NGQ0MGM1NmRlZWI3NWIyNjA0YTliNGE1ZjEuLjI1MzA2Y2ZhMmNlYzI4OTUwMGIyMjEz
ZDZhODE4NmMzZGZkNDUyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9TdGF0ZU1hbmFnZXJHTC5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N0YXRlTWFuYWdlckdMLmNw
cApAQCAtOTQsMTggKzk0LDkgQEAgU3RhdGVNYW5hZ2VyR0w6OlN0YXRlTWFuYWdlckdMKGNvbnN0
IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsCiAgICAgICBtVmlld3BvcnQoMCwgMCwgMCwgMCksCiAg
ICAgICBtTmVhcigwLjBmKSwKICAgICAgIG1GYXIoMS4wZiksCi0gICAgICBtQmxlbmRFbmFibGVk
KGZhbHNlKSwKICAgICAgIG1CbGVuZENvbG9yKDAsIDAsIDAsIDApLAotICAgICAgbVNvdXJjZUJs
ZW5kUkdCKEdMX09ORSksCi0gICAgICBtRGVzdEJsZW5kUkdCKEdMX1pFUk8pLAotICAgICAgbVNv
dXJjZUJsZW5kQWxwaGEoR0xfT05FKSwKLSAgICAgIG1EZXN0QmxlbmRBbHBoYShHTF9aRVJPKSwK
LSAgICAgIG1CbGVuZEVxdWF0aW9uUkdCKEdMX0ZVTkNfQUREKSwKLSAgICAgIG1CbGVuZEVxdWF0
aW9uQWxwaGEoR0xfRlVOQ19BREQpLAotICAgICAgbUNvbG9yTWFza1JlZCh0cnVlKSwKLSAgICAg
IG1Db2xvck1hc2tHcmVlbih0cnVlKSwKLSAgICAgIG1Db2xvck1hc2tCbHVlKHRydWUpLAotICAg
ICAgbUNvbG9yTWFza0FscGhhKHRydWUpLAorICAgICAgbUJsZW5kU3RhdGVFeHQocmVuZGVyZXJD
YXBzLm1heERyYXdCdWZmZXJzKSwKKyAgICAgIG1JbmRlcGVuZGVudEJsZW5kU3RhdGVzKGV4dGVu
c2lvbnMuZHJhd0J1ZmZlcnNJbmRleGVkQW55KCkpLAogICAgICAgbVNhbXBsZUFscGhhVG9Db3Zl
cmFnZUVuYWJsZWQoZmFsc2UpLAogICAgICAgbVNhbXBsZUNvdmVyYWdlRW5hYmxlZChmYWxzZSks
CiAgICAgICBtU2FtcGxlQ292ZXJhZ2VWYWx1ZSgxLjBmKSwKQEAgLTE1MCw2ICsxNDEsNyBAQCBT
dGF0ZU1hbmFnZXJHTDo6U3RhdGVNYW5hZ2VyR0woY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9u
cywKICAgICAgIG1Db3ZlcmFnZU1vZHVsYXRpb24oR0xfTk9ORSksCiAgICAgICBtSXNNdWx0aXZp
ZXdFbmFibGVkKGV4dGVuc2lvbnMubXVsdGl2aWV3IHx8IGV4dGVuc2lvbnMubXVsdGl2aWV3Miks
CiAgICAgICBtUHJvdm9raW5nVmVydGV4KEdMX0xBU1RfVkVSVEVYX0NPTlZFTlRJT04pLAorICAg
ICAgbU1heENsaXBEaXN0YW5jZXMocmVuZGVyZXJDYXBzLm1heENsaXBEaXN0YW5jZXMpLAogICAg
ICAgbUxvY2FsRGlydHlCaXRzKCkKIHsKICAgICBBU1NFUlQobUZ1bmN0aW9ucyk7CkBAIC0xNzks
NiArMTcxLDE0IEBAIFN0YXRlTWFuYWdlckdMOjpTdGF0ZU1hbmFnZXJHTChjb25zdCBGdW5jdGlv
bnNHTCAqZnVuY3Rpb25zLAogICAgICAgICAgICAgbUZ1bmN0aW9ucy0+ZW5hYmxlKEdMX1BPSU5U
X1NQUklURSk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBpZiAoZmVhdHVyZXMuZW11bGF0ZVBy
aW1pdGl2ZVJlc3RhcnRGaXhlZEluZGV4LmVuYWJsZWQpCisgICAgeworICAgICAgICAvLyBUaGVy
ZSBpcyBubyBjb25zaXN0ZW50IGRlZmF1bHQgdmFsdWUgZm9yIHByaW1pdGl2ZSByZXN0YXJ0IGlu
ZGV4LiBTZXQgaXQgdG8gVUlOVCAtMS4KKyAgICAgICAgY29uc3RleHByIEdMdWludCBwcmltaXRp
dmVSZXN0YXJ0SW5kZXggPSBnbDo6R2V0UHJpbWl0aXZlUmVzdGFydEluZGV4RnJvbVR5cGU8R0x1
aW50PigpOworICAgICAgICBtRnVuY3Rpb25zLT5wcmltaXRpdmVSZXN0YXJ0SW5kZXgocHJpbWl0
aXZlUmVzdGFydEluZGV4KTsKKyAgICAgICAgbVByaW1pdGl2ZVJlc3RhcnRJbmRleCA9IHByaW1p
dGl2ZVJlc3RhcnRJbmRleDsKKyAgICB9CiB9CiAKIFN0YXRlTWFuYWdlckdMOjp+U3RhdGVNYW5h
Z2VyR0woKSB7fQpAQCAtMTA1NiwyMCArMTA1Niw3NSBAQCB2b2lkIFN0YXRlTWFuYWdlckdMOjpz
ZXREZXB0aFJhbmdlKGZsb2F0IG5lYXIsIGZsb2F0IGZhcikKIAogdm9pZCBTdGF0ZU1hbmFnZXJH
TDo6c2V0QmxlbmRFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBpZiAobUJsZW5kRW5hYmxl
ZCAhPSBlbmFibGVkKQorICAgIGNvbnN0IGdsOjpEcmF3QnVmZmVyTWFzayBtYXNrID0KKyAgICAg
ICAgZW5hYmxlZCA/IG1CbGVuZFN0YXRlRXh0Lm1NYXhFbmFibGVkTWFzayA6IGdsOjpEcmF3QnVm
ZmVyTWFzazo6WmVybygpOworICAgIGlmIChtQmxlbmRTdGF0ZUV4dC5tRW5hYmxlZE1hc2sgPT0g
bWFzaykKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZW5hYmxlZCkK
KyAgICB7CisgICAgICAgIG1GdW5jdGlvbnMtPmVuYWJsZShHTF9CTEVORCk7CisgICAgfQorICAg
IGVsc2UKKyAgICB7CisgICAgICAgIG1GdW5jdGlvbnMtPmRpc2FibGUoR0xfQkxFTkQpOworICAg
IH0KKworICAgIG1CbGVuZFN0YXRlRXh0LnNldEVuYWJsZWQoZW5hYmxlZCk7CisgICAgbUxvY2Fs
RGlydHlCaXRzLnNldChnbDo6U3RhdGU6OkRJUlRZX0JJVF9CTEVORF9FTkFCTEVEKTsKK30KKwor
dm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0QmxlbmRFbmFibGVkSW5kZXhlZChjb25zdCBnbDo6RHJh
d0J1ZmZlck1hc2sgZW5hYmxlZE1hc2spCit7CisgICAgaWYgKG1CbGVuZFN0YXRlRXh0Lm1FbmFi
bGVkTWFzayA9PSBlbmFibGVkTWFzaykKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICAvLyBHZXQgRHJhd0J1ZmZlck1hc2sgb2YgYnVmZmVycyB3aXRoIGRpZmZlcmVudCBibGVu
ZCBlbmFibGUgc3RhdGUKKyAgICBnbDo6RHJhd0J1ZmZlck1hc2sgZGlmZk1hc2sgPSBtQmxlbmRT
dGF0ZUV4dC5tRW5hYmxlZE1hc2sgXiBlbmFibGVkTWFzazsKKyAgICBjb25zdCBzaXplX3QgZGlm
ZkNvdW50ICAgICAgPSBkaWZmTWFzay5jb3VudCgpOworCisgICAgLy8gQ2hlY2sgaWYgZW5hYmxp
bmcgb3IgZGlzYWJsaW5nIGJsZW5kaW5nIGZvciBhbGwgYnVmZmVycyByZWR1Y2VzIHRoZSBudW1i
ZXIgb2Ygc3Vic2VxdWVudAorICAgIC8vIGluZGV4ZWQgY29tbWFuZHMuIEltcGxpY2l0bHkgaGFu
ZGxlcyB0aGUgY2FzZSB3aGVuIHRoZSBuZXcgYmxlbmQgZW5hYmxlIHN0YXRlIGlzIHRoZSBzYW1l
IGZvcgorICAgIC8vIGFsbCBidWZmZXJzLgorICAgIGlmIChkaWZmQ291bnQgPiAxKQogICAgIHsK
LSAgICAgICAgbUJsZW5kRW5hYmxlZCA9IGVuYWJsZWQ7Ci0gICAgICAgIGlmIChtQmxlbmRFbmFi
bGVkKQorICAgICAgICAvLyBUaGUgbnVtYmVyIG9mIGluZGV4ZWQgYmxlbmQgZW5hYmxlIGNvbW1h
bmRzIGluIGNhc2UgYSBtYXNzIGRpc2FibGUgaXMgdXNlZC4KKyAgICAgICAgY29uc3Qgc2l6ZV90
IGVuYWJsZWRDb3VudCA9IGVuYWJsZWRNYXNrLmNvdW50KCk7CisKKyAgICAgICAgLy8gVGhlIG1h
c2sgYW5kIHRoZSBudW1iZXIgb2YgaW5kZXhlZCBibGVuZCBkaXNhYmxlIGNvbW1hbmRzIGluIGNh
c2UgYSBtYXNzIGVuYWJsZSBpcyB1c2VkLgorICAgICAgICBjb25zdCBnbDo6RHJhd0J1ZmZlck1h
c2sgZGlzYWJsZWRNYXNrID0gZW5hYmxlZE1hc2sgXiBtQmxlbmRTdGF0ZUV4dC5tTWF4RW5hYmxl
ZE1hc2s7CisgICAgICAgIGNvbnN0IHNpemVfdCBkaXNhYmxlZENvdW50ICAgICAgICAgICAgPSBk
aXNhYmxlZE1hc2suY291bnQoKTsKKworICAgICAgICBpZiAoZW5hYmxlZENvdW50IDwgZGlmZkNv
dW50ICYmIGVuYWJsZWRDb3VudCA8PSBkaXNhYmxlZENvdW50KQorICAgICAgICB7CisgICAgICAg
ICAgICBkaWZmTWFzayA9IGVuYWJsZWRNYXNrOworICAgICAgICAgICAgbUZ1bmN0aW9ucy0+ZGlz
YWJsZShHTF9CTEVORCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoZGlzYWJsZWRDb3Vu
dCA8IGRpZmZDb3VudCAmJiBkaXNhYmxlZENvdW50IDw9IGVuYWJsZWRDb3VudCkKICAgICAgICAg
eworICAgICAgICAgICAgZGlmZk1hc2sgPSBkaXNhYmxlZE1hc2s7CiAgICAgICAgICAgICBtRnVu
Y3Rpb25zLT5lbmFibGUoR0xfQkxFTkQpOwogICAgICAgICB9CisgICAgfQorCisgICAgZm9yIChz
aXplX3QgZHJhd0J1ZmZlckluZGV4IDogZGlmZk1hc2spCisgICAgeworICAgICAgICBpZiAoZW5h
YmxlZE1hc2sudGVzdChkcmF3QnVmZmVySW5kZXgpKQorICAgICAgICB7CisgICAgICAgICAgICBt
RnVuY3Rpb25zLT5lbmFibGVpKEdMX0JMRU5ELCBzdGF0aWNfY2FzdDxHTHVpbnQ+KGRyYXdCdWZm
ZXJJbmRleCkpOworICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAg
ICAgbUZ1bmN0aW9ucy0+ZGlzYWJsZShHTF9CTEVORCk7CisgICAgICAgICAgICBtRnVuY3Rpb25z
LT5kaXNhYmxlaShHTF9CTEVORCwgc3RhdGljX2Nhc3Q8R0x1aW50PihkcmF3QnVmZmVySW5kZXgp
KTsKICAgICAgICAgfQotCi0gICAgICAgIG1Mb2NhbERpcnR5Qml0cy5zZXQoZ2w6OlN0YXRlOjpE
SVJUWV9CSVRfQkxFTkRfRU5BQkxFRCk7CiAgICAgfQorCisgICAgbUJsZW5kU3RhdGVFeHQubUVu
YWJsZWRNYXNrID0gZW5hYmxlZE1hc2s7CisgICAgbUxvY2FsRGlydHlCaXRzLnNldChnbDo6U3Rh
dGU6OkRJUlRZX0JJVF9CTEVORF9FTkFCTEVEKTsKIH0KIAogdm9pZCBTdGF0ZU1hbmFnZXJHTDo6
c2V0QmxlbmRDb2xvcihjb25zdCBnbDo6Q29sb3JGICZibGVuZENvbG9yKQpAQCAtMTA4NCw1MCAr
MTEzOSwxNzkgQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0QmxlbmRDb2xvcihjb25zdCBnbDo6
Q29sb3JGICZibGVuZENvbG9yKQogICAgIH0KIH0KIAotdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0
QmxlbmRGdW5jcyhHTGVudW0gc291cmNlQmxlbmRSR0IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMZW51bSBkZXN0QmxlbmRSR0IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMZW51bSBzb3VyY2VCbGVuZEFscGhhLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGVudW0gZGVzdEJsZW5kQWxwaGEpCit2b2lkIFN0YXRlTWFuYWdl
ckdMOjpzZXRCbGVuZEZ1bmNzKGNvbnN0IGdsOjpCbGVuZFN0YXRlRXh0ICZibGVuZFN0YXRlRXh0
KQogewotICAgIGlmIChtU291cmNlQmxlbmRSR0IgIT0gc291cmNlQmxlbmRSR0IgfHwgbURlc3RC
bGVuZFJHQiAhPSBkZXN0QmxlbmRSR0IgfHwKLSAgICAgICAgbVNvdXJjZUJsZW5kQWxwaGEgIT0g
c291cmNlQmxlbmRBbHBoYSB8fCBtRGVzdEJsZW5kQWxwaGEgIT0gZGVzdEJsZW5kQWxwaGEpCisg
ICAgaWYgKG1CbGVuZFN0YXRlRXh0Lm1TcmNDb2xvciA9PSBibGVuZFN0YXRlRXh0Lm1TcmNDb2xv
ciAmJgorICAgICAgICBtQmxlbmRTdGF0ZUV4dC5tRHN0Q29sb3IgPT0gYmxlbmRTdGF0ZUV4dC5t
RHN0Q29sb3IgJiYKKyAgICAgICAgbUJsZW5kU3RhdGVFeHQubVNyY0FscGhhID09IGJsZW5kU3Rh
dGVFeHQubVNyY0FscGhhICYmCisgICAgICAgIG1CbGVuZFN0YXRlRXh0Lm1Ec3RBbHBoYSA9PSBi
bGVuZFN0YXRlRXh0Lm1Ec3RBbHBoYSkKICAgICB7Ci0gICAgICAgIG1Tb3VyY2VCbGVuZFJHQiAg
ID0gc291cmNlQmxlbmRSR0I7Ci0gICAgICAgIG1EZXN0QmxlbmRSR0IgICAgID0gZGVzdEJsZW5k
UkdCOwotICAgICAgICBtU291cmNlQmxlbmRBbHBoYSA9IHNvdXJjZUJsZW5kQWxwaGE7Ci0gICAg
ICAgIG1EZXN0QmxlbmRBbHBoYSAgID0gZGVzdEJsZW5kQWxwaGE7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAKLSAgICAgICAgbUZ1bmN0aW9ucy0+YmxlbmRGdW5jU2VwYXJhdGUobVNvdXJjZUJs
ZW5kUkdCLCBtRGVzdEJsZW5kUkdCLCBtU291cmNlQmxlbmRBbHBoYSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbURlc3RCbGVuZEFscGhhKTsKKyAgICBpZiAoIW1JbmRl
cGVuZGVudEJsZW5kU3RhdGVzKQorICAgIHsKKyAgICAgICAgbUZ1bmN0aW9ucy0+YmxlbmRGdW5j
U2VwYXJhdGUoCisgICAgICAgICAgICBibGVuZFN0YXRlRXh0LmdldFNyY0NvbG9ySW5kZXhlZCgw
KSwgYmxlbmRTdGF0ZUV4dC5nZXREc3RDb2xvckluZGV4ZWQoMCksCisgICAgICAgICAgICBibGVu
ZFN0YXRlRXh0LmdldFNyY0FscGhhSW5kZXhlZCgwKSwgYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBo
YUluZGV4ZWQoMCkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvLyBHZXQgRHJh
d0J1ZmZlck1hc2sgb2YgYnVmZmVycyB3aXRoIGRpZmZlcmVudCBibGVuZCBmYWN0b3JzCisgICAg
ICAgIGdsOjpEcmF3QnVmZmVyTWFzayBkaWZmTWFzayA9CisgICAgICAgICAgICBtQmxlbmRTdGF0
ZUV4dC5jb21wYXJlRmFjdG9ycyhibGVuZFN0YXRlRXh0Lm1TcmNDb2xvciwgYmxlbmRTdGF0ZUV4
dC5tRHN0Q29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
bGVuZFN0YXRlRXh0Lm1TcmNBbHBoYSwgYmxlbmRTdGF0ZUV4dC5tRHN0QWxwaGEpOworICAgICAg
ICBzaXplX3QgZGlmZkNvdW50ID0gZGlmZk1hc2suY291bnQoKTsKKworICAgICAgICAvLyBDaGVj
ayBpZiBzZXR0aW5nIGFsbCBidWZmZXJzIHRvIHRoZSBzYW1lIHZhbHVlIHJlZHVjZXMgdGhlIG51
bWJlciBvZiBzdWJzZXF1ZW50IGluZGV4ZWQKKyAgICAgICAgLy8gY29tbWFuZHMuIEltcGxpY2l0
bHkgaGFuZGxlcyB0aGUgY2FzZSB3aGVuIHRoZSBuZXcgYmxlbmQgZnVuY3Rpb24gc3RhdGUgaXMg
dGhlIHNhbWUgZm9yCisgICAgICAgIC8vIGFsbCBidWZmZXJzLgorICAgICAgICBpZiAoZGlmZkNv
dW50ID4gMSkKKyAgICAgICAgeworICAgICAgICAgICAgYm9vbCBmb3VuZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBmYWxzZTsKKyAgICAgICAgICAgIGdsOjpC
bGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBlIGNvbW1vblNyY0NvbG9yID0gMDsKKyAg
ICAgICAgICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBlIGNvbW1vbkRz
dENvbG9yID0gMDsKKyAgICAgICAgICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdl
OjpUeXBlIGNvbW1vblNyY0FscGhhID0gMDsKKyAgICAgICAgICAgIGdsOjpCbGVuZFN0YXRlRXh0
OjpGYWN0b3JTdG9yYWdlOjpUeXBlIGNvbW1vbkRzdEFscGhhID0gMDsKKyAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbUJsZW5kU3RhdGVFeHQubU1heERyYXdCdWZmZXJzIC0gMTsg
aSsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRl
RXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBlIHRlbXBDb21tb25TcmNDb2xvciA9CisgICAgICAgICAg
ICAgICAgICAgIGJsZW5kU3RhdGVFeHQuZXhwYW5kU3JjQ29sb3JJbmRleGVkKGkpOworICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBlIHRl
bXBDb21tb25Ec3RDb2xvciA9CisgICAgICAgICAgICAgICAgICAgIGJsZW5kU3RhdGVFeHQuZXhw
YW5kRHN0Q29sb3JJbmRleGVkKGkpOworICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0
YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBlIHRlbXBDb21tb25TcmNBbHBoYSA9CisgICAgICAg
ICAgICAgICAgICAgIGJsZW5kU3RhdGVFeHQuZXhwYW5kU3JjQWxwaGFJbmRleGVkKGkpOworICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpUeXBl
IHRlbXBDb21tb25Ec3RBbHBoYSA9CisgICAgICAgICAgICAgICAgICAgIGJsZW5kU3RhdGVFeHQu
ZXhwYW5kRHN0QWxwaGFJbmRleGVkKGkpOworCisgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkRy
YXdCdWZmZXJNYXNrIHRlbXBEaWZmTWFzayA9IGJsZW5kU3RhdGVFeHQuY29tcGFyZUZhY3RvcnMo
CisgICAgICAgICAgICAgICAgICAgIHRlbXBDb21tb25TcmNDb2xvciwgdGVtcENvbW1vbkRzdENv
bG9yLCB0ZW1wQ29tbW9uU3JjQWxwaGEsIHRlbXBDb21tb25Ec3RBbHBoYSk7CisKKyAgICAgICAg
ICAgICAgICBjb25zdCBzaXplX3QgdGVtcERpZmZDb3VudCA9IHRlbXBEaWZmTWFzay5jb3VudCgp
OworICAgICAgICAgICAgICAgIGlmICh0ZW1wRGlmZkNvdW50IDwgZGlmZkNvdW50KQorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZm91bmQgICAgICAgICAgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICBkaWZmTWFzayAgICAgICA9IHRlbXBEaWZmTWFzazsKKyAgICAg
ICAgICAgICAgICAgICAgZGlmZkNvdW50ICAgICAgPSB0ZW1wRGlmZkNvdW50OworICAgICAgICAg
ICAgICAgICAgICBjb21tb25TcmNDb2xvciA9IHRlbXBDb21tb25TcmNDb2xvcjsKKyAgICAgICAg
ICAgICAgICAgICAgY29tbW9uRHN0Q29sb3IgPSB0ZW1wQ29tbW9uRHN0Q29sb3I7CisgICAgICAg
ICAgICAgICAgICAgIGNvbW1vblNyY0FscGhhID0gdGVtcENvbW1vblNyY0FscGhhOworICAgICAg
ICAgICAgICAgICAgICBjb21tb25Ec3RBbHBoYSA9IHRlbXBDb21tb25Ec3RBbHBoYTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHRlbXBEaWZmQ291bnQgPT0gMCkKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7ICAvLyB0aGUgYmxlbmQgZmFjdG9y
cyBhcmUgdGhlIHNhbWUgZm9yIGFsbCBidWZmZXJzCisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZm91bmQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbUZ1bmN0aW9ucy0+YmxlbmRGdW5jU2VwYXJh
dGUoCisgICAgICAgICAgICAgICAgICAgIFRvR0xlbnVtKGdsOjpCbGVuZFN0YXRlRXh0OjpGYWN0
b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoMCwgY29tbW9uU3JjQ29sb3IpKSwKKyAgICAgICAg
ICAgICAgICAgICAgVG9HTGVudW0oZ2w6OkJsZW5kU3RhdGVFeHQ6OkZhY3RvclN0b3JhZ2U6Okdl
dFZhbHVlSW5kZXhlZCgwLCBjb21tb25Ec3RDb2xvcikpLAorICAgICAgICAgICAgICAgICAgICBU
b0dMZW51bShnbDo6QmxlbmRTdGF0ZUV4dDo6RmFjdG9yU3RvcmFnZTo6R2V0VmFsdWVJbmRleGVk
KDAsIGNvbW1vblNyY0FscGhhKSksCisgICAgICAgICAgICAgICAgICAgIFRvR0xlbnVtKGdsOjpC
bGVuZFN0YXRlRXh0OjpGYWN0b3JTdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoMCwgY29tbW9uRHN0
QWxwaGEpKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgICAgICBtTG9jYWxEaXJ0
eUJpdHMuc2V0KGdsOjpTdGF0ZTo6RElSVFlfQklUX0JMRU5EX0ZVTkNTKTsKKyAgICAgICAgZm9y
IChzaXplX3QgZHJhd0J1ZmZlckluZGV4IDogZGlmZk1hc2spCisgICAgICAgIHsKKyAgICAgICAg
ICAgIG1GdW5jdGlvbnMtPmJsZW5kRnVuY1NlcGFyYXRlaShzdGF0aWNfY2FzdDxHTHVpbnQ+KGRy
YXdCdWZmZXJJbmRleCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmxlbmRTdGF0ZUV4dC5nZXRTcmNDb2xvckluZGV4ZWQoZHJhd0J1ZmZlckluZGV4KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZFN0YXRlRXh0Lmdl
dERzdENvbG9ySW5kZXhlZChkcmF3QnVmZmVySW5kZXgpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJsZW5kU3RhdGVFeHQuZ2V0U3JjQWxwaGFJbmRleGVkKGRy
YXdCdWZmZXJJbmRleCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmxlbmRTdGF0ZUV4dC5nZXREc3RBbHBoYUluZGV4ZWQoZHJhd0J1ZmZlckluZGV4KSk7Cisg
ICAgICAgIH0KICAgICB9CisgICAgbUJsZW5kU3RhdGVFeHQubVNyY0NvbG9yID0gYmxlbmRTdGF0
ZUV4dC5tU3JjQ29sb3I7CisgICAgbUJsZW5kU3RhdGVFeHQubURzdENvbG9yID0gYmxlbmRTdGF0
ZUV4dC5tRHN0Q29sb3I7CisgICAgbUJsZW5kU3RhdGVFeHQubVNyY0FscGhhID0gYmxlbmRTdGF0
ZUV4dC5tU3JjQWxwaGE7CisgICAgbUJsZW5kU3RhdGVFeHQubURzdEFscGhhID0gYmxlbmRTdGF0
ZUV4dC5tRHN0QWxwaGE7CisgICAgbUxvY2FsRGlydHlCaXRzLnNldChnbDo6U3RhdGU6OkRJUlRZ
X0JJVF9CTEVORF9GVU5DUyk7CiB9CiAKLXZvaWQgU3RhdGVNYW5hZ2VyR0w6OnNldEJsZW5kRXF1
YXRpb25zKEdMZW51bSBibGVuZEVxdWF0aW9uUkdCLCBHTGVudW0gYmxlbmRFcXVhdGlvbkFscGhh
KQordm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0QmxlbmRFcXVhdGlvbnMoY29uc3QgZ2w6OkJsZW5k
U3RhdGVFeHQgJmJsZW5kU3RhdGVFeHQpCiB7Ci0gICAgaWYgKG1CbGVuZEVxdWF0aW9uUkdCICE9
IGJsZW5kRXF1YXRpb25SR0IgfHwgbUJsZW5kRXF1YXRpb25BbHBoYSAhPSBibGVuZEVxdWF0aW9u
QWxwaGEpCisgICAgaWYgKG1CbGVuZFN0YXRlRXh0Lm1FcXVhdGlvbkNvbG9yID09IGJsZW5kU3Rh
dGVFeHQubUVxdWF0aW9uQ29sb3IgJiYKKyAgICAgICAgbUJsZW5kU3RhdGVFeHQubUVxdWF0aW9u
QWxwaGEgPT0gYmxlbmRTdGF0ZUV4dC5tRXF1YXRpb25BbHBoYSkKKyAgICB7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1JbmRlcGVuZGVudEJsZW5kU3RhdGVzKQorICAgIHsK
KyAgICAgICAgbUZ1bmN0aW9ucy0+YmxlbmRFcXVhdGlvblNlcGFyYXRlKGJsZW5kU3RhdGVFeHQu
Z2V0RXF1YXRpb25Db2xvckluZGV4ZWQoMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBibGVuZFN0YXRlRXh0LmdldEVxdWF0aW9uQWxwaGFJbmRleGVkKDApKTsK
KyAgICB9CisgICAgZWxzZQogICAgIHsKLSAgICAgICAgbUJsZW5kRXF1YXRpb25SR0IgICA9IGJs
ZW5kRXF1YXRpb25SR0I7Ci0gICAgICAgIG1CbGVuZEVxdWF0aW9uQWxwaGEgPSBibGVuZEVxdWF0
aW9uQWxwaGE7CisgICAgICAgIC8vIEdldCBEcmF3QnVmZmVyTWFzayBvZiBidWZmZXJzIHdpdGgg
ZGlmZmVyZW50IGJsZW5kIGVxdWF0aW9ucworICAgICAgICBnbDo6RHJhd0J1ZmZlck1hc2sgZGlm
Zk1hc2sgPSBtQmxlbmRTdGF0ZUV4dC5jb21wYXJlRXF1YXRpb25zKGJsZW5kU3RhdGVFeHQubUVx
dWF0aW9uQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZUV4dC5tRXF1YXRpb25BbHBoYSk7
CisgICAgICAgIHNpemVfdCBkaWZmQ291bnQgICAgICAgICAgICA9IGRpZmZNYXNrLmNvdW50KCk7
CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgc2V0dGluZyBhbGwgYnVmZmVycyB0byB0aGUgc2FtZSB2
YWx1ZSByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygc3Vic2VxdWVudCBpbmRleGVkCisgICAgICAgIC8v
IGNvbW1hbmRzLiBJbXBsaWNpdGx5IGhhbmRsZXMgdGhlIGNhc2Ugd2hlbiB0aGUgbmV3IGJsZW5k
IGVxdWF0aW9uIHN0YXRlIGlzIHRoZSBzYW1lIGZvcgorICAgICAgICAvLyBhbGwgYnVmZmVycy4K
KyAgICAgICAgaWYgKGRpZmZDb3VudCA+IDEpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJvb2wg
Zm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IGZhbHNlOworICAgICAgICAgICAgZ2w6OkJsZW5kU3RhdGVFeHQ6OkVxdWF0aW9uU3RvcmFnZTo6
VHlwZSBjb21tb25FcXVhdGlvbkNvbG9yID0gMDsKKyAgICAgICAgICAgIGdsOjpCbGVuZFN0YXRl
RXh0OjpFcXVhdGlvblN0b3JhZ2U6OlR5cGUgY29tbW9uRXF1YXRpb25BbHBoYSA9IDA7CisgICAg
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1CbGVuZFN0YXRlRXh0Lm1NYXhEcmF3QnVm
ZmVycyAtIDE7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zdCBnbDo6
QmxlbmRTdGF0ZUV4dDo6RXF1YXRpb25TdG9yYWdlOjpUeXBlIHRlbXBDb21tb25FcXVhdGlvbkNv
bG9yID0KKyAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZUV4dC5leHBhbmRFcXVhdGlvbkNv
bG9ySW5kZXhlZChpKTsKKyAgICAgICAgICAgICAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dDo6
RXF1YXRpb25TdG9yYWdlOjpUeXBlIHRlbXBDb21tb25FcXVhdGlvbkFscGhhID0KKyAgICAgICAg
ICAgICAgICAgICAgYmxlbmRTdGF0ZUV4dC5leHBhbmRFcXVhdGlvbkFscGhhSW5kZXhlZChpKTsK
IAotICAgICAgICBtRnVuY3Rpb25zLT5ibGVuZEVxdWF0aW9uU2VwYXJhdGUobUJsZW5kRXF1YXRp
b25SR0IsIG1CbGVuZEVxdWF0aW9uQWxwaGEpOworICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpE
cmF3QnVmZmVyTWFzayB0ZW1wRGlmZk1hc2sgPSBibGVuZFN0YXRlRXh0LmNvbXBhcmVFcXVhdGlv
bnMoCisgICAgICAgICAgICAgICAgICAgIHRlbXBDb21tb25FcXVhdGlvbkNvbG9yLCB0ZW1wQ29t
bW9uRXF1YXRpb25BbHBoYSk7CisKKyAgICAgICAgICAgICAgICBjb25zdCBzaXplX3QgdGVtcERp
ZmZDb3VudCA9IHRlbXBEaWZmTWFzay5jb3VudCgpOworICAgICAgICAgICAgICAgIGlmICh0ZW1w
RGlmZkNvdW50IDwgZGlmZkNvdW50KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgZm91bmQgICAgICAgICAgICAgICA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGRp
ZmZNYXNrICAgICAgICAgICAgPSB0ZW1wRGlmZk1hc2s7CisgICAgICAgICAgICAgICAgICAgIGRp
ZmZDb3VudCAgICAgICAgICAgPSB0ZW1wRGlmZkNvdW50OworICAgICAgICAgICAgICAgICAgICBj
b21tb25FcXVhdGlvbkNvbG9yID0gdGVtcENvbW1vbkVxdWF0aW9uQ29sb3I7CisgICAgICAgICAg
ICAgICAgICAgIGNvbW1vbkVxdWF0aW9uQWxwaGEgPSB0ZW1wQ29tbW9uRXF1YXRpb25BbHBoYTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHRlbXBEaWZmQ291bnQgPT0gMCkKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7ICAvLyB0aGUgbmV3IGJs
ZW5kIGVxdWF0aW9ucyBhcmUgdGhlIHNhbWUgZm9yIGFsbCBidWZmZXJzCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoZm91bmQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbUZ1bmN0aW9ucy0+Ymxl
bmRFcXVhdGlvblNlcGFyYXRlKAorICAgICAgICAgICAgICAgICAgICBUb0dMZW51bShnbDo6Qmxl
bmRTdGF0ZUV4dDo6RXF1YXRpb25TdG9yYWdlOjpHZXRWYWx1ZUluZGV4ZWQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAwLCBjb21tb25FcXVhdGlvbkNvbG9yKSksCisgICAgICAgICAgICAgICAg
ICAgIFRvR0xlbnVtKGdsOjpCbGVuZFN0YXRlRXh0OjpFcXVhdGlvblN0b3JhZ2U6OkdldFZhbHVl
SW5kZXhlZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIDAsIGNvbW1vbkVxdWF0aW9uQWxwaGEp
KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgICAgICBtTG9jYWxEaXJ0eUJpdHMu
c2V0KGdsOjpTdGF0ZTo6RElSVFlfQklUX0JMRU5EX0VRVUFUSU9OUyk7CisgICAgICAgIGZvciAo
c2l6ZV90IGRyYXdCdWZmZXJJbmRleCA6IGRpZmZNYXNrKQorICAgICAgICB7CisgICAgICAgICAg
ICBtRnVuY3Rpb25zLT5ibGVuZEVxdWF0aW9uU2VwYXJhdGVpKAorICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PEdMdWludD4oZHJhd0J1ZmZlckluZGV4KSwKKyAgICAgICAgICAgICAgICBibGVu
ZFN0YXRlRXh0LmdldEVxdWF0aW9uQ29sb3JJbmRleGVkKGRyYXdCdWZmZXJJbmRleCksCisgICAg
ICAgICAgICAgICAgYmxlbmRTdGF0ZUV4dC5nZXRFcXVhdGlvbkFscGhhSW5kZXhlZChkcmF3QnVm
ZmVySW5kZXgpKTsKKyAgICAgICAgfQogICAgIH0KKyAgICBtQmxlbmRTdGF0ZUV4dC5tRXF1YXRp
b25Db2xvciA9IGJsZW5kU3RhdGVFeHQubUVxdWF0aW9uQ29sb3I7CisgICAgbUJsZW5kU3RhdGVF
eHQubUVxdWF0aW9uQWxwaGEgPSBibGVuZFN0YXRlRXh0Lm1FcXVhdGlvbkFscGhhOworICAgIG1M
b2NhbERpcnR5Qml0cy5zZXQoZ2w6OlN0YXRlOjpESVJUWV9CSVRfQ09MT1JfTUFTSyk7CiB9CiAK
IHZvaWQgU3RhdGVNYW5hZ2VyR0w6OnNldENvbG9yTWFzayhib29sIHJlZCwgYm9vbCBncmVlbiwg
Ym9vbCBibHVlLCBib29sIGFscGhhKQogewotICAgIGlmIChtQ29sb3JNYXNrUmVkICE9IHJlZCB8
fCBtQ29sb3JNYXNrR3JlZW4gIT0gZ3JlZW4gfHwgbUNvbG9yTWFza0JsdWUgIT0gYmx1ZSB8fAot
ICAgICAgICBtQ29sb3JNYXNrQWxwaGEgIT0gYWxwaGEpCisgICAgY29uc3QgZ2w6OkJsZW5kU3Rh
dGVFeHQ6OkNvbG9yTWFza1N0b3JhZ2U6OlR5cGUgbWFzayA9CisgICAgICAgIG1CbGVuZFN0YXRl
RXh0LmV4cGFuZENvbG9yTWFza1ZhbHVlKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKKyAgICBp
ZiAobUJsZW5kU3RhdGVFeHQubUNvbG9yTWFzayAhPSBtYXNrKQogICAgIHsKLSAgICAgICAgbUNv
bG9yTWFza1JlZCAgID0gcmVkOwotICAgICAgICBtQ29sb3JNYXNrR3JlZW4gPSBncmVlbjsKLSAg
ICAgICAgbUNvbG9yTWFza0JsdWUgID0gYmx1ZTsKLSAgICAgICAgbUNvbG9yTWFza0FscGhhID0g
YWxwaGE7Ci0gICAgICAgIG1GdW5jdGlvbnMtPmNvbG9yTWFzayhtQ29sb3JNYXNrUmVkLCBtQ29s
b3JNYXNrR3JlZW4sIG1Db2xvck1hc2tCbHVlLCBtQ29sb3JNYXNrQWxwaGEpOwotCisgICAgICAg
IG1GdW5jdGlvbnMtPmNvbG9yTWFzayhyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CisgICAgICAg
IG1CbGVuZFN0YXRlRXh0Lm1Db2xvck1hc2sgPSBtYXNrOwogICAgICAgICBtTG9jYWxEaXJ0eUJp
dHMuc2V0KGdsOjpTdGF0ZTo6RElSVFlfQklUX0NPTE9SX01BU0spOwogICAgIH0KIH0KQEAgLTE0
MjAsMzkgKzE2MDQsNDEgQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0TGluZVdpZHRoKGZsb2F0
IHdpZHRoKQogICAgIH0KIH0KIAotdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0UHJpbWl0aXZlUmVz
dGFydEVuYWJsZWQoYm9vbCBlbmFibGVkKQorYW5nbGU6OlJlc3VsdCBTdGF0ZU1hbmFnZXJHTDo6
c2V0UHJpbWl0aXZlUmVzdGFydEVuYWJsZWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGJv
b2wgZW5hYmxlZCkKIHsKICAgICBpZiAobVByaW1pdGl2ZVJlc3RhcnRFbmFibGVkICE9IGVuYWJs
ZWQpCiAgICAgewotICAgICAgICBtUHJpbWl0aXZlUmVzdGFydEVuYWJsZWQgPSBlbmFibGVkOwot
CiAgICAgICAgIEdMZW51bSBjYXAgPSBtRmVhdHVyZXMuZW11bGF0ZVByaW1pdGl2ZVJlc3RhcnRG
aXhlZEluZGV4LmVuYWJsZWQKICAgICAgICAgICAgICAgICAgICAgICAgICA/IEdMX1BSSU1JVElW
RV9SRVNUQVJUCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBHTF9QUklNSVRJVkVfUkVTVEFS
VF9GSVhFRF9JTkRFWDsKIAotICAgICAgICBpZiAobVByaW1pdGl2ZVJlc3RhcnRFbmFibGVkKQor
ICAgICAgICBpZiAoZW5hYmxlZCkKICAgICAgICAgewotICAgICAgICAgICAgbUZ1bmN0aW9ucy0+
ZW5hYmxlKGNhcCk7CisgICAgICAgICAgICBBTkdMRV9HTF9UUlkoY29udGV4dCwgbUZ1bmN0aW9u
cy0+ZW5hYmxlKGNhcCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAg
ICAgICAgICAgbUZ1bmN0aW9ucy0+ZGlzYWJsZShjYXApOworICAgICAgICAgICAgQU5HTEVfR0xf
VFJZKGNvbnRleHQsIG1GdW5jdGlvbnMtPmRpc2FibGUoY2FwKSk7CiAgICAgICAgIH0KKyAgICAg
ICAgbVByaW1pdGl2ZVJlc3RhcnRFbmFibGVkID0gZW5hYmxlZDsKIAogICAgICAgICBtTG9jYWxE
aXJ0eUJpdHMuc2V0KGdsOjpTdGF0ZTo6RElSVFlfQklUX1BSSU1JVElWRV9SRVNUQVJUX0VOQUJM
RUQpOwogICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAot
dm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0UHJpbWl0aXZlUmVzdGFydEluZGV4KEdMdWludCBpbmRl
eCkKK2FuZ2xlOjpSZXN1bHQgU3RhdGVNYW5hZ2VyR0w6OnNldFByaW1pdGl2ZVJlc3RhcnRJbmRl
eChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0x1aW50IGluZGV4KQogewogICAgIGlmICht
UHJpbWl0aXZlUmVzdGFydEluZGV4ICE9IGluZGV4KQogICAgIHsKKyAgICAgICAgQU5HTEVfR0xf
VFJZKGNvbnRleHQsIG1GdW5jdGlvbnMtPnByaW1pdGl2ZVJlc3RhcnRJbmRleChpbmRleCkpOwog
ICAgICAgICBtUHJpbWl0aXZlUmVzdGFydEluZGV4ID0gaW5kZXg7CiAKLSAgICAgICAgbUZ1bmN0
aW9ucy0+cHJpbWl0aXZlUmVzdGFydEluZGV4KGluZGV4KTsKLQogICAgICAgICAvLyBObyBkaXJ0
eSBiaXQgZm9yIHRoaXMgc3RhdGUsIGl0IGlzIG5vdCBleHBvc2VkIHRvIHRoZSBmcm9udGVuZC4K
ICAgICB9CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIHZvaWQg
U3RhdGVNYW5hZ2VyR0w6OnNldENsZWFyRGVwdGgoZmxvYXQgY2xlYXJEZXB0aCkKQEAgLTE1MTcs
MTYgKzE3MDMsMTYgQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c2V0Q2xlYXJTdGVuY2lsKEdMaW50
IGNsZWFyU3RlbmNpbCkKICAgICB9CiB9CiAKLXZvaWQgU3RhdGVNYW5hZ2VyR0w6OnN5bmNTdGF0
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6U3RhdGU6OkRpcnR5Qml0cyAmZ2xEaXJ0eUJpdHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlN0YXRlOjpEaXJ0eUJpdHMgJmJpdE1hc2sp
CithbmdsZTo6UmVzdWx0IFN0YXRlTWFuYWdlckdMOjpzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgZ2w6OlN0YXRlOjpEaXJ0eUJpdHMgJmdsRGlydHlCaXRzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTdGF0ZTo6RGlydHlCaXRzICZiaXRNYXNr
KQogewogICAgIGNvbnN0IGdsOjpTdGF0ZSAmc3RhdGUgPSBjb250ZXh0LT5nZXRTdGF0ZSgpOwog
CiAgICAgY29uc3QgZ2w6OlN0YXRlOjpEaXJ0eUJpdHMgZ2xBbmRMb2NhbERpcnR5Qml0cyA9IChn
bERpcnR5Qml0cyB8IG1Mb2NhbERpcnR5Qml0cykgJiBiaXRNYXNrOwogICAgIGlmICghZ2xBbmRM
b2NhbERpcnR5Qml0cy5hbnkoKSkKICAgICB7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KIAogICAgIC8vIFRPRE8oam1hZGls
bCk6IEludmVzdGlnYXRlIG9ubHkgc3luY2luZyB2ZXJ0ZXggc3RhdGUgZm9yIGFjdGl2ZSBhdHRy
aWJ1dGVzCkBAIC0xNTU0LDMzICsxNzQwLDM2IEBAIHZvaWQgU3RhdGVNYW5hZ2VyR0w6OnN5bmNT
dGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICBzZXREZXB0
aFJhbmdlKHN0YXRlLmdldE5lYXJQbGFuZSgpLCBzdGF0ZS5nZXRGYXJQbGFuZSgpKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRf
QkxFTkRfRU5BQkxFRDoKLSAgICAgICAgICAgICAgICBzZXRCbGVuZEVuYWJsZWQoc3RhdGUuaXNC
bGVuZEVuYWJsZWQoKSk7CisgICAgICAgICAgICAgICAgaWYgKG1JbmRlcGVuZGVudEJsZW5kU3Rh
dGVzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0QmxlbmRFbmFi
bGVkSW5kZXhlZChzdGF0ZS5nZXRCbGVuZEVuYWJsZWREcmF3QnVmZmVyTWFzaygpKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgc2V0QmxlbmRFbmFibGVkKHN0YXRlLmlzQmxlbmRFbmFibGVkKCkp
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfQkxFTkRfQ09MT1I6CiAgICAgICAgICAgICAgICAg
c2V0QmxlbmRDb2xvcihzdGF0ZS5nZXRCbGVuZENvbG9yKCkpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9CTEVORF9GVU5DUzoK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zdCBhdXRvICZibGVuZFN0YXRlID0g
c3RhdGUuZ2V0QmxlbmRTdGF0ZSgpOwotICAgICAgICAgICAgICAgIHNldEJsZW5kRnVuY3MoYmxl
bmRTdGF0ZS5zb3VyY2VCbGVuZFJHQiwgYmxlbmRTdGF0ZS5kZXN0QmxlbmRSR0IsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBibGVuZFN0YXRlLnNvdXJjZUJsZW5kQWxwaGEsIGJsZW5k
U3RhdGUuZGVzdEJsZW5kQWxwaGEpOworICAgICAgICAgICAgICAgIHNldEJsZW5kRnVuY3Moc3Rh
dGUuZ2V0QmxlbmRTdGF0ZUV4dCgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfQkxFTkRfRVFVQVRJ
T05TOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8gJmJsZW5kU3Rh
dGUgPSBzdGF0ZS5nZXRCbGVuZFN0YXRlKCk7Ci0gICAgICAgICAgICAgICAgc2V0QmxlbmRFcXVh
dGlvbnMoYmxlbmRTdGF0ZS5ibGVuZEVxdWF0aW9uUkdCLCBibGVuZFN0YXRlLmJsZW5kRXF1YXRp
b25BbHBoYSk7CisgICAgICAgICAgICAgICAgc2V0QmxlbmRFcXVhdGlvbnMoc3RhdGUuZ2V0Qmxl
bmRTdGF0ZUV4dCgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfQ09MT1JfTUFTSzoKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyID0gc3Rh
dGUuZ2V0RHJhd0ZyYW1lYnVmZmVyKCk7Ci0gICAgICAgICAgICAgICAgRnJhbWVidWZmZXJHTCAq
ZnJhbWVidWZmZXJHTCA9IEdldEltcGxBczxGcmFtZWJ1ZmZlckdMPihmcmFtZWJ1ZmZlcik7Cisg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciA9IHN0YXRl
LmdldERyYXdGcmFtZWJ1ZmZlcigpOworICAgICAgICAgICAgICAgIGNvbnN0IEZyYW1lYnVmZmVy
R0wgKmZyYW1lYnVmZmVyR0wgPSBHZXRJbXBsQXM8RnJhbWVidWZmZXJHTD4oZnJhbWVidWZmZXIp
OworICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgZGlzYWJsZUFscGhhV3JpdGUgPQorICAgICAg
ICAgICAgICAgICAgICBmcmFtZWJ1ZmZlckdMLT5oYXNFbXVsYXRlZEFscGhhQ2hhbm5lbFRleHR1
cmVBdHRhY2htZW50KCk7CiAKLSAgICAgICAgICAgICAgICBjb25zdCBhdXRvICZibGVuZFN0YXRl
ID0gc3RhdGUuZ2V0QmxlbmRTdGF0ZSgpOwotICAgICAgICAgICAgICAgIHNldENvbG9yTWFza0Zv
ckZyYW1lYnVmZmVyKGJsZW5kU3RhdGUuY29sb3JNYXNrUmVkLCBibGVuZFN0YXRlLmNvbG9yTWFz
a0dyZWVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsZW5k
U3RhdGUuY29sb3JNYXNrQmx1ZSwgYmxlbmRTdGF0ZS5jb2xvck1hc2tBbHBoYSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZWJ1ZmZlckdMKTsKKyAgICAg
ICAgICAgICAgICBzZXRDb2xvck1hc2tGb3JGcmFtZWJ1ZmZlcihzdGF0ZS5nZXRCbGVuZFN0YXRl
RXh0KCksIGRpc2FibGVBbHBoYVdyaXRlKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfU0FNUExFX0FM
UEhBX1RPX0NPVkVSQUdFX0VOQUJMRUQ6CkBAIC0xNjY2LDcgKzE4NTUsNyBAQCB2b2lkIFN0YXRl
TWFuYWdlckdMOjpzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgc2V0TGluZVdpZHRoKHN0YXRlLmdldExpbmVXaWR0aCgpKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfUFJJTUlU
SVZFX1JFU1RBUlRfRU5BQkxFRDoKLSAgICAgICAgICAgICAgICBzZXRQcmltaXRpdmVSZXN0YXJ0
RW5hYmxlZChzdGF0ZS5pc1ByaW1pdGl2ZVJlc3RhcnRFbmFibGVkKCkpOworICAgICAgICAgICAg
ICAgIEFOR0xFX1RSWShzZXRQcmltaXRpdmVSZXN0YXJ0RW5hYmxlZChjb250ZXh0LCBzdGF0ZS5p
c1ByaW1pdGl2ZVJlc3RhcnRFbmFibGVkKCkpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfQ0xFQVJfQ09MT1I6CiAgICAgICAg
ICAgICAgICAgc2V0Q2xlYXJDb2xvcihzdGF0ZS5nZXRDb2xvckNsZWFyVmFsdWUoKSk7CkBAIC0x
NjkyLDEyICsxODgxLDYgQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c3luY1N0YXRlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJ
VF9ESVRIRVJfRU5BQkxFRDoKICAgICAgICAgICAgICAgICBzZXREaXRoZXJFbmFibGVkKHN0YXRl
LmlzRGl0aGVyRW5hYmxlZCgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfR0VORVJBVEVfTUlQTUFQX0hJTlQ6Ci0gICAgICAg
ICAgICAgICAgLy8gVE9ETyhqbWFkaWxsKTogaW1wbGVtZW50IHRoaXMKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfU0hBREVSX0RF
UklWQVRJVkVfSElOVDoKLSAgICAgICAgICAgICAgICAvLyBUT0RPKGptYWRpbGwpOiBpbXBsZW1l
bnQgdGhpcwotICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3Rh
dGU6OkRJUlRZX0JJVF9SRUFEX0ZSQU1FQlVGRkVSX0JJTkRJTkc6CiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgZ2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciA9IHN0YXRlLmdldFJl
YWRGcmFtZWJ1ZmZlcigpOwpAQCAtMTg3Miw2ICsyMDU1LDEyIEBAIHZvaWQgU3RhdGVNYW5hZ2Vy
R0w6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIGNh
c2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfUFJPVk9LSU5HX1ZFUlRFWDoKICAgICAgICAgICAgICAg
ICBzZXRQcm92b2tpbmdWZXJ0ZXgoVG9HTGVudW0oc3RhdGUuZ2V0UHJvdm9raW5nVmVydGV4KCkp
KTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpE
SVJUWV9CSVRfRVhURU5ERUQ6CisgICAgICAgICAgICAgICAgLy8gSGFuZGxpbmcgY2xpcCBkaXN0
YW5jZSBlbmFibGVkIGZsYWdzOgorICAgICAgICAgICAgICAgIHNldENsaXBEaXN0YW5jZXNFbmFi
bGUoc3RhdGUuZ2V0RW5hYmxlZENsaXBEaXN0YW5jZXMoKSk7CisgICAgICAgICAgICAgICAgLy8g
VE9ETyhqbWFkaWxsKTogaGFuZGxlIG1pcG1hcCBnZW5lcmF0aW9uIGhpbnQKKyAgICAgICAgICAg
ICAgICAvLyBUT0RPKGptYWRpbGwpOiBoYW5kbGUgc2hhZGVyIGRlcml2YXRpdmUgaGludAorICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAg
ICBVTlJFQUNIQUJMRSgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTg3OSw2ICsyMDY4
LDggQEAgdm9pZCBTdGF0ZU1hbmFnZXJHTDo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgIH0KIAogICAgIG1Mb2NhbERpcnR5Qml0cyAmPSB+KGJpdE1hc2spOworCisg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiB2b2lkIFN0YXRlTWFuYWdl
ckdMOjpzZXRGcmFtZWJ1ZmZlclNSR0JFbmFibGVkKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LCBib29sIGVuYWJsZWQpCkBAIC0xOTIyLDE4ICsyMTEzLDc1IEBAIHZvaWQgU3RhdGVNYW5hZ2Vy
R0w6OnNldEZyYW1lYnVmZmVyU1JHQkVuYWJsZWRGb3JGcmFtZWJ1ZmZlcihjb25zdCBnbDo6Q29u
dGV4dCAqCiAgICAgfQogfQogCi12b2lkIFN0YXRlTWFuYWdlckdMOjpzZXRDb2xvck1hc2tGb3JG
cmFtZWJ1ZmZlcihib29sIHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgZ3JlZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIGJsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGFscGhhLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRnJhbWVidWZmZXJHTCAqZnJhbWVidWZmZXIp
Cit2b2lkIFN0YXRlTWFuYWdlckdMOjpzZXRDb2xvck1hc2tGb3JGcmFtZWJ1ZmZlcihjb25zdCBn
bDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgZGlzYWJsZUFscGhhKQogewotICAg
IGJvb2wgbW9kaWZpZWRBbHBoYU1hc2sgPSBhbHBoYTsKLSAgICBpZiAoZnJhbWVidWZmZXItPmhh
c0VtdWxhdGVkQWxwaGFDaGFubmVsVGV4dHVyZUF0dGFjaG1lbnQoKSkKKyAgICBib29sIHIsIGcs
IGIsIGE7CisKKyAgICAvLyBHaXZlbiB0aGF0IGRpc2FibGVBbHBoYSBjYW4gYmUgdHJ1ZSBvbmx5
IG9uIG1hY09TIGJhY2tidWZmZXJzIGFuZCBjb2xvciBtYXNrIGlzIHJlLXN5bmNlZCBvbgorICAg
IC8vIGJvdW5kIGRyYXcgZnJhbWVidWZmZXIgY2hhbmdlLCBzd2l0Y2ggYWxsIGRyYXcgYnVmZmVy
cyBjb2xvciBtYXNrcyB0byBhdm9pZCBzcGVjaWFsIGNhc2UKKyAgICAvLyBsYXRlci4KKyAgICBp
ZiAoIW1JbmRlcGVuZGVudEJsZW5kU3RhdGVzIHx8IGRpc2FibGVBbHBoYSkKICAgICB7Ci0gICAg
ICAgIG1vZGlmaWVkQWxwaGFNYXNrID0gZmFsc2U7CisgICAgICAgIGJsZW5kU3RhdGVFeHQuZ2V0
Q29sb3JNYXNrSW5kZXhlZCgwLCAmciwgJmcsICZiLCAmYSk7CisgICAgICAgIHNldENvbG9yTWFz
ayhyLCBnLCBiLCBkaXNhYmxlQWxwaGEgPyBmYWxzZSA6IGEpOworICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIHNldENvbG9yTWFzayhyZWQsIGdyZWVuLCBibHVlLCBtb2RpZmllZEFscGhhTWFz
ayk7CisKKyAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBtYXNrIGFscmVhZHkgbWF0Y2hlcyB0
aGUgbmV3IHN0YXRlCisgICAgaWYgKG1CbGVuZFN0YXRlRXh0Lm1Db2xvck1hc2sgPT0gYmxlbmRT
dGF0ZUV4dC5tQ29sb3JNYXNrKQorICAgIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IC8vIEdldCBEcmF3QnVmZmVyTWFzayBvZiBidWZmZXJzIHdpdGggZGlmZmVyZW50IGNvbG9yIG1h
c2tzCisgICAgZ2w6OkRyYXdCdWZmZXJNYXNrIGRpZmZNYXNrID0gbUJsZW5kU3RhdGVFeHQuY29t
cGFyZUNvbG9yTWFzayhibGVuZFN0YXRlRXh0Lm1Db2xvck1hc2spOworICAgIHNpemVfdCBkaWZm
Q291bnQgICAgICAgICAgICA9IGRpZmZNYXNrLmNvdW50KCk7CisKKyAgICAvLyBDaGVjayBpZiBz
ZXR0aW5nIGFsbCBidWZmZXJzIHRvIHRoZSBzYW1lIHZhbHVlIHJlZHVjZXMgdGhlIG51bWJlciBv
ZiBzdWJzZXF1ZW50IGluZGV4ZWQKKyAgICAvLyBjb21tYW5kcy4gSW1wbGljaXRseSBoYW5kbGVz
IHRoZSBjYXNlIHdoZW4gdGhlIG5ldyBtYXNrIGlzIHRoZSBzYW1lIGZvciBhbGwgYnVmZmVycy4K
KyAgICAvLyBGb3IgaW5zdGFuY2UsIGxldCdzIHNheSB0aGF0IHByZXZpb3VzbHkgc3luY2VkIG1h
c2sgaXMgY2NjY2ZmMDAgYW5kIHRoZSBuZXcgc3RhdGUgaXMKKyAgICAvLyBmZmVlZWVlZS4gSW5z
dGVhZCBvZiBjYWxsaW5nIGNvbG9yTWFza2kgOCB0aW1lcywgQU5HTEUgY2FuIHNldCBhbGwgYnVm
ZmVycyB0byBgZWAgYW5kIHRoZW4KKyAgICAvLyB1c2UgY29sb3JNYXNraSBvbmx5IHR3aWNlLiBP
biB0aGUgb3RoZXIgaGFuZCwgaWYgdGhlIG5ldyBzdGF0ZSBpcyBjY2VlZWUwMCwgYSBub24taW5k
ZXhlZAorICAgIC8vIGNhbGwgd2lsbCBpbmNyZWFzZSB0aGUgdG90YWwgbnVtYmVyIG9mIEdMIGNv
bW1hbmRzLgorICAgIGlmIChkaWZmQ291bnQgPiAxKQorICAgIHsKKyAgICAgICAgYm9vbCBmb3Vu
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gZmFsc2U7
CisgICAgICAgIGdsOjpCbGVuZFN0YXRlRXh0OjpDb2xvck1hc2tTdG9yYWdlOjpUeXBlIGNvbW1v
bkNvbG9yTWFzayA9IDA7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbUJsZW5kU3Rh
dGVFeHQubU1heERyYXdCdWZmZXJzIC0gMTsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgICBj
b25zdCBnbDo6QmxlbmRTdGF0ZUV4dDo6Q29sb3JNYXNrU3RvcmFnZTo6VHlwZSB0ZW1wQ29tbW9u
Q29sb3JNYXNrID0KKyAgICAgICAgICAgICAgICBibGVuZFN0YXRlRXh0LmV4cGFuZENvbG9yTWFz
a0luZGV4ZWQoaSk7CisgICAgICAgICAgICBjb25zdCBnbDo6RHJhd0J1ZmZlck1hc2sgdGVtcERp
ZmZNYXNrID0KKyAgICAgICAgICAgICAgICBibGVuZFN0YXRlRXh0LmNvbXBhcmVDb2xvck1hc2so
dGVtcENvbW1vbkNvbG9yTWFzayk7CisgICAgICAgICAgICBjb25zdCBzaXplX3QgdGVtcERpZmZD
b3VudCA9IHRlbXBEaWZmTWFzay5jb3VudCgpOworICAgICAgICAgICAgaWYgKHRlbXBEaWZmQ291
bnQgPCBkaWZmQ291bnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm91bmQgICAg
ICAgICAgID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBkaWZmTWFzayAgICAgICAgPSB0ZW1wRGlm
Zk1hc2s7CisgICAgICAgICAgICAgICAgZGlmZkNvdW50ICAgICAgID0gdGVtcERpZmZDb3VudDsK
KyAgICAgICAgICAgICAgICBjb21tb25Db2xvck1hc2sgPSB0ZW1wQ29tbW9uQ29sb3JNYXNrOwor
ICAgICAgICAgICAgICAgIGlmICh0ZW1wRGlmZkNvdW50ID09IDApCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBicmVhazsgIC8vIHRoZSBuZXcgbWFzayBpcyB0aGUgc2Ft
ZSBmb3IgYWxsIGJ1ZmZlcnMKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKGZvdW5kKQorICAgICAgICB7CisgICAgICAgICAgICBnbDo6Qmxl
bmRTdGF0ZUV4dDo6VW5wYWNrQ29sb3JNYXNrKGNvbW1vbkNvbG9yTWFzaywgJnIsICZnLCAmYiwg
JmEpOworICAgICAgICAgICAgbUZ1bmN0aW9ucy0+Y29sb3JNYXNrKHIsIGcsIGIsIGEpOworICAg
ICAgICB9CisgICAgfQorCisgICAgZm9yIChzaXplX3QgZHJhd0J1ZmZlckluZGV4IDogZGlmZk1h
c2spCisgICAgeworICAgICAgICBibGVuZFN0YXRlRXh0LmdldENvbG9yTWFza0luZGV4ZWQoZHJh
d0J1ZmZlckluZGV4LCAmciwgJmcsICZiLCAmYSk7CisgICAgICAgIG1GdW5jdGlvbnMtPmNvbG9y
TWFza2koc3RhdGljX2Nhc3Q8R0x1aW50PihkcmF3QnVmZmVySW5kZXgpLCByLCBnLCBiLCBhKTsK
KyAgICB9CisKKyAgICBtQmxlbmRTdGF0ZUV4dC5tQ29sb3JNYXNrID0gYmxlbmRTdGF0ZUV4dC5t
Q29sb3JNYXNrOworICAgIG1Mb2NhbERpcnR5Qml0cy5zZXQoZ2w6OlN0YXRlOjpESVJUWV9CSVRf
Q09MT1JfTUFTSyk7CiB9CiAKIHZvaWQgU3RhdGVNYW5hZ2VyR0w6OnNldERpdGhlckVuYWJsZWQo
Ym9vbCBlbmFibGVkKQpAQCAtMjAwOCw2ICsyMjU2LDMxIEBAIHZvaWQgU3RhdGVNYW5hZ2VyR0w6
OnNldFByb3Zva2luZ1ZlcnRleChHTGVudW0gbW9kZSkKICAgICB9CiB9CiAKK3ZvaWQgU3RhdGVN
YW5hZ2VyR0w6OnNldENsaXBEaXN0YW5jZXNFbmFibGUoY29uc3QgZ2w6OlN0YXRlOjpDbGlwRGlz
dGFuY2VFbmFibGVCaXRzICZlbmFibGVzKQoreworICAgIGlmIChlbmFibGVzID09IG1FbmFibGVk
Q2xpcERpc3RhbmNlcykKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgQVNTRVJU
KG1NYXhDbGlwRGlzdGFuY2VzIDw9IGdsOjpJTVBMRU1FTlRBVElPTl9NQVhfQ0xJUF9ESVNUQU5D
RVMpOworCisgICAgZ2w6OlN0YXRlOjpDbGlwRGlzdGFuY2VFbmFibGVCaXRzIGRpZmYgPSBlbmFi
bGVzIF4gbUVuYWJsZWRDbGlwRGlzdGFuY2VzOworICAgIGZvciAoc2l6ZV90IGkgOiBkaWZmKQor
ICAgIHsKKyAgICAgICAgaWYgKGVuYWJsZXMudGVzdChpKSkKKyAgICAgICAgeworICAgICAgICAg
ICAgbUZ1bmN0aW9ucy0+ZW5hYmxlKEdMX0NMSVBfRElTVEFOQ0UwX0VYVCArIHN0YXRpY19jYXN0
PHVpbnQzMl90PihpKSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAg
ICAgICAgICBtRnVuY3Rpb25zLT5kaXNhYmxlKEdMX0NMSVBfRElTVEFOQ0UwX0VYVCArIHN0YXRp
Y19jYXN0PHVpbnQzMl90PihpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtRW5hYmxlZENs
aXBEaXN0YW5jZXMgPSBlbmFibGVzOworICAgIG1Mb2NhbERpcnR5Qml0cy5zZXQoZ2w6OlN0YXRl
OjpESVJUWV9CSVRfRVhURU5ERUQpOworfQorCiB2b2lkIFN0YXRlTWFuYWdlckdMOjpzZXRUZXh0
dXJlQ3ViZW1hcFNlYW1sZXNzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gVE9ETyhq
bWFkaWxsKTogQWxzbyBjaGVjayBmb3Igc2VhbWxlc3MgZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N0YXRlTWFu
YWdlckdMLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvU3RhdGVNYW5hZ2VyR0wuaAppbmRleCBmNmQxNzQ0NDQ3YzBkYjhmMjk2OTBiMjM1ZmQ4YjU0
NWVhMmUyN2Y4Li5kOTBiODRkYWIyNWQzNjkyMGY4MDU1YTgzOWVlNjMyYTc4NjcyMjE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
U3RhdGVNYW5hZ2VyR0wuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvU3RhdGVNYW5hZ2VyR0wuaApAQCAtODksMTIgKzg5LDEwIEBAIGNsYXNz
IFN0YXRlTWFuYWdlckdMIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgdm9pZCBzZXRE
ZXB0aFJhbmdlKGZsb2F0IG5lYXIsIGZsb2F0IGZhcik7CiAKICAgICB2b2lkIHNldEJsZW5kRW5h
YmxlZChib29sIGVuYWJsZWQpOworICAgIHZvaWQgc2V0QmxlbmRFbmFibGVkSW5kZXhlZChjb25z
dCBnbDo6RHJhd0J1ZmZlck1hc2sgYmxlbmRFbmFibGVkTWFzayk7CiAgICAgdm9pZCBzZXRCbGVu
ZENvbG9yKGNvbnN0IGdsOjpDb2xvckYgJmJsZW5kQ29sb3IpOwotICAgIHZvaWQgc2V0QmxlbmRG
dW5jcyhHTGVudW0gc291cmNlQmxlbmRSR0IsCi0gICAgICAgICAgICAgICAgICAgICAgIEdMZW51
bSBkZXN0QmxlbmRSR0IsCi0gICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBzb3VyY2VCbGVu
ZEFscGhhLAotICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZGVzdEJsZW5kQWxwaGEpOwot
ICAgIHZvaWQgc2V0QmxlbmRFcXVhdGlvbnMoR0xlbnVtIGJsZW5kRXF1YXRpb25SR0IsIEdMZW51
bSBibGVuZEVxdWF0aW9uQWxwaGEpOworICAgIHZvaWQgc2V0QmxlbmRGdW5jcyhjb25zdCBnbDo6
QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCk7CisgICAgdm9pZCBzZXRCbGVuZEVxdWF0aW9u
cyhjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCk7CiAgICAgdm9pZCBzZXRD
b2xvck1hc2soYm9vbCByZWQsIGJvb2wgZ3JlZW4sIGJvb2wgYmx1ZSwgYm9vbCBhbHBoYSk7CiAg
ICAgdm9pZCBzZXRTYW1wbGVBbHBoYVRvQ292ZXJhZ2VFbmFibGVkKGJvb2wgZW5hYmxlZCk7CiAg
ICAgdm9pZCBzZXRTYW1wbGVDb3ZlcmFnZUVuYWJsZWQoYm9vbCBlbmFibGVkKTsKQEAgLTEyMSw4
ICsxMTksOCBAQCBjbGFzcyBTdGF0ZU1hbmFnZXJHTCBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJs
ZQogICAgIHZvaWQgc2V0UmFzdGVyaXplckRpc2NhcmRFbmFibGVkKGJvb2wgZW5hYmxlZCk7CiAg
ICAgdm9pZCBzZXRMaW5lV2lkdGgoZmxvYXQgd2lkdGgpOwogCi0gICAgdm9pZCBzZXRQcmltaXRp
dmVSZXN0YXJ0RW5hYmxlZChib29sIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0UHJpbWl0aXZlUmVz
dGFydEluZGV4KEdMdWludCBpbmRleCk7CisgICAgYW5nbGU6OlJlc3VsdCBzZXRQcmltaXRpdmVS
ZXN0YXJ0RW5hYmxlZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgYm9vbCBlbmFibGVkKTsK
KyAgICBhbmdsZTo6UmVzdWx0IHNldFByaW1pdGl2ZVJlc3RhcnRJbmRleChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwgR0x1aW50IGluZGV4KTsKIAogICAgIHZvaWQgc2V0Q2xlYXJDb2xvcihj
b25zdCBnbDo6Q29sb3JGICZjbGVhckNvbG9yKTsKICAgICB2b2lkIHNldENsZWFyRGVwdGgoZmxv
YXQgY2xlYXJEZXB0aCk7CkBAIC0xMzcsMTEgKzEzNSw4IEBAIGNsYXNzIFN0YXRlTWFuYWdlckdM
IGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgdm9pZCBzZXRGcmFtZWJ1ZmZlclNSR0JF
bmFibGVkRm9yRnJhbWVidWZmZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGVkLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZy
YW1lYnVmZmVyR0wgKmZyYW1lYnVmZmVyKTsKLSAgICB2b2lkIHNldENvbG9yTWFza0ZvckZyYW1l
YnVmZmVyKGJvb2wgcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBncmVlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYmx1ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWxwaGEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGcmFtZWJ1ZmZlckdMICpmcmFtZWJ1
ZmZlcik7CisgICAgdm9pZCBzZXRDb2xvck1hc2tGb3JGcmFtZWJ1ZmZlcihjb25zdCBnbDo6Qmxl
bmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGJvb2wgZGlzYWJsZUFscGhhKTsKIAogICAgIHZvaWQgc2V0RGl0aGVyRW5h
YmxlZChib29sIGVuYWJsZWQpOwogCkBAIC0xNTIsNiArMTQ3LDggQEAgY2xhc3MgU3RhdGVNYW5h
Z2VyR0wgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHZvaWQgc2V0UHJvdm9raW5n
VmVydGV4KEdMZW51bSBtb2RlKTsKIAorICAgIHZvaWQgc2V0Q2xpcERpc3RhbmNlc0VuYWJsZShj
b25zdCBnbDo6U3RhdGU6OkNsaXBEaXN0YW5jZUVuYWJsZUJpdHMgJmVuYWJsZXMpOworCiAgICAg
dm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAgYW5nbGU6OlJlc3VsdCBwYXVzZUFs
bFF1ZXJpZXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpOwogICAgIGFuZ2xlOjpSZXN1bHQg
cGF1c2VRdWVyeShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgZ2w6OlF1ZXJ5VHlwZSB0eXBl
KTsKQEAgLTE1OSw5ICsxNTYsOSBAQCBjbGFzcyBTdGF0ZU1hbmFnZXJHTCBmaW5hbCA6IGFuZ2xl
OjpOb25Db3B5YWJsZQogICAgIGFuZ2xlOjpSZXN1bHQgcmVzdW1lUXVlcnkoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsIGdsOjpRdWVyeVR5cGUgdHlwZSk7CiAgICAgYW5nbGU6OlJlc3VsdCBv
bk1ha2VDdXJyZW50KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIAotICAgIHZvaWQgc3lu
Y1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpTdGF0ZTo6RGlydHlCaXRzICZnbERpcnR5Qml0cywKLSAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6U3RhdGU6OkRpcnR5Qml0cyAmYml0TWFzayk7CisgICAgYW5nbGU6OlJlc3Vs
dCBzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OlN0YXRlOjpEaXJ0eUJpdHMgJmdsRGlydHlCaXRzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTdGF0ZTo6RGlydHlCaXRzICZiaXRN
YXNrKTsKIAogICAgIEFOR0xFX0lOTElORSB2b2lkIHVwZGF0ZU11bHRpdmlld0Jhc2VWaWV3TGF5
ZXJJbmRleFVuaWZvcm0oCiAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtICpwcm9ncmFtLApAQCAt
Mjc3LDE4ICsyNzQsMTAgQEAgY2xhc3MgU3RhdGVNYW5hZ2VyR0wgZmluYWwgOiBhbmdsZTo6Tm9u
Q29weWFibGUKICAgICBmbG9hdCBtTmVhcjsKICAgICBmbG9hdCBtRmFyOwogCi0gICAgYm9vbCBt
QmxlbmRFbmFibGVkOwogICAgIGdsOjpDb2xvckYgbUJsZW5kQ29sb3I7Ci0gICAgR0xlbnVtIG1T
b3VyY2VCbGVuZFJHQjsKLSAgICBHTGVudW0gbURlc3RCbGVuZFJHQjsKLSAgICBHTGVudW0gbVNv
dXJjZUJsZW5kQWxwaGE7Ci0gICAgR0xlbnVtIG1EZXN0QmxlbmRBbHBoYTsKLSAgICBHTGVudW0g
bUJsZW5kRXF1YXRpb25SR0I7Ci0gICAgR0xlbnVtIG1CbGVuZEVxdWF0aW9uQWxwaGE7Ci0gICAg
Ym9vbCBtQ29sb3JNYXNrUmVkOwotICAgIGJvb2wgbUNvbG9yTWFza0dyZWVuOwotICAgIGJvb2wg
bUNvbG9yTWFza0JsdWU7Ci0gICAgYm9vbCBtQ29sb3JNYXNrQWxwaGE7CisgICAgZ2w6OkJsZW5k
U3RhdGVFeHQgbUJsZW5kU3RhdGVFeHQ7CisgICAgY29uc3QgYm9vbCBtSW5kZXBlbmRlbnRCbGVu
ZFN0YXRlczsKKwogICAgIGJvb2wgbVNhbXBsZUFscGhhVG9Db3ZlcmFnZUVuYWJsZWQ7CiAgICAg
Ym9vbCBtU2FtcGxlQ292ZXJhZ2VFbmFibGVkOwogICAgIGZsb2F0IG1TYW1wbGVDb3ZlcmFnZVZh
bHVlOwpAQCAtMzQ0LDYgKzMzMyw5IEBAIGNsYXNzIFN0YXRlTWFuYWdlckdMIGZpbmFsIDogYW5n
bGU6Ok5vbkNvcHlhYmxlCiAKICAgICBHTGVudW0gbVByb3Zva2luZ1ZlcnRleDsKIAorICAgIGds
OjpTdGF0ZTo6Q2xpcERpc3RhbmNlRW5hYmxlQml0cyBtRW5hYmxlZENsaXBEaXN0YW5jZXM7Cisg
ICAgY29uc3Qgc2l6ZV90IG1NYXhDbGlwRGlzdGFuY2VzOworCiAgICAgZ2w6OlN0YXRlOjpEaXJ0
eUJpdHMgbUxvY2FsRGlydHlCaXRzOwogICAgIGdsOjpBdHRyaWJ1dGVzTWFzayBtTG9jYWxEaXJ0
eUN1cnJlbnRWYWx1ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1RleHR1cmVHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcAppbmRleCBkODI4
YWE2MzJkNzA3Yzc5ODI0NmMyODVhMzI2MzIyZmI0OWEyOTE4Li42NmM0ZmZjZjY4ODBmYmE3NTU4
MmQ1NTQzMjU3ZjNhZWNlZTQyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcApAQCAt
MTY0LDEzICsxNjQsMTEgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlR0w6OnNldEltYWdlKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSBmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVt
IHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlBpeGVs
VW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
bDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dM
ICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CiAKLSAgICBjb25zdCBnbDo6QnVm
ZmVyICp1bnBhY2tCdWZmZXIgPQotICAgICAgICBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldFRhcmdl
dEJ1ZmZlcihnbDo6QnVmZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOwotCiAgICAgZ2w6OlRleHR1
cmVUYXJnZXQgdGFyZ2V0ID0gaW5kZXguZ2V0VGFyZ2V0KCk7CiAgICAgc2l6ZV90IGxldmVsICAg
ICAgICAgICAgID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihpbmRleC5nZXRMZXZlbEluZGV4KCkpOwog
CkBAIC02MTksOCArNjE3LDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlR0w6OmNvcHlJbWFnZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgIGdsOjpUZXh0dXJlVGFyZ2V0IHRhcmdl
dCA9IGluZGV4LmdldFRhcmdldCgpOwogICAgIHNpemVfdCBsZXZlbCAgICAgICAgICAgICA9IHN0
YXRpY19jYXN0PHNpemVfdD4oaW5kZXguZ2V0TGV2ZWxJbmRleCgpKTsKLSAgICBHTGVudW0gdHlw
ZSAgICAgICAgICAgICAgPSBHTF9OT05FOwotICAgIEFOR0xFX1RSWShzb3VyY2UtPmdldEltcGxl
bWVudGF0aW9uQ29sb3JSZWFkVHlwZShjb250ZXh0LCAmdHlwZSkpOworICAgIEdMZW51bSB0eXBl
ICAgICAgICAgICAgICA9IHNvdXJjZS0+Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRUeXBlKGNv
bnRleHQpOwogICAgIG5hdGl2ZWdsOjpDb3B5VGV4SW1hZ2VJbWFnZUZvcm1hdCBjb3B5VGV4SW1h
Z2VGb3JtYXQgPQogICAgICAgICBuYXRpdmVnbDo6R2V0Q29weVRleEltYWdlSW1hZ2VGb3JtYXQo
ZnVuY3Rpb25zLCBmZWF0dXJlcywgaW50ZXJuYWxGb3JtYXQsIHR5cGUpOwogCkBAIC0xNTIyLDcg
KzE1MTksNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0QmFzZUxldmVsKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LCBHTHVpbnQgYmFzZUxldgogICAgICAgICBtTG9jYWxEaXJ0eUJp
dHMuc2V0KGdsOjpUZXh0dXJlOjpESVJUWV9CSVRfQkFTRV9MRVZFTCk7CiAKICAgICAgICAgLy8g
U2lnbmFsIHRvIHRoZSBHTCBsYXllciB0aGF0IHRoZSBJbXBsIGhhcyBkaXJ0eSBiaXRzLgotICAg
ICAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQp
OworICAgICAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6RGlydHlCaXRz
RmxhZ2dlZCk7CiAKICAgICAgICAgc3RhdGVNYW5hZ2VyLT5iaW5kVGV4dHVyZShnZXRUeXBlKCks
IG1UZXh0dXJlSUQpOwogICAgICAgICBBTkdMRV9HTF9UUlkoY29udGV4dCwgZnVuY3Rpb25zLT50
ZXhQYXJhbWV0ZXJpKFRvR0xlbnVtKGdldFR5cGUoKSksIEdMX1RFWFRVUkVfQkFTRV9MRVZFTCwK
QEAgLTE1NDIsNyArMTUzOSw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRNYXhMZXZl
bChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0x1aW50IG1heExldmVsCiAgICAgICAgIG1M
b2NhbERpcnR5Qml0cy5zZXQoZ2w6OlRleHR1cmU6OkRJUlRZX0JJVF9NQVhfTEVWRUwpOwogCiAg
ICAgICAgIC8vIFNpZ25hbCB0byB0aGUgR0wgbGF5ZXIgdGhhdCB0aGUgSW1wbCBoYXMgZGlydHkg
Yml0cy4KLSAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6OlN1Ympl
Y3RDaGFuZ2VkKTsKKyAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6
OkRpcnR5Qml0c0ZsYWdnZWQpOwogCiAgICAgICAgIHN0YXRlTWFuYWdlci0+YmluZFRleHR1cmUo
Z2V0VHlwZSgpLCBtVGV4dHVyZUlEKTsKICAgICAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsCkBA
IC0xNTYyLDcgKzE1NTksNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0TWluRmlsdGVy
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gZmlsdGVyKQogICAgICAgICBtTG9j
YWxEaXJ0eUJpdHMuc2V0KGdsOjpUZXh0dXJlOjpESVJUWV9CSVRfTUlOX0ZJTFRFUik7CiAKICAg
ICAgICAgLy8gU2lnbmFsIHRvIHRoZSBHTCBsYXllciB0aGF0IHRoZSBJbXBsIGhhcyBkaXJ0eSBi
aXRzLgotICAgICAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6U3ViamVj
dENoYW5nZWQpOworICAgICAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6
RGlydHlCaXRzRmxhZ2dlZCk7CiAKICAgICAgICAgc3RhdGVNYW5hZ2VyLT5iaW5kVGV4dHVyZShn
ZXRUeXBlKCksIG1UZXh0dXJlSUQpOwogICAgICAgICBBTkdMRV9HTF9UUlkoY29udGV4dCwKQEAg
LTE1ODEsNyArMTU3OCw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRNYWdGaWx0ZXIo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBmaWx0ZXIpCiAgICAgICAgIG1Mb2Nh
bERpcnR5Qml0cy5zZXQoZ2w6OlRleHR1cmU6OkRJUlRZX0JJVF9NQUdfRklMVEVSKTsKIAogICAg
ICAgICAvLyBTaWduYWwgdG8gdGhlIEdMIGxheWVyIHRoYXQgdGhlIEltcGwgaGFzIGRpcnR5IGJp
dHMuCi0gICAgICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RNZXNzYWdlOjpTdWJqZWN0
Q2hhbmdlZCk7CisgICAgICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RNZXNzYWdlOjpE
aXJ0eUJpdHNGbGFnZ2VkKTsKIAogICAgICAgICBzdGF0ZU1hbmFnZXItPmJpbmRUZXh0dXJlKGdl
dFR5cGUoKSwgbVRleHR1cmVJRCk7CiAgICAgICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LApAQCAt
MTYwNyw3ICsxNjA0LDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlR0w6OnNldFN3aXp6bGUoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMaW50IHN3aXp6bGVbNF0KICAgICAgICAgbUxvY2Fs
RGlydHlCaXRzLnNldChnbDo6VGV4dHVyZTo6RElSVFlfQklUX1NXSVpaTEVfQUxQSEEpOwogCiAg
ICAgICAgIC8vIFNpZ25hbCB0byB0aGUgR0wgbGF5ZXIgdGhhdCB0aGUgSW1wbCBoYXMgZGlydHkg
Yml0cy4KLSAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6OlN1Ympl
Y3RDaGFuZ2VkKTsKKyAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6
OkRpcnR5Qml0c0ZsYWdnZWQpOwogCiAgICAgICAgIHN0YXRlTWFuYWdlci0+YmluZFRleHR1cmUo
Z2V0VHlwZSgpLCBtVGV4dHVyZUlEKTsKICAgICAgICAgaWYgKGZ1bmN0aW9ucy0+c3RhbmRhcmQg
PT0gU1RBTkRBUkRfR0xfRVMpCkBAIC0xNzg5LDcgKzE3ODYsNyBAQCB2b2lkIFRleHR1cmVHTDo6
c2V0TGV2ZWxJbmZvKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIGlmICh1cGRhdGVX
b3JrYXJvdW5kcykKICAgICB7CiAgICAgICAgIG1Mb2NhbERpcnR5Qml0cyB8PSBHZXRMZXZlbFdv
cmthcm91bmREaXJ0eUJpdHMoKTsKLSAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVj
dE1lc3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsKKyAgICAgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6
U3ViamVjdE1lc3NhZ2U6OkRpcnR5Qml0c0ZsYWdnZWQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1RleHR1
cmVHTC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L1RleHR1cmVHTC5oCmluZGV4IDQxOTE5MTE0MTZiN2Q5MmUwYWJlOTQ0Mzg3NWY1ZDI2MWQzZTI4
MWUuLjUxN2IzZDlkMWQ4MTU5N2I5ZjY4NjE4ZTNkNTQ2MGYwODhiYzZlNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9UZXh0dXJl
R0wuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvVGV4dHVyZUdMLmgKQEAgLTc0LDYgKzc0LDcgQEAgY2xhc3MgVGV4dHVyZUdMIDogcHVibGlj
IFRleHR1cmVJbXBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKSBvdmVycmlkZTsKICAgICBhbmds
ZTo6UmVzdWx0IHNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L2NnbC9XaW5kb3dTdXJmYWNlQ0dMLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL2NnbC9XaW5kb3dTdXJmYWNlQ0dMLm1tCmluZGV4IDU0ZDgzMjBl
YTJjYjAxNjFlM2UxNDA5YzdjZWI3OWUyNTVmM2JmNzQuLjBmYTU3YmU0M2I3NzlmMGRlZWJjZmRj
NTEyMDI2ODUxNWFiOTQ1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9jZ2wvV2luZG93U3VyZmFjZUNHTC5tbQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvY2dsL1dpbmRvd1N1
cmZhY2VDR0wubW0KQEAgLTIxMiw2ICsyMTIsNyBAQCBlZ2w6OkVycm9yIFdpbmRvd1N1cmZhY2VD
R0w6OmluaXRpYWxpemUoY29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5KQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoQ29udGV4dDptQ29udGV4dAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEZ1bmN0aW9u
czptRnVuY3Rpb25zXTsKICAgICBbbUxheWVyIGFkZFN1YmxheWVyOm1Td2FwTGF5ZXJdOworICAg
IFttU3dhcExheWVyIHNldENvbnRlbnRzU2NhbGU6W21MYXllciBjb250ZW50c1NjYWxlXV07CiAK
ICAgICBtRnVuY3Rpb25zLT5nZW5SZW5kZXJidWZmZXJzKDEsICZtRFNSZW5kZXJidWZmZXIpOwog
ICAgIG1TdGF0ZU1hbmFnZXItPmJpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCBtRFNS
ZW5kZXJidWZmZXIpOwpAQCAtMzAxLDEyICszMDIsMTIgQEAgdm9pZCBXaW5kb3dTdXJmYWNlQ0dM
OjpzZXRTd2FwSW50ZXJ2YWwoRUdMaW50IGludGVydmFsKQogCiBFR0xpbnQgV2luZG93U3VyZmFj
ZUNHTDo6Z2V0V2lkdGgoKSBjb25zdAogewotICAgIHJldHVybiAoRUdMaW50KUNHUmVjdEdldFdp
ZHRoKFttTGF5ZXIgZnJhbWVdKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RUdMaW50PihDR1Jl
Y3RHZXRXaWR0aChbbUxheWVyIGZyYW1lXSkgKiBbbUxheWVyIGNvbnRlbnRzU2NhbGVdKTsKIH0K
IAogRUdMaW50IFdpbmRvd1N1cmZhY2VDR0w6OmdldEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIChFR0xpbnQpQ0dSZWN0R2V0SGVpZ2h0KFttTGF5ZXIgZnJhbWVdKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8RUdMaW50PihDR1JlY3RHZXRIZWlnaHQoW21MYXllciBmcmFtZV0pICogW21M
YXllciBjb250ZW50c1NjYWxlXSk7CiB9CiAKIEVHTGludCBXaW5kb3dTdXJmYWNlQ0dMOjppc1Bv
c3RTdWJCdWZmZXJTdXBwb3J0ZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VhZ2wvSU9TdXJmYWNlU3VyZmFjZUVB
R0wubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
ZWFnbC9JT1N1cmZhY2VTdXJmYWNlRUFHTC5tbQppbmRleCAwNjlkN2EzNDgzYTAyM2U5NjBjNzcy
NGIwMTljZWU1ZGVhN2NmMjYzLi5kMGI1Yzk4MGJhYzk0MzBjMDFlZjEyMmNhNjQxZDE4YTRkNjI2
YmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZ2wvZWFnbC9JT1N1cmZhY2VTdXJmYWNlRUFHTC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWFnbC9JT1N1cmZhY2VTdXJmYWNl
RUFHTC5tbQpAQCAtOTUsMTEgKzk1LDE0IEBAIElPU3VyZmFjZVN1cmZhY2VFQUdMOjpJT1N1cmZh
Y2VTdXJmYWNlRUFHTChjb25zdCBlZ2w6OlN1cmZhY2VTdGF0ZSAmc3RhdGUsCiAgICAgbVdpZHRo
ICA9IHN0YXRpY19jYXN0PGludD4oYXR0cmlicy5nZXQoRUdMX1dJRFRIKSk7CiAgICAgbUhlaWdo
dCA9IHN0YXRpY19jYXN0PGludD4oYXR0cmlicy5nZXQoRUdMX0hFSUdIVCkpOwogICAgIG1QbGFu
ZSAgPSBzdGF0aWNfY2FzdDxpbnQ+KGF0dHJpYnMuZ2V0KEVHTF9JT1NVUkZBQ0VfUExBTkVfQU5H
TEUpKTsKLSAgICAvLyBIb3BlZnVsbHkgdGhlIG51bWJlciBvZiBieXRlcyBwZXIgcm93IGlzIGFs
d2F5cyBhbiBpbnRlZ2VyIG51bWJlciBvZiBwaXhlbHMuCi0gICAgLy8gV2UgdXNlIGdsUmVhZFBp
eGVscyB0byBmaWxsIHRoZSBJT1N1cmZhY2UgaW4gdGhlIHNpbXVsYXRvciBhbmQgaXQgY2FuIG9u
bHkKLSAgICAvLyBzdXBwb3J0IHN0cmlkZXMgdGhhdCBhcmUgYW4gaW50ZWdlciBudW1iZXIgb2Yg
cGl4ZWxzLgotICAgIEFTU0VSVChJT1N1cmZhY2VHZXRCeXRlc1BlclJvd09mUGxhbmUobUlPU3Vy
ZmFjZSwgbVBsYW5lKSAlIElPU3VyZmFjZUdldEJ5dGVzUGVyRWxlbWVudE9mUGxhbmUobUlPU3Vy
ZmFjZSwgbVBsYW5lKSA9PSAwKTsKLSAgICBtUm93U3RyaWRlSW5QaXhlbHMgPSBzdGF0aWNfY2Fz
dDxpbnQ+KElPU3VyZmFjZUdldEJ5dGVzUGVyUm93T2ZQbGFuZShtSU9TdXJmYWNlLCBtUGxhbmUp
IC8gSU9TdXJmYWNlR2V0Qnl0ZXNQZXJFbGVtZW50T2ZQbGFuZShtSU9TdXJmYWNlLCBtUGxhbmUp
KTsKKyAgICAvLyBIb3BlZnVsbHkgdGhlIG51bWJlciBvZiBieXRlcyBwZXIgcm93IGlzIGFsd2F5
cyBhbiBpbnRlZ2VyIG51bWJlciBvZiBwaXhlbHMuIFdlIHVzZQorICAgIC8vIGdsUmVhZFBpeGVs
cyB0byBmaWxsIHRoZSBJT1N1cmZhY2UgaW4gdGhlIHNpbXVsYXRvciBhbmQgaXQgY2FuIG9ubHkg
c3VwcG9ydCBzdHJpZGVzIHRoYXQgYXJlCisgICAgLy8gYW4gaW50ZWdlciBudW1iZXIgb2YgcGl4
ZWxzLgorICAgIEFTU0VSVChJT1N1cmZhY2VHZXRCeXRlc1BlclJvd09mUGxhbmUobUlPU3VyZmFj
ZSwgbVBsYW5lKSAlCisgICAgICAgICAgICAgICBJT1N1cmZhY2VHZXRCeXRlc1BlckVsZW1lbnRP
ZlBsYW5lKG1JT1N1cmZhY2UsIG1QbGFuZSkgPT0KKyAgICAgICAgICAgMCk7CisgICAgbVJvd1N0
cmlkZUluUGl4ZWxzID0gc3RhdGljX2Nhc3Q8aW50PihJT1N1cmZhY2VHZXRCeXRlc1BlclJvd09m
UGxhbmUobUlPU3VyZmFjZSwgbVBsYW5lKSAvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJT1N1cmZhY2VHZXRCeXRlc1BlckVsZW1lbnRPZlBsYW5lKG1JT1N1cmZh
Y2UsIG1QbGFuZSkpOwogCiAgICAgRUdMQXR0cmliIGludGVybmFsRm9ybWF0ID0gYXR0cmlicy5n
ZXQoRUdMX1RFWFRVUkVfSU5URVJOQUxfRk9STUFUX0FOR0xFKTsKICAgICBFR0xBdHRyaWIgdHlw
ZSAgICAgICAgICAgPSBhdHRyaWJzLmdldChFR0xfVEVYVFVSRV9UWVBFX0FOR0xFKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9l
YWdsL1dpbmRvd1N1cmZhY2VFQUdMLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL2VhZ2wvV2luZG93U3VyZmFjZUVBR0wubW0KaW5kZXggNmNlZjdk
M2RkYjQ1ZWRiYzdhMTM1YjVjMDVmMWNlZDFkMDI4ZWZlNy4uMzhkMjUzZWJkZWIzYjNjYzE2MzIz
NzQzNDk1NDdiMDU1MzlmZWQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VhZ2wvV2luZG93U3VyZmFjZUVBR0wubW0KKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VhZ2wvV2lu
ZG93U3VyZmFjZUVBR0wubW0KQEAgLTE3OCw2ICsxNzgsNyBAQCBlZ2w6OkVycm9yIFdpbmRvd1N1
cmZhY2VFQUdMOjppbml0aWFsaXplKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aENvbnRleHQ6bUNv
bnRleHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhG
dW5jdGlvbnM6bUZ1bmN0aW9uc107CiAgICAgW21MYXllciBhZGRTdWJsYXllcjptU3dhcExheWVy
XTsKKyAgICBbbVN3YXBMYXllciBzZXRDb250ZW50c1NjYWxlOlttTGF5ZXIgY29udGVudHNTY2Fs
ZV1dOwogCiAgICAgbUZ1bmN0aW9ucy0+Z2VuUmVuZGVyYnVmZmVycygxLCAmbURTUmVuZGVyYnVm
ZmVyKTsKICAgICBtU3RhdGVNYW5hZ2VyLT5iaW5kUmVuZGVyYnVmZmVyKEdMX1JFTkRFUkJVRkZF
UiwgbURTUmVuZGVyYnVmZmVyKTsKQEAgLTI2NywxMiArMjY4LDEyIEBAIHZvaWQgV2luZG93U3Vy
ZmFjZUVBR0w6OnNldFN3YXBJbnRlcnZhbChFR0xpbnQgaW50ZXJ2YWwpCiAKIEVHTGludCBXaW5k
b3dTdXJmYWNlRUFHTDo6Z2V0V2lkdGgoKSBjb25zdAogewotICAgIHJldHVybiAoRUdMaW50KUNH
UmVjdEdldFdpZHRoKFttTGF5ZXIgZnJhbWVdKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RUdM
aW50PihDR1JlY3RHZXRXaWR0aChbbUxheWVyIGZyYW1lXSkgKiBbbUxheWVyIGNvbnRlbnRzU2Nh
bGVdKTsKIH0KIAogRUdMaW50IFdpbmRvd1N1cmZhY2VFQUdMOjpnZXRIZWlnaHQoKSBjb25zdAog
ewotICAgIHJldHVybiAoRUdMaW50KUNHUmVjdEdldEhlaWdodChbbUxheWVyIGZyYW1lXSk7Cisg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEVHTGludD4oQ0dSZWN0R2V0SGVpZ2h0KFttTGF5ZXIgZnJh
bWVdKSAqIFttTGF5ZXIgY29udGVudHNTY2FsZV0pOwogfQogCiBFR0xpbnQgV2luZG93U3VyZmFj
ZUVBR0w6OmlzUG9zdFN1YkJ1ZmZlclN1cHBvcnRlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0Rpc3BsYXlF
R0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L2VnbC9EaXNwbGF5RUdMLmNwcAppbmRleCAzYmY1MzJjMWQzYmFkMGVjNWM1MGEyNzQ0ZmIzYTlm
N2ZjNjdhMWQ4Li43ZTNiMGFkMGY2MTg1MmQ0MTZjNmNiY2E5Y2MzOTY5NTQ1ZTgyOGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
ZWdsL0Rpc3BsYXlFR0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9lZ2wvRGlzcGxheUVHTC5jcHAKQEAgLTE1LDYgKzE1LDcgQEAKICNp
bmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuaCIKICNpbmNsdWRlICJsaWJB
TkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVy
ZXIvZ2wvZWdsL0NvbnRleHRFR0wuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9nbC9l
Z2wvRG1hQnVmSW1hZ2VTaWJsaW5nRUdMLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIv
Z2wvZWdsL0Z1bmN0aW9uc0VHTERMLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvZ2wv
ZWdsL0ltYWdlRUdMLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL1BidWZm
ZXJTdXJmYWNlRUdMLmgiCkBAIC02MjEsNiArNjIyLDcgQEAgdm9pZCBEaXNwbGF5RUdMOjpnZW5l
cmF0ZUV4dGVuc2lvbnMoZWdsOjpEaXNwbGF5RXh0ZW5zaW9ucyAqb3V0RXh0ZW5zaW9ucykgY29u
c3QKICAgICAgICAgICAgIG1FR0wtPmhhc0V4dGVuc2lvbigiRUdMX0VYVF9nbF9jb2xvcnNwYWNl
X3NjcmdiX2xpbmVhciIpOwogICAgICAgICBvdXRFeHRlbnNpb25zLT5nbENvbG9yc3BhY2VEaXNw
bGF5UDNQYXNzdGhyb3VnaCA9CiAgICAgICAgICAgICBtRUdMLT5oYXNFeHRlbnNpb24oIkVHTF9F
WFRfZ2xfY29sb3JzcGFjZV9kaXNwbGF5X3AzX3Bhc3N0aHJvdWdoIik7CisgICAgICAgIG91dEV4
dGVuc2lvbnMtPmltYWdlR2xDb2xvcnNwYWNlID0gbUVHTC0+aGFzRXh0ZW5zaW9uKCJFR0xfRVhU
X2ltYWdlX2dsX2NvbG9yc3BhY2UiKTsKICAgICB9CiAKICAgICBvdXRFeHRlbnNpb25zLT5pbWFn
ZU5hdGl2ZUJ1ZmZlciA9IG1FR0wtPmhhc0V4dGVuc2lvbigiRUdMX0FORFJPSURfaW1hZ2VfbmF0
aXZlX2J1ZmZlciIpOwpAQCAtNjQzLDYgKzY0NSwxMSBAQCB2b2lkIERpc3BsYXlFR0w6OmdlbmVy
YXRlRXh0ZW5zaW9ucyhlZ2w6OkRpc3BsYXlFeHRlbnNpb25zICpvdXRFeHRlbnNpb25zKSBjb25z
dAogCiAgICAgb3V0RXh0ZW5zaW9ucy0+ZnJhbWVidWZmZXJUYXJnZXRBTkRST0lEID0gbUVHTC0+
aGFzRXh0ZW5zaW9uKCJFR0xfQU5EUk9JRF9mcmFtZWJ1ZmZlcl90YXJnZXQiKTsKIAorICAgIG91
dEV4dGVuc2lvbnMtPmltYWdlRG1hQnVmSW1wb3J0RVhUID0gbUVHTC0+aGFzRXh0ZW5zaW9uKCJF
R0xfRVhUX2ltYWdlX2RtYV9idWZfaW1wb3J0Iik7CisKKyAgICBvdXRFeHRlbnNpb25zLT5pbWFn
ZURtYUJ1ZkltcG9ydE1vZGlmaWVyc0VYVCA9CisgICAgICAgIG1FR0wtPmhhc0V4dGVuc2lvbigi
RUdMX0VYVF9pbWFnZV9kbWFfYnVmX2ltcG9ydF9tb2RpZmllcnMiKTsKKwogICAgIERpc3BsYXlH
TDo6Z2VuZXJhdGVFeHRlbnNpb25zKG91dEV4dGVuc2lvbnMpOwogfQogCkBAIC03MTEsNCArNzE4
LDM2IEBAIHZvaWQgRGlzcGxheUVHTDo6cG9wdWxhdGVGZWF0dXJlTGlzdChhbmdsZTo6RmVhdHVy
ZUxpc3QgKmZlYXR1cmVzKQogICAgIG1SZW5kZXJlci0+Z2V0RmVhdHVyZXMoKS5wb3B1bGF0ZUZl
YXR1cmVMaXN0KGZlYXR1cmVzKTsKIH0KIAorZWdsOjpFcnJvciBEaXNwbGF5RUdMOjp2YWxpZGF0
ZUltYWdlQ2xpZW50QnVmZmVyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTGVudW0gdGFyZ2V0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTENsaWVu
dEJ1ZmZlciBjbGllbnRCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpIGNvbnN0Cit7
CisgICAgc3dpdGNoICh0YXJnZXQpCisgICAgeworICAgICAgICBjYXNlIEVHTF9MSU5VWF9ETUFf
QlVGX0VYVDoKKyAgICAgICAgICAgIHJldHVybiBlZ2w6Ok5vRXJyb3IoKTsKKworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIERpc3BsYXlHTDo6dmFsaWRhdGVJbWFnZUNsaWVu
dEJ1ZmZlcihjb250ZXh0LCB0YXJnZXQsIGNsaWVudEJ1ZmZlciwgYXR0cmlicyk7CisgICAgfQor
fQorCitFeHRlcm5hbEltYWdlU2libGluZ0ltcGwgKkRpc3BsYXlFR0w6OmNyZWF0ZUV4dGVybmFs
SW1hZ2VTaWJsaW5nKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xlbnVt
IHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRUdMQ2xpZW50QnVmZmVyIGJ1ZmZlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
ZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpCit7CisgICAgc3dpdGNoICh0YXJnZXQpCisgICAg
eworICAgICAgICBjYXNlIEVHTF9MSU5VWF9ETUFfQlVGX0VYVDoKKyAgICAgICAgICAgIEFTU0VS
VChjb250ZXh0ID09IG51bGxwdHIpOworICAgICAgICAgICAgQVNTRVJUKGJ1ZmZlciA9PSBudWxs
cHRyKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgRG1hQnVmSW1hZ2VTaWJsaW5nRUdMKGF0dHJp
YnMpOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gRGlzcGxheUdMOjpj
cmVhdGVFeHRlcm5hbEltYWdlU2libGluZyhjb250ZXh0LCB0YXJnZXQsIGJ1ZmZlciwgYXR0cmli
cyk7CisgICAgfQorfQorCiB9ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRGlzcGxheUVHTC5o
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9E
aXNwbGF5RUdMLmgKaW5kZXggNDVlNTAyMGJiMjY0N2MyODI2ZGEwODI4NWU4MjY0MDM2NGMyMDZm
YS4uZTE1OWM0YzY1OTJhZDM0MDJjMWVlMzdjYTk2YWU1OTJhNzFmMGI5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EaXNw
bGF5RUdMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL2dsL2VnbC9EaXNwbGF5RUdMLmgKQEAgLTkwLDYgKzkwLDE2IEBAIGNsYXNzIERpc3BsYXlF
R0wgOiBwdWJsaWMgRGlzcGxheUdMCiAKICAgICB2b2lkIHBvcHVsYXRlRmVhdHVyZUxpc3QoYW5n
bGU6OkZlYXR1cmVMaXN0ICpmZWF0dXJlcykgb3ZlcnJpZGU7CiAKKyAgICBlZ2w6OkVycm9yIHZh
bGlkYXRlSW1hZ2VDbGllbnRCdWZmZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTGVudW0gdGFyZ2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xDbGllbnRCdWZmZXIgY2xp
ZW50QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBlZ2w6OkF0dHJpYnV0ZU1hcCAmYXR0cmlicykgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBFeHRl
cm5hbEltYWdlU2libGluZ0ltcGwgKmNyZWF0ZUV4dGVybmFsSW1hZ2VTaWJsaW5nKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRUdMZW51bSB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xDbGllbnRCdWZmZXIgYnVm
ZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpIG92ZXJyaWRlOworCiAgIHBy
b3RlY3RlZDoKICAgICBlZ2w6OkVycm9yIGluaXRpYWxpemVDb250ZXh0KEVHTENvbnRleHQgc2hh
cmVDb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWdsOjpB
dHRyaWJ1dGVNYXAgJmVnbEF0dHJpYnV0ZXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0RtYUJ1ZkltYWdlU2libGluZ0VH
TC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
ZWdsL0RtYUJ1ZkltYWdlU2libGluZ0VHTC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBlYWUwYmQyYmNkNGE0
OWJlMTRjNTI5MDI0MjI2NDE5MjYyNGY5MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRG1hQnVmSW1hZ2VTaWJs
aW5nRUdMLmNwcApAQCAtMCwwICsxLDEwNyBAQAorLy8KKy8vIENvcHlyaWdodCBUaGUgQU5HTEUg
UHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQor
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIERtYUJ1ZkltYWdlU2libGlu
Z0VHTC5jcHA6IERlZmluZXMgdGhlIERtYUJ1ZkltYWdlU2libGluZ0VHTCB0byB3cmFwIEVHTCBp
bWFnZXMKKy8vIGNyZWF0ZWQgZnJvbSBkbWFfYnVmIG9iamVjdHMKKworI2luY2x1ZGUgImxpYkFO
R0xFL3JlbmRlcmVyL2dsL2VnbC9EbWFCdWZJbWFnZVNpYmxpbmdFR0wuaCIKKworbmFtZXNwYWNl
IHJ4Cit7CitEbWFCdWZJbWFnZVNpYmxpbmdFR0w6OkRtYUJ1ZkltYWdlU2libGluZ0VHTChjb25z
dCBlZ2w6OkF0dHJpYnV0ZU1hcCAmYXR0cmlicykKKyAgICA6IG1BdHRyaWJzKGF0dHJpYnMpLCBt
Rm9ybWF0KEdMX05PTkUpCit7CisgICAgQVNTRVJUKG1BdHRyaWJzLmNvbnRhaW5zKEVHTF9XSURU
SCkpOworICAgIG1TaXplLndpZHRoID0gbUF0dHJpYnMuZ2V0QXNJbnQoRUdMX1dJRFRIKTsKKyAg
ICBBU1NFUlQobUF0dHJpYnMuY29udGFpbnMoRUdMX0hFSUdIVCkpOworICAgIG1TaXplLmhlaWdo
dCA9IG1BdHRyaWJzLmdldEFzSW50KEVHTF9IRUlHSFQpOworICAgIG1TaXplLmRlcHRoICA9IDE7
CisKKyAgICAvLyBUT0RPKGdlb2ZmbGFuZyk6ICBJbXBsZW1lbnQgYSBjb252ZXJzaW9uIHRhYmxl
IGZyb20gRFJNX0ZPUk1BVF8qIHRvIEdMIGZvcm1hdCB0byBleHBvc2UgYQorICAgIC8vIHZhbGlk
IG1Gb3JtYXQgdG8ga25vdyBpZiB0aGlzIGltYWdlIGNhbiBiZSByZW5kZXJlZCB0by4gRm9yIG5v
dyBpdCdzIGZpbmUgdG8gYWx3YXlzIHNheSB3ZSdyZQorICAgIC8vIFJHQkE4LiBodHRwOi8vYW5n
bGVidWcuY29tLzQ1MjkKKyAgICBtRm9ybWF0ID0gZ2w6OkZvcm1hdChHTF9SR0JBOCk7Cit9CisK
K0RtYUJ1ZkltYWdlU2libGluZ0VHTDo6fkRtYUJ1ZkltYWdlU2libGluZ0VHTCgpIHt9CisKK2Vn
bDo6RXJyb3IgRG1hQnVmSW1hZ2VTaWJsaW5nRUdMOjppbml0aWFsaXplKGNvbnN0IGVnbDo6RGlz
cGxheSAqZGlzcGxheSkKK3sKKyAgICByZXR1cm4gZWdsOjpOb0Vycm9yKCk7Cit9CisKK2dsOjpG
b3JtYXQgRG1hQnVmSW1hZ2VTaWJsaW5nRUdMOjpnZXRGb3JtYXQoKSBjb25zdAoreworICAgIHJl
dHVybiBtRm9ybWF0OworfQorCitib29sIERtYUJ1ZkltYWdlU2libGluZ0VHTDo6aXNSZW5kZXJh
YmxlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAoreworICAgIHJldHVybiB0cnVl
OworfQorCitib29sIERtYUJ1ZkltYWdlU2libGluZ0VHTDo6aXNUZXh0dXJhYmxlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCitnbDo6
RXh0ZW50cyBEbWFCdWZJbWFnZVNpYmxpbmdFR0w6OmdldFNpemUoKSBjb25zdAoreworICAgIHJl
dHVybiBtU2l6ZTsKK30KKworc2l6ZV90IERtYUJ1ZkltYWdlU2libGluZ0VHTDo6Z2V0U2FtcGxl
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK0VHTENsaWVudEJ1ZmZlciBEbWFCdWZJ
bWFnZVNpYmxpbmdFR0w6OmdldEJ1ZmZlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK3ZvaWQgRG1hQnVmSW1hZ2VTaWJsaW5nRUdMOjpnZXRJbWFnZUNyZWF0aW9uQXR0cmli
dXRlcyhzdGQ6OnZlY3RvcjxFR0xpbnQ+ICpvdXRBdHRyaWJ1dGVzKSBjb25zdAoreworICAgIEVH
TGVudW0ga0ZvcndhcmRlZEF0dHJpYnNbXSA9IHtFR0xfV0lEVEgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVHTF9IRUlHSFQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVHTF9MSU5VWF9EUk1fRk9VUkNDX0VYVCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRUdMX0RNQV9CVUZfUExBTkUwX0ZEX0VYVCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRUdMX0RNQV9CVUZfUExBTkUwX09GRlNFVF9FWFQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9ETUFfQlVGX1BMQU5FMF9QSVRDSF9F
WFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9ETUFfQlVGX1BMQU5F
MV9GRF9FWFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9ETUFfQlVG
X1BMQU5FMV9PRkZTRVRfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
R0xfRE1BX0JVRl9QTEFORTFfUElUQ0hfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTJfRkRfRVhULAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTJfT0ZGU0VUX0VYVCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0RNQV9CVUZfUExBTkUyX1BJVENIX0VYVCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX1lVVl9DT0xPUl9TUEFDRV9ISU5U
X0VYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX1NBTVBMRV9SQU5H
RV9ISU5UX0VYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX1lVVl9D
SFJPTUFfSE9SSVpPTlRBTF9TSVRJTkdfSElOVF9FWFQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVHTF9ZVVZfQ0hST01BX1ZFUlRJQ0FMX1NJVElOR19ISU5UX0VYVCwKKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTBfTU9E
SUZJRVJfTE9fRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfRE1B
X0JVRl9QTEFORTBfTU9ESUZJRVJfSElfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTFfTU9ESUZJRVJfTE9fRVhULAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTFfTU9ESUZJRVJfSElfRVhU
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTJf
TU9ESUZJRVJfTE9fRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xf
RE1BX0JVRl9QTEFORTJfTU9ESUZJRVJfSElfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTNfRkRfRVhULAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTNfT0ZGU0VUX0VYVCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0RNQV9CVUZfUExBTkUzX1BJVENIX0VYVCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0RNQV9CVUZfUExBTkUzX01P
RElGSUVSX0xPX0VYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0RN
QV9CVUZfUExBTkUzX01PRElGSUVSX0hJX0VYVH07CisKKyAgICBmb3IgKEVHTGVudW0gZm9yd2Fy
ZGVkQXR0cmliIDoga0ZvcndhcmRlZEF0dHJpYnMpCisgICAgeworICAgICAgICBpZiAobUF0dHJp
YnMuY29udGFpbnMoZm9yd2FyZGVkQXR0cmliKSkKKyAgICAgICAgeworICAgICAgICAgICAgb3V0
QXR0cmlidXRlcy0+cHVzaF9iYWNrKGZvcndhcmRlZEF0dHJpYik7CisgICAgICAgICAgICBvdXRB
dHRyaWJ1dGVzLT5wdXNoX2JhY2sobUF0dHJpYnMuZ2V0QXNJbnQoZm9yd2FyZGVkQXR0cmliKSk7
CisgICAgICAgIH0KKyAgICB9Cit9CisKK30gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EbWFC
dWZJbWFnZVNpYmxpbmdFR0wuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9lZ2wvRG1hQnVmSW1hZ2VTaWJsaW5nRUdMLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE1
ZThiMTJiYWE1MGQxYzdmMmZmMWRlYzI4YjgyZmRhYmMzYzAyMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRG1h
QnVmSW1hZ2VTaWJsaW5nRUdMLmgKQEAgLTAsMCArMSw0NSBAQAorLy8KKy8vIENvcHlyaWdodCBU
aGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIERtYUJ1Zklt
YWdlU2libGluZ0VHTC5oOiBEZWZpbmVzIHRoZSBEbWFCdWZJbWFnZVNpYmxpbmdFR0wgdG8gd3Jh
cCBFR0wgaW1hZ2VzCisvLyBjcmVhdGVkIGZyb20gZG1hX2J1ZiBvYmplY3RzCisKKyNpZm5kZWYg
TElCQU5HTEVfUkVOREVSRVJfR0xfRUdMX0RNQUJVRklNQUdFU0lCTElOR0VHTF9IXworI2RlZmlu
ZSBMSUJBTkdMRV9SRU5ERVJFUl9HTF9FR0xfRE1BQlVGSU1BR0VTSUJMSU5HRUdMX0hfCisKKyNp
bmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRXh0ZXJuYWxJbWFnZVNpYmxpbmdFR0wu
aCIKKworbmFtZXNwYWNlIHJ4Cit7CisKK2NsYXNzIERtYUJ1ZkltYWdlU2libGluZ0VHTCA6IHB1
YmxpYyBFeHRlcm5hbEltYWdlU2libGluZ0VHTAoreworICBwdWJsaWM6CisgICAgRG1hQnVmSW1h
Z2VTaWJsaW5nRUdMKGNvbnN0IGVnbDo6QXR0cmlidXRlTWFwICZhdHRyaWJzKTsKKyAgICB+RG1h
QnVmSW1hZ2VTaWJsaW5nRUdMKCkgb3ZlcnJpZGU7CisKKyAgICBlZ2w6OkVycm9yIGluaXRpYWxp
emUoY29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5KSBvdmVycmlkZTsKKworICAgIC8vIEV4dGVy
bmFsSW1hZ2VTaWJsaW5nSW1wbCBpbnRlcmZhY2UKKyAgICBnbDo6Rm9ybWF0IGdldEZvcm1hdCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNSZW5kZXJhYmxlKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0KSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzVGV4dHVyYWJsZShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgZ2w6OkV4dGVudHMgZ2V0
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHNpemVfdCBnZXRTYW1wbGVzKCkgY29uc3Qgb3Zl
cnJpZGU7CisKKyAgICAvLyBFeHRlcm5hbEltYWdlU2libGluZ0VHTCBpbnRlcmZhY2UKKyAgICBF
R0xDbGllbnRCdWZmZXIgZ2V0QnVmZmVyKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRJ
bWFnZUNyZWF0aW9uQXR0cmlidXRlcyhzdGQ6OnZlY3RvcjxFR0xpbnQ+ICpvdXRBdHRyaWJ1dGVz
KSBjb25zdCBvdmVycmlkZTsKKworICBwcml2YXRlOgorICAgIGVnbDo6QXR0cmlidXRlTWFwIG1B
dHRyaWJzOworICAgIGdsOjpFeHRlbnRzIG1TaXplOworICAgIGdsOjpGb3JtYXQgbUZvcm1hdDsK
K307CisKK30gIC8vIG5hbWVzcGFjZSByeAorCisjZW5kaWYgIC8vIExJQkFOR0xFX1JFTkRFUkVS
X0dMX0VHTF9ETUFCVUZJTUFHRVNJQkxJTkdFR0xfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRXh0ZXJuYWxJbWFnZVNp
YmxpbmdFR0wuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9lZ2wvRXh0ZXJuYWxJbWFnZVNpYmxpbmdFR0wuaAppbmRleCAxMGJjNTNlZjJhOWI4YjQy
MDVmNTcwMjlkMjIyNzRmZDRjZTUyMzJiLi5mOGE2ODkzYzk0NjBiZTA4NmE3YjZkZjVlNjMwMTI2
ZTQ1MmU3Mzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvZWdsL0V4dGVybmFsSW1hZ2VTaWJsaW5nRUdMLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9FeHRlcm5hbElt
YWdlU2libGluZ0VHTC5oCkBAIC0yMiw2ICsyMiw3IEBAIGNsYXNzIEV4dGVybmFsSW1hZ2VTaWJs
aW5nRUdMIDogcHVibGljIEV4dGVybmFsSW1hZ2VTaWJsaW5nSW1wbAogICAgIH5FeHRlcm5hbElt
YWdlU2libGluZ0VHTCgpIG92ZXJyaWRlIHt9CiAKICAgICB2aXJ0dWFsIEVHTENsaWVudEJ1ZmZl
ciBnZXRCdWZmZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGdldEltYWdlQ3JlYXRp
b25BdHRyaWJ1dGVzKHN0ZDo6dmVjdG9yPEVHTGludD4gKm91dEF0dHJpYnV0ZXMpIGNvbnN0IHt9
CiB9OwogCiB9ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvSW1hZ2VFR0wuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9JbWFnZUVHTC5j
cHAKaW5kZXggYTc1ODllNTIyZGJmODEzMzE3MzBlODIyMWM3ZTI3NTU2OWNiNjBkYS4uZDRjMmRm
MDY0MTczNjdiNTg2NjYwM2YzNGE0N2FkNDlkNzMyNjM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9JbWFnZUVHTC5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Vn
bC9JbWFnZUVHTC5jcHAKQEAgLTc4LDYgKzc4LDkgQEAgZWdsOjpFcnJvciBJbWFnZUVHTDo6aW5p
dGlhbGl6ZShjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXkpCiAgICAgICAgICAgICBHZXRJbXBs
QXM8RXh0ZXJuYWxJbWFnZVNpYmxpbmdFR0w+KEdldEFzPGVnbDo6RXh0ZXJuYWxJbWFnZVNpYmxp
bmc+KG1TdGF0ZS5zb3VyY2UpKTsKICAgICAgICAgYnVmZmVyICAgICAgICAgICAgICAgID0gZXh0
ZXJuYWxJbWFnZVNpYmxpbmctPmdldEJ1ZmZlcigpOwogICAgICAgICBtTmF0aXZlSW50ZXJuYWxG
b3JtYXQgPSBleHRlcm5hbEltYWdlU2libGluZy0+Z2V0Rm9ybWF0KCkuaW5mby0+c2l6ZWRJbnRl
cm5hbEZvcm1hdDsKKworICAgICAgICAvLyBBZGQgYW55IGFkZGl0aW9uYWwgYXR0cmlidXRlcyB0
aGlzIHR5cGUgb2YgaW1hZ2Ugc2libGluZSByZXF1aXJlcworICAgICAgICBleHRlcm5hbEltYWdl
U2libGluZy0+Z2V0SW1hZ2VDcmVhdGlvbkF0dHJpYnV0ZXMoJmF0dHJpYnV0ZXMpOwogICAgIH0K
ICAgICBlbHNlCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9vem9uZS9EaXNwbGF5T3pvbmUuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9vem9uZS9EaXNw
bGF5T3pvbmUuY3BwCmluZGV4IDVjODYxYjQ5MjI5MTQ3ZTY3YTE2ZDg5ZDg3NjZmZjEwNWRkYjVj
NjMuLmQwODIyOGU4Mjg3ODFiODQ5Njc5MDhiYmRhZTU3ZjA1ZmYzNzc0YjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvb3pv
bmUvRGlzcGxheU96b25lLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvZWdsL296b25lL0Rpc3BsYXlPem9uZS5jcHAKQEAgLTkzMiw2ICs5
MzIsNyBAQCBlZ2w6OkNvbmZpZ1NldCBEaXNwbGF5T3pvbmU6OmdlbmVyYXRlQ29uZmlncygpCiAg
ICAgZWdsOjpDb25maWdTZXQgY29uZmlnczsKIAogICAgIGVnbDo6Q29uZmlnIGNvbmZpZzsKKyAg
ICBjb25maWcuYnVmZmVyU2l6ZSAgICAgICAgID0gMzI7CiAgICAgY29uZmlnLnJlZFNpemUgICAg
ICAgICAgICA9IDg7CiAgICAgY29uZmlnLmdyZWVuU2l6ZSAgICAgICAgICA9IDg7CiAgICAgY29u
ZmlnLmJsdWVTaXplICAgICAgICAgICA9IDg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZm9ybWF0dXRpbHNnbC5jcHAgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZm9ybWF0dXRpbHNn
bC5jcHAKaW5kZXggYjNlYTViM2E1MDUyZDNjOTdlNzM3MGY5NmQ3NDQ5MGQyYmU4MWZmNy4uOGVl
MDRiOTRhYTQ3MzcxMDJkODVjZGU2M2YyMzI3NzhiMzc5MDFjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Zvcm1hdHV0aWxzZ2wu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9mb3JtYXR1dGlsc2dsLmNwcApAQCAtMjM1LDggKzIzNSw4IEBAIHN0YXRpYyBJbnRlcm5hbEZv
cm1hdEluZm9NYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAoKQogICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfU1JHQl9BTFBIQSwgICAgICAgIFZlcnNpb25PckV4dHMoMiwgMSwg
IkdMX0VYVF90ZXh0dXJlX3NSR0IiKSwgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25P
ckV4dHMoMiwgMSwgIkdMX0VYVF90ZXh0dXJlX3NSR0IiKSwgICAgRXh0c09ubHkoIkdMX0VYVF9z
UkdCIiksICAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQoKSwgRXh0c09ubHkoIkdM
X0VYVF9zUkdCIiksICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgKTsKIAogICAgIC8vIEZyb20gR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JH
UkE4ODg4Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9CR1JBOF9FWFQsICAgICAg
ICAgVmVyc2lvbk9yRXh0cygxLCAyLCAiR0xfRVhUX2JncmEiKSwgICAgICAgICAgICAgICBBbHdh
eXNTdXBwb3J0ZWQoKSwgVmVyc2lvbk9yRXh0cygxLCAyLCAiR0xfRVhUX2JncmEiKSwgICAgICAg
ICAgICBFeHRzT25seSgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4IiksIEFsd2F5c1N1
cHBvcnRlZCgpLCBOZXZlclN1cHBvcnRlZCgpLCAgICAgICAgICAgICAgICAgICAgICAgICBOZXZl
clN1cHBvcnRlZCgpICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfQkdSQV9FWFQsICAgICAgICAgIFZlcnNpb25PckV4dHMoMSwgMiwg
IkdMX0VYVF9iZ3JhIiksICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25P
ckV4dHMoMSwgMiwgIkdMX0VYVF9iZ3JhIiksICAgICAgICAgICAgRXh0c09ubHkoIkdMX0VYVF90
ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCIpLCBBbHdheXNTdXBwb3J0ZWQoKSwgTmV2ZXJTdXBwb3J0
ZWQoKSwgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0JHUkE4
X0VYVCwgICAgICAgICBWZXJzaW9uT3JFeHRzKDEsIDIsICJHTF9FWFRfYmdyYSIpLCAgICAgICAg
ICAgICAgIEFsd2F5c1N1cHBvcnRlZCgpLCBWZXJzaW9uT3JFeHRzKDEsIDIsICJHTF9FWFRfYmdy
YSIpLCAgICAgICAgICAgIEV4dHNPbmx5KCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgi
KSwgQWx3YXlzU3VwcG9ydGVkKCksIEV4dHNPbmx5KCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdS
QTg4ODgiKSwgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCIpICAgICAg
ICAgICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xf
QkdSQV9FWFQsICAgICAgICAgIFZlcnNpb25PckV4dHMoMSwgMiwgIkdMX0VYVF9iZ3JhIiksICAg
ICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25PckV4dHMoMSwgMiwgIkdMX0VY
VF9iZ3JhIiksICAgICAgICAgICAgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JB
ODg4OCIpLCBBbHdheXNTdXBwb3J0ZWQoKSwgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJlX2Zvcm1h
dF9CR1JBODg4OCIpLCBFeHRzT25seSgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4Iikg
ICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAKICAgICAvLyBGbG9hdGluZyBwb2ludCBmb3Jt
YXRzCiAgICAgLy8gTm90ZSAxOiBHTF9FWFRfdGV4dHVyZV9zaGFyZWRfZXhwb25lbnQgYW5kIEdM
X0FSQl9jb2xvcl9idWZmZXJfZmxvYXQgc3VnZ2VzdCB0aGF0IFJHQjlfRTUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9nbHgvRGlz
cGxheUdMWC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvZ2x4L0Rpc3BsYXlHTFguY3BwCmluZGV4IGM3MzdmMmI2YzhkOWU1NzczYmUzODY2YWNl
MjQwMGM2MDk0OWM1ZmQuLjZmMmUxNzVlYTk0NzE1NWJiYzQ3MzAxODdjN2QwZmFmN2MzMzUzNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9nbHgvRGlzcGxheUdMWC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL2dseC9EaXNwbGF5R0xYLmNwcApAQCAtODMwLDcgKzgzMCw5
IEBAIHZvaWQgRGlzcGxheUdMWDo6Z2VuZXJhdGVFeHRlbnNpb25zKGVnbDo6RGlzcGxheUV4dGVu
c2lvbnMgKm91dEV4dGVuc2lvbnMpIGNvbnN0CiAKICAgICBvdXRFeHRlbnNpb25zLT5zdXJmYWNl
bGVzc0NvbnRleHQgPSB0cnVlOwogCi0gICAgb3V0RXh0ZW5zaW9ucy0+c3luY0NvbnRyb2xDSFJP
TUlVTSA9IG1HTFguaGFzRXh0ZW5zaW9uKCJHTFhfT01MX3N5bmNfY29udHJvbCIpOworICAgIGNv
bnN0IGJvb2wgaGFzU3luY0NvbnRyb2xPTUwgICAgICAgID0gbUdMWC5oYXNFeHRlbnNpb24oIkdM
WF9PTUxfc3luY19jb250cm9sIik7CisgICAgb3V0RXh0ZW5zaW9ucy0+c3luY0NvbnRyb2xDSFJP
TUlVTSAgPSBoYXNTeW5jQ29udHJvbE9NTDsKKyAgICBvdXRFeHRlbnNpb25zLT5zeW5jQ29udHJv
bFJhdGVBTkdMRSA9IGhhc1N5bmNDb250cm9sT01MOwogCiAgICAgRGlzcGxheUdMOjpnZW5lcmF0
ZUV4dGVuc2lvbnMob3V0RXh0ZW5zaW9ucyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91dGlscy5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVy
ZXJnbF91dGlscy5jcHAKaW5kZXggYTE0ZTU0MjQ2ZmExMGQ5ODQ1NzhhNmRlYmM5M2M5NTRiNzg0
ODZiMy4uZTlkZjU1MGI5MmQzNGMxZWYwYjkxYzFkNzNlMzc4NjI3YTAyMDU4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL3JlbmRl
cmVyZ2xfdXRpbHMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9yZW5kZXJlcmdsX3V0aWxzLmNwcApAQCAtMTE2Miw3ICsxMTYyLDE2IEBA
IHZvaWQgR2VuZXJhdGVDYXBzKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsCiAgICAgZXh0
ZW5zaW9ucy0+ZHJhd0J1ZmZlcnMgPSBmdW5jdGlvbnMtPmlzQXRMZWFzdEdMKGdsOjpWZXJzaW9u
KDIsIDApKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLT5oYXNH
TEV4dGVuc2lvbigiQVJCX2RyYXdfYnVmZmVycyIpIHx8CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbnMtPmhhc0dMRVNFeHRlbnNpb24oIkdMX0VYVF9kcmF3X2J1ZmZlcnMi
KTsKLSAgICBleHRlbnNpb25zLT50ZXh0dXJlU3RvcmFnZSA9IGZ1bmN0aW9ucy0+c3RhbmRhcmQg
PT0gU1RBTkRBUkRfR0xfREVTS1RPUCB8fAorICAgIGV4dGVuc2lvbnMtPmRyYXdCdWZmZXJzSW5k
ZXhlZEVYVCA9CisgICAgICAgICFmZWF0dXJlcy5kaXNhYmxlRHJhd0J1ZmZlcnNJbmRleGVkLmVu
YWJsZWQgJiYKKyAgICAgICAgKGZ1bmN0aW9ucy0+aXNBdExlYXN0R0woZ2w6OlZlcnNpb24oNCwg
MCkpIHx8CisgICAgICAgICAoZnVuY3Rpb25zLT5oYXNHTEV4dGVuc2lvbigiR0xfRVhUX2RyYXdf
YnVmZmVyczIiKSAmJgorICAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFeHRlbnNpb24oIkdMX0FS
Ql9kcmF3X2J1ZmZlcnNfYmxlbmQiKSkgfHwKKyAgICAgICAgIGZ1bmN0aW9ucy0+aXNBdExlYXN0
R0xFUyhnbDo6VmVyc2lvbigzLCAyKSkgfHwKKyAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFU0V4
dGVuc2lvbigiR0xfT0VTX2RyYXdfYnVmZmVyc19pbmRleGVkIikgfHwKKyAgICAgICAgIGZ1bmN0
aW9ucy0+aGFzR0xFU0V4dGVuc2lvbigiR0xfRVhUX2RyYXdfYnVmZmVyc19pbmRleGVkIikpOwor
ICAgIGV4dGVuc2lvbnMtPmRyYXdCdWZmZXJzSW5kZXhlZE9FUyA9IGV4dGVuc2lvbnMtPmRyYXdC
dWZmZXJzSW5kZXhlZEVYVDsKKyAgICBleHRlbnNpb25zLT50ZXh0dXJlU3RvcmFnZSAgICAgICAg
PSBmdW5jdGlvbnMtPnN0YW5kYXJkID09IFNUQU5EQVJEX0dMX0RFU0tUT1AgfHwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFU0V4dGVuc2lvbigiR0xf
RVhUX3RleHR1cmVfc3RvcmFnZSIpOwogICAgIGV4dGVuc2lvbnMtPnRleHR1cmVGaWx0ZXJBbmlz
b3Ryb3BpYyA9CiAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFeHRlbnNpb24oIkdMX0VYVF90ZXh0
dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpIHx8CkBAIC0xMjI2LDcgKzEyMzUsOCBAQCB2b2lkIEdl
bmVyYXRlQ2Fwcyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zLAogICAgIGV4dGVuc2lvbnMt
PnVucGFja1N1YmltYWdlICAgICA9IGZ1bmN0aW9ucy0+c3RhbmRhcmQgPT0gU1RBTkRBUkRfR0xf
REVTS1RPUCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLT5p
c0F0TGVhc3RHTEVTKGdsOjpWZXJzaW9uKDMsIDApKSB8fAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb25zLT5oYXNHTEVTRXh0ZW5zaW9uKCJHTF9FWFRfdW5wYWNrX3N1
YmltYWdlIik7Ci0gICAgZXh0ZW5zaW9ucy0+cGFja1N1YmltYWdlID0gZnVuY3Rpb25zLT5zdGFu
ZGFyZCA9PSBTVEFOREFSRF9HTF9ERVNLVE9QIHx8CisgICAgZXh0ZW5zaW9ucy0+bm9wZXJzcGVj
dGl2ZUludGVycG9sYXRpb25OViA9IGZ1bmN0aW9ucy0+aXNBdExlYXN0R0woZ2w6OlZlcnNpb24o
MywgMCkpOworICAgIGV4dGVuc2lvbnMtPnBhY2tTdWJpbWFnZSAgICAgICAgICAgICAgICAgPSBm
dW5jdGlvbnMtPnN0YW5kYXJkID09IFNUQU5EQVJEX0dMX0RFU0tUT1AgfHwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMtPmlzQXRMZWFzdEdMRVMoZ2w6OlZlcnNpb24o
MywgMCkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLT5oYXNH
TEVTRXh0ZW5zaW9uKCJHTF9OVl9wYWNrX3N1YmltYWdlIik7CiAgICAgZXh0ZW5zaW9ucy0+dmVy
dGV4QXJyYXlPYmplY3RPRVMgPSBmdW5jdGlvbnMtPmlzQXRMZWFzdEdMKGdsOjpWZXJzaW9uKDMs
IDApKSB8fApAQCAtMTI0NSw2ICsxMjU1LDcgQEAgdm9pZCBHZW5lcmF0ZUNhcHMoY29uc3QgRnVu
Y3Rpb25zR0wgKmZ1bmN0aW9ucywKICAgICAgICAgZnVuY3Rpb25zLT5oYXNFeHRlbnNpb24oIkdM
X0VYVF9FR0xfaW1hZ2VfZXh0ZXJuYWxfd3JhcF9tb2RlcyIpOwogICAgIGV4dGVuc2lvbnMtPmVn
bEltYWdlRXh0ZXJuYWxFc3NsM09FUyA9CiAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFU0V4dGVu
c2lvbigiR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyIpOworICAgIGV4dGVuc2lvbnMt
PmVnbEltYWdlQXJyYXkgPSBmdW5jdGlvbnMtPmhhc0dMRVNFeHRlbnNpb24oIkdMX0VYVF9FR0xf
aW1hZ2VfYXJyYXkiKTsKIAogICAgIGV4dGVuc2lvbnMtPmVnbFN5bmNPRVMgPSBmdW5jdGlvbnMt
Pmhhc0dMRVNFeHRlbnNpb24oIkdMX09FU19FR0xfc3luYyIpOwogCkBAIC0xMzA0LDYgKzEzMTUs
MTIgQEAgdm9pZCBHZW5lcmF0ZUNhcHMoY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucywKICAg
ICBleHRlbnNpb25zLT50ZXh0dXJlU1JHQkRlY29kZSA9IGZ1bmN0aW9ucy0+aGFzR0xFeHRlbnNp
b24oIkdMX0VYVF90ZXh0dXJlX3NSR0JfZGVjb2RlIikgfHwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy0+aGFzR0xFU0V4dGVuc2lvbigiR0xfRVhUX3RleHR1
cmVfc1JHQl9kZWNvZGUiKTsKIAorICAgIC8vIEFOR0xFIHRyZWF0cyBFVEMxIGFzIEVUQzIgZm9y
IEVTIDMuMCBhbmQgaGlnaGVyIGJlY2F1c2UgaXQgYmVjb21lcyBhIGNvcmUgZm9ybWF0LCBhbmQg
dGhleQorICAgIC8vIGFyZSBiYWNrd2FyZHMgY29tcGF0aWJsZS4KKyAgICBleHRlbnNpb25zLT5j
b21wcmVzc2VkRVRDMVJHQjhTdWJUZXh0dXJlID0KKyAgICAgICAgZnVuY3Rpb25zLT5pc0F0TGVh
c3RHTEVTKGdsOjpWZXJzaW9uKDMsIDApKSB8fAorICAgICAgICBmdW5jdGlvbnMtPmhhc0dMRVNF
eHRlbnNpb24oIkdMX0VYVF9jb21wcmVzc2VkX0VUQzFfUkdCOF9zdWJfdGV4dHVyZSIpOworCiAj
aWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9NQUNPUykgfHwgZGVmaW5lZChBTkdMRV9QTEFURk9S
TV9NQUNDQVRBTFlTVCkKICAgICBWZW5kb3JJRCB2ZW5kb3IgPSBHZXRWZW5kb3JJRChmdW5jdGlv
bnMpOwogICAgIGlmICgoSXNBTUQodmVuZG9yKSB8fCBJc0ludGVsKHZlbmRvcikpICYmICptYXhT
dXBwb3J0ZWRFU1ZlcnNpb24gPj0gZ2w6OlZlcnNpb24oMywgMCkpCkBAIC0xNDk2LDYgKzE1MTMs
MTcgQEAgdm9pZCBHZW5lcmF0ZUNhcHMoY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLT5pc0F0TGVhc3RHTEVTKGds
OjpWZXJzaW9uKDMsIDIpKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbnMtPmhhc0dMRXh0ZW5zaW9uKCJHTF9BUkJfZ3B1X3NoYWRlcjUiKSB8fAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMtPmhhc0dMRVNFeHRlbnNpb24oIkdMX0VY
VF9ncHVfc2hhZGVyNSIpOworCisgICAgLy8gR0xfQVBQTEVfY2xpcF9kaXN0YW5jZQorICAgIGV4
dGVuc2lvbnMtPmNsaXBEaXN0YW5jZUFQUExFID0gZnVuY3Rpb25zLT5pc0F0TGVhc3RHTChnbDo6
VmVyc2lvbigzLCAwKSk7CisgICAgaWYgKGV4dGVuc2lvbnMtPmNsaXBEaXN0YW5jZUFQUExFKQor
ICAgIHsKKyAgICAgICAgY2Fwcy0+bWF4Q2xpcERpc3RhbmNlcyA9IFF1ZXJ5U2luZ2xlR0xJbnQo
ZnVuY3Rpb25zLCBHTF9NQVhfQ0xJUF9ESVNUQU5DRVNfRVhUKTsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgY2Fwcy0+bWF4Q2xpcERpc3RhbmNlcyA9IDA7CisgICAgfQogfQogCiB2
b2lkIEluaXRpYWxpemVGZWF0dXJlcyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zLCBhbmds
ZTo6RmVhdHVyZXNHTCAqZmVhdHVyZXMpCkBAIC0xNjE3LDcgKzE2NDUsOCBAQCB2b2lkIEluaXRp
YWxpemVGZWF0dXJlcyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zLCBhbmdsZTo6RmVhdHVy
ZXNHTCAqZmVhdHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzQW5kcm9pZCgpIHx8
IGxpbWl0TWF4VGV4dHVyZVNpemUpOwogICAgIC8vIE9uIEFwcGxlIHN3aXRjaGFibGUgZ3JhcGhp
Y3MsIEdMX01BWF9TQU1QTEVTIG1heSBkaWZmZXIgYmV0d2VlbiB0aGUgR1BVcy4KICAgICAvLyA0
IGlzIGEgbG93ZXN0IGNvbW1vbiBkZW5vbWluYXRvciB0aGF0IGlzIGFsd2F5cyBzdXBwb3J0ZWQu
Ci0gICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oZmVhdHVyZXMsIGxpbWl0TWF4TVNBQVNhbXBs
ZXNUbzQsIElzQW5kcm9pZCgpIHx8IChJc0FwcGxlKCkgJiYgKGlzSW50ZWwgfHwgaXNBTUQgfHwg
aXNOdmlkaWEpKSk7CisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oZmVhdHVyZXMsIGxpbWl0
TWF4TVNBQVNhbXBsZXNUbzQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXNBbmRyb2lk
KCkgfHwgKElzQXBwbGUoKSAmJiAoaXNJbnRlbCB8fCBpc0FNRCB8fCBpc052aWRpYSkpKTsKICAg
ICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgbGltaXRNYXgzZEFycmF5VGV4dHVy
ZVNpemVUbzEwMjQsIGxpbWl0TWF4VGV4dHVyZVNpemUpOwogCiAgICAgQU5HTEVfRkVBVFVSRV9D
T05ESVRJT04oZmVhdHVyZXMsIGFsbG93Q2xlYXJGb3JSb2J1c3RSZXNvdXJjZUluaXQsIElzQXBw
bGUoKSk7CkBAIC0xNjQ5LDYgKzE2NzgsMTQgQEAgdm9pZCBJbml0aWFsaXplRmVhdHVyZXMoY29u
c3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucywgYW5nbGU6OkZlYXR1cmVzR0wgKmZlYXR1cmUKIAog
ICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKGZlYXR1cmVzLCB1bmZvbGRTaG9ydENpcmN1aXRz
LCBJc0FwcGxlKCkpOwogCisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oZmVhdHVyZXMsIGVt
dWxhdGVQcmltaXRpdmVSZXN0YXJ0Rml4ZWRJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbnMtPnN0YW5kYXJkID09IFNUQU5EQVJEX0dMX0RFU0tUT1AgJiYKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLT5pc0F0TGVhc3RHTChnbDo6VmVy
c2lvbigzLCAxKSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWZ1bmN0aW9u
cy0+aXNBdExlYXN0R0woZ2w6OlZlcnNpb24oNCwgMykpKTsKKyAgICBBTkdMRV9GRUFUVVJFX0NP
TkRJVElPTigKKyAgICAgICAgZmVhdHVyZXMsIHNldFByaW1pdGl2ZVJlc3RhcnRGaXhlZEluZGV4
Rm9yRHJhd0FycmF5cywKKyAgICAgICAgZmVhdHVyZXMtPmVtdWxhdGVQcmltaXRpdmVSZXN0YXJ0
Rml4ZWRJbmRleC5lbmFibGVkICYmIElzQXBwbGUoKSAmJiBpc0ludGVsKTsKKwogICAgIEFOR0xF
X0ZFQVRVUkVfQ09ORElUSU9OKGZlYXR1cmVzLCByZW1vdmVEeW5hbWljSW5kZXhpbmdPZlN3aXp6
bGVkVmVjdG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzQXBwbGUoKSB8fCBJc0Fu
ZHJvaWQoKSB8fCBJc1dpbmRvd3MoKSk7CiAKQEAgLTE2ODAsNiArMTcxNyw4IEBAIHZvaWQgSW5p
dGlhbGl6ZUZlYXR1cmVzKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGZWF0
dXJlc0dMICpmZWF0dXJlCiAgICAgLy8gV29ya2Fyb3VuZCBmb3IgaW5jb3JyZWN0IHNhbXBsaW5n
IGZyb20gRFhUMSBzUkdCIHRleHR1cmVzIGluIEludGVsIE9wZW5HTCBvbiBXaW5kb3dzLgogICAg
IEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKGZlYXR1cmVzLCBhdm9pZERYVDFzUkdCVGV4dHVyZUZv
cm1hdCwgSXNXaW5kb3dzKCkgJiYgaXNJbnRlbCk7CiAKKyAgICBBTkdMRV9GRUFUVVJFX0NPTkRJ
VElPTihmZWF0dXJlcywgZGlzYWJsZURyYXdCdWZmZXJzSW5kZXhlZCwgSXNXaW5kb3dzKCkgJiYg
aXNBTUQpOworCiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oCiAgICAgICAgIGZlYXR1cmVz
LCBkaXNhYmxlU2VtYXBob3JlRmQsCiAgICAgICAgIElzTGludXgoKSAmJiBpc0FNRCAmJiBpc01l
c2EgJiYgbWVzYVZlcnNpb24gPCAoc3RkOjphcnJheTxpbnQsIDM+ezE5LCAzLCA1fSkpOwpAQCAt
MTk1OSw5ICsxOTk4LDExIEBAIGFuZ2xlOjpSZXN1bHQgQ2hlY2tFcnJvcihjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgRVJSKCkgPDwgIkdMIGNhbGwgIiA8PCBjYWxsIDw8ICIg
Z2VuZXJhdGVkIGVycm9yICIgPDwgZ2w6OkZtdEhleChlcnJvcikgPDwgIiBpbiAiIDw8IGZpbGUK
ICAgICAgICAgICAgICAgPDwgIiwgIiA8PCBmdW5jdGlvbiA8PCAiOiIgPDwgbGluZSA8PCAiLiAi
OwogCi0gICAgICAgIC8vIENoZWNrIHRoYXQgb25seSBvbmUgR0wgZXJyb3Igd2FzIGdlbmVyYXRl
ZCwgQ2xlYXJFcnJvcnMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgZmlyc3QKKyAgICAgICAgLy8g
Q2hlY2sgdGhhdCBvbmx5IG9uZSBHTCBlcnJvciB3YXMgZ2VuZXJhdGVkLCBDbGVhckVycm9ycyBz
aG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBmaXJzdC4KKyAgICAgICAgLy8gU2tpcCBHTF9DT05URVhU
X0xPU1QgZXJyb3JzLCB0aGV5IHdpbGwgYmUgZ2VuZXJhdGVkIGNvbnRpbnVvdXNseSBhbmQgcmVz
dWx0IGluIGFuCisgICAgICAgIC8vIGluZmluaXRlIGxvb3AuCiAgICAgICAgIEdMZW51bSBuZXh0
RXJyb3IgPSBmdW5jdGlvbnMtPmdldEVycm9yKCk7Ci0gICAgICAgIHdoaWxlIChuZXh0RXJyb3Ig
IT0gR0xfTk9fRVJST1IpCisgICAgICAgIHdoaWxlIChuZXh0RXJyb3IgIT0gR0xfTk9fRVJST1Ig
JiYgbmV4dEVycm9yICE9IEdMX0NPTlRFWFRfTE9TVCkKICAgICAgICAgewogICAgICAgICAgICAg
RVJSKCkgPDwgIkFkZGl0aW9uYWwgR0wgZXJyb3IgIiA8PCBnbDo6Rm10SGV4KG5leHRFcnJvcikg
PDwgIiBnZW5lcmF0ZWQuIjsKICAgICAgICAgICAgIG5leHRFcnJvciA9IGZ1bmN0aW9ucy0+Z2V0
RXJyb3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbHNsYW5nX3dyYXBwZXJfdXRpbHMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsc2xhbmdfd3JhcHBlcl91dGlscy5jcHAKaW5k
ZXggNGU2ODkzOTI2OGViMWQ1ZDRjYmViN2NhMjI3MTcyYTNkYjY2MzE4NS4uM2Y0YmJkMzk4MTFh
MmFjMzdkMWIwZGUxNWE3ZDM4NDFjYzU2MzIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsc2xhbmdfd3JhcHBlcl91dGlscy5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsc2xh
bmdfd3JhcHBlcl91dGlscy5jcHAKQEAgLTk2LDYgKzk2LDcgQEAgdm9pZCBHZXRCdWlsdEluUmVz
b3VyY2VzRnJvbUNhcHMoY29uc3QgZ2w6OkNhcHMgJmNhcHMsIFRCdWlsdEluUmVzb3VyY2UgKm91
dEJ1aWwKICAgICBvdXRCdWlsdEluUmVzb3VyY2VzLT5tYXhWZXJ0ZXhBdHRyaWJzICAgICAgICAg
ICAgICAgICA9IGNhcHMubWF4VmVydGV4QXR0cmlidXRlczsKICAgICBvdXRCdWlsdEluUmVzb3Vy
Y2VzLT5tYXhWZXJ0ZXhPdXRwdXRDb21wb25lbnRzICAgICAgICA9IGNhcHMubWF4VmVydGV4T3V0
cHV0Q29tcG9uZW50czsKICAgICBvdXRCdWlsdEluUmVzb3VyY2VzLT5tYXhWZXJ0ZXhVbmlmb3Jt
VmVjdG9ycyAgICAgICAgICA9IGNhcHMubWF4VmVydGV4VW5pZm9ybVZlY3RvcnM7CisgICAgb3V0
QnVpbHRJblJlc291cmNlcy0+bWF4Q2xpcERpc3RhbmNlcyAgICAgICAgICAgICAgICAgPSBjYXBz
Lm1heENsaXBEaXN0YW5jZXM7CiB9CiAKIC8vIFRlc3QgaWYgdGhlcmUgYXJlIG5vbi16ZXJvIGlu
ZGljZXMgaW4gdGhlIHVuaWZvcm0gbmFtZSwgcmV0dXJuaW5nIGZhbHNlIGluIHRoYXQgY2FzZS4g
IFRoaXMKQEAgLTQ1NiwxMiArNDU3LDEyIEBAIHZvaWQgR2VuZXJhdGVUcmFuc2Zvcm1GZWVkYmFj
a0V4dGVuc2lvbk91dHB1dHMoY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0CiAgICAg
KnZlcnRleFNoYWRlciA9IFN1YnN0aXR1dGVUcmFuc2Zvcm1GZWVkYmFja01hcmtlcnMoKnZlcnRl
eFNoYWRlciwgeGZiRGVjbCwgeGZiT3V0KTsKIH0KIAotdm9pZCBBc3NpZ25BdHRyaWJ1dGVMb2Nh
dGlvbnMoY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0YXRlLAordm9pZCBBc3NpZ25B
dHRyaWJ1dGVMb2NhdGlvbnMoY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZwcm9ncmFtRXhl
Y3V0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpTaGFkZXJUeXBlIHN0
YWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFi
bGVJbmZvTWFwICp2YXJpYWJsZUluZm9NYXBPdXQpCiB7CiAgICAgLy8gQXNzaWduIGF0dHJpYnV0
ZSBsb2NhdGlvbnMgZm9yIHRoZSB2ZXJ0ZXggc2hhZGVyLgotICAgIGZvciAoY29uc3Qgc2g6OlNo
YWRlclZhcmlhYmxlICZhdHRyaWJ1dGUgOiBwcm9ncmFtU3RhdGUuZ2V0UHJvZ3JhbUlucHV0cygp
KQorICAgIGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZhdHRyaWJ1dGUgOiBwcm9ncmFt
RXhlY3V0YWJsZS5nZXRQcm9ncmFtSW5wdXRzKCkpCiAgICAgewogICAgICAgICBBU1NFUlQoYXR0
cmlidXRlLmFjdGl2ZSk7CiAKQEAgLTQ3MCwxNSArNDcxLDE1IEBAIHZvaWQgQXNzaWduQXR0cmli
dXRlTG9jYXRpb25zKGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKICAgICB9
CiB9CiAKLXZvaWQgQXNzaWduT3V0cHV0TG9jYXRpb25zKGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUg
JnByb2dyYW1TdGF0ZSwKK3ZvaWQgQXNzaWduT3V0cHV0TG9jYXRpb25zKGNvbnN0IGdsOjpQcm9n
cmFtRXhlY3V0YWJsZSAmcHJvZ3JhbUV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICp2YXJpYWJsZUluZm9NYXBP
dXQpCiB7CiAgICAgLy8gQXNzaWduIG91dHB1dCBsb2NhdGlvbnMgZm9yIHRoZSBmcmFnbWVudCBz
aGFkZXIuCiAgICAgQVNTRVJUKHNoYWRlclR5cGUgPT0gZ2w6OlNoYWRlclR5cGU6OkZyYWdtZW50
KTsKICAgICAvLyBUT0RPKHN5b3Vzc2VmaSk6IEFkZCBzdXBwb3J0IGZvciBFWFRfYmxlbmRfZnVu
Y19leHRlbmRlZC4gIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzM4NQotICAgIGNvbnN0IGF1dG8gJm91
dHB1dExvY2F0aW9ucyAgICAgICAgICAgICAgICAgICAgICA9IHByb2dyYW1TdGF0ZS5nZXRPdXRw
dXRMb2NhdGlvbnMoKTsKLSAgICBjb25zdCBhdXRvICZvdXRwdXRWYXJpYWJsZXMgICAgICAgICAg
ICAgICAgICAgICAgPSBwcm9ncmFtU3RhdGUuZ2V0T3V0cHV0VmFyaWFibGVzKCk7CisgICAgY29u
c3QgYXV0byAmb3V0cHV0TG9jYXRpb25zICAgICAgICAgICAgICAgICAgICAgID0gcHJvZ3JhbUV4
ZWN1dGFibGUuZ2V0T3V0cHV0TG9jYXRpb25zKCk7CisgICAgY29uc3QgYXV0byAmb3V0cHV0VmFy
aWFibGVzICAgICAgICAgICAgICAgICAgICAgID0gcHJvZ3JhbUV4ZWN1dGFibGUuZ2V0T3V0cHV0
VmFyaWFibGVzKCk7CiAgICAgY29uc3Qgc3RkOjphcnJheTxzdGQ6OnN0cmluZywgMz4gaW1wbGlj
aXRPdXRwdXRzID0geyJnbF9GcmFnRGVwdGgiLCAiZ2xfU2FtcGxlTWFzayIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbF9GcmFnU3Rl
bmNpbFJlZkFSQiJ9OwogCkBAIC01MTcsMTMgKzUxOCwxMiBAQCB2b2lkIEFzc2lnbk91dHB1dExv
Y2F0aW9ucyhjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCiB9CiAKIHZvaWQg
QXNzaWduVmFyeWluZ0xvY2F0aW9ucyhjb25zdCBHbHNsYW5nU291cmNlT3B0aW9ucyAmb3B0aW9u
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZw
cm9ncmFtU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dy
YW1MaW5rZWRSZXNvdXJjZXMgJnJlc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJnByb2dyYW1FeGVjdXRhYmxlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR2xzbGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZvICpw
cm9ncmFtSW50ZXJmYWNlSW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFkZXJN
YXBJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgKnZhcmlhYmxlSW5mb01hcE91dCkKIHsKLSAgICB1
aW50MzJfdCBsb2NhdGlvbnNVc2VkRm9yRW11bGF0aW9uICAgICAgICA9IHByb2dyYW1JbnRlcmZh
Y2VJbmZvLT5sb2NhdGlvbnNVc2VkRm9yWGZiRXh0ZW5zaW9uOwotICAgIGNvbnN0IGdsOjpQcm9n
cmFtRXhlY3V0YWJsZSAmZ2xFeGVjdXRhYmxlID0gcHJvZ3JhbVN0YXRlLmdldFByb2dyYW1FeGVj
dXRhYmxlKCk7CisgICAgdWludDMyX3QgbG9jYXRpb25zVXNlZEZvckVtdWxhdGlvbiA9IHByb2dy
YW1JbnRlcmZhY2VJbmZvLT5sb2NhdGlvbnNVc2VkRm9yWGZiRXh0ZW5zaW9uOwogCiAgICAgLy8g
U3Vic3RpdHV0ZSBsYXlvdXQgYW5kIHF1YWxpZmllciBzdHJpbmdzIGZvciB0aGUgcG9zaXRpb24g
dmFyeWluZyBhZGRlZCBmb3IgbGluZSByYXN0ZXIKICAgICAvLyBlbXVsYXRpb24uCkBAIC01MzEs
MTcgKzUzMSwxNCBAQCB2b2lkIEFzc2lnblZhcnlpbmdMb2NhdGlvbnMoY29uc3QgR2xzbGFuZ1Nv
dXJjZU9wdGlvbnMgJm9wdGlvbnMsCiAgICAgewogICAgICAgICB1aW50MzJfdCBsaW5lUmFzdGVy
RW11bGF0aW9uUG9zaXRpb25Mb2NhdGlvbiA9IGxvY2F0aW9uc1VzZWRGb3JFbXVsYXRpb24rKzsK
IAotICAgICAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbEV4ZWN1
dGFibGUuZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFk
ZExvY2F0aW9uSW5mbygmKCp2YXJpYWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNoOjp2azo6a0xpbmVSYXN0ZXJFbXVsYXRpb25Qb3NpdGlv
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUmFzdGVyRW11bGF0aW9uUG9zaXRp
b25Mb2NhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFkZXJJbnRlcmZhY2VW
YXJpYWJsZUluZm86OmtJbnZhbGlkLCBzaGFkZXJUeXBlKTsKLSAgICAgICAgfQorICAgICAgICBB
ZGRMb2NhdGlvbkluZm8oJigqdmFyaWFibGVJbmZvTWFwT3V0KVtzaGFkZXJUeXBlXSwgc2g6OnZr
OjprTGluZVJhc3RlckVtdWxhdGlvblBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg
bGluZVJhc3RlckVtdWxhdGlvblBvc2l0aW9uTG9jYXRpb24sIFNoYWRlckludGVyZmFjZVZhcmlh
YmxlSW5mbzo6a0ludmFsaWQsCisgICAgICAgICAgICAgICAgICAgICAgICBzaGFkZXJUeXBlKTsK
ICAgICB9CiAKICAgICAvLyBBc3NpZ24gdmFyeWluZyBsb2NhdGlvbnMuCi0gICAgZm9yIChjb25z
dCBnbDo6UGFja2VkVmFyeWluZ1JlZ2lzdGVyICZ2YXJ5aW5nUmVnIDogcmVzb3VyY2VzLnZhcnlp
bmdQYWNraW5nLmdldFJlZ2lzdGVyTGlzdCgpKQorICAgIGZvciAoY29uc3QgZ2w6OlBhY2tlZFZh
cnlpbmdSZWdpc3RlciAmdmFyeWluZ1JlZyA6CisgICAgICAgICBwcm9ncmFtRXhlY3V0YWJsZS5n
ZXRSZXNvdXJjZXMoKS52YXJ5aW5nUGFja2luZy5nZXRSZWdpc3Rlckxpc3QoKSkKICAgICB7CiAg
ICAgICAgIGlmICghSXNGaXJzdFJlZ2lzdGVyT2ZWYXJ5aW5nKHZhcnlpbmdSZWcpKQogICAgICAg
ICB7CkBAIC01NjYsNyArNTYzLDcgQEAgdm9pZCBBc3NpZ25WYXJ5aW5nTG9jYXRpb25zKGNvbnN0
IEdsc2xhbmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAgICAgICAvLwogICAgICAgICAvLyAi
X3V2YXJTdHJ1Y3QiIGlzIGZvdW5kIHRocm91Z2ggfHBhcmVudFN0cnVjdE1hcHBlZE5hbWV8LCB3
aXRoIHx2YXJ5aW5nLT5tYXBwZWROYW1lfAogICAgICAgICAvLyBiZWluZyAiX3VmaWVsZCIuICBJ
biBzdWNoIGEgY2FzZSwgdXNlIHxwYXJlbnRTdHJ1Y3RNYXBwZWROYW1lfC4KLSAgICAgICAgaWYg
KHZhcnlpbmcuZnJvbnRWYXJ5aW5nLnZhcnlpbmcpCisgICAgICAgIGlmICh2YXJ5aW5nLmZyb250
VmFyeWluZy52YXJ5aW5nICYmICh2YXJ5aW5nLmZyb250VmFyeWluZy5zdGFnZSA9PSBzaGFkZXJU
eXBlKSkKICAgICAgICAgewogICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJm5hbWUgPSB2
YXJ5aW5nLmlzU3RydWN0RmllbGQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPyB2YXJ5aW5nLmZyb250VmFyeWluZy5wYXJlbnRTdHJ1Y3RNYXBwZWROYW1lCkBA
IC01NzQsNyArNTcxLDcgQEAgdm9pZCBBc3NpZ25WYXJ5aW5nTG9jYXRpb25zKGNvbnN0IEdsc2xh
bmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAgICAgICAgICAgQWRkTG9jYXRpb25JbmZvKCYo
KnZhcmlhYmxlSW5mb01hcE91dClbdmFyeWluZy5mcm9udFZhcnlpbmcuc3RhZ2VdLCBuYW1lLCBs
b2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQsIHZhcnlpbmcu
ZnJvbnRWYXJ5aW5nLnN0YWdlKTsKICAgICAgICAgfQotICAgICAgICBpZiAodmFyeWluZy5iYWNr
VmFyeWluZy52YXJ5aW5nKQorICAgICAgICBpZiAodmFyeWluZy5iYWNrVmFyeWluZy52YXJ5aW5n
ICYmICh2YXJ5aW5nLmJhY2tWYXJ5aW5nLnN0YWdlID09IHNoYWRlclR5cGUpKQogICAgICAgICB7
CiAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmbmFtZSA9IHZhcnlpbmcuaXNTdHJ1Y3RG
aWVsZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHZhcnlp
bmcuYmFja1ZhcnlpbmcucGFyZW50U3RydWN0TWFwcGVkTmFtZQpAQCAtNTg2LDQ1ICs1ODMsNDEg
QEAgdm9pZCBBc3NpZ25WYXJ5aW5nTG9jYXRpb25zKGNvbnN0IEdsc2xhbmdTb3VyY2VPcHRpb25z
ICZvcHRpb25zLAogCiAgICAgLy8gQWRkIGFuIGVudHJ5IGZvciBpbmFjdGl2ZSB2YXJ5aW5ncy4K
ICAgICBjb25zdCBnbDo6U2hhZGVyTWFwPHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPj4gJmluYWN0
aXZlVmFyeWluZ01hcHBlZE5hbWVzID0KLSAgICAgICAgcmVzb3VyY2VzLnZhcnlpbmdQYWNraW5n
LmdldEluYWN0aXZlVmFyeWluZ01hcHBlZE5hbWVzKCk7Ci0gICAgZm9yIChjb25zdCBnbDo6U2hh
ZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2xFeGVjdXRhYmxlLmdldExpbmtlZFNoYWRlclN0YWdlcygp
KQorICAgICAgICBwcm9ncmFtRXhlY3V0YWJsZS5nZXRSZXNvdXJjZXMoKS52YXJ5aW5nUGFja2lu
Zy5nZXRJbmFjdGl2ZVZhcnlpbmdNYXBwZWROYW1lcygpOworICAgIGZvciAoY29uc3Qgc3RkOjpz
dHJpbmcgJnZhcnlpbmdOYW1lIDogaW5hY3RpdmVWYXJ5aW5nTWFwcGVkTmFtZXNbc2hhZGVyVHlw
ZV0pCiAgICAgewotICAgICAgICBmb3IgKGNvbnN0IHN0ZDo6c3RyaW5nICZ2YXJ5aW5nTmFtZSA6
IGluYWN0aXZlVmFyeWluZ01hcHBlZE5hbWVzW3NoYWRlclR5cGVdKQorICAgICAgICBib29sIGlz
QnVpbHRpbiA9IGFuZ2xlOjpCZWdpbnNXaXRoKHZhcnlpbmdOYW1lLCAiZ2xfIik7CisgICAgICAg
IGlmIChpc0J1aWx0aW4pCiAgICAgICAgIHsKLSAgICAgICAgICAgIGJvb2wgaXNCdWlsdGluID0g
YW5nbGU6OkJlZ2luc1dpdGgodmFyeWluZ05hbWUsICJnbF8iKTsKLSAgICAgICAgICAgIGlmIChp
c0J1aWx0aW4pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIElmIG5hbWUgaXMgYWxyZWFkeSBpbiB0aGUgbWFw
LCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgaGF2ZSBtYXJrZWQgYWxsIG90aGVyIHN0YWdlcwotICAg
ICAgICAgICAgLy8gaW5hY3RpdmUuCi0gICAgICAgICAgICBpZiAoKCp2YXJpYWJsZUluZm9NYXBP
dXQpW3NoYWRlclR5cGVdLmZpbmQodmFyeWluZ05hbWUpICE9Ci0gICAgICAgICAgICAgICAgKCp2
YXJpYWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLmVuZCgpKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBhZGQgYW4gZW50cnkg
Zm9yIGl0IHdpdGggYWxsIGxvY2F0aW9ucyBpbmFjdGl2ZS4KLSAgICAgICAgICAgIFNoYWRlcklu
dGVyZmFjZVZhcmlhYmxlSW5mbyAqaW5mbyA9ICYoKnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVy
VHlwZV1bdmFyeWluZ05hbWVdOwotICAgICAgICAgICAgQVNTRVJUKGluZm8tPmxvY2F0aW9uID09
IFNoYWRlckludGVyZmFjZVZhcmlhYmxlSW5mbzo6a0ludmFsaWQpOworICAgICAgICAvLyBJZiBu
YW1lIGlzIGFscmVhZHkgaW4gdGhlIG1hcCwgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGhhdmUgbWFy
a2VkIGFsbCBvdGhlciBzdGFnZXMKKyAgICAgICAgLy8gaW5hY3RpdmUuCisgICAgICAgIGlmICgo
KnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVyVHlwZV0uZmluZCh2YXJ5aW5nTmFtZSkgIT0KKyAg
ICAgICAgICAgICgqdmFyaWFibGVJbmZvTWFwT3V0KVtzaGFkZXJUeXBlXS5lbmQoKSkKKyAgICAg
ICAgeworICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KKworICAgICAgICAvLyBPdGhl
cndpc2UsIGFkZCBhbiBlbnRyeSBmb3IgaXQgd2l0aCBhbGwgbG9jYXRpb25zIGluYWN0aXZlLgor
ICAgICAgICBTaGFkZXJJbnRlcmZhY2VWYXJpYWJsZUluZm8gKmluZm8gPSAmKCp2YXJpYWJsZUlu
Zm9NYXBPdXQpW3NoYWRlclR5cGVdW3ZhcnlpbmdOYW1lXTsKKyAgICAgICAgQVNTRVJUKGluZm8t
PmxvY2F0aW9uID09IFNoYWRlckludGVyZmFjZVZhcmlhYmxlSW5mbzo6a0ludmFsaWQpOwogICAg
IH0KIH0KIAogLy8gQ2FsY3VsYXRlcyBYRkIgbGF5b3V0IHF1YWxpZmllciBhcmd1bWVudHMgZm9y
IGVhY2ggdHJhbmZvcm0gZmVlZGJhY2sgdmFyeWluZy4gIFN0b3JlcyBjYWxjdWxhdGVkCiAvLyB2
YWx1ZXMgZm9yIHRoZSBTUElSLVYgdHJhbnNmb3JtYXRpb24uCi12b2lkIEFzc2lnblRyYW5zZm9y
bUZlZWRiYWNrRXh0ZW5zaW9uUXVhbGlmaWVycyhjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9n
cmFtU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6UHJvZ3JhbUxpbmtlZFJlc291cmNlcyAmcmVzb3VyY2VzLAordm9pZCBBc3Np
Z25UcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvblF1YWxpZmllcnMoY29uc3QgZ2w6OlByb2dyYW1F
eGVjdXRhYmxlICZwcm9ncmFtRXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxvY2F0aW9uc1VzZWRGb3JYZmJFeHRlbnNp
b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICp2YXJp
YWJsZUluZm9NYXBPdXQpCiB7CiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Z2w6OlRyYW5zZm9ybUZl
ZWRiYWNrVmFyeWluZz4gJnRmVmFyeWluZ3MgPQotICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0TGlu
a2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncygpOwotICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdM
c2l6ZWk+ICZ2YXJ5aW5nU3RyaWRlcyA9IHByb2dyYW1TdGF0ZS5nZXRUcmFuc2Zvcm1GZWVkYmFj
a1N0cmlkZXMoKTsKKyAgICAgICAgcHJvZ3JhbUV4ZWN1dGFibGUuZ2V0TGlua2VkVHJhbnNmb3Jt
RmVlZGJhY2tWYXJ5aW5ncygpOworICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdMc2l6ZWk+ICZ2YXJ5
aW5nU3RyaWRlcyA9IHByb2dyYW1FeGVjdXRhYmxlLmdldFRyYW5zZm9ybUZlZWRiYWNrU3RyaWRl
cygpOwogICAgIGNvbnN0IGJvb2wgaXNJbnRlcmxlYXZlZCA9Ci0gICAgICAgIHByb2dyYW1TdGF0
ZS5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKSA9PSBHTF9JTlRFUkxFQVZFRF9BVFRS
SUJTOworICAgICAgICBwcm9ncmFtRXhlY3V0YWJsZS5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZl
ck1vZGUoKSA9PSBHTF9JTlRFUkxFQVZFRF9BVFRSSUJTOwogCiAgICAgc3RkOjpzdHJpbmcgeGZi
RGVjbDsKICAgICBzdGQ6OnN0cmluZyB4ZmJPdXQ7CkBAIC02NzgsNyArNjcxLDcgQEAgdm9pZCBB
c3NpZ25UcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvblF1YWxpZmllcnMoY29uc3QgZ2w6OlByb2dy
YW1TdGF0ZSAmcHJvZ3JhbVMKICAgICAgICAgICAgIC8vIG9ubHkgdGhhdCwgYnV0IGFsc28gd2Ug
c2hvdWxkIG9ubHkgZG8gdGhpcyBmb3IgdGhlIGZpcnN0IGZpZWxkIG9mIHRoZSBzdHJ1Y3QuCiAg
ICAgICAgICAgICBjb25zdCBnbDo6UGFja2VkVmFyeWluZyAqb3JpZ2luYWxWYXJ5aW5nID0gbnVs
bHB0cjsKICAgICAgICAgICAgIGZvciAoY29uc3QgZ2w6OlBhY2tlZFZhcnlpbmdSZWdpc3RlciAm
dmFyeWluZ1JlZyA6Ci0gICAgICAgICAgICAgICAgIHJlc291cmNlcy52YXJ5aW5nUGFja2luZy5n
ZXRSZWdpc3Rlckxpc3QoKSkKKyAgICAgICAgICAgICAgICAgcHJvZ3JhbUV4ZWN1dGFibGUuZ2V0
UmVzb3VyY2VzKCkudmFyeWluZ1BhY2tpbmcuZ2V0UmVnaXN0ZXJMaXN0KCkpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgaWYgKCFJc0ZpcnN0UmVnaXN0ZXJPZlZhcnlpbmcodmFyeWlu
Z1JlZykpCiAgICAgICAgICAgICAgICAgewpAQCAtNzExLDMzICs3MDQsMzEgQEAgdm9pZCBBc3Np
Z25UcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvblF1YWxpZmllcnMoY29uc3QgZ2w6OlByb2dyYW1T
dGF0ZSAmcHJvZ3JhbVMKIH0KIAogdm9pZCBBc3NpZ25Vbmlmb3JtQmluZGluZ3MoR2xzbGFuZ1Nv
dXJjZU9wdGlvbnMgJm9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJnByb2dyYW1FeGVjdXRhYmxlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbyAqcHJv
Z3JhbUludGVyZmFjZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFkZXJNYXBJ
bnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgKnZhcmlhYmxlSW5mb01hcE91dCkKIHsKLSAgICBmb3Ig
KGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbDo6QWxsU2hhZGVyVHlwZXMoKSkK
KyAgICBpZiAocHJvZ3JhbUV4ZWN1dGFibGUuaGFzTGlua2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlw
ZSkpCiAgICAgewotICAgICAgICBpZiAocHJvZ3JhbVN0YXRlLmdldEF0dGFjaGVkU2hhZGVyKHNo
YWRlclR5cGUpIHx8Ci0gICAgICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFi
bGUoKS5oYXNMaW5rZWRTaGFkZXJTdGFnZShzaGFkZXJUeXBlKSkKLSAgICAgICAgewotICAgICAg
ICAgICAgQWRkUmVzb3VyY2VJbmZvKCYoKnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVyVHlwZV0s
IGtEZWZhdWx0VW5pZm9ybU5hbWVzW3NoYWRlclR5cGVdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZvLT51bmlmb3Jtc0FuZFhmYkRlc2NyaXB0b3JTZXRJ
bmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtSW50ZXJmYWNlSW5mby0+
Y3VycmVudFVuaWZvcm1CaW5kaW5nSW5kZXgsIHNoYWRlclR5cGUpOwotICAgICAgICAgICAgKytw
cm9ncmFtSW50ZXJmYWNlSW5mby0+Y3VycmVudFVuaWZvcm1CaW5kaW5nSW5kZXg7Ci0KLSAgICAg
ICAgICAgIC8vIEFzc2lnbiBiaW5kaW5nIHRvIHRoZSBkcml2ZXIgdW5pZm9ybXMgYmxvY2sKLSAg
ICAgICAgICAgIEFkZFJlc291cmNlSW5mb1RvQWxsU3RhZ2VzKCYoKnZhcmlhYmxlSW5mb01hcE91
dClbc2hhZGVyVHlwZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aDo6dms6OmtEcml2ZXJVbmlmb3Jtc0Jsb2NrTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZvLT5kcml2ZXJVbmlmb3Jtc0Rlc2Ny
aXB0b3JTZXRJbmRleCwgMCk7Ci0gICAgICAgIH0KKyAgICAgICAgQWRkUmVzb3VyY2VJbmZvKCYo
KnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVyVHlwZV0sIGtEZWZhdWx0VW5pZm9ybU5hbWVzW3No
YWRlclR5cGVdLAorICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8t
PnVuaWZvcm1zQW5kWGZiRGVzY3JpcHRvclNldEluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPmN1cnJlbnRVbmlmb3JtQmluZGluZ0luZGV4LCBzaGFk
ZXJUeXBlKTsKKyAgICAgICAgKytwcm9ncmFtSW50ZXJmYWNlSW5mby0+Y3VycmVudFVuaWZvcm1C
aW5kaW5nSW5kZXg7CisKKyAgICAgICAgLy8gQXNzaWduIGJpbmRpbmcgdG8gdGhlIGRyaXZlciB1
bmlmb3JtcyBibG9jaworICAgICAgICBBZGRSZXNvdXJjZUluZm9Ub0FsbFN0YWdlcygmKCp2YXJp
YWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzaDo6dms6OmtEcml2ZXJVbmlmb3Jtc0Jsb2NrTmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPmRyaXZlclVuaWZvcm1z
RGVzY3JpcHRvclNldEluZGV4LCAwKTsKICAgICB9CiB9CiAKIC8vIFRPRE86IGh0dHA6Ly9hbmds
ZWJ1Zy5jb20vNDUxMjogTmVlZCB0byBjb21iaW5lIGRlc2NyaXB0b3Igc2V0IGJpbmRpbmdzIGFj
cm9zcwogLy8gc2hhZGVyIHN0YWdlcy4KIHZvaWQgQXNzaWduSW50ZXJmYWNlQmxvY2tCaW5kaW5n
cyhHbHNsYW5nU291cmNlT3B0aW9ucyAmb3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZw
cm9ncmFtRXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdGQ6OnZlY3RvcjxnbDo6SW50ZXJmYWNlQmxvY2s+ICZibG9ja3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHbHNsYW5nUHJvZ3JhbUludGVyZmFjZUlu
Zm8gKnByb2dyYW1JbnRlcmZhY2VJbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01hcCAqdmFyaWFibGVJbmZvTWFwT3V0
KQogewpAQCAtNzQ1LDE4ICs3MzYsMTQgQEAgdm9pZCBBc3NpZ25JbnRlcmZhY2VCbG9ja0JpbmRp
bmdzKEdsc2xhbmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAgIHsKICAgICAgICAgaWYgKCFi
bG9jay5pc0FycmF5IHx8IGJsb2NrLmFycmF5RWxlbWVudCA9PSAwKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbDo6QWxsU2hh
ZGVyVHlwZXMoKSkKKyAgICAgICAgICAgIC8vIFRPRE86IGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDUy
MzogQWxsIGJsb2NrcyBzaG91bGQgYmUgYWN0aXZlCisgICAgICAgICAgICBpZiAocHJvZ3JhbUV4
ZWN1dGFibGUuaGFzTGlua2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlwZSkgJiYgYmxvY2suaXNBY3Rp
dmUoc2hhZGVyVHlwZSkpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLy8gVE9ETzog
aHR0cDovL2FuZ2xlYnVnLmNvbS80NTIzOiBBbGwgYmxvY2tzIHNob3VsZCBiZSBhY3RpdmUKLSAg
ICAgICAgICAgICAgICBpZiAocHJvZ3JhbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCkuaGFz
TGlua2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlwZSkgJiYKLSAgICAgICAgICAgICAgICAgICAgYmxv
Y2suaXNBY3RpdmUoc2hhZGVyVHlwZSkpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICBBZGRSZXNvdXJjZUluZm8oJigqdmFyaWFibGVJbmZvTWFwT3V0KVtzaGFkZXJUeXBl
XSwgYmxvY2subWFwcGVkTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHByb2dyYW1JbnRlcmZhY2VJbmZvLT5zaGFkZXJSZXNvdXJjZURlc2NyaXB0b3JTZXRJbmRleCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZv
LT5jdXJyZW50U2hhZGVyUmVzb3VyY2VCaW5kaW5nSW5kZXgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaGFkZXJUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgKytwcm9n
cmFtSW50ZXJmYWNlSW5mby0+Y3VycmVudFNoYWRlclJlc291cmNlQmluZGluZ0luZGV4OwotICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBBZGRSZXNvdXJjZUluZm8oJigqdmFyaWFi
bGVJbmZvTWFwT3V0KVtzaGFkZXJUeXBlXSwgYmxvY2subWFwcGVkTmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPnNoYWRlclJlc291cmNl
RGVzY3JpcHRvclNldEluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9n
cmFtSW50ZXJmYWNlSW5mby0+Y3VycmVudFNoYWRlclJlc291cmNlQmluZGluZ0luZGV4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkZXJUeXBlKTsKKyAgICAgICAgICAgICAg
ICArK3Byb2dyYW1JbnRlcmZhY2VJbmZvLT5jdXJyZW50U2hhZGVyUmVzb3VyY2VCaW5kaW5nSW5k
ZXg7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC03NjUsOCArNzUyLDkgQEAg
dm9pZCBBc3NpZ25JbnRlcmZhY2VCbG9ja0JpbmRpbmdzKEdsc2xhbmdTb3VyY2VPcHRpb25zICZv
cHRpb25zLAogLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVnLmNvbS80NTEyOiBOZWVkIHRvIGNvbWJp
bmUgZGVzY3JpcHRvciBzZXQgYmluZGluZ3MgYWNyb3NzCiAvLyBzaGFkZXIgc3RhZ2VzLgogdm9p
ZCBBc3NpZ25BdG9taWNDb3VudGVyQnVmZmVyQmluZGluZ3MoR2xzbGFuZ1NvdXJjZU9wdGlvbnMg
Jm9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJnByb2dyYW1FeGVjdXRh
YmxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2
ZWN0b3I8Z2w6OkF0b21pY0NvdW50ZXJCdWZmZXI+ICZidWZmZXJzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdsc2xhbmdQcm9ncmFtSW50
ZXJmYWNlSW5mbyAqcHJvZ3JhbUludGVyZmFjZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTaGFkZXJNYXBJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgKnZhcmlh
YmxlSW5mb01hcE91dCkKIHsKQEAgLTc3NSwyNCArNzYzLDIyIEBAIHZvaWQgQXNzaWduQXRvbWlj
Q291bnRlckJ1ZmZlckJpbmRpbmdzKEdsc2xhbmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFk
ZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5cGVzKCkpCisgICAgaWYgKHByb2dyYW1FeGVjdXRhYmxl
Lmhhc0xpbmtlZFNoYWRlclN0YWdlKHNoYWRlclR5cGUpKQogICAgIHsKLSAgICAgICAgaWYgKHBy
b2dyYW1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLmhhc0xpbmtlZFNoYWRlclN0YWdlKHNo
YWRlclR5cGUpKQotICAgICAgICB7Ci0gICAgICAgICAgICBBZGRSZXNvdXJjZUluZm8oJigqdmFy
aWFibGVJbmZvTWFwT3V0KVtzaGFkZXJUeXBlXSwgc2g6OnZrOjprQXRvbWljQ291bnRlcnNCbG9j
a05hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8t
PnNoYWRlclJlc291cmNlRGVzY3JpcHRvclNldEluZGV4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZvLT5jdXJyZW50U2hhZGVyUmVzb3VyY2VCaW5kaW5n
SW5kZXgsIHNoYWRlclR5cGUpOwotICAgICAgICAgICAgKytwcm9ncmFtSW50ZXJmYWNlSW5mby0+
Y3VycmVudFNoYWRlclJlc291cmNlQmluZGluZ0luZGV4OwotICAgICAgICB9CisgICAgICAgIEFk
ZFJlc291cmNlSW5mbygmKCp2YXJpYWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLCBzaDo6dms6
OmtBdG9taWNDb3VudGVyc0Jsb2NrTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb2dy
YW1JbnRlcmZhY2VJbmZvLT5zaGFkZXJSZXNvdXJjZURlc2NyaXB0b3JTZXRJbmRleCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZvLT5jdXJyZW50U2hhZGVyUmVz
b3VyY2VCaW5kaW5nSW5kZXgsIHNoYWRlclR5cGUpOworICAgICAgICArK3Byb2dyYW1JbnRlcmZh
Y2VJbmZvLT5jdXJyZW50U2hhZGVyUmVzb3VyY2VCaW5kaW5nSW5kZXg7CiAgICAgfQogfQogCiAv
LyBUT0RPOiBodHRwOi8vYW5nbGVidWcuY29tLzQ1MTI6IE5lZWQgdG8gY29tYmluZSBkZXNjcmlw
dG9yIHNldCBiaW5kaW5ncyBhY3Jvc3MKIC8vIHNoYWRlciBzdGFnZXMuCiB2b2lkIEFzc2lnbklt
YWdlQmluZGluZ3MoR2xzbGFuZ1NvdXJjZU9wdGlvbnMgJm9wdGlvbnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0YXRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAmcHJvZ3JhbUV4
ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Z2w6
OkxpbmtlZFVuaWZvcm0+ICZ1bmlmb3JtcywKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6UmFuZ2VVSSAmaW1hZ2VVbmlmb3JtUmFuZ2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBHbHNsYW5nUHJvZ3JhbUludGVyZmFjZUluZm8gKnByb2dyYW1JbnRlcmZhY2VJbmZvLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01h
cCAqdmFyaWFibGVJbmZvTWFwT3V0KQogewpAQCAtODAzLDU2ICs3ODksNTYgQEAgdm9pZCBBc3Np
Z25JbWFnZUJpbmRpbmdzKEdsc2xhbmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAgICAgICBz
dGQ6OnN0cmluZyBuYW1lID0gaW1hZ2VVbmlmb3JtLm1hcHBlZE5hbWU7CiAgICAgICAgIGlmIChH
ZXRJbWFnZU5hbWVXaXRob3V0SW5kaWNlcygmbmFtZSkpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdsOjpBbGxTaGFkZXJUeXBl
cygpKQorICAgICAgICAgICAgaWYgKHByb2dyYW1FeGVjdXRhYmxlLmhhc0xpbmtlZFNoYWRlclN0
YWdlKHNoYWRlclR5cGUpKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChwcm9n
cmFtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKS5oYXNMaW5rZWRTaGFkZXJTdGFnZShzaGFk
ZXJUeXBlKSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEFkZFJlc291
cmNlSW5mbygmKCp2YXJpYWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLCBuYW1lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPnNoYWRl
clJlc291cmNlRGVzY3JpcHRvclNldEluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPmN1cnJlbnRTaGFkZXJSZXNvdXJjZUJpbmRp
bmdJbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlclR5cGUp
OwotICAgICAgICAgICAgICAgICAgICArK3Byb2dyYW1JbnRlcmZhY2VJbmZvLT5jdXJyZW50U2hh
ZGVyUmVzb3VyY2VCaW5kaW5nSW5kZXg7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIEFkZFJlc291cmNlSW5mbygmKCp2YXJpYWJsZUluZm9NYXBPdXQpW3NoYWRlclR5cGVdLCBu
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtSW50ZXJmYWNlSW5m
by0+c2hhZGVyUmVzb3VyY2VEZXNjcmlwdG9yU2V0SW5kZXgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHByb2dyYW1JbnRlcmZhY2VJbmZvLT5jdXJyZW50U2hhZGVyUmVzb3VyY2VC
aW5kaW5nSW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlclR5cGUp
OworICAgICAgICAgICAgICAgICsrcHJvZ3JhbUludGVyZmFjZUluZm8tPmN1cnJlbnRTaGFkZXJS
ZXNvdXJjZUJpbmRpbmdJbmRleDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIH0K
IAogdm9pZCBBc3NpZ25Ob25UZXh0dXJlQmluZGluZ3MoR2xzbGFuZ1NvdXJjZU9wdGlvbnMgJm9w
dGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0
YXRlICZwcm9ncmFtU3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6UHJvZ3JhbUV4ZWN1dGFibGUgJnByb2dyYW1FeGVjdXRhYmxlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbyAqcHJvZ3Jh
bUludGVyZmFjZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFkZXJNYXBJ
bnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgKnZhcmlhYmxlSW5mb01hcE91dCkKIHsKLSAgICBjb25z
dCBzdGQ6OnZlY3RvcjxnbDo6SW50ZXJmYWNlQmxvY2s+ICZ1bmlmb3JtQmxvY2tzID0gcHJvZ3Jh
bVN0YXRlLmdldFVuaWZvcm1CbG9ja3MoKTsKLSAgICBBc3NpZ25JbnRlcmZhY2VCbG9ja0JpbmRp
bmdzKG9wdGlvbnMsIHByb2dyYW1TdGF0ZSwgdW5pZm9ybUJsb2NrcywgcHJvZ3JhbUludGVyZmFj
ZUluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZUluZm9NYXBP
dXQpOworICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpJbnRlcmZhY2VCbG9jaz4gJnVuaWZvcm1C
bG9ja3MgPSBwcm9ncmFtRXhlY3V0YWJsZS5nZXRVbmlmb3JtQmxvY2tzKCk7CisgICAgQXNzaWdu
SW50ZXJmYWNlQmxvY2tCaW5kaW5ncyhvcHRpb25zLCBwcm9ncmFtRXhlY3V0YWJsZSwgdW5pZm9y
bUJsb2Nrcywgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b2dyYW1JbnRlcmZhY2VJbmZvLCB2YXJpYWJsZUluZm9NYXBPdXQpOwogCi0gICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8Z2w6OkludGVyZmFjZUJsb2NrPiAmc3RvcmFnZUJsb2NrcyA9IHByb2dyYW1TdGF0
ZS5nZXRTaGFkZXJTdG9yYWdlQmxvY2tzKCk7Ci0gICAgQXNzaWduSW50ZXJmYWNlQmxvY2tCaW5k
aW5ncyhvcHRpb25zLCBwcm9ncmFtU3RhdGUsIHN0b3JhZ2VCbG9ja3MsIHByb2dyYW1JbnRlcmZh
Y2VJbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVJbmZvTWFw
T3V0KTsKKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxnbDo6SW50ZXJmYWNlQmxvY2s+ICZzdG9yYWdl
QmxvY2tzID0KKyAgICAgICAgcHJvZ3JhbUV4ZWN1dGFibGUuZ2V0U2hhZGVyU3RvcmFnZUJsb2Nr
cygpOworICAgIEFzc2lnbkludGVyZmFjZUJsb2NrQmluZGluZ3Mob3B0aW9ucywgcHJvZ3JhbUV4
ZWN1dGFibGUsIHN0b3JhZ2VCbG9ja3MsIHNoYWRlclR5cGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcm9ncmFtSW50ZXJmYWNlSW5mbywgdmFyaWFibGVJbmZvTWFwT3V0KTsK
IAogICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpBdG9taWNDb3VudGVyQnVmZmVyPiAmYXRvbWlj
Q291bnRlckJ1ZmZlcnMgPQotICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0QXRvbWljQ291bnRlckJ1
ZmZlcnMoKTsKLSAgICBBc3NpZ25BdG9taWNDb3VudGVyQnVmZmVyQmluZGluZ3Mob3B0aW9ucywg
cHJvZ3JhbVN0YXRlLCBhdG9taWNDb3VudGVyQnVmZmVycywKKyAgICAgICAgcHJvZ3JhbUV4ZWN1
dGFibGUuZ2V0QXRvbWljQ291bnRlckJ1ZmZlcnMoKTsKKyAgICBBc3NpZ25BdG9taWNDb3VudGVy
QnVmZmVyQmluZGluZ3Mob3B0aW9ucywgcHJvZ3JhbUV4ZWN1dGFibGUsIGF0b21pY0NvdW50ZXJC
dWZmZXJzLCBzaGFkZXJUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcm9ncmFtSW50ZXJmYWNlSW5mbywgdmFyaWFibGVJbmZvTWFwT3V0KTsKIAotICAgIGNvbnN0
IHN0ZDo6dmVjdG9yPGdsOjpMaW5rZWRVbmlmb3JtPiAmdW5pZm9ybXMgPSBwcm9ncmFtU3RhdGUu
Z2V0VW5pZm9ybXMoKTsKLSAgICBjb25zdCBnbDo6UmFuZ2VVSSAmaW1hZ2VVbmlmb3JtUmFuZ2Ug
ICAgICAgICAgID0gcHJvZ3JhbVN0YXRlLmdldEltYWdlVW5pZm9ybVJhbmdlKCk7Ci0gICAgQXNz
aWduSW1hZ2VCaW5kaW5ncyhvcHRpb25zLCBwcm9ncmFtU3RhdGUsIHVuaWZvcm1zLCBpbWFnZVVu
aWZvcm1SYW5nZSwgcHJvZ3JhbUludGVyZmFjZUluZm8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICB2YXJpYWJsZUluZm9NYXBPdXQpOworICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpMaW5rZWRV
bmlmb3JtPiAmdW5pZm9ybXMgPSBwcm9ncmFtRXhlY3V0YWJsZS5nZXRVbmlmb3JtcygpOworICAg
IGNvbnN0IGdsOjpSYW5nZVVJICZpbWFnZVVuaWZvcm1SYW5nZSAgICAgICAgICAgPSBwcm9ncmFt
RXhlY3V0YWJsZS5nZXRJbWFnZVVuaWZvcm1SYW5nZSgpOworICAgIEFzc2lnbkltYWdlQmluZGlu
Z3Mob3B0aW9ucywgcHJvZ3JhbUV4ZWN1dGFibGUsIHVuaWZvcm1zLCBpbWFnZVVuaWZvcm1SYW5n
ZSwgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1JbnRlcmZhY2VJ
bmZvLCB2YXJpYWJsZUluZm9NYXBPdXQpOwogfQogCiAvLyBUT0RPOiBodHRwOi8vYW5nbGVidWcu
Y29tLzQ1MTI6IE5lZWQgdG8gY29tYmluZSBkZXNjcmlwdG9yIHNldCBiaW5kaW5ncyBhY3Jvc3MK
IC8vIHNoYWRlciBzdGFnZXMuCiB2b2lkIEFzc2lnblRleHR1cmVCaW5kaW5ncyhHbHNsYW5nU291
cmNlT3B0aW9ucyAmb3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGds
OjpQcm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAmcHJvZ3JhbUV4ZWN1dGFibGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR2xzbGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZvICpwcm9n
cmFtSW50ZXJmYWNlSW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlck1hcElu
dGVyZmFjZVZhcmlhYmxlSW5mb01hcCAqdmFyaWFibGVJbmZvTWFwT3V0KQogewogICAgIC8vIEFz
c2lnbiB0ZXh0dXJlcyB0byBhIGRlc2NyaXB0b3Igc2V0IGFuZCBiaW5kaW5nLgotICAgIGNvbnN0
IHN0ZDo6dmVjdG9yPGdsOjpMaW5rZWRVbmlmb3JtPiAmdW5pZm9ybXMgPSBwcm9ncmFtU3RhdGUu
Z2V0VW5pZm9ybXMoKTsKKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxnbDo6TGlua2VkVW5pZm9ybT4g
JnVuaWZvcm1zID0gcHJvZ3JhbUV4ZWN1dGFibGUuZ2V0VW5pZm9ybXMoKTsKIAotICAgIGZvciAo
dW5zaWduZWQgaW50IHVuaWZvcm1JbmRleCA6IHByb2dyYW1TdGF0ZS5nZXRTYW1wbGVyVW5pZm9y
bVJhbmdlKCkpCisgICAgZm9yICh1bnNpZ25lZCBpbnQgdW5pZm9ybUluZGV4IDogcHJvZ3JhbUV4
ZWN1dGFibGUuZ2V0U2FtcGxlclVuaWZvcm1SYW5nZSgpKQogICAgIHsKICAgICAgICAgY29uc3Qg
Z2w6OkxpbmtlZFVuaWZvcm0gJnNhbXBsZXJVbmlmb3JtID0gdW5pZm9ybXNbdW5pZm9ybUluZGV4
XTsKIApAQCAtODY5LDE3ICs4NTUsMTQgQEAgdm9pZCBBc3NpZ25UZXh0dXJlQmluZGluZ3MoR2xz
bGFuZ1NvdXJjZU9wdGlvbnMgJm9wdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA/IEdldE1hcHBlZFNhbXBsZXJOYW1lT2xkKHNhbXBsZXJVbmlm
b3JtLm5hbWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IEdsc2xhbmdHZXRNYXBwZWRTYW1wbGVyTmFtZShzYW1wbGVyVW5pZm9ybS5uYW1lKTsKIAot
ICAgICAgICAgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFs
bFNoYWRlclR5cGVzKCkpCisgICAgICAgICAgICAvLyBUT0RPOiBodHRwOi8vYW5nbGVidWcuY29t
LzQ1MjM6IEFsbCB1bmlmb3JtcyBzaG91bGQgYmUgYWN0aXZlCisgICAgICAgICAgICBpZiAocHJv
Z3JhbUV4ZWN1dGFibGUuaGFzTGlua2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlwZSkgJiYKKyAgICAg
ICAgICAgICAgICBzYW1wbGVyVW5pZm9ybS5pc0FjdGl2ZShzaGFkZXJUeXBlKSkKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAvLyBUT0RPOiBodHRwOi8vYW5nbGVidWcuY29tLzQ1MjM6
IEFsbCB1bmlmb3JtcyBzaG91bGQgYmUgYWN0aXZlCi0gICAgICAgICAgICAgICAgaWYgKHByb2dy
YW1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLmhhc0xpbmtlZFNoYWRlclN0YWdlKHNoYWRl
clR5cGUpICYmCi0gICAgICAgICAgICAgICAgICAgIHNhbXBsZXJVbmlmb3JtLmlzQWN0aXZlKHNo
YWRlclR5cGUpKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgQWRkUmVz
b3VyY2VJbmZvKCYoKnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVyVHlwZV0sIHNhbXBsZXJOYW1l
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUlu
Zm8tPnRleHR1cmVEZXNjcmlwdG9yU2V0SW5kZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwcm9ncmFtSW50ZXJmYWNlSW5mby0+Y3VycmVudFRleHR1cmVCaW5kaW5nSW5k
ZXgsIHNoYWRlclR5cGUpOwotICAgICAgICAgICAgICAgICAgICArK3Byb2dyYW1JbnRlcmZhY2VJ
bmZvLT5jdXJyZW50VGV4dHVyZUJpbmRpbmdJbmRleDsKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgQWRkUmVzb3VyY2VJbmZvKCYoKnZhcmlhYmxlSW5mb01hcE91dClbc2hhZGVy
VHlwZV0sIHNhbXBsZXJOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9n
cmFtSW50ZXJmYWNlSW5mby0+dGV4dHVyZURlc2NyaXB0b3JTZXRJbmRleCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPmN1cnJlbnRUZXh0dXJl
QmluZGluZ0luZGV4LCBzaGFkZXJUeXBlKTsKKyAgICAgICAgICAgICAgICArK3Byb2dyYW1JbnRl
cmZhY2VJbmZvLT5jdXJyZW50VGV4dHVyZUJpbmRpbmdJbmRleDsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KQEAgLTk5NCw2ICs5NzcsNyBAQCBjbGFzcyBTcGlydlRyYW5zZm9ybWVy
IGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB7CiAgIHB1YmxpYzoKICAgICBTcGlydlRyYW5z
Zm9ybWVyKGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQzMl90PiAmc3BpcnZCbG9iSW4sCisgICAgICAg
ICAgICAgICAgICAgICBib29sIHJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbiwK
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNoYWRlckludGVyZmFjZVZhcmlhYmxlSW5mb01h
cCAmdmFyaWFibGVJbmZvTWFwLAogICAgICAgICAgICAgICAgICAgICAgZ2w6OlNoYWRlclR5cGUg
c2hhZGVyVHlwZSwKICAgICAgICAgICAgICAgICAgICAgIFNwaXJ2QmxvYiAqc3BpcnZCbG9iT3V0
KQpAQCAtMTAwNSw4ICs5ODksOCBAQCBjbGFzcyBTcGlydlRyYW5zZm9ybWVyIGZpbmFsIDogYW5n
bGU6Ok5vbkNvcHlhYmxlCiAgICAgewogICAgICAgICBnbDo6U2hhZGVyQml0U2V0IGFsbFN0YWdl
czsKICAgICAgICAgYWxsU3RhZ2VzLnNldCgpOwotCi0gICAgICAgIG1CdWlsdGluVmFyaWFibGVJ
bmZvLmFjdGl2ZVN0YWdlcyA9IGFsbFN0YWdlczsKKyAgICAgICAgbVJlbW92ZUVhcmx5RnJhZ21l
bnRUZXN0c09wdGltaXphdGlvbiA9IHJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlv
bjsKKyAgICAgICAgbUJ1aWx0aW5WYXJpYWJsZUluZm8uYWN0aXZlU3RhZ2VzICAgICA9IGFsbFN0
YWdlczsKICAgICB9CiAKICAgICBib29sIHRyYW5zZm9ybSgpOwpAQCAtMTA0NCw2ICsxMDI4LDcg
QEAgY2xhc3MgU3BpcnZUcmFuc2Zvcm1lciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAg
IGJvb2wgdHJhbnNmb3JtRGVjb3JhdGUoY29uc3QgdWludDMyX3QgKmluc3RydWN0aW9uLCBzaXpl
X3Qgd29yZENvdW50KTsKICAgICBib29sIHRyYW5zZm9ybVR5cGVQb2ludGVyKGNvbnN0IHVpbnQz
Ml90ICppbnN0cnVjdGlvbiwgc2l6ZV90IHdvcmRDb3VudCk7CiAgICAgYm9vbCB0cmFuc2Zvcm1W
YXJpYWJsZShjb25zdCB1aW50MzJfdCAqaW5zdHJ1Y3Rpb24sIHNpemVfdCB3b3JkQ291bnQpOwor
ICAgIGJvb2wgdHJhbnNmb3JtRXhlY3V0aW9uTW9kZShjb25zdCB1aW50MzJfdCAqaW5zdHJ1Y3Rp
b24sIHNpemVfdCB3b3JkQ291bnQpOwogCiAgICAgLy8gQW55IG90aGVyIGluc3RydWN0aW9uczoK
ICAgICBzaXplX3QgY29weUluc3RydWN0aW9uKGNvbnN0IHVpbnQzMl90ICppbnN0cnVjdGlvbiwg
c2l6ZV90IHdvcmRDb3VudCk7CkBAIC0xMDU0LDYgKzEwMzksOCBAQCBjbGFzcyBTcGlydlRyYW5z
Zm9ybWVyIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgY29uc3QgZ2w6OlNoYWRlclR5
cGUgbVNoYWRlclR5cGU7CiAgICAgYm9vbCBtSGFzVHJhbnNmb3JtRmVlZGJhY2tPdXRwdXQ7CiAK
KyAgICBib29sIG1SZW1vdmVFYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6YXRpb247CisKICAgICAv
LyBJbnB1dCBzaGFkZXIgdmFyaWFibGUgaW5mbyBtYXA6CiAgICAgY29uc3QgU2hhZGVySW50ZXJm
YWNlVmFyaWFibGVJbmZvTWFwICZtVmFyaWFibGVJbmZvTWFwOwogICAgIFNoYWRlckludGVyZmFj
ZVZhcmlhYmxlSW5mbyBtQnVpbHRpblZhcmlhYmxlSW5mbzsKQEAgLTEyNTMsNiArMTI0MCw5IEBA
IHZvaWQgU3BpcnZUcmFuc2Zvcm1lcjo6dHJhbnNmb3JtSW5zdHJ1Y3Rpb24oKQogICAgICAgICAg
ICAgY2FzZSBzcHY6Ok9wVmFyaWFibGU6CiAgICAgICAgICAgICAgICAgdHJhbnNmb3JtZWQgPSB0
cmFuc2Zvcm1WYXJpYWJsZShpbnN0cnVjdGlvbiwgd29yZENvdW50KTsKICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ugc3B2OjpPcEV4ZWN1dGlvbk1vZGU6CisgICAgICAg
ICAgICAgICAgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1FeGVjdXRpb25Nb2RlKGluc3RydWN0aW9u
LCB3b3JkQ291bnQpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTczMCw2ICsxNzIwLDIy
IEBAIGJvb2wgU3BpcnZUcmFuc2Zvcm1lcjo6dHJhbnNmb3JtQWNjZXNzQ2hhaW4oY29uc3QgdWlu
dDMyX3QgKmluc3RydWN0aW9uLCBzaXplX3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBT
cGlydlRyYW5zZm9ybWVyOjp0cmFuc2Zvcm1FeGVjdXRpb25Nb2RlKGNvbnN0IHVpbnQzMl90ICpp
bnN0cnVjdGlvbiwgc2l6ZV90IHdvcmRDb3VudCkKK3sKKyAgICAvLyBTUElSLVYgMS4wIFNlY3Rp
b24gMy4zMiBJbnN0cnVjdGlvbnMsIE9wQWNjZXNzQ2hhaW4sIE9wSW5Cb3VuZHNBY2Nlc3NDaGFp
biwgT3BQdHJBY2Nlc3NDaGFpbiwKKyAgICAvLyBPcEluQm91bmRzUHRyQWNjZXNzQ2hhaW4KKyAg
ICBjb25zdGV4cHIgc2l6ZV90IGtNb2RlSW5kZXggID0gMjsKKyAgICBjb25zdCB1aW50MzJfdCBl
eGVjdXRpb25Nb2RlID0gaW5zdHJ1Y3Rpb25ba01vZGVJbmRleF07CisKKyAgICBpZiAoZXhlY3V0
aW9uTW9kZSA9PSBzcHY6OkV4ZWN1dGlvbk1vZGVFYXJseUZyYWdtZW50VGVzdHMgJiYKKyAgICAg
ICAgbVJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbikKKyAgICB7CisgICAgICAg
IC8vIHNraXAgdGhlIGNvcHkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVy
biBmYWxzZTsKK30KKwogc2l6ZV90IFNwaXJ2VHJhbnNmb3JtZXI6OmNvcHlJbnN0cnVjdGlvbihj
b25zdCB1aW50MzJfdCAqaW5zdHJ1Y3Rpb24sIHNpemVfdCB3b3JkQ291bnQpCiB7CiAgICAgc2l6
ZV90IGluc3RydWN0aW9uT2Zmc2V0ID0gbVNwaXJ2QmxvYk91dC0+c2l6ZSgpOwpAQCAtMTgzNyw2
ICsxODQzLDUxIEBAIHN0ZDo6c3RyaW5nIEdldFhmYkJ1ZmZlck5hbWUoY29uc3QgdWludDMyX3Qg
YnVmZmVySW5kZXgpCiAgICAgcmV0dXJuICJ4ZmJCdWZmZXIiICsgU3RyKGJ1ZmZlckluZGV4KTsK
IH0KIAordm9pZCBHbHNsYW5nQXNzaWduTG9jYXRpb25zKEdsc2xhbmdTb3VyY2VPcHRpb25zICZv
cHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhl
Y3V0YWJsZSAmcHJvZ3JhbUV4ZWN1dGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHbHNsYW5nUHJvZ3JhbUludGVyZmFjZUluZm8gKnByb2dyYW1JbnRlcmZhY2VJbmZvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5m
b01hcCAqdmFyaWFibGVJbmZvTWFwT3V0KQoreworICAgIC8vIEFzc2lnbiBvdXRwdXRzIHRvIHRo
ZSBmcmFnbWVudCBzaGFkZXIsIGlmIGFueS4KKyAgICBpZiAoKHNoYWRlclR5cGUgPT0gZ2w6OlNo
YWRlclR5cGU6OkZyYWdtZW50KSAmJgorICAgICAgICBwcm9ncmFtRXhlY3V0YWJsZS5oYXNMaW5r
ZWRTaGFkZXJTdGFnZShnbDo6U2hhZGVyVHlwZTo6RnJhZ21lbnQpKQorICAgIHsKKyAgICAgICAg
QXNzaWduT3V0cHV0TG9jYXRpb25zKHByb2dyYW1FeGVjdXRhYmxlLCBnbDo6U2hhZGVyVHlwZTo6
RnJhZ21lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKCp2YXJpYWJsZUluZm9N
YXBPdXQpW2dsOjpTaGFkZXJUeXBlOjpGcmFnbWVudF0pOworICAgIH0KKworICAgIC8vIEFzc2ln
biBhdHRyaWJ1dGVzIHRvIHRoZSB2ZXJ0ZXggc2hhZGVyLCBpZiBhbnkuCisgICAgaWYgKChzaGFk
ZXJUeXBlID09IGdsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgpICYmCisgICAgICAgIHByb2dyYW1FeGVj
dXRhYmxlLmhhc0xpbmtlZFNoYWRlclN0YWdlKGdsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgpKQorICAg
IHsKKyAgICAgICAgQXNzaWduQXR0cmlidXRlTG9jYXRpb25zKHByb2dyYW1FeGVjdXRhYmxlLCBn
bDo6U2hhZGVyVHlwZTo6VmVydGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JigqdmFyaWFibGVJbmZvTWFwT3V0KVtnbDo6U2hhZGVyVHlwZTo6VmVydGV4XSk7CisgICAgfQor
CisgICAgaWYgKCFwcm9ncmFtRXhlY3V0YWJsZS5oYXNMaW5rZWRTaGFkZXJTdGFnZShnbDo6U2hh
ZGVyVHlwZTo6Q29tcHV0ZSkpCisgICAgeworICAgICAgICAvLyBBc3NpZ24gdmFyeWluZyBsb2Nh
dGlvbnMuCisgICAgICAgIEFzc2lnblZhcnlpbmdMb2NhdGlvbnMob3B0aW9ucywgcHJvZ3JhbUV4
ZWN1dGFibGUsIHNoYWRlclR5cGUsIHByb2dyYW1JbnRlcmZhY2VJbmZvLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlSW5mb01hcE91dCk7CisKKyAgICAgICAgaWYgKCFw
cm9ncmFtRXhlY3V0YWJsZS5nZXRMaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKCkuZW1w
dHkoKSAmJgorICAgICAgICAgICAgb3B0aW9ucy5zdXBwb3J0c1RyYW5zZm9ybUZlZWRiYWNrRXh0
ZW5zaW9uICYmIChzaGFkZXJUeXBlID09IGdsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgpKQorICAgICAg
ICB7CisgICAgICAgICAgICBBc3NpZ25UcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvblF1YWxpZmll
cnMoCisgICAgICAgICAgICAgICAgcHJvZ3JhbUV4ZWN1dGFibGUsIHByb2dyYW1JbnRlcmZhY2VJ
bmZvLT5sb2NhdGlvbnNVc2VkRm9yWGZiRXh0ZW5zaW9uLAorICAgICAgICAgICAgICAgIGdsOjpT
aGFkZXJUeXBlOjpWZXJ0ZXgsICYoKnZhcmlhYmxlSW5mb01hcE91dClbZ2w6OlNoYWRlclR5cGU6
OlZlcnRleF0pOworICAgICAgICB9CisgICAgfQorCisgICAgQXNzaWduVW5pZm9ybUJpbmRpbmdz
KG9wdGlvbnMsIHByb2dyYW1FeGVjdXRhYmxlLCBzaGFkZXJUeXBlLCBwcm9ncmFtSW50ZXJmYWNl
SW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVJbmZvTWFwT3V0KTsKKyAg
ICBBc3NpZ25UZXh0dXJlQmluZGluZ3Mob3B0aW9ucywgcHJvZ3JhbUV4ZWN1dGFibGUsIHNoYWRl
clR5cGUsIHByb2dyYW1JbnRlcmZhY2VJbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICB2
YXJpYWJsZUluZm9NYXBPdXQpOworICAgIEFzc2lnbk5vblRleHR1cmVCaW5kaW5ncyhvcHRpb25z
LCBwcm9ncmFtRXhlY3V0YWJsZSwgc2hhZGVyVHlwZSwgcHJvZ3JhbUludGVyZmFjZUluZm8sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlSW5mb01hcE91dCk7Cit9CisKIHZv
aWQgR2xzbGFuZ0dldFNoYWRlclNvdXJjZShHbHNsYW5nU291cmNlT3B0aW9ucyAmb3B0aW9ucywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9n
cmFtU3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dyYW1M
aW5rZWRSZXNvdXJjZXMgJnJlc291cmNlcywKQEAgLTE4NzYsNTAgKzE5MjcsMTkgQEAgdm9pZCBH
bHNsYW5nR2V0U2hhZGVyU291cmNlKEdsc2xhbmdTb3VyY2VPcHRpb25zICZvcHRpb25zLAogICAg
ICAgICB9CiAgICAgfQogCi0gICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZleGVjdXRh
YmxlID0gcHJvZ3JhbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7Ci0KLSAgICAvLyBBc3Np
Z24gb3V0cHV0cyB0byB0aGUgZnJhZ21lbnQgc2hhZGVyLCBpZiBhbnkuCi0gICAgaWYgKHByb2dy
YW1TdGF0ZS5nZXRBdHRhY2hlZFNoYWRlcihnbDo6U2hhZGVyVHlwZTo6RnJhZ21lbnQpIHx8Ci0g
ICAgICAgIGV4ZWN1dGFibGUuaGFzTGlua2VkU2hhZGVyU3RhZ2UoZ2w6OlNoYWRlclR5cGU6OkZy
YWdtZW50KSkKLSAgICB7Ci0gICAgICAgIEFzc2lnbk91dHB1dExvY2F0aW9ucyhwcm9ncmFtU3Rh
dGUsIGdsOjpTaGFkZXJUeXBlOjpGcmFnbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICYoKnZhcmlhYmxlSW5mb01hcE91dClbZ2w6OlNoYWRlclR5cGU6OkZyYWdtZW50XSk7Ci0g
ICAgfQotCi0gICAgLy8gQXNzaWduIGF0dHJpYnV0ZXMgdG8gdGhlIHZlcnRleCBzaGFkZXIsIGlm
IGFueS4KLSAgICBpZiAocHJvZ3JhbVN0YXRlLmdldEF0dGFjaGVkU2hhZGVyKGdsOjpTaGFkZXJU
eXBlOjpWZXJ0ZXgpIHx8Ci0gICAgICAgIGV4ZWN1dGFibGUuaGFzTGlua2VkU2hhZGVyU3RhZ2Uo
Z2w6OlNoYWRlclR5cGU6OlZlcnRleCkpCisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlIDogcHJvZ3JhbVN0YXRlLmdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJT
dGFnZXMoKSkKICAgICB7Ci0gICAgICAgIEFzc2lnbkF0dHJpYnV0ZUxvY2F0aW9ucyhwcm9ncmFt
U3RhdGUsIGdsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmKCp2YXJpYWJsZUluZm9NYXBPdXQpW2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXhdKTsK
KyAgICAgICAgR2xzbGFuZ0Fzc2lnbkxvY2F0aW9ucyhvcHRpb25zLCBwcm9ncmFtU3RhdGUuZ2V0
RXhlY3V0YWJsZSgpLCBzaGFkZXJUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHByb2dyYW1JbnRlcmZhY2VJbmZvLCB2YXJpYWJsZUluZm9NYXBPdXQpOwogICAgIH0KLQotICAg
IGlmICghcHJvZ3JhbVN0YXRlLmdldEF0dGFjaGVkU2hhZGVyKGdsOjpTaGFkZXJUeXBlOjpDb21w
dXRlKSAmJgotICAgICAgICAhZXhlY3V0YWJsZS5oYXNMaW5rZWRTaGFkZXJTdGFnZShnbDo6U2hh
ZGVyVHlwZTo6Q29tcHV0ZSkpCi0gICAgewotICAgICAgICAvLyBBc3NpZ24gdmFyeWluZyBsb2Nh
dGlvbnMuCi0gICAgICAgIEFzc2lnblZhcnlpbmdMb2NhdGlvbnMob3B0aW9ucywgcHJvZ3JhbVN0
YXRlLCByZXNvdXJjZXMsIHByb2dyYW1JbnRlcmZhY2VJbmZvLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhcmlhYmxlSW5mb01hcE91dCk7Ci0KLSAgICAgICAgaWYgKCFwcm9ncmFt
U3RhdGUuZ2V0TGlua2VkVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncygpLmVtcHR5KCkgJiYKLSAg
ICAgICAgICAgIG9wdGlvbnMuc3VwcG9ydHNUcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvbikKLSAg
ICAgICAgewotICAgICAgICAgICAgQXNzaWduVHJhbnNmb3JtRmVlZGJhY2tFeHRlbnNpb25RdWFs
aWZpZXJzKAotICAgICAgICAgICAgICAgIHByb2dyYW1TdGF0ZSwgcmVzb3VyY2VzLCBwcm9ncmFt
SW50ZXJmYWNlSW5mby0+bG9jYXRpb25zVXNlZEZvclhmYkV4dGVuc2lvbiwKLSAgICAgICAgICAg
ICAgICBnbDo6U2hhZGVyVHlwZTo6VmVydGV4LCAmKCp2YXJpYWJsZUluZm9NYXBPdXQpW2dsOjpT
aGFkZXJUeXBlOjpWZXJ0ZXhdKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEFzc2lnblVuaWZv
cm1CaW5kaW5ncyhvcHRpb25zLCBwcm9ncmFtU3RhdGUsIHByb2dyYW1JbnRlcmZhY2VJbmZvLCB2
YXJpYWJsZUluZm9NYXBPdXQpOwotICAgIEFzc2lnblRleHR1cmVCaW5kaW5ncyhvcHRpb25zLCBw
cm9ncmFtU3RhdGUsIHByb2dyYW1JbnRlcmZhY2VJbmZvLCB2YXJpYWJsZUluZm9NYXBPdXQpOwot
ICAgIEFzc2lnbk5vblRleHR1cmVCaW5kaW5ncyhvcHRpb25zLCBwcm9ncmFtU3RhdGUsIHByb2dy
YW1JbnRlcmZhY2VJbmZvLCB2YXJpYWJsZUluZm9NYXBPdXQpOwogfQogCi1hbmdsZTo6UmVzdWx0
IFRyYW5zZm9ybVNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJyb3JDYWxsYmFjayAmY2FsbGJhY2ss
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2hhZGVy
SW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICZ2YXJpYWJsZUluZm9NYXAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBTcGlydkJsb2IgJmluaXRpYWxTcGlydkJsb2IsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGlydkJsb2IgKnNwaXJ2QmxvYk91dCkK
K2FuZ2xlOjpSZXN1bHQgR2xzbGFuZ1RyYW5zZm9ybVNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJy
b3JDYWxsYmFjayAmY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGlt
aXphdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBT
aGFkZXJJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01hcCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTcGlydkJsb2IgJmluaXRpYWxT
cGlydkJsb2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BpcnZC
bG9iICpzcGlydkJsb2JPdXQpCiB7CiAgICAgaWYgKGluaXRpYWxTcGlydkJsb2IuZW1wdHkoKSkK
ICAgICB7CkBAIC0xOTI3LDcgKzE5NDcsOCBAQCBhbmdsZTo6UmVzdWx0IFRyYW5zZm9ybVNwaXJ2
Q29kZShjb25zdCBHbHNsYW5nRXJyb3JDYWxsYmFjayAmY2FsbGJhY2ssCiAgICAgfQogCiAgICAg
Ly8gVHJhbnNmb3JtIHRoZSBTUElSLVYgY29kZSBieSBhc3NpZ25pbmcgbG9jYXRpb24vc2V0L2Jp
bmRpbmcgdmFsdWVzLgotICAgIFNwaXJ2VHJhbnNmb3JtZXIgdHJhbnNmb3JtZXIoaW5pdGlhbFNw
aXJ2QmxvYiwgdmFyaWFibGVJbmZvTWFwLCBzaGFkZXJUeXBlLCBzcGlydkJsb2JPdXQpOworICAg
IFNwaXJ2VHJhbnNmb3JtZXIgdHJhbnNmb3JtZXIoaW5pdGlhbFNwaXJ2QmxvYiwgcmVtb3ZlRWFy
bHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyaWFibGVJbmZvTWFwLCBzaGFkZXJUeXBlLCBzcGlydkJsb2JPdXQpOwogICAgIEFO
R0xFX0dMU0xBTkdfQ0hFQ0soY2FsbGJhY2ssIHRyYW5zZm9ybWVyLnRyYW5zZm9ybSgpLCBHbHNs
YW5nRXJyb3I6OkludmFsaWRTcGlydik7CiAKICAgICBBU1NFUlQoVmFsaWRhdGVTcGlydigqc3Bp
cnZCbG9iT3V0KSk7CkBAIC0xOTM2LDYgKzE5NTcsNyBAQCBhbmdsZTo6UmVzdWx0IFRyYW5zZm9y
bVNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJyb3JDYWxsYmFjayAmY2FsbGJhY2ssCiB9CiAKIGFu
Z2xlOjpSZXN1bHQgR2xzbGFuZ0dldFNoYWRlclNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJyb3JD
YWxsYmFjayAmY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2w6OlNoYWRlckJpdFNldCAmbGlua2VkU2hhZGVyU3RhZ2VzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpDYXBzICZnbENhcHMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlck1h
cDxzdGQ6OnN0cmluZz4gJnNoYWRlclNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgU2hhZGVyTWFwSW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICZ2
YXJpYWJsZUluZm9NYXAsCkBAIC0xOTQ0LDExICsxOTY2LDE1IEBAIGFuZ2xlOjpSZXN1bHQgR2xz
bGFuZ0dldFNoYWRlclNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJyb3JDYWxsYmFjayAmY2FsbGJh
Y2ssCiAgICAgZ2w6OlNoYWRlck1hcDxTcGlydkJsb2I+IGluaXRpYWxTcGlydkJsb2JzOwogICAg
IEFOR0xFX1RSWShHZXRTaGFkZXJTcGlydkNvZGUoY2FsbGJhY2ssIGdsQ2Fwcywgc2hhZGVyU291
cmNlcywgJmluaXRpYWxTcGlydkJsb2JzKSk7CiAKLSAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJU
eXBlIHNoYWRlclR5cGUgOiBnbDo6QWxsU2hhZGVyVHlwZXMoKSkKKyAgICBmb3IgKGNvbnN0IGds
OjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBsaW5rZWRTaGFkZXJTdGFnZXMpCiAgICAgeworICAg
ICAgICAvLyB3ZSBwYXNzIGluIGZhbHNlIGhlcmUgdG8gc2tpcCBtb2RpZmljYXRpb25zIHJlbGF0
ZWQgdG8gIGVhcmx5IGZyYWdtZW50IHRlc3RzCisgICAgICAgIC8vIG9wdGltaXphdGlvbnMgYW5k
IGxpbmUgcmFzdGVyaXphdGlvbi4gVGhlc2UgYXJlIGRvbmUgaW4gdGhlIGluaXRQcm9ncmFtIHRp
bWUgc2luY2UgdGhleQorICAgICAgICAvLyBhcmUgcmVsYXRlZCB0byBjb250ZXh0IHN0YXRlLiBX
ZSBtdXN0IGtlZXAgb3JpZ2luYWwgdW50b3VjaGVkIHNwcml2IGJsb2JzIGhlcmUgYmVjYXVzZSB3
ZQorICAgICAgICAvLyBkbyBub3QgaGF2ZSBhYmlsaXR5IHRvIGFkZCBiYWNrIGluIGF0IGluaXRQ
cm9ncmFtIHRpbWUuCiAgICAgICAgIGFuZ2xlOjpSZXN1bHQgc3RhdHVzID0KLSAgICAgICAgICAg
IFRyYW5zZm9ybVNwaXJ2Q29kZShjYWxsYmFjaywgc2hhZGVyVHlwZSwgdmFyaWFibGVJbmZvTWFw
W3NoYWRlclR5cGVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTcGly
dkJsb2JzW3NoYWRlclR5cGVdLCAmKCpzcGlydkJsb2JzT3V0KVtzaGFkZXJUeXBlXSk7CisgICAg
ICAgICAgICBHbHNsYW5nVHJhbnNmb3JtU3BpcnZDb2RlKGNhbGxiYWNrLCBzaGFkZXJUeXBlLCBm
YWxzZSwgdmFyaWFibGVJbmZvTWFwW3NoYWRlclR5cGVdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbml0aWFsU3BpcnZCbG9ic1tzaGFkZXJUeXBlXSwgJigqc3BpcnZC
bG9ic091dClbc2hhZGVyVHlwZV0pOwogICAgICAgICBpZiAoc3RhdHVzICE9IGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gc3RhdHVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
c2xhbmdfd3JhcHBlcl91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL2dsc2xhbmdfd3JhcHBlcl91dGlscy5oCmluZGV4IGVhYTlmZmY5YzI4Mzgx
MDE5OGRhMzQzZWU4N2YzODQ1ZjlkZDllZDcuLjAxNDlhODYzZDUwNDFiNzAzM2JiNmM0NTAxYWQx
Mjc2OWI5NGYxOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9nbHNsYW5nX3dyYXBwZXJfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2xzbGFuZ193cmFwcGVyX3V0aWxzLmgK
QEAgLTk4LDYgKzk4LDEyIEBAIHN0ZDo6c3RyaW5nIEdldE1hcHBlZFNhbXBsZXJOYW1lT2xkKGNv
bnN0IHN0ZDo6c3RyaW5nICZvcmlnaW5hbE5hbWUpOwogc3RkOjpzdHJpbmcgR2xzbGFuZ0dldE1h
cHBlZFNhbXBsZXJOYW1lKGNvbnN0IHN0ZDo6c3RyaW5nICZvcmlnaW5hbE5hbWUpOwogc3RkOjpz
dHJpbmcgR2V0WGZiQnVmZmVyTmFtZShjb25zdCB1aW50MzJfdCBidWZmZXJJbmRleCk7CiAKK3Zv
aWQgR2xzbGFuZ0Fzc2lnbkxvY2F0aW9ucyhHbHNsYW5nU291cmNlT3B0aW9ucyAmb3B0aW9ucywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUg
JnByb2dyYW1FeGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGds
OjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2xz
bGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZvICpwcm9ncmFtSW50ZXJmYWNlSW5mbywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnbDo6U2hhZGVyTWFwPFNoYWRlckludGVyZmFjZVZhcmlhYmxl
SW5mb01hcD4gKnZhcmlhYmxlSW5mb01hcE91dCk7CisKIC8vIFRyYW5zZm9ybSB0aGUgc291cmNl
IHRvIGluY2x1ZGUgYWN0dWFsIGJpbmRpbmcgcG9pbnRzIGZvciB2YXJpb3VzIHNoYWRlciByZXNv
dXJjZXMgKHRleHR1cmVzLAogLy8gYnVmZmVycywgeGZiLCBldGMpLiAgRm9yIHNvbWUgdmFyaWFi
bGVzLCB0aGVzZSB2YWx1ZXMgYXJlIGluc3RlYWQgb3V0cHV0IHRvIHRoZSB2YXJpYWJsZUluZm9N
YXAKIC8vIHRvIGJlIHNldCBkdXJpbmcgYSBTUElSLVYgdHJhbnNmb3JtYXRpb24uICBUaGlzIGlz
IGEgdHJhbnNpdG9yeSBzdGVwIHRvd2FyZHMgbW92aW5nIGFsbCB2YXJpYWJsZXMKQEAgLTEwOSwx
MyArMTE1LDE1IEBAIHZvaWQgR2xzbGFuZ0dldFNoYWRlclNvdXJjZShHbHNsYW5nU291cmNlT3B0
aW9ucyAmb3B0aW9ucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6U2hhZGVyTWFw
PHN0ZDo6c3RyaW5nPiAqc2hhZGVyU291cmNlc091dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTaGFkZXJNYXBJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgKnZhcmlhYmxlSW5mb01hcE91
dCk7CiAKLWFuZ2xlOjpSZXN1bHQgVHJhbnNmb3JtU3BpcnZDb2RlKGNvbnN0IEdsc2xhbmdFcnJv
ckNhbGxiYWNrICZjYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBTaGFkZXJJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5m
b01hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9y
PHVpbnQzMl90PiAmaW5pdGlhbFNwaXJ2QmxvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNwaXJ2QmxvYiAqc3BpcnZCbG9iT3V0KTsKK2FuZ2xlOjpSZXN1bHQgR2xzbGFuZ1Ry
YW5zZm9ybVNwaXJ2Q29kZShjb25zdCBHbHNsYW5nRXJyb3JDYWxsYmFjayAmY2FsbGJhY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5
cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIHJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJJbnRlcmZhY2VWYXJpYWJsZUlu
Zm9NYXAgJnZhcmlhYmxlSW5mb01hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBTcGlydkJsb2IgJmluaXRpYWxTcGlydkJsb2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BpcnZCbG9iICpzcGlydkJsb2JPdXQpOwogCiBh
bmdsZTo6UmVzdWx0IEdsc2xhbmdHZXRTaGFkZXJTcGlydkNvZGUoY29uc3QgR2xzbGFuZ0Vycm9y
Q2FsbGJhY2sgJmNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGdsOjpTaGFkZXJCaXRTZXQgJmxpbmtlZFNoYWRlclN0YWdlcywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6Q2FwcyAmZ2xDYXBzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJN
YXA8c3RkOjpzdHJpbmc+ICZzaGFkZXJTb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01hcCAm
dmFyaWFibGVJbmZvTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rpb25zX2RhdGEuanNvbiBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX2Z1bmN0aW9uc19kYXRhLmpz
b24KaW5kZXggYmQ1NTcwMDlmZDUzY2U0NmQwZjUyYmJlNjBmNTBkZTFjYjRjOTU3Yy4uNGI0NDNl
YTY5MzA5Zjg2NTczNTBiOWJkNmI4MWQ5NDY1OTljMDJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rpb25zX2RhdGEu
anNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bG9hZF9mdW5jdGlvbnNfZGF0YS5qc29uCkBAIC0xMiw2ICsxMiwxMSBAQAogICAgICAgIkdMX1VO
U0lHTkVEX0JZVEUiOiAiTG9hZFRvTmF0aXZlPEdMYnl0ZSwgMz4iCiAgICAgfQogICB9LAorICAi
R0xfU1I4X0VYVCI6IHsKKyAgICAiUjhfVU5PUk1fU1JHQiI6IHsKKyAgICAgICJHTF9VTlNJR05F
RF9CWVRFIjogIkxvYWRUb05hdGl2ZTxHTGJ5dGUsIDE+IgorICAgIH0KKyAgfSwKICAgIkdMX1JH
QkE4SSI6IHsKICAgICAiUjhHOEI4QThfU0lOVCI6IHsKICAgICAgICJHTF9CWVRFIjogIkxvYWRU
b05hdGl2ZTxHTGJ5dGUsIDQ+IgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rpb25zX3RhYmxlX2F1dG9nZW4uY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rp
b25zX3RhYmxlX2F1dG9nZW4uY3BwCmluZGV4IGY1NzdiYjgxNTgwNzBhNTBhMzczYTZkNGE5N2E4
MTgyYTdlZDIxMWIuLjUyOTRmNGRkYTI4OGZlZmI1YzY2MGQ0NjBiNDI2NzJjMjk5Yzk2NGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9s
b2FkX2Z1bmN0aW9uc190YWJsZV9hdXRvZ2VuLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF9mdW5jdGlvbnNfdGFibGVfYXV0b2dlbi5j
cHAKQEAgLTMwNjYsNiArMzA2NiwxOCBAQCBMb2FkSW1hZ2VGdW5jdGlvbkluZm8gUkdCQThfVVND
QUxFRF9BTkdMRVhfdG9fZGVmYXVsdChHTGVudW0gdHlwZSkKICAgICB9CiB9CiAKK0xvYWRJbWFn
ZUZ1bmN0aW9uSW5mbyBTUjhfRVhUX3RvX1I4X1VOT1JNX1NSR0IoR0xlbnVtIHR5cGUpCit7Cisg
ICAgc3dpdGNoICh0eXBlKQorICAgIHsKKyAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOgor
ICAgICAgICAgICAgcmV0dXJuIExvYWRJbWFnZUZ1bmN0aW9uSW5mbyhMb2FkVG9OYXRpdmU8R0xi
eXRlLCAxPiwgZmFsc2UpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgVU5SRUFDSEFC
TEUoKTsKKyAgICAgICAgICAgIHJldHVybiBMb2FkSW1hZ2VGdW5jdGlvbkluZm8oVW5yZWFjaGFi
bGVMb2FkRnVuY3Rpb24sIHRydWUpOworICAgIH0KK30KKwogTG9hZEltYWdlRnVuY3Rpb25JbmZv
IFNSR0I4X3RvX1I4RzhCOEE4X1VOT1JNX1NSR0IoR0xlbnVtIHR5cGUpCiB7CiAgICAgc3dpdGNo
ICh0eXBlKQpAQCAtNDQzNyw2ICs0NDQ5LDE3IEBAIExvYWRGdW5jdGlvbk1hcCBHZXRMb2FkRnVu
Y3Rpb25zTWFwKEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgRm9ybWF0SUQgYW5nbGVGb3JtYXQpCiAg
ICAgICAgICAgICByZXR1cm4gUkdCQThfU1NDQUxFRF9BTkdMRVhfdG9fZGVmYXVsdDsKICAgICAg
ICAgY2FzZSBHTF9SR0JBOF9VU0NBTEVEX0FOR0xFWDoKICAgICAgICAgICAgIHJldHVybiBSR0JB
OF9VU0NBTEVEX0FOR0xFWF90b19kZWZhdWx0OworICAgICAgICBjYXNlIEdMX1NSOF9FWFQ6Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYW5nbGVGb3JtYXQpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgY2FzZSBGb3JtYXRJRDo6UjhfVU5PUk1fU1JHQjoKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFNSOF9FWFRfdG9fUjhfVU5PUk1fU1JHQjsKKyAgICAgICAgICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgR0xfU1JHQjg6CiAg
ICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoYW5nbGVGb3JtYXQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4
dE10bC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL0NvbnRleHRNdGwuaAppbmRleCAwMzg3MmE4NjI3MjRmNGFiZGVlNzg5Y2MyMjAyMWU1NGRm
MmNiMjc2Li4yMjBkNTc4MzczZDE0YmJlMjU5MzU3ZjNjZTg1MGEzYzJhYWE5MGRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
Q29udGV4dE10bC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKQEAgLTMyOCw2ICszMjgsOCBAQCBjbGFzcyBDb250
ZXh0TXRsIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgbXRsOjpDb250ZXh0CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmluZGljZXMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgaW5zdGFuY2VDb3VudCk7CiAKKyAg
ICB2b2lkIHVwZGF0ZUV4dGVuZGVkU3RhdGUoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKTsKKwog
ICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoRnJhbWVidWZmZXJNdGwgKmZyYW1lYnVmZmVyTXRsLAog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmdmlld3BvcnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBuZWFyUGxhbmUsCkBAIC0zNzksMTEgKzM4MSwx
NCBAQCBjbGFzcyBDb250ZXh0TXRsIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgbXRsOjpD
b250ZXh0CiAgICAgICAgIGZsb2F0IHZpZXdwb3J0WVNjYWxlOwogICAgICAgICBmbG9hdCBuZWdW
aWV3cG9ydFlTY2FsZTsKIAorICAgICAgICAvLyAzMiBiaXRzIGZvciAzMiBjbGlwIGRpc3RhbmNl
cworICAgICAgICB1aW50MzJfdCBlbmFibGVkQ2xpcERpc3RhbmNlczsKKwogICAgICAgICAvLyBO
T1RFKGhxbGUpOiBUcmFuc2Zvcm0gZmVlZHNiYWNrIGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgogICAg
ICAgICB1aW50MzJfdCB4ZmJBY3RpdmVVbnBhdXNlZDsKICAgICAgICAgdWludDMyX3QgeGZiVmVy
dGljZXNQZXJEcmF3OwogICAgICAgICAvLyBOT1RFOiBFeHBsaWNpdCBwYWRkaW5nLiBGaWxsIGlu
IHdpdGggdXNlZnVsIGRhdGEgd2hlbiBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4KLSAgICAgICAgaW50
MzJfdCBwYWRkaW5nWzNdOworICAgICAgICBpbnQzMl90IHBhZGRpbmdbMl07CiAKICAgICAgICAg
aW50MzJfdCB4ZmJCdWZmZXJPZmZzZXRzWzRdOwogICAgICAgICB1aW50MzJfdCBhY2JCdWZmZXJP
ZmZzZXRzWzRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQppbmRleCA4MGRlZTU3
NzgyMzIzZjRiNGFhMGU2MTMzOWQzNmFjZDg3MjkwOWVmLi5iNDY4MzZjZmMyOTNhYjg3YTVhNjI3
NzFlMjVlMTEwMDNjYzYwMDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQpA
QCAtNjY0LDEwICs2NjQsNiBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRNdGw6OnN5bmNTdGF0ZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfRElUSEVSX0VOQUJMRUQ6CiAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX0dF
TkVSQVRFX01JUE1BUF9ISU5UOgotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9TSEFERVJfREVSSVZBVElWRV9ISU5UOgotICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9S
RUFEX0ZSQU1FQlVGRkVSX0JJTkRJTkc6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX0RSQVdfRlJBTUVCVUZGRVJfQklORElORzoK
QEAgLTcyNyw2ICs3MjMsOSBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRNdGw6OnN5bmNTdGF0ZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNh
c2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfUFJPVk9LSU5HX1ZFUlRFWDoKICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfRVhURU5ERUQ6
CisgICAgICAgICAgICAgICAgdXBkYXRlRXh0ZW5kZWRTdGF0ZShnbFN0YXRlKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgVU5S
RUFDSEFCTEUoKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTczNiw2ICs3MzUsMTMgQEAg
YW5nbGU6OlJlc3VsdCBDb250ZXh0TXRsOjpzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCit2b2lkIENv
bnRleHRNdGw6OnVwZGF0ZUV4dGVuZGVkU3RhdGUoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKQor
eworICAgIC8vIEhhbmRsaW5nIGNsaXAgZGlzdGFuY2UgZW5hYmxlZCBmbGFncywgbWlwbWFwIGdl
bmVyYXRpb24gaGludCAmIHNoYWRlciBkZXJpdmF0aXZlCisgICAgLy8gaGludC4KKyAgICBpbnZh
bGlkYXRlRHJpdmVyVW5pZm9ybXMoKTsKK30KKwogLy8gRGlzam9pbnQgdGltZXIgcXVlcmllcwog
R0xpbnQgQ29udGV4dE10bDo6Z2V0R1BVRGlzam9pbnQoKQogewpAQCAtMTU5Myw2ICsxNTk5LDgg
QEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0TXRsOjpoYW5kbGVEaXJ0eURyaXZlclVuaWZvcm1zKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQogICAgIG1Ecml2ZXJVbmlmb3Jtcy52aWV3cG9ydFlT
Y2FsZSAgICA9IG1EcmF3RnJhbWVidWZmZXItPmZsaXBZKCkgPyAtMS4wZiA6IDEuMGY7CiAgICAg
bURyaXZlclVuaWZvcm1zLm5lZ1ZpZXdwb3J0WVNjYWxlID0gLW1Ecml2ZXJVbmlmb3Jtcy52aWV3
cG9ydFlTY2FsZTsKIAorICAgIG1Ecml2ZXJVbmlmb3Jtcy5lbmFibGVkQ2xpcERpc3RhbmNlcyA9
IG1TdGF0ZS5nZXRFbmFibGVkQ2xpcERpc3RhbmNlcygpLmJpdHMoKTsKKwogICAgIG1Ecml2ZXJV
bmlmb3Jtcy5kZXB0aFJhbmdlWzBdID0gZGVwdGhSYW5nZU5lYXI7CiAgICAgbURyaXZlclVuaWZv
cm1zLmRlcHRoUmFuZ2VbMV0gPSBkZXB0aFJhbmdlRmFyOwogICAgIG1Ecml2ZXJVbmlmb3Jtcy5k
ZXB0aFJhbmdlWzJdID0gZGVwdGhSYW5nZURpZmY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5
TXRsLm1tCmluZGV4IDBjOGMyODEyNmFhMjRkODE2N2Y5OGNmZDJiN2Y2MTYyMTVhMDc0YmQuLjI1
NTI2NGZhMTBhYWMyMjc3Zjg4NjlhODI3ZmRhOGE4YzE0YWUzYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRs
Lm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC01NDQsNiArNTQ0LDkgQEAgdm9pZCBEaXNwbGF5TXRsOjpl
bnN1cmVDYXBzSW5pdGlhbGl6ZWQoKSBjb25zdAogCiAgICAgLy8gTk9URShocWxlKTogc3VwcG9y
dCBNU0FBLgogICAgIG1OYXRpdmVDYXBzLm1heFNhbXBsZXMgPSAxOworCisgICAgLy8gR0xfQVBQ
TEVfY2xpcF9kaXN0YW5jZQorICAgIG1OYXRpdmVDYXBzLm1heENsaXBEaXN0YW5jZXMgPSA4Owog
fQogCiB2b2lkIERpc3BsYXlNdGw6OmluaXRpYWxpemVFeHRlbnNpb25zKCkgY29uc3QKQEAgLTYw
Nyw2ICs2MTAsOSBAQCB2b2lkIERpc3BsYXlNdGw6OmluaXRpYWxpemVFeHRlbnNpb25zKCkgY29u
c3QKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5zdGFuZGFyZERlcml2YXRpdmVzT0VTID0gdHJ1ZTsK
IAogICAgIG1OYXRpdmVFeHRlbnNpb25zLmVsZW1lbnRJbmRleFVpbnRPRVMgPSB0cnVlOworCisg
ICAgLy8gR0xfQVBQTEVfY2xpcF9kaXN0YW5jZQorICAgIG1OYXRpdmVFeHRlbnNpb25zLmNsaXBE
aXN0YW5jZUFQUExFID0gdHJ1ZTsKIH0KIAogdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplVGV4
dHVyZUNhcHMoKSBjb25zdApAQCAtNjE4LDYgKzYyNCwxMSBAQCB2b2lkIERpc3BsYXlNdGw6Omlu
aXRpYWxpemVUZXh0dXJlQ2FwcygpIGNvbnN0CiAKICAgICAvLyBSZS12ZXJpZnkgdGV4dHVyZSBl
eHRlbnNpb25zLgogICAgIG1OYXRpdmVFeHRlbnNpb25zLnNldFRleHR1cmVFeHRlbnNpb25TdXBw
b3J0KG1OYXRpdmVUZXh0dXJlQ2Fwcyk7CisKKyAgICAvLyBEaXNhYmxlIGFsbCBkZXB0aCBidWZm
ZXIgYW5kIHN0ZW5jaWwgYnVmZmVyIHJlYWRiYWNrIGV4dGVuc2lvbnMgdW50aWwgd2UgbmVlZCB0
aGVtCisgICAgbU5hdGl2ZUV4dGVuc2lvbnMucmVhZERlcHRoTlYgICAgICAgICA9IGZhbHNlOwor
ICAgIG1OYXRpdmVFeHRlbnNpb25zLnJlYWRTdGVuY2lsTlYgICAgICAgPSBmYWxzZTsKKyAgICBt
TmF0aXZlRXh0ZW5zaW9ucy5kZXB0aEJ1ZmZlckZsb2F0Mk5WID0gZmFsc2U7CiB9CiAKIHZvaWQg
RGlzcGxheU10bDo6aW5pdGlhbGl6ZUZlYXR1cmVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1ZmZlck10bC5o
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Zy
YW1lQnVmZmVyTXRsLmgKaW5kZXggZDIyMGEwMmZmNjI2YTRiOTA1NzhmM2JmNjU0Njc5N2M5Zjgz
MWE5OC4uNjZmMGM2MGYzYWRlMDFmYTYwZTY2MTZmOTY3Y2U0YmEzMGYyOTNiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Zy
YW1lQnVmZmVyTXRsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVyTXRsLmgKQEAgLTU4LDggKzU4LDggQEAgY2xhc3Mg
RnJhbWVidWZmZXJNdGwgOiBwdWJsaWMgRnJhbWVidWZmZXJJbXBsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMZmxvYXQgZGVwdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMaW50IHN0ZW5jaWwpIG92ZXJyaWRlOwogCi0gICAgR0xlbnVtIGdldEltcGxlbWVu
dGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdCBv
dmVycmlkZTsKLSAgICBHTGVudW0gZ2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRUeXBlKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdCBvdmVycmlkZTsKKyAgICBjb25zdCBnbDo6SW50
ZXJuYWxGb3JtYXQgJmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KAorICAgICAgICBj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYW5nbGU6OlJl
c3VsdCByZWFkUGl4ZWxzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZhcmVhLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LApAQCAtNzUsNiArNzUsNyBAQCBjbGFzcyBG
cmFtZWJ1ZmZlck10bCA6IHB1YmxpYyBGcmFtZWJ1ZmZlckltcGwKICAgICBib29sIGNoZWNrU3Rh
dHVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdCBvdmVycmlkZTsKIAogICAgIGFu
Z2xlOjpSZXN1bHQgc3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBiaW5kaW5nLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpIG92
ZXJyaWRlOwogCiAgICAgYW5nbGU6OlJlc3VsdCBnZXRTYW1wbGVQb3NpdGlvbihjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1ZmZlck10bC5tbSBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1ZmZlck10bC5t
bQppbmRleCA3MmVhZWE1NTIyMjUyOGE4Zjk1NzJhN2FlYmFkOTQ4YzJjODAwNzBlLi45OWJhOTI3
ZDZmY2U4ZTExNzAyZTg0M2FiMWYzODY2M2IwNzA0MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRnJhbWVCdWZmZXJNdGwu
bW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL0ZyYW1lQnVmZmVyTXRsLm1tCkBAIC0yMiwyOCArMjIsNiBAQAogCiBuYW1lc3BhY2UgcngK
IHsKLQotbmFtZXNwYWNlCi17Ci0KLWNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmR2V0UmVhZEF0
dGFjaG1lbnRJbmZvKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0TXRsICpyZW5kZXJU
YXJnZXQpCi17Ci0gICAgR0xlbnVtIGltcGxGb3JtYXQ7Ci0KLSAgICBpZiAocmVuZGVyVGFyZ2V0
ICYmIHJlbmRlclRhcmdldC0+Z2V0Rm9ybWF0KCkpCi0gICAgewotICAgICAgICBpbXBsRm9ybWF0
ID0gcmVuZGVyVGFyZ2V0LT5nZXRGb3JtYXQoKS0+YWN0dWFsQW5nbGVGb3JtYXQoKS5mYm9JbXBs
ZW1lbnRhdGlvbkludGVybmFsRm9ybWF0OwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAg
ICBpbXBsRm9ybWF0ID0gR0xfTk9ORTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZ2w6OkdldFNpemVk
SW50ZXJuYWxGb3JtYXRJbmZvKGltcGxGb3JtYXQpOwotfQotfQotCiAvLyBGcmFtZWJ1ZmZlck10
bCBpbXBsZW1lbnRhdGlvbgogRnJhbWVidWZmZXJNdGw6OkZyYW1lYnVmZmVyTXRsKGNvbnN0IGds
OjpGcmFtZWJ1ZmZlclN0YXRlICZzdGF0ZSwgYm9vbCBmbGlwWSkKICAgICA6IEZyYW1lYnVmZmVy
SW1wbChzdGF0ZSksIG1GbGlwWShmbGlwWSkKQEAgLTE1NywxNCArMTM1LDE1IEBAIGFuZ2xlOjpS
ZXN1bHQgRnJhbWVidWZmZXJNdGw6OmNsZWFyQnVmZmVyZmkoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7CiB9CiAKLUdMZW51bSBGcmFt
ZWJ1ZmZlck10bDo6Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRGb3JtYXQoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQpIGNvbnN0Citjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJkZyYW1lYnVm
ZmVyTXRsOjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdCgKKyAgICBjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCkgY29uc3QKIHsKLSAgICByZXR1cm4gR2V0UmVhZEF0dGFjaG1lbnRJ
bmZvKGNvbnRleHQsIGdldENvbG9yUmVhZFJlbmRlclRhcmdldCgpKS5mb3JtYXQ7Ci19Ci0KLUdM
ZW51bSBGcmFtZWJ1ZmZlck10bDo6Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRUeXBlKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAotewotICAgIHJldHVybiBHZXRSZWFkQXR0YWNo
bWVudEluZm8oY29udGV4dCwgZ2V0Q29sb3JSZWFkUmVuZGVyVGFyZ2V0KCkpLnR5cGU7CisgICAg
Q29udGV4dE10bCAqY29udGV4dE10bCAgID0gbXRsOjpHZXRJbXBsKGNvbnRleHQpOworICAgIEdM
ZW51bSBzaXplZEZvcm1hdCAgICAgICA9IG1TdGF0ZS5nZXRSZWFkQXR0YWNobWVudCgpLT5nZXRG
b3JtYXQoKS5pbmZvLT5zaXplZEludGVybmFsRm9ybWF0OworICAgIGFuZ2xlOjpGb3JtYXRJRCBm
b3JtYXRJRCA9IGFuZ2xlOjpGb3JtYXQ6OkludGVybmFsRm9ybWF0VG9JRChzaXplZEZvcm1hdCk7
CisgICAgY29uc3QgbXRsOjpGb3JtYXQgJm10bEZvcm1hdCA9IGNvbnRleHRNdGwtPmdldERpc3Bs
YXkoKS0+Z2V0UGl4ZWxGb3JtYXQoZm9ybWF0SUQpOworICAgIEdMZW51bSBpbXBsRm9ybWF0ICAg
ICAgICAgICAgPSBtdGxGb3JtYXQuYWN0dWFsQW5nbGVGb3JtYXQoKS5mYm9JbXBsZW1lbnRhdGlv
bkludGVybmFsRm9ybWF0OworICAgIHJldHVybiBnbDo6R2V0U2l6ZWRJbnRlcm5hbEZvcm1hdElu
Zm8oaW1wbEZvcm1hdCk7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJNdGw6OnJlYWRQ
aXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCkBAIC0yNDYsNiArMjI1LDcgQEAgYm9v
bCBGcmFtZWJ1ZmZlck10bDo6Y2hlY2tTdGF0dXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQp
IGNvbnN0CiB9CiAKIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJNdGw6OnN5bmNTdGF0ZShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTGVudW0gYmluZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6RnJhbWVidWZmZXI6OkRpcnR5Qml0cyAmZGlydHlCaXRzKQogewog
ICAgIENvbnRleHRNdGwgKmNvbnRleHRNdGwgPSBtdGw6OkdldEltcGwoY29udGV4dCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvUHJvZ3JhbU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCmluZGV4IDk3OWRhY2Y5NzFkOTU2YjgxYzViOWM4
YzU4NzRiZjM2YmI2NmQyN2IuLmM0MGU1MzhmZDI0YjM3NzlmOTcyMmExMzM4NzE5MDYxZWE3M2M4
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCkBAIC0zMTcsOCArMzE3LDkg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtTXRsOjpsaW5rSW1wbChjb25zdCBnbDo6Q29udGV4dCAq
Z2xDb250ZXh0LAogCiAgICAgLy8gQ29udmVydCBHTFNMIHRvIHNwaXJ2IGNvZGUKICAgICBnbDo6
U2hhZGVyTWFwPHN0ZDo6dmVjdG9yPHVpbnQzMl90Pj4gc2hhZGVyQ29kZXM7Ci0gICAgQU5HTEVf
VFJZKG10bDo6R2xzbGFuZ0dldFNoYWRlclNwaXJ2Q29kZShjb250ZXh0TXRsLCBjb250ZXh0TXRs
LT5nZXRDYXBzKCksIHNoYWRlclNvdXJjZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2YXJpYWJsZUluZm9NYXAsICZzaGFkZXJDb2RlcykpOworICAgIEFO
R0xFX1RSWShtdGw6Okdsc2xhbmdHZXRTaGFkZXJTcGlydkNvZGUoCisgICAgICAgIGNvbnRleHRN
dGwsIG1TdGF0ZS5nZXRFeGVjdXRhYmxlKCkuZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCksIGNvbnRl
eHRNdGwtPmdldENhcHMoKSwKKyAgICAgICAgc2hhZGVyU291cmNlcywgdmFyaWFibGVJbmZvTWFw
LCAmc2hhZGVyQ29kZXMpKTsKIAogICAgIC8vIENvbnZlcnQgc3BpcnYgY29kZSB0byBNU0wKICAg
ICBBTkdMRV9UUlkoY29udmVydFRvTXNsKGdsQ29udGV4dCwgZ2w6OlNoYWRlclR5cGU6OlZlcnRl
eCwgaW5mb0xvZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9TdXJmYWNlTXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1N1cmZhY2VNdGwubW0KaW5kZXggYTJiY2Zl
NTU1OGUxMDU4YTg1ZmRhZDc1Y2I4MjYyM2RkNmQzNmFiNi4uMzM5NmU3NWFiNTc2YWQ4M2JhY2Ji
MDE0ZDc2MDE4YzhjNjAyMWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1N1cmZhY2VNdGwubW0KKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1N1cmZhY2VNdGwubW0K
QEAgLTU0OSw3ICs1NDksNyBAQCBhbmdsZTo6UmVzdWx0IFN1cmZhY2VNdGw6Om9idGFpbk5leHRE
cmF3YWJsZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICAgICAgaWYgKGRlZmF1bHRG
Ym8pCiAgICAgICAgIHsKICAgICAgICAgICAgIEZyYW1lYnVmZmVyTXRsICpmcmFtZWJ1ZmZlck10
bCA9IG10bDo6R2V0SW1wbChkZWZhdWx0RmJvKTsKLSAgICAgICAgICAgIEFOR0xFX1RSWShmcmFt
ZWJ1ZmZlck10bC0+c3luY1N0YXRlKGNvbnRleHQsIGZib0RpcnR5Qml0cykpOworICAgICAgICAg
ICAgQU5HTEVfVFJZKGZyYW1lYnVmZmVyTXRsLT5zeW5jU3RhdGUoY29udGV4dCwgR0xfRlJBTUVC
VUZGRVIsIGZib0RpcnR5Qml0cykpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1RleHR1cmVNdGwuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9UZXh0dXJlTXRsLmgKaW5kZXgg
MDUzOTQyYzk1MTdmMGNmMzA2ZjQ4ZWZiY2I4ZTAyZjYyNjBkZjEwYS4uYzVhODExZjIxZGZhZjM5
YjVkOWU2N2I1MDJkNGI2ODZhM2IyMWMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1RleHR1cmVNdGwuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVGV4dHVyZU10
bC5oCkBAIC0zNSw2ICszNSw3IEBAIGNsYXNzIFRleHR1cmVNdGwgOiBwdWJsaWMgVGV4dHVyZUlt
cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmb3JtYXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpwaXhlbHMpIG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQg
c2V0U3ViSW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVGV4dHVy
ZU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9UZXh0dXJlTXRsLm1tCmluZGV4IDBmMzI0NzRmZTZhYTM1Nzc5MDY2ZDQxYmMwMWZhMDIx
YjZmYzE5YTkuLmM0MDJkNjRhNmE1NThlMTg5OTA1MDE1ODQyODFjNmE5MjQ2OGE1NjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9UZXh0dXJlTXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9UZXh0dXJlTXRsLm1tCkBAIC0zOTcsNyArMzk3LDcgQEAgYW5nbGU6
OlJlc3VsdCBUZXh0dXJlTXRsOjplbnN1cmVUZXh0dXJlQ3JlYXRlZChjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCkKICAgICBBTkdMRV9UUlkoY2hlY2tGb3JFbXVsYXRlZENoYW5uZWxzKGNvbnRl
eHQsIG1Gb3JtYXQsIG1OYXRpdmVUZXh0dXJlKSk7CiAKICAgICAvLyBUcmFuc2ZlciBkYXRhIGZy
b20gaW1hZ2VzIHRvIGFjdHVhbCB0ZXh0dXJlIG9iamVjdAotICAgIG10bDo6QmxpdENvbW1hbmRF
bmNvZGVyICplbmNvZGVyICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICBtdGw6OkJsaXRD
b21tYW5kRW5jb2RlciAqZW5jb2RlciA9IG51bGxwdHI7CiAgICAgZm9yIChpbnQgbGF5ZXIgPSAw
OyBsYXllciA8IGxheWVyczsgKytsYXllcikKICAgICB7CiAgICAgICAgIGZvciAoR0x1aW50IG1p
cCA9IDA7IG1pcCA8IG1pcHM7ICsrbWlwKQpAQCAtNDg5LDYgKzQ4OSw3IEBAIGFuZ2xlOjpSZXN1
bHQgVGV4dHVyZU10bDo6c2V0SW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmb3JtYXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVs
cykKIHsKICAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJmZvcm1hdEluZm8gPSBnbDo6R2V0
SW50ZXJuYWxGb3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCB0eXBlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9kb2MvQVBQ
TEVfY2xpcF9kaXN0YW5jZS5tZCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9kb2MvQVBQTEVfY2xpcF9kaXN0YW5jZS5tZApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
YTA3M2FlNjIzZjljMTJlNzYxOTIwYzVjYzgwYWRkY2VjNjM1ZWQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL2Rv
Yy9BUFBMRV9jbGlwX2Rpc3RhbmNlLm1kCkBAIC0wLDAgKzEsMTEgQEAKKyMgZ2xfQ2xpcERpc3Rh
bmNlIGV4dGVuc2lvbiBzdXBwb3J0IGluIE1ldGFsIGJhY2stZW5kCisKK09wZW5HTCBHTFNMJ3Mg
YGdsX0NsaXBEaXN0YW5jZWAgaXMgZXF1aXZhbGVudCB0byBgW1tjbGlwX2Rpc3RhbmNlXV1gIGF0
dHJpYnV0ZSBpbiB0aGUgTWV0YWwgU2hhZGluZworTGFuZ3VhZ2UuIEhvd2V2ZXIsIE9wZW5HTCBz
dXBwb3J0cyBkaXNhYmxpbmcvZW5hYmxpbmcgaW5kaXZpZHVhbCBgZ2xfQ2xpcERpc3RhbmNlW2ld
YCBvbiB0aGUgQVBJCitsZXZlbCBzaWRlLiBXcml0aW5nIHRvIGBnbF9DbGlwRGlzdGFuY2VbaV1g
IGluIHNoYWRlciB3aWxsIGJlIGlnbm9yZWQgaWYgaXQgaXMgZGlzYWJsZWQuIE1ldGFsCitkb2Vz
bid0IGhhdmUgYW55IGVxdWl2YWxlbnQgQVBJIHRvIGRpc2FibGUvZW5hYmxlIHRoZSB3cml0aW5n
LCB0aG91Z2ggd3JpdGluZyB0byBhIGBjbGlwX2Rpc3RhbmNlYAordmFyaWFibGUgYXV0b21hdGlj
YWxseSBlbmFibGVzIGl0LgorCitUbyBlbXVsYXRlIHRoaXMgZW5hYmxpbmcvZGlzYWJsaW5nIEFQ
SSwgdGhlIE1ldGFsIGJhY2stZW5kIHVzZXMgYSBzaW1pbGFyIGltcGxlbWVudGF0aW9uIGFzIHdo
YXQKK1tWdWxrYW4gYmFjay1lbmQgZG9lc10oLi4vLi4vdnVsa2FuL2RvYy9BUFBMRV9jbGlwX2Rp
c3RhbmNlLm1kKS4gUGxlYXNlIHJlZmVyIHRvIHRoYXQgZG9jdW1lbnQgZm9yCittb3JlIGRldGFp
bHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ191dGlscy5oCmluZGV4IDRl
MzUxZWFkNzQ4YzdlZGUxYmVlNDkyOWJiOWEzNTczMGIyYTBjNGUuLmIyNDE5YzhlMzczYzM0ZTFh
ZWJmNjBmZjVmYjgxNTI5YTBjYWIwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ191dGlscy5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxf
Z2xzbGFuZ191dGlscy5oCkBAIC0yNSw2ICsyNSw3IEBAIHZvaWQgR2xzbGFuZ0dldFNoYWRlclNv
dXJjZShjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU2hhZGVyTWFwSW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICp2YXJpYWJs
ZUluZm9NYXBPdXQpOwogCiBhbmdsZTo6UmVzdWx0IEdsc2xhbmdHZXRTaGFkZXJTcGlydkNvZGUo
RXJyb3JIYW5kbGVyICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpTaGFkZXJCaXRTZXQgJmxpbmtlZFNoYWRlclN0YWdlcywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6Q2FwcyAmZ2xDYXBz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFk
ZXJNYXA8c3RkOjpzdHJpbmc+ICZzaGFkZXJTb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01h
cCAmdmFyaWFibGVJbmZvTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX3V0aWxzLm1tIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5n
X3V0aWxzLm1tCmluZGV4IDUwOGZjNzk4ZDA5MzE3MDU3MDU5MWQ0NDVlZjgwMDBlM2JiOTNmMjku
LmYwNzY4YjE3MjE3MTM3ZWZmZjgxMmRjOTYwM2QyY2NhNDZmOGZkOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xz
bGFuZ191dGlscy5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfdXRpbHMubW0KQEAgLTI0LDggKzI0LDYgQEAgYW5n
bGU6OlJlc3VsdCBIYW5kbGVFcnJvcihFcnJvckhhbmRsZXIgKmNvbnRleHQsIEdsc2xhbmdFcnJv
cikKIAogdm9pZCBSZXNldEdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbyhHbHNsYW5nUHJvZ3Jh
bUludGVyZmFjZUluZm8gKnByb2dyYW1JbnRlcmZhY2VJbmZvKQogewotICAgIC8vIFdlIGRvbid0
IGFjdHVhbGx5IHVzZSBkZXNjcmlwdG9yIHNldCBmb3Igbm93LCB0aGUgYWN0dWFsIGJpbmRpbmcg
d2lsbCBiZSBkb25lIGluc2lkZQotICAgIC8vIFByb2dyYW1NdGwgdXNpbmcgc3BpcnYtY3Jvc3Mu
CiAgICAgcHJvZ3JhbUludGVyZmFjZUluZm8tPnVuaWZvcm1zQW5kWGZiRGVzY3JpcHRvclNldElu
ZGV4ID0ga0RlZmF1bHRVbmlmb3Jtc0JpbmRpbmdJbmRleDsKICAgICBwcm9ncmFtSW50ZXJmYWNl
SW5mby0+Y3VycmVudFVuaWZvcm1CaW5kaW5nSW5kZXggICAgICAgPSAwOwogICAgIHByb2dyYW1J
bnRlcmZhY2VJbmZvLT50ZXh0dXJlRGVzY3JpcHRvclNldEluZGV4ICAgICAgICA9IDA7CkBAIC02
MSwxNCArNTksMTUgQEAgdm9pZCBHbHNsYW5nR2V0U2hhZGVyU291cmNlKGNvbnN0IGdsOjpQcm9n
cmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKIH0KIAogYW5nbGU6OlJlc3VsdCBHbHNsYW5nR2V0U2hh
ZGVyU3BpcnZDb2RlKEVycm9ySGFuZGxlciAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyQml0U2V0ICZsaW5rZWRTaGFkZXJT
dGFnZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6
OkNhcHMgJmdsQ2FwcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBnbDo6U2hhZGVyTWFwPHN0ZDo6c3RyaW5nPiAmc2hhZGVyU291cmNlcywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJNYXBJbnRlcmZhY2VW
YXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01hcCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnbDo6U2hhZGVyTWFwPHN0ZDo6dmVjdG9yPHVpbnQzMl90Pj4gKnNo
YWRlckNvZGVPdXQpCiB7CiAgICAgcmV0dXJuIHJ4OjpHbHNsYW5nR2V0U2hhZGVyU3BpcnZDb2Rl
KAotICAgICAgICBbY29udGV4dF0oR2xzbGFuZ0Vycm9yIGVycm9yKSB7IHJldHVybiBIYW5kbGVF
cnJvcihjb250ZXh0LCBlcnJvcik7IH0sIGdsQ2FwcywKLSAgICAgICAgc2hhZGVyU291cmNlcywg
dmFyaWFibGVJbmZvTWFwLCBzaGFkZXJDb2RlT3V0KTsKKyAgICAgICAgW2NvbnRleHRdKEdsc2xh
bmdFcnJvciBlcnJvcikgeyByZXR1cm4gSGFuZGxlRXJyb3IoY29udGV4dCwgZXJyb3IpOyB9LCBs
aW5rZWRTaGFkZXJTdGFnZXMsCisgICAgICAgIGdsQ2Fwcywgc2hhZGVyU291cmNlcywgdmFyaWFi
bGVJbmZvTWFwLCBzaGFkZXJDb2RlT3V0KTsKIH0KIH0gIC8vIG5hbWVzcGFjZSBtdGwKIH0gIC8v
IG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL251bGwvQ29udGV4dE5VTEwuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL251bGwvQ29udGV4dE5VTEwuY3BwCmluZGV4IGM2
NjJmYjliNTA1ZDIxNjUwMTQ1NDQ0YmExMDc5YzM4OThkMDRiMDQuLmVmMmIwMDMxYTZiY2VkZWZi
OTE2MTU0NjExOTBjYjNiZDEyOGU1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9udWxsL0NvbnRleHROVUxMLmNwcAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbnVsbC9Db250ZXh0TlVM
TC5jcHAKQEAgLTkyLDEyICs5MiwxNCBAQCBDb250ZXh0TlVMTDo6Q29udGV4dE5VTEwoY29uc3Qg
Z2w6OlN0YXRlICZzdGF0ZSwKICAgICBtRXh0ZW5zaW9ucy50ZXh0dXJlQ29tcHJlc3Npb25BU1RD
TERSS0hSID0gdHJ1ZTsKICAgICBtRXh0ZW5zaW9ucy50ZXh0dXJlQ29tcHJlc3Npb25BU1RDT0VT
ICAgID0gdHJ1ZTsKICAgICBtRXh0ZW5zaW9ucy5jb21wcmVzc2VkRVRDMVJHQjhUZXh0dXJlT0VT
ID0gdHJ1ZTsKKyAgICBtRXh0ZW5zaW9ucy5jb21wcmVzc2VkRVRDMVJHQjhTdWJUZXh0dXJlID0g
dHJ1ZTsKICAgICBtRXh0ZW5zaW9ucy5sb3NzeUVUQ0RlY29kZSAgICAgICAgICAgICAgID0gdHJ1
ZTsKICAgICBtRXh0ZW5zaW9ucy5nZW9tZXRyeVNoYWRlciAgICAgICAgICAgICAgID0gdHJ1ZTsK
IAogICAgIG1FeHRlbnNpb25zLmVnbEltYWdlT0VTICAgICAgICAgICAgICAgICA9IHRydWU7CiAg
ICAgbUV4dGVuc2lvbnMuZWdsSW1hZ2VFeHRlcm5hbE9FUyAgICAgICAgID0gdHJ1ZTsKICAgICBt
RXh0ZW5zaW9ucy5lZ2xJbWFnZUV4dGVybmFsRXNzbDNPRVMgICAgPSB0cnVlOworICAgIG1FeHRl
bnNpb25zLmVnbEltYWdlQXJyYXkgICAgICAgICAgICAgICA9IHRydWU7CiAgICAgbUV4dGVuc2lv
bnMuZWdsU3RyZWFtQ29uc3VtZXJFeHRlcm5hbE5WID0gdHJ1ZTsKIAogICAgIGNvbnN0IGdsOjpW
ZXJzaW9uIG1heENsaWVudFZlcnNpb24oMywgMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbnVsbC9GcmFtZWJ1ZmZlck5VTEwuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL251bGwvRnJh
bWVidWZmZXJOVUxMLmNwcAppbmRleCA5NDUxMGM2OGQzOWRiZGNmYWUyMWYyMzhmNTRmODQ0NzRj
NzgyNmYxLi41Yjc4ZmVmYmE4NmEyMmQ4ODg1MzU2ZDIwMDE2YzQ2ZWY0MTE2MTlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbnVsbC9G
cmFtZWJ1ZmZlck5VTEwuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9udWxsL0ZyYW1lYnVmZmVyTlVMTC5jcHAKQEAgLTgyLDMyICs4Miw2IEBA
IGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJOVUxMOjpjbGVhckJ1ZmZlcmZpKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0K
IAotR0xlbnVtIEZyYW1lYnVmZmVyTlVMTDo6Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRGb3Jt
YXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0Ci17Ci0gICAgY29uc3QgZ2w6OkZy
YW1lYnVmZmVyQXR0YWNobWVudCAqcmVhZEF0dGFjaG1lbnQgPSBtU3RhdGUuZ2V0UmVhZEF0dGFj
aG1lbnQoKTsKLSAgICBpZiAocmVhZEF0dGFjaG1lbnQgPT0gbnVsbHB0cikKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBHTF9OT05FOwotICAgIH0KLQotICAgIGNvbnN0IGdsOjpGb3JtYXQgJmZvcm1h
dCA9IHJlYWRBdHRhY2htZW50LT5nZXRGb3JtYXQoKTsKLSAgICBBU1NFUlQoZm9ybWF0LmluZm8g
IT0gbnVsbHB0cik7Ci0gICAgcmV0dXJuIGZvcm1hdC5pbmZvLT5nZXRSZWFkUGl4ZWxzRm9ybWF0
KGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKSk7Ci19Ci0KLUdMZW51bSBGcmFtZWJ1ZmZlck5VTEw6
OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkVHlwZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCkgY29uc3QKLXsKLSAgICBjb25zdCBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50ICpyZWFkQXR0
YWNobWVudCA9IG1TdGF0ZS5nZXRSZWFkQXR0YWNobWVudCgpOwotICAgIGlmIChyZWFkQXR0YWNo
bWVudCA9PSBudWxscHRyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEdMX05PTkU7Ci0gICAgfQot
Ci0gICAgY29uc3QgZ2w6OkZvcm1hdCAmZm9ybWF0ID0gcmVhZEF0dGFjaG1lbnQtPmdldEZvcm1h
dCgpOwotICAgIEFTU0VSVChmb3JtYXQuaW5mbyAhPSBudWxscHRyKTsKLSAgICByZXR1cm4gZm9y
bWF0LmluZm8tPmdldFJlYWRQaXhlbHNUeXBlKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSk7
Ci19Ci0KIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJOVUxMOjpyZWFkUGl4ZWxzKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmb3JpZ0FyZWEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LApAQCAtMTMxLDcgKzEwNSw3IEBA
IGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJOVUxMOjpyZWFkUGl4ZWxzKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogICAgIH0KIAogICAgIC8vIENsaXAgcmVhZCBhcmVhIHRvIGZyYW1lYnVm
ZmVyLgotICAgIGNvbnN0IGdsOjpFeHRlbnRzIGZiU2l6ZSA9IGdldFN0YXRlKCkuZ2V0UmVhZEF0
dGFjaG1lbnQoKS0+Z2V0U2l6ZSgpOworICAgIGNvbnN0IGdsOjpFeHRlbnRzIGZiU2l6ZSA9IGdl
dFN0YXRlKCkuZ2V0UmVhZFBpeGVsc0F0dGFjaG1lbnQoZm9ybWF0KS0+Z2V0U2l6ZSgpOwogICAg
IGNvbnN0IGdsOjpSZWN0YW5nbGUgZmJSZWN0KDAsIDAsIGZiU2l6ZS53aWR0aCwgZmJTaXplLmhl
aWdodCk7CiAgICAgZ2w6OlJlY3RhbmdsZSBhcmVhOwogICAgIGlmICghQ2xpcFJlY3RhbmdsZShv
cmlnQXJlYSwgZmJSZWN0LCAmYXJlYSkpCkBAIC0xODUsNiArMTU5LDcgQEAgYm9vbCBGcmFtZWJ1
ZmZlck5VTEw6OmNoZWNrU3RhdHVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAog
fQogCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyTlVMTDo6c3luY1N0YXRlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTGVudW0gYmluZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVyOjpEaXJ0eUJpdHMgJmRpcnR5Qml0cykKIHsKICAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbnVsbC9GcmFtZWJ1ZmZlck5VTEwuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9udWxsL0ZyYW1l
YnVmZmVyTlVMTC5oCmluZGV4IDQxZjE2NTBlNDk5ZGIwZmIzMGExNzkxNmYzNjFkNmM1ZTI1YjZi
NDAuLjkyMjkwYTUzOGY4ZDJkYzI2YjUyOGY0ODNhNmEyYTg1ZTY5N2I2ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9udWxsL0ZyYW1l
YnVmZmVyTlVMTC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9udWxsL0ZyYW1lYnVmZmVyTlVMTC5oCkBAIC01MSw4ICs1MSw2IEBAIGNsYXNzIEZy
YW1lYnVmZmVyTlVMTCA6IHB1YmxpYyBGcmFtZWJ1ZmZlckltcGwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xmbG9hdCBkZXB0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xpbnQgc3RlbmNpbCkgb3ZlcnJpZGU7CiAKLSAgICBHTGVudW0gZ2V0SW1wbGVtZW50
YXRpb25Db2xvclJlYWRGb3JtYXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92
ZXJyaWRlOwotICAgIEdMZW51bSBnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZFR5cGUoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQg
cmVhZFBpeGVscyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmYXJlYSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xlbnVtIGZvcm1hdCwKQEAgLTY4LDYgKzY2LDcgQEAgY2xhc3MgRnJhbWVi
dWZmZXJOVUxMIDogcHVibGljIEZyYW1lYnVmZmVySW1wbAogICAgIGJvb2wgY2hlY2tTdGF0dXMo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgYW5nbGU6
OlJlc3VsdCBzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xlbnVtIGJpbmRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OkZyYW1lYnVmZmVyOjpEaXJ0eUJpdHMgJmRpcnR5Qml0cykgb3ZlcnJp
ZGU7CiAKICAgICBhbmdsZTo6UmVzdWx0IGdldFNhbXBsZVBvc2l0aW9uKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL251bGwvVGV4dHVyZU5VTEwuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL251bGwvVGV4dHVyZU5VTEwuY3BwCmluZGV4IGE3
YjZmMDQ3YzZiYjM5ODE3MWI1YThkOGVhOTZjNTUyNDE2M2ViMTEuLmRkZTk1MGZkZTIyMGM4NGUx
NjU0YWRiNTI5NmIzNTgxMjhjZmQ4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9udWxsL1RleHR1cmVOVUxMLmNwcAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbnVsbC9UZXh0dXJlTlVM
TC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlTlVMTDo6c2V0SW1h
Z2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTGVudW0gZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xlbnVtIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewogICAgIC8vIFRP
RE8oZ2VvZmZsYW5nKTogUmVhZCBhbGwgaW5jb21pbmcgcGl4ZWwgZGF0YSAobWF5YmUgaGFzaCBp
dD8pIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIG91dApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL251bGwvVGV4dHVyZU5VTEwuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9udWxsL1RleHR1
cmVOVUxMLmgKaW5kZXggNGIyZGRiOWRkODRiM2E4M2VlMGExZTRhMTkwM2I0OGE1ZTlkNzc5ZC4u
NWI2ZWY1YzU4YWMwNGQyYjVhZDA4YjYzZjkwYjFiODkwOTY1YjdiOSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL251bGwvVGV4dHVyZU5V
TEwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bnVsbC9UZXh0dXJlTlVMTC5oCkBAIC0yOCw2ICsyOCw3IEBAIGNsYXNzIFRleHR1cmVOVUxMIDog
cHVibGljIFRleHR1cmVJbXBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9y
bWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKSBvdmVycmlkZTsKICAg
ICBhbmdsZTo6UmVzdWx0IHNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4
LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL3JlbmRlcmVyX3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9yZW5kZXJlcl91dGlscy5jcHAKaW5kZXggOWU2Zjc1ZDIyZDRkZDllYTkw
MGM2Y2RhZGVkMjA4YWI5NGI1ZTZmNC4uODMxOWU0YmQ5ZDI1MzVmYTZmNjZjYzYwNTdiYTQzNzdh
NDAyMTczOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3JlbmRlcmVyX3V0aWxzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMuY3BwCkBAIC0yMDUsMTEgKzIw
NSwxNCBAQCB2b2lkIFNldEZsb2F0VW5pZm9ybU1hdHJpeEZhc3QodW5zaWduZWQgaW50IGFycmF5
RWxlbWVudE9mZnNldCwKIAogICAgIG1lbWNweSh0YXJnZXREYXRhLCB2YWx1ZURhdGEsIG1hdHJp
eFNpemUgKiBjb3VudCk7CiB9Ci0KIH0gIC8vIGFub255bW91cyBuYW1lc3BhY2UKIAogUGFja1Bp
eGVsc1BhcmFtczo6UGFja1BpeGVsc1BhcmFtcygpCi0gICAgOiBkZXN0Rm9ybWF0KG51bGxwdHIp
LCBvdXRwdXRQaXRjaCgwKSwgcGFja0J1ZmZlcihudWxscHRyKSwgb2Zmc2V0KDApCisgICAgOiBk
ZXN0Rm9ybWF0KG51bGxwdHIpLAorICAgICAgb3V0cHV0UGl0Y2goMCksCisgICAgICBwYWNrQnVm
ZmVyKG51bGxwdHIpLAorICAgICAgb2Zmc2V0KDApLAorICAgICAgcm90YXRpb24oU3VyZmFjZVJv
dGF0aW9uOjpJZGVudGl0eSkKIHt9CiAKIFBhY2tQaXhlbHNQYXJhbXM6OlBhY2tQaXhlbHNQYXJh
bXMoY29uc3QgZ2w6OlJlY3RhbmdsZSAmYXJlYUluLApAQCAtMjIzLDcgKzIyNiw4IEBAIFBhY2tQ
aXhlbHNQYXJhbXM6OlBhY2tQaXhlbHNQYXJhbXMoY29uc3QgZ2w6OlJlY3RhbmdsZSAmYXJlYUlu
LAogICAgICAgb3V0cHV0UGl0Y2gob3V0cHV0UGl0Y2hJbiksCiAgICAgICBwYWNrQnVmZmVyKHBh
Y2tCdWZmZXJJbiksCiAgICAgICByZXZlcnNlUm93T3JkZXIocmV2ZXJzZVJvd09yZGVySW4pLAot
ICAgICAgb2Zmc2V0KG9mZnNldEluKQorICAgICAgb2Zmc2V0KG9mZnNldEluKSwKKyAgICAgIHJv
dGF0aW9uKFN1cmZhY2VSb3RhdGlvbjo6SWRlbnRpdHkpCiB7fQogCiB2b2lkIFBhY2tQaXhlbHMo
Y29uc3QgUGFja1BpeGVsc1BhcmFtcyAmcGFyYW1zLApAQCAtMjM2LDE0ICsyNDAsNzMgQEAgdm9p
ZCBQYWNrUGl4ZWxzKGNvbnN0IFBhY2tQaXhlbHNQYXJhbXMgJnBhcmFtcywKIAogICAgIGNvbnN0
IHVpbnQ4X3QgKnNvdXJjZSA9IHNvdXJjZUluOwogICAgIGludCBpbnB1dFBpdGNoICAgICAgICA9
IGlucHV0UGl0Y2hJbjsKLQotICAgIGlmIChwYXJhbXMucmV2ZXJzZVJvd09yZGVyKQotICAgIHsK
LSAgICAgICAgc291cmNlICs9IGlucHV0UGl0Y2ggKiAocGFyYW1zLmFyZWEuaGVpZ2h0IC0gMSk7
Ci0gICAgICAgIGlucHV0UGl0Y2ggPSAtaW5wdXRQaXRjaDsKKyAgICBpbnQgZGVzdFdpZHRoICAg
ICAgICAgPSBwYXJhbXMuYXJlYS53aWR0aDsKKyAgICBpbnQgZGVzdEhlaWdodCAgICAgICAgPSBw
YXJhbXMuYXJlYS5oZWlnaHQ7CisgICAgaW50IHhBeGlzUGl0Y2ggICAgICAgID0gMDsKKyAgICBp
bnQgeUF4aXNQaXRjaCAgICAgICAgPSAwOworICAgIHN3aXRjaCAocGFyYW1zLnJvdGF0aW9uKQor
ICAgIHsKKyAgICAgICAgY2FzZSBTdXJmYWNlUm90YXRpb246OklkZW50aXR5OgorICAgICAgICAg
ICAgLy8gVGhlIHNvdXJjZSBpbWFnZSBpcyBub3Qgcm90YXRlZCAoaS5lLiBtYXRjaGVzIHRoZSBk
ZXZpY2UncyBvcmllbnRhdGlvbiksIGFuZCBtYXkgb3IKKyAgICAgICAgICAgIC8vIG1heSBub3Qg
YmUgeS1mbGlwcGVkLiAgVGhlIGltYWdlIGlzIHJvdy1tYWpvci4gIEVhY2ggc291cmNlIHJvdyAo
b25lIHN0ZXAgYWxvbmcgdGhlCisgICAgICAgICAgICAvLyB5LWF4aXMgZm9yIGVhY2ggc3RlcCBp
biB0aGUgZGVzdCB5LWF4aXMpIGlzIGlucHV0UGl0Y2ggcGFzdCB0aGUgcHJldmlvdXMgcm93LiAg
QWxvbmcKKyAgICAgICAgICAgIC8vIGEgcm93LCBlYWNoIHNvdXJjZSBwaXhlbCAob25lIHN0ZXAg
YWxvbmcgdGhlIHgtYXhpcyBmb3IgZWFjaCBzdGVwIGluIHRoZSBkZXN0CisgICAgICAgICAgICAv
LyB4LWF4aXMpIGlzIHNvdXJjZUZvcm1hdC5waXhlbEJ5dGVzIHBhc3QgdGhlIHByZXZpb3VzIHBp
eGVsLgorICAgICAgICAgICAgeEF4aXNQaXRjaCA9IHNvdXJjZUZvcm1hdC5waXhlbEJ5dGVzOwor
ICAgICAgICAgICAgaWYgKHBhcmFtcy5yZXZlcnNlUm93T3JkZXIpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgLy8gVGhlIHNvdXJjZSBpbWFnZSBpcyB5LWZsaXBwZWQsIHdoaWNoIG1l
YW5zIHdlIHN0YXJ0IGF0IHRoZSBsYXN0IHJvdywgYW5kIGVhY2gKKyAgICAgICAgICAgICAgICAv
LyBzb3VyY2Ugcm93IGlzIEJFRk9SRSB0aGUgcHJldmlvdXMgcm93LgorICAgICAgICAgICAgICAg
IHNvdXJjZSArPSBpbnB1dFBpdGNoSW4gKiAocGFyYW1zLmFyZWEuaGVpZ2h0IC0gMSk7CisgICAg
ICAgICAgICAgICAgaW5wdXRQaXRjaCA9IC1pbnB1dFBpdGNoOworICAgICAgICAgICAgICAgIHlB
eGlzUGl0Y2ggPSAtaW5wdXRQaXRjaEluOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHlBeGlzUGl0Y2ggPSBpbnB1dFBpdGNo
SW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTdXJm
YWNlUm90YXRpb246OlJvdGF0ZWQ5MERlZ3JlZXM6CisgICAgICAgICAgICAvLyBUaGUgc291cmNl
IGltYWdlIGlzIHJvdGF0ZWQgOTAgZGVncmVlcyBjb3VudGVyLWNsb2Nrd2lzZS4gIFktZmxpcCBp
cyBhbHdheXMgYXBwbGllZAorICAgICAgICAgICAgLy8gdG8gcm90YXRlZCBpbWFnZXMuICBUaGUg
aW1hZ2UgaXMgY29sdW1uLW1ham9yLiAgRWFjaCBzb3VyY2UgY29sdW1uIChvbmUgc3RlcCBhbG9u
ZworICAgICAgICAgICAgLy8gdGhlIHNvdXJjZSB4LWF4aXMgZm9yIGVhY2ggc3RlcCBpbiB0aGUg
ZGVzdCB5LWF4aXMpIGlzIGlucHV0UGl0Y2ggcGFzdCB0aGUgcHJldmlvdXMKKyAgICAgICAgICAg
IC8vIGNvbHVtbi4gIEFsb25nIGEgY29sdW1uLCBlYWNoIHNvdXJjZSBwaXhlbCAob25lIHN0ZXAg
YWxvbmcgdGhlIHktYXhpcyBmb3IgZWFjaCBzdGVwCisgICAgICAgICAgICAvLyBpbiB0aGUgZGVz
dCB4LWF4aXMpIGlzIHNvdXJjZUZvcm1hdC5waXhlbEJ5dGVzIHBhc3QgdGhlIHByZXZpb3VzIHBp
eGVsLgorICAgICAgICAgICAgeEF4aXNQaXRjaCA9IGlucHV0UGl0Y2hJbjsKKyAgICAgICAgICAg
IHlBeGlzUGl0Y2ggPSBzb3VyY2VGb3JtYXQucGl4ZWxCeXRlczsKKyAgICAgICAgICAgIGRlc3RX
aWR0aCAgPSBwYXJhbXMuYXJlYS5oZWlnaHQ7CisgICAgICAgICAgICBkZXN0SGVpZ2h0ID0gcGFy
YW1zLmFyZWEud2lkdGg7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTdXJmYWNl
Um90YXRpb246OlJvdGF0ZWQxODBEZWdyZWVzOgorICAgICAgICAgICAgLy8gVGhlIHNvdXJjZSBp
bWFnZSBpcyByb3RhdGVkIDE4MCBkZWdyZWVzLiAgWS1mbGlwIGlzIGFsd2F5cyBhcHBsaWVkIHRv
IHJvdGF0ZWQKKyAgICAgICAgICAgIC8vIGltYWdlcy4gIFRoZSBpbWFnZSBpcyByb3ctbWFqb3Is
IGJ1dCB1cHNpZGUgZG93bi4gIEVhY2ggc291cmNlIHJvdyAob25lIHN0ZXAgYWxvbmcKKyAgICAg
ICAgICAgIC8vIHRoZSB5LWF4aXMgZm9yIGVhY2ggc3RlcCBpbiB0aGUgZGVzdCB5LWF4aXMpIGlz
IGlucHV0UGl0Y2ggYWZ0ZXIgdGhlIHByZXZpb3VzIHJvdy4KKyAgICAgICAgICAgIC8vIEFsb25n
IGEgcm93LCBlYWNoIHNvdXJjZSBwaXhlbCAob25lIHN0ZXAgYWxvbmcgdGhlIHgtYXhpcyBmb3Ig
ZWFjaCBzdGVwIGluIHRoZSBkZXN0CisgICAgICAgICAgICAvLyB4LWF4aXMpIGlzIHNvdXJjZUZv
cm1hdC5waXhlbEJ5dGVzIEJFRk9SRSB0aGUgcHJldmlvdXMgcGl4ZWwuCisgICAgICAgICAgICB4
QXhpc1BpdGNoID0gLXN0YXRpY19jYXN0PGludD4oc291cmNlRm9ybWF0LnBpeGVsQnl0ZXMpOwor
ICAgICAgICAgICAgeUF4aXNQaXRjaCA9IGlucHV0UGl0Y2hJbjsKKyAgICAgICAgICAgIHNvdXJj
ZSArPSBzb3VyY2VGb3JtYXQucGl4ZWxCeXRlcyAqIChwYXJhbXMuYXJlYS53aWR0aCAtIDEpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU3VyZmFjZVJvdGF0aW9uOjpSb3RhdGVk
MjcwRGVncmVlczoKKyAgICAgICAgICAgIC8vIFRoZSBzb3VyY2UgaW1hZ2UgaXMgcm90YXRlZCAy
NzAgZGVncmVlcyBjb3VudGVyLWNsb2Nrd2lzZSAob3IgOTAgZGVncmVlcyBjbG9ja3dpc2UpLgor
ICAgICAgICAgICAgLy8gWS1mbGlwIGlzIGFsd2F5cyBhcHBsaWVkIHRvIHJvdGF0ZWQgaW1hZ2Vz
LiAgVGhlIGltYWdlIGlzIGNvbHVtbi1tYWpvciwgd2hlcmUgZWFjaAorICAgICAgICAgICAgLy8g
Y29sdW1uIChvbmUgc3RlcCBpbiB0aGUgc291cmNlIHgtYXhpcyBmb3Igb25lIHN0ZXAgaW4gdGhl
IGRlc3QgeS1heGlzKSBpcyBpbnB1dFBpdGNoCisgICAgICAgICAgICAvLyBCRUZPUkUgdGhlIHBy
ZXZpb3VzIGNvbHVtbi4gIEFsb25nIGEgY29sdW1uLCBlYWNoIHNvdXJjZSBwaXhlbCAob25lIHN0
ZXAgYWxvbmcgdGhlCisgICAgICAgICAgICAvLyB5LWF4aXMgZm9yIGVhY2ggc3RlcCBpbiB0aGUg
ZGVzdCB4LWF4aXMpIGlzIHNvdXJjZUZvcm1hdC5waXhlbEJ5dGVzIEJFRk9SRSB0aGUKKyAgICAg
ICAgICAgIC8vIHByZXZpb3VzIHBpeGVsLiAgVGhlIGZpcnN0IHBpeGVsIGlzIGF0IHRoZSBlbmQg
b2YgdGhlIHNvdXJjZS4KKyAgICAgICAgICAgIHhBeGlzUGl0Y2ggPSAtaW5wdXRQaXRjaEluOwor
ICAgICAgICAgICAgeUF4aXNQaXRjaCA9IC1zdGF0aWNfY2FzdDxpbnQ+KHNvdXJjZUZvcm1hdC5w
aXhlbEJ5dGVzKTsKKyAgICAgICAgICAgIGRlc3RXaWR0aCAgPSBwYXJhbXMuYXJlYS5oZWlnaHQ7
CisgICAgICAgICAgICBkZXN0SGVpZ2h0ID0gcGFyYW1zLmFyZWEud2lkdGg7CisgICAgICAgICAg
ICBzb3VyY2UgKz0gaW5wdXRQaXRjaCAqIChwYXJhbXMuYXJlYS5oZWlnaHQgLSAxKSArCisgICAg
ICAgICAgICAgICAgICAgICAgc291cmNlRm9ybWF0LnBpeGVsQnl0ZXMgKiAocGFyYW1zLmFyZWEu
d2lkdGggLSAxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlm
IChzb3VyY2VGb3JtYXQgPT0gKnBhcmFtcy5kZXN0Rm9ybWF0KQorICAgIGlmIChwYXJhbXMucm90
YXRpb24gPT0gU3VyZmFjZVJvdGF0aW9uOjpJZGVudGl0eSAmJiBzb3VyY2VGb3JtYXQgPT0gKnBh
cmFtcy5kZXN0Rm9ybWF0KQogICAgIHsKICAgICAgICAgLy8gRGlyZWN0IGNvcHkgcG9zc2libGUK
ICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBwYXJhbXMuYXJlYS5oZWlnaHQ7ICsreSkKQEAg
LTI1OSwxMyArMzIyLDEzIEBAIHZvaWQgUGFja1BpeGVscyhjb25zdCBQYWNrUGl4ZWxzUGFyYW1z
ICZwYXJhbXMsCiAgICAgaWYgKGZhc3RDb3B5RnVuYykKICAgICB7CiAgICAgICAgIC8vIEZhc3Qg
Y29weSBpcyBwb3NzaWJsZSB0aHJvdWdoIHNvbWUgc3BlY2lhbCBmdW5jdGlvbgotICAgICAgICBm
b3IgKGludCB5ID0gMDsgeSA8IHBhcmFtcy5hcmVhLmhlaWdodDsgKyt5KQorICAgICAgICBmb3Ig
KGludCB5ID0gMDsgeSA8IGRlc3RIZWlnaHQ7ICsreSkKICAgICAgICAgewotICAgICAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCBwYXJhbXMuYXJlYS53aWR0aDsgKyt4KQorICAgICAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCBkZXN0V2lkdGg7ICsreCkKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICB1aW50OF90ICpkZXN0ID0KICAgICAgICAgICAgICAgICAgICAgZGVzdFdpdGhP
ZmZzZXQgKyB5ICogcGFyYW1zLm91dHB1dFBpdGNoICsgeCAqIHBhcmFtcy5kZXN0Rm9ybWF0LT5w
aXhlbEJ5dGVzOwotICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYyA9IHNvdXJjZSAr
IHkgKiBpbnB1dFBpdGNoICsgeCAqIHNvdXJjZUZvcm1hdC5waXhlbEJ5dGVzOworICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYyA9IHNvdXJjZSArIHkgKiB5QXhpc1BpdGNoICsgeCAq
IHhBeGlzUGl0Y2g7CiAKICAgICAgICAgICAgICAgICBmYXN0Q29weUZ1bmMoc3JjLCBkZXN0KTsK
ICAgICAgICAgICAgIH0KQEAgLTI4NiwxMyArMzQ5LDEzIEBAIHZvaWQgUGFja1BpeGVscyhjb25z
dCBQYWNrUGl4ZWxzUGFyYW1zICZwYXJhbXMsCiAgICAgUGl4ZWxSZWFkRnVuY3Rpb24gcGl4ZWxS
ZWFkRnVuY3Rpb24gPSBzb3VyY2VGb3JtYXQucGl4ZWxSZWFkRnVuY3Rpb247CiAgICAgQVNTRVJU
KHBpeGVsUmVhZEZ1bmN0aW9uICE9IG51bGxwdHIpOwogCi0gICAgZm9yIChpbnQgeSA9IDA7IHkg
PCBwYXJhbXMuYXJlYS5oZWlnaHQ7ICsreSkKKyAgICBmb3IgKGludCB5ID0gMDsgeSA8IGRlc3RI
ZWlnaHQ7ICsreSkKICAgICB7Ci0gICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgcGFyYW1zLmFy
ZWEud2lkdGg7ICsreCkKKyAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBkZXN0V2lkdGg7ICsr
eCkKICAgICAgICAgewogICAgICAgICAgICAgdWludDhfdCAqZGVzdCA9CiAgICAgICAgICAgICAg
ICAgZGVzdFdpdGhPZmZzZXQgKyB5ICogcGFyYW1zLm91dHB1dFBpdGNoICsgeCAqIHBhcmFtcy5k
ZXN0Rm9ybWF0LT5waXhlbEJ5dGVzOwotICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc3JjID0g
c291cmNlICsgeSAqIGlucHV0UGl0Y2ggKyB4ICogc291cmNlRm9ybWF0LnBpeGVsQnl0ZXM7Cisg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpzcmMgPSBzb3VyY2UgKyB5ICogeUF4aXNQaXRjaCAr
IHggKiB4QXhpc1BpdGNoOwogCiAgICAgICAgICAgICAvLyByZWFkRnVuYyBhbmQgd3JpdGVGdW5j
IHdpbGwgYmUgdXNpbmcgdGhlIHNhbWUgdHlwZSBvZiBjb2xvciwgQ29weVRleEltYWdlCiAgICAg
ICAgICAgICAvLyB3aWxsIG5vdCBhbGxvdyB0aGUgY29weSBvdGhlcndpc2UuCkBAIC03NjgsMjIg
KzgzMSw2IEBAIGFuZ2xlOjpSZXN1bHQgR2V0VmVydGV4UmFuZ2VJbmZvKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogCiBnbDo6UmVjdGFuZ2xlIENsaXBSZWN0VG9TY2lzc29yKGNvbnN0IGds
OjpTdGF0ZSAmZ2xTdGF0ZSwgY29uc3QgZ2w6OlJlY3RhbmdsZSAmcmVjdCwgYm9vbCBpbnZlcnRZ
KQogewotICAgIGlmIChnbFN0YXRlLmlzU2Npc3NvclRlc3RFbmFibGVkKCkpCi0gICAgewotICAg
ICAgICBnbDo6UmVjdGFuZ2xlIGNsaXBwZWRSZWN0OwotICAgICAgICBpZiAoIWdsOjpDbGlwUmVj
dGFuZ2xlKGdsU3RhdGUuZ2V0U2Npc3NvcigpLCByZWN0LCAmY2xpcHBlZFJlY3QpKQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gZ2w6OlJlY3RhbmdsZSgpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKGludmVydFkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNsaXBwZWRSZWN0Lnkg
PSByZWN0LmhlaWdodCAtIGNsaXBwZWRSZWN0LnkgLSBjbGlwcGVkUmVjdC5oZWlnaHQ7Ci0gICAg
ICAgIH0KLQotICAgICAgICByZXR1cm4gY2xpcHBlZFJlY3Q7Ci0gICAgfQotCiAgICAgLy8gSWYg
dGhlIHNjaXNzb3IgdGVzdCBpc24ndCBlbmFibGVkLCBhc3N1bWUgaXQgaGFzIGluZmluaXRlIHNp
emUuICBJdHMgaW50ZXJzZWN0aW9uIHdpdGggdGhlCiAgICAgLy8gcmVjdCB3b3VsZCBiZSB0aGUg
cmVjdCBpdHNlbGYuCiAgICAgLy8KQEAgLTc5MSw3ICs4MzgsMjMgQEAgZ2w6OlJlY3RhbmdsZSBD
bGlwUmVjdFRvU2Npc3Nvcihjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUsIGNvbnN0IGdsOjpSZWN0
YW5nbGUgJnIKICAgICAvLyB1bm5lY2Vzc2FyeSBwaXBlbGluZSBjcmVhdGlvbnMgaWYgdHdvIG90
aGVyd2lzZSBpZGVudGljYWwgcGlwZWxpbmVzIGFyZSB1c2VkIG9uIGZyYW1lYnVmZmVycwogICAg
IC8vIHdpdGggZGlmZmVyZW50IHNpemVzLiAgSWYgc3VjaCB1c2FnZSBpcyBvYnNlcnZlZCBpbiBh
biBhcHBsaWNhdGlvbiwgd2Ugc2hvdWxkIGludmVzdGlnYXRlCiAgICAgLy8gcG9zc2libGUgb3B0
aW1pemF0aW9ucy4KLSAgICByZXR1cm4gcmVjdDsKKyAgICBpZiAoIWdsU3RhdGUuaXNTY2lzc29y
VGVzdEVuYWJsZWQoKSkKKyAgICB7CisgICAgICAgIHJldHVybiByZWN0OworICAgIH0KKworICAg
IGdsOjpSZWN0YW5nbGUgY2xpcHBlZFJlY3Q7CisgICAgaWYgKCFnbDo6Q2xpcFJlY3RhbmdsZShn
bFN0YXRlLmdldFNjaXNzb3IoKSwgcmVjdCwgJmNsaXBwZWRSZWN0KSkKKyAgICB7CisgICAgICAg
IHJldHVybiBnbDo6UmVjdGFuZ2xlKCk7CisgICAgfQorCisgICAgaWYgKGludmVydFkpCisgICAg
eworICAgICAgICBjbGlwcGVkUmVjdC55ID0gcmVjdC5oZWlnaHQgLSBjbGlwcGVkUmVjdC55IC0g
Y2xpcHBlZFJlY3QuaGVpZ2h0OworICAgIH0KKworICAgIHJldHVybiBjbGlwcGVkUmVjdDsKIH0K
IAogdm9pZCBBcHBseUZlYXR1cmVPdmVycmlkZXMoYW5nbGU6OkZlYXR1cmVTZXRCYXNlICpmZWF0
dXJlcywgY29uc3QgZWdsOjpEaXNwbGF5U3RhdGUgJnN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3JlbmRlcmVyX3V0aWxzLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJf
dXRpbHMuaAppbmRleCBmZWUwMjRiYmZhMWRmMjkyM2IyMTg4MGYxMDAzNjAyMmRiOWIwZjQ2Li44
MDlkNjM3NzhlZmRmZDQwNTU4MThlODU2MTYyYmViZWNjMDE1YzY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMu
aAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVu
ZGVyZXJfdXRpbHMuaApAQCAtNDMsNiArNDMsMjMgQEAgbmFtZXNwYWNlIHJ4CiB7CiBjbGFzcyBD
b250ZXh0SW1wbDsKIAorLy8gVGhlIHBvc3NpYmxlIHJvdGF0aW9ucyBvZiB0aGUgc3VyZmFjZS9k
cmF3IGZyYW1lYnVmZmVyLCBwYXJ0aWN1bGFybHkgZm9yIHRoZSBWdWxrYW4gYmFjay1lbmQgb24K
Ky8vIEFuZHJvaWQuCitlbnVtIGNsYXNzIFN1cmZhY2VSb3RhdGlvbgoreworICAgIElkZW50aXR5
LAorICAgIFJvdGF0ZWQ5MERlZ3JlZXMsCisgICAgUm90YXRlZDE4MERlZ3JlZXMsCisgICAgUm90
YXRlZDI3MERlZ3JlZXMsCisgICAgRmxpcHBlZElkZW50aXR5LAorICAgIEZsaXBwZWRSb3RhdGVk
OTBEZWdyZWVzLAorICAgIEZsaXBwZWRSb3RhdGVkMTgwRGVncmVlcywKKyAgICBGbGlwcGVkUm90
YXRlZDI3MERlZ3JlZXMsCisKKyAgICBJbnZhbGlkRW51bSwKKyAgICBFbnVtQ291bnQgPSBJbnZh
bGlkRW51bSwKK307CisKIHVzaW5nIE1pcEdlbmVyYXRpb25GdW5jdGlvbiA9IHZvaWQgKCopKHNp
emVfdCBzb3VyY2VXaWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVfdCBzb3VyY2VIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaXplX3Qgc291cmNlRGVwdGgsCkBAIC05NCw2ICsxMTEsNyBAQCBzdHJ1Y3QgUGFja1Bp
eGVsc1BhcmFtcwogICAgIGdsOjpCdWZmZXIgKnBhY2tCdWZmZXI7CiAgICAgYm9vbCByZXZlcnNl
Um93T3JkZXI7CiAgICAgcHRyZGlmZl90IG9mZnNldDsKKyAgICBTdXJmYWNlUm90YXRpb24gcm90
YXRpb247CiB9OwogCiB2b2lkIFBhY2tQaXhlbHMoY29uc3QgUGFja1BpeGVsc1BhcmFtcyAmcGFy
YW1zLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3NlcmlhbF91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3NlcmlhbF91dGlscy5oCmluZGV4IGJlNzAxNWQ4Mzc2ODc2NDVmMDU0Yzlm
ZGJiMjA2ZWQ3MzU5ZTk4NDcuLmU4MWZiN2FkZjg1MjVhODRmZDg0Yjg2ODcwMDNjNzUyMDYxNzA4
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9zZXJpYWxfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvc2VyaWFsX3V0aWxzLmgKQEAgLTY5LDYgKzY5LDcgQEAgY2xhc3MgU2Vy
aWFsIGZpbmFsCiAKICAgICAvLyBVc2VmdWwgZm9yIHNlcmlhbGl6YXRpb24uCiAgICAgY29uc3Rl
eHByIHVpbnQ2NF90IGdldFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbVZhbHVlOyB9CisgICAgY29u
c3RleHByIGJvb2wgdmFsaWQoKSBjb25zdCB7IHJldHVybiBtVmFsdWUgIT0ga0ludmFsaWQ7IH0K
IAogICBwcml2YXRlOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CVUlMRC5n
biBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4v
QlVJTEQuZ24KaW5kZXggMzg3NWNhZDA1ZWViYmQ5MGMxZjY0OGM0ZjY1YTU3MjBkZGQ2ODhhMC4u
Njc4NDE3ODJkNGM2ZTk3YTMxZTMwZTM2ODM1ZjZhMTgyYzQ1NTkwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CVUlMRC5n
bgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL0JVSUxELmduCkBAIC04Nyw2ICs4Nyw3IEBAIF92dWxrYW5fYmFja2VuZF9zb3VyY2VzID0g
WwogICAidmtfZm9ybWF0X3RhYmxlX2F1dG9nZW4uY3BwIiwKICAgInZrX2Zvcm1hdF91dGlscy5j
cHAiLAogICAidmtfZm9ybWF0X3V0aWxzLmgiLAorICAidmtfZ29vZ2xlX2ZpbHRlcmluZ19wcmVj
aXNpb24uaCIsCiAgICJ2a19oZWxwZXJzLmNwcCIsCiAgICJ2a19oZWxwZXJzLmgiLAogICAidmtf
aW50ZXJuYWxfc2hhZGVyc19hdXRvZ2VuLmNwcCIsCkBAIC0xNjEsMTIgKzE2MiwyNiBAQCBjb25m
aWcoImFuZ2xlX3Z1bGthbl9saWJfYW5kcm9pZCIpIHsKICAgfQogfQogCitjb25maWcoImFuZ2xl
X3Z1bGthbl9oZWFkZXJzX2NvbmZpZyIpIHsKKyAgaWYgKGFuZ2xlX3NoYXJlZF9saWJ2dWxrYW4p
IHsKKyAgICBkZWZpbmVzID0gWyAiQU5HTEVfU0hBUkVEX0xJQlZVTEtBTj0xIiBdCisgIH0KK30K
KworYW5nbGVfc291cmNlX3NldCgiYW5nbGVfdnVsa2FuX2hlYWRlcnMiKSB7CisgIHNvdXJjZXMg
PSBbICJ2a19oZWFkZXJzLmgiIF0KKyAgaWYgKGFuZ2xlX3NoYXJlZF9saWJ2dWxrYW4pIHsKKyAg
ICBwdWJsaWNfZGVwcyA9IFsgIiRhbmdsZV9yb290L3NyYy90aGlyZF9wYXJ0eS92b2xrOnZvbGsi
IF0KKyAgfSBlbHNlIHsKKyAgICBwdWJsaWNfZGVwcyA9CisgICAgICAgIFsgIiRhbmdsZV9yb290
L3RoaXJkX3BhcnR5L3Z1bGthbi1oZWFkZXJzL3NyYzp2dWxrYW5faGVhZGVycyIgXQorICB9Cisg
IHB1YmxpY19jb25maWdzID0gWyAiOmFuZ2xlX3Z1bGthbl9oZWFkZXJzX2NvbmZpZyIgXQorfQor
CiBncm91cCgiYW5nbGVfdnVsa2FuX2VudHJ5X3BvaW50cyIpIHsKICAgcHVibGljX2NvbmZpZ3Mg
PSBbICI6YW5nbGVfdnVsa2FuX2xpYl9hbmRyb2lkIiBdCi0gIHB1YmxpY19kZXBzID0gWwotICAg
ICIkYW5nbGVfcm9vdC9zcmMvdGhpcmRfcGFydHkvdm9sazp2b2xrIiwKLSAgICAiJGFuZ2xlX3Jv
b3QvdGhpcmRfcGFydHkvdnVsa2FuLWhlYWRlcnMvc3JjOnZ1bGthbl9oZWFkZXJzIiwKLSAgXQor
ICBwdWJsaWNfZGVwcyA9IFsgIjphbmdsZV92dWxrYW5faGVhZGVycyIgXQogICBpZiAoaXNfZnVj
aHNpYSkgewogICAgIHB1YmxpY19kZXBzICs9IFsKICAgICAgICIkYW5nbGVfcm9vdC9zcmMvY29t
bW9uL2Z1Y2hzaWFfZWdsIiwKQEAgLTE3NCw3ICsxODksMTEgQEAgZ3JvdXAoImFuZ2xlX3Z1bGth
bl9lbnRyeV9wb2ludHMiKSB7CiAgICAgICAiLy90aGlyZF9wYXJ0eS9mdWNoc2lhLXNkay9zZGsv
cGtnL3Z1bGthbiIsCiAgICAgXQogICB9IGVsc2UgaWYgKCFpc19hbmRyb2lkICYmICFpc19nZ3Ap
IHsKLSAgICBkYXRhX2RlcHMgPSBbICIkYW5nbGVfcm9vdC90aGlyZF9wYXJ0eS92dWxrYW4tbG9h
ZGVyL3NyYzpsaWJ2dWxrYW4iIF0KKyAgICBpZiAoYW5nbGVfc2hhcmVkX2xpYnZ1bGthbikgewor
ICAgICAgZGF0YV9kZXBzID0gWyAiJGFuZ2xlX3Jvb3QvdGhpcmRfcGFydHkvdnVsa2FuLWxvYWRl
ci9zcmM6bGlidnVsa2FuIiBdCisgICAgfSBlbHNlIHsKKyAgICAgIGRlcHMgPSBbICIkYW5nbGVf
cm9vdC90aGlyZF9wYXJ0eS92dWxrYW4tbG9hZGVyL3NyYzpsaWJ2dWxrYW4iIF0KKyAgICB9CiAg
IH0KIH0KIApAQCAtMTg2LDM0ICsyMDUsNTUgQEAgY29uZmlnKCJhbmdsZV92dWxrYW5fYmFja2Vu
ZF9jb25maWciKSB7CiAgIGlmIChhbmdsZV9lbmFibGVfY3VzdG9tX3Z1bGthbl9jbWRfYnVmZmVy
cykgewogICAgIGRlZmluZXMgKz0gWyAiQU5HTEVfVVNFX0NVU1RPTV9WVUxLQU5fQ01EX0JVRkZF
UlM9MSIgXQogICB9Ci0KICAgaWYgKGFuZ2xlX2VuYWJsZV92dWxrYW5fZ3B1X3RyYWNlX2V2ZW50
cykgewogICAgIGRlZmluZXMgKz0gWyAiQU5HTEVfRU5BQkxFX1ZVTEtBTl9HUFVfVFJBQ0VfRVZF
TlRTPTEiIF0KICAgfQogfQogCithbmdsZV9zb3VyY2Vfc2V0KCJhbmdsZV92a19tZW1fYWxsb2Nf
d3JhcHBlciIpIHsKKyAgZGVwcyA9IFsKKyAgICAiOmFuZ2xlX3Z1bGthbl9oZWFkZXJzIiwKKyAg
ICAiJGFuZ2xlX3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yX2RpciIsCisgIF0KKyAgc291cmNlcyA9
IFsKKyAgICAidmtfbWVtX2FsbG9jX3dyYXBwZXIuY3BwIiwKKyAgICAidmtfbWVtX2FsbG9jX3dy
YXBwZXIuaCIsCisgIF0KKyAgZGVmaW5lcyA9IFsgIlZNQV9JTVBMRU1FTlRBVElPTiIgXQorICBp
ZiAoaXNfY2xhbmcpIHsKKyAgICBjZmxhZ3NfY2MgPSBbCisgICAgICAiLVduby1leHRyYS1zZW1p
LXN0bXQiLAorICAgICAgIi1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMiLAorICAgIF0K
KyAgfQorfQorCiBhbmdsZV9zb3VyY2Vfc2V0KCJhbmdsZV92dWxrYW5fYmFja2VuZCIpIHsKICAg
c291cmNlcyA9IF92dWxrYW5fYmFja2VuZF9zb3VyY2VzCiAgIGxpYnMgPSBbXQogICBkZXBzID0g
WworICAgICI6YW5nbGVfdmtfbWVtX2FsbG9jX3dyYXBwZXIiLAogICAgICI6YW5nbGVfdnVsa2Fu
X2VudHJ5X3BvaW50cyIsCisgICAgIjphbmdsZV92dWxrYW5faGVhZGVycyIsCiAgICAgIiRhbmds
ZV9yb290OmFuZ2xlX2dwdV9pbmZvX3V0aWwiLAogICAgICIkYW5nbGVfcm9vdDphbmdsZV9pbWFn
ZV91dGlsIiwKLSAgICAiJGFuZ2xlX3Jvb3QvdGhpcmRfcGFydHkvdnVsa2FuLWhlYWRlcnMvc3Jj
OnZ1bGthbl9oZWFkZXJzIiwKICAgICAiJGFuZ2xlX3NwaXJ2X3Rvb2xzX2RpcjpzcHZ0b29sc192
YWwiLAogICBdCiAgIHB1YmxpY19kZXBzID0gWwogICAgICIkYW5nbGVfcm9vdDphbmdsZV9nbHNs
YW5nX3dyYXBwZXIiLAogICAgICIkYW5nbGVfcm9vdDpsaWJBTkdMRV9oZWFkZXJzIiwKKyAgICAi
JGFuZ2xlX3Jvb3Qvc3JjL2NvbW1vbi92dWxrYW4iLAogICBdCiAgIHB1YmxpY19jb25maWdzID0g
WyAiOmFuZ2xlX3Z1bGthbl9iYWNrZW5kX2NvbmZpZyIgXQogCiAgIGRhdGFfZGVwcyA9IFtdCiAK
LSAgZGVmaW5lcyA9IFsKLSAgICAiQU5HTEVfVktfTEFZRVJTX0RJUj1cIiRhbmdsZV9kYXRhX2Rp
clwiIiwKLSAgICAiQU5HTEVfVktfTU9DS19JQ0RfSlNPTj1cIiRhbmdsZV9kYXRhX2Rpci9Wa0lD
RF9tb2NrX2ljZC5qc29uXCIiLAotICBdCisgIGRlZmluZXMgPSBbXQorCisgIGlmIChhbmdsZV9l
bmFibGVfdnVsa2FuX3ZhbGlkYXRpb25fbGF5ZXJzKSB7CisgICAgZGVmaW5lcyArPSBbICJBTkdM
RV9FTkFCTEVfVlVMS0FOX1ZBTElEQVRJT05fTEFZRVJTX0JZX0RFRkFVTFQiIF0KKyAgICBkYXRh
X2RlcHMgKz0gWyAiJGFuZ2xlX3Jvb3Qvc3JjL2NvbW1vbi92dWxrYW46dnVsa2FuX3ZhbGlkYXRp
b25fbGF5ZXJzIiBdCisgIH0KIAogICBpZiAoaXNfYW5kcm9pZCkgewogICAgIGxpYnMgKz0gWyAi
dnVsa2FuIiBdCkBAIC0yMjIsMzggKzI2Miw0IEBAIGFuZ2xlX3NvdXJjZV9zZXQoImFuZ2xlX3Z1
bGthbl9iYWNrZW5kIikgewogICAjIEluY2x1ZGUgZ2VuZXJhdGVkIHNoYWRlcnMuCiAgIGltcG9y
dCgidmtfaW50ZXJuYWxfc2hhZGVyc19hdXRvZ2VuLmduaSIpCiAgIHNvdXJjZXMgKz0gYW5nbGVf
dnVsa2FuX2ludGVybmFsX3NoYWRlcnMKLQotICBpZiAoIWlzX2FuZHJvaWQgJiYgIWlzX2Z1Y2hz
aWEgJiYgIWlzX2dncCkgewotICAgIGRhdGFfZGVwcyArPSBbCi0gICAgICAiJGFuZ2xlX3Jvb3Qv
dGhpcmRfcGFydHkvdnVsa2FuLWxvYWRlci9zcmM6bGlidnVsa2FuIiwKLSAgICAgICIkYW5nbGVf
cm9vdC90aGlyZF9wYXJ0eS92dWxrYW4tdG9vbHMvc3JjOlZrSUNEX21vY2tfaWNkIiwKLSAgICBd
Ci0gIH0KLQotICBpZiAoYW5nbGVfZW5hYmxlX3Z1bGthbl92YWxpZGF0aW9uX2xheWVycykgewot
ICAgIGRlZmluZXMgKz0gWyAiQU5HTEVfRU5BQkxFX1ZVTEtBTl9WQUxJREFUSU9OX0xBWUVSU19C
WV9ERUZBVUxUIiBdCi0gICAgaWYgKGlzX2Z1Y2hzaWEpIHsKLSAgICAgIGRhdGFfZGVwcyArPSBb
ICIvL3RoaXJkX3BhcnR5L2Z1Y2hzaWEtc2RrOnZ1bGthbl92YWxpZGF0aW9uIiBdCi0gICAgfSBl
bHNlIHsKLSAgICAgIGRhdGFfZGVwcyArPSBbICIkYW5nbGVfcm9vdC90aGlyZF9wYXJ0eS92dWxr
YW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjOnZ1bGthbl92YWxpZGF0aW9uX2xheWVycyIgXQotICAg
ICAgaWYgKCFpc19hbmRyb2lkKSB7Ci0gICAgICAgIGRhdGFfZGVwcyArPSBbICIkYW5nbGVfcm9v
dC90aGlyZF9wYXJ0eS92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjOnZ1bGthbl9nZW5fanNv
bl9maWxlcyIgXQotICAgICAgfQotICAgIH0KLSAgfQotCi0gIGlmIChhbmdsZV9lbmFibGVfc3dp
ZnRzaGFkZXIpIHsKLSAgICBpbXBvcnQoIiRzd2lmdHNoYWRlcl9kaXIvc3JjL1Z1bGthbi92dWxr
YW4uZ25pIikKLSAgICBfc3dzX2ljZCA9ICIuLyRzd2lmdHNoYWRlcl9pY2RfZmlsZV9uYW1lIgot
ICAgIGlmIChpc193aW4pIHsKLSAgICAgIF9zd3NfaWNkID0gIi5cXFxcJHN3aWZ0c2hhZGVyX2lj
ZF9maWxlX25hbWUiCi0gICAgfQotCi0gICAgZGVmaW5lcyArPSBbICJBTkdMRV9WS19TV0lGVFNI
QURFUl9JQ0RfSlNPTj1cIiR7X3N3c19pY2R9XCIiIF0KLQotICAgIGRhdGFfZGVwcyArPSBbCi0g
ICAgICAiJHN3aWZ0c2hhZGVyX2Rpci9zcmMvVnVsa2FuOmljZF9maWxlIiwKLSAgICAgICIkc3dp
ZnRzaGFkZXJfZGlyL3NyYy9WdWxrYW46c3dpZnRzaGFkZXJfbGlidnVsa2FuIiwKLSAgICBdCi0g
IH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vQnVmZmVyVmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJWay5jcHAKaW5kZXggYTAyMTY3Y2Y2ZGJi
OTQ1ZjJiMTJkZjU0Nzc1ZTM2MmQwZWJlMjgzYi4uYmJmZTViNGNhYTlkOWUyY2IyOWU1ZDUzZDU5
ZWI4YjBkMDcyMzRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJWay5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJWay5jcHAKQEAgLTks
NiArOSw3IEBACiAKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsu
aCIKIAorI2luY2x1ZGUgImNvbW1vbi9GaXhlZFZlY3Rvci5oIgogI2luY2x1ZGUgImNvbW1vbi9k
ZWJ1Zy5oIgogI2luY2x1ZGUgImNvbW1vbi9tYXRodXRpbC5oIgogI2luY2x1ZGUgImNvbW1vbi91
dGlsaXRpZXMuaCIKQEAgLTcyLDYgKzczLDggQEAgQU5HTEVfSU5MSU5FIFZrTWVtb3J5UHJvcGVy
dHlGbGFncyBHZXRQcmVmZXJyZWRNZW1vcnlUeXBlKGdsOjpCdWZmZXJCaW5kaW5nIHRhcmcKICAg
ICBjb25zdGV4cHIgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIGtIb3N0Q2FjaGVkRmxhZ3MgPQogICAg
ICAgICAoVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQgfCBWS19NRU1PUllfUFJP
UEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQgfAogICAgICAgICAgVktfTUVNT1JZX1BST1BFUlRZX0hP
U1RfQ0FDSEVEX0JJVCk7CisgICAgY29uc3RleHByIFZrTWVtb3J5UHJvcGVydHlGbGFncyBrSG9z
dFVuY2FjaGVkRmxhZ3MgPQorICAgICAgICAoVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJM
RV9CSVQgfCBWS19NRU1PUllfUFJPUEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQpOwogCiAgICAgaWYg
KHRhcmdldCA9PSBnbDo6QnVmZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spCiAgICAgewpAQCAtODUs
MTEgKzg4LDI5IEBAIEFOR0xFX0lOTElORSBWa01lbW9yeVByb3BlcnR5RmxhZ3MgR2V0UHJlZmVy
cmVkTWVtb3J5VHlwZShnbDo6QnVmZmVyQmluZGluZyB0YXJnCiAgICAgICAgIGNhc2UgZ2w6OkJ1
ZmZlclVzYWdlOjpTdGF0aWNSZWFkOgogICAgICAgICAgICAgLy8gRm9yIHN0YXRpYyB1c2FnZSwg
cmVxdWVzdCBhIGRldmljZSBsb2NhbCBtZW1vcnkKICAgICAgICAgICAgIHJldHVybiBrRGV2aWNl
TG9jYWxGbGFnczsKKyAgICAgICAgY2FzZSBnbDo6QnVmZmVyVXNhZ2U6OkR5bmFtaWNEcmF3Ogor
ICAgICAgICBjYXNlIGdsOjpCdWZmZXJVc2FnZTo6U3RyZWFtRHJhdzoKKyAgICAgICAgICAgIC8v
IEZvciBub24tc3RhdGljIHVzYWdlIHdoZXJlIHRoZSBDUFUgcGVyZm9ybXMgYSB3cml0ZS1vbmx5
IGFjY2VzcywgcmVxdWVzdAorICAgICAgICAgICAgLy8gYSBob3N0IHVuY2FjaGVkIG1lbW9yeQor
ICAgICAgICAgICAgcmV0dXJuIGtIb3N0VW5jYWNoZWRGbGFnczsKKyAgICAgICAgY2FzZSBnbDo6
QnVmZmVyVXNhZ2U6OkR5bmFtaWNDb3B5OgorICAgICAgICBjYXNlIGdsOjpCdWZmZXJVc2FnZTo6
RHluYW1pY1JlYWQ6CisgICAgICAgIGNhc2UgZ2w6OkJ1ZmZlclVzYWdlOjpTdHJlYW1Db3B5Ogor
ICAgICAgICBjYXNlIGdsOjpCdWZmZXJVc2FnZTo6U3RyZWFtUmVhZDoKKyAgICAgICAgICAgIC8v
IEZvciBhbGwgb3RoZXIgdHlwZXMgb2YgdXNhZ2UsIHJlcXVlc3QgYSBob3N0IGNhY2hlZCBtZW1v
cnkKKyAgICAgICAgICAgIHJldHVybiBrSG9zdENhY2hlZEZsYWdzOwogICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgLy8gRm9yIG5vbi1zdGF0aWMgdXNhZ2UsIHJlcXVlc3QgYSBob3N0IGNh
Y2hlZCBtZW1vcnkKKyAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CiAgICAgICAgICAgICByZXR1
cm4ga0hvc3RDYWNoZWRGbGFnczsKICAgICB9CiB9CisKK0FOR0xFX0lOTElORSBib29sIFN1YkRh
dGFTaXplTWVldHNUaHJlc2hvbGQoc2l6ZV90IHN1YkRhdGFTaXplLCBzaXplX3QgYnVmZmVyU2l6
ZSkKK3sKKyAgICAvLyBBIHN1YiBkYXRhIHVwZGF0ZSB3aXRoIHNpemUgPiA1MCUgb2YgYnVmZmVy
IHNpemUgbWVldHMgdGhlIHRocmVzaG9sZAorICAgIC8vIHRvIGFjcXVpcmUgYSBuZXcgQnVmZmVy
SGVscGVyIGZyb20gdGhlIHBvb2wuCisgICAgcmV0dXJuIHN1YkRhdGFTaXplID4gKGJ1ZmZlclNp
emUgLyAyKTsKK30KIH0gIC8vIG5hbWVzcGFjZQogCiAvLyBDb252ZXJzaW9uQnVmZmVyIGltcGxl
bWVudGF0aW9uLgpAQCAtMTI4LDcgKzE0OSw3IEBAIEJ1ZmZlclZrOjpWZXJ0ZXhDb252ZXJzaW9u
QnVmZmVyOjpWZXJ0ZXhDb252ZXJzaW9uQnVmZmVyKFZlcnRleENvbnZlcnNpb25CdWZmZXIKIEJ1
ZmZlclZrOjpWZXJ0ZXhDb252ZXJzaW9uQnVmZmVyOjp+VmVydGV4Q29udmVyc2lvbkJ1ZmZlcigp
ID0gZGVmYXVsdDsKIAogLy8gQnVmZmVyVmsgaW1wbGVtZW50YXRpb24uCi1CdWZmZXJWazo6QnVm
ZmVyVmsoY29uc3QgZ2w6OkJ1ZmZlclN0YXRlICZzdGF0ZSkgOiBCdWZmZXJJbXBsKHN0YXRlKSB7
fQorQnVmZmVyVms6OkJ1ZmZlclZrKGNvbnN0IGdsOjpCdWZmZXJTdGF0ZSAmc3RhdGUpIDogQnVm
ZmVySW1wbChzdGF0ZSksIG1CdWZmZXIobnVsbHB0cikge30KIAogQnVmZmVyVms6On5CdWZmZXJW
aygpIHt9CiAKQEAgLTE0Miw4ICsxNjMsMTAgQEAgdm9pZCBCdWZmZXJWazo6ZGVzdHJveShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCkKIHZvaWQgQnVmZmVyVms6OnJlbGVhc2UoQ29udGV4dFZr
ICpjb250ZXh0VmspCiB7CiAgICAgUmVuZGVyZXJWayAqcmVuZGVyZXIgPSBjb250ZXh0VmstPmdl
dFJlbmRlcmVyKCk7Ci0gICAgbUJ1ZmZlci5yZWxlYXNlKHJlbmRlcmVyKTsKICAgICBtU3RhZ2lu
Z0J1ZmZlci5yZWxlYXNlKHJlbmRlcmVyKTsKKyAgICBtU2hhZG93QnVmZmVyLnJlbGVhc2UoKTsK
KyAgICBtQnVmZmVyUG9vbC5yZWxlYXNlKHJlbmRlcmVyKTsKKyAgICBtQnVmZmVyID0gbnVsbHB0
cjsKIAogICAgIGZvciAoQ29udmVyc2lvbkJ1ZmZlciAmYnVmZmVyIDogbVZlcnRleENvbnZlcnNp
b25CdWZmZXJzKQogICAgIHsKQEAgLTE2Myw2ICsxODYsMzMgQEAgdm9pZCBCdWZmZXJWazo6aW5p
dGlhbGl6ZVN0YWdpbmdCdWZmZXIoQ29udGV4dFZrICpjb250ZXh0VmssIGdsOjpCdWZmZXJCaW5k
aW5nIHQKICAgICBtU3RhZ2luZ0J1ZmZlci5pbml0KHJlbmRlcmVyVmssIGtCdWZmZXJVc2FnZUZs
YWdzLCBhbGlnbm1lbnQsIHN0YWdpbmdCdWZmZXJTaXplLCB0cnVlKTsKIH0KIAorYW5nbGU6OlJl
c3VsdCBCdWZmZXJWazo6aW5pdGlhbGl6ZVNoYWRvd0J1ZmZlcihDb250ZXh0VmsgKmNvbnRleHRW
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkJ1
ZmZlckJpbmRpbmcgdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplX3Qgc2l6ZSkKK3sKKyAgICAvLyBGb3Igbm93LCBlbmFibGUgc2hhZG93
IGJ1ZmZlcnMgb25seSBmb3IgcGl4ZWwgdW5wYWNrIGJ1ZmZlcnMuCisgICAgLy8gSWYgdXNlY2Fz
ZXMgcHJlc2VudCB0aGVtc2VsdmVzLCB3ZSBjYW4gZW5hYmxlIHRoZW0gZm9yIG90aGVyIGJ1ZmZl
ciB0eXBlcy4KKyAgICBpZiAodGFyZ2V0ID09IGdsOjpCdWZmZXJCaW5kaW5nOjpQaXhlbFVucGFj
aykKKyAgICB7CisgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHNoYWRvdyBidWZmZXIKKyAgICAg
ICAgbVNoYWRvd0J1ZmZlci5pbml0KHNpemUpOworCisgICAgICAgIC8vIEFsbG9jYXRlIHJlcXVp
cmVkIG1lbW9yeS4gSWYgYWxsb2NhdGlvbiBmYWlscywgdHJlYXQgaXQgaXMgYSBub24tZmF0YWwg
ZXJyb3IKKyAgICAgICAgLy8gc2luY2Ugd2UgZG8gbm90IG5lZWQgdGhlIHNoYWRvdyBidWZmZXIg
Zm9yIGZ1bmN0aW9uYWxpdHkKKyAgICAgICAgQU5HTEVfVFJZKG1TaGFkb3dCdWZmZXIuYWxsb2Nh
dGUoc2l6ZSkpOworICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
K30KKwordm9pZCBCdWZmZXJWazo6dXBkYXRlU2hhZG93QnVmZmVyKGNvbnN0IHVpbnQ4X3QgKmRh
dGEsIHNpemVfdCBzaXplLCBzaXplX3Qgb2Zmc2V0KQoreworICAgIGlmIChtU2hhZG93QnVmZmVy
LnZhbGlkKCkpCisgICAgeworICAgICAgICBtU2hhZG93QnVmZmVyLnVwZGF0ZURhdGEoZGF0YSwg
c2l6ZSwgb2Zmc2V0KTsKKyAgICB9Cit9CisKIGFuZ2xlOjpSZXN1bHQgQnVmZmVyVms6OnNldERh
dGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdsOjpCdWZmZXJCaW5kaW5nIHRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgdm9pZCAqZGF0YSwKQEAgLTE3MSw3ICsyMjEsOSBAQCBhbmdsZTo6UmVz
dWx0IEJ1ZmZlclZrOjpzZXREYXRhKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogewogICAg
IENvbnRleHRWayAqY29udGV4dFZrID0gdms6OkdldEltcGwoY29udGV4dCk7CiAKLSAgICBpZiAo
c2l6ZSA+IHN0YXRpY19jYXN0PHNpemVfdD4obVN0YXRlLmdldFNpemUoKSkpCisgICAgLy8gQnVm
ZmVyRGF0YSBjYWxsIGlzIHJlLXNwZWNpZnlpbmcgdGhlIGVudGlyZSBidWZmZXIKKyAgICAvLyBS
ZWxlYXNlIGFuZCBpbml0IGEgbmV3IG1CdWZmZXIgd2l0aCB0aGlzIG5ldyBzaXplCisgICAgaWYg
KHNpemUgPiAwICYmIHNpemUgIT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihtU3RhdGUuZ2V0U2l6ZSgp
KSkKICAgICB7CiAgICAgICAgIC8vIFJlbGVhc2UgYW5kIHJlLWNyZWF0ZSB0aGUgbWVtb3J5IGFu
ZCBidWZmZXIuCiAgICAgICAgIHJlbGVhc2UoY29udGV4dFZrKTsKQEAgLTE4OSwyMiArMjQxLDIz
IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyVms6OnNldERhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICB1c2FnZUZsYWdzIHw9IFZLX0JVRkZFUl9VU0FHRV9UUkFOU0ZP
Uk1fRkVFREJBQ0tfQlVGRkVSX0JJVF9FWFQ7CiAgICAgICAgIH0KIAotICAgICAgICBWa0J1ZmZl
ckNyZWF0ZUluZm8gY3JlYXRlSW5mbyAgICA9IHt9OwotICAgICAgICBjcmVhdGVJbmZvLnNUeXBl
ICAgICAgICAgICAgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX0JVRkZFUl9DUkVBVEVfSU5GTzsK
LSAgICAgICAgY3JlYXRlSW5mby5mbGFncyAgICAgICAgICAgICAgICAgPSAwOwotICAgICAgICBj
cmVhdGVJbmZvLnNpemUgICAgICAgICAgICAgICAgICA9IHJvdW5kVXBQb3cyKHNpemUsIGtCdWZm
ZXJTaXplR3JhbnVsYXJpdHkpOwotICAgICAgICBjcmVhdGVJbmZvLnVzYWdlICAgICAgICAgICAg
ICAgICA9IHVzYWdlRmxhZ3M7Ci0gICAgICAgIGNyZWF0ZUluZm8uc2hhcmluZ01vZGUgICAgICAg
ICAgID0gVktfU0hBUklOR19NT0RFX0VYQ0xVU0lWRTsKLSAgICAgICAgY3JlYXRlSW5mby5xdWV1
ZUZhbWlseUluZGV4Q291bnQgPSAwOwotICAgICAgICBjcmVhdGVJbmZvLnBRdWV1ZUZhbWlseUlu
ZGljZXMgICA9IG51bGxwdHI7Ci0KICAgICAgICAgLy8gQXNzdW1lIGhvc3QgdmlzaWJsZS9jb2hl
cmVudCBtZW1vcnkgYXZhaWxhYmxlLgogICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgbWVt
b3J5UHJvcGVydHlGbGFncyA9IEdldFByZWZlcnJlZE1lbW9yeVR5cGUodGFyZ2V0LCB1c2FnZSk7
CiAKLSAgICAgICAgQU5HTEVfVFJZKG1CdWZmZXIuaW5pdChjb250ZXh0VmssIGNyZWF0ZUluZm8s
IG1lbW9yeVByb3BlcnR5RmxhZ3MpKTsKKyAgICAgICAgLy8gbUJ1ZmZlciB3aWxsIGJlIGFsbG9j
YXRlZCB0aHJvdWdoIGEgRHluYW1pY0J1ZmZlcgorICAgICAgICBjb25zdGV4cHIgc2l6ZV90IGtC
dWZmZXJIZWxwZXJBbGlnbm1lbnQgICAgICAgPSAxOworICAgICAgICBjb25zdGV4cHIgc2l6ZV90
IGtCdWZmZXJIZWxwZXJQb29sSW5pdGlhbFNpemUgPSAwOworCisgICAgICAgIG1CdWZmZXJQb29s
LmluaXRXaXRoRmxhZ3MoY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLCB1c2FnZUZsYWdzLCBrQnVm
ZmVySGVscGVyQWxpZ25tZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtC
dWZmZXJIZWxwZXJQb29sSW5pdGlhbFNpemUsIG1lbW9yeVByb3BlcnR5RmxhZ3MpOworCisgICAg
ICAgIEFOR0xFX1RSWShhY3F1aXJlQnVmZmVySGVscGVyKGNvbnRleHRWaywgc2l6ZSwgJm1CdWZm
ZXIpKTsKIAogICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBzdGFnaW5nIGJ1ZmZlcgogICAgICAg
ICBpbml0aWFsaXplU3RhZ2luZ0J1ZmZlcihjb250ZXh0VmssIHRhcmdldCwgc2l6ZSk7CisKKyAg
ICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgc2hhZG93IGJ1ZmZlcgorICAgICAgICBBTkdMRV9UUlko
aW5pdGlhbGl6ZVNoYWRvd0J1ZmZlcihjb250ZXh0VmssIHRhcmdldCwgc2l6ZSkpOwogICAgIH0K
IAogICAgIGlmIChkYXRhICYmIHNpemUgPiAwKQpAQCAtMjIxLDcgKzI3NCw3IEBAIGFuZ2xlOjpS
ZXN1bHQgQnVmZmVyVms6OnNldFN1YkRhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb2Zmc2V0KQogewotICAgIEFTU0VSVCht
QnVmZmVyLnZhbGlkKCkpOworICAgIEFTU0VSVChtQnVmZmVyICYmIG1CdWZmZXItPnZhbGlkKCkp
OwogCiAgICAgQ29udGV4dFZrICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChjb250ZXh0KTsKICAg
ICBBTkdMRV9UUlkoc2V0RGF0YUltcGwoY29udGV4dFZrLCBzdGF0aWNfY2FzdDxjb25zdCB1aW50
OF90ICo+KGRhdGEpLCBzaXplLCBvZmZzZXQpKTsKQEAgLTIzNSwxNSArMjg4LDMzIEBAIGFuZ2xl
OjpSZXN1bHQgQnVmZmVyVms6OmNvcHlTdWJEYXRhKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnRwdHIgZGVzdE9mZnNl
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWlwdHIgc2l6ZSkK
IHsKLSAgICBBU1NFUlQobUJ1ZmZlci52YWxpZCgpKTsKKyAgICBBU1NFUlQobUJ1ZmZlciAmJiBt
QnVmZmVyLT52YWxpZCgpKTsKIAogICAgIENvbnRleHRWayAqY29udGV4dFZrID0gdms6OkdldElt
cGwoY29udGV4dCk7CiAgICAgYXV0byAqc291cmNlQnVmZmVyICAgPSBHZXRBczxCdWZmZXJWaz4o
c291cmNlKTsKKyAgICBBU1NFUlQoc291cmNlQnVmZmVyLT5nZXRCdWZmZXIoKS52YWxpZCgpKTsK
KworICAgIC8vIElmIHRoZSBzaGFkb3cgYnVmZmVyIGlzIGVuYWJsZWQgZm9yIHRoZSBkZXN0aW5h
dGlvbiBidWZmZXIgdGhlbgorICAgIC8vIHdlIG5lZWQgdG8gdXBkYXRlIHRoYXQgYXMgd2VsbC4g
VGhpcyB3aWxsIHJlcXVpcmUgdXMgdG8gY29tcGxldGUKKyAgICAvLyBhbGwgcmVjb3JkZWQgYW5k
IGluLWZsaWdodCBjb21tYW5kcyBpbnZvbHZpbmcgdGhlIHNvdXJjZSBidWZmZXIuCisgICAgaWYg
KG1TaGFkb3dCdWZmZXIudmFsaWQoKSkKKyAgICB7CisgICAgICAgIEFOR0xFX1RSWShzb3VyY2VC
dWZmZXItPmdldEJ1ZmZlcigpLndhaXRGb3JJZGxlKGNvbnRleHRWaykpOworCisgICAgICAgIC8v
IFVwZGF0ZSB0aGUgc2hhZG93IGJ1ZmZlcgorICAgICAgICB1aW50OF90ICpzcmNQdHI7CisgICAg
ICAgIEFOR0xFX1RSWShzb3VyY2VCdWZmZXItPmdldEJ1ZmZlcigpLm1hcFdpdGhPZmZzZXQoY29u
dGV4dFZrLCAmc3JjUHRyLCBzb3VyY2VPZmZzZXQpKTsKKworICAgICAgICB1cGRhdGVTaGFkb3dC
dWZmZXIoc3JjUHRyLCBzaXplLCBkZXN0T2Zmc2V0KTsKKworICAgICAgICAvLyBVbm1hcCB0aGUg
c291cmNlIGJ1ZmZlcgorICAgICAgICBzb3VyY2VCdWZmZXItPmdldEJ1ZmZlcigpLnVubWFwKGNv
bnRleHRWay0+Z2V0UmVuZGVyZXIoKSk7CisgICAgfQogCiAgICAgdms6OkNvbW1hbmRCdWZmZXIg
KmNvbW1hbmRCdWZmZXIgPSBudWxscHRyOwogCi0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25C
dWZmZXJSZWFkKFZLX0FDQ0VTU19UUkFOU0ZFUl9SRUFEX0JJVCwgJnNvdXJjZUJ1ZmZlci0+Z2V0
QnVmZmVyKCkpKTsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlcldyaXRlKFZLX0FD
Q0VTU19UUkFOU0ZFUl9XUklURV9CSVQsICZtQnVmZmVyKSk7CisgICAgQU5HTEVfVFJZKGNvbnRl
eHRWay0+b25CdWZmZXJUcmFuc2ZlclJlYWQoJnNvdXJjZUJ1ZmZlci0+Z2V0QnVmZmVyKCkpKTsK
KyAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclRyYW5zZmVyV3JpdGUobUJ1ZmZlcikp
OwogICAgIEFOR0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVm
ZmVyKCZjb21tYW5kQnVmZmVyKSk7CiAKICAgICAvLyBFbnF1ZXVlIGEgY29weSBjb21tYW5kIG9u
IHRoZSBHUFUuCkBAIC0yNTEsNyArMzIyLDcgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJWazo6Y29w
eVN1YkRhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8VmtEZXZpY2VTaXplPihkZXN0T2Zmc2V0KSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxWa0Rldmlj
ZVNpemU+KHNpemUpfTsKIAotICAgIGNvbW1hbmRCdWZmZXItPmNvcHlCdWZmZXIoc291cmNlQnVm
ZmVyLT5nZXRCdWZmZXIoKS5nZXRCdWZmZXIoKSwgbUJ1ZmZlci5nZXRCdWZmZXIoKSwgMSwKKyAg
ICBjb21tYW5kQnVmZmVyLT5jb3B5QnVmZmVyKHNvdXJjZUJ1ZmZlci0+Z2V0QnVmZmVyKCkuZ2V0
QnVmZmVyKCksIG1CdWZmZXItPmdldEJ1ZmZlcigpLCAxLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmNvcHlSZWdpb24pOwogCiAgICAgLy8gVGhlIG5ldyBkZXN0aW5hdGlvbiBidWZm
ZXIgZGF0YSBtYXkgcmVxdWlyZSBhIGNvbnZlcnNpb24gZm9yIHRoZSBuZXh0IGRyYXcsIHNvIG1h
cmsgaXQgZGlydHkuCkBAIC0yNjIsNyArMzMzLDcgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJWazo6
Y29weVN1YkRhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKIGFuZ2xlOjpSZXN1bHQg
QnVmZmVyVms6Om1hcChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIGFjY2Vzcywg
dm9pZCAqKm1hcFB0cikKIHsKLSAgICBBU1NFUlQobUJ1ZmZlci52YWxpZCgpKTsKKyAgICBBU1NF
UlQobUJ1ZmZlciAmJiBtQnVmZmVyLT52YWxpZCgpKTsKIAogICAgIHJldHVybiBtYXBJbXBsKHZr
OjpHZXRJbXBsKGNvbnRleHQpLCBtYXBQdHIpOwogfQpAQCAtMjg3LDMzICszNTgsMzUgQEAgYW5n
bGU6OlJlc3VsdCBCdWZmZXJWazo6bWFwUmFuZ2VJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYml0ZmllbGQgYWNjZXNzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKiptYXBQdHIpCiB7Ci0g
ICAgQVNTRVJUKG1CdWZmZXIudmFsaWQoKSk7Ci0KLSAgICBpZiAoKGFjY2VzcyAmIEdMX01BUF9V
TlNZTkNIUk9OSVpFRF9CSVQpID09IDApCisgICAgaWYgKCFtU2hhZG93QnVmZmVyLnZhbGlkKCkp
CiAgICAgewotICAgICAgICAvLyBJZiB0aGVyZSBhcmUgcGVuZGluZyBjb21tYW5kcyBmb3IgdGhl
IGJ1ZmZlciwgZmx1c2ggdGhlbS4KLSAgICAgICAgaWYgKG1CdWZmZXIudXNlZEluUmVjb3JkZWRD
b21tYW5kcygpKQotICAgICAgICB7Ci0gICAgICAgICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5m
bHVzaEltcGwobnVsbHB0cikpOwotICAgICAgICB9CisgICAgICAgIEFTU0VSVChtQnVmZmVyICYm
IG1CdWZmZXItPnZhbGlkKCkpOwogCi0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgZHJpdmVyIGlz
IGRvbmUgd2l0aCB0aGUgYnVmZmVyLgotICAgICAgICBpZiAobUJ1ZmZlci51c2VkSW5SdW5uaW5n
Q29tbWFuZHMoY29udGV4dFZrLT5nZXRMYXN0Q29tcGxldGVkUXVldWVTZXJpYWwoKSkpCisgICAg
ICAgIGlmICgoYWNjZXNzICYgR0xfTUFQX1VOU1lOQ0hST05JWkVEX0JJVCkgPT0gMCkKICAgICAg
ICAgewotICAgICAgICAgICAgQU5HTEVfVFJZKG1CdWZmZXIuZmluaXNoUnVubmluZ0NvbW1hbmRz
KGNvbnRleHRWaykpOworICAgICAgICAgICAgQU5HTEVfVFJZKG1CdWZmZXItPndhaXRGb3JJZGxl
KGNvbnRleHRWaykpOwogICAgICAgICB9CiAKLSAgICAgICAgQVNTRVJUKCFtQnVmZmVyLmlzQ3Vy
cmVudGx5SW5Vc2UoY29udGV4dFZrLT5nZXRMYXN0Q29tcGxldGVkUXVldWVTZXJpYWwoKSkpOwor
ICAgICAgICBBTkdMRV9UUlkobUJ1ZmZlci0+bWFwV2l0aE9mZnNldChjb250ZXh0VmssIHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDhfdCAqKj4obWFwUHRyKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihvZmZzZXQpKSk7CisgICAgfQor
ICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8vIElmIHRoZSBhcHAgcmVxdWVzdGVkIGEgR0xfTUFQ
X1VOU1lOQ0hST05JWkVEX0JJVCBhY2Nlc3MsIHRoZSBzcGVjIHN0YXRlcyAtCisgICAgICAgIC8v
ICAgICAgTm8gR0wgZXJyb3IgaXMgZ2VuZXJhdGVkIGlmIHBlbmRpbmcgb3BlcmF0aW9ucyB3aGlj
aCBzb3VyY2Ugb3IgbW9kaWZ5IHRoZQorICAgICAgICAvLyAgICAgIGJ1ZmZlciBvdmVybGFwIHRo
ZSBtYXBwZWQgcmVnaW9uLCBidXQgdGhlIHJlc3VsdCBvZiBzdWNoIHByZXZpb3VzIGFuZCBhbnkK
KyAgICAgICAgLy8gICAgICBzdWJzZXF1ZW50IG9wZXJhdGlvbnMgaXMgdW5kZWZpbmVkCisgICAg
ICAgIC8vIFRvIGtlZXAgdGhlIGNvZGUgc2ltcGxlLCBpcnJlc3BlY3RpdmUgb2Ygd2hldGhlciB0
aGUgYWNjZXNzIHdhcyBHTF9NQVBfVU5TWU5DSFJPTklaRURfQklUCisgICAgICAgIC8vIG9yIG5v
dCwganVzdCByZXR1cm4gdGhlIHNoYWRvdyBidWZmZXIuCisgICAgICAgIG1TaGFkb3dCdWZmZXIu
bWFwKHN0YXRpY19jYXN0PHNpemVfdD4ob2Zmc2V0KSwgbWFwUHRyKTsKICAgICB9CiAKLSAgICBB
TkdMRV9WS19UUlkoY29udGV4dFZrLCBtQnVmZmVyLmdldERldmljZU1lbW9yeSgpLm1hcChjb250
ZXh0VmstPmdldERldmljZSgpLCBvZmZzZXQsIGxlbmd0aCwgMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0
PHVpbnQ4X3QgKio+KG1hcFB0cikpKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgQnVmZmVyVms6OnVubWFwKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LCBHTGJvb2xlYW4gKnJlc3VsdCkKIHsKLSAgICB1bm1hcEltcGwodms6OkdldElt
cGwoY29udGV4dCkpOworICAgIEFOR0xFX1RSWSh1bm1hcEltcGwodms6OkdldEltcGwoY29udGV4
dCkpKTsKIAogICAgIC8vIFRoaXMgc2hvdWxkIGJlIGZhbHNlIGlmIHRoZSBjb250ZW50cyBoYXZl
IGJlZW4gY29ycnVwdGVkIHRocm91Z2ggZXh0ZXJuYWwgbWVhbnMuICBWdWxrYW4KICAgICAvLyBk
b2Vzbid0IHByb3ZpZGUgc3VjaCBpbmZvcm1hdGlvbi4KQEAgLTMyMiwxNCArMzk1LDM2IEBAIGFu
Z2xlOjpSZXN1bHQgQnVmZmVyVms6OnVubWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBH
TGJvb2xlYW4gKnJlc3VsdCkKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9
CiAKLXZvaWQgQnVmZmVyVms6OnVubWFwSW1wbChDb250ZXh0VmsgKmNvbnRleHRWaykKK2FuZ2xl
OjpSZXN1bHQgQnVmZmVyVms6OnVubWFwSW1wbChDb250ZXh0VmsgKmNvbnRleHRWaykKIHsKLSAg
ICBBU1NFUlQobUJ1ZmZlci52YWxpZCgpKTsKKyAgICBBU1NFUlQobUJ1ZmZlciAmJiBtQnVmZmVy
LT52YWxpZCgpKTsKKworICAgIGlmICghbVNoYWRvd0J1ZmZlci52YWxpZCgpKQorICAgIHsKKyAg
ICAgICAgbUJ1ZmZlci0+dW5tYXAoY29udGV4dFZrLT5nZXRSZW5kZXJlcigpKTsKKyAgICAgICAg
bUJ1ZmZlci0+b25FeHRlcm5hbFdyaXRlKFZLX0FDQ0VTU19IT1NUX1dSSVRFX0JJVCk7CisgICAg
fQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGJvb2wgd3JpdGVPcGVyYXRpb24gPSAoKG1TdGF0
ZS5nZXRBY2Nlc3NGbGFncygpICYgR0xfTUFQX1dSSVRFX0JJVCkgIT0gMCk7CisgICAgICAgIHNp
emVfdCBvZmZzZXQgICAgICAgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1TdGF0ZS5nZXRNYXBPZmZz
ZXQoKSk7CisgICAgICAgIHNpemVfdCBzaXplICAgICAgICAgPSBzdGF0aWNfY2FzdDxzaXplX3Q+
KG1TdGF0ZS5nZXRNYXBMZW5ndGgoKSk7CisKKyAgICAgICAgLy8gSWYgaXQgd2FzIGEgd3JpdGUg
b3BlcmF0aW9uIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBHUFUgYnVmZmVyLgorICAgICAgICBpZiAo
d3JpdGVPcGVyYXRpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB5ZXQg
a25vdyBpZiB0aGlzIGRhdGEgd2lsbCBldmVyIGJlIHVzZWQuIFBlcmZvcm0gYSBzdGFnZWQKKyAg
ICAgICAgICAgIC8vIHVwZGF0ZSB3aGljaCB3aWxsIGdldCBmbHVzaGVkIGlmIGFuZCB3aGVuIG5l
Y2Vzc2FyeS4KKyAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGEgPSBnZXRTaGFkb3dCdWZm
ZXIob2Zmc2V0KTsKKyAgICAgICAgICAgIEFOR0xFX1RSWShzdGFnZWRVcGRhdGUoY29udGV4dFZr
LCBkYXRhLCBzaXplLCBvZmZzZXQpKTsKKyAgICAgICAgfQogCi0gICAgbUJ1ZmZlci5nZXREZXZp
Y2VNZW1vcnkoKS51bm1hcChjb250ZXh0VmstPmdldERldmljZSgpKTsKLSAgICBtQnVmZmVyLm9u
RXh0ZXJuYWxXcml0ZShWS19BQ0NFU1NfSE9TVF9XUklURV9CSVQpOworICAgICAgICBtU2hhZG93
QnVmZmVyLnVubWFwKCk7CisgICAgfQogCiAgICAgbWFya0NvbnZlcnNpb25CdWZmZXJzRGlydHko
KTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAogYW5nbGU6OlJl
c3VsdCBCdWZmZXJWazo6Z2V0SW5kZXhSYW5nZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
QEAgLTM1MiwyMSArNDQ3LDEyMCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlclZrOjpnZXRJbmRleFJh
bmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIH0KIAogICAgIEFOR0xFX1RSQUNF
X0VWRU5UMCgiZ3B1LmFuZ2xlIiwgIkJ1ZmZlclZrOjpnZXRJbmRleFJhbmdlIik7Ci0gICAgLy8g
TmVlZGVkIGJlZm9yZSByZWFkaW5nIGJ1ZmZlciBvciB3ZSBjb3VsZCBnZXQgc3RhbGUgZGF0YS4K
LSAgICBBTkdMRV9UUlkobUJ1ZmZlci5maW5pc2hSdW5uaW5nQ29tbWFuZHMoY29udGV4dFZrKSk7
CiAKLSAgICAvLyBUT0RPKGptYWRpbGwpOiBDb25zaWRlciBrZWVwaW5nIGEgc2hhZG93IHN5c3Rl
bSBtZW1vcnkgY29weSBpbiBzb21lIGNhc2VzLgotICAgIEFTU0VSVChtQnVmZmVyLnZhbGlkKCkp
OworICAgIHVpbnQ4X3QgKm1hcFBvaW50ZXI7CiAKLSAgICBjb25zdCBHTHVpbnQgJnR5cGVCeXRl
cyA9IGdsOjpHZXREcmF3RWxlbWVudHNUeXBlU2l6ZSh0eXBlKTsKKyAgICBpZiAoIW1TaGFkb3dC
dWZmZXIudmFsaWQoKSkKKyAgICB7CisgICAgICAgIC8vIE5lZWRlZCBiZWZvcmUgcmVhZGluZyBi
dWZmZXIgb3Igd2UgY291bGQgZ2V0IHN0YWxlIGRhdGEuCisgICAgICAgIEFOR0xFX1RSWShtQnVm
ZmVyLT5maW5pc2hSdW5uaW5nQ29tbWFuZHMoY29udGV4dFZrKSk7CiAKLSAgICB1aW50OF90ICpt
YXBQb2ludGVyID0gbnVsbHB0cjsKLSAgICBBTkdMRV9WS19UUlkoY29udGV4dFZrLCBtQnVmZmVy
LmdldERldmljZU1lbW9yeSgpLm1hcChjb250ZXh0VmstPmdldERldmljZSgpLCBvZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZUJ5dGVzICogY291bnQsIDAsICZtYXBQb2ludGVyKSk7CisgICAgICAgIEFTU0VSVChtQnVm
ZmVyICYmIG1CdWZmZXItPnZhbGlkKCkpOworCisgICAgICAgIEFOR0xFX1RSWShtQnVmZmVyLT5t
YXBXaXRoT2Zmc2V0KGNvbnRleHRWaywgJm1hcFBvaW50ZXIsIG9mZnNldCkpOworICAgIH0KKyAg
ICBlbHNlCisgICAgeworICAgICAgICBtYXBQb2ludGVyID0gZ2V0U2hhZG93QnVmZmVyKG9mZnNl
dCk7CisgICAgfQogCiAgICAgKm91dFJhbmdlID0gZ2w6OkNvbXB1dGVJbmRleFJhbmdlKHR5cGUs
IG1hcFBvaW50ZXIsIGNvdW50LCBwcmltaXRpdmVSZXN0YXJ0RW5hYmxlZCk7CiAKLSAgICBtQnVm
ZmVyLmdldERldmljZU1lbW9yeSgpLnVubWFwKGNvbnRleHRWay0+Z2V0RGV2aWNlKCkpOworICAg
IG1CdWZmZXItPnVubWFwKHJlbmRlcmVyKTsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29u
dGludWU7Cit9CisKK2FuZ2xlOjpSZXN1bHQgQnVmZmVyVms6OmRpcmVjdFVwZGF0ZShDb250ZXh0
VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBv
ZmZzZXQpCit7CisgICAgdWludDhfdCAqbWFwUG9pbnRlciA9IG51bGxwdHI7CisKKyAgICBBTkdM
RV9UUlkobUJ1ZmZlci0+bWFwV2l0aE9mZnNldChjb250ZXh0VmssICZtYXBQb2ludGVyLCBvZmZz
ZXQpKTsKKyAgICBBU1NFUlQobWFwUG9pbnRlcik7CisKKyAgICBtZW1jcHkobWFwUG9pbnRlciwg
ZGF0YSwgc2l6ZSk7CisgICAgbUJ1ZmZlci0+dW5tYXAoY29udGV4dFZrLT5nZXRSZW5kZXJlcigp
KTsKKyAgICBBU1NFUlQobUJ1ZmZlci0+aXNDb2hlcmVudCgpKTsKKyAgICBtQnVmZmVyLT5vbkV4
dGVybmFsV3JpdGUoVktfQUNDRVNTX0hPU1RfV1JJVEVfQklUKTsKKworICAgIHJldHVybiBhbmds
ZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKworYW5nbGU6OlJlc3VsdCBCdWZmZXJWazo6c3RhZ2Vk
VXBkYXRlKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZV90IG9mZnNldCkKK3sKKyAgICAvLyBBY3F1aXJlIGEgIm5ldyIgc3RhZ2luZyBi
dWZmZXIKKyAgICBib29sIG5lZWRUb1JlbGVhc2VQcmV2aW91c0J1ZmZlcnMgPSBmYWxzZTsKKyAg
ICB1aW50OF90ICptYXBQb2ludGVyICAgICAgICAgICAgICAgPSBudWxscHRyOworICAgIFZrRGV2
aWNlU2l6ZSBzdGFnaW5nQnVmZmVyT2Zmc2V0ICA9IDA7CisKKyAgICBBTkdMRV9UUlkobVN0YWdp
bmdCdWZmZXIuYWxsb2NhdGUoY29udGV4dFZrLCBzaXplLCAmbWFwUG9pbnRlciwgbnVsbHB0ciwg
JnN0YWdpbmdCdWZmZXJPZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZuZWVkVG9SZWxlYXNlUHJldmlvdXNCdWZmZXJzKSk7CisgICAgaWYgKG5lZWRUb1JlbGVh
c2VQcmV2aW91c0J1ZmZlcnMpCisgICAgeworICAgICAgICAvLyBSZWxlYXNlIHByZXZpb3VzIHN0
YWdpbmcgYnVmZmVycworICAgICAgICBtU3RhZ2luZ0J1ZmZlci5yZWxlYXNlSW5GbGlnaHRCdWZm
ZXJzKGNvbnRleHRWayk7CisgICAgfQorICAgIEFTU0VSVChtYXBQb2ludGVyKTsKKworICAgIG1l
bWNweShtYXBQb2ludGVyLCBkYXRhLCBzaXplKTsKKyAgICBBU1NFUlQoIW1TdGFnaW5nQnVmZmVy
LmlzQ29oZXJlbnQoKSk7CisgICAgQU5HTEVfVFJZKG1TdGFnaW5nQnVmZmVyLmZsdXNoKGNvbnRl
eHRWaykpOworICAgIG1TdGFnaW5nQnVmZmVyLmdldEN1cnJlbnRCdWZmZXIoKS0+b25FeHRlcm5h
bFdyaXRlKFZLX0FDQ0VTU19IT1NUX1dSSVRFX0JJVCk7CisKKyAgICAvLyBFbnF1ZXVlIGEgY29w
eSBjb21tYW5kIG9uIHRoZSBHUFUuCisgICAgVmtCdWZmZXJDb3B5IGNvcHlSZWdpb24gPSB7c3Rh
Z2luZ0J1ZmZlck9mZnNldCwgb2Zmc2V0LCBzaXplfTsKKyAgICBBTkdMRV9UUlkoCisgICAgICAg
IG1CdWZmZXItPmNvcHlGcm9tQnVmZmVyKGNvbnRleHRWaywgbVN0YWdpbmdCdWZmZXIuZ2V0Q3Vy
cmVudEJ1ZmZlcigpLCAxLCAmY29weVJlZ2lvbikpOworICAgIG1TdGFnaW5nQnVmZmVyLmdldEN1
cnJlbnRCdWZmZXIoKS0+cmV0YWluKCZjb250ZXh0VmstPmdldFJlc291cmNlVXNlTGlzdCgpKTsK
KworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKworYW5nbGU6OlJlc3Vs
dCBCdWZmZXJWazo6YWNxdWlyZUFuZFVwZGF0ZShDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqZGF0YSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBvZmZzZXQpCit7
CisgICAgLy8gSGVyZSB3ZSBhY3F1aXJlIGEgbmV3IEJ1ZmZlckhlbHBlciBhbmQgZGlyZWN0VXBk
YXRlKCkgdGhlIG5ldyBidWZmZXIuCisgICAgLy8gSWYgdGhlIHN1YkRhdGEgc2l6ZSB3YXMgbGVz
cyB0aGFuIHRoZSBidWZmZXIncyBzaXplIHdlIGFkZGl0aW9uYWxseSBlbnF1ZXVlCisgICAgLy8g
YSBHUFUgY29weSBvZiB0aGUgcmVtYWluaW5nIHJlZ2lvbnMgZnJvbSB0aGUgb2xkIG1CdWZmZXIg
dG8gdGhlIG5ldyBvbmUuCisgICAgdms6OkJ1ZmZlckhlbHBlciAqc3JjICAgICAgICAgID0gbUJ1
ZmZlcjsKKyAgICBzaXplX3Qgb2Zmc2V0QWZ0ZXJTdWJkYXRhICAgICAgPSAob2Zmc2V0ICsgc2l6
ZSk7CisgICAgYm9vbCB1cGRhdGVSZWdpb25CZWZvcmVTdWJEYXRhID0gKG9mZnNldCA+IDApOwor
ICAgIGJvb2wgdXBkYXRlUmVnaW9uQWZ0ZXJTdWJEYXRhICA9IChvZmZzZXRBZnRlclN1YmRhdGEg
PCBzdGF0aWNfY2FzdDxzaXplX3Q+KG1TdGF0ZS5nZXRTaXplKCkpKTsKKworICAgIGlmICh1cGRh
dGVSZWdpb25CZWZvcmVTdWJEYXRhIHx8IHVwZGF0ZVJlZ2lvbkFmdGVyU3ViRGF0YSkKKyAgICB7
CisgICAgICAgIHNyYy0+cmV0YWluKCZjb250ZXh0VmstPmdldFJlc291cmNlVXNlTGlzdCgpKTsK
KyAgICB9CisKKyAgICBBTkdMRV9UUlkoYWNxdWlyZUJ1ZmZlckhlbHBlcihjb250ZXh0VmssIHNp
emUsICZtQnVmZmVyKSk7CisgICAgQU5HTEVfVFJZKGRpcmVjdFVwZGF0ZShjb250ZXh0VmssIGRh
dGEsIHNpemUsIG9mZnNldCkpOworCisgICAgY29uc3RleHByIGludCBrTWF4Q29weVJlZ2lvbnMg
PSAyOworICAgIGFuZ2xlOjpGaXhlZFZlY3RvcjxWa0J1ZmZlckNvcHksIGtNYXhDb3B5UmVnaW9u
cz4gY29weVJlZ2lvbnM7CisKKyAgICBpZiAodXBkYXRlUmVnaW9uQmVmb3JlU3ViRGF0YSkKKyAg
ICB7CisgICAgICAgIGNvcHlSZWdpb25zLnB1c2hfYmFjayh7MCwgMCwgb2Zmc2V0fSk7CisgICAg
fQorICAgIGlmICh1cGRhdGVSZWdpb25BZnRlclN1YkRhdGEpCisgICAgeworICAgICAgICBjb3B5
UmVnaW9ucy5wdXNoX2JhY2soe29mZnNldEFmdGVyU3ViZGF0YSwgb2Zmc2V0QWZ0ZXJTdWJkYXRh
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0aWNfY2FzdDxzaXplX3Q+KG1T
dGF0ZS5nZXRTaXplKCkpIC0gb2Zmc2V0QWZ0ZXJTdWJkYXRhKX0pOworICAgIH0KKworICAgIGlm
ICghY29weVJlZ2lvbnMuZW1wdHkoKSkKKyAgICB7CisgICAgICAgIEFOR0xFX1RSWShtQnVmZmVy
LT5jb3B5RnJvbUJ1ZmZlcihjb250ZXh0VmssIHNyYywgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNv
cHlSZWdpb25zLnNpemUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb3B5UmVnaW9ucy5kYXRhKCkpKTsKKyAgICB9CisKICAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTM3NSw0NCArNTY5LDI3IEBAIGFuZ2xlOjpSZXN1bHQg
QnVmZmVyVms6OnNldERhdGFJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplX3Qgb2Zmc2V0KQogewotICAgIFZrRGV2aWNlIGRldmljZSA9
IGNvbnRleHRWay0+Z2V0RGV2aWNlKCk7Ci0KLSAgICAvLyBVc2UgbWFwIHdoZW4gYXZhaWxhYmxl
LgotICAgIGlmIChtQnVmZmVyLmlzQ3VycmVudGx5SW5Vc2UoY29udGV4dFZrLT5nZXRMYXN0Q29t
cGxldGVkUXVldWVTZXJpYWwoKSkpCisgICAgLy8gVXBkYXRlIHNoYWRvdyBidWZmZXIKKyAgICB1
cGRhdGVTaGFkb3dCdWZmZXIoZGF0YSwgc2l6ZSwgb2Zmc2V0KTsKKworICAgIC8vIGlmIHRoZSBi
dWZmZXIgaXMgY3VycmVudGx5IGluIHVzZQorICAgIC8vICAgICBpZiBzdWIgZGF0YSBzaXplIG1l
ZXRzIHRocmVzaG9sZCwgYWNxdWlyZSBhIG5ldyBCdWZmZXJIZWxwZXIgZnJvbSB0aGUgcG9vbAor
ICAgIC8vICAgICBlbHNlIHN0YWdlIGFuIHVwZGF0ZQorICAgIC8vIGVsc2UgdXBkYXRlIHRoZSBi
dWZmZXIgZGlyZWN0bHkKKyAgICBpZiAobUJ1ZmZlci0+aXNDdXJyZW50bHlJblVzZShjb250ZXh0
VmstPmdldExhc3RDb21wbGV0ZWRRdWV1ZVNlcmlhbCgpKSkKICAgICB7Ci0gICAgICAgIC8vIEFj
cXVpcmUgYSAibmV3IiBzdGFnaW5nIGJ1ZmZlcgotICAgICAgICBib29sIG5lZWRUb1JlbGVhc2VQ
cmV2aW91c0J1ZmZlcnMgPSBmYWxzZTsKLSAgICAgICAgdWludDhfdCAqbWFwUG9pbnRlciAgICAg
ICAgICAgICAgID0gbnVsbHB0cjsKLSAgICAgICAgVmtEZXZpY2VTaXplIHN0YWdpbmdCdWZmZXJP
ZmZzZXQgID0gMDsKLQotICAgICAgICBBTkdMRV9UUlkobVN0YWdpbmdCdWZmZXIuYWxsb2NhdGUo
Y29udGV4dFZrLCBzaXplLCAmbWFwUG9pbnRlciwgbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFnaW5nQnVmZmVyT2Zmc2V0LCAmbmVlZFRvUmVs
ZWFzZVByZXZpb3VzQnVmZmVycykpOwotICAgICAgICBpZiAobmVlZFRvUmVsZWFzZVByZXZpb3Vz
QnVmZmVycykKKyAgICAgICAgaWYgKFN1YkRhdGFTaXplTWVldHNUaHJlc2hvbGQoc2l6ZSwgc3Rh
dGljX2Nhc3Q8c2l6ZV90PihtU3RhdGUuZ2V0U2l6ZSgpKSkpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIC8vIFJlbGVhc2UgcHJldmlvdXMgc3RhZ2luZyBidWZmZXJzCi0gICAgICAgICAgICBtU3Rh
Z2luZ0J1ZmZlci5yZWxlYXNlSW5GbGlnaHRCdWZmZXJzKGNvbnRleHRWayk7CisgICAgICAgICAg
ICBBTkdMRV9UUlkoYWNxdWlyZUFuZFVwZGF0ZShjb250ZXh0VmssIGRhdGEsIHNpemUsIG9mZnNl
dCkpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgQU5H
TEVfVFJZKHN0YWdlZFVwZGF0ZShjb250ZXh0VmssIGRhdGEsIHNpemUsIG9mZnNldCkpOwogICAg
ICAgICB9Ci0gICAgICAgIEFTU0VSVChtYXBQb2ludGVyKTsKLQotICAgICAgICBtZW1jcHkobWFw
UG9pbnRlciwgZGF0YSwgc2l6ZSk7Ci0KLSAgICAgICAgLy8gRW5xdWV1ZSBhIGNvcHkgY29tbWFu
ZCBvbiB0aGUgR1BVLgotICAgICAgICBWa0J1ZmZlckNvcHkgY29weVJlZ2lvbiA9IHtzdGFnaW5n
QnVmZmVyT2Zmc2V0LCBvZmZzZXQsIHNpemV9OwotICAgICAgICBBTkdMRV9UUlkobUJ1ZmZlci5j
b3B5RnJvbUJ1ZmZlcihjb250ZXh0VmssIG1TdGFnaW5nQnVmZmVyLmdldEN1cnJlbnRCdWZmZXIo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQUNDRVNTX0hP
U1RfV1JJVEVfQklULCBjb3B5UmVnaW9uKSk7Ci0gICAgICAgIG1TdGFnaW5nQnVmZmVyLmdldEN1
cnJlbnRCdWZmZXIoKS0+cmV0YWluKCZjb250ZXh0VmstPmdldFJlc291cmNlVXNlTGlzdCgpKTsK
ICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAgdWludDhfdCAqbWFwUG9pbnRlciA9IG51
bGxwdHI7Ci0gICAgICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssCi0gICAgICAgICAgICAgICAg
ICAgICBtQnVmZmVyLmdldERldmljZU1lbW9yeSgpLm1hcChkZXZpY2UsIG9mZnNldCwgc2l6ZSwg
MCwgJm1hcFBvaW50ZXIpKTsKLSAgICAgICAgQVNTRVJUKG1hcFBvaW50ZXIpOwotCi0gICAgICAg
IG1lbWNweShtYXBQb2ludGVyLCBkYXRhLCBzaXplKTsKLQotICAgICAgICBtQnVmZmVyLmdldERl
dmljZU1lbW9yeSgpLnVubWFwKGRldmljZSk7Ci0gICAgICAgIG1CdWZmZXIub25FeHRlcm5hbFdy
aXRlKFZLX0FDQ0VTU19IT1NUX1dSSVRFX0JJVCk7CisgICAgICAgIEFOR0xFX1RSWShkaXJlY3RV
cGRhdGUoY29udGV4dFZrLCBkYXRhLCBzaXplLCBvZmZzZXQpKTsKICAgICB9CiAKICAgICAvLyBV
cGRhdGUgY29udmVyc2lvbnMKQEAgLTQyMSwxNyArNTk4LDE3IEBAIGFuZ2xlOjpSZXN1bHQgQnVm
ZmVyVms6OnNldERhdGFJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIHJldHVybiBhbmds
ZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAotYW5nbGU6OlJlc3VsdCBCdWZmZXJWazo6Y29weVRv
QnVmZmVyKENvbnRleHRWayAqY29udGV4dFZrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmRlc3RCdWZmZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY29weUNvdW50LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQnVmZmVyQ29weSAqY29waWVzKQorYW5nbGU6
OlJlc3VsdCBCdWZmZXJWazo6Y29weVRvQnVmZmVySW1wbChDb250ZXh0VmsgKmNvbnRleHRWaywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBl
ciAqZGVzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgY29weUNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBWa0J1ZmZlckNvcHkgKmNvcGllcykKIHsKICAgICB2azo6Q29tbWFuZEJ1ZmZl
ciAqY29tbWFuZEJ1ZmZlcjsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlcldyaXRl
KFZLX0FDQ0VTU19UUkFOU0ZFUl9XUklURV9CSVQsIGRlc3RCdWZmZXIpKTsKLSAgICBBTkdMRV9U
UlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1RSQU5TRkVSX1JFQURfQklULCAm
bUJ1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJXcml0
ZShkZXN0QnVmZmVyKSk7CisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJUcmFuc2Zl
clJlYWQobUJ1ZmZlcikpOwogICAgIEFOR0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NB
bmRHZXRDb21tYW5kQnVmZmVyKCZjb21tYW5kQnVmZmVyKSk7CiAKLSAgICBjb21tYW5kQnVmZmVy
LT5jb3B5QnVmZmVyKG1CdWZmZXIuZ2V0QnVmZmVyKCksIGRlc3RCdWZmZXItPmdldEJ1ZmZlcigp
LCBjb3B5Q291bnQsIGNvcGllcyk7CisgICAgY29tbWFuZEJ1ZmZlci0+Y29weUJ1ZmZlcihtQnVm
ZmVyLT5nZXRCdWZmZXIoKSwgZGVzdEJ1ZmZlci0+Z2V0QnVmZmVyKCksIGNvcHlDb3VudCwgY29w
aWVzKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KQEAgLTQ2Nyw0
ICs2NDQsMjggQEAgdm9pZCBCdWZmZXJWazo6b25EYXRhQ2hhbmdlZCgpCiAgICAgbWFya0NvbnZl
cnNpb25CdWZmZXJzRGlydHkoKTsKIH0KIAorYW5nbGU6OlJlc3VsdCBCdWZmZXJWazo6YWNxdWly
ZUJ1ZmZlckhlbHBlcihDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemVJbkJ5dGVzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6QnVmZmVySGVscGVyICoqYnVmZmVy
SGVscGVyT3V0KQoreworICAgIGJvb2wgbmVlZFRvUmVsZWFzZVByZXZpb3VzQnVmZmVycyA9IGZh
bHNlOworICAgIHNpemVfdCBzaXplICAgICAgICAgICAgICAgICAgICAgICA9IHJvdW5kVXBQb3cy
KHNpemVJbkJ5dGVzLCBrQnVmZmVyU2l6ZUdyYW51bGFyaXR5KTsKKworICAgIEFOR0xFX1RSWSht
QnVmZmVyUG9vbC5hbGxvY2F0ZShjb250ZXh0VmssIHNpemUsIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuZWVkVG9SZWxlYXNl
UHJldmlvdXNCdWZmZXJzKSk7CisKKyAgICBpZiAobmVlZFRvUmVsZWFzZVByZXZpb3VzQnVmZmVy
cykKKyAgICB7CisgICAgICAgIC8vIFJlbGVhc2UgcHJldmlvdXMgYnVmZmVycworICAgICAgICBt
QnVmZmVyUG9vbC5yZWxlYXNlSW5GbGlnaHRCdWZmZXJzKGNvbnRleHRWayk7CisgICAgfQorCisg
ICAgQVNTRVJUKGJ1ZmZlckhlbHBlck91dCk7CisKKyAgICAqYnVmZmVySGVscGVyT3V0ID0gbUJ1
ZmZlclBvb2wuZ2V0Q3VycmVudEJ1ZmZlcigpOworICAgIEFTU0VSVCgqYnVmZmVySGVscGVyT3V0
KTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogfSAgLy8gbmFt
ZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL0J1ZmZlclZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0J1ZmZlclZrLmgKaW5kZXggNWJhNTA3OGQ5N2Qx
YmY2YWM0ZWFlMDNiYTA2YjljNGE3M2I3ODRmZC4uZWU1Yjg1ZDE1N2RlODkyZmNmZDY5MjExZTYy
MGNiYjllOGVjYThiZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsuaApAQCAtODQsMTQg
Kzg0LDE0IEBAIGNsYXNzIEJ1ZmZlclZrIDogcHVibGljIEJ1ZmZlckltcGwKIAogICAgIGNvbnN0
IHZrOjpCdWZmZXJIZWxwZXIgJmdldEJ1ZmZlcigpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NF
UlQobUJ1ZmZlci52YWxpZCgpKTsKLSAgICAgICAgcmV0dXJuIG1CdWZmZXI7CisgICAgICAgIEFT
U0VSVChtQnVmZmVyICYmIG1CdWZmZXItPnZhbGlkKCkpOworICAgICAgICByZXR1cm4gKm1CdWZm
ZXI7CiAgICAgfQogCiAgICAgdms6OkJ1ZmZlckhlbHBlciAmZ2V0QnVmZmVyKCkKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChtQnVmZmVyLnZhbGlkKCkpOwotICAgICAgICByZXR1cm4gbUJ1ZmZlcjsK
KyAgICAgICAgQVNTRVJUKG1CdWZmZXIgJiYgbUJ1ZmZlci0+dmFsaWQoKSk7CisgICAgICAgIHJl
dHVybiAqbUJ1ZmZlcjsKICAgICB9CiAKICAgICBhbmdsZTo6UmVzdWx0IG1hcEltcGwoQ29udGV4
dFZrICpjb250ZXh0VmssIHZvaWQgKiptYXBQdHIpOwpAQCAtMTAwLDEzICsxMDAsMTMgQEAgY2xh
c3MgQnVmZmVyVmsgOiBwdWJsaWMgQnVmZmVySW1wbAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZrRGV2aWNlU2l6ZSBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xiaXRmaWVsZCBhY2Nlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCAqKm1hcFB0cik7Ci0gICAgdm9pZCB1bm1hcEltcGwoQ29udGV4dFZrICpjb250ZXh0VmspOwor
ICAgIGFuZ2xlOjpSZXN1bHQgdW5tYXBJbXBsKENvbnRleHRWayAqY29udGV4dFZrKTsKIAogICAg
IC8vIENhbGxzIGNvcHlCdWZmZXIgaW50ZXJuYWxseS4KLSAgICBhbmdsZTo6UmVzdWx0IGNvcHlU
b0J1ZmZlcihDb250ZXh0VmsgKmNvbnRleHRWaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2azo6QnVmZmVySGVscGVyICpkZXN0QnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IGNvcHlDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBWa0J1ZmZlckNvcHkgKmNvcGllcyk7CisgICAgYW5nbGU6OlJlc3VsdCBjb3B5
VG9CdWZmZXJJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2azo6QnVmZmVySGVscGVyICpkZXN0QnVmZmVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3B5Q291bnQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQnVmZmVyQ29weSAqY29waWVzKTsKIAogICAg
IENvbnZlcnNpb25CdWZmZXIgKmdldFZlcnRleENvbnZlcnNpb25CdWZmZXIoUmVuZGVyZXJWayAq
cmVuZGVyZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhbmdsZTo6Rm9ybWF0SUQgZm9ybWF0SUQsCkBAIC0xMTYsNiArMTE2LDMzIEBAIGNsYXNzIEJ1
ZmZlclZrIDogcHVibGljIEJ1ZmZlckltcGwKIAogICBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlh
bGl6ZVN0YWdpbmdCdWZmZXIoQ29udGV4dFZrICpjb250ZXh0VmssIGdsOjpCdWZmZXJCaW5kaW5n
IHRhcmdldCwgc2l6ZV90IHNpemUpOworICAgIGFuZ2xlOjpSZXN1bHQgaW5pdGlhbGl6ZVNoYWRv
d0J1ZmZlcihDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlckJpbmRpbmcgdGFyZ2V0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2l6ZSk7CisKKyAgICBBTkdMRV9JTkxJ
TkUgdWludDhfdCAqZ2V0U2hhZG93QnVmZmVyKHNpemVfdCBvZmZzZXQpCisgICAgeworICAgICAg
ICByZXR1cm4gKG1TaGFkb3dCdWZmZXIuZ2V0Q3VycmVudEJ1ZmZlcigpICsgb2Zmc2V0KTsKKyAg
ICB9CisKKyAgICBBTkdMRV9JTkxJTkUgY29uc3QgdWludDhfdCAqZ2V0U2hhZG93QnVmZmVyKHNp
emVfdCBvZmZzZXQpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gKG1TaGFkb3dCdWZmZXIu
Z2V0Q3VycmVudEJ1ZmZlcigpICsgb2Zmc2V0KTsKKyAgICB9CisKKyAgICB2b2lkIHVwZGF0ZVNo
YWRvd0J1ZmZlcihjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG9mZnNl
dCk7CisgICAgYW5nbGU6OlJlc3VsdCBkaXJlY3RVcGRhdGUoQ29udGV4dFZrICpjb250ZXh0Vmss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqZGF0YSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplX3Qgb2Zmc2V0KTsKKyAgICBhbmdsZTo6UmVzdWx0IHN0YWdl
ZFVwZGF0ZShDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBvZmZz
ZXQpOworICAgIGFuZ2xlOjpSZXN1bHQgYWNxdWlyZUFuZFVwZGF0ZShDb250ZXh0VmsgKmNvbnRl
eHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq
ZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBvZmZzZXQpOwogICAgIGFu
Z2xlOjpSZXN1bHQgc2V0RGF0YUltcGwoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpkYXRhLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsCkBAIC0xMjMsNiArMTUwLDEwIEBAIGNsYXNzIEJ1
ZmZlclZrIDogcHVibGljIEJ1ZmZlckltcGwKICAgICB2b2lkIHJlbGVhc2UoQ29udGV4dFZrICpj
b250ZXh0KTsKICAgICB2b2lkIG1hcmtDb252ZXJzaW9uQnVmZmVyc0RpcnR5KCk7CiAKKyAgICBh
bmdsZTo6UmVzdWx0IGFjcXVpcmVCdWZmZXJIZWxwZXIoQ29udGV4dFZrICpjb250ZXh0VmssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplSW5CeXRlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAq
KmJ1ZmZlckhlbHBlck91dCk7CisKICAgICBzdHJ1Y3QgVmVydGV4Q29udmVyc2lvbkJ1ZmZlciA6
IHB1YmxpYyBDb252ZXJzaW9uQnVmZmVyCiAgICAgewogICAgICAgICBWZXJ0ZXhDb252ZXJzaW9u
QnVmZmVyKFJlbmRlcmVyVmsgKnJlbmRlcmVyLApAQCAtMTQwLDExICsxNzEsMjEgQEAgY2xhc3Mg
QnVmZmVyVmsgOiBwdWJsaWMgQnVmZmVySW1wbAogICAgICAgICBzaXplX3Qgb2Zmc2V0OwogICAg
IH07CiAKLSAgICB2azo6QnVmZmVySGVscGVyIG1CdWZmZXI7CisgICAgdms6OkJ1ZmZlckhlbHBl
ciAqbUJ1ZmZlcjsKKworICAgIC8vIFBvb2wgb2YgQnVmZmVySGVscGVycyBmb3IgbUJ1ZmZlciB0
byBhY3F1aXJlIGZyb20KKyAgICB2azo6RHluYW1pY0J1ZmZlciBtQnVmZmVyUG9vbDsKIAogICAg
IC8vIEFsbCBzdGFnaW5nIGJ1ZmZlciBzdXBwb3J0IGlzIHByb3ZpZGVkIGJ5IGEgRHluYW1pY0J1
ZmZlci4KICAgICB2azo6RHluYW1pY0J1ZmZlciBtU3RhZ2luZ0J1ZmZlcjsKIAorICAgIC8vIEZv
ciBHUFUtcmVhZCBvbmx5IGJ1ZmZlcnMgZ2xNYXAqIGxhdGVuY3kgaXMgcmVkdWNlZCBieSBtYWlu
dGFpbmluZyBhIGNvcHkKKyAgICAvLyBvZiB0aGUgYnVmZmVyIHdoaWNoIGlzIHdyaXRlYWJsZSBv
bmx5IGJ5IHRoZSBDUFUuIFRoZSBjb250ZW50cyBhcmUgdXBkYXRlZCBvbiBhbGwKKyAgICAvLyBn
bERhdGEvZ2xTdWJEYXRhL2dsQ29weSBjYWxscy4gV2l0aCB0aGlzLCBhIGdsTWFwKiBjYWxsIGJl
Y29tZXMgYSBub24tYmxvY2tpbmcKKyAgICAvLyBvcGVyYXRpb24gYnkgZWxpbW5hdGluZyB0aGUg
bmVlZCB0byB3YWl0IG9uIGFueSByZWNvcmRlZCBvciBpbi1mbGlnaHQgR1BVIGNvbW1hbmRzLgor
ICAgIC8vIFdlIHVzZSBEeW5hbWljU2hhZG93QnVmZmVyIGNsYXNzIHRvIGVuY2Fwc3VsYXRlIGFs
bCB0aGUgYm9va2VlcGluZyBsb2dpYy4KKyAgICB2azo6RHluYW1pY1NoYWRvd0J1ZmZlciBtU2hh
ZG93QnVmZmVyOworCiAgICAgLy8gQSBjYWNoZSBvZiBjb252ZXJ0ZWQgdmVydGV4IGRhdGEuCiAg
ICAgc3RkOjp2ZWN0b3I8VmVydGV4Q29udmVyc2lvbkJ1ZmZlcj4gbVZlcnRleENvbnZlcnNpb25C
dWZmZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmNwcAppbmRleCAyZTVi
ZjIzMDZiNjE5MzQ4YzhiNjZhNDcxNjIxNGUzNzdkNzcwMTg4Li5mNTIyN2IxMTlhOTk0OWJhOGE2
MWRkYjU3MmVjMDYxZDExMTA2MDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbnRleHRWay5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0Vmsu
Y3BwCkBAIC00NywxMCArNDcsNiBAQCBuYW1lc3BhY2UgcngKIAogbmFtZXNwYWNlCiB7Ci0vLyBU
aGUgdmFsdWUgdG8gYXNzaWduIGFuIGFscGhhIGNoYW5uZWwgdGhhdCdzIGVtdWxhdGVkLiAgVGhl
IHR5cGUgaXMgdW5zaWduZWQgaW50LCB0aG91Z2ggaXQgd2lsbAotLy8gYXV0b21hdGljYWxseSBj
b252ZXJ0IHRvIHRoZSBhY3R1YWwgZGF0YSB0eXBlLgotY29uc3RleHByIHVuc2lnbmVkIGludCBr
RW11bGF0ZWRBbHBoYVZhbHVlID0gMTsKLQogLy8gRm9yIHNoYWRlciB1bmlmb3JtcyBzdWNoIGFz
IGdsX0RlcHRoUmFuZ2UgYW5kIHRoZSB2aWV3cG9ydCBzaXplLgogc3RydWN0IEdyYXBoaWNzRHJp
dmVyVW5pZm9ybXMKIHsKQEAgLTU5LDEwICs1NSwxNCBAQCBzdHJ1Y3QgR3JhcGhpY3NEcml2ZXJV
bmlmb3JtcwogICAgIGZsb2F0IGhhbGZSZW5kZXJBcmVhSGVpZ2h0OwogICAgIGZsb2F0IHZpZXdw
b3J0WVNjYWxlOwogICAgIGZsb2F0IG5lZ1ZpZXdwb3J0WVNjYWxlOworCisgICAgLy8gMzIgYml0
cyBmb3IgMzIgY2xpcCBwbGFuZXMKKyAgICB1aW50MzJfdCBlbmFibGVkQ2xpcFBsYW5lczsKKwog
ICAgIHVpbnQzMl90IHhmYkFjdGl2ZVVucGF1c2VkOwogICAgIHVpbnQzMl90IHhmYlZlcnRpY2Vz
UGVyRHJhdzsKICAgICAvLyBOT1RFOiBFeHBsaWNpdCBwYWRkaW5nLiBGaWxsIGluIHdpdGggdXNl
ZnVsIGRhdGEgd2hlbiBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4KLSAgICBzdGQ6OmFycmF5PGludDMy
X3QsIDM+IHBhZGRpbmc7CisgICAgc3RkOjphcnJheTxpbnQzMl90LCAyPiBwYWRkaW5nOwogCiAg
ICAgc3RkOjphcnJheTxpbnQzMl90LCA0PiB4ZmJCdWZmZXJPZmZzZXRzOwogCkBAIC0xMDAsNiAr
MTAwLDE4IEBAIEdMZW51bSBEZWZhdWx0R0xFcnJvckNvZGUoVmtSZXN1bHQgcmVzdWx0KQogICAg
IH0KIH0KIAorY29uc3RleHByIGdsOjpTaGFkZXJNYXA8dms6OkltYWdlTGF5b3V0PiBrU2hhZGVy
UmVhZE9ubHlJbWFnZUxheW91dHMgPSB7CisgICAge2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgsIHZr
OjpJbWFnZUxheW91dDo6VmVydGV4U2hhZGVyUmVhZE9ubHl9LAorICAgIHtnbDo6U2hhZGVyVHlw
ZTo6RnJhZ21lbnQsIHZrOjpJbWFnZUxheW91dDo6RnJhZ21lbnRTaGFkZXJSZWFkT25seX0sCisg
ICAge2dsOjpTaGFkZXJUeXBlOjpHZW9tZXRyeSwgdms6OkltYWdlTGF5b3V0OjpHZW9tZXRyeVNo
YWRlclJlYWRPbmx5fSwKKyAgICB7Z2w6OlNoYWRlclR5cGU6OkNvbXB1dGUsIHZrOjpJbWFnZUxh
eW91dDo6Q29tcHV0ZVNoYWRlclJlYWRPbmx5fX07CisKK2NvbnN0ZXhwciBnbDo6U2hhZGVyTWFw
PHZrOjpJbWFnZUxheW91dD4ga1NoYWRlcldyaXRlSW1hZ2VMYXlvdXRzID0geworICAgIHtnbDo6
U2hhZGVyVHlwZTo6VmVydGV4LCB2azo6SW1hZ2VMYXlvdXQ6OlZlcnRleFNoYWRlcldyaXRlfSwK
KyAgICB7Z2w6OlNoYWRlclR5cGU6OkZyYWdtZW50LCB2azo6SW1hZ2VMYXlvdXQ6OkZyYWdtZW50
U2hhZGVyV3JpdGV9LAorICAgIHtnbDo6U2hhZGVyVHlwZTo6R2VvbWV0cnksIHZrOjpJbWFnZUxh
eW91dDo6R2VvbWV0cnlTaGFkZXJXcml0ZX0sCisgICAge2dsOjpTaGFkZXJUeXBlOjpDb21wdXRl
LCB2azo6SW1hZ2VMYXlvdXQ6OkNvbXB1dGVTaGFkZXJXcml0ZX19OworCiBjb25zdGV4cHIgVmtD
b2xvckNvbXBvbmVudEZsYWdzIGtBbGxDb2xvckNoYW5uZWxzTWFzayA9CiAgICAgKFZLX0NPTE9S
X0NPTVBPTkVOVF9SX0JJVCB8IFZLX0NPTE9SX0NPTVBPTkVOVF9HX0JJVCB8IFZLX0NPTE9SX0NP
TVBPTkVOVF9CX0JJVCB8CiAgICAgIFZLX0NPTE9SX0NPTVBPTkVOVF9BX0JJVCk7CkBAIC0xMTIs
OSArMTI0LDYgQEAgY29uc3RleHByIHNpemVfdCBrRHJpdmVyVW5pZm9ybXNBbGxvY2F0b3JQYWdl
U2l6ZSA9IDQgKiAxMDI0OwogCiBjb25zdGV4cHIgc2l6ZV90IGtJbkZsaWdodENvbW1hbmRzTGlt
aXQgPSAxMDB1OwogCi0vLyBEdW1waW5nIHRoZSBjb21tYW5kIHN0cmVhbSBpcyBkaXNhYmxlZCBi
eSBkZWZhdWx0LgotY29uc3RleHByIGJvb2wga0VuYWJsZUNvbW1hbmRTdHJlYW1EaWFnbm9zdGlj
cyA9IGZhbHNlOwotCiB2b2lkIEluaXRpYWxpemVTdWJtaXRJbmZvKFZrU3VibWl0SW5mbyAqc3Vi
bWl0SW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdms6OlByaW1hcnlDb21t
YW5kQnVmZmVyICZjb21tYW5kQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdGQ6OnZlY3RvcjxWa1NlbWFwaG9yZT4gJndhaXRTZW1hcGhvcmVzLApAQCAtMTc5LDY1ICsx
ODgsNDEgQEAgdm9pZCBBcHBseVNhbXBsZUNvdmVyYWdlKGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0
ZSwKICAgICAqbWFza091dCAmPSBjb3ZlcmFnZU1hc2s7CiB9CiAKLWNoYXIgR2V0TG9hZE9wU2hv
cnRoYW5kKHVpbnQzMl90IGxvYWRPcCkKLXsKLSAgICBzd2l0Y2ggKGxvYWRPcCkKLSAgICB7Ci0g
ICAgICAgIGNhc2UgVktfQVRUQUNITUVOVF9MT0FEX09QX0NMRUFSOgotICAgICAgICAgICAgcmV0
dXJuICdDJzsKLSAgICAgICAgY2FzZSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTE9BRDoKLSAgICAg
ICAgICAgIHJldHVybiAnTCc7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4g
J0QnOwotICAgIH0KLX0KLQotY2hhciBHZXRTdG9yZU9wU2hvcnRoYW5kKHVpbnQzMl90IHN0b3Jl
T3ApCi17Ci0gICAgc3dpdGNoIChzdG9yZU9wKQotICAgIHsKLSAgICAgICAgY2FzZSBWS19BVFRB
Q0hNRU5UX1NUT1JFX09QX1NUT1JFOgotICAgICAgICAgICAgcmV0dXJuICdTJzsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiAnRCc7Ci0gICAgfQotfQotCiAvLyBXaGVuIGFu
IEFuZHJvaWQgc3VyZmFjZSBpcyByb3RhdGVkIGRpZmZlcmVudGx5IHRoYW4gdGhlIGRldmljZSdz
IG5hdGl2ZSBvcmllbnRhdGlvbiwgQU5HTEUgbXVzdAogLy8gcm90YXRlIGdsX1Bvc2l0aW9uIGlu
IHRoZSB2ZXJ0ZXggc2hhZGVyLiAgVGhlIGZvbGxvd2luZyBhcmUgdGhlIHJvdGF0aW9uIG1hdHJp
Y2VzIHVzZWQuCiAvLwogLy8gTm90ZTogdGhlc2UgYXJlIG1hdDIncyB0aGF0IGFyZSBhcHByb3By
aWF0ZWx5IHBhZGRlZCAoNCBmbG9hdHMgcGVyIHJvdykuCiB1c2luZyBQcmVSb3RhdGlvbk1hdHJp
eFZhbHVlcyA9IHN0ZDo6YXJyYXk8ZmxvYXQsIDg+OwotY29uc3RleHByIGFuZ2xlOjpQYWNrZWRF
bnVtTWFwPHJ4OjpTdXJmYWNlUm90YXRpb25UeXBlLAorY29uc3RleHByIGFuZ2xlOjpQYWNrZWRF
bnVtTWFwPHJ4OjpTdXJmYWNlUm90YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUHJlUm90YXRpb25NYXRyaXhWYWx1ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYW5nbGU6OkVudW1TaXplPHJ4OjpTdXJmYWNlUm90YXRpb25UeXBlPigpPgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpFbnVtU2l6ZTxyeDo6U3VyZmFjZVJvdGF0aW9u
PigpPgogICAgIGtQcmVSb3RhdGlvbk1hdHJpY2VzID0gewotICAgICAgICB7e3J4OjpTdXJmYWNl
Um90YXRpb25UeXBlOjpJZGVudGl0eSwge3sxLjBmLCAwLjBmLCAwLjBmLCAwLjBmLCAwLjBmLCAx
LjBmLCAwLjBmLCAwLjBmfX19LAotICAgICAgICAge3J4OjpTdXJmYWNlUm90YXRpb25UeXBlOjpS
b3RhdGVkOTBEZWdyZWVzLAorICAgICAgICB7e3J4OjpTdXJmYWNlUm90YXRpb246OklkZW50aXR5
LCB7ezEuMGYsIDAuMGYsIDAuMGYsIDAuMGYsIDAuMGYsIDEuMGYsIDAuMGYsIDAuMGZ9fX0sCisg
ICAgICAgICB7cng6OlN1cmZhY2VSb3RhdGlvbjo6Um90YXRlZDkwRGVncmVlcywKICAgICAgICAg
ICB7ezAuMGYsIC0xLjBmLCAwLjBmLCAwLjBmLCAxLjBmLCAwLjBmLCAwLjBmLCAwLjBmfX19LAot
ICAgICAgICAge3J4OjpTdXJmYWNlUm90YXRpb25UeXBlOjpSb3RhdGVkMTgwRGVncmVlcywKKyAg
ICAgICAgIHtyeDo6U3VyZmFjZVJvdGF0aW9uOjpSb3RhdGVkMTgwRGVncmVlcywKICAgICAgICAg
ICB7ey0xLjBmLCAwLjBmLCAwLjBmLCAwLjBmLCAwLjBmLCAtMS4wZiwgMC4wZiwgMC4wZn19fSwK
LSAgICAgICAgIHtyeDo6U3VyZmFjZVJvdGF0aW9uVHlwZTo6Um90YXRlZDI3MERlZ3JlZXMsCisg
ICAgICAgICB7cng6OlN1cmZhY2VSb3RhdGlvbjo6Um90YXRlZDI3MERlZ3JlZXMsCiAgICAgICAg
ICAge3swLjBmLCAxLjBmLCAwLjBmLCAwLjBmLCAtMS4wZiwgMC4wZiwgMC4wZiwgMC4wZn19fSwK
LSAgICAgICAgIHtyeDo6U3VyZmFjZVJvdGF0aW9uVHlwZTo6RmxpcHBlZElkZW50aXR5LAorICAg
ICAgICAge3J4OjpTdXJmYWNlUm90YXRpb246OkZsaXBwZWRJZGVudGl0eSwKICAgICAgICAgICB7
ezEuMGYsIDAuMGYsIDAuMGYsIDAuMGYsIDAuMGYsIC0xLjBmLCAwLjBmLCAwLjBmfX19LAotICAg
ICAgICAge3J4OjpTdXJmYWNlUm90YXRpb25UeXBlOjpGbGlwcGVkUm90YXRlZDkwRGVncmVlcywK
KyAgICAgICAgIHtyeDo6U3VyZmFjZVJvdGF0aW9uOjpGbGlwcGVkUm90YXRlZDkwRGVncmVlcywK
ICAgICAgICAgICB7ezAuMGYsIC0xLjBmLCAwLjBmLCAwLjBmLCAtMS4wZiwgMC4wZiwgMC4wZiwg
MC4wZn19fSwKLSAgICAgICAgIHtyeDo6U3VyZmFjZVJvdGF0aW9uVHlwZTo6RmxpcHBlZFJvdGF0
ZWQxODBEZWdyZWVzLAorICAgICAgICAge3J4OjpTdXJmYWNlUm90YXRpb246OkZsaXBwZWRSb3Rh
dGVkMTgwRGVncmVlcywKICAgICAgICAgICB7ey0xLjBmLCAwLjBmLCAwLjBmLCAwLjBmLCAwLjBm
LCAxLjBmLCAwLjBmLCAwLjBmfX19LAotICAgICAgICAge3J4OjpTdXJmYWNlUm90YXRpb25UeXBl
OjpGbGlwcGVkUm90YXRlZDI3MERlZ3JlZXMsCisgICAgICAgICB7cng6OlN1cmZhY2VSb3RhdGlv
bjo6RmxpcHBlZFJvdGF0ZWQyNzBEZWdyZWVzLAogICAgICAgICAgIHt7MC4wZiwgMS4wZiwgMC4w
ZiwgMC4wZiwgMS4wZiwgMC4wZiwgMC4wZiwgMC4wZn19fX19OwogCi1ib29sIElzUm90YXRlZEFz
cGVjdFJhdGlvKFN1cmZhY2VSb3RhdGlvblR5cGUgcm90YXRpb24pCitib29sIElzUm90YXRlZEFz
cGVjdFJhdGlvKFN1cmZhY2VSb3RhdGlvbiByb3RhdGlvbikKIHsKLSAgICByZXR1cm4gKChyb3Rh
dGlvbiA9PSBTdXJmYWNlUm90YXRpb25UeXBlOjpSb3RhdGVkOTBEZWdyZWVzKSB8fAotICAgICAg
ICAgICAgKHJvdGF0aW9uID09IFN1cmZhY2VSb3RhdGlvblR5cGU6OlJvdGF0ZWQyNzBEZWdyZWVz
KSB8fAotICAgICAgICAgICAgKHJvdGF0aW9uID09IFN1cmZhY2VSb3RhdGlvblR5cGU6OkZsaXBw
ZWRSb3RhdGVkOTBEZWdyZWVzKSB8fAotICAgICAgICAgICAgKHJvdGF0aW9uID09IFN1cmZhY2VS
b3RhdGlvblR5cGU6OkZsaXBwZWRSb3RhdGVkMjcwRGVncmVlcykpOworICAgIHJldHVybiAoKHJv
dGF0aW9uID09IFN1cmZhY2VSb3RhdGlvbjo6Um90YXRlZDkwRGVncmVlcykgfHwKKyAgICAgICAg
ICAgIChyb3RhdGlvbiA9PSBTdXJmYWNlUm90YXRpb246OlJvdGF0ZWQyNzBEZWdyZWVzKSB8fAor
ICAgICAgICAgICAgKHJvdGF0aW9uID09IFN1cmZhY2VSb3RhdGlvbjo6RmxpcHBlZFJvdGF0ZWQ5
MERlZ3JlZXMpIHx8CisgICAgICAgICAgICAocm90YXRpb24gPT0gU3VyZmFjZVJvdGF0aW9uOjpG
bGlwcGVkUm90YXRlZDI3MERlZ3JlZXMpKTsKIH0KIAotU3VyZmFjZVJvdGF0aW9uVHlwZSBEZXRl
cm1pbmVTdXJmYWNlUm90YXRpb24oZ2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvd1N1cmZhY2VWayAq
d2luZG93U3VyZmFjZSkKK1N1cmZhY2VSb3RhdGlvbiBEZXRlcm1pbmVTdXJmYWNlUm90YXRpb24o
Z2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV2luZG93U3VyZmFjZVZrICp3aW5kb3dTdXJmYWNlKQogewogICAgIGlm
ICh3aW5kb3dTdXJmYWNlICYmIGZyYW1lYnVmZmVyLT5pc0RlZmF1bHQoKSkKICAgICB7CkBAIC0y
NDUsMjUgKzIzMCw2OSBAQCBTdXJmYWNlUm90YXRpb25UeXBlIERldGVybWluZVN1cmZhY2VSb3Rh
dGlvbihnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyLAogICAgICAgICB7CiAgICAgICAgICAg
ICBjYXNlIFZLX1NVUkZBQ0VfVFJBTlNGT1JNX0lERU5USVRZX0JJVF9LSFI6CiAgICAgICAgICAg
ICAgICAgLy8gRG8gbm90IHJvdGF0ZSBnbF9Qb3NpdGlvbiAoc3VyZmFjZSBtYXRjaGVzIHRoZSBk
ZXZpY2UncyBvcmllbnRhdGlvbik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFN1cmZhY2VSb3Rh
dGlvblR5cGU6OklkZW50aXR5OworICAgICAgICAgICAgICAgIHJldHVybiBTdXJmYWNlUm90YXRp
b246OklkZW50aXR5OwogICAgICAgICAgICAgY2FzZSBWS19TVVJGQUNFX1RSQU5TRk9STV9ST1RB
VEVfOTBfQklUX0tIUjoKICAgICAgICAgICAgICAgICAvLyBSb3RhdGUgZ2xfUG9zaXRpb24gOTAg
ZGVncmVlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gU3VyZmFjZVJvdGF0aW9uVHlwZTo6Um90
YXRlZDkwRGVncmVlczsKKyAgICAgICAgICAgICAgICByZXR1cm4gU3VyZmFjZVJvdGF0aW9uOjpS
b3RhdGVkOTBEZWdyZWVzOwogICAgICAgICAgICAgY2FzZSBWS19TVVJGQUNFX1RSQU5TRk9STV9S
T1RBVEVfMTgwX0JJVF9LSFI6CiAgICAgICAgICAgICAgICAgLy8gUm90YXRlIGdsX1Bvc2l0aW9u
IDE4MCBkZWdyZWVzOgotICAgICAgICAgICAgICAgIHJldHVybiBTdXJmYWNlUm90YXRpb25UeXBl
OjpSb3RhdGVkMTgwRGVncmVlczsKKyAgICAgICAgICAgICAgICByZXR1cm4gU3VyZmFjZVJvdGF0
aW9uOjpSb3RhdGVkMTgwRGVncmVlczsKICAgICAgICAgICAgIGNhc2UgVktfU1VSRkFDRV9UUkFO
U0ZPUk1fUk9UQVRFXzI3MF9CSVRfS0hSOgogICAgICAgICAgICAgICAgIC8vIFJvdGF0ZSBnbF9Q
b3NpdGlvbiAyNzAgZGVncmVlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gU3VyZmFjZVJvdGF0
aW9uVHlwZTo6Um90YXRlZDE4MERlZ3JlZXM7CisgICAgICAgICAgICAgICAgcmV0dXJuIFN1cmZh
Y2VSb3RhdGlvbjo6Um90YXRlZDI3MERlZ3JlZXM7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFN1cmZh
Y2VSb3RhdGlvblR5cGU6OklkZW50aXR5OworICAgICAgICAgICAgICAgIHJldHVybiBTdXJmYWNl
Um90YXRpb246OklkZW50aXR5OwogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UKICAgICB7CiAg
ICAgICAgIC8vIERvIG5vdCByb3RhdGUgZ2xfUG9zaXRpb24gKG9mZnNjcmVlbiBmcmFtZWJ1ZmZl
cik6Ci0gICAgICAgIHJldHVybiBTdXJmYWNlUm90YXRpb25UeXBlOjpJZGVudGl0eTsKKyAgICAg
ICAgcmV0dXJuIFN1cmZhY2VSb3RhdGlvbjo6SWRlbnRpdHk7CisgICAgfQorfQorCit2b2lkIFJv
dGF0ZVJlY3RhbmdsZShjb25zdCBTdXJmYWNlUm90YXRpb24gcm90YXRpb24sCisgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBib29sIGZsaXBZLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50IGZyYW1lYnVmZmVyV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgZnJh
bWVidWZmZXJIZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xl
ICZpbmNvbWluZywKKyAgICAgICAgICAgICAgICAgICAgIGdsOjpSZWN0YW5nbGUgKm91dGdvaW5n
KQoreworICAgIC8vIEdMRVMncyB5LWF4aXMgcG9pbnRzIHVwOyBWdWxrYW4ncyBwb2ludHMgZG93
bi4KKyAgICBzd2l0Y2ggKHJvdGF0aW9uKQorICAgIHsKKyAgICAgICAgY2FzZSBTdXJmYWNlUm90
YXRpb246OklkZW50aXR5OgorICAgICAgICAgICAgLy8gRG8gbm90IHJvdGF0ZSBnbF9Qb3NpdGlv
biAoc3VyZmFjZSBtYXRjaGVzIHRoZSBkZXZpY2UncyBvcmllbnRhdGlvbik6CisgICAgICAgICAg
ICBvdXRnb2luZy0+eCAgICAgPSBpbmNvbWluZy54OworICAgICAgICAgICAgb3V0Z29pbmctPnkg
ICAgID0gZmxpcFkgPyBmcmFtZWJ1ZmZlckhlaWdodCAtIGluY29taW5nLnkgLSBpbmNvbWluZy5o
ZWlnaHQgOiBpbmNvbWluZy55OworICAgICAgICAgICAgb3V0Z29pbmctPndpZHRoID0gaW5jb21p
bmcud2lkdGg7CisgICAgICAgICAgICBvdXRnb2luZy0+aGVpZ2h0ID0gaW5jb21pbmcuaGVpZ2h0
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU3VyZmFjZVJvdGF0aW9uOjpSb3Rh
dGVkOTBEZWdyZWVzOgorICAgICAgICAgICAgLy8gUm90YXRlIGdsX1Bvc2l0aW9uIDkwIGRlZ3Jl
ZXM6CisgICAgICAgICAgICBvdXRnb2luZy0+eCAgICAgID0gaW5jb21pbmcueTsKKyAgICAgICAg
ICAgIG91dGdvaW5nLT55ICAgICAgPSBmbGlwWSA/IGluY29taW5nLnggOiBmcmFtZWJ1ZmZlcldp
ZHRoIC0gaW5jb21pbmcueCAtIGluY29taW5nLndpZHRoOworICAgICAgICAgICAgb3V0Z29pbmct
PndpZHRoICA9IGluY29taW5nLmhlaWdodDsKKyAgICAgICAgICAgIG91dGdvaW5nLT5oZWlnaHQg
PSBpbmNvbWluZy53aWR0aDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFN1cmZh
Y2VSb3RhdGlvbjo6Um90YXRlZDE4MERlZ3JlZXM6CisgICAgICAgICAgICAvLyBSb3RhdGUgZ2xf
UG9zaXRpb24gMTgwIGRlZ3JlZXM6CisgICAgICAgICAgICBvdXRnb2luZy0+eCAgICAgPSBmcmFt
ZWJ1ZmZlcldpZHRoIC0gaW5jb21pbmcueCAtIGluY29taW5nLndpZHRoOworICAgICAgICAgICAg
b3V0Z29pbmctPnkgICAgID0gZmxpcFkgPyBpbmNvbWluZy55IDogZnJhbWVidWZmZXJIZWlnaHQg
LSBpbmNvbWluZy55IC0gaW5jb21pbmcuaGVpZ2h0OworICAgICAgICAgICAgb3V0Z29pbmctPndp
ZHRoID0gaW5jb21pbmcud2lkdGg7CisgICAgICAgICAgICBvdXRnb2luZy0+aGVpZ2h0ID0gaW5j
b21pbmcuaGVpZ2h0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU3VyZmFjZVJv
dGF0aW9uOjpSb3RhdGVkMjcwRGVncmVlczoKKyAgICAgICAgICAgIC8vIFJvdGF0ZSBnbF9Qb3Np
dGlvbiAyNzAgZGVncmVlczoKKyAgICAgICAgICAgIG91dGdvaW5nLT54ICAgICAgPSBmcmFtZWJ1
ZmZlckhlaWdodCAtIGluY29taW5nLnkgLSBpbmNvbWluZy5oZWlnaHQ7CisgICAgICAgICAgICBv
dXRnb2luZy0+eSAgICAgID0gZmxpcFkgPyBmcmFtZWJ1ZmZlcldpZHRoIC0gaW5jb21pbmcueCAt
IGluY29taW5nLndpZHRoIDogaW5jb21pbmcueDsKKyAgICAgICAgICAgIG91dGdvaW5nLT53aWR0
aCAgPSBpbmNvbWluZy5oZWlnaHQ7CisgICAgICAgICAgICBvdXRnb2luZy0+aGVpZ2h0ID0gaW5j
b21pbmcud2lkdGg7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICBicmVhazsKICAgICB9CiB9CiAKQEAg
LTI5MCwxMSArMzE5LDExIEBAIHZvaWQgQ29udGV4dFZrOjpEcml2ZXJVbmlmb3Jtc0Rlc2NyaXB0
b3JTZXQ6OmluaXQoUmVuZGVyZXJWayAqcmVuZGVyZXJWaykKICAgICAgICAgICAgICAgICAgICAg
ICAga0RyaXZlclVuaWZvcm1zQWxsb2NhdG9yUGFnZVNpemUsIHRydWUpOwogfQogCi12b2lkIENv
bnRleHRWazo6RHJpdmVyVW5pZm9ybXNEZXNjcmlwdG9yU2V0OjpkZXN0cm95KFZrRGV2aWNlIGRl
dmljZSkKK3ZvaWQgQ29udGV4dFZrOjpEcml2ZXJVbmlmb3Jtc0Rlc2NyaXB0b3JTZXQ6OmRlc3Ry
b3koUmVuZGVyZXJWayAqcmVuZGVyZXIpCiB7CiAgICAgZGVzY3JpcHRvclNldExheW91dC5yZXNl
dCgpOwogICAgIGRlc2NyaXB0b3JQb29sQmluZGluZy5yZXNldCgpOwotICAgIGR5bmFtaWNCdWZm
ZXIuZGVzdHJveShkZXZpY2UpOworICAgIGR5bmFtaWNCdWZmZXIuZGVzdHJveShyZW5kZXJlcik7
CiB9CiAKIC8vIENvbW1hbmRCYXRjaCBpbXBsZW1lbnRhdGlvbi4KQEAgLTM4NSw3ICs0MTQsNyBA
QCBhbmdsZTo6UmVzdWx0IENvbW1hbmRRdWV1ZTo6Y2hlY2tDb21wbGV0ZWRDb21tYW5kcyh2azo6
Q29udGV4dCAqY29udGV4dCkKICAgICAgICAgewogICAgICAgICAgICAgZm9yICh2azo6R2FyYmFn
ZU9iamVjdCAmZ2FyYmFnZSA6IGdhcmJhZ2VMaXN0LmdldCgpKQogICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGdhcmJhZ2UuZGVzdHJveShkZXZpY2UpOworICAgICAgICAgICAgICAgIGdh
cmJhZ2UuZGVzdHJveShyZW5kZXJlcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZQpAQCAtNDI4LDEzICs0NTcsMTMgQEAgYW5nbGU6OlJlc3VsdCBDb21tYW5kUXVldWU6
OnJlbGVhc2VUb0NvbW1hbmRCYXRjaCh2azo6Q29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKLXZvaWQgQ29tbWFuZFF1ZXVlOjpjbGVhckFs
bEdhcmJhZ2UoVmtEZXZpY2UgZGV2aWNlKQordm9pZCBDb21tYW5kUXVldWU6OmNsZWFyQWxsR2Fy
YmFnZShSZW5kZXJlclZrICpyZW5kZXJlcikKIHsKICAgICBmb3IgKHZrOjpHYXJiYWdlQW5kU2Vy
aWFsICZnYXJiYWdlTGlzdCA6IG1HYXJiYWdlUXVldWUpCiAgICAgewogICAgICAgICBmb3IgKHZr
OjpHYXJiYWdlT2JqZWN0ICZnYXJiYWdlIDogZ2FyYmFnZUxpc3QuZ2V0KCkpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGdhcmJhZ2UuZGVzdHJveShkZXZpY2UpOworICAgICAgICAgICAgZ2FyYmFn
ZS5kZXN0cm95KHJlbmRlcmVyKTsKICAgICAgICAgfQogICAgIH0KICAgICBtR2FyYmFnZVF1ZXVl
LmNsZWFyKCk7CkBAIC00ODgsNyArNTE3LDcgQEAgYW5nbGU6OlJlc3VsdCBDb21tYW5kUXVldWU6
OmZpbmlzaFRvU2VyaWFsKHZrOjpDb250ZXh0ICpjb250ZXh0LCBTZXJpYWwgc2VyaWFsLAogICAg
IHsKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KLQorICAg
IEFOR0xFX1RSQUNFX0VWRU5UMCgiZ3B1LmFuZ2xlIiwgIkNvbW1hbmRRdWV1ZTo6ZmluaXNoVG9T
ZXJpYWwiKTsKICAgICAvLyBGaW5kIHRoZSBmaXJzdCBiYXRjaCB3aXRoIHNlcmlhbCBlcXVhbCB0
byBvciBiaWdnZXIgdGhhbiBnaXZlbiBzZXJpYWwgKG5vdGUgdGhhdAogICAgIC8vIHRoZSBiYXRj
aCBzZXJpYWxzIGFyZSB1bmlxdWUsIG90aGVyd2lzZSB1cHBlci1ib3VuZCB3b3VsZCBoYXZlIGJl
ZW4gbmVjZXNzYXJ5KS4KICAgICAvLwpAQCAtNTkzLDEyICs2MjIsMTQgQEAgQ29udGV4dFZrOjpD
b250ZXh0VmsoY29uc3QgZ2w6OlN0YXRlICZzdGF0ZSwgZ2w6OkVycm9yU2V0ICplcnJvclNldCwg
UmVuZGVyZXJWawogICAgICAgbUN1cnJlbnRDb21wdXRlUGlwZWxpbmUobnVsbHB0ciksCiAgICAg
ICBtQ3VycmVudERyYXdNb2RlKGdsOjpQcmltaXRpdmVNb2RlOjpJbnZhbGlkRW51bSksCiAgICAg
ICBtQ3VycmVudFdpbmRvd1N1cmZhY2UobnVsbHB0ciksCi0gICAgICBtQ3VycmVudFJvdGF0aW9u
RHJhd0ZyYW1lYnVmZmVyKFN1cmZhY2VSb3RhdGlvblR5cGU6OklkZW50aXR5KSwKLSAgICAgIG1D
dXJyZW50Um90YXRpb25SZWFkRnJhbWVidWZmZXIoU3VyZmFjZVJvdGF0aW9uVHlwZTo6SWRlbnRp
dHkpLAorICAgICAgbUN1cnJlbnRSb3RhdGlvbkRyYXdGcmFtZWJ1ZmZlcihTdXJmYWNlUm90YXRp
b246OklkZW50aXR5KSwKKyAgICAgIG1DdXJyZW50Um90YXRpb25SZWFkRnJhbWVidWZmZXIoU3Vy
ZmFjZVJvdGF0aW9uOjpJZGVudGl0eSksCiAgICAgICBtVmVydGV4QXJyYXkobnVsbHB0ciksCiAg
ICAgICBtRHJhd0ZyYW1lYnVmZmVyKG51bGxwdHIpLAogICAgICAgbVByb2dyYW0obnVsbHB0ciks
CiAgICAgICBtRXhlY3V0YWJsZShudWxscHRyKSwKKyAgICAgIG1BY3RpdmVRdWVyeUFueVNhbXBs
ZXMobnVsbHB0ciksCisgICAgICBtQWN0aXZlUXVlcnlBbnlTYW1wbGVzQ29uc2VydmF0aXZlKG51
bGxwdHIpLAogICAgICAgbUxhc3RJbmRleEJ1ZmZlck9mZnNldCgwKSwKICAgICAgIG1DdXJyZW50
RHJhd0VsZW1lbnRzVHlwZShnbDo6RHJhd0VsZW1lbnRzVHlwZTo6SW52YWxpZEVudW0pLAogICAg
ICAgbVhmYkJhc2VWZXJ0ZXgoMCksCkBAIC02MzksNiArNjcwLDcgQEAgQ29udGV4dFZrOjpDb250
ZXh0VmsoY29uc3QgZ2w6OlN0YXRlICZzdGF0ZSwgZ2w6OkVycm9yU2V0ICplcnJvclNldCwgUmVu
ZGVyZXJWawogICAgIGlmIChnZXRGZWF0dXJlcygpLnN1cHBvcnRzVHJhbnNmb3JtRmVlZGJhY2tF
eHRlbnNpb24uZW5hYmxlZCkKICAgICB7CiAgICAgICAgIG1OZXdHcmFwaGljc0NvbW1hbmRCdWZm
ZXJEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9UUkFOU0ZPUk1fRkVFREJBQ0tfU1RBVEUpOworICAg
ICAgICBtTmV3R3JhcGhpY3NDb21tYW5kQnVmZmVyRGlydHlCaXRzLnNldChESVJUWV9CSVRfVFJB
TlNGT1JNX0ZFRURCQUNLX1JFU1VNRSk7CiAgICAgfQogICAgIG1OZXdHcmFwaGljc0NvbW1hbmRC
dWZmZXJEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMpOwogICAgIG1OZXdH
cmFwaGljc0NvbW1hbmRCdWZmZXJEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9EUklWRVJfVU5JRk9S
TVNfQklORElORyk7CkBAIC02NDksNiArNjgxLDEyIEBAIENvbnRleHRWazo6Q29udGV4dFZrKGNv
bnN0IGdsOjpTdGF0ZSAmc3RhdGUsIGdsOjpFcnJvclNldCAqZXJyb3JTZXQsIFJlbmRlcmVyVmsK
ICAgICBtTmV3Q29tcHV0ZUNvbW1hbmRCdWZmZXJEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9ERVND
UklQVE9SX1NFVFMpOwogICAgIG1OZXdDb21wdXRlQ29tbWFuZEJ1ZmZlckRpcnR5Qml0cy5zZXQo
RElSVFlfQklUX0RSSVZFUl9VTklGT1JNU19CSU5ESU5HKTsKIAorICAgIG1OZXdHcmFwaGljc1Bp
cGVsaW5lRGlydHlCaXRzLnNldChESVJUWV9CSVRfUElQRUxJTkUpOworICAgIGlmIChnZXRGZWF0
dXJlcygpLnN1cHBvcnRzVHJhbnNmb3JtRmVlZGJhY2tFeHRlbnNpb24uZW5hYmxlZCkKKyAgICB7
CisgICAgICAgIG1OZXdHcmFwaGljc1BpcGVsaW5lRGlydHlCaXRzLnNldChESVJUWV9CSVRfVFJB
TlNGT1JNX0ZFRURCQUNLX1JFU1VNRSk7CisgICAgfQorCiAgICAgbUdyYXBoaWNzRGlydHlCaXRI
YW5kbGVyc1tESVJUWV9CSVRfREVGQVVMVF9BVFRSSUJTXSA9CiAgICAgICAgICZDb250ZXh0Vms6
OmhhbmRsZURpcnR5R3JhcGhpY3NEZWZhdWx0QXR0cmliczsKICAgICBtR3JhcGhpY3NEaXJ0eUJp
dEhhbmRsZXJzW0RJUlRZX0JJVF9QSVBFTElORV0gPSAmQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdy
YXBoaWNzUGlwZWxpbmU7CkBAIC02NjgsNiArNzA2LDggQEAgQ29udGV4dFZrOjpDb250ZXh0Vmso
Y29uc3QgZ2w6OlN0YXRlICZzdGF0ZSwgZ2w6OkVycm9yU2V0ICplcnJvclNldCwgUmVuZGVyZXJW
awogICAgICAgICAgICAgJkNvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1RyYW5zZm9ybUZl
ZWRiYWNrQnVmZmVyc0V4dGVuc2lvbjsKICAgICAgICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVy
c1tESVJUWV9CSVRfVFJBTlNGT1JNX0ZFRURCQUNLX1NUQVRFXSA9CiAgICAgICAgICAgICAmQ29u
dGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzVHJhbnNmb3JtRmVlZGJhY2tTdGF0ZTsKKyAgICAg
ICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVyc1tESVJUWV9CSVRfVFJBTlNGT1JNX0ZFRURCQUNL
X1JFU1VNRV0gPQorICAgICAgICAgICAgJkNvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1Ry
YW5zZm9ybUZlZWRiYWNrUmVzdW1lOwogICAgIH0KICAgICBlbHNlIGlmIChnZXRGZWF0dXJlcygp
LmVtdWxhdGVUcmFuc2Zvcm1GZWVkYmFjay5lbmFibGVkKQogICAgIHsKQEAgLTcxMSwxNCArNzUx
LDE0IEBAIHZvaWQgQ29udGV4dFZrOjpvbkRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQpCiAKICAgICBmb3IgKERyaXZlclVuaWZvcm1zRGVzY3JpcHRvclNldCAmZHJpdmVyVW5pZm9y
bXMgOiBtRHJpdmVyVW5pZm9ybXMpCiAgICAgewotICAgICAgICBkcml2ZXJVbmlmb3Jtcy5kZXN0
cm95KGRldmljZSk7CisgICAgICAgIGRyaXZlclVuaWZvcm1zLmRlc3Ryb3kobVJlbmRlcmVyKTsK
ICAgICB9CiAKICAgICBtRHJpdmVyVW5pZm9ybXNEZXNjcmlwdG9yUG9vbC5kZXN0cm95KGRldmlj
ZSk7CiAKICAgICBmb3IgKHZrOjpEeW5hbWljQnVmZmVyICZkZWZhdWx0QnVmZmVyIDogbURlZmF1
bHRBdHRyaWJCdWZmZXJzKQogICAgIHsKLSAgICAgICAgZGVmYXVsdEJ1ZmZlci5kZXN0cm95KGRl
dmljZSk7CisgICAgICAgIGRlZmF1bHRCdWZmZXIuZGVzdHJveShtUmVuZGVyZXIpOwogICAgIH0K
IAogICAgIGZvciAodms6OkR5bmFtaWNRdWVyeVBvb2wgJnF1ZXJ5UG9vbCA6IG1RdWVyeVBvb2xz
KQpAQCAtODE4LDggKzg1OCwxMyBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aW5pdGlhbGl6
ZSgpCiAKICAgICAvLyBQdXNoIGEgc2NvcGUgaW4gdGhlIHBvb2wgYWxsb2NhdG9yIHNvIHdlIGNh
biBlYXNpbHkgcmVpbml0aWFsaXplIG9uIGZsdXNoLgogICAgIG1Qb29sQWxsb2NhdG9yLnB1c2go
KTsKLSAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy5nZXRDb21tYW5kQnVmZmVyKCkuaW5p
dGlhbGl6ZSgmbVBvb2xBbGxvY2F0b3IpOwotICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuaW5pdGlh
bGl6ZSgmbVBvb2xBbGxvY2F0b3IpOworICAgIG1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzID0g
Jm1Db21tYW5kQnVmZmVyc1swXTsKKyAgICBtUmVuZGVyUGFzc0NvbW1hbmRzICAgICAgICA9ICZt
Q29tbWFuZEJ1ZmZlcnNbMV07CisKKyAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+aW5p
dGlhbGl6ZSgKKyAgICAgICAgJm1Qb29sQWxsb2NhdG9yLCBmYWxzZSwgbVJlbmRlcmVyLT5nZXRG
ZWF0dXJlcygpLnByZWZlckFnZ3JlZ2F0ZUJhcnJpZXJDYWxscy5lbmFibGVkKTsKKyAgICBtUmVu
ZGVyUGFzc0NvbW1hbmRzLT5pbml0aWFsaXplKCZtUG9vbEFsbG9jYXRvciwgdHJ1ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1SZW5kZXJlci0+Z2V0RmVhdHVyZXMoKS5w
cmVmZXJBZ2dyZWdhdGVCYXJyaWVyQ2FsbHMuZW5hYmxlZCk7CiAgICAgQU5HTEVfVFJZKHN0YXJ0
UHJpbWFyeUNvbW1hbmRCdWZmZXIoKSk7CiAKICAgICBpZiAobUdwdUV2ZW50c0VuYWJsZWQpCkBA
IC04MzQsNyArODc5LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmluaXRpYWxpemUoKQog
ICAgICAgICBtUHJpbWFyeUJ1ZmZlckNvdW50ZXIrKzsKIAogICAgICAgICBFdmVudE5hbWUgZXZl
bnROYW1lID0gR2V0VHJhY2VFdmVudE5hbWUoIlByaW1hcnkiLCBtUHJpbWFyeUJ1ZmZlckNvdW50
ZXIpOwotICAgICAgICBBTkdMRV9UUlkodHJhY2VHcHVFdmVudCgmbVByaW1hcnlDb21tYW5kcywg
VFJBQ0VfRVZFTlRfUEhBU0VfQkVHSU4sIGV2ZW50TmFtZSkpOworICAgICAgICBBTkdMRV9UUlko
dHJhY2VHcHVFdmVudCgmbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMtPmdldENvbW1hbmRCdWZm
ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBQ0VfRVZFTlRfUEhBU0Vf
QkVHSU4sIGV2ZW50TmFtZSkpOwogICAgIH0KIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKQEAgLTg5OSwxMSArOTQ1LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnNl
dHVwRHJhdyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAvLyBUT0RPKGptYWRpbGwp
OiBVc2UgZGlydHkgYml0LiBodHRwOi8vYW5nbGVidWcuY29tLzMwMTQKICAgICBpZiAoIW1SZW5k
ZXJQYXNzQ29tbWFuZEJ1ZmZlcikKICAgICB7Ci0gICAgICAgIG1HcmFwaGljc0RpcnR5Qml0cyB8
PSBtTmV3R3JhcGhpY3NDb21tYW5kQnVmZmVyRGlydHlCaXRzOwotCiAgICAgICAgIGdsOjpSZWN0
YW5nbGUgc2Npc3NvcmVkUmVuZGVyQXJlYSA9IG1EcmF3RnJhbWVidWZmZXItPmdldFNjaXNzb3Jl
ZFJlbmRlckFyZWEodGhpcyk7Ci0gICAgICAgIEFOR0xFX1RSWShtRHJhd0ZyYW1lYnVmZmVyLT5z
dGFydE5ld1JlbmRlclBhc3ModGhpcywgc2Npc3NvcmVkUmVuZGVyQXJlYSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbVJlbmRlclBhc3ND
b21tYW5kQnVmZmVyKSk7CisgICAgICAgIEFOR0xFX1RSWShzdGFydFJlbmRlclBhc3Moc2Npc3Nv
cmVkUmVuZGVyQXJlYSwgbnVsbHB0cikpOwogICAgIH0KIAogICAgIC8vIFdlIGtlZXAgYSBsb2Nh
bCBjb3B5IG9mIHRoZSBjb21tYW5kIGJ1ZmZlci4gSXQncyBwb3NzaWJsZSB0aGF0IHNvbWUgc3Rh
dGUgY2hhbmdlcyBjb3VsZApAQCAtOTEzLDExICs5NTYsMTYgQEAgYW5nbGU6OlJlc3VsdCBDb250
ZXh0Vms6OnNldHVwRHJhdyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAqY29tbWFu
ZEJ1ZmZlck91dCA9IG1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsKICAgICBBU1NFUlQoKmNvbW1h
bmRCdWZmZXJPdXQpOwogCi0gICAgaWYgKG1Qcm9ncmFtLT5kaXJ0eVVuaWZvcm1zKCkpCisgICAg
aWYgKG1Qcm9ncmFtICYmIG1Qcm9ncmFtLT5kaXJ0eVVuaWZvcm1zKCkpCiAgICAgewogICAgICAg
ICBBTkdMRV9UUlkobVByb2dyYW0tPnVwZGF0ZVVuaWZvcm1zKHRoaXMpKTsKICAgICAgICAgbUdy
YXBoaWNzRGlydHlCaXRzLnNldChESVJUWV9CSVRfREVTQ1JJUFRPUl9TRVRTKTsKICAgICB9Cisg
ICAgZWxzZSBpZiAobVByb2dyYW1QaXBlbGluZSAmJiBtUHJvZ3JhbVBpcGVsaW5lLT5kaXJ0eVVu
aWZvcm1zKGdldFN0YXRlKCkpKQorICAgIHsKKyAgICAgICAgQU5HTEVfVFJZKG1Qcm9ncmFtUGlw
ZWxpbmUtPnVwZGF0ZVVuaWZvcm1zKHRoaXMpKTsKKyAgICAgICAgbUdyYXBoaWNzRGlydHlCaXRz
LnNldChESVJUWV9CSVRfREVTQ1JJUFRPUl9TRVRTKTsKKyAgICB9CiAKICAgICAvLyBVcGRhdGUg
dHJhbnNmb3JtIGZlZWRiYWNrIG9mZnNldHMgb24gZXZlcnkgZHJhdyBjYWxsLgogICAgIGlmICht
U3RhdGUuaXNUcmFuc2Zvcm1GZWVkYmFja0FjdGl2ZVVucGF1c2VkKCkpCkBAIC05ODksNyArMTAz
Nyw3IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpzZXR1cEluZGV4ZWREcmF3KGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBieXRlQ291
bnQgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGVsZW1lbnRBcnJheUJ1ZmZlci0+Z2V0U2l6ZSgpKSAt
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihpbmRpY2VzKTsKICAgICAgICAgICAgICAgICBBTkdMRV9UUlkobVZlcnRl
eEFycmF5LT5jb252ZXJ0SW5kZXhCdWZmZXJDUFUodGhpcywgaW5kZXhUeXBlLCBieXRlQ291bnQs
IHNyYykpOwotICAgICAgICAgICAgICAgIGJ1ZmZlclZrLT51bm1hcEltcGwodGhpcyk7CisgICAg
ICAgICAgICAgICAgQU5HTEVfVFJZKGJ1ZmZlclZrLT51bm1hcEltcGwodGhpcykpOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewpAQCAtMTAxMyw4ICsxMDYx
LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnNldHVwSW5kaXJlY3REcmF3KGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgIEdMc2l6ZWkgdmVydGV4Q291bnQgICA9IDA7CiAgICAg
R0xzaXplaSBpbnN0YW5jZUNvdW50ID0gMTsKIAotICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuYnVm
ZmVyUmVhZCgmbVJlc291cmNlVXNlTGlzdCwgVktfQUNDRVNTX0lORElSRUNUX0NPTU1BTkRfUkVB
RF9CSVQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGlyZWN0QnVmZmVy
KTsKKyAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLT5idWZmZXJSZWFkKCZtUmVzb3VyY2VVc2VMaXN0
LCBWS19BQ0NFU1NfSU5ESVJFQ1RfQ09NTUFORF9SRUFEX0JJVCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZrOjpQaXBlbGluZVN0YWdlOjpEcmF3SW5kaXJlY3QsIGluZGly
ZWN0QnVmZmVyKTsKIAogICAgIEFOR0xFX1RSWShzZXR1cERyYXcoY29udGV4dCwgbW9kZSwgZmly
c3RWZXJ0ZXgsIHZlcnRleENvdW50LCBpbnN0YW5jZUNvdW50LAogICAgICAgICAgICAgICAgICAg
ICAgICAgZ2w6OkRyYXdFbGVtZW50c1R5cGU6OkludmFsaWRFbnVtLCBudWxscHRyLCBkaXJ0eUJp
dE1hc2ssCkBAIC0xMTI2LDE1ICsxMTc0LDIwIEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpz
ZXR1cERpc3BhdGNoKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIC8vIHxzZXR1cERp
c3BhdGNofCBhbmQgfHNldHVwRHJhd3wgYXJlIHNwZWNpYWwgaW4gdGhhdCB0aGV5IGZsdXNoIGRp
cnR5IGJpdHMuIFRoZXJlZm9yZSB0aGV5CiAgICAgLy8gZG9uJ3QgdXNlIHRoZSBzYW1lIEFQSXMg
dG8gcmVjb3JkIGNvbW1hbmRzIGFzIHRoZSBmdW5jdGlvbnMgb3V0c2lkZSBDb250ZXh0VmsuCiAg
ICAgLy8gVGhlIGZvbGxvd2luZyBlbnN1cmVzIHByaW9yIGNvbW1hbmRzIGFyZSBmbHVzaGVkIGJl
Zm9yZSB3ZSBzdGFydCBwcm9jZXNzaW5nIGRpcnR5IGJpdHMuCi0gICAgZmx1c2hPdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzKCk7CisgICAgQU5HTEVfVFJZKGZsdXNoT3V0c2lkZVJlbmRlclBhc3ND
b21tYW5kcygpKTsKICAgICBBTkdMRV9UUlkoZW5kUmVuZGVyUGFzcygpKTsKLSAgICAqY29tbWFu
ZEJ1ZmZlck91dCA9ICZtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy5nZXRDb21tYW5kQnVmZmVy
KCk7CisgICAgKmNvbW1hbmRCdWZmZXJPdXQgPSAmbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMt
PmdldENvbW1hbmRCdWZmZXIoKTsKIAotICAgIGlmIChtUHJvZ3JhbS0+ZGlydHlVbmlmb3Jtcygp
KQorICAgIGlmIChtUHJvZ3JhbSAmJiBtUHJvZ3JhbS0+ZGlydHlVbmlmb3JtcygpKQogICAgIHsK
ICAgICAgICAgQU5HTEVfVFJZKG1Qcm9ncmFtLT51cGRhdGVVbmlmb3Jtcyh0aGlzKSk7CiAgICAg
ICAgIG1Db21wdXRlRGlydHlCaXRzLnNldChESVJUWV9CSVRfREVTQ1JJUFRPUl9TRVRTKTsKICAg
ICB9CisgICAgZWxzZSBpZiAobVByb2dyYW1QaXBlbGluZSAmJiBtUHJvZ3JhbVBpcGVsaW5lLT5k
aXJ0eVVuaWZvcm1zKGdldFN0YXRlKCkpKQorICAgIHsKKyAgICAgICAgQU5HTEVfVFJZKG1Qcm9n
cmFtUGlwZWxpbmUtPnVwZGF0ZVVuaWZvcm1zKHRoaXMpKTsKKyAgICAgICAgbUNvbXB1dGVEaXJ0
eUJpdHMuc2V0KERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMpOworICAgIH0KIAogICAgIERpcnR5
Qml0cyBkaXJ0eUJpdHMgPSBtQ29tcHV0ZURpcnR5Qml0czsKIApAQCAtMTE2NywxMiArMTIyMCwx
NSBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc0RlZmF1bHRB
dHRyaWJzKGNvbnN0IGdsOjpDb250ZXh0ICpjbwogYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6Omhh
bmRsZURpcnR5R3JhcGhpY3NQaXBlbGluZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNv
bW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpCiB7CisgICAgQVNTRVJUKG1FeGVjdXRhYmxlKTsK
KyAgICBtRXhlY3V0YWJsZS0+dXBkYXRlRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uKHRo
aXMpOworCiAgICAgaWYgKCFtQ3VycmVudEdyYXBoaWNzUGlwZWxpbmUpCiAgICAgewogICAgICAg
ICBjb25zdCB2azo6R3JhcGhpY3NQaXBlbGluZURlc2MgKmRlc2NQdHI7CiAKICAgICAgICAgLy8g
RHJhdyBjYWxsIHNoYWRlciBwYXRjaGluZywgc2hhZGVyIGNvbXBpbGF0aW9uLCBhbmQgcGlwZWxp
bmUgY2FjaGUgcXVlcnkuCi0gICAgICAgIEFOR0xFX1RSWShtUHJvZ3JhbS0+Z2V0R3JhcGhpY3NQ
aXBlbGluZSgKKyAgICAgICAgQU5HTEVfVFJZKG1FeGVjdXRhYmxlLT5nZXRHcmFwaGljc1BpcGVs
aW5lKAogICAgICAgICAgICAgdGhpcywgbUN1cnJlbnREcmF3TW9kZSwgKm1HcmFwaGljc1BpcGVs
aW5lRGVzYywKICAgICAgICAgICAgIGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbUV4ZWN1
dGFibGUoKS0+Z2V0Tm9uQnVpbHRpbkF0dHJpYkxvY2F0aW9uc01hc2soKSwKICAgICAgICAgICAg
ICZkZXNjUHRyLCAmbUN1cnJlbnRHcmFwaGljc1BpcGVsaW5lKSk7CkBAIC0xMTg0LDEwICsxMjQw
LDkgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NQaXBlbGlu
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICBtR3JhcGhpY3NQ
aXBlbGluZVRyYW5zaXRpb24sICptR3JhcGhpY3NQaXBlbGluZURlc2MsICZtQ3VycmVudEdyYXBo
aWNzUGlwZWxpbmUpKQogICAgICAgICB7CiAgICAgICAgICAgICB2azo6UGlwZWxpbmVIZWxwZXIg
Km9sZFBpcGVsaW5lID0gbUN1cnJlbnRHcmFwaGljc1BpcGVsaW5lOwotCiAgICAgICAgICAgICBj
b25zdCB2azo6R3JhcGhpY3NQaXBlbGluZURlc2MgKmRlc2NQdHI7CiAKLSAgICAgICAgICAgIEFO
R0xFX1RSWShtUHJvZ3JhbS0+Z2V0R3JhcGhpY3NQaXBlbGluZSgKKyAgICAgICAgICAgIEFOR0xF
X1RSWShtRXhlY3V0YWJsZS0+Z2V0R3JhcGhpY3NQaXBlbGluZSgKICAgICAgICAgICAgICAgICB0
aGlzLCBtQ3VycmVudERyYXdNb2RlLCAqbUdyYXBoaWNzUGlwZWxpbmVEZXNjLAogICAgICAgICAg
ICAgICAgIGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKS0+Z2V0Tm9u
QnVpbHRpbkF0dHJpYkxvY2F0aW9uc01hc2soKSwKICAgICAgICAgICAgICAgICAmZGVzY1B0ciwg
Jm1DdXJyZW50R3JhcGhpY3NQaXBlbGluZSkpOwpAQCAtMTE5OCw2ICsxMjUzLDcgQEAgYW5nbGU6
OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NQaXBlbGluZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKIAogICAgICAgICBtR3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24u
cmVzZXQoKTsKICAgICB9CisgICAgbVJlbmRlclBhc3NDb21tYW5kcy0+cGF1c2VUcmFuc2Zvcm1G
ZWVkYmFja0lmU3RhcnRlZCgpOwogICAgIGNvbW1hbmRCdWZmZXItPmJpbmRHcmFwaGljc1BpcGVs
aW5lKG1DdXJyZW50R3JhcGhpY3NQaXBlbGluZS0+Z2V0UGlwZWxpbmUoKSk7CiAgICAgLy8gVXBk
YXRlIHRoZSBxdWV1ZSBzZXJpYWwgZm9yIHRoZSBwaXBlbGluZSBvYmplY3QuCiAgICAgQVNTRVJU
KG1DdXJyZW50R3JhcGhpY3NQaXBlbGluZSAmJiBtQ3VycmVudEdyYXBoaWNzUGlwZWxpbmUtPnZh
bGlkKCkpOwpAQCAtMTIxMCw3ICsxMjY2LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6Omhh
bmRsZURpcnR5Q29tcHV0ZVBpcGVsaW5lKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogewog
ICAgIGlmICghbUN1cnJlbnRDb21wdXRlUGlwZWxpbmUpCiAgICAgewotICAgICAgICBBTkdMRV9U
UlkobVByb2dyYW0tPmdldENvbXB1dGVQaXBlbGluZSh0aGlzLCAmbUN1cnJlbnRDb21wdXRlUGlw
ZWxpbmUpKTsKKyAgICAgICAgQVNTRVJUKG1FeGVjdXRhYmxlKTsKKyAgICAgICAgQU5HTEVfVFJZ
KG1FeGVjdXRhYmxlLT5nZXRDb21wdXRlUGlwZWxpbmUodGhpcywgJm1DdXJyZW50Q29tcHV0ZVBp
cGVsaW5lKSk7CiAgICAgfQogCiAgICAgY29tbWFuZEJ1ZmZlci0+YmluZENvbXB1dGVQaXBlbGlu
ZShtQ3VycmVudENvbXB1dGVQaXBlbGluZS0+Z2V0KCkpOwpAQCAtMTIyMCw5ICsxMjc3LDcgQEAg
YW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5Q29tcHV0ZVBpcGVsaW5lKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogfQogCiBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBD
b250ZXh0Vms6OmhhbmRsZURpcnR5VGV4dHVyZXNJbXBsKAotICAgIGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAotICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyLAotICAgIENv
bW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIpCisgICAgdms6OkNvbW1hbmRC
dWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIpCiB7CiAgICAgY29uc3QgZ2w6OlByb2dy
YW1FeGVjdXRhYmxlICpleGVjdXRhYmxlID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7
CiAgICAgQVNTRVJUKGV4ZWN1dGFibGUpOwpAQCAtMTI0MSwzNSArMTI5Niw0NiBAQCBBTkdMRV9J
TkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5VGV4dHVyZXNJbXBsKAog
ICAgICAgICAvLyBTZWxlY3QgdGhlIGFwcHJvcHJpYXRlIHZrOjpJbWFnZUxheW91dCBkZXBlbmRp
bmcgb24gd2hldGhlciB0aGUgdGV4dHVyZSBpcyBhbHNvIGJvdW5kIGFzCiAgICAgICAgIC8vIGEg
R0wgaW1hZ2UsIGFuZCB3aGV0aGVyIHRoZSBwcm9ncmFtIGlzIGEgY29tcHV0ZSBvciBncmFwaGlj
cyBzaGFkZXIuCiAgICAgICAgIHZrOjpJbWFnZUxheW91dCB0ZXh0dXJlTGF5b3V0OwotICAgICAg
ICBpZiAodGV4dHVyZVZrLT5pc0JvdW5kQXNJbWFnZVRleHR1cmUoKSkKKyAgICAgICAgaWYgKHRl
eHR1cmVWay0+aXNCb3VuZEFzSW1hZ2VUZXh0dXJlKG1TdGF0ZS5nZXRDb250ZXh0SUQoKSkpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIHRleHR1cmVMYXlvdXQgPSBleGVjdXRhYmxlLT5pc0NvbXB1
dGUoKSA/IHZrOjpJbWFnZUxheW91dDo6Q29tcHV0ZVNoYWRlcldyaXRlCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB2azo6SW1hZ2VMYXlvdXQ6
OkFsbEdyYXBoaWNzU2hhZGVyc1dyaXRlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogdms6OkltYWdlTGF5b3V0OjpBbGxHcmFwaGljc1NoYWRl
cnNSZWFkV3JpdGU7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7Ci0gICAgICAg
ICAgICB0ZXh0dXJlTGF5b3V0ID0gZXhlY3V0YWJsZS0+aXNDb21wdXRlKCkgPyB2azo6SW1hZ2VM
YXlvdXQ6OkNvbXB1dGVTaGFkZXJSZWFkT25seQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogdms6OkltYWdlTGF5b3V0OjpBbGxHcmFwaGljc1No
YWRlcnNSZWFkT25seTsKKyAgICAgICAgICAgIGdsOjpTaGFkZXJCaXRTZXQgc2hhZGVyQml0cyA9
CisgICAgICAgICAgICAgICAgZXhlY3V0YWJsZS0+Z2V0U2FtcGxlclNoYWRlckJpdHNGb3JUZXh0
dXJlVW5pdEluZGV4KHRleHR1cmVVbml0KTsKKyAgICAgICAgICAgIGlmIChzaGFkZXJCaXRzLmFu
eSgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGdsOjpTaGFkZXJUeXBlIHNoYWRl
ciA9CisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGdsOjpTaGFkZXJUeXBlPihnbDo6
U2NhbkZvcndhcmQoc2hhZGVyQml0cy5iaXRzKCkpKTsKKyAgICAgICAgICAgICAgICBzaGFkZXJC
aXRzLnJlc2V0KHNoYWRlcik7CisgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBtdWx0aXBs
ZSBzaGFkZXIgYWNjZXNzaW5nIGl0LCB3ZSBiYXJyaWVyIGFnYWluc3QgYWxsIHNoYWRlciBzdGFn
ZSByZWFkCisgICAgICAgICAgICAgICAgLy8gZ2l2ZW4gdGhhdCB3ZSBvbmx5IHN1cHBvcnQgdmVy
dGV4L2ZyYWcgc2hhZGVycworICAgICAgICAgICAgICAgIGlmIChzaGFkZXJCaXRzLmFueSgpKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dHVyZUxheW91dCA9IHZr
OjpJbWFnZUxheW91dDo6QWxsR3JhcGhpY3NTaGFkZXJzUmVhZE9ubHk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIHRleHR1cmVMYXlvdXQgPSBrU2hhZGVyUmVhZE9ubHlJbWFnZUxheW91dHNbc2hh
ZGVyXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGV4dHVyZUxheW91dCA9IHZrOjpJbWFn
ZUxheW91dDo6QWxsR3JhcGhpY3NTaGFkZXJzUmVhZE9ubHk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KKyAgICAgICAgLy8gRW5zdXJlIHRoZSBpbWFnZSBpcyBpbiByZWFkLW9ubHkgbGF5b3V0
CiAgICAgICAgIGNvbW1hbmRCdWZmZXJIZWxwZXItPmltYWdlUmVhZCgmbVJlc291cmNlVXNlTGlz
dCwgaW1hZ2UuZ2V0QXNwZWN0RmxhZ3MoKSwgdGV4dHVyZUxheW91dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZpbWFnZSk7CiAKICAgICAgICAgdGV4dHVyZVZrLT5y
ZXRhaW5JbWFnZVZpZXdzKCZtUmVzb3VyY2VVc2VMaXN0KTsKLQotICAgICAgICBpZiAodW5pdC5z
YW1wbGVyKQotICAgICAgICB7Ci0gICAgICAgICAgICB1bml0LnNhbXBsZXItPnJldGFpbigmbVJl
c291cmNlVXNlTGlzdCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICB7Ci0gICAg
ICAgICAgICB0ZXh0dXJlVmstPnJldGFpblNhbXBsZXIoJm1SZXNvdXJjZVVzZUxpc3QpOwotICAg
ICAgICB9CiAgICAgfQogCi0gICAgaWYgKGV4ZWN1dGFibGUtPmhhc1RleHR1cmVzKG1TdGF0ZSkp
CisgICAgaWYgKGV4ZWN1dGFibGUtPmhhc1RleHR1cmVzKCkpCiAgICAgewotICAgICAgICBBTkdM
RV9UUlkoCi0gICAgICAgICAgICBtUHJvZ3JhbS0+Z2V0RXhlY3V0YWJsZSgpLnVwZGF0ZVRleHR1
cmVzRGVzY3JpcHRvclNldChtUHJvZ3JhbS0+Z2V0U3RhdGUoKSwgdGhpcykpOworICAgICAgICBB
TkdMRV9UUlkobUV4ZWN1dGFibGUtPnVwZGF0ZVRleHR1cmVzRGVzY3JpcHRvclNldCh0aGlzKSk7
CiAgICAgfQogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTI3OCwx
MyArMTM0NCwxMyBAQCBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRs
ZURpcnR5VGV4dHVyZXNJbXBsKAogYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5
R3JhcGhpY3NUZXh0dXJlcyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZm
ZXIgKmNvbW1hbmRCdWZmZXIpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZURpcnR5VGV4dHVyZXNJbXBs
KGNvbnRleHQsIGNvbW1hbmRCdWZmZXIsICZtUmVuZGVyUGFzc0NvbW1hbmRzKTsKKyAgICByZXR1
cm4gaGFuZGxlRGlydHlUZXh0dXJlc0ltcGwobVJlbmRlclBhc3NDb21tYW5kcyk7CiB9CiAKIGFu
Z2xlOjpSZXN1bHQgQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUNvbXB1dGVUZXh0dXJlcyhjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcikKIHsKLSAg
ICByZXR1cm4gaGFuZGxlRGlydHlUZXh0dXJlc0ltcGwoY29udGV4dCwgY29tbWFuZEJ1ZmZlciwg
Jm1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzKTsKKyAgICByZXR1cm4gaGFuZGxlRGlydHlUZXh0
dXJlc0ltcGwobU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMpOwogfQogCiBhbmdsZTo6UmVzdWx0
IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1ZlcnRleEJ1ZmZlcnMoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsCkBAIC0xMzA4LDggKzEzNzQsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRl
eHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1ZlcnRleEJ1ZmZlcnMoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbgogICAgICAgICB2azo6QnVmZmVySGVscGVyICphcnJheUJ1ZmZlciA9IGFycmF5QnVmZmVy
UmVzb3VyY2VzW2F0dHJpYkluZGV4XTsKICAgICAgICAgaWYgKGFycmF5QnVmZmVyKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLmJ1ZmZlclJlYWQoJm1SZXNvdXJj
ZVVzZUxpc3QsIFZLX0FDQ0VTU19WRVJURVhfQVRUUklCVVRFX1JFQURfQklULAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5QnVmZmVyKTsKKyAgICAgICAg
ICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMtPmJ1ZmZlclJlYWQoJm1SZXNvdXJjZVVzZUxpc3QsIFZL
X0FDQ0VTU19WRVJURVhfQVRUUklCVVRFX1JFQURfQklULAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2azo6UGlwZWxpbmVTdGFnZTo6VmVydGV4SW5wdXQsIGFy
cmF5QnVmZmVyKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTMyNiwyOSArMTM5MiwyOSBAQCBh
bmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc0luZGV4QnVmZmVyKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtVmVydGV4QXJyYXktPmdldEN1cnJlbnRFbGVtZW50QXJyYXlCdWZmZXJPZmZzZXQoKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VmtJbmRleFR5cGUobUN1cnJlbnRE
cmF3RWxlbWVudHNUeXBlKSk7CiAKLSAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLmJ1ZmZlclJlYWQo
Jm1SZXNvdXJjZVVzZUxpc3QsIFZLX0FDQ0VTU19JTkRFWF9SRUFEX0JJVCwgZWxlbWVudEFycmF5
QnVmZmVyKTsKKyAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLT5idWZmZXJSZWFkKCZtUmVzb3VyY2VV
c2VMaXN0LCBWS19BQ0NFU1NfSU5ERVhfUkVBRF9CSVQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2azo6UGlwZWxpbmVTdGFnZTo6VmVydGV4SW5wdXQsIGVsZW1lbnRBcnJh
eUJ1ZmZlcik7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIEFO
R0xFX0lOTElORSBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlTaGFkZXJSZXNv
dXJjZXNJbXBsKAogICAgIGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgIHZrOjpDb21t
YW5kQnVmZmVyICpjb21tYW5kQnVmZmVyLAotICAgIENvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1h
bmRCdWZmZXJIZWxwZXIpCisgICAgdms6OkNvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZm
ZXJIZWxwZXIpCiB7CiAgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICpleGVjdXRhYmxl
ID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7CiAgICAgQVNTRVJUKGV4ZWN1dGFibGUp
OwogCi0gICAgaWYgKGV4ZWN1dGFibGUtPmhhc0ltYWdlcyhtU3RhdGUpKQorICAgIGlmIChleGVj
dXRhYmxlLT5oYXNJbWFnZXMoKSkKICAgICB7CiAgICAgICAgIEFOR0xFX1RSWSh1cGRhdGVBY3Rp
dmVJbWFnZXMoY29udGV4dCwgY29tbWFuZEJ1ZmZlckhlbHBlcikpOwogICAgIH0KIAotICAgIGlm
IChleGVjdXRhYmxlLT5oYXNVbmlmb3JtQnVmZmVycyhtU3RhdGUpIHx8IGV4ZWN1dGFibGUtPmhh
c1N0b3JhZ2VCdWZmZXJzKG1TdGF0ZSkgfHwKLSAgICAgICAgZXhlY3V0YWJsZS0+aGFzQXRvbWlj
Q291bnRlckJ1ZmZlcnMobVN0YXRlKSB8fCBleGVjdXRhYmxlLT5oYXNJbWFnZXMobVN0YXRlKSkK
KyAgICBpZiAoZXhlY3V0YWJsZS0+aGFzVW5pZm9ybUJ1ZmZlcnMoKSB8fCBleGVjdXRhYmxlLT5o
YXNTdG9yYWdlQnVmZmVycygpIHx8CisgICAgICAgIGV4ZWN1dGFibGUtPmhhc0F0b21pY0NvdW50
ZXJCdWZmZXJzKCkgfHwgZXhlY3V0YWJsZS0+aGFzSW1hZ2VzKCkpCiAgICAgewotICAgICAgICBB
TkdMRV9UUlkobVByb2dyYW0tPmdldEV4ZWN1dGFibGUoKS51cGRhdGVTaGFkZXJSZXNvdXJjZXNE
ZXNjcmlwdG9yU2V0KAotICAgICAgICAgICAgbVByb2dyYW0tPmdldFN0YXRlKCksIHRoaXMsICZt
UmVzb3VyY2VVc2VMaXN0LCBjb21tYW5kQnVmZmVySGVscGVyKSk7CisgICAgICAgIEFOR0xFX1RS
WShtRXhlY3V0YWJsZS0+dXBkYXRlU2hhZGVyUmVzb3VyY2VzRGVzY3JpcHRvclNldCh0aGlzLCAm
bVJlc291cmNlVXNlTGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRCdWZmZXJIZWxwZXIpKTsKICAgICB9
CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMTM1NiwxMyArMTQy
MiwxMyBAQCBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5
U2hhZGVyUmVzb3VyY2VzSW1wbCgKIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpoYW5kbGVEaXJ0
eUdyYXBoaWNzU2hhZGVyUmVzb3VyY2VzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dms6OkNvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZURp
cnR5U2hhZGVyUmVzb3VyY2VzSW1wbChjb250ZXh0LCBjb21tYW5kQnVmZmVyLCAmbVJlbmRlclBh
c3NDb21tYW5kcyk7CisgICAgcmV0dXJuIGhhbmRsZURpcnR5U2hhZGVyUmVzb3VyY2VzSW1wbChj
b250ZXh0LCBtUmVuZGVyUGFzc0NvbW1hbmRzKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBDb250ZXh0
Vms6OmhhbmRsZURpcnR5Q29tcHV0ZVNoYWRlclJlc291cmNlcyhjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpCiB7Ci0gICAgcmV0
dXJuIGhhbmRsZURpcnR5U2hhZGVyUmVzb3VyY2VzSW1wbChjb250ZXh0LCBjb21tYW5kQnVmZmVy
LCAmbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMpOworICAgIHJldHVybiBoYW5kbGVEaXJ0eVNo
YWRlclJlc291cmNlc0ltcGwoY29udGV4dCwgbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMpOwog
fQogCiBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1RyYW5zZm9y
bUZlZWRiYWNrQnVmZmVyc0VtdWxhdGlvbigKQEAgLTEzNzIsMjggKzE0MzgsMjcgQEAgYW5nbGU6
OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NUcmFuc2Zvcm1GZWVkYmFja0J1
ZmZlcnNFbXVsYXRpb24oCiAgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICpleGVjdXRh
YmxlID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7CiAgICAgQVNTRVJUKGV4ZWN1dGFi
bGUpOwogCi0gICAgaWYgKGV4ZWN1dGFibGUtPmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KG1T
dGF0ZSkgJiYgbVN0YXRlLmlzVHJhbnNmb3JtRmVlZGJhY2tBY3RpdmUoKSkKKyAgICBpZiAoIWV4
ZWN1dGFibGUtPmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KCkgfHwgIW1TdGF0ZS5pc1RyYW5z
Zm9ybUZlZWRiYWNrQWN0aXZlKCkpCiAgICAgewotICAgICAgICBzaXplX3QgYnVmZmVyQ291bnQg
PSBleGVjdXRhYmxlLT5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50KG1TdGF0ZSk7Ci0g
ICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpPZmZzZXRCaW5kaW5nUG9pbnRlcjxnbDo6QnVm
ZmVyPj4gJnhmYkJ1ZmZlcnMgPQotICAgICAgICAgICAgbVN0YXRlLmdldEN1cnJlbnRUcmFuc2Zv
cm1GZWVkYmFjaygpLT5nZXRJbmRleGVkQnVmZmVycygpOwotCi0gICAgICAgIGZvciAoc2l6ZV90
IGJ1ZmZlckluZGV4ID0gMDsgYnVmZmVySW5kZXggPCBidWZmZXJDb3VudDsgKytidWZmZXJJbmRl
eCkKLSAgICAgICAgewotICAgICAgICAgICAgY29uc3QgZ2w6Ok9mZnNldEJpbmRpbmdQb2ludGVy
PGdsOjpCdWZmZXI+ICZ4ZmJCdWZmZXIgPSB4ZmJCdWZmZXJzW2J1ZmZlckluZGV4XTsKLSAgICAg
ICAgICAgIGdsOjpCdWZmZXIgKmJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0geGZiQnVmZmVyLmdldCgpOwotICAgICAgICAgICAgQVNTRVJUKGJ1ZmZlciAhPSBudWxs
cHRyKTsKLSAgICAgICAgICAgIEJ1ZmZlclZrICpidWZmZXJWayAgICAgICAgICAgICA9IHZrOjpH
ZXRJbXBsKGJ1ZmZlcik7Ci0gICAgICAgICAgICB2azo6QnVmZmVySGVscGVyICZidWZmZXJIZWxw
ZXIgPSBidWZmZXJWay0+Z2V0QnVmZmVyKCk7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKKyAgICB9CiAKLSAgICAgICAgICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuYnVm
ZmVyV3JpdGUoCi0gICAgICAgICAgICAgICAgJm1SZXNvdXJjZVVzZUxpc3QsIFZLX0FDQ0VTU19U
UkFOU0ZPUk1fRkVFREJBQ0tfV1JJVEVfQklUX0VYVCwgJmJ1ZmZlckhlbHBlcik7Ci0gICAgICAg
IH0KKyAgICBUcmFuc2Zvcm1GZWVkYmFja1ZrICp0cmFuc2Zvcm1GZWVkYmFja1ZrID0gdms6Okdl
dEltcGwobVN0YXRlLmdldEN1cnJlbnRUcmFuc2Zvcm1GZWVkYmFjaygpKTsKKyAgICBzaXplX3Qg
YnVmZmVyQ291bnQgICAgICAgICAgICAgICAgICAgICAgID0gZXhlY3V0YWJsZS0+Z2V0VHJhbnNm
b3JtRmVlZGJhY2tCdWZmZXJDb3VudChtU3RhdGUpOworICAgIGNvbnN0IGdsOjpUcmFuc2Zvcm1G
ZWVkYmFja0J1ZmZlcnNBcnJheTx2azo6QnVmZmVySGVscGVyICo+ICZidWZmZXJIZWxwZXJzID0K
KyAgICAgICAgdHJhbnNmb3JtRmVlZGJhY2tWay0+Z2V0QnVmZmVySGVscGVycygpOwogCi0gICAg
ICAgIEFOR0xFX1RSWShtUHJvZ3JhbS0+Z2V0RXhlY3V0YWJsZSgpLnVwZGF0ZVRyYW5zZm9ybUZl
ZWRiYWNrRGVzY3JpcHRvclNldCgKLSAgICAgICAgICAgIG1Qcm9ncmFtLT5nZXRTdGF0ZSgpLCBt
UHJvZ3JhbS0+Z2V0RGVmYXVsdFVuaWZvcm1CbG9ja3MoKSwgdGhpcykpOworICAgIGZvciAoc2l6
ZV90IGJ1ZmZlckluZGV4ID0gMDsgYnVmZmVySW5kZXggPCBidWZmZXJDb3VudDsgKytidWZmZXJJ
bmRleCkKKyAgICB7CisgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlckhlbHBlciA9IGJ1
ZmZlckhlbHBlcnNbYnVmZmVySW5kZXhdOworICAgICAgICBBU1NFUlQoYnVmZmVySGVscGVyKTsK
KyAgICAgICAgbVJlbmRlclBhc3NDb21tYW5kcy0+YnVmZmVyV3JpdGUoJm1SZXNvdXJjZVVzZUxp
c3QsIFZLX0FDQ0VTU19TSEFERVJfV1JJVEVfQklULAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2azo6UGlwZWxpbmVTdGFnZTo6VmVydGV4U2hhZGVyLCBidWZmZXJI
ZWxwZXIpOwogICAgIH0KLSAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisKKyAg
ICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzU3MCk6IE5lZWQgdG8gdXBkYXRlIHRvIGhh
bmRsZSBQcm9ncmFtIFBpcGVsaW5lcworICAgIHJldHVybiBtUHJvZ3JhbS0+Z2V0RXhlY3V0YWJs
ZSgpLnVwZGF0ZVRyYW5zZm9ybUZlZWRiYWNrRGVzY3JpcHRvclNldCgKKyAgICAgICAgbVByb2dy
YW0tPmdldFN0YXRlKCksIG1Qcm9ncmFtLT5nZXREZWZhdWx0VW5pZm9ybUJsb2NrcygpLCB0aGlz
KTsKIH0KIAogYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NUcmFu
c2Zvcm1GZWVkYmFja0J1ZmZlcnNFeHRlbnNpb24oCkBAIC0xNDAzLDM4ICsxNDY4LDM0IEBAIGFu
Z2xlOjpSZXN1bHQgQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzVHJhbnNmb3JtRmVlZGJh
Y2tCdWZmZXJzRXh0ZW5zaW9uKAogICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAqZXhl
Y3V0YWJsZSA9IG1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOwogICAgIEFTU0VSVChleGVj
dXRhYmxlKTsKIAotICAgIGlmICghZXhlY3V0YWJsZS0+aGFzVHJhbnNmb3JtRmVlZGJhY2tPdXRw
dXQobVN0YXRlKSB8fCAhbVN0YXRlLmlzVHJhbnNmb3JtRmVlZGJhY2tBY3RpdmUoKSkKKyAgICBp
ZiAoIWV4ZWN1dGFibGUtPmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KCkgfHwgIW1TdGF0ZS5p
c1RyYW5zZm9ybUZlZWRiYWNrQWN0aXZlKCkpCiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKIAotICAgIHNpemVfdCBidWZmZXJJbmRleCAgICAgICAgICAgICAgICAgICAg
ICAgPSAwOwogICAgIFRyYW5zZm9ybUZlZWRiYWNrVmsgKnRyYW5zZm9ybUZlZWRiYWNrVmsgPSB2
azo6R2V0SW1wbChtU3RhdGUuZ2V0Q3VycmVudFRyYW5zZm9ybUZlZWRiYWNrKCkpOworICAgIHNp
emVfdCBidWZmZXJDb3VudCAgICAgICAgICAgICAgICAgICAgICAgPSBleGVjdXRhYmxlLT5nZXRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50KG1TdGF0ZSk7CiAKLSAgICBzaXplX3QgYnVmZmVy
Q291bnQgPSBleGVjdXRhYmxlLT5nZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50KG1TdGF0
ZSk7Ci0gICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5PFZrQnVmZmVyPiBidWZm
ZXJIYW5kbGVzOworICAgIGNvbnN0IGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTx2
azo6QnVmZmVySGVscGVyICo+ICZidWZmZXJIZWxwZXJzID0KKyAgICAgICAgdHJhbnNmb3JtRmVl
ZGJhY2tWay0+Z2V0QnVmZmVySGVscGVycygpOwogCi0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8Z2w6
Ok9mZnNldEJpbmRpbmdQb2ludGVyPGdsOjpCdWZmZXI+PiAmeGZiQnVmZmVycyA9Ci0gICAgICAg
IG1TdGF0ZS5nZXRDdXJyZW50VHJhbnNmb3JtRmVlZGJhY2soKS0+Z2V0SW5kZXhlZEJ1ZmZlcnMo
KTsKLQotICAgIGZvciAoYnVmZmVySW5kZXggPSAwOyBidWZmZXJJbmRleCA8IGJ1ZmZlckNvdW50
OyArK2J1ZmZlckluZGV4KQorICAgIGZvciAoc2l6ZV90IGJ1ZmZlckluZGV4ID0gMDsgYnVmZmVy
SW5kZXggPCBidWZmZXJDb3VudDsgKytidWZmZXJJbmRleCkKICAgICB7Ci0gICAgICAgIGNvbnN0
IGdsOjpPZmZzZXRCaW5kaW5nUG9pbnRlcjxnbDo6QnVmZmVyPiAmYnVmZmVyQmluZGluZyA9IHhm
YkJ1ZmZlcnNbYnVmZmVySW5kZXhdOwotICAgICAgICBnbDo6QnVmZmVyICpidWZmZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBidWZmZXJCaW5kaW5nLmdldCgpOwot
ICAgICAgICBBU1NFUlQoYnVmZmVyICE9IG51bGxwdHIpOwotICAgICAgICBCdWZmZXJWayAqYnVm
ZmVyVmsgPSB2azo6R2V0SW1wbChidWZmZXIpOwotCi0gICAgICAgIHZrOjpCdWZmZXJIZWxwZXIg
JmJ1ZmZlckhlbHBlciA9IGJ1ZmZlclZrLT5nZXRCdWZmZXIoKTsKLSAgICAgICAgYnVmZmVySGFu
ZGxlc1tidWZmZXJJbmRleF0gICAgID0gYnVmZmVySGVscGVyLmdldEJ1ZmZlcigpLmdldEhhbmRs
ZSgpOwotCi0gICAgICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuYnVmZmVyV3JpdGUoJm1SZXNvdXJj
ZVVzZUxpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQUND
RVNTX1RSQU5TRk9STV9GRUVEQkFDS19XUklURV9CSVRfRVhULCAmYnVmZmVySGVscGVyKTsKKyAg
ICAgICAgdms6OkJ1ZmZlckhlbHBlciAqYnVmZmVySGVscGVyID0gYnVmZmVySGVscGVyc1tidWZm
ZXJJbmRleF07CisgICAgICAgIEFTU0VSVChidWZmZXJIZWxwZXIpOworICAgICAgICBtUmVuZGVy
UGFzc0NvbW1hbmRzLT5idWZmZXJXcml0ZSgmbVJlc291cmNlVXNlTGlzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQUNDRVNTX1RSQU5TRk9STV9GRUVEQkFD
S19XUklURV9CSVRfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2azo6UGlwZWxpbmVTdGFnZTo6VHJhbnNmb3JtRmVlZGJhY2ssIGJ1ZmZlckhlbHBlcik7CiAg
ICAgfQogCi0gICAgY29uc3QgVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSYW5nZSAmeGZiQnVmZmVy
UmFuZ2VFeHRlbnNpb24gPQotICAgICAgICB0cmFuc2Zvcm1GZWVkYmFja1ZrLT5nZXRUcmFuc2Zv
cm1GZWVkYmFja0J1ZmZlclJhbmdlKCk7CisgICAgY29uc3QgZ2w6OlRyYW5zZm9ybUZlZWRiYWNr
QnVmZmVyc0FycmF5PFZrQnVmZmVyPiAmYnVmZmVySGFuZGxlcyA9CisgICAgICAgIHRyYW5zZm9y
bUZlZWRiYWNrVmstPmdldEJ1ZmZlckhhbmRsZXMoKTsKKyAgICBjb25zdCBnbDo6VHJhbnNmb3Jt
RmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXZpY2VTaXplPiAmYnVmZmVyT2Zmc2V0cyA9CisgICAg
ICAgIHRyYW5zZm9ybUZlZWRiYWNrVmstPmdldEJ1ZmZlck9mZnNldHMoKTsKKyAgICBjb25zdCBn
bDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXZpY2VTaXplPiAmYnVmZmVyU2l6
ZXMgPQorICAgICAgICB0cmFuc2Zvcm1GZWVkYmFja1ZrLT5nZXRCdWZmZXJTaXplcygpOwogCi0g
ICAgY29tbWFuZEJ1ZmZlci0+YmluZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVycygKLSAgICAgICAg
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJ1ZmZlckNvdW50KSwgYnVmZmVySGFuZGxlcy5kYXRhKCks
Ci0gICAgICAgIHhmYkJ1ZmZlclJhbmdlRXh0ZW5zaW9uLm9mZnNldHMuZGF0YSgpLCB4ZmJCdWZm
ZXJSYW5nZUV4dGVuc2lvbi5zaXplcy5kYXRhKCkpOworICAgIGNvbW1hbmRCdWZmZXItPmJpbmRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJ1ZmZlckNvdW50
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZl
ckhhbmRsZXMuZGF0YSgpLCBidWZmZXJPZmZzZXRzLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlclNpemVzLmRhdGEoKSk7CiAKICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC0xNDQ1LDkgKzE1MDYsMTAg
QEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NUcmFuc2Zvcm1G
ZWVkYmFja1N0YXRlKGNvbnN0IGdsOjpDb24KICAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFi
bGUgKmV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsKICAgICBBU1NF
UlQoZXhlY3V0YWJsZSk7CiAKLSAgICBpZiAoIWV4ZWN1dGFibGUtPmhhc1RyYW5zZm9ybUZlZWRi
YWNrT3V0cHV0KG1TdGF0ZSkgfHwKLSAgICAgICAgIW1TdGF0ZS5pc1RyYW5zZm9ybUZlZWRiYWNr
QWN0aXZlVW5wYXVzZWQoKSkKKyAgICBpZiAoIWV4ZWN1dGFibGUtPmhhc1RyYW5zZm9ybUZlZWRi
YWNrT3V0cHV0KCkgfHwgIW1TdGF0ZS5pc1RyYW5zZm9ybUZlZWRiYWNrQWN0aXZlVW5wYXVzZWQo
KSkKKyAgICB7CiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9
CiAKICAgICBUcmFuc2Zvcm1GZWVkYmFja1ZrICp0cmFuc2Zvcm1GZWVkYmFja1ZrID0gdms6Okdl
dEltcGwobVN0YXRlLmdldEN1cnJlbnRUcmFuc2Zvcm1GZWVkYmFjaygpKTsKIApAQCAtMTQ1Niwy
MCArMTUxOCwyNiBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGlj
c1RyYW5zZm9ybUZlZWRiYWNrU3RhdGUoY29uc3QgZ2w6OkNvbgogICAgIGNvbnN0IGdsOjpUcmFu
c2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTxWa0J1ZmZlcj4gJmNvdW50ZXJCdWZmZXJIYW5kbGVz
ID0KICAgICAgICAgdHJhbnNmb3JtRmVlZGJhY2tWay0+Z2V0Q291bnRlckJ1ZmZlckhhbmRsZXMo
KTsKIAotICAgIGJvb2wgcmViaW5kQnVmZmVyID0gdHJhbnNmb3JtRmVlZGJhY2tWay0+Z2V0VHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJSZWJpbmRTdGF0ZSgpOworICAgIGJvb2wgcmViaW5kQnVmZmVy
cyA9IHRyYW5zZm9ybUZlZWRiYWNrVmstPmdldEFuZFJlc2V0QnVmZmVyUmViaW5kU3RhdGUoKTsK
IAotICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuYmVnaW5UcmFuc2Zvcm1GZWVkYmFjayhidWZmZXJD
b3VudCwgY291bnRlckJ1ZmZlckhhbmRsZXMuZGF0YSgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWJpbmRCdWZmZXIpOworICAgIG1SZW5kZXJQYXNz
Q29tbWFuZHMtPmJlZ2luVHJhbnNmb3JtRmVlZGJhY2soYnVmZmVyQ291bnQsIGNvdW50ZXJCdWZm
ZXJIYW5kbGVzLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlYmluZEJ1ZmZlcnMpOwogCi0gICAgdHJhbnNmb3JtRmVlZGJhY2tWay0+dW5z
ZXRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJlYmluZFN0YXRlKCk7CisgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOworfQogCithbmdsZTo6UmVzdWx0IENvbnRleHRWazo6aGFuZGxl
RGlydHlHcmFwaGljc1RyYW5zZm9ybUZlZWRiYWNrUmVzdW1lKAorICAgIGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAorICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKQorewor
ICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMtPnJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrSWZTdGFydGVk
KCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiBhbmdsZTo6UmVz
dWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlEZXNjcmlwdG9yU2V0cyhjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKQogewotICAgIEFOR0xFX1RS
WShtUHJvZ3JhbS0+Z2V0RXhlY3V0YWJsZSgpLnVwZGF0ZURlc2NyaXB0b3JTZXRzKHRoaXMsIGNv
bW1hbmRCdWZmZXIpKTsKKyAgICBBTkdMRV9UUlkobUV4ZWN1dGFibGUtPnVwZGF0ZURlc2NyaXB0
b3JTZXRzKHRoaXMsIGNvbW1hbmRCdWZmZXIpKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6
Q29udGludWU7CiB9CiAKQEAgLTE0NzksMTAgKzE1NDcsMTAgQEAgYW5nbGU6OlJlc3VsdCBDb250
ZXh0Vms6OnN1Ym1pdEZyYW1lKGNvbnN0IFZrU3VibWl0SW5mbyAmc3VibWl0SW5mbywKICAgICAv
LyBVcGRhdGUgb3ZlcmxheSBpZiBhY3RpdmUuCiAgICAgZ2w6OlJ1bm5pbmdHcmFwaFdpZGdldCAq
cmVuZGVyUGFzc0NvdW50ID0KICAgICAgICAgbVN0YXRlLmdldE92ZXJsYXkoKS0+Z2V0UnVubmlu
Z0dyYXBoV2lkZ2V0KGdsOjpXaWRnZXRJZDo6VnVsa2FuUmVuZGVyUGFzc0NvdW50KTsKLSAgICBy
ZW5kZXJQYXNzQ291bnQtPmFkZChtUmVuZGVyUGFzc0NvbW1hbmRzLmdldEFuZFJlc2V0Q291bnRl
cigpKTsKKyAgICByZW5kZXJQYXNzQ291bnQtPmFkZChtUmVuZGVyUGFzc0NvbW1hbmRzLT5nZXRB
bmRSZXNldENvdW50ZXIoKSk7CiAgICAgcmVuZGVyUGFzc0NvdW50LT5uZXh0KCk7CiAKLSAgICBp
ZiAoa0VuYWJsZUNvbW1hbmRTdHJlYW1EaWFnbm9zdGljcykKKyAgICBpZiAodms6OkNvbW1hbmRC
dWZmZXJIZWxwZXI6OmtFbmFibGVDb21tYW5kU3RyZWFtRGlhZ25vc3RpY3MpCiAgICAgewogICAg
ICAgICBkdW1wQ29tbWFuZFN0cmVhbURpYWdub3N0aWNzKCk7CiAgICAgfQpAQCAtMTYyOSw3ICsx
Njk3LDcgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnN5bmNocm9uaXplQ3B1R3B1VGltZSgp
CiAgICAgICAgIGNvbW1hbmRCdWZmZXIud2FpdEV2ZW50cygxLCBjcHVSZWFkeS5nZXQoKS5wdHIo
KSwgVktfUElQRUxJTkVfU1RBR0VfSE9TVF9CSVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWS19QSVBFTElORV9TVEFHRV9BTExfR1JBUEhJQ1NfQklULCAwLCBudWxscHRyLCAw
LCBudWxscHRyLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0cik7
Ci0gICAgICAgIHRpbWVzdGFtcFF1ZXJ5LndyaXRlVGltZXN0YW1wKCZjb21tYW5kQnVmZmVyKTsK
KyAgICAgICAgdGltZXN0YW1wUXVlcnkud3JpdGVUaW1lc3RhbXAodGhpcywgJmNvbW1hbmRCdWZm
ZXIpOwogICAgICAgICBjb21tYW5kQnVmZmVyLnNldEV2ZW50KGdwdURvbmUuZ2V0KCkuZ2V0SGFu
ZGxlKCksIFZLX1BJUEVMSU5FX1NUQUdFX0FMTF9HUkFQSElDU19CSVQpOwogCiAgICAgICAgIEFO
R0xFX1ZLX1RSWSh0aGlzLCBjb21tYW5kQnVmZmVyLmVuZCgpKTsKQEAgLTE3MDgsNyArMTc3Niw3
IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpzeW5jaHJvbml6ZUNwdUdwdVRpbWUoKQogICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAotYW5nbGU6OlJlc3VsdCBDb250
ZXh0Vms6OnRyYWNlR3B1RXZlbnRJbXBsKHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqY29tbWFu
ZEJ1ZmZlciwKK2FuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjp0cmFjZUdwdUV2ZW50SW1wbCh2azo6
Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjaGFyIHBoYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEV2ZW50TmFtZSAmbmFtZSkKIHsKQEAgLTE3MTksNyArMTc4
Nyw3IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjp0cmFjZUdwdUV2ZW50SW1wbCh2azo6UHJp
bWFyeUNvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmCiAgICAgZ3B1RXZlbnQucGhhc2UgPSBwaGFz
ZTsKICAgICBBTkdMRV9UUlkobUdwdUV2ZW50UXVlcnlQb29sLmFsbG9jYXRlUXVlcnkodGhpcywg
JmdwdUV2ZW50LnF1ZXJ5SGVscGVyKSk7CiAKLSAgICBncHVFdmVudC5xdWVyeUhlbHBlci53cml0
ZVRpbWVzdGFtcChjb21tYW5kQnVmZmVyKTsKKyAgICBncHVFdmVudC5xdWVyeUhlbHBlci53cml0
ZVRpbWVzdGFtcCh0aGlzLCBjb21tYW5kQnVmZmVyKTsKIAogICAgIG1JbkZsaWdodEdwdUV2ZW50
UXVlcmllcy5wdXNoX2JhY2soc3RkOjptb3ZlKGdwdUV2ZW50KSk7CiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTgyNSwxOSArMTg5MywxOCBAQCB2b2lkIENvbnRleHRW
azo6Zmx1c2hHcHVFdmVudHMoZG91YmxlIG5leHRTeW5jR3B1VGltZXN0YW1wUywgZG91YmxlIG5l
eHRTeW5jQ3B1VAogCiB2b2lkIENvbnRleHRWazo6Y2xlYXJBbGxHYXJiYWdlKCkKIHsKLSAgICBW
a0RldmljZSBkZXZpY2UgPSBnZXREZXZpY2UoKTsKICAgICBmb3IgKHZrOjpHYXJiYWdlT2JqZWN0
ICZnYXJiYWdlIDogbUN1cnJlbnRHYXJiYWdlKQogICAgIHsKLSAgICAgICAgZ2FyYmFnZS5kZXN0
cm95KGRldmljZSk7CisgICAgICAgIGdhcmJhZ2UuZGVzdHJveShtUmVuZGVyZXIpOwogICAgIH0K
ICAgICBtQ3VycmVudEdhcmJhZ2UuY2xlYXIoKTsKLSAgICBtQ29tbWFuZFF1ZXVlLmNsZWFyQWxs
R2FyYmFnZShkZXZpY2UpOworICAgIG1Db21tYW5kUXVldWUuY2xlYXJBbGxHYXJiYWdlKG1SZW5k
ZXJlcik7CiB9CiAKIHZvaWQgQ29udGV4dFZrOjpoYW5kbGVEZXZpY2VMb3N0KCkKIHsKLSAgICBt
T3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy5yZXNldCgpOwotICAgIG1SZW5kZXJQYXNzQ29tbWFu
ZHMucmVzZXQoKTsKKyAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+cmVzZXQoKTsKKyAg
ICBtUmVuZGVyUGFzc0NvbW1hbmRzLT5yZXNldCgpOwogCiAgICAgbUNvbW1hbmRRdWV1ZS5oYW5k
bGVEZXZpY2VMb3N0KG1SZW5kZXJlcik7CiAgICAgY2xlYXJBbGxHYXJiYWdlKCk7CkBAIC0yMDg2
LDEzICsyMTUzLDEzIEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpkcmF3QXJyYXlzSW5kaXJl
Y3QoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKICAgICBpZiAobVZlcnRleEFycmF5LT5n
ZXRTdHJlYW1pbmdWZXJ0ZXhBdHRyaWJzTWFzaygpLmFueSgpKQogICAgIHsKLSAgICAgICAgbVJl
bmRlclBhc3NDb21tYW5kcy5idWZmZXJSZWFkKCZtUmVzb3VyY2VVc2VMaXN0LCBWS19BQ0NFU1Nf
SU5ESVJFQ1RfQ09NTUFORF9SRUFEX0JJVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRJbmRpcmVjdEJ1Zik7CisgICAgICAgIG1SZW5kZXJQYXNzQ29tbWFu
ZHMtPmJ1ZmZlclJlYWQoJm1SZXNvdXJjZVVzZUxpc3QsIFZLX0FDQ0VTU19JTkRJUkVDVF9DT01N
QU5EX1JFQURfQklULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZr
OjpQaXBlbGluZVN0YWdlOjpEcmF3SW5kaXJlY3QsIGN1cnJlbnRJbmRpcmVjdEJ1Zik7CiAKICAg
ICAgICAgLy8gV2UgaGF2ZSBpbnN0YW5jZWQgdmVydGV4IGF0dHJpYnV0ZXMgdGhhdCBuZWVkIHRv
IGJlIGVtdWxhdGVkIGZvciBWdWxrYW4uCiAgICAgICAgIC8vIGludmFsaWRhdGUgYW55IGNhY2hl
IGFuZCBtYXAgdGhlIGJ1ZmZlciBzbyB0aGF0IHdlIGNhbiByZWFkIHRoZSBpbmRpcmVjdCBkYXRh
LgogICAgICAgICAvLyBNYXBwaW5nIHRoZSBidWZmZXIgd2lsbCBjYXVzZSBhIGZsdXNoLgotICAg
ICAgICBBTkdMRV9UUlkoY3VycmVudEluZGlyZWN0QnVmLT5pbnZhbGlkYXRlKHRoaXMsIDAsIHNp
emVvZihWa0RyYXdJbmRpcmVjdENvbW1hbmQpKSk7CisgICAgICAgIEFOR0xFX1RSWShjdXJyZW50
SW5kaXJlY3RCdWYtPmludmFsaWRhdGUobVJlbmRlcmVyLCAwLCBzaXplb2YoVmtEcmF3SW5kaXJl
Y3RDb21tYW5kKSkpOwogICAgICAgICB1aW50OF90ICpidWZmUHRyOwogICAgICAgICBBTkdMRV9U
UlkoY3VycmVudEluZGlyZWN0QnVmLT5tYXAodGhpcywgJmJ1ZmZQdHIpKTsKICAgICAgICAgY29u
c3QgVmtEcmF3SW5kaXJlY3RDb21tYW5kICppbmRpcmVjdERhdGEgPQpAQCAtMjEwMSw3ICsyMTY4
LDcgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmRyYXdBcnJheXNJbmRpcmVjdChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgQU5HTEVfVFJZKGRyYXdBcnJheXNJbnN0YW5j
ZWQoY29udGV4dCwgbW9kZSwgaW5kaXJlY3REYXRhLT5maXJzdFZlcnRleCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaXJlY3REYXRhLT52ZXJ0ZXhDb3VudCwgaW5k
aXJlY3REYXRhLT5pbnN0YW5jZUNvdW50KSk7CiAKLSAgICAgICAgY3VycmVudEluZGlyZWN0QnVm
LT51bm1hcChnZXREZXZpY2UoKSk7CisgICAgICAgIGN1cnJlbnRJbmRpcmVjdEJ1Zi0+dW5tYXAo
bVJlbmRlcmVyKTsKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAg
IH0KIApAQCAtMjE0MCwxMyArMjIwNywxNCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6ZHJh
d0VsZW1lbnRzSW5kaXJlY3QoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKICAgICBpZiAo
bVZlcnRleEFycmF5LT5nZXRTdHJlYW1pbmdWZXJ0ZXhBdHRyaWJzTWFzaygpLmFueSgpKQogICAg
IHsKLSAgICAgICAgbVJlbmRlclBhc3NDb21tYW5kcy5idWZmZXJSZWFkKCZtUmVzb3VyY2VVc2VM
aXN0LCBWS19BQ0NFU1NfSU5ESVJFQ1RfQ09NTUFORF9SRUFEX0JJVCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRpcmVjdEJ1Zik7CisgICAgICAgIG1S
ZW5kZXJQYXNzQ29tbWFuZHMtPmJ1ZmZlclJlYWQoJm1SZXNvdXJjZVVzZUxpc3QsIFZLX0FDQ0VT
U19JTkRJUkVDVF9DT01NQU5EX1JFQURfQklULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZrOjpQaXBlbGluZVN0YWdlOjpEcmF3SW5kaXJlY3QsIGN1cnJlbnRJbmRp
cmVjdEJ1Zik7CiAKICAgICAgICAgLy8gV2UgaGF2ZSBpbnN0YW5jZWQgdmVydGV4IGF0dHJpYnV0
ZXMgdGhhdCBuZWVkIHRvIGJlIGVtdWxhdGVkIGZvciBWdWxrYW4uCiAgICAgICAgIC8vIGludmFs
aWRhdGUgYW55IGNhY2hlIGFuZCBtYXAgdGhlIGJ1ZmZlciBzbyB0aGF0IHdlIGNhbiByZWFkIHRo
ZSBpbmRpcmVjdCBkYXRhLgogICAgICAgICAvLyBNYXBwaW5nIHRoZSBidWZmZXIgd2lsbCBjYXVz
ZSBhIGZsdXNoLgotICAgICAgICBBTkdMRV9UUlkoY3VycmVudEluZGlyZWN0QnVmLT5pbnZhbGlk
YXRlKHRoaXMsIDAsIHNpemVvZihWa0RyYXdJbmRleGVkSW5kaXJlY3RDb21tYW5kKSkpOworICAg
ICAgICBBTkdMRV9UUlkoCisgICAgICAgICAgICBjdXJyZW50SW5kaXJlY3RCdWYtPmludmFsaWRh
dGUobVJlbmRlcmVyLCAwLCBzaXplb2YoVmtEcmF3SW5kZXhlZEluZGlyZWN0Q29tbWFuZCkpKTsK
ICAgICAgICAgdWludDhfdCAqYnVmZlB0cjsKICAgICAgICAgQU5HTEVfVFJZKGN1cnJlbnRJbmRp
cmVjdEJ1Zi0+bWFwKHRoaXMsICZidWZmUHRyKSk7CiAgICAgICAgIGNvbnN0IFZrRHJhd0luZGV4
ZWRJbmRpcmVjdENvbW1hbmQgKmluZGlyZWN0RGF0YSA9CkBAIC0yMTU1LDcgKzIyMjMsNyBAQCBh
bmdsZTo6UmVzdWx0IENvbnRleHRWazo6ZHJhd0VsZW1lbnRzSW5kaXJlY3QoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgIEFOR0xFX1RSWShkcmF3RWxlbWVudHNJbnN0YW5jZWQo
Y29udGV4dCwgbW9kZSwgaW5kaXJlY3REYXRhLT5pbmRleENvdW50LCB0eXBlLCBudWxscHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGlyZWN0RGF0YS0+aW5z
dGFuY2VDb3VudCkpOwogCi0gICAgICAgIGN1cnJlbnRJbmRpcmVjdEJ1Zi0+dW5tYXAoZ2V0RGV2
aWNlKCkpOworICAgICAgICBjdXJyZW50SW5kaXJlY3RCdWYtPnVubWFwKG1SZW5kZXJlcik7CiAg
ICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKICAgICB9CiAKQEAgLTIxOTcs
MTExICsyMjY1LDQxIEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpkcmF3RWxlbWVudHNJbmRp
cmVjdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKLWFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpjbGVhcldpdGhSZW5k
ZXJQYXNzT3AoCi0gICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmY2xlYXJBcmVhLAotICAgIGdsOjpE
cmF3QnVmZmVyTWFzayBjbGVhckNvbG9yQnVmZmVycywKLSAgICBib29sIGNsZWFyRGVwdGgsCi0g
ICAgYm9vbCBjbGVhclN0ZW5jaWwsCi0gICAgY29uc3QgVmtDbGVhckNvbG9yVmFsdWUgJmNsZWFy
Q29sb3JWYWx1ZSwKLSAgICBjb25zdCBWa0NsZWFyRGVwdGhTdGVuY2lsVmFsdWUgJmNsZWFyRGVw
dGhTdGVuY2lsVmFsdWUpCit2b2lkIENvbnRleHRWazo6b3B0aW1pemVSZW5kZXJQYXNzRm9yUHJl
c2VudChWa0ZyYW1lYnVmZmVyIGZyYW1lYnVmZmVySGFuZGxlKQogewotICAgIC8vIFZhbGlkYXRl
IGNhY2hlIHZhcmlhYmxlIGlzIGluIHN5bmMuCi0gICAgQVNTRVJUKG1EcmF3RnJhbWVidWZmZXIg
PT0gdms6OkdldEltcGwobVN0YXRlLmdldERyYXdGcmFtZWJ1ZmZlcigpKSk7Ci0KLSAgICAvLyBT
dGFydCBhIG5ldyByZW5kZXIgcGFzcyBpZjoKLSAgICAvLwotICAgIC8vIC0gbm8gcmVuZGVyIHBh
c3MgaGFzIHN0YXJ0ZWQsCi0gICAgLy8gLSB0aGVyZSBpcyBhIHJlbmRlciBwYXNzIHN0YXJ0ZWQg
YnV0IGl0IGNvbnRhaW5zIGNvbW1hbmRzOyB3ZSBjYW5ub3QgbW9kaWZ5IGl0cyBvcHMsIHNvIG5l
dwotICAgIC8vIHJlbmRlciBwYXNzIGlzIG5lZWRlZCwKLSAgICAvLyAtIHRoZSBjdXJyZW50IHJl
bmRlciBhcmVhIGRvZXNuJ3QgbWF0Y2ggdGhlIGNsZWFyIGFyZWEuICBXZSBuZWVkIHRoZSByZW5k
ZXIgYXJlYSB0byBiZQotICAgIC8vIGV4YWN0bHkgYXMgc3BlY2lmaWVkIGJ5IHRoZSBzY2lzc29y
IGZvciB0aGUgbG9hZE9wIHRvIGNsZWFyIG9ubHkgdGhhdCBhcmVhLiAgU2VlCi0gICAgLy8gQ29u
dGV4dFZrOjp1cGRhdGVTY2lzc29yIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgIGlmICghbVJl
bmRlclBhc3NDb21tYW5kcy5zdGFydGVkKCkgfHwKLSAgICAgICAgKG1SZW5kZXJQYXNzQ29tbWFu
ZHMuc3RhcnRlZCgpICYmICFtUmVuZGVyUGFzc0NvbW1hbmRzLmVtcHR5KCkpIHx8Ci0gICAgICAg
IG1SZW5kZXJQYXNzQ29tbWFuZHMuZ2V0UmVuZGVyQXJlYSgpICE9IGNsZWFyQXJlYSkKLSAgICB7
Ci0gICAgICAgIG1HcmFwaGljc0RpcnR5Qml0cyB8PSBtTmV3R3JhcGhpY3NDb21tYW5kQnVmZmVy
RGlydHlCaXRzOwotICAgICAgICBBTkdMRV9UUlkobURyYXdGcmFtZWJ1ZmZlci0+c3RhcnROZXdS
ZW5kZXJQYXNzKHRoaXMsIGNsZWFyQXJlYSwgJm1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikpOwot
ICAgIH0KLSAgICBlbHNlCisgICAgaWYgKCFtUmVuZGVyUGFzc0NvbW1hbmRzLT5zdGFydGVkKCkp
CiAgICAgewotICAgICAgICBmbHVzaE91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMoKTsKKyAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHNpemVfdCBhdHRhY2htZW50SW5kZXhWayA9IDA7Ci0K
LSAgICAvLyBHbyB0aHJvdWdoIGNsZWFyQ29sb3JCdWZmZXJzIGFuZCBzZXQgdGhlIGFwcHJvcHJp
YXRlIGxvYWRPcCBhbmQgY2xlYXIgdmFsdWVzLgotICAgIGZvciAoc2l6ZV90IGNvbG9ySW5kZXhH
TCA6IG1EcmF3RnJhbWVidWZmZXItPmdldFN0YXRlKCkuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKCkp
CisgICAgaWYgKGZyYW1lYnVmZmVySGFuZGxlICE9IG1SZW5kZXJQYXNzQ29tbWFuZHMtPmdldEZy
YW1lYnVmZmVySGFuZGxlKCkpCiAgICAgewotICAgICAgICBpZiAoY2xlYXJDb2xvckJ1ZmZlcnMu
dGVzdChjb2xvckluZGV4R0wpKQotICAgICAgICB7Ci0gICAgICAgICAgICBSZW5kZXJUYXJnZXRW
ayAqcmVuZGVyVGFyZ2V0ID0gbURyYXdGcmFtZWJ1ZmZlci0+Z2V0Q29sb3JEcmF3UmVuZGVyVGFy
Z2V0KGNvbG9ySW5kZXhHTCk7Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSByZW5kZXIgdGFyZ2V0
IGRvZXNuJ3QgaGF2ZSBhbHBoYSwgYnV0IGl0cyBlbXVsYXRlZCBmb3JtYXQgaGFzIGl0LCBjbGVh
ciB0aGUKLSAgICAgICAgICAgIC8vIGFscGhhIHRvIDEuCi0gICAgICAgICAgICBWa0NsZWFyQ29s
b3JWYWx1ZSB2YWx1ZSA9IGNsZWFyQ29sb3JWYWx1ZTsKLSAgICAgICAgICAgIGlmIChtRHJhd0Zy
YW1lYnVmZmVyLT5nZXRFbXVsYXRlZEFscGhhQXR0YWNobWVudE1hc2soKVtjb2xvckluZGV4R0xd
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpGb3JtYXQgJmZvcm1h
dCA9IHJlbmRlclRhcmdldC0+Z2V0SW1hZ2VGb3JtYXQoKTsKLSAgICAgICAgICAgICAgICBpZiAo
Zm9ybWF0LnZrRm9ybWF0SXNJbnQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoZm9ybWF0LnZrRm9ybWF0SXNVbnNpZ25lZCkKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUudWludDMyWzNdID0ga0VtdWxhdGVkQWxw
aGFWYWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmlu
dDMyWzNdID0ga0VtdWxhdGVkQWxwaGFWYWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICB2YWx1ZS5mbG9hdDMyWzNdID0ga0VtdWxhdGVkQWxwaGFWYWx1
ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAg
ICB9CiAKLSAgICAgICAgICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuY2xlYXJSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50KGF0dGFjaG1lbnRJbmRleFZrLCB2YWx1ZSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgKythdHRhY2htZW50SW5kZXhWazsKKyAgICBSZW5kZXJUYXJnZXRWayAqY29sb3IwUmVuZGVy
VGFyZ2V0ID0gbURyYXdGcmFtZWJ1ZmZlci0+Z2V0Q29sb3JEcmF3UmVuZGVyVGFyZ2V0KDApOwor
ICAgIGlmICghY29sb3IwUmVuZGVyVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIC8vIFNldCB0aGUgYXBwcm9wcmlhdGUgbG9hZE9wIGFuZCBjbGVhciB2YWx1ZXMg
Zm9yIGRlcHRoIGFuZCBzdGVuY2lsLgorICAgIC8vIEVHTDEuNSBzcGVjOiBUaGUgY29udGVudHMg
b2YgYW5jaWxsYXJ5IGJ1ZmZlcnMgYXJlIGFsd2F5cyB1bmRlZmluZWQgYWZ0ZXIgY2FsbGluZwor
ICAgIC8vIGVnbFN3YXBCdWZmZXJzCiAgICAgUmVuZGVyVGFyZ2V0VmsgKmRlcHRoU3RlbmNpbFJl
bmRlclRhcmdldCA9IG1EcmF3RnJhbWVidWZmZXItPmdldERlcHRoU3RlbmNpbFJlbmRlclRhcmdl
dCgpOwogICAgIGlmIChkZXB0aFN0ZW5jaWxSZW5kZXJUYXJnZXQpCiAgICAgewotICAgICAgICBj
b25zdCB2azo6Rm9ybWF0ICZmb3JtYXQgPSBkZXB0aFN0ZW5jaWxSZW5kZXJUYXJnZXQtPmdldElt
YWdlRm9ybWF0KCk7Ci0gICAgICAgIGlmIChmb3JtYXQuaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxz
KCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChmb3JtYXQuaW50ZW5kZWRGb3JtYXQoKS5z
dGVuY2lsQml0cyA9PSAwKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8vIElmIHRo
ZSBmb3JtYXQgd2UgcGlja2VkIGhhcyBzdGVuY2lsIGJ1dCB1c2VyIGRpZCBub3QgYXNrIGZvcgot
ICAgICAgICAgICAgICAgIC8vIGl0IGR1ZSB0byBoYXJkd2FyZSBsaW1pdGF0aW9uLCBmb3JjZSBj
bGVhciB0aGUgc3RlbmNpbCBzbwotICAgICAgICAgICAgICAgIC8vIHRoYXQgbm8gbG9hZCB3aWxs
IGhhcHBlbi4gQWxzbyBkb24ndCB0cnkgdG8gc3RvcmUgc3RlbmNpbAotICAgICAgICAgICAgICAg
IC8vIHZhbHVlIGFzIHdlbGwuIFNhbWUgbG9naWMgZm9yIGRlcHRoIGJpdHMgYmVsbG93LgotICAg
ICAgICAgICAgICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMuaW52YWxpZGF0ZVJlbmRlclBhc3NTdGVu
Y2lsQXR0YWNobWVudChhdHRhY2htZW50SW5kZXhWayk7Ci0gICAgICAgICAgICAgICAgY2xlYXJT
dGVuY2lsID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChmb3JtYXQuaW50
ZW5kZWRGb3JtYXQoKS5kZXB0aEJpdHMgPT0gMCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLmludmFsaWRhdGVSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50KGF0dGFjaG1lbnRJbmRleFZrKTsKLSAgICAgICAgICAgICAgICBjbGVhckRlcHRoID0gdHJ1
ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGlmIChjbGVhckRlcHRoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLmNsZWFyUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudChhdHRhY2htZW50SW5kZXhWaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyRGVwdGhTdGVu
Y2lsVmFsdWUuZGVwdGgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGNsZWFyU3RlbmNpbCkK
LSAgICAgICAgewotICAgICAgICAgICAgbVJlbmRlclBhc3NDb21tYW5kcy5jbGVhclJlbmRlclBh
c3NTdGVuY2lsQXR0YWNobWVudChhdHRhY2htZW50SW5kZXhWaywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJEZXB0
aFN0ZW5jaWxWYWx1ZS5zdGVuY2lsKTsKLSAgICAgICAgfQorICAgICAgICBzaXplX3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudEluZGV4VmsgPSBtRHJhd0ZyYW1lYnVmZmVyLT5nZXREZXB0aFN0ZW5j
aWxBdHRhY2htZW50SW5kZXhWaygpOworICAgICAgICAvLyBDaGFuZ2UgZGVwdGhzdGVuY2lsIGF0
dGFjaG1lbnQgc3RvcmVPcCB0byBET05UX0NBUkUKKyAgICAgICAgbVJlbmRlclBhc3NDb21tYW5k
cy0+aW52YWxpZGF0ZVJlbmRlclBhc3NTdGVuY2lsQXR0YWNobWVudChkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50SW5kZXhWayk7CisgICAgICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMtPmludmFsaWRhdGVS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50KGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRJbmRleFZrKTsK
KyAgICAgICAgLy8gTWFyayBjb250ZW50IGFzIGludmFsaWQgc28gdGhhdCB3ZSB3aWxsIG5vdCBs
b2FkIHRoZW0gaW4gbmV4dCByZW5kZXJwYXNzCisgICAgICAgIGRlcHRoU3RlbmNpbFJlbmRlclRh
cmdldC0+aW52YWxpZGF0ZUNvbnRlbnQoKTsKICAgICB9CiAKLSAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CisgICAgLy8gVXNlIGZpbmFsTGF5b3V0IGluc3RlYWQgb2YgZXh0cmEg
YmFycmllciBmb3IgbGF5b3V0IGNoYW5nZSB0byBwcmVzZW50CisgICAgdms6OkltYWdlSGVscGVy
ICZpbWFnZSA9IGNvbG9yMFJlbmRlclRhcmdldC0+Z2V0SW1hZ2UoKTsKKyAgICBpbWFnZS5zZXRD
dXJyZW50SW1hZ2VMYXlvdXQodms6OkltYWdlTGF5b3V0OjpQcmVzZW50KTsKKyAgICBtUmVuZGVy
UGFzc0NvbW1hbmRzLT51cGRhdGVSZW5kZXJQYXNzQXR0YWNobWVudEZpbmFsTGF5b3V0KDAsIGlt
YWdlLmdldEN1cnJlbnRJbWFnZUxheW91dCgpKTsKIH0KIAogZ2w6OkdyYXBoaWNzUmVzZXRTdGF0
dXMgQ29udGV4dFZrOjpnZXRSZXNldFN0YXR1cygpCkBAIC0yMzMzLDEyICsyMzMxLDEyIEBAIGFu
Z2xlOjpSZXN1bHQgQ29udGV4dFZrOjppbnNlcnRFdmVudE1hcmtlcihHTHNpemVpIGxlbmd0aCwg
Y29uc3QgY2hhciAqbWFya2VyKQogICAgIGlmICghbVJlbmRlcmVyLT5lbmFibGVEZWJ1Z1V0aWxz
KCkpCiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIAotICAgIHZrOjpQ
cmltYXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeTsKLSAgICBBTkdMRV9UUlkoZmx1c2hBbmRHZXRQ
cmltYXJ5Q29tbWFuZEJ1ZmZlcigmcHJpbWFyeSkpOworICAgIHZrOjpDb21tYW5kQnVmZmVyICpv
dXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXI7CisgICAgQU5HTEVfVFJZKGVuZFJlbmRlclBh
c3NBbmRHZXRDb21tYW5kQnVmZmVyKCZvdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpKTsK
IAogICAgIFZrRGVidWdVdGlsc0xhYmVsRVhUIGxhYmVsOwogICAgIHZrOjpNYWtlRGVidWdVdGls
c0xhYmVsKEdMX0RFQlVHX1NPVVJDRV9BUFBMSUNBVElPTiwgbWFya2VyLCAmbGFiZWwpOwotICAg
IHByaW1hcnktPmluc2VydERlYnVnVXRpbHNMYWJlbEVYVChsYWJlbCk7CisgICAgb3V0c2lkZVJl
bmRlclBhc3NDb21tYW5kQnVmZmVyLT5pbnNlcnREZWJ1Z1V0aWxzTGFiZWxFWFQobGFiZWwpOwog
CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMjM0OCwxMiArMjM0
NiwxMiBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6cHVzaEdyb3VwTWFya2VyKEdMc2l6ZWkg
bGVuZ3RoLCBjb25zdCBjaGFyICptYXJrZXIpCiAgICAgaWYgKCFtUmVuZGVyZXItPmVuYWJsZURl
YnVnVXRpbHMoKSkKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogCi0g
ICAgdms6OlByaW1hcnlDb21tYW5kQnVmZmVyICpwcmltYXJ5OwotICAgIEFOR0xFX1RSWShmbHVz
aEFuZEdldFByaW1hcnlDb21tYW5kQnVmZmVyKCZwcmltYXJ5KSk7CisgICAgdms6OkNvbW1hbmRC
dWZmZXIgKm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsKKyAgICBBTkdMRV9UUlkoZW5k
UmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1
ZmZlcikpOwogCiAgICAgVmtEZWJ1Z1V0aWxzTGFiZWxFWFQgbGFiZWw7CiAgICAgdms6Ok1ha2VE
ZWJ1Z1V0aWxzTGFiZWwoR0xfREVCVUdfU09VUkNFX0FQUExJQ0FUSU9OLCBtYXJrZXIsICZsYWJl
bCk7Ci0gICAgcHJpbWFyeS0+YmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQobGFiZWwpOworICAgIG91
dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlci0+YmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQobGFi
ZWwpOwogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMjM2Myw5
ICsyMzYxLDkgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnBvcEdyb3VwTWFya2VyKCkKICAg
ICBpZiAoIW1SZW5kZXJlci0+ZW5hYmxlRGVidWdVdGlscygpKQogICAgICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CiAKLSAgICB2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKnBy
aW1hcnk7Ci0gICAgQU5HTEVfVFJZKGZsdXNoQW5kR2V0UHJpbWFyeUNvbW1hbmRCdWZmZXIoJnBy
aW1hcnkpKTsKLSAgICBwcmltYXJ5LT5lbmREZWJ1Z1V0aWxzTGFiZWxFWFQoKTsKKyAgICB2azo6
Q29tbWFuZEJ1ZmZlciAqb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyOworICAgIEFOR0xF
X1RSWShlbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcigmb3V0c2lkZVJlbmRlclBhc3ND
b21tYW5kQnVmZmVyKSk7CisgICAgb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyLT5lbmRE
ZWJ1Z1V0aWxzTGFiZWxFWFQoKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKIH0KQEAgLTIzNzgsMTIgKzIzNzYsMTIgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnB1
c2hEZWJ1Z0dyb3VwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIGlmICghbVJlbmRl
cmVyLT5lbmFibGVEZWJ1Z1V0aWxzKCkpCiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKIAotICAgIHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeTsKLSAgICBB
TkdMRV9UUlkoZmx1c2hBbmRHZXRQcmltYXJ5Q29tbWFuZEJ1ZmZlcigmcHJpbWFyeSkpOworICAg
IHZrOjpDb21tYW5kQnVmZmVyICpvdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXI7CisgICAg
QU5HTEVfVFJZKGVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVyKCZvdXRzaWRlUmVuZGVy
UGFzc0NvbW1hbmRCdWZmZXIpKTsKIAogICAgIFZrRGVidWdVdGlsc0xhYmVsRVhUIGxhYmVsOwog
ICAgIHZrOjpNYWtlRGVidWdVdGlsc0xhYmVsKHNvdXJjZSwgbWVzc2FnZS5jX3N0cigpLCAmbGFi
ZWwpOwotICAgIHByaW1hcnktPmluc2VydERlYnVnVXRpbHNMYWJlbEVYVChsYWJlbCk7CisgICAg
b3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyLT5iZWdpbkRlYnVnVXRpbHNMYWJlbEVYVChs
YWJlbCk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC0yMzkz
LDkgKzIzOTEsOSBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6cG9wRGVidWdHcm91cChjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICBpZiAoIW1SZW5kZXJlci0+ZW5hYmxlRGVidWdV
dGlscygpKQogICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAKLSAgICB2
azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKnByaW1hcnk7Ci0gICAgQU5HTEVfVFJZKGZsdXNoQW5k
R2V0UHJpbWFyeUNvbW1hbmRCdWZmZXIoJnByaW1hcnkpKTsKLSAgICBwcmltYXJ5LT5lbmREZWJ1
Z1V0aWxzTGFiZWxFWFQoKTsKKyAgICB2azo6Q29tbWFuZEJ1ZmZlciAqb3V0c2lkZVJlbmRlclBh
c3NDb21tYW5kQnVmZmVyOworICAgIEFOR0xFX1RSWShlbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFu
ZEJ1ZmZlcigmb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKSk7CisgICAgb3V0c2lkZVJl
bmRlclBhc3NDb21tYW5kQnVmZmVyLT5lbmREZWJ1Z1V0aWxzTGFiZWxFWFQoKTsKIAogICAgIHJl
dHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KQEAgLTI0MTQsMTEgKzI0MTIsMjIgQEAg
Ym9vbCBDb250ZXh0Vms6OmlzUm90YXRlZEFzcGVjdFJhdGlvRm9yRHJhd0ZCTygpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIElzUm90YXRlZEFzcGVjdFJhdGlvKG1DdXJyZW50Um90YXRpb25EcmF3RnJh
bWVidWZmZXIpOwogfQorCiBib29sIENvbnRleHRWazo6aXNSb3RhdGVkQXNwZWN0UmF0aW9Gb3JS
ZWFkRkJPKCkgY29uc3QKIHsKICAgICByZXR1cm4gSXNSb3RhdGVkQXNwZWN0UmF0aW8obUN1cnJl
bnRSb3RhdGlvblJlYWRGcmFtZWJ1ZmZlcik7CiB9CiAKK1N1cmZhY2VSb3RhdGlvbiBDb250ZXh0
Vms6OmdldFJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbUN1
cnJlbnRSb3RhdGlvbkRyYXdGcmFtZWJ1ZmZlcjsKK30KKworU3VyZmFjZVJvdGF0aW9uIENvbnRl
eHRWazo6Z2V0Um90YXRpb25SZWFkRnJhbWVidWZmZXIoKSBjb25zdAoreworICAgIHJldHVybiBt
Q3VycmVudFJvdGF0aW9uUmVhZEZyYW1lYnVmZmVyOworfQorCiB2b2lkIENvbnRleHRWazo6dXBk
YXRlQ29sb3JNYXNrKGNvbnN0IGdsOjpCbGVuZFN0YXRlICZibGVuZFN0YXRlKQogewogICAgIG1D
bGVhckNvbG9yTWFzayA9CkBAIC0yNDg2LDIxICsyNDk1LDE3IEBAIHZvaWQgQ29udGV4dFZrOjp1
cGRhdGVWaWV3cG9ydChGcmFtZWJ1ZmZlclZrICpmcmFtZWJ1ZmZlclZrLAogICAgICAgICBjb3Jy
ZWN0ZWRIZWlnaHQgPSB2aWV3cG9ydEJvdW5kc1JhbmdlSGlnaCAtIGNvcnJlY3RlZFk7CiAgICAg
fQogCi0gICAgZ2w6OkJveCBmcmFtZWJ1ZmZlckRpbWVuc2lvbnMgPSBmcmFtZWJ1ZmZlclZrLT5n
ZXRTdGF0ZSgpLmdldERpbWVuc2lvbnMoKTsKLSAgICBpZiAoaXNSb3RhdGVkQXNwZWN0UmF0aW9G
b3JEcmF3RkJPKCkpCi0gICAgewotICAgICAgICAvLyBUaGUgc3VyZmFjZSBpcyByb3RhdGVkIDkw
LzI3MCBkZWdyZWVzLiAgVGhpcyBjaGFuZ2VzIHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIHN1cmZh
Y2UuCi0gICAgICAgIC8vIFN3YXAgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0
IHdlIGNhbGN1bGF0ZSwgYW5kIHRoZSBmcmFtZWJ1ZmZlciBoZWlnaHQgdGhhdAotICAgICAgICAv
LyB3ZSB1c2UgdG8gY2FsY3VsYXRlIGl0IHdpdGguCi0gICAgICAgIC8vIFRPRE8oaWFuZWxsaW90
dCk6IGhhbmRsZSBzbWFsbCB2aWV3cG9ydC9zY2lzc29yIGNhc2VzLiAgaHR0cDovL2FuZ2xlYnVn
LmNvbS80NDMxCi0gICAgICAgIHN0ZDo6c3dhcChjb3JyZWN0ZWRXaWR0aCwgY29ycmVjdGVkSGVp
Z2h0KTsKLSAgICAgICAgc3RkOjpzd2FwKGZyYW1lYnVmZmVyRGltZW5zaW9ucy53aWR0aCwgZnJh
bWVidWZmZXJEaW1lbnNpb25zLmhlaWdodCk7Ci0gICAgfQorICAgIGdsOjpCb3ggZmJEaW1lbnNp
b25zID0gZnJhbWVidWZmZXJWay0+Z2V0U3RhdGUoKS5nZXREaW1lbnNpb25zKCk7CiAgICAgZ2w6
OlJlY3RhbmdsZSBjb3JyZWN0ZWRSZWN0ID0KICAgICAgICAgZ2w6OlJlY3RhbmdsZShjb3JyZWN0
ZWRYLCBjb3JyZWN0ZWRZLCBjb3JyZWN0ZWRXaWR0aCwgY29ycmVjdGVkSGVpZ2h0KTsKLQotICAg
IGdsX3ZrOjpHZXRWaWV3cG9ydChjb3JyZWN0ZWRSZWN0LCBuZWFyUGxhbmUsIGZhclBsYW5lLCBp
bnZlcnRWaWV3cG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVidWZmZXJEaW1lbnNp
b25zLmhlaWdodCwgJnZrVmlld3BvcnQpOworICAgIGdsOjpSZWN0YW5nbGUgcm90YXRlZFJlY3Q7
CisgICAgUm90YXRlUmVjdGFuZ2xlKGdldFJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVyKCksIGZhbHNl
LCBmYkRpbWVuc2lvbnMud2lkdGgsIGZiRGltZW5zaW9ucy5oZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgIGNvcnJlY3RlZFJlY3QsICZyb3RhdGVkUmVjdCk7CisgICAgZ2xfdms6OkdldFZpZXdw
b3J0KHJvdGF0ZWRSZWN0LCBuZWFyUGxhbmUsIGZhclBsYW5lLCBpbnZlcnRWaWV3cG9ydCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHN1cmZhY2UgaXMgcm90YXRlZCA5MC8yNzAg
ZGVncmVlcywgdXNlIHRoZSBmcmFtZWJ1ZmZlcidzIHdpZHRoCisgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGluc3RlYWQgb2YgdGhlIGhlaWdodCBmb3IgY2FsY3VsYXRpbmcgdGhlIGZpbmFsIHZp
ZXdwb3J0LgorICAgICAgICAgICAgICAgICAgICAgICBpc1JvdGF0ZWRBc3BlY3RSYXRpb0ZvckRy
YXdGQk8oKSA/IGZiRGltZW5zaW9ucy53aWR0aCA6IGZiRGltZW5zaW9ucy5oZWlnaHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICZ2a1ZpZXdwb3J0KTsKICAgICBtR3JhcGhpY3NQaXBlbGluZURl
c2MtPnVwZGF0ZVZpZXdwb3J0KCZtR3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24sIHZrVmlld3Bv
cnQpOwogICAgIGludmFsaWRhdGVHcmFwaGljc0RyaXZlclVuaWZvcm1zKCk7CiB9CkBAIC0yNTIx
LDIwICsyNTI2LDEyIEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjp1cGRhdGVTY2lzc29yKGNv
bnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSkKICAgICBnbDo6Q2xpcFJlY3RhbmdsZShyZW5kZXJBcmVh
LCBnbFN0YXRlLmdldFZpZXdwb3J0KCksICZ2aWV3cG9ydENsaXBwZWRSZW5kZXJBcmVhKTsKIAog
ICAgIGdsOjpSZWN0YW5nbGUgc2Npc3NvcmVkQXJlYSA9IENsaXBSZWN0VG9TY2lzc29yKGdldFN0
YXRlKCksIHZpZXdwb3J0Q2xpcHBlZFJlbmRlckFyZWEsIGZhbHNlKTsKLSAgICBpZiAoaXNWaWV3
cG9ydEZsaXBFbmFibGVkRm9yRHJhd0ZCTygpKQotICAgIHsKLSAgICAgICAgc2Npc3NvcmVkQXJl
YS55ID0gcmVuZGVyQXJlYS5oZWlnaHQgLSBzY2lzc29yZWRBcmVhLnkgLSBzY2lzc29yZWRBcmVh
LmhlaWdodDsKLSAgICB9Ci0gICAgaWYgKGlzUm90YXRlZEFzcGVjdFJhdGlvRm9yRHJhd0ZCTygp
KQotICAgIHsKLSAgICAgICAgLy8gVGhlIHN1cmZhY2UgaXMgcm90YXRlZCA5MC8yNzAgZGVncmVl
cy4gIFRoaXMgY2hhbmdlcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBzdXJmYWNlLgotICAgICAg
ICAvLyBTd2FwIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBzY2lzc29yIHdlIHVzZS4KLSAg
ICAgICAgLy8gVE9ETyhpYW5lbGxpb3R0KTogaGFuZGxlIHNtYWxsIHZpZXdwb3J0L3NjaXNzb3Ig
Y2FzZXMuICBodHRwOi8vYW5nbGVidWcuY29tLzQ0MzEKLSAgICAgICAgc3RkOjpzd2FwKHNjaXNz
b3JlZEFyZWEud2lkdGgsIHNjaXNzb3JlZEFyZWEuaGVpZ2h0KTsKLSAgICB9CisgICAgZ2w6OlJl
Y3RhbmdsZSByb3RhdGVkU2Npc3NvcmVkQXJlYTsKKyAgICBSb3RhdGVSZWN0YW5nbGUoZ2V0Um90
YXRpb25EcmF3RnJhbWVidWZmZXIoKSwgaXNWaWV3cG9ydEZsaXBFbmFibGVkRm9yRHJhd0ZCTygp
LAorICAgICAgICAgICAgICAgICAgICByZW5kZXJBcmVhLndpZHRoLCByZW5kZXJBcmVhLmhlaWdo
dCwgc2Npc3NvcmVkQXJlYSwgJnJvdGF0ZWRTY2lzc29yZWRBcmVhKTsKIAogICAgIG1HcmFwaGlj
c1BpcGVsaW5lRGVzYy0+dXBkYXRlU2Npc3NvcigmbUdyYXBoaWNzUGlwZWxpbmVUcmFuc2l0aW9u
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbF92azo6R2V0UmVj
dChzY2lzc29yZWRBcmVhKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdsX3ZrOjpHZXRSZWN0KHJvdGF0ZWRTY2lzc29yZWRBcmVhKSk7CiAKICAgICAvLyBJZiB0
aGUgc2Npc3NvciBoYXMgZ3Jvd24gYmV5b25kIHRoZSBwcmV2aW91cyBzY2lzc29yZWRSZW5kZXJB
cmVhLCBtYWtlIHN1cmUgdGhlIHJlbmRlciBwYXNzCiAgICAgLy8gaXMgcmVzdGFydGVkLiAgT3Ro
ZXJ3aXNlLCB3ZSBjYW4gY29udGludWUgdXNpbmcgdGhlIHNhbWUgcmVuZGVycGFzcyBhcmVhLgpA
QCAtMjU0Nyw5ICsyNTQ0LDkgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnVwZGF0ZVNjaXNz
b3IoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKQogICAgIC8vIGEgcmVuZGVyIHBhc3MsIHRoZSBz
Y2lzc29yIGlzIGRpc2FibGVkIGFuZCBhIGRyYXcgY2FsbCBpcyBpc3N1ZWQgdG8gYWZmZWN0IHRo
ZSB3aG9sZQogICAgIC8vIGZyYW1lYnVmZmVyLgogICAgIGdsOjpSZWN0YW5nbGUgc2Npc3NvcmVk
UmVuZGVyQXJlYSA9IGZyYW1lYnVmZmVyVmstPmdldFNjaXNzb3JlZFJlbmRlckFyZWEodGhpcyk7
Ci0gICAgaWYgKCFtUmVuZGVyUGFzc0NvbW1hbmRzLmVtcHR5KCkpCisgICAgaWYgKCFtUmVuZGVy
UGFzc0NvbW1hbmRzLT5lbXB0eSgpKQogICAgIHsKLSAgICAgICAgaWYgKCFtUmVuZGVyUGFzc0Nv
bW1hbmRzLmdldFJlbmRlckFyZWEoKS5lbmNsb3NlcyhzY2lzc29yZWRSZW5kZXJBcmVhKSkKKyAg
ICAgICAgaWYgKCFtUmVuZGVyUGFzc0NvbW1hbmRzLT5nZXRSZW5kZXJBcmVhKCkuZW5jbG9zZXMo
c2Npc3NvcmVkUmVuZGVyQXJlYSkpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFOR0xFX1RSWShl
bmRSZW5kZXJQYXNzKCkpOwogICAgICAgICB9CkBAIC0yNTU4LDYgKzI1NTUsNTMgQEAgYW5nbGU6
OlJlc3VsdCBDb250ZXh0Vms6OnVwZGF0ZVNjaXNzb3IoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRl
KQogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAordm9pZCBDb250ZXh0
Vms6OmludmFsaWRhdGVQcm9ncmFtQmluZGluZ0hlbHBlcihjb25zdCBnbDo6U3RhdGUgJmdsU3Rh
dGUpCit7CisgICAgbVByb2dyYW0gICAgICAgICA9IG51bGxwdHI7CisgICAgbVByb2dyYW1QaXBl
bGluZSA9IG51bGxwdHI7CisgICAgbUV4ZWN1dGFibGUgICAgICA9IG51bGxwdHI7CisKKyAgICBp
ZiAoZ2xTdGF0ZS5nZXRQcm9ncmFtKCkpCisgICAgeworICAgICAgICBtUHJvZ3JhbSAgICA9IHZr
OjpHZXRJbXBsKGdsU3RhdGUuZ2V0UHJvZ3JhbSgpKTsKKyAgICAgICAgbUV4ZWN1dGFibGUgPSAm
bVByb2dyYW0tPmdldEV4ZWN1dGFibGUoKTsKKyAgICB9CisKKyAgICBpZiAoZ2xTdGF0ZS5nZXRQ
cm9ncmFtUGlwZWxpbmUoKSkKKyAgICB7CisgICAgICAgIG1Qcm9ncmFtUGlwZWxpbmUgPSB2azo6
R2V0SW1wbChnbFN0YXRlLmdldFByb2dyYW1QaXBlbGluZSgpKTsKKyAgICAgICAgaWYgKCFtRXhl
Y3V0YWJsZSkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gQSBib3VuZCBwcm9ncmFtIGFsd2F5
cyBvdmVycmlkZXMgYSBwcm9ncmFtIHBpcGVsaW5lCisgICAgICAgICAgICBtRXhlY3V0YWJsZSA9
ICZtUHJvZ3JhbVBpcGVsaW5lLT5nZXRFeGVjdXRhYmxlKCk7CisgICAgICAgIH0KKyAgICB9Cit9
CisKK2FuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjppbnZhbGlkYXRlUHJvZ3JhbUV4ZWN1dGFibGVI
ZWxwZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCit7CisgICAgY29uc3QgZ2w6OlN0YXRl
ICZnbFN0YXRlID0gY29udGV4dC0+Z2V0U3RhdGUoKTsKKworICAgIGlmIChnbFN0YXRlLmdldFBy
b2dyYW1FeGVjdXRhYmxlKCktPmlzQ29tcHV0ZSgpKQorICAgIHsKKyAgICAgICAgaW52YWxpZGF0
ZUN1cnJlbnRDb21wdXRlUGlwZWxpbmUoKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg
ICAgLy8gTm8gYWRkaXRpb25hbCB3b3JrIGlzIG5lZWRlZCBoZXJlLiBXZSB3aWxsIHVwZGF0ZSB0
aGUgcGlwZWxpbmUgZGVzYworICAgICAgICAvLyBsYXRlci4KKyAgICAgICAgaW52YWxpZGF0ZURl
ZmF1bHRBdHRyaWJ1dGVzKGNvbnRleHQtPmdldFN0YXRlQ2FjaGUoKS5nZXRBY3RpdmVEZWZhdWx0
QXR0cmlic01hc2soKSk7CisgICAgICAgIGludmFsaWRhdGVWZXJ0ZXhBbmRJbmRleEJ1ZmZlcnMo
KTsKKyAgICAgICAgYm9vbCB1c2VWZXJ0ZXhCdWZmZXIgPSAoZ2xTdGF0ZS5nZXRQcm9ncmFtRXhl
Y3V0YWJsZSgpLT5nZXRNYXhBY3RpdmVBdHRyaWJMb2NhdGlvbigpID4gMCk7CisgICAgICAgIG1O
b25JbmRleGVkRGlydHlCaXRzTWFzay5zZXQoRElSVFlfQklUX1ZFUlRFWF9CVUZGRVJTLCB1c2VW
ZXJ0ZXhCdWZmZXIpOworICAgICAgICBtSW5kZXhlZERpcnR5Qml0c01hc2suc2V0KERJUlRZX0JJ
VF9WRVJURVhfQlVGRkVSUywgdXNlVmVydGV4QnVmZmVyKTsKKyAgICAgICAgbUN1cnJlbnRHcmFw
aGljc1BpcGVsaW5lID0gbnVsbHB0cjsKKyAgICAgICAgbUdyYXBoaWNzUGlwZWxpbmVUcmFuc2l0
aW9uLnJlc2V0KCk7CisgICAgfQorCisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVl
OworfQorCiBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6U3RhdGU6OkRpcnR5Qml0cyAmZGlydHlCaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6U3RhdGU6OkRpcnR5Qml0cyAmYml0TWFzaykKQEAgLTI2MTQs
NiArMjY1OCw5IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpzeW5jU3RhdGUoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklU
X1NBTVBMRV9BTFBIQV9UT19DT1ZFUkFHRV9FTkFCTEVEOgogICAgICAgICAgICAgICAgIG1HcmFw
aGljc1BpcGVsaW5lRGVzYy0+dXBkYXRlQWxwaGFUb0NvdmVyYWdlRW5hYmxlKAogICAgICAgICAg
ICAgICAgICAgICAmbUdyYXBoaWNzUGlwZWxpbmVUcmFuc2l0aW9uLCBnbFN0YXRlLmlzU2FtcGxl
QWxwaGFUb0NvdmVyYWdlRW5hYmxlZCgpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoZ2w6OlN0
YXRlOjpESVJUWV9CSVRfUFJPR1JBTV9FWEVDVVRBQkxFID4KKyAgICAgICAgICAgICAgICAgICAg
ICAgZ2w6OlN0YXRlOjpESVJUWV9CSVRfU0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFX0VOQUJMRUQp
OworICAgICAgICAgICAgICAgIGl0ZXIuc2V0TGF0ZXJCaXQoZ2w6OlN0YXRlOjpESVJUWV9CSVRf
UFJPR1JBTV9FWEVDVVRBQkxFKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfU0FNUExFX0NPVkVSQUdFX0VOQUJMRUQ6CiAgICAg
ICAgICAgICAgICAgdXBkYXRlU2FtcGxlTWFzayhnbFN0YXRlKTsKQEAgLTI3MzIsMTAgKzI3Nzks
NiBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6
U3RhdGU6OkRJUlRZX0JJVF9ESVRIRVJfRU5BQkxFRDoKICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfR0VORVJBVEVfTUlQTUFQX0hJ
TlQ6Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6
RElSVFlfQklUX1NIQURFUl9ERVJJVkFUSVZFX0hJTlQ6Ci0gICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX1JFQURfRlJBTUVCVUZGRVJf
QklORElORzoKICAgICAgICAgICAgICAgICB1cGRhdGVGbGlwVmlld3BvcnRSZWFkRnJhbWVidWZm
ZXIoY29udGV4dC0+Z2V0U3RhdGUoKSk7CiAgICAgICAgICAgICAgICAgdXBkYXRlU3VyZmFjZVJv
dGF0aW9uUmVhZEZyYW1lYnVmZmVyKGdsU3RhdGUpOwpAQCAtMjc3Niw3ICsyODE5LDYgQEAgYW5n
bGU6OlJlc3VsdCBDb250ZXh0Vms6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgJm1HcmFwaGljc1BpcGVsaW5lVHJhbnNpdGlvbiwgZGVw
dGhTdGVuY2lsU3RhdGUsIGRyYXdGcmFtZWJ1ZmZlcik7CiAgICAgICAgICAgICAgICAgbUdyYXBo
aWNzUGlwZWxpbmVEZXNjLT51cGRhdGVSZW5kZXJQYXNzRGVzYygmbUdyYXBoaWNzUGlwZWxpbmVU
cmFuc2l0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbURyYXdGcmFtZWJ1ZmZlci0+Z2V0UmVuZGVyUGFzc0Rlc2MoKSk7Ci0g
ICAgICAgICAgICAgICAgaW52YWxpZGF0ZUN1cnJlbnRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMo
KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNh
c2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfUkVOREVSQlVGRkVSX0JJTkRJTkc6CkBAIC0yNzg2LDYg
KzI4MjgsNyBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3luY1N0YXRlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgIG1WZXJ0ZXhBcnJheSA9IHZrOjpHZXRJ
bXBsKGdsU3RhdGUuZ2V0VmVydGV4QXJyYXkoKSk7CiAgICAgICAgICAgICAgICAgaW52YWxpZGF0
ZURlZmF1bHRBdHRyaWJ1dGVzKGNvbnRleHQtPmdldFN0YXRlQ2FjaGUoKS5nZXRBY3RpdmVEZWZh
dWx0QXR0cmlic01hc2soKSk7CiAgICAgICAgICAgICAgICAgbVZlcnRleEFycmF5LT51cGRhdGVB
Y3RpdmVBdHRyaWJJbmZvKHRoaXMpOworICAgICAgICAgICAgICAgIHNldEluZGV4QnVmZmVyRGly
dHkoKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfRFJBV19JTkRJUkVDVF9CVUZGRVJfQklORElORzoK
QEAgLTI3OTMsOCArMjgzNiw3IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpzeW5jU3RhdGUo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6
RElSVFlfQklUX0RJU1BBVENIX0lORElSRUNUX0JVRkZFUl9CSU5ESU5HOgogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9QUk9HUkFN
X0JJTkRJTkc6Ci0gICAgICAgICAgICAgICAgbVByb2dyYW0gICAgPSB2azo6R2V0SW1wbChnbFN0
YXRlLmdldFByb2dyYW0oKSk7Ci0gICAgICAgICAgICAgICAgbUV4ZWN1dGFibGUgPSAmbVByb2dy
YW0tPmdldEV4ZWN1dGFibGUoKTsKKyAgICAgICAgICAgICAgICBpbnZhbGlkYXRlUHJvZ3JhbUJp
bmRpbmdIZWxwZXIoZ2xTdGF0ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX1BST0dSQU1fRVhFQ1VUQUJMRToKICAgICAgICAg
ICAgIHsKQEAgLTI4MDQsMjUgKzI4NDYsNyBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3lu
Y1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICBnbDo6U3RhdGU6OkRJUlRZX0JJVF9QUk9HUkFNX0VYRUNVVEFCTEUpOwogICAgICAgICAgICAg
ICAgIGl0ZXIuc2V0TGF0ZXJCaXQoZ2w6OlN0YXRlOjpESVJUWV9CSVRfVEVYVFVSRV9CSU5ESU5H
Uyk7CiAgICAgICAgICAgICAgICAgaW52YWxpZGF0ZUN1cnJlbnRTaGFkZXJSZXNvdXJjZXMoKTsK
LSAgICAgICAgICAgICAgICBpZiAocHJvZ3JhbUV4ZWN1dGFibGUtPmlzQ29tcHV0ZSgpKQotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgaW52YWxpZGF0ZUN1cnJlbnRDb21w
dXRlUGlwZWxpbmUoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gTm8gYWRkaXRpb25hbCB3
b3JrIGlzIG5lZWRlZCBoZXJlLiBXZSB3aWxsIHVwZGF0ZSB0aGUgcGlwZWxpbmUgZGVzYwotICAg
ICAgICAgICAgICAgICAgICAvLyBsYXRlci4KLSAgICAgICAgICAgICAgICAgICAgaW52YWxpZGF0
ZURlZmF1bHRBdHRyaWJ1dGVzKAotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+Z2V0
U3RhdGVDYWNoZSgpLmdldEFjdGl2ZURlZmF1bHRBdHRyaWJzTWFzaygpKTsKLSAgICAgICAgICAg
ICAgICAgICAgaW52YWxpZGF0ZVZlcnRleEFuZEluZGV4QnVmZmVycygpOwotICAgICAgICAgICAg
ICAgICAgICBib29sIHVzZVZlcnRleEJ1ZmZlciA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAo
Y29udGV4dC0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLT5nZXRNYXhBY3RpdmVB
dHRyaWJMb2NhdGlvbigpID4KLSAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICAgICAg
ICAgICAgICAgICAgbU5vbkluZGV4ZWREaXJ0eUJpdHNNYXNrLnNldChESVJUWV9CSVRfVkVSVEVY
X0JVRkZFUlMsIHVzZVZlcnRleEJ1ZmZlcik7Ci0gICAgICAgICAgICAgICAgICAgIG1JbmRleGVk
RGlydHlCaXRzTWFzay5zZXQoRElSVFlfQklUX1ZFUlRFWF9CVUZGRVJTLCB1c2VWZXJ0ZXhCdWZm
ZXIpOwotICAgICAgICAgICAgICAgICAgICBtQ3VycmVudEdyYXBoaWNzUGlwZWxpbmUgPSBudWxs
cHRyOwotICAgICAgICAgICAgICAgICAgICBtR3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24ucmVz
ZXQoKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgQU5HTEVfVFJZKGludmFs
aWRhdGVQcm9ncmFtRXhlY3V0YWJsZUhlbHBlcihjb250ZXh0KSk7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlf
QklUX1NBTVBMRVJfQklORElOR1M6CkBAIC0yODc0LDYgKzI4OTgsMTEgQEAgYW5nbGU6OlJlc3Vs
dCBDb250ZXh0Vms6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfUFJPVk9LSU5H
X1ZFUlRFWDoKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgZ2w6OlN0
YXRlOjpESVJUWV9CSVRfRVhURU5ERUQ6CisgICAgICAgICAgICAgICAgLy8gSGFuZGxpbmcgY2xp
cCBkaXN0YW5jZSBlbmFibGVkIGZsYWdzLCBtaXBtYXAgZ2VuZXJhdGlvbiBoaW50ICYgc2hhZGVy
IGRlcml2YXRpdmUKKyAgICAgICAgICAgICAgICAvLyBoaW50LgorICAgICAgICAgICAgICAgIGlu
dmFsaWRhdGVHcmFwaGljc0RyaXZlclVuaWZvcm1zKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yOTYyLDcgKzI5OTEsNyBAQCB2b2lkIENvbnRleHRW
azo6dXBkYXRlU3VyZmFjZVJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVyKGNvbnN0IGdsOjpTdGF0ZSAm
Z2xTdGF0ZSkKIHZvaWQgQ29udGV4dFZrOjp1cGRhdGVTdXJmYWNlUm90YXRpb25SZWFkRnJhbWVi
dWZmZXIoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKQogewogICAgIGdsOjpGcmFtZWJ1ZmZlciAq
cmVhZEZyYW1lYnVmZmVyID0gZ2xTdGF0ZS5nZXRSZWFkRnJhbWVidWZmZXIoKTsKLSAgICBtQ3Vy
cmVudFJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVyID0KKyAgICBtQ3VycmVudFJvdGF0aW9uUmVhZEZy
YW1lYnVmZmVyID0KICAgICAgICAgRGV0ZXJtaW5lU3VyZmFjZVJvdGF0aW9uKHJlYWRGcmFtZWJ1
ZmZlciwgbUN1cnJlbnRXaW5kb3dTdXJmYWNlKTsKIH0KIApAQCAtMzA3Niw3ICszMTA1LDcgQEAg
dm9pZCBDb250ZXh0Vms6OmludmFsaWRhdGVDdXJyZW50RGVmYXVsdFVuaWZvcm1zKCkKICAgICBj
b25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0UHJvZ3Jh
bUV4ZWN1dGFibGUoKTsKICAgICBBU1NFUlQoZXhlY3V0YWJsZSk7CiAKLSAgICBpZiAoZXhlY3V0
YWJsZS0+aGFzRGVmYXVsdFVuaWZvcm1zKG1TdGF0ZSkpCisgICAgaWYgKGV4ZWN1dGFibGUtPmhh
c0RlZmF1bHRVbmlmb3JtcygpKQogICAgIHsKICAgICAgICAgbUdyYXBoaWNzRGlydHlCaXRzLnNl
dChESVJUWV9CSVRfREVTQ1JJUFRPUl9TRVRTKTsKICAgICAgICAgbUNvbXB1dGVEaXJ0eUJpdHMu
c2V0KERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMpOwpAQCAtMzA4OCw3ICszMTE3LDcgQEAgYW5n
bGU6OlJlc3VsdCBDb250ZXh0Vms6OmludmFsaWRhdGVDdXJyZW50VGV4dHVyZXMoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQpCiAgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICpleGVj
dXRhYmxlID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7CiAgICAgQVNTRVJUKGV4ZWN1
dGFibGUpOwogCi0gICAgaWYgKGV4ZWN1dGFibGUtPmhhc1RleHR1cmVzKG1TdGF0ZSkpCisgICAg
aWYgKGV4ZWN1dGFibGUtPmhhc1RleHR1cmVzKCkpCiAgICAgewogICAgICAgICBtR3JhcGhpY3NE
aXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9URVhUVVJFUyk7CiAgICAgICAgIG1HcmFwaGljc0RpcnR5
Qml0cy5zZXQoRElSVFlfQklUX0RFU0NSSVBUT1JfU0VUUyk7CkBAIC0zMTA2LDggKzMxMzUsOCBA
QCB2b2lkIENvbnRleHRWazo6aW52YWxpZGF0ZUN1cnJlbnRTaGFkZXJSZXNvdXJjZXMoKQogICAg
IGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAqZXhlY3V0YWJsZSA9IG1TdGF0ZS5nZXRQcm9n
cmFtRXhlY3V0YWJsZSgpOwogICAgIEFTU0VSVChleGVjdXRhYmxlKTsKIAotICAgIGlmIChleGVj
dXRhYmxlLT5oYXNVbmlmb3JtQnVmZmVycyhtU3RhdGUpIHx8IGV4ZWN1dGFibGUtPmhhc1N0b3Jh
Z2VCdWZmZXJzKG1TdGF0ZSkgfHwKLSAgICAgICAgZXhlY3V0YWJsZS0+aGFzQXRvbWljQ291bnRl
ckJ1ZmZlcnMobVN0YXRlKSB8fCBleGVjdXRhYmxlLT5oYXNJbWFnZXMobVN0YXRlKSkKKyAgICBp
ZiAoZXhlY3V0YWJsZS0+aGFzVW5pZm9ybUJ1ZmZlcnMoKSB8fCBleGVjdXRhYmxlLT5oYXNTdG9y
YWdlQnVmZmVycygpIHx8CisgICAgICAgIGV4ZWN1dGFibGUtPmhhc0F0b21pY0NvdW50ZXJCdWZm
ZXJzKCkgfHwgZXhlY3V0YWJsZS0+aGFzSW1hZ2VzKCkpCiAgICAgewogICAgICAgICBtR3JhcGhp
Y3NEaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9TSEFERVJfUkVTT1VSQ0VTKTsKICAgICAgICAgbUdy
YXBoaWNzRGlydHlCaXRzLnNldChESVJUWV9CSVRfREVTQ1JJUFRPUl9TRVRTKTsKQEAgLTMxNTcs
MTYgKzMxODYsMTEgQEAgdm9pZCBDb250ZXh0Vms6OmludmFsaWRhdGVDdXJyZW50VHJhbnNmb3Jt
RmVlZGJhY2tCdWZmZXJzKCkKICAgICB9CiB9CiAKLXZvaWQgQ29udGV4dFZrOjppbnZhbGlkYXRl
Q3VycmVudFRyYW5zZm9ybUZlZWRiYWNrU3RhdGUoKQotewotICAgIG1HcmFwaGljc0RpcnR5Qml0
cy5zZXQoRElSVFlfQklUX1RSQU5TRk9STV9GRUVEQkFDS19TVEFURSk7Ci19Ci0KIHZvaWQgQ29u
dGV4dFZrOjpvblRyYW5zZm9ybUZlZWRiYWNrU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBpZiAoZ2V0
RmVhdHVyZXMoKS5zdXBwb3J0c1RyYW5zZm9ybUZlZWRiYWNrRXh0ZW5zaW9uLmVuYWJsZWQpCiAg
ICAgewotICAgICAgICBpbnZhbGlkYXRlQ3VycmVudFRyYW5zZm9ybUZlZWRiYWNrU3RhdGUoKTsK
KyAgICAgICAgbUdyYXBoaWNzRGlydHlCaXRzLnNldChESVJUWV9CSVRfVFJBTlNGT1JNX0ZFRURC
QUNLX1NUQVRFKTsKICAgICB9CiAgICAgZWxzZSBpZiAoZ2V0RmVhdHVyZXMoKS5lbXVsYXRlVHJh
bnNmb3JtRmVlZGJhY2suZW5hYmxlZCkKICAgICB7CkBAIC0zMjE0LDggKzMyMzgsOCBAQCBhbmds
ZTo6UmVzdWx0IENvbnRleHRWazo6ZGlzcGF0Y2hDb21wdXRlSW5kaXJlY3QoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsIEdMaQogCiAgICAgZ2w6OkJ1ZmZlciAqZ2xCdWZmZXIgICAgID0gZ2V0
U3RhdGUoKS5nZXRUYXJnZXRCdWZmZXIoZ2w6OkJ1ZmZlckJpbmRpbmc6OkRpc3BhdGNoSW5kaXJl
Y3QpOwogICAgIHZrOjpCdWZmZXJIZWxwZXIgJmJ1ZmZlciA9IHZrOjpHZXRJbXBsKGdsQnVmZmVy
KS0+Z2V0QnVmZmVyKCk7Ci0gICAgbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMuYnVmZmVyUmVh
ZCgmbVJlc291cmNlVXNlTGlzdCwgVktfQUNDRVNTX0lORElSRUNUX0NPTU1BTkRfUkVBRF9CSVQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmZmVyKTsKKyAg
ICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+YnVmZmVyUmVhZCgmbVJlc291cmNlVXNlTGlz
dCwgVktfQUNDRVNTX0lORElSRUNUX0NPTU1BTkRfUkVBRF9CSVQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OlBpcGVsaW5lU3RhZ2U6OkRyYXdJbmRpcmVj
dCwgJmJ1ZmZlcik7CiAKICAgICBjb21tYW5kQnVmZmVyLT5kaXNwYXRjaEluZGlyZWN0KGJ1ZmZl
ci5nZXRCdWZmZXIoKSwgaW5kaXJlY3QpOwogCkBAIC0zMzc1LDYgKzMzOTksNyBAQCBhbmdsZTo6
UmVzdWx0IENvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc0RyaXZlclVuaWZvcm1zKGNvbnN0
IGdsOjpDb250ZXh0ICpjbwogICAgICAgICBoYWxmUmVuZGVyQXJlYUhlaWdodCwKICAgICAgICAg
c2NhbGVZLAogICAgICAgICAtc2NhbGVZLAorICAgICAgICBtU3RhdGUuZ2V0RW5hYmxlZENsaXBE
aXN0YW5jZXMoKS5iaXRzKCksCiAgICAgICAgIHhmYkFjdGl2ZVVucGF1c2VkLAogICAgICAgICBt
WGZiVmVydGV4Q291bnRQZXJJbnN0YW5jZSwKICAgICAgICAge30sCkBAIC0zNDI5LDcgKzM0NTQs
NyBAQCB2b2lkIENvbnRleHRWazo6aGFuZGxlRGlydHlEcml2ZXJVbmlmb3Jtc0JpbmRpbmdJbXBs
KAogICAgIGNvbnN0IERyaXZlclVuaWZvcm1zRGVzY3JpcHRvclNldCAmZHJpdmVyVW5pZm9ybXMp
CiB7CiAgICAgY29tbWFuZEJ1ZmZlci0+YmluZERlc2NyaXB0b3JTZXRzKAotICAgICAgICBtUHJv
Z3JhbS0+Z2V0UGlwZWxpbmVMYXlvdXQoKSwgYmluZFBvaW50LCBrRHJpdmVyVW5pZm9ybXNEZXNj
cmlwdG9yU2V0SW5kZXgsIDEsCisgICAgICAgIG1FeGVjdXRhYmxlLT5nZXRQaXBlbGluZUxheW91
dCgpLCBiaW5kUG9pbnQsIGtEcml2ZXJVbmlmb3Jtc0Rlc2NyaXB0b3JTZXRJbmRleCwgMSwKICAg
ICAgICAgJmRyaXZlclVuaWZvcm1zLmRlc2NyaXB0b3JTZXQsIDEsICZkcml2ZXJVbmlmb3Jtcy5k
eW5hbWljT2Zmc2V0KTsKIH0KIApAQCAtMzUyMCw3ICszNTQ1LDggQEAgdm9pZCBDb250ZXh0Vms6
OmhhbmRsZUVycm9yKFZrUmVzdWx0IGVycm9yQ29kZSwKICAgICBHTGVudW0gZ2xFcnJvckNvZGUg
PSBEZWZhdWx0R0xFcnJvckNvZGUoZXJyb3JDb2RlKTsKIAogICAgIHN0ZDo6c3RyaW5nc3RyZWFt
IGVycm9yU3RyZWFtOwotICAgIGVycm9yU3RyZWFtIDw8ICJJbnRlcm5hbCBWdWxrYW4gZXJyb3I6
ICIgPDwgVnVsa2FuUmVzdWx0U3RyaW5nKGVycm9yQ29kZSkgPDwgIi4iOworICAgIGVycm9yU3Ry
ZWFtIDw8ICJJbnRlcm5hbCBWdWxrYW4gZXJyb3IgKCIgPDwgZXJyb3JDb2RlIDw8ICIpOiAiIDw8
IFZ1bGthblJlc3VsdFN0cmluZyhlcnJvckNvZGUpCisgICAgICAgICAgICAgICAgPDwgIi4iOwog
CiAgICAgaWYgKGVycm9yQ29kZSA9PSBWS19FUlJPUl9ERVZJQ0VfTE9TVCkKICAgICB7CkBAIC0z
NTgzLDcgKzM2MDksNyBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6dXBkYXRlQWN0aXZlVGV4
dHVyZXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB9CiAKIGFuZ2xlOjpSZXN1bHQgQ29u
dGV4dFZrOjp1cGRhdGVBY3RpdmVJbWFnZXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRCdWZmZXJI
ZWxwZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZrOjpDb21tYW5kQnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVySGVs
cGVyKQogewogICAgIGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSAgICAgICAgICAgICAgICA9IG1T
dGF0ZTsKICAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUgPSBnbFN0
YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7CkBAIC0zNTkyLDYgKzM2MTgsOCBAQCBhbmdsZTo6
UmVzdWx0IENvbnRleHRWazo6dXBkYXRlQWN0aXZlSW1hZ2VzKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgIG1BY3RpdmVJbWFnZXMuZmlsbChudWxscHRyKTsKIAogICAgIGNvbnN0IGds
OjpBY3RpdmVUZXh0dXJlTWFzayAmYWN0aXZlSW1hZ2VzID0gZXhlY3V0YWJsZS0+Z2V0QWN0aXZl
SW1hZ2VzTWFzaygpOworICAgIGNvbnN0IGdsOjpBY3RpdmVUZXh0dXJlQXJyYXk8Z2w6OlNoYWRl
ckJpdFNldD4gJmFjdGl2ZUltYWdlU2hhZGVyQml0cyA9CisgICAgICAgIGV4ZWN1dGFibGUtPmdl
dEFjdGl2ZUltYWdlU2hhZGVyQml0cygpOwogCiAgICAgLy8gTm90ZTogY3VycmVudGx5LCB0aGUg
aW1hZ2UgbGF5b3V0IGlzIHRyYW5zaXRpb25lZCBlbnRpcmVseSBldmVuIGlmIG9ubHkgb25lIGxl
dmVsIG9yIGxheWVyIGlzCiAgICAgLy8gdXNlZC4gIFRoaXMgaXMgYW4gaXNzdWUgaWYgb25lIHN1
YnJlc291cmNlIG9mIHRoZSBpbWFnZSBpcyB1c2VkIGFzIGZyYW1lYnVmZmVyIGF0dGFjaG1lbnQg
YW5kCkBAIC0zNjI0LDEzICszNjUyLDI2IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjp1cGRh
dGVBY3RpdmVJbWFnZXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIC8vIFRo
ZSBpbWFnZSBzaG91bGQgYmUgZmx1c2hlZCBhbmQgcmVhZHkgdG8gdXNlIGF0IHRoaXMgcG9pbnQu
IFRoZXJlIG1heSBzdGlsbCBiZQogICAgICAgICAvLyBsaW5nZXJpbmcgc3RhZ2VkIHVwZGF0ZXMg
aW4gaXRzIHN0YWdpbmcgYnVmZmVyIGZvciB1bnVzZWQgdGV4dHVyZSBtaXAgbGV2ZWxzIG9yCiAg
ICAgICAgIC8vIGxheWVycy4gVGhlcmVmb3JlIHdlIGNhbid0IHZlcmlmeSBpdCBoYXMgbm8gc3Rh
Z2VkIHVwZGF0ZXMgcmlnaHQgaGVyZS4KLQotICAgICAgICB2azo6SW1hZ2VMYXlvdXQgaW1hZ2VM
YXlvdXQgPSB2azo6SW1hZ2VMYXlvdXQ6OkFsbEdyYXBoaWNzU2hhZGVyc1dyaXRlOwotICAgICAg
ICBpZiAoZXhlY3V0YWJsZS0+aXNDb21wdXRlKCkpCisgICAgICAgIHZrOjpJbWFnZUxheW91dCBp
bWFnZUxheW91dDsKKyAgICAgICAgZ2w6OlNoYWRlckJpdFNldCBzaGFkZXJCaXRzID0gYWN0aXZl
SW1hZ2VTaGFkZXJCaXRzW2ltYWdlVW5pdEluZGV4XTsKKyAgICAgICAgaWYgKHNoYWRlckJpdHMu
YW55KCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsOjpTaGFkZXJUeXBlIHNoYWRlciA9IHN0
YXRpY19jYXN0PGdsOjpTaGFkZXJUeXBlPihnbDo6U2NhbkZvcndhcmQoc2hhZGVyQml0cy5iaXRz
KCkpKTsKKyAgICAgICAgICAgIHNoYWRlckJpdHMucmVzZXQoc2hhZGVyKTsKKyAgICAgICAgICAg
IC8vIFRoaXMgaXMgYWNjZXNzZWQgYnkgbXVsdGlwbGUgc2hhZGVycworICAgICAgICAgICAgaWYg
KHNoYWRlckJpdHMuYW55KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaW1hZ2VM
YXlvdXQgPSB2azo6SW1hZ2VMYXlvdXQ6OkFsbEdyYXBoaWNzU2hhZGVyc1JlYWRXcml0ZTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBpbWFnZUxheW91dCA9IGtTaGFkZXJXcml0ZUltYWdlTGF5b3V0c1tzaGFkZXJdOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAg
ICAgaW1hZ2VMYXlvdXQgPSB2azo6SW1hZ2VMYXlvdXQ6OkNvbXB1dGVTaGFkZXJXcml0ZTsKKyAg
ICAgICAgICAgIGltYWdlTGF5b3V0ID0gdms6OkltYWdlTGF5b3V0OjpBbGxHcmFwaGljc1NoYWRl
cnNSZWFkV3JpdGU7CiAgICAgICAgIH0KLQogICAgICAgICBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNw
ZWN0RmxhZ3MgPSBpbWFnZS0+Z2V0QXNwZWN0RmxhZ3MoKTsKIAogICAgICAgICBjb21tYW5kQnVm
ZmVySGVscGVyLT5pbWFnZVdyaXRlKCZtUmVzb3VyY2VVc2VMaXN0LCBhc3BlY3RGbGFncywgaW1h
Z2VMYXlvdXQsIGltYWdlKTsKQEAgLTM2NTIsNyArMzY5Myw3IEBAIGJvb2wgQ29udGV4dFZrOjpz
aG91bGRGbHVzaCgpCiAKIGJvb2wgQ29udGV4dFZrOjpoYXNSZWNvcmRlZENvbW1hbmRzKCkKIHsK
LSAgICByZXR1cm4gIW1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLmVtcHR5KCkgfHwgIW1SZW5k
ZXJQYXNzQ29tbWFuZHMuZW1wdHkoKSB8fAorICAgIHJldHVybiAhbU91dHNpZGVSZW5kZXJQYXNz
Q29tbWFuZHMtPmVtcHR5KCkgfHwgIW1SZW5kZXJQYXNzQ29tbWFuZHMtPmVtcHR5KCkgfHwKICAg
ICAgICAgICAgbUhhc1ByaW1hcnlDb21tYW5kczsKIH0KIApAQCAtMzY2Niw3ICszNzA3LDcgQEAg
YW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmZsdXNoSW1wbChjb25zdCB2azo6U2VtYXBob3JlICpz
aWduYWxTZW1hcGhvcmUpCiAKICAgICBBTkdMRV9UUkFDRV9FVkVOVDAoImdwdS5hbmdsZSIsICJD
b250ZXh0Vms6OmZsdXNoIik7CiAKLSAgICBmbHVzaE91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMo
KTsKKyAgICBBTkdMRV9UUlkoZmx1c2hPdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzKCkpOwogICAg
IEFOR0xFX1RSWShlbmRSZW5kZXJQYXNzKCkpOwogCiAgICAgaWYgKG1Jc0FueUhvc3RWaXNpYmxl
QnVmZmVyV3JpdHRlbikKQEAgLTM2NzksMjQgKzM3MjAsMjUgQEAgYW5nbGU6OlJlc3VsdCBDb250
ZXh0Vms6OmZsdXNoSW1wbChjb25zdCB2azo6U2VtYXBob3JlICpzaWduYWxTZW1hcGhvcmUpCiAg
ICAgICAgIG1lbW9yeUJhcnJpZXIuc3JjQWNjZXNzTWFzayAgID0gVktfQUNDRVNTX01FTU9SWV9X
UklURV9CSVQ7CiAgICAgICAgIG1lbW9yeUJhcnJpZXIuZHN0QWNjZXNzTWFzayAgID0gVktfQUND
RVNTX0hPU1RfUkVBRF9CSVQ7CiAKLSAgICAgICAgbVByaW1hcnlDb21tYW5kcy5tZW1vcnlCYXJy
aWVyKFZLX1BJUEVMSU5FX1NUQUdFX0FMTF9DT01NQU5EU19CSVQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9IT1NUX0JJVCwgJm1lbW9y
eUJhcnJpZXIpOworICAgICAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+Z2V0Q29tbWFu
ZEJ1ZmZlcigpLm1lbW9yeUJhcnJpZXIoCisgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9B
TExfQ09NTUFORFNfQklULCBWS19QSVBFTElORV9TVEFHRV9IT1NUX0JJVCwgJm1lbW9yeUJhcnJp
ZXIpOwogICAgICAgICBtSXNBbnlIb3N0VmlzaWJsZUJ1ZmZlcldyaXR0ZW4gPSBmYWxzZTsKICAg
ICB9CiAKICAgICBpZiAobUdwdUV2ZW50c0VuYWJsZWQpCiAgICAgewogICAgICAgICBFdmVudE5h
bWUgZXZlbnROYW1lID0gR2V0VHJhY2VFdmVudE5hbWUoIlByaW1hcnkiLCBtUHJpbWFyeUJ1ZmZl
ckNvdW50ZXIpOwotICAgICAgICBBTkdMRV9UUlkodHJhY2VHcHVFdmVudCgmbVByaW1hcnlDb21t
YW5kcywgVFJBQ0VfRVZFTlRfUEhBU0VfRU5ELCBldmVudE5hbWUpKTsKKyAgICAgICAgQU5HTEVf
VFJZKHRyYWNlR3B1RXZlbnQoJm1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLT5nZXRDb21tYW5k
QnVmZmVyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUNFX0VWRU5UX1BI
QVNFX0VORCwgZXZlbnROYW1lKSk7CiAgICAgfQotCisgICAgQU5HTEVfVFJZKGZsdXNoT3V0c2lk
ZVJlbmRlclBhc3NDb21tYW5kcygpKTsKICAgICBBTkdMRV9WS19UUlkodGhpcywgbVByaW1hcnlD
b21tYW5kcy5lbmQoKSk7CiAKICAgICAvLyBGcmVlIHNlY29uZGFyeSBjb21tYW5kIHBvb2wgYWxs
b2NhdGlvbnMgYW5kIHJlc3RhcnQgY29tbWFuZCBidWZmZXJzIHdpdGggdGhlIG5ldyBwYWdlLgog
ICAgIG1Qb29sQWxsb2NhdG9yLnBvcCgpOwogICAgIG1Qb29sQWxsb2NhdG9yLnB1c2goKTsKLSAg
ICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy5yZXNldCgpOwotICAgIG1SZW5kZXJQYXNzQ29t
bWFuZHMucmVzZXQoKTsKKyAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+cmVzZXQoKTsK
KyAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLT5yZXNldCgpOwogCiAgICAgU2VyaWFsIHNlcmlhbCA9
IGdldEN1cnJlbnRRdWV1ZVNlcmlhbCgpOwogICAgIG1SZXNvdXJjZVVzZUxpc3QucmVsZWFzZVJl
c291cmNlVXNlc0FuZFVwZGF0ZVNlcmlhbHMoc2VyaWFsKTsKQEAgLTM3MTksNyArMzc2MSw4IEBA
IGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpmbHVzaEltcGwoY29uc3Qgdms6OlNlbWFwaG9yZSAq
c2lnbmFsU2VtYXBob3JlKQogICAgIGlmIChtR3B1RXZlbnRzRW5hYmxlZCkKICAgICB7CiAgICAg
ICAgIEV2ZW50TmFtZSBldmVudE5hbWUgPSBHZXRUcmFjZUV2ZW50TmFtZSgiUHJpbWFyeSIsIG1Q
cmltYXJ5QnVmZmVyQ291bnRlcik7Ci0gICAgICAgIEFOR0xFX1RSWSh0cmFjZUdwdUV2ZW50KCZt
UHJpbWFyeUNvbW1hbmRzLCBUUkFDRV9FVkVOVF9QSEFTRV9CRUdJTiwgZXZlbnROYW1lKSk7Cisg
ICAgICAgIEFOR0xFX1RSWSh0cmFjZUdwdUV2ZW50KCZtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5k
cy0+Z2V0Q29tbWFuZEJ1ZmZlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
UkFDRV9FVkVOVF9QSEFTRV9CRUdJTiwgZXZlbnROYW1lKSk7CiAgICAgfQogCiAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMzg2MSw3ICszOTA0LDcgQEAgYW5nbGU6OlJl
c3VsdCBDb250ZXh0Vms6OmdldFRpbWVzdGFtcCh1aW50NjRfdCAqdGltZXN0YW1wT3V0KQogICAg
IGJlZ2luSW5mby5wSW5oZXJpdGFuY2VJbmZvICAgICAgICAgPSBudWxscHRyOwogCiAgICAgQU5H
TEVfVktfVFJZKHRoaXMsIGNvbW1hbmRCdWZmZXIuYmVnaW4oYmVnaW5JbmZvKSk7Ci0gICAgdGlt
ZXN0YW1wUXVlcnkud3JpdGVUaW1lc3RhbXAoJmNvbW1hbmRCdWZmZXIpOworICAgIHRpbWVzdGFt
cFF1ZXJ5LndyaXRlVGltZXN0YW1wKHRoaXMsICZjb21tYW5kQnVmZmVyKTsKICAgICBBTkdMRV9W
S19UUlkodGhpcywgY29tbWFuZEJ1ZmZlci5lbmQoKSk7CiAKICAgICAvLyBDcmVhdGUgZmVuY2Ug
Zm9yIHRoZSBzdWJtaXNzaW9uCkBAIC0zOTM0LDcgKzM5NzcsNyBAQCBhbmdsZTo6UmVzdWx0IENv
bnRleHRWazo6dXBkYXRlRGVmYXVsdEF0dHJpYnV0ZShzaXplX3QgYXR0cmliSW5kZXgpCiAgICAg
Y29uc3QgZ2w6OlZlcnRleEF0dHJpYkN1cnJlbnRWYWx1ZURhdGEgJmRlZmF1bHRWYWx1ZSA9CiAg
ICAgICAgIGdsU3RhdGUuZ2V0VmVydGV4QXR0cmliQ3VycmVudFZhbHVlcygpW2F0dHJpYkluZGV4
XTsKICAgICBtZW1jcHkocHRyLCAmZGVmYXVsdFZhbHVlLlZhbHVlcywga0RlZmF1bHRWYWx1ZVNp
emUpOwotCisgICAgQVNTRVJUKCFkZWZhdWx0QnVmZmVyLmlzQ29oZXJlbnQoKSk7CiAgICAgQU5H
TEVfVFJZKGRlZmF1bHRCdWZmZXIuZmx1c2godGhpcykpOwogCiAgICAgbVZlcnRleEFycmF5LT51
cGRhdGVEZWZhdWx0QXR0cmliKHRoaXMsIGF0dHJpYkluZGV4LCBidWZmZXJIYW5kbGUsCkBAIC0z
OTg1LDMwICs0MDI4LDM4IEBAIGJvb2wgQ29udGV4dFZrOjpzaG91bGRVc2VPbGRSZXdyaXRlU3Ry
dWN0U2FtcGxlcnMoKSBjb25zdAogICAgIHJldHVybiBtUmVuZGVyZXItPmdldEZlYXR1cmVzKCku
Zm9yY2VPbGRSZXdyaXRlU3RydWN0U2FtcGxlcnMuZW5hYmxlZDsKIH0KIAotYW5nbGU6OlJlc3Vs
dCBDb250ZXh0Vms6Om9uQnVmZmVyUmVhZChWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlLCB2
azo6QnVmZmVySGVscGVyICpidWZmZXIpCithbmdsZTo6UmVzdWx0IENvbnRleHRWazo6b25CdWZm
ZXJSZWFkKFZrQWNjZXNzRmxhZ3MgcmVhZEFjY2Vzc1R5cGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZrOjpQaXBlbGluZVN0YWdlIHJlYWRTdGFnZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAqYnVmZmVyKQog
eworICAgIEFTU0VSVCghYnVmZmVyLT5pc1JlbGVhc2VkVG9FeHRlcm5hbCgpKTsKKwogICAgIEFO
R0xFX1RSWShlbmRSZW5kZXJQYXNzKCkpOwogCiAgICAgaWYgKCFidWZmZXItPmNhbkFjY3VtdWxh
dGVSZWFkKHRoaXMsIHJlYWRBY2Nlc3NUeXBlKSkKICAgICB7Ci0gICAgICAgIGZsdXNoT3V0c2lk
ZVJlbmRlclBhc3NDb21tYW5kcygpOworICAgICAgICBBTkdMRV9UUlkoZmx1c2hPdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzKCkpOwogICAgIH0KIAotICAgIG1PdXRzaWRlUmVuZGVyUGFzc0NvbW1h
bmRzLmJ1ZmZlclJlYWQoJm1SZXNvdXJjZVVzZUxpc3QsIHJlYWRBY2Nlc3NUeXBlLCBidWZmZXIp
OworICAgIG1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLT5idWZmZXJSZWFkKCZtUmVzb3VyY2VV
c2VMaXN0LCByZWFkQWNjZXNzVHlwZSwgcmVhZFN0YWdlLCBidWZmZXIpOwogCiAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCi1hbmdsZTo6UmVzdWx0IENvbnRleHRWazo6
b25CdWZmZXJXcml0ZShWa0FjY2Vzc0ZsYWdzIHdyaXRlQWNjZXNzVHlwZSwgdms6OkJ1ZmZlckhl
bHBlciAqYnVmZmVyKQorYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6Om9uQnVmZmVyV3JpdGUoVmtB
Y2Nlc3NGbGFncyB3cml0ZUFjY2Vzc1R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2azo6UGlwZWxpbmVTdGFnZSB3cml0ZVN0YWdlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAqYnVmZmVyKQogeworICAg
IEFTU0VSVCghYnVmZmVyLT5pc1JlbGVhc2VkVG9FeHRlcm5hbCgpKTsKKwogICAgIEFOR0xFX1RS
WShlbmRSZW5kZXJQYXNzKCkpOwogCiAgICAgaWYgKCFidWZmZXItPmNhbkFjY3VtdWxhdGVXcml0
ZSh0aGlzLCB3cml0ZUFjY2Vzc1R5cGUpKQogICAgIHsKLSAgICAgICAgZmx1c2hPdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzKCk7CisgICAgICAgIEFOR0xFX1RSWShmbHVzaE91dHNpZGVSZW5kZXJQ
YXNzQ29tbWFuZHMoKSk7CiAgICAgfQogCi0gICAgbU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMu
YnVmZmVyV3JpdGUoJm1SZXNvdXJjZVVzZUxpc3QsIHdyaXRlQWNjZXNzVHlwZSwgYnVmZmVyKTsK
KyAgICBtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+YnVmZmVyV3JpdGUoJm1SZXNvdXJjZVVz
ZUxpc3QsIHdyaXRlQWNjZXNzVHlwZSwgd3JpdGVTdGFnZSwgYnVmZmVyKTsKIAogICAgIHJldHVy
biBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KQEAgLTQwMTcsNiArNDA2OCw4IEBAIGFuZ2xl
OjpSZXN1bHQgQ29udGV4dFZrOjpvbkltYWdlUmVhZChWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0
RmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlTGF5
b3V0IGltYWdlTGF5b3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZr
OjpJbWFnZUhlbHBlciAqaW1hZ2UpCiB7CisgICAgQVNTRVJUKCFpbWFnZS0+aXNSZWxlYXNlZFRv
RXh0ZXJuYWwoKSk7CisKICAgICBBTkdMRV9UUlkoZW5kUmVuZGVyUGFzcygpKTsKIAogICAgIGlm
IChpbWFnZS0+aXNMYXlvdXRDaGFuZ2VOZWNlc3NhcnkoaW1hZ2VMYXlvdXQpKQpAQCAtNDAzMyw2
ICs0MDg2LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6Om9uSW1hZ2VXcml0ZShWa0ltYWdl
QXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZrOjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdms6OkltYWdlSGVscGVyICppbWFnZSkKIHsKKyAgICBBU1NFUlQo
IWltYWdlLT5pc1JlbGVhc2VkVG9FeHRlcm5hbCgpKTsKKwogICAgIEFOR0xFX1RSWShlbmRSZW5k
ZXJQYXNzKCkpOwogCiAgICAgLy8gQmFycmllcnMgYXJlIGFsd2F5cyByZXF1aXJlZCBmb3IgaW1h
Z2Ugd3JpdGVzLgpAQCAtNDA1MiwxMSArNDEwNywxNCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRW
azo6Zmx1c2hBbmRCZWdpblJlbmRlclBhc3MoCiAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmcmVu
ZGVyQXJlYSwKICAgICBjb25zdCB2azo6UmVuZGVyUGFzc0Rlc2MgJnJlbmRlclBhc3NEZXNjLAog
ICAgIGNvbnN0IHZrOjpBdHRhY2htZW50T3BzQXJyYXkgJnJlbmRlclBhc3NBdHRhY2htZW50T3Bz
LAotICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFZrQ2xlYXJWYWx1ZT4gJmNsZWFyVmFsdWVzLAorICAg
IGNvbnN0IHZrOjpDbGVhclZhbHVlc0FycmF5ICZjbGVhclZhbHVlcywKICAgICB2azo6Q29tbWFu
ZEJ1ZmZlciAqKmNvbW1hbmRCdWZmZXJPdXQpCiB7Ci0gICAgdms6OlByaW1hcnlDb21tYW5kQnVm
ZmVyICpwcmltYXJ5OwotICAgIEFOR0xFX1RSWShmbHVzaEFuZEdldFByaW1hcnlDb21tYW5kQnVm
ZmVyKCZwcmltYXJ5KSk7CisgICAgLy8gRmx1c2ggYW55IG91dHNpZGUgcmVuZGVyUGFzcyBjb21t
YW5kcyBmaXJzdAorICAgIEFOR0xFX1RSWShmbHVzaE91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMo
KSk7CisgICAgLy8gTmV4dCBlbmQgYW55IGN1cnJlbnRseSBvdXRzdGFuZGluZyByZW5kZXJQYXNz
CisgICAgdms6OkNvbW1hbmRCdWZmZXIgKm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsK
KyAgICBBTkdMRV9UUlkoZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJm91dHNpZGVS
ZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikpOwogCiAgICAgZ2w6OlJlY3RhbmdsZSByb3RhdGVkUmVu
ZGVyQXJlYSA9IHJlbmRlckFyZWE7CiAgICAgaWYgKGlzUm90YXRlZEFzcGVjdFJhdGlvRm9yRHJh
d0ZCTygpKQpAQCAtNDA2NywzMyArNDEyNSw3OSBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6
Zmx1c2hBbmRCZWdpblJlbmRlclBhc3MoCiAgICAgICAgIHN0ZDo6c3dhcChyb3RhdGVkUmVuZGVy
QXJlYS53aWR0aCwgcm90YXRlZFJlbmRlckFyZWEuaGVpZ2h0KTsKICAgICB9CiAKLSAgICBtUmVu
ZGVyUGFzc0NvbW1hbmRzLmJlZ2luUmVuZGVyUGFzcyhmcmFtZWJ1ZmZlciwgcm90YXRlZFJlbmRl
ckFyZWEsIHJlbmRlclBhc3NEZXNjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbmRlclBhc3NBdHRhY2htZW50T3BzLCBjbGVhclZhbHVlcywgY29tbWFuZEJ1ZmZl
ck91dCk7CisgICAgbVJlbmRlclBhc3NDb21tYW5kcy0+YmVnaW5SZW5kZXJQYXNzKGZyYW1lYnVm
ZmVyLCByb3RhdGVkUmVuZGVyQXJlYSwgcmVuZGVyUGFzc0Rlc2MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclBhc3NBdHRhY2htZW50T3BzLCBjbGVhclZh
bHVlcywgY29tbWFuZEJ1ZmZlck91dCk7CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOworfQorCithbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3RhcnRSZW5kZXJQYXNzKGdsOjpS
ZWN0YW5nbGUgcmVuZGVyQXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKipjb21tYW5kQnVmZmVyT3V0KQoreworICAgIG1HcmFw
aGljc0RpcnR5Qml0cyB8PSBtTmV3R3JhcGhpY3NDb21tYW5kQnVmZmVyRGlydHlCaXRzOworICAg
IEFOR0xFX1RSWShtRHJhd0ZyYW1lYnVmZmVyLT5zdGFydE5ld1JlbmRlclBhc3ModGhpcywgcmVu
ZGVyQXJlYSwgJm1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikpOworICAgIGlmIChtQWN0aXZlUXVl
cnlBbnlTYW1wbGVzKQorICAgIHsKKyAgICAgICAgbUFjdGl2ZVF1ZXJ5QW55U2FtcGxlcy0+Z2V0
UXVlcnlIZWxwZXIoKS0+YmVnaW5PY2NsdXNpb25RdWVyeSh0aGlzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1S
ZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgfQorICAgIGlmIChtQWN0aXZlUXVlcnlBbnlT
YW1wbGVzQ29uc2VydmF0aXZlKQorICAgIHsKKyAgICAgICAgbUFjdGl2ZVF1ZXJ5QW55U2FtcGxl
c0NvbnNlcnZhdGl2ZS0+Z2V0UXVlcnlIZWxwZXIoKS0+YmVnaW5PY2NsdXNpb25RdWVyeSgKKyAg
ICAgICAgICAgIHRoaXMsIG1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgfQorCisgICAg
aWYgKGNvbW1hbmRCdWZmZXJPdXQpCisgICAgeworICAgICAgICAqY29tbWFuZEJ1ZmZlck91dCA9
IG1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsKKyAgICB9CisKICAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjplbmRSZW5kZXJQ
YXNzKCkKIHsKLSAgICBvblJlbmRlclBhc3NGaW5pc2hlZCgpOwotICAgIGlmIChtUmVuZGVyUGFz
c0NvbW1hbmRzLmVtcHR5KCkpCisgICAgaWYgKG1SZW5kZXJQYXNzQ29tbWFuZHMtPmVtcHR5KCkp
CiAgICAgeworICAgICAgICBvblJlbmRlclBhc3NGaW5pc2hlZCgpOwogICAgICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAgfQogCisgICAgQVNTRVJUKG1PdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzLT5lbXB0eSgpKTsKKyAgICBpZiAobUFjdGl2ZVF1ZXJ5QW55U2FtcGxl
cykKKyAgICB7CisgICAgICAgIG1BY3RpdmVRdWVyeUFueVNhbXBsZXMtPmdldFF1ZXJ5SGVscGVy
KCktPmVuZE9jY2x1c2lvblF1ZXJ5KHRoaXMsIG1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7Cisg
ICAgICAgIEFOR0xFX1RSWShtQWN0aXZlUXVlcnlBbnlTYW1wbGVzLT5zdGFzaFF1ZXJ5SGVscGVy
KHRoaXMpKTsKKyAgICB9CisgICAgaWYgKG1BY3RpdmVRdWVyeUFueVNhbXBsZXNDb25zZXJ2YXRp
dmUpCisgICAgeworICAgICAgICBtQWN0aXZlUXVlcnlBbnlTYW1wbGVzQ29uc2VydmF0aXZlLT5n
ZXRRdWVyeUhlbHBlcigpLT5lbmRPY2NsdXNpb25RdWVyeSgKKyAgICAgICAgICAgIHRoaXMsIG1S
ZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgICAgIEFOR0xFX1RSWShtQWN0aXZlUXVlcnlB
bnlTYW1wbGVzQ29uc2VydmF0aXZlLT5zdGFzaFF1ZXJ5SGVscGVyKHRoaXMpKTsKKyAgICB9CisK
KyAgICBvblJlbmRlclBhc3NGaW5pc2hlZCgpOworCiAgICAgaWYgKG1HcHVFdmVudHNFbmFibGVk
KQogICAgIHsKICAgICAgICAgbVJlbmRlclBhc3NDb3VudGVyKys7CiAKICAgICAgICAgRXZlbnRO
YW1lIGV2ZW50TmFtZSA9IEdldFRyYWNlRXZlbnROYW1lKCJSUCIsIG1SZW5kZXJQYXNzQ291bnRl
cik7Ci0gICAgICAgIEFOR0xFX1RSWSh0cmFjZUdwdUV2ZW50KCZtUHJpbWFyeUNvbW1hbmRzLCBU
UkFDRV9FVkVOVF9QSEFTRV9CRUdJTiwgZXZlbnROYW1lKSk7CisgICAgICAgIEFOR0xFX1RSWSh0
cmFjZUdwdUV2ZW50KCZtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+Z2V0Q29tbWFuZEJ1ZmZl
cigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFDRV9FVkVOVF9QSEFTRV9C
RUdJTiwgZXZlbnROYW1lKSk7CisgICAgICAgIEFOR0xFX1RSWShmbHVzaE91dHNpZGVSZW5kZXJQ
YXNzQ29tbWFuZHMoKSk7CiAgICAgfQogCi0gICAgQU5HTEVfVFJZKG1SZW5kZXJQYXNzQ29tbWFu
ZHMuZmx1c2hUb1ByaW1hcnkodGhpcywgJm1QcmltYXJ5Q29tbWFuZHMpKTsKKyAgICBtUmVuZGVy
UGFzc0NvbW1hbmRzLT5wYXVzZVRyYW5zZm9ybUZlZWRiYWNrSWZTdGFydGVkKCk7CisKKyAgICBB
TkdMRV9UUlkobVJlbmRlclBhc3NDb21tYW5kcy0+Zmx1c2hUb1ByaW1hcnkodGhpcywgJm1Qcmlt
YXJ5Q29tbWFuZHMpKTsKKyAgICBtSGFzUHJpbWFyeUNvbW1hbmRzID0gdHJ1ZTsKIAogICAgIGlm
IChtR3B1RXZlbnRzRW5hYmxlZCkKICAgICB7CiAgICAgICAgIEV2ZW50TmFtZSBldmVudE5hbWUg
PSBHZXRUcmFjZUV2ZW50TmFtZSgiUlAiLCBtUmVuZGVyUGFzc0NvdW50ZXIpOwotICAgICAgICBB
TkdMRV9UUlkodHJhY2VHcHVFdmVudCgmbVByaW1hcnlDb21tYW5kcywgVFJBQ0VfRVZFTlRfUEhB
U0VfRU5ELCBldmVudE5hbWUpKTsKKyAgICAgICAgQU5HTEVfVFJZKHRyYWNlR3B1RXZlbnQoJm1P
dXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLT5nZXRDb21tYW5kQnVmZmVyKCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRSQUNFX0VWRU5UX1BIQVNFX0VORCwgZXZlbnROYW1lKSk7
CisgICAgICAgIEFOR0xFX1RSWShmbHVzaE91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMoKSk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtNDEwMyw3ICs0
MjA3LDcgQEAgdm9pZCBDb250ZXh0Vms6Om9uUmVuZGVyUGFzc0ltYWdlV3JpdGUoVmtJbWFnZUFz
cGVjdEZsYWdzIGFzcGVjdEZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdms6OkltYWdlTGF5b3V0IGltYWdlTGF5b3V0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdms6OkltYWdlSGVscGVyICppbWFnZSkKIHsKLSAgICBtUmVuZGVy
UGFzc0NvbW1hbmRzLmltYWdlV3JpdGUoJm1SZXNvdXJjZVVzZUxpc3QsIGFzcGVjdEZsYWdzLCBp
bWFnZUxheW91dCwgaW1hZ2UpOworICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMtPmltYWdlV3JpdGUo
Jm1SZXNvdXJjZVVzZUxpc3QsIGFzcGVjdEZsYWdzLCBpbWFnZUxheW91dCwgaW1hZ2UpOwogfQog
CiBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3luY0V4dGVybmFsTWVtb3J5KCkKQEAgLTQxODQs
MzM2ICs0Mjg4LDY1IEBAIGJvb2wgQ29udGV4dFZrOjpzaG91bGRDb252ZXJ0VWludDhWa0luZGV4
VHlwZShnbDo6RHJhd0VsZW1lbnRzVHlwZSBnbEluZGV4VHlwZSkKICAgICAgICAgICAgICFtUmVu
ZGVyZXItPmdldEZlYXR1cmVzKCkuc3VwcG9ydHNJbmRleFR5cGVVaW50OC5lbmFibGVkKTsKIH0K
IAotdm9pZCBDb250ZXh0Vms6OmZsdXNoT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcygpCithbmds
ZTo6UmVzdWx0IENvbnRleHRWazo6Zmx1c2hPdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzKCkKIHsK
LSAgICBpZiAoIW1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLmVtcHR5KCkpCisgICAgaWYgKCFt
T3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy0+ZW1wdHkoKSkKICAgICB7Ci0gICAgICAgIG1PdXRz
aWRlUmVuZGVyUGFzc0NvbW1hbmRzLmZsdXNoVG9QcmltYXJ5KHRoaXMsICZtUHJpbWFyeUNvbW1h
bmRzKTsKKyAgICAgICAgQU5HTEVfVFJZKG1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzLT5mbHVz
aFRvUHJpbWFyeSh0aGlzLCAmbVByaW1hcnlDb21tYW5kcykpOwogICAgICAgICBtSGFzUHJpbWFy
eUNvbW1hbmRzID0gdHJ1ZTsKICAgICB9CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOwogfQogCi1Db21tYW5kQnVmZmVySGVscGVyOjpDb21tYW5kQnVmZmVySGVscGVyKCkKLSAg
ICA6IG1JbWFnZUJhcnJpZXJTcmNTdGFnZU1hc2soMCksCi0gICAgICBtSW1hZ2VCYXJyaWVyRHN0
U3RhZ2VNYXNrKDApLAotICAgICAgbUdsb2JhbE1lbW9yeUJhcnJpZXJTcmNBY2Nlc3MoMCksCi0g
ICAgICBtR2xvYmFsTWVtb3J5QmFycmllckRzdEFjY2VzcygwKSwKLSAgICAgIG1HbG9iYWxNZW1v
cnlCYXJyaWVyU3RhZ2VzKDApCi17fQotCi1Db21tYW5kQnVmZmVySGVscGVyOjp+Q29tbWFuZEJ1
ZmZlckhlbHBlcigpID0gZGVmYXVsdDsKLQotdm9pZCBDb21tYW5kQnVmZmVySGVscGVyOjpidWZm
ZXJSZWFkKHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmJ1
ZmZlcikKLXsKLSAgICBidWZmZXItPnJldGFpbihyZXNvdXJjZVVzZUxpc3QpOwotICAgIGJ1ZmZl
ci0+dXBkYXRlUmVhZEJhcnJpZXIocmVhZEFjY2Vzc1R5cGUsICZtR2xvYmFsTWVtb3J5QmFycmll
clNyY0FjY2VzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtR2xvYmFsTWVtb3J5
QmFycmllckRzdEFjY2Vzcyk7Ci0gICAgbUdsb2JhbE1lbW9yeUJhcnJpZXJTdGFnZXMgPSBWS19Q
SVBFTElORV9TVEFHRV9BTExfQ09NTUFORFNfQklUOwotfQotCi12b2lkIENvbW1hbmRCdWZmZXJI
ZWxwZXI6OmJ1ZmZlcldyaXRlKHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtBY2Nlc3NGbGFncyB3cml0
ZUFjY2Vzc1R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpC
dWZmZXJIZWxwZXIgKmJ1ZmZlcikKLXsKLSAgICBidWZmZXItPnJldGFpbihyZXNvdXJjZVVzZUxp
c3QpOwotICAgIGJ1ZmZlci0+dXBkYXRlV3JpdGVCYXJyaWVyKHdyaXRlQWNjZXNzVHlwZSwgJm1H
bG9iYWxNZW1vcnlCYXJyaWVyU3JjQWNjZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZtR2xvYmFsTWVtb3J5QmFycmllckRzdEFjY2Vzcyk7Ci0gICAgbUdsb2JhbE1lbW9yeUJh
cnJpZXJTdGFnZXMgPSBWS19QSVBFTElORV9TVEFHRV9BTExfQ09NTUFORFNfQklUOwotfQotCi12
b2lkIENvbW1hbmRCdWZmZXJIZWxwZXI6OmltYWdlQmFycmllcihWa1BpcGVsaW5lU3RhZ2VGbGFn
cyBzcmNTdGFnZU1hc2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
a1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RTdGFnZU1hc2ssCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBWa0ltYWdlTWVtb3J5QmFycmllciAmaW1hZ2VNZW1vcnlC
YXJyaWVyKQotewotICAgIEFTU0VSVChpbWFnZU1lbW9yeUJhcnJpZXIucE5leHQgPT0gbnVsbHB0
cik7Ci0gICAgbUltYWdlQmFycmllclNyY1N0YWdlTWFzayB8PSBzcmNTdGFnZU1hc2s7Ci0gICAg
bUltYWdlQmFycmllckRzdFN0YWdlTWFzayB8PSBkc3RTdGFnZU1hc2s7Ci0gICAgbUltYWdlTWVt
b3J5QmFycmllcnMucHVzaF9iYWNrKGltYWdlTWVtb3J5QmFycmllcik7Ci19Ci0KLXZvaWQgQ29t
bWFuZEJ1ZmZlckhlbHBlcjo6aW1hZ2VSZWFkKHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNl
VXNlTGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VBc3Bl
Y3RGbGFncyBhc3BlY3RGbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZrOjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZrOjpJbWFnZUhlbHBlciAqaW1hZ2UpCit2b2lkIENvbnRleHRWazo6YmVnaW5P
Y2NsdXNpb25RdWVyeShRdWVyeVZrICpxdWVyeVZrKQogewotICAgIGltYWdlLT5yZXRhaW4ocmVz
b3VyY2VVc2VMaXN0KTsKLSAgICBpZiAoaW1hZ2UtPmlzTGF5b3V0Q2hhbmdlTmVjZXNzYXJ5KGlt
YWdlTGF5b3V0KSkKKyAgICAvLyBUbyBhdm9pZCBjb21wbGV4aXR5LCB3ZSBhbHdheXMgc3RhcnQg
YW5kIGVuZCBvY2NsdXNpb24gcXVlcnkgaW5zaWRlIHJlbmRlcnBhc3MuIGlmIHJlbmRlcnBhc3MK
KyAgICAvLyBub3QgeWV0IHN0YXJ0ZWQsIHdlIGp1c3QgcmVtZW1iZXIgaXQgYW5kIGRlZmVyIHRo
ZSBzdGFydCBjYWxsLgorICAgIGlmIChtUmVuZGVyUGFzc0NvbW1hbmRzLT5zdGFydGVkKCkpCiAg
ICAgewotICAgICAgICBpbWFnZS0+Y2hhbmdlTGF5b3V0KGFzcGVjdEZsYWdzLCBpbWFnZUxheW91
dCwgdGhpcyk7CisgICAgICAgIHF1ZXJ5VmstPmdldFF1ZXJ5SGVscGVyKCktPmJlZ2luT2NjbHVz
aW9uUXVlcnkodGhpcywgbVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKICAgICB9Ci19Ci0KLXZv
aWQgQ29tbWFuZEJ1ZmZlckhlbHBlcjo6aW1hZ2VXcml0ZSh2azo6UmVzb3VyY2VVc2VMaXN0ICpy
ZXNvdXJjZVVzZUxpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtJ
bWFnZUFzcGVjdEZsYWdzIGFzcGVjdEZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZrOjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2azo6SW1hZ2VIZWxwZXIgKmltYWdlKQotewotICAgIGltYWdl
LT5yZXRhaW4ocmVzb3VyY2VVc2VMaXN0KTsKLSAgICBpbWFnZS0+Y2hhbmdlTGF5b3V0KGFzcGVj
dEZsYWdzLCBpbWFnZUxheW91dCwgdGhpcyk7Ci19Ci0KLXZvaWQgQ29tbWFuZEJ1ZmZlckhlbHBl
cjo6ZXhlY3V0ZUJhcnJpZXJzKHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeSkKLXsK
LSAgICBpZiAobUltYWdlTWVtb3J5QmFycmllcnMuZW1wdHkoKSAmJiBtR2xvYmFsTWVtb3J5QmFy
cmllclNyY0FjY2VzcyA9PSAwKQorICAgIGlmIChxdWVyeVZrLT5pc0FueVNhbXBsZXNRdWVyeSgp
KQogICAgIHsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBBU1NFUlQobUFjdGl2ZVF1ZXJ5QW55
U2FtcGxlcyA9PSBudWxscHRyKTsKKyAgICAgICAgbUFjdGl2ZVF1ZXJ5QW55U2FtcGxlcyA9IHF1
ZXJ5Vms7CiAgICAgfQotCi0gICAgVmtQaXBlbGluZVN0YWdlRmxhZ3Mgc3JjU3RhZ2VzID0gMDsK
LSAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RTdGFnZXMgPSAwOwotCi0gICAgVmtNZW1vcnlC
YXJyaWVyIG1lbW9yeUJhcnJpZXIgPSB7fTsKLSAgICB1aW50MzJfdCBtZW1vcnlCYXJyaWVyQ291
bnQgICA9IDA7Ci0KLSAgICBpZiAobUdsb2JhbE1lbW9yeUJhcnJpZXJTcmNBY2Nlc3MgIT0gMCkK
KyAgICBlbHNlIGlmIChxdWVyeVZrLT5pc0FueVNhbXBsZXNDb25zZXJ2YXRpdmVRdWVyeSgpKQog
ICAgIHsKLSAgICAgICAgbWVtb3J5QmFycmllci5zVHlwZSAgICAgICAgID0gVktfU1RSVUNUVVJF
X1RZUEVfTUVNT1JZX0JBUlJJRVI7Ci0gICAgICAgIG1lbW9yeUJhcnJpZXIuc3JjQWNjZXNzTWFz
ayA9IG1HbG9iYWxNZW1vcnlCYXJyaWVyU3JjQWNjZXNzOwotICAgICAgICBtZW1vcnlCYXJyaWVy
LmRzdEFjY2Vzc01hc2sgPSBtR2xvYmFsTWVtb3J5QmFycmllckRzdEFjY2VzczsKLQotICAgICAg
ICBtZW1vcnlCYXJyaWVyQ291bnQrKzsKLSAgICAgICAgc3JjU3RhZ2VzIHw9IG1HbG9iYWxNZW1v
cnlCYXJyaWVyU3RhZ2VzOwotICAgICAgICBkc3RTdGFnZXMgfD0gbUdsb2JhbE1lbW9yeUJhcnJp
ZXJTdGFnZXM7Ci0KLSAgICAgICAgbUdsb2JhbE1lbW9yeUJhcnJpZXJTcmNBY2Nlc3MgPSAwOwot
ICAgICAgICBtR2xvYmFsTWVtb3J5QmFycmllckRzdEFjY2VzcyA9IDA7Ci0gICAgICAgIG1HbG9i
YWxNZW1vcnlCYXJyaWVyU3RhZ2VzICAgID0gMDsKKyAgICAgICAgQVNTRVJUKG1BY3RpdmVRdWVy
eUFueVNhbXBsZXNDb25zZXJ2YXRpdmUgPT0gbnVsbHB0cik7CisgICAgICAgIG1BY3RpdmVRdWVy
eUFueVNhbXBsZXNDb25zZXJ2YXRpdmUgPSBxdWVyeVZrOwogICAgIH0KLQotICAgIHNyY1N0YWdl
cyB8PSBtSW1hZ2VCYXJyaWVyU3JjU3RhZ2VNYXNrOwotICAgIGRzdFN0YWdlcyB8PSBtSW1hZ2VC
YXJyaWVyRHN0U3RhZ2VNYXNrOwotICAgIHByaW1hcnktPnBpcGVsaW5lQmFycmllcihzcmNTdGFn
ZXMsIGRzdFN0YWdlcywgMCwgbWVtb3J5QmFycmllckNvdW50LCAmbWVtb3J5QmFycmllciwgMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG1JbWFnZU1lbW9yeUJhcnJpZXJzLnNpemUoKSksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1JbWFnZU1lbW9yeUJhcnJpZXJzLmRhdGEoKSk7Ci0gICAgbUltYWdlTWVtb3J5QmFy
cmllcnMuY2xlYXIoKTsKLSAgICBtSW1hZ2VCYXJyaWVyU3JjU3RhZ2VNYXNrID0gMDsKLSAgICBt
SW1hZ2VCYXJyaWVyRHN0U3RhZ2VNYXNrID0gMDsKLX0KLQotT3V0c2lkZVJlbmRlclBhc3NDb21t
YW5kQnVmZmVyOjpPdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIoKSA9IGRlZmF1bHQ7Ci0K
LU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6fk91dHNpZGVSZW5kZXJQYXNzQ29tbWFu
ZEJ1ZmZlcigpID0gZGVmYXVsdDsKLQotdm9pZCBPdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZm
ZXI6OmZsdXNoVG9QcmltYXJ5KENvbnRleHRWayAqY29udGV4dFZrLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpQcmltYXJ5Q29tbWFuZEJ1
ZmZlciAqcHJpbWFyeSkKLXsKLSAgICBpZiAoZW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKGtFbmFibGVDb21tYW5kU3RyZWFtRGlhZ25vc3RpY3MpCisgICAgZWxzZQogICAgIHsK
LSAgICAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIG91dDsKLSAgICAgICAgaWYgKG1HbG9iYWxNZW1v
cnlCYXJyaWVyU3JjQWNjZXNzICE9IDAgfHwgbUdsb2JhbE1lbW9yeUJhcnJpZXJEc3RBY2Nlc3Mg
IT0gMCkKLSAgICAgICAgewotICAgICAgICAgICAgb3V0IDw8ICJNZW1vcnkgQmFycmllciBTcmM6
IDB4IiA8PCBzdGQ6OmhleCA8PCBtR2xvYmFsTWVtb3J5QmFycmllclNyY0FjY2VzcwotICAgICAg
ICAgICAgICAgIDw8ICIgJnJhcnI7IERzdDogMHgiIDw8IHN0ZDo6aGV4IDw8IG1HbG9iYWxNZW1v
cnlCYXJyaWVyRHN0QWNjZXNzIDw8ICJcXGwiOwotICAgICAgICB9Ci0KLSAgICAgICAgb3V0IDw8
IG1Db21tYW5kQnVmZmVyLmR1bXBDb21tYW5kcygiXFxsIik7Ci0gICAgICAgIGNvbnRleHRWay0+
YWRkQ29tbWFuZEJ1ZmZlckRpYWdub3N0aWNzKG91dC5zdHIoKSk7CisgICAgICAgIFVOUkVBQ0hB
QkxFKCk7CiAgICAgfQotCi0gICAgZXhlY3V0ZUJhcnJpZXJzKHByaW1hcnkpOwotICAgIG1Db21t
YW5kQnVmZmVyLmV4ZWN1dGVDb21tYW5kcyhwcmltYXJ5LT5nZXRIYW5kbGUoKSk7Ci0KLSAgICAv
LyBSZXN0YXJ0IHNlY29uZGFyeSBidWZmZXIuCi0gICAgcmVzZXQoKTsKLX0KLQotdm9pZCBPdXRz
aWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXI6OnJlc2V0KCkKLXsKLSAgICBtQ29tbWFuZEJ1ZmZl
ci5yZXNldCgpOwotfQotCi1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6UmVuZGVyUGFzc0NvbW1h
bmRCdWZmZXIoKQotICAgIDogbUNvdW50ZXIoMCksCi0gICAgICBtQ2xlYXJWYWx1ZXN7fSwKLSAg
ICAgIG1SZW5kZXJQYXNzU3RhcnRlZChmYWxzZSksCi0gICAgICBtVHJhbnNmb3JtRmVlZGJhY2tD
b3VudGVyQnVmZmVyc3t9LAotICAgICAgbVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3Vu
dCgwKSwKLSAgICAgIG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMoZmFsc2UpCi17fQot
Ci1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6flJlbmRlclBhc3NDb21tYW5kQnVmZmVyKCkKLXsK
LSAgICBtRnJhbWVidWZmZXIuc2V0SGFuZGxlKFZLX05VTExfSEFORExFKTsKLX0KLQotdm9pZCBS
ZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6aW5pdGlhbGl6ZShhbmdsZTo6UG9vbEFsbG9jYXRvciAq
cG9vbEFsbG9jYXRvcikKLXsKLSAgICBtQ29tbWFuZEJ1ZmZlci5pbml0aWFsaXplKHBvb2xBbGxv
Y2F0b3IpOwotfQotCi12b2lkIFJlbmRlclBhc3NDb21tYW5kQnVmZmVyOjpiZWdpblJlbmRlclBh
c3MoY29uc3Qgdms6OkZyYW1lYnVmZmVyICZmcmFtZWJ1ZmZlciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZyZW5kZXJB
cmVhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHZrOjpSZW5kZXJQYXNzRGVzYyAmcmVuZGVyUGFzc0Rlc2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdms6OkF0dGFjaG1lbnRPcHNBcnJheSAm
cmVuZGVyUGFzc0F0dGFjaG1lbnRPcHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8VmtDbGVhclZhbHVlPiAmY2xlYXJWYWx1
ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNv
bW1hbmRCdWZmZXIgKipjb21tYW5kQnVmZmVyT3V0KQotewotICAgIEFTU0VSVChlbXB0eSgpKTsK
LQotICAgIG1SZW5kZXJQYXNzRGVzYyA9IHJlbmRlclBhc3NEZXNjOwotICAgIG1BdHRhY2htZW50
T3BzICA9IHJlbmRlclBhc3NBdHRhY2htZW50T3BzOwotICAgIG1GcmFtZWJ1ZmZlci5zZXRIYW5k
bGUoZnJhbWVidWZmZXIuZ2V0SGFuZGxlKCkpOwotICAgIG1SZW5kZXJBcmVhID0gcmVuZGVyQXJl
YTsKLSAgICBzdGQ6OmNvcHkoY2xlYXJWYWx1ZXMuYmVnaW4oKSwgY2xlYXJWYWx1ZXMuZW5kKCks
IG1DbGVhclZhbHVlcy5iZWdpbigpKTsKLQotICAgICpjb21tYW5kQnVmZmVyT3V0ID0gJm1Db21t
YW5kQnVmZmVyOwotCi0gICAgbVJlbmRlclBhc3NTdGFydGVkID0gdHJ1ZTsKLSAgICBtQ291bnRl
cisrOwogfQogCi12b2lkIFJlbmRlclBhc3NDb21tYW5kQnVmZmVyOjpiZWdpblRyYW5zZm9ybUZl
ZWRiYWNrKHNpemVfdCB2YWxpZEJ1ZmZlckNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0J1ZmZlciAqY291bnRlckJ1ZmZl
cnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgcmViaW5kQnVmZmVyKQordm9pZCBDb250ZXh0Vms6OmVuZE9jY2x1c2lvblF1ZXJ5KFF1
ZXJ5VmsgKnF1ZXJ5VmspCiB7Ci0gICAgbVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3Vu
dCA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pih2YWxpZEJ1ZmZlckNvdW50KTsKLSAgICBtUmViaW5k
VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzICAgID0gcmViaW5kQnVmZmVyOwotCi0gICAgZm9yIChz
aXplX3QgaW5kZXggPSAwOyBpbmRleCA8IHZhbGlkQnVmZmVyQ291bnQ7IGluZGV4KyspCisgICAg
aWYgKG1SZW5kZXJQYXNzQ29tbWFuZHMtPnN0YXJ0ZWQoKSkKICAgICB7Ci0gICAgICAgIG1UcmFu
c2Zvcm1GZWVkYmFja0NvdW50ZXJCdWZmZXJzW2luZGV4XSA9IGNvdW50ZXJCdWZmZXJzW2luZGV4
XTsKKyAgICAgICAgcXVlcnlWay0+Z2V0UXVlcnlIZWxwZXIoKS0+ZW5kT2NjbHVzaW9uUXVlcnko
dGhpcywgbVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKICAgICB9Ci19Ci0KLWFuZ2xlOjpSZXN1
bHQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXI6OmZsdXNoVG9QcmltYXJ5KENvbnRleHRWayAqY29u
dGV4dFZrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdms6OlByaW1hcnlDb21tYW5kQnVmZmVyICpwcmltYXJ5KQotewotICAgIGlmIChlbXB0
eSgpKQotICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Ci0KLSAgICBpZiAo
a0VuYWJsZUNvbW1hbmRTdHJlYW1EaWFnbm9zdGljcykKKyAgICBpZiAocXVlcnlWay0+aXNBbnlT
YW1wbGVzUXVlcnkoKSkKICAgICB7Ci0gICAgICAgIGFkZFJlbmRlclBhc3NDb21tYW5kRGlhZ25v
c3RpY3MoY29udGV4dFZrKTsKKyAgICAgICAgQVNTRVJUKG1BY3RpdmVRdWVyeUFueVNhbXBsZXMg
PT0gcXVlcnlWayk7CisgICAgICAgIG1BY3RpdmVRdWVyeUFueVNhbXBsZXMgPSBudWxscHRyOwog
ICAgIH0KLQotICAgIGV4ZWN1dGVCYXJyaWVycyhwcmltYXJ5KTsKLQotICAgIC8vIFB1bGwgYSBS
ZW5kZXJQYXNzIGZyb20gdGhlIGNhY2hlLgotICAgIFJlbmRlclBhc3NDYWNoZSAmcmVuZGVyUGFz
c0NhY2hlID0gY29udGV4dFZrLT5nZXRSZW5kZXJQYXNzQ2FjaGUoKTsKLSAgICBTZXJpYWwgc2Vy
aWFsICAgICAgICAgICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0Q3VycmVudFF1ZXVlU2VyaWFs
KCk7Ci0KLSAgICB2azo6UmVuZGVyUGFzcyAqcmVuZGVyUGFzcyA9IG51bGxwdHI7Ci0gICAgQU5H
TEVfVFJZKHJlbmRlclBhc3NDYWNoZS5nZXRSZW5kZXJQYXNzV2l0aE9wcyhjb250ZXh0VmssIHNl
cmlhbCwgbVJlbmRlclBhc3NEZXNjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbUF0dGFjaG1lbnRPcHMsICZyZW5kZXJQYXNzKSk7Ci0KLSAgICBW
a1JlbmRlclBhc3NCZWdpbkluZm8gYmVnaW5JbmZvICAgID0ge307Ci0gICAgYmVnaW5JbmZvLnNU
eXBlICAgICAgICAgICAgICAgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX1JFTkRFUl9QQVNTX0JF
R0lOX0lORk87Ci0gICAgYmVnaW5JbmZvLnJlbmRlclBhc3MgICAgICAgICAgICAgICA9IHJlbmRl
clBhc3MtPmdldEhhbmRsZSgpOwotICAgIGJlZ2luSW5mby5mcmFtZWJ1ZmZlciAgICAgICAgICAg
ICAgPSBtRnJhbWVidWZmZXIuZ2V0SGFuZGxlKCk7Ci0gICAgYmVnaW5JbmZvLnJlbmRlckFyZWEu
b2Zmc2V0LnggICAgICA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtUmVuZGVyQXJlYS54KTsKLSAg
ICBiZWdpbkluZm8ucmVuZGVyQXJlYS5vZmZzZXQueSAgICAgID0gc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG1SZW5kZXJBcmVhLnkpOwotICAgIGJlZ2luSW5mby5yZW5kZXJBcmVhLmV4dGVudC53aWR0
aCAgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obVJlbmRlckFyZWEud2lkdGgpOwotICAgIGJlZ2lu
SW5mby5yZW5kZXJBcmVhLmV4dGVudC5oZWlnaHQgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obVJl
bmRlckFyZWEuaGVpZ2h0KTsKLSAgICBiZWdpbkluZm8uY2xlYXJWYWx1ZUNvdW50ICAgICAgICAg
ID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1SZW5kZXJQYXNzRGVzYy5hdHRhY2htZW50Q291bnQo
KSk7Ci0gICAgYmVnaW5JbmZvLnBDbGVhclZhbHVlcyAgICAgICAgICAgICA9IG1DbGVhclZhbHVl
cy5kYXRhKCk7Ci0KLSAgICAvLyBSdW4gY29tbWFuZHMgaW5zaWRlIHRoZSBSZW5kZXJQYXNzLgot
ICAgIHByaW1hcnktPmJlZ2luUmVuZGVyUGFzcyhiZWdpbkluZm8sIFZLX1NVQlBBU1NfQ09OVEVO
VFNfSU5MSU5FKTsKLQotICAgIGlmIChtVmFsaWRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50
ID09IDApCisgICAgZWxzZSBpZiAocXVlcnlWay0+aXNBbnlTYW1wbGVzQ29uc2VydmF0aXZlUXVl
cnkoKSkKICAgICB7Ci0gICAgICAgIG1Db21tYW5kQnVmZmVyLmV4ZWN1dGVDb21tYW5kcyhwcmlt
YXJ5LT5nZXRIYW5kbGUoKSk7Ci0gICAgICAgIHByaW1hcnktPmVuZFJlbmRlclBhc3MoKTsKKyAg
ICAgICAgQVNTRVJUKG1BY3RpdmVRdWVyeUFueVNhbXBsZXNDb25zZXJ2YXRpdmUgPT0gcXVlcnlW
ayk7CisgICAgICAgIG1BY3RpdmVRdWVyeUFueVNhbXBsZXNDb25zZXJ2YXRpdmUgPSBudWxscHRy
OwogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgICB1aW50MzJfdCBudW1Db3VudGVyQnVm
ZmVycyA9Ci0gICAgICAgICAgICAobVJlYmluZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVycykgPyAw
IDogbVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3VudDsKLQotICAgICAgICBwcmltYXJ5
LT5iZWdpblRyYW5zZm9ybUZlZWRiYWNrRVhUKDAsIG51bUNvdW50ZXJCdWZmZXJzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1UcmFuc2Zvcm1GZWVkYmFja0Nv
dW50ZXJCdWZmZXJzLmRhdGEoKSwgbnVsbHB0cik7Ci0gICAgICAgIG1Db21tYW5kQnVmZmVyLmV4
ZWN1dGVDb21tYW5kcyhwcmltYXJ5LT5nZXRIYW5kbGUoKSk7Ci0gICAgICAgIHByaW1hcnktPmVu
ZFRyYW5zZm9ybUZlZWRiYWNrRVhUKDAsIG1WYWxpZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291
bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1UcmFuc2Zvcm1G
ZWVkYmFja0NvdW50ZXJCdWZmZXJzLmRhdGEoKSwgbnVsbHB0cik7Ci0KLSAgICAgICAgcHJpbWFy
eS0+ZW5kUmVuZGVyUGFzcygpOwotCi0gICAgICAgIC8vIFdvdWxkIGJlIGJldHRlciB0byBhY2N1
bXVsYXRlIHRoaXMgYmFycmllciB1c2luZyB0aGUgY29tbWFuZCBBUElzLgotICAgICAgICAvLyBU
T0RPOiBDbGVhbiB0aHVzIHVwIGJlZm9yZSB3ZSBjbG9zZSBodHRwOi8vYW5nbGVidWcuY29tLzMy
MDYKLSAgICAgICAgVmtCdWZmZXJNZW1vcnlCYXJyaWVyIGJ1ZmZlckJhcnJpZXIgPSB7fTsKLSAg
ICAgICAgYnVmZmVyQmFycmllci5zVHlwZSAgICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVf
VFlQRV9CVUZGRVJfTUVNT1JZX0JBUlJJRVI7Ci0gICAgICAgIGJ1ZmZlckJhcnJpZXIucE5leHQg
ICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKLSAgICAgICAgYnVmZmVyQmFycmllci5zcmNBY2Nl
c3NNYXNrICAgICAgICAgPSBWS19BQ0NFU1NfVFJBTlNGT1JNX0ZFRURCQUNLX0NPVU5URVJfV1JJ
VEVfQklUX0VYVDsKLSAgICAgICAgYnVmZmVyQmFycmllci5kc3RBY2Nlc3NNYXNrICAgICAgICAg
PSBWS19BQ0NFU1NfVFJBTlNGT1JNX0ZFRURCQUNLX0NPVU5URVJfUkVBRF9CSVRfRVhUOwotICAg
ICAgICBidWZmZXJCYXJyaWVyLnNyY1F1ZXVlRmFtaWx5SW5kZXggICA9IFZLX1FVRVVFX0ZBTUlM
WV9JR05PUkVEOwotICAgICAgICBidWZmZXJCYXJyaWVyLmRzdFF1ZXVlRmFtaWx5SW5kZXggICA9
IFZLX1FVRVVFX0ZBTUlMWV9JR05PUkVEOwotICAgICAgICBidWZmZXJCYXJyaWVyLmJ1ZmZlciAg
ICAgICAgICAgICAgICA9IG1UcmFuc2Zvcm1GZWVkYmFja0NvdW50ZXJCdWZmZXJzWzBdOwotICAg
ICAgICBidWZmZXJCYXJyaWVyLm9mZnNldCAgICAgICAgICAgICAgICA9IDA7Ci0gICAgICAgIGJ1
ZmZlckJhcnJpZXIuc2l6ZSAgICAgICAgICAgICAgICAgID0gVktfV0hPTEVfU0laRTsKLQotICAg
ICAgICBwcmltYXJ5LT5waXBlbGluZUJhcnJpZXIoVktfUElQRUxJTkVfU1RBR0VfVFJBTlNGT1JN
X0ZFRURCQUNLX0JJVF9FWFQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19Q
SVBFTElORV9TVEFHRV9EUkFXX0lORElSRUNUX0JJVCwgMHUsIDB1LCBudWxscHRyLCAxdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZidWZmZXJCYXJyaWVyLCAwdSwgbnVsbHB0
cik7CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CiAgICAgfQotCi0gICAgLy8gUmVzdGFydCB0aGUg
Y29tbWFuZCBidWZmZXIuCi0gICAgcmVzZXQoKTsKLQotICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6YWRkUmVuZGVy
UGFzc0NvbW1hbmREaWFnbm9zdGljcyhDb250ZXh0VmsgKmNvbnRleHRWaykKK2Jvb2wgQ29udGV4
dFZrOjppc1JvYnVzdFJlc291cmNlSW5pdEVuYWJsZWQoKSBjb25zdAogewotICAgIHN0ZDo6b3N0
cmluZ3N0cmVhbSBvdXQ7Ci0gICAgaWYgKG1HbG9iYWxNZW1vcnlCYXJyaWVyU3JjQWNjZXNzICE9
IDAgfHwgbUdsb2JhbE1lbW9yeUJhcnJpZXJEc3RBY2Nlc3MgIT0gMCkKLSAgICB7Ci0gICAgICAg
IG91dCA8PCAiTWVtb3J5IEJhcnJpZXIgU3JjOiAweCIgPDwgc3RkOjpoZXggPDwgbUdsb2JhbE1l
bW9yeUJhcnJpZXJTcmNBY2Nlc3MKLSAgICAgICAgICAgIDw8ICIgJnJhcnI7IERzdDogMHgiIDw8
IHN0ZDo6aGV4IDw8IG1HbG9iYWxNZW1vcnlCYXJyaWVyRHN0QWNjZXNzIDw8ICJcXGwiOwotICAg
IH0KLQotICAgIHNpemVfdCBhdHRhY2htZW50Q291bnQgICAgICAgICAgICAgPSBtUmVuZGVyUGFz
c0Rlc2MuYXR0YWNobWVudENvdW50KCk7Ci0gICAgc2l6ZV90IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnRDb3VudCA9IG1SZW5kZXJQYXNzRGVzYy5oYXNEZXB0aFN0ZW5jaWxBdHRhY2htZW50KCk7Ci0g
ICAgc2l6ZV90IGNvbG9yQXR0YWNobWVudENvdW50ICAgICAgICA9IGF0dGFjaG1lbnRDb3VudCAt
IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRDb3VudDsKLQotICAgIHN0ZDo6c3RyaW5nIGxvYWRPcHMs
IHN0b3JlT3BzOwotCi0gICAgaWYgKGNvbG9yQXR0YWNobWVudENvdW50ID4gMCkKLSAgICB7Ci0g
ICAgICAgIGxvYWRPcHMgKz0gIiBDb2xvcjogIjsKLSAgICAgICAgc3RvcmVPcHMgKz0gIiBDb2xv
cjogIjsKLQotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvbG9yQXR0YWNobWVudENv
dW50OyArK2kpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxvYWRPcHMgKz0gR2V0TG9hZE9wU2hv
cnRoYW5kKG1BdHRhY2htZW50T3BzW2ldLmxvYWRPcCk7Ci0gICAgICAgICAgICBzdG9yZU9wcyAr
PSBHZXRTdG9yZU9wU2hvcnRoYW5kKG1BdHRhY2htZW50T3BzW2ldLnN0b3JlT3ApOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgaWYgKGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRDb3VudCA+IDApCi0g
ICAgewotICAgICAgICBBU1NFUlQoZGVwdGhTdGVuY2lsQXR0YWNobWVudENvdW50ID09IDEpOwot
Ci0gICAgICAgIGxvYWRPcHMgKz0gIiBEZXB0aC9TdGVuY2lsOiAiOwotICAgICAgICBzdG9yZU9w
cyArPSAiIERlcHRoL1N0ZW5jaWw6ICI7Ci0gICAgICAgIHNpemVfdCBkc0luZGV4ID0gY29sb3JB
dHRhY2htZW50Q291bnQ7Ci0KLSAgICAgICAgbG9hZE9wcyArPSBHZXRMb2FkT3BTaG9ydGhhbmQo
bUF0dGFjaG1lbnRPcHNbZHNJbmRleF0ubG9hZE9wKTsKLSAgICAgICAgbG9hZE9wcyArPSBHZXRM
b2FkT3BTaG9ydGhhbmQobUF0dGFjaG1lbnRPcHNbZHNJbmRleF0uc3RlbmNpbExvYWRPcCk7Ci0K
LSAgICAgICAgc3RvcmVPcHMgKz0gR2V0U3RvcmVPcFNob3J0aGFuZChtQXR0YWNobWVudE9wc1tk
c0luZGV4XS5zdG9yZU9wKTsKLSAgICAgICAgc3RvcmVPcHMgKz0gR2V0U3RvcmVPcFNob3J0aGFu
ZChtQXR0YWNobWVudE9wc1tkc0luZGV4XS5zdGVuY2lsU3RvcmVPcCk7Ci0gICAgfQotCi0gICAg
aWYgKGF0dGFjaG1lbnRDb3VudCA+IDApCi0gICAgewotICAgICAgICBvdXQgPDwgIkxvYWRPcDog
ICIgPDwgbG9hZE9wcyA8PCAiXFxsIjsKLSAgICAgICAgb3V0IDw8ICJTdG9yZU9wOiAiIDw8IHN0
b3JlT3BzIDw8ICJcXGwiOwotICAgIH0KLQotICAgIG91dCA8PCBtQ29tbWFuZEJ1ZmZlci5kdW1w
Q29tbWFuZHMoIlxcbCIpOwotICAgIGNvbnRleHRWay0+YWRkQ29tbWFuZEJ1ZmZlckRpYWdub3N0
aWNzKG91dC5zdHIoKSk7CisgICAgcmV0dXJuIG1TdGF0ZS5pc1JvYnVzdFJlc291cmNlSW5pdEVu
YWJsZWQoKTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjo6cmVzZXQoKQotewot
ICAgIG1Db21tYW5kQnVmZmVyLnJlc2V0KCk7Ci0gICAgbVJlbmRlclBhc3NTdGFydGVkICAgICAg
ICAgICAgICAgICA9IGZhbHNlOwotICAgIG1WYWxpZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291
bnQgPSAwOwotICAgIG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMgICAgPSBmYWxzZTsK
LX0KIH0gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmgKaW5k
ZXggYzIzMzQ5ZWU2MTY3MThjZDAxNTA0NTZjNDMzNjlmYjE0Nzg0MTFmZS4uZGVmMTQ1YzQyYWVl
Y2QyZTBkODdhNGY4MzdmMzkxOTdmOTE1MTdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbnRl
eHRWay5oCkBAIC0xMCwxMyArMTAsMTMgQEAKICNpZm5kZWYgTElCQU5HTEVfUkVOREVSRVJfVlVM
S0FOX0NPTlRFWFRWS19IXwogI2RlZmluZSBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fQ09OVEVY
VFZLX0hfCiAKLSNpbmNsdWRlICJ2b2xrLmgiCi0KICNpbmNsdWRlICJjb21tb24vUGFja2VkRW51
bXMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9Db250ZXh0SW1wbC5oIgorI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3JlbmRlcmVyX3V0aWxzLmgiCiAjaW5jbHVkZSAibGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL092ZXJsYXlWay5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRl
cmVyL3Z1bGthbi9QZXJzaXN0ZW50Q29tbWFuZFBvb2wuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5oIgorI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi92a19oZWFkZXJzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L3ZrX2hlbHBlcnMuaCIKIAogbmFtZXNwYWNlIGFuZ2xlCkBAIC0zMCwyMyArMzAsNiBAQCBjbGFz
cyBQcm9ncmFtRXhlY3V0YWJsZVZrOwogY2xhc3MgUmVuZGVyZXJWazsKIGNsYXNzIFdpbmRvd1N1
cmZhY2VWazsKIAotLy8gVGhlIHBvc3NpYmxlIHJvdGF0aW9ucyBvZiB0aGUgc3VyZmFjZS9kcmF3
IGZyYW1lYnVmZmVyLCB1c2VkIGZvciBwcmUtcm90YXRpbmcgZ2xfUG9zaXRpb24KLS8vIGluIHRo
ZSB2ZXJ0ZXggc2hhZGVyLgotZW51bSBjbGFzcyBTdXJmYWNlUm90YXRpb25UeXBlCi17Ci0gICAg
SWRlbnRpdHksCi0gICAgUm90YXRlZDkwRGVncmVlcywKLSAgICBSb3RhdGVkMTgwRGVncmVlcywK
LSAgICBSb3RhdGVkMjcwRGVncmVlcywKLSAgICBGbGlwcGVkSWRlbnRpdHksCi0gICAgRmxpcHBl
ZFJvdGF0ZWQ5MERlZ3JlZXMsCi0gICAgRmxpcHBlZFJvdGF0ZWQxODBEZWdyZWVzLAotICAgIEZs
aXBwZWRSb3RhdGVkMjcwRGVncmVlcywKLQotICAgIEludmFsaWRFbnVtLAotICAgIEVudW1Db3Vu
dCA9IEludmFsaWRFbnVtLAotfTsKLQogc3RydWN0IENvbW1hbmRCYXRjaCBmaW5hbCA6IGFuZ2xl
OjpOb25Db3B5YWJsZQogewogICAgIENvbW1hbmRCYXRjaCgpOwpAQCAtODEsNyArNjQsNyBAQCBj
bGFzcyBDb21tYW5kUXVldWUgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBhbmdsZTo6
UmVzdWx0IHJlbGVhc2VQcmltYXJ5Q29tbWFuZEJ1ZmZlcih2azo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6UHJpbWFy
eUNvbW1hbmRCdWZmZXIgJiZjb21tYW5kQnVmZmVyKTsKIAotICAgIHZvaWQgY2xlYXJBbGxHYXJi
YWdlKFZrRGV2aWNlIGRldmljZSk7CisgICAgdm9pZCBjbGVhckFsbEdhcmJhZ2UoUmVuZGVyZXJW
ayAqcmVuZGVyZXIpOwogCiAgICAgYW5nbGU6OlJlc3VsdCBmaW5pc2hUb1NlcmlhbCh2azo6Q29u
dGV4dCAqY29udGV4dCwgU2VyaWFsIHNlcmlhbCwgdWludDY0X3QgdGltZW91dCk7CiAKQEAgLTEx
MywxNDMgKzk2LDYgQEAgY2xhc3MgQ29tbWFuZFF1ZXVlIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgdms6OlBlcnNpc3RlbnRDb21tYW5kUG9vbCBtUHJpbWFyeUNvbW1hbmRQb29sOwog
fTsKIAotc3RydWN0IENvbW1hbmRCdWZmZXJIZWxwZXIgOiBhbmdsZTo6Tm9uQ29weWFibGUKLXsK
LSAgcHVibGljOgotICAgIHZvaWQgYnVmZmVyUmVhZCh2azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNv
dXJjZVVzZUxpc3QsCi0gICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxhZ3MgcmVhZEFjY2Vz
c1R5cGUsCi0gICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlcik7Ci0g
ICAgdm9pZCBidWZmZXJXcml0ZSh2azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzIHdyaXRlQWNjZXNzVHlwZSwKLSAg
ICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlcik7Ci0KLSAgICB2b2lk
IGltYWdlUmVhZCh2azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QsCi0gICAgICAg
ICAgICAgICAgICAgVmtJbWFnZUFzcGVjdEZsYWdzIGFzcGVjdEZsYWdzLAotICAgICAgICAgICAg
ICAgICAgIHZrOjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKLSAgICAgICAgICAgICAgICAgICB2
azo6SW1hZ2VIZWxwZXIgKmltYWdlKTsKLQotICAgIHZvaWQgaW1hZ2VXcml0ZSh2azo6UmVzb3Vy
Y2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QsCi0gICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VB
c3BlY3RGbGFncyBhc3BlY3RGbGFncywKLSAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlTGF5
b3V0IGltYWdlTGF5b3V0LAotICAgICAgICAgICAgICAgICAgICB2azo6SW1hZ2VIZWxwZXIgKmlt
YWdlKTsKLQotICAgIHZvaWQgaW1hZ2VCYXJyaWVyKFZrUGlwZWxpbmVTdGFnZUZsYWdzIHNyY1N0
YWdlTWFzaywKLSAgICAgICAgICAgICAgICAgICAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RT
dGFnZU1hc2ssCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtJbWFnZU1lbW9yeUJhcnJp
ZXIgJmltYWdlTWVtb3J5QmFycmllcik7Ci0KLSAgICB2azo6Q29tbWFuZEJ1ZmZlciAmZ2V0Q29t
bWFuZEJ1ZmZlcigpIHsgcmV0dXJuIG1Db21tYW5kQnVmZmVyOyB9Ci0KLSAgcHJvdGVjdGVkOgot
ICAgIENvbW1hbmRCdWZmZXJIZWxwZXIoKTsKLSAgICB+Q29tbWFuZEJ1ZmZlckhlbHBlcigpOwot
Ci0gICAgdm9pZCBleGVjdXRlQmFycmllcnModms6OlByaW1hcnlDb21tYW5kQnVmZmVyICpwcmlt
YXJ5KTsKLQotICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIG1JbWFnZUJhcnJpZXJTcmNTdGFnZU1h
c2s7Ci0gICAgVmtQaXBlbGluZVN0YWdlRmxhZ3MgbUltYWdlQmFycmllckRzdFN0YWdlTWFzazsK
LSAgICBzdGQ6OnZlY3RvcjxWa0ltYWdlTWVtb3J5QmFycmllcj4gbUltYWdlTWVtb3J5QmFycmll
cnM7Ci0gICAgVmtGbGFncyBtR2xvYmFsTWVtb3J5QmFycmllclNyY0FjY2VzczsKLSAgICBWa0Zs
YWdzIG1HbG9iYWxNZW1vcnlCYXJyaWVyRHN0QWNjZXNzOwotICAgIFZrUGlwZWxpbmVTdGFnZUZs
YWdzIG1HbG9iYWxNZW1vcnlCYXJyaWVyU3RhZ2VzOwotICAgIHZrOjpDb21tYW5kQnVmZmVyIG1D
b21tYW5kQnVmZmVyOwotfTsKLQotY2xhc3MgT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVy
IGZpbmFsIDogcHVibGljIENvbW1hbmRCdWZmZXJIZWxwZXIKLXsKLSAgcHVibGljOgotICAgIE91
dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcigpOwotICAgIH5PdXRzaWRlUmVuZGVyUGFzc0Nv
bW1hbmRCdWZmZXIoKTsKLQotICAgIHZvaWQgZmx1c2hUb1ByaW1hcnkoQ29udGV4dFZrICpjb250
ZXh0VmssIHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeSk7Ci0KLSAgICBib29sIGVt
cHR5KCkgY29uc3QgeyByZXR1cm4gbUNvbW1hbmRCdWZmZXIuZW1wdHkoKTsgfQotICAgIHZvaWQg
cmVzZXQoKTsKLX07Ci0KLWNsYXNzIFJlbmRlclBhc3NDb21tYW5kQnVmZmVyIGZpbmFsIDogcHVi
bGljIENvbW1hbmRCdWZmZXJIZWxwZXIKLXsKLSAgcHVibGljOgotICAgIFJlbmRlclBhc3NDb21t
YW5kQnVmZmVyKCk7Ci0gICAgflJlbmRlclBhc3NDb21tYW5kQnVmZmVyKCk7Ci0KLSAgICB2b2lk
IGluaXRpYWxpemUoYW5nbGU6OlBvb2xBbGxvY2F0b3IgKnBvb2xBbGxvY2F0b3IpOwotCi0gICAg
dm9pZCBiZWdpblJlbmRlclBhc3MoY29uc3Qgdms6OkZyYW1lYnVmZmVyICZmcmFtZWJ1ZmZlciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZyZW5kZXJBcmVh
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpSZW5kZXJQYXNzRGVzYyAmcmVu
ZGVyUGFzc0Rlc2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdms6OkF0dGFjaG1l
bnRPcHNBcnJheSAmcmVuZGVyUGFzc0F0dGFjaG1lbnRPcHMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8VmtDbGVhclZhbHVlPiAmY2xlYXJWYWx1ZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKipjb21tYW5kQnVmZmVyT3V0
KTsKLQotICAgIHZvaWQgYmVnaW5UcmFuc2Zvcm1GZWVkYmFjayhzaXplX3QgdmFsaWRCdWZmZXJD
b3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtCdWZmZXIgKmNv
dW50ZXJCdWZmZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlYmlu
ZEJ1ZmZlcik7Ci0KLSAgICB2b2lkIGNsZWFyUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudChzaXpl
X3QgYXR0YWNobWVudEluZGV4LCBjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY2xlYXJWYWx1ZSkK
LSAgICB7Ci0gICAgICAgIG1BdHRhY2htZW50T3BzW2F0dGFjaG1lbnRJbmRleF0ubG9hZE9wID0g
VktfQVRUQUNITUVOVF9MT0FEX09QX0NMRUFSOwotICAgICAgICBtQ2xlYXJWYWx1ZXNbYXR0YWNo
bWVudEluZGV4XS5jb2xvciAgICA9IGNsZWFyVmFsdWU7Ci0gICAgfQotCi0gICAgdm9pZCBjbGVh
clJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnQoc2l6ZV90IGF0dGFjaG1lbnRJbmRleCwgZmxvYXQg
ZGVwdGgpCi0gICAgewotICAgICAgICBtQXR0YWNobWVudE9wc1thdHRhY2htZW50SW5kZXhdLmxv
YWRPcCAgICAgICAgICAgPSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfQ0xFQVI7Ci0gICAgICAgIG1D
bGVhclZhbHVlc1thdHRhY2htZW50SW5kZXhdLmRlcHRoU3RlbmNpbC5kZXB0aCA9IGRlcHRoOwot
ICAgIH0KLQotICAgIHZvaWQgY2xlYXJSZW5kZXJQYXNzU3RlbmNpbEF0dGFjaG1lbnQoc2l6ZV90
IGF0dGFjaG1lbnRJbmRleCwgdWludDMyX3Qgc3RlbmNpbCkKLSAgICB7Ci0gICAgICAgIG1BdHRh
Y2htZW50T3BzW2F0dGFjaG1lbnRJbmRleF0uc3RlbmNpbExvYWRPcCAgICAgID0gVktfQVRUQUNI
TUVOVF9MT0FEX09QX0NMRUFSOwotICAgICAgICBtQ2xlYXJWYWx1ZXNbYXR0YWNobWVudEluZGV4
XS5kZXB0aFN0ZW5jaWwuc3RlbmNpbCA9IHN0ZW5jaWw7Ci0gICAgfQotCi0gICAgdm9pZCBpbnZh
bGlkYXRlUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudChzaXplX3QgYXR0YWNobWVudEluZGV4KQot
ICAgIHsKLSAgICAgICAgbUF0dGFjaG1lbnRPcHNbYXR0YWNobWVudEluZGV4XS5zdG9yZU9wID0g
VktfQVRUQUNITUVOVF9TVE9SRV9PUF9ET05UX0NBUkU7Ci0gICAgfQotCi0gICAgdm9pZCBpbnZh
bGlkYXRlUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudChzaXplX3QgYXR0YWNobWVudEluZGV4KQot
ICAgIHsKLSAgICAgICAgbUF0dGFjaG1lbnRPcHNbYXR0YWNobWVudEluZGV4XS5zdG9yZU9wID0g
VktfQVRUQUNITUVOVF9TVE9SRV9PUF9ET05UX0NBUkU7Ci0gICAgfQotCi0gICAgdm9pZCBpbnZh
bGlkYXRlUmVuZGVyUGFzc1N0ZW5jaWxBdHRhY2htZW50KHNpemVfdCBhdHRhY2htZW50SW5kZXgp
Ci0gICAgewotICAgICAgICBtQXR0YWNobWVudE9wc1thdHRhY2htZW50SW5kZXhdLnN0ZW5jaWxT
dG9yZU9wID0gVktfQVRUQUNITUVOVF9TVE9SRV9PUF9ET05UX0NBUkU7Ci0gICAgfQotCi0gICAg
Y29uc3QgZ2w6OlJlY3RhbmdsZSAmZ2V0UmVuZGVyQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1SZW5k
ZXJBcmVhOyB9Ci0KLSAgICBhbmdsZTo6UmVzdWx0IGZsdXNoVG9QcmltYXJ5KENvbnRleHRWayAq
Y29udGV4dFZrLCB2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKnByaW1hcnkpOwotCi0gICAgYm9v
bCBlbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFzdGFydGVkKCkgJiYgbUNvbW1hbmRCdWZmZXIuZW1w
dHkoKTsgfQotICAgIGJvb2wgc3RhcnRlZCgpIGNvbnN0IHsgcmV0dXJuIG1SZW5kZXJQYXNzU3Rh
cnRlZDsgfQotICAgIHZvaWQgcmVzZXQoKTsKLQotICAgIHVpbnQzMl90IGdldEFuZFJlc2V0Q291
bnRlcigpCi0gICAgewotICAgICAgICB1aW50MzJfdCBjb3VudCA9IG1Db3VudGVyOwotICAgICAg
ICBtQ291bnRlciAgICAgICA9IDA7Ci0gICAgICAgIHJldHVybiBjb3VudDsKLSAgICB9Ci0KLSAg
cHJpdmF0ZToKLSAgICB2b2lkIGFkZFJlbmRlclBhc3NDb21tYW5kRGlhZ25vc3RpY3MoQ29udGV4
dFZrICpjb250ZXh0VmspOwotCi0gICAgdWludDMyX3QgbUNvdW50ZXI7Ci0gICAgdms6OlJlbmRl
clBhc3NEZXNjIG1SZW5kZXJQYXNzRGVzYzsKLSAgICB2azo6QXR0YWNobWVudE9wc0FycmF5IG1B
dHRhY2htZW50T3BzOwotICAgIHZrOjpGcmFtZWJ1ZmZlciBtRnJhbWVidWZmZXI7Ci0gICAgZ2w6
OlJlY3RhbmdsZSBtUmVuZGVyQXJlYTsKLSAgICBnbDo6QXR0YWNobWVudEFycmF5PFZrQ2xlYXJW
YWx1ZT4gbUNsZWFyVmFsdWVzOwotICAgIGJvb2wgbVJlbmRlclBhc3NTdGFydGVkOwotCi0gICAg
Ly8gVHJhbnNmb3JtIGZlZWRiYWNrIHN0YXRlCi0gICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVm
ZmVyc0FycmF5PFZrQnVmZmVyPiBtVHJhbnNmb3JtRmVlZGJhY2tDb3VudGVyQnVmZmVyczsKLSAg
ICB1aW50MzJfdCBtVmFsaWRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50OwotICAgIGJvb2wg
bVJlYmluZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyczsKLX07Ci0KIHN0YXRpYyBjb25zdGV4cHIg
dWludDMyX3Qga01heEdwdUV2ZW50TmFtZUxlbiA9IDMyOwogdXNpbmcgRXZlbnROYW1lICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gc3RkOjphcnJheTxjaGFyLCBrTWF4R3B1RXZlbnRO
YW1lTGVuPjsKIApAQCAtMzM4LDEyICsxODQsNiBAQCBjbGFzcyBDb250ZXh0VmsgOiBwdWJsaWMg
Q29udGV4dEltcGwsIHB1YmxpYyB2azo6Q29udGV4dAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OlByaW1pdGl2ZU1vZGUgbW9kZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdsOjpEcmF3RWxlbWVudHNUeXBlIHR5cGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbmRpcmVjdCkgb3Zl
cnJpZGU7Ci0gICAgYW5nbGU6OlJlc3VsdCBjbGVhcldpdGhSZW5kZXJQYXNzT3AoY29uc3QgZ2w6
OlJlY3RhbmdsZSAmY2xlYXJBcmVhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdsOjpEcmF3QnVmZmVyTWFzayBjbGVhckNvbG9yQnVmZmVycywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNsZWFyRGVwdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjbGVhclN0ZW5jaWwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckNvbG9yVmFsdWUg
JmNsZWFyQ29sb3JWYWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBWa0NsZWFyRGVwdGhTdGVuY2lsVmFsdWUgJmNsZWFyRGVwdGhTdGVuY2lsVmFsdWUp
OwogCiAgICAgLy8gRGV2aWNlIGxvc3MKICAgICBnbDo6R3JhcGhpY3NSZXNldFN0YXR1cyBnZXRS
ZXNldFN0YXR1cygpIG92ZXJyaWRlOwpAQCAtMzcxLDYgKzIxMSwxMSBAQCBjbGFzcyBDb250ZXh0
VmsgOiBwdWJsaWMgQ29udGV4dEltcGwsIHB1YmxpYyB2azo6Q29udGV4dAogICAgIC8vIHJlbmRl
ciBhcmVhIG11c3QgYmUgc3dhcHBlZC4KICAgICBib29sIGlzUm90YXRlZEFzcGVjdFJhdGlvRm9y
RHJhd0ZCTygpIGNvbnN0OwogICAgIGJvb2wgaXNSb3RhdGVkQXNwZWN0UmF0aW9Gb3JSZWFkRkJP
KCkgY29uc3Q7CisgICAgU3VyZmFjZVJvdGF0aW9uIGdldFJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVy
KCkgY29uc3Q7CisgICAgU3VyZmFjZVJvdGF0aW9uIGdldFJvdGF0aW9uUmVhZEZyYW1lYnVmZmVy
KCkgY29uc3Q7CisKKyAgICB2b2lkIGludmFsaWRhdGVQcm9ncmFtQmluZGluZ0hlbHBlcihjb25z
dCBnbDo6U3RhdGUgJmdsU3RhdGUpOworICAgIGFuZ2xlOjpSZXN1bHQgaW52YWxpZGF0ZVByb2dy
YW1FeGVjdXRhYmxlSGVscGVyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIAogICAgIC8v
IFN0YXRlIHN5bmMgd2l0aCBkaXJ0eSBiaXRzLgogICAgIGFuZ2xlOjpSZXN1bHQgc3luY1N0YXRl
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LApAQCAtNDgyLDcgKzMyNyw2IEBAIGNsYXNzIENv
bnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0CiAgICAgdm9p
ZCBvbkhvc3RWaXNpYmxlQnVmZmVyV3JpdGUoKSB7IG1Jc0FueUhvc3RWaXNpYmxlQnVmZmVyV3Jp
dHRlbiA9IHRydWU7IH0KIAogICAgIHZvaWQgaW52YWxpZGF0ZUN1cnJlbnRUcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlcnMoKTsKLSAgICB2b2lkIGludmFsaWRhdGVDdXJyZW50VHJhbnNmb3JtRmVlZGJh
Y2tTdGF0ZSgpOwogICAgIHZvaWQgb25UcmFuc2Zvcm1GZWVkYmFja1N0YXRlQ2hhbmdlZCgpOwog
CiAgICAgLy8gV2hlbiBVdGlsc1ZrIGlzc3VlcyBkcmF3IG9yIGRpc3BhdGNoIGNhbGxzLCBpdCBi
aW5kcyBkZXNjcmlwdG9yIHNldHMgdGhhdCB0aGUgY29udGV4dCBpcyBub3QKQEAgLTQ5MSw2ICsz
MzUsOCBAQCBjbGFzcyBDb250ZXh0VmsgOiBwdWJsaWMgQ29udGV4dEltcGwsIHB1YmxpYyB2azo6
Q29udGV4dAogICAgIHZvaWQgaW52YWxpZGF0ZUdyYXBoaWNzRGVzY3JpcHRvclNldCh1aW50MzJf
dCB1c2VkRGVzY3JpcHRvclNldCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlQ29tcHV0ZURlc2NyaXB0
b3JTZXQodWludDMyX3QgdXNlZERlc2NyaXB0b3JTZXQpOwogCisgICAgdm9pZCBvcHRpbWl6ZVJl
bmRlclBhc3NGb3JQcmVzZW50KFZrRnJhbWVidWZmZXIgZnJhbWVidWZmZXJIYW5kbGUpOworCiAg
ICAgdms6OkR5bmFtaWNRdWVyeVBvb2wgKmdldFF1ZXJ5UG9vbChnbDo6UXVlcnlUeXBlIHF1ZXJ5
VHlwZSk7CiAKICAgICBjb25zdCBWa0NsZWFyVmFsdWUgJmdldENsZWFyQ29sb3JWYWx1ZSgpIGNv
bnN0OwpAQCAtNTY3LDcgKzQxMyw3IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0
SW1wbCwgcHVibGljIHZrOjpDb250ZXh0CiAgICAgLy8gQ3JlYXRlIEJlZ2luL0VuZC9JbnN0YW50
IEdQVSB0cmFjZSBldmVudHMsIHdoaWNoIHRha2UgdGhlaXIgdGltZXN0YW1wcyBmcm9tIEdQVSBx
dWVyaWVzLgogICAgIC8vIFRoZSBldmVudHMgYXJlIHF1ZXVlZCB1bnRpbCB0aGUgcXVlcnkgcmVz
dWx0cyBhcmUgYXZhaWxhYmxlLiAgUG9zc2libGUgdmFsdWVzIGZvciBgcGhhc2VgCiAgICAgLy8g
YXJlIFRSQUNFX0VWRU5UX1BIQVNFXyoKLSAgICBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCB0
cmFjZUdwdUV2ZW50KHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlciwKKyAg
ICBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCB0cmFjZUdwdUV2ZW50KHZrOjpDb21tYW5kQnVm
ZmVyICpjb21tYW5kQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2hhciBwaGFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEV2ZW50TmFtZSAmbmFtZSkKICAgICB7CkBAIC01OTksOCArNDQ1LDIy
IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250
ZXh0CiAKICAgICB2azo6UmVzb3VyY2VVc2VMaXN0ICZnZXRSZXNvdXJjZVVzZUxpc3QoKSB7IHJl
dHVybiBtUmVzb3VyY2VVc2VMaXN0OyB9CiAKLSAgICBhbmdsZTo6UmVzdWx0IG9uQnVmZmVyUmVh
ZChWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlLCB2azo6QnVmZmVySGVscGVyICpidWZmZXIp
OwotICAgIGFuZ2xlOjpSZXN1bHQgb25CdWZmZXJXcml0ZShWa0FjY2Vzc0ZsYWdzIHdyaXRlQWNj
ZXNzVHlwZSwgdms6OkJ1ZmZlckhlbHBlciAqYnVmZmVyKTsKKyAgICBhbmdsZTo6UmVzdWx0IG9u
QnVmZmVyVHJhbnNmZXJSZWFkKHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlcikKKyAgICB7CisgICAg
ICAgIHJldHVybiBvbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1RSQU5TRkVSX1JFQURfQklULCB2azo6
UGlwZWxpbmVTdGFnZTo6VHJhbnNmZXIsIGJ1ZmZlcik7CisgICAgfQorICAgIGFuZ2xlOjpSZXN1
bHQgb25CdWZmZXJUcmFuc2ZlcldyaXRlKHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlcikKKyAgICB7
CisgICAgICAgIHJldHVybiBvbkJ1ZmZlcldyaXRlKFZLX0FDQ0VTU19UUkFOU0ZFUl9XUklURV9C
SVQsIHZrOjpQaXBlbGluZVN0YWdlOjpUcmFuc2ZlciwgYnVmZmVyKTsKKyAgICB9CisgICAgYW5n
bGU6OlJlc3VsdCBvbkJ1ZmZlckNvbXB1dGVTaGFkZXJSZWFkKHZrOjpCdWZmZXJIZWxwZXIgKmJ1
ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBvbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1NIQURF
Ul9SRUFEX0JJVCwgdms6OlBpcGVsaW5lU3RhZ2U6OkNvbXB1dGVTaGFkZXIsIGJ1ZmZlcik7Cisg
ICAgfQorICAgIGFuZ2xlOjpSZXN1bHQgb25CdWZmZXJDb21wdXRlU2hhZGVyV3JpdGUodms6OkJ1
ZmZlckhlbHBlciAqYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG9uQnVmZmVyV3JpdGUo
VktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsIHZrOjpQaXBlbGluZVN0YWdlOjpDb21wdXRlU2hh
ZGVyLCBidWZmZXIpOworICAgIH0KIAogICAgIGFuZ2xlOjpSZXN1bHQgb25JbWFnZVJlYWQoVmtJ
bWFnZUFzcGVjdEZsYWdzIGFzcGVjdEZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdms6OkltYWdlTGF5b3V0IGltYWdlTGF5b3V0LApAQCAtNjE2LDggKzQ3NiwxMCBAQCBjbGFz
cyBDb250ZXh0VmsgOiBwdWJsaWMgQ29udGV4dEltcGwsIHB1YmxpYyB2azo6Q29udGV4dAogCiAg
ICAgYW5nbGU6OlJlc3VsdCBlbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcih2azo6Q29t
bWFuZEJ1ZmZlciAqKmNvbW1hbmRCdWZmZXJPdXQpCiAgICAgeworICAgICAgICAvLyBPbmx5IG9u
ZSBjb21tYW5kIGJ1ZmZlciBzaG91bGQgYmUgYWN0aXZlIGF0IGEgdGltZQorICAgICAgICBBU1NF
UlQobU91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZHMtPmVtcHR5KCkgfHwgbVJlbmRlclBhc3NDb21t
YW5kcy0+ZW1wdHkoKSk7CiAgICAgICAgIEFOR0xFX1RSWShlbmRSZW5kZXJQYXNzKCkpOwotICAg
ICAgICAqY29tbWFuZEJ1ZmZlck91dCA9ICZtT3V0c2lkZVJlbmRlclBhc3NDb21tYW5kcy5nZXRD
b21tYW5kQnVmZmVyKCk7CisgICAgICAgICpjb21tYW5kQnVmZmVyT3V0ID0gJm1PdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzLT5nZXRDb21tYW5kQnVmZmVyKCk7CiAgICAgICAgIHJldHVybiBhbmds
ZTo6UmVzdWx0OjpDb250aW51ZTsKICAgICB9CiAKQEAgLTYyNSwyOSArNDg3LDE5IEBAIGNsYXNz
IENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xl
ICZyZW5kZXJBcmVhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgdms6OlJlbmRlclBhc3NEZXNjICZyZW5kZXJQYXNzRGVzYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpBdHRhY2htZW50T3BzQXJyYXkg
JnJlbmRlclBhc3NBdHRhY2htZW50T3BzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8VmtDbGVhclZhbHVlPiAmY2xlYXJWYWx1ZXMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2azo6Q2xl
YXJWYWx1ZXNBcnJheSAmY2xlYXJWYWx1ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqKmNvbW1hbmRCdWZmZXJPdXQpOwogCi0g
ICAgYm9vbCBoYXNTdGFydGVkUmVuZGVyUGFzcygpIGNvbnN0IHsgcmV0dXJuICFtUmVuZGVyUGFz
c0NvbW1hbmRzLmVtcHR5KCk7IH0KKyAgICBib29sIGhhc1N0YXJ0ZWRSZW5kZXJQYXNzKCkgY29u
c3QgeyByZXR1cm4gIW1SZW5kZXJQYXNzQ29tbWFuZHMtPmVtcHR5KCk7IH0KIAotICAgIFJlbmRl
clBhc3NDb21tYW5kQnVmZmVyICZnZXRTdGFydGVkUmVuZGVyUGFzc0NvbW1hbmRzKCkKKyAgICB2
azo6Q29tbWFuZEJ1ZmZlckhlbHBlciAmZ2V0U3RhcnRlZFJlbmRlclBhc3NDb21tYW5kcygpCiAg
ICAgewogICAgICAgICBBU1NFUlQoaGFzU3RhcnRlZFJlbmRlclBhc3MoKSk7Ci0gICAgICAgIHJl
dHVybiBtUmVuZGVyUGFzc0NvbW1hbmRzOwotICAgIH0KLQotICAgIGFuZ2xlOjpSZXN1bHQgZmx1
c2hBbmRHZXRQcmltYXJ5Q29tbWFuZEJ1ZmZlcih2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKipw
cmltYXJ5Q29tbWFuZHMpCi0gICAgewotICAgICAgICBmbHVzaE91dHNpZGVSZW5kZXJQYXNzQ29t
bWFuZHMoKTsKLSAgICAgICAgQU5HTEVfVFJZKGVuZFJlbmRlclBhc3MoKSk7Ci0gICAgICAgICpw
cmltYXJ5Q29tbWFuZHMgPSAmbVByaW1hcnlDb21tYW5kczsKLQotICAgICAgICAvLyBXZSBhc3N1
bWUgYW55IGNhbGxpbmcgY29kZSBpcyBnb2luZyB0byByZWNvcmQgcHJpbWFyeSBjb21tYW5kcy4K
LSAgICAgICAgbUhhc1ByaW1hcnlDb21tYW5kcyA9IHRydWU7Ci0gICAgICAgIHJldHVybiBhbmds
ZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICAgICAgcmV0dXJuICptUmVuZGVyUGFzc0NvbW1hbmRz
OwogICAgIH0KIAogICAgIGVnbDo6Q29udGV4dFByaW9yaXR5IGdldENvbnRleHRQcmlvcml0eSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1Db250ZXh0UHJpb3JpdHk7IH0KKyAgICBhbmdsZTo6
UmVzdWx0IHN0YXJ0UmVuZGVyUGFzcyhnbDo6UmVjdGFuZ2xlIHJlbmRlckFyZWEsIHZrOjpDb21t
YW5kQnVmZmVyICoqY29tbWFuZEJ1ZmZlck91dCk7CiAgICAgYW5nbGU6OlJlc3VsdCBlbmRSZW5k
ZXJQYXNzKCk7CiAKICAgICBhbmdsZTo6UmVzdWx0IHN5bmNFeHRlcm5hbE1lbW9yeSgpOwpAQCAt
NjU4LDEwICs1MTAsMTkgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRleHRJbXBsLCBw
dWJsaWMgdms6OkNvbnRleHQKICAgICBzaXplX3QgZ2V0VmtJbmRleFR5cGVTaXplKGdsOjpEcmF3
RWxlbWVudHNUeXBlIGdsSW5kZXhUeXBlKSBjb25zdDsKICAgICBib29sIHNob3VsZENvbnZlcnRV
aW50OFZrSW5kZXhUeXBlKGdsOjpEcmF3RWxlbWVudHNUeXBlIGdsSW5kZXhUeXBlKSBjb25zdDsK
IAorICAgIEFOR0xFX0lOTElORSBib29sIGlzQnJlc2VuaGFtRW11bGF0aW9uRW5hYmxlZChjb25z
dCBnbDo6UHJpbWl0aXZlTW9kZSBtb2RlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdldEZlYXR1
cmVzKCkuYmFzaWNHTExpbmVSYXN0ZXJpemF0aW9uLmVuYWJsZWQgJiYgZ2w6OklzTGluZU1vZGUo
bW9kZSk7CisgICAgfQorCiAgICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGVWayAqZ2V0RXhlY3V0
YWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1FeGVjdXRhYmxlOyB9CiAgICAgUHJvZ3JhbUV4ZWN1dGFi
bGVWayAqZ2V0RXhlY3V0YWJsZSgpIHsgcmV0dXJuIG1FeGVjdXRhYmxlOyB9CiAKLSAgICBQcm9n
cmFtVmsgKmdldFNoYWRlclByb2dyYW0oY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlLCBnbDo6U2hh
ZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdDsKKyAgICBib29sIGlzUm9idXN0UmVzb3VyY2VJbml0
RW5hYmxlZCgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgLy8gb2NjbHVzaW9uIHF1ZXJ5CisgICAg
dm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KFF1ZXJ5VmsgKnF1ZXJ5VmspOworICAgIHZvaWQgZW5k
T2NjbHVzaW9uUXVlcnkoUXVlcnlWayAqcXVlcnlWayk7CiAKICAgcHJpdmF0ZToKICAgICAvLyBE
aXJ0eSBiaXRzLgpAQCAtNjc3LDYgKzUzOCw3IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBD
b250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0CiAgICAgICAgIERJUlRZX0JJVF9TSEFERVJf
UkVTT1VSQ0VTLCAgLy8gZXhjbHVkaW5nIHRleHR1cmVzLCB3aGljaCBhcmUgaGFuZGxlZCBzZXBh
cmF0ZWx5LgogICAgICAgICBESVJUWV9CSVRfVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUlMsCiAg
ICAgICAgIERJUlRZX0JJVF9UUkFOU0ZPUk1fRkVFREJBQ0tfU1RBVEUsCisgICAgICAgIERJUlRZ
X0JJVF9UUkFOU0ZPUk1fRkVFREJBQ0tfUkVTVU1FLAogICAgICAgICBESVJUWV9CSVRfREVTQ1JJ
UFRPUl9TRVRTLAogICAgICAgICBESVJUWV9CSVRfTUFYLAogICAgIH07CkBAIC02OTgsNyArNTYw
LDcgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgdms6OkNv
bnRleHQKICAgICAgICAgfkRyaXZlclVuaWZvcm1zRGVzY3JpcHRvclNldCgpOwogCiAgICAgICAg
IHZvaWQgaW5pdChSZW5kZXJlclZrICpyZW5kZXJlclZrKTsKLSAgICAgICAgdm9pZCBkZXN0cm95
KFZrRGV2aWNlIGRldmljZSk7CisgICAgICAgIHZvaWQgZGVzdHJveShSZW5kZXJlclZrICpyZW5k
ZXJlclZrKTsKICAgICB9OwogCiAgICAgZW51bSBjbGFzcyBQaXBlbGluZVR5cGUKQEAgLTgxMSwx
MiArNjczLDE1IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGlj
IHZrOjpDb250ZXh0CiAKICAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZUFjdGl2ZVRleHR1cmVzKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKICAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZUFjdGl2
ZUltYWdlcyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVySGVscGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZl
ckhlbHBlciAqY29tbWFuZEJ1ZmZlckhlbHBlcik7CiAgICAgYW5nbGU6OlJlc3VsdCB1cGRhdGVE
ZWZhdWx0QXR0cmlidXRlKHNpemVfdCBhdHRyaWJJbmRleCk7CiAKICAgICBBTkdMRV9JTkxJTkUg
dm9pZCBpbnZhbGlkYXRlQ3VycmVudEdyYXBoaWNzUGlwZWxpbmUoKQogICAgIHsKLSAgICAgICAg
bUdyYXBoaWNzRGlydHlCaXRzLnNldChESVJUWV9CSVRfUElQRUxJTkUpOworICAgICAgICBtR3Jh
cGhpY3NEaXJ0eUJpdHMgfD0gbU5ld0dyYXBoaWNzUGlwZWxpbmVEaXJ0eUJpdHM7CisgICAgICAg
IC8vIFRoZSBkcmF3IG1vZGUgbWF5IGhhdmUgY2hhbmdlZCwgdG9nZ2xpbmcgd2hldGhlciBsaW5l
IHJhc3Rlcml6YXRpb24gaXMKKyAgICAgICAgLy8gZW5hYmxlZCBvciBub3QsIHdoaWNoIG1lYW5z
IHdlIG5lZWQgdG8gcmVjcmVhdGUgdGhlIGdyYXBoaWNzIHBpcGVsaW5lLgorICAgICAgICBtQ3Vy
cmVudEdyYXBoaWNzUGlwZWxpbmUgPSBudWxscHRyOwogICAgIH0KICAgICBBTkdMRV9JTkxJTkUg
dm9pZCBpbnZhbGlkYXRlQ3VycmVudENvbXB1dGVQaXBlbGluZSgpCiAgICAgewpAQCAtODU1LDYg
KzcyMCw4IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZr
OjpDb250ZXh0CiAgICAgICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKICAg
ICBhbmdsZTo6UmVzdWx0IGhhbmRsZURpcnR5R3JhcGhpY3NUcmFuc2Zvcm1GZWVkYmFja1N0YXRl
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1h
bmRCdWZmZXIpOworICAgIGFuZ2xlOjpSZXN1bHQgaGFuZGxlRGlydHlHcmFwaGljc1RyYW5zZm9y
bUZlZWRiYWNrUmVzdW1lKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpDb21t
YW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKIAogICAgIC8vIEhhbmRsZXJzIGZvciBjb21wdXRl
IHBpcGVsaW5lIGRpcnR5IGJpdHMuCiAgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUNvbXB1
dGVQaXBlbGluZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKQEAgLTg2OSwxMiArNzM2LDkg
QEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgdms6OkNvbnRl
eHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7CiAKICAgICAvLyBDb21tb24gcGFydHMg
b2YgdGhlIGNvbW1vbiBkaXJ0eSBiaXQgaGFuZGxlcnMuCi0gICAgYW5nbGU6OlJlc3VsdCBoYW5k
bGVEaXJ0eVRleHR1cmVzSW1wbChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21t
YW5kQnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29t
bWFuZEJ1ZmZlckhlbHBlciAqY29tbWFuZEJ1ZmZlckhlbHBlcik7CisgICAgYW5nbGU6OlJlc3Vs
dCBoYW5kbGVEaXJ0eVRleHR1cmVzSW1wbCh2azo6Q29tbWFuZEJ1ZmZlckhlbHBlciAqY29tbWFu
ZEJ1ZmZlckhlbHBlcik7CiAgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eVNoYWRlclJlc291
cmNlc0ltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1hbmRC
dWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q29tbWFuZEJ1ZmZlckhlbHBlciAqY29tbWFuZEJ1ZmZlckhlbHBlcik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXJIZWxw
ZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIpOwogICAgIHZvaWQgaGFuZGxlRGlydHlEcml2ZXJVbmlm
b3Jtc0JpbmRpbmdJbXBsKHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrUGlwZWxpbmVCaW5kUG9p
bnQgYmluZFBvaW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IERyaXZlclVuaWZvcm1zRGVzY3JpcHRvclNldCAmZHJpdmVyVW5pZm9ybXMpOwpA
QCAtODk3LDcgKzc2MSw3IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwg
cHVibGljIHZrOjpDb250ZXh0CiAgICAgYW5nbGU6OlJlc3VsdCBtZW1vcnlCYXJyaWVySW1wbChH
TGJpdGZpZWxkIGJhcnJpZXJzLCBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzdGFnZU1hc2spOwogCiAg
ICAgYW5nbGU6OlJlc3VsdCBzeW5jaHJvbml6ZUNwdUdwdVRpbWUoKTsKLSAgICBhbmdsZTo6UmVz
dWx0IHRyYWNlR3B1RXZlbnRJbXBsKHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1
ZmZlciwKKyAgICBhbmdsZTo6UmVzdWx0IHRyYWNlR3B1RXZlbnRJbXBsKHZrOjpDb21tYW5kQnVm
ZmVyICpjb21tYW5kQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhciBwaGFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEV2
ZW50TmFtZSAmbmFtZSk7CiAgICAgYW5nbGU6OlJlc3VsdCBjaGVja0NvbXBsZXRlZEdwdUV2ZW50
cygpOwpAQCAtOTExLDEwICs3NzUsMTcgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRl
eHRJbXBsLCBwdWJsaWMgdms6OkNvbnRleHQKICAgICBhbmdsZTo6UmVzdWx0IHN0YXJ0UHJpbWFy
eUNvbW1hbmRCdWZmZXIoKTsKICAgICBib29sIGhhc1JlY29yZGVkQ29tbWFuZHMoKTsKICAgICB2
b2lkIGR1bXBDb21tYW5kU3RyZWFtRGlhZ25vc3RpY3MoKTsKLSAgICB2b2lkIGZsdXNoT3V0c2lk
ZVJlbmRlclBhc3NDb21tYW5kcygpOworICAgIGFuZ2xlOjpSZXN1bHQgZmx1c2hPdXRzaWRlUmVu
ZGVyUGFzc0NvbW1hbmRzKCk7CiAKICAgICBBTkdMRV9JTkxJTkUgdm9pZCBvblJlbmRlclBhc3NG
aW5pc2hlZCgpIHsgbVJlbmRlclBhc3NDb21tYW5kQnVmZmVyID0gbnVsbHB0cjsgfQogCisgICAg
YW5nbGU6OlJlc3VsdCBvbkJ1ZmZlclJlYWQoVmtBY2Nlc3NGbGFncyByZWFkQWNjZXNzVHlwZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6UGlwZWxpbmVTdGFnZSByZWFkU3Rh
Z2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAqYnVm
ZmVyKTsKKyAgICBhbmdsZTo6UmVzdWx0IG9uQnVmZmVyV3JpdGUoVmtBY2Nlc3NGbGFncyB3cml0
ZUFjY2Vzc1R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpQaXBlbGlu
ZVN0YWdlIHdyaXRlU3RhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpC
dWZmZXJIZWxwZXIgKmJ1ZmZlcik7CisKICAgICB2b2lkIGluaXRJbmRleFR5cGVNYXAoKTsKIAog
ICAgIHN0ZDo6YXJyYXk8RGlydHlCaXRIYW5kbGVyLCBESVJUWV9CSVRfTUFYPiBtR3JhcGhpY3NE
aXJ0eUJpdEhhbmRsZXJzOwpAQCAtOTI5LDggKzgwMCw4IEBAIGNsYXNzIENvbnRleHRWayA6IHB1
YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0CiAgICAgV2luZG93U3VyZmFjZVZr
ICptQ3VycmVudFdpbmRvd1N1cmZhY2U7CiAgICAgLy8gUmVjb3JkcyB0aGUgY3VycmVudCByb3Rh
dGlvbiBvZiB0aGUgc3VyZmFjZSAoZHJhdy9yZWFkKSBmcmFtZWJ1ZmZlciwgZGVyaXZlZCBmcm9t
CiAgICAgLy8gbUN1cnJlbnRXaW5kb3dTdXJmYWNlLT5nZXRQcmVUcmFuc2Zvcm0oKS4KLSAgICBT
dXJmYWNlUm90YXRpb25UeXBlIG1DdXJyZW50Um90YXRpb25EcmF3RnJhbWVidWZmZXI7Ci0gICAg
U3VyZmFjZVJvdGF0aW9uVHlwZSBtQ3VycmVudFJvdGF0aW9uUmVhZEZyYW1lYnVmZmVyOworICAg
IFN1cmZhY2VSb3RhdGlvbiBtQ3VycmVudFJvdGF0aW9uRHJhd0ZyYW1lYnVmZmVyOworICAgIFN1
cmZhY2VSb3RhdGlvbiBtQ3VycmVudFJvdGF0aW9uUmVhZEZyYW1lYnVmZmVyOwogCiAgICAgLy8g
S2VlcCBhIGNhY2hlZCBwaXBlbGluZSBkZXNjcmlwdGlvbiBzdHJ1Y3R1cmUgdGhhdCBjYW4gYmUg
dXNlZCB0byBxdWVyeSB0aGUgcGlwZWxpbmUgY2FjaGUuCiAgICAgLy8gS2VwdCBpbiBhIHBvaW50
ZXIgc28gYWxsb2NhdGlvbnMgY2FuIGJlIGFsaWduZWQsIGFuZCBzdHJ1Y3RzIGNhbiBiZSBwb3J0
YWJseSBwYWNrZWQuCkBAIC05NTEsMTMgKzgyMiwxOSBAQCBjbGFzcyBDb250ZXh0VmsgOiBwdWJs
aWMgQ29udGV4dEltcGwsIHB1YmxpYyB2azo6Q29udGV4dAogICAgIERpcnR5Qml0cyBtSW5kZXhl
ZERpcnR5Qml0c01hc2s7CiAgICAgRGlydHlCaXRzIG1OZXdHcmFwaGljc0NvbW1hbmRCdWZmZXJE
aXJ0eUJpdHM7CiAgICAgRGlydHlCaXRzIG1OZXdDb21wdXRlQ29tbWFuZEJ1ZmZlckRpcnR5Qml0
czsKKyAgICBEaXJ0eUJpdHMgbU5ld0dyYXBoaWNzUGlwZWxpbmVEaXJ0eUJpdHM7CiAKICAgICAv
LyBDYWNoZWQgYmFjay1lbmQgb2JqZWN0cy4KICAgICBWZXJ0ZXhBcnJheVZrICptVmVydGV4QXJy
YXk7CiAgICAgRnJhbWVidWZmZXJWayAqbURyYXdGcmFtZWJ1ZmZlcjsKICAgICBQcm9ncmFtVmsg
Km1Qcm9ncmFtOworICAgIFByb2dyYW1QaXBlbGluZVZrICptUHJvZ3JhbVBpcGVsaW5lOwogICAg
IFByb2dyYW1FeGVjdXRhYmxlVmsgKm1FeGVjdXRhYmxlOwogCisgICAgLy8gb2NjbHVzaW9uIHF1
ZXJ5CisgICAgUXVlcnlWayAqbUFjdGl2ZVF1ZXJ5QW55U2FtcGxlczsKKyAgICBRdWVyeVZrICpt
QWN0aXZlUXVlcnlBbnlTYW1wbGVzQ29uc2VydmF0aXZlOworCiAgICAgLy8gR3JhcGggcmVzb3Vy
Y2UgdXNlZCB0byByZWNvcmQgZGlzcGF0Y2ggY29tbWFuZHMgYW5kIGhvbGQgcmVzb3VyY2UgZGVw
ZW5kZW5jaWVzLgogICAgIHZrOjpEaXNwYXRjaEhlbHBlciBtRGlzcGF0Y2hlcjsKIApAQCAtMTAz
Miw4ICs5MDksMTQgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJs
aWMgdms6OkNvbnRleHQKIAogICAgIC8vIFdoZW4gdGhlIGNvbW1hbmQgZ3JhcGggaXMgZGlzYWJs
ZWQgd2UgcmVjb3JkIGNvbW1hbmRzIGNvbXBsZXRlbHkgbGluZWFybHkuIFdlIGhhdmUgcGxhbnMg
dG8KICAgICAvLyByZW9yZGVyIGluZGVwZW5kZW50IGRyYXdzIHNvIHRoYXQgd2UgY2FuIGNyZWF0
ZSBmZXdlciBSZW5kZXJQYXNzZXMgaW4gc29tZSBzY2VuYXJpb3MuCi0gICAgT3V0c2lkZVJlbmRl
clBhc3NDb21tYW5kQnVmZmVyIG1PdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRzOwotICAgIFJlbmRl
clBhc3NDb21tYW5kQnVmZmVyIG1SZW5kZXJQYXNzQ29tbWFuZHM7CisgICAgLy8gQ3VycmVudGx5
IHdlIGp1c3QgcG9pbnQgdGhlIGluc2lkZS9vdXRzaWRlIFJlbmRlclBhc3MgY29tbWFuZCBidWZm
ZXJzIHRvIHJlc3BlY3RpdmUgZml4ZWQKKyAgICAvLyAgY29tbWFuZCBidWZmZXJzIGluIHRoZSBt
Q29tbWFuZEJ1ZmZlcnMgYXJyYXkuIEluIHRoZSBuZWFyIGZ1dHVyZSB3aGVuIHdlIG1vdmUgdG8g
YSB3b3JrZXIKKyAgICAvLyAgdGhyZWFkIHRoZXJlIHdpbGwgYSBsYXJnZXIgcG9vbCBvZiBjb21t
YW5kIGJ1ZmZlcnMgYW5kIGNvbW1hbmQgYnVmZmVyIHBvaW50ZXJzIHdpbGwgYmUKKyAgICAvLyAg
YXNzaWduZWQgZnJvbSBhIHF1ZXVlIGJhc2VkIG9uIGF2YWlsYWJpbGl0eS4KKyAgICBjb25zdGV4
cHIgc3RhdGljIHNpemVfdCBrTnVtQ29tbWFuZEJ1ZmZlcnMgPSAyOworICAgIHN0ZDo6YXJyYXk8
dms6OkNvbW1hbmRCdWZmZXJIZWxwZXIsIGtOdW1Db21tYW5kQnVmZmVycz4gbUNvbW1hbmRCdWZm
ZXJzOworICAgIHZrOjpDb21tYW5kQnVmZmVySGVscGVyICptT3V0c2lkZVJlbmRlclBhc3NDb21t
YW5kczsKKyAgICB2azo6Q29tbWFuZEJ1ZmZlckhlbHBlciAqbVJlbmRlclBhc3NDb21tYW5kczsK
ICAgICB2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgbVByaW1hcnlDb21tYW5kczsKICAgICBib29s
IG1IYXNQcmltYXJ5Q29tbWFuZHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxheVZrLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxheVZrLmNw
cAppbmRleCAyOTRhYTcyODc5NDlhOThlYmUyODU2ZTZkZmM0OGJiOWE4MWI4NWQ0Li5jM2Y4MjEw
YmJlNjFhMzQ5ODkzMGZmYTE0ZjNiMjkyYzAxOGUyM2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0Rpc3BsYXlWay5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi9EaXNwbGF5VmsuY3BwCkBAIC0yMyw3ICsyMywxMCBAQCBuYW1lc3BhY2UgcngKIHsKIAogRGlz
cGxheVZrOjpEaXNwbGF5VmsoY29uc3QgZWdsOjpEaXNwbGF5U3RhdGUgJnN0YXRlKQotICAgIDog
RGlzcGxheUltcGwoc3RhdGUpLCB2azo6Q29udGV4dChuZXcgUmVuZGVyZXJWaygpKSwgbVNjcmF0
Y2hCdWZmZXIoMTAwMHUpCisgICAgOiBEaXNwbGF5SW1wbChzdGF0ZSksCisgICAgICB2azo6Q29u
dGV4dChuZXcgUmVuZGVyZXJWaygpKSwKKyAgICAgIG1TY3JhdGNoQnVmZmVyKDEwMDB1KSwKKyAg
ICAgIG1IYXNTdXJmYWNlV2l0aFJvYnVzdEluaXQoZmFsc2UpCiB7fQogCiBEaXNwbGF5Vms6On5E
aXNwbGF5VmsoKQpAQCAtNDQsNyArNDcsNyBAQCB2b2lkIERpc3BsYXlWazo6dGVybWluYXRlKCkK
ICAgICBtUmVuZGVyZXItPnJlbG9hZFZvbGtJZk5lZWRlZCgpOwogCiAgICAgQVNTRVJUKG1SZW5k
ZXJlcik7Ci0gICAgbVJlbmRlcmVyLT5vbkRlc3Ryb3kodGhpcyk7CisgICAgbVJlbmRlcmVyLT5v
bkRlc3Ryb3koKTsKIH0KIAogZWdsOjpFcnJvciBEaXNwbGF5Vms6Om1ha2VDdXJyZW50KGVnbDo6
U3VyZmFjZSAqIC8qZHJhd1N1cmZhY2UqLywKQEAgLTEwNSwxMiArMTA4LDIyIEBAIFN1cmZhY2VJ
bXBsICpEaXNwbGF5Vms6OmNyZWF0ZVdpbmRvd1N1cmZhY2UoY29uc3QgZWdsOjpTdXJmYWNlU3Rh
dGUgJnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
R0xOYXRpdmVXaW5kb3dUeXBlIHdpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpCiB7CisgICAg
aWYgKGF0dHJpYnMuZ2V0KEVHTF9ST0JVU1RfUkVTT1VSQ0VfSU5JVElBTElaQVRJT05fQU5HTEUs
IEVHTF9GQUxTRSkgPT0gRUdMX1RSVUUpCisgICAgeworICAgICAgICBtSGFzU3VyZmFjZVdpdGhS
b2J1c3RJbml0ID0gdHJ1ZTsKKyAgICB9CisKICAgICByZXR1cm4gY3JlYXRlV2luZG93U3VyZmFj
ZVZrKHN0YXRlLCB3aW5kb3cpOwogfQogCiBTdXJmYWNlSW1wbCAqRGlzcGxheVZrOjpjcmVhdGVQ
YnVmZmVyU3VyZmFjZShjb25zdCBlZ2w6OlN1cmZhY2VTdGF0ZSAmc3RhdGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlZ2w6OkF0dHJpYnV0ZU1h
cCAmYXR0cmlicykKIHsKKyAgICBpZiAoYXR0cmlicy5nZXQoRUdMX1JPQlVTVF9SRVNPVVJDRV9J
TklUSUFMSVpBVElPTl9BTkdMRSwgRUdMX0ZBTFNFKSA9PSBFR0xfVFJVRSkKKyAgICB7CisgICAg
ICAgIG1IYXNTdXJmYWNlV2l0aFJvYnVzdEluaXQgPSB0cnVlOworICAgIH0KKwogICAgIEFTU0VS
VChtUmVuZGVyZXIpOwogICAgIHJldHVybiBuZXcgT2Zmc2NyZWVuU3VyZmFjZVZrKHN0YXRlKTsK
IH0KQEAgLTE5OCw2ICsyMTEsNyBAQCB2b2lkIERpc3BsYXlWazo6Z2VuZXJhdGVFeHRlbnNpb25z
KGVnbDo6RGlzcGxheUV4dGVuc2lvbnMgKm91dEV4dGVuc2lvbnMpIGNvbnN0CiAgICAgICAgIGdl
dFJlbmRlcmVyKCktPmdldEZlYXR1cmVzKCkuc3VwcG9ydHNBbmRyb2lkSGFyZHdhcmVCdWZmZXIu
ZW5hYmxlZDsKICAgICBvdXRFeHRlbnNpb25zLT5zdXJmYWNlbGVzc0NvbnRleHQgPSB0cnVlOwog
ICAgIG91dEV4dGVuc2lvbnMtPmdsQ29sb3JzcGFjZSA9IGdldFJlbmRlcmVyKCktPmdldEZlYXR1
cmVzKCkuc3VwcG9ydHNTd2FwY2hhaW5Db2xvcnNwYWNlLmVuYWJsZWQ7CisgICAgb3V0RXh0ZW5z
aW9ucy0+aW1hZ2VHbENvbG9yc3BhY2UgPSBvdXRFeHRlbnNpb25zLT5nbENvbG9yc3BhY2U7CiAK
ICNpZiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0FORFJPSUQpCiAgICAgb3V0RXh0ZW5zaW9ucy0+
ZnJhbWVidWZmZXJUYXJnZXRBTkRST0lEID0gdHJ1ZTsKQEAgLTIwNyw2ICsyMjEsMTEgQEAgdm9p
ZCBEaXNwbGF5Vms6OmdlbmVyYXRlRXh0ZW5zaW9ucyhlZ2w6OkRpc3BsYXlFeHRlbnNpb25zICpv
dXRFeHRlbnNpb25zKSBjb25zdAogICAgIG91dEV4dGVuc2lvbnMtPmNvbnRleHRQcmlvcml0eSA9
ICFnZXRSZW5kZXJlcigpLT5nZXRGZWF0dXJlcygpLmFsbG9jYXRlTm9uWmVyb01lbW9yeS5lbmFi
bGVkOwogICAgIG91dEV4dGVuc2lvbnMtPm5vQ29uZmlnQ29udGV4dCA9IHRydWU7CiAKKyNpZiBk
ZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0FORFJPSUQpCisgICAgb3V0RXh0ZW5zaW9ucy0+bmF0aXZl
RmVuY2VTeW5jQU5EUk9JRCA9CisgICAgICAgIGdldFJlbmRlcmVyKCktPmdldEZlYXR1cmVzKCku
c3VwcG9ydHNBbmRyb2lkTmF0aXZlRmVuY2VTeW5jLmVuYWJsZWQ7CisjZW5kaWYgIC8vIGRlZmlu
ZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKKwogI2lmIGRlZmluZWQoQU5HTEVfUExBVEZPUk1f
R0dQKQogICAgIG91dEV4dGVuc2lvbnMtPmdncFN0cmVhbURlc2NyaXB0b3IgPSB0cnVlOwogICAg
IG91dEV4dGVuc2lvbnMtPnN3YXBXaXRoRnJhbWVUb2tlbiAgPSB0cnVlOwpAQCAtMjM3LDggKzI1
Niw4IEBAIHZvaWQgRGlzcGxheVZrOjpoYW5kbGVFcnJvcihWa1Jlc3VsdCByZXN1bHQsCiAgICAg
QVNTRVJUKHJlc3VsdCAhPSBWS19TVUNDRVNTKTsKIAogICAgIHN0ZDo6c3RyaW5nc3RyZWFtIGVy
cm9yU3RyZWFtOwotICAgIGVycm9yU3RyZWFtIDw8ICJJbnRlcm5hbCBWdWxrYW4gZXJyb3I6ICIg
PDwgVnVsa2FuUmVzdWx0U3RyaW5nKHJlc3VsdCkgPDwgIiwgaW4gIiA8PCBmaWxlCi0gICAgICAg
ICAgICAgICAgPDwgIiwgIiA8PCBmdW5jdGlvbiA8PCAiOiIgPDwgbGluZSA8PCAiLiI7CisgICAg
ZXJyb3JTdHJlYW0gPDwgIkludGVybmFsIFZ1bGthbiBlcnJvciAoIiA8PCByZXN1bHQgPDwgIik6
ICIgPDwgVnVsa2FuUmVzdWx0U3RyaW5nKHJlc3VsdCkKKyAgICAgICAgICAgICAgICA8PCAiLCBp
biAiIDw8IGZpbGUgPDwgIiwgIiA8PCBmdW5jdGlvbiA8PCAiOiIgPDwgbGluZSA8PCAiLiI7CiAg
ICAgbVN0b3JlZEVycm9yU3RyaW5nID0gZXJyb3JTdHJlYW0uc3RyKCk7CiAKICAgICBpZiAocmVz
dWx0ID09IFZLX0VSUk9SX0RFVklDRV9MT1NUKQpAQCAtMjU5LDQgKzI3OCw5IEBAIHZvaWQgRGlz
cGxheVZrOjpwb3B1bGF0ZUZlYXR1cmVMaXN0KGFuZ2xlOjpGZWF0dXJlTGlzdCAqZmVhdHVyZXMp
CiAgICAgbVJlbmRlcmVyLT5nZXRGZWF0dXJlcygpLnBvcHVsYXRlRmVhdHVyZUxpc3QoZmVhdHVy
ZXMpOwogfQogCitib29sIERpc3BsYXlWazo6aXNSb2J1c3RSZXNvdXJjZUluaXRFbmFibGVkKCkg
Y29uc3QKK3sKKyAgICAvLyBXZSByZXR1cm4gdHJ1ZSBpZiBhbnkgc3VyZmFjZSB3YXMgY3JlYXRl
ZCB3aXRoIHJvYnVzdCByZXNvdXJjZSBpbml0IGVuYWJsZWQuCisgICAgcmV0dXJuIG1IYXNTdXJm
YWNlV2l0aFJvYnVzdEluaXQ7Cit9CiB9ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxh
eVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL0Rpc3BsYXlWay5oCmluZGV4IDM5MmViMWExNmNlNjZiYmY2Y2QzY2UzMzU1N2MxNjhhYzNm
ZDk3ZjQuLjJjZTFmYjBkZWEyMTk3YzUxMzgyZmEyYTE3NTY1OTdkYjg0ZTkwOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4v
RGlzcGxheVZrLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9EaXNwbGF5VmsuaApAQCAtOTUsNiArOTUsOCBAQCBjbGFzcyBEaXNwbGF5
VmsgOiBwdWJsaWMgRGlzcGxheUltcGwsIHB1YmxpYyB2azo6Q29udGV4dAogCiAgICAgdm9pZCBw
b3B1bGF0ZUZlYXR1cmVMaXN0KGFuZ2xlOjpGZWF0dXJlTGlzdCAqZmVhdHVyZXMpIG92ZXJyaWRl
OwogCisgICAgYm9vbCBpc1JvYnVzdFJlc291cmNlSW5pdEVuYWJsZWQoKSBjb25zdCBvdmVycmlk
ZTsKKwogICBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBnZW5lcmF0ZUV4dGVuc2lvbnMoZWdsOjpEaXNw
bGF5RXh0ZW5zaW9ucyAqb3V0RXh0ZW5zaW9ucykgY29uc3Qgb3ZlcnJpZGU7CiAKQEAgLTEwOCw2
ICsxMTAsNyBAQCBjbGFzcyBEaXNwbGF5VmsgOiBwdWJsaWMgRGlzcGxheUltcGwsIHB1YmxpYyB2
azo6Q29udGV4dAogICAgIG11dGFibGUgYW5nbGU6OlNjcmF0Y2hCdWZmZXIgbVNjcmF0Y2hCdWZm
ZXI7CiAKICAgICBzdGQ6OnN0cmluZyBtU3RvcmVkRXJyb3JTdHJpbmc7CisgICAgYm9vbCBtSGFz
U3VyZmFjZVdpdGhSb2J1c3RJbml0OwogfTsKIAogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L0ZyYW1lYnVmZmVyVmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9GcmFtZWJ1ZmZlclZrLmNwcAppbmRleCBkYzI5MmQzOTM3N2ZmNzg5
N2Q3ZjRjODE4YjgyODcxYzcxNTQxZWExLi5mMWFmMzY0ZDliNjA3NjlhZWQwNjEzYTRmMGFjZTQ5
MmYyOTBhYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRnJhbWVidWZmZXJWay5jcHAK
QEAgLTEwLDcgKzEwLDYgQEAKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRnJh
bWVidWZmZXJWay5oIgogCiAjaW5jbHVkZSA8YXJyYXk+Ci0jaW5jbHVkZSAidm9say5oIgogCiAj
aW5jbHVkZSAiY29tbW9uL2RlYnVnLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvQ29udGV4dC5oIgpA
QCAtMjQsNiArMjMsNyBAQAogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNv
dXJjZVZrLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1N1cmZhY2VWay5o
IgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRfdXRpbHMuaCIK
KyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgogI2luY2x1
ZGUgImxpYkFOR0xFL3RyYWNlLmgiCiAKIG5hbWVzcGFjZSByeApAQCAtNDMsMTMgKzQzLDkgQEAg
Y29uc3RleHByIHNpemVfdCBrUmVhZFBpeGVsc0J1ZmZlckFsaWdubWVudCA9IDMyICogMzsKIC8v
IGluIGNhc2Ugb2YgYSBidWcuCiBjb25zdGV4cHIgVmtDbGVhclZhbHVlIGtVbmluaXRpYWxpemVk
Q2xlYXJWYWx1ZSA9IHt7ezAuOTUsIDAuMDUsIDAuOTUsIDAuOTV9fX07CiAKLWNvbnN0IGdsOjpJ
bnRlcm5hbEZvcm1hdCAmR2V0UmVhZEF0dGFjaG1lbnRJbmZvKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyVGFyZ2V0VmsgKnJlbmRlclRhcmdldCkKLXsKLSAgICBHTGVudW0gaW1wbEZvcm1hdCA9
Ci0gICAgICAgIHJlbmRlclRhcmdldC0+Z2V0SW1hZ2VGb3JtYXQoKS5hY3R1YWxJbWFnZUZvcm1h
dCgpLmZib0ltcGxlbWVudGF0aW9uSW50ZXJuYWxGb3JtYXQ7Ci0gICAgcmV0dXJuIGdsOjpHZXRT
aXplZEludGVybmFsRm9ybWF0SW5mbyhpbXBsRm9ybWF0KTsKLX0KKy8vIFRoZSB2YWx1ZSB0byBh
c3NpZ24gYW4gYWxwaGEgY2hhbm5lbCB0aGF0J3MgZW11bGF0ZWQuICBUaGUgdHlwZSBpcyB1bnNp
Z25lZCBpbnQsIHRob3VnaCBpdCB3aWxsCisvLyBhdXRvbWF0aWNhbGx5IGNvbnZlcnQgdG8gdGhl
IGFjdHVhbCBkYXRhIHR5cGUuCitjb25zdGV4cHIgdW5zaWduZWQgaW50IGtFbXVsYXRlZEFscGhh
VmFsdWUgPSAxOwogCiBib29sIEhhc1NyY0JsaXRGZWF0dXJlKFJlbmRlcmVyVmsgKnJlbmRlcmVy
LCBSZW5kZXJUYXJnZXRWayAqc3JjUmVuZGVyVGFyZ2V0KQogewpAQCAtMjA0LDYgKzIwMCwxMiBA
QCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6OmNsZWFySW1wbChjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAg
IH0KIAorICAgIC8vIFdlIGNhbiBzb21ldGltZXMgZ2V0IHRvIGEgY2xlYXIgb3BlcmF0aW9uIHdp
dGggb3RoZXIgcGVuZGluZyBjbGVhcnMgKGUuZy4gZm9yIGVtdWxhdGVkCisgICAgLy8gZm9ybWF0
cykuIEVuc3VyZSB0aGUgcHJpb3IgY2xlYXJzIGhhcHBlbiBiZWZvcmUgdGhlIG5ldyBjbGVhci4g
Tm90ZSB0aGF0IHdlIGRvIG5vdCBkZWZlcgorICAgIC8vIGNsZWFycyBmb3Igc2Npc3NvcmVkIG9w
ZXJhdGlvbnMuIE5vdGUgdGhhdCBzb21lIGNsZWFycyBtYXkgYmUgcmVkdW5kYW50IHdpdGggdGhl
IGN1cnJlbnQKKyAgICAvLyBjbGVhci4gRHVlIHRvIGNvbXBsZXhpdHkgd2UgaGF2ZW4ndCBpbXBs
ZW1lbnRlZCBkZS1kdXBsaWNhdGlvbiBoZXJlLgorICAgIEFOR0xFX1RSWShmbHVzaERlZmVycmVk
Q2xlYXJzKGNvbnRleHRWaywgc2Npc3NvcmVkUmVuZGVyQXJlYSkpOworCiAgICAgLy8gVGhpcyBm
dW5jdGlvbiBhc3N1bWVzIHRoYXQgb25seSBlbmFibGVkIGF0dGFjaG1lbnRzIGFyZSBhc2tlZCB0
byBiZSBjbGVhcmVkLgogICAgIEFTU0VSVCgoY2xlYXJDb2xvckJ1ZmZlcnMgJiBtU3RhdGUuZ2V0
RW5hYmxlZERyYXdCdWZmZXJzKCkpID09IGNsZWFyQ29sb3JCdWZmZXJzKTsKIApAQCAtMjMxLDEz
ICsyMzMsMTQgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpjbGVhckltcGwoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgLy8gVGhlIGZyb250LWVuZCBzaG91bGQgZW5zdXJl
IHdlIGRvbid0IGF0dGVtcHQgdG8gY2xlYXIgc3RlbmNpbCBpZiBhbGwgYml0cyBhcmUgbWFza2Vk
LgogICAgIEFTU0VSVCghY2xlYXJTdGVuY2lsIHx8IHN0ZW5jaWxNYXNrICE9IDApOwogCisgICAg
Ym9vbCBzY2lzc29yZWRDbGVhciA9IHNjaXNzb3JlZFJlbmRlckFyZWEgIT0gZ2V0Q29tcGxldGVS
ZW5kZXJBcmVhKCk7CisKICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIHJlbmRlcmluZyBmZWVkYmFj
ayBsb29wczogY2xlYXJzIGFyZSBhbHdheXMgdmFsaWQgaW4gR0wgc2luY2UgdGhleSBkb24ndAog
ICAgIC8vIHNhbXBsZSBmcm9tIGFueSB0ZXh0dXJlcy4KICAgICBpZiAoKGNsZWFyRGVwdGggfHwg
Y2xlYXJTdGVuY2lsKSAmJiBtU3RhdGUuaGFzRGVwdGhTdGVuY2lsRmVlZGJhY2tMb29wKCkpCiAg
ICAgewogICAgICAgICAvLyBXZSBjdXJyZW50bHkgZG9uJ3QgaGFuZGxlIHNjaXNzb3JlZCBjbGVh
cnMgd2l0aCByZW5kZXJpbmcgZmVlZGJhY2sgbG9vcHMuCi0gICAgICAgIEFOR0xFX1ZLX0NIRUNL
KGNvbnRleHRWaywgc2Npc3NvcmVkUmVuZGVyQXJlYSA9PSBnZXRDb21wbGV0ZVJlbmRlckFyZWEo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgVktfRVJST1JfSU5DT01QQVRJQkxFX0RSSVZFUik7
CisgICAgICAgIEFOR0xFX1ZLX0NIRUNLKGNvbnRleHRWaywgIXNjaXNzb3JlZENsZWFyLCBWS19F
UlJPUl9JTkNPTVBBVElCTEVfRFJJVkVSKTsKIAogICAgICAgICBSZW5kZXJUYXJnZXRWayAqZGVw
dGhTdGVuY2lsUlQgPSBtUmVuZGVyVGFyZ2V0Q2FjaGUuZ2V0RGVwdGhTdGVuY2lsKHRydWUpOwog
ICAgICAgICB2azo6SW1hZ2VIZWxwZXIgJmltYWdlICAgICAgICAgPSBkZXB0aFN0ZW5jaWxSVC0+
Z2V0SW1hZ2UoKTsKQEAgLTI2OCwyMSArMjcxLDIxIEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZm
ZXJWazo6Y2xlYXJJbXBsKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAgfQogCi0gICAgVmtDbGVhckRlcHRoU3Rl
bmNpbFZhbHVlIG1vZGlmaWVkRGVwdGhTdGVuY2lsVmFsdWUgPSBjbGVhckRlcHRoU3RlbmNpbFZh
bHVlOwotCiAgICAgLy8gV2UgY2FuIHVzZSByZW5kZXIgcGFzcyBsb2FkIG9wcyBpZiBjbGVhcmlu
ZyBkZXB0aCwgdW5tYXNrZWQgY29sb3Igb3IgdW5tYXNrZWQgc3RlbmNpbC4gIElmCiAgICAgLy8g
dGhlcmUncyBhIGRlcHRoIG1hc2ssIGRlcHRoIGNsZWFyaW5nIGlzIGFscmVhZHkgZGlzYWJsZWQu
CiAgICAgYm9vbCBtYXNrZWRDbGVhckNvbG9yID0KICAgICAgICAgY2xlYXJDb2xvciAmJiAobUFj
dGl2ZUNvbG9yQ29tcG9uZW50cyAmIGNvbG9yTWFza0ZsYWdzKSAhPSBtQWN0aXZlQ29sb3JDb21w
b25lbnRzOwotICAgIGJvb2wgbWFza2VkQ2xlYXJTdGVuY2lsID0gc3RlbmNpbE1hc2sgIT0gMHhG
RjsKKyAgICBib29sIG1hc2tlZENsZWFyU3RlbmNpbCA9IGNsZWFyU3RlbmNpbCAmJiBzdGVuY2ls
TWFzayAhPSAweEZGOwogCi0gICAgYm9vbCBjbGVhckNvbG9yV2l0aFJlbmRlclBhc3NMb2FkT3Ag
ICA9IGNsZWFyQ29sb3IgJiYgIW1hc2tlZENsZWFyQ29sb3I7Ci0gICAgYm9vbCBjbGVhclN0ZW5j
aWxXaXRoUmVuZGVyUGFzc0xvYWRPcCA9IGNsZWFyU3RlbmNpbCAmJiAhbWFza2VkQ2xlYXJTdGVu
Y2lsOworICAgIGJvb2wgY2xlYXJDb2xvcldpdGhSZW5kZXJQYXNzTG9hZE9wICAgPSBjbGVhckNv
bG9yICYmICFtYXNrZWRDbGVhckNvbG9yICYmICFzY2lzc29yZWRDbGVhcjsKKyAgICBib29sIGNs
ZWFyRGVwdGhXaXRoUmVuZGVyUGFzc0xvYWRPcCAgID0gY2xlYXJEZXB0aCAmJiAhc2Npc3NvcmVk
Q2xlYXI7CisgICAgYm9vbCBjbGVhclN0ZW5jaWxXaXRoUmVuZGVyUGFzc0xvYWRPcCA9IGNsZWFy
U3RlbmNpbCAmJiAhbWFza2VkQ2xlYXJTdGVuY2lsICYmICFzY2lzc29yZWRDbGVhcjsKIAogICAg
IC8vIEF0IGxlYXN0IG9uZSBvZiBjb2xvciwgZGVwdGggb3Igc3RlbmNpbCBzaG91bGQgYmUgY2xl
YXJhYmxlIHdpdGggcmVuZGVyIHBhc3MgbG9hZE9wIGZvciB1cwogICAgIC8vIHRvIHVzZSB0aGlz
IGNsZWFyIHBhdGguCi0gICAgYm9vbCBjbGVhckFueVdpdGhSZW5kZXJQYXNzTG9hZE9wID0KLSAg
ICAgICAgY2xlYXJDb2xvcldpdGhSZW5kZXJQYXNzTG9hZE9wIHx8IGNsZWFyRGVwdGggfHwgY2xl
YXJTdGVuY2lsV2l0aFJlbmRlclBhc3NMb2FkT3A7CisgICAgYm9vbCBjbGVhckFueVdpdGhSZW5k
ZXJQYXNzTG9hZE9wID0gY2xlYXJDb2xvcldpdGhSZW5kZXJQYXNzTG9hZE9wIHx8CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJEZXB0aFdpdGhSZW5kZXJQYXNz
TG9hZE9wIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJT
dGVuY2lsV2l0aFJlbmRlclBhc3NMb2FkT3A7CiAKICAgICBpZiAoY2xlYXJBbnlXaXRoUmVuZGVy
UGFzc0xvYWRPcCkKICAgICB7CkBAIC0yOTYsMTcgKzI5OSwyMCBAQCBhbmdsZTo6UmVzdWx0IEZy
YW1lYnVmZmVyVms6OmNsZWFySW1wbChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgIGNsZWFyQnVmZmVyc1dpdGhSZW5kZXJQYXNzTG9hZE9wID0gY2xlYXJDb2xvckJ1ZmZl
cnM7CiAgICAgICAgIH0KIAotICAgICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5jbGVhcldpdGhS
ZW5kZXJQYXNzT3AoCi0gICAgICAgICAgICBzY2lzc29yZWRSZW5kZXJBcmVhLCBjbGVhckJ1ZmZl
cnNXaXRoUmVuZGVyUGFzc0xvYWRPcCwgY2xlYXJEZXB0aCwKLSAgICAgICAgICAgIGNsZWFyU3Rl
bmNpbFdpdGhSZW5kZXJQYXNzTG9hZE9wLCBjbGVhckNvbG9yVmFsdWUsIG1vZGlmaWVkRGVwdGhT
dGVuY2lsVmFsdWUpKTsKKyAgICAgICAgY2xlYXJXaXRoUmVuZGVyUGFzc09wKGNsZWFyQnVmZmVy
c1dpdGhSZW5kZXJQYXNzTG9hZE9wLCBjbGVhckRlcHRoV2l0aFJlbmRlclBhc3NMb2FkT3AsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0ZW5jaWxXaXRoUmVuZGVyUGFzc0xv
YWRPcCwgY2xlYXJDb2xvclZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xl
YXJEZXB0aFN0ZW5jaWxWYWx1ZSk7CiAKICAgICAgICAgLy8gRmFsbGJhY2sgdG8gb3RoZXIgbWV0
aG9kcyBmb3Igd2hhdGV2ZXIgaXNuJ3QgY2xlYXJlZCBoZXJlLgotICAgICAgICBjbGVhckRlcHRo
ID0gZmFsc2U7CiAgICAgICAgIGlmIChjbGVhckNvbG9yV2l0aFJlbmRlclBhc3NMb2FkT3ApCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGNsZWFyQ29sb3JCdWZmZXJzLnJlc2V0KCk7CiAgICAgICAg
ICAgICBjbGVhckNvbG9yID0gZmFsc2U7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKGNsZWFyRGVw
dGhXaXRoUmVuZGVyUGFzc0xvYWRPcCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xlYXJEZXB0
aCA9IGZhbHNlOworICAgICAgICB9CiAgICAgICAgIGlmIChjbGVhclN0ZW5jaWxXaXRoUmVuZGVy
UGFzc0xvYWRPcCkKICAgICAgICAgewogICAgICAgICAgICAgY2xlYXJTdGVuY2lsID0gZmFsc2U7
CkBAIC0zMTksMTQgKzMyNSwxOCBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6OmNsZWFy
SW1wbChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgfQogICAgIH0KIAotICAg
IC8vIE5vdGU6IGRlcHRoIGNsZWFyIGlzIGFsd2F5cyBkb25lIHRocm91Z2ggcmVuZGVyIHBhc3Mg
bG9hZE9wLgotICAgIEFTU0VSVChjbGVhckRlcHRoID09IGZhbHNlKTsKKyAgICBpZiAoc2Npc3Nv
cmVkQ2xlYXIgJiYgIW1hc2tlZENsZWFyQ29sb3IgJiYgIW1hc2tlZENsZWFyU3RlbmNpbCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBjbGVhckltbWVkaWF0ZWx5V2l0aFJlbmRlclBhc3NPcChjb250
ZXh0VmssIHNjaXNzb3JlZFJlbmRlckFyZWEsIGNsZWFyQ29sb3JCdWZmZXJzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJEZXB0aCwgY2xlYXJT
dGVuY2lsLCBjbGVhckNvbG9yVmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjbGVhckRlcHRoU3RlbmNpbFZhbHVlKTsKKyAgICB9CiAKICAgICAv
LyBUaGUgbW9zdCBjb3N0bHkgY2xlYXIgbW9kZSBpcyB3aGVuIHdlIG5lZWQgdG8gbWFzayBvdXQg
c3BlY2lmaWMgY29sb3IgY2hhbm5lbHMgb3Igc3RlbmNpbAogICAgIC8vIGJpdHMuIFRoaXMgY2Fu
IG9ubHkgYmUgZG9uZSB3aXRoIGEgZHJhdyBjYWxsLgotICAgIHJldHVybiBjbGVhcldpdGhEcmF3
KGNvbnRleHRWaywgc2Npc3NvcmVkUmVuZGVyQXJlYSwgY2xlYXJDb2xvckJ1ZmZlcnMsIGNsZWFy
U3RlbmNpbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvck1hc2tGbGFncywgc3RlbmNp
bE1hc2ssIGNsZWFyQ29sb3JWYWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDx1aW50OF90Pihtb2RpZmllZERlcHRoU3RlbmNpbFZhbHVlLnN0ZW5jaWwpKTsKKyAgICBy
ZXR1cm4gY2xlYXJXaXRoRHJhdyhjb250ZXh0VmssIHNjaXNzb3JlZFJlbmRlckFyZWEsIGNsZWFy
Q29sb3JCdWZmZXJzLCBjbGVhckRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFy
U3RlbmNpbCwgY29sb3JNYXNrRmxhZ3MsIHN0ZW5jaWxNYXNrLCBjbGVhckNvbG9yVmFsdWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZSk7CiB9CiAKIGFu
Z2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Y2xlYXJCdWZmZXJmdihjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKQEAgLTQyMCwyMSArNDMwLDE0IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZm
ZXJWazo6Y2xlYXJCdWZmZXJmaShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAg
ICAgICAgICAgICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVuY2lsKTsKIH0KIAotR0xlbnVtIEZyYW1l
YnVmZmVyVms6OmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0KSBjb25zdAorY29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZGcmFtZWJ1ZmZl
clZrOjpnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdCgKKyAgICBjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCkgY29uc3QKIHsKLSAgICByZXR1cm4gR2V0UmVhZEF0dGFjaG1lbnRJbmZv
KGNvbnRleHQsIG1SZW5kZXJUYXJnZXRDYWNoZS5nZXRDb2xvclJlYWQobVN0YXRlKSkuZm9ybWF0
OwotfQotCi1HTGVudW0gRnJhbWVidWZmZXJWazo6Z2V0SW1wbGVtZW50YXRpb25Db2xvclJlYWRU
eXBlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAotewotICAgIEdMZW51bSByZWFk
VHlwZSA9IEdldFJlYWRBdHRhY2htZW50SW5mbyhjb250ZXh0LCBtUmVuZGVyVGFyZ2V0Q2FjaGUu
Z2V0Q29sb3JSZWFkKG1TdGF0ZSkpLnR5cGU7Ci0gICAgaWYgKGNvbnRleHQtPmdldENsaWVudE1h
am9yVmVyc2lvbigpIDwgMyAmJiByZWFkVHlwZSA9PSBHTF9IQUxGX0ZMT0FUKQotICAgIHsKLSAg
ICAgICAgLy8gR0xfSEFMRl9GTE9BVCB3YXMgbm90IGludHJvZHVjZWQgdW50aWwgR0xFUyAzLjAs
IGFuZCBoYXMgYSBkaWZmZXJlbnQgdmFsdWUgZnJvbQotICAgICAgICAvLyBHTF9IQUxGX0ZMT0FU
X09FUwotICAgICAgICByZWFkVHlwZSA9IEdMX0hBTEZfRkxPQVRfT0VTOwotICAgIH0KLSAgICBy
ZXR1cm4gcmVhZFR5cGU7CisgICAgQ29udGV4dFZrICpjb250ZXh0VmsgICAgICAgPSB2azo6R2V0
SW1wbChjb250ZXh0KTsKKyAgICBHTGVudW0gc2l6ZWRGb3JtYXQgICAgICAgICA9IG1TdGF0ZS5n
ZXRSZWFkQXR0YWNobWVudCgpLT5nZXRGb3JtYXQoKS5pbmZvLT5zaXplZEludGVybmFsRm9ybWF0
OworICAgIGNvbnN0IHZrOjpGb3JtYXQgJnZrRm9ybWF0ID0gY29udGV4dFZrLT5nZXRSZW5kZXJl
cigpLT5nZXRGb3JtYXQoc2l6ZWRGb3JtYXQpOworICAgIEdMZW51bSBpbXBsRm9ybWF0ICAgICAg
ICAgID0gdmtGb3JtYXQuYWN0dWFsSW1hZ2VGb3JtYXQoKS5mYm9JbXBsZW1lbnRhdGlvbkludGVy
bmFsRm9ybWF0OworICAgIHJldHVybiBnbDo6R2V0U2l6ZWRJbnRlcm5hbEZvcm1hdEluZm8oaW1w
bEZvcm1hdCk7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6cmVhZFBpeGVscyhj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKQEAgLTQ0NCw3ICs0NDcsNyBAQCBhbmdsZTo6UmVz
dWx0IEZyYW1lYnVmZmVyVms6OnJlYWRQaXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcGl4ZWxzKQog
ewogICAgIC8vIENsaXAgcmVhZCBhcmVhIHRvIGZyYW1lYnVmZmVyLgotICAgIGNvbnN0IGdsOjpF
eHRlbnRzICZmYlNpemUgPSBnZXRTdGF0ZSgpLmdldFJlYWRBdHRhY2htZW50KCktPmdldFNpemUo
KTsKKyAgICBjb25zdCBnbDo6RXh0ZW50cyAmZmJTaXplID0gZ2V0U3RhdGUoKS5nZXRSZWFkUGl4
ZWxzQXR0YWNobWVudChmb3JtYXQpLT5nZXRTaXplKCk7CiAgICAgY29uc3QgZ2w6OlJlY3Rhbmds
ZSBmYlJlY3QoMCwgMCwgZmJTaXplLndpZHRoLCBmYlNpemUuaGVpZ2h0KTsKICAgICBDb250ZXh0
VmsgKmNvbnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwogCkBAIC00NTUsNiArNDU4LDkg
QEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpyZWFkUGl4ZWxzKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAg
ICAgfQogCisgICAgLy8gRmx1c2ggYW55IGRlZmVycmVkIGNsZWFycy4KKyAgICBBTkdMRV9UUlko
Zmx1c2hEZWZlcnJlZENsZWFycyhjb250ZXh0VmssIGZiUmVjdCkpOworCiAgICAgY29uc3QgZ2w6
OlN0YXRlICZnbFN0YXRlID0gY29udGV4dFZrLT5nZXRTdGF0ZSgpOwogICAgIGdsOjpCdWZmZXIg
KnBhY2tCdWZmZXIgICA9IGdsU3RhdGUuZ2V0VGFyZ2V0QnVmZmVyKGdsOjpCdWZmZXJCaW5kaW5n
OjpQaXhlbFBhY2spOwogCkBAIC00NjQsMTQgKzQ3MCw0NyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1l
YnVmZmVyVms6OnJlYWRQaXhlbHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsIHR5cGUs
IGFyZWEsIGNsaXBwZWRBcmVhLCAmcGFyYW1zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJm91dHB1dFNraXBCeXRlcykpOwogCi0gICAgaWYgKGNv
bnRleHRWay0+aXNWaWV3cG9ydEZsaXBFbmFibGVkRm9yUmVhZEZCTygpKQorICAgIGJvb2wgZmxp
cFkgPSBjb250ZXh0VmstPmlzVmlld3BvcnRGbGlwRW5hYmxlZEZvclJlYWRGQk8oKTsKKyAgICBz
d2l0Y2ggKHBhcmFtcy5yb3RhdGlvbiA9IGNvbnRleHRWay0+Z2V0Um90YXRpb25SZWFkRnJhbWVi
dWZmZXIoKSkKKyAgICB7CisgICAgICAgIGNhc2UgU3VyZmFjZVJvdGF0aW9uOjpJZGVudGl0eToK
KyAgICAgICAgICAgIC8vIERvIG5vdCByb3RhdGUgZ2xfUG9zaXRpb24gKHN1cmZhY2UgbWF0Y2hl
cyB0aGUgZGV2aWNlJ3Mgb3JpZW50YXRpb24pOgorICAgICAgICAgICAgaWYgKGZsaXBZKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHBhcmFtcy5hcmVhLnkgPSBmYlJlY3QuaGVpZ2h0
IC0gY2xpcHBlZEFyZWEueSAtIGNsaXBwZWRBcmVhLmhlaWdodDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFN1cmZhY2VSb3RhdGlvbjo6Um90YXRlZDkw
RGVncmVlczoKKyAgICAgICAgICAgIC8vIFJvdGF0ZSBnbF9Qb3NpdGlvbiA5MCBkZWdyZWVzOgor
ICAgICAgICAgICAgcGFyYW1zLmFyZWEueCA9IGNsaXBwZWRBcmVhLnk7CisgICAgICAgICAgICBw
YXJhbXMuYXJlYS55ID0KKyAgICAgICAgICAgICAgICBmbGlwWSA/IGNsaXBwZWRBcmVhLnggOiBm
YlJlY3Qud2lkdGggLSBjbGlwcGVkQXJlYS54IC0gY2xpcHBlZEFyZWEud2lkdGg7CisgICAgICAg
ICAgICBzdGQ6OnN3YXAocGFyYW1zLmFyZWEud2lkdGgsIHBhcmFtcy5hcmVhLmhlaWdodCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTdXJmYWNlUm90YXRpb246OlJvdGF0ZWQx
ODBEZWdyZWVzOgorICAgICAgICAgICAgLy8gUm90YXRlIGdsX1Bvc2l0aW9uIDE4MCBkZWdyZWVz
OgorICAgICAgICAgICAgcGFyYW1zLmFyZWEueCA9IGZiUmVjdC53aWR0aCAtIGNsaXBwZWRBcmVh
LnggLSBjbGlwcGVkQXJlYS53aWR0aDsKKyAgICAgICAgICAgIHBhcmFtcy5hcmVhLnkgPQorICAg
ICAgICAgICAgICAgIGZsaXBZID8gY2xpcHBlZEFyZWEueSA6IGZiUmVjdC5oZWlnaHQgLSBjbGlw
cGVkQXJlYS55IC0gY2xpcHBlZEFyZWEuaGVpZ2h0OworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgU3VyZmFjZVJvdGF0aW9uOjpSb3RhdGVkMjcwRGVncmVlczoKKyAgICAgICAgICAg
IC8vIFJvdGF0ZSBnbF9Qb3NpdGlvbiAyNzAgZGVncmVlczoKKyAgICAgICAgICAgIHBhcmFtcy5h
cmVhLnggPSBmYlJlY3QuaGVpZ2h0IC0gY2xpcHBlZEFyZWEueSAtIGNsaXBwZWRBcmVhLmhlaWdo
dDsKKyAgICAgICAgICAgIHBhcmFtcy5hcmVhLnkgPQorICAgICAgICAgICAgICAgIGZsaXBZID8g
ZmJSZWN0LndpZHRoIC0gY2xpcHBlZEFyZWEueCAtIGNsaXBwZWRBcmVhLndpZHRoIDogY2xpcHBl
ZEFyZWEueDsKKyAgICAgICAgICAgIHN0ZDo6c3dhcChwYXJhbXMuYXJlYS53aWR0aCwgcGFyYW1z
LmFyZWEuaGVpZ2h0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBp
ZiAoZmxpcFkpCiAgICAgewotICAgICAgICBwYXJhbXMuYXJlYS55ICAgICAgICAgID0gZmJSZWN0
LmhlaWdodCAtIGNsaXBwZWRBcmVhLnkgLSBjbGlwcGVkQXJlYS5oZWlnaHQ7CiAgICAgICAgIHBh
cmFtcy5yZXZlcnNlUm93T3JkZXIgPSAhcGFyYW1zLnJldmVyc2VSb3dPcmRlcjsKICAgICB9CiAK
LSAgICBBTkdMRV9UUlkocmVhZFBpeGVsc0ltcGwoY29udGV4dFZrLCBwYXJhbXMuYXJlYSwgcGFy
YW1zLCBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnZXRDb2xvclJlYWRSZW5kZXJUYXJnZXQoKSwKKyAgICBBTkdMRV9UUlkocmVhZFBpeGVs
c0ltcGwoY29udGV4dFZrLCBwYXJhbXMuYXJlYSwgcGFyYW1zLCBnZXRSZWFkUGl4ZWxzQXNwZWN0
RmxhZ3MoZm9ybWF0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVhZFBpeGVs
c1JlbmRlclRhcmdldChmb3JtYXQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDx1aW50OF90ICo+KHBpeGVscykgKyBvdXRwdXRTa2lwQnl0ZXMpKTsKICAgICBtUmVh
ZFBpeGVsQnVmZmVyLnJlbGVhc2VJbkZsaWdodEJ1ZmZlcnMoY29udGV4dFZrKTsKICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC00OTgsNiArNTM3LDMxIEBAIFJlbmRlclRh
cmdldFZrICpGcmFtZWJ1ZmZlclZrOjpnZXRDb2xvclJlYWRSZW5kZXJUYXJnZXQoKSBjb25zdAog
ICAgIHJldHVybiByZW5kZXJUYXJnZXQ7CiB9CiAKK1JlbmRlclRhcmdldFZrICpGcmFtZWJ1ZmZl
clZrOjpnZXRSZWFkUGl4ZWxzUmVuZGVyVGFyZ2V0KEdMZW51bSBmb3JtYXQpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChmb3JtYXQpCisgICAgeworICAgICAgICBjYXNlIEdMX0RFUFRIX0NPTVBPTkVO
VDoKKyAgICAgICAgY2FzZSBHTF9TVEVOQ0lMX0lOREVYX09FUzoKKyAgICAgICAgICAgIHJldHVy
biBnZXREZXB0aFN0ZW5jaWxSZW5kZXJUYXJnZXQoKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIHJldHVybiBnZXRDb2xvclJlYWRSZW5kZXJUYXJnZXQoKTsKKyAgICB9Cit9CisKK1Zr
SW1hZ2VBc3BlY3RGbGFnQml0cyBGcmFtZWJ1ZmZlclZrOjpnZXRSZWFkUGl4ZWxzQXNwZWN0Rmxh
Z3MoR0xlbnVtIGZvcm1hdCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGZvcm1hdCkKKyAgICB7Cisg
ICAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UOgorICAgICAgICAgICAgcmV0dXJuIFZLX0lN
QUdFX0FTUEVDVF9ERVBUSF9CSVQ7CisgICAgICAgIGNhc2UgR0xfU1RFTkNJTF9JTkRFWF9PRVM6
CisgICAgICAgICAgICByZXR1cm4gVktfSU1BR0VfQVNQRUNUX1NURU5DSUxfQklUOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQ7
CisgICAgfQorfQorCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6OmJsaXRXaXRoQ29tbWFu
ZChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJnNvdXJjZUFyZWEsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZk
ZXN0QXJlYSwKQEAgLTU2Nyw2ICs2MzEsMTAgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZr
OjpibGl0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIFJlbmRlcmVyVmsgKnJlbmRl
cmVyID0gY29udGV4dFZrLT5nZXRSZW5kZXJlcigpOwogICAgIFV0aWxzVmsgJnV0aWxzVmsgICAg
ID0gY29udGV4dFZrLT5nZXRVdGlscygpOwogCisgICAgLy8gV2UgY2FuIHNvbWV0aW1lcyBlbmQg
dXAgaW4gYSBibGl0IHdpdGggc29tZSBjbGVhciBjb21tYW5kcyBzYXZlZC4gRW5zdXJlIGFsbCBj
bGVhciBjb21tYW5kcworICAgIC8vIGFyZSBpc3N1ZWQgYmVmb3JlIHdlIGlzc3VlIHRoZSBibGl0
IGNvbW1hbmQuCisgICAgQU5HTEVfVFJZKGZsdXNoRGVmZXJyZWRDbGVhcnMoY29udGV4dFZrLCBn
ZXRDb21wbGV0ZVJlbmRlckFyZWEoKSkpOworCiAgICAgY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRl
ICAgICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0U3RhdGUoKTsKICAgICBjb25zdCBnbDo6RnJh
bWVidWZmZXIgKnNyY0ZyYW1lYnVmZmVyID0gZ2xTdGF0ZS5nZXRSZWFkRnJhbWVidWZmZXIoKTsK
IApAQCAtOTAzLDM0ICs5NzEsNiBAQCBib29sIEZyYW1lYnVmZmVyVms6OmNoZWNrU3RhdHVzKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1h
bmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6OnVwZGF0ZUNvbG9yQXR0YWNobWVudChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwgc2l6ZV90IGNvbG9ySW5kZXhHTCkKLXsKLSAgICBDb250ZXh0
VmsgKmNvbnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwotCi0gICAgQU5HTEVfVFJZKG1S
ZW5kZXJUYXJnZXRDYWNoZS51cGRhdGVDb2xvclJlbmRlclRhcmdldChjb250ZXh0LCBtU3RhdGUs
IGNvbG9ySW5kZXhHTCkpOwotCi0gICAgLy8gVXBkYXRlIGNhY2hlZCBtYXNrcyBmb3IgbWFza2Vk
IGNsZWFycy4KLSAgICBSZW5kZXJUYXJnZXRWayAqcmVuZGVyVGFyZ2V0ID0gbVJlbmRlclRhcmdl
dENhY2hlLmdldENvbG9ycygpW2NvbG9ySW5kZXhHTF07Ci0gICAgaWYgKHJlbmRlclRhcmdldCkK
LSAgICB7Ci0gICAgICAgIGNvbnN0IGFuZ2xlOjpGb3JtYXQgJmFjdHVhbEZvcm1hdCA9IHJlbmRl
clRhcmdldC0+Z2V0SW1hZ2VGb3JtYXQoKS5hY3R1YWxJbWFnZUZvcm1hdCgpOwotICAgICAgICB1
cGRhdGVBY3RpdmVDb2xvck1hc2tzKGNvbG9ySW5kZXhHTCwgYWN0dWFsRm9ybWF0LnJlZEJpdHMg
PiAwLCBhY3R1YWxGb3JtYXQuZ3JlZW5CaXRzID4gMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3R1YWxGb3JtYXQuYmx1ZUJpdHMgPiAwLCBhY3R1YWxGb3JtYXQuYWxwaGFCaXRz
ID4gMCk7Ci0KLSAgICAgICAgY29uc3QgYW5nbGU6OkZvcm1hdCAmc291cmNlRm9ybWF0ID0gcmVu
ZGVyVGFyZ2V0LT5nZXRJbWFnZUZvcm1hdCgpLmludGVuZGVkRm9ybWF0KCk7Ci0gICAgICAgIG1F
bXVsYXRlZEFscGhhQXR0YWNobWVudE1hc2suc2V0KGNvbG9ySW5kZXhHTCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlRm9ybWF0LmFscGhhQml0cyA9PSAw
ICYmIGFjdHVhbEZvcm1hdC5hbHBoYUJpdHMgPiAwKTsKLQotICAgICAgICBjb250ZXh0VmstPnVw
ZGF0ZUNvbG9yTWFzayhjb250ZXh0LT5nZXRTdGF0ZSgpLmdldEJsZW5kU3RhdGUoKSk7Ci0gICAg
fQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIHVwZGF0ZUFjdGl2ZUNvbG9yTWFza3MoY29sb3JJ
bmRleEdMLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwotfQotCiBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVy
Vms6OmludmFsaWRhdGVJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY291bnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZW51bSAqYXR0YWNobWVudHMp
CkBAIC0xMDE1LDYgKzEwNTUsNzkgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjppbnZh
bGlkYXRlSW1wbChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6dXBkYXRlQ29s
b3JBdHRhY2htZW50KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkZWZlckNsZWFycywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGNvbG9ySW5kZXhHTCkKK3sKKyAgICBDb250ZXh0VmsgKmNvbnRleHRWayA9IHZrOjpHZXRJbXBs
KGNvbnRleHQpOworCisgICAgQU5HTEVfVFJZKG1SZW5kZXJUYXJnZXRDYWNoZS51cGRhdGVDb2xv
clJlbmRlclRhcmdldChjb250ZXh0LCBtU3RhdGUsIGNvbG9ySW5kZXhHTCkpOworCisgICAgLy8g
VXBkYXRlIGNhY2hlZCBtYXNrcyBmb3IgbWFza2VkIGNsZWFycy4KKyAgICBSZW5kZXJUYXJnZXRW
ayAqcmVuZGVyVGFyZ2V0ID0gbVJlbmRlclRhcmdldENhY2hlLmdldENvbG9ycygpW2NvbG9ySW5k
ZXhHTF07CisgICAgaWYgKHJlbmRlclRhcmdldCkKKyAgICB7CisgICAgICAgIGNvbnN0IGFuZ2xl
OjpGb3JtYXQgJmFjdHVhbEZvcm1hdCA9IHJlbmRlclRhcmdldC0+Z2V0SW1hZ2VGb3JtYXQoKS5h
Y3R1YWxJbWFnZUZvcm1hdCgpOworICAgICAgICB1cGRhdGVBY3RpdmVDb2xvck1hc2tzKGNvbG9y
SW5kZXhHTCwgYWN0dWFsRm9ybWF0LnJlZEJpdHMgPiAwLCBhY3R1YWxGb3JtYXQuZ3JlZW5CaXRz
ID4gMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxGb3JtYXQuYmx1ZUJp
dHMgPiAwLCBhY3R1YWxGb3JtYXQuYWxwaGFCaXRzID4gMCk7CisKKyAgICAgICAgY29uc3QgYW5n
bGU6OkZvcm1hdCAmc291cmNlRm9ybWF0ID0gcmVuZGVyVGFyZ2V0LT5nZXRJbWFnZUZvcm1hdCgp
LmludGVuZGVkRm9ybWF0KCk7CisgICAgICAgIG1FbXVsYXRlZEFscGhhQXR0YWNobWVudE1hc2su
c2V0KGNvbG9ySW5kZXhHTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc291cmNlRm9ybWF0LmFscGhhQml0cyA9PSAwICYmIGFjdHVhbEZvcm1hdC5hbHBoYUJpdHMg
PiAwKTsKKworICAgICAgICBjb250ZXh0VmstPnVwZGF0ZUNvbG9yTWFzayhjb250ZXh0LT5nZXRT
dGF0ZSgpLmdldEJsZW5kU3RhdGUoKSk7CisKKyAgICAgICAgaWYgKGRlZmVyQ2xlYXJzICYmIG1T
dGF0ZS5nZXRFbmFibGVkRHJhd0J1ZmZlcnMoKS50ZXN0KGNvbG9ySW5kZXhHTCkpCisgICAgICAg
IHsKKyAgICAgICAgICAgIEFOR0xFX1RSWShyZW5kZXJUYXJnZXQtPmZsdXNoU3RhZ2VkVXBkYXRl
cyhjb250ZXh0VmssICZtRGVmZXJyZWRDbGVhcnMsIGNvbG9ySW5kZXhHTCkpOworICAgICAgICB9
CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgQU5HTEVfVFJZKHJlbmRlclRh
cmdldC0+Zmx1c2hTdGFnZWRVcGRhdGVzKGNvbnRleHRWaywgbnVsbHB0ciwgMCkpOworICAgICAg
ICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHVwZGF0ZUFjdGl2ZUNvbG9yTWFz
a3MoY29sb3JJbmRleEdMLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgfQorCisg
ICAgaWYgKHJlbmRlclRhcmdldCAmJiBtU3RhdGUuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKClbY29s
b3JJbmRleEdMXSkKKyAgICB7CisgICAgICAgIG1DdXJyZW50RnJhbWVidWZmZXJEZXNjLnVwZGF0
ZShjb2xvckluZGV4R0wsIHJlbmRlclRhcmdldC0+Z2V0QXNzaWduU2VyaWFsKGNvbnRleHRWaykp
OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBtQ3VycmVudEZyYW1lYnVmZmVyRGVz
Yy51cGRhdGUoY29sb3JJbmRleEdMLCB2azo6a1plcm9BdHRhY2htZW50U2VyaWFsKTsKKyAgICB9
CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9CisKK2FuZ2xlOjpSZXN1
bHQgRnJhbWVidWZmZXJWazo6dXBkYXRlRGVwdGhTdGVuY2lsQXR0YWNobWVudChjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGRlZmVyQ2xlYXJzKQoreworICAgIEFOR0xFX1RSWSht
UmVuZGVyVGFyZ2V0Q2FjaGUudXBkYXRlRGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0KGNvbnRleHQs
IG1TdGF0ZSkpOworCisgICAgQ29udGV4dFZrICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChjb250
ZXh0KTsKKyAgICB1cGRhdGVEZXB0aFN0ZW5jaWxBdHRhY2htZW50U2VyaWFsKGNvbnRleHRWayk7
CisKKyAgICBSZW5kZXJUYXJnZXRWayAqZGVwdGhTdGVuY2lsUlQgPSBnZXREZXB0aFN0ZW5jaWxS
ZW5kZXJUYXJnZXQoKTsKKyAgICBpZiAoZGVwdGhTdGVuY2lsUlQpCisgICAgeworICAgICAgICBp
ZiAoZGVmZXJDbGVhcnMpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFOR0xFX1RSWShkZXB0aFN0
ZW5jaWxSVC0+Zmx1c2hTdGFnZWRVcGRhdGVzKGNvbnRleHRWaywgJm1EZWZlcnJlZENsZWFycywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZrOjprQ2xlYXJWYWx1ZURlcHRoSW5kZXgpKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisg
ICAgICAgIHsKKyAgICAgICAgICAgIEFOR0xFX1RSWShkZXB0aFN0ZW5jaWxSVC0+Zmx1c2hTdGFn
ZWRVcGRhdGVzKGNvbnRleHRWaywgbnVsbHB0ciwgMCkpOworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQorCiB2b2lkIEZyYW1lYnVmZmVy
Vms6OnVwZGF0ZURlcHRoU3RlbmNpbEF0dGFjaG1lbnRTZXJpYWwoQ29udGV4dFZrICpjb250ZXh0
VmspCiB7CiAgICAgUmVuZGVyVGFyZ2V0VmsgKmRlcHRoU3RlbmNpbFJUID0gZ2V0RGVwdGhTdGVu
Y2lsUmVuZGVyVGFyZ2V0KCk7CkBAIC0xMDMyLDEyICsxMTQ1LDE5IEBAIHZvaWQgRnJhbWVidWZm
ZXJWazo6dXBkYXRlRGVwdGhTdGVuY2lsQXR0YWNobWVudFNlcmlhbChDb250ZXh0VmsgKmNvbnRl
eHRWaykKIH0KIAogYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpzeW5jU3RhdGUoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTGVudW0gYmluZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZlcjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpCiB7CiAgICAg
Q29udGV4dFZrICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChjb250ZXh0KTsKIAogICAgIHZrOjpG
cmFtZWJ1ZmZlckRlc2MgcHJpb3JGcmFtZWJ1ZmZlckRlc2MgPSBtQ3VycmVudEZyYW1lYnVmZmVy
RGVzYzsKIAorICAgIC8vIE9ubHkgZGVmZXIgY2xlYXJzIGZvciB3aG9sZSBkcmF3IGZyYW1lYnVm
ZmVyIG9wcy4gSWYgdGhlIHNjaXNzb3IgdGVzdCBpcyBvbiBhbmQgdGhlIHNjaXNzb3IKKyAgICAv
LyByZWN0IGRvZXNuJ3QgbWF0Y2ggdGhlIGRyYXcgcmVjdCwgZm9yZ2V0IGl0LgorICAgIGdsOjpS
ZWN0YW5nbGUgcmVuZGVyQXJlYSAgICAgICAgICA9IGdldENvbXBsZXRlUmVuZGVyQXJlYSgpOwor
ICAgIGdsOjpSZWN0YW5nbGUgc2Npc3NvcmVkUmVuZGVyQXJlYSA9IENsaXBSZWN0VG9TY2lzc29y
KGNvbnRleHQtPmdldFN0YXRlKCksIHJlbmRlckFyZWEsIGZhbHNlKTsKKyAgICBib29sIGRlZmVy
Q2xlYXJzID0gYmluZGluZyA9PSBHTF9EUkFXX0ZSQU1FQlVGRkVSICYmIHJlbmRlckFyZWEgPT0g
c2Npc3NvcmVkUmVuZGVyQXJlYTsKKwogICAgIC8vIEZvciBhbnkgdXBkYXRlZCBhdHRhY2htZW50
cyB3ZSdsbCB1cGRhdGUgdGhlaXIgU2VyaWFscyBiZWxvdwogICAgIEFTU0VSVChkaXJ0eUJpdHMu
YW55KCkpOwogICAgIGZvciAoc2l6ZV90IGRpcnR5Qml0IDogZGlydHlCaXRzKQpAQCAtMTA0NSwy
MyArMTE2NSwxMSBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6OnN5bmNTdGF0ZShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgc3dpdGNoIChkaXJ0eUJpdCkKICAgICAg
ICAgewogICAgICAgICAgICAgY2FzZSBnbDo6RnJhbWVidWZmZXI6OkRJUlRZX0JJVF9ERVBUSF9B
VFRBQ0hNRU5UOgotICAgICAgICAgICAgICAgIEFOR0xFX1RSWShtUmVuZGVyVGFyZ2V0Q2FjaGUu
dXBkYXRlRGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0KGNvbnRleHQsIG1TdGF0ZSkpOwotICAgICAg
ICAgICAgICAgIHVwZGF0ZURlcHRoU3RlbmNpbEF0dGFjaG1lbnRTZXJpYWwoY29udGV4dFZrKTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgZ2w6OkZyYW1lYnVmZmVy
OjpESVJUWV9CSVRfU1RFTkNJTF9BVFRBQ0hNRU5UOgotICAgICAgICAgICAgICAgIEFOR0xFX1RS
WShtUmVuZGVyVGFyZ2V0Q2FjaGUudXBkYXRlRGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0KGNvbnRl
eHQsIG1TdGF0ZSkpOwotICAgICAgICAgICAgICAgIHVwZGF0ZURlcHRoU3RlbmNpbEF0dGFjaG1l
bnRTZXJpYWwoY29udGV4dFZrKTsKLSAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgZ2w6OkZyYW1lYnVmZmVyOjpESVJUWV9CSVRfREVQVEhfQlVGRkVSX0NPTlRFTlRTOgor
ICAgICAgICAgICAgY2FzZSBnbDo6RnJhbWVidWZmZXI6OkRJUlRZX0JJVF9TVEVOQ0lMX0FUVEFD
SE1FTlQ6CiAgICAgICAgICAgICBjYXNlIGdsOjpGcmFtZWJ1ZmZlcjo6RElSVFlfQklUX1NURU5D
SUxfQlVGRkVSX0NPTlRFTlRTOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFJlbmRl
clRhcmdldFZrICpkZXB0aFN0ZW5jaWxSVCA9IGdldERlcHRoU3RlbmNpbFJlbmRlclRhcmdldCgp
OwotICAgICAgICAgICAgICAgIEFTU0VSVChkZXB0aFN0ZW5jaWxSVCAhPSBudWxscHRyKTsKLSAg
ICAgICAgICAgICAgICBBTkdMRV9UUlkoZGVwdGhTdGVuY2lsUlQtPmZsdXNoU3RhZ2VkVXBkYXRl
cyhjb250ZXh0VmspKTsKLSAgICAgICAgICAgICAgICBtQ3VycmVudEZyYW1lYnVmZmVyRGVzYy51
cGRhdGUodms6OmtGcmFtZWJ1ZmZlckRlc2NEZXB0aFN0ZW5jaWxJbmRleCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGhTdGVuY2lsUlQtPmdldEFz
c2lnblNlcmlhbChjb250ZXh0VmspKTsKKyAgICAgICAgICAgICAgICBBTkdMRV9UUlkodXBkYXRl
RGVwdGhTdGVuY2lsQXR0YWNobWVudChjb250ZXh0LCBkZWZlckNsZWFycykpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSBnbDo6RnJhbWVi
dWZmZXI6OkRJUlRZX0JJVF9SRUFEX0JVRkZFUjoKICAgICAgICAgICAgICAgICBBTkdMRV9UUlko
bVJlbmRlclRhcmdldENhY2hlLnVwZGF0ZShjb250ZXh0LCBtU3RhdGUsIGRpcnR5Qml0cykpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTA4Nyw0MiArMTE5NSwzNCBAQCBhbmdsZTo6UmVz
dWx0IEZyYW1lYnVmZmVyVms6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgc3Rh
dGljX2Fzc2VydChnbDo6RnJhbWVidWZmZXI6OkRJUlRZX0JJVF9DT0xPUl9BVFRBQ0hNRU5UXzAg
PT0gMCwgIkZCIGRpcnR5IGJpdHMiKTsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBjb2xvcklu
ZGV4R0w7CiAgICAgICAgICAgICAgICAgaWYgKGRpcnR5Qml0IDwgZ2w6OkZyYW1lYnVmZmVyOjpE
SVJUWV9CSVRfQ09MT1JfQVRUQUNITUVOVF9NQVgpCiAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICBzaXplX3QgY29sb3JJbmRleEdMID0gc3RhdGljX2Nhc3Q8c2l6ZV90PigK
KyAgICAgICAgICAgICAgICAgICAgY29sb3JJbmRleEdMID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KAogICAgICAgICAgICAgICAgICAgICAgICAgZGlydHlCaXQgLSBnbDo6RnJhbWVidWZmZXI6OkRJ
UlRZX0JJVF9DT0xPUl9BVFRBQ0hNRU5UXzApOwotICAgICAgICAgICAgICAgICAgICBBTkdMRV9U
UlkodXBkYXRlQ29sb3JBdHRhY2htZW50KGNvbnRleHQsIGNvbG9ySW5kZXhHTCkpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAobVJlbmRlclRhcmdldENhY2hlLmdldENvbG9ycygpW2NvbG9ySW5k
ZXhHTF0gIT0gbnVsbHB0ciAmJgotICAgICAgICAgICAgICAgICAgICAgICAgbVN0YXRlLmdldEVu
YWJsZWREcmF3QnVmZmVycygpW2NvbG9ySW5kZXhHTF0pCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1DdXJyZW50RnJhbWVidWZmZXJEZXNjLnVwZGF0ZSgK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY29sb3JJ
bmRleEdMKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtUmVuZGVyVGFyZ2V0Q2FjaGUu
Z2V0Q29sb3JzKClbY29sb3JJbmRleEdMXS0+Z2V0QXNzaWduU2VyaWFsKAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250ZXh0VmspKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1DdXJyZW50RnJhbWVidWZmZXJEZXNjLnVwZGF0ZShzdGF0aWNfY2Fz
dDx1aW50MzJfdD4oY29sb3JJbmRleEdMKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6a1plcm9BdHRhY2htZW50U2VyaWFsKTsKLSAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoZGlydHlC
aXQgPj0gZ2w6OkZyYW1lYnVmZmVyOjpESVJUWV9CSVRfQ09MT1JfQlVGRkVSX0NPTlRFTlRTXzAg
JiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcnR5Qml0IDwgZ2w6OkZyYW1lYnVmZmVy
OjpESVJUWV9CSVRfQ09MT1JfQlVGRkVSX0NPTlRFTlRTX01BWCk7Ci0gICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBjb2xvckluZGV4R0wgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KAorICAgICAgICAg
ICAgICAgICAgICBjb2xvckluZGV4R0wgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oCiAgICAgICAg
ICAgICAgICAgICAgICAgICBkaXJ0eUJpdCAtIGdsOjpGcmFtZWJ1ZmZlcjo6RElSVFlfQklUX0NP
TE9SX0JVRkZFUl9DT05URU5UU18wKTsKLSAgICAgICAgICAgICAgICAgICAgQU5HTEVfVFJZKG1S
ZW5kZXJUYXJnZXRDYWNoZS5nZXRDb2xvcnMoKVtjb2xvckluZGV4R0xdLT5mbHVzaFN0YWdlZFVw
ZGF0ZXMoCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0VmspKTsKLSAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKG1SZW5kZXJUYXJnZXRDYWNoZS5nZXRDb2xvcnMoKVtjb2xvckluZGV4
R0xdICE9IG51bGxwdHIpOwotICAgICAgICAgICAgICAgICAgICBtQ3VycmVudEZyYW1lYnVmZmVy
RGVzYy51cGRhdGUoCi0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJf
dD4oY29sb3JJbmRleEdMKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1SZW5kZXJUYXJnZXRD
YWNoZS5nZXRDb2xvcnMoKVtjb2xvckluZGV4R0xdLT5nZXRBc3NpZ25TZXJpYWwoY29udGV4dFZr
KSk7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgQU5HTEVfVFJZKHVwZGF0
ZUNvbG9yQXR0YWNobWVudChjb250ZXh0LCBkZWZlckNsZWFycywgY29sb3JJbmRleEdMKSk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK
KyAgICAvLyBJbiBzb21lIGNhc2VzIHdlJ2xsIG5lZWQgdG8gZm9yY2UgYSBmbHVzaCBvZiBkZWZl
cnJlZCBjbGVhcnMuIFdoZW4gd2UncmUgc3luY2luZyB0aGUgcmVhZAorICAgIC8vIGZyYW1lYnVm
ZmVyIHdlIG1pZ2h0IG5vdCBnZXQgYSBSZW5kZXJQYXNzLiBBbHNvIHdoZW4gdGhlcmUgYXJlIG1h
c2tlZCBvdXQgY2xlYXJlZCBjb2xvcgorICAgIC8vIGNoYW5uZWxzLgorICAgIGlmIChiaW5kaW5n
ID09IEdMX1JFQURfRlJBTUVCVUZGRVIgJiYgIW1EZWZlcnJlZENsZWFycy5lbXB0eSgpKQorICAg
IHsKKyAgICAgICAgQU5HTEVfVFJZKGZsdXNoRGVmZXJyZWRDbGVhcnMoY29udGV4dFZrLCBzY2lz
c29yZWRSZW5kZXJBcmVhKSk7CisgICAgfQorCiAgICAgLy8gTm8tb3AgcmVkdW5kYW50IGNoYW5n
ZXMgdG8gcHJldmVudCBjbG9zaW5nIHRoZSBSZW5kZXJQYXNzLgogICAgIGlmIChtQ3VycmVudEZy
YW1lYnVmZmVyRGVzYyA9PSBwcmlvckZyYW1lYnVmZmVyRGVzYykKICAgICB7CkBAIC0xMjY4LDI2
ICsxMzY4LDc0IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Z2V0RnJhbWVidWZmZXIo
Q29udGV4dFZrICpjb250ZXh0VmssIHZrOjpGcmFtZWJ1ZmZlCiAgICAgdms6OkZyYW1lYnVmZmVy
SGVscGVyIG5ld0ZyYW1lYnVmZmVyOwogICAgIEFOR0xFX1RSWShuZXdGcmFtZWJ1ZmZlci5pbml0
KGNvbnRleHRWaywgZnJhbWVidWZmZXJJbmZvKSk7CiAKKyAgICAvLyBTYW5pdHkgY2hlY2sgdGhh
dCBvdXIgZGVzY3JpcHRpb24gbWF0Y2hlcyBvdXIgYXR0YWNobWVudHMuIENhbiBjYXRjaCBpbXBs
ZW1lbnRhdGlvbiBidWdzLgorICAgIEFTU0VSVChzdGF0aWNfY2FzdDx1aW50MzJfdD4oYXR0YWNo
bWVudHMuc2l6ZSgpKSA9PSBtQ3VycmVudEZyYW1lYnVmZmVyRGVzYy5hdHRhY2htZW50Q291bnQo
KSk7CisKICAgICBtRnJhbWVidWZmZXJDYWNoZVttQ3VycmVudEZyYW1lYnVmZmVyRGVzY10gPSBz
dGQ6Om1vdmUobmV3RnJhbWVidWZmZXIpOwogICAgIG1GcmFtZWJ1ZmZlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9ICZtRnJhbWVidWZmZXJDYWNoZVttQ3VycmVudEZyYW1lYnVmZmVy
RGVzY107CiAgICAgKmZyYW1lYnVmZmVyT3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
Jm1GcmFtZWJ1ZmZlci0+Z2V0RnJhbWVidWZmZXIoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Y2xlYXJJbW1l
ZGlhdGVseVdpdGhSZW5kZXJQYXNzT3AoCisgICAgQ29udGV4dFZrICpjb250ZXh0VmssCisgICAg
Y29uc3QgZ2w6OlJlY3RhbmdsZSAmY2xlYXJBcmVhLAorICAgIGdsOjpEcmF3QnVmZmVyTWFzayBj
bGVhckNvbG9yQnVmZmVycywKKyAgICBib29sIGNsZWFyRGVwdGgsCisgICAgYm9vbCBjbGVhclN0
ZW5jaWwsCisgICAgY29uc3QgVmtDbGVhckNvbG9yVmFsdWUgJmNsZWFyQ29sb3JWYWx1ZSwKKyAg
ICBjb25zdCBWa0NsZWFyRGVwdGhTdGVuY2lsVmFsdWUgJmNsZWFyRGVwdGhTdGVuY2lsVmFsdWUp
Cit7CisgICAgZm9yIChzaXplX3QgY29sb3JJbmRleEdMIDogY2xlYXJDb2xvckJ1ZmZlcnMpCisg
ICAgeworICAgICAgICBWa0NsZWFyVmFsdWUgY2xlYXJWYWx1ZSA9IGdldENvcnJlY3RlZENvbG9y
Q2xlYXJWYWx1ZShjb2xvckluZGV4R0wsIGNsZWFyQ29sb3JWYWx1ZSk7CisgICAgICAgIG1EZWZl
cnJlZENsZWFycy5zdG9yZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oY29sb3JJbmRleEdMKSwgVktf
SU1BR0VfQVNQRUNUX0NPTE9SX0JJVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs
ZWFyVmFsdWUpOworICAgIH0KKworICAgIGlmIChjbGVhckRlcHRoKQorICAgIHsKKyAgICAgICAg
VmtDbGVhclZhbHVlIGNsZWFyVmFsdWU7CisgICAgICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVuY2ls
ID0gY2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZTsKKyAgICAgICAgbURlZmVycmVkQ2xlYXJzLnN0b3Jl
KHZrOjprQ2xlYXJWYWx1ZURlcHRoSW5kZXgsIFZLX0lNQUdFX0FTUEVDVF9ERVBUSF9CSVQsIGNs
ZWFyVmFsdWUpOworICAgIH0KKworICAgIGlmIChjbGVhclN0ZW5jaWwpCisgICAgeworICAgICAg
ICBWa0NsZWFyVmFsdWUgY2xlYXJWYWx1ZTsKKyAgICAgICAgY2xlYXJWYWx1ZS5kZXB0aFN0ZW5j
aWwgPSBjbGVhckRlcHRoU3RlbmNpbFZhbHVlOworICAgICAgICBtRGVmZXJyZWRDbGVhcnMuc3Rv
cmUodms6OmtDbGVhclZhbHVlU3RlbmNpbEluZGV4LCBWS19JTUFHRV9BU1BFQ1RfU1RFTkNJTF9C
SVQsIGNsZWFyVmFsdWUpOworICAgIH0KKworICAgIC8vIEVuc3VyZSB0aGUgY2xlYXIgaGFwcGVu
cyBpbW1lZGlhdGVseS4KKyAgICByZXR1cm4gZmx1c2hEZWZlcnJlZENsZWFycyhjb250ZXh0Vmss
IGNsZWFyQXJlYSk7Cit9CisKIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Y2xlYXJXaXRo
RHJhdyhDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZjbGVhckFyZWEsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkRyYXdCdWZmZXJNYXNrIGNsZWFy
Q29sb3JCdWZmZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2xlYXJEZXB0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIGNsZWFyU3RlbmNpbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0NvbG9yQ29tcG9uZW50RmxhZ3MgY29sb3JNYXNrRmxhZ3MsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBzdGVuY2lsTWFzaywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFy
Q29sb3JWYWx1ZSAmY2xlYXJDb2xvclZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgY2xlYXJTdGVuY2lsVmFsdWUpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckRlcHRoU3RlbmNpbFZh
bHVlICZjbGVhckRlcHRoU3RlbmNpbFZhbHVlKQogeworICAgIGlmIChjbGVhckRlcHRoKQorICAg
IHsKKyAgICAgICAgVmtDbGVhclZhbHVlIGNsZWFyVmFsdWU7CisgICAgICAgIGNsZWFyVmFsdWUu
ZGVwdGhTdGVuY2lsID0gY2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZTsKKyAgICAgICAgbURlZmVycmVk
Q2xlYXJzLnN0b3JlKHZrOjprQ2xlYXJWYWx1ZURlcHRoSW5kZXgsIFZLX0lNQUdFX0FTUEVDVF9E
RVBUSF9CSVQsIGNsZWFyVmFsdWUpOworCisgICAgICAgIC8vIFNjaXNzb3JlZC1vbmx5IGNsZWFy
cyBhcmUgaGFuZGxlZCBpbiBjbGVhckltbWVkaWF0ZWx5V2l0aFJlbmRlclBhc3NPcC4KKyAgICAg
ICAgQVNTRVJUKGNsZWFyQ29sb3JCdWZmZXJzLmFueSgpIHx8IGNsZWFyU3RlbmNpbCk7CisgICAg
fQorCiAgICAgVXRpbHNWazo6Q2xlYXJGcmFtZWJ1ZmZlclBhcmFtZXRlcnMgcGFyYW1zID0ge307
CiAgICAgcGFyYW1zLmNsZWFyQXJlYSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gY2xlYXJB
cmVhOwogICAgIHBhcmFtcy5jb2xvckNsZWFyVmFsdWUgICAgICAgICAgICAgICAgICAgICA9IGNs
ZWFyQ29sb3JWYWx1ZTsKLSAgICBwYXJhbXMuc3RlbmNpbENsZWFyVmFsdWUgICAgICAgICAgICAg
ICAgICAgPSBjbGVhclN0ZW5jaWxWYWx1ZTsKLSAgICBwYXJhbXMuc3RlbmNpbE1hc2sgICAgICAg
ICAgICAgICAgICAgICAgICAgPSBzdGVuY2lsTWFzazsKKyAgICBwYXJhbXMuc3RlbmNpbENsZWFy
VmFsdWUgPSBzdGF0aWNfY2FzdDx1aW50OF90PihjbGVhckRlcHRoU3RlbmNpbFZhbHVlLnN0ZW5j
aWwpOworICAgIHBhcmFtcy5zdGVuY2lsTWFzayAgICAgICA9IHN0ZW5jaWxNYXNrOwogCiAgICAg
cGFyYW1zLmNsZWFyQ29sb3IgICA9IHRydWU7CiAgICAgcGFyYW1zLmNsZWFyU3RlbmNpbCA9IGNs
ZWFyU3RlbmNpbDsKQEAgLTEzMjIsNiArMTQ3MCw4MSBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVm
ZmVyVms6OmNsZWFyV2l0aERyYXcoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCitWa0NsZWFyVmFsdWUgRnJhbWVidWZmZXJWazo6
Z2V0Q29ycmVjdGVkQ29sb3JDbGVhclZhbHVlKHNpemVfdCBjb2xvckluZGV4R0wsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZr
Q2xlYXJDb2xvclZhbHVlICZjbGVhckNvbG9yKSBjb25zdAoreworICAgIFZrQ2xlYXJWYWx1ZSBj
bGVhclZhbHVlOworICAgIGNsZWFyVmFsdWUuY29sb3IgPSBjbGVhckNvbG9yOworCisgICAgaWYg
KCFtRW11bGF0ZWRBbHBoYUF0dGFjaG1lbnRNYXNrW2NvbG9ySW5kZXhHTF0pCisgICAgeworICAg
ICAgICByZXR1cm4gY2xlYXJWYWx1ZTsKKyAgICB9CisKKyAgICAvLyBJZiB0aGUgcmVuZGVyIHRh
cmdldCBkb2Vzbid0IGhhdmUgYWxwaGEsIGJ1dCBpdHMgZW11bGF0ZWQgZm9ybWF0IGhhcyBpdCwg
Y2xlYXIgdGhlIGFscGhhCisgICAgLy8gdG8gMS4KKyAgICBSZW5kZXJUYXJnZXRWayAqcmVuZGVy
VGFyZ2V0ID0gZ2V0Q29sb3JEcmF3UmVuZGVyVGFyZ2V0KGNvbG9ySW5kZXhHTCk7CisgICAgY29u
c3Qgdms6OkZvcm1hdCAmZm9ybWF0ICAgICA9IHJlbmRlclRhcmdldC0+Z2V0SW1hZ2VGb3JtYXQo
KTsKKyAgICBpZiAoZm9ybWF0LnZrRm9ybWF0SXNJbnQpCisgICAgeworICAgICAgICBpZiAoZm9y
bWF0LnZrRm9ybWF0SXNVbnNpZ25lZCkKKyAgICAgICAgeworICAgICAgICAgICAgY2xlYXJWYWx1
ZS5jb2xvci51aW50MzJbM10gPSBrRW11bGF0ZWRBbHBoYVZhbHVlOworICAgICAgICB9CisgICAg
ICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgY2xlYXJWYWx1ZS5jb2xvci5pbnQzMlsz
XSA9IGtFbXVsYXRlZEFscGhhVmFsdWU7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAg
IHsKKyAgICAgICAgY2xlYXJWYWx1ZS5jb2xvci5mbG9hdDMyWzNdID0ga0VtdWxhdGVkQWxwaGFW
YWx1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gY2xlYXJWYWx1ZTsKK30KKwordm9pZCBGcmFtZWJ1
ZmZlclZrOjpjbGVhcldpdGhSZW5kZXJQYXNzT3AoZ2w6OkRyYXdCdWZmZXJNYXNrIGNsZWFyQ29s
b3JCdWZmZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBjbGVhckRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBjbGVhclN0ZW5jaWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY2xlYXJDb2xvclZhbHVlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckRlcHRoU3RlbmNp
bFZhbHVlICZjbGVhckRlcHRoU3RlbmNpbFZhbHVlKQoreworICAgIC8vIEdvIHRocm91Z2ggY2xl
YXJDb2xvckJ1ZmZlcnMgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgbG9hZE9wIGFuZCBjbGVhciB2
YWx1ZXMuCisgICAgZm9yIChzaXplX3QgY29sb3JJbmRleEdMIDogY2xlYXJDb2xvckJ1ZmZlcnMp
CisgICAgeworICAgICAgICBBU1NFUlQobVN0YXRlLmdldEVuYWJsZWREcmF3QnVmZmVycygpLnRl
c3QoY29sb3JJbmRleEdMKSk7CisgICAgICAgIFJlbmRlclRhcmdldFZrICpyZW5kZXJUYXJnZXQg
PSBnZXRDb2xvckRyYXdSZW5kZXJUYXJnZXQoY29sb3JJbmRleEdMKTsKKyAgICAgICAgVmtDbGVh
clZhbHVlIGNsZWFyVmFsdWUgICAgICA9IGdldENvcnJlY3RlZENvbG9yQ2xlYXJWYWx1ZShjb2xv
ckluZGV4R0wsIGNsZWFyQ29sb3JWYWx1ZSk7CisgICAgICAgIGdsOjpJbWFnZUluZGV4IGltYWdl
SW5kZXggICAgPSByZW5kZXJUYXJnZXQtPmdldEltYWdlSW5kZXgoKTsKKyAgICAgICAgcmVuZGVy
VGFyZ2V0LT5nZXRJbWFnZSgpLnN0YWdlQ2xlYXIoaW1hZ2VJbmRleCwgVktfSU1BR0VfQVNQRUNU
X0NPTE9SX0JJVCwgY2xlYXJWYWx1ZSk7CisgICAgfQorCisgICAgLy8gU2V0IHRoZSBhcHByb3By
aWF0ZSBsb2FkT3AgYW5kIGNsZWFyIHZhbHVlcyBmb3IgZGVwdGggYW5kIHN0ZW5jaWwuCisgICAg
VmtJbWFnZUFzcGVjdEZsYWdzIGRzQXNwZWN0RmxhZ3MgPSAwOworICAgIGlmIChjbGVhckRlcHRo
KQorICAgIHsKKyAgICAgICAgZHNBc3BlY3RGbGFncyB8PSBWS19JTUFHRV9BU1BFQ1RfREVQVEhf
QklUOworICAgIH0KKworICAgIGlmIChjbGVhclN0ZW5jaWwpCisgICAgeworICAgICAgICBkc0Fz
cGVjdEZsYWdzIHw9IFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVDsKKyAgICB9CisKKyAgICBp
ZiAoZHNBc3BlY3RGbGFncykKKyAgICB7CisgICAgICAgIFJlbmRlclRhcmdldFZrICpyZW5kZXJU
YXJnZXQgPSBnZXREZXB0aFN0ZW5jaWxSZW5kZXJUYXJnZXQoKTsKKyAgICAgICAgQVNTRVJUKHJl
bmRlclRhcmdldCk7CisKKyAgICAgICAgVmtDbGVhclZhbHVlIGNsZWFyVmFsdWU7CisgICAgICAg
IGNsZWFyVmFsdWUuZGVwdGhTdGVuY2lsID0gY2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZTsKKworICAg
ICAgICBnbDo6SW1hZ2VJbmRleCBpbWFnZUluZGV4ID0gcmVuZGVyVGFyZ2V0LT5nZXRJbWFnZUlu
ZGV4KCk7CisgICAgICAgIHJlbmRlclRhcmdldC0+Z2V0SW1hZ2UoKS5zdGFnZUNsZWFyKGltYWdl
SW5kZXgsIGRzQXNwZWN0RmxhZ3MsIGNsZWFyVmFsdWUpOworICAgIH0KK30KKwogYW5nbGU6OlJl
c3VsdCBGcmFtZWJ1ZmZlclZrOjpnZXRTYW1wbGVQb3NpdGlvbihjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2l6ZV90IGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTGZsb2F0ICp4eSkgY29uc3QKQEAgLTEzMzksMzggKzE1NjIsMTIwIEBAIGFuZ2xlOjpS
ZXN1bHQgRnJhbWVidWZmZXJWazo6c3RhcnROZXdSZW5kZXJQYXNzKENvbnRleHRWayAqY29udGV4
dFZrLAogICAgIEFOR0xFX1RSWShnZXRGcmFtZWJ1ZmZlcihjb250ZXh0VmssICZmcmFtZWJ1ZmZl
cikpOwogCiAgICAgdms6OkF0dGFjaG1lbnRPcHNBcnJheSByZW5kZXJQYXNzQXR0YWNobWVudE9w
czsKLSAgICBzdGQ6OnZlY3RvcjxWa0NsZWFyVmFsdWU+IGF0dGFjaG1lbnRDbGVhclZhbHVlczsK
KyAgICB2azo6Q2xlYXJWYWx1ZXNBcnJheSBwYWNrZWRDbGVhclZhbHVlczsKIAogICAgIEFOR0xF
X1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3MoKSk7CiAKICAgICAvLyBJbml0aWFsaXplIFJl
bmRlclBhc3MgaW5mby4KLSAgICBjb25zdCBhdXRvICZjb2xvclJlbmRlclRhcmdldHMgPSBtUmVu
ZGVyVGFyZ2V0Q2FjaGUuZ2V0Q29sb3JzKCk7CisgICAgY29uc3QgYXV0byAmY29sb3JSZW5kZXJU
YXJnZXRzICA9IG1SZW5kZXJUYXJnZXRDYWNoZS5nZXRDb2xvcnMoKTsKKyAgICB1aW50MzJfdCBj
dXJyZW50QXR0YWNobWVudENvdW50ID0gMDsKICAgICBmb3IgKHNpemVfdCBjb2xvckluZGV4R0wg
OiBtU3RhdGUuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKCkpCiAgICAgewogICAgICAgICBSZW5kZXJU
YXJnZXRWayAqY29sb3JSZW5kZXJUYXJnZXQgPSBjb2xvclJlbmRlclRhcmdldHNbY29sb3JJbmRl
eEdMXTsKICAgICAgICAgQVNTRVJUKGNvbG9yUmVuZGVyVGFyZ2V0KTsKIAorICAgICAgICByZW5k
ZXJQYXNzQXR0YWNobWVudE9wcy5zZXRMYXlvdXRzKGN1cnJlbnRBdHRhY2htZW50Q291bnQsIHZr
OjpJbWFnZUxheW91dDo6Q29sb3JBdHRhY2htZW50LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6Q29sb3JBdHRhY2htZW50KTsKKwor
ICAgICAgICBpZiAobURlZmVycmVkQ2xlYXJzLnRlc3QoY29sb3JJbmRleEdMKSkKKyAgICAgICAg
eworICAgICAgICAgICAgcmVuZGVyUGFzc0F0dGFjaG1lbnRPcHMuc2V0T3BzKGN1cnJlbnRBdHRh
Y2htZW50Q291bnQsIFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9DTEVBUiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19BVFRBQ0hNRU5UX1NUT1JFX09QX1NUT1JF
KTsKKyAgICAgICAgICAgIHBhY2tlZENsZWFyVmFsdWVzLnN0b3JlKGN1cnJlbnRBdHRhY2htZW50
Q291bnQsIFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtRGVmZXJyZWRDbGVhcnNbY29sb3JJbmRleEdMXSk7CisgICAgICAgICAg
ICBtRGVmZXJyZWRDbGVhcnMucmVzZXQoY29sb3JJbmRleEdMKTsKKyAgICAgICAgfQorICAgICAg
ICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHJlbmRlclBhc3NBdHRhY2htZW50T3BzLnNl
dE9wcyhjdXJyZW50QXR0YWNobWVudENvdW50LCBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTE9BRCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19BVFRBQ0hNRU5U
X1NUT1JFX09QX1NUT1JFKTsKKyAgICAgICAgICAgIHBhY2tlZENsZWFyVmFsdWVzLnN0b3JlKGN1
cnJlbnRBdHRhY2htZW50Q291bnQsIFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrVW5pbml0aWFsaXplZENsZWFyVmFsdWUpOwor
ICAgICAgICB9CisKICAgICAgICAgQU5HTEVfVFJZKGNvbG9yUmVuZGVyVGFyZ2V0LT5vbkNvbG9y
RHJhdyhjb250ZXh0VmspKTsKIAotICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9wcy5pbml0
V2l0aExvYWRTdG9yZShhdHRhY2htZW50Q2xlYXJWYWx1ZXMuc2l6ZSgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19JTUFHRV9MQVlPVVRfQ09M
T1JfQVRUQUNITUVOVF9PUFRJTUFMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBWS19JTUFHRV9MQVlPVVRfQ09MT1JfQVRUQUNITUVOVF9PUFRJTUFM
KTsKLSAgICAgICAgYXR0YWNobWVudENsZWFyVmFsdWVzLmVtcGxhY2VfYmFjayhrVW5pbml0aWFs
aXplZENsZWFyVmFsdWUpOworICAgICAgICBjdXJyZW50QXR0YWNobWVudENvdW50Kys7CiAgICAg
fQogCiAgICAgUmVuZGVyVGFyZ2V0VmsgKmRlcHRoU3RlbmNpbFJlbmRlclRhcmdldCA9IGdldERl
cHRoU3RlbmNpbFJlbmRlclRhcmdldCgpOwogICAgIGlmIChkZXB0aFN0ZW5jaWxSZW5kZXJUYXJn
ZXQpCiAgICAgeworICAgICAgICBWa0F0dGFjaG1lbnRMb2FkT3AgZGVwdGhMb2FkT3AgICAgID0g
VktfQVRUQUNITUVOVF9MT0FEX09QX0xPQUQ7CisgICAgICAgIFZrQXR0YWNobWVudExvYWRPcCBz
dGVuY2lsTG9hZE9wICAgPSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTE9BRDsKKyAgICAgICAgVmtB
dHRhY2htZW50U3RvcmVPcCBkZXB0aFN0b3JlT3AgICA9IFZLX0FUVEFDSE1FTlRfU1RPUkVfT1Bf
U1RPUkU7CisgICAgICAgIFZrQXR0YWNobWVudFN0b3JlT3Agc3RlbmNpbFN0b3JlT3AgPSBWS19B
VFRBQ0hNRU5UX1NUT1JFX09QX1NUT1JFOworCisgICAgICAgIGlmICghZGVwdGhTdGVuY2lsUmVu
ZGVyVGFyZ2V0LT5oYXNEZWZpbmVkQ29udGVudCgpKQorICAgICAgICB7CisgICAgICAgICAgICBk
ZXB0aExvYWRPcCAgID0gVktfQVRUQUNITUVOVF9MT0FEX09QX0RPTlRfQ0FSRTsKKyAgICAgICAg
ICAgIHN0ZW5jaWxMb2FkT3AgPSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfRE9OVF9DQVJFOworICAg
ICAgICB9CisKKyAgICAgICAgcmVuZGVyUGFzc0F0dGFjaG1lbnRPcHMuc2V0TGF5b3V0cyhjdXJy
ZW50QXR0YWNobWVudENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZrOjpJbWFnZUxheW91dDo6RGVwdGhTdGVuY2lsQXR0YWNobWVudCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6SW1hZ2VMYXlvdXQ6OkRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQpOworCisgICAgICAgIGlmIChtRGVmZXJyZWRDbGVhcnMudGVzdERl
cHRoKCkgfHwgbURlZmVycmVkQ2xlYXJzLnRlc3RTdGVuY2lsKCkpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFZrQ2xlYXJWYWx1ZSBjbGVhclZhbHVlOworCisgICAgICAgICAgICBpZiAobURlZmVy
cmVkQ2xlYXJzLnRlc3REZXB0aCgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRl
cHRoTG9hZE9wICAgICAgICAgICAgICAgICAgID0gVktfQVRUQUNITUVOVF9MT0FEX09QX0NMRUFS
OworICAgICAgICAgICAgICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVuY2lsLmRlcHRoID0gbURlZmVy
cmVkQ2xlYXJzLmdldERlcHRoVmFsdWUoKTsKKyAgICAgICAgICAgICAgICBtRGVmZXJyZWRDbGVh
cnMucmVzZXQodms6OmtDbGVhclZhbHVlRGVwdGhJbmRleCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGlmIChtRGVmZXJyZWRDbGVhcnMudGVzdFN0ZW5jaWwoKSkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBzdGVuY2lsTG9hZE9wICAgICAgICAgICAgICAgICAgID0gVktf
QVRUQUNITUVOVF9MT0FEX09QX0NMRUFSOworICAgICAgICAgICAgICAgIGNsZWFyVmFsdWUuZGVw
dGhTdGVuY2lsLnN0ZW5jaWwgPSBtRGVmZXJyZWRDbGVhcnMuZ2V0U3RlbmNpbFZhbHVlKCk7Cisg
ICAgICAgICAgICAgICAgbURlZmVycmVkQ2xlYXJzLnJlc2V0KHZrOjprQ2xlYXJWYWx1ZVN0ZW5j
aWxJbmRleCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIE5vdGUgdGhlIGFzcGVj
dCBpcyBvbmx5IGRlcHRoIGhlcmUuIFRoYXQncyBpbnRlbnRpb25hbC4KKyAgICAgICAgICAgIHBh
Y2tlZENsZWFyVmFsdWVzLnN0b3JlKGN1cnJlbnRBdHRhY2htZW50Q291bnQsIFZLX0lNQUdFX0FT
UEVDVF9ERVBUSF9CSVQsIGNsZWFyVmFsdWUpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgeworICAgICAgICAgICAgLy8gTm90ZSB0aGUgYXNwZWN0IGlzIG9ubHkgZGVwdGggaGVy
ZS4gVGhhdCdzIGludGVudGlvbmFsLgorICAgICAgICAgICAgcGFja2VkQ2xlYXJWYWx1ZXMuc3Rv
cmUoY3VycmVudEF0dGFjaG1lbnRDb3VudCwgVktfSU1BR0VfQVNQRUNUX0RFUFRIX0JJVCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtVbmluaXRpYWxpemVkQ2xlYXJWYWx1
ZSk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdCB2azo6Rm9ybWF0ICZmb3JtYXQgPSBkZXB0
aFN0ZW5jaWxSZW5kZXJUYXJnZXQtPmdldEltYWdlRm9ybWF0KCk7CisgICAgICAgIGlmIChmb3Jt
YXQuaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxzKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8v
IElmIHRoZSBmb3JtYXQgd2UgcGlja2VkIGhhcyBzdGVuY2lsIGJ1dCB1c2VyIGRpZCBub3QgYXNr
IGZvciBpdCBkdWUgdG8gaGFyZHdhcmUKKyAgICAgICAgICAgIC8vIGxpbWl0YXRpb25zLCB1c2Ug
RE9OVF9DQVJFIGZvciBsb2FkL3N0b3JlLiBUaGUgc2FtZSBsb2dpYyBmb3IgZGVwdGggZm9sbG93
cy4KKyAgICAgICAgICAgIGlmIChmb3JtYXQuaW50ZW5kZWRGb3JtYXQoKS5zdGVuY2lsQml0cyA9
PSAwKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0ZW5jaWxMb2FkT3AgID0gVktf
QVRUQUNITUVOVF9MT0FEX09QX0RPTlRfQ0FSRTsKKyAgICAgICAgICAgICAgICBzdGVuY2lsU3Rv
cmVPcCA9IFZLX0FUVEFDSE1FTlRfU1RPUkVfT1BfRE9OVF9DQVJFOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgKGZvcm1hdC5pbnRlbmRlZEZvcm1hdCgpLmRlcHRoQml0cyA9PSAwKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRlcHRoTG9hZE9wICA9IFZLX0FUVEFDSE1F
TlRfTE9BRF9PUF9ET05UX0NBUkU7CisgICAgICAgICAgICAgICAgZGVwdGhTdG9yZU9wID0gVktf
QVRUQUNITUVOVF9TVE9SRV9PUF9ET05UX0NBUkU7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9wcy5zZXRPcHMoY3VycmVudEF0dGFjaG1l
bnRDb3VudCwgZGVwdGhMb2FkT3AsIGRlcHRoU3RvcmVPcCk7CisgICAgICAgIHJlbmRlclBhc3NB
dHRhY2htZW50T3BzLnNldFN0ZW5jaWxPcHMoY3VycmVudEF0dGFjaG1lbnRDb3VudCwgc3RlbmNp
bExvYWRPcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGVuY2lsU3RvcmVPcCk7CisKKyAgICAgICAgLy8gVGhpcyBtdXN0IGJlIGNhbGxlZCBhZnRlciBo
YXNEZWZpbmVkQ29udGVudCgpIHNpbmNlIGl0IHdpbGwgc2V0IGNvbnRlbnQgdG8gdmFsaWQuIFdl
IGFyZQorICAgICAgICAvLyB0cmFja2luZyBjb250ZW50IHZhbGlkIHZlcnkgbG9vc2VseSBoZXJl
IHRoYXQgYXMgbG9uZyBhcyBpdCBpcyBhdHRhY2hlZCwgaXQgYXNzdW1lcyB3aWxsCisgICAgICAg
IC8vIGhhdmUgdmFsaWQgY29udGVudC4gVGhlIG9ubHkgdGltZSBpdCBoYXMgdW5kZWZpbmVkIGNv
bnRlbnQgaXMgYmV0d2VlbiBzd2FwIGFuZAorICAgICAgICAvLyBzdGFydE5ld1JlbmRlclBhc3MK
ICAgICAgICAgQU5HTEVfVFJZKGRlcHRoU3RlbmNpbFJlbmRlclRhcmdldC0+b25EZXB0aFN0ZW5j
aWxEcmF3KGNvbnRleHRWaykpOwogCi0gICAgICAgIHJlbmRlclBhc3NBdHRhY2htZW50T3BzLmlu
aXRXaXRoTG9hZFN0b3JlKGF0dGFjaG1lbnRDbGVhclZhbHVlcy5zaXplKCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0lNQUdFX0xBWU9VVF9E
RVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlRfT1BUSU1BTCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfSU1BR0VfTEFZT1VUX0RFUFRIX1NURU5DSUxf
QVRUQUNITUVOVF9PUFRJTUFMKTsKLSAgICAgICAgYXR0YWNobWVudENsZWFyVmFsdWVzLmVtcGxh
Y2VfYmFjayhrVW5pbml0aWFsaXplZENsZWFyVmFsdWUpOworICAgICAgICBjdXJyZW50QXR0YWNo
bWVudENvdW50Kys7CiAgICAgfQogCiAgICAgcmV0dXJuIGNvbnRleHRWay0+Zmx1c2hBbmRCZWdp
blJlbmRlclBhc3MoKmZyYW1lYnVmZmVyLCByZW5kZXJBcmVhLCBtUmVuZGVyUGFzc0Rlc2MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyUGFzc0F0
dGFjaG1lbnRPcHMsIGF0dGFjaG1lbnRDbGVhclZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9wcywgcGFja2Vk
Q2xlYXJWYWx1ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29tbWFuZEJ1ZmZlck91dCk7CiB9CiAKQEAgLTE0MTksMTAgKzE3MjQsOCBAQCBnbDo6UmVj
dGFuZ2xlIEZyYW1lYnVmZmVyVms6OmdldENvbXBsZXRlUmVuZGVyQXJlYSgpIGNvbnN0CiAKIGds
OjpSZWN0YW5nbGUgRnJhbWVidWZmZXJWazo6Z2V0U2Npc3NvcmVkUmVuZGVyQXJlYShDb250ZXh0
VmsgKmNvbnRleHRWaykgY29uc3QKIHsKLSAgICBjb25zdCBnbDo6Qm94ICZkaW1lbnNpb25zID0g
bVN0YXRlLmdldERpbWVuc2lvbnMoKTsKLSAgICBjb25zdCBnbDo6UmVjdGFuZ2xlIHJlbmRlckFy
ZWEoMCwgMCwgZGltZW5zaW9ucy53aWR0aCwgZGltZW5zaW9ucy5oZWlnaHQpOwotICAgIGJvb2wg
aW52ZXJ0Vmlld3BvcnQgPSBjb250ZXh0VmstPmlzVmlld3BvcnRGbGlwRW5hYmxlZEZvckRyYXdG
Qk8oKTsKLQorICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgcmVuZGVyQXJlYSA9IGdldENvbXBsZXRl
UmVuZGVyQXJlYSgpOworICAgIGJvb2wgaW52ZXJ0Vmlld3BvcnQgICAgICAgICAgICA9IGNvbnRl
eHRWay0+aXNWaWV3cG9ydEZsaXBFbmFibGVkRm9yRHJhd0ZCTygpOwogICAgIHJldHVybiBDbGlw
UmVjdFRvU2Npc3Nvcihjb250ZXh0VmstPmdldFN0YXRlKCksIHJlbmRlckFyZWEsIGludmVydFZp
ZXdwb3J0KTsKIH0KIApAQCAtMTQ0NSw0ICsxNzQ4LDEyIEBAIEdMaW50IEZyYW1lYnVmZmVyVms6
OmdldFNhbXBsZXMoKSBjb25zdAogICAgIHJldHVybiBmaXJzdFJUID8gZmlyc3RSVC0+Z2V0SW1h
Z2UoKS5nZXRTYW1wbGVzKCkgOiAwOwogfQogCithbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyVms6
OmZsdXNoRGVmZXJyZWRDbGVhcnMoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAm
cmVuZGVyQXJlYSkKK3sKKyAgICBpZiAobURlZmVycmVkQ2xlYXJzLmVtcHR5KCkpCisgICAgICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKworICAgIHJldHVybiBjb250ZXh0Vmst
PnN0YXJ0UmVuZGVyUGFzcyhyZW5kZXJBcmVhLCBudWxscHRyKTsKK30KIH0gIC8vIG5hbWVzcGFj
ZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9GcmFtZWJ1ZmZlclZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuaAppbmRleCAwYzRhNzA5
ZjBmNGE2MWIyNTdkYzFiZjlhOWI3YmQ0ZGYxYzc0N2ZhLi4wZDIwNDhmNTI1ODc2ODRmN2MwNWU3
MGY1MzU0M2ZmYzlhOGE1Mjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVy
VmsuaApAQCAtNjksOCArNjksOCBAQCBjbGFzcyBGcmFtZWJ1ZmZlclZrIDogcHVibGljIEZyYW1l
YnVmZmVySW1wbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGZsb2F0IGRlcHRo
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBzdGVuY2lsKSBvdmVycmlk
ZTsKIAotICAgIEdMZW51bSBnZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgR0xlbnVtIGdldEltcGxl
bWVudGF0aW9uQ29sb3JSZWFkVHlwZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZnZXRJbXBsZW1lbnRhdGlv
bkNvbG9yUmVhZEZvcm1hdCgKKyAgICAgICAgY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGFuZ2xlOjpSZXN1bHQgcmVhZFBpeGVscyhjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJl
Y3RhbmdsZSAmYXJlYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1h
dCwKQEAgLTg2LDYgKzg2LDcgQEAgY2xhc3MgRnJhbWVidWZmZXJWayA6IHB1YmxpYyBGcmFtZWJ1
ZmZlckltcGwKICAgICBib29sIGNoZWNrU3RhdHVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
KSBjb25zdCBvdmVycmlkZTsKIAogICAgIGFuZ2xlOjpSZXN1bHQgc3luY1N0YXRlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBi
aW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpGcmFtZWJ1ZmZl
cjo6RGlydHlCaXRzICZkaXJ0eUJpdHMpIG92ZXJyaWRlOwogCiAgICAgYW5nbGU6OlJlc3VsdCBn
ZXRTYW1wbGVQb3NpdGlvbihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKQEAgLTEwOSw3ICsx
MTAsNyBAQCBjbGFzcyBGcmFtZWJ1ZmZlclZrIDogcHVibGljIEZyYW1lYnVmZmVySW1wbAogICAg
IFJlbmRlclRhcmdldFZrICpnZXRDb2xvckRyYXdSZW5kZXJUYXJnZXQoc2l6ZV90IGNvbG9ySW5k
ZXgpIGNvbnN0OwogICAgIFJlbmRlclRhcmdldFZrICpnZXRDb2xvclJlYWRSZW5kZXJUYXJnZXQo
KSBjb25zdDsKIAotICAgIGFuZ2xlOjpSZXN1bHQgc3RhcnROZXdSZW5kZXJQYXNzKENvbnRleHRW
ayAqY29udGV4dCwKKyAgICBhbmdsZTo6UmVzdWx0IHN0YXJ0TmV3UmVuZGVyUGFzcyhDb250ZXh0
VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6UmVjdGFuZ2xlICZyZW5kZXJBcmVhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZrOjpDb21tYW5kQnVmZmVyICoqY29tbWFuZEJ1ZmZlck91dCk7CiAKQEAgLTEx
OCw2ICsxMTksMTIgQEAgY2xhc3MgRnJhbWVidWZmZXJWayA6IHB1YmxpYyBGcmFtZWJ1ZmZlcklt
cGwKIAogICAgIGNvbnN0IHZrOjpSZW5kZXJQYXNzRGVzYyAmZ2V0UmVuZGVyUGFzc0Rlc2MoKSBj
b25zdCB7IHJldHVybiBtUmVuZGVyUGFzc0Rlc2M7IH0KICAgICBjb25zdCB2azo6RnJhbWVidWZm
ZXJEZXNjICZnZXRGcmFtZWJ1ZmZlckRlc2MoKSBjb25zdCB7IHJldHVybiBtQ3VycmVudEZyYW1l
YnVmZmVyRGVzYzsgfQorICAgIC8vIFdlIG9ubHkgc3VwcG9ydCBkZXB0aC9zdGVuY2lsIHBhY2tl
ZCBmb3JtYXQgYW5kIGRlcHRoc3RlbmNpbCBhdHRhY2htZW50IGFsd2F5cyBmb2xsb3cgYWxsCisg
ICAgLy8gY29sb3IgYXR0YWNobWVudHMKKyAgICBzaXplX3QgZ2V0RGVwdGhTdGVuY2lsQXR0YWNo
bWVudEluZGV4VmsoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGdldFN0YXRlKCkuZ2V0
RW5hYmxlZERyYXdCdWZmZXJzKCkuY291bnQoKTsKKyAgICB9CiAKICAgcHJpdmF0ZToKICAgICBG
cmFtZWJ1ZmZlclZrKFJlbmRlcmVyVmsgKnJlbmRlcmVyLApAQCAtMTUwLDIyICsxNTcsNDggQEAg
Y2xhc3MgRnJhbWVidWZmZXJWayA6IHB1YmxpYyBGcmFtZWJ1ZmZlckltcGwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIGNsZWFyU3RlbmNpbCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY2xlYXJDb2xvclZhbHVlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZSAmY2xl
YXJEZXB0aFN0ZW5jaWxWYWx1ZSk7CisKKyAgICBhbmdsZTo6UmVzdWx0IGNsZWFySW1tZWRpYXRl
bHlXaXRoUmVuZGVyUGFzc09wKAorICAgICAgICBDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAg
ICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmY2xlYXJBcmVhLAorICAgICAgICBnbDo6RHJhd0J1ZmZl
ck1hc2sgY2xlYXJDb2xvckJ1ZmZlcnMsCisgICAgICAgIGJvb2wgY2xlYXJEZXB0aCwKKyAgICAg
ICAgYm9vbCBjbGVhclN0ZW5jaWwsCisgICAgICAgIGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZj
bGVhckNvbG9yVmFsdWUsCisgICAgICAgIGNvbnN0IFZrQ2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZSAm
Y2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZSk7CisKICAgICBhbmdsZTo6UmVzdWx0IGNsZWFyV2l0aERy
YXcoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpSZWN0YW5nbGUgJmNsZWFyQXJlYSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2w6OkRyYXdCdWZmZXJNYXNrIGNsZWFyQ29sb3JCdWZmZXJzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGNsZWFyRGVwdGgsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgY2xlYXJTdGVuY2lsLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0NvbG9yQ29tcG9uZW50RmxhZ3MgY29sb3JNYXNrRmxhZ3MsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qgc3RlbmNpbE1hc2ssCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZjbGVhckNvbG9y
VmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgY2xlYXJTdGVu
Y2lsVmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFy
RGVwdGhTdGVuY2lsVmFsdWUgJmNsZWFyRGVwdGhTdGVuY2lsVmFsdWUpOworICAgIHZvaWQgY2xl
YXJXaXRoUmVuZGVyUGFzc09wKGdsOjpEcmF3QnVmZmVyTWFzayBjbGVhckNvbG9yQnVmZmVycywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNsZWFyRGVwdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjbGVhclN0ZW5jaWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckNvbG9yVmFsdWUgJmNsZWFyQ29sb3JWYWx1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyRGVwdGhTdGVu
Y2lsVmFsdWUgJmNsZWFyRGVwdGhTdGVuY2lsVmFsdWUpOwogICAgIHZvaWQgdXBkYXRlQWN0aXZl
Q29sb3JNYXNrcyhzaXplX3QgY29sb3JJbmRleCwgYm9vbCByLCBib29sIGcsIGJvb2wgYiwgYm9v
bCBhKTsKICAgICB2b2lkIHVwZGF0ZVJlbmRlclBhc3NEZXNjKCk7Ci0gICAgYW5nbGU6OlJlc3Vs
dCB1cGRhdGVDb2xvckF0dGFjaG1lbnQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIHNpemVf
dCBjb2xvckluZGV4KTsKKyAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZUNvbG9yQXR0YWNobWVudChj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGRlZmVyQ2xlYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGNvbG9ySW5kZXgpOwogICAgIGFuZ2xlOjpSZXN1bHQgaW52
YWxpZGF0ZUltcGwoQ29udGV4dFZrICpjb250ZXh0VmssIHNpemVfdCBjb3VudCwgY29uc3QgR0xl
bnVtICphdHRhY2htZW50cyk7CiAgICAgLy8gUmVsZWFzZSBhbGwgRnJhbWVidWZmZXJWayBvYmpl
Y3RzIGluIHRoZSBjYWNoZSBhbmQgY2xlYXIgY2FjaGUKICAgICB2b2lkIGNsZWFyQ2FjaGUoQ29u
dGV4dFZrICpjb250ZXh0VmspOworICAgIGFuZ2xlOjpSZXN1bHQgdXBkYXRlRGVwdGhTdGVuY2ls
QXR0YWNobWVudChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgYm9vbCBkZWZlckNsZWFycyk7
CiAgICAgdm9pZCB1cGRhdGVEZXB0aFN0ZW5jaWxBdHRhY2htZW50U2VyaWFsKENvbnRleHRWayAq
Y29udGV4dFZrKTsKIAorICAgIFJlbmRlclRhcmdldFZrICpnZXRSZWFkUGl4ZWxzUmVuZGVyVGFy
Z2V0KEdMZW51bSBmb3JtYXQpIGNvbnN0OworICAgIFZrSW1hZ2VBc3BlY3RGbGFnQml0cyBnZXRS
ZWFkUGl4ZWxzQXNwZWN0RmxhZ3MoR0xlbnVtIGZvcm1hdCkgY29uc3Q7CisKKyAgICBhbmdsZTo6
UmVzdWx0IGZsdXNoRGVmZXJyZWRDbGVhcnMoQ29udGV4dFZrICpjb250ZXh0VmssIGNvbnN0IGds
OjpSZWN0YW5nbGUgJnJlbmRlckFyZWEpOworICAgIFZrQ2xlYXJWYWx1ZSBnZXRDb3JyZWN0ZWRD
b2xvckNsZWFyVmFsdWUoc2l6ZV90IGNvbG9ySW5kZXhHTCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZjbGVhckNv
bG9yKSBjb25zdDsKKwogICAgIFdpbmRvd1N1cmZhY2VWayAqbUJhY2tidWZmZXI7CiAKICAgICB2
azo6UmVuZGVyUGFzc0Rlc2MgbVJlbmRlclBhc3NEZXNjOwpAQCAtMTg3LDYgKzIyMCw4IEBAIGNs
YXNzIEZyYW1lYnVmZmVyVmsgOiBwdWJsaWMgRnJhbWVidWZmZXJJbXBsCiAgICAgdms6OkZyYW1l
YnVmZmVyRGVzYyBtQ3VycmVudEZyYW1lYnVmZmVyRGVzYzsKICAgICBzdGQ6OnVub3JkZXJlZF9t
YXA8dms6OkZyYW1lYnVmZmVyRGVzYywgdms6OkZyYW1lYnVmZmVySGVscGVyPiBtRnJhbWVidWZm
ZXJDYWNoZTsKICAgICBib29sIG1TdXBwb3J0RGVwdGhTdGVuY2lsRmVlZGJhY2tMb29wczsKKwor
ICAgIHZrOjpDbGVhclZhbHVlc0FycmF5IG1EZWZlcnJlZENsZWFyczsKIH07CiB9ICAvLyBuYW1l
c3BhY2UgcngKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9HbHNsYW5nV3JhcHBlclZrLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vR2xzbGFuZ1dyYXBwZXJWay5j
cHAKaW5kZXggMmUzMmMyNmYzYjIwNDgyOGJlNTk0YWI1NWIwMzAzMDA4NjU1ODBlOS4uZDkzMDk0
NzQxMTU1MDJjMTUzNjkwMGI0YWY2MWVlZTc2NmQ1MTFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9HbHNsYW5nV3JhcHBl
clZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL0dsc2xhbmdXcmFwcGVyVmsuY3BwCkBAIC03MSwyNiArNzEsMjggQEAgdm9pZCBH
bHNsYW5nV3JhcHBlclZrOjpHZXRTaGFkZXJTb3VyY2UoY29uc3QgYW5nbGU6OkZlYXR1cmVzVmsg
JmZlYXR1cmVzLAogLy8gc3RhdGljCiBhbmdsZTo6UmVzdWx0IEdsc2xhbmdXcmFwcGVyVms6Okdl
dFNoYWRlckNvZGUoCiAgICAgdms6OkNvbnRleHQgKmNvbnRleHQsCisgICAgY29uc3QgZ2w6OlNo
YWRlckJpdFNldCAmbGlua2VkU2hhZGVyU3RhZ2VzLAogICAgIGNvbnN0IGdsOjpDYXBzICZnbENh
cHMsCiAgICAgY29uc3QgZ2w6OlNoYWRlck1hcDxzdGQ6OnN0cmluZz4gJnNoYWRlclNvdXJjZXMs
CiAgICAgY29uc3QgU2hhZGVyTWFwSW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICZ2YXJpYWJsZUlu
Zm9NYXAsCiAgICAgZ2w6OlNoYWRlck1hcDxzdGQ6OnZlY3Rvcjx1aW50MzJfdD4+ICpzaGFkZXJD
b2RlT3V0KQogewogICAgIHJldHVybiBHbHNsYW5nR2V0U2hhZGVyU3BpcnZDb2RlKAotICAgICAg
ICBbY29udGV4dF0oR2xzbGFuZ0Vycm9yIGVycm9yKSB7IHJldHVybiBFcnJvckhhbmRsZXIoY29u
dGV4dCwgZXJyb3IpOyB9LCBnbENhcHMsCi0gICAgICAgIHNoYWRlclNvdXJjZXMsIHZhcmlhYmxl
SW5mb01hcCwgc2hhZGVyQ29kZU91dCk7CisgICAgICAgIFtjb250ZXh0XShHbHNsYW5nRXJyb3Ig
ZXJyb3IpIHsgcmV0dXJuIEVycm9ySGFuZGxlcihjb250ZXh0LCBlcnJvcik7IH0sIGxpbmtlZFNo
YWRlclN0YWdlcywKKyAgICAgICAgZ2xDYXBzLCBzaGFkZXJTb3VyY2VzLCB2YXJpYWJsZUluZm9N
YXAsIHNoYWRlckNvZGVPdXQpOwogfQogCiAvLyBzdGF0aWMKIGFuZ2xlOjpSZXN1bHQgR2xzbGFu
Z1dyYXBwZXJWazo6VHJhbnNmb3JtU3BpclYoCiAgICAgdms6OkNvbnRleHQgKmNvbnRleHQsCiAg
ICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKKyAgICBib29sIHJlbW92ZUVhcmx5
RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbiwKICAgICBjb25zdCBTaGFkZXJJbnRlcmZhY2VWYXJp
YWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01hcCwKLSAgICBzdGQ6OnZlY3Rvcjx1aW50MzJfdD4g
JmluaXRpYWxTcGlydkJsb2IsCi0gICAgc3RkOjp2ZWN0b3I8dWludDMyX3Q+ICpzaGFkZXJDb2Rl
T3V0KQorICAgIGNvbnN0IFNwaXJ2QmxvYiAmaW5pdGlhbFNwaXJ2QmxvYiwKKyAgICBTcGlydkJs
b2IgKnNoYWRlckNvZGVPdXQpCiB7Ci0gICAgcmV0dXJuIFRyYW5zZm9ybVNwaXJ2Q29kZSgKKyAg
ICByZXR1cm4gR2xzbGFuZ1RyYW5zZm9ybVNwaXJ2Q29kZSgKICAgICAgICAgW2NvbnRleHRdKEds
c2xhbmdFcnJvciBlcnJvcikgeyByZXR1cm4gRXJyb3JIYW5kbGVyKGNvbnRleHQsIGVycm9yKTsg
fSwgc2hhZGVyVHlwZSwKLSAgICAgICAgdmFyaWFibGVJbmZvTWFwLCBpbml0aWFsU3BpcnZCbG9i
LCBzaGFkZXJDb2RlT3V0KTsKKyAgICAgICAgcmVtb3ZlRWFybHlGcmFnbWVudFRlc3RzT3B0aW1p
emF0aW9uLCB2YXJpYWJsZUluZm9NYXAsIGluaXRpYWxTcGlydkJsb2IsIHNoYWRlckNvZGVPdXQp
OwogfQogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0dsc2xhbmdXcmFwcGVyVmsuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vR2xzbGFu
Z1dyYXBwZXJWay5oCmluZGV4IGM1YjMzYzIxYjc2ZDdiZTlhNTNjNTc4ODU2NjI1MjlhYjIxYjhm
ODUuLjJkNTAyZTlkMDk5YmQ5NjZmMTZlMWE1YWYzMDBjOGI1YWIwNmZkNTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vR2xz
bGFuZ1dyYXBwZXJWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vR2xzbGFuZ1dyYXBwZXJWay5oCkBAIC0zOCw2ICszOCw3IEBAIGNs
YXNzIEdsc2xhbmdXcmFwcGVyVmsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hh
ZGVyTWFwSW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICp2YXJpYWJsZUluZm9NYXBPdXQpOwogCiAg
ICAgc3RhdGljIGFuZ2xlOjpSZXN1bHQgR2V0U2hhZGVyQ29kZSh2azo6Q29udGV4dCAqY29udGV4
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFk
ZXJCaXRTZXQgJmxpbmtlZFNoYWRlclN0YWdlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpDYXBzICZnbENhcHMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyTWFwPHN0ZDo6c3RyaW5nPiAmc2hh
ZGVyU291cmNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01hcCAmdmFyaWFibGVJbmZvTWFwLApAQCAt
NDUsOSArNDYsMTAgQEAgY2xhc3MgR2xzbGFuZ1dyYXBwZXJWawogCiAgICAgc3RhdGljIGFuZ2xl
OjpSZXN1bHQgVHJhbnNmb3JtU3BpclYodms6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVy
VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlbW92
ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgJnZh
cmlhYmxlSW5mb01hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGQ6OnZlY3Rvcjx1aW50MzJfdD4gJmluaXRpYWxTcGlydkJsb2IsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dWludDMyX3Q+ICpzaGFkZXJDb2Rl
T3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTcGly
dkJsb2IgJmluaXRpYWxTcGlydkJsb2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3BpcnZCbG9iICpzaGFkZXJDb2RlT3V0KTsKIH07CiB9ICAvLyBuYW1lc3BhY2Ug
cngKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9NZW1vcnlPYmplY3RWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL01lbW9yeU9iamVjdFZrLmNwcAppbmRleCA5
NDhlMDkyOGE0MGZkOTM1NWQyYmRiYTBjYzRlMjE0M2U1NDcxY2NmLi4wYTQyN2I2Y2IxN2MzYmQy
ZmQwZTEwNTIzM2U5Y2Y5MjAxZjA2ODRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL01lbW9yeU9iamVjdFZrLmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL01l
bW9yeU9iamVjdFZrLmNwcApAQCAtMTEsNyArMTEsNyBAQAogI2luY2x1ZGUgImxpYkFOR0xFL0Nv
bnRleHQuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmgi
CiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuaCIKLSNpbmNs
dWRlICJ2b2xrLmgiCisjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlYWRl
cnMuaCIKICNpbmNsdWRlICJ2dWxrYW4vdnVsa2FuX2Z1Y2hzaWFfZXh0LmgiCiAKICNpZiAhZGVm
aW5lZChBTkdMRV9QTEFURk9STV9XSU5ET1dTKQpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIE1lbW9y
eU9iamVjdFZrOjpvbkRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAKIGFuZ2xl
OjpSZXN1bHQgTWVtb3J5T2JqZWN0Vms6OnNldERlZGljYXRlZE1lbW9yeShjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwgYm9vbCBkZWRpY2F0ZWRNZW1vcnkpCiB7Ci0gICAgVU5JTVBMRU1FTlRF
RCgpOworICAgIG1EZWRpY2F0ZWRNZW1vcnkgPSBkZWRpY2F0ZWRNZW1vcnk7CiAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0xODQsMTUgKzE4NCwzNSBAQCBhbmds
ZTo6UmVzdWx0IE1lbW9yeU9iamVjdFZrOjpjcmVhdGVJbWFnZShDb250ZXh0VmsgKmNvbnRleHRW
aywKICAgICB1aW50MzJfdCBsYXllckNvdW50OwogICAgIGdsX3ZrOjpHZXRFeHRlbnRzQW5kTGF5
ZXJDb3VudCh0eXBlLCBzaXplLCAmdmtFeHRlbnRzLCAmbGF5ZXJDb3VudCk7CiAKKyAgICAvLyBJ
bml0aWFsaXplIFZrSW1hZ2Ugd2l0aCBpbml0aWFsIGxheW91dCBvZiBWS19JTUFHRV9MQVlPVVRf
VU5ERUZJTkVELgorICAgIC8vCisgICAgLy8gQmluZGluZyBhIFZrSW1hZ2Ugd2l0aCBhbiBpbml0
aWFsIGxheW91dCBvZiBWS19JTUFHRV9MQVlPVVRfVU5ERUZJTkVEIHRvCisgICAgLy8gZXh0ZXJu
YWwgbWVtb3J5IHdob3NlIGNvbnRlbnQgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGRvZXMgbm90
IG1ha2UgdGhlCisgICAgLy8gY29udGVudCB1bmRlZmluZWQgKHNlZSAxMS43LjEuIEV4dGVybmFs
IFJlc291cmNlIFNoYXJpbmcpLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYWxy
ZWFkeSBkZWZpbmVkLCB0aGUgb3duZXJzaGlwIHJ1bGVzIGltcGx5IHRoYXQgdGhlCisgICAgLy8g
Zmlyc3Qgb3BlcmF0aW9uIG9uIHRoZSB0ZXh0dXJlIG11c3QgYmUgYSBjYWxsIHRvIGdsV2FpdFNl
bWFwaG9yZUVYVCB0aGF0CisgICAgLy8gZ3JhbnRzIG93bmVyc2hpcCBvZiB0aGUgaW1hZ2UgYW5k
IGluZm9ybXMgdXMgb2YgdGhlIHRydWUgbGF5b3V0LgorICAgIC8vCisgICAgLy8gSWYgdGhlIGNv
bnRlbnQgaXMgbm90IGFscmVhZHkgZGVmaW5lZCwgdGhlIGZpcnN0IG9wZXJhdGlvbiBtYXkgbm90
IGJlIGEKKyAgICAvLyBnbFdhaXRTZW1hcGhvcmUsIGJ1dCBpbiB0aGlzIGNhc2UgdW5kZWZpbmVk
IGxheW91dCBpcyBhcHByb3ByaWF0ZS4KICAgICBBTkdMRV9UUlkoaW1hZ2UtPmluaXRFeHRlcm5h
bCgKLSAgICAgICAgY29udGV4dFZrLCB0eXBlLCB2a0V4dGVudHMsIHZrRm9ybWF0LCAxLCBpbWFn
ZVVzYWdlRmxhZ3MsCi0gICAgICAgIHZrOjpJbWFnZUxheW91dDo6RXh0ZXJuYWxQcmVJbml0aWFs
aXplZCwgJmV4dGVybmFsTWVtb3J5SW1hZ2VDcmVhdGVJbmZvLCAwLAorICAgICAgICBjb250ZXh0
VmssIHR5cGUsIHZrRXh0ZW50cywgdmtGb3JtYXQsIDEsIGltYWdlVXNhZ2VGbGFncywgdms6OmtW
a0ltYWdlQ3JlYXRlRmxhZ3NOb25lLAorICAgICAgICB2azo6SW1hZ2VMYXlvdXQ6OlVuZGVmaW5l
ZCwgJmV4dGVybmFsTWVtb3J5SW1hZ2VDcmVhdGVJbmZvLCAwLAogICAgICAgICBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4obGV2ZWxzKSAtIDEsIHN0YXRpY19jYXN0PHVpbnQzMl90PihsZXZlbHMpLCBs
YXllckNvdW50KSk7CiAKICAgICBWa01lbW9yeVJlcXVpcmVtZW50cyBleHRlcm5hbE1lbW9yeVJl
cXVpcmVtZW50czsKICAgICBpbWFnZS0+Z2V0SW1hZ2UoKS5nZXRNZW1vcnlSZXF1aXJlbWVudHMo
cmVuZGVyZXItPmdldERldmljZSgpLCAmZXh0ZXJuYWxNZW1vcnlSZXF1aXJlbWVudHMpOwogCi0g
ICAgdm9pZCAqaW1wb3J0TWVtb3J5SW5mbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICB2b2lkICppbXBvcnRNZW1vcnlJbmZvICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBudWxscHRyOworICAgIFZrTWVtb3J5RGVk
aWNhdGVkQWxsb2NhdGVJbmZvIG1lbW9yeURlZGljYXRlZEFsbG9jYXRlSW5mbyA9IHt9OworICAg
IGlmIChtRGVkaWNhdGVkTWVtb3J5KQorICAgIHsKKyAgICAgICAgbWVtb3J5RGVkaWNhdGVkQWxs
b2NhdGVJbmZvLnNUeXBlID0gVktfU1RSVUNUVVJFX1RZUEVfTUVNT1JZX0RFRElDQVRFRF9BTExP
Q0FURV9JTkZPX0tIUjsKKyAgICAgICAgbWVtb3J5RGVkaWNhdGVkQWxsb2NhdGVJbmZvLmltYWdl
ID0gaW1hZ2UtPmdldEltYWdlKCkuZ2V0SGFuZGxlKCk7CisgICAgICAgIGltcG9ydE1lbW9yeUlu
Zm8gICAgICAgICAgICAgICAgICA9ICZtZW1vcnlEZWRpY2F0ZWRBbGxvY2F0ZUluZm87CisgICAg
fQorCiAgICAgVmtJbXBvcnRNZW1vcnlGZEluZm9LSFIgaW1wb3J0TWVtb3J5RmRJbmZvICAgICAg
ICAgICAgICAgICAgICAgICAgID0ge307CiAgICAgVmtJbXBvcnRNZW1vcnlaaXJjb25IYW5kbGVJ
bmZvRlVDSFNJQSBpbXBvcnRNZW1vcnlaaXJjb25IYW5kbGVJbmZvID0ge307CiAgICAgc3dpdGNo
IChtSGFuZGxlVHlwZSkKQEAgLTIwMCw2ICsyMjAsNyBAQCBhbmdsZTo6UmVzdWx0IE1lbW9yeU9i
amVjdFZrOjpjcmVhdGVJbWFnZShDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgY2FzZSBn
bDo6SGFuZGxlVHlwZTo6T3BhcXVlRmQ6CiAgICAgICAgICAgICBBU1NFUlQobUZkICE9IGtJbnZh
bGlkRmQpOwogICAgICAgICAgICAgaW1wb3J0TWVtb3J5RmRJbmZvLnNUeXBlICAgICAgPSBWS19T
VFJVQ1RVUkVfVFlQRV9JTVBPUlRfTUVNT1JZX0ZEX0lORk9fS0hSOworICAgICAgICAgICAgaW1w
b3J0TWVtb3J5RmRJbmZvLnBOZXh0ICAgICAgPSBpbXBvcnRNZW1vcnlJbmZvOwogICAgICAgICAg
ICAgaW1wb3J0TWVtb3J5RmRJbmZvLmhhbmRsZVR5cGUgPSBUb1Z1bGthbkhhbmRsZVR5cGUobUhh
bmRsZVR5cGUpOwogICAgICAgICAgICAgaW1wb3J0TWVtb3J5RmRJbmZvLmZkICAgICAgICAgPSBk
dXAobUZkKTsKICAgICAgICAgICAgIGltcG9ydE1lbW9yeUluZm8gICAgICAgICAgICAgID0gJmlt
cG9ydE1lbW9yeUZkSW5mbzsKQEAgLTIwOCw2ICsyMjksNyBAQCBhbmdsZTo6UmVzdWx0IE1lbW9y
eU9iamVjdFZrOjpjcmVhdGVJbWFnZShDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAg
IEFTU0VSVChtWmlyY29uSGFuZGxlICE9IFpYX0hBTkRMRV9JTlZBTElEKTsKICAgICAgICAgICAg
IGltcG9ydE1lbW9yeVppcmNvbkhhbmRsZUluZm8uc1R5cGUgPQogICAgICAgICAgICAgICAgIFZL
X1NUUlVDVFVSRV9UWVBFX1RFTVBfSU1QT1JUX01FTU9SWV9aSVJDT05fSEFORExFX0lORk9fRlVD
SFNJQTsKKyAgICAgICAgICAgIGltcG9ydE1lbW9yeVppcmNvbkhhbmRsZUluZm8ucE5leHQgICAg
ICA9IGltcG9ydE1lbW9yeUluZm87CiAgICAgICAgICAgICBpbXBvcnRNZW1vcnlaaXJjb25IYW5k
bGVJbmZvLmhhbmRsZVR5cGUgPSBUb1Z1bGthbkhhbmRsZVR5cGUobUhhbmRsZVR5cGUpOwogICAg
ICAgICAgICAgQU5HTEVfVFJZKAogICAgICAgICAgICAgICAgIER1cGxpY2F0ZVppcmNvblZtbyhj
b250ZXh0VmssIG1aaXJjb25IYW5kbGUsICZpbXBvcnRNZW1vcnlaaXJjb25IYW5kbGVJbmZvLmhh
bmRsZSkpOwpAQCAtMjI0LDcgKzI0Niw3IEBAIGFuZ2xlOjpSZXN1bHQgTWVtb3J5T2JqZWN0Vms6
OmNyZWF0ZUltYWdlKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIFZrTWVtb3J5UHJvcGVydHlG
bGFncyBmbGFncyA9IDA7CiAgICAgQU5HTEVfVFJZKGltYWdlLT5pbml0RXh0ZXJuYWxNZW1vcnko
Y29udGV4dFZrLCByZW5kZXJlci0+Z2V0TWVtb3J5UHJvcGVydGllcygpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsTWVtb3J5UmVxdWlyZW1lbnRzLCBp
bXBvcnRNZW1vcnlJbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZLX1FVRVVFX0ZBTUlMWV9FWFRFUk5BTCwgZmxhZ3MpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZW5kZXJlci0+Z2V0UXVldWVGYW1pbHlJbmRleCgpLCBmbGFn
cykpOwogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9N
ZW1vcnlPYmplY3RWay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9NZW1vcnlPYmplY3RWay5oCmluZGV4IGI1NTdmYmYwNTNjZWU2MTk1ODIx
NmE3NDYwNTllY2IwZjhiMGJjMWMuLjQzN2UxODY4NjdkY2EzYjQyNTJiOGQxYmE5NDcxYzg3ODFl
NTAwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vTWVtb3J5T2JqZWN0VmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL01lbW9yeU9iamVjdFZrLmgKQEAgLTQ4
LDYgKzQ4LDkgQEAgY2xhc3MgTWVtb3J5T2JqZWN0VmsgOiBwdWJsaWMgTWVtb3J5T2JqZWN0SW1w
bAogICAgIGFuZ2xlOjpSZXN1bHQgaW1wb3J0T3BhcXVlRmQoQ29udGV4dFZrICpjb250ZXh0Vmss
IEdMdWludDY0IHNpemUsIEdMaW50IGZkKTsKICAgICBhbmdsZTo6UmVzdWx0IGltcG9ydFppcmNv
blZtbyhDb250ZXh0VmsgKmNvbnRleHRWaywgR0x1aW50NjQgc2l6ZSwgR0x1aW50IGhhbmRsZSk7
CiAKKyAgICAvLyBJbXBvcnRlZCBtZW1vcnkgb2JqZWN0IHdhcyBhIGRlZGljYXRlZCBhbGxvY2F0
aW9uLgorICAgIGJvb2wgbURlZGljYXRlZE1lbW9yeSA9IGZhbHNlOworCiAgICAgR0x1aW50NjQg
bVNpemUgICAgICAgICAgICAgPSAwOwogICAgIGdsOjpIYW5kbGVUeXBlIG1IYW5kbGVUeXBlID0g
Z2w6OkhhbmRsZVR5cGU6OkludmFsaWRFbnVtOwogICAgIGludCBtRmQgICAgICAgICAgICAgICAg
ICAgID0ga0ludmFsaWRGZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vT3ZlcmxheVZrLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vT3ZlcmxheVZrLmNwcAppbmRl
eCAxYzgyZTVmNjg4MzMyZWQwNTExNzVjMmYzNGRkMjQ0ZTRiYmUzODE0Li5kZDYyOTk1YzRhMGYz
NjEzNDY3MzBjNWNjZTJlMDM1MzM1MjVlMjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL092ZXJsYXlWay5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9PdmVy
bGF5VmsuY3BwCkBAIC03MCwxMiArNzAsMTMgQEAgYW5nbGU6OlJlc3VsdCBPdmVybGF5Vms6Omlu
aXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAKIHZvaWQgT3ZlcmxheVZrOjpvbkRlc3Ry
b3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgVmtEZXZpY2UgZGV2aWNlID0g
dms6OkdldEltcGwoY29udGV4dCktPmdldERldmljZSgpOworICAgIFJlbmRlcmVyVmsgKnJlbmRl
cmVyID0gdms6OkdldEltcGwoY29udGV4dCktPmdldFJlbmRlcmVyKCk7CisgICAgVmtEZXZpY2Ug
ZGV2aWNlICAgICAgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7CiAKLSAgICBtQ3VsbGVkV2lkZ2V0
cy5kZXN0cm95KGRldmljZSk7CisgICAgbUN1bGxlZFdpZGdldHMuZGVzdHJveShyZW5kZXJlcik7
CiAgICAgbUN1bGxlZFdpZGdldHNWaWV3LmRlc3Ryb3koZGV2aWNlKTsKIAotICAgIG1Gb250SW1h
Z2UuZGVzdHJveShkZXZpY2UpOworICAgIG1Gb250SW1hZ2UuZGVzdHJveShyZW5kZXJlcik7CiAg
ICAgbUZvbnRJbWFnZVZpZXcuZGVzdHJveShkZXZpY2UpOwogfQogCkBAIC0xMDEsOCArMTAyLDgg
QEAgYW5nbGU6OlJlc3VsdCBPdmVybGF5Vms6OmNyZWF0ZUZvbnQoQ29udGV4dFZrICpjb250ZXh0
VmspCiAKICAgICBtU3RhdGUuaW5pdEZvbnREYXRhKGZvbnREYXRhKTsKIAotICAgIEFOR0xFX1RS
WShmb250RGF0YUJ1ZmZlci5nZXQoKS5mbHVzaChjb250ZXh0VmssIDAsIGZvbnREYXRhQnVmZmVy
LmdldCgpLmdldFNpemUoKSkpOwotICAgIGZvbnREYXRhQnVmZmVyLmdldCgpLnVubWFwKGNvbnRl
eHRWay0+Z2V0RGV2aWNlKCkpOworICAgIEFOR0xFX1RSWShmb250RGF0YUJ1ZmZlci5nZXQoKS5m
bHVzaChyZW5kZXJlciwgMCwgZm9udERhdGFCdWZmZXIuZ2V0KCkuZ2V0U2l6ZSgpKSk7CisgICAg
Zm9udERhdGFCdWZmZXIuZ2V0KCkudW5tYXAocmVuZGVyZXIpOwogCiAgICAgZm9udERhdGFCdWZm
ZXIuZ2V0KCkub25FeHRlcm5hbFdyaXRlKFZLX0FDQ0VTU19IT1NUX1dSSVRFX0JJVCk7CiAKQEAg
LTEyMSw3ICsxMjIsNyBAQCBhbmdsZTo6UmVzdWx0IE92ZXJsYXlWazo6Y3JlYXRlRm9udChDb250
ZXh0VmsgKmNvbnRleHRWaykKIAogICAgIC8vIENvcHkgZm9udCBkYXRhIGZyb20gc3RhZ2luZyBi
dWZmZXIuCiAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmZvbnREYXRhVXBsb2FkOwotICAgIEFOR0xF
X1RSWShjb250ZXh0VmstPm9uQnVmZmVyUmVhZChWS19BQ0NFU1NfVFJBTlNGRVJfUkVBRF9CSVQs
ICZmb250RGF0YUJ1ZmZlci5nZXQoKSkpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVm
ZmVyVHJhbnNmZXJSZWFkKCZmb250RGF0YUJ1ZmZlci5nZXQoKSkpOwogICAgIEFOR0xFX1RSWShj
b250ZXh0VmstPm9uSW1hZ2VXcml0ZShWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULCB2azo6SW1h
Z2VMYXlvdXQ6OlRyYW5zZmVyRHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmbUZvbnRJbWFnZSkpOwogICAgIEFOR0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBh
c3NBbmRHZXRDb21tYW5kQnVmZmVyKCZmb250RGF0YVVwbG9hZCkpOwpAQCAtMTcwLDggKzE3MSw4
IEBAIGFuZ2xlOjpSZXN1bHQgT3ZlcmxheVZrOjpjdWxsV2lkZ2V0cyhDb250ZXh0VmsgKmNvbnRl
eHRWaykKICAgICBnbDo6RXh0ZW50cyBwcmVzZW50SW1hZ2VFeHRlbnRzKG1QcmVzZW50SW1hZ2VF
eHRlbnQud2lkdGgsIG1QcmVzZW50SW1hZ2VFeHRlbnQuaGVpZ2h0LCAxKTsKICAgICBtU3RhdGUu
ZmlsbEVuYWJsZWRXaWRnZXRDb29yZGluYXRlcyhwcmVzZW50SW1hZ2VFeHRlbnRzLCBlbmFibGVk
V2lkZ2V0cyk7CiAKLSAgICBBTkdMRV9UUlkoZW5hYmxlZFdpZGdldHNCdWZmZXIuZ2V0KCkuZmx1
c2goY29udGV4dFZrLCAwLCBlbmFibGVkV2lkZ2V0c0J1ZmZlci5nZXQoKS5nZXRTaXplKCkpKTsK
LSAgICBlbmFibGVkV2lkZ2V0c0J1ZmZlci5nZXQoKS51bm1hcChjb250ZXh0VmstPmdldERldmlj
ZSgpKTsKKyAgICBBTkdMRV9UUlkoZW5hYmxlZFdpZGdldHNCdWZmZXIuZ2V0KCkuZmx1c2gocmVu
ZGVyZXIsIDAsIGVuYWJsZWRXaWRnZXRzQnVmZmVyLmdldCgpLmdldFNpemUoKSkpOworICAgIGVu
YWJsZWRXaWRnZXRzQnVmZmVyLmdldCgpLnVubWFwKHJlbmRlcmVyKTsKIAogICAgIGVuYWJsZWRX
aWRnZXRzQnVmZmVyLmdldCgpLm9uRXh0ZXJuYWxXcml0ZShWS19BQ0NFU1NfSE9TVF9XUklURV9C
SVQpOwogCkBAIC0yNjAsMTAgKzI2MSwxMCBAQCBhbmdsZTo6UmVzdWx0IE92ZXJsYXlWazo6b25Q
cmVzZW50KENvbnRleHRWayAqY29udGV4dFZrLAogICAgIGdsOjpFeHRlbnRzIHByZXNlbnRJbWFn
ZUV4dGVudHMobVByZXNlbnRJbWFnZUV4dGVudC53aWR0aCwgbVByZXNlbnRJbWFnZUV4dGVudC5o
ZWlnaHQsIDEpOwogICAgIG1TdGF0ZS5maWxsV2lkZ2V0RGF0YShwcmVzZW50SW1hZ2VFeHRlbnRz
LCB0ZXh0RGF0YSwgZ3JhcGhEYXRhKTsKIAotICAgIEFOR0xFX1RSWSh0ZXh0RGF0YUJ1ZmZlci5n
ZXQoKS5mbHVzaChjb250ZXh0VmssIDAsIHRleHREYXRhQnVmZmVyLmdldCgpLmdldFNpemUoKSkp
OwotICAgIEFOR0xFX1RSWShncmFwaERhdGFCdWZmZXIuZ2V0KCkuZmx1c2goY29udGV4dFZrLCAw
LCBncmFwaERhdGFCdWZmZXIuZ2V0KCkuZ2V0U2l6ZSgpKSk7Ci0gICAgdGV4dERhdGFCdWZmZXIu
Z2V0KCkudW5tYXAoY29udGV4dFZrLT5nZXREZXZpY2UoKSk7Ci0gICAgZ3JhcGhEYXRhQnVmZmVy
LmdldCgpLnVubWFwKGNvbnRleHRWay0+Z2V0RGV2aWNlKCkpOworICAgIEFOR0xFX1RSWSh0ZXh0
RGF0YUJ1ZmZlci5nZXQoKS5mbHVzaChyZW5kZXJlciwgMCwgdGV4dERhdGFCdWZmZXIuZ2V0KCku
Z2V0U2l6ZSgpKSk7CisgICAgQU5HTEVfVFJZKGdyYXBoRGF0YUJ1ZmZlci5nZXQoKS5mbHVzaChy
ZW5kZXJlciwgMCwgZ3JhcGhEYXRhQnVmZmVyLmdldCgpLmdldFNpemUoKSkpOworICAgIHRleHRE
YXRhQnVmZmVyLmdldCgpLnVubWFwKHJlbmRlcmVyKTsKKyAgICBncmFwaERhdGFCdWZmZXIuZ2V0
KCkudW5tYXAocmVuZGVyZXIpOwogCiAgICAgVXRpbHNWazo6T3ZlcmxheURyYXdQYXJhbWV0ZXJz
IHBhcmFtczsKICAgICBwYXJhbXMuc3ViZ3JvdXBTaXplWzBdID0gbVN1Ymdyb3VwU2l6ZVswXTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vT3ZlcmxheVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL092ZXJsYXlWay5oCmluZGV4IDY4MTg4ZGMzOWVhMjlkM2UyNDkz
YmNiNDQ1YzJlMjEwNzk4MGI0OGYuLmVjNzRjZjA2NjdhMGEyMTc2NDIyYWM1NDdmNmJmZDE3N2Uw
OTIxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vT3ZlcmxheVZrLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9PdmVybGF5VmsuaApAQCAtMTEsNiArMTEsNyBA
QAogI2RlZmluZSBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fT1ZFUkxBWVZLX0hfCiAKICNpbmNs
dWRlICJjb21tb24vYW5nbGV1dGlscy5oIgorI2luY2x1ZGUgImxpYkFOR0xFL092ZXJsYXkuaCIK
ICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9PdmVybGF5SW1wbC5oIgogI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWxwZXJzLmgiCiAKQEAgLTMxLDYgKzMyLDggQEAg
Y2xhc3MgT3ZlcmxheVZrIDogcHVibGljIE92ZXJsYXlJbXBsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdms6OkltYWdlSGVscGVyICppbWFnZVRvUHJlc2VudCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB2azo6SW1hZ2VWaWV3ICppbWFnZVRvUHJlc2VudFZpZXcpOwog
CisgICAgdWludDMyX3QgZ2V0RW5hYmxlZFdpZGdldENvdW50KCkgY29uc3QgeyByZXR1cm4gbVN0
YXRlLmdldEVuYWJsZWRXaWRnZXRDb3VudCgpOyB9CisKICAgcHJpdmF0ZToKICAgICBhbmdsZTo6
UmVzdWx0IGNyZWF0ZUZvbnQoQ29udGV4dFZrICpjb250ZXh0VmspOwogICAgIGFuZ2xlOjpSZXN1
bHQgY3VsbFdpZGdldHMoQ29udGV4dFZrICpjb250ZXh0VmspOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Qcm9ncmFtRXhl
Y3V0YWJsZVZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vUHJvZ3JhbUV4ZWN1dGFibGVWay5jcHAKaW5kZXggODUzNmFiMDBmOTc3MDky
NDc4NDU3OGI4Zjk0MDQ5NWM0MWNmMTFmZC4uNTVhNjEyYTUwOTRlZGYwYzQ1OGIyMWYxYWIzMzI0
MzQyYjdkMWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9Qcm9ncmFtRXhlY3V0YWJsZVZrLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1FeGVj
dXRhYmxlVmsuY3BwCkBAIC0xMSw2ICsxMSw4IEBACiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVy
ZXIvZ2xzbGFuZ193cmFwcGVyX3V0aWxzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL0J1ZmZlclZrLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ds
c2xhbmdXcmFwcGVyVmsuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJv
Z3JhbVBpcGVsaW5lVmsuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJv
Z3JhbVZrLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1RleHR1cmVWay5o
IgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9UcmFuc2Zvcm1GZWVkYmFja1Zr
LmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlbHBlcnMuaCIKQEAg
LTE4LDYgKzIwLDMwIEBACiAKIG5hbWVzcGFjZSByeAogeworbmFtZXNwYWNlCit7Citjb25zdGV4
cHIgZ2w6OlNoYWRlck1hcDx2azo6UGlwZWxpbmVTdGFnZT4ga1BpcGVsaW5lU3RhZ2VTaGFkZXJN
YXAgPSB7CisgICAge2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgsIHZrOjpQaXBlbGluZVN0YWdlOjpW
ZXJ0ZXhTaGFkZXJ9LAorICAgIHtnbDo6U2hhZGVyVHlwZTo6RnJhZ21lbnQsIHZrOjpQaXBlbGlu
ZVN0YWdlOjpGcmFnbWVudFNoYWRlcn0sCisgICAge2dsOjpTaGFkZXJUeXBlOjpHZW9tZXRyeSwg
dms6OlBpcGVsaW5lU3RhZ2U6Okdlb21ldHJ5U2hhZGVyfSwKKyAgICB7Z2w6OlNoYWRlclR5cGU6
OkNvbXB1dGUsIHZrOjpQaXBlbGluZVN0YWdlOjpDb21wdXRlU2hhZGVyfSwKK307CisKK1ZrRGV2
aWNlU2l6ZSBHZXRTaGFkZXJCdWZmZXJCaW5kaW5nU2l6ZShjb25zdCBnbDo6T2Zmc2V0QmluZGlu
Z1BvaW50ZXI8Z2w6OkJ1ZmZlcj4gJmJ1ZmZlckJpbmRpbmcpCit7CisgICAgaWYgKGJ1ZmZlckJp
bmRpbmcuZ2V0U2l6ZSgpICE9IDApCisgICAgeworICAgICAgICByZXR1cm4gYnVmZmVyQmluZGlu
Zy5nZXRTaXplKCk7CisgICAgfQorICAgIC8vIElmIHNpemUgaXMgMCwgd2UgY2FuJ3QgYWx3YXlz
IHVzZSBWS19XSE9MRV9TSVpFIChvciBidWZmZXJIZWxwZXIuZ2V0U2l6ZSgpKSwgYXMgdGhlCisg
ICAgLy8gYmFja2luZyBidWZmZXIgbWF5IGJlIGxhcmdlciB0aGFuIG1heCpCdWZmZXJSYW5nZS4g
IEluIHRoYXQgY2FzZSwgd2UgdXNlIHRoZSBiYWNraW5nCisgICAgLy8gYnVmZmVyIHNpemUgKHdo
YXQncyBsZWZ0IGFmdGVyIG9mZnNldCkuCisgICAgY29uc3QgZ2w6OkJ1ZmZlciAqYnVmZmVyR0wg
PSBidWZmZXJCaW5kaW5nLmdldCgpOworICAgIEFTU0VSVChidWZmZXJHTCk7CisgICAgQVNTRVJU
KGJ1ZmZlckdMLT5nZXRTaXplKCkgPj0gYnVmZmVyQmluZGluZy5nZXRPZmZzZXQoKSk7CisgICAg
cmV0dXJuIGJ1ZmZlckdMLT5nZXRTaXplKCkgLSBidWZmZXJCaW5kaW5nLmdldE9mZnNldCgpOwor
fQorfSAgLy8gbmFtZXNwYWNlCiAKIERlZmF1bHRVbmlmb3JtQmxvY2s6OkRlZmF1bHRVbmlmb3Jt
QmxvY2soKSA9IGRlZmF1bHQ7CiAKQEAgLTI5LDEzICs1NSwxNCBAQCBTaGFkZXJJbmZvOjpTaGFk
ZXJJbmZvKCkge30KIFNoYWRlckluZm86On5TaGFkZXJJbmZvKCkgPSBkZWZhdWx0OwogCiBhbmds
ZTo6UmVzdWx0IFNoYWRlckluZm86OmluaXRTaGFkZXJzKENvbnRleHRWayAqY29udGV4dFZrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyQml0
U2V0ICZsaW5rZWRTaGFkZXJTdGFnZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpTaGFkZXJNYXA8c3RkOjpzdHJpbmc+ICZzaGFkZXJTb3VyY2VzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJNYXBJbnRl
cmZhY2VWYXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01hcCkKIHsKICAgICBBU1NFUlQoIXZh
bGlkKCkpOwogCi0gICAgQU5HTEVfVFJZKEdsc2xhbmdXcmFwcGVyVms6OkdldFNoYWRlckNvZGUo
Y29udGV4dFZrLCBjb250ZXh0VmstPmdldENhcHMoKSwgc2hhZGVyU291cmNlcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZUluZm9NYXAsICZt
U3BpcnZCbG9icykpOworICAgIEFOR0xFX1RSWShHbHNsYW5nV3JhcHBlclZrOjpHZXRTaGFkZXJD
b2RlKGNvbnRleHRWaywgbGlua2VkU2hhZGVyU3RhZ2VzLCBjb250ZXh0VmstPmdldENhcHMoKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkZXJTb3Vy
Y2VzLCB2YXJpYWJsZUluZm9NYXAsICZtU3BpcnZCbG9icykpOwogCiAgICAgbUlzSW5pdGlhbGl6
ZWQgPSB0cnVlOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTg0LDI2
ICsxMTEsMzkgQEAgUHJvZ3JhbUluZm86OlByb2dyYW1JbmZvKCkge30KIFByb2dyYW1JbmZvOjp+
UHJvZ3JhbUluZm8oKSA9IGRlZmF1bHQ7CiAKIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbUluZm86Omlu
aXRQcm9ncmFtKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNoYWRlckluZm8gJnNoYWRlcklu
Zm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZUxp
bmVSYXN0ZXJFbXVsYXRpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBTaGFkZXJNYXBJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01h
cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyYW1UcmFuc2Zv
cm1PcHRpb25CaXRzIG9wdGlvbkJpdHMpCiB7CiAgICAgY29uc3QgZ2w6OlNoYWRlck1hcDxTcGly
dkJsb2I+ICZzcGlydkJsb2JzID0gc2hhZGVySW5mby5nZXRTcGlydkJsb2JzKCk7CiAKLSAgICBm
b3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbDo6QWxsU2hhZGVyVHlwZXMo
KSkKLSAgICB7Ci0gICAgICAgIGNvbnN0IFNwaXJ2QmxvYiAmc3BpcnZCbG9iID0gc3BpcnZCbG9i
c1tzaGFkZXJUeXBlXTsKKyAgICBjb25zdCBTcGlydkJsb2IgJnNwaXJ2QmxvYiA9IHNwaXJ2Qmxv
YnNbc2hhZGVyVHlwZV07CiAKLSAgICAgICAgaWYgKCFzcGlydkJsb2IuZW1wdHkoKSkKKyAgICBp
ZiAoIXNwaXJ2QmxvYi5lbXB0eSgpKQorICAgIHsKKyAgICAgICAgaWYgKHNoYWRlclR5cGUgPT0g
Z2w6OlNoYWRlclR5cGU6OkZyYWdtZW50ICYmCisgICAgICAgICAgICBvcHRpb25CaXRzW1Byb2dy
YW1UcmFuc2Zvcm1PcHRpb246OlJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbl0p
CisgICAgICAgIHsKKyAgICAgICAgICAgIFNwaXJ2QmxvYiBzcGlydkJsb2JUcmFuc2Zvcm1lZDsK
KyAgICAgICAgICAgIEFOR0xFX1RSWShHbHNsYW5nV3JhcHBlclZrOjpUcmFuc2Zvcm1TcGlyVihj
b250ZXh0VmssIHNoYWRlclR5cGUsIHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVJbmZvTWFwW3NoYWRlclR5cGVdLCBz
cGlydkJsb2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJnNwaXJ2QmxvYlRyYW5zZm9ybWVkKSk7CisgICAgICAgICAgICBBTkdMRV9UUlko
dms6OkluaXRTaGFkZXJBbmRTZXJpYWwoY29udGV4dFZrLCAmbVNoYWRlcnNbc2hhZGVyVHlwZV0u
Z2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bp
cnZCbG9iVHJhbnNmb3JtZWQuZGF0YSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNwaXJ2QmxvYlRyYW5zZm9ybWVkLnNpemUoKSAqIHNpemVvZih1aW50
MzJfdCkpKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCiAgICAgICAgIHsKICAgICAgICAgICAg
IEFOR0xFX1RSWSh2azo6SW5pdFNoYWRlckFuZFNlcmlhbChjb250ZXh0VmssICZtU2hhZGVyc1tz
aGFkZXJUeXBlXS5nZXQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcGlydkJsb2IuZGF0YSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNwaXJ2QmxvYi5zaXplKCkgKiBzaXplb2YodWludDMyX3QpKSk7Ci0K
LSAgICAgICAgICAgIG1Qcm9ncmFtSGVscGVyLnNldFNoYWRlcihzaGFkZXJUeXBlLCAmbVNoYWRl
cnNbc2hhZGVyVHlwZV0pOwogICAgICAgICB9CisKKyAgICAgICAgbVByb2dyYW1IZWxwZXIuc2V0
U2hhZGVyKHNoYWRlclR5cGUsICZtU2hhZGVyc1tzaGFkZXJUeXBlXSk7CiAgICAgfQogCi0gICAg
aWYgKGVuYWJsZUxpbmVSYXN0ZXJFbXVsYXRpb24pCisgICAgaWYgKG9wdGlvbkJpdHNbUHJvZ3Jh
bVRyYW5zZm9ybU9wdGlvbjo6RW5hYmxlTGluZVJhc3RlckVtdWxhdGlvbl0pCiAgICAgewogICAg
ICAgICBtUHJvZ3JhbUhlbHBlci5lbmFibGVTcGVjaWFsaXphdGlvbkNvbnN0YW50KAogICAgICAg
ICAgICAgc2g6OnZrOjpTcGVjaWFsaXphdGlvbkNvbnN0YW50SWQ6OkxpbmVSYXN0ZXJFbXVsYXRp
b24pOwpAQCAtMTIzLDcgKzE2MywxMSBAQCB2b2lkIFByb2dyYW1JbmZvOjpyZWxlYXNlKENvbnRl
eHRWayAqY29udGV4dFZrKQogfQogCiBQcm9ncmFtRXhlY3V0YWJsZVZrOjpQcm9ncmFtRXhlY3V0
YWJsZVZrKCkKLSAgICA6IG1FbXB0eURlc2NyaXB0b3JTZXRze30sIG1OdW1EZWZhdWx0VW5pZm9y
bURlc2NyaXB0b3JzKDApLCBtRHluYW1pY0J1ZmZlck9mZnNldHN7fQorICAgIDogbUVtcHR5RGVz
Y3JpcHRvclNldHN7fSwKKyAgICAgIG1OdW1EZWZhdWx0VW5pZm9ybURlc2NyaXB0b3JzKDApLAor
ICAgICAgbUR5bmFtaWNCdWZmZXJPZmZzZXRze30sCisgICAgICBtUHJvZ3JhbShudWxscHRyKSwK
KyAgICAgIG1Qcm9ncmFtUGlwZWxpbmUobnVsbHB0cikKIHt9CiAKIFByb2dyYW1FeGVjdXRhYmxl
Vms6On5Qcm9ncmFtRXhlY3V0YWJsZVZrKCkgPSBkZWZhdWx0OwpAQCAtMTQzLDYgKzE4Nyw3IEBA
IHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6cmVzZXQoQ29udGV4dFZrICpjb250ZXh0VmspCiAg
ICAgbURlc2NyaXB0b3JTZXRzLmNsZWFyKCk7CiAgICAgbUVtcHR5RGVzY3JpcHRvclNldHMuZmls
bChWS19OVUxMX0hBTkRMRSk7CiAgICAgbU51bURlZmF1bHRVbmlmb3JtRGVzY3JpcHRvcnMgPSAw
OworICAgIG1UcmFuc2Zvcm1PcHRpb25CaXRzLnJlc2V0KCk7CiAKICAgICBmb3IgKHZrOjpSZWZD
b3VudGVkRGVzY3JpcHRvclBvb2xCaW5kaW5nICZiaW5kaW5nIDogbURlc2NyaXB0b3JQb29sQmlu
ZGluZ3MpCiAgICAgewpAQCAtMTU3LDggKzIwMiwxMSBAQCB2b2lkIFByb2dyYW1FeGVjdXRhYmxl
Vms6OnJlc2V0KENvbnRleHRWayAqY29udGV4dFZrKQogICAgIG1UZXh0dXJlRGVzY3JpcHRvcnND
YWNoZS5jbGVhcigpOwogICAgIG1EZXNjcmlwdG9yQnVmZmVyc0NhY2hlLmNsZWFyKCk7CiAKLSAg
ICBtRGVmYXVsdFByb2dyYW1JbmZvLnJlbGVhc2UoY29udGV4dFZrKTsKLSAgICBtTGluZVJhc3Rl
clByb2dyYW1JbmZvLnJlbGVhc2UoY29udGV4dFZrKTsKKyAgICBmb3IgKFByb2dyYW1JbmZvICZw
cm9ncmFtSW5mbyA6IG1HcmFwaGljc1Byb2dyYW1JbmZvcykKKyAgICB7CisgICAgICAgIHByb2dy
YW1JbmZvLnJlbGVhc2UoY29udGV4dFZrKTsKKyAgICB9CisgICAgbUNvbXB1dGVQcm9ncmFtSW5m
by5yZWxlYXNlKGNvbnRleHRWayk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxyeDo6TGlua0V2ZW50
PiBQcm9ncmFtRXhlY3V0YWJsZVZrOjpsb2FkKGdsOjpCaW5hcnlJbnB1dFN0cmVhbSAqc3RyZWFt
KQpAQCAtMjE4LDYgKzI2Niw1MiBAQCB2b2lkIFByb2dyYW1FeGVjdXRhYmxlVms6OmNsZWFyVmFy
aWFibGVJbmZvTWFwKCkKICAgICB9CiB9CiAKK1Byb2dyYW1WayAqUHJvZ3JhbUV4ZWN1dGFibGVW
azo6Z2V0U2hhZGVyUHJvZ3JhbShjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlNoYWRlclR5cGUgc2hh
ZGVyVHlwZSkgY29uc3QKK3sKKyAgICBpZiAobVByb2dyYW0pCisgICAgeworICAgICAgICBjb25z
dCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1Qcm9ncmFtLT5nZXRTdGF0
ZSgpLmdldEV4ZWN1dGFibGUoKTsKKyAgICAgICAgaWYgKGdsRXhlY3V0YWJsZS5oYXNMaW5rZWRT
aGFkZXJTdGFnZShzaGFkZXJUeXBlKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1Q
cm9ncmFtOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKG1Qcm9ncmFtUGlwZWxpbmUp
CisgICAgeworICAgICAgICByZXR1cm4gbVByb2dyYW1QaXBlbGluZS0+Z2V0U2hhZGVyUHJvZ3Jh
bShnbFN0YXRlLCBzaGFkZXJUeXBlKTsKKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVnLmNvbS8zNTcwOiBNb3ZlL0NvcHkgYWxsIG9mIHRo
ZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gaW50bworLy8gdGhlIFByb2dyYW1FeGVjdXRhYmxlLCBz
byB0aGlzIGZ1bmN0aW9uIGNhbiBiZSByZW1vdmVkLgordm9pZCBQcm9ncmFtRXhlY3V0YWJsZVZr
OjpmaWxsUHJvZ3JhbVN0YXRlTWFwKAorICAgIGNvbnN0IENvbnRleHRWayAqY29udGV4dFZrLAor
ICAgIGdsOjpTaGFkZXJNYXA8Y29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAqPiAqcHJvZ3JhbVN0YXRl
c091dCkKK3sKKyAgICBBU1NFUlQobVByb2dyYW0gfHwgbVByb2dyYW1QaXBlbGluZSk7CisgICAg
aWYgKG1Qcm9ncmFtKQorICAgIHsKKyAgICAgICAgbVByb2dyYW0tPmZpbGxQcm9ncmFtU3RhdGVN
YXAocHJvZ3JhbVN0YXRlc091dCk7CisgICAgfQorICAgIGVsc2UgaWYgKG1Qcm9ncmFtUGlwZWxp
bmUpCisgICAgeworICAgICAgICBtUHJvZ3JhbVBpcGVsaW5lLT5maWxsUHJvZ3JhbVN0YXRlTWFw
KGNvbnRleHRWaywgcHJvZ3JhbVN0YXRlc091dCk7CisgICAgfQorfQorCitjb25zdCBnbDo6UHJv
Z3JhbUV4ZWN1dGFibGUgJlByb2dyYW1FeGVjdXRhYmxlVms6OmdldEdsRXhlY3V0YWJsZSgpCit7
CisgICAgQVNTRVJUKG1Qcm9ncmFtIHx8IG1Qcm9ncmFtUGlwZWxpbmUpOworICAgIGlmIChtUHJv
Z3JhbSkKKyAgICB7CisgICAgICAgIHJldHVybiBtUHJvZ3JhbS0+Z2V0U3RhdGUoKS5nZXRFeGVj
dXRhYmxlKCk7CisgICAgfQorICAgIHJldHVybiBtUHJvZ3JhbVBpcGVsaW5lLT5nZXRTdGF0ZSgp
LmdldFByb2dyYW1FeGVjdXRhYmxlKCk7Cit9CisKIHVpbnQzMl90IEdldEludGVyZmFjZUJsb2Nr
QXJyYXlTaXplKGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpJbnRlcmZhY2VCbG9jaz4gJmJsb2NrcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJ1ZmZlckluZGV4
KQogewpAQCAtMzQzLDggKzQzNyw3IEBAIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6YWRkSW1h
Z2VEZXNjcmlwdG9yU2V0RGVzYyhjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9nCiAgICAgICAg
IC8vIFRoZSBmcm9udC1lbmQgYWx3YXlzIGJpbmRzIGFycmF5IGltYWdlIHVuaXRzIHNlcXVlbnRp
YWxseS4KICAgICAgICAgdWludDMyX3QgYXJyYXlTaXplID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KGltYWdlQmluZGluZy5ib3VuZEltYWdlVW5pdHMuc2l6ZSgpKTsKIAotICAgICAgICBmb3IgKGNv
bnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOgotICAgICAgICAgICAgIHByb2dyYW1TdGF0
ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpLmdldExpbmtlZFNoYWRlclN0YWdlcygpKQorICAgICAg
ICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBwcm9ncmFtU3RhdGUuZ2V0
RXhlY3V0YWJsZSgpLmdldExpbmtlZFNoYWRlclN0YWdlcygpKQogICAgICAgICB7CiAgICAgICAg
ICAgICBpZiAoIWltYWdlVW5pZm9ybS5pc0FjdGl2ZShzaGFkZXJUeXBlKSkKICAgICAgICAgICAg
IHsKQEAgLTM5OCw4ICs0OTEsNyBAQCB2b2lkIFByb2dyYW1FeGVjdXRhYmxlVms6OmFkZFRleHR1
cmVEZXNjcmlwdG9yU2V0RGVzYyhjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcgogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFk
ZXJUeXBlIDoKLSAgICAgICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUo
KS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICAgICAgZm9yIChjb25zdCBnbDo6U2hhZGVy
VHlwZSBzaGFkZXJUeXBlIDogcHJvZ3JhbVN0YXRlLmdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRT
aGFkZXJTdGFnZXMoKSkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFzYW1wbGVyVW5pZm9y
bS5pc0FjdGl2ZShzaGFkZXJUeXBlKSkKICAgICAgICAgICAgIHsKQEAgLTQxNSw4ICs1MDcsOSBA
QCB2b2lkIFByb2dyYW1FeGVjdXRhYmxlVms6OmFkZFRleHR1cmVEZXNjcmlwdG9yU2V0RGVzYyhj
b25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcgogICAgIH0KIH0KIAotdm9pZCBXcml0ZUJ1ZmZlckRl
c2NyaXB0b3JTZXRCaW5kaW5nKGNvbnN0IGdsOjpPZmZzZXRCaW5kaW5nUG9pbnRlcjxnbDo6QnVm
ZmVyPiAmYnVmZmVyQmluZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWa0RldmljZVNpemUgbWF4U2l6ZSwKK3ZvaWQgV3JpdGVCdWZmZXJEZXNjcmlwdG9yU2V0Qmlu
ZGluZyhjb25zdCB2azo6QnVmZmVySGVscGVyICZidWZmZXIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXplIG9mZnNldCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgc2l6ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa0Rlc2NyaXB0b3JTZXQgZGVzY1NldCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBWa0Rlc2NyaXB0b3JUeXBlIGRlc2NUeXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJpbmRpbmdJbmRleCwK
QEAgLTQyNSwyOSArNTE4LDYgQEAgdm9pZCBXcml0ZUJ1ZmZlckRlc2NyaXB0b3JTZXRCaW5kaW5n
KGNvbnN0IGdsOjpPZmZzZXRCaW5kaW5nUG9pbnRlcjxnbDo6QnVmZmVyPgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGVzY3JpcHRvckJ1ZmZlckluZm8gKmJ1ZmZlcklu
Zm9PdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtXcml0ZURlc2Ny
aXB0b3JTZXQgKndyaXRlSW5mb091dCkKIHsKLSAgICBnbDo6QnVmZmVyICpidWZmZXIgPSBidWZm
ZXJCaW5kaW5nLmdldCgpOwotICAgIEFTU0VSVChidWZmZXIgIT0gbnVsbHB0cik7Ci0KLSAgICAv
LyBNYWtlIHN1cmUgdGhlcmUncyBubyBwb3NzaWJsZSB1bmRlci9vdmVyZmxvdyB3aXRoIGJpbmRp
bmcgc2l6ZS4KLSAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihWa0RldmljZVNpemUpID49IHNpemVv
ZihidWZmZXJCaW5kaW5nLmdldFNpemUoKSksCi0gICAgICAgICAgICAgICAgICAiVmtEZXZpY2VT
aXplIHRvbyBzbWFsbCIpOwotICAgIEFTU0VSVChidWZmZXJCaW5kaW5nLmdldFNpemUoKSA+PSAw
KTsKLQotICAgIEJ1ZmZlclZrICpidWZmZXJWayAgICAgICAgICAgICA9IHZrOjpHZXRJbXBsKGJ1
ZmZlcik7Ci0gICAgVmtEZXZpY2VTaXplIG9mZnNldCAgICAgICAgICAgID0gYnVmZmVyQmluZGlu
Zy5nZXRPZmZzZXQoKTsKLSAgICBWa0RldmljZVNpemUgc2l6ZSAgICAgICAgICAgICAgPSBidWZm
ZXJCaW5kaW5nLmdldFNpemUoKTsKLSAgICB2azo6QnVmZmVySGVscGVyICZidWZmZXJIZWxwZXIg
PSBidWZmZXJWay0+Z2V0QnVmZmVyKCk7Ci0KLSAgICAvLyBJZiBzaXplIGlzIDAsIHdlIGNhbid0
IGFsd2F5cyB1c2UgVktfV0hPTEVfU0laRSAob3IgYnVmZmVySGVscGVyLmdldFNpemUoKSksIGFz
IHRoZQotICAgIC8vIGJhY2tpbmcgYnVmZmVyIG1heSBiZSBsYXJnZXIgdGhhbiBtYXgqQnVmZmVy
UmFuZ2UuICBJbiB0aGF0IGNhc2UsIHdlIHVzZSB0aGUgbWluaW11bSBvZgotICAgIC8vIHRoZSBi
YWNraW5nIGJ1ZmZlciBzaXplICh3aGF0J3MgbGVmdCBhZnRlciBvZmZzZXQpIGFuZCB0aGUgYnVm
ZmVyIHNpemUgYXMgZGVmaW5lZCBieSB0aGUKLSAgICAvLyBzaGFkZXIuICBUaGF0IGxhdHRlciBp
cyBvbmx5IHZhbGlkIGZvciBVQk9zLCBhcyBTU0JPcyBtYXkgaGF2ZSB2YXJpYWJsZSBsZW5ndGgg
YXJyYXlzLgotICAgIHNpemUgPSBzaXplID4gMCA/IHNpemUgOiAoYnVmZmVySGVscGVyLmdldFNp
emUoKSAtIG9mZnNldCk7Ci0gICAgaWYgKG1heFNpemUgPiAwKQotICAgIHsKLSAgICAgICAgc2l6
ZSA9IHN0ZDo6bWluKHNpemUsIG1heFNpemUpOwotICAgIH0KLQogICAgIC8vIElmIHJlcXVpcmVk
T2Zmc2V0QWxpZ25tZW50IGlzIDAsIHRoZSBidWZmZXIgb2Zmc2V0IGlzIGd1YXJhbnRlZWQgdG8g
aGF2ZSB0aGUgbmVjZXNzYXJ5CiAgICAgLy8gYWxpZ25tZW50IHRocm91Z2ggb3RoZXIgbWVhbnMg
KHRoZSBiYWNrZW5kIHNwZWNpZnlpbmcgdGhlIGFsaWdubWVudCB0aHJvdWdoIGEgR0xFUyBsaW1p
dCB0aGF0CiAgICAgLy8gdGhlIGZyb250ZW5kIHRoZW4gZW5mb3JjZXMpLiAgSWYgaXQncyBub3Qg
MCwgd2UgbmVlZCB0byBiaW5kIHRoZSBidWZmZXIgYXQgYW4gb2Zmc2V0IHRoYXQncwpAQCAtNDYx
LDcgKzUzMSw3IEBAIHZvaWQgV3JpdGVCdWZmZXJEZXNjcmlwdG9yU2V0QmluZGluZyhjb25zdCBn
bDo6T2Zmc2V0QmluZGluZ1BvaW50ZXI8Z2w6OkJ1ZmZlcj4KICAgICAgICAgc2l6ZSArPSBvZmZz
ZXREaWZmOwogICAgIH0KIAotICAgIGJ1ZmZlckluZm9PdXQtPmJ1ZmZlciA9IGJ1ZmZlckhlbHBl
ci5nZXRCdWZmZXIoKS5nZXRIYW5kbGUoKTsKKyAgICBidWZmZXJJbmZvT3V0LT5idWZmZXIgPSBi
dWZmZXIuZ2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7CiAgICAgYnVmZmVySW5mb091dC0+b2Zmc2V0
ID0gb2Zmc2V0OwogICAgIGJ1ZmZlckluZm9PdXQtPnJhbmdlICA9IHNpemU7CiAKQEAgLTQ3OCwx
NSArNTQ4LDg2IEBAIHZvaWQgV3JpdGVCdWZmZXJEZXNjcmlwdG9yU2V0QmluZGluZyhjb25zdCBn
bDo6T2Zmc2V0QmluZGluZ1BvaW50ZXI8Z2w6OkJ1ZmZlcj4KICAgICBBU1NFUlQod3JpdGVJbmZv
T3V0LT5wQnVmZmVySW5mb1swXS5idWZmZXIgIT0gVktfTlVMTF9IQU5ETEUpOwogfQogCi1hbmds
ZTo6UmVzdWx0IFByb2dyYW1FeGVjdXRhYmxlVms6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0KGNvbnN0
IGdsOjpDb250ZXh0ICpnbENvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAmZ2xF
eGVjdXRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUpCit2b2lkIFBy
b2dyYW1FeGVjdXRhYmxlVms6OnVwZGF0ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbihD
b250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICBjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUgPSBj
b250ZXh0VmstPmdldFN0YXRlKCk7CisKKyAgICBtVHJhbnNmb3JtT3B0aW9uQml0c1tQcm9ncmFt
VHJhbnNmb3JtT3B0aW9uOjpSZW1vdmVFYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6YXRpb25dID0g
ZmFsc2U7CisgICAgaWYgKCFnbFN0YXRlLmlzRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9u
QWxsb3dlZCgpKQorICAgIHsKKyAgICAgICAgUHJvZ3JhbVZrICpwcm9ncmFtVmsgPSBnZXRTaGFk
ZXJQcm9ncmFtKGdsU3RhdGUsIGdsOjpTaGFkZXJUeXBlOjpGcmFnbWVudCk7CisgICAgICAgIGlm
IChwcm9ncmFtVmstPmdldFN0YXRlKCkuaGFzRWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9u
KCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1UcmFuc2Zvcm1PcHRpb25CaXRzW1Byb2dyYW1U
cmFuc2Zvcm1PcHRpb246OlJlbW92ZUVhcmx5RnJhZ21lbnRUZXN0c09wdGltaXphdGlvbl0gPQor
ICAgICAgICAgICAgICAgIHRydWU7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2FuZ2xlOjpSZXN1
bHQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6Z2V0R3JhcGhpY3NQaXBlbGluZSgKKyAgICBDb250ZXh0
VmsgKmNvbnRleHRWaywKKyAgICBnbDo6UHJpbWl0aXZlTW9kZSBtb2RlLAorICAgIGNvbnN0IHZr
OjpHcmFwaGljc1BpcGVsaW5lRGVzYyAmZGVzYywKKyAgICBjb25zdCBnbDo6QXR0cmlidXRlc01h
c2sgJmFjdGl2ZUF0dHJpYkxvY2F0aW9ucywKKyAgICBjb25zdCB2azo6R3JhcGhpY3NQaXBlbGlu
ZURlc2MgKipkZXNjUHRyT3V0LAorICAgIHZrOjpQaXBlbGluZUhlbHBlciAqKnBpcGVsaW5lT3V0
KQoreworICAgIGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSA9IGNvbnRleHRWay0+Z2V0U3RhdGUo
KTsKKyAgICBtVHJhbnNmb3JtT3B0aW9uQml0c1tQcm9ncmFtVHJhbnNmb3JtT3B0aW9uOjpFbmFi
bGVMaW5lUmFzdGVyRW11bGF0aW9uXSA9CisgICAgICAgIGNvbnRleHRWay0+aXNCcmVzZW5oYW1F
bXVsYXRpb25FbmFibGVkKG1vZGUpOworICAgIFByb2dyYW1JbmZvICZwcm9ncmFtSW5mbyAgICAg
ICAgID0gZ2V0R3JhcGhpY3NQcm9ncmFtSW5mbyhtVHJhbnNmb3JtT3B0aW9uQml0cyk7CisgICAg
UmVuZGVyZXJWayAqcmVuZGVyZXIgICAgICAgICAgICAgPSBjb250ZXh0VmstPmdldFJlbmRlcmVy
KCk7CisgICAgdms6OlBpcGVsaW5lQ2FjaGUgKnBpcGVsaW5lQ2FjaGUgPSBudWxscHRyOworCisg
ICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICpnbEV4ZWN1dGFibGUgPSBnbFN0YXRlLmdl
dFByb2dyYW1FeGVjdXRhYmxlKCk7CisgICAgQVNTRVJUKGdsRXhlY3V0YWJsZSAmJiAhZ2xFeGVj
dXRhYmxlLT5pc0NvbXB1dGUoKSk7CisKKyAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNo
YWRlclR5cGUgOiBnbEV4ZWN1dGFibGUtPmdldExpbmtlZFNoYWRlclN0YWdlcygpKQorICAgIHsK
KyAgICAgICAgUHJvZ3JhbVZrICpwcm9ncmFtVmsgPSBnZXRTaGFkZXJQcm9ncmFtKGdsU3RhdGUs
IHNoYWRlclR5cGUpOworICAgICAgICBpZiAocHJvZ3JhbVZrKQorICAgICAgICB7CisgICAgICAg
ICAgICBBTkdMRV9UUlkocHJvZ3JhbVZrLT5pbml0R3JhcGhpY3NTaGFkZXJQcm9ncmFtKGNvbnRl
eHRWaywgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbVRyYW5zZm9ybU9wdGlvbkJpdHMsIHByb2dyYW1JbmZvKSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2azo6U2hhZGVyUHJvZ3JhbUhlbHBlciAqc2hhZGVy
UHJvZ3JhbSA9IHByb2dyYW1JbmZvLmdldFNoYWRlclByb2dyYW0oKTsKKyAgICBBU1NFUlQoc2hh
ZGVyUHJvZ3JhbSk7CisgICAgQU5HTEVfVFJZKHJlbmRlcmVyLT5nZXRQaXBlbGluZUNhY2hlKCZw
aXBlbGluZUNhY2hlKSk7CisgICAgcmV0dXJuIHNoYWRlclByb2dyYW0tPmdldEdyYXBoaWNzUGlw
ZWxpbmUoCisgICAgICAgIGNvbnRleHRWaywgJmNvbnRleHRWay0+Z2V0UmVuZGVyUGFzc0NhY2hl
KCksICpwaXBlbGluZUNhY2hlLAorICAgICAgICBjb250ZXh0VmstPmdldEN1cnJlbnRRdWV1ZVNl
cmlhbCgpLCBnZXRQaXBlbGluZUxheW91dCgpLCBkZXNjLCBhY3RpdmVBdHRyaWJMb2NhdGlvbnMs
CisgICAgICAgIGdsU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKS0+Z2V0QXR0cmlidXRlc1R5
cGVNYXNrKCksIGRlc2NQdHJPdXQsIHBpcGVsaW5lT3V0KTsKK30KKworYW5nbGU6OlJlc3VsdCBQ
cm9ncmFtRXhlY3V0YWJsZVZrOjpnZXRDb21wdXRlUGlwZWxpbmUoQ29udGV4dFZrICpjb250ZXh0
VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2azo6UGlwZWxpbmVBbmRTZXJpYWwgKipwaXBlbGluZU91dCkKK3sKKyAgICBjb25zdCBnbDo6
U3RhdGUgJmdsU3RhdGUgICAgICAgICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0U3RhdGUoKTsK
KyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgKmdsRXhlY3V0YWJsZSA9IGdsU3RhdGUu
Z2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsKKyAgICBBU1NFUlQoZ2xFeGVjdXRhYmxlICYmIGdsRXhl
Y3V0YWJsZS0+aXNDb21wdXRlKCkpOworCisgICAgUHJvZ3JhbVZrICpwcm9ncmFtVmsgPSBnZXRT
aGFkZXJQcm9ncmFtKGdsU3RhdGUsIGdsOjpTaGFkZXJUeXBlOjpDb21wdXRlKTsKKyAgICBBU1NF
UlQocHJvZ3JhbVZrKTsKKyAgICBQcm9ncmFtSW5mbyAmcHJvZ3JhbUluZm8gPSBnZXRDb21wdXRl
UHJvZ3JhbUluZm8oKTsKKyAgICBBTkdMRV9UUlkocHJvZ3JhbVZrLT5pbml0Q29tcHV0ZVByb2dy
YW0oY29udGV4dFZrLCBwcm9ncmFtSW5mbykpOworCisgICAgdms6OlNoYWRlclByb2dyYW1IZWxw
ZXIgKnNoYWRlclByb2dyYW0gPSBwcm9ncmFtSW5mby5nZXRTaGFkZXJQcm9ncmFtKCk7CisgICAg
QVNTRVJUKHNoYWRlclByb2dyYW0pOworICAgIHJldHVybiBzaGFkZXJQcm9ncmFtLT5nZXRDb21w
dXRlUGlwZWxpbmUoY29udGV4dFZrLCBnZXRQaXBlbGluZUxheW91dCgpLCBwaXBlbGluZU91dCk7
Cit9CisKK2FuZ2xlOjpSZXN1bHQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6Y3JlYXRlUGlwZWxpbmVM
YXlvdXQoY29uc3QgZ2w6OkNvbnRleHQgKmdsQ29udGV4dCkKIHsKICAgICBjb25zdCBnbDo6U3Rh
dGUgJmdsU3RhdGUgICAgICAgICAgICAgICAgICAgPSBnbENvbnRleHQtPmdldFN0YXRlKCk7CiAg
ICAgQ29udGV4dFZrICpjb250ZXh0VmsgICAgICAgICAgICAgICAgICAgICAgID0gdms6OkdldElt
cGwoZ2xDb250ZXh0KTsKICAgICBSZW5kZXJlclZrICpyZW5kZXJlciAgICAgICAgICAgICAgICAg
ICAgICAgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCk7CiAgICAgZ2w6OlRyYW5zZm9ybUZlZWRi
YWNrICp0cmFuc2Zvcm1GZWVkYmFjayAgID0gZ2xTdGF0ZS5nZXRDdXJyZW50VHJhbnNmb3JtRmVl
ZGJhY2soKTsKKyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSAg
PSBnZXRHbEV4ZWN1dGFibGUoKTsKICAgICBjb25zdCBnbDo6U2hhZGVyQml0U2V0ICZsaW5rZWRT
aGFkZXJTdGFnZXMgPSBnbEV4ZWN1dGFibGUuZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCk7CisgICAg
Z2w6OlNoYWRlck1hcDxjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICo+IHByb2dyYW1TdGF0ZXM7Cisg
ICAgZmlsbFByb2dyYW1TdGF0ZU1hcChjb250ZXh0VmssICZwcm9ncmFtU3RhdGVzKTsKIAogICAg
IHJlc2V0KGNvbnRleHRWayk7CiAKQEAgLTUwOSwxMCArNjUwLDEzIEBAIGFuZ2xlOjpSZXN1bHQg
UHJvZ3JhbUV4ZWN1dGFibGVWazo6Y3JlYXRlUGlwZWxpbmVMYXlvdXQoY29uc3QgZ2w6OkNvbnRl
eHQgKmdsQ29uCiAgICAgICAgIG1OdW1EZWZhdWx0VW5pZm9ybURlc2NyaXB0b3JzKys7CiAgICAg
fQogICAgIGJvb2wgaGFzVmVydGV4U2hhZGVyID0gZ2xFeGVjdXRhYmxlLmhhc0xpbmtlZFNoYWRl
clN0YWdlKGdsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgpOwotICAgIGJvb2wgaGFzWGZiVmFyeWluZ3Mg
ID0gIXByb2dyYW1TdGF0ZS5nZXRMaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKCkuZW1w
dHkoKTsKKyAgICBib29sIGhhc1hmYlZhcnlpbmdzID0KKyAgICAgICAgKHByb2dyYW1TdGF0ZXNb
Z2w6OlNoYWRlclR5cGU6OlZlcnRleF0gJiYKKyAgICAgICAgICFwcm9ncmFtU3RhdGVzW2dsOjpT
aGFkZXJUeXBlOjpWZXJ0ZXhdLT5nZXRMaW5rZWRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKCku
ZW1wdHkoKSk7CiAgICAgaWYgKGhhc1ZlcnRleFNoYWRlciAmJiB0cmFuc2Zvcm1GZWVkYmFjayAm
JiBoYXNYZmJWYXJ5aW5ncykKICAgICB7Ci0gICAgICAgIHNpemVfdCB4ZmJCdWZmZXJDb3VudCAg
ICAgICAgICAgICAgICAgICAgPSBwcm9ncmFtU3RhdGUuZ2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZm
ZXJDb3VudCgpOworICAgICAgICBzaXplX3QgeGZiQnVmZmVyQ291bnQgPQorICAgICAgICAgICAg
cHJvZ3JhbVN0YXRlc1tnbDo6U2hhZGVyVHlwZTo6VmVydGV4XS0+Z2V0VHJhbnNmb3JtRmVlZGJh
Y2tCdWZmZXJDb3VudCgpOwogICAgICAgICBUcmFuc2Zvcm1GZWVkYmFja1ZrICp0cmFuc2Zvcm1G
ZWVkYmFja1ZrID0gdms6OkdldEltcGwodHJhbnNmb3JtRmVlZGJhY2spOwogICAgICAgICB0cmFu
c2Zvcm1GZWVkYmFja1ZrLT51cGRhdGVEZXNjcmlwdG9yU2V0TGF5b3V0KGNvbnRleHRWaywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtVmFy
aWFibGVJbmZvTWFwW2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXhdLApAQCAtNTI4LDE1ICs2NzIsMjIg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtRXhlY3V0YWJsZVZrOjpjcmVhdGVQaXBlbGluZUxheW91
dChjb25zdCBnbDo6Q29udGV4dCAqZ2xDb24KIAogICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5
cGUgc2hhZGVyVHlwZSA6IGxpbmtlZFNoYWRlclN0YWdlcykKICAgICB7Ci0gICAgICAgIGFkZElu
dGVyZmFjZUJsb2NrRGVzY3JpcHRvclNldERlc2MocHJvZ3JhbVN0YXRlLmdldFVuaWZvcm1CbG9j
a3MoKSwgc2hhZGVyVHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWS19ERVNDUklQVE9SX1RZUEVfVU5JRk9STV9CVUZGRVIsICZyZXNvdXJjZXNTZXREZXNj
KTsKLSAgICAgICAgYWRkSW50ZXJmYWNlQmxvY2tEZXNjcmlwdG9yU2V0RGVzYyhwcm9ncmFtU3Rh
dGUuZ2V0U2hhZGVyU3RvcmFnZUJsb2NrcygpLCBzaGFkZXJUeXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0RFU0NSSVBUT1JfVFlQRV9TVE9SQUdFX0JV
RkZFUiwgJnJlc291cmNlc1NldERlc2MpOwotICAgICAgICBhZGRBdG9taWNDb3VudGVyQnVmZmVy
RGVzY3JpcHRvclNldERlc2MocHJvZ3JhbVN0YXRlLmdldEF0b21pY0NvdW50ZXJCdWZmZXJzKCks
IHNoYWRlclR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmcmVzb3VyY2VzU2V0RGVzYyk7CisgICAgICAgIGFkZEludGVyZmFjZUJsb2NrRGVzY3Jp
cHRvclNldERlc2MocHJvZ3JhbVN0YXRlc1tzaGFkZXJUeXBlXS0+Z2V0VW5pZm9ybUJsb2Nrcygp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlclR5cGUs
IFZLX0RFU0NSSVBUT1JfVFlQRV9VTklGT1JNX0JVRkZFUiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmcmVzb3VyY2VzU2V0RGVzYyk7CisgICAgICAgIGFkZElu
dGVyZmFjZUJsb2NrRGVzY3JpcHRvclNldERlc2MocHJvZ3JhbVN0YXRlc1tzaGFkZXJUeXBlXS0+
Z2V0U2hhZGVyU3RvcmFnZUJsb2NrcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNoYWRlclR5cGUsIFZLX0RFU0NSSVBUT1JfVFlQRV9TVE9SQUdFX0JVRkZF
UiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzb3VyY2Vz
U2V0RGVzYyk7CisgICAgICAgIGFkZEF0b21pY0NvdW50ZXJCdWZmZXJEZXNjcmlwdG9yU2V0RGVz
YygKKyAgICAgICAgICAgIHByb2dyYW1TdGF0ZXNbc2hhZGVyVHlwZV0tPmdldEF0b21pY0NvdW50
ZXJCdWZmZXJzKCksIHNoYWRlclR5cGUsICZyZXNvdXJjZXNTZXREZXNjKTsKICAgICB9CiAKLSAg
ICBhZGRJbWFnZURlc2NyaXB0b3JTZXREZXNjKHByb2dyYW1TdGF0ZSwgJnJlc291cmNlc1NldERl
c2MpOworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGxpbmtlZFNo
YWRlclN0YWdlcykKKyAgICB7CisgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgKnByb2dy
YW1TdGF0ZSA9IHByb2dyYW1TdGF0ZXNbc2hhZGVyVHlwZV07CisgICAgICAgIEFTU0VSVChwcm9n
cmFtU3RhdGUpOworICAgICAgICBhZGRJbWFnZURlc2NyaXB0b3JTZXREZXNjKCpwcm9ncmFtU3Rh
dGUsICZyZXNvdXJjZXNTZXREZXNjKTsKKyAgICB9CiAKICAgICBBTkdMRV9UUlkocmVuZGVyZXIt
PmdldERlc2NyaXB0b3JTZXRMYXlvdXQoCiAgICAgICAgIGNvbnRleHRWaywgcmVzb3VyY2VzU2V0
RGVzYywgJm1EZXNjcmlwdG9yU2V0TGF5b3V0c1trU2hhZGVyUmVzb3VyY2VEZXNjcmlwdG9yU2V0
SW5kZXhdKSk7CkBAIC01NDQsOCArNjk1LDEzIEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbUV4ZWN1
dGFibGVWazo6Y3JlYXRlUGlwZWxpbmVMYXlvdXQoY29uc3QgZ2w6OkNvbnRleHQgKmdsQ29uCiAg
ICAgLy8gVGV4dHVyZXM6CiAgICAgdms6OkRlc2NyaXB0b3JTZXRMYXlvdXREZXNjIHRleHR1cmVz
U2V0RGVzYzsKIAotICAgIGFkZFRleHR1cmVEZXNjcmlwdG9yU2V0RGVzYyhwcm9ncmFtU3RhdGUs
IGNvbnRleHRWay0+dXNlT2xkUmV3cml0ZVN0cnVjdFNhbXBsZXJzKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZ0ZXh0dXJlc1NldERlc2MpOworICAgIGZvciAoY29uc3QgZ2w6
OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGxpbmtlZFNoYWRlclN0YWdlcykKKyAgICB7CisgICAg
ICAgIGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgKnByb2dyYW1TdGF0ZSA9IHByb2dyYW1TdGF0ZXNb
c2hhZGVyVHlwZV07CisgICAgICAgIEFTU0VSVChwcm9ncmFtU3RhdGUpOworICAgICAgICBhZGRU
ZXh0dXJlRGVzY3JpcHRvclNldERlc2MoKnByb2dyYW1TdGF0ZSwgY29udGV4dFZrLT51c2VPbGRS
ZXdyaXRlU3RydWN0U2FtcGxlcnMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZ0ZXh0dXJlc1NldERlc2MpOworICAgIH0KIAogICAgIEFOR0xFX1RSWShyZW5kZXJlci0+
Z2V0RGVzY3JpcHRvclNldExheW91dChjb250ZXh0VmssIHRleHR1cmVzU2V0RGVzYywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1EZXNjcmlwdG9yU2V0
TGF5b3V0c1trVGV4dHVyZURlc2NyaXB0b3JTZXRJbmRleF0pKTsKQEAgLTU3OCwxMyArNzM0LDI0
IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6Y3JlYXRlUGlwZWxpbmVMYXlv
dXQoY29uc3QgZ2w6OkNvbnRleHQgKmdsQ29uCiAgICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG1OdW1EZWZhdWx0VW5pZm9ybURlc2NyaXB0b3JzKX0sCiAgICAgICAgICB7VktfREVTQ1JJ
UFRPUl9UWVBFX1NUT1JBR0VfQlVGRkVSLCBnbDo6SU1QTEVNRU5UQVRJT05fTUFYX1RSQU5TRk9S
TV9GRUVEQkFDS19CVUZGRVJTfX19OwogCi0gICAgdWludDMyX3QgdW5pZm9ybUJsb2NrQ291bnQg
PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocHJvZ3JhbVN0YXRlLmdldFVuaWZvcm1CbG9ja3MoKS5z
aXplKCkpOwotICAgIHVpbnQzMl90IHN0b3JhZ2VCbG9ja0NvdW50ID0KLSAgICAgICAgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KHByb2dyYW1TdGF0ZS5nZXRTaGFkZXJTdG9yYWdlQmxvY2tzKCkuc2l6
ZSgpKTsKLSAgICB1aW50MzJfdCBhdG9taWNDb3VudGVyQnVmZmVyQ291bnQgPQotICAgICAgICBz
dGF0aWNfY2FzdDx1aW50MzJfdD4ocHJvZ3JhbVN0YXRlLmdldEF0b21pY0NvdW50ZXJCdWZmZXJz
KCkuc2l6ZSgpKTsKLSAgICB1aW50MzJfdCBpbWFnZUNvdW50ICAgPSBzdGF0aWNfY2FzdDx1aW50
MzJfdD4ocHJvZ3JhbVN0YXRlLmdldEltYWdlQmluZGluZ3MoKS5zaXplKCkpOwotICAgIHVpbnQz
Ml90IHRleHR1cmVDb3VudCA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pihwcm9ncmFtU3RhdGUuZ2V0
U2FtcGxlckJpbmRpbmdzKCkuc2l6ZSgpKTsKKyAgICB1aW50MzJfdCB1bmlmb3JtQmxvY2tDb3Vu
dCAgICAgICAgPSAwOworICAgIHVpbnQzMl90IHN0b3JhZ2VCbG9ja0NvdW50ICAgICAgICA9IDA7
CisgICAgdWludDMyX3QgYXRvbWljQ291bnRlckJ1ZmZlckNvdW50ID0gMDsKKyAgICB1aW50MzJf
dCBpbWFnZUNvdW50ICAgICAgICAgICAgICAgPSAwOworICAgIHVpbnQzMl90IHRleHR1cmVDb3Vu
dCAgICAgICAgICAgICA9IDA7CisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJU
eXBlIDogbGlua2VkU2hhZGVyU3RhZ2VzKQorICAgIHsKKyAgICAgICAgY29uc3QgZ2w6OlByb2dy
YW1TdGF0ZSAqcHJvZ3JhbVN0YXRlID0gcHJvZ3JhbVN0YXRlc1tzaGFkZXJUeXBlXTsKKyAgICAg
ICAgQVNTRVJUKHByb2dyYW1TdGF0ZSk7CisgICAgICAgIC8vIFRPRE8odGltdnApOiBodHRwOi8v
YW5nbGVidWcuY29tLzM1NzA6IFRoZXNlIGNvdW50cyB3aWxsIGJlIHRvbyBoaWdoIGZvciBtb25v
bGl0aGljCisgICAgICAgIC8vIHByb2dyYW1zLCBzaW5jZSBpdCdzIHRoZSBzYW1lIFByb2dyYW1T
dGF0ZSBmb3IgZWFjaCBzaGFkZXIgdHlwZS4KKyAgICAgICAgdW5pZm9ybUJsb2NrQ291bnQgKz0g
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KHByb2dyYW1TdGF0ZS0+Z2V0VW5pZm9ybUJsb2NrcygpLnNp
emUoKSk7CisgICAgICAgIHN0b3JhZ2VCbG9ja0NvdW50ICs9IHN0YXRpY19jYXN0PHVpbnQzMl90
Pihwcm9ncmFtU3RhdGUtPmdldFNoYWRlclN0b3JhZ2VCbG9ja3MoKS5zaXplKCkpOworICAgICAg
ICBhdG9taWNDb3VudGVyQnVmZmVyQ291bnQgKz0KKyAgICAgICAgICAgIHN0YXRpY19jYXN0PHVp
bnQzMl90Pihwcm9ncmFtU3RhdGUtPmdldEF0b21pY0NvdW50ZXJCdWZmZXJzKCkuc2l6ZSgpKTsK
KyAgICAgICAgaW1hZ2VDb3VudCArPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocHJvZ3JhbVN0YXRl
LT5nZXRJbWFnZUJpbmRpbmdzKCkuc2l6ZSgpKTsKKyAgICAgICAgdGV4dHVyZUNvdW50ICs9IHN0
YXRpY19jYXN0PHVpbnQzMl90Pihwcm9ncmFtU3RhdGUtPmdldFNhbXBsZXJCaW5kaW5ncygpLnNp
emUoKSk7CisgICAgfQogCiAgICAgaWYgKHJlbmRlcmVyLT5nZXRGZWF0dXJlcygpLmJpbmRFbXB0
eUZvclVudXNlZERlc2NyaXB0b3JTZXRzLmVuYWJsZWQpCiAgICAgewpAQCAtNjQ3LDc5ICs4MTQs
NjMgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtRXhlY3V0YWJsZVZrOjpjcmVhdGVQaXBlbGluZUxh
eW91dChjb25zdCBnbDo6Q29udGV4dCAqZ2xDb24KICAgICBlbXB0eUJ1ZmZlckluZm8ucFF1ZXVl
RmFtaWx5SW5kaWNlcyAgID0gbnVsbHB0cjsKIAogICAgIGNvbnN0ZXhwciBWa01lbW9yeVByb3Bl
cnR5RmxhZ3Mga01lbW9yeVR5cGUgPSBWS19NRU1PUllfUFJPUEVSVFlfREVWSUNFX0xPQ0FMX0JJ
VDsKLSAgICByZXR1cm4gbUVtcHR5QnVmZmVyLmluaXQoY29udGV4dFZrLCBlbXB0eUJ1ZmZlcklu
Zm8sIGtNZW1vcnlUeXBlKTsKKyAgICBhbmdsZTo6UmVzdWx0IHN0YXR1cyA9IG1FbXB0eUJ1ZmZl
ci5pbml0KGNvbnRleHRWaywgZW1wdHlCdWZmZXJJbmZvLCBrTWVtb3J5VHlwZSk7CisKKyAgICBy
ZXR1cm4gc3RhdHVzOwogfQogCiB2b2lkIFByb2dyYW1FeGVjdXRhYmxlVms6OnVwZGF0ZURlZmF1
bHRVbmlmb3Jtc0Rlc2NyaXB0b3JTZXQoCi0gICAgY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJv
Z3JhbVN0YXRlLAorICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsCiAgICAgZ2w6
OlNoYWRlck1hcDxEZWZhdWx0VW5pZm9ybUJsb2NrPiAmZGVmYXVsdFVuaWZvcm1CbG9ja3MsCiAg
ICAgQ29udGV4dFZrICpjb250ZXh0VmspCiB7Ci0gICAgdWludDMyX3Qgc2hhZGVyU3RhZ2VDb3Vu
dCA9Ci0gICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90Pihwcm9ncmFtU3RhdGUuZ2V0UHJvZ3Jh
bUV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZUNvdW50KCkpOwotCi0gICAgZ2w6OlNo
YWRlclZlY3RvcjxWa0Rlc2NyaXB0b3JCdWZmZXJJbmZvPiBkZXNjcmlwdG9yQnVmZmVySW5mbyhz
aGFkZXJTdGFnZUNvdW50KTsKLSAgICBnbDo6U2hhZGVyVmVjdG9yPFZrV3JpdGVEZXNjcmlwdG9y
U2V0PiB3cml0ZURlc2NyaXB0b3JJbmZvKHNoYWRlclN0YWdlQ291bnQpOwotCi0gICAgbURlc2Ny
aXB0b3JCdWZmZXJzQ2FjaGUuY2xlYXIoKTsKLQotICAgIC8vIFdyaXRlIGRlZmF1bHQgdW5pZm9y
bXMgZm9yIGVhY2ggc2hhZGVyIHR5cGUuCi0gICAgdWludDMyX3Qgd3JpdGVJbmZvQ291bnQgPSAw
OwotICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6Ci0gICAgICAgICBw
cm9ncmFtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMo
KSkKKyAgICBjb25zdCBzdGQ6OnN0cmluZyB1bmlmb3JtQmxvY2tOYW1lID0ga0RlZmF1bHRVbmlm
b3JtTmFtZXNbc2hhZGVyVHlwZV07CisgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFibGVJbmZvICZp
bmZvICA9IG1WYXJpYWJsZUluZm9NYXBbc2hhZGVyVHlwZV1bdW5pZm9ybUJsb2NrTmFtZV07Cisg
ICAgaWYgKCFpbmZvLmFjdGl2ZVN0YWdlc1tzaGFkZXJUeXBlXSkKICAgICB7Ci0gICAgICAgIGNv
bnN0IHN0ZDo6c3RyaW5nIHVuaWZvcm1CbG9ja05hbWUgPSBrRGVmYXVsdFVuaWZvcm1OYW1lc1tz
aGFkZXJUeXBlXTsKLSAgICAgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFibGVJbmZvICZpbmZvICA9
IG1WYXJpYWJsZUluZm9NYXBbc2hhZGVyVHlwZV1bdW5pZm9ybUJsb2NrTmFtZV07Ci0gICAgICAg
IGlmICghaW5mby5hY3RpdmVTdGFnZXNbc2hhZGVyVHlwZV0pCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIERlZmF1bHRVbmlmb3JtQmxvY2sgJnVu
aWZvcm1CbG9jayAgPSBkZWZhdWx0VW5pZm9ybUJsb2Nrc1tzaGFkZXJUeXBlXTsKLSAgICAgICAg
VmtEZXNjcmlwdG9yQnVmZmVySW5mbyAmYnVmZmVySW5mbyA9IGRlc2NyaXB0b3JCdWZmZXJJbmZv
W3dyaXRlSW5mb0NvdW50XTsKLSAgICAgICAgVmtXcml0ZURlc2NyaXB0b3JTZXQgJndyaXRlSW5m
byAgICA9IHdyaXRlRGVzY3JpcHRvckluZm9bd3JpdGVJbmZvQ291bnRdOworICAgICAgICByZXR1
cm47CisgICAgfQogCi0gICAgICAgIGlmICghdW5pZm9ybUJsb2NrLnVuaWZvcm1EYXRhLmVtcHR5
KCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgKmJ1ZmZlckhlbHBl
ciA9IHVuaWZvcm1CbG9jay5zdG9yYWdlLmdldEN1cnJlbnRCdWZmZXIoKTsKLSAgICAgICAgICAg
IGJ1ZmZlckluZm8uYnVmZmVyICAgICAgICAgICAgICA9IGJ1ZmZlckhlbHBlci0+Z2V0QnVmZmVy
KCkuZ2V0SGFuZGxlKCk7Ci0gICAgICAgICAgICBtRGVzY3JpcHRvckJ1ZmZlcnNDYWNoZS5lbXBs
YWNlX2JhY2soYnVmZmVySGVscGVyKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAg
IHsKLSAgICAgICAgICAgIG1FbXB0eUJ1ZmZlci5yZXRhaW4oJmNvbnRleHRWay0+Z2V0UmVzb3Vy
Y2VVc2VMaXN0KCkpOwotICAgICAgICAgICAgYnVmZmVySW5mby5idWZmZXIgPSBtRW1wdHlCdWZm
ZXIuZ2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7Ci0gICAgICAgICAgICBtRGVzY3JpcHRvckJ1ZmZl
cnNDYWNoZS5lbXBsYWNlX2JhY2soJm1FbXB0eUJ1ZmZlcik7Ci0gICAgICAgIH0KKyAgICBEZWZh
dWx0VW5pZm9ybUJsb2NrICZ1bmlmb3JtQmxvY2sgPSBkZWZhdWx0VW5pZm9ybUJsb2Nrc1tzaGFk
ZXJUeXBlXTsKKyAgICBWa0Rlc2NyaXB0b3JCdWZmZXJJbmZvIGJ1ZmZlckluZm87CisgICAgVmtX
cml0ZURlc2NyaXB0b3JTZXQgd3JpdGVJbmZvOwogCi0gICAgICAgIGJ1ZmZlckluZm8ub2Zmc2V0
ID0gMDsKLSAgICAgICAgYnVmZmVySW5mby5yYW5nZSAgPSBWS19XSE9MRV9TSVpFOworICAgIGlm
ICghdW5pZm9ybUJsb2NrLnVuaWZvcm1EYXRhLmVtcHR5KCkpCisgICAgeworICAgICAgICB2azo6
QnVmZmVySGVscGVyICpidWZmZXJIZWxwZXIgPSB1bmlmb3JtQmxvY2suc3RvcmFnZS5nZXRDdXJy
ZW50QnVmZmVyKCk7CisgICAgICAgIGJ1ZmZlckluZm8uYnVmZmVyICAgICAgICAgICAgICA9IGJ1
ZmZlckhlbHBlci0+Z2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7CisgICAgICAgIG1EZXNjcmlwdG9y
QnVmZmVyc0NhY2hlLmVtcGxhY2VfYmFjayhidWZmZXJIZWxwZXIpOworICAgIH0KKyAgICBlbHNl
CisgICAgeworICAgICAgICBtRW1wdHlCdWZmZXIucmV0YWluKCZjb250ZXh0VmstPmdldFJlc291
cmNlVXNlTGlzdCgpKTsKKyAgICAgICAgYnVmZmVySW5mby5idWZmZXIgPSBtRW1wdHlCdWZmZXIu
Z2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7CisgICAgICAgIG1EZXNjcmlwdG9yQnVmZmVyc0NhY2hl
LmVtcGxhY2VfYmFjaygmbUVtcHR5QnVmZmVyKTsKKyAgICB9CiAKLSAgICAgICAgd3JpdGVJbmZv
LnNUeXBlICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9XUklURV9ERVNDUklQVE9SX1NF
VDsKLSAgICAgICAgd3JpdGVJbmZvLnBOZXh0ICAgICAgICAgICAgPSBudWxscHRyOwotICAgICAg
ICB3cml0ZUluZm8uZHN0U2V0ICAgICAgICAgICA9IG1EZXNjcmlwdG9yU2V0c1trVW5pZm9ybXNB
bmRYZmJEZXNjcmlwdG9yU2V0SW5kZXhdOwotICAgICAgICB3cml0ZUluZm8uZHN0QmluZGluZyAg
ICAgICA9IGluZm8uYmluZGluZzsKLSAgICAgICAgd3JpdGVJbmZvLmRzdEFycmF5RWxlbWVudCAg
PSAwOwotICAgICAgICB3cml0ZUluZm8uZGVzY3JpcHRvckNvdW50ICA9IDE7Ci0gICAgICAgIHdy
aXRlSW5mby5kZXNjcmlwdG9yVHlwZSAgID0gVktfREVTQ1JJUFRPUl9UWVBFX1VOSUZPUk1fQlVG
RkVSX0RZTkFNSUM7Ci0gICAgICAgIHdyaXRlSW5mby5wSW1hZ2VJbmZvICAgICAgID0gbnVsbHB0
cjsKLSAgICAgICAgd3JpdGVJbmZvLnBCdWZmZXJJbmZvICAgICAgPSAmYnVmZmVySW5mbzsKLSAg
ICAgICAgd3JpdGVJbmZvLnBUZXhlbEJ1ZmZlclZpZXcgPSBudWxscHRyOworICAgIGJ1ZmZlcklu
Zm8ub2Zmc2V0ID0gMDsKKyAgICBidWZmZXJJbmZvLnJhbmdlICA9IFZLX1dIT0xFX1NJWkU7CiAK
LSAgICAgICAgKyt3cml0ZUluZm9Db3VudDsKLSAgICB9CisgICAgd3JpdGVJbmZvLnNUeXBlICAg
ICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9XUklURV9ERVNDUklQVE9SX1NFVDsKKyAgICB3
cml0ZUluZm8ucE5leHQgICAgICAgICAgICA9IG51bGxwdHI7CisgICAgd3JpdGVJbmZvLmRzdFNl
dCAgICAgICAgICAgPSBtRGVzY3JpcHRvclNldHNba1VuaWZvcm1zQW5kWGZiRGVzY3JpcHRvclNl
dEluZGV4XTsKKyAgICB3cml0ZUluZm8uZHN0QmluZGluZyAgICAgICA9IGluZm8uYmluZGluZzsK
KyAgICB3cml0ZUluZm8uZHN0QXJyYXlFbGVtZW50ICA9IDA7CisgICAgd3JpdGVJbmZvLmRlc2Ny
aXB0b3JDb3VudCAgPSAxOworICAgIHdyaXRlSW5mby5kZXNjcmlwdG9yVHlwZSAgID0gVktfREVT
Q1JJUFRPUl9UWVBFX1VOSUZPUk1fQlVGRkVSX0RZTkFNSUM7CisgICAgd3JpdGVJbmZvLnBJbWFn
ZUluZm8gICAgICAgPSBudWxscHRyOworICAgIHdyaXRlSW5mby5wQnVmZmVySW5mbyAgICAgID0g
JmJ1ZmZlckluZm87CisgICAgd3JpdGVJbmZvLnBUZXhlbEJ1ZmZlclZpZXcgPSBudWxscHRyOwog
CiAgICAgVmtEZXZpY2UgZGV2aWNlID0gY29udGV4dFZrLT5nZXREZXZpY2UoKTsKIAotICAgIEFT
U0VSVCh3cml0ZUluZm9Db3VudCA8PSBrUmVzZXJ2ZWREZWZhdWx0VW5pZm9ybUJpbmRpbmdDb3Vu
dCk7Ci0KLSAgICB2a1VwZGF0ZURlc2NyaXB0b3JTZXRzKGRldmljZSwgd3JpdGVJbmZvQ291bnQs
IHdyaXRlRGVzY3JpcHRvckluZm8uZGF0YSgpLCAwLCBudWxscHRyKTsKKyAgICB2a1VwZGF0ZURl
c2NyaXB0b3JTZXRzKGRldmljZSwgMSwgJndyaXRlSW5mbywgMCwgbnVsbHB0cik7CiB9CiAKIHZv
aWQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6dXBkYXRlQnVmZmVyc0Rlc2NyaXB0b3JTZXQoQ29udGV4
dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpSZXNvdXJjZVVz
ZUxpc3QgKnJlc291cmNlVXNlTGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlckhlbHBlciAqY29tbWFuZEJ1ZmZlckhl
bHBlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdms6OkNvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6
dmVjdG9yPGdsOjpJbnRlcmZhY2VCbG9jaz4gJmJsb2NrcywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtEZXNjcmlwdG9yVHlwZSBkZXNjcmlw
dG9yVHlwZSkKIHsKQEAgLTc2NSwyNyArOTE2LDQzIEBAIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGVW
azo6dXBkYXRlQnVmZmVyc0Rlc2NyaXB0b3JTZXQoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAg
ICAgIFNoYWRlckludGVyZmFjZVZhcmlhYmxlSW5mbyBpbmZvID0gbVZhcmlhYmxlSW5mb01hcFtz
aGFkZXJUeXBlXVtibG9jay5tYXBwZWROYW1lXTsKICAgICAgICAgdWludDMyX3QgYmluZGluZyAg
ICAgICAgICAgICAgICAgPSBpbmZvLmJpbmRpbmc7CiAgICAgICAgIHVpbnQzMl90IGFycmF5RWxl
bWVudCAgICAgICAgICAgID0gYmxvY2suaXNBcnJheSA/IGJsb2NrLmFycmF5RWxlbWVudCA6IDA7
Ci0gICAgICAgIFZrRGV2aWNlU2l6ZSBtYXhCbG9ja1NpemUgICAgICAgID0gaXNTdG9yYWdlQnVm
ZmVyID8gMCA6IGJsb2NrLmRhdGFTaXplOworCisgICAgICAgIFZrRGV2aWNlU2l6ZSBzaXplOwor
ICAgICAgICBpZiAoIWlzU3RvcmFnZUJ1ZmZlcikKKyAgICAgICAgeworICAgICAgICAgICAgc2l6
ZSA9IGJsb2NrLmRhdGFTaXplOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgewor
ICAgICAgICAgICAgc2l6ZSA9IEdldFNoYWRlckJ1ZmZlckJpbmRpbmdTaXplKGJ1ZmZlckJpbmRp
bmcpOworICAgICAgICB9CisKKyAgICAgICAgLy8gTWFrZSBzdXJlIHRoZXJlJ3Mgbm8gcG9zc2li
bGUgdW5kZXIvb3ZlcmZsb3cgd2l0aCBiaW5kaW5nIHNpemUuCisgICAgICAgIHN0YXRpY19hc3Nl
cnQoc2l6ZW9mKFZrRGV2aWNlU2l6ZSkgPj0gc2l6ZW9mKGJ1ZmZlckJpbmRpbmcuZ2V0U2l6ZSgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAiVmtEZXZpY2VTaXplIHRvbyBzbWFsbCIpOworICAg
ICAgICBBU1NFUlQoYnVmZmVyQmluZGluZy5nZXRTaXplKCkgPj0gMCk7CiAKICAgICAgICAgVmtE
ZXNjcmlwdG9yQnVmZmVySW5mbyAmYnVmZmVySW5mbyA9IGRlc2NyaXB0b3JCdWZmZXJJbmZvW3dy
aXRlQ291bnRdOwogICAgICAgICBWa1dyaXRlRGVzY3JpcHRvclNldCAmd3JpdGVJbmZvICAgID0g
d3JpdGVEZXNjcmlwdG9ySW5mb1t3cml0ZUNvdW50XTsKIAotICAgICAgICBXcml0ZUJ1ZmZlckRl
c2NyaXB0b3JTZXRCaW5kaW5nKGJ1ZmZlckJpbmRpbmcsIG1heEJsb2NrU2l6ZSwgZGVzY3JpcHRv
clNldCwgZGVzY3JpcHRvclR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYmluZGluZywgYXJyYXlFbGVtZW50LCAwLCAmYnVmZmVySW5mbywgJndyaXRlSW5mbyk7
Ci0KICAgICAgICAgQnVmZmVyVmsgKmJ1ZmZlclZrICAgICAgICAgICAgID0gdms6OkdldEltcGwo
YnVmZmVyQmluZGluZy5nZXQoKSk7CiAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgJmJ1ZmZlckhl
bHBlciA9IGJ1ZmZlclZrLT5nZXRCdWZmZXIoKTsKIAorICAgICAgICBXcml0ZUJ1ZmZlckRlc2Ny
aXB0b3JTZXRCaW5kaW5nKGJ1ZmZlckhlbHBlciwgYnVmZmVyQmluZGluZy5nZXRPZmZzZXQoKSwg
c2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9y
U2V0LCBkZXNjcmlwdG9yVHlwZSwgYmluZGluZywgYXJyYXlFbGVtZW50LCAwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZidWZmZXJJbmZvLCAmd3JpdGVJbmZvKTsK
KwogICAgICAgICBpZiAoaXNTdG9yYWdlQnVmZmVyKQogICAgICAgICB7CiAgICAgICAgICAgICAv
LyBXZSBzZXQgdGhlIFNIQURFUl9SRUFEX0JJVCB0byBiZSBjb25zZXJ2YXRpdmUuCiAgICAgICAg
ICAgICBWa0FjY2Vzc0ZsYWdzIGFjY2Vzc0ZsYWdzID0gVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJ
VCB8IFZLX0FDQ0VTU19TSEFERVJfV1JJVEVfQklUOwotICAgICAgICAgICAgY29tbWFuZEJ1ZmZl
ckhlbHBlci0+YnVmZmVyV3JpdGUocmVzb3VyY2VVc2VMaXN0LCBhY2Nlc3NGbGFncywgJmJ1ZmZl
ckhlbHBlcik7CisgICAgICAgICAgICBjb21tYW5kQnVmZmVySGVscGVyLT5idWZmZXJXcml0ZShy
ZXNvdXJjZVVzZUxpc3QsIGFjY2Vzc0ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga1BpcGVsaW5lU3RhZ2VTaGFkZXJNYXBbc2hhZGVyVHlwZV0sICZi
dWZmZXJIZWxwZXIpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAg
ICAgICAgY29tbWFuZEJ1ZmZlckhlbHBlci0+YnVmZmVyUmVhZChyZXNvdXJjZVVzZUxpc3QsIFZL
X0FDQ0VTU19VTklGT1JNX1JFQURfQklULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmYnVmZmVySGVscGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga1BpcGVsaW5lU3RhZ2VTaGFkZXJNYXBbc2hhZGVyVHlwZV0sICZi
dWZmZXJIZWxwZXIpOwogICAgICAgICB9CiAKICAgICAgICAgKyt3cml0ZUNvdW50OwpAQCAtODAx
LDcgKzk2OCw3IEBAIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6dXBkYXRlQXRvbWljQ291bnRl
ckJ1ZmZlcnNEZXNjcmlwdG9yU2V0KAogICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5
cGUsCiAgICAgQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgdms6OlJlc291cmNlVXNlTGlzdCAq
cmVzb3VyY2VVc2VMaXN0LAotICAgIENvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZmZXJI
ZWxwZXIpCisgICAgdms6OkNvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZmZXJIZWxwZXIp
CiB7CiAgICAgY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlID0gY29udGV4dFZrLT5nZXRTdGF0ZSgp
OwogICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpBdG9taWNDb3VudGVyQnVmZmVyPiAmYXRvbWlj
Q291bnRlckJ1ZmZlcnMgPQpAQCAtODQ2LDE2ICsxMDEzLDE5IEBAIHZvaWQgUHJvZ3JhbUV4ZWN1
dGFibGVWazo6dXBkYXRlQXRvbWljQ291bnRlckJ1ZmZlcnNEZXNjcmlwdG9yU2V0KAogICAgICAg
ICBWa0Rlc2NyaXB0b3JCdWZmZXJJbmZvICZidWZmZXJJbmZvID0gZGVzY3JpcHRvckJ1ZmZlcklu
Zm9bYmluZGluZ107CiAgICAgICAgIFZrV3JpdGVEZXNjcmlwdG9yU2V0ICZ3cml0ZUluZm8gICAg
PSB3cml0ZURlc2NyaXB0b3JJbmZvW2JpbmRpbmddOwogCi0gICAgICAgIFdyaXRlQnVmZmVyRGVz
Y3JpcHRvclNldEJpbmRpbmcoYnVmZmVyQmluZGluZywgMCwgZGVzY3JpcHRvclNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19ERVNDUklQVE9SX1RZUEVfU1RP
UkFHRV9CVUZGRVIsIGluZm8uYmluZGluZywgYmluZGluZywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1aXJlZE9mZnNldEFsaWdubWVudCwgJmJ1ZmZlckluZm8s
ICZ3cml0ZUluZm8pOwotCiAgICAgICAgIEJ1ZmZlclZrICpidWZmZXJWayAgICAgICAgICAgICA9
IHZrOjpHZXRJbXBsKGJ1ZmZlckJpbmRpbmcuZ2V0KCkpOwogICAgICAgICB2azo6QnVmZmVySGVs
cGVyICZidWZmZXJIZWxwZXIgPSBidWZmZXJWay0+Z2V0QnVmZmVyKCk7CiAKKyAgICAgICAgVmtE
ZXZpY2VTaXplIHNpemUgPSBHZXRTaGFkZXJCdWZmZXJCaW5kaW5nU2l6ZShidWZmZXJCaW5kaW5n
KTsKKyAgICAgICAgV3JpdGVCdWZmZXJEZXNjcmlwdG9yU2V0QmluZGluZyhidWZmZXJIZWxwZXIs
IGJ1ZmZlckJpbmRpbmcuZ2V0T2Zmc2V0KCksIHNpemUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvclNldCwgVktfREVTQ1JJUFRPUl9UWVBFX1NUT1JB
R0VfQlVGRkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8u
YmluZGluZywgYmluZGluZywgcmVxdWlyZWRPZmZzZXRBbGlnbm1lbnQsICZidWZmZXJJbmZvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ3cml0ZUluZm8pOworCiAg
ICAgICAgIC8vIFdlIHNldCBTSEFERVJfUkVBRF9CSVQgdG8gYmUgY29uc2VydmF0aXZlLgotICAg
ICAgICBjb21tYW5kQnVmZmVySGVscGVyLT5idWZmZXJXcml0ZSgKLSAgICAgICAgICAgIHJlc291
cmNlVXNlTGlzdCwgVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCB8IFZLX0FDQ0VTU19TSEFERVJf
V1JJVEVfQklULCAmYnVmZmVySGVscGVyKTsKKyAgICAgICAgY29tbWFuZEJ1ZmZlckhlbHBlci0+
YnVmZmVyV3JpdGUocmVzb3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWS19BQ0NFU1NfU0hBREVSX1JFQURfQklUIHwgVktfQUNDRVNTX1NIQURF
Ul9XUklURV9CSVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtQ
aXBlbGluZVN0YWdlU2hhZGVyTWFwW3NoYWRlclR5cGVdLCAmYnVmZmVySGVscGVyKTsKIAogICAg
ICAgICB3cml0dGVuQmluZGluZ3Muc2V0KGJpbmRpbmcpOwogICAgIH0KQEAgLTk3NiwyNyArMTE0
NiwzMSBAQCBhbmdsZTo6UmVzdWx0IFByb2dyYW1FeGVjdXRhYmxlVms6OnVwZGF0ZUltYWdlc0Rl
c2NyaXB0b3JTZXQoY29uc3QgZ2w6OlByb2dyYW1TdAogfQogCiBhbmdsZTo6UmVzdWx0IFByb2dy
YW1FeGVjdXRhYmxlVms6OnVwZGF0ZVNoYWRlclJlc291cmNlc0Rlc2NyaXB0b3JTZXQoCi0gICAg
Y29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0YXRlLAogICAgIENvbnRleHRWayAqY29u
dGV4dFZrLAogICAgIHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwKLSAgICBD
b21tYW5kQnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVySGVscGVyKQorICAgIHZrOjpDb21tYW5k
QnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVySGVscGVyKQogewogICAgIGNvbnN0IGdsOjpQcm9n
cmFtRXhlY3V0YWJsZSAqZXhlY3V0YWJsZSA9IGNvbnRleHRWay0+Z2V0U3RhdGUoKS5nZXRQcm9n
cmFtRXhlY3V0YWJsZSgpOwogICAgIEFTU0VSVChleGVjdXRhYmxlKTsKKyAgICBnbDo6U2hhZGVy
TWFwPGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgKj4gcHJvZ3JhbVN0YXRlczsKKyAgICBmaWxsUHJv
Z3JhbVN0YXRlTWFwKGNvbnRleHRWaywgJnByb2dyYW1TdGF0ZXMpOwogCiAgICAgQU5HTEVfVFJZ
KGFsbG9jYXRlRGVzY3JpcHRvclNldChjb250ZXh0VmssIGtTaGFkZXJSZXNvdXJjZURlc2NyaXB0
b3JTZXRJbmRleCkpOwogCiAgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBl
IDogZXhlY3V0YWJsZS0+Z2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCiAgICAgeworICAgICAgICBj
b25zdCBnbDo6UHJvZ3JhbVN0YXRlICpwcm9ncmFtU3RhdGUgPSBwcm9ncmFtU3RhdGVzW3NoYWRl
clR5cGVdOworICAgICAgICBBU1NFUlQocHJvZ3JhbVN0YXRlKTsKKwogICAgICAgICB1cGRhdGVC
dWZmZXJzRGVzY3JpcHRvclNldChjb250ZXh0VmssIHNoYWRlclR5cGUsIHJlc291cmNlVXNlTGlz
dCwgY29tbWFuZEJ1ZmZlckhlbHBlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvZ3JhbVN0YXRlLmdldFVuaWZvcm1CbG9ja3MoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvZ3JhbVN0YXRlLT5nZXRVbmlmb3JtQmxvY2tzKCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0RFU0NSSVBUT1JfVFlQRV9VTklGT1JNX0JV
RkZFUik7CiAgICAgICAgIHVwZGF0ZUJ1ZmZlcnNEZXNjcmlwdG9yU2V0KGNvbnRleHRWaywgc2hh
ZGVyVHlwZSwgcmVzb3VyY2VVc2VMaXN0LCBjb21tYW5kQnVmZmVySGVscGVyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0U2hhZGVyU3RvcmFnZUJs
b2NrcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtU3RhdGUt
PmdldFNoYWRlclN0b3JhZ2VCbG9ja3MoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVktfREVTQ1JJUFRPUl9UWVBFX1NUT1JBR0VfQlVGRkVSKTsKLSAgICAgICAgdXBkYXRl
QXRvbWljQ291bnRlckJ1ZmZlcnNEZXNjcmlwdG9yU2V0KHByb2dyYW1TdGF0ZSwgc2hhZGVyVHlw
ZSwgY29udGV4dFZrLAorICAgICAgICB1cGRhdGVBdG9taWNDb3VudGVyQnVmZmVyc0Rlc2NyaXB0
b3JTZXQoKnByb2dyYW1TdGF0ZSwgc2hhZGVyVHlwZSwgY29udGV4dFZrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VVc2VMaXN0LCBjb21t
YW5kQnVmZmVySGVscGVyKTsKLSAgICAgICAgYW5nbGU6OlJlc3VsdCBzdGF0dXMgPSB1cGRhdGVJ
bWFnZXNEZXNjcmlwdG9yU2V0KHByb2dyYW1TdGF0ZSwgc2hhZGVyVHlwZSwgY29udGV4dFZrKTsK
KyAgICAgICAgYW5nbGU6OlJlc3VsdCBzdGF0dXMgPSB1cGRhdGVJbWFnZXNEZXNjcmlwdG9yU2V0
KCpwcm9ncmFtU3RhdGUsIHNoYWRlclR5cGUsIGNvbnRleHRWayk7CiAgICAgICAgIGlmIChzdGF0
dXMgIT0gYW5nbGU6OlJlc3VsdDo6Q29udGludWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJl
dHVybiBzdGF0dXM7CkBAIC0xMDExLDEzICsxMTg1LDE3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3Jh
bUV4ZWN1dGFibGVWazo6dXBkYXRlVHJhbnNmb3JtRmVlZGJhY2tEZXNjcmlwdG9yU2V0KAogICAg
IGdsOjpTaGFkZXJNYXA8RGVmYXVsdFVuaWZvcm1CbG9jaz4gJmRlZmF1bHRVbmlmb3JtQmxvY2tz
LAogICAgIENvbnRleHRWayAqY29udGV4dFZrKQogewotICAgIGNvbnN0IGdsOjpTdGF0ZSAmZ2xT
dGF0ZSAgICAgICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0U3RhdGUoKTsKLSAgICBjb25zdCBn
bDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmV4ZWN1dGFibGUgPSBwcm9ncmFtU3RhdGUuZ2V0UHJvZ3Jh
bUV4ZWN1dGFibGUoKTsKLSAgICBBU1NFUlQoZXhlY3V0YWJsZS5oYXNUcmFuc2Zvcm1GZWVkYmFj
a091dHB1dChnbFN0YXRlKSk7CisgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZleGVj
dXRhYmxlID0gcHJvZ3JhbVN0YXRlLmdldEV4ZWN1dGFibGUoKTsKKyAgICBBU1NFUlQoZXhlY3V0
YWJsZS5oYXNUcmFuc2Zvcm1GZWVkYmFja091dHB1dCgpKTsKIAogICAgIEFOR0xFX1RSWShhbGxv
Y2F0ZURlc2NyaXB0b3JTZXQoY29udGV4dFZrLCBrVW5pZm9ybXNBbmRYZmJEZXNjcmlwdG9yU2V0
SW5kZXgpKTsKIAotICAgIHVwZGF0ZURlZmF1bHRVbmlmb3Jtc0Rlc2NyaXB0b3JTZXQocHJvZ3Jh
bVN0YXRlLCBkZWZhdWx0VW5pZm9ybUJsb2NrcywgY29udGV4dFZrKTsKKyAgICBtRGVzY3JpcHRv
ckJ1ZmZlcnNDYWNoZS5jbGVhcigpOworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hh
ZGVyVHlwZSA6IGV4ZWN1dGFibGUuZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCisgICAgeworICAg
ICAgICB1cGRhdGVEZWZhdWx0VW5pZm9ybXNEZXNjcmlwdG9yU2V0KHNoYWRlclR5cGUsIGRlZmF1
bHRVbmlmb3JtQmxvY2tzLCBjb250ZXh0VmspOworICAgIH0KKwogICAgIHVwZGF0ZVRyYW5zZm9y
bUZlZWRiYWNrRGVzY3JpcHRvclNldEltcGwocHJvZ3JhbVN0YXRlLCBjb250ZXh0VmspOwogCiAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTAyOSw5ICsxMjA3LDkgQEAg
dm9pZCBQcm9ncmFtRXhlY3V0YWJsZVZrOjp1cGRhdGVUcmFuc2Zvcm1GZWVkYmFja0Rlc2NyaXB0
b3JTZXRJbXBsKAogewogICAgIGNvbnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSAgICAgICAgICAgICAg
ICAgPSBjb250ZXh0VmstPmdldFN0YXRlKCk7CiAgICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrICp0
cmFuc2Zvcm1GZWVkYmFjayA9IGdsU3RhdGUuZ2V0Q3VycmVudFRyYW5zZm9ybUZlZWRiYWNrKCk7
Ci0gICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZleGVjdXRhYmxlICA9IHByb2dyYW1T
dGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOworICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0
YWJsZSAmZXhlY3V0YWJsZSAgPSBwcm9ncmFtU3RhdGUuZ2V0RXhlY3V0YWJsZSgpOwogCi0gICAg
aWYgKCFleGVjdXRhYmxlLmhhc1RyYW5zZm9ybUZlZWRiYWNrT3V0cHV0KGdsU3RhdGUpKQorICAg
IGlmICghZXhlY3V0YWJsZS5oYXNUcmFuc2Zvcm1GZWVkYmFja091dHB1dCgpKQogICAgIHsKICAg
ICAgICAgLy8gSWYgeGZiIGhhcyBubyBvdXRwdXQgdGhlcmUgaXMgbm8gbmVlZCB0byB1cGRhdGUg
ZGVzY3JpcHRvciBzZXQuCiAgICAgICAgIHJldHVybjsKQEAgLTEwNTYsMTIgKzEyMzQsMTcgQEAg
dm9pZCBQcm9ncmFtRXhlY3V0YWJsZVZrOjp1cGRhdGVUcmFuc2Zvcm1GZWVkYmFja0Rlc2NyaXB0
b3JTZXRJbXBsKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bURlc2NyaXB0b3JTZXRzW2tVbmlmb3Jtc0FuZFhmYkRlc2NyaXB0b3JTZXRJbmRleF0pOwogfQog
Ci1hbmdsZTo6UmVzdWx0IFByb2dyYW1FeGVjdXRhYmxlVms6OnVwZGF0ZVRleHR1cmVzRGVzY3Jp
cHRvclNldChjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250
ZXh0VmsgKmNvbnRleHRWaykKK2FuZ2xlOjpSZXN1bHQgUHJvZ3JhbUV4ZWN1dGFibGVWazo6dXBk
YXRlVGV4dHVyZXNEZXNjcmlwdG9yU2V0KENvbnRleHRWayAqY29udGV4dFZrKQogewotICAgIGNv
bnN0IGdsOjpTdGF0ZSAmZ2xTdGF0ZSAgICAgICAgICAgICAgICAgICAgICA9IGNvbnRleHRWay0+
Z2V0U3RhdGUoKTsKKyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUg
PSBjb250ZXh0VmstPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsKKyAgICBBU1NF
UlQoZXhlY3V0YWJsZSk7CisKKyAgICBpZiAoIWV4ZWN1dGFibGUtPmhhc1RleHR1cmVzKCkpCisg
ICAgeworICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgfQorCiAg
ICAgY29uc3Qgdms6OlRleHR1cmVEZXNjcmlwdG9yRGVzYyAmdGV4dHVyZXNEZXNjID0gY29udGV4
dFZrLT5nZXRBY3RpdmVUZXh0dXJlc0Rlc2MoKTsKLSAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1
dGFibGUgJmV4ZWN1dGFibGUgICAgICAgPSBwcm9ncmFtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFi
bGUoKTsKIAogICAgIGF1dG8gaXRlciA9IG1UZXh0dXJlRGVzY3JpcHRvcnNDYWNoZS5maW5kKHRl
eHR1cmVzRGVzYyk7CiAgICAgaWYgKGl0ZXIgIT0gbVRleHR1cmVEZXNjcmlwdG9yc0NhY2hlLmVu
ZCgpKQpAQCAtMTA3MCw3ICsxMjUzLDYgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtRXhlY3V0YWJs
ZVZrOjp1cGRhdGVUZXh0dXJlc0Rlc2NyaXB0b3JTZXQoY29uc3QgZ2w6OlByb2dyYW0KICAgICAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KIAotICAgIEFTU0VSVChl
eGVjdXRhYmxlLmhhc1RleHR1cmVzKGdsU3RhdGUpKTsKICAgICBib29sIG5ld1Bvb2xBbGxvY2F0
ZWQ7CiAgICAgQU5HTEVfVFJZKAogICAgICAgICBhbGxvY2F0ZURlc2NyaXB0b3JTZXRBbmRHZXRJ
bmZvKGNvbnRleHRWaywga1RleHR1cmVEZXNjcmlwdG9yU2V0SW5kZXgsICZuZXdQb29sQWxsb2Nh
dGVkKSk7CkBAIC0xMDkyLDE5ICsxMjc0LDI0IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbUV4ZWN1
dGFibGVWazo6dXBkYXRlVGV4dHVyZXNEZXNjcmlwdG9yU2V0KGNvbnN0IGdsOjpQcm9ncmFtCiAg
ICAgYm9vbCBlbXVsYXRlU2VhbWZ1bEN1YmVNYXBTYW1wbGluZyA9IGNvbnRleHRWay0+ZW11bGF0
ZVNlYW1mdWxDdWJlTWFwU2FtcGxpbmcoKTsKICAgICBib29sIHVzZU9sZFJld3JpdGVTdHJ1Y3RT
YW1wbGVycyAgID0gY29udGV4dFZrLT51c2VPbGRSZXdyaXRlU3RydWN0U2FtcGxlcnMoKTsKIAot
ICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGV4ZWN1dGFibGUuZ2V0
TGlua2VkU2hhZGVyU3RhZ2VzKCkpCisgICAgZ2w6OlNoYWRlck1hcDxjb25zdCBnbDo6UHJvZ3Jh
bVN0YXRlICo+IHByb2dyYW1TdGF0ZXM7CisgICAgZmlsbFByb2dyYW1TdGF0ZU1hcChjb250ZXh0
VmssICZwcm9ncmFtU3RhdGVzKTsKKworICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hh
ZGVyVHlwZSA6IGV4ZWN1dGFibGUtPmdldExpbmtlZFNoYWRlclN0YWdlcygpKQogICAgIHsKICAg
ICAgICAgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCB1aW50MzJfdD4gbWFwcGVkU2Ft
cGxlck5hbWVUb0FycmF5T2Zmc2V0OwotICAgICAgICBmb3IgKHVpbnQzMl90IHRleHR1cmVJbmRl
eCA9IDA7IHRleHR1cmVJbmRleCA8IHByb2dyYW1TdGF0ZS5nZXRTYW1wbGVyQmluZGluZ3MoKS5z
aXplKCk7CisgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgKnByb2dyYW1TdGF0ZSA9IHBy
b2dyYW1TdGF0ZXNbc2hhZGVyVHlwZV07CisgICAgICAgIEFTU0VSVChwcm9ncmFtU3RhdGUpOwor
ICAgICAgICBmb3IgKHVpbnQzMl90IHRleHR1cmVJbmRleCA9IDA7IHRleHR1cmVJbmRleCA8IHBy
b2dyYW1TdGF0ZS0+Z2V0U2FtcGxlckJpbmRpbmdzKCkuc2l6ZSgpOwogICAgICAgICAgICAgICsr
dGV4dHVyZUluZGV4KQogICAgICAgICB7CiAgICAgICAgICAgICBjb25zdCBnbDo6U2FtcGxlckJp
bmRpbmcgJnNhbXBsZXJCaW5kaW5nID0KLSAgICAgICAgICAgICAgICBwcm9ncmFtU3RhdGUuZ2V0
U2FtcGxlckJpbmRpbmdzKClbdGV4dHVyZUluZGV4XTsKKyAgICAgICAgICAgICAgICBwcm9ncmFt
U3RhdGUtPmdldFNhbXBsZXJCaW5kaW5ncygpW3RleHR1cmVJbmRleF07CiAKICAgICAgICAgICAg
IEFTU0VSVCghc2FtcGxlckJpbmRpbmcudW5yZWZlcmVuY2VkKTsKIAotICAgICAgICAgICAgdWlu
dDMyX3QgdW5pZm9ybUluZGV4ID0gcHJvZ3JhbVN0YXRlLmdldFVuaWZvcm1JbmRleEZyb21TYW1w
bGVySW5kZXgodGV4dHVyZUluZGV4KTsKLSAgICAgICAgICAgIGNvbnN0IGdsOjpMaW5rZWRVbmlm
b3JtICZzYW1wbGVyVW5pZm9ybSA9IHByb2dyYW1TdGF0ZS5nZXRVbmlmb3JtcygpW3VuaWZvcm1J
bmRleF07CisgICAgICAgICAgICB1aW50MzJfdCB1bmlmb3JtSW5kZXggPSBwcm9ncmFtU3RhdGUt
PmdldFVuaWZvcm1JbmRleEZyb21TYW1wbGVySW5kZXgodGV4dHVyZUluZGV4KTsKKyAgICAgICAg
ICAgIGNvbnN0IGdsOjpMaW5rZWRVbmlmb3JtICZzYW1wbGVyVW5pZm9ybSA9IHByb2dyYW1TdGF0
ZS0+Z2V0VW5pZm9ybXMoKVt1bmlmb3JtSW5kZXhdOwogICAgICAgICAgICAgc3RkOjpzdHJpbmcg
bWFwcGVkU2FtcGxlck5hbWUgPSBHbHNsYW5nR2V0TWFwcGVkU2FtcGxlck5hbWUoc2FtcGxlclVu
aWZvcm0ubmFtZSk7CiAKICAgICAgICAgICAgIGlmICghc2FtcGxlclVuaWZvcm0uaXNBY3RpdmUo
c2hhZGVyVHlwZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1FeGVjdXRhYmxlVmsuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbUV4ZWN1dGFi
bGVWay5oCmluZGV4IDRiYTc3ZmI4YzM4MWQxMGNiOGMyMDc0NTMyMTI5NDY4MWY4ZWY0NmMuLmQ4
ZWQ2YmQ0MWEzYzYxZmNhMTI5Y2YyNTE5YmU2YzYzZmYyYWM2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbUV4
ZWN1dGFibGVWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vUHJvZ3JhbUV4ZWN1dGFibGVWay5oCkBAIC0xMCw2ICsxMCw3IEBACiAj
aWZuZGVmIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9QUk9HUkFNRVhFQ1VUQUJMRVZLX0hfCiAj
ZGVmaW5lIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9QUk9HUkFNRVhFQ1VUQUJMRVZLX0hfCiAK
KyNpbmNsdWRlICJjb21tb24vYml0c2V0X3V0aWxzLmgiCiAjaW5jbHVkZSAiY29tbW9uL3V0aWxp
dGllcy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL0NvbnRleHQuaCIKICNpbmNsdWRlICJsaWJBTkdM
RS9JbmZvTG9nLmgiCkBAIC0yNyw2ICsyOCw3IEBAIGNsYXNzIFNoYWRlckluZm8gZmluYWwgOiBh
bmdsZTo6Tm9uQ29weWFibGUKICAgICB+U2hhZGVySW5mbygpOwogCiAgICAgYW5nbGU6OlJlc3Vs
dCBpbml0U2hhZGVycyhDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJCaXRTZXQgJmxpbmtlZFNoYWRlclN0YWdlcywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJNYXA8c3RkOjpzdHJp
bmc+ICZzaGFkZXJTb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
U2hhZGVyTWFwSW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICZ2YXJpYWJsZUluZm9NYXApOwogICAg
IHZvaWQgcmVsZWFzZShDb250ZXh0VmsgKmNvbnRleHRWayk7CkBAIC0zNCw2ICszNiw3IEBAIGNs
YXNzIFNoYWRlckluZm8gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBBTkdMRV9JTkxJ
TkUgYm9vbCB2YWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1Jc0luaXRpYWxpemVkOyB9CiAKICAgICBj
b25zdCBnbDo6U2hhZGVyTWFwPFNwaXJ2QmxvYj4gJmdldFNwaXJ2QmxvYnMoKSBjb25zdCB7IHJl
dHVybiBtU3BpcnZCbG9iczsgfQorICAgIGdsOjpTaGFkZXJNYXA8U3BpcnZCbG9iPiAmZ2V0U3Bp
cnZCbG9icygpIHsgcmV0dXJuIG1TcGlydkJsb2JzOyB9CiAKICAgICAvLyBTYXZlIGFuZCBsb2Fk
IGltcGxlbWVudGF0aW9uIGZvciBHTEVTIFByb2dyYW0gQmluYXJ5IHN1cHBvcnQuCiAgICAgdm9p
ZCBsb2FkKGdsOjpCaW5hcnlJbnB1dFN0cmVhbSAqc3RyZWFtKTsKQEAgLTQ0LDYgKzQ3LDE1IEBA
IGNsYXNzIFNoYWRlckluZm8gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBib29sIG1J
c0luaXRpYWxpemVkID0gZmFsc2U7CiB9OwogCitlbnVtIGNsYXNzIFByb2dyYW1UcmFuc2Zvcm1P
cHRpb24gOiB1aW50OF90Cit7CisgICAgRW5hYmxlTGluZVJhc3RlckVtdWxhdGlvbiAgICAgICAg
ICAgID0gMCwKKyAgICBSZW1vdmVFYXJseUZyYWdtZW50VGVzdHNPcHRpbWl6YXRpb24gPSAxLAor
ICAgIEVudW1Db3VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsCisgICAgUGVybXV0
YXRpb25Db3VudCAgICAgICAgICAgICAgICAgICAgID0gNCwKK307Cit1c2luZyBQcm9ncmFtVHJh
bnNmb3JtT3B0aW9uQml0cyA9IGFuZ2xlOjpQYWNrZWRFbnVtQml0U2V0PFByb2dyYW1UcmFuc2Zv
cm1PcHRpb24sIHVpbnQ4X3Q+OworCiBjbGFzcyBQcm9ncmFtSW5mbyBmaW5hbCA6IGFuZ2xlOjpO
b25Db3B5YWJsZQogewogICBwdWJsaWM6CkBAIC01MSwxMSArNjMsMTYgQEAgY2xhc3MgUHJvZ3Jh
bUluZm8gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB+UHJvZ3JhbUluZm8oKTsKIAog
ICAgIGFuZ2xlOjpSZXN1bHQgaW5pdFByb2dyYW0oQ29udGV4dFZrICpjb250ZXh0VmssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2hhZGVySW5mbyAmc2hhZGVy
SW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlTGluZVJhc3Rl
ckVtdWxhdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaGFkZXJN
YXBJbnRlcmZhY2VWYXJpYWJsZUluZm9NYXAgJnZhcmlhYmxlSW5mb01hcCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFByb2dyYW1UcmFuc2Zvcm1PcHRpb25CaXRzIG9wdGlvbkJpdHMp
OwogICAgIHZvaWQgcmVsZWFzZShDb250ZXh0VmsgKmNvbnRleHRWayk7CiAKLSAgICBBTkdMRV9J
TkxJTkUgYm9vbCB2YWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1Qcm9ncmFtSGVscGVyLnZhbGlkKCk7
IH0KKyAgICBBTkdMRV9JTkxJTkUgYm9vbCB2YWxpZChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFk
ZXJUeXBlKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1Qcm9ncmFtSGVscGVyLnZhbGlk
KHNoYWRlclR5cGUpOworICAgIH0KIAogICAgIHZrOjpTaGFkZXJQcm9ncmFtSGVscGVyICpnZXRT
aGFkZXJQcm9ncmFtKCkgeyByZXR1cm4gJm1Qcm9ncmFtSGVscGVyOyB9CiAKQEAgLTk3LDE3ICsx
MTQsMzUgQEAgY2xhc3MgUHJvZ3JhbUV4ZWN1dGFibGVWawogICAgICAgICByZXR1cm4gbVZhcmlh
YmxlSW5mb01hcDsKICAgICB9CiAKKyAgICBQcm9ncmFtVmsgKmdldFNoYWRlclByb2dyYW0oY29u
c3QgZ2w6OlN0YXRlICZnbFN0YXRlLCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdDsK
KworICAgIHZvaWQgZmlsbFByb2dyYW1TdGF0ZU1hcChjb25zdCBDb250ZXh0VmsgKmNvbnRleHRW
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlNoYWRlck1hcDxjb25zdCBnbDo6
UHJvZ3JhbVN0YXRlICo+ICpwcm9ncmFtU3RhdGVzT3V0KTsKKyAgICBjb25zdCBnbDo6UHJvZ3Jh
bUV4ZWN1dGFibGUgJmdldEdsRXhlY3V0YWJsZSgpOworCisgICAgUHJvZ3JhbUluZm8gJmdldEdy
YXBoaWNzRGVmYXVsdFByb2dyYW1JbmZvKCkgeyByZXR1cm4gbUdyYXBoaWNzUHJvZ3JhbUluZm9z
WzBdOyB9CisgICAgUHJvZ3JhbUluZm8gJmdldEdyYXBoaWNzUHJvZ3JhbUluZm8oUHJvZ3JhbVRy
YW5zZm9ybU9wdGlvbkJpdHMgb3B0aW9uQml0cykKKyAgICB7CisgICAgICAgIHJldHVybiBtR3Jh
cGhpY3NQcm9ncmFtSW5mb3Nbb3B0aW9uQml0cy50b191bG9uZygpXTsKKyAgICB9CisgICAgUHJv
Z3JhbUluZm8gJmdldENvbXB1dGVQcm9ncmFtSW5mbygpIHsgcmV0dXJuIG1Db21wdXRlUHJvZ3Jh
bUluZm87IH0KKworICAgIGFuZ2xlOjpSZXN1bHQgZ2V0R3JhcGhpY3NQaXBlbGluZShDb250ZXh0
VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6
OlByaW1pdGl2ZU1vZGUgbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdms6OkdyYXBoaWNzUGlwZWxpbmVEZXNjICZkZXNjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6QXR0cmlidXRlc01hc2sgJmFjdGl2ZUF0
dHJpYkxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdms6OkdyYXBoaWNzUGlwZWxpbmVEZXNjICoqZGVzY1B0ck91dCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdms6OlBpcGVsaW5lSGVscGVyICoqcGlwZWxpbmVPdXQp
OworCisgICAgYW5nbGU6OlJlc3VsdCBnZXRDb21wdXRlUGlwZWxpbmUoQ29udGV4dFZrICpjb250
ZXh0VmssIHZrOjpQaXBlbGluZUFuZFNlcmlhbCAqKnBpcGVsaW5lT3V0KTsKKwogICAgIGNvbnN0
IHZrOjpQaXBlbGluZUxheW91dCAmZ2V0UGlwZWxpbmVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBt
UGlwZWxpbmVMYXlvdXQuZ2V0KCk7IH0KLSAgICBhbmdsZTo6UmVzdWx0IGNyZWF0ZVBpcGVsaW5l
TGF5b3V0KGNvbnN0IGdsOjpDb250ZXh0ICpnbENvbnRleHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0
YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQ
cm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSk7Ci0KLSAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZVRl
eHR1cmVzRGVzY3JpcHRvclNldChjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGV4dFZr
ICpjb250ZXh0VmspOwotICAgIGFuZ2xlOjpSZXN1bHQgdXBkYXRlU2hhZGVyUmVzb3VyY2VzRGVz
Y3JpcHRvclNldChjb25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRleHRWayAq
Y29udGV4dFZrLAorICAgIGFuZ2xlOjpSZXN1bHQgY3JlYXRlUGlwZWxpbmVMYXlvdXQoY29uc3Qg
Z2w6OkNvbnRleHQgKmdsQ29udGV4dCk7CisKKyAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZVRleHR1
cmVzRGVzY3JpcHRvclNldChDb250ZXh0VmsgKmNvbnRleHRWayk7CisgICAgYW5nbGU6OlJlc3Vs
dCB1cGRhdGVTaGFkZXJSZXNvdXJjZXNEZXNjcmlwdG9yU2V0KENvbnRleHRWayAqY29udGV4dFZr
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRCdWZmZXJIZWxwZXIgKmNv
bW1hbmRCdWZmZXJIZWxwZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlckhlbHBlciAqY29tbWFuZEJ1ZmZlckhl
bHBlcik7CiAgICAgYW5nbGU6OlJlc3VsdCB1cGRhdGVUcmFuc2Zvcm1GZWVkYmFja0Rlc2NyaXB0
b3JTZXQoCiAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKICAg
ICAgICAgZ2w6OlNoYWRlck1hcDxEZWZhdWx0VW5pZm9ybUJsb2NrPiAmZGVmYXVsdFVuaWZvcm1C
bG9ja3MsCkBAIC0xMTUsNiArMTUwLDE5IEBAIGNsYXNzIFByb2dyYW1FeGVjdXRhYmxlVmsKIAog
ICAgIGFuZ2xlOjpSZXN1bHQgdXBkYXRlRGVzY3JpcHRvclNldHMoQ29udGV4dFZrICpjb250ZXh0
VmssIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKIAorICAgIHZvaWQgdXBkYXRl
RWFybHlGcmFnbWVudFRlc3RzT3B0aW1pemF0aW9uKENvbnRleHRWayAqY29udGV4dFZrKTsKKwor
ICAgIHZvaWQgc2V0UHJvZ3JhbShQcm9ncmFtVmsgKnByb2dyYW0pCisgICAgeworICAgICAgICBB
U1NFUlQoIW1Qcm9ncmFtICYmICFtUHJvZ3JhbVBpcGVsaW5lKTsKKyAgICAgICAgbVByb2dyYW0g
PSBwcm9ncmFtOworICAgIH0KKyAgICB2b2lkIHNldFByb2dyYW1QaXBlbGluZShQcm9ncmFtUGlw
ZWxpbmVWayAqcGlwZWxpbmUpCisgICAgeworICAgICAgICBBU1NFUlQoIW1Qcm9ncmFtICYmICFt
UHJvZ3JhbVBpcGVsaW5lKTsKKyAgICAgICAgbVByb2dyYW1QaXBlbGluZSA9IHBpcGVsaW5lOwor
ICAgIH0KKwogICBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9ncmFtVms7CiAgICAgZnJp
ZW5kIGNsYXNzIFByb2dyYW1QaXBlbGluZVZrOwpAQCAtMTM4LDcgKzE4Niw3IEBAIGNsYXNzIFBy
b2dyYW1FeGVjdXRhYmxlVmsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
azo6RGVzY3JpcHRvclNldExheW91dERlc2MgKmRlc2NPdXQpOwogCiAgICAgdm9pZCB1cGRhdGVE
ZWZhdWx0VW5pZm9ybXNEZXNjcmlwdG9yU2V0KAotICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbVN0
YXRlICZwcm9ncmFtU3RhdGUsCisgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5
cGUsCiAgICAgICAgIGdsOjpTaGFkZXJNYXA8RGVmYXVsdFVuaWZvcm1CbG9jaz4gJmRlZmF1bHRV
bmlmb3JtQmxvY2tzLAogICAgICAgICBDb250ZXh0VmsgKmNvbnRleHRWayk7CiAgICAgdm9pZCB1
cGRhdGVUcmFuc2Zvcm1GZWVkYmFja0Rlc2NyaXB0b3JTZXRJbXBsKGNvbnN0IGdsOjpQcm9ncmFt
U3RhdGUgJnByb2dyYW1TdGF0ZSwKQEAgLTE0NiwxNCArMTk0LDE0IEBAIGNsYXNzIFByb2dyYW1F
eGVjdXRhYmxlVmsKICAgICB2b2lkIHVwZGF0ZUJ1ZmZlcnNEZXNjcmlwdG9yU2V0KENvbnRleHRW
ayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRCdWZmZXJIZWxwZXIgKmNvbW1hbmRCdWZm
ZXJIZWxwZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q29tbWFu
ZEJ1ZmZlckhlbHBlciAqY29tbWFuZEJ1ZmZlckhlbHBlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGdsOjpJbnRlcmZhY2VCbG9jaz4gJmJs
b2NrcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGVzY3JpcHRvclR5
cGUgZGVzY3JpcHRvclR5cGUpOwogICAgIHZvaWQgdXBkYXRlQXRvbWljQ291bnRlckJ1ZmZlcnNE
ZXNjcmlwdG9yU2V0KGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U2hh
ZGVyVHlwZSBzaGFkZXJUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNl
VXNlTGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb21tYW5kQnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVySGVscGVyKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlckhl
bHBlciAqY29tbWFuZEJ1ZmZlckhlbHBlcik7CiAgICAgYW5nbGU6OlJlc3VsdCB1cGRhdGVJbWFn
ZXNEZXNjcmlwdG9yU2V0KGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnByb2dyYW1TdGF0ZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlNoYWRl
clR5cGUgc2hhZGVyVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ29udGV4dFZrICpjb250ZXh0VmspOwpAQCAtMTkzLDggKzI0MSwxMyBAQCBjbGFzcyBQ
cm9ncmFtRXhlY3V0YWJsZVZrCiAgICAgLy8gc2luY2UgdGhhdCdzIHNsb3cgdG8gY2FsY3VsYXRl
LgogICAgIFNoYWRlck1hcEludGVyZmFjZVZhcmlhYmxlSW5mb01hcCBtVmFyaWFibGVJbmZvTWFw
OwogCi0gICAgUHJvZ3JhbUluZm8gbURlZmF1bHRQcm9ncmFtSW5mbzsKLSAgICBQcm9ncmFtSW5m
byBtTGluZVJhc3RlclByb2dyYW1JbmZvOworICAgIFByb2dyYW1JbmZvIG1HcmFwaGljc1Byb2dy
YW1JbmZvc1tzdGF0aWNfY2FzdDxpbnQ+KFByb2dyYW1UcmFuc2Zvcm1PcHRpb246OlBlcm11dGF0
aW9uQ291bnQpXTsKKyAgICBQcm9ncmFtSW5mbyBtQ29tcHV0ZVByb2dyYW1JbmZvOworCisgICAg
UHJvZ3JhbVRyYW5zZm9ybU9wdGlvbkJpdHMgbVRyYW5zZm9ybU9wdGlvbkJpdHM7CisKKyAgICBQ
cm9ncmFtVmsgKm1Qcm9ncmFtOworICAgIFByb2dyYW1QaXBlbGluZVZrICptUHJvZ3JhbVBpcGVs
aW5lOwogfTsKIAogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1QaXBlbGluZVZr
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vUHJvZ3JhbVBpcGVsaW5lVmsuY3BwCmluZGV4IGRmNjM4NzgxMjVhYzA1MGVjYjZjNDViNzhl
M2JiNjE2ZDllMzI3ZTQuLjhlYjJjNmRkNjg5NDg1ZjVkZGJlYzFlOWNlMjI0N2M0NTNmYmMzMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vUHJvZ3JhbVBpcGVsaW5lVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVBpcGVsaW5lVmsuY3BwCkBA
IC05LDEzICs5LDE3NSBAQAogCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1By
b2dyYW1QaXBlbGluZVZrLmgiCiAKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9nbHNsYW5n
X3dyYXBwZXJfdXRpbHMuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vR2xz
bGFuZ1dyYXBwZXJWay5oIgorCiBuYW1lc3BhY2UgcngKIHsKIAogUHJvZ3JhbVBpcGVsaW5lVms6
OlByb2dyYW1QaXBlbGluZVZrKGNvbnN0IGdsOjpQcm9ncmFtUGlwZWxpbmVTdGF0ZSAmc3RhdGUp
CiAgICAgOiBQcm9ncmFtUGlwZWxpbmVJbXBsKHN0YXRlKQote30KK3sKKyAgICBtRXhlY3V0YWJs
ZS5zZXRQcm9ncmFtUGlwZWxpbmUodGhpcyk7Cit9CiAKIFByb2dyYW1QaXBlbGluZVZrOjp+UHJv
Z3JhbVBpcGVsaW5lVmsoKSB7fQogCit2b2lkIFByb2dyYW1QaXBlbGluZVZrOjpkZXN0cm95KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQoreworICAgIENvbnRleHRWayAqY29udGV4dFZrID0g
dms6OkdldEltcGwoY29udGV4dCk7CisgICAgcmVzZXQoY29udGV4dFZrKTsKK30KKwordm9pZCBQ
cm9ncmFtUGlwZWxpbmVWazo6cmVzZXQoQ29udGV4dFZrICpjb250ZXh0VmspCit7CisgICAgbUV4
ZWN1dGFibGUucmVzZXQoY29udGV4dFZrKTsKK30KKworLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVn
LmNvbS8zNTcwOiBNb3ZlL0NvcHkgYWxsIG9mIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gaW50
bworLy8gdGhlIFByb2dyYW1FeGVjdXRhYmxlLCBzbyB0aGlzIGZ1bmN0aW9uIGNhbiBiZSByZW1v
dmVkLgordm9pZCBQcm9ncmFtUGlwZWxpbmVWazo6ZmlsbFByb2dyYW1TdGF0ZU1hcCgKKyAgICBj
b25zdCBDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICBnbDo6U2hhZGVyTWFwPGNvbnN0IGdsOjpQ
cm9ncmFtU3RhdGUgKj4gKnByb2dyYW1TdGF0ZXNPdXQpCit7CisgICAgZm9yIChnbDo6U2hhZGVy
VHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5cGVzKCkpCisgICAgeworICAgICAgICAo
KnByb2dyYW1TdGF0ZXNPdXQpW3NoYWRlclR5cGVdID0gbnVsbHB0cjsKKworICAgICAgICBQcm9n
cmFtVmsgKnByb2dyYW1WayA9IGdldFNoYWRlclByb2dyYW0oY29udGV4dFZrLT5nZXRTdGF0ZSgp
LCBzaGFkZXJUeXBlKTsKKyAgICAgICAgaWYgKHByb2dyYW1WaykKKyAgICAgICAgeworICAgICAg
ICAgICAgKCpwcm9ncmFtU3RhdGVzT3V0KVtzaGFkZXJUeXBlXSA9ICZwcm9ncmFtVmstPmdldFN0
YXRlKCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2FuZ2xlOjpSZXN1bHQgUHJvZ3JhbVBpcGVs
aW5lVms6OmxpbmsoY29uc3QgZ2w6OkNvbnRleHQgKmdsQ29udGV4dCkKK3sKKyAgICBDb250ZXh0
VmsgKmNvbnRleHRWayAgICAgICAgICAgICAgICAgID0gdms6OkdldEltcGwoZ2xDb250ZXh0KTsK
KyAgICBjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUgICAgICAgICAgICAgID0gZ2xDb250ZXh0LT5n
ZXRTdGF0ZSgpOworICAgIGNvbnN0IGdsOjpQcm9ncmFtUGlwZWxpbmUgKmdsUGlwZWxpbmUgPSBn
bFN0YXRlLmdldFByb2dyYW1QaXBlbGluZSgpOworICAgIEdsc2xhbmdTb3VyY2VPcHRpb25zIG9w
dGlvbnMgPQorICAgICAgICBHbHNsYW5nV3JhcHBlclZrOjpDcmVhdGVTb3VyY2VPcHRpb25zKGNv
bnRleHRWay0+Z2V0UmVuZGVyZXIoKS0+Z2V0RmVhdHVyZXMoKSk7CisgICAgR2xzbGFuZ1Byb2dy
YW1JbnRlcmZhY2VJbmZvIGdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbzsKKyAgICBHbHNsYW5n
V3JhcHBlclZrOjpSZXNldEdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbygmZ2xzbGFuZ1Byb2dy
YW1JbnRlcmZhY2VJbmZvKTsKKworICAgIG1FeGVjdXRhYmxlLmNsZWFyVmFyaWFibGVJbmZvTWFw
KCk7CisKKyAgICAvLyBOb3cgdGhhdCB0aGUgcHJvZ3JhbSBwaXBlbGluZSBoYXMgYWxsIG9mIHRo
ZSBwcm9ncmFtcyBhdHRhY2hlZCwgdGhlIHZhcmlvdXMgZGVzY3JpcHRvcgorICAgIC8vIHNldC9i
aW5kaW5nIGxvY2F0aW9ucyBuZWVkIHRvIGJlIHJlLWFzc2lnbmVkIHRvIHRoZWlyIGNvcnJlY3Qg
dmFsdWVzLgorICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdsUGlw
ZWxpbmUtPmdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7Cisg
ICAgICAgIGdsOjpQcm9ncmFtICpnbFByb2dyYW0gPQorICAgICAgICAgICAgY29uc3RfY2FzdDxn
bDo6UHJvZ3JhbSAqPihnbFBpcGVsaW5lLT5nZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpKTsK
KyAgICAgICAgaWYgKGdsUHJvZ3JhbSkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gVGhlIHBy
b2dyYW0gaW50ZXJmYWNlIGluZm8gbXVzdCBzdXJ2aXZlIGFjcm9zcyBzaGFkZXJzLCBleGNlcHQK
KyAgICAgICAgICAgIC8vIGZvciBzb21lIHByb2dyYW0tc3BlY2lmaWMgdmFsdWVzLgorICAgICAg
ICAgICAgUHJvZ3JhbVZrICpwcm9ncmFtVmsgPSB2azo6R2V0SW1wbChnbFByb2dyYW0pOworICAg
ICAgICAgICAgR2xzbGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZvICZwcm9ncmFtUHJvZ3JhbUludGVy
ZmFjZUluZm8gPQorICAgICAgICAgICAgICAgIHByb2dyYW1Way0+Z2V0R2xzbGFuZ1Byb2dyYW1J
bnRlcmZhY2VJbmZvKCk7CisgICAgICAgICAgICBnbHNsYW5nUHJvZ3JhbUludGVyZmFjZUluZm8u
bG9jYXRpb25zVXNlZEZvclhmYkV4dGVuc2lvbiA9CisgICAgICAgICAgICAgICAgcHJvZ3JhbVBy
b2dyYW1JbnRlcmZhY2VJbmZvLmxvY2F0aW9uc1VzZWRGb3JYZmJFeHRlbnNpb247CisKKyAgICAg
ICAgICAgIEdsc2xhbmdBc3NpZ25Mb2NhdGlvbnMob3B0aW9ucywgZ2xQcm9ncmFtLT5nZXRTdGF0
ZSgpLmdldEV4ZWN1dGFibGUoKSwgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmdsc2xhbmdQcm9ncmFtSW50ZXJmYWNlSW5mbywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJm1FeGVjdXRhYmxlLmdldFNoYWRlckludGVyZmFjZVZhcmlh
YmxlSW5mb01hcCgpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEFOR0xFX1RSWSh0cmFuc2Zv
cm1TaGFkZXJTcGlyVihnbENvbnRleHQpKTsKKworICAgIHJldHVybiBtRXhlY3V0YWJsZS5jcmVh
dGVQaXBlbGluZUxheW91dChnbENvbnRleHQpOworfQorCithbmdsZTo6UmVzdWx0IFByb2dyYW1Q
aXBlbGluZVZrOjp0cmFuc2Zvcm1TaGFkZXJTcGlyVihjb25zdCBnbDo6Q29udGV4dCAqZ2xDb250
ZXh0KQoreworICAgIENvbnRleHRWayAqY29udGV4dFZrICAgICAgICAgICAgICAgICAgICA9IHZr
OjpHZXRJbXBsKGdsQ29udGV4dCk7CisgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICpl
eGVjdXRhYmxlID0gY29udGV4dFZrLT5nZXRTdGF0ZSgpLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7
CisgICAgQVNTRVJUKGV4ZWN1dGFibGUpOworCisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlw
ZSBzaGFkZXJUeXBlIDogZXhlY3V0YWJsZS0+Z2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCisgICAg
eworICAgICAgICBQcm9ncmFtVmsgKnByb2dyYW1WayA9IGdldFNoYWRlclByb2dyYW0oY29udGV4
dFZrLT5nZXRTdGF0ZSgpLCBzaGFkZXJUeXBlKTsKKyAgICAgICAgaWYgKHByb2dyYW1WaykKKyAg
ICAgICAgeworICAgICAgICAgICAgU2hhZGVySW50ZXJmYWNlVmFyaWFibGVJbmZvTWFwICZ2YXJp
YWJsZUluZm9NYXAgPQorICAgICAgICAgICAgICAgIG1FeGVjdXRhYmxlLm1WYXJpYWJsZUluZm9N
YXBbc2hhZGVyVHlwZV07CisgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx1aW50MzJfdD4gdHJhbnNm
b3JtZWRTcGlydkJsb2I7CisKKyAgICAgICAgICAgIC8vIFdlIHNraXAgZWFybHkgZnJhZ21lbnQg
dGVzdHMgb3B0aW1pemF0aW9uIG1vZGlmaWNhdGlvbiBoZXJlIHNpbmNlIHdlIG5lZWQgdG8ga2Vl
cAorICAgICAgICAgICAgLy8gb3JpZ2luYWwgc3ByaXYgYmxvYiBoZXJlLgorICAgICAgICAgICAg
QU5HTEVfVFJZKEdsc2xhbmdXcmFwcGVyVms6OlRyYW5zZm9ybVNwaXJWKAorICAgICAgICAgICAg
ICAgIGNvbnRleHRWaywgc2hhZGVyVHlwZSwgZmFsc2UsIHZhcmlhYmxlSW5mb01hcCwKKyAgICAg
ICAgICAgICAgICBwcm9ncmFtVmstPmdldFNoYWRlckluZm8oKS5nZXRTcGlydkJsb2JzKClbc2hh
ZGVyVHlwZV0sICZ0cmFuc2Zvcm1lZFNwaXJ2QmxvYikpOworCisgICAgICAgICAgICAvLyBTYXZl
IHRoZSBuZXdseSB0cmFuc2Zvcm1lZCBTUElSLVYKKyAgICAgICAgICAgIC8vIFRPRE86IGh0dHA6
Ly9hbmdsZWJ1Zy5jb20vNDUxMzogS2VlcCB0aGUgb3JpZ2luYWwgU1BJUi1WIGFuZAorICAgICAg
ICAgICAgLy8gdHJhbnNsYXRlZCBTUElSLVYgaW4gc2VwYXJhdGUgYnVmZmVycyBpbiBTaGFkZXJJ
bmZvIHRvIGF2b2lkIHRoZQorICAgICAgICAgICAgLy8gZXh0cmEgY29weSBoZXJlLgorICAgICAg
ICAgICAgcHJvZ3JhbVZrLT5nZXRTaGFkZXJJbmZvKCkuZ2V0U3BpcnZCbG9icygpW3NoYWRlclR5
cGVdID0gdHJhbnNmb3JtZWRTcGlydkJsb2I7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQorCithbmdsZTo6UmVzdWx0IFByb2dyYW1QaXBl
bGluZVZrOjp1cGRhdGVVbmlmb3JtcyhDb250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICB1aW50
MzJfdCBvZmZzZXRJbmRleCAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgYm9vbCBhbnlO
ZXdCdWZmZXJBbGxvY2F0ZWQgICAgICAgICAgICAgICAgPSBmYWxzZTsKKyAgICBjb25zdCBnbDo6
UHJvZ3JhbUV4ZWN1dGFibGUgKmdsRXhlY3V0YWJsZSA9IGNvbnRleHRWay0+Z2V0U3RhdGUoKS5n
ZXRQcm9ncmFtRXhlY3V0YWJsZSgpOworCisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlIDogZ2xFeGVjdXRhYmxlLT5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICB7
CisgICAgICAgIFByb2dyYW1WayAqcHJvZ3JhbVZrID0gZ2V0U2hhZGVyUHJvZ3JhbShjb250ZXh0
VmstPmdldFN0YXRlKCksIHNoYWRlclR5cGUpOworICAgICAgICBpZiAocHJvZ3JhbVZrICYmIHBy
b2dyYW1Way0+ZGlydHlVbmlmb3JtcygpKQorICAgICAgICB7CisgICAgICAgICAgICBBTkdMRV9U
UlkocHJvZ3JhbVZrLT51cGRhdGVTaGFkZXJVbmlmb3JtcygKKyAgICAgICAgICAgICAgICBjb250
ZXh0VmssIHNoYWRlclR5cGUsICZtRXhlY3V0YWJsZS5tRHluYW1pY0J1ZmZlck9mZnNldHNbb2Zm
c2V0SW5kZXhdLAorICAgICAgICAgICAgICAgICZhbnlOZXdCdWZmZXJBbGxvY2F0ZWQpKTsKKyAg
ICAgICAgfQorICAgICAgICArK29mZnNldEluZGV4OworICAgIH0KKworICAgIC8vIFRoZSBQUE8n
cyBsaXN0IG9mIGRlc2NyaXB0b3Igc2V0cyBiZWluZyBlbXB0eSB3aXRob3V0IGEgbmV3IGJ1ZmZl
ciBiZWluZyBhbGxvY2F0ZWQgaW5kaWNhdGVzCisgICAgLy8gYSBQcm9ncmFtIHRoYXQgd2FzIGFs
cmVhZHkgdXNlZCBpbiBhIGRyYXcgY29tbWFuZCAoYW5kIHRodXMgYWxyZWFkeSBhbGxvY2F0ZWQg
dW5pZm9ybQorICAgIC8vIGJ1ZmZlcnMpIGhhcyBiZWVuIGJvdW5kIHRvIHRoaXMgUFBPLgorICAg
IGlmIChhbnlOZXdCdWZmZXJBbGxvY2F0ZWQgfHwgbUV4ZWN1dGFibGUubURlc2NyaXB0b3JTZXRz
LmVtcHR5KCkpCisgICAgeworICAgICAgICAvLyBXZSBuZWVkIHRvIHJlaW5pdGlhbGl6ZSB0aGUg
ZGVzY3JpcHRvciBzZXRzIGlmIHdlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXJzIHNpbmNlIHdlIGNh
bid0CisgICAgICAgIC8vIG1vZGlmeSB0aGUgZGVzY3JpcHRvciBzZXRzIG9uY2UgaW5pdGlhbGl6
ZWQuCisgICAgICAgIEFOR0xFX1RSWShtRXhlY3V0YWJsZS5hbGxvY2F0ZURlc2NyaXB0b3JTZXQo
Y29udGV4dFZrLCBrVW5pZm9ybXNBbmRYZmJEZXNjcmlwdG9yU2V0SW5kZXgpKTsKKworICAgICAg
ICBtRXhlY3V0YWJsZS5tRGVzY3JpcHRvckJ1ZmZlcnNDYWNoZS5jbGVhcigpOworICAgICAgICBm
b3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbEV4ZWN1dGFibGUtPmdldExp
bmtlZFNoYWRlclN0YWdlcygpKQorICAgICAgICB7CisgICAgICAgICAgICBQcm9ncmFtVmsgKnBy
b2dyYW1WayA9IGdldFNoYWRlclByb2dyYW0oY29udGV4dFZrLT5nZXRTdGF0ZSgpLCBzaGFkZXJU
eXBlKTsKKyAgICAgICAgICAgIGlmIChwcm9ncmFtVmspCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgbUV4ZWN1dGFibGUudXBkYXRlRGVmYXVsdFVuaWZvcm1zRGVzY3JpcHRvclNldCgK
KyAgICAgICAgICAgICAgICAgICAgc2hhZGVyVHlwZSwgcHJvZ3JhbVZrLT5nZXREZWZhdWx0VW5p
Zm9ybUJsb2NrcygpLCBjb250ZXh0VmspOworICAgICAgICAgICAgICAgIG1FeGVjdXRhYmxlLnVw
ZGF0ZVRyYW5zZm9ybUZlZWRiYWNrRGVzY3JpcHRvclNldEltcGwocHJvZ3JhbVZrLT5nZXRTdGF0
ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGV4dFZrKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKworYm9vbCBQ
cm9ncmFtUGlwZWxpbmVWazo6ZGlydHlVbmlmb3Jtcyhjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUp
Cit7CisgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNo
YWRlclR5cGVzKCkpCisgICAgeworICAgICAgICBjb25zdCBQcm9ncmFtVmsgKnByb2dyYW0gPSBn
ZXRTaGFkZXJQcm9ncmFtKGdsU3RhdGUsIHNoYWRlclR5cGUpOworICAgICAgICBpZiAocHJvZ3Jh
bSAmJiBwcm9ncmFtLT5kaXJ0eVVuaWZvcm1zKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9
ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVBpcGVsaW5lVmsuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVBpcGVs
aW5lVmsuaAppbmRleCBkOTg4MTBmZmQ0ZmJkZWQ1NjQyMWI3MGE5ZTZmNTVkOTYxOGQzYTExLi42
OTQ3ZDk3YTA5NWU0YzFhZmRjZjYzMWRhYjdmZWE3MDI0ZDhhZjRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1Q
aXBlbGluZVZrLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9Qcm9ncmFtUGlwZWxpbmVWay5oCkBAIC0xMiw2ICsxMiwxMCBAQAogCiAj
aW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvUHJvZ3JhbVBpcGVsaW5lSW1wbC5oIgogCisjaW5j
bHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbnRleHRWay5oIgorI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Qcm9ncmFtRXhlY3V0YWJsZVZrLmgiCisjaW5jbHVkZSAi
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1Way5oIgorCiBuYW1lc3BhY2UgcngKIHsK
IApAQCAtMjAsNiArMjQsMzcgQEAgY2xhc3MgUHJvZ3JhbVBpcGVsaW5lVmsgOiBwdWJsaWMgUHJv
Z3JhbVBpcGVsaW5lSW1wbAogICBwdWJsaWM6CiAgICAgUHJvZ3JhbVBpcGVsaW5lVmsoY29uc3Qg
Z2w6OlByb2dyYW1QaXBlbGluZVN0YXRlICZzdGF0ZSk7CiAgICAgflByb2dyYW1QaXBlbGluZVZr
KCkgb3ZlcnJpZGU7CisKKyAgICB2b2lkIGRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQpIG92ZXJyaWRlOworICAgIHZvaWQgcmVzZXQoQ29udGV4dFZrICpjb250ZXh0VmspOworCisg
ICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGVWayAmZ2V0RXhlY3V0YWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG1FeGVjdXRhYmxlOyB9CisgICAgUHJvZ3JhbUV4ZWN1dGFibGVWayAmZ2V0RXhlY3V0YWJs
ZSgpIHsgcmV0dXJuIG1FeGVjdXRhYmxlOyB9CisKKyAgICBQcm9ncmFtVmsgKmdldFNoYWRlclBy
b2dyYW0oY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlLCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBl
KSBjb25zdAorICAgIHsKKyAgICAgICAgZ2w6OlByb2dyYW1QaXBlbGluZSAqcGlwZWxpbmUgPSBn
bFN0YXRlLmdldFByb2dyYW1QaXBlbGluZSgpOworICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbSAq
cHJvZ3JhbSAgICA9IHBpcGVsaW5lLT5nZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAg
ICAgICBpZiAocHJvZ3JhbSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHZrOjpHZXRJ
bXBsKHByb2dyYW0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0K
KworICAgIHZvaWQgZmlsbFByb2dyYW1TdGF0ZU1hcChjb25zdCBDb250ZXh0VmsgKmNvbnRleHRW
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlNoYWRlck1hcDxjb25zdCBnbDo6
UHJvZ3JhbVN0YXRlICo+ICpwcm9ncmFtU3RhdGVzT3V0KTsKKworICAgIGFuZ2xlOjpSZXN1bHQg
bGluayhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgb3ZlcnJpZGU7CisKKyAgICBhbmdsZTo6
UmVzdWx0IHRyYW5zZm9ybVNoYWRlclNwaXJWKGNvbnN0IGdsOjpDb250ZXh0ICpnbENvbnRleHQp
OworCisgICAgYW5nbGU6OlJlc3VsdCB1cGRhdGVVbmlmb3JtcyhDb250ZXh0VmsgKmNvbnRleHRW
ayk7CisKKyAgICBib29sIGRpcnR5VW5pZm9ybXMoY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlKTsK
KworICBwcml2YXRlOgorICAgIFByb2dyYW1FeGVjdXRhYmxlVmsgbUV4ZWN1dGFibGU7CiB9Owog
CiB9ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVZrLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVZrLmNwcApp
bmRleCAzZWEwMjc0Mzg1NzUyNjE1ZjU1YmQxOTI4NDZkMGIyYzMzOWY2MTliLi41YWQxNTMwN2Q4
NmJiOGY1ZmFlNGQ1ZmYyMjJkMzRiZWNiMWFlY2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1Way5jcHAKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Q
cm9ncmFtVmsuY3BwCkBAIC0xNjQsNiArMTY0LDcgQEAgY2xhc3MgU3RkMTQwQmxvY2tMYXlvdXRF
bmNvZGVyRmFjdG9yeSA6IHB1YmxpYyBnbDo6Q3VzdG9tQmxvY2tMYXlvdXRFbmNvZGVyRmFjdG8K
IFByb2dyYW1Wazo6UHJvZ3JhbVZrKGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnN0YXRlKSA6IFBy
b2dyYW1JbXBsKHN0YXRlKQogewogICAgIEdsc2xhbmdXcmFwcGVyVms6OlJlc2V0R2xzbGFuZ1By
b2dyYW1JbnRlcmZhY2VJbmZvKCZtR2xzbGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZvKTsKKyAgICBt
RXhlY3V0YWJsZS5zZXRQcm9ncmFtKHRoaXMpOwogfQogCiBQcm9ncmFtVms6On5Qcm9ncmFtVmso
KSA9IGRlZmF1bHQ7CkBAIC0yMjgsOCArMjI5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPHJ4OjpMaW5r
RXZlbnQ+IFByb2dyYW1Wazo6bG9hZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8TGlua0V2ZW50RG9uZT4oc3RhdHVzKTsKICAgICB9
CiAKLSAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1TdGF0
ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOwotICAgIHN0YXR1cyA9IG1FeGVjdXRhYmxlLmNyZWF0
ZVBpcGVsaW5lTGF5b3V0KGNvbnRleHQsIGdsRXhlY3V0YWJsZSwgbVN0YXRlKTsKKyAgICBzdGF0
dXMgPSBtRXhlY3V0YWJsZS5jcmVhdGVQaXBlbGluZUxheW91dChjb250ZXh0KTsKICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxMaW5rRXZlbnREb25lPihzdGF0dXMpOwogfQogCkBAIC0yNjAs
MTIgKzI2MCwyNiBAQCB2b2lkIFByb2dyYW1Wazo6c2F2ZShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwgZ2w6OkJpbmFyeU91dHB1dFN0cmVhbSAqc3RyZWFtKQogCiB2b2lkIFByb2dyYW1Wazo6
c2V0QmluYXJ5UmV0cmlldmFibGVIaW50KGJvb2wgcmV0cmlldmFibGUpCiB7Ci0gICAgVU5JTVBM
RU1FTlRFRCgpOworICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZSB5ZXQuCiB9CiAKIHZvaWQgUHJv
Z3JhbVZrOjpzZXRTZXBhcmFibGUoYm9vbCBzZXBhcmFibGUpCiB7Ci0gICAgLy8gTm9odGluZyB0
byBkbyBoZXJlIHlldC4KKyAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUgeWV0LgorfQorCisvLyBU
T0RPOiBodHRwOi8vYW5nbGVidWcuY29tLzM1NzA6IE1vdmUvQ29weSBhbGwgb2YgdGhlIG5lY2Vz
c2FyeSBpbmZvcm1hdGlvbiBpbnRvCisvLyB0aGUgUHJvZ3JhbUV4ZWN1dGFibGUsIHNvIHRoaXMg
ZnVuY3Rpb24gY2FuIGJlIHJlbW92ZWQuCit2b2lkIFByb2dyYW1Wazo6ZmlsbFByb2dyYW1TdGF0
ZU1hcChnbDo6U2hhZGVyTWFwPGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgKj4gKnByb2dyYW1TdGF0
ZXNPdXQpCit7CisgICAgZm9yIChnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNo
YWRlclR5cGVzKCkpCisgICAgeworICAgICAgICAoKnByb2dyYW1TdGF0ZXNPdXQpW3NoYWRlclR5
cGVdID0gbnVsbHB0cjsKKyAgICAgICAgaWYgKG1TdGF0ZS5nZXRFeGVjdXRhYmxlKCkuaGFzTGlu
a2VkU2hhZGVyU3RhZ2Uoc2hhZGVyVHlwZSkpCisgICAgICAgIHsKKyAgICAgICAgICAgICgqcHJv
Z3JhbVN0YXRlc091dClbc2hhZGVyVHlwZV0gPSAmbVN0YXRlOworICAgICAgICB9CisgICAgfQog
fQogCiBzdGQ6OnVuaXF1ZV9wdHI8TGlua0V2ZW50PiBQcm9ncmFtVms6OmxpbmsoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCkBAIC0yODgsNyArMzAyLDggQEAgc3RkOjp1bmlxdWVfcHRyPExp
bmtFdmVudD4gUHJvZ3JhbVZrOjpsaW5rKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogCiAg
ICAgLy8gQ29tcGlsZSB0aGUgc2hhZGVycy4KICAgICBhbmdsZTo6UmVzdWx0IHN0YXR1cyA9Ci0g
ICAgICAgIG1TaGFkZXJJbmZvLmluaXRTaGFkZXJzKGNvbnRleHRWaywgc2hhZGVyU291cmNlcywg
bUV4ZWN1dGFibGUubVZhcmlhYmxlSW5mb01hcCk7CisgICAgICAgIG1TaGFkZXJJbmZvLmluaXRT
aGFkZXJzKGNvbnRleHRWaywgbVN0YXRlLmdldEV4ZWN1dGFibGUoKS5nZXRMaW5rZWRTaGFkZXJT
dGFnZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGVyU291cmNlcywg
bUV4ZWN1dGFibGUubVZhcmlhYmxlSW5mb01hcCk7CiAgICAgaWYgKHN0YXR1cyAhPSBhbmdsZTo6
UmVzdWx0OjpDb250aW51ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVl
PExpbmtFdmVudERvbmU+KHN0YXR1cyk7CkBAIC0zMDIsOCArMzE3LDcgQEAgc3RkOjp1bmlxdWVf
cHRyPExpbmtFdmVudD4gUHJvZ3JhbVZrOjpsaW5rKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogCiAgICAgLy8gVE9ETyhqaWUuYS5jaGVuQGludGVsLmNvbSk6IFBhcmFsbGVsaXplIGxpbmtp
bmcuCiAgICAgLy8gaHR0cDovL2NyYnVnLmNvbS84NDk1NzYKLSAgICBjb25zdCBnbDo6UHJvZ3Jh
bUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgp
OwotICAgIHN0YXR1cyA9IG1FeGVjdXRhYmxlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KGNvbnRleHQs
IGdsRXhlY3V0YWJsZSwgbVN0YXRlKTsKKyAgICBzdGF0dXMgPSBtRXhlY3V0YWJsZS5jcmVhdGVQ
aXBlbGluZUxheW91dChjb250ZXh0KTsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxMaW5r
RXZlbnREb25lPihzdGF0dXMpOwogfQogCkBAIC0zMzQsNyArMzQ4LDcgQEAgYW5nbGU6OlJlc3Vs
dCBQcm9ncmFtVms6OmluaXREZWZhdWx0VW5pZm9ybUJsb2Nrcyhjb25zdCBnbDo6Q29udGV4dCAq
Z2xDb250ZXh0KQogdm9pZCBQcm9ncmFtVms6OmdlbmVyYXRlVW5pZm9ybUxheW91dE1hcHBpbmco
Z2w6OlNoYWRlck1hcDxzaDo6QmxvY2tMYXlvdXRNYXA+ICZsYXlvdXRNYXAsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6U2hhZGVyTWFwPHNpemVfdD4g
JnJlcXVpcmVkQnVmZmVyU2l6ZSkKIHsKLSAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUg
JmdsRXhlY3V0YWJsZSA9IG1TdGF0ZS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOworICAgIGNvbnN0
IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAmZ2xFeGVjdXRhYmxlID0gbVN0YXRlLmdldEV4ZWN1dGFi
bGUoKTsKIAogICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdsRXhl
Y3V0YWJsZS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKICAgICB7CkBAIC0zNTMsNyArMzY3LDcg
QEAgdm9pZCBQcm9ncmFtVms6OmluaXREZWZhdWx0VW5pZm9ybUxheW91dE1hcHBpbmcoZ2w6OlNo
YWRlck1hcDxzaDo6QmxvY2tMYXlvdXRNYXAKIHsKICAgICAvLyBJbml0IHRoZSBkZWZhdWx0IGJs
b2NrIGxheW91dCBpbmZvLgogICAgIGNvbnN0IGF1dG8gJnVuaWZvcm1zICAgICAgICAgICAgICAg
ICAgICAgID0gbVN0YXRlLmdldFVuaWZvcm1zKCk7Ci0gICAgY29uc3QgZ2w6OlByb2dyYW1FeGVj
dXRhYmxlICZnbEV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsKKyAg
ICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1TdGF0ZS5nZXRF
eGVjdXRhYmxlKCk7CiAKICAgICBmb3IgKGNvbnN0IGdsOjpWYXJpYWJsZUxvY2F0aW9uICZsb2Nh
dGlvbiA6IG1TdGF0ZS5nZXRVbmlmb3JtTG9jYXRpb25zKCkpCiAgICAgewpAQCAtMzk5LDcgKzQx
Myw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbVZrOjpyZXNpemVVbmlmb3JtQmxvY2tNZW1vcnko
Q29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdsOjpTaGFkZXJNYXA8c2l6ZV90PiAmcmVxdWlyZWRCdWZmZXJTaXpl
KQogewogICAgIFJlbmRlcmVyVmsgKnJlbmRlcmVyICAgICAgICAgICAgICAgICAgICAgID0gY29u
dGV4dFZrLT5nZXRSZW5kZXJlcigpOwotICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAm
Z2xFeGVjdXRhYmxlID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxlKCk7CisgICAgY29uc3Qg
Z2w6OlByb2dyYW1FeGVjdXRhYmxlICZnbEV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0RXhlY3V0YWJs
ZSgpOwogCiAgICAgZm9yIChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2xFeGVj
dXRhYmxlLmdldExpbmtlZFNoYWRlclN0YWdlcygpKQogICAgIHsKQEAgLTQzNyw3ICs0NTEsNyBA
QCB2b2lkIFByb2dyYW1Wazo6c2V0VW5pZm9ybUltcGwoR0xpbnQgbG9jYXRpb24sIEdMc2l6ZWkg
Y291bnQsIGNvbnN0IFQgKnYsIEdMZW51bQogewogICAgIGNvbnN0IGdsOjpWYXJpYWJsZUxvY2F0
aW9uICZsb2NhdGlvbkluZm8gID0gbVN0YXRlLmdldFVuaWZvcm1Mb2NhdGlvbnMoKVtsb2NhdGlv
bl07CiAgICAgY29uc3QgZ2w6OkxpbmtlZFVuaWZvcm0gJmxpbmtlZFVuaWZvcm0gICAgPSBtU3Rh
dGUuZ2V0VW5pZm9ybXMoKVtsb2NhdGlvbkluZm8uaW5kZXhdOwotICAgIGNvbnN0IGdsOjpQcm9n
cmFtRXhlY3V0YWJsZSAmZ2xFeGVjdXRhYmxlID0gbVN0YXRlLmdldFByb2dyYW1FeGVjdXRhYmxl
KCk7CisgICAgY29uc3QgZ2w6OlByb2dyYW1FeGVjdXRhYmxlICZnbEV4ZWN1dGFibGUgPSBtU3Rh
dGUuZ2V0RXhlY3V0YWJsZSgpOwogCiAgICAgQVNTRVJUKCFsaW5rZWRVbmlmb3JtLmlzU2FtcGxl
cigpKTsKIApAQCAtNjA0LDcgKzYxOCw3IEBAIHZvaWQgUHJvZ3JhbVZrOjpzZXRVbmlmb3JtTWF0
cml4ZnYoR0xpbnQgbG9jYXRpb24sCiB7CiAgICAgY29uc3QgZ2w6OlZhcmlhYmxlTG9jYXRpb24g
JmxvY2F0aW9uSW5mbyAgPSBtU3RhdGUuZ2V0VW5pZm9ybUxvY2F0aW9ucygpW2xvY2F0aW9uXTsK
ICAgICBjb25zdCBnbDo6TGlua2VkVW5pZm9ybSAmbGlua2VkVW5pZm9ybSAgICA9IG1TdGF0ZS5n
ZXRVbmlmb3JtcygpW2xvY2F0aW9uSW5mby5pbmRleF07Ci0gICAgY29uc3QgZ2w6OlByb2dyYW1F
eGVjdXRhYmxlICZnbEV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsK
KyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1TdGF0ZS5n
ZXRFeGVjdXRhYmxlKCk7CiAKICAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5
cGUgOiBnbEV4ZWN1dGFibGUuZ2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCiAgICAgewpAQCAtNzEy
LDMzICs3MjYsNDQgQEAgdm9pZCBQcm9ncmFtVms6OmdldFVuaWZvcm11aXYoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsIEdMaW50IGxvY2F0aW9uLCBHTHVpbnQKICAgICBnZXRVbmlmb3JtSW1w
bChsb2NhdGlvbiwgcGFyYW1zLCBHTF9VTlNJR05FRF9JTlQpOwogfQogCithbmdsZTo6UmVzdWx0
IFByb2dyYW1Wazo6dXBkYXRlU2hhZGVyVW5pZm9ybXMoQ29udGV4dFZrICpjb250ZXh0VmssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlNoYWRlclR5
cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCAqb3V0T2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgKmFueU5ld0J1ZmZlckFsbG9jYXRlZCkKK3sKKyAgICAvLyBV
cGRhdGUgYnVmZmVyIG1lbW9yeSBieSBpbW1lZGlhdGUgbWFwcGluZy4gVGhpcyBpbW1lZGlhdGUg
dXBkYXRlIG9ubHkgd29ya3Mgb25jZS4KKyAgICBEZWZhdWx0VW5pZm9ybUJsb2NrICZ1bmlmb3Jt
QmxvY2sgPSBtRGVmYXVsdFVuaWZvcm1CbG9ja3Nbc2hhZGVyVHlwZV07CisKKyAgICBpZiAobURl
ZmF1bHRVbmlmb3JtQmxvY2tzRGlydHlbc2hhZGVyVHlwZV0pCisgICAgeworICAgICAgICBib29s
IGJ1ZmZlck1vZGlmaWVkID0gZmFsc2U7CisgICAgICAgIEFOR0xFX1RSWShTeW5jRGVmYXVsdFVu
aWZvcm1CbG9jayhjb250ZXh0VmssICZ1bmlmb3JtQmxvY2suc3RvcmFnZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWZvcm1CbG9jay51bmlmb3JtRGF0YSwg
b3V0T2Zmc2V0LCAmYnVmZmVyTW9kaWZpZWQpKTsKKyAgICAgICAgbURlZmF1bHRVbmlmb3JtQmxv
Y2tzRGlydHkucmVzZXQoc2hhZGVyVHlwZSk7CisKKyAgICAgICAgaWYgKGJ1ZmZlck1vZGlmaWVk
KQorICAgICAgICB7CisgICAgICAgICAgICAqYW55TmV3QnVmZmVyQWxsb2NhdGVkID0gdHJ1ZTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
K30KKwogYW5nbGU6OlJlc3VsdCBQcm9ncmFtVms6OnVwZGF0ZVVuaWZvcm1zKENvbnRleHRWayAq
Y29udGV4dFZrKQogewogICAgIEFTU0VSVChkaXJ0eVVuaWZvcm1zKCkpOwogCiAgICAgYm9vbCBh
bnlOZXdCdWZmZXJBbGxvY2F0ZWQgICAgICAgICAgICAgICAgPSBmYWxzZTsKICAgICB1aW50MzJf
dCBvZmZzZXRJbmRleCAgICAgICAgICAgICAgICAgICAgICA9IDA7Ci0gICAgY29uc3QgZ2w6OlBy
b2dyYW1FeGVjdXRhYmxlICZnbEV4ZWN1dGFibGUgPSBtU3RhdGUuZ2V0UHJvZ3JhbUV4ZWN1dGFi
bGUoKTsKKyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgJmdsRXhlY3V0YWJsZSA9IG1T
dGF0ZS5nZXRFeGVjdXRhYmxlKCk7CiAKICAgICAvLyBVcGRhdGUgYnVmZmVyIG1lbW9yeSBieSBp
bW1lZGlhdGUgbWFwcGluZy4gVGhpcyBpbW1lZGlhdGUgdXBkYXRlIG9ubHkgd29ya3Mgb25jZS4K
ICAgICBmb3IgKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiBnbEV4ZWN1dGFibGUu
Z2V0TGlua2VkU2hhZGVyU3RhZ2VzKCkpCiAgICAgewotICAgICAgICBEZWZhdWx0VW5pZm9ybUJs
b2NrICZ1bmlmb3JtQmxvY2sgPSBtRGVmYXVsdFVuaWZvcm1CbG9ja3Nbc2hhZGVyVHlwZV07Ci0K
LSAgICAgICAgaWYgKG1EZWZhdWx0VW5pZm9ybUJsb2Nrc0RpcnR5W3NoYWRlclR5cGVdKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBib29sIGJ1ZmZlck1vZGlmaWVkID0gZmFsc2U7Ci0gICAgICAg
ICAgICBBTkdMRV9UUlkoU3luY0RlZmF1bHRVbmlmb3JtQmxvY2soCi0gICAgICAgICAgICAgICAg
Y29udGV4dFZrLCAmdW5pZm9ybUJsb2NrLnN0b3JhZ2UsIHVuaWZvcm1CbG9jay51bmlmb3JtRGF0
YSwKLSAgICAgICAgICAgICAgICAmbUV4ZWN1dGFibGUubUR5bmFtaWNCdWZmZXJPZmZzZXRzW29m
ZnNldEluZGV4XSwgJmJ1ZmZlck1vZGlmaWVkKSk7Ci0gICAgICAgICAgICBtRGVmYXVsdFVuaWZv
cm1CbG9ja3NEaXJ0eS5yZXNldChzaGFkZXJUeXBlKTsKLQotICAgICAgICAgICAgaWYgKGJ1ZmZl
ck1vZGlmaWVkKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGFueU5ld0J1ZmZlckFs
bG9jYXRlZCA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQorICAgICAgICBBTkdM
RV9UUlkodXBkYXRlU2hhZGVyVW5pZm9ybXMoY29udGV4dFZrLCBzaGFkZXJUeXBlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1FeGVjdXRhYmxlLm1EeW5hbWljQnVm
ZmVyT2Zmc2V0c1tvZmZzZXRJbmRleF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmYW55TmV3QnVmZmVyQWxsb2NhdGVkKSk7CiAgICAgICAgICsrb2Zmc2V0SW5kZXg7
CiAgICAgfQogCkBAIC03NDcsOCArNzcyLDE0IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbVZrOjp1
cGRhdGVVbmlmb3JtcyhDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICAgICAgLy8gV2UgbmVlZCB0
byByZWluaXRpYWxpemUgdGhlIGRlc2NyaXB0b3Igc2V0cyBpZiB3ZSBuZXdseSBhbGxvY2F0ZWQg
YnVmZmVycyBzaW5jZSB3ZSBjYW4ndAogICAgICAgICAvLyBtb2RpZnkgdGhlIGRlc2NyaXB0b3Ig
c2V0cyBvbmNlIGluaXRpYWxpemVkLgogICAgICAgICBBTkdMRV9UUlkobUV4ZWN1dGFibGUuYWxs
b2NhdGVEZXNjcmlwdG9yU2V0KGNvbnRleHRWaywga1VuaWZvcm1zQW5kWGZiRGVzY3JpcHRvclNl
dEluZGV4KSk7Ci0gICAgICAgIG1FeGVjdXRhYmxlLnVwZGF0ZURlZmF1bHRVbmlmb3Jtc0Rlc2Ny
aXB0b3JTZXQobVN0YXRlLCBtRGVmYXVsdFVuaWZvcm1CbG9ja3MsIGNvbnRleHRWayk7Ci0gICAg
ICAgIG1FeGVjdXRhYmxlLnVwZGF0ZVRyYW5zZm9ybUZlZWRiYWNrRGVzY3JpcHRvclNldEltcGwo
bVN0YXRlLCBjb250ZXh0VmspOworCisgICAgICAgIG1FeGVjdXRhYmxlLm1EZXNjcmlwdG9yQnVm
ZmVyc0NhY2hlLmNsZWFyKCk7CisgICAgICAgIGZvciAoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hh
ZGVyVHlwZSA6IGdsRXhlY3V0YWJsZS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSkKKyAgICAgICAg
eworICAgICAgICAgICAgbUV4ZWN1dGFibGUudXBkYXRlRGVmYXVsdFVuaWZvcm1zRGVzY3JpcHRv
clNldChzaGFkZXJUeXBlLCBtRGVmYXVsdFVuaWZvcm1CbG9ja3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRWayk7Cisg
ICAgICAgICAgICBtRXhlY3V0YWJsZS51cGRhdGVUcmFuc2Zvcm1GZWVkYmFja0Rlc2NyaXB0b3JT
ZXRJbXBsKG1TdGF0ZSwgY29udGV4dFZrKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVy
biBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVZrLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Byb2dyYW1Way5o
CmluZGV4IGJjZWYyOTBlN2UyODFkYzZkOGFiM2ZhMDIyNGMwODFlNDEzYTBiYzIuLjExNzEzOGZi
OGQyZWUwZGI2MGRhMmJhZjVkMjk0MmYyN2MxMTU0NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUHJvZ3JhbVZrLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Q
cm9ncmFtVmsuaApAQCAtNDIsNiArNDIsOCBAQCBjbGFzcyBQcm9ncmFtVmsgOiBwdWJsaWMgUHJv
Z3JhbUltcGwKICAgICB2b2lkIHNldEJpbmFyeVJldHJpZXZhYmxlSGludChib29sIHJldHJpZXZh
YmxlKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFNlcGFyYWJsZShib29sIHNlcGFyYWJsZSkgb3Zl
cnJpZGU7CiAKKyAgICB2b2lkIGZpbGxQcm9ncmFtU3RhdGVNYXAoZ2w6OlNoYWRlck1hcDxjb25z
dCBnbDo6UHJvZ3JhbVN0YXRlICo+ICpwcm9ncmFtU3RhdGVzT3V0KTsKKwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxMaW5rRXZlbnQ+IGxpbmsoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UHJvZ3JhbUxpbmtlZFJl
c291cmNlcyAmcmVzb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2w6OkluZm9Mb2cgJmluZm9Mb2cpIG92ZXJyaWRlOwpAQCAtMTAwLDQ3ICsxMDIsMTcgQEAgY2xh
c3MgUHJvZ3JhbVZrIDogcHVibGljIFByb2dyYW1JbXBsCiAgICAgdm9pZCBnZXRVbmlmb3JtaXYo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMaW50IGxvY2F0aW9uLCBHTGludCAqcGFyYW1z
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGdldFVuaWZvcm11aXYoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsIEdMaW50IGxvY2F0aW9uLCBHTHVpbnQgKnBhcmFtcykgY29uc3Qgb3ZlcnJp
ZGU7CiAKKyAgICBhbmdsZTo6UmVzdWx0IHVwZGF0ZVNoYWRlclVuaWZvcm1zKENvbnRleHRWayAq
Y29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlNo
YWRlclR5cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90ICpvdXRPZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sICphbnlOZXdCdWZmZXJBbGxvY2F0ZWQpOwogICAgIGFuZ2xlOjpSZXN1bHQg
dXBkYXRlVW5pZm9ybXMoQ29udGV4dFZrICpjb250ZXh0VmspOwogCiAgICAgLy8gRm9yIHRlc3Rp
bmcgb25seS4KICAgICB2b2lkIHNldERlZmF1bHRVbmlmb3JtQmxvY2tzTWluU2l6ZUZvclRlc3Rp
bmcoc2l6ZV90IG1pblNpemUpOwogCi0gICAgY29uc3Qgdms6OlBpcGVsaW5lTGF5b3V0ICZnZXRQ
aXBlbGluZUxheW91dCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbUV4ZWN1dGFibGUu
bVBpcGVsaW5lTGF5b3V0LmdldCgpOwotICAgIH0KLQogICAgIGJvb2wgZGlydHlVbmlmb3Jtcygp
IGNvbnN0IHsgcmV0dXJuIG1EZWZhdWx0VW5pZm9ybUJsb2Nrc0RpcnR5LmFueSgpOyB9CiAKLSAg
ICBhbmdsZTo6UmVzdWx0IGdldEdyYXBoaWNzUGlwZWxpbmUoQ29udGV4dFZrICpjb250ZXh0Vmss
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpQcmltaXRpdmVNb2Rl
IG1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpH
cmFwaGljc1BpcGVsaW5lRGVzYyAmZGVzYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgZ2w6OkF0dHJpYnV0ZXNNYXNrICZhY3RpdmVBdHRyaWJMb2NhdGlvbnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpHcmFwaGlj
c1BpcGVsaW5lRGVzYyAqKmRlc2NQdHJPdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZrOjpQaXBlbGluZUhlbHBlciAqKnBpcGVsaW5lT3V0KQotICAgIHsKLSAgICAg
ICAgdms6OlNoYWRlclByb2dyYW1IZWxwZXIgKnNoYWRlclByb2dyYW07Ci0gICAgICAgIEFOR0xF
X1RSWShpbml0R3JhcGhpY3NQcm9ncmFtKGNvbnRleHRWaywgbW9kZSwgJnNoYWRlclByb2dyYW0p
KTsKLSAgICAgICAgQVNTRVJUKHNoYWRlclByb2dyYW0tPmlzR3JhcGhpY3NQcm9ncmFtKCkpOwot
ICAgICAgICBSZW5kZXJlclZrICpyZW5kZXJlciAgICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0
UmVuZGVyZXIoKTsKLSAgICAgICAgdms6OlBpcGVsaW5lQ2FjaGUgKnBpcGVsaW5lQ2FjaGUgPSBu
dWxscHRyOwotICAgICAgICBBTkdMRV9UUlkocmVuZGVyZXItPmdldFBpcGVsaW5lQ2FjaGUoJnBp
cGVsaW5lQ2FjaGUpKTsKLSAgICAgICAgcmV0dXJuIHNoYWRlclByb2dyYW0tPmdldEdyYXBoaWNz
UGlwZWxpbmUoCi0gICAgICAgICAgICBjb250ZXh0VmssICZjb250ZXh0VmstPmdldFJlbmRlclBh
c3NDYWNoZSgpLCAqcGlwZWxpbmVDYWNoZSwKLSAgICAgICAgICAgIGNvbnRleHRWay0+Z2V0Q3Vy
cmVudFF1ZXVlU2VyaWFsKCksIG1FeGVjdXRhYmxlLm1QaXBlbGluZUxheW91dC5nZXQoKSwgZGVz
YywKLSAgICAgICAgICAgIGFjdGl2ZUF0dHJpYkxvY2F0aW9ucywgbVN0YXRlLmdldFByb2dyYW1F
eGVjdXRhYmxlKCkuZ2V0QXR0cmlidXRlc1R5cGVNYXNrKCksCi0gICAgICAgICAgICBkZXNjUHRy
T3V0LCBwaXBlbGluZU91dCk7Ci0gICAgfQotCi0gICAgYW5nbGU6OlJlc3VsdCBnZXRDb21wdXRl
UGlwZWxpbmUoQ29udGV4dFZrICpjb250ZXh0VmssIHZrOjpQaXBlbGluZUFuZFNlcmlhbCAqKnBp
cGVsaW5lT3V0KQotICAgIHsKLSAgICAgICAgdms6OlNoYWRlclByb2dyYW1IZWxwZXIgKnNoYWRl
clByb2dyYW07Ci0gICAgICAgIEFOR0xFX1RSWShpbml0Q29tcHV0ZVByb2dyYW0oY29udGV4dFZr
LCAmc2hhZGVyUHJvZ3JhbSkpOwotICAgICAgICBBU1NFUlQoIXNoYWRlclByb2dyYW0tPmlzR3Jh
cGhpY3NQcm9ncmFtKCkpOwotICAgICAgICByZXR1cm4gc2hhZGVyUHJvZ3JhbS0+Z2V0Q29tcHV0
ZVBpcGVsaW5lKGNvbnRleHRWaywgbUV4ZWN1dGFibGUubVBpcGVsaW5lTGF5b3V0LmdldCgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5l
T3V0KTsKLSAgICB9Ci0KICAgICAvLyBVc2VkIGluIHRlc3Rpbmcgb25seS4KICAgICB2azo6RHlu
YW1pY0Rlc2NyaXB0b3JQb29sICpnZXREeW5hbWljRGVzY3JpcHRvclBvb2wodWludDMyX3QgcG9v
bEluZGV4KQogICAgIHsKQEAgLTE1Miw2ICsxMjQsMjcgQEAgY2xhc3MgUHJvZ3JhbVZrIDogcHVi
bGljIFByb2dyYW1JbXBsCiAKICAgICBnbDo6U2hhZGVyTWFwPERlZmF1bHRVbmlmb3JtQmxvY2s+
ICZnZXREZWZhdWx0VW5pZm9ybUJsb2NrcygpIHsgcmV0dXJuIG1EZWZhdWx0VW5pZm9ybUJsb2Nr
czsgfQogCisgICAgQU5HTEVfSU5MSU5FIGFuZ2xlOjpSZXN1bHQgaW5pdEdyYXBoaWNzU2hhZGVy
UHJvZ3JhbShDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRl
clR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9ncmFtVHJhbnNmb3JtT3B0aW9uQml0cyBvcHRpb25CaXRzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbUlu
Zm8gJnByb2dyYW1JbmZvKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGluaXRQcm9ncmFtKGNvbnRl
eHRWaywgc2hhZGVyVHlwZSwgb3B0aW9uQml0cywgJnByb2dyYW1JbmZvKTsKKyAgICB9CisKKyAg
ICBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBpbml0Q29tcHV0ZVByb2dyYW0oQ29udGV4dFZr
ICpjb250ZXh0VmssIFByb2dyYW1JbmZvICZwcm9ncmFtSW5mbykKKyAgICB7CisgICAgICAgIFBy
b2dyYW1UcmFuc2Zvcm1PcHRpb25CaXRzIG9wdGlvbkJpdHM7CisgICAgICAgIHJldHVybiBpbml0
UHJvZ3JhbShjb250ZXh0VmssIGdsOjpTaGFkZXJUeXBlOjpDb21wdXRlLCBvcHRpb25CaXRzLCAm
cHJvZ3JhbUluZm8pOworICAgIH0KKworICAgIFNoYWRlckluZm8gJmdldFNoYWRlckluZm8oKSB7
IHJldHVybiBtU2hhZGVySW5mbzsgfQorCisgICAgR2xzbGFuZ1Byb2dyYW1JbnRlcmZhY2VJbmZv
ICZnZXRHbHNsYW5nUHJvZ3JhbUludGVyZmFjZUluZm8oKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1HbHNsYW5nUHJvZ3JhbUludGVyZmFjZUluZm87CisgICAgfQorCiAgIHByaXZhdGU6CiAgICAg
dGVtcGxhdGUgPGludCBjb2xzLCBpbnQgcm93cz4KICAgICB2b2lkIHNldFVuaWZvcm1NYXRyaXhm
dihHTGludCBsb2NhdGlvbiwKQEAgLTE3Niw0MiArMTY5LDI0IEBAIGNsYXNzIFByb2dyYW1WayA6
IHB1YmxpYyBQcm9ncmFtSW1wbAogICAgIHZvaWQgbGlua1Jlc291cmNlcyhjb25zdCBnbDo6UHJv
Z3JhbUxpbmtlZFJlc291cmNlcyAmcmVzb3VyY2VzKTsKIAogICAgIEFOR0xFX0lOTElORSBhbmds
ZTo6UmVzdWx0IGluaXRQcm9ncmFtKENvbnRleHRWayAqY29udGV4dFZrLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlTGluZVJhc3RlckVtdWxh
dGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmFt
SW5mbyAqcHJvZ3JhbUluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdms6OlNoYWRlclByb2dyYW1IZWxwZXIgKipzaGFkZXJQcm9ncmFtT3V0KQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTaGFkZXJUeXBl
IHNoYWRlclR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UHJvZ3JhbVRyYW5zZm9ybU9wdGlvbkJpdHMgb3B0aW9uQml0cywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmFtSW5mbyAqcHJvZ3JhbUluZm8pCiAgICAg
ewogICAgICAgICBBU1NFUlQobVNoYWRlckluZm8udmFsaWQoKSk7CiAKICAgICAgICAgLy8gQ3Jl
YXRlIHRoZSBwcm9ncmFtIHBpcGVsaW5lLiAgVGhpcyBpcyBkb25lIGxhemlseSBhbmQgb25jZSBw
ZXIgY29tYmluYXRpb24gb2YKICAgICAgICAgLy8gc3BlY2lhbGl6YXRpb24gY29uc3RhbnRzLgot
ICAgICAgICBpZiAoIXByb2dyYW1JbmZvLT52YWxpZCgpKQorICAgICAgICBpZiAoIXByb2dyYW1J
bmZvLT52YWxpZChzaGFkZXJUeXBlKSkKICAgICAgICAgewotICAgICAgICAgICAgQU5HTEVfVFJZ
KHByb2dyYW1JbmZvLT5pbml0UHJvZ3JhbShjb250ZXh0VmssIG1TaGFkZXJJbmZvLCBlbmFibGVM
aW5lUmFzdGVyRW11bGF0aW9uKSk7CisgICAgICAgICAgICBBTkdMRV9UUlkocHJvZ3JhbUluZm8t
PmluaXRQcm9ncmFtKGNvbnRleHRWaywgc2hhZGVyVHlwZSwgbVNoYWRlckluZm8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1FeGVjdXRhYmxlLm1WYXJp
YWJsZUluZm9NYXAsIG9wdGlvbkJpdHMpKTsKICAgICAgICAgfQotICAgICAgICBBU1NFUlQocHJv
Z3JhbUluZm8tPnZhbGlkKCkpOworICAgICAgICBBU1NFUlQocHJvZ3JhbUluZm8tPnZhbGlkKHNo
YWRlclR5cGUpKTsKIAotICAgICAgICAqc2hhZGVyUHJvZ3JhbU91dCA9IHByb2dyYW1JbmZvLT5n
ZXRTaGFkZXJQcm9ncmFtKCk7CiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKICAgICB9CiAKLSAgICBBTkdMRV9JTkxJTkUgYW5nbGU6OlJlc3VsdCBpbml0R3JhcGhpY3NQ
cm9ncmFtKENvbnRleHRWayAqY29udGV4dFZrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlByaW1pdGl2ZU1vZGUgbW9kZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpTaGFkZXJQcm9n
cmFtSGVscGVyICoqc2hhZGVyUHJvZ3JhbU91dCkKLSAgICB7Ci0gICAgICAgIGJvb2wgZW5hYmxl
TGluZVJhc3RlckVtdWxhdGlvbiA9IFVzZUxpbmVSYXN0ZXIoY29udGV4dFZrLCBtb2RlKTsKLQot
ICAgICAgICBQcm9ncmFtSW5mbyAmcHJvZ3JhbUluZm8gPSBlbmFibGVMaW5lUmFzdGVyRW11bGF0
aW9uID8gbUV4ZWN1dGFibGUubUxpbmVSYXN0ZXJQcm9ncmFtSW5mbwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbUV4ZWN1dGFi
bGUubURlZmF1bHRQcm9ncmFtSW5mbzsKLQotICAgICAgICByZXR1cm4gaW5pdFByb2dyYW0oY29u
dGV4dFZrLCBlbmFibGVMaW5lUmFzdGVyRW11bGF0aW9uLCAmcHJvZ3JhbUluZm8sIHNoYWRlclBy
b2dyYW1PdXQpOwotICAgIH0KLQotICAgIEFOR0xFX0lOTElORSBhbmdsZTo6UmVzdWx0IGluaXRD
b21wdXRlUHJvZ3JhbShDb250ZXh0VmsgKmNvbnRleHRWaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OlNoYWRlclByb2dyYW1IZWxwZXIgKipz
aGFkZXJQcm9ncmFtT3V0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGluaXRQcm9ncmFtKGNvbnRl
eHRWaywgZmFsc2UsICZtRXhlY3V0YWJsZS5tRGVmYXVsdFByb2dyYW1JbmZvLCBzaGFkZXJQcm9n
cmFtT3V0KTsKLSAgICB9Ci0KICAgICBnbDo6U2hhZGVyTWFwPERlZmF1bHRVbmlmb3JtQmxvY2s+
IG1EZWZhdWx0VW5pZm9ybUJsb2NrczsKICAgICBnbDo6U2hhZGVyQml0U2V0IG1EZWZhdWx0VW5p
Zm9ybUJsb2Nrc0RpcnR5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1F1ZXJ5VmsuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9RdWVyeVZrLmNwcAppbmRleCBj
MmU0N2E4NTI3MGUyNGE1ZmE1NDVhOGQwYjUwNWU2OThmMzE2NTE1Li4yZjAxZWJjMDU4NmY0ZjQ2
MzA5M2FhMWI5MzY4MzQzZWYyZmM0MDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1F1ZXJ5VmsuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUXVlcnlWay5j
cHAKQEAgLTM5LDYgKzM5LDI5IEBAIHZvaWQgUXVlcnlWazo6b25EZXN0cm95KGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0KQogICAgIH0KIH0KIAorYW5nbGU6OlJlc3VsdCBRdWVyeVZrOjpzdGFz
aFF1ZXJ5SGVscGVyKENvbnRleHRWayAqY29udGV4dFZrKQoreworICAgIEFTU0VSVChpc09jY2x1
c2lvblF1ZXJ5KCkpOworICAgIG1TdGFzaGVkUXVlcnlIZWxwZXJzLmVtcGxhY2VfYmFjayhtUXVl
cnlIZWxwZXIpOworICAgIG1RdWVyeUhlbHBlci5kZWluaXQoKTsKKyAgICBBTkdMRV9UUlkoY29u
dGV4dFZrLT5nZXRRdWVyeVBvb2woZ2V0VHlwZSgpKS0+YWxsb2NhdGVRdWVyeShjb250ZXh0Vmss
ICZtUXVlcnlIZWxwZXIpKTsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9
CisKK2FuZ2xlOjpSZXN1bHQgUXVlcnlWazo6cmV0cmlldmVTdGFzaGVkUXVlcnlSZXN1bHQoQ29u
dGV4dFZrICpjb250ZXh0VmssIHVpbnQ2NF90ICpyZXN1bHQpCit7CisgICAgdWludDY0X3QgdG90
YWwgPSAwOworICAgIGZvciAodms6OlF1ZXJ5SGVscGVyICZxdWVyeSA6IG1TdGFzaGVkUXVlcnlI
ZWxwZXJzKQorICAgIHsKKyAgICAgICAgdWludDY0X3QgdjsKKyAgICAgICAgQU5HTEVfVFJZKHF1
ZXJ5LmdldFVpbnQ2NFJlc3VsdChjb250ZXh0VmssICZ2KSk7CisgICAgICAgIHRvdGFsICs9IHY7
CisgICAgfQorICAgIG1TdGFzaGVkUXVlcnlIZWxwZXJzLmNsZWFyKCk7CisgICAgKnJlc3VsdCA9
IHRvdGFsOworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogYW5nbGU6
OlJlc3VsdCBRdWVyeVZrOjpiZWdpbihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKIHsKICAg
ICBDb250ZXh0VmsgKmNvbnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwpAQCAtNTgsOSAr
ODEsMjUgQEAgYW5nbGU6OlJlc3VsdCBRdWVyeVZrOjpiZWdpbihjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCkKICAgICAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Z2V0UXVlcnlQb29sKGdldFR5
cGUoKSktPmFsbG9jYXRlUXVlcnkoY29udGV4dFZrLCAmbVF1ZXJ5SGVscGVyKSk7CiAgICAgfQog
Ci0gICAgLy8gTm90ZTogVGltZUVsYXBzZWQgaXMgaW1wbGVtZW50ZWQgYnkgdXNpbmcgdHdvIFRp
bWVzdGFtcCBxdWVyaWVzIGFuZCB0YWtpbmcgdGhlIGRpZmYuCi0gICAgaWYgKGdldFR5cGUoKSA9
PSBnbDo6UXVlcnlUeXBlOjpUaW1lRWxhcHNlZCkKKyAgICBpZiAoaXNPY2NsdXNpb25RdWVyeSgp
KQogICAgIHsKKyAgICAgICAgLy8gRm9yIHBhdGhvbG9naWNhbCB1c2FnZSBjYXNlIHdoZXJlIGJl
Z2luL2VuZCBpcyBjYWxsZWQgYmFjayB0byBiYWNrIHdpdGhvdXQgZmx1c2ggYW5kIGdldAorICAg
ICAgICAvLyByZXN1bHQsIHdlIGhhdmUgdG8gZm9yY2UgZmx1c2ggc28gdGhhdCB0aGUgc2FtZSBt
UXVlcnlIZWxwZXIgd2lsbCBub3QgZW5jb2RlZCBpbiB0aGUgc2FtZQorICAgICAgICAvLyByZW5k
ZXJwYXNzIHR3aWNlIHdpdGhvdXQgcmVzZXR0aW5nIGl0LgorICAgICAgICBpZiAobVF1ZXJ5SGVs
cGVyLmhhc1BlbmRpbmdXb3JrKGNvbnRleHRWaykpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFO
R0xFX1RSWShjb250ZXh0VmstPmZsdXNoSW1wbChudWxscHRyKSk7CisgICAgICAgICAgICAvLyBB
cyBzb29uIGFzIGJlZ2luUXVlcnkgaXMgY2FsbGVkLCBwcmV2aW91cyBxdWVyeSdzIHJlc3VsdCB3
aWxsIG5vdCByZXRyaWV2YWJsZSBieSBBUEkuCisgICAgICAgICAgICAvLyBXZSBtdXN0IGNsZWFy
IGl0IHNvIHRoYXQgaXQgd2lsbCBub3QgY291bnQgYWdhaW5zdCBjdXJyZW50IGJlZ2luUXVlcnkg
Y2FsbC4KKyAgICAgICAgICAgIG1TdGFzaGVkUXVlcnlIZWxwZXJzLmNsZWFyKCk7CisgICAgICAg
ICAgICBtUXVlcnlIZWxwZXIuZGVpbml0KCk7CisgICAgICAgICAgICBBTkdMRV9UUlkoY29udGV4
dFZrLT5nZXRRdWVyeVBvb2woZ2V0VHlwZSgpKS0+YWxsb2NhdGVRdWVyeShjb250ZXh0VmssICZt
UXVlcnlIZWxwZXIpKTsKKyAgICAgICAgfQorICAgICAgICBjb250ZXh0VmstPmJlZ2luT2NjbHVz
aW9uUXVlcnkodGhpcyk7CisgICAgfQorICAgIGVsc2UgaWYgKGdldFR5cGUoKSA9PSBnbDo6UXVl
cnlUeXBlOjpUaW1lRWxhcHNlZCkKKyAgICB7CisgICAgICAgIC8vIE5vdGU6IFRpbWVFbGFwc2Vk
IGlzIGltcGxlbWVudGVkIGJ5IHVzaW5nIHR3byBUaW1lc3RhbXAgcXVlcmllcyBhbmQgdGFraW5n
IHRoZSBkaWZmLgogICAgICAgICBpZiAoIW1RdWVyeUhlbHBlclRpbWVFbGFwc2VkQmVnaW4udmFs
aWQoKSkKICAgICAgICAgewogICAgICAgICAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Z2V0UXVl
cnlQb29sKGdldFR5cGUoKSktPmFsbG9jYXRlUXVlcnkoCkBAIC05Niw2ICsxMzUsMTAgQEAgYW5n
bGU6OlJlc3VsdCBRdWVyeVZrOjplbmQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAgICAg
ICAgIG1DYWNoZWRSZXN1bHRWYWxpZCA9IHRydWU7CiAgICAgICAgIC8vIFdlIGNvdWxkIGNvbnNp
ZGVyIHVzaW5nIFZLX1FVRVJZX1RZUEVfVFJBTlNGT1JNX0ZFRURCQUNLX1NUUkVBTV9FWFQuCiAg
ICAgfQorICAgIGVsc2UgaWYgKGlzT2NjbHVzaW9uUXVlcnkoKSkKKyAgICB7CisgICAgICAgIGNv
bnRleHRWay0+ZW5kT2NjbHVzaW9uUXVlcnkodGhpcyk7CisgICAgfQogICAgIGVsc2UgaWYgKGdl
dFR5cGUoKSA9PSBnbDo6UXVlcnlUeXBlOjpUaW1lRWxhcHNlZCkKICAgICB7CiAgICAgICAgIEFO
R0xFX1RSWShtUXVlcnlIZWxwZXIuZmx1c2hBbmRXcml0ZVRpbWVzdGFtcChjb250ZXh0VmspKTsK
QEAgLTExMCw2ICsxNTMsNyBAQCBhbmdsZTo6UmVzdWx0IFF1ZXJ5Vms6OmVuZChjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCkKIAogYW5nbGU6OlJlc3VsdCBRdWVyeVZrOjpxdWVyeUNvdW50ZXIo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7CisgICAgQVNTRVJUKGdldFR5cGUoKSA9PSBn
bDo6UXVlcnlUeXBlOjpUaW1lc3RhbXApOwogICAgIENvbnRleHRWayAqY29udGV4dFZrID0gdms6
OkdldEltcGwoY29udGV4dCk7CiAKICAgICBtQ2FjaGVkUmVzdWx0VmFsaWQgPSBmYWxzZTsKQEAg
LTExOSw4ICsxNjMsNiBAQCBhbmdsZTo6UmVzdWx0IFF1ZXJ5Vms6OnF1ZXJ5Q291bnRlcihjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Z2V0
UXVlcnlQb29sKGdldFR5cGUoKSktPmFsbG9jYXRlUXVlcnkoY29udGV4dFZrLCAmbVF1ZXJ5SGVs
cGVyKSk7CiAgICAgfQogCi0gICAgQVNTRVJUKGdldFR5cGUoKSA9PSBnbDo6UXVlcnlUeXBlOjpU
aW1lc3RhbXApOwotCiAgICAgcmV0dXJuIG1RdWVyeUhlbHBlci5mbHVzaEFuZFdyaXRlVGltZXN0
YW1wKGNvbnRleHRWayk7CiB9CiAKQEAgLTE2Miw2ICsyMDQsOSBAQCBhbmdsZTo6UmVzdWx0IFF1
ZXJ5Vms6OmdldFJlc3VsdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgYm9vbCB3YWl0KQog
ICAgIGlmICh3YWl0KQogICAgIHsKICAgICAgICAgQU5HTEVfVFJZKG1RdWVyeUhlbHBlci5nZXRV
aW50NjRSZXN1bHQoY29udGV4dFZrLCAmbUNhY2hlZFJlc3VsdCkpOworICAgICAgICB1aW50NjRf
dCB2OworICAgICAgICBBTkdMRV9UUlkocmV0cmlldmVTdGFzaGVkUXVlcnlSZXN1bHQoY29udGV4
dFZrLCAmdikpOworICAgICAgICBtQ2FjaGVkUmVzdWx0ICs9IHY7CiAgICAgfQogICAgIGVsc2UK
ICAgICB7CkBAIC0xNzIsNiArMjE3LDkgQEAgYW5nbGU6OlJlc3VsdCBRdWVyeVZrOjpnZXRSZXN1
bHQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGJvb2wgd2FpdCkKICAgICAgICAgICAgIC8v
IElmIHRoZSByZXN1bHRzIGFyZSBub3QgcmVhZHksIGRvIG5vdGhpbmcuICBtQ2FjaGVkUmVzdWx0
VmFsaWQgcmVtYWlucyBmYWxzZS4KICAgICAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKICAgICAgICAgfQorICAgICAgICB1aW50NjRfdCB2OworICAgICAgICBBTkdMRV9U
UlkocmV0cmlldmVTdGFzaGVkUXVlcnlSZXN1bHQoY29udGV4dFZrLCAmdikpOworICAgICAgICBt
Q2FjaGVkUmVzdWx0ICs9IHY7CiAgICAgfQogCiAgICAgZG91YmxlIHRpbWVzdGFtcFBlcmlvZCA9
IHJlbmRlcmVyLT5nZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXMoKS5saW1pdHMudGltZXN0YW1w
UGVyaW9kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9RdWVyeVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1F1ZXJ5VmsuaAppbmRleCBiY2E2NjgyMmQxODRmZjNi
YjU1OWI5NmYzMTRlNDdiZTY3ZTc0YWE1Li5jNmEwMWI1YTNlYzc4MDU1MjJkODdhN2M1ZGVhMWNk
ZTQ4ZGVjOTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL1F1ZXJ5VmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1F1ZXJ5VmsuaApAQCAtMzUsMTIgKzM1LDE3
IEBAIGNsYXNzIFF1ZXJ5VmsgOiBwdWJsaWMgUXVlcnlJbXBsCiAgICAgYW5nbGU6OlJlc3VsdCBp
c1Jlc3VsdEF2YWlsYWJsZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgYm9vbCAqYXZhaWxh
YmxlKSBvdmVycmlkZTsKIAogICAgIHZvaWQgb25UcmFuc2Zvcm1GZWVkYmFja0VuZChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCk7CisgICAgdms6OlF1ZXJ5SGVscGVyICpnZXRRdWVyeUhlbHBl
cigpIHsgcmV0dXJuICZtUXVlcnlIZWxwZXI7IH0KKyAgICBhbmdsZTo6UmVzdWx0IHN0YXNoUXVl
cnlIZWxwZXIoQ29udGV4dFZrICpjb250ZXh0VmspOworICAgIGFuZ2xlOjpSZXN1bHQgcmV0cmll
dmVTdGFzaGVkUXVlcnlSZXN1bHQoQ29udGV4dFZrICpjb250ZXh0VmssIHVpbnQ2NF90ICpyZXN1
bHQpOwogCiAgIHByaXZhdGU6CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRSZXN1bHQoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsIGJvb2wgd2FpdCk7CiAKICAgICAvLyBVc2VkIGZvciBBbnlTYW1w
bGVzLCBBbnlTYW1wbGVzQ29uc2VydmF0aXZlLCBUaW1lc3RhbXAgYW5kIFRpbWVFbGFwc2VkIChl
bmQpLgogICAgIHZrOjpRdWVyeUhlbHBlciBtUXVlcnlIZWxwZXI7CisgICAgLy8gVXNlZCBmb3Ig
b2NjbHVzaW9uIHF1ZXJ5IHRoYXQgd2UgbWF5IGVuZCB1cCB3aXRoIG11bHRpcGxlIG91dHN0YW5k
aW5nIHF1ZXJ5IGhlbHBlciBvYmplY3RzLgorICAgIHN0ZDo6dmVjdG9yPHZrOjpRdWVyeUhlbHBl
cj4gbVN0YXNoZWRRdWVyeUhlbHBlcnM7CiAgICAgLy8gQW4gYWRkaXRpb25hbCBxdWVyeSB1c2Vk
IGZvciBUaW1lRWxhcHNlZCAoYmVnaW4pLCBhcyBpdCBpcyBpbXBsZW1lbnRlZCB1c2luZyBUaW1l
c3RhbXAuCiAgICAgdms6OlF1ZXJ5SGVscGVyIG1RdWVyeUhlbHBlclRpbWVFbGFwc2VkQmVnaW47
CiAgICAgLy8gVXNlZCB3aXRoIFRyYW5zZm9ybUZlZWRiYWNrUHJpbWl0aXZlc1dyaXR0ZW4gd2hl
biB0cmFuc2Zvcm0gZmVlZGJhY2sgaXMgZW11bGF0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JFQURNRS5tZCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUkVBRE1F
Lm1kCmluZGV4IDA5Nzk3NjM2ZjRkMTkwZmRiMWEyMTdiNzEwZWZiNzU3NDhkZTQ4MWMuLjljYTc4
YTdhOWUxYTRiMGUzNGQ1YmExNjVjMTA4MzBkOGZiZjkzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUkVBRE1FLm1kCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4v
UkVBRE1FLm1kCkBAIC00Miw3ICs0Miw3IEBAIHRoZSBwcmltYXJ5IGNvbW1hbmQgYnVmZmVyLgog
CiBUaGUgYmFjay1lbmQgdXN1YWxseSByZWNvcmRzIEltYWdlIGFuZCBCdWZmZXIgYmFycmllcnMg
dGhyb3VnaCBhZGRpdGlvbmFsIGBDb250ZXh0VmtgIEFQSXM6CiAKLSAqIGBvbkJ1ZmZlclJlYWRg
IGFuZCBgb25CdWZmZXJXcml0ZWAgYWNjdW11bGF0ZSBgVmtCdWZmZXJgIGJhcnJpZXJzLgorICog
YG9uQnVmZmVyVHJhbnNmZXJSZWFkL29uQnVmZmVyQ29tcHV0ZVNoYWRlclJlYWRgIGFuZCBgb25C
dWZmZXJUcmFuc2ZlcldyaXRlL29uQnVmZmVyQ29tcHV0ZVNoYWRlcldyaXRlYCBhY2N1bXVsYXRl
IGBWa0J1ZmZlcmAgYmFycmllcnMuCiAgKiBgb25JbWFnZVJlYWRgIGFuZCBgb25JbWFnZVdyaXRl
YCBhY2N1bXVsYXRlIGBWa0ltYWdlYCBiYXJyaWVycy4KICAqIGBvblJlbmRlclBhc3NJbWFnZVdy
aXRlYCBpcyBhIHNwZWNpYWwgQVBJIGZvciB3cml0ZSBiYXJyaWVycyBpbnNpZGUgYSBSZW5kZXJQ
YXNzIGluc3RhbmNlLgogCkBAIC01Nyw4ICs1Nyw4IEBAIEluIHRoaXMgZXhhbXBsZSB3ZSdsbCBi
ZSByZWNvcmRpbmcgYSBidWZmZXIgY29weSBjb21tYW5kOgogCiBgYGAKICAgICAjIEVuc3VyZSB0
aGF0IEFOR0xFIHNldHMgcHJvcGVyIHJlYWQgYW5kIHdyaXRlIGJhcnJpZXJzIGZvciB0aGUgQnVm
ZmVycy4KLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlcldyaXRlKFZLX0FDQ0VTU19U
UkFOU0ZFUl9XUklURV9CSVQsIGRlc3RCdWZmZXIpKTsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZr
LT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1RSQU5TRkVSX1JFQURfQklULCBzcmNCdWZmZXIpKTsK
KyAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclRyYW5zZmVyV3JpdGUoZGVzdEJ1ZmZl
cikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJSZWFkKHNyY0J1
ZmZlcikpOwogCiAgICAgIyBHZXQgYSBwb2ludGVyIHRvIGEgc2Vjb25kYXJ5IGNvbW1hbmQgYnVm
ZmVyIGZvciBjb21tYW5kIHJlY29yZGluZy4gTWF5ICJmbHVzaCIgdGhlIFJQLgogICAgIHZrOjpD
b21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyOwpAQCAtNzksNSArNzksNSBAQCBNb3JlIGltcGxl
bWVudGF0aW9uIGRldGFpbHMgY2FuIGJlIGZvdW5kIGluIHRoZSBgZG9jYCBkaXJlY3Rvcnk6CiAK
IFtWa0RldmljZV06IGh0dHBzOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L3Z1bGthbi9zcGVj
cy8xLjEtZXh0ZW5zaW9ucy9tYW4vaHRtbC9Wa0RldmljZS5odG1sCiBbVmtRdWV1ZV06IGh0dHBz
Oi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L3Z1bGthbi9zcGVjcy8xLjEtZXh0ZW5zaW9ucy9t
YW4vaHRtbC9Wa1F1ZXVlLmh0bWwKLVtDb21tYW5kQVBJc106IGh0dHBzOi8vY2hyb21pdW0uZ29v
Z2xlc291cmNlLmNvbS9hbmdsZS9hbmdsZS8rL2FhMDljYTY5ZTQxNzNjYjE0MjYxZTM5YmUzYjdi
ZGY1NmJiZDM4NDAvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaCM1NzkK
K1tDb21tYW5kQVBJc106IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9hbmdsZS9h
bmdsZS8rL2RmMzE2MjRlYWYzZGY5ODZhMGJkZjNmNThhODdiNzliMGNjOGRiNWMvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaCM2MjAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJUYXJn
ZXRWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL1JlbmRlclRhcmdldFZrLmNwcAppbmRleCBkYTZhZGVjN2VjZWMxMmFjYTc4YjdhNzBl
Mjc5ZDM1ZGZhNWFhMWYwLi4zNTQyYjZjN2MzYzZkYzlmMDU0ZmRmM2E2MjRkZWQ1MzA3ZGI4NmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL1JlbmRlclRhcmdldFZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlclRhcmdldFZrLmNwcApAQCAtMTcs
OSArMTcsMTEgQEAKIAogbmFtZXNwYWNlIHJ4CiB7CisKIFJlbmRlclRhcmdldFZrOjpSZW5kZXJU
YXJnZXRWaygpCi0gICAgOiBtSW1hZ2UobnVsbHB0ciksIG1JbWFnZVZpZXdzKG51bGxwdHIpLCBt
TGV2ZWxJbmRleCgwKSwgbUxheWVySW5kZXgoMCkKLXt9Cit7CisgICAgcmVzZXQoKTsKK30KIAog
UmVuZGVyVGFyZ2V0Vms6On5SZW5kZXJUYXJnZXRWaygpIHt9CiAKQEAgLTI3LDEyICsyOSwxMCBA
QCBSZW5kZXJUYXJnZXRWazo6UmVuZGVyVGFyZ2V0VmsoUmVuZGVyVGFyZ2V0VmsgJiZvdGhlcikK
ICAgICA6IG1JbWFnZShvdGhlci5tSW1hZ2UpLAogICAgICAgbUltYWdlVmlld3Mob3RoZXIubUlt
YWdlVmlld3MpLAogICAgICAgbUxldmVsSW5kZXgob3RoZXIubUxldmVsSW5kZXgpLAotICAgICAg
bUxheWVySW5kZXgob3RoZXIubUxheWVySW5kZXgpCisgICAgICBtTGF5ZXJJbmRleChvdGhlci5t
TGF5ZXJJbmRleCksCisgICAgICBtQ29udGVudERlZmluZWQob3RoZXIubUNvbnRlbnREZWZpbmVk
KQogewotICAgIG90aGVyLm1JbWFnZSAgICAgID0gbnVsbHB0cjsKLSAgICBvdGhlci5tSW1hZ2VW
aWV3cyA9IG51bGxwdHI7Ci0gICAgb3RoZXIubUxldmVsSW5kZXggPSAwOwotICAgIG90aGVyLm1M
YXllckluZGV4ID0gMDsKKyAgICBvdGhlci5yZXNldCgpOwogfQogCiB2b2lkIFJlbmRlclRhcmdl
dFZrOjppbml0KHZrOjpJbWFnZUhlbHBlciAqaW1hZ2UsCkBAIC00NCwxNCArNDQsMTggQEAgdm9p
ZCBSZW5kZXJUYXJnZXRWazo6aW5pdCh2azo6SW1hZ2VIZWxwZXIgKmltYWdlLAogICAgIG1JbWFn
ZVZpZXdzID0gaW1hZ2VWaWV3czsKICAgICBtTGV2ZWxJbmRleCA9IGxldmVsSW5kZXg7CiAgICAg
bUxheWVySW5kZXggPSBsYXllckluZGV4OworICAgIC8vIFdlIGFyZSBiZWluZyBjb25zZXJ2YXRp
dmUgaGVyZSBzaW5jZSBvdXIgdGFyZ2V0ZWQgb3B0aW1pemF0aW9uIGlzIHRvIHNraXAgc3VyZmFj
ZVZLJ3MgZGVwdGgKKyAgICAvLyBidWZmZXIgbG9hZCBhZnRlciBzd2FwIGNhbGwuCisgICAgbUNv
bnRlbnREZWZpbmVkID0gdHJ1ZTsKIH0KIAogdm9pZCBSZW5kZXJUYXJnZXRWazo6cmVzZXQoKQog
ewotICAgIG1JbWFnZSAgICAgID0gbnVsbHB0cjsKLSAgICBtSW1hZ2VWaWV3cyA9IG51bGxwdHI7
Ci0gICAgbUxldmVsSW5kZXggPSAwOwotICAgIG1MYXllckluZGV4ID0gMDsKKyAgICBtSW1hZ2Ug
ICAgICAgICAgPSBudWxscHRyOworICAgIG1JbWFnZVZpZXdzICAgICA9IG51bGxwdHI7CisgICAg
bUxldmVsSW5kZXggICAgID0gMDsKKyAgICBtTGF5ZXJJbmRleCAgICAgPSAwOworICAgIG1Db250
ZW50RGVmaW5lZCA9IGZhbHNlOwogfQogCiB2azo6QXR0YWNobWVudFNlcmlhbCBSZW5kZXJUYXJn
ZXRWazo6Z2V0QXNzaWduU2VyaWFsKENvbnRleHRWayAqY29udGV4dFZrKQpAQCAtNzQsNiArNzgs
NyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlclRhcmdldFZrOjpvbkNvbG9yRHJhdyhDb250ZXh0Vmsg
KmNvbnRleHRWaykKIAogICAgIGNvbnRleHRWay0+b25SZW5kZXJQYXNzSW1hZ2VXcml0ZShWS19J
TUFHRV9BU1BFQ1RfQ09MT1JfQklULCB2azo6SW1hZ2VMYXlvdXQ6OkNvbG9yQXR0YWNobWVudCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUltYWdlKTsKKyAgICBtQ29u
dGVudERlZmluZWQgPSB0cnVlOwogICAgIHJldGFpbkltYWdlVmlld3MoY29udGV4dFZrKTsKIAog
ICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTg3LDYgKzkyLDcgQEAgYW5n
bGU6OlJlc3VsdCBSZW5kZXJUYXJnZXRWazo6b25EZXB0aFN0ZW5jaWxEcmF3KENvbnRleHRWayAq
Y29udGV4dFZrKQogICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncyA9IHZrOjpHZXRE
ZXB0aFN0ZW5jaWxBc3BlY3RGbGFncyhmb3JtYXQpOwogCiAgICAgY29udGV4dFZrLT5vblJlbmRl
clBhc3NJbWFnZVdyaXRlKGFzcGVjdEZsYWdzLCB2azo6SW1hZ2VMYXlvdXQ6OkRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQsIG1JbWFnZSk7CisgICAgbUNvbnRlbnREZWZpbmVkID0gdHJ1ZTsKICAgICBy
ZXRhaW5JbWFnZVZpZXdzKGNvbnRleHRWayk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6
Q29udGludWU7CkBAIC0xMzgsMjAgKzE0NCw0NyBAQCB2azo6SW1hZ2VIZWxwZXIgKlJlbmRlclRh
cmdldFZrOjpnZXRJbWFnZUZvcldyaXRlKENvbnRleHRWayAqY29udGV4dFZrKSBjb25zdAogICAg
IHJldHVybiBtSW1hZ2U7CiB9CiAKLWFuZ2xlOjpSZXN1bHQgUmVuZGVyVGFyZ2V0Vms6OmZsdXNo
U3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaykKK2FuZ2xlOjpSZXN1bHQgUmVuZGVy
VGFyZ2V0Vms6OmZsdXNoU3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q2xlYXJWYWx1
ZXNBcnJheSAqZGVmZXJyZWRDbGVhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGVmZXJyZWRDbGVhckluZGV4KSBjb25zdAogewor
ICAgIC8vIE5vdGUgdGhhdCB0aGUgbGF5ZXIgaW5kZXggZm9yIDNEIHRleHR1cmVzIGlzIGFsd2F5
cyB6ZXJvIGFjY29yZGluZyB0byBWdWxrYW4uCisgICAgdWludDMyX3QgbGF5ZXJJbmRleCA9IG1M
YXllckluZGV4OworICAgIGlmIChtSW1hZ2UtPmdldFR5cGUoKSA9PSBWS19JTUFHRV9UWVBFXzNE
KQorICAgIHsKKyAgICAgICAgbGF5ZXJJbmRleCA9IDA7CisgICAgfQorCiAgICAgQVNTRVJUKG1J
bWFnZS0+dmFsaWQoKSk7Ci0gICAgaWYgKCFtSW1hZ2UtPmhhc1N0YWdlZFVwZGF0ZXMoKSkKKyAg
ICBpZiAoIW1JbWFnZS0+aXNVcGRhdGVTdGFnZWQobUxldmVsSW5kZXgsIGxheWVySW5kZXgpKQog
ICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAKICAgICB2azo6Q29tbWFu
ZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsKICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5k
ZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcigmY29tbWFuZEJ1ZmZlcikpOwotICAgIHJldHVybiBt
SW1hZ2UtPmZsdXNoU3RhZ2VkVXBkYXRlcyhjb250ZXh0VmssIG1MZXZlbEluZGV4LCBtTGV2ZWxJ
bmRleCArIDEsIG1MYXllckluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtTGF5ZXJJbmRleCArIDEsIGNvbW1hbmRCdWZmZXIpOworICAgIHJldHVybiBtSW1hZ2Ut
PmZsdXNoU2luZ2xlU3VicmVzb3VyY2VTdGFnZWRVcGRhdGVzKAorICAgICAgICBjb250ZXh0Vmss
IG1MZXZlbEluZGV4LCBsYXllckluZGV4LCBjb21tYW5kQnVmZmVyLCBkZWZlcnJlZENsZWFycywg
ZGVmZXJyZWRDbGVhckluZGV4KTsKIH0KIAogdm9pZCBSZW5kZXJUYXJnZXRWazo6cmV0YWluSW1h
Z2VWaWV3cyhDb250ZXh0VmsgKmNvbnRleHRWaykgY29uc3QKIHsKICAgICBtSW1hZ2VWaWV3cy0+
cmV0YWluKCZjb250ZXh0VmstPmdldFJlc291cmNlVXNlTGlzdCgpKTsKIH0KKworZ2w6OkltYWdl
SW5kZXggUmVuZGVyVGFyZ2V0Vms6OmdldEltYWdlSW5kZXgoKSBjb25zdAoreworICAgIC8vIERl
dGVybWluZSB0aGUgR0wgdHlwZSBmcm9tIHRoZSBWayBJbWFnZSBwcm9wZXJ0aWVzLgorICAgIGlm
IChtSW1hZ2UtPmdldFR5cGUoKSA9PSBWS19JTUFHRV9UWVBFXzNEKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGdsOjpJbWFnZUluZGV4OjpNYWtlM0QobUxldmVsSW5kZXgsIG1MYXllckluZGV4KTsK
KyAgICB9CisKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGRpc3Rpbmd1aXNoIDJEIGFycmF5IGFu
ZCBjdWJlLgorICAgIGlmIChtSW1hZ2UtPmdldExheWVyQ291bnQoKSA+IDEpCisgICAgeworICAg
ICAgICByZXR1cm4gZ2w6OkltYWdlSW5kZXg6Ok1ha2UyREFycmF5KG1MZXZlbEluZGV4LCBtTGF5
ZXJJbmRleCk7CisgICAgfQorCisgICAgQVNTRVJUKG1MYXllckluZGV4ID09IDApOworICAgIHJl
dHVybiBnbDo6SW1hZ2VJbmRleDo6TWFrZTJEKG1MZXZlbEluZGV4KTsKK30KIH0gIC8vIG5hbWVz
cGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJUYXJnZXRWay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJUYXJnZXRWay5oCmluZGV4IDEz
YjcyMmE4ZTI1OGExYzkxMjg2ZDZlMzQ2MWRlZGJiYzlmNWJkODQuLmEwZTdkM2ZhZWU5MGM2MTQ1
MWM2MjVkNTdlZGRkYTg1OTdmMGEyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyVGFyZ2V0VmsuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRl
clRhcmdldFZrLmgKQEAgLTEwLDEwICsxMCw5IEBACiAjaWZuZGVmIExJQkFOR0xFX1JFTkRFUkVS
X1ZVTEtBTl9SRU5ERVJUQVJHRVRWS19IXwogI2RlZmluZSBMSUJBTkdMRV9SRU5ERVJFUl9WVUxL
QU5fUkVOREVSVEFSR0VUVktfSF8KIAotI2luY2x1ZGUgInZvbGsuaCIKLQogI2luY2x1ZGUgImxp
YkFOR0xFL0ZyYW1lYnVmZmVyQXR0YWNobWVudC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRl
cmVyL3JlbmRlcmVyX3V0aWxzLmgiCisjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L3ZrX2hlYWRlcnMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVs
cGVycy5oIgogCiBuYW1lc3BhY2UgcngKQEAgLTY5LDI0ICs2OCwzNCBAQCBjbGFzcyBSZW5kZXJU
YXJnZXRWayBmaW5hbCA6IHB1YmxpYyBGcmFtZWJ1ZmZlckF0dGFjaG1lbnRSZW5kZXJUYXJnZXQK
ICAgICB1aW50MzJfdCBnZXRMZXZlbEluZGV4KCkgY29uc3QgeyByZXR1cm4gbUxldmVsSW5kZXg7
IH0KICAgICB1aW50MzJfdCBnZXRMYXllckluZGV4KCkgY29uc3QgeyByZXR1cm4gbUxheWVySW5k
ZXg7IH0KIAorICAgIGdsOjpJbWFnZUluZGV4IGdldEltYWdlSW5kZXgoKSBjb25zdDsKKwogICAg
IC8vIFNwZWNpYWwgbXV0YXRvciBmb3IgU3VyZmFjZSBSZW5kZXJUYXJnZXRzLiBBbGxvd3MgdGhl
IEZyYW1lYnVmZmVyIHRvIGtlZXAgYSBzaW5nbGUKICAgICAvLyBSZW5kZXJUYXJnZXRWayBwb2lu
dGVyLgogICAgIHZvaWQgdXBkYXRlU3dhcGNoYWluSW1hZ2Uodms6OkltYWdlSGVscGVyICppbWFn
ZSwgdms6OkltYWdlVmlld0hlbHBlciAqaW1hZ2VWaWV3cyk7CiAKLSAgICBhbmdsZTo6UmVzdWx0
IGZsdXNoU3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWayk7CisgICAgYW5nbGU6OlJl
c3VsdCBmbHVzaFN0YWdlZFVwZGF0ZXMoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkNsZWFyVmFsdWVzQXJyYXkgKmRlZmVycmVk
Q2xlYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRl
ZmVycmVkQ2xlYXJJbmRleCkgY29uc3Q7CiAKICAgICB2b2lkIHJldGFpbkltYWdlVmlld3MoQ29u
dGV4dFZrICpjb250ZXh0VmspIGNvbnN0OwogCisgICAgYm9vbCBoYXNEZWZpbmVkQ29udGVudCgp
IGNvbnN0IHsgcmV0dXJuIG1Db250ZW50RGVmaW5lZDsgfQorICAgIC8vIG1hcmsgY29udGVudCBh
cyB1bmRlZmluZWQgc28gdGhhdCBjZXJ0YWluIG9wdGltaXphdGlvbnMgYXJlIHBvc3NpYmxlCisg
ICAgdm9pZCBpbnZhbGlkYXRlQ29udGVudCgpIHsgbUNvbnRlbnREZWZpbmVkID0gZmFsc2U7IH0K
KwogICBwcml2YXRlOgogICAgIHZrOjpJbWFnZUhlbHBlciAqbUltYWdlOwogICAgIHZrOjpJbWFn
ZVZpZXdIZWxwZXIgKm1JbWFnZVZpZXdzOwogICAgIHVpbnQzMl90IG1MZXZlbEluZGV4OwogICAg
IHVpbnQzMl90IG1MYXllckluZGV4OworICAgIC8vIFJpZ2h0IG5vdyB3ZSBhcmUgb25seSB0cmFj
a2luZyBkZXB0aC9zdGVuY2lsIGJ1ZmZlci4gV2UgY291bGQgZXhwYW5kIGl0IHRvIGNvdmVyIGNv
bG9yCisgICAgLy8gYnVmZmVycyBpZiBuZWVkZWQgaW4gZnV0dXJlLgorICAgIGJvb2wgbUNvbnRl
bnREZWZpbmVkOwogfTsKIAogLy8gQSB2ZWN0b3Igb2YgcmVuZGVydGFyZ2V0cwogdXNpbmcgUmVu
ZGVyVGFyZ2V0VmVjdG9yID0gc3RkOjp2ZWN0b3I8UmVuZGVyVGFyZ2V0Vms+OwotCiB9ICAvLyBu
YW1lc3BhY2UgcngKIAogI2VuZGlmICAvLyBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fUkVOREVS
VEFSR0VUVktfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyYnVmZmVyVmsuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJidWZmZXJWay5jcHAK
aW5kZXggN2NhYjI3MmI5NTkwODY1MTUzM2NkYjUwMzBjNDdlY2E3M2Y2YTZhNC4uNDI0OGQ2ZjIy
ZTFlNmY0ODE0MWJiZTgzNzA2MjA0ZmMwZDU0YjFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJidWZmZXJWay5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1
bGthbi9SZW5kZXJidWZmZXJWay5jcHAKQEAgLTE3LDggKzE3LDE2IEBACiAKIG5hbWVzcGFjZSBy
eAogeworbmFtZXNwYWNlCit7CithbmdsZTo6U3ViamVjdEluZGV4IGtSZW5kZXJidWZmZXJJbWFn
ZVN1YmplY3RJbmRleCA9IDA7Cit9ICAvLyBuYW1lc3BhY2UKKwogUmVuZGVyYnVmZmVyVms6OlJl
bmRlcmJ1ZmZlclZrKGNvbnN0IGdsOjpSZW5kZXJidWZmZXJTdGF0ZSAmc3RhdGUpCi0gICAgOiBS
ZW5kZXJidWZmZXJJbXBsKHN0YXRlKSwgbU93bnNJbWFnZShmYWxzZSksIG1JbWFnZShudWxscHRy
KQorICAgIDogUmVuZGVyYnVmZmVySW1wbChzdGF0ZSksCisgICAgICBtT3duc0ltYWdlKGZhbHNl
KSwKKyAgICAgIG1JbWFnZShudWxscHRyKSwKKyAgICAgIG1JbWFnZU9ic2VydmVyQmluZGluZyh0
aGlzLCBrUmVuZGVyYnVmZmVySW1hZ2VTdWJqZWN0SW5kZXgpCiB7fQogCiBSZW5kZXJidWZmZXJW
azo6flJlbmRlcmJ1ZmZlclZrKCkge30KQEAgLTYxLDYgKzY5LDcgQEAgYW5nbGU6OlJlc3VsdCBS
ZW5kZXJidWZmZXJWazo6c2V0U3RvcmFnZUltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgIHsKICAgICAgICAgICAgIG1JbWFnZSAgICAgPSBuZXcgdms6OkltYWdlSGVscGVy
KCk7CiAgICAgICAgICAgICBtT3duc0ltYWdlID0gdHJ1ZTsKKyAgICAgICAgICAgIG1JbWFnZU9i
c2VydmVyQmluZGluZy5iaW5kKG1JbWFnZSk7CiAgICAgICAgIH0KIAogICAgICAgICBjb25zdCBh
bmdsZTo6Rm9ybWF0ICZ0ZXh0dXJlRm9ybWF0ID0gdmtGb3JtYXQuYWN0dWFsSW1hZ2VGb3JtYXQo
KTsKQEAgLTc4LDkgKzg3LDYgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJidWZmZXJWazo6c2V0U3Rv
cmFnZUltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIFZrTWVtb3J5UHJv
cGVydHlGbGFncyBmbGFncyA9IFZLX01FTU9SWV9QUk9QRVJUWV9ERVZJQ0VfTE9DQUxfQklUOwog
ICAgICAgICBBTkdMRV9UUlkobUltYWdlLT5pbml0TWVtb3J5KGNvbnRleHRWaywgcmVuZGVyZXIt
PmdldE1lbW9yeVByb3BlcnRpZXMoKSwgZmxhZ3MpKTsKIAotICAgICAgICAvLyBDbGVhciB0aGUg
cmVuZGVyYnVmZmVyIGlmIGl0IGhhcyBlbXVsYXRlZCBjaGFubmVscy4KLSAgICAgICAgbUltYWdl
LT5zdGFnZUNsZWFySWZFbXVsYXRlZEZvcm1hdChnbDo6SW1hZ2VJbmRleDo6TWFrZTJEKDApLCB2
a0Zvcm1hdCk7Ci0KICAgICAgICAgbVJlbmRlclRhcmdldC5pbml0KG1JbWFnZSwgJm1JbWFnZVZp
ZXdzLCAwLCAwKTsKICAgICB9CiAKQEAgLTExNSw2ICsxMjEsNyBAQCBhbmdsZTo6UmVzdWx0IFJl
bmRlcmJ1ZmZlclZrOjpzZXRTdG9yYWdlRUdMSW1hZ2VUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleAogICAgIEltYWdlVmsgKmltYWdlVmsgPSB2azo6R2V0SW1wbChpbWFnZSk7CiAgICAg
bUltYWdlICAgICAgICAgICA9IGltYWdlVmstPmdldEltYWdlKCk7CiAgICAgbU93bnNJbWFnZSAg
ICAgICA9IGZhbHNlOworICAgIG1JbWFnZU9ic2VydmVyQmluZGluZy5iaW5kKG1JbWFnZSk7CiAK
ICAgICBjb25zdCB2azo6Rm9ybWF0ICZ2a0Zvcm1hdCA9IHJlbmRlcmVyLT5nZXRGb3JtYXQoaW1h
Z2UtPmdldEZvcm1hdCgpLmluZm8tPnNpemVkSW50ZXJuYWxGb3JtYXQpOwogICAgIGNvbnN0IGFu
Z2xlOjpGb3JtYXQgJnRleHR1cmVGb3JtYXQgPSB2a0Zvcm1hdC5hY3R1YWxJbWFnZUZvcm1hdCgp
OwpAQCAtMTUxLDcgKzE1OCw2IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyYnVmZmVyVms6OmdldEF0
dGFjaG1lbnRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVy
QXR0YWNobWVudFJlbmRlclRhcmdldCAqKnJ0T3V0KQogewogICAgIEFTU0VSVChtSW1hZ2UgJiYg
bUltYWdlLT52YWxpZCgpKTsKLSAgICBBTkdMRV9UUlkobVJlbmRlclRhcmdldC5mbHVzaFN0YWdl
ZFVwZGF0ZXModms6OkdldEltcGwoY29udGV4dCkpKTsKICAgICAqcnRPdXQgPSAmbVJlbmRlclRh
cmdldDsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC0xNjAsNyAr
MTY2LDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJidWZmZXJWazo6aW5pdGlhbGl6ZUNvbnRlbnRz
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbWFnZUluZGV4KQog
ewogICAgIC8vIE5vdGU6IHN0YWdlU3VicmVzb3VyY2VSb2J1c3RDbGVhciBvbmx5IHVzZXMgdGhl
IGludGVuZGVkIGZvcm1hdCB0byBjb3VudCBjaGFubmVscy4KLSAgICBtSW1hZ2UtPnN0YWdlU3Vi
cmVzb3VyY2VSb2J1c3RDbGVhcihpbWFnZUluZGV4LCBtSW1hZ2UtPmdldEZvcm1hdCgpKTsKKyAg
ICBtSW1hZ2UtPnN0YWdlUm9idXN0UmVzb3VyY2VDbGVhcihpbWFnZUluZGV4KTsKICAgICByZXR1
cm4gbUltYWdlLT5mbHVzaEFsbFN0YWdlZFVwZGF0ZXModms6OkdldEltcGwoY29udGV4dCkpOwog
fQogCkBAIC0xNzYsNiArMTgyLDcgQEAgdm9pZCBSZW5kZXJidWZmZXJWazo6cmVsZWFzZUFuZERl
bGV0ZUltYWdlKENvbnRleHRWayAqY29udGV4dFZrKQogewogICAgIHJlbGVhc2VJbWFnZShjb250
ZXh0VmspOwogICAgIFNhZmVEZWxldGUobUltYWdlKTsKKyAgICBtSW1hZ2VPYnNlcnZlckJpbmRp
bmcuYmluZChudWxscHRyKTsKIH0KIAogdm9pZCBSZW5kZXJidWZmZXJWazo6cmVsZWFzZUltYWdl
KENvbnRleHRWayAqY29udGV4dFZrKQpAQCAtMTkwLDYgKzE5Nyw3IEBAIHZvaWQgUmVuZGVyYnVm
ZmVyVms6OnJlbGVhc2VJbWFnZShDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICBlbHNlCiAgICAg
ewogICAgICAgICBtSW1hZ2UgPSBudWxscHRyOworICAgICAgICBtSW1hZ2VPYnNlcnZlckJpbmRp
bmcuYmluZChudWxscHRyKTsKICAgICB9CiAKICAgICBtSW1hZ2VWaWV3cy5yZWxlYXNlKHJlbmRl
cmVyKTsKQEAgLTIyOSw0ICsyMzcsMTMgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJidWZmZXJWazo6
Z2V0UmVuZGVyYnVmZmVySW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0
dXJuIG1JbWFnZS0+cmVhZFBpeGVsc0ZvckdldEltYWdlKGNvbnRleHRWaywgcGFja1N0YXRlLCBw
YWNrQnVmZmVyLCAwLCAwLCBmb3JtYXQsIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBpeGVscyk7CiB9CisKK3ZvaWQgUmVuZGVyYnVmZmVyVms6Om9uU3Vi
amVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJqZWN0
TWVzc2FnZSBtZXNzYWdlKQoreworICAgIEFTU0VSVChpbmRleCA9PSBrUmVuZGVyYnVmZmVySW1h
Z2VTdWJqZWN0SW5kZXggJiYKKyAgICAgICAgICAgbWVzc2FnZSA9PSBhbmdsZTo6U3ViamVjdE1l
c3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsKKworICAgIC8vIEZvcndhcmQgdGhlIG5vdGlmaWNhdGlv
biB0byB0aGUgcGFyZW50IGNsYXNzIHRoYXQgdGhlIHN0YWdpbmcgYnVmZmVyIGNoYW5nZWQuCisg
ICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1lc3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsK
K30KIH0gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJidWZmZXJWay5oIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJidWZm
ZXJWay5oCmluZGV4IGEzODYyN2QyNTI5NGIxMWZiMDA3ZDc2YjBjNWE1MDRhMmY4MDNhMmMuLjA1
NjRmYjM1YTk0ZmJhMWFlMDM0ZTUzMTFiNzQ2ODFhNTgzNjY5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyYnVm
ZmVyVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL1JlbmRlcmJ1ZmZlclZrLmgKQEAgLTE3LDcgKzE3LDcgQEAKIG5hbWVzcGFjZSBy
eAogewogCi1jbGFzcyBSZW5kZXJidWZmZXJWayA6IHB1YmxpYyBSZW5kZXJidWZmZXJJbXBsCitj
bGFzcyBSZW5kZXJidWZmZXJWayA6IHB1YmxpYyBSZW5kZXJidWZmZXJJbXBsLCBwdWJsaWMgYW5n
bGU6Ok9ic2VydmVySW50ZXJmYWNlCiB7CiAgIHB1YmxpYzoKICAgICBSZW5kZXJidWZmZXJWayhj
b25zdCBnbDo6UmVuZGVyYnVmZmVyU3RhdGUgJnN0YXRlKTsKQEAgLTcwLDEwICs3MCwxNSBAQCBj
bGFzcyBSZW5kZXJidWZmZXJWayA6IHB1YmxpYyBSZW5kZXJidWZmZXJJbXBsCiAKICAgICBjb25z
dCBnbDo6SW50ZXJuYWxGb3JtYXQgJmdldEltcGxlbWVudGF0aW9uU2l6ZWRGb3JtYXQoKSBjb25z
dDsKIAorICAgIC8vIFdlIG1vbml0b3IgdGhlIHN0YWdpbmcgYnVmZmVyIGZvciBjaGFuZ2VzLiBU
aGlzIGhhbmRsZXMgc3RhZ2VkIGRhdGEgZnJvbSBvdXRzaWRlIHRoaXMgY2xhc3MuCisgICAgdm9p
ZCBvblN1YmplY3RTdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdEluZGV4IGluZGV4LCBhbmdsZTo6
U3ViamVjdE1lc3NhZ2UgbWVzc2FnZSkgb3ZlcnJpZGU7CisKICAgICBib29sIG1Pd25zSW1hZ2U7
CiAgICAgdms6OkltYWdlSGVscGVyICptSW1hZ2U7CiAgICAgdms6OkltYWdlVmlld0hlbHBlciBt
SW1hZ2VWaWV3czsKICAgICBSZW5kZXJUYXJnZXRWayBtUmVuZGVyVGFyZ2V0OworCisgICAgYW5n
bGU6Ok9ic2VydmVyQmluZGluZyBtSW1hZ2VPYnNlcnZlckJpbmRpbmc7CiB9OwogCiB9ICAvLyBu
YW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuY3BwCmluZGV4IDhk
ZDRiOTNkOWY3NmIwYzNhMDM1ZjBiOTYxMDgyMGVjYTA1NTA4MzQuLjUwODhiMzE2NzEwNWU2Y2Zh
Yzc5ZDYyNzM3Nzc1Y2ExNjkyODAyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJl
clZrLmNwcApAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgImNvbW1vbi9kZWJ1Zy5oIgogI2lu
Y2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgogI2luY2x1ZGUgImNvbW1vbi9zeXN0ZW1fdXRpbHMu
aCIKKyNpbmNsdWRlICJjb21tb24vdnVsa2FuL3Z1bGthbl9pY2QuaCIKICNpbmNsdWRlICJncHVf
aW5mb191dGlsL1N5c3RlbUluZm8uaCIKICNpbmNsdWRlICJsaWJBTkdMRS9Db250ZXh0LmgiCiAj
aW5jbHVkZSAibGliQU5HTEUvRGlzcGxheS5oIgpAQCAtMzEsMTYgKzMyLDEzIEBACiAjaW5jbHVk
ZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1ZlcnRleEFycmF5VmsuaCIKICNpbmNsdWRlICJs
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5oIgogI2luY2x1ZGUgImxpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRfdXRpbHMuaCIKKyNpbmNsdWRlICJsaWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vdmtfZ29vZ2xlX2ZpbHRlcmluZ19wcmVjaXNpb24uaCIKICNpbmNs
dWRlICJsaWJBTkdMRS90cmFjZS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1BsYXRmb3JtLmgiCiAK
IC8vIENvbnN0cwogbmFtZXNwYWNlCiB7Ci1jb25zdCB1aW50MzJfdCBrTW9ja1ZlbmRvcklEICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweGJhNWViYTExOwotY29uc3QgdWludDMyX3Qg
a01vY2tEZXZpY2VJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHhmMDA1YmExMTsK
LWNvbnN0ZXhwciBjaGFyIGtNb2NrRGV2aWNlTmFtZVtdICAgICAgICAgICAgICAgICAgICAgICAg
ICA9ICJWdWxrYW4gTW9jayBEZXZpY2UiOwotY29uc3RleHByIGNoYXIga1N3aWZ0U2hhZGVyRGV2
aWNlTmFtZVtdICAgICAgICAgICAgICAgICAgID0gIlN3aWZ0U2hhZGVyIERldmljZSI7CiBjb25z
dGV4cHIgVmtGb3JtYXRGZWF0dXJlRmxhZ3Mga0ludmFsaWRGb3JtYXRGZWF0dXJlRmxhZ3MgPSBz
dGF0aWNfY2FzdDxWa0Zvcm1hdEZlYXR1cmVGbGFncz4oLTEpOwogfSAgLy8gYW5vbnltb3VzIG5h
bWVzcGFjZQogCkBAIC01OCw3ICs1Niw3IEBAIGNvbnN0ZXhwciB1aW50MzJfdCBrUGlwZWxpbmVD
YWNoZVZrVXBkYXRlUGVyaW9kID0gNjA7CiAvLyB2ZXJzaW9uIG9mIFZ1bGthbi4KIGNvbnN0ZXhw
ciB1aW50MzJfdCBrUHJlZmVycmVkVnVsa2FuQVBJVmVyc2lvbiA9IFZLX0FQSV9WRVJTSU9OXzFf
MTsKIAotdms6OklDRCBDaG9vc2VJQ0RGcm9tQXR0cmlicyhjb25zdCBlZ2w6OkF0dHJpYnV0ZU1h
cCAmYXR0cmlicykKK2FuZ2xlOjp2azo6SUNEIENob29zZUlDREZyb21BdHRyaWJzKGNvbnN0IGVn
bDo6QXR0cmlidXRlTWFwICZhdHRyaWJzKQogewogI2lmICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JN
X0FORFJPSUQpCiAgICAgLy8gTW9jayBJQ0QgZG9lcyBub3QgY3VycmVudGx5IHJ1biBvbiBBbmRy
b2lkCkBAIC03MCwxNiArNjgsMTYgQEAgdms6OklDRCBDaG9vc2VJQ0RGcm9tQXR0cmlicyhjb25z
dCBlZ2w6OkF0dHJpYnV0ZU1hcCAmYXR0cmlicykKICAgICAgICAgY2FzZSBFR0xfUExBVEZPUk1f
QU5HTEVfREVWSUNFX1RZUEVfSEFSRFdBUkVfQU5HTEU6CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX1RZUEVfTlVMTF9BTkdMRToKLSAg
ICAgICAgICAgIHJldHVybiB2azo6SUNEOjpNb2NrOworICAgICAgICAgICAgcmV0dXJuIGFuZ2xl
Ojp2azo6SUNEOjpNb2NrOwogICAgICAgICBjYXNlIEVHTF9QTEFURk9STV9BTkdMRV9ERVZJQ0Vf
VFlQRV9TV0lGVFNIQURFUl9BTkdMRToKLSAgICAgICAgICAgIHJldHVybiB2azo6SUNEOjpTd2lm
dFNoYWRlcjsKKyAgICAgICAgICAgIHJldHVybiBhbmdsZTo6dms6OklDRDo6U3dpZnRTaGFkZXI7
CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgfQogI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRS
T0lEKQogCi0gICAgcmV0dXJuIHZrOjpJQ0Q6OkRlZmF1bHQ7CisgICAgcmV0dXJuIGFuZ2xlOjp2
azo6SUNEOjpEZWZhdWx0OwogfQogCiBib29sIFN0ckxlc3MoY29uc3QgY2hhciAqYSwgY29uc3Qg
Y2hhciAqYikKQEAgLTEyOSw2ICsxMjcsMTkgQEAgY29uc3RleHByIGNvbnN0IGNoYXIgKmtTa2lw
cGVkTWVzc2FnZXNbXSA9IHsKICAgICAiVU5BU1NJR05FRC1Db3JlVmFsaWRhdGlvbi1TaGFkZXIt
SW50ZXJmYWNlVHlwZU1pc21hdGNoIiwKICAgICAvLyBodHRwOi8vYW5nbGVidWcuY29tLzQ1MTAK
ICAgICAiVlVJRC12a1F1ZXVlUHJlc2VudEtIUi1wV2FpdFNlbWFwaG9yZXMtMDMyNjgiLAorICAg
IC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3MgorICAgICJWVUlELXZrQ21kQ29weUltYWdlVG9C
dWZmZXItc3JjSW1hZ2UtMDE5OTgiLAorICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3Nwor
ICAgICJWVUlELXZrQ21kQ2xlYXJDb2xvckltYWdlLWltYWdlLTAxOTkzIiwKKyAgICAvLyBodHRw
Oi8vYW5nbGVidWcuY29tLzQ1NzggZm9yIG5leHQgdHdvCisgICAgIlZVSUQtdmtDbWRCbGl0SW1h
Z2Utc3JjSW1hZ2UtMDE5OTkiLAorICAgICJWVUlELXZrQ21kQmxpdEltYWdlLWZpbHRlci0wMjAw
MSIsCisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NTc5CisgICAgIlZVSUQtdmtDbWRCbGl0
SW1hZ2UtZHN0SW1hZ2UtMDIwMDAiLAorICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU4MAor
ICAgICJWVUlELXZrQ21kUmVzb2x2ZUltYWdlLWRzdEltYWdlLTAyMDAzIiwKKyAgICAvLyBodHRw
Oi8vYW5nbGVidWcuY29tLzQ1ODMKKyAgICAiVlVJRC1Wa0dyYXBoaWNzUGlwZWxpbmVDcmVhdGVJ
bmZvLWJsZW5kRW5hYmxlLTAyMDIzIiwKIH07CiAKIC8vIFN1cHByZXNzIHZhbGlkYXRpb24gZXJy
b3JzIHRoYXQgYXJlIGtub3duCkBAIC0yMzIsMjEgKzI0Myw2IEBAIGNvbnN0IGNoYXIgKkdldFZr
T2JqZWN0VHlwZU5hbWUoVmtPYmplY3RUeXBlIHR5cGUpCiAgICAgfQogfQogCi0vLyBUaGlzIGZ1
bmN0aW9uIGlzIHVudXNlZCBvbiBBbmRyb2lkL0Z1c2NoaWEvR0dQCi0jaWYgIWRlZmluZWQoQU5H
TEVfUExBVEZPUk1fQU5EUk9JRCkgJiYgIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fRlVDSFNJQSkg
JiYgXAotICAgICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0dHUCkKLWNvbnN0IHN0ZDo6c3RyaW5n
IFdyYXBJQ0RFbnZpcm9ubWVudChjb25zdCBjaGFyICppY2RFbnZpcm9ubWVudCkKLXsKLSMgICAg
aWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9BUFBMRSkKLSAgICAvLyBPbiBNYWNPUyB0aGUgbGli
cmFyaWVzIGFyZSBidW5kbGVkIGludG8gdGhlIGFwcGxpY2F0aW9uIGRpcmVjdG9yeQotICAgIHN0
ZDo6c3RyaW5nIHJldCA9IGFuZ2xlOjpHZXRIZWxwZXJFeGVjdXRhYmxlRGlyKCkgKyBpY2RFbnZp
cm9ubWVudDsKLSAgICByZXR1cm4gcmV0OwotIyAgICBlbmRpZiAgLy8gZGVmaW5lZChBTkdMRV9Q
TEFURk9STV9BUFBMRSkKLSAgICByZXR1cm4gaWNkRW52aXJvbm1lbnQ7Ci19Ci0jZW5kaWYgIC8v
ICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0FORFJPSUQpICYmICFkZWZpbmVkKEFOR0xFX1BMQVRG
T1JNX0ZVQ0hTSUEpICYmCi0gICAgICAgIC8vICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX0dHUCkK
LQogVktBUElfQVRUUiBWa0Jvb2wzMiBWS0FQSV9DQUxMCiBEZWJ1Z1V0aWxzTWVzc2VuZ2VyKFZr
RGVidWdVdGlsc01lc3NhZ2VTZXZlcml0eUZsYWdCaXRzRVhUIG1lc3NhZ2VTZXZlcml0eSwKICAg
ICAgICAgICAgICAgICAgICAgVmtEZWJ1Z1V0aWxzTWVzc2FnZVR5cGVGbGFnc0VYVCBtZXNzYWdl
VHlwZXMsCkBAIC0zNjcsMTkxICszNjMsNjkgQEAgVktBUElfQVRUUiBWa0Jvb2wzMiBWS0FQSV9D
QUxMIERlYnVnUmVwb3J0Q2FsbGJhY2soVmtEZWJ1Z1JlcG9ydEZsYWdzRVhUIGZsYWdzLAogICAg
IHJldHVybiBWS19GQUxTRTsKIH0KIAotLy8gSWYgd2UncmUgbG9hZGluZyB0aGUgdmFsaWRhdGlv
biBsYXllcnMsIHdlIGNvdWxkIGJlIHJ1bm5pbmcgZnJvbSBhbnkgcmFuZG9tIGRpcmVjdG9yeS4K
LS8vIENoYW5nZSB0byB0aGUgZXhlY3V0YWJsZSBkaXJlY3Rvcnkgc28gd2UgY2FuIGZpbmQgdGhl
IGxheWVycywgdGhlbiBjaGFuZ2UgYmFjayB0byB0aGUKLS8vIHByZXZpb3VzIGRpcmVjdG9yeSB0
byBiZSBzYWZlIHdlIGRvbid0IGRpc3J1cHQgdGhlIGFwcGxpY2F0aW9uLgotY2xhc3MgU2NvcGVk
VmtMb2FkZXJFbnZpcm9ubWVudCA6IGFuZ2xlOjpOb25Db3B5YWJsZQorYm9vbCBTaG91bGRVc2VW
YWxpZGF0aW9uTGF5ZXJzKGNvbnN0IGVnbDo6QXR0cmlidXRlTWFwICZhdHRyaWJzKQogewotICBw
dWJsaWM6Ci0gICAgU2NvcGVkVmtMb2FkZXJFbnZpcm9ubWVudChib29sIGVuYWJsZVZhbGlkYXRp
b25MYXllcnMsIHZrOjpJQ0QgaWNkKQotICAgICAgICA6IG1FbmFibGVWYWxpZGF0aW9uTGF5ZXJz
KGVuYWJsZVZhbGlkYXRpb25MYXllcnMpLAotICAgICAgICAgIG1JQ0QoaWNkKSwKLSAgICAgICAg
ICBtQ2hhbmdlZENXRChmYWxzZSksCi0gICAgICAgICAgbUNoYW5nZWRJQ0RFbnYoZmFsc2UpCi0g
ICAgewotLy8gQ2hhbmdpbmcgQ1dEIGFuZCBzZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBt
YWtlcyBubyBzZW5zZSBvbiBBbmRyb2lkLAotLy8gc2luY2UgdGhpcyBjb2RlIGlzIGEgcGFydCBv
ZiBKYXZhIGFwcGxpY2F0aW9uIHRoZXJlLgotLy8gQW5kcm9pZCBWdWxrYW4gbG9hZGVyIGRvZXNu
J3QgbmVlZCB0aGlzIGVpdGhlci4KLSNpZiAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lE
KSAmJiAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9GVUNIU0lBKSAmJiBcCi0gICAgIWRlZmluZWQo
QU5HTEVfUExBVEZPUk1fR0dQKQotICAgICAgICBpZiAoaWNkID09IHZrOjpJQ0Q6Ok1vY2spCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICghc2V0SUNERW52aXJvbm1lbnQoV3JhcElDREVudmly
b25tZW50KEFOR0xFX1ZLX01PQ0tfSUNEX0pTT04pLmNfc3RyKCkpKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIEVSUigpIDw8ICJFcnJvciBzZXR0aW5nIGVudmlyb25tZW50IGZvciBN
b2NrL051bGwgRHJpdmVyLiI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSMgICAgaWYgZGVm
aW5lZChBTkdMRV9WS19TV0lGVFNIQURFUl9JQ0RfSlNPTikKLSAgICAgICAgZWxzZSBpZiAoaWNk
ID09IHZrOjpJQ0Q6OlN3aWZ0U2hhZGVyKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIXNl
dElDREVudmlyb25tZW50KFdyYXBJQ0RFbnZpcm9ubWVudChBTkdMRV9WS19TV0lGVFNIQURFUl9J
Q0RfSlNPTikuY19zdHIoKSkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRVJSKCkg
PDwgIkVycm9yIHNldHRpbmcgZW52aXJvbm1lbnQgZm9yIFN3aWZ0U2hhZGVyLiI7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSMgICAgZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfVktfU1dJRlRT
SEFERVJfSUNEX0pTT04pCi0gICAgICAgIGlmIChtRW5hYmxlVmFsaWRhdGlvbkxheWVycyB8fCBp
Y2QgIT0gdms6OklDRDo6RGVmYXVsdCkKLSAgICAgICAgewotICAgICAgICAgICAgY29uc3QgYXV0
byAmY3dkID0gYW5nbGU6OkdldENXRCgpOwotICAgICAgICAgICAgaWYgKCFjd2QudmFsaWQoKSkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBFUlIoKSA8PCAiRXJyb3IgZ2V0dGluZyBD
V0QgZm9yIFZ1bGthbiBsYXllcnMgaW5pdC4iOwotICAgICAgICAgICAgICAgIG1FbmFibGVWYWxp
ZGF0aW9uTGF5ZXJzID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgbUlDRCAgICAgICAgICAgICAg
ICAgICAgPSB2azo6SUNEOjpEZWZhdWx0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG1QcmV2aW91c0NXRCAgICAgICA9IGN3
ZC52YWx1ZSgpOwotICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIGV4ZURpciA9IGFuZ2xlOjpH
ZXRFeGVjdXRhYmxlRGlyZWN0b3J5KCk7Ci0gICAgICAgICAgICAgICAgbUNoYW5nZWRDV0QgICAg
ICAgID0gYW5nbGU6OlNldENXRChleGVEaXIuY19zdHIoKSk7Ci0gICAgICAgICAgICAgICAgaWYg
KCFtQ2hhbmdlZENXRCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEVS
UigpIDw8ICJFcnJvciBzZXR0aW5nIENXRCBmb3IgVnVsa2FuIGxheWVycyBpbml0LiI7Ci0gICAg
ICAgICAgICAgICAgICAgIG1FbmFibGVWYWxpZGF0aW9uTGF5ZXJzID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgIG1JQ0QgICAgICAgICAgICAgICAgICAgID0gdms6OklDRDo6RGVmYXVsdDsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyNpZiBkZWZpbmVk
KEFOR0xFX0VOQUJMRV9WVUxLQU5fVkFMSURBVElPTl9MQVlFUlNfQllfREVGQVVMVCkKKyAgICBy
ZXR1cm4gU2hvdWxkVXNlRGVidWdMYXllcnMoYXR0cmlicyk7CisjZWxzZQorICAgIEVHTEF0dHJp
YiBkZWJ1Z1NldHRpbmcgPQorICAgICAgICBhdHRyaWJzLmdldChFR0xfUExBVEZPUk1fQU5HTEVf
REVCVUdfTEFZRVJTX0VOQUJMRURfQU5HTEUsIEVHTF9ET05UX0NBUkUpOworICAgIHJldHVybiBk
ZWJ1Z1NldHRpbmcgPT0gRUdMX1RSVUU7CisjZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfRU5BQkxF
X1ZVTEtBTl9WQUxJREFUSU9OX0xBWUVSU19CWV9ERUZBVUxUKQorfQogCi0gICAgICAgIC8vIE92
ZXJyaWRlIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSB0aGUgQU5HTEUgbGF5ZXJzLgotICAg
ICAgICBpZiAobUVuYWJsZVZhbGlkYXRpb25MYXllcnMpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICghYW5nbGU6OlByZXBlbmRQYXRoVG9FbnZpcm9ubWVudFZhcih2azo6Z0xvYWRlckxheWVy
c1BhdGhFbnYsIEFOR0xFX1ZLX0xBWUVSU19ESVIpKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEVSUigpIDw8ICJFcnJvciBzZXR0aW5nIGVudmlyb25tZW50IGZvciBWdWxrYW4gbGF5
ZXJzIGluaXQuIjsKLSAgICAgICAgICAgICAgICBtRW5hYmxlVmFsaWRhdGlvbkxheWVycyA9IGZh
bHNlOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYgIC8vICFkZWZpbmVkKEFOR0xF
X1BMQVRGT1JNX0FORFJPSUQpCi0gICAgfQorZ2w6OlZlcnNpb24gTGltaXRWZXJzaW9uVG8oY29u
c3QgZ2w6OlZlcnNpb24gJmN1cnJlbnQsIGNvbnN0IGdsOjpWZXJzaW9uICZsb3dlcikKK3sKKyAg
ICByZXR1cm4gc3RkOjptaW4oY3VycmVudCwgbG93ZXIpOworfQorCitBTkdMRV9NQVlCRV9VTlVT
RUQgYm9vbCBGZW5jZVByb3BlcnRpZXNDb21wYXRpYmxlV2l0aEFuZHJvaWQoCisgICAgY29uc3Qg
VmtFeHRlcm5hbEZlbmNlUHJvcGVydGllcyAmZXh0ZXJuYWxGZW5jZVByb3BlcnRpZXMpCit7Cisg
ICAgLy8gaGFuZGxlVHlwZSBoZXJlIGlzIHRoZSBleHRlcm5hbCBmZW5jZSB0eXBlIC0KKyAgICAv
LyB3ZSB3YW50IHR5cGUgY29tcGF0aWJsZSB3aXRoIGNyZWF0aW5nIGFuZCBleHBvcnQvZHVwKCkg
QW5kcm9pZCBGRAogCi0gICAgflNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQoKQorICAgIC8vIElt
cG9ydGVkIGhhbmRsZVR5cGUgdGhhdCBjYW4gYmUgZXhwb3J0ZWQgLSBuZWVkIGZvciB2a0dldEZl
bmNlRmRLSFIoKQorICAgIGlmICgoZXh0ZXJuYWxGZW5jZVByb3BlcnRpZXMuZXhwb3J0RnJvbUlt
cG9ydGVkSGFuZGxlVHlwZXMgJgorICAgICAgICAgVktfRVhURVJOQUxfRkVOQ0VfSEFORExFX1RZ
UEVfU1lOQ19GRF9CSVRfS0hSKSA9PSAwKQogICAgIHsKLSAgICAgICAgaWYgKG1DaGFuZ2VkQ1dE
KQotICAgICAgICB7Ci0jaWYgIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKLSAgICAg
ICAgICAgIEFTU0VSVChtUHJldmlvdXNDV0QudmFsaWQoKSk7Ci0gICAgICAgICAgICBhbmdsZTo6
U2V0Q1dEKG1QcmV2aW91c0NXRC52YWx1ZSgpLmNfc3RyKCkpOwotI2VuZGlmICAvLyAhZGVmaW5l
ZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQotICAgICAgICB9Ci0gICAgICAgIGlmIChtQ2hhbmdl
ZElDREVudikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKG1QcmV2aW91c0lDREVudi52YWx1
ZSgpLmVtcHR5KCkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgYW5nbGU6OlVuc2V0
RW52aXJvbm1lbnRWYXIodms6OmdMb2FkZXJJQ0RGaWxlbmFtZXNFbnYpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGFuZ2xl
OjpTZXRFbnZpcm9ubWVudFZhcih2azo6Z0xvYWRlcklDREZpbGVuYW1lc0VudiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVByZXZpb3VzSUNERW52LnZhbHVlKCku
Y19zdHIoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAotICAgIGJvb2wgY2FuRW5hYmxlVmFsaWRhdGlvbkxheWVycygpIGNvbnN0IHsg
cmV0dXJuIG1FbmFibGVWYWxpZGF0aW9uTGF5ZXJzOyB9Ci0gICAgdms6OklDRCBnZXRFbmFibGVk
SUNEKCkgY29uc3QgeyByZXR1cm4gbUlDRDsgfQotCi0gIHByaXZhdGU6Ci0gICAgYm9vbCBzZXRJ
Q0RFbnZpcm9ubWVudChjb25zdCBjaGFyICppY2QpCisgICAgLy8gSGFuZGxlVHlwZXMgd2hpY2gg
Y2FuIGJlIHNwZWNpZmllZCBhdCBjcmVhdGluZyBhIGZlbmNlCisgICAgaWYgKChleHRlcm5hbEZl
bmNlUHJvcGVydGllcy5jb21wYXRpYmxlSGFuZGxlVHlwZXMgJgorICAgICAgICAgVktfRVhURVJO
QUxfRkVOQ0VfSEFORExFX1RZUEVfU1lOQ19GRF9CSVRfS0hSKSA9PSAwKQogICAgIHsKLSAgICAg
ICAgLy8gT3ZlcnJpZGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdXNlIGJ1aWx0IE1vY2sgSUNE
Ci0gICAgICAgIC8vIEFOR0xFX1ZLX0lDRF9KU09OIGdldHMgc2V0IHRvIHRoZSBidWlsdCBtb2Nr
IElDRCBpbiBCVUlMRC5nbgotICAgICAgICBtUHJldmlvdXNJQ0RFbnYgPSBhbmdsZTo6R2V0RW52
aXJvbm1lbnRWYXIodms6OmdMb2FkZXJJQ0RGaWxlbmFtZXNFbnYpOwotICAgICAgICBtQ2hhbmdl
ZElDREVudiAgPSBhbmdsZTo6U2V0RW52aXJvbm1lbnRWYXIodms6OmdMb2FkZXJJQ0RGaWxlbmFt
ZXNFbnYsIGljZCk7Ci0KLSAgICAgICAgaWYgKCFtQ2hhbmdlZElDREVudikKLSAgICAgICAgewot
ICAgICAgICAgICAgbUlDRCA9IHZrOjpJQ0Q6OkRlZmF1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIG1DaGFuZ2VkSUNERW52OworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0g
ICAgYm9vbCBtRW5hYmxlVmFsaWRhdGlvbkxheWVyczsKLSAgICB2azo6SUNEIG1JQ0Q7Ci0gICAg
Ym9vbCBtQ2hhbmdlZENXRDsKLSAgICBPcHRpb25hbDxzdGQ6OnN0cmluZz4gbVByZXZpb3VzQ1dE
OwotICAgIGJvb2wgbUNoYW5nZWRJQ0RFbnY7Ci0gICAgT3B0aW9uYWw8c3RkOjpzdHJpbmc+IG1Q
cmV2aW91c0lDREVudjsKLX07Ci0KLXVzaW5nIElDREZpbHRlckZ1bmMgPSBzdGQ6OmZ1bmN0aW9u
PGJvb2woY29uc3QgVmtQaHlzaWNhbERldmljZVByb3BlcnRpZXMgJik+OwotCi1JQ0RGaWx0ZXJG
dW5jIEdldEZpbHRlckZvcklDRCh2azo6SUNEIHByZWZlcnJlZElDRCkKLXsKLSAgICBzd2l0Y2gg
KHByZWZlcnJlZElDRCkKLSAgICB7Ci0gICAgICAgIGNhc2Ugdms6OklDRDo6TW9jazoKLSAgICAg
ICAgICAgIHJldHVybiBbXShjb25zdCBWa1BoeXNpY2FsRGV2aWNlUHJvcGVydGllcyAmZGV2aWNl
UHJvcGVydGllcykgewotICAgICAgICAgICAgICAgIHJldHVybiAoKGRldmljZVByb3BlcnRpZXMu
dmVuZG9ySUQgPT0ga01vY2tWZW5kb3JJRCkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgIChk
ZXZpY2VQcm9wZXJ0aWVzLmRldmljZUlEID09IGtNb2NrRGV2aWNlSUQpICYmCi0gICAgICAgICAg
ICAgICAgICAgICAgICAoc3RyY21wKGRldmljZVByb3BlcnRpZXMuZGV2aWNlTmFtZSwga01vY2tE
ZXZpY2VOYW1lKSA9PSAwKSk7Ci0gICAgICAgICAgICB9OwotICAgICAgICBjYXNlIHZrOjpJQ0Q6
OlN3aWZ0U2hhZGVyOgotICAgICAgICAgICAgcmV0dXJuIFtdKGNvbnN0IFZrUGh5c2ljYWxEZXZp
Y2VQcm9wZXJ0aWVzICZkZXZpY2VQcm9wZXJ0aWVzKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IChJc1N3aWZ0c2hhZGVyKGRldmljZVByb3BlcnRpZXMudmVuZG9ySUQsIGRldmljZVByb3BlcnRp
ZXMuZGV2aWNlSUQpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAoc3RybmNtcChkZXZpY2VQ
cm9wZXJ0aWVzLmRldmljZU5hbWUsIGtTd2lmdFNoYWRlckRldmljZU5hbWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oa1N3aWZ0U2hhZGVyRGV2aWNlTmFtZSkpID09
IDApKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBjb25z
dCBzdGQ6OnN0cmluZyBhbmdsZVByZWZlcnJlZERldmljZSA9Ci0gICAgICAgICAgICAgICAgYW5n
bGU6OkdldEVudmlyb25tZW50VmFyKHZrOjpnQU5HTEVQcmVmZXJyZWREZXZpY2UpOwotICAgICAg
ICAgICAgcmV0dXJuIFthbmdsZVByZWZlcnJlZERldmljZV0oY29uc3QgVmtQaHlzaWNhbERldmlj
ZVByb3BlcnRpZXMgJmRldmljZVByb3BlcnRpZXMpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4g
KGFuZ2xlUHJlZmVycmVkRGV2aWNlLmVtcHR5KCkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGFuZ2xlUHJlZmVycmVkRGV2aWNlID09IGRldmljZVByb3BlcnRpZXMuZGV2aWNlTmFtZSk7Ci0g
ICAgICAgICAgICB9OworICAgIGNvbnN0ZXhwciBWa0V4dGVybmFsRmVuY2VGZWF0dXJlRmxhZ3Mg
a0ZlYXR1cmVGbGFncyA9CisgICAgICAgIChWS19FWFRFUk5BTF9GRU5DRV9GRUFUVVJFX0lNUE9S
VEFCTEVfQklUX0tIUiB8CisgICAgICAgICBWS19FWFRFUk5BTF9GRU5DRV9GRUFUVVJFX0VYUE9S
VEFCTEVfQklUX0tIUik7CisgICAgaWYgKChleHRlcm5hbEZlbmNlUHJvcGVydGllcy5leHRlcm5h
bEZlbmNlRmVhdHVyZXMgJiBrRmVhdHVyZUZsYWdzKSAhPSBrRmVhdHVyZUZsYWdzKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KKworICAgIHJldHVybiB0cnVlOwogfQogCi12
b2lkIENob29zZVBoeXNpY2FsRGV2aWNlKGNvbnN0IHN0ZDo6dmVjdG9yPFZrUGh5c2ljYWxEZXZp
Y2U+ICZwaHlzaWNhbERldmljZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJQ0Qg
cHJlZmVycmVkSUNELAotICAgICAgICAgICAgICAgICAgICAgICAgICBWa1BoeXNpY2FsRGV2aWNl
ICpwaHlzaWNhbERldmljZU91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgVmtQaHlzaWNh
bERldmljZVByb3BlcnRpZXMgKnBoeXNpY2FsRGV2aWNlUHJvcGVydGllc091dCkKK0FOR0xFX01B
WUJFX1VOVVNFRCBib29sIFNlbWFwaG9yZVByb3BlcnRpZXNDb21wYXRpYmxlV2l0aEFuZHJvaWQo
CisgICAgY29uc3QgVmtFeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRpZXMgJmV4dGVybmFsU2VtYXBo
b3JlUHJvcGVydGllcykKIHsKLSAgICBBU1NFUlQoIXBoeXNpY2FsRGV2aWNlcy5lbXB0eSgpKTsK
LQotICAgIElDREZpbHRlckZ1bmMgZmlsdGVyID0gR2V0RmlsdGVyRm9ySUNEKHByZWZlcnJlZElD
RCk7CisgICAgLy8gaGFuZGxlVHlwZSBoZXJlIGlzIHRoZSBleHRlcm5hbCBzZW1hcGhvcmUgdHlw
ZSAtCisgICAgLy8gd2Ugd2FudCB0eXBlIGNvbXBhdGlibGUgd2l0aCBpbXBvcnRpbmcgYW4gQW5k
cm9pZCBGRAogCi0gICAgZm9yIChjb25zdCBWa1BoeXNpY2FsRGV2aWNlICZwaHlzaWNhbERldmlj
ZSA6IHBoeXNpY2FsRGV2aWNlcykKKyAgICBjb25zdGV4cHIgVmtFeHRlcm5hbFNlbWFwaG9yZUZl
YXR1cmVGbGFncyBrRmVhdHVyZUZsYWdzID0KKyAgICAgICAgKFZLX0VYVEVSTkFMX1NFTUFQSE9S
RV9GRUFUVVJFX0lNUE9SVEFCTEVfQklUX0tIUik7CisgICAgaWYgKChleHRlcm5hbFNlbWFwaG9y
ZVByb3BlcnRpZXMuZXh0ZXJuYWxTZW1hcGhvcmVGZWF0dXJlcyAmIGtGZWF0dXJlRmxhZ3MpICE9
IGtGZWF0dXJlRmxhZ3MpCiAgICAgewotICAgICAgICB2a0dldFBoeXNpY2FsRGV2aWNlUHJvcGVy
dGllcyhwaHlzaWNhbERldmljZSwgcGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzT3V0KTsKLSAgICAg
ICAgaWYgKGZpbHRlcigqcGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzT3V0KSkKLSAgICAgICAgewot
ICAgICAgICAgICAgKnBoeXNpY2FsRGV2aWNlT3V0ID0gcGh5c2ljYWxEZXZpY2U7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAg
ICBXQVJOKCkgPDwgIlByZWZlcnJlZCBkZXZpY2UgSUNEIG5vdCBmb3VuZC4gVXNpbmcgZGVmYXVs
dCBwaHlzaWNhbERldmljZSBpbnN0ZWFkLiI7CiAKLSAgICAvLyBGYWxsIGJhY2sgdG8gZmlyc3Qg
ZGV2aWNlLgotICAgICpwaHlzaWNhbERldmljZU91dCA9IHBoeXNpY2FsRGV2aWNlc1swXTsKLSAg
ICB2a0dldFBoeXNpY2FsRGV2aWNlUHJvcGVydGllcygqcGh5c2ljYWxEZXZpY2VPdXQsIHBoeXNp
Y2FsRGV2aWNlUHJvcGVydGllc091dCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU2hv
dWxkVXNlVmFsaWRhdGlvbkxheWVycyhjb25zdCBlZ2w6OkF0dHJpYnV0ZU1hcCAmYXR0cmlicykK
LXsKLSNpZiBkZWZpbmVkKEFOR0xFX0VOQUJMRV9WVUxLQU5fVkFMSURBVElPTl9MQVlFUlNfQllf
REVGQVVMVCkKLSAgICByZXR1cm4gU2hvdWxkVXNlRGVidWdMYXllcnMoYXR0cmlicyk7Ci0jZWxz
ZQotICAgIEVHTEF0dHJpYiBkZWJ1Z1NldHRpbmcgPQotICAgICAgICBhdHRyaWJzLmdldChFR0xf
UExBVEZPUk1fQU5HTEVfREVCVUdfTEFZRVJTX0VOQUJMRURfQU5HTEUsIEVHTF9ET05UX0NBUkUp
OwotICAgIHJldHVybiBkZWJ1Z1NldHRpbmcgPT0gRUdMX1RSVUU7Ci0jZW5kaWYgIC8vIGRlZmlu
ZWQoQU5HTEVfRU5BQkxFX1ZVTEtBTl9WQUxJREFUSU9OX0xBWUVSU19CWV9ERUZBVUxUKQotfQot
Ci1nbDo6VmVyc2lvbiBMaW1pdFZlcnNpb25Ubyhjb25zdCBnbDo6VmVyc2lvbiAmY3VycmVudCwg
Y29uc3QgZ2w6OlZlcnNpb24gJmxvd2VyKQotewotICAgIHJldHVybiBzdGQ6Om1pbihjdXJyZW50
LCBsb3dlcik7Ci19CiB9ICAvLyBuYW1lc3BhY2UKIAogLy8gUmVuZGVyZXJWayBpbXBsZW1lbnRh
dGlvbi4KQEAgLTU2MSwxMCArNDM1LDEyIEBAIFJlbmRlcmVyVms6OlJlbmRlcmVyVmsoKQogICAg
ICAgbUluc3RhbmNlKFZLX05VTExfSEFORExFKSwKICAgICAgIG1FbmFibGVWYWxpZGF0aW9uTGF5
ZXJzKGZhbHNlKSwKICAgICAgIG1FbmFibGVEZWJ1Z1V0aWxzKGZhbHNlKSwKLSAgICAgIG1FbmFi
bGVkSUNEKHZrOjpJQ0Q6OkRlZmF1bHQpLAorICAgICAgbUVuYWJsZWRJQ0QoYW5nbGU6OnZrOjpJ
Q0Q6OkRlZmF1bHQpLAogICAgICAgbURlYnVnVXRpbHNNZXNzZW5nZXIoVktfTlVMTF9IQU5ETEUp
LAogICAgICAgbURlYnVnUmVwb3J0Q2FsbGJhY2soVktfTlVMTF9IQU5ETEUpLAogICAgICAgbVBo
eXNpY2FsRGV2aWNlKFZLX05VTExfSEFORExFKSwKKyAgICAgIG1FeHRlcm5hbEZlbmNlUHJvcGVy
dGllc3t9LAorICAgICAgbUV4dGVybmFsU2VtYXBob3JlUHJvcGVydGllc3t9LAogICAgICAgbUN1
cnJlbnRRdWV1ZUZhbWlseUluZGV4KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgo
KSksCiAgICAgICBtTWF4VmVydGV4QXR0cmliRGl2aXNvcigxKSwKICAgICAgIG1NYXhWZXJ0ZXhB
dHRyaWJTdHJpZGUoMCksCkBAIC01OTIsNyArNDY4LDcgQEAgUmVuZGVyZXJWazo6flJlbmRlcmVy
VmsoKQogICAgIEFTU0VSVChtU2hhcmVkR2FyYmFnZS5lbXB0eSgpKTsKIH0KIAotdm9pZCBSZW5k
ZXJlclZrOjpvbkRlc3Ryb3kodms6OkNvbnRleHQgKmNvbnRleHQpCit2b2lkIFJlbmRlcmVyVms6
Om9uRGVzdHJveSgpCiB7CiAgICAgLy8gRm9yY2UgYWxsIGNvbW1hbmRzIHRvIGZpbmlzaCBieSBm
bHVzaGluZyBhbGwgcXVldWVzLgogICAgIGZvciAoVmtRdWV1ZSBxdWV1ZSA6IG1RdWV1ZXMpCkBA
IC02MDUsNyArNDgxLDcgQEAgdm9pZCBSZW5kZXJlclZrOjpvbkRlc3Ryb3kodms6OkNvbnRleHQg
KmNvbnRleHQpCiAKICAgICAvLyBUaGVuIGFzc2lnbiBhbiBpbmZpbml0ZSAibGFzdCBjb21wbGV0
ZWQiIHNlcmlhbCB0byBmb3JjZSBnYXJiYWdlIHRvIGRlbGV0ZS4KICAgICBtTGFzdENvbXBsZXRl
ZFF1ZXVlU2VyaWFsID0gU2VyaWFsOjpJbmZpbml0ZSgpOwotICAgICh2b2lkKWNsZWFudXBHYXJi
YWdlKGNvbnRleHQsIHRydWUpOworICAgICh2b2lkKWNsZWFudXBHYXJiYWdlKHRydWUpOwogICAg
IEFTU0VSVChtU2hhcmVkR2FyYmFnZS5lbXB0eSgpKTsKIAogICAgIGZvciAoUGVuZGluZ09uZU9m
ZkNvbW1hbmRzICZwZW5kaW5nIDogbVBlbmRpbmdPbmVPZmZDb21tYW5kcykKQEAgLTYyMSw2ICs0
OTcsOSBAQCB2b2lkIFJlbmRlcmVyVms6Om9uRGVzdHJveSh2azo6Q29udGV4dCAqY29udGV4dCkK
ICAgICBtRGVzY3JpcHRvclNldExheW91dENhY2hlLmRlc3Ryb3kobURldmljZSk7CiAKICAgICBt
UGlwZWxpbmVDYWNoZS5kZXN0cm95KG1EZXZpY2UpOworICAgIG1TYW1wbGVyQ2FjaGUuZGVzdHJv
eSh0aGlzKTsKKworICAgIHZtYTo6RGVzdHJveUFsbG9jYXRvcihtQWxsb2NhdG9yKTsKIAogICAg
IGlmIChtR2xzbGFuZ0luaXRpYWxpemVkKQogICAgIHsKQEAgLTYzNiwxNCArNTE1LDEyIEBAIHZv
aWQgUmVuZGVyZXJWazo6b25EZXN0cm95KHZrOjpDb250ZXh0ICpjb250ZXh0KQogCiAgICAgaWYg
KG1EZWJ1Z1V0aWxzTWVzc2VuZ2VyKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1JbnN0YW5jZSAm
JiB2a0Rlc3Ryb3lEZWJ1Z1V0aWxzTWVzc2VuZ2VyRVhUKTsKICAgICAgICAgdmtEZXN0cm95RGVi
dWdVdGlsc01lc3NlbmdlckVYVChtSW5zdGFuY2UsIG1EZWJ1Z1V0aWxzTWVzc2VuZ2VyLCBudWxs
cHRyKTsKIAogICAgICAgICBBU1NFUlQobURlYnVnUmVwb3J0Q2FsbGJhY2sgPT0gVktfTlVMTF9I
QU5ETEUpOwogICAgIH0KICAgICBlbHNlIGlmIChtRGVidWdSZXBvcnRDYWxsYmFjaykKICAgICB7
Ci0gICAgICAgIEFTU0VSVChtSW5zdGFuY2UgJiYgdmtEZXN0cm95RGVidWdSZXBvcnRDYWxsYmFj
a0VYVCk7CiAgICAgICAgIHZrRGVzdHJveURlYnVnUmVwb3J0Q2FsbGJhY2tFWFQobUluc3RhbmNl
LCBtRGVidWdSZXBvcnRDYWxsYmFjaywgbnVsbHB0cik7CiAgICAgfQogCkBAIC02NzQsMTIgKzU1
MSwxNSBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemUoRGlzcGxheVZrICpk
aXNwbGF5VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh
ciAqd3NpRXh0ZW5zaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIgKndzaUxheWVyKQogeworI2lmIGRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtB
TikKICAgICAvLyBTZXQgYWxsIHZrKiBmdW5jdGlvbiBwdHJzCiAgICAgQU5HTEVfVktfVFJZKGRp
c3BsYXlWaywgdm9sa0luaXRpYWxpemUoKSk7CisjZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfU0hB
UkVEX0xJQlZVTEtBTikKKwogICAgIG1EaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgID0g
ZGlzcGxheTsKICAgICBjb25zdCBlZ2w6OkF0dHJpYnV0ZU1hcCAmYXR0cmlicyA9IG1EaXNwbGF5
LT5nZXRBdHRyaWJ1dGVNYXAoKTsKLSAgICBTY29wZWRWa0xvYWRlckVudmlyb25tZW50IHNjb3Bl
ZEVudmlyb25tZW50KFNob3VsZFVzZVZhbGlkYXRpb25MYXllcnMoYXR0cmlicyksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaG9vc2VJQ0RGcm9tQXR0
cmlicyhhdHRyaWJzKSk7CisgICAgYW5nbGU6OnZrOjpTY29wZWRWa0xvYWRlckVudmlyb25tZW50
IHNjb3BlZEVudmlyb25tZW50KFNob3VsZFVzZVZhbGlkYXRpb25MYXllcnMoYXR0cmlicyksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IENob29zZUlDREZyb21BdHRyaWJzKGF0dHJpYnMpKTsKICAgICBtRW5hYmxlVmFsaWRhdGlvbkxh
eWVycyA9IHNjb3BlZEVudmlyb25tZW50LmNhbkVuYWJsZVZhbGlkYXRpb25MYXllcnMoKTsKICAg
ICBtRW5hYmxlZElDRCAgICAgICAgICAgICA9IHNjb3BlZEVudmlyb25tZW50LmdldEVuYWJsZWRJ
Q0QoKTsKIApAQCAtODIzLDExICs3MDMsMTggQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjpp
bml0aWFsaXplKERpc3BsYXlWayAqZGlzcGxheVZrLAogICAgIGluc3RhbmNlSW5mby5lbmFibGVk
TGF5ZXJDb3VudCAgID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGVuYWJsZWRJbnN0YW5jZUxheWVy
TmFtZXMuc2l6ZSgpKTsKICAgICBpbnN0YW5jZUluZm8ucHBFbmFibGVkTGF5ZXJOYW1lcyA9IGVu
YWJsZWRJbnN0YW5jZUxheWVyTmFtZXMuZGF0YSgpOwogICAgIEFOR0xFX1ZLX1RSWShkaXNwbGF5
VmssIHZrQ3JlYXRlSW5zdGFuY2UoJmluc3RhbmNlSW5mbywgbnVsbHB0ciwgJm1JbnN0YW5jZSkp
OworI2lmIGRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKKyAgICAvLyBMb2FkIHZvbGsg
aWYgd2UgYXJlIGxpbmtpbmcgZHluYW1pY2FsbHkKICAgICB2b2xrTG9hZEluc3RhbmNlKG1JbnN0
YW5jZSk7CisjZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKIAogICAg
IGlmIChtRW5hYmxlRGVidWdVdGlscykKICAgICB7CiAgICAgICAgIC8vIFVzZSB0aGUgbmV3ZXIg
RVhUX2RlYnVnX3V0aWxzIGlmIGl0IGV4aXN0cy4KKyNpZiAhZGVmaW5lZChBTkdMRV9TSEFSRURf
TElCVlVMS0FOKQorICAgICAgICBJbml0RGVidWdVdGlsc0VYVEZ1bmN0aW9ucyhtSW5zdGFuY2Up
OworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQorCiAgICAgICAg
IC8vIENyZWF0ZSB0aGUgbWVzc2VuZ2VyIGNhbGxiYWNrLgogICAgICAgICBWa0RlYnVnVXRpbHNN
ZXNzZW5nZXJDcmVhdGVJbmZvRVhUIG1lc3NlbmdlckluZm8gPSB7fTsKIApAQCAtODUyLDYgKzcz
OSwxMCBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemUoRGlzcGxheVZrICpk
aXNwbGF5VmssCiAgICAgZWxzZSBpZiAoZW5hYmxlRGVidWdSZXBvcnQpCiAgICAgewogICAgICAg
ICAvLyBGYWxsYmFjayB0byBFWFRfZGVidWdfcmVwb3J0LgorI2lmICFkZWZpbmVkKEFOR0xFX1NI
QVJFRF9MSUJWVUxLQU4pCisgICAgICAgIEluaXREZWJ1Z1JlcG9ydEVYVEZ1bmN0aW9ucyhtSW5z
dGFuY2UpOworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQorCiAg
ICAgICAgIFZrRGVidWdSZXBvcnRDYWxsYmFja0NyZWF0ZUluZm9FWFQgZGVidWdSZXBvcnRJbmZv
ID0ge307CiAKICAgICAgICAgZGVidWdSZXBvcnRJbmZvLnNUeXBlID0gVktfU1RSVUNUVVJFX1RZ
UEVfREVCVUdfUkVQT1JUX0NSRUFURV9JTkZPX0VYVDsKQEAgLTg2Nyw2ICs3NTgsOSBAQCBhbmds
ZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemUoRGlzcGxheVZrICpkaXNwbGF5VmssCiAg
ICAgICAgICAgICAgICAgICBWS19LSFJfR0VUX1BIWVNJQ0FMX0RFVklDRV9QUk9QRVJUSUVTXzJf
RVhURU5TSU9OX05BTUUpICE9CiAgICAgICAgIGVuYWJsZWRJbnN0YW5jZUV4dGVuc2lvbnMuZW5k
KCkpCiAgICAgeworI2lmICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCisgICAgICAg
IEluaXRHZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXMyS0hSRnVuY3Rpb25zKG1JbnN0YW5jZSk7
CisjZW5kaWYgIC8vICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCiAgICAgICAgIEFT
U0VSVCh2a0dldFBoeXNpY2FsRGV2aWNlUHJvcGVydGllczJLSFIpOwogICAgIH0KIApAQCAtOTI0
LDYgKzgxOCw5IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6aW5pdGlhbGl6ZShEaXNwbGF5
VmsgKmRpc3BsYXlWaywKICAgICAgICAgQU5HTEVfVFJZKGluaXRpYWxpemVEZXZpY2UoZGlzcGxh
eVZrLCBmaXJzdEdyYXBoaWNzUXVldWVGYW1pbHkpKTsKICAgICB9CiAKKyAgICAvLyBDcmVhdGUg
Vk1BIGFsbG9jYXRvcgorICAgIEFOR0xFX1ZLX1RSWShkaXNwbGF5VmssIHZtYTo6SW5pdEFsbG9j
YXRvcihtUGh5c2ljYWxEZXZpY2UsIG1EZXZpY2UsIG1JbnN0YW5jZSwgJm1BbGxvY2F0b3IpKTsK
KwogICAgIC8vIFN0b3JlIHRoZSBwaHlzaWNhbCBkZXZpY2UgbWVtb3J5IHByb3BlcnRpZXMgc28g
d2UgY2FuIGZpbmQgdGhlIHJpZ2h0IG1lbW9yeSBwb29scy4KICAgICBtTWVtb3J5UHJvcGVydGll
cy5pbml0KG1QaHlzaWNhbERldmljZSk7CiAKQEAgLTEwMjcsNiArOTI0LDMyIEBAIHZvaWQgUmVu
ZGVyZXJWazo6cXVlcnlEZXZpY2VFeHRlbnNpb25GZWF0dXJlcyhjb25zdCBFeHRlbnNpb25OYW1l
TGlzdCAmZGV2aWNlRXh0CiAgICAgdmtHZXRQaHlzaWNhbERldmljZUZlYXR1cmVzMktIUihtUGh5
c2ljYWxEZXZpY2UsICZkZXZpY2VGZWF0dXJlcyk7CiAgICAgdmtHZXRQaHlzaWNhbERldmljZVBy
b3BlcnRpZXMyS0hSKG1QaHlzaWNhbERldmljZSwgJmRldmljZVByb3BlcnRpZXMpOwogCisgICAg
Ly8gRmVuY2UgcHJvcGVydGllcworICAgIGlmIChtRmVhdHVyZXMuc3VwcG9ydHNFeHRlcm5hbEZl
bmNlQ2FwYWJpbGl0aWVzLmVuYWJsZWQpCisgICAgeworICAgICAgICBtRXh0ZXJuYWxGZW5jZVBy
b3BlcnRpZXMuc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9FWFRFUk5BTF9GRU5DRV9QUk9QRVJU
SUVTOworCisgICAgICAgIFZrUGh5c2ljYWxEZXZpY2VFeHRlcm5hbEZlbmNlSW5mbyBleHRlcm5h
bEZlbmNlSW5mbyA9IHt9OworICAgICAgICBleHRlcm5hbEZlbmNlSW5mby5zVHlwZSAgICAgID0g
VktfU1RSVUNUVVJFX1RZUEVfUEhZU0lDQUxfREVWSUNFX0VYVEVSTkFMX0ZFTkNFX0lORk87Cisg
ICAgICAgIGV4dGVybmFsRmVuY2VJbmZvLmhhbmRsZVR5cGUgPSBWS19FWFRFUk5BTF9GRU5DRV9I
QU5ETEVfVFlQRV9TWU5DX0ZEX0JJVF9LSFI7CisKKyAgICAgICAgdmtHZXRQaHlzaWNhbERldmlj
ZUV4dGVybmFsRmVuY2VQcm9wZXJ0aWVzS0hSKG1QaHlzaWNhbERldmljZSwgJmV4dGVybmFsRmVu
Y2VJbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJm1FeHRlcm5hbEZlbmNlUHJvcGVydGllcyk7CisgICAgfQorCisgICAgLy8gU2VtYXBo
b3JlIHByb3BlcnRpZXMKKyAgICBpZiAobUZlYXR1cmVzLnN1cHBvcnRzRXh0ZXJuYWxTZW1hcGhv
cmVDYXBhYmlsaXRpZXMuZW5hYmxlZCkKKyAgICB7CisgICAgICAgIG1FeHRlcm5hbFNlbWFwaG9y
ZVByb3BlcnRpZXMuc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9FWFRFUk5BTF9TRU1BUEhPUkVf
UFJPUEVSVElFUzsKKworICAgICAgICBWa1BoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1hcGhvcmVJ
bmZvIGV4dGVybmFsU2VtYXBob3JlSW5mbyA9IHt9OworICAgICAgICBleHRlcm5hbFNlbWFwaG9y
ZUluZm8uc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9QSFlTSUNBTF9ERVZJQ0VfRVhURVJOQUxf
U0VNQVBIT1JFX0lORk87CisgICAgICAgIGV4dGVybmFsU2VtYXBob3JlSW5mby5oYW5kbGVUeXBl
ID0gVktfRVhURVJOQUxfU0VNQVBIT1JFX0hBTkRMRV9UWVBFX1NZTkNfRkRfQklUX0tIUjsKKwor
ICAgICAgICB2a0dldFBoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzS0hS
KG1QaHlzaWNhbERldmljZSwgJmV4dGVybmFsU2VtYXBob3JlSW5mbywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbUV4dGVybmFsU2Vt
YXBob3JlUHJvcGVydGllcyk7CisgICAgfQorCiAgICAgLy8gQ2xlYW4gdXAgcE5leHQgY2hhaW5z
CiAgICAgbUxpbmVSYXN0ZXJpemF0aW9uRmVhdHVyZXMucE5leHQgICAgICAgICAgICAgICAgICA9
IG51bGxwdHI7CiAgICAgbVByb3Zva2luZ1ZlcnRleEZlYXR1cmVzLnBOZXh0ICAgICAgICAgICAg
ICAgICAgICA9IG51bGxwdHI7CkBAIC0xMTUzLDYgKzEwNzYsOSBAQCBhbmdsZTo6UmVzdWx0IFJl
bmRlcmVyVms6OmluaXRpYWxpemVEZXZpY2UoRGlzcGxheVZrICpkaXNwbGF5VmssIHVpbnQzMl90
IHF1ZXVlRgogICAgICAgICBlbmFibGVkRGV2aWNlRXh0ZW5zaW9ucy5wdXNoX2JhY2soVktfRVhU
X1FVRVVFX0ZBTUlMWV9GT1JFSUdOX0VYVEVOU0lPTl9OQU1FKTsKICAgICAgICAgZW5hYmxlZERl
dmljZUV4dGVuc2lvbnMucHVzaF9iYWNrKAogICAgICAgICAgICAgVktfQU5EUk9JRF9FWFRFUk5B
TF9NRU1PUllfQU5EUk9JRF9IQVJEV0FSRV9CVUZGRVJfRVhURU5TSU9OX05BTUUpOworIyAgICBp
ZiAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQorICAgICAgICBJbml0RXh0ZXJuYWxN
ZW1vcnlIYXJkd2FyZUJ1ZmZlckFORFJPSURGdW5jdGlvbnMobUluc3RhbmNlKTsKKyMgICAgZW5k
aWYgIC8vICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCiAgICAgfQogI2Vsc2UKICAg
ICBBU1NFUlQoIWdldEZlYXR1cmVzKCkuc3VwcG9ydHNBbmRyb2lkSGFyZHdhcmVCdWZmZXIuZW5h
YmxlZCk7CkBAIC0xMTc5LDYgKzExMDUsMTkgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjpp
bml0aWFsaXplRGV2aWNlKERpc3BsYXlWayAqZGlzcGxheVZrLCB1aW50MzJfdCBxdWV1ZUYKICAg
ICAgICAgZ2V0RmVhdHVyZXMoKS5zdXBwb3J0c0V4dGVybmFsU2VtYXBob3JlRnVjaHNpYS5lbmFi
bGVkKQogICAgIHsKICAgICAgICAgZW5hYmxlZERldmljZUV4dGVuc2lvbnMucHVzaF9iYWNrKFZL
X0tIUl9FWFRFUk5BTF9TRU1BUEhPUkVfRVhURU5TSU9OX05BTUUpOworI2lmICFkZWZpbmVkKEFO
R0xFX1NIQVJFRF9MSUJWVUxLQU4pCisgICAgICAgIEluaXRFeHRlcm5hbFNlbWFwaG9yZUZkRnVu
Y3Rpb25zKG1JbnN0YW5jZSk7CisjZW5kaWYgIC8vICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJW
VUxLQU4pCisgICAgfQorCisgICAgaWYgKGdldEZlYXR1cmVzKCkuc3VwcG9ydHNFeHRlcm5hbFNl
bWFwaG9yZUNhcGFiaWxpdGllcy5lbmFibGVkKQorICAgIHsKKyAgICAgICAgZW5hYmxlZERldmlj
ZUV4dGVuc2lvbnMucHVzaF9iYWNrKFZLX0tIUl9FWFRFUk5BTF9TRU1BUEhPUkVfQ0FQQUJJTElU
SUVTX0VYVEVOU0lPTl9OQU1FKTsKKyAgICB9CisKKyAgICBpZiAoZ2V0RmVhdHVyZXMoKS5zdXBw
b3J0c0V4dGVybmFsRmVuY2VDYXBhYmlsaXRpZXMuZW5hYmxlZCkKKyAgICB7CisgICAgICAgIGVu
YWJsZWREZXZpY2VFeHRlbnNpb25zLnB1c2hfYmFjayhWS19LSFJfRVhURVJOQUxfRkVOQ0VfQ0FQ
QUJJTElUSUVTX0VYVEVOU0lPTl9OQU1FKTsKICAgICB9CiAKICAgICBpZiAoZ2V0RmVhdHVyZXMo
KS5zdXBwb3J0c0V4dGVybmFsU2VtYXBob3JlRmQuZW5hYmxlZCkKQEAgLTExODYsNiArMTEyNSwz
MCBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemVEZXZpY2UoRGlzcGxheVZr
ICpkaXNwbGF5VmssIHVpbnQzMl90IHF1ZXVlRgogICAgICAgICBlbmFibGVkRGV2aWNlRXh0ZW5z
aW9ucy5wdXNoX2JhY2soVktfS0hSX0VYVEVSTkFMX1NFTUFQSE9SRV9GRF9FWFRFTlNJT05fTkFN
RSk7CiAgICAgfQogCisgICAgaWYgKGdldEZlYXR1cmVzKCkuc3VwcG9ydHNFeHRlcm5hbFNlbWFw
aG9yZUNhcGFiaWxpdGllcy5lbmFibGVkKQorICAgIHsKKyAgICAgICAgZW5hYmxlZERldmljZUV4
dGVuc2lvbnMucHVzaF9iYWNrKFZLX0tIUl9FWFRFUk5BTF9TRU1BUEhPUkVfQ0FQQUJJTElUSUVT
X0VYVEVOU0lPTl9OQU1FKTsKKyNpZiAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQor
ICAgICAgICBJbml0RXh0ZXJuYWxTZW1hcGhvcmVDYXBhYmlsaXRpZXNGdW5jdGlvbnMobUluc3Rh
bmNlKTsKKyNlbmRpZiAgLy8gIWRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKKyAgICB9
CisKKyAgICBpZiAoZ2V0RmVhdHVyZXMoKS5zdXBwb3J0c0V4dGVybmFsRmVuY2VGZC5lbmFibGVk
KQorICAgIHsKKyAgICAgICAgZW5hYmxlZERldmljZUV4dGVuc2lvbnMucHVzaF9iYWNrKFZLX0tI
Ul9FWFRFUk5BTF9GRU5DRV9GRF9FWFRFTlNJT05fTkFNRSk7CisjaWYgIWRlZmluZWQoQU5HTEVf
U0hBUkVEX0xJQlZVTEtBTikKKyAgICAgICAgSW5pdEV4dGVybmFsRmVuY2VGZEZ1bmN0aW9ucyht
SW5zdGFuY2UpOworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQor
ICAgIH0KKworICAgIGlmIChnZXRGZWF0dXJlcygpLnN1cHBvcnRzRXh0ZXJuYWxGZW5jZUNhcGFi
aWxpdGllcy5lbmFibGVkKQorICAgIHsKKyAgICAgICAgZW5hYmxlZERldmljZUV4dGVuc2lvbnMu
cHVzaF9iYWNrKFZLX0tIUl9FWFRFUk5BTF9GRU5DRV9DQVBBQklMSVRJRVNfRVhURU5TSU9OX05B
TUUpOworI2lmICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCisgICAgICAgIEluaXRF
eHRlcm5hbEZlbmNlQ2FwYWJpbGl0aWVzRnVuY3Rpb25zKG1JbnN0YW5jZSk7CisjZW5kaWYgIC8v
ICFkZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCisgICAgfQorCiAgICAgaWYgKGdldEZl
YXR1cmVzKCkuc3VwcG9ydHNFeHRlcm5hbFNlbWFwaG9yZUZ1Y2hzaWEuZW5hYmxlZCkKICAgICB7
CiAgICAgICAgIGVuYWJsZWREZXZpY2VFeHRlbnNpb25zLnB1c2hfYmFjayhWS19GVUNIU0lBX0VY
VEVSTkFMX1NFTUFQSE9SRV9FWFRFTlNJT05fTkFNRSk7CkBAIC0xMjI4LDYgKzExOTEsOCBAQCBh
bmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemVEZXZpY2UoRGlzcGxheVZrICpkaXNw
bGF5VmssIHVpbnQzMl90IHF1ZXVlRgogICAgIC8vIFVzZWQgdG8gc3VwcG9ydCBhdG9taWMgY291
bnRlciBlbXVsYXRpb246CiAgICAgZW5hYmxlZEZlYXR1cmVzLmZlYXR1cmVzLnNoYWRlclN0b3Jh
Z2VCdWZmZXJBcnJheUR5bmFtaWNJbmRleGluZyA9CiAgICAgICAgIG1QaHlzaWNhbERldmljZUZl
YXR1cmVzLnNoYWRlclN0b3JhZ2VCdWZmZXJBcnJheUR5bmFtaWNJbmRleGluZzsKKyAgICAvLyBV
c2VkIHRvIHN1cHBvcnQgQVBQTEVfY2xpcF9kaXN0YW5jZQorICAgIGVuYWJsZWRGZWF0dXJlcy5m
ZWF0dXJlcy5zaGFkZXJDbGlwRGlzdGFuY2UgPSBtUGh5c2ljYWxEZXZpY2VGZWF0dXJlcy5zaGFk
ZXJDbGlwRGlzdGFuY2U7CiAKICAgICBpZiAoIXZrOjpDb21tYW5kQnVmZmVyOjpFeGVjdXRlc0lu
bGluZSgpKQogICAgIHsKQEAgLTEyODAsNiArMTI0NSw5IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVy
ZXJWazo6aW5pdGlhbGl6ZURldmljZShEaXNwbGF5VmsgKmRpc3BsYXlWaywgdWludDMyX3QgcXVl
dWVGCiAgICAgICAgIGVuYWJsZWREZXZpY2VFeHRlbnNpb25zLnB1c2hfYmFjayhWS19FWFRfRVhU
RVJOQUxfTUVNT1JZX0hPU1RfRVhURU5TSU9OX05BTUUpOwogICAgICAgICBtTWluSW1wb3J0ZWRI
b3N0UG9pbnRlckFsaWdubWVudCA9CiAgICAgICAgICAgICBtUGh5c2ljYWxEZXZpY2VFeHRlcm5h
bE1lbW9yeUhvc3RQcm9wZXJ0aWVzLm1pbkltcG9ydGVkSG9zdFBvaW50ZXJBbGlnbm1lbnQ7Cisj
aWYgIWRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKKyAgICAgICAgSW5pdEV4dGVybmFs
TWVtb3J5SG9zdEZ1bmN0aW9ucyhtSW5zdGFuY2UpOworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdM
RV9TSEFSRURfTElCVlVMS0FOKQogICAgIH0KIAogICAgIGNyZWF0ZUluZm8uc1R5cGUgICAgICAg
ICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVfREVWSUNFX0NSRUFURV9JTkZPOwpAQCAtMTI5
Niw3ICsxMjY0LDEwIEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6aW5pdGlhbGl6ZURldmlj
ZShEaXNwbGF5VmsgKmRpc3BsYXlWaywgdWludDMyX3QgcXVldWVGCiAgICAgY3JlYXRlSW5mby5w
RW5hYmxlZEZlYXR1cmVzID0gJmVuYWJsZWRGZWF0dXJlcy5mZWF0dXJlczsKIAogICAgIEFOR0xF
X1ZLX1RSWShkaXNwbGF5VmssIHZrQ3JlYXRlRGV2aWNlKG1QaHlzaWNhbERldmljZSwgJmNyZWF0
ZUluZm8sIG51bGxwdHIsICZtRGV2aWNlKSk7CisjaWYgZGVmaW5lZChBTkdMRV9TSEFSRURfTElC
VlVMS0FOKQorICAgIC8vIExvYWQgdm9sayBpZiB3ZSBhcmUgbG9hZGluZyBkeW5hbWljYWxseQog
ICAgIHZvbGtMb2FkRGV2aWNlKG1EZXZpY2UpOworI2VuZGlmICAvLyBkZWZpbmVkKEFOR0xFX1NI
QVJFRF9MSUJWVUxLQU4pCiAKICAgICBtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXggPSBxdWV1ZUZh
bWlseUluZGV4OwogCkBAIC0xMzI1LDYgKzEyOTYsMTMgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJl
clZrOjppbml0aWFsaXplRGV2aWNlKERpc3BsYXlWayAqZGlzcGxheVZrLCB1aW50MzJfdCBxdWV1
ZUYKICAgICAgICAgbVByaW9yaXRpZXNbZWdsOjpDb250ZXh0UHJpb3JpdHk6Okxvd10gPSBlZ2w6
OkNvbnRleHRQcmlvcml0eTo6TG93OwogICAgIH0KIAorI2lmICFkZWZpbmVkKEFOR0xFX1NIQVJF
RF9MSUJWVUxLQU4pCisgICAgaWYgKGdldEZlYXR1cmVzKCkuc3VwcG9ydHNUcmFuc2Zvcm1GZWVk
YmFja0V4dGVuc2lvbi5lbmFibGVkKQorICAgIHsKKyAgICAgICAgSW5pdFRyYW5zZm9ybUZlZWRi
YWNrRVhURnVuY3Rpb25zKG1EZXZpY2UpOworICAgIH0KKyNlbmRpZiAgLy8gIWRlZmluZWQoQU5H
TEVfU0hBUkVEX0xJQlZVTEtBTikKKwogICAgIC8vIEluaXRpYWxpemUgdGhlIHZ1bGthbiBwaXBl
bGluZSBjYWNoZS4KICAgICBib29sIHN1Y2Nlc3MgPSBmYWxzZTsKICAgICBBTkdMRV9UUlkoaW5p
dFBpcGVsaW5lQ2FjaGUoZGlzcGxheVZrLCAmbVBpcGVsaW5lQ2FjaGUsICZzdWNjZXNzKSk7CkBA
IC0xNTM2LDYgKzE1MTQsNyBAQCB2b2lkIFJlbmRlcmVyVms6OmluaXRGZWF0dXJlcyhEaXNwbGF5
VmsgKmRpc3BsYXlWaywgY29uc3QgRXh0ZW5zaW9uTmFtZUxpc3QgJmRldgogICAgIGJvb2wgaXNJ
bnRlbCAgICA9IElzSW50ZWwobVBoeXNpY2FsRGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCk7CiAg
ICAgYm9vbCBpc052aWRpYSAgID0gSXNOdmlkaWEobVBoeXNpY2FsRGV2aWNlUHJvcGVydGllcy52
ZW5kb3JJRCk7CiAgICAgYm9vbCBpc1F1YWxjb21tID0gSXNRdWFsY29tbShtUGh5c2ljYWxEZXZp
Y2VQcm9wZXJ0aWVzLnZlbmRvcklEKTsKKyAgICBib29sIGlzQVJNICAgICAgPSBJc0FSTShtUGh5
c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklEKTsKICAgICBib29sIGlzU3dTID0KICAgICAg
ICAgSXNTd2lmdHNoYWRlcihtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklELCBtUGh5
c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLmRldmljZUlEKTsKIApAQCAtMTYxNSw2ICsxNTk0LDE4IEBA
IHZvaWQgUmVuZGVyZXJWazo6aW5pdEZlYXR1cmVzKERpc3BsYXlWayAqZGlzcGxheVZrLCBjb25z
dCBFeHRlbnNpb25OYW1lTGlzdCAmZGV2CiAgICAgICAgICZtRmVhdHVyZXMsIHN1cHBvcnRzRXh0
ZXJuYWxNZW1vcnlGdWNoc2lhLAogICAgICAgICBFeHRlbnNpb25Gb3VuZChWS19GVUNIU0lBX0VY
VEVSTkFMX01FTU9SWV9FWFRFTlNJT05fTkFNRSwgZGV2aWNlRXh0ZW5zaW9uTmFtZXMpKTsKIAor
ICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKAorICAgICAgICAmbUZlYXR1cmVzLCBzdXBwb3J0
c0ZpbHRlcmluZ1ByZWNpc2lvbiwKKyAgICAgICAgRXh0ZW5zaW9uRm91bmQoVktfR09PR0xFX1NB
TVBMRVJfRklMVEVSSU5HX1BSRUNJU0lPTl9FWFRFTlNJT05fTkFNRSwgZGV2aWNlRXh0ZW5zaW9u
TmFtZXMpKTsKKworICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKAorICAgICAgICAmbUZlYXR1
cmVzLCBzdXBwb3J0c0V4dGVybmFsRmVuY2VDYXBhYmlsaXRpZXMsCisgICAgICAgIEV4dGVuc2lv
bkZvdW5kKFZLX0tIUl9FWFRFUk5BTF9GRU5DRV9DQVBBQklMSVRJRVNfRVhURU5TSU9OX05BTUUs
IGRldmljZUV4dGVuc2lvbk5hbWVzKSk7CisKKyAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTigm
bUZlYXR1cmVzLCBzdXBwb3J0c0V4dGVybmFsU2VtYXBob3JlQ2FwYWJpbGl0aWVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEV4dGVuc2lvbkZvdW5kKFZLX0tIUl9FWFRFUk5BTF9TRU1B
UEhPUkVfQ0FQQUJJTElUSUVTX0VYVEVOU0lPTl9OQU1FLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRldmljZUV4dGVuc2lvbk5hbWVzKSk7CisKICAgICBBTkdM
RV9GRUFUVVJFX0NPTkRJVElPTigKICAgICAgICAgJm1GZWF0dXJlcywgc3VwcG9ydHNFeHRlcm5h
bFNlbWFwaG9yZUZkLAogICAgICAgICBFeHRlbnNpb25Gb3VuZChWS19LSFJfRVhURVJOQUxfU0VN
QVBIT1JFX0ZEX0VYVEVOU0lPTl9OQU1FLCBkZXZpY2VFeHRlbnNpb25OYW1lcykpOwpAQCAtMTYy
Myw2ICsxNjE0LDI5IEBAIHZvaWQgUmVuZGVyZXJWazo6aW5pdEZlYXR1cmVzKERpc3BsYXlWayAq
ZGlzcGxheVZrLCBjb25zdCBFeHRlbnNpb25OYW1lTGlzdCAmZGV2CiAgICAgICAgICZtRmVhdHVy
ZXMsIHN1cHBvcnRzRXh0ZXJuYWxTZW1hcGhvcmVGdWNoc2lhLAogICAgICAgICBFeHRlbnNpb25G
b3VuZChWS19GVUNIU0lBX0VYVEVSTkFMX1NFTUFQSE9SRV9FWFRFTlNJT05fTkFNRSwgZGV2aWNl
RXh0ZW5zaW9uTmFtZXMpKTsKIAorICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKAorICAgICAg
ICAmbUZlYXR1cmVzLCBzdXBwb3J0c0V4dGVybmFsRmVuY2VGZCwKKyAgICAgICAgRXh0ZW5zaW9u
Rm91bmQoVktfS0hSX0VYVEVSTkFMX0ZFTkNFX0ZEX0VYVEVOU0lPTl9OQU1FLCBkZXZpY2VFeHRl
bnNpb25OYW1lcykpOworCisjaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQorICAg
IGlmIChtRmVhdHVyZXMuc3VwcG9ydHNFeHRlcm5hbEZlbmNlQ2FwYWJpbGl0aWVzLmVuYWJsZWQg
JiYKKyAgICAgICAgbUZlYXR1cmVzLnN1cHBvcnRzRXh0ZXJuYWxTZW1hcGhvcmVDYXBhYmlsaXRp
ZXMuZW5hYmxlZCkKKyAgICB7CisgICAgICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKAorICAg
ICAgICAgICAgJm1GZWF0dXJlcywgc3VwcG9ydHNBbmRyb2lkTmF0aXZlRmVuY2VTeW5jLAorICAg
ICAgICAgICAgKG1GZWF0dXJlcy5zdXBwb3J0c0V4dGVybmFsRmVuY2VGZC5lbmFibGVkICYmCisg
ICAgICAgICAgICAgRmVuY2VQcm9wZXJ0aWVzQ29tcGF0aWJsZVdpdGhBbmRyb2lkKG1FeHRlcm5h
bEZlbmNlUHJvcGVydGllcykgJiYKKyAgICAgICAgICAgICBtRmVhdHVyZXMuc3VwcG9ydHNFeHRl
cm5hbFNlbWFwaG9yZUZkLmVuYWJsZWQgJiYKKyAgICAgICAgICAgICBTZW1hcGhvcmVQcm9wZXJ0
aWVzQ29tcGF0aWJsZVdpdGhBbmRyb2lkKG1FeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRpZXMpKSk7
CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9O
KCZtRmVhdHVyZXMsIHN1cHBvcnRzQW5kcm9pZE5hdGl2ZUZlbmNlU3luYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKG1GZWF0dXJlcy5zdXBwb3J0c0V4dGVybmFsRmVuY2VGZC5l
bmFibGVkICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtRmVhdHVyZXMuc3Vw
cG9ydHNFeHRlcm5hbFNlbWFwaG9yZUZkLmVuYWJsZWQpKTsKKyAgICB9CisjZW5kaWYgIC8vIGRl
ZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKKwogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElU
SU9OKAogICAgICAgICAmbUZlYXR1cmVzLCBzdXBwb3J0c1NoYWRlclN0ZW5jaWxFeHBvcnQsCiAg
ICAgICAgIEV4dGVuc2lvbkZvdW5kKFZLX0VYVF9TSEFERVJfU1RFTkNJTF9FWFBPUlRfRVhURU5T
SU9OX05BTUUsIGRldmljZUV4dGVuc2lvbk5hbWVzKSk7CkBAIC0xNjQ1LDcgKzE2NTksNyBAQCB2
b2lkIFJlbmRlcmVyVms6OmluaXRGZWF0dXJlcyhEaXNwbGF5VmsgKmRpc3BsYXlWaywgY29uc3Qg
RXh0ZW5zaW9uTmFtZUxpc3QgJmRldgogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKCZtRmVh
dHVyZXMsIGZvcmNlT2xkUmV3cml0ZVN0cnVjdFNhbXBsZXJzLCBJc0FuZHJvaWQoKSAmJiAhaXNT
d1MpOwogCiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oJm1GZWF0dXJlcywgcGVyRnJhbWVX
aW5kb3dTaXplUXVlcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNJbnRlbCB8fCAo
SXNXaW5kb3dzKCkgJiYgaXNBTUQpIHx8IElzRnVjaHNpYSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpc0ludGVsIHx8IChJc1dpbmRvd3MoKSAmJiBpc0FNRCkgfHwgSXNGdWNoc2lh
KCkgfHwgaXNBUk0pOwogCiAgICAgLy8gRGlzYWJsZWQgb24gQU1EL3dpbmRvd3MgZHVlIHRvIGJ1
Z2d5IGJlaGF2aW9yLgogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKCZtRmVhdHVyZXMsIGRp
c2FsbG93U2VhbWZ1bEN1YmVNYXBFbXVsYXRpb24sIElzV2luZG93cygpICYmIGlzQU1EKTsKQEAg
LTE2NjIsNiArMTY3Niw4IEBAIHZvaWQgUmVuZGVyZXJWazo6aW5pdEZlYXR1cmVzKERpc3BsYXlW
ayAqZGlzcGxheVZrLCBjb25zdCBFeHRlbnNpb25OYW1lTGlzdCAmZGV2CiAgICAgLy8gdGhhdCBj
YW4gY2F1c2UgT09NIGFuZCB0aW1lb3V0cy4KICAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTigm
bUZlYXR1cmVzLCBhbGxvY2F0ZU5vblplcm9NZW1vcnksIGZhbHNlKTsKIAorICAgIEFOR0xFX0ZF
QVRVUkVfQ09ORElUSU9OKCZtRmVhdHVyZXMsIHBlcnNpc3RlbnRseU1hcHBlZEJ1ZmZlcnMsIHRy
dWUpOworCiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oCiAgICAgICAgICZtRmVhdHVyZXMs
IHN1cHBvcnRzRXh0ZXJuYWxNZW1vcnlIb3N0LAogICAgICAgICBFeHRlbnNpb25Gb3VuZChWS19F
WFRfRVhURVJOQUxfTUVNT1JZX0hPU1RfRVhURU5TSU9OX05BTUUsIGRldmljZUV4dGVuc2lvbk5h
bWVzKSk7CkBAIC0xNjc3LDYgKzE2OTMsOCBAQCB2b2lkIFJlbmRlcmVyVms6OmluaXRGZWF0dXJl
cyhEaXNwbGF5VmsgKmRpc3BsYXlWaywgY29uc3QgRXh0ZW5zaW9uTmFtZUxpc3QgJmRldgogCiAg
ICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oJm1GZWF0dXJlcywgc3VwcG9ydERlcHRoU3RlbmNp
bFJlbmRlcmluZ0ZlZWRiYWNrTG9vcHMsIHRydWUpOwogCisgICAgQU5HTEVfRkVBVFVSRV9DT05E
SVRJT04oJm1GZWF0dXJlcywgcHJlZmVyQWdncmVnYXRlQmFycmllckNhbGxzLCBpc052aWRpYSB8
fCBpc0FNRCB8fCBpc0ludGVsKTsKKwogICAgIGFuZ2xlOjpQbGF0Zm9ybU1ldGhvZHMgKnBsYXRm
b3JtID0gQU5HTEVQbGF0Zm9ybUN1cnJlbnQoKTsKICAgICBwbGF0Zm9ybS0+b3ZlcnJpZGVGZWF0
dXJlc1ZrKHBsYXRmb3JtLCAmbUZlYXR1cmVzKTsKIApAQCAtMTkxMyw3ICsxOTMxLDcgQEAgYW5n
bGU6OlJlc3VsdCBSZW5kZXJlclZrOjpxdWV1ZVN1Ym1pdCh2azo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHQsIHZrUXVldWVTdWJtaXQobVF1ZXVlc1twcmlv
cml0eV0sIDEsICZzdWJtaXRJbmZvLCBoYW5kbGUpKTsKICAgICB9CiAKLSAgICBBTkdMRV9UUlko
Y2xlYW51cEdhcmJhZ2UoY29udGV4dCwgZmFsc2UpKTsKKyAgICBBTkdMRV9UUlkoY2xlYW51cEdh
cmJhZ2UoZmFsc2UpKTsKIAogICAgICpzZXJpYWxPdXQgICAgICAgICAgICAgICAgPSBtQ3VycmVu
dFF1ZXVlU2VyaWFsOwogICAgIG1MYXN0U3VibWl0dGVkUXVldWVTZXJpYWwgPSBtQ3VycmVudFF1
ZXVlU2VyaWFsOwpAQCAtMTk0Niw3ICsxOTY0LDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZr
OjpxdWV1ZVdhaXRJZGxlKHZrOjpDb250ZXh0ICpjb250ZXh0LCBlZ2w6OkNvbnRleHRQcmlvcmkK
ICAgICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHQsIHZrUXVldWVXYWl0SWRsZShtUXVldWVzW3By
aW9yaXR5XSkpOwogICAgIH0KIAotICAgIEFOR0xFX1RSWShjbGVhbnVwR2FyYmFnZShjb250ZXh0
LCBmYWxzZSkpOworICAgIEFOR0xFX1RSWShjbGVhbnVwR2FyYmFnZShmYWxzZSkpOwogCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMTk1OCw3ICsxOTc2LDcgQEAg
YW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjpkZXZpY2VXYWl0SWRsZSh2azo6Q29udGV4dCAqY29u
dGV4dCkKICAgICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHQsIHZrRGV2aWNlV2FpdElkbGUobURl
dmljZSkpOwogICAgIH0KIAotICAgIEFOR0xFX1RSWShjbGVhbnVwR2FyYmFnZShjb250ZXh0LCBm
YWxzZSkpOworICAgIEFOR0xFX1RSWShjbGVhbnVwR2FyYmFnZShmYWxzZSkpOwogCiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpAQCAtMjAzMiw3ICsyMDUwLDcgQEAgYm9v
bCBSZW5kZXJlclZrOjpoYXNGb3JtYXRGZWF0dXJlQml0cyhWa0Zvcm1hdCBmb3JtYXQsIGNvbnN0
IFZrRm9ybWF0RmVhdHVyZUZsYWcKICAgICByZXR1cm4gSXNNYXNrRmxhZ1NldChnZXRGb3JtYXRG
ZWF0dXJlQml0czxmZWF0dXJlcz4oZm9ybWF0LCBmZWF0dXJlQml0cyksIGZlYXR1cmVCaXRzKTsK
IH0KIAotYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjpjbGVhbnVwR2FyYmFnZSh2azo6Q29udGV4
dCAqY29udGV4dCwgYm9vbCBibG9jaykKK2FuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6Y2xlYW51
cEdhcmJhZ2UoYm9vbCBibG9jaykKIHsKICAgICBzdGQ6OmxvY2tfZ3VhcmQ8ZGVjbHR5cGUobUdh
cmJhZ2VNdXRleCk+IGxvY2sobUdhcmJhZ2VNdXRleCk7CiAKQEAgLTIwNDAsNyArMjA1OCw3IEBA
IGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6Y2xlYW51cEdhcmJhZ2Uodms6OkNvbnRleHQgKmNv
bnRleHQsIGJvb2wgYmxvY2spCiAgICAgewogICAgICAgICAvLyBQb3NzaWJseSAnY291bnRlcicg
c2hvdWxkIGJlIGFsd2F5cyB6ZXJvIHdoZW4gd2UgYWRkIHRoZSBvYmplY3QgdG8gZ2FyYmFnZS4K
ICAgICAgICAgdms6OlNoYXJlZEdhcmJhZ2UgJmdhcmJhZ2UgPSAqZ2FyYmFnZUl0ZXI7Ci0gICAg
ICAgIGlmIChnYXJiYWdlLmRlc3Ryb3lJZkNvbXBsZXRlKG1EZXZpY2UsIG1MYXN0Q29tcGxldGVk
UXVldWVTZXJpYWwpKQorICAgICAgICBpZiAoZ2FyYmFnZS5kZXN0cm95SWZDb21wbGV0ZSh0aGlz
LCBtTGFzdENvbXBsZXRlZFF1ZXVlU2VyaWFsKSkKICAgICAgICAgewogICAgICAgICAgICAgZ2Fy
YmFnZUl0ZXIgPSBtU2hhcmVkR2FyYmFnZS5lcmFzZShnYXJiYWdlSXRlcik7CiAgICAgICAgIH0K
QEAgLTIwODQsNiArMjEwMiw3IEBAIHZvaWQgUmVuZGVyZXJWazo6b25Db21wbGV0ZWRTZXJpYWwo
U2VyaWFsIHNlcmlhbCkKIAogdm9pZCBSZW5kZXJlclZrOjpyZWxvYWRWb2xrSWZOZWVkZWQoKSBj
b25zdAogeworI2lmIGRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKICAgICBpZiAoKG1J
bnN0YW5jZSAhPSBWS19OVUxMX0hBTkRMRSkgJiYgKHZvbGtHZXRMb2FkZWRJbnN0YW5jZSgpICE9
IG1JbnN0YW5jZSkpCiAgICAgewogICAgICAgICB2b2xrTG9hZEluc3RhbmNlKG1JbnN0YW5jZSk7
CkBAIC0yMDkzLDYgKzIxMTIsNyBAQCB2b2lkIFJlbmRlcmVyVms6OnJlbG9hZFZvbGtJZk5lZWRl
ZCgpIGNvbnN0CiAgICAgewogICAgICAgICB2b2xrTG9hZERldmljZShtRGV2aWNlKTsKICAgICB9
CisjZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKIH0KIAogYW5nbGU6
OlJlc3VsdCBSZW5kZXJlclZrOjpnZXRDb21tYW5kQnVmZmVyT25lT2ZmKHZrOjpDb250ZXh0ICpj
b250ZXh0LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJlclZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuaAppbmRleCBkMjNlZjg4ODc3
YTMyNTljYWJkOWI4MDU5MjI1OTZkODFiZDZlMGM3Li43NDgxMmY2M2M5MWQyNjBlNzY5YWYzN2Nj
ZDYwMWU2ZDBmZDQyMTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuaApAQCAt
MTUsMTkgKzE1LDIxIEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAKICNpbmNsdWRlICJ2a19leHRfcHJv
dm9raW5nX3ZlcnRleC5oIgotI2luY2x1ZGUgInZvbGsuaCIKIAogI2luY2x1ZGUgImNvbW1vbi9Q
YWNrZWRFbnVtcy5oIgogI2luY2x1ZGUgImNvbW1vbi9Qb29sQWxsb2MuaCIKICNpbmNsdWRlICJj
b21tb24vYW5nbGV1dGlscy5oIgorI2luY2x1ZGUgImNvbW1vbi92dWxrYW4vdnVsa2FuX2ljZC5o
IgogI2luY2x1ZGUgImxpYkFOR0xFL0Jsb2JDYWNoZS5oIgogI2luY2x1ZGUgImxpYkFOR0xFL0Nh
cHMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUXVlcnlWay5oIgogI2lu
Y2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNvdXJjZVZrLmgiCiAjaW5jbHVkZSAi
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1V0aWxzVmsuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3V0aWxzLmgiCisjaW5jbHVkZSAibGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL3ZrX2hlYWRlcnMuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfaGVscGVycy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92
a19pbnRlcm5hbF9zaGFkZXJzX2F1dG9nZW4uaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vdmtfbWVtX2FsbG9jX3dyYXBwZXIuaCIKIAogbmFtZXNwYWNlIGVnbAogewpAQCAt
NzMsNyArNzUsNyBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndzaUxheWVyKTsKICAgICAvLyBS
ZWxvYWQgdm9sayB2ayogZnVuY3Rpb24gcHRycyBpZiBuZWVkZWQgZm9yIGFuIGFscmVhZHkgaW5p
dGlhbGl6ZWQgUmVuZGVyZXJWawogICAgIHZvaWQgcmVsb2FkVm9sa0lmTmVlZGVkKCkgY29uc3Q7
Ci0gICAgdm9pZCBvbkRlc3Ryb3kodms6OkNvbnRleHQgKmNvbnRleHQpOworICAgIHZvaWQgb25E
ZXN0cm95KCk7CiAKICAgICB2b2lkIG5vdGlmeURldmljZUxvc3QoKTsKICAgICBib29sIGlzRGV2
aWNlTG9zdCgpIGNvbnN0OwpAQCAtMTAwLDYgKzEwMiw4IEBAIGNsYXNzIFJlbmRlcmVyVmsgOiBh
bmdsZTo6Tm9uQ29weWFibGUKICAgICB9CiAgICAgVmtEZXZpY2UgZ2V0RGV2aWNlKCkgY29uc3Qg
eyByZXR1cm4gbURldmljZTsgfQogCisgICAgY29uc3QgVm1hQWxsb2NhdG9yICZnZXRBbGxvY2F0
b3IoKSBjb25zdCB7IHJldHVybiBtQWxsb2NhdG9yOyB9CisKICAgICBhbmdsZTo6UmVzdWx0IHNl
bGVjdFByZXNlbnRRdWV1ZUZvclN1cmZhY2UoRGlzcGxheVZrICpkaXNwbGF5VmssCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrU3VyZmFjZUtIUiBzdXJm
YWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCAqcHJlc2VudFF1ZXVlT3V0KTsKQEAgLTExNyw3ICsxMjEsNiBAQCBjbGFzcyBSZW5kZXJl
clZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgICBjb25zdCB2azo6TWVtb3J5UHJvcGVydGll
cyAmZ2V0TWVtb3J5UHJvcGVydGllcygpIGNvbnN0IHsgcmV0dXJuIG1NZW1vcnlQcm9wZXJ0aWVz
OyB9CiAKLSAgICAvLyBUT0RPKGptYWRpbGwpOiBXZSBjb3VsZCBwYXNzIGFuZ2xlOjpGb3JtYXRJ
RCBoZXJlLgogICAgIGNvbnN0IHZrOjpGb3JtYXQgJmdldEZvcm1hdChHTGVudW0gaW50ZXJuYWxG
b3JtYXQpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbUZvcm1hdFRhYmxlW2ludGVybmFs
Rm9ybWF0XTsKQEAgLTE1Miw3ICsxNTUsNyBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5v
bkNvcHlhYmxlCiAgICAgICAgIHJldHVybiBtTWluSW1wb3J0ZWRIb3N0UG9pbnRlckFsaWdubWVu
dDsKICAgICB9CiAKLSAgICBib29sIGlzTW9ja0lDREVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
RW5hYmxlZElDRCA9PSB2azo6SUNEOjpNb2NrOyB9CisgICAgYm9vbCBpc01vY2tJQ0RFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbUVuYWJsZWRJQ0QgPT0gYW5nbGU6OnZrOjpJQ0Q6Ok1vY2s7IH0K
IAogICAgIC8vIFF1ZXJ5IHRoZSBmb3JtYXQgcHJvcGVydGllcyBmb3Igc2VsZWN0IGJpdHMgKGxp
bmVhclRpbGluZ0ZlYXR1cmVzLCBvcHRpbWFsVGlsaW5nRmVhdHVyZXMgYW5kCiAgICAgLy8gYnVm
ZmVyRmVhdHVyZXMpLiAgTG9va3MgdGhyb3VnaCBtYW5kYXRvcnkgZmVhdHVyZXMgZmlyc3QsIGFu
ZCBmYWxscyBiYWNrIHRvIHF1ZXJ5aW5nIHRoZQpAQCAtMjQzLDYgKzI0Niw5IEBAIGNsYXNzIFJl
bmRlcmVyVmsgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIGJvb2wgZW5hYmxlRGVidWdVdGls
cygpIGNvbnN0IHsgcmV0dXJuIG1FbmFibGVEZWJ1Z1V0aWxzOyB9CiAKKyAgICBTYW1wbGVyQ2Fj
aGUgJmdldFNhbXBsZXJDYWNoZSgpIHsgcmV0dXJuIG1TYW1wbGVyQ2FjaGU7IH0KKyAgICB2azo6
QWN0aXZlSGFuZGxlQ291bnRlciAmZ2V0QWN0aXZlSGFuZGxlQ291bnRzKCkgeyByZXR1cm4gbUFj
dGl2ZUhhbmRsZUNvdW50czsgfQorCiAgIHByaXZhdGU6CiAgICAgYW5nbGU6OlJlc3VsdCBpbml0
aWFsaXplRGV2aWNlKERpc3BsYXlWayAqZGlzcGxheVZrLCB1aW50MzJfdCBxdWV1ZUZhbWlseUlu
ZGV4KTsKICAgICB2b2lkIGVuc3VyZUNhcHNJbml0aWFsaXplZCgpIGNvbnN0OwpAQCAtMjYyLDcg
KzI2OCw3IEBAIGNsYXNzIFJlbmRlcmVyVmsgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB0ZW1w
bGF0ZSA8VmtGb3JtYXRGZWF0dXJlRmxhZ3MgVmtGb3JtYXRQcm9wZXJ0aWVzOjoqZmVhdHVyZXM+
CiAgICAgYm9vbCBoYXNGb3JtYXRGZWF0dXJlQml0cyhWa0Zvcm1hdCBmb3JtYXQsIGNvbnN0IFZr
Rm9ybWF0RmVhdHVyZUZsYWdzIGZlYXR1cmVCaXRzKTsKIAotICAgIGFuZ2xlOjpSZXN1bHQgY2xl
YW51cEdhcmJhZ2Uodms6OkNvbnRleHQgKmNvbnRleHQsIGJvb2wgYmxvY2spOworICAgIGFuZ2xl
OjpSZXN1bHQgY2xlYW51cEdhcmJhZ2UoYm9vbCBibG9jayk7CiAKICAgICBlZ2w6OkRpc3BsYXkg
Km1EaXNwbGF5OwogCkBAIC0yNzYsMTIgKzI4MiwxNCBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5n
bGU6Ok5vbkNvcHlhYmxlCiAgICAgVmtJbnN0YW5jZSBtSW5zdGFuY2U7CiAgICAgYm9vbCBtRW5h
YmxlVmFsaWRhdGlvbkxheWVyczsKICAgICBib29sIG1FbmFibGVEZWJ1Z1V0aWxzOwotICAgIHZr
OjpJQ0QgbUVuYWJsZWRJQ0Q7CisgICAgYW5nbGU6OnZrOjpJQ0QgbUVuYWJsZWRJQ0Q7CiAgICAg
VmtEZWJ1Z1V0aWxzTWVzc2VuZ2VyRVhUIG1EZWJ1Z1V0aWxzTWVzc2VuZ2VyOwogICAgIFZrRGVi
dWdSZXBvcnRDYWxsYmFja0VYVCBtRGVidWdSZXBvcnRDYWxsYmFjazsKICAgICBWa1BoeXNpY2Fs
RGV2aWNlIG1QaHlzaWNhbERldmljZTsKICAgICBWa1BoeXNpY2FsRGV2aWNlUHJvcGVydGllcyBt
UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzOwogICAgIFZrUGh5c2ljYWxEZXZpY2VGZWF0dXJlcyBt
UGh5c2ljYWxEZXZpY2VGZWF0dXJlczsKKyAgICBWa0V4dGVybmFsRmVuY2VQcm9wZXJ0aWVzIG1F
eHRlcm5hbEZlbmNlUHJvcGVydGllczsKKyAgICBWa0V4dGVybmFsU2VtYXBob3JlUHJvcGVydGll
cyBtRXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzOwogICAgIFZrUGh5c2ljYWxEZXZpY2VMaW5l
UmFzdGVyaXphdGlvbkZlYXR1cmVzRVhUIG1MaW5lUmFzdGVyaXphdGlvbkZlYXR1cmVzOwogICAg
IFZrUGh5c2ljYWxEZXZpY2VQcm92b2tpbmdWZXJ0ZXhGZWF0dXJlc0VYVCBtUHJvdm9raW5nVmVy
dGV4RmVhdHVyZXM7CiAgICAgVmtQaHlzaWNhbERldmljZVZlcnRleEF0dHJpYnV0ZURpdmlzb3JG
ZWF0dXJlc0VYVCBtVmVydGV4QXR0cmlidXRlRGl2aXNvckZlYXR1cmVzOwpAQCAtMzU2LDYgKzM2
NCwxMCBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgICAvLyB0
cmFjayB3aGV0aGVyIHdlIGluaXRpYWxpemVkIChvciByZWxlYXNlZCkgZ2xzbGFuZwogICAgIGJv
b2wgbUdsc2xhbmdJbml0aWFsaXplZDsKKworICAgIFZtYUFsbG9jYXRvciBtQWxsb2NhdG9yOwor
ICAgIFNhbXBsZXJDYWNoZSBtU2FtcGxlckNhY2hlOworICAgIHZrOjpBY3RpdmVIYW5kbGVDb3Vu
dGVyIG1BY3RpdmVIYW5kbGVDb3VudHM7CiB9OwogCiB9ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vUmVzb3VyY2VWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL1Jlc291cmNlVmsuY3BwCmluZGV4IDM0MGZmMjg2MWUwM2Q0NDZiNzIw
YjI5MGM3N2RhZWM0ZmY2NWRlMDEuLjgwNjc1MGZmMmVkYmJmOTEzYjY2MzRiMzEzOWJkZjBhYjg2
ZDljNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vUmVzb3VyY2VWay5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNvdXJjZVZrLmNwcApAQCAtMzEsNiAr
MzEsMjUgQEAgYW5nbGU6OlJlc3VsdCBSZXNvdXJjZTo6ZmluaXNoUnVubmluZ0NvbW1hbmRzKENv
bnRleHRWayAqY29udGV4dFZrKQogICAgIHJldHVybiBjb250ZXh0VmstPmZpbmlzaFRvU2VyaWFs
KG1Vc2UuZ2V0U2VyaWFsKCkpOwogfQogCithbmdsZTo6UmVzdWx0IFJlc291cmNlOjp3YWl0Rm9y
SWRsZShDb250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICAvLyBJZiB0aGVyZSBhcmUgcGVuZGlu
ZyBjb21tYW5kcyBmb3IgdGhlIHJlc291cmNlLCBmbHVzaCB0aGVtLgorICAgIGlmICh1c2VkSW5S
ZWNvcmRlZENvbW1hbmRzKCkpCisgICAgeworICAgICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5m
bHVzaEltcGwobnVsbHB0cikpOworICAgIH0KKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZHJpdmVy
IGlzIGRvbmUgd2l0aCB0aGUgcmVzb3VyY2UuCisgICAgaWYgKHVzZWRJblJ1bm5pbmdDb21tYW5k
cyhjb250ZXh0VmstPmdldExhc3RDb21wbGV0ZWRRdWV1ZVNlcmlhbCgpKSkKKyAgICB7CisgICAg
ICAgIEFOR0xFX1RSWShmaW5pc2hSdW5uaW5nQ29tbWFuZHMoY29udGV4dFZrKSk7CisgICAgfQor
CisgICAgQVNTRVJUKCFpc0N1cnJlbnRseUluVXNlKGNvbnRleHRWay0+Z2V0TGFzdENvbXBsZXRl
ZFF1ZXVlU2VyaWFsKCkpKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
K30KKwogLy8gU2hhcmVkR2FyYmFnZSBpbXBsZW1lbnRhdGlvbi4KIFNoYXJlZEdhcmJhZ2U6OlNo
YXJlZEdhcmJhZ2UoKSA9IGRlZmF1bHQ7CiAKQEAgLTUyLDcgKzcxLDcgQEAgU2hhcmVkR2FyYmFn
ZSAmU2hhcmVkR2FyYmFnZTo6b3BlcmF0b3I9KFNoYXJlZEdhcmJhZ2UgJiZyaHMpCiAgICAgcmV0
dXJuICp0aGlzOwogfQogCi1ib29sIFNoYXJlZEdhcmJhZ2U6OmRlc3Ryb3lJZkNvbXBsZXRlKFZr
RGV2aWNlIGRldmljZSwgU2VyaWFsIGNvbXBsZXRlZFNlcmlhbCkKK2Jvb2wgU2hhcmVkR2FyYmFn
ZTo6ZGVzdHJveUlmQ29tcGxldGUoUmVuZGVyZXJWayAqcmVuZGVyZXIsIFNlcmlhbCBjb21wbGV0
ZWRTZXJpYWwpCiB7CiAgICAgaWYgKG1MaWZldGltZS5pc0N1cnJlbnRseUluVXNlKGNvbXBsZXRl
ZFNlcmlhbCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTYxLDcgKzgwLDcgQEAgYm9vbCBT
aGFyZWRHYXJiYWdlOjpkZXN0cm95SWZDb21wbGV0ZShWa0RldmljZSBkZXZpY2UsIFNlcmlhbCBj
b21wbGV0ZWRTZXJpYWwpCiAKICAgICBmb3IgKEdhcmJhZ2VPYmplY3QgJm9iamVjdCA6IG1HYXJi
YWdlKQogICAgIHsKLSAgICAgICAgb2JqZWN0LmRlc3Ryb3koZGV2aWNlKTsKKyAgICAgICAgb2Jq
ZWN0LmRlc3Ryb3kocmVuZGVyZXIpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi9SZXNvdXJjZVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1Jlc291cmNlVmsuaAppbmRleCAzNGI3YjJmYzAzYjg2Njg4MTIxYzViNDNi
ZjIwNTQwZjVjOGNjOTBjLi44ZDRjNjMyNjA2NGJlYjA0NWVlMzllNjIzYjBjNTM2ODFhYTJkNWFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL1Jlc291cmNlVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Jlc291cmNlVmsuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IGNsYXNzIFNoYXJlZEdhcmJhZ2UKICAgICB+U2hhcmVkR2FyYmFnZSgpOwogICAgIFNoYXJlZEdh
cmJhZ2UgJm9wZXJhdG9yPShTaGFyZWRHYXJiYWdlICYmcmhzKTsKIAotICAgIGJvb2wgZGVzdHJv
eUlmQ29tcGxldGUoVmtEZXZpY2UgZGV2aWNlLCBTZXJpYWwgY29tcGxldGVkU2VyaWFsKTsKKyAg
ICBib29sIGRlc3Ryb3lJZkNvbXBsZXRlKFJlbmRlcmVyVmsgKnJlbmRlcmVyLCBTZXJpYWwgY29t
cGxldGVkU2VyaWFsKTsKIAogICBwcml2YXRlOgogICAgIFNoYXJlZFJlc291cmNlVXNlIG1MaWZl
dGltZTsKQEAgLTE3OSw2ICsxNzksOSBAQCBjbGFzcyBSZXNvdXJjZSA6IGFuZ2xlOjpOb25Db3B5
YWJsZQogICAgIC8vIEVuc3VyZXMgdGhlIGRyaXZlciBpcyBjYXVnaHQgdXAgdG8gdGhpcyByZXNv
dXJjZSBhbmQgaXQgaXMgb25seSBpbiB1c2UgYnkgQU5HTEUuCiAgICAgYW5nbGU6OlJlc3VsdCBm
aW5pc2hSdW5uaW5nQ29tbWFuZHMoQ29udGV4dFZrICpjb250ZXh0VmspOwogCisgICAgLy8gQ29t
cGxldGUgYWxsIHJlY29yZGVkIGFuZCBpbi1mbGlnaHQgY29tbWFuZHMgaW52b2x2aW5nIHRoaXMg
cmVzb3VyY2UKKyAgICBhbmdsZTo6UmVzdWx0IHdhaXRGb3JJZGxlKENvbnRleHRWayAqY29udGV4
dFZrKTsKKwogICAgIC8vIEFkZHMgdGhlIHJlc291cmNlIHRvIGEgcmVzb3VyY2UgdXNlIGxpc3Qu
CiAgICAgdm9pZCByZXRhaW4oUmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL1NhbXBsZXJWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL1NhbXBsZXJWay5jcHAKaW5kZXggOGE5MTlmNDMzZTEyZDk3ZjBk
Y2M2ODc5ZDEwYTg2OTk3YTQ5OGU0OC4uMzM1MWFhZTZhYjllNzdmNjM1OGQ3ODdkZTM3NDViMDRl
ZDFkODRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9TYW1wbGVyVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2FtcGxlclZrLmNwcApAQCAtMjIsOCAr
MjIsNyBAQCBTYW1wbGVyVms6On5TYW1wbGVyVmsoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgU2FtcGxl
clZrOjpvbkRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgQ29udGV4
dFZrICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChjb250ZXh0KTsKLSAgICBtU2FtcGxlci5yZWxl
YXNlKGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKSk7CisgICAgbVNhbXBsZXIucmVzZXQoKTsKIH0K
IAogYW5nbGU6OlJlc3VsdCBTYW1wbGVyVms6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwgY29uc3QgYm9vbCBkaXJ0eSkKQEAgLTM3LDQyICszNiwxMiBAQCBhbmdsZTo6UmVz
dWx0IFNhbXBsZXJWazo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBjb25z
dCBib29sIGRpcnR5KQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgbVNhbXBsZXIucmVsZWFzZShyZW5kZXJl
cik7CisgICAgICAgIG1TYW1wbGVyLnJlc2V0KCk7CiAgICAgfQogCi0gICAgY29uc3QgZ2w6OkV4
dGVuc2lvbnMgJmV4dGVuc2lvbnMgPSByZW5kZXJlci0+Z2V0TmF0aXZlRXh0ZW5zaW9ucygpOwot
ICAgIGZsb2F0IG1heEFuaXNvdHJvcHkgICAgICAgICAgICAgID0gbVN0YXRlLmdldE1heEFuaXNv
dHJvcHkoKTsKLSAgICBib29sIGFuaXNvdHJvcHlFbmFibGUgICAgICAgICAgICA9IGV4dGVuc2lv
bnMudGV4dHVyZUZpbHRlckFuaXNvdHJvcGljICYmIG1heEFuaXNvdHJvcHkgPiAxLjBmOwotCi0g
ICAgVmtTYW1wbGVyQ3JlYXRlSW5mbyBzYW1wbGVySW5mbyAgICAgPSB7fTsKLSAgICBzYW1wbGVy
SW5mby5zVHlwZSAgICAgICAgICAgICAgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX1NBTVBMRVJf
Q1JFQVRFX0lORk87Ci0gICAgc2FtcGxlckluZm8uZmxhZ3MgICAgICAgICAgICAgICAgICAgPSAw
OwotICAgIHNhbXBsZXJJbmZvLm1hZ0ZpbHRlciAgICAgICAgICAgICAgID0gZ2xfdms6OkdldEZp
bHRlcihtU3RhdGUuZ2V0TWFnRmlsdGVyKCkpOwotICAgIHNhbXBsZXJJbmZvLm1pbkZpbHRlciAg
ICAgICAgICAgICAgID0gZ2xfdms6OkdldEZpbHRlcihtU3RhdGUuZ2V0TWluRmlsdGVyKCkpOwot
ICAgIHNhbXBsZXJJbmZvLm1pcG1hcE1vZGUgICAgICAgICAgICAgID0gZ2xfdms6OkdldFNhbXBs
ZXJNaXBtYXBNb2RlKG1TdGF0ZS5nZXRNaW5GaWx0ZXIoKSk7Ci0gICAgc2FtcGxlckluZm8uYWRk
cmVzc01vZGVVICAgICAgICAgICAgPSBnbF92azo6R2V0U2FtcGxlckFkZHJlc3NNb2RlKG1TdGF0
ZS5nZXRXcmFwUygpKTsKLSAgICBzYW1wbGVySW5mby5hZGRyZXNzTW9kZVYgICAgICAgICAgICA9
IGdsX3ZrOjpHZXRTYW1wbGVyQWRkcmVzc01vZGUobVN0YXRlLmdldFdyYXBUKCkpOwotICAgIHNh
bXBsZXJJbmZvLmFkZHJlc3NNb2RlVyAgICAgICAgICAgID0gZ2xfdms6OkdldFNhbXBsZXJBZGRy
ZXNzTW9kZShtU3RhdGUuZ2V0V3JhcFIoKSk7Ci0gICAgc2FtcGxlckluZm8ubWlwTG9kQmlhcyAg
ICAgICAgICAgICAgPSAwLjBmOwotICAgIHNhbXBsZXJJbmZvLmFuaXNvdHJvcHlFbmFibGUgICAg
ICAgID0gYW5pc290cm9weUVuYWJsZTsKLSAgICBzYW1wbGVySW5mby5tYXhBbmlzb3Ryb3B5ICAg
ICAgICAgICA9IG1heEFuaXNvdHJvcHk7Ci0gICAgc2FtcGxlckluZm8uY29tcGFyZUVuYWJsZSAg
ICAgICAgICAgPSBtU3RhdGUuZ2V0Q29tcGFyZU1vZGUoKSA9PSBHTF9DT01QQVJFX1JFRl9UT19U
RVhUVVJFOwotICAgIHNhbXBsZXJJbmZvLmNvbXBhcmVPcCAgICAgICAgICAgICAgID0gZ2xfdms6
OkdldENvbXBhcmVPcChtU3RhdGUuZ2V0Q29tcGFyZUZ1bmMoKSk7Ci0gICAgc2FtcGxlckluZm8u
bWluTG9kICAgICAgICAgICAgICAgICAgPSBtU3RhdGUuZ2V0TWluTG9kKCk7Ci0gICAgc2FtcGxl
ckluZm8ubWF4TG9kICAgICAgICAgICAgICAgICAgPSBtU3RhdGUuZ2V0TWF4TG9kKCk7Ci0gICAg
c2FtcGxlckluZm8uYm9yZGVyQ29sb3IgICAgICAgICAgICAgPSBWS19CT1JERVJfQ09MT1JfSU5U
X1RSQU5TUEFSRU5UX0JMQUNLOwotICAgIHNhbXBsZXJJbmZvLnVubm9ybWFsaXplZENvb3JkaW5h
dGVzID0gVktfRkFMU0U7Ci0KLSAgICBpZiAoIWdsOjpJc01pcG1hcEZpbHRlcmVkKG1TdGF0ZSkp
Ci0gICAgewotICAgICAgICAvLyBQZXIgdGhlIFZ1bGthbiBzcGVjLCBHTF9ORUFSRVNUIGFuZCBH
TF9MSU5FQVIgZG8gbm90IG1hcCBkaXJlY3RseSB0byBWdWxrYW4sIHNvCi0gICAgICAgIC8vIHRo
ZXkgbXVzdCBiZSBlbXVsYXRlZCAoU2VlICJNYXBwaW5nIG9mIE9wZW5HTCB0byBWdWxrYW4gZmls
dGVyIG1vZGVzIikKLSAgICAgICAgc2FtcGxlckluZm8ubWlwbWFwTW9kZSA9IFZLX1NBTVBMRVJf
TUlQTUFQX01PREVfTkVBUkVTVDsKLSAgICAgICAgc2FtcGxlckluZm8ubWluTG9kICAgICA9IDAu
MGY7Ci0gICAgICAgIHNhbXBsZXJJbmZvLm1heExvZCAgICAgPSAwLjI1ZjsKLSAgICB9CisgICAg
dms6OlNhbXBsZXJEZXNjIGRlc2MobVN0YXRlLCBmYWxzZSk7CisgICAgQU5HTEVfVFJZKHJlbmRl
cmVyLT5nZXRTYW1wbGVyQ2FjaGUoKS5nZXRTYW1wbGVyKGNvbnRleHRWaywgZGVzYywgJm1TYW1w
bGVyKSk7CiAKLSAgICBBTkdMRV9WS19UUlkoY29udGV4dFZrLCBtU2FtcGxlci5nZXQoKS5pbml0
KGNvbnRleHRWay0+Z2V0RGV2aWNlKCksIHNhbXBsZXJJbmZvKSk7CiAgICAgLy8gUmVnZW5lcmF0
ZSB0aGUgc2VyaWFsIG9uIGEgc2FtcGxlciBjaGFuZ2UuCiAgICAgbVNlcmlhbCA9IGNvbnRleHRW
ay0+Z2VuZXJhdGVUZXh0dXJlU2VyaWFsKCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9TYW1wbGVyVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2FtcGxlclZrLmgKaW5kZXggMjhjOTExZjY0ZmU4
M2IzMWZmNThjYzE3NTQxZTRjNjliNDQyNzVlNC4uZDQ2ZWRiYzA2ZjMxODdhNzUwYTc4N2IwYmU2
NTM4ZGZjNGY4ZmVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TYW1wbGVyVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1NhbXBsZXJWay5oCkBAIC0zNCwx
MCArMzQsOCBAQCBjbGFzcyBTYW1wbGVyVmsgOiBwdWJsaWMgU2FtcGxlckltcGwKIAogICAgIFNl
cmlhbCBnZXRTZXJpYWwoKSBjb25zdCB7IHJldHVybiBtU2VyaWFsOyB9CiAKLSAgICB2b2lkIHJl
dGFpbih2azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QpIHsgbVNhbXBsZXIucmV0
YWluKHJlc291cmNlVXNlTGlzdCk7IH0KLQogICBwcml2YXRlOgotICAgIHZrOjpTYW1wbGVySGVs
cGVyIG1TYW1wbGVyOworICAgIHZrOjpCaW5kaW5nUG9pbnRlcjx2azo6U2FtcGxlcj4gbVNhbXBs
ZXI7CiAgICAgLy8gVGhlIHNlcmlhbCBpcyB1c2VkIGZvciBjYWNoZSBpbmRleGluZy4KICAgICBT
ZXJpYWwgbVNlcmlhbDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1NlY29uZGFyeUNvbW1hbmRCdWZmZXIuY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TZWNv
bmRhcnlDb21tYW5kQnVmZmVyLmNwcAppbmRleCBjY2JiMzQzMzNhYzIwMWE2N2QwMjk5OWE1ODE2
NWFjNzk3OThmZjg5Li5iYmUxODE4NDNlYjJhNmZhMWYwOTkzZjJjZmVhNGQ5ODExYTNhMWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL1NlY29uZGFyeUNvbW1hbmRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZl
ci5jcHAKQEAgLTI1LDggKzI1LDEyIEBAIGNvbnN0IGNoYXIgKkdldENvbW1hbmRTdHJpbmcoQ29t
bWFuZElEIGlkKQogICAgIHsKICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkludmFsaWQ6CiAgICAg
ICAgICAgICByZXR1cm4gIi0tSW52YWxpZC0tIjsKKyAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkJl
Z2luRGVidWdVdGlsc0xhYmVsOgorICAgICAgICAgICAgcmV0dXJuICJCZWdpbkRlYnVnVXRpbHNM
YWJlbCI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpCZWdpblF1ZXJ5OgogICAgICAgICAgICAg
cmV0dXJuICJCZWdpblF1ZXJ5IjsKKyAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkJlZ2luVHJhbnNm
b3JtRmVlZGJhY2s6CisgICAgICAgICAgICByZXR1cm4gIkJlZ2luVHJhbnNmb3JtRmVlZGJhY2si
OwogICAgICAgICBjYXNlIENvbW1hbmRJRDo6QmluZENvbXB1dGVQaXBlbGluZToKICAgICAgICAg
ICAgIHJldHVybiAiQmluZENvbXB1dGVQaXBlbGluZSI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElE
OjpCaW5kRGVzY3JpcHRvclNldHM6CkBAIC0zNSwxMCArMzksMTAgQEAgY29uc3QgY2hhciAqR2V0
Q29tbWFuZFN0cmluZyhDb21tYW5kSUQgaWQpCiAgICAgICAgICAgICByZXR1cm4gIkJpbmRHcmFw
aGljc1BpcGVsaW5lIjsKICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkJpbmRJbmRleEJ1ZmZlcjoK
ICAgICAgICAgICAgIHJldHVybiAiQmluZEluZGV4QnVmZmVyIjsKLSAgICAgICAgY2FzZSBDb21t
YW5kSUQ6OkJpbmRWZXJ0ZXhCdWZmZXJzOgotICAgICAgICAgICAgcmV0dXJuICJCaW5kVmVydGV4
QnVmZmVycyI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpCaW5kVHJhbnNmb3JtRmVlZGJhY2tC
dWZmZXJzOgogICAgICAgICAgICAgcmV0dXJuICJCaW5kVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJz
IjsKKyAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkJpbmRWZXJ0ZXhCdWZmZXJzOgorICAgICAgICAg
ICAgcmV0dXJuICJCaW5kVmVydGV4QnVmZmVycyI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpC
bGl0SW1hZ2U6CiAgICAgICAgICAgICByZXR1cm4gIkJsaXRJbWFnZSI7CiAgICAgICAgIGNhc2Ug
Q29tbWFuZElEOjpCdWZmZXJCYXJyaWVyOgpAQCAtNjcsMjggKzcxLDM0IEBAIGNvbnN0IGNoYXIg
KkdldENvbW1hbmRTdHJpbmcoQ29tbWFuZElEIGlkKQogICAgICAgICAgICAgcmV0dXJuICJEcmF3
SW5kZXhlZCI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kZXhlZEJhc2VWZXJ0ZXg6
CiAgICAgICAgICAgICByZXR1cm4gIkRyYXdJbmRleGVkQmFzZVZlcnRleCI7CisgICAgICAgIGNh
c2UgQ29tbWFuZElEOjpEcmF3SW5kZXhlZEluZGlyZWN0OgorICAgICAgICAgICAgcmV0dXJuICJE
cmF3SW5kZXhlZEluZGlyZWN0IjsKICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkRyYXdJbmRleGVk
SW5zdGFuY2VkOgogICAgICAgICAgICAgcmV0dXJuICJEcmF3SW5kZXhlZEluc3RhbmNlZCI7CiAg
ICAgICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kZXhlZEluc3RhbmNlZEJhc2VWZXJ0ZXg6CiAg
ICAgICAgICAgICByZXR1cm4gIkRyYXdJbmRleGVkSW5zdGFuY2VkQmFzZVZlcnRleCI7CiAgICAg
ICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kZXhlZEluc3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5z
dGFuY2U6CiAgICAgICAgICAgICByZXR1cm4gIkRyYXdJbmRleGVkSW5zdGFuY2VkQmFzZVZlcnRl
eEJhc2VJbnN0YW5jZSI7CisgICAgICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kaXJlY3Q6Cisg
ICAgICAgICAgICByZXR1cm4gIkRyYXdJbmRpcmVjdCI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElE
OjpEcmF3SW5zdGFuY2VkOgogICAgICAgICAgICAgcmV0dXJuICJEcmF3SW5zdGFuY2VkIjsKICAg
ICAgICAgY2FzZSBDb21tYW5kSUQ6OkRyYXdJbnN0YW5jZWRCYXNlSW5zdGFuY2U6CiAgICAgICAg
ICAgICByZXR1cm4gIkRyYXdJbnN0YW5jZWRCYXNlSW5zdGFuY2UiOwotICAgICAgICBjYXNlIENv
bW1hbmRJRDo6RHJhd0luZGV4ZWRJbmRpcmVjdDoKLSAgICAgICAgICAgIHJldHVybiAiRHJhd0lu
ZGV4ZWRJbmRpcmVjdCI7Ci0gICAgICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kaXJlY3Q6Ci0g
ICAgICAgICAgICByZXR1cm4gIkRyYXdJbmRpcmVjdCI7CisgICAgICAgIGNhc2UgQ29tbWFuZElE
OjpFbmREZWJ1Z1V0aWxzTGFiZWw6CisgICAgICAgICAgICByZXR1cm4gIkVuZERlYnVnVXRpbHNM
YWJlbCI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpFbmRRdWVyeToKICAgICAgICAgICAgIHJl
dHVybiAiRW5kUXVlcnkiOworICAgICAgICBjYXNlIENvbW1hbmRJRDo6RW5kVHJhbnNmb3JtRmVl
ZGJhY2s6CisgICAgICAgICAgICByZXR1cm4gIkVuZFRyYW5zZm9ybUZlZWRiYWNrIjsKICAgICAg
ICAgY2FzZSBDb21tYW5kSUQ6OkV4ZWN1dGlvbkJhcnJpZXI6CiAgICAgICAgICAgICByZXR1cm4g
IkV4ZWN1dGlvbkJhcnJpZXIiOwogICAgICAgICBjYXNlIENvbW1hbmRJRDo6RmlsbEJ1ZmZlcjoK
ICAgICAgICAgICAgIHJldHVybiAiRmlsbEJ1ZmZlciI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElE
OjpJbWFnZUJhcnJpZXI6CiAgICAgICAgICAgICByZXR1cm4gIkltYWdlQmFycmllciI7CisgICAg
ICAgIGNhc2UgQ29tbWFuZElEOjpJbnNlcnREZWJ1Z1V0aWxzTGFiZWw6CisgICAgICAgICAgICBy
ZXR1cm4gIkluc2VydERlYnVnVXRpbHNMYWJlbCI7CiAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpN
ZW1vcnlCYXJyaWVyOgogICAgICAgICAgICAgcmV0dXJuICJNZW1vcnlCYXJyaWVyIjsKICAgICAg
ICAgY2FzZSBDb21tYW5kSUQ6OlBpcGVsaW5lQmFycmllcjoKQEAgLTEyMSw2ICsxMzEsMTYgQEAg
QU5HTEVfSU5MSU5FIGNvbnN0IENvbW1hbmRIZWFkZXIgKk5leHRDb21tYW5kKGNvbnN0IENvbW1h
bmRIZWFkZXIgKmNvbW1hbmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb21tYW5kLT5zaXplKTsKIH0KIAorLy8gQWRkIGFueSBxdWV1ZWQgcmVz
ZXRRdWVyeVBvb2wgY29tbWFuZHMgdG8gdGhlIGdpdmVuIGNtZEJ1ZmZlcgordm9pZCBTZWNvbmRh
cnlDb21tYW5kQnVmZmVyOjpleGVjdXRlUXVldWVkUmVzZXRRdWVyeVBvb2xDb21tYW5kcyhWa0Nv
bW1hbmRCdWZmZXIgY21kQnVmZmVyKQoreworICAgIGZvciAoY29uc3QgUmVzZXRRdWVyeVBvb2xQ
YXJhbXMgJnF1ZXJ5UGFyYW1zIDogbVJlc2V0UXVlcnlRdWV1ZSkKKyAgICB7CisgICAgICAgIHZr
Q21kUmVzZXRRdWVyeVBvb2woY21kQnVmZmVyLCBxdWVyeVBhcmFtcy5xdWVyeVBvb2wsIHF1ZXJ5
UGFyYW1zLmZpcnN0UXVlcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJh
bXMucXVlcnlDb3VudCk7CisgICAgfQorfQorCiAvLyBQYXJzZSB0aGUgY21kcyBpbiB0aGlzIGNt
ZCBidWZmZXIgaW50byBnaXZlbiBwcmltYXJ5IGNtZCBidWZmZXIKIHZvaWQgU2Vjb25kYXJ5Q29t
bWFuZEJ1ZmZlcjo6ZXhlY3V0ZUNvbW1hbmRzKFZrQ29tbWFuZEJ1ZmZlciBjbWRCdWZmZXIpCiB7
CkBAIC0xMzEsMTIgKzE1MSw0MCBAQCB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmV4ZWN1
dGVDb21tYW5kcyhWa0NvbW1hbmRCdWZmZXIgY21kQnVmZmVyKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKGN1cnJlbnRDb21tYW5kLT5pZCkKICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjYXNlIENvbW1hbmRJRDo6QmVnaW5EZWJ1Z1V0aWxzTGFiZWw6CisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBEZWJ1Z1V0aWxzTGFiZWxQYXJhbXMg
KnBhcmFtcyA9CisgICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXJhbVB0cjxEZWJ1Z1V0aWxz
TGFiZWxQYXJhbXM+KGN1cnJlbnRDb21tYW5kKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqcExhYmVsTmFtZSA9IE9mZnNldDxjaGFyPihwYXJhbXMsIHNpemVvZihEZWJ1Z1V0aWxz
TGFiZWxQYXJhbXMpKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtEZWJ1Z1V0aWxzTGFi
ZWxFWFQgbGFiZWwgPSB7CisgICAgICAgICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQ
RV9ERUJVR19VVElMU19MQUJFTF9FWFQsCisgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgcExhYmVsTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHtwYXJhbXMtPmNvbG9yWzBdLCBwYXJhbXMtPmNvbG9yWzFdLCBwYXJhbXMtPmNvbG9y
WzJdLCBwYXJhbXMtPmNvbG9yWzNdfX07CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVCh2a0Nt
ZEJlZ2luRGVidWdVdGlsc0xhYmVsRVhUKTsKKyAgICAgICAgICAgICAgICAgICAgdmtDbWRCZWdp
bkRlYnVnVXRpbHNMYWJlbEVYVChjbWRCdWZmZXIsICZsYWJlbCk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBjYXNlIENvbW1h
bmRJRDo6QmVnaW5RdWVyeToKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEJlZ2luUXVlcnlQYXJhbXMgKnBhcmFtcyA9IGdldFBhcmFtUHRyPEJlZ2luUXVlcnlQ
YXJhbXM+KGN1cnJlbnRDb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgdmtDbWRCZWdpblF1
ZXJ5KGNtZEJ1ZmZlciwgcGFyYW1zLT5xdWVyeVBvb2wsIHBhcmFtcy0+cXVlcnksIHBhcmFtcy0+
ZmxhZ3MpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkJlZ2luVHJhbnNmb3JtRmVlZGJhY2s6Cisg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBCZWdpblRyYW5zZm9y
bUZlZWRiYWNrUGFyYW1zICpwYXJhbXMgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UGFy
YW1QdHI8QmVnaW5UcmFuc2Zvcm1GZWVkYmFja1BhcmFtcz4oY3VycmVudENvbW1hbmQpOworICAg
ICAgICAgICAgICAgICAgICBjb25zdCBWa0J1ZmZlciAqY291bnRlckJ1ZmZlcnMgPQorICAgICAg
ICAgICAgICAgICAgICAgICAgT2Zmc2V0PFZrQnVmZmVyPihwYXJhbXMsIHNpemVvZihCZWdpblRy
YW5zZm9ybUZlZWRiYWNrUGFyYW1zKSk7CisgICAgICAgICAgICAgICAgICAgIC8vIFdvcmthcm91
bmQgZm9yIEFNRCBkcml2ZXIgYnVnIHdoZXJlIGl0IGV4cGVjdHMgdGhlIG9mZnNldHMgYXJyYXkg
dG8gYmUKKyAgICAgICAgICAgICAgICAgICAgLy8gbm9uLW51bGwKKyAgICAgICAgICAgICAgICAg
ICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5PFZrRGV2aWNlU2l6ZT4gb2Zmc2V0
czsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0cy5maWxsKDApOworICAgICAgICAgICAgICAg
ICAgICB2a0NtZEJlZ2luVHJhbnNmb3JtRmVlZGJhY2tFWFQoY21kQnVmZmVyLCAwLCBwYXJhbXMt
PmJ1ZmZlckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY291bnRlckJ1ZmZlcnMsIG9mZnNldHMuZGF0YSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGNhc2UgQ29t
bWFuZElEOjpCaW5kQ29tcHV0ZVBpcGVsaW5lOgogICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgQmluZFBpcGVsaW5lUGFyYW1zICpwYXJhbXMgPQpAQCAtMzA3LDYg
KzM1NSwxMyBAQCB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmV4ZWN1dGVDb21tYW5kcyhW
a0NvbW1hbmRCdWZmZXIgY21kQnVmZmVyKQogICAgICAgICAgICAgICAgICAgICB2a0NtZERyYXdJ
bmRleGVkKGNtZEJ1ZmZlciwgcGFyYW1zLT5pbmRleENvdW50LCAxLCAwLCBwYXJhbXMtPnZlcnRl
eE9mZnNldCwgMCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RHJhd0luZGV4ZWRJbmRpcmVjdDoK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IERyYXdJbmRleGVk
SW5kaXJlY3RQYXJhbXMgKnBhcmFtcyA9CisgICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXJh
bVB0cjxEcmF3SW5kZXhlZEluZGlyZWN0UGFyYW1zPihjdXJyZW50Q29tbWFuZCk7CisgICAgICAg
ICAgICAgICAgICAgIHZrQ21kRHJhd0luZGV4ZWRJbmRpcmVjdChjbWRCdWZmZXIsIHBhcmFtcy0+
YnVmZmVyLCBwYXJhbXMtPm9mZnNldCwgMSwgMCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RHJh
d0luZGV4ZWRJbnN0YW5jZWQ6CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICBjb25zdCBEcmF3SW5kZXhlZEluc3RhbmNlZFBhcmFtcyAqcGFyYW1zID0KQEAgLTMzMiw2ICsz
ODcsMTMgQEAgdm9pZCBTZWNvbmRhcnlDb21tYW5kQnVmZmVyOjpleGVjdXRlQ29tbWFuZHMoVmtD
b21tYW5kQnVmZmVyIGNtZEJ1ZmZlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJhbXMtPmZpcnN0SW5zdGFuY2UpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkRyYXdJ
bmRpcmVjdDoKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IERy
YXdJbmRpcmVjdFBhcmFtcyAqcGFyYW1zID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdldFBh
cmFtUHRyPERyYXdJbmRpcmVjdFBhcmFtcz4oY3VycmVudENvbW1hbmQpOworICAgICAgICAgICAg
ICAgICAgICB2a0NtZERyYXdJbmRpcmVjdChjbWRCdWZmZXIsIHBhcmFtcy0+YnVmZmVyLCBwYXJh
bXMtPm9mZnNldCwgMSwgMCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RHJhd0luc3RhbmNlZDoK
ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IERyYXdJbnN0YW5j
ZWRQYXJhbXMgKnBhcmFtcyA9CkBAIC0zNDgsMTggKzQxMCwxMCBAQCB2b2lkIFNlY29uZGFyeUNv
bW1hbmRCdWZmZXI6OmV4ZWN1dGVDb21tYW5kcyhWa0NvbW1hbmRCdWZmZXIgY21kQnVmZmVyKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLT5maXJzdFZlcnRleCwgcGFyYW1z
LT5maXJzdEluc3RhbmNlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGNhc2UgQ29tbWFuZElEOjpEcmF3SW5kaXJlY3Q6Cisg
ICAgICAgICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkVuZERlYnVnVXRpbHNMYWJlbDoKICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IERyYXdJbmRpcmVjdFBhcmFt
cyAqcGFyYW1zID0KLSAgICAgICAgICAgICAgICAgICAgICAgIGdldFBhcmFtUHRyPERyYXdJbmRp
cmVjdFBhcmFtcz4oY3VycmVudENvbW1hbmQpOwotICAgICAgICAgICAgICAgICAgICB2a0NtZERy
YXdJbmRpcmVjdChjbWRCdWZmZXIsIHBhcmFtcy0+YnVmZmVyLCBwYXJhbXMtPm9mZnNldCwgMSwg
MCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RHJhd0luZGV4ZWRJbmRpcmVjdDoKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IERyYXdJbmRleGVkSW5kaXJlY3RQ
YXJhbXMgKnBhcmFtcyA9Ci0gICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXJhbVB0cjxEcmF3
SW5kZXhlZEluZGlyZWN0UGFyYW1zPihjdXJyZW50Q29tbWFuZCk7Ci0gICAgICAgICAgICAgICAg
ICAgIHZrQ21kRHJhd0luZGV4ZWRJbmRpcmVjdChjbWRCdWZmZXIsIHBhcmFtcy0+YnVmZmVyLCBw
YXJhbXMtPm9mZnNldCwgMSwgMCk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVCh2a0NtZEVu
ZERlYnVnVXRpbHNMYWJlbEVYVCk7CisgICAgICAgICAgICAgICAgICAgIHZrQ21kRW5kRGVidWdV
dGlsc0xhYmVsRVhUKGNtZEJ1ZmZlcik7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RW5kUXVlcnk6
CkBAIC0zNjgsNiArNDIyLDIwIEBAIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6ZXhlY3V0
ZUNvbW1hbmRzKFZrQ29tbWFuZEJ1ZmZlciBjbWRCdWZmZXIpCiAgICAgICAgICAgICAgICAgICAg
IHZrQ21kRW5kUXVlcnkoY21kQnVmZmVyLCBwYXJhbXMtPnF1ZXJ5UG9vbCwgcGFyYW1zLT5xdWVy
eSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBjYXNlIENvbW1hbmRJRDo6RW5kVHJhbnNmb3JtRmVlZGJhY2s6CisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBFbmRUcmFuc2Zvcm1GZWVkYmFj
a1BhcmFtcyAqcGFyYW1zID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdldFBhcmFtUHRyPEVu
ZFRyYW5zZm9ybUZlZWRiYWNrUGFyYW1zPihjdXJyZW50Q29tbWFuZCk7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFZrQnVmZmVyICpjb3VudGVyQnVmZmVycyA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBPZmZzZXQ8VmtCdWZmZXI+KHBhcmFtcywgc2l6ZW9mKEVuZFRyYW5zZm9ybUZlZWRi
YWNrUGFyYW1zKSk7CisgICAgICAgICAgICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIEFNRCBk
cml2ZXIgYnVnIHdoZXJlIGl0IGV4cGVjdHMgdGhlIG9mZnNldHMgYXJyYXkgdG8gYmUKKyAgICAg
ICAgICAgICAgICAgICAgLy8gbm9uLW51bGwKKyAgICAgICAgICAgICAgICAgICAgZ2w6OlRyYW5z
Zm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5PFZrRGV2aWNlU2l6ZT4gb2Zmc2V0czsKKyAgICAgICAg
ICAgICAgICAgICAgb2Zmc2V0cy5maWxsKDApOworICAgICAgICAgICAgICAgICAgICB2a0NtZEVu
ZFRyYW5zZm9ybUZlZWRiYWNrRVhUKGNtZEJ1ZmZlciwgMCwgcGFyYW1zLT5idWZmZXJDb3VudCwg
Y291bnRlckJ1ZmZlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb2Zmc2V0cy5kYXRhKCkpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgY2FzZSBDb21tYW5kSUQ6OkV4ZWN1dGlv
bkJhcnJpZXI6CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBjb25zdCBF
eGVjdXRpb25CYXJyaWVyUGFyYW1zICpwYXJhbXMgPQpAQCAtMzkxLDYgKzQ1OSwyMCBAQCB2b2lk
IFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmV4ZWN1dGVDb21tYW5kcyhWa0NvbW1hbmRCdWZmZXIg
Y21kQnVmZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBu
dWxscHRyLCAwLCBudWxscHRyLCAxLCAmcGFyYW1zLT5pbWFnZU1lbW9yeUJhcnJpZXIpOwogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgY2FzZSBDb21tYW5kSUQ6Okluc2VydERlYnVnVXRpbHNMYWJlbDoKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IERlYnVnVXRpbHNMYWJlbFBhcmFtcyAqcGFy
YW1zID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdldFBhcmFtUHRyPERlYnVnVXRpbHNMYWJl
bFBhcmFtcz4oY3VycmVudENvbW1hbmQpOworICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy
ICpwTGFiZWxOYW1lID0gT2Zmc2V0PGNoYXI+KHBhcmFtcywgc2l6ZW9mKERlYnVnVXRpbHNMYWJl
bFBhcmFtcykpOworICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0RlYnVnVXRpbHNMYWJlbEVY
VCBsYWJlbCA9IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX0RF
QlVHX1VUSUxTX0xBQkVMX0VYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICBwTGFiZWxOYW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAge3BhcmFtcy0+Y29sb3JbMF0sIHBhcmFtcy0+Y29sb3JbMV0sIHBhcmFtcy0+Y29sb3JbMl0s
IHBhcmFtcy0+Y29sb3JbM119fTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHZrQ21kSW5z
ZXJ0RGVidWdVdGlsc0xhYmVsRVhUKTsKKyAgICAgICAgICAgICAgICAgICAgdmtDbWRJbnNlcnRE
ZWJ1Z1V0aWxzTGFiZWxFWFQoY21kQnVmZmVyLCAmbGFiZWwpOworICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgY2FzZSBDb21tYW5k
SUQ6Ok1lbW9yeUJhcnJpZXI6CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICBjb25zdCBNZW1vcnlCYXJyaWVyUGFyYW1zICpwYXJhbXMgPQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TZWNvbmRhcnlD
b21tYW5kQnVmZmVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1NlY29uZGFyeUNvbW1hbmRCdWZmZXIuaAppbmRleCA0Mzk4Mzk3NTIzMmE5
MjE5OGNiMTBiNDA1Y2MwNTRhYTIwZDFiMjgzLi40OGMyOTk3NmE5NWM3Zjg3ZDFlNjA4NGNiNWYx
NTc0ZDQxZWYzNmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvdnVsa2FuL1NlY29uZGFyeUNvbW1hbmRCdWZmZXIuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1NlY29uZGFy
eUNvbW1hbmRCdWZmZXIuaApAQCAtMTEsOSArMTEsOCBAQAogI2lmbmRlZiBMSUJBTkdMRV9SRU5E
RVJFUl9WVUxLQU5fU0VDT05EQVJZQ09NTUFOREJVRkZFUlZLX0hfCiAjZGVmaW5lIExJQkFOR0xF
X1JFTkRFUkVSX1ZVTEtBTl9TRUNPTkRBUllDT01NQU5EQlVGRkVSVktfSF8KIAotI2luY2x1ZGUg
InZvbGsuaCIKLQogI2luY2x1ZGUgImNvbW1vbi9Qb29sQWxsb2MuaCIKKyNpbmNsdWRlICJsaWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi92a193cmFwcGVyLmgiCiAKIG5hbWVzcGFjZSByeApAQCAtMjQsMTIgKzIz
LDE2IEBAIG5hbWVzcGFjZSB2awogCiBuYW1lc3BhY2UgcHJpdgogewotCisvLyBOT1RFOiBQbGVh
c2Uga2VlcCBjb21tYW5kLXJlbGF0ZWQgZW51bXMsIHN0dWN0cywgZnVuY3Rpb25zCisvLyAgYW5k
IG90aGVyIGNvZGUgZGVhbGluZyB3aXRoIGNvbW1hbmRzIGluIGFscGhhYmV0aWNhbCBvcmRlcgor
Ly8gIFRoaXMgc2ltcGxpZmllcyBzZWFyY2hpbmcgYW5kIHVwZGF0aW5nIGNvbW1hbmRzLgogZW51
bSBjbGFzcyBDb21tYW5kSUQgOiB1aW50MTZfdAogewogICAgIC8vIEludmFsaWQgY21kIHVzZWQg
dG8gbWFyayBlbmQgb2Ygc2VxdWVuY2Ugb2YgY29tbWFuZHMKICAgICBJbnZhbGlkID0gMCwKKyAg
ICBCZWdpbkRlYnVnVXRpbHNMYWJlbCwKICAgICBCZWdpblF1ZXJ5LAorICAgIEJlZ2luVHJhbnNm
b3JtRmVlZGJhY2ssCiAgICAgQmluZENvbXB1dGVQaXBlbGluZSwKICAgICBCaW5kRGVzY3JpcHRv
clNldHMsCiAgICAgQmluZEdyYXBoaWNzUGlwZWxpbmUsCkBAIC01MCwxNyArNTMsMjAgQEAgZW51
bSBjbGFzcyBDb21tYW5kSUQgOiB1aW50MTZfdAogICAgIERyYXcsCiAgICAgRHJhd0luZGV4ZWQs
CiAgICAgRHJhd0luZGV4ZWRCYXNlVmVydGV4LAorICAgIERyYXdJbmRleGVkSW5kaXJlY3QsCiAg
ICAgRHJhd0luZGV4ZWRJbnN0YW5jZWQsCiAgICAgRHJhd0luZGV4ZWRJbnN0YW5jZWRCYXNlVmVy
dGV4LAogICAgIERyYXdJbmRleGVkSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZSwKKyAg
ICBEcmF3SW5kaXJlY3QsCiAgICAgRHJhd0luc3RhbmNlZCwKICAgICBEcmF3SW5zdGFuY2VkQmFz
ZUluc3RhbmNlLAotICAgIERyYXdJbmRpcmVjdCwKLSAgICBEcmF3SW5kZXhlZEluZGlyZWN0LAor
ICAgIEVuZERlYnVnVXRpbHNMYWJlbCwKICAgICBFbmRRdWVyeSwKKyAgICBFbmRUcmFuc2Zvcm1G
ZWVkYmFjaywKICAgICBFeGVjdXRpb25CYXJyaWVyLAogICAgIEZpbGxCdWZmZXIsCiAgICAgSW1h
Z2VCYXJyaWVyLAorICAgIEluc2VydERlYnVnVXRpbHNMYWJlbCwKICAgICBNZW1vcnlCYXJyaWVy
LAogICAgIFBpcGVsaW5lQmFycmllciwKICAgICBQdXNoQ29uc3RhbnRzLApAQCAtNzksMTEgKzg1
LDE5IEBAIGVudW0gY2xhc3MgQ29tbWFuZElEIDogdWludDE2X3QKIC8vIFRoaXMgbWFrZXMgaXQg
ZWFzeSB0byBrbm93IHRoZSBzaXplIG9mIHBhcmFtcyAmIHRvIGNvcHkgcGFyYW1zCiAvLyBUT0RP
OiBDb3VsZCBvcHRpbWl6ZSB0aGUgc2l6ZSBvZiBzb21lIG9mIHRoZXNlIHN0cnVjdHMgdGhyb3Vn
aCBiaXQtcGFja2luZwogLy8gIGFuZCBjdXN0b21pemluZyBzaXppbmcgYmFzZWQgb24gbGltaXRl
ZCBwYXJhbWV0ZXIgc2V0cyB1c2VkIGJ5IEFOR0xFCi1zdHJ1Y3QgQmluZFBpcGVsaW5lUGFyYW1z
CitzdHJ1Y3QgQmVnaW5RdWVyeVBhcmFtcwogewotICAgIFZrUGlwZWxpbmUgcGlwZWxpbmU7Cisg
ICAgVmtRdWVyeVBvb2wgcXVlcnlQb29sOworICAgIHVpbnQzMl90IHF1ZXJ5OworICAgIFZrUXVl
cnlDb250cm9sRmxhZ3MgZmxhZ3M7CiB9OwotVkVSSUZZXzRfQllURV9BTElHTk1FTlQoQmluZFBp
cGVsaW5lUGFyYW1zKQorVkVSSUZZXzRfQllURV9BTElHTk1FTlQoQmVnaW5RdWVyeVBhcmFtcykK
Kworc3RydWN0IEJlZ2luVHJhbnNmb3JtRmVlZGJhY2tQYXJhbXMKK3sKKyAgICB1aW50MzJfdCBi
dWZmZXJDb3VudDsKK307CitWRVJJRllfNF9CWVRFX0FMSUdOTUVOVChCZWdpblRyYW5zZm9ybUZl
ZWRiYWNrUGFyYW1zKQogCiBzdHJ1Y3QgQmluZERlc2NyaXB0b3JTZXRQYXJhbXMKIHsKQEAgLTEw
MywxOSArMTE3LDIwIEBAIHN0cnVjdCBCaW5kSW5kZXhCdWZmZXJQYXJhbXMKIH07CiBWRVJJRllf
NF9CWVRFX0FMSUdOTUVOVChCaW5kSW5kZXhCdWZmZXJQYXJhbXMpCiAKLXN0cnVjdCBCaW5kVHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJzUGFyYW1zCitzdHJ1Y3QgQmluZFBpcGVsaW5lUGFyYW1zCiB7
Ci0gICAgLy8gQU5HTEUgYWx3YXlzIGhhcyBmaXJzdEJpbmRpbmcgb2YgMCBzbyBub3Qgc3Rvcmlu
ZyB0aGF0IGN1cnJlbnRseQotICAgIHVpbnQzMl90IGJpbmRpbmdDb3VudDsKKyAgICBWa1BpcGVs
aW5lIHBpcGVsaW5lOwogfTsKLVZFUklGWV80X0JZVEVfQUxJR05NRU5UKEJpbmRUcmFuc2Zvcm1G
ZWVkYmFja0J1ZmZlcnNQYXJhbXMpCitWRVJJRllfNF9CWVRFX0FMSUdOTUVOVChCaW5kUGlwZWxp
bmVQYXJhbXMpCiAKLXN0cnVjdCBCaW5kVmVydGV4QnVmZmVyc1BhcmFtcworc3RydWN0IEJpbmRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNQYXJhbXMKIHsKICAgICAvLyBBTkdMRSBhbHdheXMgaGFz
IGZpcnN0QmluZGluZyBvZiAwIHNvIG5vdCBzdG9yaW5nIHRoYXQgY3VycmVudGx5CiAgICAgdWlu
dDMyX3QgYmluZGluZ0NvdW50OwogfTsKLVZFUklGWV80X0JZVEVfQUxJR05NRU5UKEJpbmRWZXJ0
ZXhCdWZmZXJzUGFyYW1zKQorVkVSSUZZXzRfQllURV9BTElHTk1FTlQoQmluZFRyYW5zZm9ybUZl
ZWRiYWNrQnVmZmVyc1BhcmFtcykKKwordXNpbmcgQmluZFZlcnRleEJ1ZmZlcnNQYXJhbXMgPSBC
aW5kVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzUGFyYW1zOwogCiBzdHJ1Y3QgQmxpdEltYWdlUGFy
YW1zCiB7CkBAIC0xMjYsNiArMTQxLDM5IEBAIHN0cnVjdCBCbGl0SW1hZ2VQYXJhbXMKIH07CiBW
RVJJRllfNF9CWVRFX0FMSUdOTUVOVChCbGl0SW1hZ2VQYXJhbXMpCiAKK3N0cnVjdCBCdWZmZXJC
YXJyaWVyUGFyYW1zCit7CisgICAgVmtQaXBlbGluZVN0YWdlRmxhZ3Mgc3JjU3RhZ2VNYXNrOwor
ICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIGRzdFN0YWdlTWFzazsKKyAgICBWa0J1ZmZlck1lbW9y
eUJhcnJpZXIgYnVmZmVyTWVtb3J5QmFycmllcjsKK307CitWRVJJRllfNF9CWVRFX0FMSUdOTUVO
VChCdWZmZXJCYXJyaWVyUGFyYW1zKQorCitzdHJ1Y3QgQ2xlYXJBdHRhY2htZW50c1BhcmFtcwor
eworICAgIHVpbnQzMl90IGF0dGFjaG1lbnRDb3VudDsKKyAgICBWa0NsZWFyUmVjdCByZWN0Owor
fTsKK1ZFUklGWV80X0JZVEVfQUxJR05NRU5UKENsZWFyQXR0YWNobWVudHNQYXJhbXMpCisKK3N0
cnVjdCBDbGVhckNvbG9ySW1hZ2VQYXJhbXMKK3sKKyAgICBWa0ltYWdlIGltYWdlOworICAgIFZr
SW1hZ2VMYXlvdXQgaW1hZ2VMYXlvdXQ7CisgICAgVmtDbGVhckNvbG9yVmFsdWUgY29sb3I7Cisg
ICAgVmtJbWFnZVN1YnJlc291cmNlUmFuZ2UgcmFuZ2U7Cit9OworVkVSSUZZXzRfQllURV9BTElH
Tk1FTlQoQ2xlYXJDb2xvckltYWdlUGFyYW1zKQorCitzdHJ1Y3QgQ2xlYXJEZXB0aFN0ZW5jaWxJ
bWFnZVBhcmFtcworeworICAgIFZrSW1hZ2UgaW1hZ2U7CisgICAgVmtJbWFnZUxheW91dCBpbWFn
ZUxheW91dDsKKyAgICBWa0NsZWFyRGVwdGhTdGVuY2lsVmFsdWUgZGVwdGhTdGVuY2lsOworICAg
IFZrSW1hZ2VTdWJyZXNvdXJjZVJhbmdlIHJhbmdlOworfTsKK1ZFUklGWV80X0JZVEVfQUxJR05N
RU5UKENsZWFyRGVwdGhTdGVuY2lsSW1hZ2VQYXJhbXMpCisKIHN0cnVjdCBDb3B5QnVmZmVyUGFy
YW1zCiB7CiAgICAgVmtCdWZmZXIgc3JjQnVmZmVyOwpAQCAtMTYyLDM5ICsyMTAsMjcgQEAgc3Ry
dWN0IENvcHlJbWFnZVRvQnVmZmVyUGFyYW1zCiB9OwogVkVSSUZZXzRfQllURV9BTElHTk1FTlQo
Q29weUltYWdlVG9CdWZmZXJQYXJhbXMpCiAKLXN0cnVjdCBDbGVhckF0dGFjaG1lbnRzUGFyYW1z
CisvLyBUaGlzIGlzIGEgY29tbW9uIHN0cnVjdCB1c2VkIGJ5IGJvdGggYmVnaW4gJiBpbnNlcnQg
RGVidWdVdGlsc0xhYmVsRVhUKCkgZnVuY3Rpb25zCitzdHJ1Y3QgRGVidWdVdGlsc0xhYmVsUGFy
YW1zCiB7Ci0gICAgdWludDMyX3QgYXR0YWNobWVudENvdW50OwotICAgIFZrQ2xlYXJSZWN0IHJl
Y3Q7Ci19OwotVkVSSUZZXzRfQllURV9BTElHTk1FTlQoQ2xlYXJBdHRhY2htZW50c1BhcmFtcykK
LQotc3RydWN0IENsZWFyQ29sb3JJbWFnZVBhcmFtcwotewotICAgIFZrSW1hZ2UgaW1hZ2U7Ci0g
ICAgVmtJbWFnZUxheW91dCBpbWFnZUxheW91dDsKLSAgICBWa0NsZWFyQ29sb3JWYWx1ZSBjb2xv
cjsKLSAgICBWa0ltYWdlU3VicmVzb3VyY2VSYW5nZSByYW5nZTsKKyAgICBmbG9hdCBjb2xvcls0
XTsKIH07Ci1WRVJJRllfNF9CWVRFX0FMSUdOTUVOVChDbGVhckNvbG9ySW1hZ2VQYXJhbXMpCitW
RVJJRllfNF9CWVRFX0FMSUdOTUVOVChEZWJ1Z1V0aWxzTGFiZWxQYXJhbXMpCiAKLXN0cnVjdCBD
bGVhckRlcHRoU3RlbmNpbEltYWdlUGFyYW1zCitzdHJ1Y3QgRGlzcGF0Y2hQYXJhbXMKIHsKLSAg
ICBWa0ltYWdlIGltYWdlOwotICAgIFZrSW1hZ2VMYXlvdXQgaW1hZ2VMYXlvdXQ7Ci0gICAgVmtD
bGVhckRlcHRoU3RlbmNpbFZhbHVlIGRlcHRoU3RlbmNpbDsKLSAgICBWa0ltYWdlU3VicmVzb3Vy
Y2VSYW5nZSByYW5nZTsKKyAgICB1aW50MzJfdCBncm91cENvdW50WDsKKyAgICB1aW50MzJfdCBn
cm91cENvdW50WTsKKyAgICB1aW50MzJfdCBncm91cENvdW50WjsKIH07Ci1WRVJJRllfNF9CWVRF
X0FMSUdOTUVOVChDbGVhckRlcHRoU3RlbmNpbEltYWdlUGFyYW1zKQorVkVSSUZZXzRfQllURV9B
TElHTk1FTlQoRGlzcGF0Y2hQYXJhbXMpCiAKLXN0cnVjdCBQdXNoQ29uc3RhbnRzUGFyYW1zCitz
dHJ1Y3QgRGlzcGF0Y2hJbmRpcmVjdFBhcmFtcwogewotICAgIFZrUGlwZWxpbmVMYXlvdXQgbGF5
b3V0OwotICAgIFZrU2hhZGVyU3RhZ2VGbGFncyBmbGFnOwotICAgIHVpbnQzMl90IG9mZnNldDsK
LSAgICB1aW50MzJfdCBzaXplOworICAgIFZrQnVmZmVyIGJ1ZmZlcjsKKyAgICBWa0RldmljZVNp
emUgb2Zmc2V0OwogfTsKLVZFUklGWV80X0JZVEVfQUxJR05NRU5UKFB1c2hDb25zdGFudHNQYXJh
bXMpCitWRVJJRllfNF9CWVRFX0FMSUdOTUVOVChEaXNwYXRjaEluZGlyZWN0UGFyYW1zKQogCiBz
dHJ1Y3QgRHJhd1BhcmFtcwogewpAQCAtMjAzLDIzICsyMzksNiBAQCBzdHJ1Y3QgRHJhd1BhcmFt
cwogfTsKIFZFUklGWV80X0JZVEVfQUxJR05NRU5UKERyYXdQYXJhbXMpCiAKLXN0cnVjdCBEcmF3
SW5zdGFuY2VkUGFyYW1zCi17Ci0gICAgdWludDMyX3QgdmVydGV4Q291bnQ7Ci0gICAgdWludDMy
X3QgaW5zdGFuY2VDb3VudDsKLSAgICB1aW50MzJfdCBmaXJzdFZlcnRleDsKLX07Ci1WRVJJRllf
NF9CWVRFX0FMSUdOTUVOVChEcmF3SW5zdGFuY2VkUGFyYW1zKQotCi1zdHJ1Y3QgRHJhd0luc3Rh
bmNlZEJhc2VJbnN0YW5jZVBhcmFtcwotewotICAgIHVpbnQzMl90IHZlcnRleENvdW50OwotICAg
IHVpbnQzMl90IGluc3RhbmNlQ291bnQ7Ci0gICAgdWludDMyX3QgZmlyc3RWZXJ0ZXg7Ci0gICAg
dWludDMyX3QgZmlyc3RJbnN0YW5jZTsKLX07Ci1WRVJJRllfNF9CWVRFX0FMSUdOTUVOVChEcmF3
SW5zdGFuY2VkQmFzZUluc3RhbmNlUGFyYW1zKQotCiBzdHJ1Y3QgRHJhd0luZGV4ZWRQYXJhbXMK
IHsKICAgICB1aW50MzJfdCBpbmRleENvdW50OwpAQCAtMjMzLDYgKzI1MiwxMyBAQCBzdHJ1Y3Qg
RHJhd0luZGV4ZWRCYXNlVmVydGV4UGFyYW1zCiB9OwogVkVSSUZZXzRfQllURV9BTElHTk1FTlQo
RHJhd0luZGV4ZWRCYXNlVmVydGV4UGFyYW1zKQogCitzdHJ1Y3QgRHJhd0luZGV4ZWRJbmRpcmVj
dFBhcmFtcworeworICAgIFZrQnVmZmVyIGJ1ZmZlcjsKKyAgICBWa0RldmljZVNpemUgb2Zmc2V0
OworfTsKK1ZFUklGWV80X0JZVEVfQUxJR05NRU5UKERyYXdJbmRleGVkSW5kaXJlY3RQYXJhbXMp
CisKIHN0cnVjdCBEcmF3SW5kZXhlZEluc3RhbmNlZFBhcmFtcwogewogICAgIHVpbnQzMl90IGlu
ZGV4Q291bnQ7CkBAIC0yNTgsMzQgKzI4NCw1MiBAQCBzdHJ1Y3QgRHJhd0luZGV4ZWRJbnN0YW5j
ZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlUGFyYW1zCiB9OwogVkVSSUZZXzRfQllURV9BTElHTk1F
TlQoRHJhd0luZGV4ZWRJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlUGFyYW1zKQogCi1z
dHJ1Y3QgRHJhd0luZGV4ZWRJbmRpcmVjdFBhcmFtcworc3RydWN0IERyYXdJbmRpcmVjdFBhcmFt
cwogewogICAgIFZrQnVmZmVyIGJ1ZmZlcjsKICAgICBWa0RldmljZVNpemUgb2Zmc2V0OwogfTsK
LVZFUklGWV80X0JZVEVfQUxJR05NRU5UKERyYXdJbmRleGVkSW5kaXJlY3RQYXJhbXMpCitWRVJJ
RllfNF9CWVRFX0FMSUdOTUVOVChEcmF3SW5kaXJlY3RQYXJhbXMpCiAKLXN0cnVjdCBEaXNwYXRj
aFBhcmFtcworc3RydWN0IERyYXdJbnN0YW5jZWRQYXJhbXMKIHsKLSAgICB1aW50MzJfdCBncm91
cENvdW50WDsKLSAgICB1aW50MzJfdCBncm91cENvdW50WTsKLSAgICB1aW50MzJfdCBncm91cENv
dW50WjsKKyAgICB1aW50MzJfdCB2ZXJ0ZXhDb3VudDsKKyAgICB1aW50MzJfdCBpbnN0YW5jZUNv
dW50OworICAgIHVpbnQzMl90IGZpcnN0VmVydGV4OwogfTsKLVZFUklGWV80X0JZVEVfQUxJR05N
RU5UKERpc3BhdGNoUGFyYW1zKQorVkVSSUZZXzRfQllURV9BTElHTk1FTlQoRHJhd0luc3RhbmNl
ZFBhcmFtcykKIAotc3RydWN0IERyYXdJbmRpcmVjdFBhcmFtcworc3RydWN0IERyYXdJbnN0YW5j
ZWRCYXNlSW5zdGFuY2VQYXJhbXMKIHsKLSAgICBWa0J1ZmZlciBidWZmZXI7Ci0gICAgVmtEZXZp
Y2VTaXplIG9mZnNldDsKKyAgICB1aW50MzJfdCB2ZXJ0ZXhDb3VudDsKKyAgICB1aW50MzJfdCBp
bnN0YW5jZUNvdW50OworICAgIHVpbnQzMl90IGZpcnN0VmVydGV4OworICAgIHVpbnQzMl90IGZp
cnN0SW5zdGFuY2U7CiB9OwotVkVSSUZZXzRfQllURV9BTElHTk1FTlQoRHJhd0luZGlyZWN0UGFy
YW1zKQorVkVSSUZZXzRfQllURV9BTElHTk1FTlQoRHJhd0luc3RhbmNlZEJhc2VJbnN0YW5jZVBh
cmFtcykKIAotc3RydWN0IERpc3BhdGNoSW5kaXJlY3RQYXJhbXMKKy8vIEEgc3BlY2lhbCBzdHJ1
Y3QgdXNlZCB3aXRoIGNvbW1hbmRzIHRoYXQgZG9uJ3QgaGF2ZSBwYXJhbXMKK3N0cnVjdCBFbXB0
eVBhcmFtcwore307CisKK3N0cnVjdCBFbmRRdWVyeVBhcmFtcwogewotICAgIFZrQnVmZmVyIGJ1
ZmZlcjsKLSAgICBWa0RldmljZVNpemUgb2Zmc2V0OworICAgIFZrUXVlcnlQb29sIHF1ZXJ5UG9v
bDsKKyAgICB1aW50MzJfdCBxdWVyeTsKIH07Ci1WRVJJRllfNF9CWVRFX0FMSUdOTUVOVChEaXNw
YXRjaEluZGlyZWN0UGFyYW1zKQorVkVSSUZZXzRfQllURV9BTElHTk1FTlQoRW5kUXVlcnlQYXJh
bXMpCisKK3N0cnVjdCBFbmRUcmFuc2Zvcm1GZWVkYmFja1BhcmFtcworeworICAgIHVpbnQzMl90
IGJ1ZmZlckNvdW50OworfTsKK1ZFUklGWV80X0JZVEVfQUxJR05NRU5UKEVuZFRyYW5zZm9ybUZl
ZWRiYWNrUGFyYW1zKQorCitzdHJ1Y3QgRXhlY3V0aW9uQmFycmllclBhcmFtcworeworICAgIFZr
UGlwZWxpbmVTdGFnZUZsYWdzIHN0YWdlTWFzazsKK307CitWRVJJRllfNF9CWVRFX0FMSUdOTUVO
VChFeGVjdXRpb25CYXJyaWVyUGFyYW1zKQogCiBzdHJ1Y3QgRmlsbEJ1ZmZlclBhcmFtcwogewpA
QCAtMjk2LDYgKzM0MCwxNCBAQCBzdHJ1Y3QgRmlsbEJ1ZmZlclBhcmFtcwogfTsKIFZFUklGWV80
X0JZVEVfQUxJR05NRU5UKEZpbGxCdWZmZXJQYXJhbXMpCiAKK3N0cnVjdCBJbWFnZUJhcnJpZXJQ
YXJhbXMKK3sKKyAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzcmNTdGFnZU1hc2s7CisgICAgVmtQ
aXBlbGluZVN0YWdlRmxhZ3MgZHN0U3RhZ2VNYXNrOworICAgIFZrSW1hZ2VNZW1vcnlCYXJyaWVy
IGltYWdlTWVtb3J5QmFycmllcjsKK307CitWRVJJRllfNF9CWVRFX0FMSUdOTUVOVChJbWFnZUJh
cnJpZXJQYXJhbXMpCisKIHN0cnVjdCBNZW1vcnlCYXJyaWVyUGFyYW1zCiB7CiAgICAgVmtQaXBl
bGluZVN0YWdlRmxhZ3Mgc3JjU3RhZ2VNYXNrOwpAQCAtMzE1LDM0ICszNjcsMTQgQEAgc3RydWN0
IFBpcGVsaW5lQmFycmllclBhcmFtcwogfTsKIFZFUklGWV80X0JZVEVfQUxJR05NRU5UKFBpcGVs
aW5lQmFycmllclBhcmFtcykKIAotc3RydWN0IEV4ZWN1dGlvbkJhcnJpZXJQYXJhbXMKLXsKLSAg
ICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzdGFnZU1hc2s7Ci19OwotVkVSSUZZXzRfQllURV9BTElH
Tk1FTlQoRXhlY3V0aW9uQmFycmllclBhcmFtcykKLQotc3RydWN0IEJ1ZmZlckJhcnJpZXJQYXJh
bXMKLXsKLSAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzcmNTdGFnZU1hc2s7Ci0gICAgVmtQaXBl
bGluZVN0YWdlRmxhZ3MgZHN0U3RhZ2VNYXNrOwotICAgIFZrQnVmZmVyTWVtb3J5QmFycmllciBi
dWZmZXJNZW1vcnlCYXJyaWVyOwotfTsKLVZFUklGWV80X0JZVEVfQUxJR05NRU5UKEJ1ZmZlckJh
cnJpZXJQYXJhbXMpCi0KLXN0cnVjdCBJbWFnZUJhcnJpZXJQYXJhbXMKLXsKLSAgICBWa1BpcGVs
aW5lU3RhZ2VGbGFncyBzcmNTdGFnZU1hc2s7Ci0gICAgVmtQaXBlbGluZVN0YWdlRmxhZ3MgZHN0
U3RhZ2VNYXNrOwotICAgIFZrSW1hZ2VNZW1vcnlCYXJyaWVyIGltYWdlTWVtb3J5QmFycmllcjsK
LX07Ci1WRVJJRllfNF9CWVRFX0FMSUdOTUVOVChJbWFnZUJhcnJpZXJQYXJhbXMpCi0KLXN0cnVj
dCBTZXRFdmVudFBhcmFtcworc3RydWN0IFB1c2hDb25zdGFudHNQYXJhbXMKIHsKLSAgICBWa0V2
ZW50IGV2ZW50OwotICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIHN0YWdlTWFzazsKKyAgICBWa1Bp
cGVsaW5lTGF5b3V0IGxheW91dDsKKyAgICBWa1NoYWRlclN0YWdlRmxhZ3MgZmxhZzsKKyAgICB1
aW50MzJfdCBvZmZzZXQ7CisgICAgdWludDMyX3Qgc2l6ZTsKIH07Ci1WRVJJRllfNF9CWVRFX0FM
SUdOTUVOVChTZXRFdmVudFBhcmFtcykKK1ZFUklGWV80X0JZVEVfQUxJR05NRU5UKFB1c2hDb25z
dGFudHNQYXJhbXMpCiAKIHN0cnVjdCBSZXNldEV2ZW50UGFyYW1zCiB7CkBAIC0zNTEsMTcgKzM4
Myw2IEBAIHN0cnVjdCBSZXNldEV2ZW50UGFyYW1zCiB9OwogVkVSSUZZXzRfQllURV9BTElHTk1F
TlQoUmVzZXRFdmVudFBhcmFtcykKIAotc3RydWN0IFdhaXRFdmVudHNQYXJhbXMKLXsKLSAgICB1
aW50MzJfdCBldmVudENvdW50OwotICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIHNyY1N0YWdlTWFz
azsKLSAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RTdGFnZU1hc2s7Ci0gICAgdWludDMyX3Qg
bWVtb3J5QmFycmllckNvdW50OwotICAgIHVpbnQzMl90IGJ1ZmZlck1lbW9yeUJhcnJpZXJDb3Vu
dDsKLSAgICB1aW50MzJfdCBpbWFnZU1lbW9yeUJhcnJpZXJDb3VudDsKLX07Ci1WRVJJRllfNF9C
WVRFX0FMSUdOTUVOVChXYWl0RXZlbnRzUGFyYW1zKQotCiBzdHJ1Y3QgUmVzZXRRdWVyeVBvb2xQ
YXJhbXMKIHsKICAgICBWa1F1ZXJ5UG9vbCBxdWVyeVBvb2w7CkBAIC0zNzgsMjAgKzM5OSwyMyBA
QCBzdHJ1Y3QgUmVzb2x2ZUltYWdlUGFyYW1zCiB9OwogVkVSSUZZXzRfQllURV9BTElHTk1FTlQo
UmVzb2x2ZUltYWdlUGFyYW1zKQogCi1zdHJ1Y3QgQmVnaW5RdWVyeVBhcmFtcworc3RydWN0IFNl
dEV2ZW50UGFyYW1zCiB7Ci0gICAgVmtRdWVyeVBvb2wgcXVlcnlQb29sOwotICAgIHVpbnQzMl90
IHF1ZXJ5OwotICAgIFZrUXVlcnlDb250cm9sRmxhZ3MgZmxhZ3M7CisgICAgVmtFdmVudCBldmVu
dDsKKyAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzdGFnZU1hc2s7CiB9OwotVkVSSUZZXzRfQllU
RV9BTElHTk1FTlQoQmVnaW5RdWVyeVBhcmFtcykKK1ZFUklGWV80X0JZVEVfQUxJR05NRU5UKFNl
dEV2ZW50UGFyYW1zKQogCi1zdHJ1Y3QgRW5kUXVlcnlQYXJhbXMKK3N0cnVjdCBXYWl0RXZlbnRz
UGFyYW1zCiB7Ci0gICAgVmtRdWVyeVBvb2wgcXVlcnlQb29sOwotICAgIHVpbnQzMl90IHF1ZXJ5
OworICAgIHVpbnQzMl90IGV2ZW50Q291bnQ7CisgICAgVmtQaXBlbGluZVN0YWdlRmxhZ3Mgc3Jj
U3RhZ2VNYXNrOworICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIGRzdFN0YWdlTWFzazsKKyAgICB1
aW50MzJfdCBtZW1vcnlCYXJyaWVyQ291bnQ7CisgICAgdWludDMyX3QgYnVmZmVyTWVtb3J5QmFy
cmllckNvdW50OworICAgIHVpbnQzMl90IGltYWdlTWVtb3J5QmFycmllckNvdW50OwogfTsKLVZF
UklGWV80X0JZVEVfQUxJR05NRU5UKEVuZFF1ZXJ5UGFyYW1zKQorVkVSSUZZXzRfQllURV9BTElH
Tk1FTlQoV2FpdEV2ZW50c1BhcmFtcykKIAogc3RydWN0IFdyaXRlVGltZXN0YW1wUGFyYW1zCiB7
CkBAIC00MDcsNyArNDMxLDYgQEAgc3RydWN0IENvbW1hbmRIZWFkZXIKICAgICBDb21tYW5kSUQg
aWQ7CiAgICAgdWludDE2X3Qgc2l6ZTsKIH07Ci0KIHN0YXRpY19hc3NlcnQoc2l6ZW9mKENvbW1h
bmRIZWFkZXIpID09IDQsICJDaGVjayBDb21tYW5kSGVhZGVyIHNpemUiKTsKIAogdGVtcGxhdGUg
PHR5cGVuYW1lIERlc3RULCB0eXBlbmFtZSBUPgpAQCAtNDM1LDggKzQ1OCwxMiBAQCBjbGFzcyBT
ZWNvbmRhcnlDb21tYW5kQnVmZmVyIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIEV4ZWN1dGVzSW5saW5lKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiAg
ICAgLy8gQWRkIGNvbW1hbmRzCisgICAgdm9pZCBiZWdpbkRlYnVnVXRpbHNMYWJlbEVYVChjb25z
dCBWa0RlYnVnVXRpbHNMYWJlbEVYVCAmbGFiZWwpOworCiAgICAgdm9pZCBiZWdpblF1ZXJ5KFZr
UXVlcnlQb29sIHF1ZXJ5UG9vbCwgdWludDMyX3QgcXVlcnksIFZrUXVlcnlDb250cm9sRmxhZ3Mg
ZmxhZ3MpOwogCisgICAgdm9pZCBiZWdpblRyYW5zZm9ybUZlZWRiYWNrKHVpbnQzMl90IGNvdW50
ZXJCdWZmZXJDb3VudCwgY29uc3QgVmtCdWZmZXIgKnBDb3VudGVyQnVmZmVycyk7CisKICAgICB2
b2lkIGJpbmRDb21wdXRlUGlwZWxpbmUoY29uc3QgUGlwZWxpbmUgJnBpcGVsaW5lKTsKIAogICAg
IHZvaWQgYmluZERlc2NyaXB0b3JTZXRzKGNvbnN0IFBpcGVsaW5lTGF5b3V0ICZsYXlvdXQsCkBA
IC01MjIsNyArNTQ5LDEwIEBAIGNsYXNzIFNlY29uZGFyeUNvbW1hbmRCdWZmZXIgZmluYWwgOiBh
bmdsZTo6Tm9uQ29weWFibGUKIAogICAgIHZvaWQgZHJhd0luZGV4ZWQodWludDMyX3QgaW5kZXhD
b3VudCk7CiAgICAgdm9pZCBkcmF3SW5kZXhlZEJhc2VWZXJ0ZXgodWludDMyX3QgaW5kZXhDb3Vu
dCwgdWludDMyX3QgdmVydGV4T2Zmc2V0KTsKLQorICAgIHZvaWQgZHJhd0luZGV4ZWRJbmRpcmVj
dChjb25zdCBCdWZmZXIgJmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtE
ZXZpY2VTaXplIG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
ZHJhd0NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdHJpZGUp
OwogICAgIHZvaWQgZHJhd0luZGV4ZWRJbnN0YW5jZWQodWludDMyX3QgaW5kZXhDb3VudCwgdWlu
dDMyX3QgaW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3SW5kZXhlZEluc3RhbmNlZEJhc2VW
ZXJ0ZXgodWludDMyX3QgaW5kZXhDb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBpbnN0YW5jZUNvdW50LApAQCAtNTMzLDIzICs1NjMsMjMgQEAg
Y2xhc3MgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMy
X3QgdmVydGV4T2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGZpcnN0SW5zdGFuY2UpOwogCisgICAgdm9pZCBkcmF3SW5k
aXJlY3QoY29uc3QgQnVmZmVyICZidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgVmtEZXZp
Y2VTaXplIG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkcmF3Q291bnQs
CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RyaWRlKTsKKwogICAgIHZvaWQgZHJh
d0luc3RhbmNlZCh1aW50MzJfdCB2ZXJ0ZXhDb3VudCwgdWludDMyX3QgaW5zdGFuY2VDb3VudCwg
dWludDMyX3QgZmlyc3RWZXJ0ZXgpOwogICAgIHZvaWQgZHJhd0luc3RhbmNlZEJhc2VJbnN0YW5j
ZSh1aW50MzJfdCB2ZXJ0ZXhDb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgaW5zdGFuY2VDb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgZmlyc3RWZXJ0ZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGZpcnN0SW5zdGFuY2UpOwogCi0gICAgdm9pZCBkcmF3SW5kaXJlY3Qo
Y29uc3QgQnVmZmVyICZidWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXpl
IG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkcmF3Q291bnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RyaWRlKTsKLSAgICB2b2lkIGRyYXdJbmRleGVk
SW5kaXJlY3QoY29uc3QgQnVmZmVyICZidWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZrRGV2aWNlU2l6ZSBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IGRyYXdDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c3RyaWRlKTsKKyAgICB2b2lkIGVuZERlYnVnVXRpbHNMYWJlbEVYVCgpOwogCiAgICAgdm9pZCBl
bmRRdWVyeShWa1F1ZXJ5UG9vbCBxdWVyeVBvb2wsIHVpbnQzMl90IHF1ZXJ5KTsKIAorICAgIHZv
aWQgZW5kVHJhbnNmb3JtRmVlZGJhY2sodWludDMyX3QgY291bnRlckJ1ZmZlckNvdW50LCBjb25z
dCBWa0J1ZmZlciAqcENvdW50ZXJCdWZmZXJzKTsKKwogICAgIHZvaWQgZXhlY3V0aW9uQmFycmll
cihWa1BpcGVsaW5lU3RhZ2VGbGFncyBzdGFnZU1hc2spOwogCiAgICAgdm9pZCBmaWxsQnVmZmVy
KGNvbnN0IEJ1ZmZlciAmZHN0QnVmZmVyLApAQCAtNTYxLDYgKzU5MSw4IEBAIGNsYXNzIFNlY29u
ZGFyeUNvbW1hbmRCdWZmZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAg
ICAgICAgICAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RTdGFnZU1hc2ssCiAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgVmtJbWFnZU1lbW9yeUJhcnJpZXIgJmltYWdlTWVtb3J5QmFycmll
cik7CiAKKyAgICB2b2lkIGluc2VydERlYnVnVXRpbHNMYWJlbEVYVChjb25zdCBWa0RlYnVnVXRp
bHNMYWJlbEVYVCAmbGFiZWwpOworCiAgICAgdm9pZCBtZW1vcnlCYXJyaWVyKFZrUGlwZWxpbmVT
dGFnZUZsYWdzIHNyY1N0YWdlTWFzaywKICAgICAgICAgICAgICAgICAgICAgICAgVmtQaXBlbGlu
ZVN0YWdlRmxhZ3MgZHN0U3RhZ2VNYXNrLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBW
a01lbW9yeUJhcnJpZXIgKm1lbW9yeUJhcnJpZXIpOwpAQCAtNTgzLDYgKzYxNSw5IEBAIGNsYXNz
IFNlY29uZGFyeUNvbW1hbmRCdWZmZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAg
IHZvaWQgcmVzZXRFdmVudChWa0V2ZW50IGV2ZW50LCBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzdGFn
ZU1hc2spOwogCisgICAgLy8gU3RvcmUgdXAgcmVzZXRRdWVyeVBvb2wgY29tbWFuZCBhbmQgcHJl
cGVuZCB0byBjb21tYW5kcyB3aGVuIGV4ZWN1dGluZworICAgIHZvaWQgcXVldWVSZXNldFF1ZXJ5
UG9vbChWa1F1ZXJ5UG9vbCBxdWVyeVBvb2wsIHVpbnQzMl90IGZpcnN0UXVlcnksIHVpbnQzMl90
IHF1ZXJ5Q291bnQpOworCiAgICAgdm9pZCByZXNldFF1ZXJ5UG9vbChWa1F1ZXJ5UG9vbCBxdWVy
eVBvb2wsIHVpbnQzMl90IGZpcnN0UXVlcnksIHVpbnQzMl90IHF1ZXJ5Q291bnQpOwogCiAgICAg
dm9pZCByZXNvbHZlSW1hZ2UoY29uc3QgSW1hZ2UgJnNyY0ltYWdlLApAQCAtNjA4LDExICs2NDMs
MTUgQEAgY2xhc3MgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5
YWJsZQogICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAoVmtQaXBlbGluZVN0YWdlRmxhZ0JpdHMgcGlw
ZWxpbmVTdGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgIFZrUXVlcnlQb29sIHF1ZXJ5UG9v
bCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHF1ZXJ5KTsKKwogICAgIC8vIE5v
LW9wIGZvciBjb21wYXRpYmlsaXR5CiAgICAgVmtSZXN1bHQgZW5kKCkgeyByZXR1cm4gVktfU1VD
Q0VTUzsgfQogCiAgICAgLy8gUGFyc2UgdGhlIGNtZHMgaW4gdGhpcyBjbWQgYnVmZmVyIGludG8g
Z2l2ZW4gcHJpbWFyeSBjbWQgYnVmZmVyIGZvciBleGVjdXRpb24KICAgICB2b2lkIGV4ZWN1dGVD
b21tYW5kcyhWa0NvbW1hbmRCdWZmZXIgY21kQnVmZmVyKTsKKyAgICAvLyBJZiByZXNldFF1ZXJ5
UG9vbENvbW1hbmRzIGFyZSBxdWV1ZWQsIGNhbGwgdGhpcyB0byBleGVjdXRlIHRoZW0gYWxsCisg
ICAgLy8gIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIGEgY21kQnVmZmVyIHdpdGhvdXQg
YW4gYWN0aXZlIHJlbmRlclBhc3MKKyAgICB2b2lkIGV4ZWN1dGVRdWV1ZWRSZXNldFF1ZXJ5UG9v
bENvbW1hbmRzKFZrQ29tbWFuZEJ1ZmZlciBjbWRCdWZmZXIpOwogCiAgICAgLy8gQ2FsY3VsYXRl
IG1lbW9yeSB1c2FnZSBvZiB0aGlzIGNvbW1hbmQgYnVmZmVyIGZvciBkaWFnbm9zdGljcy4KICAg
ICB2b2lkIGdldE1lbW9yeVVzYWdlU3RhdHMoc2l6ZV90ICp1c2VkTWVtb3J5T3V0LCBzaXplX3Qg
KmFsbG9jYXRlZE1lbW9yeU91dCkgY29uc3Q7CkBAIC02NDAsNiArNjc5LDcgQEAgY2xhc3MgU2Vj
b25kYXJ5Q29tbWFuZEJ1ZmZlciBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHsKICAg
ICAgICAgbUNvbW1hbmRzLmNsZWFyKCk7CiAgICAgICAgIGluaXRpYWxpemUobUFsbG9jYXRvcik7
CisgICAgICAgIG1SZXNldFF1ZXJ5UXVldWUuY2xlYXIoKTsKICAgICB9CiAKICAgICAvLyBUaGlz
IHdpbGwgY2F1c2UgdGhlIFNlY29uZGFyeUNvbW1hbmRCdWZmZXIgdG8gYmVjb21lIGludmFsaWQg
YnkgY2xlYXJpbmcgaXRzIGFsbG9jYXRvcgpAQCAtNjUxLDYgKzY5MSw3IEBAIGNsYXNzIFNlY29u
ZGFyeUNvbW1hbmRCdWZmZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBib29sIGVt
cHR5KCkgY29uc3QgeyByZXR1cm4gbUNvbW1hbmRzLnNpemUoKSA9PSAwIHx8IG1Db21tYW5kc1sw
XS0+aWQgPT0gQ29tbWFuZElEOjpJbnZhbGlkOyB9CiAKICAgcHJpdmF0ZToKKyAgICB2b2lkIGNv
bW1vbkRlYnVnVXRpbHNMYWJlbChDb21tYW5kSUQgY21kLCBjb25zdCBWa0RlYnVnVXRpbHNMYWJl
bEVYVCAmbGFiZWwpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBTdHJ1Y3RUeXBlPgogICAgIEFOR0xF
X0lOTElORSBTdHJ1Y3RUeXBlICpjb21tb25Jbml0KENvbW1hbmRJRCBjbWRJRCwgc2l6ZV90IGFs
bG9jYXRpb25TaXplKQogICAgIHsKQEAgLTY2NiwxMSArNzA3LDExIEBAIGNsYXNzIFNlY29uZGFy
eUNvbW1hbmRCdWZmZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgcmVpbnRl
cnByZXRfY2FzdDxDb21tYW5kSGVhZGVyICo+KG1DdXJyZW50V3JpdGVQb2ludGVyKS0+aWQgPSBD
b21tYW5kSUQ6OkludmFsaWQ7CiAgICAgICAgIHJldHVybiBPZmZzZXQ8U3RydWN0VHlwZT4oaGVh
ZGVyLCBzaXplb2YoQ29tbWFuZEhlYWRlcikpOwogICAgIH0KLSAgICBBTkdMRV9JTkxJTkUgdm9p
ZCBhbGxvY2F0ZU5ld0Jsb2NrKCkKKyAgICBBTkdMRV9JTkxJTkUgdm9pZCBhbGxvY2F0ZU5ld0Js
b2NrKHNpemVfdCBibG9ja1NpemUgPSBrQmxvY2tTaXplKQogICAgIHsKICAgICAgICAgQVNTRVJU
KG1BbGxvY2F0b3IpOwotICAgICAgICBtQ3VycmVudFdyaXRlUG9pbnRlciAgID0gbUFsbG9jYXRv
ci0+ZmFzdEFsbG9jYXRlKGtCbG9ja1NpemUpOwotICAgICAgICBtQ3VycmVudEJ5dGVzUmVtYWlu
aW5nID0ga0Jsb2NrU2l6ZTsKKyAgICAgICAgbUN1cnJlbnRXcml0ZVBvaW50ZXIgICA9IG1BbGxv
Y2F0b3ItPmZhc3RBbGxvY2F0ZShibG9ja1NpemUpOworICAgICAgICBtQ3VycmVudEJ5dGVzUmVt
YWluaW5nID0gYmxvY2tTaXplOwogICAgICAgICBtQ29tbWFuZHMucHVzaF9iYWNrKHJlaW50ZXJw
cmV0X2Nhc3Q8Q29tbWFuZEhlYWRlciAqPihtQ3VycmVudFdyaXRlUG9pbnRlcikpOwogICAgIH0K
IApAQCAtNjg1LDkgKzcyNiwxOSBAQCBjbGFzcyBTZWNvbmRhcnlDb21tYW5kQnVmZmVyIGZpbmFs
IDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgIGNvbnN0ZXhwciBzaXplX3QgZml4ZWRBbGxv
Y2F0aW9uU2l6ZSA9IHNpemVvZihTdHJ1Y3RUeXBlKSArIHNpemVvZihDb21tYW5kSGVhZGVyKTsK
ICAgICAgICAgY29uc3Qgc2l6ZV90IGFsbG9jYXRpb25TaXplICAgICAgICAgID0gZml4ZWRBbGxv
Y2F0aW9uU2l6ZSArIHZhcmlhYmxlU2l6ZTsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUg
ZW5vdWdoIHJvb20gdG8gbWFyayBmb2xsb3ctb24gaGVhZGVyICJJbnZhbGlkIgotICAgICAgICBp
ZiAobUN1cnJlbnRCeXRlc1JlbWFpbmluZyA8PSAoYWxsb2NhdGlvblNpemUgKyBzaXplb2YoQ29t
bWFuZEhlYWRlcikpKQorICAgICAgICBjb25zdCBzaXplX3QgcmVxdWlyZWRTaXplID0gYWxsb2Nh
dGlvblNpemUgKyBzaXplb2YoQ29tbWFuZEhlYWRlcik7CisgICAgICAgIGlmIChtQ3VycmVudEJ5
dGVzUmVtYWluaW5nIDwgcmVxdWlyZWRTaXplKQogICAgICAgICB7Ci0gICAgICAgICAgICBhbGxv
Y2F0ZU5ld0Jsb2NrKCk7CisgICAgICAgICAgICAvLyB2YXJpYWJsZSBzaXplIGNvbW1hbmQgY2Fu
IHBvdGVudGlhbGx5IGV4Y2VlZCBkZWZhdWx0IGNtZCBhbGxvY2F0aW9uIGJsb2NrU2l6ZQorICAg
ICAgICAgICAgaWYgKHJlcXVpcmVkU2l6ZSA8PSBrQmxvY2tTaXplKQorICAgICAgICAgICAgICAg
IGFsbG9jYXRlTmV3QmxvY2soKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgYWxsb2NhdGlvbiBpcyA0LWJ5dGUgYWxpZ25lZAor
ICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBhbGlnbmVkU2l6ZSA9IHJvdW5kVXA8c2l6ZV90
PihyZXF1aXJlZFNpemUsIDQpOworICAgICAgICAgICAgICAgIEFTU0VSVCgoYWxpZ25lZFNpemUg
JSA0KSA9PSAwKTsKKyAgICAgICAgICAgICAgICBhbGxvY2F0ZU5ld0Jsb2NrKGFsaWduZWRTaXpl
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAqdmFyaWFibGVEYXRhUHRyID0g
T2Zmc2V0PHVpbnQ4X3Q+KG1DdXJyZW50V3JpdGVQb2ludGVyLCBmaXhlZEFsbG9jYXRpb25TaXpl
KTsKICAgICAgICAgcmV0dXJuIGNvbW1vbkluaXQ8U3RydWN0VHlwZT4oY21kSUQsIGFsbG9jYXRp
b25TaXplKTsKQEAgLTY5NywxMCArNzQ4LDEzIEBAIGNsYXNzIFNlY29uZGFyeUNvbW1hbmRCdWZm
ZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgU3RydWN0
VHlwZT4KICAgICBBTkdMRV9JTkxJTkUgU3RydWN0VHlwZSAqaW5pdENvbW1hbmQoQ29tbWFuZElE
IGNtZElEKQogICAgIHsKLSAgICAgICAgY29uc3RleHByIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9
IHNpemVvZihTdHJ1Y3RUeXBlKSArIHNpemVvZihDb21tYW5kSGVhZGVyKTsKKyAgICAgICAgY29u
c3RleHByIHNpemVfdCBwYXJhbVNpemUgPQorICAgICAgICAgICAgc3RkOjppc19zYW1lPFN0cnVj
dFR5cGUsIEVtcHR5UGFyYW1zPjo6dmFsdWUgPyAwIDogc2l6ZW9mKFN0cnVjdFR5cGUpOworICAg
ICAgICBjb25zdGV4cHIgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gcGFyYW1TaXplICsgc2l6ZW9m
KENvbW1hbmRIZWFkZXIpOwogICAgICAgICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcm9v
bSB0byBtYXJrIGZvbGxvdy1vbiBoZWFkZXIgIkludmFsaWQiCi0gICAgICAgIGlmIChtQ3VycmVu
dEJ5dGVzUmVtYWluaW5nIDw9IChhbGxvY2F0aW9uU2l6ZSArIHNpemVvZihDb21tYW5kSGVhZGVy
KSkpCisgICAgICAgIGlmIChtQ3VycmVudEJ5dGVzUmVtYWluaW5nIDwgKGFsbG9jYXRpb25TaXpl
ICsgc2l6ZW9mKENvbW1hbmRIZWFkZXIpKSkKICAgICAgICAgeworICAgICAgICAgICAgQVNTRVJU
KChhbGxvY2F0aW9uU2l6ZSArIHNpemVvZihDb21tYW5kSGVhZGVyKSkgPCBrQmxvY2tTaXplKTsK
ICAgICAgICAgICAgIGFsbG9jYXRlTmV3QmxvY2soKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gY29tbW9uSW5pdDxTdHJ1Y3RUeXBlPihjbWRJRCwgYWxsb2NhdGlvblNpemUpOwpAQCAtNzMw
LDYgKzc4NCw5IEBAIGNsYXNzIFNlY29uZGFyeUNvbW1hbmRCdWZmZXIgZmluYWwgOiBhbmdsZTo6
Tm9uQ29weWFibGUKIAogICAgIHVpbnQ4X3QgKm1DdXJyZW50V3JpdGVQb2ludGVyOwogICAgIHNp
emVfdCBtQ3VycmVudEJ5dGVzUmVtYWluaW5nOworICAgIC8vIHJlc2V0UXVlcnlQb29sIGNvbW1h
bmQgbXVzdCBiZSBleGVjdXRlZCBvdXRzaWRlIFJQIHNvIHdlIHF1ZXVlIHRoZW0gdXAgZm9yCisg
ICAgLy8gIGFuIGluc2lkZSBSZW5kZXJQYXNzIGNvbW1hbmQgYnVmZmVyIGFuZCBwcmUtcHJlbmQg
dGhlbSB0byB0aGUgY29tbWFuZHMKKyAgICBzdGQ6OnZlY3RvcjxSZXNldFF1ZXJ5UG9vbFBhcmFt
cz4gbVJlc2V0UXVlcnlRdWV1ZTsKIH07CiAKIEFOR0xFX0lOTElORSBTZWNvbmRhcnlDb21tYW5k
QnVmZmVyOjpTZWNvbmRhcnlDb21tYW5kQnVmZmVyKCkKQEAgLTczNyw2ICs3OTQsMjcgQEAgQU5H
TEVfSU5MSU5FIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OlNlY29uZGFyeUNvbW1hbmRCdWZmZXIo
KQoge30KIEFOR0xFX0lOTElORSBTZWNvbmRhcnlDb21tYW5kQnVmZmVyOjp+U2Vjb25kYXJ5Q29t
bWFuZEJ1ZmZlcigpIHt9CiAKKy8vIGJlZ2luIGFuZCBpbnNlcnQgRGVidWdVdGlsc0xhYmVsRVhU
IGZ1bmNzIHNoYXJlIHRoaXMgc2FtZSBmdW5jdGlvbiBib2R5CitBTkdMRV9JTkxJTkUgdm9pZCBT
ZWNvbmRhcnlDb21tYW5kQnVmZmVyOjpjb21tb25EZWJ1Z1V0aWxzTGFiZWwoQ29tbWFuZElEIGNt
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBWa0RlYnVnVXRpbHNMYWJlbEVYVCAmbGFiZWwpCit7CisgICAgdWlu
dDhfdCAqd3JpdGVQdHI7CisgICAgY29uc3Qgc2l6ZV90IHN0cmluZ1NpemUgICAgICAgID0gc3Ry
bGVuKGxhYmVsLnBMYWJlbE5hbWUpICsgMTsKKyAgICBjb25zdCBzaXplX3QgYWxpZ25lZFN0cmlu
Z1NpemUgPSByb3VuZFVwPHNpemVfdD4oc3RyaW5nU2l6ZSwgNCk7CisgICAgRGVidWdVdGlsc0xh
YmVsUGFyYW1zICpwYXJhbVN0cnVjdCA9CisgICAgICAgIGluaXRDb21tYW5kPERlYnVnVXRpbHNM
YWJlbFBhcmFtcz4oY21kLCBhbGlnbmVkU3RyaW5nU2l6ZSwgJndyaXRlUHRyKTsKKyAgICBwYXJh
bVN0cnVjdC0+Y29sb3JbMF0gPSBsYWJlbC5jb2xvclswXTsKKyAgICBwYXJhbVN0cnVjdC0+Y29s
b3JbMV0gPSBsYWJlbC5jb2xvclsxXTsKKyAgICBwYXJhbVN0cnVjdC0+Y29sb3JbMl0gPSBsYWJl
bC5jb2xvclsyXTsKKyAgICBwYXJhbVN0cnVjdC0+Y29sb3JbM10gPSBsYWJlbC5jb2xvclszXTsK
KyAgICBzdG9yZVBvaW50ZXJQYXJhbWV0ZXIod3JpdGVQdHIsIGxhYmVsLnBMYWJlbE5hbWUsIGFs
aWduZWRTdHJpbmdTaXplKTsKK30KKworQU5HTEVfSU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFu
ZEJ1ZmZlcjo6YmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQoY29uc3QgVmtEZWJ1Z1V0aWxzTGFiZWxF
WFQgJmxhYmVsKQoreworICAgIGNvbW1vbkRlYnVnVXRpbHNMYWJlbChDb21tYW5kSUQ6OkJlZ2lu
RGVidWdVdGlsc0xhYmVsLCBsYWJlbCk7Cit9CisKIEFOR0xFX0lOTElORSB2b2lkIFNlY29uZGFy
eUNvbW1hbmRCdWZmZXI6OmJlZ2luUXVlcnkoVmtRdWVyeVBvb2wgcXVlcnlQb29sLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBx
dWVyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVmtRdWVyeUNvbnRyb2xGbGFncyBmbGFncykKQEAgLTc0Nyw2ICs4MjUsMTcgQEAgQU5HTEVf
SU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6YmVnaW5RdWVyeShWa1F1ZXJ5UG9v
bCBxdWVyeVBvb2wsCiAgICAgcGFyYW1TdHJ1Y3QtPmZsYWdzICAgICAgICAgICAgPSBmbGFnczsK
IH0KIAorQU5HTEVfSU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6YmVnaW5UcmFu
c2Zvcm1GZWVkYmFjayh1aW50MzJfdCBidWZmZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtCdWZm
ZXIgKmNvdW50ZXJCdWZmZXJzKQoreworICAgIHVpbnQ4X3QgKndyaXRlUHRyOworICAgIHNpemVf
dCBidWZmZXJTaXplICAgICAgICAgICAgICAgICAgICAgICAgID0gYnVmZmVyQ291bnQgKiBzaXpl
b2YoVmtCdWZmZXIpOworICAgIEJlZ2luVHJhbnNmb3JtRmVlZGJhY2tQYXJhbXMgKnBhcmFtU3Ry
dWN0ID0gaW5pdENvbW1hbmQ8QmVnaW5UcmFuc2Zvcm1GZWVkYmFja1BhcmFtcz4oCisgICAgICAg
IENvbW1hbmRJRDo6QmVnaW5UcmFuc2Zvcm1GZWVkYmFjaywgYnVmZmVyU2l6ZSwgJndyaXRlUHRy
KTsKKyAgICBwYXJhbVN0cnVjdC0+YnVmZmVyQ291bnQgPSBidWZmZXJDb3VudDsKKyAgICBzdG9y
ZVBvaW50ZXJQYXJhbWV0ZXIod3JpdGVQdHIsIGNvdW50ZXJCdWZmZXJzLCBidWZmZXJTaXplKTsK
K30KKwogQU5HTEVfSU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6YmluZENvbXB1
dGVQaXBlbGluZShjb25zdCBQaXBlbGluZSAmcGlwZWxpbmUpCiB7CiAgICAgQmluZFBpcGVsaW5l
UGFyYW1zICpwYXJhbVN0cnVjdCA9CkBAIC0xMDEzLDYgKzExMDIsMTggQEAgQU5HTEVfSU5MSU5F
IHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6ZHJhd0luZGV4ZWRCYXNlVmVydGV4KHVpbnQz
Ml90IGluZGV4Q28KICAgICBwYXJhbVN0cnVjdC0+dmVydGV4T2Zmc2V0ID0gdmVydGV4T2Zmc2V0
OwogfQogCitBTkdMRV9JTkxJTkUgdm9pZCBTZWNvbmRhcnlDb21tYW5kQnVmZmVyOjpkcmF3SW5k
ZXhlZEluZGlyZWN0KGNvbnN0IEJ1ZmZlciAmYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgb2Zm
c2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBkcmF3Q291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0cmlkZSkKK3sK
KyAgICBEcmF3SW5kZXhlZEluZGlyZWN0UGFyYW1zICpwYXJhbVN0cnVjdCA9CisgICAgICAgIGlu
aXRDb21tYW5kPERyYXdJbmRleGVkSW5kaXJlY3RQYXJhbXM+KENvbW1hbmRJRDo6RHJhd0luZGV4
ZWRJbmRpcmVjdCk7CisgICAgcGFyYW1TdHJ1Y3QtPmJ1ZmZlciA9IGJ1ZmZlci5nZXRIYW5kbGUo
KTsKKyAgICBwYXJhbVN0cnVjdC0+b2Zmc2V0ID0gb2Zmc2V0OworICAgIEFTU0VSVChkcmF3Q291
bnQgPT0gMSk7Cit9CisKIEFOR0xFX0lOTElORSB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6
OmRyYXdJbmRleGVkSW5zdGFuY2VkKHVpbnQzMl90IGluZGV4Q291bnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBpbnN0YW5jZUNvdW50KQogewpAQCAtMTA1MSw2ICsxMTUyLDIwIEBAIEFOR0xFX0lOTElORSB2
b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmRyYXdJbmRleGVkSW5zdGFuY2VkQmFzZVZlcnRl
eEJhc2VJbnN0CiAgICAgcGFyYW1TdHJ1Y3QtPmZpcnN0SW5zdGFuY2UgPSBmaXJzdEluc3RhbmNl
OwogfQogCitBTkdMRV9JTkxJTkUgdm9pZCBTZWNvbmRhcnlDb21tYW5kQnVmZmVyOjpkcmF3SW5k
aXJlY3QoY29uc3QgQnVmZmVyICZidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXplIG9mZnNldCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk
cmF3Q291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc3RyaWRlKQoreworICAgIERyYXdJbmRpcmVjdFBhcmFtcyAqcGFy
YW1TdHJ1Y3QgPSBpbml0Q29tbWFuZDxEcmF3SW5kaXJlY3RQYXJhbXM+KENvbW1hbmRJRDo6RHJh
d0luZGlyZWN0KTsKKyAgICBwYXJhbVN0cnVjdC0+YnVmZmVyICAgICAgICAgICAgID0gYnVmZmVy
LmdldEhhbmRsZSgpOworICAgIHBhcmFtU3RydWN0LT5vZmZzZXQgICAgICAgICAgICAgPSBvZmZz
ZXQ7CisKKyAgICAvLyBPcGVuR0wgRVMgZG9lc24ndCBoYXZlIGEgd2F5IHRvIHNwZWNpZnkgYSBk
cmF3Q291bnQgb3Igc3RyaWRlLCB0aHJvdyBhc3NlcnQgaWYgc29tZXRoaW5nCisgICAgLy8gY2hh
bmdlcy4KKyAgICBBU1NFUlQoZHJhd0NvdW50ID09IDEpOworfQorCiBBTkdMRV9JTkxJTkUgdm9p
ZCBTZWNvbmRhcnlDb21tYW5kQnVmZmVyOjpkcmF3SW5zdGFuY2VkKHVpbnQzMl90IHZlcnRleENv
dW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBpbnN0YW5jZUNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmaXJzdFZlcnRleCkKQEAgLTEw
NzQsMzAgKzExODksOSBAQCBBTkdMRV9JTkxJTkUgdm9pZCBTZWNvbmRhcnlDb21tYW5kQnVmZmVy
OjpkcmF3SW5zdGFuY2VkQmFzZUluc3RhbmNlKHVpbnQzMl90IHZlcgogICAgIHBhcmFtU3RydWN0
LT5maXJzdEluc3RhbmNlID0gZmlyc3RJbnN0YW5jZTsKIH0KIAotQU5HTEVfSU5MSU5FIHZvaWQg
U2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6ZHJhd0luZGlyZWN0KGNvbnN0IEJ1ZmZlciAmYnVmZmVy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZrRGV2aWNlU2l6ZSBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZHJhd0NvdW50LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0cmlkZSkK
K0FOR0xFX0lOTElORSB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmVuZERlYnVnVXRpbHNM
YWJlbEVYVCgpCiB7Ci0gICAgRHJhd0luZGlyZWN0UGFyYW1zICpwYXJhbVN0cnVjdCA9IGluaXRD
b21tYW5kPERyYXdJbmRpcmVjdFBhcmFtcz4oQ29tbWFuZElEOjpEcmF3SW5kaXJlY3QpOwotICAg
IHBhcmFtU3RydWN0LT5idWZmZXIgICAgICAgICAgICAgPSBidWZmZXIuZ2V0SGFuZGxlKCk7Ci0g
ICAgcGFyYW1TdHJ1Y3QtPm9mZnNldCAgICAgICAgICAgICA9IG9mZnNldDsKLQotICAgIC8vIE9w
ZW5HTCBFUyBkb2Vzbid0IGhhdmUgYSB3YXkgdG8gc3BlY2lmeSBhIGRyYXdDb3VudCBvciBzdHJp
ZGUsIHRocm93IGFzc2VydCBpZiBzb21ldGhpbmcKLSAgICAvLyBjaGFuZ2VzLgotICAgIEFTU0VS
VChkcmF3Q291bnQgPT0gMSk7Ci19Ci0KLUFOR0xFX0lOTElORSB2b2lkIFNlY29uZGFyeUNvbW1h
bmRCdWZmZXI6OmRyYXdJbmRleGVkSW5kaXJlY3QoY29uc3QgQnVmZmVyICZidWZmZXIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZrRGV2aWNlU2l6ZSBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRyYXdDb3VudCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc3RyaWRlKQotewotICAgIERyYXdJbmRleGVkSW5kaXJlY3RQYXJhbXMgKnBhcmFtU3Ry
dWN0ID0KLSAgICAgICAgaW5pdENvbW1hbmQ8RHJhd0luZGV4ZWRJbmRpcmVjdFBhcmFtcz4oQ29t
bWFuZElEOjpEcmF3SW5kZXhlZEluZGlyZWN0KTsKLSAgICBwYXJhbVN0cnVjdC0+YnVmZmVyID0g
YnVmZmVyLmdldEhhbmRsZSgpOwotICAgIHBhcmFtU3RydWN0LT5vZmZzZXQgPSBvZmZzZXQ7Ci0g
ICAgQVNTRVJUKGRyYXdDb3VudCA9PSAxKTsKKyAgICBpbml0Q29tbWFuZDxFbXB0eVBhcmFtcz4o
Q29tbWFuZElEOjpFbmREZWJ1Z1V0aWxzTGFiZWwpOwogfQogCiBBTkdMRV9JTkxJTkUgdm9pZCBT
ZWNvbmRhcnlDb21tYW5kQnVmZmVyOjplbmRRdWVyeShWa1F1ZXJ5UG9vbCBxdWVyeVBvb2wsIHVp
bnQzMl90IHF1ZXJ5KQpAQCAtMTEwNyw2ICsxMjAxLDE3IEBAIEFOR0xFX0lOTElORSB2b2lkIFNl
Y29uZGFyeUNvbW1hbmRCdWZmZXI6OmVuZFF1ZXJ5KFZrUXVlcnlQb29sIHF1ZXJ5UG9vbCwgdWlu
dDMyCiAgICAgcGFyYW1TdHJ1Y3QtPnF1ZXJ5ICAgICAgICAgID0gcXVlcnk7CiB9CiAKK0FOR0xF
X0lOTElORSB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmVuZFRyYW5zZm9ybUZlZWRiYWNr
KHVpbnQzMl90IGJ1ZmZlckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtCdWZmZXIgKmNvdW50ZXJCdWZm
ZXJzKQoreworICAgIHVpbnQ4X3QgKndyaXRlUHRyOworICAgIHNpemVfdCBidWZmZXJTaXplICAg
ICAgICAgICAgICAgICAgICAgICA9IGJ1ZmZlckNvdW50ICogc2l6ZW9mKFZrQnVmZmVyKTsKKyAg
ICBFbmRUcmFuc2Zvcm1GZWVkYmFja1BhcmFtcyAqcGFyYW1TdHJ1Y3QgPSBpbml0Q29tbWFuZDxF
bmRUcmFuc2Zvcm1GZWVkYmFja1BhcmFtcz4oCisgICAgICAgIENvbW1hbmRJRDo6RW5kVHJhbnNm
b3JtRmVlZGJhY2ssIGJ1ZmZlclNpemUsICZ3cml0ZVB0cik7CisgICAgcGFyYW1TdHJ1Y3QtPmJ1
ZmZlckNvdW50ID0gYnVmZmVyQ291bnQ7CisgICAgc3RvcmVQb2ludGVyUGFyYW1ldGVyKHdyaXRl
UHRyLCBjb3VudGVyQnVmZmVycywgYnVmZmVyU2l6ZSk7Cit9CisKIEFOR0xFX0lOTElORSB2b2lk
IFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OmV4ZWN1dGlvbkJhcnJpZXIoVmtQaXBlbGluZVN0YWdl
RmxhZ3Mgc3RhZ2VNYXNrKQogewogICAgIEV4ZWN1dGlvbkJhcnJpZXJQYXJhbXMgKnBhcmFtU3Ry
dWN0ID0KQEAgLTExMzgsNiArMTI0MywxMiBAQCBBTkdMRV9JTkxJTkUgdm9pZCBTZWNvbmRhcnlD
b21tYW5kQnVmZmVyOjppbWFnZUJhcnJpZXIoCiAgICAgcGFyYW1TdHJ1Y3QtPmltYWdlTWVtb3J5
QmFycmllciA9IGltYWdlTWVtb3J5QmFycmllcjsKIH0KIAorQU5HTEVfSU5MSU5FIHZvaWQgU2Vj
b25kYXJ5Q29tbWFuZEJ1ZmZlcjo6aW5zZXJ0RGVidWdVdGlsc0xhYmVsRVhUKAorICAgIGNvbnN0
IFZrRGVidWdVdGlsc0xhYmVsRVhUICZsYWJlbCkKK3sKKyAgICBjb21tb25EZWJ1Z1V0aWxzTGFi
ZWwoQ29tbWFuZElEOjpJbnNlcnREZWJ1Z1V0aWxzTGFiZWwsIGxhYmVsKTsKK30KKwogQU5HTEVf
SU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1ZmZlcjo6bWVtb3J5QmFycmllcihWa1BpcGVs
aW5lU3RhZ2VGbGFncyBzcmNTdGFnZU1hc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIGRzdFN0YWdl
TWFzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVmtNZW1vcnlCYXJyaWVyICptZW1vcnlCYXJyaWVyKQpAQCAtMTIwMiw2ICsx
MzEzLDEzIEBAIEFOR0xFX0lOTElORSB2b2lkIFNlY29uZGFyeUNvbW1hbmRCdWZmZXI6OnJlc2V0
RXZlbnQoVmtFdmVudCBldmVudCwgVmtQaXBlbGluZVN0CiAgICAgcGFyYW1TdHJ1Y3QtPnN0YWdl
TWFzayAgICAgICAgPSBzdGFnZU1hc2s7CiB9CiAKK0FOR0xFX0lOTElORSB2b2lkIFNlY29uZGFy
eUNvbW1hbmRCdWZmZXI6OnF1ZXVlUmVzZXRRdWVyeVBvb2woVmtRdWVyeVBvb2wgcXVlcnlQb29s
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBmaXJzdFF1ZXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBxdWVyeUNvdW50KQor
eworICAgIG1SZXNldFF1ZXJ5UXVldWUucHVzaF9iYWNrKHtxdWVyeVBvb2wsIGZpcnN0UXVlcnks
IHF1ZXJ5Q291bnR9KTsKK30KKwogQU5HTEVfSU5MSU5FIHZvaWQgU2Vjb25kYXJ5Q29tbWFuZEJ1
ZmZlcjo6cmVzZXRRdWVyeVBvb2woVmtRdWVyeVBvb2wgcXVlcnlQb29sLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmly
c3RRdWVyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHF1ZXJ5Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1NlbWFwaG9yZVZrLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2Vt
YXBob3JlVmsuY3BwCmluZGV4IDAxNTBmZmU3YjBmZjhjNzkzZDc4MzlkNTgwZjg1MzJhNmM1ZDVl
ZWUuLjlhNjlmMzM1MjE2MWRiMzYwMDQzZmNhMWNkODM1YjUzMzU3MThkMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2Vt
YXBob3JlVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vU2VtYXBob3JlVmsuY3BwCkBAIC0xMjEsNyArMTIxLDggQEAgYW5nbGU6
OlJlc3VsdCBTZW1hcGhvcmVWazo6d2FpdChnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAg
ICAgIEFOR0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVy
KCZjb21tYW5kQnVmZmVyKSk7CiAKICAgICAgICAgICAgIC8vIFF1ZXVlIG93bmVyc2hpcCB0cmFu
c2Zlci4KLSAgICAgICAgICAgIGJ1ZmZlckhlbHBlci5jaGFuZ2VRdWV1ZShyZW5kZXJlclF1ZXVl
RmFtaWx5SW5kZXgsIGNvbW1hbmRCdWZmZXIpOworICAgICAgICAgICAgYnVmZmVySGVscGVyLmFj
cXVpcmVGcm9tRXh0ZXJuYWwoY29udGV4dFZrLCBWS19RVUVVRV9GQU1JTFlfRVhURVJOQUwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlclF1ZXVl
RmFtaWx5SW5kZXgsIGNvbW1hbmRCdWZmZXIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMzYs
MTUgKzEzNywxNSBAQCBhbmdsZTo6UmVzdWx0IFNlbWFwaG9yZVZrOjp3YWl0KGdsOjpDb250ZXh0
ICpjb250ZXh0LAogICAgICAgICAgICAgdms6OkltYWdlSGVscGVyICZpbWFnZSA9IHRleHR1cmVW
ay0+Z2V0SW1hZ2UoKTsKICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dCBsYXlvdXQgPSBHZXRW
dWxrYW5JbWFnZUxheW91dCh0ZXh0dXJlQW5kTGF5b3V0LmxheW91dCk7CiAKLSAgICAgICAgICAg
IC8vIEluZm9ybSB0aGUgaW1hZ2UgdGhhdCB0aGUgbGF5b3V0IGhhcyBiZWVuIGV4dGVybmFsbHkg
Y2hhbmdlZC4KLSAgICAgICAgICAgIGltYWdlLm9uRXh0ZXJuYWxMYXlvdXRDaGFuZ2UobGF5b3V0
KTsKLQogICAgICAgICAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXI7CiAgICAg
ICAgICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1
ZmZlcigmY29tbWFuZEJ1ZmZlcikpOwogCi0gICAgICAgICAgICAvLyBRdWV1ZSBvd25lcnNoaXAg
dHJhbnNmZXIuCi0gICAgICAgICAgICBpbWFnZS5jaGFuZ2VMYXlvdXRBbmRRdWV1ZShpbWFnZS5n
ZXRBc3BlY3RGbGFncygpLCBsYXlvdXQsIHJlbmRlcmVyUXVldWVGYW1pbHlJbmRleCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRCdWZmZXIpOworICAgICAg
ICAgICAgLy8gSW1hZ2Ugc2hvdWxkIG5vdCBiZSBhY2Nlc3NlZCB3aGlsZSB1bm93bmVkLgorICAg
ICAgICAgICAgQVNTRVJUKCF0ZXh0dXJlVmstPmdldEltYWdlKCkuaGFzU3RhZ2VkVXBkYXRlcygp
KTsKKworICAgICAgICAgICAgLy8gUXVldWUgb3duZXJzaGlwIHRyYW5zZmVyIGFuZCBsYXlvdXQg
dHJhbnNpdGlvbi4KKyAgICAgICAgICAgIGltYWdlLmFjcXVpcmVGcm9tRXh0ZXJuYWwoY29udGV4
dFZrLCBWS19RVUVVRV9GQU1JTFlfRVhURVJOQUwsIHJlbmRlcmVyUXVldWVGYW1pbHlJbmRleCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LCBjb21tYW5kQnVm
ZmVyKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTU4LDYgKzE1OSw4IEBAIGFuZ2xlOjpSZXN1
bHQgU2VtYXBob3JlVms6OnNpZ25hbChnbDo6Q29udGV4dCAqY29udGV4dCwKIHsKICAgICBDb250
ZXh0VmsgKmNvbnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwogCisgICAgdWludDMyX3Qg
cmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4ID0gY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLT5nZXRR
dWV1ZUZhbWlseUluZGV4KCk7CisKICAgICBpZiAoIWJ1ZmZlckJhcnJpZXJzLmVtcHR5KCkpCiAg
ICAgewogICAgICAgICAvLyBQZXJmb3JtIGEgcXVldWUgb3duZXJzaGlwIHRyYW5zZmVyIGZvciBl
YWNoIGJ1ZmZlci4KQEAgLTE3MCw3ICsxNzMsOCBAQCBhbmdsZTo6UmVzdWx0IFNlbWFwaG9yZVZr
OjpzaWduYWwoZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICBBTkdMRV9UUlkoY29u
dGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcigmY29tbWFuZEJ1ZmZlcikp
OwogCiAgICAgICAgICAgICAvLyBRdWV1ZSBvd25lcnNoaXAgdHJhbnNmZXIuCi0gICAgICAgICAg
ICBidWZmZXJIZWxwZXIuY2hhbmdlUXVldWUoVktfUVVFVUVfRkFNSUxZX0VYVEVSTkFMLCBjb21t
YW5kQnVmZmVyKTsKKyAgICAgICAgICAgIGJ1ZmZlckhlbHBlci5yZWxlYXNlVG9FeHRlcm5hbChj
b250ZXh0VmssIHJlbmRlcmVyUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWS19RVUVVRV9GQU1JTFlfRVhURVJOQUwsIGNvbW1hbmRC
dWZmZXIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xOTIsMTIgKzE5NiwxNCBAQCBhbmdsZTo6
UmVzdWx0IFNlbWFwaG9yZVZrOjpzaWduYWwoZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgbGF5b3V0ID0gaW1hZ2UuZ2V0Q3VycmVudEltYWdlTGF5b3V0KCk7CiAgICAgICAg
ICAgICB9CiAKKyAgICAgICAgICAgIEFOR0xFX1RSWSh0ZXh0dXJlVmstPmVuc3VyZUltYWdlSW5p
dGlhbGl6ZWQoY29udGV4dFZrLCBJbWFnZU1pcExldmVsczo6RW5hYmxlZExldmVscykpOworCiAg
ICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsKICAgICAgICAgICAg
IEFOR0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVyKCZj
b21tYW5kQnVmZmVyKSk7CiAKICAgICAgICAgICAgIC8vIFF1ZXVlIG93bmVyc2hpcCB0cmFuc2Zl
ciBhbmQgbGF5b3V0IHRyYW5zaXRpb24uCi0gICAgICAgICAgICBpbWFnZS5jaGFuZ2VMYXlvdXRB
bmRRdWV1ZShpbWFnZS5nZXRBc3BlY3RGbGFncygpLCBsYXlvdXQsIFZLX1FVRVVFX0ZBTUlMWV9F
WFRFUk5BTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRC
dWZmZXIpOworICAgICAgICAgICAgaW1hZ2UucmVsZWFzZVRvRXh0ZXJuYWwoY29udGV4dFZrLCBy
ZW5kZXJlclF1ZXVlRmFtaWx5SW5kZXgsIFZLX1FVRVVFX0ZBTUlMWV9FWFRFUk5BTCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dCwgY29tbWFuZEJ1ZmZlcik7CiAg
ICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU2hhZGVyVmsuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TaGFkZXJWay5jcHAKaW5kZXgg
NmU4MTQ1Nzg3NWU2MDI3MmI3NDkzZjQyNjJhNmQ1YTg3ZTM0OGMzZi4uYWQ1NGI4NjIwOTUyMTFm
YjUwNTIwNTliMTI5NWJhYzY4MzRhZTJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TaGFkZXJWay5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TaGFkZXJW
ay5jcHAKQEAgLTYwLDYgKzYwLDEwIEBAIHN0ZDo6c2hhcmVkX3B0cjxXYWl0YWJsZUNvbXBpbGVF
dmVudD4gU2hhZGVyVms6OmNvbXBpbGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRlCiAgICAgICAg
IGNvbXBpbGVPcHRpb25zIHw9IFNIX0lHTk9SRV9QUkVDSVNJT05fUVVBTElGSUVSUzsKICAgICB9
CiAKKyAgICAvLyBMZXQgY29tcGlsZXIgZGV0ZWN0IGFuZCBlbWl0IGVhcmx5IGZyYWdtZW50IHRl
c3QgZXhlY3V0aW9uIG1vZGUuIFdlIHdpbGwgcmVtb3ZlIGl0IGlmCisgICAgLy8gY29udGV4dCBz
dGF0ZSBkb2VzIG5vdCBhbGxvdyBpdAorICAgIGNvbXBpbGVPcHRpb25zIHw9IFNIX0VBUkxZX0ZS
QUdNRU5UX1RFU1RTX09QVElNSVpBVElPTjsKKwogICAgIHJldHVybiBjb21waWxlSW1wbChjb250
ZXh0LCBjb21waWxlckluc3RhbmNlLCBtRGF0YS5nZXRTb3VyY2UoKSwgY29tcGlsZU9wdGlvbnMg
fCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TdXJmYWNlVmsuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TdXJmYWNlVmsuY3BwCmluZGV4
IDIzZjE2ZDYwNzYyY2NiNTViMzJhOGExZmRiYTZmZTJmM2U5ODFmMTEuLmY1NmQzZTNmMWI5OTNl
NjgyYWU4YTFkYmY4OGIxNzI0YzMwNTRlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU3VyZmFjZVZrLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1N1cmZh
Y2VWay5jcHAKQEAgLTI3LDYgKzI3LDEyIEBAIG5hbWVzcGFjZSByeAogCiBuYW1lc3BhY2UKIHsK
K2FuZ2xlOjpTdWJqZWN0SW5kZXgga0FueVN1cmZhY2VJbWFnZVN1YmplY3RJbmRleCA9IDA7CisK
Ky8vIFNwZWNpYWwgdmFsdWUgZm9yIGN1cnJlbnRFeHRlbnQgaWYgc3VyZmFjZSBzaXplIGlzIGRl
dGVybWluZWQgYnkgdGhlCisvLyBzd2FwY2hhaW4ncyBleHRlbnQuIFNlZSBWa1N1cmZhY2VDYXBh
YmlsaXRpZXNLSFIgc3BlYyBmb3IgbW9yZSBkZXRhaWxzLgorY29uc3RleHByIHVpbnQzMl90IGtT
dXJmYWNlU2l6ZWRCeVN3YXBjaGFpbiA9IDB4RkZGRkZGRkZ1OworCiBHTGludCBHZXRTYW1wbGVD
b3VudChjb25zdCBlZ2w6OkNvbmZpZyAqY29uZmlnKQogewogICAgIEdMaW50IHNhbXBsZXMgPSAx
OwpAQCAtMTIwLDI0ICsxMjYsMzAgQEAgYW5nbGU6OlJlc3VsdCBTdXJmYWNlVms6OmdldEF0dGFj
aG1lbnRSZW5kZXJUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHNhbXBsZXMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFt
ZWJ1ZmZlckF0dGFjaG1lbnRSZW5kZXJUYXJnZXQgKipydE91dCkKIHsKLSAgICBDb250ZXh0Vmsg
KmNvbnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwotCiAgICAgaWYgKGJpbmRpbmcgPT0g
R0xfQkFDSykKICAgICB7Ci0gICAgICAgIEFOR0xFX1RSWShtQ29sb3JSZW5kZXJUYXJnZXQuZmx1
c2hTdGFnZWRVcGRhdGVzKGNvbnRleHRWaykpOwogICAgICAgICAqcnRPdXQgPSAmbUNvbG9yUmVu
ZGVyVGFyZ2V0OwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBBU1NFUlQoYmluZGlu
ZyA9PSBHTF9ERVBUSCB8fCBiaW5kaW5nID09IEdMX1NURU5DSUwgfHwgYmluZGluZyA9PSBHTF9E
RVBUSF9TVEVOQ0lMKTsKLSAgICAgICAgQU5HTEVfVFJZKG1EZXB0aFN0ZW5jaWxSZW5kZXJUYXJn
ZXQuZmx1c2hTdGFnZWRVcGRhdGVzKGNvbnRleHRWaykpOwogICAgICAgICAqcnRPdXQgPSAmbURl
cHRoU3RlbmNpbFJlbmRlclRhcmdldDsKICAgICB9CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKLU9mZnNjcmVlblN1cmZhY2VWazo6QXR0YWNobWVudEltYWdlOjpB
dHRhY2htZW50SW1hZ2UoKSB7fQordm9pZCBTdXJmYWNlVms6Om9uU3ViamVjdFN0YXRlQ2hhbmdl
KGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFuZ2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdl
KQoreworICAgIC8vIEZvcndhcmQgdGhlIG5vdGlmaWNhdGlvbiB0byBwYXJlbnQgY2xhc3MgdGhh
dCB0aGUgc3RhZ2luZyBidWZmZXIgY2hhbmdlZC4KKyAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpT
dWJqZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQpOworfQorCitPZmZzY3JlZW5TdXJmYWNlVms6
OkF0dGFjaG1lbnRJbWFnZTo6QXR0YWNobWVudEltYWdlKFN1cmZhY2VWayAqc3VyZmFjZVZrKQor
ICAgIDogaW1hZ2VPYnNlcnZlckJpbmRpbmcoc3VyZmFjZVZrLCBrQW55U3VyZmFjZUltYWdlU3Vi
amVjdEluZGV4KQoreworICAgIGltYWdlT2JzZXJ2ZXJCaW5kaW5nLmJpbmQoJmltYWdlKTsKK30K
IAogT2Zmc2NyZWVuU3VyZmFjZVZrOjpBdHRhY2htZW50SW1hZ2U6On5BdHRhY2htZW50SW1hZ2Uo
KSA9IGRlZmF1bHQ7CiAKQEAgLTE2Miw5ICsxNzQsNiBAQCBhbmdsZTo6UmVzdWx0IE9mZnNjcmVl
blN1cmZhY2VWazo6QXR0YWNobWVudEltYWdlOjppbml0aWFsaXplKERpc3BsYXlWayAqZGlzcGxh
eQogICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyBmbGFncyA9IFZLX01FTU9SWV9QUk9QRVJUWV9E
RVZJQ0VfTE9DQUxfQklUOwogICAgIEFOR0xFX1RSWShpbWFnZS5pbml0TWVtb3J5KGRpc3BsYXlW
aywgcmVuZGVyZXItPmdldE1lbW9yeVByb3BlcnRpZXMoKSwgZmxhZ3MpKTsKIAotICAgIC8vIENs
ZWFyIHRoZSBpbWFnZSBpZiBpdCBoYXMgZW11bGF0ZWQgY2hhbm5lbHMuCi0gICAgaW1hZ2Uuc3Rh
Z2VDbGVhcklmRW11bGF0ZWRGb3JtYXQoZ2w6OkltYWdlSW5kZXg6Ok1ha2UyRCgwKSwgdmtGb3Jt
YXQpOwotCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0yMDUs
OSArMjE0LDYgQEAgYW5nbGU6OlJlc3VsdCBPZmZzY3JlZW5TdXJmYWNlVms6OkF0dGFjaG1lbnRJ
bWFnZTo6aW5pdGlhbGl6ZVdpdGhFeHRlcm5hbE1lbW9yeSgKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGV4dGVybmFsTWVtb3J5UmVxdWlyZW1lbnRzLCAmaW1wb3J0TWVt
b3J5SG9zdFBvaW50ZXJJbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVktfUVVFVUVfRkFNSUxZX0VYVEVSTkFMLCBmbGFncykpOwogCi0gICAgLy8gQ2xlYXIgdGhl
IGltYWdlIGlmIGl0IGhhcyBlbXVsYXRlZCBjaGFubmVscy4KLSAgICBpbWFnZS5zdGFnZUNsZWFy
SWZFbXVsYXRlZEZvcm1hdChnbDo6SW1hZ2VJbmRleDo6TWFrZTJEKDApLCB2a0Zvcm1hdCk7Ci0K
ICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTIyMyw3ICsyMjks
OSBAQCB2b2lkIE9mZnNjcmVlblN1cmZhY2VWazo6QXR0YWNobWVudEltYWdlOjpkZXN0cm95KGNv
bnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSkKIE9mZnNjcmVlblN1cmZhY2VWazo6T2Zmc2NyZWVu
U3VyZmFjZVZrKGNvbnN0IGVnbDo6U3VyZmFjZVN0YXRlICZzdXJmYWNlU3RhdGUpCiAgICAgOiBT
dXJmYWNlVmsoc3VyZmFjZVN0YXRlKSwKICAgICAgIG1XaWR0aChtU3RhdGUuYXR0cmlidXRlcy5n
ZXRBc0ludChFR0xfV0lEVEgsIDApKSwKLSAgICAgIG1IZWlnaHQobVN0YXRlLmF0dHJpYnV0ZXMu
Z2V0QXNJbnQoRUdMX0hFSUdIVCwgMCkpCisgICAgICBtSGVpZ2h0KG1TdGF0ZS5hdHRyaWJ1dGVz
LmdldEFzSW50KEVHTF9IRUlHSFQsIDApKSwKKyAgICAgIG1Db2xvckF0dGFjaG1lbnQodGhpcyks
CisgICAgICBtRGVwdGhTdGVuY2lsQXR0YWNobWVudCh0aGlzKQogewogICAgIG1Db2xvclJlbmRl
clRhcmdldC5pbml0KCZtQ29sb3JBdHRhY2htZW50LmltYWdlLCAmbUNvbG9yQXR0YWNobWVudC5p
bWFnZVZpZXdzLCAwLCAwKTsKICAgICBtRGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0LmluaXQoJm1E
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmltYWdlLApAQCAtMzU3LDE1ICszNjUsMTMgQEAgYW5nbGU6
OlJlc3VsdCBPZmZzY3JlZW5TdXJmYWNlVms6OmluaXRpYWxpemVDb250ZW50cyhjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKIAogICAgIGlmIChtQ29sb3JBdHRhY2htZW50LmltYWdlLnZhbGlk
KCkpCiAgICAgewotICAgICAgICBtQ29sb3JBdHRhY2htZW50LmltYWdlLnN0YWdlU3VicmVzb3Vy
Y2VSb2J1c3RDbGVhcihpbWFnZUluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtQ29sb3JBdHRhY2htZW50LmltYWdlLmdldEZv
cm1hdCgpKTsKKyAgICAgICAgbUNvbG9yQXR0YWNobWVudC5pbWFnZS5zdGFnZVJvYnVzdFJlc291
cmNlQ2xlYXIoaW1hZ2VJbmRleCk7CiAgICAgICAgIEFOR0xFX1RSWShtQ29sb3JBdHRhY2htZW50
LmltYWdlLmZsdXNoQWxsU3RhZ2VkVXBkYXRlcyhjb250ZXh0VmspKTsKICAgICB9CiAKICAgICBp
ZiAobURlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaW1hZ2UudmFsaWQoKSkKICAgICB7Ci0gICAgICAg
IG1EZXB0aFN0ZW5jaWxBdHRhY2htZW50LmltYWdlLnN0YWdlU3VicmVzb3VyY2VSb2J1c3RDbGVh
cigKLSAgICAgICAgICAgIGltYWdlSW5kZXgsIG1EZXB0aFN0ZW5jaWxBdHRhY2htZW50LmltYWdl
LmdldEZvcm1hdCgpKTsKKyAgICAgICAgbURlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaW1hZ2Uuc3Rh
Z2VSb2J1c3RSZXNvdXJjZUNsZWFyKGltYWdlSW5kZXgpOwogICAgICAgICBBTkdMRV9UUlkobURl
cHRoU3RlbmNpbEF0dGFjaG1lbnQuaW1hZ2UuZmx1c2hBbGxTdGFnZWRVcGRhdGVzKGNvbnRleHRW
aykpOwogICAgIH0KICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC00NTks
MTIgKzQ2NSwxNiBAQCBXaW5kb3dTdXJmYWNlVms6OldpbmRvd1N1cmZhY2VWayhjb25zdCBlZ2w6
OlN1cmZhY2VTdGF0ZSAmc3VyZmFjZVN0YXRlLCBFR0xOYXRpdgogICAgICAgbVByZVRyYW5zZm9y
bShWS19TVVJGQUNFX1RSQU5TRk9STV9JREVOVElUWV9CSVRfS0hSKSwKICAgICAgIG1Db21wb3Np
dGVBbHBoYShWS19DT01QT1NJVEVfQUxQSEFfT1BBUVVFX0JJVF9LSFIpLAogICAgICAgbUN1cnJl
bnRTd2FwSGlzdG9yeUluZGV4KDApLAotICAgICAgbUN1cnJlbnRTd2FwY2hhaW5JbWFnZUluZGV4
KDApCisgICAgICBtQ3VycmVudFN3YXBjaGFpbkltYWdlSW5kZXgoMCksCisgICAgICBtRGVwdGhT
dGVuY2lsSW1hZ2VCaW5kaW5nKHRoaXMsIGtBbnlTdXJmYWNlSW1hZ2VTdWJqZWN0SW5kZXgpLAor
ICAgICAgbUNvbG9ySW1hZ2VNU0JpbmRpbmcodGhpcywga0FueVN1cmZhY2VJbWFnZVN1YmplY3RJ
bmRleCkKIHsKICAgICAvLyBJbml0aWFsaXplIHRoZSBjb2xvciByZW5kZXIgdGFyZ2V0IHdpdGgg
dGhlIG11bHRpc2FtcGxlZCB0YXJnZXRzLiAgSWYgbm90IG11bHRpc2FtcGxlZCwgdGhlCiAgICAg
Ly8gcmVuZGVyIHRhcmdldCB3aWxsIGJlIHVwZGF0ZWQgdG8gcmVmZXIgdG8gYSBzd2FwY2hhaW4g
aW1hZ2Ugb24gZXZlcnkgYWNxdWlyZS4KICAgICBtQ29sb3JSZW5kZXJUYXJnZXQuaW5pdCgmbUNv
bG9ySW1hZ2VNUywgJm1Db2xvckltYWdlTVNWaWV3cywgMCwgMCk7CiAgICAgbURlcHRoU3RlbmNp
bFJlbmRlclRhcmdldC5pbml0KCZtRGVwdGhTdGVuY2lsSW1hZ2UsICZtRGVwdGhTdGVuY2lsSW1h
Z2VWaWV3cywgMCwgMCk7CisgICAgbURlcHRoU3RlbmNpbEltYWdlQmluZGluZy5iaW5kKCZtRGVw
dGhTdGVuY2lsSW1hZ2UpOworICAgIG1Db2xvckltYWdlTVNCaW5kaW5nLmJpbmQoJm1Db2xvcklt
YWdlTVMpOwogfQogCiBXaW5kb3dTdXJmYWNlVms6On5XaW5kb3dTdXJmYWNlVmsoKQpAQCAtNTU3
LDkgKzU2Nyw5IEBAIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjppbml0aWFsaXplSW1w
bChEaXNwbGF5VmsgKmRpc3BsYXlWaykKICAgICBFR0xBdHRyaWIgYXR0cmliV2lkdGggID0gbVN0
YXRlLmF0dHJpYnV0ZXMuZ2V0KEVHTF9XSURUSCwgMCk7CiAgICAgRUdMQXR0cmliIGF0dHJpYkhl
aWdodCA9IG1TdGF0ZS5hdHRyaWJ1dGVzLmdldChFR0xfSEVJR0hULCAwKTsKIAotICAgIGlmICht
U3VyZmFjZUNhcHMuY3VycmVudEV4dGVudC53aWR0aCA9PSAweEZGRkZGRkZGdSkKKyAgICBpZiAo
bVN1cmZhY2VDYXBzLmN1cnJlbnRFeHRlbnQud2lkdGggPT0ga1N1cmZhY2VTaXplZEJ5U3dhcGNo
YWluKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1TdXJmYWNlQ2Fwcy5jdXJyZW50RXh0ZW50Lmhl
aWdodCA9PSAweEZGRkZGRkZGdSk7CisgICAgICAgIEFTU0VSVChtU3VyZmFjZUNhcHMuY3VycmVu
dEV4dGVudC5oZWlnaHQgPT0ga1N1cmZhY2VTaXplZEJ5U3dhcGNoYWluKTsKIAogICAgICAgICB3
aWR0aCAgPSAoYXR0cmliV2lkdGggIT0gMCkgPyBzdGF0aWNfY2FzdDx1aW50MzJfdD4oYXR0cmli
V2lkdGgpIDogd2luZG93U2l6ZS53aWR0aDsKICAgICAgICAgaGVpZ2h0ID0gKGF0dHJpYkhlaWdo
dCAhPSAwKSA/IHN0YXRpY19jYXN0PHVpbnQzMl90PihhdHRyaWJIZWlnaHQpIDogd2luZG93U2l6
ZS5oZWlnaHQ7CkBAIC03ODksNyArNzk5LDI1IEBAIHN0YXRpYyBWa0NvbG9yU3BhY2VLSFIgTWFw
RWdsQ29sb3JTcGFjZVRvVmtDb2xvclNwYWNlKEVHTGVudW0gRUdMQ29sb3JzcGFjZSkKIAogYW5n
bGU6OlJlc3VsdCBXaW5kb3dTdXJmYWNlVms6OnJlc2l6ZVN3YXBjaGFpbkltYWdlcyh2azo6Q29u
dGV4dCAqY29udGV4dCwgdWludDMyX3QgaW1hZ2VDb3VudCkKIHsKLSAgICBtU3dhcGNoYWluSW1h
Z2VzLnJlc2l6ZShpbWFnZUNvdW50KTsKKyAgICBpZiAoc3RhdGljX2Nhc3Q8c2l6ZV90PihpbWFn
ZUNvdW50KSAhPSBtU3dhcGNoYWluSW1hZ2VzLnNpemUoKSkKKyAgICB7CisgICAgICAgIG1Td2Fw
Y2hhaW5JbWFnZUJpbmRpbmdzLmNsZWFyKCk7CisgICAgICAgIG1Td2FwY2hhaW5JbWFnZXMucmVz
aXplKGltYWdlQ291bnQpOworCisgICAgICAgIC8vIFVwZGF0ZSB0aGUgaW1hZ2UgYmluZGluZ3Mu
IEJlY2F1c2UgdGhlIG9ic2VydmVyIGJpbmRpbmcgY2xhc3MgdXNlcyByYXcgcG9pbnRlcnMgd2UK
KyAgICAgICAgLy8gbmVlZCB0byBmaXJzdCBlbnN1cmUgdGhlIGVudGlyZSBpbWFnZSB2ZWN0b3Ig
aXMgZnVsbHkgYWxsb2NhdGVkIGJlZm9yZSBiaW5kaW5nIHRoZQorICAgICAgICAvLyBzdWJqZWN0
IGFuZCBvYnNlcnZlciB0b2dldGhlci4KKyAgICAgICAgZm9yICh1aW50MzJfdCBpbmRleCA9IDA7
IGluZGV4IDwgaW1hZ2VDb3VudDsgKytpbmRleCkKKyAgICAgICAgeworICAgICAgICAgICAgbVN3
YXBjaGFpbkltYWdlQmluZGluZ3MucHVzaF9iYWNrKAorICAgICAgICAgICAgICAgIGFuZ2xlOjpP
YnNlcnZlckJpbmRpbmcodGhpcywga0FueVN1cmZhY2VJbWFnZVN1YmplY3RJbmRleCkpOworICAg
ICAgICB9CisKKyAgICAgICAgZm9yICh1aW50MzJfdCBpbmRleCA9IDA7IGluZGV4IDwgaW1hZ2VD
b3VudDsgKytpbmRleCkKKyAgICAgICAgeworICAgICAgICAgICAgbVN3YXBjaGFpbkltYWdlQmlu
ZGluZ3NbaW5kZXhdLmJpbmQoJm1Td2FwY2hhaW5JbWFnZXNbaW5kZXhdLmltYWdlKTsKKyAgICAg
ICAgfQorICAgIH0KIAogICAgIC8vIEF0IHRoaXMgcG9pbnQsIGlmIHRoZXJlIHdhcyBhIHByZXZp
b3VzIHN3YXBjaGFpbiwgdGhlIHByZXZpb3VzIHByZXNlbnQgc2VtYXBob3JlcyBoYXZlIGFsbAog
ICAgIC8vIGJlZW4gbW92ZWQgdG8gbU9sZFN3YXBjaGFpbnMgdG8gYmUgc2NoZWR1bGVkIGZvciBk
ZXN0cnVjdGlvbiwgc28gYWxsIHNlbWFwaG9yZSBoYW5kbGVzIGluCkBAIC04OTksOSArOTI3LDYg
QEAgYW5nbGU6OlJlc3VsdCBXaW5kb3dTdXJmYWNlVms6OmNyZWF0ZVN3YXBDaGFpbih2azo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29sb3IgcmVuZGVyIHRh
cmdldCB3aXRoIHRoZSBtdWx0aXNhbXBsZWQgdGFyZ2V0cy4gIElmIG5vdCBtdWx0aXNhbXBsZWQs
CiAgICAgICAgIC8vIHRoZSByZW5kZXIgdGFyZ2V0IHdpbGwgYmUgdXBkYXRlZCB0byByZWZlciB0
byBhIHN3YXBjaGFpbiBpbWFnZSBvbiBldmVyeSBhY3F1aXJlLgogICAgICAgICBtQ29sb3JSZW5k
ZXJUYXJnZXQuaW5pdCgmbUNvbG9ySW1hZ2VNUywgJm1Db2xvckltYWdlTVNWaWV3cywgMCwgMCk7
Ci0KLSAgICAgICAgLy8gQ2xlYXIgdGhlIGltYWdlIGlmIGl0IGhhcyBlbXVsYXRlZCBjaGFubmVs
cy4KLSAgICAgICAgbUNvbG9ySW1hZ2VNUy5zdGFnZUNsZWFySWZFbXVsYXRlZEZvcm1hdChnbDo6
SW1hZ2VJbmRleDo6TWFrZTJEKDApLCBmb3JtYXQpOwogICAgIH0KIAogICAgIEFOR0xFX1RSWShy
ZXNpemVTd2FwY2hhaW5JbWFnZXMoY29udGV4dCwgaW1hZ2VDb3VudCkpOwpAQCAtOTA5LDE1ICs5
MzQsNyBAQCBhbmdsZTo6UmVzdWx0IFdpbmRvd1N1cmZhY2VWazo6Y3JlYXRlU3dhcENoYWluKHZr
OjpDb250ZXh0ICpjb250ZXh0LAogICAgIGZvciAodWludDMyX3QgaW1hZ2VJbmRleCA9IDA7IGlt
YWdlSW5kZXggPCBpbWFnZUNvdW50OyArK2ltYWdlSW5kZXgpCiAgICAgewogICAgICAgICBTd2Fw
Y2hhaW5JbWFnZSAmbWVtYmVyID0gbVN3YXBjaGFpbkltYWdlc1tpbWFnZUluZGV4XTsKLSAgICAg
ICAgbWVtYmVyLmltYWdlLmluaXQyRFdlYWtSZWZlcmVuY2Uoc3dhcGNoYWluSW1hZ2VzW2ltYWdl
SW5kZXhdLCBleHRlbnRzLCBmb3JtYXQsIDEpOwotCi0gICAgICAgIGlmICghbUNvbG9ySW1hZ2VN
Uy52YWxpZCgpKQotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBDbGVhciB0aGUgaW1hZ2UgaWYg
aXQgaGFzIGVtdWxhdGVkIGNoYW5uZWxzLiAgSWYgYSBtdWx0aXNhbXBsZWQgaW1hZ2UgZXhpc3Rz
LCB0aGlzCi0gICAgICAgICAgICAvLyBpbWFnZSB3aWxsIGJlIHVudXNlZCB1bnRpbCBhIHByZS1w
cmVzZW50IHJlc29sdmUsIGF0IHdoaWNoIHBvaW50IGl0IHdpbGwgYmUgZnVsbHkKLSAgICAgICAg
ICAgIC8vIGluaXRpYWxpemVkIGFuZCB3b3VsZG4ndCBuZWVkIGEgY2xlYXIuCi0gICAgICAgICAg
ICBtZW1iZXIuaW1hZ2Uuc3RhZ2VDbGVhcklmRW11bGF0ZWRGb3JtYXQoZ2w6OkltYWdlSW5kZXg6
Ok1ha2UyRCgwKSwgZm9ybWF0KTsKLSAgICAgICAgfQorICAgICAgICBtZW1iZXIuaW1hZ2UuaW5p
dDJEV2Vha1JlZmVyZW5jZShjb250ZXh0LCBzd2FwY2hhaW5JbWFnZXNbaW1hZ2VJbmRleF0sIGV4
dGVudHMsIGZvcm1hdCwgMSk7CiAgICAgfQogCiAgICAgLy8gSW5pdGlhbGl6ZSBkZXB0aC9zdGVu
Y2lsIGlmIHJlcXVlc3RlZC4KQEAgLTkzNSw5ICs5NTIsNiBAQCBhbmdsZTo6UmVzdWx0IFdpbmRv
d1N1cmZhY2VWazo6Y3JlYXRlU3dhcENoYWluKHZrOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICBtRGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0LmluaXQoJm1EZXB0aFN0ZW5jaWxJbWFnZSwgJm1E
ZXB0aFN0ZW5jaWxJbWFnZVZpZXdzLCAwLCAwKTsKIAogICAgICAgICAvLyBXZSB3aWxsIG5lZWQg
dG8gcGFzcyBkZXB0aC9zdGVuY2lsIGltYWdlIHZpZXdzIHRvIHRoZSBSZW5kZXJUYXJnZXRWayBp
biB0aGUgZnV0dXJlLgotCi0gICAgICAgIC8vIENsZWFyIHRoZSBpbWFnZSBpZiBpdCBoYXMgZW11
bGF0ZWQgY2hhbm5lbHMuCi0gICAgICAgIG1EZXB0aFN0ZW5jaWxJbWFnZS5zdGFnZUNsZWFySWZF
bXVsYXRlZEZvcm1hdChnbDo6SW1hZ2VJbmRleDo6TWFrZTJEKDApLCBkc0Zvcm1hdCk7CiAgICAg
fQogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtOTgwLDkgKzk5NCw5
IEBAIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjpjaGVja0Zvck91dE9mRGF0ZVN3YXBj
aGFpbihDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgIHVpbnQzMl90IHdpZHRoICA9
IG1TdXJmYWNlQ2Fwcy5jdXJyZW50RXh0ZW50LndpZHRoOwogICAgICAgICAgICAgdWludDMyX3Qg
aGVpZ2h0ID0gbVN1cmZhY2VDYXBzLmN1cnJlbnRFeHRlbnQuaGVpZ2h0OwogCi0gICAgICAgICAg
ICBpZiAod2lkdGggIT0gMHhGRkZGRkZGRnUpCisgICAgICAgICAgICBpZiAod2lkdGggIT0ga1N1
cmZhY2VTaXplZEJ5U3dhcGNoYWluKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEFT
U0VSVChoZWlnaHQgIT0gMHhGRkZGRkZGRnUpOworICAgICAgICAgICAgICAgIEFTU0VSVChoZWln
aHQgIT0ga1N1cmZhY2VTaXplZEJ5U3dhcGNoYWluKTsKICAgICAgICAgICAgICAgICBjdXJyZW50
RXh0ZW50cy53aWR0aCAgPSB3aWR0aDsKICAgICAgICAgICAgICAgICBjdXJyZW50RXh0ZW50cy5o
ZWlnaHQgPSBoZWlnaHQ7CiAgICAgICAgICAgICB9CkBAIC0xMDE4LDExICsxMDMyLDEzIEBAIHZv
aWQgV2luZG93U3VyZmFjZVZrOjpyZWxlYXNlU3dhcGNoYWluSW1hZ2VzKENvbnRleHRWayAqY29u
dGV4dFZrKQogICAgICAgICBjb250ZXh0VmstPmFkZEdhcmJhZ2UoJm1GcmFtZWJ1ZmZlck1TKTsK
ICAgICB9CiAKKyAgICBtU3dhcGNoYWluSW1hZ2VCaW5kaW5ncy5jbGVhcigpOworCiAgICAgZm9y
IChTd2FwY2hhaW5JbWFnZSAmc3dhcGNoYWluSW1hZ2UgOiBtU3dhcGNoYWluSW1hZ2VzKQogICAg
IHsKICAgICAgICAgLy8gV2UgZG9uJ3Qgb3duIHRoZSBzd2FwY2hhaW4gaW1hZ2UgaGFuZGxlcywg
c28gd2UganVzdCByZW1vdmUgb3VyIHJlZmVyZW5jZSB0byBpdC4KICAgICAgICAgc3dhcGNoYWlu
SW1hZ2UuaW1hZ2UucmVzZXRJbWFnZVdlYWtSZWZlcmVuY2UoKTsKLSAgICAgICAgc3dhcGNoYWlu
SW1hZ2UuaW1hZ2UuZGVzdHJveShjb250ZXh0VmstPmdldERldmljZSgpKTsKKyAgICAgICAgc3dh
cGNoYWluSW1hZ2UuaW1hZ2UuZGVzdHJveShyZW5kZXJlcik7CiAKICAgICAgICAgc3dhcGNoYWlu
SW1hZ2UuaW1hZ2VWaWV3cy5yZWxlYXNlKHJlbmRlcmVyKTsKICAgICAgICAgY29udGV4dFZrLT5h
ZGRHYXJiYWdlKCZzd2FwY2hhaW5JbWFnZS5mcmFtZWJ1ZmZlcik7CkBAIC0xMDQwLDExICsxMDU2
LDEyIEBAIHZvaWQgV2luZG93U3VyZmFjZVZrOjpyZWxlYXNlU3dhcGNoYWluSW1hZ2VzKENvbnRl
eHRWayAqY29udGV4dFZrKQogCiB2b2lkIFdpbmRvd1N1cmZhY2VWazo6ZGVzdHJveVN3YXBDaGFp
bkltYWdlcyhEaXNwbGF5VmsgKmRpc3BsYXlWaykKIHsKLSAgICBWa0RldmljZSBkZXZpY2UgPSBk
aXNwbGF5VmstPmdldERldmljZSgpOworICAgIFJlbmRlcmVyVmsgKnJlbmRlcmVyID0gZGlzcGxh
eVZrLT5nZXRSZW5kZXJlcigpOworICAgIFZrRGV2aWNlIGRldmljZSAgICAgID0gZGlzcGxheVZr
LT5nZXREZXZpY2UoKTsKIAotICAgIG1EZXB0aFN0ZW5jaWxJbWFnZS5kZXN0cm95KGRldmljZSk7
CisgICAgbURlcHRoU3RlbmNpbEltYWdlLmRlc3Ryb3kocmVuZGVyZXIpOwogICAgIG1EZXB0aFN0
ZW5jaWxJbWFnZVZpZXdzLmRlc3Ryb3koZGV2aWNlKTsKLSAgICBtQ29sb3JJbWFnZU1TLmRlc3Ry
b3koZGV2aWNlKTsKKyAgICBtQ29sb3JJbWFnZU1TLmRlc3Ryb3kocmVuZGVyZXIpOwogICAgIG1D
b2xvckltYWdlTVNWaWV3cy5kZXN0cm95KGRldmljZSk7CiAgICAgbUZyYW1lYnVmZmVyTVMuZGVz
dHJveShkZXZpY2UpOwogCkBAIC0xMDUyLDcgKzEwNjksNyBAQCB2b2lkIFdpbmRvd1N1cmZhY2VW
azo6ZGVzdHJveVN3YXBDaGFpbkltYWdlcyhEaXNwbGF5VmsgKmRpc3BsYXlWaykKICAgICB7CiAg
ICAgICAgIC8vIFdlIGRvbid0IG93biB0aGUgc3dhcGNoYWluIGltYWdlIGhhbmRsZXMsIHNvIHdl
IGp1c3QgcmVtb3ZlIG91ciByZWZlcmVuY2UgdG8gaXQuCiAgICAgICAgIHN3YXBjaGFpbkltYWdl
LmltYWdlLnJlc2V0SW1hZ2VXZWFrUmVmZXJlbmNlKCk7Ci0gICAgICAgIHN3YXBjaGFpbkltYWdl
LmltYWdlLmRlc3Ryb3koZGV2aWNlKTsKKyAgICAgICAgc3dhcGNoYWluSW1hZ2UuaW1hZ2UuZGVz
dHJveShyZW5kZXJlcik7CiAgICAgICAgIHN3YXBjaGFpbkltYWdlLmltYWdlVmlld3MuZGVzdHJv
eShkZXZpY2UpOwogICAgICAgICBzd2FwY2hhaW5JbWFnZS5mcmFtZWJ1ZmZlci5kZXN0cm95KGRl
dmljZSk7CiAKQEAgLTExMTQsNyArMTEzMSwxOCBAQCBhbmdsZTo6UmVzdWx0IFdpbmRvd1N1cmZh
Y2VWazo6cHJlc2VudChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgfQogICAgIH0KIAot
ICAgIFN3YXBjaGFpbkltYWdlICZpbWFnZSA9IG1Td2FwY2hhaW5JbWFnZXNbbUN1cnJlbnRTd2Fw
Y2hhaW5JbWFnZUluZGV4XTsKKyAgICBTd2FwY2hhaW5JbWFnZSAmaW1hZ2UgICAgICAgICAgICAg
ICA9IG1Td2FwY2hhaW5JbWFnZXNbbUN1cnJlbnRTd2FwY2hhaW5JbWFnZUluZGV4XTsKKyAgICB2
azo6RnJhbWVidWZmZXIgJmN1cnJlbnRGcmFtZWJ1ZmZlciA9IG1Td2FwY2hhaW5JbWFnZXNbbUN1
cnJlbnRTd2FwY2hhaW5JbWFnZUluZGV4XS5mcmFtZWJ1ZmZlcjsKKyAgICB1cGRhdGVPdmVybGF5
KGNvbnRleHRWayk7CisgICAgYm9vbCBvdmVybGF5SGFzV2lkZ2V0ID0gb3ZlcmxheUhhc0VuYWJs
ZWRXaWRnZXQoY29udGV4dFZrKTsKKworICAgIC8vIFdlIGNhbiBvbmx5IGRvIHByZXNlbnQgcmVs
YXRlZCBvcHRpbWl6YXRpb24gaWYgdGhpcyBpcyB0aGUgbGFzdCByZW5kZXJwYXNzIHRoYXQgdG91
Y2hlcyB0aGUKKyAgICAvLyBzd2FwY2hhaW4gaW1hZ2UuIE1TQUEgcmVzb2x2ZSBhbmQgb3Zlcmxh
eSB3aWxsIGluc2VydCBhbm90aGVyIHJlbmRlcnBhc3Mgd2hpY2ggZGlzcXVhbGlmaWVzCisgICAg
Ly8gdGhlIG9wdGltaXphdGlvbi4KKyAgICBpZiAoIW1Db2xvckltYWdlTVMudmFsaWQoKSAmJiAh
b3ZlcmxheUhhc1dpZGdldCAmJiBjdXJyZW50RnJhbWVidWZmZXIudmFsaWQoKSkKKyAgICB7Cisg
ICAgICAgIGNvbnRleHRWay0+b3B0aW1pemVSZW5kZXJQYXNzRm9yUHJlc2VudChjdXJyZW50RnJh
bWVidWZmZXIuZ2V0SGFuZGxlKCkpOworICAgIH0KIAogICAgIHZrOjpDb21tYW5kQnVmZmVyICpj
b21tYW5kQnVmZmVyID0gbnVsbHB0cjsKICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5k
ZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcigmY29tbWFuZEJ1ZmZlcikpOwpAQCAtMTE0MSw4ICsx
MTY5LDEyIEBAIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjpwcmVzZW50KENvbnRleHRW
ayAqY29udGV4dFZrLAogICAgICAgICBtQ29sb3JJbWFnZU1TLnJlc29sdmUoJmltYWdlLmltYWdl
LCByZXNvbHZlUmVnaW9uLCBjb21tYW5kQnVmZmVyKTsKICAgICB9CiAKLSAgICBBTkdMRV9UUlko
dXBkYXRlQW5kRHJhd092ZXJsYXkoY29udGV4dFZrLCAmaW1hZ2UpKTsKKyAgICBpZiAob3Zlcmxh
eUhhc1dpZGdldCkKKyAgICB7CisgICAgICAgIEFOR0xFX1RSWShkcmF3T3ZlcmxheShjb250ZXh0
VmssICZpbWFnZSkpOworICAgIH0KIAorICAgIC8vIFRoaXMgZG9lcyBub3RoaW5nIGlmIGl0IGFs
cmVhZHkgaW4gdGhlIHJlcXVlc3RlZCBsYXlvdXQKICAgICBpbWFnZS5pbWFnZS5jaGFuZ2VMYXlv
dXQoVktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJVCwgdms6OkltYWdlTGF5b3V0OjpQcmVzZW50LCBj
b21tYW5kQnVmZmVyKTsKIAogICAgIC8vIEtub3dpbmcgdGhhdCB0aGUga1N3YXBIaXN0b3J5U2l6
ZSd0aCBzdWJtaXNzaW9uIGFnbyBoYXMgZmluaXNoZWQsIHdlIGNhbiBrbm93IHRoYXQgdGhlCkBA
IC0xMzIxLDYgKzEzNTMsMTIgQEAgVmtSZXN1bHQgV2luZG93U3VyZmFjZVZrOjpuZXh0U3dhcGNo
YWluSW1hZ2Uodms6OkNvbnRleHQgKmNvbnRleHQpCiAgICAgICAgIG1Db2xvclJlbmRlclRhcmdl
dC51cGRhdGVTd2FwY2hhaW5JbWFnZSgmaW1hZ2UuaW1hZ2UsICZpbWFnZS5pbWFnZVZpZXdzKTsK
ICAgICB9CiAKKyAgICAvLyBOb3RpZnkgdGhlIG93bmluZyBmcmFtZWJ1ZmZlciB0aGVyZSBtYXkg
YmUgc3RhZ2VkIHVwZGF0ZXMuCisgICAgaWYgKGltYWdlLmltYWdlLmhhc1N0YWdlZFVwZGF0ZXMo
KSkKKyAgICB7CisgICAgICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RNZXNzYWdlOjpT
dWJqZWN0Q2hhbmdlZCk7CisgICAgfQorCiAgICAgcmV0dXJuIFZLX1NVQ0NFU1M7CiB9CiAKQEAg
LTE0MDksNiArMTQ0Nyw2MSBAQCBFR0xpbnQgV2luZG93U3VyZmFjZVZrOjpnZXRIZWlnaHQoKSBj
b25zdAogICAgIHJldHVybiBzdGF0aWNfY2FzdDxFR0xpbnQ+KG1Db2xvclJlbmRlclRhcmdldC5n
ZXRFeHRlbnRzKCkuaGVpZ2h0KTsKIH0KIAorZWdsOjpFcnJvciBXaW5kb3dTdXJmYWNlVms6Omdl
dFVzZXJXaWR0aChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAqdmFsdWUpIGNv
bnN0Cit7CisgICAgRGlzcGxheVZrICpkaXNwbGF5VmsgPSB2azo6R2V0SW1wbChkaXNwbGF5KTsK
KworICAgIGlmIChtU3VyZmFjZUNhcHMuY3VycmVudEV4dGVudC53aWR0aCA9PSBrU3VyZmFjZVNp
emVkQnlTd2FwY2hhaW4pCisgICAgeworICAgICAgICAvLyBTdXJmYWNlIGhhcyBubyBpbnRyaW5z
aWMgc2l6ZTsgdXNlIGN1cnJlbnQgc2l6ZS4KKyAgICAgICAgKnZhbHVlID0gZ2V0V2lkdGgoKTsK
KyAgICAgICAgcmV0dXJuIGVnbDo6Tm9FcnJvcigpOworICAgIH0KKworICAgIFZrU3VyZmFjZUNh
cGFiaWxpdGllc0tIUiBzdXJmYWNlQ2FwczsKKyAgICBhbmdsZTo6UmVzdWx0IHJlc3VsdCA9IGdl
dFVzZXJFeHRlbnRzSW1wbChkaXNwbGF5VmssICZzdXJmYWNlQ2Fwcyk7CisgICAgaWYgKHJlc3Vs
dCA9PSBhbmdsZTo6UmVzdWx0OjpDb250aW51ZSkKKyAgICB7CisgICAgICAgIC8vIFRoZSBFR0wg
c3BlYyBzdGF0ZXMgdGhhdCB2YWx1ZSBpcyBub3Qgd3JpdHRlbiBpZiB0aGVyZSBpcyBhbiBlcnJv
cgorICAgICAgICBBU1NFUlQoc3VyZmFjZUNhcHMuY3VycmVudEV4dGVudC53aWR0aCAhPSBrU3Vy
ZmFjZVNpemVkQnlTd2FwY2hhaW4pOworICAgICAgICAqdmFsdWUgPSBzdGF0aWNfY2FzdDxFR0xp
bnQ+KHN1cmZhY2VDYXBzLmN1cnJlbnRFeHRlbnQud2lkdGgpOworICAgIH0KKyAgICByZXR1cm4g
YW5nbGU6OlRvRUdMKHJlc3VsdCwgZGlzcGxheVZrLCBFR0xfQkFEX1NVUkZBQ0UpOworfQorCitl
Z2w6OkVycm9yIFdpbmRvd1N1cmZhY2VWazo6Z2V0VXNlckhlaWdodChjb25zdCBlZ2w6OkRpc3Bs
YXkgKmRpc3BsYXksIEVHTGludCAqdmFsdWUpIGNvbnN0Cit7CisgICAgRGlzcGxheVZrICpkaXNw
bGF5VmsgPSB2azo6R2V0SW1wbChkaXNwbGF5KTsKKworICAgIGlmIChtU3VyZmFjZUNhcHMuY3Vy
cmVudEV4dGVudC5oZWlnaHQgPT0ga1N1cmZhY2VTaXplZEJ5U3dhcGNoYWluKQorICAgIHsKKyAg
ICAgICAgLy8gU3VyZmFjZSBoYXMgbm8gaW50cmluc2ljIHNpemU7IHVzZSBjdXJyZW50IHNpemUu
CisgICAgICAgICp2YWx1ZSA9IGdldEhlaWdodCgpOworICAgICAgICByZXR1cm4gZWdsOjpOb0Vy
cm9yKCk7CisgICAgfQorCisgICAgVmtTdXJmYWNlQ2FwYWJpbGl0aWVzS0hSIHN1cmZhY2VDYXBz
OworICAgIGFuZ2xlOjpSZXN1bHQgcmVzdWx0ID0gZ2V0VXNlckV4dGVudHNJbXBsKGRpc3BsYXlW
aywgJnN1cmZhY2VDYXBzKTsKKyAgICBpZiAocmVzdWx0ID09IGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlKQorICAgIHsKKyAgICAgICAgLy8gVGhlIEVHTCBzcGVjIHN0YXRlcyB0aGF0IHZhbHVlIGlz
IG5vdCB3cml0dGVuIGlmIHRoZXJlIGlzIGFuIGVycm9yCisgICAgICAgIEFTU0VSVChzdXJmYWNl
Q2Fwcy5jdXJyZW50RXh0ZW50LmhlaWdodCAhPSBrU3VyZmFjZVNpemVkQnlTd2FwY2hhaW4pOwor
ICAgICAgICAqdmFsdWUgPSBzdGF0aWNfY2FzdDxFR0xpbnQ+KHN1cmZhY2VDYXBzLmN1cnJlbnRF
eHRlbnQuaGVpZ2h0KTsKKyAgICB9CisgICAgcmV0dXJuIGFuZ2xlOjpUb0VHTChyZXN1bHQsIGRp
c3BsYXlWaywgRUdMX0JBRF9TVVJGQUNFKTsKK30KKworYW5nbGU6OlJlc3VsdCBXaW5kb3dTdXJm
YWNlVms6OmdldFVzZXJFeHRlbnRzSW1wbChEaXNwbGF5VmsgKmRpc3BsYXlWaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtTdXJmYWNlQ2FwYWJp
bGl0aWVzS0hSICpzdXJmYWNlQ2FwcykgY29uc3QKK3sKKyAgICBjb25zdCBWa1BoeXNpY2FsRGV2
aWNlICZwaHlzaWNhbERldmljZSA9IGRpc3BsYXlWay0+Z2V0UmVuZGVyZXIoKS0+Z2V0UGh5c2lj
YWxEZXZpY2UoKTsKKworICAgIEFOR0xFX1ZLX1RSWShkaXNwbGF5VmssCisgICAgICAgICAgICAg
ICAgIHZrR2V0UGh5c2ljYWxEZXZpY2VTdXJmYWNlQ2FwYWJpbGl0aWVzS0hSKHBoeXNpY2FsRGV2
aWNlLCBtU3VyZmFjZSwgc3VyZmFjZUNhcHMpKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKK30KKwogRUdMaW50IFdpbmRvd1N1cmZhY2VWazo6aXNQb3N0U3ViQnVmZmVy
U3VwcG9ydGVkKCkgY29uc3QKIHsKICAgICAvLyBUT0RPKGptYWRpbGwpCkBAIC0xNTAzLDIxICsx
NTk2LDE5IEBAIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjppbml0aWFsaXplQ29udGVu
dHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKICAgICB2azo6SW1hZ2VIZWxwZXIgKmlt
YWdlID0KICAgICAgICAgaXNNdWx0aVNhbXBsZWQoKSA/ICZtQ29sb3JJbWFnZU1TIDogJm1Td2Fw
Y2hhaW5JbWFnZXNbbUN1cnJlbnRTd2FwY2hhaW5JbWFnZUluZGV4XS5pbWFnZTsKLSAgICBpbWFn
ZS0+c3RhZ2VTdWJyZXNvdXJjZVJvYnVzdENsZWFyKGltYWdlSW5kZXgsIGltYWdlLT5nZXRGb3Jt
YXQoKSk7CisgICAgaW1hZ2UtPnN0YWdlUm9idXN0UmVzb3VyY2VDbGVhcihpbWFnZUluZGV4KTsK
ICAgICBBTkdMRV9UUlkoaW1hZ2UtPmZsdXNoQWxsU3RhZ2VkVXBkYXRlcyhjb250ZXh0VmspKTsK
IAogICAgIGlmIChtRGVwdGhTdGVuY2lsSW1hZ2UudmFsaWQoKSkKICAgICB7Ci0gICAgICAgIG1E
ZXB0aFN0ZW5jaWxJbWFnZS5zdGFnZVN1YnJlc291cmNlUm9idXN0Q2xlYXIoZ2w6OkltYWdlSW5k
ZXg6Ok1ha2UyRCgwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtRGVwdGhTdGVuY2lsSW1hZ2UuZ2V0Rm9ybWF0KCkpOworICAgICAgICBt
RGVwdGhTdGVuY2lsSW1hZ2Uuc3RhZ2VSb2J1c3RSZXNvdXJjZUNsZWFyKGdsOjpJbWFnZUluZGV4
OjpNYWtlMkQoMCkpOwogICAgICAgICBBTkdMRV9UUlkobURlcHRoU3RlbmNpbEltYWdlLmZsdXNo
QWxsU3RhZ2VkVXBkYXRlcyhjb250ZXh0VmspKTsKICAgICB9CiAKICAgICByZXR1cm4gYW5nbGU6
OlJlc3VsdDo6Q29udGludWU7CiB9CiAKLWFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjp1
cGRhdGVBbmREcmF3T3ZlcmxheShDb250ZXh0VmsgKmNvbnRleHRWaywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTd2FwY2hhaW5JbWFnZSAqaW1h
Z2UpIGNvbnN0Cit2b2lkIFdpbmRvd1N1cmZhY2VWazo6dXBkYXRlT3ZlcmxheShDb250ZXh0Vmsg
KmNvbnRleHRWaykgY29uc3QKIHsKICAgICBjb25zdCBnbDo6T3ZlcmxheVR5cGUgKm92ZXJsYXkg
PSBjb250ZXh0VmstPmdldE92ZXJsYXkoKTsKICAgICBPdmVybGF5VmsgKm92ZXJsYXlWayAgICAg
ICAgICAgPSB2azo6R2V0SW1wbChvdmVybGF5KTsKQEAgLTE1MjUsNyArMTYxNiw3IEBAIGFuZ2xl
OjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjp1cGRhdGVBbmREcmF3T3ZlcmxheShDb250ZXh0Vmsg
KmNvbnRleHRWaywKICAgICAvLyBJZiBvdmVybGF5IGlzIGRpc2FibGVkLCBub3RoaW5nIHRvIGRv
LgogICAgIGlmIChvdmVybGF5VmsgPT0gbnVsbHB0cikKICAgICB7Ci0gICAgICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJl
bmRlcmVyVmsgKnJlbmRlcmVyVmsgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCk7CkBAIC0xNTQw
LDYgKzE2MzEsMTkgQEAgYW5nbGU6OlJlc3VsdCBXaW5kb3dTdXJmYWNlVms6OnVwZGF0ZUFuZERy
YXdPdmVybGF5KENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICBvdmVybGF5LT5nZXRDb3Vu
dFdpZGdldChnbDo6V2lkZ2V0SWQ6OlZ1bGthblZhbGlkYXRpb25NZXNzYWdlQ291bnQpCiAgICAg
ICAgICAgICAtPmFkZCh2YWxpZGF0aW9uTWVzc2FnZUNvdW50KTsKICAgICB9Cit9CisKK0FOR0xF
X0lOTElORSBib29sIFdpbmRvd1N1cmZhY2VWazo6b3ZlcmxheUhhc0VuYWJsZWRXaWRnZXQoQ29u
dGV4dFZrICpjb250ZXh0VmspIGNvbnN0Cit7CisgICAgY29uc3QgZ2w6Ok92ZXJsYXlUeXBlICpv
dmVybGF5ID0gY29udGV4dFZrLT5nZXRPdmVybGF5KCk7CisgICAgT3ZlcmxheVZrICpvdmVybGF5
VmsgICAgICAgICAgID0gdms6OkdldEltcGwob3ZlcmxheSk7CisgICAgcmV0dXJuIG92ZXJsYXlW
ayAmJiBvdmVybGF5VmstPmdldEVuYWJsZWRXaWRnZXRDb3VudCgpID4gMDsKK30KKworYW5nbGU6
OlJlc3VsdCBXaW5kb3dTdXJmYWNlVms6OmRyYXdPdmVybGF5KENvbnRleHRWayAqY29udGV4dFZr
LCBTd2FwY2hhaW5JbWFnZSAqaW1hZ2UpIGNvbnN0Cit7CisgICAgY29uc3QgZ2w6Ok92ZXJsYXlU
eXBlICpvdmVybGF5ID0gY29udGV4dFZrLT5nZXRPdmVybGF5KCk7CisgICAgT3ZlcmxheVZrICpv
dmVybGF5VmsgICAgICAgICAgID0gdms6OkdldEltcGwob3ZlcmxheSk7CiAKICAgICAvLyBEcmF3
IG92ZXJsYXkKICAgICBjb25zdCB2azo6SW1hZ2VWaWV3ICppbWFnZVZpZXcgPSBudWxscHRyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi9TdXJmYWNlVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vU3VyZmFjZVZrLmgKaW5kZXggZTA2OWEwMzI2M2ZmOWEyOThhMDJj
MWRiZThjNWVmM2FmNjBlOWNjZi4uZWIwMDRmYmYwZjFiZGIzNDBiNjZiNjQwYmRjNmNlZGMyMzIw
YTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9TdXJmYWNlVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1N1cmZhY2VWay5oCkBAIC0xMCwxNyArMTAsMTYg
QEAKICNpZm5kZWYgTElCQU5HTEVfUkVOREVSRVJfVlVMS0FOX1NVUkZBQ0VWS19IXwogI2RlZmlu
ZSBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fU1VSRkFDRVZLX0hfCiAKLSNpbmNsdWRlICJ2b2xr
LmgiCi0KICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9TdXJmYWNlSW1wbC5oIgogI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJUYXJnZXRWay5oIgorI2luY2x1ZGUg
ImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWFkZXJzLmgiCiAjaW5jbHVkZSAibGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlbHBlcnMuaCIKIAogbmFtZXNwYWNlIHJ4CiB7CiBjbGFz
cyBSZW5kZXJlclZrOwogCi1jbGFzcyBTdXJmYWNlVmsgOiBwdWJsaWMgU3VyZmFjZUltcGwKK2Ns
YXNzIFN1cmZhY2VWayA6IHB1YmxpYyBTdXJmYWNlSW1wbCwgcHVibGljIGFuZ2xlOjpPYnNlcnZl
ckludGVyZmFjZQogewogICBwdWJsaWM6CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRBdHRhY2htZW50
UmVuZGVyVGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LApAQCAtMzMsNiArMzIsOSBA
QCBjbGFzcyBTdXJmYWNlVmsgOiBwdWJsaWMgU3VyZmFjZUltcGwKICAgICBTdXJmYWNlVmsoY29u
c3QgZWdsOjpTdXJmYWNlU3RhdGUgJnN1cmZhY2VTdGF0ZSk7CiAgICAgflN1cmZhY2VWaygpIG92
ZXJyaWRlOwogCisgICAgLy8gV2UgbW9uaXRvciB0aGUgc3RhZ2luZyBidWZmZXIgZm9yIGNoYW5n
ZXMuIFRoaXMgaGFuZGxlcyBzdGFnZWQgZGF0YSBmcm9tIG91dHNpZGUgdGhpcyBjbGFzcy4KKyAg
ICB2b2lkIG9uU3ViamVjdFN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0SW5kZXggaW5kZXgsIGFu
Z2xlOjpTdWJqZWN0TWVzc2FnZSBtZXNzYWdlKSBvdmVycmlkZTsKKwogICAgIFJlbmRlclRhcmdl
dFZrIG1Db2xvclJlbmRlclRhcmdldDsKICAgICBSZW5kZXJUYXJnZXRWayBtRGVwdGhTdGVuY2ls
UmVuZGVyVGFyZ2V0OwogfTsKQEAgLTc4LDcgKzgwLDcgQEAgY2xhc3MgT2Zmc2NyZWVuU3VyZmFj
ZVZrIDogcHVibGljIFN1cmZhY2VWawogICBwcm90ZWN0ZWQ6CiAgICAgc3RydWN0IEF0dGFjaG1l
bnRJbWFnZSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHsKLSAgICAgICAgQXR0YWNo
bWVudEltYWdlKCk7CisgICAgICAgIEF0dGFjaG1lbnRJbWFnZShTdXJmYWNlVmsgKnN1cmZhY2VW
ayk7CiAgICAgICAgIH5BdHRhY2htZW50SW1hZ2UoKTsKIAogICAgICAgICBhbmdsZTo6UmVzdWx0
IGluaXRpYWxpemUoRGlzcGxheVZrICpkaXNwbGF5VmssCkBAIC05OCw2ICsxMDAsNyBAQCBjbGFz
cyBPZmZzY3JlZW5TdXJmYWNlVmsgOiBwdWJsaWMgU3VyZmFjZVZrCiAKICAgICAgICAgdms6Oklt
YWdlSGVscGVyIGltYWdlOwogICAgICAgICB2azo6SW1hZ2VWaWV3SGVscGVyIGltYWdlVmlld3M7
CisgICAgICAgIGFuZ2xlOjpPYnNlcnZlckJpbmRpbmcgaW1hZ2VPYnNlcnZlckJpbmRpbmc7CiAg
ICAgfTsKIAogICAgIHZpcnR1YWwgYW5nbGU6OlJlc3VsdCBpbml0aWFsaXplSW1wbChEaXNwbGF5
VmsgKmRpc3BsYXlWayk7CkBAIC0yMTEsNiArMjE0LDE3IEBAIGNsYXNzIFdpbmRvd1N1cmZhY2VW
ayA6IHB1YmxpYyBTdXJmYWNlVmsKICAgICAvLyB3aWR0aCBhbmQgaGVpZ2h0IGNhbiBjaGFuZ2Ug
d2l0aCBjbGllbnQgd2luZG93IHJlc2l6aW5nCiAgICAgRUdMaW50IGdldFdpZHRoKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgRUdMaW50IGdldEhlaWdodCgpIGNvbnN0IG92ZXJyaWRlOworICAgIC8v
IE5vdGU6IHdpbmRvd3MgY2Fubm90IGJlIHJlc2l6ZWQgb24gQW5kcm9pZC4gIFRoZSBhcHByb2Fj
aCByZXF1aXJlcworICAgIC8vIGNhbGxpbmcgdmtHZXRQaHlzaWNhbERldmljZVN1cmZhY2VDYXBh
YmlsaXRpZXNLSFIuICBIb3dldmVyLCB0aGF0IGlzCisgICAgLy8gZXhwZW5zaXZlOyBhbmQgdGhl
cmUgYXJlIHRyb3VibGVzb21lIHRpbWluZyBpc3N1ZXMgZm9yIG90aGVyIHBhcnRzIG9mCisgICAg
Ly8gQU5HTEUgKHdoaWNoIGNhdXNlIHRlc3QgZmFpbHVyZXMgYW5kIGNyYXNoZXMpLiAgVGhlcmVm
b3JlLCBhCisgICAgLy8gc3BlY2lhbC1BbmRyb2lkLW9ubHkgcGF0aCBpcyBjcmVhdGVkIGp1c3Qg
Zm9yIHRoZSBxdWVyeWluZyBvZiBFR0xfV0lEVEgKKyAgICAvLyBhbmQgRUdMX0hFSUdIVC4KKyAg
ICAvLyBodHRwczovL2lzc3VldHJhY2tlci5nb29nbGUuY29tL2lzc3Vlcy8xNTMzMjk5ODAKKyAg
ICBlZ2w6OkVycm9yIGdldFVzZXJXaWR0aChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVH
TGludCAqdmFsdWUpIGNvbnN0IG92ZXJyaWRlOworICAgIGVnbDo6RXJyb3IgZ2V0VXNlckhlaWdo
dChjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAqdmFsdWUpIGNvbnN0IG92ZXJy
aWRlOworICAgIGFuZ2xlOjpSZXN1bHQgZ2V0VXNlckV4dGVudHNJbXBsKERpc3BsYXlWayAqZGlz
cGxheVZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrU3VyZmFjZUNh
cGFiaWxpdGllc0tIUiAqc3VyZmFjZUNhcHMpIGNvbnN0OwogCiAgICAgRUdMaW50IGlzUG9zdFN1
YkJ1ZmZlclN1cHBvcnRlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEVHTGludCBnZXRTd2FwQmVo
YXZpb3IoKSBjb25zdCBvdmVycmlkZTsKQEAgLTI2MCw3ICsyNzQsOSBAQCBjbGFzcyBXaW5kb3dT
dXJmYWNlVmsgOiBwdWJsaWMgU3VyZmFjZVZrCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHZvaWQgKnBOZXh0Q2hhaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKnBy
ZXNlbnRPdXRPZkRhdGUpOwogCi0gICAgYW5nbGU6OlJlc3VsdCB1cGRhdGVBbmREcmF3T3Zlcmxh
eShDb250ZXh0VmsgKmNvbnRleHRWaywgaW1wbDo6U3dhcGNoYWluSW1hZ2UgKmltYWdlKSBjb25z
dDsKKyAgICB2b2lkIHVwZGF0ZU92ZXJsYXkoQ29udGV4dFZrICpjb250ZXh0VmspIGNvbnN0Owor
ICAgIGJvb2wgb3ZlcmxheUhhc0VuYWJsZWRXaWRnZXQoQ29udGV4dFZrICpjb250ZXh0VmspIGNv
bnN0OworICAgIGFuZ2xlOjpSZXN1bHQgZHJhd092ZXJsYXkoQ29udGV4dFZrICpjb250ZXh0Vmss
IGltcGw6OlN3YXBjaGFpbkltYWdlICppbWFnZSkgY29uc3Q7CiAKICAgICBhbmdsZTo6UmVzdWx0
IG5ld1ByZXNlbnRTZW1hcGhvcmUodms6OkNvbnRleHQgKmNvbnRleHQsIHZrOjpTZW1hcGhvcmUg
KnNlbWFwaG9yZU91dCk7CiAKQEAgLTI5MSw2ICszMDcsNyBAQCBjbGFzcyBXaW5kb3dTdXJmYWNl
VmsgOiBwdWJsaWMgU3VyZmFjZVZrCiAgICAgc3RkOjp2ZWN0b3I8aW1wbDo6U3dhcGNoYWluQ2xl
YW51cERhdGE+IG1PbGRTd2FwY2hhaW5zOwogCiAgICAgc3RkOjp2ZWN0b3I8aW1wbDo6U3dhcGNo
YWluSW1hZ2U+IG1Td2FwY2hhaW5JbWFnZXM7CisgICAgc3RkOjp2ZWN0b3I8YW5nbGU6Ok9ic2Vy
dmVyQmluZGluZz4gbVN3YXBjaGFpbkltYWdlQmluZGluZ3M7CiAgICAgdms6OlNlbWFwaG9yZSBt
QWNxdWlyZUltYWdlU2VtYXBob3JlOwogICAgIHVpbnQzMl90IG1DdXJyZW50U3dhcGNoYWluSW1h
Z2VJbmRleDsKIApAQCAtMjk5LDEwICszMTYsMTIgQEAgY2xhc3MgV2luZG93U3VyZmFjZVZrIDog
cHVibGljIFN1cmZhY2VWawogICAgIC8vIERlcHRoL3N0ZW5jaWwgaW1hZ2UuICBQb3NzaWJseSBt
dWx0aXNhbXBsZWQuCiAgICAgdms6OkltYWdlSGVscGVyIG1EZXB0aFN0ZW5jaWxJbWFnZTsKICAg
ICB2azo6SW1hZ2VWaWV3SGVscGVyIG1EZXB0aFN0ZW5jaWxJbWFnZVZpZXdzOworICAgIGFuZ2xl
OjpPYnNlcnZlckJpbmRpbmcgbURlcHRoU3RlbmNpbEltYWdlQmluZGluZzsKIAogICAgIC8vIE11
bHRpc2FtcGxlIGNvbG9yIGltYWdlLCB2aWV3IGFuZCBmcmFtZWJ1ZmZlciwgaWYgbXVsdGlzYW1w
bGluZyBlbmFibGVkLgogICAgIHZrOjpJbWFnZUhlbHBlciBtQ29sb3JJbWFnZU1TOwogICAgIHZr
OjpJbWFnZVZpZXdIZWxwZXIgbUNvbG9ySW1hZ2VNU1ZpZXdzOworICAgIGFuZ2xlOjpPYnNlcnZl
ckJpbmRpbmcgbUNvbG9ySW1hZ2VNU0JpbmRpbmc7CiAgICAgdms6OkZyYW1lYnVmZmVyIG1GcmFt
ZWJ1ZmZlck1TOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TeW5jVmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TeW5jVmsuY3BwCmluZGV4IDA0OWM3
ZDZkNDU1OWZiY2E1ZjE4MGYwMGQwMjFjZDMyNGY0NjRlODkuLjkyNDBiZTAzM2I4NjMwNjIzZTY0
NTk0YmRjZmQ3MmQ4ZDg5YTNlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU3luY1ZrLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1N5bmNWay5jcHAKQEAg
LTE5LDE1ICsxOSw5IEBAIG5hbWVzcGFjZSByeAogewogbmFtZXNwYWNlIHZrCiB7Ci1TeW5jSGVs
cGVyOjpTeW5jSGVscGVyKCkKLXsKLSAgICBtVXNlLmluaXQoKTsKLX0KK1N5bmNIZWxwZXI6OlN5
bmNIZWxwZXIoKSB7fQogCi1TeW5jSGVscGVyOjp+U3luY0hlbHBlcigpCi17Ci0gICAgbVVzZS5y
ZWxlYXNlKCk7Ci19CitTeW5jSGVscGVyOjp+U3luY0hlbHBlcigpIHt9CiAKIHZvaWQgU3luY0hl
bHBlcjo6cmVsZWFzZVRvUmVuZGVyZXIoUmVuZGVyZXJWayAqcmVuZGVyZXIpCiB7CkBAIC01Miwx
MCArNDYsMTEgQEAgYW5nbGU6OlJlc3VsdCBTeW5jSGVscGVyOjppbml0aWFsaXplKENvbnRleHRW
ayAqY29udGV4dFZrKQogCiAgICAgbUV2ZW50ID0gZXZlbnQucmVsZWFzZSgpOwogCi0gICAgdms6
OlByaW1hcnlDb21tYW5kQnVmZmVyICpwcmltYXJ5OwotICAgIEFOR0xFX1RSWShjb250ZXh0Vmst
PmZsdXNoQW5kR2V0UHJpbWFyeUNvbW1hbmRCdWZmZXIoJnByaW1hcnkpKTsKLSAgICBwcmltYXJ5
LT5zZXRFdmVudChtRXZlbnQuZ2V0SGFuZGxlKCksIFZLX1BJUEVMSU5FX1NUQUdFX0JPVFRPTV9P
Rl9QSVBFX0JJVCk7Ci0gICAgY29udGV4dFZrLT5nZXRSZXNvdXJjZVVzZUxpc3QoKS5hZGQobVVz
ZSk7CisgICAgdms6OkNvbW1hbmRCdWZmZXIgKm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZl
cjsKKyAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1
ZmZlcigmb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKSk7CisgICAgb3V0c2lkZVJlbmRl
clBhc3NDb21tYW5kQnVmZmVyLT5zZXRFdmVudChtRXZlbnQuZ2V0SGFuZGxlKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9C
T1RUT01fT0ZfUElQRV9CSVQpOworICAgIHJldGFpbigmY29udGV4dFZrLT5nZXRSZXNvdXJjZVVz
ZUxpc3QoKSk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC0x
MDYsMjQgKzEwMSwyMTUgQEAgYW5nbGU6OlJlc3VsdCBTeW5jSGVscGVyOjpjbGllbnRXYWl0KENv
bnRleHQgKmNvbnRleHQsCiAKIGFuZ2xlOjpSZXN1bHQgU3luY0hlbHBlcjo6c2VydmVyV2FpdChD
b250ZXh0VmsgKmNvbnRleHRWaykKIHsKLSAgICB2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKnBy
aW1hcnk7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Zmx1c2hBbmRHZXRQcmltYXJ5Q29tbWFu
ZEJ1ZmZlcigmcHJpbWFyeSkpOwotICAgIHByaW1hcnktPndhaXRFdmVudHMoMSwgbUV2ZW50LnB0
cigpLCBWS19QSVBFTElORV9TVEFHRV9CT1RUT01fT0ZfUElQRV9CSVQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9CT1RUT01fT0ZfUElQRV9CSVQsIDAsIG51bGxw
dHIsIDAsIG51bGxwdHIsIDAsIG51bGxwdHIpOwotICAgIGNvbnRleHRWay0+Z2V0UmVzb3VyY2VV
c2VMaXN0KCkuYWRkKG1Vc2UpOworICAgIHZrOjpDb21tYW5kQnVmZmVyICpvdXRzaWRlUmVuZGVy
UGFzc0NvbW1hbmRCdWZmZXI7CisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFz
c0FuZEdldENvbW1hbmRCdWZmZXIoJm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikpOwor
ICAgIG91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlci0+d2FpdEV2ZW50cygKKyAgICAgICAg
MSwgbUV2ZW50LnB0cigpLCBWS19QSVBFTElORV9TVEFHRV9CT1RUT01fT0ZfUElQRV9CSVQsIFZL
X1BJUEVMSU5FX1NUQUdFX0JPVFRPTV9PRl9QSVBFX0JJVCwKKyAgICAgICAgMCwgbnVsbHB0ciwg
MCwgbnVsbHB0ciwgMCwgbnVsbHB0cik7CisgICAgcmV0YWluKCZjb250ZXh0VmstPmdldFJlc291
cmNlVXNlTGlzdCgpKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
LWFuZ2xlOjpSZXN1bHQgU3luY0hlbHBlcjo6Z2V0U3RhdHVzKENvbnRleHQgKmNvbnRleHQsIGJv
b2wgKnNpZ25hbGVkKQorYW5nbGU6OlJlc3VsdCBTeW5jSGVscGVyOjpnZXRTdGF0dXMoQ29udGV4
dCAqY29udGV4dCwgYm9vbCAqc2lnbmFsZWQpIGNvbnN0CiB7CiAgICAgVmtSZXN1bHQgcmVzdWx0
ID0gbUV2ZW50LmdldFN0YXR1cyhjb250ZXh0LT5nZXREZXZpY2UoKSk7CiAgICAgaWYgKHJlc3Vs
dCAhPSBWS19FVkVOVF9TRVQgJiYgcmVzdWx0ICE9IFZLX0VWRU5UX1JFU0VUKQogICAgIHsKICAg
ICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHQsIHJlc3VsdCk7CiAgICAgfQotICAgICpzaWduYWxl
ZCA9IHJlc3VsdCA9PSBWS19FVkVOVF9TRVQ7CisgICAgKnNpZ25hbGVkID0gKHJlc3VsdCA9PSBW
S19FVkVOVF9TRVQpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KKwor
dm9pZCBTeW5jSGVscGVyTmF0aXZlRmVuY2U6OnJlbGVhc2VUb1JlbmRlcmVyKFJlbmRlcmVyVmsg
KnJlbmRlcmVyKQoreworICAgIHJlbmRlcmVyLT5jb2xsZWN0R2FyYmFnZUFuZFJlaW5pdCgmbVVz
ZSwgJm1GZW5jZVdpdGhGZCk7Cit9CisKKy8vIE5vdGU6IEhhdmluZyBtRmVuY2VXaXRoRmQgaG9s
ZCB0aGUgRkQsIHNvIHRoYXQgb3duZXJzaGlwIGlzIHdpdGggSUNELiBBbnkgY2FsbCB0byBjbGll
bnRXYWl0CisvLyBvciBzZXJ2ZXJXYWl0IHdpbGwgZW5zdXJlIHRoZSBGRCBvciBkdXAgb2YgRkQg
Z29lcyB0byBhcHBsaWNhdGlvbiBvciBJQ0QuIEF0IHJlbGVhc2UsIGFib3ZlCisvLyBpdCdzIEdh
cmJhZ2UgY29sbGVjdGVkL2Rlc3Ryb3llZC4gT3RoZXJ3aXNlIGNhbid0IHRpbWUgd2hlbiB0byBj
bG9zZShmZCk7CithbmdsZTo6UmVzdWx0IFN5bmNIZWxwZXJOYXRpdmVGZW5jZTo6aW5pdGlhbGl6
ZVdpdGhGZChDb250ZXh0VmsgKmNvbnRleHRWaywgaW50IGluRmQpCit7CisgICAgUmVuZGVyZXJW
ayAqcmVuZGVyZXIgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCk7CisgICAgVmtEZXZpY2UgZGV2
aWNlICAgICAgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICAvLyBDcmVhdGUgZmVuY2VJ
bmZvIGJhc2UuCisgICAgVmtGZW5jZUNyZWF0ZUluZm8gZmVuY2VDcmVhdGVJbmZvID0ge307Cisg
ICAgZmVuY2VDcmVhdGVJbmZvLnNUeXBlICAgICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVf
RkVOQ0VfQ1JFQVRFX0lORk87CisgICAgZmVuY2VDcmVhdGVJbmZvLmZsYWdzICAgICAgICAgICAg
ID0gMDsKKworICAgIC8vIElmIHZhbGlkIEZEIHByb3ZpZGVkIGJ5IGFwcGxpY2F0aW9uIC0gaW1w
b3J0IGl0IHRvIGZlbmNlLgorICAgIGlmIChpbkZkID4ga0ludmFsaWRGZW5jZUZkKQorICAgIHsK
KyAgICAgICAgLy8gSW5pdGlhbGl6ZS9jcmVhdGUgYSBWa0ZlbmNlIGhhbmRsZQorICAgICAgICBB
TkdMRV9WS19UUlkoY29udGV4dFZrLCBtRmVuY2VXaXRoRmQuaW5pdChkZXZpY2UsIGZlbmNlQ3Jl
YXRlSW5mbykpOworCisgICAgICAgIC8vIEltcG9ydCBGRCAtIGFmdGVyIGNyZWF0aW5nIGZlbmNl
LgorICAgICAgICBWa0ltcG9ydEZlbmNlRmRJbmZvS0hSIGltcG9ydEZlbmNlRmRJbmZvID0ge307
CisgICAgICAgIGltcG9ydEZlbmNlRmRJbmZvLnNUeXBlICAgICAgICAgICAgICAgICAgPSBWS19T
VFJVQ1RVUkVfVFlQRV9JTVBPUlRfRkVOQ0VfRkRfSU5GT19LSFI7CisgICAgICAgIGltcG9ydEZl
bmNlRmRJbmZvLnBOZXh0ICAgICAgICAgICAgICAgICAgPSBudWxscHRyOworICAgICAgICBpbXBv
cnRGZW5jZUZkSW5mby5mZW5jZSAgICAgICAgICAgICAgICAgID0gbUZlbmNlV2l0aEZkLmdldEhh
bmRsZSgpOworICAgICAgICBpbXBvcnRGZW5jZUZkSW5mby5mbGFncyAgICAgICAgICAgICAgICAg
ID0gVktfRkVOQ0VfSU1QT1JUX1RFTVBPUkFSWV9CSVRfS0hSOworICAgICAgICBpbXBvcnRGZW5j
ZUZkSW5mby5oYW5kbGVUeXBlICAgICAgICAgICAgID0gVktfRVhURVJOQUxfRkVOQ0VfSEFORExF
X1RZUEVfU1lOQ19GRF9CSVQ7CisgICAgICAgIGltcG9ydEZlbmNlRmRJbmZvLmZkICAgICAgICAg
ICAgICAgICAgICAgPSBpbkZkOworCisgICAgICAgIFZrUmVzdWx0IHJlc3VsdCA9IG1GZW5jZVdp
dGhGZC5pbXBvcnRGZChkZXZpY2UsIGltcG9ydEZlbmNlRmRJbmZvKTsKKyAgICAgICAgaWYgKHJl
c3VsdCAhPSBWS19TVUNDRVNTKQorICAgICAgICB7CisgICAgICAgICAgICBtRmVuY2VXaXRoRmQu
ZGVzdHJveShkZXZpY2UpOworICAgICAgICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHRWaywgcmVz
dWx0KTsKKyAgICAgICAgfQorICAgICAgICByZXRhaW4oJmNvbnRleHRWay0+Z2V0UmVzb3VyY2VV
c2VMaXN0KCkpOworICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAg
fQorCisgICAgLy8gSWYgaW52YWxpZCBGRCBwcm92aWRlZCBieSBhcHBsaWNhdGlvbiAtIGNyZWF0
ZSBvbmUgd2l0aCBmZW5jZS4KKyAgICBpZiAoaW5GZCA9PSBrSW52YWxpZEZlbmNlRmQpCisgICAg
eworICAgICAgICAvLyBBdHRhY2ggZXhwb3J0IEZELWhhbmRsZVR5cGUsIHBOZXh0IHN0cnVjdCwg
dG8gaW5kaWNhdGUgd2UgbWF5IHdhbnQgdG8gZXhwb3J0IEZELgorICAgICAgICBWa0V4cG9ydEZl
bmNlQ3JlYXRlSW5mbyBleHBvcnRDcmVhdGVJbmZvID0ge307CisgICAgICAgIGV4cG9ydENyZWF0
ZUluZm8uc1R5cGUgICAgICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9FWFBPUlRf
RkVOQ0VfQ1JFQVRFX0lORk87CisgICAgICAgIGV4cG9ydENyZWF0ZUluZm8uaGFuZGxlVHlwZXMg
ICAgICAgICAgICAgPSBWS19FWFRFUk5BTF9GRU5DRV9IQU5ETEVfVFlQRV9TWU5DX0ZEX0JJVF9L
SFI7CisgICAgICAgIGZlbmNlQ3JlYXRlSW5mby5wTmV4dCAgICAgICAgICAgICAgICAgICAgPSAm
ZXhwb3J0Q3JlYXRlSW5mbzsKKworICAgICAgICAvLyBJbml0aWFsaXplL2NyZWF0ZSBhIFZrRmVu
Y2UgaGFuZGxlCisgICAgICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIG1GZW5jZVdpdGhGZC5p
bml0KGRldmljZSwgZmVuY2VDcmVhdGVJbmZvKSk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICBT
cGVjOiAiV2hlbiBhIGZlbmNlIHN5bmMgb2JqZWN0IGlzIGNyZWF0ZWQgb3Igd2hlbiBhbiBFR0wg
bmF0aXZlIGZlbmNlIHN5bmMKKyAgICAgICAgICBvYmplY3QgaXMgY3JlYXRlZCB3aXRoIHRoZSBF
R0xfU1lOQ19OQVRJVkVfRkVOQ0VfRkRfQU5EUk9JRCBhdHRyaWJ1dGUgc2V0IHRvCisgICAgICAg
ICAgRUdMX05PX05BVElWRV9GRU5DRV9GRF9BTkRST0lELCBlZ2xDcmVhdGVTeW5jS0hSIGFsc28g
aW5zZXJ0cyBhIGZlbmNlIGNvbW1hbmQKKyAgICAgICAgICBpbnRvIHRoZSBjb21tYW5kIHN0cmVh
bSBvZiB0aGUgYm91bmQgY2xpZW50IEFQSSdzIGN1cnJlbnQgY29udGV4dCBhbmQgYXNzb2NpYXRl
cyBpdAorICAgICAgICAgIHdpdGggdGhlIG5ld2x5IGNyZWF0ZWQgc3luYyBvYmplY3QuCisgICAg
ICAgICovCisgICAgICAgIC8vIEZsdXNoIGZpcnN0IGJlY2F1c2UgdGhlIGZlbmNlIGNvbWVzIGFm
dGVyIGN1cnJlbnQgcGVuZGluZyBzZXQgb2YgY29tbWFuZHMuCisgICAgICAgIEFOR0xFX1RSWShj
b250ZXh0VmstPmZsdXNoSW1wbChudWxscHRyKSk7CisKKyAgICAgICAgcmV0YWluKCZjb250ZXh0
VmstPmdldFJlc291cmNlVXNlTGlzdCgpKTsKKworICAgICAgICBTZXJpYWwgc2VyaWFsT3V0Owor
ICAgICAgICBWa1N1Ym1pdEluZm8gc3VibWl0SW5mbyA9IHt9OworICAgICAgICBzdWJtaXRJbmZv
LnNUeXBlICAgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX1NVQk1JVF9JTkZPOworICAgICAgICBp
ZiAocmVuZGVyZXItPnF1ZXVlU3VibWl0KGNvbnRleHRWaywgY29udGV4dFZrLT5nZXRQcmlvcml0
eSgpLCBzdWJtaXRJbmZvLCAmbUZlbmNlV2l0aEZkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZzZXJpYWxPdXQpICE9IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlKQorICAgICAg
ICB7CisgICAgICAgICAgICBtRmVuY2VXaXRoRmQuZGVzdHJveShkZXZpY2UpOworICAgICAgICAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0KKyAgICAvLyBTaG91bGQgbm90IGdldCBo
ZXJlCisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7Cit9CisKK2FuZ2xlOjpSZXN1bHQg
U3luY0hlbHBlck5hdGl2ZUZlbmNlOjpjbGllbnRXYWl0KENvbnRleHQgKmNvbnRleHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0VmsgKmNv
bnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgZmx1c2hDb21tYW5kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ2NF90IHRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWa1Jlc3VsdCAqb3V0UmVzdWx0KQoreworICAgIFJlbmRl
cmVyVmsgKnJlbmRlcmVyID0gY29udGV4dC0+Z2V0UmVuZGVyZXIoKTsKKworICAgIC8vIElmIGFs
cmVhZHkgc2lnbmFsZWQsIGRvbid0IHdhaXQKKyAgICBib29sIGFscmVhZHlTaWduYWxlZCA9IGZh
bHNlOworICAgIEFOR0xFX1RSWShnZXRTdGF0dXMoY29udGV4dCwgJmFscmVhZHlTaWduYWxlZCkp
OworICAgIGlmIChhbHJlYWR5U2lnbmFsZWQpCisgICAgeworICAgICAgICAqb3V0UmVzdWx0ID0g
VktfU1VDQ0VTUzsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAg
IH0KKworICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywgdGhlcmUncyBubyBuZWVkIHRvIHdhaXQs
IHNvIHJldHVybiB0aW1lb3V0IGFscmVhZHkuCisgICAgaWYgKHRpbWVvdXQgPT0gMCkKKyAgICB7
CisgICAgICAgICpvdXRSZXN1bHQgPSBWS19USU1FT1VUOworICAgICAgICByZXR1cm4gYW5nbGU6
OlJlc3VsdDo6Q29udGludWU7CisgICAgfQorCisgICAgaWYgKGZsdXNoQ29tbWFuZHMgJiYgY29u
dGV4dFZrKQorICAgIHsKKyAgICAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Zmx1c2hJbXBsKG51
bGxwdHIpKTsKKyAgICB9CisgICAgLy8gV2FpdCBmb3IgbUZlbmNlV2l0aEZkIHRvIGJlIHNpZ25h
bGVkLgorICAgIFZrUmVzdWx0IHN0YXR1cyA9IG1GZW5jZVdpdGhGZC53YWl0KHJlbmRlcmVyLT5n
ZXREZXZpY2UoKSwgdGltZW91dCk7CisKKyAgICAvLyBDaGVjayBmb3IgZXJyb3JzLCBidXQgZG9u
J3QgY29uc2lkZXIgdGltZW91dCBhcyBzdWNoLgorICAgIGlmIChzdGF0dXMgIT0gVktfVElNRU9V
VCkKKyAgICB7CisgICAgICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0LCBzdGF0dXMpOworICAgIH0K
KworICAgICpvdXRSZXN1bHQgPSBzdGF0dXM7CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOworfQorCithbmdsZTo6UmVzdWx0IFN5bmNIZWxwZXJOYXRpdmVGZW5jZTo6c2VydmVy
V2FpdChDb250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICBpZiAoIW1GZW5jZVdpdGhGZC52YWxp
ZCgpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7CisgICAgfQor
CisgICAgUmVuZGVyZXJWayAqcmVuZGVyZXIgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCk7Cisg
ICAgVmtEZXZpY2UgZGV2aWNlICAgICAgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICAv
LyBFeHBvcnQgYW4gRkQgZnJvbSBtRmVuY2VXaXRoRmQKKyAgICBpbnQgZmVuY2VGZCAgICAgICAg
ICAgICAgICAgICA9IGtJbnZhbGlkRmVuY2VGZDsKKyAgICBWa0ZlbmNlR2V0RmRJbmZvS0hSIGdl
dEZkSW5mbyA9IHt9OworICAgIGdldEZkSW5mby5zVHlwZSAgICAgICAgICAgICAgID0gVktfU1RS
VUNUVVJFX1RZUEVfRkVOQ0VfR0VUX0ZEX0lORk9fS0hSOworICAgIGdldEZkSW5mby5mZW5jZSAg
ICAgICAgICAgICAgID0gbUZlbmNlV2l0aEZkLmdldEhhbmRsZSgpOworICAgIGdldEZkSW5mby5o
YW5kbGVUeXBlICAgICAgICAgID0gVktfRVhURVJOQUxfRkVOQ0VfSEFORExFX1RZUEVfU1lOQ19G
RF9CSVRfS0hSOworICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIG1GZW5jZVdpdGhGZC5leHBv
cnRGZChkZXZpY2UsIGdldEZkSW5mbywgJmZlbmNlRmQpKTsKKworICAgIERldmljZVNjb3BlZDxT
ZW1hcGhvcmU+IHdhaXRTZW1hcGhvcmUoZGV2aWNlKTsKKyAgICAvLyBXYWl0IHNlbWFwaG9yZSBm
b3IgbmV4dCB2a1F1ZXVlU3VibWl0KCkuCisgICAgLy8gQ3JlYXRlIGEgU2VtYXBob3JlIHdpdGgg
aW1wb3J0ZWQgZmVuY2VGZC4KKyAgICBBTkdMRV9WS19UUlkoY29udGV4dFZrLCB3YWl0U2VtYXBo
b3JlLmdldCgpLmluaXQoZGV2aWNlKSk7CisKKyAgICBWa0ltcG9ydFNlbWFwaG9yZUZkSW5mb0tI
UiBpbXBvcnRGZEluZm8gPSB7fTsKKyAgICBpbXBvcnRGZEluZm8uc1R5cGUgICAgICAgICAgICAg
ICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9JTVBPUlRfU0VNQVBIT1JFX0ZEX0lORk9fS0hS
OworICAgIGltcG9ydEZkSW5mby5zZW1hcGhvcmUgICAgICAgICAgICAgICAgICA9IHdhaXRTZW1h
cGhvcmUuZ2V0KCkuZ2V0SGFuZGxlKCk7CisgICAgaW1wb3J0RmRJbmZvLmZsYWdzICAgICAgICAg
ICAgICAgICAgICAgID0gVktfU0VNQVBIT1JFX0lNUE9SVF9URU1QT1JBUllfQklUX0tIUjsKKyAg
ICBpbXBvcnRGZEluZm8uaGFuZGxlVHlwZSAgICAgICAgICAgICAgICAgPSBWS19FWFRFUk5BTF9T
RU1BUEhPUkVfSEFORExFX1RZUEVfU1lOQ19GRF9CSVRfS0hSOworICAgIGltcG9ydEZkSW5mby5m
ZCAgICAgICAgICAgICAgICAgICAgICAgICA9IGZlbmNlRmQ7CisgICAgQU5HTEVfVktfVFJZKGNv
bnRleHRWaywgd2FpdFNlbWFwaG9yZS5nZXQoKS5pbXBvcnRGZChkZXZpY2UsIGltcG9ydEZkSW5m
bykpOworCisgICAgLy8gRmx1c2ggY3VycmVudCB3b3JrLCBibG9jayBhZnRlciBjdXJyZW50IHBl
bmRpbmcgY29tbWFuZHMuCisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+Zmx1c2hJbXBsKG51bGxw
dHIpKTsKKworICAgIC8vIEFkZCBzZW1hcGhvcmUgdG8gbmV4dCBzdWJtaXQgam9iLgorICAgIGNv
bnRleHRWay0+aW5zZXJ0V2FpdFNlbWFwaG9yZSgmd2FpdFNlbWFwaG9yZS5nZXQoKSk7CisgICAg
Y29udGV4dFZrLT5hZGRHYXJiYWdlKCZ3YWl0U2VtYXBob3JlLmdldCgpKTsgIC8vIFRoaXMgcmVs
ZWFzZXMgdGhlIGhhbmRsZS4KKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9
CisKK2FuZ2xlOjpSZXN1bHQgU3luY0hlbHBlck5hdGl2ZUZlbmNlOjpnZXRTdGF0dXMoQ29udGV4
dCAqY29udGV4dCwgYm9vbCAqc2lnbmFsZWQpIGNvbnN0Cit7CisgICAgVmtSZXN1bHQgcmVzdWx0
ID0gbUZlbmNlV2l0aEZkLmdldFN0YXR1cyhjb250ZXh0LT5nZXREZXZpY2UoKSk7CisgICAgaWYg
KHJlc3VsdCAhPSBWS19TVUNDRVNTICYmIHJlc3VsdCAhPSBWS19OT1RfUkVBRFkpCisgICAgewor
ICAgICAgICBBTkdMRV9WS19UUlkoY29udGV4dCwgcmVzdWx0KTsKKyAgICB9CisgICAgKnNpZ25h
bGVkID0gKHJlc3VsdCA9PSBWS19TVUNDRVNTKTsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6
Q29udGludWU7Cit9CisKK2FuZ2xlOjpSZXN1bHQgU3luY0hlbHBlck5hdGl2ZUZlbmNlOjpkdXBO
YXRpdmVGZW5jZUZEKENvbnRleHQgKmNvbnRleHQsIGludCAqZmRPdXQpIGNvbnN0Cit7CisgICAg
aWYgKCFtRmVuY2VXaXRoRmQudmFsaWQoKSkKKyAgICB7CisgICAgICAgIHJldHVybiBhbmdsZTo6
UmVzdWx0OjpTdG9wOworICAgIH0KKworICAgIFZrRmVuY2VHZXRGZEluZm9LSFIgZmVuY2VHZXRG
ZEluZm8gPSB7fTsKKyAgICBmZW5jZUdldEZkSW5mby5zVHlwZSAgICAgICAgICAgICAgID0gVktf
U1RSVUNUVVJFX1RZUEVfRkVOQ0VfR0VUX0ZEX0lORk9fS0hSOworICAgIGZlbmNlR2V0RmRJbmZv
LmZlbmNlICAgICAgICAgICAgICAgPSBtRmVuY2VXaXRoRmQuZ2V0SGFuZGxlKCk7CisgICAgZmVu
Y2VHZXRGZEluZm8uaGFuZGxlVHlwZSAgICAgICAgICA9IFZLX0VYVEVSTkFMX0ZFTkNFX0hBTkRM
RV9UWVBFX1NZTkNfRkRfQklUX0tIUjsKKyAgICBBTkdMRV9WS19UUlkoY29udGV4dCwgbUZlbmNl
V2l0aEZkLmV4cG9ydEZkKGNvbnRleHQtPmdldERldmljZSgpLCBmZW5jZUdldEZkSW5mbywgZmRP
dXQpKTsKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Cit9CisKIH0gIC8vIG5h
bWVzcGFjZSB2awogCiBTeW5jVms6OlN5bmNWaygpIDogU3luY0ltcGwoKSB7fQpAQCAtMTMyLDcg
KzMxOCw3IEBAIFN5bmNWazo6flN5bmNWaygpIHt9CiAKIHZvaWQgU3luY1ZrOjpvbkRlc3Ryb3ko
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgbUZlbmNlU3luYy5yZWxlYXNlVG9S
ZW5kZXJlcih2azo6R2V0SW1wbChjb250ZXh0KS0+Z2V0UmVuZGVyZXIoKSk7CisgICAgbVN5bmNI
ZWxwZXIucmVsZWFzZVRvUmVuZGVyZXIodms6OkdldEltcGwoY29udGV4dCktPmdldFJlbmRlcmVy
KCkpOwogfQogCiBhbmdsZTo6UmVzdWx0IFN5bmNWazo6c2V0KGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LCBHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKQpAQCAtMTQwLDcgKzMy
Niw3IEBAIGFuZ2xlOjpSZXN1bHQgU3luY1ZrOjpzZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsIEdMZW51bSBjb25kaXRpb24sIEdMYml0ZmllCiAgICAgQVNTRVJUKGNvbmRpdGlvbiA9PSBH
TF9TWU5DX0dQVV9DT01NQU5EU19DT01QTEVURSk7CiAgICAgQVNTRVJUKGZsYWdzID09IDApOwog
Ci0gICAgcmV0dXJuIG1GZW5jZVN5bmMuaW5pdGlhbGl6ZSh2azo6R2V0SW1wbChjb250ZXh0KSk7
CisgICAgcmV0dXJuIG1TeW5jSGVscGVyLmluaXRpYWxpemUodms6OkdldEltcGwoY29udGV4dCkp
OwogfQogCiBhbmdsZTo6UmVzdWx0IFN5bmNWazo6Y2xpZW50V2FpdChjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKQEAgLTE1NSw4ICszNDEsOCBAQCBhbmdsZTo6UmVzdWx0IFN5bmNWazo6Y2xp
ZW50V2FpdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBib29sIGZsdXNoID0gKGZs
YWdzICYgR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQpICE9IDA7CiAgICAgVmtSZXN1bHQgcmVz
dWx0OwogCi0gICAgQU5HTEVfVFJZKG1GZW5jZVN5bmMuY2xpZW50V2FpdChjb250ZXh0VmssIGNv
bnRleHRWaywgZmx1c2gsIHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0aW1lb3V0KSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXN1bHQpKTsKKyAgICBBTkdMRV9UUlkobVN5
bmNIZWxwZXIuY2xpZW50V2FpdChjb250ZXh0VmssIGNvbnRleHRWaywgZmx1c2gsIHN0YXRpY19j
YXN0PHVpbnQ2NF90Pih0aW1lb3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmcmVzdWx0KSk7CiAKICAgICBzd2l0Y2ggKHJlc3VsdCkKICAgICB7CkBAIC0xODUsNDMg
KzM3MSw2MiBAQCBhbmdsZTo6UmVzdWx0IFN5bmNWazo6c2VydmVyV2FpdChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwgR0xiaXRmaWVsZCBmbGFncywgRwogICAgIEFTU0VSVCh0aW1lb3V0ID09
IEdMX1RJTUVPVVRfSUdOT1JFRCk7CiAKICAgICBDb250ZXh0VmsgKmNvbnRleHRWayA9IHZrOjpH
ZXRJbXBsKGNvbnRleHQpOwotICAgIHJldHVybiBtRmVuY2VTeW5jLnNlcnZlcldhaXQoY29udGV4
dFZrKTsKKyAgICByZXR1cm4gbVN5bmNIZWxwZXIuc2VydmVyV2FpdChjb250ZXh0VmspOwogfQog
CiBhbmdsZTo6UmVzdWx0IFN5bmNWazo6Z2V0U3RhdHVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LCBHTGludCAqb3V0UmVzdWx0KQogewogICAgIGJvb2wgc2lnbmFsZWQgPSBmYWxzZTsKLSAg
ICBBTkdMRV9UUlkobUZlbmNlU3luYy5nZXRTdGF0dXModms6OkdldEltcGwoY29udGV4dCksICZz
aWduYWxlZCkpOworICAgIEFOR0xFX1RSWShtU3luY0hlbHBlci5nZXRTdGF0dXModms6OkdldElt
cGwoY29udGV4dCksICZzaWduYWxlZCkpOwogCiAgICAgKm91dFJlc3VsdCA9IHNpZ25hbGVkID8g
R0xfU0lHTkFMRUQgOiBHTF9VTlNJR05BTEVEOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKIH0KIAotRUdMU3luY1ZrOjpFR0xTeW5jVmsoY29uc3QgZWdsOjpBdHRyaWJ1dGVN
YXAgJmF0dHJpYnMpIDogRUdMU3luY0ltcGwoKQorRUdMU3luY1ZrOjpFR0xTeW5jVmsoY29uc3Qg
ZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpCisgICAgOiBFR0xTeW5jSW1wbCgpLCBtU3luY0hl
bHBlcihudWxscHRyKSwgbUF0dHJpYnMoYXR0cmlicykKK3t9CisKK0VHTFN5bmNWazo6fkVHTFN5
bmNWaygpCiB7Ci0gICAgQVNTRVJUKGF0dHJpYnMuaXNFbXB0eSgpKTsKKyAgICBTYWZlRGVsZXRl
PHZrOjpTeW5jSGVscGVyPihtU3luY0hlbHBlcik7CiB9CiAKLUVHTFN5bmNWazo6fkVHTFN5bmNW
aygpIHt9Ci0KIHZvaWQgRUdMU3luY1ZrOjpvbkRlc3Ryb3koY29uc3QgZWdsOjpEaXNwbGF5ICpk
aXNwbGF5KQogewotICAgIG1GZW5jZVN5bmMucmVsZWFzZVRvUmVuZGVyZXIodms6OkdldEltcGwo
ZGlzcGxheSktPmdldFJlbmRlcmVyKCkpOworICAgIG1TeW5jSGVscGVyLT5yZWxlYXNlVG9SZW5k
ZXJlcih2azo6R2V0SW1wbChkaXNwbGF5KS0+Z2V0UmVuZGVyZXIoKSk7CiB9CiAKIGVnbDo6RXJy
b3IgRUdMU3luY1ZrOjppbml0aWFsaXplKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMZW51bSB0eXBlKQogewotICAg
IEFTU0VSVCh0eXBlID09IEVHTF9TWU5DX0ZFTkNFX0tIUik7CiAgICAgQVNTRVJUKGNvbnRleHQg
IT0gbnVsbHB0cik7CisgICAgbVR5cGUgPSB0eXBlOwogCi0gICAgaWYgKG1GZW5jZVN5bmMuaW5p
dGlhbGl6ZSh2azo6R2V0SW1wbChjb250ZXh0KSkgPT0gYW5nbGU6OlJlc3VsdDo6U3RvcCkKKyAg
ICBzd2l0Y2ggKHR5cGUpCiAgICAgewotICAgICAgICByZXR1cm4gZWdsOjpFcnJvcihFR0xfQkFE
X0FMTE9DLCAiZWdsQ3JlYXRlU3luY0tIUiBmYWlsZWQgdG8gY3JlYXRlIHN5bmMgb2JqZWN0Iik7
CisgICAgICAgIGNhc2UgRUdMX1NZTkNfRkVOQ0VfS0hSOgorICAgICAgICAgICAgQVNTRVJUKG1B
dHRyaWJzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBtU3luY0hlbHBlciA9IG5ldyB2azo6U3lu
Y0hlbHBlcigpOworICAgICAgICAgICAgaWYgKG1TeW5jSGVscGVyLT5pbml0aWFsaXplKHZrOjpH
ZXRJbXBsKGNvbnRleHQpKSA9PSBhbmdsZTo6UmVzdWx0OjpTdG9wKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIHJldHVybiBlZ2w6OkVycm9yKEVHTF9CQURfQUxMT0MsICJlZ2xDcmVh
dGVTeW5jS0hSIGZhaWxlZCB0byBjcmVhdGUgc3luYyBvYmplY3QiKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHJldHVybiBlZ2w6Ok5vRXJyb3IoKTsKKyAgICAgICAgY2FzZSBFR0xfU1lO
Q19OQVRJVkVfRkVOQ0VfQU5EUk9JRDoKKyAgICAgICAgeworICAgICAgICAgICAgdms6OlN5bmNI
ZWxwZXJOYXRpdmVGZW5jZSAqc3luY0hlbHBlciA9IG5ldyB2azo6U3luY0hlbHBlck5hdGl2ZUZl
bmNlKCk7CisgICAgICAgICAgICBtU3luY0hlbHBlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gc3luY0hlbHBlcjsKKyAgICAgICAgICAgIGludCBuYXRpdmVGZCA9IHN0YXRpY19jYXN0PEVH
TGludD4obUF0dHJpYnMuZ2V0QXNJbnQoRUdMX1NZTkNfTkFUSVZFX0ZFTkNFX0ZEX0FORFJPSUQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVHTF9OT19OQVRJVkVfRkVOQ0VfRkRfQU5EUk9JRCkpOworICAgICAgICAgICAg
cmV0dXJuIGFuZ2xlOjpUb0VHTChzeW5jSGVscGVyLT5pbml0aWFsaXplV2l0aEZkKHZrOjpHZXRJ
bXBsKGNvbnRleHQpLCBuYXRpdmVGZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZrOjpHZXRJbXBsKGRpc3BsYXkpLCBFR0xfQkFEX0FMTE9DKTsKKyAgICAgICAgfQorICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgIHJldHVy
biBlZ2w6OkVycm9yKEVHTF9CQURfQUxMT0MpOwogICAgIH0KLQotICAgIHJldHVybiBlZ2w6Ok5v
RXJyb3IoKTsKIH0KIAogZWdsOjpFcnJvciBFR0xTeW5jVms6OmNsaWVudFdhaXQoY29uc3QgZWds
OjpEaXNwbGF5ICpkaXNwbGF5LApAQCAtMjM2LDggKzQ0MSw4IEBAIGVnbDo6RXJyb3IgRUdMU3lu
Y1ZrOjpjbGllbnRXYWl0KGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwKICAgICBWa1Jlc3Vs
dCByZXN1bHQ7CiAKICAgICBDb250ZXh0VmsgKmNvbnRleHRWayA9IGNvbnRleHQgPyB2azo6R2V0
SW1wbChjb250ZXh0KSA6IG51bGxwdHI7Ci0gICAgaWYgKG1GZW5jZVN5bmMuY2xpZW50V2FpdCh2
azo6R2V0SW1wbChkaXNwbGF5KSwgY29udGV4dFZrLCBmbHVzaCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0aW1lb3V0KSwgJnJlc3VsdCkgPT0g
YW5nbGU6OlJlc3VsdDo6U3RvcCkKKyAgICBpZiAobVN5bmNIZWxwZXItPmNsaWVudFdhaXQodms6
OkdldEltcGwoZGlzcGxheSksIGNvbnRleHRWaywgZmx1c2gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0aW1lb3V0KSwgJnJlc3VsdCkgPT0g
YW5nbGU6OlJlc3VsdDo6U3RvcCkKICAgICB7CiAgICAgICAgIHJldHVybiBlZ2w6OkVycm9yKEVH
TF9CQURfQUxMT0MpOwogICAgIH0KQEAgLTI3NSwxMyArNDgwLDEzIEBAIGVnbDo6RXJyb3IgRUdM
U3luY1ZrOjpzZXJ2ZXJXYWl0KGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwKICAgICBEaXNw
bGF5VmsgKmRpc3BsYXlWayA9IHZrOjpHZXRJbXBsKGRpc3BsYXkpOwogICAgIENvbnRleHRWayAq
Y29udGV4dFZrID0gdms6OkdldEltcGwoY29udGV4dCk7CiAKLSAgICByZXR1cm4gYW5nbGU6OlRv
RUdMKG1GZW5jZVN5bmMuc2VydmVyV2FpdChjb250ZXh0VmspLCBkaXNwbGF5VmssIEVHTF9CQURf
QUxMT0MpOworICAgIHJldHVybiBhbmdsZTo6VG9FR0wobVN5bmNIZWxwZXItPnNlcnZlcldhaXQo
Y29udGV4dFZrKSwgZGlzcGxheVZrLCBFR0xfQkFEX0FMTE9DKTsKIH0KIAogZWdsOjpFcnJvciBF
R0xTeW5jVms6OmdldFN0YXR1cyhjb25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAq
b3V0U3RhdHVzKQogewogICAgIGJvb2wgc2lnbmFsZWQgPSBmYWxzZTsKLSAgICBpZiAobUZlbmNl
U3luYy5nZXRTdGF0dXModms6OkdldEltcGwoZGlzcGxheSksICZzaWduYWxlZCkgPT0gYW5nbGU6
OlJlc3VsdDo6U3RvcCkKKyAgICBpZiAobVN5bmNIZWxwZXItPmdldFN0YXR1cyh2azo6R2V0SW1w
bChkaXNwbGF5KSwgJnNpZ25hbGVkKSA9PSBhbmdsZTo6UmVzdWx0OjpTdG9wKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGVnbDo6RXJyb3IoRUdMX0JBRF9BTExPQyk7CiAgICAgfQpAQCAtMjkwLDEw
ICs0OTUsMTYgQEAgZWdsOjpFcnJvciBFR0xTeW5jVms6OmdldFN0YXR1cyhjb25zdCBlZ2w6OkRp
c3BsYXkgKmRpc3BsYXksIEVHTGludCAqb3V0U3RhdHVzKQogICAgIHJldHVybiBlZ2w6Ok5vRXJy
b3IoKTsKIH0KIAotZWdsOjpFcnJvciBFR0xTeW5jVms6OmR1cE5hdGl2ZUZlbmNlRkQoY29uc3Qg
ZWdsOjpEaXNwbGF5ICpkaXNwbGF5LCBFR0xpbnQgKnJlc3VsdCkgY29uc3QKK2VnbDo6RXJyb3Ig
RUdMU3luY1ZrOjpkdXBOYXRpdmVGZW5jZUZEKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwg
RUdMaW50ICpmZE91dCkgY29uc3QKIHsKLSAgICBVTlJFQUNIQUJMRSgpOwotICAgIHJldHVybiBl
Z2w6OkVnbEJhZERpc3BsYXkoKTsKKyAgICBzd2l0Y2ggKG1UeXBlKQorICAgIHsKKyAgICAgICAg
Y2FzZSBFR0xfU1lOQ19OQVRJVkVfRkVOQ0VfQU5EUk9JRDoKKyAgICAgICAgICAgIHJldHVybiBh
bmdsZTo6VG9FR0wobVN5bmNIZWxwZXItPmR1cE5hdGl2ZUZlbmNlRkQodms6OkdldEltcGwoZGlz
cGxheSksIGZkT3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkdldElt
cGwoZGlzcGxheSksIEVHTF9CQURfUEFSQU1FVEVSKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIHJldHVybiBlZ2w6OkVnbEJhZERpc3BsYXkoKTsKKyAgICB9CiB9CiAKIH0gIC8vIG5h
bWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9TeW5jVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vU3luY1ZrLmgKaW5kZXggZGU3Y2NjY2JmZGY3M2Y3
ZTdlYWRjOGNjOGYxYmJlNWFlMjNlYTk5Mi4uOTQzNDZkMDkyNmMwZDI2N2I4NmFkYTIzNWJhNWUw
OGI2ZWRmMzJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9TeW5jVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1N5bmNWay5oCkBAIC0yMywyNCArMjMsMzMg
QEAgbmFtZXNwYWNlIHJ4CiB7CiBuYW1lc3BhY2UgdmsKIHsKLS8vIFRoZSBiZWhhdmlvcnMgb2Yg
U3luY0ltcGwgYW5kIEVHTFN5bmNJbXBsIGFzIGZlbmNlIHN5bmNzIChvbmx5IHN1cHBvcnRlZCB0
eXBlKSBhcmUgY3VycmVudGx5CisKKy8vIFJlcHJlc2VudHMgYW4gaW52YWxpZCBuYXRpdmUgZmVu
Y2UgRkQuCitjb25zdGV4cHIgaW50IGtJbnZhbGlkRmVuY2VGZCA9IEVHTF9OT19OQVRJVkVfRkVO
Q0VfRkRfQU5EUk9JRDsKKworLy8gSW1wbGVtZW50YXRpb24gb2YgZmVuY2UgdHlwZXMgLSBnbEZl
bmNlU3luYywgYW5kIEVHTFN5bmMoRUdMX1NZTkNfRkVOQ0VfS0hSKS4KKy8vIFRoZSBiZWhhdmlv
cnMgb2YgU3luY1ZrIGFuZCBFR0xGZW5jZVN5bmNWayBhcyBmZW5jZSBzeW5jcyBhcmUgY3VycmVu
dGx5CiAvLyBpZGVudGljYWwgZm9yIHRoZSBWdWxrYW4gYmFja2VuZCwgYW5kIHRoaXMgY2xhc3Mg
aW1wbGVtZW50cyBib3RoIGludGVyZmFjZXMuCi1jbGFzcyBTeW5jSGVscGVyCitjbGFzcyBTeW5j
SGVscGVyIDogcHVibGljIHZrOjpSZXNvdXJjZQogewogICBwdWJsaWM6CiAgICAgU3luY0hlbHBl
cigpOwotICAgIH5TeW5jSGVscGVyKCk7Ci0KLSAgICB2b2lkIHJlbGVhc2VUb1JlbmRlcmVyKFJl
bmRlcmVyVmsgKnJlbmRlcmVyKTsKLQotICAgIGFuZ2xlOjpSZXN1bHQgaW5pdGlhbGl6ZShDb250
ZXh0VmsgKmNvbnRleHRWayk7Ci0gICAgYW5nbGU6OlJlc3VsdCBjbGllbnRXYWl0KENvbnRleHQg
KmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRleHRWayAqY29udGV4
dFZrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGZsdXNoQ29tbWFuZHMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHRpbWVvdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZrUmVzdWx0ICpvdXRSZXN1bHQpOwotICAgIGFuZ2xlOjpSZXN1
bHQgc2VydmVyV2FpdChDb250ZXh0VmsgKmNvbnRleHRWayk7Ci0gICAgYW5nbGU6OlJlc3VsdCBn
ZXRTdGF0dXMoQ29udGV4dCAqY29udGV4dCwgYm9vbCAqc2lnbmFsZWQpOworICAgIHZpcnR1YWwg
flN5bmNIZWxwZXIoKTsKKworICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlVG9SZW5kZXJlcihSZW5k
ZXJlclZrICpyZW5kZXJlcik7CisKKyAgICB2aXJ0dWFsIGFuZ2xlOjpSZXN1bHQgaW5pdGlhbGl6
ZShDb250ZXh0VmsgKmNvbnRleHRWayk7CisgICAgdmlydHVhbCBhbmdsZTo6UmVzdWx0IGNsaWVu
dFdhaXQoQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGZsdXNoQ29tbWFuZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDY0X3QgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWa1Jlc3VsdCAqb3V0UmVzdWx0KTsKKyAgICB2aXJ0dWFsIGFuZ2xlOjpSZXN1bHQg
c2VydmVyV2FpdChDb250ZXh0VmsgKmNvbnRleHRWayk7CisgICAgdmlydHVhbCBhbmdsZTo6UmVz
dWx0IGdldFN0YXR1cyhDb250ZXh0ICpjb250ZXh0LCBib29sICpzaWduYWxlZCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBhbmdsZTo6UmVzdWx0IGR1cE5hdGl2ZUZlbmNlRkQoQ29udGV4dCAqY29udGV4
dCwgaW50ICpmZE91dCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpTdG9wOworICAgIH0KIAogICBwcml2YXRlOgogICAgIC8vIFRoZSB2a0V2ZW50IHRoYXQncyBz
aWduYWxlZCBvbiBgaW5pdGAgYW5kIGNhbiBiZSB3YWl0ZWQgb24gaW4gYHNlcnZlcldhaXRgLCBv
ciBxdWVyaWVkIHdpdGgKQEAgLTQ5LDExICs1OCwzNCBAQCBjbGFzcyBTeW5jSGVscGVyCiAgICAg
Ly8gVGhlIGZlbmNlIGlzIHNpZ25hbGVkIG9uY2UgdGhlIENCIGluY2x1ZGluZyB0aGUgYGluaXRg
IHNpZ25hbCBpcyBleGVjdXRlZC4KICAgICAvLyBgY2xpZW50V2FpdGAgd2FpdHMgb24gdGhpcyBm
ZW5jZS4KICAgICBTaGFyZWQ8RmVuY2U+IG1GZW5jZTsKK307CisKKy8vIEltcGxlbWVudGF0aW9u
IG9mIHN5bmMgdHlwZXM6IEVHTFN5bmMoRUdMX1NZTkNfQU5EUk9JRF9OQVRJVkVfRkVOQ0VfQU5E
Uk9JRCkuCitjbGFzcyBTeW5jSGVscGVyTmF0aXZlRmVuY2UgOiBwdWJsaWMgU3luY0hlbHBlcgor
eworICBwdWJsaWM6CisgICAgU3luY0hlbHBlck5hdGl2ZUZlbmNlKCkge30KKyAgICB+U3luY0hl
bHBlck5hdGl2ZUZlbmNlKCkgb3ZlcnJpZGUge30KKworICAgIHZvaWQgcmVsZWFzZVRvUmVuZGVy
ZXIoUmVuZGVyZXJWayAqcmVuZGVyZXIpIG92ZXJyaWRlOworCisgICAgYW5nbGU6OlJlc3VsdCBp
bml0aWFsaXplV2l0aEZkKENvbnRleHRWayAqY29udGV4dFZrLCBpbnQgaW5GZCk7CisgICAgYW5n
bGU6OlJlc3VsdCBjbGllbnRXYWl0KENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGZsdXNoQ29tbWFuZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ2NF90IHRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrUmVzdWx0
ICpvdXRSZXN1bHQpIG92ZXJyaWRlOworICAgIGFuZ2xlOjpSZXN1bHQgc2VydmVyV2FpdChDb250
ZXh0VmsgKmNvbnRleHRWaykgb3ZlcnJpZGU7CisgICAgYW5nbGU6OlJlc3VsdCBnZXRTdGF0dXMo
Q29udGV4dCAqY29udGV4dCwgYm9vbCAqc2lnbmFsZWQpIGNvbnN0IG92ZXJyaWRlOworICAgIGFu
Z2xlOjpSZXN1bHQgZHVwTmF0aXZlRmVuY2VGRChDb250ZXh0ICpjb250ZXh0LCBpbnQgKmZkT3V0
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFNoYXJlZFJlc291cmNlVXNlIG1Vc2U7CisgIHByaXZh
dGU6CisgICAgdms6OkZlbmNlIG1GZW5jZVdpdGhGZDsKIH07CisKIH0gIC8vIG5hbWVzcGFjZSB2
awogCisvLyBJbXBsZW1lbnRvciBmb3IgZ2xGZW5jZVN5bmMuCiBjbGFzcyBTeW5jVmsgZmluYWwg
OiBwdWJsaWMgU3luY0ltcGwKIHsKICAgcHVibGljOgpAQCAtNzMsOSArMTA1LDEwIEBAIGNsYXNz
IFN5bmNWayBmaW5hbCA6IHB1YmxpYyBTeW5jSW1wbAogICAgIGFuZ2xlOjpSZXN1bHQgZ2V0U3Rh
dHVzKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGludCAqb3V0UmVzdWx0KSBvdmVycmlk
ZTsKIAogICBwcml2YXRlOgotICAgIHZrOjpTeW5jSGVscGVyIG1GZW5jZVN5bmM7CisgICAgdms6
OlN5bmNIZWxwZXIgbVN5bmNIZWxwZXI7CiB9OwogCisvLyBJbXBsZW1lbnRvciBmb3IgRUdMU3lu
Yy4KIGNsYXNzIEVHTFN5bmNWayBmaW5hbCA6IHB1YmxpYyBFR0xTeW5jSW1wbAogewogICBwdWJs
aWM6CkBAIC05NywxMCArMTMwLDEyIEBAIGNsYXNzIEVHTFN5bmNWayBmaW5hbCA6IHB1YmxpYyBF
R0xTeW5jSW1wbAogICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xpbnQgZmxhZ3MpIG92ZXJy
aWRlOwogICAgIGVnbDo6RXJyb3IgZ2V0U3RhdHVzKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxh
eSwgRUdMaW50ICpvdXRTdGF0dXMpIG92ZXJyaWRlOwogCi0gICAgZWdsOjpFcnJvciBkdXBOYXRp
dmVGZW5jZUZEKGNvbnN0IGVnbDo6RGlzcGxheSAqZGlzcGxheSwgRUdMaW50ICpyZXN1bHQpIGNv
bnN0IG92ZXJyaWRlOworICAgIGVnbDo6RXJyb3IgZHVwTmF0aXZlRmVuY2VGRChjb25zdCBlZ2w6
OkRpc3BsYXkgKmRpc3BsYXksIEVHTGludCAqZmRPdXQpIGNvbnN0IG92ZXJyaWRlOwogCiAgIHBy
aXZhdGU6Ci0gICAgdms6OlN5bmNIZWxwZXIgbUZlbmNlU3luYzsKKyAgICBFR0xlbnVtIG1UeXBl
OworICAgIHZrOjpTeW5jSGVscGVyICptU3luY0hlbHBlcjsgIC8vIFN5bmNIZWxwZXIgb3IgU3lu
Y0hlbHBlck5hdGl2ZUZlbmNlIGRlY2lkZWQgYXQgcnVuLXRpbWUuCisgICAgY29uc3QgZWdsOjpB
dHRyaWJ1dGVNYXAgJm1BdHRyaWJzOwogfTsKIH0gIC8vIG5hbWVzcGFjZSByeAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L1RleHR1cmVWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1RleHR1cmVWay5jcHAKaW5kZXggZmY0MmMxZjhjMjBkZTMzNmVjYTNiMWE2
YTM5YTZiZmRlZDkzMDA5NS4uMDVmZjdiZTM4NjRiZjM4MWM3YjE5Y2Q4MGViMGQzOTgxYjcyMzdm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL3Z1bGthbi9UZXh0dXJlVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVGV4dHVyZVZrLmNwcApAQCAtOCw2ICs4LDcgQEAK
IC8vCiAKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVGV4dHVyZVZrLmgiCisj
aW5jbHVkZSA8dnVsa2FuL3Z1bGthbi5oPgogCiAjaW5jbHVkZSAiY29tbW9uL2RlYnVnLmgiCiAj
aW5jbHVkZSAiaW1hZ2VfdXRpbC9nZW5lcmF0ZW1pcC5pbmMiCkBAIC0zOSw2ICs0MCw4IEBAIGNv
bnN0ZXhwciBWa0ltYWdlVXNhZ2VGbGFncyBrVHJhbnNmZXJTdGFnaW5nSW1hZ2VGbGFncyA9CiBj
b25zdGV4cHIgVmtGb3JtYXRGZWF0dXJlRmxhZ3Mga0JsaXRGZWF0dXJlRmxhZ3MgPQogICAgIFZL
X0ZPUk1BVF9GRUFUVVJFX0JMSVRfU1JDX0JJVCB8IFZLX0ZPUk1BVF9GRUFUVVJFX0JMSVRfRFNU
X0JJVDsKIAorY29uc3RleHByIGFuZ2xlOjpTdWJqZWN0SW5kZXgga1RleHR1cmVJbWFnZVN1Ympl
Y3RJbmRleCA9IDA7CisKIGJvb2wgQ2FuQ29weVdpdGhUcmFuc2ZlcihSZW5kZXJlclZrICpyZW5k
ZXJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2azo6Rm9ybWF0ICZzcmNGb3Jt
YXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdms6OkZvcm1hdCAmZGVzdEZvcm1h
dCkKQEAgLTEwMCw2ICsxMDMsMTQgQEAgdm9pZCBHZXRSZW5kZXJUYXJnZXRMYXllckNvdW50QW5k
SW5kZXgodms6OkltYWdlSGVscGVyICppbWFnZSwKICAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7
CiAgICAgfQogfQorCit2b2lkIFNldDNEQmFzZUFycmF5TGF5ZXJBbmRMYXllckNvdW50KFZrSW1h
Z2VTdWJyZXNvdXJjZUxheWVycyAqU3VicmVzb3VyY2UpCit7CisgICAgLy8gSWYgdGhlIHNyY0lt
YWdlL2RzdEltYWdlIHBhcmFtZXRlcnMgYXJlIG9mIFZrSW1hZ2VUeXBlIFZLX0lNQUdFX1RZUEVf
M0QsIHRoZSBiYXNlQXJyYXlMYXllcgorICAgIC8vIGFuZCBsYXllckNvdW50IG1lbWJlcnMgb2Yg
dGhlIGNvcnJlc3BvbmRpbmcgc3VicmVzb3VyY2UgbXVzdCBiZSAwIGFuZCAxLCByZXNwZWN0aXZl
bHkuCisgICAgU3VicmVzb3VyY2UtPmJhc2VBcnJheUxheWVyID0gMDsKKyAgICBTdWJyZXNvdXJj
ZS0+bGF5ZXJDb3VudCAgICAgPSAxOworfQogfSAgLy8gYW5vbnltb3VzIG5hbWVzcGFjZQogCiAv
LyBUZXh0dXJlVmsgaW1wbGVtZW50YXRpb24uCkBAIC0xMTEsNyArMTIyLDkgQEAgVGV4dHVyZVZr
OjpUZXh0dXJlVmsoY29uc3QgZ2w6OlRleHR1cmVTdGF0ZSAmc3RhdGUsIFJlbmRlcmVyVmsgKnJl
bmRlcmVyKQogICAgICAgbUltYWdlTGV2ZWxPZmZzZXQoMCksCiAgICAgICBtSW1hZ2UobnVsbHB0
ciksCiAgICAgICBtU3RhZ2luZ0J1ZmZlckluaXRpYWxTaXplKHZrOjprU3RhZ2luZ0J1ZmZlclNp
emUpLAotICAgICAgbUltYWdlVXNhZ2VGbGFncygwKQorICAgICAgbUltYWdlVXNhZ2VGbGFncygw
KSwKKyAgICAgIG1JbWFnZUNyZWF0ZUZsYWdzKDApLAorICAgICAgbUltYWdlT2JzZXJ2ZXJCaW5k
aW5nKHRoaXMsIGtUZXh0dXJlSW1hZ2VTdWJqZWN0SW5kZXgpCiB7fQogCiBUZXh0dXJlVms6On5U
ZXh0dXJlVmsoKSA9IGRlZmF1bHQ7CkBAIC0xMjEsNyArMTM0LDcgQEAgdm9pZCBUZXh0dXJlVms6
Om9uRGVzdHJveShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICBDb250ZXh0VmsgKmNv
bnRleHRWayA9IHZrOjpHZXRJbXBsKGNvbnRleHQpOwogCiAgICAgcmVsZWFzZUFuZERlbGV0ZUlt
YWdlKGNvbnRleHRWayk7Ci0gICAgbVNhbXBsZXIucmVsZWFzZShjb250ZXh0VmstPmdldFJlbmRl
cmVyKCkpOworICAgIG1TYW1wbGVyLnJlc2V0KCk7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgVGV4dHVy
ZVZrOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKQEAgLTEzMSwxMSArMTQ0
LDEyIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9y
bWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRl
ICZ1bnBhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAq
dW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKnBpeGVscykKIHsKICAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJmZvcm1hdElu
Zm8gPSBnbDo6R2V0SW50ZXJuYWxGb3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCB0eXBlKTsKIAot
ICAgIHJldHVybiBzZXRJbWFnZUltcGwoY29udGV4dCwgaW5kZXgsIGZvcm1hdEluZm8sIHNpemUs
IHR5cGUsIHVucGFjaywgcGl4ZWxzKTsKKyAgICByZXR1cm4gc2V0SW1hZ2VJbXBsKGNvbnRleHQs
IGluZGV4LCBmb3JtYXRJbmZvLCBzaXplLCB0eXBlLCB1bnBhY2ssIHVucGFja0J1ZmZlciwgcGl4
ZWxzKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnNldFN1YkltYWdlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LApAQCAtMTY3LDcgKzE4MSwxMSBAQCBhbmdsZTo6UmVzdWx0IFRl
eHR1cmVWazo6c2V0Q29tcHJlc3NlZEltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ewogICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmZm9ybWF0SW5mbyA9IGdsOjpHZXRTaXpl
ZEludGVybmFsRm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1hdCk7CiAKLSAgICByZXR1cm4gc2V0SW1h
Z2VJbXBsKGNvbnRleHQsIGluZGV4LCBmb3JtYXRJbmZvLCBzaXplLCBHTF9VTlNJR05FRF9CWVRF
LCB1bnBhY2ssIHBpeGVscyk7CisgICAgY29uc3QgZ2w6OlN0YXRlICZnbFN0YXRlID0gY29udGV4
dC0+Z2V0U3RhdGUoKTsKKyAgICBnbDo6QnVmZmVyICp1bnBhY2tCdWZmZXIgPSBnbFN0YXRlLmdl
dFRhcmdldEJ1ZmZlcihnbDo6QnVmZmVyQmluZGluZzo6UGl4ZWxVbnBhY2spOworCisgICAgcmV0
dXJuIHNldEltYWdlSW1wbChjb250ZXh0LCBpbmRleCwgZm9ybWF0SW5mbywgc2l6ZSwgR0xfVU5T
SUdORURfQllURSwgdW5wYWNrLCB1bnBhY2tCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICBwaXhlbHMpOwogfQogCiBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6c2V0Q29tcHJlc3NlZFN1
YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LApAQCAtMTk3LDYgKzIxNSw3IEBAIGFu
Z2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpzZXRJbWFnZUltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpF
eHRlbnRzICZzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVu
dW0gdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6
OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwaXhlbHMpCiB7CiAgICAgQ29udGV4dFZr
ICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChjb250ZXh0KTsKQEAgLTIxMSw4ICsyMzAsNiBAQCBh
bmdsZTo6UmVzdWx0IFRleHR1cmVWazo6c2V0SW1hZ2VJbXBsKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgIHsKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwog
ICAgIH0KLSAgICBjb25zdCBnbDo6U3RhdGUgJmdsU3RhdGUgPSBjb250ZXh0VmstPmdldFN0YXRl
KCk7Ci0gICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyID0gZ2xTdGF0ZS5nZXRUYXJnZXRCdWZm
ZXIoZ2w6OkJ1ZmZlckJpbmRpbmc6OlBpeGVsVW5wYWNrKTsKIAogICAgIHJldHVybiBzZXRTdWJJ
bWFnZUltcGwoY29udGV4dCwgaW5kZXgsIGdsOjpCb3goMCwgMCwgMCwgc2l6ZS53aWR0aCwgc2l6
ZS5oZWlnaHQsIHNpemUuZGVwdGgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0
SW5mbywgdHlwZSwgdW5wYWNrLCB1bnBhY2tCdWZmZXIsIHBpeGVscywgdmtGb3JtYXQpOwpAQCAt
Mjc5LDggKzI5Niw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpzZXRTdWJJbWFnZUltcGwo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgZ2w6Ok9mZnNldChh
cmVhLngsIGFyZWEueSwgYXJlYS56KSwgZm9ybWF0SW5mbywgdW5wYWNrLCB0eXBlLCBzb3VyY2Us
IHZrRm9ybWF0LAogICAgICAgICAgICAgICAgIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRj
aCwgaW5wdXRTa2lwQnl0ZXMpKTsKIAotICAgICAgICAgICAgdW5wYWNrQnVmZmVyVmstPnVubWFw
SW1wbChjb250ZXh0VmspOwotICAgICAgICAgICAgb25TdGFnaW5nQnVmZmVyQ2hhbmdlKCk7Cisg
ICAgICAgICAgICBBTkdMRV9UUlkodW5wYWNrQnVmZmVyVmstPnVubWFwSW1wbChjb250ZXh0Vmsp
KTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIGlmIChwaXhlbHMpCkBAIC0yODgsNyArMzA0
LDYgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnNldFN1YkltYWdlSW1wbChjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgQU5HTEVfVFJZKG1JbWFnZS0+c3RhZ2VTdWJyZXNv
dXJjZVVwZGF0ZSgKICAgICAgICAgICAgIGNvbnRleHRWaywgZ2V0TmF0aXZlSW1hZ2VJbmRleChp
bmRleCksIGdsOjpFeHRlbnRzKGFyZWEud2lkdGgsIGFyZWEuaGVpZ2h0LCBhcmVhLmRlcHRoKSwK
ICAgICAgICAgICAgIGdsOjpPZmZzZXQoYXJlYS54LCBhcmVhLnksIGFyZWEueiksIGZvcm1hdElu
Zm8sIHVucGFjaywgdHlwZSwgcGl4ZWxzLCB2a0Zvcm1hdCkpOwotICAgICAgICBvblN0YWdpbmdC
dWZmZXJDaGFuZ2UoKTsKICAgICB9CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CkBAIC00NjAsNyArNDc1LDYgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OmNvcHlTdWJJ
bWFnZUltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIGNvbnRleHQsIG9m
ZnNldEltYWdlSW5kZXgsIGNsaXBwZWRTb3VyY2VBcmVhLCBtb2RpZmllZERlc3RPZmZzZXQsCiAg
ICAgICAgIGdsOjpFeHRlbnRzKGNsaXBwZWRTb3VyY2VBcmVhLndpZHRoLCBjbGlwcGVkU291cmNl
QXJlYS5oZWlnaHQsIDEpLCBpbnRlcm5hbEZvcm1hdCwKICAgICAgICAgZnJhbWVidWZmZXJWaykp
OwotICAgIG9uU3RhZ2luZ0J1ZmZlckNoYW5nZSgpOwogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQpAQCAtNTI2LDcgKzU0MCw2IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVy
ZVZrOjpjb3B5U3ViVGV4dHVyZUltcGwoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgQU5HTEVf
VFJZKG1JbWFnZS0+c3RhZ2VTdWJyZXNvdXJjZVVwZGF0ZUFuZEdldERhdGEoCiAgICAgICAgIGNv
bnRleHRWaywgZGVzdGluYXRpb25BbGxvY2F0aW9uU2l6ZSwgb2Zmc2V0SW1hZ2VJbmRleCwKICAg
ICAgICAgZ2w6OkV4dGVudHMoc291cmNlQXJlYS53aWR0aCwgc291cmNlQXJlYS5oZWlnaHQsIDEp
LCBkZXN0T2Zmc2V0LCAmZGVzdERhdGEpKTsKLSAgICBvblN0YWdpbmdCdWZmZXJDaGFuZ2UoKTsK
IAogICAgIC8vIFNvdXJjZSBhbmQgZGVzdCBkYXRhIGlzIHRpZ2h0bHkgcGFja2VkCiAgICAgR0x1
aW50IHNvdXJjZURhdGFSb3dQaXRjaCA9IHNvdXJjZUFyZWEud2lkdGggKiBzb3VyY2VUZXh0dXJl
Rm9ybWF0LnBpeGVsQnl0ZXM7CkBAIC01ODMsNiArNTk2LDEyIEBAIGFuZ2xlOjpSZXN1bHQgVGV4
dHVyZVZrOjpjb3B5U3ViSW1hZ2VJbXBsV2l0aFRyYW5zZmVyKENvbnRleHRWayAqY29udGV4dFZr
LAogICAgIHNyY1N1YnJlc291cmNlLmJhc2VBcnJheUxheWVyICAgICAgICAgICA9IHN0YXRpY19j
YXN0PHVpbnQzMl90Pihzb3VyY2VMYXllcik7CiAgICAgc3JjU3VicmVzb3VyY2UubGF5ZXJDb3Vu
dCAgICAgICAgICAgICAgID0gbGF5ZXJDb3VudDsKIAorICAgIGlmIChzcmNJbWFnZS0+Z2V0RXh0
ZW50cygpLmRlcHRoID4gMSkKKyAgICB7CisgICAgICAgIHNyY09mZnNldC56ID0gc3JjU3VicmVz
b3VyY2UuYmFzZUFycmF5TGF5ZXI7CisgICAgICAgIFNldDNEQmFzZUFycmF5TGF5ZXJBbmRMYXll
ckNvdW50KCZzcmNTdWJyZXNvdXJjZSk7CisgICAgfQorCiAgICAgLy8gSWYgZGVzdGluYXRpb24g
aXMgdmFsaWQsIGNvcHkgdGhlIHNvdXJjZSBkaXJlY3RseSBpbnRvIGl0LgogICAgIGlmIChtSW1h
Z2UtPnZhbGlkKCkpCiAgICAgewpAQCAtNjAxLDggKzYyMCw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4
dHVyZVZrOjpjb3B5U3ViSW1hZ2VJbXBsV2l0aFRyYW5zZmVyKENvbnRleHRWayAqY29udGV4dFZr
LAogICAgICAgICBWa0ltYWdlVHlwZSBpbWFnZVR5cGUgPSBnbF92azo6R2V0SW1hZ2VUeXBlKG1T
dGF0ZS5nZXRUeXBlKCkpOwogICAgICAgICBpZiAoaW1hZ2VUeXBlID09IFZLX0lNQUdFX1RZUEVf
M0QpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGRlc3RTdWJyZXNvdXJjZS5iYXNlQXJyYXlMYXll
ciA9IDA7Ci0gICAgICAgICAgICBkZXN0U3VicmVzb3VyY2UubGF5ZXJDb3VudCAgICAgPSAxOwor
ICAgICAgICAgICAgU2V0M0RCYXNlQXJyYXlMYXllckFuZExheWVyQ291bnQoJmRlc3RTdWJyZXNv
dXJjZSk7CiAgICAgICAgIH0KIAogICAgICAgICB2azo6SW1hZ2VIZWxwZXI6OkNvcHkoc3JjSW1h
Z2UsIG1JbWFnZSwgc3JjT2Zmc2V0LCBkZXN0T2Zmc2V0LCBleHRlbnRzLCBzcmNTdWJyZXNvdXJj
ZSwKQEAgLTYzNSw3ICs2NTMsNiBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6Y29weVN1Yklt
YWdlSW1wbFdpdGhUcmFuc2ZlcihDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgVmtJbWFn
ZVR5cGUgaW1hZ2VUeXBlID0gZ2xfdms6OkdldEltYWdlVHlwZShtU3RhdGUuZ2V0VHlwZSgpKTsK
ICAgICAgICAgbUltYWdlLT5zdGFnZVN1YnJlc291cmNlVXBkYXRlRnJvbUltYWdlKHN0YWdpbmdJ
bWFnZS5yZWxlYXNlKCksIGluZGV4LCBkZXN0T2Zmc2V0LCBleHRlbnRzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VUeXBlKTsKLSAgICAgICAg
b25TdGFnaW5nQnVmZmVyQ2hhbmdlKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwpAQCAtNzMxLDcgKzc0OCw2IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZr
Ojpjb3B5U3ViSW1hZ2VJbXBsV2l0aERyYXcoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAg
IG1JbWFnZS0+c3RhZ2VTdWJyZXNvdXJjZVVwZGF0ZUZyb21JbWFnZShzdGFnaW5nSW1hZ2UucmVs
ZWFzZSgpLCBpbmRleCwgZGVzdE9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdsOjpFeHRlbnRzKHNvdXJjZUFyZWEud2lkdGgsIHNvdXJjZUFy
ZWEuaGVpZ2h0LCAxKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGltYWdlVHlwZSk7Ci0gICAgICAgIG9uU3RhZ2luZ0J1ZmZlckNoYW5nZSgpOwogICAg
IH0KIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTg3Nyw2ICs4OTMs
NyBAQCB2b2lkIFRleHR1cmVWazo6cmVsZWFzZUFuZERlbGV0ZUltYWdlKENvbnRleHRWayAqY29u
dGV4dFZrKQogICAgIHsKICAgICAgICAgcmVsZWFzZUltYWdlKGNvbnRleHRWayk7CiAgICAgICAg
IHJlbGVhc2VTdGFnaW5nQnVmZmVyKGNvbnRleHRWayk7CisgICAgICAgIG1JbWFnZU9ic2VydmVy
QmluZGluZy5iaW5kKG51bGxwdHIpOwogICAgICAgICBTYWZlRGVsZXRlKG1JbWFnZSk7CiAgICAg
fQogfQpAQCAtOTIxLDYgKzkzOCw4IEBAIHZvaWQgVGV4dHVyZVZrOjpzZXRJbWFnZUhlbHBlcihD
b250ZXh0VmsgKmNvbnRleHRWaywKIHsKICAgICBBU1NFUlQobUltYWdlID09IG51bGxwdHIpOwog
CisgICAgbUltYWdlT2JzZXJ2ZXJCaW5kaW5nLmJpbmQoaW1hZ2VIZWxwZXIpOworCiAgICAgbU93
bnNJbWFnZSAgICAgICAgPSBzZWxmT3duZWQ7CiAgICAgbUltYWdlTmF0aXZlVHlwZSAgPSBpbWFn
ZVR5cGU7CiAgICAgbUltYWdlTGV2ZWxPZmZzZXQgPSBpbWFnZUxldmVsT2Zmc2V0OwpAQCAtOTYy
LDcgKzk4MSw5IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpyZWRlZmluZUltYWdlKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIHsKICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYW55
IHN0YWdlZCBjaGFuZ2VzIGZvciB0aGlzIGluZGV4LCB3ZSBjYW4gcmVtb3ZlIHRoZW0gc2luY2Ug
d2UncmUgZ29pbmcgdG8KICAgICAgICAgLy8gb3ZlcnJpZGUgdGhlbSB3aXRoIHRoaXMgY2FsbC4K
LSAgICAgICAgbUltYWdlLT5yZW1vdmVTdGFnZWRVcGRhdGVzKGNvbnRleHRWaywgaW5kZXgpOwor
ICAgICAgICB1aW50MzJfdCBsZXZlbEluZGV4ID0gaW5kZXguZ2V0TGV2ZWxJbmRleCgpOworICAg
ICAgICB1aW50MzJfdCBsYXllckluZGV4ID0gaW5kZXguaGFzTGF5ZXIoKSA/IGluZGV4LmdldExh
eWVySW5kZXgoKSA6IDA7CisgICAgICAgIG1JbWFnZS0+cmVtb3ZlU3RhZ2VkVXBkYXRlcyhjb250
ZXh0VmssIGxldmVsSW5kZXgsIGxheWVySW5kZXgpOwogCiAgICAgICAgIGlmIChtSW1hZ2UtPnZh
bGlkKCkpCiAgICAgICAgIHsKQEAgLTEwMzAsNyArMTA1MSw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4
dHVyZVZrOjpjb3B5QnVmZmVyRGF0YVRvSW1hZ2UoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAg
QU5HTEVfVFJZKGVuc3VyZUltYWdlSW5pdGlhbGl6ZWQoY29udGV4dFZrLCBJbWFnZU1pcExldmVs
czo6RW5hYmxlZExldmVscykpOwogCiAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZm
ZXIgPSBudWxscHRyOwotICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyUmVhZChWS19B
Q0NFU1NfVFJBTlNGRVJfUkVBRF9CSVQsIHNyY0J1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250
ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJSZWFkKHNyY0J1ZmZlcikpOwogICAgIEFOR0xFX1RSWSgK
ICAgICAgICAgY29udGV4dFZrLT5vbkltYWdlV3JpdGUoVktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJ
VCwgdms6OkltYWdlTGF5b3V0OjpUcmFuc2ZlckRzdCwgbUltYWdlKSk7CiAgICAgQU5HTEVfVFJZ
KGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1hbmRCdWZm
ZXIpKTsKQEAgLTExNTEsNyArMTE3Miw2IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpnZW5l
cmF0ZU1pcG1hcChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKICAgICAgICAgQU5HTEVfVFJZ
KGNvcHlBbmRTdGFnZUltYWdlU3VicmVzb3VyY2UoY29udGV4dFZrLCBiYXNlTGV2ZWxEZXNjLCBm
YWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
TmF0aXZlSW1hZ2VMYXllcigwKSwgMCwgbUltYWdlLT5nZXRCYXNlTGV2ZWwoKSkpOwogCi0gICAg
ICAgIG9uU3RhZ2luZ0J1ZmZlckNoYW5nZSgpOwogICAgICAgICAvLyBSZWxlYXNlIHRoZSBvcmln
aW4gaW1hZ2UgYW5kIHJlY3JlYXRlIGl0IHdpdGggbmV3IG1pcG1hcCBjb3VudHMuCiAgICAgICAg
IHJlbGVhc2VJbWFnZShjb250ZXh0VmspOwogCkBAIC0xMTkwLDcgKzEyMTAsNyBAQCBhbmdsZTo6
UmVzdWx0IFRleHR1cmVWazo6Y29weUFuZFN0YWdlSW1hZ2VTdWJyZXNvdXJjZShDb250ZXh0Vmsg
KmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxheWVyQ291
bnQpOwogICAgIGdsOjpCb3ggYXJlYShvZmZzZXQueCwgb2Zmc2V0LnksIG9mZnNldC56LCB1cGRh
dGVkRXh0ZW50cy53aWR0aCwgdXBkYXRlZEV4dGVudHMuaGVpZ2h0LAogICAgICAgICAgICAgICAg
ICB1cGRhdGVkRXh0ZW50cy5kZXB0aCk7Ci0gICAgLy8gVE9ETzogUmVmYWN0b3IgVGV4dHVyZVZr
OjpjaGFuZ2VMZXZlbHMoKSB0byBhdm9pZCB0aGlzIHdvcmthcm91bmQuCisgICAgLy8gVE9ETzog
UmVmYWN0b3IgVGV4dHVyZVZrOjpyZXNwZWNpZnlJbWFnZUF0dHJpYnV0ZXNBbmRMZXZlbHMoKSB0
byBhdm9pZCB0aGlzIHdvcmthcm91bmQuCiAgICAgaWYgKGlnbm9yZUxheWVyQ291bnQpCiAgICAg
ewogICAgICAgICBsYXllckNvdW50ID0gMTsKQEAgLTEyMDYsOSArMTIyNiwxOSBAQCBhbmdsZTo6
UmVzdWx0IFRleHR1cmVWazo6Y29weUFuZFN0YWdlSW1hZ2VTdWJyZXNvdXJjZShDb250ZXh0Vmsg
KmNvbnRleHRWaywKIAogICAgIC8vIFN0YWdlIGFuIHVwZGF0ZSB0byB0aGUgbmV3IGltYWdlCiAg
ICAgQVNTRVJUKHN0YWdpbmdCdWZmZXIpOworICAgIHVpbnQzMl90IGJ1ZmZlclJvd0xlbmd0aCAg
ID0gdXBkYXRlZEV4dGVudHMud2lkdGg7CisgICAgdWludDMyX3QgYnVmZmVySW1hZ2VIZWlnaHQg
PSB1cGRhdGVkRXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGRlc2MuZm9ybWF0LmluZm8tPmNvbXBy
ZXNzZWQpCisgICAgeworICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIGNvbXByZXNzZWQgdGV4
dHVyZSwgYnVmZmVyUm93TGVuZ3RoIGNhbiBuZXZlciBiZSBzbWFsbGVyIHRoYW4gdGhlCisgICAg
ICAgIC8vIGNvbXByZXNzZWQgZm9ybWF0J3MgY29tcHJlc3NlZCBibG9jayB3aWR0aCwgYW5kIGJ1
ZmZlckltYWdlSGVpZ2h0IGNhbiBuZXZlciBiZSBzbWFsbGVyCisgICAgICAgIC8vIHRoYW4gdGhl
IGNvbXByZXNzZWQgYmxvY2sgaGVpZ2h0LgorICAgICAgICBidWZmZXJSb3dMZW5ndGggICA9IHN0
ZDo6bWF4KGJ1ZmZlclJvd0xlbmd0aCwgZGVzYy5mb3JtYXQuaW5mby0+Y29tcHJlc3NlZEJsb2Nr
V2lkdGgpOworICAgICAgICBidWZmZXJJbWFnZUhlaWdodCA9IHN0ZDo6bWF4KGJ1ZmZlckltYWdl
SGVpZ2h0LCBkZXNjLmZvcm1hdC5pbmZvLT5jb21wcmVzc2VkQmxvY2tIZWlnaHQpOworICAgIH0K
ICAgICBBTkdMRV9UUlkobUltYWdlLT5zdGFnZVN1YnJlc291cmNlVXBkYXRlRnJvbUJ1ZmZlcigK
LSAgICAgICAgY29udGV4dFZrLCBidWZmZXJTaXplLCBzdGFnaW5nRHN0TWlwTGV2ZWwsIGN1cnJl
bnRMYXllciwgbGF5ZXJDb3VudCwgdXBkYXRlZEV4dGVudHMsIG9mZnNldCwKLSAgICAgICAgc3Rh
Z2luZ0J1ZmZlciwgc3RhZ2luZ0J1ZmZlck9mZnNldHMpKTsKKyAgICAgICAgY29udGV4dFZrLCBi
dWZmZXJTaXplLCBzdGFnaW5nRHN0TWlwTGV2ZWwsIGN1cnJlbnRMYXllciwgbGF5ZXJDb3VudCwg
YnVmZmVyUm93TGVuZ3RoLAorICAgICAgICBidWZmZXJJbWFnZUhlaWdodCwgdXBkYXRlZEV4dGVu
dHMsIG9mZnNldCwgc3RhZ2luZ0J1ZmZlciwgc3RhZ2luZ0J1ZmZlck9mZnNldHMpKTsKIAogICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KQEAgLTEyNDksMTMgKzEyNzksMTkg
QEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnVwZGF0ZUJhc2VNYXhMZXZlbHMoQ29udGV4dFZr
ICpjb250ZXh0VmssCiAgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKICAg
ICB9CiAKLSAgICByZXR1cm4gY2hhbmdlTGV2ZWxzKGNvbnRleHRWaywgcHJldmlvdXNCYXNlTGV2
ZWwsIGJhc2VMZXZlbCwgbWF4TGV2ZWwpOworICAgIHJldHVybiByZXNwZWNpZnlJbWFnZUF0dHJp
YnV0ZXNBbmRMZXZlbHMoY29udGV4dFZrLCBwcmV2aW91c0Jhc2VMZXZlbCwgYmFzZUxldmVsLCBt
YXhMZXZlbCk7CiB9CiAKLWFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpjaGFuZ2VMZXZlbHMoQ29u
dGV4dFZrICpjb250ZXh0VmssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMdWludCBwcmV2aW91c0Jhc2VMZXZlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0x1aW50IGJhc2VMZXZlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0x1aW50IG1heExldmVsKQorYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnJlc3Bl
Y2lmeUltYWdlQXR0cmlidXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICByZXR1cm4g
cmVzcGVjaWZ5SW1hZ2VBdHRyaWJ1dGVzQW5kTGV2ZWxzKGNvbnRleHRWaywgbUltYWdlLT5nZXRC
YXNlTGV2ZWwoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1TdGF0ZS5nZXRFZmZlY3RpdmVCYXNlTGV2ZWwoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1TdGF0ZS5nZXRFZmZlY3RpdmVNYXhMZXZlbCgpKTsKK30K
K2FuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpyZXNwZWNpZnlJbWFnZUF0dHJpYnV0ZXNBbmRMZXZl
bHMoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBwcmV2aW91c0Jhc2VMZXZlbCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0x1aW50IGJhc2VMZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0x1aW50IG1heExldmVsKQogewogICAgIC8vIFJlY3JlYXRl
IHRoZSBpbWFnZSB0byByZWZsZWN0IG5ldyBiYXNlIG9yIG1heCBsZXZlbHMuCiAgICAgLy8gRmly
c3QsIGZsdXNoIGFueSBwZW5kaW5nIHVwZGF0ZXMgc28gd2UgaGF2ZSBnb29kIGRhdGEgaW4gdGhl
IGV4aXN0aW5nIHZrSW1hZ2UKQEAgLTEyOTEsOCArMTMyNyw4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4
dHVyZVZrOjpjaGFuZ2VMZXZlbHMoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAg
ICAgLy8gbGF5ZXIvbGV2ZWwsIHdlIGRvbid0IG5lZWQgdG8gcHJvcGFnYXRlIGFueSBkYXRhIGZy
b20gdGhpcyBpbWFnZS4KICAgICAgICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZm9yIG9y
aWdpbmFsIHRleHR1cmUgbGV2ZWxzIHRoYXQgaGF2ZSBuZXZlciBmaXQgaW50bwogICAgICAgICAg
ICAgICAgIC8vIHRoZSB2a0ltYWdlIGR1ZSB0byBiYXNlL21heCBsZXZlbCwgYW5kIGZvciB2a0lt
YWdlIGRhdGEgdGhhdCBoYXMgYmVlbgotICAgICAgICAgICAgICAgIC8vIHN0YWdlZCBieSBwcmV2
aW91cyBjYWxscyB0byBjaGFuZ2VMZXZlbHMgdGhhdCBkaWRuJ3QgZml0IGludG8gdGhlCi0gICAg
ICAgICAgICAgICAgLy8gbmV3IHZrSW1hZ2UuCisgICAgICAgICAgICAgICAgLy8gc3RhZ2VkIGJ5
IHByZXZpb3VzIGNhbGxzIHRvIHJlc3BlY2lmeUltYWdlQXR0cmlidXRlc0FuZExldmVscyB0aGF0
IGRpZG4ndCBmaXQKKyAgICAgICAgICAgICAgICAvLyBpbnRvIHRoZSBuZXcgdmtJbWFnZS4KICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIApAQCAtMTMxMiw4ICsxMzQ4
LDYgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OmNoYW5nZUxldmVscyhDb250ZXh0VmsgKmNv
bnRleHRWaywKICAgICAgICAgfQogICAgIH0KIAotICAgIC8vIEluZm9ybSB0aGUgZnJvbnQgZW5k
IHRoYXQgd2UndmUgdXBkYXRlZCB0aGUgc3RhZ2luZyBidWZmZXIKLSAgICBvblN0YWdpbmdCdWZm
ZXJDaGFuZ2UoKTsKICAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBzdGFnZWQgYWxsIHRoZSB1cGRhdGVz
LCByZWxlYXNlIHRoZSBjdXJyZW50IGltYWdlIHNvIHRoYXQgaXQgd2lsbCBiZQogICAgIC8vIHJl
Y3JlYXRlZCB3aXRoIHRoZSBjb3JyZWN0IG51bWJlciBvZiBtaXAgbGV2ZWxzLCBiYXNlIGxldmVs
LCBhbmQgbWF4IGxldmVsLgogICAgIHJlbGVhc2VJbWFnZShjb250ZXh0VmspOwpAQCAtMTM2MSw3
ICsxMzk1LDE5IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpnZXRBdHRhY2htZW50UmVuZGVy
VGFyZ2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIEFTU0VSVChpbWFnZUluZGV4
LmdldExldmVsSW5kZXgoKSA+PSAwKTsKIAogICAgIENvbnRleHRWayAqY29udGV4dFZrID0gdms6
OkdldEltcGwoY29udGV4dCk7Ci0gICAgQU5HTEVfVFJZKGVuc3VyZUltYWdlSW5pdGlhbGl6ZWQo
Y29udGV4dFZrLCBJbWFnZU1pcExldmVsczo6RW5hYmxlZExldmVscykpOworCisgICAgaWYgKCFt
SW1hZ2UtPnZhbGlkKCkpCisgICAgeworICAgICAgICBjb25zdCBnbDo6SW1hZ2VEZXNjICZiYXNl
TGV2ZWxEZXNjICA9IG1TdGF0ZS5nZXRCYXNlTGV2ZWxEZXNjKCk7CisgICAgICAgIGNvbnN0IGds
OjpFeHRlbnRzICZiYXNlTGV2ZWxFeHRlbnRzID0gYmFzZUxldmVsRGVzYy5zaXplOworICAgICAg
ICBjb25zdCB1aW50MzJfdCBsZXZlbENvdW50ICAgICAgICAgICA9IGdldE1pcExldmVsQ291bnQo
SW1hZ2VNaXBMZXZlbHM6OkVuYWJsZWRMZXZlbHMpOworICAgICAgICBjb25zdCB2azo6Rm9ybWF0
ICZmb3JtYXQgICAgICAgICAgICA9IGdldEJhc2VMZXZlbEZvcm1hdChjb250ZXh0VmstPmdldFJl
bmRlcmVyKCkpOworCisgICAgICAgIEFOR0xFX1RSWShpbml0SW1hZ2UoY29udGV4dFZrLCBmb3Jt
YXQsIGJhc2VMZXZlbERlc2MuZm9ybWF0LmluZm8tPnNpemVkLCBiYXNlTGV2ZWxFeHRlbnRzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsQ291bnQpKTsKKyAgICB9CisKKyAgICAv
LyBEb24ndCBmbHVzaCBzdGFnZWQgdXBkYXRlcyBoZXJlLiBXZSdsbCBoYW5kbGUgdGhhdCBpbiBG
cmFtZWJ1ZmZlclZrIHNvIGl0IGNhbiBkZWZlciBjbGVhcnMuCiAKICAgICBHTHVpbnQgbGF5ZXJJ
bmRleCA9IDAsIGxheWVyQ291bnQgPSAwOwogICAgIEdldFJlbmRlclRhcmdldExheWVyQ291bnRB
bmRJbmRleChtSW1hZ2UsIGltYWdlSW5kZXgsICZsYXllckNvdW50LCAmbGF5ZXJJbmRleCk7CkBA
IC0xNDM2LDYgKzE0ODIsOSBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6c3luY1N0YXRlKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogewogICAgIENvbnRleHRWayAqY29udGV4dFZrID0g
dms6OkdldEltcGwoY29udGV4dCk7CiAKKyAgICBWa0ltYWdlVXNhZ2VGbGFncyBvbGRVc2FnZUZs
YWdzICAgPSBtSW1hZ2VVc2FnZUZsYWdzOworICAgIFZrSW1hZ2VDcmVhdGVGbGFncyBvbGRDcmVh
dGVGbGFncyA9IG1JbWFnZUNyZWF0ZUZsYWdzOworCiAgICAgLy8gQ3JlYXRlIGEgbmV3IGltYWdl
IGlmIHRoZSBzdG9yYWdlIHN0YXRlIGlzIGVuYWJsZWQgZm9yIHRoZSBmaXJzdCB0aW1lLgogICAg
IGlmIChkaXJ0eUJpdHMudGVzdChnbDo6VGV4dHVyZTo6RElSVFlfQklUX0JPVU5EX0FTX0lNQUdF
KSkKICAgICB7CkBAIC0xNDQzLDExICsxNDkyLDIzIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZr
OjpzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIGlmICghKG1J
bWFnZVVzYWdlRmxhZ3MgJiBWS19JTUFHRV9VU0FHRV9TVE9SQUdFX0JJVCkpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIG1JbWFnZVVzYWdlRmxhZ3MgfD0gVktfSU1BR0VfVVNBR0VfU1RPUkFHRV9C
SVQ7Ci0gICAgICAgICAgICBBTkdMRV9UUlkoY2hhbmdlTGV2ZWxzKGNvbnRleHRWaywgbUltYWdl
LT5nZXRCYXNlTGV2ZWwoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVN0
YXRlLmdldEVmZmVjdGl2ZUJhc2VMZXZlbCgpLCBtU3RhdGUuZ2V0RWZmZWN0aXZlTWF4TGV2ZWwo
KSkpOwogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKGRpcnR5Qml0cy50ZXN0KGdsOjpUZXh0
dXJlOjpESVJUWV9CSVRfU1JHQl9PVkVSUklERSkpCisgICAgeworICAgICAgICBpZiAoIShtSW1h
Z2VDcmVhdGVGbGFncyAmIFZLX0lNQUdFX0NSRUFURV9NVVRBQkxFX0ZPUk1BVF9CSVQpICYmCisg
ICAgICAgICAgICBtU3RhdGUuZ2V0U1JHQk92ZXJyaWRlKCkgIT0gZ2w6OlNyZ2JPdmVycmlkZTo6
RGVmYXVsdCkKKyAgICAgICAgeworICAgICAgICAgICAgbUltYWdlQ3JlYXRlRmxhZ3MgfD0gVktf
SU1BR0VfQ1JFQVRFX01VVEFCTEVfRk9STUFUX0JJVDsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmIChvbGRVc2FnZUZsYWdzICE9IG1JbWFnZVVzYWdlRmxhZ3MgfHwgb2xkQ3JlYXRlRmxhZ3Mg
IT0gbUltYWdlQ3JlYXRlRmxhZ3MpCisgICAgeworICAgICAgICBBTkdMRV9UUlkocmVzcGVjaWZ5
SW1hZ2VBdHRyaWJ1dGVzKGNvbnRleHRWaykpOworICAgIH0KKwogICAgIC8vIFNldCBiYXNlIGFu
ZCBtYXggbGV2ZWwgYmVmb3JlIGluaXRpYWxpemluZyB0aGUgaW1hZ2UKICAgICBpZiAoZGlydHlC
aXRzLnRlc3QoZ2w6OlRleHR1cmU6OkRJUlRZX0JJVF9NQVhfTEVWRUwpIHx8CiAgICAgICAgIGRp
cnR5Qml0cy50ZXN0KGdsOjpUZXh0dXJlOjpESVJUWV9CSVRfQkFTRV9MRVZFTCkpCkBAIC0xNDU5
LDcgKzE1MjAsMTEgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnN5bmNTdGF0ZShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAvLyBJbml0aWFsaXplIHRoZSBpbWFnZSBzdG9yYWdl
IGFuZCBmbHVzaCB0aGUgcGl4ZWwgYnVmZmVyLgogICAgIEFOR0xFX1RSWShlbnN1cmVJbWFnZUlu
aXRpYWxpemVkKGNvbnRleHRWaywgSW1hZ2VNaXBMZXZlbHM6OkVuYWJsZWRMZXZlbHMpKTsKIAot
ICAgIGlmIChkaXJ0eUJpdHMubm9uZSgpICYmIG1TYW1wbGVyLnZhbGlkKCkpCisgICAgLy8gTWFz
ayBvdXQgdGhlIElNUExFTUVOVEFUSU9OIGRpcnR5IGJpdCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBz
eW5jcy4KKyAgICBnbDo6VGV4dHVyZTo6RGlydHlCaXRzIGxvY2FsQml0cyA9IGRpcnR5Qml0czsK
KyAgICBsb2NhbEJpdHMucmVzZXQoZ2w6OlRleHR1cmU6OkRJUlRZX0JJVF9JTVBMRU1FTlRBVElP
Tik7CisKKyAgICBpZiAobG9jYWxCaXRzLm5vbmUoKSAmJiBtU2FtcGxlci52YWxpZCgpKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KQEAgLTE0
NjcsMTMgKzE1MzIsMTQgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OnN5bmNTdGF0ZShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBSZW5kZXJlclZrICpyZW5kZXJlciA9IGNvbnRl
eHRWay0+Z2V0UmVuZGVyZXIoKTsKICAgICBpZiAobVNhbXBsZXIudmFsaWQoKSkKICAgICB7Ci0g
ICAgICAgIG1TYW1wbGVyLnJlbGVhc2UocmVuZGVyZXIpOworICAgICAgICBtU2FtcGxlci5yZXNl
dCgpOwogICAgIH0KIAotICAgIGlmIChkaXJ0eUJpdHMudGVzdChnbDo6VGV4dHVyZTo6RElSVFlf
QklUX1NXSVpaTEVfUkVEKSB8fAotICAgICAgICBkaXJ0eUJpdHMudGVzdChnbDo6VGV4dHVyZTo6
RElSVFlfQklUX1NXSVpaTEVfR1JFRU4pIHx8Ci0gICAgICAgIGRpcnR5Qml0cy50ZXN0KGdsOjpU
ZXh0dXJlOjpESVJUWV9CSVRfU1dJWlpMRV9CTFVFKSB8fAotICAgICAgICBkaXJ0eUJpdHMudGVz
dChnbDo6VGV4dHVyZTo6RElSVFlfQklUX1NXSVpaTEVfQUxQSEEpKQorICAgIGlmIChsb2NhbEJp
dHMudGVzdChnbDo6VGV4dHVyZTo6RElSVFlfQklUX1NXSVpaTEVfUkVEKSB8fAorICAgICAgICBs
b2NhbEJpdHMudGVzdChnbDo6VGV4dHVyZTo6RElSVFlfQklUX1NXSVpaTEVfR1JFRU4pIHx8Cisg
ICAgICAgIGxvY2FsQml0cy50ZXN0KGdsOjpUZXh0dXJlOjpESVJUWV9CSVRfU1dJWlpMRV9CTFVF
KSB8fAorICAgICAgICBsb2NhbEJpdHMudGVzdChnbDo6VGV4dHVyZTo6RElSVFlfQklUX1NXSVpa
TEVfQUxQSEEpIHx8CisgICAgICAgIGxvY2FsQml0cy50ZXN0KGdsOjpUZXh0dXJlOjpESVJUWV9C
SVRfU1JHQl9PVkVSUklERSkpCiAgICAgewogICAgICAgICBpZiAobUltYWdlICYmIG1JbWFnZS0+
dmFsaWQoKSkKICAgICAgICAgewpAQCAtMTQ5MSw1MiArMTU1Nyw4IEBAIGFuZ2xlOjpSZXN1bHQg
VGV4dHVyZVZrOjpzeW5jU3RhdGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAg
IH0KICAgICB9CiAKLSAgICBjb25zdCBnbDo6RXh0ZW5zaW9ucyAmZXh0ZW5zaW9ucyAgICAgPSBy
ZW5kZXJlci0+Z2V0TmF0aXZlRXh0ZW5zaW9ucygpOwotICAgIGNvbnN0IGdsOjpTYW1wbGVyU3Rh
dGUgJnNhbXBsZXJTdGF0ZSA9IG1TdGF0ZS5nZXRTYW1wbGVyU3RhdGUoKTsKLQotICAgIGZsb2F0
IG1heEFuaXNvdHJvcHkgICA9IHNhbXBsZXJTdGF0ZS5nZXRNYXhBbmlzb3Ryb3B5KCk7Ci0gICAg
Ym9vbCBhbmlzb3Ryb3B5RW5hYmxlID0gZXh0ZW5zaW9ucy50ZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMgJiYgbWF4QW5pc290cm9weSA+IDEuMGY7Ci0gICAgYm9vbCBjb21wYXJlRW5hYmxlICAgID0g
c2FtcGxlclN0YXRlLmdldENvbXBhcmVNb2RlKCkgPT0gR0xfQ09NUEFSRV9SRUZfVE9fVEVYVFVS
RTsKLSAgICBWa0NvbXBhcmVPcCBjb21wYXJlT3AgPSBnbF92azo6R2V0Q29tcGFyZU9wKHNhbXBs
ZXJTdGF0ZS5nZXRDb21wYXJlRnVuYygpKTsKLSAgICAvLyBXaGVuIHNhbXBsaW5nIGZyb20gc3Rl
bmNpbCwgZGVxcCB0ZXN0cyBleHBlY3QgdGV4dHVyZSBjb21wYXJlIHRvIGhhdmUgbm8gZWZmZWN0
Ci0gICAgLy8gZEVRUCAtIEdMRVMzMS5mdW5jdGlvbmFsLnN0ZW5jaWxfdGV4dHVyaW5nLm1pc2Mu
Y29tcGFyZV9tb2RlX2VmZmVjdAotICAgIC8vIHN0YXRlczogTk9URTogVGV4dHVyZSBjb21wYXJl
IG1vZGUgaGFzIG5vIGVmZmVjdCB3aGVuIHJlYWRpbmcgc3RlbmNpbCB2YWx1ZXMuCi0gICAgaWYg
KG1TdGF0ZS5pc1N0ZW5jaWxNb2RlKCkpCi0gICAgewotICAgICAgICBjb21wYXJlRW5hYmxlID0g
VktfRkFMU0U7Ci0gICAgICAgIGNvbXBhcmVPcCAgICAgPSBWS19DT01QQVJFX09QX0FMV0FZUzsK
LSAgICB9Ci0KLSAgICAvLyBDcmVhdGUgYSBzaW1wbGUgc2FtcGxlci4gRm9yY2UgYmFzaWMgcGFy
YW1ldGVyIHNldHRpbmdzLgotICAgIFZrU2FtcGxlckNyZWF0ZUluZm8gc2FtcGxlckluZm8gICAg
ID0ge307Ci0gICAgc2FtcGxlckluZm8uc1R5cGUgICAgICAgICAgICAgICAgICAgPSBWS19TVFJV
Q1RVUkVfVFlQRV9TQU1QTEVSX0NSRUFURV9JTkZPOwotICAgIHNhbXBsZXJJbmZvLmZsYWdzICAg
ICAgICAgICAgICAgICAgID0gMDsKLSAgICBzYW1wbGVySW5mby5tYWdGaWx0ZXIgICAgICAgICAg
ICAgICA9IGdsX3ZrOjpHZXRGaWx0ZXIoc2FtcGxlclN0YXRlLmdldE1hZ0ZpbHRlcigpKTsKLSAg
ICBzYW1wbGVySW5mby5taW5GaWx0ZXIgICAgICAgICAgICAgICA9IGdsX3ZrOjpHZXRGaWx0ZXIo
c2FtcGxlclN0YXRlLmdldE1pbkZpbHRlcigpKTsKLSAgICBzYW1wbGVySW5mby5taXBtYXBNb2Rl
ICAgICAgICAgICAgICA9IGdsX3ZrOjpHZXRTYW1wbGVyTWlwbWFwTW9kZShzYW1wbGVyU3RhdGUu
Z2V0TWluRmlsdGVyKCkpOwotICAgIHNhbXBsZXJJbmZvLmFkZHJlc3NNb2RlVSAgICAgICAgICAg
ID0gZ2xfdms6OkdldFNhbXBsZXJBZGRyZXNzTW9kZShzYW1wbGVyU3RhdGUuZ2V0V3JhcFMoKSk7
Ci0gICAgc2FtcGxlckluZm8uYWRkcmVzc01vZGVWICAgICAgICAgICAgPSBnbF92azo6R2V0U2Ft
cGxlckFkZHJlc3NNb2RlKHNhbXBsZXJTdGF0ZS5nZXRXcmFwVCgpKTsKLSAgICBzYW1wbGVySW5m
by5hZGRyZXNzTW9kZVcgICAgICAgICAgICA9IGdsX3ZrOjpHZXRTYW1wbGVyQWRkcmVzc01vZGUo
c2FtcGxlclN0YXRlLmdldFdyYXBSKCkpOwotICAgIHNhbXBsZXJJbmZvLm1pcExvZEJpYXMgICAg
ICAgICAgICAgID0gMC4wZjsKLSAgICBzYW1wbGVySW5mby5hbmlzb3Ryb3B5RW5hYmxlICAgICAg
ICA9IGFuaXNvdHJvcHlFbmFibGU7Ci0gICAgc2FtcGxlckluZm8ubWF4QW5pc290cm9weSAgICAg
ICAgICAgPSBtYXhBbmlzb3Ryb3B5OwotICAgIHNhbXBsZXJJbmZvLmNvbXBhcmVFbmFibGUgICAg
ICAgICAgID0gY29tcGFyZUVuYWJsZTsKLSAgICBzYW1wbGVySW5mby5jb21wYXJlT3AgICAgICAg
ICAgICAgICA9IGNvbXBhcmVPcDsKLSAgICBzYW1wbGVySW5mby5taW5Mb2QgICAgICAgICAgICAg
ICAgICA9IHNhbXBsZXJTdGF0ZS5nZXRNaW5Mb2QoKTsKLSAgICBzYW1wbGVySW5mby5tYXhMb2Qg
ICAgICAgICAgICAgICAgICA9IHNhbXBsZXJTdGF0ZS5nZXRNYXhMb2QoKTsKLSAgICBzYW1wbGVy
SW5mby5ib3JkZXJDb2xvciAgICAgICAgICAgICA9IFZLX0JPUkRFUl9DT0xPUl9JTlRfVFJBTlNQ
QVJFTlRfQkxBQ0s7Ci0gICAgc2FtcGxlckluZm8udW5ub3JtYWxpemVkQ29vcmRpbmF0ZXMgPSBW
S19GQUxTRTsKLQotICAgIGlmICghZ2w6OklzTWlwbWFwRmlsdGVyZWQoc2FtcGxlclN0YXRlKSkK
LSAgICB7Ci0gICAgICAgIC8vIFBlciB0aGUgVnVsa2FuIHNwZWMsIEdMX05FQVJFU1QgYW5kIEdM
X0xJTkVBUiBkbyBub3QgbWFwIGRpcmVjdGx5IHRvIFZ1bGthbiwgc28KLSAgICAgICAgLy8gdGhl
eSBtdXN0IGJlIGVtdWxhdGVkIChTZWUgIk1hcHBpbmcgb2YgT3BlbkdMIHRvIFZ1bGthbiBmaWx0
ZXIgbW9kZXMiKQotICAgICAgICBzYW1wbGVySW5mby5taXBtYXBNb2RlID0gVktfU0FNUExFUl9N
SVBNQVBfTU9ERV9ORUFSRVNUOwotICAgICAgICBzYW1wbGVySW5mby5taW5Mb2QgICAgID0gMC4w
ZjsKLSAgICAgICAgc2FtcGxlckluZm8ubWF4TG9kICAgICA9IDAuMjVmOwotICAgIH0KLQotICAg
IEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIG1TYW1wbGVyLmdldCgpLmluaXQoY29udGV4dFZrLT5n
ZXREZXZpY2UoKSwgc2FtcGxlckluZm8pKTsKKyAgICB2azo6U2FtcGxlckRlc2Mgc2FtcGxlckRl
c2MobVN0YXRlLmdldFNhbXBsZXJTdGF0ZSgpLCBtU3RhdGUuaXNTdGVuY2lsTW9kZSgpKTsKKyAg
ICBBTkdMRV9UUlkocmVuZGVyZXItPmdldFNhbXBsZXJDYWNoZSgpLmdldFNhbXBsZXIoY29udGV4
dFZrLCBzYW1wbGVyRGVzYywgJm1TYW1wbGVyKSk7CiAKICAgICAvLyBSZWdlbmVyYXRlIHRoZSBz
ZXJpYWwgb24gYSBzYW1wbGVyIGNoYW5nZS4KICAgICBtU2VyaWFsID0gY29udGV4dFZrLT5nZW5l
cmF0ZVRleHR1cmVTZXJpYWwoKTsKQEAgLTE1NDcsMTYgKzE1NjksMTUgQEAgYW5nbGU6OlJlc3Vs
dCBUZXh0dXJlVms6OnN5bmNTdGF0ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKIGFuZ2xl
OjpSZXN1bHQgVGV4dHVyZVZrOjppbml0aWFsaXplQ29udGVudHMoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGdsOjpJbWFnZUluZGV4ICZpbWFnZUluZGV4KQogeworICAgIENvbnRleHRWayAqY29udGV4
dFZrICAgICAgPSB2azo6R2V0SW1wbChjb250ZXh0KTsKICAgICBjb25zdCBnbDo6SW1hZ2VEZXNj
ICZkZXNjID0gbVN0YXRlLmdldEltYWdlRGVzYyhpbWFnZUluZGV4KTsKICAgICBjb25zdCB2azo6
Rm9ybWF0ICZmb3JtYXQgPQotICAgICAgICB2azo6R2V0SW1wbChjb250ZXh0KS0+Z2V0UmVuZGVy
ZXIoKS0+Z2V0Rm9ybWF0KGRlc2MuZm9ybWF0LmluZm8tPnNpemVkSW50ZXJuYWxGb3JtYXQpOwot
Ci0gICAgbUltYWdlLT5zdGFnZVN1YnJlc291cmNlUm9idXN0Q2xlYXIoaW1hZ2VJbmRleCwgZm9y
bWF0KTsKLSAgICBvblN0YWdpbmdCdWZmZXJDaGFuZ2UoKTsKKyAgICAgICAgY29udGV4dFZrLT5n
ZXRSZW5kZXJlcigpLT5nZXRGb3JtYXQoZGVzYy5mb3JtYXQuaW5mby0+c2l6ZWRJbnRlcm5hbEZv
cm1hdCk7CiAKKyAgICBBU1NFUlQobUltYWdlKTsKICAgICAvLyBOb3RlIHRoYXQgd2UgY2Fubm90
IGVuc3VyZSB0aGUgaW1hZ2UgaXMgaW5pdGlhbGl6ZWQgYmVjYXVzZSB3ZSBtaWdodCBiZSBjYWxs
aW5nIHN1YkltYWdlCiAgICAgLy8gb24gYSBub24tY29tcGxldGUgY3ViZSBtYXAuCi0gICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIHJldHVybiBtSW1hZ2UtPnN0YWdlUm9i
dXN0UmVzb3VyY2VDbGVhcldpdGhGb3JtYXQoY29udGV4dFZrLCBpbWFnZUluZGV4LCBkZXNjLnNp
emUsIGZvcm1hdCk7CiB9CiAKIHZvaWQgVGV4dHVyZVZrOjpyZWxlYXNlT3duZXJzaGlwT2ZJbWFn
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKQEAgLTE1NzgsNiArMTU5OSwxMiBAQCBjb25z
dCB2azo6SW1hZ2VWaWV3ICZUZXh0dXJlVms6OmdldFJlYWRJbWFnZVZpZXdBbmRSZWNvcmRVc2Uo
Q29udGV4dFZrICpjb250ZXh0VgogICAgICAgICByZXR1cm4gbUltYWdlVmlld3MuZ2V0U3RlbmNp
bFJlYWRJbWFnZVZpZXcoKTsKICAgICB9CiAKKyAgICBpZiAobVN0YXRlLmdldFNSR0JPdmVycmlk
ZSgpID09IGdsOjpTcmdiT3ZlcnJpZGU6OkVuYWJsZWQpCisgICAgeworICAgICAgICBBU1NFUlQo
bUltYWdlVmlld3MuZ2V0Tm9uTGluZWFyUmVhZEltYWdlVmlldygpLnZhbGlkKCkpOworICAgICAg
ICByZXR1cm4gbUltYWdlVmlld3MuZ2V0Tm9uTGluZWFyUmVhZEltYWdlVmlldygpOworICAgIH0K
KwogICAgIHJldHVybiBtSW1hZ2VWaWV3cy5nZXRSZWFkSW1hZ2VWaWV3KCk7CiB9CiAKQEAgLTE1
ODksNiArMTYxNiwxMyBAQCBjb25zdCB2azo6SW1hZ2VWaWV3ICZUZXh0dXJlVms6OmdldEZldGNo
SW1hZ2VWaWV3QW5kUmVjb3JkVXNlKENvbnRleHRWayAqY29udGV4dAogCiAgICAgLy8gV2UgZG9u
J3QgY3VycmVudGx5IHN1cHBvcnQgZmV0Y2ggZm9yIGRlcHRoL3N0ZW5jaWwgY3ViZSBtYXAgdGV4
dHVyZXMuCiAgICAgQVNTRVJUKCFtSW1hZ2VWaWV3cy5oYXNTdGVuY2lsUmVhZEltYWdlVmlldygp
IHx8ICFtSW1hZ2VWaWV3cy5oYXNGZXRjaEltYWdlVmlldygpKTsKKworICAgIGlmIChtU3RhdGUu
Z2V0U1JHQk92ZXJyaWRlKCkgPT0gZ2w6OlNyZ2JPdmVycmlkZTo6RW5hYmxlZCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiAobUltYWdlVmlld3MuaGFzRmV0Y2hJbWFnZVZpZXcoKSA/IG1JbWFnZVZp
ZXdzLmdldE5vbkxpbmVhckZldGNoSW1hZ2VWaWV3KCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogbUltYWdlVmlld3MuZ2V0Tm9uTGluZWFyUmVhZElt
YWdlVmlldygpKTsKKyAgICB9CisKICAgICByZXR1cm4gKG1JbWFnZVZpZXdzLmhhc0ZldGNoSW1h
Z2VWaWV3KCkgPyBtSW1hZ2VWaWV3cy5nZXRGZXRjaEltYWdlVmlldygpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbUltYWdlVmlld3MuZ2V0UmVhZEltYWdl
VmlldygpKTsKIH0KQEAgLTE2MzcsOSArMTY3MSwxMCBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVW
azo6aW5pdEltYWdlKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIGdsX3ZrOjpHZXRFeHRlbnRz
QW5kTGF5ZXJDb3VudChtU3RhdGUuZ2V0VHlwZSgpLCBleHRlbnRzLCAmdmtFeHRlbnQsICZsYXll
ckNvdW50KTsKICAgICBHTGludCBzYW1wbGVzID0gbVN0YXRlLmdldEJhc2VMZXZlbERlc2MoKS5z
YW1wbGVzID8gbVN0YXRlLmdldEJhc2VMZXZlbERlc2MoKS5zYW1wbGVzIDogMTsKIAotICAgIEFO
R0xFX1RSWShtSW1hZ2UtPmluaXQoY29udGV4dFZrLCBtU3RhdGUuZ2V0VHlwZSgpLCB2a0V4dGVu
dCwgZm9ybWF0LCBzYW1wbGVzLCBtSW1hZ2VVc2FnZUZsYWdzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbVN0YXRlLmdldEVmZmVjdGl2ZUJhc2VMZXZlbCgpLCBtU3RhdGUuZ2V0RWZmZWN0
aXZlTWF4TGV2ZWwoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsQ291bnQsIGxh
eWVyQ291bnQpKTsKKyAgICBBTkdMRV9UUlkobUltYWdlLT5pbml0RXh0ZXJuYWwoCisgICAgICAg
IGNvbnRleHRWaywgbVN0YXRlLmdldFR5cGUoKSwgdmtFeHRlbnQsIGZvcm1hdCwgc2FtcGxlcywg
bUltYWdlVXNhZ2VGbGFncywgbUltYWdlQ3JlYXRlRmxhZ3MsCisgICAgICAgIHJ4Ojp2azo6SW1h
Z2VMYXlvdXQ6OlVuZGVmaW5lZCwgbnVsbHB0ciwgbVN0YXRlLmdldEVmZmVjdGl2ZUJhc2VMZXZl
bCgpLAorICAgICAgICBtU3RhdGUuZ2V0RWZmZWN0aXZlTWF4TGV2ZWwoKSwgbGV2ZWxDb3VudCwg
bGF5ZXJDb3VudCkpOwogCiAgICAgY29uc3QgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIGZsYWdzID0g
VktfTUVNT1JZX1BST1BFUlRZX0RFVklDRV9MT0NBTF9CSVQ7CiAKQEAgLTE2NDcsMjEgKzE2ODIs
NiBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6aW5pdEltYWdlKENvbnRleHRWayAqY29udGV4
dFZrLAogCiAgICAgQU5HTEVfVFJZKGluaXRJbWFnZVZpZXdzKGNvbnRleHRWaywgZm9ybWF0LCBz
aXplZCwgbGV2ZWxDb3VudCwgbGF5ZXJDb3VudCkpOwogCi0gICAgLy8gSWYgdGhlIGltYWdlIGhh
cyBhbiBlbXVsYXRlZCBjaGFubmVsIG9yIHJvYnVzdCByZXNvdXJjZSBpbml0IGlzIGVuYWJsZWQs
IGFsd2F5cyBjbGVhciBpdC4KLSAgICAvLyBUaGVzZSBjaGFubmVscyB3aWxsIGJlIG1hc2tlZCBv
dXQgaW4gZnV0dXJlIHdyaXRlcywgYW5kIHNob3VsZG4ndCBjb250YWluIHVuaW5pdGlhbGl6ZWQK
LSAgICAvLyB2YWx1ZXMuCi0gICAgaWYgKGNvbnRleHRWay0+Z2V0U3RhdGUoKS5pc1JvYnVzdFJl
c291cmNlSW5pdEVuYWJsZWQoKSB8fCBmb3JtYXQuaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxzKCkp
Ci0gICAgewotICAgICAgICB1aW50MzJfdCBsZXZlbENvdW50ID0gbUltYWdlLT5nZXRMZXZlbENv
dW50KCk7Ci0KLSAgICAgICAgZm9yICh1aW50MzJfdCBsZXZlbCA9IDA7IGxldmVsIDwgbGV2ZWxD
b3VudDsgKytsZXZlbCkKLSAgICAgICAgewotICAgICAgICAgICAgZ2w6OkltYWdlSW5kZXggaW5k
ZXggPSBnbDo6SW1hZ2VJbmRleDo6TWFrZTJEQXJyYXlSYW5nZShsZXZlbCwgMCwgbGF5ZXJDb3Vu
dCk7Ci0gICAgICAgICAgICBtSW1hZ2UtPnN0YWdlU3VicmVzb3VyY2VSb2J1c3RDbGVhcihpbmRl
eCwgZm9ybWF0KTsKLSAgICAgICAgICAgIG9uU3RhZ2luZ0J1ZmZlckNoYW5nZSgpOwotICAgICAg
ICB9Ci0gICAgfQotCiAgICAgbVNlcmlhbCA9IGNvbnRleHRWay0+Z2VuZXJhdGVUZXh0dXJlU2Vy
aWFsKCk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC0xNjgyLDgg
KzE3MDIsMTcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlVms6OmluaXRJbWFnZVZpZXdzKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgIGdsOjpTd2l6emxlU3RhdGUgbWFwcGVkU3dpenpsZTsKICAg
ICBNYXBTd2l6emxlU3RhdGUoY29udGV4dFZrLCBmb3JtYXQsIHNpemVkLCBtU3RhdGUuZ2V0U3dp
enpsZVN0YXRlKCksICZtYXBwZWRTd2l6emxlKTsKIAotICAgIHJldHVybiBtSW1hZ2VWaWV3cy5p
bml0UmVhZFZpZXdzKGNvbnRleHRWaywgbVN0YXRlLmdldFR5cGUoKSwgKm1JbWFnZSwgZm9ybWF0
LCBtYXBwZWRTd2l6emxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJh
c2VMZXZlbCwgbGV2ZWxDb3VudCwgYmFzZUxheWVyLCBsYXllckNvdW50KTsKKyAgICBBTkdMRV9U
UlkobUltYWdlVmlld3MuaW5pdFJlYWRWaWV3cyhjb250ZXh0VmssIG1TdGF0ZS5nZXRUeXBlKCks
ICptSW1hZ2UsIGZvcm1hdCwgbWFwcGVkU3dpenpsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiYXNlTGV2ZWwsIGxldmVsQ291bnQsIGJhc2VMYXllciwgbGF5ZXJD
b3VudCkpOworCisgICAgaWYgKChtSW1hZ2VDcmVhdGVGbGFncyAmIFZLX0lNQUdFX0NSRUFURV9N
VVRBQkxFX0ZPUk1BVF9CSVQpICE9IDApCisgICAgeworICAgICAgICBBTkdMRV9UUlkobUltYWdl
Vmlld3MuaW5pdFNSR0JSZWFkVmlld3MoY29udGV4dFZrLCBtU3RhdGUuZ2V0VHlwZSgpLCAqbUlt
YWdlLCBmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtYXBwZWRTd2l6emxlLCBiYXNlTGV2ZWwsIGxldmVsQ291bnQsIGJhc2VMYXllciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyQ291bnQp
KTsKKyAgICB9CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIHZv
aWQgVGV4dHVyZVZrOjpyZWxlYXNlSW1hZ2UoQ29udGV4dFZrICpjb250ZXh0VmspCkBAIC0xNjk4
LDYgKzE3MjcsNyBAQCB2b2lkIFRleHR1cmVWazo6cmVsZWFzZUltYWdlKENvbnRleHRWayAqY29u
dGV4dFZrKQogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgeworICAgICAgICAgICAg
bUltYWdlT2JzZXJ2ZXJCaW5kaW5nLmJpbmQobnVsbHB0cik7CiAgICAgICAgICAgICBtSW1hZ2Ug
PSBudWxscHRyOwogICAgICAgICB9CiAgICAgfQpAQCAtMTcxMiw3ICsxNzQyLDcgQEAgdm9pZCBU
ZXh0dXJlVms6OnJlbGVhc2VJbWFnZShDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICAvLyBUaGVu
IGNsZWFyIHRoZSBsZXZlbHMKICAgICBtUmVuZGVyVGFyZ2V0cy5jbGVhcigpOwogCi0gICAgb25T
dGFnaW5nQnVmZmVyQ2hhbmdlKCk7CisgICAgb25TdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdE1l
c3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsKIH0KIAogdm9pZCBUZXh0dXJlVms6OnJlbGVhc2VTdGFn
aW5nQnVmZmVyKENvbnRleHRWayAqY29udGV4dFZrKQpAQCAtMTc4Myw3ICsxODEzLDYgQEAgYW5n
bGU6OlJlc3VsdCBUZXh0dXJlVms6OmdlbmVyYXRlTWlwbWFwTGV2ZWxzV2l0aENQVShDb250ZXh0
VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgIGNvbnRleHRWaywgbWlwQWxsb2NhdGlvblNpemUs
CiAgICAgICAgICAgICBnbDo6SW1hZ2VJbmRleDo6TWFrZUZyb21UeXBlKG1TdGF0ZS5nZXRUeXBl
KCksIGN1cnJlbnRNaXBMZXZlbCwgbGF5ZXIpLCBtaXBMZXZlbEV4dGVudHMsCiAgICAgICAgICAg
ICBnbDo6T2Zmc2V0KCksICZkZXN0RGF0YSkpOwotICAgICAgICBvblN0YWdpbmdCdWZmZXJDaGFu
Z2UoKTsKIAogICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgbWlwbWFwIGludG8gdGhhdCBuZXcgYnVm
ZmVyCiAgICAgICAgIHNvdXJjZUZvcm1hdC5taXBHZW5lcmF0aW9uRnVuY3Rpb24oCkBAIC0xODYx
LDQgKzE4OTAsMTIgQEAgY29uc3Qgdms6OkZvcm1hdCAmVGV4dHVyZVZrOjpnZXRCYXNlTGV2ZWxG
b3JtYXQoUmVuZGVyZXJWayAqcmVuZGVyZXIpIGNvbnN0CiAgICAgY29uc3QgZ2w6OkltYWdlRGVz
YyAmYmFzZUxldmVsRGVzYyA9IG1TdGF0ZS5nZXRCYXNlTGV2ZWxEZXNjKCk7CiAgICAgcmV0dXJu
IHJlbmRlcmVyLT5nZXRGb3JtYXQoYmFzZUxldmVsRGVzYy5mb3JtYXQuaW5mby0+c2l6ZWRJbnRl
cm5hbEZvcm1hdCk7CiB9CisKK3ZvaWQgVGV4dHVyZVZrOjpvblN1YmplY3RTdGF0ZUNoYW5nZShh
bmdsZTo6U3ViamVjdEluZGV4IGluZGV4LCBhbmdsZTo6U3ViamVjdE1lc3NhZ2UgbWVzc2FnZSkK
K3sKKyAgICBBU1NFUlQoaW5kZXggPT0ga1RleHR1cmVJbWFnZVN1YmplY3RJbmRleCAmJiBtZXNz
YWdlID09IGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6U3ViamVjdENoYW5nZWQpOworCisgICAgLy8g
Rm9yd2FyZCB0aGUgbm90aWZpY2F0aW9uIHRvIHRoZSBwYXJlbnQgdGhhdCB0aGUgc3RhZ2luZyBi
dWZmZXIgY2hhbmdlZC4KKyAgICBvblN0YXRlQ2hhbmdlKGFuZ2xlOjpTdWJqZWN0TWVzc2FnZTo6
U3ViamVjdENoYW5nZWQpOworfQogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1RleHR1cmVW
ay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi9UZXh0dXJlVmsuaAppbmRleCAwNzFjMmY2NGExODRlNDA3NDg2ODE4ZDRhMTcyOTE3Yzk0NWQ3
MzE0Li4zYmQzZDJlMjE4YzA5NTlhYjQ0OTlkYzI4YjY1M2JkZjA5Y2ZkNDJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Rl
eHR1cmVWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vVGV4dHVyZVZrLmgKQEAgLTMwLDcgKzMwLDcgQEAgZW51bSBjbGFzcyBJbWFn
ZU1pcExldmVscwogLy8gdmtDbWRDb3B5QnVmZmVyVG9JbWFnZSBidWZmZXIgb2Zmc2V0IG11bHRp
cGxlCiBjb25zdGV4cHIgVmtEZXZpY2VTaXplIGtCdWZmZXJPZmZzZXRNdWx0aXBsZSA9IDQ7CiAK
LWNsYXNzIFRleHR1cmVWayA6IHB1YmxpYyBUZXh0dXJlSW1wbAorY2xhc3MgVGV4dHVyZVZrIDog
cHVibGljIFRleHR1cmVJbXBsLCBwdWJsaWMgYW5nbGU6Ok9ic2VydmVySW50ZXJmYWNlCiB7CiAg
IHB1YmxpYzoKICAgICBUZXh0dXJlVmsoY29uc3QgZ2w6OlRleHR1cmVTdGF0ZSAmc3RhdGUsIFJl
bmRlcmVyVmsgKnJlbmRlcmVyKTsKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dHVyZVZrIDog
cHVibGljIFRleHR1cmVJbXBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9y
bWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKSBvdmVycmlkZTsKICAg
ICBhbmdsZTo6UmVzdWx0IHNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4
LApAQCAtMTg0LDggKzE4NSw2IEBAIGNsYXNzIFRleHR1cmVWayA6IHB1YmxpYyBUZXh0dXJlSW1w
bAogICAgICAgICBtSW1hZ2VWaWV3cy5yZXRhaW4ocmVzb3VyY2VVc2VMaXN0KTsKICAgICB9CiAK
LSAgICB2b2lkIHJldGFpblNhbXBsZXIodms6OlJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2VM
aXN0KSB7IG1TYW1wbGVyLnJldGFpbihyZXNvdXJjZVVzZUxpc3QpOyB9Ci0KICAgICB2b2lkIHJl
bGVhc2VPd25lcnNoaXBPZkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIAogICAg
IGNvbnN0IHZrOjpJbWFnZVZpZXcgJmdldFJlYWRJbWFnZVZpZXdBbmRSZWNvcmRVc2UoQ29udGV4
dFZrICpjb250ZXh0VmspIGNvbnN0OwpAQCAtMjI2LDcgKzIyNSwxMCBAQCBjbGFzcyBUZXh0dXJl
VmsgOiBwdWJsaWMgVGV4dHVyZUltcGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
ZW51bSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcGl4ZWxzKSBv
dmVycmlkZTsKIAotICAgIEFOR0xFX0lOTElORSBib29sIGlzQm91bmRBc0ltYWdlVGV4dHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1TdGF0ZS5pc0JvdW5kQXNJbWFnZVRleHR1cmUoKTsgfQorICAgIEFO
R0xFX0lOTElORSBib29sIGlzQm91bmRBc0ltYWdlVGV4dHVyZShnbDo6Q29udGV4dElEIGNvbnRl
eHRJRCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtU3RhdGUuaXNCb3VuZEFzSW1hZ2VU
ZXh0dXJlKGNvbnRleHRJRCk7CisgICAgfQogCiAgIHByaXZhdGU6CiAgICAgLy8gVHJhbnNmb3Jt
IGFuIGltYWdlIGluZGV4IGZyb20gdGhlIGZyb250ZW5kIGludG8gb25lIHRoYXQgY2FuIGJlIHVz
ZWQgb24gdGhlIGJhY2tpbmcKQEAgLTI1OCw2ICsyNjAsNyBAQCBjbGFzcyBUZXh0dXJlVmsgOiBw
dWJsaWMgVGV4dHVyZUltcGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6RXh0ZW50cyAmc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0g
dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UGl4ZWxVbnBh
Y2tTdGF0ZSAmdW5wYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpCdWZm
ZXIgKnVucGFja0J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpwaXhlbHMpOwogICAgIGFuZ2xlOjpSZXN1bHQgc2V0U3ViSW1hZ2VJbXBsKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwKQEAgLTM3MSwxOSArMzc0LDIzIEBAIGNsYXNz
IFRleHR1cmVWayA6IHB1YmxpYyBUZXh0dXJlSW1wbAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGV2ZWxDb3VudCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpGb3JtYXQgJmZvcm1hdCk7
CiAKLSAgICB2b2lkIG9uU3RhZ2luZ0J1ZmZlckNoYW5nZSgpIHsgb25TdGF0ZUNoYW5nZShhbmds
ZTo6U3ViamVjdE1lc3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsgfQotCiAgICAgY29uc3QgZ2w6Oklu
dGVybmFsRm9ybWF0ICZnZXRJbXBsZW1lbnRhdGlvblNpemVkRm9ybWF0KGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0KSBjb25zdDsKICAgICBjb25zdCB2azo6Rm9ybWF0ICZnZXRCYXNlTGV2ZWxG
b3JtYXQoUmVuZGVyZXJWayAqcmVuZGVyZXIpIGNvbnN0OwotICAgIC8vIFJlLWNyZWF0ZSB0aGUg
aW1hZ2UuCi0gICAgYW5nbGU6OlJlc3VsdCBjaGFuZ2VMZXZlbHMoQ29udGV4dFZrICpjb250ZXh0
VmssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IHByZXZpb3VzQmFzZUxl
dmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBiYXNlTGV2ZWwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IG1heExldmVsKTsKKyAgICAvLyBR
dWV1ZXMgYSBmbHVzaCBvZiBhbnkgbW9kaWZpZWQgaW1hZ2UgYXR0cmlidXRlcy4gVGhlIGltYWdl
IHdpbGwgYmUgcmVhbGxvY2F0ZWQgd2l0aCBpdHMgbmV3CisgICAgLy8gYXR0cmlidXRlcyBhdCB0
aGUgbmV4dCBvcHBvcnR1bml0eS4KKyAgICBhbmdsZTo6UmVzdWx0IHJlc3BlY2lmeUltYWdlQXR0
cmlidXRlcyhDb250ZXh0VmsgKmNvbnRleHRWayk7CisgICAgYW5nbGU6OlJlc3VsdCByZXNwZWNp
ZnlJbWFnZUF0dHJpYnV0ZXNBbmRMZXZlbHMoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IHByZXZp
b3VzQmFzZUxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMdWludCBiYXNlTGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50IG1heExldmVsKTsKIAogICAgIC8vIFVwZGF0
ZSBiYXNlIGFuZCBtYXggbGV2ZWxzLCBhbmQgcmUtY3JlYXRlIGltYWdlIGlmIG5lZWRlZC4KICAg
ICBhbmdsZTo6UmVzdWx0IHVwZGF0ZUJhc2VNYXhMZXZlbHMoQ29udGV4dFZrICpjb250ZXh0Vmss
IEdMdWludCBiYXNlTGV2ZWwsIEdMdWludCBtYXhMZXZlbCk7CiAKKyAgICAvLyBXZSBtb25pdG9y
IHRoZSBzdGFnaW5nIGJ1ZmZlciBhbmQgc2V0IGRpcnR5IGJpdHMgaWYgdGhlIHN0YWdpbmcgYnVm
ZmVyIGNoYW5nZXMuIE5vdGUgdGhhdCB3ZQorICAgIC8vIHN1cHBvcnQgY2hhbmdlcyBpbiB0aGUg
c3RhZ2luZyBidWZmZXIgZXZlbiBvdXRzaWRlIHRoZSBUZXh0dXJlVmsgY2xhc3MuCisgICAgdm9p
ZCBvblN1YmplY3RTdGF0ZUNoYW5nZShhbmdsZTo6U3ViamVjdEluZGV4IGluZGV4LCBhbmdsZTo6
U3ViamVjdE1lc3NhZ2UgbWVzc2FnZSkgb3ZlcnJpZGU7CisKICAgICBib29sIG1Pd25zSW1hZ2U7
CiAKICAgICBnbDo6VGV4dHVyZVR5cGUgbUltYWdlTmF0aXZlVHlwZTsKQEAgLTQwOCw3ICs0MTUs
NyBAQCBjbGFzcyBUZXh0dXJlVmsgOiBwdWJsaWMgVGV4dHVyZUltcGwKIAogICAgIC8vIHxtU2Ft
cGxlcnwgY29udGFpbnMgdGhlIHJlbGV2YW50IFZ1bGthbiBzYW1wbGVyIHN0YXRlcyByZXByZW5z
ZW50aW5nIHRoZSBPcGVuR0wgVGV4dHVyZQogICAgIC8vIHNhbXBsaW5nIHN0YXRlcyBmb3IgdGhl
IFRleHR1cmUuCi0gICAgdms6OlNhbXBsZXJIZWxwZXIgbVNhbXBsZXI7CisgICAgdms6OkJpbmRp
bmdQb2ludGVyPHZrOjpTYW1wbGVyPiBtU2FtcGxlcjsKIAogICAgIC8vIFJlbmRlciB0YXJnZXRz
IHN0b3JlZCBhcyB2ZWN0b3Igb2YgdmVjdG9ycwogICAgIC8vIExldmVsIGlzIGZpcnN0IGRpbWVu
c2lvbiwgbGF5ZXIgaXMgc2Vjb25kCkBAIC00MjIsNiArNDI5LDExIEBAIGNsYXNzIFRleHR1cmVW
ayA6IHB1YmxpYyBUZXh0dXJlSW1wbAogCiAgICAgLy8gVGhlIGNyZWF0ZWQgdmtJbWFnZSB1c2Fn
ZSBmbGFnLgogICAgIFZrSW1hZ2VVc2FnZUZsYWdzIG1JbWFnZVVzYWdlRmxhZ3M7CisKKyAgICAv
LyBBZGRpdGlvbmFsIGltYWdlIGNyZWF0ZSBmbGFncworICAgIFZrSW1hZ2VDcmVhdGVGbGFncyBt
SW1hZ2VDcmVhdGVGbGFnczsKKworICAgIGFuZ2xlOjpPYnNlcnZlckJpbmRpbmcgbUltYWdlT2Jz
ZXJ2ZXJCaW5kaW5nOwogfTsKIAogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1RyYW5zZm9y
bUZlZWRiYWNrVmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9UcmFuc2Zvcm1GZWVkYmFja1ZrLmNwcAppbmRleCBhN2ExMzA3NWFlNTBj
NDkwMjYxNThmMTAyMjlhMzcxMDZhNjA5OThiLi5lYzg1MTc1ODg4M2VhY2RhNjY2ZTg3YzliNzgz
NTAyNGEzMGYzYzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvdnVsa2FuL1RyYW5zZm9ybUZlZWRiYWNrVmsuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVHJhbnNmb3Jt
RmVlZGJhY2tWay5jcHAKQEAgLTI0LDEwICsyNCwxNSBAQCBuYW1lc3BhY2UgcngKIHsKIAogVHJh
bnNmb3JtRmVlZGJhY2tWazo6VHJhbnNmb3JtRmVlZGJhY2tWayhjb25zdCBnbDo6VHJhbnNmb3Jt
RmVlZGJhY2tTdGF0ZSAmc3RhdGUpCi0gICAgOiBUcmFuc2Zvcm1GZWVkYmFja0ltcGwoc3RhdGUp
LCBtUmViaW5kVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXIoZmFsc2UpCi17Ci0gICAgbUNvdW50ZXJC
dWZmZXJIYW5kbGVzLmZpbGwoMCk7Ci19CisgICAgOiBUcmFuc2Zvcm1GZWVkYmFja0ltcGwoc3Rh
dGUpLAorICAgICAgbVJlYmluZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyKGZhbHNlKSwKKyAgICAg
IG1CdWZmZXJIZWxwZXJze30sCisgICAgICBtQnVmZmVySGFuZGxlc3t9LAorICAgICAgbUJ1ZmZl
ck9mZnNldHN7fSwKKyAgICAgIG1CdWZmZXJTaXplc3t9LAorICAgICAgbUFsaWduZWRCdWZmZXJP
ZmZzZXRze30sCisgICAgICBtQ291bnRlckJ1ZmZlckhhbmRsZXN7fQore30KIAogVHJhbnNmb3Jt
RmVlZGJhY2tWazo6flRyYW5zZm9ybUZlZWRiYWNrVmsoKSB7fQogCkBAIC0zNSw3ICs0MCw3IEBA
IHZvaWQgVHJhbnNmb3JtRmVlZGJhY2tWazo6b25EZXN0cm95KGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0KQogewogICAgIFJlbmRlcmVyVmsgKnJlbmRlcmVyVmsgPSB2azo6R2V0SW1wbChjb250
ZXh0KS0+Z2V0UmVuZGVyZXIoKTsKIAotICAgIGZvciAodms6OkJ1ZmZlckhlbHBlciAmYnVmZmVy
SGVscGVyIDogbUNvdW50ZXJCdWZmZXIpCisgICAgZm9yICh2azo6QnVmZmVySGVscGVyICZidWZm
ZXJIZWxwZXIgOiBtQ291bnRlckJ1ZmZlckhlbHBlcnMpCiAgICAgewogICAgICAgICBidWZmZXJI
ZWxwZXIucmVsZWFzZShyZW5kZXJlclZrKTsKICAgICB9CkBAIC00OCw2ICs1Myw1MyBAQCBhbmds
ZTo6UmVzdWx0IFRyYW5zZm9ybUZlZWRiYWNrVms6OmJlZ2luKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogCiAgICAgY29udGV4dFZrLT5vblRyYW5zZm9ybUZlZWRiYWNrU3RhdGVDaGFuZ2Vk
KCk7CiAKKyAgICBjb25zdCBnbDo6UHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUgPSBjb250
ZXh0VmstPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbUV4ZWN1dGFibGUoKTsKKyAgICBBU1NFUlQoZXhl
Y3V0YWJsZSk7CisgICAgc2l6ZV90IHhmYkJ1ZmZlckNvdW50ID0gZXhlY3V0YWJsZS0+Z2V0VHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJDb3VudChjb250ZXh0VmstPmdldFN0YXRlKCkpOworCisgICAg
Zm9yIChzaXplX3QgYnVmZmVySW5kZXggPSAwOyBidWZmZXJJbmRleCA8IHhmYkJ1ZmZlckNvdW50
OyArK2J1ZmZlckluZGV4KQorICAgIHsKKyAgICAgICAgY29uc3QgZ2w6Ok9mZnNldEJpbmRpbmdQ
b2ludGVyPGdsOjpCdWZmZXI+ICZiaW5kaW5nID0gbVN0YXRlLmdldEluZGV4ZWRCdWZmZXIoYnVm
ZmVySW5kZXgpOworICAgICAgICBBU1NFUlQoYmluZGluZy5nZXQoKSk7CisgICAgICAgIG1CdWZm
ZXJIZWxwZXJzW2J1ZmZlckluZGV4XSA9ICZ2azo6R2V0SW1wbChiaW5kaW5nLmdldCgpKS0+Z2V0
QnVmZmVyKCk7CisgICAgICAgIG1CdWZmZXJIYW5kbGVzW2J1ZmZlckluZGV4XSA9IG1CdWZmZXJI
ZWxwZXJzW2J1ZmZlckluZGV4XS0+Z2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7CisgICAgICAgIG1C
dWZmZXJPZmZzZXRzW2J1ZmZlckluZGV4XSA9IGJpbmRpbmcuZ2V0T2Zmc2V0KCk7CisgICAgICAg
IG1CdWZmZXJTaXplc1tidWZmZXJJbmRleF0gICA9IGdsOjpHZXRCb3VuZEJ1ZmZlckF2YWlsYWJs
ZVNpemUoYmluZGluZyk7CisKKyAgICAgICAgaWYgKGNvbnRleHRWay0+Z2V0RmVhdHVyZXMoKS5z
dXBwb3J0c1RyYW5zZm9ybUZlZWRiYWNrRXh0ZW5zaW9uLmVuYWJsZWQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmIChtQ291bnRlckJ1ZmZlckhhbmRsZXNbYnVmZmVySW5kZXhdID09IFZLX05V
TExfSEFORExFKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFZrQnVmZmVyQ3JlYXRl
SW5mbyBjcmVhdGVJbmZvID0ge307CisgICAgICAgICAgICAgICAgY3JlYXRlSW5mby5zVHlwZSAg
ICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9CVUZGRVJfQ1JFQVRFX0lORk87CisgICAg
ICAgICAgICAgICAgY3JlYXRlSW5mby5zaXplICAgICAgICAgICAgICAgPSAxNjsKKyAgICAgICAg
ICAgICAgICBjcmVhdGVJbmZvLnVzYWdlICAgICAgID0gVktfQlVGRkVSX1VTQUdFX1RSQU5TRk9S
TV9GRUVEQkFDS19DT1VOVEVSX0JVRkZFUl9CSVRfRVhUOworICAgICAgICAgICAgICAgIGNyZWF0
ZUluZm8uc2hhcmluZ01vZGUgPSBWS19TSEFSSU5HX01PREVfRVhDTFVTSVZFOworCisgICAgICAg
ICAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAmYnVmZmVySGVscGVyID0gbUNvdW50ZXJCdWZmZXJI
ZWxwZXJzW2J1ZmZlckluZGV4XTsKKyAgICAgICAgICAgICAgICBBTkdMRV9UUlkoCisgICAgICAg
ICAgICAgICAgICAgIGJ1ZmZlckhlbHBlci5pbml0KGNvbnRleHRWaywgY3JlYXRlSW5mbywgVktf
TUVNT1JZX1BST1BFUlRZX0RFVklDRV9MT0NBTF9CSVQpKTsKKworICAgICAgICAgICAgICAgIG1D
b3VudGVyQnVmZmVySGFuZGxlc1tidWZmZXJJbmRleF0gPSBidWZmZXJIZWxwZXIuZ2V0QnVmZmVy
KCkuZ2V0SGFuZGxlKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQor
ICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoY29udGV4dFZrLT5nZXRGZWF0dXJlcygpLmVt
dWxhdGVUcmFuc2Zvcm1GZWVkYmFjay5lbmFibGVkKTsKKyAgICAgICAgICAgIFJlbmRlcmVyVmsg
KnJlbmRlcmVyVmsgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCk7CisgICAgICAgICAgICBjb25z
dCBWa0RldmljZVNpemUgb2Zmc2V0QWxpZ25tZW50ID0KKyAgICAgICAgICAgICAgICByZW5kZXJl
clZrLT5nZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXMoKS5saW1pdHMubWluU3RvcmFnZUJ1ZmZl
ck9mZnNldEFsaWdubWVudDsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZXJlJ3Mgbm8g
cG9zc2libGUgdW5kZXIvb3ZlcmZsb3cgd2l0aCBiaW5kaW5nIHNpemUuCisgICAgICAgICAgICBz
dGF0aWNfYXNzZXJ0KHNpemVvZihWa0RldmljZVNpemUpID49IHNpemVvZihiaW5kaW5nLmdldFNp
emUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICJWa0RldmljZVNpemUgdG9vIHNtYWxs
Iik7CisKKyAgICAgICAgICAgIC8vIFNldCB0aGUgb2Zmc2V0IGFzIGNsb3NlIGFzIHBvc3NpYmxl
IHRvIHRoZSByZXF1ZXN0ZWQgb2Zmc2V0IHdoaWxlIHJlbWFpbmluZyBhbGlnbmVkLgorICAgICAg
ICAgICAgbUFsaWduZWRCdWZmZXJPZmZzZXRzW2J1ZmZlckluZGV4XSA9CisgICAgICAgICAgICAg
ICAgKG1CdWZmZXJPZmZzZXRzW2J1ZmZlckluZGV4XSAvIG9mZnNldEFsaWdubWVudCkgKiBvZmZz
ZXRBbGlnbm1lbnQ7CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY29udGV4dFZrLT5nZXRG
ZWF0dXJlcygpLnN1cHBvcnRzVHJhbnNmb3JtRmVlZGJhY2tFeHRlbnNpb24uZW5hYmxlZCkKICAg
ICB7CiAgICAgICAgIG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlciA9IHRydWU7CkBAIC0x
MTMsNTAgKzE2NSw5IEBAIGFuZ2xlOjpSZXN1bHQgVHJhbnNmb3JtRmVlZGJhY2tWazo6YmluZElu
ZGV4ZWRCdWZmZXIoCiB7CiAgICAgQ29udGV4dFZrICpjb250ZXh0VmsgPSB2azo6R2V0SW1wbChj
b250ZXh0KTsKIAotICAgIGlmIChjb250ZXh0VmstPmdldEZlYXR1cmVzKCkuc3VwcG9ydHNUcmFu
c2Zvcm1GZWVkYmFja0V4dGVuc2lvbi5lbmFibGVkKQotICAgIHsKLSAgICAgICAgLy8gU2F2ZSB4
ZmIgYnVmZmVyIHN0YXRlCi0gICAgICAgIG1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdlLm9m
ZnNldHNbaW5kZXhdID0gYmluZGluZy5nZXRPZmZzZXQoKTsKLSAgICAgICAgbVRyYW5zZm9ybUZl
ZWRiYWNrQnVmZmVyUmFuZ2Uuc2l6ZXNbaW5kZXhdID0KLSAgICAgICAgICAgIChiaW5kaW5nLmdl
dFNpemUoKSkgPyBiaW5kaW5nLmdldFNpemUoKSA6IFZLX1dIT0xFX1NJWkU7Ci0gICAgICAgIG1S
ZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlciA9IHRydWU7Ci0KLSAgICAgICAgaWYgKG1Db3Vu
dGVyQnVmZmVySGFuZGxlc1tpbmRleF0gPT0gMCkKLSAgICAgICAgewotICAgICAgICAgICAgVmtC
dWZmZXJDcmVhdGVJbmZvIGNyZWF0ZUluZm8gPSB7fTsKLSAgICAgICAgICAgIGNyZWF0ZUluZm8u
c1R5cGUgICAgICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVfQlVGRkVSX0NSRUFURV9JTkZP
OwotICAgICAgICAgICAgY3JlYXRlSW5mby5zaXplICAgICAgICAgICAgICAgPSAxNjsKLSAgICAg
ICAgICAgIGNyZWF0ZUluZm8udXNhZ2UgICAgICAgPSBWS19CVUZGRVJfVVNBR0VfVFJBTlNGT1JN
X0ZFRURCQUNLX0NPVU5URVJfQlVGRkVSX0JJVF9FWFQ7Ci0gICAgICAgICAgICBjcmVhdGVJbmZv
LnNoYXJpbmdNb2RlID0gVktfU0hBUklOR19NT0RFX0VYQ0xVU0lWRTsKLQotICAgICAgICAgICAg
QU5HTEVfVFJZKG1Db3VudGVyQnVmZmVyW2luZGV4XS5pbml0KGNvbnRleHRWaywgY3JlYXRlSW5m
bywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19N
RU1PUllfUFJPUEVSVFlfREVWSUNFX0xPQ0FMX0JJVCkpOworICAgIC8vIE1ha2Ugc3VyZSB0aGUg
dHJhbnNmb3JtIGZlZWRiYWNrIGJ1ZmZlcnMgYXJlIGJvdW5kIHRvIHRoZSBwcm9ncmFtIGRlc2Ny
aXB0b3Igc2V0cy4KKyAgICBjb250ZXh0VmstPmludmFsaWRhdGVDdXJyZW50VHJhbnNmb3JtRmVl
ZGJhY2tCdWZmZXJzKCk7CiAKLSAgICAgICAgICAgIG1Db3VudGVyQnVmZmVySGFuZGxlc1tpbmRl
eF0gPSBtQ291bnRlckJ1ZmZlcltpbmRleF0uZ2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICAvLyBTZXQgZGlydHkgYml0IGZvciB1cGRhdGUgeGZiIGJ1ZmZlcgot
ICAgICAgICBjb250ZXh0VmstPmludmFsaWRhdGVDdXJyZW50VHJhbnNmb3JtRmVlZGJhY2tCdWZm
ZXJzKCk7Ci0gICAgfQotICAgIGVsc2UgaWYgKGNvbnRleHRWay0+Z2V0RmVhdHVyZXMoKS5lbXVs
YXRlVHJhbnNmb3JtRmVlZGJhY2suZW5hYmxlZCkKLSAgICB7Ci0gICAgICAgIFJlbmRlcmVyVmsg
KnJlbmRlcmVyVmsgPSB2azo6R2V0SW1wbChjb250ZXh0KS0+Z2V0UmVuZGVyZXIoKTsKLSAgICAg
ICAgY29uc3QgVmtEZXZpY2VTaXplIG9mZnNldEFsaWdubWVudCA9Ci0gICAgICAgICAgICByZW5k
ZXJlclZrLT5nZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXMoKS5saW1pdHMubWluU3RvcmFnZUJ1
ZmZlck9mZnNldEFsaWdubWVudDsKLQotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlcmUncyBubyBw
b3NzaWJsZSB1bmRlci9vdmVyZmxvdyB3aXRoIGJpbmRpbmcgc2l6ZS4KLSAgICAgICAgc3RhdGlj
X2Fzc2VydChzaXplb2YoVmtEZXZpY2VTaXplKSA+PSBzaXplb2YoYmluZGluZy5nZXRTaXplKCkp
LCAiVmtEZXZpY2VTaXplIHRvbyBzbWFsbCIpOwotCi0gICAgICAgIG1UcmFuc2Zvcm1GZWVkYmFj
a0J1ZmZlclJhbmdlLm9mZnNldHNbaW5kZXhdID0gYmluZGluZy5nZXRPZmZzZXQoKTsKLSAgICAg
ICAgbVRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyUmFuZ2Uuc2l6ZXNbaW5kZXhdICAgPSBnbDo6R2V0
Qm91bmRCdWZmZXJBdmFpbGFibGVTaXplKGJpbmRpbmcpOwotCi0gICAgICAgIC8vIFNldCB0aGUg
b2Zmc2V0IGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSByZXF1ZXN0ZWQgb2Zmc2V0IHdoaWxl
IHJlbWFpbmluZyBhbGlnbmVkLgotICAgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSYW5n
ZS5hbGlnbmVkT2Zmc2V0c1tpbmRleF0gPQotICAgICAgICAgICAgKG1UcmFuc2Zvcm1GZWVkYmFj
a0J1ZmZlclJhbmdlLm9mZnNldHNbaW5kZXhdIC8gb2Zmc2V0QWxpZ25tZW50KSAqIG9mZnNldEFs
aWdubWVudDsKLQotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHRyYW5zZm9ybSBmZWVkYmFjayBi
dWZmZXJzIGFyZSBib3VuZCB0byB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9yIHNldHMuCi0gICAgICAg
IGNvbnRleHRWay0+aW52YWxpZGF0ZUN1cnJlbnRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMoKTsK
LSAgICB9CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0xODcs
OCArMTk4LDcgQEAgdm9pZCBUcmFuc2Zvcm1GZWVkYmFja1ZrOjppbml0RGVzY3JpcHRvclNldChD
b250ZXh0VmsgKmNvbnRleHRWaywKICAgICBpZiAoIWNvbnRleHRWay0+Z2V0RmVhdHVyZXMoKS5l
bXVsYXRlVHJhbnNmb3JtRmVlZGJhY2suZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
c3RkOjphcnJheTxWa0Rlc2NyaXB0b3JCdWZmZXJJbmZvLCBnbDo6SU1QTEVNRU5UQVRJT05fTUFY
X1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJTPgotICAgICAgICBkZXNjcmlwdG9yQnVmZmVySW5m
bzsKKyAgICBnbDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXNjcmlwdG9yQnVm
ZmVySW5mbz4gZGVzY3JpcHRvckJ1ZmZlckluZm87CiAKICAgICBmb3IgKHNpemVfdCBidWZmZXJJ
bmRleCA9IDA7IGJ1ZmZlckluZGV4IDwgeGZiQnVmZmVyQ291bnQ7ICsrYnVmZmVySW5kZXgpCiAg
ICAgewpAQCAtMjA4LDggKzIxOCw2IEBAIHZvaWQgVHJhbnNmb3JtRmVlZGJhY2tWazo6dXBkYXRl
RGVzY3JpcHRvclNldChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICBpZiAoIWNvbnRleHRWay0+
Z2V0RmVhdHVyZXMoKS5lbXVsYXRlVHJhbnNmb3JtRmVlZGJhY2suZW5hYmxlZCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8Z2w6Ok9mZnNldEJpbmRpbmdQb2ludGVy
PGdsOjpCdWZmZXI+PiAmeGZiQnVmZmVycyA9Ci0gICAgICAgIG1TdGF0ZS5nZXRJbmRleGVkQnVm
ZmVycygpOwogICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAqZXhlY3V0YWJsZSA9IGNv
bnRleHRWay0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOwogICAgIEFTU0VSVChl
eGVjdXRhYmxlKTsKICAgICBzaXplX3QgeGZiQnVmZmVyQ291bnQgPSBleGVjdXRhYmxlLT5nZXRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50KGNvbnRleHRWay0+Z2V0U3RhdGUoKSk7CkBAIC0y
MTgsMjYgKzIyNiwxOCBAQCB2b2lkIFRyYW5zZm9ybUZlZWRiYWNrVms6OnVwZGF0ZURlc2NyaXB0
b3JTZXQoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgQVNTRVJUKHByb2dyYW1TdGF0ZS5nZXRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlck1vZGUoKSAhPSBHTF9JTlRFUkxFQVZFRF9BVFRSSUJTIHx8
CiAgICAgICAgICAgIHhmYkJ1ZmZlckNvdW50ID09IDEpOwogCi0gICAgc3RkOjphcnJheTxWa0Rl
c2NyaXB0b3JCdWZmZXJJbmZvLCBnbDo6SU1QTEVNRU5UQVRJT05fTUFYX1RSQU5TRk9STV9GRUVE
QkFDS19CVUZGRVJTPgotICAgICAgICBkZXNjcmlwdG9yQnVmZmVySW5mbzsKKyAgICBnbDo6VHJh
bnNmb3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXNjcmlwdG9yQnVmZmVySW5mbz4gZGVzY3Jp
cHRvckJ1ZmZlckluZm87CiAKICAgICAvLyBVcGRhdGUgYnVmZmVyIGRlc2NyaXB0b3IgYmluZGlu
ZyBpbmZvIGZvciBvdXRwdXQgYnVmZmVycwogICAgIGZvciAoc2l6ZV90IGJ1ZmZlckluZGV4ID0g
MDsgYnVmZmVySW5kZXggPCB4ZmJCdWZmZXJDb3VudDsgKytidWZmZXJJbmRleCkKICAgICB7CiAg
ICAgICAgIFZrRGVzY3JpcHRvckJ1ZmZlckluZm8gJmJ1ZmZlckluZm8gPSBkZXNjcmlwdG9yQnVm
ZmVySW5mb1tidWZmZXJJbmRleF07CiAKLSAgICAgICAgY29uc3QgZ2w6Ok9mZnNldEJpbmRpbmdQ
b2ludGVyPGdsOjpCdWZmZXI+ICZidWZmZXJCaW5kaW5nID0geGZiQnVmZmVyc1tidWZmZXJJbmRl
eF07Ci0gICAgICAgIGdsOjpCdWZmZXIgKmJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IGJ1ZmZlckJpbmRpbmcuZ2V0KCk7Ci0gICAgICAgIEFTU0VSVChidWZm
ZXIgIT0gbnVsbHB0cik7Ci0KLSAgICAgICAgdms6OkJ1ZmZlckhlbHBlciAmYnVmZmVySGVscGVy
ID0gdms6OkdldEltcGwoYnVmZmVyKS0+Z2V0QnVmZmVyKCk7Ci0KLSAgICAgICAgYnVmZmVySW5m
by5idWZmZXIgPSBidWZmZXJIZWxwZXIuZ2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7Ci0gICAgICAg
IGJ1ZmZlckluZm8ub2Zmc2V0ID0gbVRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyUmFuZ2UuYWxpZ25l
ZE9mZnNldHNbYnVmZmVySW5kZXhdOwotICAgICAgICBidWZmZXJJbmZvLnJhbmdlICA9IG1UcmFu
c2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdlLnNpemVzW2J1ZmZlckluZGV4XSArCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAobVRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyUmFuZ2Uub2Zmc2V0c1ti
dWZmZXJJbmRleF0gLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1UcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlclJhbmdlLmFsaWduZWRPZmZzZXRzW2J1ZmZlckluZGV4XSk7Ci0gICAgICAgIGJ1
ZmZlckluZm8ucmFuZ2UgPSAoYnVmZmVySW5mby5yYW5nZSA9PSAwKSA/IGJ1ZmZlckhlbHBlci5n
ZXRTaXplKCkgOiBidWZmZXJJbmZvLnJhbmdlOworICAgICAgICBidWZmZXJJbmZvLmJ1ZmZlciA9
IG1CdWZmZXJIYW5kbGVzW2J1ZmZlckluZGV4XTsKKyAgICAgICAgYnVmZmVySW5mby5vZmZzZXQg
PSBtQWxpZ25lZEJ1ZmZlck9mZnNldHNbYnVmZmVySW5kZXhdOworICAgICAgICBidWZmZXJJbmZv
LnJhbmdlICA9IG1CdWZmZXJTaXplc1tidWZmZXJJbmRleF0gKworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKG1CdWZmZXJPZmZzZXRzW2J1ZmZlckluZGV4XSAtIG1BbGlnbmVkQnVmZmVyT2Zm
c2V0c1tidWZmZXJJbmRleF0pOworICAgICAgICBBU1NFUlQoYnVmZmVySW5mby5yYW5nZSAhPSAw
KTsKICAgICB9CiAKICAgICB3cml0ZURlc2NyaXB0b3JTZXQoY29udGV4dFZrLCB4ZmJCdWZmZXJD
b3VudCwgZGVzY3JpcHRvckJ1ZmZlckluZm8uZGF0YSgpLCBkZXNjU2V0KTsKQEAgLTI2Nyw4ICsy
NjcsNyBAQCB2b2lkIFRyYW5zZm9ybUZlZWRiYWNrVms6OmdldEJ1ZmZlck9mZnNldHMoQ29udGV4
dFZrICpjb250ZXh0VmssCiAgICAgZm9yIChzaXplX3QgYnVmZmVySW5kZXggPSAwOyBidWZmZXJJ
bmRleCA8IHhmYkJ1ZmZlckNvdW50OyArK2J1ZmZlckluZGV4KQogICAgIHsKICAgICAgICAgaW50
NjRfdCBvZmZzZXRGcm9tRGVzY3JpcHRvciA9Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ2
NF90PihtVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSYW5nZS5vZmZzZXRzW2J1ZmZlckluZGV4XSAt
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtVHJhbnNmb3JtRmVlZGJhY2tCdWZm
ZXJSYW5nZS5hbGlnbmVkT2Zmc2V0c1tidWZmZXJJbmRleF0pOworICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8aW50NjRfdD4obUJ1ZmZlck9mZnNldHNbYnVmZmVySW5kZXhdIC0gbUFsaWduZWRCdWZm
ZXJPZmZzZXRzW2J1ZmZlckluZGV4XSk7CiAgICAgICAgIGludDY0X3QgZHJhd0NhbGxWZXJ0ZXhP
ZmZzZXQgPSBzdGF0aWNfY2FzdDxpbnQ2NF90Pih2ZXJ0aWNlc0RyYXduKSAtIGRyYXdDYWxsRmly
c3RWZXJ0ZXg7CiAKICAgICAgICAgaW50NjRfdCB3cml0ZU9mZnNldCA9CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1RyYW5z
Zm9ybUZlZWRiYWNrVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vVHJhbnNmb3JtRmVlZGJhY2tWay5oCmluZGV4IDMyMTk4OTA3ZGJhZDk4
YjQ4ZmQzMDY4NjNkZDQ1YjA0ZWFkYzJmNjcuLjlkNDgxNGNkODNjYTI0MDBiY2ZjOTY0MzBhMmZh
ODdlMmFjMzcxOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vVHJhbnNmb3JtRmVlZGJhY2tWay5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVHJhbnNmb3JtRmVl
ZGJhY2tWay5oCkBAIC0yNywxOCArMjcsNiBAQCBuYW1lc3BhY2UgdmsKIGNsYXNzIERlc2NyaXB0
b3JTZXRMYXlvdXREZXNjOwogfQogCi0vLyBDYWNoZWQgYnVmZmVyIHByb3BlcnRpZXMgZm9yIGZh
c3RlciBkZXNjcmlwdG9yIHNldCB1cGRhdGUgYW5kIG9mZnNldCBjYWxjdWxhdGlvbi4KLXN0cnVj
dCBUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdlCi17Ci0gICAgLy8gT2Zmc2V0IGFzIHByb3Zp
ZGVkIGJ5IE9mZnNldEJpbmRpbmdQb2ludGVyLgotICAgIGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1
ZmZlcnNBcnJheTxWa0RldmljZVNpemU+IG9mZnNldHM7Ci0gICAgLy8gU2l6ZSBhcyBwcm92aWRl
ZCBieSBPZmZzZXRCaW5kaW5nUG9pbnRlci4KLSAgICBnbDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZm
ZXJzQXJyYXk8VmtEZXZpY2VTaXplPiBzaXplczsKLSAgICAvLyBBbGlnbmVkIG9mZnNldCB1c2Fi
bGUgZm9yIFZrRGVzY3JpcHRvckJ1ZmZlckluZm8uICBUaGlzIHZhbHVlIGNvdWxkIGJlIHNtYWxs
ZXIgdGhhbgotICAgIC8vIG9mZnNldC4KLSAgICBnbDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJz
QXJyYXk8VmtEZXZpY2VTaXplPiBhbGlnbmVkT2Zmc2V0czsKLX07Ci0KIGNsYXNzIFRyYW5zZm9y
bUZlZWRiYWNrVmsgOiBwdWJsaWMgVHJhbnNmb3JtRmVlZGJhY2tJbXBsCiB7CiAgIHB1YmxpYzoK
QEAgLTcxLDEzICs1OSwzMSBAQCBjbGFzcyBUcmFuc2Zvcm1GZWVkYmFja1ZrIDogcHVibGljIFRy
YW5zZm9ybUZlZWRiYWNrSW1wbAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90ICpv
ZmZzZXRzT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb2Zmc2V0c1NpemUp
IGNvbnN0OwogCi0gICAgdm9pZCB1bnNldFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyUmViaW5kU3Rh
dGUoKSB7IG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlciA9IGZhbHNlOyB9CisgICAgYm9v
bCBnZXRBbmRSZXNldEJ1ZmZlclJlYmluZFN0YXRlKCkKKyAgICB7CisgICAgICAgIGJvb2wgcmV0
VmFsICAgICAgICAgICAgICAgICAgICA9IG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcjsK
KyAgICAgICAgbVJlYmluZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyID0gZmFsc2U7CisgICAgICAg
IHJldHVybiByZXRWYWw7CisgICAgfQorCisgICAgY29uc3QgZ2w6OlRyYW5zZm9ybUZlZWRiYWNr
QnVmZmVyc0FycmF5PHZrOjpCdWZmZXJIZWxwZXIgKj4gJmdldEJ1ZmZlckhlbHBlcnMoKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1CdWZmZXJIZWxwZXJzOworICAgIH0KKworICAgIGNv
bnN0IGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTxWa0J1ZmZlcj4gJmdldEJ1ZmZl
ckhhbmRsZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1CdWZmZXJIYW5kbGVzOwor
ICAgIH0KIAotICAgIGJvb2wgZ2V0VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSZWJpbmRTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcjsgfQorICAgIGNv
bnN0IGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTxWa0RldmljZVNpemU+ICZnZXRC
dWZmZXJPZmZzZXRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtQnVmZmVyT2Zmc2V0
czsKKyAgICB9CiAKLSAgICBjb25zdCBUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdlICZnZXRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdlKCkgY29uc3QKKyAgICBjb25zdCBnbDo6VHJhbnNm
b3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXZpY2VTaXplPiAmZ2V0QnVmZmVyU2l6ZXMoKSBj
b25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1UcmFuc2Zvcm1GZWVkYmFja0J1ZmZlclJhbmdl
OworICAgICAgICByZXR1cm4gbUJ1ZmZlclNpemVzOwogICAgIH0KIAogICAgIGNvbnN0IGdsOjpU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTxWa0J1ZmZlcj4gJmdldENvdW50ZXJCdWZmZXJI
YW5kbGVzKCkgY29uc3QKQEAgLTk3LDkgKzEwMywxNyBAQCBjbGFzcyBUcmFuc2Zvcm1GZWVkYmFj
a1ZrIDogcHVibGljIFRyYW5zZm9ybUZlZWRiYWNrSW1wbAogICAgIC8vIHZhbHVlIGlzIHRydWUs
IHZlcnRleCBzaGFkZXIgd2lsbCByZWNvcmQgdHJhbnNmb3JtIGZlZWRiYWNrIHZhcnlpbmdzIGZy
b20gdGhlIGJlZ2lubmluZwogICAgIC8vIG9mIHRoZSBidWZmZXIuCiAgICAgYm9vbCBtUmViaW5k
VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXI7Ci0gICAgVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSYW5n
ZSBtVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJSYW5nZTsKKworICAgIGdsOjpUcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlcnNBcnJheTx2azo6QnVmZmVySGVscGVyICo+IG1CdWZmZXJIZWxwZXJzOworICAg
IGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTxWa0J1ZmZlcj4gbUJ1ZmZlckhhbmRs
ZXM7CisgICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5PFZrRGV2aWNlU2l6ZT4g
bUJ1ZmZlck9mZnNldHM7CisgICAgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5PFZr
RGV2aWNlU2l6ZT4gbUJ1ZmZlclNpemVzOworCisgICAgLy8gQWxpZ25lZCBvZmZzZXQgZm9yIGVt
dWxhdGlvbi4gQ291bGQgYmUgc21hbGxlciB0aGFuIG9mZnNldC4KKyAgICBnbDo6VHJhbnNmb3Jt
RmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtEZXZpY2VTaXplPiBtQWxpZ25lZEJ1ZmZlck9mZnNldHM7
CisKICAgICAvLyBDb3VudGVyIGJ1ZmZlciB1c2VkIGZvciBwYXVzZSBhbmQgcmVzdW1lLgotICAg
IGdsOjpUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNBcnJheTx2azo6QnVmZmVySGVscGVyPiBtQ291
bnRlckJ1ZmZlcjsKKyAgICBnbDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8dms6OkJ1
ZmZlckhlbHBlcj4gbUNvdW50ZXJCdWZmZXJIZWxwZXJzOwogICAgIGdsOjpUcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlcnNBcnJheTxWa0J1ZmZlcj4gbUNvdW50ZXJCdWZmZXJIYW5kbGVzOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi9VdGlsc1ZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vVXRpbHNWay5jcHAKaW5kZXggNmM0YWMwYmJiZDI3NTY0YjYwYjJk
MTVmMjAxYzliYjZhZWFmZWVkNy4uNWJlMTUwOTM2MjE4ZTYyYmZlNGE4MDAwM2ZiZTQxNDE1OWQ0
NDUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9VdGlsc1ZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1V0aWxzVmsuY3BwCkBAIC03OTUsNyArNzk1LDcg
QEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjbGVhckJ1ZmZlcihDb250ZXh0VmsgKmNvbnRleHRW
aywKIAogICAgIHZrOjpDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyOwogICAgIC8vIFRlbGwg
dGhlIGNvbnRleHQgZGVzdCB0aGF0IHdlIGFyZSB3cml0aW5nIHRvIGRlc3QuCi0gICAgQU5HTEVf
VFJZKGNvbnRleHRWay0+b25CdWZmZXJXcml0ZShWS19BQ0NFU1NfU0hBREVSX1dSSVRFX0JJVCwg
ZGVzdCkpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlcldy
aXRlKGRlc3QpKTsKICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0
Q29tbWFuZEJ1ZmZlcigmY29tbWFuZEJ1ZmZlcikpOwogCiAgICAgY29uc3Qgdms6OkZvcm1hdCAm
ZGVzdEZvcm1hdCA9IGRlc3QtPmdldFZpZXdGb3JtYXQoKTsKQEAgLTg0NSw4ICs4NDUsOCBAQCBh
bmdsZTo6UmVzdWx0IFV0aWxzVms6OmNvbnZlcnRJbmRleEJ1ZmZlcihDb250ZXh0VmsgKmNvbnRl
eHRWaywKICAgICBBTkdMRV9UUlkoZW5zdXJlQ29udmVydEluZGV4UmVzb3VyY2VzSW5pdGlhbGl6
ZWQoY29udGV4dFZrKSk7CiAKICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsK
LSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1NIQURFUl9S
RUFEX0JJVCwgc3JjKSk7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJXcml0ZShW
S19BQ0NFU1NfU0hBREVSX1dSSVRFX0JJVCwgZGVzdCkpOworICAgIEFOR0xFX1RSWShjb250ZXh0
VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlclJlYWQoc3JjKSk7CisgICAgQU5HTEVfVFJZKGNvbnRl
eHRWay0+b25CdWZmZXJDb21wdXRlU2hhZGVyV3JpdGUoZGVzdCkpOwogICAgIEFOR0xFX1RSWShj
b250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVyKCZjb21tYW5kQnVmZmVy
KSk7CiAKICAgICBWa0Rlc2NyaXB0b3JTZXQgZGVzY3JpcHRvclNldDsKQEAgLTkwNywxMCArOTA3
LDEwIEBAIGFuZ2xlOjpSZXN1bHQgVXRpbHNWazo6Y29udmVydEluZGV4SW5kaXJlY3RCdWZmZXIo
Q29udGV4dFZrICpjb250ZXh0VmssCiAgICAgQU5HTEVfVFJZKGVuc3VyZUNvbnZlcnRJbmRleElu
ZGlyZWN0UmVzb3VyY2VzSW5pdGlhbGl6ZWQoY29udGV4dFZrKSk7CiAKICAgICB2azo6Q29tbWFu
ZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZl
clJlYWQoVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCwgc3JjSW5kaXJlY3RCdWYpKTsKLSAgICBB
TkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJ
VCwgc3JjSW5kZXhCdWYpKTsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlcldyaXRl
KFZLX0FDQ0VTU19TSEFERVJfV1JJVEVfQklULCBkc3RJbmRpcmVjdEJ1ZikpOwotICAgIEFOR0xF
X1RSWShjb250ZXh0VmstPm9uQnVmZmVyV3JpdGUoVktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQs
IGRzdEluZGV4QnVmKSk7CisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJDb21wdXRl
U2hhZGVyUmVhZChzcmNJbmRpcmVjdEJ1ZikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9u
QnVmZmVyQ29tcHV0ZVNoYWRlclJlYWQoc3JjSW5kZXhCdWYpKTsKKyAgICBBTkdMRV9UUlkoY29u
dGV4dFZrLT5vbkJ1ZmZlckNvbXB1dGVTaGFkZXJXcml0ZShkc3RJbmRpcmVjdEJ1ZikpOworICAg
IEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlcldyaXRlKGRzdEluZGV4
QnVmKSk7CiAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1h
bmRCdWZmZXIoJmNvbW1hbmRCdWZmZXIpKTsKIAogICAgIFZrRGVzY3JpcHRvclNldCBkZXNjcmlw
dG9yU2V0OwpAQCAtOTc1LDEwICs5NzUsMTAgQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjb252
ZXJ0TGluZUxvb3BJbmRleEluZGlyZWN0QnVmZmVyKAogICAgIEFOR0xFX1RSWShlbnN1cmVDb252
ZXJ0SW5kZXhJbmRpcmVjdExpbmVMb29wUmVzb3VyY2VzSW5pdGlhbGl6ZWQoY29udGV4dFZrKSk7
CiAKICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsKLSAgICBBTkdMRV9UUlko
Y29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCwgc3JjSW5k
aXJlY3RCdWZmZXIpKTsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktf
QUNDRVNTX1NIQURFUl9SRUFEX0JJVCwgc3JjSW5kZXhCdWZmZXIpKTsKLSAgICBBTkdMRV9UUlko
Y29udGV4dFZrLT5vbkJ1ZmZlcldyaXRlKFZLX0FDQ0VTU19TSEFERVJfV1JJVEVfQklULCBkc3RJ
bmRpcmVjdEJ1ZmZlcikpOwotICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyV3JpdGUo
VktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsIGRzdEluZGV4QnVmZmVyKSk7CisgICAgQU5HTEVf
VFJZKGNvbnRleHRWay0+b25CdWZmZXJDb21wdXRlU2hhZGVyUmVhZChzcmNJbmRpcmVjdEJ1ZmZl
cikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlclJlYWQo
c3JjSW5kZXhCdWZmZXIpKTsKKyAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlckNvbXB1
dGVTaGFkZXJXcml0ZShkc3RJbmRpcmVjdEJ1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250ZXh0
VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlcldyaXRlKGRzdEluZGV4QnVmZmVyKSk7CiAgICAgQU5H
TEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1h
bmRCdWZmZXIpKTsKIAogICAgIFZrRGVzY3JpcHRvclNldCBkZXNjcmlwdG9yU2V0OwpAQCAtMTAz
NSw5ICsxMDM1LDkgQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjb252ZXJ0TGluZUxvb3BBcnJh
eUluZGlyZWN0QnVmZmVyKAogICAgIEFOR0xFX1RSWShlbnN1cmVDb252ZXJ0SW5kaXJlY3RMaW5l
TG9vcFJlc291cmNlc0luaXRpYWxpemVkKGNvbnRleHRWaykpOwogCiAgICAgdms6OkNvbW1hbmRC
dWZmZXIgKmNvbW1hbmRCdWZmZXI7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJS
ZWFkKFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQsIHNyY0luZGlyZWN0QnVmZmVyKSk7Ci0gICAg
QU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJXcml0ZShWS19BQ0NFU1NfU0hBREVSX1dSSVRF
X0JJVCwgZGVzdEluZGlyZWN0QnVmZmVyKSk7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25C
dWZmZXJXcml0ZShWS19BQ0NFU1NfU0hBREVSX1dSSVRFX0JJVCwgZGVzdEluZGV4QnVmZmVyKSk7
CisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJDb21wdXRlU2hhZGVyUmVhZChzcmNJ
bmRpcmVjdEJ1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyQ29tcHV0
ZVNoYWRlcldyaXRlKGRlc3RJbmRpcmVjdEJ1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250ZXh0
VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlcldyaXRlKGRlc3RJbmRleEJ1ZmZlcikpOwogICAgIEFO
R0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVyKCZjb21t
YW5kQnVmZmVyKSk7CiAKICAgICBWa0Rlc2NyaXB0b3JTZXQgZGVzY3JpcHRvclNldDsKQEAgLTEw
OTEsOCArMTA5MSw4IEBAIGFuZ2xlOjpSZXN1bHQgVXRpbHNWazo6Y29udmVydFZlcnRleEJ1ZmZl
cihDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICBBTkdMRV9UUlkoZW5zdXJlQ29udmVydFZlcnRl
eFJlc291cmNlc0luaXRpYWxpemVkKGNvbnRleHRWaykpOwogCiAgICAgdms6OkNvbW1hbmRCdWZm
ZXIgKmNvbW1hbmRCdWZmZXI7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJSZWFk
KFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQsIHNyYykpOwotICAgIEFOR0xFX1RSWShjb250ZXh0
VmstPm9uQnVmZmVyV3JpdGUoVktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsIGRlc3QpKTsKKyAg
ICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlckNvbXB1dGVTaGFkZXJSZWFkKHNyYykpOwor
ICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyQ29tcHV0ZVNoYWRlcldyaXRlKGRlc3Qp
KTsKICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1
ZmZlcigmY29tbWFuZEJ1ZmZlcikpOwogCiAgICAgQ29udmVydFZlcnRleFNoYWRlclBhcmFtcyBz
aGFkZXJQYXJhbXM7CkBAIC0xMTg2LDExICsxMTg2LDExIEBAIGFuZ2xlOjpSZXN1bHQgVXRpbHNW
azo6c3RhcnRSZW5kZXJQYXNzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIEFOR0xFX1ZLX1RS
WShjb250ZXh0VmssIGZyYW1lYnVmZmVyLmluaXQoY29udGV4dFZrLT5nZXREZXZpY2UoKSwgZnJh
bWVidWZmZXJJbmZvKSk7CiAKICAgICB2azo6QXR0YWNobWVudE9wc0FycmF5IHJlbmRlclBhc3NB
dHRhY2htZW50T3BzOwotICAgIHN0ZDo6dmVjdG9yPFZrQ2xlYXJWYWx1ZT4gY2xlYXJWYWx1ZXMg
PSB7e319OwotICAgIEFTU0VSVChjbGVhclZhbHVlcy5zaXplKCkgPT0gMSk7CisgICAgdms6OkNs
ZWFyVmFsdWVzQXJyYXkgY2xlYXJWYWx1ZXM7CisgICAgY2xlYXJWYWx1ZXMuc3RvcmUoMCwgVktf
SU1BR0VfQVNQRUNUX0NPTE9SX0JJVCwge30pOwogCi0gICAgcmVuZGVyUGFzc0F0dGFjaG1lbnRP
cHMuaW5pdFdpdGhMb2FkU3RvcmUoMCwgVktfSU1BR0VfTEFZT1VUX0NPTE9SX0FUVEFDSE1FTlRf
T1BUSU1BTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
S19JTUFHRV9MQVlPVVRfQ09MT1JfQVRUQUNITUVOVF9PUFRJTUFMKTsKKyAgICByZW5kZXJQYXNz
QXR0YWNobWVudE9wcy5pbml0V2l0aExvYWRTdG9yZSgwLCB2azo6SW1hZ2VMYXlvdXQ6OkNvbG9y
QXR0YWNobWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2azo6SW1hZ2VMYXlvdXQ6OkNvbG9yQXR0YWNobWVudCk7CiAKICAgICBBTkdMRV9UUlkoY29u
dGV4dFZrLT5mbHVzaEFuZEJlZ2luUmVuZGVyUGFzcyhmcmFtZWJ1ZmZlciwgcmVuZGVyQXJlYSwg
cmVuZGVyUGFzc0Rlc2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVuZGVyUGFzc0F0dGFjaG1lbnRPcHMsIGNsZWFyVmFsdWVzLApAQCAtMTIxMCw3
ICsxMjEwLDcgQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjbGVhckZyYW1lYnVmZmVyKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJnNjaXNzb3JlZFJlbmRl
ckFyZWEgPSBwYXJhbXMuY2xlYXJBcmVhOwogCiAgICAgdms6OkNvbW1hbmRCdWZmZXIgKmNvbW1h
bmRCdWZmZXI7Ci0gICAgQU5HTEVfVFJZKGZyYW1lYnVmZmVyLT5zdGFydE5ld1JlbmRlclBhc3Mo
Y29udGV4dFZrLCBzY2lzc29yZWRSZW5kZXJBcmVhLCAmY29tbWFuZEJ1ZmZlcikpOworICAgIEFO
R0xFX1RSWShjb250ZXh0VmstPnN0YXJ0UmVuZGVyUGFzcyhzY2lzc29yZWRSZW5kZXJBcmVhLCAm
Y29tbWFuZEJ1ZmZlcikpOwogCiAgICAgSW1hZ2VDbGVhclNoYWRlclBhcmFtcyBzaGFkZXJQYXJh
bXM7CiAgICAgc2hhZGVyUGFyYW1zLmNsZWFyVmFsdWUgPSBwYXJhbXMuY29sb3JDbGVhclZhbHVl
OwpAQCAtMTQyNiw4ICsxNDI2LDggQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpibGl0UmVzb2x2
ZUltcGwoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgcGlwZWxpbmVEZXNjLnNldFNjaXNzb3Io
Z2xfdms6OkdldFJlY3QocGFyYW1zLmJsaXRBcmVhKSk7CiAKICAgICAvLyBDaGFuZ2Ugc291cmNl
IGxheW91dCBvdXRzaWRlIHJlbmRlciBwYXNzCi0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25J
bWFnZVJlYWQoc3JjLT5nZXRBc3BlY3RGbGFncygpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6QWxsR3JhcGhpY3NTaGFkZXJzUmVhZE9ubHks
IHNyYykpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uSW1hZ2VSZWFkKHNyYy0+Z2V0QXNw
ZWN0RmxhZ3MoKSwgdms6OkltYWdlTGF5b3V0OjpGcmFnbWVudFNoYWRlclJlYWRPbmx5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYykpOwogCiAgICAgdms6OkNvbW1h
bmRCdWZmZXIgKmNvbW1hbmRCdWZmZXI7CiAgICAgQU5HTEVfVFJZKGZyYW1lYnVmZmVyLT5zdGFy
dE5ld1JlbmRlclBhc3MoY29udGV4dFZrLCBwYXJhbXMuYmxpdEFyZWEsICZjb21tYW5kQnVmZmVy
KSk7CkBAIC0xNzM1LDcgKzE3MzUsNyBAQCBhbmdsZTo6UmVzdWx0IFV0aWxzVms6OmNvcHlJbWFn
ZShDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgIC8vIENoYW5nZSBzb3VyY2UgbGF5b3V0IG91
dHNpZGUgcmVuZGVyIHBhc3MKICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkltYWdlUmVhZChW
S19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZrOjpJbWFnZUxheW91dDo6QWxsR3JhcGhpY3NTaGFkZXJzUmVhZE9ubHksIHNyYykp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6
RnJhZ21lbnRTaGFkZXJSZWFkT25seSwgc3JjKSk7CiAgICAgQU5HTEVfVFJZKAogICAgICAgICBj
b250ZXh0VmstPm9uSW1hZ2VXcml0ZShWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULCB2azo6SW1h
Z2VMYXlvdXQ6OkNvbG9yQXR0YWNobWVudCwgZGVzdCkpOwogCkBAIC0xODAzLDcgKzE4MDMsNyBA
QCBhbmdsZTo6UmVzdWx0IFV0aWxzVms6OmN1bGxPdmVybGF5V2lkZ2V0cyhDb250ZXh0VmsgKmNv
bnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXNjcmlwdG9y
U2V0KSk7CiAKICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcjsKLSAgICBBTkdM
RV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCwg
ZW5hYmxlZFdpZGdldHNCdWZmZXIpKTsKKyAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZl
ckNvbXB1dGVTaGFkZXJSZWFkKGVuYWJsZWRXaWRnZXRzQnVmZmVyKSk7CiAgICAgQU5HTEVfVFJZ
KGNvbnRleHRWay0+b25JbWFnZVdyaXRlKFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6Q29tcHV0
ZVNoYWRlcldyaXRlLCBkZXN0KSk7CiAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVy
UGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1hbmRCdWZmZXIpKTsKQEAgLTE4ODAsOCArMTg4
MCw4IEBAIGFuZ2xlOjpSZXN1bHQgVXRpbHNWazo6ZHJhd092ZXJsYXkoQ29udGV4dFZrICpjb250
ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlTGF5
b3V0OjpDb21wdXRlU2hhZGVyUmVhZE9ubHksIGN1bGxlZFdpZGdldHMpKTsKICAgICBBTkdMRV9U
UlkoY29udGV4dFZrLT5vbkltYWdlUmVhZChWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6Q29tcHV0
ZVNoYWRlclJlYWRPbmx5LCBmb250KSk7Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZm
ZXJSZWFkKFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQsIHRleHRXaWRnZXRzQnVmZmVyKSk7Ci0g
ICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25CdWZmZXJSZWFkKFZLX0FDQ0VTU19TSEFERVJfUkVB
RF9CSVQsIGdyYXBoV2lkZ2V0c0J1ZmZlcikpOworICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9u
QnVmZmVyQ29tcHV0ZVNoYWRlclJlYWQodGV4dFdpZGdldHNCdWZmZXIpKTsKKyAgICBBTkdMRV9U
UlkoY29udGV4dFZrLT5vbkJ1ZmZlckNvbXB1dGVTaGFkZXJSZWFkKGdyYXBoV2lkZ2V0c0J1ZmZl
cikpOwogCiAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1h
bmRCdWZmZXIoJmNvbW1hbmRCdWZmZXIpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9WZXJ0ZXhBcnJheVZrLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVmVy
dGV4QXJyYXlWay5jcHAKaW5kZXggYTRmY2IwYjYxNWViODY5MmU5OGY0MmEwOTFkMWQzY2Y2MzA3
NTZlMy4uYzM5YmU2NjFjYzJlN2Y4YTAwZGFlNmY2Y2I3YzEyNjM0ZTAwN2Q4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9W
ZXJ0ZXhBcnJheVZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL1ZlcnRleEFycmF5VmsuY3BwCkBAIC00MjUsNyArNDI1LDcgQEAg
YW5nbGU6OlJlc3VsdCBWZXJ0ZXhBcnJheVZrOjpjb252ZXJ0VmVydGV4QnVmZmVyQ1BVKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIG51bVZl
cnRpY2VzLCBiaW5kaW5nLmdldFN0cmlkZSgpLCBzcmNGb3JtYXRTaXplLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZlcnRleEZvcm1hdC52ZXJ0ZXhMb2FkRnVuY3Rpb24sICZtQ3Vy
cmVudEFycmF5QnVmZmVyc1thdHRyaWJJbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJmNvbnZlcnNpb24tPmxhc3RBbGxvY2F0aW9uT2Zmc2V0LCAxKSk7Ci0gICAgc3JjQnVm
ZmVyLT51bm1hcEltcGwoY29udGV4dFZrKTsKKyAgICBBTkdMRV9UUlkoc3JjQnVmZmVyLT51bm1h
cEltcGwoY29udGV4dFZrKSk7CiAKICAgICBBU1NFUlQoY29udmVyc2lvbi0+ZGlydHkpOwogICAg
IGNvbnZlcnNpb24tPmRpcnR5ID0gZmFsc2U7CkBAIC03NTcsNyArNzU3LDcgQEAgYW5nbGU6OlJl
c3VsdCBWZXJ0ZXhBcnJheVZrOjp1cGRhdGVTdHJlYW1lZEF0dHJpYnMoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Jm1DdXJyZW50QXJyYXlCdWZmZXJPZmZzZXRzW2F0dHJpYkluZGV4XSwgZGl2aXNvcikpOwogICAg
ICAgICAgICAgICAgIGlmIChidWZmZXJWaykKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgIGJ1ZmZlclZrLT51bm1hcEltcGwoY29udGV4dFZrKTsKKyAgICAgICAgICAgICAg
ICAgICAgQU5HTEVfVFJZKGJ1ZmZlclZrLT51bm1hcEltcGwoY29udGV4dFZrKSk7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9hbmRy
b2lkL0hhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vYW5kcm9pZC9IYXJkd2Fy
ZUJ1ZmZlckltYWdlU2libGluZ1ZrQW5kcm9pZC5jcHAKaW5kZXggYTkxOWE1OTRjYzllN2M1Yzkw
OTkxOGQ2MGRlYjJhNzFjMWE1NTUwYS4uZmE5YTVmNGM5ZDlhY2JhMWExOTBkYzIxMzE5OGJjY2Mx
YjRmNThiYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9hbmRyb2lkL0hhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRy
b2lkLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL2FuZHJvaWQvSGFyZHdhcmVCdWZmZXJJbWFnZVNpYmxpbmdWa0FuZHJvaWQuY3Bw
CkBAIC0xMjYsOSArMTI2LDkgQEAgYW5nbGU6OlJlc3VsdCBIYXJkd2FyZUJ1ZmZlckltYWdlU2li
bGluZ1ZrQW5kcm9pZDo6aW5pdEltcGwoRGlzcGxheVZrICpkaXNwbGF5VmsKICAgICBnbF92azo6
R2V0RXh0ZW50KG1TaXplLCAmdmtFeHRlbnRzKTsKIAogICAgIG1JbWFnZSA9IG5ldyB2azo6SW1h
Z2VIZWxwZXIoKTsKLSAgICBBTkdMRV9UUlkobUltYWdlLT5pbml0RXh0ZXJuYWwoZGlzcGxheVZr
LCBnbDo6VGV4dHVyZVR5cGU6Ol8yRCwgdmtFeHRlbnRzLCB2a0Zvcm1hdCwgMSwgdXNhZ2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6RXh0ZXJu
YWxQcmVJbml0aWFsaXplZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4
dGVybmFsTWVtb3J5SW1hZ2VDcmVhdGVJbmZvLCAwLCAwLCAxLCAxKSk7CisgICAgQU5HTEVfVFJZ
KG1JbWFnZS0+aW5pdEV4dGVybmFsKAorICAgICAgICBkaXNwbGF5VmssIGdsOjpUZXh0dXJlVHlw
ZTo6XzJELCB2a0V4dGVudHMsIHZrRm9ybWF0LCAxLCB1c2FnZSwgdms6OmtWa0ltYWdlQ3JlYXRl
RmxhZ3NOb25lLAorICAgICAgICB2azo6SW1hZ2VMYXlvdXQ6OkV4dGVybmFsUHJlSW5pdGlhbGl6
ZWQsICZleHRlcm5hbE1lbW9yeUltYWdlQ3JlYXRlSW5mbywgMCwgMCwgMSwgMSkpOwogCiAgICAg
VmtJbXBvcnRBbmRyb2lkSGFyZHdhcmVCdWZmZXJJbmZvQU5EUk9JRCBpbXBvcnRIYXJkd2FyZUJ1
ZmZlckluZm8gPSB7fTsKICAgICBpbXBvcnRIYXJkd2FyZUJ1ZmZlckluZm8uc1R5cGUgID0gVktf
U1RSVUNUVVJFX1RZUEVfSU1QT1JUX0FORFJPSURfSEFSRFdBUkVfQlVGRkVSX0lORk9fQU5EUk9J
RDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vZG9jL0FQUExFX2NsaXBfZGlzdGFuY2UubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL2RvYy9BUFBMRV9jbGlwX2Rpc3Rh
bmNlLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJmYjUyNDQwOTVhNDU1M2MwNDE1NGRhMjQ1NjFjZmFiOTcxNTgy
ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL2RvYy9BUFBMRV9jbGlwX2Rpc3RhbmNlLm1kCkBAIC0wLDAgKzEs
MzUgQEAKKyMgZ2xfQ2xpcERpc3RhbmNlIGV4dGVuc2lvbiBzdXBwb3J0IGluIFZ1bGthbiBiYWNr
LWVuZAorCitPcGVuR0wgR0xTTCdzIGBnbF9DbGlwRGlzdGFuY2VgIGlzIHN1cHBvcnRlZCBieSBW
dWxrYW4uIEhvd2V2ZXIsIE9wZW5HTCBzdXBwb3J0cyBkaXNhYmxpbmcvZW5hYmxpbmcKK2luZGl2
aWR1YWwgYGdsX0NsaXBEaXN0YW5jZVtpXWAgb24gdGhlIEFQSSBsZXZlbCBzaWRlLiBXcml0aW5n
IHRvIGBnbF9DbGlwRGlzdGFuY2VbaV1gIGluIHNoYWRlcgord2lsbCBiZSBpZ25vcmVkIGlmIGl0
IGlzIGRpc2FibGVkLiBWdWxrYW4gZG9lc24ndCBoYXZlIGFueSBlcXVpdmFsZW50IEFQSSB0byBk
aXNhYmxlL2VuYWJsZSB0aGUKK3dyaXRpbmcsIHRob3VnaCB3cml0aW5nIHRvIGEgYGdsX0NsaXBE
aXN0YW5jZVtpXWAgdmFyaWFibGUgYXV0b21hdGljYWxseSBlbmFibGVzIGl0LgorCitUbyBpbXBs
ZW1lbnQgdGhpcyBlbmFibGluZy9kaXNhYmxpbmcgQVBJIGluIFZ1bGthbiBiYWNrLWVuZDoKKwor
LSBUaGUgc2hhZGVyIGNvbXBpbGVyIHdpbGwgdHJhbnNsYXRlIGVhY2ggYGdsX0NsaXBEaXN0YW5j
ZVtpXWAgYXNzaWdubWVudCB0byBhbiBhc3NpZ25tZW50IHRvCisgIGBBTkdMRUNsaXBEaXN0YW5j
ZVtpXWAgdmFyaWFibGUuCistIEEgc3BlY2lhbCBkcml2ZXIgdW5pZm9ybSB2YXJpYWJsZSBgY2xp
cERpc3RhbmNlc0VuYWJsZWRgIHdpbGwgY29udGFpbiBvbmUgYml0IGZsYWcgZm9yIGVhY2gKKyAg
ZW5hYmxlZCBgZ2xfQ2xpcERpc3RhbmNlW2ldYC4gVGhpcyB2YXJpYWJsZSBzdXBwb3J0cyB1cCB0
byAzMiBgZ2xfQ2xpcERpc3RhbmNlYCBpbmRpY2VzLgorLSBBdCB0aGUgZW5kIG9mIHZlcnRleCBz
aGFkZXIsIHRoZSBlbmFibGVkIGBnbF9DbGlwRGlzdGFuY2VbaV1gIHdpbGwgYmUgYXNzaWduZWQg
dGhlIHJlc3BlY3RpdmUKKyAgdmFsdWUgZnJvbSBgQU5HTEVDbGlwRGlzdGFuY2VbaV1gLiBPbiB0
aGUgb3RoZXIgaGFuZCwgdGhvc2UgZGlzYWJsZWQgZWxlbWVudHMgd2lsbCBiZSBhc3NpZ25lZAor
ICB6ZXJvIHZhbHVlLiBUaGlzIHN0ZXAgaXMgZGVzY3JpYmVkIGluIHRoZSBmb2xsb3dpbmcgY29k
ZToKKyAgICBgYGAKKyAgICBmb3IgKGludCBpbmRleCA6IGFycmF5bGVuZ3RoKGdsX0NsaXBEaXN0
YW5jZSkpCisgICAgeworICAgICAgICBpZiAoQU5HTEVVbmlmb3Jtcy5jbGlwRGlzdGFuY2VzRW5h
YmxlZCAmICgweDEgPDwgaW5kZXgpKQorICAgICAgICAgICAgZ2xfQ2xpcERpc3RhbmNlW2luZGV4
XSA9IEFOR0xFQ2xpcERpc3RhbmNlW2luZGV4XTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
Z2xfQ2xpcERpc3RhbmNlW2luZGV4XSA9IDA7CisgICAgfQorICAgIGBgYAorLSBTb21lIG1pbm9y
IG9wdGltaXphdGlvbnM6CisgICAgLSBPbmx5IHRob3NlIGluZGljZXMgdGhhdCBhcmUgcmVmZXJl
bmNlZCBpbiB0aGUgb3JpZ2luYWwgY29kZSB3aWxsIGJlIHVzZWQgaW4gaWYgZWxzZSBibG9jawor
ICAgICAgYWJvdmUuCisgICAgLSBUaG9zZSBlbGVtZW50cyB3aG9zZSBpbmRleCBub3QgcmVmZXJl
bmNlZCBpbiB0aGUgb3JpZ2luYWwgY29kZSB3aWxsIGJlIHplcm9pc2VkIGluc3RlYWQuCisgICAg
LSBJZiB0aGUgb3JpZ2luYWwgY29kZSBvbmx5IHVzZXMgdXAgdG8gYW4gaW5kZXggPCBgZ2xfTWF4
Q2xpcERpc3RhbmNlc2AsIHRoZW4KKyAgICAgIHRoZSBsb29wIHdpbGwgaGF2ZSBhdCBtb3N0IGBp
bmRleCsxYCBpdGVyYXRpb25zLiBJZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgaW5kZXggbm90IGJl
aW5nCisgICAgICBpbnRlZ3JhbCBjb25zdGFudCB2YWx1ZSBrbm93biBhdCBjb21waWxlIHRpbWUg
dGhlbiBkZWNsYXJlZCBzaXplIG9mIGBnbF9DbGlwRGlzdGFuY2VgCisgICAgICB3aWxsIGJlIHRo
ZSBsb29wIHNpemUuCisgICAgLSBGaW5hbGx5LCBpZiB0aGUgb3JpZ2luYWwgY29kZSBkb2Vzbid0
IHVzZSBgZ2xfQ2xpcERpc3RhbmNlYCwgdGhlbiBhbGwgdGhlIHN0ZXBzIGFib3ZlIHdpbGwgYmUK
KyAgICAgIG9taXR0ZWQuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9mdWNo
c2lhL09XTkVSUyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vZnVjaHNpYS9PV05FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVhMjc2MDBmNDYwNjliOGM0M2Qw
MGQyM2UwODhhZTdlYmE2NWEyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vZnVjaHNpYS9PV05FUlMKQEAgLTAs
MCArMSBAQAorc3BhbmdAY2hyb21pdW0ub3JnCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL2Z1Y2hzaWEvV2luZG93U3VyZmFj
ZVZrRnVjaHNpYS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL2Z1Y2hzaWEvV2luZG93U3VyZmFjZVZrRnVjaHNpYS5jcHAKaW5kZXggZjY4
MmVkODc2ODYyODg3YTc3NzE0M2IzMWM2YmM2NjM5ZGIyNDIwNy4uNTkwYmIzODVmNzg4ZTY1NmZm
NWMyZjQ0OTYyZmZjYTA2ZmM5OWU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9mdWNoc2lhL1dpbmRvd1N1cmZhY2VWa0Z1
Y2hzaWEuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vZnVjaHNpYS9XaW5kb3dTdXJmYWNlVmtGdWNoc2lhLmNwcApAQCAtMzYsNiAr
MzYsOSBAQCBib29sIFdpbmRvd1N1cmZhY2VWa0Z1Y2hzaWE6OmlzVmFsaWROYXRpdmVXaW5kb3co
RUdMTmF0aXZlV2luZG93VHlwZSB3aW5kb3cpCiAKIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFj
ZVZrRnVjaHNpYTo6Y3JlYXRlU3VyZmFjZVZrKHZrOjpDb250ZXh0ICpjb250ZXh0LCBnbDo6RXh0
ZW50cyAqZXh0ZW50c091dCkKIHsKKyNpZiAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FO
KQorICAgIEluaXRJbWFnZVBpcGVTdXJmYWNlRlVDSFNJQUZ1bmN0aW9ucyhjb250ZXh0LT5nZXRS
ZW5kZXJlcigpLT5nZXRJbnN0YW5jZSgpKTsKKyNlbmRpZiAgLy8gIWRlZmluZWQoQU5HTEVfU0hB
UkVEX0xJQlZVTEtBTikKICAgICBmdWNoc2lhX2VnbF93aW5kb3cgKmVnbF93aW5kb3cgPSByZWlu
dGVycHJldF9jYXN0PGZ1Y2hzaWFfZWdsX3dpbmRvdyAqPihtTmF0aXZlV2luZG93VHlwZSk7CiAK
ICAgICBWa0ltYWdlUGlwZVN1cmZhY2VDcmVhdGVJbmZvRlVDSFNJQSBjcmVhdGVJbmZvID0ge307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2FjaGVfdXRpbHMuY3BwCmluZGV4IGUzZjg3
MDhiODUwMTZkNmM3ZDM1YTg2MDk4YjU3MDRkNTI0NzlmZDAuLmFmYmU2ODRiOGRlNTcwMzhkOTkw
ZmE2OTdmZGQyNjI0MzBjZDk1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2FjaGVfdXRpbHMuY3BwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2Fj
aGVfdXRpbHMuY3BwCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL1JlbmRlcmVyVmsuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vVmVydGV4QXJyYXlWay5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92
a19mb3JtYXRfdXRpbHMuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtf
Z29vZ2xlX2ZpbHRlcmluZ19wcmVjaXNpb24uaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vdmtfaGVscGVycy5oIgogCiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CkBAIC0xNTUs
OCArMTU2LDEwIEBAIHZvaWQgVW5wYWNrQXR0YWNobWVudERlc2MoVmtBdHRhY2htZW50RGVzY3Jp
cHRpb24gKmRlc2MsCiAgICAgZGVzYy0+c3RvcmVPcCAgICAgICAgPSBzdGF0aWNfY2FzdDxWa0F0
dGFjaG1lbnRTdG9yZU9wPihvcHMuc3RvcmVPcCk7CiAgICAgZGVzYy0+c3RlbmNpbExvYWRPcCAg
PSBzdGF0aWNfY2FzdDxWa0F0dGFjaG1lbnRMb2FkT3A+KG9wcy5zdGVuY2lsTG9hZE9wKTsKICAg
ICBkZXNjLT5zdGVuY2lsU3RvcmVPcCA9IHN0YXRpY19jYXN0PFZrQXR0YWNobWVudFN0b3JlT3A+
KG9wcy5zdGVuY2lsU3RvcmVPcCk7Ci0gICAgZGVzYy0+aW5pdGlhbExheW91dCAgPSBzdGF0aWNf
Y2FzdDxWa0ltYWdlTGF5b3V0PihvcHMuaW5pdGlhbExheW91dCk7Ci0gICAgZGVzYy0+ZmluYWxM
YXlvdXQgICAgPSBzdGF0aWNfY2FzdDxWa0ltYWdlTGF5b3V0PihvcHMuZmluYWxMYXlvdXQpOwor
ICAgIGRlc2MtPmluaXRpYWxMYXlvdXQgPQorICAgICAgICBDb252ZXJ0SW1hZ2VMYXlvdXRUb1Zr
SW1hZ2VMYXlvdXQoc3RhdGljX2Nhc3Q8SW1hZ2VMYXlvdXQ+KG9wcy5pbml0aWFsTGF5b3V0KSk7
CisgICAgZGVzYy0+ZmluYWxMYXlvdXQgPQorICAgICAgICBDb252ZXJ0SW1hZ2VMYXlvdXRUb1Zr
SW1hZ2VMYXlvdXQoc3RhdGljX2Nhc3Q8SW1hZ2VMYXlvdXQ+KG9wcy5maW5hbExheW91dCkpOwog
fQogCiB2b2lkIFVucGFja1N0ZW5jaWxTdGF0ZShjb25zdCB2azo6UGFja2VkU3RlbmNpbE9wU3Rh
dGUgJnBhY2tlZFN0YXRlLApAQCAtMTQ0MCwzMiArMTQ0Myw0MCBAQCBQYWNrZWRBdHRhY2htZW50
T3BzRGVzYyAmQXR0YWNobWVudE9wc0FycmF5OjpvcGVyYXRvcltdKHNpemVfdCBpbmRleCkKICAg
ICByZXR1cm4gbU9wc1tpbmRleF07CiB9CiAKLXZvaWQgQXR0YWNobWVudE9wc0FycmF5Ojppbml0
RHVtbXlPcChzaXplX3QgaW5kZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVmtJbWFnZUxheW91dCBpbml0aWFsTGF5b3V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZrSW1hZ2VMYXlvdXQgZmluYWxMYXlvdXQpCit2b2lkIEF0dGFjaG1lbnRP
cHNBcnJheTo6aW5pdFdpdGhMb2FkU3RvcmUoc2l6ZV90IGluZGV4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IGluaXRpYWxMYXlvdXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VMYXlvdXQgZmlu
YWxMYXlvdXQpCiB7Ci0gICAgUGFja2VkQXR0YWNobWVudE9wc0Rlc2MgJm9wcyA9IG1PcHNbaW5k
ZXhdOworICAgIHNldExheW91dHMoaW5kZXgsIGluaXRpYWxMYXlvdXQsIGZpbmFsTGF5b3V0KTsK
KyAgICBzZXRPcHMoaW5kZXgsIFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9MT0FELCBWS19BVFRBQ0hN
RU5UX1NUT1JFX09QX1NUT1JFKTsKKyAgICBzZXRTdGVuY2lsT3BzKGluZGV4LCBWS19BVFRBQ0hN
RU5UX0xPQURfT1BfTE9BRCwgVktfQVRUQUNITUVOVF9TVE9SRV9PUF9TVE9SRSk7Cit9CiAKK3Zv
aWQgQXR0YWNobWVudE9wc0FycmF5OjpzZXRMYXlvdXRzKHNpemVfdCBpbmRleCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IGluaXRpYWxMYXlvdXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZUxheW91dCBmaW5hbExheW91
dCkKK3sKKyAgICBQYWNrZWRBdHRhY2htZW50T3BzRGVzYyAmb3BzID0gbU9wc1tpbmRleF07CiAg
ICAgU2V0Qml0RmllbGQob3BzLmluaXRpYWxMYXlvdXQsIGluaXRpYWxMYXlvdXQpOwogICAgIFNl
dEJpdEZpZWxkKG9wcy5maW5hbExheW91dCwgZmluYWxMYXlvdXQpOwotICAgIFNldEJpdEZpZWxk
KG9wcy5sb2FkT3AsIFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9MT0FEKTsKLSAgICBTZXRCaXRGaWVs
ZChvcHMuc3RlbmNpbExvYWRPcCwgVktfQVRUQUNITUVOVF9MT0FEX09QX0RPTlRfQ0FSRSk7Ci0g
ICAgU2V0Qml0RmllbGQob3BzLnN0b3JlT3AsIFZLX0FUVEFDSE1FTlRfU1RPUkVfT1BfU1RPUkUp
OwotICAgIFNldEJpdEZpZWxkKG9wcy5zdGVuY2lsU3RvcmVPcCwgVktfQVRUQUNITUVOVF9TVE9S
RV9PUF9ET05UX0NBUkUpOwogfQogCi12b2lkIEF0dGFjaG1lbnRPcHNBcnJheTo6aW5pdFdpdGhM
b2FkU3RvcmUoc2l6ZV90IGluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZrSW1hZ2VMYXlvdXQgaW5pdGlhbExheW91dCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlTGF5b3V0IGZpbmFsTGF5b3V0KQordm9p
ZCBBdHRhY2htZW50T3BzQXJyYXk6OnNldE9wcyhzaXplX3QgaW5kZXgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZrQXR0YWNobWVudExvYWRPcCBsb2FkT3AsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZrQXR0YWNobWVudFN0b3JlT3Agc3RvcmVPcCkKIHsKICAg
ICBQYWNrZWRBdHRhY2htZW50T3BzRGVzYyAmb3BzID0gbU9wc1tpbmRleF07CisgICAgU2V0Qml0
RmllbGQob3BzLmxvYWRPcCwgbG9hZE9wKTsKKyAgICBTZXRCaXRGaWVsZChvcHMuc3RvcmVPcCwg
c3RvcmVPcCk7Cit9CiAKLSAgICBTZXRCaXRGaWVsZChvcHMuaW5pdGlhbExheW91dCwgaW5pdGlh
bExheW91dCk7Ci0gICAgU2V0Qml0RmllbGQob3BzLmZpbmFsTGF5b3V0LCBmaW5hbExheW91dCk7
Ci0gICAgU2V0Qml0RmllbGQob3BzLmxvYWRPcCwgVktfQVRUQUNITUVOVF9MT0FEX09QX0xPQUQp
OwotICAgIFNldEJpdEZpZWxkKG9wcy5zdGVuY2lsTG9hZE9wLCBWS19BVFRBQ0hNRU5UX0xPQURf
T1BfTE9BRCk7Ci0gICAgU2V0Qml0RmllbGQob3BzLnN0b3JlT3AsIFZLX0FUVEFDSE1FTlRfU1RP
UkVfT1BfU1RPUkUpOwotICAgIFNldEJpdEZpZWxkKG9wcy5zdGVuY2lsU3RvcmVPcCwgVktfQVRU
QUNITUVOVF9TVE9SRV9PUF9TVE9SRSk7Cit2b2lkIEF0dGFjaG1lbnRPcHNBcnJheTo6c2V0U3Rl
bmNpbE9wcyhzaXplX3QgaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWa0F0dGFjaG1lbnRMb2FkT3AgbG9hZE9wLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtBdHRhY2htZW50U3RvcmVPcCBzdG9yZU9wKQoreworICAgIFBhY2tl
ZEF0dGFjaG1lbnRPcHNEZXNjICZvcHMgPSBtT3BzW2luZGV4XTsKKyAgICBTZXRCaXRGaWVsZChv
cHMuc3RlbmNpbExvYWRPcCwgbG9hZE9wKTsKKyAgICBTZXRCaXRGaWVsZChvcHMuc3RlbmNpbFN0
b3JlT3AsIHN0b3JlT3ApOwogfQogCiBzaXplX3QgQXR0YWNobWVudE9wc0FycmF5OjpoYXNoKCkg
Y29uc3QKQEAgLTE2NDUsNiArMTY1Niw4IEBAIGJvb2wgVGV4dHVyZURlc2NyaXB0b3JEZXNjOjpv
cGVyYXRvcj09KGNvbnN0IFRleHR1cmVEZXNjcmlwdG9yRGVzYyAmb3RoZXIpIGNvbnN0CiAgICAg
cmV0dXJuIG1lbWNtcChtU2VyaWFscy5kYXRhKCksIG90aGVyLm1TZXJpYWxzLmRhdGEoKSwgc2l6
ZW9mKFRleFVuaXRTZXJpYWxzKSAqIG1NYXhJbmRleCkgPT0gMDsKIH0KIAorLy8gRnJhbWVidWZm
ZXJEZXNjIGltcGxlbWVudGF0aW9uLgorCiBGcmFtZWJ1ZmZlckRlc2M6OkZyYW1lYnVmZmVyRGVz
YygpCiB7CiAgICAgcmVzZXQoKTsKQEAgLTE2NzYsNiArMTY4OSwxNDUgQEAgYm9vbCBGcmFtZWJ1
ZmZlckRlc2M6Om9wZXJhdG9yPT0oY29uc3QgRnJhbWVidWZmZXJEZXNjICZvdGhlcikgY29uc3QK
ICAgICByZXR1cm4gbWVtY21wKCZtU2VyaWFscywgJm90aGVyLm1TZXJpYWxzLCBzaXplb2YoU2Vy
aWFsKSAqIGtNYXhGcmFtZWJ1ZmZlckF0dGFjaG1lbnRzKSA9PSAwOwogfQogCit1aW50MzJfdCBG
cmFtZWJ1ZmZlckRlc2M6OmF0dGFjaG1lbnRDb3VudCgpIGNvbnN0Cit7CisgICAgdWludDMyX3Qg
Y291bnQgPSAwOworICAgIGZvciAoY29uc3QgQXR0YWNobWVudFNlcmlhbCAmc2VyaWFsIDogbVNl
cmlhbHMpCisgICAgeworICAgICAgICBpZiAoc2VyaWFsLmltYWdlU2VyaWFsICE9IDApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGNvdW50Kys7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJu
IGNvdW50OworfQorCisvLyBTYW1wbGVyRGVzYyBpbXBsZW1lbnRhdGlvbi4KK1NhbXBsZXJEZXNj
OjpTYW1wbGVyRGVzYygpCit7CisgICAgcmVzZXQoKTsKK30KKworU2FtcGxlckRlc2M6On5TYW1w
bGVyRGVzYygpID0gZGVmYXVsdDsKKworU2FtcGxlckRlc2M6OlNhbXBsZXJEZXNjKGNvbnN0IFNh
bXBsZXJEZXNjICZvdGhlcikgPSBkZWZhdWx0OworCitTYW1wbGVyRGVzYyAmU2FtcGxlckRlc2M6
Om9wZXJhdG9yPShjb25zdCBTYW1wbGVyRGVzYyAmcmhzKSA9IGRlZmF1bHQ7CisKK1NhbXBsZXJE
ZXNjOjpTYW1wbGVyRGVzYyhjb25zdCBnbDo6U2FtcGxlclN0YXRlICZzYW1wbGVyU3RhdGUsIGJv
b2wgc3RlbmNpbE1vZGUpCit7CisgICAgdXBkYXRlKHNhbXBsZXJTdGF0ZSwgc3RlbmNpbE1vZGUp
OworfQorCit2b2lkIFNhbXBsZXJEZXNjOjpyZXNldCgpCit7CisgICAgbU1pcExvZEJpYXMgICAg
ID0gMC4wZjsKKyAgICBtTWF4QW5pc290cm9weSAgPSAwLjBmOworICAgIG1NaW5Mb2QgICAgICAg
ICA9IDAuMGY7CisgICAgbU1heExvZCAgICAgICAgID0gMC4wZjsKKyAgICBtTWFnRmlsdGVyICAg
ICAgPSAwOworICAgIG1NaW5GaWx0ZXIgICAgICA9IDA7CisgICAgbU1pcG1hcE1vZGUgICAgID0g
MDsKKyAgICBtQWRkcmVzc01vZGVVICAgPSAwOworICAgIG1BZGRyZXNzTW9kZVYgICA9IDA7Cisg
ICAgbUFkZHJlc3NNb2RlVyAgID0gMDsKKyAgICBtQ29tcGFyZUVuYWJsZWQgPSAwOworICAgIG1D
b21wYXJlT3AgICAgICA9IDA7CisgICAgbVJlc2VydmVkICAgICAgID0gMDsKK30KKwordm9pZCBT
YW1wbGVyRGVzYzo6dXBkYXRlKGNvbnN0IGdsOjpTYW1wbGVyU3RhdGUgJnNhbXBsZXJTdGF0ZSwg
Ym9vbCBzdGVuY2lsTW9kZSkKK3sKKyAgICBtTWlwTG9kQmlhcyAgICA9IDAuMGY7CisgICAgbU1h
eEFuaXNvdHJvcHkgPSBzYW1wbGVyU3RhdGUuZ2V0TWF4QW5pc290cm9weSgpOworICAgIG1NaW5M
b2QgICAgICAgID0gc2FtcGxlclN0YXRlLmdldE1pbkxvZCgpOworICAgIG1NYXhMb2QgICAgICAg
ID0gc2FtcGxlclN0YXRlLmdldE1heExvZCgpOworCisgICAgYm9vbCBjb21wYXJlRW5hYmxlICAg
ID0gc2FtcGxlclN0YXRlLmdldENvbXBhcmVNb2RlKCkgPT0gR0xfQ09NUEFSRV9SRUZfVE9fVEVY
VFVSRTsKKyAgICBWa0NvbXBhcmVPcCBjb21wYXJlT3AgPSBnbF92azo6R2V0Q29tcGFyZU9wKHNh
bXBsZXJTdGF0ZS5nZXRDb21wYXJlRnVuYygpKTsKKyAgICAvLyBXaGVuIHNhbXBsaW5nIGZyb20g
c3RlbmNpbCwgZGVxcCB0ZXN0cyBleHBlY3QgdGV4dHVyZSBjb21wYXJlIHRvIGhhdmUgbm8gZWZm
ZWN0CisgICAgLy8gZEVRUCAtIEdMRVMzMS5mdW5jdGlvbmFsLnN0ZW5jaWxfdGV4dHVyaW5nLm1p
c2MuY29tcGFyZV9tb2RlX2VmZmVjdAorICAgIC8vIHN0YXRlczogTk9URTogVGV4dHVyZSBjb21w
YXJlIG1vZGUgaGFzIG5vIGVmZmVjdCB3aGVuIHJlYWRpbmcgc3RlbmNpbCB2YWx1ZXMuCisgICAg
aWYgKHN0ZW5jaWxNb2RlKQorICAgIHsKKyAgICAgICAgY29tcGFyZUVuYWJsZSA9IFZLX0ZBTFNF
OworICAgICAgICBjb21wYXJlT3AgICAgID0gVktfQ09NUEFSRV9PUF9BTFdBWVM7CisgICAgfQor
CisgICAgU2V0Qml0RmllbGQobU1hZ0ZpbHRlciwgZ2xfdms6OkdldEZpbHRlcihzYW1wbGVyU3Rh
dGUuZ2V0TWFnRmlsdGVyKCkpKTsKKyAgICBTZXRCaXRGaWVsZChtTWluRmlsdGVyLCBnbF92azo6
R2V0RmlsdGVyKHNhbXBsZXJTdGF0ZS5nZXRNaW5GaWx0ZXIoKSkpOworICAgIFNldEJpdEZpZWxk
KG1NaXBtYXBNb2RlLCBnbF92azo6R2V0U2FtcGxlck1pcG1hcE1vZGUoc2FtcGxlclN0YXRlLmdl
dE1pbkZpbHRlcigpKSk7CisgICAgU2V0Qml0RmllbGQobUFkZHJlc3NNb2RlVSwgZ2xfdms6Okdl
dFNhbXBsZXJBZGRyZXNzTW9kZShzYW1wbGVyU3RhdGUuZ2V0V3JhcFMoKSkpOworICAgIFNldEJp
dEZpZWxkKG1BZGRyZXNzTW9kZVYsIGdsX3ZrOjpHZXRTYW1wbGVyQWRkcmVzc01vZGUoc2FtcGxl
clN0YXRlLmdldFdyYXBUKCkpKTsKKyAgICBTZXRCaXRGaWVsZChtQWRkcmVzc01vZGVXLCBnbF92
azo6R2V0U2FtcGxlckFkZHJlc3NNb2RlKHNhbXBsZXJTdGF0ZS5nZXRXcmFwUigpKSk7CisgICAg
U2V0Qml0RmllbGQobUNvbXBhcmVFbmFibGVkLCBjb21wYXJlRW5hYmxlKTsKKyAgICBTZXRCaXRG
aWVsZChtQ29tcGFyZU9wLCBjb21wYXJlT3ApOworCisgICAgaWYgKCFnbDo6SXNNaXBtYXBGaWx0
ZXJlZChzYW1wbGVyU3RhdGUpKQorICAgIHsKKyAgICAgICAgLy8gUGVyIHRoZSBWdWxrYW4gc3Bl
YywgR0xfTkVBUkVTVCBhbmQgR0xfTElORUFSIGRvIG5vdCBtYXAgZGlyZWN0bHkgdG8gVnVsa2Fu
LCBzbworICAgICAgICAvLyB0aGV5IG11c3QgYmUgZW11bGF0ZWQgKFNlZSAiTWFwcGluZyBvZiBP
cGVuR0wgdG8gVnVsa2FuIGZpbHRlciBtb2RlcyIpCisgICAgICAgIFNldEJpdEZpZWxkKG1NaXBt
YXBNb2RlLCBWS19TQU1QTEVSX01JUE1BUF9NT0RFX05FQVJFU1QpOworICAgICAgICBtTWluTG9k
ID0gMC4wZjsKKyAgICAgICAgbU1heExvZCA9IDAuMjVmOworICAgIH0KKworICAgIG1SZXNlcnZl
ZCA9IDA7Cit9CisKK2FuZ2xlOjpSZXN1bHQgU2FtcGxlckRlc2M6OmluaXQoQ29udGV4dFZrICpj
b250ZXh0VmssIHZrOjpTYW1wbGVyICpzYW1wbGVyKSBjb25zdAoreworICAgIGNvbnN0IGdsOjpF
eHRlbnNpb25zICZleHRlbnNpb25zID0gY29udGV4dFZrLT5nZXRFeHRlbnNpb25zKCk7CisKKyAg
ICBib29sIGFuaXNvdHJvcHlFbmFibGUgPSBleHRlbnNpb25zLnRleHR1cmVGaWx0ZXJBbmlzb3Ry
b3BpYyAmJiBtTWF4QW5pc290cm9weSA+IDEuMGY7CisKKyAgICBWa1NhbXBsZXJDcmVhdGVJbmZv
IGNyZWF0ZUluZm8gICAgID0ge307CisgICAgY3JlYXRlSW5mby5zVHlwZSAgICAgICAgICAgICAg
ICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX1NBTVBMRVJfQ1JFQVRFX0lORk87CisgICAgY3JlYXRl
SW5mby5mbGFncyAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgY3JlYXRlSW5mby5tYWdGaWx0
ZXIgICAgICAgICAgICAgICA9IHN0YXRpY19jYXN0PFZrRmlsdGVyPihtTWFnRmlsdGVyKTsKKyAg
ICBjcmVhdGVJbmZvLm1pbkZpbHRlciAgICAgICAgICAgICAgID0gc3RhdGljX2Nhc3Q8VmtGaWx0
ZXI+KG1NaW5GaWx0ZXIpOworICAgIGNyZWF0ZUluZm8ubWlwbWFwTW9kZSAgICAgICAgICAgICAg
PSBzdGF0aWNfY2FzdDxWa1NhbXBsZXJNaXBtYXBNb2RlPihtTWlwbWFwTW9kZSk7CisgICAgY3Jl
YXRlSW5mby5hZGRyZXNzTW9kZVUgICAgICAgICAgICA9IHN0YXRpY19jYXN0PFZrU2FtcGxlckFk
ZHJlc3NNb2RlPihtQWRkcmVzc01vZGVVKTsKKyAgICBjcmVhdGVJbmZvLmFkZHJlc3NNb2RlViAg
ICAgICAgICAgID0gc3RhdGljX2Nhc3Q8VmtTYW1wbGVyQWRkcmVzc01vZGU+KG1BZGRyZXNzTW9k
ZVYpOworICAgIGNyZWF0ZUluZm8uYWRkcmVzc01vZGVXICAgICAgICAgICAgPSBzdGF0aWNfY2Fz
dDxWa1NhbXBsZXJBZGRyZXNzTW9kZT4obUFkZHJlc3NNb2RlVyk7CisgICAgY3JlYXRlSW5mby5t
aXBMb2RCaWFzICAgICAgICAgICAgICA9IDAuMGY7CisgICAgY3JlYXRlSW5mby5hbmlzb3Ryb3B5
RW5hYmxlICAgICAgICA9IGFuaXNvdHJvcHlFbmFibGU7CisgICAgY3JlYXRlSW5mby5tYXhBbmlz
b3Ryb3B5ICAgICAgICAgICA9IG1NYXhBbmlzb3Ryb3B5OworICAgIGNyZWF0ZUluZm8uY29tcGFy
ZUVuYWJsZSAgICAgICAgICAgPSBtQ29tcGFyZUVuYWJsZWQgPyBWS19UUlVFIDogVktfRkFMU0U7
CisgICAgY3JlYXRlSW5mby5jb21wYXJlT3AgICAgICAgICAgICAgICA9IHN0YXRpY19jYXN0PFZr
Q29tcGFyZU9wPihtQ29tcGFyZU9wKTsKKyAgICBjcmVhdGVJbmZvLm1pbkxvZCAgICAgICAgICAg
ICAgICAgID0gbU1pbkxvZDsKKyAgICBjcmVhdGVJbmZvLm1heExvZCAgICAgICAgICAgICAgICAg
ID0gbU1heExvZDsKKyAgICBjcmVhdGVJbmZvLmJvcmRlckNvbG9yICAgICAgICAgICAgID0gVktf
Qk9SREVSX0NPTE9SX0lOVF9UUkFOU1BBUkVOVF9CTEFDSzsKKyAgICBjcmVhdGVJbmZvLnVubm9y
bWFsaXplZENvb3JkaW5hdGVzID0gVktfRkFMU0U7CisKKyAgICAvLyBOb3RlOiBiZWNhdXNlIHdl
IGRvbid0IGRldGVjdCBjaGFuZ2VzIHRvIHRoaXMgaGludCAobm8gZGlydHkgYml0KSwgaWYgYSBz
YW1wbGVyIGlzIGNyZWF0ZWQKKyAgICAvLyB3aXRoIHRoZSBoaW50IGVuYWJsZWQsIGFuZCB0aGVu
IHRoZSBoaW50IGdldHMgZGlzYWJsZWQsIHRoZSBuZXh0IHJlbmRlciB3aWxsIGRvIHNvIHdpdGgg
dGhlCisgICAgLy8gaGludCBlbmFibGVkLgorICAgIFZrU2FtcGxlckZpbHRlcmluZ1ByZWNpc2lv
bkdPT0dMRSBmaWx0ZXJpbmdJbmZvID0ge307CisgICAgR0xlbnVtIGhpbnQgPSBjb250ZXh0Vmst
PmdldFN0YXRlKCkuZ2V0VGV4dHVyZUZpbHRlcmluZ0hpbnQoKTsKKyAgICBpZiAoaGludCA9PSBH
TF9OSUNFU1QpCisgICAgeworICAgICAgICBBU1NFUlQoZXh0ZW5zaW9ucy50ZXh0dXJlRmlsdGVy
aW5nQ0hST01JVU0pOworICAgICAgICBmaWx0ZXJpbmdJbmZvLnNUeXBlID0gVktfU1RSVUNUVVJF
X1RZUEVfU0FNUExFUl9GSUxURVJJTkdfUFJFQ0lTSU9OX0dPT0dMRTsKKyAgICAgICAgZmlsdGVy
aW5nSW5mby5zYW1wbGVyRmlsdGVyaW5nUHJlY2lzaW9uTW9kZSA9CisgICAgICAgICAgICBWS19T
QU1QTEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9ISUdIX0dPT0dMRTsKKyAgICAgICAgdms6
OkFkZFRvUE5leHRDaGFpbigmY3JlYXRlSW5mbywgJmZpbHRlcmluZ0luZm8pOworICAgIH0KKwor
ICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIHNhbXBsZXItPmluaXQoY29udGV4dFZrLT5nZXRE
ZXZpY2UoKSwgY3JlYXRlSW5mbykpOworCisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOworfQorCitzaXplX3QgU2FtcGxlckRlc2M6Omhhc2goKSBjb25zdAoreworICAgIHJldHVy
biBhbmdsZTo6Q29tcHV0ZUdlbmVyaWNIYXNoKCp0aGlzKTsKK30KKworYm9vbCBTYW1wbGVyRGVz
Yzo6b3BlcmF0b3I9PShjb25zdCBTYW1wbGVyRGVzYyAmb3RoZXIpIGNvbnN0Cit7CisgICAgcmV0
dXJuIChtZW1jbXAodGhpcywgJm90aGVyLCBzaXplb2YoU2FtcGxlckRlc2MpKSA9PSAwKTsKK30K
IH0gIC8vIG5hbWVzcGFjZSB2awogCiAvLyBSZW5kZXJQYXNzQ2FjaGUgaW1wbGVtZW50YXRpb24u
CkBAIC0xNzA0LDcgKzE4NTYsNyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlclBhc3NDYWNoZTo6YWRk
UmVuZGVyUGFzcyhDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZrOjpSZW5kZXJQYXNzICoqcmVuZGVyUGFzc091dCkKIHsK
ICAgICAvLyBJbnNlcnQgc29tZSBkdW1teSBhdHRhY2htZW50IG9wcy4gIE5vdGUgdGhhdCByZW5k
ZXIgcGFzc2VzIHdpdGggZGlmZmVyZW50IG9wcyBhcmUgc3RpbGwKLSAgICAvLyBjb21wYXRpYmxl
LgorICAgIC8vIGNvbXBhdGlibGUuIFRoZSBsb2FkL3N0b3JlIHZhbHVlcyBhcmUgbm90IGltcG9y
dGFudCBhcyB0aGV5IGFyZSBhcmVuJ3QgdXNlZCBmb3IgcmVhbCBSUHMuCiAgICAgLy8KICAgICAv
LyBJdCB3b3VsZCBiZSBuaWNlIHRvIHByZS1wb3B1bGF0ZSB0aGUgY2FjaGUgaW4gdGhlIFJlbmRl
cmVyIHNvIHdlIHJhcmVseSBtaXNzIGhlcmUuCiAgICAgdms6OkF0dGFjaG1lbnRPcHNBcnJheSBv
cHM7CkBAIC0xNzE4LDE1ICsxODcwLDE1IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyUGFzc0NhY2hl
OjphZGRSZW5kZXJQYXNzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICB9CiAKICAgICAg
ICAgdWludDMyX3QgY29sb3JJbmRleFZrID0gY29sb3JBdHRhY2htZW50Q291bnQrKzsKLSAgICAg
ICAgb3BzLmluaXREdW1teU9wKGNvbG9ySW5kZXhWaywgVktfSU1BR0VfTEFZT1VUX0NPTE9SX0FU
VEFDSE1FTlRfT1BUSU1BTCwKLSAgICAgICAgICAgICAgICAgICAgICAgIFZLX0lNQUdFX0xBWU9V
VF9DT0xPUl9BVFRBQ0hNRU5UX09QVElNQUwpOworICAgICAgICBvcHMuaW5pdFdpdGhMb2FkU3Rv
cmUoY29sb3JJbmRleFZrLCB2azo6SW1hZ2VMYXlvdXQ6OkNvbG9yQXR0YWNobWVudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dDo6Q29sb3JBdHRhY2htZW50
KTsKICAgICB9CiAKICAgICBpZiAoZGVzYy5oYXNEZXB0aFN0ZW5jaWxBdHRhY2htZW50KCkpCiAg
ICAgewogICAgICAgICB1aW50MzJfdCBkZXB0aFN0ZW5jaWxJbmRleFZrID0gY29sb3JBdHRhY2ht
ZW50Q291bnQ7Ci0gICAgICAgIG9wcy5pbml0RHVtbXlPcChkZXB0aFN0ZW5jaWxJbmRleFZrLCBW
S19JTUFHRV9MQVlPVVRfREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UX09QVElNQUwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBWS19JTUFHRV9MQVlPVVRfREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5U
X09QVElNQUwpOworICAgICAgICBvcHMuaW5pdFdpdGhMb2FkU3RvcmUoZGVwdGhTdGVuY2lsSW5k
ZXhWaywgdms6OkltYWdlTGF5b3V0OjpEZXB0aFN0ZW5jaWxBdHRhY2htZW50LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlTGF5b3V0OjpEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50KTsKICAgICB9CiAKICAgICByZXR1cm4gZ2V0UmVuZGVyUGFzc1dpdGhPcHMoY29udGV4dFZr
LCBzZXJpYWwsIGRlc2MsIG9wcywgcmVuZGVyUGFzc091dCk7CkBAIC0xOTg2LDQgKzIxMzgsNTIg
QEAgYW5nbGU6OlJlc3VsdCBQaXBlbGluZUxheW91dENhY2hlOjpnZXRQaXBlbGluZUxheW91dCgK
IAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KKworLy8gU2FtcGxlckNh
Y2hlIGltcGxlbWVudGF0aW9uLgorU2FtcGxlckNhY2hlOjpTYW1wbGVyQ2FjaGUoKSA9IGRlZmF1
bHQ7CisKK1NhbXBsZXJDYWNoZTo6flNhbXBsZXJDYWNoZSgpCit7CisgICAgQVNTRVJUKG1QYXls
b2FkLmVtcHR5KCkpOworfQorCit2b2lkIFNhbXBsZXJDYWNoZTo6ZGVzdHJveShSZW5kZXJlclZr
ICpyZW5kZXJlcikKK3sKKyAgICBWa0RldmljZSBkZXZpY2UgPSByZW5kZXJlci0+Z2V0RGV2aWNl
KCk7CisKKyAgICBmb3IgKGF1dG8gJml0ZXIgOiBtUGF5bG9hZCkKKyAgICB7CisgICAgICAgIHZr
OjpSZWZDb3VudGVkU2FtcGxlciAmc2FtcGxlciA9IGl0ZXIuc2Vjb25kOworICAgICAgICBBU1NF
UlQoIXNhbXBsZXIuaXNSZWZlcmVuY2VkKCkpOworICAgICAgICBzYW1wbGVyLmdldCgpLmRlc3Ry
b3koZGV2aWNlKTsKKworICAgICAgICByZW5kZXJlci0+Z2V0QWN0aXZlSGFuZGxlQ291bnRzKCku
b25EZWFsbG9jYXRlKHZrOjpIYW5kbGVUeXBlOjpTYW1wbGVyKTsKKyAgICB9CisKKyAgICBtUGF5
bG9hZC5jbGVhcigpOworfQorCithbmdsZTo6UmVzdWx0IFNhbXBsZXJDYWNoZTo6Z2V0U2FtcGxl
cihDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHZrOjpTYW1wbGVyRGVzYyAmZGVzYywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZrOjpCaW5kaW5nUG9pbnRlcjx2azo6U2FtcGxlcj4gKnNhbXBs
ZXJPdXQpCit7CisgICAgYXV0byBpdGVyID0gbVBheWxvYWQuZmluZChkZXNjKTsKKyAgICBpZiAo
aXRlciAhPSBtUGF5bG9hZC5lbmQoKSkKKyAgICB7CisgICAgICAgIHZrOjpSZWZDb3VudGVkU2Ft
cGxlciAmc2FtcGxlciA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgc2FtcGxlck91dC0+c2V0KCZz
YW1wbGVyKTsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworICAgIH0K
KworICAgIHZrOjpTYW1wbGVyIHNhbXBsZXI7CisgICAgQU5HTEVfVFJZKGRlc2MuaW5pdChjb250
ZXh0VmssICZzYW1wbGVyKSk7CisKKyAgICBhdXRvIGluc2VydGVkSXRlbSA9IG1QYXlsb2FkLmVt
cGxhY2UoZGVzYywgdms6OlJlZkNvdW50ZWRTYW1wbGVyKHN0ZDo6bW92ZShzYW1wbGVyKSkpOwor
ICAgIHZrOjpSZWZDb3VudGVkU2FtcGxlciAmaW5zZXJ0ZWRTYW1wbGVyID0gaW5zZXJ0ZWRJdGVt
LmZpcnN0LT5zZWNvbmQ7CisgICAgc2FtcGxlck91dC0+c2V0KCZpbnNlcnRlZFNhbXBsZXIpOwor
CisgICAgY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLT5nZXRBY3RpdmVIYW5kbGVDb3VudHMoKS5v
bkFsbG9jYXRlKHZrOjpIYW5kbGVUeXBlOjpTYW1wbGVyKTsKKworICAgIHJldHVybiBhbmdsZTo6
UmVzdWx0OjpDb250aW51ZTsKK30KIH0gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19jYWNo
ZV91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi92a19jYWNoZV91dGlscy5oCmluZGV4IDVjZDFkNDZmMGQ2MGFhYmE2YmM2MGUzYTZm
ZDYyY2ZjODQ0NjExZDQuLmEzZjI4NWRjYjZhMzY0NzI2NTgzMmVjZDRhNzdlZTEzZjlmMzlmOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vdmtfY2FjaGVfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmgKQEAgLTIxLDEyICsy
MSwxNCBAQCBuYW1lc3BhY2UgcngKIG5hbWVzcGFjZSB2awogewogY2xhc3MgSW1hZ2VIZWxwZXI7
CitlbnVtIGNsYXNzIEltYWdlTGF5b3V0OwogCiB1c2luZyBSZW5kZXJQYXNzQW5kU2VyaWFsID0g
T2JqZWN0QW5kU2VyaWFsPFJlbmRlclBhc3M+OwogdXNpbmcgUGlwZWxpbmVBbmRTZXJpYWwgICA9
IE9iamVjdEFuZFNlcmlhbDxQaXBlbGluZT47CiAKIHVzaW5nIFJlZkNvdW50ZWREZXNjcmlwdG9y
U2V0TGF5b3V0ID0gUmVmQ291bnRlZDxEZXNjcmlwdG9yU2V0TGF5b3V0PjsKIHVzaW5nIFJlZkNv
dW50ZWRQaXBlbGluZUxheW91dCAgICAgID0gUmVmQ291bnRlZDxQaXBlbGluZUxheW91dD47Cit1
c2luZyBSZWZDb3VudGVkU2FtcGxlciAgICAgICAgICAgICA9IFJlZkNvdW50ZWQ8U2FtcGxlcj47
CiAKIC8vIEhlbHBlciBtYWNybyB0aGF0IGNhc3RzIHRvIGEgYml0ZmllbGQgdHlwZSB0aGVuIHZl
cmlmaWVzIG5vIGJpdHMgd2VyZSBkcm9wcGVkLgogI2RlZmluZSBTZXRCaXRGaWVsZChsaHMsIHJo
cykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE1MSwxMCAr
MTUzLDEyIEBAIGNsYXNzIEF0dGFjaG1lbnRPcHNBcnJheSBmaW5hbAogICAgIGNvbnN0IFBhY2tl
ZEF0dGFjaG1lbnRPcHNEZXNjICZvcGVyYXRvcltdKHNpemVfdCBpbmRleCkgY29uc3Q7CiAgICAg
UGFja2VkQXR0YWNobWVudE9wc0Rlc2MgJm9wZXJhdG9yW10oc2l6ZV90IGluZGV4KTsKIAotICAg
IC8vIEluaXRpYWxpemVzIGFuIGF0dGFjaG1lbnQgb3Agd2l0aCB3aGF0ZXZlciB2YWx1ZXMuIFVz
ZWQgZm9yIGNvbXBhdGlibGUgUmVuZGVyUGFzcyBjaGVja3MuCi0gICAgdm9pZCBpbml0RHVtbXlP
cChzaXplX3QgaW5kZXgsIFZrSW1hZ2VMYXlvdXQgaW5pdGlhbExheW91dCwgVmtJbWFnZUxheW91
dCBmaW5hbExheW91dCk7CiAgICAgLy8gSW5pdGlhbGl6ZSBhbiBhdHRhY2htZW50IG9wIHdpdGgg
YWxsIGxvYWQgYW5kIHN0b3JlIG9wZXJhdGlvbnMuCi0gICAgdm9pZCBpbml0V2l0aExvYWRTdG9y
ZShzaXplX3QgaW5kZXgsIFZrSW1hZ2VMYXlvdXQgaW5pdGlhbExheW91dCwgVmtJbWFnZUxheW91
dCBmaW5hbExheW91dCk7CisgICAgdm9pZCBpbml0V2l0aExvYWRTdG9yZShzaXplX3QgaW5kZXgs
IEltYWdlTGF5b3V0IGluaXRpYWxMYXlvdXQsIEltYWdlTGF5b3V0IGZpbmFsTGF5b3V0KTsKKwor
ICAgIHZvaWQgc2V0TGF5b3V0cyhzaXplX3QgaW5kZXgsIEltYWdlTGF5b3V0IGluaXRpYWxMYXlv
dXQsIEltYWdlTGF5b3V0IGZpbmFsTGF5b3V0KTsKKyAgICB2b2lkIHNldE9wcyhzaXplX3QgaW5k
ZXgsIFZrQXR0YWNobWVudExvYWRPcCBsb2FkT3AsIFZrQXR0YWNobWVudFN0b3JlT3Agc3RvcmVP
cCk7CisgICAgdm9pZCBzZXRTdGVuY2lsT3BzKHNpemVfdCBpbmRleCwgVmtBdHRhY2htZW50TG9h
ZE9wIGxvYWRPcCwgVmtBdHRhY2htZW50U3RvcmVPcCBzdG9yZU9wKTsKIAogICAgIHNpemVfdCBo
YXNoKCkgY29uc3Q7CiAKQEAgLTU5Miw2ICs1OTYsNTggQEAgc3RhdGljX2Fzc2VydChzaXplb2Yo
UGlwZWxpbmVMYXlvdXREZXNjKSA9PQogICAgICAgICAgICAgICAgICAgIHNpemVvZihnbDo6U2hh
ZGVyTWFwPFBhY2tlZFB1c2hDb25zdGFudFJhbmdlPikpLAogICAgICAgICAgICAgICAiVW5leHBl
Y3RlZCBTaXplIik7CiAKKy8vIFBhY2tlZCBzYW1wbGVyIGRlc2NyaXB0aW9uIGZvciB0aGUgc2Ft
cGxlciBjYWNoZS4KK2NsYXNzIFNhbXBsZXJEZXNjIGZpbmFsCit7CisgIHB1YmxpYzoKKyAgICBT
YW1wbGVyRGVzYygpOworICAgIGV4cGxpY2l0IFNhbXBsZXJEZXNjKGNvbnN0IGdsOjpTYW1wbGVy
U3RhdGUgJnNhbXBsZXJTdGF0ZSwgYm9vbCBzdGVuY2lsTW9kZSk7CisgICAgflNhbXBsZXJEZXNj
KCk7CisKKyAgICBTYW1wbGVyRGVzYyhjb25zdCBTYW1wbGVyRGVzYyAmb3RoZXIpOworICAgIFNh
bXBsZXJEZXNjICZvcGVyYXRvcj0oY29uc3QgU2FtcGxlckRlc2MgJnJocyk7CisKKyAgICB2b2lk
IHVwZGF0ZShjb25zdCBnbDo6U2FtcGxlclN0YXRlICZzYW1wbGVyU3RhdGUsIGJvb2wgc3RlbmNp
bE1vZGUpOworICAgIHZvaWQgcmVzZXQoKTsKKyAgICBhbmdsZTo6UmVzdWx0IGluaXQoQ29udGV4
dFZrICpjb250ZXh0VmssIHZrOjpTYW1wbGVyICpzYW1wbGVyKSBjb25zdDsKKworICAgIHNpemVf
dCBoYXNoKCkgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNhbXBsZXJEZXNjICZv
dGhlcikgY29uc3Q7CisKKyAgcHJpdmF0ZToKKyAgICAvLyAzMio0IGJpdHMgZm9yIGZsb2F0aW5n
IHBvaW50IGRhdGEuCisgICAgLy8gTm90ZTogYW5pc290cm9weSBlbmFibGVkIGlzIGltcGxpY2l0
bHkgZGV0ZXJtaW5lZCBieSBtYXhBbmlzb3Ryb3B5IGFuZCBjYXBzLgorICAgIGZsb2F0IG1NaXBM
b2RCaWFzOworICAgIGZsb2F0IG1NYXhBbmlzb3Ryb3B5OworICAgIGZsb2F0IG1NaW5Mb2Q7Cisg
ICAgZmxvYXQgbU1heExvZDsKKworICAgIC8vIDE2IGJpdHMgZm9yIG1vZGVzICsgc3RhdGVzLgor
ICAgIC8vIDEgYml0IHBlciBmaWx0ZXIgKG9ubHkgMiBwb3NzaWJsZSB2YWx1ZXMgaW4gR0w6IGxp
bmVhci9uZWFyZXN0KQorICAgIHVpbnQxNl90IG1NYWdGaWx0ZXIgOiAxOworICAgIHVpbnQxNl90
IG1NaW5GaWx0ZXIgOiAxOworICAgIHVpbnQxNl90IG1NaXBtYXBNb2RlIDogMTsKKworICAgIC8v
IDMgYml0cyBwZXIgYWRkcmVzcyBtb2RlICg1IHBvc3NpYmxlIHZhbHVlcykKKyAgICB1aW50MTZf
dCBtQWRkcmVzc01vZGVVIDogMzsKKyAgICB1aW50MTZfdCBtQWRkcmVzc01vZGVWIDogMzsKKyAg
ICB1aW50MTZfdCBtQWRkcmVzc01vZGVXIDogMzsKKworICAgIC8vIDEgYml0IGZvciBjb21wYXJl
IGVuYWJsZWQgKDIgcG9zc2libGUgdmFsdWVzKQorICAgIHVpbnQxNl90IG1Db21wYXJlRW5hYmxl
ZCA6IDE7CisKKyAgICAvLyAzIGJpdHMgZm9yIGNvbXBhcmUgb3AuICg4IHBvc3NpYmxlIHZhbHVl
cykKKyAgICB1aW50MTZfdCBtQ29tcGFyZU9wIDogMzsKKworICAgIC8vIEJvcmRlciBjb2xvciBh
bmQgdW5ub3JtYWxpemVkIGNvb3JkaW5hdGVzIGltcGxpY2l0bHkgc2V0IHRvIGNvbnRhbnRzLgor
CisgICAgLy8gMTYgZXh0cmEgYml0cyByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4KKyAgICB1aW50
MTZfdCBtUmVzZXJ2ZWQ7Cit9OworCisvLyBUb3RhbCBzaXplOiAxNjAgYml0cyA9PSAyMCBieXRl
cy4KK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNhbXBsZXJEZXNjKSA9PSAyMCwgIlVuZXhwZWN0ZWQg
U2FtcGxlckRlc2Mgc2l6ZSIpOworCiAvLyBEaXNhYmxlIHdhcm5pbmdzIGFib3V0IHN0cnVjdCBw
YWRkaW5nLgogQU5HTEVfRElTQUJMRV9TVFJVQ1RfUEFERElOR19XQVJOSU5HUwogCkBAIC03NTAs
NiArODA2LDggQEAgY2xhc3MgRnJhbWVidWZmZXJEZXNjCiAKICAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgRnJhbWVidWZmZXJEZXNjICZvdGhlcikgY29uc3Q7CiAKKyAgICB1aW50MzJfdCBhdHRh
Y2htZW50Q291bnQoKSBjb25zdDsKKwogICBwcml2YXRlOgogICAgIGdsOjpBdHRhY2htZW50QXJy
YXk8QXR0YWNobWVudFNlcmlhbD4gbVNlcmlhbHM7CiB9OwpAQCAtODAwLDYgKzg1OCwxMiBAQCBz
dHJ1Y3QgaGFzaDxyeDo6dms6OkZyYW1lYnVmZmVyRGVzYz4KIHsKICAgICBzaXplX3Qgb3BlcmF0
b3IoKShjb25zdCByeDo6dms6OkZyYW1lYnVmZmVyRGVzYyAma2V5KSBjb25zdCB7IHJldHVybiBr
ZXkuaGFzaCgpOyB9CiB9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGhhc2g8cng6OnZrOjpTYW1w
bGVyRGVzYz4KK3sKKyAgICBzaXplX3Qgb3BlcmF0b3IoKShjb25zdCByeDo6dms6OlNhbXBsZXJE
ZXNjICZrZXkpIGNvbnN0IHsgcmV0dXJuIGtleS5oYXNoKCk7IH0KK307CiB9ICAvLyBuYW1lc3Bh
Y2Ugc3RkCiAKIG5hbWVzcGFjZSByeApAQCAtOTQ1LDYgKzEwMDksMjIgQEAgY2xhc3MgUGlwZWxp
bmVMYXlvdXRDYWNoZSBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHN0ZDo6dW5vcmRl
cmVkX21hcDx2azo6UGlwZWxpbmVMYXlvdXREZXNjLCB2azo6UmVmQ291bnRlZFBpcGVsaW5lTGF5
b3V0PiBtUGF5bG9hZDsKIH07CiAKK2NsYXNzIFNhbXBsZXJDYWNoZSBmaW5hbCA6IGFuZ2xlOjpO
b25Db3B5YWJsZQoreworICBwdWJsaWM6CisgICAgU2FtcGxlckNhY2hlKCk7CisgICAgflNhbXBs
ZXJDYWNoZSgpOworCisgICAgdm9pZCBkZXN0cm95KFJlbmRlcmVyVmsgKnJlbmRlcmVyKTsKKwor
ICAgIGFuZ2xlOjpSZXN1bHQgZ2V0U2FtcGxlcihDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdms6OlNhbXBsZXJEZXNjICZkZXNjLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6QmluZGluZ1BvaW50ZXI8dms6OlNhbXBsZXI+
ICpzYW1wbGVyT3V0KTsKKworICBwcml2YXRlOgorICAgIHN0ZDo6dW5vcmRlcmVkX21hcDx2azo6
U2FtcGxlckRlc2MsIHZrOjpSZWZDb3VudGVkU2FtcGxlcj4gbVBheWxvYWQ7Cit9OworCiAvLyBT
b21lIGRlc2NyaXB0b3Igc2V0IGFuZCBwaXBlbGluZSBsYXlvdXQgY29uc3RhbnRzLgogLy8KIC8v
IFRoZSBzZXQvYmluZGluZyBhc3NpZ25tZW50IGlzIGRvbmUgYXMgZm9sbG93aW5nOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi92a19jYXBzX3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5jcHAKaW5kZXggOGZlNjMxM2Q3ZTQ0ZGQ5
OGNmOWFkMDEwZjY4NDJiYzQ4MjgwYzU3ZS4uMGMyMjBkNmQxNTJiMzFiN2M2NmU5ZWUxZTI0ZDYw
ZmYxYTk4OTEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi92a19jYXBzX3V0aWxzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhcHNfdXRpbHMuY3Bw
CkBAIC00OCw2ICs0OCwxMSBAQCB2b2lkIFJlbmRlcmVyVms6OmVuc3VyZUNhcHNJbml0aWFsaXpl
ZCgpIGNvbnN0CiAKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5zZXRUZXh0dXJlRXh0ZW5zaW9uU3Vw
cG9ydChtTmF0aXZlVGV4dHVyZUNhcHMpOwogCisgICAgLy8gVE9ETzogaHR0cDovL2FuZ2xlYnVn
LmNvbS8zNjA5CisgICAgLy8gRHVlIHRvIGEgZEVRUCBidWcsIHRoaXMgZXh0ZW5zaW9uIGNhbm5v
dCBiZSBleHBvc2VkIHVudGlsIEVYVF90ZXh0dXJlX3NSR0JfZGVjb2RlIGlzCisgICAgLy8gaW1w
bGVtZW50ZWQKKyAgICBtTmF0aXZlRXh0ZW5zaW9ucy5zUkdCUjhFWFQgPSBmYWxzZTsKKwogICAg
IC8vIFRvIGVuc3VyZSB0aGF0IEVUQzIvRUFDIGZvcm1hdHMgYXJlIGVuYWJsZWQgb25seSBvbiBo
YXJkd2FyZSB0aGF0IHN1cHBvcnRzIHRoZW0gbmF0aXZlbHksCiAgICAgLy8gdGhpcyBmbGFnIGlz
IG5vdCBzZXQgYnkgdGhlIGZ1bmN0aW9uIGFib3ZlIGFuZCBtdXN0IGJlIHNldCBleHBsaWNpdGx5
LiBJdCBleHBvc2VzCiAgICAgLy8gQU5HTEVfY29tcHJlc3NlZF90ZXh0dXJlX2V0YyBleHRlbnNp
b24gc3RyaW5nLgpAQCAtNjYsNiArNzEsOSBAQCB2b2lkIFJlbmRlcmVyVms6OmVuc3VyZUNhcHNJ
bml0aWFsaXplZCgpIGNvbnN0CiAgICAgbU5hdGl2ZUV4dGVuc2lvbnMudGV4dHVyZUNvbXByZXNz
aW9uU2xpY2VkM2RBU1RDS0hSID0KICAgICAgICAgbU5hdGl2ZUV4dGVuc2lvbnMudGV4dHVyZUNv
bXByZXNzaW9uQVNUQ0xEUktIUjsKIAorICAgIC8vIEVuYWJsZSBFWFRfY29tcHJlc3NlZF9FVEMx
X1JHQjhfc3ViX3RleHR1cmUKKyAgICBtTmF0aXZlRXh0ZW5zaW9ucy5jb21wcmVzc2VkRVRDMVJH
QjhTdWJUZXh0dXJlID0gbU5hdGl2ZUV4dGVuc2lvbnMuY29tcHJlc3NlZEVUQzFSR0I4VGV4dHVy
ZU9FUzsKKwogICAgIC8vIEVuYWJsZSB0aGlzIGZvciBzaW1wbGUgYnVmZmVyIHJlYWRiYWNrIHRl
c3RpbmcsIGJ1dCBzb21lIGZ1bmN0aW9uYWxpdHkgaXMgbWlzc2luZy4KICAgICAvLyBUT0RPKGpt
YWRpbGwpOiBTdXBwb3J0IGZ1bGwgbWFwQnVmZmVyUmFuZ2UgZXh0ZW5zaW9uLgogICAgIG1OYXRp
dmVFeHRlbnNpb25zLm1hcEJ1ZmZlck9FUyAgICAgICAgICAgPSB0cnVlOwpAQCAtMTAxLDkgKzEw
OSw5IEBAIHZvaWQgUmVuZGVyZXJWazo6ZW5zdXJlQ2Fwc0luaXRpYWxpemVkKCkgY29uc3QKICAg
ICBtTmF0aXZlRXh0ZW5zaW9ucy5lZ2xJbWFnZUV4dGVybmFsT0VTICAgICAgICAgID0gdHJ1ZTsK
ICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5lZ2xJbWFnZUV4dGVybmFsV3JhcE1vZGVzRVhUID0gdHJ1
ZTsKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5lZ2xJbWFnZUV4dGVybmFsRXNzbDNPRVMgICAgID0g
dHJ1ZTsKLQotICAgIG1OYXRpdmVFeHRlbnNpb25zLm1lbW9yeU9iamVjdCAgID0gdHJ1ZTsKLSAg
ICBtTmF0aXZlRXh0ZW5zaW9ucy5tZW1vcnlPYmplY3RGZCA9IGdldEZlYXR1cmVzKCkuc3VwcG9y
dHNFeHRlcm5hbE1lbW9yeUZkLmVuYWJsZWQ7CisgICAgbU5hdGl2ZUV4dGVuc2lvbnMuZWdsSW1h
Z2VBcnJheSAgICAgICAgICAgICAgICA9IHRydWU7CisgICAgbU5hdGl2ZUV4dGVuc2lvbnMubWVt
b3J5T2JqZWN0ICAgICAgICAgICAgICAgICA9IHRydWU7CisgICAgbU5hdGl2ZUV4dGVuc2lvbnMu
bWVtb3J5T2JqZWN0RmQgICAgICAgICAgICAgICA9IGdldEZlYXR1cmVzKCkuc3VwcG9ydHNFeHRl
cm5hbE1lbW9yeUZkLmVuYWJsZWQ7CiAgICAgbU5hdGl2ZUV4dGVuc2lvbnMubWVtb3J5T2JqZWN0
RnVjaHNpYUFOR0xFID0KICAgICAgICAgZ2V0RmVhdHVyZXMoKS5zdXBwb3J0c0V4dGVybmFsTWVt
b3J5RnVjaHNpYS5lbmFibGVkOwogCkBAIC0xNTQsNiArMTYyLDkgQEAgdm9pZCBSZW5kZXJlclZr
OjplbnN1cmVDYXBzSW5pdGlhbGl6ZWQoKSBjb25zdAogICAgIC8vIFZ1bGthbiBuYXRpdmVseSBz
dXBwb3J0cyBzdGFuZGFyZCBkZXJpdmF0aXZlcwogICAgIG1OYXRpdmVFeHRlbnNpb25zLnN0YW5k
YXJkRGVyaXZhdGl2ZXNPRVMgPSB0cnVlOwogCisgICAgLy8gVnVsa2FuIG5hdGl2ZWx5IHN1cHBv
cnRzIG5vcGVyc3BlY3RpdmUgaW50ZXJwb2xhdGlvbgorICAgIG1OYXRpdmVFeHRlbnNpb25zLm5v
cGVyc3BlY3RpdmVJbnRlcnBvbGF0aW9uTlYgPSB0cnVlOworCiAgICAgLy8gVnVsa2FuIG5hdGl2
ZWx5IHN1cHBvcnRzIDMyLWJpdCBpbmRpY2VzLCBlbnRyeSBpbiBrSW5kZXhUeXBlTWFwCiAgICAg
bU5hdGl2ZUV4dGVuc2lvbnMuZWxlbWVudEluZGV4VWludE9FUyA9IHRydWU7CiAKQEAgLTE3MCw4
ICsxODEsMTMgQEAgdm9pZCBSZW5kZXJlclZrOjplbnN1cmVDYXBzSW5pdGlhbGl6ZWQoKSBjb25z
dAogICAgIG1OYXRpdmVFeHRlbnNpb25zLmRlcHRoVGV4dHVyZUN1YmVNYXBPRVMgPQogICAgICAg
ICBtTmF0aXZlRXh0ZW5zaW9ucy5kZXB0aFRleHR1cmVPRVMgJiYgbU5hdGl2ZUV4dGVuc2lvbnMu
cGFja2VkRGVwdGhTdGVuY2lsT0VTOwogCisgICAgLy8gVnVsa2FuIG5hdGl2ZWx5IHN1cHBvcnRz
IGZvcm1hdCByZWludGVycHJldGF0aW9uCisgICAgbU5hdGl2ZUV4dGVuc2lvbnMudGV4dHVyZVNS
R0JPdmVycmlkZSA9IG1OYXRpdmVFeHRlbnNpb25zLnNSR0I7CisKICAgICBtTmF0aXZlRXh0ZW5z
aW9ucy5ncHVTaGFkZXI1RVhUID0gdms6OkNhblN1cHBvcnRHUFVTaGFkZXI1RVhUKG1QaHlzaWNh
bERldmljZUZlYXR1cmVzKTsKIAorICAgIG1OYXRpdmVFeHRlbnNpb25zLnRleHR1cmVGaWx0ZXJp
bmdDSFJPTUlVTSA9IGdldEZlYXR1cmVzKCkuc3VwcG9ydHNGaWx0ZXJpbmdQcmVjaXNpb24uZW5h
YmxlZDsKKwogICAgIC8vIGh0dHBzOi8vdnVsa2FuLmx1bmFyZy5jb20vZG9jL3ZpZXcvMS4wLjMw
LjAvbGludXgvdmtzcGVjLmNodW5rZWQvY2gzMXMwMi5odG1sCiAgICAgbU5hdGl2ZUNhcHMubWF4
RWxlbWVudEluZGV4ICA9IHN0ZDo6bnVtZXJpY19saW1pdHM8R0x1aW50Pjo6bWF4KCkgLSAxOwog
ICAgIG1OYXRpdmVDYXBzLm1heDNEVGV4dHVyZVNpemUgPSBMaW1pdFRvSW50KGxpbWl0c1ZrLm1h
eEltYWdlRGltZW5zaW9uM0QpOwpAQCAtNDEyLDEwICs0MjgsMTUgQEAgdm9pZCBSZW5kZXJlclZr
OjplbnN1cmVDYXBzSW5pdGlhbGl6ZWQoKSBjb25zdAogICAgIC8vIEdMIEltYWdlcyBjb3JyZXNw
b25kIHRvIFZ1bGthbiBTdG9yYWdlIEltYWdlcy4KICAgICBjb25zdCBpbnQzMl90IG1heFBlclN0
YWdlSW1hZ2VzID0gTGltaXRUb0ludChsaW1pdHNWay5tYXhQZXJTdGFnZURlc2NyaXB0b3JTdG9y
YWdlSW1hZ2VzKTsKICAgICBjb25zdCBpbnQzMl90IG1heENvbWJpbmVkSW1hZ2VzID0gTGltaXRU
b0ludChsaW1pdHNWay5tYXhEZXNjcmlwdG9yU2V0U3RvcmFnZUltYWdlcyk7Ci0gICAgZm9yIChn
bDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5cGVzKCkpCi0gICAgewot
ICAgICAgICBtTmF0aXZlQ2Fwcy5tYXhTaGFkZXJJbWFnZVVuaWZvcm1zW3NoYWRlclR5cGVdID0g
bWF4UGVyU3RhZ2VJbWFnZXM7Ci0gICAgfQorCisgICAgbU5hdGl2ZUNhcHMubWF4U2hhZGVySW1h
Z2VVbmlmb3Jtc1tnbDo6U2hhZGVyVHlwZTo6VmVydGV4XSA9CisgICAgICAgIG1QaHlzaWNhbERl
dmljZUZlYXR1cmVzLnZlcnRleFBpcGVsaW5lU3RvcmVzQW5kQXRvbWljcyA/IG1heFBlclN0YWdl
SW1hZ2VzIDogMDsKKyAgICBtTmF0aXZlQ2Fwcy5tYXhTaGFkZXJJbWFnZVVuaWZvcm1zW2dsOjpT
aGFkZXJUeXBlOjpGcmFnbWVudF0gPQorICAgICAgICBtUGh5c2ljYWxEZXZpY2VGZWF0dXJlcy5m
cmFnbWVudFN0b3Jlc0FuZEF0b21pY3MgPyBtYXhQZXJTdGFnZUltYWdlcyA6IDA7CisgICAgbU5h
dGl2ZUNhcHMubWF4U2hhZGVySW1hZ2VVbmlmb3Jtc1tnbDo6U2hhZGVyVHlwZTo6R2VvbWV0cnld
ID0KKyAgICAgICAgbVBoeXNpY2FsRGV2aWNlRmVhdHVyZXMudmVydGV4UGlwZWxpbmVTdG9yZXNB
bmRBdG9taWNzID8gbWF4UGVyU3RhZ2VJbWFnZXMgOiAwOworICAgIG1OYXRpdmVDYXBzLm1heFNo
YWRlckltYWdlVW5pZm9ybXNbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdID0gbWF4UGVyU3RhZ2VJ
bWFnZXM7CisKICAgICBtTmF0aXZlQ2Fwcy5tYXhDb21iaW5lZEltYWdlVW5pZm9ybXMgPSBtYXhD
b21iaW5lZEltYWdlczsKICAgICBtTmF0aXZlQ2Fwcy5tYXhJbWFnZVVuaXRzICAgICAgICAgICAg
PSBtYXhDb21iaW5lZEltYWdlczsKIApAQCAtNTMyLDYgKzU1MywxNCBAQCB2b2lkIFJlbmRlcmVy
Vms6OmVuc3VyZUNhcHNJbml0aWFsaXplZCgpIGNvbnN0CiAgICAgICAgIG1OYXRpdmVDYXBzLm1h
eEdlb21ldHJ5U2hhZGVySW52b2NhdGlvbnMgPQogICAgICAgICAgICAgTGltaXRUb0ludChsaW1p
dHNWay5tYXhHZW9tZXRyeVNoYWRlckludm9jYXRpb25zKTsKICAgICB9CisKKyAgICAvLyBHTF9B
UFBMRV9jbGlwX2Rpc3RhbmNlL0dMX0VYVF9jbGlwX2N1bGxfZGlzdGFuY2UKKyAgICBpZiAobVBo
eXNpY2FsRGV2aWNlRmVhdHVyZXMuc2hhZGVyQ2xpcERpc3RhbmNlICYmIGxpbWl0c1ZrLm1heENs
aXBEaXN0YW5jZXMgPj0gOCkKKyAgICB7CisgICAgICAgIG1OYXRpdmVFeHRlbnNpb25zLmNsaXBE
aXN0YW5jZUFQUExFID0gdHJ1ZTsKKyAgICAgICAgbU5hdGl2ZUNhcHMubWF4Q2xpcERpc3RhbmNl
cyA9CisgICAgICAgICAgICBzdGQ6Om1pbjxHTHVpbnQ+KGxpbWl0c1ZrLm1heENsaXBEaXN0YW5j
ZXMsIGdsOjpJTVBMRU1FTlRBVElPTl9NQVhfQ0xJUF9ESVNUQU5DRVMpOworICAgIH0KIH0KIAog
bmFtZXNwYWNlIHZrCkBAIC01OTUsNiArNjI0LDggQEAgZWdsOjpDb25maWcgR2VuZXJhdGVEZWZh
dWx0Q29uZmlnKGNvbnN0IFJlbmRlcmVyVmsgKnJlbmRlcmVyLAogICAgICAgICByZW5kZXJlci0+
Z2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzKCk7CiAgICAgZ2w6OlZlcnNpb24gbWF4U3VwcG9y
dGVkRVNWZXJzaW9uID0gcmVuZGVyZXItPmdldE1heFN1cHBvcnRlZEVTVmVyc2lvbigpOwogCisg
ICAgLy8gRVMzIGZlYXR1cmVzIGFyZSByZXF1aXJlZCB0byBlbXVsYXRlIEVTMQorICAgIEVHTGlu
dCBlczFTdXBwb3J0ID0gKG1heFN1cHBvcnRlZEVTVmVyc2lvbi5tYWpvciA+PSAzID8gRUdMX09Q
RU5HTF9FU19CSVQgOiAwKTsKICAgICBFR0xpbnQgZXMyU3VwcG9ydCA9IChtYXhTdXBwb3J0ZWRF
U1ZlcnNpb24ubWFqb3IgPj0gMiA/IEVHTF9PUEVOR0xfRVMyX0JJVCA6IDApOwogICAgIEVHTGlu
dCBlczNTdXBwb3J0ID0gKG1heFN1cHBvcnRlZEVTVmVyc2lvbi5tYWpvciA+PSAzID8gRUdMX09Q
RU5HTF9FUzNfQklUIDogMCk7CiAKQEAgLTYxMiw3ICs2NDMsNyBAQCBlZ2w6OkNvbmZpZyBHZW5l
cmF0ZURlZmF1bHRDb25maWcoY29uc3QgUmVuZGVyZXJWayAqcmVuZGVyZXIsCiAgICAgY29uZmln
LmJpbmRUb1RleHR1cmVSR0JBICA9IGNvbG9yRm9ybWF0LmZvcm1hdCA9PSBHTF9SR0JBIHx8IGNv
bG9yRm9ybWF0LmZvcm1hdCA9PSBHTF9CR1JBX0VYVDsKICAgICBjb25maWcuY29sb3JCdWZmZXJU
eXBlICAgID0gRUdMX1JHQl9CVUZGRVI7CiAgICAgY29uZmlnLmNvbmZpZ0NhdmVhdCAgICAgICA9
IEdldENvbmZpZ0NhdmVhdChjb2xvckZvcm1hdC5pbnRlcm5hbEZvcm1hdCk7Ci0gICAgY29uZmln
LmNvbmZvcm1hbnQgICAgICAgICA9IGVzMlN1cHBvcnQgfCBlczNTdXBwb3J0OworICAgIGNvbmZp
Zy5jb25mb3JtYW50ICAgICAgICAgPSBlczFTdXBwb3J0IHwgZXMyU3VwcG9ydCB8IGVzM1N1cHBv
cnQ7CiAgICAgY29uZmlnLmRlcHRoU2l6ZSAgICAgICAgICA9IGRlcHRoU3RlbmNpbEZvcm1hdC5k
ZXB0aEJpdHM7CiAgICAgY29uZmlnLnN0ZW5jaWxTaXplICAgICAgICA9IGRlcHRoU3RlbmNpbEZv
cm1hdC5zdGVuY2lsQml0czsKICAgICBjb25maWcubGV2ZWwgICAgICAgICAgICAgID0gMDsKQEAg
LTYyNSw3ICs2NTYsNyBAQCBlZ2w6OkNvbmZpZyBHZW5lcmF0ZURlZmF1bHRDb25maWcoY29uc3Qg
UmVuZGVyZXJWayAqcmVuZGVyZXIsCiAgICAgY29uZmlnLm5hdGl2ZVJlbmRlcmFibGUgICA9IEVH
TF9UUlVFOwogICAgIGNvbmZpZy5uYXRpdmVWaXN1YWxJRCAgICAgPSBzdGF0aWNfY2FzdDxFR0xp
bnQ+KEdldE5hdGl2ZVZpc3VhbElEKGNvbG9yRm9ybWF0KSk7CiAgICAgY29uZmlnLm5hdGl2ZVZp
c3VhbFR5cGUgICA9IEVHTF9OT05FOwotICAgIGNvbmZpZy5yZW5kZXJhYmxlVHlwZSAgICAgPSBl
czJTdXBwb3J0IHwgZXMzU3VwcG9ydDsKKyAgICBjb25maWcucmVuZGVyYWJsZVR5cGUgICAgID0g
ZXMxU3VwcG9ydCB8IGVzMlN1cHBvcnQgfCBlczNTdXBwb3J0OwogICAgIGNvbmZpZy5zYW1wbGVC
dWZmZXJzICAgICAgPSAoc2FtcGxlQ291bnQgPiAwKSA/IDEgOiAwOwogICAgIGNvbmZpZy5zYW1w
bGVzICAgICAgICAgICAgPSBzYW1wbGVDb3VudDsKICAgICBjb25maWcuc3VyZmFjZVR5cGUgICAg
ICAgID0gRUdMX1dJTkRPV19CSVQgfCBFR0xfUEJVRkZFUl9CSVQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhcHNf
dXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfY2Fwc191dGlscy5oCmluZGV4IGI3MDE4MDZmMmFhYjllZDhjNmE3NDZkOTdiMmUy
ZDQyMjUyNTE2NWYuLjY5YjdkNTY4YjI0YzRhYzU0N2ZmMTc1Y2VmMTBlN2QyMTZiYmFmMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfY2Fwc191dGlscy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5oCkBAIC0xMCw5ICsxMCw4IEBA
CiAjaWZuZGVmIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9WS19DQVBTX1VUSUxTX0hfCiAjZGVm
aW5lIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9WS19DQVBTX1VUSUxTX0hfCiAKLSNpbmNsdWRl
ICJ2b2xrLmgiCi0KICNpbmNsdWRlICJsaWJBTkdMRS9Db25maWcuaCIKKyNpbmNsdWRlICJsaWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgogCiBuYW1lc3BhY2UgZ2wKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfZXh0X3Byb3Zva2luZ192ZXJ0ZXguaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZXh0X3Byb3Zva2luZ192ZXJ0ZXguaApp
bmRleCAyMzFiMGNkN2MwNjZjYTA0MGQ2ZjBkNzYwOTU2OTA0MDdiYjdhMGI2Li44MDkzOTNmZjJm
MzVlZjJhOTNkYWNmZjYwYTVjZDBjNTY3YjFlZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2V4dF9wcm92b2tpbmdf
dmVydGV4LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL3Z1bGthbi92a19leHRfcHJvdm9raW5nX3ZlcnRleC5oCkBAIC0xMiw3ICsxMiw3IEBACiAv
LyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy
bWlzc2lvbnMgYW5kCiAvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAotI2luY2x1
ZGUgInZvbGsuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVy
cy5oIgogCiAvLyBUSElTIEZJTEUgU0hPVUxEIEJFIERFTEVURUQgSUYgVktfRVhUX3Byb3Zva2lu
Z192ZXJ0ZXggSVMgRVZFUiBBRERFRCBUTyBUSEUgVlVMS0FOIEhFQURFUlMKICNpZmRlZiBWS19F
WFRfcHJvdm9raW5nX3ZlcnRleApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRfbWFwLmpzb24gYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2Zvcm1hdF9t
YXAuanNvbgppbmRleCAzZWM3MTYwNTZhNjhiZThiOTE1NTgwMzJkODc4MDIwNDUxMmU5NTg2Li43
ZDdlNmUxYjAxMTUzNzE2NGVjM2FkZmYxMWU0M2QxYWM2ZWJlMjQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2Zvcm1h
dF9tYXAuanNvbgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL3ZrX2Zvcm1hdF9tYXAuanNvbgpAQCAtMjksNiArMjksNyBAQAogICAgICAg
ICAiQjVHNlI1X1VOT1JNIjogIlZLX0ZPUk1BVF9CNUc2UjVfVU5PUk1fUEFDSzE2IiwKICAgICAg
ICAgIkI1RzVSNUExX1VOT1JNIjogIlZLX0ZPUk1BVF9CNUc1UjVBMV9VTk9STV9QQUNLMTYiLAog
ICAgICAgICAiUjhfVU5PUk0iOiAiVktfRk9STUFUX1I4X1VOT1JNIiwKKyAgICAgICAgIlI4X1VO
T1JNX1NSR0IiOiAiVktfRk9STUFUX1I4X1NSR0IiLAogICAgICAgICAiUjhfU05PUk0iOiAiVktf
Rk9STUFUX1I4X1NOT1JNIiwKICAgICAgICAgIlI4X1VJTlQiOiAiVktfRk9STUFUX1I4X1VJTlQi
LAogICAgICAgICAiUjhfU0lOVCI6ICJWS19GT1JNQVRfUjhfU0lOVCIsCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2Zv
cm1hdF90YWJsZV9hdXRvZ2VuLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3RhYmxlX2F1dG9nZW4uY3BwCmluZGV4IGJl
ZjU5ZGM4YjkyZjlkNTgwMTAwNjRiNzZiMTYxMGQyNjBjM2VmYjYuLmY3ZmIxZTc3YmVmMjI1Zjg0
YWU4M2Q1YjEzMzIyYmE4ZWRhNmU0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3RhYmxlX2F1dG9nZW4u
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfZm9ybWF0X3RhYmxlX2F1dG9nZW4uY3BwCkBAIC0yNDY5LDYgKzI0NjksMTggQEAg
dm9pZCBGb3JtYXQ6OmluaXRpYWxpemUoUmVuZGVyZXJWayAqcmVuZGVyZXIsIGNvbnN0IGFuZ2xl
OjpGb3JtYXQgJmFuZ2xlRm9ybWF0KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7
CiAKKyAgICAgICAgY2FzZSBhbmdsZTo6Rm9ybWF0SUQ6OlI4X1VOT1JNX1NSR0I6CisgICAgICAg
ICAgICBpbnRlcm5hbEZvcm1hdCAgICAgICAgICAgICAgID0gR0xfU1I4X0VYVDsKKyAgICAgICAg
ICAgIGFjdHVhbEltYWdlRm9ybWF0SUQgICAgICAgICAgPSBhbmdsZTo6Rm9ybWF0SUQ6OlI4X1VO
T1JNX1NSR0I7CisgICAgICAgICAgICB2a0ltYWdlRm9ybWF0ICAgICAgICAgICAgICAgID0gVktf
Rk9STUFUX1I4X1NSR0I7CisgICAgICAgICAgICBpbWFnZUluaXRpYWxpemVyRnVuY3Rpb24gICAg
ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGFjdHVhbEJ1ZmZlckZvcm1hdElEICAgICAgICAgPSBh
bmdsZTo6Rm9ybWF0SUQ6OlI4X1VOT1JNX1NSR0I7CisgICAgICAgICAgICB2a0J1ZmZlckZvcm1h
dCAgICAgICAgICAgICAgID0gVktfRk9STUFUX1I4X1NSR0I7CisgICAgICAgICAgICB2a0J1ZmZl
ckZvcm1hdElzUGFja2VkICAgICAgID0gZmFsc2U7CisgICAgICAgICAgICB2ZXJ0ZXhMb2FkRnVu
Y3Rpb24gICAgICAgICAgID0gQ29weU5hdGl2ZVZlcnRleERhdGE8R0x1Ynl0ZSwgMSwgMSwgMD47
CisgICAgICAgICAgICB2ZXJ0ZXhMb2FkUmVxdWlyZXNDb252ZXJzaW9uID0gZmFsc2U7CisgICAg
ICAgICAgICBicmVhazsKKwogICAgICAgICBjYXNlIGFuZ2xlOjpGb3JtYXRJRDo6UjhfVVNDQUxF
RDoKICAgICAgICAgICAgIGludGVybmFsRm9ybWF0ICAgICAgICAgICA9IEdMX1I4X1VTQ0FMRURf
QU5HTEVYOwogICAgICAgICAgICAgYWN0dWFsSW1hZ2VGb3JtYXRJRCAgICAgID0gYW5nbGU6OkZv
cm1hdElEOjpSOF9VU0NBTEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRfdXRpbHMuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3V0
aWxzLmgKaW5kZXggOTRlODA1NDE5MDNlNDhmMTJiMzM2YTczMzA0YTAyMmE5ZjYxYjM3OC4uYTc3
ZjZmMGRjODFlYTk1OGY2NTIxNmE1MDI2ZTg3ZDBjZmMzN2RjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRf
dXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL3ZrX2Zvcm1hdF91dGlscy5oCkBAIC05LDEyICs5LDExIEBACiAjaWZuZGVmIExJ
QkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9WS19GT1JNQVRfVVRJTFNfSF8KICNkZWZpbmUgTElCQU5H
TEVfUkVOREVSRVJfVlVMS0FOX1ZLX0ZPUk1BVF9VVElMU19IXwogCi0jaW5jbHVkZSAidm9say5o
IgotCiAjaW5jbHVkZSAibGliQU5HTEUvZm9ybWF0dXRpbHMuaCIKICNpbmNsdWRlICJsaWJBTkdM
RS9yZW5kZXJlci9Gb3JtYXQuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9jb3B5dmVy
dGV4LmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMuaCIKKyNp
bmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgogI2luY2x1ZGUg
InBsYXRmb3JtL0ZlYXR1cmVzVmsuaCIKIAogI2luY2x1ZGUgPGFycmF5PgpAQCAtMTY5LDYgKzE2
OCwxNTQgQEAgdm9pZCBNYXBTd2l6emxlU3RhdGUoY29uc3QgQ29udGV4dFZrICpjb250ZXh0Vmss
CiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sIHNpemVkLAogICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgZ2w6OlN3aXp6bGVTdGF0ZSAmc3dpenpsZVN0YXRlLAogICAgICAgICAgICAg
ICAgICAgICAgZ2w6OlN3aXp6bGVTdGF0ZSAqc3dpenpsZVN0YXRlT3V0KTsKKworbmFtZXNwYWNl
IHZrCit7CisKK0FOR0xFX0lOTElORSBWa0Zvcm1hdCBDb252ZXJ0VG9Ob25MaW5lYXIoVmtGb3Jt
YXQgZm9ybWF0KQoreworICAgIHN3aXRjaCAoZm9ybWF0KQorICAgIHsKKyAgICAgICAgY2FzZSBW
S19GT1JNQVRfUjhfVU5PUk06CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX1I4X1NSR0I7
CisgICAgICAgIGNhc2UgVktfRk9STUFUX1I4RzhfVU5PUk06CisgICAgICAgICAgICByZXR1cm4g
VktfRk9STUFUX1I4RzhfU1JHQjsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfUjhHOEI4X1VOT1JN
OgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9SOEc4QjhfU1JHQjsKKyAgICAgICAgY2Fz
ZSBWS19GT1JNQVRfQjhHOFI4X1VOT1JNOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9C
OEc4UjhfU1JHQjsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfUjhHOEI4QThfVU5PUk06CisgICAg
ICAgICAgICByZXR1cm4gVktfRk9STUFUX1I4RzhCOEE4X1NSR0I7CisgICAgICAgIGNhc2UgVktf
Rk9STUFUX0I4RzhSOEE4X1VOT1JNOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9COEc4
UjhBOF9TUkdCOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9CQzFfUkdCX1VOT1JNX0JMT0NLOgor
ICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9CQzFfUkdCX1NSR0JfQkxPQ0s7CisgICAgICAg
IGNhc2UgVktfRk9STUFUX0JDMV9SR0JBX1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJu
IFZLX0ZPUk1BVF9CQzFfUkdCQV9TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9C
QzJfVU5PUk1fQkxPQ0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0JDMl9TUkdCX0JM
T0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9CQzNfVU5PUk1fQkxPQ0s6CisgICAgICAgICAg
ICByZXR1cm4gVktfRk9STUFUX0JDM19TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1B
VF9CQzdfVU5PUk1fQkxPQ0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0JDN19TUkdC
X0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9FVEMyX1I4RzhCOF9VTk9STV9CTE9DSzoK
KyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfRVRDMl9SOEc4QjhfU1JHQl9CTE9DSzsKKyAg
ICAgICAgY2FzZSBWS19GT1JNQVRfRVRDMl9SOEc4QjhBMV9VTk9STV9CTE9DSzoKKyAgICAgICAg
ICAgIHJldHVybiBWS19GT1JNQVRfRVRDMl9SOEc4QjhBMV9TUkdCX0JMT0NLOworICAgICAgICBj
YXNlIFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEE4X1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0
dXJuIFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEE4X1NSR0JfQkxPQ0s7CisgICAgICAgIGNhc2UgVktf
Rk9STUFUX0FTVENfNHg0X1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1B
VF9BU1RDXzR4NF9TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzV4NF9V
Tk9STV9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ181eDRfU1JHQl9C
TE9DSzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfQVNUQ181eDVfVU5PUk1fQkxPQ0s6CisgICAg
ICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfNXg1X1NSR0JfQkxPQ0s7CisgICAgICAgIGNh
c2UgVktfRk9STUFUX0FTVENfNng1X1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZL
X0ZPUk1BVF9BU1RDXzZ4NV9TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RD
XzZ4Nl9VTk9STV9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ182eDZf
U1JHQl9CTE9DSzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfQVNUQ184eDVfVU5PUk1fQkxPQ0s6
CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfOHg1X1NSR0JfQkxPQ0s7CisgICAg
ICAgIGNhc2UgVktfRk9STUFUX0FTVENfOHg2X1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0
dXJuIFZLX0ZPUk1BVF9BU1RDXzh4Nl9TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1B
VF9BU1RDXzh4OF9VTk9STV9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNU
Q184eDhfU1JHQl9CTE9DSzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfQVNUQ18xMHg1X1VOT1JN
X0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzEweDVfU1JHQl9CTE9D
SzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfQVNUQ18xMHg2X1VOT1JNX0JMT0NLOgorICAgICAg
ICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzEweDZfU1JHQl9CTE9DSzsKKyAgICAgICAgY2Fz
ZSBWS19GT1JNQVRfQVNUQ18xMHg4X1VOT1JNX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZL
X0ZPUk1BVF9BU1RDXzEweDhfU1JHQl9CTE9DSzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRfQVNU
Q18xMHgxMF9VTk9STV9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ18x
MHgxMF9TUkdCX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzEyeDEwX1VOT1JN
X0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzEyeDEwX1NSR0JfQkxP
Q0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0FTVENfMTJ4MTJfVU5PUk1fQkxPQ0s6CisgICAg
ICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfMTJ4MTJfU1JHQl9CTE9DSzsKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfVU5ERUZJTkVEOworICAgIH0K
K30KKworQU5HTEVfSU5MSU5FIFZrRm9ybWF0IENvbnZlcnRUb0xpbmVhcihWa0Zvcm1hdCBmb3Jt
YXQpCit7CisgICAgc3dpdGNoIChmb3JtYXQpCisgICAgeworICAgICAgICBjYXNlIFZLX0ZPUk1B
VF9SOF9TUkdCOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9SOF9VTk9STTsKKyAgICAg
ICAgY2FzZSBWS19GT1JNQVRfUjhHOF9TUkdCOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1B
VF9SOEc4X1VOT1JNOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9SOEc4QjhfU1JHQjoKKyAgICAg
ICAgICAgIHJldHVybiBWS19GT1JNQVRfUjhHOEI4X1VOT1JNOworICAgICAgICBjYXNlIFZLX0ZP
Uk1BVF9COEc4UjhfU1JHQjoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQjhHOFI4X1VO
T1JNOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9SOEc4QjhBOF9TUkdCOgorICAgICAgICAgICAg
cmV0dXJuIFZLX0ZPUk1BVF9SOEc4QjhBOF9VTk9STTsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRf
QjhHOFI4QThfU1JHQjoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQjhHOFI4QThfVU5P
Uk07CisgICAgICAgIGNhc2UgVktfRk9STUFUX0JDMV9SR0JfU1JHQl9CTE9DSzoKKyAgICAgICAg
ICAgIHJldHVybiBWS19GT1JNQVRfQkMxX1JHQl9VTk9STV9CTE9DSzsKKyAgICAgICAgY2FzZSBW
S19GT1JNQVRfQkMxX1JHQkFfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JN
QVRfQkMxX1JHQkFfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0JDMl9TUkdC
X0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9CQzJfVU5PUk1fQkxPQ0s7Cisg
ICAgICAgIGNhc2UgVktfRk9STUFUX0JDM19TUkdCX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJu
IFZLX0ZPUk1BVF9CQzNfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0JDN19T
UkdCX0JMT0NLOgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9CQzdfVU5PUk1fQkxPQ0s7
CisgICAgICAgIGNhc2UgVktfRk9STUFUX0VUQzJfUjhHOEI4X1NSR0JfQkxPQ0s6CisgICAgICAg
ICAgICByZXR1cm4gVktfRk9STUFUX0VUQzJfUjhHOEI4X1VOT1JNX0JMT0NLOworICAgICAgICBj
YXNlIFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEExX1NSR0JfQkxPQ0s6CisgICAgICAgICAgICByZXR1
cm4gVktfRk9STUFUX0VUQzJfUjhHOEI4QTFfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktf
Rk9STUFUX0VUQzJfUjhHOEI4QThfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19G
T1JNQVRfRVRDMl9SOEc4QjhBOF9VTk9STV9CTE9DSzsKKyAgICAgICAgY2FzZSBWS19GT1JNQVRf
QVNUQ180eDRfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ180
eDRfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0FTVENfNXg0X1NSR0JfQkxP
Q0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfNXg0X1VOT1JNX0JMT0NLOwor
ICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzV4NV9TUkdCX0JMT0NLOgorICAgICAgICAgICAg
cmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzV4NV9VTk9STV9CTE9DSzsKKyAgICAgICAgY2FzZSBWS19G
T1JNQVRfQVNUQ182eDVfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRf
QVNUQ182eDVfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0FTVENfNng2X1NS
R0JfQkxPQ0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfNng2X1VOT1JNX0JM
T0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzh4NV9TUkdCX0JMT0NLOgorICAgICAg
ICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzh4NV9VTk9STV9CTE9DSzsKKyAgICAgICAgY2Fz
ZSBWS19GT1JNQVRfQVNUQ184eDZfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19G
T1JNQVRfQVNUQ184eDZfVU5PUk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0FTVENf
OHg4X1NSR0JfQkxPQ0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfOHg4X1VO
T1JNX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzEweDVfU1JHQl9CTE9DSzoK
KyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ18xMHg1X1VOT1JNX0JMT0NLOworICAg
ICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzEweDZfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJl
dHVybiBWS19GT1JNQVRfQVNUQ18xMHg2X1VOT1JNX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZP
Uk1BVF9BU1RDXzEweDhfU1JHQl9CTE9DSzoKKyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRf
QVNUQ18xMHg4X1VOT1JNX0JMT0NLOworICAgICAgICBjYXNlIFZLX0ZPUk1BVF9BU1RDXzEweDEw
X1NSR0JfQkxPQ0s6CisgICAgICAgICAgICByZXR1cm4gVktfRk9STUFUX0FTVENfMTB4MTBfVU5P
Uk1fQkxPQ0s7CisgICAgICAgIGNhc2UgVktfRk9STUFUX0FTVENfMTJ4MTBfU1JHQl9CTE9DSzoK
KyAgICAgICAgICAgIHJldHVybiBWS19GT1JNQVRfQVNUQ18xMngxMF9VTk9STV9CTE9DSzsKKyAg
ICAgICAgY2FzZSBWS19GT1JNQVRfQVNUQ18xMngxMl9TUkdCX0JMT0NLOgorICAgICAgICAgICAg
cmV0dXJuIFZLX0ZPUk1BVF9BU1RDXzEyeDEyX1VOT1JNX0JMT0NLOworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgcmV0dXJuIFZLX0ZPUk1BVF9VTkRFRklORUQ7CisgICAgfQorfQorCitB
TkdMRV9JTkxJTkUgYm9vbCBJc05vbkxpbmVhckZvcm1hdChWa0Zvcm1hdCBmb3JtYXQpCit7Cisg
ICAgcmV0dXJuIENvbnZlcnRUb0xpbmVhcihmb3JtYXQpICE9IFZLX0ZPUk1BVF9VTkRFRklORUQ7
Cit9CitBTkdMRV9JTkxJTkUgYm9vbCBJc092ZXJyaWRhYmxlTGluZWFyRm9ybWF0KFZrRm9ybWF0
IGZvcm1hdCkKK3sKKyAgICByZXR1cm4gQ29udmVydFRvTm9uTGluZWFyKGZvcm1hdCkgIT0gVktf
Rk9STUFUX1VOREVGSU5FRDsKK30KK0FOR0xFX0lOTElORSBib29sIElzTGluZWFyRm9ybWF0KFZr
Rm9ybWF0IGZvcm1hdCkKK3sKKyAgICByZXR1cm4gIUlzTm9uTGluZWFyRm9ybWF0KGZvcm1hdCk7
Cit9CisKK30gIC8vIG5hbWVzcGFjZSB2awogfSAgLy8gbmFtZXNwYWNlIHJ4CiAKICNlbmRpZiAg
Ly8gTElCQU5HTEVfUkVOREVSRVJfVlVMS0FOX1ZLX0ZPUk1BVF9VVElMU19IXwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92
a19nb29nbGVfZmlsdGVyaW5nX3ByZWNpc2lvbi5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19nb29nbGVfZmlsdGVyaW5nX3ByZWNpc2lv
bi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFiNzA3OTVlNDhiNjU3YjI3ZTZiMDBlY2M4ZTllOTBhY2NmN2Q4ZTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL3ZrX2dvb2dsZV9maWx0ZXJpbmdfcHJlY2lzaW9uLmgKQEAgLTAsMCAr
MSw1MiBAQAorLy8gQ29weXJpZ2h0IDIwMjAgVGhlIFN3aWZ0U2hhZGVyIEF1dGhvcnMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisvLworLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNl
LCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisvLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBm
aWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisvLyBZb3UgbWF5IG9i
dGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICBodHRwOi8vd3d3LmFwYWNo
ZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBw
bGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmli
dXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lT
LAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhl
ciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZp
YyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUgTGljZW5zZS4KKworI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19o
ZWFkZXJzLmgiCisKKy8vIFRISVMgRklMRSBTSE9VTEQgQkUgREVMRVRFRCBJRiBWS19HT09HTEVf
c2FtcGxlcl9maWx0ZXJpbmdfcHJlY2lzaW9uIElTIEVWRVIgQURERUQgVE8gVEhFIFZVTEtBTgor
Ly8gSEVBREVSUworI2lmZGVmIFZLX0dPT0dMRV9zYW1wbGVyX2ZpbHRlcmluZ19wcmVjaXNpb24K
KyMgICAgZXJyb3IgXAorICAgICAgICAiVktfR09PR0xFX3NhbXBsZXJfZmlsdGVyaW5nX3ByZWNp
c2lvbiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIFZ1bGthbiBoZWFkZXJzLCB5b3UgY2FuIGRl
bGV0ZSB0aGlzIGZpbGUiCisjZW5kaWYKKworc3RhdGljIGNvbnN0ZXhwciBWa1N0cnVjdHVyZVR5
cGUgVktfU1RSVUNUVVJFX1RZUEVfU0FNUExFUl9GSUxURVJJTkdfUFJFQ0lTSU9OX0dPT0dMRSA9
CisgICAgc3RhdGljX2Nhc3Q8VmtTdHJ1Y3R1cmVUeXBlPigxMDAwMjY0MDAwKTsKKworI2RlZmlu
ZSBWS19HT09HTEVfc2FtcGxlcl9maWx0ZXJpbmdfcHJlY2lzaW9ucyAxCisjZGVmaW5lIFZLX0dP
T0dMRV9TQU1QTEVSX0ZJTFRFUklOR19QUkVDSVNJT05fU1BFQ19WRVJTSU9OIDEKKyNkZWZpbmUg
VktfR09PR0xFX1NBTVBMRVJfRklMVEVSSU5HX1BSRUNJU0lPTl9FWFRFTlNJT05fTkFNRSAiVktf
R09PR0xFX3NhbXBsZXJfZmlsdGVyaW5nX3ByZWNpc2lvbiIKKworY29uc3QgaW50IFRFWFRVUkVf
RklMVEVSSU5HX0hJTlRfQ0hST01JVU0gPSAweDhBRjA7CisKK3R5cGVkZWYgZW51bSBWa1NhbXBs
ZXJGaWx0ZXJpbmdQcmVjaXNpb25Nb2RlR09PR0xFCit7CisgICAgVktfU0FNUExFUl9GSUxURVJJ
TkdfUFJFQ0lTSU9OX01PREVfTE9XX0dPT0dMRSAgPSAwLAorICAgIFZLX1NBTVBMRVJfRklMVEVS
SU5HX1BSRUNJU0lPTl9NT0RFX0hJR0hfR09PR0xFID0gMSwKKyAgICBWS19TQU1QTEVSX0ZJTFRF
UklOR19QUkVDSVNJT05fTU9ERV9CRUdJTl9SQU5HRV9HT09HTEUgPQorICAgICAgICBWS19TQU1Q
TEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9MT1dfR09PR0xFLAorICAgIFZLX1NBTVBMRVJf
RklMVEVSSU5HX1BSRUNJU0lPTl9NT0RFX0VORF9SQU5HRV9HT09HTEUgPQorICAgICAgICBWS19T
QU1QTEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9ISUdIX0dPT0dMRSwKKyAgICBWS19TQU1Q
TEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9SQU5HRV9TSVpFX0dPT0dMRSA9CisgICAgICAg
IChWS19TQU1QTEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9ISUdIX0dPT0dMRSAtCisgICAg
ICAgICBWS19TQU1QTEVSX0ZJTFRFUklOR19QUkVDSVNJT05fTU9ERV9MT1dfR09PR0xFICsgMSks
CisgICAgVktfU0FNUExFUl9GSUxURVJJTkdfUFJFQ0lTSU9OX01PREVfTUFYX0VOVU1fR09PR0xF
ID0gMHg3RkZGRkZGRgorfSBWa1NhbXBsZXJGaWx0ZXJpbmdQcmVjaXNpb25Nb2RlR09PR0xFOwor
Cit0eXBlZGVmIHN0cnVjdCBWa1NhbXBsZXJGaWx0ZXJpbmdQcmVjaXNpb25HT09HTEUKK3sKKyAg
ICBWa1N0cnVjdHVyZVR5cGUgc1R5cGU7CisgICAgY29uc3Qgdm9pZCAqcE5leHQ7CisgICAgVmtT
YW1wbGVyRmlsdGVyaW5nUHJlY2lzaW9uTW9kZUdPT0dMRSBzYW1wbGVyRmlsdGVyaW5nUHJlY2lz
aW9uTW9kZTsKK30gVmtTYW1wbGVyRmlsdGVyaW5nUHJlY2lzaW9uR09PR0xFOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92
a19oZWFkZXJzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL3ZrX2hlYWRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzMxNmVjOGM5Y2VlMmU2ODdmMzZm
M2ZiZGM3ZjU2Mjg3ZDExYzYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWFkZXJzLmgKQEAgLTAsMCAr
MSw4NSBAQAorLy8KKy8vIENvcHlyaWdodCAyMDE2IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLy8KKy8vIHZrX2hlYWRlcnM6CisvLyAgICBUaGlzIGZpbGUgc2hvdWxk
IGJlIGluY2x1ZGVkIHRvIGVuc3VyZSB0aGUgdnVsa2FuIGhlYWRlcnMgYXJlIGluY2x1ZGVkCisv
LworCisjaWZuZGVmIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9WS19IRUFERVJTX0hfCisjZGVm
aW5lIExJQkFOR0xFX1JFTkRFUkVSX1ZVTEtBTl9WS19IRUFERVJTX0hfCisKKyNpZiBBTkdMRV9T
SEFSRURfTElCVlVMS0FOCisjICAgIGluY2x1ZGUgInRoaXJkX3BhcnR5L3ZvbGsvdm9say5oIgor
I2Vsc2UKKyMgICAgaW5jbHVkZSA8dnVsa2FuL3Z1bGthbi5oPgorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChBTkdMRV9TSEFSRURfTElCVlVMS0FOKQorCituYW1lc3BhY2UgcngKK3sKKy8vIFZLX0VY
VF9kZWJ1Z191dGlscworZXh0ZXJuIFBGTl92a0NyZWF0ZURlYnVnVXRpbHNNZXNzZW5nZXJFWFQg
dmtDcmVhdGVEZWJ1Z1V0aWxzTWVzc2VuZ2VyRVhUOworZXh0ZXJuIFBGTl92a0Rlc3Ryb3lEZWJ1
Z1V0aWxzTWVzc2VuZ2VyRVhUIHZrRGVzdHJveURlYnVnVXRpbHNNZXNzZW5nZXJFWFQ7CitleHRl
cm4gUEZOX3ZrQ21kQmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQgdmtDbWRCZWdpbkRlYnVnVXRpbHNM
YWJlbEVYVDsKK2V4dGVybiBQRk5fdmtDbWRFbmREZWJ1Z1V0aWxzTGFiZWxFWFQgdmtDbWRFbmRE
ZWJ1Z1V0aWxzTGFiZWxFWFQ7CitleHRlcm4gUEZOX3ZrQ21kSW5zZXJ0RGVidWdVdGlsc0xhYmVs
RVhUIHZrQ21kSW5zZXJ0RGVidWdVdGlsc0xhYmVsRVhUOworCisvLyBWS19FWFRfZGVidWdfcmVw
b3J0CitleHRlcm4gUEZOX3ZrQ3JlYXRlRGVidWdSZXBvcnRDYWxsYmFja0VYVCB2a0NyZWF0ZURl
YnVnUmVwb3J0Q2FsbGJhY2tFWFQ7CitleHRlcm4gUEZOX3ZrRGVzdHJveURlYnVnUmVwb3J0Q2Fs
bGJhY2tFWFQgdmtEZXN0cm95RGVidWdSZXBvcnRDYWxsYmFja0VYVDsKKworLy8gVktfS0hSX2dl
dF9waHlzaWNhbF9kZXZpY2VfcHJvcGVydGllczIKK2V4dGVybiBQRk5fdmtHZXRQaHlzaWNhbERl
dmljZVByb3BlcnRpZXMyS0hSIHZrR2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzMktIUjsKK2V4
dGVybiBQRk5fdmtHZXRQaHlzaWNhbERldmljZUZlYXR1cmVzMktIUiB2a0dldFBoeXNpY2FsRGV2
aWNlRmVhdHVyZXMyS0hSOworCisvLyBWS19LSFJfZXh0ZXJuYWxfc2VtYXBob3JlX2ZkCitleHRl
cm4gUEZOX3ZrSW1wb3J0U2VtYXBob3JlRmRLSFIgdmtJbXBvcnRTZW1hcGhvcmVGZEtIUjsKKwor
Ly8gVktfRVhUX2V4dGVybmFsX21lbW9yeV9ob3N0CitleHRlcm4gUEZOX3ZrR2V0TWVtb3J5SG9z
dFBvaW50ZXJQcm9wZXJ0aWVzRVhUIHZrR2V0TWVtb3J5SG9zdFBvaW50ZXJQcm9wZXJ0aWVzRVhU
OworCisvLyBWS19FWFRfdHJhbnNmb3JtX2ZlZWRiYWNrCitleHRlcm4gUEZOX3ZrQ21kQmluZFRy
YW5zZm9ybUZlZWRiYWNrQnVmZmVyc0VYVCB2a0NtZEJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZl
cnNFWFQ7CitleHRlcm4gUEZOX3ZrQ21kQmVnaW5UcmFuc2Zvcm1GZWVkYmFja0VYVCB2a0NtZEJl
Z2luVHJhbnNmb3JtRmVlZGJhY2tFWFQ7CitleHRlcm4gUEZOX3ZrQ21kRW5kVHJhbnNmb3JtRmVl
ZGJhY2tFWFQgdmtDbWRFbmRUcmFuc2Zvcm1GZWVkYmFja0VYVDsKK2V4dGVybiBQRk5fdmtDbWRC
ZWdpblF1ZXJ5SW5kZXhlZEVYVCB2a0NtZEJlZ2luUXVlcnlJbmRleGVkRVhUOworZXh0ZXJuIFBG
Tl92a0NtZEVuZFF1ZXJ5SW5kZXhlZEVYVCB2a0NtZEVuZFF1ZXJ5SW5kZXhlZEVYVDsKK2V4dGVy
biBQRk5fdmtDbWREcmF3SW5kaXJlY3RCeXRlQ291bnRFWFQgdmtDbWREcmF3SW5kaXJlY3RCeXRl
Q291bnRFWFQ7CisKK2V4dGVybiBQRk5fdmtHZXRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMyS0hS
IHZrR2V0QnVmZmVyTWVtb3J5UmVxdWlyZW1lbnRzMktIUjsKK2V4dGVybiBQRk5fdmtHZXRJbWFn
ZU1lbW9yeVJlcXVpcmVtZW50czJLSFIgdmtHZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50czJLSFI7
CisKKy8vIFZLX0tIUl9leHRlcm5hbF9mZW5jZV9jYXBhYmlsaXRpZXMKK2V4dGVybiBQRk5fdmtH
ZXRQaHlzaWNhbERldmljZUV4dGVybmFsRmVuY2VQcm9wZXJ0aWVzS0hSCisgICAgdmtHZXRQaHlz
aWNhbERldmljZUV4dGVybmFsRmVuY2VQcm9wZXJ0aWVzS0hSOworCisvLyBWS19LSFJfZXh0ZXJu
YWxfZmVuY2VfZmQKK2V4dGVybiBQRk5fdmtHZXRGZW5jZUZkS0hSIHZrR2V0RmVuY2VGZEtIUjsK
K2V4dGVybiBQRk5fdmtJbXBvcnRGZW5jZUZkS0hSIHZrSW1wb3J0RmVuY2VGZEtIUjsKKworLy8g
VktfS0hSX2V4dGVybmFsX3NlbWFwaG9yZV9jYXBhYmlsaXRpZXMKK2V4dGVybiBQRk5fdmtHZXRQ
aHlzaWNhbERldmljZUV4dGVybmFsU2VtYXBob3JlUHJvcGVydGllc0tIUgorICAgIHZrR2V0UGh5
c2ljYWxEZXZpY2VFeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRpZXNLSFI7CisKKyMgICAgaWYgZGVm
aW5lZChBTkdMRV9QTEFURk9STV9GVUNIU0lBKQorLy8gVktfRlVDSFNJQV9pbWFnZXBpcGVfc3Vy
ZmFjZQorZXh0ZXJuIFBGTl92a0NyZWF0ZUltYWdlUGlwZVN1cmZhY2VGVUNIU0lBIHZrQ3JlYXRl
SW1hZ2VQaXBlU3VyZmFjZUZVQ0hTSUE7CisjICAgIGVuZGlmCisKKyMgICAgaWYgZGVmaW5lZChB
TkdMRV9QTEFURk9STV9BTkRST0lEKQorZXh0ZXJuIFBGTl92a0dldEFuZHJvaWRIYXJkd2FyZUJ1
ZmZlclByb3BlcnRpZXNBTkRST0lEIHZrR2V0QW5kcm9pZEhhcmR3YXJlQnVmZmVyUHJvcGVydGll
c0FORFJPSUQ7CitleHRlcm4gUEZOX3ZrR2V0TWVtb3J5QW5kcm9pZEhhcmR3YXJlQnVmZmVyQU5E
Uk9JRCB2a0dldE1lbW9yeUFuZHJvaWRIYXJkd2FyZUJ1ZmZlckFORFJPSUQ7CisjICAgIGVuZGlm
CisKKyMgICAgaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9HR1ApCitleHRlcm4gUEZOX3ZrQ3Jl
YXRlU3RyZWFtRGVzY3JpcHRvclN1cmZhY2VHR1AgdmtDcmVhdGVTdHJlYW1EZXNjcmlwdG9yU3Vy
ZmFjZUdHUDsKKyMgICAgZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfUExBVEZPUk1fR0dQKQorCit9
ICAvLyBuYW1lc3BhY2UgcngKKworI2VuZGlmICAvLyBBTkdMRV9TSEFSRURfTElCVlVMS0FOCisK
KyNlbmRpZiAgLy8gTElCQU5HTEVfUkVOREVSRVJfVlVMS0FOX1ZLX0hFQURFUlNfSF8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfaGVscGVycy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL3ZrX2hlbHBlcnMuY3BwCmluZGV4IGZhYzQ2NjNmODQ4ZmNmYzIyODlm
YzM0NTYyYWMzNjliNTczOTY1MmYuLmZmNzI2NzFmOGE1NTAxNjFjNTkwZmQ3ZjBmZWYzZDAzMzQy
NDUzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWxwZXJzLmNwcApAQCAtMjcsMTMg
KzI3LDEzIEBAIG5hbWVzcGFjZSB2awogewogbmFtZXNwYWNlCiB7Ci0vLyBXZWJHTCByZXF1aXJl
cyBjb2xvciB0ZXh0dXJlcyB0byBiZSBpbml0aWFsaXplZCB0byB0cmFuc3BhcmVudCBibGFjay4K
LWNvbnN0ZXhwciBWa0NsZWFyQ29sb3JWYWx1ZSBrV2ViR0xJbml0Q29sb3JWYWx1ZSA9IHt7MCwg
MCwgMCwgMH19OworLy8gQU5HTEVfcm9idXN0X3Jlc291cmNlX2luaXRpYWxpemF0aW9uIHJlcXVp
cmVzIGNvbG9yIHRleHR1cmVzIHRvIGJlIGluaXRpYWxpemVkIHRvIHplcm8uCitjb25zdGV4cHIg
VmtDbGVhckNvbG9yVmFsdWUga1JvYnVzdEluaXRDb2xvclZhbHVlID0ge3swLCAwLCAwLCAwfX07
CiAvLyBXaGVuIGVtdWxhdGluZyBhIHRleHR1cmUsIHdlIHdhbnQgdGhlIGVtdWxhdGVkIGNoYW5u
ZWxzIHRvIGJlIDAsIHdpdGggYWxwaGEgMS4KIGNvbnN0ZXhwciBWa0NsZWFyQ29sb3JWYWx1ZSBr
RW11bGF0ZWRJbml0Q29sb3JWYWx1ZSA9IHt7MCwgMCwgMCwgMS4wZn19OwotLy8gV2ViR0wgcmVx
dWlyZXMgZGVwdGgvc3RlbmNpbCB0ZXh0dXJlcyB0byBiZSBpbml0aWFsaXplZCB0byBkZXB0aD0x
LCBzdGVuY2lsPTAuICBXZSBhcmUgZmluZSB3aXRoCi0vLyB0aGVzZSB2YWx1ZXMgZm9yIGVtdWxh
dGVkIGRlcHRoL3N0ZW5jaWwgdGV4dHVyZXMgdG9vLgotY29uc3RleHByIFZrQ2xlYXJEZXB0aFN0
ZW5jaWxWYWx1ZSBrV2ViR0xJbml0RGVwdGhTdGVuY2lsVmFsdWUgPSB7MS4wZiwgMH07CisvLyBB
TkdMRV9yb2J1c3RfcmVzb3VyY2VfaW5pdGlhbGl6YXRpb24gcmVxdWlyZXMgZGVwdGggdG8gYmUg
aW5pdGlhbGl6ZWQgdG8gMSBhbmQgc3RlbmNpbCB0byAwLgorLy8gV2UgYXJlIGZpbmUgd2l0aCB0
aGVzZSB2YWx1ZXMgZm9yIGVtdWxhdGVkIGRlcHRoL3N0ZW5jaWwgdGV4dHVyZXMgdG9vLgorY29u
c3RleHByIFZrQ2xlYXJEZXB0aFN0ZW5jaWxWYWx1ZSBrUm9idXN0SW5pdERlcHRoU3RlbmNpbFZh
bHVlID0gezEuMGYsIDB9OwogCiBjb25zdGV4cHIgVmtCdWZmZXJVc2FnZUZsYWdzIGtMaW5lTG9v
cER5bmFtaWNCdWZmZXJVc2FnZSA9IFZLX0JVRkZFUl9VU0FHRV9JTkRFWF9CVUZGRVJfQklUIHwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVktfQlVGRkVSX1VTQUdFX1RSQU5TRkVSX0RTVF9CSVQgfApAQCAtNDcsNiArNDcsMjIgQEAg
Y29uc3RleHByIGludCBrTGluZUxvb3BEeW5hbWljSW5kaXJlY3RCdWZmZXJJbml0aWFsU2l6ZSA9
IHNpemVvZihWa0RyYXdJbmRpcmVjdEMKIC8vIFRoaXMgaXMgYW4gYXJiaXRyYXJ5IG1heC4gV2Ug
Y2FuIGNoYW5nZSB0aGlzIGxhdGVyIGlmIG5lY2Vzc2FyeS4KIGNvbnN0ZXhwciB1aW50MzJfdCBr
RGVmYXVsdERlc2NyaXB0b3JQb29sTWF4U2V0cyA9IDEyODsKIAorY29uc3RleHByIGFuZ2xlOjpQ
YWNrZWRFbnVtTWFwPFBpcGVsaW5lU3RhZ2UsIFZrUGlwZWxpbmVTdGFnZUZsYWdCaXRzPiBrUGlw
ZWxpbmVTdGFnZUZsYWdCaXRNYXAgPSB7CisgICAge1BpcGVsaW5lU3RhZ2U6OlRvcE9mUGlwZSwg
VktfUElQRUxJTkVfU1RBR0VfVE9QX09GX1BJUEVfQklUfSwKKyAgICB7UGlwZWxpbmVTdGFnZTo6
RHJhd0luZGlyZWN0LCBWS19QSVBFTElORV9TVEFHRV9EUkFXX0lORElSRUNUX0JJVH0sCisgICAg
e1BpcGVsaW5lU3RhZ2U6OlZlcnRleElucHV0LCBWS19QSVBFTElORV9TVEFHRV9WRVJURVhfSU5Q
VVRfQklUfSwKKyAgICB7UGlwZWxpbmVTdGFnZTo6VmVydGV4U2hhZGVyLCBWS19QSVBFTElORV9T
VEFHRV9WRVJURVhfU0hBREVSX0JJVH0sCisgICAge1BpcGVsaW5lU3RhZ2U6Okdlb21ldHJ5U2hh
ZGVyLCBWS19QSVBFTElORV9TVEFHRV9HRU9NRVRSWV9TSEFERVJfQklUfSwKKyAgICB7UGlwZWxp
bmVTdGFnZTo6VHJhbnNmb3JtRmVlZGJhY2ssIFZLX1BJUEVMSU5FX1NUQUdFX1RSQU5TRk9STV9G
RUVEQkFDS19CSVRfRVhUfSwKKyAgICB7UGlwZWxpbmVTdGFnZTo6RWFybHlGcmFnbWVudFRlc3Qs
IFZLX1BJUEVMSU5FX1NUQUdFX0VBUkxZX0ZSQUdNRU5UX1RFU1RTX0JJVH0sCisgICAge1BpcGVs
aW5lU3RhZ2U6OkZyYWdtZW50U2hhZGVyLCBWS19QSVBFTElORV9TVEFHRV9GUkFHTUVOVF9TSEFE
RVJfQklUfSwKKyAgICB7UGlwZWxpbmVTdGFnZTo6TGF0ZUZyYWdtZW50VGVzdCwgVktfUElQRUxJ
TkVfU1RBR0VfTEFURV9GUkFHTUVOVF9URVNUU19CSVR9LAorICAgIHtQaXBlbGluZVN0YWdlOjpD
b2xvckF0dGFjaG1lbnRPdXRwdXQsIFZLX1BJUEVMSU5FX1NUQUdFX0NPTE9SX0FUVEFDSE1FTlRf
T1VUUFVUX0JJVH0sCisgICAge1BpcGVsaW5lU3RhZ2U6OkNvbXB1dGVTaGFkZXIsIFZLX1BJUEVM
SU5FX1NUQUdFX0NPTVBVVEVfU0hBREVSX0JJVH0sCisgICAge1BpcGVsaW5lU3RhZ2U6OlRyYW5z
ZmVyLCBWS19QSVBFTElORV9TVEFHRV9UUkFOU0ZFUl9CSVR9LAorICAgIHtQaXBlbGluZVN0YWdl
OjpCb3R0b21PZlBpcGUsIFZLX1BJUEVMSU5FX1NUQUdFX0JPVFRPTV9PRl9QSVBFX0JJVH0sCisg
ICAge1BpcGVsaW5lU3RhZ2U6Okhvc3QsIFZLX1BJUEVMSU5FX1NUQUdFX0hPU1RfQklUfX07CisK
IHN0cnVjdCBJbWFnZU1lbW9yeUJhcnJpZXJEYXRhCiB7CiAgICAgLy8gVGhlIFZrIGxheW91dCBj
b3JyZXNwb25kaW5nIHRvIHRoZSBJbWFnZUxheW91dCBrZXkuCkBAIC02OCw4ICs4NCwxNyBAQCBz
dHJ1Y3QgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YQogICAgIC8vCiAgICAgLy8gT3RoZXJ3aXNlLCBz
b21lIHNhbWUtbGF5b3V0IHRyYW5zaXRpb25zIHJlcXVpcmUgYSBtZW1vcnkgYmFycmllci4KICAg
ICBib29sIHNhbWVMYXlvdXRUcmFuc2l0aW9uUmVxdWlyZXNCYXJyaWVyOworICAgIC8vIENvbW1h
bmRCdWZmZXJIZWxwZXIgdHJhY2tzIGFuIGFycmF5IG9mIFBpcGVsaW5lQmFycmllcnMuIFRoaXMg
aW5kaWNhdGVzIHdoaWNoIGFycmF5IGVsZW1lbnQKKyAgICAvLyB0aGlzIHNob3VsZCBiZSBtZXJn
ZWQgaW50by4gUmlnaHQgbm93IHdlIHRyYWNrIGluZGl2aWR1YWwgYmFycmllciBmb3IgZXZlcnkg
UGlwZWxpbmVTdGFnZS4gSWYKKyAgICAvLyBsYXlvdXQgaGFzIGEgc2luZ2xlIHN0YWdlIG1hc2sg
Yml0LCB3ZSB1c2UgdGhhdCBzdGFnZSBhcyBpbmRleC4gSWYgbGF5b3V0IGhhcyBtdWx0aXBsZSBz
dGFnZQorICAgIC8vIG1hc2sgYml0cywgd2UgcGljayB0aGUgbG93ZXN0IHN0YWdlIGFzIHRoZSBp
bmRleCBzaW5jZSBpdCBpcyB0aGUgZmlyc3Qgc3RhZ2UgdGhhdCBuZWVkcworICAgIC8vIGJhcnJp
ZXIuCisgICAgUGlwZWxpbmVTdGFnZSBiYXJyaWVySW5kZXg7CiB9OwogCitjb25zdGV4cHIgVmtQ
aXBlbGluZVN0YWdlRmxhZ3Mga0FsbFNoYWRlcnNQaXBlbGluZVN0YWdlRmxhZ3MgPQorICAgIFZL
X1BJUEVMSU5FX1NUQUdFX1ZFUlRFWF9TSEFERVJfQklUIHwgVktfUElQRUxJTkVfU1RBR0VfRlJB
R01FTlRfU0hBREVSX0JJVCB8CisgICAgVktfUElQRUxJTkVfU1RBR0VfQ09NUFVURV9TSEFERVJf
QklUOwogLy8gY2xhbmctZm9ybWF0IG9mZgogY29uc3RleHByIGFuZ2xlOjpQYWNrZWRFbnVtTWFw
PEltYWdlTGF5b3V0LCBJbWFnZU1lbW9yeUJhcnJpZXJEYXRhPiBrSW1hZ2VNZW1vcnlCYXJyaWVy
RGF0YSA9IHsKICAgICB7CkBAIC04Myw2ICsxMDgsNyBAQCBjb25zdGV4cHIgYW5nbGU6OlBhY2tl
ZEVudW1NYXA8SW1hZ2VMYXlvdXQsIEltYWdlTWVtb3J5QmFycmllckRhdGE+IGtJbWFnZU1lbW9y
eQogICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiB0aGVyZSdzIG5vIGRhdGEgaW4gdGhl
IGltYWdlIHRvIGNhcmUgYWJvdXQuCiAgICAgICAgICAgICAwLAogICAgICAgICAgICAgZmFsc2Us
CisgICAgICAgICAgICBQaXBlbGluZVN0YWdlOjpJbnZhbGlkRW51bSwKICAgICAgICAgfSwKICAg
ICB9LAogICAgIHsKQEAgLTk2LDYgKzEyMiw3IEBAIGNvbnN0ZXhwciBhbmdsZTo6UGFja2VkRW51
bU1hcDxJbWFnZUxheW91dCwgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YT4ga0ltYWdlTWVtb3J5CiAg
ICAgICAgICAgICAvLyBUcmFuc2l0aW9uIGZyb206IGFsbCB3cml0ZXMgbXVzdCBmaW5pc2ggYmVm
b3JlIGJhcnJpZXIuCiAgICAgICAgICAgICBWS19BQ0NFU1NfTUVNT1JZX1dSSVRFX0JJVCwKICAg
ICAgICAgICAgIGZhbHNlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6SW52YWxpZEVudW0s
CiAgICAgICAgIH0sCiAgICAgfSwKICAgICB7CkBAIC0xMDksNiArMTM2LDggQEAgY29uc3RleHBy
IGFuZ2xlOjpQYWNrZWRFbnVtTWFwPEltYWdlTGF5b3V0LCBJbWFnZU1lbW9yeUJhcnJpZXJEYXRh
PiBrSW1hZ2VNZW1vcnkKICAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gZnJvbTogUkFSIGFuZCBX
QVIgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllci4KICAgICAgICAgICAgIDAsCiAgICAgICAgICAg
ICBmYWxzZSwKKyAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgbXVsdGlwbGUgZGVzdGluYXRpb24g
c3RhZ2VzLCBXZSBiYXJyaWVyIHRoZSBlYXJsaWVzdCBzdGFnZQorICAgICAgICAgICAgUGlwZWxp
bmVTdGFnZTo6VG9wT2ZQaXBlLAogICAgICAgICB9LAogICAgIH0sCiAgICAgewpAQCAtMTIyLDYg
KzE1MSw4IEBAIGNvbnN0ZXhwciBhbmdsZTo6UGFja2VkRW51bU1hcDxJbWFnZUxheW91dCwgSW1h
Z2VNZW1vcnlCYXJyaWVyRGF0YT4ga0ltYWdlTWVtb3J5CiAgICAgICAgICAgICAvLyBUcmFuc2l0
aW9uIGZyb206IGFsbCB3cml0ZXMgbXVzdCBmaW5pc2ggYmVmb3JlIGJhcnJpZXIuCiAgICAgICAg
ICAgICBWS19BQ0NFU1NfU0hBREVSX1dSSVRFX0JJVCwKICAgICAgICAgICAgIHRydWUsCisgICAg
ICAgICAgICAvLyBJbiBjYXNlIG9mIG11bHRpcGxlIGRlc3RpbmF0aW9uIHN0YWdlcywgV2UgYmFy
cmllciB0aGUgZWFybGllc3Qgc3RhZ2UKKyAgICAgICAgICAgIFBpcGVsaW5lU3RhZ2U6OlRvcE9m
UGlwZSwKICAgICAgICAgfSwKICAgICB9LAogICAgIHsKQEAgLTEzNSw2ICsxNjYsNyBAQCBjb25z
dGV4cHIgYW5nbGU6OlBhY2tlZEVudW1NYXA8SW1hZ2VMYXlvdXQsIEltYWdlTWVtb3J5QmFycmll
ckRhdGE+IGtJbWFnZU1lbW9yeQogICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiBSQVIg
YW5kIFdBUiBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVyLgogICAgICAgICAgICAgMCwKICAgICAg
ICAgICAgIGZhbHNlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6VHJhbnNmZXIsCiAgICAg
ICAgIH0sCiAgICAgfSwKICAgICB7CkBAIC0xNDgsNiArMTgwLDkxIEBAIGNvbnN0ZXhwciBhbmds
ZTo6UGFja2VkRW51bU1hcDxJbWFnZUxheW91dCwgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YT4ga0lt
YWdlTWVtb3J5CiAgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIGZyb206IGFsbCB3cml0ZXMgbXVz
dCBmaW5pc2ggYmVmb3JlIGJhcnJpZXIuCiAgICAgICAgICAgICBWS19BQ0NFU1NfVFJBTlNGRVJf
V1JJVEVfQklULAogICAgICAgICAgICAgdHJ1ZSwKKyAgICAgICAgICAgIFBpcGVsaW5lU3RhZ2U6
OlRyYW5zZmVyLAorICAgICAgICB9LAorICAgIH0sCisgICAgeworICAgICAgICBJbWFnZUxheW91
dDo6VmVydGV4U2hhZGVyUmVhZE9ubHksCisgICAgICAgIHsKKyAgICAgICAgICAgIFZLX0lNQUdF
X0xBWU9VVF9TSEFERVJfUkVBRF9PTkxZX09QVElNQUwsCisgICAgICAgICAgICBWS19QSVBFTElO
RV9TVEFHRV9WRVJURVhfU0hBREVSX0JJVCwKKyAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdF
X1ZFUlRFWF9TSEFERVJfQklULAorICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiB0bzogYWxsIHJl
YWRzIG11c3QgaGFwcGVuIGFmdGVyIGJhcnJpZXIuCisgICAgICAgICAgICBWS19BQ0NFU1NfU0hB
REVSX1JFQURfQklULAorICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiBSQVIgYW5kIFdB
UiBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVyLgorICAgICAgICAgICAgMCwKKyAgICAgICAgICAg
IGZhbHNlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6VmVydGV4U2hhZGVyLAorICAgICAg
ICB9LAorICAgIH0sCisgICAgeworICAgICAgICBJbWFnZUxheW91dDo6VmVydGV4U2hhZGVyV3Jp
dGUsCisgICAgICAgIHsKKyAgICAgICAgICAgIFZLX0lNQUdFX0xBWU9VVF9HRU5FUkFMLAorICAg
ICAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfVkVSVEVYX1NIQURFUl9CSVQsCisgICAgICAgICAg
ICBWS19QSVBFTElORV9TVEFHRV9WRVJURVhfU0hBREVSX0JJVCwKKyAgICAgICAgICAgIC8vIFRy
YW5zaXRpb24gdG86IGFsbCByZWFkcyBhbmQgd3JpdGVzIG11c3QgaGFwcGVuIGFmdGVyIGJhcnJp
ZXIuCisgICAgICAgICAgICBWS19BQ0NFU1NfU0hBREVSX1JFQURfQklUIHwgVktfQUNDRVNTX1NI
QURFUl9XUklURV9CSVQsCisgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIGZyb206IGFsbCB3cml0
ZXMgbXVzdCBmaW5pc2ggYmVmb3JlIGJhcnJpZXIuCisgICAgICAgICAgICBWS19BQ0NFU1NfU0hB
REVSX1dSSVRFX0JJVCwKKyAgICAgICAgICAgIHRydWUsCisgICAgICAgICAgICBQaXBlbGluZVN0
YWdlOjpWZXJ0ZXhTaGFkZXIsCisgICAgICAgIH0sCisgICAgfSwKKyAgICB7CisgICAgICAgIElt
YWdlTGF5b3V0OjpHZW9tZXRyeVNoYWRlclJlYWRPbmx5LAorICAgICAgICB7CisgICAgICAgICAg
ICBWS19JTUFHRV9MQVlPVVRfU0hBREVSX1JFQURfT05MWV9PUFRJTUFMLAorICAgICAgICAgICAg
VktfUElQRUxJTkVfU1RBR0VfR0VPTUVUUllfU0hBREVSX0JJVCwKKyAgICAgICAgICAgIFZLX1BJ
UEVMSU5FX1NUQUdFX0dFT01FVFJZX1NIQURFUl9CSVQsCisgICAgICAgICAgICAvLyBUcmFuc2l0
aW9uIHRvOiBhbGwgcmVhZHMgbXVzdCBoYXBwZW4gYWZ0ZXIgYmFycmllci4KKyAgICAgICAgICAg
IFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQsCisgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIGZy
b206IFJBUiBhbmQgV0FSIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJpZXIuCisgICAgICAgICAgICAw
LAorICAgICAgICAgICAgZmFsc2UsCisgICAgICAgICAgICBQaXBlbGluZVN0YWdlOjpHZW9tZXRy
eVNoYWRlciwKKyAgICAgICAgfSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgSW1hZ2VMYXlvdXQ6
Okdlb21ldHJ5U2hhZGVyV3JpdGUsCisgICAgICAgIHsKKyAgICAgICAgICAgIFZLX0lNQUdFX0xB
WU9VVF9HRU5FUkFMLAorICAgICAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfR0VPTUVUUllfU0hB
REVSX0JJVCwKKyAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdFX0dFT01FVFJZX1NIQURFUl9C
SVQsCisgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIHRvOiBhbGwgcmVhZHMgYW5kIHdyaXRlcyBt
dXN0IGhhcHBlbiBhZnRlciBiYXJyaWVyLgorICAgICAgICAgICAgVktfQUNDRVNTX1NIQURFUl9S
RUFEX0JJVCB8IFZLX0FDQ0VTU19TSEFERVJfV1JJVEVfQklULAorICAgICAgICAgICAgLy8gVHJh
bnNpdGlvbiBmcm9tOiBhbGwgd3JpdGVzIG11c3QgZmluaXNoIGJlZm9yZSBiYXJyaWVyLgorICAg
ICAgICAgICAgVktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsCisgICAgICAgICAgICB0cnVlLAor
ICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6R2VvbWV0cnlTaGFkZXIsCisgICAgICAgIH0sCisg
ICAgfSwKKyAgICB7CisgICAgICAgIEltYWdlTGF5b3V0OjpGcmFnbWVudFNoYWRlclJlYWRPbmx5
LAorICAgICAgICB7CisgICAgICAgICAgICBWS19JTUFHRV9MQVlPVVRfU0hBREVSX1JFQURfT05M
WV9PUFRJTUFMLAorICAgICAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfRlJBR01FTlRfU0hBREVS
X0JJVCwKKyAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdFX0ZSQUdNRU5UX1NIQURFUl9CSVQs
CisgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIHRvOiBhbGwgcmVhZHMgbXVzdCBoYXBwZW4gYWZ0
ZXIgYmFycmllci4KKyAgICAgICAgICAgIFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQsCisgICAg
ICAgICAgICAvLyBUcmFuc2l0aW9uIGZyb206IFJBUiBhbmQgV0FSIGRvbid0IG5lZWQgbWVtb3J5
IGJhcnJpZXIuCisgICAgICAgICAgICAwLAorICAgICAgICAgICAgZmFsc2UsCisgICAgICAgICAg
ICBQaXBlbGluZVN0YWdlOjpGcmFnbWVudFNoYWRlciwKKyAgICAgICAgfSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgSW1hZ2VMYXlvdXQ6OkZyYWdtZW50U2hhZGVyV3JpdGUsCisgICAgICAgIHsK
KyAgICAgICAgICAgIFZLX0lNQUdFX0xBWU9VVF9HRU5FUkFMLAorICAgICAgICAgICAgVktfUElQ
RUxJTkVfU1RBR0VfRlJBR01FTlRfU0hBREVSX0JJVCwKKyAgICAgICAgICAgIFZLX1BJUEVMSU5F
X1NUQUdFX0ZSQUdNRU5UX1NIQURFUl9CSVQsCisgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIHRv
OiBhbGwgcmVhZHMgYW5kIHdyaXRlcyBtdXN0IGhhcHBlbiBhZnRlciBiYXJyaWVyLgorICAgICAg
ICAgICAgVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJVCB8IFZLX0FDQ0VTU19TSEFERVJfV1JJVEVf
QklULAorICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiBhbGwgd3JpdGVzIG11c3QgZmlu
aXNoIGJlZm9yZSBiYXJyaWVyLgorICAgICAgICAgICAgVktfQUNDRVNTX1NIQURFUl9XUklURV9C
SVQsCisgICAgICAgICAgICB0cnVlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6RnJhZ21l
bnRTaGFkZXIsCiAgICAgICAgIH0sCiAgICAgfSwKICAgICB7CkBAIC0xNjEsNiArMjc4LDcgQEAg
Y29uc3RleHByIGFuZ2xlOjpQYWNrZWRFbnVtTWFwPEltYWdlTGF5b3V0LCBJbWFnZU1lbW9yeUJh
cnJpZXJEYXRhPiBrSW1hZ2VNZW1vcnkKICAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gZnJvbTog
UkFSIGFuZCBXQVIgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllci4KICAgICAgICAgICAgIDAsCiAg
ICAgICAgICAgICBmYWxzZSwKKyAgICAgICAgICAgIFBpcGVsaW5lU3RhZ2U6OkNvbXB1dGVTaGFk
ZXIsCiAgICAgICAgIH0sCiAgICAgfSwKICAgICB7CkBAIC0xNzQsMzIgKzI5MiwzNyBAQCBjb25z
dGV4cHIgYW5nbGU6OlBhY2tlZEVudW1NYXA8SW1hZ2VMYXlvdXQsIEltYWdlTWVtb3J5QmFycmll
ckRhdGE+IGtJbWFnZU1lbW9yeQogICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiBhbGwg
d3JpdGVzIG11c3QgZmluaXNoIGJlZm9yZSBiYXJyaWVyLgogICAgICAgICAgICAgVktfQUNDRVNT
X1NIQURFUl9XUklURV9CSVQsCiAgICAgICAgICAgICB0cnVlLAorICAgICAgICAgICAgdms6OlBp
cGVsaW5lU3RhZ2U6OkNvbXB1dGVTaGFkZXIsCiAgICAgICAgIH0sCiAgICAgfSwKICAgICB7CiAg
ICAgICAgIEltYWdlTGF5b3V0OjpBbGxHcmFwaGljc1NoYWRlcnNSZWFkT25seSwKICAgICAgICAg
ewogICAgICAgICAgICAgVktfSU1BR0VfTEFZT1VUX1NIQURFUl9SRUFEX09OTFlfT1BUSU1BTCwK
LSAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdFX0FMTF9HUkFQSElDU19CSVQsCi0gICAgICAg
ICAgICBWS19QSVBFTElORV9TVEFHRV9BTExfR1JBUEhJQ1NfQklULAorICAgICAgICAgICAga0Fs
bFNoYWRlcnNQaXBlbGluZVN0YWdlRmxhZ3MsCisgICAgICAgICAgICBrQWxsU2hhZGVyc1BpcGVs
aW5lU3RhZ2VGbGFncywKICAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gdG86IGFsbCByZWFkcyBt
dXN0IGhhcHBlbiBhZnRlciBiYXJyaWVyLgogICAgICAgICAgICAgVktfQUNDRVNTX1NIQURFUl9S
RUFEX0JJVCwKICAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gZnJvbTogUkFSIGFuZCBXQVIgZG9u
J3QgbmVlZCBtZW1vcnkgYmFycmllci4KICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICBmYWxz
ZSwKKyAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgbXVsdGlwbGUgZGVzdGluYXRpb24gc3RhZ2Vz
LCBXZSBiYXJyaWVyIHRoZSBlYXJsaWVzdCBzdGFnZQorICAgICAgICAgICAgUGlwZWxpbmVTdGFn
ZTo6VmVydGV4U2hhZGVyLAogICAgICAgICB9LAogICAgIH0sCiAgICAgewotICAgICAgICBJbWFn
ZUxheW91dDo6QWxsR3JhcGhpY3NTaGFkZXJzV3JpdGUsCisgICAgICAgIEltYWdlTGF5b3V0OjpB
bGxHcmFwaGljc1NoYWRlcnNSZWFkV3JpdGUsCiAgICAgICAgIHsKICAgICAgICAgICAgIFZLX0lN
QUdFX0xBWU9VVF9HRU5FUkFMLAotICAgICAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfQUxMX0dS
QVBISUNTX0JJVCwKLSAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdFX0FMTF9HUkFQSElDU19C
SVQsCisgICAgICAgICAgICBrQWxsU2hhZGVyc1BpcGVsaW5lU3RhZ2VGbGFncywKKyAgICAgICAg
ICAgIGtBbGxTaGFkZXJzUGlwZWxpbmVTdGFnZUZsYWdzLAogICAgICAgICAgICAgLy8gVHJhbnNp
dGlvbiB0bzogYWxsIHJlYWRzIGFuZCB3cml0ZXMgbXVzdCBoYXBwZW4gYWZ0ZXIgYmFycmllci4K
ICAgICAgICAgICAgIFZLX0FDQ0VTU19TSEFERVJfUkVBRF9CSVQgfCBWS19BQ0NFU1NfU0hBREVS
X1dSSVRFX0JJVCwKICAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gZnJvbTogYWxsIHdyaXRlcyBt
dXN0IGZpbmlzaCBiZWZvcmUgYmFycmllci4KICAgICAgICAgICAgIFZLX0FDQ0VTU19TSEFERVJf
V1JJVEVfQklULAogICAgICAgICAgICAgdHJ1ZSwKKyAgICAgICAgICAgIC8vIEluIGNhc2Ugb2Yg
bXVsdGlwbGUgZGVzdGluYXRpb24gc3RhZ2VzLCBXZSBiYXJyaWVyIHRoZSBlYXJsaWVzdCBzdGFn
ZQorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6VmVydGV4U2hhZGVyLAogICAgICAgICB9LAog
ICAgIH0sCiAgICAgewpAQCAtMjEzLDYgKzMzNiw3IEBAIGNvbnN0ZXhwciBhbmdsZTo6UGFja2Vk
RW51bU1hcDxJbWFnZUxheW91dCwgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YT4ga0ltYWdlTWVtb3J5
CiAgICAgICAgICAgICAvLyBUcmFuc2l0aW9uIGZyb206IGFsbCB3cml0ZXMgbXVzdCBmaW5pc2gg
YmVmb3JlIGJhcnJpZXIuCiAgICAgICAgICAgICBWS19BQ0NFU1NfQ09MT1JfQVRUQUNITUVOVF9X
UklURV9CSVQsCiAgICAgICAgICAgICB0cnVlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6
Q29sb3JBdHRhY2htZW50T3V0cHV0LAogICAgICAgICB9LAogICAgIH0sCiAgICAgewpAQCAtMjI2
LDYgKzM1MCw3IEBAIGNvbnN0ZXhwciBhbmdsZTo6UGFja2VkRW51bU1hcDxJbWFnZUxheW91dCwg
SW1hZ2VNZW1vcnlCYXJyaWVyRGF0YT4ga0ltYWdlTWVtb3J5CiAgICAgICAgICAgICAvLyBUcmFu
c2l0aW9uIGZyb206IGFsbCB3cml0ZXMgbXVzdCBmaW5pc2ggYmVmb3JlIGJhcnJpZXIuCiAgICAg
ICAgICAgICBWS19BQ0NFU1NfREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UX1dSSVRFX0JJVCwKICAg
ICAgICAgICAgIHRydWUsCisgICAgICAgICAgICBQaXBlbGluZVN0YWdlOjpFYXJseUZyYWdtZW50
VGVzdCwKICAgICAgICAgfSwKICAgICB9LAogICAgIHsKQEAgLTI0NCw2ICszNjksNyBAQCBjb25z
dGV4cHIgYW5nbGU6OlBhY2tlZEVudW1NYXA8SW1hZ2VMYXlvdXQsIEltYWdlTWVtb3J5QmFycmll
ckRhdGE+IGtJbWFnZU1lbW9yeQogICAgICAgICAgICAgLy8gVHJhbnNpdGlvbiBmcm9tOiBSQVIg
YW5kIFdBUiBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVyLgogICAgICAgICAgICAgMCwKICAgICAg
ICAgICAgIGZhbHNlLAorICAgICAgICAgICAgUGlwZWxpbmVTdGFnZTo6Qm90dG9tT2ZQaXBlLAog
ICAgICAgICB9LAogICAgIH0sCiB9OwpAQCAtMzUzLDggKzQ3OSwzODQgQEAgY29uc3QgYW5nbGU6
OkZvcm1hdCAmR2V0RGVwdGhTdGVuY2lsSW1hZ2VUb0J1ZmZlckZvcm1hdChjb25zdCBhbmdsZTo6
Rm9ybWF0ICZpbWEKICAgICAgICAgICAgIHJldHVybiBpbWFnZUZvcm1hdDsKICAgICB9CiB9CisK
K1ZrQ2xlYXJWYWx1ZSBHZXRSb2J1c3RSZXNvdXJjZUNsZWFyVmFsdWUoY29uc3Qgdms6OkZvcm1h
dCAmZm9ybWF0KQoreworICAgIFZrQ2xlYXJWYWx1ZSBjbGVhclZhbHVlOworICAgIGlmIChmb3Jt
YXQuaW50ZW5kZWRGb3JtYXQoKS5oYXNEZXB0aE9yU3RlbmNpbEJpdHMoKSkKKyAgICB7CisgICAg
ICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVuY2lsID0ga1JvYnVzdEluaXREZXB0aFN0ZW5jaWxWYWx1
ZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgY2xlYXJWYWx1ZS5jb2xvciA9Cisg
ICAgICAgICAgICBmb3JtYXQuaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxzKCkgPyBrRW11bGF0ZWRJ
bml0Q29sb3JWYWx1ZSA6IGtSb2J1c3RJbml0Q29sb3JWYWx1ZTsKKyAgICB9CisgICAgcmV0dXJu
IGNsZWFyVmFsdWU7Cit9CisKKyNpZiAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9NQUNPUykgJiYg
IWRlZmluZWQoQU5HTEVfUExBVEZPUk1fQU5EUk9JRCkKK2Jvb2wgSXNFeHRlcm5hbFF1ZXVlRmFt
aWx5KHVpbnQzMl90IHF1ZXVlRmFtaWx5SW5kZXgpCit7CisgICAgcmV0dXJuIHF1ZXVlRmFtaWx5
SW5kZXggPT0gVktfUVVFVUVfRkFNSUxZX0VYVEVSTkFMIHx8CisgICAgICAgICAgIHF1ZXVlRmFt
aWx5SW5kZXggPT0gVktfUVVFVUVfRkFNSUxZX0ZPUkVJR05fRVhUOworfQorI2VuZGlmCisKIH0g
IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAorVmtJbWFnZUxheW91dCBDb252ZXJ0SW1hZ2VMYXlv
dXRUb1ZrSW1hZ2VMYXlvdXQoSW1hZ2VMYXlvdXQgaW1hZ2VMYXlvdXQpCit7CisgICAgcmV0dXJu
IGtJbWFnZU1lbW9yeUJhcnJpZXJEYXRhW2ltYWdlTGF5b3V0XS5sYXlvdXQ7Cit9CisKKy8vIENv
bW1hbmRCdWZmZXJIZWxwZXIgaW1wbGVtZW50YXRpb24uCitDb21tYW5kQnVmZmVySGVscGVyOjpD
b21tYW5kQnVmZmVySGVscGVyKCkKKyAgICA6IG1QaXBlbGluZUJhcnJpZXJzKCksCisgICAgICBt
UGlwZWxpbmVCYXJyaWVyTWFzaygpLAorICAgICAgbUNvdW50ZXIoMCksCisgICAgICBtQ2xlYXJW
YWx1ZXN7fSwKKyAgICAgIG1SZW5kZXJQYXNzU3RhcnRlZChmYWxzZSksCisgICAgICBtVHJhbnNm
b3JtRmVlZGJhY2tDb3VudGVyQnVmZmVyc3t9LAorICAgICAgbVZhbGlkVHJhbnNmb3JtRmVlZGJh
Y2tCdWZmZXJDb3VudCgwKSwKKyAgICAgIG1SZWJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnMo
ZmFsc2UpLAorICAgICAgbUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIoZmFsc2UpLAorICAgICAg
bU1lcmdlQmFycmllcnMoZmFsc2UpCit7fQorCitDb21tYW5kQnVmZmVySGVscGVyOjp+Q29tbWFu
ZEJ1ZmZlckhlbHBlcigpCit7CisgICAgbUZyYW1lYnVmZmVyLnNldEhhbmRsZShWS19OVUxMX0hB
TkRMRSk7Cit9CisKK3ZvaWQgQ29tbWFuZEJ1ZmZlckhlbHBlcjo6aW5pdGlhbGl6ZShhbmdsZTo6
UG9vbEFsbG9jYXRvciAqcG9vbEFsbG9jYXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBtZXJnZUJhcnJpZXJzKQoreworICAgIG1Db21t
YW5kQnVmZmVyLmluaXRpYWxpemUocG9vbEFsbG9jYXRvcik7CisgICAgbUlzUmVuZGVyUGFzc0Nv
bW1hbmRCdWZmZXIgPSBpc1JlbmRlclBhc3NDb21tYW5kQnVmZmVyOworICAgIG1NZXJnZUJhcnJp
ZXJzICAgICAgICAgICAgID0gbWVyZ2VCYXJyaWVyczsKK30KKwordm9pZCBDb21tYW5kQnVmZmVy
SGVscGVyOjpidWZmZXJSZWFkKHZrOjpSZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzIHJlYWRB
Y2Nlc3NUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpQaXBl
bGluZVN0YWdlIHJlYWRTdGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2azo6QnVmZmVySGVscGVyICpidWZmZXIpCit7CisgICAgYnVmZmVyLT5yZXRhaW4ocmVzb3Vy
Y2VVc2VMaXN0KTsKKyAgICBWa1BpcGVsaW5lU3RhZ2VGbGFnQml0cyBzdGFnZUJpdHMgPSBrUGlw
ZWxpbmVTdGFnZUZsYWdCaXRNYXBbcmVhZFN0YWdlXTsKKyAgICBpZiAoYnVmZmVyLT51cGRhdGVS
ZWFkQmFycmllcihyZWFkQWNjZXNzVHlwZSwgc3RhZ2VCaXRzLCAmbVBpcGVsaW5lQmFycmllcnNb
cmVhZFN0YWdlXSkpCisgICAgeworICAgICAgICBtUGlwZWxpbmVCYXJyaWVyTWFzay5zZXQocmVh
ZFN0YWdlKTsKKyAgICB9Cit9CisKK3ZvaWQgQ29tbWFuZEJ1ZmZlckhlbHBlcjo6YnVmZmVyV3Jp
dGUodms6OlJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzIHdyaXRlQWNjZXNzVHlwZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OlBpcGVsaW5lU3RhZ2Ugd3Jp
dGVTdGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZl
ckhlbHBlciAqYnVmZmVyKQoreworICAgIGJ1ZmZlci0+cmV0YWluKHJlc291cmNlVXNlTGlzdCk7
CisgICAgVmtQaXBlbGluZVN0YWdlRmxhZ0JpdHMgc3RhZ2VCaXRzID0ga1BpcGVsaW5lU3RhZ2VG
bGFnQml0TWFwW3dyaXRlU3RhZ2VdOworICAgIGlmIChidWZmZXItPnVwZGF0ZVdyaXRlQmFycmll
cih3cml0ZUFjY2Vzc1R5cGUsIHN0YWdlQml0cywgJm1QaXBlbGluZUJhcnJpZXJzW3dyaXRlU3Rh
Z2VdKSkKKyAgICB7CisgICAgICAgIG1QaXBlbGluZUJhcnJpZXJNYXNrLnNldCh3cml0ZVN0YWdl
KTsKKyAgICB9Cit9CisKK3ZvaWQgQ29tbWFuZEJ1ZmZlckhlbHBlcjo6aW1hZ2VSZWFkKHZrOjpS
ZXNvdXJjZVVzZUxpc3QgKnJlc291cmNlVXNlTGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUhlbHBlciAqaW1hZ2Up
Cit7CisgICAgaW1hZ2UtPnJldGFpbihyZXNvdXJjZVVzZUxpc3QpOworICAgIGlmIChpbWFnZS0+
aXNMYXlvdXRDaGFuZ2VOZWNlc3NhcnkoaW1hZ2VMYXlvdXQpKQorICAgIHsKKyAgICAgICAgUGlw
ZWxpbmVTdGFnZSBiYXJyaWVySW5kZXggPSBrSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YVtpbWFnZUxh
eW91dF0uYmFycmllckluZGV4OworICAgICAgICBBU1NFUlQoYmFycmllckluZGV4ICE9IFBpcGVs
aW5lU3RhZ2U6OkludmFsaWRFbnVtKTsKKyAgICAgICAgUGlwZWxpbmVCYXJyaWVyICpiYXJyaWVy
ID0gJm1QaXBlbGluZUJhcnJpZXJzW2JhcnJpZXJJbmRleF07CisgICAgICAgIGltYWdlLT51cGRh
dGVMYXlvdXRBbmRCYXJyaWVyKGFzcGVjdEZsYWdzLCBpbWFnZUxheW91dCwgYmFycmllcik7Cisg
ICAgICAgIG1QaXBlbGluZUJhcnJpZXJNYXNrLnNldChiYXJyaWVySW5kZXgpOworICAgIH0KK30K
Kwordm9pZCBDb21tYW5kQnVmZmVySGVscGVyOjppbWFnZVdyaXRlKHZrOjpSZXNvdXJjZVVzZUxp
c3QgKnJlc291cmNlVXNlTGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdms6OkltYWdlTGF5b3V0IGltYWdlTGF5b3V0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpJbWFnZUhlbHBlciAqaW1hZ2UpCit7CisgICAg
aW1hZ2UtPnJldGFpbihyZXNvdXJjZVVzZUxpc3QpOworICAgIC8vIFdyaXRlIGFsd2F5cyByZXF1
aXJlcyBhIGJhcnJpZXIKKyAgICBQaXBlbGluZVN0YWdlIGJhcnJpZXJJbmRleCA9IGtJbWFnZU1l
bW9yeUJhcnJpZXJEYXRhW2ltYWdlTGF5b3V0XS5iYXJyaWVySW5kZXg7CisgICAgQVNTRVJUKGJh
cnJpZXJJbmRleCAhPSBQaXBlbGluZVN0YWdlOjpJbnZhbGlkRW51bSk7CisgICAgUGlwZWxpbmVC
YXJyaWVyICpiYXJyaWVyID0gJm1QaXBlbGluZUJhcnJpZXJzW2JhcnJpZXJJbmRleF07CisgICAg
aW1hZ2UtPnVwZGF0ZUxheW91dEFuZEJhcnJpZXIoYXNwZWN0RmxhZ3MsIGltYWdlTGF5b3V0LCBi
YXJyaWVyKTsKKyAgICBtUGlwZWxpbmVCYXJyaWVyTWFzay5zZXQoYmFycmllckluZGV4KTsKK30K
Kwordm9pZCBDb21tYW5kQnVmZmVySGVscGVyOjpleGVjdXRlQmFycmllcnModms6OlByaW1hcnlD
b21tYW5kQnVmZmVyICpwcmltYXJ5KQoreworICAgIC8vIG1ha2UgYSBsb2NhbCBjb3B5IGZvciBm
YXN0ZXIgYWNjZXNzCisgICAgUGlwZWxpbmVTdGFnZXNNYXNrIG1hc2sgPSBtUGlwZWxpbmVCYXJy
aWVyTWFzazsKKyAgICBpZiAobWFzay5ub25lKCkpCisgICAgeworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKG1NZXJnZUJhcnJpZXJzKQorICAgIHsKKyAgICAgICAgUGlwZWxpbmVT
dGFnZXNNYXNrOjpJdGVyYXRvciBpdGVyID0gbWFzay5iZWdpbigpOworICAgICAgICBQaXBlbGlu
ZUJhcnJpZXIgJmJhcnJpZXIgICAgICAgICAgPSBtUGlwZWxpbmVCYXJyaWVyc1sqaXRlcl07Cisg
ICAgICAgIGZvciAoKytpdGVyOyBpdGVyICE9IG1hc2suZW5kKCk7ICsraXRlcikKKyAgICAgICAg
eworICAgICAgICAgICAgYmFycmllci5tZXJnZSgmbVBpcGVsaW5lQmFycmllcnNbKml0ZXJdKTsK
KyAgICAgICAgfQorICAgICAgICBiYXJyaWVyLmV4ZWN1dGUocHJpbWFyeSk7CisgICAgfQorICAg
IGVsc2UKKyAgICB7CisgICAgICAgIGZvciAoUGlwZWxpbmVTdGFnZSBwaXBlbGluZVN0YWdlIDog
bWFzaykKKyAgICAgICAgeworICAgICAgICAgICAgUGlwZWxpbmVCYXJyaWVyICZiYXJyaWVyID0g
bVBpcGVsaW5lQmFycmllcnNbcGlwZWxpbmVTdGFnZV07CisgICAgICAgICAgICBiYXJyaWVyLmV4
ZWN1dGUocHJpbWFyeSk7CisgICAgICAgIH0KKyAgICB9CisgICAgbVBpcGVsaW5lQmFycmllck1h
c2sucmVzZXQoKTsKK30KKwordm9pZCBDb21tYW5kQnVmZmVySGVscGVyOjpiZWdpblJlbmRlclBh
c3MoY29uc3Qgdms6OkZyYW1lYnVmZmVyICZmcmFtZWJ1ZmZlciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJnJlbmRlckFyZWEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2azo6UmVu
ZGVyUGFzc0Rlc2MgJnJlbmRlclBhc3NEZXNjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgdms6OkF0dGFjaG1lbnRPcHNBcnJheSAmcmVuZGVyUGFzc0F0
dGFjaG1lbnRPcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB2azo6Q2xlYXJWYWx1ZXNBcnJheSAmY2xlYXJWYWx1ZXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlciAqKmNvbW1hbmRCdWZm
ZXJPdXQpCit7CisgICAgQVNTRVJUKG1Jc1JlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKKyAgICBB
U1NFUlQoZW1wdHkoKSk7CisKKyAgICBtUmVuZGVyUGFzc0Rlc2MgPSByZW5kZXJQYXNzRGVzYzsK
KyAgICBtQXR0YWNobWVudE9wcyAgPSByZW5kZXJQYXNzQXR0YWNobWVudE9wczsKKyAgICBtRnJh
bWVidWZmZXIuc2V0SGFuZGxlKGZyYW1lYnVmZmVyLmdldEhhbmRsZSgpKTsKKyAgICBtUmVuZGVy
QXJlYSAgPSByZW5kZXJBcmVhOworICAgIG1DbGVhclZhbHVlcyA9IGNsZWFyVmFsdWVzOworCisg
ICAgKmNvbW1hbmRCdWZmZXJPdXQgPSAmbUNvbW1hbmRCdWZmZXI7CisKKyAgICBtUmVuZGVyUGFz
c1N0YXJ0ZWQgPSB0cnVlOworICAgIG1Db3VudGVyKys7Cit9CisKK3ZvaWQgQ29tbWFuZEJ1ZmZl
ckhlbHBlcjo6YmVnaW5UcmFuc2Zvcm1GZWVkYmFjayhzaXplX3QgdmFsaWRCdWZmZXJDb3VudCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBW
a0J1ZmZlciAqY291bnRlckJ1ZmZlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCByZWJpbmRCdWZmZXJzKQoreworICAgIEFTU0VSVChtSXNS
ZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgbVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZm
ZXJDb3VudCA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pih2YWxpZEJ1ZmZlckNvdW50KTsKKyAgICBt
UmViaW5kVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzICAgID0gcmViaW5kQnVmZmVyczsKKworICAg
IGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCB2YWxpZEJ1ZmZlckNvdW50OyBpbmRleCsr
KQorICAgIHsKKyAgICAgICAgbVRyYW5zZm9ybUZlZWRiYWNrQ291bnRlckJ1ZmZlcnNbaW5kZXhd
ID0gY291bnRlckJ1ZmZlcnNbaW5kZXhdOworICAgIH0KK30KKworYW5nbGU6OlJlc3VsdCBDb21t
YW5kQnVmZmVySGVscGVyOjpmbHVzaFRvUHJpbWFyeShDb250ZXh0VmsgKmNvbnRleHRWaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OlByaW1h
cnlDb21tYW5kQnVmZmVyICpwcmltYXJ5KQoreworICAgIEFTU0VSVCghZW1wdHkoKSk7CisKKyAg
ICBpZiAoa0VuYWJsZUNvbW1hbmRTdHJlYW1EaWFnbm9zdGljcykKKyAgICB7CisgICAgICAgIGFk
ZENvbW1hbmREaWFnbm9zdGljcyhjb250ZXh0VmspOworICAgIH0KKyAgICAvLyBDb21tYW5kcyB0
aGF0IGFyZSBhZGRlZCB0byBwcmltYXJ5IGJlZm9yZSBiZWdpblJlbmRlclBhc3MgY29tbWFuZAor
ICAgIGV4ZWN1dGVCYXJyaWVycyhwcmltYXJ5KTsKKworICAgIGlmIChtSXNSZW5kZXJQYXNzQ29t
bWFuZEJ1ZmZlcikKKyAgICB7CisgICAgICAgIG1Db21tYW5kQnVmZmVyLmV4ZWN1dGVRdWV1ZWRS
ZXNldFF1ZXJ5UG9vbENvbW1hbmRzKHByaW1hcnktPmdldEhhbmRsZSgpKTsKKyAgICAgICAgLy8g
UHVsbCBhIFJlbmRlclBhc3MgZnJvbSB0aGUgY2FjaGUuCisgICAgICAgIFJlbmRlclBhc3NDYWNo
ZSAmcmVuZGVyUGFzc0NhY2hlID0gY29udGV4dFZrLT5nZXRSZW5kZXJQYXNzQ2FjaGUoKTsKKyAg
ICAgICAgU2VyaWFsIHNlcmlhbCAgICAgICAgICAgICAgICAgICAgPSBjb250ZXh0VmstPmdldEN1
cnJlbnRRdWV1ZVNlcmlhbCgpOworCisgICAgICAgIHZrOjpSZW5kZXJQYXNzICpyZW5kZXJQYXNz
ID0gbnVsbHB0cjsKKyAgICAgICAgQU5HTEVfVFJZKHJlbmRlclBhc3NDYWNoZS5nZXRSZW5kZXJQ
YXNzV2l0aE9wcyhjb250ZXh0VmssIHNlcmlhbCwgbVJlbmRlclBhc3NEZXNjLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1BdHRhY2htZW50
T3BzLCAmcmVuZGVyUGFzcykpOworCisgICAgICAgIFZrUmVuZGVyUGFzc0JlZ2luSW5mbyBiZWdp
bkluZm8gICAgPSB7fTsKKyAgICAgICAgYmVnaW5JbmZvLnNUeXBlICAgICAgICAgICAgICAgICAg
ICA9IFZLX1NUUlVDVFVSRV9UWVBFX1JFTkRFUl9QQVNTX0JFR0lOX0lORk87CisgICAgICAgIGJl
Z2luSW5mby5yZW5kZXJQYXNzICAgICAgICAgICAgICAgPSByZW5kZXJQYXNzLT5nZXRIYW5kbGUo
KTsKKyAgICAgICAgYmVnaW5JbmZvLmZyYW1lYnVmZmVyICAgICAgICAgICAgICA9IG1GcmFtZWJ1
ZmZlci5nZXRIYW5kbGUoKTsKKyAgICAgICAgYmVnaW5JbmZvLnJlbmRlckFyZWEub2Zmc2V0Lngg
ICAgICA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtUmVuZGVyQXJlYS54KTsKKyAgICAgICAgYmVn
aW5JbmZvLnJlbmRlckFyZWEub2Zmc2V0LnkgICAgICA9IHN0YXRpY19jYXN0PHVpbnQzMl90Piht
UmVuZGVyQXJlYS55KTsKKyAgICAgICAgYmVnaW5JbmZvLnJlbmRlckFyZWEuZXh0ZW50LndpZHRo
ICA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtUmVuZGVyQXJlYS53aWR0aCk7CisgICAgICAgIGJl
Z2luSW5mby5yZW5kZXJBcmVhLmV4dGVudC5oZWlnaHQgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
bVJlbmRlckFyZWEuaGVpZ2h0KTsKKyAgICAgICAgYmVnaW5JbmZvLmNsZWFyVmFsdWVDb3VudCA9
IHN0YXRpY19jYXN0PHVpbnQzMl90PihtUmVuZGVyUGFzc0Rlc2MuYXR0YWNobWVudENvdW50KCkp
OworICAgICAgICBiZWdpbkluZm8ucENsZWFyVmFsdWVzICAgID0gbUNsZWFyVmFsdWVzLmRhdGEo
KTsKKworICAgICAgICAvLyBSdW4gY29tbWFuZHMgaW5zaWRlIHRoZSBSZW5kZXJQYXNzLgorICAg
ICAgICBwcmltYXJ5LT5iZWdpblJlbmRlclBhc3MoYmVnaW5JbmZvLCBWS19TVUJQQVNTX0NPTlRF
TlRTX0lOTElORSk7CisgICAgICAgIG1Db21tYW5kQnVmZmVyLmV4ZWN1dGVDb21tYW5kcyhwcmlt
YXJ5LT5nZXRIYW5kbGUoKSk7CisgICAgICAgIHByaW1hcnktPmVuZFJlbmRlclBhc3MoKTsKKwor
ICAgICAgICBpZiAobVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3VudCAhPSAwKQorICAg
ICAgICB7CisgICAgICAgICAgICAvLyBXb3VsZCBiZSBiZXR0ZXIgdG8gYWNjdW11bGF0ZSB0aGlz
IGJhcnJpZXIgdXNpbmcgdGhlIGNvbW1hbmQgQVBJcy4KKyAgICAgICAgICAgIC8vIFRPRE86IENs
ZWFuIHRodXMgdXAgYmVmb3JlIHdlIGNsb3NlIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzIwNgorICAg
ICAgICAgICAgVmtCdWZmZXJNZW1vcnlCYXJyaWVyIGJ1ZmZlckJhcnJpZXIgPSB7fTsKKyAgICAg
ICAgICAgIGJ1ZmZlckJhcnJpZXIuc1R5cGUgICAgICAgICAgICAgICAgID0gVktfU1RSVUNUVVJF
X1RZUEVfQlVGRkVSX01FTU9SWV9CQVJSSUVSOworICAgICAgICAgICAgYnVmZmVyQmFycmllci5w
TmV4dCAgICAgICAgICAgICAgICAgPSBudWxscHRyOworICAgICAgICAgICAgYnVmZmVyQmFycmll
ci5zcmNBY2Nlc3NNYXNrICAgICAgID0gVktfQUNDRVNTX1RSQU5TRk9STV9GRUVEQkFDS19DT1VO
VEVSX1dSSVRFX0JJVF9FWFQ7CisgICAgICAgICAgICBidWZmZXJCYXJyaWVyLmRzdEFjY2Vzc01h
c2sgICAgICAgPSBWS19BQ0NFU1NfVFJBTlNGT1JNX0ZFRURCQUNLX0NPVU5URVJfUkVBRF9CSVRf
RVhUOworICAgICAgICAgICAgYnVmZmVyQmFycmllci5zcmNRdWV1ZUZhbWlseUluZGV4ID0gVktf
UVVFVUVfRkFNSUxZX0lHTk9SRUQ7CisgICAgICAgICAgICBidWZmZXJCYXJyaWVyLmRzdFF1ZXVl
RmFtaWx5SW5kZXggPSBWS19RVUVVRV9GQU1JTFlfSUdOT1JFRDsKKyAgICAgICAgICAgIGJ1ZmZl
ckJhcnJpZXIuYnVmZmVyICAgICAgICAgICAgICA9IG1UcmFuc2Zvcm1GZWVkYmFja0NvdW50ZXJC
dWZmZXJzWzBdOworICAgICAgICAgICAgYnVmZmVyQmFycmllci5vZmZzZXQgICAgICAgICAgICAg
ID0gMDsKKyAgICAgICAgICAgIGJ1ZmZlckJhcnJpZXIuc2l6ZSAgICAgICAgICAgICAgICA9IFZL
X1dIT0xFX1NJWkU7CisKKyAgICAgICAgICAgIHByaW1hcnktPnBpcGVsaW5lQmFycmllcihWS19Q
SVBFTElORV9TVEFHRV9UUkFOU0ZPUk1fRkVFREJBQ0tfQklUX0VYVCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9EUkFXX0lORElSRUNUX0JJ
VCwgMHUsIDB1LCBudWxscHRyLCAxdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmYnVmZmVyQmFycmllciwgMHUsIG51bGxwdHIpOworICAgICAgICB9CisgICAgfQorICAg
IGVsc2UKKyAgICB7CisgICAgICAgIG1Db21tYW5kQnVmZmVyLmV4ZWN1dGVDb21tYW5kcyhwcmlt
YXJ5LT5nZXRIYW5kbGUoKSk7CisgICAgfQorICAgIC8vIFJlc3RhcnQgdGhlIGNvbW1hbmQgYnVm
ZmVyLgorICAgIHJlc2V0KCk7CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
Cit9CisKKy8vIEhlbHBlciBmdW5jdGlvbnMgdXNlZCBiZWxvdworY2hhciBHZXRMb2FkT3BTaG9y
dGhhbmQodWludDMyX3QgbG9hZE9wKQoreworICAgIHN3aXRjaCAobG9hZE9wKQorICAgIHsKKyAg
ICAgICAgY2FzZSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfQ0xFQVI6CisgICAgICAgICAgICByZXR1
cm4gJ0MnOworICAgICAgICBjYXNlIFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9MT0FEOgorICAgICAg
ICAgICAgcmV0dXJuICdMJzsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAn
RCc7CisgICAgfQorfQorCitjaGFyIEdldFN0b3JlT3BTaG9ydGhhbmQodWludDMyX3Qgc3RvcmVP
cCkKK3sKKyAgICBzd2l0Y2ggKHN0b3JlT3ApCisgICAgeworICAgICAgICBjYXNlIFZLX0FUVEFD
SE1FTlRfU1RPUkVfT1BfU1RPUkU6CisgICAgICAgICAgICByZXR1cm4gJ1MnOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuICdEJzsKKyAgICB9Cit9CisKK3ZvaWQgQ29tbWFu
ZEJ1ZmZlckhlbHBlcjo6YWRkQ29tbWFuZERpYWdub3N0aWNzKENvbnRleHRWayAqY29udGV4dFZr
KQoreworICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBvdXQ7CisKKyAgICBvdXQgPDwgIk1lbW9yeSBC
YXJyaWVyOiAiOworICAgIGZvciAoUGlwZWxpbmVCYXJyaWVyICZiYXJyaWVyIDogbVBpcGVsaW5l
QmFycmllcnMpCisgICAgeworICAgICAgICBpZiAoIWJhcnJpZXIuaXNFbXB0eSgpKQorICAgICAg
ICB7CisgICAgICAgICAgICBiYXJyaWVyLmFkZERpYWdub3N0aWNzU3RyaW5nKG91dCk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgb3V0IDw8ICJcXGwiOworCisgICAgaWYgKG1Jc1JlbmRlclBhc3ND
b21tYW5kQnVmZmVyKQorICAgIHsKKyAgICAgICAgc2l6ZV90IGF0dGFjaG1lbnRDb3VudCAgICAg
ICAgICAgICA9IG1SZW5kZXJQYXNzRGVzYy5hdHRhY2htZW50Q291bnQoKTsKKyAgICAgICAgc2l6
ZV90IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRDb3VudCA9IG1SZW5kZXJQYXNzRGVzYy5oYXNEZXB0
aFN0ZW5jaWxBdHRhY2htZW50KCk7CisgICAgICAgIHNpemVfdCBjb2xvckF0dGFjaG1lbnRDb3Vu
dCAgICAgICAgPSBhdHRhY2htZW50Q291bnQgLSBkZXB0aFN0ZW5jaWxBdHRhY2htZW50Q291bnQ7
CisKKyAgICAgICAgc3RkOjpzdHJpbmcgbG9hZE9wcywgc3RvcmVPcHM7CisKKyAgICAgICAgaWYg
KGNvbG9yQXR0YWNobWVudENvdW50ID4gMCkKKyAgICAgICAgeworICAgICAgICAgICAgbG9hZE9w
cyArPSAiIENvbG9yOiAiOworICAgICAgICAgICAgc3RvcmVPcHMgKz0gIiBDb2xvcjogIjsKKwor
ICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb2xvckF0dGFjaG1lbnRDb3VudDsg
KytpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGxvYWRPcHMgKz0gR2V0TG9hZE9w
U2hvcnRoYW5kKG1BdHRhY2htZW50T3BzW2ldLmxvYWRPcCk7CisgICAgICAgICAgICAgICAgc3Rv
cmVPcHMgKz0gR2V0U3RvcmVPcFNob3J0aGFuZChtQXR0YWNobWVudE9wc1tpXS5zdG9yZU9wKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50Q291bnQgPiAwKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoZGVwdGhTdGVu
Y2lsQXR0YWNobWVudENvdW50ID09IDEpOworCisgICAgICAgICAgICBsb2FkT3BzICs9ICIgRGVw
dGgvU3RlbmNpbDogIjsKKyAgICAgICAgICAgIHN0b3JlT3BzICs9ICIgRGVwdGgvU3RlbmNpbDog
IjsKKyAgICAgICAgICAgIHNpemVfdCBkc0luZGV4ID0gY29sb3JBdHRhY2htZW50Q291bnQ7CisK
KyAgICAgICAgICAgIGxvYWRPcHMgKz0gR2V0TG9hZE9wU2hvcnRoYW5kKG1BdHRhY2htZW50T3Bz
W2RzSW5kZXhdLmxvYWRPcCk7CisgICAgICAgICAgICBsb2FkT3BzICs9IEdldExvYWRPcFNob3J0
aGFuZChtQXR0YWNobWVudE9wc1tkc0luZGV4XS5zdGVuY2lsTG9hZE9wKTsKKworICAgICAgICAg
ICAgc3RvcmVPcHMgKz0gR2V0U3RvcmVPcFNob3J0aGFuZChtQXR0YWNobWVudE9wc1tkc0luZGV4
XS5zdG9yZU9wKTsKKyAgICAgICAgICAgIHN0b3JlT3BzICs9IEdldFN0b3JlT3BTaG9ydGhhbmQo
bUF0dGFjaG1lbnRPcHNbZHNJbmRleF0uc3RlbmNpbFN0b3JlT3ApOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKGF0dGFjaG1lbnRDb3VudCA+IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIG91
dCA8PCAiTG9hZE9wOiAgIiA8PCBsb2FkT3BzIDw8ICJcXGwiOworICAgICAgICAgICAgb3V0IDw8
ICJTdG9yZU9wOiAiIDw8IHN0b3JlT3BzIDw8ICJcXGwiOworICAgICAgICB9CisgICAgfQorICAg
IG91dCA8PCBtQ29tbWFuZEJ1ZmZlci5kdW1wQ29tbWFuZHMoIlxcbCIpOworICAgIGNvbnRleHRW
ay0+YWRkQ29tbWFuZEJ1ZmZlckRpYWdub3N0aWNzKG91dC5zdHIoKSk7Cit9CisKK3ZvaWQgQ29t
bWFuZEJ1ZmZlckhlbHBlcjo6cmVzZXQoKQoreworICAgIG1Db21tYW5kQnVmZmVyLnJlc2V0KCk7
CisgICAgaWYgKG1Jc1JlbmRlclBhc3NDb21tYW5kQnVmZmVyKQorICAgIHsKKyAgICAgICAgbVJl
bmRlclBhc3NTdGFydGVkICAgICAgICAgICAgICAgICA9IGZhbHNlOworICAgICAgICBtVmFsaWRU
cmFuc2Zvcm1GZWVkYmFja0J1ZmZlckNvdW50ID0gMDsKKyAgICAgICAgbVJlYmluZFRyYW5zZm9y
bUZlZWRiYWNrQnVmZmVycyAgICA9IGZhbHNlOworICAgIH0KKyAgICAvLyBUaGlzIHN0YXRlIHNo
b3VsZCBuZXZlciBjaGFuZ2UgZm9yIG5vbi1yZW5kZXJQYXNzIGNvbW1hbmQgYnVmZmVyCisgICAg
QVNTRVJUKG1SZW5kZXJQYXNzU3RhcnRlZCA9PSBmYWxzZSk7CisgICAgQVNTRVJUKG1WYWxpZFRy
YW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291bnQgPT0gMCk7CisgICAgQVNTRVJUKG1SZWJpbmRUcmFu
c2Zvcm1GZWVkYmFja0J1ZmZlcnMgPT0gZmFsc2UpOworfQorCit2b2lkIENvbW1hbmRCdWZmZXJI
ZWxwZXI6OnJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrSWZTdGFydGVkKCkKK3sKKyAgICBBU1NFUlQo
bUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgIGlmIChtVmFsaWRUcmFuc2Zvcm1GZWVk
YmFja0J1ZmZlckNvdW50ID09IDApCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgdWludDMyX3QgbnVtQ291bnRlckJ1ZmZlcnMgPQorICAgICAgICBtUmViaW5kVHJhbnNmb3Jt
RmVlZGJhY2tCdWZmZXJzID8gMCA6IG1WYWxpZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291bnQ7
CisKKyAgICBtUmViaW5kVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzID0gZmFsc2U7CisKKyAgICBt
Q29tbWFuZEJ1ZmZlci5iZWdpblRyYW5zZm9ybUZlZWRiYWNrKG51bUNvdW50ZXJCdWZmZXJzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVRyYW5zZm9ybUZlZWRi
YWNrQ291bnRlckJ1ZmZlcnMuZGF0YSgpKTsKK30KKwordm9pZCBDb21tYW5kQnVmZmVySGVscGVy
OjpwYXVzZVRyYW5zZm9ybUZlZWRiYWNrSWZTdGFydGVkKCkKK3sKKyAgICBBU1NFUlQobUlzUmVu
ZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgIGlmIChtVmFsaWRUcmFuc2Zvcm1GZWVkYmFja0J1
ZmZlckNvdW50ID09IDApCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbUNv
bW1hbmRCdWZmZXIuZW5kVHJhbnNmb3JtRmVlZGJhY2sobVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tC
dWZmZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtVHJh
bnNmb3JtRmVlZGJhY2tDb3VudGVyQnVmZmVycy5kYXRhKCkpOworfQorCiAvLyBEeW5hbWljQnVm
ZmVyIGltcGxlbWVudGF0aW9uLgogRHluYW1pY0J1ZmZlcjo6RHluYW1pY0J1ZmZlcigpCiAgICAg
OiBtVXNhZ2UoMCksCkBAIC0zNjQsNyArODY2LDggQEAgRHluYW1pY0J1ZmZlcjo6RHluYW1pY0J1
ZmZlcigpCiAgICAgICBtTmV4dEFsbG9jYXRpb25PZmZzZXQoMCksCiAgICAgICBtTGFzdEZsdXNo
T3JJbnZhbGlkYXRlT2Zmc2V0KDApLAogICAgICAgbVNpemUoMCksCi0gICAgICBtQWxpZ25tZW50
KDApCisgICAgICBtQWxpZ25tZW50KDApLAorICAgICAgbU1lbW9yeVByb3BlcnR5RmxhZ3MoMCkK
IHt9CiAKIER5bmFtaWNCdWZmZXI6OkR5bmFtaWNCdWZmZXIoRHluYW1pY0J1ZmZlciAmJm90aGVy
KQpAQCAtMzc2LDYgKzg3OSw3IEBAIER5bmFtaWNCdWZmZXI6OkR5bmFtaWNCdWZmZXIoRHluYW1p
Y0J1ZmZlciAmJm90aGVyKQogICAgICAgbUxhc3RGbHVzaE9ySW52YWxpZGF0ZU9mZnNldChvdGhl
ci5tTGFzdEZsdXNoT3JJbnZhbGlkYXRlT2Zmc2V0KSwKICAgICAgIG1TaXplKG90aGVyLm1TaXpl
KSwKICAgICAgIG1BbGlnbm1lbnQob3RoZXIubUFsaWdubWVudCksCisgICAgICBtTWVtb3J5UHJv
cGVydHlGbGFncyhvdGhlci5tTWVtb3J5UHJvcGVydHlGbGFncyksCiAgICAgICBtSW5GbGlnaHRC
dWZmZXJzKHN0ZDo6bW92ZShvdGhlci5tSW5GbGlnaHRCdWZmZXJzKSkKIHsKICAgICBvdGhlci5t
QnVmZmVyID0gbnVsbHB0cjsKQEAgLTM4Nyw4ICs4OTEsMjEgQEAgdm9pZCBEeW5hbWljQnVmZmVy
Ojppbml0KFJlbmRlcmVyVmsgKnJlbmRlcmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVfdCBpbml0aWFsU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGhvc3RWaXNp
YmxlKQogewotICAgIG1Vc2FnZSAgICAgICA9IHVzYWdlOwotICAgIG1Ib3N0VmlzaWJsZSA9IGhv
c3RWaXNpYmxlOworICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyBtZW1vcnlQcm9wZXJ0eUZsYWdz
ID0KKyAgICAgICAgKGhvc3RWaXNpYmxlKSA/IFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lC
TEVfQklUIDogVktfTUVNT1JZX1BST1BFUlRZX0RFVklDRV9MT0NBTF9CSVQ7CisKKyAgICBpbml0
V2l0aEZsYWdzKHJlbmRlcmVyLCB1c2FnZSwgYWxpZ25tZW50LCBpbml0aWFsU2l6ZSwgbWVtb3J5
UHJvcGVydHlGbGFncyk7Cit9CisKK3ZvaWQgRHluYW1pY0J1ZmZlcjo6aW5pdFdpdGhGbGFncyhS
ZW5kZXJlclZrICpyZW5kZXJlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
a0J1ZmZlclVzYWdlRmxhZ3MgdXNhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2l6ZV90IGFsaWdubWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplX3QgaW5pdGlhbFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtN
ZW1vcnlQcm9wZXJ0eUZsYWdzIG1lbW9yeVByb3BlcnR5RmxhZ3MpCit7CisgICAgbVVzYWdlICAg
ICAgICAgICAgICAgPSB1c2FnZTsKKyAgICBtSG9zdFZpc2libGUgICAgICAgICA9ICgobWVtb3J5
UHJvcGVydHlGbGFncyAmIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUKSAhPSAw
KTsKKyAgICBtTWVtb3J5UHJvcGVydHlGbGFncyA9IG1lbW9yeVByb3BlcnR5RmxhZ3M7CiAKICAg
ICAvLyBDaGVjayB0aGF0IHdlIGhhdmVuJ3Qgb3ZlcnJpZGVuIHRoZSBpbml0aWFsIHNpemUgb2Yg
dGhlIGJ1ZmZlciBpbiBzZXRNaW5pbXVtU2l6ZUZvclRlc3RpbmcuCiAgICAgaWYgKG1Jbml0aWFs
U2l6ZSA9PSAwKQpAQCAtNDI1LDkgKzk0Miw3IEBAIGFuZ2xlOjpSZXN1bHQgRHluYW1pY0J1ZmZl
cjo6YWxsb2NhdGVOZXdCdWZmZXIoQ29udGV4dFZrICpjb250ZXh0VmspCiAgICAgY3JlYXRlSW5m
by5xdWV1ZUZhbWlseUluZGV4Q291bnQgPSAwOwogICAgIGNyZWF0ZUluZm8ucFF1ZXVlRmFtaWx5
SW5kaWNlcyAgID0gbnVsbHB0cjsKIAotICAgIGNvbnN0IFZrTWVtb3J5UHJvcGVydHlGbGFncyBt
ZW1vcnlQcm9wZXJ0eSA9Ci0gICAgICAgIG1Ib3N0VmlzaWJsZSA/IFZLX01FTU9SWV9QUk9QRVJU
WV9IT1NUX1ZJU0lCTEVfQklUIDogVktfTUVNT1JZX1BST1BFUlRZX0RFVklDRV9MT0NBTF9CSVQ7
Ci0gICAgQU5HTEVfVFJZKGJ1ZmZlci0+aW5pdChjb250ZXh0VmssIGNyZWF0ZUluZm8sIG1lbW9y
eVByb3BlcnR5KSk7CisgICAgQU5HTEVfVFJZKGJ1ZmZlci0+aW5pdChjb250ZXh0VmssIGNyZWF0
ZUluZm8sIG1NZW1vcnlQcm9wZXJ0eUZsYWdzKSk7CiAKICAgICBBU1NFUlQoIW1CdWZmZXIpOwog
ICAgIG1CdWZmZXIgPSBidWZmZXIucmVsZWFzZSgpOwpAQCAtNDUyLDcgKzk2Nyw3IEBAIGFuZ2xl
OjpSZXN1bHQgRHluYW1pY0J1ZmZlcjo6YWxsb2NhdGUoQ29udGV4dFZrICpjb250ZXh0VmssCiAg
ICAgICAgIGlmIChtQnVmZmVyKQogICAgICAgICB7CiAgICAgICAgICAgICBBTkdMRV9UUlkoZmx1
c2goY29udGV4dFZrKSk7Ci0gICAgICAgICAgICBtQnVmZmVyLT51bm1hcChjb250ZXh0VmstPmdl
dERldmljZSgpKTsKKyAgICAgICAgICAgIG1CdWZmZXItPnVubWFwKGNvbnRleHRWay0+Z2V0UmVu
ZGVyZXIoKSk7CiAKICAgICAgICAgICAgIG1JbkZsaWdodEJ1ZmZlcnMucHVzaF9iYWNrKG1CdWZm
ZXIpOwogICAgICAgICAgICAgbUJ1ZmZlciA9IG51bGxwdHI7CkBAIC01MTQsNyArMTAyOSwxMSBA
QCBhbmdsZTo6UmVzdWx0IER5bmFtaWNCdWZmZXI6OmFsbG9jYXRlKENvbnRleHRWayAqY29udGV4
dFZrLAogICAgICAgICAqcHRyT3V0ID0gbWFwcGVkTWVtb3J5ICsgbU5leHRBbGxvY2F0aW9uT2Zm
c2V0OwogICAgIH0KIAotICAgICpvZmZzZXRPdXQgPSBzdGF0aWNfY2FzdDxWa0RldmljZVNpemU+
KG1OZXh0QWxsb2NhdGlvbk9mZnNldCk7CisgICAgaWYgKG9mZnNldE91dCAhPSBudWxscHRyKQor
ICAgIHsKKyAgICAgICAgKm9mZnNldE91dCA9IHN0YXRpY19jYXN0PFZrRGV2aWNlU2l6ZT4obU5l
eHRBbGxvY2F0aW9uT2Zmc2V0KTsKKyAgICB9CisKICAgICBtTmV4dEFsbG9jYXRpb25PZmZzZXQg
Kz0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHNpemVUb0FsbG9jYXRlKTsKICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC01MjQsNyArMTA0Myw3IEBAIGFuZ2xlOjpSZXN1
bHQgRHluYW1pY0J1ZmZlcjo6Zmx1c2goQ29udGV4dFZrICpjb250ZXh0VmspCiAgICAgaWYgKG1I
b3N0VmlzaWJsZSAmJiAobU5leHRBbGxvY2F0aW9uT2Zmc2V0ID4gbUxhc3RGbHVzaE9ySW52YWxp
ZGF0ZU9mZnNldCkpCiAgICAgewogICAgICAgICBBU1NFUlQobUJ1ZmZlciAhPSBudWxscHRyKTsK
LSAgICAgICAgQU5HTEVfVFJZKG1CdWZmZXItPmZsdXNoKGNvbnRleHRWaywgbUxhc3RGbHVzaE9y
SW52YWxpZGF0ZU9mZnNldCwKKyAgICAgICAgQU5HTEVfVFJZKG1CdWZmZXItPmZsdXNoKGNvbnRl
eHRWay0+Z2V0UmVuZGVyZXIoKSwgbUxhc3RGbHVzaE9ySW52YWxpZGF0ZU9mZnNldCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1OZXh0QWxsb2NhdGlvbk9mZnNldCAtIG1MYXN0
Rmx1c2hPckludmFsaWRhdGVPZmZzZXQpKTsKICAgICAgICAgbUxhc3RGbHVzaE9ySW52YWxpZGF0
ZU9mZnNldCA9IG1OZXh0QWxsb2NhdGlvbk9mZnNldDsKICAgICB9CkBAIC01MzYsNyArMTA1NSw3
IEBAIGFuZ2xlOjpSZXN1bHQgRHluYW1pY0J1ZmZlcjo6aW52YWxpZGF0ZShDb250ZXh0VmsgKmNv
bnRleHRWaykKICAgICBpZiAobUhvc3RWaXNpYmxlICYmIChtTmV4dEFsbG9jYXRpb25PZmZzZXQg
PiBtTGFzdEZsdXNoT3JJbnZhbGlkYXRlT2Zmc2V0KSkKICAgICB7CiAgICAgICAgIEFTU0VSVCht
QnVmZmVyICE9IG51bGxwdHIpOwotICAgICAgICBBTkdMRV9UUlkobUJ1ZmZlci0+aW52YWxpZGF0
ZShjb250ZXh0VmssIG1MYXN0Rmx1c2hPckludmFsaWRhdGVPZmZzZXQsCisgICAgICAgIEFOR0xF
X1RSWShtQnVmZmVyLT5pbnZhbGlkYXRlKGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKSwgbUxhc3RG
bHVzaE9ySW52YWxpZGF0ZU9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbU5leHRBbGxvY2F0aW9uT2Zmc2V0IC0gbUxhc3RGbHVzaE9ySW52YWxpZGF0ZU9mZnNl
dCkpOwogICAgICAgICBtTGFzdEZsdXNoT3JJbnZhbGlkYXRlT2Zmc2V0ID0gbU5leHRBbGxvY2F0
aW9uT2Zmc2V0OwogICAgIH0KQEAgLTU1NSwxMSArMTA3NCwxMSBAQCB2b2lkIER5bmFtaWNCdWZm
ZXI6OnJlbGVhc2VCdWZmZXJMaXN0VG9SZW5kZXJlcihSZW5kZXJlclZrICpyZW5kZXJlciwKICAg
ICBidWZmZXJzLT5jbGVhcigpOwogfQogCi12b2lkIER5bmFtaWNCdWZmZXI6OmRlc3Ryb3lCdWZm
ZXJMaXN0KFZrRGV2aWNlIGRldmljZSwgc3RkOjp2ZWN0b3I8QnVmZmVySGVscGVyICo+ICpidWZm
ZXJzKQordm9pZCBEeW5hbWljQnVmZmVyOjpkZXN0cm95QnVmZmVyTGlzdChSZW5kZXJlclZrICpy
ZW5kZXJlciwgc3RkOjp2ZWN0b3I8QnVmZmVySGVscGVyICo+ICpidWZmZXJzKQogewogICAgIGZv
ciAoQnVmZmVySGVscGVyICp0b0ZyZWUgOiAqYnVmZmVycykKICAgICB7Ci0gICAgICAgIHRvRnJl
ZS0+ZGVzdHJveShkZXZpY2UpOworICAgICAgICB0b0ZyZWUtPmRlc3Ryb3kocmVuZGVyZXIpOwog
ICAgICAgICBkZWxldGUgdG9GcmVlOwogICAgIH0KIApAQCAtNTk4LDE3ICsxMTE3LDE3IEBAIHZv
aWQgRHluYW1pY0J1ZmZlcjo6cmVsZWFzZUluRmxpZ2h0QnVmZmVycyhDb250ZXh0VmsgKmNvbnRl
eHRWaykKICAgICBtSW5GbGlnaHRCdWZmZXJzLmNsZWFyKCk7CiB9CiAKLXZvaWQgRHluYW1pY0J1
ZmZlcjo6ZGVzdHJveShWa0RldmljZSBkZXZpY2UpCit2b2lkIER5bmFtaWNCdWZmZXI6OmRlc3Ry
b3koUmVuZGVyZXJWayAqcmVuZGVyZXIpCiB7CiAgICAgcmVzZXQoKTsKIAotICAgIGRlc3Ryb3lC
dWZmZXJMaXN0KGRldmljZSwgJm1JbkZsaWdodEJ1ZmZlcnMpOwotICAgIGRlc3Ryb3lCdWZmZXJM
aXN0KGRldmljZSwgJm1CdWZmZXJGcmVlTGlzdCk7CisgICAgZGVzdHJveUJ1ZmZlckxpc3QocmVu
ZGVyZXIsICZtSW5GbGlnaHRCdWZmZXJzKTsKKyAgICBkZXN0cm95QnVmZmVyTGlzdChyZW5kZXJl
ciwgJm1CdWZmZXJGcmVlTGlzdCk7CiAKICAgICBpZiAobUJ1ZmZlcikKICAgICB7Ci0gICAgICAg
IG1CdWZmZXItPnVubWFwKGRldmljZSk7Ci0gICAgICAgIG1CdWZmZXItPmRlc3Ryb3koZGV2aWNl
KTsKKyAgICAgICAgbUJ1ZmZlci0+dW5tYXAocmVuZGVyZXIpOworICAgICAgICBtQnVmZmVyLT5k
ZXN0cm95KHJlbmRlcmVyKTsKICAgICAgICAgZGVsZXRlIG1CdWZmZXI7CiAgICAgICAgIG1CdWZm
ZXIgPSBudWxscHRyOwogICAgIH0KQEAgLTY2Niw2ICsxMTg1LDY5IEBAIHZvaWQgRHluYW1pY0J1
ZmZlcjo6cmVzZXQoKQogICAgIG1MYXN0Rmx1c2hPckludmFsaWRhdGVPZmZzZXQgPSAwOwogfQog
CisvLyBEeW5hbWljU2hhZG93QnVmZmVyIGltcGxlbWVudGF0aW9uLgorRHluYW1pY1NoYWRvd0J1
ZmZlcjo6RHluYW1pY1NoYWRvd0J1ZmZlcigpIDogbUluaXRpYWxTaXplKDApLCBtU2l6ZSgwKSB7
fQorCitEeW5hbWljU2hhZG93QnVmZmVyOjpEeW5hbWljU2hhZG93QnVmZmVyKER5bmFtaWNTaGFk
b3dCdWZmZXIgJiZvdGhlcikKKyAgICA6IG1Jbml0aWFsU2l6ZShvdGhlci5tSW5pdGlhbFNpemUp
LCBtU2l6ZShvdGhlci5tU2l6ZSksIG1CdWZmZXIoc3RkOjptb3ZlKG90aGVyLm1CdWZmZXIpKQor
e30KKwordm9pZCBEeW5hbWljU2hhZG93QnVmZmVyOjppbml0KHNpemVfdCBpbml0aWFsU2l6ZSkK
K3sKKyAgICBtSW5pdGlhbFNpemUgPSBpbml0aWFsU2l6ZTsKK30KKworRHluYW1pY1NoYWRvd0J1
ZmZlcjo6fkR5bmFtaWNTaGFkb3dCdWZmZXIoKQoreworICAgIEFTU0VSVChtQnVmZmVyLmVtcHR5
KCkpOworfQorCithbmdsZTo6UmVzdWx0IER5bmFtaWNTaGFkb3dCdWZmZXI6OmFsbG9jYXRlKHNp
emVfdCBzaXplSW5CeXRlcykKK3sKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisKKyAgICAvLyBE
ZWxldGUgdGhlIGN1cnJlbnQgYnVmZmVyLCBpZiBhbnkKKyAgICBpZiAoIW1CdWZmZXIuZW1wdHko
KSkKKyAgICB7CisgICAgICAgIHJlc3VsdCAmPSBtQnVmZmVyLnJlc2l6ZSgwKTsKKyAgICB9CisK
KyAgICAvLyBDYWNoZSB0aGUgbmV3IHNpemUKKyAgICBtU2l6ZSA9IHN0ZDo6bWF4KG1Jbml0aWFs
U2l6ZSwgc2l6ZUluQnl0ZXMpOworCisgICAgLy8gQWxsb2NhdGUgdGhlIGJ1ZmZlcgorICAgIHJl
c3VsdCAmPSBtQnVmZmVyLnJlc2l6ZShtU2l6ZSk7CisKKyAgICAvLyBJZiBhbGxvY2F0aW9uIGZh
aWxlZCwgcmVsZWFzZSB0aGUgYnVmZmVyIGFuZCByZXR1cm4gZXJyb3IuCisgICAgaWYgKCFyZXN1
bHQpCisgICAgeworICAgICAgICByZWxlYXNlKCk7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVz
dWx0OjpTdG9wOworICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
K30KKwordm9pZCBEeW5hbWljU2hhZG93QnVmZmVyOjpyZWxlYXNlKCkKK3sKKyAgICByZXNldCgp
OworCisgICAgaWYgKCFtQnVmZmVyLmVtcHR5KCkpCisgICAgeworICAgICAgICAodm9pZCltQnVm
ZmVyLnJlc2l6ZSgwKTsKKyAgICB9Cit9CisKK3ZvaWQgRHluYW1pY1NoYWRvd0J1ZmZlcjo6ZGVz
dHJveShWa0RldmljZSBkZXZpY2UpCit7CisgICAgcmVsZWFzZSgpOworfQorCit2b2lkIER5bmFt
aWNTaGFkb3dCdWZmZXI6OnJlc2V0KCkKK3sKKyAgICBtU2l6ZSA9IDA7Cit9CisKIC8vIERlc2Ny
aXB0b3JQb29sSGVscGVyIGltcGxlbWVudGF0aW9uLgogRGVzY3JpcHRvclBvb2xIZWxwZXI6OkRl
c2NyaXB0b3JQb29sSGVscGVyKCkgOiBtRnJlZURlc2NyaXB0b3JTZXRzKDApIHt9CiAKQEAgLTEw
MDYsNDkgKzE1ODgsODAgQEAgdm9pZCBRdWVyeUhlbHBlcjo6ZGVpbml0KCkKICAgICBtRHluYW1p
Y1F1ZXJ5UG9vbCA9IG51bGxwdHI7CiAgICAgbVF1ZXJ5UG9vbEluZGV4ICAgPSAwOwogICAgIG1R
dWVyeSAgICAgICAgICAgID0gMDsKKyAgICBtTW9zdFJlY2VudFNlcmlhbCA9IFNlcmlhbCgpOwor
fQorCit2b2lkIFF1ZXJ5SGVscGVyOjpyZXNldFF1ZXJ5UG9vbChDb250ZXh0VmsgKmNvbnRleHRW
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRCdWZmZXIgKm91dHNp
ZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikKK3sKKyAgICBjb25zdCBRdWVyeVBvb2wgJnF1ZXJ5
UG9vbCA9IGdldFF1ZXJ5UG9vbCgpOworICAgIG91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZl
ci0+cmVzZXRRdWVyeVBvb2wocXVlcnlQb29sLmdldEhhbmRsZSgpLCBtUXVlcnksIDEpOwogfQog
CiBhbmdsZTo6UmVzdWx0IFF1ZXJ5SGVscGVyOjpiZWdpblF1ZXJ5KENvbnRleHRWayAqY29udGV4
dFZrKQogewotICAgIHZrOjpQcmltYXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeUNvbW1hbmRzOwot
ICAgIEFOR0xFX1RSWShjb250ZXh0VmstPmZsdXNoQW5kR2V0UHJpbWFyeUNvbW1hbmRCdWZmZXIo
JnByaW1hcnlDb21tYW5kcykpOworICAgIHZrOjpDb21tYW5kQnVmZmVyICpvdXRzaWRlUmVuZGVy
UGFzc0NvbW1hbmRCdWZmZXI7CisgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFz
c0FuZEdldENvbW1hbmRCdWZmZXIoJm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcikpOwog
ICAgIGNvbnN0IFF1ZXJ5UG9vbCAmcXVlcnlQb29sID0gZ2V0UXVlcnlQb29sKCk7Ci0gICAgcHJp
bWFyeUNvbW1hbmRzLT5yZXNldFF1ZXJ5UG9vbChxdWVyeVBvb2wsIG1RdWVyeSwgMSk7Ci0gICAg
cHJpbWFyeUNvbW1hbmRzLT5iZWdpblF1ZXJ5KHF1ZXJ5UG9vbCwgbVF1ZXJ5LCAwKTsKKyAgICBv
dXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXItPnJlc2V0UXVlcnlQb29sKHF1ZXJ5UG9vbC5n
ZXRIYW5kbGUoKSwgbVF1ZXJ5LCAxKTsKKyAgICBvdXRzaWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZm
ZXItPmJlZ2luUXVlcnkocXVlcnlQb29sLmdldEhhbmRsZSgpLCBtUXVlcnksIDApOwogICAgIG1N
b3N0UmVjZW50U2VyaWFsID0gY29udGV4dFZrLT5nZXRDdXJyZW50UXVldWVTZXJpYWwoKTsKICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgUXVl
cnlIZWxwZXI6OmVuZFF1ZXJ5KENvbnRleHRWayAqY29udGV4dFZrKQogewotICAgIHZrOjpQcmlt
YXJ5Q29tbWFuZEJ1ZmZlciAqcHJpbWFyeUNvbW1hbmRzOwotICAgIEFOR0xFX1RSWShjb250ZXh0
VmstPmZsdXNoQW5kR2V0UHJpbWFyeUNvbW1hbmRCdWZmZXIoJnByaW1hcnlDb21tYW5kcykpOwot
ICAgIHByaW1hcnlDb21tYW5kcy0+ZW5kUXVlcnkoZ2V0UXVlcnlQb29sKCksIG1RdWVyeSk7Cisg
ICAgdms6OkNvbW1hbmRCdWZmZXIgKm91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsKKyAg
ICBBTkdMRV9UUlkoY29udGV4dFZrLT5lbmRSZW5kZXJQYXNzQW5kR2V0Q29tbWFuZEJ1ZmZlcigm
b3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKSk7CisgICAgb3V0c2lkZVJlbmRlclBhc3ND
b21tYW5kQnVmZmVyLT5lbmRRdWVyeShnZXRRdWVyeVBvb2woKS5nZXRIYW5kbGUoKSwgbVF1ZXJ5
KTsKICAgICBtTW9zdFJlY2VudFNlcmlhbCA9IGNvbnRleHRWay0+Z2V0Q3VycmVudFF1ZXVlU2Vy
aWFsKCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCi1hbmdsZTo6
UmVzdWx0IFF1ZXJ5SGVscGVyOjpmbHVzaEFuZFdyaXRlVGltZXN0YW1wKENvbnRleHRWayAqY29u
dGV4dFZrKQordm9pZCBRdWVyeUhlbHBlcjo6YmVnaW5PY2NsdXNpb25RdWVyeShDb250ZXh0Vmsg
KmNvbnRleHRWaywgQ29tbWFuZEJ1ZmZlciAqcmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpCit7Cisg
ICAgY29uc3QgUXVlcnlQb29sICZxdWVyeVBvb2wgPSBnZXRRdWVyeVBvb2woKTsKKyAgICByZW5k
ZXJQYXNzQ29tbWFuZEJ1ZmZlci0+cXVldWVSZXNldFF1ZXJ5UG9vbChxdWVyeVBvb2wuZ2V0SGFu
ZGxlKCksIG1RdWVyeSwgMSk7CisgICAgcmVuZGVyUGFzc0NvbW1hbmRCdWZmZXItPmJlZ2luUXVl
cnkocXVlcnlQb29sLmdldEhhbmRsZSgpLCBtUXVlcnksIDApOworICAgIG1Nb3N0UmVjZW50U2Vy
aWFsID0gY29udGV4dFZrLT5nZXRDdXJyZW50UXVldWVTZXJpYWwoKTsKK30KKwordm9pZCBRdWVy
eUhlbHBlcjo6ZW5kT2NjbHVzaW9uUXVlcnkoQ29udGV4dFZrICpjb250ZXh0VmssIENvbW1hbmRC
dWZmZXIgKnJlbmRlclBhc3NDb21tYW5kQnVmZmVyKQogewotICAgIHZrOjpQcmltYXJ5Q29tbWFu
ZEJ1ZmZlciAqcHJpbWFyeTsKLSAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5mbHVzaEFuZEdldFBy
aW1hcnlDb21tYW5kQnVmZmVyKCZwcmltYXJ5KSk7Ci0gICAgd3JpdGVUaW1lc3RhbXAocHJpbWFy
eSk7CisgICAgcmVuZGVyUGFzc0NvbW1hbmRCdWZmZXItPmVuZFF1ZXJ5KGdldFF1ZXJ5UG9vbCgp
LmdldEhhbmRsZSgpLCBtUXVlcnkpOwogICAgIG1Nb3N0UmVjZW50U2VyaWFsID0gY29udGV4dFZr
LT5nZXRDdXJyZW50UXVldWVTZXJpYWwoKTsKK30KKworYW5nbGU6OlJlc3VsdCBRdWVyeUhlbHBl
cjo6Zmx1c2hBbmRXcml0ZVRpbWVzdGFtcChDb250ZXh0VmsgKmNvbnRleHRWaykKK3sKKyAgICB2
azo6Q29tbWFuZEJ1ZmZlciAqb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyOworICAgIEFO
R0xFX1RSWShjb250ZXh0VmstPmVuZFJlbmRlclBhc3NBbmRHZXRDb21tYW5kQnVmZmVyKCZvdXRz
aWRlUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpKTsKKyAgICB3cml0ZVRpbWVzdGFtcChjb250ZXh0
VmssIG91dHNpZGVSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CiAgICAgcmV0dXJuIGFuZ2xlOjpS
ZXN1bHQ6OkNvbnRpbnVlOwogfQogCi12b2lkIFF1ZXJ5SGVscGVyOjp3cml0ZVRpbWVzdGFtcCh2
azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIgKnByaW1hcnkpCit2b2lkIFF1ZXJ5SGVscGVyOjp3cml0
ZVRpbWVzdGFtcChDb250ZXh0VmsgKmNvbnRleHRWaywgUHJpbWFyeUNvbW1hbmRCdWZmZXIgKnBy
aW1hcnkpCiB7CiAgICAgY29uc3QgUXVlcnlQb29sICZxdWVyeVBvb2wgPSBnZXRRdWVyeVBvb2wo
KTsKICAgICBwcmltYXJ5LT5yZXNldFF1ZXJ5UG9vbChxdWVyeVBvb2wsIG1RdWVyeSwgMSk7CiAg
ICAgcHJpbWFyeS0+d3JpdGVUaW1lc3RhbXAoVktfUElQRUxJTkVfU1RBR0VfQk9UVE9NX09GX1BJ
UEVfQklULCBxdWVyeVBvb2wsIG1RdWVyeSk7CisgICAgbU1vc3RSZWNlbnRTZXJpYWwgPSBjb250
ZXh0VmstPmdldEN1cnJlbnRRdWV1ZVNlcmlhbCgpOworfQorCit2b2lkIFF1ZXJ5SGVscGVyOjp3
cml0ZVRpbWVzdGFtcChDb250ZXh0VmsgKmNvbnRleHRWaywgQ29tbWFuZEJ1ZmZlciAqY29tbWFu
ZEJ1ZmZlcikKK3sKKyAgICBjb25zdCBRdWVyeVBvb2wgJnF1ZXJ5UG9vbCA9IGdldFF1ZXJ5UG9v
bCgpOworICAgIGNvbW1hbmRCdWZmZXItPnJlc2V0UXVlcnlQb29sKHF1ZXJ5UG9vbC5nZXRIYW5k
bGUoKSwgbVF1ZXJ5LCAxKTsKKyAgICBjb21tYW5kQnVmZmVyLT53cml0ZVRpbWVzdGFtcChWS19Q
SVBFTElORV9TVEFHRV9CT1RUT01fT0ZfUElQRV9CSVQsIHF1ZXJ5UG9vbC5nZXRIYW5kbGUoKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtUXVlcnkpOworICAgIG1Nb3N0UmVj
ZW50U2VyaWFsID0gY29udGV4dFZrLT5nZXRDdXJyZW50UXVldWVTZXJpYWwoKTsKIH0KIAogYm9v
bCBRdWVyeUhlbHBlcjo6aGFzUGVuZGluZ1dvcmsoQ29udGV4dFZrICpjb250ZXh0VmspCiB7CiAg
ICAgLy8gSWYgdGhlIHJlbmRlcmVyIGhhcyBhIHF1ZXVlIHNlcmlhbCBoaWdoZXIgdGhhbiB0aGUg
c3RvcmVkIG9uZSwgdGhlIGNvbW1hbmQgYnVmZmVycyB0aGF0CiAgICAgLy8gcmVjb3JkZWQgdGhp
cyBxdWVyeSBoYXZlIGFscmVhZHkgYmVlbiBzdWJtaXR0ZWQsIHNvIHRoZXJlIGlzIG5vIHBlbmRp
bmcgd29yay4KLSAgICByZXR1cm4gbU1vc3RSZWNlbnRTZXJpYWwgPT0gY29udGV4dFZrLT5nZXRD
dXJyZW50UXVldWVTZXJpYWwoKTsKKyAgICByZXR1cm4gbU1vc3RSZWNlbnRTZXJpYWwudmFsaWQo
KSAmJiAobU1vc3RSZWNlbnRTZXJpYWwgPT0gY29udGV4dFZrLT5nZXRDdXJyZW50UXVldWVTZXJp
YWwoKSk7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgUXVlcnlIZWxwZXI6OmdldFVpbnQ2NFJlc3VsdE5v
bkJsb2NraW5nKENvbnRleHRWayAqY29udGV4dFZrLApAQCAtMTA1NiwxMCArMTY2OSwyMiBAQCBh
bmdsZTo6UmVzdWx0IFF1ZXJ5SGVscGVyOjpnZXRVaW50NjRSZXN1bHROb25CbG9ja2luZyhDb250
ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgKmF2YWlsYWJsZU91dCkKIHsKICAgICBBU1NFUlQodmFsaWQo
KSk7Ci0gICAgVmtEZXZpY2UgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgPSBjb250ZXh0Vmst
PmdldERldmljZSgpOwotICAgIGNvbnN0ZXhwciBWa1F1ZXJ5UmVzdWx0RmxhZ3Mga0ZsYWdzID0g
VktfUVVFUllfUkVTVUxUXzY0X0JJVDsKLSAgICBWa1Jlc3VsdCByZXN1bHQgPSBnZXRRdWVyeVBv
b2woKS5nZXRSZXN1bHRzKGRldmljZSwgbVF1ZXJ5LCAxLCBzaXplb2YodWludDY0X3QpLCByZXN1
bHRPdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplb2YodWludDY0X3QpLCBrRmxhZ3MpOworICAgIFZrUmVzdWx0IHJlc3VsdDsKKworICAgIC8v
IEVuc3VyZSB0aGF0IHdlIG9ubHkgd2FpdCBpZiB3ZSBoYXZlIGluc2VydGVkIGEgcXVlcnkgaW4g
Y29tbWFuZCBidWZmZXIuIE90aGVyd2lzZSB5b3Ugd2lsbAorICAgIC8vIHdhaXQgZm9yZXZlciBh
bmQgdHJpZ2dlciBHUFUgdGltZW91dC4KKyAgICBpZiAobU1vc3RSZWNlbnRTZXJpYWwudmFsaWQo
KSkKKyAgICB7CisgICAgICAgIFZrRGV2aWNlIGRldmljZSAgICAgICAgICAgICAgICAgICAgID0g
Y29udGV4dFZrLT5nZXREZXZpY2UoKTsKKyAgICAgICAgY29uc3RleHByIFZrUXVlcnlSZXN1bHRG
bGFncyBrRmxhZ3MgPSBWS19RVUVSWV9SRVNVTFRfNjRfQklUOworICAgICAgICByZXN1bHQgPSBn
ZXRRdWVyeVBvb2woKS5nZXRSZXN1bHRzKGRldmljZSwgbVF1ZXJ5LCAxLCBzaXplb2YodWludDY0
X3QpLCByZXN1bHRPdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2l6ZW9mKHVpbnQ2NF90KSwga0ZsYWdzKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAg
ICAgICAgcmVzdWx0ICAgICA9IFZLX1NVQ0NFU1M7CisgICAgICAgICpyZXN1bHRPdXQgPSAwOwor
ICAgIH0KIAogICAgIGlmIChyZXN1bHQgPT0gVktfTk9UX1JFQURZKQogICAgIHsKQEAgLTEwNzcs
MTAgKzE3MDIsMTcgQEAgYW5nbGU6OlJlc3VsdCBRdWVyeUhlbHBlcjo6Z2V0VWludDY0UmVzdWx0
Tm9uQmxvY2tpbmcoQ29udGV4dFZrICpjb250ZXh0VmssCiBhbmdsZTo6UmVzdWx0IFF1ZXJ5SGVs
cGVyOjpnZXRVaW50NjRSZXN1bHQoQ29udGV4dFZrICpjb250ZXh0VmssIHVpbnQ2NF90ICpyZXN1
bHRPdXQpCiB7CiAgICAgQVNTRVJUKHZhbGlkKCkpOwotICAgIFZrRGV2aWNlIGRldmljZSAgICAg
ICAgICAgICAgICAgICAgID0gY29udGV4dFZrLT5nZXREZXZpY2UoKTsKLSAgICBjb25zdGV4cHIg
VmtRdWVyeVJlc3VsdEZsYWdzIGtGbGFncyA9IFZLX1FVRVJZX1JFU1VMVF82NF9CSVQgfCBWS19R
VUVSWV9SRVNVTFRfV0FJVF9CSVQ7Ci0gICAgQU5HTEVfVktfVFJZKGNvbnRleHRWaywgZ2V0UXVl
cnlQb29sKCkuZ2V0UmVzdWx0cyhkZXZpY2UsIG1RdWVyeSwgMSwgc2l6ZW9mKHVpbnQ2NF90KSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3VsdE91dCwgc2l6ZW9mKHVpbnQ2NF90KSwga0ZsYWdzKSk7CisgICAgaWYgKG1Nb3N0UmVjZW50
U2VyaWFsLnZhbGlkKCkpCisgICAgeworICAgICAgICBWa0RldmljZSBkZXZpY2UgICAgICAgICAg
ICAgICAgICAgICA9IGNvbnRleHRWay0+Z2V0RGV2aWNlKCk7CisgICAgICAgIGNvbnN0ZXhwciBW
a1F1ZXJ5UmVzdWx0RmxhZ3Mga0ZsYWdzID0gVktfUVVFUllfUkVTVUxUXzY0X0JJVCB8IFZLX1FV
RVJZX1JFU1VMVF9XQUlUX0JJVDsKKyAgICAgICAgQU5HTEVfVktfVFJZKGNvbnRleHRWaywgZ2V0
UXVlcnlQb29sKCkuZ2V0UmVzdWx0cyhkZXZpY2UsIG1RdWVyeSwgMSwgc2l6ZW9mKHVpbnQ2NF90
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXN1bHRPdXQsIHNpemVvZih1aW50NjRfdCksIGtGbGFncykpOworICAgIH0KKyAgICBl
bHNlCisgICAgeworICAgICAgICAqcmVzdWx0T3V0ID0gMDsKKyAgICB9CiAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0xMjU2LDcgKzE4ODgsNyBAQCBhbmdsZTo6
UmVzdWx0IExpbmVMb29wSGVscGVyOjpnZXRJbmRleEJ1ZmZlckZvckVsZW1lbnRBcnJheUJ1ZmZl
cihDb250ZXh0VmsgKmNvbgogICAgICAgICBBTkdMRV9UUlkoc3RyZWFtSW5kaWNlcyhjb250ZXh0
VmssIGdsSW5kZXhUeXBlLCBpbmRleENvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90ICo+KHNyY0RhdGFNYXBwaW5nKSArIGVsZW1l
bnRBcnJheU9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyT3V0
LCBidWZmZXJPZmZzZXRPdXQsIGluZGV4Q291bnRPdXQpKTsKLSAgICAgICAgZWxlbWVudEFycmF5
QnVmZmVyVmstPnVubWFwSW1wbChjb250ZXh0VmspOworICAgICAgICBBTkdMRV9UUlkoZWxlbWVu
dEFycmF5QnVmZmVyVmstPnVubWFwSW1wbChjb250ZXh0VmspKTsKICAgICAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KIApAQCAtMTI4MSw3ICsxOTEzLDcgQEAgYW5n
bGU6OlJlc3VsdCBMaW5lTG9vcEhlbHBlcjo6Z2V0SW5kZXhCdWZmZXJGb3JFbGVtZW50QXJyYXlC
dWZmZXIoQ29udGV4dFZrICpjb24KICAgICBpZiAoY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLT5n
ZXRGZWF0dXJlcygpLmV4dHJhQ29weUJ1ZmZlclJlZ2lvbi5lbmFibGVkKQogICAgICAgICBjb3Bp
ZXMucHVzaF9iYWNrKHtzb3VyY2VPZmZzZXQsICpidWZmZXJPZmZzZXRPdXQgKyAodW5pdENvdW50
ICsgMSkgKiB1bml0U2l6ZSwgMX0pOwogCi0gICAgQU5HTEVfVFJZKGVsZW1lbnRBcnJheUJ1ZmZl
clZrLT5jb3B5VG9CdWZmZXIoCisgICAgQU5HTEVfVFJZKGVsZW1lbnRBcnJheUJ1ZmZlclZrLT5j
b3B5VG9CdWZmZXJJbXBsKAogICAgICAgICBjb250ZXh0VmssICpidWZmZXJPdXQsIHN0YXRpY19j
YXN0PHVpbnQzMl90Pihjb3BpZXMuc2l6ZSgpKSwgY29waWVzLmRhdGEoKSkpOwogICAgIEFOR0xF
X1RSWShtRHluYW1pY0luZGV4QnVmZmVyLmZsdXNoKGNvbnRleHRWaykpOwogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTE0NDIsMTAgKzIwNzQsMTAgQEAgdm9pZCBMaW5l
TG9vcEhlbHBlcjo6cmVsZWFzZShDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICBtRHluYW1pY0lu
ZGlyZWN0QnVmZmVyLnJlbGVhc2UoY29udGV4dFZrLT5nZXRSZW5kZXJlcigpKTsKIH0KIAotdm9p
ZCBMaW5lTG9vcEhlbHBlcjo6ZGVzdHJveShWa0RldmljZSBkZXZpY2UpCit2b2lkIExpbmVMb29w
SGVscGVyOjpkZXN0cm95KFJlbmRlcmVyVmsgKnJlbmRlcmVyKQogewotICAgIG1EeW5hbWljSW5k
ZXhCdWZmZXIuZGVzdHJveShkZXZpY2UpOwotICAgIG1EeW5hbWljSW5kaXJlY3RCdWZmZXIuZGVz
dHJveShkZXZpY2UpOworICAgIG1EeW5hbWljSW5kZXhCdWZmZXIuZGVzdHJveShyZW5kZXJlcik7
CisgICAgbUR5bmFtaWNJbmRpcmVjdEJ1ZmZlci5kZXN0cm95KHJlbmRlcmVyKTsKIH0KIAogLy8g
c3RhdGljCkBAIC0xNDU1LDYgKzIwODcsMTYgQEAgdm9pZCBMaW5lTG9vcEhlbHBlcjo6RHJhdyh1
aW50MzJfdCBjb3VudCwgdWludDMyX3QgYmFzZVZlcnRleCwgQ29tbWFuZEJ1ZmZlciAqY28KICAg
ICBjb21tYW5kQnVmZmVyLT5kcmF3SW5kZXhlZEJhc2VWZXJ0ZXgoY291bnQsIGJhc2VWZXJ0ZXgp
OwogfQogCisvLyBQaXBlbGluZUJhcnJpZXIgaW1wbGVtZW50YXRpb24uCit2b2lkIFBpcGVsaW5l
QmFycmllcjo6YWRkRGlhZ25vc3RpY3NTdHJpbmcoc3RkOjpvc3RyaW5nc3RyZWFtICZvdXQpIGNv
bnN0Cit7CisgICAgaWYgKG1NZW1vcnlCYXJyaWVyU3JjQWNjZXNzICE9IDAgfHwgbU1lbW9yeUJh
cnJpZXJEc3RBY2Nlc3MgIT0gMCkKKyAgICB7CisgICAgICAgIG91dCA8PCAiU3JjOiAweCIgPDwg
c3RkOjpoZXggPDwgbU1lbW9yeUJhcnJpZXJTcmNBY2Nlc3MgPDwgIiAmcmFycjsgRHN0OiAweCIg
PDwgc3RkOjpoZXgKKyAgICAgICAgICAgIDw8IG1NZW1vcnlCYXJyaWVyRHN0QWNjZXNzIDw8IHN0
ZDo6ZW5kbDsKKyAgICB9Cit9CisKIC8vIEJ1ZmZlckhlbHBlciBpbXBsZW1lbnRhdGlvbi4KIEJ1
ZmZlckhlbHBlcjo6QnVmZmVySGVscGVyKCkKICAgICA6IG1NZW1vcnlQcm9wZXJ0eUZsYWdze30s
CkBAIC0xNDYzLDcgKzIxMDUsOSBAQCBCdWZmZXJIZWxwZXI6OkJ1ZmZlckhlbHBlcigpCiAgICAg
ICBtVmlld0Zvcm1hdChudWxscHRyKSwKICAgICAgIG1DdXJyZW50UXVldWVGYW1pbHlJbmRleChz
dGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpLAogICAgICAgbUN1cnJlbnRXcml0
ZUFjY2VzcygwKSwKLSAgICAgIG1DdXJyZW50UmVhZEFjY2VzcygwKQorICAgICAgbUN1cnJlbnRS
ZWFkQWNjZXNzKDApLAorICAgICAgbUN1cnJlbnRXcml0ZVN0YWdlcygwKSwKKyAgICAgIG1DdXJy
ZW50UmVhZFN0YWdlcygwKQoge30KIAogQnVmZmVySGVscGVyOjp+QnVmZmVySGVscGVyKCkgPSBk
ZWZhdWx0OwpAQCAtMTQ5NiwxMSArMjE0MCwxNSBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckhlbHBl
cjo6aW5pdChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgY3JlYXRlSW5mbyA9ICZtb2Rp
ZmllZENyZWF0ZUluZm87CiAgICAgfQogCi0gICAgQU5HTEVfVktfVFJZKGNvbnRleHRWaywgbUJ1
ZmZlci5pbml0KGNvbnRleHRWay0+Z2V0RGV2aWNlKCksICpjcmVhdGVJbmZvKSk7CisgICAgVmtN
ZW1vcnlQcm9wZXJ0eUZsYWdzIHJlcXVpcmVkRmxhZ3MgPQorICAgICAgICAobWVtb3J5UHJvcGVy
dHlGbGFncyAmIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUKTsKKyAgICBWa01l
bW9yeVByb3BlcnR5RmxhZ3MgcHJlZmVycmVkRmxhZ3MgPQorICAgICAgICAobWVtb3J5UHJvcGVy
dHlGbGFncyAmICh+VktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQpKTsKKworICAg
IG1BbGxvY2F0aW9uLmNyZWF0ZUJ1ZmZlckFuZE1lbW9yeSgKKyAgICAgICAgcmVuZGVyZXItPmdl
dEFsbG9jYXRvcigpLCBjcmVhdGVJbmZvLCByZXF1aXJlZEZsYWdzLCBwcmVmZXJyZWRGbGFncywK
KyAgICAgICAgcmVuZGVyZXItPmdldEZlYXR1cmVzKCkucGVyc2lzdGVudGx5TWFwcGVkQnVmZmVy
cy5lbmFibGVkLCAmbUJ1ZmZlciwgJm1NZW1vcnlQcm9wZXJ0eUZsYWdzKTsKIAotICAgIFZrRGV2
aWNlU2l6ZSBzaXplOwotICAgIEFOR0xFX1RSWShBbGxvY2F0ZUJ1ZmZlck1lbW9yeShjb250ZXh0
VmssIG1lbW9yeVByb3BlcnR5RmxhZ3MsICZtTWVtb3J5UHJvcGVydHlGbGFncywgbnVsbHB0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1CdWZmZXIsICZtRGV2aWNlTWVt
b3J5LCAmc2l6ZSkpOwogICAgIG1DdXJyZW50UXVldWVGYW1pbHlJbmRleCA9IGNvbnRleHRWay0+
Z2V0UmVuZGVyZXIoKS0+Z2V0UXVldWVGYW1pbHlJbmRleCgpOwogCiAgICAgaWYgKHJlbmRlcmVy
LT5nZXRGZWF0dXJlcygpLmFsbG9jYXRlTm9uWmVyb01lbW9yeS5lbmFibGVkKQpAQCAtMTUwOCwx
MCArMjE1NiwxOCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckhlbHBlcjo6aW5pdChDb250ZXh0Vmsg
KmNvbnRleHRWaywKICAgICAgICAgLy8gVGhpcyBtZW1vcnkgY2FuJ3QgYmUgbWFwcGVkLCBzbyB0
aGUgYnVmZmVyIG11c3QgYmUgbWFya2VkIGFzIGEgdHJhbnNmZXIgZGVzdGluYXRpb24gc28gd2UK
ICAgICAgICAgLy8gY2FuIHVzZSBhIHN0YWdpbmcgcmVzb3VyY2UgdG8gaW5pdGlhbGl6ZSBpdCB0
byBhIG5vbi16ZXJvIHZhbHVlLiBJZiB0aGUgbWVtb3J5IGlzCiAgICAgICAgIC8vIG1hcHBhYmxl
IHdlIGRvIHRoZSBpbml0aWFsaXphdGlvbiBpbiBBbGxvY2F0ZUJ1ZmZlck1lbW9yeS4KLSAgICAg
ICAgaWYgKChtZW1vcnlQcm9wZXJ0eUZsYWdzICYgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklT
SUJMRV9CSVQpID09IDAgJiYKKyAgICAgICAgaWYgKChtTWVtb3J5UHJvcGVydHlGbGFncyAmIFZL
X01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUKSA9PSAwICYmCiAgICAgICAgICAgICAo
cmVxdWVzdGVkQ3JlYXRlSW5mby51c2FnZSAmIFZLX0JVRkZFUl9VU0FHRV9UUkFOU0ZFUl9EU1Rf
QklUKSAhPSAwKQogICAgICAgICB7Ci0gICAgICAgICAgICBBTkdMRV9UUlkoaW5pdGlhbGl6ZU5v
blplcm9NZW1vcnkoY29udGV4dFZrLCBzaXplKSk7CisgICAgICAgICAgICBBTkdMRV9UUlkoaW5p
dGlhbGl6ZU5vblplcm9NZW1vcnkoY29udGV4dFZrLCBjcmVhdGVJbmZvLT5zaXplKSk7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSBpZiAoKG1NZW1vcnlQcm9wZXJ0eUZsYWdzICYgVktfTUVNT1JZ
X1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQpICE9IDApCisgICAgICAgIHsKKyAgICAgICAgICAg
IC8vIENhbiBtYXAgdGhlIG1lbW9yeS4KKyAgICAgICAgICAgIC8vIFBpY2sgYW4gYXJiaXRyYXJ5
IHZhbHVlIHRvIGluaXRpYWxpemUgbm9uLXplcm8gbWVtb3J5IGZvciBzYW5pdGl6YXRpb24uCisg
ICAgICAgICAgICBjb25zdGV4cHIgaW50IGtOb25aZXJvSW5pdFZhbHVlID0gNTU7CisgICAgICAg
ICAgICBBTkdMRV9UUlkoSW5pdE1hcHBhYmxlQWxsb2NhdGlvbihyZW5kZXJlci0+Z2V0QWxsb2Nh
dG9yKCksICZtQWxsb2NhdGlvbiwgbVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBrTm9uWmVyb0luaXRWYWx1ZSwgbU1lbW9yeVByb3BlcnR5RmxhZ3Mp
KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTU0OSw1NCArMjIwNSwzOCBAQCBhbmdsZTo6UmVz
dWx0IEJ1ZmZlckhlbHBlcjo6aW5pdGlhbGl6ZU5vblplcm9NZW1vcnkoQ29udGV4dCAqY29udGV4
dCwgVmtEZXZpY2VTaQogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAot
dm9pZCBCdWZmZXJIZWxwZXI6OmRlc3Ryb3koVmtEZXZpY2UgZGV2aWNlKQordm9pZCBCdWZmZXJI
ZWxwZXI6OmRlc3Ryb3koUmVuZGVyZXJWayAqcmVuZGVyZXIpCiB7Ci0gICAgdW5tYXAoZGV2aWNl
KTsKKyAgICBWa0RldmljZSBkZXZpY2UgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisgICAgdW5t
YXAocmVuZGVyZXIpOwogICAgIG1TaXplICAgICAgID0gMDsKICAgICBtVmlld0Zvcm1hdCA9IG51
bGxwdHI7CiAKICAgICBtQnVmZmVyLmRlc3Ryb3koZGV2aWNlKTsKICAgICBtQnVmZmVyVmlldy5k
ZXN0cm95KGRldmljZSk7Ci0gICAgbURldmljZU1lbW9yeS5kZXN0cm95KGRldmljZSk7CisgICAg
bUFsbG9jYXRpb24uZGVzdHJveShyZW5kZXJlci0+Z2V0QWxsb2NhdG9yKCkpOwogfQogCiB2b2lk
IEJ1ZmZlckhlbHBlcjo6cmVsZWFzZShSZW5kZXJlclZrICpyZW5kZXJlcikKIHsKLSAgICB1bm1h
cChyZW5kZXJlci0+Z2V0RGV2aWNlKCkpOworICAgIHVubWFwKHJlbmRlcmVyKTsKICAgICBtU2l6
ZSAgICAgICA9IDA7CiAgICAgbVZpZXdGb3JtYXQgPSBudWxscHRyOwogCi0gICAgcmVuZGVyZXIt
PmNvbGxlY3RHYXJiYWdlQW5kUmVpbml0KCZtVXNlLCAmbUJ1ZmZlciwgJm1CdWZmZXJWaWV3LCAm
bURldmljZU1lbW9yeSk7Ci19Ci0KLWJvb2wgQnVmZmVySGVscGVyOjpuZWVkc09uV3JpdGVCYXJy
aWVyKFZrQWNjZXNzRmxhZ3Mgd3JpdGVBY2Nlc3NUeXBlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmtBY2Nlc3NGbGFncyAqYmFycmllclNyY091dCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxhZ3MgKmJhcnJpZXJEc3RP
dXQpCi17Ci0gICAgYm9vbCBuZWVkc0JhcnJpZXIgPSBtQ3VycmVudFJlYWRBY2Nlc3MgIT0gMCB8
fCBtQ3VycmVudFdyaXRlQWNjZXNzICE9IDA7Ci0KLSAgICAvLyBOb3RlOiBtQ3VycmVudFJlYWRB
Y2Nlc3MgaXMgbm90IHBhcnQgb2YgYmFycmllciBzcmMgZmxhZ3MgYXMgImFueXRoaW5nLWFmdGVy
LXJlYWQiIGlzCi0gICAgLy8gc2F0aXNpZmllZCBieSBleGVjdXRpb24gYmFycmllcnMgYWxvbmUu
Ci0gICAgKmJhcnJpZXJTcmNPdXQgPSBtQ3VycmVudFdyaXRlQWNjZXNzOwotICAgICpiYXJyaWVy
RHN0T3V0ID0gd3JpdGVBY2Nlc3NUeXBlOwotCi0gICAgbUN1cnJlbnRXcml0ZUFjY2VzcyA9IHdy
aXRlQWNjZXNzVHlwZTsKLSAgICBtQ3VycmVudFJlYWRBY2Nlc3MgID0gMDsKLQotICAgIHJldHVy
biBuZWVkc0JhcnJpZXI7CisgICAgcmVuZGVyZXItPmNvbGxlY3RHYXJiYWdlQW5kUmVpbml0KCZt
VXNlLCAmbUJ1ZmZlciwgJm1CdWZmZXJWaWV3LCAmbUFsbG9jYXRpb24pOwogfQogCiBhbmdsZTo6
UmVzdWx0IEJ1ZmZlckhlbHBlcjo6Y29weUZyb21CdWZmZXIoQ29udGV4dFZrICpjb250ZXh0Vmss
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVySGVscGVy
ICpzcmNCdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VmtBY2Nlc3NGbGFncyBidWZmZXJBY2Nlc3NUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQnVmZmVyQ29weSAmY29weVJlZ2lvbikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCByZWdpb25Db3Vu
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0J1
ZmZlckNvcHkgKmNvcHlSZWdpb25zKQogewogICAgIENvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZm
ZXIgPSBudWxscHRyOwotICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyV3JpdGUoYnVm
ZmVyQWNjZXNzVHlwZSwgdGhpcykpOwotICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVy
UmVhZChWS19BQ0NFU1NfVFJBTlNGRVJfUkVBRF9CSVQsIHNyY0J1ZmZlcikpOworICAgIEFOR0xF
X1RSWShjb250ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJSZWFkKHNyY0J1ZmZlcikpOworICAgIEFO
R0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJXcml0ZSh0aGlzKSk7CiAgICAgQU5H
TEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1h
bmRCdWZmZXIpKTsKIAotICAgIGNvbW1hbmRCdWZmZXItPmNvcHlCdWZmZXIoc3JjQnVmZmVyLT5n
ZXRCdWZmZXIoKSwgbUJ1ZmZlciwgMSwgJmNvcHlSZWdpb24pOworICAgIGNvbW1hbmRCdWZmZXIt
PmNvcHlCdWZmZXIoc3JjQnVmZmVyLT5nZXRCdWZmZXIoKSwgbUJ1ZmZlciwgcmVnaW9uQ291bnQs
IGNvcHlSZWdpb25zKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0K
QEAgLTE2MjYsNDcgKzIyNjYsMzkgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJIZWxwZXI6OmluaXRC
dWZmZXJWaWV3KENvbnRleHRWayAqY29udGV4dFZrLCBjb25zdCBGb3JtYXQgJmYKIAogYW5nbGU6
OlJlc3VsdCBCdWZmZXJIZWxwZXI6Om1hcEltcGwoQ29udGV4dFZrICpjb250ZXh0VmspCiB7Ci0g
ICAgQU5HTEVfVktfVFJZKGNvbnRleHRWaywgbURldmljZU1lbW9yeS5tYXAoY29udGV4dFZrLT5n
ZXREZXZpY2UoKSwgMCwgbVNpemUsIDAsICZtTWFwcGVkTWVtb3J5KSk7CisgICAgQU5HTEVfVktf
VFJZKGNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgbUFsbG9jYXRpb24ubWFwKGNvbnRleHRW
ay0+Z2V0UmVuZGVyZXIoKS0+Z2V0QWxsb2NhdG9yKCksICZtTWFwcGVkTWVtb3J5KSk7CisKICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKLXZvaWQgQnVmZmVySGVscGVy
Ojp1bm1hcChWa0RldmljZSBkZXZpY2UpCit2b2lkIEJ1ZmZlckhlbHBlcjo6dW5tYXAoUmVuZGVy
ZXJWayAqcmVuZGVyZXIpCiB7CiAgICAgaWYgKG1NYXBwZWRNZW1vcnkpCiAgICAgewotICAgICAg
ICBtRGV2aWNlTWVtb3J5LnVubWFwKGRldmljZSk7CisgICAgICAgIG1BbGxvY2F0aW9uLnVubWFw
KHJlbmRlcmVyLT5nZXRBbGxvY2F0b3IoKSk7CiAgICAgICAgIG1NYXBwZWRNZW1vcnkgPSBudWxs
cHRyOwogICAgIH0KIH0KIAotYW5nbGU6OlJlc3VsdCBCdWZmZXJIZWxwZXI6OmZsdXNoKENvbnRl
eHRWayAqY29udGV4dFZrLCBWa0RldmljZVNpemUgb2Zmc2V0LCBWa0RldmljZVNpemUgc2l6ZSkK
K2FuZ2xlOjpSZXN1bHQgQnVmZmVySGVscGVyOjpmbHVzaChSZW5kZXJlclZrICpyZW5kZXJlciwg
VmtEZXZpY2VTaXplIG9mZnNldCwgVmtEZXZpY2VTaXplIHNpemUpCiB7CiAgICAgYm9vbCBob3N0
VmlzaWJsZSAgPSBtTWVtb3J5UHJvcGVydHlGbGFncyAmIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NU
X1ZJU0lCTEVfQklUOwogICAgIGJvb2wgaG9zdENvaGVyZW50ID0gbU1lbW9yeVByb3BlcnR5Rmxh
Z3MgJiBWS19NRU1PUllfUFJPUEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQ7CiAgICAgaWYgKGhvc3RW
aXNpYmxlICYmICFob3N0Q29oZXJlbnQpCiAgICAgewotICAgICAgICBWa01hcHBlZE1lbW9yeVJh
bmdlIHJhbmdlID0ge307Ci0gICAgICAgIHJhbmdlLnNUeXBlICAgICAgICAgICAgICAgPSBWS19T
VFJVQ1RVUkVfVFlQRV9NQVBQRURfTUVNT1JZX1JBTkdFOwotICAgICAgICByYW5nZS5tZW1vcnkg
ICAgICAgICAgICAgID0gbURldmljZU1lbW9yeS5nZXRIYW5kbGUoKTsKLSAgICAgICAgcmFuZ2Uu
b2Zmc2V0ICAgICAgICAgICAgICA9IG9mZnNldDsKLSAgICAgICAgcmFuZ2Uuc2l6ZSAgICAgICAg
ICAgICAgICA9IHNpemU7Ci0gICAgICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIHZrRmx1c2hN
YXBwZWRNZW1vcnlSYW5nZXMoY29udGV4dFZrLT5nZXREZXZpY2UoKSwgMSwgJnJhbmdlKSk7Cisg
ICAgICAgIG1BbGxvY2F0aW9uLmZsdXNoKHJlbmRlcmVyLT5nZXRBbGxvY2F0b3IoKSwgb2Zmc2V0
LCBzaXplKTsKICAgICB9CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQog
Ci1hbmdsZTo6UmVzdWx0IEJ1ZmZlckhlbHBlcjo6aW52YWxpZGF0ZShDb250ZXh0VmsgKmNvbnRl
eHRWaywgVmtEZXZpY2VTaXplIG9mZnNldCwgVmtEZXZpY2VTaXplIHNpemUpCithbmdsZTo6UmVz
dWx0IEJ1ZmZlckhlbHBlcjo6aW52YWxpZGF0ZShSZW5kZXJlclZrICpyZW5kZXJlciwgVmtEZXZp
Y2VTaXplIG9mZnNldCwgVmtEZXZpY2VTaXplIHNpemUpCiB7CiAgICAgYm9vbCBob3N0VmlzaWJs
ZSAgPSBtTWVtb3J5UHJvcGVydHlGbGFncyAmIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lC
TEVfQklUOwogICAgIGJvb2wgaG9zdENvaGVyZW50ID0gbU1lbW9yeVByb3BlcnR5RmxhZ3MgJiBW
S19NRU1PUllfUFJPUEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQ7CiAgICAgaWYgKGhvc3RWaXNpYmxl
ICYmICFob3N0Q29oZXJlbnQpCiAgICAgewotICAgICAgICBWa01hcHBlZE1lbW9yeVJhbmdlIHJh
bmdlID0ge307Ci0gICAgICAgIHJhbmdlLnNUeXBlICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RV
UkVfVFlQRV9NQVBQRURfTUVNT1JZX1JBTkdFOwotICAgICAgICByYW5nZS5tZW1vcnkgICAgICAg
ICAgICAgID0gbURldmljZU1lbW9yeS5nZXRIYW5kbGUoKTsKLSAgICAgICAgcmFuZ2Uub2Zmc2V0
ICAgICAgICAgICAgICA9IG9mZnNldDsKLSAgICAgICAgcmFuZ2Uuc2l6ZSAgICAgICAgICAgICAg
ICA9IHNpemU7Ci0gICAgICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0VmssIHZrSW52YWxpZGF0ZU1h
cHBlZE1lbW9yeVJhbmdlcyhjb250ZXh0VmstPmdldERldmljZSgpLCAxLCAmcmFuZ2UpKTsKKyAg
ICAgICAgbUFsbG9jYXRpb24uaW52YWxpZGF0ZShyZW5kZXJlci0+Z2V0QWxsb2NhdG9yKCksIG9m
ZnNldCwgc2l6ZSk7CiAgICAgfQogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
IH0KQEAgLTE2ODksNiArMjMyMSwzNiBAQCB2b2lkIEJ1ZmZlckhlbHBlcjo6Y2hhbmdlUXVldWUo
dWludDMyX3QgbmV3UXVldWVGYW1pbHlJbmRleCwgQ29tbWFuZEJ1ZmZlciAqY29tbQogICAgIG1D
dXJyZW50UXVldWVGYW1pbHlJbmRleCA9IG5ld1F1ZXVlRmFtaWx5SW5kZXg7CiB9CiAKK3ZvaWQg
QnVmZmVySGVscGVyOjphY3F1aXJlRnJvbUV4dGVybmFsKENvbnRleHRWayAqY29udGV4dFZrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZXh0ZXJuYWxR
dWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgcmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcikKK3sKKyAgICBt
Q3VycmVudFF1ZXVlRmFtaWx5SW5kZXggPSBleHRlcm5hbFF1ZXVlRmFtaWx5SW5kZXg7CisKKyAg
ICBjaGFuZ2VRdWV1ZShyZW5kZXJlclF1ZXVlRmFtaWx5SW5kZXgsIGNvbW1hbmRCdWZmZXIpOwor
fQorCit2b2lkIEJ1ZmZlckhlbHBlcjo6cmVsZWFzZVRvRXh0ZXJuYWwoQ29udGV4dFZrICpjb250
ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVu
ZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IGV4dGVybmFsUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKQoreworICAg
IEFTU0VSVChtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXggPT0gcmVuZGVyZXJRdWV1ZUZhbWlseUlu
ZGV4KTsKKworICAgIGNoYW5nZVF1ZXVlKGV4dGVybmFsUXVldWVGYW1pbHlJbmRleCwgY29tbWFu
ZEJ1ZmZlcik7Cit9CisKK2Jvb2wgQnVmZmVySGVscGVyOjppc1JlbGVhc2VkVG9FeHRlcm5hbCgp
IGNvbnN0Cit7CisjaWYgIWRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFDT1MpICYmICFkZWZpbmVk
KEFOR0xFX1BMQVRGT1JNX0FORFJPSUQpCisgICAgcmV0dXJuIElzRXh0ZXJuYWxRdWV1ZUZhbWls
eShtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXgpOworI2Vsc2UKKyAgICAvLyBUT0RPKGFuZ2xlYnVn
LmNvbS80NjM1KTogSW1wbGVtZW50IGV4dGVybmFsIG1lbW9yeSBiYXJyaWVycyBvbiBNYWMvQW5k
cm9pZC4KKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9vbCBCdWZmZXJIZWxwZXI6
OmNhbkFjY3VtdWxhdGVSZWFkKENvbnRleHRWayAqY29udGV4dFZrLCBWa0FjY2Vzc0ZsYWdzIHJl
YWRBY2Nlc3NUeXBlKQogewogICAgIC8vIFdlIG9ubHkgbmVlZCB0byBzdGFydCBhIG5ldyBjb21t
YW5kIGJ1ZmZlciB3aGVuIHdlIG5lZWQgYSBuZXcgYmFycmllci4KQEAgLTE3MDUsNTEgKzIzNjcs
NjEgQEAgYm9vbCBCdWZmZXJIZWxwZXI6OmNhbkFjY3VtdWxhdGVXcml0ZShDb250ZXh0VmsgKmNv
bnRleHRWaywgVmtBY2Nlc3NGbGFncyB3cml0ZUEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZv
aWQgQnVmZmVySGVscGVyOjp1cGRhdGVSZWFkQmFycmllcihWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nl
c3NUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxh
Z3MgKmJhcnJpZXJTcmNPdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VmtBY2Nlc3NGbGFncyAqYmFycmllckRzdE91dCkKK2Jvb2wgQnVmZmVySGVscGVyOjp1cGRhdGVS
ZWFkQmFycmllcihWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIHJlYWRTdGFnZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaXBlbGluZUJhcnJpZXIgKmJhcnJp
ZXIpCiB7Ci0gICAgaWYgKG1DdXJyZW50V3JpdGVBY2Nlc3MgIT0gMCAmJiAobUN1cnJlbnRSZWFk
QWNjZXNzICYgcmVhZEFjY2Vzc1R5cGUpICE9IHJlYWRBY2Nlc3NUeXBlKQorICAgIGJvb2wgYmFy
cmllck1vZGlmaWVkID0gZmFsc2U7CisgICAgLy8gSWYgdGhlcmUgd2FzIGEgcHJpb3Igd3JpdGUg
YW5kIHdlIGFyZSBtYWtpbmcgYSByZWFkIHRoYXQgaXMgZWl0aGVyIGEgbmV3IGFjY2VzcyB0eXBl
IG9yIGZyb20KKyAgICAvLyBhIG5ldyBzdGFnZSwgd2UgbmVlZCBhIGJhcnJpZXIKKyAgICBpZiAo
bUN1cnJlbnRXcml0ZUFjY2VzcyAhPSAwICYmICgoKG1DdXJyZW50UmVhZEFjY2VzcyAmIHJlYWRB
Y2Nlc3NUeXBlKSAhPSByZWFkQWNjZXNzVHlwZSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoKG1DdXJyZW50UmVhZFN0YWdlcyAmIHJlYWRTdGFnZSkgIT0gcmVhZFN0
YWdlKSkpCiAgICAgewotICAgICAgICAqYmFycmllclNyY091dCB8PSBtQ3VycmVudFdyaXRlQWNj
ZXNzOwotICAgICAgICAqYmFycmllckRzdE91dCB8PSByZWFkQWNjZXNzVHlwZTsKKyAgICAgICAg
YmFycmllci0+bWVyZ2VNZW1vcnlCYXJyaWVyKG1DdXJyZW50V3JpdGVTdGFnZXMsIHJlYWRTdGFn
ZSwgbUN1cnJlbnRXcml0ZUFjY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlYWRBY2Nlc3NUeXBlKTsKKyAgICAgICAgYmFycmllck1vZGlmaWVkID0gdHJ1ZTsKICAg
ICB9CiAKICAgICAvLyBBY2N1bXVsYXRlIG5ldyByZWFkIHVzYWdlLgogICAgIG1DdXJyZW50UmVh
ZEFjY2VzcyB8PSByZWFkQWNjZXNzVHlwZTsKKyAgICBtQ3VycmVudFJlYWRTdGFnZXMgfD0gcmVh
ZFN0YWdlOworICAgIHJldHVybiBiYXJyaWVyTW9kaWZpZWQ7CiB9CiAKLXZvaWQgQnVmZmVySGVs
cGVyOjp1cGRhdGVXcml0ZUJhcnJpZXIoVmtBY2Nlc3NGbGFncyB3cml0ZUFjY2Vzc1R5cGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxhZ3MgKmJhcnJp
ZXJTcmNPdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNz
RmxhZ3MgKmJhcnJpZXJEc3RPdXQpCitib29sIEJ1ZmZlckhlbHBlcjo6dXBkYXRlV3JpdGVCYXJy
aWVyKFZrQWNjZXNzRmxhZ3Mgd3JpdGVBY2Nlc3NUeXBlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyB3cml0ZVN0YWdlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaXBlbGluZUJhcnJpZXIgKmJhcnJpZXIp
CiB7CisgICAgYm9vbCBiYXJyaWVyTW9kaWZpZWQgPSBmYWxzZTsKKyAgICAvLyBXZSBkb24ndCBu
ZWVkIHRvIGNoZWNrIG1DdXJyZW50UmVhZFN0YWdlcyBoZXJlIHNpbmNlIGlmIGl0IGlzIG5vdCB6
ZXJvLCBtQ3VycmVudFJlYWRBY2Nlc3MKKyAgICAvLyBtdXN0IG5vdCBiZSB6ZXJvIGFzIHdlbGwu
IHN0YWdlIGlzIGZpbmVyIGdyYWluIHRoYW4gYWNjZXNzVHlwZS4KKyAgICBBU1NFUlQoKCFtQ3Vy
cmVudFJlYWRTdGFnZXMgJiYgIW1DdXJyZW50UmVhZEFjY2VzcykgfHwKKyAgICAgICAgICAgKG1D
dXJyZW50UmVhZFN0YWdlcyAmJiBtQ3VycmVudFJlYWRBY2Nlc3MpKTsKICAgICBpZiAobUN1cnJl
bnRSZWFkQWNjZXNzICE9IDAgfHwgbUN1cnJlbnRXcml0ZUFjY2VzcyAhPSAwKQogICAgIHsKLSAg
ICAgICAgKmJhcnJpZXJTcmNPdXQgfD0gbUN1cnJlbnRXcml0ZUFjY2VzczsKLSAgICAgICAgKmJh
cnJpZXJEc3RPdXQgfD0gd3JpdGVBY2Nlc3NUeXBlOworICAgICAgICBiYXJyaWVyLT5tZXJnZU1l
bW9yeUJhcnJpZXIobUN1cnJlbnRXcml0ZVN0YWdlcyB8IG1DdXJyZW50UmVhZFN0YWdlcywgd3Jp
dGVTdGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1DdXJyZW50V3Jp
dGVBY2Nlc3MsIHdyaXRlQWNjZXNzVHlwZSk7CisgICAgICAgIGJhcnJpZXJNb2RpZmllZCA9IHRy
dWU7CiAgICAgfQogCiAgICAgLy8gUmVzZXQgdXNhZ2VzIG9uIHRoZSBuZXcgd3JpdGUuCiAgICAg
bUN1cnJlbnRXcml0ZUFjY2VzcyA9IHdyaXRlQWNjZXNzVHlwZTsKICAgICBtQ3VycmVudFJlYWRB
Y2Nlc3MgID0gMDsKKyAgICBtQ3VycmVudFdyaXRlU3RhZ2VzID0gd3JpdGVTdGFnZTsKKyAgICBt
Q3VycmVudFJlYWRTdGFnZXMgID0gMDsKKyAgICByZXR1cm4gYmFycmllck1vZGlmaWVkOwogfQog
CiAvLyBJbWFnZUhlbHBlciBpbXBsZW1lbnRhdGlvbi4KIEltYWdlSGVscGVyOjpJbWFnZUhlbHBl
cigpCi0gICAgOiBtRm9ybWF0KG51bGxwdHIpLAotICAgICAgbVNhbXBsZXMoMSksCi0gICAgICBt
U2VyaWFsKHJ4OjprWmVyb1NlcmlhbCksCi0gICAgICBtQ3VycmVudExheW91dChJbWFnZUxheW91
dDo6VW5kZWZpbmVkKSwKLSAgICAgIG1DdXJyZW50UXVldWVGYW1pbHlJbmRleChzdGQ6Om51bWVy
aWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpLAotICAgICAgbUJhc2VMZXZlbCgwKSwKLSAgICAg
IG1NYXhMZXZlbCgwKSwKLSAgICAgIG1MYXllckNvdW50KDApLAotICAgICAgbUxldmVsQ291bnQo
MCkKLXt9Cit7CisgICAgcmVzZXRDYWNoZWRQcm9wZXJ0aWVzKCk7Cit9CiAKIEltYWdlSGVscGVy
OjpJbWFnZUhlbHBlcihJbWFnZUhlbHBlciAmJm90aGVyKQogICAgIDogbUltYWdlKHN0ZDo6bW92
ZShvdGhlci5tSW1hZ2UpKSwKICAgICAgIG1EZXZpY2VNZW1vcnkoc3RkOjptb3ZlKG90aGVyLm1E
ZXZpY2VNZW1vcnkpKSwKKyAgICAgIG1JbWFnZVR5cGUob3RoZXIubUltYWdlVHlwZSksCiAgICAg
ICBtRXh0ZW50cyhvdGhlci5tRXh0ZW50cyksCiAgICAgICBtRm9ybWF0KG90aGVyLm1Gb3JtYXQp
LAogICAgICAgbVNhbXBsZXMob3RoZXIubVNhbXBsZXMpLApAQCAtMTc2NCwxMiArMjQzNiw3IEBA
IEltYWdlSGVscGVyOjpJbWFnZUhlbHBlcihJbWFnZUhlbHBlciAmJm90aGVyKQogICAgICAgbVN1
YnJlc291cmNlVXBkYXRlcyhzdGQ6Om1vdmUob3RoZXIubVN1YnJlc291cmNlVXBkYXRlcykpCiB7
CiAgICAgQVNTRVJUKHRoaXMgIT0gJm90aGVyKTsKLSAgICBvdGhlci5tQ3VycmVudExheW91dCA9
IEltYWdlTGF5b3V0OjpVbmRlZmluZWQ7Ci0gICAgb3RoZXIubUJhc2VMZXZlbCAgICAgPSAwOwot
ICAgIG90aGVyLm1NYXhMZXZlbCAgICAgID0gMDsKLSAgICBvdGhlci5tTGF5ZXJDb3VudCAgICA9
IDA7Ci0gICAgb3RoZXIubUxldmVsQ291bnQgICAgPSAwOwotICAgIG90aGVyLm1TZXJpYWwgICAg
ICAgID0gcng6OmtaZXJvU2VyaWFsOworICAgIG90aGVyLnJlc2V0Q2FjaGVkUHJvcGVydGllcygp
OwogfQogCiBJbWFnZUhlbHBlcjo6fkltYWdlSGVscGVyKCkKQEAgLTE3NzcsNiArMjQ0NCwyMSBA
QCBJbWFnZUhlbHBlcjo6fkltYWdlSGVscGVyKCkKICAgICBBU1NFUlQoIXZhbGlkKCkpOwogfQog
Cit2b2lkIEltYWdlSGVscGVyOjpyZXNldENhY2hlZFByb3BlcnRpZXMoKQoreworICAgIG1JbWFn
ZVR5cGUgICAgICAgICAgICAgICA9IFZLX0lNQUdFX1RZUEVfMkQ7CisgICAgbUV4dGVudHMgICAg
ICAgICAgICAgICAgID0ge307CisgICAgbUZvcm1hdCAgICAgICAgICAgICAgICAgID0gbnVsbHB0
cjsKKyAgICBtU2FtcGxlcyAgICAgICAgICAgICAgICAgPSAxOworICAgIG1TZXJpYWwgICAgICAg
ICAgICAgICAgICA9IHJ4OjprWmVyb1NlcmlhbDsKKyAgICBtQ3VycmVudExheW91dCAgICAgICAg
ICAgPSBJbWFnZUxheW91dDo6VW5kZWZpbmVkOworICAgIG1DdXJyZW50UXVldWVGYW1pbHlJbmRl
eCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsKKyAgICBtQmFzZUxldmVs
ICAgICAgICAgICAgICAgPSAwOworICAgIG1NYXhMZXZlbCAgICAgICAgICAgICAgICA9IDA7Cisg
ICAgbUxheWVyQ291bnQgICAgICAgICAgICAgID0gMDsKKyAgICBtTGV2ZWxDb3VudCAgICAgICAg
ICAgICAgPSAwOworfQorCiB2b2lkIEltYWdlSGVscGVyOjppbml0U3RhZ2luZ0J1ZmZlcihSZW5k
ZXJlclZrICpyZW5kZXJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IEZvcm1hdCAmZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VmtCdWZmZXJVc2FnZUZsYWdzIHVzYWdlRmxhZ3MsCkBAIC0xNzk5LDggKzI0ODEsOCBAQCBhbmds
ZTo6UmVzdWx0IEltYWdlSGVscGVyOjppbml0KENvbnRleHQgKmNvbnRleHQsCiB7CiAgICAgbVNl
cmlhbCA9IHJ4OjprWmVyb1NlcmlhbDsKICAgICByZXR1cm4gaW5pdEV4dGVybmFsKGNvbnRleHQs
IHRleHR1cmVUeXBlLCBleHRlbnRzLCBmb3JtYXQsIHNhbXBsZXMsIHVzYWdlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgSW1hZ2VMYXlvdXQ6OlVuZGVmaW5lZCwgbnVsbHB0ciwgYmFzZUxldmVs
LCBtYXhMZXZlbCwgbWlwTGV2ZWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJDb3Vu
dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBrVmtJbWFnZUNyZWF0ZUZsYWdzTm9uZSwgSW1h
Z2VMYXlvdXQ6OlVuZGVmaW5lZCwgbnVsbHB0ciwgYmFzZUxldmVsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4TGV2ZWwsIG1pcExldmVscywgbGF5ZXJDb3VudCk7CiB9CiAKIGFuZ2xlOjpS
ZXN1bHQgSW1hZ2VIZWxwZXI6OmluaXRFeHRlcm5hbChDb250ZXh0ICpjb250ZXh0LApAQCAtMTgw
OSw2ICsyNDkxLDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6aW5pdEV4dGVybmFsKENv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgRm9ybWF0ICZmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xpbnQgc2FtcGxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWa0ltYWdlVXNhZ2VGbGFncyB1c2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWa0ltYWdlQ3JlYXRlRmxhZ3MgYWRkaXRpb25hbENyZWF0ZUZsYWdzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IGluaXRp
YWxMYXlvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dm9pZCAqZXh0ZXJuYWxJbWFnZUNyZWF0ZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZUxldmVsLApAQCAtMTgxOCw2ICsyNTAxLDcgQEAg
YW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6aW5pdEV4dGVybmFsKENvbnRleHQgKmNvbnRleHQs
CiB7CiAgICAgQVNTRVJUKCF2YWxpZCgpKTsKIAorICAgIG1JbWFnZVR5cGUgID0gZ2xfdms6Okdl
dEltYWdlVHlwZSh0ZXh0dXJlVHlwZSk7CiAgICAgbUV4dGVudHMgICAgPSBleHRlbnRzOwogICAg
IG1Gb3JtYXQgICAgID0gJmZvcm1hdDsKICAgICBtU2FtcGxlcyAgICA9IHNhbXBsZXM7CkBAIC0x
ODM2LDggKzI1MjAsOCBAQCBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjppbml0RXh0ZXJuYWwo
Q29udGV4dCAqY29udGV4dCwKICAgICBWa0ltYWdlQ3JlYXRlSW5mbyBpbWFnZUluZm8gICAgID0g
e307CiAgICAgaW1hZ2VJbmZvLnNUeXBlICAgICAgICAgICAgICAgICA9IFZLX1NUUlVDVFVSRV9U
WVBFX0lNQUdFX0NSRUFURV9JTkZPOwogICAgIGltYWdlSW5mby5wTmV4dCAgICAgICAgICAgICAg
ICAgPSBleHRlcm5hbEltYWdlQ3JlYXRlSW5mbzsKLSAgICBpbWFnZUluZm8uZmxhZ3MgICAgICAg
ICAgICAgICAgID0gR2V0SW1hZ2VDcmVhdGVGbGFncyh0ZXh0dXJlVHlwZSk7Ci0gICAgaW1hZ2VJ
bmZvLmltYWdlVHlwZSAgICAgICAgICAgICA9IGdsX3ZrOjpHZXRJbWFnZVR5cGUodGV4dHVyZVR5
cGUpOworICAgIGltYWdlSW5mby5mbGFncyAgICAgICAgICAgICAgICAgPSBHZXRJbWFnZUNyZWF0
ZUZsYWdzKHRleHR1cmVUeXBlKSB8IGFkZGl0aW9uYWxDcmVhdGVGbGFnczsKKyAgICBpbWFnZUlu
Zm8uaW1hZ2VUeXBlICAgICAgICAgICAgID0gbUltYWdlVHlwZTsKICAgICBpbWFnZUluZm8uZm9y
bWF0ICAgICAgICAgICAgICAgID0gZm9ybWF0LnZrSW1hZ2VGb3JtYXQ7CiAgICAgaW1hZ2VJbmZv
LmV4dGVudCAgICAgICAgICAgICAgICA9IG1FeHRlbnRzOwogICAgIGltYWdlSW5mby5taXBMZXZl
bHMgICAgICAgICAgICAgPSBtaXBMZXZlbHM7CkBAIC0xODU0LDYgKzI1MzgsOCBAQCBhbmdsZTo6
UmVzdWx0IEltYWdlSGVscGVyOjppbml0RXh0ZXJuYWwoQ29udGV4dCAqY29udGV4dCwKIAogICAg
IEFOR0xFX1ZLX1RSWShjb250ZXh0LCBtSW1hZ2UuaW5pdChjb250ZXh0LT5nZXREZXZpY2UoKSwg
aW1hZ2VJbmZvKSk7CiAKKyAgICBzdGFnZUNsZWFySWZFbXVsYXRlZEZvcm1hdChjb250ZXh0KTsK
KwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtMTk4MSwxMyAr
MjY2NywzMCBAQCBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjppbml0TGF5ZXJJbWFnZVZpZXco
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBsZXZlbENvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhc2VBcnJheUxheWVyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGluaXRMYXllckltYWdlVmlld0ltcGwoY29udGV4dCwgdGV4dHVy
ZVR5cGUsIGFzcGVjdE1hc2ssIHN3aXp6bGVNYXAsIGltYWdlVmlld091dCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiYXNlTWlwTGV2ZWwsIGxldmVsQ291bnQsIGJhc2VBcnJh
eUxheWVyLCBsYXllckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1G
b3JtYXQtPnZrSW1hZ2VGb3JtYXQpOworfQorYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6aW5p
dExheWVySW1hZ2VWaWV3SW1wbChDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZr
SW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6U3dpenpsZVN0YXRlICZzd2l6emxlTWFw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFn
ZVZpZXcgKmltYWdlVmlld091dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZU1pcExldmVsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZlbENvdW50LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBi
YXNlQXJyYXlMYXllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVmtGb3JtYXQgaW1hZ2VGb3JtYXQpIGNvbnN0CiB7CiAg
ICAgVmtJbWFnZVZpZXdDcmVhdGVJbmZvIHZpZXdJbmZvID0ge307CiAgICAgdmlld0luZm8uc1R5
cGUgICAgICAgICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVfSU1BR0VfVklFV19DUkVBVEVf
SU5GTzsKICAgICB2aWV3SW5mby5mbGFncyAgICAgICAgICAgICAgICAgPSAwOwogICAgIHZpZXdJ
bmZvLmltYWdlICAgICAgICAgICAgICAgICA9IG1JbWFnZS5nZXRIYW5kbGUoKTsKICAgICB2aWV3
SW5mby52aWV3VHlwZSAgICAgICAgICAgICAgPSBnbF92azo6R2V0SW1hZ2VWaWV3VHlwZSh0ZXh0
dXJlVHlwZSk7Ci0gICAgdmlld0luZm8uZm9ybWF0ICAgICAgICAgICAgICAgID0gbUZvcm1hdC0+
dmtJbWFnZUZvcm1hdDsKKyAgICB2aWV3SW5mby5mb3JtYXQgICAgICAgICAgICAgICAgPSBpbWFn
ZUZvcm1hdDsKKyAgICBBU1NFUlQodmlld0luZm8uZm9ybWF0ICE9IFZLX0ZPUk1BVF9VTkRFRklO
RUQpOworCiAgICAgaWYgKHN3aXp6bGVNYXAuc3dpenpsZVJlcXVpcmVkKCkpCiAgICAgewogICAg
ICAgICB2aWV3SW5mby5jb21wb25lbnRzLnIgPSBnbF92azo6R2V0U3dpenpsZShzd2l6emxlTWFw
LnN3aXp6bGVSZWQpOwpAQCAtMjAxMiwxOCArMjcxNSwyMiBAQCBhbmdsZTo6UmVzdWx0IEltYWdl
SGVscGVyOjppbml0TGF5ZXJJbWFnZVZpZXcoQ29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKLXZvaWQgSW1hZ2VIZWxwZXI6OmRlc3Ryb3ko
VmtEZXZpY2UgZGV2aWNlKQordm9pZCBJbWFnZUhlbHBlcjo6ZGVzdHJveShSZW5kZXJlclZrICpy
ZW5kZXJlcikKIHsKKyAgICBWa0RldmljZSBkZXZpY2UgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7
CisKICAgICBtSW1hZ2UuZGVzdHJveShkZXZpY2UpOwogICAgIG1EZXZpY2VNZW1vcnkuZGVzdHJv
eShkZXZpY2UpOwotICAgIG1TdGFnaW5nQnVmZmVyLmRlc3Ryb3koZGV2aWNlKTsKKyAgICBtU3Rh
Z2luZ0J1ZmZlci5kZXN0cm95KHJlbmRlcmVyKTsKICAgICBtQ3VycmVudExheW91dCA9IEltYWdl
TGF5b3V0OjpVbmRlZmluZWQ7CisgICAgbUltYWdlVHlwZSAgICAgPSBWS19JTUFHRV9UWVBFXzJE
OwogICAgIG1MYXllckNvdW50ICAgID0gMDsKICAgICBtTGV2ZWxDb3VudCAgICA9IDA7CiAgICAg
bVNlcmlhbCAgICAgICAgPSByeDo6a1plcm9TZXJpYWw7CiB9CiAKLXZvaWQgSW1hZ2VIZWxwZXI6
OmluaXQyRFdlYWtSZWZlcmVuY2UoVmtJbWFnZSBoYW5kbGUsCit2b2lkIEltYWdlSGVscGVyOjpp
bml0MkRXZWFrUmVmZXJlbmNlKENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZrSW1hZ2UgaGFuZGxlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBnbDo6RXh0ZW50cyAmZ2xFeHRlbnRzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGb3JtYXQgJmZvcm1hdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgc2FtcGxlcykKQEAgLTIwMzgs
NiArMjc0NSw4IEBAIHZvaWQgSW1hZ2VIZWxwZXI6OmluaXQyRFdlYWtSZWZlcmVuY2UoVmtJbWFn
ZSBoYW5kbGUsCiAgICAgbUxldmVsQ291bnQgICAgPSAxOwogCiAgICAgbUltYWdlLnNldEhhbmRs
ZShoYW5kbGUpOworCisgICAgc3RhZ2VDbGVhcklmRW11bGF0ZWRGb3JtYXQoY29udGV4dCk7CiB9
CiAKIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OmluaXQyRFN0YWdpbmcoQ29udGV4dCAqY29u
dGV4dCwKQEAgLTIwNTAsNiArMjc1OSw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6Omlu
aXQyRFN0YWdpbmcoQ29udGV4dCAqY29udGV4dCwKICAgICBBU1NFUlQoIXZhbGlkKCkpOwogCiAg
ICAgZ2xfdms6OkdldEV4dGVudChnbEV4dGVudHMsICZtRXh0ZW50cyk7CisgICAgbUltYWdlVHlw
ZSAgPSBWS19JTUFHRV9UWVBFXzJEOwogICAgIG1Gb3JtYXQgICAgID0gJmZvcm1hdDsKICAgICBt
U2FtcGxlcyAgICA9IDE7CiAgICAgbUxheWVyQ291bnQgPSBsYXllckNvdW50OwpAQCAtMjA2MCw3
ICsyNzcwLDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6aW5pdDJEU3RhZ2luZyhDb250
ZXh0ICpjb250ZXh0LAogICAgIFZrSW1hZ2VDcmVhdGVJbmZvIGltYWdlSW5mbyAgICAgPSB7fTsK
ICAgICBpbWFnZUluZm8uc1R5cGUgICAgICAgICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVf
SU1BR0VfQ1JFQVRFX0lORk87CiAgICAgaW1hZ2VJbmZvLmZsYWdzICAgICAgICAgICAgICAgICA9
IDA7Ci0gICAgaW1hZ2VJbmZvLmltYWdlVHlwZSAgICAgICAgICAgICA9IFZLX0lNQUdFX1RZUEVf
MkQ7CisgICAgaW1hZ2VJbmZvLmltYWdlVHlwZSAgICAgICAgICAgICA9IG1JbWFnZVR5cGU7CiAg
ICAgaW1hZ2VJbmZvLmZvcm1hdCAgICAgICAgICAgICAgICA9IGZvcm1hdC52a0ltYWdlRm9ybWF0
OwogICAgIGltYWdlSW5mby5leHRlbnQgICAgICAgICAgICAgICAgPSBtRXh0ZW50czsKICAgICBp
bWFnZUluZm8ubWlwTGV2ZWxzICAgICAgICAgICAgID0gMTsKQEAgLTIxMjgsMTMgKzI4MzgsNDMg
QEAgdm9pZCBJbWFnZUhlbHBlcjo6Y2hhbmdlTGF5b3V0QW5kUXVldWUoVmtJbWFnZUFzcGVjdEZs
YWdzIGFzcGVjdE1hc2ssCiAgICAgZm9yY2VDaGFuZ2VMYXlvdXRBbmRRdWV1ZShhc3BlY3RNYXNr
LCBuZXdMYXlvdXQsIG5ld1F1ZXVlRmFtaWx5SW5kZXgsIGNvbW1hbmRCdWZmZXIpOwogfQogCi12
b2lkIEltYWdlSGVscGVyOjpvbkV4dGVybmFsTGF5b3V0Q2hhbmdlKEltYWdlTGF5b3V0IG5ld0xh
eW91dCkKK3ZvaWQgSW1hZ2VIZWxwZXI6OmFjcXVpcmVGcm9tRXh0ZXJuYWwoQ29udGV4dFZrICpj
b250ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGV4dGVybmFsUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QgcmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZUxheW91dCBjdXJyZW50TGF5b3V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyICpjb21tYW5k
QnVmZmVyKQogewotICAgIG1DdXJyZW50TGF5b3V0ID0gbmV3TGF5b3V0OworICAgIC8vIFRoZSBp
bWFnZSBtdXN0IGJlIG5ld2x5IGFsbG9jYXRlZCBvciBoYXZlIGJlZW4gcmVsZWFzZWQgdG8gdGhl
IGV4dGVybmFsCisgICAgLy8gcXVldWUuIElmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBpdCdzIGFu
IGFwcGxpY2F0aW9uIGJ1Zywgc28gQVNTRVJUIG1pZ2h0CisgICAgLy8gZXZlbnR1YWxseSBuZWVk
IHRvIGNoYW5nZSB0byBhIHdhcm5pbmcuCisgICAgQVNTRVJUKG1DdXJyZW50TGF5b3V0ID09IElt
YWdlTGF5b3V0OjpVbmRlZmluZWQgfHwKKyAgICAgICAgICAgbUN1cnJlbnRRdWV1ZUZhbWlseUlu
ZGV4ID09IGV4dGVybmFsUXVldWVGYW1pbHlJbmRleCk7CisKKyAgICBtQ3VycmVudExheW91dCAg
ICAgICAgICAgPSBjdXJyZW50TGF5b3V0OworICAgIG1DdXJyZW50UXVldWVGYW1pbHlJbmRleCA9
IGV4dGVybmFsUXVldWVGYW1pbHlJbmRleDsKKworICAgIGNoYW5nZUxheW91dEFuZFF1ZXVlKGdl
dEFzcGVjdEZsYWdzKCksIG1DdXJyZW50TGF5b3V0LCByZW5kZXJlclF1ZXVlRmFtaWx5SW5kZXgs
IGNvbW1hbmRCdWZmZXIpOworfQogCi0gICAgLy8gVGhlIGltYWdlIG11c3QgaGF2ZSBhbHJlYWR5
IGJlZW4gb3duZWQgYnkgRVhURVJOQUwuICBJZiB0aGlzIGlzIG5vdCB0aGUgY2FzZSwgaXQncyBh
bgotICAgIC8vIGFwcGxpY2F0aW9uIGJ1Zywgc28gQVNTRVJUIG1pZ2h0IGV2ZW50dWFsbHkgbmVl
ZCB0byBjaGFuZ2UgdG8gYSB3YXJuaW5nLgotICAgIEFTU0VSVChtQ3VycmVudFF1ZXVlRmFtaWx5
SW5kZXggPT0gVktfUVVFVUVfRkFNSUxZX0VYVEVSTkFMKTsKK3ZvaWQgSW1hZ2VIZWxwZXI6OnJl
bGVhc2VUb0V4dGVybmFsKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZXh0ZXJuYWxRdWV1ZUZh
bWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VMYXlv
dXQgZGVzaXJlZExheW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENv
bW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpCit7CisgICAgQVNTRVJUKG1DdXJyZW50UXVldWVG
YW1pbHlJbmRleCA9PSByZW5kZXJlclF1ZXVlRmFtaWx5SW5kZXgpOworCisgICAgY2hhbmdlTGF5
b3V0QW5kUXVldWUoZ2V0QXNwZWN0RmxhZ3MoKSwgZGVzaXJlZExheW91dCwgZXh0ZXJuYWxRdWV1
ZUZhbWlseUluZGV4LCBjb21tYW5kQnVmZmVyKTsKK30KKworYm9vbCBJbWFnZUhlbHBlcjo6aXNS
ZWxlYXNlZFRvRXh0ZXJuYWwoKSBjb25zdAoreworI2lmICFkZWZpbmVkKEFOR0xFX1BMQVRGT1JN
X01BQ09TKSAmJiAhZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQorICAgIHJldHVybiBJ
c0V4dGVybmFsUXVldWVGYW1pbHkobUN1cnJlbnRRdWV1ZUZhbWlseUluZGV4KTsKKyNlbHNlCisg
ICAgLy8gVE9ETyhhbmdsZWJ1Zy5jb20vNDYzNSk6IEltcGxlbWVudCBleHRlcm5hbCBtZW1vcnkg
YmFycmllcnMgb24gTWFjL0FuZHJvaWQuCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAK
IHVpbnQzMl90IEltYWdlSGVscGVyOjpnZXRCYXNlTGV2ZWwoKQpAQCAtMjE0OCw2ICsyODg4LDMy
IEBAIHZvaWQgSW1hZ2VIZWxwZXI6OnNldEJhc2VBbmRNYXhMZXZlbHModWludDMyX3QgYmFzZUxl
dmVsLCB1aW50MzJfdCBtYXhMZXZlbCkKICAgICBtTWF4TGV2ZWwgID0gbWF4TGV2ZWw7CiB9CiAK
K0FOR0xFX0lOTElORSB2b2lkIEltYWdlSGVscGVyOjppbml0SW1hZ2VNZW1vcnlCYXJyaWVyU3Ry
dWN0KAorICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RNYXNrLAorICAgIEltYWdlTGF5b3V0
IG5ld0xheW91dCwKKyAgICB1aW50MzJfdCBuZXdRdWV1ZUZhbWlseUluZGV4LAorICAgIFZrSW1h
Z2VNZW1vcnlCYXJyaWVyICppbWFnZU1lbW9yeUJhcnJpZXIpIGNvbnN0Cit7CisgICAgY29uc3Qg
SW1hZ2VNZW1vcnlCYXJyaWVyRGF0YSAmdHJhbnNpdGlvbkZyb20gPSBrSW1hZ2VNZW1vcnlCYXJy
aWVyRGF0YVttQ3VycmVudExheW91dF07CisgICAgY29uc3QgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0
YSAmdHJhbnNpdGlvblRvICAgPSBrSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YVtuZXdMYXlvdXRdOwor
CisgICAgaW1hZ2VNZW1vcnlCYXJyaWVyLT5zVHlwZSAgICAgICAgICAgICAgID0gVktfU1RSVUNU
VVJFX1RZUEVfSU1BR0VfTUVNT1JZX0JBUlJJRVI7CisgICAgaW1hZ2VNZW1vcnlCYXJyaWVyLT5z
cmNBY2Nlc3NNYXNrICAgICAgID0gdHJhbnNpdGlvbkZyb20uc3JjQWNjZXNzTWFzazsKKyAgICBp
bWFnZU1lbW9yeUJhcnJpZXItPmRzdEFjY2Vzc01hc2sgICAgICAgPSB0cmFuc2l0aW9uVG8uZHN0
QWNjZXNzTWFzazsKKyAgICBpbWFnZU1lbW9yeUJhcnJpZXItPm9sZExheW91dCAgICAgICAgICAg
PSB0cmFuc2l0aW9uRnJvbS5sYXlvdXQ7CisgICAgaW1hZ2VNZW1vcnlCYXJyaWVyLT5uZXdMYXlv
dXQgICAgICAgICAgID0gdHJhbnNpdGlvblRvLmxheW91dDsKKyAgICBpbWFnZU1lbW9yeUJhcnJp
ZXItPnNyY1F1ZXVlRmFtaWx5SW5kZXggPSBtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXg7CisgICAg
aW1hZ2VNZW1vcnlCYXJyaWVyLT5kc3RRdWV1ZUZhbWlseUluZGV4ID0gbmV3UXVldWVGYW1pbHlJ
bmRleDsKKyAgICBpbWFnZU1lbW9yeUJhcnJpZXItPmltYWdlICAgICAgICAgICAgICAgPSBtSW1h
Z2UuZ2V0SGFuZGxlKCk7CisKKyAgICAvLyBUcmFuc2l0aW9uIHRoZSB3aG9sZSByZXNvdXJjZS4K
KyAgICBpbWFnZU1lbW9yeUJhcnJpZXItPnN1YnJlc291cmNlUmFuZ2UuYXNwZWN0TWFzayAgICAg
PSBhc3BlY3RNYXNrOworICAgIGltYWdlTWVtb3J5QmFycmllci0+c3VicmVzb3VyY2VSYW5nZS5i
YXNlTWlwTGV2ZWwgICA9IDA7CisgICAgaW1hZ2VNZW1vcnlCYXJyaWVyLT5zdWJyZXNvdXJjZVJh
bmdlLmxldmVsQ291bnQgICAgID0gbUxldmVsQ291bnQ7CisgICAgaW1hZ2VNZW1vcnlCYXJyaWVy
LT5zdWJyZXNvdXJjZVJhbmdlLmJhc2VBcnJheUxheWVyID0gMDsKKyAgICBpbWFnZU1lbW9yeUJh
cnJpZXItPnN1YnJlc291cmNlUmFuZ2UubGF5ZXJDb3VudCAgICAgPSBtTGF5ZXJDb3VudDsKK30K
KwogLy8gR2VuZXJhbGl6ZWQgdG8gYWNjZXB0IGJvdGggInByaW1hcnkiIGFuZCAic2Vjb25kYXJ5
IiBjb21tYW5kIGJ1ZmZlcnMuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ29tbWFuZEJ1ZmZlclQ+CiB2
b2lkIEltYWdlSGVscGVyOjpmb3JjZUNoYW5nZUxheW91dEFuZFF1ZXVlKFZrSW1hZ2VBc3BlY3RG
bGFncyBhc3BlY3RNYXNrLApAQCAtMjE1OSwyMSArMjkyNSw3IEBAIHZvaWQgSW1hZ2VIZWxwZXI6
OmZvcmNlQ2hhbmdlTGF5b3V0QW5kUXVldWUoVmtJbWFnZUFzcGVjdEZsYWdzIGFzcGVjdE1hc2ss
CiAgICAgY29uc3QgSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YSAmdHJhbnNpdGlvblRvICAgPSBrSW1h
Z2VNZW1vcnlCYXJyaWVyRGF0YVtuZXdMYXlvdXRdOwogCiAgICAgVmtJbWFnZU1lbW9yeUJhcnJp
ZXIgaW1hZ2VNZW1vcnlCYXJyaWVyID0ge307Ci0gICAgaW1hZ2VNZW1vcnlCYXJyaWVyLnNUeXBl
ICAgICAgICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVfSU1BR0VfTUVNT1JZX0JBUlJJRVI7
Ci0gICAgaW1hZ2VNZW1vcnlCYXJyaWVyLnNyY0FjY2Vzc01hc2sgICAgICAgID0gdHJhbnNpdGlv
bkZyb20uc3JjQWNjZXNzTWFzazsKLSAgICBpbWFnZU1lbW9yeUJhcnJpZXIuZHN0QWNjZXNzTWFz
ayAgICAgICAgPSB0cmFuc2l0aW9uVG8uZHN0QWNjZXNzTWFzazsKLSAgICBpbWFnZU1lbW9yeUJh
cnJpZXIub2xkTGF5b3V0ICAgICAgICAgICAgPSB0cmFuc2l0aW9uRnJvbS5sYXlvdXQ7Ci0gICAg
aW1hZ2VNZW1vcnlCYXJyaWVyLm5ld0xheW91dCAgICAgICAgICAgID0gdHJhbnNpdGlvblRvLmxh
eW91dDsKLSAgICBpbWFnZU1lbW9yeUJhcnJpZXIuc3JjUXVldWVGYW1pbHlJbmRleCAgPSBtQ3Vy
cmVudFF1ZXVlRmFtaWx5SW5kZXg7Ci0gICAgaW1hZ2VNZW1vcnlCYXJyaWVyLmRzdFF1ZXVlRmFt
aWx5SW5kZXggID0gbmV3UXVldWVGYW1pbHlJbmRleDsKLSAgICBpbWFnZU1lbW9yeUJhcnJpZXIu
aW1hZ2UgICAgICAgICAgICAgICAgPSBtSW1hZ2UuZ2V0SGFuZGxlKCk7Ci0KLSAgICAvLyBUcmFu
c2l0aW9uIHRoZSB3aG9sZSByZXNvdXJjZS4KLSAgICBpbWFnZU1lbW9yeUJhcnJpZXIuc3VicmVz
b3VyY2VSYW5nZS5hc3BlY3RNYXNrICAgICA9IGFzcGVjdE1hc2s7Ci0gICAgaW1hZ2VNZW1vcnlC
YXJyaWVyLnN1YnJlc291cmNlUmFuZ2UuYmFzZU1pcExldmVsICAgPSAwOwotICAgIGltYWdlTWVt
b3J5QmFycmllci5zdWJyZXNvdXJjZVJhbmdlLmxldmVsQ291bnQgICAgID0gbUxldmVsQ291bnQ7
Ci0gICAgaW1hZ2VNZW1vcnlCYXJyaWVyLnN1YnJlc291cmNlUmFuZ2UuYmFzZUFycmF5TGF5ZXIg
PSAwOwotICAgIGltYWdlTWVtb3J5QmFycmllci5zdWJyZXNvdXJjZVJhbmdlLmxheWVyQ291bnQg
ICAgID0gbUxheWVyQ291bnQ7CisgICAgaW5pdEltYWdlTWVtb3J5QmFycmllclN0cnVjdChhc3Bl
Y3RNYXNrLCBuZXdMYXlvdXQsIG5ld1F1ZXVlRmFtaWx5SW5kZXgsICZpbWFnZU1lbW9yeUJhcnJp
ZXIpOwogCiAgICAgY29tbWFuZEJ1ZmZlci0+aW1hZ2VCYXJyaWVyKHRyYW5zaXRpb25Gcm9tLnNy
Y1N0YWdlTWFzaywgdHJhbnNpdGlvblRvLmRzdFN0YWdlTWFzaywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW1hZ2VNZW1vcnlCYXJyaWVyKTsKQEAgLTIxODEsMTEgKzI5MzMsMzIg
QEAgdm9pZCBJbWFnZUhlbHBlcjo6Zm9yY2VDaGFuZ2VMYXlvdXRBbmRRdWV1ZShWa0ltYWdlQXNw
ZWN0RmxhZ3MgYXNwZWN0TWFzaywKICAgICBtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXggPSBuZXdR
dWV1ZUZhbWlseUluZGV4OwogfQogCi0vLyBFeHBsaWNpdGx5IGluc3RhbnRpYXRlIGZvcmNlQ2hh
bmdlTGF5b3V0QW5kUXVldWUgd2l0aCBDb21tYW5kQnVmZmVySGVscGVyLgotdGVtcGxhdGUgdm9p
ZCBJbWFnZUhlbHBlcjo6Zm9yY2VDaGFuZ2VMYXlvdXRBbmRRdWV1ZShWa0ltYWdlQXNwZWN0Rmxh
Z3MgYXNwZWN0TWFzaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW1hZ2VMYXlvdXQgbmV3TGF5b3V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBuZXdRdWV1ZUZhbWlseUlu
ZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb21tYW5kQnVmZmVySGVscGVyICpjb21tYW5kQnVmZmVyKTsKK3ZvaWQgSW1hZ2VIZWxwZXI6
OnVwZGF0ZUxheW91dEFuZEJhcnJpZXIoVmtJbWFnZUFzcGVjdEZsYWdzIGFzcGVjdE1hc2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IG5ld0xh
eW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGlwZWxpbmVC
YXJyaWVyICpiYXJyaWVyKQoreworICAgIGlmIChuZXdMYXlvdXQgPT0gbUN1cnJlbnRMYXlvdXQp
CisgICAgeworICAgICAgICBjb25zdCBJbWFnZU1lbW9yeUJhcnJpZXJEYXRhICZsYXlvdXREYXRh
ID0ga0ltYWdlTWVtb3J5QmFycmllckRhdGFbbUN1cnJlbnRMYXlvdXRdOworICAgICAgICBBU1NF
UlQobGF5b3V0RGF0YS5zYW1lTGF5b3V0VHJhbnNpdGlvblJlcXVpcmVzQmFycmllcik7CisgICAg
ICAgIC8vIE5vIGxheW91dCBjaGFuZ2UsIG9ubHkgbWVtb3J5IGJhcnJpZXIgaXMgcmVxdWlyZWQK
KyAgICAgICAgYmFycmllci0+bWVyZ2VNZW1vcnlCYXJyaWVyKGxheW91dERhdGEuc3JjU3RhZ2VN
YXNrLCBsYXlvdXREYXRhLmRzdFN0YWdlTWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxheW91dERhdGEuc3JjQWNjZXNzTWFzaywgbGF5b3V0RGF0YS5kc3RBY2Nlc3NN
YXNrKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgY29uc3QgSW1hZ2VNZW1vcnlC
YXJyaWVyRGF0YSAmdHJhbnNpdGlvbkZyb20gPSBrSW1hZ2VNZW1vcnlCYXJyaWVyRGF0YVttQ3Vy
cmVudExheW91dF07CisgICAgICAgIGNvbnN0IEltYWdlTWVtb3J5QmFycmllckRhdGEgJnRyYW5z
aXRpb25UbyAgID0ga0ltYWdlTWVtb3J5QmFycmllckRhdGFbbmV3TGF5b3V0XTsKKworICAgICAg
ICBWa0ltYWdlTWVtb3J5QmFycmllciBpbWFnZU1lbW9yeUJhcnJpZXIgPSB7fTsKKyAgICAgICAg
aW5pdEltYWdlTWVtb3J5QmFycmllclN0cnVjdChhc3BlY3RNYXNrLCBuZXdMYXlvdXQsIG1DdXJy
ZW50UXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmaW1hZ2VNZW1vcnlCYXJyaWVyKTsKKworICAgICAgICBiYXJyaWVyLT5tZXJnZUltYWdlQmFy
cmllcih0cmFuc2l0aW9uRnJvbS5zcmNTdGFnZU1hc2ssIHRyYW5zaXRpb25Uby5kc3RTdGFnZU1h
c2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlTWVtb3J5QmFycmll
cik7CisgICAgICAgIG1DdXJyZW50TGF5b3V0ID0gbmV3TGF5b3V0OworICAgIH0KK30KIAogdm9p
ZCBJbWFnZUhlbHBlcjo6Y2xlYXJDb2xvcihjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY29sb3Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhc2VNaXBMZXZlbCwKQEAg
LTIyMDgsOCArMjk4MSw3IEBAIHZvaWQgSW1hZ2VIZWxwZXI6OmNsZWFyQ29sb3IoY29uc3QgVmtD
bGVhckNvbG9yVmFsdWUgJmNvbG9yLAogICAgIGNvbW1hbmRCdWZmZXItPmNsZWFyQ29sb3JJbWFn
ZShtSW1hZ2UsIGdldEN1cnJlbnRMYXlvdXQoKSwgY29sb3IsIDEsICZyYW5nZSk7CiB9CiAKLXZv
aWQgSW1hZ2VIZWxwZXI6OmNsZWFyRGVwdGhTdGVuY2lsKFZrSW1hZ2VBc3BlY3RGbGFncyBpbWFn
ZUFzcGVjdEZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtJbWFn
ZUFzcGVjdEZsYWdzIGNsZWFyQXNwZWN0RmxhZ3MsCit2b2lkIEltYWdlSGVscGVyOjpjbGVhckRl
cHRoU3RlbmNpbChWa0ltYWdlQXNwZWN0RmxhZ3MgY2xlYXJBc3BlY3RGbGFncywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJEZXB0aFN0ZW5jaWxWYWx1
ZSAmZGVwdGhTdGVuY2lsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QgYmFzZU1pcExldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgbGV2ZWxDb3VudCwKQEAgLTIyMzIsMjMgKzMwMDQsMjUgQEAgdm9pZCBJbWFnZUhl
bHBlcjo6Y2xlYXJEZXB0aFN0ZW5jaWwoVmtJbWFnZUFzcGVjdEZsYWdzIGltYWdlQXNwZWN0Rmxh
Z3MsCiAgICAgY29tbWFuZEJ1ZmZlci0+Y2xlYXJEZXB0aFN0ZW5jaWxJbWFnZShtSW1hZ2UsIGdl
dEN1cnJlbnRMYXlvdXQoKSwgZGVwdGhTdGVuY2lsLCAxLCAmY2xlYXJSYW5nZSk7CiB9CiAKLXZv
aWQgSW1hZ2VIZWxwZXI6OmNsZWFyKGNvbnN0IFZrQ2xlYXJWYWx1ZSAmdmFsdWUsCit2b2lkIElt
YWdlSGVscGVyOjpjbGVhcihWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyVmFsdWUgJnZhbHVlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QgbWlwTGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBiYXNlQXJyYXlMYXllciwKICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGxheWVyQ291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyICpjb21t
YW5kQnVmZmVyKQogewotICAgIGNvbnN0IGFuZ2xlOjpGb3JtYXQgJmFuZ2xlRm9ybWF0ID0gbUZv
cm1hdC0+aW50ZW5kZWRGb3JtYXQoKTsKKyAgICBjb25zdCBhbmdsZTo6Rm9ybWF0ICZhbmdsZUZv
cm1hdCA9IG1Gb3JtYXQtPmFjdHVhbEltYWdlRm9ybWF0KCk7CiAgICAgYm9vbCBpc0RlcHRoU3Rl
bmNpbCAgICAgICAgICAgICAgPSBhbmdsZUZvcm1hdC5kZXB0aEJpdHMgPiAwIHx8IGFuZ2xlRm9y
bWF0LnN0ZW5jaWxCaXRzID4gMDsKIAogICAgIGlmIChpc0RlcHRoU3RlbmNpbCkKICAgICB7Ci0g
ICAgICAgIGNvbnN0IFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3QgPSBHZXREZXB0aFN0ZW5jaWxB
c3BlY3RGbGFncyhtRm9ybWF0LT5hY3R1YWxJbWFnZUZvcm1hdCgpKTsKLSAgICAgICAgY2xlYXJE
ZXB0aFN0ZW5jaWwoYXNwZWN0LCBhc3BlY3QsIHZhbHVlLmRlcHRoU3RlbmNpbCwgbWlwTGV2ZWws
IDEsIGJhc2VBcnJheUxheWVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllckNvdW50
LCBjb21tYW5kQnVmZmVyKTsKKyAgICAgICAgY2xlYXJEZXB0aFN0ZW5jaWwoYXNwZWN0RmxhZ3Ms
IHZhbHVlLmRlcHRoU3RlbmNpbCwgbWlwTGV2ZWwsIDEsIGJhc2VBcnJheUxheWVyLCBsYXllckNv
dW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kQnVmZmVyKTsKICAgICB9CiAg
ICAgZWxzZQogICAgIHsKKyAgICAgICAgQVNTRVJUKCFhbmdsZUZvcm1hdC5pc0Jsb2NrKTsKKwog
ICAgICAgICBjbGVhckNvbG9yKHZhbHVlLmNvbG9yLCBtaXBMZXZlbCwgMSwgYmFzZUFycmF5TGF5
ZXIsIGxheWVyQ291bnQsIGNvbW1hbmRCdWZmZXIpOwogICAgIH0KIH0KQEAgLTIzOTQsMTIgKzMx
NjgsMTEgQEAgdm9pZCBJbWFnZUhlbHBlcjo6cmVzb2x2ZShJbWFnZUhlbHBlciAqZGVzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfSU1BR0VfTEFZT1VUX1RSQU5TRkVSX0RT
VF9PUFRJTUFMLCAxLCAmcmVnaW9uKTsKIH0KIAotdm9pZCBJbWFnZUhlbHBlcjo6cmVtb3ZlU3Rh
Z2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaywgY29uc3QgZ2w6OkltYWdlSW5kZXggJmlu
ZGV4KQordm9pZCBJbWFnZUhlbHBlcjo6cmVtb3ZlU3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNv
bnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
bGV2ZWxJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbGF5ZXJJbmRleCkKIHsKICAgICAvLyBGaW5kIGFueSBzdGFnZWQgdXBkYXRlcyBmb3IgdGhp
cyBpbmRleCBhbmQgcmVtb3ZlcyB0aGVtIGZyb20gdGhlIHBlbmRpbmcgbGlzdC4KLSAgICB1aW50
MzJfdCBsZXZlbEluZGV4ID0gaW5kZXguZ2V0TGV2ZWxJbmRleCgpOwotICAgIHVpbnQzMl90IGxh
eWVySW5kZXggPSBpbmRleC5oYXNMYXllcigpID8gaW5kZXguZ2V0TGF5ZXJJbmRleCgpIDogMDsK
LQogICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBtU3VicmVzb3VyY2VVcGRhdGVz
LnNpemUoKTspCiAgICAgewogICAgICAgICBhdXRvIHVwZGF0ZSA9IG1TdWJyZXNvdXJjZVVwZGF0
ZXMuYmVnaW4oKSArIGluZGV4OwpAQCAtMjU5NCw3ICszMzY3LDcgQEAgYW5nbGU6OlJlc3VsdCBJ
bWFnZUhlbHBlcjo6c3RhZ2VTdWJyZXNvdXJjZVVwZGF0ZUltcGwoQ29udGV4dFZrICpjb250ZXh0
VmssCiAgICAgICAgIHN0ZW5jaWxDb3B5LmltYWdlT2Zmc2V0ICAgICAgICAgICAgICAgICAgICAg
PSBjb3B5LmltYWdlT2Zmc2V0OwogICAgICAgICBzdGVuY2lsQ29weS5pbWFnZUV4dGVudCAgICAg
ICAgICAgICAgICAgICAgID0gY29weS5pbWFnZUV4dGVudDsKICAgICAgICAgc3RlbmNpbENvcHku
aW1hZ2VTdWJyZXNvdXJjZS5hc3BlY3RNYXNrICAgICA9IFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lM
X0JJVDsKLSAgICAgICAgbVN1YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlX2JhY2sobVN0YWdpbmdC
dWZmZXIuZ2V0Q3VycmVudEJ1ZmZlcigpLCBzdGVuY2lsQ29weSk7CisgICAgICAgIGFwcGVuZFN1
YnJlc291cmNlVXBkYXRlKFN1YnJlc291cmNlVXBkYXRlKG1TdGFnaW5nQnVmZmVyLmdldEN1cnJl
bnRCdWZmZXIoKSwgc3RlbmNpbENvcHkpKTsKIAogICAgICAgICBhc3BlY3RGbGFncyAmPSB+Vktf
SU1BR0VfQVNQRUNUX1NURU5DSUxfQklUOwogICAgIH0KQEAgLTI2MTgsNyArMzM5MSw3IEBAIGFu
Z2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OnN0YWdlU3VicmVzb3VyY2VVcGRhdGVJbXBsKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgIGlmIChhc3BlY3RGbGFncykKICAgICB7CiAgICAgICAgIGNv
cHkuaW1hZ2VTdWJyZXNvdXJjZS5hc3BlY3RNYXNrID0gYXNwZWN0RmxhZ3M7Ci0gICAgICAgIG1T
dWJyZXNvdXJjZVVwZGF0ZXMuZW1wbGFjZV9iYWNrKG1TdGFnaW5nQnVmZmVyLmdldEN1cnJlbnRC
dWZmZXIoKSwgY29weSk7CisgICAgICAgIGFwcGVuZFN1YnJlc291cmNlVXBkYXRlKFN1YnJlc291
cmNlVXBkYXRlKG1TdGFnaW5nQnVmZmVyLmdldEN1cnJlbnRCdWZmZXIoKSwgY29weSkpOwogICAg
IH0KIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTI2OTksNyArMzQ3
Miw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OnN0YWdlU3VicmVzb3VyY2VVcGRhdGVB
bmRHZXREYXRhKENvbnRleHRWayAqY29udGV4dFZrCiAgICAgZ2xfdms6OkdldE9mZnNldChvZmZz
ZXQsICZjb3B5LmltYWdlT2Zmc2V0KTsKICAgICBnbF92azo6R2V0RXh0ZW50KGdsRXh0ZW50cywg
JmNvcHkuaW1hZ2VFeHRlbnQpOwogCi0gICAgbVN1YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlX2Jh
Y2sobVN0YWdpbmdCdWZmZXIuZ2V0Q3VycmVudEJ1ZmZlcigpLCBjb3B5KTsKKyAgICBhcHBlbmRT
dWJyZXNvdXJjZVVwZGF0ZShTdWJyZXNvdXJjZVVwZGF0ZShtU3RhZ2luZ0J1ZmZlci5nZXRDdXJy
ZW50QnVmZmVyKCksIGNvcHkpKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKIH0KQEAgLTI3MDksNiArMzQ4Miw4IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OnN0
YWdlU3VicmVzb3VyY2VVcGRhdGVGcm9tQnVmZmVyKENvbnRleHRWayAqY29udGV4dFZrCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBtaXBMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhc2VBcnJheUxheWVyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbGF5ZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJ1ZmZlclJvd0xlbmd0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGJ1ZmZlckltYWdlSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtFeHRlbnQzRCAmZXh0ZW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgVmtPZmZzZXQzRCAmb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVySGVscGVyICpidWZmZXJIZWxwZXIsCkBA
IC0yNzE5LDggKzM0OTQsOCBAQCBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjpzdGFnZVN1YnJl
c291cmNlVXBkYXRlRnJvbUJ1ZmZlcihDb250ZXh0VmsgKmNvbnRleHRWawogCiAgICAgVmtCdWZm
ZXJJbWFnZUNvcHkgY29weVsyXSAgICAgICAgICAgICAgID0ge307CiAgICAgY29weVswXS5idWZm
ZXJPZmZzZXQgICAgICAgICAgICAgICAgICAgID0gc3RhZ2luZ09mZnNldHNbMF07Ci0gICAgY29w
eVswXS5idWZmZXJSb3dMZW5ndGggICAgICAgICAgICAgICAgID0gZXh0ZW50LndpZHRoOwotICAg
IGNvcHlbMF0uYnVmZmVySW1hZ2VIZWlnaHQgICAgICAgICAgICAgICA9IGV4dGVudC5oZWlnaHQ7
CisgICAgY29weVswXS5idWZmZXJSb3dMZW5ndGggICAgICAgICAgICAgICAgID0gYnVmZmVyUm93
TGVuZ3RoOworICAgIGNvcHlbMF0uYnVmZmVySW1hZ2VIZWlnaHQgICAgICAgICAgICAgICA9IGJ1
ZmZlckltYWdlSGVpZ2h0OwogICAgIGNvcHlbMF0uaW1hZ2VTdWJyZXNvdXJjZS5hc3BlY3RNYXNr
ICAgICA9IGdldEFzcGVjdEZsYWdzKCk7CiAgICAgY29weVswXS5pbWFnZVN1YnJlc291cmNlLm1p
cExldmVsICAgICAgID0gbWlwTGV2ZWw7CiAgICAgY29weVswXS5pbWFnZVN1YnJlc291cmNlLmJh
c2VBcnJheUxheWVyID0gYmFzZUFycmF5TGF5ZXI7CkBAIC0yNzM0LDE4ICszNTA5LDE4IEBAIGFu
Z2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OnN0YWdlU3VicmVzb3VyY2VVcGRhdGVGcm9tQnVmZmVy
KENvbnRleHRWayAqY29udGV4dFZrCiAgICAgICAgIGNvcHlbMF0uaW1hZ2VTdWJyZXNvdXJjZS5h
c3BlY3RNYXNrID0gVktfSU1BR0VfQVNQRUNUX0RFUFRIX0JJVDsKICAgICAgICAgLy8gQ29weSBz
dGVuY2lsIGFzcGVjdCBzZXBhcmF0ZWx5CiAgICAgICAgIGNvcHlbMV0uYnVmZmVyT2Zmc2V0ICAg
ICAgICAgICAgICAgICAgICA9IHN0YWdpbmdPZmZzZXRzWzFdOwotICAgICAgICBjb3B5WzFdLmJ1
ZmZlclJvd0xlbmd0aCAgICAgICAgICAgICAgICAgPSBleHRlbnQud2lkdGg7Ci0gICAgICAgIGNv
cHlbMV0uYnVmZmVySW1hZ2VIZWlnaHQgICAgICAgICAgICAgICA9IGV4dGVudC5oZWlnaHQ7Cisg
ICAgICAgIGNvcHlbMV0uYnVmZmVyUm93TGVuZ3RoICAgICAgICAgICAgICAgICA9IGJ1ZmZlclJv
d0xlbmd0aDsKKyAgICAgICAgY29weVsxXS5idWZmZXJJbWFnZUhlaWdodCAgICAgICAgICAgICAg
ID0gYnVmZmVySW1hZ2VIZWlnaHQ7CiAgICAgICAgIGNvcHlbMV0uaW1hZ2VTdWJyZXNvdXJjZS5h
c3BlY3RNYXNrICAgICA9IFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVDsKICAgICAgICAgY29w
eVsxXS5pbWFnZVN1YnJlc291cmNlLm1pcExldmVsICAgICAgID0gbWlwTGV2ZWw7CiAgICAgICAg
IGNvcHlbMV0uaW1hZ2VTdWJyZXNvdXJjZS5iYXNlQXJyYXlMYXllciA9IGJhc2VBcnJheUxheWVy
OwogICAgICAgICBjb3B5WzFdLmltYWdlU3VicmVzb3VyY2UubGF5ZXJDb3VudCAgICAgPSBsYXll
ckNvdW50OwogICAgICAgICBjb3B5WzFdLmltYWdlT2Zmc2V0ICAgICAgICAgICAgICAgICAgICAg
PSBvZmZzZXQ7CiAgICAgICAgIGNvcHlbMV0uaW1hZ2VFeHRlbnQgICAgICAgICAgICAgICAgICAg
ICA9IGV4dGVudDsKLSAgICAgICAgbVN1YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlX2JhY2soYnVm
ZmVySGVscGVyLCBjb3B5WzFdKTsKKyAgICAgICAgYXBwZW5kU3VicmVzb3VyY2VVcGRhdGUoU3Vi
cmVzb3VyY2VVcGRhdGUoYnVmZmVySGVscGVyLCBjb3B5WzFdKSk7CiAgICAgfQogCi0gICAgbVN1
YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlX2JhY2soYnVmZmVySGVscGVyLCBjb3B5WzBdKTsKKyAg
ICBhcHBlbmRTdWJyZXNvdXJjZVVwZGF0ZShTdWJyZXNvdXJjZVVwZGF0ZShidWZmZXJIZWxwZXIs
IGNvcHlbMF0pKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KQEAg
LTI4NDUsNyArMzYyMCw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OnN0YWdlU3VicmVz
b3VyY2VVcGRhdGVGcm9tRnJhbWVidWZmZXIoCiAgICAgZ2xfdms6OkdldEV4dGVudChkc3RFeHRl
bnQsICZjb3B5VG9JbWFnZS5pbWFnZUV4dGVudCk7CiAKICAgICAvLyAzLSBlbnF1ZXVlIHRoZSBk
ZXN0aW5hdGlvbiBpbWFnZSBzdWJyZXNvdXJjZSB1cGRhdGUKLSAgICBtU3VicmVzb3VyY2VVcGRh
dGVzLmVtcGxhY2VfYmFjayhtU3RhZ2luZ0J1ZmZlci5nZXRDdXJyZW50QnVmZmVyKCksIGNvcHlU
b0ltYWdlKTsKKyAgICBhcHBlbmRTdWJyZXNvdXJjZVVwZGF0ZShTdWJyZXNvdXJjZVVwZGF0ZSht
U3RhZ2luZ0J1ZmZlci5nZXRDdXJyZW50QnVmZmVyKCksIGNvcHlUb0ltYWdlKSk7CiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0yODY1LDcgKzM2NDAsNyBAQCB2
b2lkIEltYWdlSGVscGVyOjpzdGFnZVN1YnJlc291cmNlVXBkYXRlRnJvbUltYWdlKEltYWdlSGVs
cGVyICppbWFnZSwKICAgICB7CiAgICAgICAgIC8vIFRoZXNlIHZhbHVlcyBtdXN0IGJlIHNldCBl
eHBsaWNpdGx5IHRvIGZvbGxvdyB0aGUgVnVsa2FuIHNwZWM6CiAgICAgICAgIC8vIGh0dHBzOi8v
d3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L3Z1bGthbi9zcGVjcy8xLjEtZXh0ZW5zaW9ucy9tYW4v
aHRtbC9Wa0ltYWdlQ29weS5odG1sCi0gICAgICAgIC8vIElmIGVpdGhlciBvZiB0aGUgY2FsbGlu
ZyBjb21tYW5k4oCZcyBzcmNJbWFnZSBvciBkc3RJbWFnZSBwYXJhbWV0ZXJzIGFyZSBvZiBWa0lt
YWdlVHlwZQorICAgICAgICAvLyBJZiBlaXRoZXIgb2YgdGhlIGNhbGxpbmcgY29tbWFuZCdzIHNy
Y0ltYWdlIG9yIGRzdEltYWdlIHBhcmFtZXRlcnMgYXJlIG9mIFZrSW1hZ2VUeXBlCiAgICAgICAg
IC8vIFZLX0lNQUdFX1RZUEVfM0QsIHRoZSBiYXNlQXJyYXlMYXllciBhbmQgbGF5ZXJDb3VudCBt
ZW1iZXJzIG9mIHRoZSBjb3JyZXNwb25kaW5nCiAgICAgICAgIC8vIHN1YnJlc291cmNlIG11c3Qg
YmUgMCBhbmQgMSwgcmVzcGVjdGl2ZWx5CiAgICAgICAgIGNvcHlUb0ltYWdlLmRzdFN1YnJlc291
cmNlLmJhc2VBcnJheUxheWVyID0gMDsKQEAgLTI4ODIsNTAgKzM2NTcsMTAyIEBAIHZvaWQgSW1h
Z2VIZWxwZXI6OnN0YWdlU3VicmVzb3VyY2VVcGRhdGVGcm9tSW1hZ2UoSW1hZ2VIZWxwZXIgKmlt
YWdlLAogICAgIGdsX3ZrOjpHZXRPZmZzZXQoZGVzdE9mZnNldCwgJmNvcHlUb0ltYWdlLmRzdE9m
ZnNldCk7CiAgICAgZ2xfdms6OkdldEV4dGVudChnbEV4dGVudHMsICZjb3B5VG9JbWFnZS5leHRl
bnQpOwogCi0gICAgbVN1YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlX2JhY2soaW1hZ2UsIGNvcHlU
b0ltYWdlKTsKKyAgICBhcHBlbmRTdWJyZXNvdXJjZVVwZGF0ZShTdWJyZXNvdXJjZVVwZGF0ZShp
bWFnZSwgY29weVRvSW1hZ2UpKTsKIH0KIAotdm9pZCBJbWFnZUhlbHBlcjo6c3RhZ2VTdWJyZXNv
dXJjZVJvYnVzdENsZWFyKGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwgY29uc3QgRm9ybWF0
ICZmb3JtYXQpCit2b2lkIEltYWdlSGVscGVyOjpzdGFnZUNsZWFyKGNvbnN0IGdsOjpJbWFnZUlu
ZGV4ICZpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtJbWFnZUFzcGVjdEZs
YWdzIGFzcGVjdEZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0Ns
ZWFyVmFsdWUgJmNsZWFyVmFsdWUpCiB7Ci0gICAgVmtDbGVhckNvbG9yVmFsdWUgaW5pdFZhbHVl
ID0KLSAgICAgICAgZm9ybWF0Lmhhc0VtdWxhdGVkSW1hZ2VDaGFubmVscygpID8ga0VtdWxhdGVk
SW5pdENvbG9yVmFsdWUgOiBrV2ViR0xJbml0Q29sb3JWYWx1ZTsKLSAgICBzdGFnZVN1YnJlc291
cmNlQ2xlYXIoaW5kZXgsIGZvcm1hdC5pbnRlbmRlZEZvcm1hdCgpLCBpbml0VmFsdWUsIGtXZWJH
TEluaXREZXB0aFN0ZW5jaWxWYWx1ZSk7CisgICAgYXBwZW5kU3VicmVzb3VyY2VVcGRhdGUoU3Vi
cmVzb3VyY2VVcGRhdGUoYXNwZWN0RmxhZ3MsIGNsZWFyVmFsdWUsIGluZGV4KSk7CiB9CiAKLXZv
aWQgSW1hZ2VIZWxwZXI6OnN0YWdlU3VicmVzb3VyY2VFbXVsYXRlZENsZWFyKGNvbnN0IGdsOjpJ
bWFnZUluZGV4ICZpbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGFuZ2xlOjpGb3JtYXQgJmZvcm1hdCkKK3ZvaWQgSW1hZ2VIZWxwZXI6
OnN0YWdlUm9idXN0UmVzb3VyY2VDbGVhcihjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgpCiB7
Ci0gICAgc3RhZ2VTdWJyZXNvdXJjZUNsZWFyKGluZGV4LCBmb3JtYXQsIGtFbXVsYXRlZEluaXRD
b2xvclZhbHVlLCBrV2ViR0xJbml0RGVwdGhTdGVuY2lsVmFsdWUpOworICAgIGNvbnN0IFZrSW1h
Z2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncyA9IGdldEFzcGVjdEZsYWdzKCk7CisKKyAgICBBU1NF
UlQobUZvcm1hdCk7CisgICAgVmtDbGVhclZhbHVlIGNsZWFyVmFsdWUgPSBHZXRSb2J1c3RSZXNv
dXJjZUNsZWFyVmFsdWUoKm1Gb3JtYXQpOworICAgIGFwcGVuZFN1YnJlc291cmNlVXBkYXRlKFN1
YnJlc291cmNlVXBkYXRlKGFzcGVjdEZsYWdzLCBjbGVhclZhbHVlLCBpbmRleCkpOwogfQogCi12
b2lkIEltYWdlSGVscGVyOjpzdGFnZUNsZWFySWZFbXVsYXRlZEZvcm1hdChjb25zdCBnbDo6SW1h
Z2VJbmRleCAmaW5kZXgsIGNvbnN0IEZvcm1hdCAmZm9ybWF0KQorYW5nbGU6OlJlc3VsdCBJbWFn
ZUhlbHBlcjo6c3RhZ2VSb2J1c3RSZXNvdXJjZUNsZWFyV2l0aEZvcm1hdChDb250ZXh0VmsgKmNv
bnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmluZGV4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6RXh0ZW50cyAmZ2xFeHRlbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2azo6Rm9ybWF0ICZmb3JtYXQpCiB7
Ci0gICAgaWYgKGZvcm1hdC5oYXNFbXVsYXRlZEltYWdlQ2hhbm5lbHMoKSkKKyAgICBjb25zdCBh
bmdsZTo6Rm9ybWF0ICZpbWFnZUZvcm1hdCAgICAgPSBmb3JtYXQuYWN0dWFsSW1hZ2VGb3JtYXQo
KTsKKyAgICBjb25zdCBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MgPSBHZXRGb3JtYXRB
c3BlY3RGbGFncyhpbWFnZUZvcm1hdCk7CisKKyAgICAvLyBSb2J1c3QgY2xlYXJzIG11c3Qgb25s
eSBiZSBzdGFnZWQgaWYgd2UgZG8gbm90IGhhdmUgYW55IHByaW9yIGRhdGEgZm9yIHRoaXMgc3Vi
cmVzb3VyY2UuCisgICAgQVNTRVJUKCFpc1VwZGF0ZVN0YWdlZChpbmRleC5nZXRMZXZlbEluZGV4
KCksIGluZGV4LmdldExheWVySW5kZXgoKSkpOworCisgICAgVmtDbGVhclZhbHVlIGNsZWFyVmFs
dWUgPSBHZXRSb2J1c3RSZXNvdXJjZUNsZWFyVmFsdWUoZm9ybWF0KTsKKworICAgIGlmIChpbWFn
ZUZvcm1hdC5pc0Jsb2NrKQogICAgIHsKLSAgICAgICAgc3RhZ2VTdWJyZXNvdXJjZUVtdWxhdGVk
Q2xlYXIoaW5kZXgsIGZvcm1hdC5pbnRlbmRlZEZvcm1hdCgpKTsKKyAgICAgICAgLy8gVGhpcyBv
bmx5IHN1cHBvcnRzIGRvaW5nIGFuIGluaXRpYWwgY2xlYXIgdG8gMCwgbm90IGNsZWFyaW5nIHRv
IGEgc3BlY2lmaWMgZW5jb2RlZCBSR0JBCisgICAgICAgIC8vIHZhbHVlCisgICAgICAgIEFTU0VS
VCgoY2xlYXJWYWx1ZS5jb2xvci5pbnQzMlswXSA9PSAwKSAmJiAoY2xlYXJWYWx1ZS5jb2xvci5p
bnQzMlsxXSA9PSAwKSAmJgorICAgICAgICAgICAgICAgKGNsZWFyVmFsdWUuY29sb3IuaW50MzJb
Ml0gPT0gMCkgJiYgKGNsZWFyVmFsdWUuY29sb3IuaW50MzJbM10gPT0gMCkpOworCisgICAgICAg
IGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmZm9ybWF0SW5mbyA9CisgICAgICAgICAgICBnbDo6
R2V0U2l6ZWRJbnRlcm5hbEZvcm1hdEluZm8oaW1hZ2VGb3JtYXQuZ2xJbnRlcm5hbEZvcm1hdCk7
CisgICAgICAgIEdMdWludCB0b3RhbFNpemU7CisgICAgICAgIEFOR0xFX1ZLX0NIRUNLX01BVEgo
Y29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdEluZm8uY29tcHV0
ZUNvbXByZXNzZWRJbWFnZVNpemUoZ2xFeHRlbnRzLCAmdG90YWxTaXplKSk7CisKKyAgICAgICAg
VmtCdWZmZXIgYnVmZmVySGFuZGxlICAgICAgPSBWS19OVUxMX0hBTkRMRTsKKyAgICAgICAgdWlu
dDhfdCAqc3RhZ2luZ1BvaW50ZXIgICAgPSBudWxscHRyOworICAgICAgICBWa0RldmljZVNpemUg
c3RhZ2luZ09mZnNldCA9IDA7CisgICAgICAgIEFOR0xFX1RSWShtU3RhZ2luZ0J1ZmZlci5hbGxv
Y2F0ZShjb250ZXh0VmssIHRvdGFsU2l6ZSwgJnN0YWdpbmdQb2ludGVyLCAmYnVmZmVySGFuZGxl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YWdpbmdPZmZz
ZXQsIG51bGxwdHIpKTsKKyAgICAgICAgbWVtc2V0KHN0YWdpbmdQb2ludGVyLCAwLCB0b3RhbFNp
emUpOworCisgICAgICAgIFZrQnVmZmVySW1hZ2VDb3B5IGNvcHlSZWdpb24gICAgICAgICAgICAg
ICA9IHt9OworICAgICAgICBjb3B5UmVnaW9uLmltYWdlRXh0ZW50LndpZHRoICAgICAgICAgICAg
ICAgPSBnbEV4dGVudHMud2lkdGg7CisgICAgICAgIGNvcHlSZWdpb24uaW1hZ2VFeHRlbnQuaGVp
Z2h0ICAgICAgICAgICAgICA9IGdsRXh0ZW50cy5oZWlnaHQ7CisgICAgICAgIGNvcHlSZWdpb24u
aW1hZ2VFeHRlbnQuZGVwdGggICAgICAgICAgICAgICA9IGdsRXh0ZW50cy5kZXB0aDsKKyAgICAg
ICAgY29weVJlZ2lvbi5pbWFnZVN1YnJlc291cmNlLmFzcGVjdE1hc2sgICAgID0gYXNwZWN0Rmxh
Z3M7CisgICAgICAgIGNvcHlSZWdpb24uaW1hZ2VTdWJyZXNvdXJjZS5iYXNlQXJyYXlMYXllciA9
IGluZGV4Lmhhc0xheWVyKCkgPyBpbmRleC5nZXRMYXllckluZGV4KCkgOiAwOworICAgICAgICBj
b3B5UmVnaW9uLmltYWdlU3VicmVzb3VyY2UubGF5ZXJDb3VudCAgICAgPSBpbmRleC5nZXRMYXll
ckNvdW50KCk7CisKKyAgICAgICAgYXBwZW5kU3VicmVzb3VyY2VVcGRhdGUoU3VicmVzb3VyY2VV
cGRhdGUobVN0YWdpbmdCdWZmZXIuZ2V0Q3VycmVudEJ1ZmZlcigpLCBjb3B5UmVnaW9uKSk7CiAg
ICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGFwcGVuZFN1YnJlc291cmNlVXBkYXRlKFN1
YnJlc291cmNlVXBkYXRlKGFzcGVjdEZsYWdzLCBjbGVhclZhbHVlLCBpbmRleCkpOworICAgIH0K
KworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAotdm9pZCBJbWFnZUhl
bHBlcjo6c3RhZ2VTdWJyZXNvdXJjZUNsZWFyKGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmdsZTo6Rm9y
bWF0ICZmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgVmtDbGVhckNvbG9yVmFsdWUgJmNvbG9yVmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckRlcHRoU3RlbmNpbFZhbHVlICZkZXB0aFN0
ZW5jaWxWYWx1ZSkKK3ZvaWQgSW1hZ2VIZWxwZXI6OnN0YWdlQ2xlYXJJZkVtdWxhdGVkRm9ybWF0
KENvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgVmtDbGVhclZhbHVlIGNsZWFyVmFsdWU7CisgICAg
Ly8gU2tpcCBzdGFnaW5nIGV4dHJhIGNsZWFycyBpZiByb2J1c3QgcmVzb3VyY2UgaW5pdCBpcyBl
bmFibGVkLgorICAgIGlmICghbUZvcm1hdC0+aGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxzKCkgfHwg
Y29udGV4dC0+aXNSb2J1c3RSZXNvdXJjZUluaXRFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
IAotICAgIGJvb2wgaXNEZXB0aFN0ZW5jaWwgPSBmb3JtYXQuZGVwdGhCaXRzID4gMCB8fCBmb3Jt
YXQuc3RlbmNpbEJpdHMgPiAwOwotICAgIGlmIChpc0RlcHRoU3RlbmNpbCkKKyAgICBWa0NsZWFy
VmFsdWUgY2xlYXJWYWx1ZTsKKyAgICBpZiAobUZvcm1hdC0+aW50ZW5kZWRGb3JtYXQoKS5oYXNE
ZXB0aE9yU3RlbmNpbEJpdHMoKSkKICAgICB7Ci0gICAgICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVu
Y2lsID0gZGVwdGhTdGVuY2lsVmFsdWU7CisgICAgICAgIGNsZWFyVmFsdWUuZGVwdGhTdGVuY2ls
ID0ga1JvYnVzdEluaXREZXB0aFN0ZW5jaWxWYWx1ZTsKICAgICB9CiAgICAgZWxzZQogICAgIHsK
LSAgICAgICAgY2xlYXJWYWx1ZS5jb2xvciA9IGNvbG9yVmFsdWU7CisgICAgICAgIGNsZWFyVmFs
dWUuY29sb3IgPSBrRW11bGF0ZWRJbml0Q29sb3JWYWx1ZTsKICAgICB9CiAKLSAgICAvLyBOb3Rl
IHRoYXQgY2xlYXJzIGNhbiBhcnJpdmUgb3V0IG9mIG9yZGVyIGZyb20gdGhlIGZyb250LWVuZCB3
aXRoIHJlc3BlY3QgdG8gc3RhZ2VkIGNoYW5nZXMsCi0gICAgLy8gYnV0IHRoZXkgYXJlIGludGVu
ZGVkIHRvIGJlIGRvbmUgZmlyc3QuCi0gICAgbVN1YnJlc291cmNlVXBkYXRlcy5lbXBsYWNlKG1T
dWJyZXNvdXJjZVVwZGF0ZXMuYmVnaW4oKSwgY2xlYXJWYWx1ZSwgaW5kZXgpOworICAgIGNvbnN0
IFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncyA9IGdldEFzcGVjdEZsYWdzKCk7CisKKyAg
ICAvLyBJZiB0aGUgaW1hZ2UgaGFzIGFuIGVtdWxhdGVkIGNoYW5uZWwgYW5kIHJvYnVzdCByZXNv
dXJjZSBpbml0IGlzIG5vdCBlbmFibGVkLCBhbHdheXMgY2xlYXIKKyAgICAvLyBpdC4gVGhlc2Ug
Y2hhbm5lbHMgd2lsbCBiZSBtYXNrZWQgb3V0IGluIGZ1dHVyZSB3cml0ZXMsIGFuZCBzaG91bGRu
J3QgY29udGFpbiB1bmluaXRpYWxpemVkCisgICAgLy8gdmFsdWVzLgorICAgIGZvciAodWludDMy
X3QgbGV2ZWwgPSAwOyBsZXZlbCA8IG1MZXZlbENvdW50OyArK2xldmVsKQorICAgIHsKKyAgICAg
ICAgZ2w6OkltYWdlSW5kZXggaW5kZXggPSBnbDo6SW1hZ2VJbmRleDo6TWFrZTJEQXJyYXlSYW5n
ZShsZXZlbCwgMCwgbUxheWVyQ291bnQpOworICAgICAgICBwcmVwZW5kU3VicmVzb3VyY2VVcGRh
dGUoU3VicmVzb3VyY2VVcGRhdGUoYXNwZWN0RmxhZ3MsIGNsZWFyVmFsdWUsIGluZGV4KSk7Cisg
ICAgfQogfQogCiBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjphbGxvY2F0ZVN0YWdpbmdNZW1v
cnkoQ29udGV4dFZrICpjb250ZXh0VmssCkBAIC0yOTQyLDYgKzM3NjksNTggQEAgYW5nbGU6OlJl
c3VsdCBJbWFnZUhlbHBlcjo6YWxsb2NhdGVTdGFnaW5nTWVtb3J5KENvbnRleHRWayAqY29udGV4
dFZrLAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIAorYW5nbGU6OlJl
c3VsdCBJbWFnZUhlbHBlcjo6Zmx1c2hTaW5nbGVTdWJyZXNvdXJjZVN0YWdlZFVwZGF0ZXMoQ29u
dGV4dFZrICpjb250ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZlbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGxheWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsZWFy
VmFsdWVzQXJyYXkgKmRlZmVycmVkQ2xlYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGVmZXJyZWRDbGVh
ckluZGV4KQoreworICAgIC8vIEhhbmRsZSBkZWZlcnJlZCBjbGVhcnMuIFNlYXJjaCB0aGUgdXBk
YXRlcyBsaXN0IGZvciBhIG1hdGNoaW5nIGNsZWFyIGluZGV4LgorICAgIGlmIChkZWZlcnJlZENs
ZWFycykKKyAgICB7CisgICAgICAgIE9wdGlvbmFsPHNpemVfdD4gZm91bmRDbGVhcjsKKworICAg
ICAgICBmb3IgKHNpemVfdCB1cGRhdGVJbmRleCA9IDA7IHVwZGF0ZUluZGV4IDwgbVN1YnJlc291
cmNlVXBkYXRlcy5zaXplKCk7ICsrdXBkYXRlSW5kZXgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IFN1YnJlc291cmNlVXBkYXRlICZ1cGRhdGUgPSBtU3VicmVzb3VyY2VVcGRhdGVzW3VwZGF0ZUlu
ZGV4XTsKKworICAgICAgICAgICAgaWYgKHVwZGF0ZS5pc1VwZGF0ZVRvTGF5ZXJMZXZlbChsYXll
ciwgbGV2ZWwpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8vIE9uIGFueSBkYXRh
IHVwZGF0ZSwgZXhpdCBvdXQuIFdlJ2xsIG5lZWQgdG8gZG8gYSBmdWxsIHVwbG9hZC4KKyAgICAg
ICAgICAgICAgICBpZiAodXBkYXRlLnVwZGF0ZVNvdXJjZSAhPSBVcGRhdGVTb3VyY2U6OkNsZWFy
IHx8CisgICAgICAgICAgICAgICAgICAgICh1cGRhdGUuY2xlYXIubGF5ZXJDb3VudCAhPSAxICYm
CisgICAgICAgICAgICAgICAgICAgICAhKHVwZGF0ZS5jbGVhci5sYXllckNvdW50ID09IFZLX1JF
TUFJTklOR19BUlJBWV9MQVlFUlMgJiYgbUxheWVyQ291bnQgPT0gMSkpKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZm91bmRDbGVhci5yZXNldCgpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAv
LyBPdGhlcndpc2UgdHJhY2sgdGhlIGxhdGVzdCBjbGVhciB1cGRhdGUgaW5kZXguCisgICAgICAg
ICAgICAgICAgZm91bmRDbGVhciA9IHVwZGF0ZUluZGV4OworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGluZGV4IHdlIGRlZmVyIHRoZSBj
bGVhciB1c2luZyB0aGUgY2xlYXIgcmVmZXJlbmNlLgorICAgICAgICBpZiAoZm91bmRDbGVhci52
YWxpZCgpKQorICAgICAgICB7CisgICAgICAgICAgICBzaXplX3QgZm91bmRJbmRleCAgICAgICAg
ID0gZm91bmRDbGVhci52YWx1ZSgpOworICAgICAgICAgICAgY29uc3QgQ2xlYXJVcGRhdGUgJnVw
ZGF0ZSA9IG1TdWJyZXNvdXJjZVVwZGF0ZXNbZm91bmRJbmRleF0uY2xlYXI7CisKKyAgICAgICAg
ICAgIC8vIE5vdGUgdGhhdCB0aGlzIHNldCBjb21tYW5kIGhhbmRsZXMgY29tYmluZWQgb3Igc2Vw
YXJhdGUgZGVwdGgvc3RlbmNpbCBjbGVhcnMuCisgICAgICAgICAgICBkZWZlcnJlZENsZWFycy0+
c3RvcmUoZGVmZXJyZWRDbGVhckluZGV4LCB1cGRhdGUuYXNwZWN0RmxhZ3MsIHVwZGF0ZS52YWx1
ZSk7CisKKyAgICAgICAgICAgIC8vIFdlIHByb2Nlc3MgdGhlIHVwZGF0ZXMgYWdhaW4gdG8gZXJh
c2UgYW55IGNsZWFycyBmb3IgdGhpcyBsZXZlbC4KKyAgICAgICAgICAgIHJlbW92ZVN0YWdlZFVw
ZGF0ZXMoY29udGV4dFZrLCBsZXZlbCwgbGF5ZXIpOworICAgICAgICAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgLy8gT3RoZXJ3aXNlIHdl
IHByb2NlZWQgd2l0aCBhIG5vcm1hbCB1cGRhdGUuCisgICAgfQorCisgICAgcmV0dXJuIGZsdXNo
U3RhZ2VkVXBkYXRlcyhjb250ZXh0VmssIGxldmVsLCBsZXZlbCArIDEsIGxheWVyLCBsYXllciAr
IDEsIGNvbW1hbmRCdWZmZXIpOworfQorCiBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjpmbHVz
aFN0YWdlZFVwZGF0ZXMoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGV2ZWxTdGFydCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZlbEVuZCwK
QEAgLTMwNTYsOCArMzkzNSw4IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6OmZsdXNoU3Rh
Z2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgICAgICBpZiAodXBkYXRlLnVw
ZGF0ZVNvdXJjZSA9PSBVcGRhdGVTb3VyY2U6OkNsZWFyKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBjbGVhcih1cGRhdGUuY2xlYXIudmFsdWUsIHVwZGF0ZU1pcExldmVsLCB1cGRhdGVCYXNlTGF5
ZXIsIHVwZGF0ZUxheWVyQ291bnQsCi0gICAgICAgICAgICAgICAgICBjb21tYW5kQnVmZmVyKTsK
KyAgICAgICAgICAgIGNsZWFyKHVwZGF0ZS5jbGVhci5hc3BlY3RGbGFncywgdXBkYXRlLmNsZWFy
LnZhbHVlLCB1cGRhdGVNaXBMZXZlbCwgdXBkYXRlQmFzZUxheWVyLAorICAgICAgICAgICAgICAg
ICAgdXBkYXRlTGF5ZXJDb3VudCwgY29tbWFuZEJ1ZmZlcik7CiAgICAgICAgIH0KICAgICAgICAg
ZWxzZSBpZiAodXBkYXRlLnVwZGF0ZVNvdXJjZSA9PSBVcGRhdGVTb3VyY2U6OkJ1ZmZlcikKICAg
ICAgICAgewpAQCAtMzA2Niw3ICszOTQ1LDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6
Zmx1c2hTdGFnZWRVcGRhdGVzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgQnVm
ZmVySGVscGVyICpjdXJyZW50QnVmZmVyID0gYnVmZmVyVXBkYXRlLmJ1ZmZlckhlbHBlcjsKICAg
ICAgICAgICAgIEFTU0VSVChjdXJyZW50QnVmZmVyICYmIGN1cnJlbnRCdWZmZXItPnZhbGlkKCkp
OwogCi0gICAgICAgICAgICBBTkdMRV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclJlYWQoVktfQUND
RVNTX1RSQU5TRkVSX1JFQURfQklULCBjdXJyZW50QnVmZmVyKSk7CisgICAgICAgICAgICBBTkdM
RV9UUlkoY29udGV4dFZrLT5vbkJ1ZmZlclRyYW5zZmVyUmVhZChjdXJyZW50QnVmZmVyKSk7CiAK
ICAgICAgICAgICAgIGNvbW1hbmRCdWZmZXItPmNvcHlCdWZmZXJUb0ltYWdlKGN1cnJlbnRCdWZm
ZXItPmdldEJ1ZmZlcigpLmdldEhhbmRsZSgpLCBtSW1hZ2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50TGF5b3V0KCksIDEsICZ1cGRhdGUu
YnVmZmVyLmNvcHlSZWdpb24pOwpAQCAtMzE4NCw3ICs0MDYzLDcgQEAgYW5nbGU6OlJlc3VsdCBJ
bWFnZUhlbHBlcjo6Y29weUltYWdlRGF0YVRvQnVmZmVyKENvbnRleHRWayAqY29udGV4dFZrLAog
CiAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlciA9IG51bGxwdHI7CiAgICAgQU5HTEVf
VFJZKGNvbnRleHRWay0+b25JbWFnZVJlYWQoYXNwZWN0RmxhZ3MsIEltYWdlTGF5b3V0OjpUcmFu
c2ZlclNyYywgdGhpcykpOwotICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uQnVmZmVyV3JpdGUo
VktfQUNDRVNTX1RSQU5TRkVSX1dSSVRFX0JJVCwgKmJ1ZmZlck91dCkpOworICAgIEFOR0xFX1RS
WShjb250ZXh0VmstPm9uQnVmZmVyVHJhbnNmZXJXcml0ZSgqYnVmZmVyT3V0KSk7CiAgICAgQU5H
TEVfVFJZKGNvbnRleHRWay0+ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1h
bmRCdWZmZXIpKTsKIAogICAgIFZrQnVmZmVySW1hZ2VDb3B5IHJlZ2lvbnNbMl0gPSB7fTsKQEAg
LTMzNTksMTAgKzQyMzgsMTIgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6cmVhZFBpeGVs
cyhDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAvLyBJZiB0aGUgc291cmNlIGltYWdlIGlzIG11
bHRpc2FtcGxlZCwgd2UgbmVlZCB0byByZXNvbHZlIGl0IGludG8gYSB0ZW1wb3JhcnkgaW1hZ2Ug
YmVmb3JlCiAgICAgLy8gcGVyZm9ybWluZyBhIHJlYWRiYWNrLgogICAgIGJvb2wgaXNNdWx0aXNh
bXBsZWQgPSBtU2FtcGxlcyA+IDE7Ci0gICAgRGV2aWNlU2NvcGVkPEltYWdlSGVscGVyPiByZXNv
bHZlZEltYWdlKGNvbnRleHRWay0+Z2V0RGV2aWNlKCkpOworICAgIFJlbmRlcmVyU2NvcGVkPElt
YWdlSGVscGVyPiByZXNvbHZlZEltYWdlKGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKSk7CiAKICAg
ICBJbWFnZUhlbHBlciAqc3JjID0gdGhpczsKIAorICAgIEFTU0VSVCghaXNVcGRhdGVTdGFnZWQo
bGV2ZWwsIGxheWVyKSk7CisKICAgICBpZiAoaXNNdWx0aXNhbXBsZWQpCiAgICAgewogICAgICAg
ICBBTkdMRV9UUlkocmVzb2x2ZWRJbWFnZS5nZXQoKS5pbml0MkRTdGFnaW5nKApAQCAtMzM3MSwx
NCArNDI1MiwxNiBAQCBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjpyZWFkUGl4ZWxzKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgICAgICByZXNvbHZlZEltYWdlLmdldCgpLnJldGFpbigmY29u
dGV4dFZrLT5nZXRSZXNvdXJjZVVzZUxpc3QoKSk7CiAgICAgfQogCisgICAgVmtJbWFnZUFzcGVj
dEZsYWdzIGxheW91dENoYW5nZUFzcGVjdEZsYWdzID0gc3JjLT5nZXRBc3BlY3RGbGFncygpOwor
CiAgICAgLy8gTm90ZSB0aGF0IGFsdGhvdWdoIHdlJ3JlIHJlYWRpbmcgZnJvbSB0aGUgaW1hZ2Us
IHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBsYXlvdXQgYmVsb3cuCiAgICAgQ29tbWFuZEJ1ZmZlciAq
Y29tbWFuZEJ1ZmZlcjsKICAgICBpZiAoaXNNdWx0aXNhbXBsZWQpCiAgICAgewotICAgICAgICBB
TkdMRV9UUlkoY29udGV4dFZrLT5vbkltYWdlV3JpdGUoY29weUFzcGVjdEZsYWdzLCBJbWFnZUxh
eW91dDo6VHJhbnNmZXJEc3QsCisgICAgICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uSW1hZ2VX
cml0ZShsYXlvdXRDaGFuZ2VBc3BlY3RGbGFncywgSW1hZ2VMYXlvdXQ6OlRyYW5zZmVyRHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc29sdmVkSW1hZ2Uu
Z2V0KCkpKTsKICAgICB9Ci0gICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25JbWFnZVJlYWQoY29w
eUFzcGVjdEZsYWdzLCBJbWFnZUxheW91dDo6VHJhbnNmZXJTcmMsIHRoaXMpKTsKKyAgICBBTkdM
RV9UUlkoY29udGV4dFZrLT5vbkltYWdlUmVhZChsYXlvdXRDaGFuZ2VBc3BlY3RGbGFncywgSW1h
Z2VMYXlvdXQ6OlRyYW5zZmVyU3JjLCB0aGlzKSk7CiAgICAgQU5HTEVfVFJZKGNvbnRleHRWay0+
ZW5kUmVuZGVyUGFzc0FuZEdldENvbW1hbmRCdWZmZXIoJmNvbW1hbmRCdWZmZXIpKTsKIAogICAg
IGNvbnN0IGFuZ2xlOjpGb3JtYXQgKnJlYWRGb3JtYXQgPSAmbUZvcm1hdC0+YWN0dWFsSW1hZ2VG
b3JtYXQoKTsKQEAgLTM0MjYsNyArNDMwOSw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxwZXI6
OnJlYWRQaXhlbHMoQ29udGV4dFZrICpjb250ZXh0VmssCiAKICAgICAgICAgcmVzb2x2ZSgmcmVz
b2x2ZWRJbWFnZS5nZXQoKSwgcmVzb2x2ZVJlZ2lvbiwgY29tbWFuZEJ1ZmZlcik7CiAKLSAgICAg
ICAgQU5HTEVfVFJZKGNvbnRleHRWay0+b25JbWFnZVJlYWQoY29weUFzcGVjdEZsYWdzLCBJbWFn
ZUxheW91dDo6VHJhbnNmZXJTcmMsCisgICAgICAgIEFOR0xFX1RSWShjb250ZXh0VmstPm9uSW1h
Z2VSZWFkKGxheW91dENoYW5nZUFzcGVjdEZsYWdzLCBJbWFnZUxheW91dDo6VHJhbnNmZXJTcmMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXNvbHZlZEltYWdl
LmdldCgpKSk7CiAKICAgICAgICAgLy8gTWFrZSB0aGUgcmVzb2x2ZWQgaW1hZ2UgdGhlIHRhcmdl
dCBvZiBidWZmZXIgY29weS4KQEAgLTM0NzUsNyArNDM1OCw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1h
Z2VIZWxwZXI6OnJlYWRQaXhlbHMoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgIHVpbnQ4
X3QgKmRlc3QgPSBzdGF0aWNfY2FzdDx1aW50OF90ICo+KG1hcFB0cikgKyByZWludGVycHJldF9j
YXN0PHB0cmRpZmZfdD4ocGl4ZWxzKTsKICAgICAgICAgUGFja1BpeGVscyhwYWNrUGl4ZWxzUGFy
YW1zLCAqcmVhZEZvcm1hdCwgYXJlYS53aWR0aCAqIHJlYWRGb3JtYXQtPnBpeGVsQnl0ZXMsCiAg
ICAgICAgICAgICAgICAgICAgcmVhZFBpeGVsQnVmZmVyLCBzdGF0aWNfY2FzdDx1aW50OF90ICo+
KGRlc3QpKTsKLSAgICAgICAgcGFja0J1ZmZlclZrLT51bm1hcEltcGwoY29udGV4dFZrKTsKKyAg
ICAgICAgQU5HTEVfVFJZKHBhY2tCdWZmZXJWay0+dW5tYXBJbXBsKGNvbnRleHRWaykpOwogICAg
IH0KICAgICBlbHNlCiAgICAgewpAQCAtMzUwMCwxNCArNDM4MywxNyBAQCBJbWFnZUhlbHBlcjo6
U3VicmVzb3VyY2VVcGRhdGU6OlN1YnJlc291cmNlVXBkYXRlKEltYWdlSGVscGVyICppbWFnZUlu
LAogICAgIDogdXBkYXRlU291cmNlKFVwZGF0ZVNvdXJjZTo6SW1hZ2UpLCBpbWFnZXtpbWFnZUlu
LCBjb3B5UmVnaW9uSW59CiB7fQogCi1JbWFnZUhlbHBlcjo6U3VicmVzb3VyY2VVcGRhdGU6OlN1
YnJlc291cmNlVXBkYXRlKGNvbnN0IFZrQ2xlYXJWYWx1ZSAmY2xlYXJWYWx1ZSwKK0ltYWdlSGVs
cGVyOjpTdWJyZXNvdXJjZVVwZGF0ZTo6U3VicmVzb3VyY2VVcGRhdGUoVmtJbWFnZUFzcGVjdEZs
YWdzIGFzcGVjdEZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBWa0NsZWFyVmFsdWUgJmNsZWFyVmFsdWUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4
ICZpbWFnZUluZGV4KQogICAgIDogdXBkYXRlU291cmNlKFVwZGF0ZVNvdXJjZTo6Q2xlYXIpCiB7
Ci0gICAgY2xlYXIudmFsdWUgICAgICA9IGNsZWFyVmFsdWU7Ci0gICAgY2xlYXIubGV2ZWxJbmRl
eCA9IGltYWdlSW5kZXguZ2V0TGV2ZWxJbmRleCgpOwotICAgIGNsZWFyLmxheWVySW5kZXggPSBp
bWFnZUluZGV4Lmhhc0xheWVyKCkgPyBpbWFnZUluZGV4LmdldExheWVySW5kZXgoKSA6IDA7Ci0g
ICAgY2xlYXIubGF5ZXJDb3VudCA9IGltYWdlSW5kZXguZ2V0TGF5ZXJDb3VudCgpOworICAgIGNs
ZWFyLmFzcGVjdEZsYWdzID0gYXNwZWN0RmxhZ3M7CisgICAgY2xlYXIudmFsdWUgICAgICAgPSBj
bGVhclZhbHVlOworICAgIGNsZWFyLmxldmVsSW5kZXggID0gaW1hZ2VJbmRleC5nZXRMZXZlbElu
ZGV4KCk7CisgICAgY2xlYXIubGF5ZXJJbmRleCAgPSBpbWFnZUluZGV4Lmhhc0xheWVyKCkgPyBp
bWFnZUluZGV4LmdldExheWVySW5kZXgoKSA6IDA7CisgICAgY2xlYXIubGF5ZXJDb3VudCA9Cisg
ICAgICAgIGltYWdlSW5kZXguaGFzTGF5ZXIoKSA/IGltYWdlSW5kZXguZ2V0TGF5ZXJDb3VudCgp
IDogVktfUkVNQUlOSU5HX0FSUkFZX0xBWUVSUzsKIH0KIAogSW1hZ2VIZWxwZXI6OlN1YnJlc291
cmNlVXBkYXRlOjpTdWJyZXNvdXJjZVVwZGF0ZShjb25zdCBTdWJyZXNvdXJjZVVwZGF0ZSAmb3Ro
ZXIpCkBAIC0zNTQ5LDYgKzQ0MzUsMTggQEAgYm9vbCBJbWFnZUhlbHBlcjo6U3VicmVzb3VyY2VV
cGRhdGU6OmlzVXBkYXRlVG9MYXllckxldmVsKHVpbnQzMl90IGxheWVySW5kZXgsCiAgICAgcmV0
dXJuIGRzdC5iYXNlQXJyYXlMYXllciA9PSBsYXllckluZGV4ICYmIGRzdC5taXBMZXZlbCA9PSBs
ZXZlbEluZGV4OwogfQogCit2b2lkIEltYWdlSGVscGVyOjphcHBlbmRTdWJyZXNvdXJjZVVwZGF0
ZShTdWJyZXNvdXJjZVVwZGF0ZSAmJnVwZGF0ZSkKK3sKKyAgICBtU3VicmVzb3VyY2VVcGRhdGVz
LmVtcGxhY2VfYmFjayhzdGQ6Om1vdmUodXBkYXRlKSk7CisgICAgb25TdGF0ZUNoYW5nZShhbmds
ZTo6U3ViamVjdE1lc3NhZ2U6OlN1YmplY3RDaGFuZ2VkKTsKK30KKwordm9pZCBJbWFnZUhlbHBl
cjo6cHJlcGVuZFN1YnJlc291cmNlVXBkYXRlKFN1YnJlc291cmNlVXBkYXRlICYmdXBkYXRlKQor
eworICAgIG1TdWJyZXNvdXJjZVVwZGF0ZXMuaW5zZXJ0KG1TdWJyZXNvdXJjZVVwZGF0ZXMuYmVn
aW4oKSwgc3RkOjptb3ZlKHVwZGF0ZSkpOworICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1Ympl
Y3RNZXNzYWdlOjpTdWJqZWN0Q2hhbmdlZCk7Cit9CisKIC8vIEZyYW1lYnVmZmVySGVscGVyIGlt
cGxlbWVudGF0aW9uLgogRnJhbWVidWZmZXJIZWxwZXI6OkZyYW1lYnVmZmVySGVscGVyKCkgPSBk
ZWZhdWx0OwogCkBAIC0zNTc4LDE1ICs0NDc2LDE5IEBAIHZvaWQgRnJhbWVidWZmZXJIZWxwZXI6
OnJlbGVhc2UoQ29udGV4dFZrICpjb250ZXh0VmspCiB9CiAKIC8vIEltYWdlVmlld0hlbHBlciBp
bXBsZW1lbnRhdGlvbi4KLUltYWdlVmlld0hlbHBlcjo6SW1hZ2VWaWV3SGVscGVyKCkKK0ltYWdl
Vmlld0hlbHBlcjo6SW1hZ2VWaWV3SGVscGVyKCkgOiBtTGluZWFyQ29sb3JzcGFjZSh0cnVlKQog
ewogICAgIG1Vc2UuaW5pdCgpOwogfQogCiBJbWFnZVZpZXdIZWxwZXI6OkltYWdlVmlld0hlbHBl
cihJbWFnZVZpZXdIZWxwZXIgJiZvdGhlcikKIHsKLSAgICBzdGQ6OnN3YXAobVJlYWRJbWFnZVZp
ZXcsIG90aGVyLm1SZWFkSW1hZ2VWaWV3KTsKLSAgICBzdGQ6OnN3YXAobUZldGNoSW1hZ2VWaWV3
LCBvdGhlci5tRmV0Y2hJbWFnZVZpZXcpOworICAgIHN0ZDo6c3dhcChtTGluZWFyUmVhZEltYWdl
Vmlldywgb3RoZXIubUxpbmVhclJlYWRJbWFnZVZpZXcpOworICAgIHN0ZDo6c3dhcChtTm9uTGlu
ZWFyUmVhZEltYWdlVmlldywgb3RoZXIubU5vbkxpbmVhclJlYWRJbWFnZVZpZXcpOworICAgIHN0
ZDo6c3dhcChtTGluZWFyRmV0Y2hJbWFnZVZpZXcsIG90aGVyLm1MaW5lYXJGZXRjaEltYWdlVmll
dyk7CisgICAgc3RkOjpzd2FwKG1Ob25MaW5lYXJGZXRjaEltYWdlVmlldywgb3RoZXIubU5vbkxp
bmVhckZldGNoSW1hZ2VWaWV3KTsKKyAgICBzdGQ6OnN3YXAobUxpbmVhckNvbG9yc3BhY2UsIG90
aGVyLm1MaW5lYXJDb2xvcnNwYWNlKTsKKwogICAgIHN0ZDo6c3dhcChtU3RlbmNpbFJlYWRJbWFn
ZVZpZXcsIG90aGVyLm1TdGVuY2lsUmVhZEltYWdlVmlldyk7CiAgICAgc3RkOjpzd2FwKG1MZXZl
bERyYXdJbWFnZVZpZXdzLCBvdGhlci5tTGV2ZWxEcmF3SW1hZ2VWaWV3cyk7CiAgICAgc3RkOjpz
d2FwKG1MYXllckxldmVsRHJhd0ltYWdlVmlld3MsIG90aGVyLm1MYXllckxldmVsRHJhd0ltYWdl
Vmlld3MpOwpAQCAtMzYwMSwxMyArNDUwMywyMSBAQCB2b2lkIEltYWdlVmlld0hlbHBlcjo6cmVs
ZWFzZShSZW5kZXJlclZrICpyZW5kZXJlcikKIHsKICAgICBzdGQ6OnZlY3RvcjxHYXJiYWdlT2Jq
ZWN0PiBnYXJiYWdlOwogCi0gICAgaWYgKG1SZWFkSW1hZ2VWaWV3LnZhbGlkKCkpCisgICAgaWYg
KG1MaW5lYXJSZWFkSW1hZ2VWaWV3LnZhbGlkKCkpCisgICAgeworICAgICAgICBnYXJiYWdlLmVt
cGxhY2VfYmFjayhHZXRHYXJiYWdlKCZtTGluZWFyUmVhZEltYWdlVmlldykpOworICAgIH0KKyAg
ICBpZiAobU5vbkxpbmVhclJlYWRJbWFnZVZpZXcudmFsaWQoKSkKICAgICB7Ci0gICAgICAgIGdh
cmJhZ2UuZW1wbGFjZV9iYWNrKEdldEdhcmJhZ2UoJm1SZWFkSW1hZ2VWaWV3KSk7CisgICAgICAg
IGdhcmJhZ2UuZW1wbGFjZV9iYWNrKEdldEdhcmJhZ2UoJm1Ob25MaW5lYXJSZWFkSW1hZ2VWaWV3
KSk7CiAgICAgfQotICAgIGlmIChtRmV0Y2hJbWFnZVZpZXcudmFsaWQoKSkKKyAgICBpZiAobUxp
bmVhckZldGNoSW1hZ2VWaWV3LnZhbGlkKCkpCiAgICAgewotICAgICAgICBnYXJiYWdlLmVtcGxh
Y2VfYmFjayhHZXRHYXJiYWdlKCZtRmV0Y2hJbWFnZVZpZXcpKTsKKyAgICAgICAgZ2FyYmFnZS5l
bXBsYWNlX2JhY2soR2V0R2FyYmFnZSgmbUxpbmVhckZldGNoSW1hZ2VWaWV3KSk7CisgICAgfQor
ICAgIGlmIChtTm9uTGluZWFyRmV0Y2hJbWFnZVZpZXcudmFsaWQoKSkKKyAgICB7CisgICAgICAg
IGdhcmJhZ2UuZW1wbGFjZV9iYWNrKEdldEdhcmJhZ2UoJm1Ob25MaW5lYXJGZXRjaEltYWdlVmll
dykpOwogICAgIH0KICAgICBpZiAobVN0ZW5jaWxSZWFkSW1hZ2VWaWV3LnZhbGlkKCkpCiAgICAg
ewpAQCAtMzY0Niw4ICs0NTU2LDEwIEBAIHZvaWQgSW1hZ2VWaWV3SGVscGVyOjpyZWxlYXNlKFJl
bmRlcmVyVmsgKnJlbmRlcmVyKQogCiB2b2lkIEltYWdlVmlld0hlbHBlcjo6ZGVzdHJveShWa0Rl
dmljZSBkZXZpY2UpCiB7Ci0gICAgbVJlYWRJbWFnZVZpZXcuZGVzdHJveShkZXZpY2UpOwotICAg
IG1GZXRjaEltYWdlVmlldy5kZXN0cm95KGRldmljZSk7CisgICAgbUxpbmVhclJlYWRJbWFnZVZp
ZXcuZGVzdHJveShkZXZpY2UpOworICAgIG1Ob25MaW5lYXJSZWFkSW1hZ2VWaWV3LmRlc3Ryb3ko
ZGV2aWNlKTsKKyAgICBtTGluZWFyRmV0Y2hJbWFnZVZpZXcuZGVzdHJveShkZXZpY2UpOworICAg
IG1Ob25MaW5lYXJGZXRjaEltYWdlVmlldy5kZXN0cm95KGRldmljZSk7CiAgICAgbVN0ZW5jaWxS
ZWFkSW1hZ2VWaWV3LmRlc3Ryb3koZGV2aWNlKTsKIAogICAgIGZvciAoSW1hZ2VWaWV3ICZpbWFn
ZVZpZXcgOiBtTGV2ZWxEcmF3SW1hZ2VWaWV3cykKQEAgLTM2NzcsMTAgKzQ1ODksMTIgQEAgYW5n
bGU6OlJlc3VsdCBJbWFnZVZpZXdIZWxwZXI6OmluaXRSZWFkVmlld3MoQ29udGV4dFZrICpjb250
ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBsYXllckNvdW50KQogewogICAgIGNvbnN0IFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RG
bGFncyA9IEdldEZvcm1hdEFzcGVjdEZsYWdzKGZvcm1hdC5pbnRlbmRlZEZvcm1hdCgpKTsKKyAg
ICBtTGluZWFyQ29sb3JzcGFjZSAgICAgICAgICAgICAgICAgICAgPSBJc0xpbmVhckZvcm1hdChm
b3JtYXQudmtJbWFnZUZvcm1hdCk7CisKICAgICBpZiAoSGFzQm90aERlcHRoQW5kU3RlbmNpbEFz
cGVjdHMoYXNwZWN0RmxhZ3MpKQogICAgIHsKICAgICAgICAgQU5HTEVfVFJZKGltYWdlLmluaXRM
YXllckltYWdlVmlldyhjb250ZXh0VmssIHZpZXdUeXBlLCBWS19JTUFHRV9BU1BFQ1RfREVQVEhf
QklULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXp6bGVT
dGF0ZSwgJm1SZWFkSW1hZ2VWaWV3LCBiYXNlTGV2ZWwsIGxldmVsQ291bnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpenpsZVN0YXRlLCAmZ2V0UmVhZElt
YWdlVmlldygpLCBiYXNlTGV2ZWwsIGxldmVsQ291bnQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmFzZUxheWVyLCBsYXllckNvdW50KSk7CiAgICAgICAgIEFO
R0xFX1RSWShpbWFnZS5pbml0TGF5ZXJJbWFnZVZpZXcoY29udGV4dFZrLCB2aWV3VHlwZSwgVktf
SU1BR0VfQVNQRUNUX1NURU5DSUxfQklULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN3aXp6bGVTdGF0ZSwgJm1TdGVuY2lsUmVhZEltYWdlVmlldywgYmFzZUxl
dmVsLApAQCAtMzY4OSw3ICs0NjAzLDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZVZpZXdIZWxwZXI6
OmluaXRSZWFkVmlld3MoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgZWxzZQogICAgIHsKICAg
ICAgICAgQU5HTEVfVFJZKGltYWdlLmluaXRMYXllckltYWdlVmlldyhjb250ZXh0VmssIHZpZXdU
eXBlLCBhc3BlY3RGbGFncywgc3dpenpsZVN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZtUmVhZEltYWdlVmlldywgYmFzZUxldmVsLCBsZXZlbENvdW50
LCBiYXNlTGF5ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmdldFJlYWRJbWFnZVZpZXcoKSwgYmFzZUxldmVsLCBsZXZlbENvdW50LCBiYXNlTGF5ZXIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJDb3VudCkpOwog
ICAgIH0KIApAQCAtMzcwMCwxMyArNDYxNCw2OCBAQCBhbmdsZTo6UmVzdWx0IEltYWdlVmlld0hl
bHBlcjo6aW5pdFJlYWRWaWV3cyhDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgICAgICAvLyBU
T0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDAwNCk6IFN3aXp6bGVTdGF0ZSBpbmNvcnJlY3QgZm9y
IENvcHlUZXh0dXJlQ0hST01JVU0uCiAgICAgICAgIEFOR0xFX1RSWShpbWFnZS5pbml0TGF5ZXJJ
bWFnZVZpZXcoY29udGV4dFZrLCBhcnJheVR5cGUsIGFzcGVjdEZsYWdzLCBzd2l6emxlU3RhdGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1GZXRjaEltYWdl
VmlldywgYmFzZUxldmVsLCBsZXZlbENvdW50LCBiYXNlTGF5ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdldEZldGNoSW1hZ2VWaWV3KCksIGJhc2VMZXZl
bCwgbGV2ZWxDb3VudCwgYmFzZUxheWVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxheWVyQ291bnQpKTsKICAgICB9CiAKICAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgSW1hZ2VWaWV3SGVscGVyOjppbml0
U1JHQlJlYWRWaWV3cyhDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4dHVyZVR5cGUgdmlld1R5cGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW1h
Z2VIZWxwZXIgJmltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEZvcm1hdCAmZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTd2l6emxlU3RhdGUgJnN3aXp6bGVT
dGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBiYXNlTGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QgbGV2ZWxDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiYXNlTGF5ZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3Vu
dCkKK3sKKyAgICBWa0Zvcm1hdCBub25MaW5lYXJPdmVycmlkZUZvcm1hdCA9IENvbnZlcnRUb05v
bkxpbmVhcihpbWFnZS5nZXRGb3JtYXQoKS52a0ltYWdlRm9ybWF0KTsKKyAgICBWa0Zvcm1hdCBs
aW5lYXJPdmVycmlkZUZvcm1hdCAgICA9IENvbnZlcnRUb0xpbmVhcihpbWFnZS5nZXRGb3JtYXQo
KS52a0ltYWdlRm9ybWF0KTsKKyAgICBWa0Zvcm1hdCBsaW5lYXJGb3JtYXQgPQorICAgICAgICAo
bGluZWFyT3ZlcnJpZGVGb3JtYXQgIT0gVktfRk9STUFUX1VOREVGSU5FRCkgPyBsaW5lYXJPdmVy
cmlkZUZvcm1hdCA6IGZvcm1hdC52a0ltYWdlRm9ybWF0OworICAgIEFTU0VSVChsaW5lYXJGb3Jt
YXQgIT0gVktfRk9STUFUX1VOREVGSU5FRCk7CisKKyAgICBjb25zdCBWa0ltYWdlQXNwZWN0Rmxh
Z3MgYXNwZWN0RmxhZ3MgPSBHZXRGb3JtYXRBc3BlY3RGbGFncyhmb3JtYXQuaW50ZW5kZWRGb3Jt
YXQoKSk7CisKKyAgICBpZiAoIW1MaW5lYXJSZWFkSW1hZ2VWaWV3LnZhbGlkKCkpCisgICAgewor
ICAgICAgICBBTkdMRV9UUlkoaW1hZ2UuaW5pdExheWVySW1hZ2VWaWV3SW1wbChjb250ZXh0Vmss
IHZpZXdUeXBlLCBhc3BlY3RGbGFncywgc3dpenpsZVN0YXRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbUxpbmVhclJlYWRJbWFnZVZpZXcsIGJhc2VM
ZXZlbCwgbGV2ZWxDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmFzZUxheWVyLCBsYXllckNvdW50LCBsaW5lYXJGb3JtYXQpKTsKKyAgICB9Cisg
ICAgaWYgKG5vbkxpbmVhck92ZXJyaWRlRm9ybWF0ICE9IFZLX0ZPUk1BVF9VTkRFRklORUQgJiYg
IW1Ob25MaW5lYXJSZWFkSW1hZ2VWaWV3LnZhbGlkKCkpCisgICAgeworICAgICAgICBBTkdMRV9U
UlkoaW1hZ2UuaW5pdExheWVySW1hZ2VWaWV3SW1wbChjb250ZXh0VmssIHZpZXdUeXBlLCBhc3Bl
Y3RGbGFncywgc3dpenpsZVN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmbU5vbkxpbmVhclJlYWRJbWFnZVZpZXcsIGJhc2VMZXZlbCwgbGV2ZWxD
b3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFz
ZUxheWVyLCBsYXllckNvdW50LCBub25MaW5lYXJPdmVycmlkZUZvcm1hdCkpOworICAgIH0KKwor
ICAgIGlmICh2aWV3VHlwZSA9PSBnbDo6VGV4dHVyZVR5cGU6OkN1YmVNYXAgfHwgdmlld1R5cGUg
PT0gZ2w6OlRleHR1cmVUeXBlOjpfMkRBcnJheSB8fAorICAgICAgICB2aWV3VHlwZSA9PSBnbDo6
VGV4dHVyZVR5cGU6Ol8yRE11bHRpc2FtcGxlQXJyYXkpCisgICAgeworICAgICAgICBnbDo6VGV4
dHVyZVR5cGUgYXJyYXlUeXBlID0gR2V0MkRUZXh0dXJlVHlwZShsYXllckNvdW50LCBpbWFnZS5n
ZXRTYW1wbGVzKCkpOworCisgICAgICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80MDA0
KTogU3dpenpsZVN0YXRlIGluY29ycmVjdCBmb3IgQ29weVRleHR1cmVDSFJPTUlVTS4KKyAgICAg
ICAgaWYgKCFtTGluZWFyRmV0Y2hJbWFnZVZpZXcudmFsaWQoKSkKKyAgICAgICAgeworCisgICAg
ICAgICAgICBBTkdMRV9UUlkoaW1hZ2UuaW5pdExheWVySW1hZ2VWaWV3SW1wbChjb250ZXh0Vmss
IGFycmF5VHlwZSwgYXNwZWN0RmxhZ3MsIHN3aXp6bGVTdGF0ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtTGluZWFyRmV0Y2hJbWFnZVZpZXcs
IGJhc2VMZXZlbCwgbGV2ZWxDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJhc2VMYXllciwgbGF5ZXJDb3VudCwgbGluZWFyRm9ybWF0KSk7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKG5vbkxpbmVhck92ZXJyaWRlRm9ybWF0ICE9IFZLX0ZP
Uk1BVF9VTkRFRklORUQgJiYgIW1Ob25MaW5lYXJGZXRjaEltYWdlVmlldy52YWxpZCgpKQorICAg
ICAgICB7CisgICAgICAgICAgICBBTkdMRV9UUlkoaW1hZ2UuaW5pdExheWVySW1hZ2VWaWV3SW1w
bChjb250ZXh0VmssIHZpZXdUeXBlLCBhc3BlY3RGbGFncywgc3dpenpsZVN0YXRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1Ob25MaW5lYXJG
ZXRjaEltYWdlVmlldywgYmFzZUxldmVsLCBsZXZlbENvdW50LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZUxheWVyLCBsYXllckNvdW50LCBu
b25MaW5lYXJPdmVycmlkZUZvcm1hdCkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQorCiBhbmdsZTo6UmVzdWx0IEltYWdlVmlld0hl
bHBlcjo6Z2V0TGV2ZWxEcmF3SW1hZ2VWaWV3KENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4dHVy
ZVR5cGUgdmlld1R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEltYWdlSGVscGVyICZpbWFnZSwKQEAgLTM3ODIsNiArNDc1MSwx
NCBAQCB2b2lkIFNhbXBsZXJIZWxwZXI6OnJlbGVhc2UoUmVuZGVyZXJWayAqcmVuZGVyZXIpCiAg
ICAgcmVuZGVyZXItPmNvbGxlY3RHYXJiYWdlQW5kUmVpbml0KCZtVXNlLCAmbVNhbXBsZXIpOwog
fQogCithbmdsZTo6UmVzdWx0IFNhbXBsZXJIZWxwZXI6OmluaXQoQ29udGV4dCAqY29udGV4dCwg
Y29uc3QgVmtTYW1wbGVyQ3JlYXRlSW5mbyAmY3JlYXRlSW5mbykKK3sKKyAgICBSZW5kZXJlclZr
ICpyZW5kZXJlciA9IGNvbnRleHQtPmdldFJlbmRlcmVyKCk7CisgICAgQU5HTEVfVktfVFJZKGNv
bnRleHQsIG1TYW1wbGVyLmluaXQocmVuZGVyZXItPmdldERldmljZSgpLCBjcmVhdGVJbmZvKSk7
CisgICAgcmVuZGVyZXItPmdldEFjdGl2ZUhhbmRsZUNvdW50cygpLm9uQWxsb2NhdGUoSGFuZGxl
VHlwZTo6U2FtcGxlcik7CisgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOworfQor
CiAvLyBEaXNwYXRjaEhlbHBlciBpbXBsZW1lbnRhdGlvbi4KIERpc3BhdGNoSGVscGVyOjpEaXNw
YXRjaEhlbHBlcigpID0gZGVmYXVsdDsKIApAQCAtMzc5Miw5ICs0NzY5LDkgQEAgU2hhZGVyUHJv
Z3JhbUhlbHBlcjo6U2hhZGVyUHJvZ3JhbUhlbHBlcigpID0gZGVmYXVsdDsKIAogU2hhZGVyUHJv
Z3JhbUhlbHBlcjo6flNoYWRlclByb2dyYW1IZWxwZXIoKSA9IGRlZmF1bHQ7CiAKLWJvb2wgU2hh
ZGVyUHJvZ3JhbUhlbHBlcjo6dmFsaWQoKSBjb25zdAorYm9vbCBTaGFkZXJQcm9ncmFtSGVscGVy
Ojp2YWxpZChjb25zdCBnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlKSBjb25zdAogewotICAgIHJl
dHVybiBtU2hhZGVyc1tnbDo6U2hhZGVyVHlwZTo6VmVydGV4XS52YWxpZCgpIHx8IG1TaGFkZXJz
W2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlXS52YWxpZCgpOworICAgIHJldHVybiBtU2hhZGVyc1tz
aGFkZXJUeXBlXS52YWxpZCgpOwogfQogCiB2b2lkIFNoYWRlclByb2dyYW1IZWxwZXI6OmRlc3Ry
b3koVmtEZXZpY2UgZGV2aWNlKQpAQCAtMzg2Niw1ICs0ODQzLDExIEBAIGFuZ2xlOjpSZXN1bHQg
U2hhZGVyUHJvZ3JhbUhlbHBlcjo6Z2V0Q29tcHV0ZVBpcGVsaW5lKENvbnRleHQgKmNvbnRleHQs
CiAgICAgKnBpcGVsaW5lT3V0ID0gJm1Db21wdXRlUGlwZWxpbmU7CiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogfQorCisvLyBBY3RpdmVIYW5kbGVDb3VudGVyIGltcGxlbWVu
dGF0aW9uLgorQWN0aXZlSGFuZGxlQ291bnRlcjo6QWN0aXZlSGFuZGxlQ291bnRlcigpIDogbUFj
dGl2ZUNvdW50c3t9LCBtQWxsb2NhdGVkQ291bnRze30ge30KKworQWN0aXZlSGFuZGxlQ291bnRl
cjo6fkFjdGl2ZUhhbmRsZUNvdW50ZXIoKSA9IGRlZmF1bHQ7CisKIH0gIC8vIG5hbWVzcGFjZSB2
awogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlbHBlcnMuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5oCmlu
ZGV4IGQ5ZDQ2YjcxODk4ZWJjZTEyODk1ZjlmNWEzY2ZhNmQ2YWRjMGYwN2QuLmUyZTJkMjgyNDZi
YWRmNzJmMzdkZTdhNGU3ZGRmOWMwN2RlOGZiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtf
aGVscGVycy5oCkBAIC05LDYgKzksNyBAQAogI2lmbmRlZiBMSUJBTkdMRV9SRU5ERVJFUl9WVUxL
QU5fVktfSEVMUEVSU19IXwogI2RlZmluZSBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fVktfSEVM
UEVSU19IXwogCisjaW5jbHVkZSAiY29tbW9uL01lbW9yeUJ1ZmZlci5oIgogI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNvdXJjZVZrLmgiCiAjaW5jbHVkZSAibGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmgiCiAKQEAgLTM1LDYgKzM2LDggQEAgY29u
c3RleHByIFZrQnVmZmVyVXNhZ2VGbGFncyBrU3RhZ2luZ0J1ZmZlckZsYWdzID0KICAgICBWS19C
VUZGRVJfVVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8IFZLX0JVRkZFUl9VU0FHRV9UUkFOU0ZFUl9E
U1RfQklUOwogY29uc3RleHByIHNpemVfdCBrU3RhZ2luZ0J1ZmZlclNpemUgPSAxMDI0ICogMTY7
CiAKK2NvbnN0ZXhwciBWa0ltYWdlQ3JlYXRlRmxhZ3Mga1ZrSW1hZ2VDcmVhdGVGbGFnc05vbmUg
PSAwOworCiB1c2luZyBTdGFnaW5nQnVmZmVyT2Zmc2V0QXJyYXkgPSBzdGQ6OmFycmF5PFZrRGV2
aWNlU2l6ZSwgMj47CiAKIHN0cnVjdCBUZXh0dXJlVW5pdCBmaW5hbApAQCAtNjksNiArNzIsMTMg
QEAgY2xhc3MgRHluYW1pY0J1ZmZlciA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgICAgICAgICAg
ICBzaXplX3QgaW5pdGlhbFNpemUsCiAgICAgICAgICAgICAgIGJvb2wgaG9zdFZpc2libGUpOwog
CisgICAgLy8gSW5pdCB0aGF0IGdpdmVzIHRoZSBhYmlsaXR5IHRvIHBhc3MgaW4gc3BlY2lmaWVk
IG1lbW9yeSBwcm9wZXJ0eSBmbGFncyBmb3IgdGhlIGJ1ZmZlci4KKyAgICB2b2lkIGluaXRXaXRo
RmxhZ3MoUmVuZGVyZXJWayAqcmVuZGVyZXIsCisgICAgICAgICAgICAgICAgICAgICAgIFZrQnVm
ZmVyVXNhZ2VGbGFncyB1c2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGFsaWdu
bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGluaXRpYWxTaXplLAorICAgICAg
ICAgICAgICAgICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgbWVtb3J5UHJvcGVydHkpOwor
CiAgICAgLy8gVGhpcyBjYWxsIHdpbGwgYWxsb2NhdGUgYSBuZXcgcmVnaW9uIGF0IHRoZSBlbmQg
b2YgdGhlIGJ1ZmZlci4gSXQgaW50ZXJuYWxseSBtYXkgdHJpZ2dlcgogICAgIC8vIGEgbmV3IGJ1
ZmZlciB0byBiZSBjcmVhdGVkICh3aGljaCBpcyByZXR1cm5lZCBpbiB0aGUgb3B0aW9uYWwgcGFy
YW1ldGVyCiAgICAgLy8gYG5ld0J1ZmZlckFsbG9jYXRlZE91dGApLiAgVGhlIG5ldyByZWdpb24g
d2lsbCBiZSBpbiB0aGUgcmV0dXJuZWQgYnVmZmVyIGF0IGdpdmVuIG9mZnNldC4gSWYKQEAgLTkz
LDcgKzEwMyw3IEBAIGNsYXNzIER5bmFtaWNCdWZmZXIgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAg
ICB2b2lkIHJlbGVhc2VJbkZsaWdodEJ1ZmZlcnMoQ29udGV4dFZrICpjb250ZXh0VmspOwogCiAg
ICAgLy8gVGhpcyBmcmVlcyByZXNvdXJjZXMgaW1tZWRpYXRlbHkuCi0gICAgdm9pZCBkZXN0cm95
KFZrRGV2aWNlIGRldmljZSk7CisgICAgdm9pZCBkZXN0cm95KFJlbmRlcmVyVmsgKnJlbmRlcmVy
KTsKIAogICAgIEJ1ZmZlckhlbHBlciAqZ2V0Q3VycmVudEJ1ZmZlcigpIHsgcmV0dXJuIG1CdWZm
ZXI7IH0KIApAQCAtMTAyLDExICsxMTIsMTYgQEAgY2xhc3MgRHluYW1pY0J1ZmZlciA6IGFuZ2xl
OjpOb25Db3B5YWJsZQogICAgIC8vIEZvciB0ZXN0aW5nIG9ubHkhCiAgICAgdm9pZCBzZXRNaW5p
bXVtU2l6ZUZvclRlc3Rpbmcoc2l6ZV90IG1pblNpemUpOwogCisgICAgYm9vbCBpc0NvaGVyZW50
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAobU1lbW9yeVByb3BlcnR5RmxhZ3MgJiBW
S19NRU1PUllfUFJPUEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQpICE9IDA7CisgICAgfQorCiAgIHBy
aXZhdGU6CiAgICAgdm9pZCByZXNldCgpOwogICAgIGFuZ2xlOjpSZXN1bHQgYWxsb2NhdGVOZXdC
dWZmZXIoQ29udGV4dFZrICpjb250ZXh0VmspOwogICAgIHZvaWQgcmVsZWFzZUJ1ZmZlckxpc3RU
b1JlbmRlcmVyKFJlbmRlcmVyVmsgKnJlbmRlcmVyLCBzdGQ6OnZlY3RvcjxCdWZmZXJIZWxwZXIg
Kj4gKmJ1ZmZlcnMpOwotICAgIHZvaWQgZGVzdHJveUJ1ZmZlckxpc3QoVmtEZXZpY2UgZGV2aWNl
LCBzdGQ6OnZlY3RvcjxCdWZmZXJIZWxwZXIgKj4gKmJ1ZmZlcnMpOworICAgIHZvaWQgZGVzdHJv
eUJ1ZmZlckxpc3QoUmVuZGVyZXJWayAqcmVuZGVyZXIsIHN0ZDo6dmVjdG9yPEJ1ZmZlckhlbHBl
ciAqPiAqYnVmZmVycyk7CiAKICAgICBWa0J1ZmZlclVzYWdlRmxhZ3MgbVVzYWdlOwogICAgIGJv
b2wgbUhvc3RWaXNpYmxlOwpAQCAtMTE2LDExICsxMzEsODMgQEAgY2xhc3MgRHluYW1pY0J1ZmZl
ciA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHVpbnQzMl90IG1MYXN0Rmx1c2hPckludmFsaWRh
dGVPZmZzZXQ7CiAgICAgc2l6ZV90IG1TaXplOwogICAgIHNpemVfdCBtQWxpZ25tZW50OworICAg
IFZrTWVtb3J5UHJvcGVydHlGbGFncyBtTWVtb3J5UHJvcGVydHlGbGFnczsKIAogICAgIHN0ZDo6
dmVjdG9yPEJ1ZmZlckhlbHBlciAqPiBtSW5GbGlnaHRCdWZmZXJzOwogICAgIHN0ZDo6dmVjdG9y
PEJ1ZmZlckhlbHBlciAqPiBtQnVmZmVyRnJlZUxpc3Q7CiB9OwogCisvLyBCYXNlZCBvZmYgb2Yg
dGhlIER5bmFtaWNCdWZmZXIgY2xhc3MsIER5bmFtaWNTaGFkb3dCdWZmZXIgcHJvdmlkZXMKKy8v
IGEgc2ltaWxhciBjb25jZXB0dWFsbHkgaW5maW5pdGVseSBsb25nIGJ1ZmZlciB0aGF0IHdpbGwg
b25seSBiZSB3cml0dGVuCisvLyB0byBhbmQgcmVhZCBieSB0aGUgQ1BVLiBUaGlzIGNhbiBiZSB1
c2VkIHRvIHByb3ZpZGUgQ1BVIGNhY2hlZCBjb3BpZXMgb2YKKy8vIEdQVS1yZWFkIG9ubHkgYnVm
ZmVycy4gVGhlIHZhbHVlIGFkZCBoZXJlIGlzIHRoYXQgd2hlbiBhbiBhcHAgcmVxdWVzdHMKKy8v
IENQVSBhY2Nlc3MgdG8gYSBidWZmZXIgd2UgY2FuIGZ1bGxmaWwgc3VjaCBhIHJlcXVlc3QgaW4g
TygxKSB0aW1lIHNpbmNlCisvLyB3ZSBkb24ndCBuZWVkIHRvIHdhaXQgZm9yIEdQVSB0byBiZSBk
b25lIHdpdGggaW4tZmxpZ2h0IGNvbW1hbmRzLgorLy8KKy8vIFRoZSBoaWRkZW4gY29zdCBoZXJl
IGlzIHRoYXQgYW55IG9wZXJhdGlvbiB0aGF0IHVwZGF0ZXMgYSBidWZmZXIsIGVpdGhlcgorLy8g
dGhyb3VnaCBhIGJ1ZmZlciBzdWIgZGF0YSB1cGRhdGUgb3IgYSBidWZmZXItdG8tYnVmZmVyIGNv
cHkgd2lsbCBoYXZlIGFuCisvLyBhZGRpdGlvbmFsIG92ZXJoZWFkIG9mIGhhdmluZyB0byB1cGRh
dGUgaXRzIENQVSBvbmx5IGJ1ZmZlcgorY2xhc3MgRHluYW1pY1NoYWRvd0J1ZmZlciA6IHB1Ymxp
YyBhbmdsZTo6Tm9uQ29weWFibGUKK3sKKyAgcHVibGljOgorICAgIER5bmFtaWNTaGFkb3dCdWZm
ZXIoKTsKKyAgICBEeW5hbWljU2hhZG93QnVmZmVyKER5bmFtaWNTaGFkb3dCdWZmZXIgJiZvdGhl
cik7CisgICAgfkR5bmFtaWNTaGFkb3dCdWZmZXIoKTsKKworICAgIC8vIEluaXRpYWxpemUgdGhl
IER5bmFtaWNTaGFkb3dCdWZmZXIuCisgICAgdm9pZCBpbml0KHNpemVfdCBpbml0aWFsU2l6ZSk7
CisKKyAgICAvLyBSZXR1cm5zIHdoZXRoZXIgdGhpcyBEeW5hbWljU2hhZG93QnVmZmVyIGlzIGFj
dGl2ZQorICAgIEFOR0xFX0lOTElORSBib29sIHZhbGlkKCkgeyByZXR1cm4gKG1TaXplICE9IDAp
OyB9CisKKyAgICAvLyBUaGlzIGNhbGwgd2lsbCBhY3R1YWxseSBhbGxvY2F0ZSBhIG5ldyBDUFUg
b25seSBtZW1vcnkgZnJvbSB0aGUgaGVhcC4KKyAgICAvLyBUaGUgc2l6ZSBjYW4gYmUgZGlmZmVy
ZW50IHRoYW4gdGhlIG9uZSBzcGVjaWZpZWQgZHVyaW5nIGBpbml0YC4KKyAgICBhbmdsZTo6UmVz
dWx0IGFsbG9jYXRlKHNpemVfdCBzaXplSW5CeXRlcyk7CisKKyAgICBBTkdMRV9JTkxJTkUgdm9p
ZCB1cGRhdGVEYXRhKGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBzaXplLCBzaXplX3Qgb2Zm
c2V0KQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtQnVmZmVyLmVtcHR5KCkpOworICAgICAgICAv
LyBNZW1jb3B5IGRhdGEgaW50byB0aGUgYnVmZmVyCisgICAgICAgIG1lbWNweSgobUJ1ZmZlci5k
YXRhKCkgKyBvZmZzZXQpLCBkYXRhLCBzaXplKTsKKyAgICB9CisKKyAgICAvLyBNYXAgdGhlIENQ
VSBvbmx5IGJ1ZmZlciBhbmQgcmV0dXJuIHRoZSBwb2ludGVyLiBXZSBtYXAgdGhlIGVudGlyZSBi
dWZmZXIgZm9yIG5vdy4KKyAgICBBTkdMRV9JTkxJTkUgdm9pZCBtYXAoc2l6ZV90IG9mZnNldCwg
dm9pZCAqKm1hcFB0cikKKyAgICB7CisgICAgICAgIEFTU0VSVChtYXBQdHIpOworICAgICAgICBB
U1NFUlQoIW1CdWZmZXIuZW1wdHkoKSk7CisgICAgICAgICptYXBQdHIgPSBtQnVmZmVyLmRhdGEo
KSArIG9mZnNldDsKKyAgICB9CisKKyAgICAvLyBVbm1hcCB0aGUgQ1BVIG9ubHkgYnVmZmVyLCBO
T09QIGZvciBub3cKKyAgICBBTkdMRV9JTkxJTkUgdm9pZCB1bm1hcCgpIHt9CisKKyAgICAvLyBU
aGlzIHJlbGVhc2VzIHJlc291cmNlcyB3aGVuIHRoZXkgbWlnaHQgY3VycmVudGx5IGJlIGluIHVz
ZS4KKyAgICB2b2lkIHJlbGVhc2UoKTsKKworICAgIC8vIFRoaXMgZnJlZXMgcmVzb3VyY2VzIGlt
bWVkaWF0ZWx5LgorICAgIHZvaWQgZGVzdHJveShWa0RldmljZSBkZXZpY2UpOworCisgICAgQU5H
TEVfSU5MSU5FIHVpbnQ4X3QgKmdldEN1cnJlbnRCdWZmZXIoKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKCFtQnVmZmVyLmVtcHR5KCkpOworICAgICAgICByZXR1cm4gbUJ1ZmZlci5kYXRhKCk7Cisg
ICAgfQorCisgICAgQU5HTEVfSU5MSU5FIGNvbnN0IHVpbnQ4X3QgKmdldEN1cnJlbnRCdWZmZXIo
KSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtQnVmZmVyLmVtcHR5KCkpOworICAgICAg
ICByZXR1cm4gbUJ1ZmZlci5kYXRhKCk7CisgICAgfQorCisgIHByaXZhdGU6CisgICAgdm9pZCBy
ZXNldCgpOworCisgICAgc2l6ZV90IG1Jbml0aWFsU2l6ZTsKKyAgICBzaXplX3QgbVNpemU7Cisg
ICAgYW5nbGU6Ok1lbW9yeUJ1ZmZlciBtQnVmZmVyOworfTsKKwogLy8gVXNlcyBEZXNjcmlwdG9y
UG9vbCB0byBhbGxvY2F0ZSBkZXNjcmlwdG9yIHNldHMgYXMgbmVlZGVkLiBJZiBhIGRlc2NyaXB0
b3IgcG9vbCBiZWNvbWVzIGZ1bGwsIHdlCiAvLyBhbGxvY2F0ZSBuZXcgcG9vbHMgaW50ZXJuYWxs
eSBhcyBuZWVkZWQuIFJlbmRlcmVyVmsgdGFrZXMgY2FyZSBvZiB0aGUgbGlmZXRpbWUgb2YgdGhl
IGRpc2NhcmRlZAogLy8gcG9vbHMuIE5vdGUgdGhhdCB3ZSB1c2VkIGEgZml4ZWQgbGF5b3V0IGZv
ciBkZXNjcmlwdG9yIHBvb2xzIGluIEFOR0xFLiBVbmlmb3JtIGJ1ZmZlcnMgbXVzdApAQCAtMzE1
LDggKzQwMiwxNyBAQCBjbGFzcyBRdWVyeUhlbHBlciBmaW5hbAogICAgIGFuZ2xlOjpSZXN1bHQg
YmVnaW5RdWVyeShDb250ZXh0VmsgKmNvbnRleHRWayk7CiAgICAgYW5nbGU6OlJlc3VsdCBlbmRR
dWVyeShDb250ZXh0VmsgKmNvbnRleHRWayk7CiAKKyAgICAvLyBmb3Igb2NjbHVzaW9uIHF1ZXJ5
CisgICAgLy8gTXVzdCByZXNldFF1ZXJ5UG9vbCBvdXRzaWRlIG9mIFJlbmRlclBhc3MgYmVmb3Jl
IGJlZ2lubmluZyBvY2NsdXNpb24gcXVlcnkuCisgICAgdm9pZCByZXNldFF1ZXJ5UG9vbChDb250
ZXh0VmsgKmNvbnRleHRWaywgQ29tbWFuZEJ1ZmZlciAqb3V0c2lkZVJlbmRlclBhc3NDb21tYW5k
QnVmZmVyKTsKKyAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoQ29udGV4dFZrICpjb250ZXh0
VmssIENvbW1hbmRCdWZmZXIgKnJlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKKyAgICB2b2lkIGVu
ZE9jY2x1c2lvblF1ZXJ5KENvbnRleHRWayAqY29udGV4dFZrLCBDb21tYW5kQnVmZmVyICpyZW5k
ZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisKICAgICBhbmdsZTo6UmVzdWx0IGZsdXNoQW5kV3JpdGVU
aW1lc3RhbXAoQ29udGV4dFZrICpjb250ZXh0VmspOwotICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAo
dms6OlByaW1hcnlDb21tYW5kQnVmZmVyICpwcmltYXJ5KTsKKyAgICAvLyBXaGVuIHN5bmNpbmcg
Z3B1L2NwdSB0aW1lLCBtYWluIHRocmVhZCBhY2Nlc3NlcyBwcmltYXJ5IGRpcmVjdGx5CisgICAg
dm9pZCB3cml0ZVRpbWVzdGFtcChDb250ZXh0VmsgKmNvbnRleHRWaywgUHJpbWFyeUNvbW1hbmRC
dWZmZXIgKnByaW1hcnkpOworICAgIC8vIEFsbCBvdGhlciB0aW1lc3RhbXAgYWNjZXNzZXMgc2hv
dWxkIGJlIG1hZGUgb24gb3V0c2lkZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyCisgICAgdm9pZCB3
cml0ZVRpbWVzdGFtcChDb250ZXh0VmsgKmNvbnRleHRWaywgQ29tbWFuZEJ1ZmZlciAqb3V0c2lk
ZVJlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKIAogICAgIFNlcmlhbCBnZXRTdG9yZWRRdWV1ZVNl
cmlhbCgpIHsgcmV0dXJuIG1Nb3N0UmVjZW50U2VyaWFsOyB9CiAgICAgYm9vbCBoYXNQZW5kaW5n
V29yayhDb250ZXh0VmsgKmNvbnRleHRWayk7CkBAIC00NDksNyArNTQ1LDcgQEAgY2xhc3MgTGlu
ZUxvb3BIZWxwZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXplICppbmRleEluZGlyZWN0QnVmZmVyT2Zm
c2V0T3V0KTsKIAogICAgIHZvaWQgcmVsZWFzZShDb250ZXh0VmsgKmNvbnRleHRWayk7Ci0gICAg
dm9pZCBkZXN0cm95KFZrRGV2aWNlIGRldmljZSk7CisgICAgdm9pZCBkZXN0cm95KFJlbmRlcmVy
VmsgKnJlbmRlcmVyKTsKIAogICAgIHN0YXRpYyB2b2lkIERyYXcodWludDMyX3QgY291bnQsIHVp
bnQzMl90IGJhc2VWZXJ0ZXgsIENvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpOwogCkBAIC00
NTgsNiArNTU0LDEyOSBAQCBjbGFzcyBMaW5lTG9vcEhlbHBlciBmaW5hbCA6IGFuZ2xlOjpOb25D
b3B5YWJsZQogICAgIER5bmFtaWNCdWZmZXIgbUR5bmFtaWNJbmRpcmVjdEJ1ZmZlcjsKIH07CiAK
Ky8vIFRoaXMgZGVmaW5lcyBlbnVtIGZvciBWa1BpcGVsaW5lU3RhZ2VGbGFnQml0cyBzbyB0aGF0
IHdlIGNhbiB1c2UgaXQgdG8gY29tcGFyZSBhbmQgaW5kZXggaW50bworLy8gYXJyYXkuCitlbnVt
IGNsYXNzIFBpcGVsaW5lU3RhZ2UgOiB1aW50MTZfdAoreworICAgIC8vIEJlbGxvdyBhcmUgb3Jk
ZXJlZCBiYXNlZCBvbiBHcmFwaGljcyBQaXBlbGluZSBTdGFnZXMKKyAgICBUb3BPZlBpcGUgICAg
ICAgICAgICAgPSAwLAorICAgIERyYXdJbmRpcmVjdCAgICAgICAgICA9IDEsCisgICAgVmVydGV4
SW5wdXQgICAgICAgICAgID0gMiwKKyAgICBWZXJ0ZXhTaGFkZXIgICAgICAgICAgPSAzLAorICAg
IEdlb21ldHJ5U2hhZGVyICAgICAgICA9IDQsCisgICAgVHJhbnNmb3JtRmVlZGJhY2sgICAgID0g
NSwKKyAgICBFYXJseUZyYWdtZW50VGVzdCAgICAgPSA2LAorICAgIEZyYWdtZW50U2hhZGVyICAg
ICAgICA9IDcsCisgICAgTGF0ZUZyYWdtZW50VGVzdCAgICAgID0gOCwKKyAgICBDb2xvckF0dGFj
aG1lbnRPdXRwdXQgPSA5LAorCisgICAgLy8gQ29tcHV0ZSBzcGVjaWZpYyBwaXBlbGluZSBTdGFn
ZQorICAgIENvbXB1dGVTaGFkZXIgPSAxMCwKKworICAgIC8vIFRyYW5zZmVyIHNwZWNpZmljIHBp
cGVsaW5lIFN0YWdlCisgICAgVHJhbnNmZXIgICAgID0gMTEsCisgICAgQm90dG9tT2ZQaXBlID0g
MTIsCisKKyAgICAvLyBIb3N0IHNwZWNpZmljIHBpcGVsaW5lIHN0YWdlCisgICAgSG9zdCA9IDEz
LAorCisgICAgSW52YWxpZEVudW0gPSAxNCwKKyAgICBFbnVtQ291bnQgICA9IEludmFsaWRFbnVt
LAorfTsKK3VzaW5nIFBpcGVsaW5lU3RhZ2VzTWFzayA9IGFuZ2xlOjpQYWNrZWRFbnVtQml0U2V0
PFBpcGVsaW5lU3RhZ2UsIHVpbnQxNl90PjsKKworLy8gVGhpcyB3cmFwcyBkYXRhIGFuZCBBUEkg
Zm9yIHZrQ21kUGlwZWxpbmVCYXJyaWVyIGNhbGwKK2NsYXNzIFBpcGVsaW5lQmFycmllciA6IGFu
Z2xlOjpOb25Db3B5YWJsZQoreworICBwdWJsaWM6CisgICAgUGlwZWxpbmVCYXJyaWVyKCkKKyAg
ICAgICAgOiBtU3JjU3RhZ2VNYXNrKDApLAorICAgICAgICAgIG1Ec3RTdGFnZU1hc2soMCksCisg
ICAgICAgICAgbU1lbW9yeUJhcnJpZXJTcmNBY2Nlc3MoMCksCisgICAgICAgICAgbU1lbW9yeUJh
cnJpZXJEc3RBY2Nlc3MoMCksCisgICAgICAgICAgbUltYWdlTWVtb3J5QmFycmllcnMoKQorICAg
IHt9CisgICAgflBpcGVsaW5lQmFycmllcigpID0gZGVmYXVsdDsKKworICAgIGJvb2wgaXNFbXB0
eSgpIGNvbnN0IHsgcmV0dXJuIG1JbWFnZU1lbW9yeUJhcnJpZXJzLmVtcHR5KCkgJiYgbU1lbW9y
eUJhcnJpZXJTcmNBY2Nlc3MgPT0gMDsgfQorCisgICAgdm9pZCBleGVjdXRlKFByaW1hcnlDb21t
YW5kQnVmZmVyICpwcmltYXJ5KQorICAgIHsKKyAgICAgICAgaWYgKGlzRW1wdHkoKSkKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gSXNzdWUg
dmtDbWRQaXBlbGluZUJhcnJpZXIgY2FsbAorICAgICAgICBWa01lbW9yeUJhcnJpZXIgbWVtb3J5
QmFycmllciA9IHt9OworICAgICAgICB1aW50MzJfdCBtZW1vcnlCYXJyaWVyQ291bnQgICA9IDA7
CisgICAgICAgIGlmIChtTWVtb3J5QmFycmllclNyY0FjY2VzcyAhPSAwKQorICAgICAgICB7Cisg
ICAgICAgICAgICBtZW1vcnlCYXJyaWVyLnNUeXBlICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQ
RV9NRU1PUllfQkFSUklFUjsKKyAgICAgICAgICAgIG1lbW9yeUJhcnJpZXIuc3JjQWNjZXNzTWFz
ayA9IG1NZW1vcnlCYXJyaWVyU3JjQWNjZXNzOworICAgICAgICAgICAgbWVtb3J5QmFycmllci5k
c3RBY2Nlc3NNYXNrID0gbU1lbW9yeUJhcnJpZXJEc3RBY2Nlc3M7CisgICAgICAgICAgICBtZW1v
cnlCYXJyaWVyQ291bnQrKzsKKyAgICAgICAgfQorICAgICAgICBwcmltYXJ5LT5waXBlbGluZUJh
cnJpZXIoCisgICAgICAgICAgICBtU3JjU3RhZ2VNYXNrLCBtRHN0U3RhZ2VNYXNrLCAwLCBtZW1v
cnlCYXJyaWVyQ291bnQsICZtZW1vcnlCYXJyaWVyLCAwLCBudWxscHRyLAorICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1JbWFnZU1lbW9yeUJhcnJpZXJzLnNpemUoKSksIG1JbWFn
ZU1lbW9yeUJhcnJpZXJzLmRhdGEoKSk7CisKKyAgICAgICAgcmVzZXQoKTsKKyAgICB9CisKKyAg
ICAvLyBtZXJnZSB0d28gYmFycmllcnMgaW50byBvbmUKKyAgICB2b2lkIG1lcmdlKFBpcGVsaW5l
QmFycmllciAqb3RoZXIpCisgICAgeworICAgICAgICBtU3JjU3RhZ2VNYXNrIHw9IG90aGVyLT5t
U3JjU3RhZ2VNYXNrOworICAgICAgICBtRHN0U3RhZ2VNYXNrIHw9IG90aGVyLT5tRHN0U3RhZ2VN
YXNrOworICAgICAgICBtTWVtb3J5QmFycmllclNyY0FjY2VzcyB8PSBvdGhlci0+bU1lbW9yeUJh
cnJpZXJTcmNBY2Nlc3M7CisgICAgICAgIG1NZW1vcnlCYXJyaWVyRHN0QWNjZXNzIHw9IG90aGVy
LT5tTWVtb3J5QmFycmllckRzdEFjY2VzczsKKyAgICAgICAgbUltYWdlTWVtb3J5QmFycmllcnMu
aW5zZXJ0KG1JbWFnZU1lbW9yeUJhcnJpZXJzLmVuZCgpLCBvdGhlci0+bUltYWdlTWVtb3J5QmFy
cmllcnMuYmVnaW4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVy
LT5tSW1hZ2VNZW1vcnlCYXJyaWVycy5lbmQoKSk7CisgICAgICAgIG90aGVyLT5yZXNldCgpOwor
ICAgIH0KKworICAgIHZvaWQgbWVyZ2VNZW1vcnlCYXJyaWVyKFZrUGlwZWxpbmVTdGFnZUZsYWdz
IHNyY1N0YWdlTWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa1BpcGVsaW5lU3Rh
Z2VGbGFncyBkc3RTdGFnZU1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtGbGFn
cyBzcmNBY2Nlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtGbGFncyBkc3RBY2Nl
c3MpCisgICAgeworICAgICAgICBtU3JjU3RhZ2VNYXNrIHw9IHNyY1N0YWdlTWFzazsKKyAgICAg
ICAgbURzdFN0YWdlTWFzayB8PSBkc3RTdGFnZU1hc2s7CisgICAgICAgIG1NZW1vcnlCYXJyaWVy
U3JjQWNjZXNzIHw9IHNyY0FjY2VzczsKKyAgICAgICAgbU1lbW9yeUJhcnJpZXJEc3RBY2Nlc3Mg
fD0gZHN0QWNjZXNzOworICAgIH0KKworICAgIHZvaWQgbWVyZ2VJbWFnZUJhcnJpZXIoVmtQaXBl
bGluZVN0YWdlRmxhZ3Mgc3JjU3RhZ2VNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
VmtQaXBlbGluZVN0YWdlRmxhZ3MgZHN0U3RhZ2VNYXNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVmtJbWFnZU1lbW9yeUJhcnJpZXIgJmltYWdlTWVtb3J5QmFycmllcikKKyAg
ICB7CisgICAgICAgIEFTU0VSVChpbWFnZU1lbW9yeUJhcnJpZXIucE5leHQgPT0gbnVsbHB0cik7
CisgICAgICAgIG1TcmNTdGFnZU1hc2sgfD0gc3JjU3RhZ2VNYXNrOworICAgICAgICBtRHN0U3Rh
Z2VNYXNrIHw9IGRzdFN0YWdlTWFzazsKKyAgICAgICAgbUltYWdlTWVtb3J5QmFycmllcnMucHVz
aF9iYWNrKGltYWdlTWVtb3J5QmFycmllcik7CisgICAgfQorCisgICAgdm9pZCByZXNldCgpCisg
ICAgeworICAgICAgICBtU3JjU3RhZ2VNYXNrICAgICAgICAgICA9IDA7CisgICAgICAgIG1Ec3RT
dGFnZU1hc2sgICAgICAgICAgID0gMDsKKyAgICAgICAgbU1lbW9yeUJhcnJpZXJTcmNBY2Nlc3Mg
PSAwOworICAgICAgICBtTWVtb3J5QmFycmllckRzdEFjY2VzcyA9IDA7CisgICAgICAgIG1JbWFn
ZU1lbW9yeUJhcnJpZXJzLmNsZWFyKCk7CisgICAgfQorCisgICAgdm9pZCBhZGREaWFnbm9zdGlj
c1N0cmluZyhzdGQ6Om9zdHJpbmdzdHJlYW0gJm91dCkgY29uc3Q7CisKKyAgcHJpdmF0ZToKKyAg
ICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBtU3JjU3RhZ2VNYXNrOworICAgIFZrUGlwZWxpbmVTdGFn
ZUZsYWdzIG1Ec3RTdGFnZU1hc2s7CisgICAgVmtGbGFncyBtTWVtb3J5QmFycmllclNyY0FjY2Vz
czsKKyAgICBWa0ZsYWdzIG1NZW1vcnlCYXJyaWVyRHN0QWNjZXNzOworICAgIHN0ZDo6dmVjdG9y
PFZrSW1hZ2VNZW1vcnlCYXJyaWVyPiBtSW1hZ2VNZW1vcnlCYXJyaWVyczsKK307Cit1c2luZyBQ
aXBlbGluZUJhcnJpZXJBcnJheSA9IGFuZ2xlOjpQYWNrZWRFbnVtTWFwPFBpcGVsaW5lU3RhZ2Us
IFBpcGVsaW5lQmFycmllcj47CisKIGNsYXNzIEZyYW1lYnVmZmVySGVscGVyOwogCiBjbGFzcyBC
dWZmZXJIZWxwZXIgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UKQEAgLTQ2OSwyOCArNjg4LDM2IEBA
IGNsYXNzIEJ1ZmZlckhlbHBlciBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZQogICAgIGFuZ2xlOjpS
ZXN1bHQgaW5pdChDb250ZXh0VmsgKmNvbnRleHRWaywKICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgVmtCdWZmZXJDcmVhdGVJbmZvICZjcmVhdGVJbmZvLAogICAgICAgICAgICAgICAgICAg
ICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgbWVtb3J5UHJvcGVydHlGbGFncyk7Ci0gICAgdm9p
ZCBkZXN0cm95KFZrRGV2aWNlIGRldmljZSk7CisgICAgdm9pZCBkZXN0cm95KFJlbmRlcmVyVmsg
KnJlbmRlcmVyKTsKIAogICAgIHZvaWQgcmVsZWFzZShSZW5kZXJlclZrICpyZW5kZXJlcik7CiAK
ICAgICBib29sIHZhbGlkKCkgY29uc3QgeyByZXR1cm4gbUJ1ZmZlci52YWxpZCgpOyB9CiAgICAg
Y29uc3QgQnVmZmVyICZnZXRCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtQnVmZmVyOyB9Ci0gICAg
Y29uc3QgRGV2aWNlTWVtb3J5ICZnZXREZXZpY2VNZW1vcnkoKSBjb25zdCB7IHJldHVybiBtRGV2
aWNlTWVtb3J5OyB9CiAgICAgVmtEZXZpY2VTaXplIGdldFNpemUoKSBjb25zdCB7IHJldHVybiBt
U2l6ZTsgfQogICAgIGJvb2wgaXNIb3N0VmlzaWJsZSgpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gKG1NZW1vcnlQcm9wZXJ0eUZsYWdzICYgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklT
SUJMRV9CSVQpICE9IDA7CiAgICAgfQorICAgIGJvb2wgaXNDb2hlcmVudCgpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gKG1NZW1vcnlQcm9wZXJ0eUZsYWdzICYgVktfTUVNT1JZX1BST1BF
UlRZX0hPU1RfQ09IRVJFTlRfQklUKSAhPSAwOworICAgIH0KIAogICAgIC8vIFNldCB3cml0ZSBh
Y2Nlc3MgbWFzayB3aGVuIHRoZSBidWZmZXIgaXMgbW9kaWZpZWQgZXh0ZXJuYWxseSwgZS5nLiBi
eSBob3N0LiAgVGhlcmUgaXMgbm8KICAgICAvLyBncmFwaCByZXNvdXJjZSB0byBjcmVhdGUgYSBk
ZXBlbmRlbmN5IHRvLgotICAgIHZvaWQgb25FeHRlcm5hbFdyaXRlKFZrQWNjZXNzRmxhZ3Mgd3Jp
dGVBY2Nlc3NUeXBlKSB7IG1DdXJyZW50V3JpdGVBY2Nlc3MgfD0gd3JpdGVBY2Nlc3NUeXBlOyB9
CisgICAgdm9pZCBvbkV4dGVybmFsV3JpdGUoVmtBY2Nlc3NGbGFncyB3cml0ZUFjY2Vzc1R5cGUp
CisgICAgeworICAgICAgICBBU1NFUlQod3JpdGVBY2Nlc3NUeXBlID09IFZLX0FDQ0VTU19IT1NU
X1dSSVRFX0JJVCk7CisgICAgICAgIG1DdXJyZW50V3JpdGVBY2Nlc3MgfD0gd3JpdGVBY2Nlc3NU
eXBlOworICAgICAgICBtQ3VycmVudFdyaXRlU3RhZ2VzIHw9IFZLX1BJUEVMSU5FX1NUQUdFX0hP
U1RfQklUOworICAgIH0KIAogICAgIC8vIEFsc28gaW1wbGljaXRseSBzZXRzIHVwIHRoZSBjb3Jy
ZWN0IGJhcnJpZXJzLgogICAgIGFuZ2xlOjpSZXN1bHQgY29weUZyb21CdWZmZXIoQ29udGV4dFZr
ICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJIZWxw
ZXIgKnNyY0J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNz
RmxhZ3MgYnVmZmVyQWNjZXNzVHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFZrQnVmZmVyQ29weSAmY29weVJlZ2lvbik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCByZWdpb25Db3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFZrQnVmZmVyQ29weSAqY29weVJlZ2lvbnMpOwogCiAgICAgLy8gTm90
ZTogY3VycmVudGx5IG9ubHkgb25lIHZpZXcgaXMgYWxsb3dlZC4gIElmIG5lZWRzIGJlLCBtdWx0
aXBsZSB2aWV3cyBjYW4gYmUgY3JlYXRlZAogICAgIC8vIGJhc2VkIG9uIGZvcm1hdC4KQEAgLTUx
Nyw1MyArNzQ0LDYwIEBAIGNsYXNzIEJ1ZmZlckhlbHBlciBmaW5hbCA6IHB1YmxpYyBSZXNvdXJj
ZQogICAgICAgICAqcHRyT3V0ID0gbU1hcHBlZE1lbW9yeTsKICAgICAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogICAgIH0KLSAgICB2b2lkIHVubWFwKFZrRGV2aWNlIGRldmlj
ZSk7CisKKyAgICBhbmdsZTo6UmVzdWx0IG1hcFdpdGhPZmZzZXQoQ29udGV4dFZrICpjb250ZXh0
VmssIHVpbnQ4X3QgKipwdHJPdXQsIHNpemVfdCBvZmZzZXQpCisgICAgeworICAgICAgICB1aW50
OF90ICptYXBCdWZQb2ludGVyOworICAgICAgICBBTkdMRV9UUlkobWFwKGNvbnRleHRWaywgJm1h
cEJ1ZlBvaW50ZXIpKTsKKyAgICAgICAgKnB0ck91dCA9IG1hcEJ1ZlBvaW50ZXIgKyBvZmZzZXQ7
CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisKKyAgICB2
b2lkIHVubWFwKFJlbmRlcmVyVmsgKnJlbmRlcmVyKTsKIAogICAgIC8vIEFmdGVyIGEgc2VxdWVu
Y2Ugb2Ygd3JpdGVzLCBjYWxsIGZsdXNoIHRvIGVuc3VyZSB0aGUgZGF0YSBpcyB2aXNpYmxlIHRv
IHRoZSBkZXZpY2UuCi0gICAgYW5nbGU6OlJlc3VsdCBmbHVzaChDb250ZXh0VmsgKmNvbnRleHRW
aywgVmtEZXZpY2VTaXplIG9mZnNldCwgVmtEZXZpY2VTaXplIHNpemUpOworICAgIGFuZ2xlOjpS
ZXN1bHQgZmx1c2goUmVuZGVyZXJWayAqcmVuZGVyZXIsIFZrRGV2aWNlU2l6ZSBvZmZzZXQsIFZr
RGV2aWNlU2l6ZSBzaXplKTsKIAogICAgIC8vIEFmdGVyIGEgc2VxdWVuY2Ugb2Ygd3JpdGVzLCBj
YWxsIGludmFsaWRhdGUgdG8gZW5zdXJlIHRoZSBkYXRhIGlzIHZpc2libGUgdG8gdGhlIGhvc3Qu
Ci0gICAgYW5nbGU6OlJlc3VsdCBpbnZhbGlkYXRlKENvbnRleHRWayAqY29udGV4dFZrLCBWa0Rl
dmljZVNpemUgb2Zmc2V0LCBWa0RldmljZVNpemUgc2l6ZSk7CisgICAgYW5nbGU6OlJlc3VsdCBp
bnZhbGlkYXRlKFJlbmRlcmVyVmsgKnJlbmRlcmVyLCBWa0RldmljZVNpemUgb2Zmc2V0LCBWa0Rl
dmljZVNpemUgc2l6ZSk7CiAKICAgICB2b2lkIGNoYW5nZVF1ZXVlKHVpbnQzMl90IG5ld1F1ZXVl
RmFtaWx5SW5kZXgsIENvbW1hbmRCdWZmZXIgKmNvbW1hbmRCdWZmZXIpOwogCisgICAgLy8gUGVy
Zm9ybXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIGZyb20gYW4gZXh0ZXJuYWwgaW5zdGFuY2Ugb3Ig
QVBJLgorICAgIHZvaWQgYWNxdWlyZUZyb21FeHRlcm5hbChDb250ZXh0VmsgKmNvbnRleHRWaywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZXh0ZXJuYWxRdWV1ZUZhbWls
eUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCByZW5kZXJlclF1
ZXVlRmFtaWx5SW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmRCdWZm
ZXIgKmNvbW1hbmRCdWZmZXIpOworCisgICAgLy8gUGVyZm9ybXMgYW4gb3duZXJzaGlwIHRyYW5z
ZmVyIHRvIGFuIGV4dGVybmFsIGluc3RhbmNlIG9yIEFQSS4KKyAgICB2b2lkIHJlbGVhc2VUb0V4
dGVybmFsKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgcmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgZXh0ZXJuYWxRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7CisKKyAgICAvLyBSZXR1
cm5zIHRydWUgaWYgdGhlIGltYWdlIGlzIG93bmVkIGJ5IGFuIGV4dGVybmFsIEFQSSBvciBpbnN0
YW5jZS4KKyAgICBib29sIGlzUmVsZWFzZWRUb0V4dGVybmFsKCkgY29uc3Q7CisKICAgICAvLyBD
dXJyZW50bHkgYWx3YXlzIHJldHVybnMgZmFsc2UuIFNob3VsZCBiZSBzbWFydGVyIGFib3V0IGFj
Y3VtdWxhdGlvbi4KICAgICBib29sIGNhbkFjY3VtdWxhdGVSZWFkKENvbnRleHRWayAqY29udGV4
dFZrLCBWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlKTsKICAgICBib29sIGNhbkFjY3VtdWxh
dGVXcml0ZShDb250ZXh0VmsgKmNvbnRleHRWaywgVmtBY2Nlc3NGbGFncyB3cml0ZUFjY2Vzc1R5
cGUpOwogCi0gICAgdm9pZCB1cGRhdGVSZWFkQmFycmllcihWa0FjY2Vzc0ZsYWdzIHJlYWRBY2Nl
c3NUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtBY2Nlc3NGbGFncyAqYmFycmll
clNyY091dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxhZ3MgKmJhcnJp
ZXJEc3RPdXQpOworICAgIGJvb2wgdXBkYXRlUmVhZEJhcnJpZXIoVmtBY2Nlc3NGbGFncyByZWFk
QWNjZXNzVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrUGlwZWxpbmVTdGFnZUZs
YWdzIHJlYWRTdGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFBpcGVsaW5lQmFycmll
ciAqYmFycmllcik7CiAKLSAgICB2b2lkIHVwZGF0ZVdyaXRlQmFycmllcihWa0FjY2Vzc0ZsYWdz
IHdyaXRlQWNjZXNzVHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0Zs
YWdzICpiYXJyaWVyU3JjT3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNz
RmxhZ3MgKmJhcnJpZXJEc3RPdXQpOworICAgIGJvb2wgdXBkYXRlV3JpdGVCYXJyaWVyKFZrQWNj
ZXNzRmxhZ3Mgd3JpdGVBY2Nlc3NUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZr
UGlwZWxpbmVTdGFnZUZsYWdzIHdyaXRlU3RhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUGlwZWxpbmVCYXJyaWVyICpiYXJyaWVyKTsKIAogICBwcml2YXRlOgogICAgIGFuZ2xlOjpS
ZXN1bHQgbWFwSW1wbChDb250ZXh0VmsgKmNvbnRleHRWayk7Ci0gICAgYm9vbCBuZWVkc09uUmVh
ZEJhcnJpZXIoVmtBY2Nlc3NGbGFncyByZWFkQWNjZXNzVHlwZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzICpiYXJyaWVyU3JjT3V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZrQWNjZXNzRmxhZ3MgKmJhcnJpZXJEc3RPdXQpCi0gICAgewotICAgICAg
ICBib29sIG5lZWRzQmFycmllciA9Ci0gICAgICAgICAgICBtQ3VycmVudFdyaXRlQWNjZXNzICE9
IDAgJiYgKG1DdXJyZW50UmVhZEFjY2VzcyAmIHJlYWRBY2Nlc3NUeXBlKSAhPSByZWFkQWNjZXNz
VHlwZTsKLQotICAgICAgICAqYmFycmllclNyY091dCA9IG1DdXJyZW50V3JpdGVBY2Nlc3M7Ci0g
ICAgICAgICpiYXJyaWVyRHN0T3V0ID0gcmVhZEFjY2Vzc1R5cGU7Ci0KLSAgICAgICAgbUN1cnJl
bnRSZWFkQWNjZXNzIHw9IHJlYWRBY2Nlc3NUeXBlOwotICAgICAgICByZXR1cm4gbmVlZHNCYXJy
aWVyOwotICAgIH0KLSAgICBib29sIG5lZWRzT25Xcml0ZUJhcnJpZXIoVmtBY2Nlc3NGbGFncyB3
cml0ZUFjY2Vzc1R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNzRmxh
Z3MgKmJhcnJpZXJTcmNPdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrQWNjZXNz
RmxhZ3MgKmJhcnJpZXJEc3RPdXQpOwotCiAgICAgYW5nbGU6OlJlc3VsdCBpbml0aWFsaXplTm9u
WmVyb01lbW9yeShDb250ZXh0ICpjb250ZXh0LCBWa0RldmljZVNpemUgc2l6ZSk7CiAKICAgICAv
LyBWdWxrYW4gb2JqZWN0cy4KICAgICBCdWZmZXIgbUJ1ZmZlcjsKICAgICBCdWZmZXJWaWV3IG1C
dWZmZXJWaWV3OwotICAgIERldmljZU1lbW9yeSBtRGV2aWNlTWVtb3J5OworICAgIEFsbG9jYXRp
b24gbUFsbG9jYXRpb247CiAKICAgICAvLyBDYWNoZWQgcHJvcGVydGllcy4KICAgICBWa01lbW9y
eVByb3BlcnR5RmxhZ3MgbU1lbW9yeVByb3BlcnR5RmxhZ3M7CkBAIC01NzUsNiArODA5LDE1MSBA
QCBjbGFzcyBCdWZmZXJIZWxwZXIgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UKICAgICAvLyBGb3Ig
bWVtb3J5IGJhcnJpZXJzLgogICAgIFZrRmxhZ3MgbUN1cnJlbnRXcml0ZUFjY2VzczsKICAgICBW
a0ZsYWdzIG1DdXJyZW50UmVhZEFjY2VzczsKKyAgICBWa1BpcGVsaW5lU3RhZ2VGbGFncyBtQ3Vy
cmVudFdyaXRlU3RhZ2VzOworICAgIFZrUGlwZWxpbmVTdGFnZUZsYWdzIG1DdXJyZW50UmVhZFN0
YWdlczsKK307CisKKy8vIENvbW1hbmRCdWZmZXJIZWxwZXIgKENCSCkgY2xhc3Mgd3JhcHMgQU5H
TEUncyBjdXN0b20gY29tbWFuZCBidWZmZXIKKy8vICBjbGFzcywgU2Vjb25kYXJ5Q29tbWFuZEJ1
ZmZlci4gVGhpcyBwcm92aWRlcyBhIHdheSB0byB0ZW1wb3JhcmlseQorLy8gIHN0b3JlIFZ1bGth
biBjb21tYW5kcyB0aGF0IGJlIGNhbiBzdWJtaXR0ZWQgaW4tbGluZSB0byBhIHByaW1hcnkKKy8v
ICBjb21tYW5kIGJ1ZmZlciBhdCBhIGxhdGVyIHRpbWUuCisvLyBUaGUgY3VycmVudCBwbGFuIGlz
IGZvciB0aGUgbWFpbiBBTkdMRSB0aHJlYWQgdG8gcmVjb3JkIGNvbW1hbmRzCisvLyAgaW50byB0
aGUgQ0JIIGFuZCB0aGVuIHBhc3MgdGhlIENCSCBvZmYgdG8gYSB3b3JrZXIgdGhyZWFkIHRoYXQg
d2lsbAorLy8gIHByb2Nlc3MgdGhlIGNvbW1hbmRzIGludG8gYSBwcmltYXJ5IGNvbW1hbmQgYnVm
ZmVyIGFuZCB0aGVuIHN1Ym1pdAorLy8gIHRob3NlIGNvbW1hbmRzIHRvIHRoZSBxdWV1ZS4KK3N0
cnVjdCBDb21tYW5kQnVmZmVySGVscGVyIDogYW5nbGU6Ok5vbkNvcHlhYmxlCit7CisgIHB1Ymxp
YzoKKyAgICBDb21tYW5kQnVmZmVySGVscGVyKCk7CisgICAgfkNvbW1hbmRCdWZmZXJIZWxwZXIo
KTsKKworICAgIC8vIEdlbmVyYWwgRnVuY3Rpb25zIChub24tcmVuZGVyUGFzcyBzcGVjaWZpYykK
KyAgICB2b2lkIGluaXRpYWxpemUoYW5nbGU6OlBvb2xBbGxvY2F0b3IgKnBvb2xBbGxvY2F0b3Is
CisgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuSGF2ZVJlbmRlclBhc3MsCisgICAgICAgICAg
ICAgICAgICAgIGJvb2wgbWVyZ2VCYXJyaWVycyk7CisKKyAgICB2b2lkIGJ1ZmZlclJlYWQodms6
OlJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAgICAgICBW
a0FjY2Vzc0ZsYWdzIHJlYWRBY2Nlc3NUeXBlLAorICAgICAgICAgICAgICAgICAgICB2azo6UGlw
ZWxpbmVTdGFnZSByZWFkU3RhZ2UsCisgICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxw
ZXIgKmJ1ZmZlcik7CisgICAgdm9pZCBidWZmZXJXcml0ZSh2azo6UmVzb3VyY2VVc2VMaXN0ICpy
ZXNvdXJjZVVzZUxpc3QsCisgICAgICAgICAgICAgICAgICAgICBWa0FjY2Vzc0ZsYWdzIHdyaXRl
QWNjZXNzVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIHZrOjpQaXBlbGluZVN0YWdlIHdyaXRl
U3RhZ2UsCisgICAgICAgICAgICAgICAgICAgICB2azo6QnVmZmVySGVscGVyICpidWZmZXIpOwor
CisgICAgdm9pZCBpbWFnZVJlYWQodms6OlJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2VMaXN0
LAorICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncywKKyAg
ICAgICAgICAgICAgICAgICB2azo6SW1hZ2VMYXlvdXQgaW1hZ2VMYXlvdXQsCisgICAgICAgICAg
ICAgICAgICAgdms6OkltYWdlSGVscGVyICppbWFnZSk7CisKKyAgICB2b2lkIGltYWdlV3JpdGUo
dms6OlJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAgICAg
ICBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCisgICAgICAgICAgICAgICAgICAgIHZr
OjpJbWFnZUxheW91dCBpbWFnZUxheW91dCwKKyAgICAgICAgICAgICAgICAgICAgdms6OkltYWdl
SGVscGVyICppbWFnZSk7CisKKyAgICB2azo6Q29tbWFuZEJ1ZmZlciAmZ2V0Q29tbWFuZEJ1ZmZl
cigpIHsgcmV0dXJuIG1Db21tYW5kQnVmZmVyOyB9CisKKyAgICBhbmdsZTo6UmVzdWx0IGZsdXNo
VG9QcmltYXJ5KENvbnRleHRWayAqY29udGV4dFZrLCB2azo6UHJpbWFyeUNvbW1hbmRCdWZmZXIg
KnByaW1hcnkpOworCisgICAgdm9pZCBleGVjdXRlQmFycmllcnModms6OlByaW1hcnlDb21tYW5k
QnVmZmVyICpwcmltYXJ5KTsKKworICAgIGJvb2wgZW1wdHkoKSBjb25zdCB7IHJldHVybiAoIW1D
b21tYW5kQnVmZmVyLmVtcHR5KCkgfHwgbVJlbmRlclBhc3NTdGFydGVkKSA/IGZhbHNlIDogdHJ1
ZTsgfQorCisgICAgdm9pZCByZXNldCgpOworCisgICAgLy8gUmVuZGVyUGFzcyByZWxhdGVkIGZ1
bmN0aW9ucworICAgIGJvb2wgc3RhcnRlZCgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQo
bUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgICAgICByZXR1cm4gbVJlbmRlclBhc3NT
dGFydGVkOworICAgIH0KKworICAgIHZvaWQgYmVnaW5SZW5kZXJQYXNzKGNvbnN0IHZrOjpGcmFt
ZWJ1ZmZlciAmZnJhbWVidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6
OlJlY3RhbmdsZSAmcmVuZGVyQXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2
azo6UmVuZGVyUGFzc0Rlc2MgJnJlbmRlclBhc3NEZXNjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHZrOjpBdHRhY2htZW50T3BzQXJyYXkgJnJlbmRlclBhc3NBdHRhY2htZW50T3Bz
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpDbGVhclZhbHVlc0FycmF5ICZj
bGVhclZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICB2azo6Q29tbWFuZEJ1ZmZlciAq
KmNvbW1hbmRCdWZmZXJPdXQpOworCisgICAgdm9pZCBiZWdpblRyYW5zZm9ybUZlZWRiYWNrKHNp
emVfdCB2YWxpZEJ1ZmZlckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBWa0J1ZmZlciAqY291bnRlckJ1ZmZlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgcmViaW5kQnVmZmVycyk7CisKKyAgICB2b2lkIGludmFsaWRhdGVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50KHNpemVfdCBhdHRhY2htZW50SW5kZXgpCisgICAgeworICAgICAg
ICBBU1NFUlQobUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgICAgICBTZXRCaXRGaWVs
ZChtQXR0YWNobWVudE9wc1thdHRhY2htZW50SW5kZXhdLnN0b3JlT3AsIFZLX0FUVEFDSE1FTlRf
U1RPUkVfT1BfRE9OVF9DQVJFKTsKKyAgICB9CisKKyAgICB2b2lkIGludmFsaWRhdGVSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50KHNpemVfdCBhdHRhY2htZW50SW5kZXgpCisgICAgeworICAgICAg
ICBBU1NFUlQobUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgICAgICBTZXRCaXRGaWVs
ZChtQXR0YWNobWVudE9wc1thdHRhY2htZW50SW5kZXhdLnN0b3JlT3AsIFZLX0FUVEFDSE1FTlRf
U1RPUkVfT1BfRE9OVF9DQVJFKTsKKyAgICB9CisKKyAgICB2b2lkIGludmFsaWRhdGVSZW5kZXJQ
YXNzU3RlbmNpbEF0dGFjaG1lbnQoc2l6ZV90IGF0dGFjaG1lbnRJbmRleCkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtSXNSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgICAgIFNldEJpdEZp
ZWxkKG1BdHRhY2htZW50T3BzW2F0dGFjaG1lbnRJbmRleF0uc3RlbmNpbFN0b3JlT3AsCisgICAg
ICAgICAgICAgICAgICAgIFZLX0FUVEFDSE1FTlRfU1RPUkVfT1BfRE9OVF9DQVJFKTsKKyAgICB9
CisKKyAgICB2b2lkIHVwZGF0ZVJlbmRlclBhc3NBdHRhY2htZW50RmluYWxMYXlvdXQoc2l6ZV90
IGF0dGFjaG1lbnRJbmRleCwgdms6OkltYWdlTGF5b3V0IGZpbmFsTGF5b3V0KQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1Jc1JlbmRlclBhc3NDb21tYW5kQnVmZmVyKTsKKyAgICAgICAgU2V0Qml0
RmllbGQobUF0dGFjaG1lbnRPcHNbYXR0YWNobWVudEluZGV4XS5maW5hbExheW91dCwgZmluYWxM
YXlvdXQpOworICAgIH0KKworICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJmdldFJlbmRlckFyZWEo
KSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1Jc1JlbmRlclBhc3NDb21tYW5kQnVmZmVy
KTsKKyAgICAgICAgcmV0dXJuIG1SZW5kZXJBcmVhOworICAgIH0KKworICAgIHZvaWQgcmVzdW1l
VHJhbnNmb3JtRmVlZGJhY2tJZlN0YXJ0ZWQoKTsKKyAgICB2b2lkIHBhdXNlVHJhbnNmb3JtRmVl
ZGJhY2tJZlN0YXJ0ZWQoKTsKKworICAgIHVpbnQzMl90IGdldEFuZFJlc2V0Q291bnRlcigpCisg
ICAgeworICAgICAgICBBU1NFUlQobUlzUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIpOworICAgICAg
ICB1aW50MzJfdCBjb3VudCA9IG1Db3VudGVyOworICAgICAgICBtQ291bnRlciAgICAgICA9IDA7
CisgICAgICAgIHJldHVybiBjb3VudDsKKyAgICB9CisKKyAgICBWa0ZyYW1lYnVmZmVyIGdldEZy
YW1lYnVmZmVySGFuZGxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtSXNSZW5kZXJQ
YXNzQ29tbWFuZEJ1ZmZlcik7CisgICAgICAgIHJldHVybiBtRnJhbWVidWZmZXIuZ2V0SGFuZGxl
KCk7CisgICAgfQorCisgICAgLy8gRHVtcGluZyB0aGUgY29tbWFuZCBzdHJlYW0gaXMgZGlzYWJs
ZWQgYnkgZGVmYXVsdC4KKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wga0VuYWJsZUNvbW1hbmRT
dHJlYW1EaWFnbm9zdGljcyA9IGZhbHNlOworCisgIHByaXZhdGU6CisgICAgdm9pZCBhZGRDb21t
YW5kRGlhZ25vc3RpY3MoQ29udGV4dFZrICpjb250ZXh0VmspOworCisgICAgLy8gR2VuZXJhbCBz
dGF0ZSAobm9uLXJlbmRlclBhc3MgcmVsYXRlZCkKKyAgICBQaXBlbGluZUJhcnJpZXJBcnJheSBt
UGlwZWxpbmVCYXJyaWVyczsKKyAgICBQaXBlbGluZVN0YWdlc01hc2sgbVBpcGVsaW5lQmFycmll
ck1hc2s7CisgICAgdms6OkNvbW1hbmRCdWZmZXIgbUNvbW1hbmRCdWZmZXI7CisKKyAgICAvLyBS
ZW5kZXJQYXNzIHN0YXRlCisgICAgdWludDMyX3QgbUNvdW50ZXI7CisgICAgdms6OlJlbmRlclBh
c3NEZXNjIG1SZW5kZXJQYXNzRGVzYzsKKyAgICB2azo6QXR0YWNobWVudE9wc0FycmF5IG1BdHRh
Y2htZW50T3BzOworICAgIHZrOjpGcmFtZWJ1ZmZlciBtRnJhbWVidWZmZXI7CisgICAgZ2w6OlJl
Y3RhbmdsZSBtUmVuZGVyQXJlYTsKKyAgICB2azo6Q2xlYXJWYWx1ZXNBcnJheSBtQ2xlYXJWYWx1
ZXM7CisgICAgYm9vbCBtUmVuZGVyUGFzc1N0YXJ0ZWQ7CisKKyAgICAvLyBUcmFuc2Zvcm0gZmVl
ZGJhY2sgc3RhdGUKKyAgICBnbDo6VHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJzQXJyYXk8VmtCdWZm
ZXI+IG1UcmFuc2Zvcm1GZWVkYmFja0NvdW50ZXJCdWZmZXJzOworICAgIHVpbnQzMl90IG1WYWxp
ZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyQ291bnQ7CisgICAgYm9vbCBtUmViaW5kVHJhbnNmb3Jt
RmVlZGJhY2tCdWZmZXJzOworCisgICAgYm9vbCBtSXNSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlcjsK
KyAgICBib29sIG1NZXJnZUJhcnJpZXJzOwogfTsKIAogLy8gSW1hZ2luZSBhbiBpbWFnZSBnb2lu
ZyB0aHJvdWdoIGEgZmV3IGxheW91dCB0cmFuc2l0aW9uczoKQEAgLTYwOSwyNSArOTg4LDMzIEBA
IGNsYXNzIEJ1ZmZlckhlbHBlciBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZQogLy8gYXJlIHRoZSBz
YW1lLCB0aGV5IG1heSBvY2Nhc2lvbmFsbHkgYmUgQk9UVE9NX09GX1BJUEUgYW5kIFRPUF9PRl9Q
SVBFIHJlc3BlY3RpdmVseS4KIGVudW0gY2xhc3MgSW1hZ2VMYXlvdXQKIHsKLSAgICBVbmRlZmlu
ZWQgICAgICAgICAgICAgICAgICA9IDAsCi0gICAgRXh0ZXJuYWxQcmVJbml0aWFsaXplZCAgICAg
PSAxLAotICAgIEV4dGVybmFsU2hhZGVyc1JlYWRPbmx5ICAgID0gMiwKLSAgICBFeHRlcm5hbFNo
YWRlcnNXcml0ZSAgICAgICA9IDMsCi0gICAgVHJhbnNmZXJTcmMgICAgICAgICAgICAgICAgPSA0
LAotICAgIFRyYW5zZmVyRHN0ICAgICAgICAgICAgICAgID0gNSwKLSAgICBDb21wdXRlU2hhZGVy
UmVhZE9ubHkgICAgICA9IDYsCi0gICAgQ29tcHV0ZVNoYWRlcldyaXRlICAgICAgICAgPSA3LAot
ICAgIEFsbEdyYXBoaWNzU2hhZGVyc1JlYWRPbmx5ID0gOCwKLSAgICBBbGxHcmFwaGljc1NoYWRl
cnNXcml0ZSAgICA9IDksCi0gICAgQ29sb3JBdHRhY2htZW50ICAgICAgICAgICAgPSAxMCwKLSAg
ICBEZXB0aFN0ZW5jaWxBdHRhY2htZW50ICAgICA9IDExLAotICAgIFByZXNlbnQgICAgICAgICAg
ICAgICAgICAgID0gMTIsCi0KLSAgICBJbnZhbGlkRW51bSA9IDEzLAotICAgIEVudW1Db3VudCAg
ID0gMTMsCisgICAgVW5kZWZpbmVkICAgICAgICAgICAgICAgICAgID0gMCwKKyAgICBFeHRlcm5h
bFByZUluaXRpYWxpemVkICAgICAgPSAxLAorICAgIEV4dGVybmFsU2hhZGVyc1JlYWRPbmx5ICAg
ICA9IDIsCisgICAgRXh0ZXJuYWxTaGFkZXJzV3JpdGUgICAgICAgID0gMywKKyAgICBUcmFuc2Zl
clNyYyAgICAgICAgICAgICAgICAgPSA0LAorICAgIFRyYW5zZmVyRHN0ICAgICAgICAgICAgICAg
ICA9IDUsCisgICAgVmVydGV4U2hhZGVyUmVhZE9ubHkgICAgICAgID0gNiwKKyAgICBWZXJ0ZXhT
aGFkZXJXcml0ZSAgICAgICAgICAgPSA3LAorICAgIEdlb21ldHJ5U2hhZGVyUmVhZE9ubHkgICAg
ICA9IDgsCisgICAgR2VvbWV0cnlTaGFkZXJXcml0ZSAgICAgICAgID0gOSwKKyAgICBGcmFnbWVu
dFNoYWRlclJlYWRPbmx5ICAgICAgPSAxMCwKKyAgICBGcmFnbWVudFNoYWRlcldyaXRlICAgICAg
ICAgPSAxMSwKKyAgICBDb21wdXRlU2hhZGVyUmVhZE9ubHkgICAgICAgPSAxMiwKKyAgICBDb21w
dXRlU2hhZGVyV3JpdGUgICAgICAgICAgPSAxMywKKyAgICBBbGxHcmFwaGljc1NoYWRlcnNSZWFk
T25seSAgPSAxNCwKKyAgICBBbGxHcmFwaGljc1NoYWRlcnNSZWFkV3JpdGUgPSAxNSwKKyAgICBD
b2xvckF0dGFjaG1lbnQgICAgICAgICAgICAgPSAxNiwKKyAgICBEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ICAgICAgPSAxNywKKyAgICBQcmVzZW50ICAgICAgICAgICAgICAgICAgICAgPSAxOCwKKwor
ICAgIEludmFsaWRFbnVtID0gMTksCisgICAgRW51bUNvdW50ICAgPSAxOSwKIH07CiAKLWNsYXNz
IEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlCitWa0ltYWdlTGF5b3V0IENvbnZl
cnRJbWFnZUxheW91dFRvVmtJbWFnZUxheW91dChJbWFnZUxheW91dCBpbWFnZUxheW91dCk7CisK
K2NsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlLCBwdWJsaWMgYW5nbGU6
OlN1YmplY3QKIHsKICAgcHVibGljOgogICAgIEltYWdlSGVscGVyKCk7CkBAIC02NTUsNiArMTA0
Miw3IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRm9ybWF0ICZmb3JtYXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xpbnQgc2FtcGxlcywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0ltYWdlVXNhZ2VGbGFncyB1c2FnZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0ltYWdlQ3JlYXRlRmxhZ3MgYWRkaXRpb25hbENyZWF0ZUZsYWdzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IGluaXRpYWxMYXlvdXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqZXh0ZXJuYWxJbWFnZUNy
ZWF0ZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZUxl
dmVsLApAQCAtNjc5LDYgKzEwNjcsMTYgQEAgY2xhc3MgSW1hZ2VIZWxwZXIgZmluYWwgOiBwdWJs
aWMgUmVzb3VyY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBsZXZlbENvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IGJhc2VBcnJheUxheWVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IGxheWVyQ291bnQpIGNvbnN0OworICAgIGFuZ2xlOjpSZXN1bHQgaW5pdExheWVy
SW1hZ2VWaWV3SW1wbChDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5cGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RN
YXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6
U3dpenpsZVN0YXRlICZzd2l6emxlTWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJbWFnZVZpZXcgKmltYWdlVmlld091dCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZU1pcExldmVsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZlbENvdW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiYXNlQXJyYXlMYXll
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5
ZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtGb3Jt
YXQgaW1hZ2VGb3JtYXQpIGNvbnN0OwogICAgIGFuZ2xlOjpSZXN1bHQgaW5pdEltYWdlVmlldyhD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4
dHVyZVR5cGUgdGV4dHVyZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZr
SW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RNYXNrLApAQCAtNzA2LDkgKzExMDQsMTEgQEAgY2xhc3Mg
SW1hZ2VIZWxwZXIgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UKICAgICBWa0ltYWdlQXNwZWN0Rmxh
Z3MgZ2V0QXNwZWN0RmxhZ3MoKSBjb25zdDsKICAgICAvLyBUcnVlIGlmIGltYWdlIGNvbnRhaW5z
IGJvdGggZGVwdGggJiBzdGVuY2lsIGFzcGVjdHMKICAgICBib29sIGlzQ29tYmluZWREZXB0aFN0
ZW5jaWxGb3JtYXQoKSBjb25zdDsKLSAgICB2b2lkIGRlc3Ryb3koVmtEZXZpY2UgZGV2aWNlKTsK
KyAgICB2b2lkIGRlc3Ryb3koUmVuZGVyZXJWayAqcmVuZGVyZXIpOworICAgIHZvaWQgcmVsZWFz
ZShSZW5kZXJlclZrICpyZW5kZXJlcikgeyBkZXN0cm95KHJlbmRlcmVyKTsgfQogCi0gICAgdm9p
ZCBpbml0MkRXZWFrUmVmZXJlbmNlKFZrSW1hZ2UgaGFuZGxlLAorICAgIHZvaWQgaW5pdDJEV2Vh
a1JlZmVyZW5jZShDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWa0ltYWdlIGhhbmRsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6
OkV4dGVudHMgJmdsRXh0ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Rm9ybWF0ICZmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IHNhbXBs
ZXMpOwpAQCAtNzE3LDEyICsxMTE3LDE0IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVi
bGljIFJlc291cmNlCiAgICAgY29uc3QgSW1hZ2UgJmdldEltYWdlKCkgY29uc3QgeyByZXR1cm4g
bUltYWdlOyB9CiAgICAgY29uc3QgRGV2aWNlTWVtb3J5ICZnZXREZXZpY2VNZW1vcnkoKSBjb25z
dCB7IHJldHVybiBtRGV2aWNlTWVtb3J5OyB9CiAKKyAgICBWa0ltYWdlVHlwZSBnZXRUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbUltYWdlVHlwZTsgfQogICAgIGNvbnN0IFZrRXh0ZW50M0QgJmdldEV4
dGVudHMoKSBjb25zdCB7IHJldHVybiBtRXh0ZW50czsgfQogICAgIHVpbnQzMl90IGdldExheWVy
Q291bnQoKSBjb25zdCB7IHJldHVybiBtTGF5ZXJDb3VudDsgfQogICAgIHVpbnQzMl90IGdldExl
dmVsQ291bnQoKSBjb25zdCB7IHJldHVybiBtTGV2ZWxDb3VudDsgfQogICAgIGNvbnN0IEZvcm1h
dCAmZ2V0Rm9ybWF0KCkgY29uc3QgeyByZXR1cm4gKm1Gb3JtYXQ7IH0KICAgICBHTGludCBnZXRT
YW1wbGVzKCkgY29uc3QgeyByZXR1cm4gbVNhbXBsZXM7IH0KIAorICAgIHZvaWQgc2V0Q3VycmVu
dEltYWdlTGF5b3V0KEltYWdlTGF5b3V0IG5ld0xheW91dCkgeyBtQ3VycmVudExheW91dCA9IG5l
d0xheW91dDsgfQogICAgIEltYWdlTGF5b3V0IGdldEN1cnJlbnRJbWFnZUxheW91dCgpIGNvbnN0
IHsgcmV0dXJuIG1DdXJyZW50TGF5b3V0OyB9CiAgICAgVmtJbWFnZUxheW91dCBnZXRDdXJyZW50
TGF5b3V0KCkgY29uc3Q7CiAKQEAgLTczMSw3ICsxMTMzLDggQEAgY2xhc3MgSW1hZ2VIZWxwZXIg
ZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UKICAgICBnbDo6RXh0ZW50cyBnZXRMZXZlbEV4dGVudHMy
RCh1aW50MzJfdCBsZXZlbCkgY29uc3Q7CiAKICAgICAvLyBDbGVhciBlaXRoZXIgY29sb3Igb3Ig
ZGVwdGgvc3RlbmNpbCBiYXNlZCBvbiBpbWFnZSBmb3JtYXQuCi0gICAgdm9pZCBjbGVhcihjb25z
dCBWa0NsZWFyVmFsdWUgJnZhbHVlLAorICAgIHZvaWQgY2xlYXIoVmtJbWFnZUFzcGVjdEZsYWdz
IGFzcGVjdEZsYWdzLAorICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhclZhbHVlICZ2YWx1ZSwK
ICAgICAgICAgICAgICAgIHVpbnQzMl90IG1pcExldmVsLAogICAgICAgICAgICAgICAgdWludDMy
X3QgYmFzZUFycmF5TGF5ZXIsCiAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50LApA
QCAtNzU5LDcgKzExNjIsNyBAQCBjbGFzcyBJbWFnZUhlbHBlciBmaW5hbCA6IHB1YmxpYyBSZXNv
dXJjZQogICAgIHZvaWQgcmVzb2x2ZShJbWFnZUhlbHBlciAqZGVzdCwgY29uc3QgVmtJbWFnZVJl
c29sdmUgJnJlZ2lvbiwgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7CiAKICAgICAvLyBE
YXRhIHN0YWdpbmcKLSAgICB2b2lkIHJlbW92ZVN0YWdlZFVwZGF0ZXMoQ29udGV4dFZrICpjb250
ZXh0VmssIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCk7CisgICAgdm9pZCByZW1vdmVTdGFn
ZWRVcGRhdGVzKENvbnRleHRWayAqY29udGV4dFZrLCB1aW50MzJfdCBsZXZlbEluZGV4LCB1aW50
MzJfdCBsYXllckluZGV4KTsKIAogICAgIGFuZ2xlOjpSZXN1bHQgc3RhZ2VTdWJyZXNvdXJjZVVw
ZGF0ZUltcGwoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCkBAIC03OTYs
NiArMTE5OSw4IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBtaXBMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGJhc2VBcnJheUxheWVyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJ1ZmZl
clJvd0xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGJ1ZmZlckltYWdlSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtFeHRlbnQzRCAmZXh0ZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VmtPZmZzZXQzRCAmb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQnVmZmVySGVscGVyICpzdGFnaW5nQnVmZmVyLApAQCAtODE1LDE2ICsx
MjIwLDE3IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpFeHRlbnRzICZn
bEV4dGVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFZrSW1hZ2VUeXBlIGltYWdlVHlwZSk7CiAKLSAgICAvLyBTdGFnZSBhIGNsZWFyIG9wZXJhdGlv
biB0byBhIGNsZWFyIHZhbHVlIGJhc2VkIG9uIFdlYkdMIHJlcXVpcmVtZW50cy4KLSAgICB2b2lk
IHN0YWdlU3VicmVzb3VyY2VSb2J1c3RDbGVhcihjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgs
IGNvbnN0IEZvcm1hdCAmZm9ybWF0KTsKKyAgICAvLyBTdGFnZSBhIGNsZWFyIHRvIGFuIGFyYml0
cmFyeSB2YWx1ZS4KKyAgICB2b2lkIHN0YWdlQ2xlYXIoY29uc3QgZ2w6OkltYWdlSW5kZXggJmlu
ZGV4LAorICAgICAgICAgICAgICAgICAgICBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3Ms
CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJWYWx1ZSAmY2xlYXJWYWx1ZSk7CiAK
LSAgICAvLyBTdGFnZSBhIGNsZWFyIG9wZXJhdGlvbiB0byBhIGNsZWFyIHZhbHVlIHRoYXQgaW5p
dGlhbGl6ZXMgZW11bGF0ZWQgY2hhbm5lbHMgdG8gdGhlIGRlc2lyZWQKLSAgICAvLyB2YWx1ZXMu
Ci0gICAgdm9pZCBzdGFnZVN1YnJlc291cmNlRW11bGF0ZWRDbGVhcihjb25zdCBnbDo6SW1hZ2VJ
bmRleCAmaW5kZXgsIGNvbnN0IGFuZ2xlOjpGb3JtYXQgJmZvcm1hdCk7Ci0KLSAgICAvLyBJZiB0
aGUgaW1hZ2UgaGFzIGVtdWxhdGVkIGNoYW5uZWxzLCB3ZSBjbGVhciB0aGVtIG9uY2Ugc28gYXMg
bm90IHRvIGxlYXZlIGdhcmJhZ2Ugb24gdGhvc2UKLSAgICAvLyBjaGFubmVscy4KLSAgICB2b2lk
IHN0YWdlQ2xlYXJJZkVtdWxhdGVkRm9ybWF0KGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbmRleCwg
Y29uc3QgRm9ybWF0ICZmb3JtYXQpOworICAgIC8vIFN0YWdlIGEgY2xlYXIgYmFzZWQgb24gcm9i
dXN0IHJlc291cmNlIGluaXQuCisgICAgYW5nbGU6OlJlc3VsdCBzdGFnZVJvYnVzdFJlc291cmNl
Q2xlYXJXaXRoRm9ybWF0KENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAm
aW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGdsOjpFeHRlbnRzICZnbEV4dGVudHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZrOjpGb3JtYXQgJmZvcm1hdCk7
CisgICAgdm9pZCBzdGFnZVJvYnVzdFJlc291cmNlQ2xlYXIoY29uc3QgZ2w6OkltYWdlSW5kZXgg
JmluZGV4KTsKIAogICAgIC8vIFRoaXMgd2lsbCB1c2UgdGhlIHVuZGVybHlpbmcgZHluYW1pYyBi
dWZmZXIgdG8gYWxsb2NhdGUgc29tZSBtZW1vcnkgdG8gYmUgdXNlZCBhcyBhIHNyYyBvcgogICAg
IC8vIGRzdC4KQEAgLTgzNSw2ICsxMjQxLDE1IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDog
cHVibGljIFJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RhZ2luZ0J1ZmZlck9mZnNldEFycmF5ICpvZmZzZXRPdXQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCAqbmV3QnVmZmVyQWxsb2NhdGVkT3V0KTsKIAorICAg
IC8vIEZsdXNoIHN0YWdlZCB1cGRhdGVzIGZvciBhIHNpbmdsZSBzdWJyZXNvdXJjZS4gQ2FuIG9w
dGlvbmFsbHkgdGFrZSBhIHBhcmFtZXRlciB0byBkZWZlcgorICAgIC8vIGNsZWFycyB0byBhIHN1
YnNlcXVlbnQgUmVuZGVyUGFzcyBsb2FkIG9wLgorICAgIGFuZ2xlOjpSZXN1bHQgZmx1c2hTaW5n
bGVTdWJyZXNvdXJjZVN0YWdlZFVwZGF0ZXMoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBs
ZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IGxheWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsZWFyVmFsdWVz
QXJyYXkgKmRlZmVycmVkQ2xlYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGVmZXJyZWRDbGVhckluZGV4KTsKKwogICAg
IC8vIEZsdXNoZXMgc3RhZ2VkIHVwZGF0ZXMgdG8gYSByYW5nZSBvZiBsZXZlbHMgYW5kIGxheWVy
cyBmcm9tIHN0YXJ0IHRvIChidXQgbm90IGluY2x1ZGluZykgZW5kLgogICAgIC8vIER1ZSB0byB0
aGUgbmF0dXJlIG9mIHVwZGF0ZXMgKGRvbmUgd2hvbGx5IHRvIGEgVmtJbWFnZVN1YnJlc291cmNl
TGF5ZXJzKSwgc29tZSB1bnNvbGljaXRlZAogICAgIC8vIGxheWVycyBtYXkgYWxzbyBiZSB1cGRh
dGVkLgpAQCAtODQ0LDEzICsxMjU5LDEzIEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVi
bGljIFJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbGF5ZXJTdGFydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBsYXllckVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21t
YW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKKwogICAgIC8vIENyZWF0ZXMgYSBjb21tYW5kIGJ1
ZmZlciBhbmQgZmx1c2hlcyBhbGwgc3RhZ2VkIHVwZGF0ZXMuICBUaGlzIGlzIHVzZWQgZm9yIG9u
ZS10aW1lCiAgICAgLy8gaW5pdGlhbGl6YXRpb24gb2YgcmVzb3VyY2VzIHRoYXQgd2UgZG9uJ3Qg
ZXhwZWN0IHRvIGFjY3VtdWxhdGUgZnVydGhlciBzdGFnZWQgdXBkYXRlcywgc3VjaAogICAgIC8v
IGFzIHdpdGggcmVuZGVyYnVmZmVycyBvciBzdXJmYWNlIGltYWdlcy4KICAgICBhbmdsZTo6UmVz
dWx0IGZsdXNoQWxsU3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWayk7CiAKICAgICBi
b29sIGlzVXBkYXRlU3RhZ2VkKHVpbnQzMl90IGxldmVsLCB1aW50MzJfdCBsYXllcik7Ci0KICAg
ICBib29sIGhhc1N0YWdlZFVwZGF0ZXMoKSBjb25zdCB7IHJldHVybiAhbVN1YnJlc291cmNlVXBk
YXRlcy5lbXB0eSgpOyB9CiAKICAgICAvLyBjaGFuZ2VMYXlvdXQgYXV0b21hdGljYWxseSBza2lw
cyB0aGUgbGF5b3V0IGNoYW5nZSBpZiBpdCdzIHVubmVjZXNzYXJ5LiAgVGhpcyBmdW5jdGlvbiBj
YW4gYmUKQEAgLTg4MSw5ICsxMjk2LDI2IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVi
bGljIFJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBuZXdR
dWV1ZUZhbWlseUluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1
ZmZlciAqY29tbWFuZEJ1ZmZlcik7CiAKLSAgICAvLyBJZiB0aGUgaW1hZ2UgaXMgdXNlZCBleHRl
cm5hbGx5IHRvIEdMLCBpdHMgbGF5b3V0IGNvdWxkIGJlIGRpZmZlcmVudCBmcm9tIEFOR0xFJ3Mg
aW50ZXJuYWwKLSAgICAvLyBzdGF0ZS4gIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbmZvcm0g
SW1hZ2VIZWxwZXIgb2YgYW4gZXh0ZXJuYWwgbGF5b3V0IGNoYW5nZS4KLSAgICB2b2lkIG9uRXh0
ZXJuYWxMYXlvdXRDaGFuZ2UoSW1hZ2VMYXlvdXQgbmV3TGF5b3V0KTsKKyAgICB2b2lkIHVwZGF0
ZUxheW91dEFuZEJhcnJpZXIoVmtJbWFnZUFzcGVjdEZsYWdzIGFzcGVjdE1hc2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IG5ld0xheW91dCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUGlwZWxpbmVCYXJyaWVyICpiYXJyaWVyKTsKKworICAg
IC8vIFBlcmZvcm1zIGFuIG93bmVyc2hpcCB0cmFuc2ZlciBmcm9tIGFuIGV4dGVybmFsIGluc3Rh
bmNlIG9yIEFQSS4KKyAgICB2b2lkIGFjcXVpcmVGcm9tRXh0ZXJuYWwoQ29udGV4dFZrICpjb250
ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGV4dGVybmFsUXVl
dWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVu
ZGVyZXJRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFn
ZUxheW91dCBjdXJyZW50TGF5b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21t
YW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKKworICAgIC8vIFBlcmZvcm1zIGFuIG93bmVyc2hp
cCB0cmFuc2ZlciB0byBhbiBleHRlcm5hbCBpbnN0YW5jZSBvciBBUEkuCisgICAgdm9pZCByZWxl
YXNlVG9FeHRlcm5hbChDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHJlbmRlcmVyUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGV4dGVybmFsUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEltYWdlTGF5b3V0IGRlc2lyZWRMYXlvdXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKKworICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgb3duZWQgYnkgYW4gZXh0ZXJuYWwgQVBJIG9y
IGluc3RhbmNlLgorICAgIGJvb2wgaXNSZWxlYXNlZFRvRXh0ZXJuYWwoKSBjb25zdDsKIAogICAg
IHVpbnQzMl90IGdldEJhc2VMZXZlbCgpOwogICAgIHZvaWQgc2V0QmFzZUFuZE1heExldmVscyh1
aW50MzJfdCBiYXNlTGV2ZWwsIHVpbnQzMl90IG1heExldmVsKTsKQEAgLTkzNywzNiArMTM2OSw2
IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCAqaW5wdXRTa2lwQnl0ZXMpOwogCiAg
IHByaXZhdGU6Ci0gICAgLy8gR2VuZXJhbGl6ZWQgdG8gYWNjZXB0IGJvdGggInByaW1hcnkiIGFu
ZCAic2Vjb25kYXJ5IiBjb21tYW5kIGJ1ZmZlcnMuCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIENv
bW1hbmRCdWZmZXJUPgotICAgIHZvaWQgZm9yY2VDaGFuZ2VMYXlvdXRBbmRRdWV1ZShWa0ltYWdl
QXNwZWN0RmxhZ3MgYXNwZWN0TWFzaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSW1hZ2VMYXlvdXQgbmV3TGF5b3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBuZXdRdWV1ZUZhbWlseUluZGV4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyVCAqY29tbWFuZEJ1ZmZlcik7Ci0KLSAgICB2b2lk
IHN0YWdlU3VicmVzb3VyY2VDbGVhcihjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW5kZXgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5nbGU6OkZvcm1hdCAmZm9ybWF0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZj
b2xvclZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJE
ZXB0aFN0ZW5jaWxWYWx1ZSAmZGVwdGhTdGVuY2lsVmFsdWUpOwotCi0gICAgdm9pZCBjbGVhckNv
bG9yKGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZjb2xvciwKLSAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgYmFzZU1pcExldmVsLAotICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZl
bENvdW50LAotICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiYXNlQXJyYXlMYXllciwKLSAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKLSAgICAgICAgICAgICAgICAg
ICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7Ci0KLSAgICB2b2lkIGNsZWFyRGVwdGhT
dGVuY2lsKFZrSW1hZ2VBc3BlY3RGbGFncyBpbWFnZUFzcGVjdEZsYWdzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtJbWFnZUFzcGVjdEZsYWdzIGNsZWFyQXNwZWN0RmxhZ3MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyRGVwdGhTdGVuY2lsVmFsdWUgJmRl
cHRoU3RlbmNpbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhc2VNaXBM
ZXZlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxldmVsQ291bnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiYXNlQXJyYXlMYXllciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyICpjb21tYW5kQnVmZmVyKTsKLQotICAgIGFuZ2xl
OjpSZXN1bHQgaW5pdGlhbGl6ZU5vblplcm9NZW1vcnkoQ29udGV4dCAqY29udGV4dCwgVmtEZXZp
Y2VTaXplIHNpemUpOwotCiAgICAgZW51bSBjbGFzcyBVcGRhdGVTb3VyY2UKICAgICB7CiAgICAg
ICAgIENsZWFyLApAQCAtOTc1LDYgKzEzNzcsNyBAQCBjbGFzcyBJbWFnZUhlbHBlciBmaW5hbCA6
IHB1YmxpYyBSZXNvdXJjZQogICAgIH07CiAgICAgc3RydWN0IENsZWFyVXBkYXRlCiAgICAgewor
ICAgICAgICBWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3M7CiAgICAgICAgIFZrQ2xlYXJW
YWx1ZSB2YWx1ZTsKICAgICAgICAgdWludDMyX3QgbGV2ZWxJbmRleDsKICAgICAgICAgdWludDMy
X3QgbGF5ZXJJbmRleDsKQEAgLTk5Niw3ICsxMzk5LDkgQEAgY2xhc3MgSW1hZ2VIZWxwZXIgZmlu
YWwgOiBwdWJsaWMgUmVzb3VyY2UKICAgICAgICAgU3VicmVzb3VyY2VVcGRhdGUoKTsKICAgICAg
ICAgU3VicmVzb3VyY2VVcGRhdGUoQnVmZmVySGVscGVyICpidWZmZXJIZWxwZXJJbiwgY29uc3Qg
VmtCdWZmZXJJbWFnZUNvcHkgJmNvcHlSZWdpb24pOwogICAgICAgICBTdWJyZXNvdXJjZVVwZGF0
ZShJbWFnZUhlbHBlciAqaW1hZ2UsIGNvbnN0IFZrSW1hZ2VDb3B5ICZjb3B5UmVnaW9uKTsKLSAg
ICAgICAgU3VicmVzb3VyY2VVcGRhdGUoY29uc3QgVmtDbGVhclZhbHVlICZjbGVhclZhbHVlLCBj
b25zdCBnbDo6SW1hZ2VJbmRleCAmaW1hZ2VJbmRleCk7CisgICAgICAgIFN1YnJlc291cmNlVXBk
YXRlKFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVmtDbGVhclZhbHVlICZjbGVhclZhbHVlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnbDo6SW1hZ2VJbmRleCAmaW1hZ2VJbmRleCk7CiAgICAgICAgIFN1YnJl
c291cmNlVXBkYXRlKGNvbnN0IFN1YnJlc291cmNlVXBkYXRlICZvdGhlcik7CiAKICAgICAgICAg
dm9pZCByZWxlYXNlKFJlbmRlcmVyVmsgKnJlbmRlcmVyKTsKQEAgLTEwMTgsMTEgKzE0MjMsNDkg
QEAgY2xhc3MgSW1hZ2VIZWxwZXIgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UKICAgICAgICAgfTsK
ICAgICB9OwogCisgICAgdm9pZCBpbml0SW1hZ2VNZW1vcnlCYXJyaWVyU3RydWN0KFZrSW1hZ2VB
c3BlY3RGbGFncyBhc3BlY3RNYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJbWFnZUxheW91dCBuZXdMYXlvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IG5ld1F1ZXVlRmFtaWx5SW5kZXgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VNZW1vcnlCYXJyaWVyICppbWFnZU1lbW9yeUJh
cnJpZXIpIGNvbnN0OworCisgICAgLy8gR2VuZXJhbGl6ZWQgdG8gYWNjZXB0IGJvdGggInByaW1h
cnkiIGFuZCAic2Vjb25kYXJ5IiBjb21tYW5kIGJ1ZmZlcnMuCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENvbW1hbmRCdWZmZXJUPgorICAgIHZvaWQgZm9yY2VDaGFuZ2VMYXlvdXRBbmRRdWV1ZShW
a0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0TWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSW1hZ2VMYXlvdXQgbmV3TGF5b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBuZXdRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb21tYW5kQnVmZmVyVCAqY29tbWFuZEJ1ZmZlcik7CisKKyAg
ICAvLyBJZiB0aGUgaW1hZ2UgaGFzIGVtdWxhdGVkIGNoYW5uZWxzLCB3ZSBjbGVhciB0aGVtIG9u
Y2Ugc28gYXMgbm90IHRvIGxlYXZlIGdhcmJhZ2Ugb24gdGhvc2UKKyAgICAvLyBjaGFubmVscy4K
KyAgICB2b2lkIHN0YWdlQ2xlYXJJZkVtdWxhdGVkRm9ybWF0KENvbnRleHQgKmNvbnRleHQpOwor
CisgICAgdm9pZCBjbGVhckNvbG9yKGNvbnN0IFZrQ2xlYXJDb2xvclZhbHVlICZjb2xvciwKKyAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZU1pcExldmVsLAorICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBsZXZlbENvdW50LAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBi
YXNlQXJyYXlMYXllciwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwK
KyAgICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7CisKKyAg
ICB2b2lkIGNsZWFyRGVwdGhTdGVuY2lsKFZrSW1hZ2VBc3BlY3RGbGFncyBjbGVhckFzcGVjdEZs
YWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmtDbGVhckRlcHRoU3RlbmNp
bFZhbHVlICZkZXB0aFN0ZW5jaWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBiYXNlTWlwTGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsZXZl
bENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZUFycmF5TGF5
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZEJ1ZmZlciAqY29tbWFuZEJ1ZmZlcik7CisK
KyAgICBhbmdsZTo6UmVzdWx0IGluaXRpYWxpemVOb25aZXJvTWVtb3J5KENvbnRleHQgKmNvbnRl
eHQsIFZrRGV2aWNlU2l6ZSBzaXplKTsKKworICAgIHZvaWQgYXBwZW5kU3VicmVzb3VyY2VVcGRh
dGUoU3VicmVzb3VyY2VVcGRhdGUgJiZ1cGRhdGUpOworICAgIHZvaWQgcHJlcGVuZFN1YnJlc291
cmNlVXBkYXRlKFN1YnJlc291cmNlVXBkYXRlICYmdXBkYXRlKTsKKyAgICB2b2lkIHJlc2V0Q2Fj
aGVkUHJvcGVydGllcygpOworCiAgICAgLy8gVnVsa2FuIG9iamVjdHMuCiAgICAgSW1hZ2UgbUlt
YWdlOwogICAgIERldmljZU1lbW9yeSBtRGV2aWNlTWVtb3J5OwogCiAgICAgLy8gSW1hZ2UgcHJv
cGVydGllcy4KKyAgICBWa0ltYWdlVHlwZSBtSW1hZ2VUeXBlOwogICAgIFZrRXh0ZW50M0QgbUV4
dGVudHM7CiAgICAgY29uc3QgRm9ybWF0ICptRm9ybWF0OwogICAgIEdMaW50IG1TYW1wbGVzOwpA
QCAtMTA1OSwxNCArMTUwMiwyNiBAQCBjbGFzcyBJbWFnZVZpZXdIZWxwZXIgOiBhbmdsZTo6Tm9u
Q29weWFibGUKICAgICB2b2lkIHJlbGVhc2UoUmVuZGVyZXJWayAqcmVuZGVyZXIpOwogICAgIHZv
aWQgZGVzdHJveShWa0RldmljZSBkZXZpY2UpOwogCi0gICAgY29uc3QgSW1hZ2VWaWV3ICZnZXRS
ZWFkSW1hZ2VWaWV3KCkgY29uc3QgeyByZXR1cm4gbVJlYWRJbWFnZVZpZXc7IH0KLSAgICBjb25z
dCBJbWFnZVZpZXcgJmdldEZldGNoSW1hZ2VWaWV3KCkgY29uc3QgeyByZXR1cm4gbUZldGNoSW1h
Z2VWaWV3OyB9CisgICAgY29uc3QgSW1hZ2VWaWV3ICZnZXRMaW5lYXJSZWFkSW1hZ2VWaWV3KCkg
Y29uc3QgeyByZXR1cm4gbUxpbmVhclJlYWRJbWFnZVZpZXc7IH0KKyAgICBjb25zdCBJbWFnZVZp
ZXcgJmdldE5vbkxpbmVhclJlYWRJbWFnZVZpZXcoKSBjb25zdCB7IHJldHVybiBtTm9uTGluZWFy
UmVhZEltYWdlVmlldzsgfQorICAgIGNvbnN0IEltYWdlVmlldyAmZ2V0TGluZWFyRmV0Y2hJbWFn
ZVZpZXcoKSBjb25zdCB7IHJldHVybiBtTGluZWFyRmV0Y2hJbWFnZVZpZXc7IH0KKyAgICBjb25z
dCBJbWFnZVZpZXcgJmdldE5vbkxpbmVhckZldGNoSW1hZ2VWaWV3KCkgY29uc3QgeyByZXR1cm4g
bU5vbkxpbmVhckZldGNoSW1hZ2VWaWV3OyB9CiAgICAgY29uc3QgSW1hZ2VWaWV3ICZnZXRTdGVu
Y2lsUmVhZEltYWdlVmlldygpIGNvbnN0IHsgcmV0dXJuIG1TdGVuY2lsUmVhZEltYWdlVmlldzsg
fQogCisgICAgY29uc3QgSW1hZ2VWaWV3ICZnZXRSZWFkSW1hZ2VWaWV3KCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBtTGluZWFyQ29sb3JzcGFjZSA/IG1MaW5lYXJSZWFkSW1hZ2VWaWV3
IDogbU5vbkxpbmVhclJlYWRJbWFnZVZpZXc7CisgICAgfQorCisgICAgY29uc3QgSW1hZ2VWaWV3
ICZnZXRGZXRjaEltYWdlVmlldygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbUxpbmVh
ckNvbG9yc3BhY2UgPyBtTGluZWFyRmV0Y2hJbWFnZVZpZXcgOiBtTm9uTGluZWFyRmV0Y2hJbWFn
ZVZpZXc7CisgICAgfQorCiAgICAgLy8gVXNlZCB3aGVuIGluaXRpYWxpemVkIFJlbmRlclRhcmdl
dHMuCiAgICAgYm9vbCBoYXNTdGVuY2lsUmVhZEltYWdlVmlldygpIGNvbnN0IHsgcmV0dXJuIG1T
dGVuY2lsUmVhZEltYWdlVmlldy52YWxpZCgpOyB9CiAKLSAgICBib29sIGhhc0ZldGNoSW1hZ2VW
aWV3KCkgY29uc3QgeyByZXR1cm4gbUZldGNoSW1hZ2VWaWV3LnZhbGlkKCk7IH0KKyAgICBib29s
IGhhc0ZldGNoSW1hZ2VWaWV3KCkgY29uc3QgeyByZXR1cm4gZ2V0RmV0Y2hJbWFnZVZpZXcoKS52
YWxpZCgpOyB9CiAKICAgICAvLyBTdG9yZSByZWZlcmVuY2UgdG8gdXNhZ2UgaW4gZ3JhcGguCiAg
ICAgdm9pZCByZXRhaW4oUmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZUxpc3QpIGNvbnN0IHsg
cmVzb3VyY2VVc2VMaXN0LT5hZGQobVVzZSk7IH0KQEAgLTEwODIsNiArMTUzNywxNyBAQCBjbGFz
cyBJbWFnZVZpZXdIZWxwZXIgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgYmFzZUxheWVyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50KTsKIAorICAgIC8vIENyZWF0ZSBTUkdCLXJl
aW50ZXJwcmV0ZWQgcmVhZCB2aWV3cworICAgIGFuZ2xlOjpSZXN1bHQgaW5pdFNSR0JSZWFkVmll
d3MoQ29udGV4dFZrICpjb250ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbDo6VGV4dHVyZVR5cGUgdmlld1R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbWFnZUhlbHBlciAmaW1hZ2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBGb3JtYXQgJmZvcm1hdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpTd2l6emxlU3RhdGUgJnN3aXp6bGVTdGF0ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJhc2VMZXZlbCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxldmVsQ291bnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiYXNlTGF5ZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50
KTsKKwogICAgIC8vIENyZWF0ZXMgYSB2aWV3IHdpdGggYWxsIGxheWVycyBvZiB0aGUgbGV2ZWwu
CiAgICAgYW5nbGU6OlJlc3VsdCBnZXRMZXZlbERyYXdJbWFnZVZpZXcoQ29udGV4dFZrICpjb250
ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1
cmVUeXBlIHZpZXdUeXBlLApAQCAtMTA5OCwxNCArMTU2NCwyNyBAQCBjbGFzcyBJbWFnZVZpZXdI
ZWxwZXIgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEltYWdlVmlldyAqKmltYWdlVmlld091dCk7CiAKICAgcHJp
dmF0ZToKKyAgICBJbWFnZVZpZXcgJmdldFJlYWRJbWFnZVZpZXcoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIG1MaW5lYXJDb2xvcnNwYWNlID8gbUxpbmVhclJlYWRJbWFnZVZpZXcgOiBtTm9uTGlu
ZWFyUmVhZEltYWdlVmlldzsKKyAgICB9CisgICAgSW1hZ2VWaWV3ICZnZXRGZXRjaEltYWdlVmll
dygpCisgICAgeworICAgICAgICByZXR1cm4gbUxpbmVhckNvbG9yc3BhY2UgPyBtTGluZWFyRmV0
Y2hJbWFnZVZpZXcgOiBtTm9uTGluZWFyRmV0Y2hJbWFnZVZpZXc7CisgICAgfQorCiAgICAgLy8g
TGlmZXRpbWUuCiAgICAgU2hhcmVkUmVzb3VyY2VVc2UgbVVzZTsKIAotICAgIC8vIFJlYWQgdmll
d3MuCi0gICAgSW1hZ2VWaWV3IG1SZWFkSW1hZ2VWaWV3OwotICAgIEltYWdlVmlldyBtRmV0Y2hJ
bWFnZVZpZXc7CisgICAgLy8gUmVhZCB2aWV3cworICAgIEltYWdlVmlldyBtTGluZWFyUmVhZElt
YWdlVmlldzsKKyAgICBJbWFnZVZpZXcgbU5vbkxpbmVhclJlYWRJbWFnZVZpZXc7CisgICAgSW1h
Z2VWaWV3IG1MaW5lYXJGZXRjaEltYWdlVmlldzsKKyAgICBJbWFnZVZpZXcgbU5vbkxpbmVhckZl
dGNoSW1hZ2VWaWV3OwogICAgIEltYWdlVmlldyBtU3RlbmNpbFJlYWRJbWFnZVZpZXc7CiAKKyAg
ICBib29sIG1MaW5lYXJDb2xvcnNwYWNlOworCiAgICAgLy8gRHJhdyB2aWV3cy4KICAgICBJbWFn
ZVZpZXdWZWN0b3IgbUxldmVsRHJhd0ltYWdlVmlld3M7CiAgICAgTGF5ZXJMZXZlbEltYWdlVmll
d1ZlY3RvciBtTGF5ZXJMZXZlbERyYXdJbWFnZVZpZXdzOwpAQCAtMTExOCwxMCArMTU5NywxMCBA
QCBjbGFzcyBTYW1wbGVySGVscGVyIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgU2Ft
cGxlckhlbHBlcigpOwogICAgIH5TYW1wbGVySGVscGVyKCk7CiAKKyAgICBhbmdsZTo6UmVzdWx0
IGluaXQoQ29udGV4dCAqY29udGV4dCwgY29uc3QgVmtTYW1wbGVyQ3JlYXRlSW5mbyAmY3JlYXRl
SW5mbyk7CiAgICAgdm9pZCByZWxlYXNlKFJlbmRlcmVyVmsgKnJlbmRlcmVyKTsKIAogICAgIGJv
b2wgdmFsaWQoKSBjb25zdCB7IHJldHVybiBtU2FtcGxlci52YWxpZCgpOyB9Ci0gICAgU2FtcGxl
ciAmZ2V0KCkgeyByZXR1cm4gbVNhbXBsZXI7IH0KICAgICBjb25zdCBTYW1wbGVyICZnZXQoKSBj
b25zdCB7IHJldHVybiBtU2FtcGxlcjsgfQogCiAgICAgdm9pZCByZXRhaW4oUmVzb3VyY2VVc2VM
aXN0ICpyZXNvdXJjZVVzZUxpc3QpIHsgcmVzb3VyY2VVc2VMaXN0LT5hZGQobVVzZSk7IH0KQEAg
LTExNzcsMTcgKzE2NTYsMTAgQEAgY2xhc3MgU2hhZGVyUHJvZ3JhbUhlbHBlciA6IGFuZ2xlOjpO
b25Db3B5YWJsZQogICAgIFNoYWRlclByb2dyYW1IZWxwZXIoKTsKICAgICB+U2hhZGVyUHJvZ3Jh
bUhlbHBlcigpOwogCi0gICAgYm9vbCB2YWxpZCgpIGNvbnN0OworICAgIGJvb2wgdmFsaWQoY29u
c3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSkgY29uc3Q7CiAgICAgdm9pZCBkZXN0cm95KFZr
RGV2aWNlIGRldmljZSk7CiAgICAgdm9pZCByZWxlYXNlKENvbnRleHRWayAqY29udGV4dFZrKTsK
IAotICAgIGJvb2wgaXNHcmFwaGljc1Byb2dyYW0oKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNT
RVJUKG1TaGFkZXJzW2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXhdLnZhbGlkKCkgIT0KLSAgICAgICAg
ICAgICAgIG1TaGFkZXJzW2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlXS52YWxpZCgpKTsKLSAgICAg
ICAgcmV0dXJuIG1TaGFkZXJzW2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXhdLnZhbGlkKCk7Ci0gICAg
fQotCiAgICAgU2hhZGVyQW5kU2VyaWFsICZnZXRTaGFkZXIoZ2w6OlNoYWRlclR5cGUgc2hhZGVy
VHlwZSkgeyByZXR1cm4gbVNoYWRlcnNbc2hhZGVyVHlwZV0uZ2V0KCk7IH0KIAogICAgIHZvaWQg
c2V0U2hhZGVyKGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUsIFJlZkNvdW50ZWQ8U2hhZGVyQW5k
U2VyaWFsPiAqc2hhZGVyKTsKQEAgLTEyNDAsNiArMTcxMiwzMCBAQCBjbGFzcyBTaGFkZXJQcm9n
cmFtSGVscGVyIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgLy8gU3BlY2lhbGl6YXRpb24gY29u
c3RhbnRzLCBjdXJyZW50bHkgb25seSB1c2VkIGJ5IHRoZSBncmFwaGljcyBxdWV1ZS4KICAgICB2
azo6U3BlY2lhbGl6YXRpb25Db25zdGFudEJpdFNldCBtU3BlY2lhbGl6YXRpb25Db25zdGFudHM7
CiB9OworCisvLyBUcmFja3MgY3VycmVudCBoYW5kbGUgYWxsb2NhdGlvbiBjb3VudHMgaW4gdGhl
IGJhY2stZW5kLiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nLgorLy8gTm90ZTog
bm90IGFsbCBoYW5kbGUgdHlwZXMgYXJlIGN1cnJlbnRseSBpbXBsZW1lbnRlZC4KK2NsYXNzIEFj
dGl2ZUhhbmRsZUNvdW50ZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKK3sKKyAgcHVibGlj
OgorICAgIEFjdGl2ZUhhbmRsZUNvdW50ZXIoKTsKKyAgICB+QWN0aXZlSGFuZGxlQ291bnRlcigp
OworCisgICAgdm9pZCBvbkFsbG9jYXRlKEhhbmRsZVR5cGUgaGFuZGxlVHlwZSkKKyAgICB7Cisg
ICAgICAgIG1BY3RpdmVDb3VudHNbaGFuZGxlVHlwZV0rKzsKKyAgICAgICAgbUFsbG9jYXRlZENv
dW50c1toYW5kbGVUeXBlXSsrOworICAgIH0KKworICAgIHZvaWQgb25EZWFsbG9jYXRlKEhhbmRs
ZVR5cGUgaGFuZGxlVHlwZSkgeyBtQWN0aXZlQ291bnRzW2hhbmRsZVR5cGVdLS07IH0KKworICAg
IHVpbnQzMl90IGdldEFjdGl2ZShIYW5kbGVUeXBlIGhhbmRsZVR5cGUpIGNvbnN0IHsgcmV0dXJu
IG1BY3RpdmVDb3VudHNbaGFuZGxlVHlwZV07IH0KKyAgICB1aW50MzJfdCBnZXRBbGxvY2F0ZWQo
SGFuZGxlVHlwZSBoYW5kbGVUeXBlKSBjb25zdCB7IHJldHVybiBtQWxsb2NhdGVkQ291bnRzW2hh
bmRsZVR5cGVdOyB9CisKKyAgcHJpdmF0ZToKKyAgICBhbmdsZTo6UGFja2VkRW51bU1hcDxIYW5k
bGVUeXBlLCB1aW50MzJfdD4gbUFjdGl2ZUNvdW50czsKKyAgICBhbmdsZTo6UGFja2VkRW51bU1h
cDxIYW5kbGVUeXBlLCB1aW50MzJfdD4gbUFsbG9jYXRlZENvdW50czsKK307CiB9ICAvLyBuYW1l
c3BhY2UgdmsKIH0gIC8vIG5hbWVzcGFjZSByeAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX21lbV9hbGxvY193cmFw
cGVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfbWVtX2FsbG9jX3dyYXBwZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YzdkYzM1ZDRkNzA0
YjI3ZTk0NTY2ZWZkYTAyNjU5MzE0YmE4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX21lbV9hbGxvY193
cmFwcGVyLmNwcApAQCAtMCwwICsxLDEyNSBAQAorLy8KKy8vIENvcHlyaWdodCAyMDIwIFRoZSBB
TkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKy8vIHZtYV9hbGxvY2F0b3Jf
d3JhcHBlci5jcHA6CisvLyAgICBIaWRlcyBWTUEgZnVuY3Rpb25zIHNvIHdlIGNhbiB1c2Ugc2Vw
YXJhdGUgd2FybmluZyBzZXRzLgorLy8KKworI2luY2x1ZGUgInZrX21lbV9hbGxvY193cmFwcGVy
LmgiCisKKyNpbmNsdWRlIDx2a19tZW1fYWxsb2MuaD4KKworbmFtZXNwYWNlIHZtYQoreworVmtS
ZXN1bHQgSW5pdEFsbG9jYXRvcihWa1BoeXNpY2FsRGV2aWNlIHBoeXNpY2FsRGV2aWNlLAorICAg
ICAgICAgICAgICAgICAgICAgICBWa0RldmljZSBkZXZpY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgIFZrSW5zdGFuY2UgaW5zdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgIFZtYUFsbG9j
YXRvciAqcEFsbG9jYXRvcikKK3sKKyAgICBWbWFWdWxrYW5GdW5jdGlvbnMgZnVuY3MgICAgICAg
ICAgICAgICAgICA9IHt9OworICAgIGZ1bmNzLnZrR2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVz
ICAgICAgID0gdmtHZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXM7CisgICAgZnVuY3MudmtHZXRQ
aHlzaWNhbERldmljZU1lbW9yeVByb3BlcnRpZXMgPSB2a0dldFBoeXNpY2FsRGV2aWNlTWVtb3J5
UHJvcGVydGllczsKKyAgICBmdW5jcy52a0FsbG9jYXRlTWVtb3J5ICAgICAgICAgICAgICAgICAg
ICA9IHZrQWxsb2NhdGVNZW1vcnk7CisgICAgZnVuY3MudmtGcmVlTWVtb3J5ICAgICAgICAgICAg
ICAgICAgICAgICAgPSB2a0ZyZWVNZW1vcnk7CisgICAgZnVuY3MudmtNYXBNZW1vcnkgICAgICAg
ICAgICAgICAgICAgICAgICAgPSB2a01hcE1lbW9yeTsKKyAgICBmdW5jcy52a1VubWFwTWVtb3J5
ICAgICAgICAgICAgICAgICAgICAgICA9IHZrVW5tYXBNZW1vcnk7CisgICAgZnVuY3MudmtGbHVz
aE1hcHBlZE1lbW9yeVJhbmdlcyAgICAgICAgICAgPSB2a0ZsdXNoTWFwcGVkTWVtb3J5UmFuZ2Vz
OworICAgIGZ1bmNzLnZrSW52YWxpZGF0ZU1hcHBlZE1lbW9yeVJhbmdlcyAgICAgID0gdmtJbnZh
bGlkYXRlTWFwcGVkTWVtb3J5UmFuZ2VzOworICAgIGZ1bmNzLnZrQmluZEJ1ZmZlck1lbW9yeSAg
ICAgICAgICAgICAgICAgID0gdmtCaW5kQnVmZmVyTWVtb3J5OworICAgIGZ1bmNzLnZrQmluZElt
YWdlTWVtb3J5ICAgICAgICAgICAgICAgICAgID0gdmtCaW5kSW1hZ2VNZW1vcnk7CisgICAgZnVu
Y3MudmtHZXRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMgICAgICAgPSB2a0dldEJ1ZmZlck1lbW9y
eVJlcXVpcmVtZW50czsKKyAgICBmdW5jcy52a0dldEltYWdlTWVtb3J5UmVxdWlyZW1lbnRzICAg
ICAgICA9IHZrR2V0SW1hZ2VNZW1vcnlSZXF1aXJlbWVudHM7CisgICAgZnVuY3MudmtDcmVhdGVC
dWZmZXIgICAgICAgICAgICAgICAgICAgICAgPSB2a0NyZWF0ZUJ1ZmZlcjsKKyAgICBmdW5jcy52
a0Rlc3Ryb3lCdWZmZXIgICAgICAgICAgICAgICAgICAgICA9IHZrRGVzdHJveUJ1ZmZlcjsKKyAg
ICBmdW5jcy52a0NyZWF0ZUltYWdlICAgICAgICAgICAgICAgICAgICAgICA9IHZrQ3JlYXRlSW1h
Z2U7CisgICAgZnVuY3MudmtEZXN0cm95SW1hZ2UgICAgICAgICAgICAgICAgICAgICAgPSB2a0Rl
c3Ryb3lJbWFnZTsKKyAgICBmdW5jcy52a0NtZENvcHlCdWZmZXIgICAgICAgICAgICAgICAgICAg
ICA9IHZrQ21kQ29weUJ1ZmZlcjsKKyAgICB7CisjaWYgIWRlZmluZWQoQU5HTEVfU0hBUkVEX0xJ
QlZVTEtBTikKKyAgICAgICAgLy8gV2hlbiB0aGUgdnVsa2FuLWxvYWRlciBpcyBzdGF0aWNhbGx5
IGxpbmtlZCwgd2UgbmVlZCB0byB1c2UgdGhlIGV4dGVuc2lvbgorICAgICAgICAvLyBmdW5jdGlv
bnMgZGVmaW5lZCBpbiBBTkdMRSdzIHJ4IG5hbWVzcGFjZS4gV2hlbiBpdCdzIGR5bmFtaWNhbGx5
IGxpbmtlZAorICAgICAgICAvLyB3aXRoIHZvbGssIHRoaXMgd2lsbCBkZWZhdWx0IHRvIHRoZSBm
dW5jdGlvbiBkZWZpbml0aW9ucyB3aXRoIG5vIG5hbWVzcGFjZQorICAgICAgICB1c2luZyByeDo6
dmtHZXRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMyS0hSOworICAgICAgICB1c2luZyByeDo6dmtH
ZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50czJLSFI7CisjZW5kaWYgIC8vICFkZWZpbmVkKEFOR0xF
X1NIQVJFRF9MSUJWVUxLQU4pCisgICAgICAgIGZ1bmNzLnZrR2V0QnVmZmVyTWVtb3J5UmVxdWly
ZW1lbnRzMktIUiA9IHZrR2V0QnVmZmVyTWVtb3J5UmVxdWlyZW1lbnRzMktIUjsKKyAgICAgICAg
ZnVuY3MudmtHZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50czJLSFIgID0gdmtHZXRJbWFnZU1lbW9y
eVJlcXVpcmVtZW50czJLSFI7CisgICAgfQorCisgICAgVm1hQWxsb2NhdG9yQ3JlYXRlSW5mbyBh
bGxvY2F0b3JJbmZvID0ge307CisgICAgYWxsb2NhdG9ySW5mby5waHlzaWNhbERldmljZSAgICAg
ICAgID0gcGh5c2ljYWxEZXZpY2U7CisgICAgYWxsb2NhdG9ySW5mby5kZXZpY2UgICAgICAgICAg
ICAgICAgID0gZGV2aWNlOworICAgIGFsbG9jYXRvckluZm8uaW5zdGFuY2UgICAgICAgICAgICAg
ICA9IGluc3RhbmNlOworICAgIGFsbG9jYXRvckluZm8ucFZ1bGthbkZ1bmN0aW9ucyAgICAgICA9
ICZmdW5jczsKKworICAgIHJldHVybiB2bWFDcmVhdGVBbGxvY2F0b3IoJmFsbG9jYXRvckluZm8s
IHBBbGxvY2F0b3IpOworfQorCit2b2lkIERlc3Ryb3lBbGxvY2F0b3IoVm1hQWxsb2NhdG9yIGFs
bG9jYXRvcikKK3sKKyAgICB2bWFEZXN0cm95QWxsb2NhdG9yKGFsbG9jYXRvcik7Cit9CisKK3Zv
aWQgRnJlZU1lbW9yeShWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLCBWbWFBbGxvY2F0aW9uIGFsbG9j
YXRpb24pCit7CisgICAgdm1hRnJlZU1lbW9yeShhbGxvY2F0b3IsIGFsbG9jYXRpb24pOworfQor
CitWa1Jlc3VsdCBDcmVhdGVCdWZmZXIoVm1hQWxsb2NhdG9yIGFsbG9jYXRvciwKKyAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBWa0J1ZmZlckNyZWF0ZUluZm8gKnBCdWZmZXJDcmVhdGVJbmZv
LAorICAgICAgICAgICAgICAgICAgICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyByZXF1aXJlZEZs
YWdzLAorICAgICAgICAgICAgICAgICAgICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyBwcmVmZXJy
ZWRGbGFncywKKyAgICAgICAgICAgICAgICAgICAgICBib29sIHBlcnNpc3RlbnRseU1hcHBlZEJ1
ZmZlcnMsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnBNZW1vcnlUeXBlSW5kZXhP
dXQsCisgICAgICAgICAgICAgICAgICAgICAgVmtCdWZmZXIgKnBCdWZmZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgVm1hQWxsb2NhdGlvbiAqcEFsbG9jYXRpb24pCit7CisgICAgVmtSZXN1bHQg
cmVzdWx0OworICAgIFZtYUFsbG9jYXRpb25DcmVhdGVJbmZvIGFsbG9jYXRpb25DcmVhdGVJbmZv
ID0ge307CisgICAgYWxsb2NhdGlvbkNyZWF0ZUluZm8ucmVxdWlyZWRGbGFncyAgICAgICAgICAg
PSByZXF1aXJlZEZsYWdzOworICAgIGFsbG9jYXRpb25DcmVhdGVJbmZvLnByZWZlcnJlZEZsYWdz
ICAgICAgICAgID0gcHJlZmVycmVkRmxhZ3M7CisgICAgYWxsb2NhdGlvbkNyZWF0ZUluZm8uZmxh
Z3MgPSAocGVyc2lzdGVudGx5TWFwcGVkQnVmZmVycykgPyBWTUFfQUxMT0NBVElPTl9DUkVBVEVf
TUFQUEVEX0JJVCA6IDA7CisgICAgVm1hQWxsb2NhdGlvbkluZm8gYWxsb2NhdGlvbkluZm8gPSB7
fTsKKworICAgIHJlc3VsdCA9IHZtYUNyZWF0ZUJ1ZmZlcihhbGxvY2F0b3IsIHBCdWZmZXJDcmVh
dGVJbmZvLCAmYWxsb2NhdGlvbkNyZWF0ZUluZm8sIHBCdWZmZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBBbGxvY2F0aW9uLCAmYWxsb2NhdGlvbkluZm8pOworICAgICpwTWVtb3J5
VHlwZUluZGV4T3V0ID0gYWxsb2NhdGlvbkluZm8ubWVtb3J5VHlwZTsKKworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK3ZvaWQgR2V0TWVtb3J5VHlwZVByb3BlcnRpZXMoVm1hQWxsb2NhdG9yIGFs
bG9jYXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWVtb3J5VHlw
ZUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa01lbW9yeVByb3BlcnR5Rmxh
Z3MgKnBGbGFncykKK3sKKyAgICB2bWFHZXRNZW1vcnlUeXBlUHJvcGVydGllcyhhbGxvY2F0b3Is
IG1lbW9yeVR5cGVJbmRleCwgcEZsYWdzKTsKK30KKworVmtSZXN1bHQgTWFwTWVtb3J5KFZtYUFs
bG9jYXRvciBhbGxvY2F0b3IsIFZtYUFsbG9jYXRpb24gYWxsb2NhdGlvbiwgdm9pZCAqKnBwRGF0
YSkKK3sKKyAgICByZXR1cm4gdm1hTWFwTWVtb3J5KGFsbG9jYXRvciwgYWxsb2NhdGlvbiwgcHBE
YXRhKTsKK30KKwordm9pZCBVbm1hcE1lbW9yeShWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLCBWbWFB
bGxvY2F0aW9uIGFsbG9jYXRpb24pCit7CisgICAgcmV0dXJuIHZtYVVubWFwTWVtb3J5KGFsbG9j
YXRvciwgYWxsb2NhdGlvbik7Cit9CisKK3ZvaWQgRmx1c2hBbGxvY2F0aW9uKFZtYUFsbG9jYXRv
ciBhbGxvY2F0b3IsCisgICAgICAgICAgICAgICAgICAgICBWbWFBbGxvY2F0aW9uIGFsbG9jYXRp
b24sCisgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgb2Zmc2V0LAorICAgICAgICAg
ICAgICAgICAgICAgVmtEZXZpY2VTaXplIHNpemUpCit7CisgICAgdm1hRmx1c2hBbGxvY2F0aW9u
KGFsbG9jYXRvciwgYWxsb2NhdGlvbiwgb2Zmc2V0LCBzaXplKTsKK30KKwordm9pZCBJbnZhbGlk
YXRlQWxsb2NhdGlvbihWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBWbWFBbGxvY2F0aW9uIGFsbG9jYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZrRGV2aWNlU2l6ZSBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2
aWNlU2l6ZSBzaXplKQoreworICAgIHZtYUludmFsaWRhdGVBbGxvY2F0aW9uKGFsbG9jYXRvciwg
YWxsb2NhdGlvbiwgb2Zmc2V0LCBzaXplKTsKK30KK30gIC8vIG5hbWVzcGFjZSB2bWEKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfbWVtX2FsbG9jX3dyYXBwZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfbWVtX2FsbG9jX3dyYXBwZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YzdkN2Q1YmRmNmE0NTQ2OGIxYWFlOGFlYjczYzJhNTFlM2JkY2U0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi92a19tZW1fYWxsb2Nfd3JhcHBlci5oCkBAIC0wLDAgKzEsNTggQEAKKy8vCisvLyBDb3B5cmln
aHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyB2
bWFfYWxsb2NhdG9yX3dyYXBwZXIuaDoKKy8vICAgIEhpZGVzIFZNQSBmdW5jdGlvbnMgc28gd2Ug
Y2FuIHVzZSBzZXBhcmF0ZSB3YXJuaW5nIHNldHMuCisvLworCisjaWZuZGVmIExJQkFOR0xFX1JF
TkRFUkVSX1ZVTEtBTl9WS19NRU1fQUxMT0NfV1JBUFBFUl9IXworI2RlZmluZSBMSUJBTkdMRV9S
RU5ERVJFUl9WVUxLQU5fVktfTUVNX0FMTE9DX1dSQVBQRVJfSF8KKworI2luY2x1ZGUgImxpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWFkZXJzLmgiCisKK1ZLX0RFRklORV9IQU5ETEUoVm1h
QWxsb2NhdG9yKQorVktfREVGSU5FX0hBTkRMRShWbWFBbGxvY2F0aW9uKQorCituYW1lc3BhY2Ug
dm1hCit7CitWa1Jlc3VsdCBJbml0QWxsb2NhdG9yKFZrUGh5c2ljYWxEZXZpY2UgcGh5c2ljYWxE
ZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlIGRldmljZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgVmtJbnN0YW5jZSBpbnN0YW5jZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgVm1hQWxsb2NhdG9yICpwQWxsb2NhdG9yKTsKKwordm9pZCBEZXN0cm95QWxsb2NhdG9yKFZt
YUFsbG9jYXRvciBhbGxvY2F0b3IpOworCit2b2lkIEZyZWVNZW1vcnkoVm1hQWxsb2NhdG9yIGFs
bG9jYXRvciwgVm1hQWxsb2NhdGlvbiBhbGxvY2F0aW9uKTsKKworVmtSZXN1bHQgQ3JlYXRlQnVm
ZmVyKFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VmtCdWZmZXJDcmVhdGVJbmZvICpwQnVmZmVyQ3JlYXRlSW5mbywKKyAgICAgICAgICAgICAgICAg
ICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgcmVxdWlyZWRGbGFncywKKyAgICAgICAgICAgICAg
ICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgcHJlZmVycmVkRmxhZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBwZXJzaXN0ZW50bHlNYXBwZWRCdWZmZXJzLAorICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90ICpwTWVtb3J5VHlwZUluZGV4T3V0LAorICAgICAgICAgICAgICAg
ICAgICAgIFZrQnVmZmVyICpwQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgIFZtYUFsbG9j
YXRpb24gKnBBbGxvY2F0aW9uKTsKKwordm9pZCBHZXRNZW1vcnlUeXBlUHJvcGVydGllcyhWbWFB
bGxvY2F0b3IgYWxsb2NhdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBtZW1vcnlUeXBlSW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrTWVtb3J5
UHJvcGVydHlGbGFncyAqcEZsYWdzKTsKKworVmtSZXN1bHQgTWFwTWVtb3J5KFZtYUFsbG9jYXRv
ciBhbGxvY2F0b3IsIFZtYUFsbG9jYXRpb24gYWxsb2NhdGlvbiwgdm9pZCAqKnBwRGF0YSk7CisK
K3ZvaWQgVW5tYXBNZW1vcnkoVm1hQWxsb2NhdG9yIGFsbG9jYXRvciwgVm1hQWxsb2NhdGlvbiBh
bGxvY2F0aW9uKTsKKwordm9pZCBGbHVzaEFsbG9jYXRpb24oVm1hQWxsb2NhdG9yIGFsbG9jYXRv
ciwKKyAgICAgICAgICAgICAgICAgICAgIFZtYUFsbG9jYXRpb24gYWxsb2NhdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAg
ICBWa0RldmljZVNpemUgc2l6ZSk7CisKK3ZvaWQgSW52YWxpZGF0ZUFsbG9jYXRpb24oVm1hQWxs
b2NhdG9yIGFsbG9jYXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVm1hQWxsb2NhdGlv
biBhbGxvY2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgb2Zm
c2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgc2l6ZSk7CisKK30g
IC8vIG5hbWVzcGFjZSB2bWEKKworI2VuZGlmICAvLyBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5f
VktfTUVNX0FMTE9DX1dSQVBQRVJfSF8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL3ZrX3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vdmtfdXRpbHMuY3BwCmluZGV4IDNiN2RiMTEzOTY0ODk1MGNlOWNmYjZj
MzhiZTM3NTlmMzFhYjdjNGQuLjc4YTYxYmM0ZGI3ZTQ0ZDc2OGIxNjVhZjVhZGIxZWU4MmZmYjc4
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vdmtfdXRpbHMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfdXRpbHMuY3BwCkBAIC0xNSw2ICsxNSw3IEBA
CiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0Rpc3BsYXlWay5oIgogI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJlclZrLmgiCiAjaW5jbHVkZSAibGli
QU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Jlc291cmNlVmsuaCIKKyNpbmNsdWRlICJsaWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vdmtfbWVtX2FsbG9jX3dyYXBwZXIuaCIKIAogbmFtZXNwYWNlIGFuZ2xl
CiB7CkBAIC04Niw3ICs4Nyw4IEBAIGFuZ2xlOjpSZXN1bHQgRmluZEFuZEFsbG9jYXRlQ29tcGF0
aWJsZU1lbW9yeSh2azo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgewogICAgICAgICAgICAg
Ly8gQ2FuIG1hcCB0aGUgbWVtb3J5LgogICAgICAgICAgICAgQU5HTEVfVFJZKHZrOjpJbml0TWFw
cGFibGVEZXZpY2VNZW1vcnkoY29udGV4dCwgZGV2aWNlTWVtb3J5T3V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5UmVxdWlyZW1lbnRz
LnNpemUsIGtOb25aZXJvSW5pdFZhbHVlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlSZXF1aXJlbWVudHMuc2l6ZSwga05vblplcm9J
bml0VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqbWVtb3J5UHJvcGVydHlGbGFnc091dCkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0x
ODMsNjEgKzE4NSw2NyBAQCBjb25zdCBjaGFyICpWdWxrYW5SZXN1bHRTdHJpbmcoVmtSZXN1bHQg
cmVzdWx0KQogICAgIHN3aXRjaCAocmVzdWx0KQogICAgIHsKICAgICAgICAgY2FzZSBWS19TVUND
RVNTOgotICAgICAgICAgICAgcmV0dXJuICJDb21tYW5kIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQu
IjsKKyAgICAgICAgICAgIHJldHVybiAiQ29tbWFuZCBzdWNjZXNzZnVsbHkgY29tcGxldGVkIjsK
ICAgICAgICAgY2FzZSBWS19OT1RfUkVBRFk6Ci0gICAgICAgICAgICByZXR1cm4gIkEgZmVuY2Ug
b3IgcXVlcnkgaGFzIG5vdCB5ZXQgY29tcGxldGVkLiI7CisgICAgICAgICAgICByZXR1cm4gIkEg
ZmVuY2Ugb3IgcXVlcnkgaGFzIG5vdCB5ZXQgY29tcGxldGVkIjsKICAgICAgICAgY2FzZSBWS19U
SU1FT1VUOgotICAgICAgICAgICAgcmV0dXJuICJBIHdhaXQgb3BlcmF0aW9uIGhhcyBub3QgY29t
cGxldGVkIGluIHRoZSBzcGVjaWZpZWQgdGltZS4iOworICAgICAgICAgICAgcmV0dXJuICJBIHdh
aXQgb3BlcmF0aW9uIGhhcyBub3QgY29tcGxldGVkIGluIHRoZSBzcGVjaWZpZWQgdGltZSI7CiAg
ICAgICAgIGNhc2UgVktfRVZFTlRfU0VUOgotICAgICAgICAgICAgcmV0dXJuICJBbiBldmVudCBp
cyBzaWduYWxlZC4iOworICAgICAgICAgICAgcmV0dXJuICJBbiBldmVudCBpcyBzaWduYWxlZCI7
CiAgICAgICAgIGNhc2UgVktfRVZFTlRfUkVTRVQ6Ci0gICAgICAgICAgICByZXR1cm4gIkFuIGV2
ZW50IGlzIHVuc2lnbmFsZWQuIjsKKyAgICAgICAgICAgIHJldHVybiAiQW4gZXZlbnQgaXMgdW5z
aWduYWxlZCI7CiAgICAgICAgIGNhc2UgVktfSU5DT01QTEVURToKLSAgICAgICAgICAgIHJldHVy
biAiQSByZXR1cm4gYXJyYXkgd2FzIHRvbyBzbWFsbCBmb3IgdGhlIHJlc3VsdC4iOworICAgICAg
ICAgICAgcmV0dXJuICJBIHJldHVybiBhcnJheSB3YXMgdG9vIHNtYWxsIGZvciB0aGUgcmVzdWx0
IjsKICAgICAgICAgY2FzZSBWS19TVUJPUFRJTUFMX0tIUjoKICAgICAgICAgICAgIHJldHVybiAi
QSBzd2FwY2hhaW4gbm8gbG9uZ2VyIG1hdGNoZXMgdGhlIHN1cmZhY2UgcHJvcGVydGllcyBleGFj
dGx5LCBidXQgY2FuIHN0aWxsIGJlICIKLSAgICAgICAgICAgICAgICAgICAidXNlZCB0byBwcmVz
ZW50IHRvIHRoZSBzdXJmYWNlIHN1Y2Nlc3NmdWxseS4iOworICAgICAgICAgICAgICAgICAgICJ1
c2VkIHRvIHByZXNlbnQgdG8gdGhlIHN1cmZhY2Ugc3VjY2Vzc2Z1bGx5IjsKICAgICAgICAgY2Fz
ZSBWS19FUlJPUl9PVVRfT0ZfSE9TVF9NRU1PUlk6Ci0gICAgICAgICAgICByZXR1cm4gIkEgaG9z
dCBtZW1vcnkgYWxsb2NhdGlvbiBoYXMgZmFpbGVkLiI7CisgICAgICAgICAgICByZXR1cm4gIkEg
aG9zdCBtZW1vcnkgYWxsb2NhdGlvbiBoYXMgZmFpbGVkIjsKICAgICAgICAgY2FzZSBWS19FUlJP
Ul9PVVRfT0ZfREVWSUNFX01FTU9SWToKLSAgICAgICAgICAgIHJldHVybiAiQSBkZXZpY2UgbWVt
b3J5IGFsbG9jYXRpb24gaGFzIGZhaWxlZC4iOworICAgICAgICAgICAgcmV0dXJuICJBIGRldmlj
ZSBtZW1vcnkgYWxsb2NhdGlvbiBoYXMgZmFpbGVkIjsKICAgICAgICAgY2FzZSBWS19FUlJPUl9J
TklUSUFMSVpBVElPTl9GQUlMRUQ6CiAgICAgICAgICAgICByZXR1cm4gIkluaXRpYWxpemF0aW9u
IG9mIGFuIG9iamVjdCBjb3VsZCBub3QgYmUgY29tcGxldGVkIGZvciBpbXBsZW1lbnRhdGlvbi1z
cGVjaWZpYyAiCi0gICAgICAgICAgICAgICAgICAgInJlYXNvbnMuIjsKKyAgICAgICAgICAgICAg
ICAgICAicmVhc29ucyI7CiAgICAgICAgIGNhc2UgVktfRVJST1JfREVWSUNFX0xPU1Q6Ci0gICAg
ICAgICAgICByZXR1cm4gIlRoZSBsb2dpY2FsIG9yIHBoeXNpY2FsIGRldmljZSBoYXMgYmVlbiBs
b3N0LiI7CisgICAgICAgICAgICByZXR1cm4gIlRoZSBsb2dpY2FsIG9yIHBoeXNpY2FsIGRldmlj
ZSBoYXMgYmVlbiBsb3N0IjsKICAgICAgICAgY2FzZSBWS19FUlJPUl9NRU1PUllfTUFQX0ZBSUxF
RDoKLSAgICAgICAgICAgIHJldHVybiAiTWFwcGluZyBvZiBhIG1lbW9yeSBvYmplY3QgaGFzIGZh
aWxlZC4iOworICAgICAgICAgICAgcmV0dXJuICJNYXBwaW5nIG9mIGEgbWVtb3J5IG9iamVjdCBo
YXMgZmFpbGVkIjsKICAgICAgICAgY2FzZSBWS19FUlJPUl9MQVlFUl9OT1RfUFJFU0VOVDoKLSAg
ICAgICAgICAgIHJldHVybiAiQSByZXF1ZXN0ZWQgbGF5ZXIgaXMgbm90IHByZXNlbnQgb3IgY291
bGQgbm90IGJlIGxvYWRlZC4iOworICAgICAgICAgICAgcmV0dXJuICJBIHJlcXVlc3RlZCBsYXll
ciBpcyBub3QgcHJlc2VudCBvciBjb3VsZCBub3QgYmUgbG9hZGVkIjsKICAgICAgICAgY2FzZSBW
S19FUlJPUl9FWFRFTlNJT05fTk9UX1BSRVNFTlQ6Ci0gICAgICAgICAgICByZXR1cm4gIkEgcmVx
dWVzdGVkIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiI7CisgICAgICAgICAgICByZXR1cm4g
IkEgcmVxdWVzdGVkIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkIjsKICAgICAgICAgY2FzZSBW
S19FUlJPUl9GRUFUVVJFX05PVF9QUkVTRU5UOgotICAgICAgICAgICAgcmV0dXJuICJBIHJlcXVl
c3RlZCBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQuIjsKKyAgICAgICAgICAgIHJldHVybiAiQSBy
ZXF1ZXN0ZWQgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVkIjsKICAgICAgICAgY2FzZSBWS19FUlJP
Ul9JTkNPTVBBVElCTEVfRFJJVkVSOgogICAgICAgICAgICAgcmV0dXJuICJUaGUgcmVxdWVzdGVk
IHZlcnNpb24gb2YgVnVsa2FuIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciBvciBpcyBv
dGhlcndpc2UgIgotICAgICAgICAgICAgICAgICAgICJpbmNvbXBhdGlibGUgZm9yIGltcGxlbWVu
dGF0aW9uLXNwZWNpZmljIHJlYXNvbnMuIjsKKyAgICAgICAgICAgICAgICAgICAiaW5jb21wYXRp
YmxlIGZvciBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyByZWFzb25zIjsKICAgICAgICAgY2FzZSBW
S19FUlJPUl9UT09fTUFOWV9PQkpFQ1RTOgotICAgICAgICAgICAgcmV0dXJuICJUb28gbWFueSBv
YmplY3RzIG9mIHRoZSB0eXBlIGhhdmUgYWxyZWFkeSBiZWVuIGNyZWF0ZWQuIjsKKyAgICAgICAg
ICAgIHJldHVybiAiVG9vIG1hbnkgb2JqZWN0cyBvZiB0aGUgdHlwZSBoYXZlIGFscmVhZHkgYmVl
biBjcmVhdGVkIjsKICAgICAgICAgY2FzZSBWS19FUlJPUl9GT1JNQVRfTk9UX1NVUFBPUlRFRDoK
LSAgICAgICAgICAgIHJldHVybiAiQSByZXF1ZXN0ZWQgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQg
b24gdGhpcyBkZXZpY2UuIjsKKyAgICAgICAgICAgIHJldHVybiAiQSByZXF1ZXN0ZWQgZm9ybWF0
IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBkZXZpY2UiOwogICAgICAgICBjYXNlIFZLX0VSUk9S
X1NVUkZBQ0VfTE9TVF9LSFI6Ci0gICAgICAgICAgICByZXR1cm4gIkEgc3VyZmFjZSBpcyBubyBs
b25nZXIgYXZhaWxhYmxlLiI7CisgICAgICAgICAgICByZXR1cm4gIkEgc3VyZmFjZSBpcyBubyBs
b25nZXIgYXZhaWxhYmxlIjsKICAgICAgICAgY2FzZSBWS19FUlJPUl9OQVRJVkVfV0lORE9XX0lO
X1VTRV9LSFI6CiAgICAgICAgICAgICByZXR1cm4gIlRoZSByZXF1ZXN0ZWQgd2luZG93IGlzIGFs
cmVhZHkgY29ubmVjdGVkIHRvIGEgVmtTdXJmYWNlS0hSLCBvciB0byBzb21lIG90aGVyICIKLSAg
ICAgICAgICAgICAgICAgICAibm9uLVZ1bGthbiBBUEkuIjsKKyAgICAgICAgICAgICAgICAgICAi
bm9uLVZ1bGthbiBBUEkiOwogICAgICAgICBjYXNlIFZLX0VSUk9SX09VVF9PRl9EQVRFX0tIUjoK
ICAgICAgICAgICAgIHJldHVybiAiQSBzdXJmYWNlIGhhcyBjaGFuZ2VkIGluIHN1Y2ggYSB3YXkg
dGhhdCBpdCBpcyBubyBsb25nZXIgY29tcGF0aWJsZSB3aXRoIHRoZSAiCi0gICAgICAgICAgICAg
ICAgICAgInN3YXBjaGFpbi4iOworICAgICAgICAgICAgICAgICAgICJzd2FwY2hhaW4iOwogICAg
ICAgICBjYXNlIFZLX0VSUk9SX0lOQ09NUEFUSUJMRV9ESVNQTEFZX0tIUjoKICAgICAgICAgICAg
IHJldHVybiAiVGhlIGRpc3BsYXkgdXNlZCBieSBhIHN3YXBjaGFpbiBkb2VzIG5vdCB1c2UgdGhl
IHNhbWUgcHJlc2VudGFibGUgaW1hZ2UgIgotICAgICAgICAgICAgICAgICAgICJsYXlvdXQsIG9y
IGlzIGluY29tcGF0aWJsZSBpbiBhIHdheSB0aGF0IHByZXZlbnRzIHNoYXJpbmcgYW4gaW1hZ2Uu
IjsKKyAgICAgICAgICAgICAgICAgICAibGF5b3V0LCBvciBpcyBpbmNvbXBhdGlibGUgaW4gYSB3
YXkgdGhhdCBwcmV2ZW50cyBzaGFyaW5nIGFuIGltYWdlIjsKICAgICAgICAgY2FzZSBWS19FUlJP
Ul9WQUxJREFUSU9OX0ZBSUxFRF9FWFQ6Ci0gICAgICAgICAgICByZXR1cm4gIlRoZSB2YWxpZGF0
aW9uIGxheWVycyBkZXRlY3RlZCBpbnZhbGlkIEFQSSB1c2FnZS4iOworICAgICAgICAgICAgcmV0
dXJuICJUaGUgdmFsaWRhdGlvbiBsYXllcnMgZGV0ZWN0ZWQgaW52YWxpZCBBUEkgdXNhZ2UiOwog
ICAgICAgICBjYXNlIFZLX0VSUk9SX0lOVkFMSURfU0hBREVSX05WOgotICAgICAgICAgICAgcmV0
dXJuICJJbnZhbGlkIFZ1bGthbiBzaGFkZXIgd2FzIGdlbmVyYXRlZC4iOworICAgICAgICAgICAg
cmV0dXJuICJJbnZhbGlkIFZ1bGthbiBzaGFkZXIgd2FzIGdlbmVyYXRlZCI7CisgICAgICAgIGNh
c2UgVktfRVJST1JfT1VUX09GX1BPT0xfTUVNT1JZOgorICAgICAgICAgICAgcmV0dXJuICJBIHBv
b2wgbWVtb3J5IGFsbG9jYXRpb24gaGFzIGZhaWxlZCI7CisgICAgICAgIGNhc2UgVktfRVJST1Jf
RlJBR01FTlRFRF9QT09MOgorICAgICAgICAgICAgcmV0dXJuICJBIHBvb2wgYWxsb2NhdGlvbiBo
YXMgZmFpbGVkIGR1ZSB0byBmcmFnbWVudGF0aW9uIG9mIHRoZSBwb29sJ3MgbWVtb3J5IjsKKyAg
ICAgICAgY2FzZSBWS19FUlJPUl9JTlZBTElEX0VYVEVSTkFMX0hBTkRMRToKKyAgICAgICAgICAg
IHJldHVybiAiQW4gZXh0ZXJuYWwgaGFuZGxlIGlzIG5vdCBhIHZhbGlkIGhhbmRsZSBvZiB0aGUg
c3BlY2lmaWVkIHR5cGUiOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuICJV
bmtub3duIHZ1bGthbiBlcnJvciBjb2RlLiI7CisgICAgICAgICAgICByZXR1cm4gIlVua25vd24g
dnVsa2FuIGVycm9yIGNvZGUiOwogICAgIH0KIH0KIApAQCAtMzgyLDEwICszOTAsMTEgQEAgYW5n
bGU6OlJlc3VsdCBNZW1vcnlQcm9wZXJ0aWVzOjpmaW5kQ29tcGF0aWJsZU1lbW9yeUluZGV4KAog
Ly8gU3RhZ2luZ0J1ZmZlciBpbXBsZW1lbnRhdGlvbi4KIFN0YWdpbmdCdWZmZXI6OlN0YWdpbmdC
dWZmZXIoKSA6IG1TaXplKDApIHt9CiAKLXZvaWQgU3RhZ2luZ0J1ZmZlcjo6ZGVzdHJveShWa0Rl
dmljZSBkZXZpY2UpCit2b2lkIFN0YWdpbmdCdWZmZXI6OmRlc3Ryb3koUmVuZGVyZXJWayAqcmVu
ZGVyZXIpCiB7CisgICAgVmtEZXZpY2UgZGV2aWNlID0gcmVuZGVyZXItPmdldERldmljZSgpOwog
ICAgIG1CdWZmZXIuZGVzdHJveShkZXZpY2UpOwotICAgIG1EZXZpY2VNZW1vcnkuZGVzdHJveShk
ZXZpY2UpOworICAgIG1BbGxvY2F0aW9uLmRlc3Ryb3kocmVuZGVyZXItPmdldEFsbG9jYXRvcigp
KTsKICAgICBtU2l6ZSA9IDA7CiB9CiAKQEAgLTQwMCwxNCArNDA5LDE2IEBAIGFuZ2xlOjpSZXN1
bHQgU3RhZ2luZ0J1ZmZlcjo6aW5pdChDb250ZXh0ICpjb250ZXh0LCBWa0RldmljZVNpemUgc2l6
ZSwgU3RhZ2luZ1VzCiAgICAgY3JlYXRlSW5mby5xdWV1ZUZhbWlseUluZGV4Q291bnQgPSAwOwog
ICAgIGNyZWF0ZUluZm8ucFF1ZXVlRmFtaWx5SW5kaWNlcyAgID0gbnVsbHB0cjsKIAotICAgIFZr
TWVtb3J5UHJvcGVydHlGbGFncyBmbGFncyA9Ci0gICAgICAgIChWS19NRU1PUllfUFJPUEVSVFlf
SE9TVF9WSVNJQkxFX0JJVCB8IFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX0NPSEVSRU5UX0JJVCk7
CisgICAgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIG1lbW9yeVByb3BlcnR5T3V0RmxhZ3M7CisgICAg
VmtNZW1vcnlQcm9wZXJ0eUZsYWdzIHByZWZlcnJlZEZsYWdzID0gMDsKKyAgICBWa01lbW9yeVBy
b3BlcnR5RmxhZ3MgcmVxdWlyZWRGbGFncyA9CisgICAgICAgIFZLX01FTU9SWV9QUk9QRVJUWV9I
T1NUX1ZJU0lCTEVfQklUIHwgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfQ09IRVJFTlRfQklUOwor
CisgICAgbUFsbG9jYXRpb24uY3JlYXRlQnVmZmVyQW5kTWVtb3J5KAorICAgICAgICBjb250ZXh0
LT5nZXRSZW5kZXJlcigpLT5nZXRBbGxvY2F0b3IoKSwgJmNyZWF0ZUluZm8sIHJlcXVpcmVkRmxh
Z3MsIHByZWZlcnJlZEZsYWdzLAorICAgICAgICBjb250ZXh0LT5nZXRSZW5kZXJlcigpLT5nZXRG
ZWF0dXJlcygpLnBlcnNpc3RlbnRseU1hcHBlZEJ1ZmZlcnMuZW5hYmxlZCwgJm1CdWZmZXIsCisg
ICAgICAgICZtZW1vcnlQcm9wZXJ0eU91dEZsYWdzKTsKIAotICAgIEFOR0xFX1ZLX1RSWShjb250
ZXh0LCBtQnVmZmVyLmluaXQoY29udGV4dC0+Z2V0RGV2aWNlKCksIGNyZWF0ZUluZm8pKTsKLSAg
ICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgZmxhZ3NPdXQgPSAwOwotICAgIFZrRGV2aWNlU2l6ZSBz
aXplSWdub3JlZDsKLSAgICBBTkdMRV9UUlkoQWxsb2NhdGVCdWZmZXJNZW1vcnkoY29udGV4dCwg
ZmxhZ3MsICZmbGFnc091dCwgbnVsbHB0ciwgJm1CdWZmZXIsICZtRGV2aWNlTWVtb3J5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2l6ZUlnbm9yZWQpKTsKICAgICBtU2l6
ZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oc2l6ZSk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OkNvbnRpbnVlOwogfQpAQCAtNDE1LDE0ICs0MjYsMTQgQEAgYW5nbGU6OlJlc3VsdCBTdGFnaW5n
QnVmZmVyOjppbml0KENvbnRleHQgKmNvbnRleHQsIFZrRGV2aWNlU2l6ZSBzaXplLCBTdGFnaW5n
VXMKIHZvaWQgU3RhZ2luZ0J1ZmZlcjo6cmVsZWFzZShDb250ZXh0VmsgKmNvbnRleHRWaykKIHsK
ICAgICBjb250ZXh0VmstPmFkZEdhcmJhZ2UoJm1CdWZmZXIpOwotICAgIGNvbnRleHRWay0+YWRk
R2FyYmFnZSgmbURldmljZU1lbW9yeSk7CisgICAgY29udGV4dFZrLT5hZGRHYXJiYWdlKCZtQWxs
b2NhdGlvbik7CiB9CiAKIHZvaWQgU3RhZ2luZ0J1ZmZlcjo6Y29sbGVjdEdhcmJhZ2UoUmVuZGVy
ZXJWayAqcmVuZGVyZXIsIFNlcmlhbCBzZXJpYWwpCiB7CiAgICAgdms6OkdhcmJhZ2VMaXN0IGdh
cmJhZ2VMaXN0OwogICAgIGdhcmJhZ2VMaXN0LmVtcGxhY2VfYmFjayh2azo6R2V0R2FyYmFnZSgm
bUJ1ZmZlcikpOwotICAgIGdhcmJhZ2VMaXN0LmVtcGxhY2VfYmFjayh2azo6R2V0R2FyYmFnZSgm
bURldmljZU1lbW9yeSkpOworICAgIGdhcmJhZ2VMaXN0LmVtcGxhY2VfYmFjayh2azo6R2V0R2Fy
YmFnZSgmbUFsbG9jYXRpb24pKTsKIAogICAgIHZrOjpTaGFyZWRSZXNvdXJjZVVzZSBzaGFyZWRV
c2U7CiAgICAgc2hhcmVkVXNlLmluaXQoKTsKQEAgLTQzMCwxMCArNDQxLDMxIEBAIHZvaWQgU3Rh
Z2luZ0J1ZmZlcjo6Y29sbGVjdEdhcmJhZ2UoUmVuZGVyZXJWayAqcmVuZGVyZXIsIFNlcmlhbCBz
ZXJpYWwpCiAgICAgcmVuZGVyZXItPmNvbGxlY3RHYXJiYWdlKHN0ZDo6bW92ZShzaGFyZWRVc2Up
LCBzdGQ6Om1vdmUoZ2FyYmFnZUxpc3QpKTsKIH0KIAorYW5nbGU6OlJlc3VsdCBJbml0TWFwcGFi
bGVBbGxvY2F0aW9uKFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQWxsb2NhdGlvbiAqYWxsb2NhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgc2l6ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIG1lbW9yeVByb3BlcnR5RmxhZ3Mp
Cit7CisgICAgdWludDhfdCAqbWFwUG9pbnRlcjsKKyAgICBhbGxvY2F0aW9uLT5tYXAoYWxsb2Nh
dG9yLCAmbWFwUG9pbnRlcik7CisgICAgbWVtc2V0KG1hcFBvaW50ZXIsIHZhbHVlLCBzdGF0aWNf
Y2FzdDxzaXplX3Q+KHNpemUpKTsKKworICAgIGlmICgobWVtb3J5UHJvcGVydHlGbGFncyAmIFZL
X01FTU9SWV9QUk9QRVJUWV9IT1NUX0NPSEVSRU5UX0JJVCkgPT0gMCkKKyAgICB7CisgICAgICAg
IGFsbG9jYXRpb24tPmZsdXNoKGFsbG9jYXRvciwgMCwgc2l6ZSk7CisgICAgfQorCisgICAgYWxs
b2NhdGlvbi0+dW5tYXAoYWxsb2NhdG9yKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKK30KKwogYW5nbGU6OlJlc3VsdCBJbml0TWFwcGFibGVEZXZpY2VNZW1vcnkoQ29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERl
dmljZU1lbW9yeSAqZGV2aWNlTWVtb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVmtEZXZpY2VTaXplIHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
a01lbW9yeVByb3BlcnR5RmxhZ3MgbWVtb3J5UHJvcGVydHlGbGFncykKIHsKICAgICBWa0Rldmlj
ZSBkZXZpY2UgPSBjb250ZXh0LT5nZXREZXZpY2UoKTsKIApAQCAtNDQxLDExICs0NzMsMTUgQEAg
YW5nbGU6OlJlc3VsdCBJbml0TWFwcGFibGVEZXZpY2VNZW1vcnkoQ29udGV4dCAqY29udGV4dCwK
ICAgICBBTkdMRV9WS19UUlkoY29udGV4dCwgZGV2aWNlTWVtb3J5LT5tYXAoZGV2aWNlLCAwLCBW
S19XSE9MRV9TSVpFLCAwLCAmbWFwUG9pbnRlcikpOwogICAgIG1lbXNldChtYXBQb2ludGVyLCB2
YWx1ZSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzaXplKSk7CiAKLSAgICBWa01hcHBlZE1lbW9yeVJh
bmdlIG1hcHBlZFJhbmdlID0ge307Ci0gICAgbWFwcGVkUmFuZ2Uuc1R5cGUgICAgICAgICAgICAg
ICA9IFZLX1NUUlVDVFVSRV9UWVBFX01BUFBFRF9NRU1PUllfUkFOR0U7Ci0gICAgbWFwcGVkUmFu
Z2UubWVtb3J5ICAgICAgICAgICAgICA9IGRldmljZU1lbW9yeS0+Z2V0SGFuZGxlKCk7Ci0gICAg
bWFwcGVkUmFuZ2Uuc2l6ZSAgICAgICAgICAgICAgICA9IFZLX1dIT0xFX1NJWkU7Ci0gICAgQU5H
TEVfVktfVFJZKGNvbnRleHQsIHZrRmx1c2hNYXBwZWRNZW1vcnlSYW5nZXMoZGV2aWNlLCAxLCAm
bWFwcGVkUmFuZ2UpKTsKKyAgICAvLyBpZiB0aGUgbWVtb3J5IHR5cGUgaXMgbm90IGhvc3QgY29o
ZXJlbnQsIHdlIHBlcmZvcm0gYW4gZXhwbGljaXQgZmx1c2gKKyAgICBpZiAoKG1lbW9yeVByb3Bl
cnR5RmxhZ3MgJiBWS19NRU1PUllfUFJPUEVSVFlfSE9TVF9DT0hFUkVOVF9CSVQpID09IDApCisg
ICAgeworICAgICAgICBWa01hcHBlZE1lbW9yeVJhbmdlIG1hcHBlZFJhbmdlID0ge307CisgICAg
ICAgIG1hcHBlZFJhbmdlLnNUeXBlICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9N
QVBQRURfTUVNT1JZX1JBTkdFOworICAgICAgICBtYXBwZWRSYW5nZS5tZW1vcnkgICAgICAgICAg
ICAgID0gZGV2aWNlTWVtb3J5LT5nZXRIYW5kbGUoKTsKKyAgICAgICAgbWFwcGVkUmFuZ2Uuc2l6
ZSAgICAgICAgICAgICAgICA9IFZLX1dIT0xFX1NJWkU7CisgICAgICAgIEFOR0xFX1ZLX1RSWShj
b250ZXh0LCB2a0ZsdXNoTWFwcGVkTWVtb3J5UmFuZ2VzKGRldmljZSwgMSwgJm1hcHBlZFJhbmdl
KSk7CisgICAgfQogCiAgICAgZGV2aWNlTWVtb3J5LT51bm1hcChkZXZpY2UpOwogCkBAIC01NTMs
OCArNTg5LDkgQEAgR2FyYmFnZU9iamVjdCAmR2FyYmFnZU9iamVjdDo6b3BlcmF0b3I9KEdhcmJh
Z2VPYmplY3QgJiZyaHMpCiAvLyBHYXJiYWdlT2JqZWN0IGltcGxlbWVudGF0aW9uCiAvLyBVc2lu
ZyBjLXN0eWxlIGNhc3RzIGhlcmUgdG8gYXZvaWQgY29uZGl0aW9uYWwgY29tcGlsZSBmb3IgTVNW
QyAzMi1iaXQKIC8vICB3aGljaCBmYWlscyB0byBjb21waWxlIHdpdGggcmVpbnRlcnByZXRfY2Fz
dCwgcmVxdWlyaW5nIHN0YXRpY19jYXN0Lgotdm9pZCBHYXJiYWdlT2JqZWN0OjpkZXN0cm95KFZr
RGV2aWNlIGRldmljZSkKK3ZvaWQgR2FyYmFnZU9iamVjdDo6ZGVzdHJveShSZW5kZXJlclZrICpy
ZW5kZXJlcikKIHsKKyAgICBWa0RldmljZSBkZXZpY2UgPSByZW5kZXJlci0+Z2V0RGV2aWNlKCk7
CiAgICAgc3dpdGNoIChtSGFuZGxlVHlwZSkKICAgICB7CiAgICAgICAgIGNhc2UgSGFuZGxlVHlw
ZTo6U2VtYXBob3JlOgpAQCAtNjE1LDEwICs2NTIsMTUgQEAgdm9pZCBHYXJiYWdlT2JqZWN0Ojpk
ZXN0cm95KFZrRGV2aWNlIGRldmljZSkKICAgICAgICAgY2FzZSBIYW5kbGVUeXBlOjpRdWVyeVBv
b2w6CiAgICAgICAgICAgICB2a0Rlc3Ryb3lRdWVyeVBvb2woZGV2aWNlLCAoVmtRdWVyeVBvb2wp
bUhhbmRsZSwgbnVsbHB0cik7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBIYW5k
bGVUeXBlOjpBbGxvY2F0aW9uOgorICAgICAgICAgICAgdm1hOjpGcmVlTWVtb3J5KHJlbmRlcmVy
LT5nZXRBbGxvY2F0b3IoKSwgKFZtYUFsbG9jYXRpb24pbUhhbmRsZSk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICB9CisKKyAgICByZW5kZXJlci0+Z2V0QWN0aXZlSGFuZGxlQ291
bnRzKCkub25EZWFsbG9jYXRlKG1IYW5kbGVUeXBlKTsKIH0KIAogdm9pZCBNYWtlRGVidWdVdGls
c0xhYmVsKEdMZW51bSBzb3VyY2UsIGNvbnN0IGNoYXIgKm1hcmtlciwgVmtEZWJ1Z1V0aWxzTGFi
ZWxFWFQgKmxhYmVsKQpAQCAtNjQwLDggKzY4MiwyMDEgQEAgdm9pZCBNYWtlRGVidWdVdGlsc0xh
YmVsKEdMZW51bSBzb3VyY2UsIGNvbnN0IGNoYXIgKm1hcmtlciwgVmtEZWJ1Z1V0aWxzTGFiZWxF
WFQKICAgICBsYWJlbC0+cExhYmVsTmFtZSA9IG1hcmtlcjsKICAgICBrTGFiZWxDb2xvcnNbY29s
b3JJbmRleF0ud3JpdGVEYXRhKGxhYmVsLT5jb2xvcik7CiB9CisKKy8vIENsZWFyVmFsdWVzQXJy
YXkgaW1wbGVtZW50YXRpb24uCitDbGVhclZhbHVlc0FycmF5OjpDbGVhclZhbHVlc0FycmF5KCkg
OiBtVmFsdWVze30sIG1FbmFibGVke30ge30KKworQ2xlYXJWYWx1ZXNBcnJheTo6fkNsZWFyVmFs
dWVzQXJyYXkoKSA9IGRlZmF1bHQ7CisKK0NsZWFyVmFsdWVzQXJyYXk6OkNsZWFyVmFsdWVzQXJy
YXkoY29uc3QgQ2xlYXJWYWx1ZXNBcnJheSAmb3RoZXIpID0gZGVmYXVsdDsKKworQ2xlYXJWYWx1
ZXNBcnJheSAmQ2xlYXJWYWx1ZXNBcnJheTo6b3BlcmF0b3I9KGNvbnN0IENsZWFyVmFsdWVzQXJy
YXkgJnJocykgPSBkZWZhdWx0OworCit2b2lkIENsZWFyVmFsdWVzQXJyYXk6OnN0b3JlKHVpbnQz
Ml90IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlQXNwZWN0Rmxh
Z3MgYXNwZWN0RmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xl
YXJWYWx1ZSAmY2xlYXJWYWx1ZSkKK3sKKyAgICBBU1NFUlQoYXNwZWN0RmxhZ3MgIT0gMCk7CisK
KyAgICAvLyBXZSBkbyB0aGlzIGRvdWJsZSBpZiB0byBoYW5kbGUgdGhlIHBhY2tlZCBkZXB0aC1z
dGVuY2lsIGNhc2UuCisgICAgaWYgKChhc3BlY3RGbGFncyAmIFZLX0lNQUdFX0FTUEVDVF9TVEVO
Q0lMX0JJVCkgIT0gMCkKKyAgICB7CisgICAgICAgIC8vIEVuc3VyZSBmb3IgcGFja2VkIERTIHdl
J3JlIHdyaXRpbmcgdG8gdGhlIGRlcHRoIGluZGV4LgorICAgICAgICBBU1NFUlQoaW5kZXggPT0g
a0NsZWFyVmFsdWVEZXB0aEluZGV4IHx8CisgICAgICAgICAgICAgICAoaW5kZXggPT0ga0NsZWFy
VmFsdWVTdGVuY2lsSW5kZXggJiYgYXNwZWN0RmxhZ3MgPT0gVktfSU1BR0VfQVNQRUNUX1NURU5D
SUxfQklUKSk7CisgICAgICAgIG1WYWx1ZXNba0NsZWFyVmFsdWVTdGVuY2lsSW5kZXhdID0gY2xl
YXJWYWx1ZTsKKyAgICAgICAgbUVuYWJsZWQuc2V0KGtDbGVhclZhbHVlU3RlbmNpbEluZGV4KTsK
KyAgICB9CisKKyAgICBpZiAoYXNwZWN0RmxhZ3MgIT0gVktfSU1BR0VfQVNQRUNUX1NURU5DSUxf
QklUKQorICAgIHsKKyAgICAgICAgbVZhbHVlc1tpbmRleF0gPSBjbGVhclZhbHVlOworICAgICAg
ICBtRW5hYmxlZC5zZXQoaW5kZXgpOworICAgIH0KK30KIH0gIC8vIG5hbWVzcGFjZSB2awogCisj
aWYgIWRlZmluZWQoQU5HTEVfU0hBUkVEX0xJQlZVTEtBTikKKy8vIFZLX0VYVF9kZWJ1Z191dGls
cworUEZOX3ZrQ3JlYXRlRGVidWdVdGlsc01lc3NlbmdlckVYVCB2a0NyZWF0ZURlYnVnVXRpbHNN
ZXNzZW5nZXJFWFQgICA9IG51bGxwdHI7CitQRk5fdmtEZXN0cm95RGVidWdVdGlsc01lc3Nlbmdl
ckVYVCB2a0Rlc3Ryb3lEZWJ1Z1V0aWxzTWVzc2VuZ2VyRVhUID0gbnVsbHB0cjsKK1BGTl92a0Nt
ZEJlZ2luRGVidWdVdGlsc0xhYmVsRVhUIHZrQ21kQmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQgICAg
ICAgPSBudWxscHRyOworUEZOX3ZrQ21kRW5kRGVidWdVdGlsc0xhYmVsRVhUIHZrQ21kRW5kRGVi
dWdVdGlsc0xhYmVsRVhUICAgICAgICAgICA9IG51bGxwdHI7CitQRk5fdmtDbWRJbnNlcnREZWJ1
Z1V0aWxzTGFiZWxFWFQgdmtDbWRJbnNlcnREZWJ1Z1V0aWxzTGFiZWxFWFQgICAgID0gbnVsbHB0
cjsKKworLy8gVktfRVhUX2RlYnVnX3JlcG9ydAorUEZOX3ZrQ3JlYXRlRGVidWdSZXBvcnRDYWxs
YmFja0VYVCB2a0NyZWF0ZURlYnVnUmVwb3J0Q2FsbGJhY2tFWFQgICA9IG51bGxwdHI7CitQRk5f
dmtEZXN0cm95RGVidWdSZXBvcnRDYWxsYmFja0VYVCB2a0Rlc3Ryb3lEZWJ1Z1JlcG9ydENhbGxi
YWNrRVhUID0gbnVsbHB0cjsKKworLy8gVktfS0hSX2dldF9waHlzaWNhbF9kZXZpY2VfcHJvcGVy
dGllczIKK1BGTl92a0dldFBoeXNpY2FsRGV2aWNlUHJvcGVydGllczJLSFIgdmtHZXRQaHlzaWNh
bERldmljZVByb3BlcnRpZXMyS0hSID0gbnVsbHB0cjsKK1BGTl92a0dldFBoeXNpY2FsRGV2aWNl
RmVhdHVyZXMyS0hSIHZrR2V0UGh5c2ljYWxEZXZpY2VGZWF0dXJlczJLSFIgICAgID0gbnVsbHB0
cjsKKworLy8gVktfS0hSX2V4dGVybmFsX3NlbWFwaG9yZV9mZAorUEZOX3ZrSW1wb3J0U2VtYXBo
b3JlRmRLSFIgdmtJbXBvcnRTZW1hcGhvcmVGZEtIUiA9IG51bGxwdHI7CisKKy8vIFZLX0VYVF9l
eHRlcm5hbF9tZW1vcnlfaG9zdAorUEZOX3ZrR2V0TWVtb3J5SG9zdFBvaW50ZXJQcm9wZXJ0aWVz
RVhUIHZrR2V0TWVtb3J5SG9zdFBvaW50ZXJQcm9wZXJ0aWVzRVhUID0gbnVsbHB0cjsKKworLy8g
VktfRVhUX3RyYW5zZm9ybV9mZWVkYmFjaworUEZOX3ZrQ21kQmluZFRyYW5zZm9ybUZlZWRiYWNr
QnVmZmVyc0VYVCB2a0NtZEJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNFWFQgPSBudWxscHRy
OworUEZOX3ZrQ21kQmVnaW5UcmFuc2Zvcm1GZWVkYmFja0VYVCB2a0NtZEJlZ2luVHJhbnNmb3Jt
RmVlZGJhY2tFWFQgICAgICAgICAgICAgPSBudWxscHRyOworUEZOX3ZrQ21kRW5kVHJhbnNmb3Jt
RmVlZGJhY2tFWFQgdmtDbWRFbmRUcmFuc2Zvcm1GZWVkYmFja0VYVCAgICAgICAgICAgICAgICAg
PSBudWxscHRyOworUEZOX3ZrQ21kQmVnaW5RdWVyeUluZGV4ZWRFWFQgdmtDbWRCZWdpblF1ZXJ5
SW5kZXhlZEVYVCAgICAgICAgICAgICAgICAgICAgICAgPSBudWxscHRyOworUEZOX3ZrQ21kRW5k
UXVlcnlJbmRleGVkRVhUIHZrQ21kRW5kUXVlcnlJbmRleGVkRVhUICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSBudWxscHRyOworUEZOX3ZrQ21kRHJhd0luZGlyZWN0Qnl0ZUNvdW50RVhUIHZr
Q21kRHJhd0luZGlyZWN0Qnl0ZUNvdW50RVhUICAgICAgICAgICAgICAgPSBudWxscHRyOworCitQ
Rk5fdmtHZXRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMyS0hSIHZrR2V0QnVmZmVyTWVtb3J5UmVx
dWlyZW1lbnRzMktIUiA9IG51bGxwdHI7CitQRk5fdmtHZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50
czJLSFIgdmtHZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50czJLSFIgICA9IG51bGxwdHI7CisKKy8v
IFZLX0tIUl9leHRlcm5hbF9mZW5jZV9jYXBhYmlsaXRpZXMKK1BGTl92a0dldFBoeXNpY2FsRGV2
aWNlRXh0ZXJuYWxGZW5jZVByb3BlcnRpZXNLSFIgdmtHZXRQaHlzaWNhbERldmljZUV4dGVybmFs
RmVuY2VQcm9wZXJ0aWVzS0hSID0KKyAgICBudWxscHRyOworCisvLyBWS19LSFJfZXh0ZXJuYWxf
ZmVuY2VfZmQKK1BGTl92a0dldEZlbmNlRmRLSFIgdmtHZXRGZW5jZUZkS0hSICAgICAgID0gbnVs
bHB0cjsKK1BGTl92a0ltcG9ydEZlbmNlRmRLSFIgdmtJbXBvcnRGZW5jZUZkS0hSID0gbnVsbHB0
cjsKKworLy8gVktfS0hSX2V4dGVybmFsX3NlbWFwaG9yZV9jYXBhYmlsaXRpZXMKK1BGTl92a0dl
dFBoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzS0hSCisgICAgdmtHZXRQ
aHlzaWNhbERldmljZUV4dGVybmFsU2VtYXBob3JlUHJvcGVydGllc0tIUiA9IG51bGxwdHI7CisK
KyMgICAgaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9GVUNIU0lBKQorLy8gVktfRlVDSFNJQV9p
bWFnZXBpcGVfc3VyZmFjZQorUEZOX3ZrQ3JlYXRlSW1hZ2VQaXBlU3VyZmFjZUZVQ0hTSUEgdmtD
cmVhdGVJbWFnZVBpcGVTdXJmYWNlRlVDSFNJQSA9IG51bGxwdHI7CisjICAgIGVuZGlmCisKKyMg
ICAgaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQorUEZOX3ZrR2V0QW5kcm9pZEhh
cmR3YXJlQnVmZmVyUHJvcGVydGllc0FORFJPSUQgdmtHZXRBbmRyb2lkSGFyZHdhcmVCdWZmZXJQ
cm9wZXJ0aWVzQU5EUk9JRCA9CisgICAgbnVsbHB0cjsKK1BGTl92a0dldE1lbW9yeUFuZHJvaWRI
YXJkd2FyZUJ1ZmZlckFORFJPSUQgdmtHZXRNZW1vcnlBbmRyb2lkSGFyZHdhcmVCdWZmZXJBTkRS
T0lEID0gbnVsbHB0cjsKKyMgICAgZW5kaWYKKworIyAgICBpZiBkZWZpbmVkKEFOR0xFX1BMQVRG
T1JNX0dHUCkKK1BGTl92a0NyZWF0ZVN0cmVhbURlc2NyaXB0b3JTdXJmYWNlR0dQIHZrQ3JlYXRl
U3RyZWFtRGVzY3JpcHRvclN1cmZhY2VHR1AgPSBudWxscHRyOworIyAgICBlbmRpZgorCisjICAg
IGRlZmluZSBHRVRfSU5TVEFOQ0VfRlVOQyh2a05hbWUpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZG8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICB2a05hbWUgPSByZWludGVycHJldF9jYXN0PFBGTl8jI3ZrTmFtZT4o
dmtHZXRJbnN0YW5jZVByb2NBZGRyKGluc3RhbmNlLCAjdmtOYW1lKSk7IFwKKyAgICAgICAgICAg
IEFTU0VSVCh2a05hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9IHdoaWxlICgwKQorCisjICAg
IGRlZmluZSBHRVRfREVWSUNFX0ZVTkModmtOYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBkbyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICB2a05hbWUgPSByZWludGVycHJldF9jYXN0PFBGTl8jI3ZrTmFtZT4odmtHZXREZXZpY2VQ
cm9jQWRkcihkZXZpY2UsICN2a05hbWUpKTsgXAorICAgICAgICAgICAgQVNTRVJUKHZrTmFtZSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgfSB3aGlsZSAoMCkKKwordm9pZCBJbml0RGVidWdVdGlsc0VYVEZ1
bmN0aW9ucyhWa0luc3RhbmNlIGluc3RhbmNlKQoreworICAgIEdFVF9JTlNUQU5DRV9GVU5DKHZr
Q3JlYXRlRGVidWdVdGlsc01lc3NlbmdlckVYVCk7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtE
ZXN0cm95RGVidWdVdGlsc01lc3NlbmdlckVYVCk7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtD
bWRCZWdpbkRlYnVnVXRpbHNMYWJlbEVYVCk7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtDbWRF
bmREZWJ1Z1V0aWxzTGFiZWxFWFQpOworICAgIEdFVF9JTlNUQU5DRV9GVU5DKHZrQ21kSW5zZXJ0
RGVidWdVdGlsc0xhYmVsRVhUKTsKK30KKwordm9pZCBJbml0RGVidWdSZXBvcnRFWFRGdW5jdGlv
bnMoVmtJbnN0YW5jZSBpbnN0YW5jZSkKK3sKKyAgICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0NyZWF0
ZURlYnVnUmVwb3J0Q2FsbGJhY2tFWFQpOworICAgIEdFVF9JTlNUQU5DRV9GVU5DKHZrRGVzdHJv
eURlYnVnUmVwb3J0Q2FsbGJhY2tFWFQpOworfQorCit2b2lkIEluaXRHZXRQaHlzaWNhbERldmlj
ZVByb3BlcnRpZXMyS0hSRnVuY3Rpb25zKFZrSW5zdGFuY2UgaW5zdGFuY2UpCit7CisgICAgR0VU
X0lOU1RBTkNFX0ZVTkModmtHZXRQaHlzaWNhbERldmljZVByb3BlcnRpZXMyS0hSKTsKKyAgICBH
RVRfSU5TVEFOQ0VfRlVOQyh2a0dldFBoeXNpY2FsRGV2aWNlRmVhdHVyZXMyS0hSKTsKK30KKwor
dm9pZCBJbml0VHJhbnNmb3JtRmVlZGJhY2tFWFRGdW5jdGlvbnMoVmtEZXZpY2UgZGV2aWNlKQor
eworICAgIEdFVF9ERVZJQ0VfRlVOQyh2a0NtZEJpbmRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcnNF
WFQpOworICAgIEdFVF9ERVZJQ0VfRlVOQyh2a0NtZEJlZ2luVHJhbnNmb3JtRmVlZGJhY2tFWFQp
OworICAgIEdFVF9ERVZJQ0VfRlVOQyh2a0NtZEVuZFRyYW5zZm9ybUZlZWRiYWNrRVhUKTsKKyAg
ICBHRVRfREVWSUNFX0ZVTkModmtDbWRCZWdpblF1ZXJ5SW5kZXhlZEVYVCk7CisgICAgR0VUX0RF
VklDRV9GVU5DKHZrQ21kRW5kUXVlcnlJbmRleGVkRVhUKTsKKyAgICBHRVRfREVWSUNFX0ZVTkMo
dmtDbWREcmF3SW5kaXJlY3RCeXRlQ291bnRFWFQpOworfQorCisjICAgIGlmIGRlZmluZWQoQU5H
TEVfUExBVEZPUk1fRlVDSFNJQSkKK3ZvaWQgSW5pdEltYWdlUGlwZVN1cmZhY2VGVUNIU0lBRnVu
Y3Rpb25zKFZrSW5zdGFuY2UgaW5zdGFuY2UpCit7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtD
cmVhdGVJbWFnZVBpcGVTdXJmYWNlRlVDSFNJQSk7Cit9CisjICAgIGVuZGlmCisKKyMgICAgaWYg
ZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQordm9pZCBJbml0RXh0ZXJuYWxNZW1vcnlI
YXJkd2FyZUJ1ZmZlckFORFJPSURGdW5jdGlvbnMoVmtJbnN0YW5jZSBpbnN0YW5jZSkKK3sKKyAg
ICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0dldEFuZHJvaWRIYXJkd2FyZUJ1ZmZlclByb3BlcnRpZXNB
TkRST0lEKTsKKyAgICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0dldE1lbW9yeUFuZHJvaWRIYXJkd2Fy
ZUJ1ZmZlckFORFJPSUQpOworfQorIyAgICBlbmRpZgorCisjICAgIGlmIGRlZmluZWQoQU5HTEVf
UExBVEZPUk1fR0dQKQordm9pZCBJbml0R0dQU3RyZWFtRGVzY3JpcHRvclN1cmZhY2VGdW5jdGlv
bnMoVmtJbnN0YW5jZSBpbnN0YW5jZSkKK3sKKyAgICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0NyZWF0
ZVN0cmVhbURlc2NyaXB0b3JTdXJmYWNlR0dQKTsKK30KKyMgICAgZW5kaWYgIC8vIGRlZmluZWQo
QU5HTEVfUExBVEZPUk1fR0dQKQorCit2b2lkIEluaXRFeHRlcm5hbFNlbWFwaG9yZUZkRnVuY3Rp
b25zKFZrSW5zdGFuY2UgaW5zdGFuY2UpCit7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtJbXBv
cnRTZW1hcGhvcmVGZEtIUik7Cit9CisKK3ZvaWQgSW5pdEV4dGVybmFsTWVtb3J5SG9zdEZ1bmN0
aW9ucyhWa0luc3RhbmNlIGluc3RhbmNlKQoreworICAgIEdFVF9JTlNUQU5DRV9GVU5DKHZrR2V0
TWVtb3J5SG9zdFBvaW50ZXJQcm9wZXJ0aWVzRVhUKTsKK30KKworLy8gVktfS0hSX2V4dGVybmFs
X2ZlbmNlX2NhcGFiaWxpdGllcwordm9pZCBJbml0RXh0ZXJuYWxGZW5jZUNhcGFiaWxpdGllc0Z1
bmN0aW9ucyhWa0luc3RhbmNlIGluc3RhbmNlKQoreworICAgIEdFVF9JTlNUQU5DRV9GVU5DKHZr
R2V0UGh5c2ljYWxEZXZpY2VFeHRlcm5hbEZlbmNlUHJvcGVydGllc0tIUik7Cit9CisKKy8vIFZL
X0tIUl9leHRlcm5hbF9mZW5jZV9mZAordm9pZCBJbml0RXh0ZXJuYWxGZW5jZUZkRnVuY3Rpb25z
KFZrSW5zdGFuY2UgaW5zdGFuY2UpCit7CisgICAgR0VUX0lOU1RBTkNFX0ZVTkModmtHZXRGZW5j
ZUZkS0hSKTsKKyAgICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0ltcG9ydEZlbmNlRmRLSFIpOworfQor
CisvLyBWS19LSFJfZXh0ZXJuYWxfc2VtYXBob3JlX2NhcGFiaWxpdGllcwordm9pZCBJbml0RXh0
ZXJuYWxTZW1hcGhvcmVDYXBhYmlsaXRpZXNGdW5jdGlvbnMoVmtJbnN0YW5jZSBpbnN0YW5jZSkK
K3sKKyAgICBHRVRfSU5TVEFOQ0VfRlVOQyh2a0dldFBoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1h
cGhvcmVQcm9wZXJ0aWVzS0hSKTsKK30KKworIyAgICB1bmRlZiBHRVRfSU5TVEFOQ0VfRlVOQwor
IyAgICB1bmRlZiBHRVRfREVWSUNFX0ZVTkMKKworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9T
SEFSRURfTElCVlVMS0FOKQorCiBuYW1lc3BhY2UgZ2xfdmsKIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a191dGls
cy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi92a191dGlscy5oCmluZGV4IGJkNjFkOTYyNGFiYmY2YmY2MzJiYTVlNTZmNjg0MzQyNzk1Njdk
MWEuLjJhZjYyZDg1NTI4YzhjMGI3YTAyOGE1YTA3NzhlZjUyOGVmMDgxZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtf
dXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL3ZrX3V0aWxzLmgKQEAgLTMzLDYgKzMzLDcgQEAKICAgICBQUk9DKFF1ZXJ5KSAg
ICAgICAgICAgICAgICAgIFwKICAgICBQUk9DKE92ZXJsYXkpICAgICAgICAgICAgICAgIFwKICAg
ICBQUk9DKFByb2dyYW0pICAgICAgICAgICAgICAgIFwKKyAgICBQUk9DKFByb2dyYW1QaXBlbGlu
ZSkgICAgICAgIFwKICAgICBQUk9DKFNhbXBsZXIpICAgICAgICAgICAgICAgIFwKICAgICBQUk9D
KFNlbWFwaG9yZSkgICAgICAgICAgICAgIFwKICAgICBQUk9DKFRleHR1cmUpICAgICAgICAgICAg
ICAgIFwKQEAgLTExNiwxNyArMTE3LDYgQEAgdm9pZCBBZGRUb1BOZXh0Q2hhaW4oVnVsa2FuU3Ry
dWN0MSAqY2hhaW5TdGFydCwgVnVsa2FuU3RydWN0MiAqcHRyKQogICAgIGxvY2FsUHRyLT5wTmV4
dCAgICAgICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFZrQmFzZU91dFN0cnVjdHVyZSAqPihw
dHIpOwogfQogCi1leHRlcm4gY29uc3QgY2hhciAqZ0xvYWRlckxheWVyc1BhdGhFbnY7Ci1leHRl
cm4gY29uc3QgY2hhciAqZ0xvYWRlcklDREZpbGVuYW1lc0VudjsKLWV4dGVybiBjb25zdCBjaGFy
ICpnQU5HTEVQcmVmZXJyZWREZXZpY2U7Ci0KLWVudW0gY2xhc3MgSUNECi17Ci0gICAgRGVmYXVs
dCwKLSAgICBNb2NrLAotICAgIFN3aWZ0U2hhZGVyLAotfTsKLQogLy8gQWJzdHJhY3RzIGVycm9y
IGhhbmRsaW5nLiBJbXBsZW1lbnRlZCBieSBib3RoIENvbnRleHRWayBmb3IgR0wgYW5kIERpc3Bs
YXlWayBmb3IgRUdMIGVycm9ycy4KIGNsYXNzIENvbnRleHQgOiBhbmdsZTo6Tm9uQ29weWFibGUK
IHsKQEAgLTE0MSw2ICsxMzEsMTAgQEAgY2xhc3MgQ29udGV4dCA6IGFuZ2xlOjpOb25Db3B5YWJs
ZQogICAgIFZrRGV2aWNlIGdldERldmljZSgpIGNvbnN0OwogICAgIFJlbmRlcmVyVmsgKmdldFJl
bmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbVJlbmRlcmVyOyB9CiAKKyAgICAvLyBUaGlzIGlzIGEg
c3BlY2lhbCBvdmVycmlkZSBuZWVkZWQgc28gd2UgY2FuIGRldGVybWluZSBpZiB3ZSBuZWVkIHRv
IGluaXRpYWxpemUgaW1hZ2VzLgorICAgIC8vIEl0IGNvcnJlc3BvbmRzIHRvIHRoZSBFR0wgb3Ig
R0wgZXh0ZW5zaW9ucyBkZXBlbmRpbmcgb24gdGhlIHZrOjpDb250ZXh0IHR5cGUuCisgICAgdmly
dHVhbCBib29sIGlzUm9idXN0UmVzb3VyY2VJbml0RW5hYmxlZCgpIGNvbnN0ID0gMDsKKwogICBw
cm90ZWN0ZWQ6CiAgICAgUmVuZGVyZXJWayAqY29uc3QgbVJlbmRlcmVyOwogfTsKQEAgLTI1MCw3
ICsyNDQsNyBAQCBjbGFzcyBHYXJiYWdlT2JqZWN0CiAgICAgR2FyYmFnZU9iamVjdCAmb3BlcmF0
b3I9KEdhcmJhZ2VPYmplY3QgJiZyaHMpOwogCiAgICAgYm9vbCB2YWxpZCgpIGNvbnN0IHsgcmV0
dXJuIG1IYW5kbGUgIT0gVktfTlVMTF9IQU5ETEU7IH0KLSAgICB2b2lkIGRlc3Ryb3koVmtEZXZp
Y2UgZGV2aWNlKTsKKyAgICB2b2lkIGRlc3Ryb3koUmVuZGVyZXJWayAqcmVuZGVyZXIpOwogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIERlcml2ZWRULCB0eXBlbmFtZSBIYW5kbGVUPgogICAgIHN0
YXRpYyBHYXJiYWdlT2JqZWN0IEdldChXcmFwcGVkT2JqZWN0PERlcml2ZWRULCBIYW5kbGVUPiAq
b2JqZWN0KQpAQCAtMzA5LDI2ICszMDMsMzEgQEAgY2xhc3MgU3RhZ2luZ0J1ZmZlciBmaW5hbCA6
IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIFN0YWdpbmdCdWZmZXIoKTsKICAgICB2b2lkIHJlbGVh
c2UoQ29udGV4dFZrICpjb250ZXh0VmspOwogICAgIHZvaWQgY29sbGVjdEdhcmJhZ2UoUmVuZGVy
ZXJWayAqcmVuZGVyZXIsIFNlcmlhbCBzZXJpYWwpOwotICAgIHZvaWQgZGVzdHJveShWa0Rldmlj
ZSBkZXZpY2UpOworICAgIHZvaWQgZGVzdHJveShSZW5kZXJlclZrICpyZW5kZXJlcik7CiAKICAg
ICBhbmdsZTo6UmVzdWx0IGluaXQoQ29udGV4dCAqY29udGV4dCwgVmtEZXZpY2VTaXplIHNpemUs
IFN0YWdpbmdVc2FnZSB1c2FnZSk7CiAKICAgICBCdWZmZXIgJmdldEJ1ZmZlcigpIHsgcmV0dXJu
IG1CdWZmZXI7IH0KICAgICBjb25zdCBCdWZmZXIgJmdldEJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJu
IG1CdWZmZXI7IH0KLSAgICBEZXZpY2VNZW1vcnkgJmdldERldmljZU1lbW9yeSgpIHsgcmV0dXJu
IG1EZXZpY2VNZW1vcnk7IH0KLSAgICBjb25zdCBEZXZpY2VNZW1vcnkgJmdldERldmljZU1lbW9y
eSgpIGNvbnN0IHsgcmV0dXJuIG1EZXZpY2VNZW1vcnk7IH0KICAgICBzaXplX3QgZ2V0U2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1TaXplOyB9CiAKICAgcHJpdmF0ZToKICAgICBCdWZmZXIgbUJ1ZmZl
cjsKLSAgICBEZXZpY2VNZW1vcnkgbURldmljZU1lbW9yeTsKKyAgICBBbGxvY2F0aW9uIG1BbGxv
Y2F0aW9uOwogICAgIHNpemVfdCBtU2l6ZTsKIH07CiAKK2FuZ2xlOjpSZXN1bHQgSW5pdE1hcHBh
YmxlQWxsb2NhdGlvbihWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEFsbG9jYXRpb24gKmFsbGNhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgc2l6ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIG1lbW9yeVByb3BlcnR5RmxhZ3Mp
OworCiBhbmdsZTo6UmVzdWx0IEluaXRNYXBwYWJsZURldmljZU1lbW9yeSh2azo6Q29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpEZXZp
Y2VNZW1vcnkgKmRldmljZU1lbW9yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZrRGV2aWNlU2l6ZSBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZr
TWVtb3J5UHJvcGVydHlGbGFncyBtZW1vcnlQcm9wZXJ0eUZsYWdzKTsKIAogYW5nbGU6OlJlc3Vs
dCBBbGxvY2F0ZUJ1ZmZlck1lbW9yeShDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgcmVxdWVzdGVkTWVtb3J5
UHJvcGVydHlGbGFncywKQEAgLTYyNSw4ICs2MjQsOTIgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
CiB1c2luZyBTcGVjaWFsaXphdGlvbkNvbnN0YW50TWFwID0gYW5nbGU6OlBhY2tlZEVudW1NYXA8
c2g6OnZrOjpTcGVjaWFsaXphdGlvbkNvbnN0YW50SWQsIFQ+OwogCiB2b2lkIE1ha2VEZWJ1Z1V0
aWxzTGFiZWwoR0xlbnVtIHNvdXJjZSwgY29uc3QgY2hhciAqbWFya2VyLCBWa0RlYnVnVXRpbHNM
YWJlbEVYVCAqbGFiZWwpOworCitjb25zdGV4cHIgc2l6ZV90IGtDbGVhclZhbHVlRGVwdGhJbmRl
eCAgID0gZ2w6OklNUExFTUVOVEFUSU9OX01BWF9EUkFXX0JVRkZFUlM7Citjb25zdGV4cHIgc2l6
ZV90IGtDbGVhclZhbHVlU3RlbmNpbEluZGV4ID0gZ2w6OklNUExFTUVOVEFUSU9OX01BWF9EUkFX
X0JVRkZFUlMgKyAxOworCitjbGFzcyBDbGVhclZhbHVlc0FycmF5IGZpbmFsCit7CisgIHB1Ymxp
YzoKKyAgICBDbGVhclZhbHVlc0FycmF5KCk7CisgICAgfkNsZWFyVmFsdWVzQXJyYXkoKTsKKwor
ICAgIENsZWFyVmFsdWVzQXJyYXkoY29uc3QgQ2xlYXJWYWx1ZXNBcnJheSAmb3RoZXIpOworICAg
IENsZWFyVmFsdWVzQXJyYXkgJm9wZXJhdG9yPShjb25zdCBDbGVhclZhbHVlc0FycmF5ICZyaHMp
OworCisgICAgdm9pZCBzdG9yZSh1aW50MzJfdCBpbmRleCwgVmtJbWFnZUFzcGVjdEZsYWdzIGFz
cGVjdEZsYWdzLCBjb25zdCBWa0NsZWFyVmFsdWUgJmNsZWFyVmFsdWUpOworCisgICAgdm9pZCBy
ZXNldChzaXplX3QgaW5kZXgpCisgICAgeworICAgICAgICBtVmFsdWVzW2luZGV4XSA9IHt9Owor
ICAgICAgICBtRW5hYmxlZC5yZXNldChpbmRleCk7CisgICAgfQorCisgICAgYm9vbCB0ZXN0KHNp
emVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gbUVuYWJsZWQudGVzdChpbmRleCk7IH0KKyAgICBi
b29sIHRlc3REZXB0aCgpIGNvbnN0IHsgcmV0dXJuIG1FbmFibGVkLnRlc3Qoa0NsZWFyVmFsdWVE
ZXB0aEluZGV4KTsgfQorICAgIGJvb2wgdGVzdFN0ZW5jaWwoKSBjb25zdCB7IHJldHVybiBtRW5h
YmxlZC50ZXN0KGtDbGVhclZhbHVlU3RlbmNpbEluZGV4KTsgfQorCisgICAgY29uc3QgVmtDbGVh
clZhbHVlICZvcGVyYXRvcltdKHNpemVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gbVZhbHVlc1tp
bmRleF07IH0KKworICAgIGZsb2F0IGdldERlcHRoVmFsdWUoKSBjb25zdCB7IHJldHVybiBtVmFs
dWVzW2tDbGVhclZhbHVlRGVwdGhJbmRleF0uZGVwdGhTdGVuY2lsLmRlcHRoOyB9CisgICAgdWlu
dDMyX3QgZ2V0U3RlbmNpbFZhbHVlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtVmFs
dWVzW2tDbGVhclZhbHVlU3RlbmNpbEluZGV4XS5kZXB0aFN0ZW5jaWwuc3RlbmNpbDsKKyAgICB9
CisKKyAgICBjb25zdCBWa0NsZWFyVmFsdWUgKmRhdGEoKSBjb25zdCB7IHJldHVybiBtVmFsdWVz
LmRhdGEoKTsgfQorICAgIGJvb2wgZW1wdHkoKSBjb25zdCB7IHJldHVybiBtRW5hYmxlZC5ub25l
KCk7IH0KKworICAgIGdsOjpEcmF3QnVmZmVyTWFzayBnZXRFbmFibGVkQ29sb3JBdHRhY2htZW50
c01hc2soKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjpEcmF3QnVmZmVyTWFzayht
RW5hYmxlZC50b191bG9uZygpKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBnbDo6QXR0YWNo
bWVudEFycmF5PFZrQ2xlYXJWYWx1ZT4gbVZhbHVlczsKKyAgICBnbDo6QXR0YWNobWVudHNNYXNr
IG1FbmFibGVkOworfTsKIH0gIC8vIG5hbWVzcGFjZSB2awogCisjaWYgIWRlZmluZWQoQU5HTEVf
U0hBUkVEX0xJQlZVTEtBTikKKy8vIExhemlseSBsb2FkIGVudHJ5IHBvaW50cyBmb3IgZWFjaCBl
eHRlbnNpb24gYXMgbmVjZXNzYXJ5Lgordm9pZCBJbml0RGVidWdVdGlsc0VYVEZ1bmN0aW9ucyhW
a0luc3RhbmNlIGluc3RhbmNlKTsKK3ZvaWQgSW5pdERlYnVnUmVwb3J0RVhURnVuY3Rpb25zKFZr
SW5zdGFuY2UgaW5zdGFuY2UpOwordm9pZCBJbml0R2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVz
MktIUkZ1bmN0aW9ucyhWa0luc3RhbmNlIGluc3RhbmNlKTsKK3ZvaWQgSW5pdFRyYW5zZm9ybUZl
ZWRiYWNrRVhURnVuY3Rpb25zKFZrRGV2aWNlIGRldmljZSk7CisKKyMgICAgaWYgZGVmaW5lZChB
TkdMRV9QTEFURk9STV9GVUNIU0lBKQorLy8gVktfRlVDSFNJQV9pbWFnZXBpcGVfc3VyZmFjZQor
dm9pZCBJbml0SW1hZ2VQaXBlU3VyZmFjZUZVQ0hTSUFGdW5jdGlvbnMoVmtJbnN0YW5jZSBpbnN0
YW5jZSk7CisjICAgIGVuZGlmCisKKyMgICAgaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRS
T0lEKQorLy8gVktfQU5EUk9JRF9leHRlcm5hbF9tZW1vcnlfYW5kcm9pZF9oYXJkd2FyZV9idWZm
ZXIKK3ZvaWQgSW5pdEV4dGVybmFsTWVtb3J5SGFyZHdhcmVCdWZmZXJBTkRST0lERnVuY3Rpb25z
KFZrSW5zdGFuY2UgaW5zdGFuY2UpOworIyAgICBlbmRpZgorCisjICAgIGlmIGRlZmluZWQoQU5H
TEVfUExBVEZPUk1fR0dQKQorLy8gVktfR0dQX3N0cmVhbV9kZXNjcmlwdG9yX3N1cmZhY2UKK3Zv
aWQgSW5pdEdHUFN0cmVhbURlc2NyaXB0b3JTdXJmYWNlRnVuY3Rpb25zKFZrSW5zdGFuY2UgaW5z
dGFuY2UpOworIyAgICBlbmRpZiAgLy8gZGVmaW5lZChBTkdMRV9QTEFURk9STV9HR1ApCisKKy8v
IFZLX0tIUl9leHRlcm5hbF9zZW1hcGhvcmVfZmQKK3ZvaWQgSW5pdEV4dGVybmFsU2VtYXBob3Jl
RmRGdW5jdGlvbnMoVmtJbnN0YW5jZSBpbnN0YW5jZSk7CisKKy8vIFZLX0VYVF9leHRlcm5hbF9t
ZW1vcnlfaG9zdAordm9pZCBJbml0RXh0ZXJuYWxNZW1vcnlIb3N0RnVuY3Rpb25zKFZrSW5zdGFu
Y2UgaW5zdGFuY2UpOworCisvLyBWS19LSFJfZXh0ZXJuYWxfZmVuY2VfY2FwYWJpbGl0aWVzCit2
b2lkIEluaXRFeHRlcm5hbEZlbmNlQ2FwYWJpbGl0aWVzRnVuY3Rpb25zKFZrSW5zdGFuY2UgaW5z
dGFuY2UpOworCisvLyBWS19LSFJfZXh0ZXJuYWxfZmVuY2VfZmQKK3ZvaWQgSW5pdEV4dGVybmFs
RmVuY2VGZEZ1bmN0aW9ucyhWa0luc3RhbmNlIGluc3RhbmNlKTsKKworLy8gVktfS0hSX2V4dGVy
bmFsX3NlbWFwaG9yZV9jYXBhYmlsaXRpZXMKK3ZvaWQgSW5pdEV4dGVybmFsU2VtYXBob3JlQ2Fw
YWJpbGl0aWVzRnVuY3Rpb25zKFZrSW5zdGFuY2UgaW5zdGFuY2UpOworCisjZW5kaWYgIC8vICFk
ZWZpbmVkKEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4pCisKIG5hbWVzcGFjZSBnbF92awogewogVmtS
ZWN0MkQgR2V0UmVjdChjb25zdCBnbDo6UmVjdGFuZ2xlICZzb3VyY2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a193
cmFwcGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL3ZrX3dyYXBwZXIuaAppbmRleCBlY2I2ZjU4MWE3NjYzNmRhOGFlMzExYzUxOWViZDQ2
ZjAxMDdkZTQxLi45MjVjMjhkN2FhMDNmYjFlNDk5ZDZjYjZjNTNlYmUzNDQ4YzMxMDc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL3ZrX3dyYXBwZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL3ZrX3dyYXBwZXIuaApAQCAtMTEsOSArMTEsOSBAQAogI2lmbmRl
ZiBMSUJBTkdMRV9SRU5ERVJFUl9WVUxLQU5fVktfV1JBUFBFUl9IXwogI2RlZmluZSBMSUJBTkdM
RV9SRU5ERVJFUl9WVUxLQU5fVktfV1JBUFBFUl9IXwogCi0jaW5jbHVkZSAidm9say5oIgotCiAj
aW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMuaCIKKyNpbmNsdWRlICJs
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgorI2luY2x1ZGUgImxpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi92a19tZW1fYWxsb2Nfd3JhcHBlci5oIgogCiBuYW1lc3BhY2UgcngK
IHsKQEAgLTQ2LDcgKzQ2LDggQEAgbmFtZXNwYWNlIHZrCiAgICAgRlVOQyhSZW5kZXJQYXNzKSAg
ICAgICAgICAgICAgIFwKICAgICBGVU5DKFNhbXBsZXIpICAgICAgICAgICAgICAgICAgXAogICAg
IEZVTkMoU2VtYXBob3JlKSAgICAgICAgICAgICAgICBcCi0gICAgRlVOQyhTaGFkZXJNb2R1bGUp
CisgICAgRlVOQyhTaGFkZXJNb2R1bGUpICAgICAgICAgICAgIFwKKyAgICBGVU5DKEFsbG9jYXRp
b24pCiAKICNkZWZpbmUgQU5HTEVfQ09NTUFfU0VQX0ZVTkMoVFlQRSkgVFlQRSwKIApAQCAtNTQs
NyArNTUsNyBAQCBlbnVtIGNsYXNzIEhhbmRsZVR5cGUKIHsKICAgICBJbnZhbGlkLAogICAgIENv
bW1hbmRCdWZmZXIsCi0gICAgQU5HTEVfSEFORExFX1RZUEVTX1goQU5HTEVfQ09NTUFfU0VQX0ZV
TkMpCisgICAgQU5HTEVfSEFORExFX1RZUEVTX1goQU5HTEVfQ09NTUFfU0VQX0ZVTkMpIEVudW1D
b3VudAogfTsKIAogI3VuZGVmIEFOR0xFX0NPTU1BX1NFUF9GVU5DCkBAIC05Myw2ICs5NCw3IEBA
IGNsYXNzIFdyYXBwZWRPYmplY3QgOiBhbmdsZTo6Tm9uQ29weWFibGUKIHsKICAgcHVibGljOgog
ICAgIEhhbmRsZVQgZ2V0SGFuZGxlKCkgY29uc3QgeyByZXR1cm4gbUhhbmRsZTsgfQorICAgIHZv
aWQgc2V0SGFuZGxlKEhhbmRsZVQgaGFuZGxlKSB7IG1IYW5kbGUgPSBoYW5kbGU7IH0KICAgICBi
b29sIHZhbGlkKCkgY29uc3QgeyByZXR1cm4gKG1IYW5kbGUgIT0gVktfTlVMTF9IQU5ETEUpOyB9
CiAKICAgICBjb25zdCBIYW5kbGVUICpwdHIoKSBjb25zdCB7IHJldHVybiAmbUhhbmRsZTsgfQpA
QCAtNDI0LDYgKzQyNiw4IEBAIGNsYXNzIFNlbWFwaG9yZSBmaW5hbCA6IHB1YmxpYyBXcmFwcGVk
T2JqZWN0PFNlbWFwaG9yZSwgVmtTZW1hcGhvcmU+CiAgICAgdm9pZCBkZXN0cm95KFZrRGV2aWNl
IGRldmljZSk7CiAKICAgICBWa1Jlc3VsdCBpbml0KFZrRGV2aWNlIGRldmljZSk7CisgICAgVmtS
ZXN1bHQgaW5pdChWa0RldmljZSBkZXZpY2UsIGNvbnN0IFZrU2VtYXBob3JlQ3JlYXRlSW5mbyAm
Y3JlYXRlSW5mbyk7CisgICAgVmtSZXN1bHQgaW1wb3J0RmQoVmtEZXZpY2UgZGV2aWNlLCBjb25z
dCBWa0ltcG9ydFNlbWFwaG9yZUZkSW5mb0tIUiAmaW1wb3J0RmRJbmZvKSBjb25zdDsKIH07CiAK
IGNsYXNzIEZyYW1lYnVmZmVyIGZpbmFsIDogcHVibGljIFdyYXBwZWRPYmplY3Q8RnJhbWVidWZm
ZXIsIFZrRnJhbWVidWZmZXI+CkBAIC00NTMsNiArNDU3LDI1IEBAIGNsYXNzIERldmljZU1lbW9y
eSBmaW5hbCA6IHB1YmxpYyBXcmFwcGVkT2JqZWN0PERldmljZU1lbW9yeSwgVmtEZXZpY2VNZW1v
cnk+CiAgICAgdm9pZCB1bm1hcChWa0RldmljZSBkZXZpY2UpIGNvbnN0OwogfTsKIAorY2xhc3Mg
QWxsb2NhdGlvbiBmaW5hbCA6IHB1YmxpYyBXcmFwcGVkT2JqZWN0PEFsbG9jYXRpb24sIFZtYUFs
bG9jYXRpb24+Cit7CisgIHB1YmxpYzoKKyAgICBBbGxvY2F0aW9uKCkgPSBkZWZhdWx0OworICAg
IHZvaWQgZGVzdHJveShWbWFBbGxvY2F0b3IgYWxsb2NhdG9yKTsKKworICAgIFZrUmVzdWx0IGNy
ZWF0ZUJ1ZmZlckFuZE1lbW9yeShWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0J1ZmZlckNyZWF0ZUluZm8gKnBCdWZmZXJD
cmVhdGVJbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa01lbW9yeVBy
b3BlcnR5RmxhZ3MgcmVxdWlyZWRGbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVmtNZW1vcnlQcm9wZXJ0eUZsYWdzIHByZWZlcnJlZEZsYWdzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHBlcnNpc3RlbnRseU1hcHBlZEJ1ZmZlcnMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAqYnVmZmVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgKnBNZW1Q
cm9wZXJ0eU91dCk7CisgICAgVmtSZXN1bHQgbWFwKFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsIHVp
bnQ4X3QgKiptYXBQb2ludGVyKSBjb25zdDsKKyAgICB2b2lkIHVubWFwKFZtYUFsbG9jYXRvciBh
bGxvY2F0b3IpIGNvbnN0OworICAgIHZvaWQgZmx1c2goVm1hQWxsb2NhdG9yIGFsbG9jYXRvciwg
VmtEZXZpY2VTaXplIG9mZnNldCwgVmtEZXZpY2VTaXplIHNpemUpOworICAgIHZvaWQgaW52YWxp
ZGF0ZShWbWFBbGxvY2F0b3IgYWxsb2NhdG9yLCBWa0RldmljZVNpemUgb2Zmc2V0LCBWa0Rldmlj
ZVNpemUgc2l6ZSk7Cit9OworCiBjbGFzcyBSZW5kZXJQYXNzIGZpbmFsIDogcHVibGljIFdyYXBw
ZWRPYmplY3Q8UmVuZGVyUGFzcywgVmtSZW5kZXJQYXNzPgogewogICBwdWJsaWM6CkBAIC01Nzgs
NiArNjAxLDggQEAgY2xhc3MgRmVuY2UgZmluYWwgOiBwdWJsaWMgV3JhcHBlZE9iamVjdDxGZW5j
ZSwgVmtGZW5jZT4KICAgICBWa1Jlc3VsdCByZXNldChWa0RldmljZSBkZXZpY2UpOwogICAgIFZr
UmVzdWx0IGdldFN0YXR1cyhWa0RldmljZSBkZXZpY2UpIGNvbnN0OwogICAgIFZrUmVzdWx0IHdh
aXQoVmtEZXZpY2UgZGV2aWNlLCB1aW50NjRfdCB0aW1lb3V0KSBjb25zdDsKKyAgICBWa1Jlc3Vs
dCBpbXBvcnRGZChWa0RldmljZSBkZXZpY2UsIGNvbnN0IFZrSW1wb3J0RmVuY2VGZEluZm9LSFIg
JmltcG9ydEZlbmNlRmRJbmZvKSBjb25zdDsKKyAgICBWa1Jlc3VsdCBleHBvcnRGZChWa0Rldmlj
ZSBkZXZpY2UsIGNvbnN0IFZrRmVuY2VHZXRGZEluZm9LSFIgJmZlbmNlR2V0RmRJbmZvLCBpbnQg
Km91dEZkKSBjb25zdDsKIH07CiAKIGNsYXNzIFF1ZXJ5UG9vbCBmaW5hbCA6IHB1YmxpYyBXcmFw
cGVkT2JqZWN0PFF1ZXJ5UG9vbCwgVmtRdWVyeVBvb2w+CkBAIC0xMTMzLDggKzExNTgsMTYgQEAg
QU5HTEVfSU5MSU5FIHZvaWQgQ29tbWFuZEJ1ZmZlcjo6YmluZFRyYW5zZm9ybUZlZWRiYWNrQnVm
ZmVyc0VYVCh1aW50MzJfdCBmaXJzdEIKIEFOR0xFX0lOTElORSB2b2lkIENvbW1hbmRCdWZmZXI6
OmJlZ2luRGVidWdVdGlsc0xhYmVsRVhUKGNvbnN0IFZrRGVidWdVdGlsc0xhYmVsRVhUICZsYWJl
bEluZm8pCiB7CiAgICAgQVNTRVJUKHZhbGlkKCkpOwotICAgIEFTU0VSVCh2a0NtZEJlZ2luRGVi
dWdVdGlsc0xhYmVsRVhUKTsKLSAgICB2a0NtZEJlZ2luRGVidWdVdGlsc0xhYmVsRVhUKG1IYW5k
bGUsICZsYWJlbEluZm8pOworICAgIHsKKyNpZiAhZGVmaW5lZChBTkdMRV9TSEFSRURfTElCVlVM
S0FOKQorICAgICAgICAvLyBXaGVuIHRoZSB2dWxrYW4tbG9hZGVyIGlzIHN0YXRpY2FsbHkgbGlu
a2VkLCB3ZSBuZWVkIHRvIHVzZSB0aGUgZXh0ZW5zaW9uCisgICAgICAgIC8vIGZ1bmN0aW9ucyBk
ZWZpbmVkIGluIEFOR0xFJ3MgcnggbmFtZXNwYWNlLiBXaGVuIGl0J3MgZHluYW1pY2FsbHkgbGlu
a2VkCisgICAgICAgIC8vIHdpdGggdm9saywgdGhpcyB3aWxsIGRlZmF1bHQgdG8gdGhlIGZ1bmN0
aW9uIGRlZmluaXRpb25zIHdpdGggbm8gbmFtZXNwYWNlCisgICAgICAgIHVzaW5nIHJ4Ojp2a0Nt
ZEJlZ2luRGVidWdVdGlsc0xhYmVsRVhUOworI2VuZGlmICAvLyAhZGVmaW5lZChBTkdMRV9TSEFS
RURfTElCVlVMS0FOKQorICAgICAgICBBU1NFUlQodmtDbWRCZWdpbkRlYnVnVXRpbHNMYWJlbEVY
VCk7CisgICAgICAgIHZrQ21kQmVnaW5EZWJ1Z1V0aWxzTGFiZWxFWFQobUhhbmRsZSwgJmxhYmVs
SW5mbyk7CisgICAgfQogfQogCiBBTkdMRV9JTkxJTkUgdm9pZCBDb21tYW5kQnVmZmVyOjplbmRE
ZWJ1Z1V0aWxzTGFiZWxFWFQoKQpAQCAtMTI0MSw2ICsxMjc0LDE5IEBAIEFOR0xFX0lOTElORSBW
a1Jlc3VsdCBTZW1hcGhvcmU6OmluaXQoVmtEZXZpY2UgZGV2aWNlKQogICAgIHJldHVybiB2a0Ny
ZWF0ZVNlbWFwaG9yZShkZXZpY2UsICZzZW1hcGhvcmVJbmZvLCBudWxscHRyLCAmbUhhbmRsZSk7
CiB9CiAKK0FOR0xFX0lOTElORSBWa1Jlc3VsdCBTZW1hcGhvcmU6OmluaXQoVmtEZXZpY2UgZGV2
aWNlLCBjb25zdCBWa1NlbWFwaG9yZUNyZWF0ZUluZm8gJmNyZWF0ZUluZm8pCit7CisgICAgQVNT
RVJUKHZhbGlkKCkpOworICAgIHJldHVybiB2a0NyZWF0ZVNlbWFwaG9yZShkZXZpY2UsICZjcmVh
dGVJbmZvLCBudWxscHRyLCAmbUhhbmRsZSk7Cit9CisKK0FOR0xFX0lOTElORSBWa1Jlc3VsdCBT
ZW1hcGhvcmU6OmltcG9ydEZkKFZrRGV2aWNlIGRldmljZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrSW1wb3J0U2VtYXBob3JlRmRJbmZvS0hSICZp
bXBvcnRGZEluZm8pIGNvbnN0Cit7CisgICAgQVNTRVJUKHZhbGlkKCkpOworICAgIHJldHVybiB2
a0ltcG9ydFNlbWFwaG9yZUZkS0hSKGRldmljZSwgJmltcG9ydEZkSW5mbyk7Cit9CisKIC8vIEZy
YW1lYnVmZmVyIGltcGxlbWVudGF0aW9uLgogQU5HTEVfSU5MSU5FIHZvaWQgRnJhbWVidWZmZXI6
OmRlc3Ryb3koVmtEZXZpY2UgZGV2aWNlKQogewpAQCAtMTI5NCw2ICsxMzQwLDYzIEBAIEFOR0xF
X0lOTElORSB2b2lkIERldmljZU1lbW9yeTo6dW5tYXAoVmtEZXZpY2UgZGV2aWNlKSBjb25zdAog
ICAgIHZrVW5tYXBNZW1vcnkoZGV2aWNlLCBtSGFuZGxlKTsKIH0KIAorLy8gQWxsb2NhdGlvbiBp
bXBsZW1lbnRhdGlvbi4KK0FOR0xFX0lOTElORSB2b2lkIEFsbG9jYXRpb246OmRlc3Ryb3koVm1h
QWxsb2NhdG9yIGFsbG9jYXRvcikKK3sKKyAgICBpZiAodmFsaWQoKSkKKyAgICB7CisgICAgICAg
IHZtYTo6RnJlZU1lbW9yeShhbGxvY2F0b3IsIG1IYW5kbGUpOworICAgICAgICBtSGFuZGxlID0g
VktfTlVMTF9IQU5ETEU7CisgICAgfQorfQorCitBTkdMRV9JTkxJTkUgVmtSZXN1bHQgQWxsb2Nh
dGlvbjo6Y3JlYXRlQnVmZmVyQW5kTWVtb3J5KFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFZrQnVmZmVyQ3JlYXRlSW5mbyAqcEJ1ZmZlckNyZWF0ZUluZm8sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrTWVtb3J5UHJvcGVydHlG
bGFncyByZXF1aXJlZEZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgcHJlZmVycmVkRmxhZ3Ms
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgcGVyc2lzdGVudGx5TWFwcGVkQnVmZmVycywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyICpidWZmZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrTWVtb3J5
UHJvcGVydHlGbGFncyAqcE1lbVByb3BlcnR5T3V0KQoreworICAgIEFTU0VSVCghdmFsaWQoKSk7
CisgICAgVmtSZXN1bHQgcmVzdWx0OworICAgIHVpbnQzMl90IG1lbW9yeVR5cGVJbmRleDsKKyAg
ICBWa0J1ZmZlciBidWZmZXJIYW5kbGU7CisgICAgcmVzdWx0ID0KKyAgICAgICAgdm1hOjpDcmVh
dGVCdWZmZXIoYWxsb2NhdG9yLCBwQnVmZmVyQ3JlYXRlSW5mbywgcmVxdWlyZWRGbGFncywgcHJl
ZmVycmVkRmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNpc3RlbnRseU1hcHBl
ZEJ1ZmZlcnMsICZtZW1vcnlUeXBlSW5kZXgsICZidWZmZXJIYW5kbGUsICZtSGFuZGxlKTsKKyAg
ICB2bWE6OkdldE1lbW9yeVR5cGVQcm9wZXJ0aWVzKGFsbG9jYXRvciwgbWVtb3J5VHlwZUluZGV4
LCBwTWVtUHJvcGVydHlPdXQpOworICAgIGJ1ZmZlci0+c2V0SGFuZGxlKGJ1ZmZlckhhbmRsZSk7
CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitBTkdMRV9JTkxJTkUgVmtSZXN1bHQgQWxsb2Nh
dGlvbjo6bWFwKFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsIHVpbnQ4X3QgKiptYXBQb2ludGVyKSBj
b25zdAoreworICAgIEFTU0VSVCh2YWxpZCgpKTsKKyAgICByZXR1cm4gdm1hOjpNYXBNZW1vcnko
YWxsb2NhdG9yLCBtSGFuZGxlLCAodm9pZCAqKiltYXBQb2ludGVyKTsKK30KKworQU5HTEVfSU5M
SU5FIHZvaWQgQWxsb2NhdGlvbjo6dW5tYXAoVm1hQWxsb2NhdG9yIGFsbG9jYXRvcikgY29uc3QK
K3sKKyAgICBBU1NFUlQodmFsaWQoKSk7CisgICAgdm1hOjpVbm1hcE1lbW9yeShhbGxvY2F0b3Is
IG1IYW5kbGUpOworfQorCitBTkdMRV9JTkxJTkUgdm9pZCBBbGxvY2F0aW9uOjpmbHVzaChWbWFB
bGxvY2F0b3IgYWxsb2NhdG9yLCBWa0RldmljZVNpemUgb2Zmc2V0LCBWa0RldmljZVNpemUgc2l6
ZSkKK3sKKyAgICBBU1NFUlQodmFsaWQoKSk7CisgICAgdm1hOjpGbHVzaEFsbG9jYXRpb24oYWxs
b2NhdG9yLCBtSGFuZGxlLCBvZmZzZXQsIHNpemUpOworfQorCitBTkdMRV9JTkxJTkUgdm9pZCBB
bGxvY2F0aW9uOjppbnZhbGlkYXRlKFZtYUFsbG9jYXRvciBhbGxvY2F0b3IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSBvZmZzZXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSBzaXplKQor
eworICAgIEFTU0VSVCh2YWxpZCgpKTsKKyAgICB2bWE6OkludmFsaWRhdGVBbGxvY2F0aW9uKGFs
bG9jYXRvciwgbUhhbmRsZSwgb2Zmc2V0LCBzaXplKTsKK30KKwogLy8gUmVuZGVyUGFzcyBpbXBs
ZW1lbnRhdGlvbi4KIEFOR0xFX0lOTElORSB2b2lkIFJlbmRlclBhc3M6OmRlc3Ryb3koVmtEZXZp
Y2UgZGV2aWNlKQogewpAQCAtMTU5Niw2ICsxNjk5LDIxIEBAIEFOR0xFX0lOTElORSBWa1Jlc3Vs
dCBGZW5jZTo6d2FpdChWa0RldmljZSBkZXZpY2UsIHVpbnQ2NF90IHRpbWVvdXQpIGNvbnN0CiAg
ICAgcmV0dXJuIHZrV2FpdEZvckZlbmNlcyhkZXZpY2UsIDEsICZtSGFuZGxlLCB0cnVlLCB0aW1l
b3V0KTsKIH0KIAorQU5HTEVfSU5MSU5FIFZrUmVzdWx0IEZlbmNlOjppbXBvcnRGZChWa0Rldmlj
ZSBkZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZr
SW1wb3J0RmVuY2VGZEluZm9LSFIgJmltcG9ydEZlbmNlRmRJbmZvKSBjb25zdAoreworICAgIEFT
U0VSVCh2YWxpZCgpKTsKKyAgICByZXR1cm4gdmtJbXBvcnRGZW5jZUZkS0hSKGRldmljZSwgJmlt
cG9ydEZlbmNlRmRJbmZvKTsKK30KKworQU5HTEVfSU5MSU5FIFZrUmVzdWx0IEZlbmNlOjpleHBv
cnRGZChWa0RldmljZSBkZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFZrRmVuY2VHZXRGZEluZm9LSFIgJmZlbmNlR2V0RmRJbmZvLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmZkT3V0KSBjb25zdAoreworICAgIEFT
U0VSVCh2YWxpZCgpKTsKKyAgICByZXR1cm4gdmtHZXRGZW5jZUZkS0hSKGRldmljZSwgJmZlbmNl
R2V0RmRJbmZvLCBmZE91dCk7Cit9CisKIC8vIFF1ZXJ5UG9vbCBpbXBsZW1lbnRhdGlvbi4KIEFO
R0xFX0lOTElORSB2b2lkIFF1ZXJ5UG9vbDo6ZGVzdHJveShWa0RldmljZSBkZXZpY2UpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL3dpbjMyL0Rpc3BsYXlWa1dpbjMyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vd2luMzIvRGlzcGxheVZrV2luMzIuY3BwCmlu
ZGV4IDAyODNmYTY5OGI3YWRkZmQ5YTk5MGIyOTU3ZTQ1MTk0MmVjZDIyYWUuLmU3YWQwOGM3ZDIw
YjJkYmVjNTZhNGU2MjM4NzkyZjQ3OGJjYjJkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vd2luMzIvRGlzcGxheVZrV2lu
MzIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vd2luMzIvRGlzcGxheVZrV2luMzIuY3BwCkBAIC0xMiw5ICsxMiw5IEBACiAjaW5j
bHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuaCIKIAogI2luY2x1ZGUg
PHdpbmRvd3MuaD4KLSNpbmNsdWRlICJ2b2xrLmgiCiAKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5oIgorI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi92a19oZWFkZXJzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L3dpbjMyL1dpbmRvd1N1cmZhY2VWa1dpbjMyLmgiCiAKIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi94
Y2IvRGlzcGxheVZrWGNiLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4veGNiL0Rpc3BsYXlWa1hjYi5jcHAKaW5kZXggMmQ4YjM5OWQyMGNm
N2E0MzJiNmQ4YzFjYzViMGIwMjBiMWNiOTA4My4uNjk1ZDgwMDhkY2JhNmJmODhmMzI0YTY3NDcz
YTllMzFlYTc0MWI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi94Y2IvRGlzcGxheVZrWGNiLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3hjYi9EaXNwbGF5
VmtYY2IuY3BwCkBAIC04NSw3ICs4NSw3IEBAIFN1cmZhY2VJbXBsICpEaXNwbGF5VmtYY2I6OmNy
ZWF0ZVdpbmRvd1N1cmZhY2VWayhjb25zdCBlZ2w6OlN1cmZhY2VTdGF0ZSAmc3RhdGUsCiAKIGVn
bDo6Q29uZmlnU2V0IERpc3BsYXlWa1hjYjo6Z2VuZXJhdGVDb25maWdzKCkKIHsKLSAgICBjb25z
dGV4cHIgR0xlbnVtIGtDb2xvckZvcm1hdHNbXSA9IHtHTF9CR1JBOF9FWFQsIEdMX0JHUlg4X0FO
R0xFWH07CisgICAgY29uc3RleHByIEdMZW51bSBrQ29sb3JGb3JtYXRzW10gPSB7R0xfQkdSQThf
RVhUfTsKICAgICByZXR1cm4gZWdsX3ZrOjpHZW5lcmF0ZUNvbmZpZ3Moa0NvbG9yRm9ybWF0cywg
ZWdsX3ZrOjprQ29uZmlnRGVwdGhTdGVuY2lsRm9ybWF0cywgdGhpcyk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4v
eGNiL1dpbmRvd1N1cmZhY2VWa1hjYi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3hjYi9XaW5kb3dTdXJmYWNlVmtYY2IuY3BwCmluZGV4
IDRlNDgxOTI1MzMxMjA5ODk3NjY4ZDI3MWM1NjdkMmM3MDgzMTJjNTMuLmQwOThjMzg3NWMwZDk2
MmQ5N2FiMjk0OWVmMzQ2MDI4MjUwOTJhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4veGNiL1dpbmRvd1N1cmZhY2VWa1hj
Yi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi94Y2IvV2luZG93U3VyZmFjZVZrWGNiLmNwcApAQCAtMzksNyArMzksMTMgQEAgYW5n
bGU6OlJlc3VsdCBXaW5kb3dTdXJmYWNlVmtYY2I6OmdldEN1cnJlbnRXaW5kb3dTaXplKHZrOjpD
b250ZXh0ICpjb250ZXh0LAogewogICAgIHhjYl9nZXRfZ2VvbWV0cnlfY29va2llX3QgY29va2ll
ID0KICAgICAgICAgeGNiX2dldF9nZW9tZXRyeShtWGNiQ29ubmVjdGlvbiwgc3RhdGljX2Nhc3Q8
eGNiX2RyYXdhYmxlX3Q+KG1OYXRpdmVXaW5kb3dUeXBlKSk7Ci0gICAgeGNiX2dldF9nZW9tZXRy
eV9yZXBseV90ICpyZXBseSA9IHhjYl9nZXRfZ2VvbWV0cnlfcmVwbHkobVhjYkNvbm5lY3Rpb24s
IGNvb2tpZSwgbnVsbHB0cik7CisgICAgeGNiX2dlbmVyaWNfZXJyb3JfdCAqZXJyb3IgICAgICA9
IG51bGxwdHI7CisgICAgeGNiX2dldF9nZW9tZXRyeV9yZXBseV90ICpyZXBseSA9IHhjYl9nZXRf
Z2VvbWV0cnlfcmVwbHkobVhjYkNvbm5lY3Rpb24sIGNvb2tpZSwgJmVycm9yKTsKKyAgICBpZiAo
ZXJyb3IpCisgICAgeworICAgICAgICBmcmVlKGVycm9yKTsKKyAgICAgICAgQU5HTEVfVktfQ0hF
Q0soY29udGV4dCwgZmFsc2UsIFZLX0VSUk9SX0lOSVRJQUxJWkFUSU9OX0ZBSUxFRCk7CisgICAg
fQogICAgIEFTU0VSVChyZXBseSk7CiAgICAgKmV4dGVudHNPdXQgPSBnbDo6RXh0ZW50cyhyZXBs
eS0+d2lkdGgsIHJlcGx5LT5oZWlnaHQsIDEpOwogICAgIGZyZWUocmVwbHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FR0wuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FR0wuY3Bw
CmluZGV4IGFmZjYyNGRmNDk0NzI4OGZjNGEwY2VlNmJmMjRiNjMxOTRlMmVlMzMuLjI0NDY2ZmRm
NTUwMzU4ZDZmNmFlNGZmZDY1ZmRlMzMwMzYxODcyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRUdMLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVHTC5jcHAKQEAgLTQ2Nyw2
ICs0NjcsNyBAQCBFcnJvciBWYWxpZGF0ZUdldFBsYXRmb3JtRGlzcGxheUNvbW1vbihFR0xlbnVt
IHBsYXRmb3JtLAogICAgICAgICBib29sIGVuYWJsZUF1dG9UcmltU3BlY2lmaWVkID0gZmFsc2U7
CiAgICAgICAgIGJvb2wgZW5hYmxlRDNEMTFvbjEyICAgICAgICAgPSBmYWxzZTsKICAgICAgICAg
Ym9vbCBwcmVzZW50UGF0aFNwZWNpZmllZCAgICA9IGZhbHNlOworICAgICAgICBib29sIGx1aWRT
cGVjaWZpZWQgICAgICAgICAgID0gZmFsc2U7CiAKICAgICAgICAgT3B0aW9uYWw8RUdMQXR0cmli
PiBtYWpvclZlcnNpb247CiAgICAgICAgIE9wdGlvbmFsPEVHTEF0dHJpYj4gbWlub3JWZXJzaW9u
OwpAQCAtNjMxLDYgKzYzMiwxMCBAQCBFcnJvciBWYWxpZGF0ZUdldFBsYXRmb3JtRGlzcGxheUNv
bW1vbihFR0xlbnVtIHBsYXRmb3JtLAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogCisgICAgICAgICAgICAgICAgY2FzZSBFR0xfUExBVEZPUk1fQU5H
TEVfRDNEX0xVSURfSElHSF9BTkdMRToKKyAgICAgICAgICAgICAgICBjYXNlIEVHTF9QTEFURk9S
TV9BTkdMRV9EM0RfTFVJRF9MT1dfQU5HTEU6CisgICAgICAgICAgICAgICAgICAgIGx1aWRTcGVj
aWZpZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAg
LTY4MCw2ICs2ODUsMjUgQEAgRXJyb3IgVmFsaWRhdGVHZXRQbGF0Zm9ybURpc3BsYXlDb21tb24o
RUdMZW51bSBwbGF0Zm9ybSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZGV2aWNlIHR5cGUgb2YgRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfRDNEMTFfQU5HTEUuIjsK
ICAgICAgICAgfQogCisgICAgICAgIGlmIChsdWlkU3BlY2lmaWVkKQorICAgICAgICB7CisgICAg
ICAgICAgICBpZiAocGxhdGZvcm1UeXBlICE9IEVHTF9QTEFURk9STV9BTkdMRV9UWVBFX0QzRDEx
X0FOR0xFKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBFZ2xCYWRBdHRy
aWJ1dGUoKSA8PCAiRUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0hJR0hfQU5HTEUgYW5kICIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVHTF9QTEFURk9S
TV9BTkdMRV9EM0RfTFVJRF9MT1dfQU5HTEUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVxdWlyZSBhIHBsYXRmb3JtIHR5cGUgb2YgIgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRUdMX1BMQVRGT1JNX0FOR0xFX1RZ
UEVfRDNEMTFfQU5HTEUuIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGF0dHJp
Yk1hcC5nZXQoRUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0hJR0hfQU5HTEUsIDApID09IDAg
JiYKKyAgICAgICAgICAgICAgICBhdHRyaWJNYXAuZ2V0KEVHTF9QTEFURk9STV9BTkdMRV9EM0Rf
TFVJRF9MT1dfQU5HTEUsIDApID09IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
cmV0dXJuIEVnbEJhZEF0dHJpYnV0ZSgpIDw8ICJJZiBlaXRoZXIgRUdMX1BMQVRGT1JNX0FOR0xF
X0QzRF9MVUlEX0hJR0hfQU5HTEUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiYW5kL29yIEVHTF9QTEFURk9STV9BTkdMRV9EM0RfTFVJRF9MT1dfQU5HTEUg
YXJlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWNp
ZmllZCwgYXQgbGVhc3Qgb25lIG11c3Qgbm9uLXplcm8uIjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorCiAgICAgICAgIGlmIChkZXZpY2VUeXBlLnZhbGlkKCkpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoZGV2aWNlVHlwZS52YWx1ZSgpKQpAQCAtMTgxNywxMiArMTg0MSwxNCBA
QCBFcnJvciBWYWxpZGF0ZUNyZWF0ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyKERpc3BsYXkgKmRp
c3BsYXksCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFZ2xCYWRBdHRyaWJ1dGUoKSA8PCAi
PGJ1ZnR5cGU+IGRvZXNuJ3Qgc3VwcG9ydCB0ZXh0dXJlIGludGVybmFsIGZvcm1hdCI7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICBjYXNl
IEVHTF9HTF9DT0xPUlNQQUNFOgogICAgICAgICAgICAgICAgIGlmIChidWZ0eXBlICE9IEVHTF9E
M0RfVEVYVFVSRV9BTkdMRSkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBFZ2xCYWRBdHRyaWJ1dGUoKSA8PCAiPGJ1ZnR5cGU+IGRvZXNuJ3Qgc3VwcG9ydCBz
ZXR0aW5nIEdMIGNvbG9yc3BhY2UiOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICBicmVhazsKKwogICAgICAgICAgICAgY2FzZSBFR0xfSU9TVVJGQUNFX1VTQUdFX0hJTlRfQU5H
TEU6CiAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYgfihFR0xfSU9TVVJGQUNFX1JFQURfSElO
VF9BTkdMRSB8IEVHTF9JT1NVUkZBQ0VfV1JJVEVfSElOVF9BTkdMRSkpCiAgICAgICAgICAgICAg
ICAgewpAQCAtMTgzMCw2ICsxODU2LDE1IEBAIEVycm9yIFZhbGlkYXRlQ3JlYXRlUGJ1ZmZlckZy
b21DbGllbnRCdWZmZXIoRGlzcGxheSAqZGlzcGxheSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDw8ICJJT1N1cmZhY2UgdXNhZ2UgaGludCBtdXN0IG9ubHkgY29udGFpbiBSRUFEIG9yIFdS
SVRFIjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgICAgIGNhc2UgRUdMX1RFWFRVUkVfT0ZGU0VUX1hfQU5HTEU6CisgICAgICAgICAgICBjYXNl
IEVHTF9URVhUVVJFX09GRlNFVF9ZX0FOR0xFOgorICAgICAgICAgICAgICAgIGlmIChidWZ0eXBl
ICE9IEVHTF9EM0RfVEVYVFVSRV9BTkdMRSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBFZ2xCYWRBdHRyaWJ1dGUoKSA8PCAiPGJ1ZnR5cGU+IGRvZXNuJ3Qg
c3VwcG9ydCBzZXR0aW5nIHRleHR1cmUgb2Zmc2V0IjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIEVnbEJhZEF0dHJpYnV0ZSgpOwogICAgICAgICB9CkBAIC0yMTQwLDYgKzIxNzUs
MjIgQEAgRXJyb3IgVmFsaWRhdGVDcmVhdGVJbWFnZShjb25zdCBEaXNwbGF5ICpkaXNwbGF5LAog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAgICAg
Y2FzZSBFR0xfR0xfQ09MT1JTUEFDRToKKyAgICAgICAgICAgICAgICBpZiAoIWRpc3BsYXlFeHRl
bnNpb25zLmdsQ29sb3JzcGFjZSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBFZ2xCYWRQYXJhbWV0ZXIoKSA8PCAiRUdMX0dMX0NPTE9SU1BBQ0UgY2Fubm90
IGJlIHVzZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIndpdGhvdXQgRUdMX0tIUl9nbF9jb2xvcnNwYWNlIHN1cHBvcnQuIjsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgc3dpdGNoICh2YWx1ZSkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIGNhc2UgRUdMX0dMX0NPTE9SU1BBQ0VfREVGQVVMVF9FWFQ6
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIEFOR0xFX1RSWShWYWxpZGF0ZUNvbG9yc3Bh
Y2VBdHRyaWJ1dGUoZGlzcGxheUV4dGVuc2lvbnMsIHZhbHVlKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7
CisKICAgICAgICAgICAgIGNhc2UgRUdMX1RFWFRVUkVfSU5URVJOQUxfRk9STUFUX0FOR0xFOgog
ICAgICAgICAgICAgICAgIGlmICghZGlzcGxheUV4dGVuc2lvbnMuaW1hZ2VEM0QxMVRleHR1cmUp
CiAgICAgICAgICAgICAgICAgewpAQCAtMjE0OSw2ICsyMjAwLDEwOSBAQCBFcnJvciBWYWxpZGF0
ZUNyZWF0ZUltYWdlKGNvbnN0IERpc3BsYXkgKmRpc3BsYXksCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgICAgICBjYXNlIEVHTF9XSURUSDoKKyAg
ICAgICAgICAgIGNhc2UgRUdMX0hFSUdIVDoKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9
IEVHTF9MSU5VWF9ETUFfQlVGX0VYVCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBFZ2xCYWRQYXJhbWV0ZXIoKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPDwgIlBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpZiB0YXJnZXQgaXMgbm90IEVHTF9MSU5V
WF9ETUFfQlVGX0VYVCI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgICAgICBjYXNlIEVHTF9MSU5VWF9EUk1fRk9VUkNDX0VYVDoKKyAgICAgICAg
ICAgIGNhc2UgRUdMX0RNQV9CVUZfUExBTkUwX0ZEX0VYVDoKKyAgICAgICAgICAgIGNhc2UgRUdM
X0RNQV9CVUZfUExBTkUwX09GRlNFVF9FWFQ6CisgICAgICAgICAgICBjYXNlIEVHTF9ETUFfQlVG
X1BMQU5FMF9QSVRDSF9FWFQ6CisgICAgICAgICAgICBjYXNlIEVHTF9ETUFfQlVGX1BMQU5FMV9G
RF9FWFQ6CisgICAgICAgICAgICBjYXNlIEVHTF9ETUFfQlVGX1BMQU5FMV9PRkZTRVRfRVhUOgor
ICAgICAgICAgICAgY2FzZSBFR0xfRE1BX0JVRl9QTEFORTFfUElUQ0hfRVhUOgorICAgICAgICAg
ICAgY2FzZSBFR0xfRE1BX0JVRl9QTEFORTJfRkRfRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xf
RE1BX0JVRl9QTEFORTJfT0ZGU0VUX0VYVDoKKyAgICAgICAgICAgIGNhc2UgRUdMX0RNQV9CVUZf
UExBTkUyX1BJVENIX0VYVDoKKyAgICAgICAgICAgICAgICBpZiAoIWRpc3BsYXlFeHRlbnNpb25z
LmltYWdlRG1hQnVmSW1wb3J0RVhUKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEVnbEJhZFBhcmFtZXRlcigpIDw8ICJQYXJhbWV0ZXIgY2Fubm90IGJlIHVz
ZWQgd2l0aG91dCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2ltcG9ydCBzdXBwb3J0LiI7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIEVHTF9Z
VVZfQ09MT1JfU1BBQ0VfSElOVF9FWFQ6CisgICAgICAgICAgICAgICAgaWYgKCFkaXNwbGF5RXh0
ZW5zaW9ucy5pbWFnZURtYUJ1ZkltcG9ydEVYVCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBFZ2xCYWRQYXJhbWV0ZXIoKSA8PCAiUGFyYW1ldGVyIGNhbm5v
dCBiZSB1c2VkIHdpdGhvdXQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIkVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pbXBvcnQgc3VwcG9ydC4iOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsdWUpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYXNlIEVHTF9JVFVfUkVDNjAxX0VYVDoK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBFR0xfSVRVX1JFQzcwOV9FWFQ6CisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgRUdMX0lUVV9SRUMyMDIwX0VYVDoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gRWdsQmFkUGFyYW1ldGVyKCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8PCAiSW52YWxpZCB2YWx1ZSBmb3IgRUdMX1lVVl9DT0xPUl9TUEFDRV9ISU5U
X0VYVC4iOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICAgICAgY2FzZSBFR0xfU0FNUExFX1JBTkdFX0hJTlRfRVhUOgorICAgICAgICAgICAgICAg
IGlmICghZGlzcGxheUV4dGVuc2lvbnMuaW1hZ2VEbWFCdWZJbXBvcnRFWFQpCisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gRWdsQmFkUGFyYW1ldGVyKCkgPDwg
IlBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRob3V0ICIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFR0xfRVhUX2ltYWdlX2RtYV9idWZfaW1wb3J0
IHN1cHBvcnQuIjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBzd2l0Y2gg
KHZhbHVlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBFR0xf
WVVWX0ZVTExfUkFOR0VfRVhUOgorICAgICAgICAgICAgICAgICAgICBjYXNlIEVHTF9ZVVZfTkFS
Uk9XX1JBTkdFX0VYVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRWds
QmFkUGFyYW1ldGVyKCkgPDwgIkludmFsaWQgdmFsdWUgZm9yIEVHTF9TQU1QTEVfUkFOR0VfSElO
VF9FWFQuIjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgICAgIGNhc2UgRUdMX1lVVl9DSFJPTUFfSE9SSVpPTlRBTF9TSVRJTkdfSElOVF9FWFQ6
CisgICAgICAgICAgICBjYXNlIEVHTF9ZVVZfQ0hST01BX1ZFUlRJQ0FMX1NJVElOR19ISU5UX0VY
VDoKKyAgICAgICAgICAgICAgICBpZiAoIWRpc3BsYXlFeHRlbnNpb25zLmltYWdlRG1hQnVmSW1w
b3J0RVhUKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVn
bEJhZFBhcmFtZXRlcigpIDw8ICJQYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aG91dCAiCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRUdMX0VYVF9p
bWFnZV9kbWFfYnVmX2ltcG9ydCBzdXBwb3J0LiI7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgc3dpdGNoICh2YWx1ZSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgRUdMX1lVVl9DSFJPTUFfU0lUSU5HXzBfRVhUOgorICAgICAgICAgICAg
ICAgICAgICBjYXNlIEVHTF9ZVVZfQ0hST01BX1NJVElOR18wXzVfRVhUOgorICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBFZ2xCYWRQYXJhbWV0ZXIoKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDw8ICJJbnZhbGlkIHZhbHVlIGZvciBFR0xfWVVWX0NIUk9NQV9I
T1JJWk9OVEFMX1NJVElOR19ISU5UX0VYVCBvciAiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkVHTF9ZVVZfQ0hST01BX1ZFUlRJQ0FMX1NJVElOR19ISU5UX0VYVC4iOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2Fz
ZSBFR0xfRE1BX0JVRl9QTEFORTBfTU9ESUZJRVJfTE9fRVhUOgorICAgICAgICAgICAgY2FzZSBF
R0xfRE1BX0JVRl9QTEFORTBfTU9ESUZJRVJfSElfRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xf
RE1BX0JVRl9QTEFORTFfTU9ESUZJRVJfTE9fRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xfRE1B
X0JVRl9QTEFORTFfTU9ESUZJRVJfSElfRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xfRE1BX0JV
Rl9QTEFORTJfTU9ESUZJRVJfTE9fRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xfRE1BX0JVRl9Q
TEFORTJfTU9ESUZJRVJfSElfRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xfRE1BX0JVRl9QTEFO
RTNfRkRfRVhUOgorICAgICAgICAgICAgY2FzZSBFR0xfRE1BX0JVRl9QTEFORTNfT0ZGU0VUX0VY
VDoKKyAgICAgICAgICAgIGNhc2UgRUdMX0RNQV9CVUZfUExBTkUzX1BJVENIX0VYVDoKKyAgICAg
ICAgICAgIGNhc2UgRUdMX0RNQV9CVUZfUExBTkUzX01PRElGSUVSX0xPX0VYVDoKKyAgICAgICAg
ICAgIGNhc2UgRUdMX0RNQV9CVUZfUExBTkUzX01PRElGSUVSX0hJX0VYVDoKKyAgICAgICAgICAg
ICAgICBpZiAoIWRpc3BsYXlFeHRlbnNpb25zLmltYWdlRG1hQnVmSW1wb3J0TW9kaWZpZXJzRVhU
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVnbEJhZFBh
cmFtZXRlcigpIDw8ICJQYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aG91dCAiCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRUdMX0VYVF9pbWFnZV9k
bWFfYnVmX2ltcG9ydF9tb2RpZmllcnMgc3VwcG9ydC4iOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
ICAgICByZXR1cm4gRWdsQmFkUGFyYW1ldGVyKCkKICAgICAgICAgICAgICAgICAgICAgICAgPDwg
ImludmFsaWQgYXR0cmlidXRlOiAweCIgPDwgc3RkOjpoZXggPDwgc3RkOjp1cHBlcmNhc2UgPDwg
YXR0cmlidXRlOwpAQCAtMjM1Nyw2ICsyNTExLDY3IEBAIEVycm9yIFZhbGlkYXRlQ3JlYXRlSW1h
Z2UoY29uc3QgRGlzcGxheSAqZGlzcGxheSwKICAgICAgICAgICAgIEFOR0xFX1RSWShkaXNwbGF5
LT52YWxpZGF0ZUltYWdlQ2xpZW50QnVmZmVyKGNvbnRleHQsIHRhcmdldCwgYnVmZmVyLCBhdHRy
aWJ1dGVzKSk7CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICBjYXNlIEVHTF9MSU5VWF9E
TUFfQlVGX0VYVDoKKyAgICAgICAgICAgIGlmICghZGlzcGxheUV4dGVuc2lvbnMuaW1hZ2VEbWFC
dWZJbXBvcnRFWFQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEVnbEJh
ZFBhcmFtZXRlcigpIDw8ICJFR0xfRVhUX2ltYWdlX2RtYV9idWZfaW1wb3J0IG5vdCBzdXBwb3J0
ZWQuIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGNvbnRleHQgIT0gbnVsbHB0
cikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gRWdsQmFkQ29udGV4dCgp
IDw8ICJjdHggbXVzdCBiZSBFR0xfTk9fQ09OVEVYVC4iOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBpZiAoYnVmZmVyICE9IG51bGxwdHIpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEVnbEJhZFBhcmFtZXRlcigpIDw8ICJidWZmZXIgbXVzdCBiZSBOVUxMLiI7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBFR0xlbnVt
IGtSZXF1aXJlZFBhcmFtZXRlcnNbXSA9IHtFR0xfV0lEVEgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0hFSUdIVCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfTElOVVhfRFJNX0ZPVVJDQ19F
WFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdM
X0RNQV9CVUZfUExBTkUwX0ZEX0VYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFORTBfT0ZGU0VUX0VYVCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfRE1BX0JVRl9QTEFO
RTBfUElUQ0hfRVhUfTsKKyAgICAgICAgICAgICAgICBmb3IgKEVHTGVudW0gcmVxdWlyZWRQYXJh
bWV0ZXIgOiBrUmVxdWlyZWRQYXJhbWV0ZXJzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmNvbnRhaW5zKHJlcXVpcmVkUGFyYW1ldGVyKSkK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVn
bEJhZFBhcmFtZXRlcigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgIk1pc3Np
bmcgcmVxdWlyZWQgcGFyYW1ldGVyICIgPDwgZ2w6OkZtdEhleChyZXF1aXJlZFBhcmFtZXRlcikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAiIGZvciBpbWFnZSB0YXJnZXQgRUdM
X0xJTlVYX0RNQV9CVUZfRVhULiI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBib29sIGNvbnRhaW5QbGFuZTBNb2RpZmllckxvID0K
KyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jb250YWlucyhFR0xfRE1BX0JVRl9QTEFO
RTBfTU9ESUZJRVJfTE9fRVhUKTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRhaW5QbGFuZTBN
b2RpZmllckhpID0KKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jb250YWlucyhFR0xf
RE1BX0JVRl9QTEFORTBfTU9ESUZJRVJfSElfRVhUKTsKKyAgICAgICAgICAgICAgICBib29sIGNv
bnRhaW5QbGFuZTFNb2RpZmllckxvID0KKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5j
b250YWlucyhFR0xfRE1BX0JVRl9QTEFORTFfTU9ESUZJRVJfTE9fRVhUKTsKKyAgICAgICAgICAg
ICAgICBib29sIGNvbnRhaW5QbGFuZTFNb2RpZmllckhpID0KKyAgICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlcy5jb250YWlucyhFR0xfRE1BX0JVRl9QTEFORTFfTU9ESUZJRVJfSElfRVhUKTsK
KyAgICAgICAgICAgICAgICBib29sIGNvbnRhaW5QbGFuZTJNb2RpZmllckxvID0KKyAgICAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlcy5jb250YWlucyhFR0xfRE1BX0JVRl9QTEFORTJfTU9ESUZJ
RVJfTE9fRVhUKTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRhaW5QbGFuZTJNb2RpZmllckhp
ID0KKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jb250YWlucyhFR0xfRE1BX0JVRl9Q
TEFORTJfTU9ESUZJRVJfSElfRVhUKTsKKyAgICAgICAgICAgICAgICBib29sIGNvbnRhaW5QbGFu
ZTNNb2RpZmllckxvID0KKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jb250YWlucyhF
R0xfRE1BX0JVRl9QTEFORTNfTU9ESUZJRVJfTE9fRVhUKTsKKyAgICAgICAgICAgICAgICBib29s
IGNvbnRhaW5QbGFuZTNNb2RpZmllckhpID0KKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRl
cy5jb250YWlucyhFR0xfRE1BX0JVRl9QTEFORTNfTU9ESUZJRVJfSElfRVhUKTsKKyAgICAgICAg
ICAgICAgICBpZiAoKGNvbnRhaW5QbGFuZTBNb2RpZmllckxvIF4gY29udGFpblBsYW5lME1vZGlm
aWVySGkpIHx8CisgICAgICAgICAgICAgICAgICAgIChjb250YWluUGxhbmUxTW9kaWZpZXJMbyBe
IGNvbnRhaW5QbGFuZTFNb2RpZmllckhpKSB8fAorICAgICAgICAgICAgICAgICAgICAoY29udGFp
blBsYW5lMk1vZGlmaWVyTG8gXiBjb250YWluUGxhbmUyTW9kaWZpZXJIaSkgfHwKKyAgICAgICAg
ICAgICAgICAgICAgKGNvbnRhaW5QbGFuZTNNb2RpZmllckxvIF4gY29udGFpblBsYW5lM01vZGlm
aWVySGkpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVn
bEJhZFBhcmFtZXRlcigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAidGhlIGxpc3Qg
b2YgYXR0cmlidXRlcyBjb250YWlucyBFR0xfRE1BX0JVRl9QTEFORSpfTU9ESUZJRVJfTE9fRVhU
ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidXQgbm90IEVHTF9ETUFfQlVGX1BM
QU5FKl9NT0RJRklFUl9ISV9FWFQgb3IgdmljZSB2ZXJzYS4iOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICByZXR1cm4gRWdsQmFkUGFyYW1ldGVyKCkKICAgICAgICAgICAgICAgICAgICA8
PCAiaW52YWxpZCB0YXJnZXQ6IDB4IiA8PCBzdGQ6OmhleCA8PCBzdGQ6OnVwcGVyY2FzZSA8PCB0
YXJnZXQ7CkBAIC0zMTQ3LDEyICszMzYyLDI2IEBAIEVycm9yIFZhbGlkYXRlU3luY0NvbnRyb2xD
SFJPTUlVTShjb25zdCBEaXNwbGF5ICpkaXNwbGF5LCBjb25zdCBTdXJmYWNlICplZ2xTdXJmCiAg
ICAgcmV0dXJuIE5vRXJyb3IoKTsKIH0KIAotRXJyb3IgVmFsaWRhdGVHZXRNc2NSYXRlQ0hST01J
VU0oY29uc3QgRGlzcGxheSAqZGlzcGxheSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFN1cmZhY2UgKmVnbFN1cmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBFR0xpbnQgKm51bWVyYXRvciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEVHTGludCAqZGVub21pbmF0b3IpCitFcnJvciBWYWxpZGF0ZVN5bmND
b250cm9sUmF0ZUFOR0xFKGNvbnN0IERpc3BsYXkgKmRpc3BsYXksIGNvbnN0IFN1cmZhY2UgKmVn
bFN1cmZhY2UpCiB7Ci0gICAgQU5HTEVfVFJZKFZhbGlkYXRlU3luY0NvbnRyb2xDSFJPTUlVTShk
aXNwbGF5LCBlZ2xTdXJmYWNlKSk7CisgICAgQU5HTEVfVFJZKFZhbGlkYXRlRGlzcGxheShkaXNw
bGF5KSk7CisgICAgQU5HTEVfVFJZKFZhbGlkYXRlU3VyZmFjZShkaXNwbGF5LCBlZ2xTdXJmYWNl
KSk7CisKKyAgICBjb25zdCBEaXNwbGF5RXh0ZW5zaW9ucyAmZGlzcGxheUV4dGVuc2lvbnMgPSBk
aXNwbGF5LT5nZXRFeHRlbnNpb25zKCk7CisgICAgaWYgKCFkaXNwbGF5RXh0ZW5zaW9ucy5zeW5j
Q29udHJvbFJhdGVBTkdMRSkKKyAgICB7CisgICAgICAgIHJldHVybiBFZ2xCYWRBY2Nlc3MoKSA8
PCAic3luY0NvbnRyb2xSYXRlQU5HTEUgZXh0ZW5zaW9uIG5vdCBhY3RpdmUiOworICAgIH0KKwor
ICAgIHJldHVybiBOb0Vycm9yKCk7Cit9CisKK0Vycm9yIFZhbGlkYXRlR2V0TXNjUmF0ZUFOR0xF
KGNvbnN0IERpc3BsYXkgKmRpc3BsYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBTdXJmYWNlICplZ2xTdXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgRUdMaW50ICpudW1lcmF0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBFR0xpbnQgKmRlbm9taW5hdG9yKQoreworICAgIEFOR0xFX1RSWShWYWxpZGF0ZVN5bmND
b250cm9sUmF0ZUFOR0xFKGRpc3BsYXksIGVnbFN1cmZhY2UpKTsKIAogICAgIGlmIChudW1lcmF0
b3IgPT0gbnVsbHB0cikKICAgICB7CkBAIC00MTkxLDEyICs0NDIwLDYgQEAgRXJyb3IgVmFsaWRh
dGVEdXBOYXRpdmVGZW5jZUZEQU5EUk9JRChjb25zdCBEaXNwbGF5ICpkaXNwbGF5LCBjb25zdCBT
eW5jICpzeW5jKQogCiAgICAgQU5HTEVfVFJZKFZhbGlkYXRlU3luYyhkaXNwbGF5LCBzeW5jKSk7
CiAKLSAgICBpZiAoc3luYy0+Z2V0TmF0aXZlRmVuY2VGRCgpID09IEVHTF9OT19OQVRJVkVfRkVO
Q0VfRkRfQU5EUk9JRCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBFZ2xCYWRQYXJhbWV0ZXIoKSA8
PCAiRUdMX05BVElWRV9GRU5DRV9GRF9BTkRST0lEIGF0dHJpYnV0ZSBvZiBzeW5jIGlzICIKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFR0xfTk9fTkFUSVZFX0ZFTkNFX0ZE
X0FORFJPSUQiOwotICAgIH0KLQogICAgIHJldHVybiBOb0Vycm9yKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRUdMLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVHTC5oCmlu
ZGV4IDQ4Zjc0YzZmNTQzZDk4Mjc3YWYxNTk4ZjQ3NzQ2Y2QyZmE2MmYzMTIuLmRmNTUyM2E0MGQy
NDIxZDkzOGJmOTdkODRlMWY4MWUzYTY5YTZlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRUdMLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FR0wuaApAQCAtMTc0LDEwICsxNzQs
MTAgQEAgRXJyb3IgVmFsaWRhdGVTdHJlYW1Qb3N0RDNEVGV4dHVyZUFOR0xFKGNvbnN0IERpc3Bs
YXkgKmRpc3BsYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCAqdGV4dHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpOwogCi1FcnJvciBWYWxpZGF0ZUdldE1zY1JhdGVDSFJP
TUlVTShjb25zdCBEaXNwbGF5ICpkaXNwbGF5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEVHTGludCAqbnVtZXJhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgRUdMaW50ICpkZW5vbWluYXRvcik7CitFcnJvciBWYWxpZGF0ZUdldE1z
Y1JhdGVBTkdMRShjb25zdCBEaXNwbGF5ICpkaXNwbGF5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEVHTGludCAqbnVtZXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgRUdMaW50ICpkZW5vbWluYXRvcik7CiBFcnJvciBWYWxpZGF0ZUdldFN5bmNW
YWx1ZXNDSFJPTUlVTShjb25zdCBEaXNwbGF5ICpkaXNwbGF5LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgU3VyZmFjZSAqc3VyZmFjZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEVHTHVpbnQ2NEtIUiAqdXN0LApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcApp
bmRleCBiZmE5ODc2OTFhNTljOTVlYjkyY2E1NDEwZjJkODcyNTRjNDVlNDQ2Li40ZWM1MTYxNWUy
NDY3M2M0OGI5MDVkNTE5YzE3MTcxZTE4ZDRmNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcApAQCAtMTYxLDYgKzE2
MSwzOCBAQCBib29sIFZhbGlkUmVhZFBpeGVsc0Zvcm1hdEVudW0oY29uc3QgQ29udGV4dCAqY29u
dGV4dCwgR0xlbnVtIGZvcm1hdCkKICAgICB9CiB9CiAKK2Jvb2wgVmFsaWRSZWFkUGl4ZWxzVW5z
aWduZWROb3JtYWxpemVkRGVwdGhUeXBlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW50ZXJu
YWxGb3JtYXQgKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTGVudW0gdHlwZSkKK3sKKyAgICBib29sIHN1cHBvcnRzUmVhZERlcHRoTlYgPSAo
Y29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnJlYWREZXB0aE5WICYmIChpbmZvLT5kZXB0aEJpdHMg
PiAwKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5mby0+Y29tcG9uZW50
Q291bnQgPT0gMSkpOworICAgIGJvb2wgaXNHTEVTMzEgICAgICAgICAgICA9IChjb250ZXh0LT5n
ZXRDbGllbnRWZXJzaW9uKCkgPj0gRVNfM18xKTsKKyAgICBzd2l0Y2ggKHR5cGUpCisgICAgewor
ICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUOgorICAgICAgICAgICAgcmV0dXJuIHN1cHBv
cnRzUmVhZERlcHRoTlYgfHwKKyAgICAgICAgICAgICAgICAgICAoaXNHTEVTMzEgJiYgKGluZm8t
PnNpemVkSW50ZXJuYWxGb3JtYXQgPT0gR0xfREVQVEhfQ09NUE9ORU5UMTYpKTsKKyAgICAgICAg
Y2FzZSBHTF9VTlNJR05FRF9JTlQ6CisgICAgICAgICAgICByZXR1cm4gc3VwcG9ydHNSZWFkRGVw
dGhOViB8fAorICAgICAgICAgICAgICAgICAgIChpc0dMRVMzMSAmJiAoKGluZm8tPnNpemVkSW50
ZXJuYWxGb3JtYXQgPT0gR0xfREVQVEhfQ09NUE9ORU5UMTYpIHx8CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoaW5mby0+aW50ZXJuYWxGb3JtYXQgPT0gR0xfREVQVEhfQ09NUE9O
RU5UMjQpKSk7CisgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzI0Xzg6CisgICAgICAgICAg
ICByZXR1cm4gc3VwcG9ydHNSZWFkRGVwdGhOViB8fAorICAgICAgICAgICAgICAgICAgIChpc0dM
RVMzMSAmJiAoaW5mby0+c2l6ZWRJbnRlcm5hbEZvcm1hdCA9PSBHTF9ERVBUSDI0X1NURU5DSUw4
KSk7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
fQorCitib29sIFZhbGlkUmVhZFBpeGVsc0Zsb2F0RGVwdGhUeXBlKGNvbnN0IENvbnRleHQgKmNv
bnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbnRl
cm5hbEZvcm1hdCAqaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5yZWFkRGVw
dGhOViAmJiAodHlwZSA9PSBHTF9GTE9BVCkgJiYKKyAgICAgICAgICAgY29udGV4dC0+Z2V0RXh0
ZW5zaW9ucygpLmRlcHRoQnVmZmVyRmxvYXQyTlYgJiYgKGluZm8tPmNvbXBvbmVudENvdW50ID09
IDEpOworfQorCiBib29sIFZhbGlkUmVhZFBpeGVsc0Zvcm1hdFR5cGUoY29uc3QgQ29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6SW50ZXJu
YWxGb3JtYXQgKmluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZv
cm1hdCwKQEAgLTE3MSwxMiArMjAzLDIxIEBAIGJvb2wgVmFsaWRSZWFkUGl4ZWxzRm9ybWF0VHlw
ZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX05PUk1B
TElaRUQ6CiAgICAgICAgICAgICAvLyBUT0RPKGdlb2ZmbGFuZyk6IERvbid0IGFjY2VwdCBCR1JB
IGhlcmUuICBTb21lIGNocm9tZSBpbnRlcm5hbHMgYXBwZWFyIHRvIHRyeSB0byB1c2UKICAgICAg
ICAgICAgIC8vIFJlYWRQaXhlbHMgd2l0aCBCR1JBIGV2ZW4gaWYgdGhlIGV4dGVuc2lvbiBpcyBu
b3QgcHJlc2VudAotICAgICAgICAgICAgcmV0dXJuIChmb3JtYXQgPT0gR0xfUkdCQSAmJiB0eXBl
ID09IEdMX1VOU0lHTkVEX0JZVEUgJiYgaW5mby0+cGl4ZWxCeXRlcyA+PSAxKSB8fAotICAgICAg
ICAgICAgICAgICAgIChjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkudGV4dHVyZU5vcm0xNiAmJiBm
b3JtYXQgPT0gR0xfUkdCQSAmJgotICAgICAgICAgICAgICAgICAgICB0eXBlID09IEdMX1VOU0lH
TkVEX1NIT1JUICYmIGluZm8tPnBpeGVsQnl0ZXMgPj0gMikgfHwKLSAgICAgICAgICAgICAgICAg
ICAoY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnJlYWRGb3JtYXRCR1JBICYmIGZvcm1hdCA9PSBH
TF9CR1JBX0VYVCAmJgotICAgICAgICAgICAgICAgICAgICB0eXBlID09IEdMX1VOU0lHTkVEX0JZ
VEUpOwotCisgICAgICAgICAgICBzd2l0Y2ggKGZvcm1hdCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjYXNlIEdMX1JHQkE6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoKHR5
cGUgPT0gR0xfVU5TSUdORURfQllURSkgJiYgaW5mby0+cGl4ZWxCeXRlcyA+PSAxKSB8fAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS50ZXh0dXJl
Tm9ybTE2ICYmICh0eXBlID09IEdMX1VOU0lHTkVEX1NIT1JUKSAmJgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluZm8tPnBpeGVsQnl0ZXMgPj0gMik7CisgICAgICAgICAgICAgICAgY2Fz
ZSBHTF9CR1JBX0VYVDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQtPmdldEV4
dGVuc2lvbnMoKS5yZWFkRm9ybWF0QkdSQSAmJiAodHlwZSA9PSBHTF9VTlNJR05FRF9CWVRFKTsK
KyAgICAgICAgICAgICAgICBjYXNlIEdMX1NURU5DSUxfSU5ERVhfT0VTOgorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnJlYWRTdGVuY2lsTlYgJiYg
KHR5cGUgPT0gR0xfVU5TSUdORURfQllURSk7CisgICAgICAgICAgICAgICAgY2FzZSBHTF9ERVBU
SF9DT01QT05FTlQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBWYWxpZFJlYWRQaXhlbHNV
bnNpZ25lZE5vcm1hbGl6ZWREZXB0aFR5cGUoY29udGV4dCwgaW5mbywgdHlwZSk7CisgICAgICAg
ICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgfQogICAgICAgICBjYXNlIEdMX1NJR05FRF9OT1JNQUxJWkVEOgogICAgICAgICAg
ICAgcmV0dXJuIChmb3JtYXQgPT0gR0xfUkdCQSAmJiB0eXBlID09IEdMX0JZVEUgJiYgaW5mby0+
cGl4ZWxCeXRlcyA+PSAxKSB8fAogICAgICAgICAgICAgICAgICAgIChjb250ZXh0LT5nZXRFeHRl
bnNpb25zKCkudGV4dHVyZU5vcm0xNiAmJiBmb3JtYXQgPT0gR0xfUkdCQSAmJgpAQCAtMTg5LDgg
KzIzMCwxNSBAQCBib29sIFZhbGlkUmVhZFBpeGVsc0Zvcm1hdFR5cGUoY29uc3QgQ29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgIHJldHVybiAoZm9ybWF0ID09IEdMX1JHQkFfSU5URUdFUiAm
JiB0eXBlID09IEdMX1VOU0lHTkVEX0lOVCk7CiAKICAgICAgICAgY2FzZSBHTF9GTE9BVDoKLSAg
ICAgICAgICAgIHJldHVybiAoZm9ybWF0ID09IEdMX1JHQkEgJiYgdHlwZSA9PSBHTF9GTE9BVCk7
Ci0KKyAgICAgICAgICAgIHN3aXRjaCAoZm9ybWF0KQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGNhc2UgR0xfUkdCQToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0eXBlID09
IEdMX0ZMT0FUKTsKKyAgICAgICAgICAgICAgICBjYXNlIEdMX0RFUFRIX0NPTVBPTkVOVDoKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIFZhbGlkUmVhZFBpeGVsc0Zsb2F0RGVwdGhUeXBlKGNv
bnRleHQsIGluZm8sIHR5cGUpOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoK
ICAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0zNDYsNiArMzk0LDI5IEBAIGJvb2wgVmFsaWRhdGVUZXh0dXJlU1JHQkRlY29kZVZhbHVlKGNv
bnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IFBhcmFtVHlwZSAqcGFyCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBQYXJhbVR5cGU+Citib29sIFZhbGlkYXRlVGV4
dHVyZVNSR0JPdmVycmlkZVZhbHVlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IFBhcmFt
VHlwZSAqcGFyYW1zKQoreworICAgIGlmICghY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnRleHR1
cmVTUkdCT3ZlcnJpZGUpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3Io
R0xfSU5WQUxJRF9FTlVNLCBrRXh0ZW5zaW9uTm90RW5hYmxlZCk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKENvbnZlcnRUb0dMZW51bShwYXJhbXNbMF0pKQor
ICAgIHsKKyAgICAgICAgY2FzZSBHTF9TUkdCOgorICAgICAgICBjYXNlIEdMX05PTkU6CisgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgY29udGV4dC0+
dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwga1Vua25vd25QYXJhbWV0ZXIpOworICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBi
b29sIFZhbGlkYXRlVGV4dHVyZU1heEFuaXNvdHJvcHlFeHRlbnNpb25FbmFibGVkKGNvbnN0IENv
bnRleHQgKmNvbnRleHQpCiB7CiAgICAgaWYgKCFjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkudGV4
dHVyZUZpbHRlckFuaXNvdHJvcGljKQpAQCAtMzc3LDcgKzQ0OCw3IEBAIGJvb2wgVmFsaWRhdGVU
ZXh0dXJlTWF4QW5pc290cm9weVZhbHVlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZmxvYXQg
cGFyYW1WYWx1CiAKIGJvb2wgVmFsaWRhdGVGcmFnbWVudFNoYWRlckNvbG9yQnVmZmVyTWFza01h
dGNoKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiB7Ci0gICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3Jh
bSAgICAgICAgID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRMaW5rZWRQcm9ncmFtKGNvbnRleHQp
OworICAgIGNvbnN0IFByb2dyYW0gKnByb2dyYW0gICAgICAgICA9IGNvbnRleHQtPmdldEFjdGl2
ZUxpbmtlZFByb2dyYW0oKTsKICAgICBjb25zdCBGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIgPSBj
b250ZXh0LT5nZXRTdGF0ZSgpLmdldERyYXdGcmFtZWJ1ZmZlcigpOwogCiAgICAgYXV0byBkcmF3
QnVmZmVyTWFzayAgICAgPSBmcmFtZWJ1ZmZlci0+Z2V0RHJhd0J1ZmZlck1hc2soKS50b191bG9u
ZygpOwpAQCAtMzg4LDcgKzQ1OSw3IEBAIGJvb2wgVmFsaWRhdGVGcmFnbWVudFNoYWRlckNvbG9y
QnVmZmVyTWFza01hdGNoKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAKIGJvb2wgVmFsaWRhdGVG
cmFnbWVudFNoYWRlckNvbG9yQnVmZmVyVHlwZU1hdGNoKGNvbnN0IENvbnRleHQgKmNvbnRleHQp
CiB7Ci0gICAgY29uc3QgUHJvZ3JhbSAqcHJvZ3JhbSAgICAgICAgID0gY29udGV4dC0+Z2V0U3Rh
dGUoKS5nZXRMaW5rZWRQcm9ncmFtKGNvbnRleHQpOworICAgIGNvbnN0IFByb2dyYW0gKnByb2dy
YW0gICAgICAgICA9IGNvbnRleHQtPmdldEFjdGl2ZUxpbmtlZFByb2dyYW0oKTsKICAgICBjb25z
dCBGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIgPSBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldERyYXdG
cmFtZWJ1ZmZlcigpOwogCiAgICAgcmV0dXJuIFZhbGlkYXRlQ29tcG9uZW50VHlwZU1hc2tzKHBy
b2dyYW0tPmdldERyYXdCdWZmZXJUeXBlTWFzaygpLnRvX3Vsb25nKCksCkBAIC00MDAsNyArNDcx
LDcgQEAgYm9vbCBWYWxpZGF0ZUZyYWdtZW50U2hhZGVyQ29sb3JCdWZmZXJUeXBlTWF0Y2goY29u
c3QgQ29udGV4dCAqY29udGV4dCkKIGJvb2wgVmFsaWRhdGVWZXJ0ZXhTaGFkZXJBdHRyaWJ1dGVU
eXBlTWF0Y2goY29uc3QgQ29udGV4dCAqY29udGV4dCkKIHsKICAgICBjb25zdCBhdXRvICZnbFN0
YXRlICAgID0gY29udGV4dC0+Z2V0U3RhdGUoKTsKLSAgICBjb25zdCBQcm9ncmFtICpwcm9ncmFt
ID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRMaW5rZWRQcm9ncmFtKGNvbnRleHQpOworICAgIGNv
bnN0IFByb2dyYW0gKnByb2dyYW0gPSBjb250ZXh0LT5nZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7
CiAgICAgY29uc3QgVmVydGV4QXJyYXkgKnZhbyA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0VmVy
dGV4QXJyYXkoKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgc3RhdGVDdXJyZW50VmFsdWVzVHlwZUJp
dHMgPSBnbFN0YXRlLmdldEN1cnJlbnRWYWx1ZXNUeXBlTWFzaygpLnRvX3Vsb25nKCk7CkBAIC00
MTEsOSArNDgyLDEwIEBAIGJvb2wgVmFsaWRhdGVWZXJ0ZXhTaGFkZXJBdHRyaWJ1dGVUeXBlTWF0
Y2goY29uc3QgQ29udGV4dCAqY29udGV4dCkKICAgICB2YW9BdHRyaWJUeXBlQml0cyA9ICh2YW9B
dHRyaWJFbmFibGVkTWFzayAmIHZhb0F0dHJpYlR5cGVCaXRzKTsKICAgICB2YW9BdHRyaWJUeXBl
Qml0cyB8PSAofnZhb0F0dHJpYkVuYWJsZWRNYXNrICYgc3RhdGVDdXJyZW50VmFsdWVzVHlwZUJp
dHMpOwogCi0gICAgcmV0dXJuIFZhbGlkYXRlQ29tcG9uZW50VHlwZU1hc2tzKAotICAgICAgICBw
cm9ncmFtLT5nZXRFeGVjdXRhYmxlKCkuZ2V0QXR0cmlidXRlc1R5cGVNYXNrKCkudG9fdWxvbmco
KSwgdmFvQXR0cmliVHlwZUJpdHMsCi0gICAgICAgIHByb2dyYW0tPmdldEV4ZWN1dGFibGUoKS5n
ZXRBdHRyaWJ1dGVzTWFzaygpLnRvX3Vsb25nKCksIDB4RkZGRik7CisgICAgcmV0dXJuIHByb2dy
YW0gJiYKKyAgICAgICAgICAgVmFsaWRhdGVDb21wb25lbnRUeXBlTWFza3MoCisgICAgICAgICAg
ICAgICBwcm9ncmFtLT5nZXRFeGVjdXRhYmxlKCkuZ2V0QXR0cmlidXRlc1R5cGVNYXNrKCkudG9f
dWxvbmcoKSwgdmFvQXR0cmliVHlwZUJpdHMsCisgICAgICAgICAgICAgICBwcm9ncmFtLT5nZXRF
eGVjdXRhYmxlKCkuZ2V0QXR0cmlidXRlc01hc2soKS50b191bG9uZygpLCAweEZGRkYpOwogfQog
CiBib29sIElzQ29tcGF0aWJsZURyYXdNb2RlV2l0aEdlb21ldHJ5U2hhZGVyKFByaW1pdGl2ZU1v
ZGUgZHJhd01vZGUsCkBAIC02MTgsNyArNjkwLDcgQEAgYm9vbCBWYWxpZGF0ZURyYXdFbGVtZW50
c0luc3RhbmNlZEJhc2UoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFByaW1pdGl2ZU1vZGUgbW9kZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgY291bnQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBEcmF3RWxlbWVudHNUeXBlIHR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTHZvaWQgKmluZGljZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbmRpY2VzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBwcmltY291bnQp
CiB7CiAgICAgaWYgKHByaW1jb3VudCA8PSAwKQpAQCAtNjg1LDYgKzc1NywxNiBAQCBib29sIFZh
bGlkYXRlRHJhd0luc3RhbmNlZEFOR0xFKGNvbnN0IENvbnRleHQgKmNvbnRleHQpCiAgICAgY29u
c3QgU3RhdGUgJnN0YXRlICAgICAgICAgICAgICAgICAgPSBjb250ZXh0LT5nZXRTdGF0ZSgpOwog
ICAgIGNvbnN0IFByb2dyYW1FeGVjdXRhYmxlICpleGVjdXRhYmxlID0gc3RhdGUuZ2V0UHJvZ3Jh
bUV4ZWN1dGFibGUoKTsKIAorICAgIGlmICghZXhlY3V0YWJsZSkKKyAgICB7CisgICAgICAgIC8v
IE5vIGV4ZWN1dGFibGUgbWVhbnMgdGhlcmUgaXMgbm8gUHJvZ3JhbS9QUE8gYm91bmQsIHdoaWNo
IGlzIHVuZGVmaW5lZCBiZWhhdmlvciwgYnV0IGlzbid0CisgICAgICAgIC8vIGFuIGVycm9yLgor
ICAgICAgICBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldERlYnVnKCkuaW5zZXJ0TWVzc2FnZSgKKyAg
ICAgICAgICAgIEdMX0RFQlVHX1NPVVJDRV9BUEksIEdMX0RFQlVHX1RZUEVfVU5ERUZJTkVEX0JF
SEFWSU9SLCAwLCBHTF9ERUJVR19TRVZFUklUWV9ISUdILAorICAgICAgICAgICAgc3RkOjpzdHJp
bmcoIkF0dGVtcHRpbmcgdG8gZHJhdyB3aXRob3V0IGEgcHJvZ3JhbSIpLCBnbDo6TE9HX1dBUk4p
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKICAgICBjb25zdCBhdXRvICZhdHRyaWJz
ICA9IHN0YXRlLmdldFZlcnRleEFycmF5KCktPmdldFZlcnRleEF0dHJpYnV0ZXMoKTsKICAgICBj
b25zdCBhdXRvICZiaW5kaW5ncyA9IHN0YXRlLmdldFZlcnRleEFycmF5KCktPmdldFZlcnRleEJp
bmRpbmdzKCk7CiAgICAgZm9yIChzaXplX3QgYXR0cmlidXRlSW5kZXggPSAwOyBhdHRyaWJ1dGVJ
bmRleCA8IE1BWF9WRVJURVhfQVRUUklCUzsgYXR0cmlidXRlSW5kZXgrKykKQEAgLTIyMjAsNyAr
MjMwMiw3IEBAIGJvb2wgVmFsaWRhdGVVbmlmb3JtKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGNvdW50KQogewogICAgIGNvbnN0IExpbmtlZFVu
aWZvcm0gKnVuaWZvcm0gPSBudWxscHRyOwotICAgIFByb2dyYW0gKnByb2dyYW1PYmplY3QgICAg
ICAgPSBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldExpbmtlZFByb2dyYW0oY29udGV4dCk7CisgICAg
UHJvZ3JhbSAqcHJvZ3JhbU9iamVjdCAgICAgICA9IGNvbnRleHQtPmdldEFjdGl2ZUxpbmtlZFBy
b2dyYW0oKTsKICAgICByZXR1cm4gVmFsaWRhdGVVbmlmb3JtQ29tbW9uQmFzZShjb250ZXh0LCBw
cm9ncmFtT2JqZWN0LCBsb2NhdGlvbiwgY291bnQsICZ1bmlmb3JtKSAmJgogICAgICAgICAgICBW
YWxpZGF0ZVVuaWZvcm1WYWx1ZShjb250ZXh0LCB2YWx1ZVR5cGUsIHVuaWZvcm0tPnR5cGUpOwog
fQpAQCAtMjIzMSw3ICsyMzEzLDcgQEAgYm9vbCBWYWxpZGF0ZVVuaWZvcm0xaXYoY29uc3QgQ29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMaW50ICp2YWx1
ZSkKIHsKICAgICBjb25zdCBMaW5rZWRVbmlmb3JtICp1bmlmb3JtID0gbnVsbHB0cjsKLSAgICBQ
cm9ncmFtICpwcm9ncmFtT2JqZWN0ICAgICAgID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRMaW5r
ZWRQcm9ncmFtKGNvbnRleHQpOworICAgIFByb2dyYW0gKnByb2dyYW1PYmplY3QgICAgICAgPSBj
b250ZXh0LT5nZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgcmV0dXJuIFZhbGlkYXRlVW5p
Zm9ybUNvbW1vbkJhc2UoY29udGV4dCwgcHJvZ3JhbU9iamVjdCwgbG9jYXRpb24sIGNvdW50LCAm
dW5pZm9ybSkgJiYKICAgICAgICAgICAgVmFsaWRhdGVVbmlmb3JtMWl2VmFsdWUoY29udGV4dCwg
dW5pZm9ybS0+dHlwZSwgY291bnQsIHZhbHVlKTsKIH0KQEAgLTIyNDksNyArMjMzMSw3IEBAIGJv
b2wgVmFsaWRhdGVVbmlmb3JtTWF0cml4KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgfQog
CiAgICAgY29uc3QgTGlua2VkVW5pZm9ybSAqdW5pZm9ybSA9IG51bGxwdHI7Ci0gICAgUHJvZ3Jh
bSAqcHJvZ3JhbU9iamVjdCAgICAgICA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0TGlua2VkUHJv
Z3JhbShjb250ZXh0KTsKKyAgICBQcm9ncmFtICpwcm9ncmFtT2JqZWN0ICAgICAgID0gY29udGV4
dC0+Z2V0QWN0aXZlTGlua2VkUHJvZ3JhbSgpOwogICAgIHJldHVybiBWYWxpZGF0ZVVuaWZvcm1D
b21tb25CYXNlKGNvbnRleHQsIHByb2dyYW1PYmplY3QsIGxvY2F0aW9uLCBjb3VudCwgJnVuaWZv
cm0pICYmCiAgICAgICAgICAgIFZhbGlkYXRlVW5pZm9ybU1hdHJpeFZhbHVlKGNvbnRleHQsIHZh
bHVlVHlwZSwgdW5pZm9ybS0+dHlwZSk7CiB9CkBAIC0yNjQ4LDYgKzI3MzAsMTExIEBAIGJvb2wg
VmFsaWRhdGVDb3B5VGV4SW1hZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0
LAogICAgIHJldHVybiB0cnVlOwogfQogCitjb25zdCBjaGFyICpWYWxpZGF0ZVByb2dyYW1EcmF3
U3RhdGVzKGNvbnN0IFN0YXRlICZzdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgRXh0ZW5zaW9ucyAmZXh0ZW5zaW9ucywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbSAqcHJvZ3JhbSkKK3sKKyAgICBpZiAoZXh0ZW5z
aW9ucy5tdWx0aXZpZXcgfHwgZXh0ZW5zaW9ucy5tdWx0aXZpZXcyKQorICAgIHsKKyAgICAgICAg
Y29uc3QgaW50IHByb2dyYW1OdW1WaWV3cyAgICAgPSBwcm9ncmFtLT51c2VzTXVsdGl2aWV3KCkg
PyBwcm9ncmFtLT5nZXROdW1WaWV3cygpIDogMTsKKyAgICAgICAgRnJhbWVidWZmZXIgKmZyYW1l
YnVmZmVyICAgICAgPSBzdGF0ZS5nZXREcmF3RnJhbWVidWZmZXIoKTsKKyAgICAgICAgY29uc3Qg
aW50IGZyYW1lYnVmZmVyTnVtVmlld3MgPSBmcmFtZWJ1ZmZlci0+Z2V0TnVtVmlld3MoKTsKKwor
ICAgICAgICBpZiAoZnJhbWVidWZmZXJOdW1WaWV3cyAhPSBwcm9ncmFtTnVtVmlld3MpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyOjprTXVsdGl2aWV3TWlzbWF0Y2g7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoc3RhdGUuaXNUcmFuc2Zvcm1GZWVkYmFja0FjdGl2ZVVu
cGF1c2VkKCkgJiYgZnJhbWVidWZmZXJOdW1WaWV3cyA+IDEpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBnbDo6ZXJyOjprTXVsdGl2aWV3VHJhbnNmb3JtRmVlZGJhY2s7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoZXh0ZW5zaW9ucy5kaXNqb2ludFRpbWVyUXVlcnkgJiYgZnJhbWVi
dWZmZXJOdW1WaWV3cyA+IDEgJiYKKyAgICAgICAgICAgIHN0YXRlLmlzUXVlcnlBY3RpdmUoUXVl
cnlUeXBlOjpUaW1lRWxhcHNlZCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6
ZXJyOjprTXVsdGl2aWV3VGltZXJRdWVyeTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFVu
aWZvcm0gYnVmZmVyIHZhbGlkYXRpb24KKyAgICBmb3IgKHVuc2lnbmVkIGludCB1bmlmb3JtQmxv
Y2tJbmRleCA9IDA7CisgICAgICAgICB1bmlmb3JtQmxvY2tJbmRleCA8IHByb2dyYW0tPmdldEFj
dGl2ZVVuaWZvcm1CbG9ja0NvdW50KCk7IHVuaWZvcm1CbG9ja0luZGV4KyspCisgICAgeworICAg
ICAgICBjb25zdCBJbnRlcmZhY2VCbG9jayAmdW5pZm9ybUJsb2NrID0gcHJvZ3JhbS0+Z2V0VW5p
Zm9ybUJsb2NrQnlJbmRleCh1bmlmb3JtQmxvY2tJbmRleCk7CisgICAgICAgIEdMdWludCBibG9j
a0JpbmRpbmcgICAgICAgICAgICAgICAgPSBwcm9ncmFtLT5nZXRVbmlmb3JtQmxvY2tCaW5kaW5n
KHVuaWZvcm1CbG9ja0luZGV4KTsKKyAgICAgICAgY29uc3QgT2Zmc2V0QmluZGluZ1BvaW50ZXI8
QnVmZmVyPiAmdW5pZm9ybUJ1ZmZlciA9CisgICAgICAgICAgICBzdGF0ZS5nZXRJbmRleGVkVW5p
Zm9ybUJ1ZmZlcihibG9ja0JpbmRpbmcpOworCisgICAgICAgIGlmICh1bmlmb3JtQnVmZmVyLmdl
dCgpID09IG51bGxwdHIpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIHVuZGVmaW5lZCBiZWhh
dmlvdXIKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyOjprVW5pZm9ybUJ1ZmZlclVuYm91bmQ7
CisgICAgICAgIH0KKworICAgICAgICBzaXplX3QgdW5pZm9ybUJ1ZmZlclNpemUgPSBHZXRCb3Vu
ZEJ1ZmZlckF2YWlsYWJsZVNpemUodW5pZm9ybUJ1ZmZlcik7CisgICAgICAgIGlmICh1bmlmb3Jt
QnVmZmVyU2l6ZSA8IHVuaWZvcm1CbG9jay5kYXRhU2l6ZSkKKyAgICAgICAgeworICAgICAgICAg
ICAgLy8gdW5kZWZpbmVkIGJlaGF2aW91cgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnI6OmtV
bmlmb3JtQnVmZmVyVG9vU21hbGw7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZXh0ZW5zaW9u
cy53ZWJnbENvbXBhdGliaWxpdHkgJiYKKyAgICAgICAgICAgIHVuaWZvcm1CdWZmZXItPmlzQm91
bmRGb3JUcmFuc2Zvcm1GZWVkYmFja0FuZE90aGVyVXNlKCkpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBnbDo6ZXJyOjprVW5pZm9ybUJ1ZmZlckJvdW5kRm9yVHJhbnNmb3JtRmVlZGJh
Y2s7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworY29uc3Qg
Y2hhciAqVmFsaWRhdGVQcm9ncmFtUGlwZWxpbmVEcmF3U3RhdGVzKGNvbnN0IFN0YXRlICZzdGF0
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBF
eHRlbnNpb25zICZleHRlbnNpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFByb2dyYW1QaXBlbGluZSAqcHJvZ3JhbVBpcGVsaW5lKQoreworICAgIGZv
ciAoY29uc3QgU2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5cGVzKCkpCisg
ICAgeworICAgICAgICBQcm9ncmFtICpwcm9ncmFtID0gcHJvZ3JhbVBpcGVsaW5lLT5nZXRTaGFk
ZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAgICAgICBpZiAocHJvZ3JhbSkKKyAgICAgICAgewor
ICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JNc2cgPSBWYWxpZGF0ZVByb2dyYW1EcmF3U3Rh
dGVzKHN0YXRlLCBleHRlbnNpb25zLCBwcm9ncmFtKTsKKyAgICAgICAgICAgIGlmIChlcnJvck1z
ZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JNc2c7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
Y29uc3QgY2hhciAqVmFsaWRhdGVQcm9ncmFtUGlwZWxpbmVBdHRhY2hlZFByb2dyYW1zKFByb2dy
YW1QaXBlbGluZSAqcHJvZ3JhbVBpcGVsaW5lKQoreworICAgIC8vIEFuIElOVkFMSURfT1BFUkFU
SU9OIGVycm9yIGlzIGdlbmVyYXRlZCBieSBhbnkgY29tbWFuZCB0aGF0IHRyYW5zZmVycyB2ZXJ0
aWNlcyB0byB0aGUKKyAgICAvLyBHTCBvciBsYXVuY2hlcyBjb21wdXRlIHdvcmsgaWYgdGhlIGN1
cnJlbnQgc2V0IG9mIGFjdGl2ZQorICAgIC8vIHByb2dyYW0gb2JqZWN0cyBjYW5ub3QgYmUgZXhl
Y3V0ZWQsIGZvciByZWFzb25zIGluY2x1ZGluZzoKKyAgICAvLyAtIEEgcHJvZ3JhbSBvYmplY3Qg
aXMgYWN0aXZlIGZvciBhdCBsZWFzdCBvbmUsIGJ1dCBub3QgYWxsIG9mIHRoZSBzaGFkZXIKKyAg
ICAvLyBzdGFnZXMgdGhhdCB3ZXJlIHByZXNlbnQgd2hlbiB0aGUgcHJvZ3JhbSB3YXMgbGlua2Vk
LgorICAgIGZvciAoY29uc3QgU2hhZGVyVHlwZSBzaGFkZXJUeXBlIDogZ2w6OkFsbFNoYWRlclR5
cGVzKCkpCisgICAgeworICAgICAgICBQcm9ncmFtICpzaGFkZXJQcm9ncmFtID0gcHJvZ3JhbVBp
cGVsaW5lLT5nZXRTaGFkZXJQcm9ncmFtKHNoYWRlclR5cGUpOworICAgICAgICBpZiAoc2hhZGVy
UHJvZ3JhbSkKKyAgICAgICAgeworICAgICAgICAgICAgUHJvZ3JhbUV4ZWN1dGFibGUgJmV4ZWN1
dGFibGUgPSBzaGFkZXJQcm9ncmFtLT5nZXRFeGVjdXRhYmxlKCk7CisgICAgICAgICAgICBmb3Ig
KGNvbnN0IFNoYWRlclR5cGUgcHJvZ3JhbVNoYWRlclR5cGUgOiBleGVjdXRhYmxlLmdldExpbmtl
ZFNoYWRlclN0YWdlcygpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChzaGFk
ZXJQcm9ncmFtICE9IHByb2dyYW1QaXBlbGluZS0+Z2V0U2hhZGVyUHJvZ3JhbShwcm9ncmFtU2hh
ZGVyVHlwZSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
Z2w6OmVycjo6a05vdEFsbFN0YWdlc09mU2VwYXJhYmxlUHJvZ3JhbVVzZWQ7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKIC8vIE5vdGUgYWxsIGVycm9ycyByZXR1cm5lZCBmcm9tIHRoaXMgZnVuY3Rp
b24gYXJlIElOVkFMSURfT1BFUkFUSU9OIGV4Y2VwdCBmb3IgdGhlIGRyYXcgZnJhbWVidWZmZXIK
IC8vIGNvbXBsZXRlbmVzcyBjaGVjay4KIGNvbnN0IGNoYXIgKlZhbGlkYXRlRHJhd1N0YXRlcyhj
b25zdCBDb250ZXh0ICpjb250ZXh0KQpAQCAtMjc1OCw3OCArMjk0NSw0MyBAQCBjb25zdCBjaGFy
ICpWYWxpZGF0ZURyYXdTdGF0ZXMoY29uc3QgQ29udGV4dCAqY29udGV4dCkKICAgICAvLyBJZiB3
ZSBhcmUgcnVubmluZyBHTEVTMSwgdGhlcmUgaXMgbm8gY3VycmVudCBwcm9ncmFtLgogICAgIGlm
IChjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkgPj0gVmVyc2lvbigyLCAwKSkKICAgICB7Ci0g
ICAgICAgIFByb2dyYW0gKnByb2dyYW0gPSBzdGF0ZS5nZXRMaW5rZWRQcm9ncmFtKGNvbnRleHQp
OwotICAgICAgICBpZiAoIXByb2dyYW0pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBr
UHJvZ3JhbU5vdEJvdW5kOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gSW4gT3BlbkdMIEVTIHNw
ZWMgZm9yIFVzZVByb2dyYW0gYXQgc2VjdGlvbiA3LjMsIHRyeWluZyB0byByZW5kZXIgd2l0aG91
dAotICAgICAgICAvLyB2ZXJ0ZXggc2hhZGVyIHN0YWdlIG9yIGZyYWdtZW50IHNoYWRlciBzdGFn
ZSBpcyBhIHVuZGVmaW5lZCBiZWhhdmlvdXIuCi0gICAgICAgIC8vIEJ1dCBBTkdMRSBzaG91bGQg
Y2xlYXJseSBnZW5lcmF0ZSBhbiBJTlZBTElEX09QRVJBVElPTiBlcnJvciBpbnN0ZWFkIG9mCi0g
ICAgICAgIC8vIHByb2R1Y2UgdW5kZWZpbmVkIHJlc3VsdC4KLSAgICAgICAgaWYgKCFwcm9ncmFt
LT5nZXRFeGVjdXRhYmxlKCkuaGFzTGlua2VkU2hhZGVyU3RhZ2UoU2hhZGVyVHlwZTo6VmVydGV4
KSB8fAotICAgICAgICAgICAgIXByb2dyYW0tPmdldEV4ZWN1dGFibGUoKS5oYXNMaW5rZWRTaGFk
ZXJTdGFnZShTaGFkZXJUeXBlOjpGcmFnbWVudCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBrTm9BY3RpdmVHcmFwaGljc1NoYWRlclN0YWdlOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKCFwcm9ncmFtLT52YWxpZGF0ZVNhbXBsZXJzKG51bGxwdHIsIGNvbnRleHQtPmdldENhcHMo
KSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBrVGV4dHVyZVR5cGVDb25mbGljdDsK
LSAgICAgICAgfQorICAgICAgICBQcm9ncmFtICpwcm9ncmFtICAgICAgICAgICAgICAgICA9IHN0
YXRlLmdldExpbmtlZFByb2dyYW0oY29udGV4dCk7CisgICAgICAgIFByb2dyYW1QaXBlbGluZSAq
cHJvZ3JhbVBpcGVsaW5lID0gc3RhdGUuZ2V0UHJvZ3JhbVBpcGVsaW5lKCk7CiAKLSAgICAgICAg
aWYgKGV4dGVuc2lvbnMubXVsdGl2aWV3IHx8IGV4dGVuc2lvbnMubXVsdGl2aWV3MikKKyAgICAg
ICAgaWYgKHByb2dyYW0pCiAgICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IGludCBwcm9ncmFt
TnVtVmlld3MgICAgID0gcHJvZ3JhbS0+dXNlc011bHRpdmlldygpID8gcHJvZ3JhbS0+Z2V0TnVt
Vmlld3MoKSA6IDE7Ci0gICAgICAgICAgICBjb25zdCBpbnQgZnJhbWVidWZmZXJOdW1WaWV3cyA9
IGZyYW1lYnVmZmVyLT5nZXROdW1WaWV3cygpOwotICAgICAgICAgICAgaWYgKGZyYW1lYnVmZmVy
TnVtVmlld3MgIT0gcHJvZ3JhbU51bVZpZXdzKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHJldHVybiBrTXVsdGl2aWV3TWlzbWF0Y2g7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmIChzdGF0ZS5pc1RyYW5zZm9ybUZlZWRiYWNrQWN0aXZlVW5wYXVzZWQoKSAmJiBmcmFt
ZWJ1ZmZlck51bVZpZXdzID4gMSkKKyAgICAgICAgICAgIGlmICghcHJvZ3JhbS0+dmFsaWRhdGVT
YW1wbGVycyhudWxscHRyLCBjb250ZXh0LT5nZXRDYXBzKCkpKQogICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJldHVybiBrTXVsdGl2aWV3VHJhbnNmb3JtRmVlZGJhY2s7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIGtUZXh0dXJlVHlwZUNvbmZsaWN0OwogICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICBpZiAoZXh0ZW5zaW9ucy5kaXNqb2ludFRpbWVyUXVlcnkgJiYgZnJhbWVidWZm
ZXJOdW1WaWV3cyA+IDEgJiYKLSAgICAgICAgICAgICAgICBzdGF0ZS5pc1F1ZXJ5QWN0aXZlKFF1
ZXJ5VHlwZTo6VGltZUVsYXBzZWQpKQorICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JNc2cg
PSBWYWxpZGF0ZVByb2dyYW1EcmF3U3RhdGVzKHN0YXRlLCBleHRlbnNpb25zLCBwcm9ncmFtKTsK
KyAgICAgICAgICAgIGlmIChlcnJvck1zZykKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4ga011bHRpdmlld1RpbWVyUXVlcnk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVy
cm9yTXNnOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0KLSAgICAgICAgLy8gVW5pZm9ybSBi
dWZmZXIgdmFsaWRhdGlvbgotICAgICAgICBmb3IgKHVuc2lnbmVkIGludCB1bmlmb3JtQmxvY2tJ
bmRleCA9IDA7Ci0gICAgICAgICAgICAgdW5pZm9ybUJsb2NrSW5kZXggPCBwcm9ncmFtLT5nZXRB
Y3RpdmVVbmlmb3JtQmxvY2tDb3VudCgpOyB1bmlmb3JtQmxvY2tJbmRleCsrKQorICAgICAgICBl
bHNlIGlmIChwcm9ncmFtUGlwZWxpbmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IElu
dGVyZmFjZUJsb2NrICZ1bmlmb3JtQmxvY2sgPSBwcm9ncmFtLT5nZXRVbmlmb3JtQmxvY2tCeUlu
ZGV4KHVuaWZvcm1CbG9ja0luZGV4KTsKLSAgICAgICAgICAgIEdMdWludCBibG9ja0JpbmRpbmcg
ICAgICAgICAgICAgICAgPSBwcm9ncmFtLT5nZXRVbmlmb3JtQmxvY2tCaW5kaW5nKHVuaWZvcm1C
bG9ja0luZGV4KTsKLSAgICAgICAgICAgIGNvbnN0IE9mZnNldEJpbmRpbmdQb2ludGVyPEJ1ZmZl
cj4gJnVuaWZvcm1CdWZmZXIgPQotICAgICAgICAgICAgICAgIHN0YXRlLmdldEluZGV4ZWRVbmlm
b3JtQnVmZmVyKGJsb2NrQmluZGluZyk7Ci0KLSAgICAgICAgICAgIGlmICh1bmlmb3JtQnVmZmVy
LmdldCgpID09IG51bGxwdHIpCisgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvck1zZyA9IFZh
bGlkYXRlUHJvZ3JhbVBpcGVsaW5lQXR0YWNoZWRQcm9ncmFtcyhwcm9ncmFtUGlwZWxpbmUpOwor
ICAgICAgICAgICAgaWYgKGVycm9yTXNnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IC8vIHVuZGVmaW5lZCBiZWhhdmlvdXIKLSAgICAgICAgICAgICAgICByZXR1cm4ga1VuaWZvcm1C
dWZmZXJVbmJvdW5kOworICAgICAgICAgICAgICAgIHJldHVybiBlcnJvck1zZzsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgc2l6ZV90IHVuaWZvcm1CdWZmZXJTaXplID0gR2V0Qm91bmRC
dWZmZXJBdmFpbGFibGVTaXplKHVuaWZvcm1CdWZmZXIpOwotICAgICAgICAgICAgaWYgKHVuaWZv
cm1CdWZmZXJTaXplIDwgdW5pZm9ybUJsb2NrLmRhdGFTaXplKQorICAgICAgICAgICAgaWYgKCFw
cm9ncmFtUGlwZWxpbmUtPnZhbGlkYXRlU2FtcGxlcnMobnVsbHB0ciwgY29udGV4dC0+Z2V0Q2Fw
cygpKSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvLyB1bmRlZmluZWQgYmVoYXZp
b3VyCi0gICAgICAgICAgICAgICAgcmV0dXJuIGtVbmlmb3JtQnVmZmVyVG9vU21hbGw7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGtUZXh0dXJlVHlwZUNvbmZsaWN0OwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBpZiAoZXh0ZW5zaW9ucy53ZWJnbENvbXBhdGliaWxpdHkgJiYKLSAgICAg
ICAgICAgICAgICB1bmlmb3JtQnVmZmVyLT5pc0JvdW5kRm9yVHJhbnNmb3JtRmVlZGJhY2tBbmRP
dGhlclVzZSgpKQorICAgICAgICAgICAgZXJyb3JNc2cgPSBWYWxpZGF0ZVByb2dyYW1QaXBlbGlu
ZURyYXdTdGF0ZXMoc3RhdGUsIGV4dGVuc2lvbnMsIHByb2dyYW1QaXBlbGluZSk7CisgICAgICAg
ICAgICBpZiAoZXJyb3JNc2cpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IGtVbmlmb3JtQnVmZmVyQm91bmRGb3JUcmFuc2Zvcm1GZWVkYmFjazsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZXJyb3JNc2c7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAv
LyBEbyBzb21lIGFkZGl0b25hbCBXZWJHTC1zcGVjaWZpYyB2YWxpZGF0aW9uCisgICAgICAgIC8v
IERvIHNvbWUgYWRkaXRpb25hbCBXZWJHTC1zcGVjaWZpYyB2YWxpZGF0aW9uCiAgICAgICAgIGlm
IChleHRlbnNpb25zLndlYmdsQ29tcGF0aWJpbGl0eSkKICAgICAgICAgewogICAgICAgICAgICAg
aWYgKCFzdGF0ZS52YWxpZGF0ZVNhbXBsZXJGb3JtYXRzKCkpCkBAIC0yOTI4LDcgKzMwODAsNyBA
QCB2b2lkIFJlY29yZERyYXdNb2RlRXJyb3IoY29uc3QgQ29udGV4dCAqY29udGV4dCwgUHJpbWl0
aXZlTW9kZSBtb2RlKQogICAgIC8vIElmIHdlIGFyZSBydW5uaW5nIEdMRVMxLCB0aGVyZSBpcyBu
byBjdXJyZW50IHByb2dyYW0uCiAgICAgaWYgKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSA+
PSBWZXJzaW9uKDIsIDApKQogICAgIHsKLSAgICAgICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IHN0YXRl
LmdldExpbmtlZFByb2dyYW0oY29udGV4dCk7CisgICAgICAgIFByb2dyYW0gKnByb2dyYW0gPSBj
b250ZXh0LT5nZXRBY3RpdmVMaW5rZWRQcm9ncmFtKCk7CiAgICAgICAgIEFTU0VSVChwcm9ncmFt
KTsKIAogICAgICAgICAvLyBEbyBnZW9tZXRyeSBzaGFkZXIgc3BlY2lmaWMgdmFsaWRhdGlvbnMK
QEAgLTM0NjIsNiArMzYxNCwxMyBAQCBib29sIFZhbGlkYXRlRUdMSW1hZ2VUYXJnZXRUZXh0dXJl
MkRPRVMoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGJyZWFrOwogCisgICAgICAgIGNhc2UgVGV4dHVyZVR5cGU6Ol8yREFycmF5OgorICAgICAgICAg
ICAgaWYgKCFjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZWdsSW1hZ2VBcnJheSkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJ
RF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBi
cmVhazsKKwogICAgICAgICBjYXNlIFRleHR1cmVUeXBlOjpFeHRlcm5hbDoKICAgICAgICAgICAg
IGlmICghY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmVnbEltYWdlRXh0ZXJuYWxPRVMpCiAgICAg
ICAgICAgICB7CkBAIC0zNDk1LDYgKzM2NTQsMTMgQEAgYm9vbCBWYWxpZGF0ZUVHTEltYWdlVGFy
Z2V0VGV4dHVyZTJET0VTKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAKKyAgICBpZiAoaW1hZ2VPYmplY3QtPmlzTGF5ZXJlZCgpICYmIHR5cGUg
IT0gVGV4dHVyZVR5cGU6Ol8yREFycmF5KQorICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFsaWRh
dGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkltYWdlIGhhcyBtb3JlIHRoYW4gMSBsYXllciwgdGFyZ2V0IG11c3QgYmUgVEVY
VFVSRV8yRF9BUlJBWSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKQEAgLTU2MjAsNyArNTc4NiwyMCBAQCBib29sIFZhbGlkYXRlUmVhZFBp
eGVsc0Jhc2UoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIGNvbnN0IEZyYW1lYnVmZmVyQXR0YWNobWVudCAqcmVhZEJ1ZmZlciA9IHJl
YWRGcmFtZWJ1ZmZlci0+Z2V0UmVhZENvbG9yQXR0YWNobWVudCgpOworICAgIGNvbnN0IEZyYW1l
YnVmZmVyQXR0YWNobWVudCAqcmVhZEJ1ZmZlciA9IG51bGxwdHI7CisgICAgc3dpdGNoIChmb3Jt
YXQpCisgICAgeworICAgICAgICBjYXNlIEdMX0RFUFRIX0NPTVBPTkVOVDoKKyAgICAgICAgICAg
IHJlYWRCdWZmZXIgPSByZWFkRnJhbWVidWZmZXItPmdldERlcHRoQXR0YWNobWVudCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0xfU1RFTkNJTF9JTkRFWF9PRVM6CisgICAg
ICAgICAgICByZWFkQnVmZmVyID0gcmVhZEZyYW1lYnVmZmVyLT5nZXRTdGVuY2lsT3JEZXB0aFN0
ZW5jaWxBdHRhY2htZW50KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJlYWRCdWZmZXIgPSByZWFkRnJhbWVidWZmZXItPmdldFJlYWRDb2xvckF0
dGFjaG1lbnQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIC8vIFdlYkdMIDEu
MCBbU2VjdGlvbiA2LjI2XSBSZWFkaW5nIEZyb20gYSBNaXNzaW5nIEF0dGFjaG1lbnQKICAgICAv
LyBJbiBPcGVuR0wgRVMgaXQgaXMgdW5kZWZpbmVkIHdoYXQgaGFwcGVucyB3aGVuIGFuIG9wZXJh
dGlvbiB0cmllcyB0byByZWFkIGZyb20gYSBtaXNzaW5nCiAgICAgLy8gYXR0YWNobWVudCBhbmQg
V2ViR0wgZGVmaW5lcyBpdCB0byBiZSBhbiBlcnJvci4gV2UgZG8gdGhlIGNoZWNrIHVuY29uZGl0
aW9ubmFseSBhcyB0aGUKQEAgLTU2NjMsMTEgKzU4NDIsMTkgQEAgYm9vbCBWYWxpZGF0ZVJlYWRQ
aXhlbHNCYXNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgfQogCiAgICAgR0xlbnVtIGN1
cnJlbnRGb3JtYXQgPSBHTF9OT05FOwotICAgIEFOR0xFX1ZBTElEQVRJT05fVFJZKAotICAgICAg
ICByZWFkRnJhbWVidWZmZXItPmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkRm9ybWF0KGNvbnRl
eHQsICZjdXJyZW50Rm9ybWF0KSk7CisgICAgR0xlbnVtIGN1cnJlbnRUeXBlICAgPSBHTF9OT05F
OwogCi0gICAgR0xlbnVtIGN1cnJlbnRUeXBlID0gR0xfTk9ORTsKLSAgICBBTkdMRV9WQUxJREFU
SU9OX1RSWShyZWFkRnJhbWVidWZmZXItPmdldEltcGxlbWVudGF0aW9uQ29sb3JSZWFkVHlwZShj
b250ZXh0LCAmY3VycmVudFR5cGUpKTsKKyAgICBzd2l0Y2ggKGZvcm1hdCkKKyAgICB7CisgICAg
ICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UOgorICAgICAgICBjYXNlIEdMX1NURU5DSUxfSU5E
RVhfT0VTOgorICAgICAgICAgICAgLy8gT25seSByZWx5IG9uIFZhbGlkUmVhZFBpeGVsc0Zvcm1h
dFR5cGUgZm9yIGRlcHRoL3N0ZW5jaWwgZm9ybWF0cworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBjdXJyZW50Rm9ybWF0ID0gcmVhZEZyYW1lYnVmZmVy
LT5nZXRJbXBsZW1lbnRhdGlvbkNvbG9yUmVhZEZvcm1hdChjb250ZXh0KTsKKyAgICAgICAgICAg
IGN1cnJlbnRUeXBlICAgPSByZWFkRnJhbWVidWZmZXItPmdldEltcGxlbWVudGF0aW9uQ29sb3JS
ZWFkVHlwZShjb250ZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KIAogICAgIGJvb2wg
dmFsaWRGb3JtYXRUeXBlQ29tYmluYXRpb24gPQogICAgICAgICBWYWxpZFJlYWRQaXhlbHNGb3Jt
YXRUeXBlKGNvbnRleHQsIHJlYWRCdWZmZXItPmdldEZvcm1hdCgpLmluZm8sIGZvcm1hdCwgdHlw
ZSk7CkBAIC01OTk4LDYgKzYxODUsMTMgQEAgYm9vbCBWYWxpZGF0ZVRleFBhcmFtZXRlckJhc2Uo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFr
OwogCisgICAgICAgIGNhc2UgR0xfVEVYVFVSRV9GT1JNQVRfU1JHQl9PVkVSUklERV9FWFQ6Cisg
ICAgICAgICAgICBpZiAoIVZhbGlkYXRlVGV4dHVyZVNSR0JPdmVycmlkZVZhbHVlKGNvbnRleHQs
IHBhcmFtcykpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBHTF9HRU5F
UkFURV9NSVBNQVA6CiAgICAgICAgICAgICBpZiAoY29udGV4dC0+Z2V0Q2xpZW50TWFqb3JWZXJz
aW9uKCkgPiAxKQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5oCmluZGV4IGFjN2Q3N2RjMTVmZjJiYTIyYjE2
OGMxNjEwY2U4NGRhYTQyM2JmMTQuLjU0ZGEzNDFjYmZmMmUzYjFhZjg0YmYxMDY0MTJhMDdlOTNm
ZjRmNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92
YWxpZGF0aW9uRVMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
dmFsaWRhdGlvbkVTLmgKQEAgLTM5MCw3ICszOTAsNiBAQCBib29sIFZhbGlkYXRlRHJhd0VsZW1l
bnRzSW5zdGFuY2VkRVhUKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgcHJpbWNvdW50KTsKIAogYm9vbCBWYWxpZGF0
ZURyYXdJbnN0YW5jZWRBTkdMRShjb25zdCBDb250ZXh0ICpjb250ZXh0KTsKLWJvb2wgVmFsaWRh
dGVEcmF3SW5zdGFuY2VkRVhUKGNvbnN0IENvbnRleHQgKmNvbnRleHQpOwogCiBib29sIFZhbGlk
YXRlRnJhbWVidWZmZXJUZXh0dXJlQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHRhcmdldCwKQEAgLTc1Niw2ICs3
NTUsMTMgQEAgQU5HTEVfSU5MSU5FIGJvb2wgVmFsaWRhdGVGcmFtZWJ1ZmZlckNvbXBsZXRlKGNv
bnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2NvbnN0IGNoYXIg
KlZhbGlkYXRlUHJvZ3JhbURyYXdTdGF0ZXMoY29uc3QgU3RhdGUgJnN0YXRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFeHRlbnNpb25zICZleHRlbnNpb25z
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmFtICpwcm9ncmFt
KTsKK2NvbnN0IGNoYXIgKlZhbGlkYXRlUHJvZ3JhbVBpcGVsaW5lRHJhd1N0YXRlcyhjb25zdCBT
dGF0ZSAmc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRXh0ZW5zaW9ucyAmZXh0ZW5zaW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmFtUGlwZWxpbmUgKnByb2dyYW1QaXBlbGluZSk7
Citjb25zdCBjaGFyICpWYWxpZGF0ZVByb2dyYW1QaXBlbGluZUF0dGFjaGVkUHJvZ3JhbXMoUHJv
Z3JhbVBpcGVsaW5lICpwcm9ncmFtUGlwZWxpbmUpOwogY29uc3QgY2hhciAqVmFsaWRhdGVEcmF3
U3RhdGVzKGNvbnN0IENvbnRleHQgKmNvbnRleHQpOwogCiB2b2lkIFJlY29yZERyYXdBdHRyaWJz
RXJyb3IoY29uc3QgQ29udGV4dCAqY29udGV4dCk7CkBAIC05NzYsNyArOTgyLDkgQEAgQU5HTEVf
SU5MSU5FIGJvb2wgVmFsaWRhdGVEcmF3RWxlbWVudHNDb21tb24oY29uc3QgQ29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
IChlbGVtZW50RGF0YVNpemVXaXRoT2Zmc2V0ID4gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGVsZW1l
bnRBcnJheUJ1ZmZlci0+Z2V0U2l6ZSgpKSkKKyAgICAgICAgLy8gUmVsYXRlZCB0byBwb3NzaWJs
ZSB0ZXN0IGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9XZWJHTC9pc3N1ZXMv
MzA2NAorICAgICAgICBpZiAoKGVsZW1lbnREYXRhU2l6ZVdpdGhPZmZzZXQgPiBzdGF0aWNfY2Fz
dDx1aW50NjRfdD4oZWxlbWVudEFycmF5QnVmZmVyLT5nZXRTaXplKCkpKSAmJgorICAgICAgICAg
ICAgKHByaW1jb3VudCA+IDApKQogICAgICAgICB7CiAgICAgICAgICAgICBjb250ZXh0LT52YWxp
ZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGVycjo6a0luc3VmZmljaWVudEJ1ZmZl
clNpemUpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzIuY3BwIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzIuY3BwCmluZGV4IGZhZGJk
YWM3NzMzMjAwOTAyNTljYzMwYTIxZjY5OWY3YTRhMDE0NDMuLmIzYmFkYjUyODM3ZmQ4YmMwYTZl
YjdmYjVjOTlkNjVhM2JmNjY2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMyLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMi5jcHAKQEAgLTUzMSw0OCArNTMxLDMyIEBA
IGJvb2wgVmFsaWRhdGVFUzJDb3B5VGV4SW1hZ2VQYXJhbWV0ZXJzKGNvbnN0IENvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9J
TlZBTElEX09QRVJBVElPTiwga0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25F
cnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJ
RF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFOgog
ICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkudGV4dHVyZUNvbXBy
ZXNzaW9uRFhUMykKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRl
eHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga0ludmFsaWRGb3JtYXQp
OwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3Vw
cG9ydGVkKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52
YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VE
X1JHQkFfUzNUQ19EWFQ1X0FOR0xFOgogICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LT5nZXRF
eHRlbnNpb25zKCkudGV4dHVyZUNvbXByZXNzaW9uRFhUNSkKICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTiwga0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9J
TlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBr
RW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgY2FzZSBHTF9FVEMxX1JHQjhfT0VTOgogICAgICAgICAgICAgICAgIGlmIChjb250ZXh0
LT5nZXRFeHRlbnNpb25zKCkuY29tcHJlc3NlZEVUQzFSR0I4VGV4dHVyZU9FUykKICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwga0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRp
b25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5W
QUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAgICAgY2FzZSBHTF9FVEMxX1JHQjhfTE9TU1lfREVDT0RFX0FOR0xFOgog
ICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQjhfTE9TU1lfREVDT0RFX0VUQzJfQU5H
TEU6CiAgICAgICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfU1JHQjhfTE9TU1lfREVDT0RFX0VU
QzJfQU5HTEU6CkBAIC01ODMsMTIgKzU2Nyw4IEBAIGJvb2wgVmFsaWRhdGVFUzJDb3B5VGV4SW1h
Z2VQYXJhbWV0ZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga0ludmFsaWRG
b3JtYXQpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVt
Tm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjb250
ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBHTF9DT01Q
UkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOgogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVT
U0VEX1JHQl9QVlJUQ18yQlBQVjFfSU1HOgogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VE
X1JHQkFfUFZSVENfNEJQUFYxX0lNRzoKQEAgLTU5OCwxMiArNTc4LDggQEAgYm9vbCBWYWxpZGF0
ZUVTMkNvcHlUZXhJbWFnZVBhcmFtZXRlcnMoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFU
SU9OLCBrSW52YWxpZEZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFM
SURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVt
Tm90U3VwcG9ydGVkKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg
ICBjYXNlIEdMX0NPTVBSRVNTRURfU1JHQl9QVlJUQ18yQlBQVjFfRVhUOgogICAgICAgICAgICAg
Y2FzZSBHTF9DT01QUkVTU0VEX1NSR0JfUFZSVENfNEJQUFYxX0VYVDoKICAgICAgICAgICAgIGNh
c2UgR0xfQ09NUFJFU1NFRF9TUkdCX0FMUEhBX1BWUlRDXzJCUFBWMV9FWFQ6CkBAIC02MTMsMTIg
KzU4OSw4IEBAIGJvb2wgVmFsaWRhdGVFUzJDb3B5VGV4SW1hZ2VQYXJhbWV0ZXJzKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25F
cnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZh
bGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3Io
R0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBHTF9ERVBUSF9DT01QT05FTlQ6CiAgICAgICAg
ICAgICBjYXNlIEdMX0RFUFRIX0NPTVBPTkVOVDE2OgogICAgICAgICAgICAgY2FzZSBHTF9ERVBU
SF9DT01QT05FTlQzMl9PRVM6CkBAIC02MjcsMTIgKzU5OSw4IEBAIGJvb2wgVmFsaWRhdGVFUzJD
b3B5VGV4SW1hZ2VQYXJhbWV0ZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
a0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VO
VU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1
cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2Fz
ZSBHTF9ERVBUSF9TVEVOQ0lMX09FUzoKICAgICAgICAgICAgIGNhc2UgR0xfREVQVEgyNF9TVEVO
Q0lMOF9PRVM6CiAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5k
ZXB0aFRleHR1cmVBbnkoKSB8fApAQCAtNjQyLDEyICs2MTAsOCBAQCBib29sIFZhbGlkYXRlRVMy
Q29weVRleEltYWdlUGFyYW1ldGVycyhjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04s
IGtJbnZhbGlkRm9ybWF0KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9F
TlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RT
dXBwb3J0ZWQpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFM
SURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTcwMSw3ICs2NjUsMzQgQEAgYm9vbCBWYWxpZENhcChjb25zdCBDb250ZXh0ICpjb250
ZXh0LCBHTGVudW0gY2FwLCBib29sIHF1ZXJ5T25seSkKICAgICAgICAgY2FzZSBHTF9ST0JVU1Rf
UkVTT1VSQ0VfSU5JVElBTElaQVRJT05fQU5HTEU6CiAgICAgICAgICAgICByZXR1cm4gcXVlcnlP
bmx5ICYmIGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5yb2J1c3RSZXNvdXJjZUluaXRpYWxpemF0
aW9uOwogCi0gICAgICAgIC8vIEdMRVMxIGVtdWxhdGlvbjogR0xFUzEtc3BlY2lmaWMgY2Fwcwor
ICAgICAgICBjYXNlIEdMX1RFWFRVUkVfUkVDVEFOR0xFX0FOR0xFOgorICAgICAgICAgICAgcmV0
dXJuIGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS53ZWJnbENvbXBhdGliaWxpdHk7CisKKyAgICAg
ICAgLy8gR0xfQVBQTEVfY2xpcF9kaXN0YW5jZS9HTF9FWFRfY2xpcF9jdWxsX2Rpc3RhbmNlCisg
ICAgICAgIGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTBfRVhUOgorICAgICAgICBjYXNlIEdMX0NMSVBf
RElTVEFOQ0UxX0VYVDoKKyAgICAgICAgY2FzZSBHTF9DTElQX0RJU1RBTkNFMl9FWFQ6CisgICAg
ICAgIGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTNfRVhUOgorICAgICAgICBjYXNlIEdMX0NMSVBfRElT
VEFOQ0U0X0VYVDoKKyAgICAgICAgY2FzZSBHTF9DTElQX0RJU1RBTkNFNV9FWFQ6CisgICAgICAg
IGNhc2UgR0xfQ0xJUF9ESVNUQU5DRTZfRVhUOgorICAgICAgICBjYXNlIEdMX0NMSVBfRElTVEFO
Q0U3X0VYVDoKKyAgICAgICAgICAgIGlmIChjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkgPj0g
VmVyc2lvbigyLCAwKSAmJgorICAgICAgICAgICAgICAgIGNvbnRleHQtPmdldEV4dGVuc2lvbnMo
KS5jbGlwRGlzdGFuY2VBUFBMRSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAg
IC8vIEdMRVMxIGVtdWxhdGlvbjogR0xFUzEtc3BlY2lmaWMgY2FwcyBhZnRlciB0aGlzIHBvaW50
CisgICAgaWYgKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKS5tYWpvciAhPSAxKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHN3aXRjaCAoY2FwKQorICAgIHsK
ICAgICAgICAgY2FzZSBHTF9BTFBIQV9URVNUOgogICAgICAgICBjYXNlIEdMX1ZFUlRFWF9BUlJB
WToKICAgICAgICAgY2FzZSBHTF9OT1JNQUxfQVJSQVk6CkBAIC03NDAsOCArNzMxLDYgQEAgYm9v
bCBWYWxpZENhcChjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gY2FwLCBib29sIHF1ZXJ5
T25seSkKICAgICAgICAgY2FzZSBHTF9QT0lOVF9TUFJJVEVfT0VTOgogICAgICAgICAgICAgcmV0
dXJuIGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSA8IFZlcnNpb24oMiwgMCkgJiYKICAgICAg
ICAgICAgICAgICAgICBjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkucG9pbnRTcHJpdGVPRVM7Ci0g
ICAgICAgIGNhc2UgR0xfVEVYVFVSRV9SRUNUQU5HTEVfQU5HTEU6Ci0gICAgICAgICAgICByZXR1
cm4gY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLndlYmdsQ29tcGF0aWJpbGl0eTsKICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0xMTkyLDEwICsx
MTgxLDE0IEBAIGJvb2wgVmFsaWRhdGVFUzJUZXhJbWFnZVBhcmFtZXRlcnNCYXNlKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsCiAgICAgICAgIGlmIChpc1N1YkltYWdlKQogICAgICAgICB7CiAgICAg
ICAgICAgICAvLyBGcm9tIHRoZSBPRVNfY29tcHJlc3NlZF9FVEMxX1JHQjhfdGV4dHVyZSBzcGVj
OgorICAgICAgICAgICAgLy8KICAgICAgICAgICAgIC8vIElOVkFMSURfT1BFUkFUSU9OIGlzIGdl
bmVyYXRlZCBieSBDb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCwgVGV4U3ViSW1hZ2UyRCwgb3IKICAg
ICAgICAgICAgIC8vIENvcHlUZXhTdWJJbWFnZTJEIGlmIHRoZSB0ZXh0dXJlIGltYWdlIDxsZXZl
bD4gYm91bmQgdG8gPHRhcmdldD4gaGFzIGludGVybmFsIGZvcm1hdAogICAgICAgICAgICAgLy8g
RVRDMV9SR0I4X09FUy4KLSAgICAgICAgICAgIGlmIChhY3R1YWxJbnRlcm5hbEZvcm1hdCA9PSBH
TF9FVEMxX1JHQjhfT0VTKQorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIFRoaXMgaXMg
cmVsYXhlZCBpZiBHTF9FWFRfY29tcHJlc3NlZF9FVEMxX1JHQjhfc3ViX3RleHR1cmUgaXMgc3Vw
cG9ydGVkLgorICAgICAgICAgICAgaWYgKGFjdHVhbEludGVybmFsRm9ybWF0ID09IEdMX0VUQzFf
UkdCOF9PRVMgJiYKKyAgICAgICAgICAgICAgICAhY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmNv
bXByZXNzZWRFVEMxUkdCOFN1YlRleHR1cmUpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrSW52YWxp
ZEludGVybmFsRm9ybWF0KTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMzkz
LDYgKzEzODYsMTQgQEAgYm9vbCBWYWxpZGF0ZUVTMlRleEltYWdlUGFyYW1ldGVyc0Jhc2UoY29u
c3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05F
RF9TSE9SVDoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9JTlQ6CiAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBHTF9G
TE9BVDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29udGV4dC0+Z2V0RXh0ZW5zaW9u
cygpLmRlcHRoQnVmZmVyRmxvYXQyTlYpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFM
SURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBrTWlzbWF0Y2hlZFR5cGVBbmRGb3JtYXQpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFM
SURfT1BFUkFUSU9OLCBrTWlzbWF0Y2hlZFR5cGVBbmRGb3JtYXQpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTQzNCwzNiArMTQzNSwyNCBAQCBib29sIFZhbGlk
YXRlRVMyVGV4SW1hZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAg
ICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGtJbnZhbGlkRm9ybWF0KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5W
QUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwga0Vu
dW1Ob3RTdXBwb3J0ZWQpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRToKICAgICAgICAgICAg
ICAgICBpZiAoY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnRleHR1cmVDb21wcmVzc2lvbkRYVDUp
CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0
aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtJbnZhbGlkRm9ybWF0KTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBjb250ZXh0
LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVy
cm9yKEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOworICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgR0xfRVRDMV9SR0I4X09FUzoKICAgICAg
ICAgICAgICAgICBpZiAoY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmNvbXByZXNzZWRFVEMxUkdC
OFRleHR1cmVPRVMpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBjb250
ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtJbnZhbGlkRm9ybWF0
KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1
cHBvcnRlZCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY29udGV4dC0+
dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOworICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgR0xfRVRDMV9SR0I4
X0xPU1NZX0RFQ09ERV9BTkdMRToKICAgICAgICAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0I4
X0xPU1NZX0RFQ09ERV9FVEMyX0FOR0xFOgogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VE
X1NSR0I4X0xPU1NZX0RFQ09ERV9FVEMyX0FOR0xFOgpAQCAtMTQ3NCwxMiArMTQ2Myw4IEBAIGJv
b2wgVmFsaWRhdGVFUzJUZXhJbWFnZVBhcmFtZXRlcnNCYXNlKGNvbnN0IENvbnRleHQgKmNvbnRl
eHQsCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZB
TElEX09QRVJBVElPTiwga0ludmFsaWRGb3JtYXQpOwogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJv
cihHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9F
TlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOgogICAg
ICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9QVlJUQ18yQlBQVjFfSU1HOgogICAgICAg
ICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRzoKQEAgLTE0ODks
MTIgKzE0NzQsOCBAQCBib29sIFZhbGlkYXRlRVMyVGV4SW1hZ2VQYXJhbWV0ZXJzQmFzZShjb25z
dCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0
aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtJbnZhbGlkRm9ybWF0KTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBjb250ZXh0
LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVy
cm9yKEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOworICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9TUkdCX1BWUlRD
XzJCUFBWMV9FWFQ6CiAgICAgICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfU1JHQl9QVlJUQ180
QlBQVjFfRVhUOgogICAgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1NSR0JfQUxQSEFfUFZS
VENfMkJQUFYxX0VYVDoKQEAgLTE1MDQsMTIgKzE0ODUsOCBAQCBib29sIFZhbGlkYXRlRVMyVGV4
SW1hZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtJ
bnZhbGlkRm9ybWF0KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9FTlVN
LCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBw
b3J0ZWQpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2Ug
R0xfREVQVEhfQ09NUE9ORU5UOgogICAgICAgICAgICAgY2FzZSBHTF9ERVBUSF9TVEVOQ0lMX09F
UzoKICAgICAgICAgICAgICAgICBpZiAoIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5kZXB0aFRl
eHR1cmVBTkdMRSAmJgpAQCAtMjUxMCw2ICsyNDg3LDE0IEBAIHN0YXRpYyBib29sIFZhbGlkYXRl
T2JqZWN0SWRlbnRpZmllckFuZE5hbWUoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xlbnVtIGlk
ZW50CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgICAgICBj
YXNlIEdMX1BST0dSQU1fUElQRUxJTkU6CisgICAgICAgICAgICBpZiAoY29udGV4dC0+Z2V0UHJv
Z3JhbVBpcGVsaW5lKHtuYW1lfSkgPT0gbnVsbHB0cikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwga0ludmFs
aWRQcm9ncmFtUGlwZWxpbmVOYW1lKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwg
a0ludmFsaWRJbmRlbnRpZmllcik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00Mjc0
LDcgKzQyNTksOCBAQCBib29sIFZhbGlkYXRlQXR0YWNoU2hhZGVyKGNvbnN0IENvbnRleHQgKmNv
bnRleHQsIFNoYWRlclByb2dyYW1JRCBwcm9ncmFtLCBTaGFkZQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgaWYgKHByb2dyYW1PYmplY3QtPmdldEF0dGFjaGVkU2hhZGVyKHNo
YWRlck9iamVjdC0+Z2V0VHlwZSgpKSkKKyAgICBpZiAocHJvZ3JhbU9iamVjdC0+Z2V0QXR0YWNo
ZWRTaGFkZXIoc2hhZGVyT2JqZWN0LT5nZXRUeXBlKCkpICYmCisgICAgICAgICFwcm9ncmFtT2Jq
ZWN0LT5nZXRTdGF0ZSgpLmlzU2hhZGVyTWFya2VkRm9yRGV0YWNoKHNoYWRlck9iamVjdC0+Z2V0
VHlwZSgpKSkKICAgICB7CiAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZB
TElEX09QRVJBVElPTiwga1NoYWRlckF0dGFjaG1lbnRIYXNTaGFkZXIpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC01MDczLDYgKzUwNTksMTQgQEAgYm9vbCBWYWxpZGF0ZUhpbnQoY29uc3Qg
Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xlbnVtIG1vZGUpCiAgICAgICAgIGNh
c2UgR0xfR0VORVJBVEVfTUlQTUFQX0hJTlQ6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAg
ICBjYXNlIEdMX1RFWFRVUkVfRklMVEVSSU5HX0hJTlRfQ0hST01JVU06CisgICAgICAgICAgICBp
ZiAoIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS50ZXh0dXJlRmlsdGVyaW5nQ0hST01JVU0pCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdM
X0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOworICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNh
c2UgR0xfRlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVfSElOVDoKICAgICAgICAgICAgIGlmIChj
b250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkgPCBFU18zXzAgJiYKICAgICAgICAgICAgICAgICAh
Y29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnN0YW5kYXJkRGVyaXZhdGl2ZXNPRVMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMy5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMy5j
cHAKaW5kZXggNmNjYjk4MTRhYzk2ZjlmMDJmYTc1MDQ1MzFmNTkzOGEyYTk5NjQwMy4uNGMyMzhk
MWNhMjc4MDU0MzVlOWIwN2I5NzZkZTMyYzE5NGQzZGFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMzLmNwcApAQCAtNTU3
LDcgKzU1Nyw5IEBAIGJvb2wgVmFsaWRhdGVFUzNUZXhJbWFnZVBhcmFtZXRlcnNCYXNlKGNvbnN0
IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBpZiAoYWN0dWFsSW50ZXJuYWxGb3JtYXQgPT0gR0xfRVRD
MV9SR0I4X09FUykKKyAgICAgICAgICAgIC8vIEdMX0VYVF9jb21wcmVzc2VkX0VUQzFfUkdCOF9z
dWJfdGV4dHVyZSBhbGxvd3MgdGhpcyBmb3JtYXQKKyAgICAgICAgICAgIGlmIChhY3R1YWxJbnRl
cm5hbEZvcm1hdCA9PSBHTF9FVEMxX1JHQjhfT0VTICYmCisgICAgICAgICAgICAgICAgIWNvbnRl
eHQtPmdldEV4dGVuc2lvbnMoKS5jb21wcmVzc2VkRVRDMVJHQjhTdWJUZXh0dXJlKQogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZB
TElEX09QRVJBVElPTiwga0ludmFsaWRJbnRlcm5hbEZvcm1hdCk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTg0OSw3ICsxODUxLDcgQEAgYm9vbCBWYWxpZGF0ZVByb2dyYW1C
aW5hcnkoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNoYWRlclByb2dyYW1JRCBwcm9ncmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIGJpbmFyeUZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQg
KmJpbmFyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGxlbmd0aCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgbGVuZ3RoKQogewogICAgIGlmIChjb250ZXh0
LT5nZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMpCiAgICAgewpAQCAtMjQ1MCwzMyArMjQ1Miwz
NSBAQCBib29sIFZhbGlkYXRlQ29tcHJlc3NlZFRleFN1YkltYWdlM0RSb2J1c3RBTkdMRShjb25z
dCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlaWdodCwgZGVwdGgsIGZvcm1hdCwgaW1hZ2VTaXplLCBkYXRhKTsKIH0KIAotYm9v
bCBWYWxpZGF0ZUdlblF1ZXJpZXMoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xpbnQgbiwgY29u
c3QgUXVlcnlJRCAqcXVlcmllcykKK2Jvb2wgVmFsaWRhdGVHZW5RdWVyaWVzKGNvbnN0IENvbnRl
eHQgKmNvbnRleHQsIEdMc2l6ZWkgbiwgY29uc3QgUXVlcnlJRCAqcXVlcmllcykKIHsKICAgICBy
ZXR1cm4gVmFsaWRhdGVHZW5PckRlbGV0ZUVTMyhjb250ZXh0LCBuKTsKIH0KIAotYm9vbCBWYWxp
ZGF0ZURlbGV0ZVF1ZXJpZXMoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xpbnQgbiwgY29uc3Qg
UXVlcnlJRCAqcXVlcmllcykKK2Jvb2wgVmFsaWRhdGVEZWxldGVRdWVyaWVzKGNvbnN0IENvbnRl
eHQgKmNvbnRleHQsIEdMc2l6ZWkgbiwgY29uc3QgUXVlcnlJRCAqcXVlcmllcykKIHsKICAgICBy
ZXR1cm4gVmFsaWRhdGVHZW5PckRlbGV0ZUVTMyhjb250ZXh0LCBuKTsKIH0KIAotYm9vbCBWYWxp
ZGF0ZUdlblNhbXBsZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMaW50IGNvdW50LCBjb25z
dCBTYW1wbGVySUQgKnNhbXBsZXJzKQorYm9vbCBWYWxpZGF0ZUdlblNhbXBsZXJzKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsIEdMc2l6ZWkgY291bnQsIGNvbnN0IFNhbXBsZXJJRCAqc2FtcGxlcnMp
CiB7CiAgICAgcmV0dXJuIFZhbGlkYXRlR2VuT3JEZWxldGVDb3VudEVTMyhjb250ZXh0LCBjb3Vu
dCk7CiB9CiAKLWJvb2wgVmFsaWRhdGVEZWxldGVTYW1wbGVycyhjb25zdCBDb250ZXh0ICpjb250
ZXh0LCBHTGludCBjb3VudCwgY29uc3QgU2FtcGxlcklEICpzYW1wbGVycykKK2Jvb2wgVmFsaWRh
dGVEZWxldGVTYW1wbGVycyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTHNpemVpIGNvdW50LCBj
b25zdCBTYW1wbGVySUQgKnNhbXBsZXJzKQogewogICAgIHJldHVybiBWYWxpZGF0ZUdlbk9yRGVs
ZXRlQ291bnRFUzMoY29udGV4dCwgY291bnQpOwogfQogCi1ib29sIFZhbGlkYXRlR2VuVHJhbnNm
b3JtRmVlZGJhY2tzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMaW50IG4sIGNvbnN0IFRyYW5z
Zm9ybUZlZWRiYWNrSUQgKmlkcykKK2Jvb2wgVmFsaWRhdGVHZW5UcmFuc2Zvcm1GZWVkYmFja3Mo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xzaXplaSBuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBU
cmFuc2Zvcm1GZWVkYmFja0lEICppZHMpCiB7CiAgICAgcmV0dXJuIFZhbGlkYXRlR2VuT3JEZWxl
dGVFUzMoY29udGV4dCwgbik7CiB9CiAKIGJvb2wgVmFsaWRhdGVEZWxldGVUcmFuc2Zvcm1GZWVk
YmFja3MoY29uc3QgQ29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xpbnQgbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xzaXplaSBuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBUcmFuc2Zvcm1GZWVkYmFja0lEICppZHMpCiB7CiAgICAgaWYgKCFWYWxpZGF0ZUdlbk9yRGVs
ZXRlRVMzKGNvbnRleHQsIG4pKQpAQCAtMjQ5NiwxMiArMjUwMCwxMiBAQCBib29sIFZhbGlkYXRl
RGVsZXRlVHJhbnNmb3JtRmVlZGJhY2tzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgVmFsaWRhdGVHZW5WZXJ0ZXhBcnJheXMoY29uc3QgQ29udGV4
dCAqY29udGV4dCwgR0xpbnQgbiwgY29uc3QgVmVydGV4QXJyYXlJRCAqYXJyYXlzKQorYm9vbCBW
YWxpZGF0ZUdlblZlcnRleEFycmF5cyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTHNpemVpIG4s
IGNvbnN0IFZlcnRleEFycmF5SUQgKmFycmF5cykKIHsKICAgICByZXR1cm4gVmFsaWRhdGVHZW5P
ckRlbGV0ZUVTMyhjb250ZXh0LCBuKTsKIH0KIAotYm9vbCBWYWxpZGF0ZURlbGV0ZVZlcnRleEFy
cmF5cyhjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGludCBuLCBjb25zdCBWZXJ0ZXhBcnJheUlE
ICphcnJheXMpCitib29sIFZhbGlkYXRlRGVsZXRlVmVydGV4QXJyYXlzKGNvbnN0IENvbnRleHQg
KmNvbnRleHQsIEdMc2l6ZWkgbiwgY29uc3QgVmVydGV4QXJyYXlJRCAqYXJyYXlzKQogewogICAg
IHJldHVybiBWYWxpZGF0ZUdlbk9yRGVsZXRlRVMzKGNvbnRleHQsIG4pOwogfQpAQCAtMjY4Niw2
ICsyNjkwLDExIEBAIGJvb2wgVmFsaWRhdGVJbmRleGVkU3RhdGVRdWVyeShjb25zdCBDb250ZXh0
ICpjb250ZXh0LCBHTGVudW0gcG5hbWUsIEdMdWludCBpbmRlCiAgICAgICAgIGNhc2UgR0xfQkxF
TkRfRVFVQVRJT05fUkdCOgogICAgICAgICBjYXNlIEdMX0JMRU5EX0VRVUFUSU9OX0FMUEhBOgog
ICAgICAgICBjYXNlIEdMX0NPTE9SX1dSSVRFTUFTSzoKKyAgICAgICAgICAgIGlmICghY29udGV4
dC0+Z2V0RXh0ZW5zaW9ucygpLmRyYXdCdWZmZXJzSW5kZXhlZEFueSgpKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VO
VU0sIGtEcmF3QnVmZmVyc0luZGV4ZWRFeHRlbnNpb25Ob3RBdmFpbGFibGUpOworICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChpbmRl
eCA+PSBzdGF0aWNfY2FzdDxHTHVpbnQ+KGNhcHMubWF4RHJhd0J1ZmZlcnMpKQogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElE
X1ZBTFVFLCBrSW5kZXhFeGNlZWRzTWF4RHJhd0J1ZmZlcik7CkBAIC0yODA0LDcgKzI4MTMsMTQg
QEAgYm9vbCBWYWxpZGF0ZUluZGV4ZWRTdGF0ZVF1ZXJ5KGNvbnN0IENvbnRleHQgKmNvbnRleHQs
IEdMZW51bSBwbmFtZSwgR0x1aW50IGluZGUKIAogICAgIGlmIChsZW5ndGgpCiAgICAgewotICAg
ICAgICAqbGVuZ3RoID0gMTsKKyAgICAgICAgaWYgKHBuYW1lID09IEdMX0NPTE9SX1dSSVRFTUFT
SykKKyAgICAgICAgeworICAgICAgICAgICAgKmxlbmd0aCA9IDQ7CisgICAgICAgIH0KKyAgICAg
ICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAqbGVuZ3RoID0gMTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMxLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMzMS5jcHAKaW5kZXggNDk2MDZjYmMxNDg2
NmNjNmY5NzA4MGMyNTVlMjM4MjhiOGUzMTk2Yi4uM2Y0MDkyYjJlMDgzMTA5MmNmNWYwZDczMmFl
MmRmYjUyNjY2NTdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3ZhbGlkYXRpb25FUzMxLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMzEuY3BwCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVk
ZSAibGliQU5HTEUvQ29udGV4dC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL0Vycm9yU3RyaW5ncy5o
IgogI2luY2x1ZGUgImxpYkFOR0xFL0ZyYW1lYnVmZmVyLmgiCisjaW5jbHVkZSAibGliQU5HTEUv
UHJvZ3JhbUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9WZXJ0ZXhBcnJheS5oIgog
I2luY2x1ZGUgImxpYkFOR0xFL3ZhbGlkYXRpb25FUy5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3Zh
bGlkYXRpb25FUzJfYXV0b2dlbi5oIgpAQCAtMzY5LDkgKzM3MCwxMCBAQCBib29sIFZhbGlkYXRl
R2V0Qm9vbGVhbmlfdihjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0x1aW50IGluZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
R0xib29sZWFuICpkYXRhKQogewotICAgIGlmIChjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkg
PCBFU18zXzEpCisgICAgaWYgKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSA8IEVTXzNfMSAm
JiAhY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmRyYXdCdWZmZXJzSW5kZXhlZEFueSgpKQogICAg
IHsKLSAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9O
LCBrRVMzMVJlcXVpcmVkKTsKKyAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lO
VkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0VTMzFP
ckRyYXdCdWZmZXJzSW5kZXhlZEV4dGVuc2lvbk5vdEF2YWlsYWJsZSk7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKQEAgLTM5MCw5ICszOTIsMTAgQEAgYm9vbCBWYWxpZGF0ZUdldEJv
b2xlYW5pX3ZSb2J1c3RBTkdMRShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTHNpemVpICpsZW5ndGgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMYm9vbGVhbiAqZGF0YSkKIHsK
LSAgICBpZiAoY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpIDwgRVNfM18xKQorICAgIGlmIChj
b250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkgPCBFU18zXzEgJiYgIWNvbnRleHQtPmdldEV4dGVu
c2lvbnMoKS5kcmF3QnVmZmVyc0luZGV4ZWRBbnkoKSkKICAgICB7Ci0gICAgICAgIGNvbnRleHQt
PnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga0VTMzFSZXF1aXJlZCk7Cisg
ICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtFUzMxT3JEcmF3QnVmZmVyc0luZGV4ZWRF
eHRlbnNpb25Ob3RBdmFpbGFibGUpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBA
IC0xMzU5LDEwICsxMzYyLDEwIEBAIGJvb2wgVmFsaWRhdGVEaXNwYXRjaENvbXB1dGUoY29uc3Qg
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGNv
bnN0IFN0YXRlICZzdGF0ZSA9IGNvbnRleHQtPmdldFN0YXRlKCk7Ci0gICAgUHJvZ3JhbSAqcHJv
Z3JhbSAgID0gc3RhdGUuZ2V0TGlua2VkUHJvZ3JhbShjb250ZXh0KTsKKyAgICBjb25zdCBTdGF0
ZSAmc3RhdGUgICAgICAgICAgICAgICAgICA9IGNvbnRleHQtPmdldFN0YXRlKCk7CisgICAgY29u
c3QgUHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUgPSBzdGF0ZS5nZXRQcm9ncmFtRXhlY3V0
YWJsZSgpOwogCi0gICAgaWYgKHByb2dyYW0gPT0gbnVsbHB0ciB8fCAhcHJvZ3JhbS0+Z2V0RXhl
Y3V0YWJsZSgpLmhhc0xpbmtlZFNoYWRlclN0YWdlKFNoYWRlclR5cGU6OkNvbXB1dGUpKQorICAg
IGlmIChleGVjdXRhYmxlID09IG51bGxwdHIgfHwgIWV4ZWN1dGFibGUtPmhhc0xpbmtlZFNoYWRl
clN0YWdlKFNoYWRlclR5cGU6OkNvbXB1dGUpKQogICAgIHsKICAgICAgICAgY29udGV4dC0+dmFs
aWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrTm9BY3RpdmVQcm9ncmFtV2l0aENv
bXB1dGVTaGFkZXIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMzk2LDEwICsxMzk5LDEw
IEBAIGJvb2wgVmFsaWRhdGVEaXNwYXRjaENvbXB1dGVJbmRpcmVjdChjb25zdCBDb250ZXh0ICpj
b250ZXh0LCBHTGludHB0ciBpbmRpcmVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIGNvbnN0IFN0YXRlICZzdGF0ZSA9IGNvbnRleHQtPmdldFN0YXRlKCk7Ci0gICAgUHJv
Z3JhbSAqcHJvZ3JhbSAgID0gc3RhdGUuZ2V0TGlua2VkUHJvZ3JhbShjb250ZXh0KTsKKyAgICBj
b25zdCBTdGF0ZSAmc3RhdGUgICAgICAgICAgICAgICAgICA9IGNvbnRleHQtPmdldFN0YXRlKCk7
CisgICAgY29uc3QgUHJvZ3JhbUV4ZWN1dGFibGUgKmV4ZWN1dGFibGUgPSBzdGF0ZS5nZXRQcm9n
cmFtRXhlY3V0YWJsZSgpOwogCi0gICAgaWYgKHByb2dyYW0gPT0gbnVsbHB0ciB8fCAhcHJvZ3Jh
bS0+Z2V0RXhlY3V0YWJsZSgpLmhhc0xpbmtlZFNoYWRlclN0YWdlKFNoYWRlclR5cGU6OkNvbXB1
dGUpKQorICAgIGlmIChleGVjdXRhYmxlID09IG51bGxwdHIgfHwgIWV4ZWN1dGFibGUtPmhhc0xp
bmtlZFNoYWRlclN0YWdlKFNoYWRlclR5cGU6OkNvbXB1dGUpKQogICAgIHsKICAgICAgICAgY29u
dGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrTm9BY3RpdmVQcm9n
cmFtV2l0aENvbXB1dGVTaGFkZXIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjgzLDE0
ICsxNjg2LDE0IEBAIHN0YXRpYyBib29sIFZhbGlkYXRlR2VuT3JEZWxldGVFUzMxKGNvbnN0IENv
bnRleHQgKmNvbnRleHQsIEdMaW50IG4pCiB9CiAKIGJvb2wgVmFsaWRhdGVHZW5Qcm9ncmFtUGlw
ZWxpbmVzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTGludCBuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXpl
aSBuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbVBpcGVs
aW5lSUQgKnBpcGVsaW5lcykKIHsKICAgICByZXR1cm4gVmFsaWRhdGVHZW5PckRlbGV0ZUVTMzEo
Y29udGV4dCwgbik7CiB9CiAKIGJvb2wgVmFsaWRhdGVEZWxldGVQcm9ncmFtUGlwZWxpbmVzKGNv
bnN0IENvbnRleHQgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTGludCBuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBu
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbVBpcGVs
aW5lSUQgKnBpcGVsaW5lcykKIHsKICAgICByZXR1cm4gVmFsaWRhdGVHZW5PckRlbGV0ZUVTMzEo
Y29udGV4dCwgbik7CkBAIC0xNzI3LDE4ICsxNzMwLDEwOCBAQCBib29sIFZhbGlkYXRlSXNQcm9n
cmFtUGlwZWxpbmUoY29uc3QgQ29udGV4dCAqY29udGV4dCwgUHJvZ3JhbVBpcGVsaW5lSUQgcGlw
ZWxpbgogYm9vbCBWYWxpZGF0ZVVzZVByb2dyYW1TdGFnZXMoY29uc3QgQ29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyYW1QaXBlbGluZUlEIHBpcGVs
aW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xiaXRmaWVsZCBzdGFnZXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFkZXJQcm9ncmFtSUQgcHJvZ3JhbSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoYWRlclByb2dyYW1JRCBwcm9ncmFtSWQpCiB7
Ci0gICAgVU5JTVBMRU1FTlRFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoY29udGV4
dC0+Z2V0Q2xpZW50VmVyc2lvbigpIDwgRVNfM18xKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+
dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRVMzMVJlcXVpcmVkKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIEdMX0lOVkFMSURfVkFMVUUgaXMg
Z2VuZXJhdGVkIGlmIHNoYWRlcnMgY29udGFpbnMgc2V0IGJpdHMgdGhhdCBhcmUgbm90IHJlY29n
bml6ZWQsIGFuZCBpcworICAgIC8vIG5vdCB0aGUgcmVzZXJ2ZWQgdmFsdWUgR0xfQUxMX1NIQURF
Ul9CSVRTLgorICAgIGNvbnN0IEdMYml0ZmllbGQga25vd25TaGFkZXJCaXRzID0KKyAgICAgICAg
R0xfVkVSVEVYX1NIQURFUl9CSVQgfCBHTF9GUkFHTUVOVF9TSEFERVJfQklUIHwgR0xfQ09NUFVU
RV9TSEFERVJfQklUOworICAgIGlmICgoc3RhZ2VzICYgfmtub3duU2hhZGVyQml0cykgJiYgKHN0
YWdlcyAhPSBHTF9BTExfU0hBREVSX0JJVFMpKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFs
aWRhdGlvbkVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGtVbnJlY29nbml6ZWRTaGFkZXJTdGFnZUJp
dCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICAvLyBHTF9JTlZBTElEX09Q
RVJBVElPTiBpcyBnZW5lcmF0ZWQgaWYgcGlwZWxpbmUgaXMgbm90IGEgbmFtZSBwcmV2aW91c2x5
IHJldHVybmVkIGZyb20gYSBjYWxsCisgICAgLy8gdG8gZ2xHZW5Qcm9ncmFtUGlwZWxpbmVzIG9y
IGlmIHN1Y2ggYSBuYW1lIGhhcyBiZWVuIGRlbGV0ZWQgYnkgYSBjYWxsIHRvCisgICAgLy8gZ2xE
ZWxldGVQcm9ncmFtUGlwZWxpbmVzLgorICAgIGlmICghY29udGV4dC0+aXNQcm9ncmFtUGlwZWxp
bmVHZW5lcmF0ZWQoe3BpcGVsaW5lfSkpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0
aW9uRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtPYmplY3ROb3RHZW5lcmF0ZWQpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gSWYgcHJvZ3JhbSBpcyB6ZXJvLCBv
ciByZWZlcnMgdG8gYSBwcm9ncmFtIG9iamVjdCB3aXRoIG5vIHZhbGlkIHNoYWRlciBleGVjdXRh
YmxlIGZvciBhIGdpdmVuCisgICAgLy8gc3RhZ2UsIGl0IGlzIGFzIGlmIHRoZSBwaXBlbGluZSBv
YmplY3QgaGFzIG5vIHByb2dyYW1tYWJsZSBzdGFnZSBjb25maWd1cmVkIGZvciB0aGUgaW5kaWNh
dGVkCisgICAgLy8gc2hhZGVyIHN0YWdlcy4KKyAgICBpZiAocHJvZ3JhbUlkLnZhbHVlID09IDAp
CisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBQcm9ncmFtICpwcm9n
cmFtID0gY29udGV4dC0+Z2V0UHJvZ3JhbU5vUmVzb2x2ZUxpbmsocHJvZ3JhbUlkKTsKKyAgICBp
ZiAoIXByb2dyYW0pCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xf
SU5WQUxJRF9WQUxVRSwga1Byb2dyYW1Eb2VzTm90RXhpc3QpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgLy8gR0xfSU5WQUxJRF9PUEVSQVRJT04gaXMgZ2VuZXJhdGVkIGlm
IHByb2dyYW0gcmVmZXJzIHRvIGEgcHJvZ3JhbSBvYmplY3QgdGhhdCB3YXMgbm90IGxpbmtlZAor
ICAgIC8vIHdpdGggaXRzIEdMX1BST0dSQU1fU0VQQVJBQkxFIHN0YXR1cyBzZXQuCisgICAgLy8g
cmVzb2x2ZUxpbmsoKSBtYXkgbm90IGhhdmUgYmVlbiBjYWxsZWQgaWYgZ2xDcmVhdGVTaGFkZXJQ
cm9ncmFtdigpIHdhcyBub3QgdXNlZCBhbmQKKyAgICAvLyBnbERldGFjaFNoYWRlcigpIHdhcyBu
b3QgY2FsbGVkLgorICAgIHByb2dyYW0tPnJlc29sdmVMaW5rKGNvbnRleHQpOworICAgIGlmICgh
cHJvZ3JhbS0+aXNTZXBhcmFibGUoKSkKKyAgICB7CisgICAgICAgIGNvbnRleHQtPnZhbGlkYXRp
b25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga1Byb2dyYW1Ob3RTZXBhcmFibGUpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gR0xfSU5WQUxJRF9PUEVSQVRJT04g
aXMgZ2VuZXJhdGVkIGlmIHByb2dyYW0gcmVmZXJzIHRvIGEgcHJvZ3JhbSBvYmplY3QgdGhhdCBo
YXMgbm90IGJlZW4KKyAgICAvLyBzdWNjZXNzZnVsbHkgbGlua2VkLgorICAgIGlmICghcHJvZ3Jh
bS0+aXNMaW5rZWQoKSkKKyAgICB7CisgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwga1Byb2dyYW1Ob3RMaW5rZWQpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgVmFsaWRhdGVBY3Rp
dmVTaGFkZXJQcm9ncmFtKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQcm9ncmFtUGlwZWxpbmVJRCBwaXBlbGluZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNoYWRlclByb2dyYW1JRCBwcm9ncmFtKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU2hhZGVyUHJvZ3JhbUlEIHByb2dyYW1JZCkKIHsKLSAg
ICBVTklNUExFTUVOVEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIC8vIEFuIElOVkFMSURf
T1BFUkFUSU9OIGVycm9yIGlzIGdlbmVyYXRlZCBpZiBwaXBlbGluZSBpcyBub3QgYSBuYW1lIHJl
dHVybmVkIGZyb20gYSBwcmV2aW91cworICAgIC8vIGNhbGwgdG8gR2VuUHJvZ3JhbVBpcGVsaW5l
cyBvciBpZiBzdWNoIGEgbmFtZSBoYXMgc2luY2UgYmVlbiBkZWxldGVkIGJ5CisgICAgLy8gRGVs
ZXRlUHJvZ3JhbVBpcGVsaW5lcy4KKyAgICBpZiAoIWNvbnRleHQtPmlzUHJvZ3JhbVBpcGVsaW5l
R2VuZXJhdGVkKHtwaXBlbGluZX0pKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFsaWRhdGlv
bkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrT2JqZWN0Tm90R2VuZXJhdGVkKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIEFuIElOVkFMSURfVkFMVUUgZXJyb3Ig
aXMgZ2VuZXJhdGVkIGlmIHByb2dyYW0gaXMgbm90IHplcm8gYW5kIGlzIG5vdCB0aGUgbmFtZSBv
ZiBlaXRoZXIgYQorICAgIC8vIHByb2dyYW0gb3Igc2hhZGVyIG9iamVjdC4KKyAgICBpZiAoKHBy
b2dyYW1JZC52YWx1ZSAhPSAwKSAmJiAhY29udGV4dC0+aXNQcm9ncmFtKHByb2dyYW1JZCkgJiYg
IWNvbnRleHQtPmlzU2hhZGVyKHByb2dyYW1JZCkpCisgICAgeworICAgICAgICBjb250ZXh0LT52
YWxpZGF0aW9uRXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwga1Byb2dyYW1Eb2VzTm90RXhpc3QpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gQW4gSU5WQUxJRF9PUEVSQVRJ
T04gZXJyb3IgaXMgZ2VuZXJhdGVkIGlmIHByb2dyYW0gaXMgdGhlIG5hbWUgb2YgYSBzaGFkZXIg
b2JqZWN0LgorICAgIGlmIChjb250ZXh0LT5pc1NoYWRlcihwcm9ncmFtSWQpKQorICAgIHsKKyAg
ICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRXhw
ZWN0ZWRQcm9ncmFtTmFtZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICAv
LyBBbiBJTlZBTElEX09QRVJBVElPTiBlcnJvciBpcyBnZW5lcmF0ZWQgaWYgcHJvZ3JhbSBpcyBu
b3QgemVybyBhbmQgaGFzIG5vdCBiZWVuIGxpbmtlZCwgb3IKKyAgICAvLyB3YXMgbGFzdCBsaW5r
ZWQgdW5zdWNjZXNzZnVsbHkuIFRoZSBhY3RpdmUgcHJvZ3JhbSBpcyBub3QgbW9kaWZpZWQuCisg
ICAgUHJvZ3JhbSAqcHJvZ3JhbSA9IGNvbnRleHQtPmdldFByb2dyYW1Ob1Jlc29sdmVMaW5rKHBy
b2dyYW1JZCk7CisgICAgaWYgKChwcm9ncmFtSWQudmFsdWUgIT0gMCkgJiYgIXByb2dyYW0tPmlz
TGlua2VkKCkpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5W
QUxJRF9PUEVSQVRJT04sIGtQcm9ncmFtTm90TGlua2VkKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIFZhbGlkYXRlQ3JlYXRlU2hh
ZGVyUHJvZ3JhbXYoY29uc3QgQ29udGV4dCAqY29udGV4dCwKQEAgLTE3NDYsOCArMTgzOSwyOCBA
QCBib29sIFZhbGlkYXRlQ3JlYXRlU2hhZGVyUHJvZ3JhbXYoY29uc3QgQ29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGNvdW50LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMY2hhciAqY29uc3QgKnN0cmlu
Z3MpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAo
Y29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpIDwgRVNfM18xKQorICAgIHsKKyAgICAgICAgY29u
dGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRVMzMVJlcXVpcmVk
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIEdMX0lOVkFMSURfRU5V
TSBpcyBnZW5lcmF0ZWQgaWYgdHlwZSBpcyBub3QgYW4gYWNjZXB0ZWQgc2hhZGVyIHR5cGUuCisg
ICAgaWYgKCh0eXBlICE9IFNoYWRlclR5cGU6OlZlcnRleCkgJiYgKHR5cGUgIT0gU2hhZGVyVHlw
ZTo6RnJhZ21lbnQpICYmCisgICAgICAgICh0eXBlICE9IFNoYWRlclR5cGU6OkNvbXB1dGUpKQor
ICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfRU5VTSwg
a0ludmFsaWRTaGFkZXJUeXBlKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IC8vIEdMX0lOVkFMSURfVkFMVUUgaXMgZ2VuZXJhdGVkIGlmIGNvdW50IGlzIG5lZ2F0aXZlLgor
ICAgIGlmIChjb3VudCA8IDApCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJy
b3IoR0xfSU5WQUxJRF9WQUxVRSwga05lZ2F0aXZlQ291bnQpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgVmFsaWRhdGVHZXRQcm9n
cmFtUGlwZWxpbmVpdihjb25zdCBDb250ZXh0ICpjb250ZXh0LApAQCAtMTc1NSwxNCArMTg2OCw1
MCBAQCBib29sIFZhbGlkYXRlR2V0UHJvZ3JhbVBpcGVsaW5laXYoY29uc3QgQ29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gcG5hbWUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xpbnQgKnBhcmFtcykKIHsK
LSAgICBVTklNUExFTUVOVEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIC8vIEFuIElOVkFM
SURfT1BFUkFUSU9OIGVycm9yIGlzIGdlbmVyYXRlZCBpZiBwaXBlbGluZSBpcyBub3QgYSBuYW1l
IHJldHVybmVkIGZyb20gYSBwcmV2aW91cworICAgIC8vIGNhbGwgdG8gR2VuUHJvZ3JhbVBpcGVs
aW5lcyBvciBpZiBzdWNoIGEgbmFtZSBoYXMgc2luY2UgYmVlbiBkZWxldGVkIGJ5CisgICAgLy8g
RGVsZXRlUHJvZ3JhbVBpcGVsaW5lcy4KKyAgICBpZiAoKHBpcGVsaW5lLnZhbHVlID09IDApIHx8
ICghY29udGV4dC0+aXNQcm9ncmFtUGlwZWxpbmVHZW5lcmF0ZWQocGlwZWxpbmUpKSkKKyAgICB7
CisgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
a1Byb2dyYW1QaXBlbGluZURvZXNOb3RFeGlzdCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICAvLyBBbiBJTlZBTElEX0VOVU0gZXJyb3IgaXMgZ2VuZXJhdGVkIGlmIHBuYW1l
IGlzIG5vdCBBQ1RJVkVfUFJPR1JBTSwKKyAgICAvLyBJTkZPX0xPR19MRU5HVEgsIFZBTElEQVRF
X1NUQVRVUywgb3Igb25lIG9mIHRoZSB0eXBlIGFyZ3VtZW50cyBpbgorICAgIC8vIHRhYmxlIDcu
MS4KKyAgICBzd2l0Y2ggKHBuYW1lKQorICAgIHsKKyAgICAgICAgY2FzZSBHTF9BQ1RJVkVfUFJP
R1JBTToKKyAgICAgICAgY2FzZSBHTF9JTkZPX0xPR19MRU5HVEg6CisgICAgICAgIGNhc2UgR0xf
VkFMSURBVEVfU1RBVFVTOgorICAgICAgICBjYXNlIEdMX1ZFUlRFWF9TSEFERVI6CisgICAgICAg
IGNhc2UgR0xfRlJBR01FTlRfU0hBREVSOgorICAgICAgICBjYXNlIEdMX0NPTVBVVEVfU0hBREVS
OgorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNv
bnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX0VOVU0sIGtJbnZhbGlkUG5hbWUpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOwogfQog
CiBib29sIFZhbGlkYXRlVmFsaWRhdGVQcm9ncmFtUGlwZWxpbmUoY29uc3QgQ29udGV4dCAqY29u
dGV4dCwgUHJvZ3JhbVBpcGVsaW5lSUQgcGlwZWxpbmUpCiB7Ci0gICAgVU5JTVBMRU1FTlRFRCgp
OwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocGlwZWxpbmUudmFsdWUgPT0gMCkKKyAgICB7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoIWNvbnRleHQtPmlzUHJv
Z3JhbVBpcGVsaW5lR2VuZXJhdGVkKHBpcGVsaW5lKSkKKyAgICB7CisgICAgICAgIGNvbnRleHQt
PnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwga1Byb2dyYW1QaXBlbGluZURv
ZXNOb3RFeGlzdCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKIH0KIAogYm9vbCBWYWxpZGF0ZUdldFByb2dyYW1QaXBlbGluZUluZm9Mb2coY29uc3Qg
Q29udGV4dCAqY29udGV4dCwKQEAgLTE3NzEsOCArMTkyMCwxOSBAQCBib29sIFZhbGlkYXRlR2V0
UHJvZ3JhbVBpcGVsaW5lSW5mb0xvZyhjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xzaXplaSAqbGVuZ3RoLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xjaGFyICppbmZvTG9n
KQogewotICAgIFVOSU1QTEVNRU5URUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGJ1
ZlNpemUgPCAwKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lO
VkFMSURfVkFMVUUsIGtOZWdhdGl2ZUJ1ZmZlclNpemUpOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgaWYgKCFjb250ZXh0LT5pc1Byb2dyYW1QaXBlbGluZUdlbmVyYXRlZChw
aXBlbGluZSkpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoR0xfSU5W
QUxJRF9WQUxVRSwga1Byb2dyYW1QaXBlbGluZURvZXNOb3RFeGlzdCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBWYWxpZGF0ZU1l
bW9yeUJhcnJpZXIoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xiaXRmaWVsZCBiYXJyaWVycykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0
aW9uRVNFWFRfYXV0b2dlbi5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3ZhbGlkYXRpb25FU0VYVF9hdXRvZ2VuLmgKaW5kZXggYWE5ZjYwMmZiOWQyYWZkNjYzYmRiMWEw
ZmZkMTg4OTI4YWVhM2YzMS4uOWI5ZGEwODhmZWNmZGY5NDJmODEyOTJlN2RiNjZjNzY1ZDUyYWEz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlk
YXRpb25FU0VYVF9hdXRvZ2VuLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3ZhbGlkYXRpb25FU0VYVF9hdXRvZ2VuLmgKQEAgLTcwMSw2ICs3MDEsOCBAQCBib29s
IFZhbGlkYXRlTG9zZUNvbnRleHRDSFJPTUlVTShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NSZXNldFN0YXR1cyBjdXJyZW50
UGFja2VkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NSZXNldFN0
YXR1cyBvdGhlclBhY2tlZCk7CiAKKy8vIEdMX0VYVF9FR0xfaW1hZ2VfYXJyYXkKKwogLy8gR0xf
RVhUX2JsZW5kX2Z1bmNfZXh0ZW5kZWQKIGJvb2wgVmFsaWRhdGVCaW5kRnJhZ0RhdGFMb2NhdGlv
bkVYVChjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNoYWRlclByb2dyYW1JRCBwcm9ncmFtUGFja2VkLApAQCAtMTAxMSw2ICsxMDEz
LDggQEAgYm9vbCBWYWxpZGF0ZUltcG9ydFNlbWFwaG9yZUZkRVhUKGNvbnN0IENvbnRleHQgKmNv
bnRleHQsCiAKIC8vIEdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OAogCisvLyBHTF9FWFRf
dGV4dHVyZV9zUkdCX1I4CisKIC8vIEdMX0VYVF90ZXh0dXJlX3N0b3JhZ2UKIGJvb2wgVmFsaWRh
dGVUZXhTdG9yYWdlMURFWFQoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xlbnVtIHRhcmdldCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJFR0wvZWdsX2xvYWRlcl9hdXRvZ2VuLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvZWdsX2xvYWRlcl9hdXRvZ2VuLmNwcAppbmRleCA1YTg4
YzNmNTA4Y2FkMDFiNDJhNDhmYTYxNDVlOWU2NmRlMzA2OTM3Li5jYjA0ZDUyNDc5OGYyNjM5ZTk5
ZDAzMmUzNWVmYjMzNWRhM2MyODc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliRUdML2VnbF9sb2FkZXJfYXV0b2dlbi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkVHTC9lZ2xfbG9hZGVyX2F1dG9nZW4uY3BwCkBAIC0xMCwyNTcgKzEw
LDI2OCBAQAogCiAjaW5jbHVkZSAiZWdsX2xvYWRlcl9hdXRvZ2VuLmgiCiAKLVBGTkVHTENIT09T
RUNPTkZJR1BST0MgRUdMX0Nob29zZUNvbmZpZzsKLVBGTkVHTENPUFlCVUZGRVJTUFJPQyBFR0xf
Q29weUJ1ZmZlcnM7Ci1QRk5FR0xDUkVBVEVDT05URVhUUFJPQyBFR0xfQ3JlYXRlQ29udGV4dDsK
LVBGTkVHTENSRUFURVBCVUZGRVJTVVJGQUNFUFJPQyBFR0xfQ3JlYXRlUGJ1ZmZlclN1cmZhY2U7
Ci1QRk5FR0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQyBFR0xfQ3JlYXRlUGl4bWFwU3VyZmFjZTsK
LVBGTkVHTENSRUFURVdJTkRPV1NVUkZBQ0VQUk9DIEVHTF9DcmVhdGVXaW5kb3dTdXJmYWNlOwot
UEZORUdMREVTVFJPWUNPTlRFWFRQUk9DIEVHTF9EZXN0cm95Q29udGV4dDsKLVBGTkVHTERFU1RS
T1lTVVJGQUNFUFJPQyBFR0xfRGVzdHJveVN1cmZhY2U7Ci1QRk5FR0xHRVRDT05GSUdBVFRSSUJQ
Uk9DIEVHTF9HZXRDb25maWdBdHRyaWI7Ci1QRk5FR0xHRVRDT05GSUdTUFJPQyBFR0xfR2V0Q29u
ZmlnczsKLVBGTkVHTEdFVENVUlJFTlRESVNQTEFZUFJPQyBFR0xfR2V0Q3VycmVudERpc3BsYXk7
Ci1QRk5FR0xHRVRDVVJSRU5UU1VSRkFDRVBST0MgRUdMX0dldEN1cnJlbnRTdXJmYWNlOwotUEZO
RUdMR0VURElTUExBWVBST0MgRUdMX0dldERpc3BsYXk7Ci1QRk5FR0xHRVRFUlJPUlBST0MgRUdM
X0dldEVycm9yOwotUEZORUdMR0VUUFJPQ0FERFJFU1NQUk9DIEVHTF9HZXRQcm9jQWRkcmVzczsK
LVBGTkVHTElOSVRJQUxJWkVQUk9DIEVHTF9Jbml0aWFsaXplOwotUEZORUdMTUFLRUNVUlJFTlRQ
Uk9DIEVHTF9NYWtlQ3VycmVudDsKLVBGTkVHTFFVRVJZQ09OVEVYVFBST0MgRUdMX1F1ZXJ5Q29u
dGV4dDsKLVBGTkVHTFFVRVJZU1RSSU5HUFJPQyBFR0xfUXVlcnlTdHJpbmc7Ci1QRk5FR0xRVUVS
WVNVUkZBQ0VQUk9DIEVHTF9RdWVyeVN1cmZhY2U7Ci1QRk5FR0xTV0FQQlVGRkVSU1BST0MgRUdM
X1N3YXBCdWZmZXJzOwotUEZORUdMVEVSTUlOQVRFUFJPQyBFR0xfVGVybWluYXRlOwotUEZORUdM
V0FJVEdMUFJPQyBFR0xfV2FpdEdMOwotUEZORUdMV0FJVE5BVElWRVBST0MgRUdMX1dhaXROYXRp
dmU7Ci1QRk5FR0xCSU5EVEVYSU1BR0VQUk9DIEVHTF9CaW5kVGV4SW1hZ2U7Ci1QRk5FR0xSRUxF
QVNFVEVYSU1BR0VQUk9DIEVHTF9SZWxlYXNlVGV4SW1hZ2U7Ci1QRk5FR0xTVVJGQUNFQVRUUklC
UFJPQyBFR0xfU3VyZmFjZUF0dHJpYjsKLVBGTkVHTFNXQVBJTlRFUlZBTFBST0MgRUdMX1N3YXBJ
bnRlcnZhbDsKLVBGTkVHTEJJTkRBUElQUk9DIEVHTF9CaW5kQVBJOwotUEZORUdMUVVFUllBUElQ
Uk9DIEVHTF9RdWVyeUFQSTsKLVBGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5UQlVGRkVSUFJP
QyBFR0xfQ3JlYXRlUGJ1ZmZlckZyb21DbGllbnRCdWZmZXI7Ci1QRk5FR0xSRUxFQVNFVEhSRUFE
UFJPQyBFR0xfUmVsZWFzZVRocmVhZDsKLVBGTkVHTFdBSVRDTElFTlRQUk9DIEVHTF9XYWl0Q2xp
ZW50OwotUEZORUdMR0VUQ1VSUkVOVENPTlRFWFRQUk9DIEVHTF9HZXRDdXJyZW50Q29udGV4dDsK
LVBGTkVHTENSRUFURVNZTkNQUk9DIEVHTF9DcmVhdGVTeW5jOwotUEZORUdMREVTVFJPWVNZTkNQ
Uk9DIEVHTF9EZXN0cm95U3luYzsKLVBGTkVHTENMSUVOVFdBSVRTWU5DUFJPQyBFR0xfQ2xpZW50
V2FpdFN5bmM7Ci1QRk5FR0xHRVRTWU5DQVRUUklCUFJPQyBFR0xfR2V0U3luY0F0dHJpYjsKLVBG
TkVHTENSRUFURUlNQUdFUFJPQyBFR0xfQ3JlYXRlSW1hZ2U7Ci1QRk5FR0xERVNUUk9ZSU1BR0VQ
Uk9DIEVHTF9EZXN0cm95SW1hZ2U7Ci1QRk5FR0xHRVRQTEFURk9STURJU1BMQVlQUk9DIEVHTF9H
ZXRQbGF0Zm9ybURpc3BsYXk7Ci1QRk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VQUk9D
IEVHTF9DcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2U7Ci1QRk5FR0xDUkVBVEVQTEFURk9STVBJ
WE1BUFNVUkZBQ0VQUk9DIEVHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2U7Ci1QRk5FR0xX
QUlUU1lOQ1BST0MgRUdMX1dhaXRTeW5jOwotUEZORUdMU0VUQkxPQkNBQ0hFRlVOQ1NBTkRST0lE
UFJPQyBFR0xfU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEOwotUEZORUdMR0VUQ09NUE9TSVRPUlRJ
TUlOR0FORFJPSURQUk9DIEVHTF9HZXRDb21wb3NpdG9yVGltaW5nQU5EUk9JRDsKLVBGTkVHTEdF
VENPTVBPU0lUT1JUSU1JTkdTVVBQT1JURURBTkRST0lEUFJPQyBFR0xfR2V0Q29tcG9zaXRvclRp
bWluZ1N1cHBvcnRlZEFORFJPSUQ7Ci1QRk5FR0xHRVRGUkFNRVRJTUVTVEFNUFNVUFBPUlRFREFO
RFJPSURQUk9DIEVHTF9HZXRGcmFtZVRpbWVzdGFtcFN1cHBvcnRlZEFORFJPSUQ7Ci1QRk5FR0xH
RVRGUkFNRVRJTUVTVEFNUFNBTkRST0lEUFJPQyBFR0xfR2V0RnJhbWVUaW1lc3RhbXBzQU5EUk9J
RDsKLVBGTkVHTEdFVE5FWFRGUkFNRUlEQU5EUk9JRFBST0MgRUdMX0dldE5leHRGcmFtZUlkQU5E
Uk9JRDsKLVBGTkVHTEdFVE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DIEVHTF9HZXROYXRp
dmVDbGllbnRCdWZmZXJBTkRST0lEOwotUEZORUdMRFVQTkFUSVZFRkVOQ0VGREFORFJPSURQUk9D
IEVHTF9EdXBOYXRpdmVGZW5jZUZEQU5EUk9JRDsKLVBGTkVHTFBSRVNFTlRBVElPTlRJTUVBTkRS
T0lEUFJPQyBFR0xfUHJlc2VudGF0aW9uVGltZUFORFJPSUQ7Ci1QRk5FR0xDUkVBVEVERVZJQ0VB
TkdMRVBST0MgRUdMX0NyZWF0ZURldmljZUFOR0xFOwotUEZORUdMUkVMRUFTRURFVklDRUFOR0xF
UFJPQyBFR0xfUmVsZWFzZURldmljZUFOR0xFOwotUEZORUdMUVVFUllESVNQTEFZQVRUUklCQU5H
TEVQUk9DIEVHTF9RdWVyeURpc3BsYXlBdHRyaWJBTkdMRTsKLVBGTkVHTFFVRVJZU1RSSU5HSUFO
R0xFUFJPQyBFR0xfUXVlcnlTdHJpbmdpQU5HTEU7Ci1QRk5FR0xQUk9HUkFNQ0FDSEVHRVRBVFRS
SUJBTkdMRVBST0MgRUdMX1Byb2dyYW1DYWNoZUdldEF0dHJpYkFOR0xFOwotUEZORUdMUFJPR1JB
TUNBQ0hFUE9QVUxBVEVBTkdMRVBST0MgRUdMX1Byb2dyYW1DYWNoZVBvcHVsYXRlQU5HTEU7Ci1Q
Rk5FR0xQUk9HUkFNQ0FDSEVRVUVSWUFOR0xFUFJPQyBFR0xfUHJvZ3JhbUNhY2hlUXVlcnlBTkdM
RTsKLVBGTkVHTFBST0dSQU1DQUNIRVJFU0laRUFOR0xFUFJPQyBFR0xfUHJvZ3JhbUNhY2hlUmVz
aXplQU5HTEU7Ci1QRk5FR0xRVUVSWVNVUkZBQ0VQT0lOVEVSQU5HTEVQUk9DIEVHTF9RdWVyeVN1
cmZhY2VQb2ludGVyQU5HTEU7Ci1QRk5FR0xDUkVBVEVTVFJFQU1QUk9EVUNFUkQzRFRFWFRVUkVB
TkdMRVBST0MgRUdMX0NyZWF0ZVN0cmVhbVByb2R1Y2VyRDNEVGV4dHVyZUFOR0xFOwotUEZORUdM
U1RSRUFNUE9TVEQzRFRFWFRVUkVBTkdMRVBST0MgRUdMX1N0cmVhbVBvc3REM0RUZXh0dXJlQU5H
TEU7Ci1QRk5FR0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRPS0VOQU5HTEVQUk9DIEVHTF9Td2FwQnVm
ZmVyc1dpdGhGcmFtZVRva2VuQU5HTEU7Ci1QRk5FR0xHRVRNU0NSQVRFQ0hST01JVU1QUk9DIEVH
TF9HZXRNc2NSYXRlQ0hST01JVU07Ci1QRk5FR0xHRVRTWU5DVkFMVUVTQ0hST01JVU1QUk9DIEVH
TF9HZXRTeW5jVmFsdWVzQ0hST01JVU07Ci1QRk5FR0xRVUVSWURFVklDRUFUVFJJQkVYVFBST0Mg
RUdMX1F1ZXJ5RGV2aWNlQXR0cmliRVhUOwotUEZORUdMUVVFUllERVZJQ0VTVFJJTkdFWFRQUk9D
IEVHTF9RdWVyeURldmljZVN0cmluZ0VYVDsKLVBGTkVHTFFVRVJZRElTUExBWUFUVFJJQkVYVFBS
T0MgRUdMX1F1ZXJ5RGlzcGxheUF0dHJpYkVYVDsKLVBGTkVHTENSRUFURVBMQVRGT1JNUElYTUFQ
U1VSRkFDRUVYVFBST0MgRUdMX0NyZWF0ZVBsYXRmb3JtUGl4bWFwU3VyZmFjZUVYVDsKLVBGTkVH
TENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFDRUVYVFBST0MgRUdMX0NyZWF0ZVBsYXRmb3JtV2lu
ZG93U3VyZmFjZUVYVDsKLVBGTkVHTEdFVFBMQVRGT1JNRElTUExBWUVYVFBST0MgRUdMX0dldFBs
YXRmb3JtRGlzcGxheUVYVDsKLVBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DIEVHTF9E
ZWJ1Z01lc3NhZ2VDb250cm9sS0hSOwotUEZORUdMTEFCRUxPQkpFQ1RLSFJQUk9DIEVHTF9MYWJl
bE9iamVjdEtIUjsKLVBGTkVHTFFVRVJZREVCVUdLSFJQUk9DIEVHTF9RdWVyeURlYnVnS0hSOwot
UEZORUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIEVHTF9DbGllbnRXYWl0U3luY0tIUjsKLVBGTkVH
TENSRUFURVNZTkNLSFJQUk9DIEVHTF9DcmVhdGVTeW5jS0hSOwotUEZORUdMREVTVFJPWVNZTkNL
SFJQUk9DIEVHTF9EZXN0cm95U3luY0tIUjsKLVBGTkVHTEdFVFNZTkNBVFRSSUJLSFJQUk9DIEVH
TF9HZXRTeW5jQXR0cmliS0hSOwotUEZORUdMQ1JFQVRFSU1BR0VLSFJQUk9DIEVHTF9DcmVhdGVJ
bWFnZUtIUjsKLVBGTkVHTERFU1RST1lJTUFHRUtIUlBST0MgRUdMX0Rlc3Ryb3lJbWFnZUtIUjsK
LVBGTkVHTENSRUFURVNUUkVBTUtIUlBST0MgRUdMX0NyZWF0ZVN0cmVhbUtIUjsKLVBGTkVHTERF
U1RST1lTVFJFQU1LSFJQUk9DIEVHTF9EZXN0cm95U3RyZWFtS0hSOwotUEZORUdMUVVFUllTVFJF
QU1LSFJQUk9DIEVHTF9RdWVyeVN0cmVhbUtIUjsKLVBGTkVHTFFVRVJZU1RSRUFNVTY0S0hSUFJP
QyBFR0xfUXVlcnlTdHJlYW11NjRLSFI7Ci1QRk5FR0xTVFJFQU1BVFRSSUJLSFJQUk9DIEVHTF9T
dHJlYW1BdHRyaWJLSFI7Ci1QRk5FR0xTVFJFQU1DT05TVU1FUkFDUVVJUkVLSFJQUk9DIEVHTF9T
dHJlYW1Db25zdW1lckFjcXVpcmVLSFI7Ci1QRk5FR0xTVFJFQU1DT05TVU1FUkdMVEVYVFVSRUVY
VEVSTkFMS0hSUFJPQyBFR0xfU3RyZWFtQ29uc3VtZXJHTFRleHR1cmVFeHRlcm5hbEtIUjsKLVBG
TkVHTFNUUkVBTUNPTlNVTUVSUkVMRUFTRUtIUlBST0MgRUdMX1N0cmVhbUNvbnN1bWVyUmVsZWFz
ZUtIUjsKLVBGTkVHTFNXQVBCVUZGRVJTV0lUSERBTUFHRUtIUlBST0MgRUdMX1N3YXBCdWZmZXJz
V2l0aERhbWFnZUtIUjsKLVBGTkVHTFdBSVRTWU5DS0hSUFJPQyBFR0xfV2FpdFN5bmNLSFI7Ci1Q
Rk5FR0xQT1NUU1VCQlVGRkVSTlZQUk9DIEVHTF9Qb3N0U3ViQnVmZmVyTlY7Ci1QRk5FR0xTVFJF
QU1DT05TVU1FUkdMVEVYVFVSRUVYVEVSTkFMQVRUUklCU05WUFJPQyBFR0xfU3RyZWFtQ29uc3Vt
ZXJHTFRleHR1cmVFeHRlcm5hbEF0dHJpYnNOVjsKK1BGTkVHTENIT09TRUNPTkZJR1BST0MgbF9F
R0xfQ2hvb3NlQ29uZmlnOworUEZORUdMQ09QWUJVRkZFUlNQUk9DIGxfRUdMX0NvcHlCdWZmZXJz
OworUEZORUdMQ1JFQVRFQ09OVEVYVFBST0MgbF9FR0xfQ3JlYXRlQ29udGV4dDsKK1BGTkVHTENS
RUFURVBCVUZGRVJTVVJGQUNFUFJPQyBsX0VHTF9DcmVhdGVQYnVmZmVyU3VyZmFjZTsKK1BGTkVH
TENSRUFURVBJWE1BUFNVUkZBQ0VQUk9DIGxfRUdMX0NyZWF0ZVBpeG1hcFN1cmZhY2U7CitQRk5F
R0xDUkVBVEVXSU5ET1dTVVJGQUNFUFJPQyBsX0VHTF9DcmVhdGVXaW5kb3dTdXJmYWNlOworUEZO
RUdMREVTVFJPWUNPTlRFWFRQUk9DIGxfRUdMX0Rlc3Ryb3lDb250ZXh0OworUEZORUdMREVTVFJP
WVNVUkZBQ0VQUk9DIGxfRUdMX0Rlc3Ryb3lTdXJmYWNlOworUEZORUdMR0VUQ09ORklHQVRUUklC
UFJPQyBsX0VHTF9HZXRDb25maWdBdHRyaWI7CitQRk5FR0xHRVRDT05GSUdTUFJPQyBsX0VHTF9H
ZXRDb25maWdzOworUEZORUdMR0VUQ1VSUkVOVERJU1BMQVlQUk9DIGxfRUdMX0dldEN1cnJlbnRE
aXNwbGF5OworUEZORUdMR0VUQ1VSUkVOVFNVUkZBQ0VQUk9DIGxfRUdMX0dldEN1cnJlbnRTdXJm
YWNlOworUEZORUdMR0VURElTUExBWVBST0MgbF9FR0xfR2V0RGlzcGxheTsKK1BGTkVHTEdFVEVS
Uk9SUFJPQyBsX0VHTF9HZXRFcnJvcjsKK1BGTkVHTEdFVFBST0NBRERSRVNTUFJPQyBsX0VHTF9H
ZXRQcm9jQWRkcmVzczsKK1BGTkVHTElOSVRJQUxJWkVQUk9DIGxfRUdMX0luaXRpYWxpemU7CitQ
Rk5FR0xNQUtFQ1VSUkVOVFBST0MgbF9FR0xfTWFrZUN1cnJlbnQ7CitQRk5FR0xRVUVSWUNPTlRF
WFRQUk9DIGxfRUdMX1F1ZXJ5Q29udGV4dDsKK1BGTkVHTFFVRVJZU1RSSU5HUFJPQyBsX0VHTF9R
dWVyeVN0cmluZzsKK1BGTkVHTFFVRVJZU1VSRkFDRVBST0MgbF9FR0xfUXVlcnlTdXJmYWNlOwor
UEZORUdMU1dBUEJVRkZFUlNQUk9DIGxfRUdMX1N3YXBCdWZmZXJzOworUEZORUdMVEVSTUlOQVRF
UFJPQyBsX0VHTF9UZXJtaW5hdGU7CitQRk5FR0xXQUlUR0xQUk9DIGxfRUdMX1dhaXRHTDsKK1BG
TkVHTFdBSVROQVRJVkVQUk9DIGxfRUdMX1dhaXROYXRpdmU7CitQRk5FR0xCSU5EVEVYSU1BR0VQ
Uk9DIGxfRUdMX0JpbmRUZXhJbWFnZTsKK1BGTkVHTFJFTEVBU0VURVhJTUFHRVBST0MgbF9FR0xf
UmVsZWFzZVRleEltYWdlOworUEZORUdMU1VSRkFDRUFUVFJJQlBST0MgbF9FR0xfU3VyZmFjZUF0
dHJpYjsKK1BGTkVHTFNXQVBJTlRFUlZBTFBST0MgbF9FR0xfU3dhcEludGVydmFsOworUEZORUdM
QklOREFQSVBST0MgbF9FR0xfQmluZEFQSTsKK1BGTkVHTFFVRVJZQVBJUFJPQyBsX0VHTF9RdWVy
eUFQSTsKK1BGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5UQlVGRkVSUFJPQyBsX0VHTF9DcmVh
dGVQYnVmZmVyRnJvbUNsaWVudEJ1ZmZlcjsKK1BGTkVHTFJFTEVBU0VUSFJFQURQUk9DIGxfRUdM
X1JlbGVhc2VUaHJlYWQ7CitQRk5FR0xXQUlUQ0xJRU5UUFJPQyBsX0VHTF9XYWl0Q2xpZW50Owor
UEZORUdMR0VUQ1VSUkVOVENPTlRFWFRQUk9DIGxfRUdMX0dldEN1cnJlbnRDb250ZXh0OworUEZO
RUdMQ1JFQVRFU1lOQ1BST0MgbF9FR0xfQ3JlYXRlU3luYzsKK1BGTkVHTERFU1RST1lTWU5DUFJP
QyBsX0VHTF9EZXN0cm95U3luYzsKK1BGTkVHTENMSUVOVFdBSVRTWU5DUFJPQyBsX0VHTF9DbGll
bnRXYWl0U3luYzsKK1BGTkVHTEdFVFNZTkNBVFRSSUJQUk9DIGxfRUdMX0dldFN5bmNBdHRyaWI7
CitQRk5FR0xDUkVBVEVJTUFHRVBST0MgbF9FR0xfQ3JlYXRlSW1hZ2U7CitQRk5FR0xERVNUUk9Z
SU1BR0VQUk9DIGxfRUdMX0Rlc3Ryb3lJbWFnZTsKK1BGTkVHTEdFVFBMQVRGT1JNRElTUExBWVBS
T0MgbF9FR0xfR2V0UGxhdGZvcm1EaXNwbGF5OworUEZORUdMQ1JFQVRFUExBVEZPUk1XSU5ET1dT
VVJGQUNFUFJPQyBsX0VHTF9DcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2U7CitQRk5FR0xDUkVB
VEVQTEFURk9STVBJWE1BUFNVUkZBQ0VQUk9DIGxfRUdMX0NyZWF0ZVBsYXRmb3JtUGl4bWFwU3Vy
ZmFjZTsKK1BGTkVHTFdBSVRTWU5DUFJPQyBsX0VHTF9XYWl0U3luYzsKK1BGTkVHTFNFVEJMT0JD
QUNIRUZVTkNTQU5EUk9JRFBST0MgbF9FR0xfU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEOworUEZO
RUdMR0VUQ09NUE9TSVRPUlRJTUlOR0FORFJPSURQUk9DIGxfRUdMX0dldENvbXBvc2l0b3JUaW1p
bmdBTkRST0lEOworUEZORUdMR0VUQ09NUE9TSVRPUlRJTUlOR1NVUFBPUlRFREFORFJPSURQUk9D
IGxfRUdMX0dldENvbXBvc2l0b3JUaW1pbmdTdXBwb3J0ZWRBTkRST0lEOworUEZORUdMR0VURlJB
TUVUSU1FU1RBTVBTVVBQT1JURURBTkRST0lEUFJPQyBsX0VHTF9HZXRGcmFtZVRpbWVzdGFtcFN1
cHBvcnRlZEFORFJPSUQ7CitQRk5FR0xHRVRGUkFNRVRJTUVTVEFNUFNBTkRST0lEUFJPQyBsX0VH
TF9HZXRGcmFtZVRpbWVzdGFtcHNBTkRST0lEOworUEZORUdMR0VUTkVYVEZSQU1FSURBTkRST0lE
UFJPQyBsX0VHTF9HZXROZXh0RnJhbWVJZEFORFJPSUQ7CitQRk5FR0xHRVROQVRJVkVDTElFTlRC
VUZGRVJBTkRST0lEUFJPQyBsX0VHTF9HZXROYXRpdmVDbGllbnRCdWZmZXJBTkRST0lEOworUEZO
RUdMRFVQTkFUSVZFRkVOQ0VGREFORFJPSURQUk9DIGxfRUdMX0R1cE5hdGl2ZUZlbmNlRkRBTkRS
T0lEOworUEZORUdMUFJFU0VOVEFUSU9OVElNRUFORFJPSURQUk9DIGxfRUdMX1ByZXNlbnRhdGlv
blRpbWVBTkRST0lEOworUEZORUdMQ1JFQVRFREVWSUNFQU5HTEVQUk9DIGxfRUdMX0NyZWF0ZURl
dmljZUFOR0xFOworUEZORUdMUkVMRUFTRURFVklDRUFOR0xFUFJPQyBsX0VHTF9SZWxlYXNlRGV2
aWNlQU5HTEU7CitQRk5FR0xRVUVSWURJU1BMQVlBVFRSSUJBTkdMRVBST0MgbF9FR0xfUXVlcnlE
aXNwbGF5QXR0cmliQU5HTEU7CitQRk5FR0xRVUVSWVNUUklOR0lBTkdMRVBST0MgbF9FR0xfUXVl
cnlTdHJpbmdpQU5HTEU7CitQRk5FR0xQUk9HUkFNQ0FDSEVHRVRBVFRSSUJBTkdMRVBST0MgbF9F
R0xfUHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEU7CitQRk5FR0xQUk9HUkFNQ0FDSEVQT1BVTEFU
RUFOR0xFUFJPQyBsX0VHTF9Qcm9ncmFtQ2FjaGVQb3B1bGF0ZUFOR0xFOworUEZORUdMUFJPR1JB
TUNBQ0hFUVVFUllBTkdMRVBST0MgbF9FR0xfUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRTsKK1BGTkVH
TFBST0dSQU1DQUNIRVJFU0laRUFOR0xFUFJPQyBsX0VHTF9Qcm9ncmFtQ2FjaGVSZXNpemVBTkdM
RTsKK1BGTkVHTFFVRVJZU1VSRkFDRVBPSU5URVJBTkdMRVBST0MgbF9FR0xfUXVlcnlTdXJmYWNl
UG9pbnRlckFOR0xFOworUEZORUdMQ1JFQVRFU1RSRUFNUFJPRFVDRVJEM0RURVhUVVJFQU5HTEVQ
Uk9DIGxfRUdMX0NyZWF0ZVN0cmVhbVByb2R1Y2VyRDNEVGV4dHVyZUFOR0xFOworUEZORUdMU1RS
RUFNUE9TVEQzRFRFWFRVUkVBTkdMRVBST0MgbF9FR0xfU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdM
RTsKK1BGTkVHTFNXQVBCVUZGRVJTV0lUSEZSQU1FVE9LRU5BTkdMRVBST0MgbF9FR0xfU3dhcEJ1
ZmZlcnNXaXRoRnJhbWVUb2tlbkFOR0xFOworUEZORUdMR0VUTVNDUkFURUFOR0xFUFJPQyBsX0VH
TF9HZXRNc2NSYXRlQU5HTEU7CitQRk5FR0xHRVRTWU5DVkFMVUVTQ0hST01JVU1QUk9DIGxfRUdM
X0dldFN5bmNWYWx1ZXNDSFJPTUlVTTsKK1BGTkVHTFFVRVJZREVWSUNFQVRUUklCRVhUUFJPQyBs
X0VHTF9RdWVyeURldmljZUF0dHJpYkVYVDsKK1BGTkVHTFFVRVJZREVWSUNFU1RSSU5HRVhUUFJP
QyBsX0VHTF9RdWVyeURldmljZVN0cmluZ0VYVDsKK1BGTkVHTFFVRVJZRElTUExBWUFUVFJJQkVY
VFBST0MgbF9FR0xfUXVlcnlEaXNwbGF5QXR0cmliRVhUOworUEZORUdMQ1JFQVRFUExBVEZPUk1Q
SVhNQVBTVVJGQUNFRVhUUFJPQyBsX0VHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2VFWFQ7
CitQRk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VFWFRQUk9DIGxfRUdMX0NyZWF0ZVBs
YXRmb3JtV2luZG93U3VyZmFjZUVYVDsKK1BGTkVHTEdFVFBMQVRGT1JNRElTUExBWUVYVFBST0Mg
bF9FR0xfR2V0UGxhdGZvcm1EaXNwbGF5RVhUOworUEZORUdMREVCVUdNRVNTQUdFQ09OVFJPTEtI
UlBST0MgbF9FR0xfRGVidWdNZXNzYWdlQ29udHJvbEtIUjsKK1BGTkVHTExBQkVMT0JKRUNUS0hS
UFJPQyBsX0VHTF9MYWJlbE9iamVjdEtIUjsKK1BGTkVHTFFVRVJZREVCVUdLSFJQUk9DIGxfRUdM
X1F1ZXJ5RGVidWdLSFI7CitQRk5FR0xDTElFTlRXQUlUU1lOQ0tIUlBST0MgbF9FR0xfQ2xpZW50
V2FpdFN5bmNLSFI7CitQRk5FR0xDUkVBVEVTWU5DS0hSUFJPQyBsX0VHTF9DcmVhdGVTeW5jS0hS
OworUEZORUdMREVTVFJPWVNZTkNLSFJQUk9DIGxfRUdMX0Rlc3Ryb3lTeW5jS0hSOworUEZORUdM
R0VUU1lOQ0FUVFJJQktIUlBST0MgbF9FR0xfR2V0U3luY0F0dHJpYktIUjsKK1BGTkVHTENSRUFU
RUlNQUdFS0hSUFJPQyBsX0VHTF9DcmVhdGVJbWFnZUtIUjsKK1BGTkVHTERFU1RST1lJTUFHRUtI
UlBST0MgbF9FR0xfRGVzdHJveUltYWdlS0hSOworUEZORUdMQ1JFQVRFU1RSRUFNS0hSUFJPQyBs
X0VHTF9DcmVhdGVTdHJlYW1LSFI7CitQRk5FR0xERVNUUk9ZU1RSRUFNS0hSUFJPQyBsX0VHTF9E
ZXN0cm95U3RyZWFtS0hSOworUEZORUdMUVVFUllTVFJFQU1LSFJQUk9DIGxfRUdMX1F1ZXJ5U3Ry
ZWFtS0hSOworUEZORUdMUVVFUllTVFJFQU1VNjRLSFJQUk9DIGxfRUdMX1F1ZXJ5U3RyZWFtdTY0
S0hSOworUEZORUdMU1RSRUFNQVRUUklCS0hSUFJPQyBsX0VHTF9TdHJlYW1BdHRyaWJLSFI7CitQ
Rk5FR0xTVFJFQU1DT05TVU1FUkFDUVVJUkVLSFJQUk9DIGxfRUdMX1N0cmVhbUNvbnN1bWVyQWNx
dWlyZUtIUjsKK1BGTkVHTFNUUkVBTUNPTlNVTUVSR0xURVhUVVJFRVhURVJOQUxLSFJQUk9DIGxf
RUdMX1N0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxLSFI7CitQRk5FR0xTVFJFQU1DT05T
VU1FUlJFTEVBU0VLSFJQUk9DIGxfRUdMX1N0cmVhbUNvbnN1bWVyUmVsZWFzZUtIUjsKK1BGTkVH
TFNXQVBCVUZGRVJTV0lUSERBTUFHRUtIUlBST0MgbF9FR0xfU3dhcEJ1ZmZlcnNXaXRoRGFtYWdl
S0hSOworUEZORUdMV0FJVFNZTkNLSFJQUk9DIGxfRUdMX1dhaXRTeW5jS0hSOworUEZORUdMUE9T
VFNVQkJVRkZFUk5WUFJPQyBsX0VHTF9Qb3N0U3ViQnVmZmVyTlY7CitQRk5FR0xTVFJFQU1DT05T
VU1FUkdMVEVYVFVSRUVYVEVSTkFMQVRUUklCU05WUFJPQyBsX0VHTF9TdHJlYW1Db25zdW1lckdM
VGV4dHVyZUV4dGVybmFsQXR0cmlic05WOwogCiBuYW1lc3BhY2UgYW5nbGUKIHsKIHZvaWQgTG9h
ZEVHTF9FR0woTG9hZFByb2MgbG9hZFByb2MpCiB7Ci0gICAgRUdMX0Nob29zZUNvbmZpZyAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkVHTENIT09TRUNPTkZJR1BST0M+KGxvYWRQcm9jKCJFR0xfQ2hv
b3NlQ29uZmlnIikpOwotICAgIEVHTF9Db3B5QnVmZmVycyAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xDT1BZQlVGRkVSU1BST0M+KGxvYWRQcm9jKCJFR0xfQ29weUJ1ZmZlcnMiKSk7Ci0gICAg
RUdMX0NyZWF0ZUNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURUNPTlRFWFRQ
Uk9DPihsb2FkUHJvYygiRUdMX0NyZWF0ZUNvbnRleHQiKSk7Ci0gICAgRUdMX0NyZWF0ZVBidWZm
ZXJTdXJmYWNlID0KKyAgICBsX0VHTF9DaG9vc2VDb25maWcgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xDSE9PU0VDT05GSUdQUk9DPihsb2FkUHJvYygiRUdMX0Nob29zZUNvbmZpZyIpKTsKKyAg
ICBsX0VHTF9Db3B5QnVmZmVycyAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDT1BZQlVGRkVS
U1BST0M+KGxvYWRQcm9jKCJFR0xfQ29weUJ1ZmZlcnMiKSk7CisgICAgbF9FR0xfQ3JlYXRlQ29u
dGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFQ09OVEVYVFBST0M+KGxvYWRQcm9j
KCJFR0xfQ3JlYXRlQ29udGV4dCIpKTsKKyAgICBsX0VHTF9DcmVhdGVQYnVmZmVyU3VyZmFjZSA9
CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUEJVRkZFUlNVUkZBQ0VQUk9D
Pihsb2FkUHJvYygiRUdMX0NyZWF0ZVBidWZmZXJTdXJmYWNlIikpOwotICAgIEVHTF9DcmVhdGVQ
aXhtYXBTdXJmYWNlID0KKyAgICBsX0VHTF9DcmVhdGVQaXhtYXBTdXJmYWNlID0KICAgICAgICAg
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQz4obG9hZFByb2Mo
IkVHTF9DcmVhdGVQaXhtYXBTdXJmYWNlIikpOwotICAgIEVHTF9DcmVhdGVXaW5kb3dTdXJmYWNl
ID0KKyAgICBsX0VHTF9DcmVhdGVXaW5kb3dTdXJmYWNlID0KICAgICAgICAgcmVpbnRlcnByZXRf
Y2FzdDxQRk5FR0xDUkVBVEVXSU5ET1dTVVJGQUNFUFJPQz4obG9hZFByb2MoIkVHTF9DcmVhdGVX
aW5kb3dTdXJmYWNlIikpOwotICAgIEVHTF9EZXN0cm95Q29udGV4dCA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZORUdMREVTVFJPWUNPTlRFWFRQUk9DPihsb2FkUHJvYygiRUdMX0Rlc3Ryb3lDb250ZXh0
IikpOwotICAgIEVHTF9EZXN0cm95U3VyZmFjZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVT
VFJPWVNVUkZBQ0VQUk9DPihsb2FkUHJvYygiRUdMX0Rlc3Ryb3lTdXJmYWNlIikpOwotICAgIEVH
TF9HZXRDb25maWdBdHRyaWIgPQorICAgIGxfRUdMX0Rlc3Ryb3lDb250ZXh0ID0KKyAgICAgICAg
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xERVNUUk9ZQ09OVEVYVFBST0M+KGxvYWRQcm9jKCJFR0xf
RGVzdHJveUNvbnRleHQiKSk7CisgICAgbF9FR0xfRGVzdHJveVN1cmZhY2UgPQorICAgICAgICBy
ZWludGVycHJldF9jYXN0PFBGTkVHTERFU1RST1lTVVJGQUNFUFJPQz4obG9hZFByb2MoIkVHTF9E
ZXN0cm95U3VyZmFjZSIpKTsKKyAgICBsX0VHTF9HZXRDb25maWdBdHRyaWIgPQogICAgICAgICBy
ZWludGVycHJldF9jYXN0PFBGTkVHTEdFVENPTkZJR0FUVFJJQlBST0M+KGxvYWRQcm9jKCJFR0xf
R2V0Q29uZmlnQXR0cmliIikpOwotICAgIEVHTF9HZXRDb25maWdzID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xHRVRDT05GSUdTUFJPQz4obG9hZFByb2MoIkVHTF9HZXRDb25maWdzIikpOwotICAg
IEVHTF9HZXRDdXJyZW50RGlzcGxheSA9CisgICAgbF9FR0xfR2V0Q29uZmlncyA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZORUdMR0VUQ09ORklHU1BST0M+KGxvYWRQcm9jKCJFR0xfR2V0Q29uZmlncyIp
KTsKKyAgICBsX0VHTF9HZXRDdXJyZW50RGlzcGxheSA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nh
c3Q8UEZORUdMR0VUQ1VSUkVOVERJU1BMQVlQUk9DPihsb2FkUHJvYygiRUdMX0dldEN1cnJlbnRE
aXNwbGF5IikpOwotICAgIEVHTF9HZXRDdXJyZW50U3VyZmFjZSA9CisgICAgbF9FR0xfR2V0Q3Vy
cmVudFN1cmZhY2UgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVENVUlJFTlRT
VVJGQUNFUFJPQz4obG9hZFByb2MoIkVHTF9HZXRDdXJyZW50U3VyZmFjZSIpKTsKLSAgICBFR0xf
R2V0RGlzcGxheSAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVERJU1BMQVlQUk9DPihs
b2FkUHJvYygiRUdMX0dldERpc3BsYXkiKSk7Ci0gICAgRUdMX0dldEVycm9yICAgICAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xHRVRFUlJPUlBST0M+KGxvYWRQcm9jKCJFR0xfR2V0RXJyb3Ii
KSk7Ci0gICAgRUdMX0dldFByb2NBZGRyZXNzID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRQ
Uk9DQUREUkVTU1BST0M+KGxvYWRQcm9jKCJFR0xfR2V0UHJvY0FkZHJlc3MiKSk7Ci0gICAgRUdM
X0luaXRpYWxpemUgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xJTklUSUFMSVpFUFJPQz4o
bG9hZFByb2MoIkVHTF9Jbml0aWFsaXplIikpOwotICAgIEVHTF9NYWtlQ3VycmVudCAgICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMTUFLRUNVUlJFTlRQUk9DPihsb2FkUHJvYygiRUdMX01ha2VD
dXJyZW50IikpOwotICAgIEVHTF9RdWVyeUNvbnRleHQgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
RUdMUVVFUllDT05URVhUUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeUNvbnRleHQiKSk7Ci0gICAg
RUdMX1F1ZXJ5U3RyaW5nICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNUUklOR1BS
T0M+KGxvYWRQcm9jKCJFR0xfUXVlcnlTdHJpbmciKSk7Ci0gICAgRUdMX1F1ZXJ5U3VyZmFjZSAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNVUkZBQ0VQUk9DPihsb2FkUHJvYygiRUdM
X1F1ZXJ5U3VyZmFjZSIpKTsKLSAgICBFR0xfU3dhcEJ1ZmZlcnMgICAgPSByZWludGVycHJldF9j
YXN0PFBGTkVHTFNXQVBCVUZGRVJTUFJPQz4obG9hZFByb2MoIkVHTF9Td2FwQnVmZmVycyIpKTsK
LSAgICBFR0xfVGVybWluYXRlICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFRFUk1JTkFU
RVBST0M+KGxvYWRQcm9jKCJFR0xfVGVybWluYXRlIikpOwotICAgIEVHTF9XYWl0R0wgICAgICAg
ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMV0FJVEdMUFJPQz4obG9hZFByb2MoIkVHTF9XYWl0
R0wiKSk7Ci0gICAgRUdMX1dhaXROYXRpdmUgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xX
QUlUTkFUSVZFUFJPQz4obG9hZFByb2MoIkVHTF9XYWl0TmF0aXZlIikpOwotICAgIEVHTF9CaW5k
VGV4SW1hZ2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQklORFRFWElNQUdFUFJPQz4obG9h
ZFByb2MoIkVHTF9CaW5kVGV4SW1hZ2UiKSk7Ci0gICAgRUdMX1JlbGVhc2VUZXhJbWFnZSA9Cisg
ICAgbF9FR0xfR2V0RGlzcGxheSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VURElTUExBWVBS
T0M+KGxvYWRQcm9jKCJFR0xfR2V0RGlzcGxheSIpKTsKKyAgICBsX0VHTF9HZXRFcnJvciAgID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRFUlJPUlBST0M+KGxvYWRQcm9jKCJFR0xfR2V0RXJy
b3IiKSk7CisgICAgbF9FR0xfR2V0UHJvY0FkZHJlc3MgPQorICAgICAgICByZWludGVycHJldF9j
YXN0PFBGTkVHTEdFVFBST0NBRERSRVNTUFJPQz4obG9hZFByb2MoIkVHTF9HZXRQcm9jQWRkcmVz
cyIpKTsKKyAgICBsX0VHTF9Jbml0aWFsaXplICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTElO
SVRJQUxJWkVQUk9DPihsb2FkUHJvYygiRUdMX0luaXRpYWxpemUiKSk7CisgICAgbF9FR0xfTWFr
ZUN1cnJlbnQgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xNQUtFQ1VSUkVOVFBST0M+KGxvYWRQ
cm9jKCJFR0xfTWFrZUN1cnJlbnQiKSk7CisgICAgbF9FR0xfUXVlcnlDb250ZXh0ID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xRVUVSWUNPTlRFWFRQUk9DPihsb2FkUHJvYygiRUdMX1F1ZXJ5Q29u
dGV4dCIpKTsKKyAgICBsX0VHTF9RdWVyeVN0cmluZyAgPSByZWludGVycHJldF9jYXN0PFBGTkVH
TFFVRVJZU1RSSU5HUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeVN0cmluZyIpKTsKKyAgICBsX0VH
TF9RdWVyeVN1cmZhY2UgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFFVRVJZU1VSRkFDRVBST0M+
KGxvYWRQcm9jKCJFR0xfUXVlcnlTdXJmYWNlIikpOworICAgIGxfRUdMX1N3YXBCdWZmZXJzICA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1dBUEJVRkZFUlNQUk9DPihsb2FkUHJvYygiRUdMX1N3
YXBCdWZmZXJzIikpOworICAgIGxfRUdMX1Rlcm1pbmF0ZSAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZORUdMVEVSTUlOQVRFUFJPQz4obG9hZFByb2MoIkVHTF9UZXJtaW5hdGUiKSk7CisgICAgbF9F
R0xfV2FpdEdMICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xXQUlUR0xQUk9DPihsb2Fk
UHJvYygiRUdMX1dhaXRHTCIpKTsKKyAgICBsX0VHTF9XYWl0TmF0aXZlICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkVHTFdBSVROQVRJVkVQUk9DPihsb2FkUHJvYygiRUdMX1dhaXROYXRpdmUiKSk7
CisgICAgbF9FR0xfQmluZFRleEltYWdlID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xCSU5EVEVY
SU1BR0VQUk9DPihsb2FkUHJvYygiRUdMX0JpbmRUZXhJbWFnZSIpKTsKKyAgICBsX0VHTF9SZWxl
YXNlVGV4SW1hZ2UgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFJFTEVBU0VURVhJ
TUFHRVBST0M+KGxvYWRQcm9jKCJFR0xfUmVsZWFzZVRleEltYWdlIikpOwotICAgIEVHTF9TdXJm
YWNlQXR0cmliID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVVJGQUNFQVRUUklCUFJPQz4obG9h
ZFByb2MoIkVHTF9TdXJmYWNlQXR0cmliIikpOwotICAgIEVHTF9Td2FwSW50ZXJ2YWwgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xTV0FQSU5URVJWQUxQUk9DPihsb2FkUHJvYygiRUdMX1N3YXBJ
bnRlcnZhbCIpKTsKLSAgICBFR0xfQmluZEFQSSAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
RUdMQklOREFQSVBST0M+KGxvYWRQcm9jKCJFR0xfQmluZEFQSSIpKTsKLSAgICBFR0xfUXVlcnlB
UEkgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllBUElQUk9DPihsb2FkUHJvYygi
RUdMX1F1ZXJ5QVBJIikpOwotICAgIEVHTF9DcmVhdGVQYnVmZmVyRnJvbUNsaWVudEJ1ZmZlciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUEJVRkZFUkZST01DTElFTlRCVUZGRVJQUk9D
PigKKyAgICBsX0VHTF9TdXJmYWNlQXR0cmliID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVVJG
QUNFQVRUUklCUFJPQz4obG9hZFByb2MoIkVHTF9TdXJmYWNlQXR0cmliIikpOworICAgIGxfRUdM
X1N3YXBJbnRlcnZhbCAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFNXQVBJTlRFUlZBTFBST0M+
KGxvYWRQcm9jKCJFR0xfU3dhcEludGVydmFsIikpOworICAgIGxfRUdMX0JpbmRBUEkgICAgICAg
PSByZWludGVycHJldF9jYXN0PFBGTkVHTEJJTkRBUElQUk9DPihsb2FkUHJvYygiRUdMX0JpbmRB
UEkiKSk7CisgICAgbF9FR0xfUXVlcnlBUEkgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
UVVFUllBUElQUk9DPihsb2FkUHJvYygiRUdMX1F1ZXJ5QVBJIikpOworICAgIGxfRUdMX0NyZWF0
ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVQ
QlVGRkVSRlJPTUNMSUVOVEJVRkZFUlBST0M+KAogICAgICAgICBsb2FkUHJvYygiRUdMX0NyZWF0
ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyIikpOwotICAgIEVHTF9SZWxlYXNlVGhyZWFkID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xSRUxFQVNFVEhSRUFEUFJPQz4obG9hZFByb2MoIkVHTF9SZWxl
YXNlVGhyZWFkIikpOwotICAgIEVHTF9XYWl0Q2xpZW50ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xXQUlUQ0xJRU5UUFJPQz4obG9hZFByb2MoIkVHTF9XYWl0Q2xpZW50IikpOwotICAgIEVH
TF9HZXRDdXJyZW50Q29udGV4dCA9CisgICAgbF9FR0xfUmVsZWFzZVRocmVhZCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZORUdMUkVMRUFTRVRIUkVBRFBST0M+KGxvYWRQcm9jKCJFR0xfUmVsZWFzZVRo
cmVhZCIpKTsKKyAgICBsX0VHTF9XYWl0Q2xpZW50ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xXQUlUQ0xJRU5UUFJPQz4obG9hZFByb2MoIkVHTF9XYWl0Q2xpZW50IikpOworICAgIGxfRUdM
X0dldEN1cnJlbnRDb250ZXh0ID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRD
VVJSRU5UQ09OVEVYVFBST0M+KGxvYWRQcm9jKCJFR0xfR2V0Q3VycmVudENvbnRleHQiKSk7Ci0g
ICAgRUdMX0NyZWF0ZVN5bmMgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVTWU5D
UFJPQz4obG9hZFByb2MoIkVHTF9DcmVhdGVTeW5jIikpOwotICAgIEVHTF9EZXN0cm95U3luYyAg
ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWVNZTkNQUk9DPihsb2FkUHJvYygiRUdM
X0Rlc3Ryb3lTeW5jIikpOwotICAgIEVHTF9DbGllbnRXYWl0U3luYyA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZORUdMQ0xJRU5UV0FJVFNZTkNQUk9DPihsb2FkUHJvYygiRUdMX0NsaWVudFdhaXRTeW5j
IikpOwotICAgIEVHTF9HZXRTeW5jQXR0cmliICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VU
U1lOQ0FUVFJJQlBST0M+KGxvYWRQcm9jKCJFR0xfR2V0U3luY0F0dHJpYiIpKTsKLSAgICBFR0xf
Q3JlYXRlSW1hZ2UgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURUlNQUdFUFJPQz4o
bG9hZFByb2MoIkVHTF9DcmVhdGVJbWFnZSIpKTsKLSAgICBFR0xfRGVzdHJveUltYWdlICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkVHTERFU1RST1lJTUFHRVBST0M+KGxvYWRQcm9jKCJFR0xfRGVz
dHJveUltYWdlIikpOwotICAgIEVHTF9HZXRQbGF0Zm9ybURpc3BsYXkgPQorICAgIGxfRUdMX0Ny
ZWF0ZVN5bmMgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVTWU5DUFJPQz4obG9hZFBy
b2MoIkVHTF9DcmVhdGVTeW5jIikpOworICAgIGxfRUdMX0Rlc3Ryb3lTeW5jID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5FR0xERVNUUk9ZU1lOQ1BST0M+KGxvYWRQcm9jKCJFR0xfRGVzdHJveVN5bmMi
KSk7CisgICAgbF9FR0xfQ2xpZW50V2FpdFN5bmMgPQorICAgICAgICByZWludGVycHJldF9jYXN0
PFBGTkVHTENMSUVOVFdBSVRTWU5DUFJPQz4obG9hZFByb2MoIkVHTF9DbGllbnRXYWl0U3luYyIp
KTsKKyAgICBsX0VHTF9HZXRTeW5jQXR0cmliID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRT
WU5DQVRUUklCUFJPQz4obG9hZFByb2MoIkVHTF9HZXRTeW5jQXR0cmliIikpOworICAgIGxfRUdM
X0NyZWF0ZUltYWdlICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURUlNQUdFUFJPQz4o
bG9hZFByb2MoIkVHTF9DcmVhdGVJbWFnZSIpKTsKKyAgICBsX0VHTF9EZXN0cm95SW1hZ2UgID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xERVNUUk9ZSU1BR0VQUk9DPihsb2FkUHJvYygiRUdMX0Rl
c3Ryb3lJbWFnZSIpKTsKKyAgICBsX0VHTF9HZXRQbGF0Zm9ybURpc3BsYXkgPQogICAgICAgICBy
ZWludGVycHJldF9jYXN0PFBGTkVHTEdFVFBMQVRGT1JNRElTUExBWVBST0M+KGxvYWRQcm9jKCJF
R0xfR2V0UGxhdGZvcm1EaXNwbGF5IikpOwotICAgIEVHTF9DcmVhdGVQbGF0Zm9ybVdpbmRvd1N1
cmZhY2UgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFD
RVBST0M+KAorICAgIGxfRUdMX0NyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZSA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUExBVEZPUk1XSU5ET1dTVVJGQUNFUFJPQz4oCiAgICAgICAg
IGxvYWRQcm9jKCJFR0xfQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlIikpOwotICAgIEVHTF9D
cmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2UgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFU
RVBMQVRGT1JNUElYTUFQU1VSRkFDRVBST0M+KAorICAgIGxfRUdMX0NyZWF0ZVBsYXRmb3JtUGl4
bWFwU3VyZmFjZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUExBVEZPUk1QSVhNQVBT
VVJGQUNFUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfQ3JlYXRlUGxhdGZvcm1QaXhtYXBT
dXJmYWNlIikpOwotICAgIEVHTF9XYWl0U3luYyAgICAgICAgICAgICAgICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkVHTFdBSVRTWU5DUFJPQz4obG9hZFByb2MoIkVHTF9XYWl0U3luYyIpKTsKLSAg
ICBFR0xfU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xT
RVRCTE9CQ0FDSEVGVU5DU0FORFJPSURQUk9DPigKKyAgICBsX0VHTF9XYWl0U3luYyAgICAgICAg
ICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFdBSVRTWU5DUFJPQz4obG9hZFByb2Mo
IkVHTF9XYWl0U3luYyIpKTsKKyAgICBsX0VHTF9TZXRCbG9iQ2FjaGVGdW5jc0FORFJPSUQgPSBy
ZWludGVycHJldF9jYXN0PFBGTkVHTFNFVEJMT0JDQUNIRUZVTkNTQU5EUk9JRFBST0M+KAogICAg
ICAgICBsb2FkUHJvYygiRUdMX1NldEJsb2JDYWNoZUZ1bmNzQU5EUk9JRCIpKTsKLSAgICBFR0xf
R2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVENP
TVBPU0lUT1JUSU1JTkdBTkRST0lEUFJPQz4oCisgICAgbF9FR0xfR2V0Q29tcG9zaXRvclRpbWlu
Z0FORFJPSUQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVENPTVBPU0lUT1JUSU1JTkdBTkRS
T0lEUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfR2V0Q29tcG9zaXRvclRpbWluZ0FORFJP
SUQiKSk7Ci0gICAgRUdMX0dldENvbXBvc2l0b3JUaW1pbmdTdXBwb3J0ZWRBTkRST0lEID0KKyAg
ICBsX0VHTF9HZXRDb21wb3NpdG9yVGltaW5nU3VwcG9ydGVkQU5EUk9JRCA9CiAgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUQ09NUE9TSVRPUlRJTUlOR1NVUFBPUlRFREFORFJPSURQ
Uk9DPigKICAgICAgICAgICAgIGxvYWRQcm9jKCJFR0xfR2V0Q29tcG9zaXRvclRpbWluZ1N1cHBv
cnRlZEFORFJPSUQiKSk7Ci0gICAgRUdMX0dldEZyYW1lVGltZXN0YW1wU3VwcG9ydGVkQU5EUk9J
RCA9CisgICAgbF9FR0xfR2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEID0KICAgICAg
ICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRGUkFNRVRJTUVTVEFNUFNVUFBPUlRFREFORFJP
SURQUk9DPigKICAgICAgICAgICAgIGxvYWRQcm9jKCJFR0xfR2V0RnJhbWVUaW1lc3RhbXBTdXBw
b3J0ZWRBTkRST0lEIikpOwotICAgIEVHTF9HZXRGcmFtZVRpbWVzdGFtcHNBTkRST0lEID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xHRVRGUkFNRVRJTUVTVEFNUFNBTkRST0lEUFJPQz4oCisgICAg
bF9FR0xfR2V0RnJhbWVUaW1lc3RhbXBzQU5EUk9JRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
R0VURlJBTUVUSU1FU1RBTVBTQU5EUk9JRFBST0M+KAogICAgICAgICBsb2FkUHJvYygiRUdMX0dl
dEZyYW1lVGltZXN0YW1wc0FORFJPSUQiKSk7Ci0gICAgRUdMX0dldE5leHRGcmFtZUlkQU5EUk9J
RCA9CisgICAgbF9FR0xfR2V0TmV4dEZyYW1lSWRBTkRST0lEID0KICAgICAgICAgcmVpbnRlcnBy
ZXRfY2FzdDxQRk5FR0xHRVRORVhURlJBTUVJREFORFJPSURQUk9DPihsb2FkUHJvYygiRUdMX0dl
dE5leHRGcmFtZUlkQU5EUk9JRCIpKTsKLSAgICBFR0xfR2V0TmF0aXZlQ2xpZW50QnVmZmVyQU5E
Uk9JRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUTkFUSVZFQ0xJRU5UQlVGRkVSQU5EUk9J
RFBST0M+KAorICAgIGxfRUdMX0dldE5hdGl2ZUNsaWVudEJ1ZmZlckFORFJPSUQgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTEdFVE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DPigKICAgICAg
ICAgbG9hZFByb2MoIkVHTF9HZXROYXRpdmVDbGllbnRCdWZmZXJBTkRST0lEIikpOwotICAgIEVH
TF9EdXBOYXRpdmVGZW5jZUZEQU5EUk9JRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMRFVQTkFU
SVZFRkVOQ0VGREFORFJPSURQUk9DPigKKyAgICBsX0VHTF9EdXBOYXRpdmVGZW5jZUZEQU5EUk9J
RCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMRFVQTkFUSVZFRkVOQ0VGREFORFJPSURQUk9DPigK
ICAgICAgICAgbG9hZFByb2MoIkVHTF9EdXBOYXRpdmVGZW5jZUZEQU5EUk9JRCIpKTsKLSAgICBF
R0xfUHJlc2VudGF0aW9uVGltZUFORFJPSUQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFBSRVNF
TlRBVElPTlRJTUVBTkRST0lEUFJPQz4oCisgICAgbF9FR0xfUHJlc2VudGF0aW9uVGltZUFORFJP
SUQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFBSRVNFTlRBVElPTlRJTUVBTkRST0lEUFJPQz4o
CiAgICAgICAgIGxvYWRQcm9jKCJFR0xfUHJlc2VudGF0aW9uVGltZUFORFJPSUQiKSk7Ci0gICAg
RUdMX0NyZWF0ZURldmljZUFOR0xFID0KKyAgICBsX0VHTF9DcmVhdGVEZXZpY2VBTkdMRSA9CiAg
ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFREVWSUNFQU5HTEVQUk9DPihsb2Fk
UHJvYygiRUdMX0NyZWF0ZURldmljZUFOR0xFIikpOwotICAgIEVHTF9SZWxlYXNlRGV2aWNlQU5H
TEUgPQorICAgIGxfRUdMX1JlbGVhc2VEZXZpY2VBTkdMRSA9CiAgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8UEZORUdMUkVMRUFTRURFVklDRUFOR0xFUFJPQz4obG9hZFByb2MoIkVHTF9SZWxlYXNl
RGV2aWNlQU5HTEUiKSk7Ci0gICAgRUdMX1F1ZXJ5RGlzcGxheUF0dHJpYkFOR0xFID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xRVUVSWURJU1BMQVlBVFRSSUJBTkdMRVBST0M+KAorICAgIGxfRUdM
X1F1ZXJ5RGlzcGxheUF0dHJpYkFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWURJ
U1BMQVlBVFRSSUJBTkdMRVBST0M+KAogICAgICAgICBsb2FkUHJvYygiRUdMX1F1ZXJ5RGlzcGxh
eUF0dHJpYkFOR0xFIikpOwotICAgIEVHTF9RdWVyeVN0cmluZ2lBTkdMRSA9CisgICAgbF9FR0xf
UXVlcnlTdHJpbmdpQU5HTEUgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFFVRVJZ
U1RSSU5HSUFOR0xFUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeVN0cmluZ2lBTkdMRSIpKTsKLSAg
ICBFR0xfUHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkVH
TFBST0dSQU1DQUNIRUdFVEFUVFJJQkFOR0xFUFJPQz4oCisgICAgbF9FR0xfUHJvZ3JhbUNhY2hl
R2V0QXR0cmliQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFBST0dSQU1DQUNIRUdFVEFU
VFJJQkFOR0xFUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfUHJvZ3JhbUNhY2hlR2V0QXR0
cmliQU5HTEUiKSk7Ci0gICAgRUdMX1Byb2dyYW1DYWNoZVBvcHVsYXRlQU5HTEUgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTFBST0dSQU1DQUNIRVBPUFVMQVRFQU5HTEVQUk9DPigKKyAgICBsX0VH
TF9Qcm9ncmFtQ2FjaGVQb3B1bGF0ZUFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xQUk9H
UkFNQ0FDSEVQT1BVTEFURUFOR0xFUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfUHJvZ3Jh
bUNhY2hlUG9wdWxhdGVBTkdMRSIpKTsKLSAgICBFR0xfUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRSA9
CisgICAgbF9FR0xfUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRSA9CiAgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8UEZORUdMUFJPR1JBTUNBQ0hFUVVFUllBTkdMRVBST0M+KGxvYWRQcm9jKCJFR0xfUHJv
Z3JhbUNhY2hlUXVlcnlBTkdMRSIpKTsKLSAgICBFR0xfUHJvZ3JhbUNhY2hlUmVzaXplQU5HTEUg
PSByZWludGVycHJldF9jYXN0PFBGTkVHTFBST0dSQU1DQUNIRVJFU0laRUFOR0xFUFJPQz4oCisg
ICAgbF9FR0xfUHJvZ3JhbUNhY2hlUmVzaXplQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkVH
TFBST0dSQU1DQUNIRVJFU0laRUFOR0xFUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfUHJv
Z3JhbUNhY2hlUmVzaXplQU5HTEUiKSk7Ci0gICAgRUdMX1F1ZXJ5U3VyZmFjZVBvaW50ZXJBTkdM
RSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllTVVJGQUNFUE9JTlRFUkFOR0xFUFJPQz4o
CisgICAgbF9FR0xfUXVlcnlTdXJmYWNlUG9pbnRlckFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xRVUVSWVNVUkZBQ0VQT0lOVEVSQU5HTEVQUk9DPigKICAgICAgICAgbG9hZFByb2MoIkVH
TF9RdWVyeVN1cmZhY2VQb2ludGVyQU5HTEUiKSk7Ci0gICAgRUdMX0NyZWF0ZVN0cmVhbVByb2R1
Y2VyRDNEVGV4dHVyZUFOR0xFID0KKyAgICBsX0VHTF9DcmVhdGVTdHJlYW1Qcm9kdWNlckQzRFRl
eHR1cmVBTkdMRSA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFU1RSRUFN
UFJPRFVDRVJEM0RURVhUVVJFQU5HTEVQUk9DPigKICAgICAgICAgICAgIGxvYWRQcm9jKCJFR0xf
Q3JlYXRlU3RyZWFtUHJvZHVjZXJEM0RUZXh0dXJlQU5HTEUiKSk7Ci0gICAgRUdMX1N0cmVhbVBv
c3REM0RUZXh0dXJlQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFNUUkVBTVBPU1REM0RU
RVhUVVJFQU5HTEVQUk9DPigKKyAgICBsX0VHTF9TdHJlYW1Qb3N0RDNEVGV4dHVyZUFOR0xFID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVFJFQU1QT1NURDNEVEVYVFVSRUFOR0xFUFJPQz4oCiAg
ICAgICAgIGxvYWRQcm9jKCJFR0xfU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdMRSIpKTsKLSAgICBF
R0xfU3dhcEJ1ZmZlcnNXaXRoRnJhbWVUb2tlbkFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRPS0VOQU5HTEVQUk9DPigKLSAgICAgICAgbG9hZFByb2Mo
IkVHTF9Td2FwQnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEUiKSk7Ci0gICAgRUdMX0dldE1zY1Jh
dGVDSFJPTUlVTSA9Ci0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUTVNDUkFURUNI
Uk9NSVVNUFJPQz4obG9hZFByb2MoIkVHTF9HZXRNc2NSYXRlQ0hST01JVU0iKSk7Ci0gICAgRUdM
X0dldFN5bmNWYWx1ZXNDSFJPTUlVTSA9CisgICAgbF9FR0xfU3dhcEJ1ZmZlcnNXaXRoRnJhbWVU
b2tlbkFOR0xFID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTV0FQQlVGRkVSU1dJ
VEhGUkFNRVRPS0VOQU5HTEVQUk9DPigKKyAgICAgICAgICAgIGxvYWRQcm9jKCJFR0xfU3dhcEJ1
ZmZlcnNXaXRoRnJhbWVUb2tlbkFOR0xFIikpOworICAgIGxfRUdMX0dldE1zY1JhdGVBTkdMRSA9
CisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUTVNDUkFURUFOR0xFUFJPQz4obG9h
ZFByb2MoIkVHTF9HZXRNc2NSYXRlQU5HTEUiKSk7CisgICAgbF9FR0xfR2V0U3luY1ZhbHVlc0NI
Uk9NSVVNID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRTWU5DVkFMVUVTQ0hS
T01JVU1QUk9DPihsb2FkUHJvYygiRUdMX0dldFN5bmNWYWx1ZXNDSFJPTUlVTSIpKTsKLSAgICBF
R0xfUXVlcnlEZXZpY2VBdHRyaWJFWFQgPQorICAgIGxfRUdMX1F1ZXJ5RGV2aWNlQXR0cmliRVhU
ID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWURFVklDRUFUVFJJQkVYVFBS
T0M+KGxvYWRQcm9jKCJFR0xfUXVlcnlEZXZpY2VBdHRyaWJFWFQiKSk7Ci0gICAgRUdMX1F1ZXJ5
RGV2aWNlU3RyaW5nRVhUID0KKyAgICBsX0VHTF9RdWVyeURldmljZVN0cmluZ0VYVCA9CiAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllERVZJQ0VTVFJJTkdFWFRQUk9DPihsb2Fk
UHJvYygiRUdMX1F1ZXJ5RGV2aWNlU3RyaW5nRVhUIikpOwotICAgIEVHTF9RdWVyeURpc3BsYXlB
dHRyaWJFWFQgPQorICAgIGxfRUdMX1F1ZXJ5RGlzcGxheUF0dHJpYkVYVCA9CiAgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllESVNQTEFZQVRUUklCRVhUUFJPQz4obG9hZFByb2Mo
IkVHTF9RdWVyeURpc3BsYXlBdHRyaWJFWFQiKSk7Ci0gICAgRUdMX0NyZWF0ZVBsYXRmb3JtUGl4
bWFwU3VyZmFjZUVYVCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUExBVEZPUk1QSVhN
QVBTVVJGQUNFRVhUUFJPQz4oCi0gICAgICAgIGxvYWRQcm9jKCJFR0xfQ3JlYXRlUGxhdGZvcm1Q
aXhtYXBTdXJmYWNlRVhUIikpOwotICAgIEVHTF9DcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2VF
WFQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFDRUVY
VFBST0M+KAotICAgICAgICBsb2FkUHJvYygiRUdMX0NyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFj
ZUVYVCIpKTsKLSAgICBFR0xfR2V0UGxhdGZvcm1EaXNwbGF5RVhUID0KKyAgICBsX0VHTF9DcmVh
dGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2VFWFQgPQorICAgICAgICByZWludGVycHJldF9jYXN0PFBG
TkVHTENSRUFURVBMQVRGT1JNUElYTUFQU1VSRkFDRUVYVFBST0M+KAorICAgICAgICAgICAgbG9h
ZFByb2MoIkVHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2VFWFQiKSk7CisgICAgbF9FR0xf
Q3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlRVhUID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VFWFRQUk9DPigKKyAgICAgICAgICAg
IGxvYWRQcm9jKCJFR0xfQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlRVhUIikpOworICAgIGxf
RUdMX0dldFBsYXRmb3JtRGlzcGxheUVYVCA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
RUdMR0VUUExBVEZPUk1ESVNQTEFZRVhUUFJPQz4obG9hZFByb2MoIkVHTF9HZXRQbGF0Zm9ybURp
c3BsYXlFWFQiKSk7Ci0gICAgRUdMX0RlYnVnTWVzc2FnZUNvbnRyb2xLSFIgPQorICAgIGxfRUdM
X0RlYnVnTWVzc2FnZUNvbnRyb2xLSFIgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVH
TERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DPihsb2FkUHJvYygiRUdMX0RlYnVnTWVzc2FnZUNv
bnRyb2xLSFIiKSk7Ci0gICAgRUdMX0xhYmVsT2JqZWN0S0hSID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xMQUJFTE9CSkVDVEtIUlBST0M+KGxvYWRQcm9jKCJFR0xfTGFiZWxPYmplY3RLSFIiKSk7
Ci0gICAgRUdMX1F1ZXJ5RGVidWdLSFIgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWURF
QlVHS0hSUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeURlYnVnS0hSIikpOwotICAgIEVHTF9DbGll
bnRXYWl0U3luY0tIUiA9CisgICAgbF9FR0xfTGFiZWxPYmplY3RLSFIgPQorICAgICAgICByZWlu
dGVycHJldF9jYXN0PFBGTkVHTExBQkVMT0JKRUNUS0hSUFJPQz4obG9hZFByb2MoIkVHTF9MYWJl
bE9iamVjdEtIUiIpKTsKKyAgICBsX0VHTF9RdWVyeURlYnVnS0hSID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xRVUVSWURFQlVHS0hSUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeURlYnVnS0hSIikp
OworICAgIGxfRUdMX0NsaWVudFdhaXRTeW5jS0hSID0KICAgICAgICAgcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xDTElFTlRXQUlUU1lOQ0tIUlBST0M+KGxvYWRQcm9jKCJFR0xfQ2xpZW50V2FpdFN5
bmNLSFIiKSk7Ci0gICAgRUdMX0NyZWF0ZVN5bmNLSFIgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xDUkVBVEVTWU5DS0hSUFJPQz4obG9hZFByb2MoIkVHTF9DcmVhdGVTeW5jS0hSIikpOwotICAg
IEVHTF9EZXN0cm95U3luY0tIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWVNZTkNL
SFJQUk9DPihsb2FkUHJvYygiRUdMX0Rlc3Ryb3lTeW5jS0hSIikpOwotICAgIEVHTF9HZXRTeW5j
QXR0cmliS0hSID0KKyAgICBsX0VHTF9DcmVhdGVTeW5jS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xDUkVBVEVTWU5DS0hSUFJPQz4obG9hZFByb2MoIkVHTF9DcmVhdGVTeW5jS0hSIikpOwor
ICAgIGxfRUdMX0Rlc3Ryb3lTeW5jS0hSID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xERVNUUk9ZU1lOQ0tIUlBST0M+KGxvYWRQcm9jKCJFR0xfRGVzdHJveVN5bmNLSFIiKSk7Cisg
ICAgbF9FR0xfR2V0U3luY0F0dHJpYktIUiA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
RUdMR0VUU1lOQ0FUVFJJQktIUlBST0M+KGxvYWRQcm9jKCJFR0xfR2V0U3luY0F0dHJpYktIUiIp
KTsKLSAgICBFR0xfQ3JlYXRlSW1hZ2VLSFIgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFU
RUlNQUdFS0hSUFJPQz4obG9hZFByb2MoIkVHTF9DcmVhdGVJbWFnZUtIUiIpKTsKLSAgICBFR0xf
RGVzdHJveUltYWdlS0hSID0KKyAgICBsX0VHTF9DcmVhdGVJbWFnZUtIUiA9CisgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFSU1BR0VLSFJQUk9DPihsb2FkUHJvYygiRUdMX0Ny
ZWF0ZUltYWdlS0hSIikpOworICAgIGxfRUdMX0Rlc3Ryb3lJbWFnZUtIUiA9CiAgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWUlNQUdFS0hSUFJPQz4obG9hZFByb2MoIkVHTF9E
ZXN0cm95SW1hZ2VLSFIiKSk7Ci0gICAgRUdMX0NyZWF0ZVN0cmVhbUtIUiA9CisgICAgbF9FR0xf
Q3JlYXRlU3RyZWFtS0hSID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVT
VFJFQU1LSFJQUk9DPihsb2FkUHJvYygiRUdMX0NyZWF0ZVN0cmVhbUtIUiIpKTsKLSAgICBFR0xf
RGVzdHJveVN0cmVhbUtIUiA9CisgICAgbF9FR0xfRGVzdHJveVN0cmVhbUtIUiA9CiAgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWVNUUkVBTUtIUlBST0M+KGxvYWRQcm9jKCJF
R0xfRGVzdHJveVN0cmVhbUtIUiIpKTsKLSAgICBFR0xfUXVlcnlTdHJlYW1LSFIgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTFFVRVJZU1RSRUFNS0hSUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeVN0
cmVhbUtIUiIpKTsKLSAgICBFR0xfUXVlcnlTdHJlYW11NjRLSFIgPQorICAgIGxfRUdMX1F1ZXJ5
U3RyZWFtS0hSID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNUUkVBTUtI
UlBST0M+KGxvYWRQcm9jKCJFR0xfUXVlcnlTdHJlYW1LSFIiKSk7CisgICAgbF9FR0xfUXVlcnlT
dHJlYW11NjRLSFIgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFFVRVJZU1RSRUFN
VTY0S0hSUFJPQz4obG9hZFByb2MoIkVHTF9RdWVyeVN0cmVhbXU2NEtIUiIpKTsKLSAgICBFR0xf
U3RyZWFtQXR0cmliS0hSID0KKyAgICBsX0VHTF9TdHJlYW1BdHRyaWJLSFIgPQogICAgICAgICBy
ZWludGVycHJldF9jYXN0PFBGTkVHTFNUUkVBTUFUVFJJQktIUlBST0M+KGxvYWRQcm9jKCJFR0xf
U3RyZWFtQXR0cmliS0hSIikpOwotICAgIEVHTF9TdHJlYW1Db25zdW1lckFjcXVpcmVLSFIgPSBy
ZWludGVycHJldF9jYXN0PFBGTkVHTFNUUkVBTUNPTlNVTUVSQUNRVUlSRUtIUlBST0M+KAorICAg
IGxfRUdMX1N0cmVhbUNvbnN1bWVyQWNxdWlyZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
U1RSRUFNQ09OU1VNRVJBQ1FVSVJFS0hSUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJFR0xfU3Ry
ZWFtQ29uc3VtZXJBY3F1aXJlS0hSIikpOwotICAgIEVHTF9TdHJlYW1Db25zdW1lckdMVGV4dHVy
ZUV4dGVybmFsS0hSID0KKyAgICBsX0VHTF9TdHJlYW1Db25zdW1lckdMVGV4dHVyZUV4dGVybmFs
S0hSID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVFJFQU1DT05TVU1FUkdMVEVY
VFVSRUVYVEVSTkFMS0hSUFJPQz4oCiAgICAgICAgICAgICBsb2FkUHJvYygiRUdMX1N0cmVhbUNv
bnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxLSFIiKSk7Ci0gICAgRUdMX1N0cmVhbUNvbnN1bWVyUmVs
ZWFzZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNQ09OU1VNRVJSRUxFQVNFS0hS
UFJPQz4oCisgICAgbF9FR0xfU3RyZWFtQ29uc3VtZXJSZWxlYXNlS0hSID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5FR0xTVFJFQU1DT05TVU1FUlJFTEVBU0VLSFJQUk9DPigKICAgICAgICAgbG9hZFBy
b2MoIkVHTF9TdHJlYW1Db25zdW1lclJlbGVhc2VLSFIiKSk7Ci0gICAgRUdMX1N3YXBCdWZmZXJz
V2l0aERhbWFnZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1dBUEJVRkZFUlNXSVRIREFN
QUdFS0hSUFJPQz4oCisgICAgbF9FR0xfU3dhcEJ1ZmZlcnNXaXRoRGFtYWdlS0hSID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xTV0FQQlVGRkVSU1dJVEhEQU1BR0VLSFJQUk9DPigKICAgICAgICAg
bG9hZFByb2MoIkVHTF9Td2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFIiKSk7Ci0gICAgRUdMX1dhaXRT
eW5jS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xXQUlUU1lOQ0tIUlBST0M+KGxvYWRQcm9j
KCJFR0xfV2FpdFN5bmNLSFIiKSk7Ci0gICAgRUdMX1Bvc3RTdWJCdWZmZXJOViA9CisgICAgbF9F
R0xfV2FpdFN5bmNLSFIgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFdBSVRTWU5DS0hSUFJPQz4o
bG9hZFByb2MoIkVHTF9XYWl0U3luY0tIUiIpKTsKKyAgICBsX0VHTF9Qb3N0U3ViQnVmZmVyTlYg
PQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFBPU1RTVUJCVUZGRVJOVlBST0M+KGxv
YWRQcm9jKCJFR0xfUG9zdFN1YkJ1ZmZlck5WIikpOwotICAgIEVHTF9TdHJlYW1Db25zdW1lckdM
VGV4dHVyZUV4dGVybmFsQXR0cmlic05WID0KKyAgICBsX0VHTF9TdHJlYW1Db25zdW1lckdMVGV4
dHVyZUV4dGVybmFsQXR0cmlic05WID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xT
VFJFQU1DT05TVU1FUkdMVEVYVFVSRUVYVEVSTkFMQVRUUklCU05WUFJPQz4oCiAgICAgICAgICAg
ICBsb2FkUHJvYygiRUdMX1N0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxBdHRyaWJzTlYi
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliRUdML2Vn
bF9sb2FkZXJfYXV0b2dlbi5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkVHTC9l
Z2xfbG9hZGVyX2F1dG9nZW4uaAppbmRleCA4ZjUwYzY2MTJjYTNiNDhmMTYxYzhkMDVlOWE3ZGU2
YmNlNTYwMzdlLi5mNTkxNDkwODM2MGNiNjViNjNkZjdkYTkyYjFmNGM4NWQ1OTNkZWM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliRUdML2VnbF9sb2FkZXJfYXV0
b2dlbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvZWdsX2xvYWRl
cl9hdXRvZ2VuLmgKQEAgLTE1LDEwNSArMTUsMjAyIEBACiAjaW5jbHVkZSA8RUdML2VnbGV4dC5o
PgogI2luY2x1ZGUgPGV4cG9ydC5oPgogCi1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTENI
T09TRUNPTkZJR1BST0MgRUdMX0Nob29zZUNvbmZpZzsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4g
UEZORUdMQ09QWUJVRkZFUlNQUk9DIEVHTF9Db3B5QnVmZmVyczsKLUFOR0xFX05PX0VYUE9SVCBl
eHRlcm4gUEZORUdMQ1JFQVRFQ09OVEVYVFBST0MgRUdMX0NyZWF0ZUNvbnRleHQ7Ci1BTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBCVUZGRVJTVVJGQUNFUFJPQyBFR0xfQ3JlYXRl
UGJ1ZmZlclN1cmZhY2U7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBJWE1B
UFNVUkZBQ0VQUk9DIEVHTF9DcmVhdGVQaXhtYXBTdXJmYWNlOwotQU5HTEVfTk9fRVhQT1JUIGV4
dGVybiBQRk5FR0xDUkVBVEVXSU5ET1dTVVJGQUNFUFJPQyBFR0xfQ3JlYXRlV2luZG93U3VyZmFj
ZTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJPWUNPTlRFWFRQUk9DIEVHTF9E
ZXN0cm95Q29udGV4dDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJPWVNVUkZB
Q0VQUk9DIEVHTF9EZXN0cm95U3VyZmFjZTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdM
R0VUQ09ORklHQVRUUklCUFJPQyBFR0xfR2V0Q29uZmlnQXR0cmliOwotQU5HTEVfTk9fRVhQT1JU
IGV4dGVybiBQRk5FR0xHRVRDT05GSUdTUFJPQyBFR0xfR2V0Q29uZmlnczsKLUFOR0xFX05PX0VY
UE9SVCBleHRlcm4gUEZORUdMR0VUQ1VSUkVOVERJU1BMQVlQUk9DIEVHTF9HZXRDdXJyZW50RGlz
cGxheTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUQ1VSUkVOVFNVUkZBQ0VQUk9D
IEVHTF9HZXRDdXJyZW50U3VyZmFjZTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VU
RElTUExBWVBST0MgRUdMX0dldERpc3BsYXk7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVH
TEdFVEVSUk9SUFJPQyBFR0xfR2V0RXJyb3I7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVH
TEdFVFBST0NBRERSRVNTUFJPQyBFR0xfR2V0UHJvY0FkZHJlc3M7Ci1BTkdMRV9OT19FWFBPUlQg
ZXh0ZXJuIFBGTkVHTElOSVRJQUxJWkVQUk9DIEVHTF9Jbml0aWFsaXplOwotQU5HTEVfTk9fRVhQ
T1JUIGV4dGVybiBQRk5FR0xNQUtFQ1VSUkVOVFBST0MgRUdMX01ha2VDdXJyZW50OwotQU5HTEVf
Tk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWUNPTlRFWFRQUk9DIEVHTF9RdWVyeUNvbnRleHQ7
Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSSU5HUFJPQyBFR0xfUXVlcnlT
dHJpbmc7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1VSRkFDRVBST0MgRUdM
X1F1ZXJ5U3VyZmFjZTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1dBUEJVRkZFUlNQ
Uk9DIEVHTF9Td2FwQnVmZmVyczsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMVEVSTUlO
QVRFUFJPQyBFR0xfVGVybWluYXRlOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xXQUlU
R0xQUk9DIEVHTF9XYWl0R0w7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFdBSVROQVRJ
VkVQUk9DIEVHTF9XYWl0TmF0aXZlOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xCSU5E
VEVYSU1BR0VQUk9DIEVHTF9CaW5kVGV4SW1hZ2U7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBG
TkVHTFJFTEVBU0VURVhJTUFHRVBST0MgRUdMX1JlbGVhc2VUZXhJbWFnZTsKLUFOR0xFX05PX0VY
UE9SVCBleHRlcm4gUEZORUdMU1VSRkFDRUFUVFJJQlBST0MgRUdMX1N1cmZhY2VBdHRyaWI7Ci1B
TkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNXQVBJTlRFUlZBTFBST0MgRUdMX1N3YXBJbnRl
cnZhbDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQklOREFQSVBST0MgRUdMX0JpbmRB
UEk7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZQVBJUFJPQyBFR0xfUXVlcnlB
UEk7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5U
QlVGRkVSUFJPQyBFR0xfQ3JlYXRlUGJ1ZmZlckZyb21DbGllbnRCdWZmZXI7Ci1BTkdMRV9OT19F
WFBPUlQgZXh0ZXJuIFBGTkVHTFJFTEVBU0VUSFJFQURQUk9DIEVHTF9SZWxlYXNlVGhyZWFkOwot
QU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xXQUlUQ0xJRU5UUFJPQyBFR0xfV2FpdENsaWVu
dDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUQ1VSUkVOVENPTlRFWFRQUk9DIEVH
TF9HZXRDdXJyZW50Q29udGV4dDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRF
U1lOQ1BST0MgRUdMX0NyZWF0ZVN5bmM7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTERF
U1RST1lTWU5DUFJPQyBFR0xfRGVzdHJveVN5bmM7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBG
TkVHTENMSUVOVFdBSVRTWU5DUFJPQyBFR0xfQ2xpZW50V2FpdFN5bmM7Ci1BTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTEdFVFNZTkNBVFRSSUJQUk9DIEVHTF9HZXRTeW5jQXR0cmliOwotQU5H
TEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVJTUFHRVBST0MgRUdMX0NyZWF0ZUltYWdl
OwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZSU1BR0VQUk9DIEVHTF9EZXN0
cm95SW1hZ2U7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVFBMQVRGT1JNRElTUExB
WVBST0MgRUdMX0dldFBsYXRmb3JtRGlzcGxheTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZO
RUdMQ1JFQVRFUExBVEZPUk1XSU5ET1dTVVJGQUNFUFJPQyBFR0xfQ3JlYXRlUGxhdGZvcm1XaW5k
b3dTdXJmYWNlOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVQTEFURk9STVBJ
WE1BUFNVUkZBQ0VQUk9DIEVHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2U7Ci1BTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTFdBSVRTWU5DUFJPQyBFR0xfV2FpdFN5bmM7Ci1BTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNFVEJMT0JDQUNIRUZVTkNTQU5EUk9JRFBST0MgRUdMX1Nl
dEJsb2JDYWNoZUZ1bmNzQU5EUk9JRDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VU
Q09NUE9TSVRPUlRJTUlOR0FORFJPSURQUk9DIEVHTF9HZXRDb21wb3NpdG9yVGltaW5nQU5EUk9J
RDsKKyNkZWZpbmUgRUdMX0Nob29zZUNvbmZpZyBsX0VHTF9DaG9vc2VDb25maWcKKyNkZWZpbmUg
RUdMX0NvcHlCdWZmZXJzIGxfRUdMX0NvcHlCdWZmZXJzCisjZGVmaW5lIEVHTF9DcmVhdGVDb250
ZXh0IGxfRUdMX0NyZWF0ZUNvbnRleHQKKyNkZWZpbmUgRUdMX0NyZWF0ZVBidWZmZXJTdXJmYWNl
IGxfRUdMX0NyZWF0ZVBidWZmZXJTdXJmYWNlCisjZGVmaW5lIEVHTF9DcmVhdGVQaXhtYXBTdXJm
YWNlIGxfRUdMX0NyZWF0ZVBpeG1hcFN1cmZhY2UKKyNkZWZpbmUgRUdMX0NyZWF0ZVdpbmRvd1N1
cmZhY2UgbF9FR0xfQ3JlYXRlV2luZG93U3VyZmFjZQorI2RlZmluZSBFR0xfRGVzdHJveUNvbnRl
eHQgbF9FR0xfRGVzdHJveUNvbnRleHQKKyNkZWZpbmUgRUdMX0Rlc3Ryb3lTdXJmYWNlIGxfRUdM
X0Rlc3Ryb3lTdXJmYWNlCisjZGVmaW5lIEVHTF9HZXRDb25maWdBdHRyaWIgbF9FR0xfR2V0Q29u
ZmlnQXR0cmliCisjZGVmaW5lIEVHTF9HZXRDb25maWdzIGxfRUdMX0dldENvbmZpZ3MKKyNkZWZp
bmUgRUdMX0dldEN1cnJlbnREaXNwbGF5IGxfRUdMX0dldEN1cnJlbnREaXNwbGF5CisjZGVmaW5l
IEVHTF9HZXRDdXJyZW50U3VyZmFjZSBsX0VHTF9HZXRDdXJyZW50U3VyZmFjZQorI2RlZmluZSBF
R0xfR2V0RGlzcGxheSBsX0VHTF9HZXREaXNwbGF5CisjZGVmaW5lIEVHTF9HZXRFcnJvciBsX0VH
TF9HZXRFcnJvcgorI2RlZmluZSBFR0xfR2V0UHJvY0FkZHJlc3MgbF9FR0xfR2V0UHJvY0FkZHJl
c3MKKyNkZWZpbmUgRUdMX0luaXRpYWxpemUgbF9FR0xfSW5pdGlhbGl6ZQorI2RlZmluZSBFR0xf
TWFrZUN1cnJlbnQgbF9FR0xfTWFrZUN1cnJlbnQKKyNkZWZpbmUgRUdMX1F1ZXJ5Q29udGV4dCBs
X0VHTF9RdWVyeUNvbnRleHQKKyNkZWZpbmUgRUdMX1F1ZXJ5U3RyaW5nIGxfRUdMX1F1ZXJ5U3Ry
aW5nCisjZGVmaW5lIEVHTF9RdWVyeVN1cmZhY2UgbF9FR0xfUXVlcnlTdXJmYWNlCisjZGVmaW5l
IEVHTF9Td2FwQnVmZmVycyBsX0VHTF9Td2FwQnVmZmVycworI2RlZmluZSBFR0xfVGVybWluYXRl
IGxfRUdMX1Rlcm1pbmF0ZQorI2RlZmluZSBFR0xfV2FpdEdMIGxfRUdMX1dhaXRHTAorI2RlZmlu
ZSBFR0xfV2FpdE5hdGl2ZSBsX0VHTF9XYWl0TmF0aXZlCisjZGVmaW5lIEVHTF9CaW5kVGV4SW1h
Z2UgbF9FR0xfQmluZFRleEltYWdlCisjZGVmaW5lIEVHTF9SZWxlYXNlVGV4SW1hZ2UgbF9FR0xf
UmVsZWFzZVRleEltYWdlCisjZGVmaW5lIEVHTF9TdXJmYWNlQXR0cmliIGxfRUdMX1N1cmZhY2VB
dHRyaWIKKyNkZWZpbmUgRUdMX1N3YXBJbnRlcnZhbCBsX0VHTF9Td2FwSW50ZXJ2YWwKKyNkZWZp
bmUgRUdMX0JpbmRBUEkgbF9FR0xfQmluZEFQSQorI2RlZmluZSBFR0xfUXVlcnlBUEkgbF9FR0xf
UXVlcnlBUEkKKyNkZWZpbmUgRUdMX0NyZWF0ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyIGxfRUdM
X0NyZWF0ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyCisjZGVmaW5lIEVHTF9SZWxlYXNlVGhyZWFk
IGxfRUdMX1JlbGVhc2VUaHJlYWQKKyNkZWZpbmUgRUdMX1dhaXRDbGllbnQgbF9FR0xfV2FpdENs
aWVudAorI2RlZmluZSBFR0xfR2V0Q3VycmVudENvbnRleHQgbF9FR0xfR2V0Q3VycmVudENvbnRl
eHQKKyNkZWZpbmUgRUdMX0NyZWF0ZVN5bmMgbF9FR0xfQ3JlYXRlU3luYworI2RlZmluZSBFR0xf
RGVzdHJveVN5bmMgbF9FR0xfRGVzdHJveVN5bmMKKyNkZWZpbmUgRUdMX0NsaWVudFdhaXRTeW5j
IGxfRUdMX0NsaWVudFdhaXRTeW5jCisjZGVmaW5lIEVHTF9HZXRTeW5jQXR0cmliIGxfRUdMX0dl
dFN5bmNBdHRyaWIKKyNkZWZpbmUgRUdMX0NyZWF0ZUltYWdlIGxfRUdMX0NyZWF0ZUltYWdlCisj
ZGVmaW5lIEVHTF9EZXN0cm95SW1hZ2UgbF9FR0xfRGVzdHJveUltYWdlCisjZGVmaW5lIEVHTF9H
ZXRQbGF0Zm9ybURpc3BsYXkgbF9FR0xfR2V0UGxhdGZvcm1EaXNwbGF5CisjZGVmaW5lIEVHTF9D
cmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2UgbF9FR0xfQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJm
YWNlCisjZGVmaW5lIEVHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2UgbF9FR0xfQ3JlYXRl
UGxhdGZvcm1QaXhtYXBTdXJmYWNlCisjZGVmaW5lIEVHTF9XYWl0U3luYyBsX0VHTF9XYWl0U3lu
YworI2RlZmluZSBFR0xfU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEIGxfRUdMX1NldEJsb2JDYWNo
ZUZ1bmNzQU5EUk9JRAorI2RlZmluZSBFR0xfR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQgbF9F
R0xfR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQKKyNkZWZpbmUgRUdMX0dldENvbXBvc2l0b3JU
aW1pbmdTdXBwb3J0ZWRBTkRST0lEIGxfRUdMX0dldENvbXBvc2l0b3JUaW1pbmdTdXBwb3J0ZWRB
TkRST0lECisjZGVmaW5lIEVHTF9HZXRGcmFtZVRpbWVzdGFtcFN1cHBvcnRlZEFORFJPSUQgbF9F
R0xfR2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lECisjZGVmaW5lIEVHTF9HZXRGcmFt
ZVRpbWVzdGFtcHNBTkRST0lEIGxfRUdMX0dldEZyYW1lVGltZXN0YW1wc0FORFJPSUQKKyNkZWZp
bmUgRUdMX0dldE5leHRGcmFtZUlkQU5EUk9JRCBsX0VHTF9HZXROZXh0RnJhbWVJZEFORFJPSUQK
KyNkZWZpbmUgRUdMX0dldE5hdGl2ZUNsaWVudEJ1ZmZlckFORFJPSUQgbF9FR0xfR2V0TmF0aXZl
Q2xpZW50QnVmZmVyQU5EUk9JRAorI2RlZmluZSBFR0xfRHVwTmF0aXZlRmVuY2VGREFORFJPSUQg
bF9FR0xfRHVwTmF0aXZlRmVuY2VGREFORFJPSUQKKyNkZWZpbmUgRUdMX1ByZXNlbnRhdGlvblRp
bWVBTkRST0lEIGxfRUdMX1ByZXNlbnRhdGlvblRpbWVBTkRST0lECisjZGVmaW5lIEVHTF9DcmVh
dGVEZXZpY2VBTkdMRSBsX0VHTF9DcmVhdGVEZXZpY2VBTkdMRQorI2RlZmluZSBFR0xfUmVsZWFz
ZURldmljZUFOR0xFIGxfRUdMX1JlbGVhc2VEZXZpY2VBTkdMRQorI2RlZmluZSBFR0xfUXVlcnlE
aXNwbGF5QXR0cmliQU5HTEUgbF9FR0xfUXVlcnlEaXNwbGF5QXR0cmliQU5HTEUKKyNkZWZpbmUg
RUdMX1F1ZXJ5U3RyaW5naUFOR0xFIGxfRUdMX1F1ZXJ5U3RyaW5naUFOR0xFCisjZGVmaW5lIEVH
TF9Qcm9ncmFtQ2FjaGVHZXRBdHRyaWJBTkdMRSBsX0VHTF9Qcm9ncmFtQ2FjaGVHZXRBdHRyaWJB
TkdMRQorI2RlZmluZSBFR0xfUHJvZ3JhbUNhY2hlUG9wdWxhdGVBTkdMRSBsX0VHTF9Qcm9ncmFt
Q2FjaGVQb3B1bGF0ZUFOR0xFCisjZGVmaW5lIEVHTF9Qcm9ncmFtQ2FjaGVRdWVyeUFOR0xFIGxf
RUdMX1Byb2dyYW1DYWNoZVF1ZXJ5QU5HTEUKKyNkZWZpbmUgRUdMX1Byb2dyYW1DYWNoZVJlc2l6
ZUFOR0xFIGxfRUdMX1Byb2dyYW1DYWNoZVJlc2l6ZUFOR0xFCisjZGVmaW5lIEVHTF9RdWVyeVN1
cmZhY2VQb2ludGVyQU5HTEUgbF9FR0xfUXVlcnlTdXJmYWNlUG9pbnRlckFOR0xFCisjZGVmaW5l
IEVHTF9DcmVhdGVTdHJlYW1Qcm9kdWNlckQzRFRleHR1cmVBTkdMRSBsX0VHTF9DcmVhdGVTdHJl
YW1Qcm9kdWNlckQzRFRleHR1cmVBTkdMRQorI2RlZmluZSBFR0xfU3RyZWFtUG9zdEQzRFRleHR1
cmVBTkdMRSBsX0VHTF9TdHJlYW1Qb3N0RDNEVGV4dHVyZUFOR0xFCisjZGVmaW5lIEVHTF9Td2Fw
QnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEUgbF9FR0xfU3dhcEJ1ZmZlcnNXaXRoRnJhbWVUb2tl
bkFOR0xFCisjZGVmaW5lIEVHTF9HZXRNc2NSYXRlQU5HTEUgbF9FR0xfR2V0TXNjUmF0ZUFOR0xF
CisjZGVmaW5lIEVHTF9HZXRTeW5jVmFsdWVzQ0hST01JVU0gbF9FR0xfR2V0U3luY1ZhbHVlc0NI
Uk9NSVVNCisjZGVmaW5lIEVHTF9RdWVyeURldmljZUF0dHJpYkVYVCBsX0VHTF9RdWVyeURldmlj
ZUF0dHJpYkVYVAorI2RlZmluZSBFR0xfUXVlcnlEZXZpY2VTdHJpbmdFWFQgbF9FR0xfUXVlcnlE
ZXZpY2VTdHJpbmdFWFQKKyNkZWZpbmUgRUdMX1F1ZXJ5RGlzcGxheUF0dHJpYkVYVCBsX0VHTF9R
dWVyeURpc3BsYXlBdHRyaWJFWFQKKyNkZWZpbmUgRUdMX0NyZWF0ZVBsYXRmb3JtUGl4bWFwU3Vy
ZmFjZUVYVCBsX0VHTF9DcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2VFWFQKKyNkZWZpbmUgRUdM
X0NyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZUVYVCBsX0VHTF9DcmVhdGVQbGF0Zm9ybVdpbmRv
d1N1cmZhY2VFWFQKKyNkZWZpbmUgRUdMX0dldFBsYXRmb3JtRGlzcGxheUVYVCBsX0VHTF9HZXRQ
bGF0Zm9ybURpc3BsYXlFWFQKKyNkZWZpbmUgRUdMX0RlYnVnTWVzc2FnZUNvbnRyb2xLSFIgbF9F
R0xfRGVidWdNZXNzYWdlQ29udHJvbEtIUgorI2RlZmluZSBFR0xfTGFiZWxPYmplY3RLSFIgbF9F
R0xfTGFiZWxPYmplY3RLSFIKKyNkZWZpbmUgRUdMX1F1ZXJ5RGVidWdLSFIgbF9FR0xfUXVlcnlE
ZWJ1Z0tIUgorI2RlZmluZSBFR0xfQ2xpZW50V2FpdFN5bmNLSFIgbF9FR0xfQ2xpZW50V2FpdFN5
bmNLSFIKKyNkZWZpbmUgRUdMX0NyZWF0ZVN5bmNLSFIgbF9FR0xfQ3JlYXRlU3luY0tIUgorI2Rl
ZmluZSBFR0xfRGVzdHJveVN5bmNLSFIgbF9FR0xfRGVzdHJveVN5bmNLSFIKKyNkZWZpbmUgRUdM
X0dldFN5bmNBdHRyaWJLSFIgbF9FR0xfR2V0U3luY0F0dHJpYktIUgorI2RlZmluZSBFR0xfQ3Jl
YXRlSW1hZ2VLSFIgbF9FR0xfQ3JlYXRlSW1hZ2VLSFIKKyNkZWZpbmUgRUdMX0Rlc3Ryb3lJbWFn
ZUtIUiBsX0VHTF9EZXN0cm95SW1hZ2VLSFIKKyNkZWZpbmUgRUdMX0NyZWF0ZVN0cmVhbUtIUiBs
X0VHTF9DcmVhdGVTdHJlYW1LSFIKKyNkZWZpbmUgRUdMX0Rlc3Ryb3lTdHJlYW1LSFIgbF9FR0xf
RGVzdHJveVN0cmVhbUtIUgorI2RlZmluZSBFR0xfUXVlcnlTdHJlYW1LSFIgbF9FR0xfUXVlcnlT
dHJlYW1LSFIKKyNkZWZpbmUgRUdMX1F1ZXJ5U3RyZWFtdTY0S0hSIGxfRUdMX1F1ZXJ5U3RyZWFt
dTY0S0hSCisjZGVmaW5lIEVHTF9TdHJlYW1BdHRyaWJLSFIgbF9FR0xfU3RyZWFtQXR0cmliS0hS
CisjZGVmaW5lIEVHTF9TdHJlYW1Db25zdW1lckFjcXVpcmVLSFIgbF9FR0xfU3RyZWFtQ29uc3Vt
ZXJBY3F1aXJlS0hSCisjZGVmaW5lIEVHTF9TdHJlYW1Db25zdW1lckdMVGV4dHVyZUV4dGVybmFs
S0hSIGxfRUdMX1N0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxLSFIKKyNkZWZpbmUgRUdM
X1N0cmVhbUNvbnN1bWVyUmVsZWFzZUtIUiBsX0VHTF9TdHJlYW1Db25zdW1lclJlbGVhc2VLSFIK
KyNkZWZpbmUgRUdMX1N3YXBCdWZmZXJzV2l0aERhbWFnZUtIUiBsX0VHTF9Td2FwQnVmZmVyc1dp
dGhEYW1hZ2VLSFIKKyNkZWZpbmUgRUdMX1dhaXRTeW5jS0hSIGxfRUdMX1dhaXRTeW5jS0hSCisj
ZGVmaW5lIEVHTF9Qb3N0U3ViQnVmZmVyTlYgbF9FR0xfUG9zdFN1YkJ1ZmZlck5WCisjZGVmaW5l
IEVHTF9TdHJlYW1Db25zdW1lckdMVGV4dHVyZUV4dGVybmFsQXR0cmlic05WIGxfRUdMX1N0cmVh
bUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxBdHRyaWJzTlYKK0FOR0xFX05PX0VYUE9SVCBleHRl
cm4gUEZORUdMQ0hPT1NFQ09ORklHUFJPQyBsX0VHTF9DaG9vc2VDb25maWc7CitBTkdMRV9OT19F
WFBPUlQgZXh0ZXJuIFBGTkVHTENPUFlCVUZGRVJTUFJPQyBsX0VHTF9Db3B5QnVmZmVyczsKK0FO
R0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFQ09OVEVYVFBST0MgbF9FR0xfQ3JlYXRl
Q29udGV4dDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFUEJVRkZFUlNVUkZB
Q0VQUk9DIGxfRUdMX0NyZWF0ZVBidWZmZXJTdXJmYWNlOworQU5HTEVfTk9fRVhQT1JUIGV4dGVy
biBQRk5FR0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQyBsX0VHTF9DcmVhdGVQaXhtYXBTdXJmYWNl
OworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVXSU5ET1dTVVJGQUNFUFJPQyBs
X0VHTF9DcmVhdGVXaW5kb3dTdXJmYWNlOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xE
RVNUUk9ZQ09OVEVYVFBST0MgbF9FR0xfRGVzdHJveUNvbnRleHQ7CitBTkdMRV9OT19FWFBPUlQg
ZXh0ZXJuIFBGTkVHTERFU1RST1lTVVJGQUNFUFJPQyBsX0VHTF9EZXN0cm95U3VyZmFjZTsKK0FO
R0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUQ09ORklHQVRUUklCUFJPQyBsX0VHTF9HZXRD
b25maWdBdHRyaWI7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENPTkZJR1NQUk9D
IGxfRUdMX0dldENvbmZpZ3M7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENVUlJF
TlRESVNQTEFZUFJPQyBsX0VHTF9HZXRDdXJyZW50RGlzcGxheTsKK0FOR0xFX05PX0VYUE9SVCBl
eHRlcm4gUEZORUdMR0VUQ1VSUkVOVFNVUkZBQ0VQUk9DIGxfRUdMX0dldEN1cnJlbnRTdXJmYWNl
OworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRESVNQTEFZUFJPQyBsX0VHTF9HZXRE
aXNwbGF5OworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRFUlJPUlBST0MgbF9FR0xf
R2V0RXJyb3I7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVFBST0NBRERSRVNTUFJP
QyBsX0VHTF9HZXRQcm9jQWRkcmVzczsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMSU5J
VElBTElaRVBST0MgbF9FR0xfSW5pdGlhbGl6ZTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZO
RUdMTUFLRUNVUlJFTlRQUk9DIGxfRUdMX01ha2VDdXJyZW50OworQU5HTEVfTk9fRVhQT1JUIGV4
dGVybiBQRk5FR0xRVUVSWUNPTlRFWFRQUk9DIGxfRUdMX1F1ZXJ5Q29udGV4dDsKK0FOR0xFX05P
X0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllTVFJJTkdQUk9DIGxfRUdMX1F1ZXJ5U3RyaW5nOwor
QU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNVUkZBQ0VQUk9DIGxfRUdMX1F1ZXJ5
U3VyZmFjZTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1dBUEJVRkZFUlNQUk9DIGxf
RUdMX1N3YXBCdWZmZXJzOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xURVJNSU5BVEVQ
Uk9DIGxfRUdMX1Rlcm1pbmF0ZTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMV0FJVEdM
UFJPQyBsX0VHTF9XYWl0R0w7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFdBSVROQVRJ
VkVQUk9DIGxfRUdMX1dhaXROYXRpdmU7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEJJ
TkRURVhJTUFHRVBST0MgbF9FR0xfQmluZFRleEltYWdlOworQU5HTEVfTk9fRVhQT1JUIGV4dGVy
biBQRk5FR0xSRUxFQVNFVEVYSU1BR0VQUk9DIGxfRUdMX1JlbGVhc2VUZXhJbWFnZTsKK0FOR0xF
X05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1VSRkFDRUFUVFJJQlBST0MgbF9FR0xfU3VyZmFjZUF0
dHJpYjsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1dBUElOVEVSVkFMUFJPQyBsX0VH
TF9Td2FwSW50ZXJ2YWw7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEJJTkRBUElQUk9D
IGxfRUdMX0JpbmRBUEk7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZQVBJUFJP
QyBsX0VHTF9RdWVyeUFQSTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFUEJV
RkZFUkZST01DTElFTlRCVUZGRVJQUk9DIGxfRUdMX0NyZWF0ZVBidWZmZXJGcm9tQ2xpZW50QnVm
ZmVyOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xSRUxFQVNFVEhSRUFEUFJPQyBsX0VH
TF9SZWxlYXNlVGhyZWFkOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xXQUlUQ0xJRU5U
UFJPQyBsX0VHTF9XYWl0Q2xpZW50OworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRD
VVJSRU5UQ09OVEVYVFBST0MgbF9FR0xfR2V0Q3VycmVudENvbnRleHQ7CitBTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTENSRUFURVNZTkNQUk9DIGxfRUdMX0NyZWF0ZVN5bmM7CitBTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RST1lTWU5DUFJPQyBsX0VHTF9EZXN0cm95U3luYzsK
K0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ0xJRU5UV0FJVFNZTkNQUk9DIGxfRUdMX0Ns
aWVudFdhaXRTeW5jOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRTWU5DQVRUUklC
UFJPQyBsX0VHTF9HZXRTeW5jQXR0cmliOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xD
UkVBVEVJTUFHRVBST0MgbF9FR0xfQ3JlYXRlSW1hZ2U7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJu
IFBGTkVHTERFU1RST1lJTUFHRVBST0MgbF9FR0xfRGVzdHJveUltYWdlOworQU5HTEVfTk9fRVhQ
T1JUIGV4dGVybiBQRk5FR0xHRVRQTEFURk9STURJU1BMQVlQUk9DIGxfRUdMX0dldFBsYXRmb3Jt
RGlzcGxheTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFUExBVEZPUk1XSU5E
T1dTVVJGQUNFUFJPQyBsX0VHTF9DcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2U7CitBTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNUElYTUFQU1VSRkFDRVBST0MgbF9F
R0xfQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQ
Rk5FR0xXQUlUU1lOQ1BST0MgbF9FR0xfV2FpdFN5bmM7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJu
IFBGTkVHTFNFVEJMT0JDQUNIRUZVTkNTQU5EUk9JRFBST0MgbF9FR0xfU2V0QmxvYkNhY2hlRnVu
Y3NBTkRST0lEOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRDT01QT1NJVE9SVElN
SU5HQU5EUk9JRFBST0MgbF9FR0xfR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQ7CiBBTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENPTVBPU0lUT1JUSU1JTkdTVVBQT1JURURBTkRST0lE
UFJPQwotICAgIEVHTF9HZXRDb21wb3NpdG9yVGltaW5nU3VwcG9ydGVkQU5EUk9JRDsKKyAgICBs
X0VHTF9HZXRDb21wb3NpdG9yVGltaW5nU3VwcG9ydGVkQU5EUk9JRDsKIEFOR0xFX05PX0VYUE9S
VCBleHRlcm4gUEZORUdMR0VURlJBTUVUSU1FU1RBTVBTVVBQT1JURURBTkRST0lEUFJPQwotICAg
IEVHTF9HZXRGcmFtZVRpbWVzdGFtcFN1cHBvcnRlZEFORFJPSUQ7Ci1BTkdMRV9OT19FWFBPUlQg
ZXh0ZXJuIFBGTkVHTEdFVEZSQU1FVElNRVNUQU1QU0FORFJPSURQUk9DIEVHTF9HZXRGcmFtZVRp
bWVzdGFtcHNBTkRST0lEOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRORVhURlJB
TUVJREFORFJPSURQUk9DIEVHTF9HZXROZXh0RnJhbWVJZEFORFJPSUQ7Ci1BTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTEdFVE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DIEVHTF9HZXRO
YXRpdmVDbGllbnRCdWZmZXJBTkRST0lEOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xE
VVBOQVRJVkVGRU5DRUZEQU5EUk9JRFBST0MgRUdMX0R1cE5hdGl2ZUZlbmNlRkRBTkRST0lEOwot
QU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xQUkVTRU5UQVRJT05USU1FQU5EUk9JRFBST0Mg
RUdMX1ByZXNlbnRhdGlvblRpbWVBTkRST0lEOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5F
R0xDUkVBVEVERVZJQ0VBTkdMRVBST0MgRUdMX0NyZWF0ZURldmljZUFOR0xFOwotQU5HTEVfTk9f
RVhQT1JUIGV4dGVybiBQRk5FR0xSRUxFQVNFREVWSUNFQU5HTEVQUk9DIEVHTF9SZWxlYXNlRGV2
aWNlQU5HTEU7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZRElTUExBWUFUVFJJ
QkFOR0xFUFJPQyBFR0xfUXVlcnlEaXNwbGF5QXR0cmliQU5HTEU7Ci1BTkdMRV9OT19FWFBPUlQg
ZXh0ZXJuIFBGTkVHTFFVRVJZU1RSSU5HSUFOR0xFUFJPQyBFR0xfUXVlcnlTdHJpbmdpQU5HTEU7
Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFBST0dSQU1DQUNIRUdFVEFUVFJJQkFOR0xF
UFJPQyBFR0xfUHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEU7Ci1BTkdMRV9OT19FWFBPUlQgZXh0
ZXJuIFBGTkVHTFBST0dSQU1DQUNIRVBPUFVMQVRFQU5HTEVQUk9DIEVHTF9Qcm9ncmFtQ2FjaGVQ
b3B1bGF0ZUFOR0xFOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVR
VUVSWUFOR0xFUFJPQyBFR0xfUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRTsKLUFOR0xFX05PX0VYUE9S
VCBleHRlcm4gUEZORUdMUFJPR1JBTUNBQ0hFUkVTSVpFQU5HTEVQUk9DIEVHTF9Qcm9ncmFtQ2Fj
aGVSZXNpemVBTkdMRTsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllTVVJGQUNF
UE9JTlRFUkFOR0xFUFJPQyBFR0xfUXVlcnlTdXJmYWNlUG9pbnRlckFOR0xFOworICAgIGxfRUdM
X0dldEZyYW1lVGltZXN0YW1wU3VwcG9ydGVkQU5EUk9JRDsKK0FOR0xFX05PX0VYUE9SVCBleHRl
cm4gUEZORUdMR0VURlJBTUVUSU1FU1RBTVBTQU5EUk9JRFBST0MgbF9FR0xfR2V0RnJhbWVUaW1l
c3RhbXBzQU5EUk9JRDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUTkVYVEZSQU1F
SURBTkRST0lEUFJPQyBsX0VHTF9HZXROZXh0RnJhbWVJZEFORFJPSUQ7CitBTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTEdFVE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DIGxfRUdMX0dl
dE5hdGl2ZUNsaWVudEJ1ZmZlckFORFJPSUQ7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVH
TERVUE5BVElWRUZFTkNFRkRBTkRST0lEUFJPQyBsX0VHTF9EdXBOYXRpdmVGZW5jZUZEQU5EUk9J
RDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMUFJFU0VOVEFUSU9OVElNRUFORFJPSURQ
Uk9DIGxfRUdMX1ByZXNlbnRhdGlvblRpbWVBTkRST0lEOworQU5HTEVfTk9fRVhQT1JUIGV4dGVy
biBQRk5FR0xDUkVBVEVERVZJQ0VBTkdMRVBST0MgbF9FR0xfQ3JlYXRlRGV2aWNlQU5HTEU7CitB
TkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFJFTEVBU0VERVZJQ0VBTkdMRVBST0MgbF9FR0xf
UmVsZWFzZURldmljZUFOR0xFOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURJ
U1BMQVlBVFRSSUJBTkdMRVBST0MgbF9FR0xfUXVlcnlEaXNwbGF5QXR0cmliQU5HTEU7CitBTkdM
RV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSSU5HSUFOR0xFUFJPQyBsX0VHTF9RdWVy
eVN0cmluZ2lBTkdMRTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMUFJPR1JBTUNBQ0hF
R0VUQVRUUklCQU5HTEVQUk9DIGxfRUdMX1Byb2dyYW1DYWNoZUdldEF0dHJpYkFOR0xFOworQU5H
TEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVQT1BVTEFURUFOR0xFUFJPQyBs
X0VHTF9Qcm9ncmFtQ2FjaGVQb3B1bGF0ZUFOR0xFOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQ
Rk5FR0xQUk9HUkFNQ0FDSEVRVUVSWUFOR0xFUFJPQyBsX0VHTF9Qcm9ncmFtQ2FjaGVRdWVyeUFO
R0xFOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVSRVNJWkVBTkdM
RVBST0MgbF9FR0xfUHJvZ3JhbUNhY2hlUmVzaXplQU5HTEU7CitBTkdMRV9OT19FWFBPUlQgZXh0
ZXJuIFBGTkVHTFFVRVJZU1VSRkFDRVBPSU5URVJBTkdMRVBST0MgbF9FR0xfUXVlcnlTdXJmYWNl
UG9pbnRlckFOR0xFOwogQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVTVFJFQU1Q
Uk9EVUNFUkQzRFRFWFRVUkVBTkdMRVBST0MKLSAgICBFR0xfQ3JlYXRlU3RyZWFtUHJvZHVjZXJE
M0RUZXh0dXJlQU5HTEU7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNUUkVBTVBPU1RE
M0RURVhUVVJFQU5HTEVQUk9DIEVHTF9TdHJlYW1Qb3N0RDNEVGV4dHVyZUFOR0xFOwotQU5HTEVf
Tk9fRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRPS0VOQU5HTEVQUk9D
IEVHTF9Td2FwQnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEU7Ci1BTkdMRV9OT19FWFBPUlQgZXh0
ZXJuIFBGTkVHTEdFVE1TQ1JBVEVDSFJPTUlVTVBST0MgRUdMX0dldE1zY1JhdGVDSFJPTUlVTTsK
LUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUU1lOQ1ZBTFVFU0NIUk9NSVVNUFJPQyBF
R0xfR2V0U3luY1ZhbHVlc0NIUk9NSVVNOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xR
VUVSWURFVklDRUFUVFJJQkVYVFBST0MgRUdMX1F1ZXJ5RGV2aWNlQXR0cmliRVhUOwotQU5HTEVf
Tk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURFVklDRVNUUklOR0VYVFBST0MgRUdMX1F1ZXJ5
RGV2aWNlU3RyaW5nRVhUOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURJU1BM
QVlBVFRSSUJFWFRQUk9DIEVHTF9RdWVyeURpc3BsYXlBdHRyaWJFWFQ7Ci1BTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNUElYTUFQU1VSRkFDRUVYVFBST0MgRUdMX0Ny
ZWF0ZVBsYXRmb3JtUGl4bWFwU3VyZmFjZUVYVDsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZO
RUdMQ1JFQVRFUExBVEZPUk1XSU5ET1dTVVJGQUNFRVhUUFJPQyBFR0xfQ3JlYXRlUGxhdGZvcm1X
aW5kb3dTdXJmYWNlRVhUOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRQTEFURk9S
TURJU1BMQVlFWFRQUk9DIEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlFWFQ7Ci1BTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DIEVHTF9EZWJ1Z01lc3Nh
Z2VDb250cm9sS0hSOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xMQUJFTE9CSkVDVEtI
UlBST0MgRUdMX0xhYmVsT2JqZWN0S0hSOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xR
VUVSWURFQlVHS0hSUFJPQyBFR0xfUXVlcnlEZWJ1Z0tIUjsKLUFOR0xFX05PX0VYUE9SVCBleHRl
cm4gUEZORUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIEVHTF9DbGllbnRXYWl0U3luY0tIUjsKLUFO
R0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFU1lOQ0tIUlBST0MgRUdMX0NyZWF0ZVN5
bmNLSFI7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RST1lTWU5DS0hSUFJPQyBF
R0xfRGVzdHJveVN5bmNLSFI7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVFNZTkNB
VFRSSUJLSFJQUk9DIEVHTF9HZXRTeW5jQXR0cmliS0hSOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVy
biBQRk5FR0xDUkVBVEVJTUFHRUtIUlBST0MgRUdMX0NyZWF0ZUltYWdlS0hSOwotQU5HTEVfTk9f
RVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZSU1BR0VLSFJQUk9DIEVHTF9EZXN0cm95SW1hZ2VL
SFI7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVNUUkVBTUtIUlBST0MgRUdM
X0NyZWF0ZVN0cmVhbUtIUjsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJPWVNU
UkVBTUtIUlBST0MgRUdMX0Rlc3Ryb3lTdHJlYW1LSFI7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJu
IFBGTkVHTFFVRVJZU1RSRUFNS0hSUFJPQyBFR0xfUXVlcnlTdHJlYW1LSFI7Ci1BTkdMRV9OT19F
WFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSRUFNVTY0S0hSUFJPQyBFR0xfUXVlcnlTdHJlYW11
NjRLSFI7Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNUUkVBTUFUVFJJQktIUlBST0Mg
RUdMX1N0cmVhbUF0dHJpYktIUjsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1RSRUFN
Q09OU1VNRVJBQ1FVSVJFS0hSUFJPQyBFR0xfU3RyZWFtQ29uc3VtZXJBY3F1aXJlS0hSOworICAg
IGxfRUdMX0NyZWF0ZVN0cmVhbVByb2R1Y2VyRDNEVGV4dHVyZUFOR0xFOworQU5HTEVfTk9fRVhQ
T1JUIGV4dGVybiBQRk5FR0xTVFJFQU1QT1NURDNEVEVYVFVSRUFOR0xFUFJPQyBsX0VHTF9TdHJl
YW1Qb3N0RDNEVGV4dHVyZUFOR0xFOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQ
QlVGRkVSU1dJVEhGUkFNRVRPS0VOQU5HTEVQUk9DCisgICAgbF9FR0xfU3dhcEJ1ZmZlcnNXaXRo
RnJhbWVUb2tlbkFOR0xFOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRNU0NSQVRF
QU5HTEVQUk9DIGxfRUdMX0dldE1zY1JhdGVBTkdMRTsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4g
UEZORUdMR0VUU1lOQ1ZBTFVFU0NIUk9NSVVNUFJPQyBsX0VHTF9HZXRTeW5jVmFsdWVzQ0hST01J
VU07CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZREVWSUNFQVRUUklCRVhUUFJP
QyBsX0VHTF9RdWVyeURldmljZUF0dHJpYkVYVDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZO
RUdMUVVFUllERVZJQ0VTVFJJTkdFWFRQUk9DIGxfRUdMX1F1ZXJ5RGV2aWNlU3RyaW5nRVhUOwor
QU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURJU1BMQVlBVFRSSUJFWFRQUk9DIGxf
RUdMX1F1ZXJ5RGlzcGxheUF0dHJpYkVYVDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdM
Q1JFQVRFUExBVEZPUk1QSVhNQVBTVVJGQUNFRVhUUFJPQworICAgIGxfRUdMX0NyZWF0ZVBsYXRm
b3JtUGl4bWFwU3VyZmFjZUVYVDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRF
UExBVEZPUk1XSU5ET1dTVVJGQUNFRVhUUFJPQworICAgIGxfRUdMX0NyZWF0ZVBsYXRmb3JtV2lu
ZG93U3VyZmFjZUVYVDsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUUExBVEZPUk1E
SVNQTEFZRVhUUFJPQyBsX0VHTF9HZXRQbGF0Zm9ybURpc3BsYXlFWFQ7CitBTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DIGxfRUdMX0RlYnVnTWVz
c2FnZUNvbnRyb2xLSFI7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTExBQkVMT0JKRUNU
S0hSUFJPQyBsX0VHTF9MYWJlbE9iamVjdEtIUjsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZO
RUdMUVVFUllERUJVR0tIUlBST0MgbF9FR0xfUXVlcnlEZWJ1Z0tIUjsKK0FOR0xFX05PX0VYUE9S
VCBleHRlcm4gUEZORUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIGxfRUdMX0NsaWVudFdhaXRTeW5j
S0hSOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVTWU5DS0hSUFJPQyBsX0VH
TF9DcmVhdGVTeW5jS0hSOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZU1lO
Q0tIUlBST0MgbF9FR0xfRGVzdHJveVN5bmNLSFI7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBG
TkVHTEdFVFNZTkNBVFRSSUJLSFJQUk9DIGxfRUdMX0dldFN5bmNBdHRyaWJLSFI7CitBTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURUlNQUdFS0hSUFJPQyBsX0VHTF9DcmVhdGVJbWFn
ZUtIUjsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJPWUlNQUdFS0hSUFJPQyBs
X0VHTF9EZXN0cm95SW1hZ2VLSFI7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFU
RVNUUkVBTUtIUlBST0MgbF9FR0xfQ3JlYXRlU3RyZWFtS0hSOworQU5HTEVfTk9fRVhQT1JUIGV4
dGVybiBQRk5FR0xERVNUUk9ZU1RSRUFNS0hSUFJPQyBsX0VHTF9EZXN0cm95U3RyZWFtS0hSOwor
QU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNUUkVBTUtIUlBST0MgbF9FR0xfUXVl
cnlTdHJlYW1LSFI7CitBTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSRUFNVTY0
S0hSUFJPQyBsX0VHTF9RdWVyeVN0cmVhbXU2NEtIUjsKK0FOR0xFX05PX0VYUE9SVCBleHRlcm4g
UEZORUdMU1RSRUFNQVRUUklCS0hSUFJPQyBsX0VHTF9TdHJlYW1BdHRyaWJLSFI7CitBTkdMRV9O
T19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNUUkVBTUNPTlNVTUVSQUNRVUlSRUtIUlBST0MgbF9FR0xf
U3RyZWFtQ29uc3VtZXJBY3F1aXJlS0hSOwogQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xT
VFJFQU1DT05TVU1FUkdMVEVYVFVSRUVYVEVSTkFMS0hSUFJPQwotICAgIEVHTF9TdHJlYW1Db25z
dW1lckdMVGV4dHVyZUV4dGVybmFsS0hSOwotQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xT
VFJFQU1DT05TVU1FUlJFTEVBU0VLSFJQUk9DIEVHTF9TdHJlYW1Db25zdW1lclJlbGVhc2VLSFI7
Ci1BTkdMRV9OT19FWFBPUlQgZXh0ZXJuIFBGTkVHTFNXQVBCVUZGRVJTV0lUSERBTUFHRUtIUlBS
T0MgRUdMX1N3YXBCdWZmZXJzV2l0aERhbWFnZUtIUjsKLUFOR0xFX05PX0VYUE9SVCBleHRlcm4g
UEZORUdMV0FJVFNZTkNLSFJQUk9DIEVHTF9XYWl0U3luY0tIUjsKLUFOR0xFX05PX0VYUE9SVCBl
eHRlcm4gUEZORUdMUE9TVFNVQkJVRkZFUk5WUFJPQyBFR0xfUG9zdFN1YkJ1ZmZlck5WOworICAg
IGxfRUdMX1N0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxLSFI7CitBTkdMRV9OT19FWFBP
UlQgZXh0ZXJuIFBGTkVHTFNUUkVBTUNPTlNVTUVSUkVMRUFTRUtIUlBST0MgbF9FR0xfU3RyZWFt
Q29uc3VtZXJSZWxlYXNlS0hSOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQQlVG
RkVSU1dJVEhEQU1BR0VLSFJQUk9DIGxfRUdMX1N3YXBCdWZmZXJzV2l0aERhbWFnZUtIUjsKK0FO
R0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMV0FJVFNZTkNLSFJQUk9DIGxfRUdMX1dhaXRTeW5j
S0hSOworQU5HTEVfTk9fRVhQT1JUIGV4dGVybiBQRk5FR0xQT1NUU1VCQlVGRkVSTlZQUk9DIGxf
RUdMX1Bvc3RTdWJCdWZmZXJOVjsKIEFOR0xFX05PX0VYUE9SVCBleHRlcm4gUEZORUdMU1RSRUFN
Q09OU1VNRVJHTFRFWFRVUkVFWFRFUk5BTEFUVFJJQlNOVlBST0MKLSAgICBFR0xfU3RyZWFtQ29u
c3VtZXJHTFRleHR1cmVFeHRlcm5hbEF0dHJpYnNOVjsKKyAgICBsX0VHTF9TdHJlYW1Db25zdW1l
ckdMVGV4dHVyZUV4dGVybmFsQXR0cmlic05WOwogCiBuYW1lc3BhY2UgYW5nbGUKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvbGliRUdMLmNwcCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvbGliRUdMLmNwcAppbmRleCBjZjQwMGZk
OTMyNTFlYTgxMTc3NDcyOGU2ZjllNDMyNTgwMDU2MzUyLi43YjgzNGRiYTYxMTUzMjhmYTBmMDhm
MmQyNzQyY2NhZTUyMDA0N2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliRUdML2xpYkVHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkVHTC9saWJFR0wuY3BwCkBAIC01NzIsMTMgKzU3MiwxMyBAQCBFR0xCb29sZWFuIEVHTEFQSUVO
VFJZIGVnbEdldFN5bmNWYWx1ZXNDSFJPTUlVTShFR0xEaXNwbGF5IGRweSwKICAgICByZXR1cm4g
RUdMX0dldFN5bmNWYWx1ZXNDSFJPTUlVTShkcHksIHN1cmZhY2UsIHVzdCwgbXNjLCBzYmMpOwog
fQogCi1FR0xCb29sZWFuIEVHTEFQSUVOVFJZIGVnbEdldE1zY1JhdGVDSFJPTUlVTShFR0xEaXNw
bGF5IGRweSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVH
TFN1cmZhY2Ugc3VyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEVHTGludCAqbnVtZXJhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRUdMaW50ICpkZW5vbWluYXRvcikKK0VHTEJvb2xlYW4gRUdMQVBJRU5U
UlkgZWdsR2V0TXNjUmF0ZUFOR0xFKEVHTERpc3BsYXkgZHB5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRUdMU3VyZmFjZSBzdXJmYWNlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMaW50ICpudW1lcmF0b3IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xpbnQgKmRlbm9taW5hdG9yKQog
ewogICAgIEVuc3VyZUVHTExvYWRlZCgpOwotICAgIHJldHVybiBFR0xfR2V0TXNjUmF0ZUNIUk9N
SVVNKGRweSwgc3VyZmFjZSwgbnVtZXJhdG9yLCBkZW5vbWluYXRvcik7CisgICAgcmV0dXJuIEVH
TF9HZXRNc2NSYXRlQU5HTEUoZHB5LCBzdXJmYWNlLCBudW1lcmF0b3IsIGRlbm9taW5hdG9yKTsK
IH0KIAogRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBlZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFIo
RUdMRGlzcGxheSBkcHksCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliRUdML2xpYkVHTC5kZWYgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliRUdML2xp
YkVHTC5kZWYKaW5kZXggMjYwMThiMDExMWI3MmIxYWZiZGE5MWU0YjY3NjRjODUzZGEwMzQxMS4u
M2Y4ZjVkYjFjNmI0Yzc1MjYxMDllZTU4MzU5NGZhZGI3MThlODg2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkVHTC9saWJFR0wuZGVmCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvbGliRUdMLmRlZgpAQCAtNzQsNyArNzQsNyBAQCBF
WFBPUlRTCiAgICAgZWdsUXVlcnlTdHJpbmdpQU5HTEUgICAgICAgICAgICAgICAgICAgICAgICBA
ODAKICAgICBlZ2xHZXROYXRpdmVDbGllbnRCdWZmZXJBTkRST0lEICAgICAgICAgICAgIEA4MQog
ICAgIGVnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEICAgICAgICAgICAgICAgICAgQDgyCi0gICAg
ZWdsR2V0TXNjUmF0ZUNIUk9NSVVNICAgICAgICAgICAgICAgICAgICAgICBAODMKKyAgICBlZ2xH
ZXRNc2NSYXRlQU5HTEUgICAgICAgICAgICAgICAgICAgICAgICAgIEA4MwogCiAgICAgOyAxLjUg
ZW50cnkgcG9pbnRzCiAgICAgZWdsQ3JlYXRlU3luYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBAMzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIuZ25pIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi5nbmkKaW5kZXgg
YjBhN2U4ZmJjYWRjNzMwNzQ3YjA4YTIwMjE1YjgxNWVhMGRkNDM1NS4uNmM3MDg1ZTUyZWI5NmNh
ZDY2YmUyZjk0NzQyODM0Y2VhYTlkN2Q4NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi5nbmkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi5nbmkKQEAgLTQxNSw2ICs0MTUsNyBAQCBsaWJhbmdsZV9zb3VyY2VzID0gWwog
ICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL0RldmljZUltcGwuY3BwIiwKICAgInNyYy9saWJBTkdM
RS9yZW5kZXJlci9EaXNwbGF5SW1wbC5jcHAiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL0Zv
cm1hdF90YWJsZV9hdXRvZ2VuLmNwcCIsCisgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvUHJvZ3Jh
bVBpcGVsaW5lSW1wbC5jcHAiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL1F1ZXJ5SW1wbC5j
cHAiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL1NoYWRlckltcGwuY3BwIiwKICAgInNyYy9s
aWJBTkdMRS9yZW5kZXJlci9TdXJmYWNlSW1wbC5jcHAiLApAQCAtODE5LDYgKzgyMCw4IEBAIGxp
YmFuZ2xlX2dsX2VnbF9zb3VyY2VzID0gWwogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Vn
bC9Db250ZXh0RUdMLmgiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EaXNwbGF5
RUdMLmNwcCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0Rpc3BsYXlFR0wuaCIs
CisgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0RtYUJ1ZkltYWdlU2libGluZ0VHTC5j
cHAiLAorICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9EbWFCdWZJbWFnZVNpYmxpbmdF
R0wuaCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZWdsL0V4dGVybmFsSW1hZ2VTaWJs
aW5nRUdMLmgiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2VnbC9GdW5jdGlvbnNFR0wu
Y3BwIiwKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9lZ2wvRnVuY3Rpb25zRUdMLmgiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9w
b2ludHNfZWdsLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvZW50
cnlfcG9pbnRzX2VnbC5jcHAKaW5kZXggZmU2NjVmMGMxYTU3NWNmNzQ4NmRmNGEzOGY3NGU5ZWU0
ZWJhYTJjMy4uODE2NWQ1MjEyYjc0NDBjYTEyMDVkMDlkNTA5ZTlmZWUwYzFjY2I2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9wb2ludHNf
ZWdsLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2VudHJ5
X3BvaW50c19lZ2wuY3BwCkBAIC05MCw3ICs5MCw3IEBAIEVHTEJvb2xlYW4gRUdMQVBJRU5UUlkg
RUdMX0luaXRpYWxpemUoRUdMRGlzcGxheSBkcHksIEVHTGludCAqbWFqb3IsIEVHTGludCAqbWlu
CiAgICAgaWYgKG1ham9yKQogICAgICAgICAqbWFqb3IgPSAxOwogICAgIGlmIChtaW5vcikKLSAg
ICAgICAgKm1pbm9yID0gNDsKKyAgICAgICAgKm1pbm9yID0gNTsKIAogICAgIHRocmVhZC0+c2V0
U3VjY2VzcygpOwogICAgIHJldHVybiBFR0xfVFJVRTsKQEAgLTE0OSw3ICsxNDksNyBAQCBjb25z
dCBjaGFyICpFR0xBUElFTlRSWSBFR0xfUXVlcnlTdHJpbmcoRUdMRGlzcGxheSBkcHksIEVHTGlu
dCBuYW1lKQogICAgICAgICAgICAgcmVzdWx0ID0gZGlzcGxheS0+Z2V0VmVuZG9yU3RyaW5nKCku
Y19zdHIoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEVHTF9WRVJTSU9OOgot
ICAgICAgICAgICAgcmVzdWx0ID0gIjEuNCAoQU5HTEUgIiBBTkdMRV9WRVJTSU9OX1NUUklORyAi
KSI7CisgICAgICAgICAgICByZXN1bHQgPSAiMS41IChBTkdMRSAiIEFOR0xFX1ZFUlNJT05fU1RS
SU5HICIpIjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgdGhyZWFkLT5zZXRFcnJvcihFZ2xCYWRQYXJhbWV0ZXIoKSwgR2V0RGVidWcoKSwgImVnbFF1
ZXJ5U3RyaW5nIiwKQEAgLTM1Myw3ICszNTMsOCBAQCBFR0xCb29sZWFuIEVHTEFQSUVOVFJZIEVH
TF9RdWVyeVN1cmZhY2UoRUdMRGlzcGxheSBkcHksCiAgICAgQU5HTEVfRUdMX1RSWV9SRVRVUk4o
dGhyZWFkLCBWYWxpZGF0ZVF1ZXJ5U3VyZmFjZShkaXNwbGF5LCBlZ2xTdXJmYWNlLCBhdHRyaWJ1
dGUsIHZhbHVlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAiZWdsUXVlcnlTdXJmYWNlIiwg
R2V0U3VyZmFjZUlmVmFsaWQoZGlzcGxheSwgZWdsU3VyZmFjZSksIEVHTF9GQUxTRSk7CiAKLSAg
ICBRdWVyeVN1cmZhY2VBdHRyaWIoZWdsU3VyZmFjZSwgYXR0cmlidXRlLCB2YWx1ZSk7CisgICAg
QU5HTEVfRUdMX1RSWV9SRVRVUk4odGhyZWFkLCBRdWVyeVN1cmZhY2VBdHRyaWIoZGlzcGxheSwg
ZWdsU3VyZmFjZSwgYXR0cmlidXRlLCB2YWx1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ImVnbFF1ZXJ5U3VyZmFjZSIsIEdldFN1cmZhY2VJZlZhbGlkKGRpc3BsYXksIGVnbFN1cmZhY2Up
LCBFR0xfRkFMU0UpOwogCiAgICAgdGhyZWFkLT5zZXRTdWNjZXNzKCk7CiAgICAgcmV0dXJuIEVH
TF9UUlVFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2
Mi9lbnRyeV9wb2ludHNfZWdsX2V4dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL2VudHJ5X3BvaW50c19lZ2xfZXh0LmNwcAppbmRleCA3MzY2YmE4Yzk2YmYwMGZl
ZTY1ZWI3MzY1Y2E3ZmMxYmRjNGNmNzUyLi41ZTQ0MzAwYTZiZGEwMDJkYzVhNzQ1YTIxZWNhZDc4
YjJkMDc4YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL2VudHJ5X3BvaW50c19lZ2xfZXh0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliR0xFU3YyL2VudHJ5X3BvaW50c19lZ2xfZXh0LmNwcApAQCAtMTAyMCwxMCArMTAy
MCwxMCBAQCBBTkdMRV9FWFBPUlQgRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBFR0xfV2FpdFN5bmNL
SFIoRUdMRGlzcGxheSBkcHksIEVHTFN5bmMgc3luYwogICAgIHJldHVybiBFR0xfVFJVRTsKIH0K
IAotRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBFR0xfR2V0TXNjUmF0ZUNIUk9NSVVNKEVHTERpc3Bs
YXkgZHB5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVH
TFN1cmZhY2Ugc3VyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFR0xpbnQgKm51bWVyYXRvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFR0xpbnQgKmRlbm9taW5hdG9yKQorRUdMQm9vbGVhbiBFR0xBUElF
TlRSWSBFR0xfR2V0TXNjUmF0ZUFOR0xFKEVHTERpc3BsYXkgZHB5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTFN1cmZhY2Ugc3VyZmFjZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xpbnQgKm51bWVyYXRvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xpbnQgKmRlbm9taW5h
dG9yKQogewogICAgIEFOR0xFX1NDT1BFRF9HTE9CQUxfTE9DSygpOwogICAgIEZVTkNfRVZFTlQo
IkVHTERpc3BsYXkgZHB5ID0gMHglMDE2IiBQUkl4UFRSICIsIEVHTFN1cmZhY2Ugc3VyZmFjZSA9
IDB4JTAxNiIgUFJJeFBUUgpAQCAtMTAzNiwxMCArMTAzNiwxMCBAQCBFR0xCb29sZWFuIEVHTEFQ
SUVOVFJZIEVHTF9HZXRNc2NSYXRlQ0hST01JVU0oRUdMRGlzcGxheSBkcHksCiAgICAgZWdsOjpE
aXNwbGF5ICpkaXNwbGF5ID0gc3RhdGljX2Nhc3Q8ZWdsOjpEaXNwbGF5ICo+KGRweSk7CiAgICAg
U3VyZmFjZSAqZWdsU3VyZmFjZSAgID0gc3RhdGljX2Nhc3Q8U3VyZmFjZSAqPihzdXJmYWNlKTsK
IAotICAgIEVycm9yIGVycm9yID0gVmFsaWRhdGVHZXRNc2NSYXRlQ0hST01JVU0oZGlzcGxheSwg
ZWdsU3VyZmFjZSwgbnVtZXJhdG9yLCBkZW5vbWluYXRvcik7CisgICAgRXJyb3IgZXJyb3IgPSBW
YWxpZGF0ZUdldE1zY1JhdGVBTkdMRShkaXNwbGF5LCBlZ2xTdXJmYWNlLCBudW1lcmF0b3IsIGRl
bm9taW5hdG9yKTsKICAgICBpZiAoZXJyb3IuaXNFcnJvcigpKQogICAgIHsKLSAgICAgICAgdGhy
ZWFkLT5zZXRFcnJvcihlcnJvciwgR2V0RGVidWcoKSwgImVnbEdldE1zY1JhdGVDSFJPTUlVTSIs
CisgICAgICAgIHRocmVhZC0+c2V0RXJyb3IoZXJyb3IsIEdldERlYnVnKCksICJlZ2xHZXRNc2NS
YXRlQU5HTEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgIEdldFN1cmZhY2VJZlZhbGlkKGRp
c3BsYXksIGVnbFN1cmZhY2UpKTsKICAgICAgICAgcmV0dXJuIEVHTF9GQUxTRTsKICAgICB9CkBA
IC0xMDQ3LDcgKzEwNDcsNyBAQCBFR0xCb29sZWFuIEVHTEFQSUVOVFJZIEVHTF9HZXRNc2NSYXRl
Q0hST01JVU0oRUdMRGlzcGxheSBkcHksCiAgICAgZXJyb3IgPSBlZ2xTdXJmYWNlLT5nZXRNc2NS
YXRlKG51bWVyYXRvciwgZGVub21pbmF0b3IpOwogICAgIGlmIChlcnJvci5pc0Vycm9yKCkpCiAg
ICAgewotICAgICAgICB0aHJlYWQtPnNldEVycm9yKGVycm9yLCBHZXREZWJ1ZygpLCAiZWdsR2V0
TXNjUmF0ZUNIUk9NSVVNIiwKKyAgICAgICAgdGhyZWFkLT5zZXRFcnJvcihlcnJvciwgR2V0RGVi
dWcoKSwgImVnbEdldE1zY1JhdGVBTkdMRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0
U3VyZmFjZUlmVmFsaWQoZGlzcGxheSwgZWdsU3VyZmFjZSkpOwogICAgICAgICByZXR1cm4gRUdM
X0ZBTFNFOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJHTEVTdjIvZW50cnlfcG9pbnRzX2VnbF9leHQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvZW50cnlfcG9pbnRzX2VnbF9leHQuaAppbmRleCA4YWIwMTc1OWM1OGYy
ODJiOGQ0YTc4YzkzMmY2YjcyYTEyNWU2ZThhLi42YmZiYzVhY2E2ZjFiOGI5NTExOTg5ZmUyZjI4
MWZjYzc1YzYzMjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL2VudHJ5X3BvaW50c19lZ2xfZXh0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9wb2ludHNfZWdsX2V4dC5oCkBAIC0xMzQsMTAgKzEzNCwx
MiBAQCBBTkdMRV9FWFBPUlQgRUdMQm9vbGVhbiBFR0xBUElFTlRSWSBFR0xfR2V0U3luY1ZhbHVl
c0NIUk9NSVVNKEVHTERpc3BsYXkgZHB5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0x1aW50NjRLSFIgKnVzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RUdMdWludDY0S0hSICptc2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVHTHVpbnQ2NEtIUiAqc2JjKTsKLUFOR0xFX0VYUE9S
VCBFR0xCb29sZWFuIEVHTEFQSUVOVFJZIEVHTF9HZXRNc2NSYXRlQ0hST01JVU0oRUdMRGlzcGxh
eSBkcHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVHTFN1cmZhY2Ugc3VyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMaW50ICpudW1lcmF0b3IsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVH
TGludCAqZGVub21pbmF0b3IpOworCisvLyBFR0xfQU5HTEVfc3luY19jb250cm9sX3JhdGUKK0FO
R0xFX0VYUE9SVCBFR0xCb29sZWFuIEVHTEFQSUVOVFJZIEVHTF9HZXRNc2NSYXRlQU5HTEUoRUdM
RGlzcGxheSBkcHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVHTFN1cmZhY2Ugc3VyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMaW50ICpudW1lcmF0b3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTGlu
dCAqZGVub21pbmF0b3IpOwogCiAvLyBFR0xfS0hSX3N3YXBfYnVmZmVyc193aXRoX2RhbWFnZQog
QU5HTEVfRVhQT1JUIEVHTEJvb2xlYW4gRUdMQVBJRU5UUlkgRUdMX1N3YXBCdWZmZXJzV2l0aERh
bWFnZUtIUihFR0xEaXNwbGF5IGRweSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJHTEVTdjIvZW50cnlfcG9pbnRzX2dsZXNfZXh0X2F1dG9nZW4uY3BwIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9wb2ludHNfZ2xlc19leHRf
YXV0b2dlbi5jcHAKaW5kZXggNTFlMzA4YmJlNzc0YWY5NmI1OWQ1MzgwYTBlNGY4YjA5OTY2OTI4
My4uZThmNmQ2YjEzNTY4NTk0MTdiNTllOWM2Njk4OWIzNjhhNTI0MDllYSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9wb2ludHNfZ2xlc19l
eHRfYXV0b2dlbi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2
Mi9lbnRyeV9wb2ludHNfZ2xlc19leHRfYXV0b2dlbi5jcHAKQEAgLTMwNjYsNiArMzA2Niw4IEBA
IHZvaWQgR0xfQVBJRU5UUlkgTG9zZUNvbnRleHRDSFJPTUlVTShHTGVudW0gY3VycmVudCwgR0xl
bnVtIG90aGVyKQogICAgIH0KIH0KIAorLy8gR0xfRVhUX0VHTF9pbWFnZV9hcnJheQorCiAvLyBH
TF9FWFRfYmxlbmRfZnVuY19leHRlbmRlZAogdm9pZCBHTF9BUElFTlRSWSBCaW5kRnJhZ0RhdGFM
b2NhdGlvbkVYVChHTHVpbnQgcHJvZ3JhbSwgR0x1aW50IGNvbG9yLCBjb25zdCBHTGNoYXIgKm5h
bWUpCiB7CkBAIC00ODI4LDYgKzQ4MzAsOCBAQCB2b2lkIEdMX0FQSUVOVFJZIEltcG9ydFNlbWFw
aG9yZUZkRVhUKEdMdWludCBzZW1hcGhvcmUsIEdMZW51bSBoYW5kbGVUeXBlLCBHTGludAogCiAv
LyBHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgKIAorLy8gR0xfRVhUX3RleHR1cmVfc1JH
Ql9SOAorCiAvLyBHTF9FWFRfdGV4dHVyZV9zdG9yYWdlCiB2b2lkIEdMX0FQSUVOVFJZIFRleFN0
b3JhZ2UxREVYVChHTGVudW0gdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xzaXplaSBsZXZlbHMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL2VudHJ5X3BvaW50c19nbGVzX2V4dF9hdXRvZ2VuLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2VudHJ5X3BvaW50c19nbGVzX2V4dF9hdXRvZ2Vu
LmgKaW5kZXggN2I1Mjc0NGYzMzQ0YmU1OTZjYTRhNmYzZjFjODE1OTZhM2MxM2E2Ni4uOWEyMDQ1
NDBlOWI3MzkyY2QxZmRiMGRjYzVmNDVmNzE2OTE5OWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9lbnRyeV9wb2ludHNfZ2xlc19leHRfYXV0b2dl
bi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvZW50cnlfcG9p
bnRzX2dsZXNfZXh0X2F1dG9nZW4uaApAQCAtNjA1LDYgKzYwNSw4IEBAIEFOR0xFX0VYUE9SVCB2
b2lkIEdMX0FQSUVOVFJZIENvdmVyYWdlTW9kdWxhdGlvbkNIUk9NSVVNKEdMZW51bSBjb21wb25l
bnRzKTsKIC8vIEdMX0NIUk9NSVVNX2xvc2VfY29udGV4dAogQU5HTEVfRVhQT1JUIHZvaWQgR0xf
QVBJRU5UUlkgTG9zZUNvbnRleHRDSFJPTUlVTShHTGVudW0gY3VycmVudCwgR0xlbnVtIG90aGVy
KTsKIAorLy8gR0xfRVhUX0VHTF9pbWFnZV9hcnJheQorCiAvLyBHTF9FWFRfYmxlbmRfZnVuY19l
eHRlbmRlZAogQU5HTEVfRVhQT1JUIHZvaWQgR0xfQVBJRU5UUlkgQmluZEZyYWdEYXRhTG9jYXRp
b25FWFQoR0x1aW50IHByb2dyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHVpbnQgY29sb3IsCkBAIC04NDUsNiArODQ3LDggQEAgQU5H
TEVfRVhQT1JUIHZvaWQgR0xfQVBJRU5UUlkgSW1wb3J0U2VtYXBob3JlRmRFWFQoR0x1aW50IHNl
bWFwaG9yZSwgR0xlbnVtIGhhbmQKIAogLy8gR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4
CiAKKy8vIEdMX0VYVF90ZXh0dXJlX3NSR0JfUjgKKwogLy8gR0xfRVhUX3RleHR1cmVfc3RvcmFn
ZQogQU5HTEVfRVhQT1JUIHZvaWQgR0xfQVBJRU5UUlkgVGV4U3RvcmFnZTFERVhUKEdMZW51bSB0
YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xz
aXplaSBsZXZlbHMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL2xpYkdMRVN2Ml9hdXRvZ2VuLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvbGliR0xFU3YyX2F1dG9nZW4uY3BwCmluZGV4IGY1OTkxMzU5OTRiZmFmOTYx
MTYyOThlMzFkNDY1NzYwYTdkMWQyODMuLmNjZWRhYTFlNDkzN2U5YmNlZGJiMzRlOGYwNGUxOWQy
Y2ZmZmM4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIvbGliR0xFU3YyX2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvbGliR0xFU3YyX2F1dG9nZW4uY3BwCkBAIC0zNzA3LDYgKzM3MDcsOCBAQCB2
b2lkIEdMX0FQSUVOVFJZIGdsTG9zZUNvbnRleHRDSFJPTUlVTShHTGVudW0gY3VycmVudCwgR0xl
bnVtIG90aGVyKQogICAgIHJldHVybiBnbDo6TG9zZUNvbnRleHRDSFJPTUlVTShjdXJyZW50LCBv
dGhlcik7CiB9CiAKKy8vIEdMX0VYVF9FR0xfaW1hZ2VfYXJyYXkKKwogLy8gR0xfRVhUX2JsZW5k
X2Z1bmNfZXh0ZW5kZWQKIHZvaWQgR0xfQVBJRU5UUlkgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkVY
VChHTHVpbnQgcHJvZ3JhbSwgR0x1aW50IGNvbG9yLCBjb25zdCBHTGNoYXIgKm5hbWUpCiB7CkBA
IC00MTg1LDYgKzQxODcsOCBAQCB2b2lkIEdMX0FQSUVOVFJZIGdsSW1wb3J0U2VtYXBob3JlRmRF
WFQoR0x1aW50IHNlbWFwaG9yZSwgR0xlbnVtIGhhbmRsZVR5cGUsIEdMaQogCiAvLyBHTF9FWFRf
dGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgKIAorLy8gR0xfRVhUX3RleHR1cmVfc1JHQl9SOAorCiAv
LyBHTF9FWFRfdGV4dHVyZV9zdG9yYWdlCiB2b2lkIEdMX0FQSUVOVFJZIGdsVGV4U3RvcmFnZTFE
RVhUKEdMZW51bSB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
c2l6ZWkgbGV2ZWxzLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkdMRVN2Mi9saWJHTEVTdjJfYXV0b2dlbi5kZWYgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL2xpYkdMRVN2Ml9hdXRvZ2VuLmRlZgppbmRleCAyMzRkM2FhNmI2ZjIwMTQ1
ZWNjNDBjNjU2ODVkNGE1NGQ5MjFkMjljLi41NjI1ZDJiM2ZjYzI2ZTdiMjdjYzY5ZTAwYjQ5YWRl
NTBjYjYwNGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL2xpYkdMRVN2Ml9hdXRvZ2VuLmRlZgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL2xpYkdMRVN2Ml9hdXRvZ2VuLmRlZgpAQCAtNjAyLDYgKzYwMiw4IEBAIEVY
UE9SVFMKICAgICA7IEdMX0NIUk9NSVVNX2xvc2VfY29udGV4dAogICAgIGdsTG9zZUNvbnRleHRD
SFJPTUlVTQogCisgICAgOyBHTF9FWFRfRUdMX2ltYWdlX2FycmF5CisKICAgICA7IEdMX0VYVF9i
bGVuZF9mdW5jX2V4dGVuZGVkCiAgICAgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkVYVAogICAgIGds
QmluZEZyYWdEYXRhTG9jYXRpb25JbmRleGVkRVhUCkBAIC03MjAsNiArNzIyLDggQEAgRVhQT1JU
UwogCiAgICAgOyBHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgKIAorICAgIDsgR0xfRVhU
X3RleHR1cmVfc1JHQl9SOAorCiAgICAgOyBHTF9FWFRfdGV4dHVyZV9zdG9yYWdlCiAgICAgZ2xU
ZXhTdG9yYWdlMURFWFQKICAgICBnbFRleFN0b3JhZ2UyREVYVApAQCAtMTY3Miw4ICsxNjc2LDEw
IEBAIEVYUE9SVFMKICAgICA7IEVHTF9BTkdMRV9zd2FwX3dpdGhfZnJhbWVfdG9rZW4KICAgICBF
R0xfU3dhcEJ1ZmZlcnNXaXRoRnJhbWVUb2tlbkFOR0xFCiAKKyAgICA7IEVHTF9BTkdMRV9zeW5j
X2NvbnRyb2xfcmF0ZQorICAgIEVHTF9HZXRNc2NSYXRlQU5HTEUKKwogICAgIDsgRUdMX0NIUk9N
SVVNX3N5bmNfY29udHJvbAotICAgIEVHTF9HZXRNc2NSYXRlQ0hST01JVU0KICAgICBFR0xfR2V0
U3luY1ZhbHVlc0NIUk9NSVVNCiAKICAgICA7IEVHTF9FWFRfZGV2aWNlX3F1ZXJ5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2xpYkdMRVN2Ml9ub19j
YXB0dXJlX2F1dG9nZW4uZGVmIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2
Mi9saWJHTEVTdjJfbm9fY2FwdHVyZV9hdXRvZ2VuLmRlZgppbmRleCBlZmQzODc1ZjZjZTE3ZDJl
NTBjN2Q2MjEyOWQxMTczMWI2M2U5ZWZjLi4zYWNlZTViNjI2NWI3NWQxNmQwZDU1YWRmMzNlMjVl
NjU4NjllNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL2xpYkdMRVN2Ml9ub19jYXB0dXJlX2F1dG9nZW4uZGVmCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvbGliR0xFU3YyX25vX2NhcHR1cmVfYXV0b2dlbi5kZWYK
QEAgLTYwMiw2ICs2MDIsOCBAQCBFWFBPUlRTCiAgICAgOyBHTF9DSFJPTUlVTV9sb3NlX2NvbnRl
eHQKICAgICBnbExvc2VDb250ZXh0Q0hST01JVU0KIAorICAgIDsgR0xfRVhUX0VHTF9pbWFnZV9h
cnJheQorCiAgICAgOyBHTF9FWFRfYmxlbmRfZnVuY19leHRlbmRlZAogICAgIGdsQmluZEZyYWdE
YXRhTG9jYXRpb25FWFQKICAgICBnbEJpbmRGcmFnRGF0YUxvY2F0aW9uSW5kZXhlZEVYVApAQCAt
NzIwLDYgKzcyMiw4IEBAIEVYUE9SVFMKIAogICAgIDsgR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JH
UkE4ODg4CiAKKyAgICA7IEdMX0VYVF90ZXh0dXJlX3NSR0JfUjgKKwogICAgIDsgR0xfRVhUX3Rl
eHR1cmVfc3RvcmFnZQogICAgIGdsVGV4U3RvcmFnZTFERVhUCiAgICAgZ2xUZXhTdG9yYWdlMkRF
WFQKQEAgLTE2NzIsOCArMTY3NiwxMCBAQCBFWFBPUlRTCiAgICAgOyBFR0xfQU5HTEVfc3dhcF93
aXRoX2ZyYW1lX3Rva2VuCiAgICAgRUdMX1N3YXBCdWZmZXJzV2l0aEZyYW1lVG9rZW5BTkdMRQog
CisgICAgOyBFR0xfQU5HTEVfc3luY19jb250cm9sX3JhdGUKKyAgICBFR0xfR2V0TXNjUmF0ZUFO
R0xFCisKICAgICA7IEVHTF9DSFJPTUlVTV9zeW5jX2NvbnRyb2wKLSAgICBFR0xfR2V0TXNjUmF0
ZUNIUk9NSVVNCiAgICAgRUdMX0dldFN5bmNWYWx1ZXNDSFJPTUlVTQogCiAgICAgOyBFR0xfRVhU
X2RldmljZV9xdWVyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkdMRVN2Mi9saWJHTEVTdjJfd2l0aF9jYXB0dXJlX2F1dG9nZW4uZGVmIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9saWJHTEVTdjJfd2l0aF9jYXB0dXJlX2F1dG9nZW4u
ZGVmCmluZGV4IDdkYjI0M2ZmNzU4ZmExNzRhZWFiMjdlMjExZTViMzU1NjhiZjZiNzIuLmU4Y2Mw
ZDkwZjhmOWY3N2ExNjJlMDAzYzlhYmY3M2U2NjBmYmU0YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvbGliR0xFU3YyX3dpdGhfY2FwdHVyZV9hdXRv
Z2VuLmRlZgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2xpYkdM
RVN2Ml93aXRoX2NhcHR1cmVfYXV0b2dlbi5kZWYKQEAgLTYwMiw2ICs2MDIsOCBAQCBFWFBPUlRT
CiAgICAgOyBHTF9DSFJPTUlVTV9sb3NlX2NvbnRleHQKICAgICBnbExvc2VDb250ZXh0Q0hST01J
VU0KIAorICAgIDsgR0xfRVhUX0VHTF9pbWFnZV9hcnJheQorCiAgICAgOyBHTF9FWFRfYmxlbmRf
ZnVuY19leHRlbmRlZAogICAgIGdsQmluZEZyYWdEYXRhTG9jYXRpb25FWFQKICAgICBnbEJpbmRG
cmFnRGF0YUxvY2F0aW9uSW5kZXhlZEVYVApAQCAtNzIwLDYgKzcyMiw4IEBAIEVYUE9SVFMKIAog
ICAgIDsgR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4CiAKKyAgICA7IEdMX0VYVF90ZXh0
dXJlX3NSR0JfUjgKKwogICAgIDsgR0xfRVhUX3RleHR1cmVfc3RvcmFnZQogICAgIGdsVGV4U3Rv
cmFnZTFERVhUCiAgICAgZ2xUZXhTdG9yYWdlMkRFWFQKQEAgLTE2NzIsOCArMTY3NiwxMCBAQCBF
WFBPUlRTCiAgICAgOyBFR0xfQU5HTEVfc3dhcF93aXRoX2ZyYW1lX3Rva2VuCiAgICAgRUdMX1N3
YXBCdWZmZXJzV2l0aEZyYW1lVG9rZW5BTkdMRQogCisgICAgOyBFR0xfQU5HTEVfc3luY19jb250
cm9sX3JhdGUKKyAgICBFR0xfR2V0TXNjUmF0ZUFOR0xFCisKICAgICA7IEVHTF9DSFJPTUlVTV9z
eW5jX2NvbnRyb2wKLSAgICBFR0xfR2V0TXNjUmF0ZUNIUk9NSVVNCiAgICAgRUdMX0dldFN5bmNW
YWx1ZXNDSFJPTUlVTQogCiAgICAgOyBFR0xfRVhUX2RldmljZV9xdWVyeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9wcm9jX3RhYmxlX2VnbF9hdXRv
Z2VuLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcHJvY190YWJs
ZV9lZ2xfYXV0b2dlbi5jcHAKaW5kZXggZTYwNzFiNDRkMjk5ZTYzMDJjMmMzZDUzZjA1ODQ0OTkw
ZWE0YTQzYy4uNWMxMDQ2MjIyNjMxNjE4NzFkNjIzZWZiOWE4NmQwOTgwNzI4N2MwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9wcm9jX3RhYmxlX2Vn
bF9hdXRvZ2VuLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3Yy
L3Byb2NfdGFibGVfZWdsX2F1dG9nZW4uY3BwCkBAIC03MSw3ICs3MSw3IEBAIFByb2NFbnRyeSBn
X3Byb2NUYWJsZVtdID0gewogICAgIHsiZWdsR2V0RXJyb3IiLCBQKEVHTF9HZXRFcnJvcil9LAog
ICAgIHsiZWdsR2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEIiwgUChFR0xfR2V0RnJh
bWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEKX0sCiAgICAgeyJlZ2xHZXRGcmFtZVRpbWVzdGFt
cHNBTkRST0lEIiwgUChFR0xfR2V0RnJhbWVUaW1lc3RhbXBzQU5EUk9JRCl9LAotICAgIHsiZWds
R2V0TXNjUmF0ZUNIUk9NSVVNIiwgUChFR0xfR2V0TXNjUmF0ZUNIUk9NSVVNKX0sCisgICAgeyJl
Z2xHZXRNc2NSYXRlQU5HTEUiLCBQKEVHTF9HZXRNc2NSYXRlQU5HTEUpfSwKICAgICB7ImVnbEdl
dE5hdGl2ZUNsaWVudEJ1ZmZlckFORFJPSUQiLCBQKEVHTF9HZXROYXRpdmVDbGllbnRCdWZmZXJB
TkRST0lEKX0sCiAgICAgeyJlZ2xHZXROZXh0RnJhbWVJZEFORFJPSUQiLCBQKEVHTF9HZXROZXh0
RnJhbWVJZEFORFJPSUQpfSwKICAgICB7ImVnbEdldFBsYXRmb3JtRGlzcGxheSIsIFAoRUdMX0dl
dFBsYXRmb3JtRGlzcGxheSl9LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL0JVSUxELmduIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL0JV
SUxELmduCmluZGV4IDU5NzcyYjczZGU1YjA2NmYwZjljZWNjNTA3MWMzNmExYjYzODA2NTguLjdi
ZjE1OTg0Y2U1YmY5NjA5MDhkNDc4MDZjMmFiYzk1MWMyMjZiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9CVUlMRC5nbgorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvQlVJTEQuZ24KQEAgLTkzLDYgKzkzLDEwIEBAIHRlbXBsYXRl
KCJhbmdsZV9jb21tb25fdGVzdF91dGlscyIpIHsKICAgICAgICAgInRlc3RfdXRpbHMvYW5nbGVf
dGVzdF9pbnN0YW50aWF0ZV9hcHBsZS5tbSIsCiAgICAgICBdCiAgICAgfQorICAgIGRhdGFfZGVw
cyA9IFtdCisgICAgaWYgKGFuZ2xlX2VuYWJsZV92dWxrYW4pIHsKKyAgICAgIGRhdGFfZGVwcyAr
PSBbICIkYW5nbGVfcm9vdC9zcmMvY29tbW9uL3Z1bGthbjp2dWxrYW5fdmFsaWRhdGlvbl9sYXll
cnMiIF0KKyAgICB9CiAgIH0KIH0KIApAQCAtMTc1LDYgKzE3OSw3IEBAIGlmIChpc193aW4gfHwg
aXNfbGludXggfHwgaXNfbWFjIHx8IGlzX2FuZHJvaWQgfHwgaXNfZnVjaHNpYSkgewogICAgICAg
ICAidGVzdF91dGlscy9WdWxrYW5FeHRlcm5hbEhlbHBlci5oIiwKICAgICAgIF0KICAgICAgIGRl
cHMgKz0gWworICAgICAgICAiJGFuZ2xlX3Jvb3Qvc3JjL2NvbW1vbi92dWxrYW4iLAogICAgICAg
ICAiJGFuZ2xlX3Jvb3Qvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbjphbmdsZV92dWxrYW5f
ZW50cnlfcG9pbnRzIiwKICAgICAgIF0KICAgICB9CkBAIC0yODUsMTMgKzI5MCw1MCBAQCBpZiAo
aXNfd2luIHx8IGlzX2xpbnV4IHx8IGlzX2FuZHJvaWQgfHwgaXNfbWFjIHx8IGlzX2Z1Y2hzaWEp
IHsKICAgYW5nbGVfc291cmNlX3NldCgiYW5nbGVfdHJhY2VfcGVyZnRlc3RzIikgewogICAgIHRl
c3Rvbmx5ID0gdHJ1ZQogICAgIGlmIChidWlsZF9hbmdsZV90cmFjZV9wZXJmX3Rlc3RzKSB7Ci0g
ICAgICBpbXBvcnQoInBlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvYW5nbGVfdHJhY2VfcGVy
Zl90ZXN0cy5nbmkiKQotICAgICAgc291cmNlcyA9IGFuZ2xlX3RyYWNlX3BlcmZfc291cmNlcwot
ICAgICAgZGVmaW5lcyA9IGFuZ2xlX3RyYWNlX3BlcmZfZGVmaW5lcwotICAgICAgZGF0YSA9IGFu
Z2xlX3RyYWNlX3BlcmZfZGF0YQorICAgICAgIyBJbXBvcnRzICJhbmdsZV9yZXN0cmljdGVkX3Ry
YWNlcyIKKyAgICAgIGltcG9ydCgicGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9yZXN0cmlj
dGVkX3RyYWNlc19hdXRvZ2VuLmduaSIpCisgICAgICBzb3VyY2VzID0gWworICAgICAgICAicGVy
Zl90ZXN0cy9UcmFjZVBlcmZUZXN0LmNwcCIsCisgICAgICAgICJwZXJmX3Rlc3RzL3Jlc3RyaWN0
ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRfdHJhY2VzX2F1dG9nZW4uaCIsCisgICAgICBdCisKKyAgICAg
IGlmIChpc19hbmRyb2lkKSB7CisgICAgICAgIF90cmFjZV9kYXRhX3BhdGggPSAiL3NkY2FyZC9j
aHJvbWl1bV90ZXN0c19yb290L3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy90ZXN0cy9wZXJmX3Rlc3Rz
L3Jlc3RyaWN0ZWRfdHJhY2VzIgorICAgICAgfSBlbHNlIHsKKyAgICAgICAgX3RyYWNlX2RhdGFf
cGF0aCA9CisgICAgICAgICAgICByZWJhc2VfcGF0aCgicGVyZl90ZXN0cy9yZXN0cmljdGVkX3Ry
YWNlcyIsIHJvb3Rfb3V0X2RpcikKKyAgICAgIH0KKworICAgICAgZGVmaW5lcyA9IFsgIkFOR0xF
X1RSQUNFX0RBVEFfRElSPVwiJHtfdHJhY2VfZGF0YV9wYXRofVwiIiBdCisgICAgICBkYXRhID0g
W10KKworICAgICAgZm9yZWFjaChfdGVzdF9pbmZvLCBhbmdsZV9yZXN0cmljdGVkX3RyYWNlcykg
eworICAgICAgICBfdGVzdF9hbmRfY3R4ID0gW10KKyAgICAgICAgX3Rlc3RfYW5kX2N0eCA9IHN0
cmluZ19zcGxpdChfdGVzdF9pbmZvKQorICAgICAgICBfdGVzdCA9IF90ZXN0X2FuZF9jdHhbMF0K
KyAgICAgICAgX2N0eCA9IF90ZXN0X2FuZF9jdHhbMV0KKyAgICAgICAgX3Rlc3RfZGlyID0gInBl
cmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvJHtfdGVzdH0iCisgICAgICAgIF90ZXN0X2N0eCA9
ICIke190ZXN0X2Rpcn0vJHtfdGVzdH1fY2FwdHVyZV9jb250ZXh0JHtfY3R4fSIKKworICAgICAg
ICAjIFNpbWlsYXIgdG8gY2FwdHVyZSByZXBsYXkgc2FtcGxlLCB1c2UgdGhlIGZpbGUgaW5kZXgg
Zm9yIHNvdXJjZXMKKyAgICAgICAgc291cmNlcyArPQorICAgICAgICAgICAgcmViYXNlX3BhdGgo
cmVhZF9maWxlKCIke190ZXN0X2N0eH1fZmlsZXMudHh0IiwgImxpc3QgbGluZXMiKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICIuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICIke190ZXN0
X2Rpcn0iKSArCisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICIke190ZXN0X2N0eH0uY3Bw
IiwKKyAgICAgICAgICAgICAgIiR7X3Rlc3RfY3R4fS5oIiwKKyAgICAgICAgICAgIF0KKworICAg
ICAgICBkZWZpbmVzICs9CisgICAgICAgICAgICBbICJBTkdMRV9UUkFDRV9EQVRBX0RJUl8ke190
ZXN0fT1cIiR7X3RyYWNlX2RhdGFfcGF0aH0vJHtfdGVzdH1cIiIgXQorICAgICAgICBkYXRhICs9
IFsgIiR7X3Rlc3RfZGlyfS8ke190ZXN0fV9jYXB0dXJlX2NvbnRleHQke19jdHh9LmFuZ2xlZGF0
YS5neiIgXQorICAgICAgfQorCiAgICAgICBkZXBzID0gWwogICAgICAgICAiOmFuZ2xlX3BlcmZ0
ZXN0c19zaGFyZWQiLAogICAgICAgICAiJGFuZ2xlX3Jvb3Q6YW5nbGVfY29tcHJlc3Npb24iLAor
ICAgICAgICAiJGFuZ2xlX3Jvb3QvdXRpbDphbmdsZV9wbmdfdXRpbHMiLAogICAgICAgXQogICAg
ICAgc3VwcHJlc3NlZF9jb25maWdzICs9CiAgICAgICAgICAgWyAiJGFuZ2xlX3Jvb3Q6Y29uc3Ry
dWN0b3JfYW5kX2Rlc3RydWN0b3Jfd2FybmluZ3MiIF0KQEAgLTM2OCw3ICs0MTAsMTAgQEAgaWYg
KGJ1aWxkX2FuZ2xlX2dsZXMxX2NvbmZvcm1fdGVzdHMpIHsKICAgICBkZWZpbmVzID0gWwogICAg
ICAgIkNPTU1PTiIsCiAgICAgICAiQ09ORk9STV9BTFRFUk5BVEVfTUFJTiIsCi0gICAgICAiTlVM
TFdTIiwKKworICAgICAgIyBOVUxMV1MgZGVmaW5lcyBpcyBvbmx5IHVzZWQgaW4gY292ZWdsL25h
dGl2ZS5oLCByZW1vdmUgaGVyZS4KKyAgICAgICMgaWYgbmVlZGVkIHBsZWFzZSBhZGQgaXQgaW4g
YW5nbGVfdGVzdCgiYW5nbGVfZ2xlczFfY292ZWdsX25vX2d0ZXN0IikgZGVmaW5lcy4KKyAgICAg
ICMiTlVMTFdTIiwKICAgICBdCiAKICAgICAjIFRoaXMgaXMgdXNlZCBieSB0aGUgdGVzdHMgdG8g
dHlwZWRlZiB1aW50MzJfdC4gRm9yIHNvbWUgcmVhc29uIG9ubHkgbmVlZGVkIG9uIG1hYy4KQEAg
LTM5Nyw2ICs0NDIsMjkgQEAgaWYgKGJ1aWxkX2FuZ2xlX2dsZXMxX2NvbmZvcm1fdGVzdHMpIHsK
ICAgfQogCiAgICMgVGhpcyBzb3VyY2Ugc2V0IGlzIGEgYml0IHNwZWNpYWwgc28gd2UgZG9uJ3Qg
dXNlIGFuZ2xlX3NvdXJjZV9zZXQuCisgIGFuZ2xlX2dsZXMxX2NvbmZvcm1fY29tbW9uX3NvdXJj
ZSA9IFsKKyAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jdGsvY3RrLmgiLAorICAgICIkZ2xlczFf
Y29uZm9ybV9yb290L2N0ay9jdGtuLmMiLAorICAgICIkZ2xlczFfY29uZm9ybV9yb290L2N0ay9n
bGV4dC5jIiwKKyAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9maXhlZC9maXhlZC5jIiwKKyAgICAi
JGdsZXMxX2NvbmZvcm1fcm9vdC9maXhlZC9mbG9hdDY0LmMiLAorICAgICIkZ2xlczFfY29uZm9y
bV9yb290L2ZpeGVkL2ludDMyLmMiLAorICAgICIkZ2xlczFfY29uZm9ybV9yb290L2ZpeGVkL2lu
dDY0LmMiLAorICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL2dsX2ZpeGVkX3BvaW50
LmgiLAorICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL2dsX3NpbmdsZV9wcmVjaXNp
b24uaCIsCisgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvcGxhdGZvcm0vbWF0aF9maXhlZC5oIiwK
KyAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9wbGF0Zm9ybS9tYXRoX2Zsb2F0LmgiLAorICAgICIk
Z2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL3BsYXRmb3JtLmgiLAorICAgICIkZ2xlczFfY29u
Zm9ybV9yb290L3BsYXRmb3JtL3BsYXRmb3JtX2dsLmgiLAorICAgICIkZ2xlczFfY29uZm9ybV9y
b290L3BsYXRmb3JtL3BsYXRmb3JtX3JhbmRvbS5oIiwKKyAgICAiJGdsZXMxX2NvbmZvcm1fcm9v
dC9wbGF0Zm9ybS9wbGF0Zm9ybV9zdGRsaWIuaCIsCisgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3Qv
cGxhdGZvcm0vcGxhdGZvcm1fdHlwZXMuaCIsCisgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvcGxh
dGZvcm0vcHJpbnRmX2ZpeGVkLmgiLAorICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3Jt
L3ByaW50Zl9mbG9hdC5oIiwKKyAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9wbGF0Zm9ybS9yYW5k
b20uYyIsCisgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvcGxhdGZvcm0vc3RkbGliX2Fuc2kuaCIs
CisgIF0KKwogICBzb3VyY2Vfc2V0KCJhbmdsZV9nbGVzMV9jb25mb3JtYW5jZV9ub19ndGVzdCIp
IHsKICAgICBjb25maWdzICs9IFsKICAgICAgICI6YW5nbGVfZ2xlczFfY29uZm9ybV9zdXBwb3J0
IiwKQEAgLTUyNCwyNyArNTkyLDkgQEAgaWYgKGJ1aWxkX2FuZ2xlX2dsZXMxX2NvbmZvcm1fdGVz
dHMpIHsKICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vY29uZm9ybXNoZWxsL3V0
aWxzLmgiLAogICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb25mb3Jtc2hlbGwv
dXRpbHQuYyIsCiAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvbmZvcm1zaGVs
bC91dGlsdC5oIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2N0ay9jdGsuaCIsCi0gICAg
ICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jdGsvY3Rrbi5jIiwKLSAgICAgICIkZ2xlczFfY29uZm9y
bV9yb290L2N0ay9nbGV4dC5jIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2ZpeGVkL2Zp
eGVkLmMiLAotICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvZml4ZWQvZmxvYXQ2NC5jIiwKLSAg
ICAgICIkZ2xlczFfY29uZm9ybV9yb290L2ZpeGVkL2ludDMyLmMiLAotICAgICAgIiRnbGVzMV9j
b25mb3JtX3Jvb3QvZml4ZWQvaW50NjQuYyIsCi0gICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9w
bGF0Zm9ybS9nbF9maXhlZF9wb2ludC5oIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L3Bs
YXRmb3JtL2dsX3NpbmdsZV9wcmVjaXNpb24uaCIsCi0gICAgICAiJGdsZXMxX2NvbmZvcm1fcm9v
dC9wbGF0Zm9ybS9tYXRoX2ZpeGVkLmgiLAotICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvcGxh
dGZvcm0vbWF0aF9mbG9hdC5oIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3Jt
L3BsYXRmb3JtLmgiLAotICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvcGxhdGZvcm0vcGxhdGZv
cm1fZ2wuaCIsCi0gICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9wbGF0Zm9ybS9wbGF0Zm9ybV9y
YW5kb20uaCIsCi0gICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9wbGF0Zm9ybS9wbGF0Zm9ybV9z
dGRsaWIuaCIsCi0gICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9wbGF0Zm9ybS9wbGF0Zm9ybV90
eXBlcy5oIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL3ByaW50Zl9maXhl
ZC5oIiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL3ByaW50Zl9mbG9hdC5o
IiwKLSAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL3JhbmRvbS5jIiwKLSAgICAg
ICIkZ2xlczFfY29uZm9ybV9yb290L3BsYXRmb3JtL3N0ZGxpYl9hbnNpLmgiLAogICAgIF0KKwor
ICAgIHNvdXJjZXMgKz0gYW5nbGVfZ2xlczFfY29uZm9ybV9jb21tb25fc291cmNlCiAgIH0KIAog
ICBhbmdsZV90ZXN0KCJhbmdsZV9nbGVzMV9jb25mb3JtYW5jZV90ZXN0cyIpIHsKQEAgLTU2Nyw2
ICs2MTcsMjMzIEBAIGlmIChidWlsZF9hbmdsZV9nbGVzMV9jb25mb3JtX3Rlc3RzKSB7CiAgICAg
ICAiJHthbmdsZV9yb290fTphbmdsZV9iYWNrZW5kX2NvbmZpZyIsCiAgICAgXQogICB9CisKKyAg
aWYgKCFpc193aW4gJiYgIWlzX21hYykgeworICAgIHNvdXJjZV9zZXQoImFuZ2xlX2dsZXMxX2Nv
dmdsX25vX2d0ZXN0IikgeworICAgICAgY29uZmlncyArPSBbCisgICAgICAgICI6YW5nbGVfZ2xl
czFfY29uZm9ybV9zdXBwb3J0IiwKKyAgICAgICAgIiRhbmdsZV9yb290OmludGVybmFsX2NvbmZp
ZyIsCisgICAgICBdCisKKyAgICAgIHB1YmxpY19jb25maWdzID0gWworICAgICAgICAiJGFuZ2xl
X3Jvb3QvdXRpbDphbmdsZV91dGlsX2NvbmZpZyIsCisgICAgICAgICIkYW5nbGVfcm9vdDphbmds
ZV9zdGF0aWMiLAorICAgICAgICAiJGFuZ2xlX3Jvb3Q6Z2xfcHJvdG90eXBlcyIsCisgICAgICBd
CisKKyAgICAgIHRlc3Rvbmx5ID0gdHJ1ZQorCisgICAgICBwdWJsaWNfZGVwcyA9IFsKKyAgICAg
ICAgIiRhbmdsZV9yb290OmFuZ2xlX2NvbW1vbiIsCisgICAgICAgICIkYW5nbGVfcm9vdDpsaWJF
R0xfc3RhdGljIiwKKyAgICAgICAgIiRhbmdsZV9yb290OmxpYkdMRVN2MV9DTV9zdGF0aWMiLAor
ICAgICAgICAiJGFuZ2xlX3Jvb3Q6bGliR0xFU3YyX3N0YXRpYyIsCisgICAgICAgICIkYW5nbGVf
cm9vdDpwcmVwcm9jZXNzb3IiLAorICAgICAgICAiJGFuZ2xlX3Jvb3Q6dHJhbnNsYXRvciIsCisg
ICAgICAgICIkYW5nbGVfcm9vdC91dGlsOmFuZ2xlX3V0aWxfc3RhdGljIiwKKyAgICAgIF0KKwor
ICAgICAgc291cmNlcyA9IFsKKyAgICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9j
b3ZnbC9hLmMiLAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL2Iu
YyIsCisgICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vY292Z2wvYy5jIiwKKyAg
ICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb3ZnbC9kLmMiLAorICAgICAgICAi
JGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL2RhdGEuYyIsCisgICAgICAgICIkZ2xl
czFfY29uZm9ybV9yb290L2NvbmZvcm0vY292Z2wvZS5jIiwKKyAgICAgICAgIiRnbGVzMV9jb25m
b3JtX3Jvb3QvY29uZm9ybS9jb3ZnbC9lbnVtLmMiLAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1f
cm9vdC9jb25mb3JtL2NvdmdsL2YuYyIsCisgICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2Nv
bmZvcm0vY292Z2wvZy5jIiwKKyAgICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9j
b3ZnbC9oLmMiLAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL2ku
YyIsCisgICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vY292Z2wvbC5jIiwKKyAg
ICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb3ZnbC9tLmMiLAorICAgICAgICAi
JGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL24uYyIsCisgICAgICAgICIkZ2xlczFf
Y29uZm9ybV9yb290L2NvbmZvcm0vY292Z2wvby5jIiwKKyAgICAgICAgIiRnbGVzMV9jb25mb3Jt
X3Jvb3QvY29uZm9ybS9jb3ZnbC9wLmMiLAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9j
b25mb3JtL2NvdmdsL3EuYyIsCisgICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0v
Y292Z2wvci5jIiwKKyAgICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb3ZnbC9z
LmMiLAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL3NoZWxsLmgi
LAorICAgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmdsL3QuYyIsCisgICAg
ICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vY292Z2wvdi5jIiwKKyAgICAgICAgIiRn
bGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb3ZnbC93LmMiLAorICAgICAgXQorCisgICAgICBz
b3VyY2VzICs9IGFuZ2xlX2dsZXMxX2NvbmZvcm1fY29tbW9uX3NvdXJjZQorCisgICAgICBkZWZp
bmVzID0gWyAiUHJvYmVFbnVtPVByb2JlRW51bUFOR0xFIiBdCisgICAgfQorCisgICAgYW5nbGVf
dGVzdCgiYW5nbGVfZ2xlczFfY292Z2xfdGVzdHMiKSB7CisgICAgICBkZXBzID0gWworICAgICAg
ICAiOmFuZ2xlX2NvbW1vbl90ZXN0X3V0aWxzX3N0YXRpYyIsCisgICAgICAgICI6YW5nbGVfZ2xl
czFfY292Z2xfbm9fZ3Rlc3QiLAorICAgICAgXQorCisgICAgICBpbmNsdWRlX2RpcnMgPSBbICIu
IiBdCisKKyAgICAgIHNvdXJjZXMgPSBbCisgICAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2Nv
bmZvcm0vY292Z2wvc2hlbGwuYyIsCisgICAgICAgICJnbGVzMV9jb25mb3JtYW5jZV90ZXN0cy9D
b3ZnbFRlc3RzLmNwcCIsCisgICAgICAgICJ0ZXN0X3V0aWxzL0FOR0xFVGVzdC5jcHAiLAorICAg
ICAgICAidGVzdF91dGlscy9BTkdMRVRlc3QuaCIsCisgICAgICBdCisgICAgICBtYWluID0gImFu
Z2xlX2VuZDJlbmRfdGVzdHNfbWFpbiIKKworICAgICAgY29uZmlncyArPSBbCisgICAgICAgICI6
YW5nbGVfZ2xlczFfY29uZm9ybV9zdXBwb3J0IiwKKyAgICAgICAgIiR7YW5nbGVfcm9vdH06bGli
QU5HTEVfY29uZmlnIiwKKyAgICAgICAgIiR7YW5nbGVfcm9vdH06YW5nbGVfYmFja2VuZF9jb25m
aWciLAorICAgICAgXQorICAgIH0KKyAgfQorICBzb3VyY2Vfc2V0KCJhbmdsZV9nbGVzMV9wcmlt
dGVzdF9ub19ndGVzdCIpIHsKKyAgICBjb25maWdzICs9IFsKKyAgICAgICI6YW5nbGVfZ2xlczFf
Y29uZm9ybV9zdXBwb3J0IiwKKyAgICAgICIkYW5nbGVfcm9vdDppbnRlcm5hbF9jb25maWciLAor
ICAgIF0KKworICAgIHB1YmxpY19jb25maWdzID0gWworICAgICAgIiRhbmdsZV9yb290L3V0aWw6
YW5nbGVfdXRpbF9jb25maWciLAorICAgICAgIiRhbmdsZV9yb290OmFuZ2xlX3N0YXRpYyIsCisg
ICAgICAiJGFuZ2xlX3Jvb3Q6Z2xfcHJvdG90eXBlcyIsCisgICAgXQorCisgICAgdGVzdG9ubHkg
PSB0cnVlCisKKyAgICBwdWJsaWNfZGVwcyA9IFsKKyAgICAgICIkYW5nbGVfcm9vdDphbmdsZV9j
b21tb24iLAorICAgICAgIiRhbmdsZV9yb290OmxpYkVHTF9zdGF0aWMiLAorICAgICAgIiRhbmds
ZV9yb290OmxpYkdMRVN2MV9DTV9zdGF0aWMiLAorICAgICAgIiRhbmdsZV9yb290OmxpYkdMRVN2
Ml9zdGF0aWMiLAorICAgICAgIiRhbmdsZV9yb290OnByZXByb2Nlc3NvciIsCisgICAgICAiJGFu
Z2xlX3Jvb3Q6dHJhbnNsYXRvciIsCisgICAgICAiJGFuZ2xlX3Jvb3QvdXRpbDphbmdsZV91dGls
X3N0YXRpYyIsCisgICAgXQorCisgICAgc291cmNlcyA9IFsKKyAgICAgICIkZ2xlczFfY29uZm9y
bV9yb290L2NvbmZvcm0vcHJpbXRlc3QvYWxpYXMuYyIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1f
cm9vdC9jb25mb3JtL3ByaW10ZXN0L2FscGhhLmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jv
b3QvY29uZm9ybS9wcmltdGVzdC9ibGVuZC5jIiwKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290
L2NvbmZvcm0vcHJpbXRlc3QvZGVwdGguYyIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9j
b25mb3JtL3ByaW10ZXN0L2RpdGhlci5jIiwKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2Nv
bmZvcm0vcHJpbXRlc3QvZHJpdmVyLmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29u
Zm9ybS9wcmltdGVzdC9kcml2ZXIuaCIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25m
b3JtL3ByaW10ZXN0L2ZvZy5jIiwKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0v
cHJpbXRlc3QvaGludC5jIiwKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vcHJp
bXRlc3QvbGlnaHQuYyIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL3ByaW10
ZXN0L2xvZ2ljLmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVz
dC9wcmltLmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVzdC9z
Y2lzc29yLmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVzdC9z
aGFkZS5jIiwKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vcHJpbXRlc3Qvc2hl
bGwuYyIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL3ByaW10ZXN0L3NoZWxs
LmgiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVzdC9zdGVuY2ls
LmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVzdC90ZXh0dXJl
LmMiLAorICAgICAgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9wcmltdGVzdC90cHJvdG8u
aCIsCisgICAgXQorCisgICAgc291cmNlcyArPSBhbmdsZV9nbGVzMV9jb25mb3JtX2NvbW1vbl9z
b3VyY2UKKyAgfQorCisgIGFuZ2xlX3Rlc3QoImFuZ2xlX2dsZXMxX3ByaW10ZXN0X3Rlc3RzIikg
eworICAgIGRlcHMgPSBbCisgICAgICAiOmFuZ2xlX2NvbW1vbl90ZXN0X3V0aWxzX3N0YXRpYyIs
CisgICAgICAiOmFuZ2xlX2dsZXMxX3ByaW10ZXN0X25vX2d0ZXN0IiwKKyAgICBdCisKKyAgICBp
bmNsdWRlX2RpcnMgPSBbCisgICAgICAiLiIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9j
b25mb3JtIiwKKyAgICBdCisKKyAgICBzb3VyY2VzID0gWworICAgICAgImdsZXMxX2NvbmZvcm1h
bmNlX3Rlc3RzL1ByaW10ZXN0VGVzdHMuY3BwIiwKKyAgICAgICJ0ZXN0X3V0aWxzL0FOR0xFVGVz
dC5jcHAiLAorICAgICAgInRlc3RfdXRpbHMvQU5HTEVUZXN0LmgiLAorICAgIF0KKyAgICBtYWlu
ID0gImFuZ2xlX2VuZDJlbmRfdGVzdHNfbWFpbiIKKworICAgIGNvbmZpZ3MgKz0gWworICAgICAg
IjphbmdsZV9nbGVzMV9jb25mb3JtX3N1cHBvcnQiLAorICAgICAgIiR7YW5nbGVfcm9vdH06bGli
QU5HTEVfY29uZmlnIiwKKyAgICAgICIke2FuZ2xlX3Jvb3R9OmFuZ2xlX2JhY2tlbmRfY29uZmln
IiwKKyAgICBdCisgIH0KKyAgc291cmNlX3NldCgiYW5nbGVfZ2xlczFfY292ZWdsX25vX2d0ZXN0
X3NvdXJjZSIpIHsKKyAgICBjb25maWdzICs9IFsKKyAgICAgICI6YW5nbGVfZ2xlczFfY29uZm9y
bV9zdXBwb3J0IiwKKyAgICAgICIkYW5nbGVfcm9vdDppbnRlcm5hbF9jb25maWciLAorICAgIF0K
KworICAgIHB1YmxpY19jb25maWdzID0gWworICAgICAgIiRhbmdsZV9yb290L3V0aWw6YW5nbGVf
dXRpbF9jb25maWciLAorICAgICAgIiRhbmdsZV9yb290OmFuZ2xlX3N0YXRpYyIsCisgICAgICAi
JGFuZ2xlX3Jvb3Q6Z2xfcHJvdG90eXBlcyIsCisgICAgXQorCisgICAgdGVzdG9ubHkgPSB0cnVl
CisKKyAgICBwdWJsaWNfZGVwcyA9IFsKKyAgICAgICIkYW5nbGVfcm9vdDphbmdsZV9jb21tb24i
LAorICAgICAgIiRhbmdsZV9yb290OmxpYkVHTF9zdGF0aWMiLAorICAgICAgIiRhbmdsZV9yb290
OmxpYkdMRVN2MV9DTV9zdGF0aWMiLAorICAgICAgIiRhbmdsZV9yb290OmxpYkdMRVN2Ml9zdGF0
aWMiLAorICAgICAgIiRhbmdsZV9yb290OnByZXByb2Nlc3NvciIsCisgICAgICAiJGFuZ2xlX3Jv
b3Q6dHJhbnNsYXRvciIsCisgICAgICAiJGFuZ2xlX3Jvb3QvdXRpbDphbmdsZV91dGlsX3N0YXRp
YyIsCisgICAgXQorCisgICAgc291cmNlcyA9IFsKKyAgICAgICIkZ2xlczFfY29uZm9ybV9yb290
L2NvbmZvcm0vY292ZWdsL2VudW0uYyIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25m
b3JtL2NvdmVnbC9uYXRpdmUuaCIsCisgICAgICAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3Jt
L2NvdmVnbC90ZXN0LmMiLAorICAgIF0KKworICAgIHNvdXJjZXMgKz0gYW5nbGVfZ2xlczFfY29u
Zm9ybV9jb21tb25fc291cmNlCisKKyAgICBpZiAoIWlzX3dpbiAmJiAhaXNfbGludXgpIHsKKyAg
ICAgIGRlZmluZXMgPSBbICJOVUxMV1MiIF0KKyAgICB9CisgIH0KKworICBhbmdsZV90ZXN0KCJh
bmdsZV9nbGVzMV9jb3ZlZ2xfbm9fZ3Rlc3QiKSB7CisgICAgZGVwcyA9IFsgIjphbmdsZV9nbGVz
MV9jb3ZlZ2xfbm9fZ3Rlc3Rfc291cmNlIiBdCisKKyAgICBpbmNsdWRlX2RpcnMgPSBbICIkZ2xl
czFfY29uZm9ybV9yb290IiBdCisKKyAgICBzb3VyY2VzID0gWyAiJGdsZXMxX2NvbmZvcm1fcm9v
dC9jb25mb3JtL2NvdmVnbC9zaGVsbC5jIiBdCisKKyAgICBpZiAoaXNfd2luKSB7CisgICAgICBz
b3VyY2VzICs9IFsgIiRnbGVzMV9jb25mb3JtX3Jvb3QvY29uZm9ybS9jb3ZlZ2wvbmF0aXZlX3cz
Mi5jIiBdCisgICAgfSBlbHNlIGlmIChpc19saW51eCkgeworICAgICAgc291cmNlcyArPSBbICIk
Z2xlczFfY29uZm9ybV9yb290L2NvbmZvcm0vY292ZWdsL25hdGl2ZS5jIiBdCisgICAgfSBlbHNl
IHsKKyAgICAgIHNvdXJjZXMgKz0gWyAiJGdsZXMxX2NvbmZvcm1fcm9vdC9jb25mb3JtL2NvdmVn
bC9uYXRpdmVfbndzLmMiIF0KKyAgICAgIGRlZmluZXMgKz0gWyAiTlVMTFdTIiBdCisgICAgfQor
CisgICAgY29uZmlncyArPSBbCisgICAgICAiJHthbmdsZV9yb290fTpsaWJBTkdMRV9jb25maWci
LAorICAgICAgIiR7YW5nbGVfcm9vdH06YW5nbGVfYmFja2VuZF9jb25maWciLAorICAgIF0KKwor
ICAgIGRlZmluZXMgKz0gWyAiQ09NTU9OIiBdCisKKyAgICBpZiAoaXNfd2luKSB7CisgICAgICBp
ZiAoaXNfY2xhbmcpIHsKKyAgICAgICAgY2ZsYWdzID0gWyAiLVduby1pbmNvbXBhdGlibGUtcG9p
bnRlci10eXBlcyIgXQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgY2ZsYWdzID0gWyAiL3dkNDEz
MyIgXSAgIyAnZnVuY3Rpb24nOiBpbmNvbXBhdGlibGUgdHlwZXMKKyAgICAgIH0KKworICAgICAg
c3VwcHJlc3NlZF9jb25maWdzICs9IFsKKyAgICAgICAgIi8vYnVpbGQvY29uZmlnL3dpbjpsZWFu
X2FuZF9tZWFuIiwKKyAgICAgICAgIi8vYnVpbGQvY29uZmlnL3dpbjpub21pbm1heCIsCisgICAg
ICAgICIvL2J1aWxkL2NvbmZpZy93aW46dW5pY29kZSIsCisgICAgICBdCisgICAgfQorICB9CiB9
CiAKICMjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCkBAIC03MjQsNiArMTAwMSwyNyBAQCBpZiAoYnVpbGRfYW5nbGVfZGVxcF90ZXN0cyAmJiAh
aXNfZnVjaHNpYSkgewogICAgIHNvdXJjZXMgPSBkZXFwX2ZyYW1ld29ya19kZWNwcF9zb3VyY2Vz
CiAgIH0KIAorICBjb25maWcoImFuZ2xlX2RlcXBfZnJhbWV3b3JrX3hleG1sX2NvbmZpZyIpIHsK
KyAgICBpbmNsdWRlX2RpcnMgPSBbICIkZGVxcF9wYXRoL2ZyYW1ld29yay94ZXhtbCIgXQorICB9
CisKKyAgYW5nbGVfZGVxcF9zb3VyY2Vfc2V0KCJhbmdsZV9kZXFwX2ZyYW1ld29ya194ZXhtbCIp
IHsKKyAgICBwdWJsaWNfY29uZmlncyArPSBbCisgICAgICAiOmFuZ2xlX2RlcXBfc3VwcG9ydCIs
CisgICAgICAiOmFuZ2xlX2RlcXBfZnJhbWV3b3JrX2RlY3BwX2NvbmZpZyIsCisgICAgICAiOmFu
Z2xlX2RlcXBfZnJhbWV3b3JrX2RlbGlic19jb25maWciLAorICAgICAgIi8vYnVpbGQvY29uZmln
L2NvbXBpbGVyOmV4Y2VwdGlvbnMiLAorICAgICAgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOm5v
X2Nocm9taXVtX2NvZGUiLAorICAgIF0KKworICAgIHB1YmxpY19kZXBzID0gWworICAgICAgIjph
bmdsZV9kZXFwX2ZyYW1ld29ya19kZWJhc2UiLAorICAgICAgIjphbmdsZV9kZXFwX2ZyYW1ld29y
a19kZWNwcCIsCisgICAgICAiOmFuZ2xlX2RlcXBfZnJhbWV3b3JrX2RlbGlicyIsCisgICAgXQor
ICAgIHNvdXJjZXMgPSBkZXFwX2ZyYW1ld29ya194ZXhtbF9zb3VyY2VzCisgIH0KKwogICBjb25m
aWcoImFuZ2xlX2RlcXBfbGlidGVzdGVyX2NvbmZpZyIpIHsKICAgICBkZWZpbmVzID0gWyAiQU5H
TEVfREVRUF9MSUJURVNURVJfSU1QTEVNRU5UQVRJT04iIF0KIApAQCAtNzgyLDYgKzEwODAsNyBA
QCBpZiAoYnVpbGRfYW5nbGVfZGVxcF90ZXN0cyAmJiAhaXNfZnVjaHNpYSkgewogICAgIHB1Ymxp
Y19kZXBzID0gWwogICAgICAgIjphbmdsZV9kZXFwX2ZyYW1ld29ya19kZWNwcCIsCiAgICAgICAi
OmFuZ2xlX2RlcXBfZnJhbWV3b3JrX3FwaGVscGVyIiwKKyAgICAgICI6YW5nbGVfZGVxcF9mcmFt
ZXdvcmtfeGV4bWwiLAogICAgIF0KICAgfQogCkBAIC0xMDc3LDYgKzEzNzYsMTMgQEAgZ3JvdXAo
ImFuZ2xlX3Rlc3RzIikgewogICAgIH0KICAgfQogICBpZiAoYnVpbGRfYW5nbGVfZ2xlczFfY29u
Zm9ybV90ZXN0cykgewotICAgIGRlcHMgKz0gWyAiOmFuZ2xlX2dsZXMxX2NvbmZvcm1hbmNlX3Rl
c3RzIiBdCisgICAgZGVwcyArPSBbCisgICAgICAiOmFuZ2xlX2dsZXMxX2NvbmZvcm1hbmNlX3Rl
c3RzIiwKKyAgICAgICI6YW5nbGVfZ2xlczFfY292ZWdsX25vX2d0ZXN0IiwKKyAgICAgICI6YW5n
bGVfZ2xlczFfcHJpbXRlc3RfdGVzdHMiLAorICAgIF0KKyAgICBpZiAoIWlzX3dpbiAmJiAhaXNf
bWFjKSB7CisgICAgICBkZXBzICs9IFsgIjphbmdsZV9nbGVzMV9jb3ZnbF90ZXN0cyIgXQorICAg
IH0KICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2FuZ2xlX2VuZDJlbmRfdGVzdHMuZ25pIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2FuZ2xlX2VuZDJlbmRfdGVzdHMuZ25pCmluZGV4IDNiZjk4NzU3YjVjNmU5MzM1NTRkNzVh
Y2Y1ZmJjY2JlNGMzZmUyODYuLjhkMDkzYTc3YjM1MzU4ZDgyMjRkMjlhYTE0ZTk4YTI1MGEzYjk5
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9hbmdsZV9l
bmQyZW5kX3Rlc3RzLmduaQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
YW5nbGVfZW5kMmVuZF90ZXN0cy5nbmkKQEAgLTIxLDE4ICsyMSwyMSBAQCBhbmdsZV9lbmQyZW5k
X3Rlc3RzX3NvdXJjZXMgPSBbCiAgICJlZ2xfdGVzdHMvRUdMU3VyZmFjZVRlc3QuY3BwIiwKICAg
ImVnbF90ZXN0cy9FR0xTdXJmYWNlbGVzc0NvbnRleHRUZXN0LmNwcCIsCiAgICJlZ2xfdGVzdHMv
RUdMU3luY1Rlc3QuY3BwIiwKKyAgImdsX3Rlc3RzL0FjdGl2ZVRleHR1cmVDYWNoZVRlc3QuY3Bw
IiwKICAgImdsX3Rlc3RzL0F0b21pY0NvdW50ZXJCdWZmZXJUZXN0LmNwcCIsCiAgICJnbF90ZXN0
cy9BdHRyaWJ1dGVMYXlvdXRUZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9CUFRDQ29tcHJlc3NlZFRl
eHR1cmVUZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9CaW5kR2VuZXJhdGVzUmVzb3VyY2VUZXN0LmNw
cCIsCiAgICJnbF90ZXN0cy9CaW5kVW5pZm9ybUxvY2F0aW9uVGVzdC5jcHAiLAogICAiZ2xfdGVz
dHMvQmxlbmRGdW5jRXh0ZW5kZWRUZXN0LmNwcCIsCisgICJnbF90ZXN0cy9CbGVuZEludGVnZXJU
ZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9CbGVuZE1pbk1heFRlc3QuY3BwIiwKICAgImdsX3Rlc3Rz
L0JsaXRGcmFtZWJ1ZmZlckFOR0xFVGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvQnVmZmVyRGF0YVRl
c3QuY3BwIiwKICAgImdsX3Rlc3RzL0J1aWx0aW5WYXJpYWJsZVRlc3QuY3BwIiwKICAgImdsX3Rl
c3RzL0NsZWFyVGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvQ2xpZW50QXJyYXlzVGVzdC5jcHAiLAor
ICAiZ2xfdGVzdHMvQ2xpcERpc3RhbmNlVGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvQ29sb3JNYXNr
VGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvQ29tcHV0ZVNoYWRlclRlc3QuY3BwIiwKICAgImdsX3Rl
c3RzL0NvbnRleHRMb3N0VGVzdC5jcHAiLApAQCAtNTEsNiArNTQsNyBAQCBhbmdsZV9lbmQyZW5k
X3Rlc3RzX3NvdXJjZXMgPSBbCiAgICJnbF90ZXN0cy9EaWZmZXJlbnRTdGVuY2lsTWFza3NUZXN0
LmNwcCIsCiAgICJnbF90ZXN0cy9EaXNjYXJkRnJhbWVidWZmZXJFWFRUZXN0LmNwcCIsCiAgICJn
bF90ZXN0cy9EcmF3QmFzZVZlcnRleEJhc2VJbnN0YW5jZVRlc3QuY3BwIiwKKyAgImdsX3Rlc3Rz
L0RyYXdCYXNlVmVydGV4VmFyaWFudHNUZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9EcmF3QnVmZmVy
c1Rlc3QuY3BwIiwKICAgImdsX3Rlc3RzL0RyYXdFbGVtZW50c1Rlc3QuY3BwIiwKICAgImdsX3Rl
c3RzL0VUQ1RleHR1cmVUZXN0LmNwcCIsCkBAIC0xMDYsNiArMTEwLDcgQEAgYW5nbGVfZW5kMmVu
ZF90ZXN0c19zb3VyY2VzID0gWwogICAiZ2xfdGVzdHMvU1JHQlRleHR1cmVUZXN0LmNwcCIsCiAg
ICJnbF90ZXN0cy9TYW1wbGVyc1Rlc3QuY3BwIiwKICAgImdsX3Rlc3RzL1NlbWFwaG9yZVRlc3Qu
Y3BwIiwKKyAgImdsX3Rlc3RzL1NoYWRlckludGVycFRlc3QuY3BwIiwKICAgImdsX3Rlc3RzL1No
YWRlck5vbkNvbnN0R2xvYmFsSW5pdGlhbGl6ZXJUZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9TaGFk
ZXJTdG9yYWdlQnVmZmVyVGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvU2ltcGxlT3BlcmF0aW9uVGVz
dC5jcHAiLApAQCAtMTE0LDYgKzExOSw3IEBAIGFuZ2xlX2VuZDJlbmRfdGVzdHNfc291cmNlcyA9
IFsKICAgImdsX3Rlc3RzL1N3aXp6bGVUZXN0LmNwcCIsCiAgICJnbF90ZXN0cy9TeW5jUXVlcmll
c1Rlc3QuY3BwIiwKICAgImdsX3Rlc3RzL1RleHR1cmVFeHRlcm5hbFVwZGF0ZVRlc3QuY3BwIiwK
KyAgImdsX3Rlc3RzL1RleHR1cmVGaWx0ZXJpbmdIaW50VGVzdC5jcHAiLAogICAiZ2xfdGVzdHMv
VGV4dHVyZU11bHRpc2FtcGxlVGVzdC5jcHAiLAogICAiZ2xfdGVzdHMvVGV4dHVyZVJlY3Rhbmds
ZVRlc3QuY3BwIiwKICAgImdsX3Rlc3RzL1RleHR1cmVUZXN0LmNwcCIsCkBAIC0xNjgsNiArMTc0
LDcgQEAgYW5nbGVfZW5kMmVuZF90ZXN0c19tYWNfc291cmNlcyA9IFsKIF0KIGFuZ2xlX2VuZDJl
bmRfdGVzdHNfd2luX3NvdXJjZXMgPSBbCiAgICJlZ2xfdGVzdHMvRUdMRGV2aWNlVGVzdC5jcHAi
LAorICAiZWdsX3Rlc3RzL0VHTERpc3BsYXlMdWlkVGVzdC5jcHAiLAogICAiZWdsX3Rlc3RzL0VH
TFByZXNlbnRQYXRoRDNEMTFUZXN0LmNwcCIsCiAgICJlZ2xfdGVzdHMvRUdMU3RyZWFtVGVzdC5j
cHAiLAogICAiZWdsX3Rlc3RzL0VHTFN5bmNDb250cm9sVGVzdC5jcHAiLApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2FuZ2xlX3VuaXR0ZXN0cy5nbmkgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvYW5nbGVfdW5pdHRlc3RzLmduaQppbmRl
eCBmMDRlOTQyMDMwZjk4ZmExZGI4MGQ2YTFlNmQzNzYxYWFkMDI5MDhjLi5hMTQ2NWNjZjY3M2Nm
YmM1YjFiNjI5NDg2ZTNiZjQyMzY0YjYxYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvYW5nbGVfdW5pdHRlc3RzLmduaQorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvYW5nbGVfdW5pdHRlc3RzLmduaQpAQCAtMzksNiArMzksNyBA
QCBhbmdsZV91bml0dGVzdHNfc291cmNlcyA9IFsKICAgIi4uL2xpYkFOR0xFL1ZhcnlpbmdQYWNr
aW5nX3VuaXR0ZXN0LmNwcCIsCiAgICIuLi9saWJBTkdMRS9WZXJ0ZXhBcnJheV91bml0dGVzdC5j
cHAiLAogICAiLi4vbGliQU5HTEUvV29ya2VyVGhyZWFkX3VuaXR0ZXN0LmNwcCIsCisgICIuLi9s
aWJBTkdMRS9hbmdsZXR5cGVzX3VuaXR0ZXN0LmNwcCIsCiAgICIuLi9saWJBTkdMRS9yZW5kZXJl
ci9CdWZmZXJJbXBsX21vY2suaCIsCiAgICIuLi9saWJBTkdMRS9yZW5kZXJlci9GcmFtZWJ1ZmZl
ckltcGxfbW9jay5oIiwKICAgIi4uL2xpYkFOR0xFL3JlbmRlcmVyL0ltYWdlSW1wbF9tb2NrLmgi
LApAQCAtNDksNiArNTAsNyBAQCBhbmdsZV91bml0dGVzdHNfc291cmNlcyA9IFsKICAgIi4uL2xp
YkFOR0xFL3JlbmRlcmVyL3NlcmlhbF91dGlsc191bml0dGVzdC5jcHAiLAogICAiYW5nbGVfdW5p
dHRlc3RzX3V0aWxzLmgiLAogICAiY29tcGlsZXJfdGVzdHMvQVBJX3Rlc3QuY3BwIiwKKyAgImNv
bXBpbGVyX3Rlc3RzL0FQUExFX2NsaXBfZGlzdGFuY2VfdGVzdC5jcHAiLAogICAiY29tcGlsZXJf
dGVzdHMvQVJCX3RleHR1cmVfcmVjdGFuZ2xlX3Rlc3QuY3BwIiwKICAgImNvbXBpbGVyX3Rlc3Rz
L0FwcGVuZGl4QUxpbWl0YXRpb25zX3Rlc3QuY3BwIiwKICAgImNvbXBpbGVyX3Rlc3RzL0F0b21p
Y0NvdW50ZXJfdGVzdC5jcHAiLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL0FQUExFX2NsaXBfZGlzdGFuY2VfdGVzdC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvQVBQTEVfY2xp
cF9kaXN0YW5jZV90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjBhZTI4NzQxODU3ZmRlMzQwNjVkZGY5
MzA2YmVjMDhjYzk3YmZiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL0FQUExFX2NsaXBfZGlzdGFuY2VfdGVzdC5jcHAK
QEAgLTAsMCArMSwxMzUgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVj
dCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyBBUFBMRV9jbGlwX2Rpc3RhbmNlX3Rlc3Qu
Y3BwOgorLy8gICBUZXN0IGZvciBBUFBMRV9jbGlwX2Rpc3RhbmNlCisvLworCisjaW5jbHVkZSAi
dGVzdHMvdGVzdF91dGlscy9TaGFkZXJFeHRlbnNpb25UZXN0LmgiCisKK25hbWVzcGFjZQorewor
Y29uc3QgY2hhciBFWFRQcmFnbWFbXSA9ICIjZXh0ZW5zaW9uIEdMX0FQUExFX2NsaXBfZGlzdGFu
Y2UgOiByZXF1aXJlXG4iOworCisvLyBTaGFkZXIgdXNpbmcgZ2xfQ2xpcERpc3RhbmNlCitjb25z
dCBjaGFyIEVTU0wxMDBfQVBQTEVDbGlwRGlzdGFuY2VTaGFkZXIxW10gPQorICAgIFIiKAorICAg
IHVuaWZvcm0gdmVjNCB1UGxhbmU7CisKKyAgICBhdHRyaWJ1dGUgdmVjNCBhUG9zaXRpb247CisK
KyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhUG9zaXRpb247
CisgICAgICAgIGdsX0NsaXBEaXN0YW5jZVsxXSA9IGRvdChhUG9zaXRpb24sIHVQbGFuZSk7Cisg
ICAgfSkiOworCisvLyBTaGFkZXIgcmVkZWNsYXJlcyBnbF9DbGlwRGlzdGFuY2UKK2NvbnN0IGNo
YXIgRVNTTDEwMF9BUFBMRUNsaXBEaXN0YW5jZVNoYWRlcjJbXSA9CisgICAgUiIoCisgICAgdW5p
Zm9ybSB2ZWM0IHVQbGFuZTsKKworICAgIGF0dHJpYnV0ZSB2ZWM0IGFQb3NpdGlvbjsKKworICAg
IHZhcnlpbmcgaGlnaHAgZmxvYXQgZ2xfQ2xpcERpc3RhbmNlWzRdOworCisgICAgdm9pZCBtYWlu
KCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYVBvc2l0aW9uOworICAgICAgICBnbF9D
bGlwRGlzdGFuY2VbZ2xfTWF4Q2xpcERpc3RhbmNlcyAtIDYgKyAxXSA9IGRvdChhUG9zaXRpb24s
IHVQbGFuZSk7CisgICAgICAgIGdsX0NsaXBEaXN0YW5jZVtnbF9NYXhDbGlwRGlzdGFuY2VzIC0g
aW50KGFQb3NpdGlvbi54KV0gPSBkb3QoYVBvc2l0aW9uLCB1UGxhbmUpOworICAgIH0pIjsKKwor
Y2xhc3MgQVBQTEVDbGlwRGlzdGFuY2VUZXN0IDogcHVibGljIHNoOjpTaGFkZXJFeHRlbnNpb25U
ZXN0Cit7CisgIHB1YmxpYzoKKyAgICB2b2lkIEluaXRpYWxpemVDb21waWxlcigpIHsgSW5pdGlh
bGl6ZUNvbXBpbGVyKFNIX0dMU0xfMTMwX09VVFBVVCk7IH0KKyAgICB2b2lkIEluaXRpYWxpemVD
b21waWxlcihTaFNoYWRlck91dHB1dCBzaGFkZXJPdXRwdXRUeXBlKQorICAgIHsKKyAgICAgICAg
RGVzdHJveUNvbXBpbGVyKCk7CisKKyAgICAgICAgbUNvbXBpbGVyID0gc2g6OkNvbnN0cnVjdENv
bXBpbGVyKEdMX1ZFUlRFWF9TSEFERVIsIHRlc3Rpbmc6OmdldDwwPihHZXRQYXJhbSgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlck91dHB1dFR5cGUs
ICZtUmVzb3VyY2VzKTsKKyAgICAgICAgQVNTRVJUX1RSVUUobUNvbXBpbGVyICE9IG51bGxwdHIp
IDw8ICJDb21waWxlciBjb3VsZCBub3QgYmUgY29uc3RydWN0ZWQuIjsKKyAgICB9CisKKyAgICB0
ZXN0aW5nOjpBc3NlcnRpb25SZXN1bHQgVGVzdFNoYWRlckNvbXBpbGUoY29uc3QgY2hhciAqcHJh
Z21hKQorICAgIHsKKyAgICAgICAgY29uc3QgY2hhciAqc2hhZGVyU3RyaW5nc1tdID0ge3Rlc3Rp
bmc6OmdldDwxPihHZXRQYXJhbSgpKSwgcHJhZ21hLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdGluZzo6Z2V0PDI+KEdldFBhcmFtKCkpfTsKKyAgICAgICAgYm9v
bCBzdWNjZXNzID0gc2g6OkNvbXBpbGUobUNvbXBpbGVyLCBzaGFkZXJTdHJpbmdzLCAzLCBTSF9W
QVJJQUJMRVMgfCBTSF9PQkpFQ1RfQ09ERSk7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gOjp0ZXN0aW5nOjpBc3NlcnRpb25TdWNjZXNzKCkgPDwg
IkNvbXBpbGF0aW9uIHN1Y2Nlc3MiOworICAgICAgICB9CisgICAgICAgIHJldHVybiA6OnRlc3Rp
bmc6OkFzc2VydGlvbkZhaWx1cmUoKSA8PCBzaDo6R2V0SW5mb0xvZyhtQ29tcGlsZXIpOworICAg
IH0KK307CisKKy8vIEV4dGVuc2lvbiBmbGFnIGlzIHJlcXVpcmVkIHRvIGNvbXBpbGUgcHJvcGVy
bHkuIEV4cGVjdCBmYWlsdXJlIHdoZW4gaXQgaXMKKy8vIG5vdCBwcmVzZW50LgorVEVTVF9QKEFQ
UExFQ2xpcERpc3RhbmNlVGVzdCwgQ29tcGlsZUZhaWxzV2l0aG91dEV4dGVuc2lvbikKK3sKKyAg
ICBtUmVzb3VyY2VzLkFQUExFX2NsaXBfZGlzdGFuY2UgPSAwOworICAgIEluaXRpYWxpemVDb21w
aWxlcigpOworICAgIEVYUEVDVF9GQUxTRShUZXN0U2hhZGVyQ29tcGlsZShFWFRQcmFnbWEpKTsK
K30KKworLy8gRXh0ZW5zaW9uIGRpcmVjdGl2ZSBpcyByZXF1aXJlZCB0byBjb21waWxlIHByb3Bl
cmx5LiBFeHBlY3QgZmFpbHVyZSB3aGVuCisvLyBpdCBpcyBub3QgcHJlc2VudC4KK1RFU1RfUChB
UFBMRUNsaXBEaXN0YW5jZVRlc3QsIENvbXBpbGVGYWlsc1dpdGhFeHRlbnNpb25XaXRob3V0UHJh
Z21hKQoreworICAgIG1SZXNvdXJjZXMuQVBQTEVfY2xpcF9kaXN0YW5jZSA9IDE7CisgICAgSW5p
dGlhbGl6ZUNvbXBpbGVyKCk7CisgICAgRVhQRUNUX0ZBTFNFKFRlc3RTaGFkZXJDb21waWxlKCIi
KSk7Cit9CisKKy8vIFdpdGggZXh0ZW5zaW9uIGZsYWcgYW5kIGV4dGVuc2lvbiBkaXJlY3RpdmUs
IGNvbXBpbGluZyBzdWNjZWVkcy4KKy8vIEFsc28gdGVzdCB0aGF0IHRoZSBleHRlbnNpb24gZGly
ZWN0aXZlIHN0YXRlIGlzIHJlc2V0IGNvcnJlY3RseS4KK1RFU1RfUChBUFBMRUNsaXBEaXN0YW5j
ZVRlc3QsIENvbXBpbGVTdWNjZWVkc1dpdGhFeHRlbnNpb25BbmRQcmFnbWEpCit7CisgICAgbVJl
c291cmNlcy5BUFBMRV9jbGlwX2Rpc3RhbmNlID0gMTsKKyAgICBtUmVzb3VyY2VzLk1heENsaXBE
aXN0YW5jZXMgICAgPSA4OworICAgIEluaXRpYWxpemVDb21waWxlcigpOworICAgIEVYUEVDVF9U
UlVFKFRlc3RTaGFkZXJDb21waWxlKEVYVFByYWdtYSkpOworICAgIC8vIFRlc3QgcmVzZXQgZnVu
Y3Rpb25hbGl0eS4KKyAgICBFWFBFQ1RfRkFMU0UoVGVzdFNoYWRlckNvbXBpbGUoIiIpKTsKKyAg
ICBFWFBFQ1RfVFJVRShUZXN0U2hhZGVyQ29tcGlsZShFWFRQcmFnbWEpKTsKK30KKworI2lmIGRl
ZmluZWQoQU5HTEVfRU5BQkxFX1ZVTEtBTikKKy8vIFdpdGggZXh0ZW5zaW9uIGZsYWcgYW5kIGV4
dGVuc2lvbiBkaXJlY3RpdmUsIGNvbXBpbGluZyB1c2luZyBUcmFuc2xhdG9yVnVsa2FuIHN1Y2Nl
ZWRzLgorVEVTVF9QKEFQUExFQ2xpcERpc3RhbmNlVGVzdCwgQ29tcGlsZVN1Y2NlZWRzVnVsa2Fu
KQoreworICAgIG1SZXNvdXJjZXMuQVBQTEVfY2xpcF9kaXN0YW5jZSA9IDE7CisgICAgbVJlc291
cmNlcy5NYXhDbGlwRGlzdGFuY2VzICAgID0gODsKKworICAgIEluaXRpYWxpemVDb21waWxlcihT
SF9HTFNMX1ZVTEtBTl9PVVRQVVQpOworICAgIEVYUEVDVF9UUlVFKFRlc3RTaGFkZXJDb21waWxl
KEVYVFByYWdtYSkpOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEFOR0xFX0VOQUJMRV9NRVRB
TCkKKy8vIFdpdGggZXh0ZW5zaW9uIGZsYWcgYW5kIGV4dGVuc2lvbiBkaXJlY3RpdmUsIGNvbXBp
bGluZyB1c2luZyBUcmFuc2xhdG9yTWV0YWwgc3VjY2VlZHMuCitURVNUX1AoQVBQTEVDbGlwRGlz
dGFuY2VUZXN0LCBDb21waWxlU3VjY2VlZHNNZXRhbCkKK3sKKyAgICBtUmVzb3VyY2VzLkFQUExF
X2NsaXBfZGlzdGFuY2UgPSAxOworICAgIG1SZXNvdXJjZXMuTWF4Q2xpcERpc3RhbmNlcyAgICA9
IDg7CisKKyAgICBJbml0aWFsaXplQ29tcGlsZXIoU0hfR0xTTF9NRVRBTF9PVVRQVVQpOworICAg
IEVYUEVDVF9UUlVFKFRlc3RTaGFkZXJDb21waWxlKEVYVFByYWdtYSkpOworfQorI2VuZGlmCisK
Ky8vIFRoZSBTTCAjdmVyc2lvbiAxMDAgc2hhZGVycyB0aGF0IGFyZSBjb3JyZWN0IHdvcmsgc2lt
aWxhcmx5CisvLyBpbiBib3RoIEdMMiBhbmQgR0wzLCB3aXRoIGFuZCB3aXRob3V0IHRoZSB2ZXJz
aW9uIHN0cmluZy4KK0lOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChDb3JyZWN0RVNTTDEwMFNoYWRl
cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgQVBQTEVDbGlwRGlzdGFuY2VUZXN0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIENvbWJpbmUoVmFsdWVzKFNIX0dMRVMyX1NQRUMpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVzKHNoOjpFU1NMVmVyc2lvbjEwMCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZXMoRVNTTDEwMF9BUFBMRUNs
aXBEaXN0YW5jZVNoYWRlcjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRVNTTDEwMF9BUFBMRUNsaXBEaXN0YW5jZVNoYWRlcjIpKSk7CisKK30gIC8vIGFub255bW91
cyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9jb21waWxlcl90ZXN0cy9JbW11dGFibGVTdHJpbmdfdGVzdF9FU1NMX2F1dG9nZW4uY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL0ltbXV0YWJs
ZVN0cmluZ190ZXN0X0VTU0xfYXV0b2dlbi5jcHAKaW5kZXggNGYwNDM2NTdjMjMyN2MyNTBkMmFj
YmYzMmQ1NzVmZmNmN2NmNDUwNi4uNjJhYzFjMGE4NzU2Y2ZiOGRiYTYyNzQ4MDNhMGJiMWRhN2Fi
ZWM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBp
bGVyX3Rlc3RzL0ltbXV0YWJsZVN0cmluZ190ZXN0X0VTU0xfYXV0b2dlbi5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL0ltbXV0YWJsZVN0
cmluZ190ZXN0X0VTU0xfYXV0b2dlbi5jcHAKQEAgLTE2LDk5MSArMTYsOTkzIEBAIG5hbWVzcGFj
ZSBzaAogCiBURVNUKEltbXV0YWJsZVN0cmluZ1Rlc3QsIFNjcmlwdEdlbmVyYXRlZEhhc2hlc01h
dGNoKQogewotICAgIEFTU0VSVF9FUSgweDAwMDAwMjgzdSwgSW1tdXRhYmxlU3RyaW5nKCJyYWRp
YW5zKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE1NHUs
IEltbXV0YWJsZVN0cmluZygicmFkaWFucygxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAxMTF1LCBJbW11dGFibGVTdHJpbmcoInJhZGlhbnMoMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2JidSwgSW1tdXRhYmxlU3Ry
aW5nKCJyYWRpYW5zKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDFlY3UsIEltbXV0YWJsZVN0cmluZygiZGVncmVlcygwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzl1LCBJbW11dGFibGVTdHJpbmcoImRlZ3JlZXMo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWRldSwgSW1t
dXRhYmxlU3RyaW5nKCJkZWdyZWVzKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDE3OHUsIEltbXV0YWJsZVN0cmluZygiZGVncmVlcygzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjV1LCBJbW11dGFibGVTdHJpbmco
InNpbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMTh1
LCBJbW11dGFibGVTdHJpbmcoInNpbigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyM2F1LCBJbW11dGFibGVTdHJpbmcoInNpbigyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMTd1LCBJbW11dGFibGVTdHJpbmcoInNp
bigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMjR1LCBJ
bW11dGFibGVTdHJpbmcoImNvcygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzNzR1LCBJbW11dGFibGVTdHJpbmcoImNvcygxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYjl1LCBJbW11dGFibGVTdHJpbmcoImNvcygy
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyY2Z1LCBJbW11
dGFibGVTdHJpbmcoImNvcygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAyMWJ1LCBJbW11dGFibGVTdHJpbmcoInRhbigwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNmJ1LCBJbW11dGFibGVTdHJpbmcoInRhbigxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYmR1LCBJbW11dGFi
bGVTdHJpbmcoInRhbigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwZmJ1LCBJbW11dGFibGVTdHJpbmcoInRhbigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNDh1LCBJbW11dGFibGVTdHJpbmcoImFzaW4oMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzk3dSwgSW1tdXRhYmxl
U3RyaW5nKCJhc2luKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDI4NXUsIEltbXV0YWJsZVN0cmluZygicmFkaWFucygwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTV1LCBJbW11dGFibGVTdHJpbmcoInJhZGlhbnMo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTEydSwgSW1t
dXRhYmxlU3RyaW5nKCJyYWRpYW5zKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDNiZHUsIEltbXV0YWJsZVN0cmluZygicmFkaWFucygzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZWV1LCBJbW11dGFibGVTdHJpbmco
ImRlZ3JlZXMoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzNidSwgSW1tdXRhYmxlU3RyaW5nKCJkZWdyZWVzKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDFlMHUsIEltbXV0YWJsZVN0cmluZygiZGVncmVlcygyMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNzl1LCBJbW11dGFi
bGVTdHJpbmcoImRlZ3JlZXMoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzY3dSwgSW1tdXRhYmxlU3RyaW5nKCJzaW4oMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjFhdSwgSW1tdXRhYmxlU3RyaW5nKCJzaW4oMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjNjdSwgSW1tdXRh
YmxlU3RyaW5nKCJzaW4oMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTE4dSwgSW1tdXRhYmxlU3RyaW5nKCJzaW4oMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMjI2dSwgSW1tdXRhYmxlU3RyaW5nKCJjb3MoMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzc2dSwgSW1tdXRhYmxl
U3RyaW5nKCJjb3MoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwM2JidSwgSW1tdXRhYmxlU3RyaW5nKCJjb3MoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMmQxdSwgSW1tdXRhYmxlU3RyaW5nKCJjb3MoMzBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjFkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0YW4oMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzZkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0YW4oMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwM2JmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0YW4oMjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGZjdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0YW4oMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjRh
dSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDM5OXUsIEltbXV0YWJsZVN0cmluZygiYXNpbigxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMWF1LCBJbW11dGFibGVTdHJpbmco
ImFzaW4oMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTQy
dSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDA2NXUsIEltbXV0YWJsZVN0cmluZygiYWNvcygwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMDN1LCBJbW11dGFibGVTdHJpbmco
ImFjb3MoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmEz
dSwgSW1tdXRhYmxlU3RyaW5nKCJhY29zKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDE3NnUsIEltbXV0YWJsZVN0cmluZygiYWNvcygzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMDZ1LCBJbW11dGFibGVTdHJpbmco
ImF0YW4oMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MTQzdSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA2NnUsIEltbXV0YWJsZVN0cmluZygiYWNvcygwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMDV1LCBJbW11dGFibGVTdHJp
bmcoImFjb3MoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MmE1dSwgSW1tdXRhYmxlU3RyaW5nKCJhY29zKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE3N3UsIEltbXV0YWJsZVN0cmluZygiYWNvcygzMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMDh1LCBJbW11dGFibGVTdHJp
bmcoImF0YW4oMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMDM0dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFkYXUsIEltbXV0YWJsZVN0cmluZygiYXRhbigyMEIy
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxM2R1LCBJbW11
dGFibGVTdHJpbmcoImF0YW4oMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMWY0dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuKDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA3NXUsIEltbXV0YWJsZVN0cmluZygiYXRh
bigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwOGJ1LCBJ
bW11dGFibGVTdHJpbmcoImF0YW4oMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzQwdSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJhNXUsIEltbXV0YWJsZVN0cmluZygic2lu
aCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzM2Z1LCBJ
bW11dGFibGVTdHJpbmcoInNpbmgoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMThmdSwgSW1tdXRhYmxlU3RyaW5nKCJzaW5oKDIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBmM3UsIEltbXV0YWJsZVN0cmluZygic2lu
aCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNjd1LCBJ
bW11dGFibGVTdHJpbmcoImNvc2goMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzIydSwgSW1tdXRhYmxlU3RyaW5nKCJjb3NoKDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1M3UsIEltbXV0YWJsZVN0cmluZygiY29z
aCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyN2V1LCBJ
bW11dGFibGVTdHJpbmcoImNvc2goMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMWRjdSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuKDIwQjIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEzZXUsIEltbXV0YWJsZVN0cmluZygi
YXRhbigzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
ZjZ1LCBJbW11dGFibGVTdHJpbmcoImF0YW4oMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMDc2dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuKDEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA4Y3UsIEltbXV0YWJsZVN0cmlu
ZygiYXRhbigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
NDJ1LCBJbW11dGFibGVTdHJpbmcoImF0YW4oMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMmE3dSwgSW1tdXRhYmxlU3RyaW5nKCJzaW5oKDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0MXUsIEltbXV0YWJsZVN0cmlu
Zygic2luaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
OTF1LCBJbW11dGFibGVTdHJpbmcoInNpbmgoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMGY0dSwgSW1tdXRhYmxlU3RyaW5nKCJzaW5oKDMwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2OHUsIEltbXV0YWJsZVN0cmlu
ZygiY29zaCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
MjR1LCBJbW11dGFibGVTdHJpbmcoImNvc2goMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzU1dSwgSW1tdXRhYmxlU3RyaW5nKCJjb3NoKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI4MHUsIEltbXV0YWJsZVN0cmlu
ZygiY29zaCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAw
NGJ1LCBJbW11dGFibGVTdHJpbmcoInRhbmgoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMTc3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0YW5oKDEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI5NnUsIEltbXV0YWJsZVN0cmlu
ZygidGFuaCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
Nzh1LCBJbW11dGFibGVTdHJpbmcoInRhbmgoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMjk4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0YW5oKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwZXUsIEltbXV0YWJsZVN0cmlu
ZygidGFuaCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
Nzh1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDNjMXUsIEltbXV0YWJsZVN0cmluZygiYXNpbmgoMTBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGY4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJhc2luaCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyMWZ1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDE4YnUsIEltbXV0YWJsZVN0cmluZygiYWNvc2goMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGIxdSwgSW1tdXRhYmxl
U3RyaW5nKCJhY29zaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAyN2F1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjM3UsIEltbXV0YWJsZVN0cmluZygiYXNpbmgoMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGY5dSwgSW1tdXRh
YmxlU3RyaW5nKCJhc2luaCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyMjF1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4ZHUsIEltbXV0YWJsZVN0cmluZygiYWNvc2go
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGIydSwgSW1t
dXRhYmxlU3RyaW5nKCJhY29zaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwMWZ1LCBJbW11dGFibGVTdHJpbmcoImFjb3NoKDIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJiZnUsIEltbXV0YWJsZVN0cmluZygiYWNv
c2goMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDg2dSwg
SW1tdXRhYmxlU3RyaW5nKCJhdGFuaCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAyYzF1LCBJbW11dGFibGVTdHJpbmcoImFjb3NoKDMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA4N3UsIEltbXV0YWJsZVN0cmluZygi
YXRhbmgoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDIw
dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAyZTZ1LCBJbW11dGFibGVTdHJpbmcoImF0YW5oKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFhNXUsIEltbXV0YWJsZVN0cmlu
ZygiYXRhbmgoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MTlmdSwgSW1tdXRhYmxlU3RyaW5nKCJwb3coMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDkydSwgSW1tdXRhYmxlU3RyaW5nKCJwb3coMTBCMTBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzFhdSwgSW1tdXRhYmxl
U3RyaW5nKCJwb3coMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjJkdSwgSW1tdXRhYmxlU3RyaW5nKCJwb3coMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzI3dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDdjdSwgSW1tdXRh
YmxlU3RyaW5nKCJleHAoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTg4dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmIwdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmI3dSwgSW1tdXRhYmxl
U3RyaW5nKCJsb2coMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMThjdSwgSW1tdXRhYmxlU3RyaW5nKCJsb2coMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTQxdSwgSW1tdXRhYmxlU3RyaW5nKCJsb2coMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGQydSwgSW1tdXRhYmxlU3Ry
aW5nKCJsb2coMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
M2JhdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAyKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDEwMHUsIEltbXV0YWJsZVN0cmluZygiZXhwMigxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNTJ1LCBJbW11dGFibGVTdHJp
bmcoImV4cDIoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MjZmdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAyKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE3MnUsIEltbXV0YWJsZVN0cmluZygibG9nMigwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwOGZ1LCBJbW11dGFibGVTdHJp
bmcoImxvZzIoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MzMzdSwgSW1tdXRhYmxlU3RyaW5nKCJsb2cyKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFjN3UsIEltbXV0YWJsZVN0cmluZygibG9nMigzMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZTh1LCBJbW11dGFibGVTdHJp
bmcoInNxcnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MGJmdSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA4M3UsIEltbXV0YWJsZVN0cmluZygic3FydCgyMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMjN1LCBJbW11dGFibGVTdHJp
bmcoInNxcnQoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MmU4dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuaCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAxYTd1LCBJbW11dGFibGVTdHJpbmcoImF0YW5oKDMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFhMXUsIEltbXV0YWJsZVN0
cmluZygicG93KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDA5M3UsIEltbXV0YWJsZVN0cmluZygicG93KDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxY3UsIEltbXV0YWJsZVN0cmluZygicG93KDIwQjIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIyZnUsIEltbXV0
YWJsZVN0cmluZygicG93KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDMyOXUsIEltbXV0YWJsZVN0cmluZygiZXhwKDAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA3ZHUsIEltbXV0YWJsZVN0cmluZygiZXhwKDEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4YXUsIEltbXV0
YWJsZVN0cmluZygiZXhwKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDJiMnUsIEltbXV0YWJsZVN0cmluZygiZXhwKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJiOXUsIEltbXV0YWJsZVN0cmluZygibG9nKDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4ZXUsIEltbXV0YWJs
ZVN0cmluZygibG9nKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDE0MnUsIEltbXV0YWJsZVN0cmluZygibG9nKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDBkM3UsIEltbXV0YWJsZVN0cmluZygibG9nKDMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiY3UsIEltbXV0YWJsZVN0
cmluZygiZXhwMigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxMDF1LCBJbW11dGFibGVTdHJpbmcoImV4cDIoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTUzdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAyKDIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI3MXUsIEltbXV0YWJsZVN0
cmluZygiZXhwMigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxNzN1LCBJbW11dGFibGVTdHJpbmcoImxvZzIoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDkwdSwgSW1tdXRhYmxlU3RyaW5nKCJsb2cyKDEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzNXUsIEltbXV0YWJsZVN0
cmluZygibG9nMigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxYzl1LCBJbW11dGFibGVTdHJpbmcoImxvZzIoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWVhdSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBjMHUsIEltbXV0YWJsZVN0
cmluZygic3FydCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAwODR1LCBJbW11dGFibGVTdHJpbmcoInNxcnQoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzI1dSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA1MHUsIEltbXV0YWJsZVN0
cmluZygiaW52ZXJzZXNxcnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMzAxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNlc3FydCgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNTV1LCBJbW11dGFibGVTdHJpbmco
ImludmVyc2VzcXJ0KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDE3ZXUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJzZXNxcnQoMzBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjlidSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMo
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTc1dSwgSW1t
dXRhYmxlU3RyaW5nKCJhYnMoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzAzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNlc3FydCgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNTd1LCBJbW11dGFibGVTdHJpbmco
ImludmVyc2VzcXJ0KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDE4MHUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJzZXNxcnQoMzBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjlkdSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMo
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTc2dSwgSW1t
dXRhYmxlU3RyaW5nKCJhYnMoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMDRmdSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA3dSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjlhdSwgSW1tdXRh
YmxlU3RyaW5nKCJhYnMoMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTc0dSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMzA5dSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjljdSwgSW1tdXRhYmxl
U3RyaW5nKCJhYnMoMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMTc1dSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDRldSwgSW1tdXRhYmxlU3RyaW5nKCJhYnMoMjBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJhYnMoMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MmI2dSwgSW1tdXRhYmxlU3RyaW5nKCJzaWduKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDNhY3UsIEltbXV0YWJsZVN0cmluZygic2lnbigxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwODR1LCBJbW11dGFibGVTdHJp
bmcoInNpZ24oMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MTlkdSwgSW1tdXRhYmxlU3RyaW5nKCJzaWduKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJiYXUsIEltbXV0YWJsZVN0cmluZygic2lnbigwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMjV1LCBJbW11dGFibGVTdHJp
bmcoInNpZ24oMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MDg1dSwgSW1tdXRhYmxlU3RyaW5nKCJzaWduKDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE5ZXUsIEltbXV0YWJsZVN0cmluZygic2lnbigzMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYzN1LCBJbW11dGFibGVTdHJp
bmcoImZsb29yKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDIxN3UsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjM0dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9vcigyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMTh1LCBJbW11dGFibGVT
dHJpbmcoImZsb29yKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDBmMXUsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzk5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0cnVuYygxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjF1LCBJbW11dGFi
bGVTdHJpbmcoInRydW5jKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDIwZXUsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGQ3dSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzODF1LCBJbW11
dGFibGVTdHJpbmcoInJvdW5kKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDIzY3UsIEltbXV0YWJsZVN0cmluZygicm91bmQoMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTE0dSwgSW1tdXRhYmxlU3RyaW5nKCJyb3Vu
ZCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZTN1LCBJ
bW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAxYTN1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNDh1LCBJbW11dGFibGVT
dHJpbmcoInJvdW5kRXZlbigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzMDZ1LCBJbW11dGFibGVTdHJpbmcoImFicygzMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYjh1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2FldSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDA4NXUsIEltbXV0YWJsZVN0cmluZygic2lnbigyMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxOWZ1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmJjdSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDMyN3UsIEltbXV0YWJsZVN0cmluZygic2lnbigxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwODZ1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWEwdSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDNjNXUsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjE5dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9vcigx
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzZ1LCBJbW11
dGFibGVTdHJpbmcoImZsb29yKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDExOXUsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMzBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGYydSwgSW1tdXRhYmxlU3RyaW5nKCJ0cnVu
YygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOWJ1LCBJ
bW11dGFibGVTdHJpbmcoInRydW5jKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDM2M3UsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjEwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
cnVuYygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZDh1
LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDM4M3UsIEltbXV0YWJsZVN0cmluZygicm91bmQoMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjNldSwgSW1tdXRhYmxlU3RyaW5n
KCJyb3VuZCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
MTV1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJlNXUsIEltbXV0YWJsZVN0cmluZygicm91bmRFdmVuKDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFhNXUsIEltbXV0YWJs
ZVN0cmluZygicm91bmRFdmVuKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDE0OXUsIEltbXV0YWJsZVN0cmluZygicm91bmRFdmVuKDIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxZXUsIEltbXV0YWJsZVN0cmluZygi
cm91bmRFdmVuKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDI0OXUsIEltbXV0YWJsZVN0cmluZygiY2VpbCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNDJ1LCBJbW11dGFibGVTdHJpbmcoImNlaWwoMTBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDlkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJjZWlsKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDE1YXUsIEltbXV0YWJsZVN0cmluZygiY2VpbCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxODV1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA2NnUsIEltbXV0YWJsZVN0
cmluZygiZnJhY3QoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMzA2dSwgSW1tdXRhYmxlU3RyaW5nKCJmcmFjdCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxY2F1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDMwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFhMHUsIEltbXV0YWJs
ZVN0cmluZygibW9kKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDE2M3UsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBiYXUsIEltbXV0YWJsZVN0cmluZygibW9kKDIw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiMXUsIElt
bXV0YWJsZVN0cmluZygibW9kKDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDJjNnUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIxY3UsIEltbXV0YWJsZVN0cmluZygi
bW9kKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE5
YnUsIEltbXV0YWJsZVN0cmluZygibW9kKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFlNHUsIEltbXV0YWJsZVN0cmluZygibWluKDAwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzNXUsIEltbXV0YWJsZVN0
cmluZygibWluKDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDBiNHUsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA3N3UsIEltbXV0YWJsZVN0cmluZygibWluKDMwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA5MHUsIEltbXV0
YWJsZVN0cmluZygibWluKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDIyNXUsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA2MXUsIEltbXV0YWJsZVN0cmluZygibWlu
KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1ZXUs
IEltbXV0YWJsZVN0cmluZygibWluKDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDI0YnUsIEltbXV0YWJsZVN0cmluZygiY2VpbCgwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNDR1LCBJbW11dGFibGVTdHJpbmco
ImNlaWwoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDll
dSwgSW1tdXRhYmxlU3RyaW5nKCJjZWlsKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDE1YnUsIEltbXV0YWJsZVN0cmluZygiY2VpbCgzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxODd1LCBJbW11dGFibGVTdHJpbmco
ImZyYWN0KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA2
N3UsIEltbXV0YWJsZVN0cmluZygiZnJhY3QoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzA4dSwgSW1tdXRhYmxlU3RyaW5nKCJmcmFjdCgyMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxY2N1LCBJbW11dGFibGVTdHJp
bmcoImZyYWN0KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDFhMnUsIEltbXV0YWJsZVN0cmluZygibW9kKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NHUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBiYnUsIEltbXV0YWJs
ZVN0cmluZygibW9kKDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDFiM3UsIEltbXV0YWJsZVN0cmluZygibW9kKDMwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJjOHUsIEltbXV0YWJsZVN0cmluZygibW9kKDEw
QjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIxZXUsIElt
bXV0YWJsZVN0cmluZygibW9kKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDE5ZHUsIEltbXV0YWJsZVN0cmluZygibW9kKDMwQjMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFlNnUsIEltbXV0YWJsZVN0cmluZygi
bWluKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMz
N3UsIEltbXV0YWJsZVN0cmluZygibWluKDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDBiNXUsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA3OHUsIEltbXV0YWJsZVN0
cmluZygibWluKDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDA5MXUsIEltbXV0YWJsZVN0cmluZygibWluKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIyN3UsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA2MnUsIEltbXV0
YWJsZVN0cmluZygibWluKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDM2MHUsIEltbXV0YWJsZVN0cmluZygibWluKDAwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0OHUsIEltbXV0YWJsZVN0cmluZygibWlu
KDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4N3Us
IEltbXV0YWJsZVN0cmluZygibWluKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDI1N3UsIEltbXV0YWJsZVN0cmluZygibWluKDMwRDMwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkZnUsIEltbXV0YWJsZVN0cmlu
ZygibWluKDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDI4OXUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDI1OXUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRDMwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlMXUsIEltbXV0YWJs
ZVN0cmluZygibWluKDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDAzY3UsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhYXUsIEltbXV0YWJsZVN0cmluZygibWluKDMw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyOHUsIElt
bXV0YWJsZVN0cmluZygibWluKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM3YXUsIEltbXV0YWJsZVN0cmluZygibWluKDEwRTEwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhY3UsIEltbXV0YWJsZVN0cmluZygi
bWluKDMwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMy
YXUsIEltbXV0YWJsZVN0cmluZygibWluKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM3Y3UsIEltbXV0YWJsZVN0cmluZygibWluKDEwRTEwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxOXUsIEltbXV0YWJsZVN0
cmluZygibWluKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDFkZnUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkMXUsIEltbXV0YWJsZVN0cmluZygibWluKDEwRTAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFlZXUsIEltbXV0
YWJsZVN0cmluZygibWluKDIwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDE4N3UsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE0N3UsIEltbXV0YWJsZVN0cmluZygibWF4
KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI2OHUs
IEltbXV0YWJsZVN0cmluZygibWF4KDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDFlMXUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTMwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBkMnUsIEltbXV0YWJsZVN0cmlu
ZygibWluKDEwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDFmMHUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4OXUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE0OHUsIEltbXV0YWJs
ZVN0cmluZygibWF4KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDI2YXUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzNXUsIEltbXV0YWJsZVN0cmluZygibWF4KDIw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4NnUsIElt
bXV0YWJsZVN0cmluZygibWF4KDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM5MXUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwQjEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJhYnUsIEltbXV0YWJsZVN0cmluZygi
bWF4KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEy
N3UsIEltbXV0YWJsZVN0cmluZygibWF4KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE1OHUsIEltbXV0YWJsZVN0cmluZygibWF4KDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIyOXUsIEltbXV0YWJsZVN0
cmluZygibWF4KDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDIyN3UsIEltbXV0YWJsZVN0cmluZygibWF4KDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyOXUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRDMw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDExM3UsIEltbXV0
YWJsZVN0cmluZygibWF4KDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDBjM3UsIEltbXV0YWJsZVN0cmluZygibWF4KDIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA1N3UsIEltbXV0YWJsZVN0cmluZygibWF4
KDMwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhZHUs
IEltbXV0YWJsZVN0cmluZygibWF4KDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDEyNnUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwRTEwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2YXUsIEltbXV0YWJsZVN0cmlu
ZygibWF4KDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDFkNnUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDFmZHUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwRTAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJlMXUsIEltbXV0YWJs
ZVN0cmluZygibWF4KDIwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDE1MXUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRTAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE4MXUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAo
MDBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Ey
dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyOTV1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDIwQjAw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEwN3UsIElt
bXV0YWJsZVN0cmluZygiY2xhbXAoMzBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMjg4dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzkzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJtYXgoMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMmFkdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMTI4dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBCMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTU5dSwgSW1tdXRh
YmxlU3RyaW5nKCJtYXgoMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMjJidSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMTBEMTBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjI5dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgo
MjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzJidSwg
SW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMTE0dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGM0dSwgSW1tdXRhYmxlU3RyaW5n
KCJtYXgoMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MDU4dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2FmdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMDBFMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTI3dSwgSW1tdXRhYmxl
U3RyaW5nKCJtYXgoMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTZidSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBF
MzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWZmdSwgSW1t
dXRhYmxlU3RyaW5nKCJtYXgoMTBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMmUzdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMjBFMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTUydSwgSW1tdXRhYmxlU3RyaW5nKCJt
YXgoMzBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTgz
dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYTR1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwQjAw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI5N3UsIElt
bXV0YWJsZVN0cmluZygiY2xhbXAoMjBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMTA4dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEIwMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjJ1LCBJbW11dGFi
bGVTdHJpbmcoImNsYW1wKDEwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM1OHUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBCMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzVhdSwgSW1tdXRhYmxlU3Ry
aW5nKCJjbGFtcCgyMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwMzZ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDMwQjMwQjMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDExNnUsIEltbXV0YWJsZVN0cmluZygi
Y2xhbXAoMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMTE3dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMDN1LCBJbW11dGFibGVTdHJpbmcoImNsYW1w
KDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJl
OXUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2ExdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwOWZ1LCBJ
bW11dGFibGVTdHJpbmcoImNsYW1wKDEwRDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFmYXUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBEMjBEMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzBldSwgSW1tdXRh
YmxlU3RyaW5nKCJjbGFtcCgzMEQzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAyZWJ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDIwRDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhM3UsIEltbXV0YWJsZVN0
cmluZygiY2xhbXAoMzBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMGEwdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgxMEQxMEQxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZmN1LCBJbW11dGFibGVTdHJpbmco
ImNsYW1wKDIwRDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDMxMHUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMzBEMzBEMzBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDEzdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFt
cCgwMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
ZTd1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwRTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxNHUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBF
MDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjQ3dSwg
SW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxMjh1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwRTEwRTEw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBjMXUsIEltbXV0
YWJsZVN0cmluZygiY2xhbXAoMjBFMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMGE5dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEUzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMzZ1LCBJbW11dGFibGVT
dHJpbmcoIm1peCgwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzMGN1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEIxMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZTl1LCBJbW11dGFibGVTdHJpbmcoImNs
YW1wKDEwRTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDMxNnUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgz
MEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMjl1
LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwRTEwRTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDBjMnUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBFMjBF
MjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGFhdSwgSW1t
dXRhYmxlU3RyaW5nKCJjbGFtcCgzMEUzMEUzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAyMzh1LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEIwMEIwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMGV1LCBJbW11dGFibGVT
dHJpbmcoIm1peCgxMEIxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwMjF1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEIyMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzZ1LCBJbW11dGFibGVTdHJpbmcoIm1p
eCgzMEIzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAx
YzJ1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNjZ1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEIyMEIy
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNzV1LCBJbW11
dGFibGVTdHJpbmcoIm1peCgzMEIzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAwNTl1LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEIwMEIwMEYiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYzF1LCBJbW11dGFibGVTdHJp
bmcoIm1peCgxMEIxMEIxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAyNjN1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEIyMEIyMEYiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMTd1LCBJbW11dGFibGVTdHJpbmcoIm1peCgz
MEIzMEIzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOTh1
LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEQwMEQwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxM2N1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEQxMEQxMEYi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMzh1LCBJbW11dGFi
bGVTdHJpbmcoIm1peCgzMEIzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxYzR1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEIxMEIxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNjh1LCBJbW11dGFibGVTdHJpbmco
Im1peCgyMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzNzd1LCBJbW11dGFibGVTdHJpbmcoIm1peCgzMEIzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWF1LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEIw
MEIwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxYzN1LCBJ
bW11dGFibGVTdHJpbmcoIm1peCgxMEIxMEIxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAyNjV1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEIyMEIyMEYiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMTl1LCBJbW11dGFibGVT
dHJpbmcoIm1peCgzMEIzMEIzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAxOWF1LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEQwMEQwMEYiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxM2R1LCBJbW11dGFibGVTdHJpbmcoIm1p
eCgxMEQxMEQxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAw
NDl1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEQyMEQyMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZDh1LCBJbW11dGFibGVTdHJpbmcoIm1peCgzMEQzMEQz
MEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOTZ1LCBJbW11
dGFibGVTdHJpbmcoIm1peCgwMEUwMEUwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyMGR1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEUxMEUxMEYiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTN1LCBJbW11dGFibGVTdHJp
bmcoIm1peCgyMEUyMEUyMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwODB1LCBJbW11dGFibGVTdHJpbmcoIm1peCgzMEUzMEUzMEYiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYjh1LCBJbW11dGFibGVTdHJpbmcoIm1peCgw
MEYwMEYwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzh1
LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEYxMEYxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzMmZ1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEYyMEYyMEYi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZGF1LCBJbW11dGFi
bGVTdHJpbmcoIm1peCgzMEQzMEQzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxOTh1LCBJbW11dGFibGVTdHJpbmcoIm1peCgwMEUwMEUwMEYiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMGZ1LCBJbW11dGFibGVTdHJpbmco
Im1peCgxMEUxMEUxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzYTV1LCBJbW11dGFibGVTdHJpbmcoIm1peCgyMEUyMEUyMEYiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwODF1LCBJbW11dGFibGVTdHJpbmcoIm1peCgzMEUz
MEUzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYmF1LCBJ
bW11dGFibGVTdHJpbmcoIm1peCgwMEYwMEYwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzM2F1LCBJbW11dGFibGVTdHJpbmcoIm1peCgxMEYxMEYxMEYiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMzF1LCBJbW11dGFibGVT
dHJpbmcoIm1peCgyMEYyMEYyMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwNGF1LCBJbW11dGFibGVTdHJpbmcoIm1peCgzMEYzMEYzMEYiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYTl1LCBJbW11dGFibGVTdHJpbmcoInN0
ZXAoMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjg5
dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDI5ZHUsIEltbXV0YWJsZVN0cmluZygic3RlcCgyMEIyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyOGN1LCBJbW11dGFibGVT
dHJpbmcoInN0ZXAoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDdldSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFhYnUsIEltbXV0YWJsZVN0cmluZygic3RlcCgw
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyOGJ1LCBJ
bW11dGFibGVTdHJpbmcoInN0ZXAoMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMjlmdSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDIwQjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI4ZXUsIEltbXV0YWJsZVN0cmlu
Zygic3RlcCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAwN2Z1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAoMDBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDI2dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQjIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJiM3UsIEltbXV0
YWJsZVN0cmluZygic3RlcCgwMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzNTB1LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMDBCMDBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjJmdSwgSW1tdXRhYmxl
U3RyaW5nKCJzbW9vdGhzdGVwKDEwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDNiMHUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgyMEIyMEIy
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNTZ1LCBJbW11
dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMzBCMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWZldSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDAw
QjAwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkOHUs
IEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgwMEIwMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzF1LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0
ZXAoMDBCMDBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MmI1dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM1MnUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgw
MEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzF1
LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2IydSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhz
dGVwKDIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDM1OHUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgzMEIzMEIzMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMDB1LCBJbW11dGFibGVTdHJpbmcoInNt
b290aHN0ZXAoMDBCMDBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDAwQjAwQjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzM3UsIEltbXV0YWJsZVN0cmlu
Zygic21vb3Roc3RlcCgwMEIwMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwMDZ1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMDBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDc2dSwgSW1tdXRhYmxlU3RyaW5nKCJt
b2RmKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1
MHUsIEltbXV0YWJsZVN0cmluZygibW9kZigyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxNDR1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMzBCMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjQzdSwgSW1tdXRhYmxl
U3RyaW5nKCJpc25hbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzOGZ1LCBJbW11dGFibGVTdHJpbmcoImlzbmFuKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE0NnUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ3dSwgSW1tdXRh
YmxlU3RyaW5nKCJpc25hbigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAxYWN1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJlYnUsIEltbXV0YWJsZVN0cmluZygiaXNpbmYo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzczdSwgSW1t
dXRhYmxlU3RyaW5nKCJpc2luZigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwYzh1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhYnUsIEltbXV0YWJsZVN0cmluZygiZmxv
YXRCaXRzVG9JbnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMjY3dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb0ludCgxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwYmR1LCBJbW11dGFibGVTdHJpbmcoImZs
b2F0Qml0c1RvSW50KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDE0ZHUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9JbnQoMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2I1dSwgSW1tdXRhYmxlU3RyaW5nKCJm
bG9hdEJpdHNUb1VpbnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGU4dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb1VpbnQoMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDc3dSwgSW1tdXRhYmxlU3RyaW5n
KCJtb2RmKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDI1MnUsIEltbXV0YWJsZVN0cmluZygibW9kZigyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNDV1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMzBCMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjQ1dSwgSW1tdXRh
YmxlU3RyaW5nKCJpc25hbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzOTF1LCBJbW11dGFibGVTdHJpbmcoImlzbmFuKDEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE0N3UsIEltbXV0YWJsZVN0cmluZygiaXNuYW4o
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ5dSwgSW1t
dXRhYmxlU3RyaW5nKCJpc25hbigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxYWV1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlZHUsIEltbXV0YWJsZVN0cmluZygiaXNp
bmYoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzc1dSwg
SW1tdXRhYmxlU3RyaW5nKCJpc2luZigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAwYzl1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhZHUsIEltbXV0YWJsZVN0cmluZygi
ZmxvYXRCaXRzVG9JbnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjY5dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb0ludCgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYmV1LCBJbW11dGFibGVTdHJpbmco
ImZsb2F0Qml0c1RvSW50KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDE0ZXUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9JbnQoMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2I3dSwgSW1tdXRhYmxlU3RyaW5n
KCJmbG9hdEJpdHNUb1VpbnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMGU5dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb1VpbnQoMTBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDQ0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJmbG9hdEJpdHNUb1VpbnQoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMjc1dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb1VpbnQoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDY4dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbnRCaXRzVG9GbG9hdCgwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAxYmF1LCBJbW11dGFibGVTdHJpbmcoImludEJpdHNUb0Zsb2F0KDEwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE4NHUsIEltbXV0YWJs
ZVN0cmluZygiaW50Qml0c1RvRmxvYXQoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMDVjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRCaXRzVG9GbG9hdCgzMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNzd1LCBJbW11dGFi
bGVTdHJpbmcoImZsb2F0Qml0c1RvVWludCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAwNjl1LCBJbW11dGFibGVTdHJpbmcoImludEJpdHNUb0Zsb2F0KDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFiY3UsIEltbXV0
YWJsZVN0cmluZygiaW50Qml0c1RvRmxvYXQoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMTg2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRCaXRzVG9GbG9hdCgy
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWR1LCBJbW11
dGFibGVTdHJpbmcoImludEJpdHNUb0Zsb2F0KDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDAzZXUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0
KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NHUsIElt
bXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDJjMnUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zs
b2F0KDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NXUs
IEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJjNHUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNU
b0Zsb2F0KDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAy
OHUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDMwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4Y3UsIEltbXV0YWJsZVN0cmluZygiZm1hKDAw
QjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE5MHUs
IEltbXV0YWJsZVN0cmluZygiZm1hKDEwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJhOXUsIEltbXV0YWJsZVN0cmluZygiZm1hKDIwQjIwQjIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzZXUsIEltbXV0YWJs
ZVN0cmluZygiZm1hKDMwQjMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDA5OHUsIEltbXV0YWJsZVN0cmluZygiZnJleHAoMDBCMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWZjdSwgSW1tdXRhYmxlU3RyaW5nKCJm
cmV4cCgxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAx
ODN1LCBJbW11dGFibGVTdHJpbmcoImZyZXhwKDIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDFkZHUsIEltbXV0YWJsZVN0cmluZygiZnJleHAoMzBCMzBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzhldSwgSW1tdXRh
YmxlU3RyaW5nKCJmbWEoMDBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMTkydSwgSW1tdXRhYmxlU3RyaW5nKCJmbWEoMTBCMTBCMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmFidSwgSW1tdXRhYmxlU3RyaW5n
KCJmbWEoMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMzQwdSwgSW1tdXRhYmxlU3RyaW5nKCJmbWEoMzBCMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDk5dSwgSW1tdXRhYmxlU3RyaW5nKCJmcmV4cCgw
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZmV1LCBJ
bW11dGFibGVTdHJpbmcoImZyZXhwKDEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDE4NXUsIEltbXV0YWJsZVN0cmluZygiZnJleHAoMjBCMjBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWRmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJmcmV4cCgzMEIzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwMTV1LCBJbW11dGFibGVTdHJpbmcoImxkZXhwKDAwQjAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzNHUsIEltbXV0YWJsZVN0cmluZygibGRleHAo
MTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzZldSwg
SW1tdXRhYmxlU3RyaW5nKCJsZGV4cCgyMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAyODV1LCBJbW11dGFibGVTdHJpbmcoImxkZXhwKDMwQjMwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI3NHUsIEltbXV0YWJsZVN0
cmluZygicGFja1Nub3JtMngxNigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyZjF1LCBJbW11dGFibGVTdHJpbmcoInBhY2tIYWxmMngxNigxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMDN1LCBJbW11dGFibGVTdHJp
bmcoInVucGFja1Nub3JtMngxNigwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAxMGN1LCBJbW11dGFibGVTdHJpbmcoInVucGFja0hhbGYyeDE2KDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJjYnUsIEltbXV0YWJsZVN0
cmluZygicGFja1Vub3JtMngxNigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwODF1LCBJbW11dGFibGVTdHJpbmcoInVucGFja1Vub3JtMngxNigwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwOTZ1LCBJbW11dGFibGVT
dHJpbmcoInBhY2tVbm9ybTR4OCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzMGJ1LCBJbW11dGFibGVTdHJpbmcoInBhY2tTbm9ybTR4OCgzMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYzN1LCBJbW11dGFibGVTdHJp
bmcoInVucGFja1Vub3JtNHg4KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDEzZXUsIEltbXV0YWJsZVN0cmluZygidW5wYWNrU25vcm00eDgoMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjEwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJsZW5ndGgoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMGY0dSwgSW1tdXRhYmxlU3RyaW5nKCJsZW5ndGgoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzlkdSwgSW1tdXRhYmxlU3RyaW5nKCJsZW5ndGgoMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjVmdSwgSW1tdXRh
YmxlU3RyaW5nKCJsZW5ndGgoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMjRidSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgwMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNjF1LCBJbW11dGFibGVTdHJpbmco
ImRpc3RhbmNlKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDFhZXUsIEltbXV0YWJsZVN0cmluZygiZGlzdGFuY2UoMjBCMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGVkdSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0
YW5jZSgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAw
Zjd1LCBJbW11dGFibGVTdHJpbmcoImRvdCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxMGF1LCBJbW11dGFibGVTdHJpbmcoImRvdCgxMEIxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNDl1LCBJbW11dGFibGVT
dHJpbmcoImRvdCgyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwZjl1LCBJbW11dGFibGVTdHJpbmcoImRvdCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyOTN1LCBJbW11dGFibGVTdHJpbmcoImNyb3NzKDIw
QjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBhZHUsIElt
bXV0YWJsZVN0cmluZygibm9ybWFsaXplKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDIwMnUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFlOXUsIEltbXV0YWJsZVN0
cmluZygibm9ybWFsaXplKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDM1NXUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJjY3UsIEltbXV0YWJsZVN0cmluZygiZmFj
ZWZvcndhcmQoMDBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMmQ3dSwgSW1tdXRhYmxlU3RyaW5nKCJmYWNlZm9yd2FyZCgxMEIxMEIxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYTF1LCBJbW11dGFibGVTdHJp
bmcoImZhY2Vmb3J3YXJkKDIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDI0NXUsIEltbXV0YWJsZVN0cmluZygiZmFjZWZvcndhcmQoMzBCMzBCMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGI5dSwgSW1tdXRh
YmxlU3RyaW5nKCJyZWZsZWN0KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDBiY3UsIEltbXV0YWJsZVN0cmluZygicmVmbGVjdCgxMEIxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNjJ1LCBJbW11dGFibGVTdHJp
bmcoInJlZmxlY3QoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTkxdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZsZWN0KDMwQjMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiZXUsIEltbXV0YWJsZVN0cmluZygicmVm
cmFjdCgwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAwZGZ1LCBJbW11dGFibGVTdHJpbmcoInJlZnJhY3QoMTBCMTBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWJjdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZy
YWN0KDIwQjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDIzMnUsIEltbXV0YWJsZVN0cmluZygicmVmcmFjdCgzMEIzMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzODV1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJp
eENvbXBNdWx0KDUwQjUwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDEwZHUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11bHQoQTBCQTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjk4dSwgSW1tdXRhYmxlU3RyaW5n
KCJtYXRyaXhDb21wTXVsdChGMEJGMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyM2R1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KDkwQjkwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIwMHUsIEltbXV0YWJs
ZVN0cmluZygibWF0cml4Q29tcE11bHQoNjBCNjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzM2dSwgSW1tdXRhYmxlU3RyaW5nKCJsZGV4cCgxMEIxMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNzB1LCBJbW11dGFibGVT
dHJpbmcoImxkZXhwKDIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDI4N3UsIEltbXV0YWJsZVN0cmluZygibGRleHAoMzBCMzBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjc2dSwgSW1tdXRhYmxlU3RyaW5nKCJwYWNr
U25vcm0yeDE2KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDJmM3UsIEltbXV0YWJsZVN0cmluZygicGFja0hhbGYyeDE2KDEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIwNXUsIEltbXV0YWJsZVN0cmluZygidW5wYWNr
U25vcm0yeDE2KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDEwZHUsIEltbXV0YWJsZVN0cmluZygidW5wYWNrSGFsZjJ4MTYoMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmNkdSwgSW1tdXRhYmxlU3RyaW5nKCJwYWNr
VW5vcm0yeDE2KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDA4MnUsIEltbXV0YWJsZVN0cmluZygidW5wYWNrVW5vcm0yeDE2KDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA5N3UsIEltbXV0YWJsZVN0cmluZygicGFj
a1Vub3JtNHg4KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDMwZHUsIEltbXV0YWJsZVN0cmluZygicGFja1Nub3JtNHg4KDMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJjNXUsIEltbXV0YWJsZVN0cmluZygidW5wYWNr
VW5vcm00eDgoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MTNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ1bnBhY2tTbm9ybTR4OCgwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMTJ1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0
aCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZjV1LCBJ
bW11dGFibGVTdHJpbmcoImxlbmd0aCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzOWZ1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgyMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNjF1LCBJbW11dGFibGVTdHJpbmco
Imxlbmd0aCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
NGR1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2MnUsIEltbXV0YWJsZVN0cmluZygiZGlzdGFuY2Uo
MTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWIwdSwg
SW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwZWV1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDMwQjMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBmOHUsIEltbXV0
YWJsZVN0cmluZygiZG90KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDEwYnUsIEltbXV0YWJsZVN0cmluZygiZG90KDEwQjEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0YnUsIEltbXV0YWJsZVN0cmluZygiZG90
KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBmYXUs
IEltbXV0YWJsZVN0cmluZygiZG90KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDI5NXUsIEltbXV0YWJsZVN0cmluZygiY3Jvc3MoMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGFldSwgSW1tdXRhYmxlU3Ry
aW5nKCJub3JtYWxpemUoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjA0dSwgSW1tdXRhYmxlU3RyaW5nKCJub3JtYWxpemUoMTBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWVidSwgSW1tdXRhYmxlU3RyaW5nKCJub3Jt
YWxpemUoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzU3
dSwgSW1tdXRhYmxlU3RyaW5nKCJub3JtYWxpemUoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMmNldSwgSW1tdXRhYmxlU3RyaW5nKCJmYWNlZm9yd2FyZCgw
MEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZDl1
LCBJbW11dGFibGVTdHJpbmcoImZhY2Vmb3J3YXJkKDEwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJhM3UsIEltbXV0YWJsZVN0cmluZygiZmFjZWZv
cndhcmQoMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMjQ3dSwgSW1tdXRhYmxlU3RyaW5nKCJmYWNlZm9yd2FyZCgzMEIzMEIzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYmF1LCBJbW11dGFibGVTdHJpbmco
InJlZmxlY3QoMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMGJkdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZsZWN0KDEwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2M3UsIEltbXV0YWJsZVN0cmluZygicmVmbGVj
dCgyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxOTN1
LCBJbW11dGFibGVTdHJpbmcoInJlZmxlY3QoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWMwdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZyYWN0KDAwQjAw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlMHUsIElt
bXV0YWJsZVN0cmluZygicmVmcmFjdCgxMEIxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAxYmV1LCBJbW11dGFibGVTdHJpbmcoInJlZnJhY3QoMjBCMjBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjM0dSwgSW1t
dXRhYmxlU3RyaW5nKCJyZWZyYWN0KDMwQjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM4N3UsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11bHQo
NTBCNTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTBldSwg
SW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdChBMEJBMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyOWF1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJpeENv
bXBNdWx0KEYwQkYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDIzZnUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11bHQoOTBCOTBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjAydSwgSW1tdXRhYmxlU3RyaW5nKCJt
YXRyaXhDb21wTXVsdCg2MEI2MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwNTF1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KEQwQkQwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2YnUsIEltbXV0YWJsZVN0
cmluZygibWF0cml4Q29tcE11bHQoNzBCNzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMjBmdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdChFMEJF
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyOTF1LCBJbW11
dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KEIwQkIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1ZnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0
KDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEzYnUs
IEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJhZHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9k
dWN0KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE5
NXUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEwM3UsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQ
cm9kdWN0KDEwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDE0Y3UsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIyMHUsIEltbXV0YWJsZVN0cmluZygib3V0
ZXJQcm9kdWN0KDEwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDE5MnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2Y3UsIEltbXV0YWJsZVN0cmluZygi
bWF0cml4Q29tcE11bHQoNzBCNzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMjExdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdChFMEJFMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyOTN1LCBJbW11dGFibGVT
dHJpbmcoIm1hdHJpeENvbXBNdWx0KEIwQkIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDM2MXUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDEwQjEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEzY3UsIEltbXV0
YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJhZnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMw
QjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE5N3UsIElt
bXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0
KDEwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE0ZHUs
IEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIyMnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9k
dWN0KDEwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE5
NHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxYnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQ
cm9kdWN0KDIwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDAxNHUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDUwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxOXUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3Nl
KEEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBhMnUsIElt
bXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDJiY3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDYwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0YXUsIEltbXV0YWJsZVN0
cmluZygidHJhbnNwb3NlKDkwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDMxYnUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBhM3UsIEltbXV0YWJsZVN0cmluZygidHJh
bnNwb3NlKEYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJi
ZXUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0Y3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDkw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAyZHUsIEltbXV0
YWJsZVN0cmluZygidHJhbnNwb3NlKDcwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDFjNnUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEQwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyZHUsIEltbXV0YWJsZVN0cmlu
ZygidHJhbnNwb3NlKEIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDA2N3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEUwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA3OHUsIEltbXV0YWJsZVN0cmluZygiZGV0ZXJt
aW5hbnQoNTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWM4
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0cmFuc3Bvc2UoRDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzJmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0cmFuc3Bvc2UoQjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDY4dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0cmFuc3Bvc2UoRTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMDc5dSwgSW1tdXRhYmxlU3RyaW5nKCJkZXRlcm1pbmFudCg1MEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMGN1LCBJbW11dGFibGVTdHJp
bmcoImRldGVybWluYW50KEEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDMxOHUsIEltbXV0YWJsZVN0cmluZygiZGV0ZXJtaW5hbnQoRjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTA4dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bnZlcnNlKDUwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFk
NHUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJzZShBMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxZWR1LCBJbW11dGFibGVTdHJpbmcoImludmVyc2UoRjBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA4dSwgSW1tdXRhYmxl
U3RyaW5nKCJsZXNzVGhhbigxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwNzl1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwQjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI5MnUsIEltbXV0YWJsZVN0cmlu
ZygibGVzc1RoYW4oMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTJmdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigxMEQxMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwYmJ1LCBJbW11dGFibGVTdHJpbmcoImxl
c3NUaGFuKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDIwNXUsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW4oMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDljdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhh
bigxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMDl1
LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxYXUsIEltbXV0YWJsZVN0cmluZygiZGV0ZXJtaW5hbnQo
RjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTA5dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbnZlcnNlKDUwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDFkNnUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJzZShBMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZWZ1LCBJbW11dGFibGVTdHJpbmco
ImludmVyc2UoRjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzBhdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwN2F1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFu
KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI5NHUs
IEltbXV0YWJsZVN0cmluZygibGVzc1RoYW4oMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTMwdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigxMEQx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYmN1LCBJbW11
dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDIwN3UsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW4oMzBEMzBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDlkdSwgSW1tdXRhYmxl
U3RyaW5nKCJsZXNzVGhhbigxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxMGF1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwRTIwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAyN3UsIEltbXV0YWJsZVN0cmlu
ZygibGVzc1RoYW4oMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDUydSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFsKDEwQjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA1M3UsIEltbXV0YWJsZVN0cmlu
ZygibGVzc1RoYW5FcXVhbCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwM2Z1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuRXF1YWwoMjBCMjBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDE3dSwgSW1tdXRhYmxl
U3RyaW5nKCJsZXNzVGhhbkVxdWFsKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDM2MHUsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgxMEQx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMWZ1LCBJbW11
dGFibGVTdHJpbmcoImxlc3NUaGFuRXF1YWwoMjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjc2dSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFs
KDMwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1NHUs
IEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYWV1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFu
RXF1YWwoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MGNmdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFsKDMwRTMwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5NnUsIEltbXV0YWJsZVN0cmluZygiZ3Jl
YXRlclRoYW4oMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMDZldSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigyMEIyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZjB1LCBJbW11dGFibGVTdHJpbmcoImdy
ZWF0ZXJUaGFuKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDBlMnUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMTBEMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGVldSwgSW1tdXRhYmxlU3RyaW5nKCJn
cmVhdGVyVGhhbigyMEQyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwZTF1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuKDMwRDMwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhNnUsIEltbXV0YWJsZVN0cmluZygi
Z3JlYXRlclRoYW4oMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMWI3dSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigyMEUyMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZmJ1LCBJbW11dGFibGVTdHJpbmco
ImdyZWF0ZXJUaGFuKDMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDM0NnUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgxMEIxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMzh1LCBJbW11dGFibGVT
dHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMmY3dSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbkVxdWFs
KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2ZXUs
IEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgxMEQxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNjJ1LCBJbW11dGFibGVTdHJpbmcoImxlc3NU
aGFuRXF1YWwoMTBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMzIxdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFsKDIwRDIwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI3OHUsIEltbXV0YWJsZVN0cmluZygi
bGVzc1RoYW5FcXVhbCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyNTZ1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuRXF1YWwoMTBFMTBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmIwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJsZXNzVGhhbkVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDBkMHUsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgzMEUzMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOTh1LCBJbW11dGFi
bGVTdHJpbmcoImdyZWF0ZXJUaGFuKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDA2ZnUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMjBCMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGYxdSwgSW1tdXRh
YmxlU3RyaW5nKCJncmVhdGVyVGhhbigzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAwZTN1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuKDEwRDEw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlZnUsIEltbXV0
YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMGUydSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigzMEQz
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYTh1LCBJbW11
dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuKDEwRTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFiOXUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMjBF
MjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWZkdSwgSW1t
dXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigzMEUzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNDh1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1
YWwoMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjNh
dSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbkVxdWFsKDIwQjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmOXUsIEltbXV0YWJsZVN0cmluZygiZ3Jl
YXRlclRoYW5FcXVhbCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAxNmZ1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMTBEMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDE4dSwgSW1tdXRhYmxl
U3RyaW5nKCJncmVhdGVyVGhhbkVxdWFsKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM2ZnUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVh
bCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyN2F1
LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMTBFMTBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTJldSwgSW1tdXRhYmxlU3RyaW5nKCJncmVh
dGVyVGhhbkVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDI2MHUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOGJ1LCBJbW11dGFibGVT
dHJpbmcoImVxdWFsKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDE4OXUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzg4dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVh
bCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNTZ1
LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJkNHUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMjBEMjBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjcxdSwgSW1tdXRhYmxl
U3RyaW5nKCJlcXVhbCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzNzl1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRTEwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIzNXUsIEltbXV0YWJsZVN0cmluZygiZXF1
YWwoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmI1
dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgzMEUzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxNjZ1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRjEwRiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NnUsIEltbXV0YWJs
ZVN0cmluZygiZXF1YWwoMjBGMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMmZidSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgzMEYzMEYiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMDl1LCBJbW11dGFibGVTdHJpbmcoIm5v
dEVxdWFsKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM3MHUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWEydSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVh
bCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYzh1
LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM3MXUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5F
cXVhbCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
N2N1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMTBFMTBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTJmdSwgSW1tdXRhYmxlU3RyaW5nKCJn
cmVhdGVyVGhhbkVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDI2MnUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgzMEUzMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOGR1LCBJbW11dGFi
bGVTdHJpbmcoImVxdWFsKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDE4YnUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMjBCMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzhhdSwgSW1tdXRhYmxlU3RyaW5nKCJl
cXVhbCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAw
NTd1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDJkNnUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMjBEMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjczdSwgSW1tdXRh
YmxlU3RyaW5nKCJlcXVhbCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAzN2J1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRTEwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIzN3UsIEltbXV0YWJsZVN0cmluZygi
ZXF1YWwoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MmI3dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgzMEUzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNjd1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDEwRjEw
RiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4OHUsIEltbXV0
YWJsZVN0cmluZygiZXF1YWwoMjBGMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMmZkdSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgzMEYzMEYiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMGJ1LCBJbW11dGFibGVTdHJpbmco
Im5vdEVxdWFsKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDM3MnUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWE0dSwgSW1tdXRhYmxlU3RyaW5nKCJub3RF
cXVhbCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
Y2F1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwOHUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwo
MjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGRldSwg
SW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzODN1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDEwRTEw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFkMnUsIEltbXV0
YWJsZVN0cmluZygibm90RXF1YWwoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMjUydSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNGR1LCBJbW11dGFibGVT
dHJpbmcoIm5vdEVxdWFsKDEwRjEwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDE5YXUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMjBGMjBGIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmZldSwgSW1tdXRhYmxlU3RyaW5n
KCJub3RFcXVhbCgzMEYzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAyNmJ1LCBJbW11dGFibGVTdHJpbmcoImFueSgxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMTF1LCBJbW11dGFibGVTdHJpbmcoImFueSgyMEYiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZWN1LCBJbW11dGFibGVT
dHJpbmcoImFueSgzMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyOTR1LCBJbW11dGFibGVTdHJpbmcoImFsbCgxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAyZWF1LCBJbW11dGFibGVTdHJpbmcoImFsbCgyMEYiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZGZ1LCBJbW11dGFibGVTdHJp
bmcoIm5vdEVxdWFsKDMwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM4NXUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMTBFMTBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJu
b3RFcXVhbCgyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAyNTR1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDMwRTMwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0ZnUsIEltbXV0YWJsZVN0cmluZygibm90RXF1
YWwoMTBGMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTlj
dSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgyMEYyMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMDB1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDMw
RjMwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI2ZHUsIElt
bXV0YWJsZVN0cmluZygiYW55KDEwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDIxM3UsIEltbXV0YWJsZVN0cmluZygiYW55KDIwRiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlZHUsIEltbXV0YWJsZVN0cmluZygiYW55KDMw
RiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI5NnUsIEltbXV0
YWJsZVN0cmluZygiYWxsKDEwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDJlY3UsIEltbXV0YWJsZVN0cmluZygiYWxsKDIwRiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0ZHUsIEltbXV0YWJsZVN0cmluZygiYWxsKDMwRiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA5YXUsIEltbXV0YWJs
ZVN0cmluZygibm90KDEwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDEzNHUsIEltbXV0YWJsZVN0cmluZygibm90KDIwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0YnUsIEltbXV0YWJsZVN0cmluZygibm90KDMwRiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJmY3UsIEltbXV0YWJsZVN0
cmluZygiYml0ZmllbGRFeHRyYWN0KDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE5Y3UsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0
KDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIw
N3UsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDIwRDAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkZXUsIEltbXV0YWJsZVN0cmluZygi
Yml0ZmllbGRFeHRyYWN0KDMwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDIwYnUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDAwRTAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBlNXUsIElt
bXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDEwRTAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJjMXUsIEltbXV0YWJsZVN0cmluZygiYml0Zmll
bGRFeHRyYWN0KDIwRTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDE2Y3UsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDMwRTAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA5YnUsIEltbXV0YWJs
ZVN0cmluZygibm90KDEwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDEzNXUsIEltbXV0YWJsZVN0cmluZygibm90KDIwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0ZHUsIEltbXV0YWJsZVN0cmluZygibm90KDMwRiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmZXUsIEltbXV0YWJsZVN0
cmluZygiYml0ZmllbGRFeHRyYWN0KDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE5ZXUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0
KDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIw
OXUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDIwRDAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlMHUsIEltbXV0YWJsZVN0cmluZygi
Yml0ZmllbGRFeHRyYWN0KDMwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDIwZHUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDAwRTAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlNnUsIElt
bXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDEwRTAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJjM3UsIEltbXV0YWJsZVN0cmluZygiYml0Zmll
bGRFeHRyYWN0KDIwRTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDE2ZHUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRFeHRyYWN0KDMwRTAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxY3UsIEltbXV0YWJs
ZVN0cmluZygiYml0ZmllbGRJbnNlcnQoMDBEMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzU3dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZElu
c2VydCgxMEQxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzNTl1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDEwRDEwRDAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0NXUsIEltbXV0YWJs
ZVN0cmluZygiYml0ZmllbGRJbnNlcnQoMjBEMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGRidSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZElu
c2VydCgzMEQzMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwNmN1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDAwRTAwRTAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwYXUsIEltbXV0YWJs
ZVN0cmluZygiYml0ZmllbGRJbnNlcnQoMTBFMTBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjMzdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZElu
c2VydCgyMEUyMEUwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzOWV1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDMwRTMwRTAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2OHUsIEltbXV0YWJs
ZVN0cmluZygiYml0ZmllbGRSZXZlcnNlKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDI4ZXUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRSZXZlcnNlKDEw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA1M3UsIEltbXV0
YWJsZVN0cmluZygiYml0ZmllbGRSZXZlcnNlKDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE3ZHUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRSZXZlcnNl
KDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2OXUsIElt
bXV0YWJsZVN0cmluZygiYml0ZmllbGRSZXZlcnNlKDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4ZHUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRSZXZl
cnNlKDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA1NHUs
IEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRSZXZlcnNlKDIwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE3Y3UsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRS
ZXZlcnNlKDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBk
Y3UsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRJbnNlcnQoMzBEMzBEMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDZkdSwgSW1tdXRhYmxlU3RyaW5n
KCJiaXRmaWVsZEluc2VydCgwMEUwMEUwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzMGN1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDEw
RTEwRTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIz
NXUsIEltbXV0YWJsZVN0cmluZygiYml0ZmllbGRJbnNlcnQoMjBFMjBFMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2EwdSwgSW1tdXRhYmxlU3RyaW5n
KCJiaXRmaWVsZEluc2VydCgzMEUzMEUwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAxNjl1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJzZSgw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyOTB1LCBJbW11
dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJzZSgxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwNTR1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJz
ZSgyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxN2V1LCBJ
bW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJzZSgzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNmF1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2
ZXJzZSgwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyOGZ1
LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJzZSgxMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNTV1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxk
UmV2ZXJzZSgyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
N2R1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkUmV2ZXJzZSgzMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjV1LCBJbW11dGFibGVTdHJpbmcoImJpdENv
dW50KDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJiNHUs
IEltbXV0YWJsZVN0cmluZygiYml0Q291bnQoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMWE4dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRDb3VudCgyMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwN2Z1LCBJbW11dGFibGVT
dHJpbmcoImJpdENvdW50KDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDBmYXUsIEltbXV0YWJsZVN0cmluZygiYml0Q291bnQoMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTVkdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRD
b3VudCgxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZDJ1
LCBJbW11dGFibGVTdHJpbmcoImJpdENvdW50KDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDEzZnUsIEltbXV0YWJsZVN0cmluZygiYml0Q291bnQoMzBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmY0dSwgSW1tdXRhYmxl
U3RyaW5nKCJmaW5kTFNCKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDFiZnUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwOTR1LCBJbW11dGFibGVTdHJpbmcoImZpbmRM
U0IoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmQwdSwg
SW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDJmM3UsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYzB1LCBJbW11dGFibGVTdHJp
bmcoImZpbmRMU0IoMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMDkzdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDIwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkMXUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigz
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYmR1LCBJbW11
dGFibGVTdHJpbmcoImZpbmRNU0IoMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMGY2dSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTVNCKDEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEzNnUsIEltbXV0YWJsZVN0cmluZygi
ZmluZE1TQigyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
NWR1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMmMwdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTVNCKDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBmNXUsIEltbXV0YWJs
ZVN0cmluZygiZmluZE1TQigxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAxMzd1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMjBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjVjdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5k
TVNCKDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIzOXUs
IEltbXV0YWJsZVN0cmluZygidWFkZENhcnJ5KDAwRTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM2YXUsIEltbXV0YWJsZVN0cmluZygidWFkZENhcnJ5
KDEwRTEwRTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5
MHUsIEltbXV0YWJsZVN0cmluZygidWFkZENhcnJ5KDIwRTIwRTIwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiMHUsIEltbXV0YWJsZVN0cmluZygidWFkZENh
cnJ5KDMwRTMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDFkYnUsIEltbXV0YWJsZVN0cmluZygidXN1YkJvcnJvdygwMEUwMEUwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOGF1LCBJbW11dGFibGVTdHJpbmcoInVz
dWJCb3Jyb3coMTBFMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGZldSwgSW1tdXRhYmxlU3RyaW5nKCJ1c3ViQm9ycm93KDIwRTIwRTIwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4MnUsIEltbXV0YWJsZVN0cmlu
ZygidXN1YkJvcnJvdygzMEUzMEUzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzMmF1LCBJbW11dGFibGVTdHJpbmcoInVtdWxFeHRlbmRlZCgwMEUwMEUwMEUw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOTd1LCBJbW11
dGFibGVTdHJpbmcoInVtdWxFeHRlbmRlZCgxMEUxMEUxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyY2R1LCBJbW11dGFibGVTdHJpbmcoInVtdWxFeHRl
bmRlZCgyMEUyMEUyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAyNDR1LCBJbW11dGFibGVTdHJpbmcoInVtdWxFeHRlbmRlZCgzMEUzMEUzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZDh1LCBJbW11dGFibGVT
dHJpbmcoImltdWxFeHRlbmRlZCgwMEQwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAwOGF1LCBJbW11dGFibGVTdHJpbmcoImltdWxFeHRlbmRlZCgx
MEQxMEQxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAw
ZWJ1LCBJbW11dGFibGVTdHJpbmcoImltdWxFeHRlbmRlZCgyMEQyMEQyMEQyMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYjZ1LCBJbW11dGFibGVTdHJpbmco
ImJpdENvdW50KDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDFhYXUsIEltbXV0YWJsZVN0cmluZygiYml0Q291bnQoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMDgwdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRDb3VudCgz
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZmJ1LCBJbW11
dGFibGVTdHJpbmcoImJpdENvdW50KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDE1ZXUsIEltbXV0YWJsZVN0cmluZygiYml0Q291bnQoMTBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmQ0dSwgSW1tdXRhYmxlU3RyaW5n
KCJiaXRDb3VudCgyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxNDB1LCBJbW11dGFibGVTdHJpbmcoImJpdENvdW50KDMwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmNnUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxYzF1LCBJbW11
dGFibGVTdHJpbmcoImZpbmRMU0IoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMDk1dSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDIwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJkMnUsIEltbXV0YWJsZVN0cmluZygi
ZmluZExTQigzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
ZjV1LCBJbW11dGFibGVTdHJpbmcoImZpbmRMU0IoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWMydSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDEwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA5NHUsIEltbXV0YWJs
ZVN0cmluZygiZmluZExTQigyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyZDN1LCBJbW11dGFibGVTdHJpbmcoImZpbmRMU0IoMzBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmJmdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5k
TVNCKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBmN3Us
IEltbXV0YWJsZVN0cmluZygiZmluZE1TQigxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAxMzd1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMjBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjVmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJmaW5kTVNCKDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDJjMnUsIEltbXV0YWJsZVN0cmluZygiZmluZE1TQigwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZjZ1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0Io
MTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTM4dSwgSW1t
dXRhYmxlU3RyaW5nKCJmaW5kTVNCKDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDI1ZXUsIEltbXV0YWJsZVN0cmluZygiZmluZE1TQigzMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyM2J1LCBJbW11dGFibGVTdHJpbmco
InVhZGRDYXJyeSgwMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzNmN1LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgxMEUxMEUxMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOTJ1LCBJbW11dGFibGVTdHJp
bmcoInVhZGRDYXJyeSgyMEUyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxYjJ1LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgzMEUzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZGR1LCBJbW11dGFibGVT
dHJpbmcoInVzdWJCb3Jyb3coMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMzhjdSwgSW1tdXRhYmxlU3RyaW5nKCJ1c3ViQm9ycm93KDEwRTEwRTEw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBmZnUsIEltbXV0
YWJsZVN0cmluZygidXN1YkJvcnJvdygyMEUyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyODR1LCBJbW11dGFibGVTdHJpbmcoInVzdWJCb3Jyb3coMzBF
MzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzJjdSwg
SW1tdXRhYmxlU3RyaW5nKCJ1bXVsRXh0ZW5kZWQoMDBFMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTk5dSwgSW1tdXRhYmxlU3RyaW5nKCJ1bXVs
RXh0ZW5kZWQoMTBFMTBFMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMmNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ1bXVsRXh0ZW5kZWQoMjBFMjBFMjBFMjBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjQ2dSwgSW1tdXRh
YmxlU3RyaW5nKCJ1bXVsRXh0ZW5kZWQoMzBFMzBFMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMWRhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbXVsRXh0ZW5k
ZWQoMDBEMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMDhidSwgSW1tdXRhYmxlU3RyaW5nKCJpbXVsRXh0ZW5kZWQoMTBEMTBEMTBEMTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGVjdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbXVsRXh0ZW5kZWQoMjBEMjBEMjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMDI5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbXVsRXh0ZW5kZWQoMzBE
MzBEMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDk5
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkQoMDBJMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTMydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRQ
cm9qKDAwSTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI0
ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvaigwMEkzMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVDdWJlKDAwSzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM1ZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwTTEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJjNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZTJEUHJvaigwME0yMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyYzl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBNMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGVhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlMkRSZWN0KDAwTzEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDNiY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUmVjdFByb2ooMDBPMjBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTEwdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlMkRSZWN0UHJvaigwME8zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAwYTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBPMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTAxdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME8yMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAyMzB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTzMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA2YnUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZTJER3JhZEVYVCgwMEkxMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUyRFByb2pHcmFkRVhUKDAwSTIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDA3MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvakdyYWRF
WFQoMDBJMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMWUydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3ViZUdyYWRFWFQoMDBLMjBCMjBCMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWY4dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlMkQoMDBJMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMmYydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRQcm9qKDAw
STIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFlMXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvaigwMEkzMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNDh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVDdWJlKDAwSzIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDI5N3UsIEltbXV0YWJsZVN0cmluZygiZEZkeCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxN2F1LCBJbW11dGFibGVTdHJpbmcoImRGZHgoMTBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTIzdSwgSW1tdXRhYmxl
U3RyaW5nKCJkRmR4KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDA5YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwSTEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEzM3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZTJEUHJvaigwMEkyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAyNTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBJMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjIzdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlQ3ViZSgwMEsyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzNWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRCgwME0xMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYzZ1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmUyRFByb2ooMDBNMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMmNidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRQcm9qKDAwTTMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlYnUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZTJEUmVjdCgwME8xMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzYmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFJlY3RQcm9qKDAw
TzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDExMXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZTJEUmVjdFByb2ooMDBPMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGEydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
KDAwTzEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEwMnUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBPMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMjMydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
aigwME8zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNmN1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyREdyYWRFWFQoMDBJMTBCMTBCMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzFkdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlMkRQcm9qR3JhZEVYVCgwMEkyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNzJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFBy
b2pHcmFkRVhUKDAwSTMwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDFlNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUN1YmVHcmFkRVhUKDAwSzIw
QjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFmYXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwSTEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJE
UHJvaigwMEkyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxZTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBJMzBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzRhdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlQ3ViZSgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAyOTl1LCBJbW11dGFibGVTdHJpbmcoImRGZHgoMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTdidSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4
KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEyNHUsIElt
bXV0YWJsZVN0cmluZygiZEZkeCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwMTF1LCBJbW11dGFibGVTdHJpbmcoImRGZHgoMzBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2E5dSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5
KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE0YnUsIElt
bXV0YWJsZVN0cmluZygiZEZkeSgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAxYTZ1LCBJbW11dGFibGVTdHJpbmcoImRGZHkoMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmU1dSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5
KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE0OXUsIElt
bXV0YWJsZVN0cmluZygiZndpZHRoKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDBkY3UsIEltbXV0YWJsZVN0cmluZygiZndpZHRoKDEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyZXUsIEltbXV0YWJsZVN0cmluZygi
ZndpZHRoKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI2
MXUsIEltbXV0YWJsZVN0cmluZygiZndpZHRoKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJlNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJETG9kRVhU
KDAwSTEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJm
ZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvakxvZEVYVCgwMEkyMEIwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYTR1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmUyRFByb2pMb2RFWFQoMDBJMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzY3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3ViZUxv
ZEVYVCgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAxYzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUzRCgwMEoyMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyOGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUzRFByb2ooMDBKMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMjRhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlM0QoMDBKMjBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjcydSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlM0RQcm9qKDAwSjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDNjN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTNETG9kKDAwSjIwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEzM3UsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZTNEUHJvakxvZCgwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYTd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRExv
ZCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAx
MGV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2pMb2QoMDBJMjBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzhldSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlMkRQcm9qTG9kKDAwSTMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDNiMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUN1YmVMb2QoMDBL
MjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWUzdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDI4MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMTV1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmUoMDBYMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMTIwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE5NHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwMFMyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAwOTV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBZMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzNjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlKDAwSzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA4
ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFQyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYWJ1LCBJbW11dGFibGVTdHJpbmcoImRGZHkoMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTRjdSwgSW1tdXRhYmxl
U3RyaW5nKCJkRmR5KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDFhOHUsIEltbXV0YWJsZVN0cmluZygiZEZkeSgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZTd1LCBJbW11dGFibGVTdHJpbmcoImRGZHkoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTRhdSwgSW1tdXRhYmxl
U3RyaW5nKCJmd2lkdGgoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGRkdSwgSW1tdXRhYmxlU3RyaW5nKCJmd2lkdGgoMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzMwdSwgSW1tdXRhYmxlU3RyaW5nKCJmd2lkdGgo
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjYzdSwgSW1t
dXRhYmxlU3RyaW5nKCJmd2lkdGgoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMmU2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRMb2RFWFQoMDBJMTBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmZmdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRQcm9qTG9kRVhUKDAwSTIwQjAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFhNnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZTJEUHJvakxvZEVYVCgwMEkzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzNjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVDdWJlTG9kRVhUKDAw
SzIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFjNnUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZTNEKDAwSjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDI5MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTNEUHJv
aigwMEozMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNGN1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUzRCgwMEoyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUz
RFByb2ooMDBKMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwM2M5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlM0RMb2QoMDBKMjBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTM0dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlM0RQcm9qTG9kKDAwSjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDJhOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJETG9kKDAwSTEw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEwZnUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvakxvZCgwMEkyMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUyRFByb2pMb2QoMDBJMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwM2IzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3ViZUxvZCgwMEsyMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZTV1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmUoMDBJMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMjgydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwUjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxN3UsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwMFgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAxMjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBKMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTk2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlKDAwUzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA5
NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFkyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzM2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBL
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDhmdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwVDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA0N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFoyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMmJ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmUoMDBMMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMGUzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwVTIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI0Y3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZSgwMGEyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxMmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBMMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGU0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
KDAwVTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI0ZXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGEyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwMzJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBkMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzc2dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlKDAwZTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM0ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGYzMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNWV1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qKDAwSTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDNhNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBSMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTI1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvaigwMFgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyMjh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSTMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2ooMDBSMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzlidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFgzMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNGV1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qKDAwSjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDJlMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBTMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWE3dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFkzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzMTZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwZDMwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE2ZHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUxvZCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAyOWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBSMTBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmFmdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwWDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDBiZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgw
MEoyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMjB1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBTMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzc4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
KDAwZTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM1MXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGYzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwNWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAw
STIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhNnUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBSMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTI2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigw
MFgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMmF1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2oo
MDBSMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzlkdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
KDAwSjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlNHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBTMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMWE5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
aigwMFkzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMTh1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwZDMwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxv
ZCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
OWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBSMTBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmIxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlTG9kKDAwWDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDBiZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMEoyMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMjJ1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVMb2QoMDBTMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMDM4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwWTIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNiN3UsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUxvZCgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAwZmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBUMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmI5dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwWjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDNiOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMEsy
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZmR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBUMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMmJidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9k
KDAwWjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAw
YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMEwyMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzODl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVMb2QoMDBVMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMjZhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwYTIwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE1M3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUxvZCgwMGQyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAwYzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwSTAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBhYnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVNpemUoMDBSMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMzk1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFgwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxY2N1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVTaXplKDAwSjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDM0M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBTMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzhidSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlTG9kKDAwVTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDI2Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMGEyMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTR1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVMb2QoMDBkMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMGM1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMEkw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYWN1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwUjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM5N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBY
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWNldSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMEowMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAw
UzAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzMHUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBZMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDJhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgw
MEswMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNzd1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwVDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUo
MDBaMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWQwdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMEwwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZjh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXpl
KDAwVTAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBlNHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBhMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzY0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6
ZSgwMGQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZDF1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwZTAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNp
emUoMDBmMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzQ1
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMEkyMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZGR1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qTG9kKDAwUjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDI0MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBYMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWJkdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMEkzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
TG9kKDAwUjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDM3OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBUMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmRldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlU2l6ZSgwMFowMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxZDJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwTDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmYXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVNpemUoMDBVMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMGU1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGEwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNjZ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVTaXplKDAwZDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDFkM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBlMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzEydSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlU2l6ZSgwMGYwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzNDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwSTIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBkZXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pMb2QoMDBSMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMjQydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgw
MFgyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxYmZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwSTMwQjAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFmMXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pMb2QoMDBSMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMDJmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMFgzMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZTl1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwSjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDBjMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pM
b2QoMDBTMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MzIxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMFkzMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyM2V1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qTG9kKDAwZDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDA1ZnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMEkxMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNTJ1LCBJbW11dGFi
bGVTdHJpbmcoInRleGVsRmV0Y2goMDBSMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMmE0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwWDEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNiM3UsIElt
bXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMEoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNjR1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2go
MDBTMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDcw
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwWTIwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFhYXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxG
ZXRjaCgwMEwyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAxNTV1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBVMjBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGVhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvakxvZCgwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAwYzF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwUzMwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMyM3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBZMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMjQwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
akxvZCgwMGQzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAwNjB1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBJMTBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzU0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXhlbEZldGNoKDAwUjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDJhNnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFgxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYjV1LCBJbW11dGFibGVTdHJp
bmcoInRleGVsRmV0Y2goMDBKMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMjY2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwUzIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA3MXUsIEltbXV0YWJs
ZVN0cmluZygidGV4ZWxGZXRjaCgwMFkyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAxYWN1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBMMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTU2dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwVTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzYnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgw
MGEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjN1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwSTEwQjEwQjEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1YXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdyYWQoMDBSMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMjVldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFgxMEIxMEIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYzh1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHcmFkKDAwSjIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDExMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQo
MDBTMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MTFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFkyMEIyMEIyMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNjJ1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVHcmFkKDAwSzIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM3Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBUMjBCMjBC
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTY1dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFoyMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNzJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
cmFkKDAwZDIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDI1OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBlMzBCMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzU5dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR3JhZCgwMEwyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAxYWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwVTIw
QjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiOHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBhMjBCMTBCMTBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjRldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR3JhZCgwMGYzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzNWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMEkyMEIxMEIx
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNGV1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMFIyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qR3JhZCgwMFgyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAzNWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwUjEwQjEwQjEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI2MHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBYMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMWNhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3Jh
ZCgwMEoyMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxMTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwUzIwQjIwQjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDExYnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdyYWQoMDBZMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMjY0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMEsyMEIy
MEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzN2V1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwVDIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdyYWQoMDBaMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDczdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMGQyMEIxMEIxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNWJ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVHcmFkKDAwZTMwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM1YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBM
MjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWIx
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFUyMEIxMEIxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxYmF1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHcmFkKDAwYTIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDI1MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBmMzBCMTBCMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzVkdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBJMjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzUwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvakdyYWQoMDBSMjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMWQ3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBYMjBCMTBC
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDBkdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBJMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGZmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvakdyYWQoMDBSMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwM2MydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBYMzBC
MTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTRhdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBKMzBCMjBCMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDU1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvakdyYWQoMDBTMzBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMTAwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBS
MzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2M0
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBYMzBCMTBCMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTRidSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvakdyYWQoMDBKMzBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMDU2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQo
MDBTMzBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MDFkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBZMzBCMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWM5dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvakdyYWQoMDBkMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWYwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgw
MFAiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyY2F1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwViIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDIyM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBiIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjNidSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFEiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyM2Z1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwVyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIyMnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVNpemUoMDBjIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDlidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwUDEwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEzYXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4ZWxGZXRjaCgwMFYxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyYTh1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBiMTBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmUwdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXhlbEZldGNoKDAwUTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDEwZnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFcyMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZTZ1LCBJbW11
dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBjMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGI4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSTEw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFjYnUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkKDAwZDMwQjEwQjEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFmMnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVNpemUoMDBQIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MmNjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFYiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMjV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVT
aXplKDAwYiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIzZHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBRIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjQxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgw
MFciKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMjR1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwYyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDA5Y3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFAxMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxM2J1LCBJbW11
dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBWMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMmFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAw
YjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlMnUs
IEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMTB1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0
Y2goMDBXMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MWU4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwYzIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBiOXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZSgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAwMDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBSMTBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDk3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlKDAwWDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDFiYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMEoyMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUoMDBTMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MWExdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwWTIwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZSgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAw
Y2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBUMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGYydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
KDAwWjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIw
OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMEwyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUo
MDBVMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Fl
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwYTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVBy
b2ooMDBJMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MmEwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFIyMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZjl1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qKDAwWDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDBiMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBJMzBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDk4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlKDAwWDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDFiZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMEoyMEIwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNWZ1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmUoMDBTMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMWEzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwWTIwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFiNHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAwY2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBUMjBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGYzdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlKDAwWjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDIwYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMEwyMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxOTV1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmUoMDBVMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwM2IwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwYTIwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhN3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2ooMDBJMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMmEydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFIyMEIwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZmJ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qKDAwWDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDBiMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBJMzBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDAwdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFIzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
KDAwWDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIx
NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBYMzBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDMzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvaigwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAxMTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwUzMwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFjM3UsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2ooMDBZMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMmM3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwZDIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE3MHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZSgwMGUzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzMTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwZDMwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhZnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZSgwME0xMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzYjR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTTIwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBiNXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBNMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigw
MFMzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxYzV1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwWTMwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJjOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZSgwMGQyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
NzF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBlMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzE1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvaigwMGQzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzYjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBNMTBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2I2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvaigwME0yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAwYjZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTTMwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwMnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwME4xMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzMTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTjIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBhYXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2ooMDBOMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMGFldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwSTEw
QjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI3OXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMFIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyN2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVP
ZmZzZXQoMDBYMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwM2IydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwSjIwQjIwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5ZnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZU9mZnNldCgwMFMyMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyYmJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBZMjBC
MjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzEzdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME4yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
KDAwTjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBh
ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMEkxMEIxMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyN2J1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVPZmZzZXQoMDBSMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMjdmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWDEwQjEwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiNHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZU9mZnNldCgwMEoyMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzYTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQo
MDBTMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmJk
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWTIwQjIwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxMHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZU9mZnNldCgwMGQyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAwY2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBMMjBCMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDc0dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwVTIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDBlZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgw
MGEyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZTB1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTIwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBhN3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pPZmZzZXQoMDBSMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwM2EwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgw
MFgyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxN2J1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTMwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA3M3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pPZmZzZXQoMDBSMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMmY1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgw
MFgzMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzN2V1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSjMwQjIwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkNXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pPZmZzZXQoMDBTMzBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMjk5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgw
MFkzMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzODJ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwZDMwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA2ZnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUxvZE9mZnNldCgwMEkxMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAwOWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQo
MDBSMTBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MGNjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwWDEwQjAwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1NnUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUxvZE9mZnNldCgwMEoyMEIwMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNjN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RP
ZmZzZXQoMDBTMjBCMDBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTcxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwWTIwQjAwQjIw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFkM3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMGQyMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVMb2RPZmZzZXQoMDBMMjBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMjlmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwVTIw
QjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBjZnUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMEwyMEIxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNzV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVPZmZzZXQoMDBVMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGYwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwYTIwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBlMXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBJMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGE4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9m
ZnNldCgwMFIyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzYTJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWDIwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE3Y3UsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBJMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDc0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9m
ZnNldCgwMFIzMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAyZjd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWDMwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4MHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBKMzBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9m
ZnNldCgwMFMzMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAyOWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWTMwQjIwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBkMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDcwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zm
c2V0KDAwSTEwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDA5ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMFIxMEIwMEIxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwY2R1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBYMTBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjU4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
TG9kT2Zmc2V0KDAwSjIwQjAwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDA2NHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMFMyMEIw
MEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNzJ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBZMjBCMDBCMjBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlTG9kT2Zmc2V0KDAwZDIwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDM2ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgw
MEwyMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAy
YTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBVMjBCMDBCMTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDM5dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwYTIwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pM
b2RPZmZzZXQoMDBJMjBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMTQwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFIy
MEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOGF1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwWDIwQjAwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1NHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBJMzBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWYzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvakxvZE9mZnNldCgwMFIzMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzNzJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0
KDAwWDMwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDFkY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBKMzBCMDBCMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMThldSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFMzMEIwMEIyMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMGJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qTG9kT2Zmc2V0KDAwWTMwQjAwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM1MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RP
ZmZzZXQoMDBkMzBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTM4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwSTEwRDAwRDEw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBjN3UsIEltbXV0
YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMFIxMEQwMEQxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYzV1LCBJbW11dGFibGVTdHJpbmcoInRleGVs
RmV0Y2hPZmZzZXQoMDBYMTBEMDBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMjFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwSjIw
RDAwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEyOXUs
IEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMFMyMEQwMEQyMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNGV1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwSTIwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDE0MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pM
b2RPZmZzZXQoMDBSMjBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMThjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFgy
MEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNTZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwSTMwQjAwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFmNXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBSMzBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzc0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvakxvZE9mZnNldCgwMFgzMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAxZGV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0
KDAwSjMwQjAwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDE5MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBTMzBCMDBCMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTBjdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFkzMEIwMEIyMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNTN1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qTG9kT2Zmc2V0KDAwZDMwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDEzOXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNl
dCgwMEkxMEQwMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAwYzh1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBSMTBEMDBEMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmM3dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwWDEwRDAwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIxY3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRj
aE9mZnNldCgwMEoyMEQwMEQyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAxMmF1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBTMjBEMDBE
MjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDNhdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwWTIwRDAwRDIwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI3MHUsIEltbXV0YWJsZVN0cmluZygidGV4
ZWxGZXRjaE9mZnNldCgwMEwyMEQwMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAxY2Z1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBV
MjBEMDBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTMw
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwYTIwRDAwRDEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1MXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdyYWRPZmZzZXQoMDBJMTBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmY5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3Jh
ZE9mZnNldCgwMFIxMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwODd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwWDEw
QjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA2
OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBKMjBCMjBCMjBCMjBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGE1dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMFMyMEIyMEIyMEIyMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNDZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHcmFkT2Zmc2V0KDAwWTIwQjIwQjIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDFmMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQo
MDBkMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMzQxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMEwyMEIxMEIxMEIx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNjV1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwVTIwQjEwQjEwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE5OXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdyYWRPZmZzZXQoMDBhMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjI2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9m
ZnNldCgwMGYzMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzOGR1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwMjcydSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXhlbEZldGNoT2Zmc2V0KDAwTDIwRDAwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFkMXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNl
dCgwMFUyMEQwMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxMzF1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBhMjBEMDBEMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjUzdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMEkxMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZmJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHcmFkT2Zmc2V0KDAwUjEwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDA4OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQo
MDBYMTBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMDZhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMEoyMEIyMEIyMEIy
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYTZ1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwUzIwQjIwQjIwQjIwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI0OHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdyYWRPZmZzZXQoMDBZMjBCMjBCMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWYzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9m
ZnNldCgwMGQyMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzNDN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwTDIwQjEw
QjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI2N3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBVMjBCMTBCMTBCMTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTlidSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMGEyMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMjh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
cmFkT2Zmc2V0KDAwZjMwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDM4ZnUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVByb2pHcmFkT2Zmc2V0KDAwSTIwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA1YXUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWJ1LAogICAg
ICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMFIyMEIx
MEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMzF1
LAorICAgIEFTU0VSVF9FUSgweDAwMDAwMTMydSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBYMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjdidSwKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDI3ZHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zm
c2V0KDAwSTMwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDNiNnUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYjh1LAogICAgICAgICAgICAgICBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMFIzMEIxMEIxMEIxMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMDV1LAorICAgIEFTU0VS
VF9FUSgweDAwMDAwMTA2dSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvakdyYWRPZmZzZXQoMDBYMzBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwM2MwdSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjMnUsCiAgICAg
ICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0KDAwSjMwQjIw
QjIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDExZHUs
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMWV1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMFMzMEIyMEIyMEIyMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzN2J1LAorICAgIEFTU0VSVF9FUSgweDAwMDAw
MzdkdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZz
ZXQoMDBZMzBCMjBCMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjZjdSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI2ZXUsCiAgICAgICAgICAgICAgIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0KDAwZDMwQjEwQjEwQjEwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNnUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZU9mZnNldCgwMEkxMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAyNTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQo
MDBSMTBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MmNldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWDEwQjEwRDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkMHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZU9mZnNldCgwMEoyMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAyODF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBT
MjBCMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGEz
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWTIwQjIwRDAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI3ZnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZU9mZnNldCgwMGQyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAwY2J1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBMMjBC
MTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWI5dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwVTIwQjEwRDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIyYXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZU9mZnNldCgwMGEyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwN2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTIw
QjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4NHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBSMjBCMTBEMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTAydSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvak9mZnNldCgwMFgyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNjN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zm
c2V0KDAwSTMwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDNhOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBSMzBCMTBEMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2I4dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFgzMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVPZmZzZXQoMDBJMTBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMjVhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwUjEwQjEwRDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJkMHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMFgxMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwZDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVP
ZmZzZXQoMDBKMjBCMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjgzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwUzIwQjIwRDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBhNHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZU9mZnNldCgwMFkyMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyODF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZz
ZXQoMDBkMjBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMGNjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwTDIwQjEwRDAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFiYnUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZU9mZnNldCgwMFUyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyMmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQo
MDBhMjBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MDdldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMEkyMEIxMEQwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyODZ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwUjIwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEwM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVBy
b2pPZmZzZXQoMDBYMjBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzY1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMEkzMEIx
MEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYWF1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwUjMwQjEwRDAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiYXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pPZmZzZXQoMDBYMzBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMDRjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNl
dCgwMEozMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAwMmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwUzMwQjIwRDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkNXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBZMzBCMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzgwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvak9mZnNldCgwMGQzMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAwOGN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBNMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGI3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvaigwME0yMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzMjZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTTMwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzMnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVNpemUoMDBNMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMGEwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwTTEwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEyYXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZSgwME4xMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzNjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI2ZHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2ooMDBOMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMDgydSwgSW1tdXRhYmxlU3RyaW5nKCJyZ2JfMl95dXYoMjBCMDBIIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWI1dSwgSW1tdXRhYmxlU3RyaW5n
KCJ5dXZfMl9yZ2IoMjBCMDBIIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjE5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwME4wMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZDd1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qT2Zmc2V0KDAwWTMwQjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM4MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZz
ZXQoMDBkMzBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMDhkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwTTEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBiOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVByb2ooMDBNMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzI4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME0zMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVTaXplKDAwTTAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDBhMXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwME0xMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMmJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmUoMDBOMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzZidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME4yMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyNmZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qKDAwTjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDA4M3UsIEltbXV0YWJsZVN0cmluZygicmdiXzJfeXV2KDIwQjAwSCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFiN3UsIEltbXV0YWJsZVN0cmluZygieXV2XzJf
cmdiKDIwQjAwSCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIx
YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBOMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDQwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZl
dGNoKDAwTjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDI1M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEkxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMWV1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHYXRoZXIoMDBSMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjJidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWDEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEzOXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdhdGhlcigwMEkxMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyZGF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBSMTBC
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWNldSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWDEwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIxNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdh
dGhlcigwMEwyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
ZGR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBVMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjJldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR2F0aGVyKDAwYTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDExY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEwyMEIwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMGZ1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXIoMDBVMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwM2JmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwYTIw
QjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkYXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRo
ZXIoMDBUMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjdj
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI1NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdhdGhlcigwMEkxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzMjB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBSMTBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjJkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlR2F0aGVyKDAwWDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDEzYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEkxMEIwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZGN1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVHYXRoZXIoMDBSMTBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMWQwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAw
WDEwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIxN3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEwyMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
YXRoZXIoMDBVMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MjMwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwYTIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDExZHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlcigwMEwyMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzMTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBVMjBCMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2MxdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwYTIwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDBkYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigw
MEsyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYzB1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBUMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMjdldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0
aGVyKDAwWjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAx
NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsyMEIwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjh1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHYXRoZXIoMDBUMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMzFkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIwQjAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE4MnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGQxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAzOTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBk
MTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTQzdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwZjIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFiNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdh
dGhlcigwMGYyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzNWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBlMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTVmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlR2F0aGVyKDAwZTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDM0N3UsCisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNmF1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXIoMDBUMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMzFmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIw
QjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4NHUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGQxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRo
ZXIoMDBkMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MTQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwZjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDFiOHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlcigwMGYyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzNWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBlMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTYwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR2F0aGVyKDAwZTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDM0OXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldHMoMDBJMTBCMTBEeDQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzYzV1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwM2M3dSwKICAg
ICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMFIxMEIx
MER4NDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAyYnUs
CiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBY
MTBCMTBEeDQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
OGJ1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwMjhkdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMEwyMEIxMER4NDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxMnUsCiAgICAgICAgICAgICAgIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBVMjBCMTBEeDQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMGN1LAorICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjBldSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
T2Zmc2V0cygwMGEyMEIxMER4NDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDI0MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBJ
MTBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZjJ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAwUjEwQjEwRHg0IikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDVkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMFgxMEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIyY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdh
dGhlck9mZnNldHMoMDBMMjBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzNDR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAw
VTIwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMTIy
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMGEyMEIxMER4NCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE0ZnUsCisgICAgQVNTRVJU
X0VRKDB4MDAwMDAyNDN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAw
STEwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWY0
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMFIxMEIxMER4NCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA1ZXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBYMTBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
YXRoZXJPZmZzZXRzKDAwTDIwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygw
MFUyMEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEy
M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBhMjBCMTBEeDQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTB1LAogICAgICAgICAg
ICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAwZDEwQjAwQjEwRHg0
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjg4dSwKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDI4YXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldHMoMDBmMjBCMDBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxY2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJP
ZmZzZXQoMDBJMTBCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMWY2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwUjEwQjEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3OHUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMFgxMEIxMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxY2Z1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVHYXRoZXJPZmZzZXQoMDBJMTBCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWY4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
T2Zmc2V0KDAwUjEwQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM3YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMFgxMEIx
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBMMjBCMTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGU3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwVTIwQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDBjOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhl
ck9mZnNldCgwMGEyMEIxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAwY2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBJMTBC
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDY0dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwUjEwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwOXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldCgwMFgxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyNjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQo
MDBMMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmQ2
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwVTIwQjEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI0ZHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdhdGhlck9mZnNldCgwMGEyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAyMzF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJP
ZmZzZXQoMDBkMTBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMmFjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwZjIwQjAw
QjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDBkNHUsIElt
bXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRlcigwMEciKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNmR1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJJ
bmNyZW1lbnQoMDBHIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MGE0dSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNDb3VudGVyRGVjcmVtZW50KDAwRyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1YXUsIEltbXV0YWJsZVN0cmlu
ZygiYXRvbWljQWRkKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDBlOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMFUyMEIx
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwY2F1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBhMjBCMTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGNidSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwSTEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA2NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9m
ZnNldCgwMFIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzMGJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBYMTBCMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjZidSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwTDIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJkOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdh
dGhlck9mZnNldCgwMFUyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyNGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBhMjBC
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjMzdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwZDEwQjAwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJhZXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdhdGhlck9mZnNldCgwMGYyMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwZDV1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXIo
MDBHIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzZmdSwgSW1t
dXRhYmxlU3RyaW5nKCJhdG9taWNDb3VudGVySW5jcmVtZW50KDAwRyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBhNXUsIEltbXV0YWJsZVN0cmluZygiYXRvbWlj
Q291bnRlckRlY3JlbWVudCgwMEciKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyNWN1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FkZCgwMEUwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNDF1LCBJbW11dGFibGVTdHJpbmco
ImF0b21pY0FkZCgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAxNWJ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01pbigwMEUwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOTR1LCBJbW11dGFibGVTdHJpbmcoImF0
b21pY01pbigwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzOTJ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01heCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwYjZ1LCBJbW11dGFibGVTdHJpbmcoImF0b21p
Y01heCgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAw
YzJ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FuZCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwN2F1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0Fu
ZCgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwYjN1
LCBJbW11dGFibGVTdHJpbmcoImF0b21pY09yKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDNjNnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljT3IoMDBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGE2dSwgSW1t
dXRhYmxlU3RyaW5nKCJhdG9taWNYb3IoMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMDZkdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNYb3IoMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGFmdSwgSW1tdXRh
YmxlU3RyaW5nKCJhdG9taWNFeGNoYW5nZSgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAxZjV1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0V4Y2hhbmdl
KDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzZHUs
IEltbXV0YWJsZVN0cmluZygiYXRvbWljQ29tcFN3YXAoMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWI0dSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9t
aWNDb21wU3dhcCgwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAxYWR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMHoiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYTZ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlU2l6ZSgwMUEiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
Mzd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZjZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgw
MUMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYjJ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAyYTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNmZ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlU2l6ZSgwMUYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAyZmF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUciKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZWZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
U2l6ZSgwMUgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZjB1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUkiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAyZWR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUoi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZWV1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlU2l6ZSgwMUsiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAyMDR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMHoxMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNWJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlTG9hZCgwMUExMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAxZTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUIxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZWN1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlTG9hZCgwMUMyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzNzF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUQyMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMGR1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlTG9hZCgwMUUyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxNWN1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01pbigwMEUwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOTZ1LCBJbW11dGFibGVTdHJpbmcoImF0b21p
Y01pbigwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
OTR1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01heCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYjd1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01h
eCgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYzN1
LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FuZCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwN2J1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FuZCgw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYjR1LCBJ
bW11dGFibGVTdHJpbmcoImF0b21pY09yKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDNjOHUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljT3IoMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGE3dSwgSW1tdXRh
YmxlU3RyaW5nKCJhdG9taWNYb3IoMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMDZldSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNYb3IoMDBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGIwdSwgSW1tdXRhYmxl
U3RyaW5nKCJhdG9taWNFeGNoYW5nZSgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAxZjd1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0V4Y2hhbmdlKDAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzZnUsIElt
bXV0YWJsZVN0cmluZygiYXRvbWljQ29tcFN3YXAoMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWI2dSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWND
b21wU3dhcCgwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAxYWZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMHoiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYTh1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
U2l6ZSgwMUEiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzl1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyZjh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyYjR1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlU2l6ZSgwMUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAyYTR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNzB1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlU2l6ZSgwMUYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAyZmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUciKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6
ZSgwMUgiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjJ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUkiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAyZWZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUoiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjB1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlU2l6ZSgwMUsiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyMDZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMHoxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWN1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlTG9hZCgwMUExMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAxZTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUIxMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZWV1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlTG9hZCgwMUMyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzNzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUQyMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
TG9hZCgwMUUyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAw
M2R1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUYyMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMGF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9h
ZCgwMUcyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZDl1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUgyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZDZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgw
MUkyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyMWR1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUoyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzYTd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlTG9hZCgwMUsy
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwZmR1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDB6MTBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTFldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAx
QTEwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIwY3Us
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VMb2FkKDAxRzIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDBkYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VMb2FkKDAx
SDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBkN3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VMb2FkKDAxSTIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDIxZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VMb2FkKDAxSjIw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhOXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VMb2FkKDAxSzIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDBmZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMHoxMEQz
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMWZ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFBMTBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDJjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAx
QjEwRDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJlOHUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUMyMEQzMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyNzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3Rv
cmUoMDFEMjBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MTc5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxRTIwRDMwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEyNHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VTdG9yZSgwMUYyMEQzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAyZWF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFDMjBEMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjc1dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZVN0b3JlKDAxRDIwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDE3YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUUyMEQzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxMjV1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlU3RvcmUoMDFGMjBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDAxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxRzIwRDMw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJkYnUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUgyMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAwNjB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFJ
MjBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMGQzdSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxSjIwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA4OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9y
ZSgwMUsyMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAy
YjF1LCBJbW11dGFibGVTdHJpbmcoIm1lbW9yeUJhcnJpZXIoIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDZhdSwgSW1tdXRhYmxlU3RyaW5nKCJtZW1vcnlCYXJy
aWVyQXRvbWljQ291bnRlcigiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAxYWJ1LCBJbW11dGFibGVTdHJpbmcoIm1lbW9yeUJhcnJpZXJCdWZmZXIoIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzdkdSwgSW1tdXRhYmxlU3RyaW5n
KCJtZW1vcnlCYXJyaWVySW1hZ2UoIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMTJjdSwgSW1tdXRhYmxlU3RyaW5nKCJiYXJyaWVyKCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIwMXUsIEltbXV0YWJsZVN0cmluZygibWVtb3J5
QmFycmllclNoYXJlZCgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAwNTh1LCBJbW11dGFibGVTdHJpbmcoImdyb3VwTWVtb3J5QmFycmllcigiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzN2Z1LCBJbW11dGFibGVTdHJpbmcoIkVt
aXRWZXJ0ZXgoIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmRk
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxSDIwRDMwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA2MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VT
dG9yZSgwMUkyMEQzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAwZDR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFKMjBEMzBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDg5dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZVN0b3JlKDAxSzIwRDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDJiM3UsIEltbXV0YWJsZVN0cmluZygibWVtb3J5QmFycmllcigiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNmJ1LCBJbW11dGFibGVTdHJpbmcoIm1l
bW9yeUJhcnJpZXJBdG9taWNDb3VudGVyKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDFhZHUsIEltbXV0YWJsZVN0cmluZygibWVtb3J5QmFycmllckJ1ZmZlcigi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzN2Z1LCBJbW11dGFi
bGVTdHJpbmcoIm1lbW9yeUJhcnJpZXJJbWFnZSgiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAxMmR1LCBJbW11dGFibGVTdHJpbmcoImJhcnJpZXIoIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjAzdSwgSW1tdXRhYmxlU3RyaW5n
KCJtZW1vcnlCYXJyaWVyU2hhcmVkKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDA1OXUsIEltbXV0YWJsZVN0cmluZygiZ3JvdXBNZW1vcnlCYXJyaWVyKCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4MXUsIEltbXV0YWJsZVN0
cmluZygiRW1pdFZlcnRleCgiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwMzd1LCBJbW11dGFibGVTdHJpbmcoIkVuZFByaW1pdGl2ZSgiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxOGR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVWaWRlb1dFQkdMKDAweTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDE0NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMHkxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNjB1LCBJbW11dGFibGVTdHJpbmcoImds
X0RlcHRoUmFuZ2VQYXJhbWV0ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMDg5dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9EZXB0aFJhbmdlIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzJidSwgSW1tdXRhYmxlU3RyaW5nKCJn
bF9NYXhWZXJ0ZXhBdHRyaWJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMzY2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhWZXJ0ZXhVbmlmb3JtVmVjdG9ycyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4ZnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVZpZGVvV0VCR0woMDB5MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAweTEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE2MXUsIEltbXV0
YWJsZVN0cmluZygiZ2xfRGVwdGhSYW5nZVBhcmFtZXRlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwOGF1LCBJbW11dGFibGVTdHJpbmcoImdsX0RlcHRoUmFu
Z2UiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMmR1LCBJbW11
dGFibGVTdHJpbmcoImdsX01heFZlcnRleEF0dHJpYnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNjh1LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZlcnRleFVu
aWZvcm1WZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MDQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhWZXJ0ZXhUZXh0dXJlSW1hZ2VVbml0cyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE1Y3UsIEltbXV0YWJsZVN0
cmluZygiZ2xfTWF4Q29tYmluZWRUZXh0dXJlSW1hZ2VVbml0cyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzYXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4VGV4
dHVyZUltYWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzMDV1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEZyYWdtZW50VW5pZm9ybVZlY3RvcnMiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjJ1LCBJbW11dGFibGVT
dHJpbmcoImdsX01heFZhcnlpbmdWZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMGU2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhEcmF3QnVmZmVycyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI4YXUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfTWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzRVhUIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMDhkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhW
ZXJ0ZXhPdXRwdXRWZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwMzg3dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhGcmFnbWVudElucHV0VmVjdG9ycyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE1ZHUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfTWF4Q29tYmluZWRUZXh0dXJlSW1hZ2VVbml0cyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzY3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4
VGV4dHVyZUltYWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzMDd1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEZyYWdtZW50VW5pZm9ybVZlY3RvcnMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNjR1LCBJbW11dGFi
bGVTdHJpbmcoImdsX01heFZhcnlpbmdWZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMGU3dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhEcmF3QnVmZmVy
cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI4Y3UsIEltbXV0
YWJsZVN0cmluZygiZ2xfTWF4RHVhbFNvdXJjZURyYXdCdWZmZXJzRVhUIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMDhldSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9N
YXhWZXJ0ZXhPdXRwdXRWZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzg5dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhGcmFnbWVudElucHV0VmVjdG9y
cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzMXUsIEltbXV0
YWJsZVN0cmluZygiZ2xfTWluUHJvZ3JhbVRleGVsT2Zmc2V0IikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjZldSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhQcm9n
cmFtVGV4ZWxPZmZzZXQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAwOTF1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEltYWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxZTd1LCBJbW11dGFibGVTdHJpbmcoImdsX01h
eFZlcnRleEltYWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAwYWN1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEZyYWdtZW50SW1hZ2VVbmlmb3Jt
cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI3MHUsIEltbXV0
YWJsZVN0cmluZygiZ2xfTWF4UHJvZ3JhbVRleGVsT2Zmc2V0IikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMDkydSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhJbWFn
ZVVuaXRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMWU5dSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhWZXJ0ZXhJbWFnZVVuaWZvcm1zIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMGFkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9N
YXhGcmFnbWVudEltYWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwMDl1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbXB1dGVJbWFnZVVuaWZv
cm1zIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWIzdSwgSW1t
dXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZEltYWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwYjJ1LAorICAgIEFTU0VSVF9FUSgweDAwMDAw
MWI1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZEltYWdlVW5pZm9ybXMiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwYjN1LAogICAgICAgICAgICAg
ICBJbW11dGFibGVTdHJpbmcoImdsX01heENvbWJpbmVkU2hhZGVyT3V0cHV0UmVzb3VyY2VzIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzAydSwgSW1tdXRhYmxl
U3RyaW5nKCJnbF9NYXhDb21wdXRlV29ya0dyb3VwQ291bnQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNTZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbXB1
dGVXb3JrR3JvdXBTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMmQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRlVW5pZm9ybUNvbXBvbmVudHMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxMTV1LCBJbW11dGFi
bGVTdHJpbmcoImdsX01heENvbXB1dGVUZXh0dXJlSW1hZ2VVbml0cyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5YXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4
Q29tcHV0ZUF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMGM1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRlQXRvbWljQ291bnRl
ckJ1ZmZlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOWN1
LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZlcnRleEF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjlldSwgSW1tdXRhYmxlU3RyaW5nKCJn
bF9NYXhGcmFnbWVudEF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMTFidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZEF0b21p
Y0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzA0
dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRlV29ya0dyb3VwQ291bnQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTd1LCBJbW11dGFibGVTdHJpbmco
ImdsX01heENvbXB1dGVXb3JrR3JvdXBTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMmRidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRlVW5pZm9y
bUNvbXBvbmVudHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAx
MTZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbXB1dGVUZXh0dXJlSW1hZ2VVbml0cyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5Y3UsIEltbXV0YWJsZVN0
cmluZygiZ2xfTWF4Q29tcHV0ZUF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGM2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRl
QXRvbWljQ291bnRlckJ1ZmZlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzOWV1LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZlcnRleEF0b21pY0NvdW50ZXJz
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmEwdSwgSW1tdXRh
YmxlU3RyaW5nKCJnbF9NYXhGcmFnbWVudEF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTFjdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhD
b21iaW5lZEF0b21pY0NvdW50ZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMDA3dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhBdG9taWNDb3VudGVyQmluZGlu
Z3MiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAwNjJ1LCBJbW11
dGFibGVTdHJpbmcoImdsX01heFZlcnRleEF0b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWVhdSwgSW1tdXRhYmxlU3RyaW5nKCJn
bF9NYXhGcmFnbWVudEF0b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjQydSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5l
ZEF0b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMmFhdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhBdG9taWNDb3VudGVyQnVmZmVy
U2l6ZSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDI1YnUsIElt
bXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlJbnB1dENvbXBvbmVudHMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAwNjN1LCBJbW11dGFibGVTdHJpbmcoImds
X01heFZlcnRleEF0b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMWVjdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhGcmFnbWVudEF0
b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZEF0b21pY0NvdW50ZXJC
dWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmFjdSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhBdG9taWNDb3VudGVyQnVmZmVyU2l6ZSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDI1ZHUsIEltbXV0YWJsZVN0cmluZygi
Z2xfTWF4R2VvbWV0cnlJbnB1dENvbXBvbmVudHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAwNDJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdlb21ldHJ5T3V0
cHV0Q29tcG9uZW50cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDI3N3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlJbWFnZVVuaWZvcm1zIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjc5dSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9NYXhHZW9tZXRyeUltYWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwNDN1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdlb21ldHJ5
VGV4dHVyZUltYWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAxMWZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdlb21ldHJ5T3V0cHV0VmVydGljZXMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyYmV1LAorICAgIEFT
U0VSVF9FUSgweDAwMDAwMTIwdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeU91dHB1
dFZlcnRpY2VzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmMw
dSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeVRvdGFsT3V0
cHV0Q29tcG9uZW50cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDEyZHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlVbmlmb3JtQ29tcG9uZW50cyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFmN3UsIEltbXV0YWJs
ZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2Vv
bWV0cnlBdG9taWNDb3VudGVyQnVmZmVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDBhOHUsIEltbXV0YWJsZVN0cmluZygiZ2xfRnJhZ0Nvb3JkIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmZmdSwgSW1tdXRhYmxlU3RyaW5n
KCJnbF9Gcm9udEZhY2luZyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDEyMXUsIEltbXV0YWJsZVN0cmluZygiZ2xfUG9pbnRDb29yZCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDA3YnUsIEltbXV0YWJsZVN0cmluZygiZ2xfRnJh
Z0NvbG9yIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzEydSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGF0YSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDE4NnUsIEltbXV0YWJsZVN0cmluZygiZ2xfRnJhZ0RlcHRoIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjE0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9IZWxwZXJJbnZvY2F0aW9uIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzAwdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9TZWNvbmRhcnlGcmFnQ29sb3JF
WFQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxYzV1LCBJbW11
dGFibGVTdHJpbmcoImdsX1NlY29uZGFyeUZyYWdEYXRhRVhUIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjkwdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGVw
dGhFWFQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNTl1LCBJ
bW11dGFibGVTdHJpbmcoImdsX0xhc3RGcmFnRGF0YSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE3M3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTGFzdEZyYWdDb2xv
ciIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxY3UsIEltbXV0
YWJsZVN0cmluZygiZ2xfTGFzdEZyYWdDb2xvckFSTSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDEyZXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlV
bmlmb3JtQ29tcG9uZW50cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDFmOXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVycyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNXUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVyQnVmZmVycyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBhOXUsIEltbXV0YWJsZVN0cmluZygiZ2xf
RnJhZ0Nvb3JkIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzAx
dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Gcm9udEZhY2luZyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDEyMnUsIEltbXV0YWJsZVN0cmluZygiZ2xfUG9pbnRDb29y
ZCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDA3Y3UsIEltbXV0
YWJsZVN0cmluZygiZ2xfRnJhZ0NvbG9yIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzE0dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGF0YSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE4OHUsIEltbXV0YWJsZVN0cmluZygi
Z2xfRnJhZ0RlcHRoIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MjE2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9IZWxwZXJJbnZvY2F0aW9uIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzAydSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9T
ZWNvbmRhcnlGcmFnQ29sb3JFWFQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAxYzd1LCBJbW11dGFibGVTdHJpbmcoImdsX1NlY29uZGFyeUZyYWdEYXRhRVhUIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjkydSwgSW1tdXRhYmxl
U3RyaW5nKCJnbF9GcmFnRGVwdGhFWFQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxNWF1LCBJbW11dGFibGVTdHJpbmcoImdsX0xhc3RGcmFnRGF0YSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDE3NHUsIEltbXV0YWJsZVN0cmlu
ZygiZ2xfTGFzdEZyYWdDb2xvciIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDMxZXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTGFzdEZyYWdDb2xvckFSTSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwNHUsIEltbXV0YWJsZVN0cmlu
ZygiZ2xfUHJpbWl0aXZlSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwMGZ1LCBJbW11dGFibGVTdHJpbmcoImdsX0xheWVyIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzNidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Qb3NpdGlv
biIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5M3UsIEltbXV0
YWJsZVN0cmluZygiZ2xfUG9pbnRTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMWU1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9JbnN0YW5jZUlEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzI0dSwgSW1tdXRhYmxlU3RyaW5n
KCJnbF9WZXJ0ZXhJRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDNjNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfRHJhd0lEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTU3dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9CYXNlVmVydGV4
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzJjdSwgSW1tdXRh
YmxlU3RyaW5nKCJnbF9CYXNlSW5zdGFuY2UiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzM2R1LCBJbW11dGFibGVTdHJpbmcoImdsX1Bvc2l0aW9uIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzk1dSwgSW1tdXRhYmxlU3RyaW5n
KCJnbF9Qb2ludFNpemUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAxZTd1LCBJbW11dGFibGVTdHJpbmcoImdsX0luc3RhbmNlSUQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMjZ1LCBJbW11dGFibGVTdHJpbmcoImdsX1ZlcnRl
eElEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2M2dSwgSW1t
dXRhYmxlU3RyaW5nKCJnbF9EcmF3SUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAxNTh1LCBJbW11dGFibGVTdHJpbmcoImdsX0Jhc2VWZXJ0ZXgiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMmV1LCBJbW11dGFibGVTdHJpbmco
ImdsX0Jhc2VJbnN0YW5jZSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDAwYnUsIEltbXV0YWJsZVN0cmluZygiYW5nbGVfQmFzZVZlcnRleCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzN3UsIEltbXV0YWJsZVN0cmluZygiYW5n
bGVfQmFzZUluc3RhbmNlIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMmQzdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9OdW1Xb3JrR3JvdXBzIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMjFldSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9X
b3JrR3JvdXBTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MWVidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Xb3JrR3JvdXBJRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDE3ZnUsIEltbXV0YWJsZVN0cmluZygiZ2xfTG9jYWxJ
bnZvY2F0aW9uSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAx
ZmZ1LCBJbW11dGFibGVTdHJpbmcoImdsX0dsb2JhbEludm9jYXRpb25JRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDFjYnUsIEltbXV0YWJsZVN0cmluZygiZ2xf
TG9jYWxJbnZvY2F0aW9uSW5kZXgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAwYzZ1LCBJbW11dGFibGVTdHJpbmcoImdsX1ByaW1pdGl2ZUlESW4iKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAxNTB1LCBJbW11dGFibGVTdHJpbmco
ImdsX0ludm9jYXRpb25JRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDIxMnUsIEltbXV0YWJsZVN0cmluZygiZ2xfUGVyVmVydGV4IikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9pbiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDIxNnUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfVmlld0lEX09WUiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDMzOXUsIEltbXV0YWJsZVN0cmluZygiYW5nbGVfQmFzZUluc3RhbmNlIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMTdmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9DbGlwRGlzdGFuY2UiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAwNTJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENsaXBEaXN0YW5jZXMiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZDV1LCBJbW11dGFibGVTdHJp
bmcoImdsX051bVdvcmtHcm91cHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAyMjB1LCBJbW11dGFibGVTdHJpbmcoImdsX1dvcmtHcm91cFNpemUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAxZWR1LCBJbW11dGFibGVTdHJpbmco
ImdsX1dvcmtHcm91cElEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMTgxdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Mb2NhbEludm9jYXRpb25JRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDIwMXUsIEltbXV0YWJsZVN0cmluZygi
Z2xfR2xvYmFsSW52b2NhdGlvbklEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMWNkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Mb2NhbEludm9jYXRpb25JbmRleCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDBjN3UsIEltbXV0YWJs
ZVN0cmluZygiZ2xfUHJpbWl0aXZlSURJbiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDE1MXUsIEltbXV0YWJsZVN0cmluZygiZ2xfSW52b2NhdGlvbklEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMjE0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9QZXJWZXJ0ZXgiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAxZGJ1LCBJbW11dGFibGVTdHJpbmcoImdsX2luIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjE4dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9WaWV3SURfT1ZS
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDFkdSwgSW1tdXRh
YmxlU3RyaW5nKCJyYWRpYW5zIikudW5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwMTB1LCBJbW11dGFibGVTdHJpbmcoImRlZ3JlZXMiKS51bm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA4MXUsIEltbXV0YWJsZVN0cmluZygic2luIiku
dW5tYW5nbGVkTmFtZUhhc2goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvSW1tdXRhYmxlU3RyaW5nX3Rlc3RfYXV0b2dlbi5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvSW1t
dXRhYmxlU3RyaW5nX3Rlc3RfYXV0b2dlbi5jcHAKaW5kZXggMjBkYjQ1OWU2MTQzYWJhMzYxNjM4
Yzk0MTVhMDA5OWZiNmI1NjRjNS4uYzM1MGQ3MDM0MzM3YTQzMWUxMWY3MGMzYzhhMjYxNjc3ZmNi
MTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBp
bGVyX3Rlc3RzL0ltbXV0YWJsZVN0cmluZ190ZXN0X2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9jb21waWxlcl90ZXN0cy9JbW11dGFibGVTdHJpbmdf
dGVzdF9hdXRvZ2VuLmNwcApAQCAtMjAsMzcyICsyMCwzNzIgQEAgVEVTVChJbW11dGFibGVTdHJp
bmdUZXN0LCBTY3JpcHRHZW5lcmF0ZWRIYXNoZXNNYXRjaCkKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDBjMnUsIEltbXV0YWJsZVN0cmluZygicmFkaWFucygxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYWZ1LCBJbW11dGFibGVTdHJpbmcoInJhZGlhbnMoMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjEwdSwgSW1tdXRh
YmxlU3RyaW5nKCJyYWRpYW5zKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDc2MnUsIEltbXV0YWJsZVN0cmluZygiZGVncmVlcygwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MTJ1LCBJbW11dGFibGVTdHJpbmcoImRl
Z3JlZXMoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzY0
dSwgSW1tdXRhYmxlU3RyaW5nKCJkZWdyZWVzKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDgxNHUsIEltbXV0YWJsZVN0cmluZygiZGVncmVlcygxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMzV1LCBJbW11dGFibGVT
dHJpbmcoImRlZ3JlZXMoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGQwdSwgSW1tdXRhYmxlU3RyaW5nKCJkZWdyZWVzKDMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxNnUsIEltbXV0YWJsZVN0cmluZygic2luKDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU2NnUsIEltbXV0
YWJsZVN0cmluZygic2luKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDdjOHUsIEltbXV0YWJsZVN0cmluZygic2luKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYxOHUsIEltbXV0YWJsZVN0cmluZygic2luKDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU2N3UsIEltbXV0YWJs
ZVN0cmluZygic2luKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDdjYXUsIEltbXV0YWJsZVN0cmluZygic2luKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5ZnUsIEltbXV0YWJsZVN0cmluZygic2luKDMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEzMXUsIEltbXV0YWJsZVN0
cmluZygiY29zKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDFkZXUsIEltbXV0YWJsZVN0cmluZygiY29zKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDg1MXUsIEltbXV0YWJsZVN0cmluZygiY29zKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDg1M3UsIEltbXV0YWJsZVN0cmlu
ZygiY29zKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5
OHUsIEltbXV0YWJsZVN0cmluZygiY29zKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDc4MXUsIEltbXV0YWJsZVN0cmluZygidGFuKDAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgyNHUsIEltbXV0YWJsZVN0cmluZygi
dGFuKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQyMnUs
IEltbXV0YWJsZVN0cmluZygidGFuKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDZkZXUsIEltbXV0YWJsZVN0cmluZygidGFuKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4M3UsIEltbXV0YWJsZVN0cmluZygidGFu
KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgyNnUsIElt
bXV0YWJsZVN0cmluZygidGFuKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDQyM3UsIEltbXV0YWJsZVN0cmluZygidGFuKDIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZlMHUsIEltbXV0YWJsZVN0cmluZygidGFuKDMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE0YXUsIEltbXV0
YWJsZVN0cmluZygiYXNpbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAxZmJ1LCBJbW11dGFibGVTdHJpbmcoImFzaW4oMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjY2dSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luKDIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcwNHUsIEltbXV0
YWJsZVN0cmluZygiYXNpbigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA2Njh1LCBJbW11dGFibGVTdHJpbmcoImFzaW4oMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzA2dSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luKDMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI1NnUsIEltbXV0
YWJsZVN0cmluZygiYWNvcygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAxYTB1LCBJbW11dGFibGVTdHJpbmcoImFjb3MoMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWIxdSwgSW1tdXRhYmxlU3RyaW5nKCJhY29zKDIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUwNnUsIEltbXV0
YWJsZVN0cmluZygiYWNvcygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3NzV1LCBJbW11dGFibGVTdHJpbmcoImF0YW4oMDBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWIzdSwgSW1tdXRhYmxlU3RyaW5nKCJhY29z
KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUwN3UsIElt
bXV0YWJsZVN0cmluZygiYWNvcygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA3Nzd1LCBJbW11dGFibGVTdHJpbmcoImF0YW4oMDBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDI1dSwgSW1tdXRhYmxlU3RyaW5nKCJh
dGFuKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU0
OXUsIEltbXV0YWJsZVN0cmluZygiYXRhbigyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0ZWV1LCBJbW11dGFibGVTdHJpbmcoImF0YW4oMzBCMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTRhdSwgSW1tdXRhYmxl
U3RyaW5nKCJhdGFuKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDRlZnUsIEltbXV0YWJsZVN0cmluZygiYXRhbigzMEIzMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMGZ1LCBJbW11dGFibGVTdHJpbmcoImF0YW4o
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjk2dSwgSW1t
dXRhYmxlU3RyaW5nKCJhdGFuKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDY5OHUsIEltbXV0YWJsZVN0cmluZygiYXRhbigxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNjl1LCBJbW11dGFibGVTdHJpbmcoImF0YW4o
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWMwdSwgSW1t
dXRhYmxlU3RyaW5nKCJhdGFuKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDFmY3UsIEltbXV0YWJsZVN0cmluZygic2luaCgwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MTR1LCBJbW11dGFibGVTdHJpbmcoInNpbmgo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzJkdSwgSW1t
dXRhYmxlU3RyaW5nKCJzaW5oKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDgxNnUsIEltbXV0YWJsZVN0cmluZygic2luaCgxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMmV1LCBJbW11dGFibGVTdHJpbmcoInNpbmgo
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmEwdSwgSW1t
dXRhYmxlU3RyaW5nKCJzaW5oKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDViOHUsIEltbXV0YWJsZVN0cmluZygiY29zaCgwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MDJ1LCBJbW11dGFibGVTdHJpbmcoImNvc2go
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWJhdSwgSW1t
dXRhYmxlU3RyaW5nKCJjb3NoKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDgwNHUsIEltbXV0YWJsZVN0cmluZygiY29zaCgxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNTh1LCBJbW11dGFibGVTdHJpbmcoImNvc2go
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTljdSwgSW1t
dXRhYmxlU3RyaW5nKCJjb3NoKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDY4NHUsIEltbXV0YWJsZVN0cmluZygidGFuaCgwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MWR1LCBJbW11dGFibGVTdHJpbmcoInRhbmgo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2M2dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0YW5oKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDU5ZXUsIEltbXV0YWJsZVN0cmluZygiY29zaCgzMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ODZ1LCBJbW11dGFibGVTdHJpbmcoInRhbmgo
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzFmdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0YW5oKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDdjOHUsIEltbXV0YWJsZVN0cmluZygidGFuaCgyMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMGJ1LCBJbW11dGFibGVTdHJpbmcoInRhbmgo
MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2I5dSwgSW1t
dXRhYmxlU3RyaW5nKCJhc2luaCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA4NTV1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdiYnUsIEltbXV0YWJsZVN0cmluZygiYXNp
bmgoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODU3dSwg
SW1tdXRhYmxlU3RyaW5nKCJhc2luaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAyYTV1LCBJbW11dGFibGVTdHJpbmcoImFzaW5oKDIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzNXUsIEltbXV0YWJsZVN0cmluZygi
YXNpbmgoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzM2
dSwgSW1tdXRhYmxlU3RyaW5nKCJhc2luaCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAwZDl1LCBJbW11dGFibGVTdHJpbmcoImFjb3NoKDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZiM3UsIEltbXV0YWJsZVN0cmlu
ZygiYWNvc2goMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NmI1dSwgSW1tdXRhYmxlU3RyaW5nKCJhY29zaCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyMmZ1LCBJbW11dGFibGVTdHJpbmcoImFjb3NoKDIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE4NnUsIEltbXV0YWJsZVN0
cmluZygiYWNvc2goMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMDVhdSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuaCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzB1LCBJbW11dGFibGVTdHJpbmcoImF0YW5oKDEwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVkYnUsIEltbXV0YWJs
ZVN0cmluZygiYXRhbmgoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNTI0dSwgSW1tdXRhYmxlU3RyaW5nKCJhdGFuaCgzMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MWV1LCBJbW11dGFibGVTdHJpbmcoInBvdygwMEIw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZGR1LCBJbW11
dGFibGVTdHJpbmcoImF0YW5oKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDUyNXUsIEltbXV0YWJsZVN0cmluZygiYXRhbmgoMzBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTFmdSwgSW1tdXRhYmxlU3RyaW5nKCJwb3co
MDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjcwdSwg
SW1tdXRhYmxlU3RyaW5nKCJwb3coMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNWYzdSwgSW1tdXRhYmxlU3RyaW5nKCJwb3coMjBCMjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzM5dSwgSW1tdXRhYmxlU3RyaW5n
KCJwb3coMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
M2M2dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNDZhdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWY1dSwgSW1tdXRhYmxlU3RyaW5n
KCJwb3coMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzNhdSwgSW1tdXRhYmxlU3RyaW5nKCJwb3coMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2M3dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDZidSwgSW1tdXRhYmxlU3Ry
aW5nKCJleHAoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MGQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMTdmdSwgSW1tdXRhYmxlU3RyaW5nKCJleHAoMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTgydSwgSW1tdXRhYmxlU3RyaW5n
KCJsb2coMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGRh
dSwgSW1tdXRhYmxlU3RyaW5nKCJsb2coMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMmM2dSwgSW1tdXRhYmxlU3RyaW5nKCJsb2coMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDlldSwgSW1tdXRhYmxlU3RyaW5nKCJs
b2coMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjRjdSwg
SW1tdXRhYmxlU3RyaW5nKCJleHAyKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDZlMXUsIEltbXV0YWJsZVN0cmluZygiZXhwMigxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Zjh1LCBJbW11dGFibGVTdHJpbmcoImV4
cDIoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTkzdSwg
SW1tdXRhYmxlU3RyaW5nKCJleHAyKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDcxY3UsIEltbXV0YWJsZVN0cmluZygibG9nMigwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2OWZ1LCBJbW11dGFibGVTdHJpbmcoImxv
ZzIoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjAwdSwg
SW1tdXRhYmxlU3RyaW5nKCJsb2cyKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDMwNnUsIEltbXV0YWJsZVN0cmluZygibG9nMigzMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMTh1LCBJbW11dGFibGVTdHJpbmcoInNx
cnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDlmdSwg
SW1tdXRhYmxlU3RyaW5nKCJsb2coMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNjRldSwgSW1tdXRhYmxlU3RyaW5nKCJleHAyKDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZlM3UsIEltbXV0YWJsZVN0cmluZygiZXhw
MigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Zjl1LCBJ
bW11dGFibGVTdHJpbmcoImV4cDIoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNTk1dSwgSW1tdXRhYmxlU3RyaW5nKCJleHAyKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcxZXUsIEltbXV0YWJsZVN0cmluZygibG9n
MigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YTF1LCBJ
bW11dGFibGVTdHJpbmcoImxvZzIoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNjAydSwgSW1tdXRhYmxlU3RyaW5nKCJsb2cyKDIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwN3UsIEltbXV0YWJsZVN0cmluZygibG9n
MigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMTl1LCBJ
bW11dGFibGVTdHJpbmcoInNxcnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMjg2dSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2ZXUsIEltbXV0YWJsZVN0cmluZygic3Fy
dCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYzV1LCBJ
bW11dGFibGVTdHJpbmcoInNxcnQoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzE5dSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDAwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2ZnUsIEltbXV0YWJsZVN0cmluZygic3Fy
dCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYzZ1LCBJ
bW11dGFibGVTdHJpbmcoInNxcnQoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzFhdSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDAwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4NXUsIEltbXV0YWJsZVN0cmluZygic3Fy
dCgxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0NmZ1LCBJ
bW11dGFibGVTdHJpbmcoInNxcnQoMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwM2M0dSwgSW1tdXRhYmxlU3RyaW5nKCJzcXJ0KDMwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3MHUsIEltbXV0YWJsZVN0cmluZygic3Fy
dCgyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYzV1LCBJ
bW11dGFibGVTdHJpbmcoInNxcnQoMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDNjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNlc3FydCgwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjB1LCBJbW11dGFibGVTdHJp
bmcoImludmVyc2VzcXJ0KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDdmMnUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJzZXNxcnQoMTBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTUydSwgSW1tdXRhYmxlU3RyaW5nKCJp
bnZlcnNlc3FydCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAwZDF1LCBJbW11dGFibGVTdHJpbmcoImludmVyc2VzcXJ0KDMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzYnUsIEltbXV0YWJsZVN0cmluZygiaW52ZXJz
ZXNxcnQoMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2Yx
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNlc3FydCgxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjN1LCBJbW11dGFibGVTdHJpbmcoImludmVyc2VzcXJ0
KDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE1MXUsIElt
bXV0YWJsZVN0cmluZygiaW52ZXJzZXNxcnQoMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMGQydSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNlc3FydCgzMEMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNmN1LCBJbW11dGFi
bGVTdHJpbmcoImFicygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzNmR1LCBJbW11dGFibGVTdHJpbmcoImFicygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyZGR1LCBJbW11dGFibGVTdHJpbmcoImFicygxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNGJ1LCBJbW11dGFibGVT
dHJpbmcoImFicygyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1ZTZ1LCBJbW11dGFibGVTdHJpbmcoImFicygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNmF1LCBJbW11dGFibGVTdHJpbmcoImFicygwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZTh1LCBJbW11dGFibGVTdHJp
bmcoImFicygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
NmJ1LCBJbW11dGFibGVTdHJpbmcoImFicygwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyZGN1LCBJbW11dGFibGVTdHJpbmcoImFicygxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNDl1LCBJbW11dGFibGVTdHJpbmco
ImFicygyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjJ1
LCBJbW11dGFibGVTdHJpbmcoImFicygzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzNmJ1LCBJbW11dGFibGVTdHJpbmcoImFicygwMEMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjR1LCBJbW11dGFibGVTdHJpbmcoImFi
cygzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNmN1LCBJ
bW11dGFibGVTdHJpbmcoImFicygwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAyZGV1LCBJbW11dGFibGVTdHJpbmcoImFicygxMEMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNGF1LCBJbW11dGFibGVTdHJpbmcoImFicygy
MEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjR1LCBJbW11
dGFibGVTdHJpbmcoImFicygzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZjZ1LCBJbW11dGFibGVTdHJpbmcoImFicygzMEMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYzl1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjQ0dSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDY0NnUsIEltbXV0YWJsZVN0cmluZygic2lnbigxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZDB1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGU3dSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDViZHUsIEltbXV0YWJsZVN0cmluZygic2lnbigwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MDZ1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMTBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWJmdSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDgwOHUsIEltbXV0YWJsZVN0cmluZygic2lnbigxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNTl1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGU5dSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDViN3UsIEltbXV0YWJsZVN0cmluZygic2lnbigwMEMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MDN1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMTBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWI5dSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDgwNXUsIEltbXV0YWJsZVN0cmluZygic2lnbigxMEMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNTd1LCBJbW11dGFibGVTdHJpbmcoInNpZ24oMjBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGU4dSwgSW1tdXRh
YmxlU3RyaW5nKCJzaWduKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDQyNHUsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDI1dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9vcigw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMjZ1LCBJbW11
dGFibGVTdHJpbmcoImZsb29yKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDU3NXUsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9v
cigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MjN1LCBJ
bW11dGFibGVTdHJpbmcoImZsb29yKDAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDU3N3UsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJm
bG9vcigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MjR1
LCBJbW11dGFibGVTdHJpbmcoImZsb29yKDAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDEyN3UsIEltbXV0YWJsZVN0cmluZygiZmxvb3IoMTBDIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTc0dSwgSW1tdXRhYmxlU3RyaW5n
KCJmbG9vcigyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0
ZDl1LCBJbW11dGFibGVTdHJpbmcoImZsb29yKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZkNnUsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjM4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0cnVuYygxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA4MjF1LCBJbW11dGFibGVTdHJpbmcoInRydW5jKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDc3OXUsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzkzdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0cnVuYygwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA2Mzl1LCBJbW11dGFibGVTdHJpbmcoInRydW5jKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgyMHUsIEltbXV0YWJsZVN0cmluZygidHJ1bmMoMjBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzdhdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0cnVuYygzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA1NzZ1LCBJbW11dGFibGVTdHJpbmcoImZsb29yKDIwQyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRkYXUsIEltbXV0YWJsZVN0cmluZygiZmxvb3Io
MzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmQ4dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0cnVuYygwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA2M2F1LCBJbW11dGFibGVTdHJpbmcoInRydW5jKDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgyM3UsIEltbXV0YWJsZVN0cmluZygidHJ1
bmMoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzdidSwg
SW1tdXRhYmxlU3RyaW5nKCJ0cnVuYygzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA3OTV1LCBJbW11dGFibGVTdHJpbmcoInRydW5jKDAwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzYnUsIEltbXV0YWJsZVN0cmluZygi
dHJ1bmMoMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODIy
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0cnVuYygyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA3N2N1LCBJbW11dGFibGVTdHJpbmcoInRydW5jKDMwQyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA4MnUsIEltbXV0YWJsZVN0cmlu
Zygicm91bmQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
ODJmdSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNzl1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZlOHUsIEltbXV0YWJsZVN0
cmluZygicm91bmQoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwODMxdSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzN2F1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZlYXUsIEltbXV0YWJs
ZVN0cmluZygicm91bmQoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDgxdSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgwMEMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MzB1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDEw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3NnUsIEltbXV0
YWJsZVN0cmluZygicm91bmQoMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNmU5dSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgzMEMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZDl1LCBJbW11dGFibGVTdHJpbmcoInJvdW5k
RXZlbigwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MjJ1
LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA4MzJ1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kKDEwQyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM3N3UsIEltbXV0YWJsZVN0
cmluZygicm91bmQoMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNmVidSwgSW1tdXRhYmxlU3RyaW5nKCJyb3VuZCgzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZGJ1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MjN1LCBJbW11
dGFibGVTdHJpbmcoInJvdW5kRXZlbigxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAyY2N1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigyMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMmR1LCBJbW11dGFibGVTdHJp
bmcoInJvdW5kRXZlbigzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA1ZDh1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigwMEMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MjN1LCBJbW11dGFibGVTdHJpbmcoInJvdW5k
RXZlbigxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZGF1
LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1MjR1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigxMEMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyY2J1LCBJbW11dGFi
bGVTdHJpbmcoInJvdW5kRXZlbigyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAyMmV1LCBJbW11dGFibGVTdHJpbmcoInJvdW5kRXZlbigzMEMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YTN1LCBJbW11dGFibGVTdHJpbmco
ImNlaWwoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2E1
dSwgSW1tdXRhYmxlU3RyaW5nKCJjZWlsKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDFjM3UsIEltbXV0YWJsZVN0cmluZygiY2VpbCgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNzh1LCBJbW11dGFibGVTdHJpbmco
ImNlaWwoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWM3
dSwgSW1tdXRhYmxlU3RyaW5nKCJjZWlsKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDdhMnUsIEltbXV0YWJsZVN0cmluZygiY2VpbCgwMEMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YTR1LCBJbW11dGFibGVTdHJpbmco
ImNlaWwoMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDJj
dSwgSW1tdXRhYmxlU3RyaW5nKCJjZWlsKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDI3N3UsIEltbXV0YWJsZVN0cmluZygiY2VpbCgyMEMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMDN1LCBJbW11dGFibGVTdHJpbmco
ImNlaWwoMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTEw
dSwgSW1tdXRhYmxlU3RyaW5nKCJmcmFjdCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA0NWZ1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNiMXUsIEltbXV0YWJsZVN0cmlu
ZygiZnJhY3QoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzA0dSwgSW1tdXRhYmxlU3RyaW5nKCJjZWlsKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDUxMXUsIEltbXV0YWJsZVN0cmluZygiZnJhY3QoMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDYwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJmcmFjdCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzYjJ1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDIxMXUsIEltbXV0YWJsZVN0cmluZygiZnJhY3QoMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTBmdSwgSW1tdXRhYmxl
U3RyaW5nKCJmcmFjdCgwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0NjB1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDEwQyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNiMHUsIEltbXV0YWJsZVN0cmluZygiZnJhY3QoMjBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA5dSwgSW1tdXRh
YmxlU3RyaW5nKCJmcmFjdCgzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA1MWZ1LCBJbW11dGFibGVTdHJpbmcoIm1vZCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MTB1LCBJbW11dGFibGVTdHJpbmcoIm1vZCgx
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2Yjd1LCBJ
bW11dGFibGVTdHJpbmcoIm1vZCgyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1MTB1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDAwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2MXUsIEltbXV0YWJsZVN0cmluZygi
ZnJhY3QoMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Ix
dSwgSW1tdXRhYmxlU3RyaW5nKCJmcmFjdCgyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzMGF1LCBJbW11dGFibGVTdHJpbmcoImZyYWN0KDMwQyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUyMHUsIEltbXV0YWJsZVN0cmlu
ZygibW9kKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDcxMnUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDZiOXUsIEltbXV0YWJsZVN0cmluZygibW9kKDIwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBmM3UsIEltbXV0YWJs
ZVN0cmluZygibW9kKDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDdkY3UsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU2OHUsIEltbXV0YWJsZVN0cmluZygibW9kKDIw
QjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU4ZXUsIElt
bXV0YWJsZVN0cmluZygibW9kKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDdkZXUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQjEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU2YXUsIEltbXV0YWJsZVN0cmluZygi
bW9kKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU5
MHUsIEltbXV0YWJsZVN0cmluZygibW9kKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA0N3UsIEltbXV0YWJsZVN0cmluZygibW9kKDAwQzAwQyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlZXUsIEltbXV0YWJsZVN0
cmluZygibW9kKDEwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDVmMHUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFhN3UsIEltbXV0YWJsZVN0cmluZygibW9kKDIwQzAw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDg0YnUsIEltbXV0
YWJsZVN0cmluZygibW9kKDMwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDJmYnUsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQzEwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwOHUsIEltbXV0YWJsZVN0cmluZygibW9k
KDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQyN3Us
IEltbXV0YWJsZVN0cmluZygibW9kKDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDc1Y3UsIEltbXV0YWJsZVN0cmluZygibWluKDAwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDg0ZHUsIEltbXV0YWJsZVN0cmlu
ZygibW9kKDMwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDJmY3UsIEltbXV0YWJsZVN0cmluZygibW9kKDEwQzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwOXUsIEltbXV0YWJsZVN0cmluZygibW9kKDIwQzIwQyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQyOHUsIEltbXV0YWJs
ZVN0cmluZygibW9kKDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDc1ZXUsIEltbXV0YWJsZVN0cmluZygibWluKDAwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI0MHUsIEltbXV0YWJsZVN0cmluZygibWluKDEw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4MnUsIElt
bXV0YWJsZVN0cmluZygibWluKDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDQ2OHUsIEltbXV0YWJsZVN0cmluZygibWluKDMwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2OXUsIEltbXV0YWJsZVN0cmluZygi
bWluKDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI2
ZHUsIEltbXV0YWJsZVN0cmluZygibWluKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDc4OXUsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4ZXUsIEltbXV0YWJsZVN0
cmluZygibWluKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDc4YnUsIEltbXV0YWJsZVN0cmluZygibWluKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY5MHUsIEltbXV0YWJsZVN0cmluZygibWluKDMwQjMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzOXUsIEltbXV0
YWJsZVN0cmluZygibWluKDAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDYyY3UsIEltbXV0YWJsZVN0cmluZygibWluKDEwQzEwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc0MXUsIEltbXV0YWJsZVN0cmluZygibWlu
KDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQxY3Us
IEltbXV0YWJsZVN0cmluZygibWluKDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDZjYnUsIEltbXV0YWJsZVN0cmluZygibWluKDEwQzAwQyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NXUsIEltbXV0YWJsZVN0cmlu
ZygibWluKDIwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDYyZXUsIEltbXV0YWJsZVN0cmluZygibWluKDEwQzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDc0M3UsIEltbXV0YWJsZVN0cmluZygibWluKDIwQzIwQyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQxZHUsIEltbXV0YWJs
ZVN0cmluZygibWluKDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDZjZHUsIEltbXV0YWJsZVN0cmluZygibWluKDEwQzAwQyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4NnUsIEltbXV0YWJsZVN0cmluZygibWluKDIw
QzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNnUsIElt
bXV0YWJsZVN0cmluZygibWluKDMwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDFkNHUsIEltbXV0YWJsZVN0cmluZygibWluKDAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0ZnUsIEltbXV0YWJsZVN0cmluZygi
bWluKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdi
ZnUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdhYnUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRDMwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM5MHUsIEltbXV0YWJsZVN0
cmluZygibWluKDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDY3YnUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDg0NXUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0YnUsIEltbXV0
YWJsZVN0cmluZygibWluKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDgyZHUsIEltbXV0YWJsZVN0cmluZygibWluKDEwRTEwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2NXUsIEltbXV0YWJsZVN0cmluZygibWlu
KDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ1MHUs
IEltbXV0YWJsZVN0cmluZygibWluKDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDdjMXUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDIwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdhZHUsIEltbXV0YWJsZVN0cmlu
ZygibWluKDMwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDM5MXUsIEltbXV0YWJsZVN0cmluZygibWluKDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDY3ZHUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDg0N3UsIEltbXV0YWJs
ZVN0cmluZygibWluKDMwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM0Y3UsIEltbXV0YWJsZVN0cmluZygibWluKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgyZnUsIEltbXV0YWJsZVN0cmluZygibWluKDEw
RTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY2N3UsIElt
bXV0YWJsZVN0cmluZygibWluKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDI0ZHUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTMwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA3ZHUsIEltbXV0YWJsZVN0cmluZygi
bWluKDEwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc4
MnUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDUxMXUsIEltbXV0YWJsZVN0cmluZygibWluKDMwRTAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRmM3UsIEltbXV0YWJsZVN0
cmluZygibWF4KDAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDdiM3UsIEltbXV0YWJsZVN0cmluZygibWF4KDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4NHUsIEltbXV0YWJsZVN0cmluZygibWluKDIwRTAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUxMnUsIEltbXV0
YWJsZVN0cmluZygibWluKDMwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDRmNHUsIEltbXV0YWJsZVN0cmluZygibWF4KDAwQjAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdiNXUsIEltbXV0YWJsZVN0cmluZygibWF4
KDEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIzN3Us
IEltbXV0YWJsZVN0cmluZygibWF4KDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDM2MHUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM2MXUsIEltbXV0YWJsZVN0cmlu
ZygibWF4KDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDFmOHUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDViM3UsIEltbXV0YWJsZVN0cmluZygibWF4KDIwQjIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDViNXUsIEltbXV0YWJs
ZVN0cmluZygibWF4KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDBhOXUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgyM3UsIEltbXV0YWJsZVN0cmluZygibWF4KDAw
QzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlNHUsIElt
bXV0YWJsZVN0cmluZygibWF4KDEwQzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDgyNXUsIEltbXV0YWJsZVN0cmluZygibWF4KDAwQzAwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVlNnUsIEltbXV0YWJsZVN0cmluZygi
bWF4KDEwQzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFm
N3UsIEltbXV0YWJsZVN0cmluZygibWF4KDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM3ZXUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwQzMwQyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4OHUsIEltbXV0YWJsZVN0
cmluZygibWF4KDEwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDU5NXUsIEltbXV0YWJsZVN0cmluZygibWF4KDIwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJlOHUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwQzAw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM3ZnUsIEltbXV0
YWJsZVN0cmluZygibWF4KDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDY4YXUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwQzAwQyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU5N3UsIEltbXV0YWJsZVN0cmluZygibWF4
KDIwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlOXUs
IEltbXV0YWJsZVN0cmluZygibWF4KDMwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDJkNHUsIEltbXV0YWJsZVN0cmluZygibWF4KDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3MXUsIEltbXV0YWJsZVN0cmlu
ZygibWF4KDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDU3MHUsIEltbXV0YWJsZVN0cmluZygibWF4KDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDNjN3UsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRDMwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRkNXUsIEltbXV0YWJs
ZVN0cmluZygibWF4KDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDZiZnUsIEltbXV0YWJsZVN0cmluZygibWF4KDIwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU3M3UsIEltbXV0YWJsZVN0cmluZygibWF4KDEw
RDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU3MnUsIElt
bXV0YWJsZVN0cmluZygibWF4KDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDNjOHUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRDMwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRkNnUsIEltbXV0YWJsZVN0cmluZygi
bWF4KDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZj
MXUsIEltbXV0YWJsZVN0cmluZygibWF4KDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA0MHUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY0NXUsIEltbXV0YWJsZVN0
cmluZygibWF4KDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDY0N3UsIEltbXV0YWJsZVN0cmluZygibWF4KDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBhOHUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwRTEw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJkYXUsIEltbXV0
YWJsZVN0cmluZygibWF4KDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDMwY3UsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRTMwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyN3UsIEltbXV0YWJsZVN0cmluZygibWF4
KDEwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwZHUs
IEltbXV0YWJsZVN0cmluZygibWF4KDMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDMyOHUsIEltbXV0YWJsZVN0cmluZygibWF4KDEwRTAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE5NnUsIEltbXV0YWJsZVN0cmlu
ZygibWF4KDIwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDcwYnUsIEltbXV0YWJsZVN0cmluZygibWF4KDMwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDcyMnUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMDBCMDBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGUzdSwgSW1t
dXRhYmxlU3RyaW5nKCJjbGFtcCgxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA1YWJ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDIwQjAwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRkMnUsIEltbXV0YWJs
ZVN0cmluZygiY2xhbXAoMzBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNzBkdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXgoMzBFMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzI0dSwgSW1tdXRhYmxlU3RyaW5nKCJj
bGFtcCgwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0ZTR1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVhZHUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAo
MjBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGQz
dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzJ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwQjEw
QjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgxZHUsIElt
bXV0YWJsZVN0cmluZygiY2xhbXAoMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwODFmdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgyMEIyMEIyMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjZ1LCBJbW11dGFi
bGVTdHJpbmcoImNsYW1wKDMwQjMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDMyNHUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMDBDMDBDMDBDIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDhidSwgSW1tdXRhYmxlU3Ry
aW5nKCJjbGFtcCgxMEMwMEMwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzMjV1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDAwQzAwQzAwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4Y3UsIEltbXV0YWJsZVN0cmluZygi
Y2xhbXAoMTBDMDBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjYxdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgyMEMwMEMwMEMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMmJ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1w
KDMwQzAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcy
NnUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMTBDMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMzJjdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEMw
MEMwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3Mjh1LCBJ
bW11dGFibGVTdHJpbmcoImNsYW1wKDEwQzEwQzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA3M3UsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBDMjBDMjBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjk4dSwgSW1tdXRh
YmxlU3RyaW5nKCJjbGFtcCgzMEMzMEMzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0ZDd1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDAwRDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY5YXUsIEltbXV0YWJsZVN0
cmluZygiY2xhbXAoMzBDMzBDMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNGQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgwMEQwMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMWR1LCBJbW11dGFibGVTdHJpbmco
ImNsYW1wKDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDBmMXUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDE0dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFt
cCgzMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
YWF1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDEwRDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyMXUsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMjBE
MjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWVidSwg
SW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgzMEQzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0MTV1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDMwRDAwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZhY3UsIEltbXV0
YWJsZVN0cmluZygiY2xhbXAoMTBEMTBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMzIydSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgyMEQyMEQyMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZWR1LCBJbW11dGFibGVT
dHJpbmcoImNsYW1wKDMwRDMwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDIyN3UsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMDBFMDBFMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWRjdSwgSW1tdXRhYmxlU3RyaW5n
KCJjbGFtcCgxMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA3ZmJ1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDIwRTAwRTAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVkZXUsIEltbXV0YWJsZVN0cmluZygiY2xh
bXAoMTBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
N2ZkdSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgyMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNDl1LCBJbW11dGFibGVTdHJpbmcoImNsYW1wKDMw
RTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBhYXUs
IEltbXV0YWJsZVN0cmluZygiY2xhbXAoMTBFMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjg3dSwgSW1tdXRhYmxlU3RyaW5nKCJjbGFtcCgyMEUyMEUy
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YjF1LCBJbW11
dGFibGVTdHJpbmcoImNsYW1wKDMwRTMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDZiM3UsIEltbXV0YWJsZVN0cmluZygiY2xhbXAoMzBFMzBFMzBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjRmdSwgSW1tdXRhYmxl
U3RyaW5nKCJtaXgoMDBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNWU5dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBCMTBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWVidSwgSW1tdXRhYmxlU3RyaW5nKCJt
aXgoMTBCMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MDFidSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBCMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjgydSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBCMzBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTNkdSwgSW1t
dXRhYmxlU3RyaW5nKCJtaXgoMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwODQxdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBCMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2JmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJtaXgoMzBCMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNDEydSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBDMDBDMDBDIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjE4dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgo
MTBDMTBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDA0
dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBDMjBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNmJjdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBDMzBDMDBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODQ0dSwgSW1tdXRh
YmxlU3RyaW5nKCJtaXgoMTBDMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNjg0dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBCMzBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTNldSwgSW1tdXRhYmxlU3RyaW5n
KCJtaXgoMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwODQzdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2MwdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBC
MzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDEzdSwg
SW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBDMDBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNjFhdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBDMTBDMDBDIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDA1dSwgSW1tdXRhYmxl
U3RyaW5nKCJtaXgoMjBDMjBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNmJldSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBDMzBDMDBDIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJt
aXgoMTBDMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MjlidSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBDMjBDMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzYwdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBDMzBD
MzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzYydSwgSW1t
dXRhYmxlU3RyaW5nKCJtaXgoMzBDMzBDMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMjUwdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBCMDBCMDBGIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTNidSwgSW1tdXRhYmxlU3Ry
aW5nKCJtaXgoMTBCMTBCMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNTNjdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBCMTBCMTBGIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTVidSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgo
MjBCMjBCMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Jl
dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBCMzBCMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2JmdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBCMzBCMzBG
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTc0dSwgSW1tdXRh
YmxlU3RyaW5nKCJtaXgoMDBDMDBDMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNThmdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBDMTBDMTBGIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTkxdSwgSW1tdXRhYmxlU3RyaW5n
KCJtaXgoMTBDMTBDMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjk4dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBDMjBDMjBGIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzVmdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBD
MzBDMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmVkdSwg
SW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBEMDBEMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNzYxdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBDMzBDMzBGIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmVldSwgSW1tdXRhYmxl
U3RyaW5nKCJtaXgoMDBEMDBEMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMmM0dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBEMTBEMTBGIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDM0dSwgSW1tdXRhYmxlU3RyaW5nKCJt
aXgoMjBEMjBEMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MTIxdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBEMzBEMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmVidSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBFMDBF
MDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2UydSwgSW1t
dXRhYmxlU3RyaW5nKCJtaXgoMTBFMTBFMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNDE1dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMjBFMjBFMjBGIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmVjdSwgSW1tdXRhYmxlU3Ry
aW5nKCJtaXgoMDBFMDBFMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwN2U0dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBFMTBFMTBGIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDE2dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgo
MjBFMjBFMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjY0
dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBFMzBFMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTgzdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMDBGMDBGMDBG
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2NldSwgSW1tdXRh
YmxlU3RyaW5nKCJtaXgoMTBGMTBGMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwM2NmdSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMTBGMTBGMTBGIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWI1dSwgSW1tdXRhYmxlU3RyaW5n
KCJtaXgoMjBGMjBGMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJtaXgoMzBGMzBGMzBGIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzM5dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDczYnUsIElt
bXV0YWJsZVN0cmluZygic3RlcCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxNmF1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAoMTBCMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDhidSwgSW1tdXRhYmxlU3RyaW5n
KCJzdGVwKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM2M3UsIEltbXV0YWJsZVN0cmluZygic3RlcCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2OWF1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAoMDBCMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDQzdSwgSW1tdXRh
YmxlU3RyaW5nKCJzdGVwKDAwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDM3OHUsIEltbXV0YWJsZVN0cmluZygic3RlcCgwMEIzMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNjR1LCBJbW11dGFibGVTdHJpbmcoInN0
ZXAoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjlj
dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ0NHUsIEltbXV0YWJsZVN0cmluZygic3RlcCgwMEIyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNzl1LCBJbW11dGFibGVT
dHJpbmcoInN0ZXAoMDBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDZkdSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQzAwQyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU1NHUsIEltbXV0YWJsZVN0cmluZygic3RlcCgx
MEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NTV1LCBJ
bW11dGFibGVTdHJpbmcoInN0ZXAoMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDIwQzIwQyIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNiYXUsIEltbXV0YWJsZVN0cmlu
Zygic3RlcCgzMEMzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDAzYmJ1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAoMzBDMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTAydSwgSW1tdXRhYmxlU3RyaW5nKCJzdGVwKDAwQzEw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3Y3UsIEltbXV0
YWJsZVN0cmluZygic3RlcCgwMEMyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0NDV1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAoMDBDMzBDIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzlidSwgSW1tdXRhYmxlU3RyaW5nKCJz
bW9vdGhzdGVwKDAwQzAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM3ZHUsIEltbXV0YWJsZVN0cmluZygic3RlcCgwMEMyMEMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NDZ1LCBJbW11dGFibGVTdHJpbmcoInN0ZXAo
MDBDMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzlkdSwg
SW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDAwQzAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI0MnUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3Rl
cCgxMEMxMEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1
Mzh1LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMjBDMjBDMjBDIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGY5dSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9v
dGhzdGVwKDMwQzMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDZlZXUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgwMEMwMEMxMEMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Mzl1LCBJbW11dGFibGVTdHJpbmco
InNtb290aHN0ZXAoMjBDMjBDMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNGZhdSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDMwQzMwQzMwQyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZmMHUsIEltbXV0YWJsZVN0
cmluZygic21vb3Roc3RlcCgwMEMwMEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAwODd1LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMDBDMDBDMjBD
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2M5dSwgSW1tdXRh
YmxlU3RyaW5nKCJzbW9vdGhzdGVwKDAwQzAwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDYwN3UsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgwMEIw
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzM2J1LCBJ
bW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwN2NidSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVw
KDAwQzAwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYw
OXUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzM2N1LCBJbW11dGFibGVTdHJpbmcoInNtb290
aHN0ZXAoMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjA4dSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDIwQjIwQjIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFkMXUsIEltbXV0YWJsZVN0cmluZygi
c21vb3Roc3RlcCgzMEIzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA1NTd1LCBJbW11dGFibGVTdHJpbmcoInNtb290aHN0ZXAoMDBCMDBCMTBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmYxdSwgSW1tdXRhYmxlU3Ry
aW5nKCJzbW9vdGhzdGVwKDAwQjAwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDU1OHUsIEltbXV0YWJsZVN0cmluZygic21vb3Roc3RlcCgwMEIwMEIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjJ1LCBJbW11dGFi
bGVTdHJpbmcoInNtb290aHN0ZXAoMDBCMDBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMWI2dSwgSW1tdXRhYmxlU3RyaW5nKCJzbW9vdGhzdGVwKDAwQjAw
QjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQyZXUsIElt
bXV0YWJsZVN0cmluZygibW9kZigwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA0MmZ1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMDBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDRmdSwgSW1tdXRhYmxlU3RyaW5n
KCJtb2RmKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDU4MnUsIEltbXV0YWJsZVN0cmluZygibW9kZigyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ODR1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMjBCMjBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmNhdSwgSW1tdXRh
YmxlU3RyaW5nKCJtb2RmKDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDVkMXUsIEltbXV0YWJsZVN0cmluZygibW9kZigwMEMwMEMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZjJ1LCBJbW11dGFibGVTdHJpbmcoIm1v
ZGYoMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDIx
dSwgSW1tdXRhYmxlU3RyaW5nKCJtb2RmKDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJlMXUsIEltbXV0YWJsZVN0cmluZygibW9kZigzMEMzMEMiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNDR1LCBJbW11dGFibGVT
dHJpbmcoImlzbmFuKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDQwOXUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzA1dSwgSW1tdXRhYmxlU3RyaW5nKCJpc25hbigyMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0M2J1LCBJbW11dGFi
bGVTdHJpbmcoImlzbmFuKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDM0NXUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMDBDIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDA4dSwgSW1tdXRhYmxlU3RyaW5nKCJpc25hbigx
MEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MDZ1LCBJbW11
dGFibGVTdHJpbmcoImlzbmFuKDIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDdiNnUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMzBDIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWQzdSwgSW1tdXRhYmxlU3RyaW5nKCJtb2Rm
KDAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNmM3Us
IEltbXV0YWJsZVN0cmluZygibW9kZigxMEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA0MjJ1LCBJbW11dGFibGVTdHJpbmcoIm1vZGYoMjBDMjBDIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmUydSwgSW1tdXRhYmxlU3Ry
aW5nKCJtb2RmKDMwQzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDM0NXUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNDBhdSwgSW1tdXRhYmxlU3RyaW5nKCJpc25hbigxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MDd1LCBJbW11dGFi
bGVTdHJpbmcoImlzbmFuKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDQzY3UsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJpc25hbigw
MEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MDl1LCBJbW11
dGFibGVTdHJpbmcoImlzbmFuKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDcwOHUsIEltbXV0YWJsZVN0cmluZygiaXNuYW4oMjBDIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2I4dSwgSW1tdXRhYmxlU3RyaW5nKCJpc25h
bigzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZWZ1LCBJ
bW11dGFibGVTdHJpbmcoImlzaW5mKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDE5YXUsIEltbXV0YWJsZVN0cmluZygiaXNpbmYoMTBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODJhdSwgSW1tdXRhYmxlU3RyaW5nKCJp
c2luZigyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MmN1
LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA3N3UsIEltbXV0YWJsZVN0cmluZygiaXNpbmYoMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGYwdSwgSW1tdXRhYmxlU3RyaW5n
KCJpc2luZigwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAx
OTl1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDcyYXUsIEltbXV0YWJsZVN0cmluZygiaXNpbmYoMjBDIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzJjdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpc2luZigyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAyYzF1LCBJbW11dGFibGVTdHJpbmcoImlzaW5mKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDQxOXUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9J
bnQoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDE2dSwg
SW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNUb0ludCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MWF1LCBJbW11dGFibGVTdHJpbmcoImZsb2F0Qml0c1Rv
SW50KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQxN3Us
IEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9JbnQoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmQydSwgSW1tdXRhYmxlU3RyaW5nKCJmbG9hdEJpdHNU
b0ludCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzZ1
LCBJbW11dGFibGVTdHJpbmcoImZsb2F0Qml0c1RvSW50KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQxYnUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRz
VG9VaW50KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5
MnUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9VaW50KDEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQxY3UsIEltbXV0YWJsZVN0cmluZygiZmxvYXRC
aXRzVG9VaW50KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDQ5M3UsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9VaW50KDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAzMnUsIEltbXV0YWJsZVN0cmluZygiZmxv
YXRCaXRzVG9VaW50KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDM1YnUsIEltbXV0YWJsZVN0cmluZygiZmxvYXRCaXRzVG9VaW50KDMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdlOHUsIEltbXV0YWJsZVN0cmluZygi
aW50Qml0c1RvRmxvYXQoMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzQwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRCaXRzVG9GbG9hdCgxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNWN1LCBJbW11dGFibGVTdHJpbmco
ImZsb2F0Qml0c1RvVWludCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZWF1LCBJbW11dGFibGVTdHJpbmcoImludEJpdHNUb0Zsb2F0KDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc0MnUsIEltbXV0YWJsZVN0cmlu
ZygiaW50Qml0c1RvRmxvYXQoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMGQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRCaXRzVG9GbG9hdCgyMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTd1LCBJbW11dGFibGVTdHJp
bmcoImludEJpdHNUb0Zsb2F0KDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDY3ZHUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcxMnUsIEltbXV0YWJsZVN0
cmluZygidWludEJpdHNUb0Zsb2F0KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDdkOXUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDIwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY3ZnUsIEltbXV0YWJs
ZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDcxNHUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDEw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdkYnUsIEltbXV0
YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0KDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDAxZHUsIEltbXV0YWJsZVN0cmluZygidWludEJpdHNUb0Zsb2F0
KDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgzNnUsIElt
bXV0YWJsZVN0cmluZygiZm1hKDAwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDU1NnUsIEltbXV0YWJsZVN0cmluZygiZm1hKDEwQjEwQjEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgzOHUsIEltbXV0YWJsZVN0
cmluZygiZm1hKDAwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDU1N3UsIEltbXV0YWJsZVN0cmluZygiZm1hKDEwQjEwQjEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE3YnUsIEltbXV0YWJsZVN0cmluZygiZm1h
KDIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI1
ZHUsIEltbXV0YWJsZVN0cmluZygiZm1hKDMwQjMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDI1OHUsIEltbXV0YWJsZVN0cmluZygiZm1hKDAwQzAwQzAw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKQEAgLTM5NCw3OTggKzM5NCw3OTggQEAgVEVTVChJbW11
dGFibGVTdHJpbmdUZXN0LCBTY3JpcHRHZW5lcmF0ZWRIYXNoZXNNYXRjaCkKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDA2YXUsIEltbXV0YWJsZVN0cmluZygiZm1hKDMwQzMwQzMwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI3NHUsIEltbXV0YWJsZVN0cmluZygi
ZnJleHAoMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MmFhdSwgSW1tdXRhYmxlU3RyaW5nKCJmcmV4cCgxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NDF1LCBJbW11dGFibGVTdHJpbmcoImZyZXhwKDIwQjIw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU0MnUsIEltbXV0
YWJsZVN0cmluZygiZnJleHAoMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMTAzdSwgSW1tdXRhYmxlU3RyaW5nKCJmcmV4cCgzMEIzMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMzR1LCBJbW11dGFibGVTdHJpbmco
ImZyZXhwKDAwQzAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM3MHUsIEltbXV0YWJsZVN0cmluZygiZnJleHAoMTBDMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMzcxdSwgSW1tdXRhYmxlU3RyaW5nKCJmcmV4cCgxMEMx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMGV1LCBJbW11
dGFibGVTdHJpbmcoImZyZXhwKDIwQzIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDg0M3UsIEltbXV0YWJsZVN0cmluZygiZnJleHAoMzBDMzBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODQ1dSwgSW1tdXRhYmxlU3RyaW5n
KCJmcmV4cCgzMEMzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAyMjl1LCBJbW11dGFibGVTdHJpbmcoImxkZXhwKDAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgwZHUsIEltbXV0YWJsZVN0cmluZygibGRleHAoMTBC
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODBmdSwgSW1t
dXRhYmxlU3RyaW5nKCJsZGV4cCgxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxZDd1LCBJbW11dGFibGVTdHJpbmcoImxkZXhwKDIwQjIwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1ZnUsIEltbXV0YWJsZVN0cmlu
ZygibGRleHAoMzBCMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNjU1dSwgSW1tdXRhYmxlU3RyaW5nKCJsZGV4cCgwMEMwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MzJ1LCBJbW11dGFibGVTdHJpbmcoImxkZXhwKDEw
QzEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM2MHUsIElt
bXV0YWJsZVN0cmluZygibGRleHAoMzBCMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNjU3dSwgSW1tdXRhYmxlU3RyaW5nKCJsZGV4cCgwMEMwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MzN1LCBJbW11dGFibGVTdHJp
bmcoImxkZXhwKDEwQzEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDIyNnUsIEltbXV0YWJsZVN0cmluZygibGRleHAoMjBDMjBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjNkdSwgSW1tdXRhYmxlU3RyaW5nKCJsZGV4cCgz
MEMzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNWF1LCBJ
bW11dGFibGVTdHJpbmcoInBhY2tTbm9ybTJ4MTYoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzk3dSwgSW1tdXRhYmxlU3RyaW5nKCJwYWNrSGFsZjJ4MTYo
MTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzczdSwgSW1t
dXRhYmxlU3RyaW5nKCJ1bnBhY2tTbm9ybTJ4MTYoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzVidSwgSW1tdXRhYmxlU3RyaW5nKCJwYWNrU25vcm0yeDE2
KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5OHUsIElt
bXV0YWJsZVN0cmluZygicGFja0hhbGYyeDE2KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDc3NXUsIEltbXV0YWJsZVN0cmluZygidW5wYWNrU25vcm0yeDE2
KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5OXUsIElt
bXV0YWJsZVN0cmluZygidW5wYWNrSGFsZjJ4MTYoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMThidSwgSW1tdXRhYmxlU3RyaW5nKCJwYWNrVW5vcm0yeDE2
KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2ZHUsIElt
bXV0YWJsZVN0cmluZygidW5wYWNrVW5vcm0yeDE2KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3NnUsIEltbXV0YWJsZVN0cmluZygicGFja1Vub3JtNHg4
KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlOHUsIElt
bXV0YWJsZVN0cmluZygicGFja1Nub3JtNHg4KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdkYXUsIEltbXV0YWJsZVN0cmluZygidW5wYWNrVW5vcm00eDgo
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmZldSwgSW1t
dXRhYmxlU3RyaW5nKCJ1bnBhY2tTbm9ybTR4OCgwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0ZTJ1LCBJbW11dGFibGVTdHJpbmcoInBhY2tEb3VibGUyeDMy
KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2ZXUsIElt
bXV0YWJsZVN0cmluZygidW5wYWNrVW5vcm0yeDE2KDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3N3UsIEltbXV0YWJsZVN0cmluZygicGFja1Vub3JtNHg4
KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVlYXUsIElt
bXV0YWJsZVN0cmluZygicGFja1Nub3JtNHg4KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdkY3UsIEltbXV0YWJsZVN0cmluZygidW5wYWNrVW5vcm00eDgo
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzAwdSwgSW1t
dXRhYmxlU3RyaW5nKCJ1bnBhY2tTbm9ybTR4OCgwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0ZTN1LCBJbW11dGFibGVTdHJpbmcoInBhY2tEb3VibGUyeDMy
KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI1NXUsIElt
bXV0YWJsZVN0cmluZygidW5wYWNrRG91YmxlMngzMigwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3N2J1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDh1LCBJbW11dGFi
bGVTdHJpbmcoImxlbmd0aCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3N2R1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGF1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0
aCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMjh1LCBJ
bW11dGFibGVTdHJpbmcoImxlbmd0aCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1OGN1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3N2N1LCBJbW11dGFibGVTdHJpbmco
Imxlbmd0aCgwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
ZDd1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1OGV1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgzMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3N2V1LCBJbW11dGFibGVT
dHJpbmcoImxlbmd0aCgwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA2ZDl1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgxMEMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzF1LCBJbW11dGFibGVTdHJpbmcoImxlbmd0aCgy
MEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1OGJ1LCBJbW11
dGFibGVTdHJpbmcoImxlbmd0aCgzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA3YTR1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDAwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU4ZHUsIEltbXV0YWJsZVN0cmlu
ZygibGVuZ3RoKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDdhNnUsIEltbXV0YWJsZVN0cmluZygiZGlzdGFuY2UoMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGM3dSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5j
ZSgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MmJ1
LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDRiZHUsIEltbXV0YWJsZVN0cmluZygiZGlzdGFuY2UoMzBC
MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDNhdSwgSW1t
dXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgwMEMwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAzMTB1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDEwQzEwQyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5ZXUsIEltbXV0YWJs
ZVN0cmluZygiZGlzdGFuY2UoMjBDMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNTYydSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgzMEMzMEMiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGR1LCBJbW11dGFibGVTdHJp
bmcoImRvdCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1MmN1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRiZXUsIEltbXV0YWJsZVN0cmluZygiZGlzdGFu
Y2UoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDNi
dSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgwMEMwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMTF1LCBJbW11dGFibGVTdHJpbmcoImRpc3RhbmNlKDEw
QzEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdhMHUsIElt
bXV0YWJsZVN0cmluZygiZGlzdGFuY2UoMjBDMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNTYzdSwgSW1tdXRhYmxlU3RyaW5nKCJkaXN0YW5jZSgzMEMzMEMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGZ1LCBJbW11dGFi
bGVTdHJpbmcoImRvdCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAyYWN1LCBJbW11dGFibGVTdHJpbmcoImRvdCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZGF1LCBJbW11dGFibGVTdHJpbmcoImRvdCgy
MEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Yzl1LCBJ
bW11dGFibGVTdHJpbmcoImRvdCgzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzN2R1LCBJbW11dGFibGVTdHJpbmcoImRvdCgwMEMwMEMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MmV1LCBJbW11dGFibGVTdHJpbmco
ImRvdCgxMEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
M2N1LCBJbW11dGFibGVTdHJpbmcoImRvdCgyMEMyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2MDF1LCBJbW11dGFibGVTdHJpbmcoImRvdCgzMEMzMEMiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1YTh1LCBJbW11dGFibGVT
dHJpbmcoImNyb3NzKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDMzNnUsIEltbXV0YWJsZVN0cmluZygiY3Jvc3MoMjBDMjBDIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDg5dSwgSW1tdXRhYmxlU3RyaW5nKCJub3Jt
YWxpemUoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzAz
dSwgSW1tdXRhYmxlU3RyaW5nKCJub3JtYWxpemUoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2RidSwgSW1tdXRhYmxlU3RyaW5nKCJkb3QoMjBCMjBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGNhdSwgSW1tdXRhYmxl
U3RyaW5nKCJkb3QoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwMzdldSwgSW1tdXRhYmxlU3RyaW5nKCJkb3QoMDBDMDBDIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzMwdSwgSW1tdXRhYmxlU3RyaW5nKCJkb3QoMTBD
MTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjNldSwgSW1t
dXRhYmxlU3RyaW5nKCJkb3QoMjBDMjBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNjAzdSwgSW1tdXRhYmxlU3RyaW5nKCJkb3QoMzBDMzBDIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWFhdSwgSW1tdXRhYmxlU3RyaW5nKCJj
cm9zcygyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
Mzd1LCBJbW11dGFibGVTdHJpbmcoImNyb3NzKDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4YXUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcwNXUsIEltbXV0
YWJsZVN0cmluZygibm9ybWFsaXplKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDEwYXUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlM3UsIEltbXV0YWJsZVN0cmlu
Zygibm9ybWFsaXplKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDQ4YXUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDAwQyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZmZHUsIEltbXV0YWJsZVN0cmluZygibm9ybWFs
aXplKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNlNHUs
IEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ4YnUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDAwQyIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZmZnUsIEltbXV0YWJs
ZVN0cmluZygibm9ybWFsaXplKDEwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDEwYnUsIEltbXV0YWJsZVN0cmluZygibm9ybWFsaXplKDIwQyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlMnUsIEltbXV0YWJsZVN0cmluZygi
bm9ybWFsaXplKDMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDVjNXUsIEltbXV0YWJsZVN0cmluZygiZmFjZWZvcndhcmQoMDBCMDBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzhldSwgSW1tdXRhYmxlU3RyaW5nKCJm
YWNlZm9yd2FyZCgxMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzZTN1LCBJbW11dGFibGVTdHJpbmcoIm5vcm1hbGl6ZSgzMEMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Yzd1LCBJbW11dGFibGVTdHJpbmcoImZh
Y2Vmb3J3YXJkKDAwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM4ZnUsIEltbXV0YWJsZVN0cmluZygiZmFjZWZvcndhcmQoMTBCMTBCMTBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTc4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJmYWNlZm9yd2FyZCgyMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA3OWR1LCBJbW11dGFibGVTdHJpbmcoImZhY2Vmb3J3YXJkKDMwQjMwQjMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJmZHUsIEltbXV0
YWJsZVN0cmluZygiZmFjZWZvcndhcmQoMDBDMDBDMDBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjc3dSwgSW1tdXRhYmxlU3RyaW5nKCJmYWNlZm9yd2FyZCgx
MEMxMEMxMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NDh1
LCBJbW11dGFibGVTdHJpbmcoImZhY2Vmb3J3YXJkKDIwQzIwQzIwQyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyMHUsIEltbXV0YWJsZVN0cmluZygiZmFjZWZv
cndhcmQoMzBDMzBDMzBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNzlmdSwgSW1tdXRhYmxlU3RyaW5nKCJmYWNlZm9yd2FyZCgzMEIzMEIzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZmV1LCBJbW11dGFibGVTdHJpbmco
ImZhY2Vmb3J3YXJkKDAwQzAwQzAwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDY3OXUsIEltbXV0YWJsZVN0cmluZygiZmFjZWZvcndhcmQoMTBDMTBDMTBDIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzRhdSwgSW1tdXRhYmxl
U3RyaW5nKCJmYWNlZm9yd2FyZCgyMEMyMEMyMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA1MjF1LCBJbW11dGFibGVTdHJpbmcoImZhY2Vmb3J3YXJkKDMwQzMw
QzMwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4M3UsIElt
bXV0YWJsZVN0cmluZygicmVmbGVjdCgwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyOTV1LCBJbW11dGFibGVTdHJpbmcoInJlZmxlY3QoMTBCMTBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTAydSwgSW1tdXRhYmxl
U3RyaW5nKCJyZWZsZWN0KDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDUxN3UsIEltbXV0YWJsZVN0cmluZygicmVmbGVjdCgzMEIzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MDN1LCBJbW11dGFibGVTdHJpbmco
InJlZmxlY3QoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNTE4dSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZsZWN0KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE1NXUsIEltbXV0YWJsZVN0cmluZygicmVmbGVj
dCgwMEMwMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1M2N1
LCBJbW11dGFibGVTdHJpbmcoInJlZmxlY3QoMTBDMTBDIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjhmdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZsZWN0KDIwQzIw
QyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRkY3UsIEltbXV0
YWJsZVN0cmluZygicmVmbGVjdCgzMEMzMEMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1M2R1LCBJbW11dGFibGVTdHJpbmcoInJlZmxlY3QoMTBDMTBDIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjkxdSwgSW1tdXRhYmxlU3Ry
aW5nKCJyZWZsZWN0KDIwQzIwQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDRkZHUsIEltbXV0YWJsZVN0cmluZygicmVmbGVjdCgzMEMzMEMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZjl1LCBJbW11dGFibGVTdHJpbmcoInJl
ZnJhY3QoMDBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjk2dSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZyYWN0KDEwQjEwQjAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwMnUsIEltbXV0YWJsZVN0cmluZygicmVm
cmFjdCgyMEIyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1NzN1LCBJbW11dGFibGVTdHJpbmcoInJlZnJhY3QoMzBCMzBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzFidSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZy
YWN0KDAwQzAwQzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM0YXUsIEltbXV0YWJsZVN0cmluZygicmVmcmFjdCgxMEMxMEMwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NDh1LCBJbW11dGFibGVTdHJpbmcoInJlZnJh
Y3QoMjBDMjBDMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MzU3dSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZyYWN0KDMwQzMwQzAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwM3UsIEltbXV0YWJsZVN0cmluZygicmVmcmFj
dCgyMEIyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
NzV1LCBJbW11dGFibGVTdHJpbmcoInJlZnJhY3QoMzBCMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzFkdSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZyYWN0
KDAwQzAwQzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0
YnUsIEltbXV0YWJsZVN0cmluZygicmVmcmFjdCgxMEMxMEMwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NGF1LCBJbW11dGFibGVTdHJpbmcoInJlZnJhY3Qo
MjBDMjBDMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzU4
dSwgSW1tdXRhYmxlU3RyaW5nKCJyZWZyYWN0KDMwQzMwQzAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJiOXUsIEltbXV0YWJsZVN0cmluZygiZnRyYW5zZm9y
bSgiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZWZ1LCBJbW11
dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KDUwQjUwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDZlNnUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11
bHQoQTBCQTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTc4
dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdChGMEJGMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZTh1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJp
eENvbXBNdWx0KEEwQkEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDU3YXUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11bHQoRjBCRjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTQ1dSwgSW1tdXRhYmxlU3RyaW5n
KCJtYXRyaXhDb21wTXVsdCg5MEI5MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA3NmZ1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KDYwQjYwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4OXUsIEltbXV0YWJs
ZVN0cmluZygibWF0cml4Q29tcE11bHQoRDBCRDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzE0dSwgSW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdCg3
MEI3MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMmV1LCBJ
bW11dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KEUwQkUwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVhNnUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29t
cE11bHQoQjBCQjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NzcxdSwgSW1tdXRhYmxlU3RyaW5nKCJtYXRyaXhDb21wTXVsdCg2MEI2MEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2OGJ1LCBJbW11dGFibGVTdHJpbmcoIm1h
dHJpeENvbXBNdWx0KEQwQkQwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDcxNnUsIEltbXV0YWJsZVN0cmluZygibWF0cml4Q29tcE11bHQoNzBCNzBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzJmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJtYXRyaXhDb21wTXVsdChFMEJFMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1YTh1LCBJbW11dGFibGVTdHJpbmcoIm1hdHJpeENvbXBNdWx0KEIwQkIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5YXUsIEltbXV0
YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDBiNXUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIw
QjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE3ZXUsIElt
bXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDcyOHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0
KDIwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcyYXUs
IEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDIwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5NXUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9k
dWN0KDEwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJj
ZHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEyZnUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQ
cm9kdWN0KDEwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDBlMHUsIEltbXV0YWJsZVN0cmluZygib3V0ZXJQcm9kdWN0KDMwQjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxNHUsIEltbXV0YWJsZVN0cmluZygib3V0
ZXJQcm9kdWN0KDIwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDdiN3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDUwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVmMnUsIEltbXV0YWJsZVN0cmluZygidHJhbnNw
b3NlKEEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZhZHUs
IEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDVjMXUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDYwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZiYnUsIEltbXV0YWJs
ZVN0cmluZygidHJhbnNwb3NlKDkwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDY3MHUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDcwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdmM3UsIEltbXV0YWJsZVN0cmluZygi
dHJhbnNwb3NlKEQwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDdiOXUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDUwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVmNHUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3Nl
KEEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZhZnUsIElt
bXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDVjM3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDYwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZiZHUsIEltbXV0YWJsZVN0
cmluZygidHJhbnNwb3NlKDkwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDY3MnUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKDcwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdmNXUsIEltbXV0YWJsZVN0cmluZygidHJh
bnNwb3NlKEQwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFi
M3UsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0OHUsIEltbXV0YWJsZVN0cmluZygidHJhbnNwb3NlKEUw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA1MHUsIEltbXV0
YWJsZVN0cmluZygiZGV0ZXJtaW5hbnQoNTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNDM0dSwgSW1tdXRhYmxlU3RyaW5nKCJkZXRlcm1pbmFudChBMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZjF1LCBJbW11dGFibGVT
dHJpbmcoImRldGVybWluYW50KEYwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDQzNXUsIEltbXV0YWJsZVN0cmluZygiZGV0ZXJtaW5hbnQoQTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWYzdSwgSW1tdXRhYmxlU3RyaW5n
KCJkZXRlcm1pbmFudChGMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAyYWJ1LCBJbW11dGFibGVTdHJpbmcoImludmVyc2UoNTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnZlcnNl
KEEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU0NnUsIElt
bXV0YWJsZVN0cmluZygiaW52ZXJzZShBMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxMGR1LCBJbW11dGFibGVTdHJpbmcoImludmVyc2UoRjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWEydSwgSW1tdXRhYmxlU3RyaW5n
KCJsZXNzVGhhbigxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwNTN1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwQjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVhN3UsIEltbXV0YWJsZVN0cmluZygibGVz
c1RoYW4oMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NGU1dSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1YTl1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFu
KDMwQjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRlNnUs
IEltbXV0YWJsZVN0cmluZygibGVzc1RoYW4oMTBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDcydSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigyMEQy
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NzR1LCBJbW11
dGFibGVTdHJpbmcoImxlc3NUaGFuKDMwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDc3NnUsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW4oMzBEMzBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDY2dSwgSW1tdXRhYmxl
U3RyaW5nKCJsZXNzVGhhbigxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA1YjR1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuKDIwRTIwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2ZXUsIEltbXV0YWJsZVN0cmlu
ZygibGVzc1RoYW4oMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNWI2dSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbigyMEUyMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NzB1LCBJbW11dGFibGVTdHJpbmcoImxl
c3NUaGFuKDMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDI0Y3UsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgxMEIxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyM2Z1LCBJbW11dGFibGVTdHJpbmcoImxl
c3NUaGFuRXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDEwdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFsKDMwQjMwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxMnUsIEltbXV0YWJsZVN0cmlu
ZygibGVzc1RoYW5FcXVhbCgxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA2MTR1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFuRXF1YWwoMTBEMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWFidSwgSW1tdXRhYmxl
U3RyaW5nKCJsZXNzVGhhbkVxdWFsKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDQzZHUsIEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgzMEQz
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0M2V1LCBJbW11
dGFibGVTdHJpbmcoImxlc3NUaGFuRXF1YWwoMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTUwdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFs
KDEwRTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdkMnUs
IEltbXV0YWJsZVN0cmluZygibGVzc1RoYW5FcXVhbCgyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZDR1LCBJbW11dGFibGVTdHJpbmcoImxlc3NUaGFu
RXF1YWwoMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MDdjdSwgSW1tdXRhYmxlU3RyaW5nKCJsZXNzVGhhbkVxdWFsKDMwRTMwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQxMXUsIEltbXV0YWJsZVN0cmluZygiZ3Jl
YXRlclRoYW4oMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwN2JldSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigyMEIyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MTJ1LCBJbW11dGFibGVTdHJpbmcoImdy
ZWF0ZXJUaGFuKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDdjMHUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMjBCMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTc2dSwgSW1tdXRhYmxlU3RyaW5nKCJn
cmVhdGVyVGhhbigzMEIzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA2Y2N1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuKDEwRDEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZkMXUsIEltbXV0YWJsZVN0cmluZygi
Z3JlYXRlclRoYW4oMjBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNmNldSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbigxMEQxMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDN1LCBJbW11dGFibGVTdHJpbmco
ImdyZWF0ZXJUaGFuKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDA4NHUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW4oMzBEMzBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjAydSwgSW1tdXRhYmxlU3RyaW5n
KCJncmVhdGVyVGhhbigxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwZjd1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuKDIwRTIwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDExM3UsIEltbXV0YWJsZVN0cmlu
ZygiZ3JlYXRlclRoYW4oMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNmE5dSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbkVxdWFsKDEwQjEwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZhYnUsIEltbXV0YWJs
ZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwMmF1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1
YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTlj
dSwgSW1tdXRhYmxlU3RyaW5nKCJncmVhdGVyVGhhbkVxdWFsKDMwQjMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBjZXUsIEltbXV0YWJsZVN0cmluZygiZ3Jl
YXRlclRoYW5FcXVhbCgxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3Yjh1LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMjBEMjBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2JhdSwgSW1tdXRhYmxl
U3RyaW5nKCJncmVhdGVyVGhhbkVxdWFsKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFkOHUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVh
bCgzMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjN1
LCBJbW11dGFibGVTdHJpbmcoImdyZWF0ZXJUaGFuRXF1YWwoMTBFMTBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmJldSwgSW1tdXRhYmxlU3RyaW5nKCJncmVh
dGVyVGhhbkVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDE1YXUsIEltbXV0YWJsZVN0cmluZygiZ3JlYXRlclRoYW5FcXVhbCgzMEUzMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MDZ1LCBJbW11dGFibGVT
dHJpbmcoImVxdWFsKDEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDJlNnUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMjBCMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDA3dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVh
bCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZTd1
LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFmMHUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMzBCMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDNmdSwgSW1tdXRhYmxl
U3RyaW5nKCJlcXVhbCgxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZTF1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDIwRDIwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1OHUsIEltbXV0YWJsZVN0cmluZygiZXF1
YWwoMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjIz
dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3ZTN1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDIwRDIwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM1OXUsIEltbXV0YWJs
ZVN0cmluZygiZXF1YWwoMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNjI1dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgxMEUxMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxM2V1LCBJbW11dGFibGVTdHJpbmcoImVx
dWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3
YXUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNTA1dSwgSW1tdXRhYmxlU3RyaW5nKCJlcXVhbCgxMEYxMEYi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MDN1LCBJbW11dGFi
bGVTdHJpbmcoImVxdWFsKDIwRjIwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDViNnUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMzBGMzBGIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzc3dSwgSW1tdXRhYmxlU3RyaW5nKCJu
b3RFcXVhbCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzNTB1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDIwQjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJmNnUsIEltbXV0YWJsZVN0cmluZygibm90RXF1
YWwoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzgx
dSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MmZ1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDIw
RDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRhNXUsIElt
bXV0YWJsZVN0cmluZygibm90RXF1YWwoMzBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNjJidSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEUxMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NDN1LCBJbW11dGFi
bGVTdHJpbmcoIm5vdEVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDM3YnUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMzBFMzBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTA2dSwgSW1tdXRhYmxlU3RyaW5n
KCJlcXVhbCgxMEYxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0MDR1LCBJbW11dGFibGVTdHJpbmcoImVxdWFsKDIwRjIwRiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDViOHUsIEltbXV0YWJsZVN0cmluZygiZXF1YWwoMzBG
MzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzc5dSwgSW1t
dXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzNTF1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDIwQjIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmN3UsIEltbXV0YWJs
ZVN0cmluZygibm90RXF1YWwoMzBCMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzgydSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEQxMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MzB1LCBJbW11dGFibGVTdHJp
bmcoIm5vdEVxdWFsKDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDRhNnUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMzBEMzBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjJkdSwgSW1tdXRhYmxlU3RyaW5nKCJu
b3RFcXVhbCgxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1NDR1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDIwRTIwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE0ZHUsIEltbXV0YWJsZVN0cmluZygibm90RXF1
YWwoMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjA2
dSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEYxMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0OWZ1LCBJbW11dGFibGVTdHJpbmcoIm5vdEVxdWFsKDIw
RjIwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhNXUsIElt
bXV0YWJsZVN0cmluZygibm90RXF1YWwoMzBGMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNjA4dSwgSW1tdXRhYmxlU3RyaW5nKCJub3RFcXVhbCgxMEYxMEYi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YTB1LCBJbW11dGFi
bGVTdHJpbmcoIm5vdEVxdWFsKDIwRjIwRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDNhNnUsIEltbXV0YWJsZVN0cmluZygibm90RXF1YWwoMzBGMzBGIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTYwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJhbnkoMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NTYzdSwgSW1tdXRhYmxlU3RyaW5nKCJhbnkoMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNGJjdSwgSW1tdXRhYmxlU3RyaW5nKCJhbnkoMzBGIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTY0dSwgSW1tdXRhYmxlU3RyaW5n
KCJhbnkoMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGJk
dSwgSW1tdXRhYmxlU3RyaW5nKCJhbnkoMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDc1dSwgSW1tdXRhYmxlU3RyaW5nKCJhbGwoMTBGIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzkydSwgSW1tdXRhYmxlU3RyaW5nKCJh
bGwoMjBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDUwdSwg
SW1tdXRhYmxlU3RyaW5nKCJhbGwoMzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzkzdSwgSW1tdXRhYmxlU3RyaW5nKCJhbGwoMjBGIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDUxdSwgSW1tdXRhYmxlU3RyaW5nKCJhbGwo
MzBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDBldSwgSW1t
dXRhYmxlU3RyaW5nKCJub3QoMTBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMGIxdSwgSW1tdXRhYmxlU3RyaW5nKCJub3QoMjBGIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODE4dSwgSW1tdXRhYmxlU3RyaW5nKCJub3QoMzBG
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWI5dSwgSW1tdXRh
YmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwODFhdSwgSW1tdXRhYmxlU3RyaW5nKCJub3QoMzBGIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWJidSwgSW1tdXRhYmxl
U3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGU2dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJh
Y3QoMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MTFkdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMjBEMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2U1dSwgSW1tdXRhYmxlU3RyaW5n
KCJiaXRmaWVsZEV4dHJhY3QoMzBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNTYxdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMDBF
MDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmNkdSwg
SW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMTBFMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2Q4dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRm
aWVsZEV4dHJhY3QoMjBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwN2U3dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMzBEMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTYydSwgSW1tdXRh
YmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMDBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNmNmdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4
dHJhY3QoMTBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwN2RhdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEV4dHJhY3QoMjBFMDBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGNjdSwgSW1tdXRhYmxlU3Ry
aW5nKCJiaXRmaWVsZEV4dHJhY3QoMzBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMjJhdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEluc2VydCgw
MEQwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
MGR1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDEwRDEwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4MXUsIEltbXV0YWJsZVN0cmlu
ZygiYml0ZmllbGRJbnNlcnQoMjBEMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNmNhdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEluc2VydCgz
MEQzMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
OTJ1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDAwRTAwRTAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlN3UsIEltbXV0YWJsZVN0cmlu
ZygiYml0ZmllbGRJbnNlcnQoMTBFMTBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzhldSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEluc2VydCgy
MEUyMEUwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
ZDd1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDMwRTMwRTAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYwZnUsIEltbXV0YWJsZVN0cmlu
ZygiYml0ZmllbGRJbnNlcnQoMTBEMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNjgzdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEluc2VydCgy
MEQyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
Y2N1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDMwRDMwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY5NHUsIEltbXV0YWJsZVN0cmlu
ZygiYml0ZmllbGRJbnNlcnQoMDBFMDBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNWU5dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZEluc2VydCgx
MEUxMEUwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3
OTB1LCBJbW11dGFibGVTdHJpbmcoImJpdGZpZWxkSW5zZXJ0KDIwRTIwRTAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdkOXUsIEltbXV0YWJsZVN0cmlu
ZygiYml0ZmllbGRJbnNlcnQoMzBFMzBFMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMGNhdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2Uo
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTZmdSwgSW1t
dXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNDU1dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVy
c2UoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTBhdSwg
SW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNDU2dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJl
dmVyc2UoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTBi
dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMzBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGNidSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVs
ZFJldmVyc2UoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MTZldSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMTBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDU2dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRm
aWVsZFJldmVyc2UoMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNTA5dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMzBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDU3dSwgSW1tdXRhYmxlU3RyaW5nKCJi
aXRmaWVsZFJldmVyc2UoMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNTBhdSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRmaWVsZFJldmVyc2UoMzBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjM0dSwgSW1tdXRhYmxlU3RyaW5n
KCJiaXRDb3VudCgwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAxODF1LCBJbW11dGFibGVTdHJpbmcoImJpdENvdW50KDEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyNnUsIEltbXV0YWJsZVN0cmluZygiYml0Q291bnQo
MjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDZjdSwgSW1t
dXRhYmxlU3RyaW5nKCJiaXRDb3VudCgzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1Mjd1LCBJbW11dGFibGVTdHJpbmcoImJpdENvdW50KDIwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2ZHUsIEltbXV0YWJsZVN0cmlu
ZygiYml0Q291bnQoMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjM1dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRDb3VudCgwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxODB1LCBJbW11dGFibGVTdHJpbmcoImJpdENvdW50
KDEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyN3UsIElt
bXV0YWJsZVN0cmluZygiYml0Q291bnQoMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNTI4dSwgSW1tdXRhYmxlU3RyaW5nKCJiaXRDb3VudCgyMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYmZ1LCBJbW11dGFibGVTdHJp
bmcoImJpdENvdW50KDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDVhZHUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NDJ1LCBJbW11dGFibGVTdHJpbmcoImZpbmRMU0Io
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmEzdSwgSW1t
dXRhYmxlU3RyaW5nKCJmaW5kTFNCKDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM4OHUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigzMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZWF1LCBJbW11dGFibGVTdHJpbmco
ImZpbmRMU0IoMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NWFmdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDc0NHUsIEltbXV0YWJsZVN0cmluZygiZmluZExTQigxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YTV1LCBJbW11dGFi
bGVTdHJpbmcoImZpbmRMU0IoMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzg5dSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDMwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdlY3UsIEltbXV0YWJsZVN0cmluZygiZmlu
ZExTQigwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZGF1
LCBJbW11dGFibGVTdHJpbmcoImZpbmRMU0IoMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNmEydSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNCKDIwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4OXUsIEltbXV0YWJsZVN0
cmluZygiZmluZExTQigzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA4M2Z1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmE0dSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTFNC
KDIwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4YXUsIElt
bXV0YWJsZVN0cmluZygiZmluZExTQigzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA4NDF1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDhldSwgSW1tdXRhYmxlU3RyaW5n
KCJmaW5kTVNCKDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDZmN3UsIEltbXV0YWJsZVN0cmluZygiZmluZE1TQigyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YWV1LCBJbW11dGFibGVTdHJpbmcoImZpbmRNU0IoMzBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODQwdSwgSW1tdXRh
YmxlU3RyaW5nKCJmaW5kTVNCKDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDZmOXUsIEltbXV0YWJsZVN0cmluZygiZmluZE1TQigyMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YjB1LCBJbW11dGFibGVTdHJpbmcoImZp
bmRNU0IoMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODQy
dSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTVNCKDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA4ZHUsIEltbXV0YWJsZVN0cmluZygiZmluZE1TQigxMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMGZ1LCBJbW11dGFibGVT
dHJpbmcoImZpbmRNU0IoMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwN2FkdSwgSW1tdXRhYmxlU3RyaW5nKCJmaW5kTVNCKDMwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdhZnUsIEltbXV0YWJsZVN0cmluZygiZmluZE1T
QigzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxM2Z1LCBJ
bW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgwMEUwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MTd1LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgx
MEUxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MTl1
LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgxMEUxMEUxMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMTN1LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJy
eSgyMEUyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1
MmR1LCBJbW11dGFibGVTdHJpbmcoInVhZGRDYXJyeSgzMEUzMEUzMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NGF1LCBJbW11dGFibGVTdHJpbmcoInVzdWJC
b3Jyb3coMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNDA1dSwgSW1tdXRhYmxlU3RyaW5nKCJ1c3ViQm9ycm93KDEwRTEwRTEwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRjZnUsIEltbXV0YWJsZVN0cmluZygi
dXN1YkJvcnJvdygyMEUyMEUyMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA1OWZ1LCBJbW11dGFibGVTdHJpbmcoInVzdWJCb3Jyb3coMzBFMzBFMzBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODA3dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ1bXVsRXh0ZW5kZWQoMDBFMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTc5dSwgSW1tdXRhYmxlU3RyaW5nKCJ1bXVsRXh0ZW5kZWQoMTBF
MTBFMTBFMTBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTJl
dSwgSW1tdXRhYmxlU3RyaW5nKCJ1YWRkQ2FycnkoMzBFMzBFMzBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTRidSwgSW1tdXRhYmxlU3RyaW5nKCJ1c3ViQm9y
cm93KDAwRTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDQwNnUsIEltbXV0YWJsZVN0cmluZygidXN1YkJvcnJvdygxMEUxMEUxMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZDB1LCBJbW11dGFibGVTdHJpbmcoInVz
dWJCb3Jyb3coMjBFMjBFMjBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNWExdSwgSW1tdXRhYmxlU3RyaW5nKCJ1c3ViQm9ycm93KDMwRTMwRTMwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgwOXUsIEltbXV0YWJsZVN0cmlu
ZygidW11bEV4dGVuZGVkKDAwRTAwRTAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDU3YnUsIEltbXV0YWJsZVN0cmluZygidW11bEV4dGVuZGVkKDEwRTEw
RTEwRTEwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE4ZHUs
IEltbXV0YWJsZVN0cmluZygidW11bEV4dGVuZGVkKDIwRTIwRTIwRTIwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3Y3UsIEltbXV0YWJsZVN0cmluZygidW11
bEV4dGVuZGVkKDMwRTMwRTMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDY3MXUsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDAwRDAwRDAwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0NnUsIEltbXV0
YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDEwRDEwRDEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRiYnUsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVu
ZGVkKDIwRDIwRDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDY2ZnUsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDMwRDMwRDMwRDMwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU3ZXUsIEltbXV0YWJsZVN0
cmluZygidW11bEV4dGVuZGVkKDMwRTMwRTMwRTMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY3M3UsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDAw
RDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0
N3UsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDEwRDEwRDEwRDEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRiY3UsIEltbXV0YWJsZVN0cmluZygi
aW11bEV4dGVuZGVkKDIwRDIwRDIwRDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDY3MXUsIEltbXV0YWJsZVN0cmluZygiaW11bEV4dGVuZGVkKDMwRDMwRDMw
RDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI3NXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwSTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDAwNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvaigw
MEkyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNGR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBJMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwMzRldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRQ
cm9qKDAwSTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE0
MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUN1YmUoMDBLMjBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzZmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
MUQoMDBnMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjZk
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMURQcm9qKDAwZzEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUwZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZTFEUHJvaigwMGczMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3NDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUzRCgwMEoyMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1YTV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUzRFByb2ooMDBKMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwODAwdSwgSW1tdXRhYmxlU3RyaW5nKCJzaGFkb3cxRCgwMG0yMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MzR1LCBJbW11dGFibGVTdHJpbmcoInNoYWRv
dzFEUHJvaigwMG0zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzOGJ1LCBJbW11dGFibGVTdHJpbmcoInNoYWRvdzJEKDAwZDIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY0MnUsIEltbXV0YWJsZVN0cmluZygic2hhZG93
MkRQcm9qKDAwZDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDNlOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwTTEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZTJEUHJvaigwME0yMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA0M2Z1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBNMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzcwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlMUQoMDBnMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNjZmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMURQcm9qKDAwZzEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUwZXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZTFEUHJvaigwMGczMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3NDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUzRCgwMEoyMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1YTd1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmUzRFByb2ooMDBKMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwODAydSwgSW1tdXRhYmxlU3RyaW5nKCJzaGFkb3cxRCgwMG0yMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MzZ1LCBJbW11dGFibGVTdHJpbmco
InNoYWRvdzFEUHJvaigwMG0zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDAzOGN1LCBJbW11dGFibGVTdHJpbmcoInNoYWRvdzJEKDAwZDIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY0NHUsIEltbXV0YWJsZVN0cmluZygi
c2hhZG93MkRQcm9qKDAwZDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDNlOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEKDAwTTEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4MXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZTJEUHJvaigwME0yMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA0NDB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBNMzBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDg4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlMkRSZWN0KDAwTzEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDQyMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUmVjdFByb2ooMDBP
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGQ0dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRSZWN0UHJvaigwME8zMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0N2J1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUo
MDBPMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDIxdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRSZWN0UHJvaigwME8yMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUyRFJlY3RQcm9qKDAwTzMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDQ3Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwME8xMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYTh1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qKDAwTzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDMzY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBPMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzNkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvaigwME8zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAyNTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyREdyYWRFWFQoMDBJMTBCMTBCMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2I3dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlMkRQcm9qR3JhZEVYVCgwMEkyMEIxMEIxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYjh1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmUyRFByb2pHcmFkRVhUKDAwSTIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDI1Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvakdy
YWRFWFQoMDBJMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzVidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3ViZUdyYWRFWFQoMDBLMjBCMjBC
MjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmQwdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkQoMDBJMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNzVkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3ViZUdy
YWRFWFQoMDBLMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNmQydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkQoMDBJMTBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGYydSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlMkRQcm9qKDAwSTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDc1OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJvaigwMEkzMEIw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3NWF1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2ooMDBJMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWExdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlQ3Vi
ZSgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0
YzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUzRCgwMEoyMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1OTZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUzRFByb2ooMDBKMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNDJhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlM0RMb2QoMDBKMjBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGM1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlM0QoMDBKMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNTk4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlM0RQcm9qKDAwSjMwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQyYnUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZTNETG9kKDAwSjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDJjMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTNEUHJv
akxvZCgwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1MWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUxRCgwMGcwMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MWV1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmUxRCgwMGcwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAxZTd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUxRFByb2ooMDBnMTBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWNldSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlMURQcm9qKDAwZzMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDVkMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTFEUHJvaigwMGcz
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYTd1LCBJ
bW11dGFibGVTdHJpbmcoInNoYWRvdzFEKDAwbTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDRkMXUsIEltbXV0YWJsZVN0cmluZygic2hhZG93MURQcm9q
KDAwbTMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRk
MnUsIEltbXV0YWJsZVN0cmluZygic2hhZG93MURQcm9qKDAwbTMwQjAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIxN3UsIEltbXV0YWJsZVN0cmluZygic2hh
ZG93MkQoMDBkMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwN2VkdSwgSW1tdXRhYmxlU3RyaW5nKCJzaGFkb3cyRFByb2ooMDBkMzBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWFjdSwgSW1tdXRhYmxlU3RyaW5n
KCJkRmR4KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUw
OHUsIEltbXV0YWJsZVN0cmluZygiZEZkeCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA2ZjB1LCBJbW11dGFibGVTdHJpbmcoImRGZHgoMjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjVmdSwgSW1tdXRhYmxlU3RyaW5n
KCJkRmR4KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2
YnUsIEltbXV0YWJsZVN0cmluZygiZEZkeSgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA3MDh1LCBJbW11dGFibGVTdHJpbmcoImRGZHkoMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2VmdSwgSW1tdXRhYmxlU3RyaW5n
KCJzaGFkb3cyRFByb2ooMDBkMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNWFldSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4KDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUwOXUsIEltbXV0YWJsZVN0cmluZygiZEZk
eCgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZjJ1LCBJ
bW11dGFibGVTdHJpbmcoImRGZHgoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNjYxdSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4KDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY2ZHUsIEltbXV0YWJsZVN0cmluZygiZEZk
eSgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MGF1LCBJ
bW11dGFibGVTdHJpbmcoImRGZHkoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMGVidSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5KDIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE5OHUsIEltbXV0YWJsZVN0cmluZygiZEZk
eSgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MDd1LCBJ
bW11dGFibGVTdHJpbmcoImZ3aWR0aCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2NmF1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aCgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NDh1LCBJbW11dGFibGVTdHJpbmco
ImZ3aWR0aCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
YjB1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aCgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA3M2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRExvZEVY
VCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3
MDl1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aCgwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA2NmN1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aCgxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4NGF1LCBJbW11dGFibGVT
dHJpbmcoImZ3aWR0aCgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA3YjJ1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aCgzMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3M2N1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUy
RExvZEVYVCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAxOWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2pMb2RFWFQoMDBJMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzM1dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlMkRQcm9qTG9kRVhUKDAwSTMwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUN1YmVMb2RFWFQoMDBLMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMzcydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMkRMb2QoMDBJMTBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDQ0dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlMkRQcm9qTG9kKDAwSTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTJEUHJv
akxvZCgwMEkzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA3Mzd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2pMb2RFWFQoMDBJMzBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2VkdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlQ3ViZUxvZEVYVCgwMEsyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNzN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRExv
ZCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0
NDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUyRFByb2pMb2QoMDBJMjBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWU0dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlMkRQcm9qTG9kKDAwSTMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDE5MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUN1YmVMb2QoMDBL
MjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGM1dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMURMb2QoMDBnMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjY5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
MURQcm9qTG9kKDAwZzEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDRlYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTFEUHJvakxvZCgwMGczMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Mzh1LCBJbW11dGFi
bGVTdHJpbmcoInNoYWRvdzFETG9kKDAwbTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDYzNHUsIEltbXV0YWJsZVN0cmluZygic2hhZG93MURQcm9qTG9k
KDAwbTMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2
Y3UsIEltbXV0YWJsZVN0cmluZygic2hhZG93MkRMb2QoMDBkMjBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjhjdSwgSW1tdXRhYmxlU3RyaW5nKCJzaGFk
b3cyRFByb2pMb2QoMDBkMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNGM2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlMURMb2QoMDBnMDBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjZidSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlMURQcm9qTG9kKDAwZzEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDRlYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZTFEUHJv
akxvZCgwMGczMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0Mzl1LCBJbW11dGFibGVTdHJpbmcoInNoYWRvdzFETG9kKDAwbTIwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzNnUsIEltbXV0YWJsZVN0cmluZygi
c2hhZG93MURQcm9qTG9kKDAwbTMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDY2ZXUsIEltbXV0YWJsZVN0cmluZygic2hhZG93MkRMb2QoMDBkMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjhldSwgSW1tdXRh
YmxlU3RyaW5nKCJzaGFkb3cyRFByb2pMb2QoMDBkMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTA4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAw
STEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA3YTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBYMTBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjExdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlKDAwSjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDdhM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MTN1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmUoMDBKMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMGUxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwUzIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI3MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZSgwMFkyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MTN1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBLMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjlldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwVDIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgxMXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZSgwMFoyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2ZjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBMMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODE1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlKDAwSzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDZhMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFQyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MTN1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmUoMDBaMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NmYzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwTDIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA4NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgw
MFUyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MGF1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBhMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwODBjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwYTIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAyNHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZSgwMGQyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAxZTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBlMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWNkdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlKDAwZjMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDgyNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGcwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4Mjd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmUoMDBnMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjNl
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwbzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMHQw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MTV1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmUoMDBtMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwODE3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwbTIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBiOXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZSgwMGgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwZGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBwMjBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDVkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlKDAwdTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDJlZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGkyMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzY2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUo
MDBxMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTRmdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwdjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ1ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMHUyMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjB1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmUoMDBpMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwM2NidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwcTEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU1MHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwMHYxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAyMjV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBuMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjY4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlKDAwbDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDY2YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGwzMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNTJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qKDAwSTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDIwMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBSMjBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmJhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvaigwMFgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyZWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSTMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgzM3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2ooMDBSMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwODNldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFgzMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZWJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qKDAwSTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDgzNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBSMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODQwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvaigwMFgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAyY2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSjMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE5N3UsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2ooMDBTMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGVjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMFkzMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZmN1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qKDAwZDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDJlNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBnMTBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjQ3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvaigwMG8xMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwZDMwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlNnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2ooMDBnMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNjQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMG8xMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWR1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qKDAwdDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDdkNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBnMzBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2Q3dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvaigwMGczMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAxMWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwbzMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc3MXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2ooMDB0MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNzczdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMHQzMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZjZ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qKDAwbTMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDRmZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBxMjBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjk5dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlUHJvaigwMHYyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1OWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwcTMwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVmZXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVByb2ooMDB2MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNGZldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMHEyMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2OWJ1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVQcm9qKDAwdjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDU5ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBxMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjAwdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMHYzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAwZGR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwbjMw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBjZHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMEkxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNmR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBS
MTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzZldSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwUjEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBiZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxv
ZCgwMFgxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0
OTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBKMjBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2I5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlTG9kKDAwUzIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDY3NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMFkyMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MjV1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVMb2QoMDBLMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNmRmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwVDIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDViY3UsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUxvZCgwMFoyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA0OTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBKMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2JhdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwUzIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY3N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMFky
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MjZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBLMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNmUxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9k
KDAwVDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVi
ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMFoyMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVMb2QoMDBMMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMWYydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwVTIwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1NXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUxvZCgwMGEyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3MGN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBkMjBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTY1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlTG9kKDAwZzAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDdjYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMG8wMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNTZ1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVMb2QoMDBhMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNzBldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwZDIw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU2NnUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMGcwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3Y2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2Qo
MDBvMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDEy
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwdDAwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUxvZCgwMG0yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3MWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBoMTBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzFmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlTG9kKDAwbTIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDcyMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgwMGgxMEIwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZjZ1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVMb2QoMDBwMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNTVhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwdTEwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU1YnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUxvZCgwMHUxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAxNTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDBpMjBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzE4dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwazMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDJmMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZCgw
MHMzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ODN1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2QoMDB4MzBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDk3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
U2l6ZSgwMEkwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
YjJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwUjAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQxMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVNpemUoMDBYMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NzJjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMEowMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVMb2QoMDBrMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMmYzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kKDAwczMwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4NXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUxvZCgwMHgzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA0OTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwSTAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZiNHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVNpemUoMDBSMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNDExdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFgwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MmV1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVTaXplKDAwSjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDFjNHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBTMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTQ4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlU2l6ZSgwMFkwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA1NDl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwWTAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxZnUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVNpemUoMDBLMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMWUxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZTR1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVTaXplKDAwWjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDdlNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBaMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTkzdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMEwwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1MmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwVTAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUyZnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVNpemUoMDBVMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMWJjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGEwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MTV1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVTaXplKDAwZDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDYxN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBkMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGZldSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGUwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAxYTV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwZjAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRlNnUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBnMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNDcydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMG8w
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZTd1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwZzAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ3M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBv
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWNjdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMHQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyYTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAw
bTAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUwMXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBrMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjU2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgw
MHMwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MDJ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwazAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDY1OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUo
MDBzMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTc5dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMHgwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3Y2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXpl
KDAwbDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5MHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBPIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNzhhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgw
MHEiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3OGR1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwdiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDc4NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBuIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2NjdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGwwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA3OTJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwTyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4Y3UsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVNpemUoMDBxIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNzhmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMHYiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ODd1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVTaXplKDAwbiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDAyMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBoMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDMxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlU2l6ZSgwMHAwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAxZTN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwdTAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEzZHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVNpemUoMDBpMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzg0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGoiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3OGJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVTaXplKDAwciIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDc4Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDB3IikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjlidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvakxvZCgwMEkyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0YTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwUjIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5YXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVByb2pMb2QoMDBYMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNzg2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMGoi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3OGR1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVTaXplKDAwciIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDc4ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDB3IikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjlkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvakxvZCgwMEkyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA0YTV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAw
UjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc5Y3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBYMjBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGY4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvakxvZCgwMEkzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzMWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwUjMwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU5OXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBYMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNmI5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxv
ZCgwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAz
ZGN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwUzMwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxYnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pMb2QoMDBSMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNTlidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMFgzMEIw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YmJ1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwSjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNkZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVBy
b2pMb2QoMDBTMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMWFldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMFkzMEIwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyOTF1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qTG9kKDAwZDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDgxZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBn
MTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODIxdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMGcxMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxN2N1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qTG9kKDAwbzEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDRmZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDB0MTBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGYydSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlUHJvakxvZCgwMGczMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2ZWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9k
KDAwbzMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVk
MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDB0MzBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Y3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvakxvZCgwMG0zMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA0ZmZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwdDEwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRmM3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2QoMDBnMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNmVmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
akxvZCgwMG8zMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1ZDR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kKDAwdDMwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNmOHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2pMb2QoMDBtMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwSTEwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFjZnUsIEltbXV0
YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFIxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzYTR1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBY
MTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2E1dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwWDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIwYnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRj
aCgwMEoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
YjJ1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBTMjBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2I0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhl
bEZldGNoKDAwUzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDBlM3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFkyMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Mjh1LCBJbW11dGFibGVTdHJpbmco
InRleGVsRmV0Y2goMDBMMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNTI5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwTDIwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJkM3UsIEltbXV0YWJsZVN0
cmluZygidGV4ZWxGZXRjaCgwMFUyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxMDF1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBhMjBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWU1dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwZzAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDVlN3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMGcw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMDd1LCBJ
bW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBvMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzBhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNo
KDAwdDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdh
NXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwME8xMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMWN1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0
Y2goMDBxMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzBi
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwdDAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdhN3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxG
ZXRjaCgwME8xMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
MWR1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBxMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWRmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZl
dGNoKDAwdjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY5
MHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMGgxMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZWJ1LCBJbW11dGFibGVTdHJpbmcoInRleGVs
RmV0Y2goMDBwMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNjNidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwdTEwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY5MnUsIEltbXV0YWJsZVN0cmluZygi
dGV4ZWxGZXRjaCgwMGgxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZWR1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBwMTBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjNkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXhlbEZldGNoKDAwdTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDA3MXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMGowMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOWR1LCBJbW11dGFibGVT
dHJpbmcoInRleGVsRmV0Y2goMDByMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzlldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwcjAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE0Y3UsIEltbXV0YWJsZVN0
cmluZygidGV4ZWxGZXRjaCgwMHcwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0NDJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwSTEwQjEwQjEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0M3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBJMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWQzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3Jh
ZCgwMFIxMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAxNTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwWDEwQjEwQjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDczZHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdyYWQoMDBKMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNmU3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFMyMEIy
MEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3M2Z1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwSjIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZlOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdyYWQoMDBTMjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMmIydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFkyMEIyMEIyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YjF1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVHcmFkKDAwSzIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdiM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBL
MjBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWU2
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFQyMEIyMEIyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYzh1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHcmFkKDAwWjIwQjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDJiMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBJMDBCMDBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDBldSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFIwMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MGZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFk
KDAwUjAwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDA2OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBYMDBCMDBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDk0dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR3JhZCgwME8xMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1YWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwcTEwQjEw
QjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5NXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBPMTBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWFjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
R3JhZCgwMHExMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwNmJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwdjEwQjEwQjEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJkN3UsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUdyYWQoMDBuMjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNjk1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMGQy
MEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MmJ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwZTMwQjIwQjIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3MHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdyYWQoMDBMMjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwMzI5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMFUyMEIxMEIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZmV1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHcmFkKDAwYTIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQo
MDBmMzBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NmM4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMG0yMEIwMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Y2N1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVHcmFkKDAwaDEwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDdiY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBwMTBCMDBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDg0dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMHUxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
cmFkKDAwaTIwQjAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDU2YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBrMzBCMjBCMjBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2E4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR3JhZCgwMHMzMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA2ZWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAweDMw
QjIwQjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlNXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkKDAwSTIwQjEwQjEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNkZHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pHcmFkKDAwUjIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDU0NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkKDAw
WDIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY1
Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkKDAwSTMwQjEwQjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZlMHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2pHcmFkKDAwUjMwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY5N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBk
MjBCMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzJk
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMGUzMEIyMEIyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NzF1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHcmFkKDAwTDIwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDMyYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBVMjBCMTBCMTBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmZmdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMGEyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ODF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFk
KDAwZjMwQjEwQjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDZjYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDBtMjBCMDBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWNldSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR3JhZCgwMGgxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA3YmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwcDEwQjAw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4NXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWQoMDB1MTBCMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmU1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
R3JhZCgwMGkyMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA1NmR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkKDAwazMwQjIwQjIwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdhYXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUdyYWQoMDBzMzBCMjBCMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNmVkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZCgwMHgz
MEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZTZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMEkyMEIxMEIxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZGV1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qR3JhZCgwMFIyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA1NDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgw
MFgyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
NWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMEkzMEIxMEIxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZTJ1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qR3JhZCgwMFIzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyMTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3Jh
ZCgwMFgzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAwYmF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMEozMEIyMEIyMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwM2V1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMFMzMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMmJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
R3JhZCgwMFkzMEIyMEIyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzMDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMGQzMEIxMEIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMDh1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMGQzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYzV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQ
cm9qR3JhZCgwMGcxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzNDd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMG8xMEIwMEIw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MmR1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHQxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qR3JhZCgwMGczMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0NzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMG8zMEIw
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNDh1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMG8xMEIwMEIwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MmZ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qR3JhZCgwMHQxMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA2NDN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMGcz
MEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NzV1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMG8zMEIwMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYWN1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qR3JhZCgwMHQzMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA0OTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgw
MG0zMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1
ZmZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwME8yMEIxMEIxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNWR1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVQcm9qR3JhZCgwMHEyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzZGJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3Jh
ZCgwMHYyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3ZjV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwME8zMEIxMEIxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0OTF1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMG0zMEIwMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
R3JhZCgwME8yMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzNWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHEyMEIxMEIxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZGN1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHYyMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3Zjd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQ
cm9qR3JhZCgwME8zMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAyMWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHEzMEIxMEIx
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMjB1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHYzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MzF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qR3JhZCgwMG4zMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0YjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGci
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YWF1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMG8iKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0Yjh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxl
dmVscygwMHQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YzB1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMEkiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Y2N1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVRdWVyeUxldmVscygwMFIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0YzZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFgiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YzF1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVRdWVyeUxldmVscygwMEoiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0Y2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygw
MFMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Yzd1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFkiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YzJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVy
eUxldmVscygwMEsiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0
Y2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Yzh1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVRdWVyeUxldmVscygwMFoiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA0YWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGgiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzN1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHAiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA0Yjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVs
cygwMHUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YmZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMEwiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Y2J1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVR
dWVyeUxldmVscygwMFUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA0YjN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGEiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YWR1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVRdWVyeUxldmVscygwMGsiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0YmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Yjd1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0YTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxl
dmVscygwMG0iKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YWV1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVRdWVyeUxldmVscygwMGUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0YWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGkiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YjB1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVRdWVyeUxldmVscygwMGYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0YTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygw
MGwiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMjF1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZCgwMHYzMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MzN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qR3JhZCgwMG4zMEIxMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA0YjJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGci
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YWJ1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMG8iKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0Yjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxl
dmVscygwMHQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YzF1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMEkiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Y2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVRdWVyeUxldmVscygwMFIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA0Yzd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFgiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YzJ1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVRdWVyeUxldmVscygwMEoiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA0Y2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygw
MFMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Yzh1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFkiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YzN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVy
eUxldmVscygwMEsiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0
Y2J1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMFQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Yzl1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVRdWVyeUxldmVscygwMFoiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA0YWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGgiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMzR1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHAiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA0YmF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVs
cygwMHUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YzB1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMEwiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Y2N1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVR
dWVyeUxldmVscygwMFUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0YjR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGEiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YWV1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVRdWVyeUxldmVscygwMGsiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA0YmZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0Yjh1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMHgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0YWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxl
dmVscygwMG0iKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YWZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YjB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVRdWVyeUxldmVscygwMGUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA0YWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygwMGkiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YjF1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVRdWVyeUxldmVscygwMGYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA0YTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVRdWVyeUxldmVscygw
MGwiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMTV1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVTYW1wbGVzKDAwUCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDIxOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNhbXBsZXMo
MDBWIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjA5dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2FtcGxlcygwMGIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0MWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTYW1wbGVz
KDAwUSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQxZXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVNhbXBsZXMoMDBRIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2FtcGxl
cygwMFciKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzY2N1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVTYW1wbGVzKDAwYyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUo
MDBQIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzgzdSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA3ODh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwYiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5NXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVNpemUoMDBRIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNzk5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFciKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ODd1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVTaXplKDAwYyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDQ3OHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFAxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZWJ1LCBJbW11dGFibGVTdHJp
bmcoInRleGVsRmV0Y2goMDBWMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNDQ3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwYjEwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVkN3UsIEltbXV0YWJs
ZVN0cmluZygidGV4ZWxGZXRjaCgwMFEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA4MWV1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBXMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzE3dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwYzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNhbXBs
ZXMoMDBjIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzk4dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFAiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzODR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAw
ViIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4YXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBiIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNzk3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwMFEiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3OWJ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVTaXplKDAwVyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDc4OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVNpemUoMDBjIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDc5dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXhlbEZldGNoKDAwUDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDRlY3UsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFYxMEQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NDh1LCBJbW11dGFibGVT
dHJpbmcoInRleGVsRmV0Y2goMDBiMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNWQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwUTIwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgyMHUsIEltbXV0
YWJsZVN0cmluZygidGV4ZWxGZXRjaCgwMFcyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzMTh1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBj
MjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDcwdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSTEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDQyY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFIx
MEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MmR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBSMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMjczdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwWDEw
QjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwMXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZSgwMEoyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2NzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBTMjBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzAydSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSjIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY3NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFMyMEIw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZWF1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmUoMDBZMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzNidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwSzIwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5ZHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZSgwMFQyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA3M2R1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBLMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDlldSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlKDAwVDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDFkYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMFoyMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMWV1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmUoMDBMMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMmU5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwVTIwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY0NnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZSgwMGEyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzOTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSTIwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDViMHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBSMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzhhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigw
MFgyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjR1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwSTMwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDJlYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZSgwMFUyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
NDh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBhMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzk5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
UHJvaigwMEkyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1YjJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwUjIwQjAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4YnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2ooMDBYMjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzY1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMEkzMEIwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMDB1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qKDAwUjMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDc3ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBYMzBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDQ4dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMEozMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ODF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
KDAwWDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0
OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBKMzBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTdhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvaigwMFMzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA1M2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwWTMwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3YXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZSgwMGQyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA0N2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBlMzBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjQzdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvaigwMGQzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA3MTF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBnMDBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODRldSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlKDAwbzAwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDUzZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBZMzBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTdjdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlKDAwZDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDQ3ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGUzMEIwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NDV1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qKDAwZDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDcxM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMGcwMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4NTB1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmUoMDBvMDBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMTA1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwdDAwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE4ZXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZSgwMG0yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxOGN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBoMjBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDVldSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlKDAwcDIwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDYzNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZSgwMHUyMEIwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2Mzh1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmUoMDB1MjBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMjVmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlKDAwaTIwQjAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgzNXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZSgwMGYzMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA4Mzd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBmMzBCMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDUydSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvaigwMGcxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2MWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwbzEwQjAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYyMHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBvMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigw
MHQxMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NjB1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwZzMwQjAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU2MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVByb2ooMDBnMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMTkwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwMG8zMEIwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZDB1LCBJbW11dGFibGVTdHJpbmco
InRleHR1cmVQcm9qKDAwdDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDdjN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBtMzBCMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODQ3dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlKDAwTTEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDY0OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBNMjBCMDBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDNldSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME0zMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2NTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBOMTBC
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2Y4dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvaigwME4yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
KDAwdDMwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdj
OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBtMzBCMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlKDAwTTEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDY0YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBNMjBCMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvaigwME0zMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA2NWJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDBOMTBCMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2ZhdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvaigwME4yMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwNmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTjMwQjAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNhYnUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwZzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ4NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9k
KDAwbzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgzY3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwdDAwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVF1ZXJ5TG9kKDAwSTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDMzZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwUjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc1OXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVF1ZXJ5TG9kKDAwWDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDVkZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwSjIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc3NnUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwUzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDZhY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5
TG9kKDAwWTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2
MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwSzIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhY3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVF1ZXJ5TG9kKDAwZzAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDQ4N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwbzAwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgzZXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwdDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDNmMHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAw
STEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzZXUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwUjEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc1YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1
ZXJ5TG9kKDAwWDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDVlMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwSjIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc3OHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVF1ZXJ5TG9kKDAwUzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDZhZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwWTIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2M3UsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwSzIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE0MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9k
KDAwVDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcyZHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwWjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVjZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVF1ZXJ5TG9kKDAwaDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDcyZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwWjIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVkMXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVF1ZXJ5TG9kKDAwaDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDA5MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwcDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY3OXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwdTAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDZjNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5
TG9kKDAwTDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4
M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwVTEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY3YnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVF1ZXJ5TG9kKDAwdTAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDZjN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwTDEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY4NXUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwVTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDBjNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAw
YTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFhY3UsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwazIwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU0ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1
ZXJ5TG9kKDAwczIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDU1NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAweDIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU0ZnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVF1ZXJ5TG9kKDAwczIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDU1NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAweDIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwZHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwbTAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDFiYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9k
KDAwZDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJhNHUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwZTIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBkZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVF1ZXJ5TG9kKDAwaTAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDI0MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwZjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNkOHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVF1ZXJ5TG9kKDAwbDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDNkOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVF1ZXJ5TG9kKDAwbDIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4MXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMEkxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNWN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZz
ZXQoMDBSMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzVkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwUjEwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE2NHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZU9mZnNldCgwMFgxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAyMGF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBKMjBCMjBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWZmdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwUzIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDViZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNl
dCgwMFkyMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
NWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBkMjBCMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWMwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlT2Zmc2V0KDAwWTIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDY2MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMGQyMEIxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwN2J1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBMMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNDY3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0
KDAwVTIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc1
NXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMGEyMEIxMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZDR1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVPZmZzZXQoMDBnMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNWQzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwbzAwQjAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQyOXUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZU9mZnNldCgwMHQwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzZTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQo
MDBPMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzBk
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwcTEwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2OHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZU9mZnNldCgwMFUyMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3NTd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBhMjBCMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2Q2dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwZzAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDVkNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgw
MG8wMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MmF1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDB0MDBCMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2U1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlT2Zmc2V0KDAwTzEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDcwZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMHExMEIxMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyOWN1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVPZmZzZXQoMDB2MTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNDZidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAw
bjIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2Y3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMG4yMEIxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNjR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVPZmZzZXQoMDBtMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMWY1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwaDEwQjAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBiOHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZU9mZnNldCgwMHAxMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA4MDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDB1
MTBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzUzdSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwaTIwQjAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc2YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZU9mZnNldCgwMGYzMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0YTd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTIwQjEwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgwM3UsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZU9mZnNldCgwMHUxMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNTR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQo
MDBpMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzZj
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwZjMwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRhOHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBJMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMjdldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFIy
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNWZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWDIwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE2M3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBJMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwODNkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFIz
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZTB1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWDMwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYyOHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBKMzBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwODNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFIz
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZTJ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWDMwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYyYXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBKMzBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDgwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFMz
MEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYmV1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwWTMwQjIwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQwMHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBkMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNDAxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMGQz
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMDN1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwZzEwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU2Y3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBvMTBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNzI5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMHQx
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MTB1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwZzMwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQzY3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBvMzBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNzEzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMHQz
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDV1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwTzIwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJlZXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBxMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNTZldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMG8x
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MmJ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwdDEwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgxMnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBnMzBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNDNkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMG8z
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MTV1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwdDMwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZkN3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBPMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMmVmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMHEy
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMTZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwdjIwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEyNXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDBPMzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDdhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMHEz
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YmR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwdjMwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdiZnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pPZmZzZXQoMDB2MzBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMmJidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMG4z
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MjF1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwbTMwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2M3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUxvZE9mZnNldCgwMEkxMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2Mzd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBS
MTBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDlj
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwWDEwQjAwQjEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0ZnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUxvZE9mZnNldCgwMEoyMEIwMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA2MjN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zm
c2V0KDAwbTMwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDQ2NHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMEkxMEIwMEIxMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2Mzl1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBSMTBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNDlkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9k
T2Zmc2V0KDAwWDEwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM1MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMEoyMEIwMEIy
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwOTF1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBTMjBCMDBCMjBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzFhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlTG9kT2Zmc2V0KDAwWTIwQjAwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDU0NHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMGQy
MEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MjZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBMMjBCMDBCMTBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDA3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwVTIwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDcxY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxvZE9mZnNl
dCgwMFkyMEIwMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1NDV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBkMjBCMDBCMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODI4dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwTDIwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQwOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUxv
ZE9mZnNldCgwMFUyMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwMjl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDBhMjBCMDBC
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTc1dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwZzAwQjAwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxY3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUxvZE9mZnNldCgwMG8wMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAyZDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDB0
MDBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2U5
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwbTIwQjAwQjAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdlYnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUxvZE9mZnNldCgwMG0yMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyNmV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZz
ZXQoMDBoMTBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjUzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwcDEwQjAwQjAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgyN3UsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUxvZE9mZnNldCgwMHUxMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MzZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVM
b2RPZmZzZXQoMDBpMjBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwODE5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMEky
MEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4Mjl1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVMb2RPZmZzZXQoMDB1MTBCMDBCMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDM3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlTG9kT2Zmc2V0KDAwaTIwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDgxYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RP
ZmZzZXQoMDBJMjBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMGI3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFIyMEIw
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZTd1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwWDIwQjAwQjEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYwYnUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBJMzBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWNidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
akxvZE9mZnNldCgwMFIzMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzZjV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAw
WDMwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMx
MXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBKMzBCMDBCMjBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmU4dSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFgyMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MGR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVQcm9qTG9kT2Zmc2V0KDAwSTMwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDVjZHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZz
ZXQoMDBSMzBCMDBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwM2Y2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFgzMEIwMEIx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMTJ1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwSjMwQjAwQjIwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBkYnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pMb2RPZmZzZXQoMDBTMzBCMDBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNzQzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxv
ZE9mZnNldCgwMFkzMEIwMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA2MDh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwZDMw
QjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU1M3Us
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBnMTBCMDBCMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzQ1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMFkzMEIwMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MGF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQ
cm9qTG9kT2Zmc2V0KDAwZDMwQjAwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDU1NHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQo
MDBnMTBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MTJhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMG8xMEIwMEIwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDR1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwdDEwQjAwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZkNnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZVByb2pMb2RPZmZzZXQoMDB0MTBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMTQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakxvZE9m
ZnNldCgwMGczMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA1YWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qTG9kT2Zmc2V0KDAwbzMwQjAw
QjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDViMHUsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pMb2RPZmZzZXQoMDBvMzBCMDBCMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDY5dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvakxvZE9mZnNldCgwMHQzMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MzF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
TG9kT2Zmc2V0KDAwbTMwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDZjMHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMEkxMEQw
MEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0OTl1LCBJ
bW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBSMTBEMDBEMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODMzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlUHJvakxvZE9mZnNldCgwMG0zMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA2YzJ1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZz
ZXQoMDBJMTBEMDBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNDlhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwUjEwRDAwRDEwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE4YXUsIEltbXV0YWJs
ZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMFgxMEQwMEQxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwM2R1LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0
Y2hPZmZzZXQoMDBKMjBEMDBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNGU0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAwUzIwRDAw
RDIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRlNXUsIElt
bXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMFMyMEQwMEQyMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMzl1LCBJbW11dGFibGVTdHJpbmcoInRl
eGVsRmV0Y2hPZmZzZXQoMDBZMjBEMDBEMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwN2I1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zmc2V0KDAw
TDIwRDAwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNm
OXUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMFUyMEQwMEQxMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3Yjd1LCBJbW11dGFibGVTdHJp
bmcoInRleGVsRmV0Y2hPZmZzZXQoMDBMMjBEMDBEMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2ZhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoT2Zm
c2V0KDAwVTIwRDAwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDBhZnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMGEyMEQwMEQxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YzB1LCBJbW11dGFi
bGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBnMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2MydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZl
dGNoT2Zmc2V0KDAwZzAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDIxOHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMG8wMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NzZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDB0MDBEMDBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWRhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXhlbEZldGNoT2Zmc2V0KDAwTzEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDU3OHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMHQw
MEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZGN1
LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDBPMTBEMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDIydSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXhlbEZldGNoT2Zmc2V0KDAwcTEwRDEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDg1NnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMHYx
MEQxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4NTh1LCBJ
bW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDB2MTBEMTBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWE2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhl
bEZldGNoT2Zmc2V0KDAwaDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDExNnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMHAx
MEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NGV1
LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2hPZmZzZXQoMDB1MTBEMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzRldSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR3JhZE9mZnNldCgwMEkxMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFk
T2Zmc2V0KDAwUjEwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDY1MHUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRjaE9mZnNldCgwMHUxMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNGZ1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwSTEwQjEwQjEwQjEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdiMXUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdyYWRPZmZzZXQoMDBSMTBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTg5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3Jh
ZE9mZnNldCgwMFgxMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAyNTd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwSjIw
QjIwQjIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZh
ZnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBTMjBCMjBCMjBCMjBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTdkdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMFkyMEIyMEIyMEIyMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZmR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHcmFkT2Zmc2V0KDAwZDIwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDNkM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQo
MDBMMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwM2NmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMFUyMEIxMEIxMEIx
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZjB1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwYTIwQjEwQjEwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU2ZnUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdyYWRPZmZzZXQoMDBmMzBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNmIxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9m
ZnNldCgwMFMyMEIyMEIyMEIyMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA1N2Z1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwWTIwQjIw
QjIwQjIwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNmZXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBkMjBCMTBCMTBCMTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMEwyMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZDB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
cmFkT2Zmc2V0KDAwVTIwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDJmMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBh
MjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NTcxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMGYzMEIxMEIxMEIxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyODh1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwZzAwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc1ZHUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdyYWRPZmZzZXQoMDBvMDBCMDBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTcydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNl
dCgwMHQwMEIwMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzZDF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwTzEwQjEwQjEw
QjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyY3UsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBxMTBCMTBCMTBCMTBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzVmdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR3JhZE9mZnNldCgwMG8wMEIwMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NzR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFk
T2Zmc2V0KDAwdDAwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDNkMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBPMTBC
MTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTJk
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMHExMEIxMEIxMEIxMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyZDZ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwdjEwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRkNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdyYWRPZmZzZXQoMDBuMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMzMxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgw
MG0yMEIwMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA2Y2V1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwaDEwQjAwQjAwQjAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRkN3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBuMjBCMTBCMTBCMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzMydSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlR3JhZE9mZnNldCgwMG0yMEIwMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHcmFkT2Zm
c2V0KDAwaDEwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDE0N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdyYWRPZmZzZXQoMDBwMTBCMDBC
MDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGI1dSwg
SW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMHUxMEIwMEIwMEIwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MWV1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHcmFkT2Zmc2V0KDAwaTIwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRiNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdy
YWRPZmZzZXQoMDB1MTBCMDBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNDFmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR3JhZE9mZnNldCgwMGky
MEIwMEIwMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAy
OTN1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNl
dCgwMEkyMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzNWV1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwMzVmdSwKICAgICAgICAgICAgICAgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBSMjBCMTBCMTBCMTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzczdSwKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDM3NHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVBy
b2pHcmFkT2Zmc2V0KDAwWDIwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDU5YXUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA1OWN1LAogICAgICAg
ICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMEkzMEIxMEIx
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YjR1LAor
ICAgIEFTU0VSVF9FUSgweDAwMDAwN2I2dSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBSMzBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmUzdSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZl
NXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0
KDAwWDMwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDg1NHUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA4NTZ1LAogICAgICAgICAgICAgICBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMEozMEIyMEIyMEIyMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZGJ1LAorICAgIEFTU0VSVF9F
USgweDAwMDAwNGRjdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
akdyYWRPZmZzZXQoMDBTMzBCMjBCMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMWU0dSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvakdyYWRPZmZzZXQoMDBZMzBCMjBCMjBCMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTYxdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBkMzBCMTBCMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODMydSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgz
NHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0
KDAwZzEwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDJhZXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFk
T2Zmc2V0KDAwbzEwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDc3MnUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA3NzR1LAogICAgICAgICAgICAg
ICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMHQxMEIwMEIwMEIwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxOGZ1LAogICAgICAg
ICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMGczMEIwMEIw
MEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NWV1LAor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNTVmdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBvMzBCMDBCMDBCMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjY0dSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY2
NnUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0
KDAwdDMwQjAwQjAwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDMzOHUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMzl1LAogICAgICAgICAgICAgICBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwME8yMEIxMEIxMEIxMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNzF1LAogICAgICAgICAgICAg
ICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3JhZE9mZnNldCgwMHEyMEIxMEIxMEIxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CkBAIC0xMTkzLDI1MCArMTE5MywyNTAgQEAgVEVTVChJbW11
dGFibGVTdHJpbmdUZXN0LCBTY3JpcHRHZW5lcmF0ZWRIYXNoZXNNYXRjaCkKICAgICAgICAgICAg
ICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDB2MjBCMTBCMTBCMTBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDEzdSwKICAgICAg
ICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBPMzBCMTBC
MTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2ZjdSwK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDNmZHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0KDAwcTMwQjEwQjEwQjEwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwNnUsCiAgICAgICAgICAgICAgIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVByb2pHcmFkT2Zmc2V0KDAwdjMwQjEwQjEwQjEwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDczY3UsCisgICAgQVNTRVJUX0VRKDB4
MDAwMDA3M2V1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qR3Jh
ZE9mZnNldCgwMG4zMEIxMEIxMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA1NWJ1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwNTVjdSwKICAgICAgICAgICAg
ICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQoMDBtMzBCMDBCMDBCMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2NjdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwSTEwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdjZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9m
ZnNldCgwMEkxMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAxM2F1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBSMTBCMTBEMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGVkdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWDEwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDdkMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNl
dCgwMEoyMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1OWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBTMjBCMjBEMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmFldSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlT2Zmc2V0KDAwWTIwQjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdkM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgw
MEoyMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
YTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBTMjBCMjBEMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmIwdSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlT2Zmc2V0KDAwWTIwQjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA2M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMGQy
MEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YjZ1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBMMjBCMTBEMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlT2Zmc2V0KDAwVTIwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDZiOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMEwyMEIx
MEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3NDF1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBVMjBCMTBEMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTM2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlT2Zmc2V0KDAwYTIwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDM2NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMGcwMEIwMEQw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNjd1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBnMDBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmI2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
T2Zmc2V0KDAwbzAwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDVhM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMHQwMEIwMEQwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3Njh1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVPZmZzZXQoMDBtMjBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNWE1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zm
c2V0KDAwdDAwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDc2YXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMG0yMEIwMEQwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYzl1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVPZmZzZXQoMDBoMTBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNzI1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0
KDAwcDEwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDcyN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMHAxMEIwMEQwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNTR1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVPZmZzZXQoMDB1MTBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNWE0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlT2Zmc2V0KDAw
aTIwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYw
M3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBJMjBCMTBEMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWEydSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFIyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZTJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
T2Zmc2V0KDAwWDIwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDgyMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBJMzBCMTBE
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDE3dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFIzMEIxMEQwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NGJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qT2Zmc2V0KDAwWDMwQjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDVhNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZU9mZnNldCgwMGky
MEIwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MDV1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTIwQjEwRDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVhNHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZVByb2pPZmZzZXQoMDBSMjBCMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNmU0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9m
ZnNldCgwMFgyMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA4MjR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwSTMwQjEwRDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQxOHUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBSMzBCMTBEMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjRkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlUHJvak9mZnNldCgwMFgzMEIxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxNGJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAw
SjMwQjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZm
YnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBTMzBCMjBEMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmZkdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMFMzMEIyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNGR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9q
T2Zmc2V0KDAwWTMwQjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDFlOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBkMzBCMTBE
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWI1dSwgSW1t
dXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMGcxMEIwMEQwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MmZ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVQcm9qT2Zmc2V0KDAwbzEwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDViN3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQo
MDBnMTBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NTMwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMG8xMEIwMEQwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxOWZ1LCBJbW11dGFibGVT
dHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwdDEwQjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNmOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVBy
b2pPZmZzZXQoMDBnMzBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNjEzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNldCgwMG8zMEIw
MEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZjl1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwZzMwQjAwRDAwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYxNXUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZVByb2pPZmZzZXQoMDBvMzBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMDMzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJvak9mZnNl
dCgwMHQzMEIwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzMWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qT2Zmc2V0KDAwbTMwQjAwRDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMyMHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZVByb2pPZmZzZXQoMDBtMzBCMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjZjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
KDAwTTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJiZnUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBNMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2QydSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlUHJv
aigwME0zMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzY2J1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVTaXplKDAwTTAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZhYnUsIEltbXV0YWJsZVN0cmluZygidGV4ZWxGZXRj
aCgwME0xMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
ZDN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTTMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVNpemUoMDBNMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NmFkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXhlbEZldGNoKDAwTTEwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBhYnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZSgwME4xMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAz
ZWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQcm9qKDAwTjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM1NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZVByb2ooMDBOMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NjljdSwgSW1tdXRhYmxlU3RyaW5nKCJyZ2JfMl95dXYoMjBCMDBIIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ5dXZfMl9y
Z2IoMjBCMDBIIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTY3
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6ZSgwME4wMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZWZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVQ
cm9qKDAwTjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM1
N3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZVByb2ooMDBOMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjlldSwgSW1tdXRhYmxlU3RyaW5nKCJyZ2JfMl95
dXYoMjBCMDBIIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDQ3
dSwgSW1tdXRhYmxlU3RyaW5nKCJ5dXZfMl9yZ2IoMjBCMDBIIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNTY5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlU2l6
ZSgwME4wMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYmJ1
LCBJbW11dGFibGVTdHJpbmcoInRleGVsRmV0Y2goMDBOMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2E5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
R2F0aGVyKDAwSTEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDQ0OXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMFIxMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YWJ1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHYXRoZXIoMDBJMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNDRhdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwUjEwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEzOHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdhdGhlcigwMFgxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0ZTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBJMTBCMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2UzdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwUjEwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDc1MHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhl
cigwMFgxMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0
ZWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBJMTBCMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2U1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlR2F0aGVyKDAwUjEwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDc1MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMFgxMEIwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZGN1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBMMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNWQ2dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAw
VTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzN3UsIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGEyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZDh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRo
ZXIoMDBVMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzM4
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwYTIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBhMXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdhdGhlcigwMEwyMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0MTh1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBVMjBCMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjUzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlR2F0aGVyKDAwYTIwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDgxYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsy
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NTN1LCBJbW11
dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBUMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwN2JidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
KDAwWjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNlYnUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsyMEIwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZWR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHYXRoZXIoMDBUMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwM2MwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIwQjAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxMHUsIEltbXV0YWJsZVN0
cmluZygidGV4dHVyZUdhdGhlcigwMGszMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1MTl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBzMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2JkdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAweDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZmNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigw
MGszMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MTl1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBVMjBCMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjU1dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR2F0aGVyKDAwYTIwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDgxY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsyMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4NTV1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXIoMDBUMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwN2JkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNlY3UsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUdhdGhlcigwMEsyMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzZWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIo
MDBUMjBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Mx
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwWjIwQjAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYxMnUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlcigwMGszMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA1MWF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBzMzBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2JldSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR2F0aGVyKDAweDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDZmOHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGszMEIwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNTF1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBzMzBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMTJidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
KDAweDMwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0
Y3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwME8yMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyODl1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHYXRoZXIoMDBxMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNDVldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwdjIwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcyMHUsIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdhdGhlcigwME8yMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA2MmZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBxMjBCMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDVmdSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwdjIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDcyMnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigw
ME8yMEIwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MzF1
LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBxMjBCMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR2F0aGVyKDAwdjIwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDcyM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGQxMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3ZWN1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXIoMDBkMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNjNmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwZjIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcyNXUsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGQxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3ZWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIo
MDBkMTBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjQx
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwZjIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBmNXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdhdGhlcigwMGYyMEIwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzZTZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBlMjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2U3dSwgSW1tdXRhYmxlU3RyaW5n
KCJ0ZXh0dXJlR2F0aGVyKDAwZTIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDBjNnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlcigwMGUyMEIwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MDJ1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHYXRoZXIoMDBsMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNzRkdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
KDAwbjEwQjAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgx
N3UsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MDR1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVH
YXRoZXIoMDBsMzBCMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNzRmdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyKDAwbjEwQjAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgxOXUsCiAgICAgICAgICAgICAg
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBJMTBCMTBEeDQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NTl1LAorICAgIEFTU0VS
VF9FUSgweDAwMDAwODVidSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
R2F0aGVyT2Zmc2V0cygwMFIxMEIxMER4NDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA5NHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldHMoMDBYMTBCMTBEeDQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA1NGN1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwNTRkdSwKICAg
ICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMEwyMEIx
MER4NDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2MHUs
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NjJ1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAwVTIwQjEwRHg0MDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzJjdSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMy
ZHUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMo
MDBhMjBCMTBEeDQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAyNDh1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZz
ZXRzKDAwTzEwQjEwRHg0MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNjMydSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzNHUsCiAgICAgICAgICAgICAgIElt
bXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBxMTBCMTBEeDQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MGV1LAorICAgIEFTU0VSVF9F
USgweDAwMDAwNTBmdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0
aGVyT2Zmc2V0cygwMHYxMEIxMER4NDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDE0NnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMo
MDBJMTBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
NjZ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAwUjEwQjEwRHg0Iiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDVjdSwgSW1tdXRhYmxl
U3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMFgxMEIxMER4NCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlY3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVy
ZUdhdGhlck9mZnNldHMoMDBMMjBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1NTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXRz
KDAwVTIwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NzY4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwMFIxMEIxMER4NCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ1ZHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBYMTBCMTBEeDQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZWV1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHYXRoZXJPZmZzZXRzKDAwTDIwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNTUxdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0
cygwMFUyMEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDJkOXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBhMjBCMTBEeDQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0N2F1LAorICAgIEFT
U0VSVF9FUSgweDAwMDAwNDdidSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR2F0aGVyT2Zmc2V0cygwMGQxMEIwMEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDE2OXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygi
dGV4dHVyZUdhdGhlck9mZnNldHMoMDBmMjBCMDBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZDN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRo
ZXJPZmZzZXRzKDAwTzEwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNGQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0cygwME8x
MEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFhYXUs
IEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldHMoMDBxMTBCMTBEeDQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NTd1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXJPZmZzZXRzKDAwdjEwQjEwRHg0IikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNzU5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0
aGVyT2Zmc2V0cygwMHYxMEIxMER4NCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDIwNnUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdh
dGhlck9mZnNldHMoMDBuMTBCMDBCMTBEeDQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1NDJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQo
MDBJMTBCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NTQzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwSTEwQjEwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDExMHUsIEltbXV0YWJs
ZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMFIxMEIxMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MmN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1
cmVHYXRoZXJPZmZzZXQoMDBYMTBCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwODJldSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0
KDAwWDEwQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDIzM3UsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMEwyMEIxMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZTd1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBVMjBCMTBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGU4dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0
dXJlR2F0aGVyT2Zmc2V0KDAwVTIwQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA3OHUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNl
dCgwMGEyMEIxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA0NjF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBPMTBCMTBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGU4dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwcTEwQjEwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgzYXUsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldCgwMHYxMEIxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA0NjJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZz
ZXQoMDBPMTBCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNGU5dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwcTEwQjEwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgzY3UsIEltbXV0
YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMHYxMEIxMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNzl1LCBJbW11dGFibGVTdHJpbmcoInRl
eHR1cmVHYXRoZXJPZmZzZXQoMDBJMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwODFidSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0
KDAwUjEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNi
MnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMFgxMEIxMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2Zjh1LCBJbW11dGFibGVTdHJp
bmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBMMjBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzhjdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVy
T2Zmc2V0KDAwVTIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDU3ZXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMGEyMEIxMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MWR1LCBJbW11dGFi
bGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBSMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2IzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJl
R2F0aGVyT2Zmc2V0KDAwWDEwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDZmYXUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNldCgwMEwy
MEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzOGR1LCBJ
bW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBVMjBCMTBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTgwdSwgSW1tdXRhYmxlU3RyaW5nKCJ0
ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwYTIwQjEwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDEzYnUsIEltbXV0YWJsZVN0cmluZygidGV4dHVyZUdhdGhlck9mZnNl
dCgwMGQxMEIwMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyZjd1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQoMDBmMjBCMDBCMTBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmY4dSwgSW1tdXRh
YmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwZjIwQjAwQjEwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIxY3UsIEltbXV0YWJsZVN0cmluZygidGV4
dHVyZUdhdGhlck9mZnNldCgwME8xMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2NTJ1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJPZmZzZXQo
MDBxMTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGRm
dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwdjEwQjEwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY1NHUsIEltbXV0YWJsZVN0cmlu
ZygidGV4dHVyZUdhdGhlck9mZnNldCgwMHExMEIxMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0ZTB1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmVHYXRoZXJP
ZmZzZXQoMDB2MTBCMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMGMzdSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlR2F0aGVyT2Zmc2V0KDAwbjEwQjAwQjEw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyOXUsIEltbXV0
YWJsZVN0cmluZygiZEZkeEZpbmUoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNDlhdSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4RmluZSgxMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2N2V1LCBJbW11dGFibGVTdHJpbmco
ImRGZHhGaW5lKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDVkZHUsIEltbXV0YWJsZVN0cmluZygiZEZkeEZpbmUoMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzU0dSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5RmluZSgw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZjF1LCBJbW11
dGFibGVTdHJpbmcoImRGZHlGaW5lKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDQ5NXUsIEltbXV0YWJsZVN0cmluZygiZEZkeUZpbmUoMjBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTRkdSwgSW1tdXRhYmxlU3RyaW5n
KCJkRmR5RmluZSgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAyZmZ1LCBJbW11dGFibGVTdHJpbmcoImRGZHhDb2Fyc2UoMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzZldSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4Q29h
cnNlKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdmYXUs
IEltbXV0YWJsZVN0cmluZygiZEZkeENvYXJzZSgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1MmF1LCBJbW11dGFibGVTdHJpbmcoImRGZHhGaW5lKDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5YnUsIEltbXV0YWJs
ZVN0cmluZygiZEZkeEZpbmUoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNjgwdSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR4RmluZSgyMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZGZ1LCBJbW11dGFibGVTdHJpbmcoImRG
ZHhGaW5lKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM1
NXUsIEltbXV0YWJsZVN0cmluZygiZEZkeUZpbmUoMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2YydSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5RmluZSgxMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0OTZ1LCBJbW11dGFi
bGVTdHJpbmcoImRGZHlGaW5lKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDU0ZXUsIEltbXV0YWJsZVN0cmluZygiZEZkeUZpbmUoMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzAwdSwgSW1tdXRhYmxlU3RyaW5nKCJk
RmR4Q29hcnNlKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDM2ZnUsIEltbXV0YWJsZVN0cmluZygiZEZkeENvYXJzZSgxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZmN1LCBJbW11dGFibGVTdHJpbmcoImRGZHhDb2Fy
c2UoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjZidSwg
SW1tdXRhYmxlU3RyaW5nKCJkRmR4Q29hcnNlKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDA3NnUsIEltbXV0YWJsZVN0cmluZygiZEZkeUNvYXJzZSgwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MmJ1LCBJbW11dGFi
bGVTdHJpbmcoImRGZHlDb2Fyc2UoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNTVkdSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5Q29hcnNlKDIwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRhM3UsIEltbXV0YWJsZVN0cmlu
ZygiZEZkeUNvYXJzZSgzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzMmZ1LCBJbW11dGFibGVTdHJpbmcoImZ3aWR0aEZpbmUoMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODJkdSwgSW1tdXRhYmxlU3RyaW5nKCJkRmR5
Q29hcnNlKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU1
ZXUsIEltbXV0YWJsZVN0cmluZygiZEZkeUNvYXJzZSgyMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YTR1LCBJbW11dGFibGVTdHJpbmcoImRGZHlDb2Fyc2Uo
MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzMwdSwgSW1t
dXRhYmxlU3RyaW5nKCJmd2lkdGhGaW5lKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA5N3UsIEltbXV0YWJsZVN0cmluZygiZndpZHRoRmluZSgxMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ODV1LCBJbW11dGFibGVT
dHJpbmcoImZ3aWR0aEZpbmUoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwM2VhdSwgSW1tdXRhYmxlU3RyaW5nKCJmd2lkdGhGaW5lKDMwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU1Y3UsIEltbXV0YWJsZVN0cmluZygi
ZndpZHRoQ29hcnNlKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDYwMnUsIEltbXV0YWJsZVN0cmluZygiZndpZHRoQ29hcnNlKDEwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNmZXUsIEltbXV0YWJsZVN0cmluZygiZndp
ZHRoQ29hcnNlKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDRhNnUsIEltbXV0YWJsZVN0cmluZygiZndpZHRoQ29hcnNlKDMwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3MXUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJw
b2xhdGVBdENlbnRyb2lkKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDNjOXUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdENlbnRyb2lkKDEwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVjYXUsIEltbXV0YWJs
ZVN0cmluZygiaW50ZXJwb2xhdGVBdENlbnRyb2lkKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDUxOHUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVB
dENlbnRyb2lkKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDZlZnUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdFNhbXBsZSgwMEIwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ODZ1LCBJbW11dGFibGVTdHJp
bmcoImZ3aWR0aEZpbmUoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwM2VidSwgSW1tdXRhYmxlU3RyaW5nKCJmd2lkdGhGaW5lKDMwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU1ZHUsIEltbXV0YWJsZVN0cmluZygiZndp
ZHRoQ29hcnNlKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDYwNHUsIEltbXV0YWJsZVN0cmluZygiZndpZHRoQ29hcnNlKDEwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNmZnUsIEltbXV0YWJsZVN0cmluZygiZndpZHRo
Q29hcnNlKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRh
N3UsIEltbXV0YWJsZVN0cmluZygiZndpZHRoQ29hcnNlKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3MnUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xh
dGVBdENlbnRyb2lkKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDNjYXUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdENlbnRyb2lkKDEwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVjY3UsIEltbXV0YWJsZVN0
cmluZygiaW50ZXJwb2xhdGVBdENlbnRyb2lkKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDUxOXUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdENl
bnRyb2lkKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZm
MXUsIEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdFNhbXBsZSgwMEIwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMmN1LCBJbW11dGFibGVTdHJpbmco
ImludGVycG9sYXRlQXRTYW1wbGUoMTBCMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMjk0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRlcnBvbGF0ZUF0U2FtcGxl
KDIwQjAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI2YXUs
IEltbXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdFNhbXBsZSgzMEIwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwOGZ1LCBJbW11dGFibGVTdHJpbmcoImlu
dGVycG9sYXRlQXRPZmZzZXQoMDBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNWUzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRlcnBvbGF0ZUF0T2Zmc2V0KDEw
QjEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUxNHUsIElt
bXV0YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdE9mZnNldCgyMEIxMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZTV1LCBJbW11dGFibGVTdHJpbmcoImludGVy
cG9sYXRlQXRPZmZzZXQoMTBCMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNTE1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbnRlcnBvbGF0ZUF0T2Zmc2V0KDIwQjEw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAwMnUsIEltbXV0
YWJsZVN0cmluZygiaW50ZXJwb2xhdGVBdE9mZnNldCgzMEIxMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2Yzd1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0Nv
dW50ZXIoMDBHIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjE5
dSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNDb3VudGVySW5jcmVtZW50KDAwRyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZjOXUsIEltbXV0YWJsZVN0cmluZygi
YXRvbWljQ291bnRlcigwMEciKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA2MWJ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJJbmNyZW1lbnQoMDBHIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWM2dSwgSW1tdXRhYmxl
U3RyaW5nKCJhdG9taWNDb3VudGVyRGVjcmVtZW50KDAwRyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5ZnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRl
ckFkZCgwMEcwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1
ODB1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJTdWJ0cmFjdCgwMEcwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YjR1LCBJbW11dGFibGVTdHJp
bmcoImF0b21pY0NvdW50ZXJNaW4oMDBHMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNDQwdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNDb3VudGVyTWF4KDAw
RzAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5Y3UsIElt
bXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRlckFuZCgwMEcwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjF1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0Nv
dW50ZXJPcigwMEcwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1MzF1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJYb3IoMDBHMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDQxdSwgSW1tdXRhYmxlU3RyaW5n
KCJhdG9taWNDb3VudGVyRXhjaGFuZ2UoMDBHMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwN2ExdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNDb3VudGVyQWRk
KDAwRzAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU4MnUs
IEltbXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRlclN1YnRyYWN0KDAwRzAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRiNXUsIEltbXV0YWJsZVN0cmluZygi
YXRvbWljQ291bnRlck1pbigwMEcwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA0NDF1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJNYXgoMDBHMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzlldSwgSW1tdXRh
YmxlU3RyaW5nKCJhdG9taWNDb3VudGVyQW5kKDAwRzAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM2MnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRl
ck9yKDAwRzAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUz
MnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljQ291bnRlclhvcigwMEcwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NDJ1LCBJbW11dGFibGVTdHJpbmcoImF0
b21pY0NvdW50ZXJFeGNoYW5nZSgwMEcwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxMzV1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0NvdW50ZXJDb21wU3dh
cCgwMEcwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAx
NTZ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FkZCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMzB1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0Fk
ZCgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyZDV1
LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01pbigwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MGZ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01pbigw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4M2J1LCBJ
bW11dGFibGVTdHJpbmcoImF0b21pY01heCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0OGZ1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY01heCgwMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YmV1LCBJbW11
dGFibGVTdHJpbmcoImF0b21pY0FuZCgwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA0Njl1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0FuZCgwMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1M2F1LCBJbW11dGFi
bGVTdHJpbmcoImF0b21pY09yKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDM3ZnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljT3IoMDBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDEwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJhdG9taWNNaW4oMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwODNkdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNNYXgoMDBFMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDkwdSwgSW1tdXRhYmxlU3RyaW5n
KCJhdG9taWNNYXgoMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNmMwdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNBbmQoMDBFMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDZhdSwgSW1tdXRhYmxlU3RyaW5nKCJh
dG9taWNBbmQoMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNTNidSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNPcigwMEUwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzODB1LCBJbW11dGFibGVTdHJpbmcoImF0b21p
Y09yKDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE3
M3UsIEltbXV0YWJsZVN0cmluZygiYXRvbWljWG9yKDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBlMnUsIEltbXV0YWJsZVN0cmluZygiYXRvbWljWG9y
KDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIzYXUs
IEltbXV0YWJsZVN0cmluZygiYXRvbWljRXhjaGFuZ2UoMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzY3dSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNF
eGNoYW5nZSgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA3Njl1LCBJbW11dGFibGVTdHJpbmcoImF0b21pY0V4Y2hhbmdlKDAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJiMHUsIEltbXV0YWJsZVN0cmluZygi
YXRvbWljQ29tcFN3YXAoMDBFMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzUxdSwgSW1tdXRhYmxlU3RyaW5nKCJhdG9taWNDb21wU3dhcCgwMEQwMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZmF1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMHoiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA1YjJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUEiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOWJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlU2l6ZSgwMUIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzOWN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUMiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
U2l6ZSgwMUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTF1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzOWV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUYi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOWZ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlU2l6ZSgwMUciKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzOTV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUgiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOTZ1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlU2l6ZSgwMUkiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzOTN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUoiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOTR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6
ZSgwMUsiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzOTl1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMUwiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAzOWF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMU0iKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NTl1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlU2l6ZSgwMU4iKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzYjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWEiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZWF1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlU2l6ZSgwMWIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAz
YjN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYjh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgw
MWQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Zjh1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDAzYjZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWYiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1YTl1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlU2l6ZSgwMU8iKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzYTh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMVAiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
U2l6ZSgwMVEiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZjR1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWciKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDAzYWV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMWgi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYWZ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlU2l6ZSgwMWkiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzYTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMVIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTd1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlU2l6ZSgwMVMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzYWN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMVQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYWR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6
ZSgwMVUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYWF1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMVYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA2Mjl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU2l6ZSgwMVciKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNTJ1LCBJbW11dGFibGVT
dHJpbmcoImF0b21pY0NvbXBTd2FwKDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDJmYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAweiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDViNHUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VTaXplKDAxQSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDM5Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5ZHUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VTaXplKDAxQyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDNhMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXpl
KDAxRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5ZnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxRiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDNhMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxRyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5NnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VTaXplKDAxSCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM5N3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxSSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5NHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VTaXplKDAxSiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5
NXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxSyIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAx
TCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM5YnUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxTSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDU1YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxTiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiNnUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VTaXplKDAxYSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDVlY3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxYiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VT
aXplKDAxYyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiOXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxZCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDVmYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxZSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNiN3UsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VTaXplKDAxZiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDVhYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxTyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhOXUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VTaXplKDAxUCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDNhYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxUSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVmNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXpl
KDAxZyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhZnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxaCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDNiMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxaSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhN3UsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VTaXplKDAxUiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDNhOHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxUyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhZHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VTaXplKDAxVCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNh
ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxVSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTaXplKDAx
ViIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYyYnUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VTaXplKDAxVyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDFjZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTYW1wbGVzKDAxUiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxYXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VTYW1wbGVzKDAxUyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDAxOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTYW1wbGVzKDAxVCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKQEAgLTE0NDQsMTYxICsxNDQ0LDE2MSBAQCBURVNUKEltbXV0YWJsZVN0
cmluZ1Rlc3QsIFNjcmlwdEdlbmVyYXRlZEhhc2hlc01hdGNoKQogICAgIEFTU0VSVF9FUSgweDAw
MDAwMDE3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVNhbXBsZXMoMDFWIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDE2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZVNhbXBsZXMoMDFXIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MDExdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMHoxMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NGR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQWRkKDAxQTEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDg0ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFBMTBE
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWFkdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMUIxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMjN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljQWRkKDAxQzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDMyNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFDMjBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDJmdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FkZCgwMUQyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAwYzF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAx
RTIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDExY3Us
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFJMjBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjFidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0FkZCgwMUoyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA1OTd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxSzIwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3MXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFnMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjFkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Fk
ZCgwMUoyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
OTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxSzIwRDAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM3MnUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNBZGQoMDFnMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMWVldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMWgwMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ODV1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxaTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY3M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNBZGQoMDFGMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMzg2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMUcyMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljQWRkKDAxSDIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDNlOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFh
MjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjkzdSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMWIyMEQwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljQWRkKDAxYzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDVkZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFMMDBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzk3dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMU0wMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1ODd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRk
KDAxaTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY3
NXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFGMjBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzg3dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0FkZCgwMUcyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA2ZGR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxSDIwRDAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNlYXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFhMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNjk1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0FkZCgwMWIyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA3MTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxYzIwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVlMHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBZGQoMDFMMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNzk5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMU0w
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMTV1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxTjAwRDAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVjNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNBZGQoMDFPMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzA5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMVAxMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1YzZ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljQWRkKDAxTzEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDcwYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQo
MDFQMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTg1
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMVExMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NDd1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljQWRkKDAxWDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDc0OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFYMTBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTZkdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMVkxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYzJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
QWRkKDAxWjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDMzZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFSMTBEMDBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzQwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FkZCgwMVIxMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAwMDl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRk
KDAxUzEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDdlZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFUMTBEMDBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjIwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FkZCgwMVUyMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3ZjF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRk
KDAxVDEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDYyMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFVMjBEMDBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWQ2dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FkZCgwMVYyMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAyMmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRk
KDAxVzIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDIzOHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDB6MTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODRjdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0FkZCgwMUExMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA4NGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxQTEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIwNHUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmE2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0FkZCgwMUMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA2ZmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxRDIwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcxOXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNBZGQoMDFFMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzE1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgw
MUkyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MWF1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxSjIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU5OHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBZGQoMDFLMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNmZldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMUQyMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MWJ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxRTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDcxN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNB
ZGQoMDFJMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NjFjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMUoyMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1OWF1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQWRkKDAxSzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDFmZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFnMDBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWVkdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMWgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ODZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljQWRkKDAxaTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDY3MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFGMjBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzg3dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FkZCgwMUcyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA2ZGF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAx
SDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZmNXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFhMjBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWM5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0FkZCgwMWIyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3MGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxYzIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU4OHUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFpMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjc0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Fk
ZCgwMUYyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAz
ODh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxRzIwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZkY3UsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNBZGQoMDFIMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNmY3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMWEyMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Y2J1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxYjIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcxMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNBZGQoMDFjMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjVldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMUwwMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3OTh1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljQWRkKDAxTTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDc5YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFN
MDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTE0dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMU4wMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1YzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljQWRkKDAxTzEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDcwYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFQMTBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzM0dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0FkZCgwMVExMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA3NGF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRk
KDAxWDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVj
NXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFPMTBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzBjdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0FkZCgwMVAxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA3MzZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxUTEwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc0Y3UsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBZGQoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTZjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0FkZCgwMVkxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAw
MDAyYzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxWjEwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzZXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBZGQoMDFSMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNjNhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgw
MVMxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
ZWV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxVDEwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxZnUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBZGQoMDFVMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzNmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgw
MVIxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
M2N1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxUzEwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdmMHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBZGQoMDFUMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNjIxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FkZCgw
MVUyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAy
ZTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQWRkKDAxVjIwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU5YnUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBZGQoMDFXMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTkwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigw
MHoxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NmR1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxQTEwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU5ZHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBZGQoMDFXMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNTkydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMHoxMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NmZ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxQTEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFlYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNNaW4oMDFCMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMjhldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUMyMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZmJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljTWluKDAxRDIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDViYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFF
MjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzFldSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUkyMEQwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljTWluKDAxRDIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDViZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFFMjBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzIwdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUkyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAg
ICAgQVNTRVJUX0VRKDB4MDAwMDAxN2R1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWlu
KDAxSjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMz
MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFLMjBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzY4dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY01pbigwMWcwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAzMzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxSzIwRDAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM2OXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFnMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTExdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y01pbigwMWgwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDAzNjJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxaTAwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM2M3UsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNNaW4oMDFpMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMTJkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUYy
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNjd1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxRzIwRDAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIxMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNNaW4oMDFIMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNjk0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMWEyMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2OTZ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWluKDAxYTIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDI3OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4o
MDFiMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTAw
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMWMyMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Mzd1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljTWluKDAxTDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDQ3ZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFNMDBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTAxdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMWMyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Mzh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWluKDAxTDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDQ3ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFNMDBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmEydSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY01pbigwMU4wMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0N2Z1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxTzEw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMyMnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFQMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzQxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY01pbigwMVExMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA0ODB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxTzEwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMyM3UsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNNaW4oMDFQMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzQydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigw
MVExMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZmN1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxWDEwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEwNHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNNaW4oMDFZMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNmMydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVoxMEQwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YzR1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxWjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
aW4oMDFSMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNmZhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVMxMEQwMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZTJ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWluKDAxVDEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDczMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
aW4oMDFVMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNjYydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVYyMEQwMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YzJ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWluKDAxVzIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDU5MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
aW4oMDB6MTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NTZldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUExMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZmN1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljTWluKDAxUzEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDJlM3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFU
MTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzM0
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVUyMEQwMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NjR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljTWluKDAxVjIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDdjNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFX
MjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTkz
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMHoxMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NzB1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljTWluKDAxQTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDFlOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFCMTBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjhkdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWluKDAxRDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDViYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFFMjBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzY3dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY01pbigwMUQyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1YmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxRTIw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBkM3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFJMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2JidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY01pbigwMUoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA0YmF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxSzIwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5MnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNNaW4oMDFnMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwM2JjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigw
MUoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YmJ1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxSzIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc5NHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNNaW4oMDFnMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMTEydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMWgwMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MzV1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxaTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
aW4oMDFpMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MTJldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMUYyMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNjZ1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljTWluKDAxRzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDQwYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFIMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzAwdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMWEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MGJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljTWluKDAxSDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDMwMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFhMjBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjdhdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY01pbigwMWIyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA0ZmZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAx
YzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY3ZnUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFMMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDdjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY01pbigwMU0wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA1MDB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxYzIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY4MXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFMMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNDdkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01p
bigwMU0wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAy
YTN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxTjAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4MHUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNNaW4oMDFPMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNDgxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMU8xMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyOWZ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWluKDAxUDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNNaW4oMDFRMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMzQzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVExMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZmJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljTWluKDAxWDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDAzNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFZ
MTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmMxdSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVoxMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljTWluKDAxWjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDA0YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFSMTBEMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmY5dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVMxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZTN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljTWluKDAxVDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDczM3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFVMjBEMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjYxdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljTWluKDAxVzIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDNlMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDB6MTBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmZidSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVMxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZTR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWluKDAxVDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDczNXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNaW4oMDFVMjBEMDBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjYzdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY01pbigwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YzV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWluKDAxVzIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDNlMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDB6MTBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGQ3dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY01heCgwMUExMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA1ZjZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAx
QjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcwMXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFDMjBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWY4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY01heCgwMUIxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA3MDN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxQzIwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJjN3UsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFEMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2Y0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01h
eCgwMUUyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1
NDB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxSTIwRDAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc2M3UsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNNYXgoMDFKMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNGEydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUsyMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZmR1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxZzAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc0NHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNNYXgoMDFoMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMzQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMWkwMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZjZ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljTWF4KDAxRjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDVmMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFH
MjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzEzdSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUgyMEQwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZjF1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljTWF4KDAxYTIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDNmNXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFFMjBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTQxdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUkyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3NjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4
KDAxSjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRh
M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFLMjBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWZmdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY01heCgwMWcwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA3NDZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxaDAwRDAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM0YXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFpMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNGY3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y01heCgwMUYyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA1ZjJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxRzIwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxNHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNNYXgoMDFIMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNGYydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMWEy
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYzF1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxYjIwRDAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNNYXgoMDFjMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzUxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUwwMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3MTd1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWF4KDAxTTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY4NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgo
MDFOMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDI1
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMU8xMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZWZ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljTWF4KDAxYzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDc1M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFMMDBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzE5dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMU0wMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ODh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWF4KDAxTjAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDQyNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFPMTBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjdjdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY01heCgwMVAxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0Nzd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxUTEw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3OHUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFRMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjYydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY01heCgwMVgxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAwOWR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxWTEwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5NnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNNYXgoMDFaMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwpAQCAt
MTYwNiw2MDAgKzE2MDYsNjAyIEBAIFRFU1QoSW1tdXRhYmxlU3RyaW5nVGVzdCwgU2NyaXB0R2Vu
ZXJhdGVkSGFzaGVzTWF0Y2gpCiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwM2F1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWF4KDAxUzEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDI0NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
YXgoMDFUMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMTQydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMVUyMEQwMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZTd1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWF4KDAxVjIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDVhMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNN
YXgoMDFXMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwM2UxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMHoxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZTh1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljTWF4KDAxVjIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDVhMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgo
MDFXMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
M2UydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMHoxMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwZDh1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljTWF4KDAxQTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDVmNXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFCMTBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzAwdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Zjd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljTWF4KDAxQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDcwMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFDMjBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmM4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY01heCgwMUQyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDAzZjN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAx
RTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUzZnUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFJMjBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzY0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY01heCgwMUoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA0YTF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxSzIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVmY3UsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFnMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2Y0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01h
eCgwMUUyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
NDB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxSTIwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc2NnUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNNYXgoMDFKMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNGEydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUsyMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZmV1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxZzAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI5N3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNNYXgoMDFoMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwMzQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMWkwMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0Zjd1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljTWF4KDAxRjIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDVlZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFH
MjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzE0dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUgyMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZjB1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljTWF4KDAxYTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDM0OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFpMDBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGY4dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY01heCgwMUYyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1ZjF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4
KDAxRzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMx
NXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFIMjBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGYxdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY01heCgwMWEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAxYzJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxYjIwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM2OXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFjMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzUydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y01heCgwMUwwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3MTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxTTAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4N3UsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNNYXgoMDFOMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNDI2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMU8x
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNmF1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxYzIwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc1NHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNNYXgoMDFMMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzE4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMU0wMEQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ODl1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljTWF4KDAxTjAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQyN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgo
MDFPMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjdi
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMVAxMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ODJ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljTWF4KDAxUTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDQ4M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFYMTBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDgzdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY01heCgwMVExMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ODR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
TWF4KDAxWDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDA5ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFZMTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzc0dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY01heCgwMVoxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzNzV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxWjEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDEyOXUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFSMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTFhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY01heCgwMVMxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAyNDd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxVDEwRDAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE0M3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNNYXgoMDFVMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmNmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY01heCgwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA1YTF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxVzIwRDAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdjZXUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDB6MTBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmQxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY01heCgwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA1YTN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljTWF4KDAxVzIwRDAwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdkMHUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDB6MTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGY0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0FuZCgwMUExMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3ZGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxQjEwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdlMHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNBbmQoMDFCMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDYydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUMy
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YTF1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxRDIwRDAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4N3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNBbmQoMDFFMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNzVhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUkyMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2YTN1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljQW5kKDAxRDIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ4OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQo
MDFFMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzVj
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUkyMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMTh1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljQW5kKDAxSjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDUyYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFLMjBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTJidSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUsyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
QW5kKDAxZzAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDM4ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFoMDBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2RldSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0FuZCgwMWkwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzOTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxaDAw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNkZnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFpMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjhmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0FuZCgwMUYyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA4MDR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxRzIwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc3ZXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNBbmQoMDFIMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzkxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgw
MWEyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MDZ1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxRzIwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc4MHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBbmQoMDFIMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNzkzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMWEyMEQwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwOGN1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxYjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDFjYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNB
bmQoMDFjMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MjQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUwwMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMDN1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQW5kKDAxTTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDJmOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFOMDBE
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzQ5dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMU8xMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MDl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljQW5kKDAxUDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDJmYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFOMDBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzRidSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FuZCgwMU8xMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA2MGJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAx
UDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFjOXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFRMTBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjhidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0FuZCgwMVgxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA1ODR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxWTEwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNjMXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFaMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNDkxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Fu
ZCgwMVIxMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA0NTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxUzEwRDAwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYwNXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNBbmQoMDFUMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjhkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Fu
ZCgwMVgxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
ODZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxWTEwRDAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjMnUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNBbmQoMDFaMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNDkydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVIxMEQw
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NTN1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxUzEwRDAwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYwN3UsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBbmQoMDFUMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMWIxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVUyMEQw
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNWJ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxVjIwRDAwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZkM3UsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBbmQoMDFXMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwN2NkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMHoxMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDV1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxVzIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdjZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNBbmQoMDB6MTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMDJldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUExMEQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZTR1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljQW5kKDAxQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZlNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQo
MDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDY1
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUMyMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YTB1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljQW5kKDAxRDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDQ4OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFFMjBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmEydSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUQyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ODl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
QW5kKDAxRTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDI1YnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFJMjBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTE3dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0FuZCgwMUoyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxNDR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxSzIw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFhOHUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFnMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzg0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0FuZCgwMWgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzZGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxaTAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMxZHUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNBbmQoMDFGMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwODA1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgw
MUcyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3N2R1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxSDIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc5NHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNBbmQoMDFhMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNzM4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMWIyMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzODV1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxaDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDNlMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNB
bmQoMDFpMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
MzFldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMUYyMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA4MDd1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQW5kKDAxRzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDc3ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFIMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzk2dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMWEyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3M2F1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljQW5kKDAxYjIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDFjYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFjMjBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjQzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0FuZCgwMUwwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyMDV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAx
TTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDJmOHUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFOMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMmY5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0FuZCgwMU4wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwYTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxTzEwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYwYXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFQMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjBjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Fu
ZCgwMVAxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAx
Yzh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxUTEwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4ZHUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNBbmQoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNTgzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVkxMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYzJ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQW5kKDAxWjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY4ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNBbmQoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNTg1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVkxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYzN1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljQW5kKDAxWjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDBjMHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFS
MTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDUz
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVMxMEQwMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MDR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQW5kKDAxVDEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDQ1NHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFT
MTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjA2
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVQxMEQwMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYjB1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQW5kKDAxVTIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA1Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNBbmQoMDFW
MjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmQy
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0FuZCgwMVcyMEQwMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZDR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQW5kKDAxVzIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDAxNXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMHox
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0OGN1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFBMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODI5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY09yKDAxQjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDJmNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUMyMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZGV1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljT3IoMDFEMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNDhkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxQTEw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgyYnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUIxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljT3IoMDFDMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNGRmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxRDIwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBhZXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNPcigwMUUyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0Mzl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFJMjBE
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGY0dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxSjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQzYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNPcigwMUkyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0ZjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFKMjBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTRmdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY09yKDAxSzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDUzM3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWcwMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Njl1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFoMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2ZmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y09yKDAxaTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDUzNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWcwMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NmJ1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljT3IoMDFoMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwODAxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxaTAwRDAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJjZnUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUYyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyOGN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
T3IoMDFHMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
ODRmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxSDIwRDAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3N3UsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNPcigwMWEyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA4Mzh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFiMjBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTE2dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxYzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDg1MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNP
cigwMUgyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1
Nzl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFhMjBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODNhdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY09yKDAxYjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDUxN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWMyMEQwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMWZ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFMMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09y
KDAxTTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZm
M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMU4wMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1Yzd1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljT3IoMDFPMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwM2RhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxTTAwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZmNXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMU4wMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA1Yzl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3Io
MDFPMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGU1
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxUDEwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUxM3UsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNPcigwMVExMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA2YTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFYMTBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTE0dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY09yKDAxUTEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZhOHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigw
MVgxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxODd1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFZMTBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTBjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY09yKDAxWjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDUwZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVoxMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYmJ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljT3IoMDFSMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwODRhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09y
KDAxUzEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDQwMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVQxMEQwMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YTh1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljT3IoMDFVMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNDRjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAx
VjIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDg0
Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVMxMEQwMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MDJ1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljT3IoMDFUMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNmFhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxVTIw
RDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0ZHUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVYyMEQwMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYmN1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljT3IoMDFXMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDA0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAwejEwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4ZHUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUExMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4Mjh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
T3IoMDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MmYzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxQzIwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRlMHUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNPcigwMUQyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA0OGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFBMTBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODJhdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxQjEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDJmNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNP
cigwMUMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0
ZTF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFEMjBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGFkdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY09yKDAxRTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDY1OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUkyMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZjV1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFKMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjVhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09y
KDAxSTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRm
NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMUoyMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNGV1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljT3IoMDFLMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNTMydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxZzAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU2YXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA3ZmV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3Io
MDFpMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTMz
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxZzAwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU2Y3UsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNPcigwMWgwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA4MDB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFpMDBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmQwdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY09yKDAxRjIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDI4YnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigw
MUcyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NTB1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFIMjBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODUydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY09yKDAxSDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDI0ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWEyMEQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4Mzl1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljT3IoMDFiMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTE1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAx
YzIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgzYnUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMWIyMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljT3IoMDFjMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMTIwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxTDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5YnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNPcigwMU0wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA2ZjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFO
MDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWM4dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxTzEwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZmNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNPcigwMU4wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA1Y2F1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFPMTBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGU0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY09yKDAxUDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDQ3NXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVEx
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YTV1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDc2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY09yKDAxUTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDZhN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVgxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxODh1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljT3IoMDFZMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNTBidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxWjEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUwY3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVoxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljT3IoMDFSMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwODQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxUzEwRDAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQwMnUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNPcigwMVQxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YjB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
T3IoMDFVMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNDRidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxVjIwRDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDg0YnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNPcigwMVMxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA0MDN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3Io
MDFUMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NmIydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY09yKDAxVTIwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0Y3UsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNPcigwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyYmR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljT3IoMDFX
MjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDc0
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMHoxMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MGN1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljWG9yKDAxQTEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDQwZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFBMTBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTMzdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUIxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ODF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
WG9yKDAxQzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDYyYXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFEMjBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODU3dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY1hvcigwMUUyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA1ODN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxQzIw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYyY3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFEMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwODU5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY1hvcigwMUUyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4
MDAwMDAxZjN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxSTIwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdlN3UsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNYb3IoMDFKMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNzJmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigw
MUsyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZjV1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxZzAwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdlOXUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNYb3IoMDFKMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNzMxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUsyMEQwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZjZ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxZzAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDIzY3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNY
b3IoMDFoMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NWFmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMWkwMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1YjF1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljWG9yKDAxaTAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDEzMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFGMjBE
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzUzdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUcyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3NTV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljWG9yKDAxRzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDBhNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFIMjBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDdldSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY1hvcigwMWEyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAxYjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAx
YjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2NXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFjMjBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDY2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY1hvcigwMWMyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAxOTR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxTDAwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU0YnUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFNMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwMzI2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hv
cigwMU4wMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
YzV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxTzEwRDAwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY1N3UsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNYb3IoMDFQMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNWMwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVExMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MWF1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxWDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU0Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNYb3IoMDFNMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMzI3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMU4wMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3Yzd1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljWG9yKDAxTzEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDY1OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFQ
MTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWMydSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVExMEQwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MWJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljWG9yKDAxWDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDA2MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFZMTBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzRldSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVoxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3NTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9y
KDAxWjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE2
NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFSMTBEMDBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWRjdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY1hvcigwMVMxMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA3Mzd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAx
VDEwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcz
OXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFUMTBEMDBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWVjdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY1hvcigwMVUyMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAg
QVNTRVJUX0VRKDB4MDAwMDA1MDN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAx
VjIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc0
Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFXMjBEMDBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDFmdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY1hvcigwMHoxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA0MGJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxQTEw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDcyN3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODE2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY1hvcigwMUMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA1MDR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxVjIwRDAwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc0ZXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFXMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OworICAgIEFTU0VSVF9FUSgweDAwMDAwNDIwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y1hvcigwMHoxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0MGN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxQTEwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDcyOXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNYb3IoMDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwODE4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUMy
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYjZ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxRDIwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDg1OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNYb3IoMDFFMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwODVhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUUyMEQwMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZjR1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljWG9yKDAxSTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdlNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3Io
MDFKMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzMw
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUsyMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAyZmN1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljWG9yKDAxZzAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDdlOHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFKMjBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzMydSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUsyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZmR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
WG9yKDAxZzAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDIzYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFoMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2RmdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY1hvcigwMWkwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA3ODZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxRjIw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc1NHUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFHMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2UxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY1hvcigwMWkwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA3ODh1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxRjIwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc1NnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNYb3IoMDFHMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMGE1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigw
MUgyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwN2Z1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxYTIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDIyNHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNYb3IoMDFiMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNDY2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMWMyMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMGJ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxTDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDY4YXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNY
b3IoMDFNMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
MzI1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMU4wMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YzR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljWG9yKDAxTzEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDQ2N3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFjMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzBjdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMUwwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2OGN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljWG9yKDAxTTAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDMyNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFOMDBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2M2dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY1hvcigwMU8xMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyNzJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAx
UDEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDViZnUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFRMTBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTFidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY1hvcigwMVgxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA1YzF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxUTEwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUxY3UsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNYb3IoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMDYwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hv
cigwMVkxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
NGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxWjEwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc1MXUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNYb3IoMDFaMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDM3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVIxMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZGR1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxUzEwRDAwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDczNnUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNYb3IoMDFUMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNzM4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVQxMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxZWJ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxVTIwRDAwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUwNHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNYb3IoMDFWMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNzRidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY1hvcigwMVcyMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0ZmJ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDB6MTBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTA1dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY1hvcigwMVYyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA3NGR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljWG9yKDAxVzIw
RDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRmY3Us
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMHoxMEQwMEUiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMjJ1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljRXhjaGFuZ2UoMDFBMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwODBmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hh
bmdlKDAxQjEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDdhN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUMyMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzNjV1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFEMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzQzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0V4Y2hhbmdlKDAxRTIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDQ1OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUkyMEQw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZDZ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFKMjBEMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2RidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0V4Y2hhbmdlKDAxSzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDgxMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgw
MUIxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YTl1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFDMjBEMDBFIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzY2dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxRDIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDM0NHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNo
YW5nZSgwMUUyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0NTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFJMjBEMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q3dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxSjIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDdkZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNFeGNoYW5nZSgwMUsyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwMDF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFnMDBE
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGVjdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxaDAwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRlZHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNFeGNoYW5nZSgwMWgwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAwNGJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2Uo
MDFpMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDMz
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxRjIwRDAwRSIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVmYXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUcyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2NTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhj
aGFuZ2UoMDFIMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNzZkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxYTIwRDAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQzNHUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUYyMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1ZmN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljRXhjaGFuZ2UoMDFHMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNjUydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxSDIw
RDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc2ZnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMWEyMEQwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwNDN1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljRXhjaGFuZ2UoMDFiMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNDVhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdl
KDAxYzIwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDNh
M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUwwMEQwMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NWJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFjMjBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2E0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4
Y2hhbmdlKDAxTDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDFiOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMU0wMEQwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2MzB1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFOMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjI3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0V4Y2hhbmdlKDAxTzEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDQ1MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVAx
MEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MzJ1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFOMDBEMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjI5dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0V4Y2hhbmdlKDAxTzEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDQ1MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5n
ZSgwMVAxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAy
OWR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFRMTBEMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjlhdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxWDEwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDYyNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNF
eGNoYW5nZSgwMVkxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzOGR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFaMTBEMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDMwdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxUjEwRDAwRDAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYyNnUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNFeGNoYW5nZSgwMVkxMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDAzOGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2Uo
MDFaMTBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDMx
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxUjEwRDAwRDAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE3MnUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVMxMEQwMEQwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxNWN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljRXhjaGFuZ2UoMDFUMTBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNWQwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAx
VTIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVk
MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVUyMEQwMEQwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMGN1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFWMjBEMDBEMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmI3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0V4Y2hhbmdlKDAxVzIwRDAwRDAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDRmY3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgw
MHoxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZmR1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDB6MTBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjIzdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxQTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDgwZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNo
YW5nZSgwMUIxMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA3YTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFDMjBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDlidSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxRDIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM0MHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNFeGNoYW5nZSgwMUUyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA0NTd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFJMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q3dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxSjIwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUyMXUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNFeGNoYW5nZSgwMUsyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2ODB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2Uo
MDFnMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGVk
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxaDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQzNXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMWkwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA4MTB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhj
aGFuZ2UoMDFCMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwN2E4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxQzIwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5Y3UsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUQyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNDF1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljRXhjaGFuZ2UoMDFFMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNDU4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxSTIw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNkOHUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUoyMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MjJ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljRXhjaGFuZ2UoMDFLMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNjgydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdl
KDAxZzAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDRl
ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMWgwMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MzZ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFpMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwog
ICAgIEFTU0VSVF9FUSgweDAwMDAwMGIydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4
Y2hhbmdlKDAxRjIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDVmOXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUcyMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NTF1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFIMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzZjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0V4Y2hhbmdlKDAxYTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDVmYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUcy
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2NTN1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFIMjBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzZldSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0V4Y2hhbmdlKDAxYTIwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDA0NHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5n
ZSgwMWIyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2
NzZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFjMjBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGMzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxTDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDY3OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNF
eGNoYW5nZSgwMWMyMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA0YzR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFMMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWI4dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxTTAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYzMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNFeGNoYW5nZSgwMU4wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDAzMTZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFP
MTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDRkdSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxUDEwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzM3UsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNFeGNoYW5nZSgwMU4wMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzMTd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFu
Z2UoMDFPMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NDRldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxUDEwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI5ZXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVExMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyOTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
RXhjaGFuZ2UoMDFYMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgw
eDAwMDAwNjI1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxWTEwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM4MnUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVoxMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0MzF1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljRXhjaGFuZ2UoMDFSMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNjI3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdl
KDAxWTEwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDM4
M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVoxMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MzJ1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFSMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjY4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0V4Y2hhbmdlKDAxUzEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRf
RVEoMHgwMDAwMDE1ZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVQx
MEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1ZDR1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFVMjBEMDBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxVjIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVkNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNFeGNoYW5nZSgwMVUyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDAzZDV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFW
MjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmI4
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxVzIwRDAwRDAwRCIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDRmYXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMHoxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0ZmJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
RXhjaGFuZ2UoMDB6MTBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMjIwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxQTEwRDAw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgwY3UsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUIxMEQwMEIiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YWF1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljRXhjaGFuZ2UoMDFDMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwMzY3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAx
RDIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDgwZXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUIxMEQwMEIiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3YWN1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljRXhjaGFuZ2UoMDFDMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMzY4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hh
bmdlKDAxRDIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDFmMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUUyMEQwMEIiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0NTl1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFJMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0V4Y2hhbmdlKDAxSjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDdkZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUsyMEQw
MEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MGJ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFnMDBEMDBCIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGVmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0V4Y2hhbmdlKDAxaDAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDQzN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgw
MWkwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NWF1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFJMjBEMDBCIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Q2dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxSjIwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDdkZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNo
YW5nZSgwMUsyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA4MGR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFnMDBEMDBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGYwdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxaDAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQzOHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNFeGNoYW5nZSgwMWkwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAwYjN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFGMjBE
MDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWY3dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxRzIwRDAwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY0ZHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNFeGNoYW5nZSgwMUgyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA3NmV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2Uo
MDFhMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWY5
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxRzIwRDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY0ZnUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUgyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDA3NzB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhj
aGFuZ2UoMDFhMjBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMDQydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxYjIwRDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY3YXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMWMyMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzYTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljRXhjaGFuZ2UoMDFMMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwNjdjdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxYzIw
RDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNhM3UsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMUwwMEQwMEIiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxYjd1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljRXhjaGFuZ2UoMDFNMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNjJldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdl
KDAxTjAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYy
NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMU8xMEQwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MzB1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFOMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjI4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4
Y2hhbmdlKDAxTzEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDI3ZHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVAxMEQwMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NWV1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFRMTBEMDBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzU2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0V4Y2hhbmdlKDAxWDEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDYyMnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVkx
MEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YWN1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFaMTBEMDBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzYwdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0V4Y2hhbmdlKDAxUTEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDc1OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5n
ZSgwMVgxMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
MjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFZMTBEMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2FldSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxWjEwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
ICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNF
eGNoYW5nZSgwMVIxMEQwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VR
KDB4MDAwMDAxYzV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljRXhjaGFuZ2UoMDFTMTBE
MDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWQydSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxVDEwRDAwRDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVjZHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVUyMEQwMEQwMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Y2Z1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
RXhjaGFuZ2UoMDFVMjBEMDBEMDBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMjBkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0V4Y2hhbmdlKDAxVjIw
RDAwRDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJiNXUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNFeGNoYW5nZSgwMVcyMEQwMEQwMEIiKS5tYW5n
bGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZmF1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDB6MTBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2YwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21p
Y0NvbXBTd2FwKDAxQTEwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDNmYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMHox
MEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzZjF1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFBMTBEMDBFMDBFIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWEzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxQjEwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc4MHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9t
aWNDb21wU3dhcCgwMUMyMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA2ZWN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFE
MjBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzgy
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxQzIwRDAwRTAwRSIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZlZXUsIEltbXV0YWJsZVN0
cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUQyMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRv
bWljQ29tcFN3YXAoMDFFMjBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMGNmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAx
STIwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA1
MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUoyMEQwMEUwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4NDZ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFLMjBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2MxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0
b21pY0NvbXBTd2FwKDAxZzAwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDg0OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgw
MUsyMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3
YzN1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFnMDBEMDBFMDBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWZldSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxaDAwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZjM3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNDb21wU3dhcCgwMWkwMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNT
RVJUX0VRKDB4MDAwMDA2YzV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAo
MDFpMDBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAw
MWZhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxRjIwRDAwRTAwRSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMzYXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUcyMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljQ29tcFN3YXAoMDFIMjBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwMzNidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2Fw
KDAxRzIwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDY1MXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUgyMEQwMEUwMEUi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwMjd1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFhMjBEMDBFMDBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTM3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0NvbXBTd2FwKDAxYjIwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDU1MnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dh
cCgwMWMyMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1ODl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFMMDBEMDBFMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTUzdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxYzIwRDAwRTAwRSIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDU4YnUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNDb21wU3dhcCgwMUwwMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyYTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3
YXAoMDFNMDBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwM2ZmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxTjAwRDAwRTAw
RSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQwMHUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMU4wMEQwMEUwMEUiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxMzB1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljQ29tcFN3YXAoMDFPMTBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMDg2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBT
d2FwKDAxUDEwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDQ4ZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMVExMEQwMEUw
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0OGZ1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFRMTBEMDBFMDBFIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTA3dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0NvbXBTd2FwKDAxWDEwRDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDIwZXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21w
U3dhcCgwMVkxMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDA2YjV1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFaMTBEMDBF
MDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzdidSwKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZiN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21w
U3dhcCgwMVoxMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzN2N1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29t
cFN3YXAoMDFSMTBEMDBEMDBFMDBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNDY0dSwKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ2NXUsCiAgICAgICAgICAgICAg
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMVMxMEQwMEQwMEUwMEUiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxOTF1LAogICAgICAgICAg
ICAgICBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFUMTBEMDBEMDBFMDBF
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjY3dSwKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDY2OXUsCiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNDb21wU3dhcCgwMVUyMEQwMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA3M2V1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwNzQwdSwKICAg
ICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxVjIwRDAw
RDAwRTAwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA1NHUs
CiAgICAgICAgICAgICAgIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMVcy
MEQwMEQwMEUwMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
NzB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDB6MTBEMDBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzcydSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAwejEwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA2N3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VB
dG9taWNDb21wU3dhcCgwMUExMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA2YTR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAo
MDFCMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NDBkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxQzIwRDAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZhNnUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUIxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0MGV1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljQ29tcFN3YXAoMDFDMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMDM4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2Fw
KDAxRDIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDAwY3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUUyMEQwMEQwMEQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYTd1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFJMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzkxdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUF0b21pY0NvbXBTd2FwKDAxSjIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDZjNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dh
cCgwMUsyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA2OTd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFnMDBEMDBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMmVjdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxaDAwRDAwRDAwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ3OXUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VBdG9taWNDb21wU3dhcCgwMWkwMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDAzOTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3
YXAoMDFKMjBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNmM2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxSzIwRDAwRDAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY5OXUsIEltbXV0
YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMWcwMEQwMEQwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAyZWR1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlQXRvbWljQ29tcFN3YXAoMDFoMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNDdhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBT
d2FwKDAxaTAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgw
MDAwMDJkYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUYyMEQwMEQw
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyNWF1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFHMjBEMDBEMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTBjdSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUF0b21pY0NvbXBTd2FwKDAxSDIwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAg
ICBBU1NFUlRfRVEoMHgwMDAwMDU1OHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21w
U3dhcCgwMWEyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA1NTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFhMjBEMDBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDJkdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxYjIwRDAwRDAwRCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ0YXUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VBdG9taWNDb21wU3dhcCgwMWMyMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA2MGZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29t
cFN3YXAoMDFMMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNDRidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxYzIwRDAw
RDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYxMXUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMUwwMEQwMEQwMEQiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxODR1LCBJbW11dGFibGVTdHJpbmco
ImltYWdlQXRvbWljQ29tcFN3YXAoMDFNMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjBldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0Nv
bXBTd2FwKDAxTjAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDYzM3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMU8xMEQw
MEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2N2N1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFQMTBEMDBEMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjEwdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxTjAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDYzNXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWND
b21wU3dhcCgwMU8xMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA2N2V1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFQMTBE
MDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTk1dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxUTEwRDAwRDAwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDg0MnUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMVgxMEQwMEQwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NWJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWlj
Q29tcFN3YXAoMDFZMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwODQ0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxWDEw
RDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY1ZHUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VBdG9taWNDb21wU3dhcCgwMVkxMEQwMEQwMEQiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyYjN1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFaMTBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDI4dSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxUjEwRDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxY3UsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA2
MWV1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAo
MDFTMTBEMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMDZmdSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBT
d2FwKDAxVDEwRDAwRDAwRDAwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDUzOXUsCisgICAgQVNTRVJUX0VRKDB4MDAwMDA1M2F1LAogICAgICAgICAgICAgICBJ
bW11dGFibGVTdHJpbmcoImltYWdlQXRvbWljQ29tcFN3YXAoMDFVMjBEMDBEMDBEMDBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjIxdSwKICAgICAgICAgICAg
ICAgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUF0b21pY0NvbXBTd2FwKDAxVjIwRDAwRDAwRDAwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdjZnUsCisgICAgQVNT
RVJUX0VRKDB4MDAwMDA3ZDF1LAogICAgICAgICAgICAgICBJbW11dGFibGVTdHJpbmcoImltYWdl
QXRvbWljQ29tcFN3YXAoMDFXMjBEMDBEMDBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwMzJhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDB6MTBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjRhdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFBMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwMzEydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFCMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmZmdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUxvYWQoMDFDMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwMzJidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDB6MTBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjRjdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUxvYWQoMDFBMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9F
USgweDAwMDAwMzEzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFCMTBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzAxdSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUxvYWQoMDFDMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgw
eDAwMDAwMWQ5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFEMjBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwN2Y3dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUxvYWQoMDFFMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwN2Y5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFFMjBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDJidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUxvYWQoMDFGMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
Nzc4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFHMjBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzdhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxv
YWQoMDFHMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjky
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFIMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDBhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQo
MDFJMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTQ3dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFKMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNTQ4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFK
MjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGJkdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFLMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMDA4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFnMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTIzdSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFoMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMjYzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFpMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDFhdSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUxvYWQoMDFhMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwNmI0dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFiMjBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzI4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZUxvYWQoMDFjMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNDRldSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFMMDBEIikubWFuZ2xl
ZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTg4dSwgSW1tdXRhYmxlU3RyaW5n
KCJpbWFnZUxvYWQoMDFNMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNDFidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFhMjBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmI2dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZUxvYWQoMDFiMjBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwMzI5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFjMjBEIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDRmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZUxvYWQoMDFMMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAw
NThhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFNMDBEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDg5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxv
YWQoMDFOMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjc2
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFPMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjlkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQo
MDFQMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDJidSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFRMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwNjlmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFQ
MTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDJjdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFRMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMTYydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFYMTBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNWZidSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFZMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFT
U0VSVF9FUSgweDAwMDAwNWM2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFaMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmQ5dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUxvYWQoMDFSMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFT
U0VSVF9FUSgweDAwMDAwNWZkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFZMTBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWM4dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUxvYWQoMDFaMTBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNmRidSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFSMTBEMDBEIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMmQ4dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZUxvYWQoMDFTMTBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMTM5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFUMTBEMDBE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmI4dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFVMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNmJhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFVMjBE
MDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGIwdSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFWMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNDk2dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFX
MjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDk3dSwg
SW1tdXRhYmxlU3RyaW5nKCJpbWFnZUxvYWQoMDFXMjBEMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDkzdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3Jl
KDAwejEwRDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDBh
M3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUExMEQzMEQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1OGR1LCBJbW11dGFibGVTdHJpbmcoImltYWdl
U3RvcmUoMDFCMTBEMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNThmdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxQjEwRDMwRSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA0ZXUsIEltbXV0YWJsZVN0cmluZygi
aW1hZ2VTdG9yZSgwMUMyMEQzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDAzNTl1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFEMjBEMzBEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwM2MzdSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZVN0b3JlKDAxRTIwRDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDRlMXUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUYyMEQzMEIi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1YzJ1LCBJbW11dGFi
bGVTdHJpbmcoImltYWdlU3RvcmUoMDFHMjBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNWQ1dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxSDIw
RDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU5MnUsIElt
bXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUkyMEQzMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2YzZ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUo
MDFKMjBEMzBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwMzVh
dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxRDIwRDMwRCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjNHUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VT
dG9yZSgwMUUyMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA0ZTJ1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFGMjBEMzBCIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNWM0dSwgSW1tdXRhYmxlU3RyaW5nKCJp
bWFnZVN0b3JlKDAxRzIwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDVkN3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMUgyMEQzMEUiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1OTR1LCBJbW11dGFibGVTdHJp
bmcoImltYWdlU3RvcmUoMDFJMjBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNmM4dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxSjIwRDMwRCIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA1NXUsIEltbXV0YWJs
ZVN0cmluZygiaW1hZ2VTdG9yZSgwMUsyMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAxNzB1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFnMDBE
MzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzE1dSwgSW1t
dXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxaDAwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxNnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgw
MWgwMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYTJ1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFpMDBEMzBFIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMjkwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0
b3JlKDAxYTIwRDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDU1ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMWIyMEQzMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3NmJ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlU3RvcmUoMDFjMjBEMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwNTYwdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxYjIwRDMwRCIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDc2ZHUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VTdG9yZSgwMWMyMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwYjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFMMDBEMzBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTY3dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZVN0b3JlKDAxTTAwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDBmZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMU4wMEQz
MEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3YTB1LCBJbW11
dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFPMTBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNGRhdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAx
UDEwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDYxZHUs
IEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMVExMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2go
KSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4Mzd1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3Rv
cmUoMDFYMTBEMzBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
NDJkdSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxWTEwRDMwRCIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY3OHUsIEltbXV0YWJsZVN0cmluZygiaW1h
Z2VTdG9yZSgwMVoxMEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4
MDAwMDAzYjR1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFSMTBEMDBEMzBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjU0dSwgSW1tdXRhYmxlU3Ry
aW5nKCJpbWFnZVN0b3JlKDAxUzEwRDAwRDMwRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBB
U1NFUlRfRVEoMHgwMDAwMDM0Y3UsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMVQxMEQw
MEQzMEUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZTV1LCBJ
bW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFVMjBEMDBEMzBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2EydSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0
b3JlKDAxTzEwRDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDRkYnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMVAxMEQzMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2MWZ1LCBJbW11dGFibGVTdHJpbmcoImlt
YWdlU3RvcmUoMDFRMTBEMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgw
eDAwMDAwODM5dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxWDEwRDMwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQyZXUsIEltbXV0YWJsZVN0cmlu
ZygiaW1hZ2VTdG9yZSgwMVkxMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA2N2F1LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFaMTBEMzBFIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2I1dSwgSW1tdXRhYmxl
U3RyaW5nKCJpbWFnZVN0b3JlKDAxUjEwRDAwRDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDY1NnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMVMx
MEQwMEQzMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzNGR1
LCBJbW11dGFibGVTdHJpbmcoImltYWdlU3RvcmUoMDFUMTBEMDBEMzBFIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmU3dSwgSW1tdXRhYmxlU3RyaW5nKCJpbWFn
ZVN0b3JlKDAxVTIwRDAwRDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEo
MHgwMDAwMDI3ZnUsIEltbXV0YWJsZVN0cmluZygiaW1hZ2VTdG9yZSgwMVYyMEQwMEQzMEQiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzZjZ1LCBJbW11dGFibGVT
dHJpbmcoImltYWdlU3RvcmUoMDFXMjBEMDBEMzBFIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTg3dSwgSW1tdXRhYmxlU3RyaW5nKCJub2lzZTEoMDBCIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjQwdSwgSW1tdXRhYmxlU3Ry
aW5nKCJub2lzZTEoMTBCIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAw
MDAwNDEzdSwgSW1tdXRhYmxlU3RyaW5nKCJub2lzZTEoMjBCIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA1dSwgSW1tdXRhYmxlU3RyaW5nKCJub2lzZTEoMzBC
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwM2Y3dSwgSW1tdXRh
YmxlU3RyaW5nKCJpbWFnZVN0b3JlKDAxVzIwRDAwRDMwRSIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDU4OXUsIEltbXV0YWJsZVN0cmluZygibm9pc2UxKDAwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY0MnUsIEltbXV0YWJs
ZVN0cmluZygibm9pc2UxKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDQxNHUsIEltbXV0YWJsZVN0cmluZygibm9pc2UxKDIwQiIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwNnUsIEltbXV0YWJsZVN0cmluZygibm9pc2Ux
KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJhZHUsIElt
bXV0YWJsZVN0cmluZygibm9pc2UyKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDBjNHUsIEltbXV0YWJsZVN0cmluZygibm9pc2UyKDEwQiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA4YXUsIEltbXV0YWJsZVN0cmluZygi
bm9pc2UyKDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZh
N3UsIEltbXV0YWJsZVN0cmluZygibm9pc2UyKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDZhOXUsIEltbXV0YWJsZVN0cmluZygibm9pc2UyKDMwQiIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4YXUsIEltbXV0YWJsZVN0
cmluZygibm9pc2UzKDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgw
MDAwMDMxYnUsIEltbXV0YWJsZVN0cmluZygibm9pc2UzKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDZjOXUsIEltbXV0YWJsZVN0cmluZygibm9pc2UzKDIw
QiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMxY3UsIEltbXV0
YWJsZVN0cmluZygibm9pc2UzKDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRf
RVEoMHgwMDAwMDZjYnUsIEltbXV0YWJsZVN0cmluZygibm9pc2UzKDIwQiIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFlNXUsIEltbXV0YWJsZVN0cmluZygibm9p
c2UzKDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwZnUs
IEltbXV0YWJsZVN0cmluZygibm9pc2U0KDAwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDMxMHUsIEltbXV0YWJsZVN0cmluZygibm9pc2U0KDAwQiIpLm1hbmds
ZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDI4NHUsIEltbXV0YWJsZVN0cmlu
Zygibm9pc2U0KDEwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDBmZHUsIEltbXV0YWJsZVN0cmluZygibm9pc2U0KDIwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDYzZXUsIEltbXV0YWJsZVN0cmluZygibm9pc2U0KDMwQiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDUxY3UsIEltbXV0YWJs
ZVN0cmluZygibWVtb3J5QmFycmllcigiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA2OTF1LCBJbW11dGFibGVTdHJpbmcoIm1lbW9yeUJhcnJpZXJBdG9taWNDb3Vu
dGVyKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY0MHUsIElt
bXV0YWJsZVN0cmluZygibm9pc2U0KDMwQiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDUxZHUsIEltbXV0YWJsZVN0cmluZygibWVtb3J5QmFycmllcigiKS5tYW5n
bGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2OTN1LCBJbW11dGFibGVTdHJp
bmcoIm1lbW9yeUJhcnJpZXJBdG9taWNDb3VudGVyKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDBlZXUsIEltbXV0YWJsZVN0cmluZygibWVtb3J5QmFycmllckJ1
ZmZlcigiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA4MmV1LCBJ
bW11dGFibGVTdHJpbmcoIm1lbW9yeUJhcnJpZXJJbWFnZSgiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZjJ1LCBJbW11dGFibGVTdHJpbmcoImJhcnJpZXIoIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwODFjdSwgSW1tdXRhYmxl
U3RyaW5nKCJtZW1vcnlCYXJyaWVyU2hhcmVkKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDgzMHUsIEltbXV0YWJsZVN0cmluZygibWVtb3J5QmFycmllckltYWdl
KCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDZmNHUsIEltbXV0
YWJsZVN0cmluZygiYmFycmllcigiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VR
KDB4MDAwMDA4MWV1LCBJbW11dGFibGVTdHJpbmcoIm1lbW9yeUJhcnJpZXJTaGFyZWQoIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMDQxdSwgSW1tdXRhYmxlU3Ry
aW5nKCJncm91cE1lbW9yeUJhcnJpZXIoIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMjA3dSwgSW1tdXRhYmxlU3RyaW5nKCJFbWl0VmVydGV4KCIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDM3N3UsIEltbXV0YWJsZVN0cmluZygi
RW5kUHJpbWl0aXZlKCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAw
MDM3OHUsIEltbXV0YWJsZVN0cmluZygiRW5kUHJpbWl0aXZlKCIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFiZHUsIEltbXV0YWJsZVN0cmluZygiRW1pdFN0cmVh
bVZlcnRleCgwMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAy
NmZ1LCBJbW11dGFibGVTdHJpbmcoIkVuZFN0cmVhbVByaW1pdGl2ZSgwMEQiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGN1LCBJbW11dGFibGVTdHJpbmcoInN1
YnBhc3NMb2FkKDAxaiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAw
MDZiYXUsIEltbXV0YWJsZVN0cmluZygic3VicGFzc0xvYWQoMDFrIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNmJkdSwgSW1tdXRhYmxlU3RyaW5nKCJzdWJwYXNz
TG9hZCgwMWwiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA2ZGV1
LCBJbW11dGFibGVTdHJpbmcoInN1YnBhc3NMb2FkKDAxaiIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
KyAgICBBU1NFUlRfRVEoMHgwMDAwMDZiY3UsIEltbXV0YWJsZVN0cmluZygic3VicGFzc0xvYWQo
MDFrIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNmJmdSwgSW1t
dXRhYmxlU3RyaW5nKCJzdWJwYXNzTG9hZCgwMWwiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAyODB1LCBJbW11dGFibGVTdHJpbmcoInN1YnBhc3NMb2FkKDAxbTAw
RCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU1MXUsIEltbXV0
YWJsZVN0cmluZygic3VicGFzc0xvYWQoMDFuMDBEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNjg1dSwgSW1tdXRhYmxlU3RyaW5nKCJzdWJwYXNzTG9hZCgwMW8w
MEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2ZWF1LCBJbW11
dGFibGVTdHJpbmcoImFueUludm9jYXRpb24oMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwNTk0dSwgSW1tdXRhYmxlU3RyaW5nKCJhbGxJbnZvY2F0aW9ucygw
MEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YTB1LCBJbW11
dGFibGVTdHJpbmcoImFsbEludm9jYXRpb25zRXF1YWwoMDBGIikubWFuZ2xlZE5hbWVIYXNoKCkp
OwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTA3dSwgSW1tdXRhYmxlU3RyaW5nKCJ0ZXh0dXJlVmlk
ZW9XRUJHTCgwMHkxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAw
MDA1OGF1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDB5MTBCIikubWFuZ2xlZE5hbWVIYXNo
KCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNjNkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9EZXB0
aFJhbmdlUGFyYW1ldGVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgw
MDAwMDU1MnUsIEltbXV0YWJsZVN0cmluZygic3VicGFzc0xvYWQoMDFuMDBEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjg3dSwgSW1tdXRhYmxlU3RyaW5nKCJz
dWJwYXNzTG9hZCgwMW8wMEQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA2ZWN1LCBJbW11dGFibGVTdHJpbmcoImFueUludm9jYXRpb24oMDBGIikubWFuZ2xlZE5h
bWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTk2dSwgSW1tdXRhYmxlU3RyaW5nKCJh
bGxJbnZvY2F0aW9ucygwMEYiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDA0YTF1LCBJbW11dGFibGVTdHJpbmcoImFsbEludm9jYXRpb25zRXF1YWwoMDBGIikubWFu
Z2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTA4dSwgSW1tdXRhYmxlU3Ry
aW5nKCJ0ZXh0dXJlVmlkZW9XRUJHTCgwMHkxMEIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAg
QVNTRVJUX0VRKDB4MDAwMDA1OGN1LCBJbW11dGFibGVTdHJpbmcoInRleHR1cmUoMDB5MTBCIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNjNmdSwgSW1tdXRhYmxl
U3RyaW5nKCJnbF9EZXB0aFJhbmdlUGFyYW1ldGVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAg
ICBBU1NFUlRfRVEoMHgwMDAwMDExOXUsIEltbXV0YWJsZVN0cmluZygiZ2xfRGVwdGhSYW5nZSIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDgwOHUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfTWF4VmVydGV4QXR0cmlicyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBB
U1NFUlRfRVEoMHgwMDAwMDgwYXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4VmVydGV4QXR0cmli
cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDJiNHUsIEltbXV0
YWJsZVN0cmluZygiZ2xfTWF4VmVydGV4VW5pZm9ybVZlY3RvcnMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxOWJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZl
cnRleFRleHR1cmVJbWFnZVVuaXRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9F
USgweDAwMDAwNGI2dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZFRleHR1cmVJbWFn
ZVVuaXRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNGNldSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhUZXh0dXJlSW1hZ2VVbml0cyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDVlMXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4
RnJhZ21lbnRVbmlmb3JtVmVjdG9ycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRf
RVEoMHgwMDAwMDYxNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4VmFyeWluZ1ZlY3RvcnMiKS5t
YW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA0YjJ1LCBJbW11dGFibGVT
dHJpbmcoImdsX01heERyYXdCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VS
VF9FUSgweDAwMDAwNGI3dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21iaW5lZFRleHR1cmVJ
bWFnZVVuaXRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGNm
dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhUZXh0dXJlSW1hZ2VVbml0cyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDVlM3UsIEltbXV0YWJsZVN0cmluZygiZ2xf
TWF4RnJhZ21lbnRVbmlmb3JtVmVjdG9ycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDYxNnUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4VmFyeWluZ1ZlY3RvcnMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0YjN1LCBJbW11dGFi
bGVTdHJpbmcoImdsX01heERyYXdCdWZmZXJzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFT
U0VSVF9FUSgweDAwMDAwMTZidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhEdWFsU291cmNlRHJh
d0J1ZmZlcnNFWFQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3
ZmR1LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZlcnRleE91dHB1dFZlY3RvcnMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZmZ1LCBJbW11dGFibGVTdHJpbmco
ImdsX01heFZlcnRleE91dHB1dFZlY3RvcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAwNTZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEZyYWdtZW50SW5wdXRW
ZWN0b3JzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTEydSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NaW5Qcm9ncmFtVGV4ZWxPZmZzZXQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3OGZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01h
eFByb2dyYW1UZXhlbE9mZnNldCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDQ3M3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4SW1hZ2VVbml0cyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdlMHUsIEltbXV0YWJsZVN0cmluZygi
Z2xfTWF4VmVydGV4SW1hZ2VVbmlmb3JtcyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NF
UlRfRVEoMHgwMDAwMDUxM3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWluUHJvZ3JhbVRleGVsT2Zm
c2V0IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzkxdSwgSW1t
dXRhYmxlU3RyaW5nKCJnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA0NzR1LCBJbW11dGFibGVTdHJpbmcoImdsX01heElt
YWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZTJ1
LCBJbW11dGFibGVTdHJpbmcoImdsX01heFZlcnRleEltYWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFt
ZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxM2N1LCBJbW11dGFibGVTdHJpbmcoImds
X01heEZyYWdtZW50SW1hZ2VVbmlmb3JtcyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NF
UlRfRVEoMHgwMDAwMDIxZXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4Q29tcHV0ZUltYWdlVW5p
Zm9ybXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1MzB1LCBJ
bW11dGFibGVTdHJpbmcoImdsX01heENvbWJpbmVkSW1hZ2VVbmlmb3JtcyIpLm1hbmdsZWROYW1l
SGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDUzMXUsIEltbXV0YWJsZVN0cmluZygiZ2xf
TWF4Q29tYmluZWRJbWFnZVVuaWZvcm1zIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMDZldSwKICAgICAgICAgICAgICAgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhD
b21iaW5lZFNoYWRlck91dHB1dFJlc291cmNlcyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBB
U1NFUlRfRVEoMHgwMDAwMDI2MHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4Q29tcHV0ZVdvcmtH
cm91cENvdW50IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNDk4
dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhDb21wdXRlV29ya0dyb3VwU2l6ZSIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDQ5OXUsIEltbXV0YWJsZVN0cmluZygi
Z2xfTWF4Q29tcHV0ZVdvcmtHcm91cFNpemUiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxMjJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbXB1dGVVbmlmb3Jt
Q29tcG9uZW50cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDA5
Y3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4Q29tcHV0ZVRleHR1cmVJbWFnZVVuaXRzIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzc1dSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9NYXhDb21wdXRlQXRvbWljQ291bnRlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Cisg
ICAgQVNTRVJUX0VRKDB4MDAwMDAzNzZ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbXB1dGVB
dG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAw
MDFhNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4Q29tcHV0ZUF0b21pY0NvdW50ZXJCdWZmZXJz
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMTVldSwgSW1tdXRh
YmxlU3RyaW5nKCJnbF9NYXhWZXJ0ZXhBdG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDE3N3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4RnJh
Z21lbnRBdG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDYwY3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4Q29tYmluZWRBdG9taWNDb3VudGVy
cyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDYwZXUsIEltbXV0
YWJsZVN0cmluZygiZ2xfTWF4Q29tYmluZWRBdG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAyMXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4
QXRvbWljQ291bnRlckJpbmRpbmdzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMjU0dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhWZXJ0ZXhBdG9taWNDb3VudGVy
QnVmZmVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwZHUs
IEltbXV0YWJsZVN0cmluZygiZ2xfTWF4RnJhZ21lbnRBdG9taWNDb3VudGVyQnVmZmVycyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDU3YnUsIEltbXV0YWJsZVN0
cmluZygiZ2xfTWF4Q29tYmluZWRBdG9taWNDb3VudGVyQnVmZmVycyIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDdkMHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4
QXRvbWljQ291bnRlckJ1ZmZlclNpemUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJU
X0VRKDB4MDAwMDA0NWJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdlb21ldHJ5SW5wdXRDb21w
b25lbnRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwMzA0dSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeU91dHB1dENvbXBvbmVudHMiKS5tYW5nbGVk
TmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzMGV1LCBJbW11dGFibGVTdHJpbmco
ImdsX01heEZyYWdtZW50QXRvbWljQ291bnRlckJ1ZmZlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7
CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1N2R1LCBJbW11dGFibGVTdHJpbmcoImdsX01heENvbWJp
bmVkQXRvbWljQ291bnRlckJ1ZmZlcnMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJU
X0VRKDB4MDAwMDA3ZDJ1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEF0b21pY0NvdW50ZXJCdWZm
ZXJTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDVjdSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeUlucHV0Q29tcG9uZW50cyIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwNXUsIEltbXV0YWJsZVN0cmluZygi
Z2xfTWF4R2VvbWV0cnlPdXRwdXRDb21wb25lbnRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAg
IEFTU0VSVF9FUSgweDAwMDAwMGZhdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeUlt
YWdlVW5pZm9ybXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAz
Yzh1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdlb21ldHJ5VGV4dHVyZUltYWdlVW5pdHMiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDAzYzl1LCBJbW11dGFibGVT
dHJpbmcoImdsX01heEdlb21ldHJ5VGV4dHVyZUltYWdlVW5pdHMiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwYTR1LCBJbW11dGFibGVTdHJpbmcoImdsX01heEdl
b21ldHJ5T3V0cHV0VmVydGljZXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VR
KDB4MDAwMDA3ZDZ1LAorICAgIEFTU0VSVF9FUSgweDAwMDAwN2Q4dSwKICAgICAgICAgICAgICAg
SW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeVRvdGFsT3V0cHV0Q29tcG9uZW50cyIpLm1h
bmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDg1MnUsIEltbXV0YWJsZVN0
cmluZygiZ2xfTWF4R2VvbWV0cnlVbmlmb3JtQ29tcG9uZW50cyIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc2OXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2Vv
bWV0cnlBdG9taWNDb3VudGVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEo
MHgwMDAwMDcyNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfTWF4R2VvbWV0cnlBdG9taWNDb3VudGVy
QnVmZmVycyIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQ4MXUs
IEltbXV0YWJsZVN0cmluZygiZ2xfRnJhZ0Nvb3JkIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwODU0dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeVVu
aWZvcm1Db21wb25lbnRzIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAw
MDAwNzZidSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9NYXhHZW9tZXRyeUF0b21pY0NvdW50ZXJzIiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNzI2dSwgSW1tdXRhYmxl
U3RyaW5nKCJnbF9NYXhHZW9tZXRyeUF0b21pY0NvdW50ZXJCdWZmZXJzIikubWFuZ2xlZE5hbWVI
YXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNDgydSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9G
cmFnQ29vcmQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAxOWV1
LCBJbW11dGFibGVTdHJpbmcoImdsX0Zyb250RmFjaW5nIikubWFuZ2xlZE5hbWVIYXNoKCkpOwot
ICAgIEFTU0VSVF9FUSgweDAwMDAwNGRkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Qb2ludENvb3Jk
IikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNGRldSwgSW1tdXRh
YmxlU3RyaW5nKCJnbF9Qb2ludENvb3JkIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VS
VF9FUSgweDAwMDAwMjY1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnQ29sb3IiKS5tYW5nbGVk
TmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA3Zjl1LCBJbW11dGFibGVTdHJpbmco
ImdsX0ZyYWdEYXRhIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAw
M2JjdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGVwdGgiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA1NjR1LCBJbW11dGFibGVTdHJpbmcoImdsX0hlbHBlcklu
dm9jYXRpb24iKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3ZmJ1
LCBJbW11dGFibGVTdHJpbmcoImdsX0ZyYWdEYXRhIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwM2JkdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGVwdGgiKS5t
YW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1NjV1LCBJbW11dGFibGVT
dHJpbmcoImdsX0hlbHBlckludm9jYXRpb24iKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNT
RVJUX0VRKDB4MDAwMDAxYWZ1LCBJbW11dGFibGVTdHJpbmcoImdsX1NlY29uZGFyeUZyYWdDb2xv
ckVYVCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDc0NnUsIElt
bXV0YWJsZVN0cmluZygiZ2xfU2Vjb25kYXJ5RnJhZ0RhdGFFWFQiKS5tYW5nbGVkTmFtZUhhc2go
KSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3NDh1LCBJbW11dGFibGVTdHJpbmcoImdsX1NlY29u
ZGFyeUZyYWdEYXRhRVhUIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAw
MDAwMmRmdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9GcmFnRGVwdGhFWFQiKS5tYW5nbGVkTmFtZUhh
c2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAwODN1LCBJbW11dGFibGVTdHJpbmcoImdsX0xh
c3RGcmFnRGF0YSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY2
M3UsIEltbXV0YWJsZVN0cmluZygiZ2xfTGFzdEZyYWdDb2xvciIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY2NXUsIEltbXV0YWJsZVN0cmluZygiZ2xfTGFzdEZy
YWdDb2xvciIpLm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFhOXUs
IEltbXV0YWJsZVN0cmluZygiZ2xfTGFzdEZyYWdDb2xvckFSTSIpLm1hbmdsZWROYW1lSGFzaCgp
KTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDY1YXUsIEltbXV0YWJsZVN0cmluZygiZ2xfUHJpbWl0
aXZlSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDA2NWR1LCBJ
bW11dGFibGVTdHJpbmcoImdsX0xheWVyIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VS
VF9FUSgweDAwMDAwM2QwdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Qb3NpdGlvbiIpLm1hbmdsZWRO
YW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDY1Y3UsIEltbXV0YWJsZVN0cmluZygi
Z2xfUHJpbWl0aXZlSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAw
MDA2NWZ1LCBJbW11dGFibGVTdHJpbmcoImdsX0xheWVyIikubWFuZ2xlZE5hbWVIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUSgweDAwMDAwM2QxdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Qb3NpdGlvbiIp
Lm1hbmdsZWROYW1lSGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDFmOXUsIEltbXV0YWJs
ZVN0cmluZygiZ2xfUG9pbnRTaXplIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9F
USgweDAwMDAwMTA5dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9JbnN0YW5jZUlEIikubWFuZ2xlZE5h
bWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTM2dSwgSW1tdXRhYmxlU3RyaW5nKCJn
bF9WZXJ0ZXhJRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDQy
OHUsIEltbXV0YWJsZVN0cmluZygiZ2xfRHJhd0lEIikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAg
IEFTU0VSVF9FUSgweDAwMDAwN2QzdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9CYXNlVmVydGV4Iiku
bWFuZ2xlZE5hbWVIYXNoKCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwNTM3dSwgSW1tdXRhYmxl
U3RyaW5nKCJnbF9WZXJ0ZXhJRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEo
MHgwMDAwMDQyOXUsIEltbXV0YWJsZVN0cmluZygiZ2xfRHJhd0lEIikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2Q1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9CYXNl
VmVydGV4IikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMWIydSwg
SW1tdXRhYmxlU3RyaW5nKCJnbF9CYXNlSW5zdGFuY2UiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0g
ICAgQVNTRVJUX0VRKDB4MDAwMDA0NTR1LCBJbW11dGFibGVTdHJpbmcoImFuZ2xlX0Jhc2VWZXJ0
ZXgiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzY2R1LCBJbW11
dGFibGVTdHJpbmcoImFuZ2xlX0Jhc2VJbnN0YW5jZSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDQ1NXUsIEltbXV0YWJsZVN0cmluZygiYW5nbGVfQmFzZVZlcnRl
eCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDNjZXUsIEltbXV0
YWJsZVN0cmluZygiYW5nbGVfQmFzZUluc3RhbmNlIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwMmUxdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9DbGlwRGlzdGFuY2Ui
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1Njh1LCBJbW11dGFi
bGVTdHJpbmcoImdsX01heENsaXBEaXN0YW5jZXMiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAg
QVNTRVJUX0VRKDB4MDAwMDAxMDB1LCBJbW11dGFibGVTdHJpbmcoImdsX051bVdvcmtHcm91cHMi
KS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzR1LCBJbW11dGFi
bGVTdHJpbmcoImdsX1dvcmtHcm91cFNpemUiKS5tYW5nbGVkTmFtZUhhc2goKSk7Ci0gICAgQVNT
RVJUX0VRKDB4MDAwMDA3NjF1LCBJbW11dGFibGVTdHJpbmcoImdsX1dvcmtHcm91cElEIikubWFu
Z2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNzIxdSwgSW1tdXRhYmxlU3Ry
aW5nKCJnbF9Mb2NhbEludm9jYXRpb25JRCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoMHgwMDAwMDUzNHUsIEltbXV0YWJsZVN0cmluZygiZ2xfR2xvYmFsSW52b2NhdGlvbklE
IikubWFuZ2xlZE5hbWVIYXNoKCkpOwotICAgIEFTU0VSVF9FUSgweDAwMDAwNTM1dSwgSW1tdXRh
YmxlU3RyaW5nKCJnbF9Mb2NhbEludm9jYXRpb25JbmRleCIpLm1hbmdsZWROYW1lSGFzaCgpKTsK
LSAgICBBU1NFUlRfRVEoMHgwMDAwMDdiYXUsIEltbXV0YWJsZVN0cmluZygiZ2xfUHJpbWl0aXZl
SURJbiIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMzNXUsIElt
bXV0YWJsZVN0cmluZygiZ2xfV29ya0dyb3VwU2l6ZSIpLm1hbmdsZWROYW1lSGFzaCgpKTsKKyAg
ICBBU1NFUlRfRVEoMHgwMDAwMDc2M3UsIEltbXV0YWJsZVN0cmluZygiZ2xfV29ya0dyb3VwSUQi
KS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA3MjN1LCBJbW11dGFi
bGVTdHJpbmcoImdsX0xvY2FsSW52b2NhdGlvbklEIikubWFuZ2xlZE5hbWVIYXNoKCkpOworICAg
IEFTU0VSVF9FUSgweDAwMDAwNTM1dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9HbG9iYWxJbnZvY2F0
aW9uSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4MDAwMDA1MzZ1LCBJ
bW11dGFibGVTdHJpbmcoImdsX0xvY2FsSW52b2NhdGlvbkluZGV4IikubWFuZ2xlZE5hbWVIYXNo
KCkpOworICAgIEFTU0VSVF9FUSgweDAwMDAwN2JjdSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9Qcmlt
aXRpdmVJREluIikubWFuZ2xlZE5hbWVIYXNoKCkpOwogICAgIEFTU0VSVF9FUSgweDAwMDAwMGJm
dSwgSW1tdXRhYmxlU3RyaW5nKCJnbF9JbnZvY2F0aW9uSUQiKS5tYW5nbGVkTmFtZUhhc2goKSk7
Ci0gICAgQVNTRVJUX0VRKDB4MDAwMDAzMzB1LCBJbW11dGFibGVTdHJpbmcoImdsX1BlclZlcnRl
eCIpLm1hbmdsZWROYW1lSGFzaCgpKTsKLSAgICBBU1NFUlRfRVEoMHgwMDAwMDMwZXUsIEltbXV0
YWJsZVN0cmluZygiZ2xfaW4iKS5tYW5nbGVkTmFtZUhhc2goKSk7CisgICAgQVNTRVJUX0VRKDB4
MDAwMDAzMzF1LCBJbW11dGFibGVTdHJpbmcoImdsX1BlclZlcnRleCIpLm1hbmdsZWROYW1lSGFz
aCgpKTsKKyAgICBBU1NFUlRfRVEoMHgwMDAwMDMwZnUsIEltbXV0YWJsZVN0cmluZygiZ2xfaW4i
KS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJUX0VRKDB4MDAwMDAyMGZ1LCBJbW11dGFi
bGVTdHJpbmcoImdsX1ZpZXdJRF9PVlIiKS5tYW5nbGVkTmFtZUhhc2goKSk7CiAgICAgQVNTRVJU
X0VRKDB4MDAwMDAwMjN1LCBJbW11dGFibGVTdHJpbmcoInJhZGlhbnMiKS51bm1hbmdsZWROYW1l
SGFzaCgpKTsKICAgICBBU1NFUlRfRVEoMHgwMDAwMDAxM3UsIEltbXV0YWJsZVN0cmluZygiZGVn
cmVlcyIpLnVubWFuZ2xlZE5hbWVIYXNoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9hbmdsZV9kZXFwX2d0ZXN0LmNwcCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvYW5nbGVfZGVxcF9n
dGVzdC5jcHAKaW5kZXggYjAzYTI3NjdkMWM5MGZmNTcxMzk0MjFmNzRkMGVjMTQ2M2NjMWJkNi4u
YWQ0ZDJlZjMzNzkxMTVmYmU5MmU5OTRlZTJhMDBiNjQ5NTQ5NTMxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9hbmdsZV9kZXFwX2d0
ZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBw
b3J0L2FuZ2xlX2RlcXBfZ3Rlc3QuY3BwCkBAIC01MTQsNiArNTE0LDEyIEBAIHZvaWQgZEVRUFRl
c3Q8VGVzdE1vZHVsZUluZGV4Pjo6U2V0VXBUZXN0Q2FzZSgpCiAgICAgc3RkOjpzdHJpbmcgY29u
ZmlnQXJnU3RyaW5nICA9IHN0ZDo6c3RyaW5nKGdkRVFQRUdMQ29uZmlnTmFtZVN0cmluZykgKyB0
YXJnZXRDb25maWdOYW1lOwogICAgIGFyZ3YucHVzaF9iYWNrKGNvbmZpZ0FyZ1N0cmluZy5jX3N0
cigpKTsKIAorICAgIC8vIEhpZGUgU3dpZnRTaGFkZXIgd2luZG93IHRvIHByZXZlbnQgYSByYWNl
IHdpdGggWHZmYiBjYXVzaW5nIGhhbmdzIG9uIHRlc3QgYm90cworICAgIGlmIChnSW5pdEFQSSAm
JiBnSW5pdEFQSS0+c2Vjb25kID09IEdQVVRlc3RDb25maWc6OmtBUElTd2lmdFNoYWRlcikKKyAg
ICB7CisgICAgICAgIGFyZ3YucHVzaF9iYWNrKCItLWRlcXAtdmlzaWJpbGl0eT1oaWRkZW4iKTsK
KyAgICB9CisKICAgICAvLyBJbml0IHRoZSBwbGF0Zm9ybS4KICAgICBpZiAoIWRlcXBfbGlidGVz
dGVyX2luaXRfcGxhdGZvcm0oc3RhdGljX2Nhc3Q8aW50Pihhcmd2LnNpemUoKSksIGFyZ3YuZGF0
YSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9j
YXN0PHZvaWQgKj4oJkhhbmRsZVBsYXRmb3JtRXJyb3IpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcC5nbmkgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXAuZ25pCmluZGV4IDIz
MDU4ODZhNmEwZDM0MmIyZmZiNzJiMDk5ODczMDJkMzBhMTdkYmYuLmNhYzIzMmY1ZGZlZDA4N2Vi
OGUwNDdjNzQ1ZTRlMDhjYmJjYTMxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcC5nbmkKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwLmduaQpAQCAtOSw2ICs5LDcgQEAg
ZGVxcF9pbmNsdWRlX2RpcnMgPSBbCiAgICIkZGVxcF9wYXRoL2V4ZWN1dG9yIiwKICAgIiRkZXFw
X3BhdGgvZXhlY3NlcnZlciIsCiAgICIkZGVxcF9wYXRoL2ZyYW1ld29yay9wbGF0Zm9ybS9udWxs
IiwKKyAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL3hleG1sIiwKICAgIiRkZXFwX3BhdGgvbW9kdWxl
cy9nbGVzMiIsCiAgICIkZGVxcF9wYXRoL21vZHVsZXMvZ2xlczIvZnVuY3Rpb25hbCIsCiAgICIk
ZGVxcF9wYXRoL21vZHVsZXMvZ2xlczIvYWNjdXJhY3kiLApAQCAtODkxLDYgKzg5Miw4IEBAIGRl
cXBfa2hyX2NvbW1vbl9zb3VyY2VzID0gWwogICAiJGRlcXBfcGF0aC9leHRlcm5hbC9vcGVuZ2xj
dHMvbW9kdWxlcy9jb21tb24vZ2xjTWlzYy5ocHAiLAogICAiJGRlcXBfcGF0aC9leHRlcm5hbC9v
cGVuZ2xjdHMvbW9kdWxlcy9jb21tb24vZ2xjTXVsdGlwbGVDb250ZXh0c1Rlc3RzLmNwcCIsCiAg
ICIkZGVxcF9wYXRoL2V4dGVybmFsL29wZW5nbGN0cy9tb2R1bGVzL2NvbW1vbi9nbGNNdWx0aXBs
ZUNvbnRleHRzVGVzdHMuaHBwIiwKKyAgIiRkZXFwX3BhdGgvZXh0ZXJuYWwvb3BlbmdsY3RzL21v
ZHVsZXMvY29tbW9uL2dsY05lYXJlc3RFZGdlVGVzdHMuY3BwIiwKKyAgIiRkZXFwX3BhdGgvZXh0
ZXJuYWwvb3BlbmdsY3RzL21vZHVsZXMvY29tbW9uL2dsY05lYXJlc3RFZGdlVGVzdHMuaHBwIiwK
ICAgIiRkZXFwX3BhdGgvZXh0ZXJuYWwvb3BlbmdsY3RzL21vZHVsZXMvY29tbW9uL2dsY05vRGVm
YXVsdENvbnRleHRQYWNrYWdlLmNwcCIsCiAgICIkZGVxcF9wYXRoL2V4dGVybmFsL29wZW5nbGN0
cy9tb2R1bGVzL2NvbW1vbi9nbGNOb0RlZmF1bHRDb250ZXh0UGFja2FnZS5ocHAiLAogICAiJGRl
cXBfcGF0aC9leHRlcm5hbC9vcGVuZ2xjdHMvbW9kdWxlcy9jb21tb24vZ2xjTm9FcnJvclRlc3Rz
LmNwcCIsCkBAIC0xNTA2LDYgKzE1MDksMTMgQEAgZGVxcF9mcmFtZXdvcmtfZGVjcHBfc291cmNl
cyA9IFsKICAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL2RlbGlicy9kZWNwcC9kZVVuaXF1ZVB0ci5o
cHAiLAogXQogCitkZXFwX2ZyYW1ld29ya194ZXhtbF9zb3VyY2VzID0gWworICAiJGRlcXBfcGF0
aC9mcmFtZXdvcmsveGV4bWwveGVEZWZzLmNwcCIsCisgICIkZGVxcF9wYXRoL2ZyYW1ld29yay94
ZXhtbC94ZURlZnMuaHBwIiwKKyAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL3hleG1sL3hlWE1MUGFy
c2VyLmNwcCIsCisgICIkZGVxcF9wYXRoL2ZyYW1ld29yay94ZXhtbC94ZVhNTFBhcnNlci5ocHAi
LAorXQorCiBkZXFwX2ZyYW1ld29ya19vcGVuZ2xfc291cmNlcyA9IFsKICAgIiRkZXFwX3BhdGgv
ZnJhbWV3b3JrL29wZW5nbC9nbHVDYWxsTG9nVXRpbC5pbmwiLAogICAiJGRlcXBfcGF0aC9mcmFt
ZXdvcmsvb3BlbmdsL2dsdUNhbGxMb2dXcmFwcGVyLmNwcCIsCkBAIC0xNzgzLDYgKzE3OTMsOCBA
QCBkZXFwX2ZyYW1ld29ya19jb21tb25fc291cmNlcyA9IFsKICAgIiRkZXFwX3BhdGgvZnJhbWV3
b3JrL2NvbW1vbi90Y3VWZWN0b3IuaHBwIiwKICAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL2NvbW1v
bi90Y3VWZWN0b3JUeXBlLmhwcCIsCiAgICIkZGVxcF9wYXRoL2ZyYW1ld29yay9jb21tb24vdGN1
VmVjdG9yVXRpbC5ocHAiLAorICAiJGRlcXBfcGF0aC9mcmFtZXdvcmsvY29tbW9uL3RjdVdhaXZl
clV0aWwuY3BwIiwKKyAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL2NvbW1vbi90Y3VXYWl2ZXJVdGls
LmhwcCIsCiAgICIkZGVxcF9wYXRoL2ZyYW1ld29yay9yYW5kb21zaGFkZXJzL3JzZ0JpbmFyeU9w
cy5jcHAiLAogICAiJGRlcXBfcGF0aC9mcmFtZXdvcmsvcmFuZG9tc2hhZGVycy9yc2dCaW5hcnlP
cHMuaHBwIiwKICAgIiRkZXFwX3BhdGgvZnJhbWV3b3JrL3JhbmRvbXNoYWRlcnMvcnNnQnVpbHRp
bkZ1bmN0aW9ucy5jcHAiLApAQCAtMTk2OCw4ICsxOTgwLDYgQEAgZGVxcF9saWJ0ZXN0ZXJfc291
cmNlcyA9IFsKICAgIiRkZXFwX3BhdGgvZXhlY3V0b3IveGVDb21tTGluay5ocHAiLAogICAiJGRl
cXBfcGF0aC9leGVjdXRvci94ZUNvbnRhaW5lckZvcm1hdFBhcnNlci5jcHAiLAogICAiJGRlcXBf
cGF0aC9leGVjdXRvci94ZUNvbnRhaW5lckZvcm1hdFBhcnNlci5ocHAiLAotICAiJGRlcXBfcGF0
aC9leGVjdXRvci94ZURlZnMuY3BwIiwKLSAgIiRkZXFwX3BhdGgvZXhlY3V0b3IveGVEZWZzLmhw
cCIsCiAgICIkZGVxcF9wYXRoL2V4ZWN1dG9yL3hlTG9jYWxUY3BJcExpbmsuY3BwIiwKICAgIiRk
ZXFwX3BhdGgvZXhlY3V0b3IveGVMb2NhbFRjcElwTGluay5ocHAiLAogICAiJGRlcXBfcGF0aC9l
eGVjdXRvci94ZVRjcElwTGluay5jcHAiLApAQCAtMTk4Niw4ICsxOTk2LDYgQEAgZGVxcF9saWJ0
ZXN0ZXJfc291cmNlcyA9IFsKICAgIiRkZXFwX3BhdGgvZXhlY3V0b3IveGVUZXN0TG9nV3JpdGVy
LmhwcCIsCiAgICIkZGVxcF9wYXRoL2V4ZWN1dG9yL3hlVGVzdFJlc3VsdFBhcnNlci5jcHAiLAog
ICAiJGRlcXBfcGF0aC9leGVjdXRvci94ZVRlc3RSZXN1bHRQYXJzZXIuaHBwIiwKLSAgIiRkZXFw
X3BhdGgvZXhlY3V0b3IveGVYTUxQYXJzZXIuY3BwIiwKLSAgIiRkZXFwX3BhdGgvZXhlY3V0b3Iv
eGVYTUxQYXJzZXIuaHBwIiwKICAgIiRkZXFwX3BhdGgvZXhlY3V0b3IveGVYTUxXcml0ZXIuY3Bw
IiwKICAgIiRkZXFwX3BhdGgvZXhlY3V0b3IveGVYTUxXcml0ZXIuaHBwIiwKICAgIiRkZXFwX3Bh
dGgvZnJhbWV3b3JrL3BsYXRmb3JtL251bGwvdGN1TnVsbENvbnRleHRGYWN0b3J5LmNwcCIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0
L2RlcXBfZWdsX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9lZ2xfdGVzdF9leHBlY3RhdGlvbnMudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjOGJkYzEyOThmYjU5OTliMjNlYjUzNDM2OWU1Mzc4MjEwNDNmZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBw
b3J0L2RlcXBfZWdsX3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMCwwICsxLDI1NSBAQAorLy8g
Q29weXJpZ2h0IDIwMTUgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8vIFRoaXMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgZGVmZWN0aXZlIGRFUVAgY29uZm9ybWFu
Y2UgdGVzdHMuIFRoZSBleHBlY3RlZAorLy8gZm9ybWF0IGlzOgorLy8gIHtCVUcjfSB7TU9ESUZJ
RVJTfSA6IHtURVNUX05BTUV9ID0ge1BBU1MsRkFJTCxGTEFLWSxUSU1FT1VULFNLSVB9CisvLwor
Ly8gTU9ESUZJRVJTIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBiZWxvdyBsaXN0LCBjb21i
aW5lZCB3aXRoIGEgbG9naWNhbCBBTkQ6CisvLyAgV0lOIFhQIFZJU1RBIFdJTjcgV0lOOCBXSU4x
MAorLy8gIE1BQyBMRU9QQVJEIFNOT1dMRU9QQVJEIExJT04gTU9VTlRBSU5MSU9OIE1BVkVSSUNL
UyBZT1NFTUlURSBFTENBUElUQU4gU0lFUlJBIEhJR0hTSUVSUkEgTU9KQVZFCisvLyAgTElOVVgg
Q0hST01FT1MgQU5EUk9JRAorLy8gIE5WSURJQSBBTUQgSU5URUwKKy8vICBERUJVRyBSRUxFQVNF
CisvLyAgRDNEOSBEM0QxMSBPUEVOR0wgR0xFUyBWVUxLQU4KKy8vICBORVhVUzVYIFBJWEVMMk9S
WEwKKy8vICBRVUFEUk9QNDAwCisvLworLy8KKy8vIFRFU1RfTkFNRSBjYW4gYmUgYSBzcGVjaWZp
YyB0ZXN0IG5hbWUsIG9yIGhhdmUgYSAnKicgaW4gdGhlIGVuZCwgd2hpY2gKKy8vIGluZGljYXRl
cyBhIHByZWZpeCBtYXRjaGluZy4KKy8vCisvLyBFeGFtcGxlczoKKy8vIGZhaWxzIG9uIGJvdGgg
d2luZG93cyBhbmQgbWFjIChjcmFzaCkKKy8vICA5MTUzMCBXSU4gOiBjb250ZXh0X2xvc3RfcmVz
dG9yZWQgPSBTS0lQCisvLyAgOTE1MzAgTUFDIDogY29udGV4dF9sb3N0X3Jlc3RvcmVkID0gU0tJ
UAorLy8gZmFpbHMgb24gd2luZG93cyB1c2luZyBOVklESUEgR1BVcworLy8gIDkxNTMzIFdJTiBO
VklESUEgOiBnbF9taW5fdW5pZm9ybXMgPSBGQUlMCisvLyBmYWlscyBvbiBOZXh1czVYIHdpdGgg
R0xFUyBiYWNrZW5kIChoYW5ncykKKy8vICA5MTUzMSBORVhVUzVYIEdMRVMgOiBjb25mb3JtYW5j
ZV9tb3JlXyogPSBTS0lQCisKKy8vIEdsb2JhbGx5IGRpc2FibGUgTWV0YWwgdGVzdGluZyBmb3Ig
bm93Cis0MjM1IE1FVEFMIDogZEVRUC1FR0wuKiA9IFNLSVAKKworLy8gT25seSBWdWxrYW4gc3Vw
cG9ydHMgbXVsdGl0aHJlYWRpbmcKKzM5MTYgT1BFTkdMIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5z
aGFyaW5nLmdsZXMyLm11bHRpdGhyZWFkLiogPSBTS0lQCiszOTE2IE9QRU5HTCA6IGRFUVAtRUdM
LmZ1bmN0aW9uYWwubXVsdGl0aHJlYWQuKiA9IFNLSVAKKzM5MTYgT1BFTkdMIDogZEVRUC1FR0wu
ZnVuY3Rpb25hbC5yZW5kZXIubXVsdGlfdGhyZWFkLiogPSBTS0lQCiszOTE2IE9QRU5HTCA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX3RocmVhZC4qID0gU0tJUAorMzkx
NiBHTEVTIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5zaGFyaW5nLmdsZXMyLm11bHRpdGhyZWFkLiog
PSBTS0lQCiszOTE2IEdMRVMgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm11bHRpdGhyZWFkLiogPSBT
S0lQCiszOTE2IEdMRVMgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5tdWx0aV90aHJlYWQu
KiA9IFNLSVAKKzM5MTYgR0xFUyA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11
bHRpX3RocmVhZC4qID0gU0tJUAorMzkxNiBEM0QxMSA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuc2hh
cmluZy5nbGVzMi5tdWx0aXRocmVhZC4qID0gU0tJUAorMzkxNiBEM0QxMSA6IGRFUVAtRUdMLmZ1
bmN0aW9uYWwubXVsdGl0aHJlYWQuKiA9IFNLSVAKKzM5MTYgRDNEMTEgOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLnJlbmRlci5tdWx0aV90aHJlYWQuKiA9IFNLSVAKKzM5MTYgRDNEMTEgOiBkRVFQLUVH
TC5mdW5jdGlvbmFsLmNvbG9yX2NsZWFycy5tdWx0aV90aHJlYWQuKiA9IFNLSVAKKzM5MTYgRDNE
OSA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuc2hhcmluZy5nbGVzMi5tdWx0aXRocmVhZC4qID0gU0tJ
UAorMzkxNiBEM0Q5IDogZEVRUC1FR0wuZnVuY3Rpb25hbC5tdWx0aXRocmVhZC4qID0gU0tJUAor
MzkxNiBEM0Q5IDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIubXVsdGlfdGhyZWFkLiogPSBT
S0lQCiszOTE2IEQzRDkgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNvbG9yX2NsZWFycy5tdWx0aV90
aHJlYWQuKiA9IFNLSVAKKworLy8gU2VlbXMgdG8gdGltZSBvdXQgb24gTGludXguCis0MDMxOTE2
IFZVTEtBTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwubXVsdGl0aHJlYWQuKiA9IFNLSVAKKworLy8g
VGhlc2UgdGVzdHMgcmVxdWlyZSBwaXhtYXAgc3VyZmFjZXMuIE9uIG1hbnkgcGxhdGZvcm1zIHRo
ZXkgYXJlIHVuc3VwcG9ydGVkLgorMzkxNyBBTkRST0lEIFZVTEtBTiA6IGRFUVAtRUdMLmZ1bmN0
aW9uYWwucmVuZGVyLm11bHRpX3RocmVhZC4qID0gRkFJTAorMzkxNyBBTkRST0lEIFZVTEtBTiA6
IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX3RocmVhZC4qID0gRkFJTAor
CisvLyBkRVFQIGRvZXNuJ3QgaGFuZGxlIGNvbmZpZ3MgY3JlYXRlZCBmb3IgZXh0ZW5zaW9ucwor
MTY2MiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNvbG9yX2NsZWFycy5zaW5nbGVfY29udGV4
dC5nbGVzMi5vdGhlciA9IEZBSUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xv
cl9jbGVhcnMuc2luZ2xlX2NvbnRleHQuZ2xlczMub3RoZXIgPSBGQUlMCisxNjYyIFdJTiA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX2NvbnRleHQuZ2xlczIub3RoZXIg
PSBGQUlMCisxNjYyIFdJTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRp
X2NvbnRleHQuZ2xlczMub3RoZXIgPSBGQUlMCisxNjYyIFdJTiA6IGRFUVAtRUdMLmZ1bmN0aW9u
YWwucmVuZGVyLnNpbmdsZV9jb250ZXh0LmdsZXMyLm90aGVyID0gRkFJTAorMTY2MiBXSU4gOiBk
RVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5zaW5nbGVfY29udGV4dC5nbGVzMy5vdGhlciA9IEZB
SUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIubXVsdGlfY29udGV4dC5n
bGVzMi5vdGhlciA9IEZBSUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIu
bXVsdGlfY29udGV4dC5nbGVzMy5vdGhlciA9IEZBSUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVu
Y3Rpb25hbC5yZW5kZXIubXVsdGlfY29udGV4dC5nbGVzMl9nbGVzMy5vdGhlciA9IEZBSUwKKzE2
NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uYXRpdmVfY29vcmRfbWFwcGluZy5uYXRpdmVf
d2luZG93Lm90aGVyX2NsZWFyID0gRkFJTAorMTY2MiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFs
Lm5hdGl2ZV9jb29yZF9tYXBwaW5nLm5hdGl2ZV93aW5kb3cub3RoZXJfcmVuZGVyID0gRkFJTAor
MTY2MiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRleHQuZ2V0X2N1cnJlbnRf
Y29udGV4dC5vdGhlciA9IEZBSUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVy
eV9jb250ZXh0LmdldF9jdXJyZW50X3N1cmZhY2Uub3RoZXIgPSBGQUlMCisxNjYyIFdJTiA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfY29udGV4dC5nZXRfY3VycmVudF9kaXNwbGF5Lm90aGVy
ID0gRkFJTAorMTY2MiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRleHQucXVl
cnlfY29udGV4dC5vdGhlciA9IEZBSUwKKzE2NjIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5u
YXRpdmVfY29sb3JfbWFwcGluZy5uYXRpdmVfd2luZG93Lm90aGVyX2NsZWFyID0gU0tJUAorMTY2
MiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5hdGl2ZV9jb2xvcl9tYXBwaW5nLm5hdGl2ZV93
aW5kb3cub3RoZXJfcmVuZGVyID0gU0tJUAorCisvLyBJbnRlbnRpb25hbGx5IGNhdXNlcyBURFJz
IHRoYXQgZXZlbnR1YWxseSBibGFja2xpc3QgdGhlIGFwcGxpY2F0aW9uCisyMzE5IDogZEVRUC1F
R0wuZnVuY3Rpb25hbC5yb2J1c3RuZXNzLnJlc2V0X2NvbnRleHQuc2hhZGVycy5pbmZpbml0ZV9s
b29wLiogPSBTS0lQCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gIFRlbXByb3J5
IGVudHJpZXM6IHRoZXkgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGUgYnVncyBhcmUgZml4ZWQu
CisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8gRmxha3kgc2luY2Ugd2UgZW5hYmxl
ZCBkZXB0aC9zdGVuY2lsIGJhY2tidWZmZXIgaW4gYWxsIHRlc3RzLgorMjQyOSBXSU4gTlZJRElB
IDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9jb250ZXh0LnF1ZXJ5X2NvbnRleHQucmdiYTg4
ODhfd2luZG93ID0gRkFJTAorCisvLyBUT0RPKGptYWRpbGwpOiBUcmlhZ2UgdGhlc2UgaW50byBw
ZXJtYW5hbmVudCBhbmQgdGVtcG9yYXJ5IGZhaWx1cmVzLgorMTM0MCBXSU4gOiBkRVFQLUVHTC5m
dW5jdGlvbmFsLnF1ZXJ5X2NvbmZpZy5nZXRfY29uZmlncy5nZXRfY29uZmlnc19ib3VuZHMgPSBG
QUlMCiszMjcwIFdJTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY2hvb3NlX2NvbmZpZy5zaW1wbGUu
c2VsZWN0aW9uX29ubHkuY29uZmlnX2lkID0gRkFJTAorMzI3MCBXSU4gOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLmNob29zZV9jb25maWcuc2ltcGxlLnNlbGVjdGlvbl9hbmRfc29ydC5jb25maWdfaWQg
PSBGQUlMCisxMzQwIFdJTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucmVuZGVyLnNpbmdsZV9jb250
ZXh0LmdsZXMyLnJnYmE1NTUxX3dpbmRvdyA9IEZBSUwKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVu
Y3Rpb25hbC5yZW5kZXIuc2luZ2xlX2NvbnRleHQuZ2xlczIucmdiYTU1NTFfcGJ1ZmZlciA9IEZB
SUwKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIuc2luZ2xlX2NvbnRleHQu
Z2xlczMucmdiYTU1NTFfd2luZG93ID0gRkFJTAorMTM0MCBXSU4gOiBkRVFQLUVHTC5mdW5jdGlv
bmFsLnJlbmRlci5zaW5nbGVfY29udGV4dC5nbGVzMy5yZ2JhNTU1MV9wYnVmZmVyID0gRkFJTAor
MTM0MCBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5tdWx0aV9jb250ZXh0LmdsZXMy
LnJnYmE1NTUxX3dpbmRvdyA9IEZBSUwKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5y
ZW5kZXIubXVsdGlfY29udGV4dC5nbGVzMi5yZ2JhNTU1MV9wYnVmZmVyID0gRkFJTAorMTM0MCBX
SU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5tdWx0aV9jb250ZXh0LmdsZXMzLnJnYmE1
NTUxX3dpbmRvdyA9IEZBSUwKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIu
bXVsdGlfY29udGV4dC5nbGVzMy5yZ2JhNTU1MV9wYnVmZmVyID0gRkFJTAorMTM0MCBXSU4gOiBk
RVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5tdWx0aV9jb250ZXh0LmdsZXMyX2dsZXMzLnJnYmE1
NTUxX3dpbmRvdyA9IEZBSUwKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIu
bXVsdGlfY29udGV4dC5nbGVzMl9nbGVzMy5yZ2JhNTU1MV9wYnVmZmVyID0gRkFJTAorMTM0MCBX
SU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5jaG9vc2VfY29uZmlnID0gU0tJ
UAorMTM0MCBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5zdXJmYWNlX2F0
dHJpYiA9IFNLSVAKKzEzNDAgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uZWdhdGl2ZV9hcGku
c3dhcF9pbnRlcnZhbCA9IEZBSUwKKzIzODIgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uYXRp
dmVfY29sb3JfbWFwcGluZy5uYXRpdmVfd2luZG93LiogPSBTS0lQCisxMzQwIFdJTiA6IGRFUVAt
RUdMLmZ1bmN0aW9uYWwubmF0aXZlX2Nvb3JkX21hcHBpbmcubmF0aXZlX3dpbmRvdy4qID0gRkFJ
TAorMjcxNiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnByZXNlcnZlX3N3YXAucHJlc2VydmUu
bm9fcmVhZF9iZWZvcmVfc3dhcC4qID0gU0tJUAorMjcxNiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlv
bmFsLnByZXNlcnZlX3N3YXAucHJlc2VydmUucmVhZF9iZWZvcmVfc3dhcC4qID0gU0tJUAorMTM0
MCBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlc2l6ZS5iYWNrX2J1ZmZlci4qID0gU0tJUAor
MTM0MCBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlc2l6ZS5waXhlbF9kZW5zaXR5LiogPSBT
S0lQCisKKy8vIFdpbmRvd3MgT3BlbkdMIGZhaWx1cmVzCisyNTQ2IFdJTiA6IGRFUVAtRUdMLmZ1
bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zaW1wbGUucGJ1ZmZlci5yZ2JhODg4OF9kZXB0aF9zdGVu
Y2lsID0gRkFJTAorMjU0NiBXSU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnRocmVhZF9jbGVhbnVw
LiogPSBTS0lQCisKKy8vIFdpbmRvd3MgVnVsa2FuIGZhaWx1cmVzCisyNjM1IFdJTiBWVUxLQU4g
OiBkRVFQLUVHTC5mdW5jdGlvbmFsLm11bHRpY29udGV4dC5ub25fc2hhcmVkX2NsZWFyID0gRkFJ
TAorMjYzNSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5tdWx0aWNvbnRleHQubm9u
X3NoYXJlZF9tYWtlX2N1cnJlbnQgPSBGQUlMCisyNjM1IFdJTiBWVUxLQU4gOiBkRVFQLUVHTC5m
dW5jdGlvbmFsLm11bHRpY29udGV4dC5zaGFyZWRfY2xlYXIgPSBGQUlMCisyNjM1IFdJTiBWVUxL
QU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm11bHRpY29udGV4dC5zaGFyZWRfbWFrZV9jdXJyZW50
ID0gRkFJTAorMjYzNSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJm
YWNlLnNldF9hdHRyaWJ1dGUucGJ1ZmZlci5yZ2JhODg4OF9kZXB0aF9zdGVuY2lsID0gRkFJTAor
MjYzNSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNlLnNldF9h
dHRyaWJ1dGUucGJ1ZmZlci5yZ2JhODg4OF9ub19kZXB0aF9ub19zdGVuY2lsID0gRkFJTAorMjcx
NSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNlLnNpbXBsZS5w
YnVmZmVyLnJnYjg4OF9kZXB0aF9ub19zdGVuY2lsID0gRkFJTAorMjcxNSBXSU4gVlVMS0FOIDog
ZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNlLnNpbXBsZS5wYnVmZmVyLnJnYjg4OF9k
ZXB0aF9zdGVuY2lsID0gRkFJTAorMjcxNSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25h
bC5xdWVyeV9zdXJmYWNlLnNpbXBsZS5wYnVmZmVyLnJnYjg4OF9ub19kZXB0aF9ub19zdGVuY2ls
ID0gRkFJTAorMjcxNSBXSU4gVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJm
YWNlLnNpbXBsZS5wYnVmZmVyLnJnYmE4ODg4X2RlcHRoX25vX3N0ZW5jaWwgPSBGQUlMCisyNzE1
IFdJTiBWVUxLQU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X3N1cmZhY2Uuc2ltcGxlLnBi
dWZmZXIucmdiYTg4ODhfbm9fZGVwdGhfbm9fc3RlbmNpbCA9IEZBSUwKKzI3MTYgV0lOIFZVTEtB
TiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucHJlc2VydmVfc3dhcC5ub19wcmVzZXJ2ZS4qID0gRkFJ
TAorCisvLyBMaW51eCBmYWlsdXJlcworMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwu
Y29sb3JfY2xlYXJzLm11bHRpX2NvbnRleHQuZ2xlczEucmdiYTg4ODhfcGl4bWFwID0gU0tJUAor
MjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX2NvbnRl
eHQuZ2xlczFfZ2xlczIucmdiYTg4ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAt
RUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX2NvbnRleHQuZ2xlczFfZ2xlczJfZ2xl
czMucmdiYTg4ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9u
YWwuY29sb3JfY2xlYXJzLm11bHRpX2NvbnRleHQuZ2xlczIucmdiYTg4ODhfcGl4bWFwID0gU0tJ
UAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLm11bHRpX2Nv
bnRleHQuZ2xlczMucmdiYTg4ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdM
LmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLnNpbmdsZV9jb250ZXh0LmdsZXMxLnJnYmE4ODg4X3Bp
eG1hcCA9IFNLSVAKKzI1NDYgTElOVVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNvbG9yX2NsZWFy
cy5zaW5nbGVfY29udGV4dC5nbGVzMi5yZ2JhODg4OF9waXhtYXAgPSBTS0lQCisyNTQ2IExJTlVY
IDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xvcl9jbGVhcnMuc2luZ2xlX2NvbnRleHQuZ2xlczMu
cmdiYTg4ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwu
Y3JlYXRlX3N1cmZhY2UucGl4bWFwLnJnYmE4ODg4X2RlcHRoX3N0ZW5jaWwgPSBTS0lQCisyNTQ2
IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jcmVhdGVfc3VyZmFjZS5waXhtYXAucmdiYTg4
ODhfbm9fZGVwdGhfbm9fc3RlbmNpbCA9IFNLSVAKKzI1NDYgTElOVVggOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLm5lZ2F0aXZlX2FwaS5jb3B5X2J1ZmZlcnMgPSBTS0lQCisyNTQ2IExJTlVYIDogZEVR
UC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9jb250ZXh0LmdldF9jdXJyZW50X2NvbnRleHQucmdiYTg4
ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlf
Y29udGV4dC5nZXRfY3VycmVudF9kaXNwbGF5LnJnYmE4ODg4X3BpeG1hcCA9IFNLSVAKKzI1NDYg
TElOVVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRleHQuZ2V0X2N1cnJlbnRfc3Vy
ZmFjZS5yZ2JhODg4OF9waXhtYXAgPSBTS0lQCisyNTQ2IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rp
b25hbC5xdWVyeV9jb250ZXh0LnF1ZXJ5X2NvbnRleHQucmdiYTg4ODhfcGl4bWFwID0gU0tJUAor
MjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zZXRfYXR0cmli
dXRlLnBpeG1hcC5yZ2JhODg4OF9kZXB0aF9zdGVuY2lsID0gU0tJUAorMjU0NiBMSU5VWCA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zZXRfYXR0cmlidXRlLnBpeG1hcC5yZ2Jh
ODg4OF9ub19kZXB0aF9ub19zdGVuY2lsID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1
bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zaW1wbGUucGl4bWFwLnJnYmE4ODg4X2RlcHRoX3N0ZW5j
aWwgPSBTS0lQCisyNTQ2IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNl
LnNpbXBsZS5waXhtYXAucmdiYTg4ODhfbm9fZGVwdGhfbm9fc3RlbmNpbCA9IFNLSVAKKzI1NDYg
TElOVVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJlbmRlci5tdWx0aV9jb250ZXh0LiogPSBTS0lQ
CisyNTQ2IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIuc2luZ2xlX2NvbnRleHQu
Z2xlczIucmdiYTg4ODhfcGl4bWFwID0gU0tJUAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0
aW9uYWwucmVuZGVyLnNpbmdsZV9jb250ZXh0LmdsZXMzLnJnYmE4ODg4X3BpeG1hcCA9IFNLSVAK
KzI1NDYgTElOVVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnRocmVhZF9jbGVhbnVwLiogPSBTS0lQ
CisyNTQ2IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uYXRpdmVfY29sb3JfbWFwcGluZy5u
YXRpdmVfd2luZG93LiogPSBGQUlMCisyNTQ2IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5u
YXRpdmVfY29vcmRfbWFwcGluZy5uYXRpdmVfd2luZG93LiogPSBGQUlMCisyNTQ2IExJTlVYIDog
ZEVRUC1FR0wuZnVuY3Rpb25hbC5uZWdhdGl2ZV9hcGkuY2hvb3NlX2NvbmZpZyA9IEZBSUwKKzI1
NDYgTElOVVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5zd2FwX2ludGVydmFs
ID0gRkFJTAorMjU0NiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5z
aW1wbGUucGJ1ZmZlci5yZ2JhODg4OF9kZXB0aF9zdGVuY2lsID0gRkFJTAorMjU0NiBMSU5VWCA6
IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zaW1wbGUucGJ1ZmZlci5yZ2JhODg4
OF9ub19kZXB0aF9ub19zdGVuY2lsID0gRkFJTAorCisvLyBMaW51eCBWdWxrYW4gZmFpbHVyZXMK
KzI2MzUgTElOVVggVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNlLnNl
dF9hdHRyaWJ1dGUucGJ1ZmZlci5yZ2JhODg4OF9kZXB0aF9zdGVuY2lsID0gRkFJTAorMjYzNSBM
SU5VWCBWVUxLQU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X3N1cmZhY2Uuc2V0X2F0dHJp
YnV0ZS5wYnVmZmVyLnJnYmE4ODg4X25vX2RlcHRoX25vX3N0ZW5jaWwgPSBGQUlMCisyNzE1IExJ
TlVYIFZVTEtBTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfc3VyZmFjZS5zaW1wbGUucGJ1
ZmZlci5yZ2I4ODhfZGVwdGhfc3RlbmNpbCA9IEZBSUwKKzI3MTUgTElOVVggVlVMS0FOIDogZEVR
UC1FR0wuZnVuY3Rpb25hbC5xdWVyeV9zdXJmYWNlLnNpbXBsZS5wYnVmZmVyLnJnYjg4OF9ub19k
ZXB0aF9ub19zdGVuY2lsID0gRkFJTAorMjcxNiBMSU5VWCBWVUxLQU4gOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLnByZXNlcnZlX3N3YXAubm9fcHJlc2VydmUuKiA9IEZBSUwKKworLy8gTWFjIGZhaWx1
cmVzCisyNTQ2IE1BQyA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwubmF0aXZlX2NvbG9yX21hcHBpbmcu
bmF0aXZlX3dpbmRvdy4qID0gRkFJTAorMjU0NiBNQUMgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5h
dGl2ZV9jb29yZF9tYXBwaW5nLm5hdGl2ZV93aW5kb3cuKiA9IEZBSUwKKzI1NDYgTUFDIDogZEVR
UC1FR0wuZnVuY3Rpb25hbC5uZWdhdGl2ZV9hcGkuY2hvb3NlX2NvbmZpZyA9IEZBSUwKKzI1NDYg
TUFDIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uZWdhdGl2ZV9hcGkuY29weV9idWZmZXJzID0gRkFJ
TAorMjU0NiBNQUMgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5zd2FwX2ludGVy
dmFsID0gRkFJTAorMjU0NiBNQUMgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X3N1cmZhY2Uu
c2ltcGxlLnBidWZmZXIucmdiYTg4ODhfZGVwdGhfc3RlbmNpbCA9IEZBSUwKKzI1NDYgTUFDIDog
ZEVRUC1FR0wuZnVuY3Rpb25hbC50aHJlYWRfY2xlYW51cC4qID0gU0tJUAorCisvLyBBbmRyb2lk
IEdMRVMtb25seSBmYWlsdWVzCisyNTY3IEFORFJPSUQgR0xFUyA6IGRFUVAtRUdMLmZ1bmN0aW9u
YWwuaW1hZ2UuYXBpLmNyZWF0ZV9pbWFnZV9nbGVzMl90ZXgyZF9yZWQgPSBGQUlMCisyNTY3IEFO
RFJPSUQgR0xFUyA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuaW1hZ2UuYXBpLmNyZWF0ZV9pbWFnZV9n
bGVzMl90ZXgyZF9yZyA9IEZBSUwKKzI3MTYgQU5EUk9JRCBHTEVTIDogZEVRUC1FR0wuZnVuY3Rp
b25hbC5wcmVzZXJ2ZV9zd2FwLnByZXNlcnZlLiogPSBGQUlMCisKKy8vIEFuZHJvaWQgZmFpbHVy
ZXMKKzI1NDYgQU5EUk9JRCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuYnVmZmVyX2FnZS4qID0gRkFJ
TAorMzI3MCBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jaG9vc2VfY29uZmlnLnNpbXBs
ZS5zZWxlY3Rpb25fb25seS50cmFuc3BhcmVudF9yZWRfdmFsdWUgPSBGQUlMCiszMjcwIEFORFJP
SUQgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNob29zZV9jb25maWcuc2ltcGxlLnNlbGVjdGlvbl9v
bmx5LnRyYW5zcGFyZW50X2dyZWVuX3ZhbHVlID0gRkFJTAorMzI3MCBBTkRST0lEIDogZEVRUC1F
R0wuZnVuY3Rpb25hbC5jaG9vc2VfY29uZmlnLnNpbXBsZS5zZWxlY3Rpb25fb25seS50cmFuc3Bh
cmVudF9ibHVlX3ZhbHVlID0gRkFJTAorMzI3MCBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25h
bC5jaG9vc2VfY29uZmlnLnNpbXBsZS5zZWxlY3Rpb25fYW5kX3NvcnQudHJhbnNwYXJlbnRfcmVk
X3ZhbHVlID0gRkFJTAorMzI3MCBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jaG9vc2Vf
Y29uZmlnLnNpbXBsZS5zZWxlY3Rpb25fYW5kX3NvcnQudHJhbnNwYXJlbnRfZ3JlZW5fdmFsdWUg
PSBGQUlMCiszMjcwIEFORFJPSUQgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNob29zZV9jb25maWcu
c2ltcGxlLnNlbGVjdGlvbl9hbmRfc29ydC50cmFuc3BhcmVudF9ibHVlX3ZhbHVlID0gRkFJTAor
MjU0NiBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xvcl9jbGVhcnMubXVsdGlfY29u
dGV4dC4qID0gU0tJUAorMjU0NiBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xvcl9j
bGVhcnMuc2luZ2xlX2NvbnRleHQuKiA9IFNLSVAKKzI1NDYgQU5EUk9JRCA6IGRFUVAtRUdMLmZ1
bmN0aW9uYWwubmF0aXZlX2NvbG9yX21hcHBpbmcubmF0aXZlX3dpbmRvdy4qID0gU0tJUAorMjU0
NiBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5uYXRpdmVfY29vcmRfbWFwcGluZy5uYXRp
dmVfd2luZG93LiogPSBTS0lQCisyNTQ2IEFORFJPSUQgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLm5l
Z2F0aXZlX2FwaS5jb3B5X2J1ZmZlcnMgPSBGQUlMCisyNTQ2IEFORFJPSUQgOiBkRVFQLUVHTC5m
dW5jdGlvbmFsLnBhcnRpYWxfdXBkYXRlLm9kZF9jbGVhcl8qID0gRkFJTAorMjU0NiBBTkRST0lE
IDogZEVRUC1FR0wuZnVuY3Rpb25hbC5wYXJ0aWFsX3VwZGF0ZS5vZGRfcmVuZGVyXyogPSBGQUlM
CisyNTQ2IEFORFJPSUQgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnBhcnRpYWxfdXBkYXRlLnJlbmRl
cl8qID0gRkFJTAorMjU0NiBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZW5kZXIubXVs
dGlfY29udGV4dC4qID0gU0tJUAorMjU0NiBBTkRST0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5y
ZW5kZXIuc2luZ2xlX2NvbnRleHQuKiA9IFNLSVAKKzI1NDYgQU5EUk9JRCA6IGRFUVAtRUdMLmZ1
bmN0aW9uYWwudGhyZWFkX2NsZWFudXAubXVsdGlfY29udGV4dF8qID0gU0tJUAorMjU0NiBBTkRS
T0lEIDogZEVRUC1FR0wuZnVuY3Rpb25hbC50aHJlYWRfY2xlYW51cC5zaW5nbGVfY29udGV4dF8q
ID0gRkFJTAorCisvLyBWdWxrYW4KKzMwODEgVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5p
bWFnZS5jcmVhdGUuZ2xlczJfcmVuZGVyYnVmZmVyX2RlcHRoMTZfZGVwdGhfYnVmZmVyID0gU0tJ
UAorMzA4MSBWVUxLQU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmltYWdlLmNyZWF0ZS5nbGVzMl9y
ZW5kZXJidWZmZXJfc3RlbmNpbF9zdGVuY2lsX2J1ZmZlciA9IFNLSVAKKzMwODEgVlVMS0FOIDog
ZEVRUC1FR0wuZnVuY3Rpb25hbC5pbWFnZS5tb2RpZnkucmVuZGVyYnVmZmVyX2RlcHRoMTZfcmVu
ZGVyYnVmZmVyX2NsZWFyX2RlcHRoID0gU0tJUAorMzA4MSBWVUxLQU4gOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLmltYWdlLm1vZGlmeS5yZW5kZXJidWZmZXJfc3RlbmNpbF9yZW5kZXJidWZmZXJfY2xl
YXJfc3RlbmNpbCA9IFNLSVAKKzMwODEgVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5pbWFn
ZS5yZW5kZXJfbXVsdGlwbGVfY29udGV4dHMuZ2xlczJfcmVuZGVyYnVmZmVyX2RlcHRoMTZfZGVw
dGhfYnVmZmVyID0gU0tJUAorMzA4MSBWVUxLQU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmltYWdl
LnJlbmRlcl9tdWx0aXBsZV9jb250ZXh0cy5nbGVzMl9yZW5kZXJidWZmZXJfc3RlbmNpbF9zdGVu
Y2lsX2J1ZmZlciA9IFNLSVAKKworLy8gQW5kcm9pZCBWdWxrYW4KKzI1NDYgQU5EUk9JRCBWVUxL
QU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLmNyZWF0ZV9zdXJmYWNlLndpbmRvdy5vdGhlciA9IFNL
SVAKKzI1NDYgQU5EUk9JRCBWVUxLQU4gOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRl
eHQuZ2V0X2N1cnJlbnRfc3VyZmFjZS5vdGhlciA9IFNLSVAKKzI1NDYgQU5EUk9JRCBWVUxLQU4g
OiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X3N1cmZhY2Uuc2V0X2F0dHJpYnV0ZS53aW5kb3cu
b3RoZXIgPSBTS0lQCisyNTQ2IEFORFJPSUQgVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5x
dWVyeV9zdXJmYWNlLnNpbXBsZS53aW5kb3cub3RoZXIgPSBTS0lQCisyNTQ2IEFORFJPSUQgVlVM
S0FOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yZXNpemUucGl4ZWxfZGVuc2l0eS4qID0gU0tJUAor
CisvLyBSb2J1c3RuZXNzIGZhaWx1cmVzIG9uIG11bHRpcGxlIHBsYXRmb3JtcworMzcxMSA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwucm9idXN0bmVzcy5yZXNldF9jb250ZXh0LnNoYWRlcnMub3V0X29m
X2JvdW5kcy5yZXNldF9zdGF0dXMucmVhZHMuKiA9IEZBSUwKKzM3MTEgOiBkRVFQLUVHTC5mdW5j
dGlvbmFsLnJvYnVzdG5lc3MucmVzZXRfY29udGV4dC5zaGFkZXJzLm91dF9vZl9ib3VuZHMucmVz
ZXRfc3RhdHVzLndyaXRlcy4qID0gRkFJTAorCisvLyBFUyAxIHRlc3RzCisyMzA2IFdJTiA6IGRF
UVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXJzLnNpbmdsZV9jb250ZXh0LmdsZXMxKiA9IEZB
SUwKKzIzMDYgV0lOIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xvcl9jbGVhcnMubXVsdGlfY29u
dGV4dC5nbGVzMSogPSBGQUlMCisyMzA2IE1BQyA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3Jf
Y2xlYXJzLnNpbmdsZV9jb250ZXh0LmdsZXMxKiA9IEZBSUwKKzIzMDYgTUFDIDogZEVRUC1FR0wu
ZnVuY3Rpb25hbC5jb2xvcl9jbGVhcnMubXVsdGlfY29udGV4dC5nbGVzMSogPSBGQUlMCisyMzA2
IExJTlVYIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5jb2xvcl9jbGVhcnMuc2luZ2xlX2NvbnRleHQu
Z2xlczEqID0gRkFJTAorMjMwNiBMSU5VWCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwuY29sb3JfY2xl
YXJzLm11bHRpX2NvbnRleHQuZ2xlczEqID0gRkFJTAorCisvLyBUZXN0cyBmYWlsaW5nIHNpbmNl
IHRoZSBKYW4gMjAxOCByb2xsIG9mIGRFUVAKKzIzNDEgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnN3
YXBfYnVmZmVycy4qID0gU0tJUAorMjMzMCA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucm9idXN0bmVz
cy5jcmVhdGVfY29udGV4dC5ub19yZXNldF9ub3RpZmljYXRpb24gPSBTS0lQCisyMzMwIDogZEVR
UC1FR0wuZnVuY3Rpb25hbC5yb2J1c3RuZXNzLmNyZWF0ZV9jb250ZXh0Lmxvc2VfY29udGV4dF9v
bl9yZXNldCA9IFNLSVAKKzIzMzAgOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnJvYnVzdG5lc3MucmVz
ZXRfY29udGV4dC5maXhlZF9mdW5jdGlvbl9waXBlbGluZS5yZXNldF9zdGF0dXMuaW5kZXhfYnVm
ZmVyX291dF9vZl9ib3VuZHMgPSBTS0lQCisyMzMwIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5yb2J1
c3RuZXNzLnJlc2V0X2NvbnRleHQuZml4ZWRfZnVuY3Rpb25fcGlwZWxpbmUucmVzZXRfc3RhdHVz
LnZlcnRleF9idWZmZXJfb3V0X29mX2JvdW5kcyA9IFNLSVAKKworLy8gVGVzdHMgd2VyZSBiZWlu
ZyBoaWRkZW4gYnkgZmxha2luZXNzIChhbmdsZWJ1Zy5jb20vMzI3MSkKKzMzMjUgOiBkRVFQLUVH
TC5mdW5jdGlvbmFsLmZlbmNlX3N5bmMuKiA9IFNLSVAKKzMzMjUgOiBkRVFQLUVHTC5mdW5jdGlv
bmFsLnJldXNhYmxlX3N5bmMuKiA9IFNLSVAKKworLy8gTmV4dXMgNXgKKzI1NDYgTkVYVVM1WCA6
IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfY29udGV4dC5nZXRfY3VycmVudF9jb250ZXh0Liog
PSBTS0lQCisyNTQ2IE5FWFVTNVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRleHQu
Z2V0X2N1cnJlbnRfZGlzcGxheS4qID0gU0tJUAorMjU0NiBORVhVUzVYIDogZEVRUC1FR0wuZnVu
Y3Rpb25hbC5xdWVyeV9jb250ZXh0LmdldF9jdXJyZW50X3N1cmZhY2UuciogPSBGQUlMCisyNTQ2
IE5FWFVTNVggOiBkRVFQLUVHTC5mdW5jdGlvbmFsLnF1ZXJ5X2NvbnRleHQucXVlcnlfY29udGV4
dC4qID0gU0tJUAorCisvLyBTd0FOR0xFIGJvdHMKKzQ0OTUgV0lOIFNXSUZUU0hBREVSIDogZEVR
UC1FR0wuZnVuY3Rpb25hbC5zaGFyaW5nLmdsZXMyLm11bHRpdGhyZWFkLnJhbmRvbV9lZ2xfc2Vy
dmVyX3N5bmMuc2hhZGVycy5jb21waWxlLjkgPSBTS0lQCisKKy8vIEVHTCBpbWFnZXMgd2l0aCB0
aGUgR0wgYmFjay1lbmRzIGFyZSBub3Qgc3VwcG9ydGVkCis0NjA2IE9QRU5HTCA6IGRFUVAtRUdM
LmZ1bmN0aW9uYWwuaW1hZ2UuYXBpLmNyZWF0ZV9pbWFnZV9nbGVzMl8qID0gRkFJTAorNDYwNiBH
TEVTIDogZEVRUC1FR0wuZnVuY3Rpb25hbC5pbWFnZS5hcGkuY3JlYXRlX2ltYWdlX2dsZXMyXyog
PSBGQUlMCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVx
cF9zdXBwb3J0L2RlcXBfZ2xlczJfdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMyX3Rlc3RfZXhwZWN0
YXRpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDQ1ZWQ4MzY1MjZiNGI0YjU5YTZiZjMzZjBlM2NhOTRk
ZDBkMTczCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMyX3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMCww
ICsxLDM5MyBAQAorLy8gQ29weXJpZ2h0IDIwMTUgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8vIFRoaXMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgZGVmZWN0aXZl
IGRFUVAgY29uZm9ybWFuY2UgdGVzdHMuIFRoZSBleHBlY3RlZAorLy8gZm9ybWF0IGlzOgorLy8g
IHtCVUcjfSB7TU9ESUZJRVJTfSA6IHtURVNUX05BTUV9ID0ge1BBU1MsRkFJTCxGTEFLWSxUSU1F
T1VULFNLSVB9CisvLworLy8gTU9ESUZJRVJTIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBi
ZWxvdyBsaXN0LCBjb21iaW5lZCB3aXRoIGEgbG9naWNhbCBBTkQ6CisvLyAgV0lOIFhQIFZJU1RB
IFdJTjcgV0lOOCBXSU4xMAorLy8gIE1BQyBMRU9QQVJEIFNOT1dMRU9QQVJEIExJT04gTU9VTlRB
SU5MSU9OIE1BVkVSSUNLUyBZT1NFTUlURSBFTENBUElUQU4gU0lFUlJBIEhJR0hTSUVSUkEgTU9K
QVZFCisvLyAgTElOVVggQ0hST01FT1MgQU5EUk9JRAorLy8gIE5WSURJQSBBTUQgSU5URUwKKy8v
ICBERUJVRyBSRUxFQVNFCisvLyAgRDNEOSBEM0QxMSBPUEVOR0wgR0xFUyBWVUxLQU4KKy8vICBO
RVhVUzVYIFBJWEVMMk9SWEwKKy8vICBRVUFEUk9QNDAwCisvLworLy8KKy8vIFRFU1RfTkFNRSBj
YW4gYmUgYSBzcGVjaWZpYyB0ZXN0IG5hbWUsIG9yIGhhdmUgYSAnKicgaW4gdGhlIGVuZCwgd2hp
Y2gKKy8vIGluZGljYXRlcyBhIHByZWZpeCBtYXRjaGluZy4KKy8vCisvLyBFeGFtcGxlczoKKy8v
IGZhaWxzIG9uIGJvdGggd2luZG93cyBhbmQgbWFjIChjcmFzaCkKKy8vICA5MTUzMCBXSU4gOiBj
b250ZXh0X2xvc3RfcmVzdG9yZWQgPSBTS0lQCisvLyAgOTE1MzAgTUFDIDogY29udGV4dF9sb3N0
X3Jlc3RvcmVkID0gU0tJUAorLy8gZmFpbHMgb24gd2luZG93cyB1c2luZyBOVklESUEgR1BVcwor
Ly8gIDkxNTMzIFdJTiBOVklESUEgOiBnbF9taW5fdW5pZm9ybXMgPSBGQUlMCisvLyBmYWlscyBv
biBOZXh1czVYIHdpdGggR0xFUyBiYWNrZW5kIChoYW5ncykKKy8vICA5MTUzMSBORVhVUzVYIEdM
RVMgOiBjb25mb3JtYW5jZV9tb3JlXyogPSBTS0lQCisKKy8vIEdsb2JhbGx5IGRpc2FibGUgTWV0
YWwgdGVzdGluZyBmb3Igbm93Cis0MjM1IE1FVEFMIDogZEVRUC1HTEVTMi4qID0gU0tJUAorCisv
LyBTa2lwIHRoZXNlIHRlc3RzIGR1ZSB0byB0aW1lb3V0cworMTAzNCA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5mbHVzaF9maW5pc2guKiA9IFNLSVAKKworLy8gRmFpbHVyZXMgcmVsYXRlZCB0byBu
b3Qgc3VwcG9ydGluZyBzZXBhcmF0ZSBkZXB0aC9zdGVuY2lsIG1hc2tzIG9uIEQzRDExLgorMTY1
NSBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuZGVwdGhfc3RlbmNp
bC5zdGVuY2lsX2RlcHRoX2Z1bmNzLnN0ZW5jaWxfKiA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmRlcHRoX3N0ZW5jaWwuc3RlbmNpbF9vcHMu
KiA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3Bz
LmRlcHRoX3N0ZW5jaWwud3JpdGVfbWFzay4qID0gRkFJTAorMTY1NSBEM0QxMSA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1
bmMuYWRkX2NvbnN0YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTY1NSBEM0QxMSA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1
bmNfZHN0X2Z1bmMuYWRkX2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9
IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJs
ZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9vbmVfbWludXNfY29uc3RhbnRfY29s
b3JfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfb25l
X21pbnVzX2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzE2
NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0
aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9jb25zdGFudF9hbHBoYV9jb25zdGFudF9jb2xvciA9
IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJs
ZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9jb25zdGFudF9hbHBoYV9vbmVfbWlu
dXNfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfb25l
X21pbnVzX2NvbnN0YW50X2FscGhhX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTY1NSBEM0QxMSA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1
bmNfZHN0X2Z1bmMuYWRkX29uZV9taW51c19jb25zdGFudF9hbHBoYV9vbmVfbWludXNfY29uc3Rh
bnRfY29sb3IgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5zdWJ0cmFjdF9jb25zdGFu
dF9jb2xvcl9jb25zdGFudF9hbHBoYSA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1
YnRyYWN0X2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzE2
NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0
aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9jb2xvcl9j
b25zdGFudF9hbHBoYSA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwu
ZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X29u
ZV9taW51c19jb25zdGFudF9jb2xvcl9vbmVfbWludXNfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisx
NjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVh
dGlvbl9zcmNfZnVuY19kc3RfZnVuYy5zdWJ0cmFjdF9jb25zdGFudF9hbHBoYV9jb25zdGFudF9j
b2xvciA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2NvbnN0YW50X2Fs
cGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9m
dW5jLnN1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9hbHBoYV9jb25zdGFudF9jb2xvciA9IEZB
SUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5k
LmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9h
bHBoYV9vbmVfbWludXNfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3Rf
ZnVuYy5yZXZlcnNlX3N1YnRyYWN0X2NvbnN0YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJ
TAorMTY1NSBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQu
ZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9jb25zdGFudF9jb2xv
cl9vbmVfbWludXNfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVu
Yy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9jb2xvcl9jb25zdGFudF9hbHBo
YSA9IEZBSUwKKzE2NTUgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3Bz
LmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3Rfb25lX21p
bnVzX2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzE2NTUg
RDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9u
X3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3RfY29uc3RhbnRfYWxwaGFfY29uc3Rh
bnRfY29sb3IgPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0
X2NvbnN0YW50X2FscGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZBSUwKKzE2NTUgRDNE
MTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3Ny
Y19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0YW50X2FscGhh
X2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTY1NSBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9z
dWJ0cmFjdF9vbmVfbWludXNfY29uc3RhbnRfYWxwaGFfb25lX21pbnVzX2NvbnN0YW50X2NvbG9y
ID0gRkFJTAorMTY1NSBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMu
cmFuZG9tLiogPSBGQUlMCisxNjU1IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuKiA9IEZBSUwKKworLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KKy8vCisvLyAgVGVtcG9yYXJ5IGVudHJpZXM6IHRoZXkgc2hvdWxkIGJlIHJl
bW92ZWQgb25jZSB0aGUgYnVncyBhcmUgZml4ZWQuCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KKworLy8gVmVydGV4IGF0dHJpYnV0ZSBhbGlhc2luZyBpcyBub3Qgc3VwcG9ydGVkIG9uIEQz
RAorMzQ2NyBEM0Q5IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmF0dHJpYnV0ZV9sb2NhdGlvbi5i
aW5kX2FsaWFzaW5nLmNvbmQqID0gRkFJTAorMzQ2NyBEM0Q5IDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmF0dHJpYnV0ZV9sb2NhdGlvbi5iaW5kX2FsaWFzaW5nLm1heF9jb25kKiA9IEZBSUwKKzM0
NjcgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0aW9uLmJpbmRf
YWxpYXNpbmcuY29uZCogPSBGQUlMCiszNDY3IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LmF0dHJpYnV0ZV9sb2NhdGlvbi5iaW5kX2FsaWFzaW5nLm1heF9jb25kKiA9IEZBSUwKKworLy8g
U2hhZGVyIGZhaWx1cmVzLgorMzQzNCBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuc2hhZGVycy5wcmVwcm9jZXNzb3IucHJhZ21hcy5wcmFnbWFfKiA9IEZBSUwKKworLy8gVGhl
IGZyYWdtZW50X29wcy5kZXB0aF9zdGVuY2lsLnJhbmRvbSB0ZXN0cyBhbGwgc2VlbSB0byBmYWls
IG9uIEQzRDExLgorMzI4MiBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9v
cHMuZGVwdGhfc3RlbmNpbC5yYW5kb20uKiA9IEZBSUwKKworLy8gRmFpbHVyZXMgcmVsYXRlZCB0
byB0aGUgZGVwdGhfcmFuZ2Ugb24gV2luZG93cyAvIE5WSURJQSBhbmQgQVRJLgorMjQyNiBEM0Qx
MSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5kZXB0aF9yYW5nZS53cml0ZS5yZXZlcnNlID0gRkFJ
TAorMjQyNiBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5kZXB0aF9yYW5nZS53cml0ZS5o
YWxmX3RvX3plcm8gPSBGQUlMCisyNDI2IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmRl
cHRoX3JhbmdlLndyaXRlLm9uZV90b19oYWxmID0gRkFJTAorMjQyNiBEM0QxMSA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5kZXB0aF9yYW5nZS53cml0ZS4wXzhfdG9fdGhpcmQgPSBGQUlMCisyNDI2
IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmRlcHRoX3JhbmdlLmNvbXBhcmUucmV2ZXJz
ZSA9IEZBSUwKKzI0MjYgRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZGVwdGhfcmFuZ2Uu
Y29tcGFyZS5oYWxmX3RvX3plcm8gPSBGQUlMCisyNDI2IEQzRDExIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLmRlcHRoX3JhbmdlLmNvbXBhcmUub25lX3RvX2hhbGYgPSBGQUlMCisyNDI2IEQzRDEx
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmRlcHRoX3JhbmdlLmNvbXBhcmUuMF84X3RvX3RoaXJk
ID0gRkFJTAorCisvLyBXaW5kb3dzIEQzRDExIEludGVsIGFuZCBOVklESUEuIFN1cHByZXNzZWQg
b24gYWxsIGNhcmRzIGZvciBzaW1wbGljaXR5LgorMzI5MiBEM0QxMSA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5wb2x5Z29uX29mZnNldC5kZWZhdWx0X3JlbmRlcl93aXRoX3VuaXRzID0gRkFJTAor
MzI5MiBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5maXhlZDE2
X3JlbmRlcl93aXRoX3VuaXRzID0gRkFJTAorCisvLyBDb21tb24gc3ViZXhwcmVzc2lvbiBpbnZh
cmlhbmNlCiszMjkzIEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJp
YW5jZS5oaWdocC5jb21tb25fc3ViZXhwcmVzc2lvbl8xID0gRkFJTAorMzI5MyBEM0QxMSA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFyaWFuY2UubG93cC5jb21tb25fc3ViZXhw
cmVzc2lvbl8xID0gRkFJTAorMzI5MyBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFk
ZXJzLmludmFyaWFuY2UubWVkaXVtcC5jb21tb25fc3ViZXhwcmVzc2lvbl8xID0gRkFJTAorCisv
LyBGYWlscyB3aXRoIHNpZ25pZmljYW50IGltYWdlIGRpZmZlcmVuY2VzCiszMjk1IEQzRDExIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudmVydGV4LnRl
eHR1cmVjdWJlbG9kID0gRkFJTAorCisvLyBPbmx5IGZhaWxzIGluIEQzRDExIDMyLWJpdC4KKzE0
MTggRDNEMTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY2xpcHBpbmcudHJpYW5nbGVfdmVydGV4
LmNsaXBfdGhyZWUuY2xpcF9wb3NfeF9wb3NfeV9wb3Nfel9hbmRfbmVnX3hfcG9zX3lfcG9zX3pf
YW5kX25lZ194X25lZ195X25lZ196ID0gRkFJTAorCisvLyBEM0QxMSBBTUQKKzIzNDIgRDNEMTEg
QU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuc2l6ZS5jdWJlLjY0eDY0X2w4ID0g
RkFJTAorMjM0MiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5zaXpl
LmN1YmUuNjR4NjRfcmdiODg4ID0gRkFJTAorMjM0MiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwudGV4dHVyZS5zaXplLmN1YmUuNjR4NjRfcmdiYTg4ODggPSBGQUlMCisKKy8vIEFk
ZGl0aW9uYWwgdGV4dHVyZS52ZXJ0ZXguY3ViZSBmYWlsdXJlcyBvbiBBTUQKKzMyOTkgRDNEMTEg
QU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUuZmlsdGVyaW5n
LmxpbmVhcl9taXBtYXBfbGluZWFyX25lYXJlc3RfcmVwZWF0ID0gRkFJTAorMzI5OSBEM0QxMSBB
TUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcu
bGluZWFyX21pcG1hcF9saW5lYXJfbGluZWFyX3JlcGVhdCA9IEZBSUwKKzMyOTkgRDNEMTEgQU1E
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUuZmlsdGVyaW5nLm5l
YXJlc3RfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X2NsYW1wID0gRkFJTAorMzI5OSBEM0QxMSBBTUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubmVh
cmVzdF9taXBtYXBfbGluZWFyX25lYXJlc3RfcmVwZWF0ID0gRkFJTAorMzI5OSBEM0QxMSBBTUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubmVh
cmVzdF9taXBtYXBfbGluZWFyX25lYXJlc3RfbWlycm9yID0gRkFJTAorMzI5OSBEM0QxMSBBTUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubmVh
cmVzdF9taXBtYXBfbGluZWFyX2xpbmVhcl9jbGFtcCA9IEZBSUwKKzMyOTkgRDNEMTEgQU1EIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUuZmlsdGVyaW5nLm5lYXJl
c3RfbWlwbWFwX2xpbmVhcl9saW5lYXJfcmVwZWF0ID0gRkFJTAorMzI5OSBEM0QxMSBBTUQgOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubmVhcmVz
dF9taXBtYXBfbGluZWFyX2xpbmVhcl9taXJyb3IgPSBGQUlMCiszMjk5IEQzRDExIEFNRCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAucmVwZWF0X2NsYW1w
ID0gRkFJTAorMzI5OSBEM0QxMSBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52
ZXJ0ZXguY3ViZS53cmFwLnJlcGVhdF9yZXBlYXQgPSBGQUlMCiszMjk5IEQzRDExIEFNRCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAucmVwZWF0X21pcnJv
ciA9IEZBSUwKKworLy8gUXVhZHJvIFA0MDAKKy8vIFRPRE8oam1hZGlsbCk6IE5hcnJvdyB0byBQ
NDAwIGRldmljZSBvbmx5OiAweDFDQjMuCisyMjIyIEQzRDExIE5WSURJQSA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5zaGFkZXJzLmZ1bmN0aW9ucy5jb250cm9sX2Zsb3cucmV0dXJuX2luX25lc3Rl
ZF9sb29wX2ZyYWdtZW50ID0gRkFJTAorMjIyMiBEM0QxMSBOVklESUEgOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuc2hhZGVycy5mdW5jdGlvbnMuY29udHJvbF9mbG93LnJldHVybl9pbl9uZXN0ZWRf
bG9vcF92ZXJ0ZXggPSBGQUlMCisKKy8vIEFNRCBHUFUgdmVydGV4IHNoYWRlciB0ZXh0dXJlIHNh
bXBsaW5nIGlzIG5vdCBwcmVjaXNlIGVub3VnaCB3aGVuIHJlbmRlcmluZyB0byAzMi1iaXQgYmFj
a2J1ZmZlcnMKKzIzMzcgRDNEMTEgQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUu
dmVydGV4LjJkLndyYXAuKiA9IEZBSUwKKzIzMzcgRDNEMTEgQU1EIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLnRleHR1cmUudmVydGV4LjJkLmZpbHRlcmluZy5saW5lYXJfbWlwbWFwX2xpbmVhcl8q
ID0gRkFJTAorMjMzNyBEM0QxMSBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52
ZXJ0ZXguMmQuZmlsdGVyaW5nLm5lYXJlc3RfbWlwbWFwX2xpbmVhcl8qID0gRkFJTAorCisvLyBT
ZXZlcmFsIG1pcG1hcCBzdWIgdGVzdHMgZmFpbCBvbiBBTUQuIE1hcmsgdGhlbSBhbGwgYXMgZmFp
bGluZyBjb25zZXJ2YXRpdmVseS4KKzMyOTYgRDNEMTEgQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnRleHR1cmUubWlwbWFwLiogPSBGQUlMCisKKy8vIEZhaWx1cmVzIG9uIHRoZSBEM0QxMSBi
b3RzIHRoYXQgZG8gbm90IHJlcHJvZHVjZSBsb2NhbGx5CisvLyBUT0RPKGptYWRpbGwpOiBGaWd1
cmUgb3V0IHdoeSB0aGVzZSBmYWlsIG9uIHRoZSBib3RzLCBidXQgbm90IGxvY2FsbHkuCisxMTA4
IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3RydWN0LmxvY2FsLmR5bmFt
aWNfbG9vcF9zdHJ1Y3RfYXJyYXlfZnJhZ21lbnQgPSBGQUlMCisxMTA4IEQzRDExIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5jZS5oaWdocC5sb29wXzIgPSBGQUlMCisx
MTA4IEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5jZS5tZWRp
dW1wLmxvb3BfMiA9IEZBSUwKKworLy8gT3BlbkdMIGRlc2t0b3AgYmFjay1lbmQgZmFpbHVyZXMK
KzE2NTYgT1BFTkdMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5jb21wbGV0ZW5lc3MucmVu
ZGVyYWJsZS50ZXh0dXJlLmNvbG9yMC5zcmdiOF9hbHBoYTggPSBGQUlMCisxNjU2IE9QRU5HTCA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVy
ZS5zdGVuY2lsLnNyZ2I4X2FscGhhOCA9IEZBSUwKKzE2NTYgT1BFTkdMIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLmZiby5jb21wbGV0ZW5lc3MucmVuZGVyYWJsZS50ZXh0dXJlLmRlcHRoLnNyZ2I4
X2FscGhhOCA9IEZBSUwKKzMyOTEgT1BFTkdMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1
cmUubWlwbWFwLmN1YmUucHJvamVjdGVkLmxpbmVhcl9saW5lYXIgPSBGQUlMCisKKy8vIExpbnV4
IE9wZW5HTCBJbnRlbAorMzMwMiBPUEVOR0wgSU5URUwgTElOVVggOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwucmFzdGVyaXphdGlvbi5pbnRlcnBvbGF0aW9uLmJhc2ljLmxpbmVzX3dpZGUgPSBGQUlM
CiszMzAyIE9QRU5HTCBJTlRFTCBMSU5VWCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5yYXN0ZXJp
emF0aW9uLmludGVycG9sYXRpb24uYmFzaWMubGluZV9zdHJpcF93aWRlID0gRkFJTAorMzMwMiBP
UEVOR0wgSU5URUwgTElOVVggOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5p
bnRlcnBvbGF0aW9uLmJhc2ljLmxpbmVfbG9vcF93aWRlID0gRkFJTAorMzMwMiBPUEVOR0wgSU5U
RUwgTElOVVggOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5pbnRlcnBvbGF0
aW9uLnByb2plY3RlZC5saW5lc193aWRlID0gRkFJTAorMzMwMiBPUEVOR0wgSU5URUwgTElOVVgg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5pbnRlcnBvbGF0aW9uLnByb2pl
Y3RlZC5saW5lX3N0cmlwX3dpZGUgPSBGQUlMCiszMzAyIE9QRU5HTCBJTlRFTCBMSU5VWCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5yYXN0ZXJpemF0aW9uLmludGVycG9sYXRpb24ucHJvamVjdGVk
LmxpbmVfbG9vcF93aWRlID0gRkFJTAorMzMwMiBPUEVOR0wgSU5URUwgTElOVVggOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy52ZXJ0ZXgudGV4dHVyZWN1
YmVsb2QgPSBGQUlMCiszMzAyIE9QRU5HTCBJTlRFTCBMSU5VWCA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRlcmluZy5saW5lYXJfbWlwbWFwX2xpbmVhcl9s
aW5lYXJfcmVwZWF0ID0gRkFJTAorMzMwMiBPUEVOR0wgSU5URUwgTElOVVggOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubGluZWFyX21pcG1hcF9s
aW5lYXJfbmVhcmVzdF9yZXBlYXQgPSBGQUlMCiszMzAyIE9QRU5HTCBJTlRFTCBMSU5VWCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAucmVwZWF0X3JlcGVh
dCA9IEZBSUwKKworLy8gTGludXggT3BlbkdMIE5WSURJQQorMzMwMyBPUEVOR0wgTlZJRElBIExJ
TlVYIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLmN1YmUucHJvamVjdGVk
Lm5lYXJlc3RfbGluZWFyID0gRkFJTAorCisvLyBNYWMgT3BlbkdMIHNwZWNpZmljIGZhaWx1cmVz
CiszNDY2IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0
aW9uLmJpbmRfYWxpYXNpbmcuY29uZCogPSBTS0lQCiszNDY2IE1BQyBPUEVOR0wgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0aW9uLmJpbmRfYWxpYXNpbmcubWF4X2NvbmQq
ID0gU0tJUAorMzQzMyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
cHJlcHJvY2Vzc29yLnByYWdtYXMucHJhZ21hX3ZlcnRleCA9IEZBSUwKKzExNDMgTUFDIE9QRU5H
TCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnNjb3BpbmcudmFsaWQubG9jYWxfaW50
X3ZhcmlhYmxlX2hpZGVzX3N0cnVjdF90eXBlXyogPSBGQUlMCisxMTQzIE1BQyBPUEVOR0wgOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5zY29waW5nLnZhbGlkLmxvY2FsX3N0cnVjdF92
YXJpYWJsZV9oaWRlc19zdHJ1Y3RfdHlwZV8qID0gRkFJTAorMTE0MyBNQUMgT1BFTkdMIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc2NvcGluZy52YWxpZC5mdW5jdGlvbl9wYXJhbWV0
ZXJfaGlkZXNfc3RydWN0X3R5cGVfKiA9IEZBSUwKKzExNDMgTUFDIE9QRU5HTCA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5zaGFkZXJzLnJhbmRvbS50cmlnb25vbWV0cmljLnZlcnRleC42NSA9IEZB
SUwKKzI2MzEgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJh
dG9yLnNlcXVlbmNlLnNpZGVfZWZmZWN0cy5hZmZlY3RfKiA9IEZBSUwKKzMzMTcgTUFDIE9QRU5H
TCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmxpbmthZ2UudmFyeWluZ180ID0gRkFJ
TAorCisvLyBNQUMgT1BFTkdMIElOVEVMIHNwZWNpZmljCisyMTM3IE1BQyBPUEVOR0wgSU5URUwg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIuY29tcGxleF9yZ2IgPSBGQUlMCisy
MTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIu
Y29tcGxleF9yZ2JhID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLmNvbG9yX2NsZWFyLmxvbmdfbWFza2VkX3JnYiA9IEZBSUwKKzIxMzcgTUFDIE9Q
RU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5jb2xvcl9jbGVhci5sb25nX21hc2tl
ZF9yZ2JhID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmNvbG9yX2NsZWFyLm1hc2tlZF9yZ2IgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIubWFza2VkX3JnYmEgPSBGQUlMCisy
MTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIu
bWFza2VkX3NjaXNzb3JlZF9yZ2IgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIubWFza2VkX3NjaXNzb3JlZF9yZ2JhID0gRkFJ
TAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNvbG9yX2Ns
ZWFyLnNjaXNzb3JlZF9yZ2IgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIuc2Npc3NvcmVkX3JnYmEgPSBGQUlMCisyMTM3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIuc2hvcnRf
c2Npc3NvcmVkX3JnYiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNfY29weXRleGltYWdlMmQuY3Vi
ZV9hbHBoYSA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNfY29weXRleGltYWdlMmQuY3ViZV9sdW1p
bmFuY2UgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLmJhc2ljX2NvcHl0ZXhpbWFnZTJkLmN1YmVfbHVtaW5h
bmNlX2FscGhhID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi5iYXNpY19jb3B5dGV4aW1hZ2UyZC5jdWJlX3Jn
YiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50
ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNfY29weXRleGltYWdlMmQuY3ViZV9yZ2JhID0gRkFJ
TAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
ZGlzY2FyZC5keW5hbWljX2xvb3BfbmV2ZXIgPSBTS0lQCisyMTM3IE1BQyBPUEVOR0wgSU5URUwg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5kaXNjYXJkLmZ1bmN0aW9uX3N0YXRpY19s
b29wX25ldmVyID0gU0tJUAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLnNoYWRlcnMuZGlzY2FyZC5zdGF0aWNfbG9vcF9uZXZlciA9IFNLSVAKKworMzMxNyBN
QUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnBvbHlnb25fb2Zmc2V0LmRl
ZmF1bHRfcmVuZGVyX3dpdGhfdW5pdHMgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwucG9seWdvbl9vZmZzZXQuZml4ZWQxNl9yZW5kZXJfd2l0aF91
bml0cyA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5zaGFkZXJzLmludmFyaWFuY2UuaGlnaHAuY29tbW9uX3N1YmV4cHJlc3Npb25fMSA9IEZBSUwK
KzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmlu
dmFyaWFuY2UuaGlnaHAuY29tbW9uX3N1YmV4cHJlc3Npb25fMyA9IEZBSUwKKzMzMTcgTUFDIE9Q
RU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFyaWFuY2UubWVk
aXVtcC5jb21tb25fc3ViZXhwcmVzc2lvbl8xID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVM
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5jZS5tZWRpdW1wLmNvbW1v
bl9zdWJleHByZXNzaW9uXzMgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLmxvd3AuY29tbW9uX3N1YmV4cHJlc3Np
b25fMSA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5zaGFkZXJzLmludmFyaWFuY2UubG93cC5jb21tb25fc3ViZXhwcmVzc2lvbl8zID0gRkFJTAor
MzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmls
dGVyaW5nLjJkLmxpbmVhcl9uZWFyZXN0X2NsYW1wX3JnYmE4ODg4X3BvdCA9IEZBSUwKKzMzMTcg
TUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmlu
Zy4yZC5saW5lYXJfbmVhcmVzdF9jbGFtcF9yZ2I4ODhfcG90ID0gRkFJTAorMzMxNyBNQUMgT1BF
TkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLjJkLmxp
bmVhcl9uZWFyZXN0X2NsYW1wX3JnYmE0NDQ0X3BvdCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJ
TlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmluZy4yZC5saW5lYXJf
bmVhcmVzdF9jbGFtcF9sOF9wb3QgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJpbmcuMmQubGluZWFyX25lYXJlc3RfcmVw
ZWF0X3JnYmE4ODg4X3BvdCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmluZy4yZC5saW5lYXJfbmVhcmVzdF9yZXBlYXRf
cmdiODg4X3BvdCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC50ZXh0dXJlLmZpbHRlcmluZy4yZC5saW5lYXJfbmVhcmVzdF9yZXBlYXRfcmdiYTQ0
NDRfcG90ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnRleHR1cmUuZmlsdGVyaW5nLjJkLmxpbmVhcl9uZWFyZXN0X3JlcGVhdF9sOF9wb3QgPSBG
QUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVy
ZS5maWx0ZXJpbmcuMmQubGluZWFyX25lYXJlc3RfbWlycm9yX3JnYmE4ODg4X3BvdCA9IEZBSUwK
KzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZp
bHRlcmluZy4yZC5saW5lYXJfbmVhcmVzdF9taXJyb3JfcmdiODg4X3BvdCA9IEZBSUwKKzMzMTcg
TUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmlu
Zy4yZC5saW5lYXJfbmVhcmVzdF9taXJyb3JfcmdiYTQ0NDRfcG90ID0gRkFJTAorMzMxNyBNQUMg
T1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLjJk
LmxpbmVhcl9uZWFyZXN0X21pcnJvcl9sOF9wb3QgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5U
RUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJpbmcuY3ViZS5saW5lYXJf
bmVhcmVzdF9jbGFtcF9yZ2JhODg4OF9wb3QgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJpbmcuY3ViZS5saW5lYXJfbmVh
cmVzdF9jbGFtcF9yZ2I4ODhfcG90ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUubGluZWFyX25lYXJlc3Rf
Y2xhbXBfcmdiYTQ0NDRfcG90ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUubGluZWFyX25lYXJlc3RfY2xh
bXBfbDhfcG90ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUubGluZWFyX25lYXJlc3RfcmVwZWF0X3JnYmE4
ODg4X3BvdCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC50ZXh0dXJlLmZpbHRlcmluZy5jdWJlLmxpbmVhcl9uZWFyZXN0X3JlcGVhdF9yZ2I4ODhf
cG90ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LnRleHR1cmUuZmlsdGVyaW5nLmN1YmUubGluZWFyX25lYXJlc3RfcmVwZWF0X3JnYmE0NDQ0X3Bv
dCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50
ZXh0dXJlLmZpbHRlcmluZy5jdWJlLmxpbmVhcl9uZWFyZXN0X3JlcGVhdF9sOF9wb3QgPSBGQUlM
CiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5m
aWx0ZXJpbmcuY3ViZS5saW5lYXJfbmVhcmVzdF9taXJyb3JfcmdiYTg4ODhfcG90ID0gRkFJTAor
MzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmls
dGVyaW5nLmN1YmUubGluZWFyX25lYXJlc3RfbWlycm9yX3JnYjg4OF9wb3QgPSBGQUlMCiszMzE3
IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJp
bmcuY3ViZS5saW5lYXJfbmVhcmVzdF9taXJyb3JfcmdiYTQ0NDRfcG90ID0gRkFJTAorMzMxNyBN
QUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5n
LmN1YmUubGluZWFyX25lYXJlc3RfbWlycm9yX2w4X3BvdCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5H
TCBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC4yZC5maWx0ZXJp
bmcubGluZWFyX25lYXJlc3RfKiA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRlcmluZy5saW5lYXJfbmVh
cmVzdF8qID0gRkFJTAorCiszNTMxIE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5jb2xvcl9jbGVhci50ZXgyZF9yZ2IgPSBGQUlMCiszNTMxIE1BQyBP
UEVOR0wgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvcl9jbGVh
ci50ZXgyZF9yZ2JfZGVwdGhfY29tcG9uZW50MTYgPSBGQUlMCiszNTMxIE1BQyBPUEVOR0wgSU5U
RUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvcl9jbGVhci50ZXgyZF9y
Z2Jfc3RlbmNpbF9pbmRleDggPSBGQUlMCiszNTMxIE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5zdGVuY2lsX2NsZWFyLnRleDJkX3JnYl9zdGVuY2ls
X2luZGV4OCA9IEZBSUwKKworLy8gTWFjIEFNRCBPcGVuR0wgc3BlY2lmaWMKKzIxMzcgTUFDIE9Q
RU5HTCBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuY2xpcHBpbmcucG9pbnQud2lkZV9wb2lu
dF9jbGlwID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5jbGlwcGluZy5wb2ludC53aWRlX3BvaW50X2NsaXBfdmlld3BvcnRfY2VudGVyID0gRkFJTAor
MzMxNyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5jbGlwcGluZy5wb2lu
dC53aWRlX3BvaW50X2NsaXBfdmlld3BvcnRfY29ybmVyID0gRkFJTAorCisvLyBBbmRyb2lkIEdM
RVMgYmFja2VuZCBvbmx5IGZhaWx1cmVzCisxNDg4IEdMRVMgQU5EUk9JRCA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5zaGFkZXJzLnJldHVybi5jb25kaXRpb25hbF9yZXR1cm5fYWx3YXlzX3ZlcnRl
eCA9IEZBSUwKKzE0ODggR0xFUyBBTkRST0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMucmV0dXJuLmNvbmRpdGlvbmFsX3JldHVybl9hbHdheXNfZnJhZ21lbnQgPSBGQUlMCisxNDg4
IEdMRVMgQU5EUk9JRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnJldHVybi5vdXRw
dXRfd3JpdGVfYWx3YXlzX3ZlcnRleCA9IEZBSUwKKzE0ODggR0xFUyBBTkRST0lEIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMucmV0dXJuLm91dHB1dF93cml0ZV9hbHdheXNfZnJhZ21l
bnQgPSBGQUlMCisyNjMxIEdMRVMgQU5EUk9JRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFk
ZXJzLm9wZXJhdG9yLnNlcXVlbmNlLnNpZGVfZWZmZWN0cy5hZmZlY3RfKiA9IEZBSUwKKzI2MzAg
R0xFUyBBTkRST0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3RydWN0LnVuaWZv
cm0uc2FtcGxlcl9pbl9hcnJheV9mdW5jdGlvbl9hcmdfKiA9IEZBSUwKKzI2MzAgR0xFUyBBTkRS
T0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3RydWN0LnVuaWZvcm0uc2FtcGxl
cl9pbl9mdW5jdGlvbl9hcmdfKiA9IEZBSUwKKworLy8gTmV4dXMgNXggZmFpbHVyZXMKKzMzMDkg
TkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmF0dHJpYnV0ZV9sb2NhdGlvbi5i
aW5kX2FsaWFzaW5nLmNvbmQqID0gRkFJTAorMzMwOSBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0aW9uLmJpbmRfYWxpYXNpbmcubWF4X2NvbmQqID0g
RkFJTAorMzcxNiBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLmNvbXBs
ZXRlbmVzcy5yZW5kZXJhYmxlLnRleHR1cmUuZGVwdGguZGVwdGhfY29tcG9uZW50X3Vuc2lnbmVk
X2ludCA9IEZBSUwKKzM3MTYgTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZi
by5jb21wbGV0ZW5lc3MucmVuZGVyYWJsZS50ZXh0dXJlLmRlcHRoLmRlcHRoX2NvbXBvbmVudF91
bnNpZ25lZF9zaG9ydCA9IEZBSUwKKzM3MTYgTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLmZiby5jb21wbGV0ZW5lc3MucmVuZGVyYWJsZS50ZXh0dXJlLmRlcHRoLmRlcHRoX3N0
ZW5jaWxfdW5zaWduZWRfaW50XzI0XzggPSBGQUlMCiszNzE2IE5FWFVTNVggR0xFUyA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVyZS5zdGVu
Y2lsLmRlcHRoX3N0ZW5jaWxfdW5zaWduZWRfaW50XzI0XzggPSBGQUlMCiszMzA5IE5FWFVTNVgg
R0xFUyA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnRleHN1YmltYWdlLmFmdGVy
X3JlbmRlcl90ZXgyZF9yZ2IgPSBGQUlMCiszMzA5IE5FWFVTNVggR0xFUyA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5kZWZhdWx0X3Jlc3VsdF9kZXB0aF9jbGFtcCA9IEZB
SUwKKzM3MTUgTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuYnVp
bHRpbl92YXJpYWJsZS5tYXhfZHJhd19idWZmZXJzX3ZlcnRleCA9IEZBSUwKKzM3MTUgTkVYVVM1
WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl92YXJpYWJsZS5t
YXhfZHJhd19idWZmZXJzX2ZyYWdtZW50ID0gRkFJTAorMzMwOSBORVhVUzVYIEdMRVMgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5yZXR1cm4ub3V0cHV0X3dyaXRlX2luX2Z1bmNfYWx3
YXlzX3ZlcnRleCA9IEZBSUwKKzMzMDkgTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnNoYWRlcnMucmV0dXJuLm91dHB1dF93cml0ZV9pbl9mdW5jX2Fsd2F5c19mcmFnbWVudCA9
IEZBSUwKKzMzMDkgTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
dGV4dHVyZV9mdW5jdGlvbnMudmVydGV4LnRleHR1cmVjdWJlbG9kID0gRkFJTAorMzMwOSBORVhV
UzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS4qID0g
RkFJTAorMzMwOSBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52
ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubGluZWFyX21pcG1hcF9saW5lYXJfKiA9IEZBSUwKKzMzMDkg
TkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUu
d3JhcC5jbGFtcF8qID0gRkFJTAorMzMwOSBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS53cmFwLm1pcnJvcl8qID0gRkFJTAorMzMwOSBORVhV
UzVYIEdMRVMgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudW5pZm9ybV9hcGkucmFuZG9tLjMgPSBG
QUlMCiszMzA5IE5FWFVTNVggR0xFUyA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2Fw
aS5yYW5kb20uNTQgPSBGQUlMCisKKy8vIEQzRDExIEFNRCBhbHJlYWR5IGNvdmVyZWQgYnkgTGlu
ZSAxNDgKKzMyNDMgRDNEMTEgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5t
aXBtYXAuY3ViZS5iYXNpYy5saW5lYXJfbmVhcmVzdCA9IEZBSUwKKzMyNDMgRDNEMTEgSU5URUwg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS5iYXNpYy5saW5lYXJf
bGluZWFyID0gRkFJTAorMzI0MyBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50
ZXh0dXJlLm1pcG1hcC5jdWJlLnByb2plY3RlZC5saW5lYXJfbmVhcmVzdCA9IEZBSUwKKzMyNDMg
RDNEMTEgSU5URUwgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS5w
cm9qZWN0ZWQubGluZWFyX2xpbmVhciA9IEZBSUwKKzMyNDMgRDNEMTEgSU5URUwgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS5iaWFzLmxpbmVhcl9uZWFyZXN0ID0g
RkFJTAorMzI0MyBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1p
cG1hcC5jdWJlLmJpYXMubGluZWFyX2xpbmVhciA9IEZBSUwKKzMyNDMgRDNEMTEgTlZJRElBIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLmN1YmUuYmFzaWMubGluZWFyX25l
YXJlc3QgPSBGQUlMCiszMjQzIEQzRDExIE5WSURJQSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50
ZXh0dXJlLm1pcG1hcC5jdWJlLmJhc2ljLmxpbmVhcl9saW5lYXIgPSBGQUlMCiszMjQzIEQzRDEx
IE5WSURJQSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLnByb2pl
Y3RlZC5saW5lYXJfbmVhcmVzdCA9IEZBSUwKKzMyNDMgRDNEMTEgTlZJRElBIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLmN1YmUucHJvamVjdGVkLmxpbmVhcl9saW5lYXIg
PSBGQUlMCiszMjQzIEQzRDExIE5WSURJQSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJl
Lm1pcG1hcC5jdWJlLmJpYXMubGluZWFyX25lYXJlc3QgPSBGQUlMCiszMjQzIEQzRDExIE5WSURJ
QSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLmJpYXMubGluZWFy
X2xpbmVhciA9IEZBSUwKKworLy8gRmFpbCB3aXRoIHZlcnkgdGlueSBwaXhlbCBkaWZmZXJlbmNl
cworMzI0MCBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJl
LmZpbHRlcmluZy5saW5lYXJfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X2NsYW1wID0gRkFJTAorMzI0
MCBEM0QxMSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRl
cmluZy5saW5lYXJfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X21pcnJvciA9IEZBSUwKKzMyNDAgRDNE
MTEgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcu
bGluZWFyX21pcG1hcF9saW5lYXJfbGluZWFyX2NsYW1wID0gRkFJTAorMzI0MCBEM0QxMSA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRlcmluZy5saW5lYXJf
bWlwbWFwX2xpbmVhcl9saW5lYXJfbWlycm9yID0gRkFJTAorMzI0MCBEM0QxMSA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAuY2xhbXBfY2xhbXAgPSBGQUlM
CiszMjQwIEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUu
d3JhcC5jbGFtcF9yZXBlYXQgPSBGQUlMCiszMjQwIEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnRleHR1cmUudmVydGV4LmN1YmUud3JhcC5jbGFtcF9taXJyb3IgPSBGQUlMCiszMjQwIEQz
RDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUud3JhcC5taXJy
b3JfY2xhbXAgPSBGQUlMCiszMjQwIEQzRDExIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1
cmUudmVydGV4LmN1YmUud3JhcC5taXJyb3JfcmVwZWF0ID0gRkFJTAorMzI0MCBEM0QxMSA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAubWlycm9yX21pcnJv
ciA9IEZBSUwKKworLy8gQW5kcm9pZCBWdWxrYW4gYmFja2VuZCBvbmx5IGZhaWx1cmVzCisyNTQ5
IFZVTEtBTiBBTkRST0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5kZXB0
aF9zdGVuY2lsLnN0ZW5jaWwqID0gU0tJUAorNDEwOSBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLnByb2plY3RlZC5uZWFyZXN0X2xpbmVh
ciA9IEZBSUwKKworLy8gQWRyZW5vIGxpbmUgcmFzdGVyaXphdGlvbiBpcyBub3QgY29uZm9ybWFu
dC4KKzI4MzAgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwucmFzdGVyaXph
dGlvbi5wcmltaXRpdmVzLmxpbmVfbG9vcCA9IEZBSUwKKzI4MzAgVlVMS0FOIEFORFJPSUQgOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5wcmltaXRpdmVzLmxpbmVfc3RyaXAg
PSBGQUlMCisyODMwIFZVTEtBTiBBTkRST0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnJhc3Rl
cml6YXRpb24ucHJpbWl0aXZlcy5saW5lcyA9IEZBSUwKKworLy8gRmFpbGluZyBvbiB0aGUgUGl4
ZWwgMi4KKzI4MDggVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVy
cy5idWlsdGluX3ZhcmlhYmxlLmZyYWdjb29yZF93ID0gRkFJTAorMzMwNiBWVUxLQU4gQU5EUk9J
RCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5kZWZhdWx0X2ZhY3Rvcl8x
X3Nsb3BlID0gRkFJTAorMzMwNiBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5wb2x5Z29uX29mZnNldC5maXhlZDE2X2ZhY3Rvcl8xX3Nsb3BlID0gRkFJTAorCisvLyBGYWls
aW5nIG9uIHRoZSBQaXhlbCAyIGR1ZSB0byBRdWFsY29tbSBWdWxrYW4gZHJpdmVyCis0MzQ0IFZV
TEtBTiBBTkRST0lEIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFj
dGlvbi5iYXNpY19zaGFkZXIuMSA9IEZBSUwKKzQzNDQgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4zMCA9
IEZBSUwKKzQzNDQgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21l
bnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4zNSA9IEZBSUwKKzQzNDQgVlVMS0FOIEFO
RFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJh
c2ljX3NoYWRlci4zOCA9IEZBSUwKKzQzNDQgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci42MCA9IEZBSUwK
KzQzNDQgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3Bz
LmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci42MiA9IEZBSUwKKzQzNDQgVlVMS0FOIEFORFJPSUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLnJhbmRvbS42MiA9IEZBSUwKKzQz
NDQgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLnJh
bmRvbS43OCA9IEZBSUwKKworLy8gVGhlc2UgdGVzdHMgYWxzbyBmYWlsIG9uIEFNRCB3aW5kb3dz
IGRyaXZlciBhcyBpdCBpcyBub3QgYWxsb3dlZCB0byB1c2UgZW11bGF0aW9uIGR1ZSB0byBlcnJv
cnMuCiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
dGV4dHVyZV9mdW5jdGlvbnMudmVydGV4LnRleHR1cmVjdWJlbG9kID0gRkFJTAorMzI0MyBWVUxL
QU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLmJh
c2ljLmxpbmVhcl9uZWFyZXN0ID0gRkFJTAorMzI0MyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLmJhc2ljLmxpbmVhcl9saW5lYXIgPSBG
QUlMCiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUu
bWlwbWFwLmN1YmUucHJvamVjdGVkLmxpbmVhcl9uZWFyZXN0ID0gRkFJTAorMzI0MyBWVUxLQU4g
V0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLnByb2pl
Y3RlZC5saW5lYXJfbGluZWFyID0gRkFJTAorMzI0MyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC5jdWJlLmJpYXMubGluZWFyX25lYXJlc3QgPSBG
QUlMCiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUu
bWlwbWFwLmN1YmUuYmlhcy5saW5lYXJfbGluZWFyID0gRkFJTAorMzI0MyBWVUxLQU4gV0lOIEFN
RCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRlcmluZy5s
aW5lYXJfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X2NsYW1wID0gRkFJTAorMzI0MyBWVUxLQU4gV0lO
IEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZpbHRlcmlu
Zy5saW5lYXJfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X21pcnJvciA9IEZBSUwKKzMyNDMgVlVMS0FO
IFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0
ZXJpbmcubGluZWFyX21pcG1hcF9saW5lYXJfbGluZWFyX2NsYW1wID0gRkFJTAorMzI0MyBWVUxL
QU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLmZp
bHRlcmluZy5saW5lYXJfbWlwbWFwX2xpbmVhcl9saW5lYXJfbWlycm9yID0gRkFJTAorMzI0MyBW
VUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJl
LndyYXAuY2xhbXBfY2xhbXAgPSBGQUlMCiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUud3JhcC5jbGFtcF9yZXBlYXQgPSBGQUlM
CiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVy
dGV4LmN1YmUud3JhcC5jbGFtcF9taXJyb3IgPSBGQUlMCiszMjQzIFZVTEtBTiBXSU4gQU1EIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUudmVydGV4LmN1YmUud3JhcC5taXJyb3JfY2xh
bXAgPSBGQUlMCiszMjQzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRl
eHR1cmUudmVydGV4LmN1YmUud3JhcC5taXJyb3JfcmVwZWF0ID0gRkFJTAorMzI0MyBWVUxLQU4g
V0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAu
bWlycm9yX21pcnJvciA9IEZBSUwKKworLy8gVnVsa2FuIEFNRCBkcml2ZXJzIGRvbid0IHNlZW0g
dG8gc3VwcG9ydCB3aWRlIHBvaW50IGNsaXBwaW5nLgorMjQ2MyBWVUxLQU4gV0lOIEFNRCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5jbGlwcGluZy5wb2ludC53aWRlX3BvaW50X2NsaXAgPSBGQUlM
CisyNDYzIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNsaXBwaW5nLnBv
aW50LndpZGVfcG9pbnRfY2xpcF92aWV3cG9ydF9jZW50ZXIgPSBGQUlMCisyNDYzIFZVTEtBTiBX
SU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNsaXBwaW5nLnBvaW50LndpZGVfcG9pbnRf
Y2xpcF92aWV3cG9ydF9jb3JuZXIgPSBGQUlMCisKKy8vIFRoZXNlIGZhaWx1cmVzIGFyZSBwb3Nz
aWJseSBkdWUgdG8gYW4gQU1EIGRyaXZlciBidWcuCisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLmRyYXcucmFuZG9tLjE0ID0gU0tJUAorMjg0NyBWVUxLQU4gV0lO
IEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5kcmF3LnJhbmRvbS4zMCA9IFNLSVAKKzI4NDcg
VlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZHJhdy5yYW5kb20uNDEgPSBT
S0lQCisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9h
cnJheXMuc2luZ2xlX2F0dHJpYnV0ZS5maXJzdC5ieXRlX2ZpcnN0KiA9IFNLSVAKKzI4NDcgVlVM
S0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVf
YXR0cmlidXRlLmZpcnN0LmZsb2F0X2ZpcnN0KiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLm9m
ZnNldC5idWZmZXJfMV8xN19ieXRlKiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLm9mZnNldC5i
dWZmZXJfMV8yX2J5dGUqID0gU0tJUAorMjg0NyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUub2Zmc2V0LmJ1ZmZlcl8x
XzMyX2J5dGUqID0gU0tJUAorMjg0NyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUub2Zmc2V0LmJ1ZmZlcl8xN18xN19i
eXRlKiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwu
dmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLm9mZnNldC5idWZmZXJfMTdfMl9ieXRlKiA9
IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4
X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLm9mZnNldC5idWZmZXJfMTdfMzJfYnl0ZSogPSBTS0lQ
CisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9hcnJh
eXMuc2luZ2xlX2F0dHJpYnV0ZS5vZmZzZXQuYnVmZmVyXzMyXzE3X2J5dGUqID0gU0tJUAorMjg0
NyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNp
bmdsZV9hdHRyaWJ1dGUub2Zmc2V0LmJ1ZmZlcl8zMl8zMl9ieXRlKiA9IFNLSVAKKzI4NDcgVlVM
S0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVf
YXR0cmlidXRlLm9mZnNldC5idWZmZXJfMzJfMzJfZmxvYXQqID0gU0tJUAorMjg0NyBWVUxLQU4g
V0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRy
aWJ1dGUub2Zmc2V0LmJ1ZmZlcl80XzE3X2J5dGUqID0gU0tJUAorMjg0NyBWVUxLQU4gV0lOIEFN
RCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUu
b2Zmc2V0LmJ1ZmZlcl80XzMyX2J5dGUqID0gU0tJUAorMjg0NyBWVUxLQU4gV0lOIEFNRCA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUub2Zmc2V0
LmJ1ZmZlcl80XzMyX2Zsb2F0KiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdM
RVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLnN0cmlkZXMuYnVm
ZmVyXzBfMTdfYnl0ZSogPSBTS0lQCisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLnZlcnRleF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0ZS5zdHJpZGVzLmJ1ZmZlcl8w
XzMyX2J5dGUqID0gU0tJUAorMjg0NyBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUuc3RyaWRlcy5idWZmZXJfMF8zMl9m
bG9hdCogPSBTS0lQCisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LnZlcnRleF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0ZS5zdHJpZGVzLmJ1ZmZlcl8wXzMyX3Nob3J0
KiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVy
dGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLnN0cmlkZXMuYnVmZmVyXzBfM19ieXRlKiA9IFNL
SVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2Fy
cmF5cy5zaW5nbGVfYXR0cmlidXRlLnN0cmlkZXMuYnVmZmVyXzBfNl9zaG9ydCogPSBTS0lQCisy
ODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9hcnJheXMu
c2luZ2xlX2F0dHJpYnV0ZS51c2FnZXMuYnVmZmVyXzBfMF9ieXRlKiA9IFNLSVAKKzI4NDcgVlVM
S0FOIFdJTiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVf
YXR0cmlidXRlLnVzYWdlcy5idWZmZXJfMF8wX3Nob3J0KiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJ
TiBBTUQgOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmli
dXRlLnVzYWdlcy5idWZmZXJfMF8xN19ieXRlKiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQg
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLnVz
YWdlcy5idWZmZXJfMF8zMl9ieXRlKiA9IFNLSVAKKzI4NDcgVlVMS0FOIFdJTiBBTUQgOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5zaW5nbGVfYXR0cmlidXRlLnVzYWdlcy5i
dWZmZXJfMF8zMl9mbG9hdCogPSBTS0lQCisyODQ3IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnZlcnRleF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0ZS51c2FnZXMuYnVmZmVy
XzBfMzJfc2hvcnQqID0gU0tJUAorCisvLyBGYWlscyBhZnRlciBPcGVuR0wgbGluZSByYXN0ZXJp
emF0aW9uIHJ1bGVzIGltcGxlbWVudGF0aW9uLiBQb3NzaWJseSBhIGJ1ZyBpbiBGcmFnQ29vcmQu
CisyODA5IFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNsaXBwaW5nLmxp
bmUubG9uZ19saW5lX2NsaXAgPSBGQUlMCisKKy8vIFBvbHlnb24gb2Zmc2V0IGZhaWx1cmVzCisz
MzAxIFZVTEtBTiBXSU4gQU1EIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnBvbHlnb25fb2Zmc2V0
LmRlZmF1bHRfcmVzdWx0X2RlcHRoX2NsYW1wID0gRkFJTAorMzMwMSBWVUxLQU4gV0lOIEFNRCA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5kZWZhdWx0X2ZhY3Rvcl8xX3Ns
b3BlID0gRkFJTAorMzMwMSBWVUxLQU4gV0lOIEFNRCA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5w
b2x5Z29uX29mZnNldC5maXhlZDE2X3JlbmRlcl93aXRoX3VuaXRzID0gRkFJTAorCisvLyBGYWls
dXJlcyBvbiBuZXdlciBOVklESUEgZHJpdmVycyAoNDExLjk1KSBhbmQgcGFzc2VzIG9uIG9sZGVy
IGRyaXZlcnMgKDM4OC4xNikuCisyOTc2IFZVTEtBTiBOVklESUEgOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLiogPSBGQUlMCisvLyBGYWlscyBvbiA0MzEuMDIgTlZJ
RElBIGRyaXZlcgorMzc0OCBWVUxLQU4gV0lOIE5WSURJQSA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mYm8ucmVuZGVyLnJlcGVhdGVkX2NsZWFyLiogPSBGQUlMCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfZ2xlczMxX3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFw
X3N1cHBvcnQvZGVxcF9nbGVzMzFfdGVzdF9leHBlY3RhdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2
MDkyOTc5YzUyYzcxMzY0NjM0NzVjMjVmYjZkZTUzYTEyMGNlNWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfZ2xl
czMxX3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMCwwICsxLDI3MyBAQAorLy8gQ29weXJpZ2h0
IDIwMTYgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vu
c2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIFRoaXMg
ZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgZGVmZWN0aXZlIGRFUVAgY29uZm9ybWFuY2UgdGVzdHMu
IFRoZSBleHBlY3RlZAorLy8gZm9ybWF0IGlzOgorLy8gIHtCVUcjfSB7TU9ESUZJRVJTfSA6IHtU
RVNUX05BTUV9ID0ge1BBU1MsRkFJTCxGTEFLWSxUSU1FT1VULFNLSVB9CisvLworLy8gTU9ESUZJ
RVJTIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBiZWxvdyBsaXN0LCBjb21iaW5lZCB3aXRo
IGEgbG9naWNhbCBBTkQ6CisvLyAgV0lOIFhQIFZJU1RBIFdJTjcgV0lOOCBXSU4xMAorLy8gIE1B
QyBMRU9QQVJEIFNOT1dMRU9QQVJEIExJT04gTU9VTlRBSU5MSU9OIE1BVkVSSUNLUyBZT1NFTUlU
RSBFTENBUElUQU4gU0lFUlJBIEhJR0hTSUVSUkEgTU9KQVZFCisvLyAgTElOVVggQ0hST01FT1Mg
QU5EUk9JRAorLy8gIE5WSURJQSBBTUQgSU5URUwKKy8vICBERUJVRyBSRUxFQVNFCisvLyAgRDNE
OSBEM0QxMSBPUEVOR0wgR0xFUyBWVUxLQU4KKy8vICBORVhVUzVYIFBJWEVMMk9SWEwKKy8vICBR
VUFEUk9QNDAwCisvLyAgU1dJRlRTSEFERVIKKy8vCisvLworLy8gVEVTVF9OQU1FIGNhbiBiZSBh
IHNwZWNpZmljIHRlc3QgbmFtZSwgb3IgaGF2ZSBhICcqJyBpbiB0aGUgZW5kLCB3aGljaAorLy8g
aW5kaWNhdGVzIGEgcHJlZml4IG1hdGNoaW5nLgorLy8KKy8vIEV4YW1wbGVzOgorLy8gZmFpbHMg
b24gYm90aCB3aW5kb3dzIGFuZCBtYWMgKGNyYXNoKQorLy8gIDkxNTMwIFdJTiA6IGNvbnRleHRf
bG9zdF9yZXN0b3JlZCA9IFNLSVAKKy8vICA5MTUzMCBNQUMgOiBjb250ZXh0X2xvc3RfcmVzdG9y
ZWQgPSBTS0lQCisvLyBmYWlscyBvbiB3aW5kb3dzIHVzaW5nIE5WSURJQSBHUFVzCisvLyAgOTE1
MzMgV0lOIE5WSURJQSA6IGdsX21pbl91bmlmb3JtcyA9IEZBSUwKKy8vIGZhaWxzIG9uIE5leHVz
NVggd2l0aCBHTEVTIGJhY2tlbmQgKGhhbmdzKQorLy8gIDkxNTMxIE5FWFVTNVggR0xFUyA6IGNv
bmZvcm1hbmNlX21vcmVfKiA9IFNLSVAKKworCisvLy8vCisvLy8vIERlc2t0b3AgZXhwZWN0YXRp
b25zCisvLy8vCisKKy8vIENyYXNoaW5nIFRlc3RzCisxNDQyIEQzRDExIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50cmFuc2Zvcm1fZmVlZGJhY2tfdmFy
eWluZy5yZXNvdXJjZV9saXN0LnZlcnRleF9mcmFnbWVudC5idWlsdGluX2dsX3Bvc2l0aW9uID0g
U0tJUAorMTQ0MiBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJm
YWNlX3F1ZXJ5LnRyYW5zZm9ybV9mZWVkYmFja192YXJ5aW5nLnJlc291cmNlX2xpc3QudmVydGV4
X2ZyYWdtZW50LmJ1aWx0aW5fZ2xfcG9zaXRpb24gPSBTS0lQCisKKy8vIENyYXNoaW5nIFRlc3Rz
IG9uIExpbnV4IG9uIEludGVsIEhEIDYzMC4KKzIzNDkgTElOVVggSU5URUwgOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnN5bmNocm9uaXphdGlvbi5pbl9pbnZvY2F0aW9uLmltYWdlXyogPSBTS0lQ
CisyMzQ5IExJTlVYIElOVEVMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zeW5jaHJvbml6YXRp
b24uaW50ZXJfaW52b2NhdGlvbi5pbWFnZV8qID0gU0tJUAorMjM0OSBMSU5VWCBJTlRFTCA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29tcHV0ZS5iYXNpYy5jb3B5X2ltYWdlX3RvX3NzYm9fc21h
bGwgPSBTS0lQCisyMzQ5IExJTlVYIElOVEVMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb21w
dXRlLmJhc2ljLmNvcHlfc3Nib190b19pbWFnZV9zbWFsbCA9IFNLSVAKKzIzNDkgTElOVVggSU5U
RUwgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvbXB1dGUuYmFzaWMuaW1hZ2VfYmFycmllcl9t
dWx0aXBsZSA9IFNLSVAKKworLy8gRmFpbGluZyBUZXN0cyBvbiBMaW51eCBvbiBJbnRlbCBIRCA2
MzAuCisyMzQ5IExJTlVYIElOVEVMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdh
dGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3Iuc2hhZGVyLnByb2dyYW1fYmluYXJ5ID0gRkFJTAorCisx
NDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLiogPSBT
S0lQCisKKy8vIFRpbWVzIG91dCBzaGFkZXIgY29tcGlsYXRpb24gYmVjYXVzZSBpdCB1c2VzIHNv
IG1hbnkgcmVzb3VyY2VzLgorMzQ0NSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlv
dXQucmFuZG9tLmFsbF9zaGFyZWRfYnVmZmVyLjQ4ID0gU0tJUAorCisvLyBEM0QxMSBGYWlsaW5n
IFRlc3RzCisvLyBCZWxvdyBjYXNlcyBhcmUgZmFpbGVkIGR1ZSB0byBiaW5kaW5nIG11bHRpLVVB
VnMgdG8gYSBzaW5nbGUgYnVmZmVyIGlzIG5vdCBzdXBwb3J0ZWQgaW4gRDNEIGJhY2tlbmQuCisv
LyBodHRwOi8vYW5nbGVidWcuY29tLzMwMzIKKzMwMzIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNzYm8ubGF5b3V0Liouc2luZ2xlX2J1ZmZlciogPSBGQUlMCiszMDMyIEQzRDExIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5yYW5kb20ubmVzdGVkX3N0cnVjdHNf
YXJyYXlzX2luc3RhbmNlX2FycmF5cy4xMyA9IEZBSUwKKzMwMzIgRDNEMTEgOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS5hbGxfc2hhcmVkX2J1ZmZlciogPSBGQUlM
CisKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVn
ZXIubWF4X2NvbXB1dGVfYXRvbWljX2NvdW50ZXJzXyogPSBGQUlMCisxNDQyIEQzRDExIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2VyLm1heF9hdG9taWNfY291bnRl
cl9idWZmZXJfc2l6ZV8qID0gRkFJTAorMTQ0MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc3RhdGVfcXVlcnkuaW50ZWdlci5tYXhfY29tYmluZWRfYXRvbWljX2NvdW50ZXJzKiA9IEZB
SUwKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVn
ZXIubWF4X3VuaWZvcm1fYnVmZmVyX2JpbmRpbmdzXyogPSBGQUlMCisxNDQyIEQzRDExIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2VyLm1heF9jb21iaW5lZF90ZXh0
dXJlX2ltYWdlX3VuaXRzXyogPSBGQUlMCisxNDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zdGF0ZV9xdWVyeS5wcm9ncmFtLmNvbXB1dGVfd29ya19ncm91cF9zaXplX2dldF9wcm9n
cmFtaXYgPSBGQUlMCisxNDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5h
c3luYy5jYXNlXzRfbG9nID0gU0tJUAorMTQ0MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuZGVidWcuYXN5bmMuY2FzZV81X2NhbGxiYWNrID0gU0tJUAorMTQ0MiBEM0QxMSA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcuZXJyb3JfZmlsdGVycy5jYXNlXzIgPSBGQUlMCisxNDQy
IEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5lcnJvcl9maWx0ZXJzLmNhc2Vf
MyA9IEZBSUwKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLmVycm9y
X2ZpbHRlcnMuY2FzZV85ID0gRkFJTAorMTQ0MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuZGVidWcuZXJyb3JfZmlsdGVycy5jYXNlXzEwID0gRkFJTAorMTQ0MiBEM0QxMSA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcuZXJyb3JfZmlsdGVycy5jYXNlXzI3ID0gRkFJTAorMTQ0
MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcuZXJyb3JfZmlsdGVycy5jYXNl
XzI4ID0gRkFJTAorMTQ0MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcuZXJy
b3JfZ3JvdXBzLmNhc2VfMiA9IEZBSUwKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmRlYnVnLmVycm9yX2dyb3Vwcy5jYXNlXzMgPSBGQUlMCisxNDQyIEQzRDExIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5lcnJvcl9ncm91cHMuY2FzZV85ID0gRkFJTAorMTQ0MiBE
M0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcuZXJyb3JfZ3JvdXBzLmNhc2VfMTAg
PSBGQUlMCisKKzE5NDEgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVp
bHRpbl9mdW5jdGlvbnMuY29tbW9uLipnZW9tZXRyeSA9IEZBSUwKKzE5NDEgRDNEMTEgOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMucGFja191bnBhY2su
Kmdlb21ldHJ5ID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRlZ2VyLipnZW9tZXRyeSA9IEZBSUwKKzE5NDEgRDNE
MTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9jb25zdGFudHMuZ2Vv
bWV0cnlfc2hhZGVyLiogPSBGQUlMCisxOTQxIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zdGF0ZV9xdWVyeS5wcm9ncmFtLmdlb21ldHJ5X3NoYWRlcl9zdGF0ZV9nZXRfcHJvZ3JhbWl2
ID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hh
ZGluZy5xdWVyeS4qID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Z2VvbWV0cnlfc2hhZGluZy5iYXNpYy4qID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hhZGluZy5jb252ZXJzaW9uLiogPSBGQUlMCisxOTQxIEQz
RDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFkaW5nLmVtaXQuKiA9IEZB
SUwKKzE5NDEgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmdlb21ldHJ5X3NoYWRpbmcu
dmFyeWluZy4qID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2Vv
bWV0cnlfc2hhZGluZy5sYXllcmVkLiogPSBGQUlMCisxOTQxIEQzRDExIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFkaW5nLmluc3RhbmNlZC4qID0gRkFJTAorMTk0MSBEM0Qx
MSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hhZGluZy5pbnB1dC4qID0gRkFJ
TAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hhZGluZy5u
ZWdhdGl2ZS4qID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2Vv
bWV0cnlfc2hhZGluZy52ZXJ0ZXhfdHJhbnNmb3JtX2ZlZWRiYWNrLiogPSBGQUlMCisxOTQxIEQz
RDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmxpbmthZ2UuZXMzMS5nZW9tZXRy
eS4qID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVn
YXRpdmVfY292ZXJhZ2UuY2FsbGJhY2tzLnNoYWRlcl9kaXJlY3RpdmUuZ2VvbWV0cnlfc2hhZGVy
ID0gRkFJTAorMTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRp
dmVfY292ZXJhZ2UubG9nLnNoYWRlcl9kaXJlY3RpdmUuZ2VvbWV0cnlfc2hhZGVyID0gRkFJTAor
MTk0MSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJh
Z2UuZ2V0X2Vycm9yLnNoYWRlcl9kaXJlY3RpdmUuZ2VvbWV0cnlfc2hhZGVyID0gRkFJTAorMjgy
NiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIuYmFzaWMuY3Vi
ZS5yZ2JhOC50ZXh0dXJlX3N3aXp6bGUuKiA9IEZBSUwKKzI4MjYgRDNEMTEgOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnRleHR1cmUuZ2F0aGVyLmJhc2ljLmN1YmUucmdiYThpLiogPSBGQUlMCisy
ODI2IEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5iYXNpYy5j
dWJlLnJnYmE4dWkuKiA9IEZBSUwKKzM4NjUgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvbXB1dGUuYmFzaWMuY29weV9pbWFnZV90b19zc2JvX2xhcmdlID0gRkFJTAorMzg2NSBEM0Qx
MSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29tcHV0ZS5iYXNpYy5jb3B5X3NzYm9fdG9faW1h
Z2VfbGFyZ2UgPSBGQUlMCisKKy8vIFNpbXVsdGFuZW91cyB1c2Ugb2YgR0xfQ09OU1RBTlRfQUxQ
SEEvR0xfT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBIGFuZCBHTF9DT05TVEFOVF9DT0xPUi9HTF9P
TkVfTUlOVVNfQ09OU1RBTlRfQ09MT1IgYXMgY29sb3IgZmFjdG9ycworNDM5NCBEM0QxMSA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuZHJhd19idWZmZXJzX2luZGV4ZWQucmFuZG9tLm1heF9yZXF1
aXJlZF9kcmF3X2J1ZmZlcnMuNCA9IEZBSUwKKzQzOTQgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmRyYXdfYnVmZmVyc19pbmRleGVkLnJhbmRvbS5tYXhfcmVxdWlyZWRfZHJhd19idWZm
ZXJzLjcgPSBGQUlMCis0Mzk0IEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kcmF3X2J1
ZmZlcnNfaW5kZXhlZC5yYW5kb20ubWF4X2ltcGxlbWVudGF0aW9uX2RyYXdfYnVmZmVycy45ID0g
RkFJTAorNDM5NCBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZHJhd19idWZmZXJzX2lu
ZGV4ZWQucmFuZG9tLm1heF9pbXBsZW1lbnRhdGlvbl9kcmF3X2J1ZmZlcnMuMTUgPSBGQUlMCisK
Ky8vIEZhaWxpbmcgd2l0aCBkRVFQIHJvbGwKKzM0NDcgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS5hbGxfcGVyX2Jsb2NrX2J1ZmZlcnMuMjIgPSBGQUlM
CiszNDQ3IEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5yYW5kb20u
YWxsX3Blcl9ibG9ja19idWZmZXJzLjQxID0gRkFJTAorNDIzNCBEM0QxMSA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9yLmNvbXB1dGUucHJv
Z3JhbV9ub3RfYWN0aXZlID0gU0tJUAorNDIzNCBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmdldF9lcnJvci5jb21wdXRlLnByb2dyYW1fbm90
X2FjdGl2ZSA9IFNLSVAKKzQyMzQgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVn
Lm5lZ2F0aXZlX2NvdmVyYWdlLmxvZy5jb21wdXRlLnByb2dyYW1fbm90X2FjdGl2ZSA9IFNLSVAK
KzQyMzQgT1BFTkdMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3Zl
cmFnZS5sb2cuY29tcHV0ZS5wcm9ncmFtX25vdF9hY3RpdmUgPSBTS0lQCis0MjM0IEQzRDExIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3Iu
YnVmZmVyLnJlbmRlcmJ1ZmZlcl9zdG9yYWdlX211bHRpc2FtcGxlID0gRkFJTAorNDIzNCBEM0Qx
MSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuY2FsbGJh
Y2tzLmNvbXB1dGUucHJvZ3JhbV9ub3RfYWN0aXZlID0gU0tJUAorNDIzNCBPUEVOR0wgOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNrcy5jb21w
dXRlLnByb2dyYW1fbm90X2FjdGl2ZSA9IFNLSVAKKworLy8gT1BFTkdMIEZhaWxpbmcgVGVzdHMK
KzE2NjUgV0lOIE5WSURJQSBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRyYXdfaW5k
aXJlY3QubmVnYXRpdmUuY29tbWFuZF9vZmZzZXRfbm90X2luX2J1ZmZlcl91bnNpZ25lZDMyX3dy
YXAgPSBGQUlMCisxNDQyIE5WSURJQSBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmZi
by5ub19hdHRhY2htZW50cy5tYXhpbXVtcy5hbGwgPSBGQUlMCisxNDQyIE9QRU5HTCA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuYXRvbWljX2NvdW50ZXJf
YnVmZmVyLnJlZmVyZW5jZWRfYnkqID0gRkFJTAorMTQ0MiBPUEVOR0wgOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl9saW1pdGVkX3F1ZXJ5LnJl
c291cmNlX3F1ZXJ5ID0gRkFJTAorMjI3NyBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5yZWZlcmVuY2VkX2J5Liog
PSBGQUlMCisyMjc3IE9QRU5HTCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRl
cmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLnJhbmRvbS4qID0gRkFJTAorMTQ0MiBPUEVOR0wg
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnByb2dyYW1f
aW5wdXQuKiA9IEZBSUwKKzE0NDIgT1BFTkdMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9n
cmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC4qID0gRkFJTAorMTQ0MiBPUEVOR0wg
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnNoYWRlcl9z
dG9yYWdlX2Jsb2NrLnJlZmVyZW5jZWRfYnkuKiA9IEZBSUwKKzE0NDIgT1BFTkdMIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50cmFuc2Zvcm1fZmVlZGJh
Y2tfdmFyeWluZy4qID0gRkFJTAorMTQ0MiBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ucmVmZXJlbmNlZF9ieV9zaGFkZXIuKiA9
IEZBSUwKKzE0NDIgT1BFTkdMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVy
ZmFjZV9xdWVyeS51bmlmb3JtLnJhbmRvbS4qID0gRkFJTAorMTQ0MiBPUEVOR0wgOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm1fYmxvY2sucmVm
ZXJlbmNlZF9ieS4qID0gRkFJTAorCisvLyBPcGVuR0wvRDNEMTEgRmFpbGluZyBUZXN0cworMTQ0
MiBPUEVOR0wgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5k
ZXhpbmcuKiA9IEZBSUwKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuKiA9IEZBSUwKKzE0NDIgT1BFTkdMIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zZXBhcmF0ZV9zaGFkZXIuKiA9IFNLSVAKKzE0NDIgRDNEMTEgOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnNlcGFyYXRlX3NoYWRlci4qID0gU0tJUAorMTQ0MiBPUEVOR0wg
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LnByb2dyYW0ucHJvZ3JhbV9zZXBh
cmFibGVfZ2V0X3Byb2dyYW1pdiA9IEZBSUwKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnN0YXRlX3F1ZXJ5LnByb2dyYW0ucHJvZ3JhbV9zZXBhcmFibGVfZ2V0X3Byb2dyYW1p
diA9IEZBSUwKKzE0NDIgT1BFTkdMIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVy
eS5wcm9ncmFtX3BpcGVsaW5lLiogPSBTS0lQCisxNDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5zdGF0ZV9xdWVyeS5wcm9ncmFtX3BpcGVsaW5lLiogPSBTS0lQCisKKy8vIFRoZXNl
IHRlc3RzIGFyZSBmYWlsaW5nIGJlY2F1c2Ugb2YgY29tcGlsZSBlcnJvcnMgd2l0aCBTU0JPcyBp
biBjb21wdXRlIHNoYWRlcnMuCisKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnN0ZW5jaWxfdGV4dHVyaW5nLiogPSBTS0lQCisvLyBUT0RPKHhpbmdodWEuY2FvQGludGVsLmNv
bSk6IEZBSUwgZXhwZWN0YXRpb24gaW5zdGVhZCBvZiBTS0lQIHNob3VsZCBiZSBzdWZmaWNpZW50
IGZvciBPcGVuR0wsIGJ1dCB0aGUKKy8vIHRlc3QgZXhwZWN0YXRpb25zIHBhcnNlciBkb2Vzbid0
IHN1cHBvcnQgaGF2aW5nIEZBSUwgZm9yIEdMIGFuZCBTS0lQIGZvciBEM0Qgd2l0aCB0aGUgc2Ft
ZSB0ZXN0IGZpbHRlci4KKworMTcyOSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuYXRv
bWljX2NvdW50ZXIuKiA9IFNLSVAKKzE5NTEgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmxheW91dF9iaW5kaW5nLnNzYm8uKiA9IFNLSVAKKzE5NTEgRDNEMTEgOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc3Niby4qID0gU0tJUAorNDMz
MCBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnku
YnVmZmVyX3ZhcmlhYmxlLnJlZmVyZW5jZWRfYnkuc2VwYXJhYmxlX3ZlcnRleC4qID0gU0tJUAor
NDMyOSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVl
cnkuYnVmZmVyX3ZhcmlhYmxlLnJlZmVyZW5jZWRfYnkuc2VwYXJhYmxlX2ZyYWdtZW50LiogPSBT
S0lQCis0MzI5IEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFj
ZV9xdWVyeS5idWZmZXJfdmFyaWFibGUucmFuZG9tLiogPSBTS0lQCisxNDQyIEQzRDExIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0
LiogPSBTS0lQCisxNDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2lu
dGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC4qID0gU0tJUAorMTQ0MiBEM0QxMSA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuc2hhZGVyX3N0b3JhZ2Vf
YmxvY2suKiA9IFNLSVAKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dy
YW1faW50ZXJmYWNlX3F1ZXJ5LnRyYW5zZm9ybV9mZWVkYmFja192YXJ5aW5nLiogPSBTS0lQCisx
NDQyIEQzRDExIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVy
eS51bmlmb3JtKiA9IFNLSVAKKzE0NDIgRDNEMTEgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN5
bmNocm9uaXphdGlvbi4qID0gU0tJUAorMTQ0MiBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwubGF5b3V0X2JpbmRpbmcuaW1hZ2UuKiA9IFNLSVAKKy8vIFRoaXMgY2FzZSBpcyBza2lwcGVk
IHNpbmNlIGl0IHVzZXMgYXRvbWljIGNvdW50ZXIgYnVpbHRpbiBmdW5jdGlvbnMgd2hpY2ggaGF2
ZW4ndCBiZWVuIGltcGxlbWVudGVkLgorMTcyOSBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc3RhdGVfcXVlcnkucHJvZ3JhbS5hY3RpdmVfYXRvbWljX2NvdW50ZXJfYnVmZmVyc19nZXRf
cHJvZ3JhbWl2ID0gU0tJUAorCisvLyBUaGUgRDNEIGJhY2tlbmQgZG9lcyBub3QgZXhwZWN0IG1p
c3Npbmcgc2hhZGVyIHN0YWdlcworMTU4OCBEM0QxMSA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2VwYXJhdGVfc2hhZGVyLnZhbGlkYXRpb24uZXMzMS52YXJ5aW5nLiogPSBTS0lQCisKKworLy8v
LworLy8vLyBGYWlsdXJlcyBibG9ja2luZyBhbiBvZmZpY2lhbCBHTEVTIDMuMSBjb25mb3JtYW5j
ZSBydW4gb24gU3dpZnRTaGFkZXIKKy8vLy8KKworLy8gRGVidWcgKHRlc3QgYnVnKToKKzM1OTAg
U1dJRlRTSEFERVIgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVy
YWdlLmdldF9lcnJvci5idWZmZXIuZnJhbWVidWZmZXJfdGV4dHVyZTJkID0gRkFJTAorCisvLyBH
TFNMIGxlbmd0aCgpIG1ldGhvZCByZXR1cm5pbmcgbnVtYmVyIG9mIGJ5dGVzIGluIGFuIGFycmF5
IGluc3RlYWQgb2YgbnVtYmVyIG9mIGl0ZW1zCis0MDk4IFNXSUZUU0hBREVSIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb21wdXRlLmJhc2ljLndyaXRlX211bHRpcGxlX3Vuc2l6ZWRfYXJyX211
bHRpcGxlX2dyb3VwcyA9IEZBSUwKKzQwOTggU1dJRlRTSEFERVIgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvbXB1dGUuYmFzaWMud3JpdGVfbXVsdGlwbGVfdW5zaXplZF9hcnJfc2luZ2xlX2lu
dm9jYXRpb24gPSBGQUlMCisKKworLy8gTm90IGZhaWxpbmcgaW4gbGFzdCBvZmZpY2lhbCBydW4s
IGJ1dCBmYWlsZWQgcmVjZW50bHk6Cis0MTEwIFNXSUZUU0hBREVSIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLiogPSBGQUlMCisKKy8vIFZ1bGthbiBk
b2Vzbid0IHN1cHBvcnQgYXJyYXkgb2YgYXJyYXkgb2Ygb3BhcXVlIHVuaWZvcm1zLiBFbXVsYXRp
b24gaXMgbm90IHlldCBkb25lIGZvciBpbWFnZXMKKzM4ODEgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3JtLmxvY2F0aW9uLmRlZmF1
bHRfYmxvY2suYXJyYXkuYXJyYXkuaW1hZ2VfMmQgPSBTS0lQCiszODgxIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5sb2NhdGlv
bi5kZWZhdWx0X2Jsb2NrLmFycmF5LmFycmF5LmlpbWFnZV8yZF9hcnJheSA9IFNLSVAKKworLy8g
Rmxha3kgY3Jhc2hlcyBpbiBXaW5kb3dzIHg4NiBTdWJ6ZXJvIFJlYWN0b3IKKzQ0ODIgV0lOIFNX
SUZUU0hBREVSIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zeW5jaHJvbml6YXRpb24uaW50ZXJf
aW52b2NhdGlvbi4qID0gU0tJUAorCisvLy8vCisvLy8vIEdlbmVyYWwgVnVsa2FuIGV4cGVjdGF0
aW9ucworLy8vLworCisvLyBCbG9jayBuYW1lIG1hdGNoaW5nIGZhaWx1cmU6CiszNDU5IFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5rYWdlLmVzMzEuc2hhZGVyX3N0
b3JhZ2VfYmxvY2subWlzbWF0Y2hfd2l0aF9hbmRfd2l0aG91dF9pbnN0YW5jZV9uYW1lID0gRkFJ
TAorCisvLyBUZXNzZWxsYXRpb24gZ2VvbWV0cnkgaW50ZXJhY3Rpb246CiszNTcyIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGVzc2VsbGF0aW9uX2dlb21ldHJ5X2ludGVyYWN0aW9u
LiogPSBGQUlMCisKKy8vIFZ1bGthbiBjcmVhdGVzIHRoZSBpbWFnZSB2aWV3IHdpdGggdGhlIHNh
bWUgZm9ybWF0IGFzIHRoZSB0ZXh0dXJlLgorMzg4NSBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmltYWdlX2xvYWRfc3RvcmUuKi5mb3JtYXRfcmVpbnRlcnByZXQuKiA9IEZBSUwKKwor
Ly8gQ2Fubm90IGNyZWF0ZSAyRCAoYXJyYXkpIHZpZXcgb2YgM0QgdGV4dHVyZS4KKzM4ODYgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjNkLipsYXllciA9
IEZBSUwKKworLy8vLworLy8vLyBBbmRyb2lkIChpLmUuIFBpeGVsKikgVnVsa2FuIGV4cGVjdGF0
aW9ucworLy8vLworCisvLyBWdWxrYW4gQW5kcm9pZCBmYWlsdXJlcworNDExMCBBTkRST0lEIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5k
ZXJpdmF0ZS5saW5lc184X3NhbXBsZXNfZGZkeCA9IEZBSUwKKzQxMTAgQU5EUk9JRCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaGVscGVyX2ludm9jYXRpb24uZGVyaXZh
dGUubGluZXNfOF9zYW1wbGVzX2Z3aWR0aCA9IEZBSUwKKzQxMTAgQU5EUk9JRCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaGVscGVyX2ludm9jYXRpb24uZGVyaXZhdGUu
cG9pbnRzXzhfc2FtcGxlc19kZmR4ID0gRkFJTAorNDExMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5kZXJpdmF0ZS5wb2lu
dHNfOF9zYW1wbGVzX2RmZHkgPSBGQUlMCis0MTEwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLmRlcml2YXRlLnBvaW50c184
X3NhbXBsZXNfZndpZHRoID0gRkFJTAorNDExMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5kZXJpdmF0ZS50cmlhbmdsZXNf
OF9zYW1wbGVzX2RmZHkgPSBGQUlMCis0MTEwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLmRlcml2YXRlLnRyaWFuZ2xlc19t
YXhfc2FtcGxlc19kZmR4ID0gRkFJTAorNDExMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5kZXJpdmF0ZS53aWRlX2xpbmVz
Xzhfc2FtcGxlc19kZmR5ID0gRkFJTAorNDExMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5kZXJpdmF0ZS53aWRlX2xpbmVz
X21heF9zYW1wbGVzX2RmZHkgPSBGQUlMCis0MTEwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLmRlcml2YXRlLndpZGVfcG9p
bnRzXzhfc2FtcGxlc19kZmR5ID0gRkFJTAorNDExMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi52YWx1ZS5saW5lc184X3Nh
bXBsZXMgPSBGQUlMCis0MTEwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLnZhbHVlLnBvaW50c184X3NhbXBsZXMgPSBGQUlM
Cis0MTEwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmhl
bHBlcl9pbnZvY2F0aW9uLnZhbHVlLnRyaWFuZ2xlc19tYXhfc2FtcGxlcyA9IEZBSUwKKworLy8g
UGFzc2luZyBvbiByZWNlbnQgZHJpdmVyczoKKzM3MjYgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LiogPSBGQUlMCiszNzI2IFZVTEtBTiBBTkRST0lE
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5hdG9taWNfY291bnRlci4qID0gRkFJTAorMzcyNiBW
VUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3luY2hyb25pemF0aW9uLmlu
dGVyX2NhbGwud2l0aG91dF9tZW1vcnlfYmFycmllci4qYXRvbWljX2NvdW50ZXIqID0gRkFJTAor
MzcyNiBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29tcHV0ZS5iYXNp
Yy5hdG9taWNfY291bnRlciogPSBGQUlMCisKKy8vIEFycmF5cyBvZiBvcGFxdWUgdHlwZXMgYXMg
ZnVuY3Rpb24gcGFyYW1ldGVycyAocG9zc2libHkgcmVsYXRlZCB0byBpc3N1ZSAzODgyKQorMjcw
MyBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVf
dHlwZV9pbmRleGluZy5hdG9taWNfY291bnRlci5jb25zdF9saXRlcmFsX3ZlcnRleCA9IEZBSUwK
KzI3MDMgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMub3Bh
cXVlX3R5cGVfaW5kZXhpbmcuYXRvbWljX2NvdW50ZXIuY29uc3RfbGl0ZXJhbF9mcmFnbWVudCA9
IEZBSUwKKzI3MDMgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuYXRvbWljX2NvdW50ZXIuY29uc3RfbGl0ZXJhbF9jb21w
dXRlID0gRkFJTAorMjcwMyBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5hdG9taWNfY291bnRlci5jb25zdF9leHByZXNz
aW9uX3ZlcnRleCA9IEZBSUwKKzI3MDMgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuYXRvbWljX2NvdW50ZXIuY29uc3Rf
ZXhwcmVzc2lvbl9mcmFnbWVudCA9IEZBSUwKKzI3MDMgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuYXRvbWljX2NvdW50
ZXIuY29uc3RfZXhwcmVzc2lvbl9jb21wdXRlID0gRkFJTAorMjcwMyBWVUxLQU4gQU5EUk9JRCA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5hdG9t
aWNfY291bnRlci4qdW5pZm9ybV92ZXJ0ZXggPSBGQUlMCisyNzAzIFZVTEtBTiBBTkRST0lEIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLm9wYXF1ZV90eXBlX2luZGV4aW5nLmF0b21p
Y19jb3VudGVyLip1bmlmb3JtX2ZyYWdtZW50ID0gRkFJTAorMjcwMyBWVUxLQU4gQU5EUk9JRCA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5hdG9t
aWNfY291bnRlci4qdW5pZm9ybV9jb21wdXRlID0gRkFJTAorCisvLyBTU0JPIHN5bmNocm9uaXph
dGlvbjoKKzQwOTcgVlVMS0FOIFBJWEVMMk9SWEwgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN5
bmNocm9uaXphdGlvbi5pbl9pbnZvY2F0aW9uLnNzYm9fYWxpYXNfb3ZlcndyaXRlID0gRkFJTAor
CisvLyBGcmFtZWJ1ZmZlciB3aXRob3V0IGF0dGFjaG1lbnRzOgorMzU3OSBBTkRST0lEIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZmJvLm5vX2F0dGFjaG1lbnRzLiogPSBTS0lQCisK
Ky8vIFN0ZW5jaWwgdGV4dHVyZXMgKHNvbWUgbWlzc2luZyBzdXBwb3J0IGZvciBiYXNlIGxldmVs
KToKKzM2ODMgVlVMS0FOIFBJWEVMMk9SWEwgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0ZW5j
aWxfdGV4dHVyaW5nLmZvcm1hdC4qID0gRkFJTAorMzY4MyBWVUxLQU4gUElYRUwyT1JYTCA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RlbmNpbF90ZXh0dXJpbmcubWlzYy5jb21wYXJlX21vZGVf
ZWZmZWN0ID0gRkFJTAorCisvLyBJbnN0YW5jZWQgbGluZXMgd2l0aCBiYXNlIHZlcnRleDoKKzQx
NjYgVlVMS0FOIFBJWEVMMk9SWEwgOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRyYXdfYmFzZV92
ZXJ0ZXguZHJhd19lbGVtZW50c19pbnN0YW5jZWRfYmFzZV92ZXJ0ZXgubGluZXMuaW5zdGFuY2Vk
X2F0dHJpYnV0ZXMgPSBGQUlMCisKKy8vIE5lZWQgdG8gc3VwcG9ydCBub24tY29sb3Igd2hlbiBz
dGFnaW5nIGltYWdlIHVwZGF0ZXMKKzQwODAgQU5EUk9JRCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnN0ZW5jaWxfdGV4dHVyaW5nLm1pc2MuYmFzZV9sZXZlbCA9IFNLSVAKKworLy8g
QW5kcm9pZCB1c2VzICJvbGQiIHNhbXBsZXIgcmV3cml0ZSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBh
cnJheSBvZiBhcnJheXMKKzI3MDMgVlVMS0FOIEFORFJPSUQgOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ubG9jYXRpb24uZGVmYXVsdF9ibG9j
ay5hcnJheS5hcnJheS4qc2FtcGxlciogPSBTS0lQCisyNzAzIFZVTEtBTiBBTkRST0lEIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC51bmlmb3JtX2xvY2F0aW9uLm5lc3RlZF9hcnJheS4qc2FtcGxl
cjJEKiA9IFNLSVAKKworLy8gRmFpbCBvbiB0ZXN0cyB0aGF0IHVzZSBhbiB1bnN1cHBvcnRlZCBl
eHRlbnNpb24hCis0MzcxIFZVTEtBTiBBTkRST0lEIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
aGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVf
bGl0ZXJhbC5hZGQuaW50X3RvX3ZlYzNfdmVydGV4ID0gRkFJTAorNDM3MSBWVUxLQU4gQU5EUk9J
RCA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5l
czMxLmFyaXRobWV0aWMuaW5wdXRfYmVmb3JlX2xpdGVyYWwuYWRkLmludF90b191dmVjM192ZXJ0
ZXggPSBGQUlMCis0MzcxIFNXSUZUU0hBREVSIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFk
ZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLiogPSBGQUlMCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfZ2xlczNfdGVzdF9leHBl
Y3RhdGlvbnMudHh0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3Vw
cG9ydC9kZXFwX2dsZXMzX3Rlc3RfZXhwZWN0YXRpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWQ5ZjQ2
MmUwNTcyYzRjYWM3YTM5ZWJkZjE3MDhkMzRiYTZlMTI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMzX3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMCwwICsxLDU5OSBAQAorLy8gQ29weXJpZ2h0IDIwMTUg
VGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBv
ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh
dCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIFRoaXMgZmlsZSBj
b250YWlucyBhIGxpc3Qgb2YgZGVmZWN0aXZlIGRFUVAgY29uZm9ybWFuY2UgdGVzdHMuIFRoZSBl
eHBlY3RlZAorLy8gZm9ybWF0IGlzOgorLy8gIHtCVUcjfSB7TU9ESUZJRVJTfSA6IHtURVNUX05B
TUV9ID0ge1BBU1MsRkFJTCxGTEFLWSxUSU1FT1VULFNLSVB9CisvLworLy8gTU9ESUZJRVJTIGNh
biBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBiZWxvdyBsaXN0LCBjb21iaW5lZCB3aXRoIGEgbG9n
aWNhbCBBTkQ6CisvLyAgV0lOIFhQIFZJU1RBIFdJTjcgV0lOOCBXSU4xMAorLy8gIE1BQyBMRU9Q
QVJEIFNOT1dMRU9QQVJEIExJT04gTU9VTlRBSU5MSU9OIE1BVkVSSUNLUyBZT1NFTUlURSBFTENB
UElUQU4gU0lFUlJBIEhJR0hTSUVSUkEgTU9KQVZFCisvLyAgTElOVVggQ0hST01FT1MgQU5EUk9J
RAorLy8gIE5WSURJQSBBTUQgSU5URUwKKy8vICBERUJVRyBSRUxFQVNFCisvLyAgRDNEOSBEM0Qx
MSBPUEVOR0wgR0xFUyBWVUxLQU4KKy8vICBORVhVUzVYIFBJWEVMMk9SWEwKKy8vICBRVUFEUk9Q
NDAwCisvLworLy8KKy8vIFRFU1RfTkFNRSBjYW4gYmUgYSBzcGVjaWZpYyB0ZXN0IG5hbWUsIG9y
IGhhdmUgYSAnKicgaW4gdGhlIGVuZCwgd2hpY2gKKy8vIGluZGljYXRlcyBhIHByZWZpeCBtYXRj
aGluZy4KKy8vCisvLyBFeGFtcGxlczoKKy8vIGZhaWxzIG9uIGJvdGggd2luZG93cyBhbmQgbWFj
IChjcmFzaCkKKy8vICA5MTUzMCBXSU4gOiBjb250ZXh0X2xvc3RfcmVzdG9yZWQgPSBTS0lQCisv
LyAgOTE1MzAgTUFDIDogY29udGV4dF9sb3N0X3Jlc3RvcmVkID0gU0tJUAorLy8gZmFpbHMgb24g
d2luZG93cyB1c2luZyBOVklESUEgR1BVcworLy8gIDkxNTMzIFdJTiBOVklESUEgOiBnbF9taW5f
dW5pZm9ybXMgPSBGQUlMCisvLyBmYWlscyBvbiBOZXh1czVYIHdpdGggR0xFUyBiYWNrZW5kICho
YW5ncykKKy8vICA5MTUzMSBORVhVUzVYIEdMRVMgOiBjb25mb3JtYW5jZV9tb3JlXyogPSBTS0lQ
CisKKy8vIERvbid0IHJ1biB0aGVzZSB0ZXN0cyBmb3IgZmFzdGVyIHR1cm5vdmVyCisxMTAxIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZsdXNoX2ZpbmlzaC4qID0gU0tJUAorCisvLyBUT0RPKGpt
YWRpbGwpOiBGaWd1cmUgb3V0IHdoeSB0aGVzZSBmYWlsIG9uIHRoZSBib3RzLCBidXQgbm90IGxv
Y2FsbHkuCisxMTA4IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnN0
cnVjdC5sb2NhbC5keW5hbWljX2xvb3Bfc3RydWN0X2FycmF5X2ZyYWdtZW50ID0gRkFJTAorMTA5
NCBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLmhp
Z2hwLmxvb3BfMiA9IEZBSUwKKzEwOTQgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnNoYWRlcnMuaW52YXJpYW5jZS5tZWRpdW1wLmxvb3BfMiA9IEZBSUwKKworLy8gV2UgY2FuJ3Qg
c3VwcG9ydCBkaXN0aW5jdCB0ZXh0dXJlIHNpemVzIGluIEQzRDExLgorMTA5NyBXSU4gRDNEMTEg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5zaXplLmRpc3RpbmN0ID0g
RkFJTAorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICBUZW1wb3JhcnkgZW50cmll
czogdGhleSBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIHRoZSBidWdzIGFyZSBmaXhlZC4KKy8vCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyBGYWlsdXJlcyByZWxhdGVkIHRvIHVzaW5nIGEg
ZGVwdGgvc3RlbmNpbCBlbmFibGVkIGJhY2tidWZmZXIgb24gV2luZG93cyAvIE5WSURJQS4KKzI0
MjggRDNEMTEgTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5j
ZS5oaWdocC5jb21tb25fc3ViZXhwcmVzc2lvbl8xID0gRkFJTAorMjQyOCBEM0QxMSBOVklESUEg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLm1lZGl1bXAuY29tbW9u
X3N1YmV4cHJlc3Npb25fMSA9IEZBSUwKKzI0MjggRDNEMTEgTlZJRElBIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5jZS5sb3dwLmNvbW1vbl9zdWJleHByZXNzaW9uXzEg
PSBGQUlMCisyNDI4IEQzRDExIE5WSURJQSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uaW52
YWxpZGF0ZS5kZWZhdWx0LnJlbmRlcl9hbGwgPSBTS0lQCisyNDI4IEQzRDExIE5WSURJQSA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uaW52YWxpZGF0ZS5kZWZhdWx0LnJlbmRlcl9kZXB0aF9z
dGVuY2lsID0gU0tJUAorMjQyOCBEM0QxMSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLmludmFsaWRhdGUuZGVmYXVsdC5iaW5kX2RlcHRoX3N0ZW5jaWwgPSBTS0lQCisyNDI4IEQz
RDExIE5WSURJQSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uaW52YWxpZGF0ZS5kZWZhdWx0
LmRyYXdfZnJhbWVidWZmZXJfYWxsID0gU0tJUAorMjQyOCBEM0QxMSBOVklESUEgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZmJvLmludmFsaWRhdGUuZGVmYXVsdC5yZWFkX2ZyYW1lYnVmZmVyX2Fs
bCA9IFNLSVAKKzI0MjggRDNEMTEgTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5p
bnZhbGlkYXRlLmRlZmF1bHQuYmluZF9hbGwgPSBTS0lQCisyNDI4IEQzRDExIE5WSURJQSA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5kZWZhdWx0X3JlbmRlcl93aXRoX3Vu
aXRzID0gU0tJUAorCisvLyBUZXN0cyB3ZXJlIGJlaW5nIGhpZGRlbiBieSBmbGFraW5lc3MgKGFu
Z2xlYnVnLmNvbS8zMjcxKQorMzMyOSBEM0QxMSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudHJhbnNmb3JtX2ZlZWRiYWNrLmludGVycG9sYXRpb24uZmxhdC4qID0gRkFJTAorMzMyOSBE
M0QxMSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLmJh
c2ljX3R5cGVzLmludGVybGVhdmVkLnRyaWFuZ2xlcy4qID0gRkFJTAorMzMyOSBEM0QxMSBOVklE
SUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLmJhc2ljX3R5cGVz
LnNlcGFyYXRlLnRyaWFuZ2xlcy4qID0gRkFJTAorCisvLyBNaXNzaW5nIHRoZSBTYW1wbGVDbXAg
aW5zdHJ1Y3Rpb24gaW4gdmVydGV4IHNoYWRlcnMuCisxNDM1IFdJTiBEM0QxMSA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVsb2Quc2FtcGxl
cjJkc2hhZG93X3ZlcnRleCA9IEZBSUwKKzE0MzUgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZWxvZG9mZnNldC5zYW1wbGVy
MmRzaGFkb3dfdmVydGV4ID0gRkFJTAorMTQzNSBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlcHJvamxvZC5zYW1wbGVyMmRz
aGFkb3dfdmVydGV4ID0gRkFJTAorMTQzNSBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlcHJvamxvZG9mZnNldC5zYW1wbGVy
MmRzaGFkb3dfdmVydGV4ID0gRkFJTAorCisvLyBTYW1wbGVDbXAgaXMgbWlzc2luZyBncmFkaWVu
dC9vZmZzZXQgcGFyYW1ldGVycyBpbiBITFNMLgorMTQzNiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlbG9kLnNhbXBsZXIy
ZHNoYWRvd19mcmFnbWVudCA9IEZBSUwKKzE0MzYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZWxvZG9mZnNldC5zYW1wbGVy
MmRzaGFkb3dfZnJhZ21lbnQgPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVwcm9qbG9kLnNhbXBsZXIy
ZHNoYWRvd19mcmFnbWVudCA9IEZBSUwKKzE0MzYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZXByb2psb2RvZmZzZXQuc2Ft
cGxlcjJkc2hhZG93X2ZyYWdtZW50ID0gRkFJTAorMTQzNiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlZ3JhZC5zYW1wbGVy
MmRzaGFkb3dfdmVydGV4ID0gRkFJTAorMTQzNiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlZ3JhZC5zYW1wbGVyMmRzaGFk
b3dfZnJhZ21lbnQgPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVncmFkLnNhbXBsZXIyZGFycmF5c2hh
ZG93X3ZlcnRleCA9IEZBSUwKKzE0MzYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZWdyYWQuc2FtcGxlcjJkYXJyYXlzaGFk
b3dfZnJhZ21lbnQgPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVncmFkb2Zmc2V0LnNhbXBsZXIyZHNo
YWRvd192ZXJ0ZXggPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVncmFkb2Zmc2V0LnNhbXBsZXIyZHNo
YWRvd19mcmFnbWVudCA9IEZBSUwKKzE0MzYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZWdyYWRvZmZzZXQuc2FtcGxlcjJk
YXJyYXlzaGFkb3dfdmVydGV4ID0gRkFJTAorMTQzNiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlZ3JhZG9mZnNldC5zYW1w
bGVyMmRhcnJheXNoYWRvd19mcmFnbWVudCA9IEZBSUwKKzE0MzYgV0lOIEQzRDExIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZXByb2pncmFk
LnNhbXBsZXIyZHNoYWRvd192ZXJ0ZXggPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVwcm9qZ3JhZC5z
YW1wbGVyMmRzaGFkb3dfZnJhZ21lbnQgPSBGQUlMCisxNDM2IFdJTiBEM0QxMSA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVwcm9qZ3JhZG9m
ZnNldC5zYW1wbGVyMmRzaGFkb3dfdmVydGV4ID0gRkFJTAorMTQzNiBXSU4gRDNEMTEgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlcHJvamdy
YWRvZmZzZXQuc2FtcGxlcjJkc2hhZG93X2ZyYWdtZW50ID0gRkFJTAorCisvLyBEcmF3QnVmZmVy
cyB0ZXN0IGZhaWxpbmcgb24gRDNEMTEuCiszMjk4IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5zaGFkZXJzLmZyYWdkYXRhLmRyYXdfYnVmZmVycyA9IEZBSUwKKworLy8gVE9ETyhq
bWFkaWxsLCBjd2FsbGV6KTogdHJpYWdlIHRoZSBmYWlsdXJlcyBiZWxvdyBpbnRvIHBlcm1hbmVu
dCBhbmQgdGVtcG9yYXJ5IGZhaWx1cmVzCisKKy8vIFF1YWRybyBQNDAwCisvLyBUT0RPKGptYWRp
bGwpOiBOYXJyb3cgdG8gUDQwMCBkZXZpY2Ugb25seTogMHgxQ0IzLgorMjIyMiBEM0QxMSBOVklE
SUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5mdW5jdGlvbnMuY29udHJvbF9mbG93
LnJldHVybl9pbl9uZXN0ZWRfbG9vcF9mcmFnbWVudCA9IEZBSUwKKzIyMjIgRDNEMTEgTlZJRElB
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuZnVuY3Rpb25zLmNvbnRyb2xfZmxvdy5y
ZXR1cm5faW5fbmVzdGVkX2xvb3BfdmVydGV4ID0gRkFJTAorMjIyMiBEM0QxMSBOVklESUEgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuMmQubWluX2xvZC5saW5lYXJfbmVh
cmVzdCA9IEZBSUwKKzIyMjIgRDNEMTEgTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUubWlwbWFwLjJkLm1pbl9sb2QubmVhcmVzdF9uZWFyZXN0ID0gRkFJTAorMjIyMiBEM0Qx
MSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuM2QubWluX2xv
ZC5saW5lYXJfbmVhcmVzdCA9IEZBSUwKKzIyMjIgRDNEMTEgTlZJRElBIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLjNkLm1pbl9sb2QubmVhcmVzdF9uZWFyZXN0ID0gRkFJ
TAorMjIyMiBEM0QxMSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBt
YXAuY3ViZS5taW5fbG9kLmxpbmVhcl9uZWFyZXN0ID0gRkFJTAorMjIyMiBEM0QxMSBOVklESUEg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS5taW5fbG9kLm5lYXJl
c3RfbmVhcmVzdCA9IEZBSUwKKworLy8gRmxha3kgb24gV2luNyBEM0QxMSBOVklESUEKKzQwNzAg
V0lONyBEM0QxMSBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5m
bGF0c2hhZGluZy50cmlhbmdsZXMgPSBGQUlMCisKKy8vIFZlcnRleCBhdHRyaWJ1dGUgYWxpYXNp
bmcgaXMgbm90IHN1cHBvcnRlZCBvbiBEM0QKKzM0NjcgRDNEOSA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5hdHRyaWJ1dGVfbG9jYXRpb24uYmluZF9hbGlhc2luZy5jb25kKiA9IEZBSUwKKzM0Njcg
RDNEOSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5hdHRyaWJ1dGVfbG9jYXRpb24uYmluZF9hbGlh
c2luZy5tYXhfY29uZCogPSBGQUlMCiszNDY3IEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LmF0dHJpYnV0ZV9sb2NhdGlvbi5iaW5kX2FsaWFzaW5nLmNvbmQqID0gRkFJTAorMzQ2NyBEM0Qx
MSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5hdHRyaWJ1dGVfbG9jYXRpb24uYmluZF9hbGlhc2lu
Zy5tYXhfY29uZCogPSBGQUlMCisKKy8vIFdpbmRvd3MgYW5kIExpbnV4IGZhaWx1cmVzCisxMDk1
IExJTlVYIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLjJkLnByb2plY3Rl
ZC4qID0gRkFJTAorCisvLyBXaW5kb3dzIG9ubHkgZmFpbHVyZQorMTA5NiBXSU4gRDNEMTEgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmRlcHRoX3N0ZW5jaWwuc3RlbmNpbF9k
ZXB0aF9mdW5jcy5zdGVuY2lsXyogPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuZGVwdGhfc3RlbmNpbC5zdGVuY2lsX29wcy4qID0gRkFJ
TAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmRl
cHRoX3N0ZW5jaWwud3JpdGVfbWFzay4qID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmRlcHRoX3N0ZW5jaWwucmFuZG9tLiogPSBGQUlM
CisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxl
bmQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfY29u
c3RhbnRfY29sb3JfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5l
cXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfY29uc3RhbnRfY29sb3Jfb25lX21pbnVzX2Nv
bnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRpb25fc3JjX2Z1
bmNfZHN0X2Z1bmMuYWRkX29uZV9taW51c19jb25zdGFudF9jb2xvcl9jb25zdGFudF9hbHBoYSA9
IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29w
cy5ibGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFk
ZF9vbmVfbWludXNfY29uc3RhbnRfY29sb3Jfb25lX21pbnVzX2NvbnN0YW50X2FscGhhID0gRkFJ
TAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJs
ZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuYWRkX2Nv
bnN0YW50X2FscGhhX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIu
ZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuYWRkX2NvbnN0YW50X2FscGhhX29uZV9taW51c19j
b25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLmZyYWdtZW50X29wcy5ibGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVxdWF0aW9uX3NyY19m
dW5jX2RzdF9mdW5jLmFkZF9vbmVfbWludXNfY29uc3RhbnRfYWxwaGFfY29uc3RhbnRfY29sb3Ig
PSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9v
cHMuYmxlbmQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5h
ZGRfb25lX21pbnVzX2NvbnN0YW50X2FscGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZB
SUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5i
bGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRy
YWN0X2NvbnN0YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVi
dWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3RfY29uc3RhbnRfY29sb3Jf
b25lX21pbnVzX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1
YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0YW50X2NvbG9y
X2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRpb25fc3Jj
X2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0YW50X2NvbG9yX29uZV9taW51
c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVxdWF0aW9uX3Ny
Y19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2NvbnN0YW50X2FscGhhX2NvbnN0YW50X2NvbG9yID0g
RkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3Bz
LmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3Vi
dHJhY3RfY29uc3RhbnRfYWxwaGFfb25lX21pbnVzX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5
NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRl
ZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25l
X21pbnVzX2NvbnN0YW50X2FscGhhX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5NiBXSU4gRDNE
MTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJh
bWVidWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25lX21pbnVzX2Nv
bnN0YW50X2FscGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYgV0lOIEQz
RDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5kZWZhdWx0X2Zy
YW1lYnVmZmVyLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3RfY29u
c3RhbnRfY29sb3JfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5l
cXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X2NvbnN0YW50X2NvbG9y
X29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVx
dWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0
YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1
YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9vbmVfbWludXNfY29uc3Rh
bnRfY29sb3Jfb25lX21pbnVzX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVi
dWZmZXIuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9jb25zdGFu
dF9hbHBoYV9jb25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5kZWZhdWx0X2ZyYW1lYnVmZmVyLmVxdWF0
aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3VidHJhY3RfY29uc3RhbnRfYWxwaGFfb25l
X21pbnVzX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmRlZmF1bHRfZnJhbWVidWZmZXIuZXF1YXRp
b25fc3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9vbmVfbWludXNfY29uc3RhbnRf
YWxwaGFfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5lcXVhdGlv
bl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9h
bHBoYV9vbmVfbWludXNfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZmJvX3NyZ2IuZXF1YXRpb25f
c3JjX2Z1bmNfZHN0X2Z1bmMuYWRkX2NvbnN0YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJ
TAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJs
ZW5kLmZib19zcmdiLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9jb25zdGFudF9jb2xv
cl9vbmVfbWludXNfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZmJvX3NyZ2IuZXF1YXRpb25fc3Jj
X2Z1bmNfZHN0X2Z1bmMuYWRkX29uZV9taW51c19jb25zdGFudF9jb2xvcl9jb25zdGFudF9hbHBo
YSA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50
X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfb25lX21p
bnVzX2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYg
V0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9f
c3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfY29uc3RhbnRfYWxwaGFfY29uc3Rh
bnRfY29sb3IgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
cmFnbWVudF9vcHMuYmxlbmQuZmJvX3NyZ2IuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuYWRk
X2NvbnN0YW50X2FscGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYgV0lO
IEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9fc3Jn
Yi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfb25lX21pbnVzX2NvbnN0YW50X2FscGhh
X2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmZib19zcmdiLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9m
dW5jLmFkZF9vbmVfbWludXNfY29uc3RhbnRfYWxwaGFfb25lX21pbnVzX2NvbnN0YW50X2NvbG9y
ID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLmJsZW5kLmZib19zcmdiLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2Nv
bnN0YW50X2NvbG9yX2NvbnN0YW50X2FscGhhID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmZib19zcmdiLmVxdWF0aW9uX3Ny
Y19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFu
dF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZy
YWdtZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5zdWJ0
cmFjdF9vbmVfbWludXNfY29uc3RhbnRfY29sb3JfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxMDk2
IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZmJv
X3NyZ2IuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0
YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDEx
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVh
dGlvbl9zcmNfZnVuY19kc3RfZnVuYy5zdWJ0cmFjdF9jb25zdGFudF9hbHBoYV9jb25zdGFudF9j
b2xvciA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5zdWJ0cmFj
dF9jb25zdGFudF9hbHBoYV9vbmVfbWludXNfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxMDk2IFdJ
TiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZmJvX3Ny
Z2IuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rfb25lX21pbnVzX2NvbnN0YW50
X2FscGhhX2NvbnN0YW50X2NvbG9yID0gRkFJTAorMTA5NiBXSU4gRDNEMTEgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmZib19zcmdiLmVxdWF0aW9uX3NyY19mdW5j
X2RzdF9mdW5jLnN1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9hbHBoYV9vbmVfbWludXNfY29u
c3RhbnRfY29sb3IgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuYmxlbmQuZmJvX3NyZ2IuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMu
cmV2ZXJzZV9zdWJ0cmFjdF9jb25zdGFudF9jb2xvcl9jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEw
OTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5m
Ym9fc3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X2NvbnN0
YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDEx
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVh
dGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51c19jb25zdGFu
dF9jb2xvcl9jb25zdGFudF9hbHBoYSA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlvbl9zcmNfZnVu
Y19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9jb2xvcl9vbmVf
bWludXNfY29uc3RhbnRfYWxwaGEgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZmJvX3NyZ2IuZXF1YXRpb25fc3JjX2Z1bmNf
ZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9jb25zdGFudF9hbHBoYV9jb25zdGFudF9jb2xvciA9
IEZBSUwKKzEwOTYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29w
cy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRy
YWN0X2NvbnN0YW50X2FscGhhX29uZV9taW51c19jb25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYg
V0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9f
c3JnYi5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51
c19jb25zdGFudF9hbHBoYV9jb25zdGFudF9jb2xvciA9IEZBSUwKKzEwOTYgV0lOIEQzRDExIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5mYm9fc3JnYi5lcXVhdGlv
bl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X29uZV9taW51c19jb25zdGFudF9h
bHBoYV9vbmVfbWludXNfY29uc3RhbnRfY29sb3IgPSBGQUlMCisxMDk2IFdJTiBEM0QxMSA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMucmFuZG9tLiogPSBGQUlMCisxMDk2IFdJ
TiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24u
YmFzaWNfc2hhZGVyLiogPSBGQUlMCisxMTAxIFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5wb2x5Z29uX29mZnNldC5maXhlZDE2X3JlbmRlcl93aXRoX3VuaXRzID0gRkFJTAorMTEw
MSBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucG9seWdvbl9vZmZzZXQuZml4ZWQy
NF9yZW5kZXJfd2l0aF91bml0cyA9IEZBSUwKKzExMDEgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmxpZmV0aW1lLmF0dGFjaC5kZWxldGVkX2lucHV0LmJ1ZmZlcl92ZXJ0ZXhfYXJy
YXkgPSBGQUlMCisKKy8vIEZhaWxlZCBhZnRlciBkRVFQIHJvbGwKKzQyMzQgV0lOIEQzRDExIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5idWZmZXIucmVuZGVyYnVmZmVyX3N0
b3JhZ2VfbXVsdGlzYW1wbGUgPSBGQUlMCisKKy8vIEJhc2ljIGxpbmUgdHJhbnNmb3JtIGZlZWRi
YWNrIHRlc3RzIGZsYWt5IG9uIFdpbmRvd3MuCisyNjc2IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYmFzaWNfdHlwZXMuaW50ZXJsZWF2ZWQubGlu
ZXMuKiA9IEZBSUwKKzI2NzYgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5z
Zm9ybV9mZWVkYmFjay5iYXNpY190eXBlcy5zZXBhcmF0ZS5saW5lcy4qID0gRkFJTAorCisvLyBW
ZXJ5IHNtYWxsIHRocmVzaG9sZCBpc3N1ZS4gQ291bGQgdXBzdHJlYW0gYSBoaWdoZXIgdG9sZXJh
bmNlIHRvIGRFUVAuCisyMzIzIFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLnVuaXRzLjJfdW5pdHMub25seV9jdWJlLjcgPSBGQUlMCisKKy8vIEJsaXQgcmVsYXRlZCBm
YWlsdXJlcyBvbiBEM0QxMQorMzI5NyBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLmJsaXQucmVjdC5uZWFyZXN0X2NvbnNpc3RlbmN5X291dF9vZl9ib3VuZHNfbWFnX3JldmVy
c2VfZHN0X3ggPSBGQUlMCiszMjk3IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
Ym8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lzdGVuY3lfb3V0X29mX2JvdW5kc19tYWdfcmV2ZXJz
ZV9kc3RfeSA9IEZBSUwKKzMyOTcgV0lOIEQzRDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZi
by5ibGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5jeV9vdXRfb2ZfYm91bmRzX21hZ19yZXZlcnNl
X3NyY194ID0gRkFJTAorMzI5NyBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJv
LmJsaXQucmVjdC5uZWFyZXN0X2NvbnNpc3RlbmN5X291dF9vZl9ib3VuZHNfbWFnX3JldmVyc2Vf
c3JjX3kgPSBGQUlMCiszMjk3IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8u
YmxpdC5yZWN0Lm91dF9vZl9ib3VuZHNfbGluZWFyID0gRkFJTAorMzI5NyBXSU4gRDNEMTEgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQucmVjdC5vdXRfb2ZfYm91bmRzX3JldmVyc2Vf
ZHN0X3hfbGluZWFyID0gRkFJTAorMzI5NyBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZmJvLmJsaXQucmVjdC5vdXRfb2ZfYm91bmRzX3JldmVyc2VfZHN0X3lfbGluZWFyID0gRkFJ
TAorMzI5NyBXSU4gRDNEMTEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQucmVjdC5v
dXRfb2ZfYm91bmRzX3JldmVyc2Vfc3JjX2RzdF94X2xpbmVhciA9IEZBSUwKKzMyOTcgV0lOIEQz
RDExIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3Qub3V0X29mX2JvdW5kc19y
ZXZlcnNlX3NyY19kc3RfeV9saW5lYXIgPSBGQUlMCiszMjk3IFdJTiBEM0QxMSA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm91dF9vZl9ib3VuZHNfcmV2ZXJzZV9zcmNfeF9s
aW5lYXIgPSBGQUlMCiszMjk3IFdJTiBEM0QxMSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8u
YmxpdC5yZWN0Lm91dF9vZl9ib3VuZHNfcmV2ZXJzZV9zcmNfeV9saW5lYXIgPSBGQUlMCisKKy8v
IFdpbmRvd3MgQU1EIHNwZWNpZmljIGZhaWx1cmVzCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQuZGVwdGhfc3RlbmNpbC5kZXB0aDI0X3N0ZW5jaWw4
X3NjYWxlID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LmZiby5ibGl0LmRlcHRoX3N0ZW5jaWwuZGVwdGgyNF9zdGVuY2lsOF9zdGVuY2lsX29ubHkgPSBG
QUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9y
LnJlcGVhdGVkX2NsZWFyLmJsaXQudGV4MmQucjExZl9nMTFmX2IxMGYgPSBGQUlMCisxNjMzIFdJ
TiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2Ns
ZWFyLmJsaXQudGV4MmQucmczMmYgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLmJsaXQudGV4MmQucmcxNmYg
PSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNv
bG9yLnJlcGVhdGVkX2NsZWFyLmJsaXQudGV4MmQucjMyZiA9IEZBSUwKKzE2MzMgV0lOIEQzRDEx
IEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29sb3IucmVwZWF0ZWRfY2xlYXIuYmxp
dC50ZXgyZC5yMTZmID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLmZiby5jb2xvci5yZXBlYXRlZF9jbGVhci5ibGl0LnRleDJkLnJnYjE2ZiA9IEZBSUwK
KzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29sb3IucmVw
ZWF0ZWRfY2xlYXIuYmxpdC50ZXgyZC5yZzggPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLmJsaXQudGV4MmQu
cmdiMTBfYTIgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLmJsaXQudGV4MmQucmdiYTE2ZiA9IEZBSUwKKzE2
MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29sb3IucmVwZWF0
ZWRfY2xlYXIuYmxpdC50ZXgyZC5yOCA9IEZBSUwKKzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mYm8uY29sb3IucmVwZWF0ZWRfY2xlYXIuc2FtcGxlLnRleDJkLnJn
YmEzMmYgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLnNhbXBsZS50ZXgyZC5yZ2JhMTZmID0gRkFJTAorMTYz
MyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5jb2xvci5yZXBlYXRl
ZF9jbGVhci5zYW1wbGUudGV4MmQucjExZl9nMTFmX2IxMGYgPSBGQUlMCisxNjMzIFdJTiBEM0Qx
MSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLnNh
bXBsZS50ZXgyZC5yZzMyZiA9IEZBSUwKKzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8uY29sb3IucmVwZWF0ZWRfY2xlYXIuc2FtcGxlLnRleDJkLnJnMTZmID0g
RkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5jb2xv
ci5yZXBlYXRlZF9jbGVhci5zYW1wbGUudGV4MmQucjMyZiA9IEZBSUwKKzE2MzMgV0lOIEQzRDEx
IEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29sb3IucmVwZWF0ZWRfY2xlYXIuc2Ft
cGxlLnRleDJkLnIxNmYgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLnNhbXBsZS50ZXgyZC5yZ2IxNmYgPSBG
QUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9y
LnJlcGVhdGVkX2NsZWFyLnNhbXBsZS50ZXgyZC5yZzggPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBB
TUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFyLnNhbXBs
ZS50ZXgyZC5yOCA9IEZBSUwKKzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5mYm8uY29sb3IucmVwZWF0ZWRfY2xlYXIuc2FtcGxlLnRleDJkLnJnYjEwX2EyID0gRkFJ
TAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIu
c2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFyLnRleDJkX3JnYjE2ZiA9IEZBSUwKKzE2MzMgV0lOIEQz
RDExIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5yYXN0ZXJpemF0aW9uLmZiby5yYm9fbXVs
dGlzYW1wbGVfbWF4LmludGVycG9sYXRpb24ubGluZXMgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBB
TUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5mYm8ucmJvX211bHRpc2Ft
cGxlX21heC5wcmltaXRpdmVzLmxpbmVzID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUuZm9ybWF0cy5yZ2IxMF9h
Ml9uZWFyZXN0X21pcG1hcF9uZWFyZXN0ID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUuZm9ybWF0cy5yZ2I1NjVf
bmVhcmVzdF9taXBtYXBfbmVhcmVzdCA9IEZBSUwKKzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmluZy5jdWJlLmZvcm1hdHMucmdiYTE2Zl9u
ZWFyZXN0X21pcG1hcF9uZWFyZXN0ID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLjJkLm1pbl9sb2QubmVhcmVzdF9uZWFyZXN0
ID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUubWlwbWFwLjJkLm1pbl9sb2QubGluZWFyX25lYXJlc3QgPSBGQUlMCisxNjMzIFdJTiBEM0Qx
MSBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuMmQubWF4X2xvZC5u
ZWFyZXN0X25lYXJlc3QgPSBGQUlMCisxNjMzIFdJTiBEM0QxMSBBTUQgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuMmQubWF4X2xvZC5saW5lYXJfbmVhcmVzdCA9IEZBSUwK
KzE2MzMgV0lOIEQzRDExIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1h
cC4zZC5taW5fbG9kLm5lYXJlc3RfbmVhcmVzdCA9IEZBSUwKKzE2MzMgV0lOIEQzRDExIEFNRCA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC4zZC5taW5fbG9kLmxpbmVhcl9u
ZWFyZXN0ID0gRkFJTAorMTYzMyBXSU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUubWlwbWFwLjNkLm1heF9sb2QubmVhcmVzdF9uZWFyZXN0ID0gRkFJTAorMTYzMyBX
SU4gRDNEMTEgQU1EIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLjNkLm1h
eF9sb2QubGluZWFyX25lYXJlc3QgPSBGQUlMCisKKy8vIEQzRDExIEludGVsIHNwZWNpZmljCisK
KzEzNDkgRDNEMTEgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS51bml0cy4y
X3VuaXRzLm9ubHlfY3ViZS42ID0gRkFJTAorMTM0OSBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLnVuaXRzLjJfdW5pdHMub25seV8yZF9hcnJheS44ID0gRkFJTAor
MTM0OSBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLnVuaXRzLjJf
dW5pdHMub25seV8zZC44ID0gRkFJTAorMTM0OSBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLnVuaXRzLjJfdW5pdHMubWl4ZWQuMCA9IEZBSUwKKzEzNDkgRDNEMTEg
SU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS51bml0cy4yX3VuaXRzLm1peGVk
LjggPSBGQUlMCisxMzQ5IEQzRDExIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUudW5pdHMuMl91bml0cy5taXhlZC45ID0gRkFJTAorMTM0OSBEM0QxMSBJTlRFTCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLnVuaXRzLjRfdW5pdHMub25seV8zZC4zID0gRkFJTAor
MjM0OSBEM0QxMSBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC4y
ZC5taW5fbG9kLm5lYXJlc3RfbmVhcmVzdCA9IEZBSUwKKzIzNDkgRDNEMTEgSU5URUwgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuMmQubWluX2xvZC5saW5lYXJfbmVhcmVz
dCA9IEZBSUwKKzIzNDkgRDNEMTEgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS5taXBtYXAuM2QubWluX2xvZC5uZWFyZXN0X25lYXJlc3QgPSBGQUlMCisyMzQ5IEQzRDExIElO
VEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLjNkLm1pbl9sb2QubGlu
ZWFyX25lYXJlc3QgPSBGQUlMCisyMzQ5IEQzRDExIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnJhc3Rlcml6YXRpb24uZmJvLnJib19tdWx0aXNhbXBsZV80LnByaW1pdGl2ZXMubGluZXMg
PSBGQUlMCisyMzQ5IEQzRDExIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnJhc3Rlcml6
YXRpb24uZmJvLnJib19tdWx0aXNhbXBsZV80LmludGVycG9sYXRpb24ubGluZXMgPSBGQUlMCisy
MzQ5IEQzRDExIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnJhc3Rlcml6YXRpb24uZmJv
LnJib19tdWx0aXNhbXBsZV9tYXgucHJpbWl0aXZlcy5saW5lcyA9IEZBSUwKKzIzNDkgRDNEMTEg
SU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5mYm8ucmJvX211bHRp
c2FtcGxlX21heC5pbnRlcnBvbGF0aW9uLmxpbmVzID0gRkFJTAorCisvLyBGYWlsaW5nIFRlc3Rz
IG9uIFdpbmRvd3MgYW5kIE1hYyBvbiBJbnRlbCBIRCA2MzAKKzIxMzcgV0lOIElOVEVMIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5jb2xvci5yZXBlYXRlZF9jbGVhci5zYW1wbGUudGV4MmQu
KiA9IEZBSUwKKzIxMzcgTUFDIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5jb2xv
ci5yZXBlYXRlZF9jbGVhci5zYW1wbGUudGV4MmQuKiA9IEZBSUwKKworLy8gTGludXggb25seSBm
YWlsdXJlcworCisvLyBVQk8gdGVzdHMgdHJpZ2dlciBjcmFzaGVzIHdoZW4gZ2V0dGluZyB0aGUg
cHJvZ3JhbSBpbmZvIGxvZywgc2tpcCB0aGVtIHVudGlsIHRoaXMgaXMgZml4ZWQuCisxMzIzIExJ
TlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC51Ym8uKiA9IFNLSVAKKworMTMyMyBM
SU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmRlcHRoLmRlcHRoX3Rlc3Rf
Y2xhbXAuZGVwdGhfY29tcG9uZW50MzJmID0gRkFJTAorMTMyMyBMSU5VWCBPUEVOR0wgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmRlcHRoLmRlcHRoX3Rlc3RfY2xhbXAuZGVwdGgzMmZfc3Rl
bmNpbDggPSBGQUlMCisxMzIzIExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
Ym8uZGVwdGguZGVwdGhfd3JpdGVfY2xhbXAuZGVwdGhfY29tcG9uZW50MzJmID0gRkFJTAorMTMy
MyBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmRlcHRoLmRlcHRoX3dy
aXRlX2NsYW1wLmRlcHRoMzJmX3N0ZW5jaWw4ID0gRkFJTAorMTMyMyBMSU5VWCBPUEVOR0wgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5mYm8ucmJvX211bHRpc2FtcGxlX21h
eC5wcmltaXRpdmVzLnBvaW50cyA9IEZBSUwKKworLy8gV2hpbGUgbG9vcHMgd2l0aCAnY29udGlu
dWUnIHNlZW0gZmxha3kgb24gTGludXguIChQb3NzaWJseSBhbGwgR0wgcmVuZGVyZXJzKQorMTMy
NCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGls
ZV9jb25zdGFudF9pdGVyYXRpb25zLmNvbmRpdGlvbmFsX2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwK
KzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMu
d2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy5jb25kaXRpb25hbF9jb250aW51ZV9mcmFnbWVudCA9
IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMu
bG9vcHMud2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy51bmNvbmRpdGlvbmFsX2NvbnRpbnVlX3Zl
cnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNo
YWRlcnMubG9vcHMud2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy51bmNvbmRpdGlvbmFsX2NvbnRp
bnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLm9ubHlfY29udGlu
dWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuc2hhZGVycy5sb29wcy53aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLm9ubHlfY29udGludWVf
ZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLmxvb3BzLndoaWxlX2NvbnN0YW50X2l0ZXJhdGlvbnMuZG91YmxlX2NvbnRpbnVl
X3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnNoYWRlcnMubG9vcHMud2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy5kb3VibGVfY29udGludWVf
ZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLmxvb3BzLndoaWxlX2NvbnN0YW50X2l0ZXJhdGlvbnMubWl4ZWRfYnJlYWtfY29u
dGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLm1peGVkX2JyZWFr
X2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV91bmlmb3JtX2l0ZXJhdGlvbnMuY29uZGl0
aW9uYWxfY29udGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV91bmlmb3JtX2l0ZXJhdGlvbnMuY29u
ZGl0aW9uYWxfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLndoaWxlX3VuaWZvcm1faXRlcmF0aW9u
cy51bmNvbmRpdGlvbmFsX2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdM
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMud2hpbGVfdW5pZm9ybV9pdGVy
YXRpb25zLnVuY29uZGl0aW9uYWxfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVY
IE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLndoaWxlX3VuaWZv
cm1faXRlcmF0aW9ucy5vbmx5X2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BF
TkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMud2hpbGVfdW5pZm9ybV9p
dGVyYXRpb25zLm9ubHlfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5H
TCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLndoaWxlX3VuaWZvcm1faXRl
cmF0aW9ucy5kb3VibGVfY29udGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV91bmlmb3JtX2l0ZXJh
dGlvbnMuZG91YmxlX2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV91bmlmb3JtX2l0ZXJh
dGlvbnMubWl4ZWRfYnJlYWtfY29udGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVO
R0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy53aGlsZV91bmlmb3JtX2l0
ZXJhdGlvbnMubWl4ZWRfYnJlYWtfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVY
IE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLndoaWxlX2R5bmFt
aWNfaXRlcmF0aW9ucy5jb25kaXRpb25hbF9jb250aW51ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJ
TlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLndoaWxlX2R5
bmFtaWNfaXRlcmF0aW9ucy5jb25kaXRpb25hbF9jb250aW51ZV9mcmFnbWVudCA9IEZBSUwKKzEz
MjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMud2hp
bGVfZHluYW1pY19pdGVyYXRpb25zLnVuY29uZGl0aW9uYWxfY29udGludWVfdmVydGV4ID0gRkFJ
TAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29w
cy53aGlsZV9keW5hbWljX2l0ZXJhdGlvbnMudW5jb25kaXRpb25hbF9jb250aW51ZV9mcmFnbWVu
dCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRl
cnMubG9vcHMud2hpbGVfZHluYW1pY19pdGVyYXRpb25zLm9ubHlfY29udGludWVfdmVydGV4ID0g
RkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5s
b29wcy53aGlsZV9keW5hbWljX2l0ZXJhdGlvbnMub25seV9jb250aW51ZV9mcmFnbWVudCA9IEZB
SUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9v
cHMud2hpbGVfZHluYW1pY19pdGVyYXRpb25zLmRvdWJsZV9jb250aW51ZV92ZXJ0ZXggPSBGQUlM
CisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3Bz
LndoaWxlX2R5bmFtaWNfaXRlcmF0aW9ucy5kb3VibGVfY29udGludWVfZnJhZ21lbnQgPSBGQUlM
CisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3Bz
LndoaWxlX2R5bmFtaWNfaXRlcmF0aW9ucy5taXhlZF9icmVha19jb250aW51ZV92ZXJ0ZXggPSBG
QUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxv
b3BzLndoaWxlX2R5bmFtaWNfaXRlcmF0aW9ucy5taXhlZF9icmVha19jb250aW51ZV9mcmFnbWVu
dCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRl
cnMubG9vcHMuZG9fd2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy5jb25kaXRpb25hbF9jb250aW51
ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2NvbnN0YW50X2l0ZXJhdGlvbnMuY29uZGl0aW9uYWxf
Y29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2NvbnN0YW50X2l0ZXJhdGlvbnMudW5j
b25kaXRpb25hbF9jb250aW51ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2NvbnN0YW50X2l0ZXJh
dGlvbnMudW5jb25kaXRpb25hbF9jb250aW51ZV9mcmFnbWVudCA9IEZBSUwKKzEzMjQgTElOVVgg
T1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfY29u
c3RhbnRfaXRlcmF0aW9ucy5vbmx5X2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVgg
T1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfY29u
c3RhbnRfaXRlcmF0aW9ucy5vbmx5X2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5V
WCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV9j
b25zdGFudF9pdGVyYXRpb25zLmRvdWJsZV9jb250aW51ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJ
TlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxl
X2NvbnN0YW50X2l0ZXJhdGlvbnMuZG91YmxlX2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMy
NCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193
aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLm1peGVkX2JyZWFrX2NvbnRpbnVlX3ZlcnRleCA9IEZB
SUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9v
cHMuZG9fd2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy5taXhlZF9icmVha19jb250aW51ZV9mcmFn
bWVudCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNo
YWRlcnMubG9vcHMuZG9fd2hpbGVfdW5pZm9ybV9pdGVyYXRpb25zLmNvbmRpdGlvbmFsX2NvbnRp
bnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfdW5pZm9ybV9pdGVyYXRpb25zLmNvbmRpdGlvbmFs
X2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV91bmlmb3JtX2l0ZXJhdGlvbnMudW5j
b25kaXRpb25hbF9jb250aW51ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX3VuaWZvcm1faXRlcmF0
aW9ucy51bmNvbmRpdGlvbmFsX2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBP
UEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV91bmlm
b3JtX2l0ZXJhdGlvbnMub25seV9jb250aW51ZV92ZXJ0ZXggPSBGQUlMCisxMzI0IExJTlVYIE9Q
RU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX3VuaWZv
cm1faXRlcmF0aW9ucy5vbmx5X2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBP
UEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV91bmlm
b3JtX2l0ZXJhdGlvbnMuZG91YmxlX2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVgg
T1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfdW5p
Zm9ybV9pdGVyYXRpb25zLmRvdWJsZV9jb250aW51ZV9mcmFnbWVudCA9IEZBSUwKKzEzMjQgTElO
VVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVf
dW5pZm9ybV9pdGVyYXRpb25zLm1peGVkX2JyZWFrX2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEz
MjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9f
d2hpbGVfdW5pZm9ybV9pdGVyYXRpb25zLm1peGVkX2JyZWFrX2NvbnRpbnVlX2ZyYWdtZW50ID0g
RkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5s
b29wcy5kb193aGlsZV9keW5hbWljX2l0ZXJhdGlvbnMuY29uZGl0aW9uYWxfY29udGludWVfdmVy
dGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hh
ZGVycy5sb29wcy5kb193aGlsZV9keW5hbWljX2l0ZXJhdGlvbnMuY29uZGl0aW9uYWxfY29udGlu
dWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2R5bmFtaWNfaXRlcmF0aW9ucy51bmNvbmRpdGlv
bmFsX2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfZHluYW1pY19pdGVyYXRpb25zLnVu
Y29uZGl0aW9uYWxfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2R5bmFtaWNfaXRl
cmF0aW9ucy5vbmx5X2NvbnRpbnVlX3ZlcnRleCA9IEZBSUwKKzEzMjQgTElOVVggT1BFTkdMIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfZHluYW1pY19pdGVy
YXRpb25zLm9ubHlfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisxMzI0IExJTlVYIE9QRU5HTCA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmRvX3doaWxlX2R5bmFtaWNfaXRl
cmF0aW9ucy5kb3VibGVfY29udGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVOR0wg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV9keW5hbWljX2l0
ZXJhdGlvbnMuZG91YmxlX2NvbnRpbnVlX2ZyYWdtZW50ID0gRkFJTAorMTMyNCBMSU5VWCBPUEVO
R0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV9keW5hbWlj
X2l0ZXJhdGlvbnMubWl4ZWRfYnJlYWtfY29udGludWVfdmVydGV4ID0gRkFJTAorMTMyNCBMSU5V
WCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV9k
eW5hbWljX2l0ZXJhdGlvbnMubWl4ZWRfYnJlYWtfY29udGludWVfZnJhZ21lbnQgPSBGQUlMCisK
Ky8vIFBvbHlnb24gb2Zmc2V0IGZhaWx1cmVzCiszMzA0IExJTlVYIE9QRU5HTCA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5mbG9hdDMyX2ZhY3Rvcl8xX3Nsb3BlID0gRkFJ
TAorMzMwNCBMSU5VWCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucG9seWdvbl9vZmZz
ZXQuZmxvYXQzMl9yZXN1bHRfZGVwdGhfY2xhbXAgPSBGQUlMCisKKy8vIEZsYWt5IHRlc3QKKzMz
MDUgTElOVVggT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9m
dW5jdGlvbnMuY29tbW9uLnVpbnRiaXRzdG9mbG9hdC51aW50X2hpZ2hwX3ZlcnRleCA9IEZBSUwK
KworLy8gTGludXggSW50ZWwgc3BlY2lmaWMKKzIzNDkgTElOVVggT1BFTkdMIElOVEVMIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LmRlZmF1bHRfZnJhbWVidWZmZXIqID0gRkFJTAor
CisvLyBNYWMgZmFpbHVyZXMgKG92ZXJicm9hZCBzdXBwcmVzaW9ucykKKzM0NjYgTUFDIE9QRU5H
TCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5hdHRyaWJ1dGVfbG9jYXRpb24uYmluZF9hbGlhc2lu
Zy5jb25kKiA9IFNLSVAKKzM0NjYgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5h
dHRyaWJ1dGVfbG9jYXRpb24uYmluZF9hbGlhc2luZy5tYXhfY29uZCogPSBTS0lQCisyMTM3IE1B
QyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQuZGVmYXVsdF9mcmFtZWJ1
ZmZlci4qID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZi
by5ibGl0LnJlY3Qub3V0X29mX2JvdW5kc19yZXZlcnNlXyogPSBGQUlMCisyMTM3IE1BQyBPUEVO
R0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuaW1wbGVtZW50YXRpb25fbGltaXRzLmNvbXByZXNz
ZWRfdGV4dHVyZV9mb3JtYXRzID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmltcGxlbWVudGF0aW9uX2xpbWl0cy5udW1fY29tcHJlc3NlZF90ZXh0dXJlX2Zv
cm1hdHMgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucHJp
bWl0aXZlX3Jlc3RhcnQuKiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5zaGFkZXJzLmxpbmthZ2UudmFyeWluZy5ydWxlcy52ZXJ0ZXhfZGVjbGFyZV9mcmFn
bWVudF91c2UgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
c2hhZGVycy5zY29waW5nLnZhbGlkLmZ1bmN0aW9uX3BhcmFtZXRlcl9oaWRlc19zdHJ1Y3RfdHlw
ZV9mcmFnbWVudCA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnNjb3BpbmcudmFsaWQuZnVuY3Rpb25fcGFyYW1ldGVyX2hpZGVzX3N0cnVjdF90
eXBlX3ZlcnRleCA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnNjb3BpbmcudmFsaWQubG9jYWxfaW50X3ZhcmlhYmxlX2hpZGVzX3N0cnVjdF90
eXBlX2ZyYWdtZW50ID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMuc2NvcGluZy52YWxpZC5sb2NhbF9pbnRfdmFyaWFibGVfaGlkZXNfc3RydWN0
X3R5cGVfdmVydGV4ID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMuc2NvcGluZy52YWxpZC5sb2NhbF9zdHJ1Y3RfdmFyaWFibGVfaGlkZXNfc3Ry
dWN0X3R5cGVfZnJhZ21lbnQgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuc2hhZGVycy5zY29waW5nLnZhbGlkLmxvY2FsX3N0cnVjdF92YXJpYWJsZV9oaWRl
c19zdHJ1Y3RfdHlwZV92ZXJ0ZXggPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW50ZWdlcnMuY29tcHJlc3NlZF90ZXh0dXJlX2Zvcm1h
dHNfZ2V0ZmxvYXQgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuc3RhdGVfcXVlcnkuaW50ZWdlcnMuY29tcHJlc3NlZF90ZXh0dXJlX2Zvcm1hdHNfZ2V0aW50
ZWdlciA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zdGF0
ZV9xdWVyeS5pbnRlZ2Vycy5jb21wcmVzc2VkX3RleHR1cmVfZm9ybWF0c19nZXRpbnRlZ2VyNjQg
PSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZGl0aGVyLmRp
c2FibGVkLiogPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZnJhZ21lbnRfb3BzLmRlcHRoX3N0ZW5jaWwuc3RlbmNpbF9kZXB0aF9mdW5jcy5zdGVuY2lsXyog
PSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5h
cnJheXMuY29tcGxleF9leHByZXNzaW9uLmFuZF9zaG9ydF9jaXJjdWl0c18qID0gRkFJTAorMjEz
NyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuYXJyYXlzLmNvbXBs
ZXhfZXhwcmVzc2lvbi5vcl9zaG9ydF9jaXJjdWl0c18qID0gRkFJTAorMjEzNyBNQUMgT1BFTkdM
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuZnJhZ2RhdGEudmFsaWRfc3RhdGljX2lu
ZGV4ID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRl
cnMubG9vcHMuc2hvcnRfY2lyY3VpdC4qID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3Qub3V0X29mX2JvdW5kc19saW5lYXIgPSBGQUlM
CisKKy8vIEVUQyBjb21wcmVzc2VkIGZvcm1hdHMgbm90IHN1cHBvcnRlZAorMzg1MyBNQUMgT1BF
TkdMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS50ZXh0dXJlLmNvbXByZXNz
ZWR0ZXhzdWJpbWFnZSogPSBGQUlMCiszODUzIE1BQyBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwubmVnYXRpdmVfYXBpLnRleHR1cmUuZ2VuZXJhdGVtaXBtYXAgPSBGQUlMCisKKy8vIE1h
YyBBTUQgZmFpbHVyZXMKKzIxMzcgTUFDIE9QRU5HTCBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuY2xpcHBpbmcucG9pbnQud2lkZV9wb2ludF9jbGlwID0gRkFJTAorMjEzNyBNQUMgT1BFTkdM
IEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5jbGlwcGluZy5wb2ludC53aWRlX3BvaW50X2Ns
aXBfdmlld3BvcnRfY2VudGVyID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5jbGlwcGluZy5wb2ludC53aWRlX3BvaW50X2NsaXBfdmlld3BvcnRfY29y
bmVyID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
Ym8uYmxpdC5yZWN0Lm91dF9vZl9ib3VuZHNfbmVhcmVzdCA9IEZBSUwKKzIxMzcgTUFDIE9QRU5H
TCBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5w
cmVjaXNpb24udGFuaC5oaWdocF8qID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC4yZC5wcm9qZWN0ZWQuKiA9IEZBSUwKKzIx
MzcgTUFDIE9QRU5HTCBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRi
YWNrLiogPSBGQUlMCisKKzMzMTcgTUFDIE9QRU5HTCBBTUQgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24uY2VpbC4qID0gRkFJTAorMzMx
NyBNQUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVf
ZnVuY3Rpb25zLnRleHR1cmVwcm9qbG9kLmlzYW1wbGVyM2RfdmVydGV4ID0gRkFJTAorMzMxNyBN
QUMgT1BFTkdMIEFNRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVu
Y3Rpb25zLnRleHR1cmVwcm9qbG9kLnVzYW1wbGVyM2RfdmVydGV4ID0gRkFJTAorCisvLyBNYWMg
SW50ZWwgY3Jhc2hlcworMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMuZGlzY2FyZC5mdW5jdGlvbl9zdGF0aWNfbG9vcF9uZXZlciA9IFNLSVAKKzIx
MzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmRpc2Nh
cmQuZHluYW1pY19sb29wX25ldmVyID0gU0tJUAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuZGlzY2FyZC5zdGF0aWNfbG9vcF9uZXZlciA9IFNL
SVAKKworLy8gTWFjIEludGVsIGZhaWx1cmVzCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuY29sb3JfY2xlYXIuKiA9IEZBSUwKKy8vIEFsbCB0aGUgb3V0IG9m
IGJvdW5kcyB2YXJpYW50cyBmYWlsLgorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5jeV9tYWdfcmV2ZXJz
ZV9zcmNfZHN0X3kgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuZmJvLmJsaXQucmVjdC5uZWFyZXN0X2NvbnNpc3RlbmN5X21pbl9yZXZlcnNlX3Ny
Y19kc3RfeSA9IEZBSUwKKy8vIEZhaWxzIGZvciBhbGwgaW50ZWdlciBmb3JtYXRzCisyMTM3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5h
dHRhY2htZW50X2NvbWJpbmF0aW9ucy5ub25lX3Jib19ub25lX25vbmUgPSBGQUlMCisyMTM3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5h
dHRhY2htZW50X2NvbWJpbmF0aW9ucy5ub25lX3RleF9ub25lX25vbmUgPSBGQUlMCisyMTM3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucG9seWdvbl9vZmZzZXQuZGVm
YXVsdF9yZW5kZXJfd2l0aF91bml0cyA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5maXhlZDE2X3JlbmRlcl93aXRoX3Vu
aXRzID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnBvbHlnb25fb2Zmc2V0LmZpeGVkMjRfcmVuZGVyX3dpdGhfdW5pdHMgPSBGQUlMCisyMTM3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1
bmN0aW9ucy5wcmVjaXNpb24uY29zLmhpZ2hwXyogPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5U
RUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVj
aXNpb24uc2luLmhpZ2hwXyogPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLmxvd3AuY29tbW9uX3N1YmV4cHJlc3Np
b25fMSA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLmludmFyaWFuY2UubG93cC5jb21tb25fc3ViZXhwcmVzc2lvbl8zID0gRkFJTAor
MjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuaW52
YXJpYW5jZS5tZWRpdW1wLmNvbW1vbl9zdWJleHByZXNzaW9uXzEgPSBGQUlMCisyMTM3IE1BQyBP
UEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5pbnZhcmlhbmNlLm1l
ZGl1bXAuY29tbW9uX3N1YmV4cHJlc3Npb25fMyA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRF
TCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFyaWFuY2UuaGlnaHAuY29tbW9u
X3N1YmV4cHJlc3Npb25fMSA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFyaWFuY2UuaGlnaHAuY29tbW9uX3N1YmV4cHJlc3Np
b25fMyA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleGVsZmV0Y2hvZmZzZXQudXNhbXBsZXIyZF9m
cmFnbWVudCA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleGVsZmV0Y2hvZmZzZXQudXNhbXBsZXIy
ZF92ZXJ0ZXggID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnNoYWRlcnMudGV4dHVyZV9mdW5jdGlvbnMudGV4dHVyZWdyYWRvZmZzZXQudXNhbXBs
ZXIzZF9mcmFnbWVudCAgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlZ3JhZC51c2FtcGxl
cjNkX2ZyYWdtZW50ICA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVncmFkLnVzYW1wbGVy
Y3ViZV9mcmFnbWVudCAgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlZ3JhZC51c2FtcGxl
cmN1YmVfdmVydGV4ICA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVsb2QudXNhbXBsZXJj
dWJlX2ZyYWdtZW50ICA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleHR1cmVsb2QudXNhbXBsZXJj
dWJlX3ZlcnRleCAgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlcHJvamdyYWRvZmZzZXQu
dXNhbXBsZXIzZF9mcmFnbWVudCAgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy50ZXh0dXJlX2Z1bmN0aW9ucy50ZXh0dXJlcHJvamdy
YWQudXNhbXBsZXIzZF9mcmFnbWVudCAgPSBGQUlMCisvLyBGYWlscyB0aGUgaW50ZWdlciBucG90
IGNhc2VzID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUuZm9ybWF0LnNpemVkLmN1YmUuKiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJ
TlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNf
Y29weXRleGltYWdlMmQuY3ViZV9hbHBoYSA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNfY29weXRl
eGltYWdlMmQuY3ViZV9sdW1pbmFuY2UgPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5URUwgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLmJhc2ljX2NvcHl0ZXhp
bWFnZTJkLmN1YmVfbHVtaW5hbmNlX2FscGhhID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVM
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi5iYXNpY19jb3B5
dGV4aW1hZ2UyZC5jdWJlX3JnYiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24uYmFzaWNfY29weXRleGltYWdl
MmQuY3ViZV9yZ2JhID0gRkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi5yYW5kb21fdGV4aW1hZ2UyZC4yZF81ID0g
RkFJTAorMjEzNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUuc3BlY2lmaWNhdGlvbi50ZXhpbWFnZTNkXyogPSBGQUlMCisyMTM3IE1BQyBPUEVOR0wgSU5U
RUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLnRleHN1Ymlt
YWdlM2RfKiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC51Ym8uKiA9IEZBSUwKKzIxMzcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5zaGFkZXJzLnRleHR1cmVfZnVuY3Rpb25zLnRleGVsZmV0Y2hvZmZzZXQuKiA9IEZB
SUwKKworMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5i
bGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5jeV9tYWcgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wg
SU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQucmVjdC5uZWFyZXN0X2NvbnNp
c3RlbmN5X21hZ19yZXZlcnNlX3NyY194ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5jeV9t
YWdfcmV2ZXJzZV9kc3RfeCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lzdGVuY3lfbWFnX3JldmVy
c2Vfc3JjX2RzdF94ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmZiby5ibGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5jeV9taW4gPSBGQUlMCisz
MzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQucmVj
dC5uZWFyZXN0X2NvbnNpc3RlbmN5X21pbl9yZXZlcnNlX3NyY194ID0gRkFJTAorMzMxNyBNQUMg
T1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3QubmVhcmVz
dF9jb25zaXN0ZW5jeV9taW5fcmV2ZXJzZV9kc3RfeCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJ
TlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lz
dGVuY3lfbWluX3JldmVyc2Vfc3JjX2RzdF94ID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElOVEVM
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5ibGl0LnJlY3QubmVhcmVzdF9jb25zaXN0ZW5j
eV9vdXRfb2ZfYm91bmRzX21hZyA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lzdGVuY3lfb3V0X29m
X2JvdW5kc19tYWdfcmV2ZXJzZV9zcmNfeCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJTlRFTCA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lzdGVuY3lf
b3V0X29mX2JvdW5kc19tYWdfcmV2ZXJzZV9kc3RfeCA9IEZBSUwKKzMzMTcgTUFDIE9QRU5HTCBJ
TlRFTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5yZWN0Lm5lYXJlc3RfY29uc2lz
dGVuY3lfb3V0X29mX2JvdW5kc19tYWdfcmV2ZXJzZV9zcmNfZHN0X3ggPSBGQUlMCiszMzE3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQucmVjdC5uZWFy
ZXN0X2NvbnNpc3RlbmN5X291dF9vZl9ib3VuZHNfbWFnX3JldmVyc2Vfc3JjX2RzdF95ID0gRkFJ
TAorMzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
ZmlsdGVyaW5nLjJkX2FycmF5LmNvbWJpbmF0aW9ucy5saW5lYXJfbmVhcmVzdF8qID0gRkFJTAor
MzMxNyBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuZmls
dGVyaW5nLjJkLmNvbWJpbmF0aW9ucy5saW5lYXJfbmVhcmVzdF8qID0gRkFJTAorMzMxNyBNQUMg
T1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLjNk
LmNvbWJpbmF0aW9ucy5saW5lYXJfbmVhcmVzdF8qID0gRkFJTAorMzMxNyBNQUMgT1BFTkdMIElO
VEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmUuY29tYmlu
YXRpb25zLmxpbmVhcl9uZWFyZXN0XyogPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuY3ViZS5tYXhfbGV2ZWwubGluZWFy
X25lYXJlc3QgPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS52ZXJ0ZXguMmRfYXJyYXkuZmlsdGVyaW5nLmxpbmVhcl9uZWFyZXN0Xyog
PSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS52ZXJ0ZXguMmQuZmlsdGVyaW5nLmxpbmVhcl9uZWFyZXN0XyogPSBGQUlMCiszMzE3IE1B
QyBPUEVOR0wgSU5URUwgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguM2Qu
ZmlsdGVyaW5nLmxpbmVhcl9uZWFyZXN0XyogPSBGQUlMCiszMzE3IE1BQyBPUEVOR0wgSU5URUwg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguY3ViZS5maWx0ZXJpbmcubGlu
ZWFyX25lYXJlc3RfKiA9IEZBSUwKKworMzUzMSBNQUMgT1BFTkdMIElOVEVMIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLmZiby5pbnZhbGlkYXRlLmZvcm1hdC5yZ2I4ID0gRkFJTAorMzUzMSBNQUMg
T1BFTkdMIElOVEVMIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVzaXplLnRl
eDJkX3JnYjE2ZiA9IEZBSUwKKzM1MzEgTUFDIE9QRU5HTCBJTlRFTCA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5mYm8ucmVuZGVyLnJlc2l6ZS50ZXgyZF9yZ2I4ID0gRkFJTAorCisvLyBBbmRyb2lk
IG9ubHkgZmFpbHVyZXMKKzE0ODcgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LmZiby5jb21wbGV0ZW5lc3MucmVuZGVyYWJsZS50ZXh0dXJlLmNvbG9yMC5yZWRfaGFsZl9mbG9h
dF9vZXMgPSBGQUlMCisxNDg3IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
Ym8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVyZS5jb2xvcjAucmdfaGFsZl9mbG9hdF9v
ZXMgPSBGQUlMCisxNDg3IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8u
Y29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVyZS5zdGVuY2lsLmRlcHRoX3N0ZW5jaWxfdW5z
aWduZWRfaW50XzI0XzggPSBGQUlMCisxNDg3IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVyZS5kZXB0aC5kZXB0aF9z
dGVuY2lsX3Vuc2lnbmVkX2ludF8yNF84ID0gRkFJTAorMTQ4NyBBTkRST0lEIEdMRVMgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5yZW5kZXJhYmxlLnRleHR1cmUuZGVw
dGguZGVwdGhfY29tcG9uZW50X3Vuc2lnbmVkX3Nob3J0ID0gRkFJTAorMTQ4NyBBTkRST0lEIEdM
RVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5yZW5kZXJhYmxlLnRl
eHR1cmUuZGVwdGguZGVwdGhfY29tcG9uZW50X3Vuc2lnbmVkX2ludCA9IEZBSUwKKzE5NjQgQU5E
Uk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLm9jY2x1c2lvbl9xdWVyeS4qID0gRkFJ
TAorMTk2MiBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5wcmVw
cm9jZXNzb3IuY29uZGl0aW9uYWxfaW5jbHVzaW9uLmJhc2ljXzJfZnJhZ21lbnQgPSBGQUlMCisx
OTYyIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnByZXByb2Nl
c3Nvci5jb25kaXRpb25hbF9pbmNsdXNpb24uYmFzaWNfMl92ZXJ0ZXggPSBGQUlMCisxOTYyIEFO
RFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnByZXByb2Nlc3Nvci5j
b25kaXRpb25hbF9pbmNsdXNpb24uZGVmaW5lZF9tYWNyb191bmRlZl9mcmFnbWVudCA9IEZBSUwK
KzE5NjIgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMucHJlcHJv
Y2Vzc29yLmNvbmRpdGlvbmFsX2luY2x1c2lvbi5kZWZpbmVkX21hY3JvX3VuZGVmX3ZlcnRleCA9
IEZBSUwKKzE5NjMgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMu
cmV0dXJuLmNvbmRpdGlvbmFsX3JldHVybl9hbHdheXNfZnJhZ21lbnQgPSBGQUlMCisxOTYzIEFO
RFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnJldHVybi5jb25kaXRp
b25hbF9yZXR1cm5fYWx3YXlzX3ZlcnRleCA9IEZBSUwKKzE5NjMgQU5EUk9JRCBHTEVTIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMucmV0dXJuLm91dHB1dF93cml0ZV9hbHdheXNfZnJh
Z21lbnQgPSBGQUlMCisxOTYzIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5z
aGFkZXJzLnJldHVybi5vdXRwdXRfd3JpdGVfYWx3YXlzX3ZlcnRleCA9IEZBSUwKKzE5NjMgQU5E
Uk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMucmV0dXJuLm91dHB1dF93
cml0ZV9pbl9mdW5jX2Fsd2F5c19mcmFnbWVudCA9IEZBSUwKKzE5NjMgQU5EUk9JRCBHTEVTIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMucmV0dXJuLm91dHB1dF93cml0ZV9pbl9mdW5j
X2Fsd2F5c192ZXJ0ZXggPSBGQUlMCisxNTI5IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLm1pcG1hcC4yZC5nZW5lcmF0ZS5hOF8qID0gRkFJTAorMTUyOSBBTkRS
T0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5taXBtYXAuMmQuZ2VuZXJh
dGUubDhfKiA9IEZBSUwKKzE1MjkgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUubWlwbWFwLjJkLmdlbmVyYXRlLmxhODhfKiA9IEZBSUwKKzE1MjkgQU5EUk9JRCBH
TEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLmN1YmUuZ2VuZXJhdGUu
YThfKiA9IEZBSUwKKzE1MjkgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUubWlwbWFwLmN1YmUuZ2VuZXJhdGUubDhfKiA9IEZBSUwKKzE1MjkgQU5EUk9JRCBHTEVT
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUubWlwbWFwLmN1YmUuZ2VuZXJhdGUubGE4
OF8qID0gRkFJTAorMTUzMSBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJh
bnNmb3JtX2ZlZWRiYWNrLmJhc2ljX3R5cGVzLmludGVybGVhdmVkLiogPSBGQUlMCisxNTMxIEFO
RFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYmFz
aWNfdHlwZXMuc2VwYXJhdGUuKiA9IEZBSUwKKzE1MzEgQU5EUk9JRCBHTEVTIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5pbnRlcnBvbGF0aW9uLiogPSBGQUlMCisx
NTMxIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJh
Y2sucG9pbnRfc2l6ZS4qID0gRkFJTAorMTUzMSBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLnBvc2l0aW9uLiogPSBGQUlMCisxNTMxIEFORFJP
SUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2sucmFuZG9t
LmludGVybGVhdmVkLmxpbmVzLjUgPSBGQUlMCisxNTMxIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2sucmFuZG9tLmludGVybGVhdmVkLmxpbmVz
LjggPSBGQUlMCisxNTMxIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFu
c2Zvcm1fZmVlZGJhY2sucmFuZG9tLmludGVybGVhdmVkLmxpbmVzLjEwID0gRkFJTAorMTUzMSBB
TkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLnJh
bmRvbS5pbnRlcmxlYXZlZC5wb2ludHMuNiA9IEZBSUwKKzE1MzEgQU5EUk9JRCBHTEVTIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5yYW5kb20uaW50ZXJsZWF2ZWQu
cG9pbnRzLjcgPSBGQUlMCisxNTMxIEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50cmFuc2Zvcm1fZmVlZGJhY2sucmFuZG9tLmludGVybGVhdmVkLnRyaWFuZ2xlcy4yID0gRkFJ
TAorMTUzMSBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2Zl
ZWRiYWNrLnJhbmRvbS5zZXBhcmF0ZS5saW5lcy40ID0gRkFJTAorMTUzMSBBTkRST0lEIEdMRVMg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLnJhbmRvbS5zZXBhcmF0
ZS5saW5lcy42ID0gRkFJTAorMTUzMSBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudHJhbnNmb3JtX2ZlZWRiYWNrLnJhbmRvbS5zZXBhcmF0ZS5saW5lcy44ID0gRkFJTAorMTUz
MSBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNr
LnJhbmRvbS5zZXBhcmF0ZS5wb2ludHMuNCA9IEZBSUwKKzE1MzEgQU5EUk9JRCBHTEVTIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5yYW5kb20uc2VwYXJhdGUudHJp
YW5nbGVzLjQgPSBGQUlMCisyNjI5IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLnN0cnVjdC5sb2NhbC5hcnJheV9tZW1iZXJfZXF1YWxpdHlfZnJhZ21lbnQgPSBT
S0lQCisyNjI5IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFkZXJzLnN0
cnVjdC5sb2NhbC5hcnJheV9tZW1iZXJfZXF1YWxpdHlfdmVydGV4ID0gU0tJUAorMjYyNyBBTkRS
T0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5hcnJheXMuY29tcGxleF9l
eHByZXNzaW9uLmFuZF9zaG9ydF9jaXJjdWl0c18qID0gRkFJTAorMjYyNyBBTkRST0lEIEdMRVMg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5hcnJheXMuY29tcGxleF9leHByZXNzaW9u
Lm9yX3Nob3J0X2NpcmN1aXRzXyogPSBGQUlMCisyNjI4IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLmluZGV4aW5nLm1vcmVkeW5hbWljLnVzZXJfZGVmaW5lZF9m
bmNhbGxfaW5vdXRfcGFyYW1ldGVyX2ZyYWdtZW50ID0gRkFJTAorMjYyOCBBTkRST0lEIEdMRVMg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuc2hhZGVycy5pbmRleGluZy5tb3JlZHluYW1pYy51c2Vy
X2RlZmluZWRfZm5jYWxsX2lub3V0X3BhcmFtZXRlcl93aXRoX2luZGV4X3dpdGhfc2lkZV9lZmZl
Y3RzX2ZyYWdtZW50ID0gRkFJTAorMjYyOCBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuc2hhZGVycy5pbmRleGluZy5tb3JlZHluYW1pYy51c2VyX2RlZmluZWRfZm5jYWxsX291
dF9wYXJhbWV0ZXJfZnJhZ21lbnQgPSBGQUlMCisyNjI3IEFORFJPSUQgR0xFUyA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLnNob3J0X2NpcmN1aXQuKiA9IEZBSUwKKworMjU2
NyBBTkRST0lEIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5y
ZW5kZXJhYmxlLnRleHR1cmUuZGVwdGgucmVkX3Vuc2lnbmVkX2J5dGUgPSBGQUlMCisyNTY3IEFO
RFJPSUQgR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRl
cmFibGUudGV4dHVyZS5kZXB0aC5yZ191bnNpZ25lZF9ieXRlID0gRkFJTAorMjU2NyBBTkRST0lE
IEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5yZW5kZXJhYmxl
LnRleHR1cmUuc3RlbmNpbC5yZWRfdW5zaWduZWRfYnl0ZSA9IEZBSUwKKzI1NjcgQU5EUk9JRCBH
TEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5jb21wbGV0ZW5lc3MucmVuZGVyYWJsZS50
ZXh0dXJlLnN0ZW5jaWwucmdfdW5zaWduZWRfYnl0ZSA9IEZBSUwKKworLy8gTmV4dXMgNXggZmFp
bHVyZXMKKzMzMDggTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmF0dHJpYnV0
ZV9sb2NhdGlvbi5iaW5kX2FsaWFzaW5nLmNvbmQqID0gRkFJTAorMzMwOCBORVhVUzVYIEdMRVMg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0aW9uLmJpbmRfYWxpYXNpbmcu
bWF4X2NvbmQqID0gRkFJTAorMzMwOCBORVhVUzVYIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwucG9seWdvbl9vZmZzZXQuZGVmYXVsdF9yZXN1bHRfZGVwdGhfY2xhbXAgPSBGQUlMCiszMzA4
IE5FWFVTNVggR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC5maXhl
ZDI0X3Jlc3VsdF9kZXB0aF9jbGFtcCA9IEZBSUwKKzMzMDggTkVYVVM1WCBHTEVTIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5yYW5kb20uaW50ZXJsZWF2ZWQubGlu
ZXMuMyA9IEZBSUwKKzMzMDggTkVYVVM1WCBHTEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRy
YW5zZm9ybV9mZWVkYmFjay5yYW5kb20uaW50ZXJsZWF2ZWQudHJpYW5nbGVzLjggPSBGQUlMCisz
MzA4IE5FWFVTNVggR0xFUyA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJh
Y2sucmFuZG9tLmludGVybGVhdmVkLnRyaWFuZ2xlcy4xMCA9IEZBSUwKKzIzMjIgTkVYVVM1WCBH
TEVTIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMubWV0YW1vcnBoaWMuKiA9IFNLSVAK
KworLy8gU2VlbXMgdG8gZmFpbCBvbiBhbGwgZGVza3RvcCBHTAorMjk2MCBPUEVOR0wgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmJsaXQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5zcmdiOF9hbHBo
YTggPSBGQUlMCisyOTYwIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uYmxpdC5k
ZWZhdWx0X2ZyYW1lYnVmZmVyLnNyZ2I4X2FscGhhOF9saW5lYXJfb3V0X29mX2JvdW5kc19ibGl0
X3RvX2RlZmF1bHQgPSBGQUlMCisyOTYwIE9QRU5HTCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
Ym8uYmxpdC5kZWZhdWx0X2ZyYW1lYnVmZmVyLnNyZ2I4X2FscGhhOF9saW5lYXJfc2NhbGVfYmxp
dF90b19kZWZhdWx0ID0gRkFJTAorMjk2MCBPUEVOR0wgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLmJsaXQuZGVmYXVsdF9mcmFtZWJ1ZmZlci5zcmdiOF9hbHBoYThfbmVhcmVzdF9zY2FsZV9i
bGl0X3RvX2RlZmF1bHQgPSBGQUlMCisKKy8vIEZhaWxzIG9uIFdpbmRvd3MgKyBMaW51eC4KKzIy
MjIgT1BFTkdMIE5WSURJQSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNz
LnNhbXBsZXMucmJvMl9yYm8yX3JibzAgPSBGQUlMCisyMjIyIE9QRU5HTCBOVklESUEgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5zYW1wbGVzLnJibzFfcmJvMl9yYm8w
ID0gRkFJTAorCisvLyBHZW5lcmFsIFZ1bGthbiBmYWlsdXJlcworCisvLyBUZXN0cyBmYWlsaW5n
IGR1ZSB0byB0aGUgImZsYXQiIHF1YWxpZmllciBpbiB0aGUgc2hhZGVyOgorMzY3NyBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3V0LmJhc2ljLmludC4qID0gRkFJTAor
MzY3NyBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3V0LmJhc2ljLnVp
bnQuKiA9IEZBSUwKKzM2NzcgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50
X291dC5hcnJheS5pbnQqID0gRkFJTAorMzY3NyBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZnJhZ21lbnRfb3V0LmFycmF5LnVpbnQqID0gRkFJTAorMzY3NyBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3V0LnJhbmRvbS4qID0gRkFJTAorCisvLyBOVklESUEg
RGVwdGgvU3RlbmNpbCB0ZXh0dXJlczoKKzM5NzAgVlVMS0FOIE5WSURJQSA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8uZGVwdGguZGVwdGhfd3JpdGVfY2xhbXAuZGVwdGhfY29tcG9uZW50MzJm
ID0gRkFJTAorMzk3MCBWVUxLQU4gTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5k
ZXB0aC5kZXB0aF93cml0ZV9jbGFtcC5kZXB0aDMyZl9zdGVuY2lsOCA9IEZBSUwKKzM5NzAgVlVM
S0FOIE5WSURJQSA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uZGVwdGguZGVwdGhfdGVzdF9j
bGFtcC5kZXB0aF9jb21wb25lbnQzMmYgPSBGQUlMCiszOTcwIFZVTEtBTiBOVklESUEgOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmRlcHRoLmRlcHRoX3Rlc3RfY2xhbXAuZGVwdGgzMmZfc3Rl
bmNpbDggPSBGQUlMCisKKy8vIFBvbHlnb24gb2Zmc2V0OgorMzk3MCBWVUxLQU4gTlZJRElBIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnBvbHlnb25fb2Zmc2V0LmZsb2F0MzJfcmVzdWx0X2RlcHRo
X2NsYW1wID0gRkFJTAorMzk3MCBWVUxLQU4gTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnBvbHlnb25fb2Zmc2V0LmZsb2F0MzJfZmFjdG9yXzFfc2xvcGUgPSBGQUlMCisKKy8vIEZsYXQg
c2hhZGluZzoKKzM0MzAgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnJhc3Rlcml6YXRp
b24uZmxhdHNoYWRpbmcuKiA9IEZBSUwKKworLy8gTWlzYyB1bmltcGxlbWVudGVkOgorCisvLyBG
YWlsdXJlcyBvbiBuZXdlciBOVklESUEgZHJpdmVycyAoNDExLjk1KSBhbmQgcGFzc2VzIG9uIG9s
ZGVyIGRyaXZlcnMgKDM4OC4xNikuICBQYXNzZXMgb24gNDE4LjEyIG9uIExpbnV4LgorMjk3NiBW
VUxLQU4gTlZJRElBIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuaW52YXJpYW5jZS4q
ID0gRkFJTAorLy8gRmFpbHMgb24gNDMxLjAyIE5WSURJQSBkcml2ZXIKKzM3NDggVlVMS0FOIFdJ
TiBOVklESUEgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLmNvbG9yLnJlcGVhdGVkX2NsZWFy
LnNhbXBsZS50ZXgyZC4qID0gRkFJTAorCisvLyBBbmRyb2lkIFZ1bGthbiBmYWlsdXJlcworMzMw
NiBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5wb2x5Z29uX29mZnNldC4q
ID0gRkFJTAorMjgzMCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5yYXN0
ZXJpemF0aW9uLmZiby5yYm9fc2luZ2xlc2FtcGxlLnByaW1pdGl2ZXMubGluZXMgPSBGQUlMCisy
ODMwIEFORFJPSUQgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnJhc3Rlcml6YXRpb24u
ZmJvLnRleHR1cmVfMmQucHJpbWl0aXZlcy5saW5lcyA9IEZBSUwKKzI4MzAgQU5EUk9JRCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwucmFzdGVyaXphdGlvbi5wcmltaXRpdmVzLmxpbmUq
ID0gRkFJTAorMjgwOCBBTkRST0lEIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5zaGFk
ZXJzLmJ1aWx0aW5fdmFyaWFibGUuZnJhZ2Nvb3JkX3cgPSBGQUlMCisKKy8vIFBpeGVsIGRyaXZl
ciBpc3N1ZXMKKzQwMjQgUElYRUwyT1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZHJhdy5yYW5kb20uNSA9IFNLSVAKKzQwMjQgUElYRUwyT1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuZHJhdy5yYW5kb20uNDkgPSBTS0lQCis0MDI0IFBJWEVMMk9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmRyYXcucmFuZG9tLjk2ID0gRkFJTAorCisvLyBGaXhl
ZCBpbiBsYXRlciBkcml2ZXIgdmVyc2lvbnMuCisyNzI3IFZVTEtBTiBBTkRST0lEIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl92YXJpYWJsZS5wb2ludGNvb3JkID0gRkFJ
TAorCisvLyAgTmV3IG9yIGJyb2tlbiBmb3JtYXRzIGluIEVTIDMuMCwgbWF5IGJlIGl0IHJlbGF0
ZXMgdG8gVktfSU1BR0VfVVNBR0VfU1RPUkFHRV9CSVQKKzM4MTYgVlVMS0FOIFBJWEVMMk9SWEwg
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLnRleHN0b3JhZ2Uz
ZC5mb3JtYXQucmdiYTE2KiA9IEZBSUwKKzM4MTYgVlVMS0FOIFBJWEVMMk9SWEwgOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLnRleHN0b3JhZ2UzZC5mb3JtYXQu
cmdiMTYqID0gRkFJTAorMzgxNiBWVUxLQU4gUElYRUwyT1JYTCA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24udGV4c3RvcmFnZTNkLmZvcm1hdC5yZzMyKiA9IEZB
SUwKKworLy8gRmFpbGluZyBvbiB0aGUgUGl4ZWwgMiBkdWUgdG8gUXVhbGNvbW0gVnVsa2FuIGRy
aXZlcgorNDM0NCBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVu
dF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjU0ID0gRkFJTAorNDM0NCBWVUxLQU4gQU5E
Uk9JRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMucmFuZG9tLjM1ID0gRkFJ
TAorNDM0NCBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9v
cHMucmFuZG9tLjU2ID0gRkFJTAorNDM0NCBWVUxLQU4gQU5EUk9JRCA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5mcmFnbWVudF9vcHMucmFuZG9tLjYyID0gRkFJTAorNDM0NCBWVUxLQU4gQU5EUk9J
RCA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMucmFuZG9tLjY4ID0gRkFJTAor
CisKKy8vIEZhaWxzIG9ubHkgd2l0aCBTd2lmdFNoYWRlcjoKKworLy8gVGhlc2Ugb25seSBmYWls
IGZvciBhIDU2NSBjb25maWcKKzQwMTYgU1dJRlRTSEFERVIgOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4yNyA9IEZBSUwKKzQwMTYg
U1dJRlRTSEFERVIgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0
aW9uLmJhc2ljX3NoYWRlci44MCA9IEZBSUwKKworLy8gRmFpbHMgb24gU3dBTkdMRSBib3RzCis0
NDE4IFNXSUZUU0hBREVSIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLm5lZ2F0aXZlX2FwaS5idWZm
ZXIuZnJhbWVidWZmZXJfdGV4dHVyZV9sYXllciA9IEZBSUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xlczJfdGVz
dF9leHBlY3RhdGlvbnMudHh0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2Rl
cXBfc3VwcG9ydC9kZXFwX2tocl9nbGVzMl90ZXN0X2V4cGVjdGF0aW9ucy50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NmFkZDNhMTU3YjQzYWE0MTYxNzQ0OTFhZjg1MjJiMTgzOGQxMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVx
cF9raHJfZ2xlczJfdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0wLDAgKzEsMzMgQEAKKy8vIENv
cHlyaWdodCAyMDE5IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls
ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
LyBUaGlzIGZpbGUgY29udGFpbnMgYSBsaXN0IG9mIGRlZmVjdGl2ZSBkRVFQIGNvbmZvcm1hbmNl
IHRlc3RzLiBUaGUgZXhwZWN0ZWQKKy8vIGZvcm1hdCBpczoKKy8vICB7QlVHI30ge01PRElGSUVS
U30gOiB7VEVTVF9OQU1FfSA9IHtQQVNTLEZBSUwsRkxBS1ksVElNRU9VVCxTS0lQfQorLy8KKy8v
IE1PRElGSUVSUyBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgYmVsb3cgbGlzdCwgY29tYmlu
ZWQgd2l0aCBhIGxvZ2ljYWwgQU5EOgorLy8gIFdJTiBYUCBWSVNUQSBXSU43IFdJTjggV0lOMTAK
Ky8vICBNQUMgTEVPUEFSRCBTTk9XTEVPUEFSRCBMSU9OIE1PVU5UQUlOTElPTiBNQVZFUklDS1Mg
WU9TRU1JVEUgRUxDQVBJVEFOIFNJRVJSQSBISUdIU0lFUlJBIE1PSkFWRQorLy8gIExJTlVYIENI
Uk9NRU9TIEFORFJPSUQKKy8vICBOVklESUEgQU1EIElOVEVMCisvLyAgREVCVUcgUkVMRUFTRQor
Ly8gIEQzRDkgRDNEMTEgT1BFTkdMIEdMRVMgVlVMS0FOCisvLyAgTkVYVVM1WCBQSVhFTDJPUlhM
CisvLyAgUVVBRFJPUDQwMAorLy8KKy8vCisvLyBURVNUX05BTUUgY2FuIGJlIGEgc3BlY2lmaWMg
dGVzdCBuYW1lLCBvciBoYXZlIGEgJyonIGluIHRoZSBlbmQsIHdoaWNoCisvLyBpbmRpY2F0ZXMg
YSBwcmVmaXggbWF0Y2hpbmcuCisvLworLy8gRXhhbXBsZXM6CisvLyBmYWlscyBvbiBib3RoIHdp
bmRvd3MgYW5kIG1hYyAoY3Jhc2gpCisvLyAgOTE1MzAgV0lOIDogY29udGV4dF9sb3N0X3Jlc3Rv
cmVkID0gU0tJUAorLy8gIDkxNTMwIE1BQyA6IGNvbnRleHRfbG9zdF9yZXN0b3JlZCA9IFNLSVAK
Ky8vIGZhaWxzIG9uIHdpbmRvd3MgdXNpbmcgTlZJRElBIEdQVXMKKy8vICA5MTUzMyBXSU4gTlZJ
RElBIDogZ2xfbWluX3VuaWZvcm1zID0gRkFJTAorLy8gZmFpbHMgb24gTmV4dXM1WCB3aXRoIEdM
RVMgYmFja2VuZCAoaGFuZ3MpCisvLyAgOTE1MzEgTkVYVVM1WCBHTEVTIDogY29uZm9ybWFuY2Vf
bW9yZV8qID0gU0tJUAorCisvLyBEZXB0aC9zdGVuY2lsIHJlbGF0ZWQgZmFpbHVyZXMuCiszNDU3
IFZVTEtBTiA6IEtIUi1HTEVTMi5jb3JlLmludGVybmFsZm9ybWF0LnRleHR1cmUyZC5kZXB0aF9z
dGVuY2lsX3Vuc2lnbmVkX2ludF8yNF84X2RlcHRoX3N0ZW5jaWwgPSBGQUlMCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfa2hy
X2dsZXMzMV90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfa2hyX2dsZXMzMV90ZXN0X2V4cGVjdGF0aW9ucy50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjM1OTQ5YTIwYjlkODBmZThjNDhiZjRhYjQ5ZjA0YzVhNGUyMTQ5ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFw
X3N1cHBvcnQvZGVxcF9raHJfZ2xlczMxX3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMCwwICsx
LDEyOSBAQAorLy8gQ29weXJpZ2h0IDIwMTkgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8vIFRoaXMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgZGVmZWN0aXZlIGRF
UVAgY29uZm9ybWFuY2UgdGVzdHMuIFRoZSBleHBlY3RlZAorLy8gZm9ybWF0IGlzOgorLy8gIHtC
VUcjfSB7TU9ESUZJRVJTfSA6IHtURVNUX05BTUV9ID0ge1BBU1MsRkFJTCxGTEFLWSxUSU1FT1VU
LFNLSVB9CisvLworLy8gTU9ESUZJRVJTIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBiZWxv
dyBsaXN0LCBjb21iaW5lZCB3aXRoIGEgbG9naWNhbCBBTkQ6CisvLyAgV0lOIFhQIFZJU1RBIFdJ
TjcgV0lOOCBXSU4xMAorLy8gIE1BQyBMRU9QQVJEIFNOT1dMRU9QQVJEIExJT04gTU9VTlRBSU5M
SU9OIE1BVkVSSUNLUyBZT1NFTUlURSBFTENBUElUQU4gU0lFUlJBIEhJR0hTSUVSUkEgTU9KQVZF
CisvLyAgTElOVVggQ0hST01FT1MgQU5EUk9JRAorLy8gIE5WSURJQSBBTUQgSU5URUwKKy8vICBE
RUJVRyBSRUxFQVNFCisvLyAgRDNEOSBEM0QxMSBPUEVOR0wgR0xFUyBWVUxLQU4KKy8vICBORVhV
UzVYIFBJWEVMMk9SWEwKKy8vICBRVUFEUk9QNDAwCisvLworLy8KKy8vIFRFU1RfTkFNRSBjYW4g
YmUgYSBzcGVjaWZpYyB0ZXN0IG5hbWUsIG9yIGhhdmUgYSAnKicgaW4gdGhlIGVuZCwgd2hpY2gK
Ky8vIGluZGljYXRlcyBhIHByZWZpeCBtYXRjaGluZy4KKy8vCisvLyBFeGFtcGxlczoKKy8vIGZh
aWxzIG9uIGJvdGggd2luZG93cyBhbmQgbWFjIChjcmFzaCkKKy8vICA5MTUzMCBXSU4gOiBjb250
ZXh0X2xvc3RfcmVzdG9yZWQgPSBTS0lQCisvLyAgOTE1MzAgTUFDIDogY29udGV4dF9sb3N0X3Jl
c3RvcmVkID0gU0tJUAorLy8gZmFpbHMgb24gd2luZG93cyB1c2luZyBOVklESUEgR1BVcworLy8g
IDkxNTMzIFdJTiBOVklESUEgOiBnbF9taW5fdW5pZm9ybXMgPSBGQUlMCisvLyBmYWlscyBvbiBO
ZXh1czVYIHdpdGggR0xFUyBiYWNrZW5kIChoYW5ncykKKy8vICA5MTUzMSBORVhVUzVYIEdMRVMg
OiBjb25mb3JtYW5jZV9tb3JlXyogPSBTS0lQCisKKy8vIEZvciBub3cgd2Ugb25seSBsb2cgVnVs
a2FuIHRlc3QgZXhwZWN0YXRpb25zLiBNb3JlIGJhY2stZW5kcyBjYW4gZm9sbG93IGFzIHdlIG5l
ZWQgdGhlbS4KKworCisvLy8vCisvLy8vIEZhaWx1cmVzIGJsb2NraW5nIGFuIG9mZmljaWFsIEdM
RVMgMy4xIGNvbmZvcm1hbmNlIHJ1biBvbiBTd2lmdFNoYWRlcgorLy8vLworCisvLyBJbWFnZSBy
ZWxhdGVkIGZhaWx1cmVzCisKKzQzMTUgVlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9p
bWFnZV9sb2FkX3N0b3JlLmFkdmFuY2VkLW1lbW9yeS1vcmRlci12c2ZzID0gRkFJTAorCisvLyBV
bmltcGxlbWVudGVkIGdsVmFsaWRhdGVDcmVhdGVTaGFkZXJQcm9ncmFtdjoKKzQxNDYgOiBLSFIt
R0xFUzMxLmNvcmUuc2hhZGVyX3N0b3JhZ2VfYnVmZmVyX29iamVjdC5iYXNpYy1zeW50YXhTU08g
PSBGQUlMCis0MTQ2IDogS0hSLUdMRVMzMS5jb3JlLnZlcnRleF9hdHRyaWJfYmluZGluZy5hZHZh
bmNlZC1iaW5kaW5nVXBkYXRlID0gRkFJTAorNDE0NiA6IEtIUi1HTEVTMzEuY29yZS52ZXJ0ZXhf
YXR0cmliX2JpbmRpbmcuYWR2YW5jZWQtbGFyZ2VTdHJpZGVBbmRPZmZzZXRzTmV3QW5kTGVnYWN5
QVBJID0gRkFJTAorCisvLyBGYWlsaW5nIG9uIFN3aWZ0U2hhZGVyCis0NDE0IFNXSUZUU0hBREVS
IDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9pbWFnZV9sb2FkX3N0b3JlLmFkdmFuY2VkLWFsbE1p
cHMtY3MgPSBTS0lQCis0NDE0IFNXSUZUU0hBREVSIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9p
bWFnZV9sb2FkX3N0b3JlLmFkdmFuY2VkLWFsbE1pcHMtZnMgPSBTS0lQCisKKy8vLy8KKy8vLy8g
R2VuZXJhbCBWdWxrYW4gZXhwZWN0YXRpb25zCisvLy8vCisKKy8vIEZyYW1lYnVmZmVyIHdpdGhv
dXQgYXR0YWNobWVudHM6CiszNTc5IFZVTEtBTiA6IEtIUi1HTEVTMzEuY29yZS5mcmFtZWJ1ZmZl
cl9ub19hdHRhY2htZW50cy5hcGkgPSBGQUlMCisKKy8vIEJsZW5kIGVxdWF0aW9uczoKKzM1ODYg
VlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLmJsZW5kX2VxdWF0aW9uX2FkdmFuY2VkLiogPSBTS0lQ
CisKKy8vIExpbWl0czoKKy8vIEdMX01JTi9NQVhfUFJPR1JBTV9URVhUVVJFX0dBVEhFUl9PRkZT
RVQgbm90IHNldC4KKzM2MDUgVlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLnRleHR1cmVfZ2F0aGVy
LiogPSBGQUlMCisKKy8vIERpc3BhdGNoIGluZGlyZWN0OgorMzcyNiBWVUxLQU4gUElYRUwyT1JY
TCA6IEtIUi1HTEVTMzEuY29yZS5jb21wdXRlX3NoYWRlci5waXBlbGluZS1jb21wdXRlLWNoYWlu
ID0gRkFJTAorNDE5NCBWVUxLQU4gUElYRUwyT1JYTCA6IEtIUi1HTEVTMzEuY29yZS5jb21wdXRl
X3NoYWRlci5yZXNvdXJjZS11Ym8gPSBGQUlMCis0MTk0IFZVTEtBTiBQSVhFTDJPUlhMIDogS0hS
LUdMRVMzMS5jb3JlLmNvbXB1dGVfc2hhZGVyLmJ1aWx0LWluLXZhcmlhYmxlcyA9IEZBSUwKKwor
CisvLy8vCisvLy8vIERlc2t0b3AgVnVsa2FuIGV4cGVjdGF0aW9ucworLy8vLworCisvLyBDcmFz
aGVzIGluIGxpYm52aWRpYS1nbHZrc3BpcnYuc28sIGZpeGVkIGluIG5ld2VyIGRyaXZlcnMKKzQx
MjggVlVMS0FOIE5WSURJQSA6IEtIUi1HTEVTMzEuY29yZS5zaGFkZXJfc3RvcmFnZV9idWZmZXJf
b2JqZWN0LmFkdmFuY2VkLXVuc2l6ZWRBcnJheUxlbmd0aC1jcy0qLW1hdEMqID0gU0tJUAorNDEy
OCBWVUxLQU4gTlZJRElBIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9zdG9yYWdlX2J1ZmZlcl9v
YmplY3QuYWR2YW5jZWQtdW5zaXplZEFycmF5TGVuZ3RoLXZzLSotbWF0QyogPSBTS0lQCis0MTI4
IFZVTEtBTiBOVklESUEgOiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX3N0b3JhZ2VfYnVmZmVyX29i
amVjdC5hZHZhbmNlZC11bnNpemVkQXJyYXlMZW5ndGgtZnMtKi1tYXRDKiA9IFNLSVAKKzQxMjgg
VlVMS0FOIE5WSURJQSA6IEtIUi1HTEVTMzEuY29yZS5zaGFkZXJfc3RvcmFnZV9idWZmZXJfb2Jq
ZWN0LmFkdmFuY2VkLXVuc2l6ZWRBcnJheUxlbmd0aC1jcy0qLXN0cnVjdCogPSBTS0lQCis0MTI4
IFZVTEtBTiBOVklESUEgOiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX3N0b3JhZ2VfYnVmZmVyX29i
amVjdC5hZHZhbmNlZC11bnNpemVkQXJyYXlMZW5ndGgtdnMtKi1zdHJ1Y3QqID0gU0tJUAorNDEy
OCBWVUxLQU4gTlZJRElBIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9zdG9yYWdlX2J1ZmZlcl9v
YmplY3QuYWR2YW5jZWQtdW5zaXplZEFycmF5TGVuZ3RoLWZzLSotc3RydWN0KiA9IFNLSVAKKzQx
MjggVlVMS0FOIE5WSURJQSA6IEtIUi1HTEVTMzEuY29yZS5zaGFkZXJfc3RvcmFnZV9idWZmZXJf
b2JqZWN0LmFkdmFuY2VkLXVuc2l6ZWRBcnJheUxlbmd0aC1jcy0qLW1hdFIqID0gU0tJUAorNDEy
OCBWVUxLQU4gTlZJRElBIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9zdG9yYWdlX2J1ZmZlcl9v
YmplY3QuYWR2YW5jZWQtdW5zaXplZEFycmF5TGVuZ3RoLXZzLSotbWF0UiogPSBTS0lQCis0MTI4
IFZVTEtBTiBOVklESUEgOiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX3N0b3JhZ2VfYnVmZmVyX29i
amVjdC5hZHZhbmNlZC11bnNpemVkQXJyYXlMZW5ndGgtZnMtKi1tYXRSKiA9IFNLSVAKKworCisv
Ly8vCisvLy8vIEFuZHJvaWQgKGkuZS4gUGl4ZWwqKSBWdWxrYW4gZXhwZWN0YXRpb25zCisvLy8v
CisKKy8vIENyYXNoZXMgb24gQW5kcm9pZAorNDEwNyBWVUxLQU4gQU5EUk9JRCA6IEtIUi1HTEVT
MzEuY29yZS5zaGFkZXJfc3RvcmFnZV9idWZmZXJfb2JqZWN0LmFkdmFuY2VkLXVuc2l6ZWRBcnJh
eUxlbmd0aCogPSBTS0lQCisKKy8vIFBhc3Npbmcgb24gcmVjZW50IGRyaXZlcnM6CiszNzI2IFZV
TEtBTiBBTkRST0lEIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRlcl9hdG9taWNfY291bnRlcnMuKiA9
IEZBSUwKKzM3MjYgVlVMS0FOIEFORFJPSUQgOiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX2F0b21p
Y19jb3VudGVycy5hZHZhbmNlZC11c2FnZS0qID0gU0tJUAorCisvLyBFeHBsaWNpdCB1bmlmb3Jt
IGxvY2F0aW9uczoKKzQyMTkgVlVMS0FOIFBJWEVMMk9SWEwgOiBLSFItR0xFUzMxLmNvcmUuZXhw
bGljaXRfdW5pZm9ybV9sb2NhdGlvbi51bmlmb3JtLWxvYy1taXgtd2l0aC1pbXBsaWNpdC1tYXgg
PSBGQUlMCis0MjE5IFZVTEtBTiBQSVhFTDJPUlhMIDogS0hSLUdMRVMzMS5jb3JlLmV4cGxpY2l0
X3VuaWZvcm1fbG9jYXRpb24udW5pZm9ybS1sb2MtbWl4LXdpdGgtaW1wbGljaXQtbWF4LWFycmF5
ID0gRkFJTAorCisvLyBGYWlscyBvbiBQaXhlbDIgYW5kIFBpeGVsMiBYTAorNDE1OSBWVUxLQU4g
UElYRUwyT1JYTCA6IEtIUi1HTEVTMzEuY29yZS5kcmF3X2luZGlyZWN0LmFkdmFuY2VkLXR3b1Bh
c3MtdHJhbnNmb3JtRmVlZGJhY2stZWxlbWVudHMgPSBGQUlMCis0MTU5IFZVTEtBTiBQSVhFTDJP
UlhMIDogS0hSLUdMRVMzMS5jb3JlLmRyYXdfaW5kaXJlY3QuYWR2YW5jZWQtdHdvUGFzcy10cmFu
c2Zvcm1GZWVkYmFjay1hcnJheXMgPSBGQUlMCisKKy8vIEFuZHJvaWQgdXNlcyAib2xkIiBzYW1w
bGVyIHJld3JpdGUgdGhhdCBkb2Vzbid0IHN1cHBvcnQgYXJyYXkgb2YgYXJyYXlzCisyNzAzIFZV
TEtBTiBBTkRST0lEIDogS0hSLUdMRVMzMS5jb3JlLmFycmF5c19vZl9hcnJheXMuKiA9IFNLSVAK
KworLy8gRmFpbGluZyBvbiBBbmRyb2lkIHdpdGggU3dpZnRTaGFkZXIKKzQzMDAgU1dJRlRTSEFE
RVIgQU5EUk9JRCA6IEtIUi1HTEVTMzEuY29yZS5zaGFkZXJfaW50ZWdlcl9taXgubWl4LWJ2ZWM0
ID0gRkFJTAorNDMwMCBTV0lGVFNIQURFUiBBTkRST0lEIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRl
cl9pbnRlZ2VyX21peC5taXgtaXZlYzQgPSBGQUlMCis0MzAwIFNXSUZUU0hBREVSIEFORFJPSUQg
OiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX2ludGVnZXJfbWl4Lm1peC11dmVjNCA9IEZBSUwKKwor
Ly8gQ3Jhc2hpbmcgb24gQW5kcm9pZCB3aXRoIFN3aWZ0U2hhZGVyCis0MTA4IFNXSUZUU0hBREVS
IEFORFJPSUQgOiBLSFItR0xFUzMxLmNvcmUuc2hhZGVyX2ltYWdlX3NpemUuYmFzaWMtbm9uTVMq
ID0gU0tJUAorNDEwOCBTV0lGVFNIQURFUiBBTkRST0lEIDogS0hSLUdMRVMzMS5jb3JlLnNoYWRl
cl9pbWFnZV9zaXplLmFkdmFuY2VkLW5vbk1TKiA9IFNLSVAKKworLy8gQ3Jhc2hpbmcgb24gQW5k
cm9pZCB3aXRoIFN3aWZ0U2hhZGVyCis0MTg4IFNXSUZUU0hBREVSIEFORFJPSUQgOiBLSFItR0xF
UzMxLmNvcmUuY29tcHV0ZV9zaGFkZXIucmVzb3VyY2UtaW1hZ2UgPSBTS0lQCisKKy8vIENyYXNo
aW5nIG9uIEFuZHJvaWQgd2l0aCBTd2lmdFNoYWRlcgorNDE5MCBTV0lGVFNIQURFUiBBTkRST0lE
IDogS0hSLUdMRVMzMS5jb3JlLmNvbXB1dGVfc2hhZGVyLnBpcGVsaW5lLWNvbXB1dGUtY2hhaW4g
PSBTS0lQCisKKy8vIENyYXNoaW5nIG9uIEFuZHJvaWQgd2l0aCBTd2lmdFNoYWRlcgorNDI0MCBT
V0lGVFNIQURFUiBBTkRST0lEIDogS0hSLUdMRVMzMS5jb3JlLnRleHR1cmVfc3RvcmFnZV9tdWx0
aXNhbXBsZS5GdW5jdGlvbmFsVGVzdHMuYmxpdHRpbmdfbXVsdGlzYW1wbGVkX2RlcHRoX2F0dGFj
aG1lbnQgPSBTS0lQCisKKy8vIE5ldyBmYWlsdXJlcyB3aXRoIGxhdGVzdCBkRVFQIHJvbGwgKDIw
MjAtMDQtMjgpCis0NTkzIFNXSUZUU0hBREVSIDogS0hSLUdMRVMzMS5jb3JlLm5lYXJlc3RfZWRn
ZS5vZmZzZXRfbGVmdCA9IEZBSUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xlczNfdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFw
X2tocl9nbGVzM190ZXN0X2V4cGVjdGF0aW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY3NDhlZGNkNjFh
YzBiMDhhNjJhNWZhOTVkMGQ5ZWZhMjIzYWFiNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xlczNfdGVz
dF9leHBlY3RhdGlvbnMudHh0CkBAIC0wLDAgKzEsMTg0IEBACisvLyBDb3B5cmlnaHQgMjAxOSBU
aGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLy8gVGhpcyBmaWxlIGNv
bnRhaW5zIGEgbGlzdCBvZiBkZWZlY3RpdmUgZEVRUCBjb25mb3JtYW5jZSB0ZXN0cy4gVGhlIGV4
cGVjdGVkCisvLyBmb3JtYXQgaXM6CisvLyAge0JVRyN9IHtNT0RJRklFUlN9IDoge1RFU1RfTkFN
RX0gPSB7UEFTUyxGQUlMLEZMQUtZLFRJTUVPVVQsU0tJUH0KKy8vCisvLyBNT0RJRklFUlMgY2Fu
IGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGJlbG93IGxpc3QsIGNvbWJpbmVkIHdpdGggYSBsb2dp
Y2FsIEFORDoKKy8vICBXSU4gWFAgVklTVEEgV0lONyBXSU44IFdJTjEwCisvLyAgTUFDIExFT1BB
UkQgU05PV0xFT1BBUkQgTElPTiBNT1VOVEFJTkxJT04gTUFWRVJJQ0tTIFlPU0VNSVRFIEVMQ0FQ
SVRBTiBTSUVSUkEgSElHSFNJRVJSQSBNT0pBVkUKKy8vICBMSU5VWCBDSFJPTUVPUyBBTkRST0lE
CisvLyAgTlZJRElBIEFNRCBJTlRFTAorLy8gIERFQlVHIFJFTEVBU0UKKy8vICBEM0Q5IEQzRDEx
IE9QRU5HTCBHTEVTIFZVTEtBTgorLy8gIE5FWFVTNVggUElYRUwyT1JYTAorLy8gIFFVQURST1A0
MDAKKy8vCisvLworLy8gVEVTVF9OQU1FIGNhbiBiZSBhIHNwZWNpZmljIHRlc3QgbmFtZSwgb3Ig
aGF2ZSBhICcqJyBpbiB0aGUgZW5kLCB3aGljaAorLy8gaW5kaWNhdGVzIGEgcHJlZml4IG1hdGNo
aW5nLgorLy8KKy8vIEV4YW1wbGVzOgorLy8gZmFpbHMgb24gYm90aCB3aW5kb3dzIGFuZCBtYWMg
KGNyYXNoKQorLy8gIDkxNTMwIFdJTiA6IGNvbnRleHRfbG9zdF9yZXN0b3JlZCA9IFNLSVAKKy8v
ICA5MTUzMCBNQUMgOiBjb250ZXh0X2xvc3RfcmVzdG9yZWQgPSBTS0lQCisvLyBmYWlscyBvbiB3
aW5kb3dzIHVzaW5nIE5WSURJQSBHUFVzCisvLyAgOTE1MzMgV0lOIE5WSURJQSA6IGdsX21pbl91
bmlmb3JtcyA9IEZBSUwKKy8vIGZhaWxzIG9uIE5leHVzNVggd2l0aCBHTEVTIGJhY2tlbmQgKGhh
bmdzKQorLy8gIDkxNTMxIE5FWFVTNVggR0xFUyA6IGNvbmZvcm1hbmNlX21vcmVfKiA9IFNLSVAK
KworLy8gRm9yIG5vdyB3ZSBvbmx5IGxvZyBWdWxrYW4gdGVzdCBleHBlY3RhdGlvbnMuIE1vcmUg
YmFjay1lbmRzIGNhbiBmb2xsb3cgYXMgd2UgbmVlZCB0aGVtLgorCisvLyBEZXB0aC9zdGVuY2ls
IHJlbGF0ZWQgZmFpbHVyZXMgZHVlIHRvIFZ1bGthbiBkcml2ZXIgYnVncy4KKzM2ODMgVlVMS0FO
IEFORFJPSUQgOiBLSFItR0xFUzMucGFja2VkX2RlcHRoX3N0ZW5jaWwuKi5kZXB0aDI0X3N0ZW5j
aWw4ID0gRkFJTAorMzY4MyBWVUxLQU4gQU5EUk9JRCA6IEtIUi1HTEVTMy5wYWNrZWRfZGVwdGhf
c3RlbmNpbC4qLmRlcHRoMzJmX3N0ZW5jaWw4ID0gRkFJTAorCisvLyBDb3B5VGV4SW1hZ2UgY29u
dmVyc2lvbiBmYWlsaW5nIGR1ZSB0byBWdWxrYW4gdmFsaWRhdGlvbiBlcnJvciByZTogVUlOVC9T
SU5ULWRlc2NyaXB0b3Itc2V0IGlzc3VlLgorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90
ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQudGV4dHVyZV9hcnJheV90ZXh0dXJlMmQgPSBG
QUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5y
ZXF1aXJlZC50ZXh0dXJlX2FycmF5X2N1YmVtYXBfbmVneCA9IEZBSUwKKzM4MTcgVlVMS0FOIDog
S0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1cmVfYXJy
YXlfY3ViZW1hcF9uZWd5ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhf
aW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQudGV4dHVyZV9hcnJheV9jdWJlbWFwX25lZ3ogPSBG
QUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5y
ZXF1aXJlZC50ZXh0dXJlX2FycmF5X2N1YmVtYXBfcG9zeCA9IEZBSUwKKzM4MTcgVlVMS0FOIDog
S0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1cmVfYXJy
YXlfY3ViZW1hcF9wb3N5ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhf
aW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQudGV4dHVyZV9hcnJheV9jdWJlbWFwX3Bvc3ogPSBG
QUlMCisKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25z
LnJlcXVpcmVkLnRleHR1cmUyZF90ZXh0dXJlMmQgPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1H
TEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC50ZXh0dXJlMmRfY3ViZW1h
cF9uZWd4ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29u
dmVyc2lvbnMucmVxdWlyZWQudGV4dHVyZTJkX2N1YmVtYXBfbmVneSA9IEZBSUwKKzM4MTcgVlVM
S0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1
cmUyZF9jdWJlbWFwX25lZ3ogPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3Rl
eF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC50ZXh0dXJlMmRfY3ViZW1hcF9wb3N4ID0gRkFJ
TAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVx
dWlyZWQudGV4dHVyZTJkX2N1YmVtYXBfcG9zeSA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdM
RVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1cmUyZF9jdWJlbWFw
X3Bvc3ogPSBGQUlMCisKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2Nv
bnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfbmVneF90ZXh0dXJlMmQgPSBGQUlMCiszODE3IFZV
TEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJl
bWFwX25lZ3hfY3ViZW1hcF9uZWd4ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29w
eV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9uZWd4X2N1YmVtYXBfbmVn
eSA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNp
b25zLnJlcXVpcmVkLmN1YmVtYXBfbmVneF9jdWJlbWFwX25lZ3ogPSBGQUlMCiszODE3IFZVTEtB
TiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFw
X25lZ3hfY3ViZW1hcF9wb3N4ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90
ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9uZWd4X2N1YmVtYXBfcG9zeSA9
IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25z
LnJlcXVpcmVkLmN1YmVtYXBfbmVneF9jdWJlbWFwX3Bvc3ogPSBGQUlMCiszODE3IFZVTEtBTiA6
IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX25l
Z3lfdGV4dHVyZTJkID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1h
Z2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9uZWd5X2N1YmVtYXBfbmVneCA9IEZBSUwK
KzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVp
cmVkLmN1YmVtYXBfbmVneV9jdWJlbWFwX25lZ3kgPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1H
TEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX25lZ3lfY3Vi
ZW1hcF9uZWd6ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2Vf
Y29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9uZWd5X2N1YmVtYXBfcG9zeCA9IEZBSUwKKzM4
MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVk
LmN1YmVtYXBfbmVneV9jdWJlbWFwX3Bvc3kgPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVT
My5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX25lZ3lfY3ViZW1h
cF9wb3N6ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29u
dmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9uZWd6X3RleHR1cmUyZCA9IEZBSUwKKzM4MTcgVlVM
S0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVt
YXBfbmVnel9jdWJlbWFwX25lZ3ggPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5
X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX25lZ3pfY3ViZW1hcF9uZWd5
ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lv
bnMucmVxdWlyZWQuY3ViZW1hcF9uZWd6X2N1YmVtYXBfbmVneiA9IEZBSUwKKzM4MTcgVlVMS0FO
IDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBf
bmVnel9jdWJlbWFwX3Bvc3ggPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3Rl
eF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX25lZ3pfY3ViZW1hcF9wb3N5ID0g
RkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMu
cmVxdWlyZWQuY3ViZW1hcF9uZWd6X2N1YmVtYXBfcG9zeiA9IEZBSUwKKzM4MTcgVlVMS0FOIDog
S0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9z
eF90ZXh0dXJlMmQgPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFn
ZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX3Bvc3hfY3ViZW1hcF9uZWd4ID0gRkFJTAor
MzgxNyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWly
ZWQuY3ViZW1hcF9wb3N4X2N1YmVtYXBfbmVneSA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdM
RVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zeF9jdWJl
bWFwX25lZ3ogPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9j
b252ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX3Bvc3hfY3ViZW1hcF9wb3N4ID0gRkFJTAorMzgx
NyBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQu
Y3ViZW1hcF9wb3N4X2N1YmVtYXBfcG9zeSA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMz
LmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zeF9jdWJlbWFw
X3Bvc3ogPSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252
ZXJzaW9ucy5yZXF1aXJlZC5jdWJlbWFwX3Bvc3lfdGV4dHVyZTJkID0gRkFJTAorMzgxNyBWVUxL
QU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1h
cF9wb3N5X2N1YmVtYXBfbmVneCA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlf
dGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zeV9jdWJlbWFwX25lZ3kg
PSBGQUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9u
cy5yZXF1aXJlZC5jdWJlbWFwX3Bvc3lfY3ViZW1hcF9uZWd6ID0gRkFJTAorMzgxNyBWVUxLQU4g
OiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9w
b3N5X2N1YmVtYXBfcG9zeCA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4
X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zeV9jdWJlbWFwX3Bvc3kgPSBG
QUlMCiszODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5y
ZXF1aXJlZC5jdWJlbWFwX3Bvc3lfY3ViZW1hcF9wb3N6ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBL
SFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9wb3N6
X3RleHR1cmUyZCA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdl
X2NvbnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zel9jdWJlbWFwX25lZ3ggPSBGQUlMCisz
ODE3IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJl
ZC5jdWJlbWFwX3Bvc3pfY3ViZW1hcF9uZWd5ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xF
UzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9wb3N6X2N1YmVt
YXBfbmVneiA9IEZBSUwKKzM4MTcgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2Nv
bnZlcnNpb25zLnJlcXVpcmVkLmN1YmVtYXBfcG9zel9jdWJlbWFwX3Bvc3ggPSBGQUlMCiszODE3
IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC5j
dWJlbWFwX3Bvc3pfY3ViZW1hcF9wb3N5ID0gRkFJTAorMzgxNyBWVUxLQU4gOiBLSFItR0xFUzMu
Y29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQuY3ViZW1hcF9wb3N6X2N1YmVtYXBf
cG9zeiA9IEZBSUwKKworLy8gZ2xDb3B5VGV4SW1hZ2UgZnJvbSAzRCB0ZXh0dXJlcyBpcyBmYWls
aW5nIGFuZCBnZXR0aW5nIHRoZSBmb2xsb3dpbmcgVnVsa2FuIFZhbGlkYXRpb24gZXJyb3JzOgor
Ly8KKy8vICBJbWFnZVZpZXcgbXVzdCBub3QgYmUgYSAyRCBvciAyREFycmF5IHZpZXcgb2YgYSAz
RCBpbWFnZS4gVGhlIFZ1bGthbiBzcGVjIHN0YXRlczoKKy8vICBpbWFnZVZpZXcgbXVzdCBub3Qg
YmUgMkQgb3IgMkQgYXJyYXkgaW1hZ2UgdmlldyBjcmVhdGVkIGZyb20gYSAzRCBpbWFnZQorLy8K
KzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVp
cmVkLnRleHR1cmUzZF90ZXh0dXJlMmQgPSBGQUlMCiszODM2IFZVTEtBTiA6IEtIUi1HTEVTMy5j
b3B5X3RleF9pbWFnZV9jb252ZXJzaW9ucy5yZXF1aXJlZC50ZXh0dXJlM2RfY3ViZW1hcF9uZWd4
ID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lv
bnMucmVxdWlyZWQudGV4dHVyZTNkX2N1YmVtYXBfbmVneSA9IEZBSUwKKzM4MzYgVlVMS0FOIDog
S0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1cmUzZF9j
dWJlbWFwX25lZ3ogPSBGQUlMCiszODM2IFZVTEtBTiA6IEtIUi1HTEVTMy5jb3B5X3RleF9pbWFn
ZV9jb252ZXJzaW9ucy5yZXF1aXJlZC50ZXh0dXJlM2RfY3ViZW1hcF9wb3N4ID0gRkFJTAorMzgz
NiBWVUxLQU4gOiBLSFItR0xFUzMuY29weV90ZXhfaW1hZ2VfY29udmVyc2lvbnMucmVxdWlyZWQu
dGV4dHVyZTNkX2N1YmVtYXBfcG9zeSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLmNv
cHlfdGV4X2ltYWdlX2NvbnZlcnNpb25zLnJlcXVpcmVkLnRleHR1cmUzZF9jdWJlbWFwX3Bvc3og
PSBGQUlMCisKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3Jl
Y3RhbmdsZS5yOCA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMu
dmFyaWVkX3JlY3RhbmdsZS5yZzggPSBGQUlMCiszODM2IFZVTEtBTiA6IEtIUi1HTEVTMy5wYWNr
ZWRfcGl4ZWxzLnZhcmllZF9yZWN0YW5nbGUucmc4aSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hS
LUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZzh1aSA9IEZBSUwKKzM4MzYg
VlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZ2I4ID0g
RkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJpZWRfcmVjdGFu
Z2xlLnJnYmE4ID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52
YXJpZWRfcmVjdGFuZ2xlLnJnYmE4aSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBh
Y2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZ2JhOHVpID0gRkFJTAorCiszODM2IFZVTEtB
TiA6IEtIUi1HTEVTMy5wYWNrZWRfcGl4ZWxzLnZhcmllZF9yZWN0YW5nbGUucmcxNmkgPSBGQUlM
CiszODM2IFZVTEtBTiA6IEtIUi1HTEVTMy5wYWNrZWRfcGl4ZWxzLnZhcmllZF9yZWN0YW5nbGUu
cmcxNnVpID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJp
ZWRfcmVjdGFuZ2xlLnJnMTZmID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2Vk
X3BpeGVscy52YXJpZWRfcmVjdGFuZ2xlLnJnYjE2ZiA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hS
LUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZ2JhMTZpID0gRkFJTAorMzgz
NiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJpZWRfcmVjdGFuZ2xlLnJnYmEx
NnVpID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJpZWRf
cmVjdGFuZ2xlLnJnYmExNmYgPSBGQUlMCisKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tl
ZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZzMyaSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hS
LUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZzMydWkgPSBGQUlMCiszODM2
IFZVTEtBTiA6IEtIUi1HTEVTMy5wYWNrZWRfcGl4ZWxzLnZhcmllZF9yZWN0YW5nbGUucmczMmYg
PSBGQUlMCiszODM2IFZVTEtBTiA6IEtIUi1HTEVTMy5wYWNrZWRfcGl4ZWxzLnZhcmllZF9yZWN0
YW5nbGUucmdiYTMyaSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhl
bHMudmFyaWVkX3JlY3RhbmdsZS5yZ2JhMzJ1aSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdM
RVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZ2JhMzJmID0gRkFJTAorCiszODM2
IFZVTEtBTiA6IEtIUi1HTEVTMy5wYWNrZWRfcGl4ZWxzLnZhcmllZF9yZWN0YW5nbGUucmdiID0g
RkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJpZWRfcmVjdGFu
Z2xlLnJnYjU2NSA9IEZBSUwKKzM4MzYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMu
dmFyaWVkX3JlY3RhbmdsZS5yZ2I1X2ExID0gRkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMu
cGFja2VkX3BpeGVscy52YXJpZWRfcmVjdGFuZ2xlLnNyZ2I4X2FscGhhOCA9IEZBSUwKKzM4MzYg
VlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMudmFyaWVkX3JlY3RhbmdsZS5yZ2JhID0g
RkFJTAorMzgzNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVscy52YXJpZWRfcmVjdGFu
Z2xlLnJnYmE0ID0gRkFJTAorCisKKy8vIEZhaWxzIG9ubHkgd2l0aCBTd2lmdFNoYWRlcjoKKwor
Ly8gVGhlc2Ugb25seSBmYWlsIG9uIEFuZHJvaWQKKzQwMTkgU1dJRlRTSEFERVIgOiBLSFItR0xF
UzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDJ4NF9keW5hbWljX2xvb3Bf
d3JpdGVfc3RhdGljX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5IFNXSUZUU0hBREVSIDogS0hS
LUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlwdC5tYXQyeDRfZHluYW1pY19s
b29wX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJRlRTSEFERVIgOiBL
SFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDJ4NF9keW5hbWlj
X3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lGVFNIQURFUiA6IEtI
Ui1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X2R5bmFtaWNf
d3JpdGVfc3RhdGljX3JlYWRfdmVydGV4ID0gRkFJTAorNDAxOSBTV0lGVFNIQURFUiA6IEtIUi1H
TEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X3N0YXRpY19sb29w
X3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lGVFNIQURFUiA6IEtI
Ui1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X3N0YXRpY19s
b29wX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJRlRTSEFERVIgOiBL
SFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDJ4NF9zdGF0aWNf
d3JpdGVfZHluYW1pY19sb29wX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5IFNXSUZUU0hBREVS
IDogS0hSLUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlwdC5tYXQyeDRfc3Rh
dGljX3dyaXRlX2R5bmFtaWNfbG9vcF9yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJRlRTSEFE
RVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDJ4NF9z
dGF0aWNfd3JpdGVfZHluYW1pY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lGVFNIQURF
UiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X3N0
YXRpY193cml0ZV9keW5hbWljX3JlYWRfdmVydGV4ID0gRkFJTAorNDAxOSBTV0lGVFNIQURFUiA6
IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X3N0YXRp
Y193cml0ZV9zdGF0aWNfbG9vcF9yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lGVFNIQURF
UiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0Mng0X3N0
YXRpY193cml0ZV9zdGF0aWNfbG9vcF9yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJRlRTSEFE
RVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDN4NF9k
eW5hbWljX2xvb3Bfd3JpdGVfc3RhdGljX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5IFNXSUZU
U0hBREVSIDogS0hSLUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlwdC5tYXQz
eDRfZHluYW1pY19sb29wX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJ
RlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1h
dDN4NF9keW5hbWljX3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lG
VFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0
M3g0X2R5bmFtaWNfd3JpdGVfc3RhdGljX3JlYWRfdmVydGV4ID0gRkFJTAorNDAxOSBTV0lGVFNI
QURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0M3g0
X3N0YXRpY19sb29wX3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lG
VFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0
M3g0X3N0YXRpY19sb29wX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJ
RlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1h
dDN4NF9zdGF0aWNfd3JpdGVfZHluYW1pY19sb29wX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5
IFNXSUZUU0hBREVSIDogS0hSLUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlw
dC5tYXQzeDRfc3RhdGljX3dyaXRlX2R5bmFtaWNfbG9vcF9yZWFkX3ZlcnRleCA9IEZBSUwKKzQw
MTkgU1dJRlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2Ny
aXB0Lm1hdDN4NF9zdGF0aWNfd3JpdGVfZHluYW1pY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAx
OSBTV0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3Jp
cHQubWF0M3g0X3N0YXRpY193cml0ZV9keW5hbWljX3JlYWRfdmVydGV4ID0gRkFJTAorNDAxOSBT
V0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQu
bWF0M3g0X3N0YXRpY193cml0ZV9zdGF0aWNfbG9vcF9yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAx
OSBTV0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3Jp
cHQubWF0M3g0X3N0YXRpY193cml0ZV9zdGF0aWNfbG9vcF9yZWFkX3ZlcnRleCA9IEZBSUwKKzQw
MTkgU1dJRlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2Ny
aXB0Lm1hdDRfZHluYW1pY19sb29wX3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAor
NDAxOSBTV0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJz
Y3JpcHQubWF0NF9keW5hbWljX2xvb3Bfd3JpdGVfc3RhdGljX3JlYWRfdmVydGV4ID0gRkFJTAor
NDAxOSBTV0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJz
Y3JpcHQubWF0NF9keW5hbWljX3dyaXRlX3N0YXRpY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAx
OSBTV0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3Jp
cHQubWF0NF9keW5hbWljX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJ
RlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1h
dDRfc3RhdGljX2xvb3Bfd3JpdGVfc3RhdGljX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5IFNX
SUZUU0hBREVSIDogS0hSLUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlwdC5t
YXQ0X3N0YXRpY19sb29wX3dyaXRlX3N0YXRpY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJ
RlRTSEFERVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1h
dDRfc3RhdGljX3dyaXRlX2R5bmFtaWNfbG9vcF9yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBT
V0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQu
bWF0NF9zdGF0aWNfd3JpdGVfZHluYW1pY19sb29wX3JlYWRfdmVydGV4ID0gRkFJTAorNDAxOSBT
V0lGVFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQu
bWF0NF9zdGF0aWNfd3JpdGVfZHluYW1pY19yZWFkX2ZyYWdtZW50ID0gRkFJTAorNDAxOSBTV0lG
VFNIQURFUiA6IEtIUi1HTEVTMy5zaGFkZXJzLmluZGV4aW5nLm1hdHJpeF9zdWJzY3JpcHQubWF0
NF9zdGF0aWNfd3JpdGVfZHluYW1pY19yZWFkX3ZlcnRleCA9IEZBSUwKKzQwMTkgU1dJRlRTSEFE
RVIgOiBLSFItR0xFUzMuc2hhZGVycy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDRfc3Rh
dGljX3dyaXRlX3N0YXRpY19sb29wX3JlYWRfZnJhZ21lbnQgPSBGQUlMCis0MDE5IFNXSUZUU0hB
REVSIDogS0hSLUdMRVMzLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlwdC5tYXQ0X3N0
YXRpY193cml0ZV9zdGF0aWNfbG9vcF9yZWFkX3ZlcnRleCA9IEZBSUwKKworLy8gTmV3IGZhaWx1
cmVzIHdpdGggbGF0ZXN0IGRFUVAgcm9sbCAoMjAyMC0wNC0yOCkKKzQ1OTMgU1dJRlRTSEFERVIg
OiBLSFItR0xFUzMuY29yZS5uZWFyZXN0X2VkZ2Uub2Zmc2V0X2xlZnQgPSBGQUlMCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTEJsb2JD
YWNoZVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0
cy9FR0xCbG9iQ2FjaGVUZXN0LmNwcAppbmRleCA4Y2Y4NDk5YzMzODI4MDBjYTllNDdjYzlhOTQ3
OTk3Y2Q5ZDVmN2FmLi4zYjIzMDgzOTBjNGRiYzNhMzM5ZDdiZWRmYzZmYmUxMzZiZjZmMWYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VH
TEJsb2JDYWNoZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9lZ2xfdGVzdHMvRUdMQmxvYkNhY2hlVGVzdC5jcHAKQEAgLTEwOCwxMCArMTA4LDcgQEAgY2xh
c3MgRUdMQmxvYkNhY2hlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKIAogICAgIHZvaWQgdGVzdFRl
YXJEb3duKCkgb3ZlcnJpZGUgeyBnQXBwbGljYXRpb25DYWNoZS5jbGVhcigpOyB9CiAKLSAgICBi
b29sIHByb2dyYW1CaW5hcnlBdmFpbGFibGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIChnZXRD
bGllbnRNYWpvclZlcnNpb24oKSA+PSAzIHx8IElzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9PRVNf
Z2V0X3Byb2dyYW1fYmluYXJ5IikpOwotICAgIH0KKyAgICBib29sIHByb2dyYW1CaW5hcnlBdmFp
bGFibGUoKSB7IHJldHVybiBJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfT0VTX2dldF9wcm9ncmFt
X2JpbmFyeSIpOyB9CiAKICAgICBib29sIG1IYXNCbG9iQ2FjaGU7CiB9OwpAQCAtMjMyLDQgKzIy
OSw1NyBAQCBURVNUX1AoRUdMQmxvYkNhY2hlVGVzdCwgTmVnYXRpdmVBUEkpCiAgICAgRVhQRUNU
X0VHTF9FUlJPUihFR0xfQkFEX1BBUkFNRVRFUik7CiB9CiAKLUFOR0xFX0lOU1RBTlRJQVRFX1RF
U1RfRVMyKEVHTEJsb2JDYWNoZVRlc3QpOworLy8gUmVncmVzc2lvbiB0ZXN0IGZvciBpbmNsdWRp
bmcgdGhlIGZyYWdtZW50IG91dHB1dCBsb2NhdGlucyBpbiB0aGUgcHJvZ3JhbSBrZXkuCisvLyBo
dHRwOi8vYW5nbGVidWcuY29tLzQ1MzUKK1RFU1RfUChFR0xCbG9iQ2FjaGVUZXN0LCBGcmFnbWVu
dE91dHB1dExvY2F0aW9uS2V5KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xF
eHRlbnNpb25FbmFibGVkKCJHTF9FWFRfYmxlbmRfZnVuY19leHRlbmRlZCIpIHx8CisgICAgICAg
ICAgICAgICAgICAgICAgIGdldENsaWVudE1ham9yVmVyc2lvbigpIDwgMyk7CisKKyAgICBFR0xE
aXNwbGF5IGRpc3BsYXkgPSBnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpOworCisgICAgRVhQ
RUNUX1RSVUUobUhhc0Jsb2JDYWNoZSk7CisgICAgZWdsU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lE
KGRpc3BsYXksIFNldEJsb2IsIEdldEJsb2IpOworICAgIEFTU0VSVF9FR0xfU1VDQ0VTUygpOwor
CisgICAgLy8gQ29tcGlsZSBhIHNoYWRlciBzbyBpdCBwdXRzIHNvbWV0aGluZyBpbiB0aGUgY2Fj
aGUKKyAgICBpZiAocHJvZ3JhbUJpbmFyeUF2YWlsYWJsZSgpKQorICAgIHsKKyAgICAgICAgY29u
c3RleHByIGNoYXIga0ZyYWdtZW50U2hhZGVyU3JjW10gPSBSIigjdmVyc2lvbiAzMDAgZXMKKyNl
eHRlbnNpb24gR0xfRVhUX2JsZW5kX2Z1bmNfZXh0ZW5kZWQgOiByZXF1aXJlCitwcmVjaXNpb24g
bWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCBzcmM7Cit1bmlmb3JtIHZlYzQgc3JjMTsKK291
dCB2ZWM0IEZyYWdEYXRhOworb3V0IHZlYzQgU2Vjb25kYXJ5RnJhZ0RhdGE7Cit2b2lkIG1haW4o
KSB7CisgICAgRnJhZ0RhdGEgPSBzcmM7CisgICAgU2Vjb25kYXJ5RnJhZ0RhdGEgPSBzcmMxOwor
fSkiOworCisgICAgICAgIGNvbnN0ZXhwciBjaGFyIGtWZXJ0ZXhTaGFkZXJTcmNbXSA9IFIiKCN2
ZXJzaW9uIDMwMCBlcworaW4gdmVjNCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Q
b3NpdGlvbiA9IHBvc2l0aW9uOworfSkiOworCisgICAgICAgIEdMdWludCBwcm9ncmFtID0gQ29t
cGlsZVByb2dyYW0oa1ZlcnRleFNoYWRlclNyYywga0ZyYWdtZW50U2hhZGVyU3JjLCBbXShHTHVp
bnQgcCkgeworICAgICAgICAgICAgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkVYVChwLCAwLCAiRnJh
Z0RhdGFbMF0iKTsKKyAgICAgICAgICAgIGdsQmluZEZyYWdEYXRhTG9jYXRpb25JbmRleGVkRVhU
KHAsIDAsIDEsICJTZWNvbmRhcnlGcmFnRGF0YVswXSIpOworICAgICAgICB9KTsKKyAgICAgICAg
QVNTRVJUX05FKDB1LCBwcm9ncmFtKTsKKyAgICAgICAgRVhQRUNUX0VRKENhY2hlT3BSZXN1bHQ6
OlNldFN1Y2Nlc3MsIGdMYXN0Q2FjaGVPcFJlc3VsdCk7CisgICAgICAgIGdMYXN0Q2FjaGVPcFJl
c3VsdCA9IENhY2hlT3BSZXN1bHQ6OlZhbHVlTm90U2V0OworCisgICAgICAgIC8vIFJlLWxpbmsg
dGhlIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgZnJhZ21lbnQgb3V0cHV0IGJpbmRpbmdzCisgICAg
ICAgIHByb2dyYW0gPSBDb21waWxlUHJvZ3JhbShrVmVydGV4U2hhZGVyU3JjLCBrRnJhZ21lbnRT
aGFkZXJTcmMsIFtdKEdMdWludCBwKSB7CisgICAgICAgICAgICBnbEJpbmRGcmFnRGF0YUxvY2F0
aW9uRVhUKHAsIDAsICJGcmFnRGF0YSIpOworICAgICAgICAgICAgZ2xCaW5kRnJhZ0RhdGFMb2Nh
dGlvbkluZGV4ZWRFWFQocCwgMCwgMSwgIlNlY29uZGFyeUZyYWdEYXRhIik7CisgICAgICAgIH0p
OworICAgICAgICBBU1NFUlRfTkUoMHUsIHByb2dyYW0pOworICAgICAgICBFWFBFQ1RfRVEoQ2Fj
aGVPcFJlc3VsdDo6U2V0U3VjY2VzcywgZ0xhc3RDYWNoZU9wUmVzdWx0KTsKKyAgICAgICAgZ0xh
c3RDYWNoZU9wUmVzdWx0ID0gQ2FjaGVPcFJlc3VsdDo6VmFsdWVOb3RTZXQ7CisgICAgfQorfQor
CitBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMl9BTkRfRVMzKEVHTEJsb2JDYWNoZVRlc3QpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9F
R0xDb250ZXh0Q29tcGF0aWJpbGl0eVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xDb250ZXh0Q29tcGF0aWJpbGl0eVRlc3QuY3BwCmluZGV4
IDA0ZmZkYzJiZjQ4MzdhNmQyMGRkZDA3MGFiNTlhYTA1Y2FlMDAzNWMuLjE3MjA4ZmQyNTI3MGE4
ZjJlOTNmNDgwYWNhNGY2NmIxYWY0MTA3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdMQ29udGV4dENvbXBhdGliaWxpdHlUZXN0LmNw
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTENv
bnRleHRDb21wYXRpYmlsaXR5VGVzdC5jcHAKQEAgLTQ3OCw3ICs0NzgsNyBAQCB2b2lkIFJlZ2lz
dGVyQ29udGV4dENvbXBhdGliaWxpdHlUZXN0cygpCiAgICAgICAgIEVHTF9QTEFURk9STV9BTkdM
RV9UWVBFX1ZVTEtBTl9BTkdMRSwKICAgICB9fTsKIAotICAgIExvYWRFbnRyeVBvaW50c1dpdGhV
dGlsTG9hZGVyKCk7CisgICAgTG9hZEVudHJ5UG9pbnRzV2l0aFV0aWxMb2FkZXIoYW5nbGU6OkdM
RVNEcml2ZXJUeXBlOjpBbmdsZUVHTCk7CiAKICAgICBpZiAoZWdsR2V0UGxhdGZvcm1EaXNwbGF5
RVhUID09IG51bGxwdHIpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xEaXJlY3RDb21wb3NpdGlvblRlc3QuY3BwIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xEaXJlY3RDb21wb3Np
dGlvblRlc3QuY3BwCmluZGV4IDk4ZjA4OTZmYjI3NGM2MzMyOGY3MWExMzZmMTkwZTBkZWVmNTBk
NzcuLmFjNTgwNzdhM2M4N2VjZDZmMjUzZjNiNDZiNzM4YTYyMDUxYzYyY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdMRGlyZWN0Q29t
cG9zaXRpb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
ZWdsX3Rlc3RzL0VHTERpcmVjdENvbXBvc2l0aW9uVGVzdC5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
Y2xhc3MgRUdMRGlyZWN0Q29tcG9zaXRpb25UZXN0IDogcHVibGljIEFOR0xFVGVzdAogCiAgICAg
ICAgIG1PU1dpbmRvdy0+aW5pdGlhbGl6ZSgiRUdMRGlyZWN0Q29tcG9zaXRpb25UZXN0IiwgV0lO
RE9XV0lEVEgsIFdJTkRPV0hFSUdIVCk7CiAgICAgICAgIGF1dG8gbmF0aXZlV2luZG93ID0gbU9T
V2luZG93LT5nZXROYXRpdmVXaW5kb3coKTsKLSAgICAgICAgbU9TV2luZG93LT5zZXRWaXNpYmxl
KHRydWUpOworICAgICAgICBzZXRXaW5kb3dWaXNpYmxlKG1PU1dpbmRvdywgdHJ1ZSk7CiAKICAg
ICAgICAgLy8gQ3JlYXRlIERpc3BhdGNoZXJRdWV1ZSBmb3Igd2luZG93IHRvIHByb2Nlc3MgY29t
cG9zaXRvciBjYWxsYmFja3MKICAgICAgICAgQ3JlYXRlRGlzcGF0Y2hlclF1ZXVlKG1EaXNwYXRj
aGVyQ29udHJvbGxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
dGVzdHMvZWdsX3Rlc3RzL0VHTERpc3BsYXlMdWlkVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTERpc3BsYXlMdWlkVGVzdC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2I0ZGNhYTU2YTYxM2RiMDFlODBlYTAzOTRiNmMxOTU4YzY2NTQyNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdM
RGlzcGxheUx1aWRUZXN0LmNwcApAQCAtMCwwICsxLDg0IEBACisvLworLy8gQ29weXJpZ2h0IDIw
MjAgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworLy8gRUdMRGlz
cGxheUx1aWRUZXN0LmNwcDoKKy8vICAgVGVzdHMgZm9yIHRoZSBFR0xfQU5HTEVfcGxhdGZvcm1f
YW5nbGVfZDNkX2x1aWQgZXh0ZW5zaW9uLgorLy8KKworI2luY2x1ZGUgInRlc3RfdXRpbHMvQU5H
TEVUZXN0LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBhbmdsZTsKKworY2xhc3MgRUdMRGlzcGxheUx1
aWRUZXN0IDogcHVibGljIEFOR0xFVGVzdAoreworICBwcm90ZWN0ZWQ6CisgICAgRUdMRGlzcGxh
eUx1aWRUZXN0KCkgOiBtRGlzcGxheShFR0xfTk9fRElTUExBWSkge30KKworICAgIHZvaWQgdGVz
dFRlYXJEb3duKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGlmIChtRGlzcGxheSAhPSBFR0xf
Tk9fRElTUExBWSkKKyAgICAgICAgeworICAgICAgICAgICAgRVhQRUNUX0VHTF9UUlVFKGVnbFRl
cm1pbmF0ZShtRGlzcGxheSkpOworICAgICAgICAgICAgRVhQRUNUX0VHTF9TVUNDRVNTKCk7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHRlc3RJbnZhbGlkQXR0cmlicyhjb25zdCBFR0xp
bnQgZGlzcGxheUF0dHJpYnNbXSkKKyAgICB7CisgICAgICAgIEVYUEVDVF9FUSgKKyAgICAgICAg
ICAgIGVnbEdldFBsYXRmb3JtRGlzcGxheUVYVChFR0xfUExBVEZPUk1fQU5HTEVfQU5HTEUsIEVH
TF9ERUZBVUxUX0RJU1BMQVksIGRpc3BsYXlBdHRyaWJzKSwKKyAgICAgICAgICAgIEVHTF9OT19E
SVNQTEFZKTsKKyAgICAgICAgRVhQRUNUX0VHTF9FUlJPUihFR0xfQkFEX0FUVFJJQlVURSk7Cisg
ICAgfQorCisgICAgdm9pZCB0ZXN0VmFsaWRBdHRyaWJzKGNvbnN0IEVHTGludCBkaXNwbGF5QXR0
cmlic1tdKQorICAgIHsKKyAgICAgICAgbURpc3BsYXkgPQorICAgICAgICAgICAgZWdsR2V0UGxh
dGZvcm1EaXNwbGF5RVhUKEVHTF9QTEFURk9STV9BTkdMRV9BTkdMRSwgRUdMX0RFRkFVTFRfRElT
UExBWSwgZGlzcGxheUF0dHJpYnMpOworCisgICAgICAgIEVYUEVDVF9FR0xfU1VDQ0VTUygpOwor
ICAgICAgICBFWFBFQ1RfTkUobURpc3BsYXksIEVHTF9OT19ESVNQTEFZKTsKKworICAgICAgICAv
LyBlZ2xJbml0aWFsaXplIHNob3VsZCBzdWNjZWVkIGV2ZW4gaWYgdGhlIExVSUQgZG9lc24ndCBt
YXRjaCBhbiBhY3R1YWwKKyAgICAgICAgLy8gYWRhcHRlciBvbiB0aGUgc3lzdGVtLiBUaGUgYmVo
YXZpb3IgaW4gdGhpcyBjYXNlIGlzIHRoYXQgdGhlIGRlZmF1bHQKKyAgICAgICAgLy8gYWRhcHRl
ciBpcyB1c2VkLgorICAgICAgICBFWFBFQ1RfRUdMX1RSVUUoZWdsSW5pdGlhbGl6ZShtRGlzcGxh
eSwgbnVsbHB0ciwgbnVsbHB0cikpOworICAgICAgICBFWFBFQ1RfRUdMX1NVQ0NFU1MoKTsKKyAg
ICB9CisKKyAgcHJpdmF0ZToKKyAgICBFR0xEaXNwbGF5IG1EaXNwbGF5OworfTsKKworLy8gRUdM
X0FOR0xFX3BsYXRmb3JtX2FuZ2xlX2QzZF9sdWlkIGlzIG9ubHkgc3VwcG9ydGVkIG9uIEQzRDEx
LiBWZXJpZnkgZmFpbHVyZQorLy8gaWYgRDNEOSBpcyBzcGVjaWZpZWQgaW4gdGhlIGF0dHJpYnV0
ZXMuCitURVNUX1AoRUdMRGlzcGxheUx1aWRUZXN0LCBEM0Q5RmFpbHVyZSkKK3sKKyAgICBFR0xp
bnQgZGlzcGxheUF0dHJpYnNbXSA9IHtFR0xfUExBVEZPUk1fQU5HTEVfVFlQRV9BTkdMRSwgRUdM
X1BMQVRGT1JNX0FOR0xFX1RZUEVfRDNEOV9BTkdMRSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFR0xfUExBVEZPUk1fQU5HTEVfRDNEX0xVSURfSElHSF9BTkdMRSwgMSwgRUdMX05P
TkV9OworICAgIHRlc3RJbnZhbGlkQXR0cmlicyhkaXNwbGF5QXR0cmlicyk7Cit9CisKKy8vIFZl
cmlmeSBmYWlsdXJlIGlmIHRoZSBzcGVjaWZpZWQgTFVJRCBpcyB6ZXJvLgorVEVTVF9QKEVHTERp
c3BsYXlMdWlkVGVzdCwgWmVyb0x1aWRGYWlsdXJlKQoreworICAgIEVHTGludCBkaXNwbGF5QXR0
cmlic1tdID0ge0VHTF9QTEFURk9STV9BTkdMRV9UWVBFX0FOR0xFLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEVHTF9QTEFURk9STV9BTkdMRV9UWVBFX0QzRDExX0FOR0xFLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9QTEFURk9STV9BTkdMRV9EM0RfTFVJRF9I
SUdIX0FOR0xFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0xPV19BTkdM
RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVHTF9OT05FfTsKKyAgICB0ZXN0SW52YWxpZEF0dHJpYnMoZGlzcGxheUF0
dHJpYnMpOworfQorCitURVNUX1AoRUdMRGlzcGxheUx1aWRUZXN0LCBEM0QxMSkKK3sKKyAgICBF
R0xpbnQgZGlzcGxheUF0dHJpYnNbXSA9IHtFR0xfUExBVEZPUk1fQU5HTEVfVFlQRV9BTkdMRSwg
RUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfRDNEMTFfQU5HTEUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRUdMX1BMQVRGT1JNX0FOR0xFX0QzRF9MVUlEX0hJR0hfQU5HTEUsIDEsIEVH
TF9OT05FfTsKKyAgICB0ZXN0VmFsaWRBdHRyaWJzKGRpc3BsYXlBdHRyaWJzKTsKK30KKworQU5H
TEVfSU5TVEFOVElBVEVfVEVTVChFR0xEaXNwbGF5THVpZFRlc3QsIFdpdGhOb0ZpeHR1cmUoRVMy
X0QzRDkoKSksIFdpdGhOb0ZpeHR1cmUoRVMyX0QzRDExKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdMUm9idXN0bmVzc1Rlc3Qu
Y3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xSb2J1
c3RuZXNzVGVzdC5jcHAKaW5kZXggYjdkN2Q0Y2NhZWVhMGM1YjMxZTBkM2M5YWI0ZGZmMzYzNTc5
MWMwMy4uYzBhZDJiNDIyZmI2YjNjYTY2NTg2ODFlYjljNDE4YjQyZjBkNjI1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xSb2J1c3Ru
ZXNzVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90
ZXN0cy9FR0xSb2J1c3RuZXNzVGVzdC5jcHAKQEAgLTIzLDcgKzIzLDcgQEAgY2xhc3MgRUdMUm9i
dXN0bmVzc1Rlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgewogICAgICAgICBtT1NXaW5kb3cg
PSBPU1dpbmRvdzo6TmV3KCk7CiAgICAgICAgIG1PU1dpbmRvdy0+aW5pdGlhbGl6ZSgiRUdMUm9i
dXN0bmVzc1Rlc3QiLCA1MDAsIDUwMCk7Ci0gICAgICAgIG1PU1dpbmRvdy0+c2V0VmlzaWJsZSh0
cnVlKTsKKyAgICAgICAgc2V0V2luZG93VmlzaWJsZShtT1NXaW5kb3csIHRydWUpOwogCiAgICAg
ICAgIGNvbnN0IGF1dG8gJnBsYXRmb3JtID0gR2V0UGFyYW0oKS5lZ2xQYXJhbWV0ZXJzOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VH
TFN1cmZhY2VUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xf
dGVzdHMvRUdMU3VyZmFjZVRlc3QuY3BwCmluZGV4IGEzYjE3NThmZDExNzY0NTE4ZTU0NjRmZDkx
M2Y1YWNmYjk4Y2Y2YzAuLjkxNTk0ZjRhOWFhZjEyNTVjYmJmMjIwMzk1YTRiMWU5YjQ0YjFjMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMv
RUdMU3VyZmFjZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9lZ2xfdGVzdHMvRUdMU3VyZmFjZVRlc3QuY3BwCkBAIC00MDEsOSArNDAxLDExIEBAIFRFU1Rf
UChFR0xTdXJmYWNlVGVzdCwgUmVzaXplV2luZG93KQogewogICAgIC8vIGh0dHA6Ly9hbmdsZWJ1
Zy5jb20vNDQ1MwogICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkgJiYg
SXNMaW51eCgpICYmIElzSW50ZWwoKSk7CisgICAgLy8gRmxha3kgb24gTGludXggU3dBTkdMRSBo
dHRwOi8vYW5nbGVidWcuY29tLzQ0NTMKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNMaW51eCgp
ICYmIGlzU3dpZnRzaGFkZXIoKSk7CiAKICAgICAvLyBOZWNlc3NhcnkgZm9yIGEgd2luZG93IHJl
c2l6aW5nIHRlc3QgaWYgdGhlcmUgaXMgbm8gcGVyLWZyYW1lIHdpbmRvdyBzaXplIHF1ZXJ5Ci0g
ICAgbU9TV2luZG93LT5zZXRWaXNpYmxlKHRydWUpOworICAgIHNldFdpbmRvd1Zpc2libGUobU9T
V2luZG93LCB0cnVlKTsKIAogICAgIEdMZW51bSBwbGF0Zm9ybSAgICAgICAgICAgICAgID0gR2V0
UGFyYW0oKS5nZXRSZW5kZXJlcigpOwogICAgIGJvb2wgcGxhdGZvcm1TdXBwb3J0c1plcm9TaXpl
ID0gcGxhdGZvcm0gPT0gRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfRDNEMTFfQU5HTEUgfHwKQEAg
LTQ1OCw3ICs0NjAsNyBAQCBURVNUX1AoRUdMU3VyZmFjZVRlc3QsIFJlc2l6ZVdpbmRvd1dpdGhE
cmF3KQogICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJc0xpbnV4KCkgJiYgaXNTd2lmdHNoYWRlcigp
KTsKIAogICAgIC8vIE5lY2Vzc2FyeSBmb3IgYSB3aW5kb3cgcmVzaXppbmcgdGVzdCBpZiB0aGVy
ZSBpcyBubyBwZXItZnJhbWUgd2luZG93IHNpemUgcXVlcnkKLSAgICBtT1NXaW5kb3ctPnNldFZp
c2libGUodHJ1ZSk7CisgICAgc2V0V2luZG93VmlzaWJsZShtT1NXaW5kb3csIHRydWUpOwogCiAg
ICAgaW5pdGlhbGl6ZURpc3BsYXkoKTsKICAgICBpbml0aWFsaXplU3VyZmFjZVdpdGhEZWZhdWx0
Q29uZmlnKCk7CkBAIC01MzgsMTAgKzU0MCwyOTMgQEAgVEVTVF9QKEVHTFN1cmZhY2VUZXN0LCBS
ZXNpemVXaW5kb3dXaXRoRHJhdykKICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoc2l6ZSwgc2l6
ZSwgR0xDb2xvcjo6dHJhbnNwYXJlbnRCbGFjayk7CiB9CiAKKy8vIEEgc2xpZ2h0IHZhcmlhdGlv
biBvZiBFR0xTdXJmYWNlVGVzdCwgd2hlcmUgdGhlIGluaXRpYWwgd2luZG93IHNpemUgaXMgMjU2
eDI1Ni4gIFRoaXMgYWxsb3dzCisvLyBlYWNoIHBpeGVsIHRvIGhhdmUgYSB1bmlxdWUgYW5kIHBy
ZWRpY3RhYmxlIHZhbHVlLCB3aGljaCB3aWxsIGhlbHAgaW4gdGVzdGluZyBwcmUtcm90YXRpb24u
CisvLyBUaGUgcmVkIGNoYW5uZWwgd2lsbCBpbmNyZW1lbnQgd2l0aCB0aGUgeCBheGlzLCBhbmQg
dGhlIGdyZWVuIGNoYW5uZWwgd2lsbCBpbmNyZW1lbnQgd2l0aCB0aGUgeQorLy8gYXhpcy4gIFRo
ZSBmb3VyIGNvcm5lcnMgd2lsbCBoYXZlIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorLy8KKy8vIFdo
ZXJlICAgICAgICAgICAgICAgICBHTEVTIFJlbmRlciAmICBSZWFkUGl4ZWxzIGNvb3JkcyAgICAg
ICBDb2xvciAgICAoaW4gSGV4KQorLy8gTG93ZXItbGVmdCwgIHdoaWNoIGlzICgtMS4wLC0xLjAp
ICYgKCAgMCwgICAwKSBpbiBHTEVTIHdpbGwgYmUgYmxhY2sgICgweDAwLCAweDAwLCAweDAwLCAw
eEZGKQorLy8gTG93ZXItcmlnaHQsIHdoaWNoIGlzICggMS4wLC0xLjApICYgKDI1NiwgICAwKSBp
biBHTEVTIHdpbGwgYmUgcmVkICAgICgweEZGLCAweDAwLCAweDAwLCAweEZGKQorLy8gVXBwZXIt
bGVmdCwgIHdoaWNoIGlzICgtMS4wLCAxLjApICYgKCAgMCwgMjU2KSBpbiBHTEVTIHdpbGwgYmUg
Z3JlZW4gICgweDAwLCAweEZGLCAweDAwLCAweEZGKQorLy8gVXBwZXItcmlnaHQsIHdoaWNoIGlz
ICggMS4wLCAxLjApICYgKDI1NiwgMjU2KSBpbiBHTEVTIHdpbGwgYmUgeWVsbG93ICgweEZGLCAw
eEZGLCAweDAwLCAweEZGKQorY2xhc3MgRUdMUHJlUm90YXRpb25TdXJmYWNlVGVzdCA6IHB1Ymxp
YyBFR0xTdXJmYWNlVGVzdAoreworICBwcm90ZWN0ZWQ6CisgICAgRUdMUHJlUm90YXRpb25TdXJm
YWNlVGVzdCgpIDogbVNpemUoMjU2KSB7fQorCisgICAgdm9pZCB0ZXN0U2V0VXAoKSBvdmVycmlk
ZQorICAgIHsKKyAgICAgICAgbU9TV2luZG93ID0gT1NXaW5kb3c6Ok5ldygpOworICAgICAgICBt
T1NXaW5kb3ctPmluaXRpYWxpemUoIkVHTFN1cmZhY2VUZXN0IiwgbVNpemUsIG1TaXplKTsKKyAg
ICB9CisKKyAgICB2b2lkIGluaXRpYWxpemVTdXJmYWNlV2l0aFJHQkE4ODg4Q29uZmlnKCkKKyAg
ICB7CisgICAgICAgIGNvbnN0IEVHTGludCBjb25maWdBdHRyaWJ1dGVzW10gPSB7CisgICAgICAg
ICAgICBFR0xfUkVEX1NJWkUsICAgOCwgRUdMX0dSRUVOX1NJWkUsICAgOCwgRUdMX0JMVUVfU0la
RSwgICAgICA4LCBFR0xfQUxQSEFfU0laRSwgOCwKKyAgICAgICAgICAgIEVHTF9ERVBUSF9TSVpF
LCAwLCBFR0xfU1RFTkNJTF9TSVpFLCAwLCBFR0xfU0FNUExFX0JVRkZFUlMsIDAsIEVHTF9OT05F
fTsKKworICAgICAgICBFR0xpbnQgY29uZmlnQ291bnQ7CisgICAgICAgIEVHTENvbmZpZyBjb25m
aWc7CisgICAgICAgIEFTU0VSVF9UUlVFKGVnbENob29zZUNvbmZpZyhtRGlzcGxheSwgY29uZmln
QXR0cmlidXRlcywgJmNvbmZpZywgMSwgJmNvbmZpZ0NvdW50KSB8fAorICAgICAgICAgICAgICAg
ICAgICAoY29uZmlnQ291bnQgIT0gMSkgPT0gRUdMX1RSVUUpOworCisgICAgICAgIGluaXRpYWxp
emVTdXJmYWNlKGNvbmZpZyk7CisgICAgfQorCisgICAgdm9pZCB0ZXN0RHJhd2luZ0FuZFJlYWRQ
aXhlbHMoKQorICAgIHsKKyAgICAgICAgZ2xEcmF3RWxlbWVudHMoR0xfVFJJQU5HTEVTLCA2LCBH
TF9VTlNJR05FRF9TSE9SVCwgbnVsbHB0cik7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9F
USgwLCAwLCBHTENvbG9yOjpibGFjayk7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgw
LCBtU2l6ZSAtIDEsIEdMQ29sb3I6OmdyZWVuKTsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKG1TaXplIC0gMSwgMCwgR0xDb2xvcjo6cmVkKTsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NP
TE9SX0VRKG1TaXplIC0gMSwgbVNpemUgLSAxLCBHTENvbG9yOjp5ZWxsb3cpOworICAgICAgICBB
U1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgICAgICBlZ2xTd2FwQnVmZmVycyhtRGlzcGxheSwg
bVdpbmRvd1N1cmZhY2UpOworICAgICAgICBBU1NFUlRfRUdMX1NVQ0NFU1MoKTsKKworICAgICAg
ICBnbERyYXdFbGVtZW50cyhHTF9UUklBTkdMRVMsIDYsIEdMX1VOU0lHTkVEX1NIT1JULCBudWxs
cHRyKTsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmJsYWNr
KTsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIG1TaXplIC0gMSwgR0xDb2xvcjo6
Z3JlZW4pOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEobVNpemUgLSAxLCAwLCBHTENv
bG9yOjpyZWQpOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEobVNpemUgLSAxLCBtU2l6
ZSAtIDEsIEdMQ29sb3I6OnllbGxvdyk7CisgICAgICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE5vdywgdGVzdCBhIDR4NCBhcmVhIGluIHRoZSBj
ZW50ZXIgb2YgdGhlIHdpbmRvdywgd2hpY2ggc2hvdWxkIHRlbGwgdXMgaWYgYSBub24tMXgxCisg
ICAgICAgICAgICAvLyBSZWFkUGl4ZWxzIGlzIG9yaWVudGVkIGNvcnJlY3RseSBmb3IgdGhlIGRl
dmljZSdzIG9yaWVudGF0aW9uOgorICAgICAgICAgICAgR0xpbnQgeE9mZnNldCAgPSAxMjY7Cisg
ICAgICAgICAgICBHTGludCB5T2Zmc2V0ICA9IDEyNjsKKyAgICAgICAgICAgIEdMc2l6ZWkgd2lk
dGggID0gNDsKKyAgICAgICAgICAgIEdMc2l6ZWkgaGVpZ2h0ID0gNDsKKyAgICAgICAgICAgIHN0
ZDo6dmVjdG9yPEdMQ29sb3I+IHBpeGVscyh3aWR0aCAqIGhlaWdodCk7CisgICAgICAgICAgICBn
bFJlYWRQaXhlbHMoeE9mZnNldCwgeU9mZnNldCwgd2lkdGgsIGhlaWdodCwgR0xfUkdCQSwgR0xf
VU5TSUdORURfQllURSwgJnBpeGVsc1swXSk7CisgICAgICAgICAgICBFWFBFQ1RfR0xfTk9fRVJS
T1IoKTsKKyAgICAgICAgICAgIC8vIEV4cGVjdCB0aGF0IGFsbCByZWQgdmFsdWVzIGVxdWF0ZSB0
byB4IGFuZCBncmVlbiB2YWx1ZXMgZXF1YXRlIHRvIHkKKyAgICAgICAgICAgIGZvciAoaW50IHkg
PSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9y
IChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgaW50IGluZGV4ID0gKHkgKiB3aWR0aCkgKyB4OworICAgICAgICAgICAgICAg
ICAgICBHTENvbG9yIGV4cGVjdGVkUGl4ZWwoeE9mZnNldCArIHgsIHlPZmZzZXQgKyB5LCAwLCAy
NTUpOworICAgICAgICAgICAgICAgICAgICBHTENvbG9yIGFjdHVhbFBpeGVsID0gcGl4ZWxzW2lu
ZGV4XTsKKyAgICAgICAgICAgICAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkUGl4ZWwsIGFjdHVh
bFBpeGVsKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwor
ICAgICAgICB7CisgICAgICAgICAgICAvLyBOb3csIHRlc3QgYSA4eDQgYXJlYSBvZmYtdGhlLWNl
bnRlciBvZiB0aGUgd2luZG93LCBqdXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHdvcmtzIHRvbzoKKyAg
ICAgICAgICAgIEdMaW50IHhPZmZzZXQgID0gMTM7CisgICAgICAgICAgICBHTGludCB5T2Zmc2V0
ICA9IDI2OworICAgICAgICAgICAgR0xzaXplaSB3aWR0aCAgPSA4OworICAgICAgICAgICAgR0xz
aXplaSBoZWlnaHQgPSA0OworICAgICAgICAgICAgc3RkOjp2ZWN0b3I8R0xDb2xvcj4gcGl4ZWxz
Mih3aWR0aCAqIGhlaWdodCk7CisgICAgICAgICAgICBnbFJlYWRQaXhlbHMoeE9mZnNldCwgeU9m
ZnNldCwgd2lkdGgsIGhlaWdodCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgJnBpeGVsczJb
MF0pOworICAgICAgICAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgICAgICAgICAvLyBF
eHBlY3QgdGhhdCBhbGwgcmVkIHZhbHVlcyBlcXVhdGUgdG8geCBhbmQgZ3JlZW4gdmFsdWVzIGVx
dWF0ZSB0byB5CisgICAgICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7
IHgrKykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGludCBpbmRleCA9
ICh5ICogd2lkdGgpICsgeDsKKyAgICAgICAgICAgICAgICAgICAgR0xDb2xvciBleHBlY3RlZFBp
eGVsKHhPZmZzZXQgKyB4LCB5T2Zmc2V0ICsgeSwgMCwgMjU1KTsKKyAgICAgICAgICAgICAgICAg
ICAgR0xDb2xvciBhY3R1YWxQaXhlbCA9IHBpeGVsczJbaW5kZXhdOworICAgICAgICAgICAgICAg
ICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRQaXhlbCwgYWN0dWFsUGl4ZWwpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGVnbFN3YXBCdWZmZXJz
KG1EaXNwbGF5LCBtV2luZG93U3VyZmFjZSk7CisgICAgICAgIEFTU0VSVF9FR0xfU1VDQ0VTUygp
OworICAgIH0KKworICAgIGludCBtU2l6ZTsKK307CisKKy8vIFByb3ZpZGUgYSBwcmVkaWN0YWJs
ZSBwYXR0ZXJuIGZvciB0ZXN0aW5nIHByZS1yb3RhdGlvbgorVEVTVF9QKEVHTFByZVJvdGF0aW9u
U3VyZmFjZVRlc3QsIE9yaWVudGVkV2luZG93V2l0aERyYXcpCit7CisgICAgLy8gaHR0cDovL2Fu
Z2xlYnVnLmNvbS80NDUzCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGlzVnVsa2FuUmVuZGVyZXIo
KSAmJiBJc0xpbnV4KCkgJiYgSXNJbnRlbCgpKTsKKworICAgIC8vIEZsYWt5IG9uIExpbnV4IFN3
QU5HTEUgaHR0cDovL2FuZ2xlYnVnLmNvbS80NDUzCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElz
TGludXgoKSAmJiBpc1N3aWZ0c2hhZGVyKCkpOworCisgICAgLy8gVG8gYWlkIGluIGRlYnVnZ2lu
Zywgd2Ugd2FudCB0aGlzIHdpbmRvdyB2aXNpYmxlCisgICAgc2V0V2luZG93VmlzaWJsZShtT1NX
aW5kb3csIHRydWUpOworCisgICAgaW5pdGlhbGl6ZURpc3BsYXkoKTsKKyAgICBpbml0aWFsaXpl
U3VyZmFjZVdpdGhSR0JBODg4OENvbmZpZygpOworICAgIGluaXRpYWxpemVDb250ZXh0KCk7CisK
KyAgICBlZ2xNYWtlQ3VycmVudChtRGlzcGxheSwgbVdpbmRvd1N1cmZhY2UsIG1XaW5kb3dTdXJm
YWNlLCBtQ29udGV4dCk7CisgICAgQVNTRVJUX0VHTF9TVUNDRVNTKCk7CisKKyAgICAvLyBJbml0
IHByb2dyYW0KKyAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9CisgICAgICAgICJhdHRyaWJ1dGUg
dmVjMiBwb3NpdGlvbjtcbiIKKyAgICAgICAgImF0dHJpYnV0ZSB2ZWMyIHJlZEdyZWVuO1xuIgor
ICAgICAgICAidmFyeWluZyB2ZWMyIHZfZGF0YTtcbiIKKyAgICAgICAgInZvaWQgbWFpbigpIHtc
biIKKyAgICAgICAgIiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAwLCAxKTtcbiIKKyAg
ICAgICAgIiAgdl9kYXRhID0gcmVkR3JlZW47XG4iCisgICAgICAgICJ9IjsKKworICAgIGNvbnN0
ZXhwciBjaGFyIGtGU1tdID0KKyAgICAgICAgInZhcnlpbmcgaGlnaHAgdmVjMiB2X2RhdGE7XG4i
CisgICAgICAgICJ2b2lkIG1haW4oKSB7XG4iCisgICAgICAgICIgIGdsX0ZyYWdDb2xvciA9IHZl
YzQodl9kYXRhLCAwLCAxKTtcbiIKKyAgICAgICAgIn0iOworCisgICAgR0x1aW50IHByb2dyYW0g
PSBDb21waWxlUHJvZ3JhbShrVlMsIGtGUyk7CisgICAgQVNTRVJUX05FKDB1LCBwcm9ncmFtKTsK
KyAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICBHTGludCBwb3NpdGlvbkxvY2F0aW9u
ID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAicG9zaXRpb24iKTsKKyAgICBBU1NFUlRf
TkUoLTEsIHBvc2l0aW9uTG9jYXRpb24pOworCisgICAgR0xpbnQgcmVkR3JlZW5Mb2NhdGlvbiA9
IGdsR2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgInJlZEdyZWVuIik7CisgICAgQVNTRVJUX05F
KC0xLCByZWRHcmVlbkxvY2F0aW9uKTsKKworICAgIEdMdWludCBpbmRleEJ1ZmZlcjsKKyAgICBn
bEdlbkJ1ZmZlcnMoMSwgJmluZGV4QnVmZmVyKTsKKworICAgIEdMdWludCB2ZXJ0ZXhBcnJheTsK
KyAgICBnbEdlblZlcnRleEFycmF5cygxLCAmdmVydGV4QXJyYXkpOworCisgICAgc3RkOjp2ZWN0
b3I8R0x1aW50PiB2ZXJ0ZXhCdWZmZXJzKDIpOworICAgIGdsR2VuQnVmZmVycygyLCAmdmVydGV4
QnVmZmVyc1swXSk7CisKKyAgICBnbEJpbmRWZXJ0ZXhBcnJheSh2ZXJ0ZXhBcnJheSk7CisKKyAg
ICBzdGQ6OnZlY3RvcjxHTHVzaG9ydD4gaW5kaWNlcyA9IHswLCAxLCAyLCAyLCAzLCAwfTsKKyAg
ICBnbEJpbmRCdWZmZXIoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4QnVmZmVyKTsKKyAg
ICBnbEJ1ZmZlckRhdGEoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHNpemVvZihHTHVzaG9ydCkg
KiBpbmRpY2VzLnNpemUoKSwgJmluZGljZXNbMF0sCisgICAgICAgICAgICAgICAgIEdMX1NUQVRJ
Q19EUkFXKTsKKworICAgIHN0ZDo6dmVjdG9yPEdMZmxvYXQ+IHBvc2l0aW9uRGF0YSA9IHsvLyBx
dWFkIHZlcnRpY2VzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0x
LjBmLCAxLjBmLCAtMS4wZiwgLTEuMGYsIDEuMGYsIC0xLjBmLCAxLjBmLCAxLjBmfTsKKworICAg
IGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIHZlcnRleEJ1ZmZlcnNbMF0pOworICAgIGds
QnVmZmVyRGF0YShHTF9BUlJBWV9CVUZGRVIsIHNpemVvZihHTGZsb2F0KSAqIHBvc2l0aW9uRGF0
YS5zaXplKCksICZwb3NpdGlvbkRhdGFbMF0sCisgICAgICAgICAgICAgICAgIEdMX1NUQVRJQ19E
UkFXKTsKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50ZXIocG9zaXRpb25Mb2NhdGlvbiwgMiwgR0xf
RkxPQVQsIEdMX0ZBTFNFLCBzaXplb2YoR0xmbG9hdCkgKiAyLCBudWxscHRyKTsKKyAgICBnbEVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRpb24pOworCisgICAgc3RkOjp2ZWN0
b3I8R0xmbG9hdD4gcmVkR3JlZW5EYXRhID0gey8vIGdyZWVuKDAsMSksIGJsYWNrKDAsMCksIHJl
ZCgxLDApLCB5ZWxsb3coMSwxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLjBmLCAxLjBmLCAwLjBmLCAwLjBmLCAxLjBmLCAwLjBmLCAxLjBmLCAxLjBmfTsKKwor
ICAgIGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIHZlcnRleEJ1ZmZlcnNbMV0pOworICAg
IGdsQnVmZmVyRGF0YShHTF9BUlJBWV9CVUZGRVIsIHNpemVvZihHTGZsb2F0KSAqIHJlZEdyZWVu
RGF0YS5zaXplKCksICZyZWRHcmVlbkRhdGFbMF0sCisgICAgICAgICAgICAgICAgIEdMX1NUQVRJ
Q19EUkFXKTsKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50ZXIocmVkR3JlZW5Mb2NhdGlvbiwgMiwg
R0xfRkxPQVQsIEdMX0ZBTFNFLCBzaXplb2YoR0xmbG9hdCkgKiAyLCBudWxscHRyKTsKKyAgICBn
bEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHJlZEdyZWVuTG9jYXRpb24pOworCisgICAgQVNTRVJU
X0dMX05PX0VSUk9SKCk7CisKKyAgICB0ZXN0RHJhd2luZ0FuZFJlYWRQaXhlbHMoKTsKK30KKwor
Ly8gQSBzbGlnaHQgdmFyaWF0aW9uIG9mIEVHTFByZVJvdGF0aW9uU3VyZmFjZVRlc3QsIHdoZXJl
IHRoZSBpbml0aWFsIHdpbmRvdyBzaXplIGlzIDQwMHgzMDAsIHlldAorLy8gdGhlIGRyYXdpbmcg
aXMgc3RpbGwgMjU2eDI1Ni4gIEluIGFkZGl0aW9uLCBnbF9GcmFnQ29vcmQgaXMgdXNlZCBpbiBh
ICJjbGV2ZXIiIHdheSwgYXMgdGhlIGNvbG9yCisvLyBvZiB0aGUgMjU2eDI1NiBkcmF3aW5nIGFy
ZWEsIHdoaWNoIHJlcHJvZHVjZXMgYW4gaW50ZXJlc3RpbmcgcHJlLXJvdGF0aW9uIGNhc2UgZnJv
bSB0aGUKKy8vIGZvbGxvd2luZyBkRVFQIHRlc3RzOgorLy8KKy8vIC0gZEVRUC5HTEVTMzEvZnVu
Y3Rpb25hbF90ZXh0dXJlX211bHRpc2FtcGxlX3NhbXBsZXNfKl9zYW1wbGVfcG9zaXRpb24KKy8v
CisvLyBUaGlzIHdpbGwgdGVzdCB0aGUgcm90YXRpb24gb2YgZ2xfRnJhZ0Nvb3JkLCBhcyB3ZWxs
IGFzIHRoZSB2aWV3cG9ydCwgc2Npc3NvciwgYW5kIHJlbmRlcmluZworLy8gYXJlYSBjYWxjdWxh
dGlvbnMsIGVzcGVjaWFsbHkgd2hlbiB0aGUgQW5kcm9pZCBkZXZpY2UgaXMgcm90YXRlZC4KK2Ns
YXNzIEVHTFByZVJvdGF0aW9uTGFyZ2VTdXJmYWNlVGVzdCA6IHB1YmxpYyBFR0xQcmVSb3RhdGlv
blN1cmZhY2VUZXN0Cit7CisgIHByb3RlY3RlZDoKKyAgICBFR0xQcmVSb3RhdGlvbkxhcmdlU3Vy
ZmFjZVRlc3QoKSA6IG1TaXplKDI1Nikge30KKworICAgIHZvaWQgdGVzdFNldFVwKCkgb3ZlcnJp
ZGUKKyAgICB7CisgICAgICAgIG1PU1dpbmRvdyA9IE9TV2luZG93OjpOZXcoKTsKKyAgICAgICAg
bU9TV2luZG93LT5pbml0aWFsaXplKCJFR0xTdXJmYWNlVGVzdCIsIDQwMCwgMzAwKTsKKyAgICB9
CisKKyAgICBpbnQgbVNpemU7Cit9OworCisvLyBQcm92aWRlIGEgcHJlZGljdGFibGUgcGF0dGVy
biBmb3IgdGVzdGluZyBwcmUtcm90YXRpb24KK1RFU1RfUChFR0xQcmVSb3RhdGlvbkxhcmdlU3Vy
ZmFjZVRlc3QsIE9yaWVudGVkV2luZG93V2l0aERyYXcpCit7CisgICAgLy8gaHR0cDovL2FuZ2xl
YnVnLmNvbS80NDUzCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGlzVnVsa2FuUmVuZGVyZXIoKSAm
JiBJc0xpbnV4KCkgJiYgSXNJbnRlbCgpKTsKKworICAgIC8vIEZsYWt5IG9uIExpbnV4IFN3QU5H
TEUgaHR0cDovL2FuZ2xlYnVnLmNvbS80NDUzCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzTGlu
dXgoKSAmJiBpc1N3aWZ0c2hhZGVyKCkpOworCisgICAgLy8gVG8gYWlkIGluIGRlYnVnZ2luZywg
d2Ugd2FudCB0aGlzIHdpbmRvdyB2aXNpYmxlCisgICAgc2V0V2luZG93VmlzaWJsZShtT1NXaW5k
b3csIHRydWUpOworCisgICAgaW5pdGlhbGl6ZURpc3BsYXkoKTsKKyAgICBpbml0aWFsaXplU3Vy
ZmFjZVdpdGhSR0JBODg4OENvbmZpZygpOworICAgIGluaXRpYWxpemVDb250ZXh0KCk7CisKKyAg
ICBlZ2xNYWtlQ3VycmVudChtRGlzcGxheSwgbVdpbmRvd1N1cmZhY2UsIG1XaW5kb3dTdXJmYWNl
LCBtQ29udGV4dCk7CisgICAgQVNTRVJUX0VHTF9TVUNDRVNTKCk7CisKKyAgICAvLyBJbml0IHBy
b2dyYW0KKyAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9CisgICAgICAgICJhdHRyaWJ1dGUgdmVj
MiBwb3NpdGlvbjtcbiIKKyAgICAgICAgInZvaWQgbWFpbigpIHtcbiIKKyAgICAgICAgIiAgZ2xf
UG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAwLCAxKTtcbiIKKyAgICAgICAgIn0iOworCisgICAg
Y29uc3RleHByIGNoYXIga0ZTW10gPQorICAgICAgICAidm9pZCBtYWluKCkge1xuIgorICAgICAg
ICAiICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGdsX0ZyYWdDb29yZC54IC8gMjU2LjAsIGdsX0ZyYWdD
b29yZC55IC8gMjU2LjAsIDAuMCwgMS4wKTtcbiIKKyAgICAgICAgIn0iOworCisgICAgR0x1aW50
IHByb2dyYW0gPSBDb21waWxlUHJvZ3JhbShrVlMsIGtGUyk7CisgICAgQVNTRVJUX05FKDB1LCBw
cm9ncmFtKTsKKyAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICBHTGludCBwb3NpdGlv
bkxvY2F0aW9uID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAicG9zaXRpb24iKTsKKyAg
ICBBU1NFUlRfTkUoLTEsIHBvc2l0aW9uTG9jYXRpb24pOworCisgICAgR0x1aW50IGluZGV4QnVm
ZmVyOworICAgIGdsR2VuQnVmZmVycygxLCAmaW5kZXhCdWZmZXIpOworCisgICAgR0x1aW50IHZl
cnRleEFycmF5OworICAgIGdsR2VuVmVydGV4QXJyYXlzKDEsICZ2ZXJ0ZXhBcnJheSk7CisKKyAg
ICBHTHVpbnQgdmVydGV4QnVmZmVyOworICAgIGdsR2VuQnVmZmVycygxLCAmdmVydGV4QnVmZmVy
KTsKKworICAgIGdsQmluZFZlcnRleEFycmF5KHZlcnRleEFycmF5KTsKKworICAgIHN0ZDo6dmVj
dG9yPEdMdXNob3J0PiBpbmRpY2VzID0gezAsIDEsIDIsIDIsIDMsIDB9OworICAgIGdsQmluZEJ1
ZmZlcihHTF9FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kZXhCdWZmZXIpOworICAgIGdsQnVmZmVy
RGF0YShHTF9FTEVNRU5UX0FSUkFZX0JVRkZFUiwgc2l6ZW9mKEdMdXNob3J0KSAqIGluZGljZXMu
c2l6ZSgpLCAmaW5kaWNlc1swXSwKKyAgICAgICAgICAgICAgICAgR0xfU1RBVElDX0RSQVcpOwor
CisgICAgc3RkOjp2ZWN0b3I8R0xmbG9hdD4gcG9zaXRpb25EYXRhID0gey8vIHF1YWQgdmVydGlj
ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuMGYsIDEuMGYs
IC0xLjBmLCAtMS4wZiwgMS4wZiwgLTEuMGYsIDEuMGYsIDEuMGZ9OworCisgICAgZ2xCaW5kQnVm
ZmVyKEdMX0FSUkFZX0JVRkZFUiwgdmVydGV4QnVmZmVyKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xf
QVJSQVlfQlVGRkVSLCBzaXplb2YoR0xmbG9hdCkgKiBwb3NpdGlvbkRhdGEuc2l6ZSgpLCAmcG9z
aXRpb25EYXRhWzBdLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7CisgICAgZ2xW
ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24sIDIsIEdMX0ZMT0FULCBHTF9GQUxT
RSwgc2l6ZW9mKEdMZmxvYXQpICogMiwgbnVsbHB0cik7CisgICAgZ2xFbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
CisgICAgZ2xWaWV3cG9ydCgwLCAwLCBtU2l6ZSwgbVNpemUpOworCisgICAgdGVzdERyYXdpbmdB
bmRSZWFkUGl4ZWxzKCk7Cit9CisKIC8vIFRlc3QgdGhhdCB0aGUgd2luZG93IGNhbiBiZSByZXNl
dCByZXBlYXRlZGx5IGJlZm9yZSBzdXJmYWNlIGNyZWF0aW9uLgogVEVTVF9QKEVHTFN1cmZhY2VU
ZXN0LCBSZXNldE5hdGl2ZVdpbmRvdykKIHsKLSAgICBtT1NXaW5kb3ctPnNldFZpc2libGUodHJ1
ZSk7CisgICAgc2V0V2luZG93VmlzaWJsZShtT1NXaW5kb3csIHRydWUpOwogCiAgICAgaW5pdGlh
bGl6ZURpc3BsYXkoKTsKIApAQCAtOTUzLDYgKzEyMzgsMTIgQEAgQU5HTEVfSU5TVEFOVElBVEVf
VEVTVChFR0xTdXJmYWNlVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgV2l0aE5vRml4dHVy
ZShFUzNfVlVMS0FOKCkpLAogICAgICAgICAgICAgICAgICAgICAgICBXaXRoTm9GaXh0dXJlKEVT
Ml9WVUxLQU5fU1dJRlRTSEFERVIoKSksCiAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhOb0Zp
eHR1cmUoRVMzX1ZVTEtBTl9TV0lGVFNIQURFUigpKSk7CitBTkdMRV9JTlNUQU5USUFURV9URVNU
KEVHTFByZVJvdGF0aW9uU3VyZmFjZVRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgIFdpdGhO
b0ZpeHR1cmUoRVMyX1ZVTEtBTigpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgV2l0aE5vRml4
dHVyZShFUzNfVlVMS0FOKCkpKTsKK0FOR0xFX0lOU1RBTlRJQVRFX1RFU1QoRUdMUHJlUm90YXRp
b25MYXJnZVN1cmZhY2VUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICBXaXRoTm9GaXh0dXJl
KEVTMl9WVUxLQU4oKSksCisgICAgICAgICAgICAgICAgICAgICAgIFdpdGhOb0ZpeHR1cmUoRVMz
X1ZVTEtBTigpKSk7CiBBTkdMRV9JTlNUQU5USUFURV9URVNUKEVHTEZsb2F0U3VyZmFjZVRlc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhOb0ZpeHR1cmUoRVMyX09QRU5HTCgpKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgV2l0aE5vRml4dHVyZShFUzNfT1BFTkdMKCkpLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xTeW5j
VGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VH
TFN5bmNUZXN0LmNwcAppbmRleCAyZWU3YTAwY2YxZGFlMjI4NDllOTFjYjI1NWFjYmZlYzVmMzMw
NzUxLi5mNWU4YzNkMDJiM2M1YWNkZTRjNjZhOTc2MDQ4MmRkYWQ1YTI4NTgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTFN5bmNUZXN0
LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VH
TFN5bmNUZXN0LmNwcApAQCAtMjcsNiArMjcsMTIgQEAgY2xhc3MgRUdMU3luY1Rlc3QgOiBwdWJs
aWMgQU5HTEVUZXN0CiAgICAgICAgICAgICAgICBJc0VHTERpc3BsYXlFeHRlbnNpb25FbmFibGVk
KGdldEVHTFdpbmRvdygpLT5nZXREaXNwbGF5KCksICJFR0xfS0hSX3dhaXRfc3luYyIpOwogICAg
IH0KICAgICBib29sIGhhc0dMU3luY0V4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIElzR0xFeHRl
bnNpb25FbmFibGVkKCJHTF9PRVNfRUdMX3N5bmMiKTsgfQorCisgICAgYm9vbCBoYXNBbmRyb2lk
TmF0aXZlRmVuY2VTeW5jRXh0ZW5zaW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBJ
c0VHTERpc3BsYXlFeHRlbnNpb25FbmFibGVkKGdldEVHTFdpbmRvdygpLT5nZXREaXNwbGF5KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFR0xfQU5EUk9J
RF9uYXRpdmVfZmVuY2Vfc3luYyIpOworICAgIH0KIH07CiAKIC8vIFRlc3QgZXJyb3IgY2FzZXMg
Zm9yIGFsbCBFR0xfS0hSX2ZlbmNlX3N5bmMgZnVuY3Rpb25zCkBAIC0yNDQsNiArMjUwLDIzNSBA
QCBURVNUX1AoRUdMU3luY1Rlc3QsIFdhaXROYXRpdmUpCiAgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKGdldFdpbmRvd1dpZHRoKCkgLyAyLCBnZXRXaW5kb3dIZWlnaHQoKSAvIDIsIEdMQ29sb3I6
OnJlZCk7CiB9CiAKKy8vIFZlcmlmeSBlZ2xEdXBOYXRpdmVGZW5jZSBmb3IgRUdMX0FORFJPSURf
bmF0aXZlX2ZlbmNlX3N5bmMKK1RFU1RfUChFR0xTeW5jVGVzdCwgQW5kcm9pZE5hdGl2ZUZlbmNl
X0R1cE5hdGl2ZUZlbmNlRkQpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNGZW5jZVN5
bmNFeHRlbnNpb24oKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNGZW5jZVN5bmNFeHRl
bnNpb24oKSB8fCAhaGFzR0xTeW5jRXh0ZW5zaW9uKCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9J
RighaGFzQW5kcm9pZE5hdGl2ZUZlbmNlU3luY0V4dGVuc2lvbigpKTsKKworICAgIEVHTERpc3Bs
YXkgZGlzcGxheSA9IGdldEVHTFdpbmRvdygpLT5nZXREaXNwbGF5KCk7CisKKyAgICAvLyBXZSBj
YW4gQ2xpZW50V2FpdCBvbiB0aGlzCisgICAgRUdMU3luY0tIUiBzeW5jV2l0aEdlbmVyYXRlZEZE
ID0KKyAgICAgICAgZWdsQ3JlYXRlU3luY0tIUihkaXNwbGF5LCBFR0xfU1lOQ19OQVRJVkVfRkVO
Q0VfQU5EUk9JRCwgbnVsbHB0cik7CisgICAgRVhQRUNUX05FKHN5bmNXaXRoR2VuZXJhdGVkRkQs
IEVHTF9OT19TWU5DX0tIUik7CisKKyAgICBpbnQgZmQgPSBlZ2xEdXBOYXRpdmVGZW5jZUZEQU5E
Uk9JRChkaXNwbGF5LCBzeW5jV2l0aEdlbmVyYXRlZEZEKTsKKyAgICBFWFBFQ1RfRUdMX1NVQ0NF
U1MoKTsKKworICAgIC8vIENsZWFuIHVwIGNyZWF0ZWQgb2JqZWN0cy4KKyAgICBpZiAoZmQgIT0g
RUdMX05PX05BVElWRV9GRU5DRV9GRF9BTkRST0lEKQorICAgIHsKKyAgICAgICAgY2xvc2UoZmQp
OworICAgIH0KKworICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5
LCBzeW5jV2l0aEdlbmVyYXRlZEZEKSk7Cit9CisKKy8vIFZlcmlmeSBDcmVhdGVTeW5jIGFuZCBD
bGllbnRXYWl0IGZvciBFR0xfQU5EUk9JRF9uYXRpdmVfZmVuY2Vfc3luYworVEVTVF9QKEVHTFN5
bmNUZXN0LCBBbmRyb2lkTmF0aXZlRmVuY2VfQ2xpZW50V2FpdCkKK3sKKyAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIWhhc0ZlbmNlU3luY0V4dGVuc2lvbigpKTsKKyAgICBBTkdMRV9TS0lQX1RFU1Rf
SUYoIWhhc0ZlbmNlU3luY0V4dGVuc2lvbigpIHx8ICFoYXNHTFN5bmNFeHRlbnNpb24oKSk7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNBbmRyb2lkTmF0aXZlRmVuY2VTeW5jRXh0ZW5zaW9u
KCkpOworCisgICAgRUdMaW50IHZhbHVlICAgICAgID0gMDsKKyAgICBFR0xEaXNwbGF5IGRpc3Bs
YXkgPSBnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpOworCisgICAgLy8gV2UgY2FuIENsaWVu
dFdhaXQgb24gdGhpcworICAgIEVHTFN5bmNLSFIgc3luY1dpdGhHZW5lcmF0ZWRGRCA9CisgICAg
ICAgIGVnbENyZWF0ZVN5bmNLSFIoZGlzcGxheSwgRUdMX1NZTkNfTkFUSVZFX0ZFTkNFX0FORFJP
SUQsIG51bGxwdHIpOworICAgIEVYUEVDVF9ORShzeW5jV2l0aEdlbmVyYXRlZEZELCBFR0xfTk9f
U1lOQ19LSFIpOworCisgICAgLy8gQ3JlYXRlIHdvcmsgdG8gZG8KKyAgICBnbENsZWFyQ29sb3Io
MC4wZiwgMS4wZiwgMC4wZiwgMS4wZik7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklU
KTsKKyAgICBnbEZpbmlzaCgpOworCisgICAgLy8gV2FpdCBmb3IgZHJhdyB0byBjb21wbGV0ZQor
ICAgIEVYUEVDVF9FUShFR0xfQ09ORElUSU9OX1NBVElTRklFRCwKKyAgICAgICAgICAgICAgZWds
Q2xpZW50V2FpdFN5bmNLSFIoZGlzcGxheSwgc3luY1dpdGhHZW5lcmF0ZWRGRCwgRUdMX1NZTkNf
RkxVU0hfQ09NTUFORFNfQklUX0tIUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMTAwMDAwMDAwMCkpOworICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xHZXRTeW5jQXR0cmliS0hS
KGRpc3BsYXksIHN5bmNXaXRoR2VuZXJhdGVkRkQsIEVHTF9TWU5DX1NUQVRVU19LSFIsICZ2YWx1
ZSkpOworICAgIEVYUEVDVF9FUSh2YWx1ZSwgRUdMX1NJR05BTEVEX0tIUik7CisKKyAgICAvLyBD
bGVhbiB1cCBjcmVhdGVkIG9iamVjdHMuCisgICAgRVhQRUNUX0VHTF9UUlVFKGVnbERlc3Ryb3lT
eW5jS0hSKGRpc3BsYXksIHN5bmNXaXRoR2VuZXJhdGVkRkQpKTsKK30KKworLy8gVmVyaWZ5IFdh
aXRTeW5jIHdpdGggRUdMX0FORFJPSURfbmF0aXZlX2ZlbmNlX3N5bmMKKy8vIFNpbXVsYXRlIHBh
c3NpbmcgRkRzIGFjcm9zcyBwcm9jZXNzZXMgYnkgcGFzc2luZyBhY3Jvc3MgQ29udGV4dHMuCitU
RVNUX1AoRUdMU3luY1Rlc3QsIEFuZHJvaWROYXRpdmVGZW5jZV9XYWl0U3luYykKK3sKKyAgICBB
TkdMRV9TS0lQX1RFU1RfSUYoIWhhc0ZlbmNlU3luY0V4dGVuc2lvbigpKTsKKyAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoIWhhc0ZlbmNlU3luY0V4dGVuc2lvbigpIHx8ICFoYXNHTFN5bmNFeHRlbnNp
b24oKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNBbmRyb2lkTmF0aXZlRmVuY2VTeW5j
RXh0ZW5zaW9uKCkpOworCisgICAgRUdMaW50IHZhbHVlICAgICAgID0gMDsKKyAgICBFR0xEaXNw
bGF5IGRpc3BsYXkgPSBnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpOworICAgIEVHTFN1cmZh
Y2Ugc3VyZmFjZSA9IGdldEVHTFdpbmRvdygpLT5nZXRTdXJmYWNlKCk7CisKKyAgICAvKi0gRmly
c3QgQ29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisgICAgLy8gV2UgY2FuIENs
aWVudFdhaXQgb24gdGhpcworICAgIEVHTFN5bmNLSFIgc3luY1dpdGhHZW5lcmF0ZWRGRCA9Cisg
ICAgICAgIGVnbENyZWF0ZVN5bmNLSFIoZGlzcGxheSwgRUdMX1NZTkNfTkFUSVZFX0ZFTkNFX0FO
RFJPSUQsIG51bGxwdHIpOworICAgIEVYUEVDVF9ORShzeW5jV2l0aEdlbmVyYXRlZEZELCBFR0xf
Tk9fU1lOQ19LSFIpOworCisgICAgaW50IGZkID0gZWdsRHVwTmF0aXZlRmVuY2VGREFORFJPSUQo
ZGlzcGxheSwgc3luY1dpdGhHZW5lcmF0ZWRGRCk7CisgICAgRVhQRUNUX0VHTF9TVUNDRVNTKCk7
ICAvLyBDYW4gcmV0dXJuIC0xICh3aGVuIHNpZ25hbGVkKSBvciB2YWxpZCBGRC4KKworICAgIC8v
IENyZWF0ZSB3b3JrIHRvIGRvCisgICAgZ2xDbGVhckNvbG9yKDAuMGYsIDEuMGYsIDAuMGYsIDEu
MGYpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2xGaW5pc2goKTsK
KworICAgIC8qLSBTZWNvbmQgQ29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAg
IGlmIChmZCA+IEVHTF9OT19OQVRJVkVfRkVOQ0VfRkRfQU5EUk9JRCkKKyAgICB7CisgICAgICAg
IEVYUEVDVF9FR0xfVFJVRShlZ2xNYWtlQ3VycmVudChkaXNwbGF5LCBFR0xfTk9fU1VSRkFDRSwg
RUdMX05PX1NVUkZBQ0UsIEVHTF9OT19DT05URVhUKSk7CisKKyAgICAgICAgRUdMQ29udGV4dCBj
b250ZXh0MiA9IGdldEVHTFdpbmRvdygpLT5jcmVhdGVDb250ZXh0KEVHTF9OT19DT05URVhUKTsK
KyAgICAgICAgRVhQRUNUX0VHTF9UUlVFKGVnbE1ha2VDdXJyZW50KGRpc3BsYXksIHN1cmZhY2Us
IHN1cmZhY2UsIGNvbnRleHQyKSk7CisKKyAgICAgICAgLy8gV2UgY2FuIGVnbFdhaXRTeW5jIG9u
IHRoaXMgLSBpbXBvcnQgRkQgZnJvbSBmaXJzdCBzeW5jLgorICAgICAgICBFR0xpbnQgc3luY0F0
dHJpYnNbXSA9IHtFR0xfU1lOQ19OQVRJVkVfRkVOQ0VfRkRfQU5EUk9JRCwgKEVHTGludClmZCwg
RUdMX05PTkV9OworICAgICAgICBFR0xTeW5jS0hSIHN5bmNXaXRoRHVwRkQgPQorICAgICAgICAg
ICAgZWdsQ3JlYXRlU3luY0tIUihkaXNwbGF5LCBFR0xfU1lOQ19OQVRJVkVfRkVOQ0VfQU5EUk9J
RCwgc3luY0F0dHJpYnMpOworICAgICAgICBFWFBFQ1RfTkUoc3luY1dpdGhEdXBGRCwgRUdMX05P
X1NZTkNfS0hSKTsKKworICAgICAgICAvLyBTZWNvbmQgZHJhdyB3YWl0cyBmb3IgZmlyc3QgdG8g
Y29tcGxldGUuIE1heSBhbHJlYWR5IGJlIHNpZ25hbGVkIC0gaWdub3JlIGVycm9yLgorICAgICAg
ICBpZiAoZWdsV2FpdFN5bmNLSFIoZGlzcGxheSwgc3luY1dpdGhEdXBGRCwgMCkgPT0gRUdMX1RS
VUUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB3b3JrIHRvIGRvCisgICAgICAg
ICAgICBnbENsZWFyQ29sb3IoMS4wZiwgMC4wZiwgMC4wZiwgMS4wZik7CisgICAgICAgICAgICBn
bENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgZ2xGaW5pc2goKTsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIFdhaXQgZm9yIHNlY29uZCBkcmF3IHRvIGNvbXBsZXRlCisg
ICAgICAgIEVYUEVDVF9FUShFR0xfQ09ORElUSU9OX1NBVElTRklFRCwKKyAgICAgICAgICAgICAg
ICAgIGVnbENsaWVudFdhaXRTeW5jS0hSKGRpc3BsYXksIHN5bmNXaXRoRHVwRkQsIEVHTF9TWU5D
X0ZMVVNIX0NPTU1BTkRTX0JJVF9LSFIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxMDAwMDAwMDAwKSk7CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xHZXRTeW5j
QXR0cmliS0hSKGRpc3BsYXksIHN5bmNXaXRoRHVwRkQsIEVHTF9TWU5DX1NUQVRVU19LSFIsICZ2
YWx1ZSkpOworICAgICAgICBFWFBFQ1RfRVEodmFsdWUsIEVHTF9TSUdOQUxFRF9LSFIpOworCisg
ICAgICAgIC8vIFJlc2V0IHRvIGRlZmF1bHQgY29udGV4dCBhbmQgc3VyZmFjZS4KKyAgICAgICAg
RVhQRUNUX0VHTF9UUlVFKGVnbE1ha2VDdXJyZW50KGRpc3BsYXksIEVHTF9OT19TVVJGQUNFLCBF
R0xfTk9fU1VSRkFDRSwgRUdMX05PX0NPTlRFWFQpKTsKKyAgICAgICAgRVhQRUNUX0VHTF9UUlVF
KGVnbE1ha2VDdXJyZW50KGRpc3BsYXksIHN1cmZhY2UsIHN1cmZhY2UsIGdldEVHTFdpbmRvdygp
LT5nZXRDb250ZXh0KCkpKTsKKworICAgICAgICAvLyBDbGVhbiB1cCBjcmVhdGVkIG9iamVjdHMu
CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5j
V2l0aER1cEZEKSk7CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95Q29udGV4dChk
aXNwbGF5LCBjb250ZXh0MikpOworICAgIH0KKworICAgIC8vIFdhaXQgZm9yIGZpcnN0IGRyYXcg
dG8gY29tcGxldGUKKyAgICBFWFBFQ1RfRVEoRUdMX0NPTkRJVElPTl9TQVRJU0ZJRUQsCisgICAg
ICAgICAgICAgIGVnbENsaWVudFdhaXRTeW5jS0hSKGRpc3BsYXksIHN5bmNXaXRoR2VuZXJhdGVk
RkQsIEVHTF9TWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVF9LSFIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEwMDAwMDAwMDApKTsKKyAgICBFWFBFQ1RfRUdMX1RSVUUoZWdsR2V0
U3luY0F0dHJpYktIUihkaXNwbGF5LCBzeW5jV2l0aEdlbmVyYXRlZEZELCBFR0xfU1lOQ19TVEFU
VVNfS0hSLCAmdmFsdWUpKTsKKyAgICBFWFBFQ1RfRVEodmFsdWUsIEVHTF9TSUdOQUxFRF9LSFIp
OworCisgICAgLy8gQ2xlYW4gdXAgY3JlYXRlZCBvYmplY3RzLgorICAgIEVYUEVDVF9FR0xfVFJV
RShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5jV2l0aEdlbmVyYXRlZEZEKSk7Cit9CisK
Ky8vIFZlcmlmeSBFR0xfQU5EUk9JRF9uYXRpdmVfZmVuY2Vfc3luYworLy8gU2ltdWxhdGUgcGFz
c2luZyBGRHMgYWNyb3NzIHByb2Nlc3NlcyBieSBwYXNzaW5nIGFjcm9zcyBDb250ZXh0cy4KK1RF
U1RfUChFR0xTeW5jVGVzdCwgQW5kcm9pZE5hdGl2ZUZlbmNlX3dpdGhGZW5jZXMpCit7CisgICAg
QU5HTEVfU0tJUF9URVNUX0lGKCFoYXNGZW5jZVN5bmNFeHRlbnNpb24oKSk7CisgICAgQU5HTEVf
U0tJUF9URVNUX0lGKCFoYXNGZW5jZVN5bmNFeHRlbnNpb24oKSB8fCAhaGFzR0xTeW5jRXh0ZW5z
aW9uKCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzQW5kcm9pZE5hdGl2ZUZlbmNlU3lu
Y0V4dGVuc2lvbigpKTsKKworICAgIEVHTGludCB2YWx1ZSAgICAgICA9IDA7CisgICAgRUdMRGlz
cGxheSBkaXNwbGF5ID0gZ2V0RUdMV2luZG93KCktPmdldERpc3BsYXkoKTsKKyAgICBFR0xTdXJm
YWNlIHN1cmZhY2UgPSBnZXRFR0xXaW5kb3coKS0+Z2V0U3VyZmFjZSgpOworCisgICAgLyotIEZp
cnN0IENvbnRleHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworICAgIC8vIEV4dHJhIGZl
bmNlIHN5bmNzIHRvIGVuc3VyZSB0aGF0IEZlbmNlIGFuZCBBbmRyb2lkIE5hdGl2ZSBmZW5jZXMg
d29yayB0b2dldGhlcgorICAgIEVHTFN5bmNLSFIgc3luY0ZlbmNlMSA9IGVnbENyZWF0ZVN5bmNL
SFIoZGlzcGxheSwgRUdMX1NZTkNfRkVOQ0VfS0hSLCBudWxscHRyKTsKKyAgICBFWFBFQ1RfTkUo
c3luY0ZlbmNlMSwgRUdMX05PX1NZTkNfS0hSKTsKKworICAgIC8vIFdlIGNhbiBDbGllbnRXYWl0
IG9uIHRoaXMKKyAgICBFR0xTeW5jS0hSIHN5bmNXaXRoR2VuZXJhdGVkRkQgPQorICAgICAgICBl
Z2xDcmVhdGVTeW5jS0hSKGRpc3BsYXksIEVHTF9TWU5DX05BVElWRV9GRU5DRV9BTkRST0lELCBu
dWxscHRyKTsKKyAgICBFWFBFQ1RfTkUoc3luY1dpdGhHZW5lcmF0ZWRGRCwgRUdMX05PX1NZTkNf
S0hSKTsKKworICAgIGludCBmZCA9IGVnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEKGRpc3BsYXks
IHN5bmNXaXRoR2VuZXJhdGVkRkQpOworICAgIEVYUEVDVF9FR0xfU1VDQ0VTUygpOyAgLy8gQ2Fu
IHJldHVybiAtMSAod2hlbiBzaWduYWxlZCkgb3IgdmFsaWQgRkQuCisKKyAgICBFR0xTeW5jS0hS
IHN5bmNGZW5jZTIgPSBlZ2xDcmVhdGVTeW5jS0hSKGRpc3BsYXksIEVHTF9TWU5DX0ZFTkNFX0tI
UiwgbnVsbHB0cik7CisgICAgRVhQRUNUX05FKHN5bmNGZW5jZTIsIEVHTF9OT19TWU5DX0tIUik7
CisKKyAgICAvLyBDcmVhdGUgd29yayB0byBkbworICAgIGdsQ2xlYXJDb2xvcigwLjBmLCAxLjBm
LCAwLjBmLCAxLjBmKTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIGds
Rmx1c2goKTsKKworICAgIC8qLSBTZWNvbmQgQ29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0qLworICAgIGlmIChmZCA+IEVHTF9OT19OQVRJVkVfRkVOQ0VfRkRfQU5EUk9JRCkKKyAgICB7
CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xNYWtlQ3VycmVudChkaXNwbGF5LCBFR0xfTk9f
U1VSRkFDRSwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19DT05URVhUKSk7CisKKyAgICAgICAgRUdM
Q29udGV4dCBjb250ZXh0MiA9IGdldEVHTFdpbmRvdygpLT5jcmVhdGVDb250ZXh0KEVHTF9OT19D
T05URVhUKTsKKyAgICAgICAgRVhQRUNUX0VHTF9UUlVFKGVnbE1ha2VDdXJyZW50KGRpc3BsYXks
IHN1cmZhY2UsIHN1cmZhY2UsIGNvbnRleHQyKSk7CisKKyAgICAgICAgLy8gY2hlY2sgdGhhdCBG
ZW5jZSBhbmQgQW5kcm9pZCBmZW5jZXMgd29yayB0b2dldGhlcgorICAgICAgICBFR0xTeW5jS0hS
IHN5bmNGZW5jZTMgPSBlZ2xDcmVhdGVTeW5jS0hSKGRpc3BsYXksIEVHTF9TWU5DX0ZFTkNFX0tI
UiwgbnVsbHB0cik7CisgICAgICAgIEVYUEVDVF9ORShzeW5jRmVuY2UzLCBFR0xfTk9fU1lOQ19L
SFIpOworCisgICAgICAgIC8vIFdlIGNhbiBlZ2xXYWl0U3luYyBvbiB0aGlzCisgICAgICAgIEVH
TGludCBzeW5jQXR0cmlic1tdID0ge0VHTF9TWU5DX05BVElWRV9GRU5DRV9GRF9BTkRST0lELCAo
RUdMaW50KWZkLCBFR0xfTk9ORX07CisgICAgICAgIEVHTFN5bmNLSFIgc3luY1dpdGhEdXBGRCA9
CisgICAgICAgICAgICBlZ2xDcmVhdGVTeW5jS0hSKGRpc3BsYXksIEVHTF9TWU5DX05BVElWRV9G
RU5DRV9BTkRST0lELCBzeW5jQXR0cmlicyk7CisgICAgICAgIEVYUEVDVF9ORShzeW5jV2l0aER1
cEZELCBFR0xfTk9fU1lOQ19LSFIpOworCisgICAgICAgIEVHTFN5bmNLSFIgc3luY0ZlbmNlNCA9
IGVnbENyZWF0ZVN5bmNLSFIoZGlzcGxheSwgRUdMX1NZTkNfRkVOQ0VfS0hSLCBudWxscHRyKTsK
KyAgICAgICAgRVhQRUNUX05FKHN5bmNGZW5jZTQsIEVHTF9OT19TWU5DX0tIUik7CisKKyAgICAg
ICAgLy8gU2Vjb25kIGRyYXcgd2FpdHMgZm9yIGZpcnN0IHRvIGNvbXBsZXRlLiBNYXkgYWxyZWFk
eSBiZSBzaWduYWxlZCAtIGlnbm9yZSBlcnJvci4KKyAgICAgICAgaWYgKGVnbFdhaXRTeW5jS0hS
KGRpc3BsYXksIHN5bmNXaXRoRHVwRkQsIDApID09IEVHTF9UUlVFKQorICAgICAgICB7CisgICAg
ICAgICAgICAvLyBDcmVhdGUgd29yayB0byBkbworICAgICAgICAgICAgZ2xDbGVhckNvbG9yKDEu
MGYsIDAuMGYsIDAuMGYsIDEuMGYpOworICAgICAgICAgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZG
RVJfQklUKTsKKyAgICAgICAgICAgIGdsRmx1c2goKTsKKyAgICAgICAgfQorCisgICAgICAgIC8v
IFdhaXQgZm9yIHNlY29uZCBkcmF3IHRvIGNvbXBsZXRlCisgICAgICAgIEVYUEVDVF9FUShFR0xf
Q09ORElUSU9OX1NBVElTRklFRCwKKyAgICAgICAgICAgICAgICAgIGVnbENsaWVudFdhaXRTeW5j
S0hSKGRpc3BsYXksIHN5bmNXaXRoRHVwRkQsIEVHTF9TWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVF9L
SFIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwMDAwMDAwKSk7
CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xHZXRTeW5jQXR0cmliS0hSKGRpc3BsYXksIHN5
bmNXaXRoRHVwRkQsIEVHTF9TWU5DX1NUQVRVU19LSFIsICZ2YWx1ZSkpOworICAgICAgICBFWFBF
Q1RfRVEodmFsdWUsIEVHTF9TSUdOQUxFRF9LSFIpOworCisgICAgICAgIC8vIFJlc2V0IHRvIGRl
ZmF1bHQgY29udGV4dCBhbmQgc3VyZmFjZS4KKyAgICAgICAgRVhQRUNUX0VHTF9UUlVFKGVnbE1h
a2VDdXJyZW50KGRpc3BsYXksIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgRUdMX05P
X0NPTlRFWFQpKTsKKyAgICAgICAgRVhQRUNUX0VHTF9UUlVFKGVnbE1ha2VDdXJyZW50KGRpc3Bs
YXksIHN1cmZhY2UsIHN1cmZhY2UsIGdldEVHTFdpbmRvdygpLT5nZXRDb250ZXh0KCkpKTsKKwor
ICAgICAgICAvLyBDbGVhbiB1cCBjcmVhdGVkIG9iamVjdHMuCisgICAgICAgIEVYUEVDVF9FR0xf
VFJVRShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5jRmVuY2UzKSk7CisgICAgICAgIEVY
UEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5jRmVuY2U0KSk7Cisg
ICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5jV2l0
aER1cEZEKSk7CisgICAgICAgIEVYUEVDVF9FR0xfVFJVRShlZ2xEZXN0cm95Q29udGV4dChkaXNw
bGF5LCBjb250ZXh0MikpOworICAgIH0KKworICAgIC8vIFdhaXQgZm9yIGZpcnN0IGRyYXcgdG8g
Y29tcGxldGUKKyAgICBFWFBFQ1RfRVEoRUdMX0NPTkRJVElPTl9TQVRJU0ZJRUQsCisgICAgICAg
ICAgICAgIGVnbENsaWVudFdhaXRTeW5jS0hSKGRpc3BsYXksIHN5bmNXaXRoR2VuZXJhdGVkRkQs
IEVHTF9TWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVF9LSFIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEwMDAwMDAwMDApKTsKKyAgICBFWFBFQ1RfRUdMX1RSVUUoZWdsR2V0U3lu
Y0F0dHJpYktIUihkaXNwbGF5LCBzeW5jV2l0aEdlbmVyYXRlZEZELCBFR0xfU1lOQ19TVEFUVVNf
S0hSLCAmdmFsdWUpKTsKKyAgICBFWFBFQ1RfRVEodmFsdWUsIEVHTF9TSUdOQUxFRF9LSFIpOwor
CisgICAgLy8gQ2xlYW4gdXAgY3JlYXRlZCBvYmplY3RzLgorICAgIEVYUEVDVF9FR0xfVFJVRShl
Z2xEZXN0cm95U3luY0tIUihkaXNwbGF5LCBzeW5jRmVuY2UxKSk7CisgICAgRVhQRUNUX0VHTF9U
UlVFKGVnbERlc3Ryb3lTeW5jS0hSKGRpc3BsYXksIHN5bmNGZW5jZTIpKTsKKyAgICBFWFBFQ1Rf
RUdMX1RSVUUoZWdsRGVzdHJveVN5bmNLSFIoZGlzcGxheSwgc3luY1dpdGhHZW5lcmF0ZWRGRCkp
OworfQorCiBBTkdMRV9JTlNUQU5USUFURV9URVNUKEVHTFN5bmNUZXN0LAogICAgICAgICAgICAg
ICAgICAgICAgICBFUzJfRDNEOSgpLAogICAgICAgICAgICAgICAgICAgICAgICBFUzJfRDNEMTEo
KSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVz
dHMvRUdMWDExVmlzdWFsVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZWdsX3Rlc3RzL0VHTFgxMVZpc3VhbFRlc3QuY3BwCmluZGV4IDE4YjNlYThmOTA1NGE5MzQw
NDFhZjFlZjk2NjQ3Y2E2OGIwYzIwMmMuLmI2MzkwMjRiNjQzZDVkYTQ1ZThmNzA3NDU2ZjlhZmFk
Yzg2OTcxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9l
Z2xfdGVzdHMvRUdMWDExVmlzdWFsVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xYMTFWaXN1YWxUZXN0LmNwcApAQCAtOTIsNyArOTIs
NyBAQCBURVNUX1AoRUdMWDExVmlzdWFsSGludFRlc3QsIFZhbGlkVmlzdWFsSURBbmRDbGVhcikK
ICAgICAvLyBjYW4gdXNlIE9TV2luZG93IHRvIGNyZWF0ZSBhIHdpbmRvdyBhbmQganVzdCBncmFi
IGl0cyB2aXN1YWwuCiAgICAgT1NXaW5kb3cgKm9zV2luZG93ID0gT1NXaW5kb3c6Ok5ldygpOwog
ICAgIG9zV2luZG93LT5pbml0aWFsaXplKCJFR0xYMTFWaXN1YWxIaW50VGVzdCIsIDUwMCwgNTAw
KTsKLSAgICBvc1dpbmRvdy0+c2V0VmlzaWJsZSh0cnVlKTsKKyAgICBzZXRXaW5kb3dWaXNpYmxl
KG9zV2luZG93LCB0cnVlKTsKIAogICAgIFdpbmRvdyB4V2luZG93ID0gb3NXaW5kb3ctPmdldE5h
dGl2ZVdpbmRvdygpOwogCkBAIC0xNjIsNyArMTYyLDcgQEAgVEVTVF9QKEVHTFgxMVZpc3VhbEhp
bnRUZXN0LCBJbnZhbGlkV2luZG93VmlzdWFsSUQpCiAgICAgewogICAgICAgICBPU1dpbmRvdyAq
b3NXaW5kb3cgPSBPU1dpbmRvdzo6TmV3KCk7CiAgICAgICAgIG9zV2luZG93LT5pbml0aWFsaXpl
KCJFR0xYMTFWaXN1YWxIaW50VGVzdCIsIDUwMCwgNTAwKTsKLSAgICAgICAgb3NXaW5kb3ctPnNl
dFZpc2libGUodHJ1ZSk7CisgICAgICAgIHNldFdpbmRvd1Zpc2libGUob3NXaW5kb3csIHRydWUp
OwogCiAgICAgICAgIFdpbmRvdyB4V2luZG93ID0gb3NXaW5kb3ctPmdldE5hdGl2ZVdpbmRvdygp
OwogCkBAIC0xODYsNyArMTg2LDcgQEAgVEVTVF9QKEVHTFgxMVZpc3VhbEhpbnRUZXN0LCBJbnZh
bGlkV2luZG93VmlzdWFsSUQpCiAKICAgICBPU1dpbmRvdyAqb3NXaW5kb3cgPSBuZXcgWDExV2lu
ZG93KG90aGVyVmlzdWFsSWQpOwogICAgIG9zV2luZG93LT5pbml0aWFsaXplKCJFR0xYMTFWaXN1
YWxIaW50VGVzdCIsIDUwMCwgNTAwKTsKLSAgICBvc1dpbmRvdy0+c2V0VmlzaWJsZSh0cnVlKTsK
KyAgICBzZXRXaW5kb3dWaXNpYmxlKG9zV2luZG93LCB0cnVlKTsKIAogICAgIFdpbmRvdyB4V2lu
ZG93ID0gb3NXaW5kb3ctPmdldE5hdGl2ZVdpbmRvdygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQWN0aXZlVGV4dHVyZUNhY2hlVGVz
dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQWN0aXZl
VGV4dHVyZUNhY2hlVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDIzN2M3MGU3YzUyNjVhZjY4ZjhhZjg3
MGI3YzI3YjJmOTM0YzJhNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9BY3RpdmVUZXh0dXJlQ2FjaGVUZXN0LmNwcApAQCAtMCww
ICsxLDExMSBAQAorLy8KKy8vIENvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLy8KKy8vIEFjdGl2ZVRleHR1cmVDYWNoZVRlc3QuY3BwOiBSZWdy
ZXNzaW9uIHRlc3RzIG9mIEFOR0xFJ3MgQWN0aXZlVGV4dHVyZUNhY2hlIGluc2lkZSBnbDo6U3Rh
dGUuCisKKyNpbmNsdWRlICJ0ZXN0X3V0aWxzL0FOR0xFVGVzdC5oIgorI2luY2x1ZGUgInRlc3Rf
dXRpbHMvZ2xfcmFpaS5oIgorCituYW1lc3BhY2UgYW5nbGUKK3sKKworY2xhc3MgQWN0aXZlVGV4
dHVyZUNhY2hlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKK3sKKyAgcHJvdGVjdGVkOgorICAgIEFj
dGl2ZVRleHR1cmVDYWNoZVRlc3QoKQorICAgIHsKKyAgICAgICAgc2V0V2luZG93V2lkdGgoMTI4
KTsKKyAgICAgICAgc2V0V2luZG93SGVpZ2h0KDEyOCk7CisgICAgICAgIHNldENvbmZpZ1JlZEJp
dHMoOCk7CisgICAgICAgIHNldENvbmZpZ0dyZWVuQml0cyg4KTsKKyAgICAgICAgc2V0Q29uZmln
Qmx1ZUJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0FscGhhQml0cyg4KTsKKyAgICB9CisKKyAg
ICB2b2lkIHRlc3RTZXRVcCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBjb25zdGV4cHIgY2hh
ciBrVlNbXSA9CisgICAgICAgICAgICAicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuIgorICAgICAg
ICAgICAgIlxuIgorICAgICAgICAgICAgInZvaWQgbWFpbigpXG4iCisgICAgICAgICAgICAie1xu
IgorICAgICAgICAgICAgIiAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLjAsIDAuMCwgMC4wLCAwLjAp
O1xuIgorICAgICAgICAgICAgIn1cbiI7CisKKyAgICAgICAgY29uc3RleHByIGNoYXIgazJERlNb
XSA9CisgICAgICAgICAgICAicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuIgorICAgICAgICAgICAg
InVuaWZvcm0gc2FtcGxlcjJEIHRleDJEO1xuIgorICAgICAgICAgICAgInVuaWZvcm0gc2FtcGxl
ckN1YmUgdGV4Q3ViZTtcbiIKKyAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICJ2b2lkIG1h
aW4oKVxuIgorICAgICAgICAgICAgIntcbiIKKyAgICAgICAgICAgICIgICBnbF9GcmFnQ29sb3Ig
PSB0ZXh0dXJlMkQodGV4MkQsIHZlYzIoMC4wLCAwLjApKSArIHRleHR1cmVDdWJlKHRleEN1YmUs
IHZlYzMoMC4wLCAiCisgICAgICAgICAgICAiMC4wLCAwLjApKTtcbiIKKyAgICAgICAgICAgICJ9
XG4iOworCisgICAgICAgIG1Qcm9ncmFtID0gQ29tcGlsZVByb2dyYW0oa1ZTLCBrMkRGUyk7Cisg
ICAgICAgIEFTU0VSVF9ORSgwdSwgbVByb2dyYW0pOworCisgICAgICAgIG0yRFRleHR1cmVMb2Nh
dGlvbiA9IGdsR2V0VW5pZm9ybUxvY2F0aW9uKG1Qcm9ncmFtLCAidGV4MkQiKTsKKyAgICAgICAg
QVNTRVJUX05FKC0xLCBtMkRUZXh0dXJlTG9jYXRpb24pOworCisgICAgICAgIG1DdWJlVGV4dHVy
ZUxvY2F0aW9uID0gZ2xHZXRVbmlmb3JtTG9jYXRpb24obVByb2dyYW0sICJ0ZXhDdWJlIik7Cisg
ICAgICAgIEFTU0VSVF9ORSgtMSwgbUN1YmVUZXh0dXJlTG9jYXRpb24pOworICAgIH0KKworICAg
IHZvaWQgdGVzdFRlYXJEb3duKCkgb3ZlcnJpZGUgeyBnbERlbGV0ZVByb2dyYW0obVByb2dyYW0p
OyB9CisKKyAgICBHTHVpbnQgbVByb2dyYW0gICAgICAgICAgICA9IDA7CisgICAgR0xpbnQgbTJE
VGV4dHVyZUxvY2F0aW9uICAgPSAtMTsKKyAgICBHTGludCBtQ3ViZVRleHR1cmVMb2NhdGlvbiA9
IC0xOworfTsKKworLy8gUmVncmVzc2lvbiB0ZXN0IGZvciBhIGJ1ZyB0aGF0IGNhdXNlcyB0aGUg
QWN0aXZlVGV4dHVyZXNDYWNoZSB0byBnZXQgb3V0IG9mIHN5bmMgd2l0aCB0aGUKKy8vIGN1cnJl
bnRseSBib3VuZCB0ZXh0dXJlcyB3aGVuIGNoYW5naW5nIHByb2dyYW0gdW5pZm9ybXMgaW4gc3Vj
aCBhIHdheSB0aGF0IHRoZSBwcm9ncmFtIGJlY29tZXMKKy8vIGludmFsaWQuCitURVNUX1AoQWN0
aXZlVGV4dHVyZUNhY2hlVGVzdCwgVW5pZm9ybUNoYW5nZVVwZGF0ZXNBY3RpdmVUZXh0dXJlQ2Fj
aGUpCit7CisgICAgZ2xVc2VQcm9ncmFtKG1Qcm9ncmFtKTsKKworICAgIC8vIEdlbmVyYXRlIHR3
byB0ZXh0dXJlcyBhbmQgcmVzZXQgdGhlIHRleHR1cmUgYmluZGluZworICAgIEdMdWludCB0ZXgw
ID0gMDsKKyAgICBnbEdlblRleHR1cmVzKDEsICZ0ZXgwKTsKKyAgICBnbEJpbmRUZXh0dXJlKEdM
X1RFWFRVUkVfMkQsIHRleDApOworICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBH
TF9SR0JBLCAxLCAxLCAwLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBudWxscHRyKTsKKwor
ICAgIEdMdWludCB0ZXgxID0gMDsKKyAgICBnbEdlblRleHR1cmVzKDEsICZ0ZXgxKTsKKyAgICBn
bEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleDEpOworICAgIGdsVGV4SW1hZ2UyRChHTF9U
RVhUVVJFXzJELCAwLCBHTF9SR0JBLCAxLCAxLCAwLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRF
LCBudWxscHRyKTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIDApOworCisgICAg
Ly8gU2V0IHRoZSBhY3RpdmUgdGV4dHVyZSB0byAxIGFuZCBiaW5kIHRleDAuCisgICAgZ2xBY3Rp
dmVUZXh0dXJlKEdMX1RFWFRVUkUxKTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQs
IHRleDApOworCisgICAgLy8gUG9pbnQgdGhlIHByb2dyYW0ncyAyRCBzYW1wbGVyIGF0IHRleHR1
cmUgYmluZGluZyAxLiBUaGUgdGV4dHVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZQorICAgIC8vIEFj
dGl2ZVRleHR1cmVzQ2FjaGUgYmVjYXVzZSBpdCBtYXRjaGVzIHRoZSBwcm9ncmFtJ3Mgc2FtcGxl
ciB0eXBlIGZvciB0aGlzIHRleHR1cmUgYmluZGluZy4KKyAgICBnbFVuaWZvcm0xaShtMkRUZXh0
dXJlTG9jYXRpb24sIDEpOworCisgICAgLy8gUG9pbnQgdGhlIHByb2dyYW0ncyBjdWJlIHNhbXBs
ZXIgdG8gdGV4dHVyZSBiaW5kaW5nIDEgYXMgd2VsbC4gVGhpcyBjYXVzZXMgdGhlIHByb2dyYW0n
cworICAgIC8vIHNhbXBsZXJzIGJlY29tZSBpbnZhbGlkIGFuZCB0aGUgQWN0aXZlVGV4dHVyZXND
YWNoZSBpcyBOT1QgdXBkYXRlZC4KKyAgICBnbFVuaWZvcm0xaShtQ3ViZVRleHR1cmVMb2NhdGlv
biwgMSk7CisKKyAgICAvLyBCaW5kIHRleDEuIEFjdGl2ZVRleHR1cmVzQ2FjaGUgaXMgTk9UIHVw
ZGF0ZWQgKHN0aWxsIGNvbnRhaW5zIHRleDApLiBUaGUgY3VycmVudCB0ZXh0dXJlCisgICAgLy8g
YmluZGluZ3MgZG8gbm90IG1hdGNoIEFjdGl2ZVRleHR1cmVzQ2FjaGUncyBzdGF0ZS4KKyAgICBn
bEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleDEpOworCisgICAgLy8gRGVsZXRlIHRleDAu
IFRoZSBBY3RpdmVUZXh0dXJlc0NhY2hlIGVudHJ5IHRoYXQgcG9pbnRzIHRvIHRleDAgaXMgbm90
IGNsZWFyZWQgYmVjYXVzZSB0ZXgwIGlzCisgICAgLy8gbm90IGN1cnJlbnRseSBib3VuZC4KKyAg
ICBnbERlbGV0ZVRleHR1cmVzKDEsICZ0ZXgwKTsKKworICAgIC8vIFVzZS1hZnRlci1mcmVlIG9j
Y3VycyBkdXJpbmcgY29udGV4dCBkZXN0cnVjdGlvbiB3aGVuIHRoZSBBY3RpdmVUZXh0dXJlc0Nh
Y2hlIGlzIGNsZWFyZWQuCit9CisKKy8vIFVzZSB0aGlzIHRvIHNlbGVjdCB3aGljaCBjb25maWd1
cmF0aW9ucyAoZS5nLiB3aGljaCByZW5kZXJlciwgd2hpY2ggR0xFUyBtYWpvciB2ZXJzaW9uKSB0
aGVzZQorLy8gdGVzdHMgc2hvdWxkIGJlIHJ1biBhZ2FpbnN0LgorQU5HTEVfSU5TVEFOVElBVEVf
VEVTVF9FUzJfQU5EX0VTMyhBY3RpdmVUZXh0dXJlQ2FjaGVUZXN0KTsKKworfSAgLy8gbmFtZXNw
YWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
Z2xfdGVzdHMvQXR0cmlidXRlTGF5b3V0VGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvQXR0cmlidXRlTGF5b3V0VGVzdC5jcHAKaW5kZXggYzBhYjI4
ZDc3YTJiZWZhMjlmZWFlYmRiOWFhZTBlNGQ0MTQxMWRiNS4uYTZhMGRjNmVlY2VlMmE0YjAzYTRm
NTAxMDY4NDU5YzI3MTVhNDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2dsX3Rlc3RzL0F0dHJpYnV0ZUxheW91dFRlc3QuY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9BdHRyaWJ1dGVMYXlvdXRUZXN0LmNw
cApAQCAtNDY0LDYgKzQ2NCw5IEBAIFRFU1RfUChBdHRyaWJ1dGVMYXlvdXROb25JbmRleGVkLCBU
ZXN0KQogCiBURVNUX1AoQXR0cmlidXRlTGF5b3V0TWVtb3J5SW5kZXhlZCwgVGVzdCkKIHsKKyAg
ICAvLyBGbGFreSBvbiBMaW51eCBTd0FOR0xFIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDUwMgorICAg
IEFOR0xFX1NLSVBfVEVTVF9JRihJc0xpbnV4KCkgJiYgaXNTd2lmdHNoYWRlcigpKTsKKwogICAg
IFJ1bih0cnVlKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNXaW5kb3dzKCkgJiYgSXNBTUQo
KSAmJiAoSXNPcGVuR0woKSB8fCBJc0QzRDExX0ZMOTMoKSkpOwogICAgIFJ1bihmYWxzZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQmxl
bmRJbnRlZ2VyVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvQmxlbmRJbnRlZ2VyVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBhOGQ5YWNiNjU2NTdmM2Zi
Y2UwNThhMTAyMzQ2YmUzNTU0YjVmYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9CbGVuZEludGVnZXJUZXN0LmNwcApAQCAtMCww
ICsxLDI1MSBAQAorLy8KKy8vIENvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLy8KKworI2luY2x1ZGUgInRlc3RfdXRpbHMvQU5HTEVUZXN0Lmgi
CisjaW5jbHVkZSAidGVzdF91dGlscy9nbF9yYWlpLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBhbmds
ZTsKKworY2xhc3MgQmxlbmRJbnRlZ2VyVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKK3sKKyAgcHJv
dGVjdGVkOgorICAgIEJsZW5kSW50ZWdlclRlc3QoKQorICAgIHsKKyAgICAgICAgc2V0V2luZG93
V2lkdGgoMTI4KTsKKyAgICAgICAgc2V0V2luZG93SGVpZ2h0KDEyOCk7CisgICAgICAgIHNldENv
bmZpZ1JlZEJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0dyZWVuQml0cyg4KTsKKyAgICAgICAg
c2V0Q29uZmlnQmx1ZUJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0FscGhhQml0cyg4KTsKKyAg
ICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgR0x1aW50IGNvbXBvbmVudHM+CisgICAg
dm9pZCBjb21wYXJlVmFsdWUoY29uc3QgVCAqdmFsdWUsIGNvbnN0IGNoYXIgKm5hbWUpCisgICAg
eworICAgICAgICBUIHBpeGVsWzRdOworICAgICAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1JfQVRU
QUNITUVOVDApOworICAgICAgICBnbFJlYWRQaXhlbHMoMCwgMCwgMSwgMSwgR0xfUkdCQV9JTlRF
R0VSLAorICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19zYW1lPFQsIGludDMyX3Q+Ojp2YWx1
ZSA/IEdMX0lOVCA6IEdMX1VOU0lHTkVEX0lOVCwgcGl4ZWwpOworICAgICAgICBmb3IgKHNpemVf
dCBjb21wb25lbnRJZHggPSAwOyBjb21wb25lbnRJZHggPCBjb21wb25lbnRzOyBjb21wb25lbnRJ
ZHgrKykKKyAgICAgICAgeworICAgICAgICAgICAgRVhQRUNUX0VRKHZhbHVlW2NvbXBvbmVudElk
eF0sIHBpeGVsW2NvbXBvbmVudElkeF0pCisgICAgICAgICAgICAgICAgPDwgIiBjb21wb25lbnRJ
ZHg9IiA8PCBjb21wb25lbnRJZHggPDwgc3RkOjplbmRsCisgICAgICAgICAgICAgICAgPDwgIiAi
IDw8IG5hbWUgPDwgIlswXT0iIDw8IHZhbHVlWzBdIDw8ICIgcGl4ZWxbMF09IiA8PCBwaXhlbFsw
XSA8PCBzdGQ6OmVuZGwKKyAgICAgICAgICAgICAgICA8PCAiICIgPDwgbmFtZSA8PCAiWzFdPSIg
PDwgdmFsdWVbMV0gPDwgIiBwaXhlbFsxXT0iIDw8IHBpeGVsWzFdIDw8IHN0ZDo6ZW5kbAorICAg
ICAgICAgICAgICAgIDw8ICIgIiA8PCBuYW1lIDw8ICJbMl09IiA8PCB2YWx1ZVsyXSA8PCAiIHBp
eGVsWzJdPSIgPDwgcGl4ZWxbMl0gPDwgc3RkOjplbmRsCisgICAgICAgICAgICAgICAgPDwgIiAi
IDw8IG5hbWUgPDwgIlszXT0iIDw8IHZhbHVlWzNdIDw8ICIgcGl4ZWxbM109IiA8PCBwaXhlbFsz
XTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHRlbXBsYXRlIDxHTGVudW0gaW50ZXJuYWxmb3Jt
YXQsIEdMdWludCBjb21wb25lbnRzLCBib29sIGlzU2lnbmVkPgorICAgIHZvaWQgcnVuVGVzdCgp
CisgICAgeworICAgICAgICAvLyBodHRwczovL2NyYnVnLmNvbS9hbmdsZXByb2plY3QvNDU0OAor
ICAgICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpICYmIElzSW50ZWwo
KSAmJiAhaXNWdWxrYW5Td2lmdHNoYWRlclJlbmRlcmVyKCkpOworCisgICAgICAgIGNvbnN0ZXhw
ciBjaGFyIGtGc3VpW10gPQorICAgICAgICAgICAgIiN2ZXJzaW9uIDMwMCBlc1xuIgorICAgICAg
ICAgICAgIm91dCBoaWdocCB1dmVjNCBvX2RyYXdCdWZmZXIwO1xuIgorICAgICAgICAgICAgInZv
aWQgbWFpbih2b2lkKVxuIgorICAgICAgICAgICAgIntcbiIKKyAgICAgICAgICAgICIgICAgb19k
cmF3QnVmZmVyMCA9IHV2ZWM0KDEsIDEsIDEsIDEpO1xuIgorICAgICAgICAgICAgIn1cbiI7CisK
KyAgICAgICAgY29uc3RleHByIGNoYXIga0Zzc2lbXSA9CisgICAgICAgICAgICAiI3ZlcnNpb24g
MzAwIGVzXG4iCisgICAgICAgICAgICAib3V0IGhpZ2hwIGl2ZWM0IG9fZHJhd0J1ZmZlcjA7XG4i
CisgICAgICAgICAgICAidm9pZCBtYWluKHZvaWQpXG4iCisgICAgICAgICAgICAie1xuIgorICAg
ICAgICAgICAgIiAgICBvX2RyYXdCdWZmZXIwID0gaXZlYzQoLTEsIC0xLCAtMSwgLTEpO1xuIgor
ICAgICAgICAgICAgIn1cbiI7CisKKyAgICAgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBl
c3NsM19zaGFkZXJzOjp2czo6U2ltcGxlKCksIGlzU2lnbmVkID8ga0Zzc2kgOiBrRnN1aSk7Cisg
ICAgICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgICAgICBHTEZyYW1lYnVmZmVyIGZy
YW1lYnVmZmVyOworICAgICAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgZnJh
bWVidWZmZXIpOworCisgICAgICAgIEdMUmVuZGVyYnVmZmVyIGNvbG9yUmVuZGVyYnVmZmVyOwor
ICAgICAgICBnbEJpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCBjb2xvclJlbmRlcmJ1
ZmZlcik7CisgICAgICAgIGdsUmVuZGVyYnVmZmVyU3RvcmFnZShHTF9SRU5ERVJCVUZGRVIsIGlu
dGVybmFsZm9ybWF0LCBnZXRXaW5kb3dXaWR0aCgpLCBnZXRXaW5kb3dIZWlnaHQoKSk7CisgICAg
ICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FU
VEFDSE1FTlQwLCBHTF9SRU5ERVJCVUZGRVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29sb3JSZW5kZXJidWZmZXIpOworCisgICAgICAgIGlmIChpc1NpZ25lZCkKKyAgICAg
ICAgeworICAgICAgICAgICAgY29uc3QgaW50MzJfdCBjbGVhclZhbHVlU2lnbmVkWzRdID0gey0x
MjgsIC0xMjgsIC0xMjgsIC0xMjh9OworICAgICAgICAgICAgZ2xDbGVhckJ1ZmZlcml2KEdMX0NP
TE9SLCAwLCBjbGVhclZhbHVlU2lnbmVkKTsKKyAgICAgICAgICAgIEFTU0VSVF9HTF9OT19FUlJP
UigpOworICAgICAgICAgICAgY29tcGFyZVZhbHVlPGludDMyX3QsIGNvbXBvbmVudHM+KGNsZWFy
VmFsdWVTaWduZWQsICJjbGVhclZhbHVlU2lnbmVkIik7CisgICAgICAgIH0KKyAgICAgICAgZWxz
ZQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdCB1aW50MzJfdCBjbGVhclZhbHVlVW5zaWdu
ZWRbNF0gPSB7MTI3LCAxMjcsIDEyNywgM307CisgICAgICAgICAgICBnbENsZWFyQnVmZmVydWl2
KEdMX0NPTE9SLCAwLCBjbGVhclZhbHVlVW5zaWduZWQpOworICAgICAgICAgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CisgICAgICAgICAgICBjb21wYXJlVmFsdWU8dWludDMyX3QsIGNvbXBvbmVu
dHM+KGNsZWFyVmFsdWVVbnNpZ25lZCwgImNsZWFyVmFsdWVVbnNpZ25lZCIpOworICAgICAgICB9
CisKKyAgICAgICAgZ2xFbmFibGUoR0xfQkxFTkQpOworICAgICAgICBnbEJsZW5kRXF1YXRpb24o
R0xfRlVOQ19BREQpOworICAgICAgICBnbEJsZW5kRnVuYyhHTF9PTkUsIEdMX09ORSk7CisKKyAg
ICAgICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwg
MC41Zik7CisKKyAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICAgICAgLy8gRW5h
YmxlZCBibGVuZGluZyBtdXN0IGJlIGlnbm9yZWQgZm9yIGludGVnZXIgY29sb3IgYXR0YWNobWVu
dC4KKyAgICAgICAgaWYgKGlzU2lnbmVkKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdCBp
bnQzMl90IGNvbG9yVmFsdWVTaWduZWRbNF0gPSB7LTEsIC0xLCAtMSwgLTF9OworICAgICAgICAg
ICAgY29tcGFyZVZhbHVlPGludDMyX3QsIGNvbXBvbmVudHM+KGNvbG9yVmFsdWVTaWduZWQsICJj
b2xvclZhbHVlU2lnbmVkIik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7Cisg
ICAgICAgICAgICBjb25zdCB1aW50MzJfdCBjb2xvclZhbHVlVW5zaWduZWRbNF0gPSB7MSwgMSwg
MSwgMX07CisgICAgICAgICAgICBjb21wYXJlVmFsdWU8dWludDMyX3QsIGNvbXBvbmVudHM+KGNv
bG9yVmFsdWVVbnNpZ25lZCwgImNvbG9yVmFsdWVVbnNpZ25lZCIpOworICAgICAgICB9CisgICAg
fQorfTsKKworLy8gVGVzdCB0aGF0IGJsZW5kaW5nIGlzIG5vdCBhcHBsaWVkIHRvIHNpZ25lZCBp
bnRlZ2VyIGF0dGFjaG1lbnRzLgorVEVTVF9QKEJsZW5kSW50ZWdlclRlc3QsIFI4SSkKK3sKKyAg
ICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1Rf
SUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAgICBydW5UZXN0PEdMX1I4SSwgMSwgdHJ1ZT4oKTsK
K30KKworVEVTVF9QKEJsZW5kSW50ZWdlclRlc3QsIFIxNkkpCit7CisgICAgLy8gVE9ETyhodHRw
Oi8vYW5nbGVidWcuY29tLzQ1NzEpCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGlzVnVsa2FuUmVu
ZGVyZXIoKSk7CisgICAgcnVuVGVzdDxHTF9SMTZJLCAxLCB0cnVlPigpOworfQorCitURVNUX1Ao
QmxlbmRJbnRlZ2VyVGVzdCwgUjMySSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5j
b20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAg
ICBydW5UZXN0PEdMX1IzMkksIDEsIHRydWU+KCk7Cit9CisKK1RFU1RfUChCbGVuZEludGVnZXJU
ZXN0LCBSRzhJKQoreworICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80NTcxKQorICAg
IEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkpOworICAgIHJ1blRlc3Q8R0xf
Ukc4SSwgMiwgdHJ1ZT4oKTsKK30KKworVEVTVF9QKEJsZW5kSW50ZWdlclRlc3QsIFJHMTZJKQor
eworICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80NTcxKQorICAgIEFOR0xFX1NLSVBf
VEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkpOworICAgIHJ1blRlc3Q8R0xfUkcxNkksIDIsIHRy
dWU+KCk7Cit9CisKK1RFU1RfUChCbGVuZEludGVnZXJUZXN0LCBSRzMySSkKK3sKKyAgICAvLyBU
T0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNW
dWxrYW5SZW5kZXJlcigpKTsKKyAgICBydW5UZXN0PEdMX1JHMzJJLCAyLCB0cnVlPigpOworfQor
CitURVNUX1AoQmxlbmRJbnRlZ2VyVGVzdCwgUkdCQThJKQoreworICAgIC8vIFRPRE8oaHR0cDov
L2FuZ2xlYnVnLmNvbS80NTcxKQorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRl
cmVyKCkpOworICAgIHJ1blRlc3Q8R0xfUkdCQThJLCA0LCB0cnVlPigpOworfQorCitURVNUX1Ao
QmxlbmRJbnRlZ2VyVGVzdCwgUkdCQTE2SSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1
Zy5jb20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsK
KyAgICBydW5UZXN0PEdMX1JHQkExNkksIDQsIHRydWU+KCk7Cit9CisKK1RFU1RfUChCbGVuZElu
dGVnZXJUZXN0LCBSR0JBMzJJKQoreworICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80
NTcxKQorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkpOworICAgIHJ1
blRlc3Q8R0xfUkdCQTMySSwgNCwgdHJ1ZT4oKTsKK30KKworLy8gVGVzdCB0aGF0IGJsZW5kaW5n
IGlzIG5vdCBhcHBsaWVkIHRvIHVuc2lnbmVkIGludGVnZXIgYXR0YWNobWVudHMuCitURVNUX1Ao
QmxlbmRJbnRlZ2VyVGVzdCwgUjhVSSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5j
b20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAg
ICBydW5UZXN0PEdMX1I4VUksIDEsIGZhbHNlPigpOworfQorCitURVNUX1AoQmxlbmRJbnRlZ2Vy
VGVzdCwgUjE2VUkpCit7CisgICAgLy8gVE9ETyhodHRwOi8vYW5nbGVidWcuY29tLzQ1NzEpCisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKGlzVnVsa2FuUmVuZGVyZXIoKSk7CisgICAgcnVuVGVzdDxH
TF9SMTZVSSwgMSwgZmFsc2U+KCk7Cit9CisKK1RFU1RfUChCbGVuZEludGVnZXJUZXN0LCBSMzJV
SSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3MSkKKyAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAgICBydW5UZXN0PEdMX1IzMlVJLCAx
LCBmYWxzZT4oKTsKK30KKworVEVTVF9QKEJsZW5kSW50ZWdlclRlc3QsIFJHOFVJKQoreworICAg
IC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80NTcxKQorICAgIEFOR0xFX1NLSVBfVEVTVF9J
Rihpc1Z1bGthblJlbmRlcmVyKCkpOworICAgIHJ1blRlc3Q8R0xfUkc4VUksIDIsIGZhbHNlPigp
OworfQorCitURVNUX1AoQmxlbmRJbnRlZ2VyVGVzdCwgUkcxNlVJKQoreworICAgIC8vIFRPRE8o
aHR0cDovL2FuZ2xlYnVnLmNvbS80NTcxKQorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGth
blJlbmRlcmVyKCkpOworICAgIHJ1blRlc3Q8R0xfUkcxNlVJLCAyLCBmYWxzZT4oKTsKK30KKwor
VEVTVF9QKEJsZW5kSW50ZWdlclRlc3QsIFJHMzJVSSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9h
bmdsZWJ1Zy5jb20vNDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJl
cigpKTsKKyAgICBydW5UZXN0PEdMX1JHMzJVSSwgMiwgZmFsc2U+KCk7Cit9CisKK1RFU1RfUChC
bGVuZEludGVnZXJUZXN0LCBSR0JBOFVJKQoreworICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVn
LmNvbS80NTcxKQorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkpOwor
ICAgIHJ1blRlc3Q8R0xfUkdCQThVSSwgNCwgZmFsc2U+KCk7Cit9CisKK1RFU1RfUChCbGVuZElu
dGVnZXJUZXN0LCBSR0JBMTZVSSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20v
NDU3MSkKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAgICBy
dW5UZXN0PEdMX1JHQkExNlVJLCA0LCBmYWxzZT4oKTsKK30KKworVEVTVF9QKEJsZW5kSW50ZWdl
clRlc3QsIFJHQkEzMlVJKQoreworICAgIC8vIFRPRE8oaHR0cDovL2FuZ2xlYnVnLmNvbS80NTcx
KQorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblJlbmRlcmVyKCkpOworICAgIHJ1blRl
c3Q8R0xfUkdCQTMyVUksIDQsIGZhbHNlPigpOworfQorCitURVNUX1AoQmxlbmRJbnRlZ2VyVGVz
dCwgUkdCMTBfQTJVSSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDU3MSkK
KyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNWdWxrYW5SZW5kZXJlcigpKTsKKyAgICBydW5UZXN0
PEdMX1JHQjEwX0EyVUksIDQsIGZhbHNlPigpOworfQorCisvLyBVc2UgdGhpcyB0byBzZWxlY3Qg
d2hpY2ggY29uZmlndXJhdGlvbnMgKGUuZy4gd2hpY2ggcmVuZGVyZXIsIHdoaWNoIEdMRVMgbWFq
b3IgdmVyc2lvbikgdGhlc2UKKy8vIHRlc3RzIHNob3VsZCBiZSBydW4gYWdhaW5zdC4KK0FOR0xF
X0lOU1RBTlRJQVRFX1RFU1RfRVMzKEJsZW5kSW50ZWdlclRlc3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0JsaXRGcmFtZWJ1ZmZlckFO
R0xFVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMv
QmxpdEZyYW1lYnVmZmVyQU5HTEVUZXN0LmNwcAppbmRleCA0ZjBkNjBlMDdjNjYzYjM1YzJlYWFj
MTI5YzMyZWQ1ZWQ0Y2Y4MTMxLi44OGU2MjkyZGViMGNjMzY0NDc2ZTgyMDczNTBmMWMyNWVkMTQ4
MDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVz
dHMvQmxpdEZyYW1lYnVmZmVyQU5HTEVUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQmxpdEZyYW1lYnVmZmVyQU5HTEVUZXN0LmNwcApAQCAt
NDA5LDEwICs0MDksMTAgQEAgVEVTVF9QKEJsaXRGcmFtZWJ1ZmZlckFOR0xFVGVzdCwgQmxpdENv
bG9yVG9EZWZhdWx0KQogCiAgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG1P
cmlnaW5hbEZCTyk7CiAKLSAgICBFWFBFQ1RfUElYRUxfRVEoZ2V0V2luZG93V2lkdGgoKSAvIDQs
IGdldFdpbmRvd0hlaWdodCgpIC8gNCwgMjU1LCAwLCAwLCAyNTUpOwotICAgIEVYUEVDVF9QSVhF
TF9FUSgzICogZ2V0V2luZG93V2lkdGgoKSAvIDQsIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgMCwg
MjU1LCAwLCAyNTUpOwotICAgIEVYUEVDVF9QSVhFTF9FUSgzICogZ2V0V2luZG93V2lkdGgoKSAv
IDQsIDMgKiBnZXRXaW5kb3dIZWlnaHQoKSAvIDQsIDI1NSwgMCwgMCwgMjU1KTsKLSAgICBFWFBF
Q1RfUElYRUxfRVEoZ2V0V2luZG93V2lkdGgoKSAvIDQsIDMgKiBnZXRXaW5kb3dIZWlnaHQoKSAv
IDQsIDAsIDI1NSwgMCwgMjU1KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoZ2V0V2luZG93
V2lkdGgoKSAvIDQsIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgR0xDb2xvcjo6cmVkKTsKKyAgICBF
WFBFQ1RfUElYRUxfQ09MT1JfRVEoMyAqIGdldFdpbmRvd1dpZHRoKCkgLyA0LCBnZXRXaW5kb3dI
ZWlnaHQoKSAvIDQsIEdMQ29sb3I6OmdyZWVuKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEo
MyAqIGdldFdpbmRvd1dpZHRoKCkgLyA0LCAzICogZ2V0V2luZG93SGVpZ2h0KCkgLyA0LCBHTENv
bG9yOjpyZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShnZXRXaW5kb3dXaWR0aCgpIC8g
NCwgMyAqIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgR0xDb2xvcjo6Z3JlZW4pOwogfQogCiAvLyBE
cmF3IHRvIHN5c3RlbSBmcmFtZWJ1ZmZlciwgYmxpdCB3aG9sZS1idWZmZXIgY29sb3IgdG8gdXNl
ci1jcmVhdGVkIGZyYW1lYnVmZmVyLgpAQCAtNjMzLDEwICs2MzMsMTAgQEAgVEVTVF9QKEJsaXRG
cmFtZWJ1ZmZlckFOR0xFVGVzdCwgQmxpdFdpdGhEZXB0aFVzZXJUb0RlZmF1bHQpCiAKICAgICBn
bERpc2FibGUoR0xfREVQVEhfVEVTVCk7CiAKLSAgICBFWFBFQ1RfUElYRUxfRVEoZ2V0V2luZG93
V2lkdGgoKSAvIDQsIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgMjU1LCAwLCAwLCAyNTUpOwotICAg
IEVYUEVDVF9QSVhFTF9FUSgzICogZ2V0V2luZG93V2lkdGgoKSAvIDQsIGdldFdpbmRvd0hlaWdo
dCgpIC8gNCwgMjU1LCAwLCAwLCAyNTUpOwotICAgIEVYUEVDVF9QSVhFTF9FUSgzICogZ2V0V2lu
ZG93V2lkdGgoKSAvIDQsIDMgKiBnZXRXaW5kb3dIZWlnaHQoKSAvIDQsIDAsIDAsIDI1NSwgMjU1
KTsKLSAgICBFWFBFQ1RfUElYRUxfRVEoZ2V0V2luZG93V2lkdGgoKSAvIDQsIDMgKiBnZXRXaW5k
b3dIZWlnaHQoKSAvIDQsIDAsIDAsIDI1NSwgMjU1KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1Jf
RVEoZ2V0V2luZG93V2lkdGgoKSAvIDQsIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgR0xDb2xvcjo6
cmVkKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMyAqIGdldFdpbmRvd1dpZHRoKCkgLyA0
LCBnZXRXaW5kb3dIZWlnaHQoKSAvIDQsIEdMQ29sb3I6OnJlZCk7CisgICAgRVhQRUNUX1BJWEVM
X0NPTE9SX0VRKDMgKiBnZXRXaW5kb3dXaWR0aCgpIC8gNCwgMyAqIGdldFdpbmRvd0hlaWdodCgp
IC8gNCwgR0xDb2xvcjo6Ymx1ZSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKGdldFdpbmRv
d1dpZHRoKCkgLyA0LCAzICogZ2V0V2luZG93SGVpZ2h0KCkgLyA0LCBHTENvbG9yOjpibHVlKTsK
IH0KIAogLy8gYmxpdCBmcm9tIHN5c3RlbSBGQk8gdG8gdXNlci1jcmVhdGVkIGZyYW1lYnVmZmVy
LCB3aXRoIGRlcHRoIGJ1ZmZlci4KQEAgLTc1NCwxMCArNzU0LDEwIEBAIFRFU1RfUChCbGl0RnJh
bWVidWZmZXJBTkdMRVRlc3QsIEJsaXRQYXJ0aWFsQ29sb3IpCiAKICAgICBnbEJpbmRGcmFtZWJ1
ZmZlcihHTF9GUkFNRUJVRkZFUiwgbU9yaWdpbmFsRkJPKTsKIAotICAgIEVYUEVDVF9QSVhFTF9F
UShnZXRXaW5kb3dXaWR0aCgpIC8gNCwgZ2V0V2luZG93SGVpZ2h0KCkgLyA0LCAyNTUsIDI1NSwg
MjU1LCAyNTUpOwotICAgIEVYUEVDVF9QSVhFTF9FUSgzICogZ2V0V2luZG93V2lkdGgoKSAvIDQs
IGdldFdpbmRvd0hlaWdodCgpIC8gNCwgMjU1LCAyNTUsIDI1NSwgMjU1KTsKLSAgICBFWFBFQ1Rf
UElYRUxfRVEoMyAqIGdldFdpbmRvd1dpZHRoKCkgLyA0LCAzICogZ2V0V2luZG93SGVpZ2h0KCkg
LyA0LCAyNTUsIDI1NSwgMjU1LCAyNTUpOwotICAgIEVYUEVDVF9QSVhFTF9FUShnZXRXaW5kb3dX
aWR0aCgpIC8gNCwgMyAqIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgMjU1LCAwLCAwLCAyNTUpOwor
ICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShnZXRXaW5kb3dXaWR0aCgpIC8gNCwgZ2V0V2luZG93
SGVpZ2h0KCkgLyA0LCBHTENvbG9yOjp3aGl0ZSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VR
KDMgKiBnZXRXaW5kb3dXaWR0aCgpIC8gNCwgZ2V0V2luZG93SGVpZ2h0KCkgLyA0LCBHTENvbG9y
Ojp3aGl0ZSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDMgKiBnZXRXaW5kb3dXaWR0aCgp
IC8gNCwgMyAqIGdldFdpbmRvd0hlaWdodCgpIC8gNCwgR0xDb2xvcjo6d2hpdGUpOworICAgIEVY
UEVDVF9QSVhFTF9DT0xPUl9FUShnZXRXaW5kb3dXaWR0aCgpIC8gNCwgMyAqIGdldFdpbmRvd0hl
aWdodCgpIC8gNCwgR0xDb2xvcjo6cmVkKTsKIH0KIAogVEVTVF9QKEJsaXRGcmFtZWJ1ZmZlckFO
R0xFVGVzdCwgQmxpdERpZmZlcmVudFNpemVzKQpAQCAtODMxLDE1ICs4MzEsMTQgQEAgVEVTVF9Q
KEJsaXRGcmFtZWJ1ZmZlckFOR0xFVGVzdCwgQmxpdFN0ZW5jaWwpCiB7CiAgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfQU5HTEVfZnJhbWVidWZmZXJfYmxp
dCIpKTsKIAotICAgIC8vIFRPRE8oam1hZGlsbCk6IEZpZ3VyZSBvdXQgaWYgd2UgY2FuIGZpeCB0
aGlzIG9uIEQzRDkuCi0gICAgLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmdsZXByb2pl
Y3QvaXNzdWVzL2RldGFpbD9pZD0yMjA1CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS8yMjA1
CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzSW50ZWwoKSAmJiBJc0QzRDkoKSk7CiAKICAgICBn
bEJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbVVzZXJGQk8pOwogCiAgICAgZ2xDbGVh
ckNvbG9yKDAuMCwgMS4wLCAwLjAsIDEuMCk7Ci0gICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJf
QklUIHwgR0xfU1RFTkNJTF9CVUZGRVJfQklUIHwgR0xfREVQVEhfQlVGRkVSX0JJVCk7CiAgICAg
Z2xDbGVhclN0ZW5jaWwoMHgwKTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQgfCBH
TF9TVEVOQ0lMX0JVRkZFUl9CSVQgfCBHTF9ERVBUSF9CVUZGRVJfQklUKTsKIAogICAgIC8vIFNj
aXNzb3IgaGFsZiB0aGUgc2NyZWVuIHNvIHdlIGZpbGwgdGhlIHN0ZW5jaWwgb25seSBoYWxmd2F5
CiAgICAgZ2xTY2lzc29yKDAsIDAsIGdldFdpbmRvd1dpZHRoKCksIGdldFdpbmRvd0hlaWdodCgp
IC8gMik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvQnVmZmVyRGF0YVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2dsX3Rlc3RzL0J1ZmZlckRhdGFUZXN0LmNwcAppbmRleCA5YTY3ODJiMjNkNGZmOTU5MmRh
NGRlYTFkY2EyNGI4OWZjZjI5NTE2Li40YjEyNjllZGE3ZDU0OTY5YjNlZmY1MWFhMzQyMThmZjhj
OTg4MTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvQnVmZmVyRGF0YVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9nbF90ZXN0cy9CdWZmZXJEYXRhVGVzdC5jcHAKQEAgLTQxMSw2ICs0MTEsMTY2IEBA
IFRFU1RfUChCdWZmZXJEYXRhVGVzdEVTMywgQnVmZmVyUmVzaXppbmcpCiAgICAgRVhQRUNUX0dM
X05PX0VSUk9SKCk7CiB9CiAKKy8vIFRlc3QgdG8gdmVyaWZ5IG1hcHBpbmcgYSBidWZmZXIgYWZ0
ZXIgY29weWluZyB0byBpdCBjb250YWlucyBmbHVzaGVkL3VwZGF0ZWQgZGF0YQorVEVTVF9QKEJ1
ZmZlckRhdGFUZXN0RVMzLCBDb3B5QnVmZmVyU3ViRGF0YU1hcFJlYWRUZXN0KQoreworICAgIGNv
bnN0IGNoYXIgc2ltcGxlVmVydGV4W10gICA9IFIiKGF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uOwor
YXR0cmlidXRlIHZlYzQgY29sb3I7Cit2YXJ5aW5nIHZlYzQgdkNvbG9yOwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zaXRpb24sIDAsIDEpOworICAgIHZDb2xvciA9
IGNvbG9yOworfQorKSI7CisgICAgY29uc3QgY2hhciBzaW1wbGVGcmFnbWVudFtdID0gUiIocHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdkNvbG9yOwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7Cit9CispIjsKKworICAgIGNvbnN0IHVpbnQz
Ml90IG51bUNvbXBvbmVudHMgPSAzOworICAgIGNvbnN0IHVpbnQzMl90IHdpZHRoICAgICAgICAg
PSA0OworICAgIGNvbnN0IHVpbnQzMl90IGhlaWdodCAgICAgICAgPSA0OworICAgIGNvbnN0IHNp
emVfdCBudW1FbGVtZW50cyAgICAgPSB3aWR0aCAqIGhlaWdodCAqIG51bUNvbXBvbmVudHM7Cisg
ICAgc3RkOjp2ZWN0b3I8dWludDhfdD4gc3JjRGF0YShudW1FbGVtZW50cyk7CisgICAgc3RkOjp2
ZWN0b3I8dWludDhfdD4gZHN0RGF0YShudW1FbGVtZW50cyk7CisKKyAgICBmb3IgKHVpbnQ4X3Qg
aSA9IDA7IGkgPCBzcmNEYXRhLnNpemUoKTsgaSsrKQorICAgIHsKKyAgICAgICAgc3JjRGF0YVtp
XSA9IDEyODsKKyAgICB9CisgICAgZm9yICh1aW50OF90IGkgPSAwOyBpIDwgZHN0RGF0YS5zaXpl
KCk7IGkrKykKKyAgICB7CisgICAgICAgIGRzdERhdGFbaV0gPSAwOworICAgIH0KKworICAgIEdM
QnVmZmVyIHNyY0J1ZmZlcjsKKyAgICBHTEJ1ZmZlciBkc3RCdWZmZXI7CisKKyAgICBnbEJpbmRC
dWZmZXIoR0xfQVJSQVlfQlVGRkVSLCBzcmNCdWZmZXIpOworICAgIGdsQnVmZmVyRGF0YShHTF9B
UlJBWV9CVUZGRVIsIHNyY0RhdGEuc2l6ZSgpLCBzcmNEYXRhLmRhdGEoKSwgR0xfU1RBVElDX0RS
QVcpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgZ2xCaW5kQnVmZmVyKEdMX1BJ
WEVMX1VOUEFDS19CVUZGRVIsIGRzdEJ1ZmZlcik7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1BJWEVM
X1VOUEFDS19CVUZGRVIsIGRzdERhdGEuc2l6ZSgpLCBkc3REYXRhLmRhdGEoKSwgR0xfU1RBVElD
X1JFQUQpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgQU5HTEVfR0xfUFJPR1JB
TShwcm9ncmFtLCBzaW1wbGVWZXJ0ZXgsIHNpbXBsZUZyYWdtZW50KTsKKyAgICBnbFVzZVByb2dy
YW0ocHJvZ3JhbSk7CisKKyAgICBHTGludCBjb2xvckxvYyA9IGdsR2V0QXR0cmliTG9jYXRpb24o
cHJvZ3JhbSwgImNvbG9yIik7CisgICAgQVNTRVJUX05FKC0xLCBjb2xvckxvYyk7CisKKyAgICBn
bEJpbmRCdWZmZXIoR0xfQVJSQVlfQlVGRkVSLCBzcmNCdWZmZXIpOworICAgIGdsVmVydGV4QXR0
cmliUG9pbnRlcihjb2xvckxvYywgMywgR0xfVU5TSUdORURfQllURSwgR0xfVFJVRSwgMCwgbnVs
bHB0cik7CisgICAgZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvYyk7CisKKyAgICBk
cmF3UXVhZChwcm9ncmFtLCAicG9zaXRpb24iLCAwLjVmLCAxLjBmLCB0cnVlKTsKKyAgICBBU1NF
UlRfR0xfTk9fRVJST1IoKTsKKworICAgIGdsQ29weUJ1ZmZlclN1YkRhdGEoR0xfQVJSQVlfQlVG
RkVSLCBHTF9QSVhFTF9VTlBBQ0tfQlVGRkVSLCAwLCAwLCBudW1FbGVtZW50cyk7CisKKyAgICAv
LyBXaXRoIEdMX01BUF9SRUFEX0JJVCwgd2UgZXhwZWN0IHRoZSBkYXRhIHRvIGJlIGZsdXNoZWQg
YW5kIHVwZGF0ZWQgdG8gbWF0Y2ggc3JjRGF0YQorICAgIHVpbnQ4X3QgKmRhdGEgPSByZWludGVy
cHJldF9jYXN0PHVpbnQ4X3QgKj4oCisgICAgICAgIGdsTWFwQnVmZmVyUmFuZ2UoR0xfUElYRUxf
VU5QQUNLX0JVRkZFUiwgMCwgbnVtRWxlbWVudHMsIEdMX01BUF9SRUFEX0JJVCkpOworICAgIEVY
UEVDVF9HTF9OT19FUlJPUigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtRWxlbWVu
dHM7ICsraSkKKyAgICB7CisgICAgICAgIEVYUEVDVF9FUShzcmNEYXRhW2ldLCBkYXRhW2ldKTsK
KyAgICB9CisgICAgZ2xVbm1hcEJ1ZmZlcihHTF9QSVhFTF9VTlBBQ0tfQlVGRkVSKTsKKyAgICBF
WFBFQ1RfR0xfTk9fRVJST1IoKTsKK30KKworLy8gVGVzdCB0byB2ZXJpZnkgbWFwcGluZyBhIGJ1
ZmZlciBhZnRlciBjb3B5aW5nIHRvIGl0IGNvbnRhaW5zIGV4cGVjdGVkIGRhdGEKKy8vIHdpdGgg
R0xfTUFQX1VOU1lOQ0hST05JWkVEX0JJVAorVEVTVF9QKEJ1ZmZlckRhdGFUZXN0RVMzLCBNYXBC
dWZmZXJVbnN5bmNocm9uaXplZFJlYWRUZXN0KQoreworICAgIGNvbnN0IGNoYXIgc2ltcGxlVmVy
dGV4W10gICA9IFIiKGF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uOworYXR0cmlidXRlIHZlYzQgY29s
b3I7Cit2YXJ5aW5nIHZlYzQgdkNvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlv
biA9IHZlYzQocG9zaXRpb24sIDAsIDEpOworICAgIHZDb2xvciA9IGNvbG9yOworfQorKSI7Cisg
ICAgY29uc3QgY2hhciBzaW1wbGVGcmFnbWVudFtdID0gUiIocHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7Cit2YXJ5aW5nIHZlYzQgdkNvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29s
b3IgPSB2Q29sb3I7Cit9CispIjsKKworICAgIGNvbnN0IHVpbnQzMl90IG51bUNvbXBvbmVudHMg
PSAzOworICAgIGNvbnN0IHVpbnQzMl90IHdpZHRoICAgICAgICAgPSA0OworICAgIGNvbnN0IHVp
bnQzMl90IGhlaWdodCAgICAgICAgPSA0OworICAgIGNvbnN0IHNpemVfdCBudW1FbGVtZW50cyAg
ICAgPSB3aWR0aCAqIGhlaWdodCAqIG51bUNvbXBvbmVudHM7CisgICAgc3RkOjp2ZWN0b3I8dWlu
dDhfdD4gc3JjRGF0YShudW1FbGVtZW50cyk7CisgICAgc3RkOjp2ZWN0b3I8dWludDhfdD4gZHN0
RGF0YShudW1FbGVtZW50cyk7CisKKyAgICBmb3IgKHVpbnQ4X3QgaSA9IDA7IGkgPCBzcmNEYXRh
LnNpemUoKTsgaSsrKQorICAgIHsKKyAgICAgICAgc3JjRGF0YVtpXSA9IDEyODsKKyAgICB9Cisg
ICAgZm9yICh1aW50OF90IGkgPSAwOyBpIDwgZHN0RGF0YS5zaXplKCk7IGkrKykKKyAgICB7Cisg
ICAgICAgIGRzdERhdGFbaV0gPSAwOworICAgIH0KKworICAgIEdMQnVmZmVyIHNyY0J1ZmZlcjsK
KyAgICBHTEJ1ZmZlciBkc3RCdWZmZXI7CisKKyAgICBnbEJpbmRCdWZmZXIoR0xfQVJSQVlfQlVG
RkVSLCBzcmNCdWZmZXIpOworICAgIGdsQnVmZmVyRGF0YShHTF9BUlJBWV9CVUZGRVIsIHNyY0Rh
dGEuc2l6ZSgpLCBzcmNEYXRhLmRhdGEoKSwgR0xfU1RBVElDX0RSQVcpOworICAgIEFTU0VSVF9H
TF9OT19FUlJPUigpOworCisgICAgZ2xCaW5kQnVmZmVyKEdMX1BJWEVMX1VOUEFDS19CVUZGRVIs
IGRzdEJ1ZmZlcik7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1BJWEVMX1VOUEFDS19CVUZGRVIsIGRz
dERhdGEuc2l6ZSgpLCBkc3REYXRhLmRhdGEoKSwgR0xfU1RBVElDX1JFQUQpOworICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBzaW1wbGVW
ZXJ0ZXgsIHNpbXBsZUZyYWdtZW50KTsKKyAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAg
ICBHTGludCBjb2xvckxvYyA9IGdsR2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yIik7
CisgICAgQVNTRVJUX05FKC0xLCBjb2xvckxvYyk7CisKKyAgICBnbEJpbmRCdWZmZXIoR0xfQVJS
QVlfQlVGRkVSLCBzcmNCdWZmZXIpOworICAgIGdsVmVydGV4QXR0cmliUG9pbnRlcihjb2xvckxv
YywgMywgR0xfVU5TSUdORURfQllURSwgR0xfVFJVRSwgMCwgbnVsbHB0cik7CisgICAgZ2xFbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvYyk7CisKKyAgICBkcmF3UXVhZChwcm9ncmFtLCAi
cG9zaXRpb24iLCAwLjVmLCAxLjBmLCB0cnVlKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
KworICAgIGdsQ29weUJ1ZmZlclN1YkRhdGEoR0xfQVJSQVlfQlVGRkVSLCBHTF9QSVhFTF9VTlBB
Q0tfQlVGRkVSLCAwLCAwLCBudW1FbGVtZW50cyk7CisKKyAgICAvLyBTeW5jaHJvbml6ZS4KKyAg
ICBnbEZpbmlzaCgpOworCisgICAgLy8gTWFwIHdpdGggR0xfTUFQX1VOU1lOQ0hST05JWkVEX0JJ
VCBhbmQgb3ZlcndyaXRlIGJ1ZmZlcnMgZGF0YSB3aXRoIHNyY0RhdGEKKyAgICB1aW50OF90ICpk
YXRhID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KGdsTWFwQnVmZmVyUmFuZ2UoCisgICAg
ICAgIEdMX1BJWEVMX1VOUEFDS19CVUZGRVIsIDAsIG51bUVsZW1lbnRzLCBHTF9NQVBfV1JJVEVf
QklUIHwgR0xfTUFQX1VOU1lOQ0hST05JWkVEX0JJVCkpOworICAgIEVYUEVDVF9HTF9OT19FUlJP
UigpOworICAgIG1lbWNweShkYXRhLCBzcmNEYXRhLmRhdGEoKSwgc3JjRGF0YS5zaXplKCkpOwor
ICAgIGdsVW5tYXBCdWZmZXIoR0xfUElYRUxfVU5QQUNLX0JVRkZFUik7CisgICAgRVhQRUNUX0dM
X05PX0VSUk9SKCk7CisKKyAgICAvLyBNYXAgd2l0aG91dCBHTF9NQVBfVU5TWU5DSFJPTklaRURf
QklUIGFuZCByZWFkIGRhdGEuIFdlIGV4cGVjdCBpdCB0byBiZSBzcmNEYXRhCisgICAgZGF0YSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCAqPigKKyAgICAgICAgZ2xNYXBCdWZmZXJSYW5nZShH
TF9QSVhFTF9VTlBBQ0tfQlVGRkVSLCAwLCBudW1FbGVtZW50cywgR0xfTUFQX1JFQURfQklUKSk7
CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBu
dW1FbGVtZW50czsgKytpKQorICAgIHsKKyAgICAgICAgRVhQRUNUX0VRKHNyY0RhdGFbaV0sIGRh
dGFbaV0pOworICAgIH0KKyAgICBnbFVubWFwQnVmZmVyKEdMX1BJWEVMX1VOUEFDS19CVUZGRVIp
OworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworfQorCiAvLyBWZXJpZnkgdGhlIGZ1bmN0aW9u
YWxpdHkgb2YgZ2xNYXBCdWZmZXJSYW5nZSgpJ3MgR0xfTUFQX1VOU1lOQ0hST05JWkVEX0JJVAog
Ly8gTk9URTogT24gVnVsa2FuLCBpZiB3ZSBldmVyIHVzZSBtZW1vcnkgdGhhdCdzIG5vdCBgVktf
TUVNT1JZX1BST1BFUlRZX0hPU1RfQ09IRVJFTlRfQklUYCwgdGhlbgogLy8gdGhpcyBjb3VsZCBp
bmNvcnJlY3RseSBwYXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL2dsX3Rlc3RzL0NsZWFyVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZ2xfdGVzdHMvQ2xlYXJUZXN0LmNwcAppbmRleCBhMzRjMDQzNGM2YWI5MWM3NGE4
NzA5NDBlN2RlYjM4MzlmZTkwMzVhLi40ZGRlMDZkYTY2YzljZTRmYzM4OWVlNjBjMWViMzQ4NjQ5
ZGZlZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvQ2xlYXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xfdGVzdHMvQ2xlYXJUZXN0LmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIGNsYXNzIE1hc2tl
ZFNjaXNzb3JlZENsZWFyVGVzdEJhc2UKICAgICAgICAgc2V0Q29uZmlnU3RlbmNpbEJpdHMoOCk7
CiAgICAgfQogCi0gICAgdm9pZCBNYXNrZWRTY2lzc29yZWRDb2xvckRlcHRoU3RlbmNpbENsZWFy
KAorICAgIHZvaWQgbWFza2VkU2Npc3NvcmVkQ29sb3JEZXB0aFN0ZW5jaWxDbGVhcigKICAgICAg
ICAgY29uc3QgTWFza2VkU2Npc3NvcmVkQ2xlYXJWYXJpYXRpb25zVGVzdFBhcmFtcyAmcGFyYW1z
KTsKIAogICAgIGJvb2wgbUhhc0RlcHRoICAgPSB0cnVlOwpAQCAtMzIzLDYgKzMyMywxNSBAQCBU
RVNUX1AoQ2xlYXJUZXN0LCBFbXB0eVNjaXNzb3IpCiAvLyBUZXN0IGNsZWFyaW5nIHRoZSBSR0Ig
ZGVmYXVsdCBmcmFtZWJ1ZmZlciBhbmQgdmVyaWZ5IHRoYXQgdGhlIGFscGhhIGNoYW5uZWwgaXMg
bm90IGNsZWFyZWQKIFRFU1RfUChDbGVhclRlc3RSR0IsIERlZmF1bHRGcmFtZWJ1ZmZlclJHQikK
IHsKKyAgICAvLyBTb21lIEdQVXMgZG9uJ3Qgc3VwcG9ydCBSR0IgZm9ybWF0IGRlZmF1bHQgZnJh
bWVidWZmZXIsCisgICAgLy8gc28gc2tpcCBpZiB0aGUgYmFjayBidWZmZXIgaGFzIGFscGhhIGJp
dHMuCisgICAgRUdMV2luZG93ICp3aW5kb3cgICAgICAgICAgPSBnZXRFR0xXaW5kb3coKTsKKyAg
ICBFR0xEaXNwbGF5IGRpc3BsYXkgICAgICAgICA9IHdpbmRvdy0+Z2V0RGlzcGxheSgpOworICAg
IEVHTENvbmZpZyBjb25maWcgICAgICAgICAgID0gd2luZG93LT5nZXRDb25maWcoKTsKKyAgICBF
R0xpbnQgYmFja2J1ZmZlckFscGhhQml0cyA9IDA7CisgICAgZWdsR2V0Q29uZmlnQXR0cmliKGRp
c3BsYXksIGNvbmZpZywgRUdMX0FMUEhBX1NJWkUsICZiYWNrYnVmZmVyQWxwaGFCaXRzKTsKKyAg
ICBBTkdMRV9TS0lQX1RFU1RfSUYoYmFja2J1ZmZlckFscGhhQml0cyAhPSAwKTsKKwogICAgIGds
Q2xlYXJDb2xvcigwLjI1ZiwgMC41ZiwgMC41ZiwgMC41Zik7CiAgICAgZ2xDbGVhcihHTF9DT0xP
Ul9CVUZGRVJfQklUKTsKICAgICBFWFBFQ1RfUElYRUxfTkVBUigwLCAwLCA2NCwgMTI4LCAxMjgs
IDI1NSwgMS4wKTsKQEAgLTg1Miw3ICs4NjEsNyBAQCBURVNUX1AoQ2xlYXJUZXN0RVMzLCBNYXNr
ZWRJbmRleGVkQ2xlYXJNdWx0aXBsZUF0dGFjaG1lbnRzKQogICAgIEFOR0xFX1NLSVBfVEVTVF9J
RighSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX09FU19kcmF3X2J1ZmZlcnNfaW5kZXhlZCIpKTsK
IAogICAgIGNvbnN0ZXhwciB1aW50MzJfdCBrU2l6ZSAgICAgICAgICAgID0gMTY7Ci0gICAgY29u
c3RleHByIHVpbnQzMl90IGtBdHRhY2htZW50Q291bnQgPSAyOworICAgIGNvbnN0ZXhwciB1aW50
MzJfdCBrQXR0YWNobWVudENvdW50ID0gNDsKICAgICBzdGQ6OnZlY3Rvcjx1bnNpZ25lZCBjaGFy
PiBwaXhlbERhdGEoa1NpemUgKiBrU2l6ZSAqIDQsIDI1NSk7CiAKICAgICBnbEJpbmRGcmFtZWJ1
ZmZlcihHTF9GUkFNRUJVRkZFUiwgbUZCT3NbMF0pOwpAQCAtODgyLDcgKzg5MSw4IEBAIFRFU1Rf
UChDbGVhclRlc3RFUzMsIE1hc2tlZEluZGV4ZWRDbGVhck11bHRpcGxlQXR0YWNobWVudHMpCiAg
ICAgLy8gQmxvY2sgYmx1ZSBjaGFubmVsIGZvciBhbGwgYXR0YWNoZW1lbnRzCiAgICAgZ2xDb2xv
ck1hc2soR0xfVFJVRSwgR0xfVFJVRSwgR0xfRkFMU0UsIEdMX1RSVUUpOwogCi0gICAgLy8gVW5i
bG9jayBibHVlIGNoYW5uZWwgZm9yIGF0dGFjaGVtZW50IDEKKyAgICAvLyBVbmJsb2NrIGJsdWUg
Y2hhbm5lbCBmb3IgYXR0YWNobWVudHMgMCBhbmQgMQorICAgIGdsQ29sb3JNYXNraU9FUygwLCBH
TF9UUlVFLCBHTF9UUlVFLCBHTF9UUlVFLCBHTF9UUlVFKTsKICAgICBnbENvbG9yTWFza2lPRVMo
MSwgR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSk7CiAKICAgICBnbENsZWFyQ29s
b3IoY2xlYXJDb2xvclswXSwgY2xlYXJDb2xvclsxXSwgY2xlYXJDb2xvclsyXSwgY2xlYXJDb2xv
clszXSk7CkBAIC04OTUsMTIgKzkwNSwxMiBAQCBURVNUX1AoQ2xlYXJUZXN0RVMzLCBNYXNrZWRJ
bmRleGVkQ2xlYXJNdWx0aXBsZUF0dGFjaG1lbnRzKQogICAgICAgICBnbFJlYWRCdWZmZXIoR0xf
Q09MT1JfQVRUQUNITUVOVDAgKyBpKTsKICAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAK
LSAgICAgICAgY29uc3QgR0xDb2xvciBhdHRhY2hlbWVudENvbG9yID0gKGkgPT0gMSkgPyBjbGVh
ckNvbG9yIDogY2xlYXJDb2xvck1hc2tlZDsKLSAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VR
KDAsIDAsIGF0dGFjaGVtZW50Q29sb3IpOwotICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEo
MCwga1NpemUgLSAxLCBhdHRhY2hlbWVudENvbG9yKTsKLSAgICAgICAgRVhQRUNUX1BJWEVMX0NP
TE9SX0VRKGtTaXplIC0gMSwgMCwgYXR0YWNoZW1lbnRDb2xvcik7Ci0gICAgICAgIEVYUEVDVF9Q
SVhFTF9DT0xPUl9FUShrU2l6ZSAtIDEsIGtTaXplIC0gMSwgYXR0YWNoZW1lbnRDb2xvcik7Ci0g
ICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShrU2l6ZSAvIDIsIGtTaXplIC8gMiwgYXR0YWNo
ZW1lbnRDb2xvcik7CisgICAgICAgIGNvbnN0IEdMQ29sb3IgYXR0YWNobWVudENvbG9yID0gKGkg
PiAxKSA/IGNsZWFyQ29sb3JNYXNrZWQgOiBjbGVhckNvbG9yOworICAgICAgICBFWFBFQ1RfUElY
RUxfQ09MT1JfRVEoMCwgMCwgYXR0YWNobWVudENvbG9yKTsKKyAgICAgICAgRVhQRUNUX1BJWEVM
X0NPTE9SX0VRKDAsIGtTaXplIC0gMSwgYXR0YWNobWVudENvbG9yKTsKKyAgICAgICAgRVhQRUNU
X1BJWEVMX0NPTE9SX0VRKGtTaXplIC0gMSwgMCwgYXR0YWNobWVudENvbG9yKTsKKyAgICAgICAg
RVhQRUNUX1BJWEVMX0NPTE9SX0VRKGtTaXplIC0gMSwga1NpemUgLSAxLCBhdHRhY2htZW50Q29s
b3IpOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLyAyLCBrU2l6ZSAvIDIs
IGF0dGFjaG1lbnRDb2xvcik7CiAgICAgfQogfQogCkBAIC0xMjY4LDcgKzEyNzgsNDMgQEAgVEVT
VF9QKENsZWFyVGVzdEVTMywgUmVwZWF0ZWRDbGVhcikKICAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKIH0KIAotdm9pZCBNYXNrZWRTY2lzc29yZWRDbGVhclRlc3RCYXNlOjpNYXNrZWRTY2lzc29y
ZWRDb2xvckRlcHRoU3RlbmNpbENsZWFyKAorLy8gVGVzdCB0aGF0IGNsZWFyaW5nIFJHQjggYXR0
YWNobWVudHMgZnJvbSBhIDJEIHRleHR1cmUgYXJyYXkgZG9lcyBub3QgY2F1c2UKKy8vIFZVSUQt
VmtJbWFnZU1lbW9yeUJhcnJpZXItb2xkTGF5b3V0LTAxMTk3CitURVNUX1AoQ2xlYXJUZXN0RVMz
LCBUZXh0dXJlQXJyYXlSR0I4KQoreworICAgIEdMRnJhbWVidWZmZXIgZmI7CisgICAgZ2xCaW5k
RnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZiKTsKKworICAgIEdMVGV4dHVyZSB0ZXg7Cisg
ICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJEX0FSUkFZLCB0ZXgpOworICAgIGdsVGV4U3Rv
cmFnZTNEKEdMX1RFWFRVUkVfMkRfQVJSQVksIDEsIEdMX1JHQjgsIDEsIDEsIDIpOworICAgIGds
VGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJEX0FSUkFZLCBHTF9URVhUVVJFX01JTl9GSUxURVIs
IEdMX05FQVJFU1QpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJEX0FSUkFZLCBH
TF9URVhUVVJFX01BR19GSUxURVIsIEdMX05FQVJFU1QpOworCisgICAgZ2xGcmFtZWJ1ZmZlclRl
eHR1cmVMYXllcihHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIHRleCwgMCwg
MCk7CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmVMYXllcihHTF9GUkFNRUJVRkZFUiwgR0xfQ09M
T1JfQVRUQUNITUVOVDEsIHRleCwgMCwgMSk7CisKKyAgICBBU1NFUlRfR0xfRlJBTUVCVUZGRVJf
Q09NUExFVEUoR0xfRlJBTUVCVUZGRVIpOworCisgICAgR0xlbnVtIGJ1ZnNbMl0gPSB7R0xfQ09M
T1JfQVRUQUNITUVOVDAsIEdMX0NPTE9SX0FUVEFDSE1FTlQxfTsKKyAgICBnbERyYXdCdWZmZXJz
KDIsICZidWZzWzBdKTsKKworICAgIGdsQ2xlYXJDb2xvcigxLjAsIDAuMCwgMS4wLCAxLjApOwor
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9S
KCk7CisKKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9SRUFEX0ZSQU1FQlVGRkVSLCBmYik7CisK
KyAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1JfQVRUQUNITUVOVDApOworICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjptYWdlbnRhKTsKKworICAgIGdsUmVhZEJ1ZmZlcihH
TF9DT0xPUl9BVFRBQ0hNRU5UMSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdM
Q29sb3I6Om1hZ2VudGEpOworCisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7Cit9CisKK3ZvaWQg
TWFza2VkU2Npc3NvcmVkQ2xlYXJUZXN0QmFzZTo6bWFza2VkU2Npc3NvcmVkQ29sb3JEZXB0aFN0
ZW5jaWxDbGVhcigKICAgICBjb25zdCBNYXNrZWRTY2lzc29yZWRDbGVhclZhcmlhdGlvbnNUZXN0
UGFyYW1zICZwYXJhbXMpCiB7CiAgICAgLy8gRmxha3kgb24gQW5kcm9pZCBOZXh1cyA1eCBhbmQg
UGl4ZWwgMiwgcG9zc2libGUgUXVhbGNvbW0gZHJpdmVyIGJ1Zy4KQEAgLTE0NDksNyArMTQ5NSw3
IEBAIHZvaWQgTWFza2VkU2Npc3NvcmVkQ2xlYXJUZXN0QmFzZTo6TWFza2VkU2Npc3NvcmVkQ29s
b3JEZXB0aFN0ZW5jaWxDbGVhcigKIC8vIFRlc3RzIGNvbWJpbmF0aW9ucyBvZiBjb2xvciwgZGVw
dGgsIHN0ZW5jaWwgY2xlYXJzIHdpdGggb3Igd2l0aG91dCBtYXNrcyBvciBzY2lzc29yLgogVEVT
VF9QKE1hc2tlZFNjaXNzb3JlZENsZWFyVGVzdCwgVGVzdCkKIHsKLSAgICBNYXNrZWRTY2lzc29y
ZWRDb2xvckRlcHRoU3RlbmNpbENsZWFyKEdldFBhcmFtKCkpOworICAgIG1hc2tlZFNjaXNzb3Jl
ZENvbG9yRGVwdGhTdGVuY2lsQ2xlYXIoR2V0UGFyYW0oKSk7CiB9CiAKIC8vIFRlc3RzIGNvbWJp
bmF0aW9ucyBvZiBjb2xvciwgZGVwdGgsIHN0ZW5jaWwgY2xlYXJzIHdpdGggb3Igd2l0aG91dCBt
YXNrcyBvciBzY2lzc29yLgpAQCAtMTQ4Myw3ICsxNTI5LDcgQEAgVEVTVF9QKFZ1bGthbkNsZWFy
VGVzdCwgVGVzdCkKICAgICAgICAgYmluZENvbG9yU3RlbmNpbEZCTygpOwogICAgIH0KIAotICAg
IE1hc2tlZFNjaXNzb3JlZENvbG9yRGVwdGhTdGVuY2lsQ2xlYXIoR2V0UGFyYW0oKSk7CisgICAg
bWFza2VkU2Npc3NvcmVkQ29sb3JEZXB0aFN0ZW5jaWxDbGVhcihHZXRQYXJhbSgpKTsKIH0KIAog
Ly8gVGVzdCB0aGF0IGp1c3QgY2xlYXJpbmcgYSBub25leGlzdGVudCBkcmF3YnVmZmVyIG9mIHRo
ZSBkZWZhdWx0IGZyYW1lYnVmZmVyIGRvZXNuJ3QgY2F1c2UgYW4KQEAgLTE0OTksNiArMTU0NSw4
NSBAQCBURVNUX1AoQ2xlYXJUZXN0RVMzLCBDbGVhckJ1ZmZlcjFPbkRlZmF1bHRGcmFtZWJ1ZmZl
ck5vQXNzZXJ0KQogICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBDbGVhcnMgbWFu
eSBzbWFsbCBjb25jZW50cmljIHJlY3RhbmdsZXMgdXNpbmcgc2Npc3NvciByZWdpb25zLgorVEVT
VF9QKENsZWFyVGVzdCwgSW5jZXB0aW9uU2Npc3NvckNsZWFycykKK3sKKyAgICBhbmdsZTo6Uk5H
IHJuZzsKKworICAgIGNvbnN0ZXhwciBHTHVpbnQga1NpemUgPSAxNjsKKworICAgIC8vIENyZWF0
ZSBhIHNxdWFyZSB1c2VyIEZCTyBzbyB3ZSBoYXZlIG1vcmUgY29udHJvbCBvdmVyIHRoZSBkaW1l
bnNpb25zLgorICAgIEdMRnJhbWVidWZmZXIgZmJvOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdM
X0ZSQU1FQlVGRkVSLCBmYm8pOworCisgICAgR0xSZW5kZXJidWZmZXIgcmJvOworICAgIGdsQmlu
ZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIHJibyk7CisgICAgZ2xSZW5kZXJidWZmZXJT
dG9yYWdlKEdMX1JFTkRFUkJVRkZFUiwgR0xfUkdCQTgsIGtTaXplLCBrU2l6ZSk7CisKKyAgICBn
bEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hN
RU5UMCwgR0xfUkVOREVSQlVGRkVSLCByYm8pOworICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9D
T01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAgICBnbFZpZXdwb3J0KDAsIDAsIGtTaXplLCBr
U2l6ZSk7CisKKyAgICAvLyBEcmF3IHNtYWxsIGNvbmNlbnRyaWMgc3F1YXJlcyB1c2luZyBzY2lz
c29yLgorICAgIHN0ZDo6dmVjdG9yPEdMQ29sb3I+IGV4cGVjdGVkQ29sb3JzOworICAgIGZvciAo
R0x1aW50IGluZGV4ID0gMDsgaW5kZXggPCAoa1NpemUgLSAxKSAvIDI7IGluZGV4KyspCisgICAg
eworICAgICAgICAvLyBEbyB0aGUgZmlyc3QgY2xlYXIgd2l0aG91dCB0aGUgc2Npc3Nvci4KKyAg
ICAgICAgaWYgKGluZGV4ID4gMCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xFbmFibGUoR0xf
U0NJU1NPUl9URVNUKTsKKyAgICAgICAgICAgIGdsU2Npc3NvcihpbmRleCwgaW5kZXgsIGtTaXpl
IC0gKGluZGV4ICogMiksIGtTaXplIC0gKGluZGV4ICogMikpOworICAgICAgICB9CisKKyAgICAg
ICAgR0xDb2xvciBjb2xvciA9IFJhbmRvbUNvbG9yKCZybmcpOworICAgICAgICBleHBlY3RlZENv
bG9ycy5wdXNoX2JhY2soY29sb3IpOworICAgICAgICBWZWN0b3I0IGZsb2F0Q29sb3IgPSBjb2xv
ci50b05vcm1hbGl6ZWRWZWN0b3IoKTsKKyAgICAgICAgZ2xDbGVhckNvbG9yKGZsb2F0Q29sb3Jb
MF0sIGZsb2F0Q29sb3JbMV0sIGZsb2F0Q29sb3JbMl0sIGZsb2F0Q29sb3JbM10pOworICAgICAg
ICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIH0KKworICAgIEFTU0VSVF9HTF9O
T19FUlJPUigpOworCisgICAgc3RkOjp2ZWN0b3I8R0xDb2xvcj4gYWN0dWFsQ29sb3JzKGV4cGVj
dGVkQ29sb3JzLnNpemUoKSk7CisgICAgZ2xSZWFkUGl4ZWxzKDAsIGtTaXplIC8gMiwgYWN0dWFs
Q29sb3JzLnNpemUoKSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwKKyAgICAgICAgICAg
ICAgICAgYWN0dWFsQ29sb3JzLmRhdGEoKSk7CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRDb2xv
cnMsIGFjdHVhbENvbG9ycyk7Cit9CisKKy8vIFRlc3QgdGhhdCBjbGVhckJ1ZmZlciB3aXRoIGRp
c2FibGVkIG5vbi16ZXJvIGRyYXdidWZmZXIgb3IgZGlzYWJsZWQgcmVhZCBzb3VyY2UgZG9lc24n
dCBjYXVzZSBhbgorLy8gYXNzZXJ0LgorVEVTVF9QKENsZWFyVGVzdEVTMywgQ2xlYXJEaXNhYmxl
ZE5vblplcm9BdHRhY2htZW50Tm9Bc3NlcnQpCit7CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNv
bS80NjEyCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzT1NYKCkgJiYgSXNEZXNrdG9wT3BlbkdM
KCkpOworCisgICAgR0xGcmFtZWJ1ZmZlciBmYjsKKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9G
UkFNRUJVRkZFUiwgZmIpOworCisgICAgR0xSZW5kZXJidWZmZXIgcmI7CisgICAgZ2xCaW5kUmVu
ZGVyYnVmZmVyKEdMX1JFTkRFUkJVRkZFUiwgcmIpOworICAgIGdsUmVuZGVyYnVmZmVyU3RvcmFn
ZShHTF9SRU5ERVJCVUZGRVIsIEdMX1JHQkE4LCAxNiwgMTYpOworCisgICAgZ2xGcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDEsIEdMX1JF
TkRFUkJVRkZFUiwgcmIpOworICAgIGdsRHJhd0J1ZmZlcnMoMCwgbnVsbHB0cik7CisgICAgZ2xS
ZWFkQnVmZmVyKEdMX05PTkUpOworCisgICAgQVNTRVJUX0dMX0ZSQU1FQlVGRkVSX0NPTVBMRVRF
KEdMX0ZSQU1FQlVGRkVSKTsKKworICAgIGZsb2F0IGNsZWFyQ29sb3JmWzRdID0gezAuNSwgMC41
LCAwLjUsIDAuNX07CisgICAgZ2xDbGVhckJ1ZmZlcmZ2KEdMX0NPTE9SLCAxLCBjbGVhckNvbG9y
Zik7CisKKyAgICBHTHVpbnQgY2xlYXJDb2xvcnVpWzRdID0gezI1NSwgMjU1LCAyNTUsIDI1NX07
CisgICAgZ2xDbGVhckJ1ZmZlcnVpdihHTF9DT0xPUiwgMSwgY2xlYXJDb2xvcnVpKTsKKworICAg
IEdMaW50IGNsZWFyQ29sb3JpWzRdID0gey0xMjcsIC0xMjcsIC0xMjcsIC0xMjd9OworICAgIGds
Q2xlYXJCdWZmZXJpdihHTF9DT0xPUiwgMSwgY2xlYXJDb2xvcmkpOworCisgICAgRVhQRUNUX0dM
X05PX0VSUk9SKCk7Cit9CisKICNpZmRlZiBCb29sCiAvLyBYMTEgY3JhemluZXNzLgogIyAgICB1
bmRlZiBCb29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
Z2xfdGVzdHMvQ2xpcERpc3RhbmNlVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZ2xfdGVzdHMvQ2xpcERpc3RhbmNlVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2RmNWM5
YWQ3OGJjODM5OTYzYTdjOTA0MGU2YzQ5YjMyN2FiNTAzOQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9DbGlwRGlzdGFuY2VUZXN0
LmNwcApAQCAtMCwwICsxLDM4MyBAQAorLy8KKy8vIENvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQ
cm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3Vy
Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisv
LyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKy8vIENsaXBEaXN0YW5jZVRlc3QuY3Bw
OiBUZXN0IGNhc2VzIGZvciBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlL0dMX0VYVF9jbGlwX2N1bGxf
ZGlzdGFuY2UgZXh0ZW5zaW9uLgorLy8KKworI2luY2x1ZGUgInRlc3RfdXRpbHMvQU5HTEVUZXN0
LmgiCisjaW5jbHVkZSAidGVzdF91dGlscy9nbF9yYWlpLmgiCisjaW5jbHVkZSAidXRpbC9FR0xX
aW5kb3cuaCIKKyNpbmNsdWRlICJ1dGlsL3Rlc3RfdXRpbHMuaCIKKwordXNpbmcgbmFtZXNwYWNl
IGFuZ2xlOworCitjbGFzcyBDbGlwRGlzdGFuY2VUZXN0IDogcHVibGljIEFOR0xFVGVzdAorewor
ICBwcm90ZWN0ZWQ6CisgICAgQ2xpcERpc3RhbmNlVGVzdCgpCisgICAgeworICAgICAgICBzZXRX
aW5kb3dXaWR0aCgxNik7CisgICAgICAgIHNldFdpbmRvd0hlaWdodCgxNik7CisgICAgICAgIHNl
dENvbmZpZ1JlZEJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0dyZWVuQml0cyg4KTsKKyAgICAg
ICAgc2V0Q29uZmlnQmx1ZUJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0FscGhhQml0cyg4KTsK
KyAgICAgICAgc2V0Q29uZmlnRGVwdGhCaXRzKDI0KTsKKyAgICB9Cit9OworCisvLyBRdWVyeSBt
YXggY2xpcCBkaXN0YW5jZXMgYW5kIGVuYWJsZSwgZGlzYWJsZSBzdGF0ZXMgb2YgY2xpcCBkaXN0
YW5jZXMKK1RFU1RfUChDbGlwRGlzdGFuY2VUZXN0LCBTdGF0ZVF1ZXJ5KQoreworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0FQUExFX2NsaXBfZGlzdGFu
Y2UiKSk7CisKKyAgICBHTGludCBtYXhDbGlwRGlzdGFuY2VzID0gMDsKKyAgICBnbEdldEludGVn
ZXJ2KEdMX01BWF9DTElQX0RJU1RBTkNFU19BUFBMRSwgJm1heENsaXBEaXN0YW5jZXMpOworCisg
ICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX0dFKG1heENsaXBEaXN0YW5jZXMs
IDgpOworCisgICAgR0xib29sZWFuIGVuYWJsZWQgPSBnbElzRW5hYmxlZChHTF9DTElQX0RJU1RB
TkNFMV9BUFBMRSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX0VRKGVu
YWJsZWQsIEdMX0ZBTFNFKTsKKworICAgIGdsRW5hYmxlKEdMX0NMSVBfRElTVEFOQ0UxX0FQUExF
KTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICBnbEVuYWJsZShHTF9DTElQX0RJU1RB
TkNFN19BUFBMRSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgZW5hYmxlZCA9IGds
SXNFbmFibGVkKEdMX0NMSVBfRElTVEFOQ0UxX0FQUExFKTsKKyAgICBFWFBFQ1RfRVEoZW5hYmxl
ZCwgR0xfVFJVRSk7CisKKyAgICBnbERpc2FibGUoR0xfQ0xJUF9ESVNUQU5DRTFfQVBQTEUpOwor
ICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIGVuYWJsZWQgPSBnbElzRW5hYmxlZChHTF9D
TElQX0RJU1RBTkNFMV9BUFBMRSk7CisgICAgRVhQRUNUX0VRKGVuYWJsZWQsIEdMX0ZBTFNFKTsK
KworICAgIEVYUEVDVF9FUShnbElzRW5hYmxlZChHTF9DTElQX0RJU1RBTkNFN19BUFBMRSksIEdM
X1RSVUUpOworfQorCisvLyBXcml0ZSB0byBvbmUgZ2xfQ2xpcERpc3RhbmNlIGVsZW1lbnQKK1RF
U1RfUChDbGlwRGlzdGFuY2VUZXN0LCBPbmVDbGlwRGlzdGFuY2UpCit7CisgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfQVBQTEVfY2xpcF9kaXN0YW5jZSIp
KTsKKworICAgIGNvbnN0ZXhwciBjaGFyIGtWU1tdID0gUiIoCisjZXh0ZW5zaW9uIEdMX0FQUExF
X2NsaXBfZGlzdGFuY2UgOiByZXF1aXJlCisKK3VuaWZvcm0gdmVjNCB1X3BsYW5lOworCithdHRy
aWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9u
ID0gdmVjNChhX3Bvc2l0aW9uLCAwLjAsIDEuMCk7CisKKyAgICBnbF9DbGlwRGlzdGFuY2VbMF0g
PSBkb3QoZ2xfUG9zaXRpb24sIHVfcGxhbmUpOworfSkiOworCisgICAgQU5HTEVfR0xfUFJPR1JB
TShwcm9ncmFtUmVkLCBrVlMsIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CisgICAgZ2xMaW5r
UHJvZ3JhbShwcm9ncmFtUmVkKTsKKyAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbVJlZCk7CisgICAg
QVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBnbEVuYWJsZShHTF9DTElQX0RJU1RBTkNFMF9B
UFBMRSk7CisKKyAgICAvLyBDbGVhciB0byBibHVlCisgICAgZ2xDbGVhckNvbG9yKDAsIDAsIDEs
IDEpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBEcmF3IGZ1
bGwgc2NyZWVuIHF1YWQgd2l0aCBjb2xvciByZWQKKyAgICBnbFVuaWZvcm00ZihnbEdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtUmVkLCAidV9wbGFuZSIpLCAxLCAwLCAwLCAwLjUpOworICAgIEVY
UEVDVF9HTF9OT19FUlJPUigpOworICAgIGRyYXdRdWFkKHByb2dyYW1SZWQsICJhX3Bvc2l0aW9u
IiwgMCk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyBBbGwgcGl4ZWxzIG9u
IHRoZSBsZWZ0IG9mIHRoZSBwbGFuZSB4ID0gLTAuNSBtdXN0IGJlIGJsdWUKKyAgICBmb3IgKGlu
dCB4ID0gMDsgeCA8IGdldFdpbmRvd1dpZHRoKCkgLyA0IC0gMTsgKyt4KQorICAgIHsKKyAgICAg
ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQoKTsgKyt5KQorICAgICAgICB7
CisgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoeCwgeSwgR0xDb2xvcjo6Ymx1ZSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBBbGwgcGl4ZWxzIG9uIHRoZSByaWdodCBvZiB0
aGUgcGxhbmUgeCA9IC0wLjUgbXVzdCBiZSByZWQKKyAgICBmb3IgKGludCB4ID0gZ2V0V2luZG93
V2lkdGgoKSAvIDQgKyAyOyB4IDwgZ2V0V2luZG93V2lkdGgoKTsgKyt4KQorICAgIHsKKyAgICAg
ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQoKTsgKyt5KQorICAgICAgICB7
CisgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoeCwgeSwgR0xDb2xvcjo6cmVkKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIC8vIENsZWFyIHRvIGdyZWVuCisgICAgZ2xDbGVhckNv
bG9yKDAsIDEsIDAsIDEpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAg
ICAvLyBEcmF3IGZ1bGwgc2NyZWVuIHF1YWQgd2l0aCBjb2xvciByZWQKKyAgICBnbFVuaWZvcm00
ZihnbEdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUmVkLCAidV9wbGFuZSIpLCAtMSwgMCwgMCwg
LTAuNSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgZHJhd1F1YWQocHJvZ3JhbVJl
ZCwgImFfcG9zaXRpb24iLCAwKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8v
IEFsbCBwaXhlbHMgb24gdGhlIGxlZnQgb2YgdGhlIHBsYW5lIHggPSAtMC41IG11c3QgYmUgcmVk
CisgICAgZm9yIChpbnQgeCA9IDA7IHggPCBnZXRXaW5kb3dXaWR0aCgpIC8gNCAtIDE7ICsreCkK
KyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgZ2V0V2luZG93SGVpZ2h0KCk7ICsr
eSkKKyAgICAgICAgeworICAgICAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHgsIHksIEdM
Q29sb3I6OnJlZCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBBbGwgcGl4ZWxzIG9uIHRo
ZSByaWdodCBvZiB0aGUgcGxhbmUgeCA9IC0wLjUgbXVzdCBiZSBncmVlbgorICAgIGZvciAoaW50
IHggPSBnZXRXaW5kb3dXaWR0aCgpIC8gNCArIDI7IHggPCBnZXRXaW5kb3dXaWR0aCgpOyArK3gp
CisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGdldFdpbmRvd0hlaWdodCgpOyAr
K3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSh4LCB5LCBH
TENvbG9yOjpncmVlbik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBEaXNhYmxlIEdMX0NM
SVBfRElTVEFOQ0UKKyAgICBnbERpc2FibGUoR0xfQ0xJUF9ESVNUQU5DRTBfQVBQTEUpOworICAg
IGRyYXdRdWFkKHByb2dyYW1SZWQsICJhX3Bvc2l0aW9uIiwgMCk7CisKKyAgICAvLyBBbGwgcGl4
ZWxzIG11c3QgYmUgcmVkCisgICAgZm9yIChpbnQgeCA9IDA7IHggPCBnZXRXaW5kb3dXaWR0aCgp
OyArK3gpCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGdldFdpbmRvd0hlaWdo
dCgpOyArK3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSh4
LCB5LCBHTENvbG9yOjpyZWQpOworICAgICAgICB9CisgICAgfQorfQorCisvLyBXcml0ZSB0byAz
IGNsaXAgZGlzdGFuY2VzCitURVNUX1AoQ2xpcERpc3RhbmNlVGVzdCwgVGhyZWVDbGlwRGlzdGFu
Y2VzKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdM
X0FQUExFX2NsaXBfZGlzdGFuY2UiKSk7CisKKyAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9IFIi
KAorI2V4dGVuc2lvbiBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlIDogcmVxdWlyZQorCit1bmlmb3Jt
IHZlYzQgdV9wbGFuZVszXTsKKworYXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsKKwordm9pZCBt
YWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbiwgMC4wLCAxLjApOwor
CisgICAgZ2xfQ2xpcERpc3RhbmNlWzBdID0gZG90KGdsX1Bvc2l0aW9uLCB1X3BsYW5lWzBdKTsK
KyAgICBnbF9DbGlwRGlzdGFuY2VbM10gPSBkb3QoZ2xfUG9zaXRpb24sIHVfcGxhbmVbMV0pOwor
ICAgIGdsX0NsaXBEaXN0YW5jZVs3XSA9IGRvdChnbF9Qb3NpdGlvbiwgdV9wbGFuZVsyXSk7Cit9
KSI7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW1SZWQsIGtWUywgZXNzbDFfc2hhZGVy
czo6ZnM6OlJlZCgpKTsKKyAgICBnbExpbmtQcm9ncmFtKHByb2dyYW1SZWQpOworICAgIGdsVXNl
UHJvZ3JhbShwcm9ncmFtUmVkKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIC8v
IEVuYWJsZSAzIGNsaXAgZGlzdGFuY2VzCisgICAgZ2xFbmFibGUoR0xfQ0xJUF9ESVNUQU5DRTBf
QVBQTEUpOworICAgIGdsRW5hYmxlKEdMX0NMSVBfRElTVEFOQ0UzX0FQUExFKTsKKyAgICBnbEVu
YWJsZShHTF9DTElQX0RJU1RBTkNFN19BUFBMRSk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7
CisKKyAgICAvLyBDbGVhciB0byBibHVlCisgICAgZ2xDbGVhckNvbG9yKDAsIDAsIDEsIDEpOwor
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBEcmF3IGZ1bGwgc2Ny
ZWVuIHF1YWQgd2l0aCBjb2xvciByZWQKKyAgICAvLyB4ID0gLTAuNQorICAgIGdsVW5pZm9ybTRm
KGdsR2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1SZWQsICJ1X3BsYW5lWzBdIiksIDEsIDAsIDAs
IDAuNSk7CisgICAgLy8geCA9IDAuNQorICAgIGdsVW5pZm9ybTRmKGdsR2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW1SZWQsICJ1X3BsYW5lWzFdIiksIC0xLCAwLCAwLCAwLjUpOworICAgIC8vIHgg
KyB5ID0gMQorICAgIGdsVW5pZm9ybTRmKGdsR2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1SZWQs
ICJ1X3BsYW5lWzJdIiksIC0xLCAtMSwgMCwgMSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7
CisgICAgZHJhd1F1YWQocHJvZ3JhbVJlZCwgImFfcG9zaXRpb24iLCAwKTsKKyAgICBFWFBFQ1Rf
R0xfTk9fRVJST1IoKTsKKworICAgIC8vIEFsbCBwaXhlbHMgb24gdGhlIGxlZnQgb2YgdGhlIHBs
YW5lIHggPSAtMC41IG11c3QgYmUgYmx1ZQorICAgIGZvciAoaW50IHggPSAwOyB4IDwgZ2V0V2lu
ZG93V2lkdGgoKSAvIDQgLSAxOyArK3gpCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsg
eSA8IGdldFdpbmRvd0hlaWdodCgpOyArK3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVD
VF9QSVhFTF9DT0xPUl9FUSh4LCB5LCBHTENvbG9yOjpibHVlKTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIC8vIEFsbCBwaXhlbHMgb24gdGhlIHJpZ2h0IG9mIHRoZSBwbGFuZSB4ID0gLTAuNSBt
dXN0IGJlIHJlZCwgZXhjZXB0IHRob3NlIGluIHRoZSB1cHBlciByaWdodAorICAgIC8vIHRyaWFu
Z2xlCisgICAgZm9yIChpbnQgeCA9IGdldFdpbmRvd1dpZHRoKCkgLyA0ICsgMjsgeCA8IGdldFdp
bmRvd1dpZHRoKCkgLyAyOyArK3gpCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8
IGdldFdpbmRvd0hlaWdodCgpOyArK3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9Q
SVhFTF9DT0xPUl9FUSh4LCB5LCBHTENvbG9yOjpyZWQpOworICAgICAgICB9CisgICAgfQorCisg
ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQoKTsgKyt5KQorICAgIHsKKyAg
ICAgICAgZm9yIChpbnQgeCA9IGdldFdpbmRvd1dpZHRoKCkgLyAyOyB4IDwgZ2V0V2luZG93V2lk
dGgoKTsgKyt4KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoeCA8IGdldFdpbmRvd1dpZHRo
KCkgKiAzIC8gMiAtIHkgLSAxICYmIHggPCBnZXRXaW5kb3dXaWR0aCgpICogMyAvIDQgLSAxKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8vIGJvdHRvbSBsZWZ0IHRyaWFuZ2xlIGNs
aXBwZWQgYnkgeD0wLjUgcGxhbmUKKyAgICAgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1Jf
RVEoeCwgeSwgR0xDb2xvcjo6cmVkKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2Ug
aWYgKHggPiBnZXRXaW5kb3dXaWR0aCgpICogMyAvIDIgLSB5ICsgMSB8fCB4ID4gZ2V0V2luZG93
V2lkdGgoKSAqIDMgLyA0ICsgMSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyB1
cHBlciByaWdodCB0cmlhbmdsZSBwbHVzIHJpZ2h0IG9mIHg9MC41IHBsYW5lCisgICAgICAgICAg
ICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHgsIHksIEdMQ29sb3I6OmJsdWUpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gQ2xlYXIgdG8gZ3JlZW4KKyAgICBn
bENsZWFyQ29sb3IoMCwgMSwgMCwgMSk7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklU
KTsKKworICAgIC8vIERpc2FibGUgZ2xfQ2xpcERpc3RhbmNlWzNdCisgICAgZ2xEaXNhYmxlKEdM
X0NMSVBfRElTVEFOQ0UzX0FQUExFKTsKKworICAgIC8vIERyYXcgZnVsbCBzY3JlZW4gcXVhZCB3
aXRoIGNvbG9yIHJlZAorICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIGRyYXdRdWFkKHBy
b2dyYW1SZWQsICJhX3Bvc2l0aW9uIiwgMCk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisK
KyAgICAvLyBBbGwgcGl4ZWxzIG9uIHRoZSBsZWZ0IG9mIHRoZSBwbGFuZSB4ID0gLTAuNSBtdXN0
IGJlIGdyZWVuCisgICAgZm9yIChpbnQgeCA9IDA7IHggPCBnZXRXaW5kb3dXaWR0aCgpIC8gNCAt
IDE7ICsreCkKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgZ2V0V2luZG93SGVp
Z2h0KCk7ICsreSkKKyAgICAgICAgeworICAgICAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VR
KHgsIHksIEdMQ29sb3I6OmdyZWVuKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIEFsbCBw
aXhlbHMgb24gdGhlIHJpZ2h0IG9mIHRoZSBwbGFuZSB4ID0gLTAuNSBtdXN0IGJlIHJlZCwgZXhj
ZXB0IHRob3NlIGluIHRoZSB1cHBlciByaWdodAorICAgIC8vIHRyaWFuZ2xlCisgICAgZm9yIChp
bnQgeCA9IGdldFdpbmRvd1dpZHRoKCkgLyA0ICsgMjsgeCA8IGdldFdpbmRvd1dpZHRoKCkgLyAy
OyArK3gpCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGdldFdpbmRvd0hlaWdo
dCgpOyArK3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSh4
LCB5LCBHTENvbG9yOjpyZWQpOworICAgICAgICB9CisgICAgfQorCisgICAgZm9yIChpbnQgeSA9
IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQoKTsgKyt5KQorICAgIHsKKyAgICAgICAgZm9yIChpbnQg
eCA9IGdldFdpbmRvd1dpZHRoKCkgLyAyOyB4IDwgZ2V0V2luZG93V2lkdGgoKTsgKyt4KQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoeCA8IGdldFdpbmRvd1dpZHRoKCkgKiAzIC8gMiAtIHkg
LSAxKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8vIGJvdHRvbSBsZWZ0IHRyaWFu
Z2xlCisgICAgICAgICAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHgsIHksIEdMQ29sb3I6
OnJlZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICh4ID4gZ2V0V2luZG93
V2lkdGgoKSAqIDMgLyAyIC0geSArIDEpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Ly8gdXBwZXIgcmlnaHQgdHJpYW5nbGUKKyAgICAgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09M
T1JfRVEoeCwgeSwgR0xDb2xvcjo6Z3JlZW4pOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorfQorCisvLyBSZWRlY2xhcmUgZ2xfQ2xpcERpc3RhbmNlIGluIHNoYWRlciB3aXRoIGV4
cGxpdGNpdCBzaXplLCBhbHNvIHVzZSBpdCBpbiBhIGdsb2JhbCBmdW5jdGlvbgorLy8gb3V0c2lk
ZSBtYWluKCkKK1RFU1RfUChDbGlwRGlzdGFuY2VUZXN0LCBUaHJlZUNsaXBEaXN0YW5jZXNSZWRl
Y2xhcmVkKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQo
IkdMX0FQUExFX2NsaXBfZGlzdGFuY2UiKSk7CisKKyAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9
IFIiKAorI2V4dGVuc2lvbiBHTF9BUFBMRV9jbGlwX2Rpc3RhbmNlIDogcmVxdWlyZQorCit2YXJ5
aW5nIGhpZ2hwIGZsb2F0IGdsX0NsaXBEaXN0YW5jZVszXTsKKwordm9pZCBjb21wdXRlQ2xpcERp
c3RhbmNlcyhpbiB2ZWM0IHBvc2l0aW9uLCBpbiB2ZWM0IHBsYW5lWzNdKQoreworICAgIGdsX0Ns
aXBEaXN0YW5jZVswXSA9IGRvdChwb3NpdGlvbiwgcGxhbmVbMF0pOworICAgIGdsX0NsaXBEaXN0
YW5jZVsxXSA9IGRvdChwb3NpdGlvbiwgcGxhbmVbMV0pOworICAgIGdsX0NsaXBEaXN0YW5jZVsy
XSA9IGRvdChwb3NpdGlvbiwgcGxhbmVbMl0pOworfQorCit1bmlmb3JtIHZlYzQgdV9wbGFuZVsz
XTsKKworYXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsKKwordm9pZCBtYWluKCkKK3sKKyAgICBn
bF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbiwgMC4wLCAxLjApOworCisgICAgY29tcHV0ZUNs
aXBEaXN0YW5jZXMoZ2xfUG9zaXRpb24sIHVfcGxhbmUpOworfSkiOworCisgICAgQU5HTEVfR0xf
UFJPR1JBTShwcm9ncmFtUmVkLCBrVlMsIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CisgICAg
Z2xMaW5rUHJvZ3JhbShwcm9ncmFtUmVkKTsKKyAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbVJlZCk7
CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyBFbmFibGUgMyBjbGlwIGRpc3Rh
bmNlcworICAgIGdsRW5hYmxlKEdMX0NMSVBfRElTVEFOQ0UwX0FQUExFKTsKKyAgICBnbEVuYWJs
ZShHTF9DTElQX0RJU1RBTkNFMV9BUFBMRSk7CisgICAgZ2xFbmFibGUoR0xfQ0xJUF9ESVNUQU5D
RTJfQVBQTEUpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gQ2xlYXIgdG8g
Ymx1ZQorICAgIGdsQ2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICBnbENsZWFyKEdMX0NPTE9S
X0JVRkZFUl9CSVQpOworCisgICAgLy8gRHJhdyBmdWxsIHNjcmVlbiBxdWFkIHdpdGggY29sb3Ig
cmVkCisgICAgLy8geCA9IC0wLjUKKyAgICBnbFVuaWZvcm00ZihnbEdldFVuaWZvcm1Mb2NhdGlv
bihwcm9ncmFtUmVkLCAidV9wbGFuZVswXSIpLCAxLCAwLCAwLCAwLjUpOworICAgIC8vIHggPSAw
LjUKKyAgICBnbFVuaWZvcm00ZihnbEdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUmVkLCAidV9w
bGFuZVsxXSIpLCAtMSwgMCwgMCwgMC41KTsKKyAgICAvLyB4ICsgeSA9IDEKKyAgICBnbFVuaWZv
cm00ZihnbEdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUmVkLCAidV9wbGFuZVsyXSIpLCAtMSwg
LTEsIDAsIDEpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIGRyYXdRdWFkKHByb2dy
YW1SZWQsICJhX3Bvc2l0aW9uIiwgMCk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAg
ICAvLyBBbGwgcGl4ZWxzIG9uIHRoZSBsZWZ0IG9mIHRoZSBwbGFuZSB4ID0gLTAuNSBtdXN0IGJl
IGJsdWUKKyAgICBmb3IgKGludCB4ID0gMDsgeCA8IGdldFdpbmRvd1dpZHRoKCkgLyA0IC0gMTsg
Kyt4KQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQo
KTsgKyt5KQorICAgICAgICB7CisgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoeCwg
eSwgR0xDb2xvcjo6Ymx1ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBBbGwgcGl4ZWxz
IG9uIHRoZSByaWdodCBvZiB0aGUgcGxhbmUgeCA9IC0wLjUgbXVzdCBiZSByZWQsIGV4Y2VwdCB0
aG9zZSBpbiB0aGUgdXBwZXIgcmlnaHQKKyAgICAvLyB0cmlhbmdsZQorICAgIGZvciAoaW50IHgg
PSBnZXRXaW5kb3dXaWR0aCgpIC8gNCArIDI7IHggPCBnZXRXaW5kb3dXaWR0aCgpIC8gMjsgKyt4
KQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBnZXRXaW5kb3dIZWlnaHQoKTsg
Kyt5KQorICAgICAgICB7CisgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoeCwgeSwg
R0xDb2xvcjo6cmVkKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAoaW50IHkgPSAwOyB5
IDwgZ2V0V2luZG93SGVpZ2h0KCk7ICsreSkKKyAgICB7CisgICAgICAgIGZvciAoaW50IHggPSBn
ZXRXaW5kb3dXaWR0aCgpIC8gMjsgeCA8IGdldFdpbmRvd1dpZHRoKCk7ICsreCkKKyAgICAgICAg
eworICAgICAgICAgICAgaWYgKHggPCBnZXRXaW5kb3dXaWR0aCgpICogMyAvIDIgLSB5IC0gMSAm
JiB4IDwgZ2V0V2luZG93V2lkdGgoKSAqIDMgLyA0IC0gMSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAvLyBib3R0b20gbGVmdCB0cmlhbmdsZSBjbGlwcGVkIGJ5IHg9MC41IHBsYW5l
CisgICAgICAgICAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHgsIHksIEdMQ29sb3I6OnJl
ZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICh4ID4gZ2V0V2luZG93V2lk
dGgoKSAqIDMgLyAyIC0geSArIDEgfHwgeCA+IGdldFdpbmRvd1dpZHRoKCkgKiAzIC8gNCArIDEp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gdXBwZXIgcmlnaHQgdHJpYW5nbGUg
cGx1cyByaWdodCBvZiB4PTAuNSBwbGFuZQorICAgICAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9D
T0xPUl9FUSh4LCB5LCBHTENvbG9yOjpibHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KK30KKworLy8gVXNlIHRoaXMgdG8gc2VsZWN0IHdoaWNoIGNvbmZpZ3VyYXRpb25zIChl
LmcuIHdoaWNoIHJlbmRlcmVyLCB3aGljaCBHTEVTIG1ham9yIHZlcnNpb24pIHRoZXNlCisvLyB0
ZXN0cyBzaG91bGQgYmUgcnVuIGFnYWluc3QuCitBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMl9B
TkRfRVMzKENsaXBEaXN0YW5jZVRlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0NvbXB1dGVTaGFkZXJUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Db21wdXRlU2hhZGVyVGVzdC5jcHAK
aW5kZXggNGNjNTY4YmY2NmQxY2E0NjJlY2Q5MTViMzAxMDhkODQ1MmYwZDUyYy4uNGU0MWQyODIx
YWYzNDI2OGE2Y2MwMDJmN2VjY2ZiODFhNzM1ZTQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0NvbXB1dGVTaGFkZXJUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQ29tcHV0ZVNoYWRl
clRlc3QuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBtYWluKCkKIAogICAgIGdsVXNlUHJv
Z3JhbShwcm9ncmFtKTsKICAgICBnbERyYXdBcnJheXMoR0xfUE9JTlRTLCAwLCAyKTsKLSAgICBF
WFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOworICAgIEVYUEVDVF9HTF9OT19F
UlJPUigpOwogfQogCiAvLyBBdHRhY2ggYSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlciBhbmQg
bGluaywgYnV0IGRpc3BhdGNoIGNvbXB1dGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQ29weVRleEltYWdlVGVzdC5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQ29weVRleEltYWdlVGVzdC5jcHAK
aW5kZXggZWRiYTRlNjU1MzFiYjY3MzEwOWJmOGQ2MDI3MWYwZWY5MTJlNGE1Zi4uMTYwN2JjOWUx
NGZmMDI3ZmVhZTg3MjNkMzhkNWZmNGQ3ODYxNmQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0NvcHlUZXhJbWFnZVRlc3QuY3BwCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Db3B5VGV4SW1hZ2VU
ZXN0LmNwcApAQCAtNjMwLDYgKzYzMCw0MyBAQCBURVNUX1AoQ29weVRleEltYWdlVGVzdEVTMywg
MkRBcnJheVN1YkltYWdlKQogICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBUZXN0
IGlmIGdsQ29weVRleEltYWdlMkQoKSBpbXBsZW1lbnRhdGlvbiBwZXJmb3JtcyBjb252ZXJzaW9u
cyB3ZWxsIGZyb20gR0xfVEVYVFVSRV8zRCB0bworLy8gR0xfVEVYVFVSRV8yRC4KK1RFU1RfUChD
b3B5VGV4SW1hZ2VUZXN0RVMzLCBDb3B5VGV4U3ViSW1hZ2VGcm9tVGV4dHVyZTNEKQoreworICAg
IC8vIFRPRE8oYW5nbGVidWcuY29tLzM4MDEpCisgICAgLy8gU2VlbXMgdG8gZmFpbCBvbiBEM0Qx
MSBXaW5kb3dzLgorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJc0QzRDExKCkgJiBJc1dpbmRvd3Mo
KSk7CisKKyAgICBjb25zdGV4cHIgR0xzaXplaSBrVGV4U2l6ZSA9IDQ7CisgICAgY29uc3RleHBy
IEdMc2l6ZWkga0xheWVycyAgPSAyOworICAgIHN0ZDo6dmVjdG9yPEdMQ29sb3I+IHJlZChrVGV4
U2l6ZSAqIGtUZXhTaXplICoga0xheWVycywgR0xDb2xvcjo6cmVkKTsKKworICAgIEdMRnJhbWVi
dWZmZXIgZmJvOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX1JFQURfRlJBTUVCVUZGRVIsIGZi
byk7CisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCAwKTsKKworICAgIC8vIFdlIHdp
bGwgYmUgcmVhZGluZyBmcm9tIHplcm90aCBjb2xvciBhdHRhY2htZW50LgorICAgIGdsUmVhZEJ1
ZmZlcihHTF9DT0xPUl9BVFRBQ0hNRU5UMCk7CisKKyAgICBHTFRleHR1cmUgc3JjX29iamVjdF9p
ZDsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfM0QsIHNyY19vYmplY3RfaWQpOworICAg
IGdsVGV4SW1hZ2UzRChHTF9URVhUVVJFXzNELCAwLCBHTF9SR0JBOCwga1RleFNpemUsIGtUZXhT
aXplLCBrTGF5ZXJzLCAwLCBHTF9SR0JBLAorICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9C
WVRFLCBOVUxMKTsKKyAgICBnbFRleFN1YkltYWdlM0QoR0xfVEVYVFVSRV8zRCwgMCwgMCwgMCwg
MSwga1RleFNpemUsIGtUZXhTaXplLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLAorICAg
ICAgICAgICAgICAgICAgICByZWQuZGF0YSgpKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZUxh
eWVyKEdMX1JFQURfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBzcmNfb2JqZWN0
X2lkLCAwLCAxKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIEdMVGV4dHVyZSBk
c3Rfb2JqZWN0X2lkOworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgZHN0X29iamVj
dF9pZCk7CisgICAgZ2xDb3B5VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBOCwg
MCwgMCwga1RleFNpemUsIGtUZXhTaXplLCAwKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJE
KEdMX1JFQURfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJE
LCBkc3Rfb2JqZWN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7CisgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgQVNTRVJUX0dMX05P
X0VSUk9SKCk7Cit9CisKIC8vIEluaXRpYWxpemUgdGhlIDNEIHRleHR1cmUgd2Ugd2lsbCBjb3B5
IHRoZSBzdWJJbWFnZSBkYXRhIGludG8KIHZvaWQgQ29weVRleEltYWdlVGVzdEVTMzo6aW5pdGlh
bGl6ZTNEVGV4dHVyZShHTFRleHR1cmUgJnRleHR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xzaXplaSBpbWFnZVdpZHRoLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0RlcHRoU3Rl
bmNpbEZvcm1hdHNUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9n
bF90ZXN0cy9EZXB0aFN0ZW5jaWxGb3JtYXRzVGVzdC5jcHAKaW5kZXggYTQ5NmUwZTg5NzA0ODU2
NTZkZTExM2JjMDUzZmQ5ZDdkM2ZkMWM5MS4uZjM3OGY0MzdiOThlMmEyNGJmYjI1NzQ0Y2ZmODY2
NzM5OWM3MDU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2dsX3Rlc3RzL0RlcHRoU3RlbmNpbEZvcm1hdHNUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvRGVwdGhTdGVuY2lsRm9ybWF0c1Rlc3QuY3Bw
CkBAIC0xMiw2ICsxMiwxNiBAQAogCiB1c2luZyBuYW1lc3BhY2UgYW5nbGU7CiAKK3N0cnVjdCBS
ZWFkYmFja1Rlc3RQYXJhbQoreworICAgIEdMdWludCBhdHRhY2htZW50OworICAgIEdMdWludCBm
b3JtYXQ7CisgICAgR0x1aW50IHR5cGU7CisgICAgdm9pZCAqZGF0YTsKKyAgICBpbnQgZGVwdGhC
aXRzOworICAgIGludCBzdGVuY2lsQml0czsKK307CisKIGNsYXNzIERlcHRoU3RlbmNpbEZvcm1h
dHNUZXN0QmFzZSA6IHB1YmxpYyBBTkdMRVRlc3QKIHsKICAgcHJvdGVjdGVkOgpAQCAtMTYwLDYg
KzE3MCwxNCBAQCB2b2lkIG1haW4oKQogICAgICAgICBnbERlbGV0ZVRleHR1cmVzKDEsICZtVGV4
dHVyZSk7CiAgICAgfQogCisgICAgYm9vbCBoYXNSZWFkRGVwdGhTdXBwb3J0KCkgY29uc3QgeyBy
ZXR1cm4gSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX05WX3JlYWRfZGVwdGgiKTsgfQorCisgICAg
Ym9vbCBoYXNSZWFkU3RlbmNpbFN1cHBvcnQoKSBjb25zdCB7IHJldHVybiBJc0dMRXh0ZW5zaW9u
RW5hYmxlZCgiR0xfTlZfcmVhZF9zdGVuY2lsIik7IH0KKworICAgIGJvb2wgaGFzRmxvYXREZXB0
aFN1cHBvcnQoKSBjb25zdCB7IHJldHVybiBJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfTlZfZGVw
dGhfYnVmZmVyX2Zsb2F0MiIpOyB9CisKKyAgICB2b2lkIGRlcHRoU3RlbmNpbFJlYWRiYWNrQ2Fz
ZShjb25zdCBSZWFkYmFja1Rlc3RQYXJhbSAmdHlwZSk7CisKICAgICBHTHVpbnQgbVByb2dyYW07
CiAgICAgR0x1aW50IG1UZXh0dXJlOwogICAgIEdMaW50IG1UZXh0dXJlVW5pZm9ybUxvY2F0aW9u
OwpAQCAtMjE0LDYgKzIzMiwyMTYgQEAgVEVTVF9QKERlcHRoU3RlbmNpbEZvcm1hdHNUZXN0LCBQ
YWNrZWREZXB0aFN0ZW5jaWwpCiAgICAgfQogfQogCit2b2lkIERlcHRoU3RlbmNpbEZvcm1hdHNU
ZXN0QmFzZTo6ZGVwdGhTdGVuY2lsUmVhZGJhY2tDYXNlKGNvbnN0IFJlYWRiYWNrVGVzdFBhcmFt
ICZ0eXBlKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQo
IkdMX09FU19kZXB0aF90ZXh0dXJlIikpOworCisgICAgY29uc3QgYm9vbCBoYXNGbG9hdERlcHRo
ID0gKHR5cGUudHlwZSA9PSBHTF9GTE9BVCk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGhhc0Zs
b2F0RGVwdGggJiYgIWhhc0Zsb2F0RGVwdGhTdXBwb3J0KCkpOworCisgICAgY29uc3QgYm9vbCBo
YXNTdGVuY2lsID0gKHR5cGUuZm9ybWF0ICE9IEdMX0RFUFRIX0NPTVBPTkVOVCk7CisKKyAgICBj
b25zdCBib29sIHN1cHBvcnRQYWNrZWREZXB0aFN0ZW5jaWxGcmFtZWJ1ZmZlciA9IGdldENsaWVu
dE1ham9yVmVyc2lvbigpID49IDM7CisKKyAgICBjb25zdCBpbnQgcmVzICAgICA9IDI7CisgICAg
Y29uc3QgaW50IGRlc3RSZXMgPSA0OworCisgICAgR0xUZXh0dXJlIHRleDsKKyAgICBnbEJpbmRU
ZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRV
UkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9TLCBHTF9DTEFNUF9UT19FREdFKTsKKyAgICBnbFRleFBh
cmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1QsIEdMX0NMQU1QX1RPX0VE
R0UpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9G
SUxURVIsIEdMX05FQVJFU1QpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBH
TF9URVhUVVJFX01BR19GSUxURVIsIEdMX05FQVJFU1QpOworCisgICAgLy8gdGVzdCBsZXZlbCA+
IDAKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMSwgdHlwZS5mb3JtYXQsIDEsIDEs
IDAsIHR5cGUuZm9ybWF0LCB0eXBlLnR5cGUsIG51bGxwdHIpOworICAgIEVYUEVDVF9HTF9OT19F
UlJPUigpOworCisgICAgLy8gdGVzdCB3aXRoIGRhdGEKKyAgICBnbFRleEltYWdlMkQoR0xfVEVY
VFVSRV8yRCwgMCwgdHlwZS5mb3JtYXQsIDEsIDEsIDAsIHR5cGUuZm9ybWF0LCB0eXBlLnR5cGUs
IHR5cGUuZGF0YSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyB0ZXN0IHJl
YWwgdGhpbmcKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdHlwZS5mb3JtYXQs
IHJlcywgcmVzLCAwLCB0eXBlLmZvcm1hdCwgdHlwZS50eXBlLCBudWxscHRyKTsKKyAgICBFWFBF
Q1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIHRlc3QgdGV4U3ViSW1hZ2UyRAorICAgIGdsVGV4
U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCAwLCAwLCAxLCAxLCB0eXBlLmZvcm1hdCwgdHlw
ZS50eXBlLCB0eXBlLmRhdGEpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgR0x1
aW50IGZibyA9IDA7CisgICAgZ2xHZW5GcmFtZWJ1ZmZlcnMoMSwgJmZibyk7CisgICAgZ2xCaW5k
RnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZibyk7CisgICAgaWYgKHR5cGUuZGVwdGhCaXRz
ID4gMCAmJiB0eXBlLnN0ZW5jaWxCaXRzID4gMCAmJiAhc3VwcG9ydFBhY2tlZERlcHRoU3RlbmNp
bEZyYW1lYnVmZmVyKQorICAgIHsKKyAgICAgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9G
UkFNRUJVRkZFUiwgR0xfREVQVEhfQVRUQUNITUVOVCwgR0xfVEVYVFVSRV8yRCwgdGV4LCAwKTsK
KyAgICAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgICAgIGdsRnJhbWVidWZmZXJUZXh0
dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX1NURU5DSUxfQVRUQUNITUVOVCwgR0xfVEVYVFVSRV8y
RCwgdGV4LCAwKTsKKyAgICAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgfQorICAgIGVs
c2UKKyAgICB7CisgICAgICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIs
IHR5cGUuYXR0YWNobWVudCwgR0xfVEVYVFVSRV8yRCwgdGV4LCAwKTsKKyAgICAgICAgRVhQRUNU
X0dMX05PX0VSUk9SKCk7CisgICAgfQorCisgICAgLy8gRW5zdXJlIERFUFRIX0JJVFMgcmV0dXJu
cyA+PSAxNiBiaXRzIGZvciBVTlNJR05FRF9TSE9SVCBhbmQgVU5TSUdORURfSU5ULCA+PSAyNAor
ICAgIC8vIFVOU0lHTkVEX0lOVF8yNF84X1dFQkdMLiBJZiB0aGVyZSBpcyBzdGVuY2lsLCBlbnN1
cmUgU1RFTkNJTF9CSVRTIHJlcG9ydHMgPj0gOCBmb3IKKyAgICAvLyBVTlNJR05FRF9JTlRfMjRf
OF9XRUJHTC4KKworICAgIEdMaW50IGRlcHRoQml0cyA9IDA7CisgICAgZ2xHZXRJbnRlZ2VydihH
TF9ERVBUSF9CSVRTLCAmZGVwdGhCaXRzKTsKKyAgICBFWFBFQ1RfR0UoZGVwdGhCaXRzLCB0eXBl
LmRlcHRoQml0cyk7CisKKyAgICBHTGludCBzdGVuY2lsQml0cyA9IDA7CisgICAgZ2xHZXRJbnRl
Z2VydihHTF9TVEVOQ0lMX0JJVFMsICZzdGVuY2lsQml0cyk7CisgICAgRVhQRUNUX0dFKHN0ZW5j
aWxCaXRzLCB0eXBlLnN0ZW5jaWxCaXRzKTsKKworICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGNo
ZWNrIGlmIHRoZSBzcGVjIGlzIHVwZGF0ZWQgdG8gcmVxdWlyZSB0aGVzZSBjb21iaW5hdGlvbnMg
dG8gd29yay4KKyAgICBpZiAoZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZSQU1FQlVGRkVS
KSAhPSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkKKyAgICB7CisgICAgICAgIC8vIHRyeSBhZGRp
bmcgYSBjb2xvciBidWZmZXIuCisgICAgICAgIEdMdWludCBjb2xvclRleCA9IDA7CisgICAgICAg
IGdsR2VuVGV4dHVyZXMoMSwgJmNvbG9yVGV4KTsKKyAgICAgICAgZ2xCaW5kVGV4dHVyZShHTF9U
RVhUVVJFXzJELCBjb2xvclRleCk7CisgICAgICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJF
XzJELCBHTF9URVhUVVJFX1dSQVBfUywgR0xfQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsVGV4
UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVBfVE9f
RURHRSk7CisgICAgICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJF
X01JTl9GSUxURVIsIEdMX0xJTkVBUik7CisgICAgICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhU
VVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7CisgICAgICAgIGdsVGV4
SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCByZXMsIHJlcywgMCwgR0xfUkdCQSwg
R0xfVU5TSUdORURfQllURSwgbnVsbHB0cik7CisgICAgICAgIGdsRnJhbWVidWZmZXJUZXh0dXJl
MkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJELCBj
b2xvclRleCwgMCk7CisgICAgICAgIEVYUEVDVF9HTEVOVU1fRVEoR0xfRlJBTUVCVUZGRVJfQ09N
UExFVEUsIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikpOworICAgIH0K
KworICAgIEVYUEVDVF9HTEVOVU1fRVEoR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUsIGdsQ2hlY2tG
cmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikpOworCisgICAgLy8gdXNlIHRoZSBkZWZh
dWx0IHRleHR1cmUgdG8gcmVuZGVyIHdpdGggd2hpbGUgd2UgcmV0dXJuIHRvIHRoZSBkZXB0aCB0
ZXh0dXJlLgorICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgMCk7CisKKyAgICAvKiBT
ZXR1cCAyeDIgZGVwdGggdGV4dHVyZToKKyAgICAgKiAxIDAuNiAwLjgKKyAgICAgKiB8CisgICAg
ICogMCAwLjIgMC40CisgICAgICogICAgMC0tLTEKKyAgICAgKi8KKyAgICBHTGJpdGZpZWxkIGNs
ZWFyQml0cyA9IEdMX0RFUFRIX0JVRkZFUl9CSVQ7CisgICAgaWYgKGhhc1N0ZW5jaWwpCisgICAg
eworICAgICAgICBjbGVhckJpdHMgfD0gR0xfU1RFTkNJTF9CVUZGRVJfQklUOworICAgIH0KKwor
ICAgIGNvbnN0IEdMZmxvYXQgZDAwID0gMC4yOworICAgIGNvbnN0IEdMZmxvYXQgZDAxID0gMC40
OworICAgIGNvbnN0IEdMZmxvYXQgZDEwID0gMC42OworICAgIGNvbnN0IEdMZmxvYXQgZDExID0g
MC44OworICAgIGdsRW5hYmxlKEdMX1NDSVNTT1JfVEVTVCk7CisgICAgZ2xTY2lzc29yKDAsIDAs
IDEsIDEpOworICAgIGdsQ2xlYXJEZXB0aGYoZDAwKTsKKyAgICBnbENsZWFyU3RlbmNpbCgxKTsK
KyAgICBnbENsZWFyKGNsZWFyQml0cyk7CisgICAgZ2xTY2lzc29yKDEsIDAsIDEsIDEpOworICAg
IGdsQ2xlYXJEZXB0aGYoZDEwKTsKKyAgICBnbENsZWFyU3RlbmNpbCgyKTsKKyAgICBnbENsZWFy
KGNsZWFyQml0cyk7CisgICAgZ2xTY2lzc29yKDAsIDEsIDEsIDEpOworICAgIGdsQ2xlYXJEZXB0
aGYoZDAxKTsKKyAgICBnbENsZWFyU3RlbmNpbCgzKTsKKyAgICBnbENsZWFyKGNsZWFyQml0cyk7
CisgICAgZ2xTY2lzc29yKDEsIDEsIDEsIDEpOworICAgIGdsQ2xlYXJEZXB0aGYoZDExKTsKKyAg
ICBnbENsZWFyU3RlbmNpbCg0KTsKKyAgICBnbENsZWFyKGNsZWFyQml0cyk7CisgICAgZ2xEaXNh
YmxlKEdMX1NDSVNTT1JfVEVTVCk7CisKKyAgICBHTHVieXRlIGFjdHVhbFBpeGVsc1tkZXN0UmVz
ICogZGVzdFJlcyAqIDhdOworICAgIGdsUmVhZFBpeGVscygwLCAwLCBkZXN0UmVzLCBkZXN0UmVz
LCBHTF9ERVBUSF9DT01QT05FTlQsCisgICAgICAgICAgICAgICAgIGhhc0Zsb2F0RGVwdGggPyBH
TF9GTE9BVCA6IEdMX1VOU0lHTkVEX1NIT1JULCBhY3R1YWxQaXhlbHMpOworICAgIC8vIE5WX3Jl
YWRfZGVwdGggYW5kIE5WX3JlYWRfc3RlbmNpbCBkbyBub3Qgc3VwcG9ydCBwYWNrZWQgZGVwdGgv
c3RlbmNpbAorICAgIGlmIChoYXNSZWFkRGVwdGhTdXBwb3J0KCkgJiYgdHlwZS5mb3JtYXQgIT0g
R0xfREVQVEhfU1RFTkNJTCkKKyAgICB7CisgICAgICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwor
ICAgICAgICBpZiAoaGFzRmxvYXREZXB0aCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3Rl
eHByIGZsb2F0IGtFcHNpbG9uID0gMC4wMDJmOworICAgICAgICAgICAgY29uc3QgZmxvYXQgKnBp
eGVscyAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBmbG9hdCAqPihhY3R1YWxQaXhlbHMp
OworICAgICAgICAgICAgQVNTRVJUX05FQVIocGl4ZWxzWzBdLCBkMDAsIGtFcHNpbG9uKTsKKyAg
ICAgICAgICAgIEFTU0VSVF9ORUFSKHBpeGVsc1swICsgZGVzdFJlc10sIGQwMSwga0Vwc2lsb24p
OworICAgICAgICAgICAgQVNTRVJUX05FQVIocGl4ZWxzWzFdLCBkMTAsIGtFcHNpbG9uKTsKKyAg
ICAgICAgICAgIEFTU0VSVF9ORUFSKHBpeGVsc1sxICsgZGVzdFJlc10sIGQxMSwga0Vwc2lsb24p
OworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgYXV0byBz
Y2FsZSA9IFtdKGZsb2F0IGYpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
dWludDE2X3Q+KAorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4oc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50MTZfdD46Om1heCgpKSAqIGYpOworICAgICAgICAgICAgfTsKKwor
ICAgICAgICAgICAgY29uc3RleHByIHVuc2lnbmVkIHNob3J0IGtFcHNpbG9uID0gMjsKKyAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICpwaXhlbHMgPSByZWludGVycHJldF9jYXN0PGNv
bnN0IHVuc2lnbmVkIHNob3J0ICo+KGFjdHVhbFBpeGVscyk7CisgICAgICAgICAgICBBU1NFUlRf
TkVBUihwaXhlbHNbMF0sIHNjYWxlKGQwMCksIGtFcHNpbG9uKTsKKyAgICAgICAgICAgIEFTU0VS
VF9ORUFSKHBpeGVsc1swICsgZGVzdFJlc10sIHNjYWxlKGQwMSksIGtFcHNpbG9uKTsKKyAgICAg
ICAgICAgIEFTU0VSVF9ORUFSKHBpeGVsc1sxXSwgc2NhbGUoZDEwKSwga0Vwc2lsb24pOworICAg
ICAgICAgICAgQVNTRVJUX05FQVIocGl4ZWxzWzEgKyBkZXN0UmVzXSwgc2NhbGUoZDExKSwga0Vw
c2lsb24pOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEVYUEVD
VF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJBVElPTik7CisgICAgfQorICAgIGlmIChoYXNTdGVu
Y2lsKQorICAgIHsKKyAgICAgICAgZ2xSZWFkUGl4ZWxzKDAsIDAsIGRlc3RSZXMsIGRlc3RSZXMs
IEdMX1NURU5DSUxfSU5ERVhfT0VTLCBHTF9VTlNJR05FRF9CWVRFLCBhY3R1YWxQaXhlbHMpOwor
ICAgICAgICBpZiAoaGFzUmVhZFN0ZW5jaWxTdXBwb3J0KCkpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgICAgICAgICAgQVNTRVJUX1RSVUUoKGFjdHVh
bFBpeGVsc1swXSA9PSAxKSAmJiAoYWN0dWFsUGl4ZWxzWzFdID09IDIpICYmCisgICAgICAgICAg
ICAgICAgICAgICAgICAoYWN0dWFsUGl4ZWxzWzAgKyBkZXN0UmVzXSA9PSAzKSAmJiAoYWN0dWFs
UGl4ZWxzWzEgKyBkZXN0UmVzXSA9IDQpKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJBVElPTik7
CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8vIFRoaXMgdGVzdCB3aWxsIGluaXRpYWxpemUgYSBk
ZXB0aCB0ZXh0dXJlLCBjbGVhciBpdCBhbmQgcmVhZCBpdCBiYWNrLCBpZiBwb3NzaWJsZQorVEVT
VF9QKERlcHRoU3RlbmNpbEZvcm1hdHNUZXN0LCBEZXB0aFN0ZW5jaWxSZWFkYmFja19VU2hvcnQp
Cit7CisgICAgR0x1aW50IGZha2VEYXRhWzEwXSAgICA9IHswfTsKKyAgICBSZWFkYmFja1Rlc3RQ
YXJhbSB0eXBlID0geworICAgICAgICBHTF9ERVBUSF9BVFRBQ0hNRU5ULCBHTF9ERVBUSF9DT01Q
T05FTlQsIEdMX1VOU0lHTkVEX1NIT1JULCBmYWtlRGF0YSwgMTYsIDB9OworICAgIGRlcHRoU3Rl
bmNpbFJlYWRiYWNrQ2FzZSh0eXBlKTsKK30KKworLy8gVGhpcyB0ZXN0IHdpbGwgaW5pdGlhbGl6
ZSBhIGRlcHRoIHRleHR1cmUsIGNsZWFyIGl0IGFuZCByZWFkIGl0IGJhY2ssIGlmIHBvc3NpYmxl
CitURVNUX1AoRGVwdGhTdGVuY2lsRm9ybWF0c1Rlc3QsIERlcHRoU3RlbmNpbFJlYWRiYWNrX1VJ
bnQpCit7CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NTczCisgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKElzV2luZG93cygpICYmIElzVnVsa2FuKCkpOworCisgICAgR0x1aW50IGZha2VEYXRh
WzEwXSAgICA9IHswfTsKKyAgICBSZWFkYmFja1Rlc3RQYXJhbSB0eXBlID0geworICAgICAgICBH
TF9ERVBUSF9BVFRBQ0hNRU5ULCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX0lOVCwg
ZmFrZURhdGEsIDE2LCAwfTsKKyAgICBkZXB0aFN0ZW5jaWxSZWFkYmFja0Nhc2UodHlwZSk7Cit9
CisKKy8vIFRoaXMgdGVzdCB3aWxsIGluaXRpYWxpemUgYSBkZXB0aCB0ZXh0dXJlLCBjbGVhciBp
dCBhbmQgcmVhZCBpdCBiYWNrLCBpZiBwb3NzaWJsZQorVEVTVF9QKERlcHRoU3RlbmNpbEZvcm1h
dHNUZXN0LCBEZXB0aFN0ZW5jaWxSZWFkYmFja19GbG9hdCkKK3sKKyAgICBHTHVpbnQgZmFrZURh
dGFbMTBdICAgID0gezB9OworICAgIFJlYWRiYWNrVGVzdFBhcmFtIHR5cGUgPSB7R0xfREVQVEhf
QVRUQUNITUVOVCwgR0xfREVQVEhfQ09NUE9ORU5ULCBHTF9GTE9BVCwgZmFrZURhdGEsIDMyLCAw
fTsKKyAgICBkZXB0aFN0ZW5jaWxSZWFkYmFja0Nhc2UodHlwZSk7Cit9CisKKy8vIFRoaXMgdGVz
dCB3aWxsIGluaXRpYWxpemUgYSBkZXB0aCB0ZXh0dXJlLCBjbGVhciBpdCBhbmQgcmVhZCBpdCBi
YWNrLCBpZiBwb3NzaWJsZQorVEVTVF9QKERlcHRoU3RlbmNpbEZvcm1hdHNUZXN0LCBEZXB0aFN0
ZW5jaWxSZWFkYmFja19EZXB0aFN0ZW5jaWwpCit7CisgICAgR0x1aW50IGZha2VEYXRhWzEwXSAg
ICA9IHswfTsKKyAgICBSZWFkYmFja1Rlc3RQYXJhbSB0eXBlID0geworICAgICAgICBHTF9ERVBU
SF9TVEVOQ0lMX0FUVEFDSE1FTlQsIEdMX0RFUFRIX1NURU5DSUwsIEdMX1VOU0lHTkVEX0lOVF8y
NF84X09FUywgZmFrZURhdGEsIDI0LCA4fTsKKyAgICBkZXB0aFN0ZW5jaWxSZWFkYmFja0Nhc2Uo
dHlwZSk7Cit9CisKIC8vIFRoaXMgdGVzdCB3aWxsIGluaXRpYWxpemUgYSBkZXB0aCB0ZXh0dXJl
IGFuZCB0aGVuIHJlbmRlciB3aXRoIGl0IGFuZCB2ZXJpZnkKIC8vIHBpeGVsIGNvcnJlY3RuZXNz
LgogLy8gVGhpcyBpcyBtb2RlbGVkIGFmdGVyIHdlYmdsLWRlcHRoLXRleHR1cmUuaHRtbApAQCAt
MjY2LDE0ICs0OTQsOCBAQCB2b2lkIG1haW4oKQogICAgIC8vIE9wZW5HTCBFUyBkb2VzIG5vdCBo
YXZlIGEgRkxJUFkgUGl4ZWxTdG9yZSBhdHRyaWJ1dGUKICAgICAvLyBnbFBpeGVsU3RvcmVpKEdM
X1VOUEFDS19GTElQKQogCi0gICAgZW51bSBPYmpUeXBlCi0gICAgewotICAgICAgICBHTCwKLSAg
ICAgICAgRVhUCi0gICAgfTsKICAgICBzdHJ1Y3QgVHlwZUluZm8KICAgICB7Ci0gICAgICAgIE9i
alR5cGUgb2JqOwogICAgICAgICBHTHVpbnQgYXR0YWNobWVudDsKICAgICAgICAgR0x1aW50IGZv
cm1hdDsKICAgICAgICAgR0x1aW50IHR5cGU7CkBAIC0yODUsMTAgKzUwNyw5IEBAIHZvaWQgbWFp
bigpCiAgICAgR0x1aW50IGZha2VEYXRhWzEwXSA9IHswfTsKIAogICAgIHN0ZDo6dmVjdG9yPFR5
cGVJbmZvPiB0eXBlcyA9IHsKLSAgICAgICAge09ialR5cGU6OkdMLCBHTF9ERVBUSF9BVFRBQ0hN
RU5ULCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX1NIT1JULCBmYWtlRGF0YSwgMTYs
IDB9LAotICAgICAgICB7T2JqVHlwZTo6R0wsIEdMX0RFUFRIX0FUVEFDSE1FTlQsIEdMX0RFUFRI
X0NPTVBPTkVOVCwgR0xfVU5TSUdORURfSU5ULCBmYWtlRGF0YSwgMTYsIDB9LAotICAgICAgICB7
T2JqVHlwZTo6RVhULCBHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIEdMX0RFUFRIX1NURU5D
SUwsIEdMX1VOU0lHTkVEX0lOVF8yNF84X09FUywKLSAgICAgICAgIGZha2VEYXRhLCAyNCwgOH0s
CisgICAgICAgIHtHTF9ERVBUSF9BVFRBQ0hNRU5ULCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VO
U0lHTkVEX1NIT1JULCBmYWtlRGF0YSwgMTYsIDB9LAorICAgICAgICB7R0xfREVQVEhfQVRUQUNI
TUVOVCwgR0xfREVQVEhfQ09NUE9ORU5ULCBHTF9VTlNJR05FRF9JTlQsIGZha2VEYXRhLCAxNiwg
MH0sCisgICAgICAgIHtHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIEdMX0RFUFRIX1NURU5D
SUwsIEdMX1VOU0lHTkVEX0lOVF8yNF84X09FUywgZmFrZURhdGEsIDI0LCA4fSwKICAgICB9Owog
CiAgICAgZm9yIChjb25zdCBUeXBlSW5mbyAmdHlwZSA6IHR5cGVzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0RyYXdCYXNlVmVydGV4VmFy
aWFudHNUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0
cy9EcmF3QmFzZVZlcnRleFZhcmlhbnRzVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk2ODI1NGUwZjc1
MDNmMzJiZDdmNjJjNWM0MGRjYjI1NDBkNzg0MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9EcmF3QmFzZVZlcnRleFZhcmlhbnRz
VGVzdC5jcHAKQEAgLTAsMCArMSw0NDUgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5H
TEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIERyYXdCYXNlVmVydGV4
VmFyaWFudHNUZXN0OiBUZXN0cyB2YXJpYW50cyBvZiBkcmF3RWxlbWVudHMqQmFzZVZlcnRleCog
Y2FsbCBmcm9tIGRpZmZlcmVudAorLy8gZXh0ZW5zaW9ucworCisjaW5jbHVkZSAiZ3B1X2luZm9f
dXRpbC9TeXN0ZW1JbmZvLmgiCisjaW5jbHVkZSAidGVzdF91dGlscy9BTkdMRVRlc3QuaCIKKyNp
bmNsdWRlICJ0ZXN0X3V0aWxzL2dsX3JhaWkuaCIKKworI2luY2x1ZGUgPG51bWVyaWM+CisKK3Vz
aW5nIG5hbWVzcGFjZSBhbmdsZTsKKworbmFtZXNwYWNlCit7CisKKy8vIENyZWF0ZSBhIGtXaWR0
aCAqIGtIZWlnaHQgY2FudmFzIGVxdWFsbHkgc3BsaXQgaW50byBrQ291bnRYICoga0NvdW50WSB0
aWxlcworLy8gZWFjaCBjb250YWluaW5nIGEgcXVhZCBwYXJ0aWFsbHkgY292ZXJpbmcgZWFjaCB0
aWxlCitjb25zdGV4cHIgdWludDMyX3Qga1dpZHRoICAgICAgICAgICAgICAgICAgID0gMjU2Owor
Y29uc3RleHByIHVpbnQzMl90IGtIZWlnaHQgICAgICAgICAgICAgICAgICA9IDI1NjsKK2NvbnN0
ZXhwciB1aW50MzJfdCBrQ291bnRYICAgICAgICAgICAgICAgICAgPSA4OworY29uc3RleHByIHVp
bnQzMl90IGtDb3VudFkgICAgICAgICAgICAgICAgICA9IDg7Citjb25zdGV4cHIgaW50IGtCb3hD
b3VudCAgICAgICAgICAgICAgICAgICAgID0ga0NvdW50WCAqIGtDb3VudFk7Citjb25zdGV4cHIg
dWludDMyX3Qga0luZGV4UGF0dGVyblJlcGVhdENvdW50ID0gMzsKK2NvbnN0ZXhwciBzdGQ6OmFy
cmF5PEdMZmxvYXQsIDI+IGtUaWxlU2l6ZSAgPSB7CisgICAgMS5mIC8gc3RhdGljX2Nhc3Q8R0xm
bG9hdD4oa0NvdW50WCksCisgICAgMS5mIC8gc3RhdGljX2Nhc3Q8R0xmbG9hdD4oa0NvdW50WSks
Cit9OworY29uc3RleHByIHN0ZDo6YXJyYXk8dWludDMyX3QsIDI+IGtUaWxlUGl4ZWxTaXplICA9
IHtrV2lkdGggLyBrQ291bnRYLCBrSGVpZ2h0IC8ga0NvdW50WX07Citjb25zdGV4cHIgc3RkOjph
cnJheTxHTGZsb2F0LCAyPiBrUXVhZFJhZGl1cyAgICAgID0gezAuMjVmICoga1RpbGVTaXplWzBd
LCAwLjI1ZiAqIGtUaWxlU2l6ZVsxXX07Citjb25zdGV4cHIgc3RkOjphcnJheTx1aW50MzJfdCwg
Mj4ga1BpeGVsQ2hlY2tTaXplID0geworICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihrUXVhZFJh
ZGl1c1swXSAqIGtXaWR0aCksCisgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGtRdWFkUmFkaXVz
WzFdICoga0hlaWdodCl9OworY29uc3RleHByIEdMZW51bSBrQnVmZmVyRGF0YVVzYWdlW10gPSB7
R0xfU1RBVElDX0RSQVcsIEdMX0RZTkFNSUNfRFJBVywgR0xfU1RSRUFNX0RSQVd9OworCitjb25z
dGV4cHIgc3RkOjphcnJheTxHTGZsb2F0LCAyPiBHZXRUaWxlQ2VudGVyKHVpbnQzMl90IHgsIHVp
bnQzMl90IHkpCit7CisgICAgcmV0dXJuIHsKKyAgICAgICAga1RpbGVTaXplWzBdICogKDAuNWYg
KyBzdGF0aWNfY2FzdDxHTGZsb2F0Pih4KSksCisgICAgICAgIGtUaWxlU2l6ZVsxXSAqICgwLjVm
ICsgc3RhdGljX2Nhc3Q8R0xmbG9hdD4oeSkpLAorICAgIH07Cit9Citjb25zdGV4cHIgc3RkOjph
cnJheTxzdGQ6OmFycmF5PEdMZmxvYXQsIDI+LCA0PiBHZXRRdWFkVmVydGljZXModWludDMyX3Qg
eCwgdWludDMyX3QgeSkKK3sKKyAgICBjb25zdCBhdXRvIGNlbnRlciA9IEdldFRpbGVDZW50ZXIo
eCwgeSk7CisgICAgcmV0dXJuIHsKKyAgICAgICAgc3RkOjphcnJheTxHTGZsb2F0LCAyPntjZW50
ZXJbMF0gLSBrUXVhZFJhZGl1c1swXSwgY2VudGVyWzFdIC0ga1F1YWRSYWRpdXNbMV19LAorICAg
ICAgICBzdGQ6OmFycmF5PEdMZmxvYXQsIDI+e2NlbnRlclswXSArIGtRdWFkUmFkaXVzWzBdLCBj
ZW50ZXJbMV0gLSBrUXVhZFJhZGl1c1sxXX0sCisgICAgICAgIHN0ZDo6YXJyYXk8R0xmbG9hdCwg
Mj57Y2VudGVyWzBdICsga1F1YWRSYWRpdXNbMF0sIGNlbnRlclsxXSArIGtRdWFkUmFkaXVzWzFd
fSwKKyAgICAgICAgc3RkOjphcnJheTxHTGZsb2F0LCAyPntjZW50ZXJbMF0gLSBrUXVhZFJhZGl1
c1swXSwgY2VudGVyWzFdICsga1F1YWRSYWRpdXNbMV19LAorICAgIH07Cit9CisKK2VudW0gY2xh
c3MgRHJhd0NhbGxWYXJpYW50cworeworICAgIERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXgsCisgICAg
RHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleCwKKyAgICBEcmF3UmFuZ2VFbGVtZW50c0Jh
c2VWZXJ0ZXgsCisgICAgRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5j
ZQorfTsKKwordXNpbmcgRHJhd0Jhc2VWZXJ0ZXhWYXJpYW50c1Rlc3RQYXJhbXMgPSBzdGQ6OnR1
cGxlPGFuZ2xlOjpQbGF0Zm9ybVBhcmFtZXRlcnMsIEdMZW51bT47CisKK3N0ZDo6c3RyaW5nIERy
YXdCYXNlVmVydGV4VmFyaWFudHNUZXN0UHJpbnQoCisgICAgY29uc3QgOjp0ZXN0aW5nOjpUZXN0
UGFyYW1JbmZvPERyYXdCYXNlVmVydGV4VmFyaWFudHNUZXN0UGFyYW1zPiAmcGFyYW1zSW5mbykK
K3sKKyAgICBjb25zdCBEcmF3QmFzZVZlcnRleFZhcmlhbnRzVGVzdFBhcmFtcyAmcGFyYW1zID0g
cGFyYW1zSW5mby5wYXJhbTsKKyAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gb3V0OworCisgICAgb3V0
IDw8IHN0ZDo6Z2V0PDA+KHBhcmFtcykgPDwgJ18nOworCisgICAgc3dpdGNoIChzdGQ6OmdldDwx
PihwYXJhbXMpKQorICAgIHsKKyAgICAgICAgY2FzZSBHTF9TVEFUSUNfRFJBVzoKKyAgICAgICAg
ICAgIG91dCA8PCAiU1RBVElDX0RSQVciOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgR0xfRFlOQU1JQ19EUkFXOgorICAgICAgICAgICAgb3V0IDw8ICJEWU5BTUlDX0RSQVciOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0xfU1RSRUFNX0RSQVc6CisgICAgICAg
ICAgICBvdXQgPDwgIlNUUkVBTV9EUkFXIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgb3V0IDw8ICJVUERBVEVfVEhJU19TV0lUQ0giOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIG91dC5zdHIoKTsKK30KKworLy8gVGhl
c2UgdGVzdHMgY2hlY2sgY29ycmVjdG5lc3Mgb2YgdmFyaWFudHMgb2YgYmFzZVZlcnRleCBkcmF3
IGNhbGxzIGZyb20gZGlmZmVyZW50IGV4dGVuc2lvbnMKKworY2xhc3MgRHJhd0Jhc2VWZXJ0ZXhW
YXJpYW50c1Rlc3QgOiBwdWJsaWMgQU5HTEVUZXN0V2l0aFBhcmFtPERyYXdCYXNlVmVydGV4VmFy
aWFudHNUZXN0UGFyYW1zPgoreworICBwcm90ZWN0ZWQ6CisgICAgRHJhd0Jhc2VWZXJ0ZXhWYXJp
YW50c1Rlc3QoKQorICAgIHsKKyAgICAgICAgc2V0V2luZG93V2lkdGgoa1dpZHRoKTsKKyAgICAg
ICAgc2V0V2luZG93SGVpZ2h0KGtIZWlnaHQpOworICAgICAgICBzZXRDb25maWdSZWRCaXRzKDgp
OworICAgICAgICBzZXRDb25maWdHcmVlbkJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0JsdWVC
aXRzKDgpOworICAgICAgICBzZXRDb25maWdBbHBoYUJpdHMoOCk7CisKKyAgICAgICAgc3RkOjph
cnJheTxHTHVzaG9ydCwgNj4gaW5kaWNlcyA9IHswLCAxLCAyLCAwLCAyLCAzfTsKKyAgICAgICAg
bUluZGljZXMucmVzaXplKGluZGljZXMuc2l6ZSgpICoga0luZGV4UGF0dGVyblJlcGVhdENvdW50
KTsKKyAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGtJbmRleFBhdHRlcm5SZXBlYXRD
b3VudDsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzaXplX3QgbyAgPSBpICogaW5kaWNl
cy5zaXplKCk7CisgICAgICAgICAgICBzaXplX3Qgdm8gPSBpICogNDsgIC8vIGVhY2ggcXVhZCBo
YXMgNCB2ZXJ0aWNlcywgaW5kZXggb2Zmc2V0IGJ5IDQKKyAgICAgICAgICAgIGZvciAoc2l6ZV90
IGogPSAwOyBqIDwgaW5kaWNlcy5zaXplKCk7IGorKykKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBtSW5kaWNlc1tvICsgal0gPSB2byArIGluZGljZXNbal07CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKworICAgICAgICBtQ29sb3JQYWxldHRlID0ge0dMQ29sb3IoMHg3ZiwgMHg3
ZiwgMHg3ZiwgMHhmZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgR0xDb2xvcjo6cmVkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMQ29sb3I6OmdyZWVuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMQ29sb3I6OnllbGxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICBHTENv
bG9yOjpibHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdMQ29sb3I6Om1hZ2VudGEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xDb2xvcjo6Y3lhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBHTENvbG9yOjp3aGl0ZX07CisKKyAgICAgICAgZm9yICh1aW50MzJfdCB5ID0gMDsg
eSA8IGtDb3VudFk7ICsreSkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yICh1aW50MzJfdCB4
ID0gMDsgeCA8IGtDb3VudFg7ICsreCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAv
LyB2MyAtLS0tIHYyCisgICAgICAgICAgICAgICAgLy8gfCAgICAgICB8CisgICAgICAgICAgICAg
ICAgLy8gfCAgICAgICB8CisgICAgICAgICAgICAgICAgLy8gdjAgLS0tLSB2MQorCisgICAgICAg
ICAgICAgICAgY29uc3QgYXV0byB2cyA9IDo6R2V0UXVhZFZlcnRpY2VzKHgsIHkpOworCisgICAg
ICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvICZ2IDogdnMpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICBtVmVydGljZXMuaW5zZXJ0KG1WZXJ0aWNlcy5lbmQoKSwgdi5i
ZWdpbigpLCB2LmVuZCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBj
b25zdCBhdXRvICZjb2xvclBpY2tlZCA9IG1Db2xvclBhbGV0dGVbKHggKyB5KSAlIG1Db2xvclBh
bGV0dGUuc2l6ZSgpXTsKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7ICsr
aSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG1WZXJ0ZXhDb2xvcnMu
cHVzaF9iYWNrKGNvbG9yUGlja2VkLlIpOworICAgICAgICAgICAgICAgICAgICBtVmVydGV4Q29s
b3JzLnB1c2hfYmFjayhjb2xvclBpY2tlZC5HKTsKKyAgICAgICAgICAgICAgICAgICAgbVZlcnRl
eENvbG9ycy5wdXNoX2JhY2soY29sb3JQaWNrZWQuQik7CisgICAgICAgICAgICAgICAgICAgIG1W
ZXJ0ZXhDb2xvcnMucHVzaF9iYWNrKGNvbG9yUGlja2VkLkEpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIG1SZWd1bGFySW5kaWNlcy5yZXNp
emUoa0NvdW50WSAqIGtDb3VudFggKiBtSW5kaWNlcy5zaXplKCkpOworICAgICAgICBmb3IgKHVp
bnQzMl90IHkgPSAwOyB5IDwga0NvdW50WTsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBm
b3IgKHVpbnQzMl90IHggPSAwOyB4IDwga0NvdW50WDsgeCsrKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGkgID0geCArIHkgKiBrQ291bnRYOworICAgICAgICAgICAg
ICAgIHVpbnQzMl90IG9pID0gNiAqIGk7CisgICAgICAgICAgICAgICAgdWludDMyX3Qgb3YgPSA0
ICogaTsKKyAgICAgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGogPSAwOyBqIDwgNjsgaisrKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbVJlZ3VsYXJJbmRpY2VzW29p
ICsgal0gPSBtSW5kaWNlc1tqXSArIG92OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgc2V0dXBQcm9ncmFtKEdMUHJvZ3JhbSAm
cHJvZ3JhbSkKKyAgICB7CisgICAgICAgIGNvbnN0ZXhwciBjaGFyIHZzW10gPSBSIigKK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworYXR0cmlidXRlIHZlYzIgdlBvc2l0aW9uOworYXR0cmlidXRl
IHZlYzQgdkNvbG9yOwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBn
bF9Qb3NpdGlvbiA9IHZlYzQodmVjMyh2UG9zaXRpb24sIDEuMCkgKiAyLjAgLSAxLjAsIDEuMCk7
CisgICAgY29sb3IgPSB2Q29sb3I7Cit9KSI7CisgICAgICAgIGNvbnN0ZXhwciBjaGFyIGZzW10g
PSBSIigKK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKK30pIjsKKyAgICAgICAgcHJv
Z3JhbS5tYWtlUmFzdGVyKHZzLCBmcyk7CisgICAgICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwor
ICAgICAgICBBU1NFUlRfVFJVRShwcm9ncmFtLnZhbGlkKCkpOworICAgICAgICBnbFVzZVByb2dy
YW0ocHJvZ3JhbS5nZXQoKSk7CisgICAgICAgIG1Qb3NpdGlvbkxvYyA9IGdsR2V0QXR0cmliTG9j
YXRpb24ocHJvZ3JhbS5nZXQoKSwgInZQb3NpdGlvbiIpOworICAgICAgICBBU1NFUlRfTkUoLTEs
IG1Qb3NpdGlvbkxvYyk7CisgICAgICAgIG1Db2xvckxvYyA9IGdsR2V0QXR0cmliTG9jYXRpb24o
cHJvZ3JhbS5nZXQoKSwgInZDb2xvciIpOworICAgICAgICBBU1NFUlRfTkUoLTEsIG1Db2xvckxv
Yyk7CisgICAgfQorCisgICAgdm9pZCBzZXR1cEluZGV4ZWRCdWZmZXJzKEdMQnVmZmVyICZ2ZXJ0
ZXhQb3NpdGlvbkJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xCdWZmZXIg
JnZlcnRleENvbG9yQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTEJ1ZmZl
ciAmaW5kZXhCdWZmZXIpCisgICAgeworICAgICAgICBHTGVudW0gdXNhZ2UgPSBzdGQ6OmdldDwx
PihHZXRQYXJhbSgpKTsKKworICAgICAgICBnbEJpbmRCdWZmZXIoR0xfQVJSQVlfQlVGRkVSLCB2
ZXJ0ZXhDb2xvckJ1ZmZlcik7CisgICAgICAgIGdsQnVmZmVyRGF0YShHTF9BUlJBWV9CVUZGRVIs
IHNpemVvZihHTHVieXRlKSAqIG1WZXJ0ZXhDb2xvcnMuc2l6ZSgpLCBtVmVydGV4Q29sb3JzLmRh
dGEoKSwKKyAgICAgICAgICAgICAgICAgICAgIHVzYWdlKTsKKworICAgICAgICBnbEVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KG1Db2xvckxvYyk7CisgICAgICAgIGdsVmVydGV4QXR0cmliUG9pbnRl
cihtQ29sb3JMb2MsIDQsIEdMX1VOU0lHTkVEX0JZVEUsIEdMX1RSVUUsIDAsIDApOworCisgICAg
ICAgIGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIHZlcnRleFBvc2l0aW9uQnVmZmVyKTsK
KyAgICAgICAgZ2xCdWZmZXJEYXRhKEdMX0FSUkFZX0JVRkZFUiwgc2l6ZW9mKEdMZmxvYXQpICog
bVZlcnRpY2VzLnNpemUoKSwgbVZlcnRpY2VzLmRhdGEoKSwgdXNhZ2UpOworCisgICAgICAgIGds
RW5hYmxlVmVydGV4QXR0cmliQXJyYXkobVBvc2l0aW9uTG9jKTsKKyAgICAgICAgZ2xWZXJ0ZXhB
dHRyaWJQb2ludGVyKG1Qb3NpdGlvbkxvYywgMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCAwKTsK
KworICAgICAgICBnbEJpbmRCdWZmZXIoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4QnVm
ZmVyKTsKKyAgICAgICAgZ2xCdWZmZXJEYXRhKEdMX0VMRU1FTlRfQVJSQVlfQlVGRkVSLCBzaXpl
b2YoR0x1c2hvcnQpICogbUluZGljZXMuc2l6ZSgpLCBtSW5kaWNlcy5kYXRhKCksCisgICAgICAg
ICAgICAgICAgICAgICB1c2FnZSk7CisKKyAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cisg
ICAgfQorCisgICAgdm9pZCBkb0RyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhWYXJpYW50cyhEcmF3Q2Fs
bFZhcmlhbnRzIGRyYXdDYWxsVHlwZSkKKyAgICB7CisgICAgICAgIGdsQ2xlYXIoR0xfQ09MT1Jf
QlVGRkVSX0JJVCB8IEdMX0RFUFRIX0JVRkZFUl9CSVQpOworCisgICAgICAgIGludCBiYXNlUmVw
ZXRpdGlvbiA9IDA7CisgICAgICAgIGludCBpICAgICAgICAgICAgICA9IDA7CisKKyAgICAgICAg
Ly8gU3RhcnQgYXQgdmFyaW91cyByZXBldGl0aW9ucyB3aXRoaW4gdGhlIHBhdHRlcm5lZCBpbmRl
eCBidWZmZXIgdG8gZXhlcmNpc2UgYmFzZQorICAgICAgICAvLyBpbmRleC4KKworICAgICAgICBz
dGF0aWNfYXNzZXJ0KGtJbmRleFBhdHRlcm5SZXBlYXRDb3VudCA+PSAzLCAiUmVwZWF0IHBhdHRl
cm4gY291bnQgc2hvdWxkIGJlIGF0IGxlYXN0IDMiKTsKKworICAgICAgICB3aGlsZSAoaSA8IGtC
b3hDb3VudCkKKyAgICAgICAgeworICAgICAgICAgICAgaW50IHJlcGV0aXRpb25Db3VudCA9IHN0
ZDo6bWluKDMgLSBiYXNlUmVwZXRpdGlvbiwga0JveENvdW50IC0gaSk7CisKKyAgICAgICAgICAg
IHVwZGF0ZVZlcnRleENvbG9yRGF0YShpLCByZXBldGl0aW9uQ291bnQpOworCisgICAgICAgICAg
ICBzd2l0Y2ggKGRyYXdDYWxsVHlwZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj
YXNlIERyYXdDYWxsVmFyaWFudHM6OkRyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhCYXNl
SW5zdGFuY2U6CisgICAgICAgICAgICAgICAgICAgIGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFz
ZVZlcnRleEJhc2VJbnN0YW5jZUFOR0xFKAorICAgICAgICAgICAgICAgICAgICAgICAgR0xfVFJJ
QU5HTEVTLCByZXBldGl0aW9uQ291bnQgKiA2LCBHTF9VTlNJR05FRF9TSE9SVCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8R0x2b2lkICo+KAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oYmFzZVJlcGV0aXRpb24gKiA2
ICogc2l6ZW9mKEdMdXNob3J0KSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgMSwgKGkgLSBi
YXNlUmVwZXRpdGlvbikgKiA0LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgY2FzZSBEcmF3Q2FsbFZhcmlhbnRzOjpEcmF3RWxlbWVudHNCYXNlVmVydGV4
OgorICAgICAgICAgICAgICAgICAgICBnbERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFQoCisgICAg
ICAgICAgICAgICAgICAgICAgICBHTF9UUklBTkdMRVMsIHJlcGV0aXRpb25Db3VudCAqIDYsIEdM
X1VOU0lHTkVEX1NIT1JULAorICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz
dDxHTHZvaWQgKj4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dWlu
dHB0cl90PihiYXNlUmVwZXRpdGlvbiAqIDYgKiBzaXplb2YoR0x1c2hvcnQpKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAoaSAtIGJhc2VSZXBldGl0aW9uKSAqIDQpOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIERyYXdDYWxsVmFyaWFudHM6OkRy
YXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXg6CisgICAgICAgICAgICAgICAgICAgIGdsRHJh
d0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEVYVCgKKyAgICAgICAgICAgICAgICAgICAgICAg
IEdMX1RSSUFOR0xFUywgcmVwZXRpdGlvbkNvdW50ICogNiwgR0xfVU5TSUdORURfU0hPUlQsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdMdm9pZCAqPigKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KGJhc2VSZXBldGl0
aW9uICogNiAqIHNpemVvZihHTHVzaG9ydCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIDEs
IChpIC0gYmFzZVJlcGV0aXRpb24pICogNCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgIGNhc2UgRHJhd0NhbGxWYXJpYW50czo6RHJhd1JhbmdlRWxlbWVudHNC
YXNlVmVydGV4OgorICAgICAgICAgICAgICAgICAgICBnbERyYXdSYW5nZUVsZW1lbnRzQmFzZVZl
cnRleEVYVCgKKyAgICAgICAgICAgICAgICAgICAgICAgIEdMX1RSSUFOR0xFUywgYmFzZVJlcGV0
aXRpb24gKiA0LAorICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VSZXBldGl0aW9uICsgcmVw
ZXRpdGlvbkNvdW50KSAqIDQgLSAxLCByZXBldGl0aW9uQ291bnQgKiA2LAorICAgICAgICAgICAg
ICAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlQsCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZWludGVycHJldF9jYXN0PEdMdm9pZCAqPigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDx1aW50cHRyX3Q+KGJhc2VSZXBldGl0aW9uICogNiAqIHNpemVvZihHTHVzaG9y
dCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIChpIC0gYmFzZVJlcGV0aXRpb24pICogNCk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICAgICAgICAgIEVYUEVDVF9UUlVFKGZhbHNlKTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJhc2VSZXBldGl0aW9uID0g
KGJhc2VSZXBldGl0aW9uICsgMSkgJSAzOworICAgICAgICAgICAgaSArPSByZXBldGl0aW9uQ291
bnQ7CisgICAgICAgIH0KKworICAgICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICAgICAg
Y2hlY2tEcmF3UmVzdWx0KCk7CisgICAgfQorCisgICAgdm9pZCB1cGRhdGVWZXJ0ZXhDb2xvckRh
dGEoR0xpbnQgZHJhd25RdWFkQ291bnQsIEdMaW50IHRvRHJhd1F1YWRDb3VudCkKKyAgICB7Cisg
ICAgICAgIC8vIHVwZGF0ZSB0aGUgdmVydGV4IGNvbG9yIG9mIHRoZSBuZXh0IFtjb3VudF0gb2Yg
cXVhZHMgdG8gZHJhdworICAgICAgICBpZiAoc3RkOjpnZXQ8MT4oR2V0UGFyYW0oKSkgPT0gR0xf
U1RBVElDX0RSQVcpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
CisgICAgICAgIEdMaW50IG9mZnNldCA9IHNpemVvZihHTHVieXRlKSAqIGRyYXduUXVhZENvdW50
ICogNCAqIHNpemVvZihHTENvbG9yKTsKKworICAgICAgICBmb3IgKEdMaW50IGkgPSAwOyBpIDwg
dG9EcmF3UXVhZENvdW50OyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IEdMQ29s
b3IgJmNvbG9yID0gbUNvbG9yUGFsZXR0ZVsoZHJhd25RdWFkQ291bnQgKyBpKSAlIG1Db2xvclBh
bGV0dGUuc2l6ZSgpXTsKKyAgICAgICAgICAgIGZvciAoR0xpbnQgaiA9IDA7IGogPCA0OyBqKysp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX0FSUkFZ
X0JVRkZFUiwgb2Zmc2V0LCBzaXplb2YoR0xDb2xvciksIGNvbG9yLmRhdGEoKSk7CisgICAgICAg
ICAgICAgICAgb2Zmc2V0ICs9IHNpemVvZihHTENvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKworICAgIHZvaWQgY2hlY2tEcmF3UmVzdWx0KCkKKyAgICB7CisgICAgICAg
IGJvb2wgZHluYW1pY0xheW91dCA9IHN0ZDo6Z2V0PDE+KEdldFBhcmFtKCkpID09IEdMX1NUQVRJ
Q19EUkFXID8gZmFsc2UgOiB0cnVlOworCisgICAgICAgIGZvciAodWludDMyX3QgeSA9IDA7IHkg
PCBrQ291bnRZOyArK3kpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAodWludDMyX3QgeCA9
IDA7IHggPCBrQ291bnRYOyArK3gpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdWlu
dDMyX3QgY2VudGVyX3ggPSB4ICoga1RpbGVQaXhlbFNpemVbMF0gKyBrVGlsZVBpeGVsU2l6ZVsw
XSAvIDI7CisgICAgICAgICAgICAgICAgdWludDMyX3QgY2VudGVyX3kgPSB5ICoga1RpbGVQaXhl
bFNpemVbMV0gKyBrVGlsZVBpeGVsU2l6ZVsxXSAvIDI7CisKKyAgICAgICAgICAgICAgICBjb25z
dCBhdXRvICZjb2xvciA9CisgICAgICAgICAgICAgICAgICAgIG1Db2xvclBhbGV0dGVbKGR5bmFt
aWNMYXlvdXQgPyB4IDogeCArIHkpICUgbUNvbG9yUGFsZXR0ZS5zaXplKCldOworCisgICAgICAg
ICAgICAgICAgRVhQRUNUX1BJWEVMX05FQVIoY2VudGVyX3ggLSBrUGl4ZWxDaGVja1NpemVbMF0g
LyAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcl95IC0ga1BpeGVs
Q2hlY2tTaXplWzFdIC8gMiwgY29sb3JbMF0sIGNvbG9yWzFdLCBjb2xvclsyXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvclszXSwgMSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBib29sIHJlcXVlc3RBbmdsZUJhc2VWZXJ0ZXhCYXNlSW5z
dGFuY2VFeHRlbnNpb25zKCkKKyAgICB7CisgICAgICAgIGlmIChnZXRDbGllbnRNYWpvclZlcnNp
b24oKSA8PSAyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIUVuc3VyZUdMRXh0ZW5zaW9u
RW5hYmxlZCgiR0xfQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9BTkdMRV9iYXNlX3ZlcnRl
eF9iYXNlX2luc3RhbmNlIik7CisgICAgfQorCisgICAgYm9vbCByZXF1ZXN0TmF0aXZlQmFzZVZl
cnRleEV4dGVuc2lvbnMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIChFbnN1cmVHTEV4dGVuc2lv
bkVuYWJsZWQoIkdMX09FU19kcmF3X2VsZW1lbnRzX2Jhc2VfdmVydGV4IikgfHwKKyAgICAgICAg
ICAgICAgICBFbnN1cmVHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9kcmF3X2VsZW1lbnRzX2Jh
c2VfdmVydGV4IikpOworICAgIH0KKworICAgIHN0ZDo6dmVjdG9yPEdMdXNob3J0PiBtSW5kaWNl
czsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0PiBtVmVydGljZXM7CisgICAgc3RkOjp2ZWN0b3I8
R0x1Ynl0ZT4gbVZlcnRleENvbG9yczsKKworICAgIHN0ZDo6dmVjdG9yPEdMQ29sb3I+IG1Db2xv
clBhbGV0dGU7CisgICAgc3RkOjp2ZWN0b3I8R0x1c2hvcnQ+IG1SZWd1bGFySW5kaWNlczsKKyAg
ICBHTGludCBtUG9zaXRpb25Mb2M7CisgICAgR0xpbnQgbUNvbG9yTG9jOworfTsKKworLy8gVGVz
dCBkcmF3RWxlbWVudHNCYXNlVmVydGV4IGZyb20gT0VTL0VYVF9kcmF3X2VsZW1lbnRzX2Jhc2Vf
dmVydGV4CitURVNUX1AoRHJhd0Jhc2VWZXJ0ZXhWYXJpYW50c1Rlc3QsIERyYXdFbGVtZW50c0Jh
c2VWZXJ0ZXgpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFyZXF1ZXN0TmF0aXZlQmFzZVZl
cnRleEV4dGVuc2lvbnMoKSk7CisKKyAgICBHTFByb2dyYW0gcHJvZ3JhbTsKKyAgICBzZXR1cFBy
b2dyYW0ocHJvZ3JhbSk7CisKKyAgICBHTEJ1ZmZlciBpbmRleEJ1ZmZlcjsKKyAgICBHTEJ1ZmZl
ciB2ZXJ0ZXhQb3NpdGlvbkJ1ZmZlcjsKKyAgICBHTEJ1ZmZlciB2ZXJ0ZXhDb2xvckJ1ZmZlcjsK
KyAgICBzZXR1cEluZGV4ZWRCdWZmZXJzKHZlcnRleFBvc2l0aW9uQnVmZmVyLCB2ZXJ0ZXhDb2xv
ckJ1ZmZlciwgaW5kZXhCdWZmZXIpOworCisgICAgLy8gZm9yIHBvdGVudGlhbCB1cGRhdGUgdmVy
dGV4IGNvbG9yIGxhdGVyCisgICAgZ2xCaW5kQnVmZmVyKEdMX0FSUkFZX0JVRkZFUiwgdmVydGV4
Q29sb3JCdWZmZXIpOworCisgICAgZG9EcmF3RWxlbWVudHNCYXNlVmVydGV4VmFyaWFudHMoRHJh
d0NhbGxWYXJpYW50czo6RHJhd0VsZW1lbnRzQmFzZVZlcnRleCk7Cit9CisKKy8vIFRlc3QgZHJh
d0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleCBmcm9tIE9FUy9FWFRfZHJhd19lbGVtZW50c19i
YXNlX3ZlcnRleAorVEVTVF9QKERyYXdCYXNlVmVydGV4VmFyaWFudHNUZXN0LCBEcmF3RWxlbWVu
dHNJbnN0YW5jZWRCYXNlVmVydGV4KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighcmVxdWVz
dE5hdGl2ZUJhc2VWZXJ0ZXhFeHRlbnNpb25zKCkpOworCisgICAgR0xQcm9ncmFtIHByb2dyYW07
CisgICAgc2V0dXBQcm9ncmFtKHByb2dyYW0pOworCisgICAgR0xCdWZmZXIgaW5kZXhCdWZmZXI7
CisgICAgR0xCdWZmZXIgdmVydGV4UG9zaXRpb25CdWZmZXI7CisgICAgR0xCdWZmZXIgdmVydGV4
Q29sb3JCdWZmZXI7CisgICAgc2V0dXBJbmRleGVkQnVmZmVycyh2ZXJ0ZXhQb3NpdGlvbkJ1ZmZl
ciwgdmVydGV4Q29sb3JCdWZmZXIsIGluZGV4QnVmZmVyKTsKKworICAgIC8vIGZvciBwb3RlbnRp
YWwgdXBkYXRlIHZlcnRleCBjb2xvciBsYXRlcgorICAgIGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9C
VUZGRVIsIHZlcnRleENvbG9yQnVmZmVyKTsKKworICAgIGRvRHJhd0VsZW1lbnRzQmFzZVZlcnRl
eFZhcmlhbnRzKERyYXdDYWxsVmFyaWFudHM6OkRyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0
ZXgpOworfQorCisvLyBUZXN0IGRyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleCBmcm9tIE9FUy9F
WFRfZHJhd19lbGVtZW50c19iYXNlX3ZlcnRleAorVEVTVF9QKERyYXdCYXNlVmVydGV4VmFyaWFu
dHNUZXN0LCBEcmF3UmFuZ2VFbGVtZW50c0Jhc2VWZXJ0ZXgpCit7CisgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFyZXF1ZXN0TmF0aXZlQmFzZVZlcnRleEV4dGVuc2lvbnMoKSk7CisKKyAgICBHTFBy
b2dyYW0gcHJvZ3JhbTsKKyAgICBzZXR1cFByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICBHTEJ1ZmZl
ciBpbmRleEJ1ZmZlcjsKKyAgICBHTEJ1ZmZlciB2ZXJ0ZXhQb3NpdGlvbkJ1ZmZlcjsKKyAgICBH
TEJ1ZmZlciB2ZXJ0ZXhDb2xvckJ1ZmZlcjsKKyAgICBzZXR1cEluZGV4ZWRCdWZmZXJzKHZlcnRl
eFBvc2l0aW9uQnVmZmVyLCB2ZXJ0ZXhDb2xvckJ1ZmZlciwgaW5kZXhCdWZmZXIpOworCisgICAg
Ly8gZm9yIHBvdGVudGlhbCB1cGRhdGUgdmVydGV4IGNvbG9yIGxhdGVyCisgICAgZ2xCaW5kQnVm
ZmVyKEdMX0FSUkFZX0JVRkZFUiwgdmVydGV4Q29sb3JCdWZmZXIpOworCisgICAgZG9EcmF3RWxl
bWVudHNCYXNlVmVydGV4VmFyaWFudHMoRHJhd0NhbGxWYXJpYW50czo6RHJhd1JhbmdlRWxlbWVu
dHNCYXNlVmVydGV4KTsKK30KKworLy8gVGVzdCBkcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVy
dGV4QmFzZUluc3RhbmNlIGZyb20gQU5HTEVfYmFzZV92ZXJ0ZXhfYmFzZV9pbnN0YW5jZQorVEVT
VF9QKERyYXdCYXNlVmVydGV4VmFyaWFudHNUZXN0LCBEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNl
VmVydGV4QmFzZUluc3RhbmNlKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighcmVxdWVzdEFu
Z2xlQmFzZVZlcnRleEJhc2VJbnN0YW5jZUV4dGVuc2lvbnMoKSk7CisKKyAgICBHTFByb2dyYW0g
cHJvZ3JhbTsKKyAgICBzZXR1cFByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICBHTEJ1ZmZlciBpbmRl
eEJ1ZmZlcjsKKyAgICBHTEJ1ZmZlciB2ZXJ0ZXhQb3NpdGlvbkJ1ZmZlcjsKKyAgICBHTEJ1ZmZl
ciB2ZXJ0ZXhDb2xvckJ1ZmZlcjsKKyAgICBzZXR1cEluZGV4ZWRCdWZmZXJzKHZlcnRleFBvc2l0
aW9uQnVmZmVyLCB2ZXJ0ZXhDb2xvckJ1ZmZlciwgaW5kZXhCdWZmZXIpOworCisgICAgLy8gZm9y
IHBvdGVudGlhbCB1cGRhdGUgdmVydGV4IGNvbG9yIGxhdGVyCisgICAgZ2xCaW5kQnVmZmVyKEdM
X0FSUkFZX0JVRkZFUiwgdmVydGV4Q29sb3JCdWZmZXIpOworCisgICAgZG9EcmF3RWxlbWVudHNC
YXNlVmVydGV4VmFyaWFudHMoRHJhd0NhbGxWYXJpYW50czo6RHJhd0VsZW1lbnRzSW5zdGFuY2Vk
QmFzZVZlcnRleEJhc2VJbnN0YW5jZSk7Cit9CisKK0FOR0xFX0lOU1RBTlRJQVRFX1RFU1RfQ09N
QklORV8xKERyYXdCYXNlVmVydGV4VmFyaWFudHNUZXN0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRHJhd0Jhc2VWZXJ0ZXhWYXJpYW50c1Rlc3RQcmludCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rpbmc6OlZhbHVlc0luKGtCdWZmZXJEYXRhVXNhZ2Up
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVMzX0QzRDExKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBFUzNfT1BFTkdMKCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFUzNfT1BFTkdMRVMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVTM19WVUxLQU4oKSk7CisKK30gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0RyYXdCdWZmZXJzVGVz
dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvRHJhd0J1
ZmZlcnNUZXN0LmNwcAppbmRleCAxYTU4NWYxY2IyM2IxMjdjNWY4NDAxZTVjZDBmMWMxYjJmNWEz
ZWJlLi5iZDA3Y2M3NmVlMGM2NTRkNjY5NDk3ZWFjNjQ4MjZiMjE1MjM3YzhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvRHJhd0J1ZmZlcnNU
ZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMv
RHJhd0J1ZmZlcnNUZXN0LmNwcApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBEcmF3QnVmZmVyc1Rl
c3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgICAgIH0KIAogICAgICAgICAvLyBUaGlzIHRlc3Qg
c2VlbXMgdG8gZmFpbCBvbiBhbiBuVmlkaWEgbWFjaGluZSB3aGVuIHRoZSB3aW5kb3cgaXMgaGlk
ZGVuCi0gICAgICAgIHNldFdpbmRvd1Zpc2libGUodHJ1ZSk7CisgICAgICAgIHNldFdpbmRvd1Zp
c2libGUoZ2V0T1NXaW5kb3coKSwgdHJ1ZSk7CiAKICAgICAgICAgZ2xHZW5GcmFtZWJ1ZmZlcnMo
MSwgJm1GQk8pOwogICAgICAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9EUkFXX0ZSQU1FQlVGRkVS
LCBtRkJPKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9n
bF90ZXN0cy9EcmF3RWxlbWVudHNUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9nbF90ZXN0cy9EcmF3RWxlbWVudHNUZXN0LmNwcAppbmRleCBmNjQyYzNmNDc3ZTNm
ZmEwMzgyYjNlZmFmNTQzNWJlY2E2NTQ4YjFlLi5mYTEyNDI3YmExNWFhYzc4MWE5YzgwMWVhYjI3
ZDgxMDM1MjM4YWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xfdGVzdHMvRHJhd0VsZW1lbnRzVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0RyYXdFbGVtZW50c1Rlc3QuY3BwCkBAIC0xMTEsNyAr
MTExLDcgQEAgVEVTVF9QKERyYXdFbGVtZW50c1Rlc3QsIENsaWVudFNpZGVOdWxscHRyQXJyYXla
ZXJvQ291bnQpCiAvLyBkZWxldGluZyB0aGUgYXBwbGllZCBpbmRleCBidWZmZXIuCiBURVNUX1Ao
RHJhd0VsZW1lbnRzVGVzdCwgRGVsZXRpbmdBZnRlclN0cmVhbWluZ0luZGV4ZXMpCiB7Ci0gICAg
Ly8gaHR0cDovL2FuZ2xlYnVnLmNvbS80MDkyCisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80
NTc1IC0gVGVzdCBza2lwcGVkIG9uIEQzRDExIChhbHBoYSBjaGFubmVsIG5vdCBjb3JyZWN0KQog
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJc1dpbmRvd3MoKSAmJiBJc0QzRDExKCkpOwogICAgIC8v
IEluaXQgcHJvZ3JhbQogICAgIGNvbnN0ZXhwciBjaGFyIGtWU1tdID0KQEAgLTE2Miw0NyArMTYy
LDE1IEBAIFRFU1RfUChEcmF3RWxlbWVudHNUZXN0LCBEZWxldGluZ0FmdGVyU3RyZWFtaW5nSW5k
ZXhlcykKICAgICAgICAgaXRlbSArPSA0dTsKICAgICB9CiAKLSAgICBzdGQ6OnZlY3RvcjxHTGZs
b2F0PiBwb3NpdGlvbkRhdGE7Ci0gICAgLy8gcXVhZCB2ZXJ0cwotICAgIHBvc2l0aW9uRGF0YS5w
dXNoX2JhY2soLTEuMGYpOwotICAgIHBvc2l0aW9uRGF0YS5wdXNoX2JhY2soMS4wZik7Ci0gICAg
cG9zaXRpb25EYXRhLnB1c2hfYmFjaygtMS4wZik7Ci0gICAgcG9zaXRpb25EYXRhLnB1c2hfYmFj
aygtMS4wZik7Ci0gICAgcG9zaXRpb25EYXRhLnB1c2hfYmFjaygxLjBmKTsKLSAgICBwb3NpdGlv
bkRhdGEucHVzaF9iYWNrKC0xLjBmKTsKLSAgICBwb3NpdGlvbkRhdGEucHVzaF9iYWNrKDEuMGYp
OwotICAgIHBvc2l0aW9uRGF0YS5wdXNoX2JhY2soMS4wZik7Ci0KLSAgICAvLyBSZXBlYXQgcG9z
aXRpb24gZGF0YQotICAgIHBvc2l0aW9uRGF0YS5wdXNoX2JhY2soLTEuMGYpOwotICAgIHBvc2l0
aW9uRGF0YS5wdXNoX2JhY2soMS4wZik7Ci0gICAgcG9zaXRpb25EYXRhLnB1c2hfYmFjaygtMS4w
Zik7Ci0gICAgcG9zaXRpb25EYXRhLnB1c2hfYmFjaygtMS4wZik7Ci0gICAgcG9zaXRpb25EYXRh
LnB1c2hfYmFjaygxLjBmKTsKLSAgICBwb3NpdGlvbkRhdGEucHVzaF9iYWNrKC0xLjBmKTsKLSAg
ICBwb3NpdGlvbkRhdGEucHVzaF9iYWNrKDEuMGYpOwotICAgIHBvc2l0aW9uRGF0YS5wdXNoX2Jh
Y2soMS4wZik7Ci0KLSAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0PiB0ZXN0RmxhZ0RhdGE7Ci0gICAg
Ly8gcmVkCi0gICAgdGVzdEZsYWdEYXRhLnB1c2hfYmFjaygxLjBmKTsKLSAgICB0ZXN0RmxhZ0Rh
dGEucHVzaF9iYWNrKDAuMGYpOwotICAgIHRlc3RGbGFnRGF0YS5wdXNoX2JhY2soMS4wZik7Ci0g
ICAgdGVzdEZsYWdEYXRhLnB1c2hfYmFjaygwLjBmKTsKLSAgICB0ZXN0RmxhZ0RhdGEucHVzaF9i
YWNrKDEuMGYpOwotICAgIHRlc3RGbGFnRGF0YS5wdXNoX2JhY2soMC4wZik7Ci0gICAgdGVzdEZs
YWdEYXRhLnB1c2hfYmFjaygxLjBmKTsKLSAgICB0ZXN0RmxhZ0RhdGEucHVzaF9iYWNrKDAuMGYp
OwotCi0gICAgLy8gZ3JlZW4KLSAgICB0ZXN0RmxhZ0RhdGEucHVzaF9iYWNrKDAuMGYpOwotICAg
IHRlc3RGbGFnRGF0YS5wdXNoX2JhY2soMS4wZik7Ci0gICAgdGVzdEZsYWdEYXRhLnB1c2hfYmFj
aygwLjBmKTsKLSAgICB0ZXN0RmxhZ0RhdGEucHVzaF9iYWNrKDEuMGYpOwotICAgIHRlc3RGbGFn
RGF0YS5wdXNoX2JhY2soMC4wZik7Ci0gICAgdGVzdEZsYWdEYXRhLnB1c2hfYmFjaygxLjBmKTsK
LSAgICB0ZXN0RmxhZ0RhdGEucHVzaF9iYWNrKDAuMGYpOwotICAgIHRlc3RGbGFnRGF0YS5wdXNo
X2JhY2soMS4wZik7CisgICAgc3RkOjp2ZWN0b3I8R0xmbG9hdD4gcG9zaXRpb25EYXRhID0gey8v
IHF1YWQgdmVydHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEu
MGYsIDEuMGYsIC0xLjBmLCAtMS4wZiwgMS4wZiwgLTEuMGYsIDEuMGYsIDEuMGYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlcGVhdCBwb3NpdGlvbiBkYXRh
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLjBmLCAxLjBmLCAt
MS4wZiwgLTEuMGYsIDEuMGYsIC0xLjBmLCAxLjBmLCAxLjBmfTsKKworICAgIHN0ZDo6dmVjdG9y
PEdMZmxvYXQ+IHRlc3RGbGFnRGF0YSA9IHsvLyByZWQKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4w
ZiwgMC4wZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ3Jl
ZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wZiwgMS4wZiwg
MC4wZiwgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZn07CiAKICAgICBnbEJpbmRCdWZmZXIo
R0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG1JbmRleEJ1ZmZlcnNbMF0pOwogICAgIGdsQnVmZmVy
RGF0YShHTF9FTEVNRU5UX0FSUkFZX0JVRkZFUiwgc2l6ZW9mKEdMdWludCkgKiBpbmRleERhdGFb
MF0uc2l6ZSgpLCAmaW5kZXhEYXRhWzBdWzBdLApAQCAtMjQ5LDI0ICsyMTcsMTQ5IEBAIFRFU1Rf
UChEcmF3RWxlbWVudHNUZXN0LCBEZWxldGluZ0FmdGVyU3RyZWFtaW5nSW5kZXhlcykKIAogICAg
IGdsQmluZFZlcnRleEFycmF5KG1WZXJ0ZXhBcnJheXNbMF0pOwogICAgIGdsRHJhd0VsZW1lbnRz
KEdMX1RSSUFOR0xFUywgNiwgR0xfVU5TSUdORURfSU5ULCBudWxscHRyKTsKLSAgICBFWFBFQ1Rf
UElYRUxfRVEoMCwgMCwgMCwgMjU1LCAwLCAyNTUpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9F
USgwLCAwLCBHTENvbG9yOjpncmVlbik7CiAKICAgICBnbEJpbmRWZXJ0ZXhBcnJheShtVmVydGV4
QXJyYXlzWzFdKTsKICAgICBnbERyYXdFbGVtZW50cyhHTF9UUklBTkdMRVMsIDYsIEdMX1VOU0lH
TkVEX0lOVCwgbnVsbHB0cik7Ci0gICAgRVhQRUNUX1BJWEVMX0VRKDAsIDAsIDI1NSwgMCwgMCwg
MjU1KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6cmVkKTsKIAog
ICAgIGdsQmluZFZlcnRleEFycmF5KG1WZXJ0ZXhBcnJheXNbMF0pOwogICAgIGdsRHJhd0VsZW1l
bnRzKEdMX1RSSUFOR0xFUywgNiwgR0xfVU5TSUdORURfSU5ULCBudWxscHRyKTsKLSAgICBFWFBF
Q1RfUElYRUxfRVEoMCwgMCwgMCwgMjU1LCAwLCAyNTUpOworICAgIEVYUEVDVF9QSVhFTF9DT0xP
Ul9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CiAKICAgICAvLyBUcmlnZ2VyIHRoZSBidWcgaGVy
ZS4KICAgICBnbERlbGV0ZUJ1ZmZlcnMoMSwgJm1JbmRleEJ1ZmZlcnNbMl0pOwogCiAgICAgZ2xE
cmF3RWxlbWVudHMoR0xfVFJJQU5HTEVTLCA2LCBHTF9VTlNJR05FRF9JTlQsIG51bGxwdHIpOwot
ICAgIEVYUEVDVF9QSVhFTF9FUSgwLCAwLCAwLCAyNTUsIDAsIDI1NSk7CisgICAgRVhQRUNUX1BJ
WEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKIAogICAgIEFTU0VSVF9HTF9OT19F
UlJPUigpOwogfQorCisvLyBUZXN0IGRyYXdpbmcgdG8gcGFydCBvZiB0aGUgaW5kaWNlcyBpbiBh
biBpbmRleCBidWZmZXIsIGFuZCB0aGVuIGFsbCBvZiB0aGVtLgorVEVTVF9QKERyYXdFbGVtZW50
c1Rlc3QsIFBhcnRPZkluZGV4QnVmZmVyVGhlbkFsbCkKK3sKKyAgICAvLyBodHRwOi8vYW5nbGVi
dWcuY29tLzQ1NzUgLSBUZXN0IHNraXBwZWQgb24gRDNEMTEgKGFscGhhIGNoYW5uZWwgbm90IGNv
cnJlY3QpCisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NTc2IC0gVGVzdCBza2lwcGVkIG9u
IFN3aWZ0U2hhZGVyIChhbHBoYSBjaGFubmVsIG5vdCBkcmF3bikKKyAgICBBTkdMRV9TS0lQX1RF
U1RfSUYoSXNXaW5kb3dzKCkgJiYgKElzRDNEMTEoKSB8fCBpc1N3aWZ0c2hhZGVyKCkpKTsKKyAg
ICAvLyBJbml0IHByb2dyYW0KKyAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9CisgICAgICAgICJh
dHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbiIKKyAgICAgICAgImF0dHJpYnV0ZSB2ZWMyIHRlc3RG
bGFnO1xuIgorICAgICAgICAidmFyeWluZyB2ZWMyIHZfZGF0YTtcbiIKKyAgICAgICAgInZvaWQg
bWFpbigpIHtcbiIKKyAgICAgICAgIiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAwLCAx
KTtcbiIKKyAgICAgICAgIiAgdl9kYXRhID0gdGVzdEZsYWc7XG4iCisgICAgICAgICJ9IjsKKwor
ICAgIGNvbnN0ZXhwciBjaGFyIGtGU1tdID0KKyAgICAgICAgInZhcnlpbmcgaGlnaHAgdmVjMiB2
X2RhdGE7XG4iCisgICAgICAgICJ2b2lkIG1haW4oKSB7XG4iCisgICAgICAgICIgIGdsX0ZyYWdD
b2xvciA9IHZlYzQodl9kYXRhLCAwLCAxKTtcbiIKKyAgICAgICAgIn0iOworCisgICAgbVByb2dy
YW0gPSBDb21waWxlUHJvZ3JhbShrVlMsIGtGUyk7CisgICAgQVNTRVJUX05FKDB1LCBtUHJvZ3Jh
bSk7CisgICAgZ2xVc2VQcm9ncmFtKG1Qcm9ncmFtKTsKKworICAgIEdMaW50IHBvc2l0aW9uTG9j
YXRpb24gPSBnbEdldEF0dHJpYkxvY2F0aW9uKG1Qcm9ncmFtLCAicG9zaXRpb24iKTsKKyAgICBB
U1NFUlRfTkUoLTEsIHBvc2l0aW9uTG9jYXRpb24pOworCisgICAgR0xpbnQgdGVzdEZsYWdMb2Nh
dGlvbiA9IGdsR2V0QXR0cmliTG9jYXRpb24obVByb2dyYW0sICJ0ZXN0RmxhZyIpOworICAgIEFT
U0VSVF9ORSgtMSwgdGVzdEZsYWdMb2NhdGlvbik7CisKKyAgICBtSW5kZXhCdWZmZXJzLnJlc2l6
ZSgxKTsKKyAgICBnbEdlbkJ1ZmZlcnMoMSwgJm1JbmRleEJ1ZmZlcnNbMF0pOworCisgICAgbVZl
cnRleEFycmF5cy5yZXNpemUoMSk7CisgICAgZ2xHZW5WZXJ0ZXhBcnJheXMoMSwgJm1WZXJ0ZXhB
cnJheXNbMF0pOworCisgICAgbVZlcnRleEJ1ZmZlcnMucmVzaXplKDIpOworICAgIGdsR2VuQnVm
ZmVycygyLCAmbVZlcnRleEJ1ZmZlcnNbMF0pOworCisgICAgc3RkOjp2ZWN0b3I8R0x1Ynl0ZT4g
aW5kZXhEYXRhWzJdOworICAgIGluZGV4RGF0YVswXS5wdXNoX2JhY2soMCk7CisgICAgaW5kZXhE
YXRhWzBdLnB1c2hfYmFjaygxKTsKKyAgICBpbmRleERhdGFbMF0ucHVzaF9iYWNrKDIpOworICAg
IGluZGV4RGF0YVswXS5wdXNoX2JhY2soMik7CisgICAgaW5kZXhEYXRhWzBdLnB1c2hfYmFjaygz
KTsKKyAgICBpbmRleERhdGFbMF0ucHVzaF9iYWNrKDApOworICAgIGluZGV4RGF0YVswXS5wdXNo
X2JhY2soNCk7CisgICAgaW5kZXhEYXRhWzBdLnB1c2hfYmFjayg1KTsKKyAgICBpbmRleERhdGFb
MF0ucHVzaF9iYWNrKDYpOworICAgIGluZGV4RGF0YVswXS5wdXNoX2JhY2soNik7CisgICAgaW5k
ZXhEYXRhWzBdLnB1c2hfYmFjayg3KTsKKyAgICBpbmRleERhdGFbMF0ucHVzaF9iYWNrKDQpOwor
CisgICAgLy8gTWFrZSBhIGNvcHk6CisgICAgaW5kZXhEYXRhWzFdID0gaW5kZXhEYXRhWzBdOwor
CisgICAgc3RkOjp2ZWN0b3I8R0xmbG9hdD4gcG9zaXRpb25EYXRhID0gey8vIHF1YWQgdmVydHMK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuMGYsIDEuMGYsIC0x
LjBmLCAtMS4wZiwgMS4wZiwgLTEuMGYsIDEuMGYsIDEuMGYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIFJlcGVhdCBwb3NpdGlvbiBkYXRhCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLjBmLCAxLjBmLCAtMS4wZiwgLTEuMGYs
IDEuMGYsIC0xLjBmLCAxLjBmLCAxLjBmfTsKKworICAgIHN0ZDo6dmVjdG9yPEdMZmxvYXQ+IHRl
c3RGbGFnRGF0YSA9IHsvLyByZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZiwgMC4wZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ3JlZW4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZiwg
MC4wZiwgMS4wZiwgMC4wZiwgMS4wZn07CisKKyAgICBnbEJpbmRCdWZmZXIoR0xfRUxFTUVOVF9B
UlJBWV9CVUZGRVIsIG1JbmRleEJ1ZmZlcnNbMF0pOworICAgIGdsQnVmZmVyRGF0YShHTF9FTEVN
RU5UX0FSUkFZX0JVRkZFUiwgc2l6ZW9mKEdMdWJ5dGUpICogaW5kZXhEYXRhWzBdLnNpemUoKSwg
JmluZGV4RGF0YVswXVswXSwKKyAgICAgICAgICAgICAgICAgR0xfU1RBVElDX0RSQVcpOworCisg
ICAgZ2xCaW5kVmVydGV4QXJyYXkobVZlcnRleEFycmF5c1swXSk7CisKKyAgICBnbEJpbmRCdWZm
ZXIoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG1JbmRleEJ1ZmZlcnNbMF0pOworICAgIGdsQmlu
ZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIG1WZXJ0ZXhCdWZmZXJzWzBdKTsKKyAgICBnbEJ1ZmZl
ckRhdGEoR0xfQVJSQVlfQlVGRkVSLCBzaXplb2YoR0xmbG9hdCkgKiBwb3NpdGlvbkRhdGEuc2l6
ZSgpLCAmcG9zaXRpb25EYXRhWzBdLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7
CisgICAgZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24sIDIsIEdMX0ZMT0FU
LCBHTF9GQUxTRSwgc2l6ZW9mKEdMZmxvYXQpICogMiwgbnVsbHB0cik7CisgICAgZ2xFbmFibGVW
ZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKworICAgIGdsQmluZEJ1ZmZlcihH
TF9BUlJBWV9CVUZGRVIsIG1WZXJ0ZXhCdWZmZXJzWzFdKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xf
QVJSQVlfQlVGRkVSLCBzaXplb2YoR0xmbG9hdCkgKiB0ZXN0RmxhZ0RhdGEuc2l6ZSgpLCAmdGVz
dEZsYWdEYXRhWzBdLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7CisgICAgZ2xW
ZXJ0ZXhBdHRyaWJQb2ludGVyKHRlc3RGbGFnTG9jYXRpb24sIDIsIEdMX0ZMT0FULCBHTF9GQUxT
RSwgc2l6ZW9mKEdMZmxvYXQpICogMiwgbnVsbHB0cik7CisgICAgZ2xFbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheSh0ZXN0RmxhZ0xvY2F0aW9uKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
CisgICAgLy8gRHJhdyB3aXRoIGp1c3QgdGhlIHNlY29uZCBzZXQgb2YgNiBpdGVtcywgdGhlbiBm
aXJzdCA2LCBhbmQgdGhlbiB0aGUgZW50aXJlIGluZGV4IGJ1ZmZlcgorICAgIGdsRHJhd0VsZW1l
bnRzKEdMX1RSSUFOR0xFUywgNiwgR0xfVU5TSUdORURfQllURSwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCB2b2lkICo+KDYpKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xv
cjo6Z3JlZW4pOworCisgICAgZ2xEcmF3RWxlbWVudHMoR0xfVFJJQU5HTEVTLCA2LCBHTF9VTlNJ
R05FRF9CWVRFLCBudWxscHRyKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xD
b2xvcjo6cmVkKTsKKworICAgIGdsRHJhd0VsZW1lbnRzKEdMX1RSSUFOR0xFUywgMTIsIEdMX1VO
U0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBH
TENvbG9yOjpncmVlbik7CisKKyAgICAvLyBSZWxvYWQgdGhlIGJ1ZmZlciBhZ2FpbiB3aXRoIGEg
Y29weSBvZiB0aGUgc2FtZSBkYXRhCisgICAgZ2xCdWZmZXJEYXRhKEdMX0VMRU1FTlRfQVJSQVlf
QlVGRkVSLCBzaXplb2YoR0x1Ynl0ZSkgKiBpbmRleERhdGFbMV0uc2l6ZSgpLCAmaW5kZXhEYXRh
WzFdWzBdLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICAvLyBEcmF3
IHdpdGgganVzdCB0aGUgZmlyc3QgNiBpbmRpY2VzLCBhbmQgdGhlbiB3aXRoIHRoZSBlbnRpcmUg
aW5kZXggYnVmZmVyCisgICAgZ2xEcmF3RWxlbWVudHMoR0xfVFJJQU5HTEVTLCA2LCBHTF9VTlNJ
R05FRF9CWVRFLCBudWxscHRyKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xD
b2xvcjo6cmVkKTsKKworICAgIGdsRHJhd0VsZW1lbnRzKEdMX1RSSUFOR0xFUywgMTIsIEdMX1VO
U0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBH
TENvbG9yOjpncmVlbik7CisKKyAgICAvLyBSZWxvYWQgdGhlIGJ1ZmZlciBhZ2FpbiB3aXRoIGEg
Y29weSBvZiB0aGUgc2FtZSBkYXRhCisgICAgZ2xCdWZmZXJEYXRhKEdMX0VMRU1FTlRfQVJSQVlf
QlVGRkVSLCBzaXplb2YoR0x1Ynl0ZSkgKiBpbmRleERhdGFbMF0uc2l6ZSgpLCAmaW5kZXhEYXRh
WzBdWzBdLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICAvLyBUaGlz
IHRpbWUsIGRvIG5vdCBjaGVjayBjb2xvciBiZXR3ZWVuIGRyYXdzICh3aGljaCBjYXVzZXMgYSBm
bHVzaCk6CisgICAgLy8gRHJhdyB3aXRoIGp1c3QgdGhlIHNlY29uZCBzZXQgb2YgNiBpdGVtcywg
dGhlbiBmaXJzdCA2LCBhbmQgdGhlbiB0aGUgZW50aXJlIGluZGV4IGJ1ZmZlcgorICAgIGdsRHJh
d0VsZW1lbnRzKEdMX1RSSUFOR0xFUywgNiwgR0xfVU5TSUdORURfQllURSwgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB2b2lkICo+KDYpKTsKKyAgICBnbERyYXdFbGVtZW50cyhHTF9UUklBTkdMRVMs
IDYsIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIGdsRHJhd0VsZW1lbnRzKEdMX1RS
SUFOR0xFUywgMTIsIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisKKyAgICBBU1NFUlRfR0xfTk9fRVJS
T1IoKTsKK30KKwogLy8gVGVzdCB0aGF0IHRoZSBvZmZzZXQgaW4gdGhlIGluZGV4IGJ1ZmZlciBp
cyBmb3JjZWQgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgZWxlbWVudCBzaXplCiBURVNUX1AoV2Vi
R0xEcmF3RWxlbWVudHNUZXN0LCBEcmF3RWxlbWVudHNUeXBlQWxpZ25tZW50KQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0ZlbmNlU3lu
Y1Rlc3RzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9G
ZW5jZVN5bmNUZXN0cy5jcHAKaW5kZXggZTQ1YWZiM2ZmMmM2ZTE4ZjliNzM4MzkwZGZmN2ViYWE2
YTZiNWEwMS4uZGIwYzk3NWMyMjk3MWY3YTY2MzYzOWU3NDBmZmE2NTNlNGU3YjhlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0ZlbmNlU3lu
Y1Rlc3RzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVz
dHMvRmVuY2VTeW5jVGVzdHMuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgVEVTVF9QKEZlbmNlU3lu
Y1Rlc3QsIEVycm9ycykKICAgICBFWFBFQ1RfRVEoMjAsIGxlbmd0aCk7CiAgICAgRVhQRUNUX0VR
KDMwLCB2YWx1ZSk7CiAKLSAgICAvLyBnbEdldFN5bmNpdiBnZW5lcmF0ZXMgR0xfSU5WQUxJRF9W
QUxVRSBpZiB0aGUgc3luYyBvYmplY3QgdGlzIG5vdCB2YWxpZCwgcmVzdWx0cyBzaG91bGQgYmUK
KyAgICAvLyBnbEdldFN5bmNpdiBnZW5lcmF0ZXMgR0xfSU5WQUxJRF9WQUxVRSBpZiB0aGUgc3lu
YyBvYmplY3QgaXMgbm90IHZhbGlkLCByZXN1bHRzIHNob3VsZCBiZQogICAgIC8vIHVudG91Y2hl
ZAogICAgIGdsR2V0U3luY2l2KHJlaW50ZXJwcmV0X2Nhc3Q8R0xzeW5jPigzMCksIEdMX09CSkVD
VF9UWVBFLCAxLCAmbGVuZ3RoLCAmdmFsdWUpOwogICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZB
TElEX1ZBTFVFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9nbF90ZXN0cy9GcmFtZWJ1ZmZlclRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2dsX3Rlc3RzL0ZyYW1lYnVmZmVyVGVzdC5jcHAKaW5kZXggMTJlYzc2NTZiMzQ1
ZmYyNTNhN2RjN2ZjNDMwMjQ0ZjdjZGY0NjVkMi4uMGJkMWNiZjZhN2VmNjczOWQ0NWQ5YWJkYTM3
OTU5OGFmZGYzYjQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2dsX3Rlc3RzL0ZyYW1lYnVmZmVyVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0ZyYW1lYnVmZmVyVGVzdC5jcHAKQEAgLTEzMjAsNyAr
MTMyMCwxOTQgQEAgdm9pZCBtYWluKCkKICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwg
R0xDb2xvcjo6Z3JlZW4pOwogfQogCisvLyBDb3ZlcnMgYSBidWcgaW4gQU5HTEUncyBWdWxrYW4g
YmFjay1lbmQuIE91ciBWa0ZyYW1lYnVmZmVyIGNhY2hlIHdvdWxkIGluIHNvbWUgY2FzZXMgZm9y
Z2V0IHRvCisvLyBjaGVjayB0aGUgZHJhdyBzdGF0ZXMgd2hlbiBjb21wdXRpbmcgYSBjYWNoZSBr
ZXkuCitURVNUX1AoRnJhbWVidWZmZXJUZXN0X0VTMywgRGlzYWJsZWRBdHRhY2htZW50UmVkZWZp
bml0aW9uKQoreworICAgIGNvbnN0ZXhwciBHTHVpbnQga1NpemUgPSAyOworCisgICAgLy8gTWFr
ZSBhIEZyYW1lYnVmZmVyIHdpdGggdHdvIGF0dGFjaG1lbnRzIHdpdGggb25lIGVuYWJsZWQgYW5k
IG9uZSBkaXNhYmxlZC4KKyAgICBHTFRleHR1cmUgdGV4QSwgdGV4QjsKKyAgICBnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfMkQsIHRleEEpOworICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJE
LCAwLCBHTF9SR0JBOCwga1NpemUsIGtTaXplLCAwLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRF
LCBudWxscHRyKTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleEIpOworICAg
IGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBOCwga1NpemUsIGtTaXplLCAw
LCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBudWxscHRyKTsKKworICAgIEdMRnJhbWVidWZm
ZXIgZmJvOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmYm8pOworICAg
IGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1F
TlQwLCBHTF9URVhUVVJFXzJELCB0ZXhBLCAwKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJE
KEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMSwgR0xfVEVYVFVSRV8yRCwgdGV4
QiwgMCk7CisKKyAgICAvLyBNYXNrIG91dCB0aGUgc2Vjb25kIHRleHR1cmUuCisgICAgY29uc3Rl
eHByIEdMZW51bSBrT25lRHJhd0J1ZiA9IEdMX0NPTE9SX0FUVEFDSE1FTlQwOworICAgIGdsRHJh
d0J1ZmZlcnMoMSwgJmtPbmVEcmF3QnVmKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
ICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAg
ICAvLyBTZXQgdXAgYSB2ZXJ5IHNpbXBsZSBzaGFkZXIuCisgICAgQU5HTEVfR0xfUFJPR1JBTShw
cm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpH
cmVlbigpKTsKKyAgICBnbFZpZXdwb3J0KDAsIDAsIGtTaXplLCBrU2l6ZSk7CisKKyAgICAvLyBE
cmF3CisgICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIo
KSwgMC41ZiwgMS4wZiwgdHJ1ZSk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKKworICAgIC8vIFVwZGF0
ZSB0aGUgbWFza2VkIG91dCBhdHRhY2htZW50IGFuZCBkcmF3IGFnYWluLgorICAgIHN0ZDo6dmVj
dG9yPEdMQ29sb3I+IHJlZFBpeGVscyhrU2l6ZSAqIGtTaXplLCBHTENvbG9yOjpyZWQpOworICAg
IGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCAwLCAwLCBrU2l6ZSwga1NpemUsIEdM
X1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgICAgIHJlZFBpeGVscy5k
YXRhKCkpOworCisgICAgLy8gRHJhdworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3NoYWRl
cnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYsIDEuMGYsIHRydWUpOworICAgIEFTU0VSVF9HTF9O
T19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVl
bik7CisKKyAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1JfQVRUQUNITUVOVDEpOworICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpOworfQorCitjbGFzcyBGcmFtZWJ1ZmZlclRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0Cit7
fTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIEZpbGxUZXh0dXJlMkQoR0x1aW50IHRl
eHR1cmUsCisgICAgICAgICAgICAgICAgICAgR0xzaXplaSB3aWR0aCwKKyAgICAgICAgICAgICAg
ICAgICBHTHNpemVpIGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICBjb25zdCBUICZvbmVQaXhl
bERhdGEsCisgICAgICAgICAgICAgICAgICAgR0xpbnQgbGV2ZWwsCisgICAgICAgICAgICAgICAg
ICAgR0xpbnQgaW50ZXJuYWxGb3JtYXQsCisgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1h
dCwKKyAgICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSkKK3sKKyAgICBzdGQ6OnZlY3RvcjxU
PiBhbGxQaXhlbHNEYXRhKHdpZHRoICogaGVpZ2h0LCBvbmVQaXhlbERhdGEpOworCisgICAgZ2xC
aW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbFRleEltYWdlMkQoR0xf
VEVYVFVSRV8yRCwgbGV2ZWwsIGludGVybmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBmb3Jt
YXQsIHR5cGUsCisgICAgICAgICAgICAgICAgIGFsbFBpeGVsc0RhdGEuZGF0YSgpKTsKKyAgICBn
bFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklMVEVSLCBHTF9O
RUFSRVNUKTsKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9N
QUdfRklMVEVSLCBHTF9ORUFSRVNUKTsKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8y
RCwgR0xfVEVYVFVSRV9XUkFQX1MsIEdMX0NMQU1QX1RPX0VER0UpOworICAgIGdsVGV4UGFyYW1l
dGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVBfVE9fRURHRSk7
Cit9CisKKy8vIE11bHRpLWNvbnRleHQgdXNlcyBvZiB0ZXh0dXJlcyBzaG91bGQgbm90IGNhdXNl
IHJlbmRlcmluZyBmZWVkYmFjayBsb29wcy4KK1RFU1RfUChGcmFtZWJ1ZmZlclRlc3QsIE11bHRp
Q29udGV4dE5vUmVuZGVyaW5nRmVlZGJhY2tMb29wcykKK3sKKyAgICBjb25zdGV4cHIgY2hhciBr
VGV4dHVyZVZTW10gPQorICAgICAgICBSIihhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwordmFy
eWluZyB2ZWMyIHZfdGV4Q29vcmQ7Cit2b2lkIG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSBh
X3Bvc2l0aW9uOworICAgIHZfdGV4Q29vcmQgPSAoYV9wb3NpdGlvbi54eSAqIDAuNSkgKyAwLjU7
Cit9KSI7CisKKyAgICBjb25zdGV4cHIgY2hhciBrVGV4dHVyZUZTW10gPQorICAgICAgICBSIihw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVjMiB2X3RleENvb3JkOwordW5pZm9y
bSBzYW1wbGVyMkQgdV90ZXh0dXJlOwordm9pZCBtYWluKCkgeworICAgIGdsX0ZyYWdDb2xvciA9
IHRleHR1cmUyRCh1X3RleHR1cmUsIHZfdGV4Q29vcmQpLnJnYmE7Cit9KSI7CisKKyAgICBBTkdM
RV9HTF9QUk9HUkFNKHRleHR1cmVQcm9ncmFtLCBrVGV4dHVyZVZTLCBrVGV4dHVyZUZTKTsKKwor
ICAgIGdsVXNlUHJvZ3JhbSh0ZXh0dXJlUHJvZ3JhbS5nZXQoKSk7CisgICAgR0xpbnQgdW5pZm9y
bUxvYyA9IGdsR2V0VW5pZm9ybUxvY2F0aW9uKHRleHR1cmVQcm9ncmFtLmdldCgpLCAidV90ZXh0
dXJlIik7CisgICAgQVNTRVJUX05FKC0xLCB1bmlmb3JtTG9jKTsKKyAgICBnbFVuaWZvcm0xaSh1
bmlmb3JtTG9jLCAwKTsKKworICAgIEdMVGV4dHVyZSB0ZXh0dXJlOworICAgIEZpbGxUZXh0dXJl
MkQodGV4dHVyZS5nZXQoKSwgMSwgMSwgR0xDb2xvcjo6cmVkLCAwLCBHTF9SR0JBLCBHTF9SR0JB
LCBHTF9VTlNJR05FRF9CWVRFKTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRl
eHR1cmUuZ2V0KCkpOworICAgIC8vIE5vdGUgdGhhdCBfdGV4dHVyZV8gaXMgc3RpbGwgYm91bmQg
dG8gR0xfVEVYVFVSRV8yRCBpbiB0aGlzIGNvbnRleHQgYXQgdGhpcyBwb2ludC4KKworICAgIEVH
TFdpbmRvdyAqd2luZG93ICAgICAgICAgID0gZ2V0RUdMV2luZG93KCk7CisgICAgRUdMRGlzcGxh
eSBkaXNwbGF5ICAgICAgICAgPSB3aW5kb3ctPmdldERpc3BsYXkoKTsKKyAgICBFR0xDb25maWcg
Y29uZmlnICAgICAgICAgICA9IHdpbmRvdy0+Z2V0Q29uZmlnKCk7CisgICAgRUdMU3VyZmFjZSBz
dXJmYWNlICAgICAgICAgPSB3aW5kb3ctPmdldFN1cmZhY2UoKTsKKyAgICBFR0xpbnQgY29udGV4
dEF0dHJpYnV0ZXNbXSA9IHsKKyAgICAgICAgRUdMX0NPTlRFWFRfTUFKT1JfVkVSU0lPTl9LSFIs
CisgICAgICAgIEdldFBhcmFtKCkubWFqb3JWZXJzaW9uLAorICAgICAgICBFR0xfQ09OVEVYVF9N
SU5PUl9WRVJTSU9OX0tIUiwKKyAgICAgICAgR2V0UGFyYW0oKS5taW5vclZlcnNpb24sCisgICAg
ICAgIEVHTF9OT05FLAorICAgIH07CisgICAgRUdMQ29udGV4dCBjb250ZXh0MSA9IGVnbEdldEN1
cnJlbnRDb250ZXh0KCk7CisgICAgLy8gQ3JlYXRlIGNvbnRleHQyLCBzaGFyaW5nIHJlc291cmNl
cyB3aXRoIGNvbnRleHQxLgorICAgIEVHTENvbnRleHQgY29udGV4dDIgPSBlZ2xDcmVhdGVDb250
ZXh0KGRpc3BsYXksIGNvbmZpZywgY29udGV4dDEsIGNvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBB
U1NFUlRfTkUoY29udGV4dDIsIEVHTF9OT19DT05URVhUKTsKKyAgICBlZ2xNYWtlQ3VycmVudChk
aXNwbGF5LCBzdXJmYWNlLCBzdXJmYWNlLCBjb250ZXh0Mik7CisKKyAgICBjb25zdGV4cHIgY2hh
ciBrVlNbXSA9CisgICAgICAgIFIiKGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1h
aW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfSkiOworCisgICAgY29uc3Rl
eHByIGNoYXIga0ZTW10gPQorICAgICAgICBSIihwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3Zv
aWQgbWFpbigpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCwgMS4wLCAwLjAsIDEuMCk7
Cit9KSI7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGtWUywga0ZTKTsKKyAgICBn
bFVzZVByb2dyYW0ocHJvZ3JhbS5nZXQoKSk7CisKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
KworICAgIC8vIFJlbmRlciB0byB0aGUgdGV4dHVyZSBpbiBjb250ZXh0Mi4KKyAgICBHTEZyYW1l
YnVmZmVyIGZyYW1lYnVmZmVyOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVS
LCBmcmFtZWJ1ZmZlci5nZXQoKSk7CisgICAgLy8gVGV4dHVyZSBpcyBzdGlsbCBhIHZhbGlkIG5h
bWUgaW4gY29udGV4dDIuCisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZF
UiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIHRleHR1cmUuZ2V0KCksIDAp
OworICAgIEFTU0VSVF9HTEVOVU1fRVEoR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUsIGdsQ2hlY2tG
cmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikpOworICAgIC8vIFRoZXJlIGlzIG5vIHJl
bmRlcmluZyBmZWVkYmFjayBsb29wIGF0IHRoaXMgcG9pbnQuCisKKyAgICBnbERpc2FibGUoR0xf
QkxFTkQpOworICAgIGdsRGlzYWJsZShHTF9ERVBUSF9URVNUKTsKKyAgICBBU1NFUlRfR0xfTk9f
RVJST1IoKTsKKworICAgIC8vIElmIGRyYXcgaXMgbm8tb3AnZWQsIHRleHR1cmUgd2lsbCBub3Qg
YmUgZmlsbGVkIGFwcHJvcHJpYXRlbHkuCisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgImFf
cG9zaXRpb24iLCAwLjVmLCAxLjBmLCB0cnVlKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
KyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOworCisgICAg
Ly8gTWFrZSBjb250ZXh0MSBjdXJyZW50IGFnYWluLgorICAgIGVnbE1ha2VDdXJyZW50KGRpc3Bs
YXksIHN1cmZhY2UsIHN1cmZhY2UsIGNvbnRleHQxKTsKKworICAgIC8vIFJlbmRlciB0ZXh0dXJl
IHRvIHNjcmVlbi4KKyAgICBkcmF3UXVhZCh0ZXh0dXJlUHJvZ3JhbS5nZXQoKSwgImFfcG9zaXRp
b24iLCAwLjVmLCAxLjBmLCB0cnVlKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICBF
WFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOworCisgICAgZWdsRGVz
dHJveUNvbnRleHQoZGlzcGxheSwgY29udGV4dDIpOworfQorCisvLyBFbnN1cmUgY3ViZS1pbmNv
bXBsZXRlIGF0dGFjaG1lbnRzIGNhdXNlIGluY29tcGxldGUgRnJhbWVidWZmZXJzLgorVEVTVF9Q
KEZyYW1lYnVmZmVyVGVzdCwgSW5jb21wbGV0ZUN1YmVNYXApCit7CisgICAgY29uc3RleHByIEdM
dWludCBrU2l6ZSA9IDI7CisKKyAgICBHTFRleHR1cmUgc3JjVGV4OworICAgIGdsQmluZFRleHR1
cmUoR0xfVEVYVFVSRV9DVUJFX01BUCwgc3JjVGV4KTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCAwLCBHTF9SR0JBLCBrU2l6ZSwga1NpemUsIDAsIEdM
X1JHQkEsCisgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworCisg
ICAgR0xGcmFtZWJ1ZmZlciBmYm87CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZG
RVIsIGZibyk7CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xf
Q09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNyY1RleCwgMCk7CisKKyAgICBBU1NFUlRfR0xfTk9fRVJS
T1IoKTsKKyAgICBBU1NFUlRfR0xFTlVNX0VRKGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9G
UkFNRUJVRkZFUiksCisgICAgICAgICAgICAgICAgICAgICBHTF9GUkFNRUJVRkZFUl9JTkNPTVBM
RVRFX0FUVEFDSE1FTlQpOworfQorCiBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMihBZGREdW1t
eVRleHR1cmVOb1JlbmRlclRhcmdldFRlc3QpOworQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzIo
RnJhbWVidWZmZXJUZXN0KTsKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMyX0FORF9FUzMoRnJh
bWVidWZmZXJGb3JtYXRzVGVzdCk7CiBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMyhGcmFtZWJ1
ZmZlclRlc3RfRVMzKTsKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMzMShGcmFtZWJ1ZmZlclRl
c3RfRVMzMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
Z2xfdGVzdHMvR0xTTFRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2dsX3Rlc3RzL0dMU0xUZXN0LmNwcAppbmRleCA5ZGRiZWIwZjkxOTFiNGI4N2UxOTM5NzNhMDRl
MDI4NGU0OTE3MTliLi4yZTQzYmYzYTRlYzVmZDY0M2Q5YTcwM2NjYjU4NDBhMTQzMWIxOWIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvR0xT
TFRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0
cy9HTFNMVGVzdC5jcHAKQEAgLTU5OTEsNiArNTk5MSw3MSBAQCB2b2lkIG1haW4oKQogICAgIEFT
U0VSVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBWZXJpZnkgdGhhdCBhIHZhbGlkIHByb2dyYW0g
c3RpbGwgZHJhd3MgY29ycmVjdGx5IGFmdGVyIGEgc2hhZGVyIGxpbmsgZXJyb3IKK1RFU1RfUChH
TFNMVGVzdCwgRHJhd0FmdGVyU2hhZGVyTGlua0Vycm9yKQoreworICAgIGNvbnN0ZXhwciBjaGFy
IGtWU1tdICAgID0gUiIoYXR0cmlidXRlIHZlYzQgcG9zaXRpb247CisgICAgICAgIHZhcnlpbmcg
dmVjNCB2Q29sb3I7CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHZDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgICAgIGdsX1Bvc2l0
aW9uID0gcG9zaXRpb247CisgICAgICAgIH0pIjsKKyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSAg
ICA9IFIiKHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgICAgICB2YXJ5aW5nIHZlYzQgdkNv
bG9yOworICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9GcmFn
Q29sb3IgPSB2Q29sb3I7CisgICAgICAgIH0pIjsKKyAgICBjb25zdGV4cHIgY2hhciBrQmFkRlNb
XSA9IFIiKFdJTEwgTk9UIENPTVBJTEU7KSI7CisKKyAgICBHTHVpbnQgZnNCYWQgPSBnbENyZWF0
ZVNoYWRlcihHTF9GUkFHTUVOVF9TSEFERVIpOworCisgICAgLy8gQ3JlYXRlIGJhZCBmcmFnbWVu
dCBzaGFkZXIKKyAgICB7CisgICAgICAgIGNvbnN0IGNoYXIgKnNvdXJjZUFycmF5WzFdID0ge2tC
YWRGU307CisgICAgICAgIGdsU2hhZGVyU291cmNlKGZzQmFkLCAxLCBzb3VyY2VBcnJheSwgbnVs
bHB0cik7CisgICAgICAgIGdsQ29tcGlsZVNoYWRlcihmc0JhZCk7CisKKyAgICAgICAgR0xpbnQg
Y29tcGlsZVJlc3VsdDsKKyAgICAgICAgZ2xHZXRTaGFkZXJpdihmc0JhZCwgR0xfQ09NUElMRV9T
VEFUVVMsICZjb21waWxlUmVzdWx0KTsKKyAgICAgICAgQVNTRVJUX0ZBTFNFKGNvbXBpbGVSZXN1
bHQpOworICAgIH0KKworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwga1ZTLCBrRlMpOwor
ICAgIEdMdWludCBmcyA9IEdldFByb2dyYW1TaGFkZXIocHJvZ3JhbS5nZXQoKSwgR0xfRlJBR01F
TlRfU0hBREVSKTsKKworICAgIGdsQ2xlYXJDb2xvcigxLjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsK
KyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xP
Ul9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOworCisgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW0uZ2V0
KCkpOworICAgIEdMaW50IHBvc2l0aW9uTG9jYXRpb24gICAgICAgICAgICAgID0gZ2xHZXRBdHRy
aWJMb2NhdGlvbihwcm9ncmFtLmdldCgpLCAicG9zaXRpb24iKTsKKyAgICBzdGQ6OmFycmF5PFZl
Y3RvcjMsIDY+IHF1YWRWZXJ0aWNlcyA9IEdldFF1YWRWZXJ0aWNlcygpOworICAgIGZvciAoVmVj
dG9yMyAmdmVydGV4IDogcXVhZFZlcnRpY2VzKQorICAgIHsKKyAgICAgICAgdmVydGV4LnooKSA9
IDAuNWY7CisgICAgfQorICAgIGdsVmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9u
LCAzLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIHF1YWRWZXJ0aWNlcy5kYXRhKCkpOworICAgIGds
RW5hYmxlVmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgICAgZ2xEcmF3QXJy
YXlzKEdMX1RSSUFOR0xFUywgMCwgNik7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAs
IEdMQ29sb3I6OmdyZWVuKTsKKworICAgIGdsRGV0YWNoU2hhZGVyKHByb2dyYW0uZ2V0KCksIGZz
KTsKKyAgICBnbEF0dGFjaFNoYWRlcihwcm9ncmFtLmdldCgpLCBmc0JhZCk7CisgICAgZ2xMaW5r
UHJvZ3JhbShwcm9ncmFtLmdldCgpKTsKKyAgICBHTGludCBsaW5rU3RhdHVzID0gR0xfVFJVRTsK
KyAgICBnbEdldFByb2dyYW1pdihwcm9ncmFtLmdldCgpLCBHTF9MSU5LX1NUQVRVUywgJmxpbmtT
dGF0dXMpOworICAgIEFTU0VSVF9GQUxTRShsaW5rU3RhdHVzKTsKKworICAgIGdsQ2xlYXJDb2xv
cigxLjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9C
SVQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOworCisg
ICAgZ2xEcmF3QXJyYXlzKEdMX1RSSUFOR0xFUywgMCwgNik7CisgICAgRVhQRUNUX1BJWEVMX0NP
TE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKK30KKwogLy8gVmFsaWRhdGUgZXJyb3IgbWVz
c2FnZXMgd2hlbiB0aGUgbGluayBtaXNtYXRjaCBvY2N1cnMgb24gdGhlIHR5cGUgb2YgYSBub24t
c3RydWN0IHZhcnlpbmcuCiBURVNUX1AoR0xTTFRlc3QsIEVycm9yTWVzc2FnZU9mVmFyeWluZ01p
c21hdGNoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2dsX3Rlc3RzL0ltYWdlVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xfdGVzdHMvSW1hZ2VUZXN0LmNwcAppbmRleCBmZWY5ZjdiM2ZmZTdhZTgwN2QyZmM5OGZj
NjFmOTYwMDQ3MmM0YjA2Li5iMjQ1ZjQ4NThlYjcyZWE2ZjFmYzA4NmUyNDcyMWJkN2M0YTk5ODY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMv
SW1hZ2VUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvSW1hZ2VUZXN0LmNwcApAQCAtMTUsMTUgKzE1LDI1IEBAIG5hbWVzcGFjZSBhbmdsZQog
ewogbmFtZXNwYWNlCiB7Ci1jb25zdGV4cHIgY2hhciBrT0VTRXh0W10gICAgICAgICAgID0gIkdM
X09FU19FR0xfaW1hZ2UiOwotY29uc3RleHByIGNoYXIga0V4dGVybmFsRXh0W10gICAgICA9ICJH
TF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsIjsKLWNvbnN0ZXhwciBjaGFyIGtFeHRlcm5hbEVTU0wz
RXh0W10gPSAiR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyI7Ci1jb25zdGV4cHIgY2hh
ciBrQmFzZUV4dFtdICAgICAgICAgID0gIkVHTF9LSFJfaW1hZ2VfYmFzZSI7Ci1jb25zdGV4cHIg
Y2hhciBrMkRUZXh0dXJlRXh0W10gICAgID0gIkVHTF9LSFJfZ2xfdGV4dHVyZV8yRF9pbWFnZSI7
Ci1jb25zdGV4cHIgY2hhciBrM0RUZXh0dXJlRXh0W10gICAgID0gIkVHTF9LSFJfZ2xfdGV4dHVy
ZV8zRF9pbWFnZSI7Ci1jb25zdGV4cHIgY2hhciBrUGl4bWFwRXh0W10gICAgICAgID0gIkVHTF9L
SFJfaW1hZ2VfcGl4bWFwIjsKLWNvbnN0ZXhwciBjaGFyIGtSZW5kZXJidWZmZXJFeHRbXSAgPSAi
RUdMX0tIUl9nbF9yZW5kZXJidWZmZXJfaW1hZ2UiOwotY29uc3RleHByIGNoYXIga0N1YmVtYXBF
eHRbXSAgICAgICA9ICJFR0xfS0hSX2dsX3RleHR1cmVfY3ViZW1hcF9pbWFnZSI7Citjb25zdGV4
cHIgY2hhciBrT0VTRXh0W10gICAgICAgICAgICAgICA9ICJHTF9PRVNfRUdMX2ltYWdlIjsKK2Nv
bnN0ZXhwciBjaGFyIGtFeHRlcm5hbEV4dFtdICAgICAgICAgID0gIkdMX09FU19FR0xfaW1hZ2Vf
ZXh0ZXJuYWwiOworY29uc3RleHByIGNoYXIga0V4dGVybmFsRVNTTDNFeHRbXSAgICAgPSAiR0xf
T0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyI7Citjb25zdGV4cHIgY2hhciBrQmFzZUV4dFtd
ICAgICAgICAgICAgICA9ICJFR0xfS0hSX2ltYWdlX2Jhc2UiOworY29uc3RleHByIGNoYXIgazJE
VGV4dHVyZUV4dFtdICAgICAgICAgPSAiRUdMX0tIUl9nbF90ZXh0dXJlXzJEX2ltYWdlIjsKK2Nv
bnN0ZXhwciBjaGFyIGszRFRleHR1cmVFeHRbXSAgICAgICAgID0gIkVHTF9LSFJfZ2xfdGV4dHVy
ZV8zRF9pbWFnZSI7Citjb25zdGV4cHIgY2hhciBrUGl4bWFwRXh0W10gICAgICAgICAgICA9ICJF
R0xfS0hSX2ltYWdlX3BpeG1hcCI7Citjb25zdGV4cHIgY2hhciBrUmVuZGVyYnVmZmVyRXh0W10g
ICAgICA9ICJFR0xfS0hSX2dsX3JlbmRlcmJ1ZmZlcl9pbWFnZSI7Citjb25zdGV4cHIgY2hhciBr
Q3ViZW1hcEV4dFtdICAgICAgICAgICA9ICJFR0xfS0hSX2dsX3RleHR1cmVfY3ViZW1hcF9pbWFn
ZSI7Citjb25zdGV4cHIgY2hhciBrSW1hZ2VHTENvbG9yc3BhY2VFeHRbXSA9ICJFR0xfRVhUX2lt
YWdlX2dsX2NvbG9yc3BhY2UiOworY29uc3RleHByIGNoYXIga0VHTEltYWdlQXJyYXlFeHRbXSAg
ICAgPSAiR0xfRVhUX0VHTF9pbWFnZV9hcnJheSI7Citjb25zdGV4cHIgRUdMaW50IGtEZWZhdWx0
QXR0cmlic1tdICAgICA9IHsKKyAgICBFR0xfSU1BR0VfUFJFU0VSVkVELAorICAgIEVHTF9UUlVF
LAorICAgIEVHTF9OT05FLAorfTsKK2NvbnN0ZXhwciBFR0xpbnQga0NvbG9yc3BhY2VBdHRyaWJz
W10gPSB7CisgICAgRUdMX0lNQUdFX1BSRVNFUlZFRCwgRUdMX1RSVUUsIEVHTF9HTF9DT0xPUlNQ
QUNFLCBFR0xfR0xfQ09MT1JTUEFDRV9TUkdCX0tIUiwgRUdMX05PTkUsCit9OwogfSAgLy8gYW5v
bnltb3VzIG5hbWVzcGFjZQogCiBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CkBA
IC01Myw2ICs2MywxNSBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAg
ICAgICAgICAiICAgIHRleGNvb3JkID0gKHBvc2l0aW9uLnh5ICogMC41KSArIDAuNTtcbiIKICAg
ICAgICAgICAgICIgICAgdGV4Y29vcmQueSA9IDEuMCAtIHRleGNvb3JkLnk7XG4iCiAgICAgICAg
ICAgICAifVxuIjsKKyAgICAgICAgY29uc3RleHByIGNoYXIga1ZTMkRBcnJheVtdID0KKyAgICAg
ICAgICAgICIjdmVyc2lvbiAzMDAgZXNcbiIKKyAgICAgICAgICAgICJvdXQgdmVjMiB0ZXhjb29y
ZDtcbiIKKyAgICAgICAgICAgICJpbiB2ZWM0IHBvc2l0aW9uO1xuIgorICAgICAgICAgICAgInZv
aWQgbWFpbigpXG4iCisgICAgICAgICAgICAie1xuIgorICAgICAgICAgICAgIiAgICBnbF9Qb3Np
dGlvbiA9IHZlYzQocG9zaXRpb24ueHksIDAuMCwgMS4wKTtcbiIKKyAgICAgICAgICAgICIgICAg
dGV4Y29vcmQgPSAocG9zaXRpb24ueHkgKiAwLjUpICsgMC41O1xuIgorICAgICAgICAgICAgIn1c
biI7CiAgICAgICAgIGNvbnN0ZXhwciBjaGFyIGtWU0VTU0wzW10gPQogICAgICAgICAgICAgIiN2
ZXJzaW9uIDMwMCBlc1xuIgogICAgICAgICAgICAgInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiIK
QEAgLTc1LDYgKzk0LDE2IEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAg
ICAgICAgICAgICJ7XG4iCiAgICAgICAgICAgICAiICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmUy
RCh0ZXgsIHRleGNvb3JkKTtcbiIKICAgICAgICAgICAgICJ9XG4iOworICAgICAgICBjb25zdGV4
cHIgY2hhciBrVGV4dHVyZTJEQXJyYXlGU1tdID0KKyAgICAgICAgICAgICIjdmVyc2lvbiAzMDAg
ZXNcbiIKKyAgICAgICAgICAgICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4iCisgICAgICAgICAg
ICAidW5pZm9ybSBoaWdocCBzYW1wbGVyMkRBcnJheSB0ZXgyREFycmF5O1xuIgorICAgICAgICAg
ICAgImluIHZlYzIgdGV4Y29vcmQ7XG4iCisgICAgICAgICAgICAib3V0IHZlYzQgZnJhZ0NvbG9y
O1xuIgorICAgICAgICAgICAgInZvaWQgbWFpbigpXG4iCisgICAgICAgICAgICAie1xuIgorICAg
ICAgICAgICAgIiAgICBmcmFnQ29sb3IgPSB0ZXh0dXJlKHRleDJEQXJyYXksIHZlYzModGV4Y29v
cmQueCwgdGV4Y29vcmQueSwgMC4wKSk7XG4iCisgICAgICAgICAgICAifVxuIjsKICAgICAgICAg
Y29uc3RleHByIGNoYXIga1RleHR1cmVFeHRlcm5hbEZTW10gPQogICAgICAgICAgICAgIiNleHRl
bnNpb24gR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbCA6IHJlcXVpcmVcbiIKICAgICAgICAgICAg
ICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4iCkBAIC0xMDYsNiArMTM1LDE4IEBAIGNsYXNzIElt
YWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKIAogICAgICAgICBtVGV4dHVyZVVuaWZvcm1Mb2Nh
dGlvbiA9IGdsR2V0VW5pZm9ybUxvY2F0aW9uKG1UZXh0dXJlUHJvZ3JhbSwgInRleCIpOwogCisg
ICAgICAgIGlmIChnZXRDbGllbnRNYWpvclZlcnNpb24oKSA+PSAzKQorICAgICAgICB7CisgICAg
ICAgICAgICBtMkRBcnJheVRleHR1cmVQcm9ncmFtID0gQ29tcGlsZVByb2dyYW0oa1ZTMkRBcnJh
eSwga1RleHR1cmUyREFycmF5RlMpOworICAgICAgICAgICAgaWYgKG0yREFycmF5VGV4dHVyZVBy
b2dyYW0gPT0gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBGQUlMKCkgPDwgInNo
YWRlciBjb21waWxhdGlvbiBmYWlsZWQuIjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
bTJEQXJyYXlUZXh0dXJlVW5pZm9ybUxvY2F0aW9uID0KKyAgICAgICAgICAgICAgICBnbEdldFVu
aWZvcm1Mb2NhdGlvbihtMkRBcnJheVRleHR1cmVQcm9ncmFtLCAidGV4MkRBcnJheSIpOworICAg
ICAgICB9CisKICAgICAgICAgaWYgKElzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9PRVNfRUdMX2lt
YWdlX2V4dGVybmFsIikpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1UZXh0dXJlRXh0ZXJuYWxQ
cm9ncmFtID0gQ29tcGlsZVByb2dyYW0oa1ZTLCBrVGV4dHVyZUV4dGVybmFsRlMpOwpAQCAtMTM3
LDYgKzE3OCw3IEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBoZWlnaHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFR0xpbnQgKmF0dHJpYnMsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0x1aW50ICpvdXRTb3VyY2VUZXh0dXJlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMSW1hZ2VLSFIgKm91dFNvdXJjZUlt
YWdlKQpAQCAtMTU4LDEyICsyMDAsNiBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVU
ZXN0CiAgICAgICAgIC8vIENyZWF0ZSBhbiBpbWFnZSBmcm9tIHRoZSBzb3VyY2UgdGV4dHVyZQog
ICAgICAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVHTFdpbmRvdygpOwogCi0gICAgICAgIEVH
TGludCBhdHRyaWJzW10gPSB7Ci0gICAgICAgICAgICBFR0xfSU1BR0VfUFJFU0VSVkVELAotICAg
ICAgICAgICAgRUdMX1RSVUUsCi0gICAgICAgICAgICBFR0xfTk9ORSwKLSAgICAgICAgfTsKLQog
ICAgICAgICBFR0xJbWFnZUtIUiBpbWFnZSA9CiAgICAgICAgICAgICBlZ2xDcmVhdGVJbWFnZUtI
Uih3aW5kb3ctPmdldERpc3BsYXkoKSwgd2luZG93LT5nZXRDb250ZXh0KCksIEVHTF9HTF9URVhU
VVJFXzJEX0tIUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0SGVs
cGVyPEVHTENsaWVudEJ1ZmZlcj4oc291cmNlKSwgYXR0cmlicyk7CkBAIC0xNzgsNiArMjE0LDcg
QEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xFVGVzdAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaGVpZ2h0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRUdMaW50ICphdHRyaWJzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkYXRh
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgZGF0
YVN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdM
ZW51bSBpbWFnZVRhcmdldCwKQEAgLTIwNSwxMiArMjQyLDYgQEAgY2xhc3MgSW1hZ2VUZXN0IDog
cHVibGljIEFOR0xFVGVzdAogICAgICAgICAvLyBDcmVhdGUgYW4gaW1hZ2UgZnJvbSB0aGUgc291
cmNlIHRleHR1cmUKICAgICAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsK
IAotICAgICAgICBFR0xpbnQgYXR0cmlic1tdID0gewotICAgICAgICAgICAgRUdMX0lNQUdFX1BS
RVNFUlZFRCwKLSAgICAgICAgICAgIEVHTF9UUlVFLAotICAgICAgICAgICAgRUdMX05PTkUsCi0g
ICAgICAgIH07Ci0KICAgICAgICAgRUdMSW1hZ2VLSFIgaW1hZ2UgPQogICAgICAgICAgICAgZWds
Q3JlYXRlSW1hZ2VLSFIod2luZG93LT5nZXREaXNwbGF5KCksIHdpbmRvdy0+Z2V0Q29udGV4dCgp
LCBpbWFnZVRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0
SGVscGVyPEVHTENsaWVudEJ1ZmZlcj4oc291cmNlKSwgYXR0cmlicyk7CkBAIC0yMjYsOCArMjU3
LDggQEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xFVGVzdAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGRlcHRoLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgRUdMaW50ICphdHRyaWJzLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNpemVfdCBpbWFnZUxheWVyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0x1aW50ICpvdXRTb3VyY2VUZXh0dXJlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMSW1hZ2VLSFIgKm91dFNvdXJjZUltYWdlKQog
ICAgIHsKQEAgLTI0OSwxMyArMjgwLDYgQEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xF
VGVzdAogICAgICAgICAvLyBDcmVhdGUgYW4gaW1hZ2UgZnJvbSB0aGUgc291cmNlIHRleHR1cmUK
ICAgICAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKIAotICAgICAgICBF
R0xpbnQgYXR0cmlic1tdID0gewotICAgICAgICAgICAgRUdMX0dMX1RFWFRVUkVfWk9GRlNFVF9L
SFIsCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxFR0xpbnQ+KGltYWdlTGF5ZXIpLAotICAgICAg
ICAgICAgRUdMX0lNQUdFX1BSRVNFUlZFRCwKLSAgICAgICAgICAgIEVHTF9UUlVFLAotICAgICAg
ICAgICAgRUdMX05PTkUsCi0gICAgICAgIH07CiAgICAgICAgIEVHTEltYWdlS0hSIGltYWdlID0K
ICAgICAgICAgICAgIGVnbENyZWF0ZUltYWdlS0hSKHdpbmRvdy0+Z2V0RGlzcGxheSgpLCB3aW5k
b3ctPmdldENvbnRleHQoKSwgRUdMX0dMX1RFWFRVUkVfM0RfS0hSLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVpbnRlcnByZXRIZWxwZXI8RUdMQ2xpZW50QnVmZmVyPihzb3VyY2Up
LCBhdHRyaWJzKTsKQEAgLTI2OSw2ICsyOTMsNyBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMg
QU5HTEVUZXN0CiAgICAgdm9pZCBjcmVhdGVFR0xJbWFnZVJlbmRlcmJ1ZmZlclNvdXJjZShzaXpl
X3Qgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
X3QgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xl
bnVtIGludGVybmFsRm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgRUdMaW50ICphdHRyaWJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0x1Ynl0ZSBkYXRhWzRdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0x1aW50ICpvdXRTb3VyY2VSZW5kZXJidWZmZXIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xJbWFnZUtIUiAqb3V0U291cmNl
SW1hZ2UpCkBAIC0yOTYsMTIgKzMyMSw2IEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBBTkdM
RVRlc3QKICAgICAgICAgLy8gQ3JlYXRlIGFuIGltYWdlIGZyb20gdGhlIHNvdXJjZSByZW5kZXJi
dWZmZXIKICAgICAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKIAotICAg
ICAgICBFR0xpbnQgYXR0cmlic1tdID0gewotICAgICAgICAgICAgRUdMX0lNQUdFX1BSRVNFUlZF
RCwKLSAgICAgICAgICAgIEVHTF9UUlVFLAotICAgICAgICAgICAgRUdMX05PTkUsCi0gICAgICAg
IH07Ci0KICAgICAgICAgRUdMSW1hZ2VLSFIgaW1hZ2UgPQogICAgICAgICAgICAgZWdsQ3JlYXRl
SW1hZ2VLSFIod2luZG93LT5nZXREaXNwbGF5KCksIHdpbmRvdy0+Z2V0Q29udGV4dCgpLCBFR0xf
R0xfUkVOREVSQlVGRkVSX0tIUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50
ZXJwcmV0SGVscGVyPEVHTENsaWVudEJ1ZmZlcj4oc291cmNlKSwgYXR0cmlicyk7CkBAIC0zMjks
NiArMzQ4LDIzIEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAg
Km91dFRhcmdldFRleHR1cmUgPSB0YXJnZXQ7CiAgICAgfQogCisgICAgdm9pZCBjcmVhdGVFR0xJ
bWFnZVRhcmdldFRleHR1cmUyREFycmF5KEVHTEltYWdlS0hSIGltYWdlLCBHTHVpbnQgKm91dFRh
cmdldFRleHR1cmUpCisgICAgeworICAgICAgICAvLyBDcmVhdGUgYSB0YXJnZXQgdGV4dHVyZSBm
cm9tIHRoZSBpbWFnZQorICAgICAgICBHTHVpbnQgdGFyZ2V0OworICAgICAgICBnbEdlblRleHR1
cmVzKDEsICZ0YXJnZXQpOworICAgICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkRfQVJS
QVksIHRhcmdldCk7CisgICAgICAgIGdsRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRPRVMoR0xfVEVY
VFVSRV8yRF9BUlJBWSwgaW1hZ2UpOworCisgICAgICAgIC8vIERpc2FibGUgbWlwbWFwcGluZwor
ICAgICAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklM
VEVSLCBHTF9ORUFSRVNUKTsKKyAgICAgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQs
IEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisKKyAgICAgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CisKKyAgICAgICAgKm91dFRhcmdldFRleHR1cmUgPSB0YXJnZXQ7CisgICAg
fQorCiAgICAgdm9pZCBjcmVhdGVFR0xJbWFnZVRhcmdldFRleHR1cmVFeHRlcm5hbChFR0xJbWFn
ZUtIUiBpbWFnZSwgR0x1aW50ICpvdXRUYXJnZXRUZXh0dXJlKQogICAgIHsKICAgICAgICAgLy8g
Q3JlYXRlIGEgdGFyZ2V0IHRleHR1cmUgZnJvbSB0aGUgaW1hZ2UKQEAgLTM1OSw2ICszOTUsMjUg
QEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xFVGVzdAogICAgICAgICAqb3V0VGFyZ2V0
UmVuZGVyYnVmZmVyID0gdGFyZ2V0OwogICAgIH0KIAorICAgIHZvaWQgVmFsaWRhdGlvbkdMRUdM
SW1hZ2VfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicyk7CisgICAgdm9pZCBTb3VyY2UyRFRh
cmdldDJEX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMpOworICAgIHZvaWQgU291cmNlMkRU
YXJnZXQyREFycmF5X2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMpOworICAgIHZvaWQgU291
cmNlMkRUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicyk7Cisg
ICAgdm9pZCBTb3VyY2UyRFRhcmdldEV4dGVybmFsX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJp
YnMpOworICAgIHZvaWQgU291cmNlMkRUYXJnZXRFeHRlcm5hbEVTU0wzX2hlbHBlcihjb25zdCBF
R0xpbnQgKmF0dHJpYnMpOworICAgIHZvaWQgU291cmNlQ3ViZVRhcmdldDJEX2hlbHBlcihjb25z
dCBFR0xpbnQgKmF0dHJpYnMpOworICAgIHZvaWQgU291cmNlQ3ViZVRhcmdldFJlbmRlcmJ1ZmZl
cl9oZWxwZXIoY29uc3QgRUdMaW50ICphdHRyaWJzKTsKKyAgICB2b2lkIFNvdXJjZUN1YmVUYXJn
ZXRFeHRlcm5hbF9oZWxwZXIoY29uc3QgRUdMaW50ICphdHRyaWJzKTsKKyAgICB2b2lkIFNvdXJj
ZUN1YmVUYXJnZXRFeHRlcm5hbEVTU0wzX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMpOwor
ICAgIHZvaWQgU291cmNlM0RUYXJnZXRUZXh0dXJlX2hlbHBlcihjb25zdCBib29sIHdpdGhDb2xv
cnNwYWNlKTsKKyAgICB2b2lkIFNvdXJjZTNEVGFyZ2V0UmVuZGVyYnVmZmVyX2hlbHBlcihjb25z
dCBib29sIHdpdGhDb2xvcnNwYWNlKTsKKyAgICB2b2lkIFNvdXJjZTNEVGFyZ2V0RXh0ZXJuYWxf
aGVscGVyKGNvbnN0IGJvb2wgd2l0aENvbG9yc3BhY2UpOworICAgIHZvaWQgU291cmNlM0RUYXJn
ZXRFeHRlcm5hbEVTU0wzX2hlbHBlcihjb25zdCBib29sIHdpdGhDb2xvcnNwYWNlKTsKKyAgICB2
b2lkIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVfaGVscGVyKGNvbnN0IEVHTGludCAq
YXR0cmlicyk7CisgICAgdm9pZCBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJu
YWxfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicyk7CisgICAgdm9pZCBTb3VyY2VSZW5kZXJi
dWZmZXJUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicyk7Cisg
ICAgdm9pZCBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJuYWxFU1NMM19oZWxw
ZXIoY29uc3QgRUdMaW50ICphdHRyaWJzKTsKKwogICAgIHZvaWQgdmVyaWZ5UmVzdWx0c1RleHR1
cmUoR0x1aW50IHRleHR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHVieXRl
IGRhdGFbNF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdGV4dHVyZVRh
cmdldCwKQEAgLTM4Miw2ICs0MzcsMTIgQEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xF
VGVzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtVGV4dHVyZVVuaWZvcm1Mb2NhdGlv
bik7CiAgICAgfQogCisgICAgdm9pZCB2ZXJpZnlSZXN1bHRzMkRBcnJheShHTHVpbnQgdGV4dHVy
ZSwgR0x1Ynl0ZSBkYXRhWzRdKQorICAgIHsKKyAgICAgICAgdmVyaWZ5UmVzdWx0c1RleHR1cmUo
dGV4dHVyZSwgZGF0YSwgR0xfVEVYVFVSRV8yRF9BUlJBWSwgbTJEQXJyYXlUZXh0dXJlUHJvZ3Jh
bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbTJEQXJyYXlUZXh0dXJlVW5pZm9ybUxv
Y2F0aW9uKTsKKyAgICB9CisKICAgICB2b2lkIHZlcmlmeVJlc3VsdHNFeHRlcm5hbChHTHVpbnQg
dGV4dHVyZSwgR0x1Ynl0ZSBkYXRhWzRdKQogICAgIHsKICAgICAgICAgdmVyaWZ5UmVzdWx0c1Rl
eHR1cmUodGV4dHVyZSwgZGF0YSwgR0xfVEVYVFVSRV9FWFRFUk5BTF9PRVMsIG1UZXh0dXJlRXh0
ZXJuYWxQcm9ncmFtLApAQCAtNDE4LDYgKzQ3OSwxMyBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJs
aWMgQU5HTEVUZXN0CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGRlc3RUeXBlPihz
b3VyY2VTaXplVCk7CiAgICAgfQogCisgICAgYm9vbCBoYXNJbWFnZUdMQ29sb3JzcGFjZUV4dCgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gSXNFR0xEaXNwbGF5RXh0ZW5zaW9uRW5hYmxl
ZChnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpLCBrSW1hZ2VHTENvbG9yc3BhY2VFeHQpOwor
ICAgIH0KKworICAgIGJvb2wgaGFzRWdsSW1hZ2VBcnJheUV4dCgpIGNvbnN0IHsgcmV0dXJuIElz
R0xFeHRlbnNpb25FbmFibGVkKGtFR0xJbWFnZUFycmF5RXh0KTsgfQorCiAgICAgYm9vbCBoYXNP
RVNFeHQoKSBjb25zdCB7IHJldHVybiBJc0dMRXh0ZW5zaW9uRW5hYmxlZChrT0VTRXh0KTsgfQog
CiAgICAgYm9vbCBoYXNFeHRlcm5hbEV4dCgpIGNvbnN0IHsgcmV0dXJuIElzR0xFeHRlbnNpb25F
bmFibGVkKGtFeHRlcm5hbEV4dCk7IH0KQEAgLTQ1NCw4ICs1MjIsMzQgQEAgY2xhc3MgSW1hZ2VU
ZXN0IDogcHVibGljIEFOR0xFVGVzdAogICAgICAgICByZXR1cm4gSXNFR0xEaXNwbGF5RXh0ZW5z
aW9uRW5hYmxlZChnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpLCBrQ3ViZW1hcEV4dCk7CiAg
ICAgfQogCisgICAgRUdMaW50ICpnZXQzREF0dHJpYnV0ZXMoY29uc3QgYm9vbCB3aXRoQ29sb3Jz
cGFjZSA9IGZhbHNlLCBFR0xpbnQgbGF5ZXIgPSAwKQorICAgIHsKKyAgICAgICAgaWYgKCF3aXRo
Q29sb3JzcGFjZSkKKyAgICAgICAgeworICAgICAgICAgICAgZGVmYXVsdDNEQXR0cmlic1sxXSA9
IHN0YXRpY19jYXN0PEVHTGludD4obGF5ZXIpOworICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQz
REF0dHJpYnM7CisgICAgICAgIH0KKworICAgICAgICBjb2xvcnNwYWNlM0RBdHRyaWJzWzFdID0g
c3RhdGljX2Nhc3Q8RUdMaW50PihsYXllcik7CisgICAgICAgIHJldHVybiBjb2xvcnNwYWNlM0RB
dHRyaWJzOworICAgIH0KKworICAgIEVHTGludCBkZWZhdWx0M0RBdHRyaWJzWzVdID0geworICAg
ICAgICBFR0xfR0xfVEVYVFVSRV9aT0ZGU0VUX0tIUiwgc3RhdGljX2Nhc3Q8RUdMaW50PigwKSwg
RUdMX0lNQUdFX1BSRVNFUlZFRCwgRUdMX1RSVUUsIEVHTF9OT05FLAorICAgIH07CisgICAgRUdM
aW50IGNvbG9yc3BhY2UzREF0dHJpYnNbN10gPSB7CisgICAgICAgIEVHTF9HTF9URVhUVVJFX1pP
RkZTRVRfS0hSLAorICAgICAgICBzdGF0aWNfY2FzdDxFR0xpbnQ+KDApLAorICAgICAgICBFR0xf
SU1BR0VfUFJFU0VSVkVELAorICAgICAgICBFR0xfVFJVRSwKKyAgICAgICAgRUdMX0dMX0NPTE9S
U1BBQ0UsCisgICAgICAgIEVHTF9HTF9DT0xPUlNQQUNFX1NSR0JfS0hSLAorICAgICAgICBFR0xf
Tk9ORSwKKyAgICB9OwogICAgIEdMdWludCBtVGV4dHVyZVByb2dyYW07CisgICAgR0x1aW50IG0y
REFycmF5VGV4dHVyZVByb2dyYW07CiAgICAgR0xpbnQgbVRleHR1cmVVbmlmb3JtTG9jYXRpb247
CisgICAgR0x1aW50IG0yREFycmF5VGV4dHVyZVVuaWZvcm1Mb2NhdGlvbjsKIAogICAgIEdMdWlu
dCBtVGV4dHVyZUV4dGVybmFsUHJvZ3JhbSAgICAgICAgPSAwOwogICAgIEdMaW50IG1UZXh0dXJl
RXh0ZXJuYWxVbmlmb3JtTG9jYXRpb24gPSAtMTsKQEAgLTkyMSw2ICsxMDE1LDE4IEBAIFRFU1Rf
UChJbWFnZVRlc3QsIFZhbGlkYXRpb25HTEltYWdlKQogCiAvLyBDaGVjayB2YWxpZGF0aW9uIGZy
b20gdGhlIEdMX09FU19FR0xfaW1hZ2UgZXh0ZW5zaW9uCiBURVNUX1AoSW1hZ2VUZXN0LCBWYWxp
ZGF0aW9uR0xFR0xJbWFnZSkKK3sKKyAgICBWYWxpZGF0aW9uR0xFR0xJbWFnZV9oZWxwZXIoa0Rl
ZmF1bHRBdHRyaWJzKTsKK30KKworVEVTVF9QKEltYWdlVGVzdCwgVmFsaWRhdGlvbkdMRUdMSW1h
Z2VfQ29sb3JzcGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoZ2V0Q2xpZW50TWFqb3JW
ZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NSR0IiKSk7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJbWFnZUdMQ29sb3JzcGFjZUV4dCgpKTsKKyAgICBW
YWxpZGF0aW9uR0xFR0xJbWFnZV9oZWxwZXIoa0NvbG9yc3BhY2VBdHRyaWJzKTsKK30KKwordm9p
ZCBJbWFnZVRlc3Q6OlZhbGlkYXRpb25HTEVHTEltYWdlX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0
dHJpYnMpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8fCAhaGFzQmFz
ZUV4dCgpIHx8ICFoYXMyRFRleHR1cmVFeHQoKSk7CiAKQEAgLTkyOSw3ICsxMDM1LDcgQEAgVEVT
VF9QKEltYWdlVGVzdCwgVmFsaWRhdGlvbkdMRUdMSW1hZ2UpCiAgICAgLy8gQ3JlYXRlIHRoZSBJ
bWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7Ci0gICAgY3Jl
YXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllU
RSwgZGF0YSwgJnNvdXJjZSwgJmltYWdlKTsKKyAgICBjcmVhdGVFR0xJbWFnZTJEVGV4dHVyZVNv
dXJjZSgxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBhdHRyaWJzLCBkYXRhLCAmc291
cmNlLCAmaW1hZ2UpOwogCiAgICAgLy8gSWYgPHRhcmdldD4gaXMgbm90IFRFWFRVUkVfMkQsIHRo
ZSBlcnJvciBJTlZBTElEX0VOVU0gaXMgZ2VuZXJhdGVkLgogICAgIGdsRUdMSW1hZ2VUYXJnZXRU
ZXh0dXJlMkRPRVMoR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCBpbWFnZSk7CkBAIC0x
MDg3LDYgKzExOTMsMTggQEAgVEVTVF9QKEltYWdlVGVzdCwgVmFsaWRhdGlvbkdMRUdMSW1hZ2VF
eHRlcm5hbEVTU0wzKQogfQogCiBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRhcmdldDJEKQor
eworICAgIFNvdXJjZTJEVGFyZ2V0MkRfaGVscGVyKGtEZWZhdWx0QXR0cmlicyk7Cit9CisKK1RF
U1RfUChJbWFnZVRlc3QsIFNvdXJjZTJEVGFyZ2V0MkRfQ29sb3JzcGFjZSkKK3sKKyAgICBBTkdM
RV9TS0lQX1RFU1RfSUYoZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0ZW5z
aW9uRW5hYmxlZCgiR0xfRVhUX3NSR0IiKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJ
bWFnZUdMQ29sb3JzcGFjZUV4dCgpKTsKKyAgICBTb3VyY2UyRFRhcmdldDJEX2hlbHBlcihrQ29s
b3JzcGFjZUF0dHJpYnMpOworfQorCit2b2lkIEltYWdlVGVzdDo6U291cmNlMkRUYXJnZXQyRF9o
ZWxwZXIoY29uc3QgRUdMaW50ICphdHRyaWJzKQogewogICAgIEVHTFdpbmRvdyAqd2luZG93ID0g
Z2V0RUdMV2luZG93KCk7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8fCAh
aGFzQmFzZUV4dCgpIHx8ICFoYXMyRFRleHR1cmVFeHQoKSk7CkBAIC0xMDk2LDcgKzEyMTQsNyBA
QCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRhcmdldDJEKQogICAgIC8vIENyZWF0ZSB0aGUg
SW1hZ2UKICAgICBHTHVpbnQgc291cmNlOwogICAgIEVHTEltYWdlS0hSIGltYWdlOwotICAgIGNy
ZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZ
VEUsIGRhdGEsICZzb3VyY2UsICZpbWFnZSk7CisgICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVT
b3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgYXR0cmlicywgZGF0YSwgJnNv
dXJjZSwgJmltYWdlKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAgR0x1aW50IHRh
cmdldDsKQEAgLTExMTEsOCArMTIyOSw2MSBAQCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRh
cmdldDJEKQogICAgIGdsRGVsZXRlVGV4dHVyZXMoMSwgJnRhcmdldCk7CiB9CiAKKy8vIFRlc3Rp
bmcgc291cmNlIDJEIHRleHR1cmUsIHRhcmdldCAyRCBhcnJheSB0ZXh0dXJlCitURVNUX1AoSW1h
Z2VUZXN0LCBTb3VyY2UyRFRhcmdldDJEQXJyYXkpCit7CisgICAgU291cmNlMkRUYXJnZXQyREFy
cmF5X2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOworfQorCisvLyBUZXN0aW5nIHNvdXJjZSAyRCB0
ZXh0dXJlIHdpdGggY29sb3JzcGFjZSwgdGFyZ2V0IDJEIGFycmF5IHRleHR1cmUKK1RFU1RfUChJ
bWFnZVRlc3QsIFNvdXJjZTJEVGFyZ2V0MkRBcnJheV9Db2xvcnNwYWNlKQoreworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMgJiYgIUlzR0xFeHRlbnNp
b25FbmFibGVkKCJHTF9FWFRfc1JHQiIpKTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0lt
YWdlR0xDb2xvcnNwYWNlRXh0KCkpOworICAgIFNvdXJjZTJEVGFyZ2V0MkRBcnJheV9oZWxwZXIo
a0NvbG9yc3BhY2VBdHRyaWJzKTsKK30KK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2UyRFRhcmdldDJE
QXJyYXlfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicykKK3sKKyAgICBBTkdMRV9TS0lQX1RF
U1RfSUYoSXNBbmRyb2lkKCkgJiYgSXNPcGVuR0xFUygpKTsKKyAgICBFR0xXaW5kb3cgKndpbmRv
dyA9IGdldEVHTFdpbmRvdygpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzT0VTRXh0KCkg
fHwgIWhhc0Jhc2VFeHQoKSB8fCAhaGFzMkRUZXh0dXJlRXh0KCkgfHwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIWhhc0VnbEltYWdlQXJyYXlFeHQoKSk7CisKKyAgICBHTHVieXRlIGRhdGFbNF0g
PSB7MjU1LCAwLCAyNTUsIDI1NX07CisKKyAgICAvLyBDcmVhdGUgdGhlIEltYWdlCisgICAgR0x1
aW50IHNvdXJjZTsKKyAgICBFR0xJbWFnZUtIUiBpbWFnZTsKKyAgICBjcmVhdGVFR0xJbWFnZTJE
VGV4dHVyZVNvdXJjZSgxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBhdHRyaWJzLCBk
YXRhLCAmc291cmNlLCAmaW1hZ2UpOworCisgICAgLy8gQ3JlYXRlIHRoZSB0YXJnZXQKKyAgICBH
THVpbnQgdGFyZ2V0OworICAgIGNyZWF0ZUVHTEltYWdlVGFyZ2V0VGV4dHVyZTJEQXJyYXkoaW1h
Z2UsICZ0YXJnZXQpOworCisgICAgLy8gRXhwZWN0IHRoYXQgdGhlIHRhcmdldCB0ZXh0dXJlIGhh
cyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgc291cmNlIHRleHR1cmUKKyAgICB2ZXJpZnlSZXN1bHRz
MkRBcnJheSh0YXJnZXQsIGRhdGEpOworCisgICAgLy8gQ2xlYW4gdXAKKyAgICBnbERlbGV0ZVRl
eHR1cmVzKDEsICZzb3VyY2UpOworICAgIGVnbERlc3Ryb3lJbWFnZUtIUih3aW5kb3ctPmdldERp
c3BsYXkoKSwgaW1hZ2UpOworICAgIGdsRGVsZXRlVGV4dHVyZXMoMSwgJnRhcmdldCk7Cit9CisK
IFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZTJEVGFyZ2V0UmVuZGVyYnVmZmVyKQogeworICAgIFNv
dXJjZTJEVGFyZ2V0UmVuZGVyYnVmZmVyX2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOworfQorCitU
RVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRhcmdldFJlbmRlcmJ1ZmZlcl9Db2xvcnNwYWNlKQor
eworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMpOwor
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9yc3BhY2VFeHQoKSk7CisgICAg
U291cmNlMkRUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVyKGtDb2xvcnNwYWNlQXR0cmlicyk7Cit9
CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2UyRFRhcmdldFJlbmRlcmJ1ZmZlcl9oZWxwZXIoY29u
c3QgRUdMaW50ICphdHRyaWJzKQoreworCiAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xX
aW5kb3coKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc09FU0V4dCgpIHx8ICFoYXNCYXNl
RXh0KCkgfHwgIWhhczJEVGV4dHVyZUV4dCgpKTsKIApAQCAtMTEyMSw3ICsxMjkyLDcgQEAgVEVT
VF9QKEltYWdlVGVzdCwgU291cmNlMkRUYXJnZXRSZW5kZXJidWZmZXIpCiAgICAgLy8gQ3JlYXRl
IHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7Ci0g
ICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdO
RURfQllURSwgZGF0YSwgJnNvdXJjZSwgJmltYWdlKTsKKyAgICBjcmVhdGVFR0xJbWFnZTJEVGV4
dHVyZVNvdXJjZSgxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBhdHRyaWJzLCBkYXRh
LCAmc291cmNlLCAmaW1hZ2UpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSB0YXJnZXQKICAgICBHTHVp
bnQgdGFyZ2V0OwpAQCAtMTEzNyw2ICsxMzA4LDE4IEBAIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJj
ZTJEVGFyZ2V0UmVuZGVyYnVmZmVyKQogfQogCiBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRh
cmdldEV4dGVybmFsKQoreworICAgIFNvdXJjZTJEVGFyZ2V0RXh0ZXJuYWxfaGVscGVyKGtEZWZh
dWx0QXR0cmlicyk7Cit9CisKK1RFU1RfUChJbWFnZVRlc3QsIFNvdXJjZTJEVGFyZ2V0RXh0ZXJu
YWxfQ29sb3JzcGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoZ2V0Q2xpZW50TWFqb3JW
ZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NSR0IiKSk7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJbWFnZUdMQ29sb3JzcGFjZUV4dCgpKTsKKyAgICBT
b3VyY2UyRFRhcmdldEV4dGVybmFsX2hlbHBlcihrQ29sb3JzcGFjZUF0dHJpYnMpOworfQorCit2
b2lkIEltYWdlVGVzdDo6U291cmNlMkRUYXJnZXRFeHRlcm5hbF9oZWxwZXIoY29uc3QgRUdMaW50
ICphdHRyaWJzKQogewogICAgIEVHTFdpbmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CiAg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8fCAhaGFzQmFzZUV4dCgpIHx8ICFo
YXMyRFRleHR1cmVFeHQoKSB8fCAhaGFzRXh0ZXJuYWxFeHQoKSk7CkBAIC0xMTQ5LDcgKzEzMzIs
NyBAQCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UyRFRhcmdldEV4dGVybmFsKQogICAgIC8vIENy
ZWF0ZSB0aGUgSW1hZ2UKICAgICBHTHVpbnQgc291cmNlOwogICAgIEVHTEltYWdlS0hSIGltYWdl
OwotICAgIGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VO
U0lHTkVEX0JZVEUsIGRhdGEsICZzb3VyY2UsICZpbWFnZSk7CisgICAgY3JlYXRlRUdMSW1hZ2Uy
RFRleHR1cmVTb3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgYXR0cmlicywg
ZGF0YSwgJnNvdXJjZSwgJmltYWdlKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAg
R0x1aW50IHRhcmdldDsKQEAgLTExNjUsNiArMTM0OCwxOCBAQCBURVNUX1AoSW1hZ2VUZXN0LCBT
b3VyY2UyRFRhcmdldEV4dGVybmFsKQogfQogCiBURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2Uy
RFRhcmdldEV4dGVybmFsRVNTTDMpCit7CisgICAgU291cmNlMkRUYXJnZXRFeHRlcm5hbEVTU0wz
X2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOworfQorCitURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3Vy
Y2UyRFRhcmdldEV4dGVybmFsRVNTTDNfQ29sb3JzcGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RF
U1RfSUYoZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0ZW5zaW9uRW5hYmxl
ZCgiR0xfRVhUX3NSR0IiKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJbWFnZUdMQ29s
b3JzcGFjZUV4dCgpKTsKKyAgICBTb3VyY2UyRFRhcmdldEV4dGVybmFsRVNTTDNfaGVscGVyKGtD
b2xvcnNwYWNlQXR0cmlicyk7Cit9CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2UyRFRhcmdldEV4
dGVybmFsRVNTTDNfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicykKIHsKICAgICBFR0xXaW5k
b3cgKndpbmRvdyA9IGdldEVHTFdpbmRvdygpOwogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFz
T0VTRXh0KCkgfHwgIWhhc0Jhc2VFeHQoKSB8fCAhaGFzMkRUZXh0dXJlRXh0KCkgfHwKQEAgLTEx
NzUsNyArMTM3MCw3IEBAIFRFU1RfUChJbWFnZVRlc3RFUzMsIFNvdXJjZTJEVGFyZ2V0RXh0ZXJu
YWxFU1NMMykKICAgICAvLyBDcmVhdGUgdGhlIEltYWdlCiAgICAgR0x1aW50IHNvdXJjZTsKICAg
ICBFR0xJbWFnZUtIUiBpbWFnZTsKLSAgICBjcmVhdGVFR0xJbWFnZTJEVGV4dHVyZVNvdXJjZSgx
LCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBkYXRhLCAmc291cmNlLCAmaW1hZ2UpOwor
ICAgIGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lH
TkVEX0JZVEUsIGF0dHJpYnMsIGRhdGEsICZzb3VyY2UsICZpbWFnZSk7CiAKICAgICAvLyBDcmVh
dGUgdGhlIHRhcmdldAogICAgIEdMdWludCB0YXJnZXQ7CkBAIC0xMTkxLDYgKzEzODYsMTggQEAg
VEVTVF9QKEltYWdlVGVzdEVTMywgU291cmNlMkRUYXJnZXRFeHRlcm5hbEVTU0wzKQogfQogCiBU
RVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VDdWJlVGFyZ2V0MkQpCit7CisgICAgU291cmNlQ3ViZVRh
cmdldDJEX2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOworfQorCitURVNUX1AoSW1hZ2VUZXN0LCBT
b3VyY2VDdWJlVGFyZ2V0MkRfQ29sb3JzcGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
Z2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xf
RVhUX3NSR0IiKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJbWFnZUdMQ29sb3JzcGFj
ZUV4dCgpKTsKKyAgICBTb3VyY2VDdWJlVGFyZ2V0MkRfaGVscGVyKGtDb2xvcnNwYWNlQXR0cmli
cyk7Cit9CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2VDdWJlVGFyZ2V0MkRfaGVscGVyKGNvbnN0
IEVHTGludCAqYXR0cmlicykKIHsKICAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVHTFdpbmRv
dygpOwogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzT0VTRXh0KCkgfHwgIWhhc0Jhc2VFeHQo
KSB8fCAhaGFzQ3ViZW1hcEV4dCgpKTsKQEAgLTEyMDYsOCArMTQxMyw4IEBAIFRFU1RfUChJbWFn
ZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXQyRCkKICAgICAgICAgR0x1aW50IHNvdXJjZTsKICAgICAg
ICAgRUdMSW1hZ2VLSFIgaW1hZ2U7CiAgICAgICAgIGNyZWF0ZUVHTEltYWdlQ3ViZW1hcFRleHR1
cmVTb3VyY2UoCi0gICAgICAgICAgICAxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBy
ZWludGVycHJldF9jYXN0PHVpbnQ4X3QgKj4oZGF0YSksIHNpemVvZihHTHVieXRlKSAqIDQsCi0g
ICAgICAgICAgICBFR0xfR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YX0tIUiArIGZhY2VJ
ZHgsICZzb3VyY2UsICZpbWFnZSk7CisgICAgICAgICAgICAxLCAxLCBHTF9SR0JBLCBHTF9VTlNJ
R05FRF9CWVRFLCBhdHRyaWJzLCByZWludGVycHJldF9jYXN0PHVpbnQ4X3QgKj4oZGF0YSksCisg
ICAgICAgICAgICBzaXplb2YoR0x1Ynl0ZSkgKiA0LCBFR0xfR0xfVEVYVFVSRV9DVUJFX01BUF9Q
T1NJVElWRV9YX0tIUiArIGZhY2VJZHgsICZzb3VyY2UsICZpbWFnZSk7CiAKICAgICAgICAgLy8g
Q3JlYXRlIHRoZSB0YXJnZXQKICAgICAgICAgR0x1aW50IHRhcmdldDsKQEAgLTEyMjQsNiArMTQz
MSwxOCBAQCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VDdWJlVGFyZ2V0MkQpCiB9CiAKIFRFU1Rf
UChJbWFnZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXRSZW5kZXJidWZmZXIpCit7CisgICAgU291cmNl
Q3ViZVRhcmdldFJlbmRlcmJ1ZmZlcl9oZWxwZXIoa0RlZmF1bHRBdHRyaWJzKTsKK30KKworVEVT
VF9QKEltYWdlVGVzdCwgU291cmNlQ3ViZVRhcmdldFJlbmRlcmJ1ZmZlcl9Db2xvcnNwYWNlKQor
eworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMpOwor
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9yc3BhY2VFeHQoKSk7CisgICAg
U291cmNlQ3ViZVRhcmdldFJlbmRlcmJ1ZmZlcl9oZWxwZXIoa0NvbG9yc3BhY2VBdHRyaWJzKTsK
K30KKwordm9pZCBJbWFnZVRlc3Q6OlNvdXJjZUN1YmVUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVy
KGNvbnN0IEVHTGludCAqYXR0cmlicykKIHsKICAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVH
TFdpbmRvdygpOwogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzT0VTRXh0KCkgfHwgIWhhc0Jh
c2VFeHQoKSB8fCAhaGFzQ3ViZW1hcEV4dCgpKTsKQEAgLTEyNDIsOCArMTQ2MSw4IEBAIFRFU1Rf
UChJbWFnZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXRSZW5kZXJidWZmZXIpCiAgICAgICAgIEdMdWlu
dCBzb3VyY2U7CiAgICAgICAgIEVHTEltYWdlS0hSIGltYWdlOwogICAgICAgICBjcmVhdGVFR0xJ
bWFnZUN1YmVtYXBUZXh0dXJlU291cmNlKAotICAgICAgICAgICAgMSwgMSwgR0xfUkdCQSwgR0xf
VU5TSUdORURfQllURSwgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KGRhdGEpLCBzaXplb2Yo
R0x1Ynl0ZSkgKiA0LAotICAgICAgICAgICAgRUdMX0dMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWF9LSFIgKyBmYWNlSWR4LCAmc291cmNlLCAmaW1hZ2UpOworICAgICAgICAgICAgMSwgMSwg
R0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgYXR0cmlicywgcmVpbnRlcnByZXRfY2FzdDx1aW50
OF90ICo+KGRhdGEpLAorICAgICAgICAgICAgc2l6ZW9mKEdMdWJ5dGUpICogNCwgRUdMX0dMX1RF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWF9LSFIgKyBmYWNlSWR4LCAmc291cmNlLCAmaW1hZ2Up
OwogCiAgICAgICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAgICAgIEdMdWludCB0YXJnZXQ7
CkBAIC0xMjYxLDYgKzE0ODAsMTggQEAgVEVTVF9QKEltYWdlVGVzdCwgU291cmNlQ3ViZVRhcmdl
dFJlbmRlcmJ1ZmZlcikKIAogLy8gVGVzdCBjdWJlbWFwIC0+IGV4dGVybmFsIHRleHR1cmUgRUdM
IGltYWdlcy4KIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXRFeHRlcm5hbCkKK3sK
KyAgICBTb3VyY2VDdWJlVGFyZ2V0RXh0ZXJuYWxfaGVscGVyKGtEZWZhdWx0QXR0cmlicyk7Cit9
CisKK1RFU1RfUChJbWFnZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXRFeHRlcm5hbF9Db2xvcnNwYWNl
KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMg
JiYgIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfc1JHQiIpKTsKKyAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIWhhc0ltYWdlR0xDb2xvcnNwYWNlRXh0KCkpOworICAgIFNvdXJjZUN1YmVUYXJn
ZXRFeHRlcm5hbF9oZWxwZXIoa0NvbG9yc3BhY2VBdHRyaWJzKTsKK30KKwordm9pZCBJbWFnZVRl
c3Q6OlNvdXJjZUN1YmVUYXJnZXRFeHRlcm5hbF9oZWxwZXIoY29uc3QgRUdMaW50ICphdHRyaWJz
KQogewogICAgIEVHTFdpbmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CiAgICAgQU5HTEVf
U0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8fCAhaGFzQmFzZUV4dCgpIHx8ICFoYXNDdWJlbWFw
RXh0KCkgfHwgIWhhc0V4dGVybmFsRXh0KCkpOwpAQCAtMTI3OSw4ICsxNTEwLDggQEAgVEVTVF9Q
KEltYWdlVGVzdCwgU291cmNlQ3ViZVRhcmdldEV4dGVybmFsKQogICAgICAgICBHTHVpbnQgc291
cmNlOwogICAgICAgICBFR0xJbWFnZUtIUiBpbWFnZTsKICAgICAgICAgY3JlYXRlRUdMSW1hZ2VD
dWJlbWFwVGV4dHVyZVNvdXJjZSgKLSAgICAgICAgICAgIDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lH
TkVEX0JZVEUsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCAqPihkYXRhKSwgc2l6ZW9mKEdMdWJ5
dGUpICogNCwKLSAgICAgICAgICAgIEVHTF9HTF9URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1hf
S0hSICsgZmFjZUlkeCwgJnNvdXJjZSwgJmltYWdlKTsKKyAgICAgICAgICAgIDEsIDEsIEdMX1JH
QkEsIEdMX1VOU0lHTkVEX0JZVEUsIGF0dHJpYnMsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCAq
PihkYXRhKSwKKyAgICAgICAgICAgIHNpemVvZihHTHVieXRlKSAqIDQsIEVHTF9HTF9URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1hfS0hSICsgZmFjZUlkeCwgJnNvdXJjZSwgJmltYWdlKTsKIAog
ICAgICAgICAvLyBDcmVhdGUgdGhlIHRhcmdldAogICAgICAgICBHTHVpbnQgdGFyZ2V0OwpAQCAt
MTI5OCw2ICsxNTI5LDE4IEBAIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZUN1YmVUYXJnZXRFeHRl
cm5hbCkKIAogLy8gVGVzdCBjdWJlbWFwIC0+IGV4dGVybmFsIHRleHR1cmUgRUdMIGltYWdlcyB1
c2luZyBFU1NMMyBzaGFkZXJzLgogVEVTVF9QKEltYWdlVGVzdEVTMywgU291cmNlQ3ViZVRhcmdl
dEV4dGVybmFsRVNTTDMpCit7CisgICAgU291cmNlQ3ViZVRhcmdldEV4dGVybmFsRVNTTDNfaGVs
cGVyKGtEZWZhdWx0QXR0cmlicyk7Cit9CisKK1RFU1RfUChJbWFnZVRlc3RFUzMsIFNvdXJjZUN1
YmVUYXJnZXRFeHRlcm5hbEVTU0wzX0NvbG9yc3BhY2UpCit7CisgICAgQU5HTEVfU0tJUF9URVNU
X0lGKGdldENsaWVudE1ham9yVmVyc2lvbigpIDwgMyAmJiAhSXNHTEV4dGVuc2lvbkVuYWJsZWQo
IkdMX0VYVF9zUkdCIikpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9y
c3BhY2VFeHQoKSk7CisgICAgU291cmNlQ3ViZVRhcmdldEV4dGVybmFsRVNTTDNfaGVscGVyKGtD
b2xvcnNwYWNlQXR0cmlicyk7Cit9CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2VDdWJlVGFyZ2V0
RXh0ZXJuYWxFU1NMM19oZWxwZXIoY29uc3QgRUdMaW50ICphdHRyaWJzKQogewogICAgIEVHTFdp
bmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFo
YXNPRVNFeHQoKSB8fCAhaGFzRXh0ZXJuYWxFU1NMM0V4dCgpIHx8ICFoYXNCYXNlRXh0KCkgfHwg
IWhhc0N1YmVtYXBFeHQoKSk7CkBAIC0xMzEzLDggKzE1NTYsOCBAQCBURVNUX1AoSW1hZ2VUZXN0
RVMzLCBTb3VyY2VDdWJlVGFyZ2V0RXh0ZXJuYWxFU1NMMykKICAgICAgICAgR0x1aW50IHNvdXJj
ZTsKICAgICAgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7CiAgICAgICAgIGNyZWF0ZUVHTEltYWdlQ3Vi
ZW1hcFRleHR1cmVTb3VyY2UoCi0gICAgICAgICAgICAxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05F
RF9CWVRFLCByZWludGVycHJldF9jYXN0PHVpbnQ4X3QgKj4oZGF0YSksIHNpemVvZihHTHVieXRl
KSAqIDQsCi0gICAgICAgICAgICBFR0xfR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YX0tI
UiArIGZhY2VJZHgsICZzb3VyY2UsICZpbWFnZSk7CisgICAgICAgICAgICAxLCAxLCBHTF9SR0JB
LCBHTF9VTlNJR05FRF9CWVRFLCBhdHRyaWJzLCByZWludGVycHJldF9jYXN0PHVpbnQ4X3QgKj4o
ZGF0YSksCisgICAgICAgICAgICBzaXplb2YoR0x1Ynl0ZSkgKiA0LCBFR0xfR0xfVEVYVFVSRV9D
VUJFX01BUF9QT1NJVElWRV9YX0tIUiArIGZhY2VJZHgsICZzb3VyY2UsICZpbWFnZSk7CiAKICAg
ICAgICAgLy8gQ3JlYXRlIHRoZSB0YXJnZXQKICAgICAgICAgR0x1aW50IHRhcmdldDsKQEAgLTEz
MzEsNiArMTU3NCwxOCBAQCBURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2VDdWJlVGFyZ2V0RXh0
ZXJuYWxFU1NMMykKIH0KIAogVEVTVF9QKEltYWdlVGVzdCwgU291cmNlM0RUYXJnZXRUZXh0dXJl
KQoreworICAgIFNvdXJjZTNEVGFyZ2V0VGV4dHVyZV9oZWxwZXIoZmFsc2UpOworfQorCitURVNU
X1AoSW1hZ2VUZXN0LCBTb3VyY2UzRFRhcmdldFRleHR1cmVfQ29sb3JzcGFjZSkKK3sKKyAgICBB
TkdMRV9TS0lQX1RFU1RfSUYoZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzICYmICFJc0dMRXh0
ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NSR0IiKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFo
YXNJbWFnZUdMQ29sb3JzcGFjZUV4dCgpKTsKKyAgICBTb3VyY2UzRFRhcmdldFRleHR1cmVfaGVs
cGVyKHRydWUpOworfQorCit2b2lkIEltYWdlVGVzdDo6U291cmNlM0RUYXJnZXRUZXh0dXJlX2hl
bHBlcihjb25zdCBib29sIHdpdGhDb2xvcnNwYWNlKQogewogICAgIEVHTFdpbmRvdyAqd2luZG93
ID0gZ2V0RUdMV2luZG93KCk7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8
fCAhaGFzQmFzZUV4dCgpIHx8ICFoYXMzRFRleHR1cmVFeHQoKSk7CkBAIC0xMzQ3LDcgKzE2MDIs
OCBAQCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UzRFRhcmdldFRleHR1cmUpCiAgICAgICAgIC8v
IENyZWF0ZSB0aGUgSW1hZ2UKICAgICAgICAgR0x1aW50IHNvdXJjZTsKICAgICAgICAgRUdMSW1h
Z2VLSFIgaW1hZ2U7Ci0gICAgICAgIGNyZWF0ZUVHTEltYWdlM0RUZXh0dXJlU291cmNlKDEsIDEs
IGRlcHRoLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBkYXRhLCBsYXllciwgJnNvdXJjZSwK
KyAgICAgICAgY3JlYXRlRUdMSW1hZ2UzRFRleHR1cmVTb3VyY2UoMSwgMSwgZGVwdGgsIEdMX1JH
QkEsIEdMX1VOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdldDNEQXR0cmlidXRlcyh3aXRoQ29sb3JzcGFjZSwgbGF5ZXIpLCBkYXRhLCAmc291cmNl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW1hZ2UpOwogCiAgICAg
ICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CkBAIC0xMzY2LDggKzE2MjIsMjEgQEAgVEVTVF9QKElt
YWdlVGVzdCwgU291cmNlM0RUYXJnZXRUZXh0dXJlKQogCiBURVNUX1AoSW1hZ2VUZXN0LCBTb3Vy
Y2UzRFRhcmdldFJlbmRlcmJ1ZmZlcikKIHsKLSAgICAvLyBRdWFsY29tIGRyaXZlcnMgYXBwZWFy
IHRvIGFsd2F5cyBiaW5kIHRoZSAwIGxheWVyIG9mIHRoZSBzb3VyY2UgM0QgdGV4dHVyZSB3aGVu
IHRoZSB0YXJnZXQgaXMKLSAgICAvLyBhIHJlbmRlcmJ1ZmZlci4gVGhleSB3b3JrIGNvcnJlY3Rs
eSB3aGVuIHRoZSB0YXJnZXQgaXMgYSAyRCB0ZXh0dXJlLiBodHRwOi8vYW5nbGVidWcuY29tLzI3
NDUKKyAgICBTb3VyY2UzRFRhcmdldFJlbmRlcmJ1ZmZlcl9oZWxwZXIoZmFsc2UpOworfQorCitU
RVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UzRFRhcmdldFJlbmRlcmJ1ZmZlcl9Db2xvcnNwYWNlKQor
eworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMpOwor
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9yc3BhY2VFeHQoKSk7CisgICAg
U291cmNlM0RUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVyKHRydWUpOworfQorCit2b2lkIEltYWdl
VGVzdDo6U291cmNlM0RUYXJnZXRSZW5kZXJidWZmZXJfaGVscGVyKGNvbnN0IGJvb2wgd2l0aENv
bG9yc3BhY2UpCit7CisgICAgLy8gUXVhbGNvbSBkcml2ZXJzIGFwcGVhciB0byBhbHdheXMgYmlu
ZCB0aGUgMCBsYXllciBvZiB0aGUgc291cmNlIDNEIHRleHR1cmUgd2hlbiB0aGUKKyAgICAvLyB0
YXJnZXQgaXMgYSByZW5kZXJidWZmZXIuIFRoZXkgd29yayBjb3JyZWN0bHkgd2hlbiB0aGUgdGFy
Z2V0IGlzIGEgMkQgdGV4dHVyZS4KKyAgICAvLyBodHRwOi8vYW5nbGVidWcuY29tLzI3NDUKICAg
ICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNBbmRyb2lkKCkgJiYgSXNPcGVuR0xFUygpKTsKIAogICAg
IEVHTFdpbmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CkBAIC0xMzg1LDcgKzE2NTQsOSBA
QCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UzRFRhcmdldFJlbmRlcmJ1ZmZlcikKICAgICAgICAg
Ly8gQ3JlYXRlIHRoZSBJbWFnZQogICAgICAgICBHTHVpbnQgc291cmNlOwogICAgICAgICBFR0xJ
bWFnZUtIUiBpbWFnZTsKLSAgICAgICAgY3JlYXRlRUdMSW1hZ2UzRFRleHR1cmVTb3VyY2UoMSwg
MSwgZGVwdGgsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIGRhdGEsIGxheWVyLCAmc291cmNl
LAorCisgICAgICAgIGNyZWF0ZUVHTEltYWdlM0RUZXh0dXJlU291cmNlKDEsIDEsIGRlcHRoLCBH
TF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnZXQzREF0dHJpYnV0ZXMod2l0aENvbG9yc3BhY2UsIGxheWVyKSwgZGF0YSwgJnNv
dXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmltYWdlKTsKIAog
ICAgICAgICAvLyBDcmVhdGUgdGhlIHRhcmdldApAQCAtMTQwNCw2ICsxNjc1LDE4IEBAIFRFU1Rf
UChJbWFnZVRlc3QsIFNvdXJjZTNEVGFyZ2V0UmVuZGVyYnVmZmVyKQogCiAvLyBUZXN0IDNEIC0+
IGV4dGVybmFsIHRleHR1cmUgRUdMIGltYWdlcy4KIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZTNE
VGFyZ2V0RXh0ZXJuYWwpCit7CisgICAgU291cmNlM0RUYXJnZXRFeHRlcm5hbF9oZWxwZXIoZmFs
c2UpOworfQorCitURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2UzRFRhcmdldEV4dGVybmFsX0NvbG9y
c3BhY2UpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1ham9yVmVyc2lvbigp
IDwgMyAmJiAhSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9zUkdCIikpOworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9yc3BhY2VFeHQoKSk7CisgICAgU291cmNlM0RU
YXJnZXRFeHRlcm5hbF9oZWxwZXIodHJ1ZSk7Cit9CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2Uz
RFRhcmdldEV4dGVybmFsX2hlbHBlcihjb25zdCBib29sIHdpdGhDb2xvcnNwYWNlKQogewogICAg
IEVHTFdpbmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CiAgICAgQU5HTEVfU0tJUF9URVNU
X0lGKCFoYXNPRVNFeHQoKSB8fCAhaGFzRXh0ZXJuYWxFeHQoKSB8fCAhaGFzQmFzZUV4dCgpIHx8
ICFoYXMzRFRleHR1cmVFeHQoKSk7CkBAIC0xNDIzLDcgKzE3MDYsOCBAQCBURVNUX1AoSW1hZ2VU
ZXN0LCBTb3VyY2UzRFRhcmdldEV4dGVybmFsKQogICAgICAgICAvLyBDcmVhdGUgdGhlIEltYWdl
CiAgICAgICAgIEdMdWludCBzb3VyY2U7CiAgICAgICAgIEVHTEltYWdlS0hSIGltYWdlOwotICAg
ICAgICBjcmVhdGVFR0xJbWFnZTNEVGV4dHVyZVNvdXJjZSgxLCAxLCBkZXB0aCwgR0xfUkdCQSwg
R0xfVU5TSUdORURfQllURSwgZGF0YSwgbGF5ZXIsICZzb3VyY2UsCisgICAgICAgIGNyZWF0ZUVH
TEltYWdlM0RUZXh0dXJlU291cmNlKDEsIDEsIGRlcHRoLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9C
WVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQzREF0dHJpYnV0
ZXMod2l0aENvbG9yc3BhY2UsIGxheWVyKSwgZGF0YSwgJnNvdXJjZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmltYWdlKTsKIAogICAgICAgICAvLyBDcmVhdGUgdGhl
IHRhcmdldApAQCAtMTQ0Miw2ICsxNzI2LDE4IEBAIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZTNE
VGFyZ2V0RXh0ZXJuYWwpCiAKIC8vIFRlc3QgM0QgLT4gZXh0ZXJuYWwgdGV4dHVyZSBFR0wgaW1h
Z2VzIHVzaW5nIEVTU0wzIHNoYWRlcnMuCiBURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2UzRFRh
cmdldEV4dGVybmFsRVNTTDMpCit7CisgICAgU291cmNlM0RUYXJnZXRFeHRlcm5hbEVTU0wzX2hl
bHBlcihmYWxzZSk7Cit9CisKK1RFU1RfUChJbWFnZVRlc3RFUzMsIFNvdXJjZTNEVGFyZ2V0RXh0
ZXJuYWxFU1NMM19Db2xvcnNwYWNlKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGll
bnRNYWpvclZlcnNpb24oKSA8IDMgJiYgIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfc1JH
QiIpKTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0ltYWdlR0xDb2xvcnNwYWNlRXh0KCkp
OworICAgIFNvdXJjZTNEVGFyZ2V0RXh0ZXJuYWxFU1NMM19oZWxwZXIodHJ1ZSk7Cit9CisKK3Zv
aWQgSW1hZ2VUZXN0OjpTb3VyY2UzRFRhcmdldEV4dGVybmFsRVNTTDNfaGVscGVyKGNvbnN0IGJv
b2wgd2l0aENvbG9yc3BhY2UpCiB7CiAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5k
b3coKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc09FU0V4dCgpIHx8ICFoYXNFeHRlcm5h
bEVTU0wzRXh0KCkgfHwgIWhhc0Jhc2VFeHQoKSB8fApAQCAtMTQ1OSw3ICsxNzU1LDkgQEAgVEVT
VF9QKEltYWdlVGVzdEVTMywgU291cmNlM0RUYXJnZXRFeHRlcm5hbEVTU0wzKQogICAgICAgICAv
LyBDcmVhdGUgdGhlIEltYWdlCiAgICAgICAgIEdMdWludCBzb3VyY2U7CiAgICAgICAgIEVHTElt
YWdlS0hSIGltYWdlOwotICAgICAgICBjcmVhdGVFR0xJbWFnZTNEVGV4dHVyZVNvdXJjZSgxLCAx
LCBkZXB0aCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgZGF0YSwgbGF5ZXIsICZzb3VyY2Us
CisKKyAgICAgICAgY3JlYXRlRUdMSW1hZ2UzRFRleHR1cmVTb3VyY2UoMSwgMSwgZGVwdGgsIEdM
X1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdldDNEQXR0cmlidXRlcyh3aXRoQ29sb3JzcGFjZSwgbGF5ZXIpLCBkYXRhLCAmc291
cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW1hZ2UpOwogCiAg
ICAgICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CkBAIC0xNDc3LDYgKzE3NzUsMTcgQEAgVEVTVF9Q
KEltYWdlVGVzdEVTMywgU291cmNlM0RUYXJnZXRFeHRlcm5hbEVTU0wzKQogfQogCiBURVNUX1Ao
SW1hZ2VUZXN0LCBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlKQoreworICAgIFNvdXJj
ZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVfaGVscGVyKGtEZWZhdWx0QXR0cmlicyk7Cit9CisK
K1RFU1RfUChJbWFnZVRlc3QsIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVfQ29sb3Jz
cGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0ltYWdlR0xDb2xvcnNwYWNlRXh0
KCkpOworICAgIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVfaGVscGVyKGtDb2xvcnNw
YWNlQXR0cmlicyk7Cit9CisKK3ZvaWQgSW1hZ2VUZXN0OjpTb3VyY2VSZW5kZXJidWZmZXJUYXJn
ZXRUZXh0dXJlX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMpCiB7CiAgICAgRUdMV2luZG93
ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc09F
U0V4dCgpIHx8ICFoYXNCYXNlRXh0KCkgfHwgIWhhc1JlbmRlcmJ1ZmZlckV4dCgpKTsKQEAgLTE0
ODYsNyArMTc5NSw3IEBAIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdl
dFRleHR1cmUpCiAgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAg
ICAgRUdMSW1hZ2VLSFIgaW1hZ2U7Ci0gICAgY3JlYXRlRUdMSW1hZ2VSZW5kZXJidWZmZXJTb3Vy
Y2UoMSwgMSwgR0xfUkdCQThfT0VTLCBkYXRhLCAmc291cmNlLCAmaW1hZ2UpOworICAgIGNyZWF0
ZUVHTEltYWdlUmVuZGVyYnVmZmVyU291cmNlKDEsIDEsIEdMX1JHQkE4X09FUywgYXR0cmlicywg
ZGF0YSwgJnNvdXJjZSwgJmltYWdlKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAg
R0x1aW50IHRhcmdldDsKQEAgLTE1MDMsNiArMTgxMiwxNyBAQCBURVNUX1AoSW1hZ2VUZXN0LCBT
b3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlKQogCiAvLyBUZXN0IHJlbmRlcmJ1ZmZlciAt
PiBleHRlcm5hbCB0ZXh0dXJlIEVHTCBpbWFnZXMuCiBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VS
ZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJuYWwpCit7CisgICAgU291cmNlUmVuZGVyYnVm
ZmVyVGFyZ2V0VGV4dHVyZUV4dGVybmFsX2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOworfQorCitU
RVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJuYWxf
Q29sb3JzcGFjZSkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0ltYWdlR0xDb2xvcnNw
YWNlRXh0KCkpOworICAgIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVFeHRlcm5hbF9o
ZWxwZXIoa0NvbG9yc3BhY2VBdHRyaWJzKTsKK30KKwordm9pZCBJbWFnZVRlc3Q6OlNvdXJjZVJl
bmRlcmJ1ZmZlclRhcmdldFRleHR1cmVFeHRlcm5hbF9oZWxwZXIoY29uc3QgRUdMaW50ICphdHRy
aWJzKQogewogICAgIEVHTFdpbmRvdyAqd2luZG93ID0gZ2V0RUdMV2luZG93KCk7CiAgICAgQU5H
TEVfU0tJUF9URVNUX0lGKCFoYXNPRVNFeHQoKSB8fCAhaGFzRXh0ZXJuYWxFeHQoKSB8fCAhaGFz
QmFzZUV4dCgpIHx8ICFoYXNSZW5kZXJidWZmZXJFeHQoKSk7CkBAIC0xNTE1LDcgKzE4MzUsNyBA
QCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJu
YWwpCiAgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdM
SW1hZ2VLSFIgaW1hZ2U7Ci0gICAgY3JlYXRlRUdMSW1hZ2VSZW5kZXJidWZmZXJTb3VyY2UoMSwg
MSwgR0xfUkdCQThfT0VTLCBkYXRhLCAmc291cmNlLCAmaW1hZ2UpOworICAgIGNyZWF0ZUVHTElt
YWdlUmVuZGVyYnVmZmVyU291cmNlKDEsIDEsIEdMX1JHQkE4X09FUywgYXR0cmlicywgZGF0YSwg
JnNvdXJjZSwgJmltYWdlKTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAgR0x1aW50
IHRhcmdldDsKQEAgLTE1MzIsNiArMTg1MiwxNyBAQCBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VS
ZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJuYWwpCiAKIC8vIFRlc3QgcmVuZGVyYnVmZmVy
IC0+IGV4dGVybmFsIHRleHR1cmUgRUdMIGltYWdlcyB1c2luZyBFU1NMMyBzaGFkZXJzLgogVEVT
VF9QKEltYWdlVGVzdEVTMywgU291cmNlUmVuZGVyYnVmZmVyVGFyZ2V0VGV4dHVyZUV4dGVybmFs
RVNTTDMpCit7CisgICAgU291cmNlUmVuZGVyYnVmZmVyVGFyZ2V0VGV4dHVyZUV4dGVybmFsRVNT
TDNfaGVscGVyKGtEZWZhdWx0QXR0cmlicyk7Cit9CisKK1RFU1RfUChJbWFnZVRlc3RFUzMsIFNv
dXJjZVJlbmRlcmJ1ZmZlclRhcmdldFRleHR1cmVFeHRlcm5hbEVTU0wzX0NvbG9yc3BhY2UpCit7
CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNJbWFnZUdMQ29sb3JzcGFjZUV4dCgpKTsKKyAg
ICBTb3VyY2VSZW5kZXJidWZmZXJUYXJnZXRUZXh0dXJlRXh0ZXJuYWxFU1NMM19oZWxwZXIoa0Nv
bG9yc3BhY2VBdHRyaWJzKTsKK30KKwordm9pZCBJbWFnZVRlc3Q6OlNvdXJjZVJlbmRlcmJ1ZmZl
clRhcmdldFRleHR1cmVFeHRlcm5hbEVTU0wzX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMp
CiB7CiAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKICAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoIWhhc09FU0V4dCgpIHx8ICFoYXNFeHRlcm5hbEVTU0wzRXh0KCkgfHwgIWhh
c0Jhc2VFeHQoKSB8fApAQCAtMTU0Miw3ICsxODczLDcgQEAgVEVTVF9QKEltYWdlVGVzdEVTMywg
U291cmNlUmVuZGVyYnVmZmVyVGFyZ2V0VGV4dHVyZUV4dGVybmFsRVNTTDMpCiAgICAgLy8gQ3Jl
YXRlIHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7
Ci0gICAgY3JlYXRlRUdMSW1hZ2VSZW5kZXJidWZmZXJTb3VyY2UoMSwgMSwgR0xfUkdCQThfT0VT
LCBkYXRhLCAmc291cmNlLCAmaW1hZ2UpOworICAgIGNyZWF0ZUVHTEltYWdlUmVuZGVyYnVmZmVy
U291cmNlKDEsIDEsIEdMX1JHQkE4X09FUywgYXR0cmlicywgZGF0YSwgJnNvdXJjZSwgJmltYWdl
KTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAgR0x1aW50IHRhcmdldDsKQEAgLTE1
NTgsNiArMTg4OSwxOCBAQCBURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2VSZW5kZXJidWZmZXJU
YXJnZXRUZXh0dXJlRXh0ZXJuYWxFU1NMMykKIH0KIAogVEVTVF9QKEltYWdlVGVzdCwgU291cmNl
UmVuZGVyYnVmZmVyVGFyZ2V0UmVuZGVyYnVmZmVyKQoreworICAgIFNvdXJjZVJlbmRlcmJ1ZmZl
clRhcmdldFJlbmRlcmJ1ZmZlcl9oZWxwZXIoa0RlZmF1bHRBdHRyaWJzKTsKK30KKworVEVTVF9Q
KEltYWdlVGVzdCwgU291cmNlUmVuZGVyYnVmZmVyVGFyZ2V0UmVuZGVyYnVmZmVyX0NvbG9yc3Bh
Y2UpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1ham9yVmVyc2lvbigpIDwg
MyAmJiAhSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9zUkdCIikpOworICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighaGFzSW1hZ2VHTENvbG9yc3BhY2VFeHQoKSk7CisgICAgU291cmNlUmVuZGVy
YnVmZmVyVGFyZ2V0UmVuZGVyYnVmZmVyX2hlbHBlcihrQ29sb3JzcGFjZUF0dHJpYnMpOworfQor
Cit2b2lkIEltYWdlVGVzdDo6U291cmNlUmVuZGVyYnVmZmVyVGFyZ2V0UmVuZGVyYnVmZmVyX2hl
bHBlcihjb25zdCBFR0xpbnQgKmF0dHJpYnMpCiB7CiAgICAgRUdMV2luZG93ICp3aW5kb3cgPSBn
ZXRFR0xXaW5kb3coKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc09FU0V4dCgpIHx8ICFo
YXNCYXNlRXh0KCkgfHwgIWhhc1JlbmRlcmJ1ZmZlckV4dCgpKTsKQEAgLTE1NjcsNyArMTkxMCw3
IEBAIFRFU1RfUChJbWFnZVRlc3QsIFNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdldFJlbmRlcmJ1ZmZl
cikKICAgICAvLyBDcmVhdGUgdGhlIEltYWdlCiAgICAgR0x1aW50IHNvdXJjZTsKICAgICBFR0xJ
bWFnZUtIUiBpbWFnZTsKLSAgICBjcmVhdGVFR0xJbWFnZVJlbmRlcmJ1ZmZlclNvdXJjZSgxLCAx
LCBHTF9SR0JBOF9PRVMsIGRhdGEsICZzb3VyY2UsICZpbWFnZSk7CisgICAgY3JlYXRlRUdMSW1h
Z2VSZW5kZXJidWZmZXJTb3VyY2UoMSwgMSwgR0xfUkdCQThfT0VTLCBhdHRyaWJzLCBkYXRhLCAm
c291cmNlLCAmaW1hZ2UpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSB0YXJnZXQKICAgICBHTHVpbnQg
dGFyZ2V0OwpAQCAtMTU5Niw3ICsxOTM5LDggQEAgVEVTVF9QKEltYWdlVGVzdCwgRGVsZXRpb24p
CiAgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1h
Z2VLSFIgaW1hZ2U7Ci0gICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xf
UkdCQSwgR0xfVU5TSUdORURfQllURSwgb3JpZ2luYWxEYXRhLCAmc291cmNlLCAmaW1hZ2UpOwor
ICAgIGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lH
TkVEX0JZVEUsIGtEZWZhdWx0QXR0cmlicywgb3JpZ2luYWxEYXRhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZzb3VyY2UsICZpbWFnZSk7CiAKICAgICAvLyBDcmVhdGUgbXVs
dGlwbGUgdGFyZ2V0cwogICAgIEdMdWludCB0YXJnZXRUZXh0dXJlOwpAQCAtMTc2Miw3ICsyMTA2
LDggQEAgVEVTVF9QKEltYWdlVGVzdCwgUmVzcGVjaWZpY2F0aW9uKQogICAgIC8vIENyZWF0ZSB0
aGUgSW1hZ2UKICAgICBHTHVpbnQgc291cmNlOwogICAgIEVHTEltYWdlS0hSIGltYWdlOwotICAg
IGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lHTkVE
X0JZVEUsIG9yaWdpbmFsRGF0YSwgJnNvdXJjZSwgJmltYWdlKTsKKyAgICBjcmVhdGVFR0xJbWFn
ZTJEVGV4dHVyZVNvdXJjZSgxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBrRGVmYXVs
dEF0dHJpYnMsIG9yaWdpbmFsRGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmc291cmNlLCAmaW1hZ2UpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSB0YXJnZXQKICAgICBHTHVp
bnQgdGFyZ2V0OwpAQCAtMTc5Nyw3ICsyMTQyLDggQEAgVEVTVF9QKEltYWdlVGVzdCwgUmVzcGVj
aWZpY2F0aW9uRGlmZmVyZW50U2l6ZSkKICAgICAvLyBDcmVhdGUgdGhlIEltYWdlCiAgICAgR0x1
aW50IHNvdXJjZTsKICAgICBFR0xJbWFnZUtIUiBpbWFnZTsKLSAgICBjcmVhdGVFR0xJbWFnZTJE
VGV4dHVyZVNvdXJjZSgxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBvcmlnaW5hbERh
dGEsICZzb3VyY2UsICZpbWFnZSk7CisgICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2Uo
MSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwga0RlZmF1bHRBdHRyaWJzLCBvcmlnaW5h
bERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNvdXJjZSwgJmltYWdl
KTsKIAogICAgIC8vIENyZWF0ZSB0aGUgdGFyZ2V0CiAgICAgR0x1aW50IHRhcmdldDsKQEAgLTE4
MzUsNyArMjE4MSw4IEBAIFRFU1RfUChJbWFnZVRlc3QsIFJlc3BlY2lmaWNhdGlvbldpdGhGQk8p
CiAgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1h
Z2VLSFIgaW1hZ2U7Ci0gICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xf
UkdCQSwgR0xfVU5TSUdORURfQllURSwgb3JpZ2luYWxEYXRhLCAmc291cmNlLCAmaW1hZ2UpOwor
ICAgIGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEsIDEsIEdMX1JHQkEsIEdMX1VOU0lH
TkVEX0JZVEUsIGtEZWZhdWx0QXR0cmlicywgb3JpZ2luYWxEYXRhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZzb3VyY2UsICZpbWFnZSk7CiAKICAgICAvLyBDcmVhdGUgdGhl
IHRhcmdldAogICAgIEdMdWludCB0YXJnZXQ7CkBAIC0xODk0LDcgKzIyNDEsOCBAQCBURVNUX1Ao
SW1hZ2VUZXN0LCBSZXNwZWNpZmljYXRpb25PZk90aGVyTGV2ZWwpCiAgICAgLy8gQ3JlYXRlIHRo
ZSBJbWFnZQogICAgIEdMdWludCBzb3VyY2U7CiAgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7Ci0gICAg
Y3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMiwgMiwgR0xfUkdCQSwgR0xfVU5TSUdORURf
QllURSwgb3JpZ2luYWxEYXRhLCAmc291cmNlLCAmaW1hZ2UpOworICAgIGNyZWF0ZUVHTEltYWdl
MkRUZXh0dXJlU291cmNlKDIsIDIsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIGtEZWZhdWx0
QXR0cmlicywgb3JpZ2luYWxEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZzb3VyY2UsICZpbWFnZSk7CiAKICAgICAvLyBDcmVhdGUgdGhlIHRhcmdldAogICAgIEdMdWlu
dCB0YXJnZXQ7CkBAIC0xOTM5LDcgKzIyODcsOCBAQCBURVNUX1AoSW1hZ2VUZXN0LCBVcGRhdGVk
RGF0YSkKICAgICAvLyBDcmVhdGUgdGhlIEltYWdlCiAgICAgR0x1aW50IHNvdXJjZTsKICAgICBF
R0xJbWFnZUtIUiBpbWFnZTsKLSAgICBjcmVhdGVFR0xJbWFnZTJEVGV4dHVyZVNvdXJjZSgxLCAx
LCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBvcmlnaW5hbERhdGEsICZzb3VyY2UsICZpbWFn
ZSk7CisgICAgY3JlYXRlRUdMSW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xf
VU5TSUdORURfQllURSwga0RlZmF1bHRBdHRyaWJzLCBvcmlnaW5hbERhdGEsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnNvdXJjZSwgJmltYWdlKTsKIAogICAgIC8vIENyZWF0
ZSBtdWx0aXBsZSB0YXJnZXRzCiAgICAgR0x1aW50IHRhcmdldFRleHR1cmU7CkBAIC0xOTgyLDQg
KzIzMzEsNCBAQCBURVNUX1AoSW1hZ2VUZXN0LCBVcGRhdGVkRGF0YSkKIC8vIHRlc3RzIHNob3Vs
ZCBiZSBydW4gYWdhaW5zdC4KIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMyX0FORF9FUzMoSW1h
Z2VUZXN0KTsKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMzKEltYWdlVGVzdEVTMyk7Ci19ICAv
LyBuYW1lc3BhY2UgYW5nbGUKK30gIC8vIG5hbWVzcGFjZSBhbmdsZQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9nbF90ZXN0cy9MaW5rQW5kUmVsaW5rVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvTGlua0FuZFJlbGlua1Rlc3QuY3BwCmluZGV4IGQ0NTllYTJm
N2YyYjZjY2JhNDgxNGM1ZWM4NzcyNWRkZmI1MDRlZDYuLmM4ODYxZGI2Y2Y1ZDgzNzg4YzQ4NGQ1
NGEwNmY1OGM5YmQzNTVjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9nbF90ZXN0cy9MaW5rQW5kUmVsaW5rVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0xpbmtBbmRSZWxpbmtUZXN0LmNwcApAQCAt
MzcsOCArMzcsNyBAQCBjbGFzcyBMaW5rQW5kUmVsaW5rVGVzdEVTMzEgOiBwdWJsaWMgQU5HTEVU
ZXN0CiAvLyBvciB2aWNlIHZlcnNhLgogCiAvLyBXaGVuIHByb2dyYW0gbGluayBmYWlscyBhbmQg
bm8gdmFsaWQgcmVuZGVyaW5nIHByb2dyYW0gaXMgaW5zdGFsbGVkIGluIHRoZSBHTAotLy8gc3Rh
dGUgYmVmb3JlIHRoZSBsaW5rLCBpdCBzaG91bGQgcmVwb3J0IGFuIGVycm9yIGZvciBVc2VQcm9n
cmFtIGFuZAotLy8gRHJhd0FycmF5cy9EcmF3RWxlbWVudHMuCisvLyBzdGF0ZSBiZWZvcmUgdGhl
IGxpbmssIGl0IHNob3VsZCByZXBvcnQgYW4gZXJyb3IgZm9yIFVzZVByb2dyYW0KIFRFU1RfUChM
aW5rQW5kUmVsaW5rVGVzdCwgUmVuZGVyaW5nUHJvZ3JhbUZhaWxzV2l0aG91dFByb2dyYW1JbnN0
YWxsZWQpCiB7CiAgICAgZ2xVc2VQcm9ncmFtKDApOwpAQCAtNTMsNyArNTIsNyBAQCBURVNUX1Ao
TGlua0FuZFJlbGlua1Rlc3QsIFJlbmRlcmluZ1Byb2dyYW1GYWlsc1dpdGhvdXRQcm9ncmFtSW5z
dGFsbGVkKQogICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJBVElPTik7CiAKICAg
ICBnbERyYXdBcnJheXMoR0xfUE9JTlRTLCAwLCAxKTsKLSAgICBFWFBFQ1RfR0xfRVJST1IoR0xf
SU5WQUxJRF9PUEVSQVRJT04pOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwogfQogCiAvLyBX
aGVuIHByb2dyYW0gbGluayBvciByZWxpbmsgZmFpbHMgYW5kIGEgdmFsaWQgcmVuZGVyaW5nIHBy
b2dyYW0gaXMgaW5zdGFsbGVkCkBAIC0yMTksNyArMjE4LDYgQEAgVEVTVF9QKExpbmtBbmRSZWxp
bmtUZXN0RVMzMSwgQ29tcHV0ZVByb2dyYW1GYWlsc1dpdGhvdXRQcm9ncmFtSW5zdGFsbGVkKQog
Ly8gV2hlbiBwcm9ncmFtIGxpbmsgb3IgcmVsaW5rIGZhaWxzIGFuZCBhIHZhbGlkIGNvbXB1dGUg
cHJvZ3JhbSBpcyBpbnN0YWxsZWQgaW4KIC8vIHRoZSBHTCBzdGF0ZSBiZWZvcmUgdGhlIGxpbmss
IHVzaW5nIHRoZSBmYWlsZWQgcHJvZ3JhbSB2aWEgVXNlUHJvZ3JhbSBzaG91bGQKIC8vIHJlcG9y
dCBhbiBlcnJvciwgYnV0IGRpc3BhdGNoaW5nIGNvbXB1dGUgc2hvdWxkIHN1Y2NlZWQuCi0vLyBI
b3dldmVyLCBzdGFydGluZyByZW5kZXJpbmcgYWx3YXlzIGZhaWxzLgogVEVTVF9QKExpbmtBbmRS
ZWxpbmtUZXN0RVMzMSwgQ29tcHV0ZVByb2dyYW1GYWlsc1dpdGhQcm9ncmFtSW5zdGFsbGVkKQog
ewogICAgIC8vIEluc3RhbGwgYSBjb21wdXRlIHByb2dyYW0gaW4gdGhlIEdMIHN0YXRlIHZpYSBV
c2VQcm9ncmFtLCB0aGVuIGRpc3BhdGNoCkBAIC0yNTIsNyArMjUwLDcgQEAgVEVTVF9QKExpbmtB
bmRSZWxpbmtUZXN0RVMzMSwgQ29tcHV0ZVByb2dyYW1GYWlsc1dpdGhQcm9ncmFtSW5zdGFsbGVk
KQogICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwogCiAgICAgZ2xEcmF3QXJyYXlzKEdMX1BPSU5U
UywgMCwgMSk7Ci0gICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKKyAg
ICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAgIC8vIExpbmsgZmFpbHVyZSwgYW5kIGEgdmFs
aWQgcHJvZ3JhbSBoYXMgYmVlbiBpbnN0YWxsZWQgaW4gdGhlIEdMIHN0YXRlLgogICAgIEdMdWlu
dCBwcm9ncmFtTnVsbCA9IGdsQ3JlYXRlUHJvZ3JhbSgpOwpAQCAtMjY2LDcgKzI2NCw3IEBAIFRF
U1RfUChMaW5rQW5kUmVsaW5rVGVzdEVTMzEsIENvbXB1dGVQcm9ncmFtRmFpbHNXaXRoUHJvZ3Jh
bUluc3RhbGxlZCkKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAgIGdsRHJhd0FycmF5
cyhHTF9QT0lOVFMsIDAsIDEpOwotICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJB
VElPTik7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiAKICAgICAvLyBVc2luZyB0aGUgdW5z
dWNjZXNzZnVsbHkgbGlua2VkIHByb2dyYW0gc2hvdWxkIHJlcG9ydCBhbiBlcnJvci4KICAgICBn
bFVzZVByb2dyYW0ocHJvZ3JhbU51bGwpOwpAQCAtMjgwLDcgKzI3OCw3IEBAIFRFU1RfUChMaW5r
QW5kUmVsaW5rVGVzdEVTMzEsIENvbXB1dGVQcm9ncmFtRmFpbHNXaXRoUHJvZ3JhbUluc3RhbGxl
ZCkKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAgIGdsRHJhd0FycmF5cyhHTF9QT0lO
VFMsIDAsIDEpOwotICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJBVElPTik7Cisg
ICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiAKICAgICAvLyBXZSB0cnkgdG8gcmVsaW5rIHRoZSBp
bnN0YWxsZWQgcHJvZ3JhbSwgYnV0IG1ha2UgaXQgZmFpbC4KIApAQCAtMjk2LDcgKzI5NCw3IEBA
IFRFU1RfUChMaW5rQW5kUmVsaW5rVGVzdEVTMzEsIENvbXB1dGVQcm9ncmFtRmFpbHNXaXRoUHJv
Z3JhbUluc3RhbGxlZCkKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAgIGdsRHJhd0Fy
cmF5cyhHTF9QT0lOVFMsIDAsIDEpOwotICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09Q
RVJBVElPTik7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiAKICAgICAvLyBVc2luZyB0aGUg
dW5zdWNjZXNzZnVsbHkgcmVsaW5rZWQgcHJvZ3JhbSBzaG91bGQgcmVwb3J0IGFuIGVycm9yLgog
ICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFtKTsKQEAgLTMxMCwxMSArMzA4LDExIEBAIFRFU1RfUChM
aW5rQW5kUmVsaW5rVGVzdEVTMzEsIENvbXB1dGVQcm9ncmFtRmFpbHNXaXRoUHJvZ3JhbUluc3Rh
bGxlZCkKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAgIGdsRHJhd0FycmF5cyhHTF9Q
T0lOVFMsIDAsIDEpOwotICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJBVElPTik7
CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiB9CiAKIC8vIElmIHlvdSBjb21waWxlIGFuZCBs
aW5rIGEgY29tcHV0ZSBwcm9ncmFtIHN1Y2Nlc3NmdWxseSBhbmQgdXNlIHRoZSBwcm9ncmFtLAot
Ly8gdGhlbiBkaXNwYXRjaGluZyBjb21wdXRlIGNhbiBzdWNjZWVkLCB3aGlsZSBzdGFydGluZyBy
ZW5kZXJpbmcgd2lsbCBmYWlsLgorLy8gdGhlbiBkaXNwYXRjaGluZyBjb21wdXRlIGFuZCByZW5k
ZXJpbmcgY2FuIHN1Y2NlZWQgKHdpdGggdW5kZWZpbmVkIGJlaGF2aW9yKS4KIC8vIElmIHlvdSBy
ZWxpbmsgdGhlIGNvbXB1dGUgcHJvZ3JhbSB0byBhIHJlbmRlcmluZyBwcm9ncmFtIHdoZW4gaXQg
aXMgaW4gdXNlLAogLy8gdGhlbiBkaXNwYXRjaGluZyBjb21wdXRlIHdpbGwgZmFpbCwgYnV0IHN0
YXJ0aW5nIHJlbmRlcmluZyBjYW4gc3VjY2VlZC4KIFRFU1RfUChMaW5rQW5kUmVsaW5rVGVzdEVT
MzEsIFJlbGlua1Byb2dyYW1TdWNjZWVkc0Zyb21Db21wdXRlVG9SZW5kZXJpbmcpCkBAIC0zNDcs
NyArMzQ1LDcgQEAgdm9pZCBtYWluKCkKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIAogICAg
IGdsRHJhd0FycmF5cyhHTF9QT0lOVFMsIDAsIDEpOwotICAgIEVYUEVDVF9HTF9FUlJPUihHTF9J
TlZBTElEX09QRVJBVElPTik7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiAKICAgICBjb25z
dGV4cHIgY2hhciBrVlNbXSA9ICJ2b2lkIG1haW4oKSB7fSI7CiAgICAgY29uc3RleHByIGNoYXIg
a0ZTW10gPSAidm9pZCBtYWluKCkge30iOwpAQCAtNDQxLDcgKzQzOSw3IEBAIHZvaWQgbWFpbigp
CiAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiAKICAgICBnbERyYXdBcnJheXMoR0xfUE9JTlRT
LCAwLCAxKTsKLSAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOworICAg
IEVYUEVDVF9HTF9OT19FUlJPUigpOwogfQogCiBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMl9B
TkRfRVMzKExpbmtBbmRSZWxpbmtUZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9NaXBtYXBUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9NaXBtYXBUZXN0LmNwcAppbmRleCAzMTY5ODAx
MDJmZTk2YTFlN2JkMTM2YjViYTJlZjhlZDJkMjc2NGMxLi5lMDdiMzU2ODYwN2Y1OWQ4OTQzZDBk
NTc5NzZjNDdlOWRiZTY1MmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZ2xfdGVzdHMvTWlwbWFwVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL01pcG1hcFRlc3QuY3BwCkBAIC05NTQsMTAgKzk1NCw2
IEBAIFRFU1RfUChNaXBtYXBUZXN0RVMzLCBNaXBtYXBGb3JEZWVwVGV4dHVyZUFycmF5KQogLy8g
VGhlbiB0ZXN0cyBpZiB0aGUgbWlwbWFwcyBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IGZvciBhbGwg
dHdvIGxheWVycy4KIFRFU1RfUChNaXBtYXBUZXN0RVMzLCBNaXBtYXBzRm9yVGV4dHVyZTNEKQog
ewotICAgIC8vIEN1cnJlbnRseSBibG9jayBvbiBzd2lmdHNoYWRlciBCbGl0M0Qgc3VwcG9ydCwg
dHJhY2tlZCBvbgotICAgIC8vIGh0dHBzOi8vaXNzdWV0cmFja2VyLmdvb2dsZS5jb20vaXNzdWVz
LzE1MDE1NTQ5OQotICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1Z1bGthblN3aWZ0c2hhZGVyUmVu
ZGVyZXIoKSk7Ci0KICAgICBpbnQgcHggPSBnZXRXaW5kb3dXaWR0aCgpIC8gMjsKICAgICBpbnQg
cHkgPSBnZXRXaW5kb3dIZWlnaHQoKSAvIDI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9NdWx0aXNhbXBsZVRlc3QuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL011bHRpc2FtcGxlVGVzdC5jcHAK
aW5kZXggNmNkMjYzYzY2YTkzMGZmMzY5ZTU0NjllOWEyZjQ3MzFiNmU2YzBlYy4uYjM2NDlmZDc2
NWQwYWU3ZGVkMjY1YTIzM2JjMTE1M2EzMDdhZDIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL011bHRpc2FtcGxlVGVzdC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL011bHRpc2FtcGxlVGVz
dC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgY2xhc3MgTXVsdGlzYW1wbGVUZXN0IDogcHVibGljIEFO
R0xFVGVzdAogICAgICAgICAvLyBDcmVhdGUgYSB3aW5kb3csIGNvbnRleHQgYW5kIHN1cmZhY2Ug
aWYgbXVsdGlzYW1wbGluZyBpcyBwb3NzaWJsZS4KICAgICAgICAgbU9TV2luZG93ID0gT1NXaW5k
b3c6Ok5ldygpOwogICAgICAgICBtT1NXaW5kb3ctPmluaXRpYWxpemUoIk11bHRpc2FtcGxlVGVz
dCIsIGtXaW5kb3dTaXplLCBrV2luZG93U2l6ZSk7Ci0gICAgICAgIG1PU1dpbmRvdy0+c2V0Vmlz
aWJsZSh0cnVlKTsKKyAgICAgICAgc2V0V2luZG93VmlzaWJsZShtT1NXaW5kb3csIHRydWUpOwog
CiAgICAgICAgIEVHTGludCBjb250ZXh0QXR0cmlidXRlc1tdID0gewogICAgICAgICAgICAgRUdM
X0NPTlRFWFRfTUFKT1JfVkVSU0lPTl9LSFIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUHJvZ3JhbUJpbmFyeVRlc3QuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1Byb2dyYW1CaW5hcnlUZXN0LmNw
cAppbmRleCA2Y2MxZWZkZTcyZGQyNjAxNzA3NzA3YWQwOTQyYjIzNDMzYzE4ODM0Li45NjE2YjEz
NjEwNTMxNjExNmM2NjAxYzIwODVkZWI2MWY0YzNjMjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUHJvZ3JhbUJpbmFyeVRlc3QuY3BwCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Qcm9ncmFtQmlu
YXJ5VGVzdC5jcHAKQEAgLTExMDgsOCArMTEwOCw4IEBAIGNsYXNzIFByb2dyYW1CaW5hcmllc0Fj
cm9zc1BsYXRmb3JtcyA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPFBsYXRmb3Jtc1dp
CiAgICAgewogICAgICAgICBFR0xXaW5kb3cgKmVnbFdpbmRvdyA9IEVHTFdpbmRvdzo6TmV3KHBh
cmFtLm1ham9yVmVyc2lvbiwgcGFyYW0ubWlub3JWZXJzaW9uKTsKICAgICAgICAgQ29uZmlnUGFy
YW1ldGVycyBjb25maWdQYXJhbXM7Ci0gICAgICAgIGJvb2wgcmVzdWx0ID0gZWdsV2luZG93LT5p
bml0aWFsaXplR0wobU9TV2luZG93LCBtRW50cnlQb2ludHNMaWIuZ2V0KCksIHBhcmFtLmVnbFBh
cmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uZmlnUGFyYW1zKTsKKyAgICAgICAgYm9vbCByZXN1bHQgPSBlZ2xXaW5kb3ctPmluaXRpYWxp
emVHTChtT1NXaW5kb3csIG1FbnRyeVBvaW50c0xpYi5nZXQoKSwgcGFyYW0uZHJpdmVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtLmVnbFBhcmFt
ZXRlcnMsIGNvbmZpZ1BhcmFtcyk7CiAgICAgICAgIGlmICghcmVzdWx0KQogICAgICAgICB7CiAg
ICAgICAgICAgICBFR0xXaW5kb3c6OkRlbGV0ZSgmZWdsV2luZG93KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Qcm9ncmFtUGlwZWxpbmVU
ZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Qcm9n
cmFtUGlwZWxpbmVUZXN0LmNwcAppbmRleCA2NTM1MWY1NTdjODVkZWUwYTZlNDhlMzg4YzM1YmJh
N2UyNDk2YmJlLi4yMTA5ZjFjMDQzOWVlMmNmY2U0MWE4ZWVlOWU0NDQyMDMxZTk5YzJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUHJvZ3Jh
bVBpcGVsaW5lVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2dsX3Rlc3RzL1Byb2dyYW1QaXBlbGluZVRlc3QuY3BwCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNz
IFByb2dyYW1QaXBlbGluZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAvLyBWZXJpZnkgdGhhdCBw
cm9ncmFtIHBpcGVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdmVyc2lvbiBsb3dlciB0aGFuIEVT
MzEuCiBURVNUX1AoUHJvZ3JhbVBpcGVsaW5lVGVzdCwgR2VuZXJhdGVQcm9ncmFtUGlwZWxpbmVP
YmplY3QpCiB7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc1Z1bGthbigpKTsKKwogICAgIEdM
dWludCBwaXBlbGluZTsKICAgICBnbEdlblByb2dyYW1QaXBlbGluZXMoMSwgJnBpcGVsaW5lKTsK
ICAgICBpZiAoZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzIHx8IGdldENsaWVudE1pbm9yVmVy
c2lvbigpIDwgMSkKQEAgLTQ4LDExICs1MCw0OCBAQCBURVNUX1AoUHJvZ3JhbVBpcGVsaW5lVGVz
dCwgR2VuZXJhdGVQcm9ncmFtUGlwZWxpbmVPYmplY3QpCiB9CiAKIGNsYXNzIFByb2dyYW1QaXBl
bGluZVRlc3QzMSA6IHB1YmxpYyBQcm9ncmFtUGlwZWxpbmVUZXN0Ci17fTsKK3sKKyAgcHJvdGVj
dGVkOgorICAgIH5Qcm9ncmFtUGlwZWxpbmVUZXN0MzEoKQorICAgIHsKKyAgICAgICAgZ2xEZWxl
dGVQcm9ncmFtKG1WZXJ0UHJvZyk7CisgICAgICAgIGdsRGVsZXRlUHJvZ3JhbShtRnJhZ1Byb2cp
OworICAgICAgICBnbERlbGV0ZVByb2dyYW1QaXBlbGluZXMoMSwgJm1QaXBlbGluZSk7CisgICAg
fQorCisgICAgdm9pZCBiaW5kUHJvZ3JhbVBpcGVsaW5lKGNvbnN0IEdMY2hhciAqdmVydFN0cmlu
ZywgY29uc3QgR0xjaGFyICpmcmFnU3RyaW5nKTsKKyAgICB2b2lkIGRyYXdRdWFkKGNvbnN0IHN0
ZDo6c3RyaW5nICZwb3NpdGlvbkF0dHJpYk5hbWUsCisgICAgICAgICAgICAgICAgICBjb25zdCBH
TGZsb2F0IHBvc2l0aW9uQXR0cmliWiwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZmxvYXQg
cG9zaXRpb25BdHRyaWJYWVNjYWxlKTsKKworICAgIEdMdWludCBtVmVydFByb2c7CisgICAgR0x1
aW50IG1GcmFnUHJvZzsKKyAgICBHTHVpbnQgbVBpcGVsaW5lOworfTsKKwordm9pZCBQcm9ncmFt
UGlwZWxpbmVUZXN0MzE6OmJpbmRQcm9ncmFtUGlwZWxpbmUoY29uc3QgR0xjaGFyICp2ZXJ0U3Ry
aW5nLCBjb25zdCBHTGNoYXIgKmZyYWdTdHJpbmcpCit7CisgICAgbVZlcnRQcm9nID0gZ2xDcmVh
dGVTaGFkZXJQcm9ncmFtdihHTF9WRVJURVhfU0hBREVSLCAxLCAmdmVydFN0cmluZyk7CisgICAg
QVNTRVJUX05FKG1WZXJ0UHJvZywgMHUpOworICAgIG1GcmFnUHJvZyA9IGdsQ3JlYXRlU2hhZGVy
UHJvZ3JhbXYoR0xfRlJBR01FTlRfU0hBREVSLCAxLCAmZnJhZ1N0cmluZyk7CisgICAgQVNTRVJU
X05FKG1GcmFnUHJvZywgMHUpOworCisgICAgLy8gR2VuZXJhdGUgYSBwcm9ncmFtIHBpcGVsaW5l
IGFuZCBhdHRhY2ggdGhlIHByb2dyYW1zIHRvIHRoZWlyIHJlc3BlY3RpdmUgc3RhZ2VzCisgICAg
Z2xHZW5Qcm9ncmFtUGlwZWxpbmVzKDEsICZtUGlwZWxpbmUpOworICAgIEVYUEVDVF9HTF9OT19F
UlJPUigpOworICAgIGdsVXNlUHJvZ3JhbVN0YWdlcyhtUGlwZWxpbmUsIEdMX1ZFUlRFWF9TSEFE
RVJfQklULCBtVmVydFByb2cpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIGdsVXNl
UHJvZ3JhbVN0YWdlcyhtUGlwZWxpbmUsIEdMX0ZSQUdNRU5UX1NIQURFUl9CSVQsIG1GcmFnUHJv
Zyk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgZ2xCaW5kUHJvZ3JhbVBpcGVsaW5l
KG1QaXBlbGluZSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7Cit9CiAKIC8vIFRlc3QgZ2Vu
ZXJhdGUgb3IgZGVsZXRlIHByb2dyYW0gcGlwZWxpbmUuCiBURVNUX1AoUHJvZ3JhbVBpcGVsaW5l
VGVzdDMxLCBHZW5PckRlbGV0ZVByb2dyYW1QaXBlbGluZVRlc3QpCiB7CisgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc1Z1bGthbigpKTsKKwogICAgIEdMdWludCBwaXBlbGluZTsKICAgICBnbEdl
blByb2dyYW1QaXBlbGluZXMoLTEsICZwaXBlbGluZSk7CiAgICAgRVhQRUNUX0dMX0VSUk9SKEdM
X0lOVkFMSURfVkFMVUUpOwpAQCAtNjgsNiArMTA3LDggQEAgVEVTVF9QKFByb2dyYW1QaXBlbGlu
ZVRlc3QzMSwgR2VuT3JEZWxldGVQcm9ncmFtUGlwZWxpbmVUZXN0KQogLy8gVGVzdCBCaW5kUHJv
Z3JhbVBpcGVsaW5lLgogVEVTVF9QKFByb2dyYW1QaXBlbGluZVRlc3QzMSwgQmluZFByb2dyYW1Q
aXBlbGluZVRlc3QpCiB7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc1Z1bGthbigpKTsKKwog
ICAgIGdsQmluZFByb2dyYW1QaXBlbGluZSgwKTsKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsK
IApAQCAtODcsNiArMTI4LDggQEAgVEVTVF9QKFByb2dyYW1QaXBlbGluZVRlc3QzMSwgQmluZFBy
b2dyYW1QaXBlbGluZVRlc3QpCiAvLyBUZXN0IElzUHJvZ3JhbVBpcGVsaW5lCiBURVNUX1AoUHJv
Z3JhbVBpcGVsaW5lVGVzdDMxLCBJc1Byb2dyYW1QaXBlbGluZVRlc3QpCiB7CisgICAgQU5HTEVf
U0tJUF9URVNUX0lGKCFJc1Z1bGthbigpKTsKKwogICAgIEVYUEVDVF9HTF9GQUxTRShnbElzUHJv
Z3JhbVBpcGVsaW5lKDApKTsKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIApAQCAtMTA1LDYg
KzE0OCwzOTQgQEAgVEVTVF9QKFByb2dyYW1QaXBlbGluZVRlc3QzMSwgSXNQcm9ncmFtUGlwZWxp
bmVUZXN0KQogICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBTaW11bGF0ZXMgYSBj
YWxsIHRvIGdsQ3JlYXRlU2hhZGVyUHJvZ3JhbXYoKQorR0x1aW50IGNyZWF0ZVNoYWRlclByb2dy
YW0oR0xlbnVtIHR5cGUsIGNvbnN0IEdMY2hhciAqc2hhZGVyU3RyaW5nKQoreworICAgIEdMU2hh
ZGVyIHNoYWRlcih0eXBlKTsKKyAgICBpZiAoIXNoYWRlci5nZXQoKSkKKyAgICB7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKworICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJnNoYWRl
clN0cmluZywgbnVsbHB0cik7CisgICAgZ2xDb21waWxlU2hhZGVyKHNoYWRlcik7CisKKyAgICBH
THVpbnQgcHJvZ3JhbSA9IGdsQ3JlYXRlUHJvZ3JhbSgpOworCisgICAgaWYgKHByb2dyYW0pCisg
ICAgeworICAgICAgICBHTGludCBjb21waWxlZDsKKyAgICAgICAgZ2xHZXRTaGFkZXJpdihzaGFk
ZXIsIEdMX0NPTVBJTEVfU1RBVFVTLCAmY29tcGlsZWQpOworICAgICAgICBnbFByb2dyYW1QYXJh
bWV0ZXJpKHByb2dyYW0sIEdMX1BST0dSQU1fU0VQQVJBQkxFLCBHTF9UUlVFKTsKKyAgICAgICAg
aWYgKGNvbXBpbGVkKQorICAgICAgICB7CisgICAgICAgICAgICBnbEF0dGFjaFNoYWRlcihwcm9n
cmFtLCBzaGFkZXIpOworICAgICAgICAgICAgZ2xMaW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAg
ICAgICAgIGdsRGV0YWNoU2hhZGVyKHByb2dyYW0sIHNoYWRlcik7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIHJldHVybiBwcm9ncmFtOworfQor
Cit2b2lkIFByb2dyYW1QaXBlbGluZVRlc3QzMTo6ZHJhd1F1YWQoY29uc3Qgc3RkOjpzdHJpbmcg
JnBvc2l0aW9uQXR0cmliTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBHTGZsb2F0IHBvc2l0aW9uQXR0cmliWiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0IHBvc2l0aW9uQXR0cmliWFlTY2FsZSkKK3sKKyAg
ICBnbFVzZVByb2dyYW0oMCk7CisKKyAgICBzdGQ6OmFycmF5PFZlY3RvcjMsIDY+IHF1YWRWZXJ0
aWNlcyA9IEFOR0xFVGVzdEJhc2U6OkdldFF1YWRWZXJ0aWNlcygpOworCisgICAgZm9yIChWZWN0
b3IzICZ2ZXJ0ZXggOiBxdWFkVmVydGljZXMpCisgICAgeworICAgICAgICB2ZXJ0ZXgueCgpICo9
IHBvc2l0aW9uQXR0cmliWFlTY2FsZTsKKyAgICAgICAgdmVydGV4LnkoKSAqPSBwb3NpdGlvbkF0
dHJpYlhZU2NhbGU7CisgICAgICAgIHZlcnRleC56KCkgPSBwb3NpdGlvbkF0dHJpYlo7CisgICAg
fQorCisgICAgR0xpbnQgcG9zaXRpb25Mb2NhdGlvbiA9IGdsR2V0QXR0cmliTG9jYXRpb24obVZl
cnRQcm9nLCBwb3NpdGlvbkF0dHJpYk5hbWUuY19zdHIoKSk7CisKKyAgICBnbEJpbmRCdWZmZXIo
R0xfQVJSQVlfQlVGRkVSLCAwKTsKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50ZXIocG9zaXRpb25M
b2NhdGlvbiwgMywgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCBxdWFkVmVydGljZXMuZGF0YSgpKTsK
KyAgICBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRpb24pOworCisgICAg
Z2xEcmF3QXJyYXlzKEdMX1RSSUFOR0xFUywgMCwgNik7CisKKyAgICBnbERpc2FibGVWZXJ0ZXhB
dHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50ZXIo
cG9zaXRpb25Mb2NhdGlvbiwgNCwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCBudWxscHRyKTsKK30K
KworLy8gVGVzdCBnbFVzZVByb2dyYW1TdGFnZXMKK1RFU1RfUChQcm9ncmFtUGlwZWxpbmVUZXN0
MzEsIFVzZVByb2dyYW1TdGFnZXMpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc1Z1bGth
bigpKTsKKworICAgIC8vIENyZWF0ZSB0d28gc2VwYXJhYmxlIHByb2dyYW0gb2JqZWN0cyBmcm9t
IGEKKyAgICAvLyBzaW5nbGUgc291cmNlIHN0cmluZyByZXNwZWN0aXZlbHkgKHZlcnRTcmMgYW5k
IGZyYWdTcmMpCisgICAgY29uc3QgR0xjaGFyICp2ZXJ0U3RyaW5nID0gZXNzbDMxX3NoYWRlcnM6
OnZzOjpTaW1wbGUoKTsKKyAgICBjb25zdCBHTGNoYXIgKmZyYWdTdHJpbmcgPSBlc3NsMzFfc2hh
ZGVyczo6ZnM6OlJlZCgpOworCisgICAgbVZlcnRQcm9nID0gY3JlYXRlU2hhZGVyUHJvZ3JhbShH
TF9WRVJURVhfU0hBREVSLCB2ZXJ0U3RyaW5nKTsKKyAgICBBU1NFUlRfTkUobVZlcnRQcm9nLCAw
dSk7CisgICAgbUZyYWdQcm9nID0gY3JlYXRlU2hhZGVyUHJvZ3JhbShHTF9GUkFHTUVOVF9TSEFE
RVIsIGZyYWdTdHJpbmcpOworICAgIEFTU0VSVF9ORShtRnJhZ1Byb2csIDB1KTsKKworICAgIC8v
IEdlbmVyYXRlIGEgcHJvZ3JhbSBwaXBlbGluZSBhbmQgYXR0YWNoIHRoZSBwcm9ncmFtcyB0byB0
aGVpciByZXNwZWN0aXZlIHN0YWdlcworICAgIEdMdWludCBwaXBlbGluZTsKKyAgICBnbEdlblBy
b2dyYW1QaXBlbGluZXMoMSwgJnBpcGVsaW5lKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsK
KyAgICBnbFVzZVByb2dyYW1TdGFnZXMocGlwZWxpbmUsIEdMX1ZFUlRFWF9TSEFERVJfQklULCBt
VmVydFByb2cpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIGdsVXNlUHJvZ3JhbVN0
YWdlcyhwaXBlbGluZSwgR0xfRlJBR01FTlRfU0hBREVSX0JJVCwgbUZyYWdQcm9nKTsKKyAgICBF
WFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICBnbEJpbmRQcm9ncmFtUGlwZWxpbmUocGlwZWxpbmUp
OworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgUHJvZ3JhbVBpcGVsaW5lVGVzdDMx
OjpkcmF3UXVhZCgiYV9wb3NpdGlvbiIsIDAuNWYsIDEuMGYpOworICAgIEFTU0VSVF9HTF9OT19F
UlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOwor
fQorCisvLyBUZXN0IGdsVXNlUHJvZ3JhbVN0YWdlcworVEVTVF9QKFByb2dyYW1QaXBlbGluZVRl
c3QzMSwgVXNlQ3JlYXRlU2hhZGVyUHJvZ3JhbXYpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lG
KCFJc1Z1bGthbigpKTsKKworICAgIC8vIENyZWF0ZSB0d28gc2VwYXJhYmxlIHByb2dyYW0gb2Jq
ZWN0cyBmcm9tIGEKKyAgICAvLyBzaW5nbGUgc291cmNlIHN0cmluZyByZXNwZWN0aXZlbHkgKHZl
cnRTcmMgYW5kIGZyYWdTcmMpCisgICAgY29uc3QgR0xjaGFyICp2ZXJ0U3RyaW5nID0gZXNzbDMx
X3NoYWRlcnM6OnZzOjpTaW1wbGUoKTsKKyAgICBjb25zdCBHTGNoYXIgKmZyYWdTdHJpbmcgPSBl
c3NsMzFfc2hhZGVyczo6ZnM6OlJlZCgpOworCisgICAgYmluZFByb2dyYW1QaXBlbGluZSh2ZXJ0
U3RyaW5nLCBmcmFnU3RyaW5nKTsKKworICAgIFByb2dyYW1QaXBlbGluZVRlc3QzMTo6ZHJhd1F1
YWQoImFfcG9zaXRpb24iLCAwLjVmLCAxLjBmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
KyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6cmVkKTsKK30KKworLy8g
VGVzdCBnbFVuaWZvcm0KK1RFU1RfUChQcm9ncmFtUGlwZWxpbmVUZXN0MzEsIEZyYWdtZW50U3Rh
Z2VVbmlmb3JtVGVzdCkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzVnVsa2FuKCkpOwor
CisgICAgLy8gQ3JlYXRlIHR3byBzZXBhcmFibGUgcHJvZ3JhbSBvYmplY3RzIGZyb20gYQorICAg
IC8vIHNpbmdsZSBzb3VyY2Ugc3RyaW5nIHJlc3BlY3RpdmVseSAodmVydFNyYyBhbmQgZnJhZ1Ny
YykKKyAgICBjb25zdCBHTGNoYXIgKnZlcnRTdHJpbmcgPSBlc3NsMzFfc2hhZGVyczo6dnM6OlNp
bXBsZSgpOworICAgIGNvbnN0IEdMY2hhciAqZnJhZ1N0cmluZyA9IFIiKCN2ZXJzaW9uIDMxMCBl
cworcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwordW5pZm9ybSBmbG9hdCByZWRDb2xvckluOwordW5p
Zm9ybSBmbG9hdCBncmVlbkNvbG9ySW47CitvdXQgdmVjNCBteV9GcmFnQ29sb3I7Cit2b2lkIG1h
aW4oKQoreworICAgIG15X0ZyYWdDb2xvciA9IHZlYzQocmVkQ29sb3JJbiwgZ3JlZW5Db2xvcklu
LCAwLjAsIDEuMCk7Cit9KSI7CisKKyAgICBiaW5kUHJvZ3JhbVBpcGVsaW5lKHZlcnRTdHJpbmcs
IGZyYWdTdHJpbmcpOworCisgICAgLy8gU2V0IHRoZSBvdXRwdXQgY29sb3IgdG8geWVsbG93Cisg
ICAgR0xpbnQgbG9jYXRpb24gPSBnbEdldFVuaWZvcm1Mb2NhdGlvbihtRnJhZ1Byb2csICJyZWRD
b2xvckluIik7CisgICAgZ2xBY3RpdmVTaGFkZXJQcm9ncmFtKG1QaXBlbGluZSwgbUZyYWdQcm9n
KTsKKyAgICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgMS4wKTsKKyAgICBsb2NhdGlvbiA9IGdsR2V0
VW5pZm9ybUxvY2F0aW9uKG1GcmFnUHJvZywgImdyZWVuQ29sb3JJbiIpOworICAgIGdsQWN0aXZl
U2hhZGVyUHJvZ3JhbShtUGlwZWxpbmUsIG1GcmFnUHJvZyk7CisgICAgZ2xVbmlmb3JtMWYobG9j
YXRpb24sIDEuMCk7CisKKyAgICBQcm9ncmFtUGlwZWxpbmVUZXN0MzE6OmRyYXdRdWFkKCJhX3Bv
c2l0aW9uIiwgMC41ZiwgMS4wZik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnllbGxvdyk7CisKKyAgICBnbENsZWFy
Q29sb3IoMC4wLCAwLjAsIDAuMCwgMC4wKTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9C
SVQpOworCisgICAgUHJvZ3JhbVBpcGVsaW5lVGVzdDMxOjpkcmF3UXVhZCgiYV9wb3NpdGlvbiIs
IDAuNWYsIDEuMGYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjp5ZWxsb3cpOworCisgICAgZ2xDbGVhckNvbG9yKDAu
MCwgMC4wLCAwLjAsIDAuMCk7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKKwor
ICAgIC8vIFNldCB0aGUgb3V0cHV0IGNvbG9yIHRvIHJlZAorICAgIGxvY2F0aW9uID0gZ2xHZXRV
bmlmb3JtTG9jYXRpb24obUZyYWdQcm9nLCAicmVkQ29sb3JJbiIpOworICAgIGdsQWN0aXZlU2hh
ZGVyUHJvZ3JhbShtUGlwZWxpbmUsIG1GcmFnUHJvZyk7CisgICAgZ2xVbmlmb3JtMWYobG9jYXRp
b24sIDEuMCk7CisgICAgbG9jYXRpb24gPSBnbEdldFVuaWZvcm1Mb2NhdGlvbihtRnJhZ1Byb2cs
ICJncmVlbkNvbG9ySW4iKTsKKyAgICBnbEFjdGl2ZVNoYWRlclByb2dyYW0obVBpcGVsaW5lLCBt
RnJhZ1Byb2cpOworICAgIGdsVW5pZm9ybTFmKGxvY2F0aW9uLCAwLjApOworCisgICAgUHJvZ3Jh
bVBpcGVsaW5lVGVzdDMxOjpkcmF3UXVhZCgiYV9wb3NpdGlvbiIsIDAuNWYsIDEuMGYpOworICAg
IEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBH
TENvbG9yOjpyZWQpOworCisgICAgZ2xEZWxldGVQcm9ncmFtKG1WZXJ0UHJvZyk7CisgICAgZ2xE
ZWxldGVQcm9ncmFtKG1GcmFnUHJvZyk7Cit9CisKKy8vIFRlc3QgdmFyeWluZ3MKK1RFU1RfUChQ
cm9ncmFtUGlwZWxpbmVUZXN0MzEsIFByb2dyYW1QaXBlbGluZVZhcnlpbmdzKQoreworICAgIEFO
R0xFX1NLSVBfVEVTVF9JRighSXNWdWxrYW4oKSk7CisKKyAgICAvLyBDcmVhdGUgdHdvIHNlcGFy
YWJsZSBwcm9ncmFtIG9iamVjdHMgZnJvbSBhCisgICAgLy8gc2luZ2xlIHNvdXJjZSBzdHJpbmcg
cmVzcGVjdGl2ZWx5ICh2ZXJ0U3JjIGFuZCBmcmFnU3JjKQorICAgIGNvbnN0IEdMY2hhciAqdmVy
dFN0cmluZyA9IGVzc2wzMV9zaGFkZXJzOjp2czo6UGFzc3Rocm91Z2goKTsKKyAgICBjb25zdCBH
TGNoYXIgKmZyYWdTdHJpbmcgPSBSIigjdmVyc2lvbiAzMTAgZXMKK3ByZWNpc2lvbiBoaWdocCBm
bG9hdDsKK2luIHZlYzQgdl9wb3NpdGlvbjsKK291dCB2ZWM0IG15X0ZyYWdDb2xvcjsKK3ZvaWQg
bWFpbigpCit7CisgICAgbXlfRnJhZ0NvbG9yID0gcm91bmQodl9wb3NpdGlvbik7Cit9KSI7CisK
KyAgICBiaW5kUHJvZ3JhbVBpcGVsaW5lKHZlcnRTdHJpbmcsIGZyYWdTdHJpbmcpOworCisgICAg
UHJvZ3JhbVBpcGVsaW5lVGVzdDMxOjpkcmF3UXVhZCgiYV9wb3NpdGlvbiIsIDAuNWYsIDEuMGYp
OworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgaW50IHcgPSBnZXRXaW5kb3dXaWR0
aCgpIC0gMjsKKyAgICBpbnQgaCA9IGdldFdpbmRvd0hlaWdodCgpIC0gMjsKKworICAgIEVYUEVD
VF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpibGFjayk7CisgICAgRVhQRUNUX1BJWEVM
X0NPTE9SX0VRKHcsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VR
KDAsIGgsIEdMQ29sb3I6OmdyZWVuKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEodywgaCwg
R0xDb2xvcjo6eWVsbG93KTsKK30KKworLy8gQ3JlYXRlcyBhIHByb2dyYW0gcGlwZWxpbmUgd2l0
aCBhIDJEIHRleHR1cmUgYW5kIHJlbmRlcnMgd2l0aCBpdC4KK1RFU1RfUChQcm9ncmFtUGlwZWxp
bmVUZXN0MzEsIERyYXdXaXRoMkRUZXh0dXJlKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRigh
SXNWdWxrYW4oKSk7CisKKyAgICBjb25zdCBHTGNoYXIgKnZlcnRTdHJpbmcgPSBSIigjdmVyc2lv
biAzMTAgZXMKK3ByZWNpc2lvbiBoaWdocCBmbG9hdDsKK2luIHZlYzQgYV9wb3NpdGlvbjsKK291
dCB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IGFfcG9z
aXRpb247CisgICAgdGV4Q29vcmQgPSB2ZWMyKGFfcG9zaXRpb24ueCwgYV9wb3NpdGlvbi55KSAq
IDAuNSArIHZlYzIoMC41KTsKK30pIjsKKworICAgIGNvbnN0IEdMY2hhciAqZnJhZ1N0cmluZyA9
IFIiKCN2ZXJzaW9uIDMxMCBlcworcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OworaW4gdmVjMiB0ZXhD
b29yZDsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDsKK291dCB2ZWM0IG15X0ZyYWdDb2xvcjsKK3Zv
aWQgbWFpbigpCit7CisgICAgbXlfRnJhZ0NvbG9yID0gdGV4dHVyZSh0ZXgsIHRleENvb3JkKTsK
K30pIjsKKworICAgIHN0ZDo6YXJyYXk8R0xDb2xvciwgND4gY29sb3JzID0geworICAgICAgICB7
R0xDb2xvcjo6cmVkLCBHTENvbG9yOjpncmVlbiwgR0xDb2xvcjo6Ymx1ZSwgR0xDb2xvcjo6eWVs
bG93fX07CisKKyAgICBHTFRleHR1cmUgdGV4OworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgdGV4KTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgR0xfUkdCQSwg
MiwgMiwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgY29sb3JzLmRhdGEoKSk7CisgICAg
Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwgR0xf
TkVBUkVTVCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVf
TUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisKKyAgICBiaW5kUHJvZ3JhbVBpcGVsaW5lKHZlcnRT
dHJpbmcsIGZyYWdTdHJpbmcpOworCisgICAgUHJvZ3JhbVBpcGVsaW5lVGVzdDMxOjpkcmF3UXVh
ZCgiYV9wb3NpdGlvbiIsIDAuNWYsIDEuMGYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
CisgICAgaW50IHcgPSBnZXRXaW5kb3dXaWR0aCgpIC0gMjsKKyAgICBpbnQgaCA9IGdldFdpbmRv
d0hlaWdodCgpIC0gMjsKKworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSh3LCAwLCBHTENvbG9yOjpncmVlbik7
CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIGgsIEdMQ29sb3I6OmJsdWUpOworICAgIEVY
UEVDVF9QSVhFTF9DT0xPUl9FUSh3LCBoLCBHTENvbG9yOjp5ZWxsb3cpOworfQorCisvLyBUZXN0
IG1vZGlmeWluZyBhIHNoYWRlciBhZnRlciBpdCBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIGEgcGlw
ZWxpbmUKK1RFU1RfUChQcm9ncmFtUGlwZWxpbmVUZXN0MzEsIERldGFjaEFuZE1vZGlmeVNoYWRl
cikKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzVnVsa2FuKCkpOworCisgICAgLy8gVE9E
TyAodGltdnApOiBGaXggdGhpcyB0ZXN0IGZvciBWdWxrYW4gd2l0aCBQUE8KKyAgICAvLyBodHRw
Oi8vYW5nbGVidWcuY29tLzM1NzAKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNWdWxrYW4oKSk7
CisKKyAgICBjb25zdCBHTGNoYXIgKnZlcnRTdHJpbmcgPSBlc3NsMzFfc2hhZGVyczo6dnM6OlNp
bXBsZSgpOworICAgIGNvbnN0IEdMY2hhciAqZnJhZ1N0cmluZyA9IGVzc2wzMV9zaGFkZXJzOjpm
czo6R3JlZW4oKTsKKworICAgIEdMU2hhZGVyIHZlcnRTaGFkZXIoR0xfVkVSVEVYX1NIQURFUik7
CisgICAgR0xTaGFkZXIgZnJhZ1NoYWRlcihHTF9GUkFHTUVOVF9TSEFERVIpOworICAgIG1WZXJ0
UHJvZyA9IGdsQ3JlYXRlUHJvZ3JhbSgpOworICAgIG1GcmFnUHJvZyA9IGdsQ3JlYXRlUHJvZ3Jh
bSgpOworCisgICAgLy8gQ29tcGlsZSBhbmQgbGluayBhIHNlcGFyYWJsZSB2ZXJ0ZXggc2hhZGVy
CisgICAgZ2xTaGFkZXJTb3VyY2UodmVydFNoYWRlciwgMSwgJnZlcnRTdHJpbmcsIG51bGxwdHIp
OworICAgIGdsQ29tcGlsZVNoYWRlcih2ZXJ0U2hhZGVyKTsKKyAgICBnbFByb2dyYW1QYXJhbWV0
ZXJpKG1WZXJ0UHJvZywgR0xfUFJPR1JBTV9TRVBBUkFCTEUsIEdMX1RSVUUpOworICAgIGdsQXR0
YWNoU2hhZGVyKG1WZXJ0UHJvZywgdmVydFNoYWRlcik7CisgICAgZ2xMaW5rUHJvZ3JhbShtVmVy
dFByb2cpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gQ29tcGlsZSBhbmQg
bGluayBhIHNlcGFyYWJsZSBmcmFnbWVudCBzaGFkZXIKKyAgICBnbFNoYWRlclNvdXJjZShmcmFn
U2hhZGVyLCAxLCAmZnJhZ1N0cmluZywgbnVsbHB0cik7CisgICAgZ2xDb21waWxlU2hhZGVyKGZy
YWdTaGFkZXIpOworICAgIGdsUHJvZ3JhbVBhcmFtZXRlcmkobUZyYWdQcm9nLCBHTF9QUk9HUkFN
X1NFUEFSQUJMRSwgR0xfVFJVRSk7CisgICAgZ2xBdHRhY2hTaGFkZXIobUZyYWdQcm9nLCBmcmFn
U2hhZGVyKTsKKyAgICBnbExpbmtQcm9ncmFtKG1GcmFnUHJvZyk7CisgICAgRVhQRUNUX0dMX05P
X0VSUk9SKCk7CisKKyAgICAvLyBHZW5lcmF0ZSBhIHByb2dyYW0gcGlwZWxpbmUgYW5kIGF0dGFj
aCB0aGUgcHJvZ3JhbXMKKyAgICBnbEdlblByb2dyYW1QaXBlbGluZXMoMSwgJm1QaXBlbGluZSk7
CisgICAgZ2xVc2VQcm9ncmFtU3RhZ2VzKG1QaXBlbGluZSwgR0xfVkVSVEVYX1NIQURFUl9CSVQs
IG1WZXJ0UHJvZyk7CisgICAgZ2xVc2VQcm9ncmFtU3RhZ2VzKG1QaXBlbGluZSwgR0xfRlJBR01F
TlRfU0hBREVSX0JJVCwgbUZyYWdQcm9nKTsKKyAgICBnbEJpbmRQcm9ncmFtUGlwZWxpbmUobVBp
cGVsaW5lKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIERyYXcgb25jZSB0
byBlbnN1cmUgdGhpcyB3b3JrZWQgZmluZQorICAgIFByb2dyYW1QaXBlbGluZVRlc3QzMTo6ZHJh
d1F1YWQoImFfcG9zaXRpb24iLCAwLjVmLCAxLjBmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOworCisg
ICAgLy8gRGV0YWNoIHRoZSBmcmFnbWVudCBzaGFkZXIgYW5kIG1vZGlmeSBpdCBzdWNoIHRoYXQg
aXQgbm8gbG9uZ2VyIGZpdHMgd2l0aCB0aGlzIHBpcGVsaW5lCisgICAgZ2xEZXRhY2hTaGFkZXIo
bUZyYWdQcm9nLCBmcmFnU2hhZGVyKTsKKworICAgIC8vIEFkZCBhbiBpbnB1dCB0byB0aGUgZnJh
Z21lbnQgc2hhZGVyLCB3aGljaCB3aWxsIG1ha2UgaXQgaW5jb21wYXRpYmxlCisgICAgY29uc3Qg
R0xjaGFyICpmcmFnU3RyaW5nMiA9IFIiKCN2ZXJzaW9uIDMxMCBlcworcHJlY2lzaW9uIGhpZ2hw
IGZsb2F0OworaW4gdmVjNCBjb2xvcjsKK291dCB2ZWM0IG15X0ZyYWdDb2xvcjsKK3ZvaWQgbWFp
bigpCit7CisgICAgbXlfRnJhZ0NvbG9yID0gY29sb3I7Cit9KSI7CisgICAgZ2xTaGFkZXJTb3Vy
Y2UoZnJhZ1NoYWRlciwgMSwgJmZyYWdTdHJpbmcyLCBudWxscHRyKTsKKyAgICBnbENvbXBpbGVT
aGFkZXIoZnJhZ1NoYWRlcik7CisKKyAgICAvLyBMaW5rIGFuZCBkcmF3IHdpdGggdGhlIHByb2dy
YW0gYWdhaW4sIHdoaWNoIHNob3VsZCBiZSBmaW5lIHNpbmNlIHRoZSBzaGFkZXIgd2FzIGRldGFj
aGVkCisgICAgZ2xMaW5rUHJvZ3JhbShtRnJhZ1Byb2cpOworCisgICAgUHJvZ3JhbVBpcGVsaW5l
VGVzdDMxOjpkcmF3UXVhZCgiYV9wb3NpdGlvbiIsIDAuNWYsIDEuMGYpOworICAgIEFTU0VSVF9H
TF9OT19FUlJPUigpOworfQorCisvLyBUZXN0IGJpbmRpbmcgdHdvIHByb2dyYW1zIHRoYXQgdXNl
IGEgdGV4dHVyZSBhcyBkaWZmZXJlbnQgdHlwZXMKK1RFU1RfUChQcm9ncmFtUGlwZWxpbmVUZXN0
MzEsIERpZmZlcmVudFRleHR1cmVUeXBlcykKK3sKKyAgICAvLyBPbmx5IHRoZSBWdWxrYW4gYmFj
a2VuZCBzdXBwb3J0cyBQUE8KKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzVnVsa2FuKCkpOwor
CisgICAgLy8gVE9ETyAodGltdnApOiBGaXggdGhpcyB0ZXN0IGZvciBWdWxrYW4gd2l0aCBQUE8K
KyAgICAvLyBodHRwOi8vYW5nbGVidWcuY29tLzM1NzAKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
SXNWdWxrYW4oKSk7CisKKyAgICAvLyBQZXIgdGhlIE9wZW5HTCBFUyAzLjEgc3BlYzoKKyAgICAv
LworICAgIC8vIEl0IGlzIG5vdCBhbGxvd2VkIHRvIGhhdmUgdmFyaWFibGVzIG9mIGRpZmZlcmVu
dCBzYW1wbGVyIHR5cGVzIHBvaW50aW5nIHRvIHRoZSBzYW1lIHRleHR1cmUKKyAgICAvLyBpbWFn
ZSB1bml0IHdpdGhpbiBhIHByb2dyYW0gb2JqZWN0LiBUaGlzIHNpdHVhdGlvbiBjYW4gb25seSBi
ZSBkZXRlY3RlZCBhdCB0aGUgbmV4dCByZW5kZXJpbmcKKyAgICAvLyBjb21tYW5kIGlzc3VlZCB3
aGljaCB0cmlnZ2VycyBzaGFkZXIgaW52b2NhdGlvbnMsIGFuZCBhbiBJTlZBTElEX09QRVJBVElP
TiBlcnJvciB3aWxsIHRoZW4KKyAgICAvLyBiZSBnZW5lcmF0ZWQKKyAgICAvLworCisgICAgLy8g
Q3JlYXRlIGEgdmVydGV4IHNoYWRlciB0aGF0IHVzZXMgdGhlIHRleHR1cmUgYXMgMkQKKyAgICBj
b25zdCBHTGNoYXIgKnZlcnRTdHJpbmcgPSBSIigjdmVyc2lvbiAzMTAgZXMKK3ByZWNpc2lvbiBo
aWdocCBmbG9hdDsKK2luIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDJE
OworbGF5b3V0KGxvY2F0aW9uID0gMCkgb3V0IHZlYzQgdGV4Q29sb3JPdXQ7CitsYXlvdXQobG9j
YXRpb24gPSAxKSBvdXQgdmVjMiB0ZXhDb29yZE91dDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
UG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIHZlYzIgdGV4Q29vcmQgPSB2ZWMyKGFfcG9zaXRp
b24ueCwgYV9wb3NpdGlvbi55KSAqIDAuNSArIHZlYzIoMC41KTsKKyAgICB0ZXhDb2xvck91dCA9
IHRleHR1cmVMb2QodGV4MkQsIHRleENvb3JkLCAwLjApOworICAgIHRleENvb3JkT3V0ID0gdGV4
Q29vcmQ7Cit9KSI7CisKKyAgICAvLyBDcmVhdGUgYSBmcmFnbWVudCBzaGFkZXIgdGhhdCB1c2Vz
IHRoZSB0ZXh0dXJlIGFzIEN1YmUKKyAgICBjb25zdCBHTGNoYXIgKmZyYWdTdHJpbmcgPSBSIigj
dmVyc2lvbiAzMTAgZXMKK3ByZWNpc2lvbiBoaWdocCBmbG9hdDsKK2xheW91dChsb2NhdGlvbiA9
IDApIGluIHZlYzQgdGV4Q29sb3I7CitsYXlvdXQobG9jYXRpb24gPSAxKSBpbiB2ZWMyIHRleENv
b3JkOwordW5pZm9ybSBzYW1wbGVyQ3ViZSB0ZXhDdWJlOworb3V0IHZlYzQgbXlfRnJhZ0NvbG9y
Owordm9pZCBtYWluKCkKK3sKKyAgICBteV9GcmFnQ29sb3IgPSB0ZXh0dXJlKHRleEN1YmUsIHZl
YzModGV4Q29vcmQueCwgdGV4Q29vcmQueSwgMC4wKSk7Cit9KSI7CisKKyAgICAvLyBDcmVhdGUg
YW5kIHBvcHVsYXRlIHRoZSAyRCB0ZXh0dXJlCisgICAgc3RkOjphcnJheTxHTENvbG9yLCA0PiBj
b2xvcnMgPSB7CisgICAgICAgIHtHTENvbG9yOjpyZWQsIEdMQ29sb3I6OmdyZWVuLCBHTENvbG9y
OjpibHVlLCBHTENvbG9yOjp5ZWxsb3d9fTsKKyAgICBHTFRleHR1cmUgdGV4OworICAgIGdsQmlu
ZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVS
RV8yRCwgMCwgR0xfUkdCQSwgMiwgMiwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgY29s
b3JzLmRhdGEoKSk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUlOX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRV
UkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisKKyAgICAvLyBDcmVh
dGUgYSBwaXBlbGluZSB0aGF0IHVzZXMgdGhlIGJhZCBjb21iaW5hdGlvbi4gIFRoaXMgc2hvdWxk
IGZhaWwgdG8gbGluayB0aGUgcGlwZWxpbmUuCisgICAgYmluZFByb2dyYW1QaXBlbGluZSh2ZXJ0
U3RyaW5nLCBmcmFnU3RyaW5nKTsKKyAgICBQcm9ncmFtUGlwZWxpbmVUZXN0MzE6OmRyYXdRdWFk
KCJhX3Bvc2l0aW9uIiwgMC41ZiwgMS4wZik7CisgICAgQVNTRVJUX0dMX0VSUk9SKEdMX0lOVkFM
SURfT1BFUkFUSU9OKTsKKworICAgIC8vIFVwZGF0ZSB0aGUgZnJhZ21lbnQgc2hhZGVyIHRvIGNv
cnJlY3RseSB1c2UgMkQgdGV4dHVyZQorICAgIGNvbnN0IEdMY2hhciAqZnJhZ1N0cmluZzIgPSBS
IigjdmVyc2lvbiAzMTAgZXMKK3ByZWNpc2lvbiBoaWdocCBmbG9hdDsKK2xheW91dChsb2NhdGlv
biA9IDApIGluIHZlYzQgdGV4Q29sb3I7CitsYXlvdXQobG9jYXRpb24gPSAxKSBpbiB2ZWMyIHRl
eENvb3JkOwordW5pZm9ybSBzYW1wbGVyMkQgdGV4MkQ7CitvdXQgdmVjNCBteV9GcmFnQ29sb3I7
Cit2b2lkIG1haW4oKQoreworICAgIG15X0ZyYWdDb2xvciA9IHRleHR1cmUodGV4MkQsIHRleENv
b3JkKTsKK30pIjsKKworICAgIC8vIEJpbmQgdGhlIHBpcGVsaW5lIGFnYWluLCB3aGljaCBzaG91
bGQgc3VjY2VlZC4KKyAgICBiaW5kUHJvZ3JhbVBpcGVsaW5lKHZlcnRTdHJpbmcsIGZyYWdTdHJp
bmcyKTsKKyAgICBQcm9ncmFtUGlwZWxpbmVUZXN0MzE6OmRyYXdRdWFkKCJhX3Bvc2l0aW9uIiwg
MC41ZiwgMS4wZik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cit9CisKIEFOR0xFX0lOU1RB
TlRJQVRFX1RFU1RfRVMzX0FORF9FUzMxKFByb2dyYW1QaXBlbGluZVRlc3QpOwogQU5HTEVfSU5T
VEFOVElBVEVfVEVTVF9FUzMxKFByb2dyYW1QaXBlbGluZVRlc3QzMSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Sb2J1c3RSZXNvdXJj
ZUluaXRUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0
cy9Sb2J1c3RSZXNvdXJjZUluaXRUZXN0LmNwcAppbmRleCA5OWMyZWYwZjk4M2UwMTgwMjZiYTI0
NTM2ZjAwZjY0NWU1NzMzOTRlLi41MjMyZDJmNTEyZGVjODJlYTk0MjM3NTEyNzY5Nzc0MzIxNTdl
MTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVz
dHMvUm9idXN0UmVzb3VyY2VJbml0VGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1JvYnVzdFJlc291cmNlSW5pdFRlc3QuY3BwCkBAIC0xNjg2
LDggKzE2ODYsNiBAQCBURVNUX1AoUm9idXN0UmVzb3VyY2VJbml0VGVzdEVTMywgQ29tcHJlc3Nl
ZFN1YkltYWdlKQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzR0xFeHRlbnNpb24oKSk7
CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3Rl
eHR1cmVfY29tcHJlc3Npb25fZHh0MSIpKTsKLSAgICAvLyBodHRwOi8vYW5nbGVidWcuY29tLzQw
OTIKLSAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNWdWxrYW4oKSk7CiAKICAgICBjb25zdGV4cHIg
aW50IHdpZHRoICAgICA9IDg7CiAgICAgY29uc3RleHByIGludCBoZWlnaHQgICAgPSA4OwpAQCAt
MjAwMCw2ICsxOTk4LDU4IEBAIFRFU1RfUChSb2J1c3RSZXNvdXJjZUluaXRUZXN0RVMzLCBJbml0
aWFsaXplTXVsdGlzYW1wbGVkRGVwdGhSZW5kZXJidWZmZXJBZnRlckNvCiAgICAgRVhQRUNUX1BJ
WEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKIH0KIAorLy8gQ29ybmVyIGNhc2Ug
Zm9yIHJvYnVzdCByZXNvdXJjZSBpbml0OiBDb3B5VGV4SW1hZ2UgdG8gYSBjdWJlIG1hcC4KK1RF
U1RfUChSb2J1c3RSZXNvdXJjZUluaXRUZXN0LCBDb3B5VGV4SW1hZ2VUb09mZnNldEN1YmVNYXAp
Cit7CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NTQ5CisgICAgQU5HTEVfU0tJUF9URVNU
X0lGKElzTWV0YWwoKSk7CisKKyAgICBjb25zdGV4cHIgR0x1aW50IGtTaXplID0gMjsKKworICAg
IHN0ZDo6dmVjdG9yPEdMQ29sb3I+IHJlZFBpeGVscyhrU2l6ZSAqIGtTaXplLCBHTENvbG9yOjpy
ZWQpOworCisgICAgR0xUZXh0dXJlIHNyY1RleDsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRV
UkVfMkQsIHNyY1RleCk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JH
QkEsIGtTaXplLCBrU2l6ZSwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwKKyAgICAgICAg
ICAgICAgICAgcmVkUGl4ZWxzLmRhdGEoKSk7CisKKyAgICBHTEZyYW1lYnVmZmVyIGZibzsKKyAg
ICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBnbEZyYW1lYnVm
ZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVY
VFVSRV8yRCwgc3JjVGV4LCAwKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEFT
U0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisgICAgRVhQRUNU
X1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisKKyAgICBHTFRleHR1cmUgZHN0
VGV4OworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV9DVUJFX01BUCwgZHN0VGV4KTsKKyAg
ICBnbENvcHlUZXhJbWFnZTJEKEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwgMCwgR0xf
UkdCQSwgMSwgMSwga1NpemUsIGtTaXplLCAwKTsKKyAgICBnbENvcHlUZXhJbWFnZTJEKEdMX1RF
WFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwgMCwgR0xfUkdCQSwgLTEsIC0xLCBrU2l6ZSwga1Np
emUsIDApOworICAgIGdsQ29weVRleEltYWdlMkQoR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9ZLCAwLCBHTF9SR0JBLCAyLCAyLCBrU2l6ZSwga1NpemUsIDApOworICAgIGdsQ29weVRleElt
YWdlMkQoR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCAwLCBHTF9SR0JBLCAtMiwgLTIs
IGtTaXplLCBrU2l6ZSwgMCk7CisgICAgZ2xDb3B5VGV4SW1hZ2UyRChHTF9URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1osIDAsIEdMX1JHQkEsIDAsIDAsIGtTaXplLCBrU2l6ZSwgMCk7CisgICAg
Z2xDb3B5VGV4SW1hZ2UyRChHTF9URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1osIDAsIEdMX1JH
QkEsIDAsIDAsIGtTaXplLCBrU2l6ZSwgMCk7CisKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
KworICAgIC8vIFZlcmlmeSB0aGUgb2Zmc2V0IGF0dGFjaG1lbnRzLgorICAgIGdsRnJhbWVidWZm
ZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RU
ZXgsIDApOworICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZF
Uik7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAg
RVhQRUNUX1BJWEVMX0NPTE9SX0VRKDEsIDAsIEdMQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spOwor
ICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAxLCBHTENvbG9yOjp0cmFuc3BhcmVudEJsYWNr
KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMSwgMSwgR0xDb2xvcjo6dHJhbnNwYXJlbnRC
bGFjayk7CisKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9D
T0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZHN0VGV4LCAwKTsKKyAgICBBU1NFUlRfR0xfRlJBTUVCVUZG
RVJfQ09NUExFVEUoR0xfRlJBTUVCVUZGRVIpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgw
LCAwLCBHTENvbG9yOjp0cmFuc3BhcmVudEJsYWNrKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1Jf
RVEoMSwgMCwgR0xDb2xvcjo6dHJhbnNwYXJlbnRCbGFjayk7CisgICAgRVhQRUNUX1BJWEVMX0NP
TE9SX0VRKDAsIDEsIEdMQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spOworICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgxLCAxLCBHTENvbG9yOjpyZWQpOworfQorCiBBTkdMRV9JTlNUQU5USUFURV9U
RVNUX0VTMl9BTkRfRVMzX0FORChSb2J1c3RSZXNvdXJjZUluaXRUZXN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aEFsbG9jYXRlTm9uWmVyb01lbW9yeShFUzJf
VlVMS0FOKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2dsX3Rlc3RzL1NSR0JUZXh0dXJlVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvU1JHQlRleHR1cmVUZXN0LmNwcAppbmRleCAxNjNmNzFhZTIz
MmQ0N2JhOWZlYjNhYzU1OWNlNDNhMjdiNWZmN2UxLi4yM2Y4MGI0MmY5NjdkNmM1MjU1YTNhMjcw
NTc1NWFhMjRlM2ViMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
dGVzdHMvZ2xfdGVzdHMvU1JHQlRleHR1cmVUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvU1JHQlRleHR1cmVUZXN0LmNwcApAQCAtMTAsNiAr
MTAsMTAgQEAKIG5hbWVzcGFjZSBhbmdsZQogewogCisvLyBUaGVzZSB0d28gY29sb3JzIGFyZSBl
cXVpdmVsZW50IGluIGRpZmZlcmVudCBjb2xvcnNwYWNlcworY29uc3RleHByIEdMQ29sb3Iga0xp
bmVhckNvbG9yKDY0LCAxMjcsIDE5MSwgMjU1KTsKK2NvbnN0ZXhwciBHTENvbG9yIGtOb25saW5l
YXJDb2xvcigxMywgNTQsIDEzMywgMjU1KTsKKwogY2xhc3MgU1JHQlRleHR1cmVUZXN0IDogcHVi
bGljIEFOR0xFVGVzdAogewogICBwcm90ZWN0ZWQ6CkBAIC0yNDUsOCArMjQ5LDggQEAgVEVTVF9Q
KFNSR0JUZXh0dXJlVGVzdCwgU1JHQkRlY29kZVRleHR1cmVQYXJhbWV0ZXIpCiAKICAgICBBTkdM
RV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfdGV4dHVyZV9zUkdC
X2RlY29kZSIpKTsKIAotICAgIEdMQ29sb3IgbGluZWFyQ29sb3IoNjQsIDEyNywgMTkxLCAyNTUp
OwotICAgIEdMQ29sb3Igc3JnYkNvbG9yKDEzLCA1NCwgMTMzLCAyNTUpOworICAgIEdMQ29sb3Ig
bGluZWFyQ29sb3IgPSBrTGluZWFyQ29sb3I7CisgICAgR0xDb2xvciBzcmdiQ29sb3IgICA9IGtO
b25saW5lYXJDb2xvcjsKIAogICAgIEdMVGV4dHVyZSB0ZXg7CiAgICAgZ2xCaW5kVGV4dHVyZShH
TF9URVhUVVJFXzJELCB0ZXguZ2V0KCkpOwpAQCAtMjY5LDE0ICsyNzMsNzggQEAgVEVTVF9QKFNS
R0JUZXh0dXJlVGVzdCwgU1JHQkRlY29kZVRleHR1cmVQYXJhbWV0ZXIpCiAgICAgRVhQRUNUX1BJ
WEVMX0NPTE9SX05FQVIoMCwgMCwgbGluZWFyQ29sb3IsIDEuMCk7CiB9CiAKKy8vIFRlc3QgYmFz
aWMgZnVuY3Rpb25hbGl0eSBvZiBTUkdCIG92ZXJyaWRlIHVzaW5nIHRoZSB0ZXh0dXJlIHBhcmFt
ZXRlcgorVEVTVF9QKFNSR0JUZXh0dXJlVGVzdCwgU1JHQk92ZXJyaWRlVGV4dHVyZVBhcmFtZXRl
cikKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9F
WFRfdGV4dHVyZV9zUkdCX292ZXJyaWRlIikpOworCisgICAgR0xDb2xvciBsaW5lYXJDb2xvciA9
IGtMaW5lYXJDb2xvcjsKKyAgICBHTENvbG9yIHNyZ2JDb2xvciAgID0ga05vbmxpbmVhckNvbG9y
OworCisgICAgR0xlbnVtIGludGVybmFsRm9ybWF0ID0gZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkg
Pj0gMyA/IEdMX1JHQkE4IDogR0xfUkdCQTsKKworICAgIEdMVGV4dHVyZSB0ZXg7CisgICAgZ2xC
aW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXguZ2V0KCkpOworICAgIGdsVGV4SW1hZ2UyRChH
TF9URVhUVVJFXzJELCAwLCBpbnRlcm5hbEZvcm1hdCwgMSwgMSwgMCwgR0xfUkdCQSwgR0xfVU5T
SUdORURfQllURSwKKyAgICAgICAgICAgICAgICAgJmxpbmVhckNvbG9yKTsKKyAgICBnbFRleFBh
cmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9GT1JNQVRfU1JHQl9PVkVSUklERV9F
WFQsIEdMX05PTkUpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgZ2xVc2VQcm9n
cmFtKG1Qcm9ncmFtKTsKKyAgICBnbFVuaWZvcm0xaShtVGV4dHVyZUxvY2F0aW9uLCAwKTsKKwor
ICAgIGdsRGlzYWJsZShHTF9ERVBUSF9URVNUKTsKKyAgICBkcmF3UXVhZChtUHJvZ3JhbSwgInBv
c2l0aW9uIiwgMC41Zik7CisKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfTkVBUigwLCAwLCBsaW5l
YXJDb2xvciwgMS4wKTsKKworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9U
RVhUVVJFX0ZPUk1BVF9TUkdCX09WRVJSSURFX0VYVCwgR0xfU1JHQik7CisgICAgZHJhd1F1YWQo
bVByb2dyYW0sICJwb3NpdGlvbiIsIDAuNWYpOworCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX05F
QVIoMCwgMCwgc3JnYkNvbG9yLCAxLjApOworfQorCisvLyBUZXN0IHRoYXQgU1JHQiBvdmVycmlk
ZSBpcyBhIG5vb3Agd2hlbiB1c2VkIG9uIGEgbm9ubGluZWFyIHRleHR1cmUgZm9ybWF0CisvLyBF
WFRfdGV4dHVyZV9mb3JtYXRfc1JHQl9vdmVycmlkZSBzcGVjIHNheXM6CisvLyAiSWYgdGhlIGlu
dGVybmFsIGZvcm1hdCBpcyBub3Qgb25lIG9mIHRoZSBhYm92ZSBmb3JtYXRzLCB0aGVuCisvLyB0
aGUgdmFsdWUgb2YgVEVYVFVSRV9GT1JNQVRfU1JHQl9PVkVSUklERV9FWFQgaXMgaWdub3JlZC4i
CitURVNUX1AoU1JHQlRleHR1cmVUZXN0LCBTUkdCT3ZlcnJpZGVUZXh0dXJlUGFyYW1ldGVyTm9v
cCkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9F
WFRfdGV4dHVyZV9zUkdCX292ZXJyaWRlIikpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNH
TEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9zUkdCIikgfHwgZ2V0Q2xpZW50TWFqb3JWZXJzaW9u
KCkgPCAzKTsKKworICAgIEdMQ29sb3IgbGluZWFyQ29sb3IgPSBrTGluZWFyQ29sb3I7CisgICAg
R0xDb2xvciBzcmdiQ29sb3IgICA9IGtOb25saW5lYXJDb2xvcjsKKworICAgIEdMVGV4dHVyZSB0
ZXg7CisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXguZ2V0KCkpOworICAgIGds
VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBnZXRTUkdCQThUZXh0dXJlSW50ZXJuYWxGb3Jt
YXQoKSwgMSwgMSwgMCwKKyAgICAgICAgICAgICAgICAgZ2V0U1JHQkE4VGV4dHVyZUZvcm1hdCgp
LCBHTF9VTlNJR05FRF9CWVRFLCAmbGluZWFyQ29sb3IpOworICAgIGdsVGV4UGFyYW1ldGVyaShH
TF9URVhUVVJFXzJELCBHTF9URVhUVVJFX0ZPUk1BVF9TUkdCX09WRVJSSURFX0VYVCwgR0xfTk9O
RSk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBnbFVzZVByb2dyYW0obVByb2dy
YW0pOworICAgIGdsVW5pZm9ybTFpKG1UZXh0dXJlTG9jYXRpb24sIDApOworCisgICAgZ2xEaXNh
YmxlKEdMX0RFUFRIX1RFU1QpOworICAgIGRyYXdRdWFkKG1Qcm9ncmFtLCAicG9zaXRpb24iLCAw
LjVmKTsKKworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9ORUFSKDAsIDAsIHNyZ2JDb2xvciwgMS4w
KTsKKworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX0ZPUk1B
VF9TUkdCX09WRVJSSURFX0VYVCwgR0xfU1JHQik7CisgICAgZHJhd1F1YWQobVByb2dyYW0sICJw
b3NpdGlvbiIsIDAuNWYpOworCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX05FQVIoMCwgMCwgc3Jn
YkNvbG9yLCAxLjApOworfQorCiAvLyBUZXN0IGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgU1JHQiBk
ZWNvZGUgdXNpbmcgdGhlIHNhbXBsZXIgcGFyYW1ldGVyCiBURVNUX1AoU1JHQlRleHR1cmVUZXN0
LCBTUkdCRGVjb2RlU2FtcGxlclBhcmFtZXRlcikKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
IUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfdGV4dHVyZV9zUkdCX2RlY29kZSIpIHx8CiAg
ICAgICAgICAgICAgICAgICAgICAgIGdldENsaWVudE1ham9yVmVyc2lvbigpIDwgMyk7CiAKLSAg
ICBHTENvbG9yIGxpbmVhckNvbG9yKDY0LCAxMjcsIDE5MSwgMjU1KTsKLSAgICBHTENvbG9yIHNy
Z2JDb2xvcigxMywgNTQsIDEzMywgMjU1KTsKKyAgICBHTENvbG9yIGxpbmVhckNvbG9yID0ga0xp
bmVhckNvbG9yOworICAgIEdMQ29sb3Igc3JnYkNvbG9yICAgPSBrTm9ubGluZWFyQ29sb3I7CiAK
ICAgICBHTFRleHR1cmUgdGV4OwogICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4
LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9n
bF90ZXN0cy9TaGFkZXJJbnRlcnBUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9nbF90ZXN0cy9TaGFkZXJJbnRlcnBUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTExNWUz
M2Q1MjU2NjI1NWE0OWEwMmEyMjQ3MGYwMDllNWM4ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1NoYWRlckludGVycFRlc3Qu
Y3BwCkBAIC0wLDAgKzEsMjEyIEBACisvLworLy8gQ29weXJpZ2h0IDIwMjAgVGhlIEFOR0xFIFBy
b2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworLy8gVGVzdHMgZm9yIHNoYWRlciBpbnRl
cnBvbGF0aW9uIHF1YWxpZmllcnMKKy8vCisKKyNpbmNsdWRlICJjb21tb24vbWF0aHV0aWwuaCIK
KyNpbmNsdWRlICJ0ZXN0X3V0aWxzL0FOR0xFVGVzdC5oIgorI2luY2x1ZGUgInRlc3RfdXRpbHMv
Z2xfcmFpaS5oIgorCit1c2luZyBuYW1lc3BhY2UgYW5nbGU7CisKK2NvbnN0ZXhwciBpbnQga1Bp
eGVsQ29sb3JUaHJlc2hob2xkID0gODsKKworY2xhc3MgU2hhZGVySW50ZXJwVGVzdCA6IHB1Ymxp
YyBBTkdMRVRlc3QKK3sKKyAgcHJvdGVjdGVkOgorICAgIFNoYWRlckludGVycFRlc3QoKSA6IEFO
R0xFVGVzdCgpCisgICAgeworICAgICAgICBzZXRXaW5kb3dXaWR0aCgxMjgpOworICAgICAgICBz
ZXRXaW5kb3dIZWlnaHQoMTI4KTsKKyAgICB9CisKKyAgICB2b2lkIGRyYXcoR0x1aW50IHByb2dy
YW0sIGZsb2F0IHNrZXcpCisgICAgeworICAgICAgICBnbFVzZVByb2dyYW0ocHJvZ3JhbSk7CisK
KyAgICAgICAgc3RkOjphcnJheTxWZWN0b3I0LCAzPiB2ZXJ0aWNlczsKKyAgICAgICAgdmVydGlj
ZXNbMF0gPSB7LTEuMCwgLTEuMCwgMC4wLCAxLjB9OworICAgICAgICB2ZXJ0aWNlc1sxXSA9IHsx
LjAsIC0xLjAsIDAuMCwgMS4wfTsKKyAgICAgICAgdmVydGljZXNbMl0gPSB7MC4wLCAxLjAgKiBz
a2V3LCAwLjAsIHNrZXd9OworCisgICAgICAgIHN0ZDo6YXJyYXk8VmVjdG9yNCwgMz4gY29sb3Jz
OworICAgICAgICBjb2xvcnNbMF0gPSB7MS4wLCAwLjAsIDAuMCwgMS4wfTsKKyAgICAgICAgY29s
b3JzWzFdID0gezAuMCwgMS4wLCAwLjAsIDEuMH07CisgICAgICAgIGNvbG9yc1syXSA9IHswLjAs
IDAuMCwgMS4wLCAxLjB9OworCisgICAgICAgIEdMaW50IHBvc2l0aW9uTG9jYXRpb24gPSBnbEdl
dEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJwb3NpdGlvbiIpOworICAgICAgICBHTGludCBjb2xv
ckxvY2F0aW9uICAgID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAidmVydGV4X2NvbG9y
Iik7CisKKyAgICAgICAgZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24sIDQs
IEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGljZXMuZGF0YSgpKTsKKyAgICAgICAgZ2xWZXJ0
ZXhBdHRyaWJQb2ludGVyKGNvbG9yTG9jYXRpb24sIDQsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwg
Y29sb3JzLmRhdGEoKSk7CisKKyAgICAgICAgZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3Np
dGlvbkxvY2F0aW9uKTsKKyAgICAgICAgZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxv
Y2F0aW9uKTsKKworICAgICAgICBnbERyYXdBcnJheXMoR0xfVFJJQU5HTEVTLCAwLCAzKTsKKyAg
ICB9Cit9OworCisvLyBUZXN0IHRoYXQgcmVndWxhciAic21vb3RoIiBpbnRlcnBvbGF0aW9uIHdv
cmtzIGNvcnJlY3RseQorVEVTVF9QKFNoYWRlckludGVycFRlc3QsIFNtb290aCkKK3sKKyAgICBj
b25zdCBjaGFyICp2ZXJ0U3JjID0gUiIoI3ZlcnNpb24gMzAwIGVzCitwcmVjaXNpb24gaGlnaHAg
ZmxvYXQ7CitpbiB2ZWM0IHBvc2l0aW9uOworaW4gdmVjNCB2ZXJ0ZXhfY29sb3I7CitzbW9vdGgg
b3V0IHZlYzQgaW50ZXJwX2NvbG9yOworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9u
ID0gcG9zaXRpb247CisgICAgaW50ZXJwX2NvbG9yID0gdmVydGV4X2NvbG9yOworfQorKSI7Cisg
ICAgY29uc3QgY2hhciAqZnJhZ1NyYyA9IFIiKCN2ZXJzaW9uIDMwMCBlcworcHJlY2lzaW9uIGhp
Z2hwIGZsb2F0Oworc21vb3RoIGluIHZlYzQgaW50ZXJwX2NvbG9yOworb3V0IHZlYzQgZnJhZ0Nv
bG9yOworCit2b2lkIG1haW4oKQoreworICAgIGZyYWdDb2xvciA9IGludGVycF9jb2xvcjsKK30K
KykiOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCB2ZXJ0U3JjLCBmcmFnU3JjKTsK
KyAgICBnbENsZWFyQ29sb3IoMC4wZiwgMC4wZiwgMC4wZiwgMS4wZik7CisKKyAgICBnbENsZWFy
KEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIGRyYXcocHJvZ3JhbSwgMS4wKTsKKyAgICBFWFBF
Q1RfUElYRUxfQ09MT1JfTkVBUig2NCwgNjQsIEdMQ29sb3IoNjIsIDY0LCAxMjgsIDI1NSksIGtQ
aXhlbENvbG9yVGhyZXNoaG9sZCk7CisKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQp
OworICAgIGRyYXcocHJvZ3JhbSwgMi4wKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfTkVBUig2
NCwgNjQsIEdMQ29sb3IoODMsIDg2LCA4NiwgMjU1KSwga1BpeGVsQ29sb3JUaHJlc2hob2xkKTsK
K30KKworLy8gVGVzdCB0aGF0IHVuaW50ZXJwb2xhdGVkICJGbGF0IiBpbnRlcnBvbGF0aW9uIHdv
cmtzIGNvcnJlY3RseQorVEVTVF9QKFNoYWRlckludGVycFRlc3QsIEZsYXQpCit7CisgICAgLy8g
VE9ETzogYW5nbGVidWcuY29tLzQwODUKKyAgICAvLyBObyB2ZW5kb3JzIGN1cnJlbnRseSBzdXBw
b3J0IFZLX0VYVF9wcm92b2tpbmdfdmVydGV4LCB3aGljaCBpcyBuZWNlc3NhcnkgZm9yIGNvbmZv
cm1hbnQgZmxhdAorICAgIC8vIHNoYWRpbmcuIFN3aWZ0U2hhZGVyIGRvZXMgdGVjaG5pY2FsbHkg
c3VwcG9ydCB0aGlzIGV4dGVuc2lvbiwgYnV0IGFzIGl0IGhhcyBub3QgeWV0IGJlZW4KKyAgICAv
LyByYXRpZmllZCBieSBLaHJvbm9zLCB0aGUgdnVsa2FuIHZhbGlkYXRpb24gbGF5ZXJzIGRvIG5v
dCByZWNvZ25pemUgdGhlIGNyZWF0ZSBpbmZvIHN0cnVjdCwKKyAgICAvLyBjYXVzaW5nIGl0IHRv
IGJlIHN0cmlwcGVkIGFuZCB0aHVzIGNhdXNpbmcgdGhlIGV4dGVuc2lvbiB0byBiZWhhdmUgYXMg
aWYgaXQgaXMgZGlzYWJsZWQuCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzVnVsa2FuKCkpOwor
CisgICAgY29uc3QgY2hhciAqdmVydFNyYyA9IFIiKCN2ZXJzaW9uIDMwMCBlcworcHJlY2lzaW9u
IGhpZ2hwIGZsb2F0OworaW4gdmVjNCBwb3NpdGlvbjsKK2luIHZlYzQgdmVydGV4X2NvbG9yOwor
ZmxhdCBvdXQgdmVjNCBpbnRlcnBfY29sb3I7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9z
aXRpb24gPSBwb3NpdGlvbjsKKyAgICBpbnRlcnBfY29sb3IgPSB2ZXJ0ZXhfY29sb3I7Cit9Cisp
IjsKKyAgICBjb25zdCBjaGFyICpmcmFnU3JjID0gUiIoI3ZlcnNpb24gMzAwIGVzCitwcmVjaXNp
b24gaGlnaHAgZmxvYXQ7CitmbGF0IGluIHZlYzQgaW50ZXJwX2NvbG9yOworb3V0IHZlYzQgZnJh
Z0NvbG9yOworCit2b2lkIG1haW4oKQoreworICAgIGZyYWdDb2xvciA9IGludGVycF9jb2xvcjsK
K30KKykiOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCB2ZXJ0U3JjLCBmcmFnU3Jj
KTsKKyAgICBnbENsZWFyQ29sb3IoMC4wZiwgMC4wZiwgMC4wZiwgMS4wZik7CisKKyAgICBnbENs
ZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIGRyYXcocHJvZ3JhbSwgMS4wKTsKKyAgICBH
TENvbG9yIHNtb290aF9yZWZlcmVuY2U7CisgICAgZ2xSZWFkUGl4ZWxzKDY0LCA2NCwgMSwgMSwg
R0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgJnNtb290aF9yZWZlcmVuY2UpOworICAgIEVYUEVD
VF9QSVhFTF9DT0xPUl9FUSg2NCwgNjQsIEdMQ29sb3IoMCwgMCwgMjU1LCAyNTUpKTsKK30KKwor
Ly8gVGVzdCB0aGF0ICJub3BlcnNwZWN0aXZlIiBpbnRlcnBvbGF0aW9uIGNvcnJlY3RseSBpbnRl
cnBvbGF0ZXMgaW4gc2NyZWVuc3BhY2UKK1RFU1RfUChTaGFkZXJJbnRlcnBUZXN0LCBOb1BlcnNw
ZWN0aXZlKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQo
IkdMX05WX3NoYWRlcl9ub3BlcnNwZWN0aXZlX2ludGVycG9sYXRpb24iKSk7CisKKyAgICBjb25z
dCBjaGFyICp2ZXJ0U3JjU21vb3RoID0gUiIoI3ZlcnNpb24gMzAwIGVzCitwcmVjaXNpb24gaGln
aHAgZmxvYXQ7CitpbiB2ZWM0IHBvc2l0aW9uOworaW4gdmVjNCB2ZXJ0ZXhfY29sb3I7CitzbW9v
dGggb3V0IHZlYzQgaW50ZXJwX2NvbG9yOworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0
aW9uID0gcG9zaXRpb247CisgICAgaW50ZXJwX2NvbG9yID0gdmVydGV4X2NvbG9yOworfQorKSI7
CisgICAgY29uc3QgY2hhciAqZnJhZ1NyY1Ntb290aCA9IFIiKCN2ZXJzaW9uIDMwMCBlcworcHJl
Y2lzaW9uIGhpZ2hwIGZsb2F0Oworc21vb3RoIGluIHZlYzQgaW50ZXJwX2NvbG9yOworb3V0IHZl
YzQgZnJhZ0NvbG9yOworCit2b2lkIG1haW4oKQoreworICAgIGZyYWdDb2xvciA9IGludGVycF9j
b2xvcjsKK30KKykiOworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbVNtb290aCwgdmVydFNy
Y1Ntb290aCwgZnJhZ1NyY1Ntb290aCk7CisgICAgZ2xDbGVhckNvbG9yKDAuMGYsIDAuMGYsIDAu
MGYsIDEuMGYpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZHJhdyhw
cm9ncmFtU21vb3RoLCAxLjApOworICAgIEdMQ29sb3Igc21vb3RoX3JlZmVyZW5jZTsKKyAgICBn
bFJlYWRQaXhlbHMoNjQsIDY0LCAxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCAmc21v
b3RoX3JlZmVyZW5jZSk7CisKKyAgICBjb25zdCBjaGFyICp2ZXJ0U3JjTm9QZXJzcGVjdGl2ZSA9
IFIiKCN2ZXJzaW9uIDMwMCBlcworI2V4dGVuc2lvbiBHTF9OVl9zaGFkZXJfbm9wZXJzcGVjdGl2
ZV9pbnRlcnBvbGF0aW9uIDogcmVxdWlyZQorCisjaWZuZGVmIEdMX05WX3NoYWRlcl9ub3BlcnNw
ZWN0aXZlX2ludGVycG9sYXRpb24KKyNlcnJvciBHTF9OVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9p
bnRlcnBvbGF0aW9uIGlzIG5vdCBkZWZpbmVkCisjZW5kaWYKKworcHJlY2lzaW9uIGhpZ2hwIGZs
b2F0OworaW4gdmVjNCBwb3NpdGlvbjsKK2luIHZlYzQgdmVydGV4X2NvbG9yOworbm9wZXJzcGVj
dGl2ZSBvdXQgdmVjNCBpbnRlcnBfY29sb3I7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9z
aXRpb24gPSBwb3NpdGlvbjsKKyAgICBpbnRlcnBfY29sb3IgPSB2ZXJ0ZXhfY29sb3I7Cit9Cisp
IjsKKyAgICBjb25zdCBjaGFyICpmcmFnU3JjTm9QZXJzcGVjdGl2ZSA9IFIiKCN2ZXJzaW9uIDMw
MCBlcworI2V4dGVuc2lvbiBHTF9OVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0aW9u
IDogcmVxdWlyZQorCisjaWZuZGVmIEdMX05WX3NoYWRlcl9ub3BlcnNwZWN0aXZlX2ludGVycG9s
YXRpb24KKyNlcnJvciBHTF9OVl9zaGFkZXJfbm9wZXJzcGVjdGl2ZV9pbnRlcnBvbGF0aW9uIGlz
IG5vdCBkZWZpbmVkCisjZW5kaWYKKworcHJlY2lzaW9uIGhpZ2hwIGZsb2F0Oworbm9wZXJzcGVj
dGl2ZSBpbiB2ZWM0IGludGVycF9jb2xvcjsKK291dCB2ZWM0IGZyYWdDb2xvcjsKKwordm9pZCBt
YWluKCkKK3sKKyAgICBmcmFnQ29sb3IgPSBpbnRlcnBfY29sb3I7Cit9CispIjsKKyAgICBBTkdM
RV9HTF9QUk9HUkFNKHByb2dyYW1Ob1BlcnNwZWN0aXZlLCB2ZXJ0U3JjTm9QZXJzcGVjdGl2ZSwg
ZnJhZ1NyY05vUGVyc3BlY3RpdmUpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7
CisgICAgZHJhdyhwcm9ncmFtTm9QZXJzcGVjdGl2ZSwgMS4wKTsKKyAgICBFWFBFQ1RfUElYRUxf
Q09MT1JfRVEoNjQsIDY0LCBzbW9vdGhfcmVmZXJlbmNlKTsKKworICAgIGdsQ2xlYXIoR0xfQ09M
T1JfQlVGRkVSX0JJVCk7CisgICAgZHJhdyhwcm9ncmFtTm9QZXJzcGVjdGl2ZSwgMi4wKTsKKyAg
ICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoNjQsIDY0LCBzbW9vdGhfcmVmZXJlbmNlKTsKK30KKwor
QU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzMoU2hhZGVySW50ZXJwVGVzdCk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL2dsX3Rlc3RzL1NoYWRlclN0b3JhZ2VCdWZmZXJUZXN0LmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9TaGFkZXJTdG9yYWdlQnVmZmVyVGVzdC5j
cHAKaW5kZXggZDczYTFiMTUwM2RhYjNjMTUwNmUxNjE2OGNhNTI3YTQxMWYwZmZlNS4uMWJiZGMx
YjBjYjdkMzUyN2FiNTQ5ZDA5ZDQzNTI3ZjIwNjgzMWNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1NoYWRlclN0b3JhZ2VCdWZmZXJUZXN0
LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvU2hh
ZGVyU3RvcmFnZUJ1ZmZlclRlc3QuY3BwCkBAIC0xOTc0LDYgKzE5NzQsMTA0IEBAIHZvaWQgbWFp
bigpCiAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiB9CiAKKy8vIFRlc3QgYmFjayB0byBiYWNr
IHRoYXQgdGhlIGxlbmd0aCBvZiB1bnNpemVkIGFycmF5IGlzIGNvcnJlY3QgYWZ0ZXIgcmVzcGVj
aWZ5aW5nIHRoZSBidWZmZXIKKy8vIHNpemUgdG8gYmUgc21hbGxlciB0aGFuIHRoZSBmaXJzdAor
VEVTVF9QKFNoYWRlclN0b3JhZ2VCdWZmZXJUZXN0MzEsIFVuc2l6ZWRBcnJheUxlbmd0aFJlc3Bl
Y2lmeVNpemUpCit7CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NTY2CisgICAgQU5HTEVf
U0tJUF9URVNUX0lGKElzRDNEMTEoKSB8fCAoSXNBbmRyb2lkKCkgJiYgSXNPcGVuR0xFUygpKSk7
CisKKyAgICBjb25zdGV4cHIgY2hhciBrQ29tcHV0ZVNoYWRlclNvdXJjZVtdID0KKyAgICAgICAg
UiIoI3ZlcnNpb24gMzEwIGVzCitsYXlvdXQgKGxvY2FsX3NpemVfeD0xKSBpbjsKK2xheW91dChz
dGQ0MzAsIGJpbmRpbmcgPSAwKSBidWZmZXIgU3RvcmFnZTAgeworICB1aW50IGJ1ZjFbMl07Cisg
IHVpbnQgYnVmMltdOworfSBzYl9sb2FkOworbGF5b3V0KHN0ZDQzMCwgYmluZGluZyA9IDEpIGJ1
ZmZlciBTdG9yYWdlMSB7CisgIGludCB1bnNpemVkQXJyYXlMZW5ndGg7CisgIHVpbnQgYnVmMVsy
XTsKKyAgdWludCBidWYyW107Cit9IHNiX3N0b3JlOworCit2b2lkIG1haW4oKQoreworICBzYl9z
dG9yZS51bnNpemVkQXJyYXlMZW5ndGggPSBzYl9zdG9yZS5idWYyLmxlbmd0aCgpOworICBmb3Ig
KGludCBpID0gMDsgaSA8IHNiX2xvYWQuYnVmMS5sZW5ndGgoKTsgaSsrKSB7CisgICAgc2Jfc3Rv
cmUuYnVmMVtpXSA9IHNiX2xvYWQuYnVmMVtpXTsKKyAgfQorICBmb3IgKGludCBpID0gMDsgaSA8
IHNiX2xvYWQuYnVmMi5sZW5ndGgoKTsgaSsrKSB7CisgICAgc2Jfc3RvcmUuYnVmMltpXSA9IHNi
X2xvYWQuYnVmMltpXTsKKyAgfQorfQorKSI7CisKKyAgICBBTkdMRV9HTF9DT01QVVRFX1BST0dS
QU0ocHJvZ3JhbSwga0NvbXB1dGVTaGFkZXJTb3VyY2UpOworICAgIGdsVXNlUHJvZ3JhbShwcm9n
cmFtKTsKKworICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBpbnQga0J5dGVzUGVyQ29tcG9uZW50ICAg
ICAgICAgICAgICAgICAgICAgICA9IHNpemVvZih1bnNpZ25lZCBpbnQpOworICAgIGNvbnN0ZXhw
ciB1bnNpZ25lZCBpbnQga0xvYWRCbG9ja0VsZW1lbnRDb3VudCAgICAgICAgICAgICAgICAgICA9
IDU7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGludCBrU3RvcmVCbG9ja0VsZW1lbnRDb3VudCAg
ICAgICAgICAgICAgICAgID0gNjsKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgaW50IGtJbnB1dFZh
bHVlc1trTG9hZEJsb2NrRWxlbWVudENvdW50XSAgICAgPSB7MXUsIDJ1LCAzdSwgNHUsIDV1fTsK
KyAgICBjb25zdGV4cHIgdW5zaWduZWQgaW50IGtFeHBlY3RlZFZhbHVlc1trU3RvcmVCbG9ja0Vs
ZW1lbnRDb3VudF0gPSB7M3UsIDF1LCAydSwgM3UsIDR1LCA1dX07CisgICAgR0xCdWZmZXIgc2hh
ZGVyU3RvcmFnZUJ1ZmZlclsyXTsKKyAgICBnbEJpbmRCdWZmZXIoR0xfU0hBREVSX1NUT1JBR0Vf
QlVGRkVSLCBzaGFkZXJTdG9yYWdlQnVmZmVyWzBdKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xfU0hB
REVSX1NUT1JBR0VfQlVGRkVSLCBrTG9hZEJsb2NrRWxlbWVudENvdW50ICoga0J5dGVzUGVyQ29t
cG9uZW50LAorICAgICAgICAgICAgICAgICAma0lucHV0VmFsdWVzLCBHTF9TVEFUSUNfRFJBVyk7
CisgICAgZ2xCaW5kQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUiwgc2hhZGVyU3RvcmFn
ZUJ1ZmZlclsxXSk7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUiwg
a1N0b3JlQmxvY2tFbGVtZW50Q291bnQgKiBrQnl0ZXNQZXJDb21wb25lbnQsIG51bGxwdHIsCisg
ICAgICAgICAgICAgICAgIEdMX1NUQVRJQ19EUkFXKTsKKworICAgIGdsQmluZEJ1ZmZlckJhc2Uo
R0xfU0hBREVSX1NUT1JBR0VfQlVGRkVSLCAwLCBzaGFkZXJTdG9yYWdlQnVmZmVyWzBdKTsKKyAg
ICBnbEJpbmRCdWZmZXJCYXNlKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUiwgMSwgc2hhZGVyU3Rv
cmFnZUJ1ZmZlclsxXSk7CisKKyAgICBnbERpc3BhdGNoQ29tcHV0ZSgxLCAxLCAxKTsKKyAgICBn
bEZpbmlzaCgpOworCisgICAgZ2xCaW5kQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUiwg
c2hhZGVyU3RvcmFnZUJ1ZmZlclsxXSk7CisgICAgY29uc3QgR0x1aW50ICpwdHIgPSByZWludGVy
cHJldF9jYXN0PGNvbnN0IEdMdWludCAqPigKKyAgICAgICAgZ2xNYXBCdWZmZXJSYW5nZShHTF9T
SEFERVJfU1RPUkFHRV9CVUZGRVIsIDAsIGtTdG9yZUJsb2NrRWxlbWVudENvdW50ICoga0J5dGVz
UGVyQ29tcG9uZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgIEdMX01BUF9SRUFEX0JJVCkp
OworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwga1N0b3JlQmxvY2tFbGVtZW50Q291
bnQ7IGkrKykKKyAgICB7CisgICAgICAgIEVYUEVDVF9FUShrRXhwZWN0ZWRWYWx1ZXNbaV0sICoo
cHRyICsgaSkpOworICAgIH0KKyAgICBnbFVubWFwQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JV
RkZFUik7CisKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIFJlc3BlY2lmeSB0
aGVzZSBTU0JPcyB0byBiZSBzbWFsbGVyCisgICAgY29uc3RleHByIHVuc2lnbmVkIGludCBrU21h
bGxlckxvYWRCbG9ja0VsZW1lbnRDb3VudCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzOwor
ICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBpbnQga1NtYWxsZXJTdG9yZUJsb2NrRWxlbWVudENvdW50
ICAgICAgICAgICAgICAgICAgICAgICAgID0gNDsKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgaW50
IGtTbWFsbGVySW5wdXRWYWx1ZXNba1NtYWxsZXJMb2FkQmxvY2tFbGVtZW50Q291bnRdICAgICA9
IHsxdSwgMnUsIDN1fTsKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgaW50IGtTbWFsbGVyRXhwZWN0
ZWRWYWx1ZXNba1NtYWxsZXJTdG9yZUJsb2NrRWxlbWVudENvdW50XSA9IHsxdSwgMXUsIDJ1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDN1fTsKKworICAgIGdsQmluZEJ1ZmZlcihHTF9T
SEFERVJfU1RPUkFHRV9CVUZGRVIsIHNoYWRlclN0b3JhZ2VCdWZmZXJbMF0pOworICAgIGdsQnVm
ZmVyRGF0YShHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIsIGtTbWFsbGVyTG9hZEJsb2NrRWxlbWVu
dENvdW50ICoga0J5dGVzUGVyQ29tcG9uZW50LAorICAgICAgICAgICAgICAgICAma1NtYWxsZXJJ
bnB1dFZhbHVlcywgR0xfU1RBVElDX0RSQVcpOworICAgIGdsQmluZEJ1ZmZlcihHTF9TSEFERVJf
U1RPUkFHRV9CVUZGRVIsIHNoYWRlclN0b3JhZ2VCdWZmZXJbMV0pOworICAgIGdsQnVmZmVyRGF0
YShHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIsIGtTbWFsbGVyU3RvcmVCbG9ja0VsZW1lbnRDb3Vu
dCAqIGtCeXRlc1BlckNvbXBvbmVudCwKKyAgICAgICAgICAgICAgICAgbnVsbHB0ciwgR0xfU1RB
VElDX0RSQVcpOworCisgICAgZ2xCaW5kQnVmZmVyQmFzZShHTF9TSEFERVJfU1RPUkFHRV9CVUZG
RVIsIDAsIHNoYWRlclN0b3JhZ2VCdWZmZXJbMF0pOworICAgIGdsQmluZEJ1ZmZlckJhc2UoR0xf
U0hBREVSX1NUT1JBR0VfQlVGRkVSLCAxLCBzaGFkZXJTdG9yYWdlQnVmZmVyWzFdKTsKKworICAg
IGdsRGlzcGF0Y2hDb21wdXRlKDEsIDEsIDEpOworICAgIGdsRmluaXNoKCk7CisKKyAgICBnbEJp
bmRCdWZmZXIoR0xfU0hBREVSX1NUT1JBR0VfQlVGRkVSLCBzaGFkZXJTdG9yYWdlQnVmZmVyWzFd
KTsKKyAgICBjb25zdCBHTHVpbnQgKnB0cjIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IEdMdWlu
dCAqPigKKyAgICAgICAgZ2xNYXBCdWZmZXJSYW5nZShHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIs
IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAga1NtYWxsZXJTdG9yZUJsb2NrRWxlbWVudENv
dW50ICoga0J5dGVzUGVyQ29tcG9uZW50LCBHTF9NQVBfUkVBRF9CSVQpKTsKKyAgICBmb3IgKHVu
c2lnbmVkIGludCBpID0gMDsgaSA8IGtTbWFsbGVyU3RvcmVCbG9ja0VsZW1lbnRDb3VudDsgaSsr
KQorICAgIHsKKyAgICAgICAgRVhQRUNUX0VRKGtTbWFsbGVyRXhwZWN0ZWRWYWx1ZXNbaV0sICoo
cHRyMiArIGkpKTsKKyAgICB9CisKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKK30KKwogLy8g
VGVzdCB0aGF0IGNvbXBvbmQgYXNzaWdubWVudCBvcGVyYXRvciBmb3IgYnVmZmVyIHZhcmlhYmxl
IGlzIGNvcnJlY3RseSBoYW5kbGVkLgogVEVTVF9QKFNoYWRlclN0b3JhZ2VCdWZmZXJUZXN0MzEs
IENvbXBvdW5kQXNzaWdubWVudE9wZXJhdG9yKQogewpAQCAtMjI1OCw2ICsyMzU2LDEwNiBAQCB2
b2lkIG1haW4oKQogICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBWZXJpZnkgdGhl
IHNpemUgb2YgdGhlIGJ1ZmZlciB3aXRoIHVuc2l6ZWQgc3RydWN0IGFycmF5IGlzIGNhbGN1bGF0
ZWQgY29ycmVjdGx5CitURVNUX1AoU2hhZGVyU3RvcmFnZUJ1ZmZlclRlc3QzMSwgQmlnU3RydWN0
VW5zaXplZFN0cnVjdEFycmF5U2l6ZSkKK3sKKyAgICAvLyBUT0RPKGh0dHA6Ly9hbmdsZWJ1Zy5j
b20vMzU5NikKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNBTUQoKSAmJiBJc1dpbmRvd3MoKSAm
JiBJc09wZW5HTCgpKTsKKworICAgIGNvbnN0ZXhwciBjaGFyIGtDb21wdXRlU2hhZGVyU291cmNl
W10gPQorICAgICAgICBSIigjdmVyc2lvbiAzMTAgZXMKK2xheW91dCAobG9jYWxfc2l6ZV94PTEp
IGluOworCitzdHJ1Y3QgUworeworICAgIG1hdDQgbTsgICAgIC8vIDQgdmVjNCA9IDE2IGZsb2F0
cworICAgIHZlYzQgYVsxMF07IC8vIDEwIHZlYzQgPSA0MCBmbG9hdHMKK307CisKK2xheW91dChi
aW5kaW5nPTApIGJ1ZmZlciBCCit7CisgICAgdmVjNCBwcmVjZWRpbmdNZW1iZXI7ICAgICAgICAg
ICAgICAgLy8gNCBmbG9hdHMKKyAgICBTIHByZWNlZGluZ01lbWJlclVuc2l6ZWRBcnJheVtdOyAg
ICAvLyA1NiBmbG9hdHMKK30gYjsKKwordm9pZCBtYWluKCkKK3sKKyAgICBpZiAoZmFsc2UpCisg
ICAgeworICAgICAgICBiLnByZWNlZGluZ01lbWJlciA9IHZlYzQoMS4wLCAxLjAsIDEuMCwgMS4w
KTsKKyAgICB9Cit9CispIjsKKworICAgIEFOR0xFX0dMX0NPTVBVVEVfUFJPR1JBTShwcm9ncmFt
LCBrQ29tcHV0ZVNoYWRlclNvdXJjZSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAg
ICBnbFVzZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgZ2xEaXNwYXRjaENvbXB1dGUoMSwgMSwgMSk7
CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICBHTHVpbnQgcmVzb3VyY2VJbmRleCA9
IGdsR2V0UHJvZ3JhbVJlc291cmNlSW5kZXgocHJvZ3JhbSwgR0xfU0hBREVSX1NUT1JBR0VfQkxP
Q0ssICJCIik7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX05FKHJlc291
cmNlSW5kZXgsIDB4RkZGRkZGRkYpOworCisgICAgR0xlbnVtIHByb3BlcnR5ID0gR0xfQlVGRkVS
X0RBVEFfU0laRTsKKyAgICBHTGludCBxdWVyeURhdGEgPSAtMTsKKyAgICBnbEdldFByb2dyYW1S
ZXNvdXJjZWl2KHByb2dyYW0sIEdMX1NIQURFUl9TVE9SQUdFX0JMT0NLLCByZXNvdXJjZUluZGV4
LCAxLCAmcHJvcGVydHksIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLCAm
cXVlcnlEYXRhKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIDYwICogc2l6
ZW9mKGZsb2F0KSA9IDI0MAorICAgIC8vIFZ1bGthbiByb3VuZHMgdXAgdG8gdGhlIHJlcXVpcmVk
IGJ1ZmZlciBhbGlnbm1lbnQsIHNvID49IDI0MAorICAgIEVYUEVDVF9HRShxdWVyeURhdGEsIDI0
MCk7Cit9CisKKy8vIFZlcmlmeSB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHdpdGggdW5zaXplZCBm
bG9hdCBhcnJheSBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseQorVEVTVF9QKFNoYWRlclN0b3JhZ2VC
dWZmZXJUZXN0MzEsIEJpZ1N0cnVjdFVuc2l6ZWRGbG9hdEFycmF5U2l6ZSkKK3sKKyAgICAvLyBU
T0RPKGh0dHA6Ly9hbmdsZWJ1Zy5jb20vMzU5NikKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNB
TUQoKSAmJiBJc1dpbmRvd3MoKSAmJiBJc09wZW5HTCgpKTsKKworICAgIGNvbnN0ZXhwciBjaGFy
IGtDb21wdXRlU2hhZGVyU291cmNlW10gPQorICAgICAgICBSIigjdmVyc2lvbiAzMTAgZXMKK2xh
eW91dCAobG9jYWxfc2l6ZV94PTEpIGluOworCitsYXlvdXQoYmluZGluZz0wKSBidWZmZXIgQgor
eworICAgIHZlYzQgcHJlY2VkaW5nTWVtYmVyOyAgICAgICAgICAgICAgICAgICAvLyA0IGZsb2F0
cworICAgIGZsb2F0IHByZWNlZGluZ01lbWJlclVuc2l6ZWRBcnJheVtdOyAgICAvLyAiMSIgZmxv
YXQKK30gYjsKKwordm9pZCBtYWluKCkKK3sKKyAgICBpZiAoZmFsc2UpCisgICAgeworICAgICAg
ICBiLnByZWNlZGluZ01lbWJlciA9IHZlYzQoMS4wLCAxLjAsIDEuMCwgMS4wKTsKKyAgICB9Cit9
CispIjsKKworICAgIEFOR0xFX0dMX0NPTVBVVEVfUFJPR1JBTShwcm9ncmFtLCBrQ29tcHV0ZVNo
YWRlclNvdXJjZSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICBnbFVzZVByb2dy
YW0ocHJvZ3JhbSk7CisgICAgZ2xEaXNwYXRjaENvbXB1dGUoMSwgMSwgMSk7CisgICAgRVhQRUNU
X0dMX05PX0VSUk9SKCk7CisKKyAgICBHTHVpbnQgcmVzb3VyY2VJbmRleCA9IGdsR2V0UHJvZ3Jh
bVJlc291cmNlSW5kZXgocHJvZ3JhbSwgR0xfU0hBREVSX1NUT1JBR0VfQkxPQ0ssICJCIik7Cisg
ICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX05FKHJlc291cmNlSW5kZXgsIDB4
RkZGRkZGRkYpOworCisgICAgR0xlbnVtIHByb3BlcnR5ID0gR0xfQlVGRkVSX0RBVEFfU0laRTsK
KyAgICBHTGludCBxdWVyeURhdGEgPSAtMTsKKyAgICBnbEdldFByb2dyYW1SZXNvdXJjZWl2KHBy
b2dyYW0sIEdMX1NIQURFUl9TVE9SQUdFX0JMT0NLLCByZXNvdXJjZUluZGV4LCAxLCAmcHJvcGVy
dHksIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLCAmcXVlcnlEYXRhKTsK
KyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIDUgKiBzaXplb2YoZmxvYXQpID0g
MjAKKyAgICAvLyBWdWxrYW4gcm91bmRzIHVwIHRvIHRoZSByZXF1aXJlZCBidWZmZXIgYWxpZ25t
ZW50LCBzbyA+PSAyMAorICAgIEVYUEVDVF9HRShxdWVyeURhdGEsIDIwKTsKK30KKwogQU5HTEVf
SU5TVEFOVElBVEVfVEVTVF9FUzMxKFNoYWRlclN0b3JhZ2VCdWZmZXJUZXN0MzEpOwogCiB9ICAv
LyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9nbF90ZXN0cy9TaW1wbGVPcGVyYXRpb25UZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9TaW1wbGVPcGVyYXRpb25UZXN0LmNwcAppbmRleCAxZDhj
MzYwNWI5YjNjMWY0ZjUzNGY2ZTIzMWU3OTZhMTIyZTYyYjlmLi4yNzRlMWE3ODAwMzA4YjU3MGI0
YzZjYWE4MmVmNWU2Y2ZiNTM3YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvU2ltcGxlT3BlcmF0aW9uVGVzdC5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1NpbXBsZU9wZXJhdGlvblRlc3Qu
Y3BwCkBAIC0zNzIsNyArMzcyLDcgQEAgVEVTVF9QKFNpbXBsZU9wZXJhdGlvblRlc3QsIERyYXdM
aW5lKQogCiAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAKLSAgICBmb3IgKGF1dG8geCA9IDA7
IHggPCBnZXRXaW5kb3dXaWR0aCgpOyB4KyspCisgICAgZm9yIChpbnQgeCA9IDA7IHggPCBnZXRX
aW5kb3dXaWR0aCgpOyB4KyspCiAgICAgewogICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEo
eCwgeCwgR0xDb2xvcjo6Z3JlZW4pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9TdGF0ZUNoYW5nZVRlc3QuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N0YXRlQ2hhbmdlVGVzdC5jcHAK
aW5kZXggMjU0ZjhlNmQ0M2IxYzc0MjljYjdjNWE3MGY1YzQ0M2RlNDRhNGY3NS4uNDUyZDkzMjFj
MmU0YWQ3NGYxNzFkMTRjODA3OWNlOGYyODAzNzA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N0YXRlQ2hhbmdlVGVzdC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N0YXRlQ2hhbmdlVGVz
dC5jcHAKQEAgLTczMCwyOSArNzMwLDI2IEBAIFRFU1RfUChTdGF0ZUNoYW5nZVJlbmRlclRlc3Qs
IFJlY3JlYXRlUmVuZGVyYnVmZmVyKQogICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xf
RlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9SRU5ERVJCVUZGRVIsIG1SZW5k
ZXJidWZmZXIpOwogCiAgICAgLy8gRXhwbGljdGx5IGNoZWNrIEZCTyBzdGF0dXMgc3luYyBpbiBz
b21lIHZlcnNpb25zIG9mIEFOR0xFIG5vX2Vycm9yIHNraXBzIEZCTyBjaGVja3MuCi0gICAgQVNT
RVJUX0dMRU5VTV9FUShHTF9GUkFNRUJVRkZFUl9DT01QTEVURSwgZ2xDaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKEdMX0ZSQU1FQlVGRkVSKSk7CisgICAgQVNTRVJUX0dMX0ZSQU1FQlVGRkVSX0NPTVBM
RVRFKEdMX0ZSQU1FQlVGRkVSKTsKIAogICAgIC8vIERyYXcgd2l0aCByZWQgdG8gdGhlIEZCTy4K
LSAgICBHTENvbG9yIHJlZCgyNTUsIDAsIDAsIDI1NSk7Ci0gICAgc2V0VW5pZm9ybUNvbG9yKHJl
ZCk7CisgICAgc2V0VW5pZm9ybUNvbG9yKEdMQ29sb3I6OnJlZCk7CiAgICAgZHJhd1F1YWQobVBy
b2dyYW0sICJwb3NpdGlvbiIsIDAuNWYpOwotICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAw
LCByZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOwog
CiAgICAgLy8gUmVjcmVhdGUgdGhlIHJlbmRlcmJ1ZmZlciBhbmQgY2xlYXIgdG8gZ3JlZW4uCiAg
ICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlKEdMX1JFTkRFUkJVRkZFUiwgR0xfUkdCQTgsIDMyLCAz
Mik7CiAgICAgZ2xDbGVhckNvbG9yKDAuMGYsIDEuMGYsIDAuMGYsIDEuMGYpOwogICAgIGdsQ2xl
YXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7Ci0gICAgR0xDb2xvciBncmVlbigwLCAyNTUsIDAsIDI1
NSk7Ci0gICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIGdyZWVuKTsKKyAgICBFWFBFQ1Rf
UElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOwogCiAgICAgLy8gRXhwbGljdGx5
IGNoZWNrIEZCTyBzdGF0dXMgc3luYyBpbiBzb21lIHZlcnNpb25zIG9mIEFOR0xFIG5vX2Vycm9y
IHNraXBzIEZCTyBjaGVja3MuCi0gICAgQVNTRVJUX0dMRU5VTV9FUShHTF9GUkFNRUJVRkZFUl9D
T01QTEVURSwgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZSQU1FQlVGRkVSKSk7CisgICAg
QVNTRVJUX0dMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKEdMX0ZSQU1FQlVGRkVSKTsKIAogICAgIC8v
IFZlcmlmeSBkcmF3aW5nIGJsdWUgZ2l2ZXMgYmx1ZS4gVGhpcyBjb3ZlcnMgdGhlIEZCTyBzeW5j
IHdpdGggRDNEIGRpcnR5IGJpdHMuCi0gICAgR0xDb2xvciBibHVlKDAsIDAsIDI1NSwgMjU1KTsK
LSAgICBzZXRVbmlmb3JtQ29sb3IoYmx1ZSk7CisgICAgc2V0VW5pZm9ybUNvbG9yKEdMQ29sb3I6
OmJsdWUpOwogICAgIGRyYXdRdWFkKG1Qcm9ncmFtLCAicG9zaXRpb24iLCAwLjVmKTsKLSAgICBF
WFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgYmx1ZSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKDAsIDAsIEdMQ29sb3I6OmJsdWUpOwogCiAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CiB9
CkBAIC0zOTgxLDYgKzM5NzgsOSBAQCBURVNUX1AoV2ViR0wyVmFsaWRhdGlvblN0YXRlQ2hhbmdl
VGVzdCwgVHJhbnNmb3JtRmVlZGJhY2tOZWdhdGl2ZUFQSSkKIHsKICAgICBBTkdMRV9TS0lQX1RF
U1RfSUYoSXNBTUQoKSAmJiBJc09TWCgpKTsKIAorICAgIC8vIFRPRE8oYW5nbGVidWcuY29tLzQ1
MzMpIFRoaXMgZmFpbHMgYWZ0ZXIgdGhlIHVwZ3JhZGUgdG8gdGhlIDI2LjIwLjEwMC43ODcwIGRy
aXZlci4KKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNXaW5kb3dzKCkgJiYgSXNJbnRlbCgpICYm
IElzVnVsa2FuKCkpOworCiAgICAgY29uc3RleHByIGNoYXIga0ZTW10gPSBSIigjdmVyc2lvbiAz
MDAgZXMKIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogdW5pZm9ybSBibG9jayB7IHZlYzQgY29s
b3I7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvVGV4dHVyZUZpbHRlcmluZ0hpbnRUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9UZXh0dXJlRmlsdGVyaW5nSGludFRlc3QuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ0NWRhMzA1NzhkODUwZDdmZDRhYjliNTVmZjgxZjc5NmUyNGQ4NmUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVGV4
dHVyZUZpbHRlcmluZ0hpbnRUZXN0LmNwcApAQCAtMCwwICsxLDY0IEBACisvLworLy8gQ29weXJp
Z2h0IDIwMjAgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisv
LyBUZXh0dXJlRmlsdGVyaW5nSGludFRlc3QuY3BwIDogVGVzdHMgb2YgdGhlIEdMX0NIUk9NSVVN
X3RleHR1cmVfZmlsdGVyaW5nX2hpbnQgZXh0ZW5zaW9uLgorCisjaW5jbHVkZSAidGVzdF91dGls
cy9BTkdMRVRlc3QuaCIKKworI2luY2x1ZGUgInRlc3RfdXRpbHMvZ2xfcmFpaS5oIgorCituYW1l
c3BhY2UgYW5nbGUKK3sKKworY2xhc3MgVGV4dHVyZUZpbHRlcmluZ0hpbnRUZXN0IDogcHVibGlj
IEFOR0xFVGVzdAoreworICBwcm90ZWN0ZWQ6CisgICAgVGV4dHVyZUZpbHRlcmluZ0hpbnRUZXN0
KCkKKyAgICB7CisgICAgICAgIHNldFdpbmRvd1dpZHRoKDEyOCk7CisgICAgICAgIHNldFdpbmRv
d0hlaWdodCgxMjgpOworICAgICAgICBzZXRDb25maWdSZWRCaXRzKDgpOworICAgICAgICBzZXRD
b25maWdHcmVlbkJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0JsdWVCaXRzKDgpOworICAgICAg
ICBzZXRDb25maWdBbHBoYUJpdHMoOCk7CisgICAgfQorfTsKKworLy8gVGVzdCB0aGF0IHNldHRp
bmcgdGhlIGhpbnQgd29ya3Mgb25seSB3aGVuIHRoZSBleHRlbnNpb24gaXMgZW5hYmxlZAorVEVT
VF9QKFRleHR1cmVGaWx0ZXJpbmdIaW50VGVzdCwgVmFsaWRhdGlvbikKK3sKKyAgICBpZiAoSXNH
TEV4dGVuc2lvbkVuYWJsZWQoIkdMX0NIUk9NSVVNX3RleHR1cmVfZmlsdGVyaW5nX2hpbnQiKSkK
KyAgICB7CisgICAgICAgIEdMaW50IGludFZhbHVlID0gMDsKKyAgICAgICAgZ2xHZXRJbnRlZ2Vy
dihHTF9URVhUVVJFX0ZJTFRFUklOR19ISU5UX0NIUk9NSVVNLCAmaW50VmFsdWUpOworICAgICAg
ICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICAgICAgRVhQRUNUX0dMRU5VTV9FUShHTF9ET05U
X0NBUkUsIGludFZhbHVlKTsKKworICAgICAgICBnbEhpbnQoR0xfVEVYVFVSRV9GSUxURVJJTkdf
SElOVF9DSFJPTUlVTSwgR0xfRkFTVEVTVCk7CisgICAgICAgIGdsR2V0SW50ZWdlcnYoR0xfVEVY
VFVSRV9GSUxURVJJTkdfSElOVF9DSFJPTUlVTSwgJmludFZhbHVlKTsKKyAgICAgICAgRVhQRUNU
X0dMX05PX0VSUk9SKCk7CisgICAgICAgIEVYUEVDVF9HTEVOVU1fRVEoR0xfRkFTVEVTVCwgaW50
VmFsdWUpOworCisgICAgICAgIGdsSGludChHTF9URVhUVVJFX0ZJTFRFUklOR19ISU5UX0NIUk9N
SVVNLCBHTF9OSUNFU1QpOworICAgICAgICBnbEdldEludGVnZXJ2KEdMX1RFWFRVUkVfRklMVEVS
SU5HX0hJTlRfQ0hST01JVU0sICZpbnRWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9HTF9OT19FUlJP
UigpOworICAgICAgICBFWFBFQ1RfR0xFTlVNX0VRKEdMX05JQ0VTVCwgaW50VmFsdWUpOworCisg
ICAgICAgIGdsSGludChHTF9URVhUVVJFX0ZJTFRFUklOR19ISU5UX0NIUk9NSVVNLCBHTF9URVhU
VVJFXzJEKTsKKyAgICAgICAgZ2xHZXRJbnRlZ2VydihHTF9URVhUVVJFX0ZJTFRFUklOR19ISU5U
X0NIUk9NSVVNLCAmaW50VmFsdWUpOworICAgICAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJ
RF9FTlVNKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZ2xIaW50KEdMX1RFWFRV
UkVfRklMVEVSSU5HX0hJTlRfQ0hST01JVU0sIEdMX0ZBU1RFU1QpOworICAgICAgICBFWFBFQ1Rf
R0xfRVJST1IoR0xfSU5WQUxJRF9FTlVNKTsKKyAgICB9Cit9CisKKy8vIFVzZSB0aGlzIHRvIHNl
bGVjdCB3aGljaCBjb25maWd1cmF0aW9ucyAoZS5nLiB3aGljaCByZW5kZXJlciwgd2hpY2ggR0xF
UyBtYWpvciB2ZXJzaW9uKSB0aGVzZQorLy8gdGVzdHMgc2hvdWxkIGJlIHJ1biBhZ2FpbnN0Lgor
QU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzJfQU5EX0VTMyhUZXh0dXJlRmlsdGVyaW5nSGludFRl
c3QpOworfSAgLy8gbmFtZXNwYWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVGV4dHVyZVRlc3QuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1RleHR1cmVUZXN0LmNwcAppbmRleCBlNDUw
MWFkMDUxZGE5MmM3YjkyMDExMTBjNDJiMjM1NDFmNjExNTU1Li4wN2VhMjQ4MWIzM2ExZmFjMmIx
ZWI3OTNiZWE0YmFlNzg4ODc3ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvVGV4dHVyZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9UZXh0dXJlVGVzdC5jcHAKQEAgLTE0NDgsNiAr
MTQ0OCwyNCBAQCBjbGFzcyBQQk9Db21wcmVzc2VkVGV4dHVyZVRlc3QgOiBwdWJsaWMgVGV4dHVy
ZTJEVGVzdAogICAgIEdMdWludCBtUEJPOwogfTsKIAorY2xhc3MgRVRDMUNvbXByZXNzZWRUZXh0
dXJlVGVzdCA6IHB1YmxpYyBUZXh0dXJlMkRUZXN0Cit7CisgIHByb3RlY3RlZDoKKyAgICBFVEMx
Q29tcHJlc3NlZFRleHR1cmVUZXN0KCkgOiBUZXh0dXJlMkRUZXN0KCkge30KKworICAgIHZvaWQg
dGVzdFNldFVwKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFRleENvb3JkRHJhd1Rlc3Q6OnRl
c3RTZXRVcCgpOworICAgICAgICBnbEdlblRleHR1cmVzKDEsICZtVGV4dHVyZTJEKTsKKyAgICAg
ICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCBtVGV4dHVyZTJEKTsKKyAgICAgICAgRVhQ
RUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICAgICAgc2V0VXBQcm9ncmFtKCk7CisgICAgfQorCisg
ICAgdm9pZCB0ZXN0VGVhckRvd24oKSBvdmVycmlkZSB7IFRleHR1cmUyRFRlc3Q6OnRlc3RUZWFy
RG93bigpOyB9Cit9OworCiBURVNUX1AoVGV4dHVyZTJEVGVzdCwgTmVnYXRpdmVBUElTdWJJbWFn
ZSkKIHsKICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1UZXh0dXJlMkQpOwpAQCAt
MjE5MCw5ICsyMjA4LDYgQEAgVEVTVF9QKFRleHR1cmUyRFRlc3RFUzMsIFRleHR1cmVJbXBsUHJv
cG9nYXRlc0RpcnR5Qml0cykKIC8vIGh0dHBzOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L3dl
YmdsL3Nkay90ZXN0cy9jb25mb3JtYW5jZTIvcmVuZGVyaW5nL2ZyYW1lYnVmZmVyLXRleHR1cmUt
Y2hhbmdpbmctYmFzZS1sZXZlbC5odG1sCiBURVNUX1AoVGV4dHVyZTJEVGVzdEVTMywgRnJhbWVi
dWZmZXJUZXh0dXJlQ2hhbmdpbmdCYXNlbGV2ZWwpCiB7Ci0gICAgLy8gVE9ETyhnZW9mZmxhbmcp
OiBJbnZlc3RpZ2F0ZSBvbiBEM0QxMS4gaHR0cDovL2FuZ2xlYnVnLmNvbS8yMjkxCi0gICAgQU5H
TEVfU0tJUF9URVNUX0lGKElzRDNEMTEoKSk7Ci0KICAgICAvLyBUT0RPKGNub3J0aHJvcCk6IEZh
aWxpbmcgb24gVnVsa2FuL1dpbmRvd3MvQU1ELiBodHRwOi8vYW5nbGVidWcuY29tLzM5OTYKICAg
ICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNWdWxrYW4oKSAmJiBJc1dpbmRvd3MoKSAmJiBJc0FNRCgp
KTsKIApAQCAtNjA4Myw2ICs2MDk4LDExNCBAQCBURVNUX1AoUEJPQ29tcHJlc3NlZFRleHR1cmVU
ZXN0LCBQQk9Db21wcmVzc2VkU3ViSW1hZ2UpCiAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiB9
CiAKKy8vIFRlc3QgdXNpbmcgRVRDMV9SR0I4IHdpdGggc3ViaW1hZ2UgdXBkYXRlcworVEVTVF9Q
KEVUQzFDb21wcmVzc2VkVGV4dHVyZVRlc3QsIEVUQzFDb21wcmVzc2VkU3ViSW1hZ2UpCit7Cisg
ICAgLy8gRVRDIHRleHR1cmUgZm9ybWF0cyBhcmUgbm90IHN1cHBvcnRlZCBvbiBNYWMgT3BlbkdM
LiBodHRwOi8vYW5nbGVidWcuY29tLzM4NTMKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNPU1go
KSAmJiBJc0Rlc2t0b3BPcGVuR0woKSk7CisKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoZ2V0Q2xp
ZW50TWFqb3JWZXJzaW9uKCkgPCAzICYmCisgICAgICAgICAgICAgICAgICAgICAgICFJc0dMRXh0
ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3RleHR1cmVfc3RvcmFnZSIpKTsKKyAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfY29tcHJlc3NlZF9FVEMxX1JH
Qjhfc3ViX3RleHR1cmUiKSk7CisKKyAgICBjb25zdCBHTHVpbnQgd2lkdGggID0gNHU7CisgICAg
Y29uc3QgR0x1aW50IGhlaWdodCA9IDR1OworCisgICAgc2V0V2luZG93V2lkdGgod2lkdGgpOwor
ICAgIHNldFdpbmRvd0hlaWdodChoZWlnaHQpOworCisgICAgLy8gU2V0dXAgcHJpbWFyeSBUZXh0
dXJlCisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJ
TFRFUiwgR0xfTElORUFSKTsKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xf
VEVYVFVSRV9NSU5fRklMVEVSLCBHTF9MSU5FQVIpOworCisgICAgaWYgKGdldENsaWVudE1ham9y
VmVyc2lvbigpIDwgMykKKyAgICB7CisgICAgICAgIGdsVGV4U3RvcmFnZTJERVhUKEdMX1RFWFRV
UkVfMkQsIDEsIEdMX0VUQzFfUkdCOF9PRVMsIHdpZHRoLCBoZWlnaHQpOworICAgIH0KKyAgICBl
bHNlCisgICAgeworICAgICAgICBnbFRleFN0b3JhZ2UyRChHTF9URVhUVVJFXzJELCAxLCBHTF9F
VEMxX1JHQjhfT0VTLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICB9CisgICAgQVNTRVJUX0dMX05PX0VS
Uk9SKCk7CisKKyAgICAvLyBQb3B1bGF0ZSBhIHN1YmltYWdlIG9mIHRoZSB0ZXh0dXJlCisgICAg
Z2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCAwLCAwLCB3aWR0aCwg
aGVpZ2h0LCBHTF9FVEMxX1JHQjhfT0VTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
d2lkdGggKiBoZWlnaHQgLyAydSwga0NvbXByZXNzZWRJbWFnZUVUQzIpOworICAgIEFTU0VSVF9H
TF9OT19FUlJPUigpOworCisgICAgLy8gUmVuZGVyIGFuZCBlbnN1cmUgd2UgZ2V0IHJlZAorICAg
IGdsVXNlUHJvZ3JhbShtUHJvZ3JhbSk7CisgICAgZHJhd1F1YWQobVByb2dyYW0sICJwb3NpdGlv
biIsIDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgRVhQRUNUX1BJWEVM
X0NPTE9SX0VRKGdldFdpbmRvd1dpZHRoKCkgLyAyLCBnZXRXaW5kb3dIZWlnaHQoKSAvIDIsIEdM
Q29sb3I6OnJlZCk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cit9CisKKy8vIEZ1bGx5LWRl
ZmluZSBhIGNvbXByZXNzZWQgdGV4dHVyZSBhbmQgZHJhdzsgdGhlbiBkZWNyZWFzZSBNQVhfTEVW
RUwgYW5kIGRyYXc7IHRoZW4gaW5jcmVhc2UKKy8vIE1BWF9MRVZFTCBhbmQgZHJhdy4gIFRoaXMg
dXNlZCB0byBjYXVzZSBWdWxrYW4gdmFsaWRhdGlvbiBlcnJvcnMuCitURVNUX1AoRVRDMUNvbXBy
ZXNzZWRUZXh0dXJlVGVzdCwgRVRDMVNocmlua1RoZW5Hcm93TWF4TGV2ZWxzKQoreworICAgIC8v
IEVUQyB0ZXh0dXJlIGZvcm1hdHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gTWFjIE9wZW5HTC4gaHR0
cDovL2FuZ2xlYnVnLmNvbS8zODUzCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzT1NYKCkgJiYg
SXNEZXNrdG9wT3BlbkdMKCkpOworCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1h
am9yVmVyc2lvbigpIDwgMyk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9u
RW5hYmxlZCgiR0xfRVhUX2NvbXByZXNzZWRfRVRDMV9SR0I4X3N1Yl90ZXh0dXJlIikpOworCisg
ICAgY29uc3QgR0x1aW50IHdpZHRoICA9IDR1OworICAgIGNvbnN0IEdMdWludCBoZWlnaHQgPSA0
dTsKKworICAgIHNldFdpbmRvd1dpZHRoKHdpZHRoKTsKKyAgICBzZXRXaW5kb3dIZWlnaHQoaGVp
Z2h0KTsKKworICAgIC8vIFNldHVwIHByaW1hcnkgVGV4dHVyZQorICAgIGdsVGV4UGFyYW1ldGVy
aShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7CisgICAg
Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwgR0xf
TElORUFSKTsKKworICAgIGlmIChnZXRDbGllbnRNYWpvclZlcnNpb24oKSA8IDMpCisgICAgewor
ICAgICAgICBnbFRleFN0b3JhZ2UyREVYVChHTF9URVhUVVJFXzJELCAzLCBHTF9FVEMxX1JHQjhf
T0VTLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZ2xU
ZXhTdG9yYWdlMkQoR0xfVEVYVFVSRV8yRCwgMywgR0xfRVRDMV9SR0I4X09FUywgd2lkdGgsIGhl
aWdodCk7CisgICAgfQorICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gUG9wdWxh
dGUgYSBzdWJpbWFnZSBvZiB0aGUgdGV4dHVyZQorICAgIGdsQ29tcHJlc3NlZFRleFN1YkltYWdl
MkQoR0xfVEVYVFVSRV8yRCwgMCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgR0xfRVRDMV9SR0I4X09F
UywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICogaGVpZ2h0IC8gMnUsIGtD
b21wcmVzc2VkSW1hZ2VFVEMyKTsKKyAgICBnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMX1RF
WFRVUkVfMkQsIDEsIDAsIDAsIHdpZHRoIC8gMiwgaGVpZ2h0IC8gMiwgR0xfRVRDMV9SR0I4X09F
UywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICogaGVpZ2h0IC8gMnUsIGtD
b21wcmVzc2VkSW1hZ2VFVEMyKTsKKyAgICBnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMX1RF
WFRVUkVfMkQsIDIsIDAsIDAsIHdpZHRoIC8gNCwgaGVpZ2h0IC8gNCwgR0xfRVRDMV9SR0I4X09F
UywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICogaGVpZ2h0IC8gMnUsIGtD
b21wcmVzc2VkSW1hZ2VFVEMyKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIC8v
IFNldCBNQVhfTEVWRUwgdG8gMiAodGhlIGhpZ2hlc3QgbGV2ZWwpCisgICAgZ2xUZXhQYXJhbWV0
ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFYX0xFVkVMLCAyKTsKKworICAgIC8vIFJl
bmRlciBhbmQgZW5zdXJlIHdlIGdldCByZWQKKyAgICBnbFVzZVByb2dyYW0obVByb2dyYW0pOwor
ICAgIGRyYXdRdWFkKG1Qcm9ncmFtLCAicG9zaXRpb24iLCAwLjVmKTsKKyAgICBBU1NFUlRfR0xf
Tk9fRVJST1IoKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoZ2V0V2luZG93V2lkdGgoKSAv
IDIsIGdldFdpbmRvd0hlaWdodCgpIC8gMiwgR0xDb2xvcjo6cmVkKTsKKyAgICBBU1NFUlRfR0xf
Tk9fRVJST1IoKTsKKworICAgIC8vIERlY3JlYXNlIE1BWF9MRVZFTCB0byAwLCByZW5kZXIsIGFu
ZCBlbnN1cmUgd2Ugc3RpbGwgZ2V0IHJlZAorICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJF
XzJELCBHTF9URVhUVVJFX01BWF9MRVZFTCwgMCk7CisgICAgZHJhd1F1YWQobVByb2dyYW0sICJw
b3NpdGlvbiIsIDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9Q
SVhFTF9DT0xPUl9FUShnZXRXaW5kb3dXaWR0aCgpIC8gMiwgZ2V0V2luZG93SGVpZ2h0KCkgLyAy
LCBHTENvbG9yOjpyZWQpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gSW5j
cmVhc2UgTUFYX0xFVkVMIGJhY2sgdG8gMiwgcmVuZGVyLCBhbmQgZW5zdXJlIHdlIHN0aWxsIGdl
dCByZWQKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NQVhf
TEVWRUwsIDIpOworICAgIGRyYXdRdWFkKG1Qcm9ncmFtLCAicG9zaXRpb24iLCAwLjVmKTsKKyAg
ICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoZ2V0V2lu
ZG93V2lkdGgoKSAvIDIsIGdldFdpbmRvd0hlaWdodCgpIC8gMiwgR0xDb2xvcjo6cmVkKTsKKyAg
ICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKK30KKwogLy8gVXNlIHRoaXMgdG8gc2VsZWN0IHdoaWNo
IGNvbmZpZ3VyYXRpb25zIChlLmcuIHdoaWNoIHJlbmRlcmVyLCB3aGljaCBHTEVTIG1ham9yIHZl
cnNpb24pIHRoZXNlCiAvLyB0ZXN0cyBzaG91bGQgYmUgcnVuIGFnYWluc3QuCiBBTkdMRV9JTlNU
QU5USUFURV9URVNUX0VTMihUZXh0dXJlMkRUZXN0KTsKQEAgLTYxMjIsNSArNjI0NSw2IEBAIEFO
R0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMzKFRleHR1cmUyREFycmF5SW50ZWdlclRlc3RFUzMpOwog
QU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzMoVGV4dHVyZTNESW50ZWdlclRlc3RFUzMpOwogQU5H
TEVfSU5TVEFOVElBVEVfVEVTVF9FUzJfQU5EX0VTMyhUZXh0dXJlMkREZXB0aFRlc3QpOwogQU5H
TEVfSU5TVEFOVElBVEVfVEVTVF9FUzJfQU5EX0VTMyhQQk9Db21wcmVzc2VkVGV4dHVyZVRlc3Qp
OworQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzJfQU5EX0VTMyhFVEMxQ29tcHJlc3NlZFRleHR1
cmVUZXN0KTsKIAogfSAgLy8gYW5vbnltb3VzIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1RyYW5zZm9ybUZlZWRiYWNrVGVz
dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVHJhbnNm
b3JtRmVlZGJhY2tUZXN0LmNwcAppbmRleCAxYTFkNTRmOGRkNzkwMmM3MDBmMjRkMWRkODE4MDJi
YmIxZmFjODI2Li42ZDNjNjdiYjUzMzlkYmVkMDNhM2U4NmY0NjA0M2NkOGQzMDVhN2Y2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVHJhbnNm
b3JtRmVlZGJhY2tUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xfdGVzdHMvVHJhbnNmb3JtRmVlZGJhY2tUZXN0LmNwcApAQCAtMTk5LDYgKzE5OSw5IEBA
IFRFU1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QsIEJ1ZmZlclJlYmluZGluZykKIC8vIGFmdGVy
d2FyZC4KIFRFU1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QsIFJlY29yZEFuZERyYXcpCiB7Cisg
ICAgLy8gVE9ETyhhbmdsZWJ1Zy5jb20vNDUzMykgVGhpcyBmYWlscyBhZnRlciB0aGUgdXBncmFk
ZSB0byB0aGUgMjYuMjAuMTAwLjc4NzAgZHJpdmVyLgorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJ
c1dpbmRvd3MoKSAmJiBJc0ludGVsKCkgJiYgSXNWdWxrYW4oKSk7CisKICAgICBnbENsZWFyQ29s
b3IoMC4wZiwgMC4wZiwgMC4wZiwgMC4wZik7CiAgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJf
QklUKTsKIApAQCAtMzkxLDYgKzM5NCw5IEBAIFRFU1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3Qs
IEJ1ZmZlckJpbmRpbmcpCiAvLyBUZXN0IHRoYXQgd2UgY2FuIGNhcHR1cmUgdmFyeWluZ3Mgb25s
eSB1c2VkIGluIHRoZSB2ZXJ0ZXggc2hhZGVyLgogVEVTVF9QKFRyYW5zZm9ybUZlZWRiYWNrVGVz
dCwgVmVydGV4T25seSkKIHsKKyAgICAvLyBUT0RPKGFuZ2xlYnVnLmNvbS80NTMzKSBUaGlzIGZh
aWxzIGFmdGVyIHRoZSB1cGdyYWRlIHRvIHRoZSAyNi4yMC4xMDAuNzg3MCBkcml2ZXIuCisgICAg
QU5HTEVfU0tJUF9URVNUX0lGKElzV2luZG93cygpICYmIElzSW50ZWwoKSAmJiBJc1Z1bGthbigp
KTsKKwogICAgIGNvbnN0ZXhwciBjaGFyIGtWU1tdID0KICAgICAgICAgIiN2ZXJzaW9uIDMwMCBl
c1xuIgogICAgICAgICAiaW4gdmVjMiBwb3NpdGlvbjtcbiIKQEAgLTcyMCw2ICs3MjYsOSBAQCB2
b2lkIG1haW4odm9pZCkKIC8vIFRlc3QgdGhhdCB3aGVuIHR3byB2ZWMycyBhcmUgcGFja2VkIGlu
dG8gdGhlIHNhbWUgcmVnaXN0ZXIsIHdlIGNhbiBzdGlsbCBjYXB0dXJlIGJvdGggb2YgdGhlbS4K
IFRFU1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QsIFBhY2tpbmdCdWcpCiB7CisgICAgLy8gVE9E
TyhhbmdsZWJ1Zy5jb20vNDUzMykgVGhpcyBmYWlscyBhZnRlciB0aGUgdXBncmFkZSB0byB0aGUg
MjYuMjAuMTAwLjc4NzAgZHJpdmVyLgorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJc1dpbmRvd3Mo
KSAmJiBJc0ludGVsKCkgJiYgSXNWdWxrYW4oKSk7CisKICAgICAvLyBUT0RPKGptYWRpbGwpOiBX
aXRoIHBvaW50cyBhbmQgcmFzdGVyaXplciBkaXNjYXJkPwogICAgIGNvbnN0ZXhwciBjaGFyIGtW
U1tdID0KICAgICAgICAgIiN2ZXJzaW9uIDMwMCBlc1xuIgpAQCAtODQ5LDYgKzg1OCw5IEBAIFRF
U1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QsIE9wdGltaXplZFZhcnlpbmdzKQogLy8gVGVzdCBh
biBlZGdlIGNhc2Ugd2hlcmUgdHdvIHZhcnlpbmdzIGFyZSB1bnJlZmVyZW5jZWQgaW4gdGhlIGZy
YWcgc2hhZGVyLgogVEVTVF9QKFRyYW5zZm9ybUZlZWRiYWNrVGVzdCwgVHdvVW5yZWZlcmVuY2Vk
SW5GcmFnU2hhZGVyKQogeworICAgIC8vIFRPRE8oYW5nbGVidWcuY29tLzQ1MzMpIFRoaXMgZmFp
bHMgYWZ0ZXIgdGhlIHVwZ3JhZGUgdG8gdGhlIDI2LjIwLjEwMC43ODcwIGRyaXZlci4KKyAgICBB
TkdMRV9TS0lQX1RFU1RfSUYoSXNXaW5kb3dzKCkgJiYgSXNJbnRlbCgpICYmIElzVnVsa2FuKCkp
OworCiAgICAgLy8gVE9ETyhqbWFkaWxsKTogV2l0aCBwb2ludHMgYW5kIHJhc3Rlcml6ZXIgZGlz
Y2FyZD8KICAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9CiAgICAgICAgICIjdmVyc2lvbiAzMDAg
ZXNcbiIKQEAgLTkxOCw2ICs5MzAsOSBAQCBURVNUX1AoVHJhbnNmb3JtRmVlZGJhY2tUZXN0LCBP
ZmZzZXRSZXNldE9uQmVnaW5UcmFuc2Zvcm1GZWVkYmFjaykKIAogICAgIEFOR0xFX1NLSVBfVEVT
VF9JRigoSXNOZXh1czVYKCkgfHwgSXNOZXh1czZQKCkpICYmIElzT3BlbkdMRVMoKSk7CiAKKyAg
ICAvLyBUT0RPKGFuZ2xlYnVnLmNvbS80NTMzKSBUaGlzIGZhaWxzIGFmdGVyIHRoZSB1cGdyYWRl
IHRvIHRoZSAyNi4yMC4xMDAuNzg3MCBkcml2ZXIuCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElz
V2luZG93cygpICYmIElzSW50ZWwoKSAmJiBJc1Z1bGthbigpKTsKKwogICAgIGNvbnN0ZXhwciBj
aGFyIGtWU1tdID0KICAgICAgICAgIiN2ZXJzaW9uIDMwMCBlc1xuIgogICAgICAgICAiaW4gdmVj
NCBwb3NpdGlvbjtcbiIKQEAgLTE0MTUsNiArMTQzMCw5IEBAIFRFU1RfUChUcmFuc2Zvcm1GZWVk
YmFja1Rlc3QsIE5vbkV4aXN0ZW50VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nV2l0aEdMUHJlZml4
KQogLy8gR0xTTCBFUy4KIFRFU1RfUChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QsIFZhcnlpbmdSZXNl
cnZlZE9wZW5HTE5hbWUpCiB7CisgICAgLy8gVE9ETyhhbmdsZWJ1Zy5jb20vNDUzMykgVGhpcyBm
YWlscyBhZnRlciB0aGUgdXBncmFkZSB0byB0aGUgMjYuMjAuMTAwLjc4NzAgZHJpdmVyLgorICAg
IEFOR0xFX1NLSVBfVEVTVF9JRihJc1dpbmRvd3MoKSAmJiBJc0ludGVsKCkgJiYgSXNWdWxrYW4o
KSk7CisKICAgICBjb25zdGV4cHIgY2hhciBrVlNbXSA9CiAgICAgICAgICIjdmVyc2lvbiAzMDAg
ZXNcbiIKICAgICAgICAgImluIHZlYzMgcG9zaXRpb247XG4iCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVW5pZm9ybUJ1ZmZlclRlc3QuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1VuaWZvcm1CdWZm
ZXJUZXN0LmNwcAppbmRleCA2ZGU3NTZiOTIyNTY2YTM0ODU0YmI5MThkNzcyMjk2MWJlMTdjNzM4
Li42YmEzNWM4ZjdhN2RjZjM4ZGViODNhMWQ0ZDVkM2VlNDVlMjA3ZTE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVW5pZm9ybUJ1ZmZlclRl
c3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9V
bmlmb3JtQnVmZmVyVGVzdC5jcHAKQEAgLTE3NDQsNiArMTc0NCwyNTIgQEAgVEVTVF9QKFVuaWZv
cm1CdWZmZXJUZXN0LCBVbmlmb3JtQmxvY2tXaXRoT25lTGFyZ2VTdHJ1Y3RBcnJheSkKICAgICB9
CiB9CiAKKy8vIFRlc3QgaW5zdGFuY2UgdW5pZm9ybSBidWZmZXIgd2l0aCBsYXJnZSBzdHJ1Y3Qg
YXJyYXkgbWVtYmVyLCB3aGVyZSB0aGUgc3RydWN0CisvLyBpdHNlbGYgY29udGFpbnMgYSBtYXQ0
IG1lbWJlci4KK1RFU1RfUChVbmlmb3JtQnVmZmVyVGVzdCwgSW5zdGFuY2VVbmlmb3JtQmxvY2tX
aXRoT25lTGFyZ2VTdHJ1Y3RBcnJheSkKK3sKKyAgICBHTGludDY0IG1heFVuaWZvcm1CbG9ja1Np
emU7CisgICAgZ2xHZXRJbnRlZ2VyNjR2KEdMX01BWF9VTklGT1JNX0JMT0NLX1NJWkUsICZtYXhV
bmlmb3JtQmxvY2tTaXplKTsKKyAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3RyZWFtOworICAgIEdM
dWludCBhcnJheVNpemU7CisgICAgLy8gRW5zdXJlIHRoYXQgc2hhZGVyIHVuaWZvcm0gYmxvY2sg
ZG8gbm90IGV4Y2VlZCBNQVhfVU5JRk9STV9CTE9DS19TSVpFIGxpbWl0LgorICAgIGlmIChtYXhV
bmlmb3JtQmxvY2tTaXplID49IDE2Mzg0ICYmIG1heFVuaWZvcm1CbG9ja1NpemUgPCAzMjc2OCkK
KyAgICB7CisgICAgICAgIGFycmF5U2l6ZSA9IDEyODsKKyAgICAgICAgc3RyZWFtIDw8ICJjb25z
dCB1aW50IGFycmF5U2l6ZSA9IDEyOHU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWlu
dCBkaXZpc29yMSA9IDEyOHU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBkaXZp
c29yMiA9IDMydTtcbiI7CisgICAgfQorICAgIGVsc2UgaWYgKG1heFVuaWZvcm1CbG9ja1NpemUg
Pj0gMzI3NjggJiYgbWF4VW5pZm9ybUJsb2NrU2l6ZSA8IDY1NTM2KQorICAgIHsKKyAgICAgICAg
YXJyYXlTaXplID0gMjU2OworICAgICAgICBzdHJlYW0gPDwgImNvbnN0IHVpbnQgYXJyYXlTaXpl
ID0gMjU2dTtcbiIKKyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IxID0gNjR1
O1xuIgorICAgICAgICAgICAgICAgICAgImNvbnN0IHVpbnQgZGl2aXNvcjIgPSAxNnU7XG4iOwor
ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBhcnJheVNpemUgPSA1MTI7CisgICAgICAg
IHN0cmVhbSA8PCAiY29uc3QgdWludCBhcnJheVNpemUgPSA1MTJ1O1xuIgorICAgICAgICAgICAg
ICAgICAgImNvbnN0IHVpbnQgZGl2aXNvcjEgPSAzMnU7XG4iCisgICAgICAgICAgICAgICAgICAi
Y29uc3QgdWludCBkaXZpc29yMiA9IDh1O1xuIjsKKyAgICB9CisKKyAgICBjb25zdCBzdGQ6OnN0
cmluZyAma0ZTID0KKyAgICAgICAgIiN2ZXJzaW9uIDMwMCBlc1xuIgorICAgICAgICAicHJlY2lz
aW9uIGhpZ2hwIGZsb2F0O1xuIiArCisgICAgICAgIHN0cmVhbS5zdHIoKSArCisgICAgICAgICJv
dXQgdmVjNCBteV9GcmFnQ29sb3I7XG4iCisgICAgICAgICJzdHJ1Y3QgUyB7IG1hdDQgY29sb3I7
fTtcbiIKKyAgICAgICAgImxheW91dChzdGQxNDApIHVuaWZvcm0gYnVmZmVyIHsgUyBzW2FycmF5
U2l6ZV07IH0gaW5zdGFuY2U7XG4iCisgICAgICAgICJ2b2lkIG1haW4oKVxuIgorICAgICAgICAi
e1xuIgorICAgICAgICAiICAgIHV2ZWMyIGNvb3JkID0gdXZlYzIoZmxvb3IoZ2xfRnJhZ0Nvb3Jk
Lnh5KSk7XG4iCisgICAgICAgICIgICAgdWludCBpbmRleCA9IGNvb3JkLnggKyAgY29vcmQueSAq
IDEyOHU7XG4iCisgICAgICAgICIgICAgdWludCBpbmRleF94ID0gaW5kZXggLyBkaXZpc29yMTtc
biIKKyAgICAgICAgIiAgICB1aW50IGluZGV4X3kgPSAoaW5kZXggJSBkaXZpc29yMSkgLyBkaXZp
c29yMjtcbiIKKyAgICAgICAgIiAgICBteV9GcmFnQ29sb3IgPSBpbnN0YW5jZS5zW2luZGV4X3hd
LmNvbG9yW2luZGV4X3ldO1xuIgorICAgICAgICAifVxuIjsKKworICAgIEdMaW50IGJsb2NrU2l6
ZTsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wzX3NoYWRlcnM6OnZzOjpTaW1w
bGUoKSwga0ZTLmNfc3RyKCkpOworICAgIEdMaW50IHVuaWZvcm1CdWZmZXJJbmRleCA9IGdsR2V0
VW5pZm9ybUJsb2NrSW5kZXgocHJvZ3JhbSwgImJ1ZmZlciIpOworICAgIGdsR2V0QWN0aXZlVW5p
Zm9ybUJsb2NraXYocHJvZ3JhbSwgdW5pZm9ybUJ1ZmZlckluZGV4LCBHTF9VTklGT1JNX0JMT0NL
X0RBVEFfU0laRSwgJmJsb2NrU2l6ZSk7CisKKyAgICBnbEJpbmRCdWZmZXIoR0xfVU5JRk9STV9C
VUZGRVIsIG1Vbmlmb3JtQnVmZmVyKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xfVU5JRk9STV9CVUZG
RVIsIGJsb2NrU2l6ZSwgbnVsbHB0ciwgR0xfU1RBVElDX0RSQVcpOworCisgICAgZ2xCaW5kQnVm
ZmVyQmFzZShHTF9VTklGT1JNX0JVRkZFUiwgMCwgbVVuaWZvcm1CdWZmZXIpOworICAgIGdsVW5p
Zm9ybUJsb2NrQmluZGluZyhwcm9ncmFtLCB1bmlmb3JtQnVmZmVySW5kZXgsIDApOworCisgICAg
Y29uc3QgR0x1aW50IGtWZWN0b3JQZXJNYXQgICA9IDQ7CisgICAgY29uc3QgR0x1aW50IGtGbG9h
dFBlclZlY3RvciA9IDQ7CisgICAgR0x1aW50IGtWZWN0b3JDb3VudCAgICAgICAgICA9IGFycmF5
U2l6ZSAqIGtWZWN0b3JQZXJNYXQ7CisgICAgR0x1aW50IGtGbG9hdENvdW50ICAgICAgICAgICA9
IGtWZWN0b3JDb3VudCAqIGtGbG9hdFBlclZlY3RvcjsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0
PiBmbG9hdERhdGEoa0Zsb2F0Q291bnQsIDAuMGYpOworICAgIGNvbnN0IEdMdWludCBrUG9zaXRp
b25Db3VudCAgICAgICAgICAgICAgICAgICAgPSAxMjsKKyAgICB1bnNpZ25lZCBpbnQgcG9zaXRp
b25Ub1Rlc3Rba1Bvc2l0aW9uQ291bnRdWzJdID0ge3swLCAwfSwgIHs3NSwgMH0sICB7OTgsIDEz
fSwgIHszMSwgMzF9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgezAsIDMyfSwgezY1LCAzM30sIHsyMywgNTR9LCAgezYzLCA2M30sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MCwgNjR9
LCB7NDMsIDg2fSwgezUzLCAxMDB9LCB7MTI3LCAxMjd9fTsKKworICAgIGZvciAoR0x1aW50IGkg
PSAwOyBpIDwga1ZlY3RvckNvdW50OyBpKyspCisgICAgeworICAgICAgICBmbG9hdERhdGFbNCAq
IGkgKyAyXSA9IDEuMGY7CisgICAgICAgIGZsb2F0RGF0YVs0ICogaSArIDNdID0gMS4wZjsKKyAg
ICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCAwLCBrRmxvYXRDb3Vu
dCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXREYXRhLmRhdGEoKSk7CisgICAgZHJhd1F1YWQocHJv
Z3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAg
Zm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9zaXRpb25Db3VudDsgaSsrKQorICAgIHsKKyAgICAg
ICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRv
VGVzdFtpXVsxXSwgR0xDb2xvcjo6Ymx1ZSk7CisgICAgfQorCisgICAgZm9yIChHTHVpbnQgaSA9
IDA7IGkgPCBrVmVjdG9yQ291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGZsb2F0RGF0YVs0ICog
aSArIDFdID0gMS4wZjsKKyAgICAgICAgZmxvYXREYXRhWzQgKiBpICsgMl0gPSAwLjBmOworICAg
IH0KKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xfVU5JRk9STV9CVUZGRVIsIDAsIGtGbG9hdENvdW50
ICogc2l6ZW9mKEdMZmxvYXQpLCBmbG9hdERhdGEuZGF0YSgpKTsKKyAgICBkcmF3UXVhZChwcm9n
cmFtLmdldCgpLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBm
b3IgKEdMdWludCBpID0gMDsgaSA8IGtQb3NpdGlvbkNvdW50OyBpKyspCisgICAgeworICAgICAg
ICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rlc3RbaV1bMF0sIHBvc2l0aW9uVG9U
ZXN0W2ldWzFdLCBHTENvbG9yOjpncmVlbik7CisgICAgfQorCisgICAgZm9yIChHTHVpbnQgaSA9
IGtWZWN0b3JDb3VudCAvIDQ7IGkgPCBrVmVjdG9yQ291bnQgLyAyOyBpKyspCisgICAgeworICAg
ICAgICBmbG9hdERhdGFbNCAqIGldICAgICA9IDEuMGY7CisgICAgICAgIGZsb2F0RGF0YVs0ICog
aSArIDFdID0gMC4wZjsKKyAgICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVG
RkVSLCAwLCBrRmxvYXRDb3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXREYXRhLmRhdGEoKSk7
CisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRy
aWIoKSwgMC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9zaXRpb25Db3VudDsg
aSsrKQorICAgIHsKKyAgICAgICAgaWYgKHBvc2l0aW9uVG9UZXN0W2ldWzFdID4gMzEgJiYgcG9z
aXRpb25Ub1Rlc3RbaV1bMV0gPCA2NCkKKyAgICAgICAgeworICAgICAgICAgICAgRVhQRUNUX1BJ
WEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRvVGVzdFtpXVsxXSwg
R0xDb2xvcjo6cmVkKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAg
ICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShwb3NpdGlvblRvVGVzdFtpXVswXSwgcG9zaXRp
b25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OmdyZWVuKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
Ly8gVGVzdCBpbnN0YW5jZSBhcnJheSB1bmlmb3JtIGJ1ZmZlciB3aXRoIGxhcmdlIHN0cnVjdCBh
cnJheSBtZW1iZXIsIHdoZXJlIHRoZQorLy8gc3RydWN0IGl0c2VsZiBjb250YWlucyBhIG1hdDQg
bWVtYmVyLgorVEVTVF9QKFVuaWZvcm1CdWZmZXJUZXN0LCBJbnN0YW5jZUFycmF5VW5pZm9ybUJs
b2NrV2l0aE9uZUxhcmdlU3RydWN0QXJyYXkpCit7CisgICAgR0xpbnQ2NCBtYXhVbmlmb3JtQmxv
Y2tTaXplOworICAgIGdsR2V0SW50ZWdlcjY0dihHTF9NQVhfVU5JRk9STV9CTE9DS19TSVpFLCAm
bWF4VW5pZm9ybUJsb2NrU2l6ZSk7CisgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHN0cmVhbTsKKyAg
ICBHTHVpbnQgYXJyYXlTaXplOworICAgIC8vIEVuc3VyZSB0aGF0IHNoYWRlciB1bmlmb3JtIGJs
b2NrIGRvIG5vdCBleGNlZWQgTUFYX1VOSUZPUk1fQkxPQ0tfU0laRSBsaW1pdC4KKyAgICBpZiAo
bWF4VW5pZm9ybUJsb2NrU2l6ZSA+PSAxNjM4NCAmJiBtYXhVbmlmb3JtQmxvY2tTaXplIDwgMzI3
NjgpCisgICAgeworICAgICAgICBhcnJheVNpemUgPSAxMjg7CisgICAgICAgIHN0cmVhbSA8PCAi
Y29uc3QgdWludCBhcnJheVNpemUgPSAxMjh1O1xuIgorICAgICAgICAgICAgICAgICAgImNvbnN0
IHVpbnQgZGl2aXNvcjEgPSAxMjh1O1xuIgorICAgICAgICAgICAgICAgICAgImNvbnN0IHVpbnQg
ZGl2aXNvcjIgPSAzMnU7XG4iOworICAgIH0KKyAgICBlbHNlIGlmIChtYXhVbmlmb3JtQmxvY2tT
aXplID49IDMyNzY4ICYmIG1heFVuaWZvcm1CbG9ja1NpemUgPCA2NTUzNikKKyAgICB7CisgICAg
ICAgIGFycmF5U2l6ZSA9IDI1NjsKKyAgICAgICAgc3RyZWFtIDw8ICJjb25zdCB1aW50IGFycmF5
U2l6ZSA9IDI1NnU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBkaXZpc29yMSA9
IDY0dTtcbiIKKyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IyID0gMTZ1O1xu
IjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYXJyYXlTaXplID0gNTEyOworICAg
ICAgICBzdHJlYW0gPDwgImNvbnN0IHVpbnQgYXJyYXlTaXplID0gNTEydTtcbiIKKyAgICAgICAg
ICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IxID0gMzJ1O1xuIgorICAgICAgICAgICAgICAg
ICAgImNvbnN0IHVpbnQgZGl2aXNvcjIgPSA4dTtcbiI7CisgICAgfQorCisgICAgY29uc3Qgc3Rk
OjpzdHJpbmcgJmtGUyA9CisgICAgICAgICIjdmVyc2lvbiAzMDAgZXNcbiIKKyAgICAgICAgInBy
ZWNpc2lvbiBoaWdocCBmbG9hdDtcbiIgKworICAgICAgICBzdHJlYW0uc3RyKCkgKworICAgICAg
ICAib3V0IHZlYzQgbXlfRnJhZ0NvbG9yO1xuIgorICAgICAgICAic3RydWN0IFMgeyBtYXQ0IGNv
bG9yO307XG4iCisgICAgICAgICJsYXlvdXQoc3RkMTQwKSB1bmlmb3JtIGJ1ZmZlciB7IFMgc1th
cnJheVNpemVdOyB9IGluc3RhbmNlWzJdO1xuIgorICAgICAgICAidm9pZCBtYWluKClcbiIKKyAg
ICAgICAgIntcbiIKKyAgICAgICAgIiAgICB1dmVjMiBjb29yZCA9IHV2ZWMyKGZsb29yKGdsX0Zy
YWdDb29yZC54eSkpO1xuIgorICAgICAgICAiICAgIHVpbnQgaW5kZXggPSBjb29yZC54ICsgIGNv
b3JkLnkgKiAxMjh1O1xuIgorICAgICAgICAiICAgIHVpbnQgaW5kZXhfeCA9IGluZGV4IC8gZGl2
aXNvcjE7XG4iCisgICAgICAgICIgICAgdWludCBpbmRleF95ID0gKGluZGV4ICUgZGl2aXNvcjEp
IC8gZGl2aXNvcjI7XG4iCisgICAgICAgICIgICAgbXlfRnJhZ0NvbG9yID0gaW5zdGFuY2VbMF0u
c1tpbmRleF94XS5jb2xvcltpbmRleF95XSArICIKKyAgICAgICAgImluc3RhbmNlWzFdLnNbaW5k
ZXhfeF0uY29sb3JbaW5kZXhfeV07XG4iCisgICAgICAgICJ9XG4iOworCisgICAgR0xpbnQgYmxv
Y2tTaXplMCwgYmxvY2tTaXplMTsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wz
X3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwga0ZTLmNfc3RyKCkpOworICAgIEdMaW50IHVuaWZvcm1C
dWZmZXJJbmRleDAgPSBnbEdldFVuaWZvcm1CbG9ja0luZGV4KHByb2dyYW0sICJidWZmZXJbMF0i
KTsKKyAgICBHTGludCB1bmlmb3JtQnVmZmVySW5kZXgxID0gZ2xHZXRVbmlmb3JtQmxvY2tJbmRl
eChwcm9ncmFtLCAiYnVmZmVyWzFdIik7CisgICAgZ2xHZXRBY3RpdmVVbmlmb3JtQmxvY2tpdihw
cm9ncmFtLCB1bmlmb3JtQnVmZmVySW5kZXgwLCBHTF9VTklGT1JNX0JMT0NLX0RBVEFfU0laRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZibG9ja1NpemUwKTsKKyAgICBnbEdldEFj
dGl2ZVVuaWZvcm1CbG9ja2l2KHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJbmRleDEsIEdMX1VOSUZP
Uk1fQkxPQ0tfREFUQV9TSVpFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJsb2Nr
U2l6ZTEpOworCisgICAgZ2xCaW5kQnVmZmVyKEdMX1VOSUZPUk1fQlVGRkVSLCBtVW5pZm9ybUJ1
ZmZlcik7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCBibG9ja1NpemUwLCBu
dWxscHRyLCBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICBnbEJpbmRCdWZmZXJCYXNlKEdMX1VOSUZP
Uk1fQlVGRkVSLCAwLCBtVW5pZm9ybUJ1ZmZlcik7CisgICAgZ2xVbmlmb3JtQmxvY2tCaW5kaW5n
KHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJbmRleDAsIDApOworCisgICAgY29uc3QgR0x1aW50IGtW
ZWN0b3JQZXJNYXQgICA9IDQ7CisgICAgY29uc3QgR0x1aW50IGtGbG9hdFBlclZlY3RvciA9IDQ7
CisgICAgR0x1aW50IGtWZWN0b3JDb3VudCAgICAgICAgICA9IGFycmF5U2l6ZSAqIGtWZWN0b3JQ
ZXJNYXQ7CisgICAgR0x1aW50IGtGbG9hdENvdW50ICAgICAgICAgICA9IGtWZWN0b3JDb3VudCAq
IGtGbG9hdFBlclZlY3RvcjsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0PiBmbG9hdERhdGEwKGtG
bG9hdENvdW50LCAwLjBmKTsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0PiBmbG9hdERhdGExKGtG
bG9hdENvdW50LCAwLjBmKTsKKyAgICBjb25zdCBHTHVpbnQga1Bvc2l0aW9uQ291bnQgICAgICAg
ICAgICAgICAgICAgID0gMTI7CisgICAgdW5zaWduZWQgaW50IHBvc2l0aW9uVG9UZXN0W2tQb3Np
dGlvbkNvdW50XVsyXSA9IHt7MCwgMH0sICB7NzUsIDB9LCAgezk4LCAxM30sICB7MzEsIDMxfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsw
LCAzMn0sIHs2NSwgMzN9LCB7MjMsIDU0fSwgIHs2MywgNjN9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezAsIDY0fSwgezQzLCA4Nn0sIHs1
MywgMTAwfSwgezEyNywgMTI3fX07CisKKyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8IGtWZWN0
b3JDb3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgZmxvYXREYXRhMFs0ICogaSArIDJdID0gMS4w
ZjsKKyAgICAgICAgZmxvYXREYXRhMFs0ICogaSArIDNdID0gMS4wZjsKKyAgICB9CisgICAgZ2xC
dWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCAwLCBrRmxvYXRDb3VudCAqIHNpemVvZihH
TGZsb2F0KSwgZmxvYXREYXRhMC5kYXRhKCkpOworCisgICAgR0xCdWZmZXIgdW5pZm9ybUJ1ZmZl
cjE7CisgICAgZ2xCaW5kQnVmZmVyKEdMX1VOSUZPUk1fQlVGRkVSLCB1bmlmb3JtQnVmZmVyMSk7
CisgICAgZ2xCdWZmZXJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCBibG9ja1NpemUxLCBudWxscHRy
LCBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICBnbEJpbmRCdWZmZXJCYXNlKEdMX1VOSUZPUk1fQlVG
RkVSLCAxLCB1bmlmb3JtQnVmZmVyMSk7CisgICAgZ2xVbmlmb3JtQmxvY2tCaW5kaW5nKHByb2dy
YW0sIHVuaWZvcm1CdWZmZXJJbmRleDAsIDEpOworCisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkg
PCBrVmVjdG9yQ291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGZsb2F0RGF0YTFbNCAqIGkgKyAx
XSA9IDEuMGY7CisgICAgfQorICAgIGdsQnVmZmVyU3ViRGF0YShHTF9VTklGT1JNX0JVRkZFUiwg
MCwga0Zsb2F0Q291bnQgKiBzaXplb2YoR0xmbG9hdCksIGZsb2F0RGF0YTEuZGF0YSgpKTsKKwor
ICAgIGRyYXdRdWFkKHByb2dyYW0uZ2V0KCksIGVzc2wzX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmli
KCksIDAuNWYpOworICAgIGZvciAoR0x1aW50IGkgPSAwOyBpIDwga1Bvc2l0aW9uQ291bnQ7IGkr
KykKKyAgICB7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShwb3NpdGlvblRvVGVzdFtp
XVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OmN5YW4pOworICAgIH0KKworICAg
IGdsQmluZEJ1ZmZlcihHTF9VTklGT1JNX0JVRkZFUiwgbVVuaWZvcm1CdWZmZXIpOworICAgIGZv
ciAoR0x1aW50IGkgPSAwOyBpIDwga1ZlY3RvckNvdW50OyBpKyspCisgICAgeworICAgICAgICBm
bG9hdERhdGEwWzQgKiBpXSAgICAgPSAxLjBmOworICAgICAgICBmbG9hdERhdGEwWzQgKiBpICsg
Ml0gPSAwLjBmOworICAgIH0KKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xfVU5JRk9STV9CVUZGRVIs
IDAsIGtGbG9hdENvdW50ICogc2l6ZW9mKEdMZmxvYXQpLCBmbG9hdERhdGEwLmRhdGEoKSk7Cisg
ICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIo
KSwgMC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9zaXRpb25Db3VudDsgaSsr
KQorICAgIHsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ld
WzBdLCBwb3NpdGlvblRvVGVzdFtpXVsxXSwgR0xDb2xvcjo6eWVsbG93KTsKKyAgICB9CisKKyAg
ICBnbEJpbmRCdWZmZXIoR0xfVU5JRk9STV9CVUZGRVIsIHVuaWZvcm1CdWZmZXIxKTsKKyAgICBm
b3IgKEdMdWludCBpID0ga1ZlY3RvckNvdW50IC8gNDsgaSA8IGtWZWN0b3JDb3VudCAvIDI7IGkr
KykKKyAgICB7CisgICAgICAgIGZsb2F0RGF0YTFbNCAqIGkgKyAyXSA9IDEuMGY7CisgICAgICAg
IGZsb2F0RGF0YTFbNCAqIGkgKyAxXSA9IDAuMGY7CisgICAgfQorICAgIGdsQnVmZmVyU3ViRGF0
YShHTF9VTklGT1JNX0JVRkZFUiwgMCwga0Zsb2F0Q291bnQgKiBzaXplb2YoR0xmbG9hdCksIGZs
b2F0RGF0YTEuZGF0YSgpKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLmdldCgpLCBlc3NsM19zaGFk
ZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8
IGtQb3NpdGlvbkNvdW50OyBpKyspCisgICAgeworICAgICAgICBpZiAocG9zaXRpb25Ub1Rlc3Rb
aV1bMV0gPiAzMSAmJiBwb3NpdGlvblRvVGVzdFtpXVsxXSA8IDY0KQorICAgICAgICB7CisgICAg
ICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rlc3RbaV1bMF0sIHBvc2l0
aW9uVG9UZXN0W2ldWzFdLCBHTENvbG9yOjptYWdlbnRhKTsKKyAgICAgICAgfQorICAgICAgICBl
bHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShwb3NpdGlv
blRvVGVzdFtpXVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OnllbGxvdyk7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKIC8vIFRlc3QgdW5pZm9ybSBidWZmZXIgd2l0aCBsYXJnZSBz
dHJ1Y3QgYXJyYXkgbWVtYmVyLCB3aGVyZSB0aGUgc3RydWN0IGl0c2VsZiBjb250YWlucwogLy8g
YSBtYXQ0IG1lbWJlciBhbmQgYSBmbG9hdCBtZW1iZXIuCiBURVNUX1AoVW5pZm9ybUJ1ZmZlclRl
c3QsIFVuaWZvcm1CbG9ja1dpdGhPbmVMYXJnZU1peFN0cnVjdEFycmF5KQpAQCAtMjE1MSw2ICsy
Mzk3LDUyOCBAQCBURVNUX1AoVW5pZm9ybUJ1ZmZlclRlc3QsIFVuaWZvcm1CbG9ja3NJbkRpZmZQ
cm9ncmFtU2hhcmVVbmlmb3JtQnVmZmVyKQogICAgIH0KIH0KIAorLy8gVGVzdCB0d28gdW5pZm9y
bSBibG9ja3Mgc2hhcmUgdGhlIHNhbWUgdW5pZm9ybSBidWZmZXIuIE9uIEQzRCBiYWNrZW5kLCBv
bmUgdW5pZm9ybQorLy8gYmxvY2sgd2l0aCBhIGxhcmdlIGFycmF5IG1lbWJlciB3aWxsIGJlIHRy
YW5zbGF0ZWQgdG8gU3RydWN0dXJlZEJ1ZmZlciwgYW5kIHRoZQorLy8gb3RoZXIgdW5pZm9ybSBi
bG9jayB3aWxsIGJlIHRyYW5zbGF0ZWQgdG8gY2J1ZmZlciwgdGhpcyBjYXNlIHZlcmlmaWVzIHRo
YXQgdXBkYXRlCisvLyBidWZmZXIgZGF0YSBjb3JyZWN0bHkuCitURVNUX1AoVW5pZm9ybUJ1ZmZl
clRlc3QsIFVuaWZvcm1CbG9ja3NTaGFyZWRTYW1lVW5pZm9ybUJ1ZmZlcikKK3sKKyAgICBBTkdM
RV9TS0lQX1RFU1RfSUYoSXNJbnRlbCgpICYmIElzT1NYKCkpOworCisgICAgR0xpbnQ2NCBtYXhV
bmlmb3JtQmxvY2tTaXplOworICAgIGdsR2V0SW50ZWdlcjY0dihHTF9NQVhfVU5JRk9STV9CTE9D
S19TSVpFLCAmbWF4VW5pZm9ybUJsb2NrU2l6ZSk7CisgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHN0
cmVhbTsKKyAgICBHTHVpbnQgYXJyYXlTaXplOworICAgIC8vIEVuc3VyZSB0aGF0IHNoYWRlciB1
bmlmb3JtIGJsb2NrIGRvIG5vdCBleGNlZWQgTUFYX1VOSUZPUk1fQkxPQ0tfU0laRSBsaW1pdC4K
KyAgICBpZiAobWF4VW5pZm9ybUJsb2NrU2l6ZSA+PSAxNjM4NCAmJiBtYXhVbmlmb3JtQmxvY2tT
aXplIDwgMzI3NjgpCisgICAgeworICAgICAgICBhcnJheVNpemUgPSAxMjg7CisgICAgICAgIHN0
cmVhbSA8PCAiY29uc3QgdWludCBhcnJheVNpemUgPSAxMjh1O1xuIgorICAgICAgICAgICAgICAg
ICAgImNvbnN0IHVpbnQgZGl2aXNvcjEgPSAxMjh1O1xuIgorICAgICAgICAgICAgICAgICAgImNv
bnN0IHVpbnQgZGl2aXNvcjIgPSAzMnU7XG4iOworICAgIH0KKyAgICBlbHNlIGlmIChtYXhVbmlm
b3JtQmxvY2tTaXplID49IDMyNzY4ICYmIG1heFVuaWZvcm1CbG9ja1NpemUgPCA2NTUzNikKKyAg
ICB7CisgICAgICAgIGFycmF5U2l6ZSA9IDI1NjsKKyAgICAgICAgc3RyZWFtIDw8ICJjb25zdCB1
aW50IGFycmF5U2l6ZSA9IDI1NnU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBk
aXZpc29yMSA9IDY0dTtcbiIKKyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3Iy
ID0gMTZ1O1xuIjsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgYXJyYXlTaXplID0g
NTEyOworICAgICAgICBzdHJlYW0gPDwgImNvbnN0IHVpbnQgYXJyYXlTaXplID0gNTEydTtcbiIK
KyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IxID0gMzJ1O1xuIgorICAgICAg
ICAgICAgICAgICAgImNvbnN0IHVpbnQgZGl2aXNvcjIgPSA4dTtcbiI7CisgICAgfQorCisgICAg
Y29uc3Qgc3RkOjpzdHJpbmcgJmtGUyA9CisgICAgICAgICIjdmVyc2lvbiAzMDAgZXNcbiIKKyAg
ICAgICAgInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiIgKworICAgICAgICBzdHJlYW0uc3RyKCkg
KworICAgICAgICAib3V0IHZlYzQgbXlfRnJhZ0NvbG9yO1xuIgorICAgICAgICAic3RydWN0IFMg
eyBtYXQ0IGNvbG9yO307XG4iCisgICAgICAgICJsYXlvdXQoc3RkMTQwKSB1bmlmb3JtIGJ1ZmZl
ciB7IFMgc1thcnJheVNpemVdOyB9O1xuIgorICAgICAgICAibGF5b3V0KHN0ZDE0MCkgdW5pZm9y
bSBidWZmZXIxIHsgdmVjNCBmYWN0b3I7IH07XG4iCisgICAgICAgICJ2b2lkIG1haW4oKVxuIgor
ICAgICAgICAie1xuIgorICAgICAgICAiICAgIHV2ZWMyIGNvb3JkID0gdXZlYzIoZmxvb3IoZ2xf
RnJhZ0Nvb3JkLnh5KSk7XG4iCisgICAgICAgICIgICAgdWludCBpbmRleCA9IGNvb3JkLnggKyAg
Y29vcmQueSAqIDEyOHU7XG4iCisgICAgICAgICIgICAgdWludCBpbmRleF94ID0gaW5kZXggLyBk
aXZpc29yMTtcbiIKKyAgICAgICAgIiAgICB1aW50IGluZGV4X3kgPSAoaW5kZXggJSBkaXZpc29y
MSkgLyBkaXZpc29yMjtcbiIKKyAgICAgICAgIiAgICBteV9GcmFnQ29sb3IgPSBzW2luZGV4X3hd
LmNvbG9yW2luZGV4X3ldICsgZmFjdG9yO1xuIgorICAgICAgICAifVxuIjsKKworICAgIEdMaW50
IGJsb2NrU2l6ZTsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wzX3NoYWRlcnM6
OnZzOjpTaW1wbGUoKSwga0ZTLmNfc3RyKCkpOworICAgIEdMaW50IHVuaWZvcm1CdWZmZXJJbmRl
eCA9IGdsR2V0VW5pZm9ybUJsb2NrSW5kZXgocHJvZ3JhbSwgImJ1ZmZlciIpOworICAgIGdsR2V0
QWN0aXZlVW5pZm9ybUJsb2NraXYocHJvZ3JhbSwgdW5pZm9ybUJ1ZmZlckluZGV4LCBHTF9VTklG
T1JNX0JMT0NLX0RBVEFfU0laRSwgJmJsb2NrU2l6ZSk7CisgICAgR0xpbnQgdW5pZm9ybUJ1ZmZl
ckluZGV4MSA9IGdsR2V0VW5pZm9ybUJsb2NrSW5kZXgocHJvZ3JhbSwgImJ1ZmZlcjEiKTsKKyAg
ICBHTGludCBhbGlnbm1lbnQ7CisgICAgZ2xHZXRJbnRlZ2VydihHTF9VTklGT1JNX0JVRkZFUl9P
RkZTRVRfQUxJR05NRU5ULCAmYWxpZ25tZW50KTsKKyAgICB3aGlsZSAoYWxpZ25tZW50ID49IDAg
JiYgYWxpZ25tZW50IDwgMTYpCisgICAgeworICAgICAgICBhbGlnbm1lbnQgKz0gYWxpZ25tZW50
OworICAgIH0KKworICAgIGdsQmluZEJ1ZmZlcihHTF9VTklGT1JNX0JVRkZFUiwgbVVuaWZvcm1C
dWZmZXIpOworICAgIGdsQnVmZmVyRGF0YShHTF9VTklGT1JNX0JVRkZFUiwgYWxpZ25tZW50ICsg
YmxvY2tTaXplLCBudWxscHRyLCBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICBjb25zdCBHTHVpbnQg
a1ZlY3RvclBlck1hdCAgID0gNDsKKyAgICBjb25zdCBHTHVpbnQga0Zsb2F0UGVyVmVjdG9yID0g
NDsKKyAgICBHTHVpbnQga1ZlY3RvckNvdW50ICAgICAgICAgID0gYXJyYXlTaXplICoga1ZlY3Rv
clBlck1hdDsKKyAgICBHTHVpbnQga0Zsb2F0Q291bnQgICAgICAgICAgID0ga1ZlY3RvckNvdW50
ICoga0Zsb2F0UGVyVmVjdG9yOworICAgIHN0ZDo6dmVjdG9yPEdMZmxvYXQ+IGZsb2F0RGF0YShr
RmxvYXRDb3VudCwgMC4wZik7CisgICAgc3RkOjp2ZWN0b3I8R0xmbG9hdD4gZmxvYXREYXRhMSg0
LCAwLjBmKTsKKyAgICBjb25zdCBHTHVpbnQga1Bvc2l0aW9uQ291bnQgICAgICAgICAgICAgICAg
ICAgID0gMTI7CisgICAgdW5zaWduZWQgaW50IHBvc2l0aW9uVG9UZXN0W2tQb3NpdGlvbkNvdW50
XVsyXSA9IHt7MCwgMH0sICB7NzUsIDB9LCAgezk4LCAxM30sICB7MzEsIDMxfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswLCAzMn0sIHs2
NSwgMzN9LCB7MjMsIDU0fSwgIHs2MywgNjN9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgezAsIDY0fSwgezQzLCA4Nn0sIHs1MywgMTAwfSwg
ezEyNywgMTI3fX07CisKKyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8IGtWZWN0b3JDb3VudDsg
aSsrKQorICAgIHsKKyAgICAgICAgZmxvYXREYXRhWzQgKiBpICsgMl0gPSAwLjVmOworICAgICAg
ICBmbG9hdERhdGFbNCAqIGkgKyAzXSA9IDAuNWY7CisgICAgfQorICAgIGZsb2F0RGF0YTFbMF0g
PSAxLjBmOworICAgIGZsb2F0RGF0YTFbMV0gPSAwLjBmOworICAgIGZsb2F0RGF0YTFbMl0gPSAw
LjVmOworICAgIGZsb2F0RGF0YTFbM10gPSAwLjVmOworCisgICAgZ2xCaW5kQnVmZmVyUmFuZ2Uo
R0xfVU5JRk9STV9CVUZGRVIsIDAsIG1Vbmlmb3JtQnVmZmVyLCAwLCA0ICogc2l6ZW9mKGZsb2F0
KSk7CisgICAgZ2xVbmlmb3JtQmxvY2tCaW5kaW5nKHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJbmRl
eDEsIDApOworICAgIGdsQmluZEJ1ZmZlclJhbmdlKEdMX1VOSUZPUk1fQlVGRkVSLCAxLCBtVW5p
Zm9ybUJ1ZmZlciwgYWxpZ25tZW50LAorICAgICAgICAgICAgICAgICAgICAgIGtWZWN0b3JDb3Vu
dCAqIGtGbG9hdFBlclZlY3RvciAqIHNpemVvZihmbG9hdCkpOworICAgIGdsVW5pZm9ybUJsb2Nr
QmluZGluZyhwcm9ncmFtLCB1bmlmb3JtQnVmZmVySW5kZXgsIDEpOworCisgICAgZ2xCdWZmZXJT
dWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCBhbGlnbm1lbnQsIGtGbG9hdENvdW50ICogc2l6ZW9m
KEdMZmxvYXQpLCBmbG9hdERhdGEuZGF0YSgpKTsKKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xfVU5J
Rk9STV9CVUZGRVIsIDAsIDQgKiBzaXplb2YoR0xmbG9hdCksIGZsb2F0RGF0YTEuZGF0YSgpKTsK
KyAgICBkcmF3UXVhZChwcm9ncmFtLmdldCgpLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJp
YigpLCAwLjVmKTsKKyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8IGtQb3NpdGlvbkNvdW50OyBp
KyspCisgICAgeworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rlc3Rb
aV1bMF0sIHBvc2l0aW9uVG9UZXN0W2ldWzFdLCBHTENvbG9yOjptYWdlbnRhKTsKKyAgICB9CisK
KyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8IGtWZWN0b3JDb3VudDsgaSsrKQorICAgIHsKKyAg
ICAgICAgZmxvYXREYXRhWzQgKiBpICsgMV0gPSAwLjVmOworICAgICAgICBmbG9hdERhdGFbNCAq
IGkgKyAyXSA9IDAuMGY7CisgICAgfQorICAgIGZsb2F0RGF0YTFbMF0gPSAwLjBmOworICAgIGZs
b2F0RGF0YTFbMV0gPSAwLjVmOworICAgIGZsb2F0RGF0YTFbMl0gPSAwLjBmOworICAgIGZsb2F0
RGF0YTFbM10gPSAwLjVmOworICAgIGdsQnVmZmVyU3ViRGF0YShHTF9VTklGT1JNX0JVRkZFUiwg
YWxpZ25tZW50LCBrRmxvYXRDb3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXREYXRhLmRhdGEo
KSk7CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCAwLCA0ICogc2l6ZW9m
KEdMZmxvYXQpLCBmbG9hdERhdGExLmRhdGEoKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQo
KSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgZm9yIChHTHVp
bnQgaSA9IDA7IGkgPCBrUG9zaXRpb25Db3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgRVhQRUNU
X1BJWEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRvVGVzdFtpXVsx
XSwgR0xDb2xvcjo6Z3JlZW4pOworICAgIH0KK30KKworLy8gQ29tcGlsZSB1bmlmb3JtIGJ1ZmZl
ciB3aXRoIGEgbGFyZ2UgbWF0cml4IGFycmF5IG1lbWJlci4KK1RFU1RfUChVbmlmb3JtQnVmZmVy
VGVzdCwgVW5pZm9ybUJsb2NrV2l0aE9uZUxhcmdlTWF0cml4QXJyYXlJbmRleEFjY2VzcykKK3sK
KyAgICBHTGludDY0IG1heFVuaWZvcm1CbG9ja1NpemU7CisgICAgZ2xHZXRJbnRlZ2VyNjR2KEdM
X01BWF9VTklGT1JNX0JMT0NLX1NJWkUsICZtYXhVbmlmb3JtQmxvY2tTaXplKTsKKyAgICBzdGQ6
Om9zdHJpbmdzdHJlYW0gc3RyZWFtOworCisgICAgLy8gRW5zdXJlIHRoYXQgc2hhZGVyIHVuaWZv
cm0gYmxvY2sgZG8gbm90IGV4Y2VlZCBNQVhfVU5JRk9STV9CTE9DS19TSVpFIGxpbWl0LgorICAg
IGlmIChtYXhVbmlmb3JtQmxvY2tTaXplIDwgMTYzODQpCisgICAgeworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgY29uc3QgY2hhciAqa0ZTID0gUiIoI3ZlcnNpb24gMzAwIGVzCitwcmVj
aXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSB1aW50IGluZGV4OworCitzdHJ1Y3QgUyB7
IHV2ZWM0IGlkeDsgfTsKKworbGF5b3V0KHN0ZDE0MCkgdW5pZm9ybSBpZHhidWYgeyBTIGlkeEFy
cmF5WzJdOyB9OworCitsYXlvdXQoc3RkMTQwKSB1bmlmb3JtIGJ1ZmZlcjEgeyBtYXQ0IHMxWzEy
OF07IH07CitsYXlvdXQoc3RkMTQwKSB1bmlmb3JtIGJ1ZmZlcjIgeyBtYXQ0IHMyWzEyOF07IH0g
YnVmMlsyXTsKKworb3V0IHZlYzQgZnJhZ0NvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgZnJhZ0Nv
bG9yID0gczFbMV1bMF0gKyBzMVtpbmRleF1bMV0gKyBzMVtpZHhBcnJheVswXS5pZHgueF1baWR4
QXJyYXlbMV0uaWR4LnpdCisgICsgYnVmMlswXS5zMlsxXVswXSArIGJ1ZjJbMV0uczJbaW5kZXhd
WzFdICsgYnVmMlswXS5zMltpZHhBcnJheVswXS5pZHgueV1baWR4QXJyYXlbMV0uaWR4LnpdCisg
ICsgdmVjNChidWYyWzFdLnMyW2luZGV4XVsxXVtpbmRleF0sIHMxWzFdWzBdWzJdLCBzMVtpZHhB
cnJheVswXS5pZHgueF1baWR4QXJyYXlbMV0uaWR4LnpdWzJdLAorICBidWYyWzBdLnMyW2lkeEFy
cmF5WzBdLmlkeC55XVtpZHhBcnJheVsxXS5pZHguel1bM10pOworfSkiOworCisgICAgQU5HTEVf
R0xfUFJPR1JBTShwcm9ncmFtLCBlc3NsM19zaGFkZXJzOjp2czo6U2ltcGxlKCksIGtGUyk7Cisg
ICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cit9CisKKy8vIFRlc3QgdW5pZm9ybSBidWZmZXIgd2l0
aCBhIGxhcmdlIG1hdHJpeCBhcnJheSBtZW1iZXIuCitURVNUX1AoVW5pZm9ybUJ1ZmZlclRlc3Qs
IFVuaWZvcm1CbG9ja1dpdGhPbmVMYXJnZU1hdHJpeEFycmF5KQoreworICAgIEdMaW50NjQgbWF4
VW5pZm9ybUJsb2NrU2l6ZTsKKyAgICBnbEdldEludGVnZXI2NHYoR0xfTUFYX1VOSUZPUk1fQkxP
Q0tfU0laRSwgJm1heFVuaWZvcm1CbG9ja1NpemUpOworICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBz
dHJlYW07CisgICAgR0x1aW50IGFycmF5U2l6ZTsKKyAgICAvLyBFbnN1cmUgdGhhdCBzaGFkZXIg
dW5pZm9ybSBibG9jayBkbyBub3QgZXhjZWVkIE1BWF9VTklGT1JNX0JMT0NLX1NJWkUgbGltaXQu
CisgICAgaWYgKG1heFVuaWZvcm1CbG9ja1NpemUgPj0gMTYzODQgJiYgbWF4VW5pZm9ybUJsb2Nr
U2l6ZSA8IDMyNzY4KQorICAgIHsKKyAgICAgICAgYXJyYXlTaXplID0gMTI4OworICAgICAgICBz
dHJlYW0gPDwgImNvbnN0IHVpbnQgYXJyYXlTaXplID0gMTI4dTtcbiIKKyAgICAgICAgICAgICAg
ICAgICJjb25zdCB1aW50IGRpdmlzb3IxID0gMTI4dTtcbiIKKyAgICAgICAgICAgICAgICAgICJj
b25zdCB1aW50IGRpdmlzb3IyID0gMzJ1O1xuIjsKKyAgICB9CisgICAgZWxzZSBpZiAobWF4VW5p
Zm9ybUJsb2NrU2l6ZSA+PSAzMjc2OCAmJiBtYXhVbmlmb3JtQmxvY2tTaXplIDwgNjU1MzYpCisg
ICAgeworICAgICAgICBhcnJheVNpemUgPSAyNTY7CisgICAgICAgIHN0cmVhbSA8PCAiY29uc3Qg
dWludCBhcnJheVNpemUgPSAyNTZ1O1xuIgorICAgICAgICAgICAgICAgICAgImNvbnN0IHVpbnQg
ZGl2aXNvcjEgPSA2NHU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBkaXZpc29y
MiA9IDE2dTtcbiI7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGFycmF5U2l6ZSA9
IDUxMjsKKyAgICAgICAgc3RyZWFtIDw8ICJjb25zdCB1aW50IGFycmF5U2l6ZSA9IDUxMnU7XG4i
CisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBkaXZpc29yMSA9IDMydTtcbiIKKyAgICAg
ICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IyID0gOHU7XG4iOworICAgIH0KKworICAg
IGNvbnN0IHN0ZDo6c3RyaW5nICZrRlMgPQorICAgICAgICAiI3ZlcnNpb24gMzAwIGVzXG4iCisg
ICAgICAgICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4iICsKKyAgICAgICAgc3RyZWFtLnN0cigp
ICsKKyAgICAgICAgIm91dCB2ZWM0IG15X0ZyYWdDb2xvcjtcbiIKKyAgICAgICAgImxheW91dChz
dGQxNDApIHVuaWZvcm0gYnVmZmVyIHsgbWF0NCBzW2FycmF5U2l6ZV07IH07XG4iCisgICAgICAg
ICJ2b2lkIG1haW4oKVxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIHV2ZWMyIGNvb3Jk
ID0gdXZlYzIoZmxvb3IoZ2xfRnJhZ0Nvb3JkLnh5KSk7XG4iCisgICAgICAgICIgICAgdWludCBp
bmRleCA9IGNvb3JkLnggKyAgY29vcmQueSAqIDEyOHU7XG4iCisgICAgICAgICIgICAgdWludCBp
bmRleF94ID0gaW5kZXggLyBkaXZpc29yMTtcbiIKKyAgICAgICAgIiAgICB1aW50IGluZGV4X3kg
PSAoaW5kZXggJSBkaXZpc29yMSkgLyBkaXZpc29yMjtcbiIKKyAgICAgICAgIiAgICBteV9GcmFn
Q29sb3IgPSBzW2luZGV4X3hdW2luZGV4X3ldO1xuIgorICAgICAgICAifVxuIjsKKworICAgIEdM
aW50IGJsb2NrU2l6ZTsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wzX3NoYWRl
cnM6OnZzOjpTaW1wbGUoKSwga0ZTLmNfc3RyKCkpOworICAgIEdMaW50IHVuaWZvcm1CdWZmZXJJ
bmRleCA9IGdsR2V0VW5pZm9ybUJsb2NrSW5kZXgocHJvZ3JhbSwgImJ1ZmZlciIpOworICAgIGds
R2V0QWN0aXZlVW5pZm9ybUJsb2NraXYocHJvZ3JhbSwgdW5pZm9ybUJ1ZmZlckluZGV4LCBHTF9V
TklGT1JNX0JMT0NLX0RBVEFfU0laRSwgJmJsb2NrU2l6ZSk7CisKKyAgICBnbEJpbmRCdWZmZXIo
R0xfVU5JRk9STV9CVUZGRVIsIG1Vbmlmb3JtQnVmZmVyKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xf
VU5JRk9STV9CVUZGRVIsIGJsb2NrU2l6ZSwgbnVsbHB0ciwgR0xfU1RBVElDX0RSQVcpOworCisg
ICAgZ2xCaW5kQnVmZmVyQmFzZShHTF9VTklGT1JNX0JVRkZFUiwgMCwgbVVuaWZvcm1CdWZmZXIp
OworICAgIGdsVW5pZm9ybUJsb2NrQmluZGluZyhwcm9ncmFtLCB1bmlmb3JtQnVmZmVySW5kZXgs
IDApOworCisgICAgY29uc3QgR0x1aW50IGtWZWN0b3JQZXJNYXQgICA9IDQ7CisgICAgY29uc3Qg
R0x1aW50IGtGbG9hdFBlclZlY3RvciA9IDQ7CisgICAgR0x1aW50IGtWZWN0b3JDb3VudCAgICAg
ICAgICA9IGFycmF5U2l6ZSAqIGtWZWN0b3JQZXJNYXQ7CisgICAgR0x1aW50IGtGbG9hdENvdW50
ICAgICAgICAgICA9IGtWZWN0b3JDb3VudCAqIGtGbG9hdFBlclZlY3RvcjsKKyAgICBzdGQ6OnZl
Y3RvcjxHTGZsb2F0PiBmbG9hdERhdGEoa0Zsb2F0Q291bnQsIDAuMGYpOworICAgIGNvbnN0IEdM
dWludCBrUG9zaXRpb25Db3VudCAgICAgICAgICAgICAgICAgICAgPSAxMjsKKyAgICB1bnNpZ25l
ZCBpbnQgcG9zaXRpb25Ub1Rlc3Rba1Bvc2l0aW9uQ291bnRdWzJdID0ge3swLCAwfSwgIHs3NSwg
MH0sICB7OTgsIDEzfSwgIHszMSwgMzF9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgezAsIDMyfSwgezY1LCAzM30sIHsyMywgNTR9LCAgezYz
LCA2M30sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7MCwgNjR9LCB7NDMsIDg2fSwgezUzLCAxMDB9LCB7MTI3LCAxMjd9fTsKKworICAgIGZv
ciAoR0x1aW50IGkgPSAwOyBpIDwga1ZlY3RvckNvdW50OyBpKyspCisgICAgeworICAgICAgICBm
bG9hdERhdGFbNCAqIGkgKyAyXSA9IDEuMGY7CisgICAgICAgIGZsb2F0RGF0YVs0ICogaSArIDNd
ID0gMS4wZjsKKyAgICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCAw
LCBrRmxvYXRDb3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXREYXRhLmRhdGEoKSk7CisgICAg
ZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwg
MC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9zaXRpb25Db3VudDsgaSsrKQor
ICAgIHsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ldWzBd
LCBwb3NpdGlvblRvVGVzdFtpXVsxXSwgR0xDb2xvcjo6Ymx1ZSk7CisgICAgfQorCisgICAgZm9y
IChHTHVpbnQgaSA9IDA7IGkgPCBrVmVjdG9yQ291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGZs
b2F0RGF0YVs0ICogaSArIDFdID0gMS4wZjsKKyAgICAgICAgZmxvYXREYXRhWzQgKiBpICsgMl0g
PSAwLjBmOworICAgIH0KKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xfVU5JRk9STV9CVUZGRVIsIDAs
IGtGbG9hdENvdW50ICogc2l6ZW9mKEdMZmxvYXQpLCBmbG9hdERhdGEuZGF0YSgpKTsKKyAgICBk
cmF3UXVhZChwcm9ncmFtLmdldCgpLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAw
LjVmKTsKKyAgICBmb3IgKEdMdWludCBpID0gMDsgaSA8IGtQb3NpdGlvbkNvdW50OyBpKyspCisg
ICAgeworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rlc3RbaV1bMF0s
IHBvc2l0aW9uVG9UZXN0W2ldWzFdLCBHTENvbG9yOjpncmVlbik7CisgICAgfQorCisgICAgZm9y
IChHTHVpbnQgaSA9IGtWZWN0b3JDb3VudCAvIDQ7IGkgPCBrVmVjdG9yQ291bnQgLyAyOyBpKysp
CisgICAgeworICAgICAgICBmbG9hdERhdGFbNCAqIGldICAgICA9IDEuMGY7CisgICAgICAgIGZs
b2F0RGF0YVs0ICogaSArIDFdID0gMC4wZjsKKyAgICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdM
X1VOSUZPUk1fQlVGRkVSLCAwLCBrRmxvYXRDb3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXRE
YXRhLmRhdGEoKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6
UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9z
aXRpb25Db3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgaWYgKHBvc2l0aW9uVG9UZXN0W2ldWzFd
ID4gMzEgJiYgcG9zaXRpb25Ub1Rlc3RbaV1bMV0gPCA2NCkKKyAgICAgICAgeworICAgICAgICAg
ICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBvc2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRv
VGVzdFtpXVsxXSwgR0xDb2xvcjo6cmVkKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShwb3NpdGlvblRvVGVzdFtp
XVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OmdyZWVuKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKworLy8gVGVzdCB1bmlmb3JtIGJ1ZmZlciB3aXRoIGEgbGFyZ2UgbWF0cml4IGFy
cmF5IG1lbWJlciwgd2hpY2ggdXNpbmcgcm93IG1ham9yIHF1YWxpZmllci4KK1RFU1RfUChVbmlm
b3JtQnVmZmVyVGVzdCwgVW5pZm9ybUJsb2NrV2l0aE9uZUxhcmdlTWF0cml4QXJyYXlXaXRoUm93
TWFqb3JRdWFsaWZpZXIpCit7CisgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS8zODM3ICwgaHR0
cDovL2FuZ2xlYnVnLmNvbS8yMjczCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElzT1NYKCkgfHwg
SXNBbmRyb2lkKCkgfHwgKElzQU1EKCkgJiYgSXNPcGVuR0woKSkgfHwKKyAgICAgICAgICAgICAg
ICAgICAgICAgKElzTGludXgoKSAmJiBJc0ludGVsKCkgJiYgSXNPcGVuR0woKSkpOworICAgIEdM
aW50NjQgbWF4VW5pZm9ybUJsb2NrU2l6ZTsKKyAgICBnbEdldEludGVnZXI2NHYoR0xfTUFYX1VO
SUZPUk1fQkxPQ0tfU0laRSwgJm1heFVuaWZvcm1CbG9ja1NpemUpOworICAgIHN0ZDo6b3N0cmlu
Z3N0cmVhbSBzdHJlYW07CisgICAgR0x1aW50IGFycmF5U2l6ZTsKKyAgICAvLyBFbnN1cmUgdGhh
dCBzaGFkZXIgdW5pZm9ybSBibG9jayBkbyBub3QgZXhjZWVkIE1BWF9VTklGT1JNX0JMT0NLX1NJ
WkUgbGltaXQuCisgICAgaWYgKG1heFVuaWZvcm1CbG9ja1NpemUgPj0gMTYzODQgJiYgbWF4VW5p
Zm9ybUJsb2NrU2l6ZSA8IDMyNzY4KQorICAgIHsKKyAgICAgICAgYXJyYXlTaXplID0gMTI4Owor
ICAgICAgICBzdHJlYW0gPDwgImNvbnN0IHVpbnQgYXJyYXlTaXplID0gMTI4dTtcbiIKKyAgICAg
ICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IxID0gMTI4dTtcbiIKKyAgICAgICAgICAg
ICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IyID0gMzJ1O1xuIjsKKyAgICB9CisgICAgZWxzZSBp
ZiAobWF4VW5pZm9ybUJsb2NrU2l6ZSA+PSAzMjc2OCAmJiBtYXhVbmlmb3JtQmxvY2tTaXplIDwg
NjU1MzYpCisgICAgeworICAgICAgICBhcnJheVNpemUgPSAyNTY7CisgICAgICAgIHN0cmVhbSA8
PCAiY29uc3QgdWludCBhcnJheVNpemUgPSAyNTZ1O1xuIgorICAgICAgICAgICAgICAgICAgImNv
bnN0IHVpbnQgZGl2aXNvcjEgPSA2NHU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWlu
dCBkaXZpc29yMiA9IDE2dTtcbiI7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGFy
cmF5U2l6ZSA9IDUxMjsKKyAgICAgICAgc3RyZWFtIDw8ICJjb25zdCB1aW50IGFycmF5U2l6ZSA9
IDUxMnU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3QgdWludCBkaXZpc29yMSA9IDMydTtc
biIKKyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlzb3IyID0gOHU7XG4iOworICAg
IH0KKworICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZrRlMgPQorICAgICAgICAiI3ZlcnNpb24gMzAw
IGVzXG4iCisgICAgICAgICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4iICsKKyAgICAgICAgc3Ry
ZWFtLnN0cigpICsKKyAgICAgICAgIm91dCB2ZWM0IG15X0ZyYWdDb2xvcjtcbiIKKyAgICAgICAg
ImxheW91dChzdGQxNDAsIHJvd19tYWpvcikgdW5pZm9ybSBidWZmZXIgeyBtYXQ0IHNbYXJyYXlT
aXplXTsgfTtcbiIKKyAgICAgICAgInZvaWQgbWFpbigpXG4iCisgICAgICAgICJ7XG4iCisgICAg
ICAgICIgICAgdXZlYzIgY29vcmQgPSB1dmVjMihmbG9vcihnbF9GcmFnQ29vcmQueHkpKTtcbiIK
KyAgICAgICAgIiAgICB1aW50IGluZGV4ID0gY29vcmQueCArICBjb29yZC55ICogMTI4dTtcbiIK
KyAgICAgICAgIiAgICB1aW50IGluZGV4X3ggPSBpbmRleCAvIGRpdmlzb3IxO1xuIgorICAgICAg
ICAiICAgIHVpbnQgaW5kZXhfeSA9IChpbmRleCAlIGRpdmlzb3IxKSAvIGRpdmlzb3IyO1xuIgor
ICAgICAgICAiICAgIG15X0ZyYWdDb2xvciA9IHNbaW5kZXhfeF1baW5kZXhfeV07XG4iCisgICAg
ICAgICJ9XG4iOworCisgICAgR0xpbnQgYmxvY2tTaXplOworICAgIEFOR0xFX0dMX1BST0dSQU0o
cHJvZ3JhbSwgZXNzbDNfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBrRlMuY19zdHIoKSk7CisgICAg
R0xpbnQgdW5pZm9ybUJ1ZmZlckluZGV4ID0gZ2xHZXRVbmlmb3JtQmxvY2tJbmRleChwcm9ncmFt
LCAiYnVmZmVyIik7CisgICAgZ2xHZXRBY3RpdmVVbmlmb3JtQmxvY2tpdihwcm9ncmFtLCB1bmlm
b3JtQnVmZmVySW5kZXgsIEdMX1VOSUZPUk1fQkxPQ0tfREFUQV9TSVpFLCAmYmxvY2tTaXplKTsK
KworICAgIGdsQmluZEJ1ZmZlcihHTF9VTklGT1JNX0JVRkZFUiwgbVVuaWZvcm1CdWZmZXIpOwor
ICAgIGdsQnVmZmVyRGF0YShHTF9VTklGT1JNX0JVRkZFUiwgYmxvY2tTaXplLCBudWxscHRyLCBH
TF9TVEFUSUNfRFJBVyk7CisKKyAgICBnbEJpbmRCdWZmZXJCYXNlKEdMX1VOSUZPUk1fQlVGRkVS
LCAwLCBtVW5pZm9ybUJ1ZmZlcik7CisgICAgZ2xVbmlmb3JtQmxvY2tCaW5kaW5nKHByb2dyYW0s
IHVuaWZvcm1CdWZmZXJJbmRleCwgMCk7CisKKyAgICBjb25zdCBHTHVpbnQga1ZlY3RvclBlck1h
dCAgID0gNDsKKyAgICBjb25zdCBHTHVpbnQga0Zsb2F0UGVyVmVjdG9yID0gNDsKKyAgICBHTHVp
bnQga1ZlY3RvckNvdW50ICAgICAgICAgID0gYXJyYXlTaXplICoga1ZlY3RvclBlck1hdDsKKyAg
ICBHTHVpbnQga0Zsb2F0Q291bnQgICAgICAgICAgID0ga1ZlY3RvckNvdW50ICoga0Zsb2F0UGVy
VmVjdG9yOworICAgIHN0ZDo6dmVjdG9yPEdMZmxvYXQ+IGZsb2F0RGF0YShrRmxvYXRDb3VudCwg
MC4wZik7CisgICAgY29uc3QgR0x1aW50IGtQb3NpdGlvbkNvdW50ICAgICAgICAgICAgICAgICAg
ICA9IDEyOworICAgIHVuc2lnbmVkIGludCBwb3NpdGlvblRvVGVzdFtrUG9zaXRpb25Db3VudF1b
Ml0gPSB7ezAsIDB9LCAgezc1LCAwfSwgIHs5OCwgMTN9LCAgezMxLCAzMX0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MCwgMzJ9LCB7NjUs
IDMzfSwgezIzLCA1NH0sICB7NjMsIDYzfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHswLCA2NH0sIHs0MywgODZ9LCB7NTMsIDEwMH0sIHsx
MjcsIDEyN319OworCisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrVmVjdG9yQ291bnQgLyA0
OyBpKyspCisgICAgeworICAgICAgICBmb3IgKEdMdWludCBqID0gMDsgaiA8IDQ7IGorKykKKyAg
ICAgICAgeworICAgICAgICAgICAgZmxvYXREYXRhWzE2ICogaSArIDggKyBqXSAgPSAxLjBmOwor
ICAgICAgICAgICAgZmxvYXREYXRhWzE2ICogaSArIDEyICsgal0gPSAxLjBmOworICAgICAgICB9
CisgICAgfQorICAgIGdsQnVmZmVyU3ViRGF0YShHTF9VTklGT1JNX0JVRkZFUiwgMCwga0Zsb2F0
Q291bnQgKiBzaXplb2YoR0xmbG9hdCksIGZsb2F0RGF0YS5kYXRhKCkpOworICAgIGRyYXdRdWFk
KHByb2dyYW0uZ2V0KCksIGVzc2wzX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwor
ICAgIGZvciAoR0x1aW50IGkgPSAwOyBpIDwga1Bvc2l0aW9uQ291bnQ7IGkrKykKKyAgICB7Cisg
ICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShwb3NpdGlvblRvVGVzdFtpXVswXSwgcG9zaXRp
b25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OmJsdWUpOworICAgIH0KKworICAgIGZvciAoR0x1aW50
IGkgPSAwOyBpIDwga1ZlY3RvckNvdW50IC8gNDsgaSsrKQorICAgIHsKKyAgICAgICAgZm9yIChH
THVpbnQgaiA9IDA7IGogPCA0OyBqKyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0RGF0
YVsxNiAqIGkgKyA0ICsgal0gPSAxLjBmOworICAgICAgICAgICAgZmxvYXREYXRhWzE2ICogaSAr
IDggKyBqXSA9IDAuMGY7CisgICAgICAgIH0KKyAgICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdM
X1VOSUZPUk1fQlVGRkVSLCAwLCBrRmxvYXRDb3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXRE
YXRhLmRhdGEoKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6
UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9z
aXRpb25Db3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBv
c2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRvVGVzdFtpXVsxXSwgR0xDb2xvcjo6Z3JlZW4p
OworICAgIH0KKworICAgIGZvciAoR0x1aW50IGkgPSBrVmVjdG9yQ291bnQgLyAxNjsgaSA8IGtW
ZWN0b3JDb3VudCAvIDg7IGkrKykKKyAgICB7CisgICAgICAgIGZvciAoR0x1aW50IGogPSAwOyBq
IDwgNDsgaisrKQorICAgICAgICB7CisgICAgICAgICAgICBmbG9hdERhdGFbMTYgKiBpICsgal0g
ICAgID0gMS4wZjsKKyAgICAgICAgICAgIGZsb2F0RGF0YVsxNiAqIGkgKyA0ICsgal0gPSAwLjBm
OworICAgICAgICB9CisgICAgfQorICAgIGdsQnVmZmVyU3ViRGF0YShHTF9VTklGT1JNX0JVRkZF
UiwgMCwga0Zsb2F0Q291bnQgKiBzaXplb2YoR0xmbG9hdCksIGZsb2F0RGF0YS5kYXRhKCkpOwor
ICAgIGRyYXdRdWFkKHByb2dyYW0uZ2V0KCksIGVzc2wzX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmli
KCksIDAuNWYpOworICAgIGZvciAoR0x1aW50IGkgPSAwOyBpIDwga1Bvc2l0aW9uQ291bnQ7IGkr
KykKKyAgICB7CisgICAgICAgIGlmIChwb3NpdGlvblRvVGVzdFtpXVsxXSA+IDMxICYmIHBvc2l0
aW9uVG9UZXN0W2ldWzFdIDwgNjQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUShwb3NpdGlvblRvVGVzdFtpXVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdM
Q29sb3I6OnJlZCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAg
ICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rlc3RbaV1bMF0sIHBvc2l0aW9u
VG9UZXN0W2ldWzFdLCBHTENvbG9yOjpncmVlbik7CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8v
IFRlc3QgaW5zdGFuY2UgYXJyYXkgdW5pZm9ybSBidWZmZXIgd2l0aCBhIGxhcmdlIG1hdHJpeCBh
cnJheSBtZW1iZXIuCitURVNUX1AoVW5pZm9ybUJ1ZmZlclRlc3QsIEluc3RhbmNlQXJyYXlVbmlm
b3JtQmxvY2tXaXRoT25lTGFyZ2VNYXRyaXhBcnJheSkKK3sKKyAgICBHTGludDY0IG1heFVuaWZv
cm1CbG9ja1NpemU7CisgICAgZ2xHZXRJbnRlZ2VyNjR2KEdMX01BWF9VTklGT1JNX0JMT0NLX1NJ
WkUsICZtYXhVbmlmb3JtQmxvY2tTaXplKTsKKyAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3RyZWFt
OworICAgIEdMdWludCBhcnJheVNpemU7CisgICAgLy8gRW5zdXJlIHRoYXQgc2hhZGVyIHVuaWZv
cm0gYmxvY2sgZG8gbm90IGV4Y2VlZCBNQVhfVU5JRk9STV9CTE9DS19TSVpFIGxpbWl0LgorICAg
IGlmIChtYXhVbmlmb3JtQmxvY2tTaXplID49IDE2Mzg0ICYmIG1heFVuaWZvcm1CbG9ja1NpemUg
PCAzMjc2OCkKKyAgICB7CisgICAgICAgIGFycmF5U2l6ZSA9IDEyODsKKyAgICAgICAgc3RyZWFt
IDw8ICJjb25zdCB1aW50IGFycmF5U2l6ZSA9IDEyOHU7XG4iCisgICAgICAgICAgICAgICAgICAi
Y29uc3QgdWludCBkaXZpc29yMSA9IDEyOHU7XG4iCisgICAgICAgICAgICAgICAgICAiY29uc3Qg
dWludCBkaXZpc29yMiA9IDMydTtcbiI7CisgICAgfQorICAgIGVsc2UgaWYgKG1heFVuaWZvcm1C
bG9ja1NpemUgPj0gMzI3NjggJiYgbWF4VW5pZm9ybUJsb2NrU2l6ZSA8IDY1NTM2KQorICAgIHsK
KyAgICAgICAgYXJyYXlTaXplID0gMjU2OworICAgICAgICBzdHJlYW0gPDwgImNvbnN0IHVpbnQg
YXJyYXlTaXplID0gMjU2dTtcbiIKKyAgICAgICAgICAgICAgICAgICJjb25zdCB1aW50IGRpdmlz
b3IxID0gNjR1O1xuIgorICAgICAgICAgICAgICAgICAgImNvbnN0IHVpbnQgZGl2aXNvcjIgPSAx
NnU7XG4iOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBhcnJheVNpemUgPSA1MTI7
CisgICAgICAgIHN0cmVhbSA8PCAiY29uc3QgdWludCBhcnJheVNpemUgPSA1MTJ1O1xuIgorICAg
ICAgICAgICAgICAgICAgImNvbnN0IHVpbnQgZGl2aXNvcjEgPSAzMnU7XG4iCisgICAgICAgICAg
ICAgICAgICAiY29uc3QgdWludCBkaXZpc29yMiA9IDh1O1xuIjsKKyAgICB9CisKKyAgICBjb25z
dCBzdGQ6OnN0cmluZyAma0ZTID0KKyAgICAgICAgIiN2ZXJzaW9uIDMwMCBlc1xuIgorICAgICAg
ICAicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuIiArCisgICAgICAgIHN0cmVhbS5zdHIoKSArCisg
ICAgICAgICJvdXQgdmVjNCBteV9GcmFnQ29sb3I7XG4iCisgICAgICAgICJsYXlvdXQoc3RkMTQw
KSB1bmlmb3JtIGJ1ZmZlciB7IG1hdDQgc1thcnJheVNpemVdOyB9IGluc3RhbmNlWzJdO1xuIgor
ICAgICAgICAidm9pZCBtYWluKClcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAgIiAgICB1dmVj
MiBjb29yZCA9IHV2ZWMyKGZsb29yKGdsX0ZyYWdDb29yZC54eSkpO1xuIgorICAgICAgICAiICAg
IHVpbnQgaW5kZXggPSBjb29yZC54ICsgIGNvb3JkLnkgKiAxMjh1O1xuIgorICAgICAgICAiICAg
IHVpbnQgaW5kZXhfeCA9IGluZGV4IC8gZGl2aXNvcjE7XG4iCisgICAgICAgICIgICAgdWludCBp
bmRleF95ID0gKGluZGV4ICUgZGl2aXNvcjEpIC8gZGl2aXNvcjI7XG4iCisgICAgICAgICIgICAg
bXlfRnJhZ0NvbG9yID0gaW5zdGFuY2VbMF0uc1tpbmRleF94XVtpbmRleF95XSArICIKKyAgICAg
ICAgImluc3RhbmNlWzFdLnNbaW5kZXhfeF1baW5kZXhfeV07XG4iCisgICAgICAgICJ9XG4iOwor
CisgICAgR0xpbnQgYmxvY2tTaXplMCwgYmxvY2tTaXplMTsKKyAgICBBTkdMRV9HTF9QUk9HUkFN
KHByb2dyYW0sIGVzc2wzX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwga0ZTLmNfc3RyKCkpOworICAg
IEdMaW50IHVuaWZvcm1CdWZmZXJJbmRleDAgPSBnbEdldFVuaWZvcm1CbG9ja0luZGV4KHByb2dy
YW0sICJidWZmZXJbMF0iKTsKKyAgICBHTGludCB1bmlmb3JtQnVmZmVySW5kZXgxID0gZ2xHZXRV
bmlmb3JtQmxvY2tJbmRleChwcm9ncmFtLCAiYnVmZmVyWzFdIik7CisgICAgZ2xHZXRBY3RpdmVV
bmlmb3JtQmxvY2tpdihwcm9ncmFtLCB1bmlmb3JtQnVmZmVySW5kZXgwLCBHTF9VTklGT1JNX0JM
T0NLX0RBVEFfU0laRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZibG9ja1NpemUw
KTsKKyAgICBnbEdldEFjdGl2ZVVuaWZvcm1CbG9ja2l2KHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJ
bmRleDEsIEdMX1VOSUZPUk1fQkxPQ0tfREFUQV9TSVpFLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmJsb2NrU2l6ZTEpOworCisgICAgZ2xCaW5kQnVmZmVyKEdMX1VOSUZPUk1fQlVG
RkVSLCBtVW5pZm9ybUJ1ZmZlcik7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1VOSUZPUk1fQlVGRkVS
LCBibG9ja1NpemUwLCBudWxscHRyLCBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICBnbEJpbmRCdWZm
ZXJCYXNlKEdMX1VOSUZPUk1fQlVGRkVSLCAwLCBtVW5pZm9ybUJ1ZmZlcik7CisgICAgZ2xVbmlm
b3JtQmxvY2tCaW5kaW5nKHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJbmRleDAsIDApOworCisgICAg
Y29uc3QgR0x1aW50IGtWZWN0b3JQZXJNYXQgICA9IDQ7CisgICAgY29uc3QgR0x1aW50IGtGbG9h
dFBlclZlY3RvciA9IDQ7CisgICAgR0x1aW50IGtWZWN0b3JDb3VudCAgICAgICAgICA9IGFycmF5
U2l6ZSAqIGtWZWN0b3JQZXJNYXQ7CisgICAgR0x1aW50IGtGbG9hdENvdW50ICAgICAgICAgICA9
IGtWZWN0b3JDb3VudCAqIGtGbG9hdFBlclZlY3RvcjsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0
PiBmbG9hdERhdGEwKGtGbG9hdENvdW50LCAwLjBmKTsKKyAgICBzdGQ6OnZlY3RvcjxHTGZsb2F0
PiBmbG9hdERhdGExKGtGbG9hdENvdW50LCAwLjBmKTsKKyAgICBjb25zdCBHTHVpbnQga1Bvc2l0
aW9uQ291bnQgICAgICAgICAgICAgICAgICAgID0gMTI7CisgICAgdW5zaWduZWQgaW50IHBvc2l0
aW9uVG9UZXN0W2tQb3NpdGlvbkNvdW50XVsyXSA9IHt7MCwgMH0sICB7NzUsIDB9LCAgezk4LCAx
M30sICB7MzEsIDMxfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHswLCAzMn0sIHs2NSwgMzN9LCB7MjMsIDU0fSwgIHs2MywgNjN9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezAsIDY0
fSwgezQzLCA4Nn0sIHs1MywgMTAwfSwgezEyNywgMTI3fX07CisKKyAgICBmb3IgKEdMdWludCBp
ID0gMDsgaSA8IGtWZWN0b3JDb3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgZmxvYXREYXRhMFs0
ICogaSArIDJdID0gMS4wZjsKKyAgICAgICAgZmxvYXREYXRhMFs0ICogaSArIDNdID0gMS4wZjsK
KyAgICB9CisgICAgZ2xCdWZmZXJTdWJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCAwLCBrRmxvYXRD
b3VudCAqIHNpemVvZihHTGZsb2F0KSwgZmxvYXREYXRhMC5kYXRhKCkpOworCisgICAgR0xCdWZm
ZXIgdW5pZm9ybUJ1ZmZlcjE7CisgICAgZ2xCaW5kQnVmZmVyKEdMX1VOSUZPUk1fQlVGRkVSLCB1
bmlmb3JtQnVmZmVyMSk7CisgICAgZ2xCdWZmZXJEYXRhKEdMX1VOSUZPUk1fQlVGRkVSLCBibG9j
a1NpemUxLCBudWxscHRyLCBHTF9TVEFUSUNfRFJBVyk7CisKKyAgICBnbEJpbmRCdWZmZXJCYXNl
KEdMX1VOSUZPUk1fQlVGRkVSLCAxLCB1bmlmb3JtQnVmZmVyMSk7CisgICAgZ2xVbmlmb3JtQmxv
Y2tCaW5kaW5nKHByb2dyYW0sIHVuaWZvcm1CdWZmZXJJbmRleDAsIDEpOworCisgICAgZm9yIChH
THVpbnQgaSA9IDA7IGkgPCBrVmVjdG9yQ291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIGZsb2F0
RGF0YTFbNCAqIGkgKyAxXSA9IDEuMGY7CisgICAgfQorICAgIGdsQnVmZmVyU3ViRGF0YShHTF9V
TklGT1JNX0JVRkZFUiwgMCwga0Zsb2F0Q291bnQgKiBzaXplb2YoR0xmbG9hdCksIGZsb2F0RGF0
YTEuZGF0YSgpKTsKKworICAgIGRyYXdRdWFkKHByb2dyYW0uZ2V0KCksIGVzc2wzX3NoYWRlcnM6
OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOworICAgIGZvciAoR0x1aW50IGkgPSAwOyBpIDwga1Bv
c2l0aW9uQ291bnQ7IGkrKykKKyAgICB7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUShw
b3NpdGlvblRvVGVzdFtpXVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdMQ29sb3I6OmN5YW4p
OworICAgIH0KKworICAgIGdsQmluZEJ1ZmZlcihHTF9VTklGT1JNX0JVRkZFUiwgbVVuaWZvcm1C
dWZmZXIpOworICAgIGZvciAoR0x1aW50IGkgPSAwOyBpIDwga1ZlY3RvckNvdW50OyBpKyspCisg
ICAgeworICAgICAgICBmbG9hdERhdGEwWzQgKiBpXSAgICAgPSAxLjBmOworICAgICAgICBmbG9h
dERhdGEwWzQgKiBpICsgMl0gPSAwLjBmOworICAgIH0KKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xf
VU5JRk9STV9CVUZGRVIsIDAsIGtGbG9hdENvdW50ICogc2l6ZW9mKEdMZmxvYXQpLCBmbG9hdERh
dGEwLmRhdGEoKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbS5nZXQoKSwgZXNzbDNfc2hhZGVyczo6
UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgZm9yIChHTHVpbnQgaSA9IDA7IGkgPCBrUG9z
aXRpb25Db3VudDsgaSsrKQorICAgIHsKKyAgICAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKHBv
c2l0aW9uVG9UZXN0W2ldWzBdLCBwb3NpdGlvblRvVGVzdFtpXVsxXSwgR0xDb2xvcjo6eWVsbG93
KTsKKyAgICB9CisKKyAgICBnbEJpbmRCdWZmZXIoR0xfVU5JRk9STV9CVUZGRVIsIHVuaWZvcm1C
dWZmZXIxKTsKKyAgICBmb3IgKEdMdWludCBpID0ga1ZlY3RvckNvdW50IC8gNDsgaSA8IGtWZWN0
b3JDb3VudCAvIDI7IGkrKykKKyAgICB7CisgICAgICAgIGZsb2F0RGF0YTFbNCAqIGkgKyAyXSA9
IDEuMGY7CisgICAgICAgIGZsb2F0RGF0YTFbNCAqIGkgKyAxXSA9IDAuMGY7CisgICAgfQorICAg
IGdsQnVmZmVyU3ViRGF0YShHTF9VTklGT1JNX0JVRkZFUiwgMCwga0Zsb2F0Q291bnQgKiBzaXpl
b2YoR0xmbG9hdCksIGZsb2F0RGF0YTEuZGF0YSgpKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLmdl
dCgpLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBmb3IgKEdM
dWludCBpID0gMDsgaSA8IGtQb3NpdGlvbkNvdW50OyBpKyspCisgICAgeworICAgICAgICBpZiAo
cG9zaXRpb25Ub1Rlc3RbaV1bMV0gPiAzMSAmJiBwb3NpdGlvblRvVGVzdFtpXVsxXSA8IDY0KQor
ICAgICAgICB7CisgICAgICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEocG9zaXRpb25Ub1Rl
c3RbaV1bMF0sIHBvc2l0aW9uVG9UZXN0W2ldWzFdLCBHTENvbG9yOjptYWdlbnRhKTsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9D
T0xPUl9FUShwb3NpdGlvblRvVGVzdFtpXVswXSwgcG9zaXRpb25Ub1Rlc3RbaV1bMV0sIEdMQ29s
b3I6OnllbGxvdyk7CisgICAgICAgIH0KKyAgICB9Cit9CisKIC8vIFRlc3QgYSB1bmlmb3JtIGJs
b2NrIHdoZXJlIGFuIGFycmF5IG9mIHJvdy1tYWpvciBtYXRyaWNlcyBpcyBkeW5hbWljYWxseSBp
bmRleGVkLgogVEVTVF9QKFVuaWZvcm1CdWZmZXJUZXN0LCBTdGQxNDBVbmlmb3JtQmxvY2tXaXRo
RHluYW1pY2FsbHlJbmRleGVkUm93TWFqb3JBcnJheSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9WdWxrYW5FeHRlcm5hbEltYWdlVGVz
dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVnVsa2Fu
RXh0ZXJuYWxJbWFnZVRlc3QuY3BwCmluZGV4IGE2OTMzOGFkMzRiOTIxMzQ4M2UzYzk0NjkwOGY0
N2UzMDI4MDU3ZDguLjRmNTc2MTFmYzI4MWRjN2Y3ZDk5NWZlMTEwNjgzMGY3YmNhYmM2ZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9WdWxr
YW5FeHRlcm5hbEltYWdlVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL2dsX3Rlc3RzL1Z1bGthbkV4dGVybmFsSW1hZ2VUZXN0LmNwcApAQCAtMjAsMjQgKzIw
LDYgQEAgbmFtZXNwYWNlCiAKIGNvbnN0ZXhwciBpbnQga0ludmFsaWRGZCA9IC0xOwogCi1Wa0Zv
cm1hdCBDaG9vc2VBbnlJbWFnZUZvcm1hdChjb25zdCBWdWxrYW5FeHRlcm5hbEhlbHBlciAmaGVs
cGVyKQotewotICAgIHN0YXRpYyBjb25zdGV4cHIgVmtGb3JtYXQga0Zvcm1hdHNbXSA9IHsKLSAg
ICAgICAgVktfRk9STUFUX0I4RzhSOEE4X1VOT1JNLAotICAgICAgICBWS19GT1JNQVRfUjhHOEI4
QThfVU5PUk0sCi0gICAgfTsKLQotICAgIGZvciAoVmtGb3JtYXQgZm9ybWF0IDoga0Zvcm1hdHMp
Ci0gICAgewotICAgICAgICBpZiAoaGVscGVyLmNhbkNyZWF0ZUltYWdlT3BhcXVlRmQoZm9ybWF0
LCBWS19JTUFHRV9UWVBFXzJELCBWS19JTUFHRV9USUxJTkdfT1BUSU1BTCkpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIHJldHVybiBmb3JtYXQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1
cm4gVktfRk9STUFUX1VOREVGSU5FRDsKLX0KLQogLy8gTGlzdCBvZiBWa0Zvcm1hdC9pbnRlcm5h
bGZvcm1hdCBjb21iaW5hdGlvbnMgQ2hyb21lIHVzZXMuCiAvLyBUaGlzIGlzIGNvbXBpbGVkIGZy
b20gdGhlIG1hcHMgaW4KIC8vIGNvbXBvbmVudHMvdml6L2NvbW1vbi9yZXNvdXJjZXMvcmVzb3Vy
Y2VfZm9ybWF0X3V0aWxzLmNjLgpAQCAtNjUsNiArNDcsMTMyIEBAIGNvbnN0IHN0cnVjdCBJbWFn
ZUZvcm1hdFBhaXIKICAgICB7VktfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCBHTF9SR0I4X09FU30s
ICAvLyBSR0JYXzg4ODgKIH07CiAKK3N0cnVjdCBPcGFxdWVGZFRyYWl0cworeworICAgIHVzaW5n
IEhhbmRsZSA9IGludDsKKyAgICBzdGF0aWMgSGFuZGxlIEludmFsaWRIYW5kbGUoKSB7IHJldHVy
biBrSW52YWxpZEZkOyB9CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqTWVtb3J5T2JqZWN0RXh0
ZW5zaW9uKCkgeyByZXR1cm4gIkdMX0VYVF9tZW1vcnlfb2JqZWN0X2ZkIjsgfQorICAgIHN0YXRp
YyBjb25zdCBjaGFyICpTZW1hcGhvcmVFeHRlbnNpb24oKSB7IHJldHVybiAiR0xfRVhUX3NlbWFw
aG9yZV9mZCI7IH0KKworICAgIHN0YXRpYyBib29sIENhbkNyZWF0ZVNlbWFwaG9yZShjb25zdCBW
dWxrYW5FeHRlcm5hbEhlbHBlciAmaGVscGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlbHBl
ci5jYW5DcmVhdGVTZW1hcGhvcmVPcGFxdWVGZCgpOworICAgIH0KKworICAgIHN0YXRpYyBWa1Jl
c3VsdCBDcmVhdGVTZW1hcGhvcmUoVnVsa2FuRXh0ZXJuYWxIZWxwZXIgKmhlbHBlciwgVmtTZW1h
cGhvcmUgKnNlbWFwaG9yZSkKKyAgICB7CisgICAgICAgIHJldHVybiBoZWxwZXItPmNyZWF0ZVNl
bWFwaG9yZU9wYXF1ZUZkKHNlbWFwaG9yZSk7CisgICAgfQorCisgICAgc3RhdGljIFZrUmVzdWx0
IEV4cG9ydFNlbWFwaG9yZShWdWxrYW5FeHRlcm5hbEhlbHBlciAqaGVscGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtTZW1hcGhvcmUgc2VtYXBob3JlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlICpoYW5kbGUpCisgICAgeworICAg
ICAgICByZXR1cm4gaGVscGVyLT5leHBvcnRTZW1hcGhvcmVPcGFxdWVGZChzZW1hcGhvcmUsIGhh
bmRsZSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgSW1wb3J0U2VtYXBob3JlKEdMdWludCBz
ZW1hcGhvcmUsIEhhbmRsZSBoYW5kbGUpCisgICAgeworICAgICAgICBnbEltcG9ydFNlbWFwaG9y
ZUZkRVhUKHNlbWFwaG9yZSwgR0xfSEFORExFX1RZUEVfT1BBUVVFX0ZEX0VYVCwgaGFuZGxlKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBDYW5DcmVhdGVJbWFnZShjb25zdCBWdWxrYW5FeHRl
cm5hbEhlbHBlciAmaGVscGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRm9y
bWF0IGZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlVHlwZSB0
eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VUaWxpbmcgdGlsaW5n
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlbHBlci5jYW5DcmVhdGVJbWFnZU9wYXF1ZUZkKGZv
cm1hdCwgdHlwZSwgdGlsaW5nKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVmtSZXN1bHQgQ3JlYXRl
SW1hZ2UyRChWdWxrYW5FeHRlcm5hbEhlbHBlciAqaGVscGVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZrRm9ybWF0IGZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWa0V4dGVudDNEIGV4dGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWa0ltYWdlICppbWFnZU91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWa0RldmljZU1lbW9yeSAqZGV2aWNlTWVtb3J5T3V0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSAqZGV2aWNlTWVtb3J5U2l6ZU91dCkKKyAgICB7
CisgICAgICAgIHJldHVybiBoZWxwZXItPmNyZWF0ZUltYWdlMkRPcGFxdWVGZChmb3JtYXQsIGV4
dGVudCwgaW1hZ2VPdXQsIGRldmljZU1lbW9yeU91dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRldmljZU1lbW9yeVNpemVPdXQpOworICAgIH0KKworICAg
IHN0YXRpYyBWa1Jlc3VsdCBFeHBvcnRNZW1vcnkoVnVsa2FuRXh0ZXJuYWxIZWxwZXIgKmhlbHBl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlTWVtb3J5IGRldmlj
ZU1lbW9yeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZSAqaGFuZGxl
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlbHBlci0+ZXhwb3J0TWVtb3J5T3BhcXVlRmQoZGV2
aWNlTWVtb3J5LCBoYW5kbGUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIEltcG9ydE1lbW9y
eShHTHVpbnQgbWVtb3J5T2JqZWN0LCBHTHVpbnQ2NCBzaXplLCBIYW5kbGUgaGFuZGxlKQorICAg
IHsKKyAgICAgICAgZ2xJbXBvcnRNZW1vcnlGZEVYVChtZW1vcnlPYmplY3QsIHNpemUsIEdMX0hB
TkRMRV9UWVBFX09QQVFVRV9GRF9FWFQsIGhhbmRsZSk7CisgICAgfQorfTsKKworc3RydWN0IEZ1
Y2hzaWFUcmFpdHMKK3sKKyAgICB1c2luZyBIYW5kbGUgPSB6eF9oYW5kbGVfdDsKKworICAgIHN0
YXRpYyBIYW5kbGUgSW52YWxpZEhhbmRsZSgpIHsgcmV0dXJuIFpYX0hBTkRMRV9JTlZBTElEOyB9
CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqTWVtb3J5T2JqZWN0RXh0ZW5zaW9uKCkgeyByZXR1
cm4gIkdMX0FOR0xFX21lbW9yeV9vYmplY3RfZnVjaHNpYSI7IH0KKyAgICBzdGF0aWMgY29uc3Qg
Y2hhciAqU2VtYXBob3JlRXh0ZW5zaW9uKCkgeyByZXR1cm4gIkdMX0FOR0xFX3NlbWFwaG9yZV9m
dWNoc2lhIjsgfQorCisgICAgc3RhdGljIGJvb2wgQ2FuQ3JlYXRlU2VtYXBob3JlKGNvbnN0IFZ1
bGthbkV4dGVybmFsSGVscGVyICZoZWxwZXIpCisgICAgeworICAgICAgICByZXR1cm4gaGVscGVy
LmNhbkNyZWF0ZVNlbWFwaG9yZVppcmNvbkV2ZW50KCk7CisgICAgfQorCisgICAgc3RhdGljIFZr
UmVzdWx0IENyZWF0ZVNlbWFwaG9yZShWdWxrYW5FeHRlcm5hbEhlbHBlciAqaGVscGVyLCBWa1Nl
bWFwaG9yZSAqc2VtYXBob3JlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlbHBlci0+Y3JlYXRl
U2VtYXBob3JlWmlyY29uRXZlbnQoc2VtYXBob3JlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVmtS
ZXN1bHQgRXhwb3J0U2VtYXBob3JlKFZ1bGthbkV4dGVybmFsSGVscGVyICpoZWxwZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa1NlbWFwaG9yZSBzZW1hcGhvcmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGUgKmhhbmRsZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBoZWxwZXItPmV4cG9ydFNlbWFwaG9yZVppcmNvbkV2ZW50KHNlbWFw
aG9yZSwgaGFuZGxlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBJbXBvcnRTZW1hcGhvcmUo
R0x1aW50IHNlbWFwaG9yZSwgSGFuZGxlIGhhbmRsZSkKKyAgICB7CisgICAgICAgIGdsSW1wb3J0
U2VtYXBob3JlWmlyY29uSGFuZGxlQU5HTEUoc2VtYXBob3JlLCBHTF9IQU5ETEVfVFlQRV9aSVJD
T05fRVZFTlRfQU5HTEUsIGhhbmRsZSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgQ2FuQ3Jl
YXRlSW1hZ2UoY29uc3QgVnVsa2FuRXh0ZXJuYWxIZWxwZXIgJmhlbHBlciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa0Zvcm1hdCBmb3JtYXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVmtJbWFnZVR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWa0ltYWdlVGlsaW5nIHRpbGluZykKKyAgICB7CisgICAgICAgIHJldHVybiBoZWxwZXIu
Y2FuQ3JlYXRlSW1hZ2VaaXJjb25WbW8oZm9ybWF0LCB0eXBlLCB0aWxpbmcpOworICAgIH0KKwor
ICAgIHN0YXRpYyBWa1Jlc3VsdCBDcmVhdGVJbWFnZTJEKFZ1bGthbkV4dGVybmFsSGVscGVyICpo
ZWxwZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtGb3JtYXQgZm9ybWF0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRXh0ZW50M0QgZXh0ZW50LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2UgKmltYWdlT3V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlTWVtb3J5ICpkZXZpY2VNZW1v
cnlPdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXplICpk
ZXZpY2VNZW1vcnlTaXplT3V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhlbHBlci0+Y3JlYXRl
SW1hZ2UyRFppcmNvblZtbyhmb3JtYXQsIGV4dGVudCwgaW1hZ2VPdXQsIGRldmljZU1lbW9yeU91
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VN
ZW1vcnlTaXplT3V0KTsKKyAgICB9CisKKyAgICBzdGF0aWMgVmtSZXN1bHQgRXhwb3J0TWVtb3J5
KFZ1bGthbkV4dGVybmFsSGVscGVyICpoZWxwZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWa0RldmljZU1lbW9yeSBkZXZpY2VNZW1vcnksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBIYW5kbGUgKmhhbmRsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBoZWxw
ZXItPmV4cG9ydE1lbW9yeVppcmNvblZtbyhkZXZpY2VNZW1vcnksIGhhbmRsZSk7CisgICAgfQor
CisgICAgc3RhdGljIHZvaWQgSW1wb3J0TWVtb3J5KEdMdWludCBtZW1vcnlPYmplY3QsIEdMdWlu
dDY0IHNpemUsIEhhbmRsZSBoYW5kbGUpCisgICAgeworICAgICAgICBnbEltcG9ydE1lbW9yeVpp
cmNvbkhhbmRsZUFOR0xFKG1lbW9yeU9iamVjdCwgc2l6ZSwgR0xfSEFORExFX1RZUEVfWklSQ09O
X1ZNT19BTkdMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5k
bGUpOworICAgIH0KK307CisKIH0gIC8vIG5hbWVzcGFjZQogCiBjbGFzcyBWdWxrYW5FeHRlcm5h
bEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKQEAgLTgxLDE4ICsxODksMTcgQEAgY2xhc3Mg
VnVsa2FuRXh0ZXJuYWxJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgfQogfTsKIAot
Ly8gZ2xJbXBvcnRNZW1vcnlGZEVYVCBtdXN0IGJlIGFibGUgdG8gaW1wb3J0IGEgdmFsaWQgb3Bh
cXVlIGZkLgotVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBTaG91bGRJbXBvcnRNZW1v
cnlPcGFxdWVGZCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cit2b2lkIFJ1blNob3VsZElt
cG9ydE1lbW9yeVRlc3QoYm9vbCBpc1N3aWZ0c2hhZGVyLCBib29sIGVuYWJsZURlYnVnTGF5ZXJz
KQogewotICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDA5MgotICAgIEFOR0xFX1NLSVBfVEVT
VF9JRihpc1N3aWZ0c2hhZGVyKCkpOwotICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xF
eHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbWVtb3J5X29iamVjdF9mZCIpKTsKKyAgICBBU1NFUlQo
RW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKFRyYWl0czo6TWVtb3J5T2JqZWN0RXh0ZW5zaW9uKCkp
KTsKIAogICAgIFZ1bGthbkV4dGVybmFsSGVscGVyIGhlbHBlcjsKLSAgICBoZWxwZXIuaW5pdGlh
bGl6ZSgpOworICAgIGhlbHBlci5pbml0aWFsaXplKGlzU3dpZnRzaGFkZXIsIGVuYWJsZURlYnVn
TGF5ZXJzKTsKIAotICAgIFZrRm9ybWF0IGZvcm1hdCA9IENob29zZUFueUltYWdlRm9ybWF0KGhl
bHBlcik7Ci0gICAgQU5HTEVfU0tJUF9URVNUX0lGKGZvcm1hdCA9PSBWS19GT1JNQVRfVU5ERUZJ
TkVEKTsKKyAgICBWa0Zvcm1hdCBmb3JtYXQgPSBWS19GT1JNQVRfUjhHOEI4QThfVU5PUk07Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKAorICAgICAgICAhVHJhaXRzOjpDYW5DcmVhdGVJbWFnZSho
ZWxwZXIsIGZvcm1hdCwgVktfSU1BR0VfVFlQRV8yRCwgVktfSU1BR0VfVElMSU5HX09QVElNQUwp
KTsKIAogICAgIFZrSW1hZ2UgaW1hZ2UgICAgICAgICAgICAgICAgID0gVktfTlVMTF9IQU5ETEU7
CiAgICAgVmtEZXZpY2VNZW1vcnkgZGV2aWNlTWVtb3J5ICAgPSBWS19OVUxMX0hBTkRMRTsKQEAg
LTEwMCwyMSArMjA3LDI0IEBAIFRFU1RfUChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxk
SW1wb3J0TWVtb3J5T3BhcXVlRmQpCiAKICAgICBWa0V4dGVudDNEIGV4dGVudCA9IHsxLCAxLCAx
fTsKICAgICBWa1Jlc3VsdCByZXN1bHQgPQotICAgICAgICBoZWxwZXIuY3JlYXRlSW1hZ2UyRE9w
YXF1ZUZkKGZvcm1hdCwgZXh0ZW50LCAmaW1hZ2UsICZkZXZpY2VNZW1vcnksICZkZXZpY2VNZW1v
cnlTaXplKTsKKyAgICAgICAgVHJhaXRzOjpDcmVhdGVJbWFnZTJEKCZoZWxwZXIsIGZvcm1hdCwg
ZXh0ZW50LCAmaW1hZ2UsICZkZXZpY2VNZW1vcnksICZkZXZpY2VNZW1vcnlTaXplKTsKICAgICBF
WFBFQ1RfRVEocmVzdWx0LCBWS19TVUNDRVNTKTsKIAotICAgIGludCBmZCA9IGtJbnZhbGlkRmQ7
Ci0gICAgcmVzdWx0ID0gaGVscGVyLmV4cG9ydE1lbW9yeU9wYXF1ZUZkKGRldmljZU1lbW9yeSwg
JmZkKTsKKyAgICB0eXBlbmFtZSBUcmFpdHM6OkhhbmRsZSBtZW1vcnlIYW5kbGUgPSBUcmFpdHM6
OkludmFsaWRIYW5kbGUoKTsKKyAgICByZXN1bHQgPSBUcmFpdHM6OkV4cG9ydE1lbW9yeSgmaGVs
cGVyLCBkZXZpY2VNZW1vcnksICZtZW1vcnlIYW5kbGUpOwogICAgIEVYUEVDVF9FUShyZXN1bHQs
IFZLX1NVQ0NFU1MpOwotICAgIEVYUEVDVF9ORShmZCwga0ludmFsaWRGZCk7CisgICAgRVhQRUNU
X05FKG1lbW9yeUhhbmRsZSwgVHJhaXRzOjpJbnZhbGlkSGFuZGxlKCkpOwogCiAgICAgewogICAg
ICAgICBHTE1lbW9yeU9iamVjdCBtZW1vcnlPYmplY3Q7Ci0gICAgICAgIGdsSW1wb3J0TWVtb3J5
RmRFWFQobWVtb3J5T2JqZWN0LCBkZXZpY2VNZW1vcnlTaXplLCBHTF9IQU5ETEVfVFlQRV9PUEFR
VUVfRkRfRVhULCBmZCk7CisgICAgICAgIEdMaW50IGRlZGljYXRlZE1lbW9yeSA9IEdMX1RSVUU7
CisgICAgICAgIGdsTWVtb3J5T2JqZWN0UGFyYW1ldGVyaXZFWFQobWVtb3J5T2JqZWN0LCBHTF9E
RURJQ0FURURfTUVNT1JZX09CSkVDVF9FWFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmRlZGljYXRlZE1lbW9yeSk7CisgICAgICAgIFRyYWl0czo6SW1wb3J0TWVtb3J5
KG1lbW9yeU9iamVjdCwgZGV2aWNlTWVtb3J5U2l6ZSwgbWVtb3J5SGFuZGxlKTsKIAogICAgICAg
ICAvLyBUZXN0IHRoYXQgYWZ0ZXIgY2FsbGluZyBnbEltcG9ydE1lbW9yeUZkRVhULCB0aGUgcGFy
YW1ldGVycyBvZiB0aGUgbWVtb3J5IG9iamVjdCBjYW5ub3QKICAgICAgICAgLy8gYmUgY2hhbmdl
ZAotICAgICAgICBHTGludCBkZWRpY2F0ZWRNZW1vcnkgPSBHTF9UUlVFOworICAgICAgICBkZWRp
Y2F0ZWRNZW1vcnkgPSBHTF9GQUxTRTsKICAgICAgICAgZ2xNZW1vcnlPYmplY3RQYXJhbWV0ZXJp
dkVYVChtZW1vcnlPYmplY3QsIEdMX0RFRElDQVRFRF9NRU1PUllfT0JKRUNUX0VYVCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVkaWNhdGVkTWVtb3J5KTsKICAgICAg
ICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKQEAgLTEyNiwzMCArMjM2
LDQyIEBAIFRFU1RfUChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxkSW1wb3J0TWVtb3J5
T3BhcXVlRmQpCiAgICAgdmtGcmVlTWVtb3J5KGhlbHBlci5nZXREZXZpY2UoKSwgZGV2aWNlTWVt
b3J5LCBudWxscHRyKTsKIH0KIAotLy8gZ2xJbXBvcnRTZW1hcGhvcmVGZEVYVCBtdXN0IGJlIGFi
bGUgdG8gaW1wb3J0IGEgdmFsaWQgb3BhcXVlIGZkLgotVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1h
Z2VUZXN0LCBTaG91bGRJbXBvcnRTZW1hcGhvcmVPcGFxdWVGZCkKKy8vIGdsSW1wb3J0TWVtb3J5
RmRFWFQgbXVzdCBiZSBhYmxlIHRvIGltcG9ydCBhIHZhbGlkIG9wYXF1ZSBmZC4KK1RFU1RfUChW
dWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxkSW1wb3J0TWVtb3J5T3BhcXVlRmQpCiB7Ci0g
ICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80MDkyCi0gICAgQU5HTEVfU0tJUF9URVNUX0lGKGlz
U3dpZnRzaGFkZXIoKSk7Ci0gICAgQU5HTEVfU0tJUF9URVNUX0lGKCFFbnN1cmVHTEV4dGVuc2lv
bkVuYWJsZWQoIkdMX0VYVF9zZW1hcGhvcmVfZmQiKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lG
KCFFbnN1cmVHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9tZW1vcnlfb2JqZWN0X2ZkIikpOwor
ICAgIFJ1blNob3VsZEltcG9ydE1lbW9yeVRlc3Q8T3BhcXVlRmRUcmFpdHM+KGlzU3dpZnRzaGFk
ZXIoKSwgZW5hYmxlRGVidWdMYXllcnMoKSk7Cit9CisKKy8vIGdsSW1wb3J0TWVtb3J5WmlyY29u
SGFuZGxlQU5HTEUgbXVzdCBiZSBhYmxlIHRvIGltcG9ydCBhIHZhbGlkIHZtby4KK1RFU1RfUChW
dWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxkSW1wb3J0TWVtb3J5WmlyY29uVm1vKQorewor
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9BTkdM
RV9tZW1vcnlfb2JqZWN0X2Z1Y2hzaWEiKSk7CisgICAgUnVuU2hvdWxkSW1wb3J0TWVtb3J5VGVz
dDxGdWNoc2lhVHJhaXRzPihpc1N3aWZ0c2hhZGVyKCksIGVuYWJsZURlYnVnTGF5ZXJzKCkpOwor
fQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgordm9pZCBSdW5TaG91bGRJbXBvcnRTZW1h
cGhvcmVUZXN0KGJvb2wgaXNTd2lmdHNoYWRlciwgYm9vbCBlbmFibGVEZWJ1Z0xheWVycykKK3sK
KyAgICBBU1NFUlQoRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKFRyYWl0czo6U2VtYXBob3JlRXh0
ZW5zaW9uKCkpKTsKIAogICAgIFZ1bGthbkV4dGVybmFsSGVscGVyIGhlbHBlcjsKLSAgICBoZWxw
ZXIuaW5pdGlhbGl6ZSgpOworICAgIGhlbHBlci5pbml0aWFsaXplKGlzU3dpZnRzaGFkZXIsIGVu
YWJsZURlYnVnTGF5ZXJzKTsKIAotICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGVscGVyLmNhbkNy
ZWF0ZVNlbWFwaG9yZU9wYXF1ZUZkKCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighVHJhaXRz
OjpDYW5DcmVhdGVTZW1hcGhvcmUoaGVscGVyKSk7CiAKICAgICBWa1NlbWFwaG9yZSB2a1NlbWFw
aG9yZSA9IFZLX05VTExfSEFORExFOwogICAgIFZrUmVzdWx0IHJlc3VsdCAgICAgICAgID0gaGVs
cGVyLmNyZWF0ZVNlbWFwaG9yZU9wYXF1ZUZkKCZ2a1NlbWFwaG9yZSk7CiAgICAgRVhQRUNUX0VR
KHJlc3VsdCwgVktfU1VDQ0VTUyk7CiAKLSAgICBpbnQgZmQgPSBrSW52YWxpZEZkOwotICAgIHJl
c3VsdCA9IGhlbHBlci5leHBvcnRTZW1hcGhvcmVPcGFxdWVGZCh2a1NlbWFwaG9yZSwgJmZkKTsK
KyAgICB0eXBlbmFtZSBUcmFpdHM6OkhhbmRsZSBzZW1hcGhvcmVIYW5kbGUgPSBUcmFpdHM6Oklu
dmFsaWRIYW5kbGUoKTsKKyAgICByZXN1bHQgPSBUcmFpdHM6OkV4cG9ydFNlbWFwaG9yZSgmaGVs
cGVyLCB2a1NlbWFwaG9yZSwgJnNlbWFwaG9yZUhhbmRsZSk7CiAgICAgRVhQRUNUX0VRKHJlc3Vs
dCwgVktfU1VDQ0VTUyk7Ci0gICAgRVhQRUNUX05FKGZkLCBrSW52YWxpZEZkKTsKKyAgICBFWFBF
Q1RfTkUoc2VtYXBob3JlSGFuZGxlLCBUcmFpdHM6OkludmFsaWRIYW5kbGUoKSk7CiAKICAgICB7
CiAgICAgICAgIEdMU2VtYXBob3JlIGdsU2VtYXBob3JlOwotICAgICAgICBnbEltcG9ydFNlbWFw
aG9yZUZkRVhUKGdsU2VtYXBob3JlLCBHTF9IQU5ETEVfVFlQRV9PUEFRVUVfRkRfRVhULCBmZCk7
CisgICAgICAgIFRyYWl0czo6SW1wb3J0U2VtYXBob3JlKGdsU2VtYXBob3JlLCBzZW1hcGhvcmVI
YW5kbGUpOwogICAgIH0KIAogICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOwpAQCAtMTU3LDE5ICsy
NzksMzEgQEAgVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBTaG91bGRJbXBvcnRTZW1h
cGhvcmVPcGFxdWVGZCkKICAgICB2a0Rlc3Ryb3lTZW1hcGhvcmUoaGVscGVyLmdldERldmljZSgp
LCB2a1NlbWFwaG9yZSwgbnVsbHB0cik7CiB9CiAKLS8vIFRlc3QgY3JlYXRpbmcgYW5kIGNsZWFy
aW5nIGEgc2ltcGxlIFJHQkE4IHRleHR1cmUgaW4gYSBvcGFxdWUgZmQuCi1URVNUX1AoVnVsa2Fu
RXh0ZXJuYWxJbWFnZVRlc3QsIFNob3VsZENsZWFyT3BhcXVlRmRSR0JBOCkKKy8vIGdsSW1wb3J0
U2VtYXBob3JlRmRFWFQgbXVzdCBiZSBhYmxlIHRvIGltcG9ydCBhIHZhbGlkIG9wYXF1ZSBmZC4K
K1RFU1RfUChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxkSW1wb3J0U2VtYXBob3JlT3Bh
cXVlRmQpCiB7Ci0gICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80MjI5Ci0gICAgQU5HTEVfU0tJ
UF9URVNUX0lGKElzVnVsa2FuKCkpOwotICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xF
eHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbWVtb3J5X29iamVjdF9mZCIpKTsKKyAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoIUVuc3VyZUdMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NlbWFwaG9yZV9m
ZCIpKTsKKyAgICBSdW5TaG91bGRJbXBvcnRTZW1hcGhvcmVUZXN0PE9wYXF1ZUZkVHJhaXRzPihp
c1N3aWZ0c2hhZGVyKCksIGVuYWJsZURlYnVnTGF5ZXJzKCkpOworfQorCisvLyBnbEltcG9ydFNl
bWFwaG9yZVppcmNvbkhhbmRsZUFOR0xFIG11c3QgYmUgYWJsZSB0byBpbXBvcnQgYSB2YWxpZCBo
YW5kbGUuCitURVNUX1AoVnVsa2FuRXh0ZXJuYWxJbWFnZVRlc3QsIFNob3VsZEltcG9ydFNlbWFw
aG9yZVppcmNvbkV2ZW50KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRl
bnNpb25FbmFibGVkKCJHTF9BTkdMRV9zZW1hcGhvcmVfZnVjaHNpYSIpKTsKKyAgICBSdW5TaG91
bGRJbXBvcnRTZW1hcGhvcmVUZXN0PEZ1Y2hzaWFUcmFpdHM+KGlzU3dpZnRzaGFkZXIoKSwgZW5h
YmxlRGVidWdMYXllcnMoKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cit2b2lk
IFJ1blNob3VsZENsZWFyVGVzdChib29sIGlzU3dpZnRzaGFkZXIsIGJvb2wgZW5hYmxlRGVidWdM
YXllcnMpCit7CisgICAgQVNTRVJUKEVuc3VyZUdMRXh0ZW5zaW9uRW5hYmxlZChUcmFpdHM6Ok1l
bW9yeU9iamVjdEV4dGVuc2lvbigpKSk7CiAKICAgICBWdWxrYW5FeHRlcm5hbEhlbHBlciBoZWxw
ZXI7Ci0gICAgaGVscGVyLmluaXRpYWxpemUoKTsKKyAgICBoZWxwZXIuaW5pdGlhbGl6ZShpc1N3
aWZ0c2hhZGVyLCBlbmFibGVEZWJ1Z0xheWVycyk7CiAKICAgICBWa0Zvcm1hdCBmb3JtYXQgPSBW
S19GT1JNQVRfUjhHOEI4QThfVU5PUk07CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKAotICAgICAg
ICAhaGVscGVyLmNhbkNyZWF0ZUltYWdlT3BhcXVlRmQoZm9ybWF0LCBWS19JTUFHRV9UWVBFXzJE
LCBWS19JTUFHRV9USUxJTkdfT1BUSU1BTCkpOworICAgICAgICAhVHJhaXRzOjpDYW5DcmVhdGVJ
bWFnZShoZWxwZXIsIGZvcm1hdCwgVktfSU1BR0VfVFlQRV8yRCwgVktfSU1BR0VfVElMSU5HX09Q
VElNQUwpKTsKIAogICAgIFZrSW1hZ2UgaW1hZ2UgICAgICAgICAgICAgICAgID0gVktfTlVMTF9I
QU5ETEU7CiAgICAgVmtEZXZpY2VNZW1vcnkgZGV2aWNlTWVtb3J5ICAgPSBWS19OVUxMX0hBTkRM
RTsKQEAgLTE3NywxNyArMzExLDIwIEBAIFRFU1RfUChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwg
U2hvdWxkQ2xlYXJPcGFxdWVGZFJHQkE4KQogCiAgICAgVmtFeHRlbnQzRCBleHRlbnQgPSB7MSwg
MSwgMX07CiAgICAgVmtSZXN1bHQgcmVzdWx0ID0KLSAgICAgICAgaGVscGVyLmNyZWF0ZUltYWdl
MkRPcGFxdWVGZChmb3JtYXQsIGV4dGVudCwgJmltYWdlLCAmZGV2aWNlTWVtb3J5LCAmZGV2aWNl
TWVtb3J5U2l6ZSk7CisgICAgICAgIFRyYWl0czo6Q3JlYXRlSW1hZ2UyRCgmaGVscGVyLCBmb3Jt
YXQsIGV4dGVudCwgJmltYWdlLCAmZGV2aWNlTWVtb3J5LCAmZGV2aWNlTWVtb3J5U2l6ZSk7CiAg
ICAgRVhQRUNUX0VRKHJlc3VsdCwgVktfU1VDQ0VTUyk7CiAKLSAgICBpbnQgZmQgPSBrSW52YWxp
ZEZkOwotICAgIHJlc3VsdCA9IGhlbHBlci5leHBvcnRNZW1vcnlPcGFxdWVGZChkZXZpY2VNZW1v
cnksICZmZCk7CisgICAgdHlwZW5hbWUgVHJhaXRzOjpIYW5kbGUgbWVtb3J5SGFuZGxlID0gVHJh
aXRzOjpJbnZhbGlkSGFuZGxlKCk7CisgICAgcmVzdWx0ID0gVHJhaXRzOjpFeHBvcnRNZW1vcnko
JmhlbHBlciwgZGV2aWNlTWVtb3J5LCAmbWVtb3J5SGFuZGxlKTsKICAgICBFWFBFQ1RfRVEocmVz
dWx0LCBWS19TVUNDRVNTKTsKLSAgICBFWFBFQ1RfTkUoZmQsIGtJbnZhbGlkRmQpOworICAgIEVY
UEVDVF9ORShtZW1vcnlIYW5kbGUsIFRyYWl0czo6SW52YWxpZEhhbmRsZSgpKTsKIAogICAgIHsK
ICAgICAgICAgR0xNZW1vcnlPYmplY3QgbWVtb3J5T2JqZWN0OwotICAgICAgICBnbEltcG9ydE1l
bW9yeUZkRVhUKG1lbW9yeU9iamVjdCwgZGV2aWNlTWVtb3J5U2l6ZSwgR0xfSEFORExFX1RZUEVf
T1BBUVVFX0ZEX0VYVCwgZmQpOworICAgICAgICBHTGludCBkZWRpY2F0ZWRNZW1vcnkgPSBHTF9U
UlVFOworICAgICAgICBnbE1lbW9yeU9iamVjdFBhcmFtZXRlcml2RVhUKG1lbW9yeU9iamVjdCwg
R0xfREVESUNBVEVEX01FTU9SWV9PQkpFQ1RfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZkZWRpY2F0ZWRNZW1vcnkpOworICAgICAgICBUcmFpdHM6OkltcG9ydE1l
bW9yeShtZW1vcnlPYmplY3QsIGRldmljZU1lbW9yeVNpemUsIG1lbW9yeUhhbmRsZSk7CiAKICAg
ICAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgdGV4dHVyZSk7CkBAIC0yMDksNzIgKzM0NiwzMyBAQCBURVNUX1AoVnVsa2FuRXh0ZXJu
YWxJbWFnZVRlc3QsIFNob3VsZENsZWFyT3BhcXVlRmRSR0JBOCkKICAgICB2a0ZyZWVNZW1vcnko
aGVscGVyLmdldERldmljZSgpLCBkZXZpY2VNZW1vcnksIG51bGxwdHIpOwogfQogCisvLyBUZXN0
IGNyZWF0aW5nIGFuZCBjbGVhcmluZyBhIHNpbXBsZSBSR0JBOCB0ZXh0dXJlIGluIGEgb3BhcXVl
IGZkLgorVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBTaG91bGRDbGVhck9wYXF1ZUZk
UkdCQTgpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFFbnN1cmVHTEV4dGVuc2lvbkVuYWJs
ZWQoIkdMX0VYVF9tZW1vcnlfb2JqZWN0X2ZkIikpOworICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5j
b20vNDYzMAorICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJc0FuZHJvaWQoKSAmJiAoSXNQaXhlbDIo
KSB8fCBJc1BpeGVsMlhMKCkpKTsKKyAgICBSdW5TaG91bGRDbGVhclRlc3Q8T3BhcXVlRmRUcmFp
dHM+KGlzU3dpZnRzaGFkZXIoKSwgZW5hYmxlRGVidWdMYXllcnMoKSk7Cit9CisKIC8vIFRlc3Qg
Y3JlYXRpbmcgYW5kIGNsZWFyaW5nIGEgc2ltcGxlIFJHQkE4IHRleHR1cmUgaW4gYSB6aXJjb24g
dm1vLgogVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBTaG91bGRDbGVhclppcmNvblZt
b1JHQkE4KQogewotICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDIyOQotICAgIEFOR0xFX1NL
SVBfVEVTVF9JRihJc1Z1bGthbigpKTsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUVuc3VyZUdM
RXh0ZW5zaW9uRW5hYmxlZCgiR0xfQU5HTEVfbWVtb3J5X29iamVjdF9mdWNoc2lhIikpOwotCi0g
ICAgVnVsa2FuRXh0ZXJuYWxIZWxwZXIgaGVscGVyOwotICAgIGhlbHBlci5pbml0aWFsaXplKCk7
Ci0KLSAgICBWa0Zvcm1hdCBmb3JtYXQgPSBWS19GT1JNQVRfUjhHOEI4QThfVU5PUk07Ci0gICAg
QU5HTEVfU0tJUF9URVNUX0lGKAotICAgICAgICAhaGVscGVyLmNhbkNyZWF0ZUltYWdlWmlyY29u
Vm1vKGZvcm1hdCwgVktfSU1BR0VfVFlQRV8yRCwgVktfSU1BR0VfVElMSU5HX09QVElNQUwpKTsK
LQotICAgIFZrSW1hZ2UgaW1hZ2UgICAgICAgICAgICAgICAgID0gVktfTlVMTF9IQU5ETEU7Ci0g
ICAgVmtEZXZpY2VNZW1vcnkgZGV2aWNlTWVtb3J5ICAgPSBWS19OVUxMX0hBTkRMRTsKLSAgICBW
a0RldmljZVNpemUgZGV2aWNlTWVtb3J5U2l6ZSA9IDA7Ci0KLSAgICBWa0V4dGVudDNEIGV4dGVu
dCA9IHsxLCAxLCAxfTsKLSAgICBWa1Jlc3VsdCByZXN1bHQgPQotICAgICAgICBoZWxwZXIuY3Jl
YXRlSW1hZ2UyRFppcmNvblZtbyhmb3JtYXQsIGV4dGVudCwgJmltYWdlLCAmZGV2aWNlTWVtb3J5
LCAmZGV2aWNlTWVtb3J5U2l6ZSk7Ci0gICAgRVhQRUNUX0VRKHJlc3VsdCwgVktfU1VDQ0VTUyk7
Ci0KLSAgICB6eF9oYW5kbGVfdCB2bW8gPSBaWF9IQU5ETEVfSU5WQUxJRDsKLSAgICByZXN1bHQg
ICAgICAgICAgPSBoZWxwZXIuZXhwb3J0TWVtb3J5WmlyY29uVm1vKGRldmljZU1lbW9yeSwgJnZt
byk7Ci0gICAgRVhQRUNUX0VRKHJlc3VsdCwgVktfU1VDQ0VTUyk7Ci0gICAgRVhQRUNUX05FKHZt
bywgWlhfSEFORExFX0lOVkFMSUQpOwotCi0gICAgewotICAgICAgICBHTE1lbW9yeU9iamVjdCBt
ZW1vcnlPYmplY3Q7Ci0gICAgICAgIGdsSW1wb3J0TWVtb3J5WmlyY29uSGFuZGxlQU5HTEUobWVt
b3J5T2JqZWN0LCBkZXZpY2VNZW1vcnlTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMX0hBTkRMRV9UWVBFX1pJUkNPTl9WTU9fQU5HTEUsIHZtbyk7Ci0KLSAg
ICAgICAgR0xUZXh0dXJlIHRleHR1cmU7Ci0gICAgICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgdGV4dHVyZSk7Ci0gICAgICAgIGdsVGV4U3RvcmFnZU1lbTJERVhUKEdMX1RFWFRVUkVf
MkQsIDEsIEdMX1JHQkE4LCAxLCAxLCBtZW1vcnlPYmplY3QsIDApOwotCi0gICAgICAgIEdMRnJh
bWVidWZmZXIgZnJhbWVidWZmZXI7Ci0gICAgICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1F
QlVGRkVSLCBmcmFtZWJ1ZmZlcik7Ci0gICAgICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xf
RlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJELCB0ZXh0dXJl
LCAwKTsKLQotICAgICAgICBnbENsZWFyQ29sb3IoMC41ZiwgMC41ZiwgMC41ZiwgMC41Zik7Ci0g
ICAgICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7Ci0KLSAgICAgICAgRVhQRUNUX1BJ
WEVMX05FQVIoMCwgMCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxLjApOwotICAgIH0KLQotICAgIEVY
UEVDVF9HTF9OT19FUlJPUigpOwotCi0gICAgdmtEZXN0cm95SW1hZ2UoaGVscGVyLmdldERldmlj
ZSgpLCBpbWFnZSwgbnVsbHB0cik7Ci0gICAgdmtGcmVlTWVtb3J5KGhlbHBlci5nZXREZXZpY2Uo
KSwgZGV2aWNlTWVtb3J5LCBudWxscHRyKTsKKyAgICBSdW5TaG91bGRDbGVhclRlc3Q8RnVjaHNp
YVRyYWl0cz4oaXNTd2lmdHNoYWRlcigpLCBlbmFibGVEZWJ1Z0xheWVycygpKTsKIH0KIAotLy8g
VGVzdCBhbGwgZm9ybWF0IGNvbWJpbmF0aW9ucyB1c2VkIGJ5IENocm9tZSBpbXBvcnQgc3VjY2Vz
c2Z1bGx5IChvcGFxdWUgZmQpLgotVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBUZXh0
dXJlRm9ybWF0Q29tcGF0Q2hyb21pdW1GZCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cit2
b2lkIFJ1blRleHR1cmVGb3JtYXRDb21wYXRDaHJvbWl1bVRlc3QoYm9vbCBpc1N3aWZ0c2hhZGVy
LCBib29sIGVuYWJsZURlYnVnTGF5ZXJzKQogewotICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5z
dXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbWVtb3J5X29iamVjdF9mZCIpKTsKLSAgICAv
LyBodHRwOi8vYW5nbGVidWcuY29tLzQwOTIKLSAgICBBTkdMRV9TS0lQX1RFU1RfSUYoaXNTd2lm
dHNoYWRlcigpKTsKKyAgICBBU1NFUlQoRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKFRyYWl0czo6
TWVtb3J5T2JqZWN0RXh0ZW5zaW9uKCkpKTsKIAogICAgIFZ1bGthbkV4dGVybmFsSGVscGVyIGhl
bHBlcjsKLSAgICBoZWxwZXIuaW5pdGlhbGl6ZSgpOworICAgIGhlbHBlci5pbml0aWFsaXplKGlz
U3dpZnRzaGFkZXIsIGVuYWJsZURlYnVnTGF5ZXJzKTsKICAgICBmb3IgKGNvbnN0IEltYWdlRm9y
bWF0UGFpciAmZm9ybWF0IDoga0Nocm9tZUZvcm1hdHMpCiAgICAgewotICAgICAgICBpZiAoIWhl
bHBlci5jYW5DcmVhdGVJbWFnZU9wYXF1ZUZkKGZvcm1hdC52a0Zvcm1hdCwgVktfSU1BR0VfVFlQ
RV8yRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19JTUFH
RV9USUxJTkdfT1BUSU1BTCkpCisgICAgICAgIGlmICghVHJhaXRzOjpDYW5DcmVhdGVJbWFnZSho
ZWxwZXIsIGZvcm1hdC52a0Zvcm1hdCwgVktfSU1BR0VfVFlQRV8yRCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZLX0lNQUdFX1RJTElOR19PUFRJTUFMKSkKICAgICAgICAg
ewogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTI4OSwxOCArMzg3LDIxIEBA
IFRFU1RfUChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgVGV4dHVyZUZvcm1hdENvbXBhdENocm9t
aXVtRmQpCiAgICAgICAgIFZrRGV2aWNlU2l6ZSBkZXZpY2VNZW1vcnlTaXplID0gMDsKIAogICAg
ICAgICBWa0V4dGVudDNEIGV4dGVudCA9IHsxMTMsIDIxMSwgMX07Ci0gICAgICAgIFZrUmVzdWx0
IHJlc3VsdCAgID0gaGVscGVyLmNyZWF0ZUltYWdlMkRPcGFxdWVGZChmb3JtYXQudmtGb3JtYXQs
IGV4dGVudCwgJmltYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZkZXZpY2VNZW1vcnksICZkZXZpY2VNZW1vcnlTaXplKTsKKyAgICAg
ICAgVmtSZXN1bHQgcmVzdWx0ICAgPSBUcmFpdHM6OkNyZWF0ZUltYWdlMkQoJmhlbHBlciwgZm9y
bWF0LnZrRm9ybWF0LCBleHRlbnQsICZpbWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkZXZpY2VNZW1vcnksICZkZXZpY2VNZW1vcnlTaXplKTsK
ICAgICAgICAgRVhQRUNUX0VRKHJlc3VsdCwgVktfU1VDQ0VTUyk7CiAKLSAgICAgICAgaW50IGZk
ID0ga0ludmFsaWRGZDsKLSAgICAgICAgcmVzdWx0ID0gaGVscGVyLmV4cG9ydE1lbW9yeU9wYXF1
ZUZkKGRldmljZU1lbW9yeSwgJmZkKTsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzOjpIYW5kbGUg
bWVtb3J5SGFuZGxlID0gVHJhaXRzOjpJbnZhbGlkSGFuZGxlKCk7CisgICAgICAgIHJlc3VsdCA9
IFRyYWl0czo6RXhwb3J0TWVtb3J5KCZoZWxwZXIsIGRldmljZU1lbW9yeSwgJm1lbW9yeUhhbmRs
ZSk7CiAgICAgICAgIEVYUEVDVF9FUShyZXN1bHQsIFZLX1NVQ0NFU1MpOwotICAgICAgICBFWFBF
Q1RfTkUoZmQsIGtJbnZhbGlkRmQpOworICAgICAgICBFWFBFQ1RfTkUobWVtb3J5SGFuZGxlLCBU
cmFpdHM6OkludmFsaWRIYW5kbGUoKSk7CiAKICAgICAgICAgewogICAgICAgICAgICAgR0xNZW1v
cnlPYmplY3QgbWVtb3J5T2JqZWN0OwotICAgICAgICAgICAgZ2xJbXBvcnRNZW1vcnlGZEVYVCht
ZW1vcnlPYmplY3QsIGRldmljZU1lbW9yeVNpemUsIEdMX0hBTkRMRV9UWVBFX09QQVFVRV9GRF9F
WFQsIGZkKTsKKyAgICAgICAgICAgIEdMaW50IGRlZGljYXRlZE1lbW9yeSA9IEdMX1RSVUU7Cisg
ICAgICAgICAgICBnbE1lbW9yeU9iamVjdFBhcmFtZXRlcml2RVhUKG1lbW9yeU9iamVjdCwgR0xf
REVESUNBVEVEX01FTU9SWV9PQkpFQ1RfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZGVkaWNhdGVkTWVtb3J5KTsKKyAgICAgICAgICAgIFRyYWl0czo6SW1w
b3J0TWVtb3J5KG1lbW9yeU9iamVjdCwgZGV2aWNlTWVtb3J5U2l6ZSwgbWVtb3J5SGFuZGxlKTsK
IAogICAgICAgICAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgICAgICAgICBnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfMkQsIHRleHR1cmUpOwpAQCAtMzE1LDU4ICs0MTYsMTY4IEBAIFRFU1Rf
UChWdWxrYW5FeHRlcm5hbEltYWdlVGVzdCwgVGV4dHVyZUZvcm1hdENvbXBhdENocm9taXVtRmQp
CiAgICAgfQogfQogCisvLyBUZXN0IGFsbCBmb3JtYXQgY29tYmluYXRpb25zIHVzZWQgYnkgQ2hy
b21lIGltcG9ydCBzdWNjZXNzZnVsbHkgKG9wYXF1ZSBmZCkuCitURVNUX1AoVnVsa2FuRXh0ZXJu
YWxJbWFnZVRlc3QsIFRleHR1cmVGb3JtYXRDb21wYXRDaHJvbWl1bUZkKQoreworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbWVtb3J5X29i
amVjdF9mZCIpKTsKKyAgICBSdW5UZXh0dXJlRm9ybWF0Q29tcGF0Q2hyb21pdW1UZXN0PE9wYXF1
ZUZkVHJhaXRzPihpc1N3aWZ0c2hhZGVyKCksIGVuYWJsZURlYnVnTGF5ZXJzKCkpOworfQorCiAv
LyBUZXN0IGFsbCBmb3JtYXQgY29tYmluYXRpb25zIHVzZWQgYnkgQ2hyb21lIGltcG9ydCBzdWNj
ZXNzZnVsbHkgKGZ1Y2hzaWEpLgotVEVTVF9QKFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LCBUZXh0
dXJlRm9ybWF0Q29tcGF0Q2hyb21pdW1aaXJjb25IYW5kbGUpCitURVNUX1AoVnVsa2FuRXh0ZXJu
YWxJbWFnZVRlc3QsIFRleHR1cmVGb3JtYXRDb21wYXRDaHJvbWl1bVppcmNvblZtbykKIHsKICAg
ICBBTkdMRV9TS0lQX1RFU1RfSUYoIUVuc3VyZUdMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfQU5HTEVf
bWVtb3J5X29iamVjdF9mdWNoc2lhIikpOwotICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDA5
MgotICAgIEFOR0xFX1NLSVBfVEVTVF9JRihpc1N3aWZ0c2hhZGVyKCkpOworICAgIFJ1blRleHR1
cmVGb3JtYXRDb21wYXRDaHJvbWl1bVRlc3Q8RnVjaHNpYVRyYWl0cz4oaXNTd2lmdHNoYWRlcigp
LCBlbmFibGVEZWJ1Z0xheWVycygpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4K
K3ZvaWQgUnVuU2hvdWxkQ2xlYXJXaXRoU2VtYXBob3Jlc1Rlc3QoYm9vbCBpc1N3aWZ0c2hhZGVy
LCBib29sIGVuYWJsZURlYnVnTGF5ZXJzKQoreworICAgIEFTU0VSVChFbnN1cmVHTEV4dGVuc2lv
bkVuYWJsZWQoVHJhaXRzOjpNZW1vcnlPYmplY3RFeHRlbnNpb24oKSkpOworICAgIEFTU0VSVChF
bnN1cmVHTEV4dGVuc2lvbkVuYWJsZWQoVHJhaXRzOjpTZW1hcGhvcmVFeHRlbnNpb24oKSkpOwog
CiAgICAgVnVsa2FuRXh0ZXJuYWxIZWxwZXIgaGVscGVyOwotICAgIGhlbHBlci5pbml0aWFsaXpl
KCk7Ci0gICAgZm9yIChjb25zdCBJbWFnZUZvcm1hdFBhaXIgJmZvcm1hdCA6IGtDaHJvbWVGb3Jt
YXRzKQotICAgIHsKLSAgICAgICAgaWYgKCFoZWxwZXIuY2FuQ3JlYXRlSW1hZ2VaaXJjb25WbW8o
Zm9ybWF0LnZrRm9ybWF0LCBWS19JTUFHRV9UWVBFXzJELAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWS19JTUFHRV9USUxJTkdfT1BUSU1BTCkpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9CisgICAgaGVscGVyLmluaXRpYWxp
emUoaXNTd2lmdHNoYWRlciwgZW5hYmxlRGVidWdMYXllcnMpOwogCi0gICAgICAgIGlmIChmb3Jt
YXQucmVxdWlyZWRFeHRlbnNpb24gJiYgIUlzR0xFeHRlbnNpb25FbmFibGVkKGZvcm1hdC5yZXF1
aXJlZEV4dGVuc2lvbikpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICB9CisgICAgVmtGb3JtYXQgZm9ybWF0ID0gVktfRk9STUFUX1I4RzhCOEE4X1VOT1JNOworICAg
IEFOR0xFX1NLSVBfVEVTVF9JRigKKyAgICAgICAgIVRyYWl0czo6Q2FuQ3JlYXRlSW1hZ2UoaGVs
cGVyLCBmb3JtYXQsIFZLX0lNQUdFX1RZUEVfMkQsIFZLX0lNQUdFX1RJTElOR19PUFRJTUFMKSk7
CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFUcmFpdHM6OkNhbkNyZWF0ZVNlbWFwaG9yZShoZWxw
ZXIpKTsKIAotICAgICAgICBWa0ltYWdlIGltYWdlICAgICAgICAgICAgICAgICA9IFZLX05VTExf
SEFORExFOwotICAgICAgICBWa0RldmljZU1lbW9yeSBkZXZpY2VNZW1vcnkgICA9IFZLX05VTExf
SEFORExFOwotICAgICAgICBWa0RldmljZVNpemUgZGV2aWNlTWVtb3J5U2l6ZSA9IDA7CisgICAg
VmtTZW1hcGhvcmUgdmtBY3F1aXJlU2VtYXBob3JlID0gVktfTlVMTF9IQU5ETEU7CisgICAgVmtS
ZXN1bHQgcmVzdWx0ICAgICAgICAgICAgICAgID0gVHJhaXRzOjpDcmVhdGVTZW1hcGhvcmUoJmhl
bHBlciwgJnZrQWNxdWlyZVNlbWFwaG9yZSk7CisgICAgRVhQRUNUX0VRKHJlc3VsdCwgVktfU1VD
Q0VTUyk7CisgICAgRVhQRUNUX1RSVUUodmtBY3F1aXJlU2VtYXBob3JlICE9IFZLX05VTExfSEFO
RExFKTsKIAotICAgICAgICBWa0V4dGVudDNEIGV4dGVudCA9IHsxMTMsIDIxMSwgMX07Ci0gICAg
ICAgIFZrUmVzdWx0IHJlc3VsdCAgID0gaGVscGVyLmNyZWF0ZUltYWdlMkRaaXJjb25WbW8oZm9y
bWF0LnZrRm9ybWF0LCBleHRlbnQsICZpbWFnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRldmljZU1lbW9yeSwgJmRldmljZU1lbW9y
eVNpemUpOwotICAgICAgICBFWFBFQ1RfRVEocmVzdWx0LCBWS19TVUNDRVNTKTsKKyAgICBWa1Nl
bWFwaG9yZSB2a1JlbGVhc2VTZW1hcGhvcmUgPSBWS19OVUxMX0hBTkRMRTsKKyAgICByZXN1bHQg
ICAgICAgICAgICAgICAgICAgICAgICAgPSBUcmFpdHM6OkNyZWF0ZVNlbWFwaG9yZSgmaGVscGVy
LCAmdmtSZWxlYXNlU2VtYXBob3JlKTsKKyAgICBFWFBFQ1RfRVEocmVzdWx0LCBWS19TVUNDRVNT
KTsKKyAgICBFWFBFQ1RfVFJVRSh2a1JlbGVhc2VTZW1hcGhvcmUgIT0gVktfTlVMTF9IQU5ETEUp
OwogCi0gICAgICAgIHp4X2hhbmRsZV90IHZtbyA9IFpYX0hBTkRMRV9JTlZBTElEOwotICAgICAg
ICByZXN1bHQgICAgICAgICAgPSBoZWxwZXIuZXhwb3J0TWVtb3J5WmlyY29uVm1vKGRldmljZU1l
bW9yeSwgJnZtbyk7Ci0gICAgICAgIEVYUEVDVF9FUShyZXN1bHQsIFZLX1NVQ0NFU1MpOwotICAg
ICAgICBFWFBFQ1RfTkUodm1vLCBaWF9IQU5ETEVfSU5WQUxJRCk7CisgICAgdHlwZW5hbWUgVHJh
aXRzOjpIYW5kbGUgYWNxdWlyZVNlbWFwaG9yZUhhbmRsZSA9IFRyYWl0czo6SW52YWxpZEhhbmRs
ZSgpOworICAgIHJlc3VsdCA9IFRyYWl0czo6RXhwb3J0U2VtYXBob3JlKCZoZWxwZXIsIHZrQWNx
dWlyZVNlbWFwaG9yZSwgJmFjcXVpcmVTZW1hcGhvcmVIYW5kbGUpOworICAgIEVYUEVDVF9FUShy
ZXN1bHQsIFZLX1NVQ0NFU1MpOworICAgIEVYUEVDVF9ORShhY3F1aXJlU2VtYXBob3JlSGFuZGxl
LCBUcmFpdHM6OkludmFsaWRIYW5kbGUoKSk7CiAKLSAgICAgICAgewotICAgICAgICAgICAgR0xN
ZW1vcnlPYmplY3QgbWVtb3J5T2JqZWN0OwotICAgICAgICAgICAgZ2xJbXBvcnRNZW1vcnlaaXJj
b25IYW5kbGVBTkdMRShtZW1vcnlPYmplY3QsIGRldmljZU1lbW9yeVNpemUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX0hBTkRMRV9UWVBFX1pJUkNPTl9W
TU9fQU5HTEUsIHZtbyk7CisgICAgdHlwZW5hbWUgVHJhaXRzOjpIYW5kbGUgcmVsZWFzZVNlbWFw
aG9yZUhhbmRsZSA9IFRyYWl0czo6SW52YWxpZEhhbmRsZSgpOworICAgIHJlc3VsdCA9IFRyYWl0
czo6RXhwb3J0U2VtYXBob3JlKCZoZWxwZXIsIHZrUmVsZWFzZVNlbWFwaG9yZSwgJnJlbGVhc2VT
ZW1hcGhvcmVIYW5kbGUpOworICAgIEVYUEVDVF9FUShyZXN1bHQsIFZLX1NVQ0NFU1MpOworICAg
IEVYUEVDVF9ORShyZWxlYXNlU2VtYXBob3JlSGFuZGxlLCBUcmFpdHM6OkludmFsaWRIYW5kbGUo
KSk7CiAKLSAgICAgICAgICAgIEdMVGV4dHVyZSB0ZXh0dXJlOwotICAgICAgICAgICAgZ2xCaW5k
VGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsKLSAgICAgICAgICAgIGdsVGV4U3RvcmFn
ZU1lbTJERVhUKEdMX1RFWFRVUkVfMkQsIDEsIGZvcm1hdC5pbnRlcm5hbEZvcm1hdCwgZXh0ZW50
LndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50LmhlaWdodCwg
bWVtb3J5T2JqZWN0LCAwKTsKLSAgICAgICAgfQorICAgIFZrSW1hZ2UgaW1hZ2UgICAgICAgICAg
ICAgICAgID0gVktfTlVMTF9IQU5ETEU7CisgICAgVmtEZXZpY2VNZW1vcnkgZGV2aWNlTWVtb3J5
ICAgPSBWS19OVUxMX0hBTkRMRTsKKyAgICBWa0RldmljZVNpemUgZGV2aWNlTWVtb3J5U2l6ZSA9
IDA7CiAKLSAgICAgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgVmtFeHRlbnQzRCBleHRl
bnQgPSB7MSwgMSwgMX07CisgICAgcmVzdWx0ID0KKyAgICAgICAgVHJhaXRzOjpDcmVhdGVJbWFn
ZTJEKCZoZWxwZXIsIGZvcm1hdCwgZXh0ZW50LCAmaW1hZ2UsICZkZXZpY2VNZW1vcnksICZkZXZp
Y2VNZW1vcnlTaXplKTsKKyAgICBFWFBFQ1RfRVEocmVzdWx0LCBWS19TVUNDRVNTKTsKIAotICAg
ICAgICB2a0Rlc3Ryb3lJbWFnZShoZWxwZXIuZ2V0RGV2aWNlKCksIGltYWdlLCBudWxscHRyKTsK
LSAgICAgICAgdmtGcmVlTWVtb3J5KGhlbHBlci5nZXREZXZpY2UoKSwgZGV2aWNlTWVtb3J5LCBu
dWxscHRyKTsKKyAgICB0eXBlbmFtZSBUcmFpdHM6OkhhbmRsZSBtZW1vcnlIYW5kbGUgPSBUcmFp
dHM6OkludmFsaWRIYW5kbGUoKTsKKyAgICByZXN1bHQgPSBUcmFpdHM6OkV4cG9ydE1lbW9yeSgm
aGVscGVyLCBkZXZpY2VNZW1vcnksICZtZW1vcnlIYW5kbGUpOworICAgIEVYUEVDVF9FUShyZXN1
bHQsIFZLX1NVQ0NFU1MpOworICAgIEVYUEVDVF9ORShtZW1vcnlIYW5kbGUsIFRyYWl0czo6SW52
YWxpZEhhbmRsZSgpKTsKKworICAgIHsKKyAgICAgICAgR0xNZW1vcnlPYmplY3QgbWVtb3J5T2Jq
ZWN0OworICAgICAgICBHTGludCBkZWRpY2F0ZWRNZW1vcnkgPSBHTF9UUlVFOworICAgICAgICBn
bE1lbW9yeU9iamVjdFBhcmFtZXRlcml2RVhUKG1lbW9yeU9iamVjdCwgR0xfREVESUNBVEVEX01F
TU9SWV9PQkpFQ1RfRVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZk
ZWRpY2F0ZWRNZW1vcnkpOworICAgICAgICBUcmFpdHM6OkltcG9ydE1lbW9yeShtZW1vcnlPYmpl
Y3QsIGRldmljZU1lbW9yeVNpemUsIG1lbW9yeUhhbmRsZSk7CisKKyAgICAgICAgR0xUZXh0dXJl
IHRleHR1cmU7CisgICAgICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4dHVyZSk7
CisgICAgICAgIGdsVGV4U3RvcmFnZU1lbTJERVhUKEdMX1RFWFRVUkVfMkQsIDEsIEdMX1JHQkE4
LCAxLCAxLCBtZW1vcnlPYmplY3QsIDApOworCisgICAgICAgIEdMU2VtYXBob3JlIGdsQWNxdWly
ZVNlbWFwaG9yZTsKKyAgICAgICAgVHJhaXRzOjpJbXBvcnRTZW1hcGhvcmUoZ2xBY3F1aXJlU2Vt
YXBob3JlLCBhY3F1aXJlU2VtYXBob3JlSGFuZGxlKTsKKworICAgICAgICBoZWxwZXIucmVsZWFz
ZUltYWdlQW5kU2lnbmFsU2VtYXBob3JlKGltYWdlLCBWS19JTUFHRV9MQVlPVVRfVU5ERUZJTkVE
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0lNQUdF
X0xBWU9VVF9HRU5FUkFMLCB2a0FjcXVpcmVTZW1hcGhvcmUpOworCisgICAgICAgIGNvbnN0IEdM
dWludCBiYXJyaWVyVGV4dHVyZXNbXSA9IHsKKyAgICAgICAgICAgIHRleHR1cmUsCisgICAgICAg
IH07CisgICAgICAgIGNvbnN0ZXhwciB1aW50MzJfdCB0ZXh0dXJlQmFycmllcnNDb3VudCA9IHN0
ZDo6ZXh0ZW50PGRlY2x0eXBlKGJhcnJpZXJUZXh0dXJlcyk+KCk7CisgICAgICAgIGNvbnN0IEdM
ZW51bSB0ZXh0dXJlU3JjTGF5b3V0c1tdICAgICAgICA9IHsKKyAgICAgICAgICAgIEdMX0xBWU9V
VF9HRU5FUkFMX0VYVCwKKyAgICAgICAgfTsKKyAgICAgICAgY29uc3RleHByIHVpbnQzMl90IHRl
eHR1cmVTcmNMYXlvdXRzQ291bnQgPSBzdGQ6OmV4dGVudDxkZWNsdHlwZSh0ZXh0dXJlU3JjTGF5
b3V0cyk+KCk7CisgICAgICAgIHN0YXRpY19hc3NlcnQodGV4dHVyZUJhcnJpZXJzQ291bnQgPT0g
dGV4dHVyZVNyY0xheW91dHNDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAiYmFycmllclRl
eHR1cmVzIGFuZCB0ZXh0dXJlU3JjTGF5b3V0cyBtdXN0IGJlIHRoZSBzYW1lIGxlbmd0aCIpOwor
ICAgICAgICBnbFdhaXRTZW1hcGhvcmVFWFQoZ2xBY3F1aXJlU2VtYXBob3JlLCAwLCBudWxscHRy
LCB0ZXh0dXJlQmFycmllcnNDb3VudCwgYmFycmllclRleHR1cmVzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGV4dHVyZVNyY0xheW91dHMpOworCisgICAgICAgIEdMRnJhbWVidWZmZXIg
ZnJhbWVidWZmZXI7CisgICAgICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBm
cmFtZWJ1ZmZlcik7CisgICAgICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZG
RVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJELCB0ZXh0dXJlLCAwKTsKKwor
ICAgICAgICBnbENsZWFyQ29sb3IoMC41ZiwgMC41ZiwgMC41ZiwgMC41Zik7CisgICAgICAgIGds
Q2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgR0xTZW1hcGhvcmUgZ2xSZWxl
YXNlU2VtYXBob3JlOworICAgICAgICBUcmFpdHM6OkltcG9ydFNlbWFwaG9yZShnbFJlbGVhc2VT
ZW1hcGhvcmUsIHJlbGVhc2VTZW1hcGhvcmVIYW5kbGUpOworCisgICAgICAgIGNvbnN0IEdMZW51
bSB0ZXh0dXJlRHN0TGF5b3V0c1tdID0geworICAgICAgICAgICAgR0xfTEFZT1VUX1RSQU5TRkVS
X1NSQ19FWFQsCisgICAgICAgIH07CisgICAgICAgIGNvbnN0ZXhwciB1aW50MzJfdCB0ZXh0dXJl
RHN0TGF5b3V0c0NvdW50ID0gc3RkOjpleHRlbnQ8ZGVjbHR5cGUodGV4dHVyZVNyY0xheW91dHMp
PigpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KHRleHR1cmVCYXJyaWVyc0NvdW50ID09IHRleHR1
cmVEc3RMYXlvdXRzQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgImJhcnJpZXJUZXh0dXJl
cyBhbmQgdGV4dHVyZURzdExheW91dHMgbXVzdCBiZSB0aGUgc2FtZSBsZW5ndGgiKTsKKyAgICAg
ICAgZ2xTaWduYWxTZW1hcGhvcmVFWFQoZ2xSZWxlYXNlU2VtYXBob3JlLCAwLCBudWxscHRyLCB0
ZXh0dXJlQmFycmllcnNDb3VudCwgYmFycmllclRleHR1cmVzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0dXJlRHN0TGF5b3V0cyk7CisKKyAgICAgICAgaGVscGVyLndhaXRTZW1h
cGhvcmVBbmRBY3F1aXJlSW1hZ2UoaW1hZ2UsIFZLX0lNQUdFX0xBWU9VVF9UUkFOU0ZFUl9TUkNf
T1BUSU1BTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktf
SU1BR0VfTEFZT1VUX1RSQU5TRkVSX1NSQ19PUFRJTUFMLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2a1JlbGVhc2VTZW1hcGhvcmUpOworICAgICAgICB1aW50
OF90IHBpeGVsc1s0XTsKKyAgICAgICAgVmtPZmZzZXQzRCBvZmZzZXQgPSB7fTsKKyAgICAgICAg
VmtFeHRlbnQzRCBleHRlbnQgPSB7MSwgMSwgMX07CisgICAgICAgIGhlbHBlci5yZWFkUGl4ZWxz
KGltYWdlLCBWS19JTUFHRV9MQVlPVVRfVFJBTlNGRVJfU1JDX09QVElNQUwsIGZvcm1hdCwgb2Zm
c2V0LCBleHRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHBpeGVscywgc2l6ZW9mKHBp
eGVscykpOworCisgICAgICAgIEVYUEVDVF9ORUFSKDB4ODAsIHBpeGVsc1swXSwgMSk7CisgICAg
ICAgIEVYUEVDVF9ORUFSKDB4ODAsIHBpeGVsc1sxXSwgMSk7CisgICAgICAgIEVYUEVDVF9ORUFS
KDB4ODAsIHBpeGVsc1syXSwgMSk7CisgICAgICAgIEVYUEVDVF9ORUFSKDB4ODAsIHBpeGVsc1sz
XSwgMSk7CiAgICAgfQorCisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICB2a0Rldmlj
ZVdhaXRJZGxlKGhlbHBlci5nZXREZXZpY2UoKSk7CisgICAgdmtEZXN0cm95SW1hZ2UoaGVscGVy
LmdldERldmljZSgpLCBpbWFnZSwgbnVsbHB0cik7CisgICAgdmtEZXN0cm95U2VtYXBob3JlKGhl
bHBlci5nZXREZXZpY2UoKSwgdmtBY3F1aXJlU2VtYXBob3JlLCBudWxscHRyKTsKKyAgICB2a0Rl
c3Ryb3lTZW1hcGhvcmUoaGVscGVyLmdldERldmljZSgpLCB2a1JlbGVhc2VTZW1hcGhvcmUsIG51
bGxwdHIpOworICAgIHZrRnJlZU1lbW9yeShoZWxwZXIuZ2V0RGV2aWNlKCksIGRldmljZU1lbW9y
eSwgbnVsbHB0cik7Cit9CisKKy8vIFRlc3QgY3JlYXRpbmcgYW5kIGNsZWFyaW5nIFJHQkE4IHRl
eHR1cmUgaW4gb3BhcXVlIGZkIHdpdGggYWNxdWlyZS9yZWxlYXNlLgorVEVTVF9QKFZ1bGthbkV4
dGVybmFsSW1hZ2VUZXN0LCBTaG91bGRDbGVhck9wYXF1ZUZkV2l0aFNlbWFwaG9yZXMpCit7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFFbnN1cmVHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9t
ZW1vcnlfb2JqZWN0X2ZkIikpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRl
bnNpb25FbmFibGVkKCJHTF9FWFRfc2VtYXBob3JlX2ZkIikpOworICAgIFJ1blNob3VsZENsZWFy
V2l0aFNlbWFwaG9yZXNUZXN0PE9wYXF1ZUZkVHJhaXRzPihpc1N3aWZ0c2hhZGVyKCksIGVuYWJs
ZURlYnVnTGF5ZXJzKCkpOworfQorCisvLyBUZXN0IGNyZWF0aW5nIGFuZCBjbGVhcmluZyBSR0JB
OCB0ZXh0dXJlIGluIHppcmNvbiB2bW8gd2l0aCBhY3F1aXJlL3JlbGVhc2UuCitURVNUX1AoVnVs
a2FuRXh0ZXJuYWxJbWFnZVRlc3QsIFNob3VsZENsZWFyWmlyY29uVm1vV2l0aFNlbWFwaG9yZXMp
Cit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFFbnN1cmVHTEV4dGVuc2lvbkVuYWJsZWQoIkdM
X0FOR0xFX21lbW9yeV9vYmplY3RfZnVjaHNpYSIpKTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
IUVuc3VyZUdMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfQU5HTEVfc2VtYXBob3JlX2Z1Y2hzaWEiKSk7
CisgICAgUnVuU2hvdWxkQ2xlYXJXaXRoU2VtYXBob3Jlc1Rlc3Q8RnVjaHNpYVRyYWl0cz4oaXNT
d2lmdHNoYWRlcigpLCBlbmFibGVEZWJ1Z0xheWVycygpKTsKK30KKworLy8gU3VwcG9ydCBmb3Ig
WmlyY29uIGhhbmRsZSB0eXBlcyBpcyBtYW5kYXRvcnkgb24gRnVjaHNpYS4KK1RFU1RfUChWdWxr
YW5FeHRlcm5hbEltYWdlVGVzdCwgU2hvdWxkU3VwcG9ydEV4dGVybmFsSGFuZGxlc0Z1Y2hzaWEp
Cit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0Z1Y2hzaWEoKSk7CisgICAgRVhQRUNUX1RS
VUUoRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9BTkdMRV9tZW1vcnlfb2JqZWN0X2Z1Y2hz
aWEiKSk7CisgICAgRVhQRUNUX1RSVUUoRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9BTkdM
RV9zZW1hcGhvcmVfZnVjaHNpYSIpKTsKKyAgICBWdWxrYW5FeHRlcm5hbEhlbHBlciBoZWxwZXI7
CisgICAgaGVscGVyLmluaXRpYWxpemUoaXNTd2lmdHNoYWRlcigpLCBlbmFibGVEZWJ1Z0xheWVy
cygpKTsKKyAgICBFWFBFQ1RfVFJVRShoZWxwZXIuY2FuQ3JlYXRlU2VtYXBob3JlWmlyY29uRXZl
bnQoKSk7CisgICAgRVhQRUNUX1RSVUUoaGVscGVyLmNhbkNyZWF0ZUltYWdlWmlyY29uVm1vKFZL
X0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgVktfSU1BR0VfVFlQRV8yRCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfSU1BR0VfVElMSU5HX09QVElNQUwp
KTsKIH0KIAogLy8gVXNlIHRoaXMgdG8gc2VsZWN0IHdoaWNoIGNvbmZpZ3VyYXRpb25zIChlLmcu
IHdoaWNoIHJlbmRlcmVyLCB3aGljaCBHTEVTIG1ham9yIHZlcnNpb24pIHRoZXNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21w
YXRpYmlsaXR5VGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xf
dGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVzdC5jcHAKaW5kZXggZmQyNjVlNTU2OWE5ODM1YmE3
NmI4MzJlMTIyMTVkNDhiYjZiMTM0Zi4uNThmYjcwYTA5ZDZlZmI3MWY1MTM5OTIxNDVkZTQxYjA1
MGYzYzM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2ds
X3Rlc3RzL1dlYkdMQ29tcGF0aWJpbGl0eVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcApAQCAt
MjAyOCw2ICsyMDI4LDY5IEBAIHZvaWQgbWFpbigpCiAgICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lO
VkFMSURfT1BFUkFUSU9OKTsKIH0KIAorLy8gVGVzdCBnZXRJbmRleGVkUGFyYW1ldGVyIHdydCBH
TF9PRVNfZHJhd19idWZmZXJzX2luZGV4ZWQuCitURVNUX1AoV2ViR0xDb21wYXRpYmlsaXR5VGVz
dCwgRHJhd0J1ZmZlcnNJbmRleGVkR2V0SW5kZXhlZFBhcmFtZXRlcikKK3sKKyAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoZ2V0Q2xpZW50TWFqb3JWZXJzaW9uKCkgPCAzKTsKKyAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25SZXF1ZXN0YWJsZSgiR0xfT0VTX2RyYXdfYnVmZmVyc19p
bmRleGVkIikpOworCisgICAgR0xpbnQgdmFsdWU7CisgICAgR0xib29sZWFuIGRhdGFbNF07CisK
KyAgICBnbEdldEludGVnZXJpX3YoR0xfQkxFTkRfRVFVQVRJT05fUkdCLCAwLCAmdmFsdWUpOwor
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX0VOVU0pOworICAgIGdsR2V0SW50ZWdlcmlf
dihHTF9CTEVORF9FUVVBVElPTl9BTFBIQSwgMCwgJnZhbHVlKTsKKyAgICBFWFBFQ1RfR0xfRVJS
T1IoR0xfSU5WQUxJRF9FTlVNKTsKKyAgICBnbEdldEludGVnZXJpX3YoR0xfQkxFTkRfU1JDX1JH
QiwgMCwgJnZhbHVlKTsKKyAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9FTlVNKTsKKyAg
ICBnbEdldEludGVnZXJpX3YoR0xfQkxFTkRfU1JDX0FMUEhBLCAwLCAmdmFsdWUpOworICAgIEVY
UEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX0VOVU0pOworICAgIGdsR2V0SW50ZWdlcmlfdihHTF9C
TEVORF9EU1RfUkdCLCAwLCAmdmFsdWUpOworICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElE
X0VOVU0pOworICAgIGdsR2V0SW50ZWdlcmlfdihHTF9CTEVORF9EU1RfQUxQSEEsIDAsICZ2YWx1
ZSk7CisgICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfRU5VTSk7CisgICAgZ2xHZXRCb29s
ZWFuaV92KEdMX0NPTE9SX1dSSVRFTUFTSywgMCwgZGF0YSk7CisgICAgRVhQRUNUX0dMX0VSUk9S
KEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIGdsUmVxdWVzdEV4dGVuc2lvbkFOR0xFKCJH
TF9PRVNfZHJhd19idWZmZXJzX2luZGV4ZWQiKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsK
KyAgICBFWFBFQ1RfVFJVRShJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfT0VTX2RyYXdfYnVmZmVy
c19pbmRleGVkIikpOworCisgICAgZ2xEaXNhYmxlKEdMX0JMRU5EKTsKKyAgICBnbEVuYWJsZWlP
RVMoR0xfQkxFTkQsIDApOworICAgIGdsQmxlbmRFcXVhdGlvblNlcGFyYXRlaU9FUygwLCBHTF9G
VU5DX0FERCwgR0xfRlVOQ19TVUJUUkFDVCk7CisgICAgZ2xCbGVuZEZ1bmNTZXBhcmF0ZWlPRVMo
MCwgR0xfU1JDX0FMUEhBLCBHTF9PTkVfTUlOVVNfU1JDX0FMUEhBLCBHTF9aRVJPLCBHTF9aRVJP
KTsKKyAgICBnbENvbG9yTWFza2lPRVMoMCwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNlKTsKKyAg
ICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIEVYUEVDVF9FUSh0cnVlLCBnbElzRW5hYmxl
ZGlPRVMoR0xfQkxFTkQsIDApKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICBnbEdl
dEludGVnZXJpX3YoR0xfQkxFTkRfRVFVQVRJT05fUkdCLCAwLCAmdmFsdWUpOworICAgIEVYUEVD
VF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9FUShHTF9GVU5DX0FERCwgdmFsdWUpOworICAg
IGdsR2V0SW50ZWdlcmlfdihHTF9CTEVORF9FUVVBVElPTl9BTFBIQSwgMCwgJnZhbHVlKTsKKyAg
ICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICBFWFBFQ1RfRVEoR0xfRlVOQ19TVUJUUkFDVCwg
dmFsdWUpOworICAgIGdsR2V0SW50ZWdlcmlfdihHTF9CTEVORF9TUkNfUkdCLCAwLCAmdmFsdWUp
OworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9FUShHTF9TUkNfQUxQSEEs
IHZhbHVlKTsKKyAgICBnbEdldEludGVnZXJpX3YoR0xfQkxFTkRfU1JDX0FMUEhBLCAwLCAmdmFs
dWUpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9FUShHTF9aRVJPLCB2
YWx1ZSk7CisgICAgZ2xHZXRJbnRlZ2VyaV92KEdMX0JMRU5EX0RTVF9SR0IsIDAsICZ2YWx1ZSk7
CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX0VRKEdMX09ORV9NSU5VU19T
UkNfQUxQSEEsIHZhbHVlKTsKKyAgICBnbEdldEludGVnZXJpX3YoR0xfQkxFTkRfRFNUX0FMUEhB
LCAwLCAmdmFsdWUpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9FUShH
TF9aRVJPLCB2YWx1ZSk7CisgICAgZ2xHZXRCb29sZWFuaV92KEdMX0NPTE9SX1dSSVRFTUFTSywg
MCwgZGF0YSk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgRVhQRUNUX0VRKHRydWUs
IGRhdGFbMF0pOworICAgIEVYUEVDVF9FUShmYWxzZSwgZGF0YVsxXSk7CisgICAgRVhQRUNUX0VR
KHRydWUsIGRhdGFbMl0pOworICAgIEVYUEVDVF9FUShmYWxzZSwgZGF0YVszXSk7Cit9CisKIC8v
IFRlc3QgdGhhdCBiaW5kaW5nL3F1ZXJ5aW5nIHVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVzIHdpdGgg
aW52YWxpZCBuYW1lcyBnZW5lcmF0ZXMgZXJyb3JzCiBURVNUX1AoV2ViR0xDb21wYXRpYmlsaXR5
VGVzdCwgSW52YWxpZEF0dHJpYnV0ZUFuZFVuaWZvcm1OYW1lcykKIHsKQEAgLTIzNzAsNiArMjQz
Myw5MyBAQCB2b2lkIG1haW4oKSB7CiAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdM
Q29sb3I6OnJlZCk7CiB9CiAKKy8vIE11bHRpLWNvbnRleHQgdXNlcyBvZiB0ZXh0dXJlcyBzaG91
bGQgbm90IGNhdXNlIHJlbmRlcmluZyBmZWVkYmFjayBsb29wcy4KK1RFU1RfUChXZWJHTENvbXBh
dGliaWxpdHlUZXN0LCBNdWx0aUNvbnRleHROb1JlbmRlcmluZ0ZlZWRiYWNrTG9vcHMpCit7Cisg
ICAgY29uc3RleHByIGNoYXIga1VudXNlZFRleHR1cmVWU1tdID0KKyAgICAgICAgUiIoYXR0cmli
dXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZhcnlpbmcgdmVjMiB2X3RleENvb3JkOwordm9pZCBtYWlu
KCkgeworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB2X3RleENvb3JkID0gKGFf
cG9zaXRpb24ueHkgKiAwLjUpICsgMC41OworfSkiOworCisgICAgY29uc3RleHByIGNoYXIga1Vu
dXNlZFRleHR1cmVGU1tdID0KKyAgICAgICAgUiIocHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2
YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsKK3VuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZTsKK3Zv
aWQgbWFpbigpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodV90ZXh0dXJlLCB2X3Rl
eENvb3JkKS5yZ2JhOworfSkiOworCisgICAgQU5HTEVfR0xfUFJPR1JBTSh1bnVzZWRQcm9ncmFt
LCBrVW51c2VkVGV4dHVyZVZTLCBrVW51c2VkVGV4dHVyZUZTKTsKKworICAgIGdsVXNlUHJvZ3Jh
bSh1bnVzZWRQcm9ncmFtLmdldCgpKTsKKyAgICBHTGludCB1bmlmb3JtTG9jID0gZ2xHZXRVbmlm
b3JtTG9jYXRpb24odW51c2VkUHJvZ3JhbS5nZXQoKSwgInVfdGV4dHVyZSIpOworICAgIEFTU0VS
VF9ORSgtMSwgdW5pZm9ybUxvYyk7CisgICAgZ2xVbmlmb3JtMWkodW5pZm9ybUxvYywgMCk7CisK
KyAgICBHTFRleHR1cmUgdGV4dHVyZTsKKyAgICBGaWxsVGV4dHVyZTJEKHRleHR1cmUuZ2V0KCks
IDEsIDEsIEdMQ29sb3I6OnJlZCwgMCwgR0xfUkdCQSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllU
RSk7CisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlLmdldCgpKTsKKyAg
ICAvLyBOb3RlIHRoYXQgX3RleHR1cmVfIGlzIHN0aWxsIGJvdW5kIHRvIEdMX1RFWFRVUkVfMkQg
aW4gdGhpcyBjb250ZXh0IGF0IHRoaXMgcG9pbnQuCisKKyAgICBFR0xXaW5kb3cgKndpbmRvdyAg
ICAgICAgICA9IGdldEVHTFdpbmRvdygpOworICAgIEVHTERpc3BsYXkgZGlzcGxheSAgICAgICAg
ID0gd2luZG93LT5nZXREaXNwbGF5KCk7CisgICAgRUdMQ29uZmlnIGNvbmZpZyAgICAgICAgICAg
PSB3aW5kb3ctPmdldENvbmZpZygpOworICAgIEVHTFN1cmZhY2Ugc3VyZmFjZSAgICAgICAgID0g
d2luZG93LT5nZXRTdXJmYWNlKCk7CisgICAgRUdMaW50IGNvbnRleHRBdHRyaWJ1dGVzW10gPSB7
CisgICAgICAgIEVHTF9DT05URVhUX01BSk9SX1ZFUlNJT05fS0hSLAorICAgICAgICBHZXRQYXJh
bSgpLm1ham9yVmVyc2lvbiwKKyAgICAgICAgRUdMX0NPTlRFWFRfTUlOT1JfVkVSU0lPTl9LSFIs
CisgICAgICAgIEdldFBhcmFtKCkubWlub3JWZXJzaW9uLAorICAgICAgICBFR0xfQ09OVEVYVF9X
RUJHTF9DT01QQVRJQklMSVRZX0FOR0xFLAorICAgICAgICBFR0xfVFJVRSwKKyAgICAgICAgRUdM
X05PTkUsCisgICAgfTsKKyAgICBhdXRvIGNvbnRleHQxID0gZWdsR2V0Q3VycmVudENvbnRleHQo
KTsKKyAgICAvLyBDcmVhdGUgY29udGV4dDIsIHNoYXJpbmcgcmVzb3VyY2VzIHdpdGggY29udGV4
dDEuCisgICAgYXV0byBjb250ZXh0MiA9IGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29uZmln
LCBjb250ZXh0MSwgY29udGV4dEF0dHJpYnV0ZXMpOworICAgIEFTU0VSVF9ORShjb250ZXh0Miwg
RUdMX05PX0NPTlRFWFQpOworICAgIGVnbE1ha2VDdXJyZW50KGRpc3BsYXksIHN1cmZhY2UsIHN1
cmZhY2UsIGNvbnRleHQyKTsKKworICAgIGNvbnN0ZXhwciBjaGFyIGtWU1tdID0KKyAgICAgICAg
UiIoYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3Np
dGlvbiA9IGFfcG9zaXRpb247Cit9KSI7CisKKyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSA9Cisg
ICAgICAgIFIiKHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owordm9pZCBtYWluKCkgeworICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKK30pIjsKKworICAgIEFOR0xF
X0dMX1BST0dSQU0ocHJvZ3JhbSwga1ZTLCBrRlMpOworICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFt
LmdldCgpKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gUmVuZGVyIHRv
IHRoZSB0ZXh0dXJlIGluIGNvbnRleHQyLgorICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7
CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyLmdldCgp
KTsKKyAgICAvLyBUZXh0dXJlIGlzIHN0aWxsIGEgdmFsaWQgbmFtZSBpbiBjb250ZXh0Mi4KKyAg
ICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hN
RU5UMCwgR0xfVEVYVFVSRV8yRCwgdGV4dHVyZS5nZXQoKSwgMCk7CisgICAgQVNTRVJUX0dMRU5V
TV9FUShHTF9GUkFNRUJVRkZFUl9DT01QTEVURSwgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdM
X0ZSQU1FQlVGRkVSKSk7CisgICAgLy8gVGhlcmUgaXMgbm8gcmVuZGVyaW5nIGZlZWRiYWNrIGxv
b3AgYXQgdGhpcyBwb2ludC4KKworICAgIGdsRGlzYWJsZShHTF9CTEVORCk7CisgICAgZ2xEaXNh
YmxlKEdMX0RFUFRIX1RFU1QpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgZHJh
d1F1YWQocHJvZ3JhbS5nZXQoKSwgImFfcG9zaXRpb24iLCAwLjVmLCAxLjBmLCB0cnVlKTsKKyAg
ICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwg
R0xDb2xvcjo6Z3JlZW4pOworCisgICAgZWdsTWFrZUN1cnJlbnQoZGlzcGxheSwgc3VyZmFjZSwg
c3VyZmFjZSwgY29udGV4dDEpOworICAgIGVnbERlc3Ryb3lDb250ZXh0KGRpc3BsYXksIGNvbnRl
eHQyKTsKK30KKwogLy8gVGVzdCBmb3IgdGhlIG1heCBkcmF3IGJ1ZmZlcnMgYW5kIGNvbG9yIGF0
dGFjaG1lbnRzLgogVEVTVF9QKFdlYkdMQ29tcGF0aWJpbGl0eVRlc3QsIE1heERyYXdCdWZmZXJz
QXR0YWNobWVudFBvaW50cykKIHsKQEAgLTQyOTMsMTMgKzQ0NDMsMTMgQEAgVEVTVF9QKFdlYkdM
Q29tcGF0aWJpbGl0eVRlc3QsIERyYXdCdWZmZXJzKQogICAgICAgICBHTEZyYW1lYnVmZmVyIHJl
YWRGQk87CiAgICAgICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCByZWFkRkJP
KTsKIAotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAgICAgZm9yIChp
bnQgYXR0YWNobWVudEluZGV4ID0gMDsgYXR0YWNobWVudEluZGV4IDwgNDsgKythdHRhY2htZW50
SW5kZXgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtYXNrICYgKDEgPDwgaSkpCisgICAg
ICAgICAgICBpZiAobWFzayAmICgxIDw8IGF0dGFjaG1lbnRJbmRleCkpCiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgZ2xGcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHTF9GUkFNRUJVRkZF
UiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1JFTkRFUkJVRkZFUiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmJ1ZmZlcnNbaV0pOwotICAgICAgICAg
ICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBjb2xvcik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJidWZmZXJzW2F0dGFjaG1lbnRJbmRl
eF0pOworICAgICAgICAgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBjb2xvcikg
PDwgImF0dGFjaG1lbnQgIiA8PCBhdHRhY2htZW50SW5kZXg7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CkBAIC00NjY5LDggKzQ4MTksOSBA
QCBURVNUX1AoV2ViR0xDb21wYXRpYmlsaXR5VGVzdCwgRW5hYmxlQ29tcHJlc3NlZFRleHR1cmVF
eHRlbnNpb25EWFQ1U1JHQkEpCiAvLyBUZXN0IGVuYWJsaW5nIEdMX09FU19jb21wcmVzc2VkX0VU
QzFfUkdCOF90ZXh0dXJlCiBURVNUX1AoV2ViR0xDb21wYXRpYmlsaXR5VGVzdCwgRW5hYmxlQ29t
cHJlc3NlZFRleHR1cmVFeHRlbnNpb25FVEMxKQogewotICAgIHZhbGlkYXRlQ29tcHJlc3NlZFRl
eEltYWdlRXh0ZW5zaW9uRm9ybWF0KEdMX0VUQzFfUkdCOF9PRVMsIDQsIDQsIDgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdMX09FU19jb21wcmVzc2Vk
X0VUQzFfUkdCOF90ZXh0dXJlIiwgZmFsc2UpOworICAgIHZhbGlkYXRlQ29tcHJlc3NlZFRleElt
YWdlRXh0ZW5zaW9uRm9ybWF0KAorICAgICAgICBHTF9FVEMxX1JHQjhfT0VTLCA0LCA0LCA4LCAi
R0xfT0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4X3RleHR1cmUiLAorICAgICAgICBJc0dMRXh0ZW5z
aW9uRW5hYmxlZCgiR0xfRVhUX2NvbXByZXNzZWRfRVRDMV9SR0I4X3N1Yl90ZXh0dXJlIikpOwog
fQogCiAvLyBUZXN0IGVuYWJsaW5nIEdMX0FOR0xFX2xvc3N5X2V0Y19kZWNvZGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbGVzMV9jb25mb3JtYW5jZV90
ZXN0cy9Db3ZnbFRlc3RzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9n
bGVzMV9jb25mb3JtYW5jZV90ZXN0cy9Db3ZnbFRlc3RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODQ2MDE4
M2NiYTRkNWIzMzVmNThhZTJiYTdkYjY4MTFkMzNhZGU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsZXMxX2NvbmZvcm1hbmNlX3Rlc3RzL0Nv
dmdsVGVzdHMuY3BwCkBAIC0wLDAgKzEsNjA0IEBACisvLworLy8gQ29weXJpZ2h0IDIwMjAgVGhl
IEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworLy8gQ292Z2xUZXN0cy5j
cHA6CisvLyAgIEdMRVMxIGNvbmZvcm1hbmNlIGNvdmdsIHRlc3RzLgorLy8gICBGdW5jdGlvbiBw
cm90b3R5cGVzIHRha2VuIGZyb20gdHByb3RvLmggYW5kIHR1cm5lZCBpbnRvIGd0ZXN0IHRlc3Rz
IHVzaW5nIGEgbWFjcm8uCisvLworCisjaW5jbHVkZSAidGVzdF91dGlscy9BTkdMRVRlc3QuaCIK
KyNpbmNsdWRlICJ0ZXN0X3V0aWxzL2dsX3JhaWkuaCIKKworI2lmZGVmIF9fY3BsdXNwbHVzCitl
eHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoR0xfT0VTX1ZFUlNJT05fMV8xKSAm
JiBkZWZpbmVkKEdMX1ZFUlNJT05fRVNfQ01fMV8xKSAmJiBkZWZpbmVkKEdMX1ZFUlNJT05fRVNf
Q0xfMV8xKQorIyAgICBpZiBHTF9WRVJTSU9OX0VTX0NNXzFfMSB8fCBHTF9WRVJTSU9OX0VTX0NM
XzFfMQorIyAgICAgICAgZGVmaW5lIEdMX09FU19WRVJTSU9OXzFfMQorIyAgICBlbmRpZgorI2Vu
ZGlmCisKKy8vIEVTIDEuMAorZXh0ZXJuIHZvaWQgU3RhdGVSZXNldCh2b2lkKTsKK2V4dGVybiB2
b2lkIFByb2JlRXJyb3Iodm9pZCAoKikodm9pZCkpOworZXh0ZXJuIEdMYm9vbGVhbiB0a0NoZWNr
RXh0ZW5zaW9uKGNvbnN0IGNoYXIgKm5hbWUpOworCitleHRlcm4gdm9pZCBDYWxsQWN0aXZlVGV4
dHVyZSh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxBbHBoYUZ1bmModm9pZCk7CitleHRlcm4gdm9p
ZCBDYWxsQmxlbmRGdW5jKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEJpbmREZWxldGVUZXh0dXJl
KHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbENsZWFyKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbENs
ZWFyQ29sb3Iodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsQ2xlYXJEZXB0aCh2b2lkKTsKK2V4dGVy
biB2b2lkIENhbGxDbGVhclN0ZW5jaWwodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsQ2xpZW50QWN0
aXZlVGV4dHVyZSh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxDb2xvcih2b2lkKTsKK2V4dGVybiB2
b2lkIENhbGxDb2xvck1hc2sodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsQ29sb3JQb2ludGVyKHZv
aWQpOworZXh0ZXJuIHZvaWQgQ2FsbENvbXByZXNzZWRUZXhJbWFnZTJEKHZvaWQpOworZXh0ZXJu
IHZvaWQgQ2FsbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2Fs
bENvcHlUZXhJbWFnZTJEKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbENvcHlUZXhTdWJJbWFnZTJE
KHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEN1bGxGYWNlKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2Fs
bERlcHRoRnVuYyh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxEZXB0aE1hc2sodm9pZCk7CitleHRl
cm4gdm9pZCBDYWxsRGVwdGhSYW5nZSh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxEcmF3QXJyYXlz
KHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbERyYXdFbGVtZW50cyh2b2lkKTsKKworI2lmZGVmIEdM
X09FU19kcmF3X3RleHR1cmUKK2V4dGVybiB2b2lkIENhbGxEcmF3VGV4KHZvaWQpOworI2VuZGlm
IC8qIEdMX09FU19kcmF3X3RleHR1cmUgKi8KKworZXh0ZXJuIHZvaWQgQ2FsbEVkZ2VGbGFnKHZv
aWQpOworZXh0ZXJuIHZvaWQgQ2FsbEVuYWJsZURpc2FibGUodm9pZCk7CitleHRlcm4gdm9pZCBD
YWxsRW5hYmxlRGlzYWJsZUNsaWVudFN0YXRlKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEZpbmlz
aCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxGbHVzaCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxG
b2codm9pZCk7CitleHRlcm4gdm9pZCBDYWxsRnJvbnRGYWNlKHZvaWQpOworZXh0ZXJuIHZvaWQg
Q2FsbEZydXN0dW0odm9pZCk7CitleHRlcm4gdm9pZCBDYWxsR2VuVGV4dHVyZXModm9pZCk7Citl
eHRlcm4gdm9pZCBDYWxsR2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEdldEVycm9yKHZvaWQp
OworZXh0ZXJuIHZvaWQgQ2FsbEdldFN0cmluZyh2b2lkKTsKKyNpZmRlZiBHTF9PRVNfVkVSU0lP
Tl8xXzEKK2V4dGVybiB2b2lkIENhbGxHZXRUZXhFbnYodm9pZCk7CitleHRlcm4gdm9pZCBDYWxs
R2V0TGlnaHQodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsR2V0TWF0ZXJpYWwodm9pZCk7CitleHRl
cm4gdm9pZCBDYWxsR2V0Q2xpcFBsYW5lKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEdldFBvaW50
ZXIodm9pZCk7CisjZW5kaWYgLyogR0xfT0VTX1ZFUlNJT05fMV8xICovCisKKyNpZmRlZiBHTF9P
RVNfVkVSU0lPTl8xXzEKK2V4dGVybiB2b2lkIENhbGxHZXRCdWZmZXJQYXJhbWV0ZXIodm9pZCk7
CitleHRlcm4gdm9pZCBDYWxsR2V0VGV4UGFyYW1ldGVyKHZvaWQpOworI2VuZGlmIC8qIEdMX09F
U19WRVJTSU9OXzFfMSAqLworCitleHRlcm4gdm9pZCBDYWxsSGludCh2b2lkKTsKK2V4dGVybiB2
b2lkIENhbGxMaWdodCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxMaWdodE1vZGVsKHZvaWQpOwor
ZXh0ZXJuIHZvaWQgQ2FsbExpbmVXaWR0aCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxMb2FkSWRl
bnRpdHkodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsTG9hZE1hdHJpeCh2b2lkKTsKK2V4dGVybiB2
b2lkIENhbGxMb2dpY09wKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbE1hdGVyaWFsKHZvaWQpOwor
ZXh0ZXJuIHZvaWQgQ2FsbE1hdHJpeE1vZGUodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsTXVsdGlU
ZXhDb29yZCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxNdWx0TWF0cml4KHZvaWQpOworZXh0ZXJu
IHZvaWQgQ2FsbE5vcm1hbCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxOb3JtYWxQb2ludGVyKHZv
aWQpOworZXh0ZXJuIHZvaWQgQ2FsbE9ydGhvKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFBpeGVs
U3RvcmUodm9pZCk7CisjaWZkZWYgR0xfT0VTX1ZFUlNJT05fMV8xCitleHRlcm4gdm9pZCBDYWxs
UG9pbnRQYXJhbWV0ZXIodm9pZCk7CisjZW5kaWYgLyogR0xfT0VTX1ZFUlNJT05fMV8xICovCitl
eHRlcm4gdm9pZCBDYWxsUG9pbnRTaXplKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFBvbHlnb25P
ZmZzZXQodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsUG9wTWF0cml4KHZvaWQpOworZXh0ZXJuIHZv
aWQgQ2FsbFB1c2hNYXRyaXgodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsUmVhZFBpeGVscyh2b2lk
KTsKK2V4dGVybiB2b2lkIENhbGxSb3RhdGUodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsU2FtcGxl
Q292ZXJhZ2Uodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsU2NhbGUodm9pZCk7CitleHRlcm4gdm9p
ZCBDYWxsU2Npc3Nvcih2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxTaGFkZU1vZGVsKHZvaWQpOwor
ZXh0ZXJuIHZvaWQgQ2FsbFN0ZW5jaWxGdW5jKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFN0ZW5j
aWxNYXNrKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFN0ZW5jaWxPcCh2b2lkKTsKKyNpZmRlZiBH
TF9PRVNfVkVSU0lPTl8xXzEKK2V4dGVybiB2b2lkIENhbGxJc1RleHR1cmUodm9pZCk7CitleHRl
cm4gdm9pZCBDYWxsSXNFbmFibGVkKHZvaWQpOworI2VuZGlmIC8qIEdMX09FU19WRVJTSU9OXzFf
MSAqLworZXh0ZXJuIHZvaWQgQ2FsbFRleENvb3JkKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFRl
eENvb3JkUG9pbnRlcih2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxUZXhFbnYodm9pZCk7CitleHRl
cm4gdm9pZCBDYWxsVGV4SW1hZ2UyRCh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxUZXhQYXJhbWV0
ZXIodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsVGV4U3ViSW1hZ2UyRCh2b2lkKTsKK2V4dGVybiB2
b2lkIENhbGxUcmFuc2xhdGUodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsVmVydGV4UG9pbnRlcih2
b2lkKTsKK2V4dGVybiB2b2lkIENhbGxWaWV3cG9ydCh2b2lkKTsKKworI2lmZGVmIEdMX09FU19W
RVJTSU9OXzFfMQorZXh0ZXJuIHZvaWQgQ2FsbEJpbmREZWxldGVCdWZmZXIodm9pZCk7CitleHRl
cm4gdm9pZCBDYWxsQnVmZmVyRGF0YSh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxCdWZmZXJTdWJE
YXRhKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbEdlbkJ1ZmZlcnModm9pZCk7CitleHRlcm4gdm9p
ZCBDYWxsSXNCdWZmZXIodm9pZCk7CitleHRlcm4gdm9pZCBDYWxsUG9pbnRTaXplUG9pbnRlck9F
Uyh2b2lkKTsKK2V4dGVybiB2b2lkIENhbGxDbGlwUGxhbmUodm9pZCk7CisjZW5kaWYgLyogR0xf
T0VTX1ZFUlNJT05fMV8xICovCisKKyNpZmRlZiBHTF9PRVNfbWF0cml4X3BhbGV0dGUKK2V4dGVy
biB2b2lkIENhbGxDdXJyZW50UGFsZXR0ZU1hdHJpeE9FUyh2b2lkKTsKK2V4dGVybiB2b2lkIENh
bGxMb2FkUGFsZXR0ZUZyb21Nb2RlbFZpZXdNYXRyaXhPRVModm9pZCk7CitleHRlcm4gdm9pZCBD
YWxsTWF0cml4SW5kZXhQb2ludGVyT0VTKHZvaWQpOworZXh0ZXJuIHZvaWQgQ2FsbFdlaWdodFBv
aW50ZXJPRVModm9pZCk7CisjZW5kaWYgLyogR0xfT0VTX21hdHJpeF9wYWxldHRlICovCisKKyNp
ZmRlZiBHTF9PRVNfcXVlcnlfbWF0cml4CitleHRlcm4gdm9pZCBDYWxsUXVlcnlNYXRyaXgodm9p
ZCk7CisjZW5kaWYKKwordm9pZCBQcm9iZUVudW1BTkdMRSh2b2lkKQoreworICAgIEFTU0VSVF9H
TF9OT19FUlJPUigpOworfQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKworI2VuZGlmCisKK25h
bWVzcGFjZSBhbmdsZQoreworY2xhc3MgR0xFUzFDb3ZnbFRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0
Cit7CisgIHByb3RlY3RlZDoKKyAgICBHTEVTMUNvdmdsVGVzdCgpCisgICAgeworICAgICAgICBz
ZXRXaW5kb3dXaWR0aCg0OCk7CisgICAgICAgIHNldFdpbmRvd0hlaWdodCg0OCk7CisgICAgICAg
IHNldENvbmZpZ1JlZEJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0dyZWVuQml0cyg4KTsKKyAg
ICAgICAgc2V0Q29uZmlnQmx1ZUJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0FscGhhQml0cyg4
KTsKKyAgICAgICAgc2V0Q29uZmlnRGVwdGhCaXRzKDI0KTsKKyAgICAgICAgc2V0Q29uZmlnU3Rl
bmNpbEJpdHMoOCk7CisgICAgfQorCisgICAgdm9pZCB0ZXN0U2V0VXAoKSBvdmVycmlkZQorICAg
IHsKKyAgICAgICAgU3RhdGVSZXNldCgpOworICAgICAgICBnbFZpZXdwb3J0KDAsIDAsIDQ4LCA0
OCk7CisgICAgICAgIGdsU2Npc3NvcigwLCAwLCA0OCwgNDgpOworICAgIH0KK307CisKK1RFU1Rf
UChHTEVTMUNvdmdsVGVzdCwgR2V0KQoreworICAgIFByb2JlRXJyb3IoQ2FsbEdldCk7Cit9CisK
K1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgR2V0RXJyb3IpCit7CisgICAgUHJvYmVFcnJvcihDYWxs
R2V0RXJyb3IpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBHZXRTdHJpbmcpCit7CisgICAg
UHJvYmVFcnJvcihDYWxsR2V0U3RyaW5nKTsKK30KKworI2lmZGVmIEdMX09FU19WRVJTSU9OXzFf
MQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBHZXRUZXhFbnYpCit7CisgICAgUHJvYmVFcnJvcihD
YWxsR2V0VGV4RW52KTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgR2V0TGlnaHQpCit7Cisg
ICAgUHJvYmVFcnJvcihDYWxsR2V0TGlnaHQpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBH
ZXRNYXRlcmlhbCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxHZXRNYXRlcmlhbCk7Cit9CitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIEdldENsaXBQbGFuZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxH
ZXRDbGlwUGxhbmUpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBHZXRQb2ludGVyKQorewor
ICAgIFByb2JlRXJyb3IoQ2FsbEdldFBvaW50ZXIpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0
LCBHZXRUZXhQYXJhbWV0ZXIpCit7CisgICAgUHJvYmVFcnJvcihDYWxsR2V0VGV4UGFyYW1ldGVy
KTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgR2V0QnVmZmVyUGFyYW1ldGVyKQoreworICAg
IFByb2JlRXJyb3IoQ2FsbEdldEJ1ZmZlclBhcmFtZXRlcik7Cit9CisjZW5kaWYgLyogR0xfT0VT
X1ZFUlNJT05fMV8xICovCisKK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgRW5hYmxlRGlzYWJsZSkK
K3sKKyAgICBQcm9iZUVycm9yKENhbGxFbmFibGVEaXNhYmxlKTsKK30KKworVEVTVF9QKEdMRVMx
Q292Z2xUZXN0LCBIaW50KQoreworICAgIFByb2JlRXJyb3IoQ2FsbEhpbnQpOworfQorCitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIFZpZXdwb3J0KQoreworICAgIFByb2JlRXJyb3IoQ2FsbFZpZXdw
b3J0KTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgT3J0aG8pCit7CisgICAgUHJvYmVFcnJv
cihDYWxsT3J0aG8pOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBGcnVzdHVtKQoreworICAg
IFByb2JlRXJyb3IoQ2FsbEZydXN0dW0pOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBTY2lz
c29yKQoreworICAgIFByb2JlRXJyb3IoQ2FsbFNjaXNzb3IpOworfQorCitURVNUX1AoR0xFUzFD
b3ZnbFRlc3QsIExvYWRJZGVudGl0eSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxMb2FkSWRlbnRp
dHkpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBNYXRyaXhNb2RlKQoreworICAgIFByb2Jl
RXJyb3IoQ2FsbE1hdHJpeE1vZGUpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBQdXNoTWF0
cml4KQoreworICAgIFByb2JlRXJyb3IoQ2FsbFB1c2hNYXRyaXgpOworfQorVEVTVF9QKEdMRVMx
Q292Z2xUZXN0LCBMb2FkTWF0cml4KQoreworICAgIFByb2JlRXJyb3IoQ2FsbExvYWRNYXRyaXgp
OworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBNdWx0TWF0cml4KQoreworICAgIFByb2JlRXJy
b3IoQ2FsbE11bHRNYXRyaXgpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBSb3RhdGUpCit7
CisgICAgUHJvYmVFcnJvcihDYWxsUm90YXRlKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwg
U2NhbGUpCit7CisgICAgUHJvYmVFcnJvcihDYWxsU2NhbGUpOworfQorVEVTVF9QKEdMRVMxQ292
Z2xUZXN0LCBUcmFuc2xhdGUpCit7CisgICAgUHJvYmVFcnJvcihDYWxsVHJhbnNsYXRlKTsKK30K
K1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgUG9wTWF0cml4KQoreworICAgIFByb2JlRXJyb3IoQ2Fs
bFBvcE1hdHJpeCk7Cit9CisKK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgQ2xlYXIpCit7CisgICAg
UHJvYmVFcnJvcihDYWxsQ2xlYXIpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBDbGVhckNv
bG9yKQoreworICAgIFByb2JlRXJyb3IoQ2FsbENsZWFyQ29sb3IpOworfQorVEVTVF9QKEdMRVMx
Q292Z2xUZXN0LCBDbGVhckRlcHRoKQoreworICAgIFByb2JlRXJyb3IoQ2FsbENsZWFyRGVwdGgp
OworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBDbGVhclN0ZW5jaWwpCit7CisgICAgUHJvYmVF
cnJvcihDYWxsQ2xlYXJTdGVuY2lsKTsKK30KKworVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBDb2xv
ck1hc2spCit7CisgICAgUHJvYmVFcnJvcihDYWxsQ29sb3JNYXNrKTsKK30KK1RFU1RfUChHTEVT
MUNvdmdsVGVzdCwgQ29sb3IpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQ29sb3IpOworfQorCitU
RVNUX1AoR0xFUzFDb3ZnbFRlc3QsIE5vcm1hbCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxOb3Jt
YWwpOworfQorCitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIEFscGhhRnVuYykKK3sKKyAgICBQcm9i
ZUVycm9yKENhbGxBbHBoYUZ1bmMpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBCbGVuZEZ1
bmMpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQmxlbmRGdW5jKTsKK30KK1RFU1RfUChHTEVTMUNv
dmdsVGVzdCwgRGVwdGhGdW5jKQoreworICAgIFByb2JlRXJyb3IoQ2FsbERlcHRoRnVuYyk7Cit9
CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIERlcHRoTWFzaykKK3sKKyAgICBQcm9iZUVycm9yKENh
bGxEZXB0aE1hc2spOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBEZXB0aFJhbmdlKQorewor
ICAgIFByb2JlRXJyb3IoQ2FsbERlcHRoUmFuZ2UpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0
LCBMb2dpY09wKQoreworICAgIFByb2JlRXJyb3IoQ2FsbExvZ2ljT3ApOworfQorVEVTVF9QKEdM
RVMxQ292Z2xUZXN0LCBTdGVuY2lsRnVuYykKK3sKKyAgICBQcm9iZUVycm9yKENhbGxTdGVuY2ls
RnVuYyk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIFN0ZW5jaWxNYXNrKQoreworICAgIFBy
b2JlRXJyb3IoQ2FsbFN0ZW5jaWxNYXNrKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgU3Rl
bmNpbE9wKQoreworICAgIFByb2JlRXJyb3IoQ2FsbFN0ZW5jaWxPcCk7Cit9CisKK1RFU1RfUChH
TEVTMUNvdmdsVGVzdCwgUGl4ZWxTdG9yZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxQaXhlbFN0
b3JlKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgUmVhZFBpeGVscykKK3sKKyAgICBQcm9i
ZUVycm9yKENhbGxSZWFkUGl4ZWxzKTsKK30KKworVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBGb2cp
Cit7CisgICAgUHJvYmVFcnJvcihDYWxsRm9nKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwg
TGlnaHRNb2RlbCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxMaWdodE1vZGVsKTsKK30KK1RFU1Rf
UChHTEVTMUNvdmdsVGVzdCwgTGlnaHQpCit7CisgICAgUHJvYmVFcnJvcihDYWxsTGlnaHQpOwor
fQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBNYXRlcmlhbCkKK3sKKyAgICBQcm9iZUVycm9yKENh
bGxNYXRlcmlhbCk7Cit9CisKKyNpZmRlZiBHTF9PRVNfVkVSU0lPTl8xXzEKK1RFU1RfUChHTEVT
MUNvdmdsVGVzdCwgSXNUZXh0dXJlKQoreworICAgIFByb2JlRXJyb3IoQ2FsbElzVGV4dHVyZSk7
Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIElzRW5hYmxlZCkKK3sKKyAgICBQcm9iZUVycm9y
KENhbGxJc0VuYWJsZWQpOworfQorI2VuZGlmIC8qIEdMX09FU19WRVJTSU9OXzFfMSAqLworCitU
RVNUX1AoR0xFUzFDb3ZnbFRlc3QsIFRleEVudikKK3sKKyAgICBQcm9iZUVycm9yKENhbGxUZXhF
bnYpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBUZXhQYXJhbWV0ZXIpCit7CisgICAgUHJv
YmVFcnJvcihDYWxsVGV4UGFyYW1ldGVyKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgVGV4
SW1hZ2UyRCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxUZXhJbWFnZTJEKTsKK30KK1RFU1RfUChH
TEVTMUNvdmdsVGVzdCwgVGV4U3ViSW1hZ2UyRCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxUZXhT
dWJJbWFnZTJEKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgR2VuVGV4dHVyZXMpCit7Cisg
ICAgUHJvYmVFcnJvcihDYWxsR2VuVGV4dHVyZXMpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0
LCBCaW5kRGVsZXRlVGV4dHVyZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxCaW5kRGVsZXRlVGV4
dHVyZSk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIENvcHlUZXhJbWFnZTJEKQoreworICAg
IFByb2JlRXJyb3IoQ2FsbENvcHlUZXhJbWFnZTJEKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVz
dCwgQ29weVRleFN1YkltYWdlMkQpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQ29weVRleFN1Yklt
YWdlMkQpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBDb21wcmVzc2VkVGV4SW1hZ2UyRCkK
K3sKKyAgICBQcm9iZUVycm9yKENhbGxDb21wcmVzc2VkVGV4SW1hZ2UyRCk7Cit9CitURVNUX1Ao
R0xFUzFDb3ZnbFRlc3QsIENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKQoreworICAgIFByb2JlRXJy
b3IoQ2FsbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKTsKK30KKworI2lmZGVmIEdMX09FU19WRVJT
SU9OXzFfMQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBCaW5kRGVsZXRlQnVmZmVyKQoreworICAg
IFByb2JlRXJyb3IoQ2FsbEJpbmREZWxldGVCdWZmZXIpOworfQorVEVTVF9QKEdMRVMxQ292Z2xU
ZXN0LCBJc0J1ZmZlcikKK3sKKyAgICBQcm9iZUVycm9yKENhbGxJc0J1ZmZlcik7Cit9CitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIEJ1ZmZlckRhdGEpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQnVm
ZmVyRGF0YSk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIEJ1ZmZlclN1YkRhdGEpCit7Cisg
ICAgUHJvYmVFcnJvcihDYWxsQnVmZmVyU3ViRGF0YSk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRl
c3QsIEdlbkJ1ZmZlcnMpCit7CisgICAgUHJvYmVFcnJvcihDYWxsR2VuQnVmZmVycyk7Cit9Cisj
ZW5kaWYgLyogR0xfT0VTX1ZFUlNJT05fMV8xICovCisKK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwg
U2hhZGVNb2RlbCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxTaGFkZU1vZGVsKTsKK30KK1RFU1Rf
UChHTEVTMUNvdmdsVGVzdCwgUG9pbnRTaXplKQoreworICAgIFByb2JlRXJyb3IoQ2FsbFBvaW50
U2l6ZSk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIExpbmVXaWR0aCkKK3sKKyAgICBQcm9i
ZUVycm9yKENhbGxMaW5lV2lkdGgpOworfQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBDdWxsRmFj
ZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxDdWxsRmFjZSk7Cit9CitURVNUX1AoR0xFUzFDb3Zn
bFRlc3QsIEZyb250RmFjZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxGcm9udEZhY2UpOworfQor
VEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBQb2x5Z29uT2Zmc2V0KQoreworICAgIFByb2JlRXJyb3Io
Q2FsbFBvbHlnb25PZmZzZXQpOworfQorCisjaWZkZWYgR0xfT0VTX1ZFUlNJT05fMV8xCitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIFBvaW50UGFyYW1ldGVyKQoreworICAgIFByb2JlRXJyb3IoQ2Fs
bFBvaW50UGFyYW1ldGVyKTsKK30KKyNlbmRpZiAvKiBHTF9PRVNfVkVSU0lPTl8xXzEgKi8KKwor
VEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBGbHVzaCkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxGbHVz
aCk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIEZpbmlzaCkKK3sKKyAgICBQcm9iZUVycm9y
KENhbGxGaW5pc2gpOworfQorCitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIENvbG9yUG9pbnRlcikK
K3sKKyAgICBQcm9iZUVycm9yKENhbGxDb2xvclBvaW50ZXIpOworfQorVEVTVF9QKEdMRVMxQ292
Z2xUZXN0LCBEcmF3QXJyYXlzKQoreworICAgIFByb2JlRXJyb3IoQ2FsbERyYXdBcnJheXMpOwor
fQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBEcmF3RWxlbWVudHMpCit7CisgICAgUHJvYmVFcnJv
cihDYWxsRHJhd0VsZW1lbnRzKTsKK30KKyNpZmRlZiBHTF9PRVNfZHJhd190ZXh0dXJlCitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIERyYXdUZXgpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCF0
a0NoZWNrRXh0ZW5zaW9uKCJHTF9PRVNfZHJhd190ZXh0dXJlIikpOworCisgICAgUHJvYmVFcnJv
cihDYWxsRHJhd1RleCk7Cit9CisjZW5kaWYgLypHTF9PRVNfZHJhd190ZXh0dXJlICovCitURVNU
X1AoR0xFUzFDb3ZnbFRlc3QsIE5vcm1hbFBvaW50ZXIpCit7CisgICAgUHJvYmVFcnJvcihDYWxs
Tm9ybWFsUG9pbnRlcik7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIFRleENvb3JkUG9pbnRl
cikKK3sKKyAgICBQcm9iZUVycm9yKENhbGxUZXhDb29yZFBvaW50ZXIpOworfQorVEVTVF9QKEdM
RVMxQ292Z2xUZXN0LCBWZXJ0ZXhQb2ludGVyKQoreworICAgIFByb2JlRXJyb3IoQ2FsbFZlcnRl
eFBvaW50ZXIpOworfQorI2lmZGVmIEdMX09FU19WRVJTSU9OXzFfMQorVEVTVF9QKEdMRVMxQ292
Z2xUZXN0LCBQb2ludFNpemVQb2ludGVyT0VTKQoreworICAgIFByb2JlRXJyb3IoQ2FsbFBvaW50
U2l6ZVBvaW50ZXJPRVMpOworfQorI2VuZGlmCitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIEVuYWJs
ZURpc2FibGVDbGllbnRTdGF0ZSkKK3sKKyAgICBQcm9iZUVycm9yKENhbGxFbmFibGVEaXNhYmxl
Q2xpZW50U3RhdGUpOworfQorCitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIEFjdGl2ZVRleHR1cmUp
Cit7CisgICAgUHJvYmVFcnJvcihDYWxsQWN0aXZlVGV4dHVyZSk7Cit9CitURVNUX1AoR0xFUzFD
b3ZnbFRlc3QsIENsaWVudEFjdGl2ZVRleHR1cmUpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQ2xp
ZW50QWN0aXZlVGV4dHVyZSk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIE11bHRpVGV4Q29v
cmQpCit7CisgICAgUHJvYmVFcnJvcihDYWxsTXVsdGlUZXhDb29yZCk7Cit9CisKK1RFU1RfUChH
TEVTMUNvdmdsVGVzdCwgU2FtcGxlQ292ZXJhZ2UpCit7CisgICAgUHJvYmVFcnJvcihDYWxsU2Ft
cGxlQ292ZXJhZ2UpOworfQorCisjaWZkZWYgR0xfT0VTX3F1ZXJ5X21hdHJpeAorVEVTVF9QKEdM
RVMxQ292Z2xUZXN0LCBRdWVyeU1hdHJpeCkKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIXRr
Q2hlY2tFeHRlbnNpb24oIkdMX09FU19xdWVyeV9tYXRyaXgiKSk7CisgICAgUHJvYmVFcnJvcihD
YWxsUXVlcnlNYXRyaXgpOworfQorI2VuZGlmCisKKyNpZmRlZiBHTF9PRVNfbWF0cml4X3BhbGV0
dGUKK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgQ3VycmVudFBhbGV0dGVNYXRyaXhPRVMpCit7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCF0a0NoZWNrRXh0ZW5zaW9uKCJHTF9PRVNfbWF0cml4X3Bh
bGV0dGUiKSk7CisgICAgUHJvYmVFcnJvcihDYWxsQ3VycmVudFBhbGV0dGVNYXRyaXhPRVMpOwor
fQorVEVTVF9QKEdMRVMxQ292Z2xUZXN0LCBMb2FkUGFsZXR0ZUZyb21Nb2RlbFZpZXdNYXRyaXhP
RVMpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCF0a0NoZWNrRXh0ZW5zaW9uKCJHTF9PRVNf
bWF0cml4X3BhbGV0dGUiKSk7CisgICAgUHJvYmVFcnJvcihDYWxsTG9hZFBhbGV0dGVGcm9tTW9k
ZWxWaWV3TWF0cml4T0VTKTsKK30KK1RFU1RfUChHTEVTMUNvdmdsVGVzdCwgTWF0cml4SW5kZXhQ
b2ludGVyT0VTKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighdGtDaGVja0V4dGVuc2lvbigi
R0xfT0VTX21hdHJpeF9wYWxldHRlIikpOworICAgIFByb2JlRXJyb3IoQ2FsbE1hdHJpeEluZGV4
UG9pbnRlck9FUyk7Cit9CitURVNUX1AoR0xFUzFDb3ZnbFRlc3QsIFdlaWdodFBvaW50ZXJPRVMp
Cit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCF0a0NoZWNrRXh0ZW5zaW9uKCJHTF9PRVNfbWF0
cml4X3BhbGV0dGUiKSk7CisgICAgUHJvYmVFcnJvcihDYWxsV2VpZ2h0UG9pbnRlck9FUyk7Cit9
CisjZW5kaWYKKworI2lmZGVmIEdMX09FU19WRVJTSU9OXzFfMQorVEVTVF9QKEdMRVMxQ292Z2xU
ZXN0LCBDbGlwUGxhbmUpCit7CisgICAgUHJvYmVFcnJvcihDYWxsQ2xpcFBsYW5lKTsKK30KKyNl
bmRpZgorCitBTkdMRV9JTlNUQU5USUFURV9URVNUKEdMRVMxQ292Z2xUZXN0LCBFUzFfT1BFTkdM
KCksIEVTMV9WVUxLQU4oKSk7Cit9ICAvLyBuYW1lc3BhY2UgYW5nbGUKKworLy8gSW5jbHVkZWQg
aGVyZSB0byBmaXggYSBjb21waWxlIGVycm9yIGR1ZSB0byB3aGl0ZSBib3ggdGVzdHMgdXNpbmcg
YW5nbGVfZW5kMmVuZF90ZXN0c19tYWluLgordm9pZCBSZWdpc3RlckNvbnRleHRDb21wYXRpYmls
aXR5VGVzdHMoKSB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2dsZXMxX2NvbmZvcm1hbmNlX3Rlc3RzL1ByaW10ZXN0VGVzdHMuY3BwIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsZXMxX2NvbmZvcm1hbmNlX3Rlc3RzL1ByaW10ZXN0
VGVzdHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyYTI4OTVmYTkzNDk3NWFhMmYzOWIyNmFiOWIzNmM5NDk1
ZWYxOTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xlczFfY29uZm9ybWFuY2VfdGVzdHMvUHJpbXRlc3RUZXN0cy5jcHAKQEAgLTAsMCArMSwx
NjYgQEAKKy8vCisvLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8vCisvLyBQcmltdGVzdFRlc3RzLmNwcDoKKy8vICAgR0xFUzEgY29uZm9y
bWFuY2UgcHJpbXRlc3QgdGVzdHMuCisvLworCisjaW5jbHVkZSAiR0xFUy9nbC5oIgorI2luY2x1
ZGUgInRlc3RfdXRpbHMvQU5HTEVUZXN0LmgiCisjaW5jbHVkZSAidGVzdF91dGlscy9nbF9yYWlp
LmgiCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLy8gRVMg
MS4wCitleHRlcm4gdm9pZCBEcmF3UHJpbXModm9pZCk7CisKKyNpbmNsdWRlICJwcmltdGVzdC9k
cml2ZXIuaCIKKyNpbmNsdWRlICJwcmltdGVzdC90cHJvdG8uaCIKKworI2lmZGVmIF9fY3BsdXNw
bHVzCit9CisKKyNlbmRpZgorCituYW1lc3BhY2UgYW5nbGUKK3sKK2NsYXNzIEdMRVMxUHJpbXRl
c3RUZXN0IDogcHVibGljIEFOR0xFVGVzdAoreworICBwcm90ZWN0ZWQ6CisgICAgR0xFUzFQcmlt
dGVzdFRlc3QoKQorICAgIHsKKyAgICAgICAgc2V0V2luZG93V2lkdGgoNDgpOworICAgICAgICBz
ZXRXaW5kb3dIZWlnaHQoNDgpOworICAgICAgICBzZXRDb25maWdSZWRCaXRzKDgpOworICAgICAg
ICBzZXRDb25maWdHcmVlbkJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0JsdWVCaXRzKDgpOwor
ICAgICAgICBzZXRDb25maWdBbHBoYUJpdHMoOCk7CisgICAgICAgIHNldENvbmZpZ0RlcHRoQml0
cygyNCk7CisgICAgICAgIHNldENvbmZpZ1N0ZW5jaWxCaXRzKDgpOworICAgIH0KKworICAgIHZv
aWQgdGVzdFRlYXJEb3duKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGlmIChtVGVzdERhdGEg
IT0gbnVsbHB0cikKKyAgICAgICAgeworICAgICAgICAgICAgZnJlZShtVGVzdERhdGEpOworICAg
ICAgICB9CisgICAgfQorCisgICAgdm9pZCBleGVjVGVzdChsb25nIHRlc3QpCisgICAgeworICAg
ICAgICBsb25nIGk7CisgICAgICAgIGZvciAoaSA9IDA7IGRyaXZlcltpXS50ZXN0ICE9IFRFU1Rf
TlVMTDsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZHJpdmVyW2ldLnRlc3QgPT0g
dGVzdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVF9ORShURVNUX05VTEwsIGRyaXZlcltpXS50
ZXN0KTsKKworICAgICAgICBkcml2ZXJSZWMgJm9wID0gZHJpdmVyW2ldOworCisgICAgICAgIG9w
LmZ1bmNJbml0KCh2b2lkICopJm1UZXN0RGF0YSk7CisgICAgICAgIG9wLmZpbmlzaCA9IDA7Cisg
ICAgICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgICAgIGZvciAoOzspCisgICAgICAg
IHsKKyAgICAgICAgICAgIG9wLmZ1bmNTdGF0dXMoMSwgbVRlc3REYXRhKTsKKyAgICAgICAgICAg
IEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgICAgICAgICBvcC5mdW5jU2V0KDEsIG1UZXN0
RGF0YSk7CisgICAgICAgICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgICAgICAgICAg
RHJhd1ByaW1zKCk7CisgICAgICAgICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgICAg
ICAgICAgbG9uZyBmaW5pc2ggPSBvcC5mdW5jVXBkYXRlKG1UZXN0RGF0YSk7CisgICAgICAgICAg
ICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICAgICAgICAgIGlmIChmaW5pc2gpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH07
CisgICAgfQorCisgIHByb3RlY3RlZDoKKyAgICB2b2lkICptVGVzdERhdGE7Cit9OworCitURVNU
X1AoR0xFUzFQcmltdGVzdFRlc3QsIEhpbnQpCit7CisgICAgZXhlY1Rlc3QoVEVTVF9ISU5UKTsK
K30KKworVEVTVF9QKEdMRVMxUHJpbXRlc3RUZXN0LCBBbGlhcykKK3sKKyAgICBleGVjVGVzdChU
RVNUX0FMSUFTKTsKK30KKworVEVTVF9QKEdMRVMxUHJpbXRlc3RUZXN0LCBBbHBoYSkKK3sKKyAg
ICBleGVjVGVzdChURVNUX0FMUEhBKTsKK30KKworVEVTVF9QKEdMRVMxUHJpbXRlc3RUZXN0LCBC
bGVuZCkKK3sKKyAgICBleGVjVGVzdChURVNUX0JMRU5EKTsKK30KKworVEVTVF9QKEdMRVMxUHJp
bXRlc3RUZXN0LCBEZXB0aCkKK3sKKyAgICBleGVjVGVzdChURVNUX0RFUFRIKTsKK30KKworVEVT
VF9QKEdMRVMxUHJpbXRlc3RUZXN0LCBEaXRoZXIpCit7CisgICAgZXhlY1Rlc3QoVEVTVF9ESVRI
RVIpOworfQorCitURVNUX1AoR0xFUzFQcmltdGVzdFRlc3QsIEZvZykKK3sKKyAgICBleGVjVGVz
dChURVNUX0ZPRyk7Cit9CisKK1RFU1RfUChHTEVTMVByaW10ZXN0VGVzdCwgTGlnaHQpCit7Cisg
ICAgZXhlY1Rlc3QoVEVTVF9MSUdIVCk7Cit9CisKK1RFU1RfUChHTEVTMVByaW10ZXN0VGVzdCwg
TG9naWMpCit7CisgICAgZXhlY1Rlc3QoVEVTVF9MT0dJQ09QKTsKK30KKworVEVTVF9QKEdMRVMx
UHJpbXRlc3RUZXN0LCBTY2lzc29yKQoreworICAgIGV4ZWNUZXN0KFRFU1RfU0NJU1NPUik7Cit9
CisKK1RFU1RfUChHTEVTMVByaW10ZXN0VGVzdCwgU2hhZGUpCit7CisgICAgZXhlY1Rlc3QoVEVT
VF9TSEFERSk7Cit9CisKK1RFU1RfUChHTEVTMVByaW10ZXN0VGVzdCwgU3RlbmNpbCkKK3sKKyAg
ICBleGVjVGVzdChURVNUX1NURU5DSUwpOworfQorCitURVNUX1AoR0xFUzFQcmltdGVzdFRlc3Qs
IFRleHR1cmUpCit7CisgICAgZXhlY1Rlc3QoVEVTVF9URVhUVVJFKTsKK30KKworQU5HTEVfSU5T
VEFOVElBVEVfVEVTVChHTEVTMVByaW10ZXN0VGVzdCwgRVMxX09QRU5HTCgpLCBFUzFfVlVMS0FO
KCkpOworfSAgLy8gbmFtZXNwYWNlIGFuZ2xlCisKKy8vIEluY2x1ZGVkIGhlcmUgdG8gZml4IGEg
Y29tcGlsZSBlcnJvciBkdWUgdG8gd2hpdGUgYm94IHRlc3RzIHVzaW5nIGFuZ2xlX2VuZDJlbmRf
dGVzdHNfbWFpbi4KK3ZvaWQgUmVnaXN0ZXJDb250ZXh0Q29tcGF0aWJpbGl0eVRlc3RzKCkge30K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9BTkdMRVBlcmZUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3QuY3BwCmlu
ZGV4IDI0MjVlZjEwNjY2MmQ5MjdhMWJkNWUxOWI0NTJkZGFlYjZhOWNjOGEuLjNhMWY1NDQ0MzI4
OWNiYWY4NTU0NDk1ODIwZDczNjJkOTM3MjAwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3QuY3BwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3Qu
Y3BwCkBAIC0yMzksNiArMjM5LDEyIEBAIHZvaWQgQU5HTEVQZXJmVGVzdDo6cnVuKCkKICAgICAg
ICAgbVN0ZXBzVG9SdW4gPSBnU3RlcHNUb1J1bk92ZXJyaWRlOwogICAgIH0KIAorICAgIC8vIENo
ZWNrIGFnYWluIGZvciBlYXJseSBleGl0LgorICAgIGlmIChtU2tpcFRlc3QpCisgICAgeworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gRG8gYW5vdGhlciB3YXJtdXAgcnVuLiBTZWVt
cyB0byBjb25zaXN0ZW50bHkgaW1wcm92ZSByZXN1bHRzLgogICAgIGRvUnVuTG9vcChrTWF4aW11
bVJ1blRpbWVTZWNvbmRzKTsKIApAQCAtNDIyLDggKzQyOCwxNCBAQCBBTkdMRVJlbmRlclRlc3Q6
OkFOR0xFUmVuZGVyVGVzdChjb25zdCBzdGQ6OnN0cmluZyAmbmFtZSwgY29uc3QgUmVuZGVyVGVz
dFBhcmFtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbmdsZTo6U2VhcmNoVHlwZTo6QXBwbGljYXRpb25EaXIpKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIGFuZ2xlOjpHTEVTRHJpdmVyVHlwZTo6U3lzdGVtRUdM
OgorI2lmIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxfTE9BREVSKSAmJiAhZGVmaW5lZChBTkdMRV9Q
TEFURk9STV9XSU5ET1dTKQorICAgICAgICAgICAgbUdMV2luZG93ID0gRUdMV2luZG93OjpOZXco
dGVzdFBhcmFtcy5tYWpvclZlcnNpb24sIHRlc3RQYXJhbXMubWlub3JWZXJzaW9uKTsKKyAgICAg
ICAgICAgIG1FbnRyeVBvaW50c0xpYi5yZXNldCgKKyAgICAgICAgICAgICAgICBhbmdsZTo6T3Bl
blNoYXJlZExpYnJhcnlXaXRoRXh0ZW5zaW9uKEdldE5hdGl2ZUVHTExpYnJhcnlOYW1lV2l0aEV4
dGVuc2lvbigpKSk7CisjZWxzZQogICAgICAgICAgICAgc3RkOjpjZXJyIDw8ICJOb3QgaW1wbGVt
ZW50ZWQuIiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgICAgICBtU2tpcFRlc3QgPSB0cnVlOworI2Vu
ZGlmICAvLyBkZWZpbmVkKEFOR0xFX1VTRV9VVElMX0xPQURFUikgJiYgIWRlZmluZWQoQU5HTEVf
UExBVEZPUk1fV0lORE9XUykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGFuZ2xl
OjpHTEVTRHJpdmVyVHlwZTo6U3lzdGVtV0dMOgogI2lmIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxf
TE9BREVSKSAmJiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX1dJTkRPV1MpCkBAIC00OTQsNyArNTA2
LDE2IEBAIHZvaWQgQU5HTEVSZW5kZXJUZXN0OjpTZXRVcCgpCiAgICAgRUdMUGxhdGZvcm1QYXJh
bWV0ZXJzIHdpdGhNZXRob2RzID0gbVRlc3RQYXJhbXMuZWdsUGFyYW1ldGVyczsKICAgICB3aXRo
TWV0aG9kcy5wbGF0Zm9ybU1ldGhvZHMgICAgICAgPSAmbVBsYXRmb3JtTWV0aG9kczsKIAotICAg
IGlmICghbUdMV2luZG93LT5pbml0aWFsaXplR0wobU9TV2luZG93LCBtRW50cnlQb2ludHNMaWIu
Z2V0KCksIHdpdGhNZXRob2RzLCBtQ29uZmlnUGFyYW1zKSkKKyAgICAvLyBSZXF1ZXN0IGEgY29t
bW9uIGZyYW1lYnVmZmVyIGNvbmZpZworICAgIG1Db25maWdQYXJhbXMucmVkQml0cyAgICAgPSA4
OworICAgIG1Db25maWdQYXJhbXMuZ3JlZW5CaXRzICAgPSA4OworICAgIG1Db25maWdQYXJhbXMu
Ymx1ZUJpdHMgICAgPSA4OworICAgIG1Db25maWdQYXJhbXMuYWxwaGFCaXRzICAgPSA4OworICAg
IG1Db25maWdQYXJhbXMuZGVwdGhCaXRzICAgPSAyNDsKKyAgICBtQ29uZmlnUGFyYW1zLnN0ZW5j
aWxCaXRzID0gODsKKworICAgIGlmICghbUdMV2luZG93LT5pbml0aWFsaXplR0wobU9TV2luZG93
LCBtRW50cnlQb2ludHNMaWIuZ2V0KCksIG1UZXN0UGFyYW1zLmRyaXZlciwgd2l0aE1ldGhvZHMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtQ29uZmlnUGFyYW1zKSkKICAgICB7
CiAgICAgICAgIG1Ta2lwVGVzdCA9IHRydWU7CiAgICAgICAgIEZBSUwoKSA8PCAiRmFpbGVkIGlu
aXRpYWxpemluZyBHTCBXaW5kb3ciOwpAQCAtNTUxLDYgKzU3MiwxNiBAQCB2b2lkIEFOR0xFUmVu
ZGVyVGVzdDo6U2V0VXAoKQogICAgICAgICBGQUlMKCkgPDwgIlBsZWFzZSBpbml0aWFsaXplICdp
dGVyYXRpb25zUGVyU3RlcCcuIjsKICAgICAgICAgLy8gRkFJTCByZXR1cm5zLgogICAgIH0KKwor
ICAgIC8vIENhcHR1cmUgYSBzY3JlZW5zaG90IGlmIGVuYWJsZWQuCisgICAgaWYgKGdTY3JlZW5T
aG90RGlyICE9IG51bGxwdHIpCisgICAgeworICAgICAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzY3Jl
ZW5zaG90TmFtZVN0cjsKKyAgICAgICAgc2NyZWVuc2hvdE5hbWVTdHIgPDwgZ1NjcmVlblNob3RE
aXIgPDwgR2V0UGF0aFNlcGFyYXRvcigpIDw8ICJhbmdsZSIgPDwgbUJhY2tlbmQgPDwgIl8iCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIDw8IG1TdG9yeSA8PCAiLnBuZyI7CisgICAgICAgIHN0
ZDo6c3RyaW5nIHNjcmVlbnNob3ROYW1lID0gc2NyZWVuc2hvdE5hbWVTdHIuc3RyKCk7CisgICAg
ICAgIHNhdmVTY3JlZW5zaG90KHNjcmVlbnNob3ROYW1lKTsKKyAgICB9CiB9CiAKIHZvaWQgQU5H
TEVSZW5kZXJUZXN0OjpUZWFyRG93bigpCkBAIC02NDAsNiArNjcxLDcgQEAgdm9pZCBBTkdMRVJl
bmRlclRlc3Q6OnN0ZXAoKQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIGRyYXdCZW5jaG1hcmso
KTsKKwogICAgICAgICAvLyBTd2FwIGlzIG5lZWRlZCBzbyB0aGF0IHRoZSBHUFUgZHJpdmVyIHdp
bGwgb2NjYXNpb25hbGx5IGZsdXNoIGl0cwogICAgICAgICAvLyBpbnRlcm5hbCBjb21tYW5kIHF1
ZXVlIHRvIHRoZSBHUFUuIFRoaXMgaXMgZW5hYmxlZCBmb3IgbnVsbCBiYWNrLWVuZAogICAgICAg
ICAvLyBkZXZpY2VzIGJlY2F1c2Ugc29tZSBiYWNrLWVuZHMgKGUuZy4gVnVsa2FuKSBhbHNvIGFj
Y3VtdWxhdGUgaW50ZXJuYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3QuaAppbmRleCAyMzZkODYzYzVj
YWU5YmI2M2Q1OTY4Y2Y1MmY2Y2EzZGYzMWZhMWJiLi4wMDQzOTIxOWI3OWUzNjcwOTkyNTkzNjdj
YmJlYTk1M2JmMWRmZmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
dGVzdHMvcGVyZl90ZXN0cy9BTkdMRVBlcmZUZXN0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvQU5HTEVQZXJmVGVzdC5oCkBAIC02OSw2ICs2OSw3
IEBAIGNsYXNzIEFOR0xFUGVyZlRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCwgYW5nbGU6Ok5v
bkNvcHlhYmxlCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VGVzdCgpIHt9CiAgICAgLy8gQ2FsbGVk
IHJpZ2h0IGJlZm9yZSB0aW1lciBpcyBzdG9wcGVkIHRvIGxldCB0aGUgdGVzdCB3YWl0IGZvciBh
c3luY2hyb25vdXMgb3BlcmF0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoVGVzdCgpIHt9
CisgICAgdmlydHVhbCB2b2lkIGZsdXNoKCkge30KIAogICBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBy
dW4oKTsKQEAgLTg0LDYgKzg1LDkgQEAgY2xhc3MgQU5HTEVQZXJmVGVzdCA6IHB1YmxpYyB0ZXN0
aW5nOjpUZXN0LCBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB1bnNpZ25lZCBpbnQgZ2V0TnVtU3Rl
cHNQZXJmb3JtZWQoKSBjb25zdCB7IHJldHVybiBtTnVtU3RlcHNQZXJmb3JtZWQ7IH0KICAgICB2
b2lkIGRvUnVuTG9vcChkb3VibGUgbWF4UnVuVGltZSk7CiAKKyAgICAvLyBPdmVycmlkZW4gaW4g
dHJhY2UgcGVyZiB0ZXN0cy4KKyAgICB2aXJ0dWFsIHZvaWQgc2F2ZVNjcmVlbnNob3QoY29uc3Qg
c3RkOjpzdHJpbmcgJnNjcmVlbnNob3ROYW1lKSB7fQorCiAgICAgc3RkOjpzdHJpbmcgbU5hbWU7
CiAgICAgc3RkOjpzdHJpbmcgbUJhY2tlbmQ7CiAgICAgc3RkOjpzdHJpbmcgbVN0b3J5OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvQU5H
TEVQZXJmVGVzdEFyZ3MuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Bl
cmZfdGVzdHMvQU5HTEVQZXJmVGVzdEFyZ3MuY3BwCmluZGV4IGQyMzMxNTUyODc5YzE2NDM2YjE3
ZDYyM2FlMTZjNzQzMDY5Nzk2NWIuLjZjMTA0YWUzZmZiNmY3ZDc5YmI3NjljMDRiNGQ4Y2M1ZGQz
MjFlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJm
X3Rlc3RzL0FOR0xFUGVyZlRlc3RBcmdzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9BTkdMRVBlcmZUZXN0QXJncy5jcHAKQEAgLTEzLDEwICsx
MywxMSBAQAogCiBuYW1lc3BhY2UgYW5nbGUKIHsKLWJvb2wgZ0NhbGlicmF0aW9uICAgICAgID0g
ZmFsc2U7Ci1pbnQgZ1N0ZXBzVG9SdW5PdmVycmlkZSA9IC0xOwotYm9vbCBnRW5hYmxlVHJhY2Ug
ICAgICAgPSBmYWxzZTsKLWNvbnN0IGNoYXIgKmdUcmFjZUZpbGUgID0gIkFOR0xFVHJhY2UuanNv
biI7Citib29sIGdDYWxpYnJhdGlvbiAgICAgICAgICA9IGZhbHNlOworaW50IGdTdGVwc1RvUnVu
T3ZlcnJpZGUgICAgPSAtMTsKK2Jvb2wgZ0VuYWJsZVRyYWNlICAgICAgICAgID0gZmFsc2U7Citj
b25zdCBjaGFyICpnVHJhY2VGaWxlICAgICA9ICJBTkdMRVRyYWNlLmpzb24iOworY29uc3QgY2hh
ciAqZ1NjcmVlblNob3REaXIgPSBudWxscHRyOwogfSAgLy8gbmFtZXNwYWNlIGFuZ2xlCiAKIHVz
aW5nIG5hbWVzcGFjZSBhbmdsZTsKQEAgLTM3LDcgKzM4LDcgQEAgdm9pZCBBTkdMRVByb2Nlc3NQ
ZXJmVGVzdEFyZ3MoaW50ICphcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgfQogICAgICAgICBl
bHNlIGlmIChzdHJjbXAoIi0tdHJhY2UtZmlsZSIsIGFyZ3ZbYXJnSW5kZXhdKSA9PSAwICYmIGFy
Z0luZGV4IDwgKmFyZ2MgLSAxKQogICAgICAgICB7Ci0gICAgICAgICAgICBnVHJhY2VGaWxlID0g
YXJndlthcmdJbmRleF07CisgICAgICAgICAgICBnVHJhY2VGaWxlID0gYXJndlthcmdJbmRleCAr
IDFdOwogICAgICAgICAgICAgLy8gU2tpcCBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LgogICAgICAg
ICAgICAgYXJnSW5kZXgrKzsKICAgICAgICAgfQpAQCAtNTUsNiArNTYsMTEgQEAgdm9pZCBBTkdM
RVByb2Nlc3NQZXJmVGVzdEFyZ3MoaW50ICphcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAg
IC8vIFNraXAgYW4gYWRkaXRpb25hbCBhcmd1bWVudC4KICAgICAgICAgICAgIGFyZ0luZGV4Kys7
CiAgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoc3RyY21wKCItLXNjcmVlbnNob3QtZGlyIiwg
YXJndlthcmdJbmRleF0pID09IDAgJiYgYXJnSW5kZXggPCAqYXJnYyAtIDEpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdTY3JlZW5TaG90RGlyID0gYXJndlthcmdJbmRleCArIDFdOworICAgICAg
ICAgICAgYXJnSW5kZXgrKzsKKyAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGFyZ3ZbYXJnY091dENvdW50KytdID0gYXJndlthcmdJbmRleF07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9BTkdMRVBl
cmZUZXN0QXJncy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVz
dHMvQU5HTEVQZXJmVGVzdEFyZ3MuaAppbmRleCA0NjFiZDE2YzAwZDk3ZWVlNjI0YjVjNWYwNDMx
ZjNhZWRjMjkwZDcyLi4xMGIxZGQ0NmMyOWZkZDRjNGMyMTUyODE5Y2E4Y2QzYzA0OWEzOGE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9B
TkdMRVBlcmZUZXN0QXJncy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9wZXJmX3Rlc3RzL0FOR0xFUGVyZlRlc3RBcmdzLmgKQEAgLTE4LDYgKzE4LDcgQEAgZXh0ZXJu
IGJvb2wgZ0NhbGlicmF0aW9uOwogZXh0ZXJuIGludCBnU3RlcHNUb1J1bk92ZXJyaWRlOwogZXh0
ZXJuIGJvb2wgZ0VuYWJsZVRyYWNlOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmdUcmFjZUZpbGU7Citl
eHRlcm4gY29uc3QgY2hhciAqZ1NjcmVlblNob3REaXI7CiAKIGlubGluZSBib29sIE9uZUZyYW1l
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJm
X3Rlc3RzL0J1ZmZlclN1YkRhdGEuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL3BlcmZfdGVzdHMvQnVmZmVyU3ViRGF0YS5jcHAKaW5kZXggZjhkMTNlMTkxMjU1YjU4YTdi
Y2RkNDIzZjhlODNiNDIyZWJjNTA5Mi4uZjQ2Y2FkODU0ZmY2N2U0ZjkyYzI5NWNiM2U1ODk0ZGU0
YjEzNWExNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Bl
cmZfdGVzdHMvQnVmZmVyU3ViRGF0YS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL3BlcmZfdGVzdHMvQnVmZmVyU3ViRGF0YS5jcHAKQEAgLTI3LDggKzI3LDggQEAg
c3RydWN0IEJ1ZmZlclN1YkRhdGFQYXJhbXMgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGVzdFBhcmFt
cwogICAgICAgICBtaW5vclZlcnNpb24gICAgICA9IDA7CiAgICAgICAgIHdpbmRvd1dpZHRoICAg
ICAgID0gNTEyOwogICAgICAgICB3aW5kb3dIZWlnaHQgICAgICA9IDUxMjsKLSAgICAgICAgdXBk
YXRlU2l6ZSAgICAgICAgPSAzMDAwOwotICAgICAgICBidWZmZXJTaXplICAgICAgICA9IDQwMDAw
MDAwOworICAgICAgICB1cGRhdGVTaXplICAgICAgICA9IDMyMDAwOworICAgICAgICBidWZmZXJT
aXplICAgICAgICA9IDQwMDAwOwogICAgICAgICBpdGVyYXRpb25zUGVyU3RlcCA9IGtJdGVyYXRp
b25zUGVyU3RlcDsKICAgICAgICAgdXBkYXRlUmF0ZSAgICAgICAgPSAxOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL0RyYXdD
YWxsUGVyZlBhcmFtcy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZf
dGVzdHMvRHJhd0NhbGxQZXJmUGFyYW1zLmgKaW5kZXggNmM2Njc4NzY1NTNkOGMwNGNmMDZlMmY2
ZDdhZWM1ZTdmYzAyMDY5Yi4uZGUxZjE3MWI4Y2Y4ZDYwYjgzMTNkNjRjNGMwNzY1NWNjZWVjN2Uw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVz
dHMvRHJhd0NhbGxQZXJmUGFyYW1zLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL3BlcmZfdGVzdHMvRHJhd0NhbGxQZXJmUGFyYW1zLmgKQEAgLTc4LDYgKzc4LDEzIEBA
IFBhcmFtc1QgV0dMKGNvbnN0IFBhcmFtc1QgJmluKQogICAgIHJldHVybiBvdXQ7CiB9CiAKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBQYXJhbXNUPgorUGFyYW1zVCBFR0woY29uc3QgUGFyYW1zVCAmaW4p
Cit7CisgICAgUGFyYW1zVCBvdXQgPSBpbjsKKyAgICBvdXQuZHJpdmVyICA9IGFuZ2xlOjpHTEVT
RHJpdmVyVHlwZTo6U3lzdGVtRUdMOworICAgIHJldHVybiBvdXQ7Cit9CiB9ICAvLyBuYW1lc3Bh
Y2UgcGFyYW1zCiAKICNlbmRpZiAgLy8gVEVTVFNfUEVSRl9URVNUU19EUkFXX0NBTExfUEVSRl9Q
QVJBTVNfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9w
ZXJmX3Rlc3RzL1RleHR1cmVTYW1wbGluZy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvcGVyZl90ZXN0cy9UZXh0dXJlU2FtcGxpbmcuY3BwCmluZGV4IDM1YmJlYjFlOGU2
NzU3NGY5NDg0NmNkYzBmYmM0NjE1NmJmNWFiOWEuLmFmN2QwOWVjNjYyMjYyNDNjNDE2NTdiZjcw
MzY5MDU0Mjg2NTBlM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90
ZXN0cy9wZXJmX3Rlc3RzL1RleHR1cmVTYW1wbGluZy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvVGV4dHVyZVNhbXBsaW5nLmNwcApAQCAtNzIs
NyArNzIsNyBAQCBjbGFzcyBUZXh0dXJlU2FtcGxpbmdCZW5jaG1hcmsgOiBwdWJsaWMgQU5HTEVS
ZW5kZXJUZXN0LAogICAgIHZvaWQgZGVzdHJveUJlbmNobWFyaygpIG92ZXJyaWRlOwogICAgIHZv
aWQgZHJhd0JlbmNobWFyaygpIG92ZXJyaWRlOwogCi0gIHByaXZhdGU6CisgIHByb3RlY3RlZDoK
ICAgICB2b2lkIGluaXRTaGFkZXJzKCk7CiAgICAgdm9pZCBpbml0VmVydGV4QnVmZmVyKCk7CiAg
ICAgdm9pZCBpbml0VGV4dHVyZXMoKTsKQEAgLTI1OCw2ICsyNTgsNTIgQEAgdm9pZCBUZXh0dXJl
U2FtcGxpbmdCZW5jaG1hcms6OmRyYXdCZW5jaG1hcmsoKQogICAgIEFTU0VSVF9HTF9OT19FUlJP
UigpOwogfQogCisvLyBJZGVudGljYWwgdG8gVGV4dHVyZVNhbXBsaW5nQmVuY2htYXJrLCBidXQg
ZW5hYmxlcyBhbmQgdGhlbiBkaXNhYmxlcworLy8gRVhUX3RleHR1cmVfZm9ybWF0X3NSR0Jfb3Zl
cnJpZGUgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBUaGlzIHNob3VsZCBmb3JjZSB0aGUgaW50ZXJu
YWwgdGV4dHVyZQorLy8gcmVwcmVzZW50YXRpb24gdG8gdXNlIFZLX0lNQUdFX0NSRUFURV9NVVRB
QkxFX0ZPUk1BVF9CSVQsIHdoaWNoIGlzIGV4cGVjdGVkIHRvIGNhcnJ5IGEKKy8vIHBlcmZvcm1h
bmNlIHBlbmFsdHkuIFRoaXMgcGVuYWx0eSBjYW4gYmUgcXVhbnRpZmllZCBieSBjb21wYXJpbmcg
dGhlIHJlc3VsdHMgb2YgdGhpcyB0ZXN0IHdpdGgKKy8vIHRoZSByZXN1bHRzIGZyb20gVGV4dHVy
ZVNhbXBsaW5nQmVuY2htYXJrCitjbGFzcyBUZXh0dXJlU2FtcGxpbmdNdXRhYmxlRm9ybWF0QmVu
Y2htYXJrIDogcHVibGljIFRleHR1cmVTYW1wbGluZ0JlbmNobWFyaworeworICBwdWJsaWM6Cisg
ICAgdm9pZCBpbml0aWFsaXplQmVuY2htYXJrKCkgb3ZlcnJpZGU7CisKKyAgcHJvdGVjdGVkOgor
ICAgIHZvaWQgaW5pdFRleHR1cmVzKCk7Cit9OworCit2b2lkIFRleHR1cmVTYW1wbGluZ011dGFi
bGVGb3JtYXRCZW5jaG1hcms6OmluaXRpYWxpemVCZW5jaG1hcmsoKQoreworICAgIGlmICghSXNH
TEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF90ZXh0dXJlX3NSR0Jfb3ZlcnJpZGUiKSkKKyAgICB7
CisgICAgICAgIEZBSUwoKSA8PCAiR0xfRVhUX3RleHR1cmVfc1JHQl9vdmVycmlkZSBub3Qgc3Vw
cG9ydGVkISIgPDwgc3RkOjplbmRsOworICAgIH0KKyAgICBUZXh0dXJlU2FtcGxpbmdCZW5jaG1h
cms6OmluaXRpYWxpemVCZW5jaG1hcmsoKTsKKyAgICBpbml0VGV4dHVyZXMoKTsKK30KKwordm9p
ZCBUZXh0dXJlU2FtcGxpbmdNdXRhYmxlRm9ybWF0QmVuY2htYXJrOjppbml0VGV4dHVyZXMoKQor
eworICAgIFRleHR1cmVTYW1wbGluZ0JlbmNobWFyazo6aW5pdFRleHR1cmVzKCk7CisKKyAgICBm
b3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG1UZXh0dXJlcy5zaXplKCk7ICsraSkKKyAgICB7
CisgICAgICAgIGdsQWN0aXZlVGV4dHVyZShHTF9URVhUVVJFMCArIGkpOworICAgICAgICBnbEJp
bmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1UZXh0dXJlc1tpXSk7CisgICAgICAgIGdsVGV4UGFy
YW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX0ZPUk1BVF9TUkdCX09WRVJSSURFX0VY
VCwgR0xfU1JHQik7CisgICAgfQorCisgICAgLy8gRm9yY2UgYSBzdGF0ZSB1cGRhdGUKKyAgICBk
cmF3QmVuY2htYXJrKCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG1UZXh0
dXJlcy5zaXplKCk7ICsraSkKKyAgICB7CisgICAgICAgIGdsQWN0aXZlVGV4dHVyZShHTF9URVhU
VVJFMCArIGkpOworICAgICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1UZXh0dXJl
c1tpXSk7CisgICAgICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJF
X0ZPUk1BVF9TUkdCX09WRVJSSURFX0VYVCwgR0xfTk9ORSk7CisgICAgfQorfQorCiBUZXh0dXJl
U2FtcGxpbmdQYXJhbXMgRDNEMTFQYXJhbXMoKQogewogICAgIFRleHR1cmVTYW1wbGluZ1BhcmFt
cyBwYXJhbXM7CkBAIC0yOTMsOCArMzM5LDE1IEBAIFRFU1RfUChUZXh0dXJlU2FtcGxpbmdCZW5j
aG1hcmssIFJ1bikKICAgICBydW4oKTsKIH0KIAorVEVTVF9QKFRleHR1cmVTYW1wbGluZ011dGFi
bGVGb3JtYXRCZW5jaG1hcmssIFJ1bikKK3sKKyAgICBydW4oKTsKK30KKwogQU5HTEVfSU5TVEFO
VElBVEVfVEVTVChUZXh0dXJlU2FtcGxpbmdCZW5jaG1hcmssCiAgICAgICAgICAgICAgICAgICAg
ICAgIEQzRDExUGFyYW1zKCksCiAgICAgICAgICAgICAgICAgICAgICAgIEQzRDlQYXJhbXMoKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgT3BlbkdMT3JHTEVTUGFyYW1zKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgIFZ1bGthblBhcmFtcygpKTsKKworQU5HTEVfSU5TVEFOVElBVEVfVEVTVChU
ZXh0dXJlU2FtcGxpbmdNdXRhYmxlRm9ybWF0QmVuY2htYXJrLCBWdWxrYW5QYXJhbXMoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9U
cmFjZVBlcmZUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJm
X3Rlc3RzL1RyYWNlUGVyZlRlc3QuY3BwCmluZGV4IDIwNzdlODAxNjVmZjMwYzlhNjI0OTNhZjQ0
OTNlNTUxMTZjYmI2YWYuLjU1Yjg4M2JmODQyYzMzMGUzMmQ0MjBlZWE4MzA3YzdlMGQwNWRmNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3Rz
L1RyYWNlUGVyZlRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9wZXJmX3Rlc3RzL1RyYWNlUGVyZlRlc3QuY3BwCkBAIC0xNCw5ICsxNCw5IEBACiAjaW5jbHVk
ZSAidGVzdHMvcGVyZl90ZXN0cy9EcmF3Q2FsbFBlcmZQYXJhbXMuaCIKICNpbmNsdWRlICJ1dGls
L2VnbF9sb2FkZXJfYXV0b2dlbi5oIgogI2luY2x1ZGUgInV0aWwvZnJhbWVfY2FwdHVyZV91dGls
cy5oIgorI2luY2x1ZGUgInV0aWwvcG5nX3V0aWxzLmgiCiAKLSNpbmNsdWRlICJyZXN0cmljdGVk
X3RyYWNlcy9tYW5oYXR0YW5fMTAvbWFuaGF0dGFuXzEwX2NhcHR1cmVfY29udGV4dDEuaCIKLSNp
bmNsdWRlICJyZXN0cmljdGVkX3RyYWNlcy90cmV4XzIwMC90cmV4XzIwMF9jYXB0dXJlX2NvbnRl
eHQxLmgiCisjaW5jbHVkZSAicmVzdHJpY3RlZF90cmFjZXMvcmVzdHJpY3RlZF90cmFjZXNfYXV0
b2dlbi5oIgogCiAjaW5jbHVkZSA8Y2Fzc2VydD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgpAQCAt
MjksMTMgKzI5LDYgQEAgbmFtZXNwYWNlCiB7CiB2b2lkIEZyYW1lYnVmZmVyQ2hhbmdlQ2FsbGJh
Y2sodm9pZCAqdXNlckRhdGEsIEdMZW51bSB0YXJnZXQsIEdMdWludCBmcmFtZWJ1ZmZlcik7CiAK
LWVudW0gY2xhc3MgVHJhY2VQZXJmVGVzdElECi17Ci0gICAgTWFuaGF0dGFuMTAsCi0gICAgVFJl
eDIwMCwKLSAgICBJbnZhbGlkRW51bSwKLX07Ci0KIHN0cnVjdCBUcmFjZVBlcmZQYXJhbXMgZmlu
YWwgOiBwdWJsaWMgUmVuZGVyVGVzdFBhcmFtcwogewogICAgIC8vIENvbW1vbiBkZWZhdWx0IG9w
dGlvbnMKQEAgLTU0LDI2ICs0NywxMSBAQCBzdHJ1Y3QgVHJhY2VQZXJmUGFyYW1zIGZpbmFsIDog
cHVibGljIFJlbmRlclRlc3RQYXJhbXMKICAgICBzdGQ6OnN0cmluZyBzdG9yeSgpIGNvbnN0IG92
ZXJyaWRlCiAgICAgewogICAgICAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJzdHI7Ci0KLSAgICAg
ICAgc3Ryc3RyIDw8IFJlbmRlclRlc3RQYXJhbXM6OnN0b3J5KCk7Ci0KLSAgICAgICAgc3dpdGNo
ICh0ZXN0SUQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgVHJhY2VQZXJmVGVzdElEOjpN
YW5oYXR0YW4xMDoKLSAgICAgICAgICAgICAgICBzdHJzdHIgPDwgIl9tYW5oYXR0YW5fMTAiOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBUcmFjZVBlcmZUZXN0SUQ6
OlRSZXgyMDA6Ci0gICAgICAgICAgICAgICAgc3Ryc3RyIDw8ICJfdHJleF8yMDAiOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBh
c3NlcnQoMCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQorICAgICAgICBz
dHJzdHIgPDwgUmVuZGVyVGVzdFBhcmFtczo6c3RvcnkoKSA8PCAiXyIgPDwga1RyYWNlSW5mb3Nb
dGVzdElEXS5uYW1lOwogICAgICAgICByZXR1cm4gc3Ryc3RyLnN0cigpOwogICAgIH0KIAotICAg
IFRyYWNlUGVyZlRlc3RJRCB0ZXN0SUQ7CisgICAgUmVzdHJpY3RlZFRyYWNlSUQgdGVzdElEOwog
fTsKIAogc3RkOjpvc3RyZWFtICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmb3MsIGNvbnN0IFRy
YWNlUGVyZlBhcmFtcyAmcGFyYW1zKQpAQCAtOTUsNyArNzMsNiBAQCBjbGFzcyBUcmFjZVBlcmZU
ZXN0IDogcHVibGljIEFOR0xFUmVuZGVyVGVzdCwgcHVibGljIDo6dGVzdGluZzo6V2l0aFBhcmFt
SW50ZXJmYQogCiAgICAgdWludDMyX3QgbVN0YXJ0RnJhbWU7CiAgICAgdWludDMyX3QgbUVuZEZy
YW1lOwotICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCh1aW50MzJfdCk+IG1SZXBsYXlGdW5jOwogCiAg
ICAgZG91YmxlIGdldEhvc3RUaW1lRnJvbUdMVGltZShHTGludDY0IGdsVGltZSk7CiAKQEAgLTEx
NCw2ICs5MSw3IEBAIGNsYXNzIFRyYWNlUGVyZlRlc3QgOiBwdWJsaWMgQU5HTEVSZW5kZXJUZXN0
LCBwdWJsaWMgOjp0ZXN0aW5nOjpXaXRoUGFyYW1JbnRlcmZhCiAgICAgfTsKIAogICAgIHZvaWQg
c2FtcGxlVGltZSgpOworICAgIHZvaWQgc2F2ZVNjcmVlbnNob3QoY29uc3Qgc3RkOjpzdHJpbmcg
JnNjcmVlbnNob3ROYW1lKSBvdmVycmlkZTsKIAogICAgIC8vIEZvciB0cmFja2luZyBSZW5kZXJQ
YXNzL0ZCTyBjaGFuZ2UgdGltaW5nLgogICAgIFF1ZXJ5SW5mbyBtQ3VycmVudFF1ZXJ5ID0ge307
CkBAIC0xMjUsMTYgKzEwMywxNSBAQCBjbGFzcyBUcmFjZVBlcmZUZXN0IDogcHVibGljIEFOR0xF
UmVuZGVyVGVzdCwgcHVibGljIDo6dGVzdGluZzo6V2l0aFBhcmFtSW50ZXJmYQogCiBUcmFjZVBl
cmZUZXN0OjpUcmFjZVBlcmZUZXN0KCkKICAgICA6IEFOR0xFUmVuZGVyVGVzdCgiVHJhY2VQZXJm
IiwgR2V0UGFyYW0oKSksIG1TdGFydEZyYW1lKDApLCBtRW5kRnJhbWUoMCkKLXt9Ci0KLS8vIFRP
RE8oam1hZGlsbC9jbm9ydGhyb3ApOiBVc2UgZGVjb21wcmVzc2lvbiBwYXRoLiBodHRwOi8vYW5n
bGVidWcuY29tLzM2MzAKLSNkZWZpbmUgVFJBQ0VfVEVTVF9DQVNFKE5BTUUpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIG1TdGFydEZyYW1lID0gTkFNRTo6a1JlcGxh
eUZyYW1lU3RhcnQ7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbUVuZEZyYW1lICAgPSBO
QU1FOjprUmVwbGF5RnJhbWVFbmQ7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBtUmVw
bGF5RnVuYyA9IE5BTUU6OlJlcGxheUNvbnRleHQxRnJhbWU7ICAgICAgICAgICAgICAgICAgICAg
XAotICAgIE5BTUU6OlNldEJpbmFyeURhdGFEZWNvbXByZXNzQ2FsbGJhY2soRGVjb21wcmVzc0Jp
bmFyeURhdGEpOyBcCi0gICAgTkFNRTo6U2V0QmluYXJ5RGF0YURpcihBTkdMRV9UUkFDRV9EQVRB
X0RJUl8jI05BTUUpOyAgICAgICAgIFwKLSAgICBOQU1FOjpTZXR1cENvbnRleHQxUmVwbGF5KCkK
K3sKKyAgICAvLyBUT0RPKGFuZ2xlYnVnLmNvbS80NTMzKSBUaGlzIGZhaWxzIGFmdGVyIHRoZSB1
cGdyYWRlIHRvIHRoZSAyNi4yMC4xMDAuNzg3MCBkcml2ZXIuCisgICAgaWYgKElzV2luZG93cygp
ICYmIElzSW50ZWwoKSAmJgorICAgICAgICBHZXRQYXJhbSgpLmdldFJlbmRlcmVyKCkgPT0gRUdM
X1BMQVRGT1JNX0FOR0xFX1RZUEVfVlVMS0FOX0FOR0xFICYmCisgICAgICAgIEdldFBhcmFtKCku
dGVzdElEID09IFJlc3RyaWN0ZWRUcmFjZUlEOjptYW5oYXR0YW5fMTApCisgICAgeworICAgICAg
ICBtU2tpcFRlc3QgPSB0cnVlOworICAgIH0KK30KIAogdm9pZCBUcmFjZVBlcmZUZXN0Ojppbml0
aWFsaXplQmVuY2htYXJrKCkKIHsKQEAgLTE0OSwxOCArMTI2LDE4IEBAIHZvaWQgVHJhY2VQZXJm
VGVzdDo6aW5pdGlhbGl6ZUJlbmNobWFyaygpCiAgICAgICAgIGFuZ2xlOjpTZXRDV0QoZXhlRGly
LmNfc3RyKCkpOwogICAgIH0KIAotICAgIHN3aXRjaCAocGFyYW1zLnRlc3RJRCkKLSAgICB7Ci0g
ICAgICAgIGNhc2UgVHJhY2VQZXJmVGVzdElEOjpNYW5oYXR0YW4xMDoKLSAgICAgICAgICAgIFRS
QUNFX1RFU1RfQ0FTRShtYW5oYXR0YW5fMTApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgVHJhY2VQZXJmVGVzdElEOjpUUmV4MjAwOgotICAgICAgICAgICAgVFJBQ0VfVEVTVF9D
QVNFKHRyZXhfMjAwKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgYXNzZXJ0KDApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIGNvbnN0
IFRyYWNlSW5mbyAmdHJhY2VJbmZvID0ga1RyYWNlSW5mb3NbcGFyYW1zLnRlc3RJRF07CisgICAg
bVN0YXJ0RnJhbWUgICAgICAgICAgICAgICAgPSB0cmFjZUluZm8uc3RhcnRGcmFtZTsKKyAgICBt
RW5kRnJhbWUgICAgICAgICAgICAgICAgICA9IHRyYWNlSW5mby5lbmRGcmFtZTsKKyAgICBTZXRC
aW5hcnlEYXRhRGVjb21wcmVzc0NhbGxiYWNrKHBhcmFtcy50ZXN0SUQsIERlY29tcHJlc3NCaW5h
cnlEYXRhKTsKKworICAgIHN0ZDo6c3RyaW5nc3RyZWFtIHRlc3REYXRhRGlyU3RyOworICAgIHRl
c3REYXRhRGlyU3RyIDw8IEFOR0xFX1RSQUNFX0RBVEFfRElSIDw8ICIvIiA8PCB0cmFjZUluZm8u
bmFtZTsKKyAgICBzdGQ6OnN0cmluZyB0ZXN0RGF0YURpciA9IHRlc3REYXRhRGlyU3RyLnN0cigp
OworICAgIFNldEJpbmFyeURhdGFEaXIocGFyYW1zLnRlc3RJRCwgdGVzdERhdGFEaXIuY19zdHIo
KSk7CisKKyAgICAvLyBQb3RlbnRpYWxseSBzbG93LiBDYW4gbG9hZCBhIGxvdCBvZiByZXNvdXJj
ZXMuCisgICAgU2V0dXBSZXBsYXkocGFyYW1zLnRlc3RJRCk7CiAKICAgICBBU1NFUlRfVFJVRSht
RW5kRnJhbWUgPiBtU3RhcnRGcmFtZSk7CiAKQEAgLTIwNywxMiArMTg0LDE0IEBAIHZvaWQgVHJh
Y2VQZXJmVGVzdDo6ZHJhd0JlbmNobWFyaygpCiAgICAgICAgIHNwcmludGYoZnJhbWVOYW1lLCAi
RnJhbWUgJXUiLCBmcmFtZSk7CiAgICAgICAgIGJlZ2luSW50ZXJuYWxUcmFjZUV2ZW50KGZyYW1l
TmFtZSk7CiAKLSAgICAgICAgbVJlcGxheUZ1bmMoZnJhbWUpOworICAgICAgICBSZXBsYXlGcmFt
ZShHZXRQYXJhbSgpLnRlc3RJRCwgZnJhbWUpOwogICAgICAgICBnZXRHTFdpbmRvdygpLT5zd2Fw
KCk7CiAKICAgICAgICAgZW5kSW50ZXJuYWxUcmFjZUV2ZW50KGZyYW1lTmFtZSk7CiAgICAgfQog
CisgICAgUmVzZXRSZXBsYXkoR2V0UGFyYW0oKS50ZXN0SUQpOworCiAgICAgLy8gUHJvY2VzcyBh
bnkgcnVubmluZyBxdWVyaWVzIG9uY2UgcGVyIGl0ZXJhdGlvbi4KICAgICBmb3IgKHNpemVfdCBx
dWVyeUluZGV4ID0gMDsgcXVlcnlJbmRleCA8IG1SdW5uaW5nUXVlcmllcy5zaXplKCk7KQogICAg
IHsKQEAgLTMwMCw4ICsyNzksOCBAQCB2b2lkIFRyYWNlUGVyZlRlc3Q6Om9uRnJhbWVidWZmZXJD
aGFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGZyYW1lYnVmZmVyKQogICAgIGlmICh0YXJnZXQg
IT0gR0xfRlJBTUVCVUZGRVIgJiYgdGFyZ2V0ICE9IEdMX0RSQVdfRlJBTUVCVUZGRVIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIC8vIFdlIGhhdmUgYXQgbW9zdCBvbmUgYWN0aXZlIHRpbWVzdGFt
cCBxdWVyeSBhdCBhIHRpbWUuIFRoaXMgY29kZSB3aWxsIGVuZCB0aGUgY3VycmVudCBxdWVyeQot
ICAgIC8vIGFuZCBpbW1lZGlhdGVseSBzdGFydCBhIG5ldyBvbmUuCisgICAgLy8gV2UgaGF2ZSBh
dCBtb3N0IG9uZSBhY3RpdmUgdGltZXN0YW1wIHF1ZXJ5IGF0IGEgdGltZS4gVGhpcyBjb2RlIHdp
bGwgZW5kIHRoZSBjdXJyZW50CisgICAgLy8gcXVlcnkgYW5kIGltbWVkaWF0ZWx5IHN0YXJ0IGEg
bmV3IG9uZS4KICAgICBpZiAobUN1cnJlbnRRdWVyeS5iZWdpblRpbWVzdGFtcFF1ZXJ5ICE9IDAp
CiAgICAgewogICAgICAgICBnbEdlblF1ZXJpZXNFWFQoMSwgJm1DdXJyZW50UXVlcnkuZW5kVGlt
ZXN0YW1wUXVlcnkpOwpAQCAtMzE3LDYgKzI5Niw0NSBAQCB2b2lkIFRyYWNlUGVyZlRlc3Q6Om9u
RnJhbWVidWZmZXJDaGFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGZyYW1lYnVmZmVyKQogICAg
IG1DdXJyZW50UXVlcnkuZnJhbWVidWZmZXIgPSBmcmFtZWJ1ZmZlcjsKIH0KIAordm9pZCBUcmFj
ZVBlcmZUZXN0OjpzYXZlU2NyZWVuc2hvdChjb25zdCBzdGQ6OnN0cmluZyAmc2NyZWVuc2hvdE5h
bWUpCit7CisgICAgLy8gUmVuZGVyIGEgc2luZ2xlIGZyYW1lLgorICAgIFJlc3RyaWN0ZWRUcmFj
ZUlEIHRlc3RJRCAgID0gR2V0UGFyYW0oKS50ZXN0SUQ7CisgICAgY29uc3QgVHJhY2VJbmZvICZ0
cmFjZUluZm8gPSBrVHJhY2VJbmZvc1t0ZXN0SURdOworICAgIFJlcGxheUZyYW1lKHRlc3RJRCwg
dHJhY2VJbmZvLnN0YXJ0RnJhbWUpOworCisgICAgLy8gUkdCQSA0LWJ5dGUgZGF0YS4KKyAgICB1
aW50MzJfdCBwaXhlbENvdW50ID0gbVRlc3RQYXJhbXMud2luZG93V2lkdGggKiBtVGVzdFBhcmFt
cy53aW5kb3dIZWlnaHQ7CisgICAgc3RkOjp2ZWN0b3I8dWludDhfdD4gcGl4ZWxEYXRhKHBpeGVs
Q291bnQgKiA0KTsKKworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCAwKTsK
KyAgICBnbFJlYWRQaXhlbHMoMCwgMCwgbVRlc3RQYXJhbXMud2luZG93V2lkdGgsIG1UZXN0UGFy
YW1zLndpbmRvd0hlaWdodCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwKKyAgICAgICAgICAg
ICAgICAgcGl4ZWxEYXRhLmRhdGEoKSk7CisKKyAgICAvLyBDb252ZXJ0IHRvIFJHQiBhbmQgZmxp
cCB5LgorICAgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHJnYkRhdGEocGl4ZWxDb3VudCAqIDMpOwor
ICAgIGZvciAoRUdMaW50IHkgPSAwOyB5IDwgbVRlc3RQYXJhbXMud2luZG93SGVpZ2h0OyArK3kp
CisgICAgeworICAgICAgICBmb3IgKEVHTGludCB4ID0gMDsgeCA8IG1UZXN0UGFyYW1zLndpbmRv
d1dpZHRoOyArK3gpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVHTGludCBzcmNQaXhlbCA9IHgg
KyB5ICogbVRlc3RQYXJhbXMud2luZG93V2lkdGg7CisgICAgICAgICAgICBFR0xpbnQgZHN0UGl4
ZWwgPSB4ICsgKG1UZXN0UGFyYW1zLndpbmRvd0hlaWdodCAtIHkgLSAxKSAqIG1UZXN0UGFyYW1z
LndpbmRvd1dpZHRoOworICAgICAgICAgICAgbWVtY3B5KCZyZ2JEYXRhW2RzdFBpeGVsICogM10s
ICZwaXhlbERhdGFbc3JjUGl4ZWwgKiA0XSwgMyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBh
bmdsZTo6U2F2ZVBOR1JHQihzY3JlZW5zaG90TmFtZS5jX3N0cigpLCAiQU5HTEUgU2NyZWVuc2hv
dCIsIG1UZXN0UGFyYW1zLndpbmRvd1dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIG1UZXN0
UGFyYW1zLndpbmRvd0hlaWdodCwgcmdiRGF0YSk7CisKKyAgICAvLyBGaW5pc2ggdGhlIGZyYW1l
IGxvb3AuCisgICAgZm9yICh1aW50MzJfdCBuZXh0RnJhbWUgPSB0cmFjZUluZm8uc3RhcnRGcmFt
ZSArIDE7IG5leHRGcmFtZSA8IHRyYWNlSW5mby5lbmRGcmFtZTsgKytuZXh0RnJhbWUpCisgICAg
eworICAgICAgICBSZXBsYXlGcmFtZSh0ZXN0SUQsIG5leHRGcmFtZSk7CisgICAgfQorICAgIGdl
dEdMV2luZG93KCktPnN3YXAoKTsKKyAgICBnbEZpbmlzaCgpOworfQorCiBBTkdMRV9NQVlCRV9V
TlVTRUQgdm9pZCBGcmFtZWJ1ZmZlckNoYW5nZUNhbGxiYWNrKHZvaWQgKnVzZXJEYXRhLCBHTGVu
dW0gdGFyZ2V0LCBHTHVpbnQgZnJhbWVidWZmZXIpCiB7CiAgICAgcmVpbnRlcnByZXRfY2FzdDxU
cmFjZVBlcmZUZXN0ICo+KHVzZXJEYXRhKS0+b25GcmFtZWJ1ZmZlckNoYW5nZSh0YXJnZXQsIGZy
YW1lYnVmZmVyKTsKQEAgLTMyNyw3ICszNDUsNyBAQCBURVNUX1AoVHJhY2VQZXJmVGVzdCwgUnVu
KQogICAgIHJ1bigpOwogfQogCi1UcmFjZVBlcmZQYXJhbXMgQ29tYmluZVRlc3RJRChjb25zdCBU
cmFjZVBlcmZQYXJhbXMgJmluLCBUcmFjZVBlcmZUZXN0SUQgaWQpCitUcmFjZVBlcmZQYXJhbXMg
Q29tYmluZVRlc3RJRChjb25zdCBUcmFjZVBlcmZQYXJhbXMgJmluLCBSZXN0cmljdGVkVHJhY2VJ
RCBpZCkKIHsKICAgICBUcmFjZVBlcmZQYXJhbXMgb3V0ID0gaW47CiAgICAgb3V0LnRlc3RJRCAg
ICAgICAgICA9IGlkOwpAQCAtMzM3LDggKzM1NSw5IEBAIFRyYWNlUGVyZlBhcmFtcyBDb21iaW5l
VGVzdElEKGNvbnN0IFRyYWNlUGVyZlBhcmFtcyAmaW4sIFRyYWNlUGVyZlRlc3RJRCBpZCkKIHVz
aW5nIG5hbWVzcGFjZSBwYXJhbXM7CiB1c2luZyBQID0gVHJhY2VQZXJmUGFyYW1zOwogCi1zdGQ6
OnZlY3RvcjxQPiBnVGVzdHNXaXRoSUQgPSBDb21iaW5lV2l0aFZhbHVlcyh7UCgpfSwgQWxsRW51
bXM8VHJhY2VQZXJmVGVzdElEPigpLCBDb21iaW5lVGVzdElEKTsKLXN0ZDo6dmVjdG9yPFA+IGdU
ZXN0c1dpdGhSZW5kZXJlciA9IENvbWJpbmVXaXRoRnVuY3MoZ1Rlc3RzV2l0aElELCB7VnVsa2Fu
PFA+fSk7CitzdGQ6OnZlY3RvcjxQPiBnVGVzdHNXaXRoSUQgPQorICAgIENvbWJpbmVXaXRoVmFs
dWVzKHtQKCl9LCBBbGxFbnVtczxSZXN0cmljdGVkVHJhY2VJRD4oKSwgQ29tYmluZVRlc3RJRCk7
CitzdGQ6OnZlY3RvcjxQPiBnVGVzdHNXaXRoUmVuZGVyZXIgPSBDb21iaW5lV2l0aEZ1bmNzKGdU
ZXN0c1dpdGhJRCwge1Z1bGthbjxQPiwgRUdMPFA+fSk7CiBBTkdMRV9JTlNUQU5USUFURV9URVNU
X0FSUkFZKFRyYWNlUGVyZlRlc3QsIGdUZXN0c1dpdGhSZW5kZXJlcik7CiAKIH0gIC8vIGFub255
bW91cyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90
ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL1Jlc3RyaWN0ZWRUcmFjZVRlc3RzLm1k
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3Rl
ZF90cmFjZXMvUmVzdHJpY3RlZFRyYWNlVGVzdHMubWQKaW5kZXggMjlmODMxMjYxZjRhYmUwYjIy
NWE2ZDY1NTBkYWM3NjhhOWJiMTkwMC4uZWE0MGZhY2MzMDcwNDBiYWUzYzNmYWZlYTcyOTk4M2Ux
YTJjYWJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Bl
cmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvUmVzdHJpY3RlZFRyYWNlVGVzdHMubWQKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90
cmFjZXMvUmVzdHJpY3RlZFRyYWNlVGVzdHMubWQKQEAgLTEsNiArMSw2IEBACiAjIEFOR0xFIFJl
c3RyaWN0ZWQgVHJhY2VzCiAKLVRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhcmUgdHJhY2Vz
IG9mIHJlYWwgYXBwbGljYXRpb25zLiAgV2UgaG9zdCB0aGVtCitUaGUgZmlsZXMgaW4gdGhpcyBk
aXJlY3RvcnkgYXJlIHRyYWNlcyBvZiByZWFsIGFwcGxpY2F0aW9ucy4gV2UgaG9zdCB0aGVtCiBp
bnRlcm5hbGx5IGJlY2F1c2UgdGhleSBtYXkgY29udGFpbiB0aGlyZCBwYXJ0eSBJUCB3aGljaCB3
ZSBkb24ndCB3YW50CiB0byBzaGFyZSBwdWJsaWNseS4KIApAQCAtOSw5ICs5LDYgQEAgdG8gc2hh
cmUgcHVibGljbHkuCiBJbiBvcmRlciB0byBjb21waWxlIGFuZCBydW4gd2l0aCB0aGVzZSwgeW91
IG11c3QgYmUgZ3JhbnRlZCBhY2Nlc3MgYnkgR29vZ2xlLAogdGhlbiBhdXRoZW50aWNhdGUgd2l0
aCB0aGUgY2xvdWQgd2l0aCB5b3VyIEBnb29nbGUgYWNjb3VudDoKIGBgYAotZ2Nsb3VkIGF1dGgg
bG9naW4KLWBgYAotYGBgCiBkb3dubG9hZF9mcm9tX2dvb2dsZV9zdG9yYWdlIC0tY29uZmlnCiA8
ZW50ZXIgMCBmb3IgdGhlIHByb2plY3QgSUQ+CiBgYGAKQEAgLTQwLDg2ICszNyw2NyBAQCBvdXQv
UmVsZWFzZS9hbmdsZV9wZXJmdGVzdHMgLS1ndGVzdF9maWx0ZXI9VHJhY2VQZXJmVGVzdCoKIAog
IyMgVXBkYXRpbmcgdHJhY2VzCiAKLVRoZSBNYW5oYXR0YW4gYW5kIFRSZXggdHJhY2VzIHdlcmUg
Y2FwdHVyZWQgb24gV2luZG93cyB3aXRoIGFuIEludGVsIGRyaXZlciAoZHVlIHRvIGJldHRlciBj
b21wcmVzc2VkIHRleHR1cmUgc3VwcG9ydCkuCitUaGUgR0ZYQmVuY2ggdHJhY2VzIHdlcmUgY2Fw
dHVyZWQgb24gV2luZG93cyBhZnRlciBidWlsZGluZyBnZnhiZW5jaCBmcm9tIHNvdXJjZS4gV2Ug
cnVuIGNhcHR1cmUgY29tbWFuZHMgaW4gZ2l0IGJhc2guCiAKLVVwZGF0ZSBTVEFSVCBhbmQgRU5E
IGZvciBlYWNoIHJhbmdlLgorIyMjIFdpbmRvd3MgcHJlcAogCi0jIyMgV2luZG93cworTGF1bmNo
IGdpdCBiYXNoIHZpYSB0aGUgJ2dpdCBiYXNoJyBjb21tYW5kIG9yIHZpYSB0aGUgc3RhcnQgbWVu
dS4gVGhlbiBydW46CiAKIGBgYAotY2QgZ2Z4YmVuY2hcb3V0XGluc3RhbGxcdnMyMDE3LXg2NFxs
aWIKLXB5dGhvbiAuLlwuLlwuLlwuLlxzY3JpcHRzXHJlZnJlc2hfYW5nbGVfbGlicy5weSAtLXZl
cmJvc2UKLXNldCBURldfUEFDS0FHRV9ESVI9Li4vLi4vLi4vYnVpbGQvdnMyMDE3LXg2NC90ZXN0
ZncvdGZ3LWRldgotc2V0IEFOR0xFX0RFRkFVTFRfUExBVEZPUk09dnVsa2FuCi0KLSMgVFJleAot
c2V0IFNUQVJUPTIwMAotc2V0IEVORD0yMTAKLXNldCBMQUJFTD10cmV4Ci1ta2RpciAuLlwuLlwu
LlwuLlwuLlxhbmdsZVxzcmNcdGVzdHNccGVyZl90ZXN0c1xyZXN0cmljdGVkX3RyYWNlc1wlTEFC
RUwlXyVTVEFSVCUKLXNldCBBTkdMRV9DQVBUVVJFX0xBQkVMPSVMQUJFTCVfJVNUQVJUJQotc2V0
IEFOR0xFX0NBUFRVUkVfRlJBTUVfU1RBUlQ9JVNUQVJUJQotc2V0IEFOR0xFX0NBUFRVUkVfRlJB
TUVfRU5EPSVFTkQlCi1zZXQgQU5HTEVfQ0FQVFVSRV9PVVRfRElSPS4uXC4uXC4uXC4uXC4uXGFu
Z2xlXHNyY1x0ZXN0c1xwZXJmX3Rlc3RzXHJlc3RyaWN0ZWRfdHJhY2VzXCVMQUJFTCVfJVNUQVJU
JQotLi5cYmluXHRlc3Rmd19hcHAuZXhlIC1iIC4uLy4uLy4uL2J1aWxkL3ZzMjAxNy14NjQvdGVz
dGZ3L3Rmdy1kZXYgLS1nZnggZWdsIC13IDE5MjAgLWggMTA4MCAtdCBnbF90cmV4IC0tZWkgLWZy
YW1lX3N0ZXBfdGltZT00MAotCi0jIE1hbmhhdHRhbgotc2V0IFNUQVJUPTEwCi1zZXQgRU5EPTIw
Ci1zZXQgTEFCRUw9bWFuaGF0dGFuCi1ta2RpciAuLlwuLlwuLlwuLlwuLlxhbmdsZVxzcmNcdGVz
dHNccGVyZl90ZXN0c1xyZXN0cmljdGVkX3RyYWNlc1wlTEFCRUwlXyVTVEFSVCUKLXNldCBBTkdM
RV9DQVBUVVJFX0xBQkVMPSVMQUJFTCVfJVNUQVJUJQotc2V0IEFOR0xFX0NBUFRVUkVfRlJBTUVf
U1RBUlQ9JVNUQVJUJQotc2V0IEFOR0xFX0NBUFRVUkVfRlJBTUVfRU5EPSVFTkQlCi1zZXQgQU5H
TEVfQ0FQVFVSRV9PVVRfRElSPS4uXC4uXC4uXC4uXC4uXGFuZ2xlXHNyY1x0ZXN0c1xwZXJmX3Rl
c3RzXHJlc3RyaWN0ZWRfdHJhY2VzXCVMQUJFTCVfJVNUQVJUJQotLi5cYmluXHRlc3Rmd19hcHAu
ZXhlIC1iIC4uLy4uLy4uL2J1aWxkL3ZzMjAxNy14NjQvdGVzdGZ3L3Rmdy1kZXYgLS1nZnggZWds
IC13IDE5MjAgLWggMTA4MCAtdCBnbF9tYW5oYXR0YW4gLS1laSAtZnJhbWVfc3RlcF90aW1lPTQw
CitleHBvcnQgUExBVEZPUk09dnMyMDE5LXg2NAorZXhwb3J0IFRGV19QQUNLQUdFX0RJUj0uLi8u
Li8uLi9idWlsZC92czIwMTkteDY0L3Rlc3Rmdy90ZnctZGV2CitleHBvcnQgQU5HTEVfREVGQVVM
VF9QTEFURk9STT12dWxrYW4KIGBgYAogCi0jIyMgTGludXgKKyMjIyBMaW51eCBwcmVwCiAKIGBg
YAotY2QgZ2Z4YmVuY2gvb3V0L2luc3RhbGwvbGludXgvbGliCi1weXRob24gLi4vLi4vLi4vLi4v
c2NyaXB0cy9yZWZyZXNoX2FuZ2xlX2xpYnMucHkgLS12ZXJib3NlCiBleHBvcnQgUExBVEZPUk09
bGludXgKK2V4cG9ydCBMRF9MSUJSQVJZX1BBVEg9LgogZXhwb3J0IFRGV19QQUNLQUdFX0RJUj0u
Li8uLi8uLi9idWlsZC9saW51eC90ZXN0ZndfUmVsZWFzZS90ZnctZGV2CiBleHBvcnQgQU5HTEVf
REVGQVVMVF9QTEFURk9STT12dWxrYW4KLWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9LgorYGBgCisK
KyMjIyBDYXB0dXJpbmcgZnJvbSBnZnhiZW5jaAorCitGaXJzdCBzdGFydCBmcm9tIHRoZSBnZnhi
ZW5jaCBzb3VyY2UgZGlyZWN0b3J5LgorCitgYGAKK2NkIG91dC9pbnN0YWxsLyRQTEFURk9STS9s
aWIKK3B5dGhvbiAuLi8uLi8uLi8uLi9zY3JpcHRzL3JlZnJlc2hfYW5nbGVfbGlicy5weQogCiAj
IFRSZXgKLWV4cG9ydCBTVEFSVD0yMDAKLWV4cG9ydCBFTkQ9MjEwCi1leHBvcnQgTEFCRUw9dHJl
eAotbWtkaXIgLXAgLi4vLi4vLi4vLi4vLi4vYW5nbGUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVz
dHJpY3RlZF90cmFjZXMvJHtMQUJFTH1fJHtTVEFSVH0KLWV4cG9ydCBBTkdMRV9DQVBUVVJFX0xB
QkVMPSR7TEFCRUx9XyR7U1RBUlR9Ci1leHBvcnQgQU5HTEVfQ0FQVFVSRV9GUkFNRV9TVEFSVD0k
U1RBUlQKLWV4cG9ydCBBTkdMRV9DQVBUVVJFX0ZSQU1FX0VORD0kRU5ECi1leHBvcnQgQU5HTEVf
Q0FQVFVSRV9PVVRfRElSPS4uLy4uLy4uLy4uLy4uL2FuZ2xlL3NyYy90ZXN0cy9wZXJmX3Rlc3Rz
L3Jlc3RyaWN0ZWRfdHJhY2VzLyR7TEFCRUx9XyR7U1RBUlR9Ci0uLi9iaW4vdGVzdGZ3X2FwcCAt
YiAkVEZXX1BBQ0tBR0VfRElSIC0tZ2Z4IGVnbCAtdyAxOTIwIC1oIDEwODAgLXQgZ2xfdHJleCAt
LWVpIC1mcmFtZV9zdGVwX3RpbWU9NDAKK21rZGlyIC1wIC4uLy4uLy4uLy4uLy4uL2FuZ2xlL3Ny
Yy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3RyZXhfMjAwCitBTkdMRV9DQVBU
VVJFX09VVF9ESVI9Li4vLi4vLi4vLi4vLi4vYW5nbGUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVz
dHJpY3RlZF90cmFjZXMvdHJleF8yMDAgQU5HTEVfQ0FQVFVSRV9GUkFNRV9TVEFSVD0yMDAgQU5H
TEVfQ0FQVFVSRV9GUkFNRV9FTkQ9MjEwIEFOR0xFX0NBUFRVUkVfTEFCRUw9dHJleF8yMDAgLi4v
YmluL3Rlc3Rmd19hcHAgLWIgJFRGV19QQUNLQUdFX0RJUiAtLWdmeCBlZ2wgLXcgMTkyMCAtaCAx
MDgwIC10IGdsX3RyZXggLS1laSAtZnJhbWVfc3RlcF90aW1lPTQwCiAKICMgTWFuaGF0dGFuCi1l
eHBvcnQgU1RBUlQ9MTAKLWV4cG9ydCBFTkQ9MjAKLWV4cG9ydCBMQUJFTD1tYW5oYXR0YW4KLW1r
ZGlyIC1wIC4uLy4uLy4uLy4uLy4uL2FuZ2xlL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0
ZWRfdHJhY2VzLyR7TEFCRUx9XyR7U1RBUlR9Ci1leHBvcnQgQU5HTEVfQ0FQVFVSRV9MQUJFTD0k
e0xBQkVMfV8ke1NUQVJUfQotZXhwb3J0IEFOR0xFX0NBUFRVUkVfRlJBTUVfU1RBUlQ9JFNUQVJU
Ci1leHBvcnQgQU5HTEVfQ0FQVFVSRV9GUkFNRV9FTkQ9JEVORAotZXhwb3J0IEFOR0xFX0NBUFRV
UkVfT1VUX0RJUj0uLi8uLi8uLi8uLi8uLi9hbmdsZS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0
cmljdGVkX3RyYWNlcy8ke0xBQkVMfV8ke1NUQVJUfQotLi4vYmluL3Rlc3Rmd19hcHAgLWIgJFRG
V19QQUNLQUdFX0RJUiAtLWdmeCBlZ2wgLXcgMTkyMCAtaCAxMDgwIC10IGdsX21hbmhhdHRhbiAt
LWVpIC1mcmFtZV9zdGVwX3RpbWU9NDAKK21rZGlyIC1wIC4uLy4uLy4uLy4uLy4uL2FuZ2xlL3Ny
Yy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL21hbmhhdHRhbl8xMAorQU5HTEVf
Q0FQVFVSRV9PVVRfRElSPS4uLy4uLy4uLy4uLy4uL2FuZ2xlL3NyYy90ZXN0cy9wZXJmX3Rlc3Rz
L3Jlc3RyaWN0ZWRfdHJhY2VzL21hbmhhdHRhbl8xMCBBTkdMRV9DQVBUVVJFX0ZSQU1FX1NUQVJU
PTEwIEFOR0xFX0NBUFRVUkVfRlJBTUVfRU5EPTIwIEFOR0xFX0NBUFRVUkVfTEFCRUw9bWFuaGF0
dGFuXzEwIC4uL2Jpbi90ZXN0ZndfYXBwIC1iICRURldfUEFDS0FHRV9ESVIgLS1nZnggZWdsIC13
IDE5MjAgLWggMTA4MCAtdCBnbF9tYW5oYXR0YW4gLS1laSAtZnJhbWVfc3RlcF90aW1lPTQwCisK
KyMgRWd5cHQKK21rZGlyIC1wIC4uLy4uLy4uLy4uLy4uL2FuZ2xlL3NyYy90ZXN0cy9wZXJmX3Rl
c3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL2VneXB0XzE1MDAKK0FOR0xFX0NBUFRVUkVfT1VUX0RJUj0u
Li8uLi8uLi8uLi8uLi9hbmdsZS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNl
cy9lZ3lwdF8xNTAwIEFOR0xFX0NBUFRVUkVfRlJBTUVfU1RBUlQ9MTUwMCBBTkdMRV9DQVBUVVJF
X0ZSQU1FX0VORD0xNTEwIEFOR0xFX0NBUFRVUkVfTEFCRUw9ZWd5cHRfMTUwMCAuLi9iaW4vdGVz
dGZ3X2FwcCAtYiAkVEZXX1BBQ0tBR0VfRElSIC0tZ2Z4IGVnbCAtdyAxOTIwIC1oIDEwODAgLXQg
Z2xfZWd5cHQgLS1laSAtZnJhbWVfc3RlcF90aW1lPTQwCiBgYGAKIAogIyMgVXBsb2FkIHRvIHRo
ZSBjbG91ZAogCitTdGFydGluZyBmcm9tIHlvdSBBTkdMRSByb290IGRpcmVjdG9yeToKKwogYGBg
Ci1jZCB+L2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvdGVzdHMvcGVyZl90ZXN0
cy9yZXN0cmljdGVkX3RyYWNlcworY2Qgc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90
cmFjZXMKIHVwbG9hZF90b19nb29nbGVfc3RvcmFnZS5weSAtLWJ1Y2tldCBjaHJvbWUtYW5nbGUt
Y2FwdHVyZS1iaW5hcmllcyAtLWFyY2hpdmUgdHJleF8yMDAKIHVwbG9hZF90b19nb29nbGVfc3Rv
cmFnZS5weSAtLWJ1Y2tldCBjaHJvbWUtYW5nbGUtY2FwdHVyZS1iaW5hcmllcyAtLWFyY2hpdmUg
bWFuaGF0dGFuXzEwCit1cGxvYWRfdG9fZ29vZ2xlX3N0b3JhZ2UucHkgLS1idWNrZXQgY2hyb21l
LWFuZ2xlLWNhcHR1cmUtYmluYXJpZXMgLS1hcmNoaXZlIGVneXB0XzE1MDAKIGBgYAogCitBZnRl
ciB1cGxvYWRpbmcsIGFkZCB0aGUgc2hhMSBmaWxlcyBjcmVhdGVkIGJ5IHRoZSB1cGxvYWQgYW5k
IHN1Ym1pdCB0aGVtIHdpdGggeW91ciBjaGFuZ2VzLgorCiAjIyBBZGRpbmcgbmV3IHRlc3RzCi1P
bmNlIHlvdSBhcmUgYWJsZSB0byBjYXB0dXJlIGEgc2V0IG9mIGZyYW1lcyBmcm9tIGFuIGFwcGxp
Y2F0aW9uIHVzaW5nIHRoZSBzdGVwcyBhYm92ZSwgeW91J2xsIG5lZWQgdG86CiAKLSogQWRkIHRo
ZSB0ZXN0cyB0byByZXN0cmljdGVkX3RyYWNlcy9hbmdsZV90cmFjZV9wZXJmX3Rlc3RzLmduaQot
KiBVcGRhdGUgVHJhY2VQZXJmVGVzdC5jcHAgdG8gaW5jbHVkZSB0aGUgaGVhZGVycyBmcm9tIHRo
ZSB0ZXN0LCBhZGQgaXQgdG8gdGhlIGxpc3Qgb2YgVHJhY2VQZXJmVGVzdElELCBhbmQgc3VwcG9y
dCBpdCB0aHJvdWdob3V0IHRoZSBmaWxlIHVzaW5nIHRoZSBuYW1lc3BhY2UgY3JlYXRlZCBpbiB0
aGUgdHJhY2UuCi0qIFVwbG9hZCB0aGUgdHJhY2VzIHRvIHRoZSBjbG91ZCB1c2luZyB0aGUgc3Rl
cHMgYWJvdmUuCi0qIEFkZCB0aGUgc2hhMSBmaWxlcyBjcmVhdGVkIGJ5IHRoZSB1cGxvYWQgYW5k
IHN1Ym1pdCB0aGVtIHdpdGggeW91ciBjaGFuZ2VzLgorQWZ0ZXIgeW91IGNhcHR1cmUgYW5kIHVw
bG9hZCBhIHNldCBvZiBmcmFtZXMgZnJvbSBhbiBhcHBsaWNhdGlvbiB1c2luZyB0aGUgc3RlcHMg
YWJvdmUgeW91J2xsIG5lZWQgdG86CisKKyAqIEFkZCB0aGUgbmV3IHRyYWNlcyB0byBbYHJlc3Ry
aWN0ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb25gXShyZXN0cmljdGVkX3RyYWNlcy5q
c29uKS4KKyAqIFJlLXJ1biBjb2RlIGdlbmVyYXRpb24gd2l0aCBbYHNjcmlwdHMvcnVuX2NvZGVf
Z2VuZXJhdGlvbi5weWBdW3J1bl9jb2RlX2dlbmVyYXRpb25dLgorICogVXBkYXRlIHlvdXIgQ0wg
dG8gaW5jbHVkZSB0aGUgbmV3IGdlbmVyYXRlZCBjb2RlLiBZb3VyIHRyYWNlIHRlc3RzIHNob3Vs
ZCBub3cgYmUgdHVybmVkIG9uLgorCitbcnVuX2NvZGVfZ2VuZXJhdGlvbl06IC4uLy4uLy4uLy4u
L3NjcmlwdHMvcnVuX2NvZGVfZ2VuZXJhdGlvbi5weQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvYW5nbGVf
dHJhY2VfcGVyZl90ZXN0cy5nbmkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMv
cGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9hbmdsZV90cmFjZV9wZXJmX3Rlc3RzLmduaQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVlY2I5ZTU4NzhiZWYzN2RhMWI4ZTAzNTdk
NDk0MGU5NjQzOTY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmlj
dGVkX3RyYWNlcy9hbmdsZV90cmFjZV9wZXJmX3Rlc3RzLmduaQorKysgL2Rldi9udWxsCkBAIC0x
LDQ0ICswLDAgQEAKLSMgQ29weXJpZ2h0IDIwMjAgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotIyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotCi0jIFRoaXMgaW5jbHVkZSBpdGVyYXRlcyB0aHJvdWdoIGEgbGlzdCBvZiB0
ZXN0cyBhbmQgcmViYXNlcyB0aGUgZmlsZXMgc28gdGhleQotIyBjYW4gYmUgY29uc3VtZWQgYnkg
dGVzdHMvQlVJTEQuZ24gZm9yIHVzZSB3aXRoIFRyYWNlUGVyZlRlc3QuY3BwLgotCi1pbXBvcnQo
Ii4uLy4uLy4uLy4uL2duaS9hbmdsZS5nbmkiKQotCi1fdGVzdHMgPSBbCi0gICJtYW5oYXR0YW5f
MTAiLAotICAidHJleF8yMDAiLAotXQotCi1hbmdsZV90cmFjZV9wZXJmX3NvdXJjZXMgPSBbICJw
ZXJmX3Rlc3RzL1RyYWNlUGVyZlRlc3QuY3BwIiBdCi0KLWFuZ2xlX3RyYWNlX3BlcmZfZGVmaW5l
cyA9IFtdCi1hbmdsZV90cmFjZV9wZXJmX2RhdGEgPSBbXQotCi1mb3JlYWNoKF90ZXN0LCBfdGVz
dHMpIHsKLSAgX3Rlc3RfZGlyID0gIiR7X3Rlc3R9IgotICBfdGVzdF9jdHggPSAiJHtfdGVzdF9k
aXJ9LyR7X3Rlc3R9X2NhcHR1cmVfY29udGV4dDEiCi0KLSAgIyBTaW1pbGFyIHRvIGNhcHR1cmUg
cmVwbGF5IHNhbXBsZSwgdXNlIHRoZSBmaWxlIGluZGV4IGZvciBzb3VyY2VzCi0gIGFuZ2xlX3Ry
YWNlX3BlcmZfc291cmNlcyArPQotICAgICAgcmViYXNlX3BhdGgocmVhZF9maWxlKCIke190ZXN0
X2N0eH1fZmlsZXMudHh0IiwgImxpc3QgbGluZXMiKSwKLSAgICAgICAgICAgICAgICAgICIuIiwK
LSAgICAgICAgICAgICAgICAgICJwZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzLyR7X3Rlc3Rf
ZGlyfSIpICsKLSAgICAgIFsKLSAgICAgICAgInBlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMv
JHtfdGVzdF9jdHh9LmNwcCIsCi0gICAgICAgICJwZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2Vz
LyR7X3Rlc3RfY3R4fS5oIiwKLSAgICAgIF0KLQotICBpZiAoaXNfYW5kcm9pZCkgewotICAgIF90
ZXN0X2RhdGFfcGF0aCA9ICIvc2RjYXJkL2Nocm9taXVtX3Rlc3RzX3Jvb3QvdGhpcmRfcGFydHkv
YW5nbGUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvJHtfdGVzdH0iCi0g
IH0gZWxzZSB7Ci0gICAgX3Rlc3RfZGF0YV9wYXRoID0gcmViYXNlX3BhdGgoIiR7X3Rlc3RfZGly
fSIsIHJvb3Rfb3V0X2RpcikKLSAgfQotCi0gIGFuZ2xlX3RyYWNlX3BlcmZfZGVmaW5lcyArPQot
ICAgICAgWyAiQU5HTEVfVFJBQ0VfREFUQV9ESVJfJHtfdGVzdH09XCIke190ZXN0X2RhdGFfcGF0
aH1cIiIgXQotCi0gIGFuZ2xlX3RyYWNlX3BlcmZfZGF0YSArPSBbICJwZXJmX3Rlc3RzL3Jlc3Ry
aWN0ZWRfdHJhY2VzLyR7X3Rlc3RfZGlyfS8ke190ZXN0fV9jYXB0dXJlX2NvbnRleHQxLmFuZ2xl
ZGF0YS5neiIgXQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvZWd5cHRfMTUwMC50YXIuZ3ouc2hhMSBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRf
dHJhY2VzL2VneXB0XzE1MDAudGFyLmd6LnNoYTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IyNzdlMjJiZDU1Zjg0
MmJlNDgzZWIzYmVkNmJmZmJhM2E1NmM2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL2VneXB0
XzE1MDAudGFyLmd6LnNoYTEKQEAgLTAsMCArMSBAQAorOGRhZTVjOTIwYzgzODRkNGYwYzUwZTlk
YTk4YTU0MTRjNjFiYTNlNwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRf
dHJhY2VzL2dlbl9yZXN0cmljdGVkX3RyYWNlcy5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL2dlbl9yZXN0cmljdGVkX3Ry
YWNlcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MzU0YWVkNmJmOTdkYTUzZWUzM2QwMGQ0MDA5NWY0MWE3Nzc4
ZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvZ2VuX3Jlc3RyaWN0ZWRfdHJhY2VzLnB5CkBA
IC0wLDAgKzEsMjgyIEBACisjIS91c3IvYmluL3B5dGhvbjIKKyMKKyMgQ29weXJpZ2h0IDIwMjAg
VGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQorIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorIworIyBnZW5fcmVzdHJpY3Rl
ZF90cmFjZXMucHk6CisjICAgR2VuZXJhdGVzIGludGVncmF0aW9uIGNvZGUgZm9yIHRoZSByZXN0
cmljdGVkIHRyYWNlIHRlc3RzLgorCitpbXBvcnQgZm5tYXRjaAoraW1wb3J0IGpzb24KK2ltcG9y
dCBvcworaW1wb3J0IHN5cworCitnbmlfdGVtcGxhdGUgPSAiIiIjIEdFTkVSQVRFRCBGSUxFIC0g
RE8gTk9UIEVESVQuCisjIEdlbmVyYXRlZCBieSB7c2NyaXB0X25hbWV9IHVzaW5nIGRhdGEgZnJv
bSB7ZGF0YV9zb3VyY2VfbmFtZX0KKyMKKyMgQ29weXJpZ2h0IDIwMjAgVGhlIEFOR0xFIFByb2pl
Y3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorIyBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorIworIyBBIGxpc3Qgb2YgYWxsIHJlc3RyaWN0ZWQgdHJh
Y2UgdGVzdHMsIHBhaXJlZCB3aXRoIHRoZWlyIGNvbnRleHQuCisjIENhbiBiZSBjb25zdW1lZCBi
eSB0ZXN0cy9CVUlMRC5nbi4KKworYW5nbGVfcmVzdHJpY3RlZF90cmFjZXMgPSBbCit7dGVzdF9s
aXN0fQorXQorIiIiCisKK2hlYWRlcl90ZW1wbGF0ZSA9ICIiIi8vIEdFTkVSQVRFRCBGSUxFIC0g
RE8gTk9UIEVESVQuCisvLyBHZW5lcmF0ZWQgYnkge3NjcmlwdF9uYW1lfSB1c2luZyBkYXRhIGZy
b20ge2RhdGFfc291cmNlX25hbWV9CisvLworLy8gQ29weXJpZ2h0IDIwMjAgVGhlIEFOR0xFIFBy
b2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworLy8gVHlwZXMgYW5kIGVudW1lcmF0aW9u
cyBmb3IgdHJhY2UgdGVzdHMuCisKKyNpZm5kZWYgQU5HTEVfUkVTVFJJQ1RFRF9UUkFDRVNfSF8K
KyNkZWZpbmUgQU5HTEVfUkVTVFJJQ1RFRF9UUkFDRVNfSF8KKwore2luY2x1ZGVzfQorCituYW1l
c3BhY2UgYW5nbGUKK3t7CitlbnVtIGNsYXNzIFJlc3RyaWN0ZWRUcmFjZUlECit7ewore3RyYWNl
X2lkc30sIEludmFsaWRFbnVtLCBFbnVtQ291bnQgPSBJbnZhbGlkRW51bQorfX07CisKK3VzaW5n
IFJlcGxheUZ1bmMgPSB2b2lkICgqKSh1aW50MzJfdCk7Cit1c2luZyBSZXNldEZ1bmMgPSB2b2lk
ICgqKSgpOwordXNpbmcgU2V0dXBGdW5jID0gdm9pZCAoKikoKTsKK3VzaW5nIERlY29tcHJlc3NG
dW5jID0gdWludDhfdCAqKCopKGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+ICYpOwordXNpbmcg
U2V0QmluYXJ5RGF0YURpckZ1bmMgPSB2b2lkICgqKShjb25zdCBjaGFyICopOworCitzdGF0aWMg
Y29uc3RleHByIHNpemVfdCBrVHJhY2VJbmZvTWF4TmFtZUxlbiA9IDMyOworCitzdHJ1Y3QgVHJh
Y2VJbmZvCit7eworICAgIHVpbnQzMl90IHN0YXJ0RnJhbWU7CisgICAgdWludDMyX3QgZW5kRnJh
bWU7CisgICAgY2hhciBuYW1lW2tUcmFjZUluZm9NYXhOYW1lTGVuXTsKK319OworCitjb25zdGV4
cHIgYW5nbGU6OlBhY2tlZEVudW1NYXA8UmVzdHJpY3RlZFRyYWNlSUQsIFRyYWNlSW5mbz4ga1Ry
YWNlSW5mb3MgPSB7ewore3RyYWNlX2luZm9zfQorfX07CisKK3VzaW5nIERlY29tcHJlc3NDYWxs
YmFjayA9IHVpbnQ4X3QgKigqKShjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiAmKTsKK3VzaW5n
IEZyYW1lYnVmZmVyQ2hhbmdlQ2FsbGJhY2sgPSB2b2lkKCopKHZvaWQgKnVzZXJEYXRhLCBHTGVu
dW0gdGFyZ2V0LCBHTHVpbnQgZnJhbWVidWZmZXIpOworCitpbmxpbmUgdm9pZCBSZXBsYXlGcmFt
ZShSZXN0cmljdGVkVHJhY2VJRCB0cmFjZUlELCB1aW50MzJfdCBmcmFtZUluZGV4KQore3sKKyAg
ICBzd2l0Y2ggKHRyYWNlSUQpCisgICAge3sKK3tyZXBsYXlfZnVuY19jYXNlc30KKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgaW4gc3dpdGNoLlxc
biIpOworICAgICAgICAgICAgYXNzZXJ0KDApOworICAgICAgICAgICAgYnJlYWs7CisgICAgfX0K
K319CisKK2lubGluZSB2b2lkIFJlc2V0UmVwbGF5KFJlc3RyaWN0ZWRUcmFjZUlEIHRyYWNlSUQp
Cit7eworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7ewore3Jlc2V0X2Z1bmNfY2FzZXN9Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGluIHN3
aXRjaC5cXG4iKTsKKyAgICAgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgIH19Cit9fQorCitpbmxpbmUgdm9pZCBTZXR1cFJlcGxheShSZXN0cmljdGVkVHJhY2VJRCB0
cmFjZUlEKQore3sKKyAgICBzd2l0Y2ggKHRyYWNlSUQpCisgICAge3sKK3tzZXR1cF9mdW5jX2Nh
c2VzfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJv
ciBpbiBzd2l0Y2guXFxuIik7CisgICAgICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICB9fQorfX0KKworaW5saW5lIHZvaWQgU2V0QmluYXJ5RGF0YURpcihSZXN0cmlj
dGVkVHJhY2VJRCB0cmFjZUlELCBjb25zdCBjaGFyICpkYXRhRGlyKQore3sKKyAgICBzd2l0Y2gg
KHRyYWNlSUQpCisgICAge3sKK3tzZXRfYmluYXJ5X2RhdGFfZGlyX2Nhc2VzfQorICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBpbiBzd2l0Y2guXFxu
Iik7CisgICAgICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9fQor
fX0KKworaW5saW5lIHZvaWQgU2V0QmluYXJ5RGF0YURlY29tcHJlc3NDYWxsYmFjayhSZXN0cmlj
dGVkVHJhY2VJRCB0cmFjZUlELCBEZWNvbXByZXNzQ2FsbGJhY2sgY2FsbGJhY2spCit7eworICAg
IHN3aXRjaCAodHJhY2VJRCkKKyAgICB7ewore2RlY29tcHJlc3NfY2FsbGJhY2tfY2FzZXN9Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGluIHN3
aXRjaC5cXG4iKTsKKyAgICAgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgIH19Cit9fQorCitpbmxpbmUgdm9pZCBTZXRGcmFtZWJ1ZmZlckNoYW5nZUNhbGxiYWNrKFJl
c3RyaWN0ZWRUcmFjZUlEIHRyYWNlSUQsIHZvaWQgKnVzZXJEYXRhLCBGcmFtZWJ1ZmZlckNoYW5n
ZUNhbGxiYWNrIGNhbGxiYWNrKQore3sKKyAgICBzd2l0Y2ggKHRyYWNlSUQpCisgICAge3sKK3tv
bl9mYl9jaGFuZ2VfY2FsbGJhY2tfY2FzZXN9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGluIHN3aXRjaC5cXG4iKTsKKyAgICAgICAgICAgIGFz
c2VydCgwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH19Cit9fQorfX0gIC8vIG5hbWVzcGFj
ZSBhbmdsZQorCisjZW5kaWYgIC8vIEFOR0xFX1JFU1RSSUNURURfVFJBQ0VTX0hfCisiIiIKKwor
CitkZWYgcmVqZWN0X2R1cGxpY2F0ZV9rZXlzKHBhaXJzKToKKyAgICBmb3VuZF9rZXlzID0ge30K
KyAgICBmb3Iga2V5LCB2YWx1ZSBpbiBwYWlyczoKKyAgICAgICAgaWYga2V5IGluIGZvdW5kX2tl
eXM6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJkdXBsaWNhdGUga2V5OiAlciIgJSAo
a2V5LCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmb3VuZF9rZXlzW2tleV0gPSB2YWx1
ZQorICAgIHJldHVybiBmb3VuZF9rZXlzCisKKworZGVmIGdlbl9nbmkodHJhY2VzLCBnbmlfZmls
ZSwgZm9ybWF0X2FyZ3MpOgorICAgIGZvcm1hdF9hcmdzWyJ0ZXN0X2xpc3QiXSA9ICIsXG4iLmpv
aW4oCisgICAgICAgIFsnIiVzICVzIicgJSAodHJhY2UsIGdldF9jb250ZXh0KHRyYWNlKSkgZm9y
IHRyYWNlIGluIHRyYWNlc10pCisgICAgZ25pX2RhdGEgPSBnbmlfdGVtcGxhdGUuZm9ybWF0KCoq
Zm9ybWF0X2FyZ3MpCisgICAgd2l0aCBvcGVuKGduaV9maWxlLCAidyIpIGFzIG91dF9maWxlOgor
ICAgICAgICBvdXRfZmlsZS53cml0ZShnbmlfZGF0YSkKKyAgICByZXR1cm4gVHJ1ZQorCisKK2Rl
ZiBnZXRfdHJhY2VfaW5mbyh0cmFjZSk6CisgICAgaW5mbyA9IFsiJXM6OmtSZXBsYXlGcmFtZVN0
YXJ0IiwgIiVzOjprUmVwbGF5RnJhbWVFbmQiLCAiXCIlc1wiIl0KKyAgICByZXR1cm4gIiwgIi5q
b2luKFtlbGVtZW50ICUgdHJhY2UgZm9yIGVsZW1lbnQgaW4gaW5mb10pCisKKworZGVmIGdldF9j
b250ZXh0KHRyYWNlKToKKyAgICAiUmV0dXJucyB0aGUgY29udGV4dCBudW1iZXIgdXNlZCBieSB0
cmFjZSBoZWFkZXIgZmlsZSIKKyAgICBmb3IgZmlsZSBpbiBvcy5saXN0ZGlyKHRyYWNlKToKKyAg
ICAgICAgIyBMb2FkIHVwIHRoZSBvbmx5IGhlYWRlciBwcmVzZW50IGZvciBlYWNoIHRyYWNlCisg
ICAgICAgIGlmIGZubWF0Y2guZm5tYXRjaChmaWxlLCAnKi5oJyk6CisgICAgICAgICAgICAjIFN0
cmlwIHRoZSBleHRlbnNpb24gdG8gaXNvbGF0ZSB0aGUgY29udGV4dAorICAgICAgICAgICAgY29u
dGV4dCA9IGZpbGVbbGVuKGZpbGUpIC0gM10KKyAgICAgICAgICAgIGFzc2VydCBjb250ZXh0Lmlz
ZGlnaXQoKSA9PSBUcnVlLCAiRmFpbGVkIHRvIGZpbmQgdHJhY2UgY29udGV4dCBudW1iZXIiCisg
ICAgICAgICAgICBhc3NlcnQgZmlsZVtsZW4oZmlsZSkgLSA0XS5pc2RpZ2l0KCkgPT0gRmFsc2Us
ICJDb250ZXh0IG51bWJlciBpcyBoaWdoZXIgdGhhbiA5IgorICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQKKworCitkZWYgZ2V0X2Nhc2VzKHRyYWNlcywgZnVuY3Rpb24sIGFyZ3MpOgorICAgIGZ1
bmNzID0gWworICAgICAgICAiY2FzZSBSZXN0cmljdGVkVHJhY2VJRDo6JXM6ICVzOjolcyglcyk7
IGJyZWFrOyIgJSAodHJhY2UsIHRyYWNlLCBmdW5jdGlvbiwgYXJncykKKyAgICAgICAgZm9yIHRy
YWNlIGluIHRyYWNlcworICAgIF0KKyAgICByZXR1cm4gIlxuIi5qb2luKGZ1bmNzKQorCisKK2Rl
ZiBnZXRfaGVhZGVyX25hbWUodHJhY2UpOgorICAgIHJldHVybiAiJXMvJXNfY2FwdHVyZV9jb250
ZXh0JXMuaCIgJSAodHJhY2UsIHRyYWNlLCBnZXRfY29udGV4dCh0cmFjZSkpCisKKworZGVmIGdl
dF9zaGExX25hbWUodHJhY2UpOgorICAgIHJldHVybiAiJXMudGFyLmd6LnNoYTEiICUgdHJhY2UK
KworCitkZWYgZ2V0X2Nhc2VzX3dpdGhfY29udGV4dCh0cmFjZXMsIGZ1bmN0aW9uX3N0YXJ0LCBm
dW5jdGlvbl9lbmQsIGFyZ3MpOgorICAgIGZ1bmNzID0gWworICAgICAgICAiY2FzZSBSZXN0cmlj
dGVkVHJhY2VJRDo6JXM6ICVzOjolcyVzJXMoJXMpOyBicmVhazsiICUKKyAgICAgICAgKHRyYWNl
LCB0cmFjZSwgZnVuY3Rpb25fc3RhcnQsIGdldF9jb250ZXh0KHRyYWNlKSwgZnVuY3Rpb25fZW5k
LCBhcmdzKSBmb3IgdHJhY2UgaW4gdHJhY2VzCisgICAgXQorICAgIHJldHVybiAiXG4iLmpvaW4o
ZnVuY3MpCisKKworZGVmIGdlbl9oZWFkZXIodHJhY2VzLCBoZWFkZXJfZmlsZSwgZm9ybWF0X2Fy
Z3MpOgorCisgICAgaW5jbHVkZXMgPSBbIiNpbmNsdWRlIFwiJXNcIiIgJSBnZXRfaGVhZGVyX25h
bWUodHJhY2UpIGZvciB0cmFjZSBpbiB0cmFjZXNdCisgICAgdHJhY2VfaW5mb3MgPSBbCisgICAg
ICAgICJ7UmVzdHJpY3RlZFRyYWNlSUQ6OiVzLCB7JXN9fSIgJSAodHJhY2UsIGdldF90cmFjZV9p
bmZvKHRyYWNlKSkgZm9yIHRyYWNlIGluIHRyYWNlcworICAgIF0KKworICAgIGZvcm1hdF9hcmdz
WyJpbmNsdWRlcyJdID0gIlxuIi5qb2luKGluY2x1ZGVzKQorICAgIGZvcm1hdF9hcmdzWyJ0cmFj
ZV9pZHMiXSA9ICIsXG4iLmpvaW4odHJhY2VzKQorICAgIGZvcm1hdF9hcmdzWyJ0cmFjZV9pbmZv
cyJdID0gIixcbiIuam9pbih0cmFjZV9pbmZvcykKKyAgICBmb3JtYXRfYXJnc1sicmVwbGF5X2Z1
bmNfY2FzZXMiXSA9IGdldF9jYXNlc193aXRoX2NvbnRleHQodHJhY2VzLCAiUmVwbGF5Q29udGV4
dCIsICJGcmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJmcmFtZUluZGV4IikKKyAgICBmb3JtYXRfYXJnc1sicmVzZXRf
ZnVuY19jYXNlcyJdID0gZ2V0X2Nhc2VzX3dpdGhfY29udGV4dCh0cmFjZXMsICJSZXNldENvbnRl
eHQiLCAiUmVwbGF5IiwgIiIpCisgICAgZm9ybWF0X2FyZ3NbInNldHVwX2Z1bmNfY2FzZXMiXSA9
IGdldF9jYXNlc193aXRoX2NvbnRleHQodHJhY2VzLCAiU2V0dXBDb250ZXh0IiwgIlJlcGxheSIs
ICIiKQorICAgIGZvcm1hdF9hcmdzWyJzZXRfYmluYXJ5X2RhdGFfZGlyX2Nhc2VzIl0gPSBnZXRf
Y2FzZXModHJhY2VzLCAiU2V0QmluYXJ5RGF0YURpciIsICJkYXRhRGlyIikKKyAgICBmb3JtYXRf
YXJnc1siZGVjb21wcmVzc19jYWxsYmFja19jYXNlcyJdID0gZ2V0X2Nhc2VzKHRyYWNlcywgIlNl
dEJpbmFyeURhdGFEZWNvbXByZXNzQ2FsbGJhY2siLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhbGxiYWNrIikKKyAgICBmb3JtYXRf
YXJnc1sib25fZmJfY2hhbmdlX2NhbGxiYWNrX2Nhc2VzIl0gPSBnZXRfY2FzZXModHJhY2VzLCAi
U2V0RnJhbWVidWZmZXJDaGFuZ2VDYWxsYmFjayIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyRGF0YSwgY2FsbGJhY2siKQor
ICAgIGhlYWRlcl9kYXRhID0gaGVhZGVyX3RlbXBsYXRlLmZvcm1hdCgqKmZvcm1hdF9hcmdzKQor
ICAgIHdpdGggb3BlbihoZWFkZXJfZmlsZSwgInciKSBhcyBvdXRfZmlsZToKKyAgICAgICAgb3V0
X2ZpbGUud3JpdGUoaGVhZGVyX2RhdGEpCisgICAgcmV0dXJuIFRydWUKKworCitkZWYgcmVhZF9q
c29uKGpzb25fZmlsZSk6CisgICAgd2l0aCBvcGVuKGpzb25fZmlsZSkgYXMgbWFwX2ZpbGU6Cisg
ICAgICAgIHJldHVybiBqc29uLmxvYWRzKG1hcF9maWxlLnJlYWQoKSwgb2JqZWN0X3BhaXJzX2hv
b2s9cmVqZWN0X2R1cGxpY2F0ZV9rZXlzKQorCisKK2RlZiBtYWluKCk6CisgICAganNvbl9maWxl
ID0gJ3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24nCisgICAgZ25pX2ZpbGUgPSAncmVzdHJpY3RlZF90
cmFjZXNfYXV0b2dlbi5nbmknCisgICAgaGVhZGVyX2ZpbGUgPSAncmVzdHJpY3RlZF90cmFjZXNf
YXV0b2dlbi5oJworCisgICAganNvbl9kYXRhID0gcmVhZF9qc29uKGpzb25fZmlsZSkKKyAgICBp
ZiAndHJhY2VzJyBub3QgaW4ganNvbl9kYXRhOgorICAgICAgICBwcmludCgnVHJhY2UgZGF0YSBt
aXNzaW5nIHRyYWNlcyBrZXkuJykKKyAgICAgICAgcmV0dXJuIDEKKyAgICB0cmFjZXMgPSBqc29u
X2RhdGFbJ3RyYWNlcyddCisKKyAgICAjIGF1dG9fc2NyaXB0IHBhcmFtZXRlcnMuCisgICAgaWYg
bGVuKHN5cy5hcmd2KSA+IDE6CisgICAgICAgIGlucHV0cyA9IFtqc29uX2ZpbGVdICsgW2dldF9z
aGExX25hbWUodHJhY2UpIGZvciB0cmFjZSBpbiB0cmFjZXNdCisgICAgICAgIG91dHB1dHMgPSBb
Z25pX2ZpbGUsIGhlYWRlcl9maWxlXQorCisgICAgICAgIGlmIHN5cy5hcmd2WzFdID09ICdpbnB1
dHMnOgorICAgICAgICAgICAgcHJpbnQgJywnLmpvaW4oaW5wdXRzKQorICAgICAgICBlbGlmIHN5
cy5hcmd2WzFdID09ICdvdXRwdXRzJzoKKyAgICAgICAgICAgIHByaW50ICcsJy5qb2luKG91dHB1
dHMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwcmludCgnSW52YWxpZCBzY3JpcHQgcGFy
YW1ldGVycy4nKQorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIDAKKworICAg
IGZvcm1hdF9hcmdzID0geworICAgICAgICAic2NyaXB0X25hbWUiOiBfX2ZpbGVfXywKKyAgICAg
ICAgImRhdGFfc291cmNlX25hbWUiOiBqc29uX2ZpbGUsCisgICAgfQorCisgICAgaWYgbm90IGdl
bl9nbmkodHJhY2VzLCBnbmlfZmlsZSwgZm9ybWF0X2FyZ3MpOgorICAgICAgICBwcmludCgnLmdu
aSBmaWxlIGdlbmVyYXRpb24gZmFpbGVkLicpCisgICAgICAgIHJldHVybiAxCisKKyAgICBpZiBu
b3QgZ2VuX2hlYWRlcih0cmFjZXMsIGhlYWRlcl9maWxlLCBmb3JtYXRfYXJncyk6CisgICAgICAg
IHByaW50KCcuaCBmaWxlIGdlbmVyYXRpb24gZmFpbGVkLicpCisgICAgICAgIHJldHVybiAxCisK
KyAgICByZXR1cm4gMAorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4
aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvbWFuaGF0dGFuXzEwLnRhci5nei5zaGExIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90
cmFjZXMvbWFuaGF0dGFuXzEwLnRhci5nei5zaGExCmluZGV4IDdkMjhjZjg3MmQyNmQxNjNjYjg3
OGQwNzZlN2Q5OWMxNWU5N2U5NmQuLmNjMDM2YjI2MDZmNWE5N2FjMDY2ODc1YjNkMTRjMzYyNGNm
MzcxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJm
X3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL21hbmhhdHRhbl8xMC50YXIuZ3ouc2hhMQorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3Ry
YWNlcy9tYW5oYXR0YW5fMTAudGFyLmd6LnNoYTEKQEAgLTEgKzEgQEAKLWY4MDExOTljNzk1OGIy
MDUzMWNiZDAyMjg5ZGFhNTEyNzA5MGQzYTUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitj
ZjQzNjhkOTdjOTJiYmMzY2I3NmQxMGJkZTQ2NGQzODdmZTNiMTc0ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvcmVzdHJpY3RlZF90cmFjZXMuanNvbiBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJh
Y2VzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNmOWI2M2I3YWFlYmQwZGVm
ZTY0ODk2MzI5NmIwMWZiZmVlOTg3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Jlc3RyaWN0
ZWRfdHJhY2VzLmpzb24KQEAgLTAsMCArMSwxNSBAQAoreworICAgICJkZXNjcmlwdGlvbiI6IFsK
KyAgICAgICAgIkNvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuIiwKKyAgICAgICAgIlVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUiLAorICAgICAgICAiZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4iLAorICAgICAgICAiIiwKKyAgICAgICAgInJlc3RyaWN0
ZWRfdHJhY2VzLmpzb246IExpc3Qgb2YgcmVzdHJpY3RlZCB0cmFjZSB0ZXN0cyBpbiBBTkdMRS4i
CisgICAgXSwKKyAgICAidHJhY2VzIjogWworICAgICAgICAiZWd5cHRfMTUwMCIsCisgICAgICAg
ICJtYW5oYXR0YW5fMTAiLAorICAgICAgICAidGVtcGxlX3J1bl8zMDAiLAorICAgICAgICAidHJl
eF8yMDAiCisgICAgXQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvcmVzdHJpY3RlZF90cmFjZXNfYXV0
b2dlbi5nbmkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9y
ZXN0cmljdGVkX3RyYWNlcy9yZXN0cmljdGVkX3RyYWNlc19hdXRvZ2VuLmduaQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NmIxZjllM2RmMjM3MmRlODM4YzQxYzZhNWVmNTI1MjQxNTc5OGRlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJp
Y3RlZF90cmFjZXMvcmVzdHJpY3RlZF90cmFjZXNfYXV0b2dlbi5nbmkKQEAgLTAsMCArMSwxNiBA
QAorIyBHRU5FUkFURUQgRklMRSAtIERPIE5PVCBFRElULgorIyBHZW5lcmF0ZWQgYnkgZ2VuX3Jl
c3RyaWN0ZWRfdHJhY2VzLnB5IHVzaW5nIGRhdGEgZnJvbSByZXN0cmljdGVkX3RyYWNlcy5qc29u
CisjCisjIENvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKyMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKyMKKyMgQSBsaXN0IG9mIGFsbCByZXN0cmljdGVkIHRyYWNlIHRlc3RzLCBwYWlyZWQgd2l0
aCB0aGVpciBjb250ZXh0LgorIyBDYW4gYmUgY29uc3VtZWQgYnkgdGVzdHMvQlVJTEQuZ24uCisK
K2FuZ2xlX3Jlc3RyaWN0ZWRfdHJhY2VzID0gWworICAiZWd5cHRfMTUwMCAxIiwKKyAgIm1hbmhh
dHRhbl8xMCAxIiwKKyAgInRlbXBsZV9ydW5fMzAwIDMiLAorICAidHJleF8yMDAgMSIsCitdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9y
ZXN0cmljdGVkX3RyYWNlcy9yZXN0cmljdGVkX3RyYWNlc19hdXRvZ2VuLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9yZXN0
cmljdGVkX3RyYWNlc19hdXRvZ2VuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzMzNWFhNmUzN2IyNDFjZjRiNGE5
ZWRiYmE0OWM1NjE2M2ExNWM1NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRf
dHJhY2VzX2F1dG9nZW4uaApAQCAtMCwwICsxLDE5OSBAQAorLy8gR0VORVJBVEVEIEZJTEUgLSBE
TyBOT1QgRURJVC4KKy8vIEdlbmVyYXRlZCBieSBnZW5fcmVzdHJpY3RlZF90cmFjZXMucHkgdXNp
bmcgZGF0YSBmcm9tIHJlc3RyaWN0ZWRfdHJhY2VzLmpzb24KKy8vCisvLyBDb3B5cmlnaHQgMjAy
MCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisvLyBUeXBlcyBh
bmQgZW51bWVyYXRpb25zIGZvciB0cmFjZSB0ZXN0cy4KKworI2lmbmRlZiBBTkdMRV9SRVNUUklD
VEVEX1RSQUNFU19IXworI2RlZmluZSBBTkdMRV9SRVNUUklDVEVEX1RSQUNFU19IXworCisjaW5j
bHVkZSAiZWd5cHRfMTUwMC9lZ3lwdF8xNTAwX2NhcHR1cmVfY29udGV4dDEuaCIKKyNpbmNsdWRl
ICJtYW5oYXR0YW5fMTAvbWFuaGF0dGFuXzEwX2NhcHR1cmVfY29udGV4dDEuaCIKKyNpbmNsdWRl
ICJ0ZW1wbGVfcnVuXzMwMC90ZW1wbGVfcnVuXzMwMF9jYXB0dXJlX2NvbnRleHQzLmgiCisjaW5j
bHVkZSAidHJleF8yMDAvdHJleF8yMDBfY2FwdHVyZV9jb250ZXh0MS5oIgorCituYW1lc3BhY2Ug
YW5nbGUKK3sKK2VudW0gY2xhc3MgUmVzdHJpY3RlZFRyYWNlSUQKK3sKKyAgICBlZ3lwdF8xNTAw
LAorICAgIG1hbmhhdHRhbl8xMCwKKyAgICB0ZW1wbGVfcnVuXzMwMCwKKyAgICB0cmV4XzIwMCwK
KyAgICBJbnZhbGlkRW51bSwKKyAgICBFbnVtQ291bnQgPSBJbnZhbGlkRW51bQorfTsKKwordXNp
bmcgUmVwbGF5RnVuYyAgICAgICAgICAgPSB2b2lkICgqKSh1aW50MzJfdCk7Cit1c2luZyBSZXNl
dEZ1bmMgICAgICAgICAgICA9IHZvaWQgKCopKCk7Cit1c2luZyBTZXR1cEZ1bmMgICAgICAgICAg
ICA9IHZvaWQgKCopKCk7Cit1c2luZyBEZWNvbXByZXNzRnVuYyAgICAgICA9IHVpbnQ4X3QgKigq
KShjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiAmKTsKK3VzaW5nIFNldEJpbmFyeURhdGFEaXJG
dW5jID0gdm9pZCAoKikoY29uc3QgY2hhciAqKTsKKworc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qg
a1RyYWNlSW5mb01heE5hbWVMZW4gPSAzMjsKKworc3RydWN0IFRyYWNlSW5mbworeworICAgIHVp
bnQzMl90IHN0YXJ0RnJhbWU7CisgICAgdWludDMyX3QgZW5kRnJhbWU7CisgICAgY2hhciBuYW1l
W2tUcmFjZUluZm9NYXhOYW1lTGVuXTsKK307CisKK2NvbnN0ZXhwciBhbmdsZTo6UGFja2VkRW51
bU1hcDxSZXN0cmljdGVkVHJhY2VJRCwgVHJhY2VJbmZvPiBrVHJhY2VJbmZvcyA9IHsKKyAgICB7
UmVzdHJpY3RlZFRyYWNlSUQ6OmVneXB0XzE1MDAsCisgICAgIHtlZ3lwdF8xNTAwOjprUmVwbGF5
RnJhbWVTdGFydCwgZWd5cHRfMTUwMDo6a1JlcGxheUZyYW1lRW5kLCAiZWd5cHRfMTUwMCJ9fSwK
KyAgICB7UmVzdHJpY3RlZFRyYWNlSUQ6Om1hbmhhdHRhbl8xMCwKKyAgICAge21hbmhhdHRhbl8x
MDo6a1JlcGxheUZyYW1lU3RhcnQsIG1hbmhhdHRhbl8xMDo6a1JlcGxheUZyYW1lRW5kLCAibWFu
aGF0dGFuXzEwIn19LAorICAgIHtSZXN0cmljdGVkVHJhY2VJRDo6dGVtcGxlX3J1bl8zMDAsCisg
ICAgIHt0ZW1wbGVfcnVuXzMwMDo6a1JlcGxheUZyYW1lU3RhcnQsIHRlbXBsZV9ydW5fMzAwOjpr
UmVwbGF5RnJhbWVFbmQsICJ0ZW1wbGVfcnVuXzMwMCJ9fSwKKyAgICB7UmVzdHJpY3RlZFRyYWNl
SUQ6OnRyZXhfMjAwLAorICAgICB7dHJleF8yMDA6OmtSZXBsYXlGcmFtZVN0YXJ0LCB0cmV4XzIw
MDo6a1JlcGxheUZyYW1lRW5kLCAidHJleF8yMDAifX19OworCit1c2luZyBEZWNvbXByZXNzQ2Fs
bGJhY2sgICAgICAgID0gdWludDhfdCAqKCopKGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+ICYp
OwordXNpbmcgRnJhbWVidWZmZXJDaGFuZ2VDYWxsYmFjayA9IHZvaWQgKCopKHZvaWQgKnVzZXJE
YXRhLCBHTGVudW0gdGFyZ2V0LCBHTHVpbnQgZnJhbWVidWZmZXIpOworCitpbmxpbmUgdm9pZCBS
ZXBsYXlGcmFtZShSZXN0cmljdGVkVHJhY2VJRCB0cmFjZUlELCB1aW50MzJfdCBmcmFtZUluZGV4
KQoreworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7CisgICAgICAgIGNhc2UgUmVzdHJpY3Rl
ZFRyYWNlSUQ6OmVneXB0XzE1MDA6CisgICAgICAgICAgICBlZ3lwdF8xNTAwOjpSZXBsYXlDb250
ZXh0MUZyYW1lKGZyYW1lSW5kZXgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
UmVzdHJpY3RlZFRyYWNlSUQ6Om1hbmhhdHRhbl8xMDoKKyAgICAgICAgICAgIG1hbmhhdHRhbl8x
MDo6UmVwbGF5Q29udGV4dDFGcmFtZShmcmFtZUluZGV4KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIFJlc3RyaWN0ZWRUcmFjZUlEOjp0ZW1wbGVfcnVuXzMwMDoKKyAgICAgICAg
ICAgIHRlbXBsZV9ydW5fMzAwOjpSZXBsYXlDb250ZXh0M0ZyYW1lKGZyYW1lSW5kZXgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OnRyZXhfMjAw
OgorICAgICAgICAgICAgdHJleF8yMDA6OlJlcGxheUNvbnRleHQxRnJhbWUoZnJhbWVJbmRleCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiRXJyb3IgaW4gc3dpdGNoLlxuIik7CisgICAgICAgICAgICBhc3NlcnQoMCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK2lubGluZSB2b2lkIFJlc2V0UmVwbGF5
KFJlc3RyaWN0ZWRUcmFjZUlEIHRyYWNlSUQpCit7CisgICAgc3dpdGNoICh0cmFjZUlEKQorICAg
IHsKKyAgICAgICAgY2FzZSBSZXN0cmljdGVkVHJhY2VJRDo6ZWd5cHRfMTUwMDoKKyAgICAgICAg
ICAgIGVneXB0XzE1MDA6OlJlc2V0Q29udGV4dDFSZXBsYXkoKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFJlc3RyaWN0ZWRUcmFjZUlEOjptYW5oYXR0YW5fMTA6CisgICAgICAg
ICAgICBtYW5oYXR0YW5fMTA6OlJlc2V0Q29udGV4dDFSZXBsYXkoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFJlc3RyaWN0ZWRUcmFjZUlEOjp0ZW1wbGVfcnVuXzMwMDoKKyAg
ICAgICAgICAgIHRlbXBsZV9ydW5fMzAwOjpSZXNldENvbnRleHQzUmVwbGF5KCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSZXN0cmljdGVkVHJhY2VJRDo6dHJleF8yMDA6Cisg
ICAgICAgICAgICB0cmV4XzIwMDo6UmVzZXRDb250ZXh0MVJlcGxheSgpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVy
cm9yIGluIHN3aXRjaC5cbiIpOworICAgICAgICAgICAgYXNzZXJ0KDApOworICAgICAgICAgICAg
YnJlYWs7CisgICAgfQorfQorCitpbmxpbmUgdm9pZCBTZXR1cFJlcGxheShSZXN0cmljdGVkVHJh
Y2VJRCB0cmFjZUlEKQoreworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7CisgICAgICAgIGNh
c2UgUmVzdHJpY3RlZFRyYWNlSUQ6OmVneXB0XzE1MDA6CisgICAgICAgICAgICBlZ3lwdF8xNTAw
OjpTZXR1cENvbnRleHQxUmVwbGF5KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBSZXN0cmljdGVkVHJhY2VJRDo6bWFuaGF0dGFuXzEwOgorICAgICAgICAgICAgbWFuaGF0dGFu
XzEwOjpTZXR1cENvbnRleHQxUmVwbGF5KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBSZXN0cmljdGVkVHJhY2VJRDo6dGVtcGxlX3J1bl8zMDA6CisgICAgICAgICAgICB0ZW1w
bGVfcnVuXzMwMDo6U2V0dXBDb250ZXh0M1JlcGxheSgpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OnRyZXhfMjAwOgorICAgICAgICAgICAgdHJl
eF8yMDA6OlNldHVwQ29udGV4dDFSZXBsYXkoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBpbiBzd2l0Y2gu
XG4iKTsKKyAgICAgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0K
K30KKworaW5saW5lIHZvaWQgU2V0QmluYXJ5RGF0YURpcihSZXN0cmljdGVkVHJhY2VJRCB0cmFj
ZUlELCBjb25zdCBjaGFyICpkYXRhRGlyKQoreworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7
CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OmVneXB0XzE1MDA6CisgICAgICAgICAg
ICBlZ3lwdF8xNTAwOjpTZXRCaW5hcnlEYXRhRGlyKGRhdGFEaXIpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6Om1hbmhhdHRhbl8xMDoKKyAgICAg
ICAgICAgIG1hbmhhdHRhbl8xMDo6U2V0QmluYXJ5RGF0YURpcihkYXRhRGlyKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFJlc3RyaWN0ZWRUcmFjZUlEOjp0ZW1wbGVfcnVuXzMw
MDoKKyAgICAgICAgICAgIHRlbXBsZV9ydW5fMzAwOjpTZXRCaW5hcnlEYXRhRGlyKGRhdGFEaXIp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OnRy
ZXhfMjAwOgorICAgICAgICAgICAgdHJleF8yMDA6OlNldEJpbmFyeURhdGFEaXIoZGF0YURpcik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiRXJyb3IgaW4gc3dpdGNoLlxuIik7CisgICAgICAgICAgICBhc3NlcnQoMCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK2lubGluZSB2b2lkIFNldEJpbmFyeURh
dGFEZWNvbXByZXNzQ2FsbGJhY2soUmVzdHJpY3RlZFRyYWNlSUQgdHJhY2VJRCwgRGVjb21wcmVz
c0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7CisgICAg
ICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OmVneXB0XzE1MDA6CisgICAgICAgICAgICBlZ3lw
dF8xNTAwOjpTZXRCaW5hcnlEYXRhRGVjb21wcmVzc0NhbGxiYWNrKGNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJlc3RyaWN0ZWRUcmFjZUlEOjptYW5oYXR0YW5f
MTA6CisgICAgICAgICAgICBtYW5oYXR0YW5fMTA6OlNldEJpbmFyeURhdGFEZWNvbXByZXNzQ2Fs
bGJhY2soY2FsbGJhY2spOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVzdHJp
Y3RlZFRyYWNlSUQ6OnRlbXBsZV9ydW5fMzAwOgorICAgICAgICAgICAgdGVtcGxlX3J1bl8zMDA6
OlNldEJpbmFyeURhdGFEZWNvbXByZXNzQ2FsbGJhY2soY2FsbGJhY2spOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OnRyZXhfMjAwOgorICAgICAg
ICAgICAgdHJleF8yMDA6OlNldEJpbmFyeURhdGFEZWNvbXByZXNzQ2FsbGJhY2soY2FsbGJhY2sp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIkVycm9yIGluIHN3aXRjaC5cbiIpOworICAgICAgICAgICAgYXNzZXJ0KDAp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitpbmxpbmUgdm9pZCBTZXRGcmFtZWJ1
ZmZlckNoYW5nZUNhbGxiYWNrKFJlc3RyaWN0ZWRUcmFjZUlEIHRyYWNlSUQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJEYXRhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZWJ1ZmZlckNoYW5nZUNhbGxiYWNr
IGNhbGxiYWNrKQoreworICAgIHN3aXRjaCAodHJhY2VJRCkKKyAgICB7CisgICAgICAgIGNhc2Ug
UmVzdHJpY3RlZFRyYWNlSUQ6OmVneXB0XzE1MDA6CisgICAgICAgICAgICBlZ3lwdF8xNTAwOjpT
ZXRGcmFtZWJ1ZmZlckNoYW5nZUNhbGxiYWNrKHVzZXJEYXRhLCBjYWxsYmFjayk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSZXN0cmljdGVkVHJhY2VJRDo6bWFuaGF0dGFuXzEw
OgorICAgICAgICAgICAgbWFuaGF0dGFuXzEwOjpTZXRGcmFtZWJ1ZmZlckNoYW5nZUNhbGxiYWNr
KHVzZXJEYXRhLCBjYWxsYmFjayk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBS
ZXN0cmljdGVkVHJhY2VJRDo6dGVtcGxlX3J1bl8zMDA6CisgICAgICAgICAgICB0ZW1wbGVfcnVu
XzMwMDo6U2V0RnJhbWVidWZmZXJDaGFuZ2VDYWxsYmFjayh1c2VyRGF0YSwgY2FsbGJhY2spOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVzdHJpY3RlZFRyYWNlSUQ6OnRyZXhf
MjAwOgorICAgICAgICAgICAgdHJleF8yMDA6OlNldEZyYW1lYnVmZmVyQ2hhbmdlQ2FsbGJhY2so
dXNlckRhdGEsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBpbiBzd2l0Y2guXG4iKTsKKyAg
ICAgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KK30gIC8v
IG5hbWVzcGFjZSBhbmdsZQorCisjZW5kaWYgIC8vIEFOR0xFX1JFU1RSSUNURURfVFJBQ0VTX0hf
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0
cy9yZXN0cmljdGVkX3RyYWNlcy90ZW1wbGVfcnVuXzMwMC50YXIuZ3ouc2hhMSBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Rl
bXBsZV9ydW5fMzAwLnRhci5nei5zaGExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NmU4YjZjZmMzNWEyNmFlMGU2
M2I2MTg2Y2Q1OTRjMjU3ZTJhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy90ZW1wbGVfcnVu
XzMwMC50YXIuZ3ouc2hhMQpAQCAtMCwwICsxIEBACitmNGUwNTZlMDM1ZDUyMjJiYTg2OTc5Nzll
ZDQ1NGM5OWU2NjAwZWY5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvcmVzdHJpY3RlZF90
cmFjZXMvdHJleF8yMDAudGFyLmd6LnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
dGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy90cmV4XzIwMC50YXIuZ3ouc2hhMQpp
bmRleCBhNWZlYjMwNTc2ODViMzA2YTdkOGRhNzNlMGRlNDk3MDIxYjBhZGI2Li5lN2FhNTM1NzBj
ODAyMTk1ZWIxYzk2ZDRlYzRmZjY3YThlZWY3NjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy90cmV4XzIw
MC50YXIuZ3ouc2hhMQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVy
Zl90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy90cmV4XzIwMC50YXIuZ3ouc2hhMQpAQCAtMSArMSBA
QAotZGJhYWNkNjljMjE5MTQxYTUzOTViZWY3Njc2NTVmMDM0MDkwODlhYQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK2RlNDAwYWQyMWU1N2Y3NTY4ZmMyMTI0MTU4ZjVjM2NhMjYzMzhmZGUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9BTkdMRVRlc3QuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvQU5HTEVUZXN0LmNwcAppbmRleCA0MDVk
NWY0NTgyNGI1OWE5NTU5ZDdmMDA4MTU2NTg2NzViNDQ4MTJjLi4xMjlmYTAwMWI3MWM1YTQ0MTY4
YmZmOThhNzNhNzdjZTkyMDJhOTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvdGVzdF91dGlscy9BTkdMRVRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL0FOR0xFVGVzdC5jcHAKQEAgLTEzLDYgKzEz
LDcgQEAKICNpbmNsdWRlICJncHVfaW5mb191dGlsL1N5c3RlbUluZm8uaCIKICNpbmNsdWRlICJ1
dGlsL0VHTFdpbmRvdy5oIgogI2luY2x1ZGUgInV0aWwvT1NXaW5kb3cuaCIKKyNpbmNsdWRlICJ1
dGlsL3JhbmRvbV91dGlscy5oIgogI2luY2x1ZGUgInV0aWwvdGVzdF91dGlscy5oIgogCiAjaWYg
ZGVmaW5lZChBTkdMRV9QTEFURk9STV9XSU5ET1dTKQpAQCAtMjIxLDYgKzIyMiwxMiBAQCBWZWN0
b3I0IEdMQ29sb3I6OnRvTm9ybWFsaXplZFZlY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIFZlY3Rv
cjQoQ29sb3JOb3JtKFIpLCBDb2xvck5vcm0oRyksIENvbG9yTm9ybShCKSwgQ29sb3JOb3JtKEEp
KTsKIH0KIAorR0xDb2xvciBSYW5kb21Db2xvcihhbmdsZTo6Uk5HICpybmcpCit7CisgICAgcmV0
dXJuIEdMQ29sb3Iocm5nLT5yYW5kb21JbnRCZXR3ZWVuKDAsIDI1NSksIHJuZy0+cmFuZG9tSW50
QmV0d2VlbigwLCAyNTUpLAorICAgICAgICAgICAgICAgICAgIHJuZy0+cmFuZG9tSW50QmV0d2Vl
bigwLCAyNTUpLCBybmctPnJhbmRvbUludEJldHdlZW4oMCwgMjU1KSk7Cit9CisKIEdMQ29sb3Ig
UmVhZENvbG9yKEdMaW50IHgsIEdMaW50IHkpCiB7CiAgICAgR0xDb2xvciBhY3R1YWw7CkBAIC0y
NzIsMTEgKzI3OSwxMSBAQCBHTENvbG9yMzJGIFJlYWRDb2xvcjMyRihHTGludCB4LCBHTGludCB5
KQogICAgIHJldHVybiBhY3R1YWw7CiB9CiAKLXZvaWQgTG9hZEVudHJ5UG9pbnRzV2l0aFV0aWxM
b2FkZXIoKQordm9pZCBMb2FkRW50cnlQb2ludHNXaXRoVXRpbExvYWRlcihhbmdsZTo6R0xFU0Ry
aXZlclR5cGUgZHJpdmVyVHlwZSkKIHsKICNpZiBkZWZpbmVkKEFOR0xFX1VTRV9VVElMX0xPQURF
UikKICAgICBQRk5FR0xHRVRQUk9DQUREUkVTU1BST0MgZ2V0UHJvY0FkZHJlc3M7Ci0gICAgQU5H
TEVUZXN0RW52aXJvbm1lbnQ6OkdldEVHTExpYnJhcnkoKS0+Z2V0QXMoImVnbEdldFByb2NBZGRy
ZXNzIiwgJmdldFByb2NBZGRyZXNzKTsKKyAgICBBTkdMRVRlc3RFbnZpcm9ubWVudDo6R2V0RHJp
dmVyTGlicmFyeShkcml2ZXJUeXBlKS0+Z2V0QXMoImVnbEdldFByb2NBZGRyZXNzIiwgJmdldFBy
b2NBZGRyZXNzKTsKICAgICBBU1NFUlRfTkUobnVsbHB0ciwgZ2V0UHJvY0FkZHJlc3MpOwogCiAg
ICAgTG9hZEVHTChnZXRQcm9jQWRkcmVzcyk7CkBAIC00MjAsOCArNDI3LDkgQEAgdm9pZCBBTkdM
RVRlc3RCYXNlOjppbml0T1NXaW5kb3coKQogICAgIHdpbmRvd05hbWVTdHJlYW0gPDwgIkFOR0xF
IFRlc3RzIC0gIiA8PCAqbUN1cnJlbnRQYXJhbXM7CiAgICAgc3RkOjpzdHJpbmcgd2luZG93TmFt
ZSA9IHdpbmRvd05hbWVTdHJlYW0uc3RyKCk7CiAKLSAgICBpZiAobUFsd2F5c0ZvcmNlTmV3RGlz
cGxheSkKKyAgICBpZiAoSXNBbmRyb2lkKCkpCiAgICAgeworICAgICAgICAvLyBPbmx5IG9uZSB3
aW5kb3cgcGVyIHRlc3QgYXBwbGljYXRpb24gb24gQW5kcm9pZCwgc2hhcmVkIGFtb25nIGFsbCBm
aXh0dXJlcwogICAgICAgICBtRml4dHVyZS0+b3NXaW5kb3cgPSBtT1NXaW5kb3dTaW5nbGV0b247
CiAgICAgfQogCkBAIC00MzMsMjcgKzQ0MSwyNiBAQCB2b2lkIEFOR0xFVGVzdEJhc2U6OmluaXRP
U1dpbmRvdygpCiAgICAgICAgICAgICBzdGQ6OmNlcnIgPDwgIkZhaWxlZCB0byBpbml0aWFsaXpl
IE9TIFdpbmRvdy4iOwogICAgICAgICB9CiAKLSAgICAgICAgbU9TV2luZG93U2luZ2xldG9uID0g
bUZpeHR1cmUtPm9zV2luZG93OworICAgICAgICBpZiAoSXNBbmRyb2lkKCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHNpbmdsZSB3aW5kb3cgb24gQW5kb2lyZCBv
bmx5IG9uY2UKKyAgICAgICAgICAgIG1PU1dpbmRvd1NpbmdsZXRvbiA9IG1GaXh0dXJlLT5vc1dp
bmRvdzsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8vIE9uIExpbnV4IHdlIG11c3Qga2VlcCB0
aGUgdGVzdCB3aW5kb3dzIHZpc2libGUuIE9uIFdpbmRvd3MgaXQgZG9lc24ndCBzZWVtIHRvIG5l
ZWQgaXQuCi0gICAgbUZpeHR1cmUtPm9zV2luZG93LT5zZXRWaXNpYmxlKCFJc1dpbmRvd3MoKSk7
CisgICAgc2V0V2luZG93VmlzaWJsZShnZXRPU1dpbmRvdygpLCAhSXNXaW5kb3dzKCkpOwogCiAg
ICAgc3dpdGNoIChtQ3VycmVudFBhcmFtcy0+ZHJpdmVyKQogICAgIHsKICAgICAgICAgY2FzZSBH
TEVTRHJpdmVyVHlwZTo6QW5nbGVFR0w6CisgICAgICAgIGNhc2UgR0xFU0RyaXZlclR5cGU6OlN5
c3RlbUVHTDoKICAgICAgICAgewogICAgICAgICAgICAgbUZpeHR1cmUtPmVnbFdpbmRvdyA9CiAg
ICAgICAgICAgICAgICAgRUdMV2luZG93OjpOZXcobUN1cnJlbnRQYXJhbXMtPm1ham9yVmVyc2lv
biwgbUN1cnJlbnRQYXJhbXMtPm1pbm9yVmVyc2lvbik7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCi0gICAgICAgIGNhc2UgR0xFU0RyaXZlclR5cGU6OlN5c3RlbUVHTDoKLSAgICAg
ICAgewotICAgICAgICAgICAgc3RkOjpjZXJyIDw8ICJVbnN1cHBvcnRlZCBkcml2ZXIuIiA8PCBz
dGQ6OmVuZGw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCiAgICAgICAgIGNhc2Ug
R0xFU0RyaXZlclR5cGU6OlN5c3RlbVdHTDoKICAgICAgICAgewogICAgICAgICAgICAgLy8gV0dM
IHRlc3RzIGFyZSBjdXJyZW50bHkgZGlzYWJsZWQuCkBAIC01MjQsMTAgKzUzMSwxNiBAQCB2b2lk
IEFOR0xFVGVzdEJhc2U6OkFOR0xFVGVzdFNldFVwKCkKIAogICAgIGlmIChtQ3VycmVudFBhcmFt
cy0+bm9GaXh0dXJlKQogICAgIHsKLSAgICAgICAgTG9hZEVudHJ5UG9pbnRzV2l0aFV0aWxMb2Fk
ZXIoKTsKKyAgICAgICAgTG9hZEVudHJ5UG9pbnRzV2l0aFV0aWxMb2FkZXIobUN1cnJlbnRQYXJh
bXMtPmRyaXZlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAobUxhc3RMb2Fk
ZWREcml2ZXIudmFsaWQoKSAmJiBtQ3VycmVudFBhcmFtcy0+ZHJpdmVyICE9IG1MYXN0TG9hZGVk
RHJpdmVyLnZhbHVlKCkpCisgICAgeworICAgICAgICBMb2FkRW50cnlQb2ludHNXaXRoVXRpbExv
YWRlcihtQ3VycmVudFBhcmFtcy0+ZHJpdmVyKTsKKyAgICAgICAgbUxhc3RMb2FkZWREcml2ZXIg
PSBtQ3VycmVudFBhcmFtcy0+ZHJpdmVyOworICAgIH0KKwogICAgIC8vIFJlc2l6ZSB0aGUgd2lu
ZG93IGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dCBzbyB0aGF0IHRoZSBmaXJzdCBtYWtlIGN1
cnJlbnQKICAgICAvLyBzZXRzIHRoZSB2aWV3cG9ydCBhbmQgc2Npc3NvciBib3ggdG8gdGhlIHJp
Z2h0IHNpemUuCiAgICAgYm9vbCBuZWVkU3dhcCA9IGZhbHNlOwpAQCAtNTQ3LDExICs1NjAsMTMg
QEAgdm9pZCBBTkdMRVRlc3RCYXNlOjpBTkdMRVRlc3RTZXRVcCgpCiAgICAgfQogICAgIGVsc2UK
ICAgICB7CisgICAgICAgIExpYnJhcnkgKmRyaXZlckxpYiA9IEFOR0xFVGVzdEVudmlyb25tZW50
OjpHZXREcml2ZXJMaWJyYXJ5KG1DdXJyZW50UGFyYW1zLT5kcml2ZXIpOworCiAgICAgICAgIGlm
IChtRm9yY2VOZXdEaXNwbGF5IHx8ICFtRml4dHVyZS0+ZWdsV2luZG93LT5pc0Rpc3BsYXlJbml0
aWFsaXplZCgpKQogICAgICAgICB7CiAgICAgICAgICAgICBtRml4dHVyZS0+ZWdsV2luZG93LT5k
ZXN0cm95R0woKTsKLSAgICAgICAgICAgIGlmICghbUZpeHR1cmUtPmVnbFdpbmRvdy0+aW5pdGlh
bGl6ZURpc3BsYXkobUZpeHR1cmUtPm9zV2luZG93LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkdMRVRlc3RFbnZpcm9ubWVudDo6R2V0
RUdMTGlicmFyeSgpLAorICAgICAgICAgICAgaWYgKCFtRml4dHVyZS0+ZWdsV2luZG93LT5pbml0
aWFsaXplRGlzcGxheShtRml4dHVyZS0+b3NXaW5kb3csIGRyaXZlckxpYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUN1cnJlbnRQYXJh
bXMtPmRyaXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbUN1cnJlbnRQYXJhbXMtPmVnbFBhcmFtZXRlcnMpKQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIEZBSUwoKSA8PCAiRUdMIERpc3BsYXkgaW5pdCBmYWlsZWQuIjsK
QEAgLTU2Miw4ICs1NzcsOCBAQCB2b2lkIEFOR0xFVGVzdEJhc2U6OkFOR0xFVGVzdFNldFVwKCkK
ICAgICAgICAgICAgIEZBSUwoKSA8PCAiSW50ZXJuYWwgcGFyYW1ldGVyIGNvbmZsaWN0IGVycm9y
LiI7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIW1GaXh0dXJlLT5lZ2xXaW5kb3ctPmluaXRp
YWxpemVTdXJmYWNlKAotICAgICAgICAgICAgICAgIG1GaXh0dXJlLT5vc1dpbmRvdywgQU5HTEVU
ZXN0RW52aXJvbm1lbnQ6OkdldEVHTExpYnJhcnkoKSwgbUZpeHR1cmUtPmNvbmZpZ1BhcmFtcykp
CisgICAgICAgIGlmICghbUZpeHR1cmUtPmVnbFdpbmRvdy0+aW5pdGlhbGl6ZVN1cmZhY2UobUZp
eHR1cmUtPm9zV2luZG93LCBkcml2ZXJMaWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbUZpeHR1cmUtPmNvbmZpZ1BhcmFtcykpCiAgICAgICAg
IHsKICAgICAgICAgICAgIEZBSUwoKSA8PCAiZWdsIHN1cmZhY2UgaW5pdCBmYWlsZWQuIjsKICAg
ICAgICAgfQpAQCAtMTIyNiw5ICsxMjQxLDE1IEBAIGJvb2wgQU5HTEVUZXN0QmFzZTo6aXNNdWx0
aXNhbXBsZUVuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBtRml4dHVyZS0+ZWdsV2luZG93LT5p
c011bHRpc2FtcGxlKCk7CiB9CiAKLXZvaWQgQU5HTEVUZXN0QmFzZTo6c2V0V2luZG93VmlzaWJs
ZShib29sIGlzVmlzaWJsZSkKK3ZvaWQgQU5HTEVUZXN0QmFzZTo6c2V0V2luZG93VmlzaWJsZShP
U1dpbmRvdyAqb3NXaW5kb3csIGJvb2wgaXNWaXNpYmxlKQogewotICAgIG1GaXh0dXJlLT5vc1dp
bmRvdy0+c2V0VmlzaWJsZShpc1Zpc2libGUpOworICAgIC8vIFN3aWZ0U2hhZGVyIHdpbmRvd3Mg
YXJlIG5vdCByZXF1aXJlZCB0byBiZSB2aXNpYmxlIGZvciB0ZXN0IGNvcnJlY3RuZXNzLAorICAg
IC8vIG1vcmVvdmVyLCBtYWtpbmcgYSBTd2lmdFNoYWRlciB3aW5kb3cgdmlzaWJsZSBmbGFreSBo
YW5ncyBvbiBYdmZiLCBzbyB3ZSBrZWVwIHRoZW0gaGlkZGVuLgorICAgIGlmIChpc1N3aWZ0c2hh
ZGVyKCkpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG9zV2luZG93LT5zZXRW
aXNpYmxlKGlzVmlzaWJsZSk7CiB9CiAKIEFOR0xFVGVzdEJhc2U6OlRlc3RGaXh0dXJlOjpUZXN0
Rml4dHVyZSgpICA9IGRlZmF1bHQ7CkBAIC0xMjY4LDkgKzEyODksMTEgQEAgQU5HTEVUZXN0QmFz
ZTo6U2NvcGVkSWdub3JlUGxhdGZvcm1NZXNzYWdlczo6flNjb3BlZElnbm9yZVBsYXRmb3JtTWVz
c2FnZXMoKQogT1NXaW5kb3cgKkFOR0xFVGVzdEJhc2U6Om1PU1dpbmRvd1NpbmdsZXRvbiA9IG51
bGxwdHI7CiBzdGQ6Om1hcDxhbmdsZTo6UGxhdGZvcm1QYXJhbWV0ZXJzLCBBTkdMRVRlc3RCYXNl
OjpUZXN0Rml4dHVyZT4gQU5HTEVUZXN0QmFzZTo6Z0ZpeHR1cmVzOwogT3B0aW9uYWw8RUdMaW50
PiBBTkdMRVRlc3RCYXNlOjptTGFzdFJlbmRlcmVyVHlwZTsKK09wdGlvbmFsPGFuZ2xlOjpHTEVT
RHJpdmVyVHlwZT4gQU5HTEVUZXN0QmFzZTo6bUxhc3RMb2FkZWREcml2ZXI7CiAKLXN0ZDo6dW5p
cXVlX3B0cjxMaWJyYXJ5PiBBTkdMRVRlc3RFbnZpcm9ubWVudDo6Z0VHTExpYnJhcnk7Ci1zdGQ6
OnVuaXF1ZV9wdHI8TGlicmFyeT4gQU5HTEVUZXN0RW52aXJvbm1lbnQ6OmdXR0xMaWJyYXJ5Owor
c3RkOjp1bmlxdWVfcHRyPExpYnJhcnk+IEFOR0xFVGVzdEVudmlyb25tZW50OjpnQW5nbGVFR0xM
aWJyYXJ5Oworc3RkOjp1bmlxdWVfcHRyPExpYnJhcnk+IEFOR0xFVGVzdEVudmlyb25tZW50Ojpn
U3lzdGVtRUdMTGlicmFyeTsKK3N0ZDo6dW5pcXVlX3B0cjxMaWJyYXJ5PiBBTkdMRVRlc3RFbnZp
cm9ubWVudDo6Z1N5c3RlbVdHTExpYnJhcnk7CiAKIHZvaWQgQU5HTEVUZXN0RW52aXJvbm1lbnQ6
OlNldFVwKCkge30KIApAQCAtMTI3OSwyNiArMTMwMiw1OCBAQCB2b2lkIEFOR0xFVGVzdEVudmly
b25tZW50OjpUZWFyRG93bigpCiAgICAgQU5HTEVUZXN0QmFzZTo6UmVsZWFzZUZpeHR1cmVzKCk7
CiB9CiAKLUxpYnJhcnkgKkFOR0xFVGVzdEVudmlyb25tZW50OjpHZXRFR0xMaWJyYXJ5KCkKKy8v
IHN0YXRpYworTGlicmFyeSAqQU5HTEVUZXN0RW52aXJvbm1lbnQ6OkdldERyaXZlckxpYnJhcnko
YW5nbGU6OkdMRVNEcml2ZXJUeXBlIGRyaXZlcikKK3sKKyAgICBzd2l0Y2ggKGRyaXZlcikKKyAg
ICB7CisgICAgICAgIGNhc2UgYW5nbGU6OkdMRVNEcml2ZXJUeXBlOjpBbmdsZUVHTDoKKyAgICAg
ICAgICAgIHJldHVybiBHZXRBbmdsZUVHTExpYnJhcnkoKTsKKyAgICAgICAgY2FzZSBhbmdsZTo6
R0xFU0RyaXZlclR5cGU6OlN5c3RlbUVHTDoKKyAgICAgICAgICAgIHJldHVybiBHZXRTeXN0ZW1F
R0xMaWJyYXJ5KCk7CisgICAgICAgIGNhc2UgYW5nbGU6OkdMRVNEcml2ZXJUeXBlOjpTeXN0ZW1X
R0w6CisgICAgICAgICAgICByZXR1cm4gR2V0U3lzdGVtV0dMTGlicmFyeSgpOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorfQorCisvLyBzdGF0
aWMKK0xpYnJhcnkgKkFOR0xFVGVzdEVudmlyb25tZW50OjpHZXRBbmdsZUVHTExpYnJhcnkoKQog
ewogI2lmIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxfTE9BREVSKQotICAgIGlmICghZ0VHTExpYnJh
cnkpCisgICAgaWYgKCFnQW5nbGVFR0xMaWJyYXJ5KQogICAgIHsKLSAgICAgICAgZ0VHTExpYnJh
cnkucmVzZXQoT3BlblNoYXJlZExpYnJhcnkoQU5HTEVfRUdMX0xJQlJBUllfTkFNRSwgU2VhcmNo
VHlwZTo6QXBwbGljYXRpb25EaXIpKTsKKyAgICAgICAgZ0FuZ2xlRUdMTGlicmFyeS5yZXNldCgK
KyAgICAgICAgICAgIE9wZW5TaGFyZWRMaWJyYXJ5KEFOR0xFX0VHTF9MSUJSQVJZX05BTUUsIFNl
YXJjaFR5cGU6OkFwcGxpY2F0aW9uRGlyKSk7CiAgICAgfQogI2VuZGlmICAvLyBkZWZpbmVkKEFO
R0xFX1VTRV9VVElMX0xPQURFUikKLSAgICByZXR1cm4gZ0VHTExpYnJhcnkuZ2V0KCk7CisgICAg
cmV0dXJuIGdBbmdsZUVHTExpYnJhcnkuZ2V0KCk7CiB9CiAKLUxpYnJhcnkgKkFOR0xFVGVzdEVu
dmlyb25tZW50OjpHZXRXR0xMaWJyYXJ5KCkKKy8vIHN0YXRpYworTGlicmFyeSAqQU5HTEVUZXN0
RW52aXJvbm1lbnQ6OkdldFN5c3RlbUVHTExpYnJhcnkoKQoreworI2lmIGRlZmluZWQoQU5HTEVf
VVNFX1VUSUxfTE9BREVSKQorICAgIGlmICghZ1N5c3RlbUVHTExpYnJhcnkpCisgICAgeworICAg
ICAgICBnU3lzdGVtRUdMTGlicmFyeS5yZXNldCgKKyAgICAgICAgICAgIE9wZW5TaGFyZWRMaWJy
YXJ5V2l0aEV4dGVuc2lvbihHZXROYXRpdmVFR0xMaWJyYXJ5TmFtZVdpdGhFeHRlbnNpb24oKSkp
OworICAgIH0KKyNlbmRpZiAgLy8gZGVmaW5lZChBTkdMRV9VU0VfVVRJTF9MT0FERVIpCisgICAg
cmV0dXJuIGdTeXN0ZW1FR0xMaWJyYXJ5LmdldCgpOworfQorCisvLyBzdGF0aWMKK0xpYnJhcnkg
KkFOR0xFVGVzdEVudmlyb25tZW50OjpHZXRTeXN0ZW1XR0xMaWJyYXJ5KCkKIHsKICNpZiBkZWZp
bmVkKEFOR0xFX1VTRV9VVElMX0xPQURFUikgJiYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9XSU5E
T1dTKQotICAgIGlmICghZ1dHTExpYnJhcnkpCisgICAgaWYgKCFnU3lzdGVtV0dMTGlicmFyeSkK
ICAgICB7Ci0gICAgICAgIGdXR0xMaWJyYXJ5LnJlc2V0KE9wZW5TaGFyZWRMaWJyYXJ5KCJvcGVu
Z2wzMiIsIFNlYXJjaFR5cGU6OlN5c3RlbURpcikpOworICAgICAgICBnU3lzdGVtV0dMTGlicmFy
eS5yZXNldChPcGVuU2hhcmVkTGlicmFyeSgib3BlbmdsMzIiLCBTZWFyY2hUeXBlOjpTeXN0ZW1E
aXIpKTsKICAgICB9CiAjZW5kaWYgIC8vIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxfTE9BREVSKSAm
JiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX1dJTkRPV1MpCi0gICAgcmV0dXJuIGdXR0xMaWJyYXJ5
LmdldCgpOworICAgIHJldHVybiBnU3lzdGVtV0dMTGlicmFyeS5nZXQoKTsKIH0KIAogdm9pZCBB
TkdMRVByb2Nlc3NUZXN0QXJncyhpbnQgKmFyZ2MsIGNoYXIgKmFyZ3ZbXSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL0FOR0xFVGVzdC5o
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvQU5HTEVUZXN0
LmgKaW5kZXggY2NlZmRlMjI0NjJmZDdhZjhlOGE2MzI2ZGRmYTMxYWNhYTYyYzI5OC4uMWEzNmZl
YjM0OTZiNzllNmI0N2JhMTkxODUxMGYyODM4ZjY1YzU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvQU5HTEVUZXN0LmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvQU5HTEVUZXN0LmgKQEAg
LTI3LDYgKzI3LDcgQEAKIG5hbWVzcGFjZSBhbmdsZQogewogc3RydWN0IFN5c3RlbUluZm87Citj
bGFzcyBSTkc7CiB9ICAvLyBuYW1lc3BhY2UgYW5nbGUKIAogI2RlZmluZSBBU1NFUlRfR0xfVFJV
RShhKSBBU1NFUlRfRVEoc3RhdGljX2Nhc3Q8R0xib29sZWFuPihHTF9UUlVFKSwgKGEpKQpAQCAt
MTYxLDYgKzE2Miw4IEBAIEdMQ29sb3IgTWFrZUdMQ29sb3IoVFIgciwgVEcgZywgVEIgYiwgVEEg
YSkKICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHTHVieXRlPihhKSk7CiB9CiAKK0dM
Q29sb3IgUmFuZG9tQ29sb3IoYW5nbGU6OlJORyAqcm5nKTsKKwogYm9vbCBvcGVyYXRvcj09KGNv
bnN0IEdMQ29sb3IgJmEsIGNvbnN0IEdMQ29sb3IgJmIpOwogYm9vbCBvcGVyYXRvciE9KGNvbnN0
IEdMQ29sb3IgJmEsIGNvbnN0IEdMQ29sb3IgJmIpOwogc3RkOjpvc3RyZWFtICZvcGVyYXRvcjw8
KHN0ZDo6b3N0cmVhbSAmb3N0cmVhbSwgY29uc3QgR0xDb2xvciAmY29sb3IpOwpAQCAtMTgzLDcg
KzE4Niw3IEBAIGNvbnN0ZXhwciBzdGQ6OmFycmF5PEdMZW51bSwgNj4ga0N1YmVGYWNlcyA9IHsK
ICAgICAgR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCBHTF9URVhUVVJFX0NVQkVfTUFQ
X1BPU0lUSVZFX1osCiAgICAgIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWn19OwogCi12
b2lkIExvYWRFbnRyeVBvaW50c1dpdGhVdGlsTG9hZGVyKCk7Cit2b2lkIExvYWRFbnRyeVBvaW50
c1dpdGhVdGlsTG9hZGVyKGFuZ2xlOjpHTEVTRHJpdmVyVHlwZSBkcml2ZXIpOwogCiB9ICAvLyBu
YW1lc3BhY2UgYW5nbGUKIApAQCAtMzIyLDcgKzMyNSw3IEBAIGNsYXNzIEFOR0xFVGVzdEJhc2UK
ICAgICB2aXJ0dWFsIH5BTkdMRVRlc3RCYXNlKCk7CiAKICAgcHVibGljOgotICAgIHZvaWQgc2V0
V2luZG93VmlzaWJsZShib29sIGlzVmlzaWJsZSk7CisgICAgdm9pZCBzZXRXaW5kb3dWaXNpYmxl
KE9TV2luZG93ICpvc1dpbmRvdywgYm9vbCBpc1Zpc2libGUpOwogCiAgICAgdmlydHVhbCB2b2lk
IG92ZXJyaWRlV29ya2Fyb3VuZHNEM0QoYW5nbGU6OkZlYXR1cmVzRDNEICpmZWF0dXJlc0QzRCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgb3ZlcnJpZGVGZWF0dXJlc1ZrKGFuZ2xlOjpGZWF0dXJlc1Zr
ICpmZWF0dXJlc1Z1bGthbikge30KQEAgLTMzMSw4ICszMzQsMTMgQEAgY2xhc3MgQU5HTEVUZXN0
QmFzZQogCiAgICAgYm9vbCBpc1N3aWZ0c2hhZGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJl
dHVybiBtQ3VycmVudFBhcmFtcy0+ZWdsUGFyYW1ldGVycy5kZXZpY2VUeXBlID09Ci0gICAgICAg
ICAgICAgICBFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX1RZUEVfU1dJRlRTSEFERVJfQU5HTEU7
CisgICAgICAgIC8vIFJlbmRlcmVyIG1pZ2h0IGJlIHN3aWZ0c2hhZGVyIGV2ZW4gaWYgbG9jYWwg
c3dpZnRzaGFkZXIgbm90IHVzZWQuCisgICAgICAgIHJldHVybiBtQ3VycmVudFBhcmFtcy0+aXNT
d2lmdHNoYWRlcigpIHx8IGFuZ2xlOjpJc1N3aWZ0c2hhZGVyRGV2aWNlKCk7CisgICAgfQorCisg
ICAgYm9vbCBlbmFibGVEZWJ1Z0xheWVycygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
bUN1cnJlbnRQYXJhbXMtPmVnbFBhcmFtZXRlcnMuZGVidWdMYXllcnNFbmFibGVkICE9IEVHTF9G
QUxTRTsKICAgICB9CiAKICAgcHJvdGVjdGVkOgpAQCAtNTI2LDkgKzUzNCwxNCBAQCBjbGFzcyBB
TkdMRVRlc3RCYXNlCiAgICAgYm9vbCBtU2V0VXBDYWxsZWQ7CiAgICAgYm9vbCBtVGVhckRvd25D
YWxsZWQ7CiAKLSAgICAvLyBPbiBtb3N0IHN5c3RlbXMgd2UgZm9yY2UgYSBuZXcgZGlzcGxheSBv
biBldmVyeSB0ZXN0IGluc3RhbmNlLiBGb3IgdGhlc2UgY29uZmlncyB3ZSBjYW4KLSAgICAvLyBz
aGFyZSBhIHNpbmdsZSBPU1dpbmRvdyBpbnN0YW5jZS4gV2l0aCBkaXNwbGF5IHJldXNlIHdlIG5l
ZWQgYSBzZXBhcmF0ZSBPU1dpbmRvdyBmb3IgZWFjaAotICAgIC8vIGRpZmZlcmVudCBjb25maWcu
IFRoaXMgT1NXaW5kb3cgc2hhcmluZyBzZWVtZWQgdG8gbGVhZCB0byBkcml2ZXIgYnVncyBvbiBz
b21lIHBsYXRmb3Jtcy4KKyAgICAvLyBVc3VhbGx5LCB3ZSB1c2UgYW4gT1MgV2luZG93IHBlciAi
Zml4dHVyZSIgKGEgZnJvbnRlbmQgYW5kIGJhY2tlbmQgY29tYmluYXRpb24pLgorICAgIC8vIFRo
aXMgYWxsb3dzOgorICAgIC8vIDEuIFJldXNpbmcgRUdMIERpc3BsYXkgb24gV2luZG93cy4KKyAg
ICAvLyAgICBPdGhlciBwbGF0Zm9ybXMgaGF2ZSBpc3N1ZXMgd2l0aCBkaXNwbGF5IHJldXNlIGV2
ZW4gaWYgYSB3aW5kb3cgcGVyIGZpeHR1cmUgaXMgdXNlZC4KKyAgICAvLyAyLiBIaWRpbmcgb25s
eSBTd2lmdFNoYWRlciBPUyBXaW5kb3cgb24gTGludXguCisgICAgLy8gICAgT1MgV2luZG93cyBm
b3Igb3RoZXIgYmFja2VuZHMgbXVzdCBiZSB2aXNpYmxlLCB0byBhbGxvdyBkcml2ZXIgdG8gY29t
bXVuaWNhdGUgd2l0aCBYMTEuCisgICAgLy8gSG93ZXZlciwgd2UgbXVzdCB1c2UgYSBzaW5nbGUg
T1MgV2luZG93IGZvciBhbGwgYmFja2VuZHMgb24gQW5kcm9pZCwKKyAgICAvLyBzaW5jZSB0ZXN0
IEFwcGxpY2F0aW9uIGNhbiBoYXZlIG9ubHkgb25lIHdpbmRvdy4KICAgICBzdGF0aWMgT1NXaW5k
b3cgKm1PU1dpbmRvd1NpbmdsZXRvbjsKIAogICAgIHN0YXRpYyBzdGQ6Om1hcDxhbmdsZTo6UGxh
dGZvcm1QYXJhbWV0ZXJzLCBUZXN0Rml4dHVyZT4gZ0ZpeHR1cmVzOwpAQCAtNTM3LDYgKzU1MCw3
IEBAIGNsYXNzIEFOR0xFVGVzdEJhc2UKIAogICAgIC8vIFdvcmthcm91bmQgZm9yIE5WSURJQSBu
b3QgYmVpbmcgYWJsZSB0byBzaGFyZSBhIHdpbmRvdyB3aXRoIE9wZW5HTCBhbmQgVnVsa2FuLgog
ICAgIHN0YXRpYyBPcHRpb25hbDxFR0xpbnQ+IG1MYXN0UmVuZGVyZXJUeXBlOworICAgIHN0YXRp
YyBPcHRpb25hbDxhbmdsZTo6R0xFU0RyaXZlclR5cGU+IG1MYXN0TG9hZGVkRHJpdmVyOwogfTsK
IAogdGVtcGxhdGUgPHR5cGVuYW1lIFBhcmFtcyA9IGFuZ2xlOjpQbGF0Zm9ybVBhcmFtZXRlcnM+
CkBAIC01ODgsMTMgKzYwMiwxNyBAQCBjbGFzcyBBTkdMRVRlc3RFbnZpcm9ubWVudCA6IHB1Ymxp
YyB0ZXN0aW5nOjpFbnZpcm9ubWVudAogICAgIHZvaWQgU2V0VXAoKSBvdmVycmlkZTsKICAgICB2
b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGU7CiAKLSAgICBzdGF0aWMgYW5nbGU6OkxpYnJhcnkgKkdl
dEVHTExpYnJhcnkoKTsKLSAgICBzdGF0aWMgYW5nbGU6OkxpYnJhcnkgKkdldFdHTExpYnJhcnko
KTsKKyAgICBzdGF0aWMgYW5nbGU6OkxpYnJhcnkgKkdldERyaXZlckxpYnJhcnkoYW5nbGU6OkdM
RVNEcml2ZXJUeXBlIGRyaXZlcik7CiAKICAgcHJpdmF0ZToKKyAgICBzdGF0aWMgYW5nbGU6Okxp
YnJhcnkgKkdldEFuZ2xlRUdMTGlicmFyeSgpOworICAgIHN0YXRpYyBhbmdsZTo6TGlicmFyeSAq
R2V0U3lzdGVtRUdMTGlicmFyeSgpOworICAgIHN0YXRpYyBhbmdsZTo6TGlicmFyeSAqR2V0U3lz
dGVtV0dMTGlicmFyeSgpOworCiAgICAgLy8gRm9yIGxvYWRpbmcgZW50cnkgcG9pbnRzLgotICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8YW5nbGU6OkxpYnJhcnk+IGdFR0xMaWJyYXJ5OwotICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8YW5nbGU6OkxpYnJhcnk+IGdXR0xMaWJyYXJ5OworICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8YW5nbGU6OkxpYnJhcnk+IGdBbmdsZUVHTExpYnJhcnk7
CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxhbmdsZTo6TGlicmFyeT4gZ1N5c3RlbUVHTExp
YnJhcnk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxhbmdsZTo6TGlicmFyeT4gZ1N5c3Rl
bVdHTExpYnJhcnk7CiB9OwogCiBleHRlcm4gYW5nbGU6OlBsYXRmb3JtTWV0aG9kcyBnRGVmYXVs
dFBsYXRmb3JtTWV0aG9kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy90ZXN0X3V0aWxzL1Z1bGthbkV4dGVybmFsSGVscGVyLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL1Z1bGthbkV4dGVybmFsSGVscGVyLmNw
cAppbmRleCAxZTc0MzZkOTc5OGY3MWVhNDUzOTVlYzNhMDRmNTM5NzZjMzBkZjM5Li44NTIwZjQz
ZDU4NTI0YmFhZjBmZDMxMmE1ZWVhMGU1Nzc0ZTBhNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9WdWxrYW5FeHRlcm5hbEhlbHBlci5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvVnVs
a2FuRXh0ZXJuYWxIZWxwZXIuY3BwCkBAIC0xMiw2ICsxMiw4IEBACiAKICNpbmNsdWRlICJjb21t
b24vYml0c2V0X3V0aWxzLmgiCiAjaW5jbHVkZSAiY29tbW9uL2RlYnVnLmgiCisjaW5jbHVkZSAi
Y29tbW9uL3N5c3RlbV91dGlscy5oIgorI2luY2x1ZGUgImNvbW1vbi92dWxrYW4vdnVsa2FuX2lj
ZC5oIgogCiBuYW1lc3BhY2UgYW5nbGUKIHsKQEAgLTExNSw2ICsxMTcsNDEgQEAgdWludDMyX3Qg
RmluZE1lbW9yeVR5cGUoY29uc3QgVmtQaHlzaWNhbERldmljZU1lbW9yeVByb3BlcnRpZXMgJm1l
bW9yeVByb3BlcnRpZXMKICAgICByZXR1cm4gVUlOVDMyX01BWDsKIH0KIAordm9pZCBJbWFnZU1l
bW9yeUJhcnJpZXIoVmtDb21tYW5kQnVmZmVyIGNvbW1hbmRCdWZmZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICBWa0ltYWdlIGltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc3JjUXVldWVGYW1pbHlJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGRzdFF1ZXVlRmFtaWx5SW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlTGF5
b3V0IG9sZExheW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VMYXlvdXQgbmV3
TGF5b3V0KQoreworICAgIGNvbnN0IFZrSW1hZ2VNZW1vcnlCYXJyaWVyIGltYWdlTWVtb3J5QmFy
cmllcnNbXSA9IHsKKyAgICAgICAgLyogWzBdID0gKi8gey8qIC5zVHlwZSA9ICovIFZLX1NUUlVD
VFVSRV9UWVBFX0lNQUdFX01FTU9SWV9CQVJSSUVSLAorICAgICAgICAgICAgICAgICAgICAgLyog
LnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgIC8qIC5zcmNBY2Nlc3NN
YXNrID0gKi8gVktfQUNDRVNTX01FTU9SWV9XUklURV9CSVQsCisgICAgICAgICAgICAgICAgICAg
ICAvKiAuZHN0QWNjZXNzTWFzayA9ICovIFZLX0FDQ0VTU19NRU1PUllfUkVBRF9CSVQgfCBWS19B
Q0NFU1NfTUVNT1JZX1dSSVRFX0JJVCwKKyAgICAgICAgICAgICAgICAgICAgIC8qIC5vbGRMYXlv
dXQgPSAqLyBvbGRMYXlvdXQsCisgICAgICAgICAgICAgICAgICAgICAvKiAubmV3TGF5b3V0ID0g
Ki8gbmV3TGF5b3V0LAorICAgICAgICAgICAgICAgICAgICAgLyogLnNyY1F1ZXVlRmFtaWx5SW5k
ZXggPSAqLyBzcmNRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAgICAgICAgICAgLyogLmRz
dFF1ZXVlRmFtaWx5SW5kZXggPSAqLyBkc3RRdWV1ZUZhbWlseUluZGV4LAorICAgICAgICAgICAg
ICAgICAgICAgLyogLmltYWdlID0gKi8gaW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAvKiAu
c3VicmVzb3VyY2VSYW5nZSA9ICovCisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogLmFzcGVjdE1hc2sgPSAqLyBWS19JTUFHRV9BU1BFQ1RfQ09MT1Jf
QklULAorICAgICAgICAgICAgICAgICAgICAgICAgIC8qIC5iYXNpY01pcGxldmVsID0gKi8gMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAvKiAubGV2ZWxDb3VudCA9ICovIDEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgLyogLmJhc2VBcnJheUxheWVyID0gKi8gMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiAubGF5ZXJDb3VudCA9ICovIDEsCisgICAgICAgICAgICAgICAgICAg
ICB9fX07CisgICAgY29uc3QgdWludDMyX3QgaW1hZ2VNZW1vcnlCYXJyaWVyQ291bnQgPSBzdGQ6
OmV4dGVudDxkZWNsdHlwZShpbWFnZU1lbW9yeUJhcnJpZXJzKT4oKTsKKworICAgIGNvbnN0ZXhw
ciBWa1BpcGVsaW5lU3RhZ2VGbGFncyBzcmNTdGFnZU1hc2sgPSBWS19QSVBFTElORV9TVEFHRV9B
TExfQ09NTUFORFNfQklUOworICAgIGNvbnN0ZXhwciBWa1BpcGVsaW5lU3RhZ2VGbGFncyBkc3RT
dGFnZU1hc2sgPSBWS19QSVBFTElORV9TVEFHRV9BTExfQ09NTUFORFNfQklUOworICAgIGNvbnN0
IFZrRGVwZW5kZW5jeUZsYWdzIGRlcGVuZGVuY3lGbGFncyAgICAgPSAwOworCisgICAgdmtDbWRQ
aXBlbGluZUJhcnJpZXIoY29tbWFuZEJ1ZmZlciwgc3JjU3RhZ2VNYXNrLCBkc3RTdGFnZU1hc2ss
IGRlcGVuZGVuY3lGbGFncywgMCwgbnVsbHB0ciwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBudWxscHRyLCBpbWFnZU1lbW9yeUJhcnJpZXJDb3VudCwgaW1hZ2VNZW1vcnlCYXJyaWVycyk7
Cit9CisKIH0gIC8vIG5hbWVzcGFjZQogCiBWdWxrYW5FeHRlcm5hbEhlbHBlcjo6VnVsa2FuRXh0
ZXJuYWxIZWxwZXIoKSB7fQpAQCAtMTI0LDYgKzE2MSwxNSBAQCBWdWxrYW5FeHRlcm5hbEhlbHBl
cjo6flZ1bGthbkV4dGVybmFsSGVscGVyKCkKICAgICBpZiAobURldmljZSAhPSBWS19OVUxMX0hB
TkRMRSkKICAgICB7CiAgICAgICAgIHZrRGV2aWNlV2FpdElkbGUobURldmljZSk7CisgICAgfQor
CisgICAgaWYgKG1Db21tYW5kUG9vbCAhPSBWS19OVUxMX0hBTkRMRSkKKyAgICB7CisgICAgICAg
IHZrRGVzdHJveUNvbW1hbmRQb29sKG1EZXZpY2UsIG1Db21tYW5kUG9vbCwgbnVsbHB0cik7Cisg
ICAgfQorCisgICAgaWYgKG1EZXZpY2UgIT0gVktfTlVMTF9IQU5ETEUpCisgICAgewogICAgICAg
ICB2a0Rlc3Ryb3lEZXZpY2UobURldmljZSwgbnVsbHB0cik7CiAKICAgICAgICAgbURldmljZSAg
ICAgICAgPSBWS19OVUxMX0hBTkRMRTsKQEAgLTEzOCwxMSArMTg0LDE4IEBAIFZ1bGthbkV4dGVy
bmFsSGVscGVyOjp+VnVsa2FuRXh0ZXJuYWxIZWxwZXIoKQogICAgIH0KIH0KIAotdm9pZCBWdWxr
YW5FeHRlcm5hbEhlbHBlcjo6aW5pdGlhbGl6ZSgpCit2b2lkIFZ1bGthbkV4dGVybmFsSGVscGVy
Ojppbml0aWFsaXplKGJvb2wgdXNlU3dpZnRzaGFkZXIsIGJvb2wgZW5hYmxlVmFsaWRhdGlvbkxh
eWVycykKIHsKKyAgICB2azo6SUNEIGljZCA9IHVzZVN3aWZ0c2hhZGVyID8gdms6OklDRDo6U3dp
ZnRTaGFkZXIgOiB2azo6SUNEOjpEZWZhdWx0OworCisgICAgdms6OlNjb3BlZFZrTG9hZGVyRW52
aXJvbm1lbnQgc2NvcGVkRW52aXJvbm1lbnQoZW5hYmxlVmFsaWRhdGlvbkxheWVycywgaWNkKTsK
KwogICAgIEFTU0VSVChtSW5zdGFuY2UgPT0gVktfTlVMTF9IQU5ETEUpOwotICAgIFZrUmVzdWx0
IHJlc3VsdCA9IHZvbGtJbml0aWFsaXplKCk7CisgICAgVmtSZXN1bHQgcmVzdWx0ID0gVktfU1VD
Q0VTUzsKKyNpZiBBTkdMRV9TSEFSRURfTElCVlVMS0FOCisgICAgcmVzdWx0ID0gdm9sa0luaXRp
YWxpemUoKTsKICAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworI2VuZGlmICAvLyBB
TkdMRV9TSEFSRURfTElCVlVMS0FOCiAgICAgc3RkOjp2ZWN0b3I8VmtFeHRlbnNpb25Qcm9wZXJ0
aWVzPiBpbnN0YW5jZUV4dGVuc2lvblByb3BlcnRpZXMgPQogICAgICAgICBFbnVtZXJhdGVJbnN0
YW5jZUV4dGVuc2lvblByb3BlcnRpZXMobnVsbHB0cik7CiAKQEAgLTE3NCwxMyArMjI3LDE5IEBA
IHZvaWQgVnVsa2FuRXh0ZXJuYWxIZWxwZXI6OmluaXRpYWxpemUoKQogICAgIHVpbnQzMl90IGVu
YWJsZWRJbnN0YW5jZUV4dGVuc2lvbkNvdW50ID0KICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KGVuYWJsZWRJbnN0YW5jZUV4dGVuc2lvbnMuc2l6ZSgpKTsKIAorICAgIHN0ZDo6dmVjdG9y
PGNvbnN0IGNoYXIgKj4gZW5hYmxlZExheWVyTmFtZXM7CisgICAgaWYgKGVuYWJsZVZhbGlkYXRp
b25MYXllcnMpCisgICAgeworICAgICAgICBlbmFibGVkTGF5ZXJOYW1lcy5wdXNoX2JhY2soIlZL
X0xBWUVSX0tIUk9OT1NfdmFsaWRhdGlvbiIpOworICAgIH0KKwogICAgIFZrSW5zdGFuY2VDcmVh
dGVJbmZvIGluc3RhbmNlQ3JlYXRlSW5mbyA9IHsKICAgICAgICAgLyogLnNUeXBlID0gKi8gVktf
U1RSVUNUVVJFX1RZUEVfSU5TVEFOQ0VfQ1JFQVRFX0lORk8sCiAgICAgICAgIC8qIC5wTmV4dCA9
ICovIG51bGxwdHIsCiAgICAgICAgIC8qIC5mbGFncyA9ICovIDAsCiAgICAgICAgIC8qIC5wQXBw
bGljYXRpb25JbmZvID0gKi8gJmFwcGxpY2F0aW9uSW5mbywKLSAgICAgICAgLyogLmVuYWJsZWRM
YXllckNvdW50ID0gKi8gMCwKLSAgICAgICAgLyogLnBwRW5hYmxlZExheWVyTmFtZXMgPSAqLyBu
dWxscHRyLAorICAgICAgICAvKiAuZW5hYmxlZExheWVyQ291bnQgPSAqLyBlbmFibGVkTGF5ZXJO
YW1lcy5zaXplKCksCisgICAgICAgIC8qIC5wcEVuYWJsZWRMYXllck5hbWVzID0gKi8gZW5hYmxl
ZExheWVyTmFtZXMuZGF0YSgpLAogICAgICAgICAvKiAuZW5hYmxlZEV4dGVuc2lvbkNvdW50ID0g
Ki8gZW5hYmxlZEluc3RhbmNlRXh0ZW5zaW9uQ291bnQsCiAgICAgICAgIC8qIC5wcEVuYWJsZWRF
eHRlbnNpb25OYW1lID0gKi8gZW5hYmxlZEluc3RhbmNlRXh0ZW5zaW9ucy5kYXRhKCksCiAgICAg
fTsKQEAgLTE4OCwxMiArMjQ3LDE2IEBAIHZvaWQgVnVsa2FuRXh0ZXJuYWxIZWxwZXI6OmluaXRp
YWxpemUoKQogICAgIHJlc3VsdCA9IHZrQ3JlYXRlSW5zdGFuY2UoJmluc3RhbmNlQ3JlYXRlSW5m
bywgbnVsbHB0ciwgJm1JbnN0YW5jZSk7CiAgICAgQVNTRVJUKHJlc3VsdCA9PSBWS19TVUNDRVNT
KTsKICAgICBBU1NFUlQobUluc3RhbmNlICE9IFZLX05VTExfSEFORExFKTsKKyNpZiBBTkdMRV9T
SEFSRURfTElCVlVMS0FOCiAgICAgdm9sa0xvYWRJbnN0YW5jZShtSW5zdGFuY2UpOworI2VuZGlm
ICAvLyBBTkdMRV9TSEFSRURfTElCVlVMS0FOCiAKICAgICBzdGQ6OnZlY3RvcjxWa1BoeXNpY2Fs
RGV2aWNlPiBwaHlzaWNhbERldmljZXMgPSBFbnVtZXJhdGVQaHlzaWNhbERldmljZXMobUluc3Rh
bmNlKTsKKwogICAgIEFTU0VSVChwaHlzaWNhbERldmljZXMuc2l6ZSgpID4gMCk7CiAKLSAgICBt
UGh5c2ljYWxEZXZpY2UgPSBwaHlzaWNhbERldmljZXNbMF07CisgICAgVmtQaHlzaWNhbERldmlj
ZVByb3BlcnRpZXMgcGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzOworICAgIENob29zZVBoeXNpY2Fs
RGV2aWNlKHBoeXNpY2FsRGV2aWNlcywgaWNkLCAmbVBoeXNpY2FsRGV2aWNlLCAmcGh5c2ljYWxE
ZXZpY2VQcm9wZXJ0aWVzKTsKIAogICAgIHZrR2V0UGh5c2ljYWxEZXZpY2VNZW1vcnlQcm9wZXJ0
aWVzKG1QaHlzaWNhbERldmljZSwgJm1NZW1vcnlQcm9wZXJ0aWVzKTsKIApAQCAtMjYxLDEzICsz
MjQsMjQgQEAgdm9pZCBWdWxrYW5FeHRlcm5hbEhlbHBlcjo6aW5pdGlhbGl6ZSgpCiAgICAgcmVz
dWx0ID0gdmtDcmVhdGVEZXZpY2UobVBoeXNpY2FsRGV2aWNlLCAmZGV2aWNlQ3JlYXRlSW5mbywg
bnVsbHB0ciwgJm1EZXZpY2UpOwogICAgIEFTU0VSVChyZXN1bHQgPT0gVktfU1VDQ0VTUyk7CiAg
ICAgQVNTRVJUKG1EZXZpY2UgIT0gVktfTlVMTF9IQU5ETEUpOworI2lmIEFOR0xFX1NIQVJFRF9M
SUJWVUxLQU4KICAgICB2b2xrTG9hZERldmljZShtRGV2aWNlKTsKKyNlbmRpZiAgLy8gQU5HTEVf
U0hBUkVEX0xJQlZVTEtBTgogCiAgICAgY29uc3RleHByIHVpbnQzMl90IGtHcmFwaGljc1F1ZXVl
SW5kZXggPSAwOwogICAgIHN0YXRpY19hc3NlcnQoa0dyYXBoaWNzUXVldWVJbmRleCA8IGtHcmFw
aGljc1F1ZXVlQ291bnQsICJtdXN0IGJlIGluIHJhbmdlIik7CiAgICAgdmtHZXREZXZpY2VRdWV1
ZShtRGV2aWNlLCBtR3JhcGhpY3NRdWV1ZUZhbWlseUluZGV4LCBrR3JhcGhpY3NRdWV1ZUluZGV4
LCAmbUdyYXBoaWNzUXVldWUpOwogICAgIEFTU0VSVChtR3JhcGhpY3NRdWV1ZSAhPSBWS19OVUxM
X0hBTkRMRSk7CiAKKyAgICBWa0NvbW1hbmRQb29sQ3JlYXRlSW5mbyBjb21tYW5kUG9vbENyZWF0
ZUluZm8gPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICovIFZLX1NUUlVDVFVSRV9UWVBFX0NPTU1B
TkRfUE9PTF9DUkVBVEVfSU5GTywKKyAgICAgICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAg
ICAgICAgLyogLmZsYWdzID0gKi8gMCwKKyAgICAgICAgLyogLnF1ZXVlRmFtaWx5SW5kZXggPSAq
LyBtR3JhcGhpY3NRdWV1ZUZhbWlseUluZGV4LAorICAgIH07CisgICAgcmVzdWx0ID0gdmtDcmVh
dGVDb21tYW5kUG9vbChtRGV2aWNlLCAmY29tbWFuZFBvb2xDcmVhdGVJbmZvLCBudWxscHRyLCAm
bUNvbW1hbmRQb29sKTsKKyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCiAgICAg
bUhhc0V4dGVybmFsTWVtb3J5RmQgPQogICAgICAgICBIYXNFeHRlbnNpb24oZW5hYmxlZERldmlj
ZUV4dGVuc2lvbnMsIFZLX0tIUl9FWFRFUk5BTF9NRU1PUllfRkRfRVhURU5TSU9OX05BTUUpOwog
ICAgIG1IYXNFeHRlcm5hbFNlbWFwaG9yZUZkID0KQEAgLTI4MiwxMyArMzU2LDE5IEBAIHZvaWQg
VnVsa2FuRXh0ZXJuYWxIZWxwZXI6OmluaXRpYWxpemUoKQogICAgICAgICAgICAgdmtHZXRJbnN0
YW5jZVByb2NBZGRyKG1JbnN0YW5jZSwgInZrR2V0UGh5c2ljYWxEZXZpY2VJbWFnZUZvcm1hdFBy
b3BlcnRpZXMyIikpOwogICAgIHZrR2V0TWVtb3J5RmRLSFIgPSByZWludGVycHJldF9jYXN0PFBG
Tl92a0dldE1lbW9yeUZkS0hSPigKICAgICAgICAgdmtHZXRJbnN0YW5jZVByb2NBZGRyKG1JbnN0
YW5jZSwgInZrR2V0TWVtb3J5RmRLSFIiKSk7CisgICAgQVNTRVJUKCFtSGFzRXh0ZXJuYWxNZW1v
cnlGZCB8fCB2a0dldE1lbW9yeUZkS0hSKTsKICAgICB2a0dldFNlbWFwaG9yZUZkS0hSID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5fdmtHZXRTZW1hcGhvcmVGZEtIUj4oCiAgICAgICAgIHZrR2V0SW5z
dGFuY2VQcm9jQWRkcihtSW5zdGFuY2UsICJ2a0dldFNlbWFwaG9yZUZkS0hSIikpOworICAgIEFT
U0VSVCghbUhhc0V4dGVybmFsU2VtYXBob3JlRmQgfHwgdmtHZXRTZW1hcGhvcmVGZEtIUik7CiAg
ICAgdmtHZXRQaHlzaWNhbERldmljZUV4dGVybmFsU2VtYXBob3JlUHJvcGVydGllc0tIUiA9CiAg
ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOX3ZrR2V0UGh5c2ljYWxEZXZpY2VFeHRlcm5hbFNl
bWFwaG9yZVByb3BlcnRpZXNLSFI+KAogICAgICAgICAgICAgdmtHZXRJbnN0YW5jZVByb2NBZGRy
KG1JbnN0YW5jZSwgInZrR2V0UGh5c2ljYWxEZXZpY2VFeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRp
ZXNLSFIiKSk7CiAgICAgdmtHZXRNZW1vcnlaaXJjb25IYW5kbGVGVUNIU0lBID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5fdmtHZXRNZW1vcnlaaXJjb25IYW5kbGVGVUNIU0lBPigKICAgICAgICAgdmtH
ZXRJbnN0YW5jZVByb2NBZGRyKG1JbnN0YW5jZSwgInZrR2V0TWVtb3J5WmlyY29uSGFuZGxlRlVD
SFNJQSIpKTsKKyAgICBBU1NFUlQoIW1IYXNFeHRlcm5hbE1lbW9yeUZ1Y2hzaWEgfHwgdmtHZXRN
ZW1vcnlaaXJjb25IYW5kbGVGVUNIU0lBKTsKKyAgICB2a0dldFNlbWFwaG9yZVppcmNvbkhhbmRs
ZUZVQ0hTSUEgPSByZWludGVycHJldF9jYXN0PFBGTl92a0dldFNlbWFwaG9yZVppcmNvbkhhbmRs
ZUZVQ0hTSUE+KAorICAgICAgICB2a0dldEluc3RhbmNlUHJvY0FkZHIobUluc3RhbmNlLCAidmtH
ZXRTZW1hcGhvcmVaaXJjb25IYW5kbGVGVUNIU0lBIikpOworICAgIEFTU0VSVCghbUhhc0V4dGVy
bmFsU2VtYXBob3JlRnVjaHNpYSB8fCB2a0dldFNlbWFwaG9yZVppcmNvbkhhbmRsZUZVQ0hTSUEp
OwogfQogCiBib29sIFZ1bGthbkV4dGVybmFsSGVscGVyOjpjYW5DcmVhdGVJbWFnZUV4dGVybmFs
KApAQCAtMzMxLDE1ICs0MTEsOCBAQCBib29sIFZ1bGthbkV4dGVybmFsSGVscGVyOjpjYW5DcmVh
dGVJbWFnZUV4dGVybmFsKAogCiAgICAgQVNTRVJUKHJlc3VsdCA9PSBWS19TVUNDRVNTKTsKIAot
ICAgIGNvbnN0ZXhwciBWa0V4dGVybmFsTWVtb3J5RmVhdHVyZUZsYWdzIGtVbnN1cHBvcnRlZEZl
YXR1cmVzID0KLSAgICAgICAgVktfRVhURVJOQUxfTUVNT1JZX0ZFQVRVUkVfREVESUNBVEVEX09O
TFlfQklUOwogICAgIGNvbnN0ZXhwciBWa0V4dGVybmFsTWVtb3J5RmVhdHVyZUZsYWdzIGtSZXF1
aXJlZEZlYXR1cmVzID0KICAgICAgICAgVktfRVhURVJOQUxfTUVNT1JZX0ZFQVRVUkVfRVhQT1JU
QUJMRV9CSVQgfCBWS19FWFRFUk5BTF9NRU1PUllfRkVBVFVSRV9JTVBPUlRBQkxFX0JJVDsKLSAg
ICBpZiAoZXh0ZXJuYWxJbWFnZUZvcm1hdFByb3BlcnRpZXMuZXh0ZXJuYWxNZW1vcnlQcm9wZXJ0
aWVzLmV4dGVybmFsTWVtb3J5RmVhdHVyZXMgJgotICAgICAgICBrVW5zdXBwb3J0ZWRGZWF0dXJl
cykKLSAgICB7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CiAgICAgaWYgKChleHRlcm5h
bEltYWdlRm9ybWF0UHJvcGVydGllcy5leHRlcm5hbE1lbW9yeVByb3BlcnRpZXMuZXh0ZXJuYWxN
ZW1vcnlGZWF0dXJlcyAmCiAgICAgICAgICBrUmVxdWlyZWRGZWF0dXJlcykgIT0ga1JlcXVpcmVk
RmVhdHVyZXMpCiAgICAgewpAQCAtNDAwLDkgKzQ3MywxNCBAQCBWa1Jlc3VsdCBWdWxrYW5FeHRl
cm5hbEhlbHBlcjo6Y3JlYXRlSW1hZ2UyREV4dGVybmFsKFZrRm9ybWF0IGZvcm1hdCwKICAgICAg
ICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKICAgICAgICAgLyogLmhhbmRsZVR5cGVzID0gKi8g
aGFuZGxlVHlwZXMsCiAgICAgfTsKKyAgICBWa01lbW9yeURlZGljYXRlZEFsbG9jYXRlSW5mb0tI
UiBtZW1vcnlEZWRpY2F0ZWRBbGxvY2F0ZUluZm8gPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICov
IFZLX1NUUlVDVFVSRV9UWVBFX01FTU9SWV9ERURJQ0FURURfQUxMT0NBVEVfSU5GT19LSFIsCisg
ICAgICAgIC8qIC5wTmV4dCA9ICovICZleHBvcnRNZW1vcnlBbGxvY2F0ZUluZm8sCisgICAgICAg
IC8qIC5pbWFnZSA9ICovIGltYWdlLAorICAgIH07CiAgICAgVmtNZW1vcnlBbGxvY2F0ZUluZm8g
bWVtb3J5QWxsb2NhdGVJbmZvID0gewogICAgICAgICAvKiAuc1R5cGUgPSAqLyBWS19TVFJVQ1RV
UkVfVFlQRV9NRU1PUllfQUxMT0NBVEVfSU5GTywKLSAgICAgICAgLyogLnBOZXh0ID0gKi8gJmV4
cG9ydE1lbW9yeUFsbG9jYXRlSW5mbywKKyAgICAgICAgLyogLnBOZXh0ID0gKi8gJm1lbW9yeURl
ZGljYXRlZEFsbG9jYXRlSW5mbywKICAgICAgICAgLyogLmFsbG9jYXRpb25TaXplID0gKi8gZGV2
aWNlTWVtb3J5U2l6ZSwKICAgICAgICAgLyogLm1lbW9yeVR5cGVJbmRleCA9ICovIG1lbW9yeVR5
cGVJbmRleCwKICAgICB9OwpAQCAtNTE1LDcgKzU5Myw5IEBAIGJvb2wgVnVsa2FuRXh0ZXJuYWxI
ZWxwZXI6OmNhbkNyZWF0ZVNlbWFwaG9yZU9wYXF1ZUZkKCkgY29uc3QKICAgICAgICAgLyogLmhh
bmRsZVR5cGUgPSAqLyBWS19FWFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfT1BBUVVFX0ZE
X0JJVCwKICAgICB9OwogCi0gICAgVmtFeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRpZXMgZXh0ZXJu
YWxTZW1hcGhvcmVQcm9wZXJ0aWVzID0ge307CisgICAgVmtFeHRlcm5hbFNlbWFwaG9yZVByb3Bl
cnRpZXMgZXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzID0geworICAgICAgICAvKiAuc1R5cGUg
PSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9FWFRFUk5BTF9TRU1BUEhPUkVfUFJPUEVSVElFUywKKyAg
ICB9OwogICAgIHZrR2V0UGh5c2ljYWxEZXZpY2VFeHRlcm5hbFNlbWFwaG9yZVByb3BlcnRpZXNL
SFIobVBoeXNpY2FsRGV2aWNlLCAmZXh0ZXJuYWxTZW1hcGhvcmVJbmZvLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4dGVybmFsU2VtYXBo
b3JlUHJvcGVydGllcyk7CiAKQEAgLTU2MCw0ICs2NDAsMzUyIEBAIFZrUmVzdWx0IFZ1bGthbkV4
dGVybmFsSGVscGVyOjpleHBvcnRTZW1hcGhvcmVPcGFxdWVGZChWa1NlbWFwaG9yZSBzZW1hcGhv
cmUsIGluCiAgICAgcmV0dXJuIHZrR2V0U2VtYXBob3JlRmRLSFIobURldmljZSwgJnNlbWFwaG9y
ZUdldEZkSW5mbywgZmQpOwogfQogCitib29sIFZ1bGthbkV4dGVybmFsSGVscGVyOjpjYW5DcmVh
dGVTZW1hcGhvcmVaaXJjb25FdmVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFtSGFzRXh0ZXJuYWxT
ZW1hcGhvcmVGdWNoc2lhIHx8ICF2a0dldFBoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1hcGhvcmVQ
cm9wZXJ0aWVzS0hSKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IFZrUGh5c2ljYWxEZXZpY2VFeHRlcm5hbFNlbWFwaG9yZUluZm8gZXh0ZXJuYWxTZW1hcGhvcmVJ
bmZvID0geworICAgICAgICAvKiAuc1R5cGUgPSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9QSFlTSUNB
TF9ERVZJQ0VfRVhURVJOQUxfU0VNQVBIT1JFX0lORk8sCisgICAgICAgIC8qIC5wTmV4dCA9ICov
IG51bGxwdHIsCisgICAgICAgIC8qIC5oYW5kbGVUeXBlID0gKi8gVktfRVhURVJOQUxfU0VNQVBI
T1JFX0hBTkRMRV9UWVBFX1RFTVBfWklSQ09OX0VWRU5UX0JJVF9GVUNIU0lBLAorICAgIH07CisK
KyAgICBWa0V4dGVybmFsU2VtYXBob3JlUHJvcGVydGllcyBleHRlcm5hbFNlbWFwaG9yZVByb3Bl
cnRpZXMgPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICovIFZLX1NUUlVDVFVSRV9UWVBFX0VYVEVS
TkFMX1NFTUFQSE9SRV9QUk9QRVJUSUVTLAorICAgIH07CisgICAgdmtHZXRQaHlzaWNhbERldmlj
ZUV4dGVybmFsU2VtYXBob3JlUHJvcGVydGllc0tIUihtUGh5c2ljYWxEZXZpY2UsICZleHRlcm5h
bFNlbWFwaG9yZUluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzKTsKKworICAgIGNvbnN0
ZXhwciBWa0V4dGVybmFsU2VtYXBob3JlRmVhdHVyZUZsYWdzIGtSZXF1aXJlZEZlYXR1cmVzID0K
KyAgICAgICAgVktfRVhURVJOQUxfU0VNQVBIT1JFX0ZFQVRVUkVfRVhQT1JUQUJMRV9CSVQgfCBW
S19FWFRFUk5BTF9TRU1BUEhPUkVfRkVBVFVSRV9JTVBPUlRBQkxFX0JJVDsKKworICAgIGlmICgo
ZXh0ZXJuYWxTZW1hcGhvcmVQcm9wZXJ0aWVzLmV4dGVybmFsU2VtYXBob3JlRmVhdHVyZXMgJiBr
UmVxdWlyZWRGZWF0dXJlcykgIT0KKyAgICAgICAga1JlcXVpcmVkRmVhdHVyZXMpCisgICAgewor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK1Zr
UmVzdWx0IFZ1bGthbkV4dGVybmFsSGVscGVyOjpjcmVhdGVTZW1hcGhvcmVaaXJjb25FdmVudChW
a1NlbWFwaG9yZSAqc2VtYXBob3JlKQoreworICAgIFZrRXhwb3J0U2VtYXBob3JlQ3JlYXRlSW5m
byBleHBvcnRTZW1hcGhvcmVDcmVhdGVJbmZvID0geworICAgICAgICAvKiAuc1R5cGUgPSAqLyBW
S19TVFJVQ1RVUkVfVFlQRV9FWFBPUlRfU0VNQVBIT1JFX0NSRUFURV9JTkZPLAorICAgICAgICAv
KiAucE5leHQgPSAqLyBudWxscHRyLAorICAgICAgICAvKiAuaGFuZGxlVHlwZXMgPSAqLyBWS19F
WFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfVEVNUF9aSVJDT05fRVZFTlRfQklUX0ZVQ0hT
SUEsCisgICAgfTsKKworICAgIFZrU2VtYXBob3JlQ3JlYXRlSW5mbyBzZW1hcGhvcmVDcmVhdGVJ
bmZvID0geworICAgICAgICAvKiAuc1R5cGUgPSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9TRU1BUEhP
UkVfQ1JFQVRFX0lORk8sCisgICAgICAgIC8qIC5wTmV4dCA9ICovICZleHBvcnRTZW1hcGhvcmVD
cmVhdGVJbmZvLAorICAgICAgICAvKiAuZmxhZ3MgPSAqLyAwLAorICAgIH07CisKKyAgICByZXR1
cm4gdmtDcmVhdGVTZW1hcGhvcmUobURldmljZSwgJnNlbWFwaG9yZUNyZWF0ZUluZm8sIG51bGxw
dHIsIHNlbWFwaG9yZSk7Cit9CisKK1ZrUmVzdWx0IFZ1bGthbkV4dGVybmFsSGVscGVyOjpleHBv
cnRTZW1hcGhvcmVaaXJjb25FdmVudChWa1NlbWFwaG9yZSBzZW1hcGhvcmUsIHp4X2hhbmRsZV90
ICpldmVudCkKK3sKKyAgICBWa1NlbWFwaG9yZUdldFppcmNvbkhhbmRsZUluZm9GVUNIU0lBIHNl
bWFwaG9yZUdldFppcmNvbkhhbmRsZUluZm8gPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICovIFZL
X1NUUlVDVFVSRV9UWVBFX1RFTVBfU0VNQVBIT1JFX0dFVF9aSVJDT05fSEFORExFX0lORk9fRlVD
SFNJQSwKKyAgICAgICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgLyogLnNlbWFw
aG9yZSA9ICovIHNlbWFwaG9yZSwKKyAgICAgICAgLyogLmhhbmRsZVR5cGUgPSAqLyBWS19FWFRF
Uk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfVEVNUF9aSVJDT05fRVZFTlRfQklUX0ZVQ0hTSUEs
CisgICAgfTsKKworICAgIHJldHVybiB2a0dldFNlbWFwaG9yZVppcmNvbkhhbmRsZUZVQ0hTSUEo
bURldmljZSwgJnNlbWFwaG9yZUdldFppcmNvbkhhbmRsZUluZm8sIGV2ZW50KTsKK30KKwordm9p
ZCBWdWxrYW5FeHRlcm5hbEhlbHBlcjo6cmVsZWFzZUltYWdlQW5kU2lnbmFsU2VtYXBob3JlKFZr
SW1hZ2UgaW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtJbWFnZUxheW91dCBvbGRMYXlvdXQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtJbWFnZUxheW91dCBu
ZXdMYXlvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVmtTZW1hcGhvcmUgc2VtYXBob3JlKQoreworICAgIFZrUmVzdWx0IHJlc3Vs
dDsKKworICAgIFZrQ29tbWFuZEJ1ZmZlciBjb21tYW5kQnVmZmVyc1tdICAgICAgICAgICAgICAg
ICAgICAgID0ge1ZLX05VTExfSEFORExFfTsKKyAgICBjb25zdGV4cHIgdWludDMyX3QgY29tbWFu
ZEJ1ZmZlckNvdW50ICAgICAgICAgICAgICAgICA9IHN0ZDo6ZXh0ZW50PGRlY2x0eXBlKGNvbW1h
bmRCdWZmZXJzKT4oKTsKKyAgICBWa0NvbW1hbmRCdWZmZXJBbGxvY2F0ZUluZm8gY29tbWFuZEJ1
ZmZlckFsbG9jYXRlSW5mbyA9IHsKKyAgICAgICAgLyogLnNUeXBlID0gKi8gVktfU1RSVUNUVVJF
X1RZUEVfQ09NTUFORF9CVUZGRVJfQUxMT0NBVEVfSU5GTywKKyAgICAgICAgLyogLnBOZXh0ID0g
Ki8gbnVsbHB0ciwKKyAgICAgICAgLyogLmNvbW1hbmRQb29sID0gKi8gbUNvbW1hbmRQb29sLAor
ICAgICAgICAvKiAubGV2ZWwgPSAqLyBWS19DT01NQU5EX0JVRkZFUl9MRVZFTF9QUklNQVJZLAor
ICAgICAgICAvKiAuY29tbWFuZEJ1ZmZlckNvdW50ID0gKi8gY29tbWFuZEJ1ZmZlckNvdW50LAor
ICAgIH07CisKKyAgICByZXN1bHQgPSB2a0FsbG9jYXRlQ29tbWFuZEJ1ZmZlcnMobURldmljZSwg
JmNvbW1hbmRCdWZmZXJBbGxvY2F0ZUluZm8sIGNvbW1hbmRCdWZmZXJzKTsKKyAgICBBU1NFUlQo
cmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisgICAgVmtDb21tYW5kQnVmZmVyQmVnaW5JbmZvIGNv
bW1hbmRCdWZmZXJCZWdpbkluZm8gPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICovIFZLX1NUUlVD
VFVSRV9UWVBFX0NPTU1BTkRfQlVGRkVSX0JFR0lOX0lORk8sCisgICAgICAgIC8qIC5wTmV4dCA9
ICovIG51bGxwdHIsCisgICAgICAgIC8qIC5mbGFncyA9ICovIFZLX0NPTU1BTkRfQlVGRkVSX1VT
QUdFX09ORV9USU1FX1NVQk1JVF9CSVQsCisgICAgICAgIC8qIC5wSW5oZXJpdGFuY2VJbmZvID0g
Ki8gbnVsbHB0ciwKKyAgICB9OworICAgIHJlc3VsdCA9IHZrQmVnaW5Db21tYW5kQnVmZmVyKGNv
bW1hbmRCdWZmZXJzWzBdLCAmY29tbWFuZEJ1ZmZlckJlZ2luSW5mbyk7CisgICAgQVNTRVJUKHJl
c3VsdCA9PSBWS19TVUNDRVNTKTsKKworICAgIEltYWdlTWVtb3J5QmFycmllcihjb21tYW5kQnVm
ZmVyc1swXSwgaW1hZ2UsIG1HcmFwaGljc1F1ZXVlRmFtaWx5SW5kZXgsCisgICAgICAgICAgICAg
ICAgICAgICAgIFZLX1FVRVVFX0ZBTUlMWV9FWFRFUk5BTCwgb2xkTGF5b3V0LCBuZXdMYXlvdXQp
OworCisgICAgcmVzdWx0ID0gdmtFbmRDb21tYW5kQnVmZmVyKGNvbW1hbmRCdWZmZXJzWzBdKTsK
KyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisgICAgY29uc3QgVmtTZW1hcGhv
cmUgc2lnbmFsU2VtYXBob3Jlc1tdID0geworICAgICAgICBzZW1hcGhvcmUsCisgICAgfTsKKyAg
ICBjb25zdGV4cHIgdWludDMyX3Qgc2lnbmFsU2VtYXBob3JlQ291bnQgPSBzdGQ6OmV4dGVudDxk
ZWNsdHlwZShzaWduYWxTZW1hcGhvcmVzKT4oKTsKKworICAgIGNvbnN0IFZrU3VibWl0SW5mbyBz
dWJtaXRzW10gPSB7CisgICAgICAgIC8qIFswXSA9ICovIHsKKyAgICAgICAgICAgIC8qIC5zVHlw
ZSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9TVUJNSVRfSU5GTywKKyAgICAgICAgICAgIC8qIC5wTmV4
dCA9ICovIG51bGxwdHIsCisgICAgICAgICAgICAvKiAud2FpdFNlbWFwaG9yZUNvdW50ID0gKi8g
MCwKKyAgICAgICAgICAgIC8qIC5wV2FpdFNlbWFwaG9yZXMgPSAqLyBudWxscHRyLAorICAgICAg
ICAgICAgLyogLnBXYWl0RHN0U3RhZ2VNYXNrID0gKi8gbnVsbHB0ciwKKyAgICAgICAgICAgIC8q
IC5jb21tYW5kQnVmZmVyQ291bnQgPSAqLyBjb21tYW5kQnVmZmVyQ291bnQsCisgICAgICAgICAg
ICAvKiAucENvbW1hbmRCdWZmZXJzID0gKi8gY29tbWFuZEJ1ZmZlcnMsCisgICAgICAgICAgICAv
KiAuc2lnbmFsU2VtYXBob3JlQ291bnQgPSAqLyBzaWduYWxTZW1hcGhvcmVDb3VudCwKKyAgICAg
ICAgICAgIC8qIC5wU2lnbmFsU2VtYXBob3JlcyA9ICovIHNpZ25hbFNlbWFwaG9yZXMsCisgICAg
ICAgIH0sCisgICAgfTsKKyAgICBjb25zdGV4cHIgdWludDMyX3Qgc3VibWl0Q291bnQgPSBzdGQ6
OmV4dGVudDxkZWNsdHlwZShzdWJtaXRzKT4oKTsKKworICAgIGNvbnN0IFZrRmVuY2UgZmVuY2Ug
PSBWS19OVUxMX0hBTkRMRTsKKyAgICByZXN1bHQgICAgICAgICAgICAgID0gdmtRdWV1ZVN1Ym1p
dChtR3JhcGhpY3NRdWV1ZSwgc3VibWl0Q291bnQsIHN1Ym1pdHMsIGZlbmNlKTsKKyAgICBBU1NF
UlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworfQorCit2b2lkIFZ1bGthbkV4dGVybmFsSGVscGVy
Ojp3YWl0U2VtYXBob3JlQW5kQWNxdWlyZUltYWdlKFZrSW1hZ2UgaW1hZ2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VMYXlv
dXQgb2xkTGF5b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWa0ltYWdlTGF5b3V0IG5ld0xheW91dCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtTZW1hcGhvcmUgc2VtYXBo
b3JlKQoreworICAgIFZrUmVzdWx0IHJlc3VsdDsKKworICAgIFZrQ29tbWFuZEJ1ZmZlciBjb21t
YW5kQnVmZmVyc1tdICAgICAgICAgICAgICAgICAgICAgID0ge1ZLX05VTExfSEFORExFfTsKKyAg
ICBjb25zdGV4cHIgdWludDMyX3QgY29tbWFuZEJ1ZmZlckNvdW50ICAgICAgICAgICAgICAgICA9
IHN0ZDo6ZXh0ZW50PGRlY2x0eXBlKGNvbW1hbmRCdWZmZXJzKT4oKTsKKyAgICBWa0NvbW1hbmRC
dWZmZXJBbGxvY2F0ZUluZm8gY29tbWFuZEJ1ZmZlckFsbG9jYXRlSW5mbyA9IHsKKyAgICAgICAg
LyogLnNUeXBlID0gKi8gVktfU1RSVUNUVVJFX1RZUEVfQ09NTUFORF9CVUZGRVJfQUxMT0NBVEVf
SU5GTywKKyAgICAgICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgLyogLmNvbW1h
bmRQb29sID0gKi8gbUNvbW1hbmRQb29sLAorICAgICAgICAvKiAubGV2ZWwgPSAqLyBWS19DT01N
QU5EX0JVRkZFUl9MRVZFTF9QUklNQVJZLAorICAgICAgICAvKiAuY29tbWFuZEJ1ZmZlckNvdW50
ID0gKi8gY29tbWFuZEJ1ZmZlckNvdW50LAorICAgIH07CisKKyAgICByZXN1bHQgPSB2a0FsbG9j
YXRlQ29tbWFuZEJ1ZmZlcnMobURldmljZSwgJmNvbW1hbmRCdWZmZXJBbGxvY2F0ZUluZm8sIGNv
bW1hbmRCdWZmZXJzKTsKKyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisgICAg
VmtDb21tYW5kQnVmZmVyQmVnaW5JbmZvIGNvbW1hbmRCdWZmZXJCZWdpbkluZm8gPSB7CisgICAg
ICAgIC8qIC5zVHlwZSA9ICovIFZLX1NUUlVDVFVSRV9UWVBFX0NPTU1BTkRfQlVGRkVSX0JFR0lO
X0lORk8sCisgICAgICAgIC8qIC5wTmV4dCA9ICovIG51bGxwdHIsCisgICAgICAgIC8qIC5mbGFn
cyA9ICovIFZLX0NPTU1BTkRfQlVGRkVSX1VTQUdFX09ORV9USU1FX1NVQk1JVF9CSVQsCisgICAg
ICAgIC8qIC5wSW5oZXJpdGFuY2VJbmZvID0gKi8gbnVsbHB0ciwKKyAgICB9OworICAgIHJlc3Vs
dCA9IHZrQmVnaW5Db21tYW5kQnVmZmVyKGNvbW1hbmRCdWZmZXJzWzBdLCAmY29tbWFuZEJ1ZmZl
ckJlZ2luSW5mbyk7CisgICAgQVNTRVJUKHJlc3VsdCA9PSBWS19TVUNDRVNTKTsKKworICAgIElt
YWdlTWVtb3J5QmFycmllcihjb21tYW5kQnVmZmVyc1swXSwgaW1hZ2UsIFZLX1FVRVVFX0ZBTUlM
WV9FWFRFUk5BTCwKKyAgICAgICAgICAgICAgICAgICAgICAgbUdyYXBoaWNzUXVldWVGYW1pbHlJ
bmRleCwgb2xkTGF5b3V0LCBuZXdMYXlvdXQpOworCisgICAgcmVzdWx0ID0gdmtFbmRDb21tYW5k
QnVmZmVyKGNvbW1hbmRCdWZmZXJzWzBdKTsKKyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NF
U1MpOworCisgICAgY29uc3QgVmtTZW1hcGhvcmUgd2FpdFNlbWFwaG9yZXNbXSA9IHsKKyAgICAg
ICAgc2VtYXBob3JlLAorICAgIH07CisgICAgY29uc3QgVmtQaXBlbGluZVN0YWdlRmxhZ3Mgd2Fp
dERzdFN0YWdlTWFza3NbXSA9IHsKKyAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfQUxMX0NPTU1B
TkRTX0JJVCwKKyAgICB9OworICAgIGNvbnN0ZXhwciB1aW50MzJfdCB3YWl0U2VtYXBob3JlQ291
bnQgICAgPSBzdGQ6OmV4dGVudDxkZWNsdHlwZSh3YWl0U2VtYXBob3Jlcyk+KCk7CisgICAgY29u
c3RleHByIHVpbnQzMl90IHdhaXREc3RTdGFnZU1hc2tDb3VudCA9IHN0ZDo6ZXh0ZW50PGRlY2x0
eXBlKHdhaXREc3RTdGFnZU1hc2tzKT4oKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHdhaXRTZW1hcGhv
cmVDb3VudCA9PSB3YWl0RHN0U3RhZ2VNYXNrQ291bnQsCisgICAgICAgICAgICAgICAgICAid2Fp
dFNlbWFwaG9yZXMgYW5kIHdhaXREc3RTdGFnZU1hc2tzIG11c3QgYmUgdGhlIHNhbWUgbGVuZ3Ro
Iik7CisKKyAgICBjb25zdCBWa1N1Ym1pdEluZm8gc3VibWl0c1tdID0geworICAgICAgICAvKiBb
MF0gPSAqLyB7CisgICAgICAgICAgICAvKiAuc1R5cGUgKi8gVktfU1RSVUNUVVJFX1RZUEVfU1VC
TUlUX0lORk8sCisgICAgICAgICAgICAvKiAucE5leHQgPSAqLyBudWxscHRyLAorICAgICAgICAg
ICAgLyogLndhaXRTZW1hcGhvcmVDb3VudCA9ICovIHdhaXRTZW1hcGhvcmVDb3VudCwKKyAgICAg
ICAgICAgIC8qIC5wV2FpdFNlbWFwaG9yZXMgPSAqLyB3YWl0U2VtYXBob3JlcywKKyAgICAgICAg
ICAgIC8qIC5wV2FpdERzdFN0YWdlTWFzayA9ICovIHdhaXREc3RTdGFnZU1hc2tzLAorICAgICAg
ICAgICAgLyogLmNvbW1hbmRCdWZmZXJDb3VudCA9ICovIGNvbW1hbmRCdWZmZXJDb3VudCwKKyAg
ICAgICAgICAgIC8qIC5wQ29tbWFuZEJ1ZmZlcnMgPSAqLyBjb21tYW5kQnVmZmVycywKKyAgICAg
ICAgICAgIC8qIC5zaWduYWxTZW1hcGhvcmVDb3VudCA9ICovIDAsCisgICAgICAgICAgICAvKiAu
cFNpZ25hbFNlbWFwaG9yZXMgPSAqLyBudWxscHRyLAorICAgICAgICB9LAorICAgIH07CisgICAg
Y29uc3RleHByIHVpbnQzMl90IHN1Ym1pdENvdW50ID0gc3RkOjpleHRlbnQ8ZGVjbHR5cGUoc3Vi
bWl0cyk+KCk7CisKKyAgICBjb25zdCBWa0ZlbmNlIGZlbmNlID0gVktfTlVMTF9IQU5ETEU7Cisg
ICAgcmVzdWx0ICAgICAgICAgICAgICA9IHZrUXVldWVTdWJtaXQobUdyYXBoaWNzUXVldWUsIHN1
Ym1pdENvdW50LCBzdWJtaXRzLCBmZW5jZSk7CisgICAgQVNTRVJUKHJlc3VsdCA9PSBWS19TVUND
RVNTKTsKK30KKwordm9pZCBWdWxrYW5FeHRlcm5hbEhlbHBlcjo6cmVhZFBpeGVscyhWa0ltYWdl
IHNyY0ltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdl
TGF5b3V0IHNyY0ltYWdlTGF5b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWa0Zvcm1hdCBzcmNJbWFnZUZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVmtPZmZzZXQzRCBpbWFnZU9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmtFeHRlbnQzRCBpbWFnZUV4dGVudCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcGl4ZWxzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplX3QgcGl4ZWxzU2l6ZSkKK3sKKyAgICBBU1NFUlQoc3Jj
SW1hZ2VGb3JtYXQgPT0gVktfRk9STUFUX0I4RzhSOEE4X1VOT1JNIHx8CisgICAgICAgICAgIHNy
Y0ltYWdlRm9ybWF0ID09IFZLX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSk7CisgICAgQVNTRVJUKGlt
YWdlRXh0ZW50LmRlcHRoID09IDEpOworICAgIEFTU0VSVChwaXhlbHNTaXplID09IDQgKiBpbWFn
ZUV4dGVudC53aWR0aCAqIGltYWdlRXh0ZW50LmhlaWdodCk7CisKKyAgICBWa0J1ZmZlckNyZWF0
ZUluZm8gYnVmZmVyQ3JlYXRlSW5mbyA9IHsKKyAgICAgICAgLyogLnNUeXBlID0gKi8gVktfU1RS
VUNUVVJFX1RZUEVfQlVGRkVSX0NSRUFURV9JTkZPLAorICAgICAgICAvKiAucE5leHQgPSAqLyBu
dWxscHRyLAorICAgICAgICAvKiAuZmxhZ3MgPSAqLyAwLAorICAgICAgICAvKiAuc2l6ZSA9ICov
IHBpeGVsc1NpemUsCisgICAgICAgIC8qIC51c2FnZSA9ICovIFZLX0JVRkZFUl9VU0FHRV9UUkFO
U0ZFUl9EU1RfQklULAorICAgICAgICAvKiAuc2hhcmluZ01vZGUgPSAqLyBWS19TSEFSSU5HX01P
REVfRVhDTFVTSVZFLAorICAgICAgICAvKiAucXVldWVGYW1pbHlJbmRleENvdW50ID0gKi8gMCwK
KyAgICAgICAgLyogLnBRdWV1ZUZhbWlseUluZGljZXMgPSAqLyBudWxscHRyLAorICAgIH07Cisg
ICAgVmtCdWZmZXIgc3RhZ2luZ0J1ZmZlciA9IFZLX05VTExfSEFORExFOworICAgIFZrUmVzdWx0
IHJlc3VsdCAgICAgICAgPSB2a0NyZWF0ZUJ1ZmZlcihtRGV2aWNlLCAmYnVmZmVyQ3JlYXRlSW5m
bywgbnVsbHB0ciwgJnN0YWdpbmdCdWZmZXIpOworICAgIEFTU0VSVChyZXN1bHQgPT0gVktfU1VD
Q0VTUyk7CisKKyAgICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgcmVxdWVzdGVkTWVtb3J5UHJvcGVy
dHlGbGFncyA9IFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUOworICAgIFZrTWVt
b3J5UmVxdWlyZW1lbnRzIG1lbW9yeVJlcXVpcmVtZW50czsKKyAgICB2a0dldEJ1ZmZlck1lbW9y
eVJlcXVpcmVtZW50cyhtRGV2aWNlLCBzdGFnaW5nQnVmZmVyLCAmbWVtb3J5UmVxdWlyZW1lbnRz
KTsKKyAgICB1aW50MzJfdCBtZW1vcnlUeXBlSW5kZXggPSBGaW5kTWVtb3J5VHlwZShtTWVtb3J5
UHJvcGVydGllcywgbWVtb3J5UmVxdWlyZW1lbnRzLm1lbW9yeVR5cGVCaXRzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1lbW9yeVByb3Bl
cnR5RmxhZ3MpOworICAgIEFTU0VSVChtZW1vcnlUeXBlSW5kZXggIT0gVUlOVDMyX01BWCk7Cisg
ICAgVmtEZXZpY2VTaXplIGRldmljZU1lbW9yeVNpemUgPSBtZW1vcnlSZXF1aXJlbWVudHMuc2l6
ZTsKKworICAgIFZrTWVtb3J5RGVkaWNhdGVkQWxsb2NhdGVJbmZvS0hSIG1lbW9yeURlZGljYXRl
ZEFsbG9jYXRlSW5mbyA9IHsKKyAgICAgICAgLyogLnNUeXBlID0gKi8gVktfU1RSVUNUVVJFX1RZ
UEVfTUVNT1JZX0RFRElDQVRFRF9BTExPQ0FURV9JTkZPX0tIUiwKKyAgICAgICAgLyogLnBOZXh0
ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgLyogLmltYWdlID0gKi8gVktfTlVMTF9IQU5ETEUsCisg
ICAgICAgIC8qIC5idWZmZXIgPSAqLyBzdGFnaW5nQnVmZmVyLAorICAgIH07CisgICAgVmtNZW1v
cnlBbGxvY2F0ZUluZm8gbWVtb3J5QWxsb2NhdGVJbmZvID0geworICAgICAgICAvKiAuc1R5cGUg
PSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9NRU1PUllfQUxMT0NBVEVfSU5GTywKKyAgICAgICAgLyog
LnBOZXh0ID0gKi8gJm1lbW9yeURlZGljYXRlZEFsbG9jYXRlSW5mbywKKyAgICAgICAgLyogLmFs
bG9jYXRpb25TaXplID0gKi8gZGV2aWNlTWVtb3J5U2l6ZSwKKyAgICAgICAgLyogLm1lbW9yeVR5
cGVJbmRleCA9ICovIG1lbW9yeVR5cGVJbmRleCwKKyAgICB9OworCisgICAgVmtEZXZpY2VNZW1v
cnkgZGV2aWNlTWVtb3J5ID0gVktfTlVMTF9IQU5ETEU7CisgICAgcmVzdWx0ID0gdmtBbGxvY2F0
ZU1lbW9yeShtRGV2aWNlLCAmbWVtb3J5QWxsb2NhdGVJbmZvLCBudWxscHRyLCAmZGV2aWNlTWVt
b3J5KTsKKyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisgICAgcmVzdWx0ID0g
dmtCaW5kQnVmZmVyTWVtb3J5KG1EZXZpY2UsIHN0YWdpbmdCdWZmZXIsIGRldmljZU1lbW9yeSwg
MCAvKiBtZW1vcnlPZmZzZXQgKi8pOworICAgIEFTU0VSVChyZXN1bHQgPT0gVktfU1VDQ0VTUyk7
CisKKyAgICBWa0NvbW1hbmRCdWZmZXIgY29tbWFuZEJ1ZmZlcnNbXSAgICAgICAgICAgICAgICAg
ICAgICA9IHtWS19OVUxMX0hBTkRMRX07CisgICAgY29uc3RleHByIHVpbnQzMl90IGNvbW1hbmRC
dWZmZXJDb3VudCAgICAgICAgICAgICAgICAgPSBzdGQ6OmV4dGVudDxkZWNsdHlwZShjb21tYW5k
QnVmZmVycyk+KCk7CisgICAgVmtDb21tYW5kQnVmZmVyQWxsb2NhdGVJbmZvIGNvbW1hbmRCdWZm
ZXJBbGxvY2F0ZUluZm8gPSB7CisgICAgICAgIC8qIC5zVHlwZSA9ICovIFZLX1NUUlVDVFVSRV9U
WVBFX0NPTU1BTkRfQlVGRkVSX0FMTE9DQVRFX0lORk8sCisgICAgICAgIC8qIC5wTmV4dCA9ICov
IG51bGxwdHIsCisgICAgICAgIC8qIC5jb21tYW5kUG9vbCA9ICovIG1Db21tYW5kUG9vbCwKKyAg
ICAgICAgLyogLmxldmVsID0gKi8gVktfQ09NTUFORF9CVUZGRVJfTEVWRUxfUFJJTUFSWSwKKyAg
ICAgICAgLyogLmNvbW1hbmRCdWZmZXJDb3VudCA9ICovIGNvbW1hbmRCdWZmZXJDb3VudCwKKyAg
ICB9OworCisgICAgcmVzdWx0ID0gdmtBbGxvY2F0ZUNvbW1hbmRCdWZmZXJzKG1EZXZpY2UsICZj
b21tYW5kQnVmZmVyQWxsb2NhdGVJbmZvLCBjb21tYW5kQnVmZmVycyk7CisgICAgQVNTRVJUKHJl
c3VsdCA9PSBWS19TVUNDRVNTKTsKKworICAgIFZrQ29tbWFuZEJ1ZmZlckJlZ2luSW5mbyBjb21t
YW5kQnVmZmVyQmVnaW5JbmZvID0geworICAgICAgICAvKiAuc1R5cGUgPSAqLyBWS19TVFJVQ1RV
UkVfVFlQRV9DT01NQU5EX0JVRkZFUl9CRUdJTl9JTkZPLAorICAgICAgICAvKiAucE5leHQgPSAq
LyBudWxscHRyLAorICAgICAgICAvKiAuZmxhZ3MgPSAqLyBWS19DT01NQU5EX0JVRkZFUl9VU0FH
RV9PTkVfVElNRV9TVUJNSVRfQklULAorICAgICAgICAvKiAucEluaGVyaXRhbmNlSW5mbyA9ICov
IG51bGxwdHIsCisgICAgfTsKKyAgICByZXN1bHQgPSB2a0JlZ2luQ29tbWFuZEJ1ZmZlcihjb21t
YW5kQnVmZmVyc1swXSwgJmNvbW1hbmRCdWZmZXJCZWdpbkluZm8pOworICAgIEFTU0VSVChyZXN1
bHQgPT0gVktfU1VDQ0VTUyk7CisKKyAgICBWa0J1ZmZlckltYWdlQ29weSBidWZmZXJJbWFnZUNv
cGllc1tdID0geworICAgICAgICAvKiBbMF0gPSAqLyB7CisgICAgICAgICAgICAvKiAuYnVmZmVy
T2Zmc2V0ID0gKi8gMCwKKyAgICAgICAgICAgIC8qIC5idWZmZXJSb3dMZW5ndGggPSAqLyAwLAor
ICAgICAgICAgICAgLyogLmJ1ZmZlckltYWdlSGVpZ2h0ID0gKi8gMCwKKyAgICAgICAgICAgIC8q
IC5pbWFnZVN1YnJlc291cmNlcyA9ICovCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
LyogLmFzcGVjdE1hc2sgPSAqLyBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAorICAgICAgICAg
ICAgICAgIC8qIC5taXBMZXZlbCA9ICovIDAsCisgICAgICAgICAgICAgICAgLyogLmJhc2VBcnJh
eUxheWVyID0gKi8gMCwKKyAgICAgICAgICAgICAgICAvKiAubGF5ZXJDb3VudCA9ICovIDEsCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgLyogLmltYWdlT2Zmc2V0ID0gKi8gaW1hZ2VPZmZz
ZXQsCisgICAgICAgICAgICAvKiAuaW1hZ2VFeHRlbnQgPSAqLyBpbWFnZUV4dGVudCwKKyAgICAg
ICAgfSwKKyAgICB9OworICAgIGNvbnN0ZXhwciB1aW50MzJfdCBidWZmZXJJbWFnZUNvcHlDb3Vu
dCA9IHN0ZDo6ZXh0ZW50PGRlY2x0eXBlKGJ1ZmZlckltYWdlQ29waWVzKT4oKTsKKworICAgIHZr
Q21kQ29weUltYWdlVG9CdWZmZXIoY29tbWFuZEJ1ZmZlcnNbMF0sIHNyY0ltYWdlLCBzcmNJbWFn
ZUxheW91dCwgc3RhZ2luZ0J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZl
ckltYWdlQ29weUNvdW50LCBidWZmZXJJbWFnZUNvcGllcyk7CisKKyAgICBWa01lbW9yeUJhcnJp
ZXIgbWVtb3J5QmFycmllcnNbXSA9IHsKKyAgICAgICAgLyogWzBdID0gKi8gey8qIC5zVHlwZSA9
ICovIFZLX1NUUlVDVFVSRV9UWVBFX01FTU9SWV9CQVJSSUVSLAorICAgICAgICAgICAgICAgICAg
ICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgIC8qIC5zcmNB
Y2Nlc3NNYXNrID0gKi8gVktfQUNDRVNTX01FTU9SWV9XUklURV9CSVQsCisgICAgICAgICAgICAg
ICAgICAgICAvKiAuZHN0QWNjZXNzTWFzayA9ICovIFZLX0FDQ0VTU19IT1NUX1JFQURfQklUfSwK
KyAgICB9OworICAgIGNvbnN0ZXhwciB1aW50MzJfdCBtZW1vcnlCYXJyaWVyQ291bnQgPSBzdGQ6
OmV4dGVudDxkZWNsdHlwZShtZW1vcnlCYXJyaWVycyk+KCk7CisgICAgdmtDbWRQaXBlbGluZUJh
cnJpZXIoY29tbWFuZEJ1ZmZlcnNbMF0sIFZLX1BJUEVMSU5FX1NUQUdFX1RSQU5TRkVSX0JJVCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9IT1NUX0JJVCwgMCAv
KiBkZXBlbmRlbmN5RmxhZ3MgKi8sIG1lbW9yeUJhcnJpZXJDb3VudCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBtZW1vcnlCYXJyaWVycywgMCwgbnVsbHB0ciwgMCwgbnVsbHB0cik7CisKKyAg
ICByZXN1bHQgPSB2a0VuZENvbW1hbmRCdWZmZXIoY29tbWFuZEJ1ZmZlcnNbMF0pOworICAgIEFT
U0VSVChyZXN1bHQgPT0gVktfU1VDQ0VTUyk7CisKKyAgICBjb25zdCBWa1N1Ym1pdEluZm8gc3Vi
bWl0c1tdID0geworICAgICAgICAvKiBbMF0gPSAqLyB7CisgICAgICAgICAgICAvKiAuc1R5cGUg
Ki8gVktfU1RSVUNUVVJFX1RZUEVfU1VCTUlUX0lORk8sCisgICAgICAgICAgICAvKiAucE5leHQg
PSAqLyBudWxscHRyLAorICAgICAgICAgICAgLyogLndhaXRTZW1hcGhvcmVDb3VudCA9ICovIDAs
CisgICAgICAgICAgICAvKiAucFdhaXRTZW1hcGhvcmVzID0gKi8gbnVsbHB0ciwKKyAgICAgICAg
ICAgIC8qIC5wV2FpdERzdFN0YWdlTWFzayA9ICovIG51bGxwdHIsCisgICAgICAgICAgICAvKiAu
Y29tbWFuZEJ1ZmZlckNvdW50ID0gKi8gY29tbWFuZEJ1ZmZlckNvdW50LAorICAgICAgICAgICAg
LyogLnBDb21tYW5kQnVmZmVycyA9ICovIGNvbW1hbmRCdWZmZXJzLAorICAgICAgICAgICAgLyog
LnNpZ25hbFNlbWFwaG9yZUNvdW50ID0gKi8gMCwKKyAgICAgICAgICAgIC8qIC5wU2lnbmFsU2Vt
YXBob3JlcyA9ICovIG51bGxwdHIsCisgICAgICAgIH0sCisgICAgfTsKKyAgICBjb25zdGV4cHIg
dWludDMyX3Qgc3VibWl0Q291bnQgPSBzdGQ6OmV4dGVudDxkZWNsdHlwZShzdWJtaXRzKT4oKTsK
KworICAgIGNvbnN0IFZrRmVuY2UgZmVuY2UgPSBWS19OVUxMX0hBTkRMRTsKKyAgICByZXN1bHQg
ICAgICAgICAgICAgID0gdmtRdWV1ZVN1Ym1pdChtR3JhcGhpY3NRdWV1ZSwgc3VibWl0Q291bnQs
IHN1Ym1pdHMsIGZlbmNlKTsKKyAgICBBU1NFUlQocmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisg
ICAgcmVzdWx0ID0gdmtRdWV1ZVdhaXRJZGxlKG1HcmFwaGljc1F1ZXVlKTsKKyAgICBBU1NFUlQo
cmVzdWx0ID09IFZLX1NVQ0NFU1MpOworCisgICAgdmtGcmVlQ29tbWFuZEJ1ZmZlcnMobURldmlj
ZSwgbUNvbW1hbmRQb29sLCBjb21tYW5kQnVmZmVyQ291bnQsIGNvbW1hbmRCdWZmZXJzKTsKKwor
ICAgIHZvaWQgKnN0YWdpbmdNZW1vcnkgPSBudWxscHRyOworICAgIHJlc3VsdCA9IHZrTWFwTWVt
b3J5KG1EZXZpY2UsIGRldmljZU1lbW9yeSwgMCAvKiBvZmZzZXQgKi8sIHBpeGVsc1NpemUsIDAg
LyogZmxhZ3MgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YWdpbmdNZW1vcnkpOwor
ICAgIEFTU0VSVChyZXN1bHQgPT0gVktfU1VDQ0VTUyk7CisKKyAgICBWa01hcHBlZE1lbW9yeVJh
bmdlIG1lbW9yeVJhbmdlc1tdID0geworICAgICAgICAvKiBbMF0gPSAqLyB7CisgICAgICAgICAg
ICAvKiAuc1R5cGUgPSAqLyBWS19TVFJVQ1RVUkVfVFlQRV9NQVBQRURfTUVNT1JZX1JBTkdFLAor
ICAgICAgICAgICAgLyogLnBOZXh0ID0gKi8gbnVsbHB0ciwKKyAgICAgICAgICAgIC8qIC5tZW1v
cnkgPSAqLyBkZXZpY2VNZW1vcnksCisgICAgICAgICAgICAvKiAub2Zmc2V0ID0gKi8gMCwKKyAg
ICAgICAgICAgIC8qIC5zaXplID0gKi8gcGl4ZWxzU2l6ZSwKKyAgICAgICAgfSwKKyAgICB9Owor
ICAgIGNvbnN0ZXhwciB1aW50MzJfdCBtZW1vcnlSYW5nZUNvdW50ID0gc3RkOjpleHRlbnQ8ZGVj
bHR5cGUobWVtb3J5UmFuZ2VzKT4oKTsKKworICAgIHJlc3VsdCA9IHZrSW52YWxpZGF0ZU1hcHBl
ZE1lbW9yeVJhbmdlcyhtRGV2aWNlLCBtZW1vcnlSYW5nZUNvdW50LCBtZW1vcnlSYW5nZXMpOwor
ICAgIEFTU0VSVChyZXN1bHQgPT0gVktfU1VDQ0VTUyk7CisKKyAgICBtZW1jcHkocGl4ZWxzLCBz
dGFnaW5nTWVtb3J5LCBwaXhlbHNTaXplKTsKKworICAgIHZrVW5tYXBNZW1vcnkobURldmljZSwg
ZGV2aWNlTWVtb3J5KTsKKyAgICB2a0ZyZWVNZW1vcnkobURldmljZSwgZGV2aWNlTWVtb3J5LCBu
dWxscHRyKTsKKyAgICB2a0Rlc3Ryb3lCdWZmZXIobURldmljZSwgc3RhZ2luZ0J1ZmZlciwgbnVs
bHB0cik7Cit9CisKIH0gIC8vIG5hbWVzcGFjZSBhbmdsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvVnVsa2FuRXh0ZXJuYWxIZWxwZXIu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL1Z1bGthbkV4
dGVybmFsSGVscGVyLmgKaW5kZXggZDcyNWM3ZjM5ZThkOTJkZDk4ZjU4NTA3ZDg2MmRmNmQ3NmUz
MGZlZS4uOGFiNzE1NDNlMjc5OTQ1Nzg3YjA0NDA4YTY0ZDg1MzVmZmI3ZmM1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvVnVsa2FuRXh0
ZXJuYWxIZWxwZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVz
dF91dGlscy9WdWxrYW5FeHRlcm5hbEhlbHBlci5oCkBAIC04LDcgKzgsNyBAQAogI2lmbmRlZiBB
TkdMRV9URVNUU19URVNUVVRJTFNfVlVMS0FORVhURVJOQUxIRUxQRVJfSF8KICNkZWZpbmUgQU5H
TEVfVEVTVFNfVEVTVFVUSUxTX1ZVTEtBTkVYVEVSTkFMSEVMUEVSX0hfCiAKLSNpbmNsdWRlICJ2
b2xrLmgiCisjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2hlYWRlcnMuaCIK
ICNpbmNsdWRlICJ2dWxrYW4vdnVsa2FuX2Z1Y2hzaWFfZXh0LmgiCiAKIG5hbWVzcGFjZSBhbmds
ZQpAQCAtMjAsNyArMjAsNyBAQCBjbGFzcyBWdWxrYW5FeHRlcm5hbEhlbHBlcgogICAgIFZ1bGth
bkV4dGVybmFsSGVscGVyKCk7CiAgICAgflZ1bGthbkV4dGVybmFsSGVscGVyKCk7CiAKLSAgICB2
b2lkIGluaXRpYWxpemUoKTsKKyAgICB2b2lkIGluaXRpYWxpemUoYm9vbCB1c2VTd2lmdHNoYWRl
ciwgYm9vbCBlbmFibGVWYWxpZGF0aW9uTGF5ZXJzKTsKIAogICAgIFZrSW5zdGFuY2UgZ2V0SW5z
dGFuY2UoKSBjb25zdCB7IHJldHVybiBtSW5zdGFuY2U7IH0KICAgICBWa1BoeXNpY2FsRGV2aWNl
IGdldFBoeXNpY2FsRGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbVBoeXNpY2FsRGV2aWNlOyB9CkBA
IC02NiwxMSArNjYsNDAgQEAgY2xhc3MgVnVsa2FuRXh0ZXJuYWxIZWxwZXIKICAgICBWa1Jlc3Vs
dCBjcmVhdGVTZW1hcGhvcmVaaXJjb25FdmVudChWa1NlbWFwaG9yZSAqc2VtYXBob3JlKTsKICAg
ICBWa1Jlc3VsdCBleHBvcnRTZW1hcGhvcmVaaXJjb25FdmVudChWa1NlbWFwaG9yZSBzZW1hcGhv
cmUsIHp4X2hhbmRsZV90ICpldmVudCk7CiAKKyAgICAvLyBQZXJmb3JtcyBhIHF1ZXVlIG93bmVy
c2hpcCB0cmFuc2ZlciB0byBWS19RVUVVRV9GQU1JTFlfRVhURVJOQUwgb24gYW4KKyAgICAvLyBp
bWFnZSBvd25lZCBieSBvdXIgaW5zdGFuY2UuIFRoZSBjdXJyZW50IGltYWdlIGxheW91dCBtdXN0
IGJlIHxvbGRMYXlvdXR8CisgICAgLy8gYW5kIHdpbGwgYmUgaW4gfG5ld0xheW91dHwgYWZ0ZXIg
dGhlIG1lbW9yeSBiYXJyaWVyLiB8c2VtYXBob3JlfAorICAgIC8vIHdpbGwgYmUgc2lnbmFsZWQg
dXBvbiBjb21wbGV0aW9uIG9mIHRoZSByZWxlYXNlIG9wZXJhdGlvbi4KKyAgICB2b2lkIHJlbGVh
c2VJbWFnZUFuZFNpZ25hbFNlbWFwaG9yZShWa0ltYWdlIGltYWdlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VMYXlvdXQgb2xkTGF5b3V0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VMYXlvdXQgbmV3TGF5b3V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrU2VtYXBob3JlIHNl
bWFwaG9yZSk7CisKKyAgICAvLyBQZXJmb3JtcyBhIHF1ZXVlIG93bmVyc2hpcCB0cmFuc2ZlciBm
cm9tIFZLX1FVRVVFX0ZBTUlMWV9FWFRFUk5BTCBvbiBhbgorICAgIC8vIGltYWdlIG93bmVkIGJ5
IGFuIGV4dGVybmFsIGluc3RhbmNlLiBUaGUgY3VycmVudCBpbWFnZSBsYXlvdXQgbXVzdCBiZQor
ICAgIC8vIHxvbGRMYXlvdXR8IGFuZCB3aWxsIGJlIGluIHxuZXdMYXlvdXR8IGFmdGVyIHRoZSBt
ZW1vcnkgYmFycmllci4gVGhlCisgICAgLy8gYmFycmllciB3aWxsIHdhaXQgZm9yIHxzZW1hcGhv
cmV8LgorICAgIHZvaWQgd2FpdFNlbWFwaG9yZUFuZEFjcXVpcmVJbWFnZShWa0ltYWdlIGltYWdl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlTGF5b3V0IG9s
ZExheW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmtJbWFnZUxh
eW91dCBuZXdMYXlvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZr
U2VtYXBob3JlIHNlbWFwaG9yZSk7CisKKyAgICAvLyBDb3BpZXMgcGl4ZWxzIG91dCBvZiBhbiBp
bWFnZS4gQ3VycmVudGx5IG9ubHkgVktfRk9STUFUX1I4RzhCOEE4X1VOT1JNCisgICAgLy8gYW5k
IFZLX0ZPUk1BVF9COEc4UjhBOF9VTk9STSBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQuCisgICAgdm9p
ZCByZWFkUGl4ZWxzKFZrSW1hZ2Ugc3JjSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgIFZrSW1h
Z2VMYXlvdXQgc3JjSW1hZ2VMYXlvdXQsCisgICAgICAgICAgICAgICAgICAgIFZrRm9ybWF0IHNy
Y0ltYWdlRm9ybWF0LAorICAgICAgICAgICAgICAgICAgICBWa09mZnNldDNEIGltYWdlT2Zmc2V0
LAorICAgICAgICAgICAgICAgICAgICBWa0V4dGVudDNEIGltYWdlRXh0ZW50LAorICAgICAgICAg
ICAgICAgICAgICB2b2lkICpwaXhlbHMsCisgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwaXhl
bHNTaXplKTsKKwogICBwcml2YXRlOgogICAgIFZrSW5zdGFuY2UgbUluc3RhbmNlICAgICAgICAg
ICAgID0gVktfTlVMTF9IQU5ETEU7CiAgICAgVmtQaHlzaWNhbERldmljZSBtUGh5c2ljYWxEZXZp
Y2UgPSBWS19OVUxMX0hBTkRMRTsKICAgICBWa0RldmljZSBtRGV2aWNlICAgICAgICAgICAgICAg
ICA9IFZLX05VTExfSEFORExFOwogICAgIFZrUXVldWUgbUdyYXBoaWNzUXVldWUgICAgICAgICAg
ID0gVktfTlVMTF9IQU5ETEU7CisgICAgVmtDb21tYW5kUG9vbCBtQ29tbWFuZFBvb2wgICAgICAg
PSBWS19OVUxMX0hBTkRMRTsKIAogICAgIFZrUGh5c2ljYWxEZXZpY2VNZW1vcnlQcm9wZXJ0aWVz
IG1NZW1vcnlQcm9wZXJ0aWVzID0ge307CiAKQEAgLTg1LDggKzExNCw5IEBAIGNsYXNzIFZ1bGth
bkV4dGVybmFsSGVscGVyCiAgICAgUEZOX3ZrR2V0TWVtb3J5RmRLSFIgdmtHZXRNZW1vcnlGZEtI
UiAgICAgICA9IG51bGxwdHI7CiAgICAgUEZOX3ZrR2V0U2VtYXBob3JlRmRLSFIgdmtHZXRTZW1h
cGhvcmVGZEtIUiA9IG51bGxwdHI7CiAgICAgUEZOX3ZrR2V0UGh5c2ljYWxEZXZpY2VFeHRlcm5h
bFNlbWFwaG9yZVByb3BlcnRpZXNLSFIKLSAgICAgICAgdmtHZXRQaHlzaWNhbERldmljZUV4dGVy
bmFsU2VtYXBob3JlUHJvcGVydGllc0tIUiAgICAgICAgICAgICA9IG51bGxwdHI7Ci0gICAgUEZO
X3ZrR2V0TWVtb3J5WmlyY29uSGFuZGxlRlVDSFNJQSB2a0dldE1lbW9yeVppcmNvbkhhbmRsZUZV
Q0hTSUEgPSBudWxscHRyOworICAgICAgICB2a0dldFBoeXNpY2FsRGV2aWNlRXh0ZXJuYWxTZW1h
cGhvcmVQcm9wZXJ0aWVzS0hSICAgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKyAgICBQRk5f
dmtHZXRNZW1vcnlaaXJjb25IYW5kbGVGVUNIU0lBIHZrR2V0TWVtb3J5WmlyY29uSGFuZGxlRlVD
SFNJQSAgICAgICA9IG51bGxwdHI7CisgICAgUEZOX3ZrR2V0U2VtYXBob3JlWmlyY29uSGFuZGxl
RlVDSFNJQSB2a0dldFNlbWFwaG9yZVppcmNvbkhhbmRsZUZVQ0hTSUEgPSBudWxscHRyOwogfTsK
IAogfSAgLy8gbmFtZXNwYWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9hbmdsZV90ZXN0X2NvbmZpZ3MuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvYW5nbGVfdGVzdF9jb25maWdz
LmNwcAppbmRleCBiMDRlYTE3M2ZjYTE0M2Y2OGY3ZjZhZGZlOGM4NzlmMzg3NGNmOTY5Li5kMzdi
ZmNkN2EwOGEyZjQ5MTJlYzMxODg0ODE5YjczNWY4ZTBlNjAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9hbmdsZV90ZXN0X2NvbmZpZ3Mu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2Fu
Z2xlX3Rlc3RfY29uZmlncy5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGQ6Om9zdHJlYW0gJm9w
ZXJhdG9yPDwoc3RkOjpvc3RyZWFtICZzdHJlYW0sIGNvbnN0IFBsYXRmb3JtUGFyYW1ldGVycyAm
cHApCiAgICAgICAgICAgICBzdHJlYW0gPDwgIldHTCI7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBHTEVTRHJpdmVyVHlwZTo6U3lzdGVtRUdMOgotICAgICAgICAgICAgc3RyZWFt
IDw8ICJHTEVTIjsKKyAgICAgICAgICAgIHN0cmVhbSA8PCAiRUdMIjsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgc3RyZWFtIDw8ICJFcnJvciI7CkBA
IC03NjksNCArNzY5LDI4IEBAIFBsYXRmb3JtUGFyYW1ldGVycyBFUzNfV0dMKCkKIHsKICAgICBy
ZXR1cm4gUGxhdGZvcm1QYXJhbWV0ZXJzKDMsIDAsIEdMRVNEcml2ZXJUeXBlOjpTeXN0ZW1XR0wp
OwogfQorCitQbGF0Zm9ybVBhcmFtZXRlcnMgRVMyX0VHTCgpCit7CisgICAgcmV0dXJuIFBsYXRm
b3JtUGFyYW1ldGVycygyLCAwLCBHTEVTRHJpdmVyVHlwZTo6U3lzdGVtRUdMKTsKK30KKworUGxh
dGZvcm1QYXJhbWV0ZXJzIEVTM19FR0woKQoreworICAgIHJldHVybiBQbGF0Zm9ybVBhcmFtZXRl
cnMoMywgMCwgR0xFU0RyaXZlclR5cGU6OlN5c3RlbUVHTCk7Cit9CisKK2NvbnN0IGNoYXIgKkdl
dE5hdGl2ZUVHTExpYnJhcnlOYW1lV2l0aEV4dGVuc2lvbigpCit7CisjaWYgZGVmaW5lZChBTkdM
RV9QTEFURk9STV9BTkRST0lEKQorICAgIHJldHVybiAibGliRUdMLnNvIjsKKyNlbGlmIGRlZmlu
ZWQoQU5HTEVfUExBVEZPUk1fTElOVVgpCisgICAgcmV0dXJuICJsaWJFR0wuc28uMSI7CisjZWxp
ZiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX1dJTkRPV1MpCisgICAgcmV0dXJuICJsaWJFR0wuZGxs
IjsKKyNlbHNlCisgICAgcmV0dXJuICJ1bmtub3duX2xpYmVnbCI7CisjZW5kaWYKK30KKwogfSAg
Ly8gbmFtZXNwYWNlIGFuZ2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvdGVzdF91dGlscy9hbmdsZV90ZXN0X2NvbmZpZ3MuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfY29uZmlncy5oCmluZGV4
IDVmNzcxMzg5NjdiMTE0MDFhODg2NjA4M2VmNDkyYjE1MTBhM2E3MjMuLmM2ZDQ0NjA3NTFmMjA2
Y2QwZDQzOGY2NGIwMzg5YzRhY2UyZWQ0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfY29uZmlncy5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfY29u
Zmlncy5oCkBAIC0yMywxNyArMjMsNiBAQAogbmFtZXNwYWNlIGFuZ2xlCiB7CiAKLS8vIFRoZSBH
TEVTIGRyaXZlciB0eXBlIGRldGVybWluZXMgd2hhdCBzaGFyZWQgb2JqZWN0IHdlIHVzZSB0byBs
b2FkIHRoZSBHTEVTIGVudHJ5IHBvaW50cy4KLS8vIEFuZ2xlRUdMIGxvYWRzIGZyb20gQU5HTEUn
cyB2ZXJzaW9uIG9mIGxpYkVHTCwgbGliR0xFU3YyLCBhbmQgbGliR0xFU3YxX0NNLgotLy8gU3lz
dGVtRUdMIHVzZXMgdGhlIHN5c3RlbSBjb3BpZXMgb2YgbGliRUdMLCBsaWJHTEVTdjIsIGFuZCBs
aWJHTEVTdjFfQ00uCi0vLyBTeXN0ZW1XR0wgbG9hZHMgV2luZG93cyBHTCB3aXRoIHRoZSBHTEVT
IGNvbXBhdGlibGl0eSBleHRlbnNpb25zLiBTZWUgdXRpbC9XR0xXaW5kb3cuaC4KLWVudW0gY2xh
c3MgR0xFU0RyaXZlclR5cGUKLXsKLSAgICBBbmdsZUVHTCwKLSAgICBTeXN0ZW1FR0wsCi0gICAg
U3lzdGVtV0dMLAotfTsKLQogc3RydWN0IFBsYXRmb3JtUGFyYW1ldGVycwogewogICAgIFBsYXRm
b3JtUGFyYW1ldGVycygpOwpAQCAtMTk3LDYgKzE4NiwxMSBAQCBQbGF0Zm9ybVBhcmFtZXRlcnMg
RVMzX01FVEFMKCk7CiBQbGF0Zm9ybVBhcmFtZXRlcnMgRVMyX1dHTCgpOwogUGxhdGZvcm1QYXJh
bWV0ZXJzIEVTM19XR0woKTsKIAorUGxhdGZvcm1QYXJhbWV0ZXJzIEVTMl9FR0woKTsKK1BsYXRm
b3JtUGFyYW1ldGVycyBFUzNfRUdMKCk7CisKK2NvbnN0IGNoYXIgKkdldE5hdGl2ZUVHTExpYnJh
cnlOYW1lV2l0aEV4dGVuc2lvbigpOworCiBpbmxpbmUgUGxhdGZvcm1QYXJhbWV0ZXJzIFdpdGhO
b1ZpcnR1YWxDb250ZXh0cyhjb25zdCBQbGF0Zm9ybVBhcmFtZXRlcnMgJnBhcmFtcykKIHsKICAg
ICBQbGF0Zm9ybVBhcmFtZXRlcnMgd2l0aE5vVmlydHVhbENvbnRleHRzICAgICAgICAgICAgICAg
ICAgPSBwYXJhbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvdGVzdF91dGlscy9hbmdsZV90ZXN0X2luc3RhbnRpYXRlLmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfaW5zdGFudGlhdGUuY3Bw
CmluZGV4IGEzOTRkMDhjZTY5NDVkNWE1ZDk5NWFlZmQwZWVmN2FmMjc4ZjY1ZjAuLjlmZjc2ZTkz
NDViNTBjNDZjMzE4MmRkY2I2N2U3Nzg5OWUzMDA1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfaW5zdGFudGlhdGUu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2Fu
Z2xlX3Rlc3RfaW5zdGFudGlhdGUuY3BwCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bWFw
PgogCiAjaW5jbHVkZSAiYW5nbGVfZ2wuaCIKKyNpbmNsdWRlICJjb21tb24vZGVidWcuaCIKICNp
bmNsdWRlICJjb21tb24vcGxhdGZvcm0uaCIKICNpbmNsdWRlICJjb21tb24vc3lzdGVtX3V0aWxz
LmgiCiAjaW5jbHVkZSAiY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UvYW5nbGViYXNlL25vX2Rlc3Ry
dWN0b3IuaCIKQEAgLTM2LDcgKzM3LDcgQEAgbmFtZXNwYWNlIGFuZ2xlCiB7CiBuYW1lc3BhY2UK
IHsKLWJvb2wgSXNBTkdMRUNvbmZpZ1N1cHBvcnRlZChjb25zdCBQbGF0Zm9ybVBhcmFtZXRlcnMg
JnBhcmFtLCBPU1dpbmRvdyAqb3NXaW5kb3cpCitib29sIElzQW5nbGVFR0xDb25maWdTdXBwb3J0
ZWQoY29uc3QgUGxhdGZvcm1QYXJhbWV0ZXJzICZwYXJhbSwgT1NXaW5kb3cgKm9zV2luZG93KQog
ewogICAgIHN0ZDo6dW5pcXVlX3B0cjxhbmdsZTo6TGlicmFyeT4gZWdsTGlicmFyeTsKIApAQCAt
NDgsMTMgKzQ5LDE0IEBAIGJvb2wgSXNBTkdMRUNvbmZpZ1N1cHBvcnRlZChjb25zdCBQbGF0Zm9y
bVBhcmFtZXRlcnMgJnBhcmFtLCBPU1dpbmRvdyAqb3NXaW5kb3cpCiAgICAgRUdMV2luZG93ICpl
Z2xXaW5kb3cgPSBFR0xXaW5kb3c6Ok5ldyhwYXJhbS5tYWpvclZlcnNpb24sIHBhcmFtLm1pbm9y
VmVyc2lvbik7CiAgICAgQ29uZmlnUGFyYW1ldGVycyBjb25maWdQYXJhbXM7CiAgICAgYm9vbCBy
ZXN1bHQgPQotICAgICAgICBlZ2xXaW5kb3ctPmluaXRpYWxpemVHTChvc1dpbmRvdywgZWdsTGli
cmFyeS5nZXQoKSwgcGFyYW0uZWdsUGFyYW1ldGVycywgY29uZmlnUGFyYW1zKTsKKyAgICAgICAg
ZWdsV2luZG93LT5pbml0aWFsaXplR0wob3NXaW5kb3csIGVnbExpYnJhcnkuZ2V0KCksIGFuZ2xl
OjpHTEVTRHJpdmVyVHlwZTo6QW5nbGVFR0wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmFtLmVnbFBhcmFtZXRlcnMsIGNvbmZpZ1BhcmFtcyk7CiAgICAgZWdsV2luZG93LT5k
ZXN0cm95R0woKTsKICAgICBFR0xXaW5kb3c6OkRlbGV0ZSgmZWdsV2luZG93KTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi1ib29sIElzV0dMQ29uZmlnU3VwcG9ydGVkKGNvbnN0IFBsYXRmb3Jt
UGFyYW1ldGVycyAmcGFyYW0sIE9TV2luZG93ICpvc1dpbmRvdykKK2Jvb2wgSXNTeXN0ZW1XR0xD
b25maWdTdXBwb3J0ZWQoY29uc3QgUGxhdGZvcm1QYXJhbWV0ZXJzICZwYXJhbSwgT1NXaW5kb3cg
Km9zV2luZG93KQogewogI2lmIGRlZmluZWQoQU5HTEVfUExBVEZPUk1fV0lORE9XUykgJiYgZGVm
aW5lZChBTkdMRV9VU0VfVVRJTF9MT0FERVIpCiAgICAgc3RkOjp1bmlxdWVfcHRyPGFuZ2xlOjpM
aWJyYXJ5PiBvcGVuZ2xMaWJyYXJ5KApAQCAtNjMsNyArNjUsOCBAQCBib29sIElzV0dMQ29uZmln
U3VwcG9ydGVkKGNvbnN0IFBsYXRmb3JtUGFyYW1ldGVycyAmcGFyYW0sIE9TV2luZG93ICpvc1dp
bmRvdykKICAgICBXR0xXaW5kb3cgKndnbFdpbmRvdyA9IFdHTFdpbmRvdzo6TmV3KHBhcmFtLm1h
am9yVmVyc2lvbiwgcGFyYW0ubWlub3JWZXJzaW9uKTsKICAgICBDb25maWdQYXJhbWV0ZXJzIGNv
bmZpZ1BhcmFtczsKICAgICBib29sIHJlc3VsdCA9Ci0gICAgICAgIHdnbFdpbmRvdy0+aW5pdGlh
bGl6ZUdMKG9zV2luZG93LCBvcGVuZ2xMaWJyYXJ5LmdldCgpLCBwYXJhbS5lZ2xQYXJhbWV0ZXJz
LCBjb25maWdQYXJhbXMpOworICAgICAgICB3Z2xXaW5kb3ctPmluaXRpYWxpemVHTChvc1dpbmRv
dywgb3BlbmdsTGlicmFyeS5nZXQoKSwgYW5nbGU6OkdMRVNEcml2ZXJUeXBlOjpTeXN0ZW1XR0ws
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtLmVnbFBhcmFtZXRlcnMsIGNv
bmZpZ1BhcmFtcyk7CiAgICAgd2dsV2luZG93LT5kZXN0cm95R0woKTsKICAgICBXR0xXaW5kb3c6
OkRlbGV0ZSgmd2dsV2luZG93KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNzIsMTAgKzc1LDI0
IEBAIGJvb2wgSXNXR0xDb25maWdTdXBwb3J0ZWQoY29uc3QgUGxhdGZvcm1QYXJhbWV0ZXJzICZw
YXJhbSwgT1NXaW5kb3cgKm9zV2luZG93KQogI2VuZGlmICAvLyBkZWZpbmVkKEFOR0xFX1BMQVRG
T1JNX1dJTkRPV1MpICYmIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxfTE9BREVSKQogfQogCi1ib29s
IElzTmF0aXZlQ29uZmlnU3VwcG9ydGVkKGNvbnN0IFBsYXRmb3JtUGFyYW1ldGVycyAmcGFyYW0s
IE9TV2luZG93ICpvc1dpbmRvdykKK2Jvb2wgSXNTeXN0ZW1FR0xDb25maWdTdXBwb3J0ZWQoY29u
c3QgUGxhdGZvcm1QYXJhbWV0ZXJzICZwYXJhbSwgT1NXaW5kb3cgKm9zV2luZG93KQogewotICAg
IC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQuCisjaWYgZGVmaW5lZChBTkdMRV9VU0VfVVRJTF9MT0FE
RVIpCisgICAgc3RkOjp1bmlxdWVfcHRyPGFuZ2xlOjpMaWJyYXJ5PiBlZ2xMaWJyYXJ5OworCisg
ICAgZWdsTGlicmFyeS5yZXNldChPcGVuU2hhcmVkTGlicmFyeVdpdGhFeHRlbnNpb24oR2V0TmF0
aXZlRUdMTGlicmFyeU5hbWVXaXRoRXh0ZW5zaW9uKCkpKTsKKworICAgIEVHTFdpbmRvdyAqZWds
V2luZG93ID0gRUdMV2luZG93OjpOZXcocGFyYW0ubWFqb3JWZXJzaW9uLCBwYXJhbS5taW5vclZl
cnNpb24pOworICAgIENvbmZpZ1BhcmFtZXRlcnMgY29uZmlnUGFyYW1zOworICAgIGJvb2wgcmVz
dWx0ID0KKyAgICAgICAgZWdsV2luZG93LT5pbml0aWFsaXplR0wob3NXaW5kb3csIGVnbExpYnJh
cnkuZ2V0KCksIGFuZ2xlOjpHTEVTRHJpdmVyVHlwZTo6U3lzdGVtRUdMLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJhbS5lZ2xQYXJhbWV0ZXJzLCBjb25maWdQYXJhbXMpOwor
ICAgIGVnbFdpbmRvdy0+ZGVzdHJveUdMKCk7CisgICAgRUdMV2luZG93OjpEZWxldGUoJmVnbFdp
bmRvdyk7CisgICAgcmV0dXJuIHJlc3VsdDsKKyNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCiB9CiAKIGJvb2wgSXNBbmRyb2lkRGV2aWNlKGNvbnN0IHN0ZDo6c3RyaW5nICZkZXZpY2VO
YW1lKQpAQCAtOTIsMTUgKzEwOSwyOSBAQCBib29sIElzQW5kcm9pZERldmljZShjb25zdCBzdGQ6
OnN0cmluZyAmZGV2aWNlTmFtZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgSGFzU3lz
dGVtVmVuZG9ySUQoVmVuZG9ySUQgdmVuZG9ySUQpCitHUFVEZXZpY2VJbmZvICpHZXRBY3RpdmVH
UFVEZXZpY2VJbmZvKCkKIHsKICAgICBTeXN0ZW1JbmZvICpzeXN0ZW1JbmZvID0gR2V0VGVzdFN5
c3RlbUluZm8oKTsKICAgICAvLyBVbmZvcnR1bmF0ZWx5IHNvbWV0aW1lcyBHUFUgaW5mbyBjb2xs
ZWN0aW9uIGNhbiBmYWlsLgogICAgIGlmIChzeXN0ZW1JbmZvLT5ncHVzLmVtcHR5KCkpCiAgICAg
ewotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
LSAgICByZXR1cm4gc3lzdGVtSW5mby0+Z3B1c1tzeXN0ZW1JbmZvLT5hY3RpdmVHUFVJbmRleF0u
dmVuZG9ySWQgPT0gdmVuZG9ySUQ7CisgICAgcmV0dXJuICZzeXN0ZW1JbmZvLT5ncHVzW3N5c3Rl
bUluZm8tPmFjdGl2ZUdQVUluZGV4XTsKK30KKworYm9vbCBIYXNTeXN0ZW1WZW5kb3JJRChWZW5k
b3JJRCB2ZW5kb3JJRCkKK3sKKyAgICBHUFVEZXZpY2VJbmZvICpncHVJbmZvID0gR2V0QWN0aXZl
R1BVRGV2aWNlSW5mbygpOworCisgICAgcmV0dXJuIGdwdUluZm8gJiYgZ3B1SW5mby0+dmVuZG9y
SWQgPT0gdmVuZG9ySUQ7Cit9CisKK2Jvb2wgSGFzU3lzdGVtRGV2aWNlSUQoVmVuZG9ySUQgdmVu
ZG9ySUQsIERldmljZUlEIGRldmljZUlEKQoreworICAgIEdQVURldmljZUluZm8gKmdwdUluZm8g
PSBHZXRBY3RpdmVHUFVEZXZpY2VJbmZvKCk7CisKKyAgICByZXR1cm4gZ3B1SW5mbyAmJiBncHVJ
bmZvLT52ZW5kb3JJZCA9PSB2ZW5kb3JJRCAmJiBncHVJbmZvLT5kZXZpY2VJZCA9PSBkZXZpY2VJ
RDsKIH0KIAogdXNpbmcgUGFyYW1BdmFpbGFiaWxpdHlDYWNoZSA9IHN0ZDo6bWFwPFBsYXRmb3Jt
UGFyYW1ldGVycywgYm9vbD47CkBAIC0yNjcsNiArMjk4LDExIEBAIGJvb2wgSXNBUk0oKQogICAg
IHJldHVybiBIYXNTeXN0ZW1WZW5kb3JJRChrVmVuZG9ySURfQVJNKTsKIH0KIAorYm9vbCBJc1N3
aWZ0c2hhZGVyRGV2aWNlKCkKK3sKKyAgICByZXR1cm4gSGFzU3lzdGVtRGV2aWNlSUQoa1ZlbmRv
cklEX0dPT0dMRSwga0RldmljZUlEX1N3aWZ0c2hhZGVyKTsKK30KKwogYm9vbCBJc05WSURJQSgp
CiB7CiAjaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9BTkRST0lEKQpAQCAtMzAyLDYgKzMzOCwx
OSBAQCBib29sIElzQ29uZmlnV2hpdGVsaXN0ZWQoY29uc3QgU3lzdGVtSW5mbyAmc3lzdGVtSW5m
bywgY29uc3QgUGxhdGZvcm1QYXJhbWV0ZXJzCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKKyAgICAvLyBUT0RPOiBodHRwOi8vY3JidWcuY29tL3N3aWZ0c2hhZGVyLzE0NQorICAg
IC8vIFN3aWZ0c2hhZGVyIGRvZXMgbm90IGN1cnJlbnRseSBoYXZlIGFsbCB0aGUgcm9idXN0bmVz
cyBmZWF0dXJlcworICAgIC8vIHdlIG5lZWQgZm9yIEFOR0xFLiBJbiBwYXJ0aWN1bGFyLCBpdCBp
cyB1bmFibGUgdG8gZGV0ZWN0IGFuZCByZWNvdmVyCisgICAgLy8gZnJvbSBpbmZpbml0ZWx5IGxv
b3Bpbmcgc2hhZGVycy4gVGhhdCBidWcgaXMgdGhlIHRyYWNrZXIgZm9yIGZpeGluZworICAgIC8v
IHRoYXQgYW5kIHdoZW4gcmVzb2x2ZWQgd2UgY2FuIHJlbW92ZSB0aGUgZm9sbG93aW5nIGNvZGUu
CisgICAgLy8gVGhpcyB0ZXN0IHdpbGwgZGlzYWJsZSB0ZXN0cyBtYXJrZWQgd2l0aCB0aGUgY29u
ZmlnIFdpdGhSb2J1c3RuZXNzCisgICAgLy8gd2hlbiBydW4gd2l0aCB0aGUgc3dpZnRzaGFkZXIg
VnVsa2FuIGRyaXZlciBhbmQgb24gQW5kcm9pZC4KKyAgICBpZiAoKHBhcmFtLmlzU3dpZnRzaGFk
ZXIoKSB8fCBJc1N3aWZ0c2hhZGVyRGV2aWNlKCkpICYmCisgICAgICAgIHBhcmFtLmVnbFBhcmFt
ZXRlcnMucm9idXN0bmVzcyA9PSBFR0xfVFJVRSkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKICAgICBpZiAoSXNXaW5kb3dzKCkpCiAgICAgewogICAgICAgICBzd2l0Y2gg
KHBhcmFtLmRyaXZlcikKQEAgLTQxMiwxMyArNDYxLDIzIEBAIGJvb2wgSXNDb25maWdXaGl0ZWxp
c3RlZChjb25zdCBTeXN0ZW1JbmZvICZzeXN0ZW1JbmZvLCBjb25zdCBQbGF0Zm9ybVBhcmFtZXRl
cnMKICAgICAgICAgcmV0dXJuIChwYXJhbS5nZXRSZW5kZXJlcigpID09IEVHTF9QTEFURk9STV9B
TkdMRV9UWVBFX09QRU5HTEVTX0FOR0xFKTsKICAgICB9CiAKLSAgICBpZiAoSXNMaW51eCgpKQor
ICAgIGlmIChJc0xpbnV4KCkgfHwgSXNBbmRyb2lkKCkpCiAgICAgewotICAgICAgICAvLyBXZSBk
byBub3Qgc3VwcG9ydCBub24tQU5HTEUgYmluZGluZ3Mgb24gTGludXguCi0gICAgICAgIGlmIChw
YXJhbS5kcml2ZXIgIT0gR0xFU0RyaXZlclR5cGU6OkFuZ2xlRUdMKQorICAgICAgICAvLyBXZSBk
byBub3Qgc3VwcG9ydCBXR0wgYmluZGluZ3Mgb24gTGludXgvQW5kcm9pZC4gV2UgZG8gc3VwcG9y
dCBzeXN0ZW0gRUdMLgorICAgICAgICBzd2l0Y2ggKHBhcmFtLmRyaXZlcikKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgY2FzZSBHTEVTRHJpdmVyVHlw
ZTo6U3lzdGVtRUdMOgorICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbS5nZXRSZW5kZXJlcigp
ID09IEVHTF9QTEFURk9STV9BTkdMRV9UWVBFX0RFRkFVTFRfQU5HTEU7CisgICAgICAgICAgICBj
YXNlIEdMRVNEcml2ZXJUeXBlOjpTeXN0ZW1XR0w6CisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQorICAgIH0KKworICAgIGlmIChJc0xpbnV4KCkpCisgICAgeworICAgICAgICBBU1NFUlQo
cGFyYW0uZHJpdmVyID09IEdMRVNEcml2ZXJUeXBlOjpBbmdsZUVHTCk7CiAKICAgICAgICAgLy8g
Q3VycmVudGx5IHdlIHN1cHBvcnQgdGhlIE9wZW5HTCBhbmQgVnVsa2FuIGJhY2stZW5kcyBvbiBM
aW51eC4KICAgICAgICAgc3dpdGNoIChwYXJhbS5nZXRSZW5kZXJlcigpKQpAQCAtNDM0LDExICs0
OTMsNyBAQCBib29sIElzQ29uZmlnV2hpdGVsaXN0ZWQoY29uc3QgU3lzdGVtSW5mbyAmc3lzdGVt
SW5mbywgY29uc3QgUGxhdGZvcm1QYXJhbWV0ZXJzCiAKICAgICBpZiAoSXNBbmRyb2lkKCkpCiAg
ICAgewotICAgICAgICAvLyBXZSBkbyBub3Qgc3VwcG9ydCBub24tQU5HTEUgYmluZGluZ3Mgb24g
QW5kcm9pZC4KLSAgICAgICAgaWYgKHBhcmFtLmRyaXZlciAhPSBHTEVTRHJpdmVyVHlwZTo6QW5n
bGVFR0wpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQor
ICAgICAgICBBU1NFUlQocGFyYW0uZHJpdmVyID09IEdMRVNEcml2ZXJUeXBlOjpBbmdsZUVHTCk7
CiAKICAgICAgICAgLy8gTmV4dXMgQW5kcm9pZCBkZXZpY2VzIGRvbid0IHN1cHBvcnQgYmFja2lu
ZyAzLjIgY29udGV4dHMKICAgICAgICAgaWYgKHBhcmFtLmVnbFBhcmFtZXRlcnMubWFqb3JWZXJz
aW9uID09IDMgJiYgcGFyYW0uZWdsUGFyYW1ldGVycy5taW5vclZlcnNpb24gPT0gMikKQEAgLTQ0
OSwyMSArNTA0LDYgQEAgYm9vbCBJc0NvbmZpZ1doaXRlbGlzdGVkKGNvbnN0IFN5c3RlbUluZm8g
JnN5c3RlbUluZm8sIGNvbnN0IFBsYXRmb3JtUGFyYW1ldGVycwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAKLSAgICAgICAgLy8gVE9ETzogaHR0cDovL2NyYnVnLmNvbS9zd2lmdHNoYWRlci8x
NDUKLSAgICAgICAgLy8gU3dpZnRzaGFkZXIgZG9lcyBub3QgY3VycmVudGx5IGhhdmUgYWxsIHRo
ZSByb2J1c3RuZXNzIGZlYXR1cmVzCi0gICAgICAgIC8vIHdlIG5lZWQgZm9yIEFOR0xFLiBJbiBw
YXJ0aWN1bGFyLCBpdCBpcyB1bmFibGUgdG8gZGV0ZWN0IGFuZCByZWNvdmVyCi0gICAgICAgIC8v
IGZyb20gaW5maW5pdGVseSBsb29waW5nIHNoYWRlcnMuIFRoYXQgYnVnIGlzIHRoZSB0cmFja2Vy
IGZvciBmaXhpbmcKLSAgICAgICAgLy8gdGhhdCBhbmQgd2hlbiByZXNvbHZlZCB3ZSBjYW4gcmVt
b3ZlIHRoZSBmb2xsb3dpbmcgY29kZS4KLSAgICAgICAgLy8gVGhpcyB0ZXN0IHdpbGwgZGlzYWJs
ZSB0ZXN0cyBtYXJrZWQgd2l0aCB0aGUgY29uZmlnIFdpdGhSb2J1c3RuZXNzCi0gICAgICAgIC8v
IHdoZW4gcnVuIHdpdGggdGhlIHN3aWZ0c2hhZGVyIFZ1bGthbiBkcml2ZXIgYW5kIG9uIEFuZHJv
aWQuCi0gICAgICAgIERldmljZUlEIGRldmljZUlEID0KLSAgICAgICAgICAgIHN5c3RlbUluZm8u
Z3B1cy5lbXB0eSgpID8gMCA6IHN5c3RlbUluZm8uZ3B1c1tzeXN0ZW1JbmZvLmFjdGl2ZUdQVUlu
ZGV4XS5kZXZpY2VJZDsKLSAgICAgICAgaWYgKChwYXJhbS5pc1N3aWZ0c2hhZGVyKCkgfHwgKElz
R29vZ2xlKHZlbmRvcklEKSAmJiBkZXZpY2VJRCA9PSBrRGV2aWNlSURfU3dpZnRzaGFkZXIpKSAm
JgotICAgICAgICAgICAgcGFyYW0uZWdsUGFyYW1ldGVycy5yb2J1c3RuZXNzKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQogICAgICAgICAvLyBDdXJy
ZW50bHkgd2Ugc3VwcG9ydCB0aGUgR0xFUyBhbmQgVnVsa2FuIGJhY2stZW5kcyBvbiBBbmRyb2lk
LgogICAgICAgICBzd2l0Y2ggKHBhcmFtLmdldFJlbmRlcmVyKCkpCiAgICAgICAgIHsKQEAgLTQ5
MywxMyArNTMzLDEzIEBAIGJvb2wgSXNDb25maWdTdXBwb3J0ZWQoY29uc3QgUGxhdGZvcm1QYXJh
bWV0ZXJzICZwYXJhbSkKICAgICAgICAgc3dpdGNoIChwYXJhbS5kcml2ZXIpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGNhc2UgR0xFU0RyaXZlclR5cGU6OkFuZ2xlRUdMOgotICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IElzQU5HTEVDb25maWdTdXBwb3J0ZWQocGFyYW0sIG9zV2luZG93KTsKKyAg
ICAgICAgICAgICAgICByZXN1bHQgPSBJc0FuZ2xlRUdMQ29uZmlnU3VwcG9ydGVkKHBhcmFtLCBv
c1dpbmRvdyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIEdMRVNE
cml2ZXJUeXBlOjpTeXN0ZW1FR0w6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gSXNOYXRpdmVD
b25maWdTdXBwb3J0ZWQocGFyYW0sIG9zV2luZG93KTsKKyAgICAgICAgICAgICAgICByZXN1bHQg
PSBJc1N5c3RlbUVHTENvbmZpZ1N1cHBvcnRlZChwYXJhbSwgb3NXaW5kb3cpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBHTEVTRHJpdmVyVHlwZTo6U3lzdGVtV0dM
OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IElzV0dMQ29uZmlnU3VwcG9ydGVkKHBhcmFtLCBv
c1dpbmRvdyk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gSXNTeXN0ZW1XR0xDb25maWdTdXBw
b3J0ZWQocGFyYW0sIG9zV2luZG93KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91
dGlscy9hbmdsZV90ZXN0X2luc3RhbnRpYXRlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvdGVzdF91dGlscy9hbmdsZV90ZXN0X2luc3RhbnRpYXRlLmgKaW5kZXggYmU3MDll
MTI2ZjAwMWE1MzFiZTljMTM5NWY1M2VlOTU1YzVhMmMxNy4uZTRhYjEzODA1YjZjY2ZkZDgzNGNk
YmUxZGU3MGE1ZGRjMjMyM2VhMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL3Rlc3RfdXRpbHMvYW5nbGVfdGVzdF9pbnN0YW50aWF0ZS5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfaW5zdGFu
dGlhdGUuaApAQCAtNDQsNiArNDQsOSBAQCBib29sIElzTlZJRElBKCk7CiBib29sIElzQVJNKCk7
CiBib29sIElzQVJNNjQoKTsKIAorLy8gR1BVIGRldmljZXMuCitib29sIElzU3dpZnRzaGFkZXJE
ZXZpY2UoKTsKKwogaW5saW5lIGJvb2wgSXNBU2FuKCkKIHsKICNpZiBkZWZpbmVkKEFOR0xFX1dJ
VEhfQVNBTikKQEAgLTIwMyw2ICsyMDYsMTAgQEAgc3RydWN0IENvbWJpbmVkUHJpbnRUb1N0cmlu
Z1BhcmFtTmFtZQogLy8gZW51bWVyYXRpb24gb2YgcGxhdGZvcm1zIGluIHRoZSBleHRyYSBhcmdz
LCBzaW1pbGFyIHRvCiAvLyBBTkdMRV9JTlNUQU5USUFURV9URVNULiAgVGhlIG1hY3JvcyBhcmUg
ZGVmaW5lZCBvbmx5IGZvciB0aGUgTnMKIC8vIGN1cnJlbnRseSBpbiB1c2UsIGFuZCBjYW4gYmUg
ZXhwYW5kZWQgYXMgbmVjZXNzYXJ5LgorI2RlZmluZSBBTkdMRV9JTlNUQU5USUFURV9URVNUX0NP
TUJJTkVfMSh0ZXN0TmFtZSwgcHJpbnQsIGNvbWJpbmUxLCBmaXJzdCwgLi4uKSBcCisgICAgY29u
c3QgZGVjbHR5cGUoZmlyc3QpIHRlc3ROYW1lIyNwYXJhbXNbXSA9IHtmaXJzdCwgIyNfX1ZBX0FS
R1NfX307ICAgICAgICAgIFwKKyAgICBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAsIHRl
c3ROYW1lLCB0ZXN0aW5nOjpDb21iaW5lKEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfUExBVEZPUk1T
KHRlc3ROYW1lKSwgY29tYmluZTEpLCBwcmludCkKICNkZWZpbmUgQU5HTEVfSU5TVEFOVElBVEVf
VEVTVF9DT01CSU5FXzQodGVzdE5hbWUsIHByaW50LCBjb21iaW5lMSwgY29tYmluZTIsIGNvbWJp
bmUzLCBjb21iaW5lNCwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaXJzdCwgLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgY29uc3QgZGVjbHR5cGUoZmlyc3QpIHRlc3ROYW1lIyNwYXJhbXNbXSA9IHtmaXJz
dCwgIyNfX1ZBX0FSR1NfX307ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL3RoaXJkX3Bh
cnR5L3Z1bGthbl9jb21tYW5kX2J1ZmZlcl91dGlscy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy90aGlyZF9wYXJ0eS92dWxrYW5fY29tbWFuZF9idWZm
ZXJfdXRpbHMuY3BwCmluZGV4IDc3ZmQ5OTMzOGYyN2NhNTRhZmNkNzQ1ZmZkYjgyZjQ1ODQ1YzZm
MTUuLjlhMmJhNzU4ZWMyNGU4NzcyMzRkMDJjMmU4NGQ2MzRmMGU1N2UxZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL3RoaXJkX3BhcnR5
L3Z1bGthbl9jb21tYW5kX2J1ZmZlcl91dGlscy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvdGhpcmRfcGFydHkvdnVsa2FuX2NvbW1hbmRfYnVm
ZmVyX3V0aWxzLmNwcApAQCAtMjIzLDggKzIyMywxMSBAQCB2b2lkIGluaXRfaW5zdGFuY2VfZXh0
ZW5zaW9uX25hbWVzKHN0cnVjdCBzYW1wbGVfaW5mbyAmaW5mbykKIAogVmtSZXN1bHQgaW5pdF9p
bnN0YW5jZShzdHJ1Y3Qgc2FtcGxlX2luZm8gJmluZm8sIGNoYXIgY29uc3QgKmNvbnN0IGFwcF9z
aG9ydF9uYW1lKQogewotICAgIFZrUmVzdWx0IHJlcyA9IHZvbGtJbml0aWFsaXplKCk7CisgICAg
VmtSZXN1bHQgcmVzID0gVktfU1VDQ0VTUzsKKyNpZiBBTkdMRV9TSEFSRURfTElCVlVMS0FOCisg
ICAgcmVzID0gdm9sa0luaXRpYWxpemUoKTsKICAgICBBU1NFUlQocmVzID09IFZLX1NVQ0NFU1Mp
OworI2VuZGlmICAvLyBBTkdMRV9TSEFSRURfTElCVlVMS0FOCiAgICAgVmtBcHBsaWNhdGlvbklu
Zm8gYXBwX2luZm8gID0ge307CiAgICAgYXBwX2luZm8uc1R5cGUgICAgICAgICAgICAgID0gVktf
U1RSVUNUVVJFX1RZUEVfQVBQTElDQVRJT05fSU5GTzsKICAgICBhcHBfaW5mby5wTmV4dCAgICAg
ICAgICAgICAgPSBOVUxMOwpAQCAtMjQ3LDcgKzI1MCw5IEBAIFZrUmVzdWx0IGluaXRfaW5zdGFu
Y2Uoc3RydWN0IHNhbXBsZV9pbmZvICZpbmZvLCBjaGFyIGNvbnN0ICpjb25zdCBhcHBfc2hvcnRf
bmFtCiAKICAgICByZXMgPSB2a0NyZWF0ZUluc3RhbmNlKCZpbnN0X2luZm8sIE5VTEwsICZpbmZv
Lmluc3QpOwogICAgIEFTU0VSVChyZXMgPT0gVktfU1VDQ0VTUyk7CisjaWYgQU5HTEVfU0hBUkVE
X0xJQlZVTEtBTgogICAgIHZvbGtMb2FkSW5zdGFuY2UoaW5mby5pbnN0KTsKKyNlbmRpZiAgLy8g
QU5HTEVfU0hBUkVEX0xJQlZVTEtBTgogCiAgICAgcmV0dXJuIHJlczsKIH0KQEAgLTcwNCw3ICs3
MDksOSBAQCBWa1Jlc3VsdCBpbml0X2RldmljZShzdHJ1Y3Qgc2FtcGxlX2luZm8gJmluZm8pCiAK
ICAgICByZXMgPSB2a0NyZWF0ZURldmljZShpbmZvLmdwdXNbMF0sICZkZXZpY2VfaW5mbywgTlVM
TCwgJmluZm8uZGV2aWNlKTsKICAgICBBU1NFUlQocmVzID09IFZLX1NVQ0NFU1MpOworI2lmIEFO
R0xFX1NIQVJFRF9MSUJWVUxLQU4KICAgICB2b2xrTG9hZERldmljZShpbmZvLmRldmljZSk7Cisj
ZW5kaWYgIC8vIEFOR0xFX1NIQVJFRF9MSUJWVUxLQU4KIAogICAgIHJldHVybiByZXM7CiB9CkBA
IC0xNTU1LDEyICsxNTYyLDExIEBAIHZvaWQgaW5pdF9waXBlbGluZShzdHJ1Y3Qgc2FtcGxlX2lu
Zm8gJmluZm8sIFZrQm9vbDMyIGluY2x1ZGVfZGVwdGgsIFZrQm9vbDMyIGluCiB7CiAgICAgVmtS
ZXN1bHQgcmVzOwogCi0gICAgVmtEeW5hbWljU3RhdGUgZHluYW1pY1N0YXRlRW5hYmxlc1tWS19E
WU5BTUlDX1NUQVRFX1JBTkdFX1NJWkVdOworICAgIHN0ZDo6dmVjdG9yPFZrRHluYW1pY1N0YXRl
PiBkeW5hbWljU3RhdGVFbmFibGVzOwogICAgIFZrUGlwZWxpbmVEeW5hbWljU3RhdGVDcmVhdGVJ
bmZvIGR5bmFtaWNTdGF0ZSA9IHt9OwotICAgIG1lbXNldChkeW5hbWljU3RhdGVFbmFibGVzLCAw
LCBzaXplb2YgZHluYW1pY1N0YXRlRW5hYmxlcyk7CiAgICAgZHluYW1pY1N0YXRlLnNUeXBlICAg
ICAgICAgICAgID0gVktfU1RSVUNUVVJFX1RZUEVfUElQRUxJTkVfRFlOQU1JQ19TVEFURV9DUkVB
VEVfSU5GTzsKICAgICBkeW5hbWljU3RhdGUucE5leHQgICAgICAgICAgICAgPSBOVUxMOwotICAg
IGR5bmFtaWNTdGF0ZS5wRHluYW1pY1N0YXRlcyAgICA9IGR5bmFtaWNTdGF0ZUVuYWJsZXM7Cisg
ICAgZHluYW1pY1N0YXRlLnBEeW5hbWljU3RhdGVzICAgID0gTlVMTDsKICAgICBkeW5hbWljU3Rh
dGUuZHluYW1pY1N0YXRlQ291bnQgPSAwOwogCiAgICAgVmtQaXBlbGluZVZlcnRleElucHV0U3Rh
dGVDcmVhdGVJbmZvIHZpOwpAQCAtMTYyNCwxMiArMTYzMCwxNCBAQCB2b2lkIGluaXRfcGlwZWxp
bmUoc3RydWN0IHNhbXBsZV9pbmZvICZpbmZvLCBWa0Jvb2wzMiBpbmNsdWRlX2RlcHRoLCBWa0Jv
b2wzMiBpbgogICAgIHZwLnBOZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IE5VTEw7
CiAgICAgdnAuZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKICNpZm5kZWYg
X19BTkRST0lEX18KLSAgICB2cC52aWV3cG9ydENvdW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IE5VTV9WSUVXUE9SVFM7Ci0gICAgZHluYW1pY1N0YXRlRW5hYmxlc1tk
eW5hbWljU3RhdGUuZHluYW1pY1N0YXRlQ291bnQrK10gPSBWS19EWU5BTUlDX1NUQVRFX1ZJRVdQ
T1JUOwotICAgIHZwLnNjaXNzb3JDb3VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gTlVNX1NDSVNTT1JTOwotICAgIGR5bmFtaWNTdGF0ZUVuYWJsZXNbZHluYW1pY1N0
YXRlLmR5bmFtaWNTdGF0ZUNvdW50KytdID0gVktfRFlOQU1JQ19TVEFURV9TQ0lTU09SOwotICAg
IHZwLnBTY2lzc29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
TlVMTDsKLSAgICB2cC5wVmlld3BvcnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IE5VTEw7CisgICAgdnAudmlld3BvcnRDb3VudCA9IE5VTV9WSUVXUE9SVFM7Cisg
ICAgZHluYW1pY1N0YXRlLmR5bmFtaWNTdGF0ZUNvdW50Kys7CisgICAgZHluYW1pY1N0YXRlRW5h
Ymxlcy5wdXNoX2JhY2soVktfRFlOQU1JQ19TVEFURV9WSUVXUE9SVCk7CisgICAgdnAuc2Npc3Nv
ckNvdW50ID0gTlVNX1NDSVNTT1JTOworICAgIGR5bmFtaWNTdGF0ZS5keW5hbWljU3RhdGVDb3Vu
dCsrOworICAgIGR5bmFtaWNTdGF0ZUVuYWJsZXMucHVzaF9iYWNrKFZLX0RZTkFNSUNfU1RBVEVf
U0NJU1NPUik7CisgICAgdnAucFNjaXNzb3JzICA9IE5VTEw7CisgICAgdnAucFZpZXdwb3J0cyA9
IE5VTEw7CiAjZWxzZQogICAgIC8vIFRlbXBvcmFyeSBkaXNhYmxpbmcgZHluYW1pYyB2aWV3cG9y
dCBvbiBBbmRyb2lkIGJlY2F1c2Ugc29tZSBvZiBkcml2ZXJzIGRvZXNuJ3QKICAgICAvLyBzdXBw
b3J0IHRoZSBmZWF0dXJlLgpAQCAtMTcwMyw2ICsxNzExLDEyIEBAIHZvaWQgaW5pdF9waXBlbGlu
ZShzdHJ1Y3Qgc2FtcGxlX2luZm8gJmluZm8sIFZrQm9vbDMyIGluY2x1ZGVfZGVwdGgsIFZrQm9v
bDMyIGluCiAgICAgcGlwZWxpbmUucmVuZGVyUGFzcyAgICAgICAgICA9IGluZm8ucmVuZGVyX3Bh
c3M7CiAgICAgcGlwZWxpbmUuc3VicGFzcyAgICAgICAgICAgICA9IDA7CiAKKyAgICBpZiAoZHlu
YW1pY1N0YXRlRW5hYmxlcy5zaXplKCkgPiAwKQorICAgIHsKKyAgICAgICAgZHluYW1pY1N0YXRl
LnBEeW5hbWljU3RhdGVzICAgID0gZHluYW1pY1N0YXRlRW5hYmxlcy5kYXRhKCk7CisgICAgICAg
IGR5bmFtaWNTdGF0ZS5keW5hbWljU3RhdGVDb3VudCA9IGR5bmFtaWNTdGF0ZUVuYWJsZXMuc2l6
ZSgpOworICAgIH0KKwogICAgIHJlcyA9IHZrQ3JlYXRlR3JhcGhpY3NQaXBlbGluZXMoaW5mby5k
ZXZpY2UsIGluZm8ucGlwZWxpbmVDYWNoZSwgMSwgJnBpcGVsaW5lLCBOVUxMLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmluZm8ucGlwZWxpbmUpOwogICAgIEFTU0VSVChy
ZXMgPT0gVktfU1VDQ0VTUyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvdGVzdF91dGlscy90aGlyZF9wYXJ0eS92dWxrYW5fY29tbWFuZF9idWZmZXJfdXRp
bHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL3RoaXJk
X3BhcnR5L3Z1bGthbl9jb21tYW5kX2J1ZmZlcl91dGlscy5oCmluZGV4IDg3YzQ2YjY3MTU1YjYy
NTg0MzkwN2ZkNTkzMWUxYTg2OTEwN2YyY2QuLjE2NGFlNzJhN2ZmOTU3ZmE3NzlmNjRkZjViNDI4
MTI3MDI3ZDJkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy90ZXN0X3V0aWxzL3RoaXJkX3BhcnR5L3Z1bGthbl9jb21tYW5kX2J1ZmZlcl91dGlscy5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL3RoaXJkX3Bh
cnR5L3Z1bGthbl9jb21tYW5kX2J1ZmZlcl91dGlscy5oCkBAIC02MCw3ICs2MCw3IEBAIEFOR0xF
X1JFRU5BQkxFX0VYVFJBX1NFTUlfV0FSTklORwogIyAgICBpbmNsdWRlICJ2dWxrYW4vdmtfc2Rr
X3BsYXRmb3JtLmgiCiAjZW5kaWYKIAotI2luY2x1ZGUgInZvbGsuaCIKKyNpbmNsdWRlICJsaWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVhZGVycy5oIgogCiAvKiBOdW1iZXIgb2YgZGVzY3Jp
cHRvciBzZXRzIG5lZWRzIHRvIGJlIHRoZSBzYW1lIGF0IGFsbG9jLCAgICAgICAqLwogLyogcGlw
ZWxpbmUgbGF5b3V0IGNyZWF0aW9uLCBhbmQgZGVzY3JpcHRvciBzZXQgbGF5b3V0IGNyZWF0aW9u
ICAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwvQlVJTEQuZ24g
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL0JVSUxELmduCmluZGV4IGFjYjFiNDQxZDAy
NDBiYzYyNzBhZmFhZjgzY2VjNzAwMWYyYWE2MjkuLmE0YWMwY2QzNjAxNjFlNDk2ZjlkYTAyYmM1
YWQ5OTBkYjgxZWI5ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwv
QlVJTEQuZ24KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdXRpbC9CVUlMRC5nbgpAQCAt
MjQ5LDYgKzI0OSwxOSBAQCBpZiAoaXNfd2luICYmICFhbmdsZV9pc193aW51d3ApIHsKICAgfQog
fQogCitjb25maWcoImFuZ2xlX3BuZ191dGlsc19jb25maWciKSB7CisgIGluY2x1ZGVfZGlycyA9
IFsgIi4uIiBdCit9CisKK2FuZ2xlX3NvdXJjZV9zZXQoImFuZ2xlX3BuZ191dGlscyIpIHsKKyAg
ZGVwcyA9IFsgIiRhbmdsZV9saWJwbmdfZGlyIiBdCisgIHNvdXJjZXMgPSBbCisgICAgInBuZ191
dGlscy5jcHAiLAorICAgICJwbmdfdXRpbHMuaCIsCisgIF0KKyAgcHVibGljX2NvbmZpZ3MgPSBb
ICI6YW5nbGVfcG5nX3V0aWxzX2NvbmZpZyIgXQorfQorCiBjb25maWcoImFuZ2xlX3Rlc3RfdXRp
bF9jb25maWciKSB7CiAgIGluY2x1ZGVfZGlycyA9IFsgIi4uIiBdCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL0VHTFBsYXRmb3JtUGFyYW1ldGVycy5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdXRpbC9FR0xQbGF0Zm9ybVBhcmFtZXRlcnMuaAppbmRleCBm
NTUzNjY3NDhiODFmMzFkMzUxNWUzYzI2YjFiODk5ODZlZTYwY2ZhLi45MTIyMzY3Y2E3ZGY5YTI3
MzQ4ZThjM2JhYzE0OGNlNjBjNGU0Y2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS91dGlsL0VHTFBsYXRmb3JtUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3V0aWwvRUdMUGxhdGZvcm1QYXJhbWV0ZXJzLmgKQEAgLTE1LDYgKzE1LDE3IEBACiBu
YW1lc3BhY2UgYW5nbGUKIHsKIHN0cnVjdCBQbGF0Zm9ybU1ldGhvZHM7CisKKy8vIFRoZSBHTEVT
IGRyaXZlciB0eXBlIGRldGVybWluZXMgd2hhdCBzaGFyZWQgb2JqZWN0IHdlIHVzZSB0byBsb2Fk
IHRoZSBHTEVTIGVudHJ5IHBvaW50cy4KKy8vIEFuZ2xlRUdMIGxvYWRzIGZyb20gQU5HTEUncyB2
ZXJzaW9uIG9mIGxpYkVHTCwgbGliR0xFU3YyLCBhbmQgbGliR0xFU3YxX0NNLgorLy8gU3lzdGVt
RUdMIHVzZXMgdGhlIHN5c3RlbSBjb3BpZXMgb2YgbGliRUdMLCBsaWJHTEVTdjIsIGFuZCBsaWJH
TEVTdjFfQ00uCisvLyBTeXN0ZW1XR0wgbG9hZHMgV2luZG93cyBHTCB3aXRoIHRoZSBHTEVTIGNv
bXBhdGlibGl0eSBleHRlbnNpb25zLiBTZWUgdXRpbC9XR0xXaW5kb3cuaC4KK2VudW0gY2xhc3Mg
R0xFU0RyaXZlclR5cGUKK3sKKyAgICBBbmdsZUVHTCwKKyAgICBTeXN0ZW1FR0wsCisgICAgU3lz
dGVtV0dMLAorfTsKIH0gIC8vIG5hbWVzcGFjZSBhbmdsZQogCiBzdHJ1Y3QgRUdMUGxhdGZvcm1Q
YXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL0VHTFdp
bmRvdy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL0VHTFdpbmRvdy5jcHAKaW5k
ZXggZGNiYjA0OGIzZjZlMDU4N2VmMjhhODg3OTNlMTFiODFmMzg1ZDIzYi4uYzI1NzI5MGRmYzQ1
OWJkOWQ2NjQ5MjkyM2NjMWQwNzYyOWQyYjEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdXRpbC9FR0xXaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3V0aWwvRUdMV2luZG93LmNwcApAQCAtOTIsMTAgKzkyLDExIEBAIEVHTENvbnRleHQgRUdMV2lu
ZG93OjpnZXRDb250ZXh0KCkgY29uc3QKIAogYm9vbCBFR0xXaW5kb3c6OmluaXRpYWxpemVHTChP
U1dpbmRvdyAqb3NXaW5kb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpM
aWJyYXJ5ICpnbFdpbmRvd2luZ0xpYnJhcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFuZ2xlOjpHTEVTRHJpdmVyVHlwZSBkcml2ZXJUeXBlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBFR0xQbGF0Zm9ybVBhcmFtZXRlcnMgJnBsYXRmb3JtUGFyYW1zLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBDb25maWdQYXJhbWV0ZXJzICZjb25maWdQ
YXJhbXMpCiB7Ci0gICAgaWYgKCFpbml0aWFsaXplRGlzcGxheShvc1dpbmRvdywgZ2xXaW5kb3dp
bmdMaWJyYXJ5LCBwbGF0Zm9ybVBhcmFtcykpCisgICAgaWYgKCFpbml0aWFsaXplRGlzcGxheShv
c1dpbmRvdywgZ2xXaW5kb3dpbmdMaWJyYXJ5LCBkcml2ZXJUeXBlLCBwbGF0Zm9ybVBhcmFtcykp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWluaXRpYWxpemVTdXJmYWNlKG9zV2lu
ZG93LCBnbFdpbmRvd2luZ0xpYnJhcnksIGNvbmZpZ1BhcmFtcykpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTEwNiw2ICsxMDcsNyBAQCBib29sIEVHTFdpbmRvdzo6aW5pdGlhbGl6ZUdMKE9T
V2luZG93ICpvc1dpbmRvdywKIAogYm9vbCBFR0xXaW5kb3c6OmluaXRpYWxpemVEaXNwbGF5KE9T
V2luZG93ICpvc1dpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmds
ZTo6TGlicmFyeSAqZ2xXaW5kb3dpbmdMaWJyYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFuZ2xlOjpHTEVTRHJpdmVyVHlwZSBkcml2ZXJUeXBlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEVHTFBsYXRmb3JtUGFyYW1ldGVycyAmcGFyYW1z
KQogewogI2lmIGRlZmluZWQoQU5HTEVfVVNFX1VUSUxfTE9BREVSKQpAQCAtMTEzLDYgKzExNSw3
IEBAIGJvb2wgRUdMV2luZG93Ojppbml0aWFsaXplRGlzcGxheShPU1dpbmRvdyAqb3NXaW5kb3cs
CiAgICAgZ2xXaW5kb3dpbmdMaWJyYXJ5LT5nZXRBcygiZWdsR2V0UHJvY0FkZHJlc3MiLCAmZ2V0
UHJvY0FkZHJlc3MpOwogICAgIGlmICghZ2V0UHJvY0FkZHJlc3MpCiAgICAgeworICAgICAgICBm
cHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBsb2FkIGVnbEdldFByb2NBZGRyZXNzXG4iKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMTkyLDcgKzE5NSw3IEBAIGJvb2wgRUdMV2lu
ZG93Ojppbml0aWFsaXplRGlzcGxheShPU1dpbmRvdyAqb3NXaW5kb3csCiAgICAgewogICAgICAg
ICBpZiAoc3Ryc3RyKGV4dGVuc2lvblN0cmluZywgIkVHTF9BTkdMRV9mZWF0dXJlX2NvbnRyb2wi
KSA9PSBudWxscHRyKQogICAgICAgICB7Ci0gICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIk1pc3Np
bmcgRUdMX0FOR0xFX2ZlYXR1cmVfY29udHJvbC5cbiI7CisgICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIk1pc3NpbmcgRUdMX0FOR0xFX2ZlYXR1cmVfY29udHJvbC5cbiIpOwogICAgICAgICAg
ICAgZGVzdHJveUdMKCk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAg
LTIwNyw3ICsyMTAsNyBAQCBib29sIEVHTFdpbmRvdzo6aW5pdGlhbGl6ZURpc3BsYXkoT1NXaW5k
b3cgKm9zV2luZG93LAogICAgIHsKICAgICAgICAgaWYgKHN0cnN0cihleHRlbnNpb25TdHJpbmcs
ICJFR0xfQU5HTEVfZmVhdHVyZV9jb250cm9sIikgPT0gbnVsbHB0cikKICAgICAgICAgewotICAg
ICAgICAgICAgc3RkOjpjb3V0IDw8ICJNaXNzaW5nIEVHTF9BTkdMRV9mZWF0dXJlX2NvbnRyb2wu
XG4iOworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJNaXNzaW5nIEVHTF9BTkdMRV9mZWF0
dXJlX2NvbnRyb2wuXG4iKTsKICAgICAgICAgICAgIGRlc3Ryb3lHTCgpOwogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0yMjAsMTcgKzIyMywzMSBAQCBib29sIEVHTFdp
bmRvdzo6aW5pdGlhbGl6ZURpc3BsYXkoT1NXaW5kb3cgKm9zV2luZG93LAogCiAgICAgZGlzcGxh
eUF0dHJpYnV0ZXMucHVzaF9iYWNrKEVHTF9OT05FKTsKIAotICAgIG1EaXNwbGF5ID0gZWdsR2V0
UGxhdGZvcm1EaXNwbGF5KEVHTF9QTEFURk9STV9BTkdMRV9BTkdMRSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQgKj4ob3NXaW5kb3ct
PmdldE5hdGl2ZURpc3BsYXkoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmRpc3BsYXlBdHRyaWJ1dGVzWzBdKTsKKyAgICBpZiAoZHJpdmVyVHlwZSA9PSBhbmdsZTo6
R0xFU0RyaXZlclR5cGU6OlN5c3RlbVdHTCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aWYgKGRyaXZlclR5cGUgPT0gYW5nbGU6OkdMRVNEcml2ZXJUeXBlOjpBbmdsZUVHTCAmJgorICAg
ICAgICBzdHJzdHIoZXh0ZW5zaW9uU3RyaW5nLCAiRUdMX0FOR0xFX3BsYXRmb3JtX2FuZ2xlIikp
CisgICAgeworICAgICAgICBtRGlzcGxheSA9IGVnbEdldFBsYXRmb3JtRGlzcGxheShFR0xfUExB
VEZPUk1fQU5HTEVfQU5HTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAqPihvc1dpbmRvdy0+Z2V0TmF0aXZlRGlzcGxheSgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRpc3BsYXlBdHRy
aWJ1dGVzWzBdKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgbURpc3BsYXkgPSBl
Z2xHZXREaXNwbGF5KEVHTF9ERUZBVUxUX0RJU1BMQVkpOworICAgIH0KKwogICAgIGlmIChtRGlz
cGxheSA9PSBFR0xfTk9fRElTUExBWSkKICAgICB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
RmFpbGVkIHRvIGdldCBkaXNwbGF5OiAweCVYXG4iLCBlZ2xHZXRFcnJvcigpKTsKICAgICAgICAg
ZGVzdHJveUdMKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBpZiAoZWds
SW5pdGlhbGl6ZShtRGlzcGxheSwgJm1FR0xNYWpvclZlcnNpb24sICZtRUdMTWlub3JWZXJzaW9u
KSA9PSBFR0xfRkFMU0UpCiAgICAgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVnbEluaXRp
YWxpemUgZmFpbGVkOiAweCVYXG4iLCBlZ2xHZXRFcnJvcigpKTsKICAgICAgICAgZGVzdHJveUdM
KCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0yNjksNiArMjg2LDcgQEAgYm9v
bCBFR0xXaW5kb3c6OmluaXRpYWxpemVTdXJmYWNlKE9TV2luZG93ICpvc1dpbmRvdywKICAgICBi
b29sIGhhc1BpeGVsRm9ybWF0RmxvYXQgPSBzdHJzdHIoZGlzcGxheUV4dGVuc2lvbnMsICJFR0xf
RVhUX3BpeGVsX2Zvcm1hdF9mbG9hdCIpICE9IG51bGxwdHI7CiAgICAgaWYgKCFoYXNQaXhlbEZv
cm1hdEZsb2F0ICYmIG1Db25maWdQYXJhbXMuY29tcG9uZW50VHlwZSAhPSBFR0xfQ09MT1JfQ09N
UE9ORU5UX1RZUEVfRklYRURfRVhUKQogICAgIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJN
aXNpbmcgRUdMX0VYVF9waXhlbF9mb3JtYXRfZmxvYXQuXG4iKTsKICAgICAgICAgZGVzdHJveUdM
KCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0yODMsNyArMzAxLDcgQEAgYm9v
bCBFR0xXaW5kb3c6OmluaXRpYWxpemVTdXJmYWNlKE9TV2luZG93ICpvc1dpbmRvdywKIAogICAg
IGlmICghRmluZEVHTENvbmZpZyhtRGlzcGxheSwgY29uZmlnQXR0cmlidXRlcy5kYXRhKCksICZt
Q29uZmlnKSkKICAgICB7Ci0gICAgICAgIHN0ZDo6Y291dCA8PCAiQ291bGQgbm90IGZpbmQgYSBz
dWl0YWJsZSBFR0wgY29uZmlnISIgPDwgc3RkOjplbmRsOworICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIkNvdWxkIG5vdCBmaW5kIGEgc3VpdGFibGUgRUdMIGNvbmZpZyFcbiIpOwogICAgICAgICBk
ZXN0cm95R0woKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTMyMCw2ICszMzgs
NyBAQCBib29sIEVHTFdpbmRvdzo6aW5pdGlhbGl6ZVN1cmZhY2UoT1NXaW5kb3cgKm9zV2luZG93
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3VyZmFjZUF0dHJpYnV0
ZXNbMF0pOwogICAgIGlmIChlZ2xHZXRFcnJvcigpICE9IEVHTF9TVUNDRVNTIHx8IChtU3VyZmFj
ZSA9PSBFR0xfTk9fU1VSRkFDRSkpCiAgICAgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVn
bENyZWF0ZVdpbmRvd1N1cmZhY2UgZmFpbGVkOiAweCVYXG4iLCBlZ2xHZXRFcnJvcigpKTsKICAg
ICAgICAgZGVzdHJveUdMKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0zNDAs
NyArMzU5LDE1IEBAIEVHTENvbnRleHQgRUdMV2luZG93OjpjcmVhdGVDb250ZXh0KEVHTENvbnRl
eHQgc2hhcmUpIGNvbnN0CiAgICAgaWYgKG1DbGllbnRNYWpvclZlcnNpb24gPiAyICYmICEobUVH
TE1ham9yVmVyc2lvbiA+IDEgfHwgbUVHTE1pbm9yVmVyc2lvbiA+PSA1KSAmJgogICAgICAgICAh
aGFzS0hSQ3JlYXRlQ29udGV4dCkKICAgICB7Ci0gICAgICAgIHN0ZDo6Y2VyciA8PCAiRUdMX0tI
Ul9jcmVhdGVfY29udGV4dCBpbmNvbXBhdGliaWxpdHkuXG4iOworICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIkVHTF9LSFJfY3JlYXRlX2NvbnRleHQgaW5jb21wYXRpYmlsaXR5LlxuIik7CisgICAg
ICAgIHJldHVybiBFR0xfTk9fQ09OVEVYVDsKKyAgICB9CisKKyAgICAvLyBFR0xfQ09OVEVYVF9P
UEVOR0xfREVCVUcgaXMgb25seSB2YWxpZCBhcyBvZiBFR0wgMS41LgorICAgIGJvb2wgaGFzRGVi
dWcgPSBtRUdMTWlub3JWZXJzaW9uID49IDU7CisgICAgaWYgKG1Db25maWdQYXJhbXMuZGVidWcg
JiYgIWhhc0RlYnVnKQorICAgIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFR0wgMS41IGlz
IHJlcXVpcmVkIGZvciBFR0xfQ09OVEVYVF9PUEVOR0xfREVCVUcuXG4iKTsKICAgICAgICAgcmV0
dXJuIEVHTF9OT19DT05URVhUOwogICAgIH0KIApAQCAtMzQ4LDcgKzM3NSw3IEBAIEVHTENvbnRl
eHQgRUdMV2luZG93OjpjcmVhdGVDb250ZXh0KEVHTENvbnRleHQgc2hhcmUpIGNvbnN0CiAgICAg
ICAgIHN0cnN0cihkaXNwbGF5RXh0ZW5zaW9ucywgIkVHTF9BTkdMRV9jcmVhdGVfY29udGV4dF93
ZWJnbF9jb21wYXRpYmlsaXR5IikgIT0gbnVsbHB0cjsKICAgICBpZiAobUNvbmZpZ1BhcmFtcy53
ZWJHTENvbXBhdGliaWxpdHkudmFsaWQoKSAmJiAhaGFzV2ViR0xDb21wYXRpYmlsaXR5KQogICAg
IHsKLSAgICAgICAgc3RkOjpjZXJyIDw8ICJFR0xfQU5HTEVfY3JlYXRlX2NvbnRleHRfd2ViZ2xf
Y29tcGF0aWJpbGl0eSBtaXNzaW5nLlxuIjsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFR0xf
QU5HTEVfY3JlYXRlX2NvbnRleHRfd2ViZ2xfY29tcGF0aWJpbGl0eSBtaXNzaW5nLlxuIik7CiAg
ICAgICAgIHJldHVybiBFR0xfTk9fQ09OVEVYVDsKICAgICB9CiAKQEAgLTM1Niw3ICszODMsNyBA
QCBFR0xDb250ZXh0IEVHTFdpbmRvdzo6Y3JlYXRlQ29udGV4dChFR0xDb250ZXh0IHNoYXJlKSBj
b25zdAogICAgICAgICBzdHJzdHIoZGlzcGxheUV4dGVuc2lvbnMsICJFR0xfQU5HTEVfY3JlYXRl
X2NvbnRleHRfZXh0ZW5zaW9uc19lbmFibGVkIikgIT0gbnVsbHB0cjsKICAgICBpZiAobUNvbmZp
Z1BhcmFtcy5leHRlbnNpb25zRW5hYmxlZC52YWxpZCgpICYmICFoYXNDcmVhdGVDb250ZXh0RXh0
ZW5zaW9uc0VuYWJsZWQpCiAgICAgewotICAgICAgICBzdGQ6OmNlcnIgPDwgIkVHTF9BTkdMRV9j
cmVhdGVfY29udGV4dF9leHRlbnNpb25zX2VuYWJsZWQgbWlzc2luZy5cbiI7CisgICAgICAgIGZw
cmludGYoc3RkZXJyLCAiRUdMX0FOR0xFX2NyZWF0ZV9jb250ZXh0X2V4dGVuc2lvbnNfZW5hYmxl
ZCBtaXNzaW5nLlxuIik7CiAgICAgICAgIHJldHVybiBFR0xfTk9fQ09OVEVYVDsKICAgICB9CiAK
QEAgLTM2NSw3ICszOTIsNyBAQCBFR0xDb250ZXh0IEVHTFdpbmRvdzo6Y3JlYXRlQ29udGV4dChF
R0xDb250ZXh0IHNoYXJlKSBjb25zdAogICAgICAgICAgbUNvbmZpZ1BhcmFtcy5yZXNldFN0cmF0
ZWd5ICE9IEVHTF9OT19SRVNFVF9OT1RJRklDQVRJT05fRVhUKSAmJgogICAgICAgICAhaGFzUm9i
dXN0bmVzcykKICAgICB7Ci0gICAgICAgIHN0ZDo6Y2VyciA8PCAiRUdMX0VYVF9jcmVhdGVfY29u
dGV4dF9yb2J1c3RuZXNzIG1pc3NpbmcuXG4iOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVH
TF9FWFRfY3JlYXRlX2NvbnRleHRfcm9idXN0bmVzcyBtaXNzaW5nLlxuIik7CiAgICAgICAgIHJl
dHVybiBFR0xfTk9fQ09OVEVYVDsKICAgICB9CiAKQEAgLTM3Myw3ICs0MDAsNyBAQCBFR0xDb250
ZXh0IEVHTFdpbmRvdzo6Y3JlYXRlQ29udGV4dChFR0xDb250ZXh0IHNoYXJlKSBjb25zdAogICAg
ICAgICBzdHJzdHIoZGlzcGxheUV4dGVuc2lvbnMsICJFR0xfQ0hST01JVU1fY3JlYXRlX2NvbnRl
eHRfYmluZF9nZW5lcmF0ZXNfcmVzb3VyY2UiKSAhPSBudWxscHRyOwogICAgIGlmICghbUNvbmZp
Z1BhcmFtcy5iaW5kR2VuZXJhdGVzUmVzb3VyY2UgJiYgIWhhc0JpbmRHZW5lcmF0ZXNSZXNvdXJj
ZSkKICAgICB7Ci0gICAgICAgIHN0ZDo6Y2VyciA8PCAiRUdMX0NIUk9NSVVNX2NyZWF0ZV9jb250
ZXh0X2JpbmRfZ2VuZXJhdGVzX3Jlc291cmNlIG1pc3NpbmcuXG4iOworICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIkVHTF9DSFJPTUlVTV9jcmVhdGVfY29udGV4dF9iaW5kX2dlbmVyYXRlc19yZXNv
dXJjZSBtaXNzaW5nLlxuIik7CiAgICAgICAgIHJldHVybiBFR0xfTk9fQ09OVEVYVDsKICAgICB9
CiAKQEAgLTM4Miw3ICs0MDksNyBAQCBFR0xDb250ZXh0IEVHTFdpbmRvdzo6Y3JlYXRlQ29udGV4
dChFR0xDb250ZXh0IHNoYXJlKSBjb25zdAogICAgIGlmICghbUNvbmZpZ1BhcmFtcy5jbGllbnRB
cnJheXNFbmFibGVkICYmICFoYXNDbGllbnRBcnJheXNFeHRlbnNpb24pCiAgICAgewogICAgICAg
ICAvLyBOb24tZGVmYXVsdCBzdGF0ZSByZXF1ZXN0ZWQgd2l0aG91dCB0aGUgZXh0ZW5zaW9uIHBy
ZXNlbnQKLSAgICAgICAgc3RkOjpjZXJyIDw8ICJFR0xfQU5HTEVfY3JlYXRlX2NvbnRleHRfY2xp
ZW50X2FycmF5cyBtaXNzaW5nLlxuIjsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFR0xfQU5H
TEVfY3JlYXRlX2NvbnRleHRfY2xpZW50X2FycmF5cyBtaXNzaW5nLlxuIik7CiAgICAgICAgIHJl
dHVybiBFR0xfTk9fQ09OVEVYVDsKICAgICB9CiAKQEAgLTM5MCwyMiArNDE3LDIyIEBAIEVHTENv
bnRleHQgRUdMV2luZG93OjpjcmVhdGVDb250ZXh0KEVHTENvbnRleHQgc2hhcmUpIGNvbnN0CiAg
ICAgICAgIHN0cnN0cihkaXNwbGF5RXh0ZW5zaW9ucywgIkVHTF9BTkdMRV9wcm9ncmFtX2NhY2hl
X2NvbnRyb2wgIikgIT0gbnVsbHB0cjsKICAgICBpZiAobUNvbmZpZ1BhcmFtcy5jb250ZXh0UHJv
Z3JhbUNhY2hlRW5hYmxlZC52YWxpZCgpICYmICFoYXNQcm9ncmFtQ2FjaGVDb250cm9sRXh0ZW5z
aW9uKQogICAgIHsKLSAgICAgICAgc3RkOjpjZXJyIDw8ICJFR0xfQU5HTEVfcHJvZ3JhbV9jYWNo
ZV9jb250cm9sIG1pc3NpbmcuXG4iOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVHTF9BTkdM
RV9wcm9ncmFtX2NhY2hlX2NvbnRyb2wgbWlzc2luZy5cbiIpOwogICAgICAgICByZXR1cm4gRUdM
X05PX0NPTlRFWFQ7CiAgICAgfQogCi0gICAgYm9vbCBoYXNCYWNrd2FyZHNDb21wYXRpYmxlQ29u
dGV4dEV4dGVuc2lvbiA9Ci0gICAgICAgIHN0cnN0cihkaXNwbGF5RXh0ZW5zaW9ucywgIkVHTF9B
TkdMRV9jcmVhdGVfY29udGV4dF9iYWNrd2FyZHNfY29tcGF0aWJsZSIpICE9IG51bGxwdHI7Ci0g
ICAgaWYgKCFoYXNQcm9ncmFtQ2FjaGVDb250cm9sRXh0ZW5zaW9uKQorICAgIGJvb2wgaGFzS0hS
Q3JlYXRlQ29udGV4dE5vRXJyb3IgPQorICAgICAgICBzdHJzdHIoZGlzcGxheUV4dGVuc2lvbnMs
ICJFR0xfS0hSX2NyZWF0ZV9jb250ZXh0X25vX2Vycm9yIikgIT0gbnVsbHB0cjsKKyAgICBpZiAo
bUNvbmZpZ1BhcmFtcy5ub0Vycm9yICYmICFoYXNLSFJDcmVhdGVDb250ZXh0Tm9FcnJvcikKICAg
ICB7Ci0gICAgICAgIHN0ZDo6Y2VyciA8PCAiRUdMX0FOR0xFX2NyZWF0ZV9jb250ZXh0X2JhY2t3
YXJkc19jb21wYXRpYmxlIG1pc3NpbmcuXG4iOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVH
TF9LSFJfY3JlYXRlX2NvbnRleHRfbm9fZXJyb3IgbWlzc2luZy5cbiIpOwogICAgICAgICByZXR1
cm4gRUdMX05PX0NPTlRFWFQ7CiAgICAgfQogCiAgICAgZWdsQmluZEFQSShFR0xfT1BFTkdMX0VT
X0FQSSk7CiAgICAgaWYgKGVnbEdldEVycm9yKCkgIT0gRUdMX1NVQ0NFU1MpCiAgICAgewotICAg
ICAgICBzdGQ6OmNlcnIgPDwgIkVycm9yIG9uIGVnbEJpbmRBUEkuXG4iOworICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIkVycm9yIG9uIGVnbEJpbmRBUEkuXG4iKTsKICAgICAgICAgcmV0dXJuIEVH
TF9OT19DT05URVhUOwogICAgIH0KIApAQCAtNDE4LDE1ICs0NDUsMTkgQEAgRUdMQ29udGV4dCBF
R0xXaW5kb3c6OmNyZWF0ZUNvbnRleHQoRUdMQ29udGV4dCBzaGFyZSkgY29uc3QKICAgICAgICAg
Y29udGV4dEF0dHJpYnV0ZXMucHVzaF9iYWNrKEVHTF9DT05URVhUX01JTk9SX1ZFUlNJT05fS0hS
KTsKICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXMucHVzaF9iYWNrKG1DbGllbnRNaW5vclZlcnNp
b24pOwogCi0gICAgICAgIGNvbnRleHRBdHRyaWJ1dGVzLnB1c2hfYmFjayhFR0xfQ09OVEVYVF9P
UEVOR0xfREVCVUcpOwotICAgICAgICBjb250ZXh0QXR0cmlidXRlcy5wdXNoX2JhY2sobUNvbmZp
Z1BhcmFtcy5kZWJ1ZyA/IEVHTF9UUlVFIDogRUdMX0ZBTFNFKTsKLQotICAgICAgICAvLyBUT0RP
KGptYWRpbGwpOiBDaGVjayBmb3IgdGhlIGV4dGVuc2lvbiBzdHJpbmcuCi0gICAgICAgIC8vIGJv
b2wgaGFzS0hSQ3JlYXRlQ29udGV4dE5vRXJyb3IgPSBzdHJzdHIoZGlzcGxheUV4dGVuc2lvbnMs
Ci0gICAgICAgIC8vICJFR0xfS0hSX2NyZWF0ZV9jb250ZXh0X25vX2Vycm9yIikgIT0gbnVsbHB0
cjsKKyAgICAgICAgLy8gTm90ZSB0aGF0IHRoZSBBbmRyb2lkIGxvYWRlciBjdXJyZW50bHkgZG9l
c24ndCBoYW5kbGUgdGhpcyBmbGFnIGRlc3BpdGUgcmVwb3J0aW5nIDEuNS4KKyAgICAgICAgLy8g
V29yayBhcm91bmQgdGhpcyBieSBvbmx5IHVzaW5nIHRoZSBkZWJ1ZyBiaXQgd2hlbiB3ZSByZXF1
ZXN0IGEgZGVidWcgY29udGV4dC4KKyAgICAgICAgaWYgKGhhc0RlYnVnICYmIG1Db25maWdQYXJh
bXMuZGVidWcpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnRleHRBdHRyaWJ1dGVzLnB1c2hf
YmFjayhFR0xfQ09OVEVYVF9PUEVOR0xfREVCVUcpOworICAgICAgICAgICAgY29udGV4dEF0dHJp
YnV0ZXMucHVzaF9iYWNrKG1Db25maWdQYXJhbXMuZGVidWcgPyBFR0xfVFJVRSA6IEVHTF9GQUxT
RSk7CisgICAgICAgIH0KIAotICAgICAgICBjb250ZXh0QXR0cmlidXRlcy5wdXNoX2JhY2soRUdM
X0NPTlRFWFRfT1BFTkdMX05PX0VSUk9SX0tIUik7Ci0gICAgICAgIGNvbnRleHRBdHRyaWJ1dGVz
LnB1c2hfYmFjayhtQ29uZmlnUGFyYW1zLm5vRXJyb3IgPyBFR0xfVFJVRSA6IEVHTF9GQUxTRSk7
CisgICAgICAgIGlmIChoYXNLSFJDcmVhdGVDb250ZXh0Tm9FcnJvcikKKyAgICAgICAgeworICAg
ICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXMucHVzaF9iYWNrKEVHTF9DT05URVhUX09QRU5HTF9O
T19FUlJPUl9LSFIpOworICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXMucHVzaF9iYWNrKG1D
b25maWdQYXJhbXMubm9FcnJvciA/IEVHTF9UUlVFIDogRUdMX0ZBTFNFKTsKKyAgICAgICAgfQog
CiAgICAgICAgIGlmIChtQ29uZmlnUGFyYW1zLndlYkdMQ29tcGF0aWJpbGl0eS52YWxpZCgpKQog
ICAgICAgICB7CkBAIC00NzAsNiArNTAxLDggQEAgRUdMQ29udGV4dCBFR0xXaW5kb3c6OmNyZWF0
ZUNvbnRleHQoRUdMQ29udGV4dCBzaGFyZSkgY29uc3QKICAgICAgICAgICAgICAgICBtQ29uZmln
UGFyYW1zLmNvbnRleHRQcm9ncmFtQ2FjaGVFbmFibGVkLnZhbHVlKCkgPyBFR0xfVFJVRSA6IEVH
TF9GQUxTRSk7CiAgICAgICAgIH0KIAorICAgICAgICBib29sIGhhc0JhY2t3YXJkc0NvbXBhdGli
bGVDb250ZXh0RXh0ZW5zaW9uID0KKyAgICAgICAgICAgIHN0cnN0cihkaXNwbGF5RXh0ZW5zaW9u
cywgIkVHTF9BTkdMRV9jcmVhdGVfY29udGV4dF9iYWNrd2FyZHNfY29tcGF0aWJsZSIpICE9IG51
bGxwdHI7CiAgICAgICAgIGlmIChoYXNCYWNrd2FyZHNDb21wYXRpYmxlQ29udGV4dEV4dGVuc2lv
bikKICAgICAgICAgewogICAgICAgICAgICAgLy8gQWx3YXlzIHJlcXVlc3QgdGhlIGV4YWN0IGNv
bnRleHQgdmVyc2lvbiB0aGF0IHRoZSBjb25maWcgd2FudHMKQEAgLTQ4OSw5ICs1MjIsOSBAQCBF
R0xDb250ZXh0IEVHTFdpbmRvdzo6Y3JlYXRlQ29udGV4dChFR0xDb250ZXh0IHNoYXJlKSBjb25z
dAogICAgIGNvbnRleHRBdHRyaWJ1dGVzLnB1c2hfYmFjayhFR0xfTk9ORSk7CiAKICAgICBFR0xD
b250ZXh0IGNvbnRleHQgPSBlZ2xDcmVhdGVDb250ZXh0KG1EaXNwbGF5LCBtQ29uZmlnLCBzaGFy
ZSwgJmNvbnRleHRBdHRyaWJ1dGVzWzBdKTsKLSAgICBpZiAoZWdsR2V0RXJyb3IoKSAhPSBFR0xf
U1VDQ0VTUykKKyAgICBpZiAoY29udGV4dCA9PSBFR0xfTk9fQ09OVEVYVCkKICAgICB7Ci0gICAg
ICAgIHN0ZDo6Y2VyciA8PCAiRXJyb3Igb24gZWdsQ3JlYXRlQ29udGV4dC5cbiI7CisgICAgICAg
IGZwcmludGYoc3RkZXJyLCAiZWdsQ3JlYXRlQ29udGV4dCBmYWlsZWQ6IDB4JVhcbiIsIGVnbEdl
dEVycm9yKCkpOwogICAgICAgICByZXR1cm4gRUdMX05PX0NPTlRFWFQ7CiAgICAgfQogCkBAIC01
OTksNyArNjMyLDcgQEAgYm9vbCBFR0xXaW5kb3c6Om1ha2VDdXJyZW50KCkKICAgICBpZiAoZWds
TWFrZUN1cnJlbnQobURpc3BsYXksIG1TdXJmYWNlLCBtU3VyZmFjZSwgbUNvbnRleHQpID09IEVH
TF9GQUxTRSB8fAogICAgICAgICBlZ2xHZXRFcnJvcigpICE9IEVHTF9TVUNDRVNTKQogICAgIHsK
LSAgICAgICAgc3RkOjpjZXJyIDw8ICJFcnJvciBkdXJpbmcgZWdsTWFrZUN1cnJlbnQuXG4iOwor
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGR1cmluZyBlZ2xNYWtlQ3VycmVudC5cbiIp
OwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC02MTAsNyArNjQzLDcgQEAgYm9v
bCBFR0xXaW5kb3c6OnNldFN3YXBJbnRlcnZhbChFR0xpbnQgc3dhcEludGVydmFsKQogewogICAg
IGlmIChlZ2xTd2FwSW50ZXJ2YWwobURpc3BsYXksIHN3YXBJbnRlcnZhbCkgPT0gRUdMX0ZBTFNF
IHx8IGVnbEdldEVycm9yKCkgIT0gRUdMX1NVQ0NFU1MpCiAgICAgewotICAgICAgICBzdGQ6OmNl
cnIgPDwgIkVycm9yIGR1cmluZyBlZ2xTd2FwSW50ZXJ2YWwuXG4iOworICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIkVycm9yIGR1cmluZyBlZ2xTd2FwSW50ZXJ2YWwuXG4iKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dXRpbC9FR0xXaW5kb3cuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwvRUdMV2luZG93
LmgKaW5kZXggY2MxNDAyZjQxNjY1Zjc0MzgyMmRjYWJiNmY2YjE5YWJhZjdhMTM1Ny4uYWRhYjUx
NTFmMmM5ZDU3NmY2NzJhZjY5ZDJiYjQ2YzE2OGM4YWZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdXRpbC9FR0xXaW5kb3cuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS91dGlsL0VHTFdpbmRvdy5oCkBAIC02OSw2ICs2OSw3IEBAIGNsYXNzIEFOR0xFX1VUSUxf
RVhQT1JUIEdMV2luZG93QmFzZSA6IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgdmlydHVhbCBi
b29sIGluaXRpYWxpemVHTChPU1dpbmRvdyAqb3NXaW5kb3csCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbmdsZTo6TGlicmFyeSAqZ2xXaW5kb3dpbmdMaWJyYXJ5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkdMRVNEcml2ZXJUeXBlIGRyaXZlclR5cGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFR0xQbGF0Zm9ybVBhcmFtZXRlcnMg
JnBsYXRmb3JtUGFyYW1zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ29u
ZmlnUGFyYW1ldGVycyAmY29uZmlnUGFyYW1zKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzR0xJ
bml0aWFsaXplZCgpIGNvbnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKQEAgLTEx
Miw2ICsxMTMsNyBAQCBjbGFzcyBBTkdMRV9VVElMX0VYUE9SVCBFR0xXaW5kb3cgOiBwdWJsaWMg
R0xXaW5kb3dCYXNlCiAgICAgLy8gSW50ZXJuYWxseSBpbml0aWFsaXplcyB0aGUgRGlzcGxheSwg
U3VyZmFjZSBhbmQgQ29udGV4dC4KICAgICBib29sIGluaXRpYWxpemVHTChPU1dpbmRvdyAqb3NX
aW5kb3csCiAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkxpYnJhcnkgKmdsV2luZG93aW5n
TGlicmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6R0xFU0RyaXZlclR5cGUgZHJp
dmVyVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFR0xQbGF0Zm9ybVBhcmFtZXRl
cnMgJnBsYXRmb3JtUGFyYW1zLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENvbmZpZ1Bh
cmFtZXRlcnMgJmNvbmZpZ1BhcmFtcykgb3ZlcnJpZGU7CiAKQEAgLTEyNSw2ICsxMjcsNyBAQCBj
bGFzcyBBTkdMRV9VVElMX0VYUE9SVCBFR0xXaW5kb3cgOiBwdWJsaWMgR0xXaW5kb3dCYXNlCiAg
ICAgLy8gT25seSBpbml0aWFsaXplcyB0aGUgRGlzcGxheS4KICAgICBib29sIGluaXRpYWxpemVE
aXNwbGF5KE9TV2luZG93ICpvc1dpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFu
Z2xlOjpMaWJyYXJ5ICpnbFdpbmRvd2luZ0xpYnJhcnksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhbmdsZTo6R0xFU0RyaXZlclR5cGUgZHJpdmVyVHlwZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEVHTFBsYXRmb3JtUGFyYW1ldGVycyAmcGFyYW1zKTsKIAogICAgIC8v
IE9ubHkgaW5pdGlhbGl6ZXMgdGhlIFN1cmZhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS91dGlsL2VnbF9sb2FkZXJfYXV0b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS91dGlsL2VnbF9sb2FkZXJfYXV0b2dlbi5jcHAKaW5kZXggZjNmZWYwMDVlNjkzOWEw
OGFkNzBkZmQ1YzJlNWE1MjYxYjUzNDZhOC4uNzdkMTAxMmViYzQ2NGY4ODcwZjdhNzUwOTU2YWIw
YzM2ZWE1N2RmMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdXRpbC9lZ2xf
bG9hZGVyX2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwvZWds
X2xvYWRlcl9hdXRvZ2VuLmNwcApAQCAtMTAsMjYxICsxMCwyNjUgQEAKIAogI2luY2x1ZGUgImVn
bF9sb2FkZXJfYXV0b2dlbi5oIgogCi1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDSE9PU0VDT05G
SUdQUk9DIGVnbENob29zZUNvbmZpZzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENPUFlCVUZG
RVJTUFJPQyBlZ2xDb3B5QnVmZmVyczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURUNP
TlRFWFRQUk9DIGVnbENyZWF0ZUNvbnRleHQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDUkVB
VEVQQlVGRkVSU1VSRkFDRVBST0MgZWdsQ3JlYXRlUGJ1ZmZlclN1cmZhY2U7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQyBlZ2xDcmVhdGVQaXhtYXBTdXJm
YWNlOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFV0lORE9XU1VSRkFDRVBST0MgZWds
Q3JlYXRlV2luZG93U3VyZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFU1RST1lDT05U
RVhUUFJPQyBlZ2xEZXN0cm95Q29udGV4dDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFU1RS
T1lTVVJGQUNFUFJPQyBlZ2xEZXN0cm95U3VyZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVH
TEdFVENPTkZJR0FUVFJJQlBST0MgZWdsR2V0Q29uZmlnQXR0cmliOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZORUdMR0VUQ09ORklHU1BST0MgZWdsR2V0Q29uZmlnczsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkVHTEdFVENVUlJFTlRESVNQTEFZUFJPQyBlZ2xHZXRDdXJyZW50RGlzcGxheTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkVHTEdFVENVUlJFTlRTVVJGQUNFUFJPQyBlZ2xHZXRDdXJyZW50U3Vy
ZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdFVERJU1BMQVlQUk9DIGVnbEdldERpc3Bs
YXk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xHRVRFUlJPUlBST0MgZWdsR2V0RXJyb3I7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5FR0xHRVRQUk9DQUREUkVTU1BST0MgZWdsR2V0UHJvY0FkZHJl
c3M7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xJTklUSUFMSVpFUFJPQyBlZ2xJbml0aWFsaXpl
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMTUFLRUNVUlJFTlRQUk9DIGVnbE1ha2VDdXJyZW50
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVFUllDT05URVhUUFJPQyBlZ2xRdWVyeUNvbnRl
eHQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWVNUUklOR1BST0MgZWdsUXVlcnlTdHJp
bmc7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWVNVUkZBQ0VQUk9DIGVnbFF1ZXJ5U3Vy
ZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNXQVBCVUZGRVJTUFJPQyBlZ2xTd2FwQnVm
ZmVyczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFRFUk1JTkFURVBST0MgZWdsVGVybWluYXRl
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMV0FJVEdMUFJPQyBlZ2xXYWl0R0w7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xXQUlUTkFUSVZFUFJPQyBlZ2xXYWl0TmF0aXZlOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZORUdMQklORFRFWElNQUdFUFJPQyBlZ2xCaW5kVGV4SW1hZ2U7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xSRUxFQVNFVEVYSU1BR0VQUk9DIGVnbFJlbGVhc2VUZXhJbWFnZTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNVUkZBQ0VBVFRSSUJQUk9DIGVnbFN1cmZhY2VBdHRy
aWI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xTV0FQSU5URVJWQUxQUk9DIGVnbFN3YXBJbnRl
cnZhbDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEJJTkRBUElQUk9DIGVnbEJpbmRBUEk7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWUFQSVBST0MgZWdsUXVlcnlBUEk7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xDUkVBVEVQQlVGRkVSRlJPTUNMSUVOVEJVRkZFUlBST0MgZWdsQ3Jl
YXRlUGJ1ZmZlckZyb21DbGllbnRCdWZmZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xSRUxF
QVNFVEhSRUFEUFJPQyBlZ2xSZWxlYXNlVGhyZWFkOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdM
V0FJVENMSUVOVFBST0MgZWdsV2FpdENsaWVudDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdF
VENVUlJFTlRDT05URVhUUFJPQyBlZ2xHZXRDdXJyZW50Q29udGV4dDsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkVHTENSRUFURVNZTkNQUk9DIGVnbENyZWF0ZVN5bmM7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5FR0xERVNUUk9ZU1lOQ1BST0MgZWdsRGVzdHJveVN5bmM7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5FR0xDTElFTlRXQUlUU1lOQ1BST0MgZWdsQ2xpZW50V2FpdFN5bmM7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xHRVRTWU5DQVRUUklCUFJPQyBlZ2xHZXRTeW5jQXR0cmliOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFSU1BR0VQUk9DIGVnbENyZWF0ZUltYWdlOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZORUdMREVTVFJPWUlNQUdFUFJPQyBlZ2xEZXN0cm95SW1hZ2U7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5FR0xHRVRQTEFURk9STURJU1BMQVlQUk9DIGVnbEdldFBsYXRmb3Jt
RGlzcGxheTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VS
RkFDRVBST0MgZWdsQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZORUdMQ1JFQVRFUExBVEZPUk1QSVhNQVBTVVJGQUNFUFJPQyBlZ2xDcmVhdGVQbGF0Zm9y
bVBpeG1hcFN1cmZhY2U7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xXQUlUU1lOQ1BST0MgZWds
V2FpdFN5bmM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xTRVRCTE9CQ0FDSEVGVU5DU0FORFJP
SURQUk9DIGVnbFNldEJsb2JDYWNoZUZ1bmNzQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkVHTEdFVENPTVBPU0lUT1JUSU1JTkdBTkRST0lEUFJPQyBlZ2xHZXRDb21wb3NpdG9yVGltaW5n
QU5EUk9JRDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENIT09TRUNPTkZJR1BST0MgbF9lZ2xD
aG9vc2VDb25maWc7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDT1BZQlVGRkVSU1BST0MgbF9l
Z2xDb3B5QnVmZmVyczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURUNPTlRFWFRQUk9D
IGxfZWdsQ3JlYXRlQ29udGV4dDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVBCVUZG
RVJTVVJGQUNFUFJPQyBsX2VnbENyZWF0ZVBidWZmZXJTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZORUdMQ1JFQVRFUElYTUFQU1VSRkFDRVBST0MgbF9lZ2xDcmVhdGVQaXhtYXBTdXJmYWNl
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFV0lORE9XU1VSRkFDRVBST0MgbF9lZ2xD
cmVhdGVXaW5kb3dTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMREVTVFJPWUNPTlRF
WFRQUk9DIGxfZWdsRGVzdHJveUNvbnRleHQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xERVNU
Uk9ZU1VSRkFDRVBST0MgbF9lZ2xEZXN0cm95U3VyZmFjZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkVHTEdFVENPTkZJR0FUVFJJQlBST0MgbF9lZ2xHZXRDb25maWdBdHRyaWI7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xHRVRDT05GSUdTUFJPQyBsX2VnbEdldENvbmZpZ3M7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xHRVRDVVJSRU5URElTUExBWVBST0MgbF9lZ2xHZXRDdXJyZW50RGlzcGxh
eTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdFVENVUlJFTlRTVVJGQUNFUFJPQyBsX2VnbEdl
dEN1cnJlbnRTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VURElTUExBWVBST0Mg
bF9lZ2xHZXREaXNwbGF5OworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VURVJST1JQUk9DIGxf
ZWdsR2V0RXJyb3I7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xHRVRQUk9DQUREUkVTU1BST0Mg
bF9lZ2xHZXRQcm9jQWRkcmVzczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTElOSVRJQUxJWkVQ
Uk9DIGxfZWdsSW5pdGlhbGl6ZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTE1BS0VDVVJSRU5U
UFJPQyBsX2VnbE1ha2VDdXJyZW50OworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVFUllDT05U
RVhUUFJPQyBsX2VnbFF1ZXJ5Q29udGV4dDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZ
U1RSSU5HUFJPQyBsX2VnbFF1ZXJ5U3RyaW5nOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVF
UllTVVJGQUNFUFJPQyBsX2VnbFF1ZXJ5U3VyZmFjZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVH
TFNXQVBCVUZGRVJTUFJPQyBsX2VnbFN3YXBCdWZmZXJzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMVEVSTUlOQVRFUFJPQyBsX2VnbFRlcm1pbmF0ZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVH
TFdBSVRHTFBST0MgbF9lZ2xXYWl0R0w7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xXQUlUTkFU
SVZFUFJPQyBsX2VnbFdhaXROYXRpdmU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xCSU5EVEVY
SU1BR0VQUk9DIGxfZWdsQmluZFRleEltYWdlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUkVM
RUFTRVRFWElNQUdFUFJPQyBsX2VnbFJlbGVhc2VUZXhJbWFnZTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkVHTFNVUkZBQ0VBVFRSSUJQUk9DIGxfZWdsU3VyZmFjZUF0dHJpYjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkVHTFNXQVBJTlRFUlZBTFBST0MgbF9lZ2xTd2FwSW50ZXJ2YWw7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xCSU5EQVBJUFJPQyBsX2VnbEJpbmRBUEk7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xRVUVSWUFQSVBST0MgbF9lZ2xRdWVyeUFQSTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5UQlVGRkVSUFJPQyBsX2VnbENyZWF0ZVBidWZm
ZXJGcm9tQ2xpZW50QnVmZmVyOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUkVMRUFTRVRIUkVB
RFBST0MgbF9lZ2xSZWxlYXNlVGhyZWFkOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMV0FJVENM
SUVOVFBST0MgbF9lZ2xXYWl0Q2xpZW50OworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUQ1VS
UkVOVENPTlRFWFRQUk9DIGxfZWdsR2V0Q3VycmVudENvbnRleHQ7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5FR0xDUkVBVEVTWU5DUFJPQyBsX2VnbENyZWF0ZVN5bmM7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5FR0xERVNUUk9ZU1lOQ1BST0MgbF9lZ2xEZXN0cm95U3luYzsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkVHTENMSUVOVFdBSVRTWU5DUFJPQyBsX2VnbENsaWVudFdhaXRTeW5jOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZORUdMR0VUU1lOQ0FUVFJJQlBST0MgbF9lZ2xHZXRTeW5jQXR0cmliOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFSU1BR0VQUk9DIGxfZWdsQ3JlYXRlSW1hZ2U7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xERVNUUk9ZSU1BR0VQUk9DIGxfZWdsRGVzdHJveUlt
YWdlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUUExBVEZPUk1ESVNQTEFZUFJPQyBsX2Vn
bEdldFBsYXRmb3JtRGlzcGxheTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVBMQVRG
T1JNV0lORE9XU1VSRkFDRVBST0MgbF9lZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2U7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDUkVBVEVQTEFURk9STVBJWE1BUFNVUkZBQ0VQUk9DIGxf
ZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdM
V0FJVFNZTkNQUk9DIGxfZWdsV2FpdFN5bmM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xTRVRC
TE9CQ0FDSEVGVU5DU0FORFJPSURQUk9DIGxfZWdsU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUQ09NUE9TSVRPUlRJTUlOR0FORFJPSURQUk9DIGxf
ZWdsR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQ7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xH
RVRDT01QT1NJVE9SVElNSU5HU1VQUE9SVEVEQU5EUk9JRFBST0MKLSAgICBlZ2xHZXRDb21wb3Np
dG9yVGltaW5nU3VwcG9ydGVkQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdFVEZS
QU1FVElNRVNUQU1QU1VQUE9SVEVEQU5EUk9JRFBST0MgZWdsR2V0RnJhbWVUaW1lc3RhbXBTdXBw
b3J0ZWRBTkRST0lEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VURlJBTUVUSU1FU1RBTVBT
QU5EUk9JRFBST0MgZWdsR2V0RnJhbWVUaW1lc3RhbXBzQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkVHTEdFVE5FWFRGUkFNRUlEQU5EUk9JRFBST0MgZWdsR2V0TmV4dEZyYW1lSWRBTkRS
T0lEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUTkFUSVZFQ0xJRU5UQlVGRkVSQU5EUk9J
RFBST0MgZWdsR2V0TmF0aXZlQ2xpZW50QnVmZmVyQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkVHTERVUE5BVElWRUZFTkNFRkRBTkRST0lEUFJPQyBlZ2xEdXBOYXRpdmVGZW5jZUZEQU5E
Uk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFBSRVNFTlRBVElPTlRJTUVBTkRST0lEUFJP
QyBlZ2xQcmVzZW50YXRpb25UaW1lQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENS
RUFURURFVklDRUFOR0xFUFJPQyBlZ2xDcmVhdGVEZXZpY2VBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkVHTFJFTEVBU0VERVZJQ0VBTkdMRVBST0MgZWdsUmVsZWFzZURldmljZUFOR0xFOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVFUllESVNQTEFZQVRUUklCQU5HTEVQUk9DIGVnbFF1
ZXJ5RGlzcGxheUF0dHJpYkFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVFUllTVFJJ
TkdJQU5HTEVQUk9DIGVnbFF1ZXJ5U3RyaW5naUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMUFJPR1JBTUNBQ0hFR0VUQVRUUklCQU5HTEVQUk9DIGVnbFByb2dyYW1DYWNoZUdldEF0dHJp
YkFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUFJPR1JBTUNBQ0hFUE9QVUxBVEVBTkdM
RVBST0MgZWdsUHJvZ3JhbUNhY2hlUG9wdWxhdGVBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkVHTFBST0dSQU1DQUNIRVFVRVJZQU5HTEVQUk9DIGVnbFByb2dyYW1DYWNoZVF1ZXJ5QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xQUk9HUkFNQ0FDSEVSRVNJWkVBTkdMRVBST0MgZWds
UHJvZ3JhbUNhY2hlUmVzaXplQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWVNV
UkZBQ0VQT0lOVEVSQU5HTEVQUk9DIGVnbFF1ZXJ5U3VyZmFjZVBvaW50ZXJBTkdMRTsKKyAgICBs
X2VnbEdldENvbXBvc2l0b3JUaW1pbmdTdXBwb3J0ZWRBTkRST0lEOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZORUdMR0VURlJBTUVUSU1FU1RBTVBTVVBQT1JURURBTkRST0lEUFJPQworICAgIGxfZWds
R2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMR0VURlJBTUVUSU1FU1RBTVBTQU5EUk9JRFBST0MgbF9lZ2xHZXRGcmFtZVRpbWVzdGFtcHNB
TkRST0lEOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUTkVYVEZSQU1FSURBTkRST0lEUFJP
QyBsX2VnbEdldE5leHRGcmFtZUlkQU5EUk9JRDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdF
VE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DIGxfZWdsR2V0TmF0aXZlQ2xpZW50QnVmZmVy
QU5EUk9JRDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERVUE5BVElWRUZFTkNFRkRBTkRST0lE
UFJPQyBsX2VnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMUFJFU0VOVEFUSU9OVElNRUFORFJPSURQUk9DIGxfZWdsUHJlc2VudGF0aW9uVGltZUFORFJP
SUQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDUkVBVEVERVZJQ0VBTkdMRVBST0MgbF9lZ2xD
cmVhdGVEZXZpY2VBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFJFTEVBU0VERVZJQ0VB
TkdMRVBST0MgbF9lZ2xSZWxlYXNlRGV2aWNlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5F
R0xRVUVSWURJU1BMQVlBVFRSSUJBTkdMRVBST0MgbF9lZ2xRdWVyeURpc3BsYXlBdHRyaWJBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZU1RSSU5HSUFOR0xFUFJPQyBsX2VnbFF1
ZXJ5U3RyaW5naUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUFJPR1JBTUNBQ0hFR0VU
QVRUUklCQU5HTEVQUk9DIGxfZWdsUHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xQUk9HUkFNQ0FDSEVQT1BVTEFURUFOR0xFUFJPQyBsX2VnbFByb2dy
YW1DYWNoZVBvcHVsYXRlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xQUk9HUkFNQ0FD
SEVRVUVSWUFOR0xFUFJPQyBsX2VnbFByb2dyYW1DYWNoZVF1ZXJ5QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xQUk9HUkFNQ0FDSEVSRVNJWkVBTkdMRVBST0MgbF9lZ2xQcm9ncmFtQ2Fj
aGVSZXNpemVBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZU1VSRkFDRVBPSU5U
RVJBTkdMRVBST0MgbF9lZ2xRdWVyeVN1cmZhY2VQb2ludGVyQU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xDUkVBVEVTVFJFQU1QUk9EVUNFUkQzRFRFWFRVUkVBTkdMRVBST0MKLSAgICBl
Z2xDcmVhdGVTdHJlYW1Qcm9kdWNlckQzRFRleHR1cmVBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkVHTFNUUkVBTVBPU1REM0RURVhUVVJFQU5HTEVQUk9DIGVnbFN0cmVhbVBvc3REM0RUZXh0
dXJlQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRP
S0VOQU5HTEVQUk9DIGVnbFN3YXBCdWZmZXJzV2l0aEZyYW1lVG9rZW5BTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkVHTEdFVE1TQ1JBVEVDSFJPTUlVTVBST0MgZWdsR2V0TXNjUmF0ZUNIUk9N
SVVNOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUU1lOQ1ZBTFVFU0NIUk9NSVVNUFJPQyBl
Z2xHZXRTeW5jVmFsdWVzQ0hST01JVU07Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWURF
VklDRUFUVFJJQkVYVFBST0MgZWdsUXVlcnlEZXZpY2VBdHRyaWJFWFQ7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xRVUVSWURFVklDRVNUUklOR0VYVFBST0MgZWdsUXVlcnlEZXZpY2VTdHJpbmdF
WFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWURJU1BMQVlBVFRSSUJFWFRQUk9DIGVn
bFF1ZXJ5RGlzcGxheUF0dHJpYkVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVBM
QVRGT1JNUElYTUFQU1VSRkFDRUVYVFBST0MgZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNl
RVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFUExBVEZPUk1XSU5ET1dTVVJGQUNF
RVhUUFJPQyBlZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2VFWFQ7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xHRVRQTEFURk9STURJU1BMQVlFWFRQUk9DIGVnbEdldFBsYXRmb3JtRGlzcGxh
eUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9D
IGVnbERlYnVnTWVzc2FnZUNvbnRyb2xLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xMQUJF
TE9CSkVDVEtIUlBST0MgZWdsTGFiZWxPYmplY3RLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5F
R0xRVUVSWURFQlVHS0hSUFJPQyBlZ2xRdWVyeURlYnVnS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZORUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIGVnbENsaWVudFdhaXRTeW5jS0hSOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFU1lOQ0tIUlBST0MgZWdsQ3JlYXRlU3luY0tIUjsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFU1RST1lTWU5DS0hSUFJPQyBlZ2xEZXN0cm95U3luY0tI
UjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTEdFVFNZTkNBVFRSSUJLSFJQUk9DIGVnbEdldFN5
bmNBdHRyaWJLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xDUkVBVEVJTUFHRUtIUlBST0Mg
ZWdsQ3JlYXRlSW1hZ2VLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xERVNUUk9ZSU1BR0VL
SFJQUk9DIGVnbERlc3Ryb3lJbWFnZUtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFU
RVNUUkVBTUtIUlBST0MgZWdsQ3JlYXRlU3RyZWFtS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMREVTVFJPWVNUUkVBTUtIUlBST0MgZWdsRGVzdHJveVN0cmVhbUtIUjsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkVHTFFVRVJZU1RSRUFNS0hSUFJPQyBlZ2xRdWVyeVN0cmVhbUtIUjsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZU1RSRUFNVTY0S0hSUFJPQyBlZ2xRdWVyeVN0cmVhbXU2
NEtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNUUkVBTUFUVFJJQktIUlBST0MgZWdsU3Ry
ZWFtQXR0cmliS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMU1RSRUFNQ09OU1VNRVJBQ1FV
SVJFS0hSUFJPQyBlZ2xTdHJlYW1Db25zdW1lckFjcXVpcmVLSFI7CisgICAgbF9lZ2xDcmVhdGVT
dHJlYW1Qcm9kdWNlckQzRFRleHR1cmVBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNU
UkVBTVBPU1REM0RURVhUVVJFQU5HTEVQUk9DIGxfZWdsU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNXQVBCVUZGRVJTV0lUSEZSQU1FVE9LRU5BTkdM
RVBST0MgbF9lZ2xTd2FwQnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEU7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xHRVRNU0NSQVRFQU5HTEVQUk9DIGxfZWdsR2V0TXNjUmF0ZUFOR0xFOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUU1lOQ1ZBTFVFU0NIUk9NSVVNUFJPQyBsX2VnbEdldFN5
bmNWYWx1ZXNDSFJPTUlVTTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZREVWSUNFQVRU
UklCRVhUUFJPQyBsX2VnbFF1ZXJ5RGV2aWNlQXR0cmliRVhUOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZORUdMUVVFUllERVZJQ0VTVFJJTkdFWFRQUk9DIGxfZWdsUXVlcnlEZXZpY2VTdHJpbmdFWFQ7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xRVUVSWURJU1BMQVlBVFRSSUJFWFRQUk9DIGxfZWds
UXVlcnlEaXNwbGF5QXR0cmliRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFUExB
VEZPUk1QSVhNQVBTVVJGQUNFRVhUUFJPQyBsX2VnbENyZWF0ZVBsYXRmb3JtUGl4bWFwU3VyZmFj
ZUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFD
RUVYVFBST0MgbF9lZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2VFWFQ7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5FR0xHRVRQTEFURk9STURJU1BMQVlFWFRQUk9DIGxfZWdsR2V0UGxhdGZvcm1E
aXNwbGF5RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMREVCVUdNRVNTQUdFQ09OVFJPTEtI
UlBST0MgbF9lZ2xEZWJ1Z01lc3NhZ2VDb250cm9sS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
RUdMTEFCRUxPQkpFQ1RLSFJQUk9DIGxfZWdsTGFiZWxPYmplY3RLSFI7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5FR0xRVUVSWURFQlVHS0hSUFJPQyBsX2VnbFF1ZXJ5RGVidWdLSFI7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5FR0xDTElFTlRXQUlUU1lOQ0tIUlBST0MgbF9lZ2xDbGllbnRXYWl0U3lu
Y0tIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTENSRUFURVNZTkNLSFJQUk9DIGxfZWdsQ3Jl
YXRlU3luY0tIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFU1RST1lTWU5DS0hSUFJPQyBs
X2VnbERlc3Ryb3lTeW5jS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMR0VUU1lOQ0FUVFJJ
QktIUlBST0MgbF9lZ2xHZXRTeW5jQXR0cmliS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdM
Q1JFQVRFSU1BR0VLSFJQUk9DIGxfZWdsQ3JlYXRlSW1hZ2VLSFI7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5FR0xERVNUUk9ZSU1BR0VLSFJQUk9DIGxfZWdsRGVzdHJveUltYWdlS0hSOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZORUdMQ1JFQVRFU1RSRUFNS0hSUFJPQyBsX2VnbENyZWF0ZVN0cmVhbUtI
UjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTERFU1RST1lTVFJFQU1LSFJQUk9DIGxfZWdsRGVz
dHJveVN0cmVhbUtIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFFVRVJZU1RSRUFNS0hSUFJP
QyBsX2VnbFF1ZXJ5U3RyZWFtS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUVVFUllTVFJF
QU1VNjRLSFJQUk9DIGxfZWdsUXVlcnlTdHJlYW11NjRLSFI7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5FR0xTVFJFQU1BVFRSSUJLSFJQUk9DIGxfZWdsU3RyZWFtQXR0cmliS0hSOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZORUdMU1RSRUFNQ09OU1VNRVJBQ1FVSVJFS0hSUFJPQyBsX2VnbFN0cmVhbUNv
bnN1bWVyQWNxdWlyZUtIUjsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNUUkVBTUNPTlNVTUVS
R0xURVhUVVJFRVhURVJOQUxLSFJQUk9DCi0gICAgZWdsU3RyZWFtQ29uc3VtZXJHTFRleHR1cmVF
eHRlcm5hbEtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNUUkVBTUNPTlNVTUVSUkVMRUFT
RUtIUlBST0MgZWdsU3RyZWFtQ29uc3VtZXJSZWxlYXNlS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZORUdMU1dBUEJVRkZFUlNXSVRIREFNQUdFS0hSUFJPQyBlZ2xTd2FwQnVmZmVyc1dpdGhEYW1h
Z2VLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xXQUlUU1lOQ0tIUlBST0MgZWdsV2FpdFN5
bmNLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xQT1NUU1VCQlVGRkVSTlZQUk9DIGVnbFBv
c3RTdWJCdWZmZXJOVjsKKyAgICBsX2VnbFN0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxL
SFI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5FR0xTVFJFQU1DT05TVU1FUlJFTEVBU0VLSFJQUk9D
IGxfZWdsU3RyZWFtQ29uc3VtZXJSZWxlYXNlS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdM
U1dBUEJVRkZFUlNXSVRIREFNQUdFS0hSUFJPQyBsX2VnbFN3YXBCdWZmZXJzV2l0aERhbWFnZUtI
UjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFdBSVRTWU5DS0hSUFJPQyBsX2VnbFdhaXRTeW5j
S0hSOworQU5HTEVfVVRJTF9FWFBPUlQgUEZORUdMUE9TVFNVQkJVRkZFUk5WUFJPQyBsX2VnbFBv
c3RTdWJCdWZmZXJOVjsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkVHTFNUUkVBTUNPTlNVTUVSR0xU
RVhUVVJFRVhURVJOQUxBVFRSSUJTTlZQUk9DCi0gICAgZWdsU3RyZWFtQ29uc3VtZXJHTFRleHR1
cmVFeHRlcm5hbEF0dHJpYnNOVjsKKyAgICBsX2VnbFN0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0
ZXJuYWxBdHRyaWJzTlY7CiAKIG5hbWVzcGFjZSBhbmdsZQogewogdm9pZCBMb2FkRUdMKExvYWRQ
cm9jIGxvYWRQcm9jKQogewotICAgIGVnbENob29zZUNvbmZpZyAgPSByZWludGVycHJldF9jYXN0
PFBGTkVHTENIT09TRUNPTkZJR1BST0M+KGxvYWRQcm9jKCJlZ2xDaG9vc2VDb25maWciKSk7Ci0g
ICAgZWdsQ29weUJ1ZmZlcnMgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ09QWUJVRkZFUlNQ
Uk9DPihsb2FkUHJvYygiZWdsQ29weUJ1ZmZlcnMiKSk7Ci0gICAgZWdsQ3JlYXRlQ29udGV4dCA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFQ09OVEVYVFBST0M+KGxvYWRQcm9jKCJlZ2xD
cmVhdGVDb250ZXh0IikpOwotICAgIGVnbENyZWF0ZVBidWZmZXJTdXJmYWNlID0KKyAgICBsX2Vn
bENob29zZUNvbmZpZyAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENIT09TRUNPTkZJR1BST0M+
KGxvYWRQcm9jKCJlZ2xDaG9vc2VDb25maWciKSk7CisgICAgbF9lZ2xDb3B5QnVmZmVycyAgID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDT1BZQlVGRkVSU1BST0M+KGxvYWRQcm9jKCJlZ2xDb3B5
QnVmZmVycyIpKTsKKyAgICBsX2VnbENyZWF0ZUNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBG
TkVHTENSRUFURUNPTlRFWFRQUk9DPihsb2FkUHJvYygiZWdsQ3JlYXRlQ29udGV4dCIpKTsKKyAg
ICBsX2VnbENyZWF0ZVBidWZmZXJTdXJmYWNlID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xDUkVBVEVQQlVGRkVSU1VSRkFDRVBST0M+KGxvYWRQcm9jKCJlZ2xDcmVhdGVQYnVmZmVy
U3VyZmFjZSIpKTsKLSAgICBlZ2xDcmVhdGVQaXhtYXBTdXJmYWNlID0KKyAgICBsX2VnbENyZWF0
ZVBpeG1hcFN1cmZhY2UgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBJ
WE1BUFNVUkZBQ0VQUk9DPihsb2FkUHJvYygiZWdsQ3JlYXRlUGl4bWFwU3VyZmFjZSIpKTsKLSAg
ICBlZ2xDcmVhdGVXaW5kb3dTdXJmYWNlID0KKyAgICBsX2VnbENyZWF0ZVdpbmRvd1N1cmZhY2Ug
PQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVdJTkRPV1NVUkZBQ0VQUk9D
Pihsb2FkUHJvYygiZWdsQ3JlYXRlV2luZG93U3VyZmFjZSIpKTsKLSAgICBlZ2xEZXN0cm95Q29u
dGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWUNPTlRFWFRQUk9DPihsb2FkUHJv
YygiZWdsRGVzdHJveUNvbnRleHQiKSk7Ci0gICAgZWdsRGVzdHJveVN1cmZhY2UgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTERFU1RST1lTVVJGQUNFUFJPQz4obG9hZFByb2MoImVnbERlc3Ryb3lT
dXJmYWNlIikpOwotICAgIGVnbEdldENvbmZpZ0F0dHJpYiA9CisgICAgbF9lZ2xEZXN0cm95Q29u
dGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWUNPTlRFWFRQUk9DPihsb2FkUHJv
YygiZWdsRGVzdHJveUNvbnRleHQiKSk7CisgICAgbF9lZ2xEZXN0cm95U3VyZmFjZSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWVNVUkZBQ0VQUk9DPihsb2FkUHJvYygiZWdsRGVzdHJv
eVN1cmZhY2UiKSk7CisgICAgbF9lZ2xHZXRDb25maWdBdHRyaWIgPQogICAgICAgICByZWludGVy
cHJldF9jYXN0PFBGTkVHTEdFVENPTkZJR0FUVFJJQlBST0M+KGxvYWRQcm9jKCJlZ2xHZXRDb25m
aWdBdHRyaWIiKSk7Ci0gICAgZWdsR2V0Q29uZmlncyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
R0VUQ09ORklHU1BST0M+KGxvYWRQcm9jKCJlZ2xHZXRDb25maWdzIikpOwotICAgIGVnbEdldEN1
cnJlbnREaXNwbGF5ID0KKyAgICBsX2VnbEdldENvbmZpZ3MgPSByZWludGVycHJldF9jYXN0PFBG
TkVHTEdFVENPTkZJR1NQUk9DPihsb2FkUHJvYygiZWdsR2V0Q29uZmlncyIpKTsKKyAgICBsX2Vn
bEdldEN1cnJlbnREaXNwbGF5ID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRD
VVJSRU5URElTUExBWVBST0M+KGxvYWRQcm9jKCJlZ2xHZXRDdXJyZW50RGlzcGxheSIpKTsKLSAg
ICBlZ2xHZXRDdXJyZW50U3VyZmFjZSA9CisgICAgbF9lZ2xHZXRDdXJyZW50U3VyZmFjZSA9CiAg
ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUQ1VSUkVOVFNVUkZBQ0VQUk9DPihsb2Fk
UHJvYygiZWdsR2V0Q3VycmVudFN1cmZhY2UiKSk7Ci0gICAgZWdsR2V0RGlzcGxheSAgICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkVHTEdFVERJU1BMQVlQUk9DPihsb2FkUHJvYygiZWdsR2V0RGlz
cGxheSIpKTsKLSAgICBlZ2xHZXRFcnJvciAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
R0VURVJST1JQUk9DPihsb2FkUHJvYygiZWdsR2V0RXJyb3IiKSk7Ci0gICAgZWdsR2V0UHJvY0Fk
ZHJlc3MgPSByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVFBST0NBRERSRVNTUFJPQz4obG9hZFBy
b2MoImVnbEdldFByb2NBZGRyZXNzIikpOwotICAgIGVnbEluaXRpYWxpemUgICAgID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xJTklUSUFMSVpFUFJPQz4obG9hZFByb2MoImVnbEluaXRpYWxpemUi
KSk7Ci0gICAgZWdsTWFrZUN1cnJlbnQgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTE1BS0VD
VVJSRU5UUFJPQz4obG9hZFByb2MoImVnbE1ha2VDdXJyZW50IikpOwotICAgIGVnbFF1ZXJ5Q29u
dGV4dCAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWUNPTlRFWFRQUk9DPihsb2FkUHJv
YygiZWdsUXVlcnlDb250ZXh0IikpOwotICAgIGVnbFF1ZXJ5U3RyaW5nICAgID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5FR0xRVUVSWVNUUklOR1BST0M+KGxvYWRQcm9jKCJlZ2xRdWVyeVN0cmluZyIp
KTsKLSAgICBlZ2xRdWVyeVN1cmZhY2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllT
VVJGQUNFUFJPQz4obG9hZFByb2MoImVnbFF1ZXJ5U3VyZmFjZSIpKTsKLSAgICBlZ2xTd2FwQnVm
ZmVycyAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1dBUEJVRkZFUlNQUk9DPihsb2FkUHJv
YygiZWdsU3dhcEJ1ZmZlcnMiKSk7Ci0gICAgZWdsVGVybWluYXRlICAgICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkVHTFRFUk1JTkFURVBST0M+KGxvYWRQcm9jKCJlZ2xUZXJtaW5hdGUiKSk7Ci0g
ICAgZWdsV2FpdEdMICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFdBSVRHTFBST0M+
KGxvYWRQcm9jKCJlZ2xXYWl0R0wiKSk7Ci0gICAgZWdsV2FpdE5hdGl2ZSAgICAgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTFdBSVROQVRJVkVQUk9DPihsb2FkUHJvYygiZWdsV2FpdE5hdGl2ZSIp
KTsKLSAgICBlZ2xCaW5kVGV4SW1hZ2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQklORFRF
WElNQUdFUFJPQz4obG9hZFByb2MoImVnbEJpbmRUZXhJbWFnZSIpKTsKLSAgICBlZ2xSZWxlYXNl
VGV4SW1hZ2UgPQorICAgIGxfZWdsR2V0RGlzcGxheSAgICAgPSByZWludGVycHJldF9jYXN0PFBG
TkVHTEdFVERJU1BMQVlQUk9DPihsb2FkUHJvYygiZWdsR2V0RGlzcGxheSIpKTsKKyAgICBsX2Vn
bEdldEVycm9yICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRFUlJPUlBST0M+KGxv
YWRQcm9jKCJlZ2xHZXRFcnJvciIpKTsKKyAgICBsX2VnbEdldFByb2NBZGRyZXNzID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xHRVRQUk9DQUREUkVTU1BST0M+KGxvYWRQcm9jKCJlZ2xHZXRQcm9j
QWRkcmVzcyIpKTsKKyAgICBsX2VnbEluaXRpYWxpemUgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xJTklUSUFMSVpFUFJPQz4obG9hZFByb2MoImVnbEluaXRpYWxpemUiKSk7CisgICAgbF9l
Z2xNYWtlQ3VycmVudCAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMTUFLRUNVUlJFTlRQUk9D
Pihsb2FkUHJvYygiZWdsTWFrZUN1cnJlbnQiKSk7CisgICAgbF9lZ2xRdWVyeUNvbnRleHQgICA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllDT05URVhUUFJPQz4obG9hZFByb2MoImVnbFF1
ZXJ5Q29udGV4dCIpKTsKKyAgICBsX2VnbFF1ZXJ5U3RyaW5nICAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xRVUVSWVNUUklOR1BST0M+KGxvYWRQcm9jKCJlZ2xRdWVyeVN0cmluZyIpKTsKKyAg
ICBsX2VnbFF1ZXJ5U3VyZmFjZSAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNVUkZB
Q0VQUk9DPihsb2FkUHJvYygiZWdsUXVlcnlTdXJmYWNlIikpOworICAgIGxfZWdsU3dhcEJ1ZmZl
cnMgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFNXQVBCVUZGRVJTUFJPQz4obG9hZFByb2Mo
ImVnbFN3YXBCdWZmZXJzIikpOworICAgIGxfZWdsVGVybWluYXRlICAgICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkVHTFRFUk1JTkFURVBST0M+KGxvYWRQcm9jKCJlZ2xUZXJtaW5hdGUiKSk7Cisg
ICAgbF9lZ2xXYWl0R0wgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMV0FJVEdMUFJP
Qz4obG9hZFByb2MoImVnbFdhaXRHTCIpKTsKKyAgICBsX2VnbFdhaXROYXRpdmUgICAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xXQUlUTkFUSVZFUFJPQz4obG9hZFByb2MoImVnbFdhaXROYXRp
dmUiKSk7CisgICAgbF9lZ2xCaW5kVGV4SW1hZ2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdM
QklORFRFWElNQUdFUFJPQz4obG9hZFByb2MoImVnbEJpbmRUZXhJbWFnZSIpKTsKKyAgICBsX2Vn
bFJlbGVhc2VUZXhJbWFnZSA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUkVMRUFT
RVRFWElNQUdFUFJPQz4obG9hZFByb2MoImVnbFJlbGVhc2VUZXhJbWFnZSIpKTsKLSAgICBlZ2xT
dXJmYWNlQXR0cmliID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVVJGQUNFQVRUUklCUFJPQz4o
bG9hZFByb2MoImVnbFN1cmZhY2VBdHRyaWIiKSk7Ci0gICAgZWdsU3dhcEludGVydmFsICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1dBUElOVEVSVkFMUFJPQz4obG9hZFByb2MoImVnbFN3YXBJ
bnRlcnZhbCIpKTsKLSAgICBlZ2xCaW5kQVBJICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xCSU5EQVBJUFJPQz4obG9hZFByb2MoImVnbEJpbmRBUEkiKSk7Ci0gICAgZWdsUXVlcnlBUEkg
ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllBUElQUk9DPihsb2FkUHJvYygiZWds
UXVlcnlBUEkiKSk7Ci0gICAgZWdsQ3JlYXRlUGJ1ZmZlckZyb21DbGllbnRCdWZmZXIgPSByZWlu
dGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5UQlVGRkVSUFJPQz4oCisg
ICAgbF9lZ2xTdXJmYWNlQXR0cmliID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTVVJGQUNFQVRU
UklCUFJPQz4obG9hZFByb2MoImVnbFN1cmZhY2VBdHRyaWIiKSk7CisgICAgbF9lZ2xTd2FwSW50
ZXJ2YWwgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTV0FQSU5URVJWQUxQUk9DPihsb2FkUHJv
YygiZWdsU3dhcEludGVydmFsIikpOworICAgIGxfZWdsQmluZEFQSSAgICAgICA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZORUdMQklOREFQSVBST0M+KGxvYWRQcm9jKCJlZ2xCaW5kQVBJIikpOworICAg
IGxfZWdsUXVlcnlBUEkgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllBUElQUk9D
Pihsb2FkUHJvYygiZWdsUXVlcnlBUEkiKSk7CisgICAgbF9lZ2xDcmVhdGVQYnVmZmVyRnJvbUNs
aWVudEJ1ZmZlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUEJVRkZFUkZST01DTElF
TlRCVUZGRVJQUk9DPigKICAgICAgICAgbG9hZFByb2MoImVnbENyZWF0ZVBidWZmZXJGcm9tQ2xp
ZW50QnVmZmVyIikpOwotICAgIGVnbFJlbGVhc2VUaHJlYWQgPSByZWludGVycHJldF9jYXN0PFBG
TkVHTFJFTEVBU0VUSFJFQURQUk9DPihsb2FkUHJvYygiZWdsUmVsZWFzZVRocmVhZCIpKTsKLSAg
ICBlZ2xXYWl0Q2xpZW50ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xXQUlUQ0xJRU5UUFJP
Qz4obG9hZFByb2MoImVnbFdhaXRDbGllbnQiKSk7Ci0gICAgZWdsR2V0Q3VycmVudENvbnRleHQg
PQorICAgIGxfZWdsUmVsZWFzZVRocmVhZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUkVMRUFT
RVRIUkVBRFBST0M+KGxvYWRQcm9jKCJlZ2xSZWxlYXNlVGhyZWFkIikpOworICAgIGxfZWdsV2Fp
dENsaWVudCAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMV0FJVENMSUVOVFBST0M+KGxvYWRQ
cm9jKCJlZ2xXYWl0Q2xpZW50IikpOworICAgIGxfZWdsR2V0Q3VycmVudENvbnRleHQgPQogICAg
ICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVENVUlJFTlRDT05URVhUUFJPQz4obG9hZFBy
b2MoImVnbEdldEN1cnJlbnRDb250ZXh0IikpOwotICAgIGVnbENyZWF0ZVN5bmMgICAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVTWU5DUFJPQz4obG9hZFByb2MoImVnbENyZWF0ZVN5
bmMiKSk7Ci0gICAgZWdsRGVzdHJveVN5bmMgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTERF
U1RST1lTWU5DUFJPQz4obG9hZFByb2MoImVnbERlc3Ryb3lTeW5jIikpOwotICAgIGVnbENsaWVu
dFdhaXRTeW5jID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDTElFTlRXQUlUU1lOQ1BST0M+KGxv
YWRQcm9jKCJlZ2xDbGllbnRXYWl0U3luYyIpKTsKLSAgICBlZ2xHZXRTeW5jQXR0cmliICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUU1lOQ0FUVFJJQlBST0M+KGxvYWRQcm9jKCJlZ2xHZXRT
eW5jQXR0cmliIikpOwotICAgIGVnbENyZWF0ZUltYWdlICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xDUkVBVEVJTUFHRVBST0M+KGxvYWRQcm9jKCJlZ2xDcmVhdGVJbWFnZSIpKTsKLSAgICBl
Z2xEZXN0cm95SW1hZ2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWUlNQUdFUFJP
Qz4obG9hZFByb2MoImVnbERlc3Ryb3lJbWFnZSIpKTsKLSAgICBlZ2xHZXRQbGF0Zm9ybURpc3Bs
YXkgPQorICAgIGxfZWdsQ3JlYXRlU3luYyAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENS
RUFURVNZTkNQUk9DPihsb2FkUHJvYygiZWdsQ3JlYXRlU3luYyIpKTsKKyAgICBsX2VnbERlc3Ry
b3lTeW5jICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xERVNUUk9ZU1lOQ1BST0M+KGxvYWRQ
cm9jKCJlZ2xEZXN0cm95U3luYyIpKTsKKyAgICBsX2VnbENsaWVudFdhaXRTeW5jID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xDTElFTlRXQUlUU1lOQ1BST0M+KGxvYWRQcm9jKCJlZ2xDbGllbnRX
YWl0U3luYyIpKTsKKyAgICBsX2VnbEdldFN5bmNBdHRyaWIgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xHRVRTWU5DQVRUUklCUFJPQz4obG9hZFByb2MoImVnbEdldFN5bmNBdHRyaWIiKSk7Cisg
ICAgbF9lZ2xDcmVhdGVJbWFnZSAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFSU1B
R0VQUk9DPihsb2FkUHJvYygiZWdsQ3JlYXRlSW1hZ2UiKSk7CisgICAgbF9lZ2xEZXN0cm95SW1h
Z2UgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWUlNQUdFUFJPQz4obG9hZFByb2Mo
ImVnbERlc3Ryb3lJbWFnZSIpKTsKKyAgICBsX2VnbEdldFBsYXRmb3JtRGlzcGxheSA9CiAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUUExBVEZPUk1ESVNQTEFZUFJPQz4obG9hZFBy
b2MoImVnbEdldFBsYXRmb3JtRGlzcGxheSIpKTsKLSAgICBlZ2xDcmVhdGVQbGF0Zm9ybVdpbmRv
d1N1cmZhY2UgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VS
RkFDRVBST0M+KAorICAgIGxfZWdsQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VQUk9DPigKICAgICAg
ICAgbG9hZFByb2MoImVnbENyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZSIpKTsKLSAgICBlZ2xD
cmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2UgPSByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFU
RVBMQVRGT1JNUElYTUFQU1VSRkFDRVBST0M+KAorICAgIGxfZWdsQ3JlYXRlUGxhdGZvcm1QaXht
YXBTdXJmYWNlID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVQTEFURk9STVBJWE1BUFNV
UkZBQ0VQUk9DPigKICAgICAgICAgbG9hZFByb2MoImVnbENyZWF0ZVBsYXRmb3JtUGl4bWFwU3Vy
ZmFjZSIpKTsKLSAgICBlZ2xXYWl0U3luYyAgICAgICAgICAgICAgICAgPSByZWludGVycHJldF9j
YXN0PFBGTkVHTFdBSVRTWU5DUFJPQz4obG9hZFByb2MoImVnbFdhaXRTeW5jIikpOwotICAgIGVn
bFNldEJsb2JDYWNoZUZ1bmNzQU5EUk9JRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU0VUQkxP
QkNBQ0hFRlVOQ1NBTkRST0lEUFJPQz4oCisgICAgbF9lZ2xXYWl0U3luYyAgICAgICAgICAgICAg
ICAgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFdBSVRTWU5DUFJPQz4obG9hZFByb2MoImVnbFdh
aXRTeW5jIikpOworICAgIGxfZWdsU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5FR0xTRVRCTE9CQ0FDSEVGVU5DU0FORFJPSURQUk9DPigKICAgICAgICAgbG9h
ZFByb2MoImVnbFNldEJsb2JDYWNoZUZ1bmNzQU5EUk9JRCIpKTsKLSAgICBlZ2xHZXRDb21wb3Np
dG9yVGltaW5nQU5EUk9JRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUQ09NUE9TSVRPUlRJ
TUlOR0FORFJPSURQUk9DPigKKyAgICBsX2VnbEdldENvbXBvc2l0b3JUaW1pbmdBTkRST0lEID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVRDT01QT1NJVE9SVElNSU5HQU5EUk9JRFBST0M+KAog
ICAgICAgICBsb2FkUHJvYygiZWdsR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQiKSk7Ci0gICAg
ZWdsR2V0Q29tcG9zaXRvclRpbWluZ1N1cHBvcnRlZEFORFJPSUQgPQorICAgIGxfZWdsR2V0Q29t
cG9zaXRvclRpbWluZ1N1cHBvcnRlZEFORFJPSUQgPQogICAgICAgICByZWludGVycHJldF9jYXN0
PFBGTkVHTEdFVENPTVBPU0lUT1JUSU1JTkdTVVBQT1JURURBTkRST0lEUFJPQz4oCiAgICAgICAg
ICAgICBsb2FkUHJvYygiZWdsR2V0Q29tcG9zaXRvclRpbWluZ1N1cHBvcnRlZEFORFJPSUQiKSk7
Ci0gICAgZWdsR2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEID0KKyAgICBsX2VnbEdl
dEZyYW1lVGltZXN0YW1wU3VwcG9ydGVkQU5EUk9JRCA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nh
c3Q8UEZORUdMR0VURlJBTUVUSU1FU1RBTVBTVVBQT1JURURBTkRST0lEUFJPQz4oCiAgICAgICAg
ICAgICBsb2FkUHJvYygiZWdsR2V0RnJhbWVUaW1lc3RhbXBTdXBwb3J0ZWRBTkRST0lEIikpOwot
ICAgIGVnbEdldEZyYW1lVGltZXN0YW1wc0FORFJPSUQgPSByZWludGVycHJldF9jYXN0PFBGTkVH
TEdFVEZSQU1FVElNRVNUQU1QU0FORFJPSURQUk9DPigKKyAgICBsX2VnbEdldEZyYW1lVGltZXN0
YW1wc0FORFJPSUQgPSByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVEZSQU1FVElNRVNUQU1QU0FO
RFJPSURQUk9DPigKICAgICAgICAgbG9hZFByb2MoImVnbEdldEZyYW1lVGltZXN0YW1wc0FORFJP
SUQiKSk7Ci0gICAgZWdsR2V0TmV4dEZyYW1lSWRBTkRST0lEID0KKyAgICBsX2VnbEdldE5leHRG
cmFtZUlkQU5EUk9JRCA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUTkVYVEZS
QU1FSURBTkRST0lEUFJPQz4obG9hZFByb2MoImVnbEdldE5leHRGcmFtZUlkQU5EUk9JRCIpKTsK
LSAgICBlZ2xHZXROYXRpdmVDbGllbnRCdWZmZXJBTkRST0lEID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xHRVROQVRJVkVDTElFTlRCVUZGRVJBTkRST0lEUFJPQz4oCisgICAgbF9lZ2xHZXROYXRp
dmVDbGllbnRCdWZmZXJBTkRST0lEID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xHRVROQVRJVkVD
TElFTlRCVUZGRVJBTkRST0lEUFJPQz4oCiAgICAgICAgIGxvYWRQcm9jKCJlZ2xHZXROYXRpdmVD
bGllbnRCdWZmZXJBTkRST0lEIikpOwotICAgIGVnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEID0K
KyAgICBsX2VnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEID0KICAgICAgICAgcmVpbnRlcnByZXRf
Y2FzdDxQRk5FR0xEVVBOQVRJVkVGRU5DRUZEQU5EUk9JRFBST0M+KGxvYWRQcm9jKCJlZ2xEdXBO
YXRpdmVGZW5jZUZEQU5EUk9JRCIpKTsKLSAgICBlZ2xQcmVzZW50YXRpb25UaW1lQU5EUk9JRCA9
CisgICAgbF9lZ2xQcmVzZW50YXRpb25UaW1lQU5EUk9JRCA9CiAgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8UEZORUdMUFJFU0VOVEFUSU9OVElNRUFORFJPSURQUk9DPihsb2FkUHJvYygiZWdsUHJl
c2VudGF0aW9uVGltZUFORFJPSUQiKSk7Ci0gICAgZWdsQ3JlYXRlRGV2aWNlQU5HTEUgPQorICAg
IGxfZWdsQ3JlYXRlRGV2aWNlQU5HTEUgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVH
TENSRUFURURFVklDRUFOR0xFUFJPQz4obG9hZFByb2MoImVnbENyZWF0ZURldmljZUFOR0xFIikp
OwotICAgIGVnbFJlbGVhc2VEZXZpY2VBTkdMRSA9CisgICAgbF9lZ2xSZWxlYXNlRGV2aWNlQU5H
TEUgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFJFTEVBU0VERVZJQ0VBTkdMRVBS
T0M+KGxvYWRQcm9jKCJlZ2xSZWxlYXNlRGV2aWNlQU5HTEUiKSk7Ci0gICAgZWdsUXVlcnlEaXNw
bGF5QXR0cmliQU5HTEUgPQorICAgIGxfZWdsUXVlcnlEaXNwbGF5QXR0cmliQU5HTEUgPQogICAg
ICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFFVRVJZRElTUExBWUFUVFJJQkFOR0xFUFJPQz4o
bG9hZFByb2MoImVnbFF1ZXJ5RGlzcGxheUF0dHJpYkFOR0xFIikpOwotICAgIGVnbFF1ZXJ5U3Ry
aW5naUFOR0xFID0KKyAgICBsX2VnbFF1ZXJ5U3RyaW5naUFOR0xFID0KICAgICAgICAgcmVpbnRl
cnByZXRfY2FzdDxQRk5FR0xRVUVSWVNUUklOR0lBTkdMRVBST0M+KGxvYWRQcm9jKCJlZ2xRdWVy
eVN0cmluZ2lBTkdMRSIpKTsKLSAgICBlZ2xQcm9ncmFtQ2FjaGVHZXRBdHRyaWJBTkdMRSA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMUFJPR1JBTUNBQ0hFR0VUQVRUUklCQU5HTEVQUk9DPigKKyAg
ICBsX2VnbFByb2dyYW1DYWNoZUdldEF0dHJpYkFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xQUk9HUkFNQ0FDSEVHRVRBVFRSSUJBTkdMRVBST0M+KAogICAgICAgICBsb2FkUHJvYygiZWds
UHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEUiKSk7Ci0gICAgZWdsUHJvZ3JhbUNhY2hlUG9wdWxh
dGVBTkdMRSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUFJPR1JBTUNBQ0hFUE9QVUxBVEVBTkdM
RVBST0M+KAorICAgIGxfZWdsUHJvZ3JhbUNhY2hlUG9wdWxhdGVBTkdMRSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8UEZORUdMUFJPR1JBTUNBQ0hFUE9QVUxBVEVBTkdMRVBST0M+KAogICAgICAgICBsb2Fk
UHJvYygiZWdsUHJvZ3JhbUNhY2hlUG9wdWxhdGVBTkdMRSIpKTsKLSAgICBlZ2xQcm9ncmFtQ2Fj
aGVRdWVyeUFOR0xFID0KKyAgICBsX2VnbFByb2dyYW1DYWNoZVF1ZXJ5QU5HTEUgPQogICAgICAg
ICByZWludGVycHJldF9jYXN0PFBGTkVHTFBST0dSQU1DQUNIRVFVRVJZQU5HTEVQUk9DPihsb2Fk
UHJvYygiZWdsUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRSIpKTsKLSAgICBlZ2xQcm9ncmFtQ2FjaGVS
ZXNpemVBTkdMRSA9CisgICAgbF9lZ2xQcm9ncmFtQ2FjaGVSZXNpemVBTkdMRSA9CiAgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUFJPR1JBTUNBQ0hFUkVTSVpFQU5HTEVQUk9DPihsb2Fk
UHJvYygiZWdsUHJvZ3JhbUNhY2hlUmVzaXplQU5HTEUiKSk7Ci0gICAgZWdsUXVlcnlTdXJmYWNl
UG9pbnRlckFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNVUkZBQ0VQT0lOVEVS
QU5HTEVQUk9DPigKKyAgICBsX2VnbFF1ZXJ5U3VyZmFjZVBvaW50ZXJBTkdMRSA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZORUdMUVVFUllTVVJGQUNFUE9JTlRFUkFOR0xFUFJPQz4oCiAgICAgICAgIGxv
YWRQcm9jKCJlZ2xRdWVyeVN1cmZhY2VQb2ludGVyQU5HTEUiKSk7Ci0gICAgZWdsQ3JlYXRlU3Ry
ZWFtUHJvZHVjZXJEM0RUZXh0dXJlQU5HTEUgPQorICAgIGxfZWdsQ3JlYXRlU3RyZWFtUHJvZHVj
ZXJEM0RUZXh0dXJlQU5HTEUgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFU
RVNUUkVBTVBST0RVQ0VSRDNEVEVYVFVSRUFOR0xFUFJPQz4oCiAgICAgICAgICAgICBsb2FkUHJv
YygiZWdsQ3JlYXRlU3RyZWFtUHJvZHVjZXJEM0RUZXh0dXJlQU5HTEUiKSk7Ci0gICAgZWdsU3Ry
ZWFtUG9zdEQzRFRleHR1cmVBTkdMRSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNUE9T
VEQzRFRFWFRVUkVBTkdMRVBST0M+KAorICAgIGxfZWdsU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdM
RSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNUE9TVEQzRFRFWFRVUkVBTkdMRVBST0M+
KAogICAgICAgICBsb2FkUHJvYygiZWdsU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdMRSIpKTsKLSAg
ICBlZ2xTd2FwQnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBG
TkVHTFNXQVBCVUZGRVJTV0lUSEZSQU1FVE9LRU5BTkdMRVBST0M+KAotICAgICAgICBsb2FkUHJv
YygiZWdsU3dhcEJ1ZmZlcnNXaXRoRnJhbWVUb2tlbkFOR0xFIikpOwotICAgIGVnbEdldE1zY1Jh
dGVDSFJPTUlVTSA9Ci0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUTVNDUkFURUNI
Uk9NSVVNUFJPQz4obG9hZFByb2MoImVnbEdldE1zY1JhdGVDSFJPTUlVTSIpKTsKLSAgICBlZ2xH
ZXRTeW5jVmFsdWVzQ0hST01JVU0gPQorICAgIGxfZWdsU3dhcEJ1ZmZlcnNXaXRoRnJhbWVUb2tl
bkFOR0xFID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xTV0FQQlVGRkVSU1dJVEhG
UkFNRVRPS0VOQU5HTEVQUk9DPigKKyAgICAgICAgICAgIGxvYWRQcm9jKCJlZ2xTd2FwQnVmZmVy
c1dpdGhGcmFtZVRva2VuQU5HTEUiKSk7CisgICAgbF9lZ2xHZXRNc2NSYXRlQU5HTEUgPQorICAg
ICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVE1TQ1JBVEVBTkdMRVBST0M+KGxvYWRQcm9j
KCJlZ2xHZXRNc2NSYXRlQU5HTEUiKSk7CisgICAgbF9lZ2xHZXRTeW5jVmFsdWVzQ0hST01JVU0g
PQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVFNZTkNWQUxVRVNDSFJPTUlVTVBS
T0M+KGxvYWRQcm9jKCJlZ2xHZXRTeW5jVmFsdWVzQ0hST01JVU0iKSk7Ci0gICAgZWdsUXVlcnlE
ZXZpY2VBdHRyaWJFWFQgPQorICAgIGxfZWdsUXVlcnlEZXZpY2VBdHRyaWJFWFQgPQogICAgICAg
ICByZWludGVycHJldF9jYXN0PFBGTkVHTFFVRVJZREVWSUNFQVRUUklCRVhUUFJPQz4obG9hZFBy
b2MoImVnbFF1ZXJ5RGV2aWNlQXR0cmliRVhUIikpOwotICAgIGVnbFF1ZXJ5RGV2aWNlU3RyaW5n
RVhUID0KKyAgICBsX2VnbFF1ZXJ5RGV2aWNlU3RyaW5nRVhUID0KICAgICAgICAgcmVpbnRlcnBy
ZXRfY2FzdDxQRk5FR0xRVUVSWURFVklDRVNUUklOR0VYVFBST0M+KGxvYWRQcm9jKCJlZ2xRdWVy
eURldmljZVN0cmluZ0VYVCIpKTsKLSAgICBlZ2xRdWVyeURpc3BsYXlBdHRyaWJFWFQgPQorICAg
IGxfZWdsUXVlcnlEaXNwbGF5QXR0cmliRVhUID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQ
Rk5FR0xRVUVSWURJU1BMQVlBVFRSSUJFWFRQUk9DPihsb2FkUHJvYygiZWdsUXVlcnlEaXNwbGF5
QXR0cmliRVhUIikpOwotICAgIGVnbENyZWF0ZVBsYXRmb3JtUGl4bWFwU3VyZmFjZUVYVCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFUExBVEZPUk1QSVhNQVBTVVJGQUNFRVhUUFJPQz4o
Ci0gICAgICAgIGxvYWRQcm9jKCJlZ2xDcmVhdGVQbGF0Zm9ybVBpeG1hcFN1cmZhY2VFWFQiKSk7
Ci0gICAgZWdsQ3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlRVhUID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VFWFRQUk9DPigKLSAgICAgICAgbG9h
ZFByb2MoImVnbENyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZUVYVCIpKTsKLSAgICBlZ2xHZXRQ
bGF0Zm9ybURpc3BsYXlFWFQgPQorICAgIGxfZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNl
RVhUID0KKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVQTEFURk9STVBJWE1B
UFNVUkZBQ0VFWFRQUk9DPigKKyAgICAgICAgICAgIGxvYWRQcm9jKCJlZ2xDcmVhdGVQbGF0Zm9y
bVBpeG1hcFN1cmZhY2VFWFQiKSk7CisgICAgbF9lZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZh
Y2VFWFQgPQorICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTENSRUFURVBMQVRGT1JNV0lO
RE9XU1VSRkFDRUVYVFBST0M+KAorICAgICAgICAgICAgbG9hZFByb2MoImVnbENyZWF0ZVBsYXRm
b3JtV2luZG93U3VyZmFjZUVYVCIpKTsKKyAgICBsX2VnbEdldFBsYXRmb3JtRGlzcGxheUVYVCA9
CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMR0VUUExBVEZPUk1ESVNQTEFZRVhUUFJP
Qz4obG9hZFByb2MoImVnbEdldFBsYXRmb3JtRGlzcGxheUVYVCIpKTsKLSAgICBlZ2xEZWJ1Z01l
c3NhZ2VDb250cm9sS0hSID0KKyAgICBsX2VnbERlYnVnTWVzc2FnZUNvbnRyb2xLSFIgPQogICAg
ICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DPihs
b2FkUHJvYygiZWdsRGVidWdNZXNzYWdlQ29udHJvbEtIUiIpKTsKLSAgICBlZ2xMYWJlbE9iamVj
dEtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMTEFCRUxPQkpFQ1RLSFJQUk9DPihsb2FkUHJv
YygiZWdsTGFiZWxPYmplY3RLSFIiKSk7Ci0gICAgZWdsUXVlcnlEZWJ1Z0tIUiAgPSByZWludGVy
cHJldF9jYXN0PFBGTkVHTFFVRVJZREVCVUdLSFJQUk9DPihsb2FkUHJvYygiZWdsUXVlcnlEZWJ1
Z0tIUiIpKTsKLSAgICBlZ2xDbGllbnRXYWl0U3luY0tIUiA9CisgICAgbF9lZ2xMYWJlbE9iamVj
dEtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMTEFCRUxPQkpFQ1RLSFJQUk9DPihsb2FkUHJv
YygiZWdsTGFiZWxPYmplY3RLSFIiKSk7CisgICAgbF9lZ2xRdWVyeURlYnVnS0hSICA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UEZORUdMUVVFUllERUJVR0tIUlBST0M+KGxvYWRQcm9jKCJlZ2xRdWVyeURl
YnVnS0hSIikpOworICAgIGxfZWdsQ2xpZW50V2FpdFN5bmNLSFIgPQogICAgICAgICByZWludGVy
cHJldF9jYXN0PFBGTkVHTENMSUVOVFdBSVRTWU5DS0hSUFJPQz4obG9hZFByb2MoImVnbENsaWVu
dFdhaXRTeW5jS0hSIikpOwotICAgIGVnbENyZWF0ZVN5bmNLSFIgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5FR0xDUkVBVEVTWU5DS0hSUFJPQz4obG9hZFByb2MoImVnbENyZWF0ZVN5bmNLSFIiKSk7
Ci0gICAgZWdsRGVzdHJveVN5bmNLSFIgPSByZWludGVycHJldF9jYXN0PFBGTkVHTERFU1RST1lT
WU5DS0hSUFJPQz4obG9hZFByb2MoImVnbERlc3Ryb3lTeW5jS0hSIikpOwotICAgIGVnbEdldFN5
bmNBdHRyaWJLSFIgPQorICAgIGxfZWdsQ3JlYXRlU3luY0tIUiAgPSByZWludGVycHJldF9jYXN0
PFBGTkVHTENSRUFURVNZTkNLSFJQUk9DPihsb2FkUHJvYygiZWdsQ3JlYXRlU3luY0tIUiIpKTsK
KyAgICBsX2VnbERlc3Ryb3lTeW5jS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xERVNUUk9Z
U1lOQ0tIUlBST0M+KGxvYWRQcm9jKCJlZ2xEZXN0cm95U3luY0tIUiIpKTsKKyAgICBsX2VnbEdl
dFN5bmNBdHRyaWJLSFIgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTEdFVFNZTkNB
VFRSSUJLSFJQUk9DPihsb2FkUHJvYygiZWdsR2V0U3luY0F0dHJpYktIUiIpKTsKLSAgICBlZ2xD
cmVhdGVJbWFnZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMQ1JFQVRFSU1BR0VLSFJQUk9D
Pihsb2FkUHJvYygiZWdsQ3JlYXRlSW1hZ2VLSFIiKSk7Ci0gICAgZWdsRGVzdHJveUltYWdlS0hS
ID0KKyAgICBsX2VnbENyZWF0ZUltYWdlS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xDUkVB
VEVJTUFHRUtIUlBST0M+KGxvYWRQcm9jKCJlZ2xDcmVhdGVJbWFnZUtIUiIpKTsKKyAgICBsX2Vn
bERlc3Ryb3lJbWFnZUtIUiA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJP
WUlNQUdFS0hSUFJPQz4obG9hZFByb2MoImVnbERlc3Ryb3lJbWFnZUtIUiIpKTsKLSAgICBlZ2xD
cmVhdGVTdHJlYW1LSFIgPQorICAgIGxfZWdsQ3JlYXRlU3RyZWFtS0hSID0KICAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xDUkVBVEVTVFJFQU1LSFJQUk9DPihsb2FkUHJvYygiZWdsQ3Jl
YXRlU3RyZWFtS0hSIikpOwotICAgIGVnbERlc3Ryb3lTdHJlYW1LSFIgPQorICAgIGxfZWdsRGVz
dHJveVN0cmVhbUtIUiA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMREVTVFJPWVNU
UkVBTUtIUlBST0M+KGxvYWRQcm9jKCJlZ2xEZXN0cm95U3RyZWFtS0hSIikpOwotICAgIGVnbFF1
ZXJ5U3RyZWFtS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQRk5FR0xRVUVSWVNUUkVBTUtIUlBST0M+
KGxvYWRQcm9jKCJlZ2xRdWVyeVN0cmVhbUtIUiIpKTsKLSAgICBlZ2xRdWVyeVN0cmVhbXU2NEtI
UiA9CisgICAgbF9lZ2xRdWVyeVN0cmVhbUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVF
UllTVFJFQU1LSFJQUk9DPihsb2FkUHJvYygiZWdsUXVlcnlTdHJlYW1LSFIiKSk7CisgICAgbF9l
Z2xRdWVyeVN0cmVhbXU2NEtIUiA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMUVVF
UllTVFJFQU1VNjRLSFJQUk9DPihsb2FkUHJvYygiZWdsUXVlcnlTdHJlYW11NjRLSFIiKSk7Ci0g
ICAgZWdsU3RyZWFtQXR0cmliS0hSID0KKyAgICBsX2VnbFN0cmVhbUF0dHJpYktIUiA9CiAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNQVRUUklCS0hSUFJPQz4obG9hZFByb2Mo
ImVnbFN0cmVhbUF0dHJpYktIUiIpKTsKLSAgICBlZ2xTdHJlYW1Db25zdW1lckFjcXVpcmVLSFIg
PSByZWludGVycHJldF9jYXN0PFBGTkVHTFNUUkVBTUNPTlNVTUVSQUNRVUlSRUtIUlBST0M+KAor
ICAgIGxfZWdsU3RyZWFtQ29uc3VtZXJBY3F1aXJlS0hSID0gcmVpbnRlcnByZXRfY2FzdDxQRk5F
R0xTVFJFQU1DT05TVU1FUkFDUVVJUkVLSFJQUk9DPigKICAgICAgICAgbG9hZFByb2MoImVnbFN0
cmVhbUNvbnN1bWVyQWNxdWlyZUtIUiIpKTsKLSAgICBlZ2xTdHJlYW1Db25zdW1lckdMVGV4dHVy
ZUV4dGVybmFsS0hSID0KKyAgICBsX2VnbFN0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxL
SFIgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkVHTFNUUkVBTUNPTlNVTUVSR0xURVhU
VVJFRVhURVJOQUxLSFJQUk9DPigKICAgICAgICAgICAgIGxvYWRQcm9jKCJlZ2xTdHJlYW1Db25z
dW1lckdMVGV4dHVyZUV4dGVybmFsS0hSIikpOwotICAgIGVnbFN0cmVhbUNvbnN1bWVyUmVsZWFz
ZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNQ09OU1VNRVJSRUxFQVNFS0hSUFJP
Qz4oCisgICAgbF9lZ2xTdHJlYW1Db25zdW1lclJlbGVhc2VLSFIgPSByZWludGVycHJldF9jYXN0
PFBGTkVHTFNUUkVBTUNPTlNVTUVSUkVMRUFTRUtIUlBST0M+KAogICAgICAgICBsb2FkUHJvYygi
ZWdsU3RyZWFtQ29uc3VtZXJSZWxlYXNlS0hSIikpOwotICAgIGVnbFN3YXBCdWZmZXJzV2l0aERh
bWFnZUtIUiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1dBUEJVRkZFUlNXSVRIREFNQUdFS0hS
UFJPQz4oCisgICAgbF9lZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFIgPSByZWludGVycHJldF9j
YXN0PFBGTkVHTFNXQVBCVUZGRVJTV0lUSERBTUFHRUtIUlBST0M+KAogICAgICAgICBsb2FkUHJv
YygiZWdsU3dhcEJ1ZmZlcnNXaXRoRGFtYWdlS0hSIikpOwotICAgIGVnbFdhaXRTeW5jS0hSID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5FR0xXQUlUU1lOQ0tIUlBST0M+KGxvYWRQcm9jKCJlZ2xXYWl0
U3luY0tIUiIpKTsKLSAgICBlZ2xQb3N0U3ViQnVmZmVyTlYgPQorICAgIGxfZWdsV2FpdFN5bmNL
SFIgPSByZWludGVycHJldF9jYXN0PFBGTkVHTFdBSVRTWU5DS0hSUFJPQz4obG9hZFByb2MoImVn
bFdhaXRTeW5jS0hSIikpOworICAgIGxfZWdsUG9zdFN1YkJ1ZmZlck5WID0KICAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxQRk5FR0xQT1NUU1VCQlVGRkVSTlZQUk9DPihsb2FkUHJvYygiZWdsUG9z
dFN1YkJ1ZmZlck5WIikpOwotICAgIGVnbFN0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxB
dHRyaWJzTlYgPQorICAgIGxfZWdsU3RyZWFtQ29uc3VtZXJHTFRleHR1cmVFeHRlcm5hbEF0dHJp
YnNOViA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZORUdMU1RSRUFNQ09OU1VNRVJHTFRF
WFRVUkVFWFRFUk5BTEFUVFJJQlNOVlBST0M+KAogICAgICAgICAgICAgbG9hZFByb2MoImVnbFN0
cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxBdHRyaWJzTlYiKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL2VnbF9sb2FkZXJfYXV0b2dlbi5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdXRpbC9lZ2xfbG9hZGVyX2F1dG9nZW4uaAppbmRleCBhNWMw
OWU3OTJhMDQ3OTYzMjI3ZTYwOTA0NDRkMjFmYTIzMjRhNTVmLi5lZTcxNjJkZTI4NzE5YzYxYzU3
ZGUwOGQzZjEzMzFmNmEwMDJlYjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS91dGlsL2VnbF9sb2FkZXJfYXV0b2dlbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3V0aWwvZWdsX2xvYWRlcl9hdXRvZ2VuLmgKQEAgLTE2LDEwNSArMTYsMjAyIEBACiAjaW5jbHVk
ZSA8RUdML2VnbC5oPgogI2luY2x1ZGUgPEVHTC9lZ2xleHQuaD4KIAotQU5HTEVfVVRJTF9FWFBP
UlQgZXh0ZXJuIFBGTkVHTENIT09TRUNPTkZJR1BST0MgZWdsQ2hvb3NlQ29uZmlnOwotQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENPUFlCVUZGRVJTUFJPQyBlZ2xDb3B5QnVmZmVyczsK
LUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVDT05URVhUUFJPQyBlZ2xDcmVh
dGVDb250ZXh0OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBCVUZGRVJT
VVJGQUNFUFJPQyBlZ2xDcmVhdGVQYnVmZmVyU3VyZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQyBlZ2xDcmVhdGVQaXhtYXBTdXJmYWNl
OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVdJTkRPV1NVUkZBQ0VQUk9D
IGVnbENyZWF0ZVdpbmRvd1N1cmZhY2U7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdM
REVTVFJPWUNPTlRFWFRQUk9DIGVnbERlc3Ryb3lDb250ZXh0OwotQU5HTEVfVVRJTF9FWFBPUlQg
ZXh0ZXJuIFBGTkVHTERFU1RST1lTVVJGQUNFUFJPQyBlZ2xEZXN0cm95U3VyZmFjZTsKLUFOR0xF
X1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRDT05GSUdBVFRSSUJQUk9DIGVnbEdldENvbmZp
Z0F0dHJpYjsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRDT05GSUdTUFJPQyBl
Z2xHZXRDb25maWdzOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENVUlJFTlRE
SVNQTEFZUFJPQyBlZ2xHZXRDdXJyZW50RGlzcGxheTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVy
biBQRk5FR0xHRVRDVVJSRU5UU1VSRkFDRVBST0MgZWdsR2V0Q3VycmVudFN1cmZhY2U7Ci1BTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VURElTUExBWVBST0MgZWdsR2V0RGlzcGxheTsK
LUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRFUlJPUlBST0MgZWdsR2V0RXJyb3I7
Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUUFJPQ0FERFJFU1NQUk9DIGVnbEdl
dFByb2NBZGRyZXNzOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTElOSVRJQUxJWkVQ
Uk9DIGVnbEluaXRpYWxpemU7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMTUFLRUNV
UlJFTlRQUk9DIGVnbE1ha2VDdXJyZW50OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TFFVRVJZQ09OVEVYVFBST0MgZWdsUXVlcnlDb250ZXh0OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0
ZXJuIFBGTkVHTFFVRVJZU1RSSU5HUFJPQyBlZ2xRdWVyeVN0cmluZzsKLUFOR0xFX1VUSUxfRVhQ
T1JUIGV4dGVybiBQRk5FR0xRVUVSWVNVUkZBQ0VQUk9DIGVnbFF1ZXJ5U3VyZmFjZTsKLUFOR0xF
X1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQQlVGRkVSU1BST0MgZWdsU3dhcEJ1ZmZlcnM7
Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMVEVSTUlOQVRFUFJPQyBlZ2xUZXJtaW5h
dGU7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMV0FJVEdMUFJPQyBlZ2xXYWl0R0w7
Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMV0FJVE5BVElWRVBST0MgZWdsV2FpdE5h
dGl2ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xCSU5EVEVYSU1BR0VQUk9DIGVn
bEJpbmRUZXhJbWFnZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xSRUxFQVNFVEVY
SU1BR0VQUk9DIGVnbFJlbGVhc2VUZXhJbWFnZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQ
Rk5FR0xTVVJGQUNFQVRUUklCUFJPQyBlZ2xTdXJmYWNlQXR0cmliOwotQU5HTEVfVVRJTF9FWFBP
UlQgZXh0ZXJuIFBGTkVHTFNXQVBJTlRFUlZBTFBST0MgZWdsU3dhcEludGVydmFsOwotQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEJJTkRBUElQUk9DIGVnbEJpbmRBUEk7Ci1BTkdMRV9V
VElMX0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllBUElQUk9DIGVnbFF1ZXJ5QVBJOwotQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBCVUZGRVJGUk9NQ0xJRU5UQlVGRkVSUFJP
QyBlZ2xDcmVhdGVQYnVmZmVyRnJvbUNsaWVudEJ1ZmZlcjsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xSRUxFQVNFVEhSRUFEUFJPQyBlZ2xSZWxlYXNlVGhyZWFkOwotQU5HTEVfVVRJ
TF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFdBSVRDTElFTlRQUk9DIGVnbFdhaXRDbGllbnQ7Ci1BTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUQ1VSUkVOVENPTlRFWFRQUk9DIGVnbEdldEN1
cnJlbnRDb250ZXh0OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVNZTkNQ
Uk9DIGVnbENyZWF0ZVN5bmM7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJP
WVNZTkNQUk9DIGVnbERlc3Ryb3lTeW5jOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TENMSUVOVFdBSVRTWU5DUFJPQyBlZ2xDbGllbnRXYWl0U3luYzsKLUFOR0xFX1VUSUxfRVhQT1JU
IGV4dGVybiBQRk5FR0xHRVRTWU5DQVRUUklCUFJPQyBlZ2xHZXRTeW5jQXR0cmliOwotQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURUlNQUdFUFJPQyBlZ2xDcmVhdGVJbWFnZTsK
LUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZSU1BR0VQUk9DIGVnbERlc3Ry
b3lJbWFnZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRQTEFURk9STURJU1BM
QVlQUk9DIGVnbEdldFBsYXRmb3JtRGlzcGxheTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQ
Rk5FR0xDUkVBVEVQTEFURk9STVdJTkRPV1NVUkZBQ0VQUk9DIGVnbENyZWF0ZVBsYXRmb3JtV2lu
ZG93U3VyZmFjZTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVQTEFURk9S
TVBJWE1BUFNVUkZBQ0VQUk9DIGVnbENyZWF0ZVBsYXRmb3JtUGl4bWFwU3VyZmFjZTsKLUFOR0xF
X1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xXQUlUU1lOQ1BST0MgZWdsV2FpdFN5bmM7Ci1BTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMU0VUQkxPQkNBQ0hFRlVOQ1NBTkRST0lEUFJPQyBl
Z2xTZXRCbG9iQ2FjaGVGdW5jc0FORFJPSUQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZO
RUdMR0VUQ09NUE9TSVRPUlRJTUlOR0FORFJPSURQUk9DIGVnbEdldENvbXBvc2l0b3JUaW1pbmdB
TkRST0lEOworI2RlZmluZSBlZ2xDaG9vc2VDb25maWcgbF9lZ2xDaG9vc2VDb25maWcKKyNkZWZp
bmUgZWdsQ29weUJ1ZmZlcnMgbF9lZ2xDb3B5QnVmZmVycworI2RlZmluZSBlZ2xDcmVhdGVDb250
ZXh0IGxfZWdsQ3JlYXRlQ29udGV4dAorI2RlZmluZSBlZ2xDcmVhdGVQYnVmZmVyU3VyZmFjZSBs
X2VnbENyZWF0ZVBidWZmZXJTdXJmYWNlCisjZGVmaW5lIGVnbENyZWF0ZVBpeG1hcFN1cmZhY2Ug
bF9lZ2xDcmVhdGVQaXhtYXBTdXJmYWNlCisjZGVmaW5lIGVnbENyZWF0ZVdpbmRvd1N1cmZhY2Ug
bF9lZ2xDcmVhdGVXaW5kb3dTdXJmYWNlCisjZGVmaW5lIGVnbERlc3Ryb3lDb250ZXh0IGxfZWds
RGVzdHJveUNvbnRleHQKKyNkZWZpbmUgZWdsRGVzdHJveVN1cmZhY2UgbF9lZ2xEZXN0cm95U3Vy
ZmFjZQorI2RlZmluZSBlZ2xHZXRDb25maWdBdHRyaWIgbF9lZ2xHZXRDb25maWdBdHRyaWIKKyNk
ZWZpbmUgZWdsR2V0Q29uZmlncyBsX2VnbEdldENvbmZpZ3MKKyNkZWZpbmUgZWdsR2V0Q3VycmVu
dERpc3BsYXkgbF9lZ2xHZXRDdXJyZW50RGlzcGxheQorI2RlZmluZSBlZ2xHZXRDdXJyZW50U3Vy
ZmFjZSBsX2VnbEdldEN1cnJlbnRTdXJmYWNlCisjZGVmaW5lIGVnbEdldERpc3BsYXkgbF9lZ2xH
ZXREaXNwbGF5CisjZGVmaW5lIGVnbEdldEVycm9yIGxfZWdsR2V0RXJyb3IKKyNkZWZpbmUgZWds
R2V0UHJvY0FkZHJlc3MgbF9lZ2xHZXRQcm9jQWRkcmVzcworI2RlZmluZSBlZ2xJbml0aWFsaXpl
IGxfZWdsSW5pdGlhbGl6ZQorI2RlZmluZSBlZ2xNYWtlQ3VycmVudCBsX2VnbE1ha2VDdXJyZW50
CisjZGVmaW5lIGVnbFF1ZXJ5Q29udGV4dCBsX2VnbFF1ZXJ5Q29udGV4dAorI2RlZmluZSBlZ2xR
dWVyeVN0cmluZyBsX2VnbFF1ZXJ5U3RyaW5nCisjZGVmaW5lIGVnbFF1ZXJ5U3VyZmFjZSBsX2Vn
bFF1ZXJ5U3VyZmFjZQorI2RlZmluZSBlZ2xTd2FwQnVmZmVycyBsX2VnbFN3YXBCdWZmZXJzCisj
ZGVmaW5lIGVnbFRlcm1pbmF0ZSBsX2VnbFRlcm1pbmF0ZQorI2RlZmluZSBlZ2xXYWl0R0wgbF9l
Z2xXYWl0R0wKKyNkZWZpbmUgZWdsV2FpdE5hdGl2ZSBsX2VnbFdhaXROYXRpdmUKKyNkZWZpbmUg
ZWdsQmluZFRleEltYWdlIGxfZWdsQmluZFRleEltYWdlCisjZGVmaW5lIGVnbFJlbGVhc2VUZXhJ
bWFnZSBsX2VnbFJlbGVhc2VUZXhJbWFnZQorI2RlZmluZSBlZ2xTdXJmYWNlQXR0cmliIGxfZWds
U3VyZmFjZUF0dHJpYgorI2RlZmluZSBlZ2xTd2FwSW50ZXJ2YWwgbF9lZ2xTd2FwSW50ZXJ2YWwK
KyNkZWZpbmUgZWdsQmluZEFQSSBsX2VnbEJpbmRBUEkKKyNkZWZpbmUgZWdsUXVlcnlBUEkgbF9l
Z2xRdWVyeUFQSQorI2RlZmluZSBlZ2xDcmVhdGVQYnVmZmVyRnJvbUNsaWVudEJ1ZmZlciBsX2Vn
bENyZWF0ZVBidWZmZXJGcm9tQ2xpZW50QnVmZmVyCisjZGVmaW5lIGVnbFJlbGVhc2VUaHJlYWQg
bF9lZ2xSZWxlYXNlVGhyZWFkCisjZGVmaW5lIGVnbFdhaXRDbGllbnQgbF9lZ2xXYWl0Q2xpZW50
CisjZGVmaW5lIGVnbEdldEN1cnJlbnRDb250ZXh0IGxfZWdsR2V0Q3VycmVudENvbnRleHQKKyNk
ZWZpbmUgZWdsQ3JlYXRlU3luYyBsX2VnbENyZWF0ZVN5bmMKKyNkZWZpbmUgZWdsRGVzdHJveVN5
bmMgbF9lZ2xEZXN0cm95U3luYworI2RlZmluZSBlZ2xDbGllbnRXYWl0U3luYyBsX2VnbENsaWVu
dFdhaXRTeW5jCisjZGVmaW5lIGVnbEdldFN5bmNBdHRyaWIgbF9lZ2xHZXRTeW5jQXR0cmliCisj
ZGVmaW5lIGVnbENyZWF0ZUltYWdlIGxfZWdsQ3JlYXRlSW1hZ2UKKyNkZWZpbmUgZWdsRGVzdHJv
eUltYWdlIGxfZWdsRGVzdHJveUltYWdlCisjZGVmaW5lIGVnbEdldFBsYXRmb3JtRGlzcGxheSBs
X2VnbEdldFBsYXRmb3JtRGlzcGxheQorI2RlZmluZSBlZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1
cmZhY2UgbF9lZ2xDcmVhdGVQbGF0Zm9ybVdpbmRvd1N1cmZhY2UKKyNkZWZpbmUgZWdsQ3JlYXRl
UGxhdGZvcm1QaXhtYXBTdXJmYWNlIGxfZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlCisj
ZGVmaW5lIGVnbFdhaXRTeW5jIGxfZWdsV2FpdFN5bmMKKyNkZWZpbmUgZWdsU2V0QmxvYkNhY2hl
RnVuY3NBTkRST0lEIGxfZWdsU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lECisjZGVmaW5lIGVnbEdl
dENvbXBvc2l0b3JUaW1pbmdBTkRST0lEIGxfZWdsR2V0Q29tcG9zaXRvclRpbWluZ0FORFJPSUQK
KyNkZWZpbmUgZWdsR2V0Q29tcG9zaXRvclRpbWluZ1N1cHBvcnRlZEFORFJPSUQgbF9lZ2xHZXRD
b21wb3NpdG9yVGltaW5nU3VwcG9ydGVkQU5EUk9JRAorI2RlZmluZSBlZ2xHZXRGcmFtZVRpbWVz
dGFtcFN1cHBvcnRlZEFORFJPSUQgbF9lZ2xHZXRGcmFtZVRpbWVzdGFtcFN1cHBvcnRlZEFORFJP
SUQKKyNkZWZpbmUgZWdsR2V0RnJhbWVUaW1lc3RhbXBzQU5EUk9JRCBsX2VnbEdldEZyYW1lVGlt
ZXN0YW1wc0FORFJPSUQKKyNkZWZpbmUgZWdsR2V0TmV4dEZyYW1lSWRBTkRST0lEIGxfZWdsR2V0
TmV4dEZyYW1lSWRBTkRST0lECisjZGVmaW5lIGVnbEdldE5hdGl2ZUNsaWVudEJ1ZmZlckFORFJP
SUQgbF9lZ2xHZXROYXRpdmVDbGllbnRCdWZmZXJBTkRST0lECisjZGVmaW5lIGVnbER1cE5hdGl2
ZUZlbmNlRkRBTkRST0lEIGxfZWdsRHVwTmF0aXZlRmVuY2VGREFORFJPSUQKKyNkZWZpbmUgZWds
UHJlc2VudGF0aW9uVGltZUFORFJPSUQgbF9lZ2xQcmVzZW50YXRpb25UaW1lQU5EUk9JRAorI2Rl
ZmluZSBlZ2xDcmVhdGVEZXZpY2VBTkdMRSBsX2VnbENyZWF0ZURldmljZUFOR0xFCisjZGVmaW5l
IGVnbFJlbGVhc2VEZXZpY2VBTkdMRSBsX2VnbFJlbGVhc2VEZXZpY2VBTkdMRQorI2RlZmluZSBl
Z2xRdWVyeURpc3BsYXlBdHRyaWJBTkdMRSBsX2VnbFF1ZXJ5RGlzcGxheUF0dHJpYkFOR0xFCisj
ZGVmaW5lIGVnbFF1ZXJ5U3RyaW5naUFOR0xFIGxfZWdsUXVlcnlTdHJpbmdpQU5HTEUKKyNkZWZp
bmUgZWdsUHJvZ3JhbUNhY2hlR2V0QXR0cmliQU5HTEUgbF9lZ2xQcm9ncmFtQ2FjaGVHZXRBdHRy
aWJBTkdMRQorI2RlZmluZSBlZ2xQcm9ncmFtQ2FjaGVQb3B1bGF0ZUFOR0xFIGxfZWdsUHJvZ3Jh
bUNhY2hlUG9wdWxhdGVBTkdMRQorI2RlZmluZSBlZ2xQcm9ncmFtQ2FjaGVRdWVyeUFOR0xFIGxf
ZWdsUHJvZ3JhbUNhY2hlUXVlcnlBTkdMRQorI2RlZmluZSBlZ2xQcm9ncmFtQ2FjaGVSZXNpemVB
TkdMRSBsX2VnbFByb2dyYW1DYWNoZVJlc2l6ZUFOR0xFCisjZGVmaW5lIGVnbFF1ZXJ5U3VyZmFj
ZVBvaW50ZXJBTkdMRSBsX2VnbFF1ZXJ5U3VyZmFjZVBvaW50ZXJBTkdMRQorI2RlZmluZSBlZ2xD
cmVhdGVTdHJlYW1Qcm9kdWNlckQzRFRleHR1cmVBTkdMRSBsX2VnbENyZWF0ZVN0cmVhbVByb2R1
Y2VyRDNEVGV4dHVyZUFOR0xFCisjZGVmaW5lIGVnbFN0cmVhbVBvc3REM0RUZXh0dXJlQU5HTEUg
bF9lZ2xTdHJlYW1Qb3N0RDNEVGV4dHVyZUFOR0xFCisjZGVmaW5lIGVnbFN3YXBCdWZmZXJzV2l0
aEZyYW1lVG9rZW5BTkdMRSBsX2VnbFN3YXBCdWZmZXJzV2l0aEZyYW1lVG9rZW5BTkdMRQorI2Rl
ZmluZSBlZ2xHZXRNc2NSYXRlQU5HTEUgbF9lZ2xHZXRNc2NSYXRlQU5HTEUKKyNkZWZpbmUgZWds
R2V0U3luY1ZhbHVlc0NIUk9NSVVNIGxfZWdsR2V0U3luY1ZhbHVlc0NIUk9NSVVNCisjZGVmaW5l
IGVnbFF1ZXJ5RGV2aWNlQXR0cmliRVhUIGxfZWdsUXVlcnlEZXZpY2VBdHRyaWJFWFQKKyNkZWZp
bmUgZWdsUXVlcnlEZXZpY2VTdHJpbmdFWFQgbF9lZ2xRdWVyeURldmljZVN0cmluZ0VYVAorI2Rl
ZmluZSBlZ2xRdWVyeURpc3BsYXlBdHRyaWJFWFQgbF9lZ2xRdWVyeURpc3BsYXlBdHRyaWJFWFQK
KyNkZWZpbmUgZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlRVhUIGxfZWdsQ3JlYXRlUGxh
dGZvcm1QaXhtYXBTdXJmYWNlRVhUCisjZGVmaW5lIGVnbENyZWF0ZVBsYXRmb3JtV2luZG93U3Vy
ZmFjZUVYVCBsX2VnbENyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZUVYVAorI2RlZmluZSBlZ2xH
ZXRQbGF0Zm9ybURpc3BsYXlFWFQgbF9lZ2xHZXRQbGF0Zm9ybURpc3BsYXlFWFQKKyNkZWZpbmUg
ZWdsRGVidWdNZXNzYWdlQ29udHJvbEtIUiBsX2VnbERlYnVnTWVzc2FnZUNvbnRyb2xLSFIKKyNk
ZWZpbmUgZWdsTGFiZWxPYmplY3RLSFIgbF9lZ2xMYWJlbE9iamVjdEtIUgorI2RlZmluZSBlZ2xR
dWVyeURlYnVnS0hSIGxfZWdsUXVlcnlEZWJ1Z0tIUgorI2RlZmluZSBlZ2xDbGllbnRXYWl0U3lu
Y0tIUiBsX2VnbENsaWVudFdhaXRTeW5jS0hSCisjZGVmaW5lIGVnbENyZWF0ZVN5bmNLSFIgbF9l
Z2xDcmVhdGVTeW5jS0hSCisjZGVmaW5lIGVnbERlc3Ryb3lTeW5jS0hSIGxfZWdsRGVzdHJveVN5
bmNLSFIKKyNkZWZpbmUgZWdsR2V0U3luY0F0dHJpYktIUiBsX2VnbEdldFN5bmNBdHRyaWJLSFIK
KyNkZWZpbmUgZWdsQ3JlYXRlSW1hZ2VLSFIgbF9lZ2xDcmVhdGVJbWFnZUtIUgorI2RlZmluZSBl
Z2xEZXN0cm95SW1hZ2VLSFIgbF9lZ2xEZXN0cm95SW1hZ2VLSFIKKyNkZWZpbmUgZWdsQ3JlYXRl
U3RyZWFtS0hSIGxfZWdsQ3JlYXRlU3RyZWFtS0hSCisjZGVmaW5lIGVnbERlc3Ryb3lTdHJlYW1L
SFIgbF9lZ2xEZXN0cm95U3RyZWFtS0hSCisjZGVmaW5lIGVnbFF1ZXJ5U3RyZWFtS0hSIGxfZWds
UXVlcnlTdHJlYW1LSFIKKyNkZWZpbmUgZWdsUXVlcnlTdHJlYW11NjRLSFIgbF9lZ2xRdWVyeVN0
cmVhbXU2NEtIUgorI2RlZmluZSBlZ2xTdHJlYW1BdHRyaWJLSFIgbF9lZ2xTdHJlYW1BdHRyaWJL
SFIKKyNkZWZpbmUgZWdsU3RyZWFtQ29uc3VtZXJBY3F1aXJlS0hSIGxfZWdsU3RyZWFtQ29uc3Vt
ZXJBY3F1aXJlS0hSCisjZGVmaW5lIGVnbFN0cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxL
SFIgbF9lZ2xTdHJlYW1Db25zdW1lckdMVGV4dHVyZUV4dGVybmFsS0hSCisjZGVmaW5lIGVnbFN0
cmVhbUNvbnN1bWVyUmVsZWFzZUtIUiBsX2VnbFN0cmVhbUNvbnN1bWVyUmVsZWFzZUtIUgorI2Rl
ZmluZSBlZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFIgbF9lZ2xTd2FwQnVmZmVyc1dpdGhEYW1h
Z2VLSFIKKyNkZWZpbmUgZWdsV2FpdFN5bmNLSFIgbF9lZ2xXYWl0U3luY0tIUgorI2RlZmluZSBl
Z2xQb3N0U3ViQnVmZmVyTlYgbF9lZ2xQb3N0U3ViQnVmZmVyTlYKKyNkZWZpbmUgZWdsU3RyZWFt
Q29uc3VtZXJHTFRleHR1cmVFeHRlcm5hbEF0dHJpYnNOViBsX2VnbFN0cmVhbUNvbnN1bWVyR0xU
ZXh0dXJlRXh0ZXJuYWxBdHRyaWJzTlYKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xD
SE9PU0VDT05GSUdQUk9DIGxfZWdsQ2hvb3NlQ29uZmlnOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0
ZXJuIFBGTkVHTENPUFlCVUZGRVJTUFJPQyBsX2VnbENvcHlCdWZmZXJzOworQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURUNPTlRFWFRQUk9DIGxfZWdsQ3JlYXRlQ29udGV4dDsK
K0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVQQlVGRkVSU1VSRkFDRVBST0Mg
bF9lZ2xDcmVhdGVQYnVmZmVyU3VyZmFjZTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5F
R0xDUkVBVEVQSVhNQVBTVVJGQUNFUFJPQyBsX2VnbENyZWF0ZVBpeG1hcFN1cmZhY2U7CitBTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFV0lORE9XU1VSRkFDRVBST0MgbF9lZ2xD
cmVhdGVXaW5kb3dTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RS
T1lDT05URVhUUFJPQyBsX2VnbERlc3Ryb3lDb250ZXh0OworQU5HTEVfVVRJTF9FWFBPUlQgZXh0
ZXJuIFBGTkVHTERFU1RST1lTVVJGQUNFUFJPQyBsX2VnbERlc3Ryb3lTdXJmYWNlOworQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENPTkZJR0FUVFJJQlBST0MgbF9lZ2xHZXRDb25m
aWdBdHRyaWI7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUQ09ORklHU1BST0Mg
bF9lZ2xHZXRDb25maWdzOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENVUlJF
TlRESVNQTEFZUFJPQyBsX2VnbEdldEN1cnJlbnREaXNwbGF5OworQU5HTEVfVVRJTF9FWFBPUlQg
ZXh0ZXJuIFBGTkVHTEdFVENVUlJFTlRTVVJGQUNFUFJPQyBsX2VnbEdldEN1cnJlbnRTdXJmYWNl
OworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVERJU1BMQVlQUk9DIGxfZWdsR2V0
RGlzcGxheTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRFUlJPUlBST0MgbF9l
Z2xHZXRFcnJvcjsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRQUk9DQUREUkVT
U1BST0MgbF9lZ2xHZXRQcm9jQWRkcmVzczsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5F
R0xJTklUSUFMSVpFUFJPQyBsX2VnbEluaXRpYWxpemU7CitBTkdMRV9VVElMX0VYUE9SVCBleHRl
cm4gUEZORUdMTUFLRUNVUlJFTlRQUk9DIGxfZWdsTWFrZUN1cnJlbnQ7CitBTkdMRV9VVElMX0VY
UE9SVCBleHRlcm4gUEZORUdMUVVFUllDT05URVhUUFJPQyBsX2VnbFF1ZXJ5Q29udGV4dDsKK0FO
R0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNUUklOR1BST0MgbF9lZ2xRdWVyeVN0
cmluZzsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNVUkZBQ0VQUk9DIGxf
ZWdsUXVlcnlTdXJmYWNlOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFNXQVBCVUZG
RVJTUFJPQyBsX2VnbFN3YXBCdWZmZXJzOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TFRFUk1JTkFURVBST0MgbF9lZ2xUZXJtaW5hdGU7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4g
UEZORUdMV0FJVEdMUFJPQyBsX2VnbFdhaXRHTDsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQ
Rk5FR0xXQUlUTkFUSVZFUFJPQyBsX2VnbFdhaXROYXRpdmU7CitBTkdMRV9VVElMX0VYUE9SVCBl
eHRlcm4gUEZORUdMQklORFRFWElNQUdFUFJPQyBsX2VnbEJpbmRUZXhJbWFnZTsKK0FOR0xFX1VU
SUxfRVhQT1JUIGV4dGVybiBQRk5FR0xSRUxFQVNFVEVYSU1BR0VQUk9DIGxfZWdsUmVsZWFzZVRl
eEltYWdlOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFNVUkZBQ0VBVFRSSUJQUk9D
IGxfZWdsU3VyZmFjZUF0dHJpYjsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQ
SU5URVJWQUxQUk9DIGxfZWdsU3dhcEludGVydmFsOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJu
IFBGTkVHTEJJTkRBUElQUk9DIGxfZWdsQmluZEFQSTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVy
biBQRk5FR0xRVUVSWUFQSVBST0MgbF9lZ2xRdWVyeUFQSTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xDUkVBVEVQQlVGRkVSRlJPTUNMSUVOVEJVRkZFUlBST0MgbF9lZ2xDcmVhdGVQ
YnVmZmVyRnJvbUNsaWVudEJ1ZmZlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xS
RUxFQVNFVEhSRUFEUFJPQyBsX2VnbFJlbGVhc2VUaHJlYWQ7CitBTkdMRV9VVElMX0VYUE9SVCBl
eHRlcm4gUEZORUdMV0FJVENMSUVOVFBST0MgbF9lZ2xXYWl0Q2xpZW50OworQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENVUlJFTlRDT05URVhUUFJPQyBsX2VnbEdldEN1cnJlbnRD
b250ZXh0OworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVNZTkNQUk9DIGxf
ZWdsQ3JlYXRlU3luYzsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZU1lO
Q1BST0MgbF9lZ2xEZXN0cm95U3luYzsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xD
TElFTlRXQUlUU1lOQ1BST0MgbF9lZ2xDbGllbnRXYWl0U3luYzsKK0FOR0xFX1VUSUxfRVhQT1JU
IGV4dGVybiBQRk5FR0xHRVRTWU5DQVRUUklCUFJPQyBsX2VnbEdldFN5bmNBdHRyaWI7CitBTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFSU1BR0VQUk9DIGxfZWdsQ3JlYXRlSW1h
Z2U7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMREVTVFJPWUlNQUdFUFJPQyBsX2Vn
bERlc3Ryb3lJbWFnZTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRQTEFURk9S
TURJU1BMQVlQUk9DIGxfZWdsR2V0UGxhdGZvcm1EaXNwbGF5OworQU5HTEVfVVRJTF9FWFBPUlQg
ZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFDRVBST0MgbF9lZ2xDcmVhdGVQ
bGF0Zm9ybVdpbmRvd1N1cmZhY2U7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JF
QVRFUExBVEZPUk1QSVhNQVBTVVJGQUNFUFJPQyBsX2VnbENyZWF0ZVBsYXRmb3JtUGl4bWFwU3Vy
ZmFjZTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xXQUlUU1lOQ1BST0MgbF9lZ2xX
YWl0U3luYzsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTRVRCTE9CQ0FDSEVGVU5D
U0FORFJPSURQUk9DIGxfZWdsU2V0QmxvYkNhY2hlRnVuY3NBTkRST0lEOworQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTEdFVENPTVBPU0lUT1JUSU1JTkdBTkRST0lEUFJPQyBsX2VnbEdl
dENvbXBvc2l0b3JUaW1pbmdBTkRST0lEOwogQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TEdFVENPTVBPU0lUT1JUSU1JTkdTVVBQT1JURURBTkRST0lEUFJPQwotICAgIGVnbEdldENvbXBv
c2l0b3JUaW1pbmdTdXBwb3J0ZWRBTkRST0lEOworICAgIGxfZWdsR2V0Q29tcG9zaXRvclRpbWlu
Z1N1cHBvcnRlZEFORFJPSUQ7CiBBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VURlJB
TUVUSU1FU1RBTVBTVVBQT1JURURBTkRST0lEUFJPQwotICAgIGVnbEdldEZyYW1lVGltZXN0YW1w
U3VwcG9ydGVkQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRGUkFN
RVRJTUVTVEFNUFNBTkRST0lEUFJPQyBlZ2xHZXRGcmFtZVRpbWVzdGFtcHNBTkRST0lEOwotQU5H
TEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVE5FWFRGUkFNRUlEQU5EUk9JRFBST0MgZWds
R2V0TmV4dEZyYW1lSWRBTkRST0lEOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdF
VE5BVElWRUNMSUVOVEJVRkZFUkFORFJPSURQUk9DIGVnbEdldE5hdGl2ZUNsaWVudEJ1ZmZlckFO
RFJPSUQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMRFVQTkFUSVZFRkVOQ0VGREFO
RFJPSURQUk9DIGVnbER1cE5hdGl2ZUZlbmNlRkRBTkRST0lEOwotQU5HTEVfVVRJTF9FWFBPUlQg
ZXh0ZXJuIFBGTkVHTFBSRVNFTlRBVElPTlRJTUVBTkRST0lEUFJPQyBlZ2xQcmVzZW50YXRpb25U
aW1lQU5EUk9JRDsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xDUkVBVEVERVZJQ0VB
TkdMRVBST0MgZWdsQ3JlYXRlRGV2aWNlQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4g
UEZORUdMUkVMRUFTRURFVklDRUFOR0xFUFJPQyBlZ2xSZWxlYXNlRGV2aWNlQU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllESVNQTEFZQVRUUklCQU5HTEVQUk9DIGVn
bFF1ZXJ5RGlzcGxheUF0dHJpYkFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TFFVRVJZU1RSSU5HSUFOR0xFUFJPQyBlZ2xRdWVyeVN0cmluZ2lBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVHRVRBVFRSSUJBTkdMRVBST0MgZWdsUHJv
Z3JhbUNhY2hlR2V0QXR0cmliQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdM
UFJPR1JBTUNBQ0hFUE9QVUxBVEVBTkdMRVBST0MgZWdsUHJvZ3JhbUNhY2hlUG9wdWxhdGVBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVRVUVSWUFOR0xF
UFJPQyBlZ2xQcm9ncmFtQ2FjaGVRdWVyeUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJu
IFBGTkVHTFBST0dSQU1DQUNIRVJFU0laRUFOR0xFUFJPQyBlZ2xQcm9ncmFtQ2FjaGVSZXNpemVB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNVUkZBQ0VQT0lOVEVS
QU5HTEVQUk9DIGVnbFF1ZXJ5U3VyZmFjZVBvaW50ZXJBTkdMRTsKKyAgICBsX2VnbEdldEZyYW1l
VGltZXN0YW1wU3VwcG9ydGVkQU5EUk9JRDsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5F
R0xHRVRGUkFNRVRJTUVTVEFNUFNBTkRST0lEUFJPQyBsX2VnbEdldEZyYW1lVGltZXN0YW1wc0FO
RFJPSUQ7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUTkVYVEZSQU1FSURBTkRS
T0lEUFJPQyBsX2VnbEdldE5leHRGcmFtZUlkQU5EUk9JRDsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xHRVROQVRJVkVDTElFTlRCVUZGRVJBTkRST0lEUFJPQyBsX2VnbEdldE5hdGl2
ZUNsaWVudEJ1ZmZlckFORFJPSUQ7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMRFVQ
TkFUSVZFRkVOQ0VGREFORFJPSURQUk9DIGxfZWdsRHVwTmF0aXZlRmVuY2VGREFORFJPSUQ7CitB
TkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUFJFU0VOVEFUSU9OVElNRUFORFJPSURQUk9D
IGxfZWdsUHJlc2VudGF0aW9uVGltZUFORFJPSUQ7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4g
UEZORUdMQ1JFQVRFREVWSUNFQU5HTEVQUk9DIGxfZWdsQ3JlYXRlRGV2aWNlQU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUkVMRUFTRURFVklDRUFOR0xFUFJPQyBsX2VnbFJl
bGVhc2VEZXZpY2VBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURJ
U1BMQVlBVFRSSUJBTkdMRVBST0MgbF9lZ2xRdWVyeURpc3BsYXlBdHRyaWJBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWVNUUklOR0lBTkdMRVBST0MgbF9lZ2xRdWVy
eVN0cmluZ2lBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FD
SEVHRVRBVFRSSUJBTkdMRVBST0MgbF9lZ2xQcm9ncmFtQ2FjaGVHZXRBdHRyaWJBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xQUk9HUkFNQ0FDSEVQT1BVTEFURUFOR0xFUFJP
QyBsX2VnbFByb2dyYW1DYWNoZVBvcHVsYXRlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBleHRl
cm4gUEZORUdMUFJPR1JBTUNBQ0hFUVVFUllBTkdMRVBST0MgbF9lZ2xQcm9ncmFtQ2FjaGVRdWVy
eUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFBST0dSQU1DQUNIRVJFU0la
RUFOR0xFUFJPQyBsX2VnbFByb2dyYW1DYWNoZVJlc2l6ZUFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1VSRkFDRVBPSU5URVJBTkdMRVBST0MgbF9lZ2xRdWVyeVN1
cmZhY2VQb2ludGVyQU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRF
U1RSRUFNUFJPRFVDRVJEM0RURVhUVVJFQU5HTEVQUk9DCi0gICAgZWdsQ3JlYXRlU3RyZWFtUHJv
ZHVjZXJEM0RUZXh0dXJlQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMU1RS
RUFNUE9TVEQzRFRFWFRVUkVBTkdMRVBST0MgZWdsU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRPS0VO
QU5HTEVQUk9DIGVnbFN3YXBCdWZmZXJzV2l0aEZyYW1lVG9rZW5BTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIGV4dGVybiBQRk5FR0xHRVRNU0NSQVRFQ0hST01JVU1QUk9DIGVnbEdldE1zY1JhdGVD
SFJPTUlVTTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRTWU5DVkFMVUVTQ0hS
T01JVU1QUk9DIGVnbEdldFN5bmNWYWx1ZXNDSFJPTUlVTTsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xRVUVSWURFVklDRUFUVFJJQkVYVFBST0MgZWdsUXVlcnlEZXZpY2VBdHRyaWJF
WFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllERVZJQ0VTVFJJTkdFWFRQ
Uk9DIGVnbFF1ZXJ5RGV2aWNlU3RyaW5nRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBG
TkVHTFFVRVJZRElTUExBWUFUVFJJQkVYVFBST0MgZWdsUXVlcnlEaXNwbGF5QXR0cmliRVhUOwot
QU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNUElYTUFQU1VSRkFD
RUVYVFBST0MgZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlRVhUOwotQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VSRkFDRUVYVFBST0MgZWds
Q3JlYXRlUGxhdGZvcm1XaW5kb3dTdXJmYWNlRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJu
IFBGTkVHTEdFVFBMQVRGT1JNRElTUExBWUVYVFBST0MgZWdsR2V0UGxhdGZvcm1EaXNwbGF5RVhU
OwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQ
Uk9DIGVnbERlYnVnTWVzc2FnZUNvbnRyb2xLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4g
UEZORUdMTEFCRUxPQkpFQ1RLSFJQUk9DIGVnbExhYmVsT2JqZWN0S0hSOwotQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZREVCVUdLSFJQUk9DIGVnbFF1ZXJ5RGVidWdLSFI7Ci1B
TkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIGVnbENs
aWVudFdhaXRTeW5jS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVNZ
TkNLSFJQUk9DIGVnbENyZWF0ZVN5bmNLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZO
RUdMREVTVFJPWVNZTkNLSFJQUk9DIGVnbERlc3Ryb3lTeW5jS0hSOwotQU5HTEVfVVRJTF9FWFBP
UlQgZXh0ZXJuIFBGTkVHTEdFVFNZTkNBVFRSSUJLSFJQUk9DIGVnbEdldFN5bmNBdHRyaWJLSFI7
Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFSU1BR0VLSFJQUk9DIGVnbENy
ZWF0ZUltYWdlS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RST1lJTUFH
RUtIUlBST0MgZWdsRGVzdHJveUltYWdlS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBG
TkVHTENSRUFURVNUUkVBTUtIUlBST0MgZWdsQ3JlYXRlU3RyZWFtS0hSOwotQU5HTEVfVVRJTF9F
WFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RST1lTVFJFQU1LSFJQUk9DIGVnbERlc3Ryb3lTdHJlYW1L
SFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUVVFUllTVFJFQU1LSFJQUk9DIGVn
bFF1ZXJ5U3RyZWFtS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RS
RUFNVTY0S0hSUFJPQyBlZ2xRdWVyeVN0cmVhbXU2NEtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIGV4
dGVybiBQRk5FR0xTVFJFQU1BVFRSSUJLSFJQUk9DIGVnbFN0cmVhbUF0dHJpYktIUjsKLUFOR0xF
X1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTVFJFQU1DT05TVU1FUkFDUVVJUkVLSFJQUk9DIGVn
bFN0cmVhbUNvbnN1bWVyQWNxdWlyZUtIUjsKKyAgICBsX2VnbENyZWF0ZVN0cmVhbVByb2R1Y2Vy
RDNEVGV4dHVyZUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFNUUkVBTVBP
U1REM0RURVhUVVJFQU5HTEVQUk9DIGxfZWdsU3RyZWFtUG9zdEQzRFRleHR1cmVBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xTV0FQQlVGRkVSU1dJVEhGUkFNRVRPS0VOQU5H
TEVQUk9DCisgICAgbF9lZ2xTd2FwQnVmZmVyc1dpdGhGcmFtZVRva2VuQU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBleHRlcm4gUEZORUdMR0VUTVNDUkFURUFOR0xFUFJPQyBsX2VnbEdldE1zY1Jh
dGVBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRTWU5DVkFMVUVTQ0hS
T01JVU1QUk9DIGxfZWdsR2V0U3luY1ZhbHVlc0NIUk9NSVVNOworQU5HTEVfVVRJTF9FWFBPUlQg
ZXh0ZXJuIFBGTkVHTFFVRVJZREVWSUNFQVRUUklCRVhUUFJPQyBsX2VnbFF1ZXJ5RGV2aWNlQXR0
cmliRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZREVWSUNFU1RSSU5H
RVhUUFJPQyBsX2VnbFF1ZXJ5RGV2aWNlU3RyaW5nRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0
ZXJuIFBGTkVHTFFVRVJZRElTUExBWUFUVFJJQkVYVFBST0MgbF9lZ2xRdWVyeURpc3BsYXlBdHRy
aWJFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFUExBVEZPUk1QSVhN
QVBTVVJGQUNFRVhUUFJPQworICAgIGxfZWdsQ3JlYXRlUGxhdGZvcm1QaXhtYXBTdXJmYWNlRVhU
OworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVBMQVRGT1JNV0lORE9XU1VS
RkFDRUVYVFBST0MKKyAgICBsX2VnbENyZWF0ZVBsYXRmb3JtV2luZG93U3VyZmFjZUVYVDsKK0FO
R0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xHRVRQTEFURk9STURJU1BMQVlFWFRQUk9DIGxf
ZWdsR2V0UGxhdGZvcm1EaXNwbGF5RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVH
TERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DIGxfZWdsRGVidWdNZXNzYWdlQ29udHJvbEtIUjsK
K0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xMQUJFTE9CSkVDVEtIUlBST0MgbF9lZ2xM
YWJlbE9iamVjdEtIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xRVUVSWURFQlVH
S0hSUFJPQyBsX2VnbFF1ZXJ5RGVidWdLSFI7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZO
RUdMQ0xJRU5UV0FJVFNZTkNLSFJQUk9DIGxfZWdsQ2xpZW50V2FpdFN5bmNLSFI7CitBTkdMRV9V
VElMX0VYUE9SVCBleHRlcm4gUEZORUdMQ1JFQVRFU1lOQ0tIUlBST0MgbF9lZ2xDcmVhdGVTeW5j
S0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTERFU1RST1lTWU5DS0hSUFJPQyBs
X2VnbERlc3Ryb3lTeW5jS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTEdFVFNZ
TkNBVFRSSUJLSFJQUk9DIGxfZWdsR2V0U3luY0F0dHJpYktIUjsKK0FOR0xFX1VUSUxfRVhQT1JU
IGV4dGVybiBQRk5FR0xDUkVBVEVJTUFHRUtIUlBST0MgbF9lZ2xDcmVhdGVJbWFnZUtIUjsKK0FO
R0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xERVNUUk9ZSU1BR0VLSFJQUk9DIGxfZWdsRGVz
dHJveUltYWdlS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTENSRUFURVNUUkVB
TUtIUlBST0MgbF9lZ2xDcmVhdGVTdHJlYW1LSFI7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4g
UEZORUdMREVTVFJPWVNUUkVBTUtIUlBST0MgbF9lZ2xEZXN0cm95U3RyZWFtS0hSOworQU5HTEVf
VVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSRUFNS0hSUFJPQyBsX2VnbFF1ZXJ5U3Ry
ZWFtS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFFVRVJZU1RSRUFNVTY0S0hS
UFJPQyBsX2VnbFF1ZXJ5U3RyZWFtdTY0S0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBG
TkVHTFNUUkVBTUFUVFJJQktIUlBST0MgbF9lZ2xTdHJlYW1BdHRyaWJLSFI7CitBTkdMRV9VVElM
X0VYUE9SVCBleHRlcm4gUEZORUdMU1RSRUFNQ09OU1VNRVJBQ1FVSVJFS0hSUFJPQyBsX2VnbFN0
cmVhbUNvbnN1bWVyQWNxdWlyZUtIUjsKIEFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5FR0xT
VFJFQU1DT05TVU1FUkdMVEVYVFVSRUVYVEVSTkFMS0hSUFJPQwotICAgIGVnbFN0cmVhbUNvbnN1
bWVyR0xUZXh0dXJlRXh0ZXJuYWxLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdM
U1RSRUFNQ09OU1VNRVJSRUxFQVNFS0hSUFJPQyBlZ2xTdHJlYW1Db25zdW1lclJlbGVhc2VLSFI7
Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMU1dBUEJVRkZFUlNXSVRIREFNQUdFS0hS
UFJPQyBlZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBleHRl
cm4gUEZORUdMV0FJVFNZTkNLSFJQUk9DIGVnbFdhaXRTeW5jS0hSOwotQU5HTEVfVVRJTF9FWFBP
UlQgZXh0ZXJuIFBGTkVHTFBPU1RTVUJCVUZGRVJOVlBST0MgZWdsUG9zdFN1YkJ1ZmZlck5WOwor
ICAgIGxfZWdsU3RyZWFtQ29uc3VtZXJHTFRleHR1cmVFeHRlcm5hbEtIUjsKK0FOR0xFX1VUSUxf
RVhQT1JUIGV4dGVybiBQRk5FR0xTVFJFQU1DT05TVU1FUlJFTEVBU0VLSFJQUk9DIGxfZWdsU3Ry
ZWFtQ29uc3VtZXJSZWxlYXNlS0hSOworQU5HTEVfVVRJTF9FWFBPUlQgZXh0ZXJuIFBGTkVHTFNX
QVBCVUZGRVJTV0lUSERBTUFHRUtIUlBST0MgbF9lZ2xTd2FwQnVmZmVyc1dpdGhEYW1hZ2VLSFI7
CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMV0FJVFNZTkNLSFJQUk9DIGxfZWdsV2Fp
dFN5bmNLSFI7CitBTkdMRV9VVElMX0VYUE9SVCBleHRlcm4gUEZORUdMUE9TVFNVQkJVRkZFUk5W
UFJPQyBsX2VnbFBvc3RTdWJCdWZmZXJOVjsKIEFOR0xFX1VUSUxfRVhQT1JUIGV4dGVybiBQRk5F
R0xTVFJFQU1DT05TVU1FUkdMVEVYVFVSRUVYVEVSTkFMQVRUUklCU05WUFJPQwotICAgIGVnbFN0
cmVhbUNvbnN1bWVyR0xUZXh0dXJlRXh0ZXJuYWxBdHRyaWJzTlY7CisgICAgbF9lZ2xTdHJlYW1D
b25zdW1lckdMVGV4dHVyZUV4dGVybmFsQXR0cmlic05WOwogCiBuYW1lc3BhY2UgYW5nbGUKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwvZ2xlc19sb2FkZXJfYXV0
b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS91dGlsL2dsZXNfbG9hZGVyX2F1dG9n
ZW4uY3BwCmluZGV4IDg4MzY4MzQwZGM1OGQ5ZGMwZmQ4NTk5MDk5YjQwMzg5ZWIxZTVkMWMuLmNm
MDNjZDZkNTMwY2NlZDk2MDI1YzQ5YTY1ZmUxOTI5Mzg0MDBjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3V0aWwvZ2xlc19sb2FkZXJfYXV0b2dlbi5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdXRpbC9nbGVzX2xvYWRlcl9hdXRvZ2VuLmNwcApAQCAtMTAs
NDEzMSArMTAsNDIwMiBAQAogCiAjaW5jbHVkZSAiZ2xlc19sb2FkZXJfYXV0b2dlbi5oIgogCi1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEFMUEhBRlVOQ1BST0MgZ2xBbHBoYUZ1bmM7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTENMSVBQTEFORUZQUk9DIGdsQ2xpcFBsYW5lZjsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMQ09MT1I0RlBST0MgZ2xDb2xvcjRmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xGT0dGUFJPQyBnbEZvZ2Y7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZPR0ZWUFJPQyBnbEZv
Z2Z2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUlVTVFVNRlBST0MgZ2xGcnVzdHVtZjsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQ0xJUFBMQU5FRlBST0MgZ2xHZXRDbGlwUGxhbmVmOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRMSUdIVEZWUFJPQyBnbEdldExpZ2h0ZnY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVE1BVEVSSUFMRlZQUk9DIGdsR2V0TWF0ZXJpYWxmdjsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYRU5WRlZQUk9DIGdsR2V0VGV4RW52ZnY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTExJR0hUTU9ERUxGUFJPQyBnbExpZ2h0TW9kZWxmOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1PREVMRlZQUk9DIGdsTGlnaHRNb2RlbGZ2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xMSUdIVEZQUk9DIGdsTGlnaHRmOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xMSUdIVEZWUFJPQyBnbExpZ2h0ZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPQURN
QVRSSVhGUFJPQyBnbExvYWRNYXRyaXhmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklB
TEZQUk9DIGdsTWF0ZXJpYWxmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklBTEZWUFJP
QyBnbE1hdGVyaWFsZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRNQVRSSVhGUFJPQyBn
bE11bHRNYXRyaXhmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNVUxUSVRFWENPT1JENEZQUk9D
IGdsTXVsdGlUZXhDb29yZDRmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xOT1JNQUwzRlBST0Mg
Z2xOb3JtYWwzZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMT1JUSE9GUFJPQyBnbE9ydGhvZjsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9JTlRQQVJBTUVURVJGUFJPQyBnbFBvaW50UGFyYW1l
dGVyZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9JTlRQQVJBTUVURVJGVlBST0MgZ2xQb2lu
dFBhcmFtZXRlcmZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT0lOVFNJWkVQUk9DIGdsUG9p
bnRTaXplOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xST1RBVEVGUFJPQyBnbFJvdGF0ZWY7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFNDQUxFRlBST0MgZ2xTY2FsZWY7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFRFWEVOVkZQUk9DIGdsVGV4RW52ZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VEVYRU5WRlZQUk9DIGdsVGV4RW52ZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRSQU5TTEFU
RUZQUk9DIGdsVHJhbnNsYXRlZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQUxQSEFGVU5DWFBS
T0MgZ2xBbHBoYUZ1bmN4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkNPTE9SWFBST0Mg
Z2xDbGVhckNvbG9yeDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJERVBUSFhQUk9DIGds
Q2xlYXJEZXB0aHg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMSUVOVEFDVElWRVRFWFRVUkVQ
Uk9DIGdsQ2xpZW50QWN0aXZlVGV4dHVyZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xJUFBM
QU5FWFBST0MgZ2xDbGlwUGxhbmV4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUjRVQlBS
T0MgZ2xDb2xvcjR1YjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1I0WFBST0MgZ2xDb2xv
cjR4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUlBPSU5URVJQUk9DIGdsQ29sb3JQb2lu
dGVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVBUSFJBTkdFWFBST0MgZ2xEZXB0aFJhbmdl
eDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElTQUJMRUNMSUVOVFNUQVRFUFJPQyBnbERpc2Fi
bGVDbGllbnRTdGF0ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRU5BQkxFQ0xJRU5UU1RBVEVQ
Uk9DIGdsRW5hYmxlQ2xpZW50U3RhdGU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZPR1hQUk9D
IGdsRm9neDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRk9HWFZQUk9DIGdsRm9neHY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEZSVVNUVU1YUFJPQyBnbEZydXN0dW14OwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRDTElQUExBTkVYUFJPQyBnbEdldENsaXBQbGFuZXg7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVEZJWEVEVlBST0MgZ2xHZXRGaXhlZHY7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVExJR0hUWFZQUk9DIGdsR2V0TGlnaHR4djsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUTUFURVJJQUxYVlBST0MgZ2xHZXRNYXRlcmlhbHh2OwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRQT0lOVEVSVlBST0MgZ2xHZXRQb2ludGVydjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVEVYRU5WSVZQUk9DIGdsR2V0VGV4RW52aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFRFWEVOVlhWUFJPQyBnbEdldFRleEVudnh2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRURVhQQVJBTUVURVJYVlBST0MgZ2xHZXRUZXhQYXJhbWV0ZXJ4djsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMTElHSFRNT0RFTFhQUk9DIGdsTGlnaHRNb2RlbHg7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTExJR0hUTU9ERUxYVlBST0MgZ2xMaWdodE1vZGVseHY7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTExJR0hUWFBST0MgZ2xMaWdodHg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hU
WFZQUk9DIGdsTGlnaHR4djsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElORVdJRFRIWFBST0Mg
Z2xMaW5lV2lkdGh4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMT0FESURFTlRJVFlQUk9DIGds
TG9hZElkZW50aXR5OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMT0FETUFUUklYWFBST0MgZ2xM
b2FkTWF0cml4eDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9HSUNPUFBST0MgZ2xMb2dpY09w
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklBTFhQUk9DIGdsTWF0ZXJpYWx4OwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklBTFhWUFJPQyBnbE1hdGVyaWFseHY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTE1BVFJJWE1PREVQUk9DIGdsTWF0cml4TW9kZTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMTVVMVE1BVFJJWFhQUk9DIGdsTXVsdE1hdHJpeHg7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTE1VTFRJVEVYQ09PUkQ0WFBST0MgZ2xNdWx0aVRleENvb3JkNHg7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTE5PUk1BTDNYUFJPQyBnbE5vcm1hbDN4OwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xOT1JNQUxQT0lOVEVSUFJPQyBnbE5vcm1hbFBvaW50ZXI7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTE9SVEhPWFBST0MgZ2xPcnRob3g7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBP
SU5UUEFSQU1FVEVSWFBST0MgZ2xQb2ludFBhcmFtZXRlcng7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFBPSU5UUEFSQU1FVEVSWFZQUk9DIGdsUG9pbnRQYXJhbWV0ZXJ4djsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUE9JTlRTSVpFWFBST0MgZ2xQb2ludFNpemV4OwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQT0xZR09OT0ZGU0VUWFBST0MgZ2xQb2x5Z29uT2Zmc2V0eDsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUE9QTUFUUklYUFJPQyBnbFBvcE1hdHJpeDsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMUFVTSE1BVFJJWFBST0MgZ2xQdXNoTWF0cml4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xST1RBVEVYUFJPQyBnbFJvdGF0ZXg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRUNP
VkVSQUdFWFBST0MgZ2xTYW1wbGVDb3ZlcmFnZXg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFND
QUxFWFBST0MgZ2xTY2FsZXg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNIQURFTU9ERUxQUk9D
IGdsU2hhZGVNb2RlbDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYQ09PUkRQT0lOVEVSUFJP
QyBnbFRleENvb3JkUG9pbnRlcjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WSVBST0Mg
Z2xUZXhFbnZpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhFTlZYUFJPQyBnbFRleEVudng7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEVOVklWUFJPQyBnbFRleEVudml2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xURVhFTlZYVlBST0MgZ2xUZXhFbnZ4djsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYUEFSQU1FVEVSWFBST0MgZ2xUZXhQYXJhbWV0ZXJ4OwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xURVhQQVJBTUVURVJYVlBST0MgZ2xUZXhQYXJhbWV0ZXJ4djsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVFJBTlNMQVRFWFBST0MgZ2xUcmFuc2xhdGV4OwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xWRVJURVhQT0lOVEVSUFJPQyBnbFZlcnRleFBvaW50ZXI7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEFDVElWRVRFWFRVUkVQUk9DIGdsQWN0aXZlVGV4dHVyZTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMQVRUQUNIU0hBREVSUFJPQyBnbEF0dGFjaFNoYWRlcjsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMQklOREFUVFJJQkxPQ0FUSU9OUFJPQyBnbEJpbmRBdHRyaWJMb2NhdGlv
bjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUlBST0MgZ2xCaW5kQnVmZmVyOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5ERlJBTUVCVUZGRVJQUk9DIGdsQmluZEZyYW1lYnVm
ZmVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EUkVOREVSQlVGRkVSUFJPQyBnbEJpbmRS
ZW5kZXJidWZmZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRURVhUVVJFUFJPQyBnbEJp
bmRUZXh0dXJlOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVORENPTE9SUFJPQyBnbEJsZW5k
Q29sb3I7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERVFVQVRJT05QUk9DIGdsQmxlbmRF
cXVhdGlvbjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRFUVVBVElPTlNFUEFSQVRFUFJP
QyBnbEJsZW5kRXF1YXRpb25TZXBhcmF0ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRG
VU5DUFJPQyBnbEJsZW5kRnVuYzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DU0VQ
QVJBVEVQUk9DIGdsQmxlbmRGdW5jU2VwYXJhdGU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJV
RkZFUkRBVEFQUk9DIGdsQnVmZmVyRGF0YTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQlVGRkVS
U1VCREFUQVBST0MgZ2xCdWZmZXJTdWJEYXRhOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDSEVD
S0ZSQU1FQlVGRkVSU1RBVFVTUFJPQyBnbENoZWNrRnJhbWVidWZmZXJTdGF0dXM7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTENMRUFSUFJPQyBnbENsZWFyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDTEVBUkNPTE9SUFJPQyBnbENsZWFyQ29sb3I7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENM
RUFSREVQVEhGUFJPQyBnbENsZWFyRGVwdGhmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVB
UlNURU5DSUxQUk9DIGdsQ2xlYXJTdGVuY2lsOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xP
Uk1BU0tQUk9DIGdsQ29sb3JNYXNrOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QSUxFU0hB
REVSUFJPQyBnbENvbXBpbGVTaGFkZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNT
RURURVhJTUFHRTJEUFJPQyBnbENvbXByZXNzZWRUZXhJbWFnZTJEOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UyRFBST0MgZ2xDb21wcmVzc2VkVGV4U3ViSW1h
Z2UyRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVRFWElNQUdFMkRQUk9DIGdsQ29weVRl
eEltYWdlMkQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhTVUJJTUFHRTJEUFJPQyBn
bENvcHlUZXhTdWJJbWFnZTJEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDUkVBVEVQUk9HUkFN
UFJPQyBnbENyZWF0ZVByb2dyYW07Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENSRUFURVNIQURF
UlBST0MgZ2xDcmVhdGVTaGFkZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENVTExGQUNFUFJP
QyBnbEN1bGxGYWNlOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVCVUZGRVJTUFJPQyBn
bERlbGV0ZUJ1ZmZlcnM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURUZSQU1FQlVGRkVS
U1BST0MgZ2xEZWxldGVGcmFtZWJ1ZmZlcnM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVU
RVBST0dSQU1QUk9DIGdsRGVsZXRlUHJvZ3JhbTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVM
RVRFUkVOREVSQlVGRkVSU1BST0MgZ2xEZWxldGVSZW5kZXJidWZmZXJzOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xERUxFVEVTSEFERVJQUk9DIGdsRGVsZXRlU2hhZGVyOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xERUxFVEVURVhUVVJFU1BST0MgZ2xEZWxldGVUZXh0dXJlczsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVQVEhGVU5DUFJPQyBnbERlcHRoRnVuYzsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMREVQVEhNQVNLUFJPQyBnbERlcHRoTWFzazsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMREVQVEhSQU5HRUZQUk9DIGdsRGVwdGhSYW5nZWY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TERFVEFDSFNIQURFUlBST0MgZ2xEZXRhY2hTaGFkZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TERJU0FCTEVQUk9DIGdsRGlzYWJsZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElTQUJMRVZF
UlRFWEFUVFJJQkFSUkFZUFJPQyBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMRFJBV0FSUkFZU1BST0MgZ2xEcmF3QXJyYXlzOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xEUkFXRUxFTUVOVFNQUk9DIGdsRHJhd0VsZW1lbnRzOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xFTkFCTEVQUk9DIGdsRW5hYmxlOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xF
TkFCTEVWRVJURVhBVFRSSUJBUlJBWVBST0MgZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRklOSVNIUFJPQyBnbEZpbmlzaDsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRkxVU0hQUk9DIGdsRmx1c2g7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZSQU1F
QlVGRkVSUkVOREVSQlVGRkVSUFJPQyBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRFBST0MgZ2xGcmFtZWJ1ZmZlclRl
eHR1cmUyRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJPTlRGQUNFUFJPQyBnbEZyb250RmFj
ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOQlVGRkVSU1BST0MgZ2xHZW5CdWZmZXJzOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5FUkFURU1JUE1BUFBST0MgZ2xHZW5lcmF0ZU1pcG1h
cDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORlJBTUVCVUZGRVJTUFJPQyBnbEdlbkZyYW1l
YnVmZmVyczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOUkVOREVSQlVGRkVSU1BST0MgZ2xH
ZW5SZW5kZXJidWZmZXJzOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5URVhUVVJFU1BST0Mg
Z2xHZW5UZXh0dXJlczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNUSVZFQVRUUklCUFJP
QyBnbEdldEFjdGl2ZUF0dHJpYjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNUSVZFVU5J
Rk9STVBST0MgZ2xHZXRBY3RpdmVVbmlmb3JtOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRB
VFRBQ0hFRFNIQURFUlNQUk9DIGdsR2V0QXR0YWNoZWRTaGFkZXJzOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRBVFRSSUJMT0NBVElPTlBST0MgZ2xHZXRBdHRyaWJMb2NhdGlvbjsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVBTlZQUk9DIGdsR2V0Qm9vbGVhbnY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVEJVRkZFUlBBUkFNRVRFUklWUFJPQyBnbEdldEJ1ZmZlclBhcmFt
ZXRlcml2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRFUlJPUlBST0MgZ2xHZXRFcnJvcjsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VURkxPQVRWUFJPQyBnbEdldEZsb2F0djsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQUxQSEFGVU5DUFJPQyBsX2dsQWxwaGFGdW5jOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xDTElQUExBTkVGUFJPQyBsX2dsQ2xpcFBsYW5lZjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMQ09MT1I0RlBST0MgbF9nbENvbG9yNGY7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEZPR0ZQUk9DIGxfZ2xGb2dmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGT0dGVlBST0Mg
bF9nbEZvZ2Z2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUlVTVFVNRlBST0MgbF9nbEZydXN0
dW1mOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRDTElQUExBTkVGUFJPQyBsX2dsR2V0Q2xp
cFBsYW5lZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTElHSFRGVlBST0MgbF9nbEdldExp
Z2h0ZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE1BVEVSSUFMRlZQUk9DIGxfZ2xHZXRN
YXRlcmlhbGZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhFTlZGVlBST0MgbF9nbEdl
dFRleEVudmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1PREVMRlBST0MgbF9nbExp
Z2h0TW9kZWxmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1PREVMRlZQUk9DIGxfZ2xM
aWdodE1vZGVsZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hURlBST0MgbF9nbExpZ2h0
ZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElHSFRGVlBST0MgbF9nbExpZ2h0ZnY7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTExPQURNQVRSSVhGUFJPQyBsX2dsTG9hZE1hdHJpeGY7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTE1BVEVSSUFMRlBST0MgbF9nbE1hdGVyaWFsZjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMTUFURVJJQUxGVlBST0MgbF9nbE1hdGVyaWFsZnY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTE1VTFRNQVRSSVhGUFJPQyBsX2dsTXVsdE1hdHJpeGY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTE1VTFRJVEVYQ09PUkQ0RlBST0MgbF9nbE11bHRpVGV4Q29vcmQ0ZjsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMTk9STUFMM0ZQUk9DIGxfZ2xOb3JtYWwzZjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMT1JUSE9GUFJPQyBsX2dsT3J0aG9mOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xQT0lOVFBBUkFNRVRFUkZQUk9DIGxfZ2xQb2ludFBhcmFtZXRlcmY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFBPSU5UUEFSQU1FVEVSRlZQUk9DIGxfZ2xQb2ludFBhcmFtZXRlcmZ2Owor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT0lOVFNJWkVQUk9DIGxfZ2xQb2ludFNpemU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFJPVEFURUZQUk9DIGxfZ2xSb3RhdGVmOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTQ0FMRUZQUk9DIGxfZ2xTY2FsZWY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFRFWEVOVkZQUk9DIGxfZ2xUZXhFbnZmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhFTlZG
VlBST0MgbF9nbFRleEVudmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xUUkFOU0xBVEVGUFJP
QyBsX2dsVHJhbnNsYXRlZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQUxQSEFGVU5DWFBST0Mg
bF9nbEFscGhhRnVuY3g7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSQ09MT1JYUFJPQyBs
X2dsQ2xlYXJDb2xvcng7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSREVQVEhYUFJPQyBs
X2dsQ2xlYXJEZXB0aHg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMSUVOVEFDVElWRVRFWFRV
UkVQUk9DIGxfZ2xDbGllbnRBY3RpdmVUZXh0dXJlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xD
TElQUExBTkVYUFJPQyBsX2dsQ2xpcFBsYW5leDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09M
T1I0VUJQUk9DIGxfZ2xDb2xvcjR1YjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1I0WFBS
T0MgbF9nbENvbG9yNHg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTE9SUE9JTlRFUlBST0Mg
bF9nbENvbG9yUG9pbnRlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVQVEhSQU5HRVhQUk9D
IGxfZ2xEZXB0aFJhbmdleDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElTQUJMRUNMSUVOVFNU
QVRFUFJPQyBsX2dsRGlzYWJsZUNsaWVudFN0YXRlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xF
TkFCTEVDTElFTlRTVEFURVBST0MgbF9nbEVuYWJsZUNsaWVudFN0YXRlOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xGT0dYUFJPQyBsX2dsRm9neDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRk9H
WFZQUk9DIGxfZ2xGb2d4djsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJVU1RVTVhQUk9DIGxf
Z2xGcnVzdHVteDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQ0xJUFBMQU5FWFBST0MgbF9n
bEdldENsaXBQbGFuZXg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZJWEVEVlBST0MgbF9n
bEdldEZpeGVkdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTElHSFRYVlBST0MgbF9nbEdl
dExpZ2h0eHY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE1BVEVSSUFMWFZQUk9DIGxfZ2xH
ZXRNYXRlcmlhbHh2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQT0lOVEVSVlBST0MgbF9n
bEdldFBvaW50ZXJ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhFTlZJVlBST0MgbF9n
bEdldFRleEVudml2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhFTlZYVlBST0MgbF9n
bEdldFRleEVudnh2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJYVlBS
T0MgbF9nbEdldFRleFBhcmFtZXRlcnh2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1P
REVMWFBST0MgbF9nbExpZ2h0TW9kZWx4OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1P
REVMWFZQUk9DIGxfZ2xMaWdodE1vZGVseHY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hU
WFBST0MgbF9nbExpZ2h0eDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElHSFRYVlBST0MgbF9n
bExpZ2h0eHY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJTkVXSURUSFhQUk9DIGxfZ2xMaW5l
V2lkdGh4OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMT0FESURFTlRJVFlQUk9DIGxfZ2xMb2Fk
SWRlbnRpdHk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPQURNQVRSSVhYUFJPQyBsX2dsTG9h
ZE1hdHJpeHg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPR0lDT1BQUk9DIGxfZ2xMb2dpY09w
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklBTFhQUk9DIGxfZ2xNYXRlcmlhbHg7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BVEVSSUFMWFZQUk9DIGxfZ2xNYXRlcmlhbHh2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRSSVhNT0RFUFJPQyBsX2dsTWF0cml4TW9kZTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMTVVMVE1BVFJJWFhQUk9DIGxfZ2xNdWx0TWF0cml4eDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMTVVMVElURVhDT09SRDRYUFJPQyBsX2dsTXVsdGlUZXhDb29yZDR4
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xOT1JNQUwzWFBST0MgbF9nbE5vcm1hbDN4OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xOT1JNQUxQT0lOVEVSUFJPQyBsX2dsTm9ybWFsUG9pbnRlcjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMT1JUSE9YUFJPQyBsX2dsT3J0aG94OworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xQT0lOVFBBUkFNRVRFUlhQUk9DIGxfZ2xQb2ludFBhcmFtZXRlcng7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5UUEFSQU1FVEVSWFZQUk9DIGxfZ2xQb2ludFBhcmFt
ZXRlcnh2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT0lOVFNJWkVYUFJPQyBsX2dsUG9pbnRT
aXpleDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9MWUdPTk9GRlNFVFhQUk9DIGxfZ2xQb2x5
Z29uT2Zmc2V0eDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9QTUFUUklYUFJPQyBsX2dsUG9w
TWF0cml4OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQVVNITUFUUklYUFJPQyBsX2dsUHVzaE1h
dHJpeDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUk9UQVRFWFBST0MgbF9nbFJvdGF0ZXg7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRUNPVkVSQUdFWFBST0MgbF9nbFNhbXBsZUNvdmVy
YWdleDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0NBTEVYUFJPQyBsX2dsU2NhbGV4OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xTSEFERU1PREVMUFJPQyBsX2dsU2hhZGVNb2RlbDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYQ09PUkRQT0lOVEVSUFJPQyBsX2dsVGV4Q29vcmRQb2ludGVy
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhFTlZJUFJPQyBsX2dsVGV4RW52aTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WWFBST0MgbF9nbFRleEVudng7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFRFWEVOVklWUFJPQyBsX2dsVGV4RW52aXY7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFRFWEVOVlhWUFJPQyBsX2dsVGV4RW52eHY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRF
WFBBUkFNRVRFUlhQUk9DIGxfZ2xUZXhQYXJhbWV0ZXJ4OworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xURVhQQVJBTUVURVJYVlBST0MgbF9nbFRleFBhcmFtZXRlcnh2OworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xUUkFOU0xBVEVYUFJPQyBsX2dsVHJhbnNsYXRleDsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVkVSVEVYUE9JTlRFUlBST0MgbF9nbFZlcnRleFBvaW50ZXI7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEFDVElWRVRFWFRVUkVQUk9DIGxfZ2xBY3RpdmVUZXh0dXJlOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xBVFRBQ0hTSEFERVJQUk9DIGxfZ2xBdHRhY2hTaGFkZXI7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEJJTkRBVFRSSUJMT0NBVElPTlBST0MgbF9nbEJpbmRBdHRyaWJMb2Nh
dGlvbjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUlBST0MgbF9nbEJpbmRCdWZm
ZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRGUkFNRUJVRkZFUlBST0MgbF9nbEJpbmRG
cmFtZWJ1ZmZlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFJFTkRFUkJVRkZFUlBST0Mg
bF9nbEJpbmRSZW5kZXJidWZmZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRURVhUVVJF
UFJPQyBsX2dsQmluZFRleHR1cmU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5EQ09MT1JQ
Uk9DIGxfZ2xCbGVuZENvbG9yOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9O
UFJPQyBsX2dsQmxlbmRFcXVhdGlvbjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRFUVVB
VElPTlNFUEFSQVRFUFJPQyBsX2dsQmxlbmRFcXVhdGlvblNlcGFyYXRlOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xCTEVOREZVTkNQUk9DIGxfZ2xCbGVuZEZ1bmM7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEJMRU5ERlVOQ1NFUEFSQVRFUFJPQyBsX2dsQmxlbmRGdW5jU2VwYXJhdGU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEJVRkZFUkRBVEFQUk9DIGxfZ2xCdWZmZXJEYXRhOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCVUZGRVJTVUJEQVRBUFJPQyBsX2dsQnVmZmVyU3ViRGF0YTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0hFQ0tGUkFNRUJVRkZFUlNUQVRVU1BST0MgbF9nbENoZWNr
RnJhbWVidWZmZXJTdGF0dXM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSUFJPQyBsX2ds
Q2xlYXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSQ09MT1JQUk9DIGxfZ2xDbGVhckNv
bG9yOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkRFUFRIRlBST0MgbF9nbENsZWFyRGVw
dGhmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUlNURU5DSUxQUk9DIGxfZ2xDbGVhclN0
ZW5jaWw7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTE9STUFTS1BST0MgbF9nbENvbG9yTWFz
azsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09NUElMRVNIQURFUlBST0MgbF9nbENvbXBpbGVT
aGFkZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNTRURURVhJTUFHRTJEUFJPQyBs
X2dsQ29tcHJlc3NlZFRleEltYWdlMkQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNT
RURURVhTVUJJTUFHRTJEUFJPQyBsX2dsQ29tcHJlc3NlZFRleFN1YkltYWdlMkQ7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTENPUFlURVhJTUFHRTJEUFJPQyBsX2dsQ29weVRleEltYWdlMkQ7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhTVUJJTUFHRTJEUFJPQyBsX2dsQ29weVRleFN1
YkltYWdlMkQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENSRUFURVBST0dSQU1QUk9DIGxfZ2xD
cmVhdGVQcm9ncmFtOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDUkVBVEVTSEFERVJQUk9DIGxf
Z2xDcmVhdGVTaGFkZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENVTExGQUNFUFJPQyBsX2ds
Q3VsbEZhY2U7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURUJVRkZFUlNQUk9DIGxfZ2xE
ZWxldGVCdWZmZXJzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVGUkFNRUJVRkZFUlNQ
Uk9DIGxfZ2xEZWxldGVGcmFtZWJ1ZmZlcnM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVU
RVBST0dSQU1QUk9DIGxfZ2xEZWxldGVQcm9ncmFtOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
RUxFVEVSRU5ERVJCVUZGRVJTUFJPQyBsX2dsRGVsZXRlUmVuZGVyYnVmZmVyczsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVMRVRFU0hBREVSUFJPQyBsX2dsRGVsZXRlU2hhZGVyOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xERUxFVEVURVhUVVJFU1BST0MgbF9nbERlbGV0ZVRleHR1cmVzOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVBUSEZVTkNQUk9DIGxfZ2xEZXB0aEZ1bmM7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTERFUFRITUFTS1BST0MgbF9nbERlcHRoTWFzazsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVQVEhSQU5HRUZQUk9DIGxfZ2xEZXB0aFJhbmdlZjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVUQUNIU0hBREVSUFJPQyBsX2dsRGV0YWNoU2hhZGVyOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xESVNBQkxFUFJPQyBsX2dsRGlzYWJsZTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRElTQUJMRVZFUlRFWEFUVFJJQkFSUkFZUFJPQyBsX2dsRGlzYWJsZVZlcnRleEF0
dHJpYkFycmF5OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlTUFJPQyBsX2dsRHJh
d0FycmF5czsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTUFJPQyBsX2dsRHJh
d0VsZW1lbnRzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkFCTEVQUk9DIGxfZ2xFbmFibGU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVOQUJMRVZFUlRFWEFUVFJJQkFSUkFZUFJPQyBsX2ds
RW5hYmxlVmVydGV4QXR0cmliQXJyYXk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZJTklTSFBS
T0MgbF9nbEZpbmlzaDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRkxVU0hQUk9DIGxfZ2xGbHVz
aDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJSRU5ERVJCVUZGRVJQUk9DIGxf
Z2xGcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVC
VUZGRVJURVhUVVJFMkRQUk9DIGxfZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRDsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRlJPTlRGQUNFUFJPQyBsX2dsRnJvbnRGYWNlOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRU5CVUZGRVJTUFJPQyBsX2dsR2VuQnVmZmVyczsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VORVJBVEVNSVBNQVBQUk9DIGxfZ2xHZW5lcmF0ZU1pcG1hcDsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VORlJBTUVCVUZGRVJTUFJPQyBsX2dsR2VuRnJhbWVidWZmZXJzOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5SRU5ERVJCVUZGRVJTUFJPQyBsX2dsR2VuUmVuZGVyYnVm
ZmVyczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOVEVYVFVSRVNQUk9DIGxfZ2xHZW5UZXh0
dXJlczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNUSVZFQVRUUklCUFJPQyBsX2dsR2V0
QWN0aXZlQXR0cmliOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JNUFJP
QyBsX2dsR2V0QWN0aXZlVW5pZm9ybTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQVRUQUNI
RURTSEFERVJTUFJPQyBsX2dsR2V0QXR0YWNoZWRTaGFkZXJzOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRBVFRSSUJMT0NBVElPTlBST0MgbF9nbEdldEF0dHJpYkxvY2F0aW9uOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRCT09MRUFOVlBST0MgbF9nbEdldEJvb2xlYW52OworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQQVJBTUVURVJJVlBST0MgbF9nbEdldEJ1ZmZlclBh
cmFtZXRlcml2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRFUlJPUlBST0MgbF9nbEdldEVy
cm9yOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRGTE9BVFZQUk9DIGxfZ2xHZXRGbG9hdHY7
CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZSQU1FQlVGRkVSQVRUQUNITUVOVFBBUkFNRVRF
UklWUFJPQwotICAgIGdsR2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVJWUFJPQyBnbEdldEludGVnZXJ2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNSVZQUk9DIGdsR2V0UHJvZ3JhbWl2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNSU5GT0xPR1BST0MgZ2xHZXRQcm9ncmFtSW5mb0xv
ZzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUkVOREVSQlVGRkVSUEFSQU1FVEVSSVZQUk9D
IGdsR2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFNIQURFUklWUFJPQyBnbEdldFNoYWRlcml2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRT
SEFERVJJTkZPTE9HUFJPQyBnbEdldFNoYWRlckluZm9Mb2c7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFNIQURFUlBSRUNJU0lPTkZPUk1BVFBST0MgZ2xHZXRTaGFkZXJQcmVjaXNpb25Gb3Jt
YXQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNIQURFUlNPVVJDRVBST0MgZ2xHZXRTaGFk
ZXJTb3VyY2U7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNUUklOR1BST0MgZ2xHZXRTdHJp
bmc7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUkZWUFJPQyBnbEdldFRl
eFBhcmFtZXRlcmZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJVlBS
T0MgZ2xHZXRUZXhQYXJhbWV0ZXJpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9S
TUZWUFJPQyBnbEdldFVuaWZvcm1mdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9S
TUlWUFJPQyBnbEdldFVuaWZvcm1pdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9S
TUxPQ0FUSU9OUFJPQyBnbEdldFVuaWZvcm1Mb2NhdGlvbjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVkVSVEVYQVRUUklCRlZQUk9DIGdsR2V0VmVydGV4QXR0cmliZnY7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJQklWUFJPQyBnbEdldFZlcnRleEF0dHJpYml2Owot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJQT0lOVEVSVlBST0MgZ2xHZXRW
ZXJ0ZXhBdHRyaWJQb2ludGVydjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSElOVFBST0MgZ2xI
aW50OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0JVRkZFUlBST0MgZ2xJc0J1ZmZlcjsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNFTkFCTEVEUFJPQyBnbElzRW5hYmxlZDsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNGUkFNRUJVRkZFUlBST0MgZ2xJc0ZyYW1lYnVmZmVyOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xJU1BST0dSQU1QUk9DIGdsSXNQcm9ncmFtOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xJU1JFTkRFUkJVRkZFUlBST0MgZ2xJc1JlbmRlcmJ1ZmZlcjsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNTSEFERVJQUk9DIGdsSXNTaGFkZXI7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTElTVEVYVFVSRVBST0MgZ2xJc1RleHR1cmU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TExJTkVXSURUSFBST0MgZ2xMaW5lV2lkdGg7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJTktQ
Uk9HUkFNUFJPQyBnbExpbmtQcm9ncmFtOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQSVhFTFNU
T1JFSVBST0MgZ2xQaXhlbFN0b3JlaTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9MWUdPTk9G
RlNFVFBST0MgZ2xQb2x5Z29uT2Zmc2V0OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRUFEUElY
RUxTUFJPQyBnbFJlYWRQaXhlbHM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFTEVBU0VTSEFE
RVJDT01QSUxFUlBST0MgZ2xSZWxlYXNlU2hhZGVyQ29tcGlsZXI7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFJFTkRFUkJVRkZFUlNUT1JBR0VQUk9DIGdsUmVuZGVyYnVmZmVyU3RvcmFnZTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFQ09WRVJBR0VQUk9DIGdsU2FtcGxlQ292ZXJhZ2U7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNDSVNTT1JQUk9DIGdsU2Npc3NvcjsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMU0hBREVSQklOQVJZUFJPQyBnbFNoYWRlckJpbmFyeTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMU0hBREVSU09VUkNFUFJPQyBnbFNoYWRlclNvdXJjZTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMU1RFTkNJTEZVTkNQUk9DIGdsU3RlbmNpbEZ1bmM7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFNURU5DSUxGVU5DU0VQQVJBVEVQUk9DIGdsU3RlbmNpbEZ1bmNTZXBhcmF0
ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE1BU0tQUk9DIGdsU3RlbmNpbE1hc2s7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNURU5DSUxNQVNLU0VQQVJBVEVQUk9DIGdsU3RlbmNp
bE1hc2tTZXBhcmF0ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE9QUFJPQyBnbFN0
ZW5jaWxPcDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE9QU0VQQVJBVEVQUk9DIGds
U3RlbmNpbE9wU2VwYXJhdGU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWElNQUdFMkRQUk9D
IGdsVGV4SW1hZ2UyRDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSRlBST0Mg
Z2xUZXhQYXJhbWV0ZXJmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJGVlBS
T0MgZ2xUZXhQYXJhbWV0ZXJmdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVS
SVBST0MgZ2xUZXhQYXJhbWV0ZXJpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVU
RVJJVlBST0MgZ2xUZXhQYXJhbWV0ZXJpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VC
SU1BR0UyRFBST0MgZ2xUZXhTdWJJbWFnZTJEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklG
T1JNMUZQUk9DIGdsVW5pZm9ybTFmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMUZW
UFJPQyBnbFVuaWZvcm0xZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xSVBST0Mg
Z2xVbmlmb3JtMWk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xSVZQUk9DIGdsVW5p
Zm9ybTFpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTJGUFJPQyBnbFVuaWZvcm0y
ZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTJGVlBST0MgZ2xVbmlmb3JtMmZ2Owot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMklQUk9DIGdsVW5pZm9ybTJpOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMklWUFJPQyBnbFVuaWZvcm0yaXY7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFVOSUZPUk0zRlBST0MgZ2xVbmlmb3JtM2Y7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFVOSUZPUk0zRlZQUk9DIGdsVW5pZm9ybTNmdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVU5JRk9STTNJUFJPQyBnbFVuaWZvcm0zaTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5J
Rk9STTNJVlBST0MgZ2xVbmlmb3JtM2l2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JN
NEZQUk9DIGdsVW5pZm9ybTRmOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNEZWUFJP
QyBnbFVuaWZvcm00ZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00SVBST0MgZ2xV
bmlmb3JtNGk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00SVZQUk9DIGdsVW5pZm9y
bTRpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDJGVlBST0MgZ2xVbmlm
b3JtTWF0cml4MmZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYM0ZWUFJP
QyBnbFVuaWZvcm1NYXRyaXgzZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRS
SVg0RlZQUk9DIGdsVW5pZm9ybU1hdHJpeDRmdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVVNF
UFJPR1JBTVBST0MgZ2xVc2VQcm9ncmFtOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWQUxJREFU
RVBST0dSQU1QUk9DIGdsVmFsaWRhdGVQcm9ncmFtOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xW
RVJURVhBVFRSSUIxRlBST0MgZ2xWZXJ0ZXhBdHRyaWIxZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVkVSVEVYQVRUUklCMUZWUFJPQyBnbFZlcnRleEF0dHJpYjFmdjsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVkVSVEVYQVRUUklCMkZQUk9DIGdsVmVydGV4QXR0cmliMmY7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjJGVlBST0MgZ2xWZXJ0ZXhBdHRyaWIyZnY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjNGUFJPQyBnbFZlcnRleEF0dHJpYjNmOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUIzRlZQUk9DIGdsVmVydGV4QXR0cmli
M2Z2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUI0RlBST0MgZ2xWZXJ0ZXhB
dHRyaWI0ZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCNEZWUFJPQyBnbFZl
cnRleEF0dHJpYjRmdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCUE9JTlRF
UlBST0MgZ2xWZXJ0ZXhBdHRyaWJQb2ludGVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWSUVX
UE9SVFBST0MgZ2xWaWV3cG9ydDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVBREJVRkZFUlBS
T0MgZ2xSZWFkQnVmZmVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXUkFOR0VFTEVNRU5U
U1BST0MgZ2xEcmF3UmFuZ2VFbGVtZW50czsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYSU1B
R0UzRFBST0MgZ2xUZXhJbWFnZTNEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVUJJTUFH
RTNEUFJPQyBnbFRleFN1YkltYWdlM0Q7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhT
VUJJTUFHRTNEUFJPQyBnbENvcHlUZXhTdWJJbWFnZTNEOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDT01QUkVTU0VEVEVYSU1BR0UzRFBST0MgZ2xDb21wcmVzc2VkVGV4SW1hZ2UzRDsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ09NUFJFU1NFRFRFWFNVQklNQUdFM0RQUk9DIGdsQ29tcHJlc3Nl
ZFRleFN1YkltYWdlM0Q7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTlFVRVJJRVNQUk9DIGds
R2VuUXVlcmllczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFUVVFUklFU1BST0MgZ2xE
ZWxldGVRdWVyaWVzOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1FVRVJZUFJPQyBnbElzUXVl
cnk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOUVVFUllQUk9DIGdsQmVnaW5RdWVyeTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRU5EUVVFUllQUk9DIGdsRW5kUXVlcnk7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZSVZQUk9DIGdsR2V0UXVlcnlpdjsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSVZQUk9DIGdsR2V0UXVlcnlPYmplY3R1aXY7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOTUFQQlVGRkVSUFJPQyBnbFVubWFwQnVmZmVyOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQT0lOVEVSVlBST0MgZ2xHZXRCdWZmZXJQb2lu
dGVydjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0JVRkZFUlNQUk9DIGdsRHJhd0J1ZmZl
cnM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgyWDNGVlBST0MgZ2xVbmlm
b3JtTWF0cml4MngzZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgzWDJG
VlBST0MgZ2xVbmlmb3JtTWF0cml4M3gyZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZP
Uk1NQVRSSVgyWDRGVlBST0MgZ2xVbmlmb3JtTWF0cml4Mng0ZnY7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFVOSUZPUk1NQVRSSVg0WDJGVlBST0MgZ2xVbmlmb3JtTWF0cml4NHgyZnY7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgzWDRGVlBST0MgZ2xVbmlmb3JtTWF0cml4
M3g0ZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVg0WDNGVlBST0MgZ2xV
bmlmb3JtTWF0cml4NHgzZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMSVRGUkFNRUJVRkZF
UlBST0MgZ2xCbGl0RnJhbWVidWZmZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFTkRFUkJV
RkZFUlNUT1JBR0VNVUxUSVNBTVBMRVBST0MgZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1w
bGU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZSQU1FQlVGRkVSVEVYVFVSRUxBWUVSUFJPQyBn
bEZyYW1lYnVmZmVyVGV4dHVyZUxheWVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVBCVUZG
RVJSQU5HRVBST0MgZ2xNYXBCdWZmZXJSYW5nZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRkxV
U0hNQVBQRURCVUZGRVJSQU5HRVBST0MgZ2xGbHVzaE1hcHBlZEJ1ZmZlclJhbmdlOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCSU5EVkVSVEVYQVJSQVlQUk9DIGdsQmluZFZlcnRleEFycmF5Owot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVWRVJURVhBUlJBWVNQUk9DIGdsRGVsZXRlVmVy
dGV4QXJyYXlzOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5WRVJURVhBUlJBWVNQUk9DIGds
R2VuVmVydGV4QXJyYXlzOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFSUkFZUFJP
QyBnbElzVmVydGV4QXJyYXk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVJJX1ZQ
Uk9DIGdsR2V0SW50ZWdlcmlfdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkVHSU5UUkFOU0ZP
Uk1GRUVEQkFDS1BST0MgZ2xCZWdpblRyYW5zZm9ybUZlZWRiYWNrOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xFTkRUUkFOU0ZPUk1GRUVEQkFDS1BST0MgZ2xFbmRUcmFuc2Zvcm1GZWVkYmFjazsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUlJBTkdFUFJPQyBnbEJpbmRCdWZmZXJS
YW5nZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUkJBU0VQUk9DIGdsQmluZEJ1
ZmZlckJhc2U7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRSQU5TRk9STUZFRURCQUNLVkFSWUlO
R1NQUk9DIGdsVHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVFJBTlNGT1JNRkVFREJBQ0tWQVJZSU5HUFJPQyBnbEdldFRyYW5zZm9ybUZlZWRiYWNr
VmFyeWluZzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSVBPSU5URVJQUk9D
IGdsVmVydGV4QXR0cmliSVBvaW50ZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRF
WEFUVFJJQklJVlBST0MgZ2xHZXRWZXJ0ZXhBdHRyaWJJaXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFZFUlRFWEFUVFJJQklVSVZQUk9DIGdsR2V0VmVydGV4QXR0cmliSXVpdjsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSTRJUFJPQyBnbFZlcnRleEF0dHJpYkk0aTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSTRVSVBST0MgZ2xWZXJ0ZXhBdHRy
aWJJNHVpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJJNElWUFJPQyBnbFZl
cnRleEF0dHJpYkk0aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkk0VUlW
UFJPQyBnbFZlcnRleEF0dHJpYkk0dWl2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTklG
T1JNVUlWUFJPQyBnbEdldFVuaWZvcm11aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZS
QUdEQVRBTE9DQVRJT05QUk9DIGdsR2V0RnJhZ0RhdGFMb2NhdGlvbjsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVU5JRk9STTFVSVBST0MgZ2xVbmlmb3JtMXVpOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xVTklGT1JNMlVJUFJPQyBnbFVuaWZvcm0ydWk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFVOSUZPUk0zVUlQUk9DIGdsVW5pZm9ybTN1aTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5J
Rk9STTRVSVBST0MgZ2xVbmlmb3JtNHVpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JN
MVVJVlBST0MgZ2xVbmlmb3JtMXVpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTJV
SVZQUk9DIGdsVW5pZm9ybTJ1aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0zVUlW
UFJPQyBnbFVuaWZvcm0zdWl2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNFVJVlBS
T0MgZ2xVbmlmb3JtNHVpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJJVlBS
T0MgZ2xDbGVhckJ1ZmZlcml2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkJVRkZFUlVJ
VlBST0MgZ2xDbGVhckJ1ZmZlcnVpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZG
RVJGVlBST0MgZ2xDbGVhckJ1ZmZlcmZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkJV
RkZFUkZJUFJPQyBnbENsZWFyQnVmZmVyZmk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNU
UklOR0lQUk9DIGdsR2V0U3RyaW5naTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWUJVRkZF
UlNVQkRBVEFQUk9DIGdsQ29weUJ1ZmZlclN1YkRhdGE7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFVOSUZPUk1JTkRJQ0VTUFJPQyBnbEdldFVuaWZvcm1JbmRpY2VzOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JNU0lWUFJPQyBnbEdldEFjdGl2ZVVuaWZvcm1zaXY7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1CTE9DS0lOREVYUFJPQyBnbEdldFVu
aWZvcm1CbG9ja0luZGV4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JN
QkxPQ0tJVlBST0MgZ2xHZXRBY3RpdmVVbmlmb3JtQmxvY2tpdjsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VUQUNUSVZFVU5JRk9STUJMT0NLTkFNRVBST0MgZ2xHZXRBY3RpdmVVbmlmb3JtQmxv
Y2tOYW1lOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNQkxPQ0tCSU5ESU5HUFJPQyBn
bFVuaWZvcm1CbG9ja0JpbmRpbmc7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdBUlJBWVNJ
TlNUQU5DRURQUk9DIGdsRHJhd0FycmF5c0luc3RhbmNlZDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRFJBV0VMRU1FTlRTSU5TVEFOQ0VEUFJPQyBnbERyYXdFbGVtZW50c0luc3RhbmNlZDsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRkVOQ0VTWU5DUFJPQyBnbEZlbmNlU3luYzsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNTWU5DUFJPQyBnbElzU3luYzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMREVMRVRFU1lOQ1BST0MgZ2xEZWxldGVTeW5jOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xD
TElFTlRXQUlUU1lOQ1BST0MgZ2xDbGllbnRXYWl0U3luYzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMV0FJVFNZTkNQUk9DIGdsV2FpdFN5bmM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElO
VEVHRVI2NFZQUk9DIGdsR2V0SW50ZWdlcjY0djsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
U1lOQ0lWUFJPQyBnbEdldFN5bmNpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdF
UjY0SV9WUFJPQyBnbEdldEludGVnZXI2NGlfdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
QlVGRkVSUEFSQU1FVEVSSTY0VlBST0MgZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpNjR2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRU5TQU1QTEVSU1BST0MgZ2xHZW5TYW1wbGVyczsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVMRVRFU0FNUExFUlNQUk9DIGdsRGVsZXRlU2FtcGxlcnM7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTElTU0FNUExFUlBST0MgZ2xJc1NhbXBsZXI7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEJJTkRTQU1QTEVSUFJPQyBnbEJpbmRTYW1wbGVyOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSVBST0MgZ2xTYW1wbGVyUGFyYW1ldGVyaTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUklWUFJPQyBnbFNhbXBsZXJQYXJh
bWV0ZXJpdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUkZQUk9DIGds
U2FtcGxlclBhcmFtZXRlcmY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVU
RVJGVlBST0MgZ2xTYW1wbGVyUGFyYW1ldGVyZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFNBTVBMRVJQQVJBTUVURVJJVlBST0MgZ2xHZXRTYW1wbGVyUGFyYW1ldGVyaXY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFNBTVBMRVJQQVJBTUVURVJGVlBST0MgZ2xHZXRTYW1wbGVyUGFy
YW1ldGVyZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkRJVklTT1JQUk9D
IGdsVmVydGV4QXR0cmliRGl2aXNvcjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFRSQU5T
Rk9STUZFRURCQUNLUFJPQyBnbEJpbmRUcmFuc2Zvcm1GZWVkYmFjazsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMREVMRVRFVFJBTlNGT1JNRkVFREJBQ0tTUFJPQyBnbERlbGV0ZVRyYW5zZm9ybUZl
ZWRiYWNrczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOVFJBTlNGT1JNRkVFREJBQ0tTUFJP
QyBnbEdlblRyYW5zZm9ybUZlZWRiYWNrczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNUUkFO
U0ZPUk1GRUVEQkFDS1BST0MgZ2xJc1RyYW5zZm9ybUZlZWRiYWNrOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQQVVTRVRSQU5TRk9STUZFRURCQUNLUFJPQyBnbFBhdXNlVHJhbnNmb3JtRmVlZGJh
Y2s7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFU1VNRVRSQU5TRk9STUZFRURCQUNLUFJPQyBn
bFJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9H
UkFNQklOQVJZUFJPQyBnbEdldFByb2dyYW1CaW5hcnk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFBST0dSQU1CSU5BUllQUk9DIGdsUHJvZ3JhbUJpbmFyeTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVBBUkFNRVRFUklQUk9DIGdsUHJvZ3JhbVBhcmFtZXRlcmk7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTElOVkFMSURBVEVGUkFNRUJVRkZFUlBST0MgZ2xJbnZhbGlkYXRlRnJhbWVi
dWZmZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElOVkFMSURBVEVTVUJGUkFNRUJVRkZFUlBS
T0MgZ2xJbnZhbGlkYXRlU3ViRnJhbWVidWZmZXI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRF
WFNUT1JBR0UyRFBST0MgZ2xUZXhTdG9yYWdlMkQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRF
WFNUT1JBR0UzRFBST0MgZ2xUZXhTdG9yYWdlM0Q7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VElOVEVSTkFMRk9STUFUSVZQUk9DIGdsR2V0SW50ZXJuYWxmb3JtYXRpdjsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRElTUEFUQ0hDT01QVVRFUFJPQyBnbERpc3BhdGNoQ29tcHV0ZTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMRElTUEFUQ0hDT01QVVRFSU5ESVJFQ1RQUk9DIGdsRGlzcGF0Y2hD
b21wdXRlSW5kaXJlY3Q7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdBUlJBWVNJTkRJUkVD
VFBST0MgZ2xEcmF3QXJyYXlzSW5kaXJlY3Q7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdF
TEVNRU5UU0lORElSRUNUUFJPQyBnbERyYXdFbGVtZW50c0luZGlyZWN0OwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xGUkFNRUJVRkZFUlBBUkFNRVRFUklQUk9DIGdsRnJhbWVidWZmZXJQYXJhbWV0
ZXJpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRGUkFNRUJVRkZFUlBBUkFNRVRFUklWUFJP
QyBnbEdldEZyYW1lYnVmZmVyUGFyYW1ldGVyaXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFBST0dSQU1JTlRFUkZBQ0VJVlBST0MgZ2xHZXRQcm9ncmFtSW50ZXJmYWNlaXY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFBST0dSQU1SRVNPVVJDRUlOREVYUFJPQyBnbEdldFByb2dyYW1S
ZXNvdXJjZUluZGV4OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNUkVTT1VSQ0VO
QU1FUFJPQyBnbEdldFByb2dyYW1SZXNvdXJjZU5hbWU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFBST0dSQU1SRVNPVVJDRUlWUFJPQyBnbEdldFByb2dyYW1SZXNvdXJjZWl2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNUkVTT1VSQ0VMT0NBVElPTlBST0MgZ2xHZXRQcm9n
cmFtUmVzb3VyY2VMb2NhdGlvbjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVVNFUFJPR1JBTVNU
QUdFU1BST0MgZ2xVc2VQcm9ncmFtU3RhZ2VzOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xBQ1RJ
VkVTSEFERVJQUk9HUkFNUFJPQyBnbEFjdGl2ZVNoYWRlclByb2dyYW07Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTENSRUFURVNIQURFUlBST0dSQU1WUFJPQyBnbENyZWF0ZVNoYWRlclByb2dyYW12
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EUFJPR1JBTVBJUEVMSU5FUFJPQyBnbEJpbmRQ
cm9ncmFtUGlwZWxpbmU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVBST0dSQU1QSVBF
TElORVNQUk9DIGdsRGVsZXRlUHJvZ3JhbVBpcGVsaW5lczsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VOUFJPR1JBTVBJUEVMSU5FU1BST0MgZ2xHZW5Qcm9ncmFtUGlwZWxpbmVzOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xJU1BST0dSQU1QSVBFTElORVBST0MgZ2xJc1Byb2dyYW1QaXBlbGlu
ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVBJUEVMSU5FSVZQUk9DIGdsR2V0
UHJvZ3JhbVBpcGVsaW5laXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JN
MUlQUk9DIGdsUHJvZ3JhbVVuaWZvcm0xaTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JB
TVVOSUZPUk0ySVBST0MgZ2xQcm9ncmFtVW5pZm9ybTJpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xQUk9HUkFNVU5JRk9STTNJUFJPQyBnbFByb2dyYW1Vbmlmb3JtM2k7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNElQUk9DIGdsUHJvZ3JhbVVuaWZvcm00aTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xVUlQUk9DIGdsUHJvZ3JhbVVuaWZvcm0x
dWk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMlVJUFJPQyBnbFByb2dy
YW1Vbmlmb3JtMnVpOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNVSVBS
T0MgZ2xQcm9ncmFtVW5pZm9ybTN1aTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVO
SUZPUk00VUlQUk9DIGdsUHJvZ3JhbVVuaWZvcm00dWk7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFBST0dSQU1VTklGT1JNMUZQUk9DIGdsUHJvZ3JhbVVuaWZvcm0xZjsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0yRlBST0MgZ2xQcm9ncmFtVW5pZm9ybTJmOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNGUFJPQyBnbFByb2dyYW1Vbmlmb3JtM2Y7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNEZQUk9DIGdsUHJvZ3JhbVVu
aWZvcm00ZjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xSVZQUk9DIGds
UHJvZ3JhbVVuaWZvcm0xaXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JN
MklWUFJPQyBnbFByb2dyYW1Vbmlmb3JtMml2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9H
UkFNVU5JRk9STTNJVlBST0MgZ2xQcm9ncmFtVW5pZm9ybTNpdjsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMUFJPR1JBTVVOSUZPUk00SVZQUk9DIGdsUHJvZ3JhbVVuaWZvcm00aXY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMVVJVlBST0MgZ2xQcm9ncmFtVW5pZm9ybTF1
aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMlVJVlBST0MgZ2xQcm9n
cmFtVW5pZm9ybTJ1aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNM1VJ
VlBST0MgZ2xQcm9ncmFtVW5pZm9ybTN1aXY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dS
QU1VTklGT1JNNFVJVlBST0MgZ2xQcm9ncmFtVW5pZm9ybTR1aXY7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFBST0dSQU1VTklGT1JNMUZWUFJPQyBnbFByb2dyYW1Vbmlmb3JtMWZ2OwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTJGVlBST0MgZ2xQcm9ncmFtVW5pZm9ybTJm
djsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0zRlZQUk9DIGdsUHJvZ3Jh
bVVuaWZvcm0zZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNEZWUFJP
QyBnbFByb2dyYW1Vbmlmb3JtNGZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5J
Rk9STU1BVFJJWDJGVlBST0MgZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDJmdjsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVgzRlZQUk9DIGdsUHJvZ3JhbVVuaWZvcm1N
YXRyaXgzZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNTUFUUklYNEZW
UFJPQyBnbFByb2dyYW1Vbmlmb3JtTWF0cml4NGZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQ
Uk9HUkFNVU5JRk9STU1BVFJJWDJYM0ZWUFJPQyBnbFByb2dyYW1Vbmlmb3JtTWF0cml4MngzZnY7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNTUFUUklYM1gyRlZQUk9DIGds
UHJvZ3JhbVVuaWZvcm1NYXRyaXgzeDJmdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JB
TVVOSUZPUk1NQVRSSVgyWDRGVlBST0MgZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDJ4NGZ2OwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STU1BVFJJWDRYMkZWUFJPQyBnbFByb2dy
YW1Vbmlmb3JtTWF0cml4NHgyZnY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklG
T1JNTUFUUklYM1g0RlZQUk9DIGdsUHJvZ3JhbVVuaWZvcm1NYXRyaXgzeDRmdjsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVg0WDNGVlBST0MgZ2xQcm9ncmFtVW5p
Zm9ybU1hdHJpeDR4M2Z2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWQUxJREFURVBST0dSQU1Q
SVBFTElORVBST0MgZ2xWYWxpZGF0ZVByb2dyYW1QaXBlbGluZTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VUUFJPR1JBTVBJUEVMSU5FSU5GT0xPR1BST0MgZ2xHZXRQcm9ncmFtUGlwZWxpbmVJ
bmZvTG9nOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5ESU1BR0VURVhUVVJFUFJPQyBnbEJp
bmRJbWFnZVRleHR1cmU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJPT0xFQU5JX1ZQUk9D
IGdsR2V0Qm9vbGVhbmlfdjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUVNT1JZQkFSUklFUlBS
T0MgZ2xNZW1vcnlCYXJyaWVyOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNRU1PUllCQVJSSUVS
QllSRUdJT05QUk9DIGdsTWVtb3J5QmFycmllckJ5UmVnaW9uOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xURVhTVE9SQUdFMkRNVUxUSVNBTVBMRVBST0MgZ2xUZXhTdG9yYWdlMkRNdWx0aXNhbXBs
ZTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTVVMVElTQU1QTEVGVlBST0MgZ2xHZXRNdWx0
aXNhbXBsZWZ2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVNQVNLSVBST0MgZ2xTYW1w
bGVNYXNraTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYTEVWRUxQQVJBTUVURVJJVlBS
T0MgZ2xHZXRUZXhMZXZlbFBhcmFtZXRlcml2OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRU
RVhMRVZFTFBBUkFNRVRFUkZWUFJPQyBnbEdldFRleExldmVsUGFyYW1ldGVyZnY7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEJJTkRWRVJURVhCVUZGRVJQUk9DIGdsQmluZFZlcnRleEJ1ZmZlcjsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCRk9STUFUUFJPQyBnbFZlcnRleEF0
dHJpYkZvcm1hdDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSUZPUk1BVFBS
T0MgZ2xWZXJ0ZXhBdHRyaWJJRm9ybWF0OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhB
VFRSSUJCSU5ESU5HUFJPQyBnbFZlcnRleEF0dHJpYkJpbmRpbmc7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFZFUlRFWEJJTkRJTkdESVZJU09SUFJPQyBnbFZlcnRleEJpbmRpbmdEaXZpc29yOwor
ICAgIGxfZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUSU5URUdFUlZQUk9DIGxfZ2xHZXRJbnRlZ2VydjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlWUFJPQyBsX2dsR2V0UHJvZ3JhbWl2OworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNSU5GT0xPR1BST0MgbF9nbEdldFByb2dyYW1JbmZvTG9n
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRSRU5ERVJCVUZGRVJQQVJBTUVURVJJVlBST0Mg
bF9nbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRTSEFERVJJVlBST0MgbF9nbEdldFNoYWRlcml2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRTSEFERVJJTkZPTE9HUFJPQyBsX2dsR2V0U2hhZGVySW5mb0xvZzsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUU0hBREVSUFJFQ0lTSU9ORk9STUFUUFJPQyBsX2dsR2V0U2hhZGVyUHJlY2lz
aW9uRm9ybWF0OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTSEFERVJTT1VSQ0VQUk9DIGxf
Z2xHZXRTaGFkZXJTb3VyY2U7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNUUklOR1BST0Mg
bF9nbEdldFN0cmluZzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSRlZQ
Uk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVY
UEFSQU1FVEVSSVZQUk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJpdjsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VUVU5JRk9STUZWUFJPQyBsX2dsR2V0VW5pZm9ybWZ2OworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRVTklGT1JNSVZQUk9DIGxfZ2xHZXRVbmlmb3JtaXY7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFVFVOSUZPUk1MT0NBVElPTlBST0MgbF9nbEdldFVuaWZvcm1Mb2NhdGlvbjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCRlZQUk9DIGxfZ2xHZXRWZXJ0
ZXhBdHRyaWJmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCSVZQUk9D
IGxfZ2xHZXRWZXJ0ZXhBdHRyaWJpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVY
QVRUUklCUE9JTlRFUlZQUk9DIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVydjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSElOVFBST0MgbF9nbEhpbnQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TElTQlVGRkVSUFJPQyBsX2dsSXNCdWZmZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRU5B
QkxFRFBST0MgbF9nbElzRW5hYmxlZDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNGUkFNRUJV
RkZFUlBST0MgbF9nbElzRnJhbWVidWZmZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUFJP
R1JBTVBST0MgbF9nbElzUHJvZ3JhbTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNSRU5ERVJC
VUZGRVJQUk9DIGxfZ2xJc1JlbmRlcmJ1ZmZlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNT
SEFERVJQUk9DIGxfZ2xJc1NoYWRlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNURVhUVVJF
UFJPQyBsX2dsSXNUZXh0dXJlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSU5FV0lEVEhQUk9D
IGxfZ2xMaW5lV2lkdGg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJTktQUk9HUkFNUFJPQyBs
X2dsTGlua1Byb2dyYW07CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBJWEVMU1RPUkVJUFJPQyBs
X2dsUGl4ZWxTdG9yZWk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPTFlHT05PRkZTRVRQUk9D
IGxfZ2xQb2x5Z29uT2Zmc2V0OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRUFEUElYRUxTUFJP
QyBsX2dsUmVhZFBpeGVsczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVMRUFTRVNIQURFUkNP
TVBJTEVSUFJPQyBsX2dsUmVsZWFzZVNoYWRlckNvbXBpbGVyOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xSRU5ERVJCVUZGRVJTVE9SQUdFUFJPQyBsX2dsUmVuZGVyYnVmZmVyU3RvcmFnZTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFQ09WRVJBR0VQUk9DIGxfZ2xTYW1wbGVDb3ZlcmFn
ZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0NJU1NPUlBST0MgbF9nbFNjaXNzb3I7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFNIQURFUkJJTkFSWVBST0MgbF9nbFNoYWRlckJpbmFyeTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0hBREVSU09VUkNFUFJPQyBsX2dsU2hhZGVyU291cmNlOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTVEVOQ0lMRlVOQ1BST0MgbF9nbFN0ZW5jaWxGdW5jOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTVEVOQ0lMRlVOQ1NFUEFSQVRFUFJPQyBsX2dsU3RlbmNp
bEZ1bmNTZXBhcmF0ZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE1BU0tQUk9DIGxf
Z2xTdGVuY2lsTWFzazsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE1BU0tTRVBBUkFU
RVBST0MgbF9nbFN0ZW5jaWxNYXNrU2VwYXJhdGU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNU
RU5DSUxPUFBST0MgbF9nbFN0ZW5jaWxPcDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJ
TE9QU0VQQVJBVEVQUk9DIGxfZ2xTdGVuY2lsT3BTZXBhcmF0ZTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVEVYSU1BR0UyRFBST0MgbF9nbFRleEltYWdlMkQ7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFRFWFBBUkFNRVRFUkZQUk9DIGxfZ2xUZXhQYXJhbWV0ZXJmOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xURVhQQVJBTUVURVJGVlBST0MgbF9nbFRleFBhcmFtZXRlcmZ2OworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJJUFJPQyBsX2dsVGV4UGFyYW1ldGVyaTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSSVZQUk9DIGxfZ2xUZXhQYXJhbWV0ZXJpdjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VCSU1BR0UyRFBST0MgbF9nbFRleFN1YkltYWdl
MkQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xRlBST0MgbF9nbFVuaWZvcm0xZjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTFGVlBST0MgbF9nbFVuaWZvcm0xZnY7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xSVBST0MgbF9nbFVuaWZvcm0xaTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTFJVlBST0MgbF9nbFVuaWZvcm0xaXY7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFVOSUZPUk0yRlBST0MgbF9nbFVuaWZvcm0yZjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMVU5JRk9STTJGVlBST0MgbF9nbFVuaWZvcm0yZnY7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFVOSUZPUk0ySVBST0MgbF9nbFVuaWZvcm0yaTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVU5JRk9STTJJVlBST0MgbF9nbFVuaWZvcm0yaXY7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFVOSUZPUk0zRlBST0MgbF9nbFVuaWZvcm0zZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VU5JRk9STTNGVlBST0MgbF9nbFVuaWZvcm0zZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVO
SUZPUk0zSVBST0MgbF9nbFVuaWZvcm0zaTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9S
TTNJVlBST0MgbF9nbFVuaWZvcm0zaXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00
RlBST0MgbF9nbFVuaWZvcm00ZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTRGVlBS
T0MgbF9nbFVuaWZvcm00ZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00SVBST0Mg
bF9nbFVuaWZvcm00aTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTRJVlBST0MgbF9n
bFVuaWZvcm00aXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgyRlZQUk9D
IGxfZ2xVbmlmb3JtTWF0cml4MmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFU
UklYM0ZWUFJPQyBsX2dsVW5pZm9ybU1hdHJpeDNmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VU5JRk9STU1BVFJJWDRGVlBST0MgbF9nbFVuaWZvcm1NYXRyaXg0ZnY7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFVTRVBST0dSQU1QUk9DIGxfZ2xVc2VQcm9ncmFtOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xWQUxJREFURVBST0dSQU1QUk9DIGxfZ2xWYWxpZGF0ZVByb2dyYW07CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjFGUFJPQyBsX2dsVmVydGV4QXR0cmliMWY7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjFGVlBST0MgbF9nbFZlcnRleEF0dHJp
YjFmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCMkZQUk9DIGxfZ2xWZXJ0
ZXhBdHRyaWIyZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCMkZWUFJPQyBs
X2dsVmVydGV4QXR0cmliMmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUIz
RlBST0MgbF9nbFZlcnRleEF0dHJpYjNmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhB
VFRSSUIzRlZQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWIzZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFZFUlRFWEFUVFJJQjRGUFJPQyBsX2dsVmVydGV4QXR0cmliNGY7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFZFUlRFWEFUVFJJQjRGVlBST0MgbF9nbFZlcnRleEF0dHJpYjRmdjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCUE9JTlRFUlBST0MgbF9nbFZlcnRleEF0dHJpYlBv
aW50ZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZJRVdQT1JUUFJPQyBsX2dsVmlld3BvcnQ7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFQURCVUZGRVJQUk9DIGxfZ2xSZWFkQnVmZmVyOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXUkFOR0VFTEVNRU5UU1BST0MgbF9nbERyYXdSYW5n
ZUVsZW1lbnRzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNEUFJPQyBsX2dsVGV4
SW1hZ2UzRDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VCSU1BR0UzRFBST0MgbF9nbFRl
eFN1YkltYWdlM0Q7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhTVUJJTUFHRTNEUFJP
QyBsX2dsQ29weVRleFN1YkltYWdlM0Q7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNT
RURURVhJTUFHRTNEUFJPQyBsX2dsQ29tcHJlc3NlZFRleEltYWdlM0Q7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTENPTVBSRVNTRURURVhTVUJJTUFHRTNEUFJPQyBsX2dsQ29tcHJlc3NlZFRleFN1
YkltYWdlM0Q7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTlFVRVJJRVNQUk9DIGxfZ2xHZW5R
dWVyaWVzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVRVUVSSUVTUFJPQyBsX2dsRGVs
ZXRlUXVlcmllczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNRVUVSWVBST0MgbF9nbElzUXVl
cnk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOUVVFUllQUk9DIGxfZ2xCZWdpblF1ZXJ5
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkRRVUVSWVBST0MgbF9nbEVuZFF1ZXJ5OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWUlWUFJPQyBsX2dsR2V0UXVlcnlpdjsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSVZQUk9DIGxfZ2xHZXRRdWVyeU9iamVj
dHVpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5NQVBCVUZGRVJQUk9DIGxfZ2xVbm1hcEJ1
ZmZlcjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQlVGRkVSUE9JTlRFUlZQUk9DIGxfZ2xH
ZXRCdWZmZXJQb2ludGVydjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0JVRkZFUlNQUk9D
IGxfZ2xEcmF3QnVmZmVyczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDJY
M0ZWUFJPQyBsX2dsVW5pZm9ybU1hdHJpeDJ4M2Z2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xV
TklGT1JNTUFUUklYM1gyRlZQUk9DIGxfZ2xVbmlmb3JtTWF0cml4M3gyZnY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgyWDRGVlBST0MgbF9nbFVuaWZvcm1NYXRyaXgyeDRm
djsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDRYMkZWUFJPQyBsX2dsVW5p
Zm9ybU1hdHJpeDR4MmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYM1g0
RlZQUk9DIGxfZ2xVbmlmb3JtTWF0cml4M3g0ZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVO
SUZPUk1NQVRSSVg0WDNGVlBST0MgbF9nbFVuaWZvcm1NYXRyaXg0eDNmdjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMQkxJVEZSQU1FQlVGRkVSUFJPQyBsX2dsQmxpdEZyYW1lYnVmZmVyOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xSRU5ERVJCVUZGRVJTVE9SQUdFTVVMVElTQU1QTEVQUk9DIGxf
Z2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEZSQU1FQlVGRkVSVEVYVFVSRUxBWUVSUFJPQyBsX2dsRnJhbWVidWZmZXJUZXh0dXJlTGF5ZXI7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BUEJVRkZFUlJBTkdFUFJPQyBsX2dsTWFwQnVmZmVy
UmFuZ2U7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZMVVNITUFQUEVEQlVGRkVSUkFOR0VQUk9D
IGxfZ2xGbHVzaE1hcHBlZEJ1ZmZlclJhbmdlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5E
VkVSVEVYQVJSQVlQUk9DIGxfZ2xCaW5kVmVydGV4QXJyYXk7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERFTEVURVZFUlRFWEFSUkFZU1BST0MgbF9nbERlbGV0ZVZlcnRleEFycmF5czsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VOVkVSVEVYQVJSQVlTUFJPQyBsX2dsR2VuVmVydGV4QXJyYXlz
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFSUkFZUFJPQyBsX2dsSXNWZXJ0ZXhB
cnJheTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdFUklfVlBST0MgbF9nbEdldElu
dGVnZXJpX3Y7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOVFJBTlNGT1JNRkVFREJBQ0tQ
Uk9DIGxfZ2xCZWdpblRyYW5zZm9ybUZlZWRiYWNrOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xF
TkRUUkFOU0ZPUk1GRUVEQkFDS1BST0MgbF9nbEVuZFRyYW5zZm9ybUZlZWRiYWNrOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCSU5EQlVGRkVSUkFOR0VQUk9DIGxfZ2xCaW5kQnVmZmVyUmFuZ2U7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRCVUZGRVJCQVNFUFJPQyBsX2dsQmluZEJ1ZmZl
ckJhc2U7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRSQU5TRk9STUZFRURCQUNLVkFSWUlOR1NQ
Uk9DIGxfZ2xUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRUUkFOU0ZPUk1GRUVEQkFDS1ZBUllJTkdQUk9DIGxfZ2xHZXRUcmFuc2Zvcm1GZWVkYmFj
a1Zhcnlpbmc7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQklQT0lOVEVSUFJP
QyBsX2dsVmVydGV4QXR0cmliSVBvaW50ZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZF
UlRFWEFUVFJJQklJVlBST0MgbF9nbEdldFZlcnRleEF0dHJpYklpdjsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCSVVJVlBST0MgbF9nbEdldFZlcnRleEF0dHJpYkl1aXY7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkk0SVBST0MgbF9nbFZlcnRleEF0
dHJpYkk0aTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSTRVSVBST0MgbF9n
bFZlcnRleEF0dHJpYkk0dWk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkk0
SVZQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWJJNGl2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJU
RVhBVFRSSUJJNFVJVlBST0MgbF9nbFZlcnRleEF0dHJpYkk0dWl2OworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRVTklGT1JNVUlWUFJPQyBsX2dsR2V0VW5pZm9ybXVpdjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VURlJBR0RBVEFMT0NBVElPTlBST0MgbF9nbEdldEZyYWdEYXRhTG9jYXRp
b247CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xVUlQUk9DIGxfZ2xVbmlmb3JtMXVp
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMlVJUFJPQyBsX2dsVW5pZm9ybTJ1aTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTNVSVBST0MgbF9nbFVuaWZvcm0zdWk7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00VUlQUk9DIGxfZ2xVbmlmb3JtNHVpOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMVVJVlBST0MgbF9nbFVuaWZvcm0xdWl2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMlVJVlBST0MgbF9nbFVuaWZvcm0ydWl2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNM1VJVlBST0MgbF9nbFVuaWZvcm0zdWl2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNFVJVlBST0MgbF9nbFVuaWZvcm00dWl2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkJVRkZFUklWUFJPQyBsX2dsQ2xlYXJCdWZmZXJpdjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJVSVZQUk9DIGxfZ2xDbGVhckJ1ZmZl
cnVpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJGVlBST0MgbF9nbENsZWFy
QnVmZmVyZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSQlVGRkVSRklQUk9DIGxfZ2xD
bGVhckJ1ZmZlcmZpOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTVFJJTkdJUFJPQyBsX2ds
R2V0U3RyaW5naTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWUJVRkZFUlNVQkRBVEFQUk9D
IGxfZ2xDb3B5QnVmZmVyU3ViRGF0YTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9S
TUlORElDRVNQUk9DIGxfZ2xHZXRVbmlmb3JtSW5kaWNlczsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUQUNUSVZFVU5JRk9STVNJVlBST0MgbF9nbEdldEFjdGl2ZVVuaWZvcm1zaXY7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1CTE9DS0lOREVYUFJPQyBsX2dsR2V0VW5pZm9y
bUJsb2NrSW5kZXg7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEFDVElWRVVOSUZPUk1CTE9D
S0lWUFJPQyBsX2dsR2V0QWN0aXZlVW5pZm9ybUJsb2NraXY7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVEFDVElWRVVOSUZPUk1CTE9DS05BTUVQUk9DIGxfZ2xHZXRBY3RpdmVVbmlmb3JtQmxv
Y2tOYW1lOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNQkxPQ0tCSU5ESU5HUFJPQyBs
X2dsVW5pZm9ybUJsb2NrQmluZGluZzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0FSUkFZ
U0lOU1RBTkNFRFBST0MgbF9nbERyYXdBcnJheXNJbnN0YW5jZWQ7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFRFBST0MgbF9nbERyYXdFbGVtZW50c0luc3RhbmNl
ZDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRkVOQ0VTWU5DUFJPQyBsX2dsRmVuY2VTeW5jOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1NZTkNQUk9DIGxfZ2xJc1N5bmM7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTERFTEVURVNZTkNQUk9DIGxfZ2xEZWxldGVTeW5jOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xDTElFTlRXQUlUU1lOQ1BST0MgbF9nbENsaWVudFdhaXRTeW5jOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xXQUlUU1lOQ1BST0MgbF9nbFdhaXRTeW5jOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRJTlRFR0VSNjRWUFJPQyBsX2dsR2V0SW50ZWdlcjY0djsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUU1lOQ0lWUFJPQyBsX2dsR2V0U3luY2l2OworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRJTlRFR0VSNjRJX1ZQUk9DIGxfZ2xHZXRJbnRlZ2VyNjRpX3Y7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVEJVRkZFUlBBUkFNRVRFUkk2NFZQUk9DIGxfZ2xHZXRCdWZm
ZXJQYXJhbWV0ZXJpNjR2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5TQU1QTEVSU1BST0Mg
bF9nbEdlblNhbXBsZXJzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVTQU1QTEVSU1BS
T0MgbF9nbERlbGV0ZVNhbXBsZXJzOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1NBTVBMRVJQ
Uk9DIGxfZ2xJc1NhbXBsZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRTQU1QTEVSUFJP
QyBsX2dsQmluZFNhbXBsZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVU
RVJJUFJPQyBsX2dsU2FtcGxlclBhcmFtZXRlcmk7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNB
TVBMRVJQQVJBTUVURVJJVlBST0MgbF9nbFNhbXBsZXJQYXJhbWV0ZXJpdjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUkZQUk9DIGxfZ2xTYW1wbGVyUGFyYW1ldGVyZjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUkZWUFJPQyBsX2dsU2FtcGxl
clBhcmFtZXRlcmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVS
SVZQUk9DIGxfZ2xHZXRTYW1wbGVyUGFyYW1ldGVyaXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFNBTVBMRVJQQVJBTUVURVJGVlBST0MgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJmdjsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCRElWSVNPUlBST0MgbF9nbFZlcnRleEF0
dHJpYkRpdmlzb3I7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRUUkFOU0ZPUk1GRUVEQkFD
S1BST0MgbF9nbEJpbmRUcmFuc2Zvcm1GZWVkYmFjazsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
REVMRVRFVFJBTlNGT1JNRkVFREJBQ0tTUFJPQyBsX2dsRGVsZXRlVHJhbnNmb3JtRmVlZGJhY2tz
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5UUkFOU0ZPUk1GRUVEQkFDS1NQUk9DIGxfZ2xH
ZW5UcmFuc2Zvcm1GZWVkYmFja3M7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTVFJBTlNGT1JN
RkVFREJBQ0tQUk9DIGxfZ2xJc1RyYW5zZm9ybUZlZWRiYWNrOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xQQVVTRVRSQU5TRk9STUZFRURCQUNLUFJPQyBsX2dsUGF1c2VUcmFuc2Zvcm1GZWVkYmFj
azsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVTVU1FVFJBTlNGT1JNRkVFREJBQ0tQUk9DIGxf
Z2xSZXN1bWVUcmFuc2Zvcm1GZWVkYmFjazsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJP
R1JBTUJJTkFSWVBST0MgbF9nbEdldFByb2dyYW1CaW5hcnk7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFBST0dSQU1CSU5BUllQUk9DIGxfZ2xQcm9ncmFtQmluYXJ5OworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQUk9HUkFNUEFSQU1FVEVSSVBST0MgbF9nbFByb2dyYW1QYXJhbWV0ZXJpOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xJTlZBTElEQVRFRlJBTUVCVUZGRVJQUk9DIGxfZ2xJbnZhbGlk
YXRlRnJhbWVidWZmZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElOVkFMSURBVEVTVUJGUkFN
RUJVRkZFUlBST0MgbF9nbEludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcjsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYU1RPUkFHRTJEUFJPQyBsX2dsVGV4U3RvcmFnZTJEOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xURVhTVE9SQUdFM0RQUk9DIGxfZ2xUZXhTdG9yYWdlM0Q7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVElOVEVSTkFMRk9STUFUSVZQUk9DIGxfZ2xHZXRJbnRlcm5hbGZvcm1h
dGl2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xESVNQQVRDSENPTVBVVEVQUk9DIGxfZ2xEaXNw
YXRjaENvbXB1dGU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERJU1BBVENIQ09NUFVURUlORElS
RUNUUFJPQyBsX2dsRGlzcGF0Y2hDb21wdXRlSW5kaXJlY3Q7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERSQVdBUlJBWVNJTkRJUkVDVFBST0MgbF9nbERyYXdBcnJheXNJbmRpcmVjdDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTSU5ESVJFQ1RQUk9DIGxfZ2xEcmF3RWxlbWVu
dHNJbmRpcmVjdDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJQQVJBTUVURVJJ
UFJPQyBsX2dsRnJhbWVidWZmZXJQYXJhbWV0ZXJpOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRGUkFNRUJVRkZFUlBBUkFNRVRFUklWUFJPQyBsX2dsR2V0RnJhbWVidWZmZXJQYXJhbWV0ZXJp
djsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlOVEVSRkFDRUlWUFJPQyBsX2ds
R2V0UHJvZ3JhbUludGVyZmFjZWl2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFN
UkVTT1VSQ0VJTkRFWFBST0MgbF9nbEdldFByb2dyYW1SZXNvdXJjZUluZGV4OworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNUkVTT1VSQ0VOQU1FUFJPQyBsX2dsR2V0UHJvZ3JhbVJl
c291cmNlTmFtZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVJFU09VUkNFSVZQ
Uk9DIGxfZ2xHZXRQcm9ncmFtUmVzb3VyY2VpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
UFJPR1JBTVJFU09VUkNFTE9DQVRJT05QUk9DIGxfZ2xHZXRQcm9ncmFtUmVzb3VyY2VMb2NhdGlv
bjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVVNFUFJPR1JBTVNUQUdFU1BST0MgbF9nbFVzZVBy
b2dyYW1TdGFnZXM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEFDVElWRVNIQURFUlBST0dSQU1Q
Uk9DIGxfZ2xBY3RpdmVTaGFkZXJQcm9ncmFtOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDUkVB
VEVTSEFERVJQUk9HUkFNVlBST0MgbF9nbENyZWF0ZVNoYWRlclByb2dyYW12OworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xCSU5EUFJPR1JBTVBJUEVMSU5FUFJPQyBsX2dsQmluZFByb2dyYW1QaXBl
bGluZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFUFJPR1JBTVBJUEVMSU5FU1BST0Mg
bF9nbERlbGV0ZVByb2dyYW1QaXBlbGluZXM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTlBS
T0dSQU1QSVBFTElORVNQUk9DIGxfZ2xHZW5Qcm9ncmFtUGlwZWxpbmVzOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xJU1BST0dSQU1QSVBFTElORVBST0MgbF9nbElzUHJvZ3JhbVBpcGVsaW5lOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNUElQRUxJTkVJVlBST0MgbF9nbEdldFBy
b2dyYW1QaXBlbGluZWl2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTFJ
UFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0xaTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JB
TVVOSUZPUk0ySVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMmk7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFBST0dSQU1VTklGT1JNM0lQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTNpOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTRJUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm00aTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xVUlQUk9DIGxfZ2xQcm9ncmFt
VW5pZm9ybTF1aTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0yVUlQUk9D
IGxfZ2xQcm9ncmFtVW5pZm9ybTJ1aTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVO
SUZPUk0zVUlQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTN1aTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk00VUlQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTR1aTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xRlBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMWY7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMkZQUk9DIGxfZ2xQcm9ncmFt
VW5pZm9ybTJmOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNGUFJPQyBs
X2dsUHJvZ3JhbVVuaWZvcm0zZjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZP
Uk00RlBST0MgbF9nbFByb2dyYW1Vbmlmb3JtNGY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBS
T0dSQU1VTklGT1JNMUlWUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0xaXY7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMklWUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0yaXY7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNM0lWUFJPQyBsX2dsUHJvZ3JhbVVu
aWZvcm0zaXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNElWUFJPQyBs
X2dsUHJvZ3JhbVVuaWZvcm00aXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklG
T1JNMVVJVlBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMXVpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk0yVUlWUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0ydWl2OworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNVSVZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9y
bTN1aXY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNFVJVlBST0MgbF9n
bFByb2dyYW1Vbmlmb3JtNHVpdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZP
Uk0xRlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTFmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
UFJPR1JBTVVOSUZPUk0yRlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTJmdjsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0zRlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTNmdjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk00RlZQUk9DIGxfZ2xQcm9ncmFt
VW5pZm9ybTRmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVgy
RlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDJmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk1NQVRSSVgzRlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDNm
djsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVg0RlZQUk9DIGxf
Z2xQcm9ncmFtVW5pZm9ybU1hdHJpeDRmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JB
TVVOSUZPUk1NQVRSSVgyWDNGVlBST0MgbF9nbFByb2dyYW1Vbmlmb3JtTWF0cml4MngzZnY7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNTUFUUklYM1gyRlZQUk9DIGxfZ2xQ
cm9ncmFtVW5pZm9ybU1hdHJpeDN4MmZ2OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFN
VU5JRk9STU1BVFJJWDJYNEZWUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm1NYXRyaXgyeDRmdjsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVg0WDJGVlBST0MgbF9nbFBy
b2dyYW1Vbmlmb3JtTWF0cml4NHgyZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1V
TklGT1JNTUFUUklYM1g0RlZQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDN4NGZ2OworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STU1BVFJJWDRYM0ZWUFJPQyBsX2dsUHJv
Z3JhbVVuaWZvcm1NYXRyaXg0eDNmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkFMSURBVEVQ
Uk9HUkFNUElQRUxJTkVQUk9DIGxfZ2xWYWxpZGF0ZVByb2dyYW1QaXBlbGluZTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVBJUEVMSU5FSU5GT0xPR1BST0MgbF9nbEdldFByb2dy
YW1QaXBlbGluZUluZm9Mb2c7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRJTUFHRVRFWFRV
UkVQUk9DIGxfZ2xCaW5kSW1hZ2VUZXh0dXJlOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRC
T09MRUFOSV9WUFJPQyBsX2dsR2V0Qm9vbGVhbmlfdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TUVNT1JZQkFSUklFUlBST0MgbF9nbE1lbW9yeUJhcnJpZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTE1FTU9SWUJBUlJJRVJCWVJFR0lPTlBST0MgbF9nbE1lbW9yeUJhcnJpZXJCeVJlZ2lvbjsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTJETVVMVElTQU1QTEVQUk9DIGxfZ2xU
ZXhTdG9yYWdlMkRNdWx0aXNhbXBsZTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTVVMVElT
QU1QTEVGVlBST0MgbF9nbEdldE11bHRpc2FtcGxlZnY7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFNBTVBMRU1BU0tJUFJPQyBsX2dsU2FtcGxlTWFza2k7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFRFWExFVkVMUEFSQU1FVEVSSVZQUk9DIGxfZ2xHZXRUZXhMZXZlbFBhcmFtZXRlcml2Owor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhMRVZFTFBBUkFNRVRFUkZWUFJPQyBsX2dsR2V0
VGV4TGV2ZWxQYXJhbWV0ZXJmdjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFZFUlRFWEJV
RkZFUlBST0MgbF9nbEJpbmRWZXJ0ZXhCdWZmZXI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZF
UlRFWEFUVFJJQkZPUk1BVFBST0MgbF9nbFZlcnRleEF0dHJpYkZvcm1hdDsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSUZPUk1BVFBST0MgbF9nbFZlcnRleEF0dHJpYklGb3Jt
YXQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkJJTkRJTkdQUk9DIGxfZ2xW
ZXJ0ZXhBdHRyaWJCaW5kaW5nOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhCSU5ESU5H
RElWSVNPUlBST0MgbF9nbFZlcnRleEJpbmRpbmdEaXZpc29yOwogQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VEQkFTRUlOU1RBTkNFQU5HTEVQUk9DCi0gICAgZ2xEcmF3
QXJyYXlzSW5zdGFuY2VkQmFzZUluc3RhbmNlQU5HTEU7CisgICAgbF9nbERyYXdBcnJheXNJbnN0
YW5jZWRCYXNlSW5zdGFuY2VBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1F
TlRTSU5TVEFOQ0VEQkFTRVZFUlRFWEJBU0VJTlNUQU5DRUFOR0xFUFJPQwotICAgIGdsRHJhd0Vs
ZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZUFOR0xFOworICAgIGxfZ2xEcmF3
RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlQU5HTEU7CiBBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTE1VTFRJRFJBV0FSUkFZU0lOU1RBTkNFREJBU0VJTlNUQU5DRUFOR0xFUFJP
QwotICAgIGdsTXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkQmFzZUluc3RhbmNlQU5HTEU7CisgICAg
bF9nbE11bHRpRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZUFOR0xFOwogQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xNVUxUSURSQVdFTEVNRU5UU0lOU1RBTkNFREJBU0VWRVJURVhCQVNFSU5T
VEFOQ0VBTkdMRVBST0MKLSAgICBnbE11bHRpRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRl
eEJhc2VJbnN0YW5jZUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1BZU1VCVEVYVFVS
RTNEQU5HTEVQUk9DIGdsQ29weVN1YlRleHR1cmUzREFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xDT1BZVEVYVFVSRTNEQU5HTEVQUk9DIGdsQ29weVRleHR1cmUzREFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCTElURlJBTUVCVUZGRVJBTkdMRVBST0MgZ2xCbGl0RnJhbWVidWZm
ZXJBTkdMRTsKKyAgICBsX2dsTXVsdGlEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFz
ZUluc3RhbmNlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlTVUJURVhUVVJFM0RB
TkdMRVBST0MgbF9nbENvcHlTdWJUZXh0dXJlM0RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMQ09QWVRFWFRVUkUzREFOR0xFUFJPQyBsX2dsQ29weVRleHR1cmUzREFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCTElURlJBTUVCVUZGRVJBTkdMRVBST0MgbF9nbEJsaXRGcmFtZWJ1
ZmZlckFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRU5ERVJCVUZGRVJTVE9SQUdFTVVM
VElTQU1QTEVBTkdMRVBST0MKLSAgICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRSRU5ERVJCVUZGRVJJTUFHRUFOR0xFUFJP
QyBnbEdldFJlbmRlcmJ1ZmZlckltYWdlQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFRFWElNQUdFQU5HTEVQUk9DIGdsR2V0VGV4SW1hZ2VBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMRFJBV0FSUkFZU0lOU1RBTkNFREFOR0xFUFJPQyBnbERyYXdBcnJheXNJbnN0YW5jZWRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTSU5TVEFOQ0VEQU5HTEVQ
Uk9DIGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFZFUlRFWEFUVFJJQkRJVklTT1JBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElNUE9SVE1FTU9SWVpJUkNPTkhBTkRMRUFOR0xFUFJP
QyBnbEltcG9ydE1lbW9yeVppcmNvbkhhbmRsZUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xNVUxUSURSQVdBUlJBWVNBTkdMRVBST0MgZ2xNdWx0aURyYXdBcnJheXNBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMTVVMVElEUkFXQVJSQVlTSU5TVEFOQ0VEQU5HTEVQUk9DIGdsTXVs
dGlEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRJ
RFJBV0VMRU1FTlRTQU5HTEVQUk9DIGdsTXVsdGlEcmF3RWxlbWVudHNBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMTVVMVElEUkFXRUxFTUVOVFNJTlNUQU5DRURBTkdMRVBST0MgZ2xNdWx0
aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9W
T0tJTkdWRVJURVhBTkdMRVBST0MgZ2xQcm92b2tpbmdWZXJ0ZXhBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRElTQUJMRUVYVEVOU0lPTkFOR0xFUFJPQyBnbERpc2FibGVFeHRlbnNpb25B
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVRVUVTVEVYVEVOU0lPTkFOR0xFUFJPQyBn
bFJlcXVlc3RFeHRlbnNpb25BTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09NUFJFU1NF
RFRFWElNQUdFMkRST0JVU1RBTkdMRVBST0MgZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRFJvYnVzdEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UzRFJPQlVTVEFO
R0xFUFJPQyBnbENvbXByZXNzZWRUZXhJbWFnZTNEUm9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTENPTVBSRVNTRURURVhTVUJJTUFHRTJEUk9CVVNUQU5HTEVQUk9DIGdsQ29tcHJl
c3NlZFRleFN1YkltYWdlMkRSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09N
UFJFU1NFRFRFWFNVQklNQUdFM0RST0JVU1RBTkdMRVBST0MgZ2xDb21wcmVzc2VkVGV4U3ViSW1h
Z2UzRFJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JN
QkxPQ0tJVlJPQlVTVEFOR0xFUFJPQyBnbEdldEFjdGl2ZVVuaWZvcm1CbG9ja2l2Um9idXN0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJPT0xFQU5JX1ZST0JVU1RBTkdMRVBST0Mg
Z2xHZXRCb29sZWFuaV92Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJP
T0xFQU5WUk9CVVNUQU5HTEVQUk9DIGdsR2V0Qm9vbGVhbnZSb2J1c3RBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUQlVGRkVSUEFSQU1FVEVSSTY0VlJPQlVTVEFOR0xFUFJPQyBnbEdl
dEJ1ZmZlclBhcmFtZXRlcmk2NHZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUQlVGRkVSUEFSQU1FVEVSSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRCdWZmZXJQYXJhbWV0ZXJp
dlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQT0lOVEVSVlJP
QlVTVEFOR0xFUFJPQyBnbEdldEJ1ZmZlclBvaW50ZXJ2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVEZMT0FUVlJPQlVTVEFOR0xFUFJPQyBnbEdldEZsb2F0dlJvYnVzdEFO
R0xFOworICAgIGxfZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUkVOREVSQlVGRkVSSU1BR0VBTkdMRVBST0MgbF9nbEdldFJl
bmRlcmJ1ZmZlckltYWdlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWElNQUdF
QU5HTEVQUk9DIGxfZ2xHZXRUZXhJbWFnZUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
UkFXQVJSQVlTSU5TVEFOQ0VEQU5HTEVQUk9DIGxfZ2xEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREFOR0xFUFJPQyBs
X2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZF
UlRFWEFUVFJJQkRJVklTT1JBTkdMRVBST0MgbF9nbFZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU1QT1JUTUVNT1JZWklSQ09OSEFORExFQU5HTEVQUk9D
IGxfZ2xJbXBvcnRNZW1vcnlaaXJjb25IYW5kbGVBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMTVVMVElEUkFXQVJSQVlTQU5HTEVQUk9DIGxfZ2xNdWx0aURyYXdBcnJheXNBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElEUkFXQVJSQVlTSU5TVEFOQ0VEQU5HTEVQUk9DIGxf
Z2xNdWx0aURyYXdBcnJheXNJbnN0YW5jZWRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TVVMVElEUkFXRUxFTUVOVFNBTkdMRVBST0MgbF9nbE11bHRpRHJhd0VsZW1lbnRzQU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRJRFJBV0VMRU1FTlRTSU5TVEFOQ0VEQU5HTEVQUk9D
IGxfZ2xNdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xQUk9WT0tJTkdWRVJURVhBTkdMRVBST0MgbF9nbFByb3Zva2luZ1ZlcnRleEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xESVNBQkxFRVhURU5TSU9OQU5HTEVQUk9DIGxfZ2xEaXNh
YmxlRXh0ZW5zaW9uQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFUVVFU1RFWFRFTlNJ
T05BTkdMRVBST0MgbF9nbFJlcXVlc3RFeHRlbnNpb25BTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMQ09NUFJFU1NFRFRFWElNQUdFMkRST0JVU1RBTkdMRVBST0MgbF9nbENvbXByZXNzZWRU
ZXhJbWFnZTJEUm9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNTRURU
RVhJTUFHRTNEUk9CVVNUQU5HTEVQUk9DIGxfZ2xDb21wcmVzc2VkVGV4SW1hZ2UzRFJvYnVzdEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UyRFJPQlVT
VEFOR0xFUFJPQworICAgIGxfZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UyRFJvYnVzdEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UzRFJPQlVTVEFOR0xF
UFJPQworICAgIGxfZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRFJvYnVzdEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JNQkxPQ0tJVlJPQlVTVEFOR0xFUFJPQwor
ICAgIGxfZ2xHZXRBY3RpdmVVbmlmb3JtQmxvY2tpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRCT09MRUFOSV9WUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRCb29sZWFuaV92
Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJPT0xFQU5WUk9CVVNUQU5H
TEVQUk9DIGxfZ2xHZXRCb29sZWFudlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRCVUZGRVJQQVJBTUVURVJJNjRWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRCdWZmZXJQYXJh
bWV0ZXJpNjR2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJVRkZFUlBB
UkFNRVRFUklWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQT0lOVEVSVlJPQlVTVEFOR0xF
UFJPQyBsX2dsR2V0QnVmZmVyUG9pbnRlcnZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VURkxPQVRWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRGbG9hdHZSb2J1c3RBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VURlJBTUVCVUZGRVJBVFRBQ0hNRU5UUEFSQU1FVEVS
SVZST0JVU1RBTkdMRVBST0MKLSAgICBnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRl
cml2Um9idXN0QU5HTEU7CisgICAgbF9nbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRl
cml2Um9idXN0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZSQU1FQlVGRkVSUEFS
QU1FVEVSSVZST0JVU1RBTkdMRVBST0MKLSAgICBnbEdldEZyYW1lYnVmZmVyUGFyYW1ldGVyaXZS
b2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdFUjY0SV9WUk9CVVNU
QU5HTEVQUk9DIGdsR2V0SW50ZWdlcjY0aV92Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVElOVEVHRVI2NFZST0JVU1RBTkdMRVBST0MgZ2xHZXRJbnRlZ2VyNjR2Um9idXN0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVJJX1ZST0JVU1RBTkdMRVBS
T0MgZ2xHZXRJbnRlZ2VyaV92Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VElOVEVHRVJWUk9CVVNUQU5HTEVQUk9DIGdsR2V0SW50ZWdlcnZSb2J1c3RBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URVJOQUxGT1JNQVRJVlJPQlVTVEFOR0xFUFJPQyBnbEdl
dEludGVybmFsZm9ybWF0aXZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
TVVMVElTQU1QTEVGVlJPQlVTVEFOR0xFUFJPQyBnbEdldE11bHRpc2FtcGxlZnZSb2J1c3RBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUE9JTlRFUlZST0JVU1RBTkdMRVJPQlVTVEFO
R0xFUFJPQyBnbEdldFBvaW50ZXJ2Um9idXN0QU5HTEVSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlOVEVSRkFDRUlWUk9CVVNUQU5HTEVQUk9DIGdsR2V0UHJv
Z3JhbUludGVyZmFjZWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBS
T0dSQU1JVlJPQlVTVEFOR0xFUFJPQyBnbEdldFByb2dyYW1pdlJvYnVzdEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9CSkVDVEk2NFZST0JVU1RBTkdMRVBST0MgZ2xHZXRR
dWVyeU9iamVjdGk2NHZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVF
UllPQkpFQ1RJVlJPQlVTVEFOR0xFUFJPQyBnbEdldFF1ZXJ5T2JqZWN0aXZSb2J1c3RBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSTY0VlJPQlVTVEFOR0xFUFJP
QyBnbEdldFF1ZXJ5T2JqZWN0dWk2NHZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUUVVFUllPQkpFQ1RVSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRRdWVyeU9iamVjdHVpdlJv
YnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWUlWUk9CVVNUQU5HTEVQ
Uk9DIGdsR2V0UXVlcnlpdlJvYnVzdEFOR0xFOworICAgIGxfZ2xHZXRGcmFtZWJ1ZmZlclBhcmFt
ZXRlcml2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NElf
VlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0SW50ZWdlcjY0aV92Um9idXN0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NFZST0JVU1RBTkdMRVBST0MgbF9nbEdldEludGVn
ZXI2NHZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdFUklfVlJP
QlVTVEFOR0xFUFJPQyBsX2dsR2V0SW50ZWdlcmlfdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRJTlRFR0VSVlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0SW50ZWdlcnZSb2J1
c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URVJOQUxGT1JNQVRJVlJPQlVT
VEFOR0xFUFJPQyBsX2dsR2V0SW50ZXJuYWxmb3JtYXRpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRNVUxUSVNBTVBMRUZWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRNdWx0
aXNhbXBsZWZ2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBPSU5URVJW
Uk9CVVNUQU5HTEVST0JVU1RBTkdMRVBST0MgbF9nbEdldFBvaW50ZXJ2Um9idXN0QU5HTEVSb2J1
c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlOVEVSRkFDRUlWUk9C
VVNUQU5HTEVQUk9DIGxfZ2xHZXRQcm9ncmFtSW50ZXJmYWNlaXZSb2J1c3RBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRQcm9n
cmFtaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RJ
NjRWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRRdWVyeU9iamVjdGk2NHZSb2J1c3RBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RJVlJPQlVTVEFOR0xFUFJPQyBsX2ds
R2V0UXVlcnlPYmplY3RpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRR
VUVSWU9CSkVDVFVJNjRWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRRdWVyeU9iamVjdHVpNjR2Um9i
dXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUVUlWUk9CVVNU
QU5HTEVQUk9DIGxfZ2xHZXRRdWVyeU9iamVjdHVpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRRVUVSWUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRRdWVyeWl2Um9idXN0
QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFJFTkRFUkJVRkZFUlBBUkFNRVRFUklW
Uk9CVVNUQU5HTEVQUk9DCi0gICAgZ2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSSUlWUk9CVVNU
QU5HTEVQUk9DIGdsR2V0U2FtcGxlclBhcmFtZXRlcklpdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSSVVJVlJPQlVTVEFOR0xFUFJPQyBnbEdl
dFNhbXBsZXJQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFNBTVBMRVJQQVJBTUVURVJGVlJPQlVTVEFOR0xFUFJPQyBnbEdldFNhbXBsZXJQYXJhbWV0
ZXJmdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1F
VEVSSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRTYW1wbGVyUGFyYW1ldGVyaXZSb2J1c3RBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0hBREVSSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRT
aGFkZXJpdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhMRVZFTFBB
UkFNRVRFUkZWUk9CVVNUQU5HTEVQUk9DIGdsR2V0VGV4TGV2ZWxQYXJhbWV0ZXJmdlJvYnVzdEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhMRVZFTFBBUkFNRVRFUklWUk9CVVNU
QU5HTEVQUk9DIGdsR2V0VGV4TGV2ZWxQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRUZXhQ
YXJhbWV0ZXJJaXZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFS
QU1FVEVSSVVJVlJPQlVTVEFOR0xFUFJPQyBnbEdldFRleFBhcmFtZXRlckl1aXZSb2J1c3RBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSRlZST0JVU1RBTkdMRVBS
T0MgZ2xHZXRUZXhQYXJhbWV0ZXJmdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRURVhQQVJBTUVURVJJVlJPQlVTVEFOR0xFUFJPQyBnbEdldFRleFBhcmFtZXRlcml2Um9i
dXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1GVlJPQlVTVEFOR0xF
UFJPQyBnbEdldFVuaWZvcm1mdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRVTklGT1JNSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRVbmlmb3JtaXZSb2J1c3RBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9STVVJVlJPQlVTVEFOR0xFUFJPQyBnbEdldFVu
aWZvcm11aXZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRU
UklCSUlWUk9CVVNUQU5HTEVQUk9DIGdsR2V0VmVydGV4QXR0cmliSWl2Um9idXN0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJQklVSVZST0JVU1RBTkdMRVBST0Mg
Z2xHZXRWZXJ0ZXhBdHRyaWJJdWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFZFUlRFWEFUVFJJQlBPSU5URVJWUk9CVVNUQU5HTEVQUk9DIGdsR2V0VmVydGV4QXR0cmli
UG9pbnRlcnZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRU
UklCRlZST0JVU1RBTkdMRVBST0MgZ2xHZXRWZXJ0ZXhBdHRyaWJmdlJvYnVzdEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJJVlJPQlVTVEFOR0xFUFJPQyBnbEdl
dFZlcnRleEF0dHJpYml2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5V
TklGT1JNRlZST0JVU1RBTkdMRVBST0MgZ2xHZXRuVW5pZm9ybWZ2Um9idXN0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JNSVZST0JVU1RBTkdMRVBST0MgZ2xHZXRuVW5p
Zm9ybWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JNVUlW
Uk9CVVNUQU5HTEVQUk9DIGdsR2V0blVuaWZvcm11aXZSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUkVBRFBJWEVMU1JPQlVTVEFOR0xFUFJPQyBnbFJlYWRQaXhlbHNSb2J1c3RB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVBRE5QSVhFTFNST0JVU1RBTkdMRVBST0Mg
Z2xSZWFkblBpeGVsc1JvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVS
UEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVQUk9DIGdsU2FtcGxlclBhcmFtZXRlcklpdlJvYnVzdEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSVVJVlJPQlVTVEFO
R0xFUFJPQyBnbFNhbXBsZXJQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVURVJGVlJPQlVTVEFOR0xFUFJPQyBnbFNhbXBsZXJQYXJh
bWV0ZXJmdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1F
VEVSSVZST0JVU1RBTkdMRVBST0MgZ2xTYW1wbGVyUGFyYW1ldGVyaXZSb2J1c3RBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYSU1BR0UyRFJPQlVTVEFOR0xFUFJPQyBnbFRleEltYWdl
MkRSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYSU1BR0UzRFJPQlVTVEFO
R0xFUFJPQyBnbFRleEltYWdlM0RSb2J1c3RBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VEVYUEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVQUk9DIGdsVGV4UGFyYW1ldGVySWl2Um9idXN0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUklVSVZST0JVU1RBTkdMRVBS
T0MgZ2xUZXhQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFRFWFBBUkFNRVRFUkZWUk9CVVNUQU5HTEVQUk9DIGdsVGV4UGFyYW1ldGVyZnZSb2J1c3RBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSSVZST0JVU1RBTkdMRVBST0Mg
Z2xUZXhQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhT
VUJJTUFHRTJEUk9CVVNUQU5HTEVQUk9DIGdsVGV4U3ViSW1hZ2UyRFJvYnVzdEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVUJJTUFHRTNEUk9CVVNUQU5HTEVQUk9DIGdsVGV4U3Vi
SW1hZ2UzRFJvYnVzdEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJTVBPUlRTRU1BUEhP
UkVaSVJDT05IQU5ETEVBTkdMRVBST0MgZ2xJbXBvcnRTZW1hcGhvcmVaaXJjb25IYW5kbGVBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU5WQUxJREFURVRFWFRVUkVBTkdMRVBST0MgZ2xJ
bnZhbGlkYXRlVGV4dHVyZUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTJE
RVhURVJOQUxBTkdMRVBST0MgZ2xUZXhJbWFnZTJERXh0ZXJuYWxBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUTVVMVElTQU1QTEVGVkFOR0xFUFJPQyBnbEdldE11bHRpc2FtcGxlZnZB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYTEVWRUxQQVJBTUVURVJGVkFOR0xF
UFJPQyBnbEdldFRleExldmVsUGFyYW1ldGVyZnZBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVEVYTEVWRUxQQVJBTUVURVJJVkFOR0xFUFJPQyBnbEdldFRleExldmVsUGFyYW1ldGVy
aXZBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFTUFTS0lBTkdMRVBST0MgZ2xT
YW1wbGVNYXNraUFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdFMkRNVUxU
SVNBTVBMRUFOR0xFUFJPQyBnbFRleFN0b3JhZ2UyRE11bHRpc2FtcGxlQU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFRSQU5TTEFURURTSEFERVJTT1VSQ0VBTkdMRVBST0MgZ2xHZXRU
cmFuc2xhdGVkU2hhZGVyU291cmNlQU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRV
TklGT1JNTE9DQVRJT05DSFJPTUlVTVBST0MgZ2xCaW5kVW5pZm9ybUxvY2F0aW9uQ0hST01JVU07
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNTRURDT1BZVEVYVFVSRUNIUk9NSVVNUFJP
QyBnbENvbXByZXNzZWRDb3B5VGV4dHVyZUNIUk9NSVVNOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDT1BZU1VCVEVYVFVSRUNIUk9NSVVNUFJPQyBnbENvcHlTdWJUZXh0dXJlQ0hST01JVU07Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhUVVJFQ0hST01JVU1QUk9DIGdsQ29weVRleHR1
cmVDSFJPTUlVTTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09WRVJBR0VNT0RVTEFUSU9OQ0hS
T01JVU1QUk9DIGdsQ292ZXJhZ2VNb2R1bGF0aW9uQ0hST01JVU07Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTExPU0VDT05URVhUQ0hST01JVU1QUk9DIGdsTG9zZUNvbnRleHRDSFJPTUlVTTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREZSQUdEQVRBTE9DQVRJT05FWFRQUk9DIGdsQmluZEZy
YWdEYXRhTG9jYXRpb25FWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRGUkFHREFUQUxP
Q0FUSU9OSU5ERVhFREVYVFBST0MgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkluZGV4ZWRFWFQ7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZSQUdEQVRBSU5ERVhFWFRQUk9DIGdsR2V0RnJhZ0Rh
dGFJbmRleEVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVJFU09VUkNFTE9D
QVRJT05JTkRFWEVYVFBST0MgZ2xHZXRQcm9ncmFtUmVzb3VyY2VMb2NhdGlvbkluZGV4RVhUOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJTlNFUlRFVkVOVE1BUktFUkVYVFBST0MgZ2xJbnNlcnRF
dmVudE1hcmtlckVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9QR1JPVVBNQVJLRVJFWFRQ
Uk9DIGdsUG9wR3JvdXBNYXJrZXJFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBVU0hHUk9V
UE1BUktFUkVYVFBST0MgZ2xQdXNoR3JvdXBNYXJrZXJFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERJU0NBUkRGUkFNRUJVRkZFUkVYVFBST0MgZ2xEaXNjYXJkRnJhbWVidWZmZXJFWFQ7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOUVVFUllFWFRQUk9DIGdsQmVnaW5RdWVyeUVYVDsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFUVVFUklFU0VYVFBST0MgZ2xEZWxldGVRdWVy
aWVzRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkRRVUVSWUVYVFBST0MgZ2xFbmRRdWVy
eUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOUVVFUklFU0VYVFBST0MgZ2xHZW5RdWVy
aWVzRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFR0VSNjRWRVhUUFJPQyBnbEdl
dEludGVnZXI2NHZFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUSTY0
VkVYVFBST0MgZ2xHZXRRdWVyeU9iamVjdGk2NHZFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFFVRVJZT0JKRUNUSVZFWFRQUk9DIGdsR2V0UXVlcnlPYmplY3RpdkVYVDsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSTY0VkVYVFBST0MgZ2xHZXRRdWVyeU9iamVj
dHVpNjR2RVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9CSkVDVFVJVkVYVFBS
T0MgZ2xHZXRRdWVyeU9iamVjdHVpdkVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVF
UllJVkVYVFBST0MgZ2xHZXRRdWVyeWl2RVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1FV
RVJZRVhUUFJPQyBnbElzUXVlcnlFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFFVRVJZQ09V
TlRFUkVYVFBST0MgZ2xRdWVyeUNvdW50ZXJFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERS
QVdCVUZGRVJTRVhUUFJPQyBnbERyYXdCdWZmZXJzRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xCTEVOREVRVUFUSU9OU0VQQVJBVEVJRVhUUFJPQyBnbEJsZW5kRXF1YXRpb25TZXBhcmF0ZWlF
WFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERVFVQVRJT05JRVhUUFJPQyBnbEJsZW5k
RXF1YXRpb25pRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREZVTkNTRVBBUkFURUlF
WFRQUk9DIGdsQmxlbmRGdW5jU2VwYXJhdGVpRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xC
TEVOREZVTkNJRVhUUFJPQyBnbEJsZW5kRnVuY2lFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TENPTE9STUFTS0lFWFRQUk9DIGdsQ29sb3JNYXNraUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRElTQUJMRUlFWFRQUk9DIGdsRGlzYWJsZWlFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEVOQUJMRUlFWFRQUk9DIGdsRW5hYmxlaUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNF
TkFCTEVESUVYVFBST0MgZ2xJc0VuYWJsZWRpRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
UkFXRUxFTUVOVFNCQVNFVkVSVEVYRVhUUFJPQyBnbERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFQ7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREJBU0VWRVJURVhF
WFRQUk9DIGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEVYVDsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRFJBV1JBTkdFRUxFTUVOVFNCQVNFVkVSVEVYRVhUUFJPQyBnbERyYXdSYW5n
ZUVsZW1lbnRzQmFzZVZlcnRleEVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElEUkFX
RUxFTUVOVFNCQVNFVkVSVEVYRVhUUFJPQyBnbE11bHRpRHJhd0VsZW1lbnRzQmFzZVZlcnRleEVY
VDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFRVhUUFJPQyBnbEZy
YW1lYnVmZmVyVGV4dHVyZUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0FSUkFZU0lO
U1RBTkNFREVYVFBST0MgZ2xEcmF3QXJyYXlzSW5zdGFuY2VkRVhUOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xEUkFXRUxFTUVOVFNJTlNUQU5DRURFWFRQUk9DIGdsRHJhd0VsZW1lbnRzSW5zdGFu
Y2VkRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJESVZJU09SRVhUUFJP
QyBnbFZlcnRleEF0dHJpYkRpdmlzb3JFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZMVVNI
TUFQUEVEQlVGRkVSUkFOR0VFWFRQUk9DIGdsRmx1c2hNYXBwZWRCdWZmZXJSYW5nZUVYVDsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFQQlVGRkVSUkFOR0VFWFRQUk9DIGdsTWFwQnVmZmVyUmFu
Z2VFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJVRkZFUlNUT1JBR0VNRU1FWFRQUk9DIGds
QnVmZmVyU3RvcmFnZU1lbUVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1JFQVRFTUVNT1JZ
T0JKRUNUU0VYVFBST0MgZ2xDcmVhdGVNZW1vcnlPYmplY3RzRVhUOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xERUxFVEVNRU1PUllPQkpFQ1RTRVhUUFJPQyBnbERlbGV0ZU1lbW9yeU9iamVjdHNF
WFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE1FTU9SWU9CSkVDVFBBUkFNRVRFUklWRVhU
UFJPQyBnbEdldE1lbW9yeU9iamVjdFBhcmFtZXRlcml2RVhUOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRVTlNJR05FREJZVEVJX1ZFWFRQUk9DIGdsR2V0VW5zaWduZWRCeXRlaV92RVhUOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTlNJR05FREJZVEVWRVhUUFJPQyBnbEdldFVuc2ln
bmVkQnl0ZXZFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTTUVNT1JZT0JKRUNURVhUUFJP
QyBnbElzTWVtb3J5T2JqZWN0RVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNRU1PUllPQkpF
Q1RQQVJBTUVURVJJVkVYVFBST0MgZ2xNZW1vcnlPYmplY3RQYXJhbWV0ZXJpdkVYVDsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRU1FTTJERVhUUFJPQyBnbFRleFN0b3JhZ2VNZW0y
REVYVDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRU1FTTJETVVMVElTQU1QTEVF
WFRQUk9DIGdsVGV4U3RvcmFnZU1lbTJETXVsdGlzYW1wbGVFWFQ7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFRFWFNUT1JBR0VNRU0zREVYVFBST0MgZ2xUZXhTdG9yYWdlTWVtM0RFWFQ7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0VNRU0zRE1VTFRJU0FNUExFRVhUUFJPQyBnbFRl
eFN0b3JhZ2VNZW0zRE11bHRpc2FtcGxlRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJTVBP
UlRNRU1PUllGREVYVFBST0MgZ2xJbXBvcnRNZW1vcnlGZEVYVDsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFMkRNVUxUSVNBTVBMRUVYVFBST0MgZ2xGcmFtZWJ1ZmZl
clRleHR1cmUyRE11bHRpc2FtcGxlRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRU5ERVJC
VUZGRVJTVE9SQUdFTVVMVElTQU1QTEVFWFRQUk9DIGdsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRp
c2FtcGxlRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRHUkFQSElDU1JFU0VUU1RBVFVT
RVhUUFJPQyBnbEdldEdyYXBoaWNzUmVzZXRTdGF0dXNFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVE5VTklGT1JNRlZFWFRQUk9DIGdsR2V0blVuaWZvcm1mdkVYVDsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUTlVOSUZPUk1JVkVYVFBST0MgZ2xHZXRuVW5pZm9ybWl2RVhUOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xSRUFETlBJWEVMU0VYVFBST0MgZ2xSZWFkblBpeGVsc0VYVDsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFU0VNQVBIT1JFU0VYVFBST0MgZ2xEZWxldGVT
ZW1hcGhvcmVzRVhUOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5TRU1BUEhPUkVTRVhUUFJP
QyBnbEdlblNlbWFwaG9yZXNFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNFTUFQSE9S
RVBBUkFNRVRFUlVJNjRWRVhUUFJPQyBnbEdldFNlbWFwaG9yZVBhcmFtZXRlcnVpNjR2RVhUOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1NFTUFQSE9SRUVYVFBST0MgZ2xJc1NlbWFwaG9yZUVY
VDsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0VNQVBIT1JFUEFSQU1FVEVSVUk2NFZFWFRQUk9D
IGdsU2VtYXBob3JlUGFyYW1ldGVydWk2NHZFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNJ
R05BTFNFTUFQSE9SRUVYVFBST0MgZ2xTaWduYWxTZW1hcGhvcmVFWFQ7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFdBSVRTRU1BUEhPUkVFWFRQUk9DIGdsV2FpdFNlbWFwaG9yZUVYVDsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMSU1QT1JUU0VNQVBIT1JFRkRFWFRQUk9DIGdsSW1wb3J0U2VtYXBo
b3JlRmRFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UxREVYVFBST0MgZ2xU
ZXhTdG9yYWdlMURFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UyREVYVFBS
T0MgZ2xUZXhTdG9yYWdlMkRFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0Uz
REVYVFBST0MgZ2xUZXhTdG9yYWdlM0RFWFQ7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFQlVH
TUVTU0FHRUNBTExCQUNLS0hSUFJPQyBnbERlYnVnTWVzc2FnZUNhbGxiYWNrS0hSOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xERUJVR01FU1NBR0VDT05UUk9MS0hSUFJPQyBnbERlYnVnTWVzc2Fn
ZUNvbnRyb2xLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFQlVHTUVTU0FHRUlOU0VSVEtI
UlBST0MgZ2xEZWJ1Z01lc3NhZ2VJbnNlcnRLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VERFQlVHTUVTU0FHRUxPR0tIUlBST0MgZ2xHZXREZWJ1Z01lc3NhZ2VMb2dLSFI7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVE9CSkVDVExBQkVMS0hSUFJPQyBnbEdldE9iamVjdExhYmVsS0hS
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRPQkpFQ1RQVFJMQUJFTEtIUlBST0MgZ2xHZXRP
YmplY3RQdHJMYWJlbEtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUE9JTlRFUlZLSFJQ
Uk9DIGdsR2V0UG9pbnRlcnZLSFI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE9CSkVDVExBQkVM
S0hSUFJPQyBnbE9iamVjdExhYmVsS0hSOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xPQkpFQ1RQ
VFJMQUJFTEtIUlBST0MgZ2xPYmplY3RQdHJMYWJlbEtIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUE9QREVCVUdHUk9VUEtIUlBST0MgZ2xQb3BEZWJ1Z0dyb3VwS0hSOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xQVVNIREVCVUdHUk9VUEtIUlBST0MgZ2xQdXNoRGVidWdHcm91cEtIUjsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFYU0hBREVSQ09NUElMRVJUSFJFQURTS0hSUFJPQyBnbE1h
eFNoYWRlckNvbXBpbGVyVGhyZWFkc0tIUjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRF
RkVOQ0VTTlZQUk9DIGdsRGVsZXRlRmVuY2VzTlY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZJ
TklTSEZFTkNFTlZQUk9DIGdsRmluaXNoRmVuY2VOVjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VORkVOQ0VTTlZQUk9DIGdsR2VuRmVuY2VzTlY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VEZFTkNFSVZOVlBST0MgZ2xHZXRGZW5jZWl2TlY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElT
RkVOQ0VOVlBST0MgZ2xJc0ZlbmNlTlY7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNFVEZFTkNF
TlZQUk9DIGdsU2V0RmVuY2VOVjsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVTVEZFTkNFTlZQ
Uk9DIGdsVGVzdEZlbmNlTlY7CisgICAgbF9nbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2Um9i
dXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNBTVBMRVJQQVJBTUVURVJJSVZS
T0JVU1RBTkdMRVBST0MgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJJaXZSb2J1c3RBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0FNUExFUlBBUkFNRVRFUklVSVZST0JVU1RBTkdMRVBS
T0MKKyAgICBsX2dsR2V0U2FtcGxlclBhcmFtZXRlckl1aXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUU0FNUExFUlBBUkFNRVRFUkZWUk9CVVNUQU5HTEVQUk9DIGxfZ2xH
ZXRTYW1wbGVyUGFyYW1ldGVyZnZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUU0FNUExFUlBBUkFNRVRFUklWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRTYW1wbGVyUGFyYW1l
dGVyaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0hBREVSSVZST0JV
U1RBTkdMRVBST0MgbF9nbEdldFNoYWRlcml2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVFRFWExFVkVMUEFSQU1FVEVSRlZST0JVU1RBTkdMRVBST0MgbF9nbEdldFRleExl
dmVsUGFyYW1ldGVyZnZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVY
TEVWRUxQQVJBTUVURVJJVlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0VGV4TGV2ZWxQYXJhbWV0ZXJp
dlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJSVZS
T0JVU1RBTkdMRVBST0MgbF9nbEdldFRleFBhcmFtZXRlcklpdlJvYnVzdEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJVUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xH
ZXRUZXhQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFRFWFBBUkFNRVRFUkZWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJmdlJvYnVz
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJVlJPQlVTVEFO
R0xFUFJPQyBsX2dsR2V0VGV4UGFyYW1ldGVyaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUVU5JRk9STUZWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRVbmlmb3JtZnZSb2J1
c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9STUlWUk9CVVNUQU5HTEVQ
Uk9DIGxfZ2xHZXRVbmlmb3JtaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUVU5JRk9STVVJVlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0VW5pZm9ybXVpdlJvYnVzdEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJJSVZST0JVU1RBTkdMRVBS
T0MgbF9nbEdldFZlcnRleEF0dHJpYklpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRWRVJURVhBVFRSSUJJVUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRWZXJ0ZXhBdHRy
aWJJdWl2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJ
QlBPSU5URVJWUk9CVVNUQU5HTEVQUk9DCisgICAgbF9nbEdldFZlcnRleEF0dHJpYlBvaW50ZXJ2
Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJQkZWUk9C
VVNUQU5HTEVQUk9DIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJmdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJJVlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0VmVy
dGV4QXR0cmliaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTlVOSUZP
Uk1GVlJPQlVTVEFOR0xFUFJPQyBsX2dsR2V0blVuaWZvcm1mdlJvYnVzdEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVROVU5JRk9STUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRuVW5p
Zm9ybWl2Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JNVUlW
Uk9CVVNUQU5HTEVQUk9DIGxfZ2xHZXRuVW5pZm9ybXVpdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xSRUFEUElYRUxTUk9CVVNUQU5HTEVQUk9DIGxfZ2xSZWFkUGl4ZWxzUm9i
dXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFQUROUElYRUxTUk9CVVNUQU5HTEVQ
Uk9DIGxfZ2xSZWFkblBpeGVsc1JvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xT
QU1QTEVSUEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xTYW1wbGVyUGFyYW1ldGVySWl2
Um9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVURVJJVUlW
Uk9CVVNUQU5HTEVQUk9DIGxfZ2xTYW1wbGVyUGFyYW1ldGVySXVpdlJvYnVzdEFOR0xFOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSRlZST0JVU1RBTkdMRVBST0MgbF9n
bFNhbXBsZXJQYXJhbWV0ZXJmdlJvYnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xT
QU1QTEVSUEFSQU1FVEVSSVZST0JVU1RBTkdMRVBST0MgbF9nbFNhbXBsZXJQYXJhbWV0ZXJpdlJv
YnVzdEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTJEUk9CVVNUQU5HTEVQ
Uk9DIGxfZ2xUZXhJbWFnZTJEUm9idXN0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRF
WElNQUdFM0RST0JVU1RBTkdMRVBST0MgbF9nbFRleEltYWdlM0RSb2J1c3RBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVQUk9DIGxfZ2xUZXhQ
YXJhbWV0ZXJJaXZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1F
VEVSSVVJVlJPQlVTVEFOR0xFUFJPQyBsX2dsVGV4UGFyYW1ldGVySXVpdlJvYnVzdEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJGVlJPQlVTVEFOR0xFUFJPQyBsX2ds
VGV4UGFyYW1ldGVyZnZSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFS
QU1FVEVSSVZST0JVU1RBTkdMRVBST0MgbF9nbFRleFBhcmFtZXRlcml2Um9idXN0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNVQklNQUdFMkRST0JVU1RBTkdMRVBST0MgbF9nbFRl
eFN1YkltYWdlMkRSb2J1c3RBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VCSU1B
R0UzRFJPQlVTVEFOR0xFUFJPQyBsX2dsVGV4U3ViSW1hZ2UzRFJvYnVzdEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xJTVBPUlRTRU1BUEhPUkVaSVJDT05IQU5ETEVBTkdMRVBST0MgbF9n
bEltcG9ydFNlbWFwaG9yZVppcmNvbkhhbmRsZUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xJTlZBTElEQVRFVEVYVFVSRUFOR0xFUFJPQyBsX2dsSW52YWxpZGF0ZVRleHR1cmVBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYSU1BR0UyREVYVEVSTkFMQU5HTEVQUk9DIGxfZ2xU
ZXhJbWFnZTJERXh0ZXJuYWxBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTVVMVElT
QU1QTEVGVkFOR0xFUFJPQyBsX2dsR2V0TXVsdGlzYW1wbGVmdkFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRURVhMRVZFTFBBUkFNRVRFUkZWQU5HTEVQUk9DIGxfZ2xHZXRUZXhMZXZl
bFBhcmFtZXRlcmZ2QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWExFVkVMUEFS
QU1FVEVSSVZBTkdMRVBST0MgbF9nbEdldFRleExldmVsUGFyYW1ldGVyaXZBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFTUFTS0lBTkdMRVBST0MgbF9nbFNhbXBsZU1hc2tpQU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UyRE1VTFRJU0FNUExFQU5HTEVQ
Uk9DIGxfZ2xUZXhTdG9yYWdlMkRNdWx0aXNhbXBsZUFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRUUkFOU0xBVEVEU0hBREVSU09VUkNFQU5HTEVQUk9DIGxfZ2xHZXRUcmFuc2xhdGVk
U2hhZGVyU291cmNlQU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRVTklGT1JNTE9D
QVRJT05DSFJPTUlVTVBST0MgbF9nbEJpbmRVbmlmb3JtTG9jYXRpb25DSFJPTUlVTTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ09NUFJFU1NFRENPUFlURVhUVVJFQ0hST01JVU1QUk9DIGxfZ2xD
b21wcmVzc2VkQ29weVRleHR1cmVDSFJPTUlVTTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09Q
WVNVQlRFWFRVUkVDSFJPTUlVTVBST0MgbF9nbENvcHlTdWJUZXh0dXJlQ0hST01JVU07CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTENPUFlURVhUVVJFQ0hST01JVU1QUk9DIGxfZ2xDb3B5VGV4dHVy
ZUNIUk9NSVVNOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1ZFUkFHRU1PRFVMQVRJT05DSFJP
TUlVTVBST0MgbF9nbENvdmVyYWdlTW9kdWxhdGlvbkNIUk9NSVVNOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xMT1NFQ09OVEVYVENIUk9NSVVNUFJPQyBsX2dsTG9zZUNvbnRleHRDSFJPTUlVTTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREZSQUdEQVRBTE9DQVRJT05FWFRQUk9DIGxfZ2xC
aW5kRnJhZ0RhdGFMb2NhdGlvbkVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREZSQUdE
QVRBTE9DQVRJT05JTkRFWEVERVhUUFJPQyBsX2dsQmluZEZyYWdEYXRhTG9jYXRpb25JbmRleGVk
RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRGUkFHREFUQUlOREVYRVhUUFJPQyBsX2ds
R2V0RnJhZ0RhdGFJbmRleEVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVJF
U09VUkNFTE9DQVRJT05JTkRFWEVYVFBST0MKKyAgICBsX2dsR2V0UHJvZ3JhbVJlc291cmNlTG9j
YXRpb25JbmRleEVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU5TRVJURVZFTlRNQVJLRVJF
WFRQUk9DIGxfZ2xJbnNlcnRFdmVudE1hcmtlckVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
UE9QR1JPVVBNQVJLRVJFWFRQUk9DIGxfZ2xQb3BHcm91cE1hcmtlckVYVDsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMUFVTSEdST1VQTUFSS0VSRVhUUFJPQyBsX2dsUHVzaEdyb3VwTWFya2VyRVhU
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xESVNDQVJERlJBTUVCVUZGRVJFWFRQUk9DIGxfZ2xE
aXNjYXJkRnJhbWVidWZmZXJFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOUVVFUllF
WFRQUk9DIGxfZ2xCZWdpblF1ZXJ5RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVR
VUVSSUVTRVhUUFJPQyBsX2dsRGVsZXRlUXVlcmllc0VYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRU5EUVVFUllFWFRQUk9DIGxfZ2xFbmRRdWVyeUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VOUVVFUklFU0VYVFBST0MgbF9nbEdlblF1ZXJpZXNFWFQ7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVElOVEVHRVI2NFZFWFRQUk9DIGxfZ2xHZXRJbnRlZ2VyNjR2RVhUOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9CSkVDVEk2NFZFWFRQUk9DIGxfZ2xHZXRRdWVyeU9i
amVjdGk2NHZFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUSVZFWFRQ
Uk9DIGxfZ2xHZXRRdWVyeU9iamVjdGl2RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRR
VUVSWU9CSkVDVFVJNjRWRVhUUFJPQyBsX2dsR2V0UXVlcnlPYmplY3R1aTY0dkVYVDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSVZFWFRQUk9DIGxfZ2xHZXRRdWVyeU9i
amVjdHVpdkVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllJVkVYVFBST0MgbF9n
bEdldFF1ZXJ5aXZFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUVVFUllFWFRQUk9DIGxf
Z2xJc1F1ZXJ5RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xRVUVSWUNPVU5URVJFWFRQUk9D
IGxfZ2xRdWVyeUNvdW50ZXJFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdCVUZGRVJT
RVhUUFJPQyBsX2dsRHJhd0J1ZmZlcnNFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5E
RVFVQVRJT05TRVBBUkFURUlFWFRQUk9DIGxfZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGVpRVhUOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9OSUVYVFBST0MgbF9nbEJsZW5kRXF1
YXRpb25pRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREZVTkNTRVBBUkFURUlFWFRQ
Uk9DIGxfZ2xCbGVuZEZ1bmNTZXBhcmF0ZWlFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJM
RU5ERlVOQ0lFWFRQUk9DIGxfZ2xCbGVuZEZ1bmNpRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDT0xPUk1BU0tJRVhUUFJPQyBsX2dsQ29sb3JNYXNraUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMRElTQUJMRUlFWFRQUk9DIGxfZ2xEaXNhYmxlaUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMRU5BQkxFSUVYVFBST0MgbF9nbEVuYWJsZWlFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTElTRU5BQkxFRElFWFRQUk9DIGxfZ2xJc0VuYWJsZWRpRVhUOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xEUkFXRUxFTUVOVFNCQVNFVkVSVEVYRVhUUFJPQyBsX2dsRHJhd0VsZW1lbnRzQmFz
ZVZlcnRleEVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTSU5TVEFOQ0VE
QkFTRVZFUlRFWEVYVFBST0MKKyAgICBsX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRl
eEVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1JBTkdFRUxFTUVOVFNCQVNFVkVSVEVY
RVhUUFJPQyBsX2dsRHJhd1JhbmdlRWxlbWVudHNCYXNlVmVydGV4RVhUOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xNVUxUSURSQVdFTEVNRU5UU0JBU0VWRVJURVhFWFRQUk9DIGxfZ2xNdWx0aURy
YXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZSQU1FQlVG
RkVSVEVYVFVSRUVYVFBST0MgbF9nbEZyYW1lYnVmZmVyVGV4dHVyZUVYVDsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRFJBV0FSUkFZU0lOU1RBTkNFREVYVFBST0MgbF9nbERyYXdBcnJheXNJbnN0
YW5jZWRFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREVY
VFBST0MgbF9nbERyYXdFbGVtZW50c0luc3RhbmNlZEVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVkVSVEVYQVRUUklCRElWSVNPUkVYVFBST0MgbF9nbFZlcnRleEF0dHJpYkRpdmlzb3JFWFQ7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZMVVNITUFQUEVEQlVGRkVSUkFOR0VFWFRQUk9DIGxf
Z2xGbHVzaE1hcHBlZEJ1ZmZlclJhbmdlRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVBC
VUZGRVJSQU5HRUVYVFBST0MgbF9nbE1hcEJ1ZmZlclJhbmdlRVhUOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xCVUZGRVJTVE9SQUdFTUVNRVhUUFJPQyBsX2dsQnVmZmVyU3RvcmFnZU1lbUVYVDsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1JFQVRFTUVNT1JZT0JKRUNUU0VYVFBST0MgbF9nbENy
ZWF0ZU1lbW9yeU9iamVjdHNFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURU1FTU9S
WU9CSkVDVFNFWFRQUk9DIGxfZ2xEZWxldGVNZW1vcnlPYmplY3RzRVhUOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVRNRU1PUllPQkpFQ1RQQVJBTUVURVJJVkVYVFBST0MgbF9nbEdldE1lbW9y
eU9iamVjdFBhcmFtZXRlcml2RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTlNJR05F
REJZVEVJX1ZFWFRQUk9DIGxfZ2xHZXRVbnNpZ25lZEJ5dGVpX3ZFWFQ7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFVFVOU0lHTkVEQllURVZFWFRQUk9DIGxfZ2xHZXRVbnNpZ25lZEJ5dGV2RVhU
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU01FTU9SWU9CSkVDVEVYVFBST0MgbF9nbElzTWVt
b3J5T2JqZWN0RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNRU1PUllPQkpFQ1RQQVJBTUVU
RVJJVkVYVFBST0MgbF9nbE1lbW9yeU9iamVjdFBhcmFtZXRlcml2RVhUOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xURVhTVE9SQUdFTUVNMkRFWFRQUk9DIGxfZ2xUZXhTdG9yYWdlTWVtMkRFWFQ7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0VNRU0yRE1VTFRJU0FNUExFRVhUUFJP
QyBsX2dsVGV4U3RvcmFnZU1lbTJETXVsdGlzYW1wbGVFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFRFWFNUT1JBR0VNRU0zREVYVFBST0MgbF9nbFRleFN0b3JhZ2VNZW0zREVYVDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRU1FTTNETVVMVElTQU1QTEVFWFRQUk9DIGxfZ2xU
ZXhTdG9yYWdlTWVtM0RNdWx0aXNhbXBsZUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU1Q
T1JUTUVNT1JZRkRFWFRQUk9DIGxfZ2xJbXBvcnRNZW1vcnlGZEVYVDsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFMkRNVUxUSVNBTVBMRUVYVFBST0MKKyAgICBsX2ds
RnJhbWVidWZmZXJUZXh0dXJlMkRNdWx0aXNhbXBsZUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUkVOREVSQlVGRkVSU1RPUkFHRU1VTFRJU0FNUExFRVhUUFJPQyBsX2dsUmVuZGVyYnVmZmVy
U3RvcmFnZU11bHRpc2FtcGxlRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRHUkFQSElD
U1JFU0VUU1RBVFVTRVhUUFJPQyBsX2dsR2V0R3JhcGhpY3NSZXNldFN0YXR1c0VYVDsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUTlVOSUZPUk1GVkVYVFBST0MgbF9nbEdldG5Vbmlmb3JtZnZF
WFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JNSVZFWFRQUk9DIGxfZ2xHZXRu
VW5pZm9ybWl2RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRUFETlBJWEVMU0VYVFBST0Mg
bF9nbFJlYWRuUGl4ZWxzRVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVTRU1BUEhP
UkVTRVhUUFJPQyBsX2dsRGVsZXRlU2VtYXBob3Jlc0VYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VOU0VNQVBIT1JFU0VYVFBST0MgbF9nbEdlblNlbWFwaG9yZXNFWFQ7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFNFTUFQSE9SRVBBUkFNRVRFUlVJNjRWRVhUUFJPQyBsX2dsR2V0U2Vt
YXBob3JlUGFyYW1ldGVydWk2NHZFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTU0VNQVBI
T1JFRVhUUFJPQyBsX2dsSXNTZW1hcGhvcmVFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNF
TUFQSE9SRVBBUkFNRVRFUlVJNjRWRVhUUFJPQyBsX2dsU2VtYXBob3JlUGFyYW1ldGVydWk2NHZF
WFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNJR05BTFNFTUFQSE9SRUVYVFBST0MgbF9nbFNp
Z25hbFNlbWFwaG9yZUVYVDsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMV0FJVFNFTUFQSE9SRUVY
VFBST0MgbF9nbFdhaXRTZW1hcGhvcmVFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElNUE9S
VFNFTUFQSE9SRUZERVhUUFJPQyBsX2dsSW1wb3J0U2VtYXBob3JlRmRFWFQ7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UxREVYVFBST0MgbF9nbFRleFN0b3JhZ2UxREVYVDsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTJERVhUUFJPQyBsX2dsVGV4U3RvcmFnZTJE
RVhUOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdFM0RFWFRQUk9DIGxfZ2xUZXhT
dG9yYWdlM0RFWFQ7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFQlVHTUVTU0FHRUNBTExCQUNL
S0hSUFJPQyBsX2dsRGVidWdNZXNzYWdlQ2FsbGJhY2tLSFI7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERFQlVHTUVTU0FHRUNPTlRST0xLSFJQUk9DIGxfZ2xEZWJ1Z01lc3NhZ2VDb250cm9sS0hS
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUJVR01FU1NBR0VJTlNFUlRLSFJQUk9DIGxfZ2xE
ZWJ1Z01lc3NhZ2VJbnNlcnRLSFI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVERFQlVHTUVT
U0FHRUxPR0tIUlBST0MgbF9nbEdldERlYnVnTWVzc2FnZUxvZ0tIUjsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUT0JKRUNUTEFCRUxLSFJQUk9DIGxfZ2xHZXRPYmplY3RMYWJlbEtIUjsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUT0JKRUNUUFRSTEFCRUxLSFJQUk9DIGxfZ2xHZXRPYmpl
Y3RQdHJMYWJlbEtIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUE9JTlRFUlZLSFJQUk9D
IGxfZ2xHZXRQb2ludGVydktIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMT0JKRUNUTEFCRUxL
SFJQUk9DIGxfZ2xPYmplY3RMYWJlbEtIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMT0JKRUNU
UFRSTEFCRUxLSFJQUk9DIGxfZ2xPYmplY3RQdHJMYWJlbEtIUjsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMUE9QREVCVUdHUk9VUEtIUlBST0MgbF9nbFBvcERlYnVnR3JvdXBLSFI7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBVU0hERUJVR0dST1VQS0hSUFJPQyBsX2dsUHVzaERlYnVnR3JvdXBL
SFI7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BWFNIQURFUkNPTVBJTEVSVEhSRUFEU0tIUlBS
T0MgbF9nbE1heFNoYWRlckNvbXBpbGVyVGhyZWFkc0tIUjsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMREVMRVRFRkVOQ0VTTlZQUk9DIGxfZ2xEZWxldGVGZW5jZXNOVjsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRklOSVNIRkVOQ0VOVlBST0MgbF9nbEZpbmlzaEZlbmNlTlY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFTkZFTkNFU05WUFJPQyBsX2dsR2VuRmVuY2VzTlY7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVEZFTkNFSVZOVlBST0MgbF9nbEdldEZlbmNlaXZOVjsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNGRU5DRU5WUFJPQyBsX2dsSXNGZW5jZU5WOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTRVRGRU5DRU5WUFJPQyBsX2dsU2V0RmVuY2VOVjsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVTVEZFTkNFTlZQUk9DIGxfZ2xUZXN0RmVuY2VOVjsKIEFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRUdMSU1BR0VUQVJHRVRSRU5ERVJCVUZGRVJTVE9SQUdFT0VTUFJPQwotICAgIGds
RUdMSW1hZ2VUYXJnZXRSZW5kZXJidWZmZXJTdG9yYWdlT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xFR0xJTUFHRVRBUkdFVFRFWFRVUkUyRE9FU1BST0MgZ2xFR0xJbWFnZVRhcmdldFRleHR1
cmUyRE9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRFUVVBVElPTlNFUEFSQVRFSU9F
U1BST0MgZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGVpT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xCTEVOREVRVUFUSU9OSU9FU1BST0MgZ2xCbGVuZEVxdWF0aW9uaU9FUzsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMQkxFTkRGVU5DU0VQQVJBVEVJT0VTUFJPQyBnbEJsZW5kRnVuY1NlcGFyYXRl
aU9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DSU9FU1BST0MgZ2xCbGVuZEZ1
bmNpT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUk1BU0tJT0VTUFJPQyBnbENvbG9y
TWFza2lPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERJU0FCTEVJT0VTUFJPQyBnbERpc2Fi
bGVpT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkFCTEVJT0VTUFJPQyBnbEVuYWJsZWlP
RVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRU5BQkxFRElPRVNQUk9DIGdsSXNFbmFibGVk
aU9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTQkFTRVZFUlRFWE9FU1BS
T0MgZ2xEcmF3RWxlbWVudHNCYXNlVmVydGV4T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
UkFXRUxFTUVOVFNJTlNUQU5DRURCQVNFVkVSVEVYT0VTUFJPQyBnbERyYXdFbGVtZW50c0luc3Rh
bmNlZEJhc2VWZXJ0ZXhPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdSQU5HRUVMRU1F
TlRTQkFTRVZFUlRFWE9FU1BST0MgZ2xEcmF3UmFuZ2VFbGVtZW50c0Jhc2VWZXJ0ZXhPRVM7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBST0dSQU1CSU5BUllPRVNQUk9DIGdsR2V0UHJvZ3Jh
bUJpbmFyeU9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTUJJTkFSWU9FU1BST0Mg
Z2xQcm9ncmFtQmluYXJ5T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQT0lO
VEVSVk9FU1BST0MgZ2xHZXRCdWZmZXJQb2ludGVydk9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMTUFQQlVGRkVST0VTUFJPQyBnbE1hcEJ1ZmZlck9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVU5NQVBCVUZGRVJPRVNQUk9DIGdsVW5tYXBCdWZmZXJPRVM7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTENPTVBSRVNTRURURVhJTUFHRTNET0VTUFJPQyBnbENvbXByZXNzZWRUZXhJbWFnZTNE
T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UzRE9FU1BS
T0MgZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRE9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
Q09QWVRFWFNVQklNQUdFM0RPRVNQUk9DIGdsQ29weVRleFN1YkltYWdlM0RPRVM7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEZSQU1FQlVGRkVSVEVYVFVSRTNET0VTUFJPQyBnbEZyYW1lYnVmZmVy
VGV4dHVyZTNET0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNET0VTUFJPQyBn
bFRleEltYWdlM0RPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNVQklNQUdFM0RPRVNQ
Uk9DIGdsVGV4U3ViSW1hZ2UzRE9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0FNUExF
UlBBUkFNRVRFUklJVk9FU1BST0MgZ2xHZXRTYW1wbGVyUGFyYW1ldGVySWl2T0VTOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSSVVJVk9FU1BST0MgZ2xHZXRTYW1w
bGVyUGFyYW1ldGVySXVpdk9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1F
VEVSSUlWT0VTUFJPQyBnbEdldFRleFBhcmFtZXRlcklpdk9FUzsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VUVEVYUEFSQU1FVEVSSVVJVk9FU1BST0MgZ2xHZXRUZXhQYXJhbWV0ZXJJdWl2T0VT
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSUlWT0VTUFJPQyBnbFNh
bXBsZXJQYXJhbWV0ZXJJaXZPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJB
TUVURVJJVUlWT0VTUFJPQyBnbFNhbXBsZXJQYXJhbWV0ZXJJdWl2T0VTOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xURVhQQVJBTUVURVJJSVZPRVNQUk9DIGdsVGV4UGFyYW1ldGVySWl2T0VTOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJJVUlWT0VTUFJPQyBnbFRleFBhcmFt
ZXRlckl1aXZPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UzRE1VTFRJU0FN
UExFT0VTUFJPQyBnbFRleFN0b3JhZ2UzRE11bHRpc2FtcGxlT0VTOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xCSU5EVkVSVEVYQVJSQVlPRVNQUk9DIGdsQmluZFZlcnRleEFycmF5T0VTOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVWRVJURVhBUlJBWVNPRVNQUk9DIGdsRGVsZXRlVmVy
dGV4QXJyYXlzT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5WRVJURVhBUlJBWVNPRVNQ
Uk9DIGdsR2VuVmVydGV4QXJyYXlzT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRF
WEFSUkFZT0VTUFJPQyBnbElzVmVydGV4QXJyYXlPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEZSQU1FQlVGRkVSVEVYVFVSRU1VTFRJVklFV09WUlBST0MgZ2xGcmFtZWJ1ZmZlclRleHR1cmVN
dWx0aXZpZXdPVlI7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhGT0VTUFJPQyBnbERy
YXdUZXhmT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYRlZPRVNQUk9DIGdsRHJh
d1RleGZ2T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYSU9FU1BST0MgZ2xEcmF3
VGV4aU9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWElWT0VTUFJPQyBnbERyYXdU
ZXhpdk9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWFNPRVNQUk9DIGdsRHJhd1Rl
eHNPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhTVk9FU1BST0MgZ2xEcmF3VGV4
c3ZPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhYT0VTUFJPQyBnbERyYXdUZXh4
T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYWFZPRVNQUk9DIGdsRHJhd1RleHh2
T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5ERlJBTUVCVUZGRVJPRVNQUk9DIGdsQmlu
ZEZyYW1lYnVmZmVyT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EUkVOREVSQlVGRkVS
T0VTUFJPQyBnbEJpbmRSZW5kZXJidWZmZXJPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENI
RUNLRlJBTUVCVUZGRVJTVEFUVVNPRVNQUk9DIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1c09FUzsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFRlJBTUVCVUZGRVJTT0VTUFJPQyBnbERlbGV0
ZUZyYW1lYnVmZmVyc09FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFUkVOREVSQlVG
RkVSU09FU1BST0MgZ2xEZWxldGVSZW5kZXJidWZmZXJzT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xGUkFNRUJVRkZFUlJFTkRFUkJVRkZFUk9FU1BST0MgZ2xGcmFtZWJ1ZmZlclJlbmRlcmJ1
ZmZlck9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFMkRPRVNQ
Uk9DIGdsRnJhbWVidWZmZXJUZXh0dXJlMkRPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
TkZSQU1FQlVGRkVSU09FU1BST0MgZ2xHZW5GcmFtZWJ1ZmZlcnNPRVM7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFTlJFTkRFUkJVRkZFUlNPRVNQUk9DIGdsR2VuUmVuZGVyYnVmZmVyc09FUzsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORVJBVEVNSVBNQVBPRVNQUk9DIGdsR2VuZXJhdGVN
aXBtYXBPRVM7CisgICAgbF9nbEVHTEltYWdlVGFyZ2V0UmVuZGVyYnVmZmVyU3RvcmFnZU9FUzsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRUdMSU1BR0VUQVJHRVRURVhUVVJFMkRPRVNQUk9DIGxf
Z2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRE9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxF
TkRFUVVBVElPTlNFUEFSQVRFSU9FU1BST0MgbF9nbEJsZW5kRXF1YXRpb25TZXBhcmF0ZWlPRVM7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERVFVQVRJT05JT0VTUFJPQyBsX2dsQmxlbmRF
cXVhdGlvbmlPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERlVOQ1NFUEFSQVRFSU9F
U1BST0MgbF9nbEJsZW5kRnVuY1NlcGFyYXRlaU9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
QkxFTkRGVU5DSU9FU1BST0MgbF9nbEJsZW5kRnVuY2lPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTENPTE9STUFTS0lPRVNQUk9DIGxfZ2xDb2xvck1hc2tpT0VTOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xESVNBQkxFSU9FU1BST0MgbF9nbERpc2FibGVpT0VTOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xFTkFCTEVJT0VTUFJPQyBsX2dsRW5hYmxlaU9FUzsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMSVNFTkFCTEVESU9FU1BST0MgbF9nbElzRW5hYmxlZGlPRVM7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTERSQVdFTEVNRU5UU0JBU0VWRVJURVhPRVNQUk9DIGxfZ2xEcmF3RWxlbWVudHNC
YXNlVmVydGV4T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXRUxFTUVOVFNJTlNUQU5D
RURCQVNFVkVSVEVYT0VTUFJPQworICAgIGxfZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVy
dGV4T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXUkFOR0VFTEVNRU5UU0JBU0VWRVJU
RVhPRVNQUk9DIGxfZ2xEcmF3UmFuZ2VFbGVtZW50c0Jhc2VWZXJ0ZXhPRVM7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFBST0dSQU1CSU5BUllPRVNQUk9DIGxfZ2xHZXRQcm9ncmFtQmluYXJ5
T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNQklOQVJZT0VTUFJPQyBsX2dsUHJv
Z3JhbUJpbmFyeU9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQlVGRkVSUE9JTlRFUlZP
RVNQUk9DIGxfZ2xHZXRCdWZmZXJQb2ludGVydk9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TUFQQlVGRkVST0VTUFJPQyBsX2dsTWFwQnVmZmVyT0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xVTk1BUEJVRkZFUk9FU1BST0MgbF9nbFVubWFwQnVmZmVyT0VTOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UzRE9FU1BST0MgbF9nbENvbXByZXNzZWRUZXhJbWFn
ZTNET0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UzRE9F
U1BST0MgbF9nbENvbXByZXNzZWRUZXhTdWJJbWFnZTNET0VTOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xDT1BZVEVYU1VCSU1BR0UzRE9FU1BST0MgbF9nbENvcHlUZXhTdWJJbWFnZTNET0VTOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUzRE9FU1BST0MgbF9nbEZy
YW1lYnVmZmVyVGV4dHVyZTNET0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNE
T0VTUFJPQyBsX2dsVGV4SW1hZ2UzRE9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VC
SU1BR0UzRE9FU1BST0MgbF9nbFRleFN1YkltYWdlM0RPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFNBTVBMRVJQQVJBTUVURVJJSVZPRVNQUk9DIGxfZ2xHZXRTYW1wbGVyUGFyYW1ldGVy
SWl2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSSVVJVk9F
U1BST0MgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJJdWl2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRURVhQQVJBTUVURVJJSVZPRVNQUk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJJaXZPRVM7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUklVSVZPRVNQUk9DIGxfZ2xH
ZXRUZXhQYXJhbWV0ZXJJdWl2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFS
QU1FVEVSSUlWT0VTUFJPQyBsX2dsU2FtcGxlclBhcmFtZXRlcklpdk9FUzsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUklVSVZPRVNQUk9DIGxfZ2xTYW1wbGVyUGFyYW1l
dGVySXVpdk9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSSUlWT0VTUFJP
QyBsX2dsVGV4UGFyYW1ldGVySWl2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJB
TUVURVJJVUlWT0VTUFJPQyBsX2dsVGV4UGFyYW1ldGVySXVpdk9FUzsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYU1RPUkFHRTNETVVMVElTQU1QTEVPRVNQUk9DIGxfZ2xUZXhTdG9yYWdlM0RN
dWx0aXNhbXBsZU9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFZFUlRFWEFSUkFZT0VT
UFJPQyBsX2dsQmluZFZlcnRleEFycmF5T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxF
VEVWRVJURVhBUlJBWVNPRVNQUk9DIGxfZ2xEZWxldGVWZXJ0ZXhBcnJheXNPRVM7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFTlZFUlRFWEFSUkFZU09FU1BST0MgbF9nbEdlblZlcnRleEFycmF5
c09FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNWRVJURVhBUlJBWU9FU1BST0MgbF9nbElz
VmVydGV4QXJyYXlPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZSQU1FQlVGRkVSVEVYVFVS
RU1VTFRJVklFV09WUlBST0MgbF9nbEZyYW1lYnVmZmVyVGV4dHVyZU11bHRpdmlld09WUjsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWEZPRVNQUk9DIGxfZ2xEcmF3VGV4Zk9FUzsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWEZWT0VTUFJPQyBsX2dsRHJhd1RleGZ2T0VTOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYSU9FU1BST0MgbF9nbERyYXdUZXhpT0VTOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYSVZPRVNQUk9DIGxfZ2xEcmF3VGV4aXZPRVM7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhTT0VTUFJPQyBsX2dsRHJhd1RleHNPRVM7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhTVk9FU1BST0MgbF9nbERyYXdUZXhzdk9F
UzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWFhPRVNQUk9DIGxfZ2xEcmF3VGV4eE9F
UzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWFhWT0VTUFJPQyBsX2dsRHJhd1RleHh2
T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5ERlJBTUVCVUZGRVJPRVNQUk9DIGxfZ2xC
aW5kRnJhbWVidWZmZXJPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRSRU5ERVJCVUZG
RVJPRVNQUk9DIGxfZ2xCaW5kUmVuZGVyYnVmZmVyT0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDSEVDS0ZSQU1FQlVGRkVSU1RBVFVTT0VTUFJPQyBsX2dsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1
c09FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFRlJBTUVCVUZGRVJTT0VTUFJPQyBs
X2dsRGVsZXRlRnJhbWVidWZmZXJzT0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVS
RU5ERVJCVUZGRVJTT0VTUFJPQyBsX2dsRGVsZXRlUmVuZGVyYnVmZmVyc09FUzsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJSRU5ERVJCVUZGRVJPRVNQUk9DIGxfZ2xGcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlck9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJU
RVhUVVJFMkRPRVNQUk9DIGxfZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRE9FUzsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VORlJBTUVCVUZGRVJTT0VTUFJPQyBsX2dsR2VuRnJhbWVidWZmZXJzT0VT
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5SRU5ERVJCVUZGRVJTT0VTUFJPQyBsX2dsR2Vu
UmVuZGVyYnVmZmVyc09FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORVJBVEVNSVBNQVBP
RVNQUk9DIGxfZ2xHZW5lcmF0ZU1pcG1hcE9FUzsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
RlJBTUVCVUZGRVJBVFRBQ0hNRU5UUEFSQU1FVEVSSVZPRVNQUk9DCi0gICAgZ2xHZXRGcmFtZWJ1
ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdk9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
UkVOREVSQlVGRkVSUEFSQU1FVEVSSVZPRVNQUk9DIGdsR2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
aXZPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRlJBTUVCVUZGRVJPRVNQUk9DIGdsSXNG
cmFtZWJ1ZmZlck9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNSRU5ERVJCVUZGRVJPRVNQ
Uk9DIGdsSXNSZW5kZXJidWZmZXJPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFTkRFUkJV
RkZFUlNUT1JBR0VPRVNQUk9DIGdsUmVuZGVyYnVmZmVyU3RvcmFnZU9FUzsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMQ1VSUkVOVFBBTEVUVEVNQVRSSVhPRVNQUk9DIGdsQ3VycmVudFBhbGV0dGVN
YXRyaXhPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPQURQQUxFVFRFRlJPTU1PREVMVklF
V01BVFJJWE9FU1BST0MgZ2xMb2FkUGFsZXR0ZUZyb21Nb2RlbFZpZXdNYXRyaXhPRVM7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTE1BVFJJWElOREVYUE9JTlRFUk9FU1BST0MgZ2xNYXRyaXhJbmRl
eFBvaW50ZXJPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFdFSUdIVFBPSU5URVJPRVNQUk9D
IGdsV2VpZ2h0UG9pbnRlck9FUzsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9JTlRTSVpFUE9J
TlRFUk9FU1BST0MgZ2xQb2ludFNpemVQb2ludGVyT0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xRVUVSWU1BVFJJWFhPRVNQUk9DIGdsUXVlcnlNYXRyaXh4T0VTOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRURVhHRU5GVk9FU1BST0MgZ2xHZXRUZXhHZW5mdk9FUzsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUVEVYR0VOSVZPRVNQUk9DIGdsR2V0VGV4R2VuaXZPRVM7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFRFWEdFTlhWT0VTUFJPQyBnbEdldFRleEdlbnh2T0VTOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xURVhHRU5GT0VTUFJPQyBnbFRleEdlbmZPRVM7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRFWEdFTkZWT0VTUFJPQyBnbFRleEdlbmZ2T0VTOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xURVhHRU5JT0VTUFJPQyBnbFRleEdlbmlPRVM7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFRFWEdFTklWT0VTUFJPQyBnbFRleEdlbml2T0VTOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xURVhHRU5YT0VTUFJPQyBnbFRleEdlbnhPRVM7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFRFWEdFTlhWT0VTUFJPQyBnbFRleEdlbnh2T0VTOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xBTFBIQUZVTkNDT05URVhUQU5HTEVQUk9DIGdsQWxwaGFGdW5jQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xDTElQUExBTkVGQ09OVEVYVEFOR0xFUFJPQyBnbENsaXBQbGFu
ZWZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTE9SNEZDT05URVhUQU5H
TEVQUk9DIGdsQ29sb3I0ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRk9H
RkNPTlRFWFRBTkdMRVBST0MgZ2xGb2dmQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xGT0dGVkNPTlRFWFRBTkdMRVBST0MgZ2xGb2dmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMRlJVU1RVTUZDT05URVhUQU5HTEVQUk9DIGdsRnJ1c3R1bWZDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVENMSVBQTEFORUZDT05URVhUQU5HTEVQ
Uk9DIGdsR2V0Q2xpcFBsYW5lZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUTElHSFRGVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRMaWdodGZ2Q29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRNQVRFUklBTEZWQ09OVEVYVEFOR0xFUFJPQyBnbEdldE1h
dGVyaWFsZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWEVOVkZW
Q09OVEVYVEFOR0xFUFJPQyBnbEdldFRleEVudmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xMSUdIVE1PREVMRkNPTlRFWFRBTkdMRVBST0MgZ2xMaWdodE1vZGVsZkNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElHSFRNT0RFTEZWQ09OVEVYVEFOR0xF
UFJPQyBnbExpZ2h0TW9kZWxmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TElHSFRGQ09OVEVYVEFOR0xFUFJPQyBnbExpZ2h0ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMTElHSFRGVkNPTlRFWFRBTkdMRVBST0MgZ2xMaWdodGZ2Q29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMT0FETUFUUklYRkNPTlRFWFRBTkdMRVBST0MgZ2xM
b2FkTWF0cml4ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFURVJJQUxG
Q09OVEVYVEFOR0xFUFJPQyBnbE1hdGVyaWFsZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMTUFURVJJQUxGVkNPTlRFWFRBTkdMRVBST0MgZ2xNYXRlcmlhbGZ2Q29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNVUxUTUFUUklYRkNPTlRFWFRBTkdMRVBST0Mg
Z2xNdWx0TWF0cml4ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElU
RVhDT09SRDRGQ09OVEVYVEFOR0xFUFJPQyBnbE11bHRpVGV4Q29vcmQ0ZkNvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTk9STUFMM0ZDT05URVhUQU5HTEVQUk9DIGdsTm9ybWFs
M2ZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE9SVEhPRkNPTlRFWFRBTkdM
RVBST0MgZ2xPcnRob2ZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5U
UEFSQU1FVEVSRkNPTlRFWFRBTkdMRVBST0MgZ2xQb2ludFBhcmFtZXRlcmZDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5UUEFSQU1FVEVSRlZDT05URVhUQU5HTEVQUk9D
IGdsUG9pbnRQYXJhbWV0ZXJmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
UE9JTlRTSVpFQ09OVEVYVEFOR0xFUFJPQyBnbFBvaW50U2l6ZUNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMUk9UQVRFRkNPTlRFWFRBTkdMRVBST0MgZ2xSb3RhdGVmQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQ0FMRUZDT05URVhUQU5HTEVQUk9DIGds
U2NhbGVmQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhFTlZGQ09OVEVY
VEFOR0xFUFJPQyBnbFRleEVudmZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFRFWEVOVkZWQ09OVEVYVEFOR0xFUFJPQyBnbFRleEVudmZ2Q29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xUUkFOU0xBVEVGQ09OVEVYVEFOR0xFUFJPQyBnbFRyYW5zbGF0ZWZD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEFMUEhBRlVOQ1hDT05URVhUQU5H
TEVQUk9DIGdsQWxwaGFGdW5jeENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
Q0xFQVJDT0xPUlhDT05URVhUQU5HTEVQUk9DIGdsQ2xlYXJDb2xvcnhDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSREVQVEhYQ09OVEVYVEFOR0xFUFJPQyBnbENsZWFy
RGVwdGh4Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTElFTlRBQ1RJVkVU
RVhUVVJFQ09OVEVYVEFOR0xFUFJPQyBnbENsaWVudEFjdGl2ZVRleHR1cmVDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMSVBQTEFORVhDT05URVhUQU5HTEVQUk9DIGdsQ2xp
cFBsYW5leENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1I0VUJDT05U
RVhUQU5HTEVQUk9DIGdsQ29sb3I0dWJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTENPTE9SNFhDT05URVhUQU5HTEVQUk9DIGdsQ29sb3I0eENvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ09MT1JQT0lOVEVSQ09OVEVYVEFOR0xFUFJPQyBnbENvbG9yUG9p
bnRlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVQVEhSQU5HRVhDT05U
RVhUQU5HTEVQUk9DIGdsRGVwdGhSYW5nZXhDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTERJU0FCTEVDTElFTlRTVEFURUNPTlRFWFRBTkdMRVBST0MgZ2xEaXNhYmxlQ2xpZW50
U3RhdGVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVOQUJMRUNMSUVOVFNU
QVRFQ09OVEVYVEFOR0xFUFJPQyBnbEVuYWJsZUNsaWVudFN0YXRlQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xGT0dYQ09OVEVYVEFOR0xFUFJPQyBnbEZvZ3hDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZPR1hWQ09OVEVYVEFOR0xFUFJPQyBnbEZvZ3h2
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUlVTVFVNWENPTlRFWFRBTkdM
RVBST0MgZ2xGcnVzdHVteENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
Q0xJUFBMQU5FWENPTlRFWFRBTkdMRVBST0MgZ2xHZXRDbGlwUGxhbmV4Q29udGV4dEFOR0xFOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRGSVhFRFZDT05URVhUQU5HTEVQUk9DIGdsR2V0Rml4
ZWR2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRMSUdIVFhWQ09OVEVY
VEFOR0xFUFJPQyBnbEdldExpZ2h0eHZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVE1BVEVSSUFMWFZDT05URVhUQU5HTEVQUk9DIGdsR2V0TWF0ZXJpYWx4dkNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUE9JTlRFUlZDT05URVhUQU5HTEVQUk9D
IGdsR2V0UG9pbnRlcnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRF
WEVOVklWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFRleEVudml2Q29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRURVhFTlZYVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRUZXhFbnZ4
dkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSWFZD
T05URVhUQU5HTEVQUk9DIGdsR2V0VGV4UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTExJR0hUTU9ERUxYQ09OVEVYVEFOR0xFUFJPQyBnbExpZ2h0TW9kZWx4
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVE1PREVMWFZDT05URVhU
QU5HTEVQUk9DIGdsTGlnaHRNb2RlbHh2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xMSUdIVFhDT05URVhUQU5HTEVQUk9DIGdsTGlnaHR4Q29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xMSUdIVFhWQ09OVEVYVEFOR0xFUFJPQyBnbExpZ2h0eHZDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJTkVXSURUSFhDT05URVhUQU5HTEVQUk9D
IGdsTGluZVdpZHRoeENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9BRElE
RU5USVRZQ09OVEVYVEFOR0xFUFJPQyBnbExvYWRJZGVudGl0eUNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMTE9BRE1BVFJJWFhDT05URVhUQU5HTEVQUk9DIGdsTG9hZE1hdHJp
eHhDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPR0lDT1BDT05URVhUQU5H
TEVQUk9DIGdsTG9naWNPcENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFU
RVJJQUxYQ09OVEVYVEFOR0xFUFJPQyBnbE1hdGVyaWFseENvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMTUFURVJJQUxYVkNPTlRFWFRBTkdMRVBST0MgZ2xNYXRlcmlhbHh2Q29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRSSVhNT0RFQ09OVEVYVEFOR0xF
UFJPQyBnbE1hdHJpeE1vZGVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1V
TFRNQVRSSVhYQ09OVEVYVEFOR0xFUFJPQyBnbE11bHRNYXRyaXh4Q29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xNVUxUSVRFWENPT1JENFhDT05URVhUQU5HTEVQUk9DIGdsTXVs
dGlUZXhDb29yZDR4Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xOT1JNQUwz
WENPTlRFWFRBTkdMRVBST0MgZ2xOb3JtYWwzeENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMTk9STUFMUE9JTlRFUkNPTlRFWFRBTkdMRVBST0MgZ2xOb3JtYWxQb2ludGVyQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xPUlRIT1hDT05URVhUQU5HTEVQUk9D
IGdsT3J0aG94Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT0lOVFBBUkFN
RVRFUlhDT05URVhUQU5HTEVQUk9DIGdsUG9pbnRQYXJhbWV0ZXJ4Q29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xQT0lOVFBBUkFNRVRFUlhWQ09OVEVYVEFOR0xFUFJPQyBnbFBv
aW50UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5U
U0laRVhDT05URVhUQU5HTEVQUk9DIGdsUG9pbnRTaXpleENvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMUE9MWUdPTk9GRlNFVFhDT05URVhUQU5HTEVQUk9DIGdsUG9seWdvbk9m
ZnNldHhDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPUE1BVFJJWENPTlRF
WFRBTkdMRVBST0MgZ2xQb3BNYXRyaXhDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFBVU0hNQVRSSVhDT05URVhUQU5HTEVQUk9DIGdsUHVzaE1hdHJpeENvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUk9UQVRFWENPTlRFWFRBTkdMRVBST0MgZ2xSb3RhdGV4
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVDT1ZFUkFHRVhDT05U
RVhUQU5HTEVQUk9DIGdsU2FtcGxlQ292ZXJhZ2V4Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTQ0FMRVhDT05URVhUQU5HTEVQUk9DIGdsU2NhbGV4Q29udGV4dEFOR0xFOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTSEFERU1PREVMQ09OVEVYVEFOR0xFUFJPQyBnbFNoYWRl
TW9kZWxDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWENPT1JEUE9JTlRF
UkNPTlRFWFRBTkdMRVBST0MgZ2xUZXhDb29yZFBvaW50ZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRFWEVOVklDT05URVhUQU5HTEVQUk9DIGdsVGV4RW52aUNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WWENPTlRFWFRBTkdMRVBST0MgZ2xU
ZXhFbnZ4Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhFTlZJVkNPTlRF
WFRBTkdMRVBST0MgZ2xUZXhFbnZpdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVEVYRU5WWFZDT05URVhUQU5HTEVQUk9DIGdsVGV4RW52eHZDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUlhDT05URVhUQU5HTEVQUk9DIGdsVGV4UGFy
YW1ldGVyeENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVS
WFZDT05URVhUQU5HTEVQUk9DIGdsVGV4UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRSQU5TTEFURVhDT05URVhUQU5HTEVQUk9DIGdsVHJhbnNsYXRleENv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYUE9JTlRFUkNPTlRFWFRB
TkdMRVBST0MgZ2xWZXJ0ZXhQb2ludGVyQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xBQ1RJVkVURVhUVVJFQ09OVEVYVEFOR0xFUFJPQyBnbEFjdGl2ZVRleHR1cmVDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEFUVEFDSFNIQURFUkNPTlRFWFRBTkdMRVBS
T0MgZ2xBdHRhY2hTaGFkZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJ
TkRBVFRSSUJMT0NBVElPTkNPTlRFWFRBTkdMRVBST0MgZ2xCaW5kQXR0cmliTG9jYXRpb25Db250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRCVUZGRVJDT05URVhUQU5HTEVQ
Uk9DIGdsQmluZEJ1ZmZlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklO
REZSQU1FQlVGRkVSQ09OVEVYVEFOR0xFUFJPQyBnbEJpbmRGcmFtZWJ1ZmZlckNvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFJFTkRFUkJVRkZFUkNPTlRFWFRBTkdMRVBS
T0MgZ2xCaW5kUmVuZGVyYnVmZmVyQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xCSU5EVEVYVFVSRUNPTlRFWFRBTkdMRVBST0MgZ2xCaW5kVGV4dHVyZUNvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRDT0xPUkNPTlRFWFRBTkdMRVBST0MgZ2xCbGVu
ZENvbG9yQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9O
Q09OVEVYVEFOR0xFUFJPQyBnbEJsZW5kRXF1YXRpb25Db250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEJMRU5ERVFVQVRJT05TRVBBUkFURUNPTlRFWFRBTkdMRVBST0MgZ2xCbGVu
ZEVxdWF0aW9uU2VwYXJhdGVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJM
RU5ERlVOQ0NPTlRFWFRBTkdMRVBST0MgZ2xCbGVuZEZ1bmNDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEJMRU5ERlVOQ1NFUEFSQVRFQ09OVEVYVEFOR0xFUFJPQyBnbEJsZW5k
RnVuY1NlcGFyYXRlQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCVUZGRVJE
QVRBQ09OVEVYVEFOR0xFUFJPQyBnbEJ1ZmZlckRhdGFDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEJVRkZFUlNVQkRBVEFDT05URVhUQU5HTEVQUk9DIGdsQnVmZmVyU3ViRGF0
YUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0hFQ0tGUkFNRUJVRkZFUlNU
QVRVU0NPTlRFWFRBTkdMRVBST0MgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVBUkNPTlRFWFRBTkdMRVBST0MgZ2xDbGVhckNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJDT0xPUkNPTlRFWFRBTkdM
RVBST0MgZ2xDbGVhckNvbG9yQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xD
TEVBUkRFUFRIRkNPTlRFWFRBTkdMRVBST0MgZ2xDbGVhckRlcHRoZkNvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJTVEVOQ0lMQ09OVEVYVEFOR0xFUFJPQyBnbENsZWFy
U3RlbmNpbENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1JNQVNLQ09O
VEVYVEFOR0xFUFJPQyBnbENvbG9yTWFza0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMQ09NUElMRVNIQURFUkNPTlRFWFRBTkdMRVBST0MgZ2xDb21waWxlU2hhZGVyQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UyRENPTlRF
WFRBTkdMRVBST0MgZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRENvbnRleHRBTkdMRTsKKyAgICBsX2ds
R2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXZPRVM7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVFJFTkRFUkJVRkZFUlBBUkFNRVRFUklWT0VTUFJPQyBsX2dsR2V0UmVuZGVyYnVm
ZmVyUGFyYW1ldGVyaXZPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRlJBTUVCVUZGRVJP
RVNQUk9DIGxfZ2xJc0ZyYW1lYnVmZmVyT0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1JF
TkRFUkJVRkZFUk9FU1BST0MgbF9nbElzUmVuZGVyYnVmZmVyT0VTOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xSRU5ERVJCVUZGRVJTVE9SQUdFT0VTUFJPQyBsX2dsUmVuZGVyYnVmZmVyU3RvcmFn
ZU9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1VSUkVOVFBBTEVUVEVNQVRSSVhPRVNQUk9D
IGxfZ2xDdXJyZW50UGFsZXR0ZU1hdHJpeE9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9B
RFBBTEVUVEVGUk9NTU9ERUxWSUVXTUFUUklYT0VTUFJPQyBsX2dsTG9hZFBhbGV0dGVGcm9tTW9k
ZWxWaWV3TWF0cml4T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRSSVhJTkRFWFBPSU5U
RVJPRVNQUk9DIGxfZ2xNYXRyaXhJbmRleFBvaW50ZXJPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFdFSUdIVFBPSU5URVJPRVNQUk9DIGxfZ2xXZWlnaHRQb2ludGVyT0VTOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xQT0lOVFNJWkVQT0lOVEVST0VTUFJPQyBsX2dsUG9pbnRTaXplUG9pbnRl
ck9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUVVFUllNQVRSSVhYT0VTUFJPQyBsX2dsUXVl
cnlNYXRyaXh4T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhHRU5GVk9FU1BST0Mg
bF9nbEdldFRleEdlbmZ2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhHRU5JVk9F
U1BST0MgbF9nbEdldFRleEdlbml2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhH
RU5YVk9FU1BST0MgbF9nbEdldFRleEdlbnh2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xU
RVhHRU5GT0VTUFJPQyBsX2dsVGV4R2VuZk9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVY
R0VORlZPRVNQUk9DIGxfZ2xUZXhHZW5mdk9FUzsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVY
R0VOSU9FU1BST0MgbF9nbFRleEdlbmlPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEdF
TklWT0VTUFJPQyBsX2dsVGV4R2VuaXZPRVM7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEdF
TlhPRVNQUk9DIGxfZ2xUZXhHZW54T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhHRU5Y
Vk9FU1BST0MgbF9nbFRleEdlbnh2T0VTOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xBTFBIQUZV
TkNDT05URVhUQU5HTEVQUk9DIGxfZ2xBbHBoYUZ1bmNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTENMSVBQTEFORUZDT05URVhUQU5HTEVQUk9DIGxfZ2xDbGlwUGxhbmVmQ29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUjRGQ09OVEVYVEFOR0xFUFJP
QyBsX2dsQ29sb3I0ZkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRk9HRkNP
TlRFWFRBTkdMRVBST0MgbF9nbEZvZ2ZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEZPR0ZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsRm9nZnZDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEZSVVNUVU1GQ09OVEVYVEFOR0xFUFJPQyBsX2dsRnJ1c3R1bWZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVENMSVBQTEFORUZDT05URVhUQU5H
TEVQUk9DIGxfZ2xHZXRDbGlwUGxhbmVmQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRMSUdIVEZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0TGlnaHRmdkNvbnRleHRBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTUFURVJJQUxGVkNPTlRFWFRBTkdMRVBST0Mg
bF9nbEdldE1hdGVyaWFsZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFRFWEVOVkZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VGV4RW52ZnZDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hUTU9ERUxGQ09OVEVYVEFOR0xFUFJPQyBsX2dsTGln
aHRNb2RlbGZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hUTU9ERUxG
VkNPTlRFWFRBTkdMRVBST0MgbF9nbExpZ2h0TW9kZWxmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMTElHSFRGQ09OVEVYVEFOR0xFUFJPQyBsX2dsTGlnaHRmQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xMSUdIVEZWQ09OVEVYVEFOR0xFUFJPQyBsX2ds
TGlnaHRmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9BRE1BVFJJWEZD
T05URVhUQU5HTEVQUk9DIGxfZ2xMb2FkTWF0cml4ZkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMTUFURVJJQUxGQ09OVEVYVEFOR0xFUFJPQyBsX2dsTWF0ZXJpYWxmQ29udGV4
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVRFUklBTEZWQ09OVEVYVEFOR0xFUFJP
QyBsX2dsTWF0ZXJpYWxmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVM
VE1BVFJJWEZDT05URVhUQU5HTEVQUk9DIGxfZ2xNdWx0TWF0cml4ZkNvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElURVhDT09SRDRGQ09OVEVYVEFOR0xFUFJPQyBsX2ds
TXVsdGlUZXhDb29yZDRmQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xOT1JN
QUwzRkNPTlRFWFRBTkdMRVBST0MgbF9nbE5vcm1hbDNmQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xPUlRIT0ZDT05URVhUQU5HTEVQUk9DIGxfZ2xPcnRob2ZDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5UUEFSQU1FVEVSRkNPTlRFWFRBTkdMRVBS
T0MgbF9nbFBvaW50UGFyYW1ldGVyZkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUE9JTlRQQVJBTUVURVJGVkNPTlRFWFRBTkdMRVBST0MgbF9nbFBvaW50UGFyYW1ldGVyZnZD
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPSU5UU0laRUNPTlRFWFRBTkdM
RVBST0MgbF9nbFBvaW50U2l6ZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
Uk9UQVRFRkNPTlRFWFRBTkdMRVBST0MgbF9nbFJvdGF0ZWZDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFNDQUxFRkNPTlRFWFRBTkdMRVBST0MgbF9nbFNjYWxlZkNvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WRkNPTlRFWFRBTkdMRVBST0MgbF9n
bFRleEVudmZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEVOVkZWQ09O
VEVYVEFOR0xFUFJPQyBsX2dsVGV4RW52ZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFRSQU5TTEFURUZDT05URVhUQU5HTEVQUk9DIGxfZ2xUcmFuc2xhdGVmQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xBTFBIQUZVTkNYQ09OVEVYVEFOR0xFUFJPQyBs
X2dsQWxwaGFGdW5jeENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJD
T0xPUlhDT05URVhUQU5HTEVQUk9DIGxfZ2xDbGVhckNvbG9yeENvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJERVBUSFhDT05URVhUQU5HTEVQUk9DIGxfZ2xDbGVhckRl
cHRoeENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xJRU5UQUNUSVZFVEVY
VFVSRUNPTlRFWFRBTkdMRVBST0MgbF9nbENsaWVudEFjdGl2ZVRleHR1cmVDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMSVBQTEFORVhDT05URVhUQU5HTEVQUk9DIGxfZ2xD
bGlwUGxhbmV4Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUjRVQkNP
TlRFWFRBTkdMRVBST0MgbF9nbENvbG9yNHViQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDT0xPUjRYQ09OVEVYVEFOR0xFUFJPQyBsX2dsQ29sb3I0eENvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1JQT0lOVEVSQ09OVEVYVEFOR0xFUFJPQyBsX2ds
Q29sb3JQb2ludGVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVBUSFJB
TkdFWENPTlRFWFRBTkdMRVBST0MgbF9nbERlcHRoUmFuZ2V4Q29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xESVNBQkxFQ0xJRU5UU1RBVEVDT05URVhUQU5HTEVQUk9DIGxfZ2xE
aXNhYmxlQ2xpZW50U3RhdGVDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVO
QUJMRUNMSUVOVFNUQVRFQ09OVEVYVEFOR0xFUFJPQyBsX2dsRW5hYmxlQ2xpZW50U3RhdGVDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZPR1hDT05URVhUQU5HTEVQUk9DIGxf
Z2xGb2d4Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGT0dYVkNPTlRFWFRB
TkdMRVBST0MgbF9nbEZvZ3h2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xG
UlVTVFVNWENPTlRFWFRBTkdMRVBST0MgbF9nbEZydXN0dW14Q29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRVRDTElQUExBTkVYQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0Q2xp
cFBsYW5leENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VURklYRURWQ09O
VEVYVEFOR0xFUFJPQyBsX2dsR2V0Rml4ZWR2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRMSUdIVFhWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0TGlnaHR4dkNvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTUFURVJJQUxYVkNPTlRFWFRBTkdMRVBS
T0MgbF9nbEdldE1hdGVyaWFseHZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVFBPSU5URVJWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0UG9pbnRlcnZDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWEVOVklWQ09OVEVYVEFOR0xFUFJPQyBsX2ds
R2V0VGV4RW52aXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWEVO
VlhWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VGV4RW52eHZDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUlhWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0
VGV4UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJR0hU
TU9ERUxYQ09OVEVYVEFOR0xFUFJPQyBsX2dsTGlnaHRNb2RlbHhDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTExJR0hUTU9ERUxYVkNPTlRFWFRBTkdMRVBST0MgbF9nbExpZ2h0
TW9kZWx4dkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElHSFRYQ09OVEVY
VEFOR0xFUFJPQyBsX2dsTGlnaHR4Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xMSUdIVFhWQ09OVEVYVEFOR0xFUFJPQyBsX2dsTGlnaHR4dkNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMTElORVdJRFRIWENPTlRFWFRBTkdMRVBST0MgbF9nbExpbmVXaWR0
aHhDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPQURJREVOVElUWUNPTlRF
WFRBTkdMRVBST0MgbF9nbExvYWRJZGVudGl0eUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMTE9BRE1BVFJJWFhDT05URVhUQU5HTEVQUk9DIGxfZ2xMb2FkTWF0cml4eENvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9HSUNPUENPTlRFWFRBTkdMRVBST0Mg
bF9nbExvZ2ljT3BDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BVEVSSUFM
WENPTlRFWFRBTkdMRVBST0MgbF9nbE1hdGVyaWFseENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMTUFURVJJQUxYVkNPTlRFWFRBTkdMRVBST0MgbF9nbE1hdGVyaWFseHZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BVFJJWE1PREVDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xNYXRyaXhNb2RlQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xN
VUxUTUFUUklYWENPTlRFWFRBTkdMRVBST0MgbF9nbE11bHRNYXRyaXh4Q29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNVUxUSVRFWENPT1JENFhDT05URVhUQU5HTEVQUk9DIGxf
Z2xNdWx0aVRleENvb3JkNHhDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE5P
Uk1BTDNYQ09OVEVYVEFOR0xFUFJPQyBsX2dsTm9ybWFsM3hDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTE5PUk1BTFBPSU5URVJDT05URVhUQU5HTEVQUk9DIGxfZ2xOb3JtYWxQ
b2ludGVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xPUlRIT1hDT05URVhU
QU5HTEVQUk9DIGxfZ2xPcnRob3hDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFBPSU5UUEFSQU1FVEVSWENPTlRFWFRBTkdMRVBST0MgbF9nbFBvaW50UGFyYW1ldGVyeENvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9JTlRQQVJBTUVURVJYVkNPTlRFWFRB
TkdMRVBST0MgbF9nbFBvaW50UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFBPSU5UU0laRVhDT05URVhUQU5HTEVQUk9DIGxfZ2xQb2ludFNpemV4Q29udGV4
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT0xZR09OT0ZGU0VUWENPTlRFWFRBTkdM
RVBST0MgbF9nbFBvbHlnb25PZmZzZXR4Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xQT1BNQVRSSVhDT05URVhUQU5HTEVQUk9DIGxfZ2xQb3BNYXRyaXhDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBVU0hNQVRSSVhDT05URVhUQU5HTEVQUk9DIGxfZ2xQ
dXNoTWF0cml4Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xST1RBVEVYQ09O
VEVYVEFOR0xFUFJPQyBsX2dsUm90YXRleENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMU0FNUExFQ09WRVJBR0VYQ09OVEVYVEFOR0xFUFJPQyBsX2dsU2FtcGxlQ292ZXJhZ2V4
Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQ0FMRVhDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xTY2FsZXhDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNIQURF
TU9ERUxDT05URVhUQU5HTEVQUk9DIGxfZ2xTaGFkZU1vZGVsQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xURVhDT09SRFBPSU5URVJDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhD
b29yZFBvaW50ZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEVOVklD
T05URVhUQU5HTEVQUk9DIGxfZ2xUZXhFbnZpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xURVhFTlZYQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4RW52eENvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhF
bnZpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYRU5WWFZDT05URVhU
QU5HTEVQUk9DIGxfZ2xUZXhFbnZ4dkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVEVYUEFSQU1FVEVSWENPTlRFWFRBTkdMRVBST0MgbF9nbFRleFBhcmFtZXRlcnhDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUlhWQ09OVEVYVEFOR0xF
UFJPQyBsX2dsVGV4UGFyYW1ldGVyeHZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFRSQU5TTEFURVhDT05URVhUQU5HTEVQUk9DIGxfZ2xUcmFuc2xhdGV4Q29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhQT0lOVEVSQ09OVEVYVEFOR0xFUFJPQyBs
X2dsVmVydGV4UG9pbnRlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQUNU
SVZFVEVYVFVSRUNPTlRFWFRBTkdMRVBST0MgbF9nbEFjdGl2ZVRleHR1cmVDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEFUVEFDSFNIQURFUkNPTlRFWFRBTkdMRVBST0MgbF9n
bEF0dGFjaFNoYWRlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREFU
VFJJQkxPQ0FUSU9OQ09OVEVYVEFOR0xFUFJPQyBsX2dsQmluZEF0dHJpYkxvY2F0aW9uQ29udGV4
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EQlVGRkVSQ09OVEVYVEFOR0xFUFJP
QyBsX2dsQmluZEJ1ZmZlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklO
REZSQU1FQlVGRkVSQ09OVEVYVEFOR0xFUFJPQyBsX2dsQmluZEZyYW1lYnVmZmVyQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EUkVOREVSQlVGRkVSQ09OVEVYVEFOR0xF
UFJPQyBsX2dsQmluZFJlbmRlcmJ1ZmZlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMQklORFRFWFRVUkVDT05URVhUQU5HTEVQUk9DIGxfZ2xCaW5kVGV4dHVyZUNvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRDT0xPUkNPTlRFWFRBTkdMRVBST0Mg
bF9nbEJsZW5kQ29sb3JDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5E
RVFVQVRJT05DT05URVhUQU5HTEVQUk9DIGxfZ2xCbGVuZEVxdWF0aW9uQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9OU0VQQVJBVEVDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGVDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEJMRU5ERlVOQ0NPTlRFWFRBTkdMRVBST0MgbF9nbEJsZW5kRnVuY0NvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DU0VQQVJBVEVDT05URVhUQU5H
TEVQUk9DIGxfZ2xCbGVuZEZ1bmNTZXBhcmF0ZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMQlVGRkVSREFUQUNPTlRFWFRBTkdMRVBST0MgbF9nbEJ1ZmZlckRhdGFDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJVRkZFUlNVQkRBVEFDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xCdWZmZXJTdWJEYXRhQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xDSEVDS0ZSQU1FQlVGRkVSU1RBVFVTQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xDaGVja0Zy
YW1lYnVmZmVyU3RhdHVzQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDTEVB
UkNPTlRFWFRBTkdMRVBST0MgbF9nbENsZWFyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDTEVBUkNPTE9SQ09OVEVYVEFOR0xFUFJPQyBsX2dsQ2xlYXJDb2xvckNvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJERVBUSEZDT05URVhUQU5HTEVQUk9D
IGxfZ2xDbGVhckRlcHRoZkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xF
QVJTVEVOQ0lMQ09OVEVYVEFOR0xFUFJPQyBsX2dsQ2xlYXJTdGVuY2lsQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT0xPUk1BU0tDT05URVhUQU5HTEVQUk9DIGxfZ2xDb2xv
ck1hc2tDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBJTEVTSEFERVJD
T05URVhUQU5HTEVQUk9DIGxfZ2xDb21waWxlU2hhZGVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UyRENPTlRFWFRBTkdMRVBST0MgbF9nbENv
bXByZXNzZWRUZXhJbWFnZTJEQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xD
T01QUkVTU0VEVEVYU1VCSU1BR0UyRENPTlRFWFRBTkdMRVBST0MKLSAgICBnbENvbXByZXNzZWRU
ZXhTdWJJbWFnZTJEQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1BZVEVY
SU1BR0UyRENPTlRFWFRBTkdMRVBST0MgZ2xDb3B5VGV4SW1hZ2UyRENvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVRFWFNVQklNQUdFMkRDT05URVhUQU5HTEVQUk9DIGds
Q29weVRleFN1YkltYWdlMkRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENS
RUFURVBST0dSQU1DT05URVhUQU5HTEVQUk9DIGdsQ3JlYXRlUHJvZ3JhbUNvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1JFQVRFU0hBREVSQ09OVEVYVEFOR0xFUFJPQyBnbENy
ZWF0ZVNoYWRlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1VMTEZBQ0VD
T05URVhUQU5HTEVQUk9DIGdsQ3VsbEZhY2VDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTERFTEVURUJVRkZFUlNDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRlQnVmZmVyc0NvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFRlJBTUVCVUZGRVJTQ09OVEVY
VEFOR0xFUFJPQyBnbERlbGV0ZUZyYW1lYnVmZmVyc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMREVMRVRFUFJPR1JBTUNPTlRFWFRBTkdMRVBST0MgZ2xEZWxldGVQcm9ncmFt
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVSRU5ERVJCVUZGRVJT
Q09OVEVYVEFOR0xFUFJPQyBnbERlbGV0ZVJlbmRlcmJ1ZmZlcnNDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVNIQURFUkNPTlRFWFRBTkdMRVBST0MgZ2xEZWxldGVT
aGFkZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVRFWFRVUkVT
Q09OVEVYVEFOR0xFUFJPQyBnbERlbGV0ZVRleHR1cmVzQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xERVBUSEZVTkNDT05URVhUQU5HTEVQUk9DIGdsRGVwdGhGdW5jQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVBUSE1BU0tDT05URVhUQU5HTEVQUk9D
IGdsRGVwdGhNYXNrQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVBUSFJB
TkdFRkNPTlRFWFRBTkdMRVBST0MgZ2xEZXB0aFJhbmdlZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVUQUNIU0hBREVSQ09OVEVYVEFOR0xFUFJPQyBnbERldGFjaFNoYWRl
ckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElTQUJMRUNPTlRFWFRBTkdM
RVBST0MgZ2xEaXNhYmxlQ29udGV4dEFOR0xFOworICAgIGxfZ2xDb21wcmVzc2VkVGV4U3ViSW1h
Z2UyRENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVRFWElNQUdFMkRD
T05URVhUQU5HTEVQUk9DIGxfZ2xDb3B5VGV4SW1hZ2UyRENvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMQ09QWVRFWFNVQklNQUdFMkRDT05URVhUQU5HTEVQUk9DIGxfZ2xDb3B5
VGV4U3ViSW1hZ2UyRENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1JFQVRF
UFJPR1JBTUNPTlRFWFRBTkdMRVBST0MgbF9nbENyZWF0ZVByb2dyYW1Db250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTENSRUFURVNIQURFUkNPTlRFWFRBTkdMRVBST0MgbF9nbENy
ZWF0ZVNoYWRlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1VMTEZBQ0VD
T05URVhUQU5HTEVQUk9DIGxfZ2xDdWxsRmFjZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMREVMRVRFQlVGRkVSU0NPTlRFWFRBTkdMRVBST0MgbF9nbERlbGV0ZUJ1ZmZlcnND
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURUZSQU1FQlVGRkVSU0NP
TlRFWFRBTkdMRVBST0MgbF9nbERlbGV0ZUZyYW1lYnVmZmVyc0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFUFJPR1JBTUNPTlRFWFRBTkdMRVBST0MgbF9nbERlbGV0
ZVByb2dyYW1Db250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVJFTkRF
UkJVRkZFUlNDT05URVhUQU5HTEVQUk9DIGxfZ2xEZWxldGVSZW5kZXJidWZmZXJzQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxFVEVTSEFERVJDT05URVhUQU5HTEVQUk9D
IGxfZ2xEZWxldGVTaGFkZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERF
TEVURVRFWFRVUkVTQ09OVEVYVEFOR0xFUFJPQyBsX2dsRGVsZXRlVGV4dHVyZXNDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFUFRIRlVOQ0NPTlRFWFRBTkdMRVBST0MgbF9n
bERlcHRoRnVuY0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVQVEhNQVNL
Q09OVEVYVEFOR0xFUFJPQyBsX2dsRGVwdGhNYXNrQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xERVBUSFJBTkdFRkNPTlRFWFRBTkdMRVBST0MgbF9nbERlcHRoUmFuZ2VmQ29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERVRBQ0hTSEFERVJDT05URVhUQU5H
TEVQUk9DIGxfZ2xEZXRhY2hTaGFkZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERJU0FCTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xEaXNhYmxlQ29udGV4dEFOR0xFOwogQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xESVNBQkxFVkVSVEVYQVRUUklCQVJSQVlDT05URVhUQU5HTEVQ
Uk9DCi0gICAgZ2xEaXNhYmxlVmVydGV4QXR0cmliQXJyYXlDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTERSQVdBUlJBWVNDT05URVhUQU5HTEVQUk9DIGdsRHJhd0FycmF5c0Nv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTQ09OVEVYVEFO
R0xFUFJPQyBnbERyYXdFbGVtZW50c0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRU5BQkxFQ09OVEVYVEFOR0xFUFJPQyBnbEVuYWJsZUNvbnRleHRBTkdMRTsKKyAgICBsX2ds
RGlzYWJsZVZlcnRleEF0dHJpYkFycmF5Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xEUkFXQVJSQVlTQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJhd0FycmF5c0NvbnRleHRBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTQ09OVEVYVEFOR0xFUFJPQyBs
X2dsRHJhd0VsZW1lbnRzQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkFC
TEVDT05URVhUQU5HTEVQUk9DIGxfZ2xFbmFibGVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEVOQUJMRVZFUlRFWEFUVFJJQkFSUkFZQ09OVEVYVEFOR0xFUFJPQwotICAgIGds
RW5hYmxlVmVydGV4QXR0cmliQXJyYXlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEZJTklTSENPTlRFWFRBTkdMRVBST0MgZ2xGaW5pc2hDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEZMVVNIQ09OVEVYVEFOR0xFUFJPQyBnbEZsdXNoQ29udGV4dEFOR0xF
OworICAgIGxfZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheUNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMRklOSVNIQ09OVEVYVEFOR0xFUFJPQyBsX2dsRmluaXNoQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGTFVTSENPTlRFWFRBTkdMRVBST0MgbF9nbEZs
dXNoQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlJFTkRF
UkJVRkZFUkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRENP
TlRFWFRBTkdMRVBST0MgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRENvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMRlJPTlRGQUNFQ09OVEVYVEFOR0xFUFJPQyBnbEZyb250RmFjZUNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOQlVGRkVSU0NPTlRFWFRBTkdM
RVBST0MgZ2xHZW5CdWZmZXJzQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RU5FUkFURU1JUE1BUENPTlRFWFRBTkdMRVBST0MgZ2xHZW5lcmF0ZU1pcG1hcENvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORlJBTUVCVUZGRVJTQ09OVEVYVEFOR0xFUFJP
QyBnbEdlbkZyYW1lYnVmZmVyc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VOUkVOREVSQlVGRkVSU0NPTlRFWFRBTkdMRVBST0MgZ2xHZW5SZW5kZXJidWZmZXJzQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5URVhUVVJFU0NPTlRFWFRBTkdMRVBS
T0MgZ2xHZW5UZXh0dXJlc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
QUNUSVZFQVRUUklCQ09OVEVYVEFOR0xFUFJPQyBnbEdldEFjdGl2ZUF0dHJpYkNvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNUSVZFVU5JRk9STUNPTlRFWFRBTkdMRVBS
T0MgZ2xHZXRBY3RpdmVVbmlmb3JtQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRBVFRBQ0hFRFNIQURFUlNDT05URVhUQU5HTEVQUk9DIGdsR2V0QXR0YWNoZWRTaGFkZXJz
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRBVFRSSUJMT0NBVElPTkNP
TlRFWFRBTkdMRVBST0MgZ2xHZXRBdHRyaWJMb2NhdGlvbkNvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVBTlZDT05URVhUQU5HTEVQUk9DIGdsR2V0Qm9vbGVhbnZD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJVRkZFUlBBUkFNRVRFUklW
Q09OVEVYVEFOR0xFUFJPQyBnbEdldEJ1ZmZlclBhcmFtZXRlcml2Q29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRFUlJPUkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRFcnJvckNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VURkxPQVRWQ09OVEVYVEFOR0xF
UFJPQyBnbEdldEZsb2F0dkNvbnRleHRBTkdMRTsKKyAgICBsX2dsRnJhbWVidWZmZXJSZW5kZXJi
dWZmZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZSQU1FQlVGRkVSVEVY
VFVSRTJEQ09OVEVYVEFOR0xFUFJPQyBsX2dsRnJhbWVidWZmZXJUZXh0dXJlMkRDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEZST05URkFDRUNPTlRFWFRBTkdMRVBST0MgbF9n
bEZyb250RmFjZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOQlVGRkVS
U0NPTlRFWFRBTkdMRVBST0MgbF9nbEdlbkJ1ZmZlcnNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFTkVSQVRFTUlQTUFQQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuZXJhdGVN
aXBtYXBDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTkZSQU1FQlVGRkVS
U0NPTlRFWFRBTkdMRVBST0MgbF9nbEdlbkZyYW1lYnVmZmVyc0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VOUkVOREVSQlVGRkVSU0NPTlRFWFRBTkdMRVBST0MgbF9nbEdl
blJlbmRlcmJ1ZmZlcnNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTlRF
WFRVUkVTQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuVGV4dHVyZXNDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVEFDVElWRUFUVFJJQkNPTlRFWFRBTkdMRVBST0MgbF9nbEdl
dEFjdGl2ZUF0dHJpYkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNU
SVZFVU5JRk9STUNPTlRFWFRBTkdMRVBST0MgbF9nbEdldEFjdGl2ZVVuaWZvcm1Db250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEFUVEFDSEVEU0hBREVSU0NPTlRFWFRBTkdM
RVBST0MgbF9nbEdldEF0dGFjaGVkU2hhZGVyc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUQVRUUklCTE9DQVRJT05DT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRBdHRyaWJM
b2NhdGlvbkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVBTlZD
T05URVhUQU5HTEVQUk9DIGxfZ2xHZXRCb29sZWFudkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUQlVGRkVSUEFSQU1FVEVSSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRC
dWZmZXJQYXJhbWV0ZXJpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
RVJST1JDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRFcnJvckNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VURkxPQVRWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0RmxvYXR2Q29u
dGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRGUkFNRUJVRkZFUkFUVEFDSE1F
TlRQQVJBTUVURVJJVkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlcml2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJ
TlRFR0VSVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRJbnRlZ2VydkNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFByb2dy
YW1pdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlORk9M
T0dDT05URVhUQU5HTEVQUk9DIGdsR2V0UHJvZ3JhbUluZm9Mb2dDb250ZXh0QU5HTEU7CisgICAg
bF9nbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2Q29udGV4dEFOR0xFOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFR0VSVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldElu
dGVnZXJ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNSVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xHZXRQcm9ncmFtaXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFBST0dSQU1JTkZPTE9HQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0UHJv
Z3JhbUluZm9Mb2dDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFJFTkRF
UkJVRkZFUlBBUkFNRVRFUklWQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0UmVuZGVyYnVmZmVy
UGFyYW1ldGVyaXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNIQURF
UklWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFNoYWRlcml2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRTSEFERVJJTkZPTE9HQ09OVEVYVEFOR0xFUFJPQyBnbEdldFNoYWRl
ckluZm9Mb2dDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2
Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTSEFERVJJVkNPTlRFWFRB
TkdMRVBST0MgbF9nbEdldFNoYWRlcml2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRTSEFERVJJTkZPTE9HQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0U2hhZGVySW5mb0xv
Z0NvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0hBREVSUFJFQ0lTSU9O
Rk9STUFUQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0Q29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTSEFERVJTT1VSQ0VDT05URVhU
QU5HTEVQUk9DIGdsR2V0U2hhZGVyU291cmNlQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRTVFJJTkdDT05URVhUQU5HTEVQUk9DIGdsR2V0U3RyaW5nQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJGVkNPTlRFWFRBTkdMRVBS
T0MgZ2xHZXRUZXhQYXJhbWV0ZXJmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVEVYUEFSQU1FVEVSSVZDT05URVhUQU5HTEVQUk9DIGdsR2V0VGV4UGFyYW1ldGVyaXZD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1GVkNPTlRFWFRB
TkdMRVBST0MgZ2xHZXRVbmlmb3JtZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFVOSUZPUk1JVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRVbmlmb3JtaXZDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1MT0NBVElPTkNPTlRFWFRBTkdM
RVBST0MgZ2xHZXRVbmlmb3JtTG9jYXRpb25Db250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEdFVFZFUlRFWEFUVFJJQkZWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFZlcnRleEF0dHJp
YmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJJ
VkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRWZXJ0ZXhBdHRyaWJpdkNvbnRleHRBTkdMRTsKKyAgICBs
X2dsR2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRTSEFERVJTT1VSQ0VDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRTaGFkZXJTb3Vy
Y2VDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNUUklOR0NPTlRFWFRB
TkdMRVBST0MgbF9nbEdldFN0cmluZ0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVEVYUEFSQU1FVEVSRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJm
dkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSSVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xHZXRUZXhQYXJhbWV0ZXJpdkNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9STUZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VW5p
Zm9ybWZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTklGT1JNSVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xHZXRVbmlmb3JtaXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1MT0NBVElPTkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldFVu
aWZvcm1Mb2NhdGlvbkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVS
VEVYQVRUUklCRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJmdkNvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCSVZDT05URVhUQU5H
TEVQUk9DIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJpdkNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCUE9JTlRFUlZDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xH
ZXRWZXJ0ZXhBdHRyaWJQb2ludGVydkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMSElOVENPTlRFWFRBTkdMRVBST0MgZ2xIaW50Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xJU0JVRkZFUkNPTlRFWFRBTkdMRVBST0MgZ2xJc0J1ZmZlckNvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNFTkFCTEVEQ09OVEVYVEFOR0xFUFJPQyBnbElz
RW5hYmxlZENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNGUkFNRUJVRkZF
UkNPTlRFWFRBTkdMRVBST0MgZ2xJc0ZyYW1lYnVmZmVyQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xJU1BST0dSQU1DT05URVhUQU5HTEVQUk9DIGdsSXNQcm9ncmFtQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1JFTkRFUkJVRkZFUkNPTlRFWFRBTkdM
RVBST0MgZ2xJc1JlbmRlcmJ1ZmZlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMSVNTSEFERVJDT05URVhUQU5HTEVQUk9DIGdsSXNTaGFkZXJDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTElTVEVYVFVSRUNPTlRFWFRBTkdMRVBST0MgZ2xJc1RleHR1cmVD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJTkVXSURUSENPTlRFWFRBTkdM
RVBST0MgZ2xMaW5lV2lkdGhDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTExJ
TktQUk9HUkFNQ09OVEVYVEFOR0xFUFJPQyBnbExpbmtQcm9ncmFtQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xQSVhFTFNUT1JFSUNPTlRFWFRBTkdMRVBST0MgZ2xQaXhlbFN0
b3JlaUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9MWUdPTk9GRlNFVENP
TlRFWFRBTkdMRVBST0MgZ2xQb2x5Z29uT2Zmc2V0Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xSRUFEUElYRUxTQ09OVEVYVEFOR0xFUFJPQyBnbFJlYWRQaXhlbHNDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFTEVBU0VTSEFERVJDT01QSUxFUkNPTlRF
WFRBTkdMRVBST0MgZ2xSZWxlYXNlU2hhZGVyQ29tcGlsZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFJFTkRFUkJVRkZFUlNUT1JBR0VDT05URVhUQU5HTEVQUk9DIGdsUmVu
ZGVyYnVmZmVyU3RvcmFnZUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FN
UExFQ09WRVJBR0VDT05URVhUQU5HTEVQUk9DIGdsU2FtcGxlQ292ZXJhZ2VDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNDSVNTT1JDT05URVhUQU5HTEVQUk9DIGdsU2Npc3Nv
ckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0hBREVSQklOQVJZQ09OVEVY
VEFOR0xFUFJPQyBnbFNoYWRlckJpbmFyeUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMU0hBREVSU09VUkNFQ09OVEVYVEFOR0xFUFJPQyBnbFNoYWRlclNvdXJjZUNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTEZVTkNDT05URVhUQU5HTEVQUk9D
IGdsU3RlbmNpbEZ1bmNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNURU5D
SUxGVU5DU0VQQVJBVEVDT05URVhUQU5HTEVQUk9DIGdsU3RlbmNpbEZ1bmNTZXBhcmF0ZUNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE1BU0tDT05URVhUQU5HTEVQ
Uk9DIGdsU3RlbmNpbE1hc2tDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNU
RU5DSUxNQVNLU0VQQVJBVEVDT05URVhUQU5HTEVQUk9DIGdsU3RlbmNpbE1hc2tTZXBhcmF0ZUNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTE9QQ09OVEVYVEFOR0xF
UFJPQyBnbFN0ZW5jaWxPcENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RF
TkNJTE9QU0VQQVJBVEVDT05URVhUQU5HTEVQUk9DIGdsU3RlbmNpbE9wU2VwYXJhdGVDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWElNQUdFMkRDT05URVhUQU5HTEVQUk9D
IGdsVGV4SW1hZ2UyRENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFS
QU1FVEVSRkNPTlRFWFRBTkdMRVBST0MgZ2xUZXhQYXJhbWV0ZXJmQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJGVkNPTlRFWFRBTkdMRVBST0MgZ2xUZXhQ
YXJhbWV0ZXJmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1F
VEVSSUNPTlRFWFRBTkdMRVBST0MgZ2xUZXhQYXJhbWV0ZXJpQ29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJJVkNPTlRFWFRBTkdMRVBST0MgZ2xUZXhQYXJh
bWV0ZXJpdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VCSU1BR0Uy
RENPTlRFWFRBTkdMRVBST0MgZ2xUZXhTdWJJbWFnZTJEQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xVTklGT1JNMUZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTFmQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMUZWQ09OVEVYVEFOR0xFUFJP
QyBnbFVuaWZvcm0xZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZP
Uk0xSUNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtMWlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFVOSUZPUk0xSVZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTFpdkNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTJGQ09OVEVYVEFOR0xFUFJP
QyBnbFVuaWZvcm0yZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9S
TTJGVkNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtMmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xVTklGT1JNMklDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTJpQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMklWQ09OVEVYVEFOR0xFUFJP
QyBnbFVuaWZvcm0yaXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZP
Uk0zRkNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtM2ZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFVOSUZPUk0zRlZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTNmdkNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTNJQ09OVEVYVEFOR0xFUFJP
QyBnbFVuaWZvcm0zaUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9S
TTNJVkNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtM2l2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xVTklGT1JNNEZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTRmQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNEZWQ09OVEVYVEFOR0xFUFJP
QyBnbFVuaWZvcm00ZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZP
Uk00SUNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtNGlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFVOSUZPUk00SVZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybTRpdkNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDJGVkNPTlRFWFRB
TkdMRVBST0MgZ2xVbmlmb3JtTWF0cml4MmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xVTklGT1JNTUFUUklYM0ZWQ09OVEVYVEFOR0xFUFJPQyBnbFVuaWZvcm1NYXRyaXgz
ZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVg0RlZD
T05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybU1hdHJpeDRmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVVNFUFJPR1JBTUNPTlRFWFRBTkdMRVBST0MgZ2xVc2VQcm9ncmFtQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWQUxJREFURVBST0dSQU1DT05URVhU
QU5HTEVQUk9DIGdsVmFsaWRhdGVQcm9ncmFtQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xWRVJURVhBVFRSSUIxRkNPTlRFWFRBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWIxZkNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCMUZWQ09OVEVY
VEFOR0xFUFJPQyBnbFZlcnRleEF0dHJpYjFmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVkVSVEVYQVRUUklCMkZDT05URVhUQU5HTEVQUk9DIGdsVmVydGV4QXR0cmliMmZD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjJGVkNPTlRF
WFRBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWIyZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFZFUlRFWEFUVFJJQjNGQ09OVEVYVEFOR0xFUFJPQyBnbFZlcnRleEF0dHJpYjNm
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUIzRlZDT05U
RVhUQU5HTEVQUk9DIGdsVmVydGV4QXR0cmliM2Z2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xWRVJURVhBVFRSSUI0RkNPTlRFWFRBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWI0
ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCNEZWQ09O
VEVYVEFOR0xFUFJPQyBnbFZlcnRleEF0dHJpYjRmdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCUE9JTlRFUkNPTlRFWFRBTkdMRVBST0MgZ2xWZXJ0ZXhB
dHRyaWJQb2ludGVyQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWSUVXUE9S
VENPTlRFWFRBTkdMRVBST0MgZ2xWaWV3cG9ydENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMUkVBREJVRkZFUkNPTlRFWFRBTkdMRVBST0MgZ2xSZWFkQnVmZmVyQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXUkFOR0VFTEVNRU5UU0NPTlRFWFRBTkdM
RVBST0MgZ2xEcmF3UmFuZ2VFbGVtZW50c0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVEVYSU1BR0UzRENPTlRFWFRBTkdMRVBST0MgZ2xUZXhJbWFnZTNEQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVUJJTUFHRTNEQ09OVEVYVEFOR0xFUFJPQyBn
bFRleFN1YkltYWdlM0RDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPUFlU
RVhTVUJJTUFHRTNEQ09OVEVYVEFOR0xFUFJPQyBnbENvcHlUZXhTdWJJbWFnZTNEQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UzRENPTlRFWFRB
TkdMRVBST0MgZ2xDb21wcmVzc2VkVGV4SW1hZ2UzRENvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0
VmVydGV4QXR0cmliUG9pbnRlcnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEhJTlRDT05URVhUQU5HTEVQUk9DIGxfZ2xIaW50Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xJU0JVRkZFUkNPTlRFWFRBTkdMRVBST0MgbF9nbElzQnVmZmVyQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0VOQUJMRURDT05URVhUQU5HTEVQUk9DIGxf
Z2xJc0VuYWJsZWRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRlJBTUVC
VUZGRVJDT05URVhUQU5HTEVQUk9DIGxfZ2xJc0ZyYW1lYnVmZmVyQ29udGV4dEFOR0xFOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xJU1BST0dSQU1DT05URVhUQU5HTEVQUk9DIGxfZ2xJc1Byb2dy
YW1Db250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUkVOREVSQlVGRkVSQ09O
VEVYVEFOR0xFUFJPQyBsX2dsSXNSZW5kZXJidWZmZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTElTU0hBREVSQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNTaGFkZXJDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTVEVYVFVSRUNPTlRFWFRBTkdMRVBST0Mg
bF9nbElzVGV4dHVyZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTElORVdJ
RFRIQ09OVEVYVEFOR0xFUFJPQyBsX2dsTGluZVdpZHRoQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xMSU5LUFJPR1JBTUNPTlRFWFRBTkdMRVBST0MgbF9nbExpbmtQcm9ncmFt
Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQSVhFTFNUT1JFSUNPTlRFWFRB
TkdMRVBST0MgbF9nbFBpeGVsU3RvcmVpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xQT0xZR09OT0ZGU0VUQ09OVEVYVEFOR0xFUFJPQyBsX2dsUG9seWdvbk9mZnNldENvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVBRFBJWEVMU0NPTlRFWFRBTkdMRVBS
T0MgbF9nbFJlYWRQaXhlbHNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJF
TEVBU0VTSEFERVJDT01QSUxFUkNPTlRFWFRBTkdMRVBST0MgbF9nbFJlbGVhc2VTaGFkZXJDb21w
aWxlckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVOREVSQlVGRkVSU1RP
UkFHRUNPTlRFWFRBTkdMRVBST0MgbF9nbFJlbmRlcmJ1ZmZlclN0b3JhZ2VDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRUNPVkVSQUdFQ09OVEVYVEFOR0xFUFJPQyBs
X2dsU2FtcGxlQ292ZXJhZ2VDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFND
SVNTT1JDT05URVhUQU5HTEVQUk9DIGxfZ2xTY2lzc29yQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xTSEFERVJCSU5BUllDT05URVhUQU5HTEVQUk9DIGxfZ2xTaGFkZXJCaW5h
cnlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNIQURFUlNPVVJDRUNPTlRF
WFRBTkdMRVBST0MgbF9nbFNoYWRlclNvdXJjZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMU1RFTkNJTEZVTkNDT05URVhUQU5HTEVQUk9DIGxfZ2xTdGVuY2lsRnVuY0NvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU1RFTkNJTEZVTkNTRVBBUkFURUNPTlRF
WFRBTkdMRVBST0MgbF9nbFN0ZW5jaWxGdW5jU2VwYXJhdGVDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFNURU5DSUxNQVNLQ09OVEVYVEFOR0xFUFJPQyBsX2dsU3RlbmNpbE1h
c2tDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNURU5DSUxNQVNLU0VQQVJB
VEVDT05URVhUQU5HTEVQUk9DIGxfZ2xTdGVuY2lsTWFza1NlcGFyYXRlQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTVEVOQ0lMT1BDT05URVhUQU5HTEVQUk9DIGxfZ2xTdGVu
Y2lsT3BDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNURU5DSUxPUFNFUEFS
QVRFQ09OVEVYVEFOR0xFUFJPQyBsX2dsU3RlbmNpbE9wU2VwYXJhdGVDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWElNQUdFMkRDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhJ
bWFnZTJEQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJG
Q09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4UGFyYW1ldGVyZkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhQYXJh
bWV0ZXJmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVS
SUNPTlRFWFRBTkdMRVBST0MgbF9nbFRleFBhcmFtZXRlcmlDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUklWQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4UGFy
YW1ldGVyaXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNVQklNQUdF
MkRDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhTdWJJbWFnZTJEQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMUZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMWZD
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xRlZDT05URVhUQU5H
TEVQUk9DIGxfZ2xVbmlmb3JtMWZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xVTklGT1JNMUlDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMWlDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0xSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlm
b3JtMWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMkZDT05U
RVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMmZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFVOSUZPUk0yRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMmZ2Q29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMklDT05URVhUQU5HTEVQUk9DIGxf
Z2xVbmlmb3JtMmlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0y
SVZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMml2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xVTklGT1JNM0ZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtM2ZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0zRlZDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xVbmlmb3JtM2Z2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xV
TklGT1JNM0lDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtM2lDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0zSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3Jt
M2l2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNEZDT05URVhU
QU5HTEVQUk9DIGxfZ2xVbmlmb3JtNGZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFVOSUZPUk00RlZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtNGZ2Q29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNElDT05URVhUQU5HTEVQUk9DIGxfZ2xV
bmlmb3JtNGlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk00SVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtNGl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xVTklGT1JNTUFUUklYMkZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsVW5pZm9ybU1h
dHJpeDJmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJ
WDNGVkNPTlRFWFRBTkdMRVBST0MgbF9nbFVuaWZvcm1NYXRyaXgzZnZDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVg0RlZDT05URVhUQU5HTEVQUk9DIGxf
Z2xVbmlmb3JtTWF0cml4NGZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xV
U0VQUk9HUkFNQ09OVEVYVEFOR0xFUFJPQyBsX2dsVXNlUHJvZ3JhbUNvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVkFMSURBVEVQUk9HUkFNQ09OVEVYVEFOR0xFUFJPQyBsX2ds
VmFsaWRhdGVQcm9ncmFtQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJU
RVhBVFRSSUIxRkNPTlRFWFRBTkdMRVBST0MgbF9nbFZlcnRleEF0dHJpYjFmQ29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUIxRlZDT05URVhUQU5HTEVQUk9D
IGxfZ2xWZXJ0ZXhBdHRyaWIxZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFZFUlRFWEFUVFJJQjJGQ09OVEVYVEFOR0xFUFJPQyBsX2dsVmVydGV4QXR0cmliMmZDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQjJGVkNPTlRFWFRBTkdM
RVBST0MgbF9nbFZlcnRleEF0dHJpYjJmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVkVSVEVYQVRUUklCM0ZDT05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWIzZkNv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCM0ZWQ09OVEVY
VEFOR0xFUFJPQyBsX2dsVmVydGV4QXR0cmliM2Z2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xWRVJURVhBVFRSSUI0RkNPTlRFWFRBTkdMRVBST0MgbF9nbFZlcnRleEF0dHJp
YjRmQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUI0RlZD
T05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWI0ZnZDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQlBPSU5URVJDT05URVhUQU5HTEVQUk9DIGxfZ2xW
ZXJ0ZXhBdHRyaWJQb2ludGVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xW
SUVXUE9SVENPTlRFWFRBTkdMRVBST0MgbF9nbFZpZXdwb3J0Q29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xSRUFEQlVGRkVSQ09OVEVYVEFOR0xFUFJPQyBsX2dsUmVhZEJ1ZmZl
ckNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1JBTkdFRUxFTUVOVFND
T05URVhUQU5HTEVQUk9DIGxfZ2xEcmF3UmFuZ2VFbGVtZW50c0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYSU1BR0UzRENPTlRFWFRBTkdMRVBST0MgbF9nbFRleEltYWdl
M0RDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNVQklNQUdFM0RDT05U
RVhUQU5HTEVQUk9DIGxfZ2xUZXhTdWJJbWFnZTNEQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xDT1BZVEVYU1VCSU1BR0UzRENPTlRFWFRBTkdMRVBST0MgbF9nbENvcHlUZXhT
dWJJbWFnZTNEQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VE
VEVYSU1BR0UzRENPTlRFWFRBTkdMRVBST0MgbF9nbENvbXByZXNzZWRUZXhJbWFnZTNEQ29udGV4
dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYU1VCSU1BR0UzRENP
TlRFWFRBTkdMRVBST0MKLSAgICBnbENvbXByZXNzZWRUZXhTdWJJbWFnZTNEQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5RVUVSSUVTQ09OVEVYVEFOR0xFUFJPQyBnbEdl
blF1ZXJpZXNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVFVRVJJ
RVNDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRlUXVlcmllc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNRVUVSWUNPTlRFWFRBTkdMRVBST0MgZ2xJc1F1ZXJ5Q29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCRUdJTlFVRVJZQ09OVEVYVEFOR0xFUFJPQyBn
bEJlZ2luUXVlcnlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVORFFVRVJZ
Q09OVEVYVEFOR0xFUFJPQyBnbEVuZFF1ZXJ5Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRRVUVSWUlWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFF1ZXJ5aXZDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUVUlWQ09OVEVYVEFOR0xF
UFJPQyBnbEdldFF1ZXJ5T2JqZWN0dWl2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xVTk1BUEJVRkZFUkNPTlRFWFRBTkdMRVBST0MgZ2xVbm1hcEJ1ZmZlckNvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQlVGRkVSUE9JTlRFUlZDT05URVhUQU5HTEVQ
Uk9DIGdsR2V0QnVmZmVyUG9pbnRlcnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERSQVdCVUZGRVJTQ09OVEVYVEFOR0xFUFJPQyBnbERyYXdCdWZmZXJzQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYMlgzRlZDT05URVhUQU5HTEVQ
Uk9DIGdsVW5pZm9ybU1hdHJpeDJ4M2Z2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xVTklGT1JNTUFUUklYM1gyRlZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybU1hdHJpeDN4
MmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYMlg0
RlZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybU1hdHJpeDJ4NGZ2Q29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYNFgyRlZDT05URVhUQU5HTEVQUk9DIGds
VW5pZm9ybU1hdHJpeDR4MmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xV
TklGT1JNTUFUUklYM1g0RlZDT05URVhUQU5HTEVQUk9DIGdsVW5pZm9ybU1hdHJpeDN4NGZ2Q29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNTUFUUklYNFgzRlZDT05U
RVhUQU5HTEVQUk9DIGdsVW5pZm9ybU1hdHJpeDR4M2Z2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xCTElURlJBTUVCVUZGRVJDT05URVhUQU5HTEVQUk9DIGdsQmxpdEZyYW1l
YnVmZmVyQ29udGV4dEFOR0xFOworICAgIGxfZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRENvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOUVVFUklFU0NPTlRFWFRBTkdMRVBS
T0MgbF9nbEdlblF1ZXJpZXNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERF
TEVURVFVRVJJRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xEZWxldGVRdWVyaWVzQ29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1FVRVJZQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNR
dWVyeUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkVHSU5RVUVSWUNPTlRF
WFRBTkdMRVBST0MgbF9nbEJlZ2luUXVlcnlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTEVORFFVRVJZQ09OVEVYVEFOR0xFUFJPQyBsX2dsRW5kUXVlcnlDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xH
ZXRRdWVyeWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9C
SkVDVFVJVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldFF1ZXJ5T2JqZWN0dWl2Q29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTk1BUEJVRkZFUkNPTlRFWFRBTkdMRVBST0MgbF9n
bFVubWFwQnVmZmVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZG
RVJQT0lOVEVSVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldEJ1ZmZlclBvaW50ZXJ2Q29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQlVGRkVSU0NPTlRFWFRBTkdMRVBST0Mg
bF9nbERyYXdCdWZmZXJzQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklG
T1JNTUFUUklYMlgzRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtTWF0cml4MngzZnZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgzWDJGVkNPTlRF
WFRBTkdMRVBST0MgbF9nbFVuaWZvcm1NYXRyaXgzeDJmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDJYNEZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsVW5p
Zm9ybU1hdHJpeDJ4NGZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklG
T1JNTUFUUklYNFgyRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtTWF0cml4NHgyZnZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1NQVRSSVgzWDRGVkNPTlRF
WFRBTkdMRVBST0MgbF9nbFVuaWZvcm1NYXRyaXgzeDRmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVU5JRk9STU1BVFJJWDRYM0ZWQ09OVEVYVEFOR0xFUFJPQyBsX2dsVW5p
Zm9ybU1hdHJpeDR4M2Z2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTElU
RlJBTUVCVUZGRVJDT05URVhUQU5HTEVQUk9DIGxfZ2xCbGl0RnJhbWVidWZmZXJDb250ZXh0QU5H
TEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFJFTkRFUkJVRkZFUlNUT1JBR0VNVUxUSVNBTVBM
RUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUNv
bnRleHRBTkdMRTsKKyAgICBsX2dsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlQ29udGV4
dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkVMQVlFUkNP
TlRFWFRBTkdMRVBST0MKLSAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZUxheWVyQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVBCVUZGRVJSQU5HRUNPTlRFWFRBTkdMRVBST0Mg
Z2xNYXBCdWZmZXJSYW5nZUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRkxV
U0hNQVBQRURCVUZGRVJSQU5HRUNPTlRFWFRBTkdMRVBST0MgZ2xGbHVzaE1hcHBlZEJ1ZmZlclJh
bmdlQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EVkVSVEVYQVJSQVlD
T05URVhUQU5HTEVQUk9DIGdsQmluZFZlcnRleEFycmF5Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xERUxFVEVWRVJURVhBUlJBWVNDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRl
VmVydGV4QXJyYXlzQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5WRVJU
RVhBUlJBWVNDT05URVhUQU5HTEVQUk9DIGdsR2VuVmVydGV4QXJyYXlzQ29udGV4dEFOR0xFOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFSUkFZQ09OVEVYVEFOR0xFUFJPQyBnbElz
VmVydGV4QXJyYXlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVH
RVJJX1ZDT05URVhUQU5HTEVQUk9DIGdsR2V0SW50ZWdlcmlfdkNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQkVHSU5UUkFOU0ZPUk1GRUVEQkFDS0NPTlRFWFRBTkdMRVBST0Mg
Z2xCZWdpblRyYW5zZm9ybUZlZWRiYWNrQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xFTkRUUkFOU0ZPUk1GRUVEQkFDS0NPTlRFWFRBTkdMRVBST0MgZ2xFbmRUcmFuc2Zvcm1G
ZWVkYmFja0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUlJB
TkdFQ09OVEVYVEFOR0xFUFJPQyBnbEJpbmRCdWZmZXJSYW5nZUNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQklOREJVRkZFUkJBU0VDT05URVhUQU5HTEVQUk9DIGdsQmluZEJ1
ZmZlckJhc2VDb250ZXh0QU5HTEU7CisgICAgbF9nbEZyYW1lYnVmZmVyVGV4dHVyZUxheWVyQ29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNQVBCVUZGRVJSQU5HRUNPTlRFWFRB
TkdMRVBST0MgbF9nbE1hcEJ1ZmZlclJhbmdlQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xGTFVTSE1BUFBFREJVRkZFUlJBTkdFQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xG
bHVzaE1hcHBlZEJ1ZmZlclJhbmdlQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xCSU5EVkVSVEVYQVJSQVlDT05URVhUQU5HTEVQUk9DIGxfZ2xCaW5kVmVydGV4QXJyYXlDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVZFUlRFWEFSUkFZU0NPTlRF
WFRBTkdMRVBST0MgbF9nbERlbGV0ZVZlcnRleEFycmF5c0NvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VOVkVSVEVYQVJSQVlTQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuVmVy
dGV4QXJyYXlzQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFS
UkFZQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNWZXJ0ZXhBcnJheUNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdFUklfVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldElu
dGVnZXJpX3ZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJFR0lOVFJBTlNG
T1JNRkVFREJBQ0tDT05URVhUQU5HTEVQUk9DCisgICAgbF9nbEJlZ2luVHJhbnNmb3JtRmVlZGJh
Y2tDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVORFRSQU5TRk9STUZFRURC
QUNLQ09OVEVYVEFOR0xFUFJPQyBsX2dsRW5kVHJhbnNmb3JtRmVlZGJhY2tDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRCVUZGRVJSQU5HRUNPTlRFWFRBTkdMRVBST0Mg
bF9nbEJpbmRCdWZmZXJSYW5nZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
QklOREJVRkZFUkJBU0VDT05URVhUQU5HTEVQUk9DIGxfZ2xCaW5kQnVmZmVyQmFzZUNvbnRleHRB
TkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVFJBTlNGT1JNRkVFREJBQ0tWQVJZSU5HU0NP
TlRFWFRBTkdMRVBST0MKLSAgICBnbFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3NDb250ZXh0QU5H
TEU7CisgICAgbF9nbFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3NDb250ZXh0QU5HTEU7CiBBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVFRSQU5TRk9STUZFRURCQUNLVkFSWUlOR0NPTlRFWFRBTkdM
RVBST0MKLSAgICBnbEdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ0NvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSVBPSU5URVJDT05URVhUQU5HTEVQUk9D
IGdsVmVydGV4QXR0cmliSVBvaW50ZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFZFUlRFWEFUVFJJQklJVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRWZXJ0ZXhBdHRyaWJJ
aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJQklV
SVZDT05URVhUQU5HTEVQUk9DIGdsR2V0VmVydGV4QXR0cmliSXVpdkNvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSTRJQ09OVEVYVEFOR0xFUFJPQyBnbFZl
cnRleEF0dHJpYkk0aUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVY
QVRUUklCSTRVSUNPTlRFWFRBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWJJNHVpQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJJNElWQ09OVEVYVEFOR0xFUFJP
QyBnbFZlcnRleEF0dHJpYkk0aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFZFUlRFWEFUVFJJQkk0VUlWQ09OVEVYVEFOR0xFUFJPQyBnbFZlcnRleEF0dHJpYkk0dWl2Q29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTklGT1JNVUlWQ09OVEVYVEFO
R0xFUFJPQyBnbEdldFVuaWZvcm11aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVEZSQUdEQVRBTE9DQVRJT05DT05URVhUQU5HTEVQUk9DIGdsR2V0RnJhZ0RhdGFMb2Nh
dGlvbkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTFVSUNPTlRF
WFRBTkdMRVBST0MgZ2xVbmlmb3JtMXVpQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xVTklGT1JNMlVJQ09OVEVYVEFOR0xFUFJPQyBnbFVuaWZvcm0ydWlDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk0zVUlDT05URVhUQU5HTEVQUk9DIGdsVW5p
Zm9ybTN1aUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTRVSUNP
TlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtNHVpQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xVTklGT1JNMVVJVkNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtMXVpdkNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTJVSVZDT05URVhUQU5HTEVQUk9D
IGdsVW5pZm9ybTJ1aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZP
Uk0zVUlWQ09OVEVYVEFOR0xFUFJPQyBnbFVuaWZvcm0zdWl2Q29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNFVJVkNPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtNHVp
dkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJJVkNPTlRF
WFRBTkdMRVBST0MgZ2xDbGVhckJ1ZmZlcml2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDTEVBUkJVRkZFUlVJVkNPTlRFWFRBTkdMRVBST0MgZ2xDbGVhckJ1ZmZlcnVpdkNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJGVkNPTlRFWFRB
TkdMRVBST0MgZ2xDbGVhckJ1ZmZlcmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xDTEVBUkJVRkZFUkZJQ09OVEVYVEFOR0xFUFJPQyBnbENsZWFyQnVmZmVyZmlDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNUUklOR0lDT05URVhUQU5HTEVQUk9D
IGdsR2V0U3RyaW5naUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWUJV
RkZFUlNVQkRBVEFDT05URVhUQU5HTEVQUk9DIGdsQ29weUJ1ZmZlclN1YkRhdGFDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1JTkRJQ0VTQ09OVEVYVEFOR0xF
UFJPQyBnbEdldFVuaWZvcm1JbmRpY2VzQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRBQ1RJVkVVTklGT1JNU0lWQ09OVEVYVEFOR0xFUFJPQyBnbEdldEFjdGl2ZVVuaWZv
cm1zaXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1CTE9D
S0lOREVYQ09OVEVYVEFOR0xFUFJPQyBnbEdldFVuaWZvcm1CbG9ja0luZGV4Q29udGV4dEFOR0xF
OworICAgIGxfZ2xHZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQklQT0lOVEVSQ09OVEVYVEFOR0xFUFJPQyBs
X2dsVmVydGV4QXR0cmliSVBvaW50ZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFZFUlRFWEFUVFJJQklJVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldFZlcnRleEF0dHJp
YklpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRUUklC
SVVJVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldFZlcnRleEF0dHJpYkl1aXZDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkk0SUNPTlRFWFRBTkdMRVBST0Mg
bF9nbFZlcnRleEF0dHJpYkk0aUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VkVSVEVYQVRUUklCSTRVSUNPTlRFWFRBTkdMRVBST0MgbF9nbFZlcnRleEF0dHJpYkk0dWlDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkk0SVZDT05URVhU
QU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWJJNGl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xWRVJURVhBVFRSSUJJNFVJVkNPTlRFWFRBTkdMRVBST0MgbF9nbFZlcnRleEF0
dHJpYkk0dWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTklGT1JN
VUlWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VW5pZm9ybXVpdkNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VURlJBR0RBVEFMT0NBVElPTkNPTlRFWFRBTkdMRVBST0MgbF9n
bEdldEZyYWdEYXRhTG9jYXRpb25Db250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFVOSUZPUk0xVUlDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtMXVpQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMlVJQ09OVEVYVEFOR0xFUFJPQyBsX2dsVW5p
Zm9ybTJ1aUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVU5JRk9STTNVSUNP
TlRFWFRBTkdMRVBST0MgbF9nbFVuaWZvcm0zdWlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFVOSUZPUk00VUlDT05URVhUQU5HTEVQUk9DIGxfZ2xVbmlmb3JtNHVpQ29udGV4
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNMVVJVkNPTlRFWFRBTkdMRVBS
T0MgbF9nbFVuaWZvcm0xdWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xV
TklGT1JNMlVJVkNPTlRFWFRBTkdMRVBST0MgbF9nbFVuaWZvcm0ydWl2Q29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNM1VJVkNPTlRFWFRBTkdMRVBST0MgbF9nbFVu
aWZvcm0zdWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xVTklGT1JNNFVJ
VkNPTlRFWFRBTkdMRVBST0MgbF9nbFVuaWZvcm00dWl2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xDTEVBUkJVRkZFUklWQ09OVEVYVEFOR0xFUFJPQyBsX2dsQ2xlYXJCdWZm
ZXJpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJVSVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xDbGVhckJ1ZmZlcnVpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMQ0xFQVJCVUZGRVJGVkNPTlRFWFRBTkdMRVBST0MgbF9nbENsZWFyQnVm
ZmVyZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMRUFSQlVGRkVSRklD
T05URVhUQU5HTEVQUk9DIGxfZ2xDbGVhckJ1ZmZlcmZpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRTVFJJTkdJQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0U3RyaW5naUNv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWUJVRkZFUlNVQkRBVEFDT05U
RVhUQU5HTEVQUk9DIGxfZ2xDb3B5QnVmZmVyU3ViRGF0YUNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUVU5JRk9STUlORElDRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRV
bmlmb3JtSW5kaWNlc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQUNU
SVZFVU5JRk9STVNJVkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldEFjdGl2ZVVuaWZvcm1zaXZDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1CTE9DS0lOREVYQ09O
VEVYVEFOR0xFUFJPQyBsX2dsR2V0VW5pZm9ybUJsb2NrSW5kZXhDb250ZXh0QU5HTEU7CiBBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVEFDVElWRVVOSUZPUk1CTE9DS0lWQ09OVEVYVEFOR0xFUFJP
QwotICAgIGdsR2V0QWN0aXZlVW5pZm9ybUJsb2NraXZDb250ZXh0QU5HTEU7CisgICAgbF9nbEdl
dEFjdGl2ZVVuaWZvcm1CbG9ja2l2Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRBQ1RJVkVVTklGT1JNQkxPQ0tOQU1FQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0QWN0
aXZlVW5pZm9ybUJsb2NrTmFtZUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VU5JRk9STUJMT0NLQklORElOR0NPTlRFWFRBTkdMRVBST0MgZ2xVbmlmb3JtQmxvY2tCaW5kaW5n
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VE
Q09OVEVYVEFOR0xFUFJPQyBnbERyYXdBcnJheXNJbnN0YW5jZWRDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFRENPTlRFWFRBTkdMRVBST0Mg
Z2xEcmF3RWxlbWVudHNJbnN0YW5jZWRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEZFTkNFU1lOQ0NPTlRFWFRBTkdMRVBST0MgZ2xGZW5jZVN5bmNDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTElTU1lOQ0NPTlRFWFRBTkdMRVBST0MgZ2xJc1N5bmNDb250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVNZTkNDT05URVhUQU5HTEVQ
Uk9DIGdsRGVsZXRlU3luY0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0xJ
RU5UV0FJVFNZTkNDT05URVhUQU5HTEVQUk9DIGdsQ2xpZW50V2FpdFN5bmNDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFdBSVRTWU5DQ09OVEVYVEFOR0xFUFJPQyBnbFdhaXRT
eW5jQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFR0VSNjRWQ09O
VEVYVEFOR0xFUFJPQyBnbEdldEludGVnZXI2NHZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFVFNZTkNJVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRTeW5jaXZDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NElfVkNPTlRFWFRBTkdMRVBS
T0MgZ2xHZXRJbnRlZ2VyNjRpX3ZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVEJVRkZFUlBBUkFNRVRFUkk2NFZDT05URVhUQU5HTEVQUk9DIGdsR2V0QnVmZmVyUGFyYW1l
dGVyaTY0dkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOU0FNUExFUlND
T05URVhUQU5HTEVQUk9DIGdsR2VuU2FtcGxlcnNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTERFTEVURVNBTVBMRVJTQ09OVEVYVEFOR0xFUFJPQyBnbERlbGV0ZVNhbXBsZXJz
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1NBTVBMRVJDT05URVhUQU5H
TEVQUk9DIGdsSXNTYW1wbGVyQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xC
SU5EU0FNUExFUkNPTlRFWFRBTkdMRVBST0MgZ2xCaW5kU2FtcGxlckNvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUklDT05URVhUQU5HTEVQUk9DIGds
U2FtcGxlclBhcmFtZXRlcmlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNB
TVBMRVJQQVJBTUVURVJJVkNPTlRFWFRBTkdMRVBST0MgZ2xTYW1wbGVyUGFyYW1ldGVyaXZDb250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVURVJGQ09OVEVY
VEFOR0xFUFJPQyBnbFNhbXBsZXJQYXJhbWV0ZXJmQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSRlZDT05URVhUQU5HTEVQUk9DIGdsU2FtcGxlclBh
cmFtZXRlcmZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVS
UEFSQU1FVEVSSVZDT05URVhUQU5HTEVQUk9DIGdsR2V0U2FtcGxlclBhcmFtZXRlcml2Q29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSRlZDT05U
RVhUQU5HTEVQUk9DIGdsR2V0U2FtcGxlclBhcmFtZXRlcmZ2Q29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJESVZJU09SQ09OVEVYVEFOR0xFUFJPQyBnbFZl
cnRleEF0dHJpYkRpdmlzb3JDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJ
TkRUUkFOU0ZPUk1GRUVEQkFDS0NPTlRFWFRBTkdMRVBST0MgZ2xCaW5kVHJhbnNmb3JtRmVlZGJh
Y2tDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldEFjdGl2ZVVuaWZvcm1CbG9ja05hbWVDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFVOSUZPUk1CTE9DS0JJTkRJTkdDT05URVhU
QU5HTEVQUk9DIGxfZ2xVbmlmb3JtQmxvY2tCaW5kaW5nQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VEQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJh
d0FycmF5c0luc3RhbmNlZENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJB
V0VMRU1FTlRTSU5TVEFOQ0VEQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJhd0VsZW1lbnRzSW5zdGFu
Y2VkQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGRU5DRVNZTkNDT05URVhU
QU5HTEVQUk9DIGxfZ2xGZW5jZVN5bmNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTElTU1lOQ0NPTlRFWFRBTkdMRVBST0MgbF9nbElzU3luY0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFU1lOQ0NPTlRFWFRBTkdMRVBST0MgbF9nbERlbGV0ZVN5
bmNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENMSUVOVFdBSVRTWU5DQ09O
VEVYVEFOR0xFUFJPQyBsX2dsQ2xpZW50V2FpdFN5bmNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFdBSVRTWU5DQ09OVEVYVEFOR0xFUFJPQyBsX2dsV2FpdFN5bmNDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NFZDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xHZXRJbnRlZ2VyNjR2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRTWU5DSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRTeW5jaXZDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NElfVkNPTlRFWFRBTkdMRVBST0MgbF9n
bEdldEludGVnZXI2NGlfdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
QlVGRkVSUEFSQU1FVEVSSTY0VkNPTlRFWFRBTkdMRVBST0MKKyAgICBsX2dsR2V0QnVmZmVyUGFy
YW1ldGVyaTY0dkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOU0FNUExF
UlNDT05URVhUQU5HTEVQUk9DIGxfZ2xHZW5TYW1wbGVyc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMREVMRVRFU0FNUExFUlNDT05URVhUQU5HTEVQUk9DIGxfZ2xEZWxldGVT
YW1wbGVyc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNTQU1QTEVSQ09O
VEVYVEFOR0xFUFJPQyBsX2dsSXNTYW1wbGVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xCSU5EU0FNUExFUkNPTlRFWFRBTkdMRVBST0MgbF9nbEJpbmRTYW1wbGVyQ29udGV4
dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSUNPTlRFWFRB
TkdMRVBST0MgbF9nbFNhbXBsZXJQYXJhbWV0ZXJpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSVZDT05URVhUQU5HTEVQUk9DIGxfZ2xTYW1wbGVy
UGFyYW1ldGVyaXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQ
QVJBTUVURVJGQ09OVEVYVEFOR0xFUFJPQyBsX2dsU2FtcGxlclBhcmFtZXRlcmZDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVURVJGVkNPTlRFWFRBTkdM
RVBST0MgbF9nbFNhbXBsZXJQYXJhbWV0ZXJmdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUU0FNUExFUlBBUkFNRVRFUklWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0U2Ft
cGxlclBhcmFtZXRlcml2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRT
QU1QTEVSUEFSQU1FVEVSRlZDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRTYW1wbGVyUGFyYW1ldGVy
ZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkRJVklT
T1JDT05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EVFJBTlNGT1JNRkVFREJBQ0tDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xCaW5kVHJhbnNmb3JtRmVlZGJhY2tDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTERFTEVURVRSQU5TRk9STUZFRURCQUNLU0NPTlRFWFRBTkdMRVBST0MKLSAgICBn
bERlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VOVFJBTlNGT1JNRkVFREJBQ0tTQ09OVEVYVEFOR0xFUFJPQyBnbEdlblRyYW5zZm9y
bUZlZWRiYWNrc0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNUUkFOU0ZP
Uk1GRUVEQkFDS0NPTlRFWFRBTkdMRVBST0MgZ2xJc1RyYW5zZm9ybUZlZWRiYWNrQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQQVVTRVRSQU5TRk9STUZFRURCQUNLQ09OVEVY
VEFOR0xFUFJPQyBnbFBhdXNlVHJhbnNmb3JtRmVlZGJhY2tDb250ZXh0QU5HTEU7CisgICAgbF9n
bERlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VOVFJBTlNGT1JNRkVFREJBQ0tTQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuVHJhbnNm
b3JtRmVlZGJhY2tzQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1RSQU5T
Rk9STUZFRURCQUNLQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNUcmFuc2Zvcm1GZWVkYmFja0NvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUEFVU0VUUkFOU0ZPUk1GRUVEQkFDS0NP
TlRFWFRBTkdMRVBST0MKKyAgICBsX2dsUGF1c2VUcmFuc2Zvcm1GZWVkYmFja0NvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVTVU1FVFJBTlNGT1JNRkVFREJBQ0tDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xSZXN1bWVUcmFuc2Zvcm1GZWVkYmFja0NvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUJJTkFSWUNPTlRFWFRBTkdMRVBST0MgZ2xH
ZXRQcm9ncmFtQmluYXJ5Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9H
UkFNQklOQVJZQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1CaW5hcnlDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1QQVJBTUVURVJJQ09OVEVYVEFOR0xFUFJPQyBn
bFByb2dyYW1QYXJhbWV0ZXJpQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJ
TlZBTElEQVRFRlJBTUVCVUZGRVJDT05URVhUQU5HTEVQUk9DIGdsSW52YWxpZGF0ZUZyYW1lYnVm
ZmVyQ29udGV4dEFOR0xFOworICAgIGxfZ2xSZXN1bWVUcmFuc2Zvcm1GZWVkYmFja0NvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUJJTkFSWUNPTlRFWFRBTkdM
RVBST0MgbF9nbEdldFByb2dyYW1CaW5hcnlDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFBST0dSQU1CSU5BUllDT05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtQmluYXJ5Q29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNUEFSQU1FVEVSSUNPTlRF
WFRBTkdMRVBST0MgbF9nbFByb2dyYW1QYXJhbWV0ZXJpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xJTlZBTElEQVRFRlJBTUVCVUZGRVJDT05URVhUQU5HTEVQUk9DIGxfZ2xJ
bnZhbGlkYXRlRnJhbWVidWZmZXJDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TElOVkFMSURBVEVTVUJGUkFNRUJVRkZFUkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEludmFsaWRh
dGVTdWJGcmFtZWJ1ZmZlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVY
U1RPUkFHRTJEQ09OVEVYVEFOR0xFUFJPQyBnbFRleFN0b3JhZ2UyRENvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTNEQ09OVEVYVEFOR0xFUFJPQyBnbFRleFN0
b3JhZ2UzRENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URVJOQUxG
T1JNQVRJVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRJbnRlcm5hbGZvcm1hdGl2Q29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xESVNQQVRDSENPTVBVVEVDT05URVhUQU5HTEVQUk9D
IGdsRGlzcGF0Y2hDb21wdXRlQ29udGV4dEFOR0xFOworICAgIGxfZ2xJbnZhbGlkYXRlU3ViRnJh
bWVidWZmZXJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0Uy
RENPTlRFWFRBTkdMRVBST0MgbF9nbFRleFN0b3JhZ2UyRENvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTNEQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4U3RvcmFn
ZTNEQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFUk5BTEZPUk1B
VElWQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0SW50ZXJuYWxmb3JtYXRpdkNvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElTUEFUQ0hDT01QVVRFQ09OVEVYVEFOR0xFUFJPQyBs
X2dsRGlzcGF0Y2hDb21wdXRlQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
SVNQQVRDSENPTVBVVEVJTkRJUkVDVENPTlRFWFRBTkdMRVBST0MKLSAgICBnbERpc3BhdGNoQ29t
cHV0ZUluZGlyZWN0Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJS
QVlTSU5ESVJFQ1RDT05URVhUQU5HTEVQUk9DIGdsRHJhd0FycmF5c0luZGlyZWN0Q29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXRUxFTUVOVFNJTkRJUkVDVENPTlRFWFRB
TkdMRVBST0MgZ2xEcmF3RWxlbWVudHNJbmRpcmVjdENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJQQVJBTUVURVJJQ09OVEVYVEFOR0xFUFJPQyBnbEZyYW1l
YnVmZmVyUGFyYW1ldGVyaUNvbnRleHRBTkdMRTsKKyAgICBsX2dsRGlzcGF0Y2hDb21wdXRlSW5k
aXJlY3RDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdBUlJBWVNJTkRJ
UkVDVENPTlRFWFRBTkdMRVBST0MgbF9nbERyYXdBcnJheXNJbmRpcmVjdENvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTSU5ESVJFQ1RDT05URVhUQU5HTEVQ
Uk9DIGxfZ2xEcmF3RWxlbWVudHNJbmRpcmVjdENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMRlJBTUVCVUZGRVJQQVJBTUVURVJJQ09OVEVYVEFOR0xFUFJPQyBsX2dsRnJhbWVi
dWZmZXJQYXJhbWV0ZXJpQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRG
UkFNRUJVRkZFUlBBUkFNRVRFUklWQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0RnJhbWVidWZm
ZXJQYXJhbWV0ZXJpdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJP
R1JBTUlOVEVSRkFDRUlWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFByb2dyYW1JbnRlcmZhY2VpdkNv
bnRleHRBTkdMRTsKKyAgICBsX2dsR2V0RnJhbWVidWZmZXJQYXJhbWV0ZXJpdkNvbnRleHRBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlOVEVSRkFDRUlWQ09OVEVYVEFO
R0xFUFJPQyBsX2dsR2V0UHJvZ3JhbUludGVyZmFjZWl2Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNUkVTT1VSQ0VJTkRFWENPTlRFWFRBTkdMRVBST0MKLSAg
ICBnbEdldFByb2dyYW1SZXNvdXJjZUluZGV4Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRQUk9HUkFNUkVTT1VSQ0VOQU1FQ09OVEVYVEFOR0xFUFJPQyBnbEdldFByb2dy
YW1SZXNvdXJjZU5hbWVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBS
T0dSQU1SRVNPVVJDRUlWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFByb2dyYW1SZXNvdXJjZWl2Q29u
dGV4dEFOR0xFOworICAgIGxfZ2xHZXRQcm9ncmFtUmVzb3VyY2VJbmRleENvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVJFU09VUkNFTkFNRUNPTlRFWFRBTkdM
RVBST0MKKyAgICBsX2dsR2V0UHJvZ3JhbVJlc291cmNlTmFtZUNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVJFU09VUkNFSVZDT05URVhUQU5HTEVQUk9DIGxf
Z2xHZXRQcm9ncmFtUmVzb3VyY2VpdkNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUUFJPR1JBTVJFU09VUkNFTE9DQVRJT05DT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRQ
cm9ncmFtUmVzb3VyY2VMb2NhdGlvbkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVVNFUFJPR1JBTVNUQUdFU0NPTlRFWFRBTkdMRVBST0MgZ2xVc2VQcm9ncmFtU3RhZ2VzQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xBQ1RJVkVTSEFERVJQUk9HUkFNQ09O
VEVYVEFOR0xFUFJPQyBnbEFjdGl2ZVNoYWRlclByb2dyYW1Db250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTENSRUFURVNIQURFUlBST0dSQU1WQ09OVEVYVEFOR0xFUFJPQyBnbENy
ZWF0ZVNoYWRlclByb2dyYW12Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xC
SU5EUFJPR1JBTVBJUEVMSU5FQ09OVEVYVEFOR0xFUFJPQyBnbEJpbmRQcm9ncmFtUGlwZWxpbmVD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVBST0dSQU1QSVBFTElO
RVNDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRlUHJvZ3JhbVBpcGVsaW5lc0NvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOUFJPR1JBTVBJUEVMSU5FU0NPTlRFWFRBTkdMRVBS
T0MgZ2xHZW5Qcm9ncmFtUGlwZWxpbmVzQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xJU1BST0dSQU1QSVBFTElORUNPTlRFWFRBTkdMRVBST0MgZ2xJc1Byb2dyYW1QaXBlbGlu
ZUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVBJUEVMSU5F
SVZDT05URVhUQU5HTEVQUk9DIGdsR2V0UHJvZ3JhbVBpcGVsaW5laXZDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMUlDT05URVhUQU5HTEVQUk9DIGds
UHJvZ3JhbVVuaWZvcm0xaUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJP
R1JBTVVOSUZPUk0ySUNPTlRFWFRBTkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTJpQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNJQ09OVEVYVEFOR0xF
UFJPQyBnbFByb2dyYW1Vbmlmb3JtM2lDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFBST0dSQU1VTklGT1JNNElDT05URVhUQU5HTEVQUk9DIGdsUHJvZ3JhbVVuaWZvcm00aUNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xVUlDT05U
RVhUQU5HTEVQUk9DIGdsUHJvZ3JhbVVuaWZvcm0xdWlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMlVJQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1V
bmlmb3JtMnVpQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5J
Rk9STTNVSUNPTlRFWFRBTkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTN1aUNvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk00VUlDT05URVhUQU5HTEVQUk9D
IGdsUHJvZ3JhbVVuaWZvcm00dWlDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFBST0dSQU1VTklGT1JNMUZDT05URVhUQU5HTEVQUk9DIGdsUHJvZ3JhbVVuaWZvcm0xZkNvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0yRkNPTlRFWFRB
TkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTJmQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQUk9HUkFNVU5JRk9STTNGQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1Vbmlmb3Jt
M2ZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNEZD
T05URVhUQU5HTEVQUk9DIGdsUHJvZ3JhbVVuaWZvcm00ZkNvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xSVZDT05URVhUQU5HTEVQUk9DIGdsUHJvZ3Jh
bVVuaWZvcm0xaXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1V
TklGT1JNMklWQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1Vbmlmb3JtMml2Q29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTNJVkNPTlRFWFRBTkdMRVBS
T0MgZ2xQcm9ncmFtVW5pZm9ybTNpdkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk00SVZDT05URVhUQU5HTEVQUk9DIGdsUHJvZ3JhbVVuaWZvcm00aXZD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMVVJVkNP
TlRFWFRBTkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTF1aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMlVJVkNPTlRFWFRBTkdMRVBST0MgZ2xQcm9n
cmFtVW5pZm9ybTJ1aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dS
QU1VTklGT1JNM1VJVkNPTlRFWFRBTkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTN1aXZDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNNFVJVkNPTlRFWFRB
TkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTR1aXZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFBST0dSQU1VTklGT1JNMUZWQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1Vbmlm
b3JtMWZ2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9S
TTJGVkNPTlRFWFRBTkdMRVBST0MgZ2xQcm9ncmFtVW5pZm9ybTJmdkNvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0zRlZDT05URVhUQU5HTEVQUk9DIGds
UHJvZ3JhbVVuaWZvcm0zZnZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBS
T0dSQU1VTklGT1JNNEZWQ09OVEVYVEFOR0xFUFJPQyBnbFByb2dyYW1Vbmlmb3JtNGZ2Q29udGV4
dEFOR0xFOworICAgIGxfZ2xHZXRQcm9ncmFtUmVzb3VyY2VMb2NhdGlvbkNvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVVNFUFJPR1JBTVNUQUdFU0NPTlRFWFRBTkdMRVBST0Mg
bF9nbFVzZVByb2dyYW1TdGFnZXNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEFDVElWRVNIQURFUlBST0dSQU1DT05URVhUQU5HTEVQUk9DIGxfZ2xBY3RpdmVTaGFkZXJQcm9n
cmFtQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDUkVBVEVTSEFERVJQUk9H
UkFNVkNPTlRFWFRBTkdMRVBST0MgbF9nbENyZWF0ZVNoYWRlclByb2dyYW12Q29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EUFJPR1JBTVBJUEVMSU5FQ09OVEVYVEFOR0xF
UFJPQyBsX2dsQmluZFByb2dyYW1QaXBlbGluZUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMREVMRVRFUFJPR1JBTVBJUEVMSU5FU0NPTlRFWFRBTkdMRVBST0MKKyAgICBsX2ds
RGVsZXRlUHJvZ3JhbVBpcGVsaW5lc0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VOUFJPR1JBTVBJUEVMSU5FU0NPTlRFWFRBTkdMRVBST0MgbF9nbEdlblByb2dyYW1QaXBl
bGluZXNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUFJPR1JBTVBJUEVM
SU5FQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNQcm9ncmFtUGlwZWxpbmVDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBST0dSQU1QSVBFTElORUlWQ09OVEVYVEFOR0xFUFJP
QyBsX2dsR2V0UHJvZ3JhbVBpcGVsaW5laXZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFBST0dSQU1VTklGT1JNMUlDT05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtVW5pZm9y
bTFpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTJJ
Q09OVEVYVEFOR0xFUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0yaUNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0zSUNPTlRFWFRBTkdMRVBST0MgbF9nbFBy
b2dyYW1Vbmlmb3JtM2lDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dS
QU1VTklGT1JNNElDT05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTRpQ29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTFVSUNPTlRFWFRBTkdM
RVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMXVpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQUk9HUkFNVU5JRk9STTJVSUNPTlRFWFRBTkdMRVBST0MgbF9nbFByb2dyYW1Vbmlm
b3JtMnVpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9S
TTNVSUNPTlRFWFRBTkdMRVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtM3VpQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTRVSUNPTlRFWFRBTkdMRVBST0Mg
bF9nbFByb2dyYW1Vbmlmb3JtNHVpQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xQUk9HUkFNVU5JRk9STTFGQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0xZkNv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0yRkNPTlRF
WFRBTkdMRVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMmZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNM0ZDT05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFt
VW5pZm9ybTNmQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5J
Rk9STTRGQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm00ZkNvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0xSVZDT05URVhUQU5HTEVQUk9D
IGxfZ2xQcm9ncmFtVW5pZm9ybTFpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk0ySVZDT05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTJp
dkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk0zSVZD
T05URVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTNpdkNvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk00SVZDT05URVhUQU5HTEVQUk9DIGxfZ2xQ
cm9ncmFtVW5pZm9ybTRpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJP
R1JBTVVOSUZPUk0xVUlWQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm0xdWl2Q29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTJVSVZDT05U
RVhUQU5HTEVQUk9DIGxfZ2xQcm9ncmFtVW5pZm9ybTJ1aXZDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNM1VJVkNPTlRFWFRBTkdMRVBST0MgbF9nbFBy
b2dyYW1Vbmlmb3JtM3VpdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJP
R1JBTVVOSUZPUk00VUlWQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHJvZ3JhbVVuaWZvcm00dWl2Q29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTFGVkNPTlRF
WFRBTkdMRVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtMWZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTJGVkNPTlRFWFRBTkdMRVBST0MgbF9nbFByb2dy
YW1Vbmlmb3JtMmZ2Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFN
VU5JRk9STTNGVkNPTlRFWFRBTkdMRVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtM2Z2Q29udGV4dEFO
R0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STTRGVkNPTlRFWFRBTkdM
RVBST0MgbF9nbFByb2dyYW1Vbmlmb3JtNGZ2Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQUk9HUkFNVU5JRk9STU1BVFJJWDJGVkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbFBy
b2dyYW1Vbmlmb3JtTWF0cml4MmZ2Q29udGV4dEFOR0xFOworICAgIGxfZ2xQcm9ncmFtVW5pZm9y
bU1hdHJpeDJmdkNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVO
SUZPUk1NQVRSSVgzRlZDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xQcm9ncmFtVW5pZm9ybU1hdHJp
eDNmdkNvbnRleHRBTkdMRTsKKyAgICBsX2dsUHJvZ3JhbVVuaWZvcm1NYXRyaXgzZnZDb250ZXh0
QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNTUFUUklYNEZWQ09O
VEVYVEFOR0xFUFJPQwotICAgIGdsUHJvZ3JhbVVuaWZvcm1NYXRyaXg0ZnZDb250ZXh0QU5HTEU7
CisgICAgbF9nbFByb2dyYW1Vbmlmb3JtTWF0cml4NGZ2Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STU1BVFJJWDJYM0ZWQ09OVEVYVEFOR0xFUFJPQwot
ICAgIGdsUHJvZ3JhbVVuaWZvcm1NYXRyaXgyeDNmdkNvbnRleHRBTkdMRTsKKyAgICBsX2dsUHJv
Z3JhbVVuaWZvcm1NYXRyaXgyeDNmdkNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMUFJPR1JBTVVOSUZPUk1NQVRSSVgzWDJGVkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbFByb2dy
YW1Vbmlmb3JtTWF0cml4M3gyZnZDb250ZXh0QU5HTEU7CisgICAgbF9nbFByb2dyYW1Vbmlmb3Jt
TWF0cml4M3gyZnZDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1V
TklGT1JNTUFUUklYMlg0RlZDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xQcm9ncmFtVW5pZm9ybU1h
dHJpeDJ4NGZ2Q29udGV4dEFOR0xFOworICAgIGxfZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDJ4NGZ2
Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNVU5JRk9STU1BVFJJ
WDRYMkZWQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsUHJvZ3JhbVVuaWZvcm1NYXRyaXg0eDJmdkNv
bnRleHRBTkdMRTsKKyAgICBsX2dsUHJvZ3JhbVVuaWZvcm1NYXRyaXg0eDJmdkNvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPR1JBTVVOSUZPUk1NQVRSSVgzWDRGVkNPTlRF
WFRBTkdMRVBST0MKLSAgICBnbFByb2dyYW1Vbmlmb3JtTWF0cml4M3g0ZnZDb250ZXh0QU5HTEU7
CisgICAgbF9nbFByb2dyYW1Vbmlmb3JtTWF0cml4M3g0ZnZDb250ZXh0QU5HTEU7CiBBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBST0dSQU1VTklGT1JNTUFUUklYNFgzRlZDT05URVhUQU5HTEVQUk9D
Ci0gICAgZ2xQcm9ncmFtVW5pZm9ybU1hdHJpeDR4M2Z2Q29udGV4dEFOR0xFOworICAgIGxfZ2xQ
cm9ncmFtVW5pZm9ybU1hdHJpeDR4M2Z2Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xWQUxJREFURVBST0dSQU1QSVBFTElORUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbFZhbGlk
YXRlUHJvZ3JhbVBpcGVsaW5lQ29udGV4dEFOR0xFOworICAgIGxfZ2xWYWxpZGF0ZVByb2dyYW1Q
aXBlbGluZUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTVBJ
UEVMSU5FSU5GT0xPR0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFByb2dyYW1QaXBlbGluZUlu
Zm9Mb2dDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRJTUFHRVRFWFRV
UkVDT05URVhUQU5HTEVQUk9DIGdsQmluZEltYWdlVGV4dHVyZUNvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVBTklfVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRCb29s
ZWFuaV92Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xNRU1PUllCQVJSSUVS
Q09OVEVYVEFOR0xFUFJPQyBnbE1lbW9yeUJhcnJpZXJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTE1FTU9SWUJBUlJJRVJCWVJFR0lPTkNPTlRFWFRBTkdMRVBST0MgZ2xNZW1v
cnlCYXJyaWVyQnlSZWdpb25Db250ZXh0QU5HTEU7CisgICAgbF9nbEdldFByb2dyYW1QaXBlbGlu
ZUluZm9Mb2dDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRJTUFHRVRF
WFRVUkVDT05URVhUQU5HTEVQUk9DIGxfZ2xCaW5kSW1hZ2VUZXh0dXJlQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCT09MRUFOSV9WQ09OVEVYVEFOR0xFUFJPQyBsX2ds
R2V0Qm9vbGVhbmlfdkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUVNT1JZ
QkFSUklFUkNPTlRFWFRBTkdMRVBST0MgbF9nbE1lbW9yeUJhcnJpZXJDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTE1FTU9SWUJBUlJJRVJCWVJFR0lPTkNPTlRFWFRBTkdMRVBS
T0MgbF9nbE1lbW9yeUJhcnJpZXJCeVJlZ2lvbkNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYU1RPUkFHRTJETVVMVElTQU1QTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xU
ZXhTdG9yYWdlMkRNdWx0aXNhbXBsZUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUTVVMVElTQU1QTEVGVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRNdWx0aXNhbXBsZWZ2Q29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVNQVNLSUNPTlRFWFRBTkdM
RVBST0MgZ2xTYW1wbGVNYXNraUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUVEVYTEVWRUxQQVJBTUVURVJJVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRUZXhMZXZlbFBhcmFt
ZXRlcml2Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhMRVZFTFBB
UkFNRVRFUkZWQ09OVEVYVEFOR0xFUFJPQyBnbEdldFRleExldmVsUGFyYW1ldGVyZnZDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRWRVJURVhCVUZGRVJDT05URVhUQU5H
TEVQUk9DIGdsQmluZFZlcnRleEJ1ZmZlckNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVkVSVEVYQVRUUklCRk9STUFUQ09OVEVYVEFOR0xFUFJPQyBnbFZlcnRleEF0dHJpYkZv
cm1hdENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVkVSVEVYQVRUUklCSUZP
Uk1BVENPTlRFWFRBTkdMRVBST0MgZ2xWZXJ0ZXhBdHRyaWJJRm9ybWF0Q29udGV4dEFOR0xFOwot
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJCSU5ESU5HQ09OVEVYVEFOR0xFUFJP
QyBnbFZlcnRleEF0dHJpYkJpbmRpbmdDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFZFUlRFWEJJTkRJTkdESVZJU09SQ09OVEVYVEFOR0xFUFJPQyBnbFZlcnRleEJpbmRpbmdE
aXZpc29yQ29udGV4dEFOR0xFOworICAgIGxfZ2xUZXhTdG9yYWdlMkRNdWx0aXNhbXBsZUNvbnRl
eHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTVVMVElTQU1QTEVGVkNPTlRFWFRB
TkdMRVBST0MgbF9nbEdldE11bHRpc2FtcGxlZnZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFNBTVBMRU1BU0tJQ09OVEVYVEFOR0xFUFJPQyBsX2dsU2FtcGxlTWFza2lDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWExFVkVMUEFSQU1FVEVSSVZD
T05URVhUQU5HTEVQUk9DCisgICAgbF9nbEdldFRleExldmVsUGFyYW1ldGVyaXZDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWExFVkVMUEFSQU1FVEVSRlZDT05URVhU
QU5HTEVQUk9DCisgICAgbF9nbEdldFRleExldmVsUGFyYW1ldGVyZnZDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRWRVJURVhCVUZGRVJDT05URVhUQU5HTEVQUk9DIGxf
Z2xCaW5kVmVydGV4QnVmZmVyQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xW
RVJURVhBVFRSSUJGT1JNQVRDT05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWJGb3JtYXRD
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQklGT1JNQVRD
T05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhBdHRyaWJJRm9ybWF0Q29udGV4dEFOR0xFOworQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJCSU5ESU5HQ09OVEVYVEFOR0xFUFJPQyBs
X2dsVmVydGV4QXR0cmliQmluZGluZ0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMVkVSVEVYQklORElOR0RJVklTT1JDT05URVhUQU5HTEVQUk9DIGxfZ2xWZXJ0ZXhCaW5kaW5n
RGl2aXNvckNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0FSUkFZU0lO
U1RBTkNFREJBU0VJTlNUQU5DRUFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsRHJhd0FycmF5
c0luc3RhbmNlZEJhc2VJbnN0YW5jZUFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xEcmF3QXJy
YXlzSW5zdGFuY2VkQmFzZUluc3RhbmNlQU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREJBU0VWRVJURVhCQVNFSU5TVEFOQ0VBTkdM
RUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbERyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhC
YXNlSW5zdGFuY2VBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsRHJhd0VsZW1lbnRzSW5zdGFu
Y2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZUFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xNVUxUSURSQVdBUlJBWVNJTlNUQU5DRURCQVNFSU5TVEFOQ0VBTkdMRUNPTlRF
WFRBTkdMRVBST0MKLSAgICBnbE11bHRpRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZUFO
R0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xNdWx0aURyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5z
dGFuY2VBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElEUkFX
RUxFTUVOVFNJTlNUQU5DRURCQVNFVkVSVEVYQkFTRUlOU1RBTkNFQU5HTEVDT05URVhUQU5HTEVQ
Uk9DCi0gICAgZ2xNdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5zdGFu
Y2VBTkdMRUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVNVQlRFWFRV
UkUzREFOR0xFQ09OVEVYVEFOR0xFUFJPQyBnbENvcHlTdWJUZXh0dXJlM0RBTkdMRUNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVRFWFRVUkUzREFOR0xFQ09OVEVYVEFO
R0xFUFJPQyBnbENvcHlUZXh0dXJlM0RBTkdMRUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMQkxJVEZSQU1FQlVGRkVSQU5HTEVDT05URVhUQU5HTEVQUk9DIGdsQmxpdEZyYW1l
YnVmZmVyQU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbE11bHRpRHJhd0VsZW1lbnRzSW5zdGFu
Y2VkQmFzZVZlcnRleEJhc2VJbnN0YW5jZUFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xDT1BZU1VCVEVYVFVSRTNEQU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xDb3B5
U3ViVGV4dHVyZTNEQU5HTEVDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENP
UFlURVhUVVJFM0RBTkdMRUNPTlRFWFRBTkdMRVBST0MgbF9nbENvcHlUZXh0dXJlM0RBTkdMRUNv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxJVEZSQU1FQlVGRkVSQU5HTEVD
T05URVhUQU5HTEVQUk9DIGxfZ2xCbGl0RnJhbWVidWZmZXJBTkdMRUNvbnRleHRBTkdMRTsKIEFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVOREVSQlVGRkVSU1RPUkFHRU1VTFRJU0FNUExFQU5HTEVD
T05URVhUQU5HTEVQUk9DCi0gICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVBTkdM
RUNvbnRleHRBTkdMRTsKKyAgICBsX2dsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlQU5H
TEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFJFTkRFUkJVRkZFUklN
QUdFQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRSZW5kZXJidWZmZXJJbWFnZUFOR0xF
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhJTUFHRUFOR0xFQ09O
VEVYVEFOR0xFUFJPQyBnbEdldFRleEltYWdlQU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdl
dFJlbmRlcmJ1ZmZlckltYWdlQU5HTEVDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTEdFVFRFWElNQUdFQU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRUZXhJbWFnZUFOR0xF
Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VE
QU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEVDb250
ZXh0QU5HTEU7CisgICAgbF9nbERyYXdBcnJheXNJbnN0YW5jZWRBTkdMRUNvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTSU5TVEFOQ0VEQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRUNvbnRleHRBTkdMRTsK
KyAgICBsX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkRJVklTT1JBTkdMRUNPTlRFWFRBTkdMRVBST0MK
LSAgICBnbFZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsVmVy
dGV4QXR0cmliRGl2aXNvckFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xJTVBPUlRNRU1PUllaSVJDT05IQU5ETEVBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbElt
cG9ydE1lbW9yeVppcmNvbkhhbmRsZUFOR0xFQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xNVUxUSURSQVdBUlJBWVNBTkdMRUNPTlRFWFRBTkdMRVBST0MgZ2xNdWx0aURyYXdB
cnJheXNBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsSW1wb3J0TWVtb3J5WmlyY29uSGFuZGxl
QU5HTEVDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRJRFJBV0FSUkFZ
U0FOR0xFQ09OVEVYVEFOR0xFUFJPQyBsX2dsTXVsdGlEcmF3QXJyYXlzQU5HTEVDb250ZXh0QU5H
TEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRJRFJBV0FSUkFZU0lOU1RBTkNFREFOR0xF
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsTXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEVDb250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1VTFRJRFJBV0VMRU1FTlRTQU5HTEVD
T05URVhUQU5HTEVQUk9DIGdsTXVsdGlEcmF3RWxlbWVudHNBTkdMRUNvbnRleHRBTkdMRTsKKyAg
ICBsX2dsTXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEVDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTE1VTFRJRFJBV0VMRU1FTlRTQU5HTEVDT05URVhUQU5HTEVQUk9DCisg
ICAgbF9nbE11bHRpRHJhd0VsZW1lbnRzQU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTE1VTFRJRFJBV0VMRU1FTlRTSU5TVEFOQ0VEQU5HTEVDT05URVhUQU5HTEVQUk9D
Ci0gICAgZ2xNdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xQUk9WT0tJTkdWRVJURVhBTkdMRUNPTlRFWFRBTkdMRVBST0Mg
Z2xQcm92b2tpbmdWZXJ0ZXhBTkdMRUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRElTQUJMRUVYVEVOU0lPTkFOR0xFQ09OVEVYVEFOR0xFUFJPQyBnbERpc2FibGVFeHRlbnNp
b25BTkdMRUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVRVUVTVEVYVEVO
U0lPTkFOR0xFQ09OVEVYVEFOR0xFUFJPQyBnbFJlcXVlc3RFeHRlbnNpb25BTkdMRUNvbnRleHRB
TkdMRTsKKyAgICBsX2dsTXVsdGlEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRUNvbnRleHRBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFJPVk9LSU5HVkVSVEVYQU5HTEVDT05URVhUQU5H
TEVQUk9DIGxfZ2xQcm92b2tpbmdWZXJ0ZXhBTkdMRUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMRElTQUJMRUVYVEVOU0lPTkFOR0xFQ09OVEVYVEFOR0xFUFJPQyBsX2dsRGlz
YWJsZUV4dGVuc2lvbkFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xS
RVFVRVNURVhURU5TSU9OQU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xSZXF1ZXN0RXh0ZW5zaW9u
QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTVBSRVNTRURURVhJ
TUFHRTJEUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xDb21wcmVzc2VkVGV4SW1h
Z2UyRFJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xDb21wcmVzc2VkVGV4SW1hZ2Uy
RFJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVT
U0VEVEVYSU1BR0UzRFJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsQ29tcHJlc3Nl
ZFRleEltYWdlM0RSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsQ29tcHJlc3NlZFRl
eEltYWdlM0RSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
Q09NUFJFU1NFRFRFWFNVQklNQUdFMkRST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBn
bENvbXByZXNzZWRUZXhTdWJJbWFnZTJEUm9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9n
bENvbXByZXNzZWRUZXhTdWJJbWFnZTJEUm9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTENPTVBSRVNTRURURVhTVUJJTUFHRTNEUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRFJvYnVzdEFOR0xFQ29udGV4
dEFOR0xFOworICAgIGxfZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRFJvYnVzdEFOR0xFQ29udGV4
dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRBQ1RJVkVVTklGT1JNQkxPQ0tJVlJP
QlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0QWN0aXZlVW5pZm9ybUJsb2NraXZS
b2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0QWN0aXZlVW5pZm9ybUJsb2NraXZS
b2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVB
TklfVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0Qm9vbGVhbmlfdlJvYnVz
dEFOR0xFQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCT09MRUFOVlJP
QlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQyBnbEdldEJvb2xlYW52Um9idXN0QU5HTEVDb250ZXh0
QU5HTEU7CisgICAgbF9nbEdldEJvb2xlYW5pX3ZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQk9PTEVBTlZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBS
T0MKKyAgICBsX2dsR2V0Qm9vbGVhbnZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VUQlVGRkVSUEFSQU1FVEVSSTY0VlJPQlVTVEFOR0xFQ09OVEVYVEFO
R0xFUFJPQwotICAgIGdsR2V0QnVmZmVyUGFyYW1ldGVyaTY0dlJvYnVzdEFOR0xFQ29udGV4dEFO
R0xFOworICAgIGxfZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpNjR2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEJVRkZFUlBBUkFNRVRFUklWUk9CVVNUQU5H
TEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xF
Q29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29u
dGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRCVUZGRVJQT0lOVEVSVlJPQlVT
VEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0QnVmZmVyUG9pbnRlcnZSb2J1c3RBTkdM
RUNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VURkxPQVRWUk9CVVNUQU5H
TEVDT05URVhUQU5HTEVQUk9DIGdsR2V0RmxvYXR2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7Cisg
ICAgbF9nbEdldEJ1ZmZlclBvaW50ZXJ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTEdFVEZMT0FUVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQyBsX2ds
R2V0RmxvYXR2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVEZSQU1FQlVGRkVSQVRUQUNITUVOVFBBUkFNRVRFUklWUk9CVVNUQU5HTEVDT05URVhUQU5H
TEVQUk9DCi0gICAgZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdlJvYnVzdEFO
R0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0
ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRG
UkFNRUJVRkZFUlBBUkFNRVRFUklWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xH
ZXRGcmFtZWJ1ZmZlclBhcmFtZXRlcml2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9n
bEdldEZyYW1lYnVmZmVyUGFyYW1ldGVyaXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUSU5URUdFUjY0SV9WUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQ
Uk9DCi0gICAgZ2xHZXRJbnRlZ2VyNjRpX3ZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBs
X2dsR2V0SW50ZWdlcjY0aV92Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFVElOVEVHRVI2NFZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBn
bEdldEludGVnZXI2NHZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0SW50ZWdl
cjY0dlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJ
TlRFR0VSSV9WUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRJbnRlZ2VyaV92
Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVH
RVJWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DIGdsR2V0SW50ZWdlcnZSb2J1c3RBTkdMRUNv
bnRleHRBTkdMRTsKKyAgICBsX2dsR2V0SW50ZWdlcmlfdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xF
OworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFR0VSVlJPQlVTVEFOR0xFQ09OVEVYVEFO
R0xFUFJPQworICAgIGxfZ2xHZXRJbnRlZ2VydlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFUk5BTEZPUk1BVElWUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xHZXRJbnRlcm5hbGZvcm1hdGl2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldEludGVybmFsZm9ybWF0aXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTVVMVElTQU1QTEVGVlJPQlVTVEFOR0xFQ09OVEVY
VEFOR0xFUFJPQwotICAgIGdsR2V0TXVsdGlzYW1wbGVmdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xF
OworICAgIGxfZ2xHZXRNdWx0aXNhbXBsZWZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVFBPSU5URVJWUk9CVVNUQU5HTEVST0JVU1RBTkdMRUNPTlRF
WFRBTkdMRVBST0MKLSAgICBnbEdldFBvaW50ZXJ2Um9idXN0QU5HTEVSb2J1c3RBTkdMRUNvbnRl
eHRBTkdMRTsKKyAgICBsX2dsR2V0UG9pbnRlcnZSb2J1c3RBTkdMRVJvYnVzdEFOR0xFQ29udGV4
dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFNSU5URVJGQUNFSVZST0JV
U1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFByb2dyYW1JbnRlcmZhY2VpdlJvYnVz
dEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRQcm9ncmFtSW50ZXJmYWNlaXZSb2J1c3RB
TkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JBTUlWUk9C
VVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRQcm9ncmFtaXZSb2J1c3RBTkdMRUNv
bnRleHRBTkdMRTsKKyAgICBsX2dsR2V0UHJvZ3JhbWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUSTY0VlJPQlVTVEFOR0xFQ09O
VEVYVEFOR0xFUFJPQwotICAgIGdsR2V0UXVlcnlPYmplY3RpNjR2Um9idXN0QU5HTEVDb250ZXh0
QU5HTEU7CisgICAgbF9nbEdldFF1ZXJ5T2JqZWN0aTY0dlJvYnVzdEFOR0xFQ29udGV4dEFOR0xF
OwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9CSkVDVElWUk9CVVNUQU5HTEVDT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRRdWVyeU9iamVjdGl2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldFF1ZXJ5T2JqZWN0aXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSTY0VlJPQlVTVEFOR0xFQ09OVEVY
VEFOR0xFUFJPQwotICAgIGdsR2V0UXVlcnlPYmplY3R1aTY0dlJvYnVzdEFOR0xFQ29udGV4dEFO
R0xFOworICAgIGxfZ2xHZXRRdWVyeU9iamVjdHVpNjR2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUVUlWUk9CVVNUQU5HTEVDT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRRdWVyeU9iamVjdHVpdlJvYnVzdEFOR0xFQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWUlWUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DIGdsR2V0UXVlcnlpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xH
ZXRRdWVyeU9iamVjdHVpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRRVUVSWUlWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRRdWVy
eWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFJF
TkRFUkJVRkZFUlBBUkFNRVRFUklWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xH
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxf
Z2xHZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRTQU1QTEVSUEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVDT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRTYW1wbGVyUGFyYW1ldGVySWl2Um9idXN0QU5HTEVDb250
ZXh0QU5HTEU7CisgICAgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJJaXZSb2J1c3RBTkdMRUNvbnRl
eHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0FNUExFUlBBUkFNRVRFUklVSVZS
T0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFNhbXBsZXJQYXJhbWV0ZXJJdWl2
Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJJdWl2
Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFNBTVBM
RVJQQVJBTUVURVJGVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0U2FtcGxl
clBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFNhbXBsZXJQ
YXJhbWV0ZXJmdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xHRVRTQU1QTEVSUEFSQU1FVEVSSVZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBn
bEdldFNhbXBsZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xHRVRTSEFERVJJVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQyBnbEdl
dFNoYWRlcml2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFNhbXBsZXJQYXJh
bWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRTSEFERVJJVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xHZXRTaGFkZXJp
dlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhM
RVZFTFBBUkFNRVRFUkZWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRUZXhM
ZXZlbFBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFRleExl
dmVsUGFyYW1ldGVyZnZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMR0VUVEVYTEVWRUxQQVJBTUVURVJJVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwot
ICAgIGdsR2V0VGV4TGV2ZWxQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAg
IGxfZ2xHZXRUZXhMZXZlbFBhcmFtZXRlcml2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUklJVlJPQlVTVEFOR0xFQ09OVEVYVEFO
R0xFUFJPQwotICAgIGdsR2V0VGV4UGFyYW1ldGVySWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CisgICAgbF9nbEdldFRleFBhcmFtZXRlcklpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhQQVJBTUVURVJJVUlWUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xHZXRUZXhQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldFRleFBhcmFtZXRlckl1aXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSRlZST0JVU1RBTkdMRUNPTlRF
WFRBTkdMRVBST0MKLSAgICBnbEdldFRleFBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldFRleFBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUklWUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xHZXRUZXhQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xF
OworICAgIGxfZ2xHZXRUZXhQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTklGT1JNRlZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBS
T0MKLSAgICBnbEdldFVuaWZvcm1mdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xH
ZXRVbmlmb3JtZnZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUVU5JRk9STUlWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRVbmlm
b3JtaXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0VW5pZm9ybWl2Um9idXN0
QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFVOSUZPUk1VSVZS
T0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFVuaWZvcm11aXZSb2J1c3RBTkdM
RUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0VW5pZm9ybXVpdlJvYnVzdEFOR0xFQ29udGV4dEFO
R0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJURVhBVFRSSUJJSVZST0JVU1RBTkdM
RUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFZlcnRleEF0dHJpYklpdlJvYnVzdEFOR0xFQ29u
dGV4dEFOR0xFOworICAgIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJJaXZSb2J1c3RBTkdMRUNvbnRleHRB
TkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVYQVRUUklCSVVJVlJPQlVTVEFO
R0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0VmVydGV4QXR0cmliSXVpdlJvYnVzdEFOR0xF
Q29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJJdWl2Um9idXN0QU5HTEVDb250
ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFZFUlRFWEFUVFJJQlBPSU5URVJW
Uk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVy
dlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRWZXJ0ZXhBdHRyaWJQb2ludGVy
dlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRWRVJU
RVhBVFRSSUJGVlJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0VmVydGV4QXR0
cmliZnZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0VmVydGV4QXR0cmliZnZS
b2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVkVSVEVY
QVRUUklCSVZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFZlcnRleEF0dHJp
Yml2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFZlcnRleEF0dHJpYml2Um9i
dXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JN
RlZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldG5Vbmlmb3JtZnZSb2J1c3RB
TkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0blVuaWZvcm1mdlJvYnVzdEFOR0xFQ29udGV4
dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVROVU5JRk9STUlWUk9CVVNUQU5HTEVD
T05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRuVW5pZm9ybWl2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldG5Vbmlmb3JtaXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUTlVOSUZPUk1VSVZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBS
T0MKLSAgICBnbEdldG5Vbmlmb3JtdWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFJFQURQSVhFTFNST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBST0MgZ2xS
ZWFkUGl4ZWxzUm9idXN0QU5HTEVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFJFQUROUElYRUxTUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DIGdsUmVhZG5QaXhlbHNSb2J1
c3RBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0blVuaWZvcm11aXZSb2J1c3RBTkdMRUNv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUkVBRFBJWEVMU1JPQlVTVEFOR0xF
Q09OVEVYVEFOR0xFUFJPQyBsX2dsUmVhZFBpeGVsc1JvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xSRUFETlBJWEVMU1JPQlVTVEFOR0xFQ09OVEVYVEFOR0xF
UFJPQworICAgIGxfZ2xSZWFkblBpeGVsc1JvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSUlWUk9CVVNUQU5HTEVDT05URVhUQU5H
TEVQUk9DCi0gICAgZ2xTYW1wbGVyUGFyYW1ldGVySWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CisgICAgbF9nbFNhbXBsZXJQYXJhbWV0ZXJJaXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRFUklVSVZST0JVU1RBTkdMRUNPTlRF
WFRBTkdMRVBST0MKLSAgICBnbFNhbXBsZXJQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEVDb250ZXh0
QU5HTEU7CisgICAgbF9nbFNhbXBsZXJQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEVDb250ZXh0QU5H
TEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRVJQQVJBTUVURVJGVlJPQlVTVEFOR0xF
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsU2FtcGxlclBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250
ZXh0QU5HTEU7CisgICAgbF9nbFNhbXBsZXJQYXJhbWV0ZXJmdlJvYnVzdEFOR0xFQ29udGV4dEFO
R0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVSUEFSQU1FVEVSSVZST0JVU1RBTkdM
RUNPTlRFWFRBTkdMRVBST0MKLSAgICBnbFNhbXBsZXJQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTJEUk9CVVNUQU5HTEVD
T05URVhUQU5HTEVQUk9DIGdsVGV4SW1hZ2UyRFJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNEUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9D
IGdsVGV4SW1hZ2UzRFJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xTYW1wbGVyUGFy
YW1ldGVyaXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VEVYSU1BR0UyRFJPQlVTVEFOR0xFQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4SW1hZ2UyRFJvYnVz
dEFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNEUk9C
VVNUQU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhJbWFnZTNEUm9idXN0QU5HTEVDb250ZXh0
QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUklJVlJPQlVTVEFOR0xF
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsVGV4UGFyYW1ldGVySWl2Um9idXN0QU5HTEVDb250ZXh0
QU5HTEU7CisgICAgbF9nbFRleFBhcmFtZXRlcklpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwog
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJJVUlWUk9CVVNUQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xUZXhQYXJhbWV0ZXJJdWl2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CisgICAgbF9nbFRleFBhcmFtZXRlckl1aXZSb2J1c3RBTkdMRUNvbnRleHRBTkdMRTsKIEFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMVEVYUEFSQU1FVEVSRlZST0JVU1RBTkdMRUNPTlRFWFRBTkdMRVBS
T0MKLSAgICBnbFRleFBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9n
bFRleFBhcmFtZXRlcmZ2Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTFRFWFBBUkFNRVRFUklWUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xU
ZXhQYXJhbWV0ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOworICAgIGxfZ2xUZXhQYXJhbWV0
ZXJpdlJvYnVzdEFOR0xFQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhT
VUJJTUFHRTJEUk9CVVNUQU5HTEVDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xUZXhTdWJJbWFnZTJE
Um9idXN0QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbFRleFN1YkltYWdlMkRSb2J1c3RBTkdM
RUNvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1VCSU1BR0UzRFJPQlVT
VEFOR0xFQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsVGV4U3ViSW1hZ2UzRFJvYnVzdEFOR0xFQ29u
dGV4dEFOR0xFOworICAgIGxfZ2xUZXhTdWJJbWFnZTNEUm9idXN0QU5HTEVDb250ZXh0QU5HTEU7
CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElNUE9SVFNFTUFQSE9SRVpJUkNPTkhBTkRMRUFOR0xF
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsSW1wb3J0U2VtYXBob3JlWmlyY29uSGFuZGxlQU5HTEVD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElOVkFMSURBVEVURVhUVVJFQU5H
TEVDT05URVhUQU5HTEVQUk9DIGdsSW52YWxpZGF0ZVRleHR1cmVBTkdMRUNvbnRleHRBTkdMRTsK
KyAgICBsX2dsSW1wb3J0U2VtYXBob3JlWmlyY29uSGFuZGxlQU5HTEVDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTElOVkFMSURBVEVURVhUVVJFQU5HTEVDT05URVhUQU5HTEVQ
Uk9DCisgICAgbF9nbEludmFsaWRhdGVUZXh0dXJlQU5HTEVDb250ZXh0QU5HTEU7CiBBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRFWElNQUdFMkRFWFRFUk5BTEFOR0xFQ09OVEVYVEFOR0xFUFJPQwot
ICAgIGdsVGV4SW1hZ2UyREV4dGVybmFsQU5HTEVDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEdFVE1VTFRJU0FNUExFRlZBTkdMRUNPTlRFWFRBTkdMRVBST0MgZ2xHZXRNdWx0
aXNhbXBsZWZ2QU5HTEVDb250ZXh0QU5HTEU7CisgICAgbF9nbFRleEltYWdlMkRFeHRlcm5hbEFO
R0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRNVUxUSVNBTVBMRUZW
QU5HTEVDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRNdWx0aXNhbXBsZWZ2QU5HTEVDb250ZXh0QU5H
TEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWExFVkVMUEFSQU1FVEVSRlZBTkdMRUNP
TlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFRleExldmVsUGFyYW1ldGVyZnZBTkdMRUNvbnRleHRB
TkdMRTsKKyAgICBsX2dsR2V0VGV4TGV2ZWxQYXJhbWV0ZXJmdkFOR0xFQ29udGV4dEFOR0xFOwog
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhMRVZFTFBBUkFNRVRFUklWQU5HTEVDT05URVhU
QU5HTEVQUk9DCi0gICAgZ2xHZXRUZXhMZXZlbFBhcmFtZXRlcml2QU5HTEVDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNBTVBMRU1BU0tJQU5HTEVDT05URVhUQU5HTEVQUk9D
IGdsU2FtcGxlTWFza2lBTkdMRUNvbnRleHRBTkdMRTsKKyAgICBsX2dsR2V0VGV4TGV2ZWxQYXJh
bWV0ZXJpdkFOR0xFQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1QTEVN
QVNLSUFOR0xFQ09OVEVYVEFOR0xFUFJPQyBsX2dsU2FtcGxlTWFza2lBTkdMRUNvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTJETVVMVElTQU1QTEVBTkdMRUNP
TlRFWFRBTkdMRVBST0MKLSAgICBnbFRleFN0b3JhZ2UyRE11bHRpc2FtcGxlQU5HTEVDb250ZXh0
QU5HTEU7CisgICAgbF9nbFRleFN0b3JhZ2UyRE11bHRpc2FtcGxlQU5HTEVDb250ZXh0QU5HTEU7
CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFRSQU5TTEFURURTSEFERVJTT1VSQ0VBTkdMRUNP
TlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFRyYW5zbGF0ZWRTaGFkZXJTb3VyY2VBTkdMRUNvbnRl
eHRBTkdMRTsKKyAgICBsX2dsR2V0VHJhbnNsYXRlZFNoYWRlclNvdXJjZUFOR0xFQ29udGV4dEFO
R0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EVU5JRk9STUxPQ0FUSU9OQ0hST01JVU1D
T05URVhUQU5HTEVQUk9DCi0gICAgZ2xCaW5kVW5pZm9ybUxvY2F0aW9uQ0hST01JVU1Db250ZXh0
QU5HTEU7CisgICAgbF9nbEJpbmRVbmlmb3JtTG9jYXRpb25DSFJPTUlVTUNvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09NUFJFU1NFRENPUFlURVhUVVJFQ0hST01JVU1DT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xDb21wcmVzc2VkQ29weVRleHR1cmVDSFJPTUlVTUNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09QWVNVQlRFWFRVUkVDSFJPTUlVTUNPTlRF
WFRBTkdMRVBST0MgZ2xDb3B5U3ViVGV4dHVyZUNIUk9NSVVNQ29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xDT1BZVEVYVFVSRUNIUk9NSVVNQ09OVEVYVEFOR0xFUFJPQyBnbENv
cHlUZXh0dXJlQ0hST01JVU1Db250ZXh0QU5HTEU7CisgICAgbF9nbENvbXByZXNzZWRDb3B5VGV4
dHVyZUNIUk9NSVVNQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1BZU1VC
VEVYVFVSRUNIUk9NSVVNQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xDb3B5U3ViVGV4dHVyZUNI
Uk9NSVVNQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1BZVEVYVFVSRUNI
Uk9NSVVNQ09OVEVYVEFOR0xFUFJPQyBsX2dsQ29weVRleHR1cmVDSFJPTUlVTUNvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09WRVJBR0VNT0RVTEFUSU9OQ0hST01JVU1DT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xDb3ZlcmFnZU1vZHVsYXRpb25DSFJPTUlVTUNvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTE9TRUNPTlRFWFRDSFJPTUlVTUNPTlRFWFRBTkdM
RVBST0MgZ2xMb3NlQ29udGV4dENIUk9NSVVNQ29udGV4dEFOR0xFOworICAgIGxfZ2xDb3ZlcmFn
ZU1vZHVsYXRpb25DSFJPTUlVTUNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TE9TRUNPTlRFWFRDSFJPTUlVTUNPTlRFWFRBTkdMRVBST0MgbF9nbExvc2VDb250ZXh0Q0hST01J
VU1Db250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJJTkRGUkFHREFUQUxPQ0FU
SU9ORVhUQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsQmluZEZyYWdEYXRhTG9jYXRpb25FWFRDb250
ZXh0QU5HTEU7CisgICAgbF9nbEJpbmRGcmFnRGF0YUxvY2F0aW9uRVhUQ29udGV4dEFOR0xFOwog
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5ERlJBR0RBVEFMT0NBVElPTklOREVYRURFWFRDT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbkluZGV4ZWRFWFRDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZSQUdEQVRBSU5ERVhFWFRDT05URVhU
QU5HTEVQUk9DIGdsR2V0RnJhZ0RhdGFJbmRleEVYVENvbnRleHRBTkdMRTsKKyAgICBsX2dsQmlu
ZEZyYWdEYXRhTG9jYXRpb25JbmRleGVkRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRGUkFHREFUQUlOREVYRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0RnJhZ0Rh
dGFJbmRleEVYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUFJPR1JB
TVJFU09VUkNFTE9DQVRJT05JTkRFWEVYVENPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFByb2dy
YW1SZXNvdXJjZUxvY2F0aW9uSW5kZXhFWFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTElOU0VSVEVWRU5UTUFSS0VSRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEluc2VydEV2ZW50
TWFya2VyRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xQT1BHUk9VUE1B
UktFUkVYVENPTlRFWFRBTkdMRVBST0MgZ2xQb3BHcm91cE1hcmtlckVYVENvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFVTSEdST1VQTUFSS0VSRVhUQ09OVEVYVEFOR0xFUFJP
QyBnbFB1c2hHcm91cE1hcmtlckVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRElTQ0FSREZSQU1FQlVGRkVSRVhUQ09OVEVYVEFOR0xFUFJPQyBnbERpc2NhcmRGcmFtZWJ1
ZmZlckVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkVHSU5RVUVSWUVY
VENPTlRFWFRBTkdMRVBST0MgZ2xCZWdpblF1ZXJ5RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xERUxFVEVRVUVSSUVTRVhUQ09OVEVYVEFOR0xFUFJPQyBnbERlbGV0ZVF1
ZXJpZXNFWFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVORFFVRVJZRVhU
Q09OVEVYVEFOR0xFUFJPQyBnbEVuZFF1ZXJ5RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRU5RVUVSSUVTRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEdlblF1ZXJpZXNFWFRD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVElOVEVHRVI2NFZFWFRDT05U
RVhUQU5HTEVQUk9DIGdsR2V0SW50ZWdlcjY0dkVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RJNjRWRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEdldFF1
ZXJ5T2JqZWN0aTY0dkVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VU
UVVFUllPQkpFQ1RJVkVYVENPTlRFWFRBTkdMRVBST0MgZ2xHZXRRdWVyeU9iamVjdGl2RVhUQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRRVUVSWU9CSkVDVFVJNjRWRVhU
Q09OVEVYVEFOR0xFUFJPQyBnbEdldFF1ZXJ5T2JqZWN0dWk2NHZFWFRDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFFVRVJZT0JKRUNUVUlWRVhUQ09OVEVYVEFOR0xFUFJP
QyBnbEdldFF1ZXJ5T2JqZWN0dWl2RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRRVUVSWUlWRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEdldFF1ZXJ5aXZFWFRDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUVVFUllFWFRDT05URVhUQU5HTEVQUk9D
IGdsSXNRdWVyeUVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUVVFUllD
T1VOVEVSRVhUQ09OVEVYVEFOR0xFUFJPQyBnbFF1ZXJ5Q291bnRlckVYVENvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV0JVRkZFUlNFWFRDT05URVhUQU5HTEVQUk9DIGds
RHJhd0J1ZmZlcnNFWFRDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFByb2dyYW1SZXNvdXJjZUxv
Y2F0aW9uSW5kZXhFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElOU0VS
VEVWRU5UTUFSS0VSRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsSW5zZXJ0RXZlbnRNYXJrZXJFWFRD
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBPUEdST1VQTUFSS0VSRVhUQ09O
VEVYVEFOR0xFUFJPQyBsX2dsUG9wR3JvdXBNYXJrZXJFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFBVU0hHUk9VUE1BUktFUkVYVENPTlRFWFRBTkdMRVBST0MgbF9nbFB1
c2hHcm91cE1hcmtlckVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRElT
Q0FSREZSQU1FQlVGRkVSRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsRGlzY2FyZEZyYW1lYnVmZmVy
RVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCRUdJTlFVRVJZRVhUQ09O
VEVYVEFOR0xFUFJPQyBsX2dsQmVnaW5RdWVyeUVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMREVMRVRFUVVFUklFU0VYVENPTlRFWFRBTkdMRVBST0MgbF9nbERlbGV0ZVF1
ZXJpZXNFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVORFFVRVJZRVhU
Q09OVEVYVEFOR0xFUFJPQyBsX2dsRW5kUXVlcnlFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFTlFVRVJJRVNFWFRDT05URVhUQU5HTEVQUk9DIGxfZ2xHZW5RdWVyaWVz
RVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRJTlRFR0VSNjRWRVhU
Q09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0SW50ZWdlcjY0dkVYVENvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RJNjRWRVhUQ09OVEVYVEFOR0xFUFJPQyBs
X2dsR2V0UXVlcnlPYmplY3RpNjR2RVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRRVUVSWU9CSkVDVElWRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0UXVlcnlPYmpl
Y3RpdkVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpF
Q1RVSTY0VkVYVENPTlRFWFRBTkdMRVBST0MKKyAgICBsX2dsR2V0UXVlcnlPYmplY3R1aTY0dkVY
VENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllPQkpFQ1RVSVZF
WFRDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRRdWVyeU9iamVjdHVpdkVYVENvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUVVFUllJVkVYVENPTlRFWFRBTkdMRVBST0MgbF9n
bEdldFF1ZXJ5aXZFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUVVF
UllFWFRDT05URVhUQU5HTEVQUk9DIGxfZ2xJc1F1ZXJ5RVhUQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xRVUVSWUNPVU5URVJFWFRDT05URVhUQU5HTEVQUk9DIGxfZ2xRdWVy
eUNvdW50ZXJFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdCVUZG
RVJTRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJhd0J1ZmZlcnNFWFRDb250ZXh0QU5HTEU7CiBB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERVFVQVRJT05TRVBBUkFURUlFWFRDT05URVhUQU5H
TEVQUk9DCi0gICAgZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGVpRVhUQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9OSUVYVENPTlRFWFRBTkdMRVBST0MgZ2xC
bGVuZEVxdWF0aW9uaUVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxF
TkRGVU5DU0VQQVJBVEVJRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEJsZW5kRnVuY1NlcGFyYXRlaUVY
VENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DSUVYVENPTlRF
WFRBTkdMRVBST0MgZ2xCbGVuZEZ1bmNpRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xDT0xPUk1BU0tJRVhUQ09OVEVYVEFOR0xFUFJPQyBnbENvbG9yTWFza2lFWFRDb250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERJU0FCTEVJRVhUQ09OVEVYVEFOR0xF
UFJPQyBnbERpc2FibGVpRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xF
TkFCTEVJRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEVuYWJsZWlFWFRDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTElTRU5BQkxFRElFWFRDT05URVhUQU5HTEVQUk9DIGdsSXNFbmFi
bGVkaUVYVENvbnRleHRBTkdMRTsKKyAgICBsX2dsQmxlbmRFcXVhdGlvblNlcGFyYXRlaUVYVENv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRFUVVBVElPTklFWFRDT05U
RVhUQU5HTEVQUk9DIGxfZ2xCbGVuZEVxdWF0aW9uaUVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DU0VQQVJBVEVJRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2ds
QmxlbmRGdW5jU2VwYXJhdGVpRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xCTEVOREZVTkNJRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsQmxlbmRGdW5jaUVYVENvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1JNQVNLSUVYVENPTlRFWFRBTkdMRVBS
T0MgbF9nbENvbG9yTWFza2lFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TERJU0FCTEVJRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsRGlzYWJsZWlFWFRDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVOQUJMRUlFWFRDT05URVhUQU5HTEVQUk9DIGxfZ2xF
bmFibGVpRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0VOQUJMRURJ
RVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNFbmFibGVkaUVYVENvbnRleHRBTkdMRTsKIEFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMRFJBV0VMRU1FTlRTQkFTRVZFUlRFWEVYVENPTlRFWFRBTkdMRVBS
T0MKLSAgICBnbERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFRDb250ZXh0QU5HTEU7CisgICAgbF9n
bERyYXdFbGVtZW50c0Jhc2VWZXJ0ZXhFWFRDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9S
VCBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREJBU0VWRVJURVhFWFRDT05URVhUQU5HTEVQUk9D
Ci0gICAgZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4RVhUQ29udGV4dEFOR0xFOwor
ICAgIGxfZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4RVhUQ29udGV4dEFOR0xFOwog
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXUkFOR0VFTEVNRU5UU0JBU0VWRVJURVhFWFRDT05U
RVhUQU5HTEVQUk9DCi0gICAgZ2xEcmF3UmFuZ2VFbGVtZW50c0Jhc2VWZXJ0ZXhFWFRDb250ZXh0
QU5HTEU7CisgICAgbF9nbERyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleEVYVENvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTVVMVElEUkFXRUxFTUVOVFNCQVNFVkVSVEVYRVhU
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsTXVsdGlEcmF3RWxlbWVudHNCYXNlVmVydGV4RVhUQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkVFWFRD
T05URVhUQU5HTEVQUk9DIGdsRnJhbWVidWZmZXJUZXh0dXJlRVhUQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VERVhUQ09OVEVYVEFOR0xFUFJP
QyBnbERyYXdBcnJheXNJbnN0YW5jZWRFWFRDb250ZXh0QU5HTEU7CisgICAgbF9nbE11bHRpRHJh
d0VsZW1lbnRzQmFzZVZlcnRleEVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMRlJBTUVCVUZGRVJURVhUVVJFRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsRnJhbWVidWZmZXJU
ZXh0dXJlRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXQVJSQVlT
SU5TVEFOQ0VERVhUQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xEcmF3QXJyYXlzSW5zdGFuY2Vk
RVhUQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXRUxFTUVOVFNJTlNU
QU5DRURFWFRDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRFWFRD
b250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFZFUlRFWEFUVFJJQkRJVklTT1JF
WFRDT05URVhUQU5HTEVQUk9DIGdsVmVydGV4QXR0cmliRGl2aXNvckVYVENvbnRleHRBTkdMRTsK
KyAgICBsX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJ
TF9FWFBPUlQgUEZOR0xWRVJURVhBVFRSSUJESVZJU09SRVhUQ09OVEVYVEFOR0xFUFJPQworICAg
IGxfZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yRVhUQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xGTFVTSE1BUFBFREJVRkZFUlJBTkdFRVhUQ09OVEVYVEFOR0xFUFJPQwotICAgIGds
Rmx1c2hNYXBwZWRCdWZmZXJSYW5nZUVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMTUFQQlVGRkVSUkFOR0VFWFRDT05URVhUQU5HTEVQUk9DIGdsTWFwQnVmZmVyUmFuZ2VF
WFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJVRkZFUlNUT1JBR0VNRU1F
WFRDT05URVhUQU5HTEVQUk9DIGdsQnVmZmVyU3RvcmFnZU1lbUVYVENvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1JFQVRFTUVNT1JZT0JKRUNUU0VYVENPTlRFWFRBTkdMRVBS
T0MgZ2xDcmVhdGVNZW1vcnlPYmplY3RzRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xERUxFVEVNRU1PUllPQkpFQ1RTRVhUQ09OVEVYVEFOR0xFUFJPQyBnbERlbGV0ZU1l
bW9yeU9iamVjdHNFWFRDb250ZXh0QU5HTEU7CisgICAgbF9nbEZsdXNoTWFwcGVkQnVmZmVyUmFu
Z2VFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BUEJVRkZFUlJBTkdF
RVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsTWFwQnVmZmVyUmFuZ2VFWFRDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEJVRkZFUlNUT1JBR0VNRU1FWFRDT05URVhUQU5HTEVQUk9D
IGxfZ2xCdWZmZXJTdG9yYWdlTWVtRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xDUkVBVEVNRU1PUllPQkpFQ1RTRVhUQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xDcmVh
dGVNZW1vcnlPYmplY3RzRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
RUxFVEVNRU1PUllPQkpFQ1RTRVhUQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xEZWxldGVNZW1v
cnlPYmplY3RzRVhUQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRNRU1P
UllPQkpFQ1RQQVJBTUVURVJJVkVYVENPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldE1lbW9yeU9i
amVjdFBhcmFtZXRlcml2RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xH
RVRVTlNJR05FREJZVEVJX1ZFWFRDT05URVhUQU5HTEVQUk9DIGdsR2V0VW5zaWduZWRCeXRlaV92
RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTlNJR05FREJZVEVW
RVhUQ09OVEVYVEFOR0xFUFJPQyBnbEdldFVuc2lnbmVkQnl0ZXZFWFRDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTElTTUVNT1JZT0JKRUNURVhUQ09OVEVYVEFOR0xFUFJPQyBn
bElzTWVtb3J5T2JqZWN0RVhUQ29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRNZW1vcnlPYmplY3RQ
YXJhbWV0ZXJpdkVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVU5T
SUdORURCWVRFSV9WRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VW5zaWduZWRCeXRlaV92RVhU
Q29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRVTlNJR05FREJZVEVWRVhU
Q09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0VW5zaWduZWRCeXRldkVYVENvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNNRU1PUllPQkpFQ1RFWFRDT05URVhUQU5HTEVQUk9DIGxf
Z2xJc01lbW9yeU9iamVjdEVYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TUVNT1JZT0JKRUNUUEFSQU1FVEVSSVZFWFRDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xNZW1vcnlP
YmplY3RQYXJhbWV0ZXJpdkVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VEVYU1RPUkFHRU1FTTJERVhUQ09OVEVYVEFOR0xFUFJPQyBnbFRleFN0b3JhZ2VNZW0yREVYVENv
bnRleHRBTkdMRTsKKyAgICBsX2dsTWVtb3J5T2JqZWN0UGFyYW1ldGVyaXZFWFRDb250ZXh0QU5H
TEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0VNRU0yREVYVENPTlRFWFRBTkdM
RVBST0MgbF9nbFRleFN0b3JhZ2VNZW0yREVYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYU1RPUkFHRU1FTTJETVVMVElTQU1QTEVFWFRDT05URVhUQU5HTEVQUk9DCi0g
ICAgZ2xUZXhTdG9yYWdlTWVtMkRNdWx0aXNhbXBsZUVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRU1FTTNERVhUQ09OVEVYVEFOR0xFUFJPQyBnbFRleFN0
b3JhZ2VNZW0zREVYVENvbnRleHRBTkdMRTsKKyAgICBsX2dsVGV4U3RvcmFnZU1lbTJETXVsdGlz
YW1wbGVFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0VN
RU0zREVYVENPTlRFWFRBTkdMRVBST0MgbF9nbFRleFN0b3JhZ2VNZW0zREVYVENvbnRleHRBTkdM
RTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRU1FTTNETVVMVElTQU1QTEVFWFRD
T05URVhUQU5HTEVQUk9DCi0gICAgZ2xUZXhTdG9yYWdlTWVtM0RNdWx0aXNhbXBsZUVYVENvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU1QT1JUTUVNT1JZRkRFWFRDT05URVhU
QU5HTEVQUk9DIGdsSW1wb3J0TWVtb3J5RmRFWFRDb250ZXh0QU5HTEU7CisgICAgbF9nbFRleFN0
b3JhZ2VNZW0zRE11bHRpc2FtcGxlRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xJTVBPUlRNRU1PUllGREVYVENPTlRFWFRBTkdMRVBST0MgbF9nbEltcG9ydE1lbW9yeUZk
RVhUQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRV
UkUyRE1VTFRJU0FNUExFRVhUQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsRnJhbWVidWZmZXJUZXh0
dXJlMkRNdWx0aXNhbXBsZUVYVENvbnRleHRBTkdMRTsKKyAgICBsX2dsRnJhbWVidWZmZXJUZXh0
dXJlMkRNdWx0aXNhbXBsZUVYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
UkVOREVSQlVGRkVSU1RPUkFHRU1VTFRJU0FNUExFRVhUQ09OVEVYVEFOR0xFUFJPQwotICAgIGds
UmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlRVhUQ29udGV4dEFOR0xFOworICAgIGxfZ2xS
ZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVFWFRDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVEdSQVBISUNTUkVTRVRTVEFUVVNFWFRDT05URVhUQU5HTEVQUk9DCi0g
ICAgZ2xHZXRHcmFwaGljc1Jlc2V0U3RhdHVzRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xHRVROVU5JRk9STUZWRVhUQ09OVEVYVEFOR0xFUFJPQyBnbEdldG5Vbmlmb3Jt
ZnZFWFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVE5VTklGT1JNSVZF
WFRDT05URVhUQU5HTEVQUk9DIGdsR2V0blVuaWZvcm1pdkVYVENvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMUkVBRE5QSVhFTFNFWFRDT05URVhUQU5HTEVQUk9DIGdsUmVhZG5Q
aXhlbHNFWFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVNFTUFQ
SE9SRVNFWFRDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRlU2VtYXBob3Jlc0VYVENvbnRleHRBTkdM
RTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VOU0VNQVBIT1JFU0VYVENPTlRFWFRBTkdMRVBS
T0MgZ2xHZW5TZW1hcGhvcmVzRVhUQ29udGV4dEFOR0xFOworICAgIGxfZ2xHZXRHcmFwaGljc1Jl
c2V0U3RhdHVzRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVROVU5J
Rk9STUZWRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2V0blVuaWZvcm1mdkVYVENvbnRleHRBTkdM
RTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUTlVOSUZPUk1JVkVYVENPTlRFWFRBTkdMRVBS
T0MgbF9nbEdldG5Vbmlmb3JtaXZFWFRDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFJFQUROUElYRUxTRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsUmVhZG5QaXhlbHNFWFRDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVNFTUFQSE9SRVNFWFRDT05U
RVhUQU5HTEVQUk9DIGxfZ2xEZWxldGVTZW1hcGhvcmVzRVhUQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xHRU5TRU1BUEhPUkVTRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2Vu
U2VtYXBob3Jlc0VYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0VN
QVBIT1JFUEFSQU1FVEVSVUk2NFZFWFRDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xHZXRTZW1hcGhv
cmVQYXJhbWV0ZXJ1aTY0dkVYVENvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
SVNTRU1BUEhPUkVFWFRDT05URVhUQU5HTEVQUk9DIGdsSXNTZW1hcGhvcmVFWFRDb250ZXh0QU5H
TEU7CisgICAgbF9nbEdldFNlbWFwaG9yZVBhcmFtZXRlcnVpNjR2RVhUQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1NFTUFQSE9SRUVYVENPTlRFWFRBTkdMRVBST0MgbF9n
bElzU2VtYXBob3JlRVhUQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTRU1B
UEhPUkVQQVJBTUVURVJVSTY0VkVYVENPTlRFWFRBTkdMRVBST0MKLSAgICBnbFNlbWFwaG9yZVBh
cmFtZXRlcnVpNjR2RVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTSUdO
QUxTRU1BUEhPUkVFWFRDT05URVhUQU5HTEVQUk9DIGdsU2lnbmFsU2VtYXBob3JlRVhUQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xXQUlUU0VNQVBIT1JFRVhUQ09OVEVYVEFO
R0xFUFJPQyBnbFdhaXRTZW1hcGhvcmVFWFRDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9S
VCBQRk5HTElNUE9SVFNFTUFQSE9SRUZERVhUQ09OVEVYVEFOR0xFUFJPQyBnbEltcG9ydFNlbWFw
aG9yZUZkRVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdF
MURFWFRDT05URVhUQU5HTEVQUk9DIGdsVGV4U3RvcmFnZTFERVhUQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdFMkRFWFRDT05URVhUQU5HTEVQUk9DIGdsVGV4
U3RvcmFnZTJERVhUQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9S
QUdFM0RFWFRDT05URVhUQU5HTEVQUk9DIGdsVGV4U3RvcmFnZTNERVhUQ29udGV4dEFOR0xFOwor
ICAgIGxfZ2xTZW1hcGhvcmVQYXJhbWV0ZXJ1aTY0dkVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMU0lHTkFMU0VNQVBIT1JFRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsU2ln
bmFsU2VtYXBob3JlRVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xXQUlU
U0VNQVBIT1JFRVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsV2FpdFNlbWFwaG9yZUVYVENvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMSU1QT1JUU0VNQVBIT1JFRkRFWFRDT05URVhU
QU5HTEVQUk9DIGxfZ2xJbXBvcnRTZW1hcGhvcmVGZEVYVENvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMVEVYU1RPUkFHRTFERVhUQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4U3Rv
cmFnZTFERVhUQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdF
MkRFWFRDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhTdG9yYWdlMkRFWFRDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFNUT1JBR0UzREVYVENPTlRFWFRBTkdMRVBST0MgbF9n
bFRleFN0b3JhZ2UzREVYVENvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVC
VUdNRVNTQUdFQ0FMTEJBQ0tLSFJDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xEZWJ1Z01lc3NhZ2VD
YWxsYmFja0tIUkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVCVUdNRVNT
QUdFQ09OVFJPTEtIUkNPTlRFWFRBTkdMRVBST0MgZ2xEZWJ1Z01lc3NhZ2VDb250cm9sS0hSQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUJVR01FU1NBR0VJTlNFUlRLSFJD
T05URVhUQU5HTEVQUk9DIGdsRGVidWdNZXNzYWdlSW5zZXJ0S0hSQ29udGV4dEFOR0xFOwotQU5H
TEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRERUJVR01FU1NBR0VMT0dLSFJDT05URVhUQU5HTEVQUk9D
IGdsR2V0RGVidWdNZXNzYWdlTG9nS0hSQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xHRVRPQkpFQ1RMQUJFTEtIUkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRPYmplY3RMYWJlbEtI
UkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUT0JKRUNUUFRSTEFCRUxL
SFJDT05URVhUQU5HTEVQUk9DIGdsR2V0T2JqZWN0UHRyTGFiZWxLSFJDb250ZXh0QU5HTEU7Ci1B
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBPSU5URVJWS0hSQ09OVEVYVEFOR0xFUFJPQyBnbEdl
dFBvaW50ZXJ2S0hSQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xPQkpFQ1RM
QUJFTEtIUkNPTlRFWFRBTkdMRVBST0MgZ2xPYmplY3RMYWJlbEtIUkNvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMT0JKRUNUUFRSTEFCRUxLSFJDT05URVhUQU5HTEVQUk9DIGds
T2JqZWN0UHRyTGFiZWxLSFJDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBP
UERFQlVHR1JPVVBLSFJDT05URVhUQU5HTEVQUk9DIGdsUG9wRGVidWdHcm91cEtIUkNvbnRleHRB
TkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUFVTSERFQlVHR1JPVVBLSFJDT05URVhUQU5H
TEVQUk9DIGdsUHVzaERlYnVnR3JvdXBLSFJDb250ZXh0QU5HTEU7CisgICAgbF9nbERlYnVnTWVz
c2FnZUNhbGxiYWNrS0hSQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUJV
R01FU1NBR0VDT05UUk9MS0hSQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xEZWJ1Z01lc3NhZ2VD
b250cm9sS0hSQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUJVR01FU1NB
R0VJTlNFUlRLSFJDT05URVhUQU5HTEVQUk9DIGxfZ2xEZWJ1Z01lc3NhZ2VJbnNlcnRLSFJDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVERFQlVHTUVTU0FHRUxPR0tIUkNP
TlRFWFRBTkdMRVBST0MgbF9nbEdldERlYnVnTWVzc2FnZUxvZ0tIUkNvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUT0JKRUNUTEFCRUxLSFJDT05URVhUQU5HTEVQUk9DIGxf
Z2xHZXRPYmplY3RMYWJlbEtIUkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VUT0JKRUNUUFRSTEFCRUxLSFJDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRPYmplY3RQdHJMYWJl
bEtIUkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUUE9JTlRFUlZLSFJD
T05URVhUQU5HTEVQUk9DIGxfZ2xHZXRQb2ludGVydktIUkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMT0JKRUNUTEFCRUxLSFJDT05URVhUQU5HTEVQUk9DIGxfZ2xPYmplY3RM
YWJlbEtIUkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMT0JKRUNUUFRSTEFC
RUxLSFJDT05URVhUQU5HTEVQUk9DIGxfZ2xPYmplY3RQdHJMYWJlbEtIUkNvbnRleHRBTkdMRTsK
K0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9QREVCVUdHUk9VUEtIUkNPTlRFWFRBTkdMRVBST0Mg
bF9nbFBvcERlYnVnR3JvdXBLSFJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFBVU0hERUJVR0dST1VQS0hSQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHVzaERlYnVnR3JvdXBLSFJD
b250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BWFNIQURFUkNPTVBJTEVSVEhS
RUFEU0tIUkNPTlRFWFRBTkdMRVBST0MKLSAgICBnbE1heFNoYWRlckNvbXBpbGVyVGhyZWFkc0tI
UkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFRkVOQ0VTTlZDT05U
RVhUQU5HTEVQUk9DIGdsRGVsZXRlRmVuY2VzTlZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTEZJTklTSEZFTkNFTlZDT05URVhUQU5HTEVQUk9DIGdsRmluaXNoRmVuY2VOVkNv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORkVOQ0VTTlZDT05URVhUQU5H
TEVQUk9DIGdsR2VuRmVuY2VzTlZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5H
TEdFVEZFTkNFSVZOVkNPTlRFWFRBTkdMRVBST0MgZ2xHZXRGZW5jZWl2TlZDb250ZXh0QU5HTEU7
Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTRkVOQ0VOVkNPTlRFWFRBTkdMRVBST0MgZ2xJc0Zl
bmNlTlZDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFNFVEZFTkNFTlZDT05U
RVhUQU5HTEVQUk9DIGdsU2V0RmVuY2VOVkNvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMVEVTVEZFTkNFTlZDT05URVhUQU5HTEVQUk9DIGdsVGVzdEZlbmNlTlZDb250ZXh0QU5H
TEU7CisgICAgbF9nbE1heFNoYWRlckNvbXBpbGVyVGhyZWFkc0tIUkNvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMREVMRVRFRkVOQ0VTTlZDT05URVhUQU5HTEVQUk9DIGxfZ2xE
ZWxldGVGZW5jZXNOVkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRklOSVNI
RkVOQ0VOVkNPTlRFWFRBTkdMRVBST0MgbF9nbEZpbmlzaEZlbmNlTlZDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTkZFTkNFU05WQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2Vu
RmVuY2VzTlZDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVEZFTkNFSVZO
VkNPTlRFWFRBTkdMRVBST0MgbF9nbEdldEZlbmNlaXZOVkNvbnRleHRBTkdMRTsKK0FOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMSVNGRU5DRU5WQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNGZW5jZU5WQ29u
dGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTRVRGRU5DRU5WQ09OVEVYVEFOR0xF
UFJPQyBsX2dsU2V0RmVuY2VOVkNvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
VEVTVEZFTkNFTlZDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXN0RmVuY2VOVkNvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRUdMSU1BR0VUQVJHRVRSRU5ERVJCVUZGRVJTVE9SQUdF
T0VTQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsRUdMSW1hZ2VUYXJnZXRSZW5kZXJidWZmZXJTdG9y
YWdlT0VTQ29udGV4dEFOR0xFOworICAgIGxfZ2xFR0xJbWFnZVRhcmdldFJlbmRlcmJ1ZmZlclN0
b3JhZ2VPRVNDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEVHTElNQUdFVEFS
R0VUVEVYVFVSRTJET0VTQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsRUdMSW1hZ2VUYXJnZXRUZXh0
dXJlMkRPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VT
Q29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCTEVOREVRVUFUSU9OU0VQQVJB
VEVJT0VTQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsQmxlbmRFcXVhdGlvblNlcGFyYXRlaU9FU0Nv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRFUVVBVElPTklPRVNDT05U
RVhUQU5HTEVQUk9DIGdsQmxlbmRFcXVhdGlvbmlPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEJMRU5ERlVOQ1NFUEFSQVRFSU9FU0NPTlRFWFRBTkdMRVBST0MgZ2xCbGVu
ZEZ1bmNTZXBhcmF0ZWlPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJM
RU5ERlVOQ0lPRVNDT05URVhUQU5HTEVQUk9DIGdsQmxlbmRGdW5jaU9FU0NvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ09MT1JNQVNLSU9FU0NPTlRFWFRBTkdMRVBST0MgZ2xD
b2xvck1hc2tpT0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xESVNBQkxF
SU9FU0NPTlRFWFRBTkdMRVBST0MgZ2xEaXNhYmxlaU9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMRU5BQkxFSU9FU0NPTlRFWFRBTkdMRVBST0MgZ2xFbmFibGVpT0VTQ29u
dGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0VOQUJMRURJT0VTQ09OVEVYVEFO
R0xFUFJPQyBnbElzRW5hYmxlZGlPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbEJsZW5kRXF1YXRp
b25TZXBhcmF0ZWlPRVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5E
RVFVQVRJT05JT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsQmxlbmRFcXVhdGlvbmlPRVNDb250ZXh0
QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEJMRU5ERlVOQ1NFUEFSQVRFSU9FU0NPTlRF
WFRBTkdMRVBST0MgbF9nbEJsZW5kRnVuY1NlcGFyYXRlaU9FU0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQkxFTkRGVU5DSU9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbEJsZW5k
RnVuY2lPRVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTENPTE9STUFTS0lP
RVNDT05URVhUQU5HTEVQUk9DIGxfZ2xDb2xvck1hc2tpT0VTQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xESVNBQkxFSU9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbERpc2FibGVp
T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xFTkFCTEVJT0VTQ09OVEVY
VEFOR0xFUFJPQyBsX2dsRW5hYmxlaU9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JU
IFBGTkdMSVNFTkFCTEVESU9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbElzRW5hYmxlZGlPRVNDb250
ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdFTEVNRU5UU0JBU0VWRVJURVhP
RVNDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xEcmF3RWxlbWVudHNCYXNlVmVydGV4T0VTQ29udGV4
dEFOR0xFOworICAgIGxfZ2xEcmF3RWxlbWVudHNCYXNlVmVydGV4T0VTQ29udGV4dEFOR0xFOwog
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXRUxFTUVOVFNJTlNUQU5DRURCQVNFVkVSVEVYT0VT
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleE9F
U0NvbnRleHRBTkdMRTsKKyAgICBsX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleE9F
U0NvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1JBTkdFRUxFTUVOVFNC
QVNFVkVSVEVYT0VTQ09OVEVYVEFOR0xFUFJPQwotICAgIGdsRHJhd1JhbmdlRWxlbWVudHNCYXNl
VmVydGV4T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRQUk9HUkFN
QklOQVJZT0VTQ09OVEVYVEFOR0xFUFJPQyBnbEdldFByb2dyYW1CaW5hcnlPRVNDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFBST0dSQU1CSU5BUllPRVNDT05URVhUQU5HTEVQ
Uk9DIGdsUHJvZ3JhbUJpbmFyeU9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBG
TkdMR0VUQlVGRkVSUE9JTlRFUlZPRVNDT05URVhUQU5HTEVQUk9DIGdsR2V0QnVmZmVyUG9pbnRl
cnZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTE1BUEJVRkZFUk9FU0NP
TlRFWFRBTkdMRVBST0MgZ2xNYXBCdWZmZXJPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTFVOTUFQQlVGRkVST0VTQ09OVEVYVEFOR0xFUFJPQyBnbFVubWFwQnVmZmVyT0VT
Q29udGV4dEFOR0xFOworICAgIGxfZ2xEcmF3UmFuZ2VFbGVtZW50c0Jhc2VWZXJ0ZXhPRVNDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFVFBST0dSQU1CSU5BUllPRVNDT05U
RVhUQU5HTEVQUk9DIGxfZ2xHZXRQcm9ncmFtQmluYXJ5T0VTQ29udGV4dEFOR0xFOworQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xQUk9HUkFNQklOQVJZT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsUHJv
Z3JhbUJpbmFyeU9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUQlVG
RkVSUE9JTlRFUlZPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRCdWZmZXJQb2ludGVydk9FU0Nv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFQQlVGRkVST0VTQ09OVEVYVEFO
R0xFUFJPQyBsX2dsTWFwQnVmZmVyT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xVTk1BUEJVRkZFUk9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbFVubWFwQnVmZmVyT0VTQ29u
dGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT01QUkVTU0VEVEVYSU1BR0UzRE9F
U0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbENvbXByZXNzZWRUZXhJbWFnZTNET0VTQ29udGV4dEFO
R0xFOworICAgIGxfZ2xDb21wcmVzc2VkVGV4SW1hZ2UzRE9FU0NvbnRleHRBTkdMRTsKIEFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ09NUFJFU1NFRFRFWFNVQklNQUdFM0RPRVNDT05URVhUQU5HTEVQ
Uk9DCi0gICAgZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UzRE9FU0NvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMQ09QWVRFWFNVQklNQUdFM0RPRVNDT05URVhUQU5HTEVQUk9DIGds
Q29weVRleFN1YkltYWdlM0RPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbENvbXByZXNzZWRUZXhT
dWJJbWFnZTNET0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xDT1BZVEVY
U1VCSU1BR0UzRE9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbENvcHlUZXhTdWJJbWFnZTNET0VTQ29u
dGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUzRE9F
U0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTNET0VTQ29udGV4dEFO
R0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhJTUFHRTNET0VTQ09OVEVYVEFOR0xFUFJP
QyBnbFRleEltYWdlM0RPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRF
WFNVQklNQUdFM0RPRVNDT05URVhUQU5HTEVQUk9DIGdsVGV4U3ViSW1hZ2UzRE9FU0NvbnRleHRB
TkdMRTsKKyAgICBsX2dsRnJhbWVidWZmZXJUZXh0dXJlM0RPRVNDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTFRFWElNQUdFM0RPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhJ
bWFnZTNET0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhTVUJJTUFH
RTNET0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4U3ViSW1hZ2UzRE9FU0NvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUU0FNUExFUlBBUkFNRVRFUklJVk9FU0NPTlRFWFRB
TkdMRVBST0MKLSAgICBnbEdldFNhbXBsZXJQYXJhbWV0ZXJJaXZPRVNDb250ZXh0QU5HTEU7Cisg
ICAgbF9nbEdldFNhbXBsZXJQYXJhbWV0ZXJJaXZPRVNDb250ZXh0QU5HTEU7CiBBTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFNBTVBMRVJQQVJBTUVURVJJVUlWT0VTQ09OVEVYVEFOR0xFUFJPQwot
ICAgIGdsR2V0U2FtcGxlclBhcmFtZXRlckl1aXZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElM
X0VYUE9SVCBQRk5HTEdFVFRFWFBBUkFNRVRFUklJVk9FU0NPTlRFWFRBTkdMRVBST0MgZ2xHZXRU
ZXhQYXJhbWV0ZXJJaXZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdF
VFRFWFBBUkFNRVRFUklVSVZPRVNDT05URVhUQU5HTEVQUk9DIGdsR2V0VGV4UGFyYW1ldGVySXVp
dk9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMU0FNUExFUlBBUkFNRVRF
UklJVk9FU0NPTlRFWFRBTkdMRVBST0MgZ2xTYW1wbGVyUGFyYW1ldGVySWl2T0VTQ29udGV4dEFO
R0xFOworICAgIGxfZ2xHZXRTYW1wbGVyUGFyYW1ldGVySXVpdk9FU0NvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYUEFSQU1FVEVSSUlWT0VTQ09OVEVYVEFOR0xFUFJP
QyBsX2dsR2V0VGV4UGFyYW1ldGVySWl2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xHRVRURVhQQVJBTUVURVJJVUlWT0VTQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xH
ZXRUZXhQYXJhbWV0ZXJJdWl2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZO
R0xTQU1QTEVSUEFSQU1FVEVSSUlWT0VTQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xTYW1wbGVy
UGFyYW1ldGVySWl2T0VTQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xTQU1Q
TEVSUEFSQU1FVEVSSVVJVk9FU0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbFNhbXBsZXJQYXJhbWV0
ZXJJdWl2T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVU
RVJJSVZPRVNDT05URVhUQU5HTEVQUk9DIGdsVGV4UGFyYW1ldGVySWl2T0VTQ29udGV4dEFOR0xF
OwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQQVJBTUVURVJJVUlWT0VTQ09OVEVYVEFOR0xF
UFJPQyBnbFRleFBhcmFtZXRlckl1aXZPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbFNhbXBsZXJQ
YXJhbWV0ZXJJdWl2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhQ
QVJBTUVURVJJSVZPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhQYXJhbWV0ZXJJaXZPRVNDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWFBBUkFNRVRFUklVSVZPRVNDT05U
RVhUQU5HTEVQUk9DIGxfZ2xUZXhQYXJhbWV0ZXJJdWl2T0VTQ29udGV4dEFOR0xFOwogQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xURVhTVE9SQUdFM0RNVUxUSVNBTVBMRU9FU0NPTlRFWFRBTkdMRVBS
T0MKLSAgICBnbFRleFN0b3JhZ2UzRE11bHRpc2FtcGxlT0VTQ29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xCSU5EVkVSVEVYQVJSQVlPRVNDT05URVhUQU5HTEVQUk9DIGdsQmlu
ZFZlcnRleEFycmF5T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xERUxF
VEVWRVJURVhBUlJBWVNPRVNDT05URVhUQU5HTEVQUk9DIGdsRGVsZXRlVmVydGV4QXJyYXlzT0VT
Q29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5WRVJURVhBUlJBWVNPRVND
T05URVhUQU5HTEVQUk9DIGdsR2VuVmVydGV4QXJyYXlzT0VTQ29udGV4dEFOR0xFOwotQU5HTEVf
VVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFSUkFZT0VTQ09OVEVYVEFOR0xFUFJPQyBnbElzVmVy
dGV4QXJyYXlPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbFRleFN0b3JhZ2UzRE11bHRpc2FtcGxl
T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xCSU5EVkVSVEVYQVJSQVlP
RVNDT05URVhUQU5HTEVQUk9DIGxfZ2xCaW5kVmVydGV4QXJyYXlPRVNDb250ZXh0QU5HTEU7CitB
TkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVZFUlRFWEFSUkFZU09FU0NPTlRFWFRBTkdMRVBS
T0MgbF9nbERlbGV0ZVZlcnRleEFycmF5c09FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VOVkVSVEVYQVJSQVlTT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuVmVydGV4
QXJyYXlzT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU1ZFUlRFWEFS
UkFZT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNWZXJ0ZXhBcnJheU9FU0NvbnRleHRBTkdMRTsK
IEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFTVVMVElWSUVXT1ZSQ09O
VEVYVEFOR0xFUFJPQwotICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlTXVsdGl2aWV3T1ZSQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYRk9FU0NPTlRFWFRBTkdMRVBS
T0MgZ2xEcmF3VGV4Zk9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJB
V1RFWEZWT0VTQ09OVEVYVEFOR0xFUFJPQyBnbERyYXdUZXhmdk9FU0NvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWElPRVNDT05URVhUQU5HTEVQUk9DIGdsRHJhd1Rl
eGlPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhJVk9FU0NP
TlRFWFRBTkdMRVBST0MgZ2xEcmF3VGV4aXZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VY
UE9SVCBQRk5HTERSQVdURVhTT0VTQ09OVEVYVEFOR0xFUFJPQyBnbERyYXdUZXhzT0VTQ29udGV4
dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYU1ZPRVNDT05URVhUQU5HTEVQ
Uk9DIGdsRHJhd1RleHN2T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
UkFXVEVYWE9FU0NPTlRFWFRBTkdMRVBST0MgZ2xEcmF3VGV4eE9FU0NvbnRleHRBTkdMRTsKLUFO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWFhWT0VTQ09OVEVYVEFOR0xFUFJPQyBnbERyYXdU
ZXh4dk9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREZSQU1FQlVG
RkVST0VTQ09OVEVYVEFOR0xFUFJPQyBnbEJpbmRGcmFtZWJ1ZmZlck9FU0NvbnRleHRBTkdMRTsK
LUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklORFJFTkRFUkJVRkZFUk9FU0NPTlRFWFRBTkdMRVBS
T0MgZ2xCaW5kUmVuZGVyYnVmZmVyT0VTQ29udGV4dEFOR0xFOworICAgIGxfZ2xGcmFtZWJ1ZmZl
clRleHR1cmVNdWx0aXZpZXdPVlJDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TERSQVdURVhGT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJhd1RleGZPRVNDb250ZXh0QU5HTEU7
CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhGVk9FU0NPTlRFWFRBTkdMRVBST0MgbF9n
bERyYXdUZXhmdk9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RF
WElPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xEcmF3VGV4aU9FU0NvbnRleHRBTkdMRTsKK0FOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMRFJBV1RFWElWT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsRHJhd1Rl
eGl2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xEUkFXVEVYU09FU0NP
TlRFWFRBTkdMRVBST0MgbF9nbERyYXdUZXhzT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xEUkFXVEVYU1ZPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xEcmF3VGV4c3ZPRVND
b250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTERSQVdURVhYT0VTQ09OVEVYVEFO
R0xFUFJPQyBsX2dsRHJhd1RleHhPRVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTERSQVdURVhYVk9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbERyYXdUZXh4dk9FU0NvbnRleHRB
TkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQklOREZSQU1FQlVGRkVST0VTQ09OVEVYVEFO
R0xFUFJPQyBsX2dsQmluZEZyYW1lYnVmZmVyT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9F
WFBPUlQgUEZOR0xCSU5EUkVOREVSQlVGRkVST0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsQmluZFJl
bmRlcmJ1ZmZlck9FU0NvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ0hFQ0tG
UkFNRUJVRkZFUlNUQVRVU09FU0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbENoZWNrRnJhbWVidWZm
ZXJTdGF0dXNPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURUZS
QU1FQlVGRkVSU09FU0NPTlRFWFRBTkdMRVBST0MgZ2xEZWxldGVGcmFtZWJ1ZmZlcnNPRVNDb250
ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTERFTEVURVJFTkRFUkJVRkZFUlNPRVND
T05URVhUQU5HTEVQUk9DIGdsRGVsZXRlUmVuZGVyYnVmZmVyc09FU0NvbnRleHRBTkdMRTsKKyAg
ICBsX2dsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1c09FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMREVMRVRFRlJBTUVCVUZGRVJTT0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsRGVs
ZXRlRnJhbWVidWZmZXJzT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xE
RUxFVEVSRU5ERVJCVUZGRVJTT0VTQ09OVEVYVEFOR0xFUFJPQworICAgIGxfZ2xEZWxldGVSZW5k
ZXJidWZmZXJzT0VTQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xGUkFNRUJV
RkZFUlJFTkRFUkJVRkZFUk9FU0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbEZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyT0VTQ29udGV4dEFOR0xFOworICAgIGxfZ2xGcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
ck9FU0NvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMRlJBTUVCVUZGRVJURVhU
VVJFMkRPRVNDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRE9FU0Nv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VORlJBTUVCVUZGRVJTT0VTQ09O
VEVYVEFOR0xFUFJPQyBnbEdlbkZyYW1lYnVmZmVyc09FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VU
SUxfRVhQT1JUIFBGTkdMR0VOUkVOREVSQlVGRkVSU09FU0NPTlRFWFRBTkdMRVBST0MgZ2xHZW5S
ZW5kZXJidWZmZXJzT0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRU5F
UkFURU1JUE1BUE9FU0NPTlRFWFRBTkdMRVBST0MgZ2xHZW5lcmF0ZU1pcG1hcE9FU0NvbnRleHRB
TkdMRTsKKyAgICBsX2dsRnJhbWVidWZmZXJUZXh0dXJlMkRPRVNDb250ZXh0QU5HTEU7CitBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFTkZSQU1FQlVGRkVSU09FU0NPTlRFWFRBTkdMRVBST0MgbF9n
bEdlbkZyYW1lYnVmZmVyc09FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
R0VOUkVOREVSQlVGRkVSU09FU0NPTlRFWFRBTkdMRVBST0MgbF9nbEdlblJlbmRlcmJ1ZmZlcnNP
RVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTEdFTkVSQVRFTUlQTUFQT0VT
Q09OVEVYVEFOR0xFUFJPQyBsX2dsR2VuZXJhdGVNaXBtYXBPRVNDb250ZXh0QU5HTEU7CiBBTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVEZSQU1FQlVGRkVSQVRUQUNITUVOVFBBUkFNRVRFUklWT0VT
Q09OVEVYVEFOR0xFUFJPQwotICAgIGdsR2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
aXZPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcml2T0VTQ29udGV4dEFOR0xFOwogQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRSRU5ERVJC
VUZGRVJQQVJBTUVURVJJVk9FU0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbEdldFJlbmRlcmJ1ZmZl
clBhcmFtZXRlcml2T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0ZS
QU1FQlVGRkVST0VTQ09OVEVYVEFOR0xFUFJPQyBnbElzRnJhbWVidWZmZXJPRVNDb250ZXh0QU5H
TEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTElTUkVOREVSQlVGRkVST0VTQ09OVEVYVEFOR0xF
UFJPQyBnbElzUmVuZGVyYnVmZmVyT0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQg
UEZOR0xSRU5ERVJCVUZGRVJTVE9SQUdFT0VTQ09OVEVYVEFOR0xFUFJPQyBnbFJlbmRlcmJ1ZmZl
clN0b3JhZ2VPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
cml2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xJU0ZSQU1FQlVGRkVS
T0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsSXNGcmFtZWJ1ZmZlck9FU0NvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMSVNSRU5ERVJCVUZGRVJPRVNDT05URVhUQU5HTEVQUk9DIGxf
Z2xJc1JlbmRlcmJ1ZmZlck9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
UkVOREVSQlVGRkVSU1RPUkFHRU9FU0NPTlRFWFRBTkdMRVBST0MKKyAgICBsX2dsUmVuZGVyYnVm
ZmVyU3RvcmFnZU9FU0NvbnRleHRBTkdMRTsKIEFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMQ1VSUkVO
VFBBTEVUVEVNQVRSSVhPRVNDT05URVhUQU5HTEVQUk9DCi0gICAgZ2xDdXJyZW50UGFsZXR0ZU1h
dHJpeE9FU0NvbnRleHRBTkdMRTsKKyAgICBsX2dsQ3VycmVudFBhbGV0dGVNYXRyaXhPRVNDb250
ZXh0QU5HTEU7CiBBTkdMRV9VVElMX0VYUE9SVCBQRk5HTExPQURQQUxFVFRFRlJPTU1PREVMVklF
V01BVFJJWE9FU0NPTlRFWFRBTkdMRVBST0MKLSAgICBnbExvYWRQYWxldHRlRnJvbU1vZGVsVmll
d01hdHJpeE9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMTUFUUklYSU5E
RVhQT0lOVEVST0VTQ09OVEVYVEFOR0xFUFJPQyBnbE1hdHJpeEluZGV4UG9pbnRlck9FU0NvbnRl
eHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMV0VJR0hUUE9JTlRFUk9FU0NPTlRFWFRB
TkdMRVBST0MgZ2xXZWlnaHRQb2ludGVyT0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBP
UlQgUEZOR0xQT0lOVFNJWkVQT0lOVEVST0VTQ09OVEVYVEFOR0xFUFJPQyBnbFBvaW50U2l6ZVBv
aW50ZXJPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFFVRVJZTUFUUklY
WE9FU0NPTlRFWFRBTkdMRVBST0MgZ2xRdWVyeU1hdHJpeHhPRVNDb250ZXh0QU5HTEU7Ci1BTkdM
RV9VVElMX0VYUE9SVCBQRk5HTEdFVFRFWEdFTkZWT0VTQ09OVEVYVEFOR0xFUFJPQyBnbEdldFRl
eEdlbmZ2T0VTQ29udGV4dEFOR0xFOwotQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xHRVRURVhHRU5J
Vk9FU0NPTlRFWFRBTkdMRVBST0MgZ2xHZXRUZXhHZW5pdk9FU0NvbnRleHRBTkdMRTsKLUFOR0xF
X1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYR0VOWFZPRVNDT05URVhUQU5HTEVQUk9DIGdsR2V0VGV4
R2VueHZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEdFTkZPRVND
T05URVhUQU5HTEVQUk9DIGdsVGV4R2VuZk9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMVEVYR0VORlZPRVNDT05URVhUQU5HTEVQUk9DIGdsVGV4R2VuZnZPRVNDb250ZXh0
QU5HTEU7Ci1BTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEdFTklPRVNDT05URVhUQU5HTEVQUk9D
IGdsVGV4R2VuaU9FU0NvbnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYR0VO
SVZPRVNDT05URVhUQU5HTEVQUk9DIGdsVGV4R2VuaXZPRVNDb250ZXh0QU5HTEU7Ci1BTkdMRV9V
VElMX0VYUE9SVCBQRk5HTFRFWEdFTlhPRVNDT05URVhUQU5HTEVQUk9DIGdsVGV4R2VueE9FU0Nv
bnRleHRBTkdMRTsKLUFOR0xFX1VUSUxfRVhQT1JUIFBGTkdMVEVYR0VOWFZPRVNDT05URVhUQU5H
TEVQUk9DIGdsVGV4R2VueHZPRVNDb250ZXh0QU5HTEU7CisgICAgbF9nbExvYWRQYWxldHRlRnJv
bU1vZGVsVmlld01hdHJpeE9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdM
TUFUUklYSU5ERVhQT0lOVEVST0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsTWF0cml4SW5kZXhQb2lu
dGVyT0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xXRUlHSFRQT0lOVEVS
T0VTQ09OVEVYVEFOR0xFUFJPQyBsX2dsV2VpZ2h0UG9pbnRlck9FU0NvbnRleHRBTkdMRTsKK0FO
R0xFX1VUSUxfRVhQT1JUIFBGTkdMUE9JTlRTSVpFUE9JTlRFUk9FU0NPTlRFWFRBTkdMRVBST0Mg
bF9nbFBvaW50U2l6ZVBvaW50ZXJPRVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQ
Rk5HTFFVRVJZTUFUUklYWE9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbFF1ZXJ5TWF0cml4eE9FU0Nv
bnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYR0VORlZPRVNDT05URVhU
QU5HTEVQUk9DIGxfZ2xHZXRUZXhHZW5mdk9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQ
T1JUIFBGTkdMR0VUVEVYR0VOSVZPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xHZXRUZXhHZW5pdk9F
U0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxfRVhQT1JUIFBGTkdMR0VUVEVYR0VOWFZPRVNDT05U
RVhUQU5HTEVQUk9DIGxfZ2xHZXRUZXhHZW54dk9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMVEVYR0VORk9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbFRleEdlbmZPRVNDb250
ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5HTFRFWEdFTkZWT0VTQ09OVEVYVEFOR0xF
UFJPQyBsX2dsVGV4R2VuZnZPRVNDb250ZXh0QU5HTEU7CitBTkdMRV9VVElMX0VYUE9SVCBQRk5H
TFRFWEdFTklPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhHZW5pT0VTQ29udGV4dEFOR0xFOwor
QU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhHRU5JVk9FU0NPTlRFWFRBTkdMRVBST0MgbF9nbFRl
eEdlbml2T0VTQ29udGV4dEFOR0xFOworQU5HTEVfVVRJTF9FWFBPUlQgUEZOR0xURVhHRU5YT0VT
Q09OVEVYVEFOR0xFUFJPQyBsX2dsVGV4R2VueE9FU0NvbnRleHRBTkdMRTsKK0FOR0xFX1VUSUxf
RVhQT1JUIFBGTkdMVEVYR0VOWFZPRVNDT05URVhUQU5HTEVQUk9DIGxfZ2xUZXhHZW54dk9FU0Nv
bnRleHRBTkdMRTsKIAogbmFtZXNwYWNlIGFuZ2xlCiB7CiB2b2lkIExvYWRHTEVTKExvYWRQcm9j
IGxvYWRQcm9jKQogewotICAgIGdsQWxwaGFGdW5jICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTEFMUEhBRlVOQ1BST0M+KGxvYWRQcm9jKCJnbEFscGhhRnVuYyIpKTsKLSAgICBnbENsaXBQ
bGFuZWYgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTElQUExBTkVGUFJPQz4obG9hZFBy
b2MoImdsQ2xpcFBsYW5lZiIpKTsKLSAgICBnbENvbG9yNGYgICAgICAgICA9IHJlaW50ZXJwcmV0
X2Nhc3Q8UEZOR0xDT0xPUjRGUFJPQz4obG9hZFByb2MoImdsQ29sb3I0ZiIpKTsKLSAgICBnbEZv
Z2YgICAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xGT0dGUFJPQz4obG9hZFByb2Mo
ImdsRm9nZiIpKTsKLSAgICBnbEZvZ2Z2ICAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xGT0dGVlBST0M+KGxvYWRQcm9jKCJnbEZvZ2Z2IikpOwotICAgIGdsRnJ1c3R1bWYgICAgICAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEZSVVNUVU1GUFJPQz4obG9hZFByb2MoImdsRnJ1c3R1
bWYiKSk7Ci0gICAgZ2xHZXRDbGlwUGxhbmVmICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VU
Q0xJUFBMQU5FRlBST0M+KGxvYWRQcm9jKCJnbEdldENsaXBQbGFuZWYiKSk7Ci0gICAgZ2xHZXRM
aWdodGZ2ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VUTElHSFRGVlBST0M+KGxvYWRQ
cm9jKCJnbEdldExpZ2h0ZnYiKSk7Ci0gICAgZ2xHZXRNYXRlcmlhbGZ2ICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkdMR0VUTUFURVJJQUxGVlBST0M+KGxvYWRQcm9jKCJnbEdldE1hdGVyaWFsZnYi
KSk7Ci0gICAgZ2xHZXRUZXhFbnZmdiAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VUVEVY
RU5WRlZQUk9DPihsb2FkUHJvYygiZ2xHZXRUZXhFbnZmdiIpKTsKLSAgICBnbExpZ2h0TW9kZWxm
ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xMSUdIVE1PREVMRlBST0M+KGxvYWRQcm9jKCJn
bExpZ2h0TW9kZWxmIikpOwotICAgIGdsTGlnaHRNb2RlbGZ2ICAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTExJR0hUTU9ERUxGVlBST0M+KGxvYWRQcm9jKCJnbExpZ2h0TW9kZWxmdiIpKTsKLSAg
ICBnbExpZ2h0ZiAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xMSUdIVEZQUk9DPihs
b2FkUHJvYygiZ2xMaWdodGYiKSk7Ci0gICAgZ2xMaWdodGZ2ICAgICAgICAgPSByZWludGVycHJl
dF9jYXN0PFBGTkdMTElHSFRGVlBST0M+KGxvYWRQcm9jKCJnbExpZ2h0ZnYiKSk7Ci0gICAgZ2xM
b2FkTWF0cml4ZiAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTE9BRE1BVFJJWEZQUk9DPihs
b2FkUHJvYygiZ2xMb2FkTWF0cml4ZiIpKTsKLSAgICBnbE1hdGVyaWFsZiAgICAgICA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UEZOR0xNQVRFUklBTEZQUk9DPihsb2FkUHJvYygiZ2xNYXRlcmlhbGYiKSk7
Ci0gICAgZ2xNYXRlcmlhbGZ2ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTUFURVJJQUxG
VlBST0M+KGxvYWRQcm9jKCJnbE1hdGVyaWFsZnYiKSk7Ci0gICAgZ2xNdWx0TWF0cml4ZiAgICAg
PSByZWludGVycHJldF9jYXN0PFBGTkdMTVVMVE1BVFJJWEZQUk9DPihsb2FkUHJvYygiZ2xNdWx0
TWF0cml4ZiIpKTsKLSAgICBnbE11bHRpVGV4Q29vcmQ0ZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xNVUxUSVRFWENPT1JENEZQUk9DPihsb2FkUHJvYygiZ2xNdWx0aVRleENvb3JkNGYiKSk7Ci0g
ICAgZ2xOb3JtYWwzZiAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTk9STUFMM0ZQUk9D
Pihsb2FkUHJvYygiZ2xOb3JtYWwzZiIpKTsKLSAgICBnbE9ydGhvZiAgICAgICAgICA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UEZOR0xPUlRIT0ZQUk9DPihsb2FkUHJvYygiZ2xPcnRob2YiKSk7Ci0gICAg
Z2xQb2ludFBhcmFtZXRlcmYgPSByZWludGVycHJldF9jYXN0PFBGTkdMUE9JTlRQQVJBTUVURVJG
UFJPQz4obG9hZFByb2MoImdsUG9pbnRQYXJhbWV0ZXJmIikpOwotICAgIGdsUG9pbnRQYXJhbWV0
ZXJmdiA9CisgICAgbF9nbEFscGhhRnVuYyAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xB
TFBIQUZVTkNQUk9DPihsb2FkUHJvYygiZ2xBbHBoYUZ1bmMiKSk7CisgICAgbF9nbENsaXBQbGFu
ZWYgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTElQUExBTkVGUFJPQz4obG9hZFByb2Mo
ImdsQ2xpcFBsYW5lZiIpKTsKKyAgICBsX2dsQ29sb3I0ZiAgICAgICAgID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTENPTE9SNEZQUk9DPihsb2FkUHJvYygiZ2xDb2xvcjRmIikpOworICAgIGxfZ2xG
b2dmICAgICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMRk9HRlBST0M+KGxvYWRQcm9j
KCJnbEZvZ2YiKSk7CisgICAgbF9nbEZvZ2Z2ICAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xGT0dGVlBST0M+KGxvYWRQcm9jKCJnbEZvZ2Z2IikpOworICAgIGxfZ2xGcnVzdHVtZiAg
ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMRlJVU1RVTUZQUk9DPihsb2FkUHJvYygiZ2xG
cnVzdHVtZiIpKTsKKyAgICBsX2dsR2V0Q2xpcFBsYW5lZiAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTEdFVENMSVBQTEFORUZQUk9DPihsb2FkUHJvYygiZ2xHZXRDbGlwUGxhbmVmIikpOworICAg
IGxfZ2xHZXRMaWdodGZ2ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VUTElHSFRGVlBS
T0M+KGxvYWRQcm9jKCJnbEdldExpZ2h0ZnYiKSk7CisgICAgbF9nbEdldE1hdGVyaWFsZnYgICA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRNQVRFUklBTEZWUFJPQz4obG9hZFByb2MoImdsR2V0
TWF0ZXJpYWxmdiIpKTsKKyAgICBsX2dsR2V0VGV4RW52ZnYgICAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTEdFVFRFWEVOVkZWUFJPQz4obG9hZFByb2MoImdsR2V0VGV4RW52ZnYiKSk7CisgICAg
bF9nbExpZ2h0TW9kZWxmICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xMSUdIVE1PREVMRlBS
T0M+KGxvYWRQcm9jKCJnbExpZ2h0TW9kZWxmIikpOworICAgIGxfZ2xMaWdodE1vZGVsZnYgICAg
PSByZWludGVycHJldF9jYXN0PFBGTkdMTElHSFRNT0RFTEZWUFJPQz4obG9hZFByb2MoImdsTGln
aHRNb2RlbGZ2IikpOworICAgIGxfZ2xMaWdodGYgICAgICAgICAgPSByZWludGVycHJldF9jYXN0
PFBGTkdMTElHSFRGUFJPQz4obG9hZFByb2MoImdsTGlnaHRmIikpOworICAgIGxfZ2xMaWdodGZ2
ICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTElHSFRGVlBST0M+KGxvYWRQcm9jKCJn
bExpZ2h0ZnYiKSk7CisgICAgbF9nbExvYWRNYXRyaXhmICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xMT0FETUFUUklYRlBST0M+KGxvYWRQcm9jKCJnbExvYWRNYXRyaXhmIikpOworICAgIGxf
Z2xNYXRlcmlhbGYgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTUFURVJJQUxGUFJPQz4o
bG9hZFByb2MoImdsTWF0ZXJpYWxmIikpOworICAgIGxfZ2xNYXRlcmlhbGZ2ICAgICAgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMTUFURVJJQUxGVlBST0M+KGxvYWRQcm9jKCJnbE1hdGVyaWFsZnYi
KSk7CisgICAgbF9nbE11bHRNYXRyaXhmICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xNVUxU
TUFUUklYRlBST0M+KGxvYWRQcm9jKCJnbE11bHRNYXRyaXhmIikpOworICAgIGxfZ2xNdWx0aVRl
eENvb3JkNGYgPSByZWludGVycHJldF9jYXN0PFBGTkdMTVVMVElURVhDT09SRDRGUFJPQz4obG9h
ZFByb2MoImdsTXVsdGlUZXhDb29yZDRmIikpOworICAgIGxfZ2xOb3JtYWwzZiAgICAgICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkdMTk9STUFMM0ZQUk9DPihsb2FkUHJvYygiZ2xOb3JtYWwzZiIp
KTsKKyAgICBsX2dsT3J0aG9mICAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTE9SVEhP
RlBST0M+KGxvYWRQcm9jKCJnbE9ydGhvZiIpKTsKKyAgICBsX2dsUG9pbnRQYXJhbWV0ZXJmID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5HTFBPSU5UUEFSQU1FVEVSRlBST0M+KGxvYWRQcm9jKCJnbFBv
aW50UGFyYW1ldGVyZiIpKTsKKyAgICBsX2dsUG9pbnRQYXJhbWV0ZXJmdiA9CiAgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xQT0lOVFBBUkFNRVRFUkZWUFJPQz4obG9hZFByb2MoImdsUG9p
bnRQYXJhbWV0ZXJmdiIpKTsKLSAgICBnbFBvaW50U2l6ZSAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTFBPSU5UU0laRVBST0M+KGxvYWRQcm9jKCJnbFBvaW50U2l6ZSIpKTsKLSAgICBnbFJvdGF0
ZWYgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFJPVEFURUZQUk9DPihsb2FkUHJvYygiZ2xS
b3RhdGVmIikpOwotICAgIGdsU2NhbGVmICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMU0NB
TEVGUFJPQz4obG9hZFByb2MoImdsU2NhbGVmIikpOwotICAgIGdsVGV4RW52ZiAgICAgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMVEVYRU5WRlBST0M+KGxvYWRQcm9jKCJnbFRleEVudmYiKSk7Ci0g
ICAgZ2xUZXhFbnZmdiAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xURVhFTlZGVlBST0M+KGxv
YWRQcm9jKCJnbFRleEVudmZ2IikpOwotICAgIGdsVHJhbnNsYXRlZiAgPSByZWludGVycHJldF9j
YXN0PFBGTkdMVFJBTlNMQVRFRlBST0M+KGxvYWRQcm9jKCJnbFRyYW5zbGF0ZWYiKSk7Ci0gICAg
Z2xBbHBoYUZ1bmN4ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xBTFBIQUZVTkNYUFJPQz4obG9h
ZFByb2MoImdsQWxwaGFGdW5jeCIpKTsKLSAgICBnbENsZWFyQ29sb3J4ID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTENMRUFSQ09MT1JYUFJPQz4obG9hZFByb2MoImdsQ2xlYXJDb2xvcngiKSk7Ci0g
ICAgZ2xDbGVhckRlcHRoeCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTEVBUkRFUFRIWFBST0M+
KGxvYWRQcm9jKCJnbENsZWFyRGVwdGh4IikpOwotICAgIGdsQ2xpZW50QWN0aXZlVGV4dHVyZSA9
CisgICAgbF9nbFBvaW50U2l6ZSAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFBPSU5UU0laRVBS
T0M+KGxvYWRQcm9jKCJnbFBvaW50U2l6ZSIpKTsKKyAgICBsX2dsUm90YXRlZiAgICAgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMUk9UQVRFRlBST0M+KGxvYWRQcm9jKCJnbFJvdGF0ZWYiKSk7Cisg
ICAgbF9nbFNjYWxlZiAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFNDQUxFRlBST0M+KGxv
YWRQcm9jKCJnbFNjYWxlZiIpKTsKKyAgICBsX2dsVGV4RW52ZiAgICAgPSByZWludGVycHJldF9j
YXN0PFBGTkdMVEVYRU5WRlBST0M+KGxvYWRQcm9jKCJnbFRleEVudmYiKSk7CisgICAgbF9nbFRl
eEVudmZ2ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWEVOVkZWUFJPQz4obG9hZFByb2Mo
ImdsVGV4RW52ZnYiKSk7CisgICAgbF9nbFRyYW5zbGF0ZWYgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTFRSQU5TTEFURUZQUk9DPihsb2FkUHJvYygiZ2xUcmFuc2xhdGVmIikpOworICAgIGxfZ2xB
bHBoYUZ1bmN4ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xBTFBIQUZVTkNYUFJPQz4obG9hZFBy
b2MoImdsQWxwaGFGdW5jeCIpKTsKKyAgICBsX2dsQ2xlYXJDb2xvcnggPSByZWludGVycHJldF9j
YXN0PFBGTkdMQ0xFQVJDT0xPUlhQUk9DPihsb2FkUHJvYygiZ2xDbGVhckNvbG9yeCIpKTsKKyAg
ICBsX2dsQ2xlYXJEZXB0aHggPSByZWludGVycHJldF9jYXN0PFBGTkdMQ0xFQVJERVBUSFhQUk9D
Pihsb2FkUHJvYygiZ2xDbGVhckRlcHRoeCIpKTsKKyAgICBsX2dsQ2xpZW50QWN0aXZlVGV4dHVy
ZSA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTElFTlRBQ1RJVkVURVhUVVJFUFJP
Qz4obG9hZFByb2MoImdsQ2xpZW50QWN0aXZlVGV4dHVyZSIpKTsKLSAgICBnbENsaXBQbGFuZXgg
ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTElQUExBTkVYUFJPQz4obG9hZFByb2MoImdsQ2xp
cFBsYW5leCIpKTsKLSAgICBnbENvbG9yNHViICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xD
T0xPUjRVQlBST0M+KGxvYWRQcm9jKCJnbENvbG9yNHViIikpOwotICAgIGdsQ29sb3I0eCAgICAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENPTE9SNFhQUk9DPihsb2FkUHJvYygiZ2xDb2xvcjR4
IikpOwotICAgIGdsQ29sb3JQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENPTE9SUE9J
TlRFUlBST0M+KGxvYWRQcm9jKCJnbENvbG9yUG9pbnRlciIpKTsKLSAgICBnbERlcHRoUmFuZ2V4
ICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xERVBUSFJBTkdFWFBST0M+KGxvYWRQcm9jKCJnbERl
cHRoUmFuZ2V4IikpOwotICAgIGdsRGlzYWJsZUNsaWVudFN0YXRlID0KKyAgICBsX2dsQ2xpcFBs
YW5leCAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENMSVBQTEFORVhQUk9DPihsb2FkUHJvYygi
Z2xDbGlwUGxhbmV4IikpOworICAgIGxfZ2xDb2xvcjR1YiAgICAgPSByZWludGVycHJldF9jYXN0
PFBGTkdMQ09MT1I0VUJQUk9DPihsb2FkUHJvYygiZ2xDb2xvcjR1YiIpKTsKKyAgICBsX2dsQ29s
b3I0eCAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENPTE9SNFhQUk9DPihsb2FkUHJvYygi
Z2xDb2xvcjR4IikpOworICAgIGxfZ2xDb2xvclBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PFBG
TkdMQ09MT1JQT0lOVEVSUFJPQz4obG9hZFByb2MoImdsQ29sb3JQb2ludGVyIikpOworICAgIGxf
Z2xEZXB0aFJhbmdleCAgPSByZWludGVycHJldF9jYXN0PFBGTkdMREVQVEhSQU5HRVhQUk9DPihs
b2FkUHJvYygiZ2xEZXB0aFJhbmdleCIpKTsKKyAgICBsX2dsRGlzYWJsZUNsaWVudFN0YXRlID0K
ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5HTERJU0FCTEVDTElFTlRTVEFURVBST0M+KGxv
YWRQcm9jKCJnbERpc2FibGVDbGllbnRTdGF0ZSIpKTsKLSAgICBnbEVuYWJsZUNsaWVudFN0YXRl
ID0KKyAgICBsX2dsRW5hYmxlQ2xpZW50U3RhdGUgPQogICAgICAgICByZWludGVycHJldF9jYXN0
PFBGTkdMRU5BQkxFQ0xJRU5UU1RBVEVQUk9DPihsb2FkUHJvYygiZ2xFbmFibGVDbGllbnRTdGF0
ZSIpKTsKLSAgICBnbEZvZ3ggICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMRk9HWFBS
T0M+KGxvYWRQcm9jKCJnbEZvZ3giKSk7Ci0gICAgZ2xGb2d4diAgICAgICAgID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5HTEZPR1hWUFJPQz4obG9hZFByb2MoImdsRm9neHYiKSk7Ci0gICAgZ2xGcnVz
dHVteCAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEZSVVNUVU1YUFJPQz4obG9hZFByb2Mo
ImdsRnJ1c3R1bXgiKSk7Ci0gICAgZ2xHZXRDbGlwUGxhbmV4ID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTEdFVENMSVBQTEFORVhQUk9DPihsb2FkUHJvYygiZ2xHZXRDbGlwUGxhbmV4IikpOwotICAg
IGdsR2V0Rml4ZWR2ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRGSVhFRFZQUk9DPihs
b2FkUHJvYygiZ2xHZXRGaXhlZHYiKSk7Ci0gICAgZ2xHZXRMaWdodHh2ICAgID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5HTEdFVExJR0hUWFZQUk9DPihsb2FkUHJvYygiZ2xHZXRMaWdodHh2IikpOwot
ICAgIGdsR2V0TWF0ZXJpYWx4diA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRNQVRFUklBTFhW
UFJPQz4obG9hZFByb2MoImdsR2V0TWF0ZXJpYWx4diIpKTsKLSAgICBnbEdldFBvaW50ZXJ2ICAg
PSByZWludGVycHJldF9jYXN0PFBGTkdMR0VUUE9JTlRFUlZQUk9DPihsb2FkUHJvYygiZ2xHZXRQ
b2ludGVydiIpKTsKLSAgICBnbEdldFRleEVudml2ICAgPSByZWludGVycHJldF9jYXN0PFBGTkdM
R0VUVEVYRU5WSVZQUk9DPihsb2FkUHJvYygiZ2xHZXRUZXhFbnZpdiIpKTsKLSAgICBnbEdldFRl
eEVudnh2ICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VUVEVYRU5WWFZQUk9DPihsb2FkUHJv
YygiZ2xHZXRUZXhFbnZ4diIpKTsKLSAgICBnbEdldFRleFBhcmFtZXRlcnh2ID0KKyAgICBsX2ds
Rm9neCAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xGT0dYUFJPQz4obG9hZFByb2Mo
ImdsRm9neCIpKTsKKyAgICBsX2dsRm9neHYgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xGT0dYVlBST0M+KGxvYWRQcm9jKCJnbEZvZ3h2IikpOworICAgIGxfZ2xGcnVzdHVteCAgICAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEZSVVNUVU1YUFJPQz4obG9hZFByb2MoImdsRnJ1c3R1
bXgiKSk7CisgICAgbF9nbEdldENsaXBQbGFuZXggPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VU
Q0xJUFBMQU5FWFBST0M+KGxvYWRQcm9jKCJnbEdldENsaXBQbGFuZXgiKSk7CisgICAgbF9nbEdl
dEZpeGVkdiAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VURklYRURWUFJPQz4obG9hZFBy
b2MoImdsR2V0Rml4ZWR2IikpOworICAgIGxfZ2xHZXRMaWdodHh2ICAgID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTEdFVExJR0hUWFZQUk9DPihsb2FkUHJvYygiZ2xHZXRMaWdodHh2IikpOworICAg
IGxfZ2xHZXRNYXRlcmlhbHh2ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEdFVE1BVEVSSUFMWFZQ
Uk9DPihsb2FkUHJvYygiZ2xHZXRNYXRlcmlhbHh2IikpOworICAgIGxfZ2xHZXRQb2ludGVydiAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEdFVFBPSU5URVJWUFJPQz4obG9hZFByb2MoImdsR2V0
UG9pbnRlcnYiKSk7CisgICAgbF9nbEdldFRleEVudml2ICAgPSByZWludGVycHJldF9jYXN0PFBG
TkdMR0VUVEVYRU5WSVZQUk9DPihsb2FkUHJvYygiZ2xHZXRUZXhFbnZpdiIpKTsKKyAgICBsX2ds
R2V0VGV4RW52eHYgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRURVhFTlZYVlBST0M+KGxv
YWRQcm9jKCJnbEdldFRleEVudnh2IikpOworICAgIGxfZ2xHZXRUZXhQYXJhbWV0ZXJ4diA9CiAg
ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVRURVhQQVJBTUVURVJYVlBST0M+KGxvYWRQ
cm9jKCJnbEdldFRleFBhcmFtZXRlcnh2IikpOwotICAgIGdsTGlnaHRNb2RlbHggICAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTExJR0hUTU9ERUxYUFJPQz4obG9hZFByb2MoImdsTGlnaHRNb2Rl
bHgiKSk7Ci0gICAgZ2xMaWdodE1vZGVseHYgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTElH
SFRNT0RFTFhWUFJPQz4obG9hZFByb2MoImdsTGlnaHRNb2RlbHh2IikpOwotICAgIGdsTGlnaHR4
ICAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTExJR0hUWFBST0M+KGxvYWRQcm9jKCJn
bExpZ2h0eCIpKTsKLSAgICBnbExpZ2h0eHYgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xMSUdIVFhWUFJPQz4obG9hZFByb2MoImdsTGlnaHR4diIpKTsKLSAgICBnbExpbmVXaWR0aHgg
ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xMSU5FV0lEVEhYUFJPQz4obG9hZFByb2MoImds
TGluZVdpZHRoeCIpKTsKLSAgICBnbExvYWRJZGVudGl0eSAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xMT0FESURFTlRJVFlQUk9DPihsb2FkUHJvYygiZ2xMb2FkSWRlbnRpdHkiKSk7Ci0gICAg
Z2xMb2FkTWF0cml4eCAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTE9BRE1BVFJJWFhQUk9D
Pihsb2FkUHJvYygiZ2xMb2FkTWF0cml4eCIpKTsKLSAgICBnbExvZ2ljT3AgICAgICAgICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xMT0dJQ09QUFJPQz4obG9hZFByb2MoImdsTG9naWNPcCIpKTsK
LSAgICBnbE1hdGVyaWFseCAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xNQVRFUklBTFhQ
Uk9DPihsb2FkUHJvYygiZ2xNYXRlcmlhbHgiKSk7Ci0gICAgZ2xNYXRlcmlhbHh2ICAgICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkdMTUFURVJJQUxYVlBST0M+KGxvYWRQcm9jKCJnbE1hdGVyaWFs
eHYiKSk7Ci0gICAgZ2xNYXRyaXhNb2RlICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTUFU
UklYTU9ERVBST0M+KGxvYWRQcm9jKCJnbE1hdHJpeE1vZGUiKSk7Ci0gICAgZ2xNdWx0TWF0cml4
eCAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTVVMVE1BVFJJWFhQUk9DPihsb2FkUHJvYygi
Z2xNdWx0TWF0cml4eCIpKTsKLSAgICBnbE11bHRpVGV4Q29vcmQ0eCA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xNVUxUSVRFWENPT1JENFhQUk9DPihsb2FkUHJvYygiZ2xNdWx0aVRleENvb3JkNHgi
KSk7Ci0gICAgZ2xOb3JtYWwzeCAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTk9STUFM
M1hQUk9DPihsb2FkUHJvYygiZ2xOb3JtYWwzeCIpKTsKLSAgICBnbE5vcm1hbFBvaW50ZXIgICA9
IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xOT1JNQUxQT0lOVEVSUFJPQz4obG9hZFByb2MoImdsTm9y
bWFsUG9pbnRlciIpKTsKLSAgICBnbE9ydGhveCAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xPUlRIT1hQUk9DPihsb2FkUHJvYygiZ2xPcnRob3giKSk7Ci0gICAgZ2xQb2ludFBhcmFt
ZXRlcnggPSByZWludGVycHJldF9jYXN0PFBGTkdMUE9JTlRQQVJBTUVURVJYUFJPQz4obG9hZFBy
b2MoImdsUG9pbnRQYXJhbWV0ZXJ4IikpOwotICAgIGdsUG9pbnRQYXJhbWV0ZXJ4diA9CisgICAg
bF9nbExpZ2h0TW9kZWx4ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xMSUdIVE1PREVMWFBS
T0M+KGxvYWRQcm9jKCJnbExpZ2h0TW9kZWx4IikpOworICAgIGxfZ2xMaWdodE1vZGVseHYgICAg
PSByZWludGVycHJldF9jYXN0PFBGTkdMTElHSFRNT0RFTFhWUFJPQz4obG9hZFByb2MoImdsTGln
aHRNb2RlbHh2IikpOworICAgIGxfZ2xMaWdodHggICAgICAgICAgPSByZWludGVycHJldF9jYXN0
PFBGTkdMTElHSFRYUFJPQz4obG9hZFByb2MoImdsTGlnaHR4IikpOworICAgIGxfZ2xMaWdodHh2
ICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTElHSFRYVlBST0M+KGxvYWRQcm9jKCJn
bExpZ2h0eHYiKSk7CisgICAgbF9nbExpbmVXaWR0aHggICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xMSU5FV0lEVEhYUFJPQz4obG9hZFByb2MoImdsTGluZVdpZHRoeCIpKTsKKyAgICBsX2ds
TG9hZElkZW50aXR5ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTExPQURJREVOVElUWVBST0M+
KGxvYWRQcm9jKCJnbExvYWRJZGVudGl0eSIpKTsKKyAgICBsX2dsTG9hZE1hdHJpeHggICAgID0g
cmVpbnRlcnByZXRfY2FzdDxQRk5HTExPQURNQVRSSVhYUFJPQz4obG9hZFByb2MoImdsTG9hZE1h
dHJpeHgiKSk7CisgICAgbF9nbExvZ2ljT3AgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xMT0dJQ09QUFJPQz4obG9hZFByb2MoImdsTG9naWNPcCIpKTsKKyAgICBsX2dsTWF0ZXJpYWx4
ICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTE1BVEVSSUFMWFBST0M+KGxvYWRQcm9jKCJn
bE1hdGVyaWFseCIpKTsKKyAgICBsX2dsTWF0ZXJpYWx4diAgICAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTE1BVEVSSUFMWFZQUk9DPihsb2FkUHJvYygiZ2xNYXRlcmlhbHh2IikpOworICAgIGxf
Z2xNYXRyaXhNb2RlICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTUFUUklYTU9ERVBST0M+
KGxvYWRQcm9jKCJnbE1hdHJpeE1vZGUiKSk7CisgICAgbF9nbE11bHRNYXRyaXh4ICAgICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xNVUxUTUFUUklYWFBST0M+KGxvYWRQcm9jKCJnbE11bHRNYXRy
aXh4IikpOworICAgIGxfZ2xNdWx0aVRleENvb3JkNHggPSByZWludGVycHJldF9jYXN0PFBGTkdM
TVVMVElURVhDT09SRDRYUFJPQz4obG9hZFByb2MoImdsTXVsdGlUZXhDb29yZDR4IikpOworICAg
IGxfZ2xOb3JtYWwzeCAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMTk9STUFMM1hQUk9D
Pihsb2FkUHJvYygiZ2xOb3JtYWwzeCIpKTsKKyAgICBsX2dsTm9ybWFsUG9pbnRlciAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTE5PUk1BTFBPSU5URVJQUk9DPihsb2FkUHJvYygiZ2xOb3JtYWxQ
b2ludGVyIikpOworICAgIGxfZ2xPcnRob3ggICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBG
TkdMT1JUSE9YUFJPQz4obG9hZFByb2MoImdsT3J0aG94IikpOworICAgIGxfZ2xQb2ludFBhcmFt
ZXRlcnggPSByZWludGVycHJldF9jYXN0PFBGTkdMUE9JTlRQQVJBTUVURVJYUFJPQz4obG9hZFBy
b2MoImdsUG9pbnRQYXJhbWV0ZXJ4IikpOworICAgIGxfZ2xQb2ludFBhcmFtZXRlcnh2ID0KICAg
ICAgICAgcmVpbnRlcnByZXRfY2FzdDxQRk5HTFBPSU5UUEFSQU1FVEVSWFZQUk9DPihsb2FkUHJv
YygiZ2xQb2ludFBhcmFtZXRlcnh2IikpOwotICAgIGdsUG9pbnRTaXpleCAgICAgID0gcmVpbnRl
cnByZXRfY2FzdDxQRk5HTFBPSU5UU0laRVhQUk9DPihsb2FkUHJvYygiZ2xQb2ludFNpemV4Iikp
OwotICAgIGdsUG9seWdvbk9mZnNldHggID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFBPTFlHT05P
RkZTRVRYUFJPQz4obG9hZFByb2MoImdsUG9seWdvbk9mZnNldHgiKSk7Ci0gICAgZ2xQb3BNYXRy
aXggICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMUE9QTUFUUklYUFJPQz4obG9hZFByb2Mo
ImdsUG9wTWF0cml4IikpOwotICAgIGdsUHVzaE1hdHJpeCAgICAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTFBVU0hNQVRSSVhQUk9DPihsb2FkUHJvYygiZ2xQdXNoTWF0cml4IikpOwotICAgIGds
Um90YXRleCAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFJPVEFURVhQUk9DPihsb2Fk
UHJvYygiZ2xSb3RhdGV4IikpOwotICAgIGdsU2FtcGxlQ292ZXJhZ2V4ID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTFNBTVBMRUNPVkVSQUdFWFBST0M+KGxvYWRQcm9jKCJnbFNhbXBsZUNvdmVyYWdl
eCIpKTsKLSAgICBnbFNjYWxleCAgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xTQ0FM
RVhQUk9DPihsb2FkUHJvYygiZ2xTY2FsZXgiKSk7Ci0gICAgZ2xTaGFkZU1vZGVsICAgICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkdMU0hBREVNT0RFTFBST0M+KGxvYWRQcm9jKCJnbFNoYWRlTW9k
ZWwiKSk7Ci0gICAgZ2xUZXhDb29yZFBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PFBGTkdMVEVY
Q09PUkRQT0lOVEVSUFJPQz4obG9hZFByb2MoImdsVGV4Q29vcmRQb2ludGVyIikpOwotICAgIGds
VGV4RW52aSAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWEVOVklQUk9DPihsb2Fk
UHJvYygiZ2xUZXhFbnZpIikpOwotICAgIGdsVGV4RW52eCAgICAgICAgID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTFRFWEVOVlhQUk9DPihsb2FkUHJvYygiZ2xUZXhFbnZ4IikpOwotICAgIGdsVGV4
RW52aXYgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWEVOVklWUFJPQz4obG9hZFBy
b2MoImdsVGV4RW52aXYiKSk7Ci0gICAgZ2xUZXhFbnZ4diAgICAgICAgPSByZWludGVycHJldF9j
YXN0PFBGTkdMVEVYRU5WWFZQUk9DPihsb2FkUHJvYygiZ2xUZXhFbnZ4diIpKTsKLSAgICBnbFRl
eFBhcmFtZXRlcnggICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xURVhQQVJBTUVURVJYUFJPQz4o
bG9hZFByb2MoImdsVGV4UGFyYW1ldGVyeCIpKTsKLSAgICBnbFRleFBhcmFtZXRlcnh2ICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xURVhQQVJBTUVURVJYVlBST0M+KGxvYWRQcm9jKCJnbFRleFBh
cmFtZXRlcnh2IikpOwotICAgIGdsVHJhbnNsYXRleCAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTFRSQU5TTEFURVhQUk9DPihsb2FkUHJvYygiZ2xUcmFuc2xhdGV4IikpOwotICAgIGdsVmVy
dGV4UG9pbnRlciAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFZFUlRFWFBPSU5URVJQUk9DPihs
b2FkUHJvYygiZ2xWZXJ0ZXhQb2ludGVyIikpOwotICAgIGdsQWN0aXZlVGV4dHVyZSAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTEFDVElWRVRFWFRVUkVQUk9DPihsb2FkUHJvYygiZ2xBY3RpdmVU
ZXh0dXJlIikpOwotICAgIGdsQXR0YWNoU2hhZGVyICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5H
TEFUVEFDSFNIQURFUlBST0M+KGxvYWRQcm9jKCJnbEF0dGFjaFNoYWRlciIpKTsKLSAgICBnbEJp
bmRBdHRyaWJMb2NhdGlvbiA9CisgICAgbF9nbFBvaW50U2l6ZXggICAgICA9IHJlaW50ZXJwcmV0
X2Nhc3Q8UEZOR0xQT0lOVFNJWkVYUFJPQz4obG9hZFByb2MoImdsUG9pbnRTaXpleCIpKTsKKyAg
ICBsX2dsUG9seWdvbk9mZnNldHggID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFBPTFlHT05PRkZT
RVRYUFJPQz4obG9hZFByb2MoImdsUG9seWdvbk9mZnNldHgiKSk7CisgICAgbF9nbFBvcE1hdHJp
eCAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xQT1BNQVRSSVhQUk9DPihsb2FkUHJvYygi
Z2xQb3BNYXRyaXgiKSk7CisgICAgbF9nbFB1c2hNYXRyaXggICAgICA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xQVVNITUFUUklYUFJPQz4obG9hZFByb2MoImdsUHVzaE1hdHJpeCIpKTsKKyAgICBs
X2dsUm90YXRleCAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFJPVEFURVhQUk9DPihs
b2FkUHJvYygiZ2xSb3RhdGV4IikpOworICAgIGxfZ2xTYW1wbGVDb3ZlcmFnZXggPSByZWludGVy
cHJldF9jYXN0PFBGTkdMU0FNUExFQ09WRVJBR0VYUFJPQz4obG9hZFByb2MoImdsU2FtcGxlQ292
ZXJhZ2V4IikpOworICAgIGxfZ2xTY2FsZXggICAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBG
TkdMU0NBTEVYUFJPQz4obG9hZFByb2MoImdsU2NhbGV4IikpOworICAgIGxfZ2xTaGFkZU1vZGVs
ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMU0hBREVNT0RFTFBST0M+KGxvYWRQcm9jKCJn
bFNoYWRlTW9kZWwiKSk7CisgICAgbF9nbFRleENvb3JkUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xURVhDT09SRFBPSU5URVJQUk9DPihsb2FkUHJvYygiZ2xUZXhDb29yZFBvaW50ZXIi
KSk7CisgICAgbF9nbFRleEVudmkgICAgICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xURVhF
TlZJUFJPQz4obG9hZFByb2MoImdsVGV4RW52aSIpKTsKKyAgICBsX2dsVGV4RW52eCAgICAgICAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWEVOVlhQUk9DPihsb2FkUHJvYygiZ2xUZXhFbnZ4
IikpOworICAgIGxfZ2xUZXhFbnZpdiAgICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMVEVY
RU5WSVZQUk9DPihsb2FkUHJvYygiZ2xUZXhFbnZpdiIpKTsKKyAgICBsX2dsVGV4RW52eHYgICAg
ICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWEVOVlhWUFJPQz4obG9hZFByb2MoImdsVGV4
RW52eHYiKSk7CisgICAgbF9nbFRleFBhcmFtZXRlcnggICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xURVhQQVJBTUVURVJYUFJPQz4obG9hZFByb2MoImdsVGV4UGFyYW1ldGVyeCIpKTsKKyAgICBs
X2dsVGV4UGFyYW1ldGVyeHYgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFRFWFBBUkFNRVRFUlhW
UFJPQz4obG9hZFByb2MoImdsVGV4UGFyYW1ldGVyeHYiKSk7CisgICAgbF9nbFRyYW5zbGF0ZXgg
ICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xUUkFOU0xBVEVYUFJPQz4obG9hZFByb2MoImds
VHJhbnNsYXRleCIpKTsKKyAgICBsX2dsVmVydGV4UG9pbnRlciAgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTFZFUlRFWFBPSU5URVJQUk9DPihsb2FkUHJvYygiZ2xWZXJ0ZXhQb2ludGVyIikpOwor
ICAgIGxfZ2xBY3RpdmVUZXh0dXJlICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMQUNUSVZFVEVY
VFVSRVBST0M+KGxvYWRQcm9jKCJnbEFjdGl2ZVRleHR1cmUiKSk7CisgICAgbF9nbEF0dGFjaFNo
YWRlciAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xBVFRBQ0hTSEFERVJQUk9DPihsb2FkUHJv
YygiZ2xBdHRhY2hTaGFkZXIiKSk7CisgICAgbF9nbEJpbmRBdHRyaWJMb2NhdGlvbiA9CiAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xCSU5EQVRUUklCTE9DQVRJT05QUk9DPihsb2FkUHJv
YygiZ2xCaW5kQXR0cmliTG9jYXRpb24iKSk7Ci0gICAgZ2xCaW5kQnVmZmVyICAgICAgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMQklOREJVRkZFUlBST0M+KGxvYWRQcm9jKCJnbEJpbmRCdWZmZXIi
KSk7Ci0gICAgZ2xCaW5kRnJhbWVidWZmZXIgPSByZWludGVycHJldF9jYXN0PFBGTkdMQklOREZS
QU1FQlVGRkVSUFJPQz4obG9hZFByb2MoImdsQmluZEZyYW1lYnVmZmVyIikpOwotICAgIGdsQmlu
ZFJlbmRlcmJ1ZmZlciA9CisgICAgbF9nbEJpbmRCdWZmZXIgICAgICA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xCSU5EQlVGRkVSUFJPQz4obG9hZFByb2MoImdsQmluZEJ1ZmZlciIpKTsKKyAgICBs
X2dsQmluZEZyYW1lYnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJJTkRGUkFNRUJVRkZF
UlBST0M+KGxvYWRQcm9jKCJnbEJpbmRGcmFtZWJ1ZmZlciIpKTsKKyAgICBsX2dsQmluZFJlbmRl
cmJ1ZmZlciA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xCSU5EUkVOREVSQlVGRkVS
UFJPQz4obG9hZFByb2MoImdsQmluZFJlbmRlcmJ1ZmZlciIpKTsKLSAgICBnbEJpbmRUZXh0dXJl
ICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMQklORFRFWFRVUkVQUk9DPihsb2FkUHJvYygiZ2xC
aW5kVGV4dHVyZSIpKTsKLSAgICBnbEJsZW5kQ29sb3IgICAgPSByZWludGVycHJldF9jYXN0PFBG
TkdMQkxFTkRDT0xPUlBST0M+KGxvYWRQcm9jKCJnbEJsZW5kQ29sb3IiKSk7Ci0gICAgZ2xCbGVu
ZEVxdWF0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJMRU5ERVFVQVRJT05QUk9DPihsb2Fk
UHJvYygiZ2xCbGVuZEVxdWF0aW9uIikpOwotICAgIGdsQmxlbmRFcXVhdGlvblNlcGFyYXRlID0K
KyAgICBsX2dsQmluZFRleHR1cmUgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xCSU5EVEVYVFVS
RVBST0M+KGxvYWRQcm9jKCJnbEJpbmRUZXh0dXJlIikpOworICAgIGxfZ2xCbGVuZENvbG9yICAg
ID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJMRU5EQ09MT1JQUk9DPihsb2FkUHJvYygiZ2xCbGVu
ZENvbG9yIikpOworICAgIGxfZ2xCbGVuZEVxdWF0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxQRk5H
TEJMRU5ERVFVQVRJT05QUk9DPihsb2FkUHJvYygiZ2xCbGVuZEVxdWF0aW9uIikpOworICAgIGxf
Z2xCbGVuZEVxdWF0aW9uU2VwYXJhdGUgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkdM
QkxFTkRFUVVBVElPTlNFUEFSQVRFUFJPQz4obG9hZFByb2MoImdsQmxlbmRFcXVhdGlvblNlcGFy
YXRlIikpOwotICAgIGdsQmxlbmRGdW5jID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJMRU5ERlVO
Q1BST0M+KGxvYWRQcm9jKCJnbEJsZW5kRnVuYyIpKTsKLSAgICBnbEJsZW5kRnVuY1NlcGFyYXRl
ID0KKyAgICBsX2dsQmxlbmRGdW5jID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJMRU5ERlVOQ1BS
T0M+KGxvYWRQcm9jKCJnbEJsZW5kRnVuYyIpKTsKKyAgICBsX2dsQmxlbmRGdW5jU2VwYXJhdGUg
PQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkdMQkxFTkRGVU5DU0VQQVJBVEVQUk9DPihs
b2FkUHJvYygiZ2xCbGVuZEZ1bmNTZXBhcmF0ZSIpKTsKLSAgICBnbEJ1ZmZlckRhdGEgICAgPSBy
ZWludGVycHJldF9jYXN0PFBGTkdMQlVGRkVSREFUQVBST0M+KGxvYWRQcm9jKCJnbEJ1ZmZlckRh
dGEiKSk7Ci0gICAgZ2xCdWZmZXJTdWJEYXRhID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJVRkZF
UlNVQkRBVEFQUk9DPihsb2FkUHJvYygiZ2xCdWZmZXJTdWJEYXRhIikpOwotICAgIGdsQ2hlY2tG
cmFtZWJ1ZmZlclN0YXR1cyA9CisgICAgbF9nbEJ1ZmZlckRhdGEgICAgPSByZWludGVycHJldF9j
YXN0PFBGTkdMQlVGRkVSREFUQVBST0M+KGxvYWRQcm9jKCJnbEJ1ZmZlckRhdGEiKSk7CisgICAg
bF9nbEJ1ZmZlclN1YkRhdGEgPSByZWludGVycHJldF9jYXN0PFBGTkdMQlVGRkVSU1VCREFUQVBS
T0M+KGxvYWRQcm9jKCJnbEJ1ZmZlclN1YkRhdGEiKSk7CisgICAgbF9nbENoZWNrRnJhbWVidWZm
ZXJTdGF0dXMgPQogICAgICAgICByZWludGVycHJldF9jYXN0PFBGTkdMQ0hFQ0tGUkFNRUJVRkZF
UlNUQVRVU1BST0M+KGxvYWRQcm9jKCJnbENoZWNrRnJhbWVidWZmZXJTdGF0dXMiKSk7Ci0gICAg
Z2xDbGVhciAgICAgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENMRUFSUFJPQz4obG9hZFBy
b2MoImdsQ2xlYXIiKSk7Ci0gICAgZ2xDbGVhckNvbG9yICAgID0gcmVpbnRlcnByZXRfY2FzdDxQ
Rk5HTENMRUFSQ09MT1JQUk9DPihsb2FkUHJvYygiZ2xDbGVhckNvbG9yIikpOwotICAgIGdsQ2xl
YXJEZXB0aGYgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTEVBUkRFUFRIRlBST0M+KGxvYWRQ
cm9jKCJnbENsZWFyRGVwdGhmIikpOwotICAgIGdsQ2xlYXJTdGVuY2lsICA9IHJlaW50ZXJwcmV0
X2Nhc3Q8UEZOR0xDTEVBUlNURU5DSUxQUk9DPihsb2FkUHJvYygiZ2xDbGVhclN0ZW5jaWwiKSk7
Ci0gICAgZ2xDb2xvck1hc2sgICAgID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTENPTE9STUFTS1BS
T0M+KGxvYWRQcm9jKCJnbENvbG9yTWFzayIpKTsKLSAgICBnbENvbXBpbGVTaGFkZXIgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMQ09NUElMRVNIQURFUlBST0M+KGxvYWRQcm9jKCJnbENvbXBpbGVT
aGFkZXIiKSk7Ci0gICAgZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRCA9CisgICAgbF9nbENsZWFyICAg
ICAgICAgPSByZWludGVycHJldF9jYXN0PFBGTkdMQ0xFQVJQUk9DPihsb2FkUHJvYygiZ2xDbGVh
ciIpKTsKKyAgICBsX2dsQ2xlYXJDb2xvciAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTEVB
UkNPTE9SUFJPQz4obG9hZFByb2MoImdsQ2xlYXJDb2xvciIpKTsKKyAgICBsX2dsQ2xlYXJEZXB0
aGYgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDTEVBUkRFUFRIRlBST0M+KGxvYWRQcm9jKCJn
bENsZWFyRGVwdGhmIikpOworICAgIGxfZ2xDbGVhclN0ZW5jaWwgID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTENMRUFSU1RFTkNJTFBST0M+KGxvYWRQcm9jKCJnbENsZWFyU3RlbmNpbCIpKTsKKyAg
ICBsX2dsQ29sb3JNYXNrICAgICA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xDT0xPUk1BU0tQUk9D
Pihsb2FkUHJvYygiZ2xDb2xvck1hc2siKSk7CisgICAgbF9nbENvbXBpbGVTaGFkZXIgPSByZWlu
dGVycHJldF9jYXN0PFBGTkdMQ09NUElMRVNIQURFUlBST0M+KGxvYWRQcm9jKCJnbENvbXBpbGVT
aGFkZXIiKSk7CisgICAgbF9nbENvbXByZXNzZWRUZXhJbWFnZTJEID0KICAgICAgICAgcmVpbnRl
cnByZXRfY2FzdDxQRk5HTENPTVBSRVNTRURURVhJTUFHRTJEUFJPQz4obG9hZFByb2MoImdsQ29t
cHJlc3NlZFRleEltYWdlMkQiKSk7Ci0gICAgZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCA9Cisg
ICAgbF9nbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEID0KICAgICAgICAgcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTENPTVBSRVNTRURURVhTVUJJTUFHRTJEUFJPQz4obG9hZFByb2MoImdsQ29tcHJlc3Nl
ZFRleFN1YkltYWdlMkQiKSk7Ci0gICAgZ2xDb3B5VGV4SW1hZ2UyRCA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xDT1BZVEVYSU1BR0UyRFBST0M+KGxvYWRQcm9jKCJnbENvcHlUZXhJbWFnZTJEIikp
OwotICAgIGdsQ29weVRleFN1YkltYWdlMkQgPQorICAgIGxfZ2xDb3B5VGV4SW1hZ2UyRCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xDT1BZVEVYSU1BR0UyRFBST0M+KGxvYWRQcm9jKCJnbENvcHlU
ZXhJbWFnZTJEIikpOworICAgIGxfZ2xDb3B5VGV4U3ViSW1hZ2UyRCA9CiAgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8UEZOR0xDT1BZVEVYU1VCSU1BR0UyRFBST0M+KGxvYWRQcm9jKCJnbENvcHlU
ZXhTdWJJbWFnZTJEIikpOwotICAgIGdsQ3JlYXRlUHJvZ3JhbSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xDUkVBVEVQUk9HUkFNUFJPQz4obG9hZFByb2MoImdsQ3JlYXRlUHJvZ3JhbSIpKTsKLSAg
ICBnbENyZWF0ZVNoYWRlciAgPSByZWludGVycHJldF9jYXN0PFBGTkdMQ1JFQVRFU0hBREVSUFJP
Qz4obG9hZFByb2MoImdsQ3JlYXRlU2hhZGVyIikpOwotICAgIGdsQ3VsbEZhY2UgICAgICA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xDVUxMRkFDRVBST0M+KGxvYWRQcm9jKCJnbEN1bGxGYWNlIikp
OwotICAgIGdsRGVsZXRlQnVmZmVycyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xERUxFVEVCVUZG
RVJTUFJPQz4obG9hZFByb2MoImdsRGVsZXRlQnVmZmVycyIpKTsKLSAgICBnbERlbGV0ZUZyYW1l
YnVmZmVycyA9CisgICAgbF9nbENyZWF0ZVByb2dyYW0gPSByZWludGVycHJldF9jYXN0PFBGTkdM
Q1JFQVRFUFJPR1JBTVBST0M+KGxvYWRQcm9jKCJnbENyZWF0ZVByb2dyYW0iKSk7CisgICAgbF9n
bENyZWF0ZVNoYWRlciAgPSByZWludGVycHJldF9jYXN0PFBGTkdMQ1JFQVRFU0hBREVSUFJPQz4o
bG9hZFByb2MoImdsQ3JlYXRlU2hhZGVyIikpOworICAgIGxfZ2xDdWxsRmFjZSAgICAgID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTENVTExGQUNFUFJPQz4obG9hZFByb2MoImdsQ3VsbEZhY2UiKSk7
CisgICAgbF9nbERlbGV0ZUJ1ZmZlcnMgPSByZWludGVycHJldF9jYXN0PFBGTkdMREVMRVRFQlVG
RkVSU1BST0M+KGxvYWRQcm9jKCJnbERlbGV0ZUJ1ZmZlcnMiKSk7CisgICAgbF9nbERlbGV0ZUZy
YW1lYnVmZmVycyA9CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xERUxFVEVGUkFNRUJV
RkZFUlNQUk9DPihsb2FkUHJvYygiZ2xEZWxldGVGcmFtZWJ1ZmZlcnMiKSk7Ci0gICAgZ2xEZWxl
dGVQcm9ncmFtID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTERFTEVURVBST0dSQU1QUk9DPihsb2Fk
UHJvYygiZ2xEZWxldGVQcm9ncmFtIi