<?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>238647</bug_id>
          
          <creation_ts>2022-03-31 19:27:15 -0700</creation_ts>
          <short_desc>Roll ANGLE to 2022-03-31 (fe28a4295af087ee82b8f629b67176b95019af6d)</short_desc>
          <delta_ts>2022-04-04 00:38:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>ANGLE</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>
          
          
          <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>gyuyoung.kim</cc>
    
    <cc>johncunningham</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</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>1857106</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-31 19:27:15 -0700</bug_when>
    <thetext>To pick up the latest bug fixes to ANGLE&apos;s Metal backend, including to the BaseVertex/BaseInstance extensions, let&apos;s roll ANGLE to the state at 2022-03-30:

f5d20de8c81fbabc36c21b31e5de71d3d566761a
https://chromium.googlesource.com/angle/angle/+/f5d20de8c81fbabc36c21b31e5de71d3d566761a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857117</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-31 20:11:52 -0700</bug_when>
    <thetext>Unfortunately I made a mistake during the roll I had in progress, and it would have been difficult to reconstruct it. Instead, rolling forward to today&apos;s ANGLE:

fe28a4295af087ee82b8f629b67176b95019af6d
https://chromium.googlesource.com/angle/angle/+/fe28a4295af087ee82b8f629b67176b95019af6d

This includes the upstreaming of Kyle&apos;s buffer data update fixes and a couple more minor conflicts resolved - still hopefully low risk of regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857118</commentid>
    <comment_count>2</comment_count>
      <attachid>456313</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-31 20:17:31 -0700</bug_when>
    <thetext>Created attachment 456313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857119</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-31 20:19:25 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857754</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-04 00:37:46 -0700</bug_when>
    <thetext>Committed r292281 (249179@main): &lt;https://commits.webkit.org/249179@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456313.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857755</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-04 00:38:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/91227528&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456313</attachid>
            <date>2022-03-31 20:17:31 -0700</date>
            <delta_ts>2022-04-04 00:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238647-20220331201730.patch</filename>
            <type>text/plain</type>
            <size>997716</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjkxMDhhNGQzNDVkOWQ0ODU1MGY5NzQ1NjQyYjM4M2U4NmI4YThmZi4uMmVhYzI0MGZkMzhm
NDMwOWFhYjhlMGJmODlmOTYwODExMmI4ZTI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAzLTMxICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJvbGwgQU5HTEUgdG8gMjAyMi0wMy0zMSAoZmUyOGE0Mjk1
YWYwODdlZTgyYjhmNjI5YjY3MTc2Yjk1MDE5YWY2ZCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY0NworCisgICAgICAgIExhcmdlIGF1dG9nZW5l
cmF0ZWQgQ2hhbmdlTG9nIGVsaWRlZC4KKworICAgICAgICBUZXN0ZWQgbG9jYWxseSB3aXRoIE1p
bmlCcm93c2VyIG9uIE0xLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CiAyMDIyLTAzLTI5ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEhhbmRsZSBwa2dfY29uZmlnIGFuZCBkZWNsYXJlX2FyZ3Mgc3RhdGVtZW50cyBpbiBnbmkt
dG8tY21ha2UucHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnBs
aXN0IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUucGxpc3QKaW5kZXggOTIzMzRjNGMy
YTZiMWI4ZjgwODViMzRiYjAyZDc4NjcxM2ExYTg1Ny4uOTIzYjg1MWQ0YTcwYWIyMDNjOGFiYmVh
ZWFmZWJhZDA3ZGYwYTZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5H
TEUucGxpc3QKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUucGxpc3QKQEAgLTYs
MTMgKzYsMTMgQEAKIAkJPGtleT5PcGVuU291cmNlUHJvamVjdDwva2V5PgogCQk8c3RyaW5nPkFO
R0xFPC9zdHJpbmc+CiAJCTxrZXk+T3BlblNvdXJjZVZlcnNpb248L2tleT4KLQkJPHN0cmluZz5l
N2YyOTQ0MGYwMjUxNDEyNmYzMDM1MGRjZDcxMzJiNjhmNzk1NGQ3PC9zdHJpbmc+CisJCTxzdHJp
bmc+ZmUyOGE0Mjk1YWYwODdlZTgyYjhmNjI5YjY3MTc2Yjk1MDE5YWY2ZDwvc3RyaW5nPgogCQk8
a2V5Pk9wZW5Tb3VyY2VXZWJzaXRlVVJMPC9rZXk+CiAJCTxzdHJpbmc+aHR0cDovL2NvZGUuZ29v
Z2xlLmNvbS9wL2FuZ2xlcHJvamVjdC88L3N0cmluZz4KIAkJPGtleT5PcGVuU291cmNlU0NNPC9r
ZXk+Ci0JCTxzdHJpbmc+Z2l0IGNsb25lIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
bS9hbmdsZS9hbmdsZSAmYW1wOyZhbXA7IGNkIGFuZ2xlICZhbXA7JmFtcDsgZ2l0IGNoZWNrb3V0
IGU3ZjI5NDQwZjAyNTE0MTI2ZjMwMzUwZGNkNzEzMmI2OGY3OTU0ZDc8L3N0cmluZz4KKwkJPHN0
cmluZz5naXQgY2xvbmUgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2FuZ2xlL2Fu
Z2xlICZhbXA7JmFtcDsgY2QgYW5nbGUgJmFtcDsmYW1wOyBnaXQgY2hlY2tvdXQgZmUyOGE0Mjk1
YWYwODdlZTgyYjhmNjI5YjY3MTc2Yjk1MDE5YWY2ZDwvc3RyaW5nPgogCQk8a2V5Pk9wZW5Tb3Vy
Y2VJbXBvcnREYXRlPC9rZXk+Ci0JCTxzdHJpbmc+MjAyMi0wMy0yMjwvc3RyaW5nPgorCQk8c3Ry
aW5nPjIwMjItMDMtMzE8L3N0cmluZz4KIAkJPGtleT5PcGVuU291cmNlTGljZW5zZTwva2V5Pgog
CQk8c3RyaW5nPkJTRDwvc3RyaW5nPgogCQk8a2V5Pk9wZW5Tb3VyY2VMaWNlbnNlRmlsZTwva2V5
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQlVJTEQuZ24gYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9CVUlMRC5nbgppbmRleCBhYWRmMWIxY2FmZTFkMjMxY2ZjOWU1ZjZk
NDYyYjRlODBjZTA1YzUwLi5lZjQwMjQ4NmM5OWUwNTA2NTc4Nzg0YjliOTMzNjM0ZTk3Y2MwNDkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9CVUlMRC5nbgorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9CVUlMRC5nbgpAQCAtMjIsOSArMjIsOCBAQCBpZiAoYW5nbGVf
aGFzX2J1aWxkKSB7CiAKIGRlY2xhcmVfYXJncygpIHsKICAgIyBVc2UgdGhlIFBDSSBsaWIgdG8g
Y29sbGVjdCBHUFUgaW5mb3JtYXRpb24gb24gTGludXguCi0gIHVzZV9saWJwY2kgPQotICAgICAg
KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zKSAmJiAoIWlzX2Nocm9tZWNhc3QgfHwgaXNfY2FzdF9k
ZXNrdG9wX2J1aWxkKSAmJgotICAgICAgKGFuZ2xlX3VzZV94MTEgfHwgdXNlX296b25lKSAmJiBh
bmdsZV9oYXNfYnVpbGQKKyAgdXNlX2xpYnBjaSA9IChpc19saW51eCB8fCBpc19jaHJvbWVvcykg
JiYgKGFuZ2xlX3VzZV94MTEgfHwgdXNlX296b25lKSAmJgorICAgICAgICAgICAgICAgYW5nbGVf
aGFzX2J1aWxkCiAKICAgIyBFbmFibGUgdXNpbmcgVnVsa2FuIHRvIGNvbGxlY3Qgc3lzdGVtIGlu
Zm8gYXMgYSBmYWxsYmFjay4KICAgYW5nbGVfZW5hYmxlX3Z1bGthbl9zeXN0ZW1faW5mbyA9IGZh
bHNlCkBAIC0xMzEsNiArMTMwLDExIEBAIGNvbmZpZygiaW50ZXJuYWxfY29uZmlnIikgewogICAg
IGRlZmluZXMgKz0gWyAiQU5HTEVfRU5BQkxFX1RSQUNFX0FORFJPSURfTE9HQ0FUPTEiIF0KICAg
fQogCisgICMgV2hlbiB1c2VkIHdpdGggYW5nbGVfZW5hYmxlX3RyYWNlLCBlbmFibGVzIGxvZ2dp
bmcgZXZlcnkgR0xFUy9FR0wgQVBJIGNvbW1hbmQgdG8gdGhlIHRlcm1pbmFsCisgIGlmIChhbmds
ZV9lbmFibGVfdHJhY2VfZXZlbnRzKSB7CisgICAgZGVmaW5lcyArPSBbICJBTkdMRV9FTkFCTEVf
VFJBQ0VfRVZFTlRTPTEiIF0KKyAgfQorCiAgIGlmIChpc19jaHJvbWVvcykgewogICAgIGRlZmlu
ZXMgKz0gWyAiQU5HTEVfUExBVEZPUk1fQ0hST01FT1MiIF0KICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvREVQUyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0RFUFMK
aW5kZXggNjk4YTc5MWUyNDE2ODZjM2I2MWNjNDNkNDdhMzAyMDU4Mjc5OGM1Zi4uOGUxNmI4YWM5
NmQ2NmEwMDllMDU4YWY4M2MzOTJiZTA4MWNkZGE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvREVQUworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9ERVBTCkBAIC0z
NCwxMyArMzQsMTMgQEAgdmFycyA9IHsKICAgJ2NoZWNrb3V0X2FuZHJvaWRfbmF0aXZlX3N1cHBv
cnQnOiAnY2hlY2tvdXRfYW5kcm9pZCBvciBjaGVja291dF9jaHJvbWVvcycsCiAKICAgIyBWZXJz
aW9uIG9mIENocm9taXVtIG91ciBDaHJvbWl1bS1iYXNlZCBERVBTIGFyZSBtaXJyb3JlZCBmcm9t
LgotICAnY2hyb21pdW1fcmV2aXNpb24nOiAnM2U0OTYzNzAyZTAyMjhjY2ZmZGYxOWUzOGRhN2U4
NDBhODhkNTlkNScsCisgICdjaHJvbWl1bV9yZXZpc2lvbic6ICczODRmODczZTA5NzAwM2IxMDRl
YzhjMjJkNTA1YmMxMmZkOGJiNTI5JywKICAgIyBXZSBuZXZlciB3YW50IHRvIGNoZWNrb3V0IGNo
cm9taXVtLAogICAjIGJ1dCBuZWVkIGEgZHVtbXkgREVQUyBlbnRyeSBmb3IgdGhlIGF1dG9yb2xs
ZXIKICAgJ2R1bW15X2NoZWNrb3V0X2Nocm9taXVtJzogRmFsc2UsCiAKICAgIyBDdXJyZW50IHJl
dmlzaW9uIG9mIFZLLUdMLUNUUyAoYS5rLmEgZEVRUCkuCi0gICd2a19nbF9jdHNfcmV2aXNpb24n
OiAnODIzZDQ5Y2Y1ZjVlNTYyMmUxZmFkZTQ0MjRlOTJlYzJmNjFiODFhNicsCisgICd2a19nbF9j
dHNfcmV2aXNpb24nOiAnZmJjMzg4NjUyMjdkNTlhYzNhZTNiZGY5ZmUyMThkMmJmM2M2MmE2MCcs
CiAKICAgIyBDdXJyZW50IHJldmlzaW9uIG9mIGdvb2dsZXRlc3QuCiAgICMgTm90ZTogdGhpcyBk
ZXAgY2Fubm90IGJlIGF1dG8tcm9sbGVkIGIvYyBvZiBuZXN0aW5nLgpAQCAtNDk2LDcgKzQ5Niw3
IEBAIGRlcHMgPSB7CiAgIH0sCiAKICAgJ3RoaXJkX3BhcnR5L1N3aWZ0U2hhZGVyJzogewotICAg
ICd1cmwnOiAne3N3aWZ0c2hhZGVyX2dpdH0vU3dpZnRTaGFkZXJANTdlY2E5ZGY1ZGM1NmQyOTBm
NjYyYWNlNzQ4MWVkNzU4NjE4ZDU1OScsCisgICAgJ3VybCc6ICd7c3dpZnRzaGFkZXJfZ2l0fS9T
d2lmdFNoYWRlckBiYzViZWMwNWMzNjlmY2E0ZTMzNmRlNTEzZWIzNjMwYTVkMzI2NTQ1JywKICAg
ICAnY29uZGl0aW9uJzogJ25vdCBidWlsZF93aXRoX2Nocm9taXVtJywKICAgfSwKIApAQCAtNTE2
LDcgKzUxNiw3IEBAIGRlcHMgPSB7CiAgIH0sCiAKICAgJ3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz
JzogewotICAgICd1cmwnOiAne2Nocm9taXVtX2dpdH0vdnVsa2FuLWRlcHNAYzQxMDk0MTFkM2Yz
NjYzNTM4OThhZWQ2MzE1NmFkYTJmYTU2MjgxNycsCisgICAgJ3VybCc6ICd7Y2hyb21pdW1fZ2l0
fS92dWxrYW4tZGVwc0BlMzdiYTY4YzBmZGUxYzI2ZjZlYTFmYTU0NjNiMDkxOTYxNGY2YzYxJywK
ICAgICAnY29uZGl0aW9uJzogJ25vdCBidWlsZF93aXRoX2Nocm9taXVtJywKICAgfSwKIApAQCAt
MTcxMSw2ICsxNzExLDE2IEBAIGRlcHMgPSB7CiAgICAgICAnZGVwX3R5cGUnOiAnY2lwZCcsCiAg
ICAgICAnY29uZGl0aW9uJzogJ2NoZWNrb3V0X2FuZ2xlX3Jlc3RyaWN0ZWRfdHJhY2VzJywKICAg
fSwKKyAgJ3NyYy90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9zaGFkb3dndW5fbGVnZW5kcyc6IHsK
KyAgICAgICdwYWNrYWdlcyc6IFsKKyAgICAgICAgeworICAgICAgICAgICAgJ3BhY2thZ2UnOiAn
YW5nbGUvdHJhY2VzL3NoYWRvd2d1bl9sZWdlbmRzJywKKyAgICAgICAgICAgICd2ZXJzaW9uJzog
J3ZlcnNpb246MScsCisgICAgICAgIH0sCisgICAgICBdLAorICAgICAgJ2RlcF90eXBlJzogJ2Np
cGQnLAorICAgICAgJ2NvbmRpdGlvbic6ICdjaGVja291dF9hbmdsZV9yZXN0cmljdGVkX3RyYWNl
cycsCisgIH0sCiAgICdzcmMvdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvc2xpbmdzaG90X3Rlc3Qx
JzogewogICAgICAgJ3BhY2thZ2VzJzogWwogICAgICAgICB7CkBAIC0xODExLDYgKzE4MjEsMTYg
QEAgZGVwcyA9IHsKICAgICAgICdkZXBfdHlwZSc6ICdjaXBkJywKICAgICAgICdjb25kaXRpb24n
OiAnY2hlY2tvdXRfYW5nbGVfcmVzdHJpY3RlZF90cmFjZXMnLAogICB9LAorICAnc3JjL3Rlc3Rz
L3Jlc3RyaWN0ZWRfdHJhY2VzL3N1cGVyX21hcmlvX3J1bic6IHsKKyAgICAgICdwYWNrYWdlcyc6
IFsKKyAgICAgICAgeworICAgICAgICAgICAgJ3BhY2thZ2UnOiAnYW5nbGUvdHJhY2VzL3N1cGVy
X21hcmlvX3J1bicsCisgICAgICAgICAgICAndmVyc2lvbic6ICd2ZXJzaW9uOjEnLAorICAgICAg
ICB9LAorICAgICAgXSwKKyAgICAgICdkZXBfdHlwZSc6ICdjaXBkJywKKyAgICAgICdjb25kaXRp
b24nOiAnY2hlY2tvdXRfYW5nbGVfcmVzdHJpY3RlZF90cmFjZXMnLAorICB9LAogICAnc3JjL3Rl
c3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3RhbGtpbmdfdG9tX2hlcm9fZGFzaCc6IHsKICAgICAgICdw
YWNrYWdlcyc6IFsKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvR0xFU3YyLmNtYWtlIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvR0xFU3YyLmNtYWtlCmlu
ZGV4IGMxYWEyZjRkZTg2OTUwNTg4MzUyMzU3MTZlNzAxYjIzZjE2YzYzODcuLjUyNTU4ZmE4YWU5
MzNlOGNkYTgxZWJiYjFiZGU1MDMxNDY4NTQzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL0dMRVN2Mi5jbWFrZQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9HTEVT
djIuY21ha2UKQEAgLTEzOCw3ICsxMzgsNiBAQCBzZXQobGliYW5nbGVfaW1hZ2VfdXRpbF9oZWFk
ZXJzCiAgICAgInNyYy9pbWFnZV91dGlsL2ltYWdlZm9ybWF0cy5oIgogICAgICJzcmMvaW1hZ2Vf
dXRpbC9sb2FkaW1hZ2UuaCIKICAgICAic3JjL2ltYWdlX3V0aWwvbG9hZGltYWdlLmluYyIKLSAg
ICAic3JjL2ltYWdlX3V0aWwvbG9hZHRleHR1cmVib3JkZXIuaCIKICkKIAogCkBAIC0xNDcsNyAr
MTQ2LDYgQEAgc2V0KGxpYmFuZ2xlX2ltYWdlX3V0aWxfc291cmNlcwogICAgICJzcmMvaW1hZ2Vf
dXRpbC9pbWFnZWZvcm1hdHMuY3BwIgogICAgICJzcmMvaW1hZ2VfdXRpbC9sb2FkaW1hZ2UuY3Bw
IgogICAgICJzcmMvaW1hZ2VfdXRpbC9sb2FkaW1hZ2VfZXRjLmNwcCIKLSAgICAic3JjL2ltYWdl
X3V0aWwvbG9hZHRleHR1cmVib3JkZXIuY3BwIgogKQogCiAKQEAgLTM1MCw3ICszNDgsNiBAQCBz
ZXQobGliYW5nbGVfaGVhZGVycwogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvY29weXZlcnRl
eC5oIgogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvY29weXZlcnRleC5pbmMuaCIKICAgICAi
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rpb25zX3RhYmxlLmgiCi0gICAgInNyYy9s
aWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5oIgog
ICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMuaCIKICAgICAic3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3NlcmlhbF91dGlscy5oIgogICAgICJzcmMvbGliQU5HTEUvdmFsaWRh
dGlvbkVHTC5oIgpAQCAtNDUzLDcgKzQ1MCw2IEBAIHNldChsaWJhbmdsZV9zb3VyY2VzCiAgICAg
InNyYy9saWJBTkdMRS9yZW5kZXJlci9UZXh0dXJlSW1wbC5jcHAiCiAgICAgInNyYy9saWJBTkdM
RS9yZW5kZXJlci9kcml2ZXJfdXRpbHMuY3BwIgogICAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIv
bG9hZF9mdW5jdGlvbnNfdGFibGVfYXV0b2dlbi5jcHAiCi0gICAgInNyYy9saWJBTkdMRS9yZW5k
ZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZV9hdXRvZ2VuLmNwcCIKICAg
ICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL3JlbmRlcmVyX3V0aWxzLmNwcCIKICAgICAic3JjL2xp
YkFOR0xFL3ZhbGlkYXRpb25FR0wuY3BwIgogICAgICJzcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVT
LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2NoYW5nZXMuZGlmZiBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2NoYW5nZXMuZGlmZgppbmRleCA3ZGY5OGJlNzNmNGM0
MjM0YzcxMzI1YzFmMzVhMDA4ZjZlOGIxZjM5Li5iZjNlMzlkM2NhNDg4YmY1ZTk4NTc1ZDU5NmM5
NzUxZGM1ZTc5YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9jaGFuZ2Vz
LmRpZmYKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCkBAIC0xOTM2
MywxMCArMTkzNjMsMTAgQEAgaW5kZXggMDAwMDAwMDAwLi4yZTAwYzEyNzAKICsgICAgZG9uZQog
K2ZpCiBkaWZmIC0tZ2l0IGEvc2NyaXB0cy9ydW5fY29kZV9nZW5lcmF0aW9uLnB5IGIvc2NyaXB0
cy9ydW5fY29kZV9nZW5lcmF0aW9uLnB5Ci1pbmRleCBhZGM5YmQ5ZWIuLmE2ZWYzOWZkMiAxMDA3
NTUKK2luZGV4IGZhMWEwMjliNS4uYmM3OWRhMmFkIDEwMDc1NQogLS0tIGEvc2NyaXB0cy9ydW5f
Y29kZV9nZW5lcmF0aW9uLnB5CiArKysgYi9zY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHkK
LUBAIC0yNTYsOCArMjU2LDExIEBAIGRlZiBtYWluKCk6CitAQCAtMjU0LDggKzI1NCwxMSBAQCBk
ZWYgbWFpbigpOgogICAgICAgICAgICAgICAgICBmID0gb3Blbihvcy5wYXRoLmJhc2VuYW1lKHNj
cmlwdCksICJyIikKICAgICAgICAgICAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKFtnZXRfZXhl
Y3V0YWJsZV9uYW1lKGYucmVhZGxpbmUoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb3MucGF0aC5iYXNlbmFtZShzY3JpcHQpXSkgIT0gMDoKQEAgLTE5Mzk2LDcgKzE5
Mzk2LDcgQEAgaW5kZXggYTE3NTczNGMzLi43ZmM5YWE3OTIgMTAwNjQ0CiAgI2luY2x1ZGUgIkdM
RVMzL2dsMy5oIgogICNpbmNsdWRlICJjb21tb24vbWF0aHV0aWwuaCIKIGRpZmYgLS1naXQgYS9z
cmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5jcHAgYi9z
cmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5jcHAKLWlu
ZGV4IDQ3MTE3NzRjZC4uOWVhYjFiMzYxIDEwMDY0NAoraW5kZXggNTA4MjJmMjAwLi4zZWNlMjEw
NWIgMTAwNjQ0CiAtLS0gYS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90
YWJfYXV0b2dlbi5jcHAKICsrKyBiL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvcHJlcHJvY2Vz
c29yX3RhYl9hdXRvZ2VuLmNwcAogQEAgLTEsNSArMSw4IEBACkBAIC0xOTQyMywxMCArMTk0MjMs
MTAgQEAgaW5kZXggNDk3ZWY4ODFlLi40NzIxM2M5MDQgMTAwNjQ0CiAgI2lmZGVmIEFOR0xFX0VO
QUJMRV9NRVRBTF9TUElSVgogICMgICAgaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFu
c2xhdG9yTWV0YWwuaCIKIGRpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFu
c2xhdG9yTWV0YWxEaXJlY3QuY3BwIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRv
ck1ldGFsRGlyZWN0LmNwcAotaW5kZXggN2Y2NjVjMTMwLi41OTU4MTAxNTAgMTAwNjQ0CitpbmRl
eCA0Yzg1ZGMxOTkuLjcxOTdmOGUxMyAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKICsrKyBiL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKLUBAIC05NTAsNyArOTUwLDYgQEAgYm9vbCBU
cmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRyYW5zbGF0ZUltcGwoVEluZm9TaW5rQmFzZSAmc2luaywK
K0BAIC05NDMsNyArOTQzLDYgQEAgYm9vbCBUcmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRyYW5zbGF0
ZUltcGwoVEluZm9TaW5rQmFzZSAmc2luaywKICAgICAgICAgICAgICAgICAgZ2V0U3ltYm9sVGFi
bGUoKS5maW5kQnVpbHRJbihJbW11dGFibGVTdHJpbmcoImdsX1BvaW50U2l6ZSIpLCBnZXRTaGFk
ZXJWZXJzaW9uKCkpKTsKICAgICAgICAgICAgICBEZWNsYXJlUmlnaHRCZWZvcmVNYWluKCpyb290
LCAqcG9pbnRTaXplKTsKICAgICAgICAgIH0KQEAgLTE5NTI0LDcgKzE5NTI0LDcgQEAgaW5kZXgg
YmNjNWQ2NTg5Li42MDc1OGZiZTggMTAwNjQ0CiAgICAgIH0KICAKIGRpZmYgLS1naXQgYS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2VuLmNwcCBiL3NyYy9jb21waWxl
ci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4uY3BwCi1pbmRleCA4MjgzN2JmYWYuLjJj
NTgwYjVjMCAxMDA2NDQKK2luZGV4IGRhYTFjNjE0Zi4uZTNhM2RkYmEwIDEwMDY0NAogLS0tIGEv
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5jcHAKICsrKyBiL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4uY3BwCiBAQCAtMSw1ICsx
LDggQEAKQEAgLTE5NTk0LDEwICsxOTU5NCwxMCBAQCBpbmRleCBhZDNjYzA4MGQuLjc1MDY5YzU3
MiAxMDA2NDQKICB7CiAgCiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL0NvbnRleHQuY3BwIGIv
c3JjL2xpYkFOR0xFL0NvbnRleHQuY3BwCi1pbmRleCA0MjZhY2Q5YTcuLjZlNmMwZDQ4MCAxMDA3
NTUKK2luZGV4IGJkOWUzY2Q2YS4uZDE5MjIwZjlmIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xF
L0NvbnRleHQuY3BwCiArKysgYi9zcmMvbGliQU5HTEUvQ29udGV4dC5jcHAKLUBAIC05MjYwLDcg
KzkyNjAsNyBAQCBlZ2w6OkVycm9yIENvbnRleHQ6OnNldERlZmF1bHRGcmFtZWJ1ZmZlcihlZ2w6
OlN1cmZhY2UgKmRyYXdTdXJmYWNlLCBlZ2w6OlN1cmZhYworQEAgLTkyNzAsNyArOTI3MCw3IEBA
IGVnbDo6RXJyb3IgQ29udGV4dDo6c2V0RGVmYXVsdEZyYW1lYnVmZmVyKGVnbDo6U3VyZmFjZSAq
ZHJhd1N1cmZhY2UsIGVnbDo6U3VyZmFjCiAgICAgIEFTU0VSVChtQ3VycmVudERyYXdTdXJmYWNl
ID09IG51bGxwdHIpOwogICAgICBBU1NFUlQobUN1cnJlbnRSZWFkU3VyZmFjZSA9PSBudWxscHRy
KTsKICAKQEAgLTE5NjA2LDcgKzE5NjA2LDcgQEAgaW5kZXggNDI2YWNkOWE3Li42ZTZjMGQ0ODAg
MTAwNzU1CiAgCiAgICAgIG1DdXJyZW50RHJhd1N1cmZhY2UgPSBkcmF3U3VyZmFjZTsKICAgICAg
bUN1cnJlbnRSZWFkU3VyZmFjZSA9IHJlYWRTdXJmYWNlOwotQEAgLTkyNzIsNyArOTI3Miw3IEBA
IGVnbDo6RXJyb3IgQ29udGV4dDo6c2V0RGVmYXVsdEZyYW1lYnVmZmVyKGVnbDo6U3VyZmFjZSAq
ZHJhd1N1cmZhY2UsIGVnbDo6U3VyZmFjCitAQCAtOTI4Miw3ICs5MjgyLDcgQEAgZWdsOjpFcnJv
ciBDb250ZXh0OjpzZXREZWZhdWx0RnJhbWVidWZmZXIoZWdsOjpTdXJmYWNlICpkcmF3U3VyZmFj
ZSwgZWdsOjpTdXJmYWMKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKQEAgLTE5NjE1LDcgKzE5
NjE1LDcgQEAgaW5kZXggNDI2YWNkOWE3Li42ZTZjMGQ0ODAgMTAwNzU1CiAgICAgIH0KICAgICAg
QVNTRVJUKG5ld0RlZmF1bHRGcmFtZWJ1ZmZlcik7CiAgCi1AQCAtOTI4MywxNCArOTI4MywxNCBA
QCBlZ2w6OkVycm9yIENvbnRleHQ6OnNldERlZmF1bHRGcmFtZWJ1ZmZlcihlZ2w6OlN1cmZhY2Ug
KmRyYXdTdXJmYWNlLCBlZ2w6OlN1cmZhYworQEAgLTkyOTMsMTQgKzkyOTMsMTQgQEAgZWdsOjpF
cnJvciBDb250ZXh0OjpzZXREZWZhdWx0RnJhbWVidWZmZXIoZWdsOjpTdXJmYWNlICpkcmF3U3Vy
ZmFjZSwgZWdsOjpTdXJmYWMKICAKICAgICAgLy8gVXBkYXRlIGRlZmF1bHQgZnJhbWVidWZmZXIs
IHRoZSBiaW5kaW5nIG9mIHRoZSBwcmV2aW91cyBkZWZhdWx0CiAgICAgIC8vIGZyYW1lYnVmZmVy
IChvciBsYWNrIG9mKSB3aWxsIGhhdmUgYSBudWxscHRyLgpAQCAtMTk2MzQsNyArMTk2MzQsNyBA
QCBpbmRleCA0MjZhY2Q5YTcuLjZlNmMwZDQ4MCAxMDA3NTUKICAKICAgICAgcmV0dXJuIGVnbDo6
Tm9FcnJvcigpOwogZGlmZiAtLWdpdCBhL3NyYy9saWJBTkdMRS9TdGF0ZS5jcHAgYi9zcmMvbGli
QU5HTEUvU3RhdGUuY3BwCi1pbmRleCBiOTdiYmI0ZjEuLjNmZjQ3MzBlZCAxMDA2NDQKK2luZGV4
IDM4M2JmN2NlNC4uZmNhODJmYjAyIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL1N0YXRlLmNw
cAogKysrIGIvc3JjL2xpYkFOR0xFL1N0YXRlLmNwcAogQEAgLTYsNiArNiw5IEBACkBAIC0xOTY0
OCw3ICsxOTY0OCw3IEBAIGluZGV4IGI5N2JiYjRmMS4uM2ZmNDczMGVkIDEwMDY0NAogIAogICNp
bmNsdWRlIDxzdHJpbmcuaD4KIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvU3VyZmFjZS5jcHAg
Yi9zcmMvbGliQU5HTEUvU3VyZmFjZS5jcHAKLWluZGV4IGE4MjBmMTg5MC4uNzQ1MTdmMjRkIDEw
MDY0NAoraW5kZXggNDE4NTY1MDcyLi5hMzk2YTM0N2UgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5H
TEUvU3VyZmFjZS5jcHAKICsrKyBiL3NyYy9saWJBTkdMRS9TdXJmYWNlLmNwcAogQEAgLTY0MCwx
MCArNjQwLDEwIEBAIEVycm9yIFN1cmZhY2U6OmdldEJ1ZmZlckFnZShjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwgRUdMaW50ICphZ2UpCkBAIC0xOTY2NSw3ICsxOTY2NSw3IEBAIGluZGV4IGE4
MjBmMTg5MC4uNzQ1MTdmMjRkIDEwMDY0NAogIAogIGdsOjpJbml0U3RhdGUgU3VyZmFjZTo6aW5p
dFN0YXRlKGNvbnN0IGdsOjpJbWFnZUluZGV4ICYgLyppbWFnZUluZGV4Ki8pIGNvbnN0CiBkaWZm
IC0tZ2l0IGEvc3JjL2xpYkFOR0xFL1N1cmZhY2UuaCBiL3NyYy9saWJBTkdMRS9TdXJmYWNlLmgK
LWluZGV4IDE3ZGRlYWE5MS4uZmYxNmM0YWI5IDEwMDY0NAoraW5kZXggZTU3NTgwZDIxLi4xOTg4
OWMzZGUgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvU3VyZmFjZS5oCiArKysgYi9zcmMvbGli
QU5HTEUvU3VyZmFjZS5oCiBAQCAtMTA1LDcgKzEwNSw3IEBAIGNsYXNzIFN1cmZhY2UgOiBwdWJs
aWMgTGFiZWxlZE9iamVjdCwgcHVibGljIGdsOjpGcmFtZWJ1ZmZlckF0dGFjaG1lbnRPYmplY3QK
QEAgLTE5Njc3LDcgKzE5Njc3LDcgQEAgaW5kZXggMTdkZGVhYTkxLi5mZjE2YzRhYjkgMTAwNjQ0
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlZ2w6OlN1cmZhY2UgKnJlYWRTdXJmYWNlKTsKICAKICAgICAgY29uc3QgQ29uZmln
ICpnZXRDb25maWcoKSBjb25zdDsKLUBAIC0yMjAsOCArMjIwLDYgQEAgY2xhc3MgU3VyZmFjZSA6
IHB1YmxpYyBMYWJlbGVkT2JqZWN0LCBwdWJsaWMgZ2w6OkZyYW1lYnVmZmVyQXR0YWNobWVudE9i
amVjdAorQEAgLTIyNyw4ICsyMjcsNiBAQCBjbGFzcyBTdXJmYWNlIDogcHVibGljIExhYmVsZWRP
YmplY3QsIHB1YmxpYyBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50T2JqZWN0CiAgICAgIH5TdXJm
YWNlKCkgb3ZlcnJpZGU7CiAgICAgIHJ4OjpGcmFtZWJ1ZmZlckF0dGFjaG1lbnRPYmplY3RJbXBs
ICpnZXRBdHRhY2htZW50SW1wbCgpIGNvbnN0IG92ZXJyaWRlOwogIApAQCAtMTk4NjksNyArMTk4
NjksNyBAQCBpbmRleCBhYjcyODNhZTEuLjEwMDA4Njc1OSAxMDA2NDQKICAgICAgcmV0dXJuIHRy
dWU7CiAgfQogZGlmZiAtLWdpdCBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFt
TXRsLm1tIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW0KLWluZGV4
IGYxNGYxNWNlOC4uNGFlOWY4ZjM5IDEwMDY0NAoraW5kZXggNmExNmQ3OGJjLi5jMTZlZDNhZTUg
MTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQog
KysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW0KIEBAIC01ODks
NyArNTg5LDcgQEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtTXRsOjpnZXRTcGVjaWFsaXplZFNoYWRl
cihDb250ZXh0TXRsICpjb250ZXh0LApAQCAtMTk5MzQsOTUgKzE5OTM0LDYgQEAgaW5kZXggNjg1
NWU0NTE2Li5kYWEwZTU5Y2YgMTAwNjQ0CiAgfQogLQogIH0KLWRpZmYgLS1naXQgYS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwuaCBiL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9WZXJ0ZXhBcnJheU10bC5oCi1pbmRleCA4NmU2YTI4MzYuLjdmYjNhOThlNSAx
MDA2NDQKLS0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9WZXJ0ZXhBcnJheU10bC5o
Ci0rKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwuaAotQEAg
LTE1Myw2ICsxNTMsNyBAQCBjbGFzcyBWZXJ0ZXhBcnJheU10bCA6IHB1YmxpYyBWZXJ0ZXhBcnJh
eUltcGwKLSAgICAgc3RkOjp2ZWN0b3I8dWludDMyX3Q+IG1FbXVsYXRlZEluc3RhbmNlQXR0cmli
czsKLSAKLSAgICAgYm9vbCBtVmVydGV4QXJyYXlEaXJ0eSA9IHRydWU7Ci0rICAgIGJvb2wgbVZl
cnRleERhdGFEaXJ0eSA9IHRydWU7Ci0gfTsKLSB9ICAvLyBuYW1lc3BhY2UgcngKLSAKLWRpZmYg
LS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwubW0gYi9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwubW0KLWluZGV4IGJhMGM1
MDU2MS4uZWEzNGY1MTFkIDEwMDY0NAotLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L1ZlcnRleEFycmF5TXRsLm1tCi0rKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVy
dGV4QXJyYXlNdGwubW0KLUBAIC0yNzMsNiArMjczLDcgQEAgYW5nbGU6OlJlc3VsdCBWZXJ0ZXhB
cnJheU10bDo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAg
ICAgIGNhc2UgZ2w6OlZlcnRleEFycmF5OjpESVJUWV9CSVRfRUxFTUVOVF9BUlJBWV9CVUZGRVI6
Ci0gICAgICAgICAgICAgY2FzZSBnbDo6VmVydGV4QXJyYXk6OkRJUlRZX0JJVF9FTEVNRU5UX0FS
UkFZX0JVRkZFUl9EQVRBOgotICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgbVZlcnRl
eERhdGFEaXJ0eSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
IH0KLSAKLUBAIC0zMDAsNyArMzAxLDcgQEAgYW5nbGU6OlJlc3VsdCBWZXJ0ZXhBcnJheU10bDo6
c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAgICBjYXNlIGdsOjpWZXJ0
ZXhBcnJheTo6RElSVFlfQklUX0JVRkZFUl9EQVRBXzAgKyBJTkRFWDogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgQU5HTEVfVFJZKHN5bmNEaXJ0eUF0
dHJpYihjb250ZXh0LCBhdHRyaWJzW0lOREVYXSwgYmluZGluZ3NbYXR0cmlic1tJTkRFWF0uYmlu
ZGluZ0luZGV4XSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkRFWCkp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotLSAgICAgICAgbVZlcnRleEFycmF5RGlydHkgPSB0cnVlOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAgICAg
bVZlcnRleERhdGFEaXJ0eSA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICBicmVhazsKLSAKLSAg
ICAgICAgICAgICAgICAgQU5HTEVfVkVSVEVYX0lOREVYX0NBU0VTKEFOR0xFX1ZFUlRFWF9ESVJU
WV9CVUZGRVJfREFUQV9GVU5DKQotQEAgLTQ3NSw3ICs0NzYsMjEgQEAgYW5nbGU6OlJlc3VsdCBW
ZXJ0ZXhBcnJheU10bDo6c2V0dXBEcmF3KGNvbnN0IGdsOjpDb250ZXh0ICpnbENvbnRleHQsCi0g
ICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAgICAgZGVzYy5sYXlvdXRzW2J1ZmZl
cklkeF0uc3RyaWRlID0gbUN1cnJlbnRBcnJheUJ1ZmZlclN0cmlkZXNbdl07Ci0rICAgICAgICAg
ICAgfQotKyAgICAgICAgfSAgLy8gZm9yICh2KQotKyAgICB9Ci0rCi0rICAgIGlmKGRpcnR5IHx8
IG1WZXJ0ZXhEYXRhRGlydHkpCi0rICAgIHsKLSsgICAgICAgIG1WZXJ0ZXhEYXRhRGlydHkgPSBm
YWxzZTsKLSsgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAqZXhlY3V0YWJsZSA9
IGdsQ29udGV4dC0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOwotKyAgICAgICAg
Y29uc3QgZ2w6OkF0dHJpYnV0ZXNNYXNrICZwcm9ncmFtQWN0aXZlQXR0cmlic01hc2sgPQotKyAg
ICAgICAgICAgICAgICBleGVjdXRhYmxlLT5nZXRBY3RpdmVBdHRyaWJMb2NhdGlvbnNNYXNrKCk7
Ci0gCi0rICAgICAgICBmb3IgKHVpbnQzMl90IHYgPSAwOyB2IDwgbXRsOjprTWF4VmVydGV4QXR0
cmliczsgKyt2KQotKyAgICAgICAgewotKyAgICAgICAgICAgIHVpbnQzMl90IGJ1ZmZlcklkeCAg
ICA9IG10bDo6a1Zib0JpbmRpbmdJbmRleFN0YXJ0ICsgdjsKLSsgICAgICAgICAgICB1aW50MzJf
dCBidWZmZXJPZmZzZXQgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obUN1cnJlbnRBcnJheUJ1ZmZl
ck9mZnNldHNbdl0pOwotICAgICAgICAgICAgIGlmIChtQ3VycmVudEFycmF5QnVmZmVyc1t2XSkK
LSAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGNtZEVuY29kZXItPnNldFZlcnRleEJ1
ZmZlcihtQ3VycmVudEFycmF5QnVmZmVyc1t2XS0+Z2V0Q3VycmVudEJ1ZmZlcigpLAotQEAgLTQ4
OCwxMCArNTAzLDExIEBAIGFuZ2xlOjpSZXN1bHQgVmVydGV4QXJyYXlNdGw6OnNldHVwRHJhdyhj
b25zdCBnbDo6Q29udGV4dCAqZ2xDb250ZXh0LAotICAgICAgICAgICAgICAgICBjbWRFbmNvZGVy
LT5zZXRWZXJ0ZXhCeXRlcyhtQ3VycmVudEFycmF5SW5saW5lRGF0YVBvaW50ZXJzW3ZdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtQ3VycmVudEFycmF5SW5s
aW5lRGF0YVNpemVzW3ZdLCBidWZmZXJJZHgpOwotICAgICAgICAgICAgIH0KLSsKLSAgICAgICAg
IH0KLS0gICAgICAgIH0gIC8vIGZvciAodikKLSAgICAgfQotIAotKwotICAgICAqdmVydGV4RGVz
Y0NoYW5nZWQgPSBkaXJ0eTsKLSAKLSAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVl
OwotQEAgLTYzNiw2ICs2NTIsNyBAQCBhbmdsZTo6UmVzdWx0IFZlcnRleEFycmF5TXRsOjpzeW5j
RGlydHlBdHRyaWIoY29uc3QgZ2w6OkNvbnRleHQgKmdsQ29udGV4dCwKLSAgICAgICAgIGlmIChi
dWZmZXJHTCkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBCdWZmZXJNdGwgKmJ1ZmZlck10bCA9
IG10bDo6R2V0SW1wbChidWZmZXJHTCk7Ci0rICAgICAgICAgICAgbUNvbnRlbnRzT2JzZXJ2ZXJz
LT5lbmFibGVGb3JCdWZmZXIoYnVmZmVyR0wsIHN0YXRpY19jYXN0PHVpbnQzMl90PihhdHRyaWJJ
bmRleCkpOwotICAgICAgICAgICAgIGJvb2wgbmVlZENvbnZlcnNpb24gPQotICAgICAgICAgICAg
ICAgICBmb3JtYXQuYWN0dWFsRm9ybWF0SWQgIT0gZm9ybWF0LmludGVuZGVkRm9ybWF0SWQgfHwK
LSAgICAgICAgICAgICAgICAgKGJpbmRpbmcuZ2V0T2Zmc2V0KCkgJSBmb3JtYXQuYWN0dWFsQW5n
bGVGb3JtYXQoKS5waXhlbEJ5dGVzKSAhPSAwIHx8Ci1AQCAtNjQ1LDEyICs2NjIsMTAgQEAgYW5n
bGU6OlJlc3VsdCBWZXJ0ZXhBcnJheU10bDo6c3luY0RpcnR5QXR0cmliKGNvbnN0IGdsOjpDb250
ZXh0ICpnbENvbnRleHQsCi0gCi0gICAgICAgICAgICAgaWYgKG5lZWRDb252ZXJzaW9uKQotICAg
ICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgbUNvbnRlbnRzT2JzZXJ2ZXJzLT5lbmFibGVG
b3JCdWZmZXIoYnVmZmVyR0wsIHN0YXRpY19jYXN0PHVpbnQzMl90PihhdHRyaWJJbmRleCkpOwot
ICAgICAgICAgICAgICAgICBBTkdMRV9UUlkoY29udmVydFZlcnRleEJ1ZmZlcihnbENvbnRleHQs
IGJ1ZmZlck10bCwgYmluZGluZywgYXR0cmliSW5kZXgsIGZvcm1hdCkpOwotICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBt
Q29udGVudHNPYnNlcnZlcnMtPmRpc2FibGVGb3JCdWZmZXIoYnVmZmVyR0wsIHN0YXRpY19jYXN0
PHVpbnQzMl90PihhdHRyaWJJbmRleCkpOwotICAgICAgICAgICAgICAgICBtQ3VycmVudEFycmF5
QnVmZmVyc1thdHRyaWJJbmRleF0gICAgICAgPSBidWZmZXJNdGw7Ci0gICAgICAgICAgICAgICAg
IG1DdXJyZW50QXJyYXlCdWZmZXJPZmZzZXRzW2F0dHJpYkluZGV4XSA9IGJpbmRpbmcuZ2V0T2Zm
c2V0KCk7Ci0gICAgICAgICAgICAgICAgIG1DdXJyZW50QXJyYXlCdWZmZXJTdHJpZGVzW2F0dHJp
YkluZGV4XSA9IGJpbmRpbmcuZ2V0U3RyaWRlKCk7CiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF9idWZmZXJfcG9vbC5oIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L21ldGFsL210bF9idWZmZXJfcG9vbC5oCiBpbmRleCBjM2JlMTFmNzguLjIwNGViYjk0OSAxMDA2
NDQKIC0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfYnVmZmVyX3Bvb2wuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvZG9jL0NhcHR1cmVBbmRSZXBsYXku
bWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9kb2MvQ2FwdHVyZUFuZFJlcGxheS5tZAppbmRl
eCBlYzRlM2Q3YzMyYTg4YjRmYTEyMzBmNzQ5N2ExYzI2ZDMxY2JhYzA4Li5mNzM1YjA0ZTgwYzJj
OWY4NjQ2M2U0YTY5M2FlOWU4OGRlYjY5ODhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9kb2MvQ2FwdHVyZUFuZFJlcGxheS5tZAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9kb2MvQ2FwdHVyZUFuZFJlcGxheS5tZApAQCAtNjcsMTYgKzY3LDE1IEBAIEEgZ29vZCB3
YXkgdG8gdGVzdCBvdXQgdGhlIGNhcHR1cmUgaXMgdG8gdXNlIGVudmlyb25tZW50IHZhcmlhYmxl
cyBpbiBjb25qdW5jdGlvCiB0ZW1wbGF0ZS4gRm9yIGV4YW1wbGU6CiAKIGBgYAotJCBBTkdMRV9D
QVBUVVJFX0ZSQU1FX0VORD00IEFOR0xFX0NBUFRVUkVfT1VUX0RJUj1zYW1wbGVzL2NhcHR1cmVf
cmVwbGF5IG91dC9EZWJ1Zy9zaW1wbGVfdGV4dHVyZV8yZAorJCBBTkdMRV9DQVBUVVJFX0ZSQU1F
X0VORD00IEFOR0xFX0NBUFRVUkVfT1VUX0RJUj1zYW1wbGVzL2NhcHR1cmVfcmVwbGF5IG91dC9E
ZWJ1Zy9zaW1wbGVfdGV4dHVyZV8yZCAtLXVzZS1hbmdsZT12dWxrYW4KIGBgYAogCiAjIyBSdW5u
aW5nIHRoZSBjYXB0dXJlX3JlcGxheSBzYW1wbGUgKGRlc2t0b3Agb25seSkKIAotKk5vdGU6IFRo
ZSBjYXB0dXJlX3JlcGxheSBzYW1wbGUgaXMgYnJva2VuIHVudGlsIGh0dHA6Ly9hbmdsZWJ1Zy5j
b20vNTkxMSBpcyBhZGRyZXNzZWQuKgotCiBUbyBydW4gYSBzYW1wbGUgcmVwbGF5IHlvdSBjYW4g
dXNlIGEgdGVtcGxhdGUgbG9jYXRlZCBpbgotW3NhbXBsZXMvY2FwdHVyZV9yZXBsYXldKC4uL3Nh
bXBsZXMvY2FwdHVyZV9yZXBsYXkpLiBGaXJzdCBydW4geW91ciBjYXB0dXJlIGFuZCBlbnN1cmUg
YWxsIGNhcHR1cmUKK1tzYW1wbGVzL2NhcHR1cmVfcmVwbGF5XSguLi9zYW1wbGVzL2NhcHR1cmVf
cmVwbGF5KS4gRmlyc3QgcnVuIHlvdXIgc2FtcGxlIGFuZCBlbnN1cmUgYWxsIGNhcHR1cmUKIGZp
bGVzIGFyZSB3cml0dGVuIHRvIGBzYW1wbGVzL2NhcHR1cmVfcmVwbGF5YC4gWW91IGNhbiBjb252
ZW5pZW50bHkgdXNlIGBBTkdMRV9DQVBUVVJFX09VVF9ESVJgLgorTWFrZSBzdXJlIGBBTkdMRV9D
QVBUVVJFX0xBQkVMYCBpcyBsZWZ0IHVuc2V0IGR1cmluZyBjYXB0dXJlIHRvIHVzZSB0aGUgZGVm
YXVsdCBmaWxlIG5hbWVzLgogVGhlbiBlbmFibGUgdGhlIGBjYXB0dXJlX3JlcGxheV9zYW1wbGVg
IHZpYSBgZ24gYXJnc2A6CiAKIGBgYApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvZG9jL0RlYnVnZ2luZ1RpcHMubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9kb2MvRGVi
dWdnaW5nVGlwcy5tZAppbmRleCBiYTNiY2Q2NGFiNGMxOTQyMDY3MmFhM2ZjZmIxMWJmZDRlMmNl
YjhhLi5kYmYzMTZlZmM1OTBlZWI0M2E0N2JmNTRjYWRjNzkwZTFjZTdmMDNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9kb2MvRGVidWdnaW5nVGlwcy5tZAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9kb2MvRGVidWdnaW5nVGlwcy5tZApAQCAtNDYsNiArNDYsMTEg
QEAgYWRkaXRpb25hbCBsZXZlbHMgb2YgInRyYWNlIiBtZXNzYWdlcyB3aWxsIGJlIGxvZ2dlZCB3
aGVuIHRoZSBmb2xsb3dpbmcgR04gYXJnIGkKIGFuZ2xlX2VuYWJsZV90cmFjZSA9IHRydWUKIGBg
YAogCitUbyBsb2cgYWxsIEdMRVMgYW5kIEVHTCBjb21tYW5kcyBzdWJtaXR0ZWQgYnkgYW4gYXBw
bGljYXRpb24sIGluY2x1ZGluZyB0aGUgZm9sbG93aW5nIGZsYWc6CitgYGAKK2FuZ2xlX2VuYWJs
ZV90cmFjZV9ldmVudHMgPSB0cnVlCitgYGAKKwogIyMgRGVidWcgQW5nbGUgb24gQW5kcm9pZAog
CiBBbmRyb2lkIGlzIGJ1aWx0IGFzIGFuIEFuZHJvaWQgQVBLLCB3aGljaCBtYWtlcyBpdCBtb3Jl
IGRpZmZpY3VsdCB0byBkZWJ1ZyBhbiBBUEsgdGhhdCBpcyB1c2luZyBBTkdMRS4gIFRoZSBmb2xs
b3dpbmcgaW5mb3JtYXRpb24gY2FuIGFsbG93IHlvdSB0byBkZWJ1ZyBBTkdMRSB3aXRoIExMREIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9nbmkvYW5nbGUuZ25pIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvZ25pL2FuZ2xlLmduaQppbmRleCA0NTdiNDE3OTI0YzM4NjQz
YWIzODA0OWZmNTUxZWM5ZDU4YjIxMDEyLi41Y2NkZGIxM2U2NWFiOGUxNTU3NjkyNDgzZDU0YmIx
ZmNjOTAwMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9nbmkvYW5nbGUu
Z25pCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2duaS9hbmdsZS5nbmkKQEAgLTE4Nyw2
ICsxODcsNyBAQCBkZWNsYXJlX2FyZ3MoKSB7CiAgIGFuZ2xlX2VuYWJsZV9nbHNsID0gYW5nbGVf
ZW5hYmxlX2dsIHx8IHVzZV9vem9uZQogICBhbmdsZV9lbmFibGVfdHJhY2UgPSBmYWxzZQogICBh
bmdsZV9lbmFibGVfdHJhY2VfYW5kcm9pZF9sb2djYXQgPSBmYWxzZQorICBhbmdsZV9lbmFibGVf
dHJhY2VfZXZlbnRzID0gZmFsc2UKIAogICAjIERpc2FibGUgdGhlIGxheWVycyBpbiB1YnNhbiBi
dWlsZHMgYmVjYXVzZSBvZiByZWFsbHkgc2xvdyBidWlsZHMuCiAgICMgVnVsa2FuIFZhbGlkYXRp
b24gTGF5ZXJzIHJlcXVpcmUgQW5kcm9pZCBOREsgQVBJIGxldmVsIDI2LCBpLmUuIE9yZW8sIGR1
ZSB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9y
bS9GZWF0dXJlc0dMLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3Jt
L0ZlYXR1cmVzR0wuaAppbmRleCAyMDZiMjhkNzg2YzczODFhMGM4YzU1MmE3ODEyZTM0Y2QwMzg3
Mjc2Li40NzdiNWM2NTU0ODllOTA3MzNiMzFlNDBkMjdjMTE4YjFlYjE0Mjg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wu
aApAQCAtNTUyLDYgKzU1MiwxMyBAQCBzdHJ1Y3QgRmVhdHVyZXNHTCA6IEZlYXR1cmVTZXRCYXNl
CiAgICAgICAgICJlbXVsYXRlX2ltbXV0YWJsZV9jb21wcmVzc2VkX3RleHR1cmVfM2QiLCBGZWF0
dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAogICAgICAgICAiVXNlIG5vbi1pbW11dGFi
bGUgdGV4dHVyZSBhbGxvY2F0aW9uIHRvIHdvcmsgYXJvdW5kIGEgZHJpdmVyIGJ1Zy4iLCAmbWVt
YmVycywKICAgICAgICAgImh0dHBzOi8vY3JidWcuY29tLzEwNjAwMTIifTsKKworICAgIC8vIERl
c2t0b3AgR0wgZG9lcyBub3Qgc3VwcG9ydCBSR0IxMCAod2l0aG91dCBhbHBoYSkgYnV0IGl0IGlz
IHJlcXVpcmVkIGZvcgorICAgIC8vIEdMX0VYVF90ZXh0dXJlX3R5cGVfMl8xMF8xMF8xMF9SRVYu
IEVtdWxhdGUgaXQgYnkgc2V0dGluZyBhIHNhbXBsZXIgcGFyYW1ldGVyIHRvIGFsd2F5cworICAg
IC8vIHNhbXBsZSAxIGZyb20gYWxwaGEuCisgICAgRmVhdHVyZSBlbXVsYXRlUkdCMTAgPSB7ImVt
dWxhdGVfcmdiMTAiLCBGZWF0dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJFbXVsYXRlIFJHQjEwIHN1cHBvcnQgdXNpbmcgUkdCMTBf
QTIuIiwgJm1lbWJlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vY3Ji
dWcuY29tLzEzMDA1NzUifTsKIH07CiAKIGlubGluZSBGZWF0dXJlc0dMOjpGZWF0dXJlc0dMKCkg
ID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUv
cGxhdGZvcm0vRmVhdHVyZXNWay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9w
bGF0Zm9ybS9GZWF0dXJlc1ZrLmgKaW5kZXggYTBmOWRhNWU2ODQ5YWM3NjQ0MDhkYTc1MjcxMzEy
MGFjNDkzNWIyZi4uMmE2NjBjMmE1OWE3ZWY2YzBhYzc3MzlmYWFlNjQwMmYyNzE1YzNhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJl
c1ZrLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0
dXJlc1ZrLmgKQEAgLTM1Myw3ICszNTMsNyBAQCBzdHJ1Y3QgRmVhdHVyZXNWayA6IEZlYXR1cmVT
ZXRCYXNlCiAgICAgICAgICJlbmFibGVQcmVjaXNpb25RdWFsaWZpZXJzIiwgRmVhdHVyZUNhdGVn
b3J5OjpWdWxrYW5GZWF0dXJlcywKICAgICAgICAgIkVuYWJsZSBwcmVjaXNpb24gcXVhbGlmaWVy
cyBpbiBzaGFkZXJzIiwgJm1lbWJlcnMsICJodHRwOi8vYW5nbGVidWcuY29tLzMwNzgifTsKIAot
ICAgIC8vIERlc2t0b3AgKGF0IGxlYXN0IE5WSURJQSkgZHJpdmVycyBwcmVmZXIgY29tYmluaW5n
IGJhcnJpZXJzIGludG8gb25lIHZrQ21kUGlwZWxpbmVCYXJyaWVyCisgICAgLy8gRGVza3RvcCAo
YXQgbGVhc3QgTlZJRElBKSBkZXZpY2VzIHByZWZlciBjb21iaW5pbmcgYmFycmllcnMgaW50byBv
bmUgdmtDbWRQaXBlbGluZUJhcnJpZXIKICAgICAvLyBjYWxsIG92ZXIgaXNzdWluZyBtdWx0aXBs
ZSBiYXJyaWVyIGNhbGxzIHdpdGggZmluZSBncmFpbmVkIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24g
dG8gaGF2ZQogICAgIC8vIGJldHRlciBwZXJmb3JtYW5jZS4gaHR0cDovL2FuZ2xlYnVnLmNvbS80
NjMzCiAgICAgRmVhdHVyZSBwcmVmZXJBZ2dyZWdhdGVCYXJyaWVyQ2FsbHMgPSB7CkBAIC0zNjIs
NiArMzYyLDE1IEBAIHN0cnVjdCBGZWF0dXJlc1ZrIDogRmVhdHVyZVNldEJhc2UKICAgICAgICAg
ImZpbmUgZ3JhaW5lZCBwaXBlbGluZSBzdGFnZSBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIiwKICAg
ICAgICAgJm1lbWJlcnMsICJodHRwOi8vYW5nbGVidWcuY29tLzQ2MzMifTsKIAorICAgIC8vIFdo
ZW4gZGVhbGluZyB3aXRoIGVtdWxhdGVkIGZvcm1hdHMgdGhhdCBoYXZlIGV4dHJhIGNoYW5uZWxz
LCBpdCdzIGNoZWFwZXIgb24gZGVza3RvcCBkZXZpY2VzCisgICAgLy8gdG8gc2tpcCBpbnZhbGlk
YXRpbmcgZnJhbWVidWZmZXIgYXR0YWNobWVudHMgY29tcGFyZWQgdG8gdGlsaW5nIGRldmljZXMg
d2hlcmUgaXQncyBjaGVhcGVyIHRvCisgICAgLy8gaW52YWxpZGF0ZSBhbmQgcmUtY2xlYXIgdGhl
bS4gaHR0cDovL2FuZ2xlYnVnLmNvbS82ODYwCisgICAgRmVhdHVyZSBwcmVmZXJTa2lwcGluZ0lu
dmFsaWRhdGVGb3JFbXVsYXRlZEZvcm1hdHMgPSB7CisgICAgICAgICJwcmVmZXJTa2lwcGluZ0lu
dmFsaWRhdGVGb3JFbXVsYXRlZEZvcm1hdHMiLCBGZWF0dXJlQ2F0ZWdvcnk6OlZ1bGthbldvcmth
cm91bmRzLAorICAgICAgICAiU2tpcHBpbmcgaW52YWxpZGF0ZSBpcyBwcmVmZXJyZWQgZm9yIGVt
dWxhdGVkIGZvcm1hdHMgdGhhdCBoYXZlIGV4dHJhIGNoYW5uZWxzIG92ZXIgIgorICAgICAgICAi
cmUtY2xlYXJpbmcgdGhlIGltYWdlIiwKKyAgICAgICAgJm1lbWJlcnMsICJodHRwOi8vYW5nbGVi
dWcuY29tLzY4NjAifTsKKwogICAgIC8vIFRlbGwgdGhlIFZ1bGthbiBiYWNrLWVuZCB0byB1c2Ug
dGhlIGFzeW5jIGNvbW1hbmQgcXVldWUgdG8gZGlzcGF0Y2ggd29yayB0byB0aGUgR1BVLiBDb21t
YW5kCiAgICAgLy8gYnVmZmVyIHdvcmsgd2lsbCBoYXBwZW5lZCBpbiBhIHdvcmtlciB0aHJlYWQu
IE90aGVyd2lzZSB1c2UgUmVuZGVyZXI6OkNvbW1hbmRRdWV1ZSBkaXJlY3RseS4KICAgICBGZWF0
dXJlIGFzeW5jQ29tbWFuZFF1ZXVlID0geyJhc3luY0NvbW1hbmRRdWV1ZSIsIEZlYXR1cmVDYXRl
Z29yeTo6VnVsa2FuRmVhdHVyZXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zYW1wbGVzL0JVSUxELmduIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9CVUlM
RC5nbgppbmRleCAxZTA4ZWI2YzE5ZmIxMDBhOGY5NTY0YmM1ZTc3YjRlYzQwMTIwMmRkLi5iMGIw
OTk0YjJlYTUzYjJjY2Q0YTEwMjVjZjEzZjUyNGRiZTQyYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zYW1wbGVzL0JVSUxELmduCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NhbXBsZXMvQlVJTEQuZ24KQEAgLTIxMCwzNCArMjEwLDE4IEBAIGFuZ2xlX3NhbXBs
ZSgibXVsdGlwbGVfY29udGV4dHMiKSB7CiB9CiAKIGlmIChhbmdsZV9idWlsZF9jYXB0dXJlX3Jl
cGxheV9zYW1wbGUpIHsKLSAgIyBUaGUgY2FwdHVyZV9yZXBsYXkgc2FtcGxlIGlzIHNldCB1cCB0
byB3b3JrIHdpdGggYSBzaW5nbGUgQ29udGV4dC4KLSAgIyBUbyB1c2UgdGhlIGNhcHR1cmUgcmVw
bGF5IHNhbXBsZSBmaXJzdCBtb3ZlIHlvdXIgY2FwdHVyZSBzb3VyY2VzIGludG8KLSAgIyB0aGUg
Y2FwdHVyZV9yZXBsYXkgZm9sZGVyIGFuZCBlbmFibGUgdGhlIGduIGFyZyBhYm92ZS4KICAgYW5n
bGVfc2FtcGxlKCJjYXB0dXJlX3JlcGxheV9zYW1wbGUiKSB7Ci0gICAgX2NvbnRleHRpZCA9IGFu
Z2xlX2NhcHR1cmVfcmVwbGF5X3NhbXBsZV9jb250ZXh0X2lkCi0gICAgc291cmNlcyA9Ci0gICAg
ICAgIHJlYmFzZV9wYXRoKAotICAgICAgICAgICAgcmVhZF9maWxlKAotICAgICAgICAgICAgICAg
ICJjYXB0dXJlX3JlcGxheS9hbmdsZV9jYXB0dXJlX2NvbnRleHQke19jb250ZXh0aWR9X2ZpbGVz
LnR4dCIsCi0gICAgICAgICAgICAgICAgImxpc3QgbGluZXMiKSwKLSAgICAgICAgICAgICIuIiwK
LSAgICAgICAgICAgICJjYXB0dXJlX3JlcGxheSIpICsKLSAgICAgICAgWwotICAgICAgICAgICJj
YXB0dXJlX3JlcGxheS9DYXB0dXJlUmVwbGF5LmNwcCIsCi0gICAgICAgICAgImNhcHR1cmVfcmVw
bGF5L2FuZ2xlX2NhcHR1cmVfY29udGV4dCR7X2NvbnRleHRpZH0uY3BwIiwKLSAgICAgICAgICAi
Y2FwdHVyZV9yZXBsYXkvYW5nbGVfY2FwdHVyZV9jb250ZXh0JHtfY29udGV4dGlkfS5oIiwKLSAg
ICAgICAgXQotCi0gICAgZGVwcyA9IFsgIiRhbmdsZV9yb290OmFuZ2xlX2NvbXByZXNzaW9uIiBd
Ci0gICAgZGF0YSA9IFsgImNhcHR1cmVfcmVwbGF5L2FuZ2xlX2NhcHR1cmVfY29udGV4dCR7X2Nv
bnRleHRpZH0uYW5nbGVkYXRhLmd6IiBdCisgICAgc291cmNlcyA9IFsgImNhcHR1cmVfcmVwbGF5
L0NhcHR1cmVSZXBsYXkuY3BwIiBdCiAKLSAgICBfZGF0YV9wYXRoID0gcmViYXNlX3BhdGgoImNh
cHR1cmVfcmVwbGF5Iiwgcm9vdF9vdXRfZGlyKQotICAgIGRlZmluZXMgPSBbCi0gICAgICAiQU5H
TEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0RBVEFfRElSPVwiJHtfZGF0YV9wYXRofVwiIiwKLSAg
ICAgICJBTkdMRV9DQVBUVVJFX1JFUExBWV9TQU1QTEVfQ09OVEVYVF9JRD0ke19jb250ZXh0aWR9
IiwKLSAgICAgICJBTkdMRV9DQVBUVVJFX1JFUExBWV9TQU1QTEVfSEVBREVSPWFuZ2xlX2NhcHR1
cmVfY29udGV4dCR7X2NvbnRleHRpZH0uaCIsCisgICAgZGVwcyA9IFsKKyAgICAgICIkYW5nbGVf
cm9vdDphbmdsZV9jb21wcmVzc2lvbiIsCisgICAgICAiJGFuZ2xlX3Jvb3QvdXRpbDphbmdsZV9m
cmFtZV9jYXB0dXJlX3Rlc3RfdXRpbHMiLAorICAgICAgImNhcHR1cmVfcmVwbGF5OmNhcHR1cmVf
cmVwbGF5X3NhbXBsZV90cmFjZSIsCiAgICAgXQogCisgICAgX2RhdGFfcGF0aCA9IHJlYmFzZV9w
YXRoKCJjYXB0dXJlX3JlcGxheSIsIHJvb3Rfb3V0X2RpcikKKyAgICBkZWZpbmVzID0gWyAiQU5H
TEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0RBVEFfRElSPVwiJHtfZGF0YV9wYXRofVwiIiBdCisK
ICAgICBzdXBwcmVzc2VkX2NvbmZpZ3MgPSBbICIkYW5nbGVfcm9vdDpjb25zdHJ1Y3Rvcl9hbmRf
ZGVzdHJ1Y3Rvcl93YXJuaW5ncyIgXQogICAgIGNvbmZpZ3MgPSBbXQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zYW1wbGVzL2NhcHR1cmVfcmVwbGF5L0JVSUxELmduIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9jYXB0dXJlX3JlcGxheS9CVUlMRC5nbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42Zjk1MTYyNjNiNjhkNzAxMTY3NWIzOTU5OTg1YzE3MjRlNGY0ODUxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9jYXB0dXJlX3Jl
cGxheS9CVUlMRC5nbgpAQCAtMCwwICsxLDI4IEBACisjIENvcHlyaWdodCAyMDIyIFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisjIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKK2ltcG9ydCgiLi4vLi4vZ25pL2FuZ2xlLmduaSIp
CisKK2FuZ2xlX3RyYWNlX2ZpeHR1cmUoImFuZ2xlX2NhcHR1cmVfcmVwbGF5X3NhbXBsZV9maXh0
dXJlIikgeworICBnbF9oZWFkZXIgPSAiYW5nbGVfdHJhY2VfZ2wuaCIKKyAgcHVibGljX2RlcHMg
PSBbCisgICAgIiRhbmdsZV9yb290OmxpYkVHTCIsCisgICAgIiRhbmdsZV9yb290L3V0aWw6YW5n
bGVfdXRpbCIsCisgIF0KK30KKworYW5nbGVfdHJhY2UoImNhcHR1cmVfcmVwbGF5X3NhbXBsZV90
cmFjZSIpIHsKKyAgX3RyYWNlID0gImFuZ2xlX2NhcHR1cmUiCisKKyAgX3RyYWNlX2RhdGEgPSBb
XQorICBfdHJhY2VfZGF0YSA9IHJlYWRfZmlsZSgiJF90cmFjZS5qc29uIiwgImpzb24iKQorCisg
IHNvdXJjZXMgPSBfdHJhY2VfZGF0YS5UcmFjZUZpbGVzCisKKyAgZGF0YSA9IFsKKyAgICAiJF90
cmFjZS5qc29uIiwKKyAgICAiJF90cmFjZS5hbmdsZWRhdGEuZ3oiLAorICBdCisgIGZpeHR1cmUg
PSAiOmFuZ2xlX2NhcHR1cmVfcmVwbGF5X3NhbXBsZV9maXh0dXJlIgorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9jYXB0dXJlX3JlcGxheS9DYXB0dXJlUmVw
bGF5LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMvY2FwdHVyZV9yZXBsYXkv
Q2FwdHVyZVJlcGxheS5jcHAKaW5kZXggZmQ0ZTJjYTAwZTM3OGJkMjM1NWViODJkMThlMGVjMDY3
MjY3YjU1ZS4uMmU1NDdmYjZjZDhjMWIyZjdiODBkYzVmYmFkNWExMDdjOGNlOTExMSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9jYXB0dXJlX3JlcGxheS9DYXB0
dXJlUmVwbGF5LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zYW1wbGVzL2NhcHR1
cmVfcmVwbGF5L0NhcHR1cmVSZXBsYXkuY3BwCkBAIC0xMSw0NiArMTEsMzUgQEAKIAogI2luY2x1
ZGUgInV0aWwvY2FwdHVyZS9mcmFtZV9jYXB0dXJlX3Rlc3RfdXRpbHMuaCIKIAotLy8gQnVpbGQg
dGhlIHJpZ2h0IGNvbnRleHQgaGVhZGVyIGJhc2VkIG9uIHJlcGxheSBJRAotLy8gVGhpcyB3aWxs
IGV4cGFuZCB0byAiYW5nbGVfY2FwdHVyZV9jb250ZXh0PCM+LmgiCi0jaW5jbHVkZSBBTkdMRV9N
QUNST19TVFJJTkdJWkUoQU5HTEVfQ0FQVFVSRV9SRVBMQVlfU0FNUExFX0hFQURFUikKLQotLy8g
QXNzaWduIHRoZSBjb250ZXh0IG51bWJlcmVkIGZ1bmN0aW9ucyBiYXNlZCBvbiBHTiBhcmcgc2Vs
ZWN0aW5nIHJlcGxheSBJRAotc3RkOjpmdW5jdGlvbjx2b2lkKCk+IFNldHVwQ29udGV4dFJlcGxh
eSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAoKikoKT4oCi0gICAgQU5HTEVfTUFDUk9fQ09OQ0FU
KFNldHVwQ29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgQU5HTEVfTUFDUk9fQ09OQ0FU
KEFOR0xFX0NBUFRVUkVfUkVQTEFZX1NBTVBMRV9DT05URVhUX0lELCBSZXBsYXkpKSk7Ci1zdGQ6
OmZ1bmN0aW9uPHZvaWQoaW50KT4gUmVwbGF5Q29udGV4dEZyYW1lID0gcmVpbnRlcnByZXRfY2Fz
dDx2b2lkICgqKShpbnQpPigKLSAgICBBTkdMRV9NQUNST19DT05DQVQoUmVwbGF5Q29udGV4dCwK
LSAgICAgICAgICAgICAgICAgICAgICAgQU5HTEVfTUFDUk9fQ09OQ0FUKEFOR0xFX0NBUFRVUkVf
UkVQTEFZX1NBTVBMRV9DT05URVhUX0lELCBGcmFtZSkpKTsKLXN0ZDo6ZnVuY3Rpb248dm9pZCgp
PiBSZXNldENvbnRleHRSZXBsYXkgPSByZWludGVycHJldF9jYXN0PHZvaWQgKCopKCk+KAotICAg
IEFOR0xFX01BQ1JPX0NPTkNBVChSZXNldENvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAg
IEFOR0xFX01BQ1JPX0NPTkNBVChBTkdMRV9DQVBUVVJFX1JFUExBWV9TQU1QTEVfQ09OVEVYVF9J
RCwgUmVwbGF5KSkpOwotCiBjbGFzcyBDYXB0dXJlUmVwbGF5U2FtcGxlIDogcHVibGljIFNhbXBs
ZUFwcGxpY2F0aW9uCiB7CiAgIHB1YmxpYzoKLSAgICBDYXB0dXJlUmVwbGF5U2FtcGxlKGludCBh
cmdjLCBjaGFyICoqYXJndikKKyAgICBDYXB0dXJlUmVwbGF5U2FtcGxlKGludCBhcmdjLCBjaGFy
ICoqYXJndiwgY29uc3QgYW5nbGU6OlRyYWNlSW5mbyAmdHJhY2VJbmZvKQogICAgICAgICA6IFNh
bXBsZUFwcGxpY2F0aW9uKCJDYXB0dXJlUmVwbGF5U2FtcGxlIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhcmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3YsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtSZXBsYXlEcmF3U3VyZmFjZVdpZHRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtSZXBsYXlEcmF3U3VyZmFjZUhlaWdodCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjZUluZm8uZHJhd1N1cmZhY2VXaWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjZUluZm8uZHJhd1N1cmZhY2VIZWlnaHQpLAor
ICAgICAgICAgIG1UcmFjZUluZm8odHJhY2VJbmZvKQogICAgIHt9CiAKICAgICBib29sIGluaXRp
YWxpemUoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgLy8gU2V0IENXRCB0byBleGVjdXRhYmxl
IGRpcmVjdG9yeS4KLSAgICAgICAgc3RkOjpzdHJpbmcgZXhlRGlyID0gYW5nbGU6OkdldEV4ZWN1
dGFibGVEaXJlY3RvcnkoKTsKLSAgICAgICAgaWYgKCFhbmdsZTo6U2V0Q1dEKGV4ZURpci5jX3N0
cigpKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKGtJc0JpbmFyeURh
dGFDb21wcmVzc2VkKQorICAgICAgICBtVHJhY2VMaWJyYXJ5LnJlc2V0KG5ldyBhbmdsZTo6VHJh
Y2VMaWJyYXJ5KCJjYXB0dXJlX3JlcGxheV9zYW1wbGVfdHJhY2UiKSk7CisgICAgICAgIGFzc2Vy
dChtVHJhY2VMaWJyYXJ5LT52YWxpZCgpKTsKKworICAgICAgICBpZiAobVRyYWNlSW5mby5pc0Jp
bmFyeURhdGFDb21wcmVzc2VkKQogICAgICAgICB7Ci0gICAgICAgICAgICBTZXRCaW5hcnlEYXRh
RGVjb21wcmVzc0NhbGxiYWNrKGFuZ2xlOjpEZWNvbXByZXNzQmluYXJ5RGF0YSk7CisgICAgICAg
ICAgICBtVHJhY2VMaWJyYXJ5LT5zZXRCaW5hcnlEYXRhRGVjb21wcmVzc0NhbGxiYWNrKGFuZ2xl
OjpEZWNvbXByZXNzQmluYXJ5RGF0YSk7CiAgICAgICAgIH0KLSAgICAgICAgU2V0QmluYXJ5RGF0
YURpcihBTkdMRV9DQVBUVVJFX1JFUExBWV9TQU1QTEVfREFUQV9ESVIpOwotICAgICAgICBTZXR1
cENvbnRleHRSZXBsYXkoKTsKKworICAgICAgICBzdGQ6OnN0cmluZ3N0cmVhbSBiaW5hcnlQYXRo
U3RyZWFtOworICAgICAgICBiaW5hcnlQYXRoU3RyZWFtIDw8IGFuZ2xlOjpHZXRFeGVjdXRhYmxl
RGlyZWN0b3J5KCkgPDwgYW5nbGU6OkdldFBhdGhTZXBhcmF0b3IoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgIDw8IEFOR0xFX0NBUFRVUkVfUkVQTEFZX1NBTVBMRV9EQVRBX0RJUjsKKyAgICAg
ICAgbVRyYWNlTGlicmFyeS0+c2V0QmluYXJ5RGF0YURpcihiaW5hcnlQYXRoU3RyZWFtLnN0cigp
LmNfc3RyKCkpOworICAgICAgICBtVHJhY2VMaWJyYXJ5LT5zZXR1cFJlcGxheSgpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTU4LDE0ICs0NywxNCBAQCBjbGFzcyBDYXB0dXJl
UmVwbGF5U2FtcGxlIDogcHVibGljIFNhbXBsZUFwcGxpY2F0aW9uCiAKICAgICB2b2lkIGRyYXco
KSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgLy8gQ29tcHV0ZSB0aGUgY3VycmVudCBmcmFtZSwg
bG9vcGluZyBmcm9tIGtSZXBsYXlGcmFtZVN0YXJ0IHRvIGtSZXBsYXlGcmFtZUVuZC4KLSAgICAg
ICAgdWludDMyX3QgZnJhbWUgPQotICAgICAgICAgICAga1JlcGxheUZyYW1lU3RhcnQgKyAobUN1
cnJlbnRGcmFtZSAlICgoa1JlcGxheUZyYW1lRW5kIC0ga1JlcGxheUZyYW1lU3RhcnQpICsgMSkp
OworICAgICAgICAvLyBDb21wdXRlIHRoZSBjdXJyZW50IGZyYW1lLCBsb29waW5nIGZyb20gZnJh
bWVTdGFydCB0byBmcmFtZUVuZC4KKyAgICAgICAgdWludDMyX3QgZnJhbWUgPSBtVHJhY2VJbmZv
LmZyYW1lU3RhcnQgKworICAgICAgICAgICAgICAgICAgICAgICAgIChtQ3VycmVudEZyYW1lICUg
KChtVHJhY2VJbmZvLmZyYW1lRW5kIC0gbVRyYWNlSW5mby5mcmFtZVN0YXJ0KSArIDEpKTsKICAg
ICAgICAgaWYgKG1QcmV2aW91c0ZyYW1lID4gZnJhbWUpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IFJlc2V0Q29udGV4dFJlcGxheSgpOworICAgICAgICAgICAgbVRyYWNlTGlicmFyeS0+cmVzZXRS
ZXBsYXkoKTsKICAgICAgICAgfQotICAgICAgICBSZXBsYXlDb250ZXh0RnJhbWUoZnJhbWUpOwor
ICAgICAgICBtVHJhY2VMaWJyYXJ5LT5yZXBsYXlGcmFtZShmcmFtZSk7CiAgICAgICAgIG1QcmV2
aW91c0ZyYW1lID0gZnJhbWU7CiAgICAgICAgIG1DdXJyZW50RnJhbWUrKzsKICAgICB9CkBAIC03
MywxMCArNjIsMjggQEAgY2xhc3MgQ2FwdHVyZVJlcGxheVNhbXBsZSA6IHB1YmxpYyBTYW1wbGVB
cHBsaWNhdGlvbgogICBwcml2YXRlOgogICAgIHVpbnQzMl90IG1DdXJyZW50RnJhbWUgID0gMDsK
ICAgICB1aW50MzJfdCBtUHJldmlvdXNGcmFtZSA9IDA7CisgICAgY29uc3QgYW5nbGU6OlRyYWNl
SW5mbyBtVHJhY2VJbmZvOworICAgIHN0ZDo6dW5pcXVlX3B0cjxhbmdsZTo6VHJhY2VMaWJyYXJ5
PiBtVHJhY2VMaWJyYXJ5OwogfTsKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog
ewotICAgIENhcHR1cmVSZXBsYXlTYW1wbGUgYXBwKGFyZ2MsIGFyZ3YpOworICAgIHN0ZDo6c3Ry
aW5nIGV4ZURpciA9IGFuZ2xlOjpHZXRFeGVjdXRhYmxlRGlyZWN0b3J5KCk7CisKKyAgICBzdGQ6
OnN0cmluZ3N0cmVhbSB0cmFjZUpzb25QYXRoU3RyZWFtOworICAgIHRyYWNlSnNvblBhdGhTdHJl
YW0gPDwgZXhlRGlyIDw8IGFuZ2xlOjpHZXRQYXRoU2VwYXJhdG9yKCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIDw8IEFOR0xFX0NBUFRVUkVfUkVQTEFZX1NBTVBMRV9EQVRBX0RJUiA8PCBhbmds
ZTo6R2V0UGF0aFNlcGFyYXRvcigpCisgICAgICAgICAgICAgICAgICAgICAgICA8PCAiYW5nbGVf
Y2FwdHVyZS5qc29uIjsKKworICAgIHN0ZDo6c3RyaW5nIHRyYWNlSnNvblBhdGggPSB0cmFjZUpz
b25QYXRoU3RyZWFtLnN0cigpOworCisgICAgYW5nbGU6OlRyYWNlSW5mbyB0cmFjZUluZm8gPSB7
fTsKKyAgICBpZiAoIWFuZ2xlOjpMb2FkVHJhY2VJbmZvRnJvbUpTT04oImNhcHR1cmVfcmVwbGF5
X3NhbXBsZV90cmFjZSIsIHRyYWNlSnNvblBhdGgsICZ0cmFjZUluZm8pKQorICAgIHsKKyAgICAg
ICAgc3RkOjpjb3V0IDw8ICJVbmFibGUgdG8gbG9hZCB0cmFjZSBkYXRhOiAiIDw8IHRyYWNlSnNv
blBhdGggPDwgIlxuIjsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgQ2FwdHVyZVJl
cGxheVNhbXBsZSBhcHAoYXJnYywgYXJndiwgdHJhY2VJbmZvKTsKICAgICByZXR1cm4gYXBwLnJ1
bigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2FtcGxlcy9jYXB0
dXJlX3JlcGxheS9hbmdsZV90cmFjZV9nbC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2Ft
cGxlcy9jYXB0dXJlX3JlcGxheS9hbmdsZV90cmFjZV9nbC5oCmluZGV4IDhiMmEyZjI4YWRlM2Fh
NTI0Y2MwN2VhNGZiZDQwNThkNTRjZmMxYTYuLjEyNzk1YjdiMmRkZGMzZTViOGMyYWE2YzM2ODNm
MjEwNThlNjAyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NhbXBsZXMv
Y2FwdHVyZV9yZXBsYXkvYW5nbGVfdHJhY2VfZ2wuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zYW1wbGVzL2NhcHR1cmVfcmVwbGF5L2FuZ2xlX3RyYWNlX2dsLmgKQEAgLTgsNiArOCw3
IEBACiAjaWZuZGVmIEFOR0xFX1RSQUNFX0dMX0hfCiAjZGVmaW5lIEFOR0xFX1RSQUNFX0dMX0hf
CiAKKyNpbmNsdWRlICJ0cmFjZV9maXh0dXJlLmgiCiAjaW5jbHVkZSAidXRpbC91dGlsX2dsLmgi
CiAKICNlbmRpZiAgLy8gQU5HTEVfVFJBQ0VfR0xfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9BTkdMRV9sb2FkX3Rl
eHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX2xvYWRfdGV4dHVyZV9ib3Jk
ZXJfZnVuY3Rpb25zX3RhYmxlLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZh
NjlmZTc3NjRmYzY0NDIzNzc1YmYxMjE4MmYzYWFhNTMzOGZmZDMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2Ny
aXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVu
Y3Rpb25zX3RhYmxlLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi17Ci0gICJz
cmMvbGliQU5HTEUvcmVuZGVyZXIvYW5nbGVfZm9ybWF0LnB5IjoKLSAgICAiMmY4ZmE3NjgwODhl
MjJiMDk2M2JiZGY4NDJkM2U3MjUiLAotICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dlbl9sb2Fk
X3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5weSI6Ci0gICAgIjc3MjEwZmQ1OWQwMDUw
NDM2OTY5MWNlMjEwN2MxNTk4IiwKLSAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1
cmVfYm9yZGVyX2Z1bmN0aW9uc19kYXRhLmpzb24iOgotICAgICJiMDYxNmZmMmQwMDM4YmNmOTEw
ZTU2OTEzMzQ4MDRiZiIsCi0gICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF90ZXh0dXJlX2Jv
cmRlcl9mdW5jdGlvbnNfdGFibGVfYXV0b2dlbi5jcHAiOgotICAgICIzYjU0ZWIxMzVlOGY5NTYx
NGEyYzcxNWJmOWZlNTcyYiIKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNo
ZXMvQU5HTEVfc2hhZGVyX3ByZXByb2Nlc3Nvci5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX3NoYWRlcl9wcmVwcm9jZXNz
b3IuanNvbgppbmRleCAwZmQ0YWRiMjE5NTYxYWYyOGRiZjZlZGI1MjNjMzI1Zjk3MzY3ZGI3Li5i
NTFiNzEzNzFkMGU4MjY5OWFjNzRlZmUzY2VhMTZjZmY0MDY5N2FjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvQU5HTEVf
c2hhZGVyX3ByZXByb2Nlc3Nvci5qc29uCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Nj
cmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9BTkdMRV9zaGFkZXJfcHJlcHJvY2Vzc29yLmpz
b24KQEAgLTYsMTEgKzYsMTEgQEAKICAgInNyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvcHJlcHJv
Y2Vzc29yLmwiOgogICAgICIzMWI0ZjhiYzBiYjhmNzEzZjVlNGRiOGFlMDQ5MjVlMiIsCiAgICJz
cmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvci55IjoKLSAgICAiNmQ5Y2M5OTYx
YThkZjNlMzcxMmY2M2YwMWY5OTUxNjEiLAorICAgICJkZjk4OGI2ZmJkZjU1MmNlOTRiZWQ1ODc2
NzljYTU3NCIsCiAgICJzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl9sZXhf
YXV0b2dlbi5jcHAiOgogICAgICI3N2I4MTQ4ODE0NzFiY2I4YzI3MjBhM2JjODcxMTBkZSIsCiAg
ICJzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5jcHAi
OgotICAgICJlNmYzODQyNWZlODk0YjA3YTNhOTYxYTZjODFiODVjMiIsCisgICAgImVmYjc3ODgz
YTU2ODNhOGVjZjIzYTdmM2FhYzY5OWMxIiwKICAgInRvb2xzL2ZsZXgtYmlzb24vbGludXgvYmlz
b24uc2hhMSI6CiAgICAgImVmYTg2MDAxZjAwZTdiY2ZkYmU4OTlkZDE1ZmM4OGUwIiwKICAgInRv
b2xzL2ZsZXgtYmlzb24vbGludXgvZmxleC5zaGExIjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9BTkdMRV9zaGFkZXJf
dHJhbnNsYXRvci5qc29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dl
bmVyYXRpb25faGFzaGVzL0FOR0xFX3NoYWRlcl90cmFuc2xhdG9yLmpzb24KaW5kZXggNzdjODQ3
NzFjMzE0MmYzYzJkMTAzYTczY2U4OTViNDlhMGViN2E1ZC4uNWU0N2I1NGY5NTdkNjlhNzAzNDk2
Njk3NzY0ZjE5MjQ2N2UxZTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL0FOR0xFX3NoYWRlcl90cmFuc2xhdG9yLmpz
b24KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25f
aGFzaGVzL0FOR0xFX3NoYWRlcl90cmFuc2xhdG9yLmpzb24KQEAgLTYsMTEgKzYsMTEgQEAKICAg
InNyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmcubCI6CiAgICAgIjliNWVkODVmNjYwMWVi
NmIxM2E5NDc2OTE2ZTQ0OGUwIiwKICAgInNyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmcu
eSI6Ci0gICAgImJiYzEwOWIxOWM1YTQ3MjRkMGUyZjkxOTFhYzUyNjAzIiwKKyAgICAiNmZiNjky
YTk5MWNiMGQzY2M4ZjlkOGQ2ZGVlOWZkYWIiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
Z2xzbGFuZ19sZXhfYXV0b2dlbi5jcHAiOgogICAgICI5YWQ3ZDYyY2ZkODFlMzZkYjNjOTczOTBj
OGY4YWQyNiIsCiAgICJzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2Vu
LmNwcCI6Ci0gICAgImQyNDA4ODI4ZGQ0NDQ5ODYwYjFiZDA2ZWE5NzcwN2E1IiwKKyAgICAiODdm
N2QzYWY5ZjI3MzdiNmY1ODkwNjBjNzNkNjA0NTUiLAogICAic3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5oIjoKICAgICAiODQwYzEyZGI5Zjc4MjRhZmQwNWI1MzA2
Yzg4MTZkOTUiLAogICAidG9vbHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExIjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hh
c2hlcy9WdWxrYW5fbWFuZGF0b3J5X2Zvcm1hdF9zdXBwb3J0X3RhYmxlLmpzb24gYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL2NvZGVfZ2VuZXJhdGlvbl9oYXNoZXMvVnVsa2FuX21h
bmRhdG9yeV9mb3JtYXRfc3VwcG9ydF90YWJsZS5qc29uCmluZGV4IGNmOTZjMDgzOWFmMDc0MDY0
YjE0Mzk0OWUyNjUxMjEzZDYyZmFiMGUuLmFmN2ZmNmQ3ZWRlODc4YjMxMzVhNjA3ZmJhYmVkOGU3
ZmNkZThjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvY29k
ZV9nZW5lcmF0aW9uX2hhc2hlcy9WdWxrYW5fbWFuZGF0b3J5X2Zvcm1hdF9zdXBwb3J0X3RhYmxl
Lmpzb24KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRp
b25faGFzaGVzL1Z1bGthbl9tYW5kYXRvcnlfZm9ybWF0X3N1cHBvcnRfdGFibGUuanNvbgpAQCAt
MTAsNSArMTAsNSBAQAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19tYW5kYXRv
cnlfZm9ybWF0X3N1cHBvcnRfdGFibGVfYXV0b2dlbi5jcHAiOgogICAgICJhNzI2ZWU3OTFlYjQ5
NjRjNDA2ZjM5MjFkOWI3MzM0NiIsCiAgICJ0aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4t
aGVhZGVycy9zcmMvcmVnaXN0cnkvdmsueG1sIjoKLSAgICAiZDI4MzliYzI4NzFiNWU5ZDRlODAx
NWI1MzA0MjAzZDYiCisgICAgIjgzYzVhNmJjNjBmZDkwYmJhNjRhMGRiZWM0YjU1M2QwIgogfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NjcmlwdHMvY29kZV9nZW5lcmF0aW9uX2hhc2hlcy9yZXN0cmljdGVkX3RyYWNlcy5q
c29uIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFz
aGVzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24KaW5kZXggNWRkYWVkNjNjZDFlZGJjMzdmMDc5NWYz
MWZhNjM3N2YyYTgwMzMyYi4uYTA1NWI2YTkzNTg2MzkxZTc2ZWNkMDhlMTg3ODEzMWExZThmMWE3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVy
YXRpb25faGFzaGVzL3Jlc3RyaWN0ZWRfdHJhY2VzLmpzb24KKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc2NyaXB0cy9jb2RlX2dlbmVyYXRpb25faGFzaGVzL3Jlc3RyaWN0ZWRfdHJhY2Vz
Lmpzb24KQEAgLTQsNSArNCw1IEBACiAgICJzcmMvdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvZ2Vu
X3Jlc3RyaWN0ZWRfdHJhY2VzLnB5IjoKICAgICAiNzc4MDQwNWY4ZTBkOTJmYTg3YTc3MmRkNjRj
NjJlZmIiLAogICAic3JjL3Rlc3RzL3Jlc3RyaWN0ZWRfdHJhY2VzL3Jlc3RyaWN0ZWRfdHJhY2Vz
Lmpzb24iOgotICAgICJkZjNjNjA5YTFmZDIzNmEwYmIwYTRlYTk0ZDk1MDNhMyIKKyAgICAiNzQ3
ZjVmOGFlNDRhMzI3YjU2YzFiZjk3ZjczOTc5ZTAiCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9yb2xsX2Fv
c3Auc2ggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL3JvbGxfYW9zcC5zaAppbmRl
eCBmYTZjNjY5MjdhYzA0YjEwMWUzZjA3YzhjN2VmMDk2NGJkYzZhNWRlLi4wYTczOTMzMWFhYzQ3
ODNhNmFkNTUxMGYxMzRlYzhjMzU3NTdmOGM1IDEwMDc1NQotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zY3JpcHRzL3JvbGxfYW9zcC5zaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zY3JpcHRzL3JvbGxfYW9zcC5zaApAQCAtNzAsOCArNzAsOCBAQCBmdW5jdGlvbiBnZW5lcmF0
ZV9BbmRyb2lkX2JwX2ZpbGUoKSB7CiAgICAgICAgICAgICAjIERpc2FibGUgaGlzdG9ncmFtL3By
b3RvYnVmIHN1cHBvcnQKICAgICAgICAgICAgICJhbmdsZV9oYXNfaGlzdG9ncmFtcyA9IGZhbHNl
IgogCi0gICAgICAgICAgICAjIERpc2FibGUgX0xJQkNQUF9BQklfVU5TVEFCTEUsIHNpbmNlIGl0
IGJyZWFrcyBzdGQ6OnN0cmluZwotICAgICAgICAgICAgImxpYmN4eF9hYmlfdW5zdGFibGUgPSBm
YWxzZSIKKyAgICAgICAgICAgICMgVXNlIHN5c3RlbSBsaWIoc3RkKWMrKywgc2luY2UgdGhlIENo
cm9taXVtIGxpYnJhcnkgYnJlYWtzIHN0ZDo6c3RyaW5nCisgICAgICAgICAgICAidXNlX2N1c3Rv
bV9saWJjeHggPSBmYWxzZSIKIAogICAgICAgICAgICAgIyByYXBpZEpTT04gaXMgdXNlZCBmb3Ig
QU5HTEUncyBmcmFtZSBjYXB0dXJlIChhbW9uZyBvdGhlciB0aGluZ3MpLCB3aGljaCBpcyB1bm5l
Y2Vzc2FyeSBmb3IgQU9TUCBidWlsZHMuCiAgICAgICAgICAgICAiYW5nbGVfaGFzX3JhcGlkanNv
biA9IGZhbHNlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9y
dW5fY29kZV9nZW5lcmF0aW9uLnB5IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc2NyaXB0cy9y
dW5fY29kZV9nZW5lcmF0aW9uLnB5CmluZGV4IGE2ZWYzOWZkMmJlNzgxZGQ5ZmJkZGUzNjRmZTg5
NzY1OTRhMGQ2YmEuLmJjNzlkYTJhZGZmMWJhYjkxNTI5M2M3NjkyOTQyZGJhZjEyYTA5YzIgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NjcmlwdHMvcnVuX2NvZGVfZ2VuZXJh
dGlvbi5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zY3JpcHRzL3J1bl9jb2RlX2dl
bmVyYXRpb24ucHkKQEAgLTg0LDggKzg0LDYgQEAgZ2VuZXJhdG9ycyA9IHsKICAgICAgICAgJ3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nZW5fYW5nbGVfZm9ybWF0X3RhYmxlLnB5JywKICAgICAnQU5H
TEUgbG9hZCBmdW5jdGlvbnMgdGFibGUnOgogICAgICAgICAnc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2dlbl9sb2FkX2Z1bmN0aW9uc190YWJsZS5weScsCi0gICAgJ0FOR0xFIGxvYWQgdGV4dHVyZSBi
b3JkZXIgZnVuY3Rpb25zIHRhYmxlJzoKLSAgICAgICAgJ3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
ZW5fbG9hZF90ZXh0dXJlX2JvcmRlcl9mdW5jdGlvbnNfdGFibGUucHknLAogICAgICdBTkdMRSBz
aGFkZXIgcHJlcHJvY2Vzc29yJzoKICAgICAgICAgJ3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3Iv
Z2VuZXJhdGVfcGFyc2VyLnB5JywKICAgICAnQU5HTEUgc2hhZGVyIHRyYW5zbGF0b3InOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2FuZ2xlX2NvbW1pdC5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2FuZ2xlX2NvbW1pdC5oCmluZGV4IGUyZmQwMzBjMjA2
MjVkYjRhNmJiOTBhMGRmNDljZmE1YjkwNWNiYmQuLmFmMzFiNzY1MGZlNDY3ZWM4Y2E1MzBjYmVk
OWUwZGY1YmFiZjJhY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9h
bmdsZV9jb21taXQuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvYW5nbGVfY29t
bWl0LmgKQEAgLTEsNCArMSw0IEBACi0jZGVmaW5lIEFOR0xFX0NPTU1JVF9IQVNIICJlN2YyOTQ0
MGYwMjUiCisjZGVmaW5lIEFOR0xFX0NPTU1JVF9IQVNIICJmZTI4YTQyOTVhZjAiCiAjZGVmaW5l
IEFOR0xFX0NPTU1JVF9IQVNIX1NJWkUgMTIKLSNkZWZpbmUgQU5HTEVfQ09NTUlUX0RBVEUgIjIw
MjItMDMtMjIgMTU6NTU6NTIgKzAwMDAiCi0jZGVmaW5lIEFOR0xFX0NPTU1JVF9QT1NJVElPTiAx
ODE3OAorI2RlZmluZSBBTkdMRV9DT01NSVRfREFURSAiMjAyMi0wMy0zMSAyMzoxMDo1NiArMDAw
MCIKKyNkZWZpbmUgQU5HTEVfQ09NTUlUX1BPU0lUSU9OIDE4MjQ4CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL1BhY2tlZEVudW1zLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vUGFja2VkRW51bXMuY3BwCmluZGV4IDRjOWMzN2Fh
ZDZlYjdmNTY2MjUyODM3M2E2NmNlNTEzZDdhYTIyOTEuLjg5ODAwYWFiMjUzODViNDg4ZjRiNjlj
ZjcxN2FhNjUwYjI0ZGI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21tb24vUGFja2VkRW51bXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21tb24vUGFja2VkRW51bXMuY3BwCkBAIC0yODIsNiArMjgyLDkgQEAgc3RkOjpvc3RyZWFt
ICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmb3MsIFByaW1pdGl2ZU1vZGUgdmFsdWUpCiAgICAg
ICAgIGNhc2UgUHJpbWl0aXZlTW9kZTo6TGluZVN0cmlwQWRqYWNlbmN5OgogICAgICAgICAgICAg
b3MgPDwgIkdMX0xJTkVfU1RSSVBfQURKQU5DRU5DWSI7CiAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBQcmltaXRpdmVNb2RlOjpQYXRjaGVzOgorICAgICAgICAgICAgb3MgPDwgIkdM
X1BBVENIRVMiOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUHJpbWl0aXZlTW9k
ZTo6UG9pbnRzOgogICAgICAgICAgICAgb3MgPDwgIkdMX1BPSU5UUyI7CiAgICAgICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vYW5n
bGV1dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9hbmdsZXV0aWxz
LmgKaW5kZXggOTkxNjFhY2NlOGFlMjhmODMyMTE3N2E3YmE1OGU3MGJmNmE4MDZkMS4uMWZkYjBm
ZmE3MjAzNWZlZjA1M2IzMzMwZWU2OTc1NTE3N2UwODJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9hbmdsZXV0aWxzLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbW1vbi9hbmdsZXV0aWxzLmgKQEAgLTEzNywxMiArMTM3LDI0IEBA
IHN0cnVjdCBQZXJmTW9uaXRvclRyaXBsZXQKICAgICBGTih3cml0ZURlc2NyaXB0b3JTZXRzKSAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIEZOKGZsdXNoZWRPdXRzaWRlUmVuZGVyUGFzc0Nv
bW1hbmRCdWZmZXJzKSAgICBcCiAgICAgRk4ocmVzb2x2ZUltYWdlQ29tbWFuZHMpICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBGTihkZXB0aENsZWFycykgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIEZOKGRlcHRoTG9hZHMpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgRk4oZGVwdGhTdG9yZXMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBGTihzdGVuY2lsQ2xlYXJzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIEZOKHN0ZW5jaWxMb2FkcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
Rk4oc3RlbmNpbFN0b3JlcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTihj
b2xvckxvYWRPcENsZWFycykgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZOKGNvbG9y
TG9hZE9wTG9hZHMpICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk4oY29sb3JMb2Fk
T3BOb25lcykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTihjb2xvclN0b3JlT3BT
dG9yZXMpICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZOKGNvbG9yU3RvcmVPcE5vbmVz
KSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk4oY29sb3JDbGVhckF0dGFjaG1lbnRz
KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTihkZXB0aExvYWRPcENsZWFycykgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIEZOKGRlcHRoTG9hZE9wTG9hZHMpICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgRk4oZGVwdGhMb2FkT3BOb25lcykgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBGTihkZXB0aFN0b3JlT3BTdG9yZXMpICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIEZOKGRlcHRoU3RvcmVPcE5vbmVzKSAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgRk4oZGVwdGhDbGVhckF0dGFjaG1lbnRzKSAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBGTihzdGVuY2lsTG9hZE9wQ2xlYXJzKSAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IEZOKHN0ZW5jaWxMb2FkT3BMb2FkcykgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk4o
c3RlbmNpbExvYWRPcE5vbmVzKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTihzdGVu
Y2lsU3RvcmVPcFN0b3JlcykgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZOKHN0ZW5jaWxT
dG9yZU9wTm9uZXMpICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk4oc3RlbmNpbENsZWFy
QXR0YWNobWVudHMpICAgICAgICAgICAgICAgICAgIFwKICAgICBGTihjb2xvckF0dGFjaG1lbnRV
bnJlc29sdmVzKSAgICAgICAgICAgICAgICAgXAogICAgIEZOKGRlcHRoQXR0YWNobWVudFVucmVz
b2x2ZXMpICAgICAgICAgICAgICAgICBcCiAgICAgRk4oc3RlbmNpbEF0dGFjaG1lbnRVbnJlc29s
dmVzKSAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21tb24vZGVidWcuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1v
bi9kZWJ1Zy5jcHAKaW5kZXggMTExNGRkNWE0ZThmYTFhMDk0ZDUzNTgyODgwNmI0YjIwZmM0MTcw
YS4uNmQwNGZiZjFmZTljYmI5OTY4YTU2NDQ1ZGYyNDljMDhjOTFmN2U3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9kZWJ1Zy5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9kZWJ1Zy5jcHAKQEAgLTIzMiw3ICsyMzIsNyBA
QCB2b2lkIFRyYWNlKExvZ1NldmVyaXR5IHNldmVyaXR5LCBjb25zdCBjaGFyICptZXNzYWdlKQog
ICAgIH0KIAogICAgIGlmIChzZXZlcml0eSA9PSBMT0dfRkFUQUwgfHwgc2V2ZXJpdHkgPT0gTE9H
X0VSUiB8fCBzZXZlcml0eSA9PSBMT0dfV0FSTiB8fAotI2lmIGRlZmluZWQoQU5HTEVfRU5BQkxF
X1RSQUNFX0FORFJPSURfTE9HQ0FUKQorI2lmIGRlZmluZWQoQU5HTEVfRU5BQkxFX1RSQUNFX0FO
RFJPSURfTE9HQ0FUKSB8fCBkZWZpbmVkKEFOR0xFX0VOQUJMRV9UUkFDRV9FVkVOVFMpCiAgICAg
ICAgIHNldmVyaXR5ID09IExPR19FVkVOVCB8fAogI2VuZGlmCiAgICAgICAgIHNldmVyaXR5ID09
IExPR19JTkZPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1v
bi9kZWJ1Zy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9kZWJ1Zy5oCmlu
ZGV4IDEzM2RlNzM1MjJlNTgxMTk2NmM2NDAzMmE0M2E3Zjk3YjM4MjI4OWIuLjA0NjVhZjY2MTc3
ZGYwMDMzNWUxZmViZDliNWRmOWUyODNkYjE4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21tb24vZGVidWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tbW9uL2RlYnVnLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIGdsCiBjbGFz
cyBDb250ZXh0OwogCiAvLyBQYWlycyBhIGJlZ2luIGV2ZW50IHdpdGggYW4gZW5kIGV2ZW50Lgot
Y2xhc3MgU2NvcGVkUGVyZkV2ZW50SGVscGVyIDogYW5nbGU6Ok5vbkNvcHlhYmxlCitjbGFzcyBB
TkdMRV9OT19ESVNDQVJEIFNjb3BlZFBlcmZFdmVudEhlbHBlciA6IGFuZ2xlOjpOb25Db3B5YWJs
ZQogewogICBwdWJsaWM6CiAgICAgU2NvcGVkUGVyZkV2ZW50SGVscGVyKENvbnRleHQgKmNvbnRl
eHQsIGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9tYXRodXRpbC5oIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbW1vbi9tYXRodXRpbC5oCmluZGV4IGU5ZTA1YjA2ZTRhOTNlNTFkZDJmMjJj
YzFkYjNiY2JmODdmYmE2MDcuLjg1MjQzYmM0YTZkODkwZjNkMDBjNjQ2YmZlYTIwMGMxNTNiYjA2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vbWF0aHV0
aWwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL21hdGh1dGlsLmgK
QEAgLTExOSw2ICsxMTksMzggQEAgaW5saW5lIFQgY2xhbXAoVCB4LCBNSU4gbWluLCBNQVggbWF4
KQogICAgIHJldHVybiB4ID4gbWluID8gKHggPiBtYXggPyBtYXggOiB4KSA6IG1pbjsKIH0KIAor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitUIGNsYW1wRm9yQml0Q291bnQoVCB2YWx1ZSwgc2l6ZV90
IGJpdENvdW50KQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjpudW1lcmljX2xpbWl0czxUPjo6
aXNfaW50ZWdlciwgIlQgbXVzdCBiZSBhbiBpbnRlZ2VyLiIpOworCisgICAgaWYgKGJpdENvdW50
ID09IDApCisgICAgeworICAgICAgICBjb25zdGV4cHIgVCBrWmVybyA9IDA7CisgICAgICAgIHJl
dHVybiBrWmVybzsKKyAgICB9CisgICAgQVNTRVJUKGJpdENvdW50IDw9IHNpemVvZihUKSAqIDgp
OworCisgICAgY29uc3RleHByIGJvb2wga0lzU2lnbmVkID0gc3RkOjpudW1lcmljX2xpbWl0czxU
Pjo6aXNfc2lnbmVkOworICAgIEFTU0VSVCgoYml0Q291bnQgPiAxKSB8fCAha0lzU2lnbmVkKTsK
KworICAgIFQgbWluID0gMDsKKyAgICBUIG1heCA9IDA7CisgICAgaWYgKGJpdENvdW50ID09IHNp
emVvZihUKSAqIDgpCisgICAgeworICAgICAgICBtaW4gPSBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+
OjptaW4oKTsKKyAgICAgICAgbWF4ID0gc3RkOjpudW1lcmljX2xpbWl0czxUPjo6bWF4KCk7Cisg
ICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGNvbnN0ZXhwciBUIGtPbmUgPSAxOworICAg
ICAgICBtaW4gICAgICAgICAgICAgID0gKGtJc1NpZ25lZCkgPyAtMSAqIChrT25lIDw8IChiaXRD
b3VudCAtIDEpKSA6IDA7CisgICAgICAgIG1heCAgICAgICAgICAgICAgPSAoa0lzU2lnbmVkKSA/
IChrT25lIDw8IChiaXRDb3VudCAtIDEpKSAtIDEgOiAoa09uZSA8PCBiaXRDb3VudCkgLSAxOwor
ICAgIH0KKworICAgIHJldHVybiBnbDo6Y2xhbXAodmFsdWUsIG1pbiwgbWF4KTsKK30KKwogaW5s
aW5lIGZsb2F0IGNsYW1wMDEoZmxvYXQgeCkKIHsKICAgICByZXR1cm4gY2xhbXAoeCwgMC4wZiwg
MS4wZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL21h
dGh1dGlsX3VuaXR0ZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24v
bWF0aHV0aWxfdW5pdHRlc3QuY3BwCmluZGV4IGRkNDM2OWZlYTM4NDc4N2U2NGIxZmZjMGJlZWQ4
NTg2NGNiMzQ0MTAuLjU0YWFhMmVhN2Y0NDUzNGYwNjA0YWYwYWJmMzU4ZmViMzM5MmExNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vbWF0aHV0aWxfdW5p
dHRlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vbWF0aHV0
aWxfdW5pdHRlc3QuY3BwCkBAIC0zNjQsNiArMzY0LDYxIEBAIFRFU1QoTWF0aFV0aWxUZXN0LCBS
YW5nZUl0ZXJhdGlvbikKICAgICBFWFBFQ1RfRVEocmFuZ2UubGVuZ3RoKCksIGV4cGVjdGVkKTsK
IH0KIAorLy8gVGVzdHMgZm9yIGNsYW1wRm9yQml0Q291bnQKK1RFU1QoTWF0aFV0aWxUZXN0LCBD
bGFtcEZvckJpdENvdW50KQoreworICAgIGNvbnN0ZXhwciB1aW50NjRfdCBrVW5zaWduZWRNYXgg
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7CisgICAgY29uc3RleHByIGlu
dDY0X3Qga1NpZ25lZE1heCAgICA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgp
OworICAgIGNvbnN0ZXhwciBpbnQ2NF90IGtTaWduZWRNaW4gICAgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPGludDY0X3Q+OjptaW4oKTsKKyAgICBjb25zdGV4cHIgaW50NjRfdCBrUmFuZG9tVmFsdWUg
ID0gMHg0RDM0QTBCMTsKKworICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PHVpbnQ2NF90
PihrVW5zaWduZWRNYXgsIDY0KSwgc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgp
KTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDx1aW50NjRfdD4oa1Vuc2lnbmVkTWF4
LCAzMiksCisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ2NF90PihzdGQ6Om51bWVyaWNf
bGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpKTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3Vu
dDx1aW50NjRfdD4oa1Vuc2lnbmVkTWF4LCAxNiksCisgICAgICAgICAgICAgIHN0YXRpY19jYXN0
PHVpbnQ2NF90PihzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQxNl90Pjo6bWF4KCkpKTsKKyAgICBB
U1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDx1aW50NjRfdD4oa1Vuc2lnbmVkTWF4LCA4KSwKKyAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8dWlu
dDhfdD46Om1heCgpKSk7CisgICAgQVNTRVJUX0VRKGNsYW1wRm9yQml0Q291bnQ8dWludDY0X3Q+
KGtVbnNpZ25lZE1heCwgNCksIDE1dSk7CisgICAgQVNTRVJUX0VRKGNsYW1wRm9yQml0Q291bnQ8
dWludDY0X3Q+KGtVbnNpZ25lZE1heCwgMiksIDN1KTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JC
aXRDb3VudDx1aW50NjRfdD4oa1Vuc2lnbmVkTWF4LCAxKSwgMXUpOworICAgIEFTU0VSVF9FUShj
bGFtcEZvckJpdENvdW50PHVpbnQ2NF90PihrVW5zaWduZWRNYXgsIDApLCAwdSk7CisKKyAgICBB
U1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90PihrU2lnbmVkTWF4LCA2NCksIHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpKTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JC
aXRDb3VudDx1aW50NjRfdD4oc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGtTaWduZWRNYXgpLCA2NCks
CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ2NF90PihzdGQ6Om51bWVyaWNfbGltaXRz
PGludDY0X3Q+OjptYXgoKSkpOworICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0
X3Q+KGtTaWduZWRNYXgsIDMyKSwKKyAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50NjRfdD4o
c3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKTsKKyAgICBBU1NFUlRfRVEoY2xh
bXBGb3JCaXRDb3VudDxpbnQ2NF90PihrU2lnbmVkTWF4LCAxNiksCisgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PGludDY0X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MTZfdD46Om1heCgpKSk7
CisgICAgQVNTRVJUX0VRKGNsYW1wRm9yQml0Q291bnQ8aW50NjRfdD4oa1NpZ25lZE1heCwgOCks
CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludDY0X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8
aW50OF90Pjo6bWF4KCkpKTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90
PihrU2lnbmVkTWF4LCA0KSwgNyk7CisgICAgQVNTRVJUX0VRKGNsYW1wRm9yQml0Q291bnQ8aW50
NjRfdD4oa1NpZ25lZE1heCwgMiksIDEpOworICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50
PGludDY0X3Q+KGtTaWduZWRNYXgsIDApLCAwKTsKKworICAgIEFTU0VSVF9FUShjbGFtcEZvckJp
dENvdW50PGludDY0X3Q+KGtSYW5kb21WYWx1ZSwgNjQpLCBrUmFuZG9tVmFsdWUpOworICAgIEFT
U0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0X3Q+KGtSYW5kb21WYWx1ZSwgMzIpLCBrUmFu
ZG9tVmFsdWUpOworICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0X3Q+KGtSYW5k
b21WYWx1ZSwgMTYpLAorICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ2NF90PihzdGQ6Om51
bWVyaWNfbGltaXRzPGludDE2X3Q+OjptYXgoKSkpOworICAgIEFTU0VSVF9FUShjbGFtcEZvckJp
dENvdW50PGludDY0X3Q+KGtSYW5kb21WYWx1ZSwgOCksCisgICAgICAgICAgICAgIHN0YXRpY19j
YXN0PGludDY0X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50OF90Pjo6bWF4KCkpKTsKKyAgICBB
U1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90PihrUmFuZG9tVmFsdWUsIDQpLCA3KTsK
KyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90PihrUmFuZG9tVmFsdWUsIDIp
LCAxKTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90PihrUmFuZG9tVmFs
dWUsIDApLCAwKTsKKworICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0X3Q+KGtT
aWduZWRNaW4sIDY0KSwgc3RkOjpudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWluKCkpOworICAg
IEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0X3Q+KGtTaWduZWRNaW4sIDMyKSwKKyAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQz
Ml90Pjo6bWluKCkpKTsKKyAgICBBU1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90Pihr
U2lnbmVkTWluLCAxNiksCisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludDY0X3Q+KHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50MTZfdD46Om1pbigpKSk7CisgICAgQVNTRVJUX0VRKGNsYW1wRm9y
Qml0Q291bnQ8aW50NjRfdD4oa1NpZ25lZE1pbiwgOCksCisgICAgICAgICAgICAgIHN0YXRpY19j
YXN0PGludDY0X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50OF90Pjo6bWluKCkpKTsKKyAgICBB
U1NFUlRfRVEoY2xhbXBGb3JCaXRDb3VudDxpbnQ2NF90PihrU2lnbmVkTWluLCA0KSwgLTgpOwor
ICAgIEFTU0VSVF9FUShjbGFtcEZvckJpdENvdW50PGludDY0X3Q+KGtTaWduZWRNaW4sIDIpLCAt
Mik7CisgICAgQVNTRVJUX0VRKGNsYW1wRm9yQml0Q291bnQ8aW50NjRfdD4oa1NpZ25lZE1pbiwg
MCksIDApOworfQorCiAvLyBUZXN0cyBmb3IgZmxvYXQzMiB0byBmbG9hdDE2IGNvbnZlcnNpb24K
IFRFU1QoTWF0aFV0aWxUZXN0LCBGbG9hdDMyVG9GbG9hdDE2KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi92dWxrYW4vdnVsa2FuX2ljZC5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi92dWxrYW4vdnVsa2FuX2ljZC5oCmluZGV4
IGY4ZDA5NzA2ZDhmNGEwYmJhNGQ1ZjBiMWMwMTU3Zjc1ZWE3ODcxZWIuLjJlODY0NGIyN2YzMDgx
OGM0MGFiYzNmNjdhM2Q1OTM2MGUzZjMyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21tb24vdnVsa2FuL3Z1bGthbl9pY2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tbW9uL3Z1bGthbi92dWxrYW5faWNkLmgKQEAgLTMzLDcgKzMzLDcg
QEAgc3RydWN0IFNpbXBsZURpc3BsYXlXaW5kb3cKICAgICB1aW50MTZfdCBoZWlnaHQ7CiB9Owog
Ci1jbGFzcyBTY29wZWRWa0xvYWRlckVudmlyb25tZW50IDogYW5nbGU6Ok5vbkNvcHlhYmxlCitj
bGFzcyBBTkdMRV9OT19ESVNDQVJEIFNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQgOiBhbmdsZTo6
Tm9uQ29weWFibGUKIHsKICAgcHVibGljOgogICAgIFNjb3BlZFZrTG9hZGVyRW52aXJvbm1lbnQo
Ym9vbCBlbmFibGVWYWxpZGF0aW9uTGF5ZXJzLCB2azo6SUNEIGljZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL01hY3JvRXhw
YW5kZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nl
c3Nvci9NYWNyb0V4cGFuZGVyLmNwcAppbmRleCAwMGZlMzEwNTg4YmU1OWZjOTM4ZTcwMDFmYTlh
NmZhNzJhNWQyNTE5Li44ZWMxYTI5Y2U4Zjc1YTJkMTc5NjE2MzFiYjk4Yjk1ZjQ4OWYwNTNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vz
c29yL01hY3JvRXhwYW5kZXIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci9wcmVwcm9jZXNzb3IvTWFjcm9FeHBhbmRlci5jcHAKQEAgLTU1LDcgKzU1LDcgQEAg
Y2xhc3MgVG9rZW5MZXhlciA6IHB1YmxpYyBMZXhlcgogCiB9ICAvLyBhbm9ueW1vdXMgbmFtZXNw
YWNlCiAKLWNsYXNzIE1hY3JvRXhwYW5kZXI6OlNjb3BlZE1hY3JvUmVlbmFibGVyIGZpbmFsIDog
YW5nbGU6Ok5vbkNvcHlhYmxlCitjbGFzcyBBTkdMRV9OT19ESVNDQVJEIE1hY3JvRXhwYW5kZXI6
OlNjb3BlZE1hY3JvUmVlbmFibGVyIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB7CiAgIHB1
YmxpYzoKICAgICBTY29wZWRNYWNyb1JlZW5hYmxlcihNYWNyb0V4cGFuZGVyICpleHBhbmRlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJv
Y2Vzc29yL3ByZXByb2Nlc3Nvci55IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3ByZXByb2Nlc3Nvci9wcmVwcm9jZXNzb3IueQppbmRleCBmYTA2MjBhYTRlNWMzYmRmZDU5
ZGU4MzMxMTAwYjBmMDQ5YzAwNzg5Li41ZGFkZTQ4NDEzYmM5ZTljZmUzY2UzZjRmMzIwMTU1OTEz
ZGZhZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIv
cHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvci55CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvcHJlcHJvY2Vzc29yLnkKQEAgLTM0LDYgKzM0LDcg
QEAgV0hJQ0ggR0VORVJBVEVTIFRIRSBHTFNMIEVTIHByZXByb2Nlc3NvciBleHByZXNzaW9uIHBh
cnNlci4KICNlbmRpZgogI2lmIGRlZmluZWQoX19jbGFuZ19fKQogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XdW5yZWFjaGFibGUtY29kZSIKKyNwcmFnbWEgY2xhbmcgZGlhZ25v
c3RpYyBpZ25vcmVkICItV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIgogI2VuZGlmCiAKICNpbmNs
dWRlICJFeHByZXNzaW9uUGFyc2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL3By
ZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5jcHAKaW5kZXggOWVhYjFiMzYxZGExMzVkM2E5ZTcxOGE3
MjUwZjYyNzdmMGQ3NWQ5YS4uM2VjZTIxMDViY2RhZWE5ODkxNzAwMWIzM2QxYzY4MzRkZTAyMmQ1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXBy
b2Nlc3Nvci9wcmVwcm9jZXNzb3JfdGFiX2F1dG9nZW4uY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvcHJlcHJvY2Vzc29yX3RhYl9hdXRv
Z2VuLmNwcApAQCAtOTYsNiArOTYsNyBAQAogI2VuZGlmCiAjaWYgZGVmaW5lZChfX2NsYW5nX18p
CiAjICAgIHByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5yZWFjaGFibGUtY29k
ZSIKKyMgICAgcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtYnV0LXNl
dC12YXJpYWJsZSIKICNlbmRpZgogCiAjaW5jbHVkZSAiRXhwcmVzc2lvblBhcnNlci5oIgpAQCAt
NDYxLDkgKzQ2Miw5IEBAIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDggeXl0cmFuc2xhdGVbXSA9
IHsKIAogI2lmIFlZREVCVUcKIC8qIFlZUkxJTkVbWVlOXSAtLSBTb3VyY2UgbGluZSB3aGVyZSBy
dWxlIG51bWJlciBZWU4gd2FzIGRlZmluZWQuICAqLwotc3RhdGljIGNvbnN0IHl5dHlwZV91aW50
MTYgeXlybGluZVtdID0gezAsICAgMTEzLCAxMTMsIDEyMCwgMTIxLCAxMzIsIDEzMiwgMTUzLCAx
NTMsIDE3NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNzcsIDE4
MCwgMTgzLCAxODYsIDE4OSwgMTkyLCAxOTUsIDE5OCwgMjAxLCAyMjYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQ4LCAyNTEsIDI1NCwgMjgwLCAzMDcsIDMxMCwg
MzEzLCAzMTYsIDMyOCwgMzMxfTsKK3N0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cmxpbmVb
XSA9IHswLCAgIDExNCwgMTE0LCAxMjEsIDEyMiwgMTMzLCAxMzMsIDE1NCwgMTU0LCAxNzUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc4LCAxODEsIDE4NCwgMTg3
LCAxOTAsIDE5MywgMTk2LCAxOTksIDIwMiwgMjI3LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDI0OSwgMjUyLCAyNTUsIDI4MSwgMzA4LCAzMTEsIDMxNCwgMzE3LCAz
MjksIDMzMn07CiAjZW5kaWYKIAogI2lmIFlZREVCVUcgfHwgWVlFUlJPUl9WRVJCT1NFIHx8IDAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL0NvbXBpbGVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90
cmFuc2xhdG9yL0NvbXBpbGVyLmNwcAppbmRleCA0OWZkYTZjY2FhZmQzMGRhZmMzODQwZjViZDJh
MWI5NWU4NjQ4ZTQ5Li42MmQyMzFjYWM5ZGNiODI3ZGI3M2MxZmJhNDkwMWVkYTQxZWRkZjE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9Db21waWxlci5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvQ29tcGlsZXIuY3BwCkBAIC0yMDYsNyArMjA2LDcgQEAgaW50IEdldE1heFVu
aWZvcm1WZWN0b3JzRm9yU2hhZGVyVHlwZShHTGVudW0gc2hhZGVyVHlwZSwgY29uc3QgU2hCdWls
dEluUmVzb3VyY2UKIG5hbWVzcGFjZQogewogCi1jbGFzcyBUU2NvcGVkUG9vbEFsbG9jYXRvcgor
Y2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBUU2NvcGVkUG9vbEFsbG9jYXRvcgogewogICBwdWJsaWM6
CiAgICAgVFNjb3BlZFBvb2xBbGxvY2F0b3IoYW5nbGU6OlBvb2xBbGxvY2F0b3IgKmFsbG9jYXRv
cikgOiBtQWxsb2NhdG9yKGFsbG9jYXRvcikKQEAgLTIyNCw3ICsyMjQsNyBAQCBjbGFzcyBUU2Nv
cGVkUG9vbEFsbG9jYXRvcgogICAgIGFuZ2xlOjpQb29sQWxsb2NhdG9yICptQWxsb2NhdG9yOwog
fTsKIAotY2xhc3MgVFNjb3BlZFN5bWJvbFRhYmxlTGV2ZWwKK2NsYXNzIEFOR0xFX05PX0RJU0NB
UkQgVFNjb3BlZFN5bWJvbFRhYmxlTGV2ZWwKIHsKICAgcHVibGljOgogICAgIFRTY29wZWRTeW1i
b2xUYWJsZUxldmVsKFRTeW1ib2xUYWJsZSAqdGFibGUpIDogbVRhYmxlKHRhYmxlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvT3V0
cHV0U1BJUlYuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvT3V0cHV0U1BJUlYuY3BwCmluZGV4IDI4YjIwYTViZjhjM2I5ZWJjYzhmOGI5NTBiZGQz
ZGJlOTY4MGE1YTUuLjUwYTY0MGI5ODczYTkyOWQwYTFmMGQ5ZjdhOTczMGI2ZmVkZjM4OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L091dHB1dFNQSVJWLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9PdXRwdXRTUElSVi5jcHAKQEAgLTE3NSwxMiArMTc1LDYgQEAgYm9vbCBJ
c0FjY2Vzc0NoYWluUlZhbHVlKGNvbnN0IEFjY2Vzc0NoYWluICZhY2Nlc3NDaGFpbikKICAgICBy
ZXR1cm4gYWNjZXNzQ2hhaW4uc3RvcmFnZUNsYXNzID09IHNwdjo6U3RvcmFnZUNsYXNzTWF4Owog
fQogCi1ib29sIElzQWNjZXNzQ2hhaW5VbmluZGV4ZWRMVmFsdWUoY29uc3QgTm9kZURhdGEgJmRh
dGEpCi17Ci0gICAgcmV0dXJuICFJc0FjY2Vzc0NoYWluUlZhbHVlKGRhdGEuYWNjZXNzQ2hhaW4p
ICYmIGRhdGEuaWRMaXN0LmVtcHR5KCkgJiYKLSAgICAgICAgICAgZGF0YS5hY2Nlc3NDaGFpbi5z
d2l6emxlcy5lbXB0eSgpICYmICFkYXRhLmFjY2Vzc0NoYWluLmR5bmFtaWNDb21wb25lbnQudmFs
aWQoKTsKLX0KLQogLy8gQSB0cmF2ZXJzZXIgdGhhdCBnZW5lcmF0ZXMgU1BJUi1WIGFzIGl0IHdh
bGtzIHRoZSBBU1QuCiBjbGFzcyBPdXRwdXRTUElSVlRyYXZlcnNlciA6IHB1YmxpYyBUSW50ZXJt
VHJhdmVyc2VyCiB7CkBAIC0yMDE2LDI0ICsyMDEwLDI5IEBAIHNwaXJ2OjpJZFJlZiBPdXRwdXRT
UElSVlRyYXZlcnNlcjo6Y3JlYXRlRnVuY3Rpb25DYWxsKFRJbnRlcm1BZ2dyZWdhdGUgKm5vZGUs
CiAgICAgLy8gR2V0IHRoZSBsaXN0IG9mIHBhcmFtZXRlcnMgcGFzc2VkIHRvIHRoZSBmdW5jdGlv
bi4gIFRoZSBmdW5jdGlvbiBwYXJhbWV0ZXJzIGNhbiBvbmx5IGJlCiAgICAgLy8gbWVtb3J5IHZh
cmlhYmxlcywgb3IgaWYgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50IGlzIHxjb25zdHwsIGFuIHJ2YWx1
ZS4KICAgICAvLworICAgIC8vIEZvciBvcGFxdWUgdW5pZm9ybXMsIHBhc3MgaXQgZGlyZWN0bHkg
YXMgbHZhbHVlLgorICAgIC8vCiAgICAgLy8gRm9yIGluIHZhcmlhYmxlczoKICAgICAvLwogICAg
IC8vIC0gSWYgdGhlIHBhcmFtZXRlciBpcyBjb25zdCwgcGFzcyBpdCBkaXJlY3RseSBhcyBydmFs
dWUsIG90aGVyd2lzZQotICAgIC8vIC0gSWYgdGhlIHBhcmFtZXRlciBpcyBhbiB1bmluZGV4ZWQg
bHZhbHVlLCBwYXNzIGl0IGRpcmVjdGx5LCBvdGhlcndpc2UKICAgICAvLyAtIFdyaXRlIGl0IHRv
IGEgdGVtcCB2YXJpYWJsZSBmaXJzdCBhbmQgcGFzcyB0aGF0LgogICAgIC8vCiAgICAgLy8gRm9y
IG91dCB2YXJpYWJsZXM6CiAgICAgLy8KLSAgICAvLyAtIElmIHRoZSBwYXJhbWV0ZXIgaXMgYW4g
dW5pbmRleGVkIGx2YWx1ZSwgcGFzcyBpdCBkaXJlY3RseSwgb3RoZXJ3aXNlCiAgICAgLy8gLSBQ
YXNzIGEgdGVtcG9yYXJ5IHZhcmlhYmxlLiAgQWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwsIGNvcHkg
dGhhdCB2YXJpYWJsZSB0byB0aGUgcGFyYW1ldGVyLgogICAgIC8vCiAgICAgLy8gRm9yIGlub3V0
IHZhcmlhYmxlczoKICAgICAvLwotICAgIC8vIC0gSWYgdGhlIHBhcmFtZXRlciBpcyBhbiB1bmlu
ZGV4ZWQgbHZhbHVlLCBwYXNzIGl0IGRpcmVjdGx5LCBvdGhlcndpc2UKICAgICAvLyAtIFdyaXRl
IHRoZSBwYXJhbWV0ZXIgdG8gYSB0ZW1wIHZhcmlhYmxlIGFuZCBwYXNzIHRoYXQuICBBZnRlciB0
aGUgZnVuY3Rpb24gY2FsbCwgY29weSB0aGF0CiAgICAgLy8gICB2YXJpYWJsZSBiYWNrIHRvIHRo
ZSBwYXJhbWV0ZXIuCiAgICAgLy8KLSAgICAvLyAtIEZvciBvcGFxdWUgdW5pZm9ybXMsIHBhc3Mg
aXQgZGlyZWN0bHkgYXMgbHZhbHVlLAorICAgIC8vIE5vdGUgdGhhdCBpbiBHTFNMLCBpbiBwYXJh
bWV0ZXJzIGFyZSBjb25zaWRlcmVkICJjb3BpZWQiIHRvIHRoZSBmdW5jdGlvbi4gIEluIFNQSVIt
ViwgZXZlcnkKKyAgICAvLyBwYXJhbWV0ZXIgaXMgaW1wbGljaXRseSBpbm91dC4gIElmIGEgZnVu
Y3Rpb24gdGFrZXMgYW4gaW4gcGFyYW1ldGVyIGFuZCBtb2RpZmllcyBpdCwgdGhlCisgICAgLy8g
Y2FsbGVyIGhhcyB0byBlbnN1cmUgdGhhdCBpdCBjYWxscyB0aGUgZnVuY3Rpb24gd2l0aCBhIGNv
cHkuICBDdXJyZW50bHksIHRoZSBmdW5jdGlvbnMgZG9uJ3QKKyAgICAvLyB0cmFjayB3aGV0aGVy
IGFuIGluIHBhcmFtZXRlciBpcyBtb2RpZmllZCwgc28gd2UgY29uc2VydmF0aXZlbHkgYXNzdW1l
IGl0IGlzLiAgRXZlbiBmb3Igb3V0CisgICAgLy8gYW5kIGlub3V0IHBhcmFtZXRlcnMsIEdMU0wg
ZXhwZWN0cyBlYWNoIGZ1bmN0aW9uIHRvIG9wZXJhdGUgb24gdGhlaXIgbG9jYWwgY29weSB1bnRp
bCB0aGUgZW5kCisgICAgLy8gb2YgdGhlIGZ1bmN0aW9uOyB0aGlzIGhhcyBvYnNlcnZhYmxlIHNp
ZGUgZWZmZWN0cyBpZiB0aGUgb3V0IHZhcmlhYmxlIGFsaWFzZXMgYW5vdGhlcgorICAgIC8vIHZh
cmlhYmxlIHRoZSBmdW5jdGlvbiBoYXMgYWNjZXNzIHRvIChhbm90aGVyIG91dCB2YXJpYWJsZSwg
YSBnbG9iYWwgdmFyaWFibGUgZXRjKS4KICAgICAvLwogICAgIGNvbnN0IHNpemVfdCBwYXJhbWV0
ZXJDb3VudCA9IG5vZGUtPmdldENoaWxkQ291bnQoKTsKICAgICBzcGlydjo6SWRSZWZMaXN0IHBh
cmFtZXRlcnM7CkBAIC0yMDU5LDE4ICsyMDU4LDYgQEAgc3BpcnY6OklkUmVmIE91dHB1dFNQSVJW
VHJhdmVyc2VyOjpjcmVhdGVGdW5jdGlvbkNhbGwoVEludGVybUFnZ3JlZ2F0ZSAqbm9kZSwKICAg
ICAgICAgICAgIC8vIE9wYXF1ZSB1bmlmb3JtcyBhcmUgcGFzc2VkIGJ5IHBvaW50ZXIuCiAgICAg
ICAgICAgICBwYXJhbVZhbHVlID0gYWNjZXNzQ2hhaW5Db2xsYXBzZSgmcGFyYW0pOwogICAgICAg
ICB9Ci0gICAgICAgIGVsc2UgaWYgKElzQWNjZXNzQ2hhaW5VbmluZGV4ZWRMVmFsdWUocGFyYW0p
ICYmIHBhcmFtUXVhbGlmaWVyID09IEV2cVBhcmFtT3V0ICYmCi0gICAgICAgICAgICAgICAgIHBh
cmFtLmFjY2Vzc0NoYWluLnN0b3JhZ2VDbGFzcyA9PSBzcHY6OlN0b3JhZ2VDbGFzc0Z1bmN0aW9u
KQotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBVbmluZGV4ZWQgbHZhbHVlcyBhcmUgcGFzc2Vk
IGRpcmVjdGx5LCBidXQgb25seSB3aGVuIHRoZXkgYXJlIGFuIG91dC9pbm91dC4gIEluIEdMU0ws
Ci0gICAgICAgICAgICAvLyBpbiBwYXJhbWV0ZXJzIGFyZSBjb25zaWRlcmVkICJjb3BpZWQiIHRv
IHRoZSBmdW5jdGlvbi4gIEluIFNQSVItViwgZXZlcnkgcGFyYW1ldGVyIGlzCi0gICAgICAgICAg
ICAvLyBpbXBsaWNpdGx5IGlub3V0LiAgSWYgYSBmdW5jdGlvbiB0YWtlcyBhbiBpbiBwYXJhbWV0
ZXIgYW5kIG1vZGlmaWVzIGl0LCB0aGUgY2FsbGVyCi0gICAgICAgICAgICAvLyBoYXMgdG8gZW5z
dXJlIHRoYXQgaXQgY2FsbHMgdGhlIGZ1bmN0aW9uIHdpdGggYSBjb3B5LiAgQ3VycmVudGx5LCB0
aGUgZnVuY3Rpb25zIGRvbid0Ci0gICAgICAgICAgICAvLyB0cmFjayB3aGV0aGVyIGFuIGluIHBh
cmFtZXRlciBpcyBtb2RpZmllZCwgc28gd2UgY29uc2VydmF0aXZlbHkgYXNzdW1lIGl0IGlzLgot
ICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIFRoaXMgb3B0aW1pemF0aW9uIGlzIG5vdCBh
cHBsaWVkIG9uIGJ1Z2d5IGRyaXZlcnMuICBodHRwOi8vYW5nbGVidWcuY29tLzYxMTAuCi0gICAg
ICAgICAgICBwYXJhbVZhbHVlID0gcGFyYW0uYmFzZUlkOwotICAgICAgICB9CiAgICAgICAgIGVs
c2UKICAgICAgICAgewogICAgICAgICAgICAgQVNTRVJUKHBhcmFtUXVhbGlmaWVyID09IEV2cVBh
cmFtSW4gfHwgcGFyYW1RdWFsaWZpZXIgPT0gRXZxUGFyYW1PdXQgfHwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JN
ZXRhbERpcmVjdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuY3BwCmluZGV4IDU5NTgxMDE1MDAzNDI5YWY2
MjU3YWJiODVjOWM4MmY1ZGVhODc1ODkuLjRjODVkYzE5OTAyMTBiODVkMzZhNWE2ZDkwOGMwNmQ1
ZGRmM2JiZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0
LmNwcApAQCAtNjY3LDE2ICs2NjcsMTAgQEAgYm9vbCBUcmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRy
YW5zbGF0ZUltcGwoVEluZm9TaW5rQmFzZSAmc2luaywKICAgICB9CiAKICAgICAvLyBXcml0ZSBv
dXQgZGVmYXVsdCB1bmlmb3JtcyBpbnRvIGEgdW5pZm9ybSBibG9jayBhc3NpZ25lZCB0byBhIHNw
ZWNpZmljIHNldC9iaW5kaW5nLgotICAgIGludCBkZWZhdWx0VW5pZm9ybUNvdW50ICAgICAgICAg
ICA9IDA7CiAgICAgaW50IGFnZ3JlZ2F0ZVR5cGVzVXNlZEZvclVuaWZvcm1zID0gMDsKICAgICBp
bnQgYXRvbWljQ291bnRlckNvdW50ICAgICAgICAgICAgPSAwOwogICAgIGZvciAoY29uc3QgYXV0
byAmdW5pZm9ybSA6IGdldFVuaWZvcm1zKCkpCiAgICAgewotICAgICAgICBpZiAoIXVuaWZvcm0u
aXNCdWlsdEluKCkgJiYgdW5pZm9ybS5hY3RpdmUgJiYgIWdsOjpJc09wYXF1ZVR5cGUodW5pZm9y
bS50eXBlKSkKLSAgICAgICAgewotICAgICAgICAgICAgKytkZWZhdWx0VW5pZm9ybUNvdW50Owot
ICAgICAgICB9Ci0KICAgICAgICAgaWYgKHVuaWZvcm0uaXNTdHJ1Y3QoKSB8fCB1bmlmb3JtLmlz
QXJyYXlPZkFycmF5cygpKQogICAgICAgICB7CiAgICAgICAgICAgICArK2FnZ3JlZ2F0ZVR5cGVz
VXNlZEZvclVuaWZvcm1zOwpAQCAtNzIxLDcgKzcxNSw2IEBAIGJvb2wgVHJhbnNsYXRvck1ldGFs
RGlyZWN0Ojp0cmFuc2xhdGVJbXBsKFRJbmZvU2lua0Jhc2UgJnNpbmssCiAgICAgICAgIHsKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICBkZWZhdWx0VW5pZm9y
bUNvdW50IC09IHJlbW92ZWRVbmlmb3Jtc0NvdW50OwogICAgIH0KIAogICAgIC8vIFJlcGxhY2Ug
YXJyYXkgb2YgYXJyYXkgb2Ygb3BhcXVlIHVuaWZvcm1zIHdpdGggYSBmbGF0dGVuZWQgYXJyYXku
ICBUaGlzIGlzIHJ1biBhZnRlcgpAQCAtOTUwLDYgKzk0Myw3IEBAIGJvb2wgVHJhbnNsYXRvck1l
dGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKFRJbmZvU2lua0Jhc2UgJnNpbmssCiAgICAgICAgICAg
ICAgICAgZ2V0U3ltYm9sVGFibGUoKS5maW5kQnVpbHRJbihJbW11dGFibGVTdHJpbmcoImdsX1Bv
aW50U2l6ZSIpLCBnZXRTaGFkZXJWZXJzaW9uKCkpKTsKICAgICAgICAgICAgIERlY2xhcmVSaWdo
dEJlZm9yZU1haW4oKnJvb3QsICpwb2ludFNpemUpOwogICAgICAgICB9CisKICAgICAgICAgaWYg
KEZpbmRTeW1ib2xOb2RlKHJvb3QsIEJ1aWx0SW5WYXJpYWJsZTo6Z2xfVmVydGV4SW5kZXgoKS0+
bmFtZSgpKSkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFSZXBsYWNlVmFyaWFibGUodGhp
cywgcm9vdCwgQnVpbHRJblZhcmlhYmxlOjpnbF9WZXJ0ZXhJbmRleCgpLCAma2dsX1ZlcnRleElE
TWV0YWwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QvRW1pdE1ldGFsLmNwcAppbmRleCA4ZjlhMTNiZmEyNjFlZGYwODk5M2JjN2M3ZmI1ZGNh
ZjkzYTUwNDlhLi40NjEwZDVjZmM4NjJhYWQ0MDc2NjlkNDZiY2EyNGY0ZmI0MGRjOWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9U
cmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1p
dE1ldGFsLmNwcApAQCAtMTc0MCw2ICsxNzQwLDcgQEAgdm9pZCBHZW5NZXRhbFRyYXZlcnNlcjo6
ZW1pdEZ1bmN0aW9uU2lnbmF0dXJlKGNvbnN0IFRGdW5jdGlvbiAmZnVuYykKICAgICAgICAgY29u
c3QgVFZhcmlhYmxlICZwYXJhbSA9ICpmdW5jLmdldFBhcmFtKGkpOwogICAgICAgICBlbWl0RnVu
Y3Rpb25QYXJhbWV0ZXIoZnVuYywgcGFyYW0pOwogICAgIH0KKwogICAgIGlmIChpc1RyYXZlcnNp
bmdWZXJ0ZXhNYWluKQogICAgIHsKICAgICAgICAgbU91dCA8PCAiIEBAWEZCLUJpbmRpbmdzQEAg
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9JbnRyb2R1Y2VWZXJ0ZXhJbmRleElELmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0
b3JNZXRhbERpcmVjdC9JbnRyb2R1Y2VWZXJ0ZXhJbmRleElELmNwcAppbmRleCBlZmIzYzEyMDRk
ZWQ1YjliZGNjMWFmMTFlODAxMzk5NjVjZjcyOWFmLi42Y2QxOWRhNTYwMzljMzAyOWZlOGIzMzcw
NjFmMTZmNTdhNDViMjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvSW50cm9kdWNlVmVydGV4
SW5kZXhJRC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0ludHJvZHVjZVZlcnRleEluZGV4SUQuY3Bw
CkBAIC0yMywxMiArMjMsMTkgQEAgY29uc3RleHByIGNvbnN0IFRWYXJpYWJsZSBrZ2xfVmVydGV4
SURNZXRhbChCdWlsdEluSWQ6OmdsX1ZlcnRleElELAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdGF0aWNUeXBlOjpHZXQ8RWJ0VUludCwgRWJwSGlnaCwgRXZx
VmVydGV4SUQsIDEsIDE+KCkpOwogCiBjb25zdGV4cHIgY29uc3QgVFZhcmlhYmxlIGtnbF9pbnN0
YW5jZUlkTWV0YWwoCi0gICAgQnVpbHRJbklkOjpnbF9WZXJ0ZXhJRCwKKyAgICBCdWlsdEluSWQ6
OmdsX0luc3RhbmNlSUQsCiAgICAgSW1tdXRhYmxlU3RyaW5nKCJpbnN0YW5jZUlkTW9kIiksCiAg
ICAgU3ltYm9sVHlwZTo6QW5nbGVJbnRlcm5hbCwKICAgICBURXh0ZW5zaW9uOjpVTkRFRklORUQs
CiAgICAgU3RhdGljVHlwZTo6R2V0PEVidFVJbnQsIEVicEhpZ2gsIEV2cUluc3RhbmNlSUQsIDEs
IDE+KCkpOwogCitjb25zdGV4cHIgY29uc3QgVFZhcmlhYmxlIGtnbF9iYXNlSW5zdGFuY2VNZXRh
bCgKKyAgICBCdWlsdEluSWQ6OmdsX0Jhc2VJbnN0YW5jZSwKKyAgICBJbW11dGFibGVTdHJpbmco
ImJhc2VJbnN0YW5jZSIpLAorICAgIFN5bWJvbFR5cGU6OkFuZ2xlSW50ZXJuYWwsCisgICAgVEV4
dGVuc2lvbjo6VU5ERUZJTkVELAorICAgIFN0YXRpY1R5cGU6OkdldDxFYnRVSW50LCBFYnBIaWdo
LCBFdnFJbnN0YW5jZUlELCAxLCAxPigpKTsKKwogY2xhc3MgUmV3cml0ZXIgOiBwdWJsaWMgVElu
dGVybVJlYnVpbGQKIHsKICAgcHVibGljOgpAQCAtNjAsNyArNjcsOSBAQCBjbGFzcyBSZXdyaXRl
ciA6IHB1YmxpYyBUSW50ZXJtUmVidWlsZAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYg
KG5lZWRzSW5zdGFuY2VJZCkKICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBFbnN1
cmUgdGhlc2UgdmFyaWFibGVzIGFyZSBwcmVzZW50IGJlY2F1c2UgdGhleSBhcmUgcmVxdWlyZWQg
Zm9yIFhGQiBlbXVsYXRpb24uCiAgICAgICAgICAgICAgICAgbVZhcmlhYmxlc1RvSW50cm9kdWNl
LnB1c2hfYmFjaygma2dsX2luc3RhbmNlSWRNZXRhbCk7CisgICAgICAgICAgICAgICAgbVZhcmlh
Ymxlc1RvSW50cm9kdWNlLnB1c2hfYmFjaygma2dsX2Jhc2VJbnN0YW5jZU1ldGFsKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChuZWVkc1ZlcnRleElkKQogICAgICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvZ2xzbGFuZy55IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvZ2xzbGFuZy55CmluZGV4IDhjN2YwMjcwOWQ5NTMyMjc4ZjE4MzFjNWQwODM3MDY3NmU5
YzRlZWEuLmVjMzg0ODRiZTAxOGI4ZmIyNDU3YWJmZmRlNWY1M2JmYzM5NDY0YjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xh
bmcueQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9nbHNsYW5nLnkKQEAgLTM5LDYgKzM5LDcgQEAgV0hJQ0ggR0VORVJBVEVTIFRIRSBHTFNMIEVT
IFBBUlNFUiAoZ2xzbGFuZ190YWJfYXV0b2dlbi5jcHAgQU5EIGdsc2xhbmdfdGFiX2F1dG8KICNl
bmRpZgogI2lmIGRlZmluZWQoX19jbGFuZ19fKQogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgIi1XdW5yZWFjaGFibGUtY29kZSIKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIgogI2VuZGlmCiAKICNpbmNsdWRlICJhbmds
ZV9nbC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dlbi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2VuLmNwcAppbmRl
eCAyYzU4MGI1YzBhZGU4NDc0ZmVhNWZmOTMxMjViMzFjOTk4MjNjNjExLi5lM2EzZGRiYTA4MmY0
NjI5NDc4YmU0NTA2OGNjN2M1NjAyNzZlN2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2VuLmNwcAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNs
YW5nX3RhYl9hdXRvZ2VuLmNwcApAQCAtOTIsNiArOTIsNyBAQAogI2VuZGlmCiAjaWYgZGVmaW5l
ZChfX2NsYW5nX18pCiAjICAgIHByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5y
ZWFjaGFibGUtY29kZSIKKyMgICAgcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1
bnVzZWQtYnV0LXNldC12YXJpYWJsZSIKICNlbmRpZgogCiAjaW5jbHVkZSAiR0xTTEFORy9TaGFk
ZXJMYW5nLmgiCkBAIC03NDcsMjcgKzc0OCwyNyBAQCBzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQ4
IHl5dHJhbnNsYXRlW10gPSB7CiAjaWYgWVlERUJVRwogLyogWVlSTElORVtZWU5dIC0tIFNvdXJj
ZSBsaW5lIHdoZXJlIHJ1bGUgbnVtYmVyIFlZTiB3YXMgZGVmaW5lZC4gICovCiBzdGF0aWMgY29u
c3QgeXl0eXBlX3VpbnQxNiB5eXJsaW5lW10gPSB7Ci0gICAgMCwgICAgMjU3LCAgMjU3LCAgMjU4
LCAgMjYxLCAgMjY4LCAgMjcxLCAgMjc2LCAgMjgxLCAgMjg2LCAgMjkxLCAgMzAwLCAgMzA2LCAg
MzA5LCAgMzEyLCAgMzE1LAotICAgIDMxOCwgIDMyMSwgIDMyNywgIDMzNCwgIDM0MCwgIDM0Mywg
IDM1MSwgIDM1NCwgIDM2MCwgIDM2MywgIDM2OSwgIDM3MywgIDM4MCwgIDM4OCwgIDM5MSwgIDM5
NCwKLSAgICA0MDAsICA0MDMsICA0MDYsICA0MDksICA0MTYsICA0MTcsICA0MTgsICA0MTksICA0
MjcsICA0MjgsICA0MzEsICA0MzQsICA0NDEsICA0NDIsICA0NDUsICA0NTEsCi0gICAgNDUyLCAg
NDU2LCAgNDYzLCAgNDY0LCAgNDY3LCAgNDcwLCAgNDczLCAgNDc5LCAgNDgwLCAgNDgzLCAgNDg5
LCAgNDkwLCAgNDk3LCAgNDk4LCAgNTA1LCAgNTA2LAotICAgIDUxMywgIDUxNCwgIDUyMCwgIDUy
MSwgIDUyNywgIDUyOCwgIDUzNCwgIDUzNSwgIDU0MSwgIDU0MiwgIDU0OCwgIDU0OSwgIDU1MCwg
IDU1MSwgIDU1NSwgIDU1NiwKLSAgICA1NTcsICA1NjEsICA1NjUsICA1NjksICA1NzMsICA1ODAs
ICA1ODMsICA1ODksICA1OTYsICA2MDMsICA2MDYsICA2MDksICA2MTMsICA2MTcsICA2MjEsICA2
MjUsCi0gICAgNjI5LCAgNjM2LCAgNjQzLCAgNjQ2LCAgNjUzLCAgNjY2LCAgNjg5LCAgNjk5LCAg
NzAyLCAgNzA4LCAgNzEyLCAgNzE2LCAgNzIwLCAgNzI3LCAgNzM0LCAgNzM3LAotICAgIDc0MSwg
IDc0NSwgIDc1MCwgIDc1NywgIDc2MSwgIDc2NSwgIDc2OSwgIDc3NCwgIDc4MSwgIDc4NSwgIDc5
MSwgIDc5NCwgIDc5NywgIDgwNywgIDgxMSwgIDgxOCwKLSAgICA4MjQsICA4MzAsICA4MzQsICA4
MzgsICA4NDEsICA4NDQsICA4NDgsICA4NTYsICA4NjEsICA4NjUsICA4NjgsICA4NzEsICA4NzQs
ICA4NzcsICA4ODEsICA4ODksCi0gICAgODkyLCAgODk2LCAgODk5LCAgOTAyLCAgOTA1LCAgOTA4
LCAgOTExLCAgOTE1LCAgOTIyLCAgOTI5LCAgOTMyLCAgOTM1LCAgOTQxLCAgOTQ4LCAgOTUxLCAg
OTU3LAotICAgIDk2MCwgIDk2MywgIDk2NiwgIDk3MiwgIDk3NSwgIDk4MiwgIDk4NywgIDk5NCwg
IDk5OSwgIDEwMTAsIDEwMTMsIDEwMTYsIDEwMTksIDEwMjIsIDEwMjUsIDEwMjksCi0gICAgMTAz
MywgMTAzNywgMTA0MSwgMTA0NSwgMTA0OSwgMTA1MywgMTA1NywgMTA2MSwgMTA2NSwgMTA2OSwg
MTA3MywgMTA3NywgMTA4MSwgMTA4NSwgMTA4OSwgMTA5MywKLSAgICAxMDk3LCAxMTAxLCAxMTA1
LCAxMTA5LCAxMTE2LCAxMTE5LCAxMTIyLCAxMTI1LCAxMTI4LCAxMTMxLCAxMTM0LCAxMTQyLCAx
MTUwLCAxMTYwLCAxMTYzLCAxMTY2LAotICAgIDExNjksIDExNzIsIDExNzUsIDExNzgsIDExODYs
IDExOTQsIDEyMDQsIDEyMDcsIDEyMTAsIDEyMTMsIDEyMTYsIDEyMTksIDEyMjIsIDEyMzAsIDEy
MzgsIDEyNDgsCi0gICAgMTI1MSwgMTI1NCwgMTI1NywgMTI2NSwgMTI3MywgMTI4MCwgMTI5MCwg
MTI5NywgMTMwNCwgMTMwNywgMTMxMCwgMTMxMywgMTMxNiwgMTMxOSwgMTMyMiwgMTMyNSwKLSAg
ICAxMzI4LCAxMzMxLCAxMzM0LCAxMzM3LCAxMzQwLCAxMzQ4LCAxMzU2LCAxMzY0LCAxMzcyLCAx
MzgwLCAxMzg4LCAxMzk4LCAxNDA4LCAxNDE4LCAxNDIxLCAxNDI0LAotICAgIDE0MzIsIDE0MzIs
IDE0MzUsIDE0MzUsIDE0NDEsIDE0NDQsIDE0NTAsIDE0NTMsIDE0NjAsIDE0NjQsIDE0NzAsIDE0
NzMsIDE0NzksIDE0ODMsIDE0ODcsIDE0ODgsCi0gICAgMTQ5NCwgMTQ5NSwgMTQ5NiwgMTQ5Nywg
MTQ5OCwgMTQ5OSwgMTUwMCwgMTUwNCwgMTUwOCwgMTUwOCwgMTUwOCwgMTUxNSwgMTUxNiwgMTUy
MCwgMTUyMCwgMTUyMSwKLSAgICAxNTIxLCAxNTI2LCAxNTMwLCAxNTM3LCAxNTQxLCAxNTQ4LCAx
NTQ5LCAxNTUzLCAxNTU5LCAxNTYzLCAxNTcyLCAxNTcyLCAxNTc5LCAxNTgyLCAxNTg4LCAxNTky
LAotICAgIDE1OTgsIDE1OTgsIDE2MDMsIDE2MDMsIDE2MDcsIDE2MDcsIDE2MTUsIDE2MTgsIDE2
MjQsIDE2MjcsIDE2MzMsIDE2MzcsIDE2NDQsIDE2NDcsIDE2NTAsIDE2NTMsCi0gICAgMTY1Niwg
MTY2NCwgMTY3MCwgMTY3NiwgMTY3OSwgMTY4NSwgMTY4NX07CisgICAgMCwgICAgMjU4LCAgMjU4
LCAgMjU5LCAgMjYyLCAgMjY5LCAgMjcyLCAgMjc3LCAgMjgyLCAgMjg3LCAgMjkyLCAgMzAxLCAg
MzA3LCAgMzEwLCAgMzEzLCAgMzE2LAorICAgIDMxOSwgIDMyMiwgIDMyOCwgIDMzNSwgIDM0MSwg
IDM0NCwgIDM1MiwgIDM1NSwgIDM2MSwgIDM2NCwgIDM3MCwgIDM3NCwgIDM4MSwgIDM4OSwgIDM5
MiwgIDM5NSwKKyAgICA0MDEsICA0MDQsICA0MDcsICA0MTAsICA0MTcsICA0MTgsICA0MTksICA0
MjAsICA0MjgsICA0MjksICA0MzIsICA0MzUsICA0NDIsICA0NDMsICA0NDYsICA0NTIsCisgICAg
NDUzLCAgNDU3LCAgNDY0LCAgNDY1LCAgNDY4LCAgNDcxLCAgNDc0LCAgNDgwLCAgNDgxLCAgNDg0
LCAgNDkwLCAgNDkxLCAgNDk4LCAgNDk5LCAgNTA2LCAgNTA3LAorICAgIDUxNCwgIDUxNSwgIDUy
MSwgIDUyMiwgIDUyOCwgIDUyOSwgIDUzNSwgIDUzNiwgIDU0MiwgIDU0MywgIDU0OSwgIDU1MCwg
IDU1MSwgIDU1MiwgIDU1NiwgIDU1NywKKyAgICA1NTgsICA1NjIsICA1NjYsICA1NzAsICA1NzQs
ICA1ODEsICA1ODQsICA1OTAsICA1OTcsICA2MDQsICA2MDcsICA2MTAsICA2MTQsICA2MTgsICA2
MjIsICA2MjYsCisgICAgNjMwLCAgNjM3LCAgNjQ0LCAgNjQ3LCAgNjU0LCAgNjY3LCAgNjkwLCAg
NzAwLCAgNzAzLCAgNzA5LCAgNzEzLCAgNzE3LCAgNzIxLCAgNzI4LCAgNzM1LCAgNzM4LAorICAg
IDc0MiwgIDc0NiwgIDc1MSwgIDc1OCwgIDc2MiwgIDc2NiwgIDc3MCwgIDc3NSwgIDc4MiwgIDc4
NiwgIDc5MiwgIDc5NSwgIDc5OCwgIDgwOCwgIDgxMiwgIDgxOSwKKyAgICA4MjUsICA4MzEsICA4
MzUsICA4MzksICA4NDIsICA4NDUsICA4NDksICA4NTcsICA4NjIsICA4NjYsICA4NjksICA4NzIs
ICA4NzUsICA4NzgsICA4ODIsICA4OTAsCisgICAgODkzLCAgODk3LCAgOTAwLCAgOTAzLCAgOTA2
LCAgOTA5LCAgOTEyLCAgOTE2LCAgOTIzLCAgOTMwLCAgOTMzLCAgOTM2LCAgOTQyLCAgOTQ5LCAg
OTUyLCAgOTU4LAorICAgIDk2MSwgIDk2NCwgIDk2NywgIDk3MywgIDk3NiwgIDk4MywgIDk4OCwg
IDk5NSwgIDEwMDAsIDEwMTEsIDEwMTQsIDEwMTcsIDEwMjAsIDEwMjMsIDEwMjYsIDEwMzAsCisg
ICAgMTAzNCwgMTAzOCwgMTA0MiwgMTA0NiwgMTA1MCwgMTA1NCwgMTA1OCwgMTA2MiwgMTA2Niwg
MTA3MCwgMTA3NCwgMTA3OCwgMTA4MiwgMTA4NiwgMTA5MCwgMTA5NCwKKyAgICAxMDk4LCAxMTAy
LCAxMTA2LCAxMTEwLCAxMTE3LCAxMTIwLCAxMTIzLCAxMTI2LCAxMTI5LCAxMTMyLCAxMTM1LCAx
MTQzLCAxMTUxLCAxMTYxLCAxMTY0LCAxMTY3LAorICAgIDExNzAsIDExNzMsIDExNzYsIDExNzks
IDExODcsIDExOTUsIDEyMDUsIDEyMDgsIDEyMTEsIDEyMTQsIDEyMTcsIDEyMjAsIDEyMjMsIDEy
MzEsIDEyMzksIDEyNDksCisgICAgMTI1MiwgMTI1NSwgMTI1OCwgMTI2NiwgMTI3NCwgMTI4MSwg
MTI5MSwgMTI5OCwgMTMwNSwgMTMwOCwgMTMxMSwgMTMxNCwgMTMxNywgMTMyMCwgMTMyMywgMTMy
NiwKKyAgICAxMzI5LCAxMzMyLCAxMzM1LCAxMzM4LCAxMzQxLCAxMzQ5LCAxMzU3LCAxMzY1LCAx
MzczLCAxMzgxLCAxMzg5LCAxMzk5LCAxNDA5LCAxNDE5LCAxNDIyLCAxNDI1LAorICAgIDE0MzMs
IDE0MzMsIDE0MzYsIDE0MzYsIDE0NDIsIDE0NDUsIDE0NTEsIDE0NTQsIDE0NjEsIDE0NjUsIDE0
NzEsIDE0NzQsIDE0ODAsIDE0ODQsIDE0ODgsIDE0ODksCisgICAgMTQ5NSwgMTQ5NiwgMTQ5Nywg
MTQ5OCwgMTQ5OSwgMTUwMCwgMTUwMSwgMTUwNSwgMTUwOSwgMTUwOSwgMTUwOSwgMTUxNiwgMTUx
NywgMTUyMSwgMTUyMSwgMTUyMiwKKyAgICAxNTIyLCAxNTI3LCAxNTMxLCAxNTM4LCAxNTQyLCAx
NTQ5LCAxNTUwLCAxNTU0LCAxNTYwLCAxNTY0LCAxNTczLCAxNTczLCAxNTgwLCAxNTgzLCAxNTg5
LCAxNTkzLAorICAgIDE1OTksIDE1OTksIDE2MDQsIDE2MDQsIDE2MDgsIDE2MDgsIDE2MTYsIDE2
MTksIDE2MjUsIDE2MjgsIDE2MzQsIDE2MzgsIDE2NDUsIDE2NDgsIDE2NTEsIDE2NTQsCisgICAg
MTY1NywgMTY2NSwgMTY3MSwgMTY3NywgMTY4MCwgMTY4NiwgMTY4Nn07CiAjZW5kaWYKIAogI2lm
IFlZREVCVUcgfHwgWVlFUlJPUl9WRVJCT1NFIHx8IDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfdXRpbC9JbnRlcm1UcmF2
ZXJzZS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
dHJlZV91dGlsL0ludGVybVRyYXZlcnNlLmgKaW5kZXggZmZhNmFiZWM3ZGQ5NzQ4NzgxNzc2MTFk
NDRjZjgyOWUyYzQ2MjllZC4uNzFlMjliYzFkODE5OGZhODI4YTM3MWFmZDY1YjI2ZjJlNThjNWQ0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvdHJlZV91dGlsL0ludGVybVRyYXZlcnNlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybVRyYXZlcnNlLmgK
QEAgLTExNCw3ICsxMTQsNyBAQCBjbGFzcyBUSW50ZXJtVHJhdmVyc2VyIDogYW5nbGU6Ok5vbkNv
cHlhYmxlCiAgICAgaW50IGdldEN1cnJlbnRCbG9ja0RlcHRoKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8aW50PihtUGFyZW50QmxvY2tTdGFjay5zaXplKCkpIC0gMTsgfQogCiAgICAgLy8g
UkFJSSBoZWxwZXIgZm9yIGluY3JlbWVudERlcHRoL2RlY3JlbWVudERlcHRoCi0gICAgY2xhc3Mg
U2NvcGVkTm9kZUluVHJhdmVyc2FsUGF0aAorICAgIGNsYXNzIEFOR0xFX05PX0RJU0NBUkQgU2Nv
cGVkTm9kZUluVHJhdmVyc2FsUGF0aAogICAgIHsKICAgICAgIHB1YmxpYzoKICAgICAgICAgU2Nv
cGVkTm9kZUluVHJhdmVyc2FsUGF0aChUSW50ZXJtVHJhdmVyc2VyICp0cmF2ZXJzZXIsIFRJbnRl
cm1Ob2RlICpjdXJyZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2ltYWdlX3V0aWwvbG9hZHRleHR1cmVib3JkZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2ltYWdlX3V0aWwvbG9hZHRleHR1cmVib3JkZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkOWM2MTM1N2RlYTM2OTg5NmRiMGQ1ZTE3OTEzZWVjZWY2ZjFlYzM5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9pbWFnZV91dGlsL2xvYWR0ZXh0dXJlYm9yZGVyLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8vCi0vLyBDb3B5cmlnaHQgMjAyMSBUaGUgQU5HTEUg
UHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQot
Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8vCi0KLS8vIGxvYWR0ZXh0dXJlYm9yZGVy
LmNwcDogRGVmaW5lcyBib3JkZXIgY29sb3IgbG9hZCBmdW5jdGlvbnMuCi0KLSNpbmNsdWRlICJp
bWFnZV91dGlsL2xvYWR0ZXh0dXJlYm9yZGVyLmgiCi0KLW5hbWVzcGFjZSBhbmdsZQotewotCi12
b2lkIExvYWRBOFRvUjgoYW5nbGU6OkNvbG9yRiAmbUJvcmRlckNvbG9yKQotewotICAgIG1Cb3Jk
ZXJDb2xvci5yZWQgICA9IG1Cb3JkZXJDb2xvci5hbHBoYTsKLSAgICBtQm9yZGVyQ29sb3IuYWxw
aGEgPSAwOwotfQotCi12b2lkIExvYWRMQThUb1I4RzgoYW5nbGU6OkNvbG9yRiAmbUJvcmRlckNv
bG9yKQotewotICAgIG1Cb3JkZXJDb2xvci5ncmVlbiA9IG1Cb3JkZXJDb2xvci5hbHBoYTsKLSAg
ICBtQm9yZGVyQ29sb3IuYWxwaGEgPSAwOwotfQotCi12b2lkIExvYWRUb05hdGl2ZShhbmdsZTo6
Q29sb3JGICZtQm9yZGVyQ29sb3IpIHt9Ci0KLX0gIC8vIG5hbWVzcGFjZSBhbmdsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2ltYWdlX3V0aWwvbG9hZHRleHR1cmVi
b3JkZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9pbWFnZV91dGlsL2xvYWR0ZXh0
dXJlYm9yZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ZGVhZWU2YmUzZjBh
MDg0M2FjODY5MTIzZmFiM2I3Y2YxYzA5MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2ltYWdlX3V0aWwv
bG9hZHRleHR1cmVib3JkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8vCi0v
LyBDb3B5cmlnaHQgMjAyMSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt
c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
LS8vCi0KLS8vIGxvYWR0ZXh0dXJlYm9yZGVyLmg6IERlZmluZXMgYm9yZGVyIGNvbG9yIGxvYWQg
ZnVuY3Rpb25zLgotCi0jaWZuZGVmIElNQUdFVVRJTF9MT0FEVEVYVFVSRUJPUkRFUl9IXwotI2Rl
ZmluZSBJTUFHRVVUSUxfTE9BRFRFWFRVUkVCT1JERVJfSF8KLQotI2luY2x1ZGUgPHN0ZGRlZi5o
PgotI2luY2x1ZGUgPHN0ZGludC5oPgotI2luY2x1ZGUgImNvbW1vbi9Db2xvci5oIgotbmFtZXNw
YWNlIGFuZ2xlCi17Ci0KLXZvaWQgTG9hZEE4VG9SOChhbmdsZTo6Q29sb3JGICZtQm9yZGVyQ29s
b3IpOwotCi12b2lkIExvYWRMQThUb1I4RzgoYW5nbGU6OkNvbG9yRiAmbUJvcmRlckNvbG9yKTsK
LQotdm9pZCBMb2FkVG9OYXRpdmUoYW5nbGU6OkNvbG9yRiAmbUJvcmRlckNvbG9yKTsKLQotfSAg
Ly8gbmFtZXNwYWNlIGFuZ2xlCi0KLSNlbmRpZiAgLy8gSU1BR0VVVElMX0xPQURURVhUVVJFQk9S
REVSX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
QnVmZmVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9CdWZmZXIu
Y3BwCmluZGV4IDJlNjU1NWVkYjZkZjJkOGVmNjdmMjc1MDY3MTQ2NGY4ZGYwODBiYTguLmUzMDdk
NjQ1MGQ2ODU3MWEwMzcyYmFiZWZkNzNlOTI4Y2U4ZDVjY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9CdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9CdWZmZXIuY3BwCkBAIC0xMjUsNyArMTI1LDcgQEAg
YW5nbGU6OlJlc3VsdCBCdWZmZXI6OmJ1ZmZlckRhdGFJbXBsKENvbnRleHQgKmNvbnRleHQsCiAg
ICAgLy8gSWYgd2UgYXJlIHVzaW5nIHJvYnVzdCByZXNvdXJjZSBpbml0LCBtYWtlIHN1cmUgdGhl
IGJ1ZmZlciBzdGFydHMgY2xlYXJlZC4KICAgICAvLyBOb3RlOiB0aGUgQ29udGV4dCBpcyBjaGVj
a2VkIGZvciBudWxscHRyIGJlY2F1c2Ugb2Ygc29tZSB0ZXN0aW5nIGNvZGUuCiAgICAgLy8gVE9E
TyhqbWFkaWxsKTogSW52ZXN0aWdhdGUgbGF6aWVyIGNsZWFyaW5nLgotICAgIGlmIChjb250ZXh0
ICYmIGNvbnRleHQtPmdldFN0YXRlKCkuaXNSb2J1c3RSZXNvdXJjZUluaXRFbmFibGVkKCkgJiYg
IWRhdGEgJiYgc2l6ZSA+IDApCisgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC0+aXNSb2J1c3RS
ZXNvdXJjZUluaXRFbmFibGVkKCkgJiYgIWRhdGEgJiYgc2l6ZSA+IDApCiAgICAgewogICAgICAg
ICBhbmdsZTo6TWVtb3J5QnVmZmVyICpzY3JhdGNoQnVmZmVyID0gbnVsbHB0cjsKICAgICAgICAg
QU5HTEVfQ0hFQ0tfR0xfQUxMT0MoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvQ29udGV4dC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvQ29udGV4dC5jcHAKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRl
eCA2ZTZjMGQ0ODAwMmI1MDdiMzBhYjhlMjNkMDQ2MTQ4ZDE2NzMwNjllLi5kMTkyMjBmOWZiNGQx
YmQ0MGU0YWQ3ZjQ0NzQzZDUzMzU2ZjMxMDU5Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvQ29udGV4dC5jcHAKQEAgLTM2MDQsNiArMzYwNCw5IEBAIEV4dGVuc2lvbnMg
Q29udGV4dDo6Z2VuZXJhdGVTdXBwb3J0ZWRFeHRlbnNpb25zKCkgY29uc3QKICAgICAgICAgLy8g
d2hlbiB0aGUgY29udGV4dCB2ZXJzaW9uIGlzIGxvd2VyIHRoYW4gMy4wCiAgICAgICAgIHN1cHBv
cnRlZEV4dGVuc2lvbnMudmVydGV4VHlwZTEwMTAxMDJPRVMgPSBmYWxzZTsKIAorICAgICAgICAv
LyBHTF9FWFRfRUdMX2ltYWdlX3N0b3JhZ2UgcmVxdWlyZXMgRVNTTDMKKyAgICAgICAgc3VwcG9y
dGVkRXh0ZW5zaW9ucy5FR0xJbWFnZVN0b3JhZ2VFWFQgPSBmYWxzZTsKKwogICAgICAgICAvLyBH
TF9FWFRfWVVWX3RhcmdldCByZXF1aXJlcyBFU1NMMwogICAgICAgICBzdXBwb3J0ZWRFeHRlbnNp
b25zLllVVlRhcmdldEVYVCA9IGZhbHNlOwogCkBAIC0zOTgzLDYgKzM5ODYsMTAgQEAgdm9pZCBD
b250ZXh0Ojppbml0Q2FwcygpCiAgICAgICAgIGNvbnN0ZXhwciBHTGludCBtYXhJbWFnZVVuaXRz
ID0gODsKICAgICAgICAgSU5GTygpIDw8ICJMaW1pdGluZyBpbWFnZSB1bml0IGNvdW50IHRvICIg
PDwgbWF4SW1hZ2VVbml0czsKICAgICAgICAgQU5HTEVfTElNSVRfQ0FQKG1TdGF0ZS5tQ2Fwcy5t
YXhJbWFnZVVuaXRzLCBtYXhJbWFnZVVuaXRzKTsKKyAgICAgICAgZm9yIChTaGFkZXJUeXBlIHNo
YWRlclR5cGUgOiBBbGxTaGFkZXJUeXBlcygpKQorICAgICAgICB7CisgICAgICAgICAgICBBTkdM
RV9MSU1JVF9DQVAobVN0YXRlLm1DYXBzLm1heFNoYWRlckltYWdlVW5pZm9ybXNbc2hhZGVyVHlw
ZV0sIG1heEltYWdlVW5pdHMpOworICAgICAgICB9CiAKICAgICAgICAgLy8gU2V0IGEgbGFyZ2Ug
dW5pZm9ybSBidWZmZXIgb2Zmc2V0IGFsaWdubWVudCB0aGF0IHdvcmtzIG9uIG11bHRpcGxlIHBs
YXRmb3Jtcy4KICAgICAgICAgLy8gVGhlIG9mZnNldCB1c2VkIGJ5IHRoZSB0cmFjZSBuZWVkcyB0
byBiZSBkaXZpc2libGUgYnkgdGhlIGRldmljZSdzIGFjdHVhbCB2YWx1ZS4KQEAgLTg5MDIsNyAr
ODkwOSwxMCBAQCB2b2lkIENvbnRleHQ6OmltcG9ydFNlbWFwaG9yZVppcmNvbkhhbmRsZShTZW1h
cGhvcmVJRCBzZW1hcGhvcmUsCiAKIHZvaWQgQ29udGV4dDo6ZUdMSW1hZ2VUYXJnZXRUZXhTdG9y
YWdlKEdMZW51bSB0YXJnZXQsIEdMZWdsSW1hZ2VPRVMgaW1hZ2UsIGNvbnN0IEdMaW50ICphdHRy
aWJfbGlzdCkKIHsKLSAgICByZXR1cm47CisgICAgVGV4dHVyZSAqdGV4dHVyZSAgICAgICAgPSBn
ZXRUZXh0dXJlQnlUeXBlKEZyb21HTGVudW08VGV4dHVyZVR5cGU+KHRhcmdldCkpOworICAgIGVn
bDo6SW1hZ2UgKmltYWdlT2JqZWN0ID0gc3RhdGljX2Nhc3Q8ZWdsOjpJbWFnZSAqPihpbWFnZSk7
CisgICAgQU5HTEVfQ09OVEVYVF9UUlkodGV4dHVyZS0+c2V0U3RvcmFnZUVHTEltYWdlVGFyZ2V0
KHRoaXMsIEZyb21HTGVudW08VGV4dHVyZVR5cGU+KHRhcmdldCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlT2JqZWN0LCBhdHRy
aWJfbGlzdCkpOwogfQogCiB2b2lkIENvbnRleHQ6OmVHTEltYWdlVGFyZ2V0VGV4dHVyZVN0b3Jh
Z2UoR0x1aW50IHRleHR1cmUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvQ29udGV4dC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL0NvbnRleHQuaAppbmRleCAyYTU3MDJlODM4ZjQ0ZjExODkzMWVkZjNiYmE0NzA4NDc3MWIy
ZGYyLi40MmNmZGU3YzAzODA0ZGZjZWUyYTZmNzU2MTAxNzFjZjI5ZTU2NDMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9Db250ZXh0LmgKQEAgLTgzMiw3ICs4
MzIsNyBAQCBjbGFzcyBDb250ZXh0IGZpbmFsIDogcHVibGljIGVnbDo6TGFiZWxlZE9iamVjdCwg
YW5nbGU6Ok5vbkNvcHlhYmxlLCBwdWJsaWMgYW5nbAogICAgIGJvb2wgbUlzRGVzdHJveWVkOwog
fTsKIAotY2xhc3MgU2NvcGVkQ29udGV4dFJlZgorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29w
ZWRDb250ZXh0UmVmCiB7CiAgIHB1YmxpYzoKICAgICBTY29wZWRDb250ZXh0UmVmKENvbnRleHQg
KmNvbnRleHQpIDogbUNvbnRleHQoY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9EaXNwbGF5LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9EaXNwbGF5LmNwcAppbmRleCA4MGY0ZWUwOTliMWMwNzlmYmFlYzc5
ODlhZTMzNDkyMTM2MjkwOWExLi5iZDJiZDU5ZDc3OWY5YWNjN2VmNTEyMDdlN2U0NmI5Zjk5Yzg5
ODBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRGlz
cGxheS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Rpc3Bs
YXkuY3BwCkBAIC0xNjkyLDYgKzE2OTIsMTIgQEAgRXJyb3IgRGlzcGxheTo6ZGVzdHJveUNvbnRl
eHQoVGhyZWFkICp0aHJlYWQsIGdsOjpDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAvLyBLZWVw
IHxjdXJyZW50Q29udGV4dHwgYWxpdmUsIHdoaWxlIHJlbGVhc2luZyB8Y29udGV4dHwuCiAgICAg
ICAgIGdsOjpTY29wZWRDb250ZXh0UmVmIHNjb3BlZENvbnRleHRSZWYoY3VycmVudENvbnRleHQp
OwogCisgICAgICAgIC8vIGtlZXAgfGN1cnJlbnREcmF3U3VyZmFjZXwgYW5kIHxjdXJyZW50UmVh
ZFN1cmZhY2V8IGFsaXZlIGFzIHdlbGwKKyAgICAgICAgLy8gd2hpbGUgcmVsZWFzaW5nIHxjb250
ZXh0fC4KKyAgICAgICAgU2NvcGVkU3VyZmFjZVJlZiBkcmF3U3VyZmFjZVJlZihjdXJyZW50RHJh
d1N1cmZhY2UpOworICAgICAgICBTY29wZWRTdXJmYWNlUmVmIHJlYWRTdXJmYWNlUmVmKAorICAg
ICAgICAgICAgY3VycmVudFJlYWRTdXJmYWNlID09IGN1cnJlbnREcmF3U3VyZmFjZSA/IG51bGxw
dHIgOiBjdXJyZW50UmVhZFN1cmZhY2UpOworCiAgICAgICAgIC8vIE1ha2UgdGhlIGNvbnRleHQg
Y3VycmVudCwgc28gd2UgY2FuIHJlbGVhc2UgcmVzb3VyY2VzIGJlbG9uZyB0byB0aGUgY29udGV4
dCwgYW5kIHRoZW4KICAgICAgICAgLy8gd2hlbiBjb250ZXh0IGlzIHJlbGVhc2VkIGZyb20gdGhl
IGN1cnJlbnQsIGl0IHdpbGwgYmUgZGVzdHJveWVkLgogICAgICAgICAvLyBUT0RPKGh0dHA6Ly93
d3cuYW5nbGVidWcuY29tLzYzMjIpOiBEb24ndCByZXF1aXJlIGEgQ29udGV4dCB0byBiZSBjdXJy
ZW50IGluIG9yZGVyIHRvCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvRXJyb3JTdHJpbmdzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvRXJyb3JTdHJpbmdzLmgKaW5kZXggMGZjZTJkMWEzMTUwMTM5ZjhlNWE4NmVkNGMzYmQ0
YjA3YWFiNzVjYy4uMTZhZjAzMDYwN2E4YzAxMDg4NTAzZTlkODYzNGQ0Y2ZmMmUwMjU5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Vycm9yU3RyaW5n
cy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9FcnJvclN0cmlu
Z3MuaApAQCAtMjEsNiArMjEsNyBAQCBNU0cga0FOR0xFQ29weVRleHR1cmUzRFVuYXZhaWxhYmxl
ID0gIkdMX0FOR0xFX2NvcHlfdGV4dHVyZV8zZCBleHRlbnNpb24gbm90IGF2YQogTVNHIGtBZHZh
bmNlZEJsZW5kRXF1YXRpb25XaXRoTVJUID0gIkFkdmFuY2VkIGJsZW5kIGVxdWF0aW9uIG9ubHkg
Y2FuIGJlIHVzZWQgd2hlbiBvbmx5IG9uZSBkcmF3IGJ1ZmZlciBpcyBub3QgTk9ORSI7CiBNU0cg
a0FkdmFuY2VkQmxlbmRFeHRlbnNpb25Ob3RFbmFibGVkID0gIkdMX0tIUl9ibGVuZF9lcXVhdGlv
bl9hZHZhbmNlZCBleHRlbnNpb24gbm90IGVuYWJsZWQuIjsKIE1TRyBrQXRvbWljQ291bnRlclJl
c291cmNlTmFtZSA9ICJBY3RpdmUgYXRvbWljIGNvdW50ZXIgcmVzb3VyY2VzIGFyZSBub3QgYXNz
aWduZWQgbmFtZSBzdHJpbmdzLiI7CitNU0cga0F0dHJpYnV0ZUxpc3ROb3ROdWxsID0gIkF0dHJp
YnV0ZSBsaXN0IG11c3QgYmUgTlVMTCBvciBHTF9OT05FIjsKIE1TRyBrQXR0cmlidXRlWmVyb1Jl
cXVpcmVzRGl2aXNvckxpbWl0YXRpb24gPSAiVGhlIGN1cnJlbnQgY29udGV4dCBkb2Vzbid0IHN1
cHBvcnQgc2V0dGluZyBhIG5vbi16ZXJvIGRpdmlzb3Igb24gdGhlIGF0dHJpYnV0ZSB3aXRoIGlu
ZGV4IHplcm8uIFBsZWFzZSByZW9yZGVyIHRoZSBhdHRyaWJ1dGVzIGluIHlvdXIgdmVydGV4IHNo
YWRlciBzbyB0aGF0IGF0dHJpYnV0ZSB6ZXJvIGNhbiBoYXZlIGEgemVybyBkaXZpc29yLiI7CiBN
U0cga0Jhc2VMZXZlbE5lZ2F0aXZlID0gIkJhc2UgbGV2ZWwgbXVzdCBiZSBhdCBsZWFzdCAwLiI7
CiBNU0cga0Jhc2VMZXZlbE5vblplcm8gPSAiQmFzZSBsZXZlbCBtdXN0IGJlIDAuIjsKQEAgLTEw
Myw2ICsxMDQsNyBAQCBNU0cga0RyYXdJbmRpcmVjdEJ1ZmZlck5vdEJvdW5kID0gIkRyYXcgaW5k
aXJlY3QgYnVmZmVyIG11c3QgYmUgYm91bmQuIjsKIE1TRyBrRUdMSW1hZ2VDYW5ub3RDcmVhdGUy
RE11bHRpc2FtcGxlZCA9ICJDYW5ub3QgY3JlYXRlIGEgMkQgdGV4dHVyZSBmcm9tIGEgbXVsdGlz
YW1wbGVkIEVHTCBpbWFnZS4iOwogTVNHIGtFR0xJbWFnZVJlbmRlcmJ1ZmZlckZvcm1hdE5vdFN1
cHBvcnRlZCA9ICJFR0wgaW1hZ2UgaW50ZXJuYWwgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQgYXMg
YSByZW5kZXJidWZmZXIuIjsKIE1TRyBrRUdMSW1hZ2VUZXh0dXJlRm9ybWF0Tm90U3VwcG9ydGVk
ID0gIkVHTCBpbWFnZSBpbnRlcm5hbCBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCBhcyBhIHRleHR1
cmUuIjsKK01TRyBrRUdMSW1hZ2VUZXh0dXJlVGFyZ2V0TWlzbWF0Y2ggPSAiVGhlIHNvdXJjZSBF
R0wgaW1hZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIHRhcmdldCB0ZXh0dXJlIHR5cGUuIjsK
IE1TRyBrRWxlbWVudEFycmF5QnVmZmVyQm91bmRGb3JUcmFuc2Zvcm1GZWVkYmFjayA9ICJJdCBp
cyB1bmRlZmluZWQgYmVoYXZpb3IgdG8gdXNlIGFuIGVsZW1lbnQgYXJyYXkgYnVmZmVyIHRoYXQg
aXMgYm91bmQgZm9yIHRyYW5zZm9ybSBmZWVkYmFjay4iOwogTVNHIGtFbGVtZW50QXJyYXlOb0J1
ZmZlck9yUG9pbnRlciA9ICJObyBlbGVtZW50IGFycmF5IGJ1ZmZlciBhbmQgbm8gcG9pbnRlci4i
OwogTVNHIGtFbnVtTm90U3VwcG9ydGVkID0gIkVudW0gaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0
ZWQuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9J
bWFnZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuY3Bw
CmluZGV4IGY3YmQyZmU2OWFmMWJiOGZkY2MyNzg2ZWQwN2JhNzlmYWY0MDQxNTEuLjk5NWNiNDFl
NDBjNTVmN2RhNjRlNTQ5NmUwNGUzNWZjYmI1NTI4NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9JbWFnZS5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL0ltYWdlLmNwcApAQCAtMTk0LDYgKzE5NCwxMSBAQCBHTHNp
emVpIEV4dGVybmFsSW1hZ2VTaWJsaW5nOjpnZXRBdHRhY2htZW50U2FtcGxlcyhjb25zdCBnbDo6
SW1hZ2VJbmRleCAmaW1hZ2VJbgogICAgIHJldHVybiBzdGF0aWNfY2FzdDxHTHNpemVpPihtSW1w
bGVtZW50YXRpb24tPmdldFNhbXBsZXMoKSk7CiB9CiAKK0dMdWludCBFeHRlcm5hbEltYWdlU2li
bGluZzo6Z2V0TGV2ZWxDb3VudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEdM
dWludD4obUltcGxlbWVudGF0aW9uLT5nZXRMZXZlbENvdW50KCkpOworfQorCiBib29sIEV4dGVy
bmFsSW1hZ2VTaWJsaW5nOjppc1JlbmRlcmFibGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGJpbmRpbmcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdl
SW5kZXggJmltYWdlSW5kZXgpIGNvbnN0CkBAIC0yMTEsNiArMjE2LDExIEBAIGJvb2wgRXh0ZXJu
YWxJbWFnZVNpYmxpbmc6OmlzWVVWKCkgY29uc3QKICAgICByZXR1cm4gbUltcGxlbWVudGF0aW9u
LT5pc1lVVigpOwogfQogCitib29sIEV4dGVybmFsSW1hZ2VTaWJsaW5nOjppc0N1YmVNYXAoKSBj
b25zdAoreworICAgIHJldHVybiBtSW1wbGVtZW50YXRpb24tPmlzQ3ViZU1hcCgpOworfQorCiBi
b29sIEV4dGVybmFsSW1hZ2VTaWJsaW5nOjpoYXNQcm90ZWN0ZWRDb250ZW50KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbUltcGxlbWVudGF0aW9uLT5oYXNQcm90ZWN0ZWRDb250ZW50KCk7CkBAIC0y
NTgsOCArMjY4LDEwIEBAIEltYWdlU3RhdGU6OkltYWdlU3RhdGUoRUdMZW51bSB0YXJnZXQsIElt
YWdlU2libGluZyAqYnVmZmVyLCBjb25zdCBBdHRyaWJ1dGVNYXAKICAgICAgIHRhcmdldHMoKSwK
ICAgICAgIGZvcm1hdChHTF9OT05FKSwKICAgICAgIHl1dihmYWxzZSksCisgICAgICBjdWJlTWFw
KGZhbHNlKSwKICAgICAgIHNpemUoKSwKICAgICAgIHNhbXBsZXMoKSwKKyAgICAgIGxldmVsQ291
bnQoMSksCiAgICAgICBzb3VyY2VUeXBlKHRhcmdldCksCiAgICAgICBjb2xvcnNwYWNlKAogICAg
ICAgICAgIHN0YXRpY19jYXN0PEVHTGVudW0+KGF0dHJpYnMuZ2V0KEVHTF9HTF9DT0xPUlNQQUNF
LCBFR0xfR0xfQ09MT1JTUEFDRV9ERUZBVUxUX0VYVCkpKSwKQEAgLTQwOCw2ICs0MjAsMTEgQEAg
Ym9vbCBJbWFnZTo6aXNZVVYoKSBjb25zdAogICAgIHJldHVybiBtU3RhdGUueXV2OwogfQogCiti
b29sIEltYWdlOjppc0N1YmVNYXAoKSBjb25zdAoreworICAgIHJldHVybiBtU3RhdGUuY3ViZU1h
cDsKK30KKwogc2l6ZV90IEltYWdlOjpnZXRXaWR0aCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1T
dGF0ZS5zaXplLndpZHRoOwpAQCAtNDE4LDYgKzQzNSwxMSBAQCBzaXplX3QgSW1hZ2U6OmdldEhl
aWdodCgpIGNvbnN0CiAgICAgcmV0dXJuIG1TdGF0ZS5zaXplLmhlaWdodDsKIH0KIAorY29uc3Qg
Z2w6OkV4dGVudHMgJkltYWdlOjpnZXRFeHRlbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbVN0
YXRlLnNpemU7Cit9CisKIGJvb2wgSW1hZ2U6OmlzTGF5ZXJlZCgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1TdGF0ZS5pbWFnZUluZGV4LmlzTGF5ZXJlZCgpOwpAQCAtNDI4LDYgKzQ1MCwxMSBAQCBz
aXplX3QgSW1hZ2U6OmdldFNhbXBsZXMoKSBjb25zdAogICAgIHJldHVybiBtU3RhdGUuc2FtcGxl
czsKIH0KIAorR0x1aW50IEltYWdlOjpnZXRMZXZlbENvdW50KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbVN0YXRlLmxldmVsQ291bnQ7Cit9CisKIGJvb2wgSW1hZ2U6Omhhc1Byb3RlY3RlZENvbnRl
bnQoKSBjb25zdAogewogICAgIHJldHVybiBtU3RhdGUuaGFzUHJvdGVjdGVkQ29udGVudDsKQEAg
LTQ0Niw3ICs0NzMsOCBAQCBFcnJvciBJbWFnZTo6aW5pdGlhbGl6ZShjb25zdCBEaXNwbGF5ICpk
aXNwbGF5KQogICAgICAgICBBTkdMRV9UUlkoZXh0ZXJuYWxTaWJsaW5nLT5pbml0aWFsaXplKGRp
c3BsYXkpKTsKIAogICAgICAgICBtU3RhdGUuaGFzUHJvdGVjdGVkQ29udGVudCA9IGV4dGVybmFs
U2libGluZy0+aGFzUHJvdGVjdGVkQ29udGVudCgpOwotCisgICAgICAgIG1TdGF0ZS5sZXZlbENv
dW50ICAgICAgICAgID0gZXh0ZXJuYWxTaWJsaW5nLT5nZXRMZXZlbENvdW50KCk7CisgICAgICAg
IG1TdGF0ZS5jdWJlTWFwICAgICAgICAgICAgID0gZXh0ZXJuYWxTaWJsaW5nLT5pc0N1YmVNYXAo
KTsKICAgICAgICAgLy8gT25seSBleHRlcm5hbCBzaWJsaW5ncyBjYW4gYmUgWVVWCiAgICAgICAg
IG1TdGF0ZS55dXYgPSBleHRlcm5hbFNpYmxpbmctPmlzWVVWKCk7CiAgICAgfQpAQCAtNDY3LDYg
KzQ5NSwxMSBAQCBFcnJvciBJbWFnZTo6aW5pdGlhbGl6ZShjb25zdCBEaXNwbGF5ICpkaXNwbGF5
KQogICAgIG1TdGF0ZS5zaXplICAgID0gbVN0YXRlLnNvdXJjZS0+Z2V0QXR0YWNobWVudFNpemUo
bVN0YXRlLmltYWdlSW5kZXgpOwogICAgIG1TdGF0ZS5zYW1wbGVzID0gbVN0YXRlLnNvdXJjZS0+
Z2V0QXR0YWNobWVudFNhbXBsZXMobVN0YXRlLmltYWdlSW5kZXgpOwogCisgICAgaWYgKElzVGV4
dHVyZVRhcmdldChtU3RhdGUuc291cmNlVHlwZSkpCisgICAgeworICAgICAgICBtU3RhdGUuc2l6
ZS5kZXB0aCA9IDE7CisgICAgfQorCiAgICAgcmV0dXJuIG1JbXBsZW1lbnRhdGlvbi0+aW5pdGlh
bGl6ZShkaXNwbGF5KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL0ltYWdlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvSW1hZ2UuaAppbmRleCA2Y2EyOGNhMjQ4ZmU2N2ZmY2JhM2E2NTcwNmFlZDYzZDg0YjEwNDcw
Li5iMGFhOGVhN2YyODNmMDU4ZmRjOWY2NTgyYzMyZDQ0ZGEyNmQ3ODY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvSW1hZ2UuaApAQCAtOTYsMTEgKzk2LDEzIEBA
IGNsYXNzIEV4dGVybmFsSW1hZ2VTaWJsaW5nIDogcHVibGljIEltYWdlU2libGluZwogICAgIGds
OjpFeHRlbnRzIGdldEF0dGFjaG1lbnRTaXplKGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbWFnZUlu
ZGV4KSBjb25zdCBvdmVycmlkZTsKICAgICBnbDo6Rm9ybWF0IGdldEF0dGFjaG1lbnRGb3JtYXQo
R0xlbnVtIGJpbmRpbmcsIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbWFnZUluZGV4KSBjb25zdCBv
dmVycmlkZTsKICAgICBHTHNpemVpIGdldEF0dGFjaG1lbnRTYW1wbGVzKGNvbnN0IGdsOjpJbWFn
ZUluZGV4ICZpbWFnZUluZGV4KSBjb25zdCBvdmVycmlkZTsKKyAgICBHTHVpbnQgZ2V0TGV2ZWxD
b3VudCgpIGNvbnN0OwogICAgIGJvb2wgaXNSZW5kZXJhYmxlKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBiaW5kaW5nLAogICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbWFnZUluZGV4KSBjb25zdCBvdmVy
cmlkZTsKICAgICBib29sIGlzVGV4dHVyZWFibGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQp
IGNvbnN0OwogICAgIGJvb2wgaXNZVVYoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQ3Vi
ZU1hcCgpIGNvbnN0OwogICAgIGJvb2wgaGFzUHJvdGVjdGVkQ29udGVudCgpIGNvbnN0IG92ZXJy
aWRlOwogCiAgICAgdm9pZCBvbkF0dGFjaChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgcng6
OlNlcmlhbCBmcmFtZWJ1ZmZlclNlcmlhbCkgb3ZlcnJpZGU7CkBAIC0xMzYsOCArMTM4LDEwIEBA
IHN0cnVjdCBJbWFnZVN0YXRlIDogcHJpdmF0ZSBhbmdsZTo6Tm9uQ29weWFibGUKIAogICAgIGds
OjpGb3JtYXQgZm9ybWF0OwogICAgIGJvb2wgeXV2OworICAgIGJvb2wgY3ViZU1hcDsKICAgICBn
bDo6RXh0ZW50cyBzaXplOwogICAgIHNpemVfdCBzYW1wbGVzOworICAgIEdMdWludCBsZXZlbENv
dW50OwogICAgIEVHTGVudW0gc291cmNlVHlwZTsKICAgICBFR0xlbnVtIGNvbG9yc3BhY2U7CiAg
ICAgYm9vbCBoYXNQcm90ZWN0ZWRDb250ZW50OwpAQCAtMTYyLDEwICsxNjYsMTQgQEAgY2xhc3Mg
SW1hZ2UgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRPYmplY3QsIHB1YmxpYyBMYWJlbGVkT2JqZWN0
CiAgICAgYm9vbCBpc1JlbmRlcmFibGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0
OwogICAgIGJvb2wgaXNUZXh0dXJhYmxlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KSBjb25z
dDsKICAgICBib29sIGlzWVVWKCkgY29uc3Q7CisgICAgLy8gUmV0dXJucyB0cnVlIG9ubHkgaWYg
dGhlIGVnbEltYWdlIGNvbnRhaW5zIGEgY29tcGxldGUgY3ViZW1hcAorICAgIGJvb2wgaXNDdWJl
TWFwKCkgY29uc3Q7CiAgICAgc2l6ZV90IGdldFdpZHRoKCkgY29uc3Q7CiAgICAgc2l6ZV90IGdl
dEhlaWdodCgpIGNvbnN0OworICAgIGNvbnN0IGdsOjpFeHRlbnRzICZnZXRFeHRlbnRzKCkgY29u
c3Q7CiAgICAgYm9vbCBpc0xheWVyZWQoKSBjb25zdDsKICAgICBzaXplX3QgZ2V0U2FtcGxlcygp
IGNvbnN0OworICAgIEdMdWludCBnZXRMZXZlbENvdW50KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNQ
cm90ZWN0ZWRDb250ZW50KCkgY29uc3Q7CiAKICAgICBFcnJvciBpbml0aWFsaXplKGNvbnN0IERp
c3BsYXkgKmRpc3BsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL1NoYWRlci5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvU2hhZGVyLmNwcAppbmRleCA5NDg0Yjk0Y2ZiMDlmZDc3MDc0NzZiNWFiOTRkNjMyMDk0MGZi
ZWRlLi5lOWNiNzFiNjAxNzY4NmY2ZGY1YjZiYjY0NjNhMWZlMzk3Y2E5OTdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU2hhZGVyLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU2hhZGVyLmNwcApAQCAtMTA0LDcg
KzEwNCw3IEBAIGNvbnN0IGNoYXIgKkdldFNoYWRlclR5cGVTdHJpbmcoU2hhZGVyVHlwZSB0eXBl
KQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVkRXhpdCBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJs
ZQorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29wZWRFeGl0IGZpbmFsIDogYW5nbGU6Ok5vbkNv
cHlhYmxlCiB7CiAgIHB1YmxpYzoKICAgICBTY29wZWRFeGl0KHN0ZDo6ZnVuY3Rpb248dm9pZCgp
PiBleGl0KSA6IG1FeGl0KGV4aXQpIHt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL1N0YXRlLmNwcAppbmRleCAzZmY0NzMwZWQzMmE1YjM0ZDVmN2I4ZGU2MGZiY2Zl
YzA5YzM4ZGY5Li5mY2E4MmZiMDI4ZTA3ZTM5MzdlZDkxNmUyYjFkZGViMTc1MDdlY2YwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3RhdGUuY3BwCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdGF0ZS5jcHAKQEAgLTQx
Myw2ICs0MTMsNyBAQCBTdGF0ZTo6U3RhdGUoY29uc3QgU3RhdGUgKnNoYXJlQ29udGV4dFN0YXRl
LAogICAgICAgbVNldEJsZW5kSW5kZXhlZEludm9rZWQoZmFsc2UpLAogICAgICAgbVNldEJsZW5k
RmFjdG9yc0luZGV4ZWRJbnZva2VkKGZhbHNlKSwKICAgICAgIG1TZXRCbGVuZEVxdWF0aW9uc0lu
ZGV4ZWRJbnZva2VkKGZhbHNlKSwKKyAgICAgIG1EaXNwbGF5VGV4dHVyZVNoYXJlR3JvdXAoc2hh
cmVUZXh0dXJlcyAhPSBudWxscHRyKSwKICAgICAgIG1Cb3VuZGluZ0JveE1pblgoLTEuMGYpLAog
ICAgICAgbUJvdW5kaW5nQm94TWluWSgtMS4wZiksCiAgICAgICBtQm91bmRpbmdCb3hNaW5aKC0x
LjBmKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9T
dGF0ZS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N0YXRlLmgKaW5k
ZXggMmNkM2E0NDY2MTJmMGMxOTZmY2Y2Y2RjMDA3MTg1MmIyYWIyZDJlMC4uZjhjMWQ5ZGFhZjMx
YjVlZGI5OGVkZjNjYTBhNWMxOTgzZDYwMzljYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N0YXRlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL1N0YXRlLmgKQEAgLTkxMSw2ICs5MTEsOCBAQCBjbGFzcyBTdGF0ZSA6
IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8SW1hZ2VVbml0PiAm
Z2V0SW1hZ2VVbml0cygpIGNvbnN0IHsgcmV0dXJuIG1JbWFnZVVuaXRzOyB9CiAKKyAgICBib29s
IGhhc0Rpc3BsYXlUZXh0dXJlU2hhcmVHcm91cCgpIGNvbnN0IHsgcmV0dXJuIG1EaXNwbGF5VGV4
dHVyZVNoYXJlR3JvdXA7IH0KKwogICBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBDb250ZXh0
OwogCkBAIC0xMTU1LDYgKzExNTcsNyBAQCBjbGFzcyBTdGF0ZSA6IGFuZ2xlOjpOb25Db3B5YWJs
ZQogICAgIGJvb2wgbVNldEJsZW5kSW5kZXhlZEludm9rZWQ7CiAgICAgYm9vbCBtU2V0QmxlbmRG
YWN0b3JzSW5kZXhlZEludm9rZWQ7CiAgICAgYm9vbCBtU2V0QmxlbmRFcXVhdGlvbnNJbmRleGVk
SW52b2tlZDsKKyAgICBib29sIG1EaXNwbGF5VGV4dHVyZVNoYXJlR3JvdXA7CiAKICAgICAvLyBH
TF9FWFRfcHJpbWl0aXZlX2JvdW5kaW5nX2JveAogICAgIEdMZmxvYXQgbUJvdW5kaW5nQm94TWlu
WDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdXJm
YWNlLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TdXJmYWNlLmNw
cAppbmRleCA3NDUxN2YyNGQxOGJjNmU4N2Y3NmM1Yjk0ZGYyMDk0ZDkxNmI0NzNmLi5hMzk2YTM0
N2U2NTE2MzAyNTEyZmQxMmZmM2ZlYjkxYjE5NDFmZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N1cmZhY2UuY3BwCkBAIC0yNTksNyArMjU5LDcgQEAg
RXJyb3IgU3VyZmFjZTo6bWFrZUN1cnJlbnQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAg
ICAgfQogICAgIEFOR0xFX1RSWShtSW1wbGVtZW50YXRpb24tPm1ha2VDdXJyZW50KGNvbnRleHQp
KTsKICAgICBtSXNDdXJyZW50T25BbnlDb250ZXh0ID0gdHJ1ZTsKLSAgICBtUmVmQ291bnQrKzsK
KyAgICBhZGRSZWYoKTsKICAgICByZXR1cm4gTm9FcnJvcigpOwogfQogCkBAIC01NDcsNyArNTQ3
LDcgQEAgRXJyb3IgU3VyZmFjZTo6YmluZFRleEltYWdlKGdsOjpDb250ZXh0ICpjb250ZXh0LCBn
bDo6VGV4dHVyZSAqdGV4dHVyZSwgRUdMaW50IGIKICAgICAgICAgcmV0dXJuIEVycm9yKEVHTF9C
QURfU1VSRkFDRSk7CiAgICAgfQogICAgIG1UZXh0dXJlID0gdGV4dHVyZTsKLSAgICBtUmVmQ291
bnQrKzsKKyAgICBhZGRSZWYoKTsKIAogICAgIHJldHVybiBOb0Vycm9yKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvU3VyZmFjZS5oIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1N1cmZhY2UuaAppbmRleCBmZjE2YzRh
YjlmMzE5Zjg4YmViN2QzNDgwNjE4M2EzMzU5MzFlZjQ3Li4xOTg4OWMzZGViZGVlNzIzOWZhNTQw
OTI3MzVlYWM3NTdlZWIyNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9TdXJmYWNlLmgKQEAgLTIxMSw2ICsyMTEsMTMgQEAgY2xhc3MgU3VyZmFjZSA6IHB1
YmxpYyBMYWJlbGVkT2JqZWN0LCBwdWJsaWMgZ2w6OkZyYW1lYnVmZmVyQXR0YWNobWVudE9iamVj
dAogICAgIHZvaWQgc2V0RGFtYWdlUmVnaW9uKGNvbnN0IEVHTGludCAqcmVjdHMsIEVHTGludCBu
X3JlY3RzKTsKICAgICBib29sIGlzRGFtYWdlUmVnaW9uU2V0KCkgY29uc3QgeyByZXR1cm4gbUlz
RGFtYWdlUmVnaW9uU2V0OyB9CiAKKyAgICB2b2lkIGFkZFJlZigpIHsgbVJlZkNvdW50Kys7IH0K
KyAgICB2b2lkIHJlbGVhc2UoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1SZWZDb3VudCA+IDAp
OworICAgICAgICBtUmVmQ291bnQtLTsKKyAgICB9CisKICAgcHJvdGVjdGVkOgogICAgIFN1cmZh
Y2UoRUdMaW50IHN1cmZhY2VUeXBlLAogICAgICAgICAgICAgY29uc3QgZWdsOjpDb25maWcgKmNv
bmZpZywKQEAgLTMzMSw2ICszMzgsMjggQEAgY2xhc3MgUGl4bWFwU3VyZmFjZSBmaW5hbCA6IHB1
YmxpYyBTdXJmYWNlCiAgICAgflBpeG1hcFN1cmZhY2UoKSBvdmVycmlkZTsKIH07CiAKK2NsYXNz
IEFOR0xFX05PX0RJU0NBUkQgU2NvcGVkU3VyZmFjZVJlZgoreworICBwdWJsaWM6CisgICAgU2Nv
cGVkU3VyZmFjZVJlZihTdXJmYWNlICpzdXJmYWNlKSA6IG1TdXJmYWNlKHN1cmZhY2UpCisgICAg
eworICAgICAgICBpZiAobVN1cmZhY2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1TdXJmYWNl
LT5hZGRSZWYoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB+U2NvcGVkU3VyZmFjZVJlZigpCisg
ICAgeworICAgICAgICBpZiAobVN1cmZhY2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1TdXJm
YWNlLT5yZWxlYXNlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBTdXJm
YWNlICpjb25zdCBtU3VyZmFjZTsKK307CisKIGNsYXNzIFN1cmZhY2VEZWxldGVyIGZpbmFsCiB7
CiAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9UZXh0dXJlLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9U
ZXh0dXJlLmNwcAppbmRleCA4YWUxMmNkYmQwOTNhMWYyNzNiOTQzMDcxYTU0NDQ5MWZlMDIzZThl
Li44ZWU4NTE0ZThmYzlmNjNlZGExNGY4ZjkwZGY5OWMwOWIyMTlkZTA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvVGV4dHVyZS5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1RleHR1cmUuY3BwCkBAIC0xODg4LDEz
ICsxODg4LDEyIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZTo6cmVsZWFzZVRleEltYWdlSW50ZXJu
YWwoQ29udGV4dCAqY29udGV4dCkKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
CiB9CiAKLWFuZ2xlOjpSZXN1bHQgVGV4dHVyZTo6c2V0RUdMSW1hZ2VUYXJnZXQoQ29udGV4dCAq
Y29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVy
ZVR5cGUgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWds
OjpJbWFnZSAqaW1hZ2VUYXJnZXQpCithbmdsZTo6UmVzdWx0IFRleHR1cmU6OnNldEVHTEltYWdl
VGFyZ2V0SW1wbChDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBsZXZlbHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZ2w6OkltYWdlICppbWFnZVRhcmdldCkKIHsK
ICAgICBBU1NFUlQodHlwZSA9PSBtU3RhdGUubVR5cGUpOwotICAgIEFTU0VSVCh0eXBlID09IFRl
eHR1cmVUeXBlOjpfMkQgfHwgdHlwZSA9PSBUZXh0dXJlVHlwZTo6RXh0ZXJuYWwgfHwKLSAgICAg
ICAgICAgdHlwZSA9PSBUZXh0dXJlVHlwZTo6XzJEQXJyYXkpOwogCiAgICAgLy8gUmVsZWFzZSBm
cm9tIHByZXZpb3VzIGNhbGxzIHRvIGVnbEJpbmRUZXhJbWFnZSwgdG8gYXZvaWQgY2FsbGluZyB0
aGUgSW1wbCBhZnRlcgogICAgIEFOR0xFX1RSWShyZWxlYXNlVGV4SW1hZ2VJbnRlcm5hbChjb250
ZXh0KSk7CkBAIC0xOTA2LDIwICsxOTA1LDUxIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZTo6c2V0
RUdMSW1hZ2VUYXJnZXQoQ29udGV4dCAqY29udGV4dCwKIAogICAgIHNldFRhcmdldEltYWdlKGNv
bnRleHQsIGltYWdlVGFyZ2V0KTsKIAotICAgIEV4dGVudHMgc2l6ZShzdGF0aWNfY2FzdDxpbnQ+
KGltYWdlVGFyZ2V0LT5nZXRXaWR0aCgpKSwKLSAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
aW50PihpbWFnZVRhcmdldC0+Z2V0SGVpZ2h0KCkpLCAxKTsKLQogICAgIGF1dG8gaW5pdFN0YXRl
ID0gaW1hZ2VUYXJnZXQtPnNvdXJjZUluaXRTdGF0ZSgpOwogCiAgICAgbVN0YXRlLmNsZWFySW1h
Z2VEZXNjcygpOwotICAgIG1TdGF0ZS5zZXRJbWFnZURlc2MoTm9uQ3ViZVRleHR1cmVUeXBlVG9U
YXJnZXQodHlwZSksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBJbWFnZURlc2Moc2l6ZSwg
aW1hZ2VUYXJnZXQtPmdldEZvcm1hdCgpLCBpbml0U3RhdGUpKTsKKyAgICBtU3RhdGUuc2V0SW1h
Z2VEZXNjQ2hhaW4oMCwgbGV2ZWxzIC0gMSwgaW1hZ2VUYXJnZXQtPmdldEV4dGVudHMoKSwgaW1h
Z2VUYXJnZXQtPmdldEZvcm1hdCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0
U3RhdGUpOwogICAgIG1TdGF0ZS5tSGFzUHJvdGVjdGVkQ29udGVudCA9IGltYWdlVGFyZ2V0LT5o
YXNQcm90ZWN0ZWRDb250ZW50KCk7CiAgICAgc2lnbmFsRGlydHlTdG9yYWdlKGluaXRTdGF0ZSk7
CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1
bHQgVGV4dHVyZTo6c2V0RUdMSW1hZ2VUYXJnZXQoQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdHlwZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdsOjpJbWFnZSAqaW1hZ2VUYXJn
ZXQpCit7CisgICAgQVNTRVJUKHR5cGUgPT0gVGV4dHVyZVR5cGU6Ol8yRCB8fCB0eXBlID09IFRl
eHR1cmVUeXBlOjpFeHRlcm5hbCB8fAorICAgICAgICAgICB0eXBlID09IFRleHR1cmVUeXBlOjpf
MkRBcnJheSk7CisKKyAgICByZXR1cm4gc2V0RUdMSW1hZ2VUYXJnZXRJbXBsKGNvbnRleHQsIHR5
cGUsIDF1LCBpbWFnZVRhcmdldCk7Cit9CisKK2FuZ2xlOjpSZXN1bHQgVGV4dHVyZTo6c2V0U3Rv
cmFnZUVHTEltYWdlVGFyZ2V0KENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0eXBlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdsOjpJbWFnZSAqaW1hZ2VU
YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBHTGludCAqYXR0cmliX2xpc3QpCit7CisgICAgQVNTRVJUKHR5cGUgPT0gVGV4dHVyZVR5
cGU6OkV4dGVybmFsIHx8IHR5cGUgPT0gVGV4dHVyZVR5cGU6Ol8zRCB8fCB0eXBlID09IFRleHR1
cmVUeXBlOjpfMkQgfHwKKyAgICAgICAgICAgdHlwZSA9PSBUZXh0dXJlVHlwZTo6XzJEQXJyYXkg
fHwgdHlwZSA9PSBUZXh0dXJlVHlwZTo6Q3ViZU1hcCB8fAorICAgICAgICAgICB0eXBlID09IFRl
eHR1cmVUeXBlOjpDdWJlTWFwQXJyYXkpOworCisgICAgQU5HTEVfVFJZKHNldEVHTEltYWdlVGFy
Z2V0SW1wbChjb250ZXh0LCB0eXBlLCBpbWFnZVRhcmdldC0+Z2V0TGV2ZWxDb3VudCgpLCBpbWFn
ZVRhcmdldCkpOworCisgICAgbVN0YXRlLm1JbW11dGFibGVMZXZlbHMgPSBpbWFnZVRhcmdldC0+
Z2V0TGV2ZWxDb3VudCgpOworICAgIG1TdGF0ZS5tSW1tdXRhYmxlRm9ybWF0ID0gdHJ1ZTsKKwor
ICAgIC8vIENoYW5naW5nIHRoZSB0ZXh0dXJlIHRvIGltbXV0YWJsZSBjYW4gdHJpZ2dlciBhIGNo
YW5nZSBpbiB0aGUgYmFzZSBhbmQgbWF4IGxldmVsczoKKyAgICAvLyBHTEVTIDMuMC40IHNlY3Rp
b24gMy44LjEwIHBnIDE1ODoKKyAgICAvLyAiRm9yIGltbXV0YWJsZS1mb3JtYXQgdGV4dHVyZXMs
IGxldmVsYmFzZSBpcyBjbGFtcGVkIHRvIHRoZSByYW5nZVswO2xldmVsc10sbGV2ZWxtYXggaXMg
dGhlbgorICAgIC8vIGNsYW1wZWQgdG8gdGhlIHJhbmdlW2xldmVsYmFzZTtsZXZlbHNdLgorICAg
IG1EaXJ0eUJpdHMuc2V0KERJUlRZX0JJVF9CQVNFX0xFVkVMKTsKKyAgICBtRGlydHlCaXRzLnNl
dChESVJUWV9CSVRfTUFYX0xFVkVMKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250
aW51ZTsKK30KKwogRXh0ZW50cyBUZXh0dXJlOjpnZXRBdHRhY2htZW50U2l6ZShjb25zdCBJbWFn
ZUluZGV4ICZpbWFnZUluZGV4KSBjb25zdAogewogICAgIC8vIEFzIGFuIEltYWdlSW5kZXggdGhh
dCByZXByZXNlbnRzIGFuIGVudGlyZSBsZXZlbCBvZiBhIGN1YmUgbWFwIGNvcnJlc3BvbmRzIHRv
IDYgSW1hZ2VEZXNjcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9UZXh0dXJlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
VGV4dHVyZS5oCmluZGV4IDcwNGZjM2Y5M2MxNjAxMDQ2YjZkZDA0YzgyNzc4YjU2YzhiNDRlMjMu
LmM1MmZmMjgwMzM2OWU5ODA0NzRmMGNmYzY0Mzk4ODk0MDRkZTVkMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9UZXh0dXJlLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1RleHR1cmUuaApAQCAtNTAzLDYgKzUwMywx
MSBAQCBjbGFzcyBUZXh0dXJlIGZpbmFsIDogcHVibGljIFJlZkNvdW50T2JqZWN0PFRleHR1cmVJ
RD4sCiAKICAgICBhbmdsZTo6UmVzdWx0IHNldEVHTEltYWdlVGFyZ2V0KENvbnRleHQgKmNvbnRl
eHQsIFRleHR1cmVUeXBlIHR5cGUsIGVnbDo6SW1hZ2UgKmltYWdlVGFyZ2V0KTsKIAorICAgIGFu
Z2xlOjpSZXN1bHQgc2V0U3RvcmFnZUVHTEltYWdlVGFyZ2V0KENvbnRleHQgKmNvbnRleHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdHlw
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZ2w6OkltYWdl
ICppbWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBHTGludCAqYXR0cmliX2xpc3QpOworCiAgICAgYW5nbGU6OlJlc3VsdCBnZW5lcmF0ZU1pcG1h
cChDb250ZXh0ICpjb250ZXh0KTsKIAogICAgIHZvaWQgb25CaW5kQXNJbWFnZVRleHR1cmUoKTsK
QEAgLTY2NSw2ICs2NzAsMTEgQEAgY2xhc3MgVGV4dHVyZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dE9iamVjdDxUZXh0dXJlSUQ+LAogCiAgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVNaXBtYXBHZW5l
cmF0aW9uSGludChDb250ZXh0ICpjb250ZXh0LCBpbnQgbGV2ZWwpOwogCisgICAgYW5nbGU6OlJl
c3VsdCBzZXRFR0xJbWFnZVRhcmdldEltcGwoQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0eXBlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBsZXZlbHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdsOjpJbWFnZSAqaW1hZ2VUYXJnZXQpOwor
CiAgICAgdm9pZCBzaWduYWxEaXJ0eVN0YXRlKHNpemVfdCBkaXJ0eUJpdCk7CiAKICAgICBUZXh0
dXJlU3RhdGUgbVN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL2NhcHR1cmUvRnJhbWVDYXB0dXJlLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9jYXB0dXJlL0ZyYW1lQ2FwdHVyZS5jcHAKaW5kZXggNDhkZGZjNTdl
YzI5MGEwZWZmZDg2NzdhZWI4ZjIxYWIxZTA5OTVkNS4uZGJjNDFjYWU5OTU5ZTM5N2E1NmY4ZTRh
ZmNkYmZjMWRmNWM5MjQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL2NhcHR1cmUvRnJhbWVDYXB0dXJlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvY2FwdHVyZS9GcmFtZUNhcHR1cmUuY3BwCkBAIC0xODMxLDE0
ICsxODMxLDEwIEBAIGJvb2wgSXNUZXh0dXJlVXBkYXRlKENhbGxDYXB0dXJlICZjYWxsKQogICAg
ICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMVGV4dHVyZVN1YkltYWdlMUQ6CiAgICAgICAgIGNhc2Ug
RW50cnlQb2ludDo6R0xUZXh0dXJlU3ViSW1hZ2UyRDoKICAgICAgICAgY2FzZSBFbnRyeVBvaW50
OjpHTFRleHR1cmVTdWJJbWFnZTNEOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAg
ICAgLy8gTm90ZTogQ29weUltYWdlU3ViRGF0YSBpcyBoYW5kbGVkIHNwZWNpYWxseSBpbiBjb3B5
Q29tcHJlc3NlZFRleHR1cmVEYXRhCiAgICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xDb3B5SW1h
Z2VTdWJEYXRhOgogICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29weUltYWdlU3ViRGF0YUVY
VDoKICAgICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENvcHlJbWFnZVN1YkRhdGFPRVM6Ci0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTE4NTYsMTQg
KzE4NTIsMjIgQEAgdm9pZCBDYXB0dXJlRnJhbWVidWZmZXJBdHRhY2htZW50KHN0ZDo6dmVjdG9y
PENhbGxDYXB0dXJlPiAqc2V0dXBDYWxscywKIHsKICAgICBHTHVpbnQgcmVzb3VyY2VJRCA9IGF0
dGFjaG1lbnQuZ2V0UmVzb3VyY2UoKS0+Z2V0SWQoKTsKIAotICAgIC8vIFRPRE8oam1hZGlsbCk6
IExheWVyIGF0dGFjaG1lbnRzLiBodHRwOi8vYW5nbGVidWcuY29tLzM2NjIKICAgICBpZiAoYXR0
YWNobWVudC50eXBlKCkgPT0gR0xfVEVYVFVSRSkKICAgICB7CiAgICAgICAgIGdsOjpJbWFnZUlu
ZGV4IGluZGV4ID0gYXR0YWNobWVudC5nZXRUZXh0dXJlSW1hZ2VJbmRleCgpOwogCi0gICAgICAg
IENhcHR1cmUoc2V0dXBDYWxscywgZnJhbWVidWZmZXJGdW5jcy5mcmFtZWJ1ZmZlclRleHR1cmUy
RCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGF5U3RhdGUsIHRydWUsIEdM
X0ZSQU1FQlVGRkVSLCBhdHRhY2htZW50LmdldEJpbmRpbmcoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZXguZ2V0VGFyZ2V0KCksIHtyZXNvdXJjZUlEfSwgaW5kZXguZ2V0
TGV2ZWxJbmRleCgpKSk7CisgICAgICAgIGlmIChpbmRleC51c2VzVGV4M0QoKSB8fCBJc0N1YmVN
YXBGYWNlVGFyZ2V0KGluZGV4LmdldFRhcmdldCgpKSkKKyAgICAgICAgeworICAgICAgICAgICAg
Q2FwdHVyZShzZXR1cENhbGxzLCBDYXB0dXJlRnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYXlTdGF0ZSwgdHJ1ZSwgR0xfRlJB
TUVCVUZGRVIsIGF0dGFjaG1lbnQuZ2V0QmluZGluZygpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAge3Jlc291cmNlSUR9LCBpbmRleC5nZXRMZXZlbEluZGV4KCksIGluZGV4
LmdldExheWVySW5kZXgoKSkpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgewor
ICAgICAgICAgICAgQ2FwdHVyZShzZXR1cENhbGxzLCBmcmFtZWJ1ZmZlckZ1bmNzLmZyYW1lYnVm
ZmVyVGV4dHVyZTJEKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGF5
U3RhdGUsIHRydWUsIEdMX0ZSQU1FQlVGRkVSLCBhdHRhY2htZW50LmdldEJpbmRpbmcoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LmdldFRhcmdldCgpLCB7cmVz
b3VyY2VJRH0sIGluZGV4LmdldExldmVsSW5kZXgoKSkpOworICAgICAgICB9CiAgICAgfQogICAg
IGVsc2UKICAgICB7CkBAIC0zMDkwLDYzICszMDk0LDYxIEBAIHZvaWQgQ2FwdHVyZVNoYXJlR3Jv
dXBNaWRFeGVjdXRpb25TZXR1cChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGZvcm1h
dC5jb21wcmVzc2VkKQorICAgICAgICAgICAgaWYgKGNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5n
ZXRJbWFnZUFOR0xFKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8vIEZvciBjb21w
cmVzc2VkIGltYWdlcywgd2UndmUgdHJhY2tlZCBhIGNvcHkgb2YgdGhlIGluY29taW5nIGRhdGEs
IHNvIHdlIGNhbgotICAgICAgICAgICAgICAgIC8vIHVzZSB0aGF0IHJhdGhlciB0aGFuIHRyeSB0
byByZWFkIGRhdGEgYmFjayB0aGF0IG1heSBoYXZlIGJlZW4gY29udmVydGVkLgotICAgICAgICAg
ICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+ICZjYXB0dXJlZFRleHR1cmVMZXZlbCA9
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmdldFNoYXJlR3JvdXAoKS0+Z2V0RnJhbWVD
YXB0dXJlU2hhcmVkKCktPnJldHJpZXZlQ2FjaGVkVGV4dHVyZUxldmVsKAotICAgICAgICAgICAg
ICAgICAgICAgICAgdGV4dHVyZS0+aWQoKSwgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4LmdldExl
dmVsSW5kZXgoKSk7CisgICAgICAgICAgICAgICAgLy8gVXNlIEFOR0xFX2dldF9pbWFnZSB0byBy
ZWFkIGJhY2sgcGl4ZWwgZGF0YS4KKyAgICAgICAgICAgICAgICBhbmdsZTo6TWVtb3J5QnVmZmVy
IGRhdGE7CiAKLSAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIHNoYWRvdyBjb3B5IG9mIHRoZSBk
YXRhIHRvIHBvcHVsYXRlIHRoZSBjYWxsCi0gICAgICAgICAgICAgICAgZm9yIChzdGQ6OnZlY3Rv
cjxDYWxsQ2FwdHVyZT4gKmNhbGxzIDogdGV4U2V0dXBDYWxscykKKyAgICAgICAgICAgICAgICBj
b25zdCBnbDo6RXh0ZW50cyBleHRlbnRzKGRlc2Muc2l6ZS53aWR0aCwgZGVzYy5zaXplLmhlaWdo
dCwgZGVzYy5zaXplLmRlcHRoKTsKKworICAgICAgICAgICAgICAgIGdsOjpQaXhlbFBhY2tTdGF0
ZSBwYWNrU3RhdGU7CisgICAgICAgICAgICAgICAgcGFja1N0YXRlLmFsaWdubWVudCA9IDE7CisK
KyAgICAgICAgICAgICAgICBpZiAoZm9ybWF0LmNvbXByZXNzZWQpCiAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICBDYXB0dXJlVGV4dHVyZUNvbnRlbnRzKGNhbGxzLCAmcmVw
bGF5U3RhdGUsIHRleHR1cmUsIGluZGV4LCBkZXNjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdMdWludD4oY2FwdHVyZWRUZXh0dXJlTGV2
ZWwuc2l6ZSgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
YXB0dXJlZFRleHR1cmVMZXZlbC5kYXRhKCkpOworICAgICAgICAgICAgICAgICAgICAvLyBDYWxj
dWxhdGUgdGhlIHNpemUgbmVlZGVkIHRvIHN0b3JlIHRoZSBjb21wcmVzc2VkIGxldmVsCisgICAg
ICAgICAgICAgICAgICAgIEdMdWludCBzaXplSW5CeXRlczsKKyAgICAgICAgICAgICAgICAgICAg
Ym9vbCByZXN1bHQgPSBmb3JtYXQuY29tcHV0ZUNvbXByZXNzZWRJbWFnZVNpemUoZXh0ZW50cywg
JnNpemVJbkJ5dGVzKTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHJlc3VsdCk7CisKKyAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZGF0YS5yZXNpemUoc2l6ZUluQnl0ZXMpOworICAg
ICAgICAgICAgICAgICAgICBBU1NFUlQocmVzdWx0KTsKKworICAgICAgICAgICAgICAgICAgICAo
dm9pZCl0ZXh0dXJlLT5nZXRDb21wcmVzc2VkVGV4SW1hZ2UoY29udGV4dCwgcGFja1N0YXRlLCBu
dWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZXguZ2V0VGFyZ2V0KCksIGluZGV4LmdldExldmVsSW5kZXgoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEu
ZGF0YSgpKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLy8gVXNlIEFOR0xFX2dldF9pbWFn
ZSB0byByZWFkIGJhY2sgcGl4ZWwgZGF0YS4KLSAgICAgICAgICAgICAgICBpZiAoY29udGV4dC0+
Z2V0RXh0ZW5zaW9ucygpLmdldEltYWdlQU5HTEUpCisgICAgICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGdldEZvcm1hdCA9IGZv
cm1hdC5mb3JtYXQ7CiAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBnZXRUeXBlICAgPSBmb3Jt
YXQudHlwZTsKIAotICAgICAgICAgICAgICAgICAgICBhbmdsZTo6TWVtb3J5QnVmZmVyIGRhdGE7
Ci0KLSAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkV4dGVudHMgc2l6ZShkZXNjLnNpemUu
d2lkdGgsIGRlc2Muc2l6ZS5oZWlnaHQsIGRlc2Muc2l6ZS5kZXB0aCk7CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2sgPSBhcGlTdGF0ZS5nZXRV
bnBhY2tTdGF0ZSgpOwogCiAgICAgICAgICAgICAgICAgICAgIEdMdWludCBlbmRCeXRlID0gMDsK
ICAgICAgICAgICAgICAgICAgICAgYm9vbCB1bnBhY2tTaXplID0KLSAgICAgICAgICAgICAgICAg
ICAgICAgIGZvcm1hdC5jb21wdXRlUGFja1VucGFja0VuZEJ5dGUoZ2V0VHlwZSwgc2l6ZSwgdW5w
YWNrLCB0cnVlLCAmZW5kQnl0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQuY29t
cHV0ZVBhY2tVbnBhY2tFbmRCeXRlKGdldFR5cGUsIGV4dGVudHMsIHVucGFjaywgdHJ1ZSwgJmVu
ZEJ5dGUpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQodW5wYWNrU2l6ZSk7CiAKICAgICAg
ICAgICAgICAgICAgICAgYm9vbCByZXN1bHQgPSBkYXRhLnJlc2l6ZShlbmRCeXRlKTsKICAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUKHJlc3VsdCk7CiAKLSAgICAgICAgICAgICAgICAgICAgZ2w6
OlBpeGVsUGFja1N0YXRlIHBhY2tTdGF0ZTsKLSAgICAgICAgICAgICAgICAgICAgcGFja1N0YXRl
LmFsaWdubWVudCA9IDE7Ci0KICAgICAgICAgICAgICAgICAgICAgKHZvaWQpdGV4dHVyZS0+Z2V0
VGV4SW1hZ2UoY29udGV4dCwgcGFja1N0YXRlLCBudWxscHRyLCBpbmRleC5nZXRUYXJnZXQoKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXguZ2V0
TGV2ZWxJbmRleCgpLCBnZXRGb3JtYXQsIGdldFR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICB9
CiAKLSAgICAgICAgICAgICAgICAgICAgZm9yIChzdGQ6OnZlY3RvcjxDYWxsQ2FwdHVyZT4gKmNh
bGxzIDogdGV4U2V0dXBDYWxscykKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgQ2FwdHVyZVRleHR1cmVDb250ZW50cyhjYWxscywgJnJlcGxheVN0YXRlLCB0
ZXh0dXJlLCBpbmRleCwgZGVzYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R0x1aW50PihkYXRhLnNpemUoKSksIGRhdGEuZGF0YSgp
KTsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAoc3RkOjp2ZWN0
b3I8Q2FsbENhcHR1cmU+ICpjYWxscyA6IHRleFNldHVwQ2FsbHMpCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBDYXB0dXJlVGV4dHVyZUNvbnRlbnRzKGNhbGxzLCAmcmVw
bGF5U3RhdGUsIHRleHR1cmUsIGluZGV4LCBkZXNjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdMdWludD4oZGF0YS5zaXplKCkpLCBkYXRh
LmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBmb3IgKHN0ZDo6dmVjdG9yPENhbGxDYXB0dXJlPiAqY2FsbHMgOiB0ZXhTZXR1cENhbGxzKQog
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChzdGQ6OnZlY3RvcjxD
YWxsQ2FwdHVyZT4gKmNhbGxzIDogdGV4U2V0dXBDYWxscykKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZVRleHR1cmVDb250ZW50cyhjYWxscywg
JnJlcGxheVN0YXRlLCB0ZXh0dXJlLCBpbmRleCwgZGVzYywgMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0cik7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgQ2FwdHVyZVRleHR1cmVDb250ZW50cyhjYWxscywg
JnJlcGxheVN0YXRlLCB0ZXh0dXJlLCBpbmRleCwgZGVzYywgMCwgbnVsbHB0cik7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00MjgzLDIwICs0Mjg1LDYg
QEAgYm9vbCBTa2lwQ2FsbChFbnRyeVBvaW50IGVudHJ5UG9pbnQpCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi1HTGludCBHZXRBZGp1c3RlZFRleHR1cmVDYWNoZUxldmVsKGdsOjpUZXh0dXJlVGFy
Z2V0IHRhcmdldCwgR0xpbnQgbGV2ZWwpCi17Ci0gICAgR0xpbnQgYWRqdXN0ZWRMZXZlbCA9IGxl
dmVsOwotCi0gICAgLy8gSWYgdGFyZ2V0IGlzIGEgY3ViZSwgd2UgbmVlZCB0byBtYWludGFpbiA2
IGltYWdlcyBwZXIgbGV2ZWwKLSAgICBpZiAoSXNDdWJlTWFwRmFjZVRhcmdldCh0YXJnZXQpKQot
ICAgIHsKLSAgICAgICAgYWRqdXN0ZWRMZXZlbCAqPSA2OwotICAgICAgICBhZGp1c3RlZExldmVs
ICs9IEN1YmVNYXBUZXh0dXJlVGFyZ2V0VG9GYWNlSW5kZXgodGFyZ2V0KTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gYWRqdXN0ZWRMZXZlbDsKLX0KLQogdGVtcGxhdGUgPHR5cGVuYW1lIFBhcmFtVmFs
dWVUeXBlPgogc3RydWN0IFBhcmFtVmFsdWVUcmFpdAogewpAQCAtNDY1MywyNDMgKzQ2NDEsNiBA
QCBGcmFtZUNhcHR1cmVTaGFyZWQ6OkZyYW1lQ2FwdHVyZVNoYXJlZCgpCiAKIEZyYW1lQ2FwdHVy
ZVNoYXJlZDo6fkZyYW1lQ2FwdHVyZVNoYXJlZCgpID0gZGVmYXVsdDsKIAotdm9pZCBGcmFtZUNh
cHR1cmVTaGFyZWQ6OmNvcHlDb21wcmVzc2VkVGV4dHVyZURhdGEoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBDYWxsQ2FwdHVyZSAmY2FsbCkKLXsKLSAgICAvLyBGb3IgY29tcHJlc3NlZCB0
ZXh0dXJlcywgd2UgbmVlZCB0byBjb3B5IHRoZSBzb3VyY2UgZGF0YSB0aGF0IHdhcyBhbHJlYWR5
IGNhcHR1cmVkIGludG8gYSBuZXcKLSAgICAvLyBjYWNoZWQgdGV4dHVyZSBlbnRyeSBmb3IgdXNl
IGR1cmluZyBtaWQtZXhlY3V0aW9uIGNhcHR1cmUsIHJhdGhlciB0aGFuIHJlYWRpbmcgaXQgYmFj
ayB3aXRoCi0gICAgLy8gQU5HTEVfZ2V0X2ltYWdlLgotCi0gICAgR0xlbnVtIHNyY1RhcmdldCA9
IGNhbGwucGFyYW1zLmdldFBhcmFtKCJzcmNUYXJnZXQiLCBQYXJhbVR5cGU6OlRHTGVudW0sIDEp
LnZhbHVlLkdMZW51bVZhbDsKLSAgICBHTGVudW0gZHN0VGFyZ2V0ID0gY2FsbC5wYXJhbXMuZ2V0
UGFyYW0oImRzdFRhcmdldCIsIFBhcmFtVHlwZTo6VEdMZW51bSwgNykudmFsdWUuR0xlbnVtVmFs
OwotCi0gICAgLy8gVE9ETyhhbmdsZWJ1Zy5jb20vNjEwNCk6IFR5cGUgb2YgaW5jb21pbmcgSUQg
dmFyaWVzIGJhc2VkIG9uIHRhcmdldCB0eXBlLCBidXQgd2UncmUgb25seQotICAgIC8vIGhhbmRs
aW5nIHRleHR1cmVzIGZvciBub3cuIElmIGVpdGhlciBvZiB0aGVzZSBhc3NlcnRzIGZpcmUsIHRo
ZW4gd2UgbmVlZCB0byBhZGQgcmVuZGVyYnVmZmVyCi0gICAgLy8gc3VwcG9ydC4KLSAgICBBU1NF
UlQoc3JjVGFyZ2V0ID09IEdMX1RFWFRVUkVfMkQgfHwgc3JjVGFyZ2V0ID09IEdMX1RFWFRVUkVf
MkRfQVJSQVkgfHwKLSAgICAgICAgICAgc3JjVGFyZ2V0ID09IEdMX1RFWFRVUkVfM0QgfHwgc3Jj
VGFyZ2V0ID09IEdMX1RFWFRVUkVfQ1VCRV9NQVApOwotICAgIEFTU0VSVChkc3RUYXJnZXQgPT0g
R0xfVEVYVFVSRV8yRCB8fCBkc3RUYXJnZXQgPT0gR0xfVEVYVFVSRV8yRF9BUlJBWSB8fAotICAg
ICAgICAgICBkc3RUYXJnZXQgPT0gR0xfVEVYVFVSRV8zRCB8fCBkc3RUYXJnZXQgPT0gR0xfVEVY
VFVSRV9DVUJFX01BUCk7Ci0KLSAgICBnbDo6VGV4dHVyZUlEIHNyY05hbWUgPQotICAgICAgICBj
YWxsLnBhcmFtcy5nZXRQYXJhbSgic3JjTmFtZSIsIFBhcmFtVHlwZTo6VFRleHR1cmVJRCwgMCku
dmFsdWUuVGV4dHVyZUlEVmFsOwotICAgIEdMaW50IHNyY0xldmVsID0gY2FsbC5wYXJhbXMuZ2V0
UGFyYW0oInNyY0xldmVsIiwgUGFyYW1UeXBlOjpUR0xpbnQsIDIpLnZhbHVlLkdMaW50VmFsOwot
ICAgIGdsOjpUZXh0dXJlSUQgZHN0TmFtZSA9Ci0gICAgICAgIGNhbGwucGFyYW1zLmdldFBhcmFt
KCJkc3ROYW1lIiwgUGFyYW1UeXBlOjpUVGV4dHVyZUlELCA2KS52YWx1ZS5UZXh0dXJlSURWYWw7
Ci0gICAgR0xpbnQgZHN0TGV2ZWwgPSBjYWxsLnBhcmFtcy5nZXRQYXJhbSgiZHN0TGV2ZWwiLCBQ
YXJhbVR5cGU6OlRHTGludCwgOCkudmFsdWUuR0xpbnRWYWw7Ci0KLSAgICAvLyBJbnNwZWN0IHRo
ZSBkZXN0IHRleHR1cmUgdG8gc2VlIGlmIHRoaXMgaXMgY29tcHJlc3NlZCBpbiBjYXNlIHdlIG5l
ZWQgdG8gYmFjayBpdCB1cAotICAgIGdsOjpUZXh0dXJlICpkc3RUZXh0dXJlID0gY29udGV4dC0+
Z2V0VGV4dHVyZShkc3ROYW1lKTsKLSAgICBBU1NFUlQoZHN0VGV4dHVyZSk7Ci0KLSAgICAvLyBM
b29rIHVwIGl0cyB0YXJnZXQgdXNpbmcgZHN0WiBhcyB0aGUgc2xpY2UgaW4gY2FzZSBvZiAzRC9D
dWJlL0FycmF5Ci0gICAgR0xpbnQgZHN0WiA9IGNhbGwucGFyYW1zLmdldFBhcmFtKCJkc3RaIiwg
UGFyYW1UeXBlOjpUR0xpbnQsIDExKS52YWx1ZS5HTGludFZhbDsKLSAgICBnbDo6VGV4dHVyZVRh
cmdldCBkc3RUYXJnZXRQYWNrZWQgPSBnbDo6VGV4dHVyZVR5cGVUb1RhcmdldChkc3RUZXh0dXJl
LT5nZXRUeXBlKCksIGRzdFopOwotCi0gICAgLy8gUHVsbCB0aGUgaW5mbyBhbmQgY2hlY2sKLSAg
ICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJmRzdEZvcm1hdCA9ICpkc3RUZXh0dXJlLT5nZXRG
b3JtYXQoZHN0VGFyZ2V0UGFja2VkLCBkc3RMZXZlbCkuaW5mbzsKLSAgICBpZiAoZHN0Rm9ybWF0
LmNvbXByZXNzZWQpCi0gICAgewotICAgICAgICBjb250ZXh0LT5nZXRTaGFyZUdyb3VwKCktPmdl
dEZyYW1lQ2FwdHVyZVNoYXJlZCgpLT5jb3B5Q2FjaGVkVGV4dHVyZUxldmVsKAotICAgICAgICAg
ICAgY29udGV4dCwgc3JjTmFtZSwgc3JjTGV2ZWwsIGRzdE5hbWUsIGRzdExldmVsLCBjYWxsKTsK
LSAgICB9Ci0KLSAgICAvLyBBbHNvIHRyYWNrIHRoYXQgdGhlIGRlc3RpbmF0aW9uIHRleHR1cmUg
aGFzIGJlZW4gdXBkYXRlZAotICAgIG1SZXNvdXJjZVRyYWNrZXIuZ2V0VHJhY2tlZFJlc291cmNl
KFJlc291cmNlSURUeXBlOjpUZXh0dXJlKS5zZXRNb2RpZmllZFJlc291cmNlKGRzdE5hbWUudmFs
dWUpOwotfQotCi12b2lkIEZyYW1lQ2FwdHVyZVNoYXJlZDo6Y2FwdHVyZUNvbXByZXNzZWRUZXh0
dXJlRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENhbGxDYXB0dXJlICZjYWxs
KQotewotICAgIC8vIEZvciBjb21wcmVzc2VkIHRleHR1cmVzLCB0cmFjayBhIHNoYWRvdyBjb3B5
IG9mIHRoZSBkYXRhCi0gICAgLy8gZm9yIHVzZSBkdXJpbmcgbWlkLWV4ZWN1dGlvbiBjYXB0dXJl
LCByYXRoZXIgdGhhbiByZWFkaW5nIGl0IGJhY2sKLSAgICAvLyB3aXRoIEFOR0xFX2dldF9pbWFn
ZQotCi0gICAgLy8gU3RvcmluZyB0aGUgY29tcHJlc3NlZCBkYXRhIGlzIGhhbmRsZWQgdGhlIHNh
bWUgZm9yIGFsbCBlbnRyeSBwb2ludHMsCi0gICAgLy8gdGhleSBqdXN0IGhhdmUgc2xpZ2h0bHkg
ZGlmZmVyZW50IHBhcmFtZXRlciBsb2NhdGlvbnMKLSAgICBpbnQgZGF0YVBhcmFtT2Zmc2V0ICAg
ID0gLTE7Ci0gICAgaW50IHhvZmZzZXRQYXJhbU9mZnNldCA9IC0xOwotICAgIGludCB5b2Zmc2V0
UGFyYW1PZmZzZXQgPSAtMTsKLSAgICBpbnQgem9mZnNldFBhcmFtT2Zmc2V0ID0gLTE7Ci0gICAg
aW50IHdpZHRoUGFyYW1PZmZzZXQgICA9IC0xOwotICAgIGludCBoZWlnaHRQYXJhbU9mZnNldCAg
PSAtMTsKLSAgICBpbnQgZGVwdGhQYXJhbU9mZnNldCAgID0gLTE7Ci0gICAgc3dpdGNoIChjYWxs
LmVudHJ5UG9pbnQpCi0gICAgewotICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29tcHJlc3Nl
ZFRleFN1YkltYWdlM0Q6Ci0gICAgICAgICAgICB4b2Zmc2V0UGFyYW1PZmZzZXQgPSAyOwotICAg
ICAgICAgICAgeW9mZnNldFBhcmFtT2Zmc2V0ID0gMzsKLSAgICAgICAgICAgIHpvZmZzZXRQYXJh
bU9mZnNldCA9IDQ7Ci0gICAgICAgICAgICB3aWR0aFBhcmFtT2Zmc2V0ICAgPSA1OwotICAgICAg
ICAgICAgaGVpZ2h0UGFyYW1PZmZzZXQgID0gNjsKLSAgICAgICAgICAgIGRlcHRoUGFyYW1PZmZz
ZXQgICA9IDc7Ci0gICAgICAgICAgICBkYXRhUGFyYW1PZmZzZXQgICAgPSAxMDsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29tcHJlc3NlZFRleEltYWdl
M0Q6Ci0gICAgICAgICAgICB3aWR0aFBhcmFtT2Zmc2V0ICA9IDM7Ci0gICAgICAgICAgICBoZWln
aHRQYXJhbU9mZnNldCA9IDQ7Ci0gICAgICAgICAgICBkZXB0aFBhcmFtT2Zmc2V0ICA9IDU7Ci0g
ICAgICAgICAgICBkYXRhUGFyYW1PZmZzZXQgICA9IDg7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENvbXByZXNzZWRUZXhTdWJJbWFnZTJEOgotICAgICAg
ICAgICAgeG9mZnNldFBhcmFtT2Zmc2V0ID0gMjsKLSAgICAgICAgICAgIHlvZmZzZXRQYXJhbU9m
ZnNldCA9IDM7Ci0gICAgICAgICAgICB3aWR0aFBhcmFtT2Zmc2V0ICAgPSA0OwotICAgICAgICAg
ICAgaGVpZ2h0UGFyYW1PZmZzZXQgID0gNTsKLSAgICAgICAgICAgIGRhdGFQYXJhbU9mZnNldCAg
ICA9IDg7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENv
bXByZXNzZWRUZXhJbWFnZTJEOgotICAgICAgICAgICAgd2lkdGhQYXJhbU9mZnNldCAgPSAzOwot
ICAgICAgICAgICAgaGVpZ2h0UGFyYW1PZmZzZXQgPSA0OwotICAgICAgICAgICAgZGF0YVBhcmFt
T2Zmc2V0ICAgPSA3OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAvLyBUaGVyZSBzaG91bGQgYmUgbm8gb3RoZXIgY2FsbGVycyBvZiB0aGlzIGZ1bmN0
aW9uCi0gICAgICAgICAgICBBU1NFUlQoMCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0K
LSAgICBnbDo6QnVmZmVyICpwaXhlbFVucGFja0J1ZmZlciA9Ci0gICAgICAgIGNvbnRleHQtPmdl
dFN0YXRlKCkuZ2V0VGFyZ2V0QnVmZmVyKGdsOjpCdWZmZXJCaW5kaW5nOjpQaXhlbFVucGFjayk7
Ci0KLSAgICBjb25zdCB1aW50OF90ICpkYXRhID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCAq
PigKLSAgICAgICAgY2FsbC5wYXJhbXMuZ2V0UGFyYW0oImRhdGEiLCBQYXJhbVR5cGU6OlR2b2lk
Q29uc3RQb2ludGVyLCBkYXRhUGFyYW1PZmZzZXQpCi0gICAgICAgICAgICAudmFsdWUudm9pZENv
bnN0UG9pbnRlclZhbCk7Ci0KLSAgICBHTHNpemVpIGltYWdlU2l6ZSA9IGNhbGwucGFyYW1zLmdl
dFBhcmFtKCJpbWFnZVNpemUiLCBQYXJhbVR5cGU6OlRHTHNpemVpLCBkYXRhUGFyYW1PZmZzZXQg
LSAxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZS5HTHNpemVpVmFsOwotCi0g
ICAgY29uc3QgdWludDhfdCAqcGl4ZWxEYXRhID0gbnVsbHB0cjsKLQotICAgIGlmIChwaXhlbFVu
cGFja0J1ZmZlcikKLSAgICB7Ci0gICAgICAgIC8vIElmIHVzaW5nIHBpeGVsIHVucGFjayBidWZm
ZXIsIG1hcCB0aGUgYnVmZmVyIGFuZCB0cmFjayBpdHMgZGF0YQotICAgICAgICBBU1NFUlQoIXBp
eGVsVW5wYWNrQnVmZmVyLT5pc01hcHBlZCgpKTsKLSAgICAgICAgKHZvaWQpcGl4ZWxVbnBhY2tC
dWZmZXItPm1hcFJhbmdlKGNvbnRleHQsIHJlaW50ZXJwcmV0X2Nhc3Q8R0xpbnRwdHI+KGRhdGEp
LCBpbWFnZVNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
TF9NQVBfUkVBRF9CSVQpOwotCi0gICAgICAgIHBpeGVsRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDhfdCAqPihwaXhlbFVucGFja0J1ZmZlci0+Z2V0TWFwUG9pbnRlcigpKTsKLSAg
ICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgcGl4ZWxEYXRhID0gZGF0YTsKLSAgICB9Ci0K
LSAgICBpZiAoIXBpeGVsRGF0YSkKLSAgICB7Ci0gICAgICAgIC8vIElmIG5vIHBvaW50ZXIgd2Fz
IHByb3ZpZGVkIGFuZCB3ZSB3ZXJlbid0IGFibGUgdG8gbWFwIHRoZSBidWZmZXIsIHRoZXJlIGlz
IG5vIGRhdGEgdG8KLSAgICAgICAgLy8gY2FwdHVyZQotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgLy8gTG9vayB1cCB0aGUgdGV4dHVyZSB0eXBlCi0gICAgZ2w6OlRleHR1cmVUYXJnZXQg
dGFyZ2V0UGFja2VkID0KLSAgICAgICAgY2FsbC5wYXJhbXMuZ2V0UGFyYW0oInRhcmdldFBhY2tl
ZCIsIFBhcmFtVHlwZTo6VFRleHR1cmVUYXJnZXQsIDApLnZhbHVlLlRleHR1cmVUYXJnZXRWYWw7
Ci0gICAgZ2w6OlRleHR1cmVUeXBlIHRleHR1cmVUeXBlID0gZ2w6OlRleHR1cmVUYXJnZXRUb1R5
cGUodGFyZ2V0UGFja2VkKTsKLQotICAgIC8vIENyZWF0ZSBhIGNvcHkgb2YgdGhlIGluY29taW5n
IGRhdGEKLSAgICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBjb21wcmVzc2VkRGF0YTsKLSAgICBjb21w
cmVzc2VkRGF0YS5hc3NpZ24ocGl4ZWxEYXRhLCBwaXhlbERhdGEgKyBpbWFnZVNpemUpOwotCi0g
ICAgLy8gTG9vayB1cCB0aGUgY3VycmVudGx5IGJvdW5kIHRleHR1cmUKLSAgICBnbDo6VGV4dHVy
ZSAqdGV4dHVyZSA9IGNvbnRleHQtPmdldFN0YXRlKCkuZ2V0VGFyZ2V0VGV4dHVyZSh0ZXh0dXJl
VHlwZSk7Ci0gICAgQVNTRVJUKHRleHR1cmUpOwotCi0gICAgLy8gUmVjb3JkIHRoZSBkYXRhLCBp
bmRleGVkIGJ5IHRleHR1cmVJRCBhbmQgbGV2ZWwKLSAgICBHTGludCBsZXZlbCA9IGNhbGwucGFy
YW1zLmdldFBhcmFtKCJsZXZlbCIsIFBhcmFtVHlwZTo6VEdMaW50LCAxKS52YWx1ZS5HTGludFZh
bDsKLSAgICBzdGQ6OnZlY3Rvcjx1aW50OF90PiAmbGV2ZWxEYXRhID0KLSAgICAgICAgY29udGV4
dC0+Z2V0U2hhcmVHcm91cCgpLT5nZXRGcmFtZUNhcHR1cmVTaGFyZWQoKS0+Z2V0Q2FjaGVkVGV4
dHVyZUxldmVsRGF0YSgKLSAgICAgICAgICAgIHRleHR1cmUsIHRhcmdldFBhY2tlZCwgbGV2ZWws
IGNhbGwuZW50cnlQb2ludCk7Ci0KLSAgICAvLyBVbnBhY2sgdGhlIHZhcmlvdXMgcGl4ZWwgcmVj
dGFuZ2xlIHBhcmFtZXRlcnMuCi0gICAgQVNTRVJUKHdpZHRoUGFyYW1PZmZzZXQgIT0gLTEpOwot
ICAgIEFTU0VSVChoZWlnaHRQYXJhbU9mZnNldCAhPSAtMSk7Ci0gICAgR0xzaXplaSBwaXhlbFdp
ZHRoID0KLSAgICAgICAgY2FsbC5wYXJhbXMuZ2V0UGFyYW0oIndpZHRoIiwgUGFyYW1UeXBlOjpU
R0xzaXplaSwgd2lkdGhQYXJhbU9mZnNldCkudmFsdWUuR0xzaXplaVZhbDsKLSAgICBHTHNpemVp
IHBpeGVsSGVpZ2h0ID0KLSAgICAgICAgY2FsbC5wYXJhbXMuZ2V0UGFyYW0oImhlaWdodCIsIFBh
cmFtVHlwZTo6VEdMc2l6ZWksIGhlaWdodFBhcmFtT2Zmc2V0KS52YWx1ZS5HTHNpemVpVmFsOwot
ICAgIEdMc2l6ZWkgcGl4ZWxEZXB0aCA9IDE7Ci0gICAgaWYgKGRlcHRoUGFyYW1PZmZzZXQgIT0g
LTEpCi0gICAgewotICAgICAgICBwaXhlbERlcHRoID0KLSAgICAgICAgICAgIGNhbGwucGFyYW1z
LmdldFBhcmFtKCJkZXB0aCIsIFBhcmFtVHlwZTo6VEdMc2l6ZWksIGRlcHRoUGFyYW1PZmZzZXQp
LnZhbHVlLkdMc2l6ZWlWYWw7Ci0gICAgfQotCi0gICAgR0xpbnQgeG9mZnNldCA9IDA7Ci0gICAg
R0xpbnQgeW9mZnNldCA9IDA7Ci0gICAgR0xpbnQgem9mZnNldCA9IDA7Ci0KLSAgICBpZiAoeG9m
ZnNldFBhcmFtT2Zmc2V0ICE9IC0xKQotICAgIHsKLSAgICAgICAgeG9mZnNldCA9Ci0gICAgICAg
ICAgICBjYWxsLnBhcmFtcy5nZXRQYXJhbSgieG9mZnNldCIsIFBhcmFtVHlwZTo6VEdMaW50LCB4
b2Zmc2V0UGFyYW1PZmZzZXQpLnZhbHVlLkdMaW50VmFsOwotICAgIH0KLQotICAgIGlmICh5b2Zm
c2V0UGFyYW1PZmZzZXQgIT0gLTEpCi0gICAgewotICAgICAgICB5b2Zmc2V0ID0KLSAgICAgICAg
ICAgIGNhbGwucGFyYW1zLmdldFBhcmFtKCJ5b2Zmc2V0IiwgUGFyYW1UeXBlOjpUR0xpbnQsIHlv
ZmZzZXRQYXJhbU9mZnNldCkudmFsdWUuR0xpbnRWYWw7Ci0gICAgfQotCi0gICAgaWYgKHpvZmZz
ZXRQYXJhbU9mZnNldCAhPSAtMSkKLSAgICB7Ci0gICAgICAgIHpvZmZzZXQgPQotICAgICAgICAg
ICAgY2FsbC5wYXJhbXMuZ2V0UGFyYW0oInpvZmZzZXQiLCBQYXJhbVR5cGU6OlRHTGludCwgem9m
ZnNldFBhcmFtT2Zmc2V0KS52YWx1ZS5HTGludFZhbDsKLSAgICB9Ci0KLSAgICAvLyBHZXQgdGhl
IGZvcm1hdCBvZiB0aGUgdGV4dHVyZSBmb3IgdXNlIHdpdGggdGhlIGNvbXByZXNzZWQgYmxvY2sg
c2l6ZSBtYXRoLgotICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmZm9ybWF0ID0gKnRleHR1
cmUtPmdldEZvcm1hdCh0YXJnZXRQYWNrZWQsIGxldmVsKS5pbmZvOwotCi0gICAgLy8gRGl2aWRl
IGRpbWVuc2lvbnMgYWNjb3JkaW5nIHRvIGJsb2NrIHNpemUuCi0gICAgY29uc3QgZ2w6OkV4dGVu
dHMgJmxldmVsRXh0ZW50cyA9IHRleHR1cmUtPmdldEV4dGVudHModGFyZ2V0UGFja2VkLCBsZXZl
bCk7Ci0KLSAgICAvLyBTY2FsZSBkb3duIHRoZSB3aWR0aC9oZWlnaHQgcGl4ZWwgb2Zmc2V0cyB0
byByZWZsZWN0IGJsb2NrIHNpemUKLSAgICBpbnQgYmxvY2tXaWR0aCAgPSBzdGF0aWNfY2FzdDxp
bnQ+KGZvcm1hdC5jb21wcmVzc2VkQmxvY2tXaWR0aCk7Ci0gICAgaW50IGJsb2NrSGVpZ2h0ID0g
c3RhdGljX2Nhc3Q8aW50Pihmb3JtYXQuY29tcHJlc3NlZEJsb2NrSGVpZ2h0KTsKLSAgICBBU1NF
UlQoZm9ybWF0LmNvbXByZXNzZWRCbG9ja0RlcHRoID09IDEpOwotCi0gICAgLy8gUm91bmQgdGhl
IGluY29taW5nIHdpZHRoIGFuZCBoZWlnaHQgdXAgdG8gYWxpZ24gd2l0aCBibG9jayBzaXplCi0g
ICAgcGl4ZWxXaWR0aCAgPSByeDo6cm91bmRVcChwaXhlbFdpZHRoLCBibG9ja1dpZHRoKTsKLSAg
ICBwaXhlbEhlaWdodCA9IHJ4Ojpyb3VuZFVwKHBpeGVsSGVpZ2h0LCBibG9ja0hlaWdodCk7Ci0K
LSAgICAvLyBTY2FsZSB0aGUgd2lkdGgsIGhlaWdodCwgYW5kIG9mZnNldHMKLSAgICBwaXhlbFdp
ZHRoIC89IGJsb2NrV2lkdGg7Ci0gICAgcGl4ZWxIZWlnaHQgLz0gYmxvY2tIZWlnaHQ7Ci0gICAg
eG9mZnNldCAvPSBibG9ja1dpZHRoOwotICAgIHlvZmZzZXQgLz0gYmxvY2tIZWlnaHQ7Ci0KLSAg
ICBHTGludCBwaXhlbEJ5dGVzID0gc3RhdGljX2Nhc3Q8R0xpbnQ+KGZvcm1hdC5waXhlbEJ5dGVz
KTsKLQotICAgIC8vIEFsc28gcm91bmQgdGhlIHRleHR1cmUncyB3aWR0aCBhbmQgaGVpZ2h0IHVw
IHRvIHJlZmxlY3QgYmxvY2sgc2l6ZQotICAgIGludCBsZXZlbFdpZHRoICA9IHJ4Ojpyb3VuZFVw
KGxldmVsRXh0ZW50cy53aWR0aCwgYmxvY2tXaWR0aCk7Ci0gICAgaW50IGxldmVsSGVpZ2h0ID0g
cng6OnJvdW5kVXAobGV2ZWxFeHRlbnRzLmhlaWdodCwgYmxvY2tIZWlnaHQpOwotCi0gICAgR0xp
bnQgcGl4ZWxSb3dQaXRjaCAgID0gcGl4ZWxXaWR0aCAqIHBpeGVsQnl0ZXM7Ci0gICAgR0xpbnQg
cGl4ZWxEZXB0aFBpdGNoID0gcGl4ZWxSb3dQaXRjaCAqIHBpeGVsSGVpZ2h0OwotICAgIEdMaW50
IGxldmVsUm93UGl0Y2ggICA9IChsZXZlbFdpZHRoIC8gYmxvY2tXaWR0aCkgKiBwaXhlbEJ5dGVz
OwotICAgIEdMaW50IGxldmVsRGVwdGhQaXRjaCA9IChsZXZlbEhlaWdodCAvIGJsb2NrSGVpZ2h0
KSAqIGxldmVsUm93UGl0Y2g7Ci0KLSAgICBmb3IgKEdMaW50IHppbmRleCA9IDA7IHppbmRleCA8
IHBpeGVsRGVwdGg7ICsremluZGV4KQotICAgIHsKLSAgICAgICAgR0xpbnQgeiA9IHppbmRleCAr
IHpvZmZzZXQ7Ci0gICAgICAgIGZvciAoR0xpbnQgeWluZGV4ID0gMDsgeWluZGV4IDwgcGl4ZWxI
ZWlnaHQ7ICsreWluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBHTGludCB5ICAgICAgICAg
ICA9IHlpbmRleCArIHlvZmZzZXQ7Ci0gICAgICAgICAgICBHTGludCBwaXhlbE9mZnNldCA9IHpp
bmRleCAqIHBpeGVsRGVwdGhQaXRjaCArIHlpbmRleCAqIHBpeGVsUm93UGl0Y2g7Ci0gICAgICAg
ICAgICBHTGludCBsZXZlbE9mZnNldCA9IHogKiBsZXZlbERlcHRoUGl0Y2ggKyB5ICogbGV2ZWxS
b3dQaXRjaCArIHhvZmZzZXQgKiBwaXhlbEJ5dGVzOwotICAgICAgICAgICAgQVNTRVJUKHN0YXRp
Y19jYXN0PHNpemVfdD4obGV2ZWxPZmZzZXQgKyBwaXhlbFJvd1BpdGNoKSA8PSBsZXZlbERhdGEu
c2l6ZSgpKTsKLSAgICAgICAgICAgIG1lbWNweSgmbGV2ZWxEYXRhW2xldmVsT2Zmc2V0XSwgJnBp
eGVsRGF0YVtwaXhlbE9mZnNldF0sIHBpeGVsUm93UGl0Y2gpOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKHBpeGVsVW5wYWNrQnVmZmVyKQotICAgIHsKLSAgICAgICAgR0xib29sZWFuIHN1
Y2Nlc3M7Ci0gICAgICAgICh2b2lkKXBpeGVsVW5wYWNrQnVmZmVyLT51bm1hcChjb250ZXh0LCAm
c3VjY2Vzcyk7Ci0gICAgICAgIEFTU0VSVChzdWNjZXNzKTsKLSAgICB9Ci19Ci0KIFBhZ2VSYW5n
ZTo6UGFnZVJhbmdlKHNpemVfdCBzdGFydCwgc2l6ZV90IGVuZCkgOiBzdGFydChzdGFydCksIGVu
ZChlbmQpIHt9CiBQYWdlUmFuZ2U6On5QYWdlUmFuZ2UoKSA9IGRlZmF1bHQ7CiAKQEAgLTUzMjMs
NDEgKzUwNzQsNzAgQEAgdm9pZCBGcmFtZUNhcHR1cmVTaGFyZWQ6OnRyYWNrVGV4dHVyZVVwZGF0
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgY29uc3QgQ2EKIHsKICAgICBpbnQgaW5kZXgg
ICAgICAgICAgICAgPSAwOwogICAgIHN0ZDo6c3RyaW5nIHBhcmFtTmFtZSA9ICJ0YXJnZXRQYWNr
ZWQiOworICAgIFBhcmFtVHlwZSBwYXJhbVR5cGUgICA9IFBhcmFtVHlwZTo6VFRleHR1cmVUYXJn
ZXQ7CiAKICAgICAvLyBTb21lIGNhbGxzIHByb3ZpZGUgdGhlIHRleHR1cmVJRCBkaXJlY3RseQor
ICAgIC8vIEZvciB0aGUgcmVzdCwgbG9vayBpdCB1cCBiYXNlZCBvbiB0aGUgY3VycmVudGx5IGJv
dW5kIHRleHR1cmUKICAgICBzd2l0Y2ggKGNhbGwuZW50cnlQb2ludCkKICAgICB7CiAgICAgICAg
IGNhc2UgRW50cnlQb2ludDo6R0xDb21wcmVzc2VkQ29weVRleHR1cmVDSFJPTUlVTToKICAgICAg
ICAgICAgIGluZGV4ICAgICA9IDE7CiAgICAgICAgICAgICBwYXJhbU5hbWUgPSAiZGVzdElkUGFj
a2VkIjsKKyAgICAgICAgICAgIHBhcmFtVHlwZSA9IFBhcmFtVHlwZTo6VFRleHR1cmVJRDsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29weVRleHR1cmVD
SFJPTUlVTToKICAgICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENvcHlTdWJUZXh0dXJlQ0hST01J
VU06CiAgICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xDb3B5VGV4dHVyZTNEQU5HTEU6CiAgICAg
ICAgICAgICBpbmRleCAgICAgPSAzOwogICAgICAgICAgICAgcGFyYW1OYW1lID0gImRlc3RJZFBh
Y2tlZCI7CisgICAgICAgICAgICBwYXJhbVR5cGUgPSBQYXJhbVR5cGU6OlRUZXh0dXJlSUQ7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENvcHlJbWFnZVN1
YkRhdGE6CisgICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xDb3B5SW1hZ2VTdWJEYXRhRVhUOgor
ICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29weUltYWdlU3ViRGF0YU9FUzoKKyAgICAgICAg
ICAgIGluZGV4ICAgICA9IDc7CisgICAgICAgICAgICBwYXJhbU5hbWUgPSAiZHN0VGFyZ2V0IjsK
KyAgICAgICAgICAgIHBhcmFtVHlwZSA9IFBhcmFtVHlwZTo6VEdMZW51bTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0g
ICAgLy8gRm9yIHRoZSByZXN0LCBsb29rIGl0IHVwIGJhc2VkIG9uIHRoZSBjdXJyZW50bHkgYm91
bmQgdGV4dHVyZQogICAgIEdMdWludCBpZCA9IDA7Ci0gICAgaWYgKGluZGV4ID09IDApCi0gICAg
ewotICAgICAgICBnbDo6VGV4dHVyZVRhcmdldCB0YXJnZXRQYWNrZWQgPQotICAgICAgICAgICAg
Y2FsbC5wYXJhbXMuZ2V0UGFyYW0ocGFyYW1OYW1lLmNfc3RyKCksIFBhcmFtVHlwZTo6VFRleHR1
cmVUYXJnZXQsIGluZGV4KQotICAgICAgICAgICAgICAgIC52YWx1ZS5UZXh0dXJlVGFyZ2V0VmFs
OwotICAgICAgICBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5cGUgPSBnbDo6VGV4dHVyZVRhcmdl
dFRvVHlwZSh0YXJnZXRQYWNrZWQpOwotICAgICAgICBnbDo6VGV4dHVyZSAqdGV4dHVyZSAgICAg
ICAgPSBjb250ZXh0LT5nZXRTdGF0ZSgpLmdldFRhcmdldFRleHR1cmUodGV4dHVyZVR5cGUpOwot
ICAgICAgICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgPSB0ZXh0dXJlLT5pZCgpLnZhbHVl
OwotICAgIH0KLSAgICBlbHNlCisgICAgc3dpdGNoIChwYXJhbVR5cGUpCiAgICAgewotICAgICAg
ICBnbDo6VGV4dHVyZUlEIGRlc3RJRFBhY2tlZCA9Ci0gICAgICAgICAgICBjYWxsLnBhcmFtcy5n
ZXRQYXJhbShwYXJhbU5hbWUuY19zdHIoKSwgUGFyYW1UeXBlOjpUVGV4dHVyZUlELCBpbmRleCkK
LSAgICAgICAgICAgICAgICAudmFsdWUuVGV4dHVyZUlEVmFsOwotICAgICAgICBpZCA9IGRlc3RJ
RFBhY2tlZC52YWx1ZTsKKyAgICAgICAgY2FzZSBQYXJhbVR5cGU6OlRUZXh0dXJlVGFyZ2V0Ogor
ICAgICAgICB7CisgICAgICAgICAgICBnbDo6VGV4dHVyZVRhcmdldCB0YXJnZXRQYWNrZWQgPQor
ICAgICAgICAgICAgICAgIGNhbGwucGFyYW1zLmdldFBhcmFtKHBhcmFtTmFtZS5jX3N0cigpLCBQ
YXJhbVR5cGU6OlRUZXh0dXJlVGFyZ2V0LCBpbmRleCkKKyAgICAgICAgICAgICAgICAgICAgLnZh
bHVlLlRleHR1cmVUYXJnZXRWYWw7CisgICAgICAgICAgICBnbDo6VGV4dHVyZVR5cGUgdGV4dHVy
ZVR5cGUgPSBnbDo6VGV4dHVyZVRhcmdldFRvVHlwZSh0YXJnZXRQYWNrZWQpOworICAgICAgICAg
ICAgZ2w6OlRleHR1cmUgKnRleHR1cmUgICAgICAgID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRU
YXJnZXRUZXh0dXJlKHRleHR1cmVUeXBlKTsKKyAgICAgICAgICAgIGlkICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IHRleHR1cmUtPmlkKCkudmFsdWU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICBjYXNlIFBhcmFtVHlwZTo6VFRleHR1cmVJRDoKKyAgICAgICAgewor
ICAgICAgICAgICAgZ2w6OlRleHR1cmVJRCBkZXN0SURQYWNrZWQgPQorICAgICAgICAgICAgICAg
IGNhbGwucGFyYW1zLmdldFBhcmFtKHBhcmFtTmFtZS5jX3N0cigpLCBQYXJhbVR5cGU6OlRUZXh0
dXJlSUQsIGluZGV4KQorICAgICAgICAgICAgICAgICAgICAudmFsdWUuVGV4dHVyZUlEVmFsOwor
ICAgICAgICAgICAgaWQgPSBkZXN0SURQYWNrZWQudmFsdWU7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICBjYXNlIFBhcmFtVHlwZTo6VEdMZW51bToKKyAgICAgICAgewor
ICAgICAgICAgICAgR0xlbnVtIHRhcmdldCA9CisgICAgICAgICAgICAgICAgY2FsbC5wYXJhbXMu
Z2V0UGFyYW0ocGFyYW1OYW1lLmNfc3RyKCksIFBhcmFtVHlwZTo6VEdMZW51bSwgaW5kZXgpLnZh
bHVlLkdMZW51bVZhbDsKKyAgICAgICAgICAgIGdsOjpUZXh0dXJlVGFyZ2V0IHRhcmdldFBhY2tl
ZCA9IGdsOjpQYWNrUGFyYW08Z2w6OlRleHR1cmVUYXJnZXQ+KHRhcmdldCk7CisgICAgICAgICAg
ICBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5cGUgICAgPSBnbDo6VGV4dHVyZVRhcmdldFRvVHlw
ZSh0YXJnZXRQYWNrZWQpOworICAgICAgICAgICAgZ2w6OlRleHR1cmUgKnRleHR1cmUgICAgICAg
ICAgID0gY29udGV4dC0+Z2V0U3RhdGUoKS5nZXRUYXJnZXRUZXh0dXJlKHRleHR1cmVUeXBlKTsK
KyAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHRleHR1cmUtPmlk
KCkudmFsdWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgRVJSKCkgPDwgIlVuaGFuZGxlZCBwYXJhbVR5cGU9ICIgPDwgc3RhdGlj
X2Nhc3Q8aW50PihwYXJhbVR5cGUpOworICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIC8vIE1hcmsgaXQgYXMgbW9kaWZpZWQKQEAgLTU5
MjYsMjQgKzU3MDYsNiBAQCB2b2lkIEZyYW1lQ2FwdHVyZVNoYXJlZDo6bWF5YmVDYXB0dXJlUHJl
Q2FsbFVwZGF0ZXMoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCi0gICAgICAgIGNh
c2UgRW50cnlQb2ludDo6R0xDb21wcmVzc2VkVGV4SW1hZ2UyRDoKLSAgICAgICAgY2FzZSBFbnRy
eVBvaW50OjpHTENvbXByZXNzZWRUZXhJbWFnZTNEOgotICAgICAgICBjYXNlIEVudHJ5UG9pbnQ6
OkdMQ29tcHJlc3NlZFRleFN1YkltYWdlMkQ6Ci0gICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xD
b21wcmVzc2VkVGV4U3ViSW1hZ2UzRDoKLSAgICAgICAgewotICAgICAgICAgICAgY2FwdHVyZUNv
bXByZXNzZWRUZXh0dXJlRGF0YShjb250ZXh0LCBjYWxsKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0KLSAgICAgICAgY2FzZSBFbnRyeVBvaW50OjpHTENvcHlJbWFnZVN1YkRhdGE6
Ci0gICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xDb3B5SW1hZ2VTdWJEYXRhRVhUOgotICAgICAg
ICBjYXNlIEVudHJ5UG9pbnQ6OkdMQ29weUltYWdlU3ViRGF0YU9FUzoKLSAgICAgICAgewotICAg
ICAgICAgICAgLy8gZ2xDb3B5SW1hZ2VTdWJEYXRhIHN1cHBvcnRzIGNvcHlpbmcgY29tcHJlc3Nl
ZCBhbmQgdW5jb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0cy4KLSAgICAgICAgICAgIGNvcHlDb21w
cmVzc2VkVGV4dHVyZURhdGEoY29udGV4dCwgY2FsbCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotCiAgICAgICAgIGNhc2UgRW50cnlQb2ludDo6R0xEZWxldGVUZXh0dXJlczoKICAg
ICAgICAgewogICAgICAgICAgICAgLy8gRnJlZSBhbnkgVGV4dHVyZUxldmVsRGF0YU1hcCBlbnRy
aWVzIGJlaW5nIHRyYWNrZWQgZm9yIHRoaXMgdGV4dHVyZQpAQCAtNTk2MSw5ICs1NzIzLDYgQEAg
dm9pZCBGcmFtZUNhcHR1cmVTaGFyZWQ6Om1heWJlQ2FwdHVyZVByZUNhbGxVcGRhdGVzKAogICAg
ICAgICAgICAgLy8gRm9yIGVhY2ggdGV4dHVyZSBsaXN0ZWQgZm9yIGRlbGV0aW9uCiAgICAgICAg
ICAgICBmb3IgKGludDMyX3QgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgLy8gTG9vayBpdCB1cCBpbiB0aGUgY2FjaGUsIGFuZCBkZWxldGUgaXQgaWYg
Zm91bmQKLSAgICAgICAgICAgICAgICBkZWxldGVDYWNoZWRUZXh0dXJlTGV2ZWxEYXRhKHRleHR1
cmVJRHNbaV0pOwotCiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgY2FwdHVyaW5nLCB0cmFj
ayB3aGF0IHRleHR1cmVzIGhhdmUgYmVlbiBkZWxldGVkCiAgICAgICAgICAgICAgICAgaGFuZGxl
RGVsZXRlZFJlc291cmNlKHRleHR1cmVJRHNbaV0pOwogICAgICAgICAgICAgfQpAQCAtNzM4NCwx
NTkgKzcxNDMsNiBAQCB2b2lkIEZyYW1lQ2FwdHVyZVNoYXJlZDo6c2V0UHJvZ3JhbVNvdXJjZXMo
Z2w6OlNoYWRlclByb2dyYW1JRCBpZCwgUHJvZ3JhbVNvdXJjZQogICAgIG1DYWNoZWRQcm9ncmFt
U291cmNlc1tpZF0gPSBzb3VyY2VzOwogfQogCi1jb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiAm
RnJhbWVDYXB0dXJlU2hhcmVkOjpyZXRyaWV2ZUNhY2hlZFRleHR1cmVMZXZlbChnbDo6VGV4dHVy
ZUlEIGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1cmVUYXJnZXQgdGFyZ2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xpbnQgbGV2ZWwpCi17Ci0gICAgLy8gTG9vayB1cCB0aGUgZGF0YSBm
b3IgdGhlIHJlcXVlc3RlZCB0ZXh0dXJlCi0gICAgY29uc3QgYXV0byAmZm91bmRUZXh0dXJlTGV2
ZWxzID0gbUNhY2hlZFRleHR1cmVMZXZlbERhdGEuZmluZChpZCk7Ci0gICAgaWYgKGZvdW5kVGV4
dHVyZUxldmVscyA9PSBtQ2FjaGVkVGV4dHVyZUxldmVsRGF0YS5lbmQoKSkKLSAgICB7Ci0gICAg
ICAgIEVSUigpIDw8ICJDYWNoZWQgdGV4dHVyZSBsZXZlbCBub3QgZm91bmQgZm9yIGlkPSIgPDwg
aWQudmFsdWUgPDwgIiB0YXJnZXQ9IiA8PCB0YXJnZXQKLSAgICAgICAgICAgICAgPDwgIiBsZXZl
bD0iIDw8IGxldmVsOwotICAgICAgICBVTlJFQUNIQUJMRSgpOwotICAgIH0KLQotICAgIEdMaW50
IGFkanVzdGVkTGV2ZWwgPSBHZXRBZGp1c3RlZFRleHR1cmVDYWNoZUxldmVsKHRhcmdldCwgbGV2
ZWwpOwotCi0gICAgY29uc3QgYXV0byAmZm91bmRUZXh0dXJlTGV2ZWwgPSBmb3VuZFRleHR1cmVM
ZXZlbHMtPnNlY29uZC5maW5kKGFkanVzdGVkTGV2ZWwpOwotICAgIGlmIChmb3VuZFRleHR1cmVM
ZXZlbCA9PSBmb3VuZFRleHR1cmVMZXZlbHMtPnNlY29uZC5lbmQoKSkKLSAgICB7Ci0gICAgICAg
IEVSUigpIDw8ICJDYWNoZWQgdGV4dHVyZSBsZXZlbCBub3QgZm91bmQgZm9yIGlkPSIgPDwgaWQu
dmFsdWUgPDwgIiB0YXJnZXQ9IiA8PCB0YXJnZXQKLSAgICAgICAgICAgICAgPDwgIiBsZXZlbD0i
IDw8IGxldmVsIDw8ICIgYWRqdXN0ZWRMZXZlbD0iIDw8IGFkanVzdGVkTGV2ZWw7Ci0gICAgICAg
IFVOUkVBQ0hBQkxFKCk7Ci0gICAgfQotICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+ICZj
YXB0dXJlZFRleHR1cmVMZXZlbCA9IGZvdW5kVGV4dHVyZUxldmVsLT5zZWNvbmQ7Ci0KLSAgICBy
ZXR1cm4gY2FwdHVyZWRUZXh0dXJlTGV2ZWw7Ci19Ci0KLXZvaWQgRnJhbWVDYXB0dXJlU2hhcmVk
Ojpjb3B5Q2FjaGVkVGV4dHVyZUxldmVsKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1cmVJ
RCBzcmNJRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMaW50IHNyY0xldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2w6OlRleHR1cmVJRCBkc3RJRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGRzdExldmVsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ2FsbENhcHR1cmUgJmNhbGwpCi17
Ci0gICAgLy8gVE9ETyhodHRwOi8vYW5nbGVidWcuY29tLzU2MDQpOiBBZGQgc3VwcG9ydCBmb3Ig
cGFydGlhbCBsZXZlbCBjb3BpZXMuCi0gICAgQVNTRVJUKGNhbGwucGFyYW1zLmdldFBhcmFtKCJz
cmNYIiwgUGFyYW1UeXBlOjpUR0xpbnQsIDMpLnZhbHVlLkdMaW50VmFsID09IDApOwotICAgIEFT
U0VSVChjYWxsLnBhcmFtcy5nZXRQYXJhbSgic3JjWSIsIFBhcmFtVHlwZTo6VEdMaW50LCA0KS52
YWx1ZS5HTGludFZhbCA9PSAwKTsKLSAgICBBU1NFUlQoY2FsbC5wYXJhbXMuZ2V0UGFyYW0oInNy
Y1oiLCBQYXJhbVR5cGU6OlRHTGludCwgNSkudmFsdWUuR0xpbnRWYWwgPT0gMCk7Ci0gICAgQVNT
RVJUKGNhbGwucGFyYW1zLmdldFBhcmFtKCJkc3RYIiwgUGFyYW1UeXBlOjpUR0xpbnQsIDkpLnZh
bHVlLkdMaW50VmFsID09IDApOwotICAgIEFTU0VSVChjYWxsLnBhcmFtcy5nZXRQYXJhbSgiZHN0
WSIsIFBhcmFtVHlwZTo6VEdMaW50LCAxMCkudmFsdWUuR0xpbnRWYWwgPT0gMCk7Ci0gICAgQVNT
RVJUKGNhbGwucGFyYW1zLmdldFBhcmFtKCJkc3RaIiwgUGFyYW1UeXBlOjpUR0xpbnQsIDExKS52
YWx1ZS5HTGludFZhbCA9PSAwKTsKLSAgICBHTGVudW0gc3JjVGFyZ2V0ICA9IGNhbGwucGFyYW1z
LmdldFBhcmFtKCJzcmNUYXJnZXQiLCBQYXJhbVR5cGU6OlRHTGVudW0sIDEpLnZhbHVlLkdMZW51
bVZhbDsKLSAgICBHTHNpemVpIHNyY1dpZHRoICA9IGNhbGwucGFyYW1zLmdldFBhcmFtKCJzcmNX
aWR0aCIsIFBhcmFtVHlwZTo6VEdMc2l6ZWksIDEyKS52YWx1ZS5HTHNpemVpVmFsOwotICAgIEdM
c2l6ZWkgc3JjSGVpZ2h0ID0gY2FsbC5wYXJhbXMuZ2V0UGFyYW0oInNyY0hlaWdodCIsIFBhcmFt
VHlwZTo6VEdMc2l6ZWksIDEzKS52YWx1ZS5HTHNpemVpVmFsOwotICAgIEdMc2l6ZWkgc3JjRGVw
dGggID0gY2FsbC5wYXJhbXMuZ2V0UGFyYW0oInNyY0RlcHRoIiwgUGFyYW1UeXBlOjpUR0xzaXpl
aSwgMTQpLnZhbHVlLkdMc2l6ZWlWYWw7Ci0gICAgZ2w6OlRleHR1cmUgKnNyY1RleHR1cmUgICAg
ICAgICAgID0gY29udGV4dC0+Z2V0VGV4dHVyZSh7c3JjSUR9KTsKLSAgICBnbDo6VGV4dHVyZVRh
cmdldCBzcmNUYXJnZXRQYWNrZWQgPSBnbDo6UGFja1BhcmFtPGdsOjpUZXh0dXJlVGFyZ2V0Pihz
cmNUYXJnZXQpOwotICAgIGNvbnN0IGdsOjpFeHRlbnRzICZzcmNFeHRlbnRzICAgICA9IHNyY1Rl
eHR1cmUtPmdldEV4dGVudHMoc3JjVGFyZ2V0UGFja2VkLCBzcmNMZXZlbCk7Ci0gICAgQVNTRVJU
KHNyY0V4dGVudHMud2lkdGggPT0gc3JjV2lkdGggJiYgc3JjRXh0ZW50cy5oZWlnaHQgPT0gc3Jj
SGVpZ2h0ICYmCi0gICAgICAgICAgIHNyY0V4dGVudHMuZGVwdGggPT0gc3JjRGVwdGgpOwotCi0g
ICAgLy8gTG9vayB1cCB0aGUgZGF0YSBmb3IgdGhlIHNvdXJjZSB0ZXh0dXJlCi0gICAgY29uc3Qg
YXV0byAmZm91bmRTcmNUZXh0dXJlTGV2ZWxzID0gbUNhY2hlZFRleHR1cmVMZXZlbERhdGEuZmlu
ZChzcmNJRCk7Ci0gICAgQVNTRVJUKGZvdW5kU3JjVGV4dHVyZUxldmVscyAhPSBtQ2FjaGVkVGV4
dHVyZUxldmVsRGF0YS5lbmQoKSk7Ci0KLSAgICAvLyBGb3IgdGhhdCB0ZXh0dXJlLCBsb29rIHVw
IHRoZSBkYXRhIGZvciB0aGUgZ2l2ZW4gbGV2ZWwKLSAgICBjb25zdCBhdXRvICZmb3VuZFNyY1Rl
eHR1cmVMZXZlbCA9IGZvdW5kU3JjVGV4dHVyZUxldmVscy0+c2Vjb25kLmZpbmQoc3JjTGV2ZWwp
OwotICAgIEFTU0VSVChmb3VuZFNyY1RleHR1cmVMZXZlbCAhPSBmb3VuZFNyY1RleHR1cmVMZXZl
bHMtPnNlY29uZC5lbmQoKSk7Ci0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8dWludDhfdD4gJnNyY1Rl
eHR1cmVMZXZlbCA9IGZvdW5kU3JjVGV4dHVyZUxldmVsLT5zZWNvbmQ7Ci0KLSAgICBhdXRvIGZv
dW5kRHN0VGV4dHVyZUxldmVscyA9IG1DYWNoZWRUZXh0dXJlTGV2ZWxEYXRhLmZpbmQoZHN0SUQp
OwotICAgIGlmIChmb3VuZERzdFRleHR1cmVMZXZlbHMgPT0gbUNhY2hlZFRleHR1cmVMZXZlbERh
dGEuZW5kKCkpCi0gICAgewotICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJlIElEIGRh
dGEuCi0gICAgICAgIGF1dG8gZW1wbGFjZVJlc3VsdCA9IG1DYWNoZWRUZXh0dXJlTGV2ZWxEYXRh
LmVtcGxhY2UoZHN0SUQsIFRleHR1cmVMZXZlbHMoKSk7Ci0gICAgICAgIEFTU0VSVChlbXBsYWNl
UmVzdWx0LnNlY29uZCk7Ci0gICAgICAgIGZvdW5kRHN0VGV4dHVyZUxldmVscyA9IGVtcGxhY2VS
ZXN1bHQuZmlyc3Q7Ci0gICAgfQotCi0gICAgVGV4dHVyZUxldmVscyAmZm91bmREc3RMZXZlbHMg
ICAgICAgICA9IGZvdW5kRHN0VGV4dHVyZUxldmVscy0+c2Vjb25kOwotICAgIFRleHR1cmVMZXZl
bHM6Oml0ZXJhdG9yIGZvdW5kRHN0TGV2ZWwgPSBmb3VuZERzdExldmVscy5maW5kKGRzdExldmVs
KTsKLSAgICBpZiAoZm91bmREc3RMZXZlbCAhPSBmb3VuZERzdExldmVscy5lbmQoKSkKLSAgICB7
Ci0gICAgICAgIC8vIElmIHdlIGhhdmUgYSBjYWNoZSBmb3IgdGhpcyBsZXZlbCwgcmVtb3ZlIGl0
IHNpbmNlIHdlJ3JlIHJlY3JlYXRpbmcgaXQuCi0gICAgICAgIGZvdW5kRHN0TGV2ZWxzLmVyYXNl
KGRzdExldmVsKTsKLSAgICB9Ci0KLSAgICAvLyBJbml0aWFsaXplIGRlc3RpbmF0aW9uIHRleHR1
cmUgZGF0YSBhbmQgY29weSB0aGUgc291cmNlIGludG8gaXQuCi0gICAgc3RkOjp2ZWN0b3I8dWlu
dDhfdD4gZHN0VGV4dHVyZUxldmVsID0gc3JjVGV4dHVyZUxldmVsOwotICAgIGF1dG8gZW1wbGFj
ZVJlc3VsdCA9IGZvdW5kRHN0TGV2ZWxzLmVtcGxhY2UoZHN0TGV2ZWwsIHN0ZDo6bW92ZShkc3RU
ZXh0dXJlTGV2ZWwpKTsKLSAgICBBU1NFUlQoZW1wbGFjZVJlc3VsdC5zZWNvbmQpOwotfQotCi1z
dGQ6OnZlY3Rvcjx1aW50OF90PiAmRnJhbWVDYXB0dXJlU2hhcmVkOjpnZXRDYWNoZWRUZXh0dXJl
TGV2ZWxEYXRhKGdsOjpUZXh0dXJlICp0ZXh0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4dHVyZVRh
cmdldCB0YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IHRleHR1cmVMZXZlbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RW50cnlQb2ludCBlbnRyeVBvaW50KQotewotICAgIGF1dG8gZm91bmRUZXh0dXJlTGV2ZWxzID0g
bUNhY2hlZFRleHR1cmVMZXZlbERhdGEuZmluZCh0ZXh0dXJlLT5pZCgpKTsKLSAgICBpZiAoZm91
bmRUZXh0dXJlTGV2ZWxzID09IG1DYWNoZWRUZXh0dXJlTGV2ZWxEYXRhLmVuZCgpKQotICAgIHsK
LSAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSBJRCBkYXRhLgotICAgICAgICBhdXRv
IGVtcGxhY2VSZXN1bHQgPSBtQ2FjaGVkVGV4dHVyZUxldmVsRGF0YS5lbXBsYWNlKHRleHR1cmUt
PmlkKCksIFRleHR1cmVMZXZlbHMoKSk7Ci0gICAgICAgIEFTU0VSVChlbXBsYWNlUmVzdWx0LnNl
Y29uZCk7Ci0gICAgICAgIGZvdW5kVGV4dHVyZUxldmVscyA9IGVtcGxhY2VSZXN1bHQuZmlyc3Q7
Ci0gICAgfQotCi0gICAgLy8gRm9yIHRoaXMgdGV4dHVyZSwgbG9vayB1cCB0aGUgYWRqdXN0ZWQg
bGV2ZWwsIHdoaWNoIG1heSBub3QgbWF0Y2ggMToxIGR1ZSB0byBjdWJlcwotICAgIEdMaW50IGFk
anVzdGVkTGV2ZWwgPSBHZXRBZGp1c3RlZFRleHR1cmVDYWNoZUxldmVsKHRhcmdldCwgdGV4dHVy
ZUxldmVsKTsKLQotICAgIFRleHR1cmVMZXZlbHMgJmZvdW5kTGV2ZWxzICAgICAgICAgPSBmb3Vu
ZFRleHR1cmVMZXZlbHMtPnNlY29uZDsKLSAgICBUZXh0dXJlTGV2ZWxzOjppdGVyYXRvciBmb3Vu
ZExldmVsID0gZm91bmRMZXZlbHMuZmluZChhZGp1c3RlZExldmVsKTsKLSAgICBpZiAoZm91bmRM
ZXZlbCAhPSBmb3VuZExldmVscy5lbmQoKSkKLSAgICB7Ci0gICAgICAgIGlmIChlbnRyeVBvaW50
ID09IEVudHJ5UG9pbnQ6OkdMQ29tcHJlc3NlZFRleEltYWdlMkQgfHwKLSAgICAgICAgICAgIGVu
dHJ5UG9pbnQgPT0gRW50cnlQb2ludDo6R0xDb21wcmVzc2VkVGV4SW1hZ2UzRCkKLSAgICAgICAg
ewotICAgICAgICAgICAgLy8gRGVsZXRlIHRoZSBjYWNoZWQgZW50cnkgaW4gY2FzZSB0aGUgY2Fs
bGVyIGlzIHJlc3BlY2lmeWluZyB0aGUgbGV2ZWwuCi0gICAgICAgICAgICBmb3VuZExldmVscy5l
cmFzZShhZGp1c3RlZExldmVsKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEFTU0VSVChlbnRyeVBvaW50ID09IEVudHJ5UG9pbnQ6OkdMQ29tcHJlc3Nl
ZFRleFN1YkltYWdlMkQgfHwKLSAgICAgICAgICAgICAgICAgICBlbnRyeVBvaW50ID09IEVudHJ5
UG9pbnQ6OkdMQ29tcHJlc3NlZFRleFN1YkltYWdlM0QpOwotCi0gICAgICAgICAgICAvLyBJZiB3
ZSBoYXZlIGEgY2FjaGUgZm9yIHRoaXMgbGV2ZWwsIHJldHVybiBpdCBub3cKLSAgICAgICAgICAg
IHJldHVybiBmb3VuZExldmVsLT5zZWNvbmQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBP
dGhlcndpc2UsIGNyZWF0ZSBhbiBhcHByb3ByaWF0ZWx5IHNpemVkIGNhY2hlIGZvciB0aGlzIGxl
dmVsCi0KLSAgICAvLyBHZXQgdGhlIGZvcm1hdCBvZiB0aGUgdGV4dHVyZSBmb3IgdXNlIHdpdGgg
dGhlIGNvbXByZXNzZWQgYmxvY2sgc2l6ZSBtYXRoLgotICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZv
cm1hdCAmZm9ybWF0ID0gKnRleHR1cmUtPmdldEZvcm1hdCh0YXJnZXQsIHRleHR1cmVMZXZlbCku
aW5mbzsKLQotICAgIC8vIERpdmlkZSBkaW1lbnNpb25zIGFjY29yZGluZyB0byBibG9jayBzaXpl
LgotICAgIGNvbnN0IGdsOjpFeHRlbnRzICZsZXZlbEV4dGVudHMgPSB0ZXh0dXJlLT5nZXRFeHRl
bnRzKHRhcmdldCwgdGV4dHVyZUxldmVsKTsKLQotICAgIC8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBu
ZWVkZWQgdG8gc3RvcmUgdGhlIGNvbXByZXNzZWQgbGV2ZWwKLSAgICBHTHVpbnQgc2l6ZUluQnl0
ZXM7Ci0gICAgYm9vbCByZXN1bHQgPSBmb3JtYXQuY29tcHV0ZUNvbXByZXNzZWRJbWFnZVNpemUo
bGV2ZWxFeHRlbnRzLCAmc2l6ZUluQnl0ZXMpOwotICAgIEFTU0VSVChyZXN1bHQpOwotCi0gICAg
Ly8gSW5pdGlhbGl6ZSB0ZXh0dXJlIHJlY3RhbmdsZSBkYXRhLiBEZWZhdWx0IGluaXQgdG8gemVy
byBmb3Igc3RhYmlsaXR5LgotICAgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IG5ld1BpeGVsRGF0YShz
aXplSW5CeXRlcywgMCk7Ci0gICAgYXV0byBlbXBsYWNlUmVzdWx0ID0gZm91bmRMZXZlbHMuZW1w
bGFjZShhZGp1c3RlZExldmVsLCBzdGQ6Om1vdmUobmV3UGl4ZWxEYXRhKSk7Ci0gICAgQVNTRVJU
KGVtcGxhY2VSZXN1bHQuc2Vjb25kKTsKLQotICAgIC8vIFVzaW5nIHRoZSBsZXZlbCBlbnRyeSB3
ZSBqdXN0IGNyZWF0ZWQsIHJldHVybiB0aGUgbG9jYXRpb24gKGEgYnl0ZSB2ZWN0b3IpIHdoZXJl
IGNvbXByZXNzZWQKLSAgICAvLyB0ZXh0dXJlIGxldmVsIGRhdGEgc2hvdWxkIGJlIHN0b3JlZAot
ICAgIHJldHVybiBlbXBsYWNlUmVzdWx0LmZpcnN0LT5zZWNvbmQ7Ci19Ci0KLXZvaWQgRnJhbWVD
YXB0dXJlU2hhcmVkOjpkZWxldGVDYWNoZWRUZXh0dXJlTGV2ZWxEYXRhKGdsOjpUZXh0dXJlSUQg
aWQpCi17Ci0gICAgY29uc3QgYXV0byAmZm91bmRUZXh0dXJlTGV2ZWxzID0gbUNhY2hlZFRleHR1
cmVMZXZlbERhdGEuZmluZChpZCk7Ci0gICAgaWYgKGZvdW5kVGV4dHVyZUxldmVscyAhPSBtQ2Fj
aGVkVGV4dHVyZUxldmVsRGF0YS5lbmQoKSkKLSAgICB7Ci0gICAgICAgIC8vIERlbGV0ZSBhbGwg
dGV4dHVyZSBsZXZlbHMgYXQgb25jZQotICAgICAgICBtQ2FjaGVkVGV4dHVyZUxldmVsRGF0YS5l
cmFzZShmb3VuZFRleHR1cmVMZXZlbHMpOwotICAgIH0KLX0KLQogdm9pZCBGcmFtZUNhcHR1cmVT
aGFyZWQ6Om1hcmtSZXNvdXJjZVNldHVwQ2FsbHNJbmFjdGl2ZShzdGQ6OnZlY3RvcjxDYWxsQ2Fw
dHVyZT4gKnNldHVwQ2FsbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJlc291cmNlSURUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMdWludCBpZCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9jYXB0dXJlL0ZyYW1l
Q2FwdHVyZS5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmUv
RnJhbWVDYXB0dXJlLmgKaW5kZXggNjhlMTNlNTBlNmU5YWJlZmJkZGU4NGEzNzM2ZGUyMWFhYjM4
NTk0YS4uZDgyNDhkNGQ0NDBjYjQ0ZjMyZmRhNjJmZjBmOTNmODFiZmVjZjljZiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmUvRnJhbWVDYXB0
dXJlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2NhcHR1cmUv
RnJhbWVDYXB0dXJlLmgKQEAgLTc4Miw5ICs3ODIsNiBAQCBjbGFzcyBGcmFtZUNhcHR1cmVTaGFy
ZWQgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBTaGFkZXJTb3VyY2VNYXAgbUNhY2hl
ZFNoYWRlclNvdXJjZTsKICAgICBQcm9ncmFtU291cmNlTWFwIG1DYWNoZWRQcm9ncmFtU291cmNl
czsKIAotICAgIC8vIENhY2hlIGEgc2hhZG93IGNvcHkgb2YgdGV4dHVyZSBsZXZlbCBkYXRhCi0g
ICAgVGV4dHVyZUxldmVsRGF0YU1hcCBtQ2FjaGVkVGV4dHVyZUxldmVsRGF0YTsKLQogICAgIGds
OjpDb250ZXh0SUQgbVdpbmRvd1N1cmZhY2VDb250ZXh0SUQ7CiAKICAgICBzdGQ6OnZlY3RvcjxD
YWxsQ2FwdHVyZT4gbVNoYXJlR3JvdXBTZXR1cENhbGxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2Zvcm1hdHV0aWxzLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9mb3JtYXR1dGlscy5jcHAKaW5kZXggOTdkZTNhOGJl
OGNlM2FmMTU0YmViNzE0MjFmZTVmMDE5NmE1ZDA2YS4uMjljNmRiY2M2NzgwMmZlMGQ0ZmM0MjBj
NzM1ZDRlNjQ2ZmZiMjQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL2Zvcm1hdHV0aWxzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvZm9ybWF0dXRpbHMuY3BwCkBAIC0xMjc2LDYgKzEyNzYsMTEgQEAgc3RhdGlj
IEludGVybmFsRm9ybWF0SW5mb01hcCBCdWlsZEludGVybmFsRm9ybWF0SW5mb01hcCgpCiAgICAg
Ly8gICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAgIHxzaXplZHwgUiB8IEcgfCBC
IHwgQSB8UyB8IEZvcm1hdCB8IFR5cGUgICAgICAgICAgICAgfCBDb21wb25lbnQgdHlwZSAgICAg
ICAgfCBTUkdCIHwgVGV4dHVyZSBzdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICB8IEZpbHRl
cmFibGUgICAgIHwgVGV4dHVyZSBhdHRhY2htZW50ICAgICAgICAgICAgICAgICAgICB8IFJlbmRl
cmJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCbGVuZAogICAgIEFkZFJHQkFGb3Jt
YXQoJm1hcCwgR0xfU1JHOF9FWFQsICAgICAgICAgdHJ1ZSwgIDgsICA4LCAgMCwgIDAsIDAsIEdM
X1JHLCAgIEdMX1VOU0lHTkVEX0JZVEUsICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCB0cnVlLCAg
UmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZVNSR0JSRzhFWFQ+LCAgICBBbHdheXNTdXBw
b3J0ZWQsIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpOwogCisgICAgLy8g
RnJvbSBHTF9FWFRfdGV4dHVyZV90eXBlXzJfMTBfMTBfMTBfUkVWCisgICAgLy8gR0xfUkdCMTBf
VU5PUk1fQU5HTEVYIGlzIG5ldmVyIHVzZWQgZGlyZWN0bHkgYnV0IG5lZWRzIHRvIGJlIGluIHRo
ZSBsaXN0IG9mIGFsbCBzaXplZCBpbnRlcm5hbCBmb3JtYXRzIHNvIHRoYXQgdGhlIGJhY2tlbmRz
IGNhbiBkZXRlcm1pbmUgc3VwcG9ydC4KKyAgICAvLyAgICAgICAgICAgICAgICAgIHwgSW50ZXJu
YWwgZm9ybWF0ICAgICAgfHNpemVkfCAgICBSIHwgRyB8IEIgfCBBIHxTIHxYICAgfCBGb3JtYXQg
ICAgICAgICAgIHwgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb21wb25lbnQgdHlw
ZSAgICAgICAgfCBTUkdCIHwgVGV4dHVyZSBzdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCBGaWx0ZXJhYmxlICAgICB8IFRleHR1cmUgYXR0YWNobWVudCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IFJlbmRlcmJ1ZmZlciAgfCBCbGVuZAorICAgIEFkZFJH
QkFYRm9ybWF0KCZtYXAsIEdMX1JHQjEwX1VOT1JNX0FOR0xFWCwgdHJ1ZSwgRkI8MTAsIDEwLCAx
MCwgIDAsIDAsIDI+KCksIEdMX1JHQiwgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlRfMl8xMF8x
MF8xMF9SRVYsIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIGZhbHNlLCBOZXZlclN1cHBvcnRlZCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICBOZXZl
clN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgTmV2ZXJTdXBwb3J0ZWQpOworCiAgICAgLy8gVW5zaXplZCBmb3JtYXRzCiAgICAgLy8g
ICAgICAgICAgICAgICAgICB8IEludGVybmFsIGZvcm1hdCAgfHNpemVkIHwgICAgUiB8IEcgfCBC
IHwgQSB8UyB8WCAgIHwgRm9ybWF0ICAgICAgICAgICB8IFR5cGUgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgQ29tcG9uZW50IHR5cGUgICAgICAgIHwgU1JHQiB8IFRleHR1cmUgc3VwcG9ydGVk
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRmlsdGVyYWJsZSAgICAgfCBUZXh0
dXJlIGF0dGFjaG1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSZW5kZXJidWZm
ZXIgIHwgQmxlbmQKICAgICBBZGRSR0JBWEZvcm1hdCgmbWFwLCBHTF9SRUQsICAgICAgICAgICAg
ZmFsc2UsIEZCPCA4LCAgMCwgIDAsICAwLCAwLCAwPigpLCBHTF9SRUQsICAgICAgICAgICAgR0xf
VU5TSUdORURfQllURSwgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBmYWxz
ZSwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZVJnRVhUPiwgICAgICAgICAgICAgICBB
bHdheXNTdXBwb3J0ZWQsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVSZ0VYVD4sICAg
ICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCBOZXZlclN1cHBvcnRlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvaGlzdG9ncmFtX21hY3Jvcy5oIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2hpc3RvZ3JhbV9tYWNyb3MuaApp
bmRleCBkOTcxOGMyNzcxNTE0N2UyMmMwYzAwYjBmNDNlODc4OGJkN2ViMWQ2Li4wMjc1NGQzZTVj
M2MzMmM3ZTY4MmZjMjIxMWY5ZjM0OTVhOWRmNDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvaGlzdG9ncmFtX21hY3Jvcy5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9oaXN0b2dyYW1fbWFjcm9zLmgKQEAgLTgwLDcg
KzgwLDcgQEAKICAgICBTQ09QRURfQU5HTEVfSElTVE9HUkFNX1RJTUVSX1VOSVFVRShuYW1lLCBp
c19sb25nLCBrZXkpCiAKICNkZWZpbmUgU0NPUEVEX0FOR0xFX0hJU1RPR1JBTV9USU1FUl9VTklR
VUUobmFtZSwgaXNfbG9uZywga2V5KSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY2xh
c3MgU2NvcGVkSGlzdG9ncmFtVGltZXIjI2tleSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNsYXNzIEFOR0xFX05PX0RJU0NBUkQgU2Nv
cGVkSGlzdG9ncmFtVGltZXIjI2tleSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICBwdWJsaWM6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgICAgICBTY29wZWRIaXN0b2dyYW1UaW1lciMja2V5KCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9JbWFnZUlt
cGwuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0lt
YWdlSW1wbC5jcHAKaW5kZXggNTczMzMwYjRlZDJmYzE2MDQzNzM5OTA0MjUyNGQ0NDcxZTI1YzI0
NS4uMDE0YjFkNjM0ZDc5Y2FkNzUxMjQxZDhmOTA3YTY1Y2U3ZGQzMmU2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0ltYWdlSW1wbC5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL0lt
YWdlSW1wbC5jcHAKQEAgLTExLDYgKzExLDE2IEBACiBuYW1lc3BhY2UgcngKIHsKIAorYm9vbCBF
eHRlcm5hbEltYWdlU2libGluZ0ltcGw6OmlzQ3ViZU1hcCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit1aW50MzJfdCBFeHRlcm5hbEltYWdlU2libGluZ0ltcGw6OmdldExldmVs
Q291bnQoKSBjb25zdAoreworICAgIHJldHVybiAxOworfQorCiBlZ2w6OkVycm9yIEltYWdlSW1w
bDo6ZXhwb3J0VmtJbWFnZSh2b2lkICp2a0ltYWdlLCB2b2lkICp2a0ltYWdlQ3JlYXRlSW5mbykK
IHsKICAgICBVTklNUExFTUVOVEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvSW1hZ2VJbXBsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvSW1hZ2VJbXBsLmgKaW5kZXggODhkZjk2MDgz
ZTI0NGNlOTMwMTZkMmNjODkwM2YwZGEyZGNiYjQ1ZS4uMmEzMTY2MTBiM2YyMjk0NzlkN2Y3MmY2
ZGNjMTI5ODJjMWFmNjcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL0ltYWdlSW1wbC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9JbWFnZUltcGwuaApAQCAtNDAsOSArNDAsMTEgQEAg
Y2xhc3MgRXh0ZXJuYWxJbWFnZVNpYmxpbmdJbXBsIDogcHVibGljIEZyYW1lYnVmZmVyQXR0YWNo
bWVudE9iamVjdEltcGwKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJhYmxlKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzVGV4dHVyYWJs
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBpc1lVVigpIGNvbnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKLSAg
ICB2aXJ0dWFsIGJvb2wgaGFzUHJvdGVjdGVkQ29udGVudCgpIGNvbnN0ICAgICAgICAgICAgICAg
ICAgICA9IDA7Ci0gICAgdmlydHVhbCBnbDo6RXh0ZW50cyBnZXRTaXplKCkgY29uc3QgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAwOwotICAgIHZpcnR1YWwgc2l6ZV90IGdldFNhbXBsZXMoKSBj
b25zdCAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXND
dWJlTWFwKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGhhc1Byb3RlY3RlZENvbnRlbnQoKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBnbDo6RXh0ZW50cyBnZXRTaXplKCkgY29uc3QgICAgICA9
IDA7CisgICAgdmlydHVhbCBzaXplX3QgZ2V0U2FtcGxlcygpIGNvbnN0ICAgICAgICA9IDA7Cisg
ICAgdmlydHVhbCB1aW50MzJfdCBnZXRMZXZlbENvdW50KCkgY29uc3Q7CiB9OwogCiBjbGFzcyBJ
bWFnZUltcGwgOiBhbmdsZTo6Tm9uQ29weWFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvRHluYW1pY0hMU0wuY3BwIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9EeW5hbWljSExT
TC5jcHAKaW5kZXggOTUwYTZlZjI2OTUwZDg1YzhkZTMwNjBjNTg2M2Y4M2Q0Y2NlZjk5OS4uOTZh
ZWI3NmRiY2M0NWZkOTdjY2QzZTViZTNlY2FlZTk5ZTkxODBkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9EeW5hbWljSExTTC5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Qz
ZC9EeW5hbWljSExTTC5jcHAKQEAgLTM1MywyMyArMzUzLDIzIEBAIHN0ZDo6c3RyaW5nIER5bmFt
aWNITFNMOjpnZW5lcmF0ZVBpeGVsU2hhZGVyRm9yT3V0cHV0U2lnbmF0dXJlKAogICAgIHJldHVy
biBwaXhlbEhMU0w7CiB9CiAKLXN0ZDo6c3RyaW5nIER5bmFtaWNITFNMOjpnZW5lcmF0ZUNvbXB1
dGVTaGFkZXJGb3JJbWFnZTJEQmluZFNpZ25hdHVyZSgKK3N0ZDo6c3RyaW5nIER5bmFtaWNITFNM
OjpnZW5lcmF0ZVNoYWRlckZvckltYWdlMkRCaW5kU2lnbmF0dXJlKAogICAgIGNvbnN0IGQzZDo6
Q29udGV4dCAqY29udGV4dCwKICAgICBQcm9ncmFtRDNEICZwcm9ncmFtRDNELAogICAgIGNvbnN0
IGdsOjpQcm9ncmFtU3RhdGUgJnByb2dyYW1EYXRhLAorICAgIGdsOjpTaGFkZXJUeXBlIHNoYWRl
clR5cGUsCiAgICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmaW1hZ2UyRFVuaWZv
cm1zLAogICAgIGNvbnN0IGdsOjpJbWFnZVVuaXRUZXh0dXJlVHlwZU1hcCAmaW1hZ2UyREJpbmRM
YXlvdXQpIGNvbnN0CiB7Ci0gICAgc3RkOjpzdHJpbmcgY29tcHV0ZUhMU0woCi0gICAgICAgIHBy
b2dyYW1EYXRhLmdldEF0dGFjaGVkU2hhZGVyKFNoYWRlclR5cGU6OkNvbXB1dGUpLT5nZXRUcmFu
c2xhdGVkU291cmNlKCkpOworICAgIHN0ZDo6c3RyaW5nIHNoYWRlckhMU0wocHJvZ3JhbURhdGEu
Z2V0QXR0YWNoZWRTaGFkZXIoc2hhZGVyVHlwZSktPmdldFRyYW5zbGF0ZWRTb3VyY2UoKSk7CiAK
ICAgICBpZiAoaW1hZ2UyRFVuaWZvcm1zLmVtcHR5KCkpCiAgICAgewotICAgICAgICByZXR1cm4g
Y29tcHV0ZUhMU0w7CisgICAgICAgIHJldHVybiBzaGFkZXJITFNMOwogICAgIH0KIAotICAgIHJl
dHVybiBHZW5lcmF0ZUNvbXB1dGVTaGFkZXJGb3JJbWFnZTJEQmluZFNpZ25hdHVyZShjb250ZXh0
LCBwcm9ncmFtRDNELCBwcm9ncmFtRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UyRFVuaWZvcm1zLCBpbWFnZTJEQmluZExh
eW91dCk7CisgICAgcmV0dXJuIEdlbmVyYXRlU2hhZGVyRm9ySW1hZ2UyREJpbmRTaWduYXR1cmUo
Y29udGV4dCwgcHJvZ3JhbUQzRCwgcHJvZ3JhbURhdGEsIHNoYWRlclR5cGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UyRFVuaWZvcm1zLCBp
bWFnZTJEQmluZExheW91dCk7CiB9CiAKIHZvaWQgRHluYW1pY0hMU0w6OmdlbmVyYXRlVmFyeWlu
Z0xpbmtITFNMKGNvbnN0IFZhcnlpbmdQYWNraW5nICZ2YXJ5aW5nUGFja2luZywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvRHlu
YW1pY0hMU0wuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9kM2QvRHluYW1pY0hMU0wuaAppbmRleCA0MmM4NGIzNDI3NmUzZmM3MDJiN2U1NDdjYjRlMjll
ZDExYjUwMTdhLi4zN2VjZTZmMWMxNGRhYWYxMWJjMDNlZjQzMmI3Yzg2N2QzNzIwYWNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNk
L0R5bmFtaWNITFNMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2QzZC9EeW5hbWljSExTTC5oCkBAIC0xNTQsMTAgKzE1NCwxMSBAQCBjbGFzcyBE
eW5hbWljSExTTCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgICAgICBjb25zdCBzdGQ6OnZlY3Rv
cjxQaXhlbFNoYWRlck91dHB1dFZhcmlhYmxlPiAmb3V0cHV0VmFyaWFibGVzLAogICAgICAgICBi
b29sIHVzZXNGcmFnRGVwdGgsCiAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdMZW51bT4gJm91
dHB1dExheW91dCkgY29uc3Q7Ci0gICAgc3RkOjpzdHJpbmcgZ2VuZXJhdGVDb21wdXRlU2hhZGVy
Rm9ySW1hZ2UyREJpbmRTaWduYXR1cmUoCisgICAgc3RkOjpzdHJpbmcgZ2VuZXJhdGVTaGFkZXJG
b3JJbWFnZTJEQmluZFNpZ25hdHVyZSgKICAgICAgICAgY29uc3QgZDNkOjpDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICBQcm9ncmFtRDNEICZwcm9ncmFtRDNELAogICAgICAgICBjb25zdCBnbDo6
UHJvZ3JhbVN0YXRlICZwcm9ncmFtRGF0YSwKKyAgICAgICAgZ2w6OlNoYWRlclR5cGUgc2hhZGVy
VHlwZSwKICAgICAgICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmaW1hZ2UyRFVu
aWZvcm1zLAogICAgICAgICBjb25zdCBnbDo6SW1hZ2VVbml0VGV4dHVyZVR5cGVNYXAgJmltYWdl
MkRCaW5kTGF5b3V0KSBjb25zdDsKICAgICB2b2lkIGdlbmVyYXRlU2hhZGVyTGlua0hMU0woY29u
c3QgZ2w6OkNhcHMgJmNhcHMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0R5bmFtaWNJbWFnZTJESExTTC5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0R5bmFtaWNJbWFnZTJE
SExTTC5jcHAKaW5kZXggZDU3ZThmMGNhNWJiMTJmNjEzN2E5MzVlMzAxMGI2ODU3NmUyZmFlNC4u
OTE2Yjg1Njk5MjA3OGQ3ZGE4N2ZhNTdlODJjMTE4N2RjZWY4ZDQyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9EeW5hbWljSW1h
Z2UyREhMU0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9kM2QvRHluYW1pY0ltYWdlMkRITFNMLmNwcApAQCAtNzk2LDcgKzc5Niw3IEBAIHZv
aWQgT3V0cHV0SExTTEltYWdlMkRVbmlmb3JtR3JvdXAoUHJvZ3JhbUQzRCAmcHJvZ3JhbUQzRCwK
ICAgICAgICAgICAgICAgICBjYXNlIGdsOjpUZXh0dXJlVHlwZTo6XzJEOgogICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgb3V0IDw8IHRleHR1cmUyRFJlZ2lzdGVySW5kZXg7
Ci0gICAgICAgICAgICAgICAgICAgIHByb2dyYW1EM0QuYXNzaWduSW1hZ2UyRFJlZ2lzdGVycyh0
ZXh0dXJlMkRSZWdpc3RlckluZGV4LAorICAgICAgICAgICAgICAgICAgICBwcm9ncmFtRDNELmFz
c2lnbkltYWdlMkRSZWdpc3RlcnMoc2hhZGVyVHlwZSwgdGV4dHVyZTJEUmVnaXN0ZXJJbmRleCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aWZvcm0uYmluZGluZyArIGluZGV4LCB1bmlmb3JtLnJlYWRvbmx5KTsKICAgICAgICAgICAgICAg
ICAgICAgdGV4dHVyZTJEUmVnaXN0ZXJJbmRleCsrOwogICAgICAgICAgICAgICAgICAgICBicmVh
azsKQEAgLTgwNCw3ICs4MDQsNyBAQCB2b2lkIE91dHB1dEhMU0xJbWFnZTJEVW5pZm9ybUdyb3Vw
KFByb2dyYW1EM0QgJnByb2dyYW1EM0QsCiAgICAgICAgICAgICAgICAgY2FzZSBnbDo6VGV4dHVy
ZVR5cGU6Ol8zRDoKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIG91dCA8
PCB0ZXh0dXJlM0RSZWdpc3RlckluZGV4OwotICAgICAgICAgICAgICAgICAgICBwcm9ncmFtRDNE
LmFzc2lnbkltYWdlMkRSZWdpc3RlcnModGV4dHVyZTNEUmVnaXN0ZXJJbmRleCwKKyAgICAgICAg
ICAgICAgICAgICAgcHJvZ3JhbUQzRC5hc3NpZ25JbWFnZTJEUmVnaXN0ZXJzKHNoYWRlclR5cGUs
IHRleHR1cmUzRFJlZ2lzdGVySW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bmlmb3JtLmJpbmRpbmcgKyBpbmRleCwgdW5pZm9ybS5y
ZWFkb25seSk7CiAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUzRFJlZ2lzdGVySW5kZXgrKzsK
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC04MTMsNyArODEzLDcgQEAgdm9pZCBPdXRw
dXRITFNMSW1hZ2UyRFVuaWZvcm1Hcm91cChQcm9ncmFtRDNEICZwcm9ncmFtRDNELAogICAgICAg
ICAgICAgICAgIGNhc2UgZ2w6OlRleHR1cmVUeXBlOjpDdWJlTWFwOgogICAgICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAgICAgb3V0IDw8IHRleHR1cmUyREFycmF5UmVnaXN0ZXJJbmRl
eDsKLSAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbUQzRC5hc3NpZ25JbWFnZTJEUmVnaXN0ZXJz
KHRleHR1cmUyREFycmF5UmVnaXN0ZXJJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgcHJvZ3Jh
bUQzRC5hc3NpZ25JbWFnZTJEUmVnaXN0ZXJzKHNoYWRlclR5cGUsIHRleHR1cmUyREFycmF5UmVn
aXN0ZXJJbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuaWZvcm0uYmluZGluZyArIGluZGV4LCB1bmlmb3JtLnJlYWRvbmx5KTsKICAg
ICAgICAgICAgICAgICAgICAgdGV4dHVyZTJEQXJyYXlSZWdpc3RlckluZGV4Kys7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtODYwLDggKzg2MCw3IEBAIHN0ZDo6c3RyaW5nIGdlbmVy
YXRlU2hhZGVyRm9ySW1hZ2UyREJpbmRTaWduYXR1cmUoCiAgICAgY29uc3QgZ2w6OkltYWdlVW5p
dFRleHR1cmVUeXBlTWFwICZpbWFnZTJEQmluZExheW91dCkKIHsKICAgICBzdGQ6OnZlY3Rvcjxz
dGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+PiBncm91cGVkSW1hZ2UyRFVuaWZvcm1zKElN
QUdFMkRfTUFYICsgMSk7Ci0gICAgdW5zaWduZWQgaW50IGltYWdlMkRUZXh0dXJlMkRDb3VudCA9
IDAsIGltYWdlMkRUZXh0dXJlM0RDb3VudCA9IDAsCi0gICAgICAgICAgICAgICAgIGltYWdlMkRU
ZXh0dXJlMkRBcnJheUNvdW50ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgaW1hZ2UyRFRleHR1cmUz
RENvdW50ID0gMCwgaW1hZ2UyRFRleHR1cmUyREFycmF5Q291bnQgPSAwOwogICAgIGZvciAoc2g6
OlNoYWRlclZhcmlhYmxlICZpbWFnZTJEIDogaW1hZ2UyRFVuaWZvcm1zKQogICAgIHsKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpbnQgaW5kZXggPSAwOyBpbmRleCA8IGltYWdlMkQuZ2V0QXJyYXlT
aXplUHJvZHVjdCgpOyBpbmRleCsrKQpAQCAtODc1LDcgKzg3NCw2IEBAIHN0ZDo6c3RyaW5nIGdl
bmVyYXRlU2hhZGVyRm9ySW1hZ2UyREJpbmRTaWduYXR1cmUoCiAgICAgICAgICAgICBzd2l0Y2gg
KGltYWdlMkRCaW5kTGF5b3V0LmF0KGltYWdlMkQuYmluZGluZyArIGluZGV4KSkKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBjYXNlIGdsOjpUZXh0dXJlVHlwZTo6XzJEOgotICAgICAg
ICAgICAgICAgICAgICBpbWFnZTJEVGV4dHVyZTJEQ291bnQrKzsKICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBnbDo6VGV4dHVyZVR5cGU6Ol8zRDoKICAg
ICAgICAgICAgICAgICAgICAgaW1hZ2UyRFRleHR1cmUzRENvdW50Kys7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL0R5bmFtaWNJ
bWFnZTJESExTTC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL2QzZC9EeW5hbWljSW1hZ2UyREhMU0wuaAppbmRleCA2YmY3ZjljMWRmZDUwYjY5ZDBkOWM3
M2E4ODkyMzg3ODZkZTYzMjMyLi45Y2FhYmI3ZGFlYTY1MGQxN2FhZGI4ZmE3OGEyZWU3YzMwMDVl
ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZDNkL0R5bmFtaWNJbWFnZTJESExTTC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvRHluYW1pY0ltYWdlMkRITFNMLmgKQEAgLTIy
LDE2ICsyMiwxNiBAQCBzdGQ6OnN0cmluZyBnZW5lcmF0ZVNoYWRlckZvckltYWdlMkRCaW5kU2ln
bmF0dXJlKAogICAgIHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gJmltYWdlMkRVbmlm
b3JtcywKICAgICBjb25zdCBnbDo6SW1hZ2VVbml0VGV4dHVyZVR5cGVNYXAgJmltYWdlMkRCaW5k
TGF5b3V0KTsKIAotaW5saW5lIHN0ZDo6c3RyaW5nIEdlbmVyYXRlQ29tcHV0ZVNoYWRlckZvcklt
YWdlMkRCaW5kU2lnbmF0dXJlKAoraW5saW5lIHN0ZDo6c3RyaW5nIEdlbmVyYXRlU2hhZGVyRm9y
SW1hZ2UyREJpbmRTaWduYXR1cmUoCiAgICAgY29uc3QgZDNkOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgIFByb2dyYW1EM0QgJnByb2dyYW1EM0QsCiAgICAgY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAm
cHJvZ3JhbURhdGEsCisgICAgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKICAgICBzdGQ6OnZl
Y3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZpbWFnZTJEVW5pZm9ybXMsCiAgICAgY29uc3QgZ2w6
OkltYWdlVW5pdFRleHR1cmVUeXBlTWFwICZpbWFnZTJEQmluZExheW91dCkKIHsKLSAgICByZXR1
cm4gZ2VuZXJhdGVTaGFkZXJGb3JJbWFnZTJEQmluZFNpZ25hdHVyZShjb250ZXh0LCBwcm9ncmFt
RDNELCBwcm9ncmFtRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZSwgaW1hZ2UyRFVuaWZvcm1zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlMkRCaW5k
TGF5b3V0KTsKKyAgICByZXR1cm4gZ2VuZXJhdGVTaGFkZXJGb3JJbWFnZTJEQmluZFNpZ25hdHVy
ZShjb250ZXh0LCBwcm9ncmFtRDNELCBwcm9ncmFtRGF0YSwgc2hhZGVyVHlwZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTJEVW5pZm9ybXMs
IGltYWdlMkRCaW5kTGF5b3V0KTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1Byb2dy
YW1EM0QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2QzZC9Qcm9ncmFtRDNELmNwcAppbmRleCA1OWZlMzRmYzQ2YTFiZmJjN2I0YmUxYWFkNmFkODRi
NmRhMzAzYjViLi40YjM1YTAzMjVhNjczNDFlYTA0ZjNlNmU4MDMyNGExMTFkYzFlYmMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNk
L1Byb2dyYW1EM0QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9kM2QvUHJvZ3JhbUQzRC5jcHAKQEAgLTEwMiw5ICsxMDIsOCBAQCB2b2lkIEdl
dERlZmF1bHRPdXRwdXRMYXlvdXRGcm9tU2hhZGVyKAogICAgIH0KIH0KIAotdm9pZCBHZXREZWZh
dWx0SW1hZ2UyREJpbmRMYXlvdXRGcm9tQ29tcHV0ZVNoYWRlcigKLSAgICBjb25zdCBzdGQ6OnZl
Y3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZpbWFnZTJEVW5pZm9ybXMsCi0gICAgZ2w6OkltYWdl
VW5pdFRleHR1cmVUeXBlTWFwICppbWFnZTJEQmluZExheW91dCkKK3ZvaWQgR2V0RGVmYXVsdElt
YWdlMkRCaW5kTGF5b3V0RnJvbVNoYWRlcihjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFy
aWFibGU+ICZpbWFnZTJEVW5pZm9ybXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2w6OkltYWdlVW5pdFRleHR1cmVUeXBlTWFwICppbWFnZTJEQmluZExheW91
dCkKIHsKICAgICBpbWFnZTJEQmluZExheW91dC0+Y2xlYXIoKTsKIApAQCAtNjkxLDkgKzY5MCw5
IEBAIFByb2dyYW1EM0Q6OlByb2dyYW1EM0QoY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmc3RhdGUs
IFJlbmRlcmVyRDNEICpyZW5kZXJlcikKICAgICAgIG1Vc2VzRmxhdEludGVycG9sYXRpb24oZmFs
c2UpLAogICAgICAgbVVzZWRTaGFkZXJTYW1wbGVyUmFuZ2VzKHt9KSwKICAgICAgIG1EaXJ0eVNh
bXBsZXJNYXBwaW5nKHRydWUpLAotICAgICAgbVVzZWRDb21wdXRlSW1hZ2VSYW5nZSgwLCAwKSwK
LSAgICAgIG1Vc2VkQ29tcHV0ZVJlYWRvbmx5SW1hZ2VSYW5nZSgwLCAwKSwKLSAgICAgIG1Vc2Vk
Q29tcHV0ZUF0b21pY0NvdW50ZXJSYW5nZSgwLCAwKSwKKyAgICAgIG1Vc2VkSW1hZ2VSYW5nZSh7
fSksCisgICAgICBtVXNlZFJlYWRvbmx5SW1hZ2VSYW5nZSh7fSksCisgICAgICBtVXNlZEF0b21p
Y0NvdW50ZXJSYW5nZSh7fSksCiAgICAgICBtU2VyaWFsKGlzc3VlU2VyaWFsKCkpCiB7CiAgICAg
bUR5bmFtaWNITFNMID0gbmV3IER5bmFtaWNITFNMKHJlbmRlcmVyKTsKQEAgLTgzNiwyMiArODM1
LDE0IEBAIEdMaW50IFByb2dyYW1EM0Q6OmdldEltYWdlTWFwcGluZyhnbDo6U2hhZGVyVHlwZSB0
eXBlLAogewogICAgIEdMaW50IGxvZ2ljYWxJbWFnZVVuaXQgPSAtMTsKICAgICBBU1NFUlQoaW1h
Z2VJbmRleCA8IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oY2Fwcy5tYXhJbWFnZVVuaXRzKSk7
Ci0gICAgc3dpdGNoICh0eXBlKQorICAgIGlmIChyZWFkb25seSAmJiBpbWFnZUluZGV4IDwgbVJl
YWRvbmx5SW1hZ2VzW3R5cGVdLnNpemUoKSAmJgorICAgICAgICBtUmVhZG9ubHlJbWFnZXNbdHlw
ZV1baW1hZ2VJbmRleF0uYWN0aXZlKQogICAgIHsKLSAgICAgICAgY2FzZSBnbDo6U2hhZGVyVHlw
ZTo6Q29tcHV0ZToKLSAgICAgICAgICAgIGlmIChyZWFkb25seSAmJiBpbWFnZUluZGV4IDwgbVJl
YWRvbmx5SW1hZ2VzQ1Muc2l6ZSgpICYmCi0gICAgICAgICAgICAgICAgbVJlYWRvbmx5SW1hZ2Vz
Q1NbaW1hZ2VJbmRleF0uYWN0aXZlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGxv
Z2ljYWxJbWFnZVVuaXQgPSBtUmVhZG9ubHlJbWFnZXNDU1tpbWFnZUluZGV4XS5sb2dpY2FsSW1h
Z2VVbml0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAoaW1hZ2VJbmRleCA8
IG1JbWFnZXNDUy5zaXplKCkgJiYgbUltYWdlc0NTW2ltYWdlSW5kZXhdLmFjdGl2ZSkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBsb2dpY2FsSW1hZ2VVbml0ID0gbUltYWdlc0NTW2lt
YWdlSW5kZXhdLmxvZ2ljYWxJbWFnZVVuaXQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgLy8gVE9ETyh4aW5naHVhLmNhb0BpbnRlbC5jb20pOiBhZGQgaW1hZ2Ug
bWFwcGluZyBmb3IgdmVydGV4IHNoYWRlciBhbmQgcGl4ZWwgc2hhZGVyLgotICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgbG9naWNhbEltYWdlVW5p
dCA9IG1SZWFkb25seUltYWdlc1t0eXBlXVtpbWFnZUluZGV4XS5sb2dpY2FsSW1hZ2VVbml0Owor
ICAgIH0KKyAgICBlbHNlIGlmIChpbWFnZUluZGV4IDwgbUltYWdlc1t0eXBlXS5zaXplKCkgJiYg
bUltYWdlc1t0eXBlXVtpbWFnZUluZGV4XS5hY3RpdmUpCisgICAgeworICAgICAgICBsb2dpY2Fs
SW1hZ2VVbml0ID0gbUltYWdlc1t0eXBlXVtpbWFnZUluZGV4XS5sb2dpY2FsSW1hZ2VVbml0Owog
ICAgIH0KIAogICAgIGlmIChsb2dpY2FsSW1hZ2VVbml0ID49IDAgJiYgbG9naWNhbEltYWdlVW5p
dCA8IGNhcHMubWF4SW1hZ2VVbml0cykKQEAgLTg2NCwxOCArODU1LDcgQEAgR0xpbnQgUHJvZ3Jh
bUQzRDo6Z2V0SW1hZ2VNYXBwaW5nKGdsOjpTaGFkZXJUeXBlIHR5cGUsCiAKIGdsOjpSYW5nZVVJ
IFByb2dyYW1EM0Q6OmdldFVzZWRJbWFnZVJhbmdlKGdsOjpTaGFkZXJUeXBlIHR5cGUsIGJvb2wg
cmVhZG9ubHkpIGNvbnN0CiB7Ci0gICAgc3dpdGNoICh0eXBlKQotICAgIHsKLSAgICAgICAgY2Fz
ZSBnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZToKLSAgICAgICAgICAgIHJldHVybiByZWFkb25seSA/
IG1Vc2VkQ29tcHV0ZVJlYWRvbmx5SW1hZ2VSYW5nZSA6IG1Vc2VkQ29tcHV0ZUltYWdlUmFuZ2U7
Ci0gICAgICAgIC8vIFRPRE8oeGluZ2h1YS5jYW9AaW50ZWwuY29tKTogYWRkIHJlYWwgaW1hZ2Ug
cmFuZ2Ugb2YgdmVydGV4IHNoYWRlciBhbmQgcGl4ZWwgc2hhZGVyLgotICAgICAgICBjYXNlIGds
OjpTaGFkZXJUeXBlOjpWZXJ0ZXg6Ci0gICAgICAgIGNhc2UgZ2w6OlNoYWRlclR5cGU6OkZyYWdt
ZW50OgotICAgICAgICAgICAgcmV0dXJuIHswLCAwfTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgICAgICAgICByZXR1cm4gezAsIDB9OwotICAgIH0K
KyAgICByZXR1cm4gcmVhZG9ubHkgPyBtVXNlZFJlYWRvbmx5SW1hZ2VSYW5nZVt0eXBlXSA6IG1V
c2VkSW1hZ2VSYW5nZVt0eXBlXTsKIH0KIAogY2xhc3MgUHJvZ3JhbUQzRDo6TG9hZEJpbmFyeVRh
c2sgOiBwdWJsaWMgUHJvZ3JhbUQzRDo6R2V0RXhlY3V0YWJsZVRhc2sKQEAgLTk5OCwzOCArOTc4
LDQxIEBAIHN0ZDo6dW5pcXVlX3B0cjxyeDo6TGlua0V2ZW50PiBQcm9ncmFtRDNEOjpsb2FkKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICBtVXNlZFNoYWRlclNhbXBsZXJSYW5n
ZXNbc2hhZGVyVHlwZV0gPSBnbDo6UmFuZ2VVSShzYW1wbGVyUmFuZ2VMb3csIHNhbXBsZXJSYW5n
ZUhpZ2gpOwogICAgIH0KIAotICAgIHNpemVfdCBjc0ltYWdlQ291bnQgPSBzdHJlYW0tPnJlYWRJ
bnQ8c2l6ZV90PigpOwotICAgIGZvciAoc2l6ZV90IGltYWdlSW5kZXggPSAwOyBpbWFnZUluZGV4
IDwgY3NJbWFnZUNvdW50OyArK2ltYWdlSW5kZXgpCisgICAgZm9yIChnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlIDoge2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlfSkKICAgICB7Ci0gICAgICAgIElt
YWdlIGltYWdlOwotICAgICAgICBzdHJlYW0tPnJlYWRCb29sKCZpbWFnZS5hY3RpdmUpOwotICAg
ICAgICBzdHJlYW0tPnJlYWRJbnQoJmltYWdlLmxvZ2ljYWxJbWFnZVVuaXQpOwotICAgICAgICBt
SW1hZ2VzQ1MucHVzaF9iYWNrKGltYWdlKTsKLSAgICB9CisgICAgICAgIHNpemVfdCBpbWFnZUNv
dW50ID0gc3RyZWFtLT5yZWFkSW50PHNpemVfdD4oKTsKKyAgICAgICAgZm9yIChzaXplX3QgaW1h
Z2VJbmRleCA9IDA7IGltYWdlSW5kZXggPCBpbWFnZUNvdW50OyArK2ltYWdlSW5kZXgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEltYWdlIGltYWdlOworICAgICAgICAgICAgc3RyZWFtLT5yZWFk
Qm9vbCgmaW1hZ2UuYWN0aXZlKTsKKyAgICAgICAgICAgIHN0cmVhbS0+cmVhZEludCgmaW1hZ2Uu
bG9naWNhbEltYWdlVW5pdCk7CisgICAgICAgICAgICBtSW1hZ2VzW3NoYWRlclR5cGVdLnB1c2hf
YmFjayhpbWFnZSk7CisgICAgICAgIH0KIAotICAgIHNpemVfdCBjc1JlYWRvbmx5SW1hZ2VDb3Vu
dCA9IHN0cmVhbS0+cmVhZEludDxzaXplX3Q+KCk7Ci0gICAgZm9yIChzaXplX3QgaW1hZ2VJbmRl
eCA9IDA7IGltYWdlSW5kZXggPCBjc1JlYWRvbmx5SW1hZ2VDb3VudDsgKytpbWFnZUluZGV4KQot
ICAgIHsKLSAgICAgICAgSW1hZ2UgaW1hZ2U7Ci0gICAgICAgIHN0cmVhbS0+cmVhZEJvb2woJmlt
YWdlLmFjdGl2ZSk7Ci0gICAgICAgIHN0cmVhbS0+cmVhZEludCgmaW1hZ2UubG9naWNhbEltYWdl
VW5pdCk7Ci0gICAgICAgIG1SZWFkb25seUltYWdlc0NTLnB1c2hfYmFjayhpbWFnZSk7Ci0gICAg
fQorICAgICAgICBzaXplX3QgcmVhZG9ubHlJbWFnZUNvdW50ID0gc3RyZWFtLT5yZWFkSW50PHNp
emVfdD4oKTsKKyAgICAgICAgZm9yIChzaXplX3QgaW1hZ2VJbmRleCA9IDA7IGltYWdlSW5kZXgg
PCByZWFkb25seUltYWdlQ291bnQ7ICsraW1hZ2VJbmRleCkKKyAgICAgICAgeworICAgICAgICAg
ICAgSW1hZ2UgaW1hZ2U7CisgICAgICAgICAgICBzdHJlYW0tPnJlYWRCb29sKCZpbWFnZS5hY3Rp
dmUpOworICAgICAgICAgICAgc3RyZWFtLT5yZWFkSW50KCZpbWFnZS5sb2dpY2FsSW1hZ2VVbml0
KTsKKyAgICAgICAgICAgIG1SZWFkb25seUltYWdlc1tzaGFkZXJUeXBlXS5wdXNoX2JhY2soaW1h
Z2UpOworICAgICAgICB9CiAKLSAgICB1bnNpZ25lZCBpbnQgY29tcHV0ZUltYWdlUmFuZ2VMb3cs
IGNvbXB1dGVJbWFnZVJhbmdlSGlnaCwgY29tcHV0ZVJlYWRvbmx5SW1hZ2VSYW5nZUxvdywKLSAg
ICAgICAgY29tcHV0ZVJlYWRvbmx5SW1hZ2VSYW5nZUhpZ2g7Ci0gICAgc3RyZWFtLT5yZWFkSW50
KCZjb21wdXRlSW1hZ2VSYW5nZUxvdyk7Ci0gICAgc3RyZWFtLT5yZWFkSW50KCZjb21wdXRlSW1h
Z2VSYW5nZUhpZ2gpOwotICAgIHN0cmVhbS0+cmVhZEludCgmY29tcHV0ZVJlYWRvbmx5SW1hZ2VS
YW5nZUxvdyk7Ci0gICAgc3RyZWFtLT5yZWFkSW50KCZjb21wdXRlUmVhZG9ubHlJbWFnZVJhbmdl
SGlnaCk7Ci0gICAgbVVzZWRDb21wdXRlSW1hZ2VSYW5nZSA9IGdsOjpSYW5nZVVJKGNvbXB1dGVJ
bWFnZVJhbmdlTG93LCBjb21wdXRlSW1hZ2VSYW5nZUhpZ2gpOwotICAgIG1Vc2VkQ29tcHV0ZVJl
YWRvbmx5SW1hZ2VSYW5nZSA9Ci0gICAgICAgIGdsOjpSYW5nZVVJKGNvbXB1dGVSZWFkb25seUlt
YWdlUmFuZ2VMb3csIGNvbXB1dGVSZWFkb25seUltYWdlUmFuZ2VIaWdoKTsKKyAgICAgICAgdW5z
aWduZWQgaW50IGltYWdlUmFuZ2VMb3csIGltYWdlUmFuZ2VIaWdoLCByZWFkb25seUltYWdlUmFu
Z2VMb3csIHJlYWRvbmx5SW1hZ2VSYW5nZUhpZ2g7CisgICAgICAgIHN0cmVhbS0+cmVhZEludCgm
aW1hZ2VSYW5nZUxvdyk7CisgICAgICAgIHN0cmVhbS0+cmVhZEludCgmaW1hZ2VSYW5nZUhpZ2gp
OworICAgICAgICBzdHJlYW0tPnJlYWRJbnQoJnJlYWRvbmx5SW1hZ2VSYW5nZUxvdyk7CisgICAg
ICAgIHN0cmVhbS0+cmVhZEludCgmcmVhZG9ubHlJbWFnZVJhbmdlSGlnaCk7CisgICAgICAgIG1V
c2VkSW1hZ2VSYW5nZVtzaGFkZXJUeXBlXSA9IGdsOjpSYW5nZVVJKGltYWdlUmFuZ2VMb3csIGlt
YWdlUmFuZ2VIaWdoKTsKKyAgICAgICAgbVVzZWRSZWFkb25seUltYWdlUmFuZ2Vbc2hhZGVyVHlw
ZV0gPQorICAgICAgICAgICAgZ2w6OlJhbmdlVUkocmVhZG9ubHlJbWFnZVJhbmdlTG93LCByZWFk
b25seUltYWdlUmFuZ2VIaWdoKTsKIAotICAgIHVuc2lnbmVkIGludCBhdG9taWNDb3VudGVyUmFu
Z2VMb3csIGF0b21pY0NvdW50ZXJSYW5nZUhpZ2g7Ci0gICAgc3RyZWFtLT5yZWFkSW50KCZhdG9t
aWNDb3VudGVyUmFuZ2VMb3cpOwotICAgIHN0cmVhbS0+cmVhZEludCgmYXRvbWljQ291bnRlclJh
bmdlSGlnaCk7Ci0gICAgbVVzZWRDb21wdXRlQXRvbWljQ291bnRlclJhbmdlID0gZ2w6OlJhbmdl
VUkoYXRvbWljQ291bnRlclJhbmdlTG93LCBhdG9taWNDb3VudGVyUmFuZ2VIaWdoKTsKKyAgICAg
ICAgdW5zaWduZWQgaW50IGF0b21pY0NvdW50ZXJSYW5nZUxvdywgYXRvbWljQ291bnRlclJhbmdl
SGlnaDsKKyAgICAgICAgc3RyZWFtLT5yZWFkSW50KCZhdG9taWNDb3VudGVyUmFuZ2VMb3cpOwor
ICAgICAgICBzdHJlYW0tPnJlYWRJbnQoJmF0b21pY0NvdW50ZXJSYW5nZUhpZ2gpOworICAgICAg
ICBtVXNlZEF0b21pY0NvdW50ZXJSYW5nZVtzaGFkZXJUeXBlXSA9CisgICAgICAgICAgICBnbDo6
UmFuZ2VVSShhdG9taWNDb3VudGVyUmFuZ2VMb3csIGF0b21pY0NvdW50ZXJSYW5nZUhpZ2gpOwor
ICAgIH0KIAogICAgIHNpemVfdCBzaGFkZXJTdG9yYWdlQmxvY2tDb3VudCA9IHN0cmVhbS0+cmVh
ZEludDxzaXplX3Q+KCk7CiAgICAgaWYgKHN0cmVhbS0+ZXJyb3IoKSkKQEAgLTEwNDksMjAgKzEw
MzIsMjMgQEAgc3RkOjp1bmlxdWVfcHRyPHJ4OjpMaW5rRXZlbnQ+IFByb2dyYW1EM0Q6OmxvYWQo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIG1EM0RTaGFkZXJTdG9yYWdlQmxv
Y2tzLnB1c2hfYmFjayhzaGFkZXJTdG9yYWdlQmxvY2spOwogICAgIH0KIAotICAgIHNpemVfdCBp
bWFnZTJEVW5pZm9ybUNvdW50ID0gc3RyZWFtLT5yZWFkSW50PHNpemVfdD4oKTsKLSAgICBpZiAo
c3RyZWFtLT5lcnJvcigpKQorICAgIGZvciAoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IHtn
bDo6U2hhZGVyVHlwZTo6Q29tcHV0ZX0pCiAgICAgewotICAgICAgICBpbmZvTG9nIDw8ICJJbnZh
bGlkIHByb2dyYW0gYmluYXJ5LiI7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KKyAg
ICAgICAgc2l6ZV90IGltYWdlMkRVbmlmb3JtQ291bnQgPSBzdHJlYW0tPnJlYWRJbnQ8c2l6ZV90
PigpOworICAgICAgICBpZiAoc3RyZWFtLT5lcnJvcigpKQorICAgICAgICB7CisgICAgICAgICAg
ICBpbmZvTG9nIDw8ICJJbnZhbGlkIHByb2dyYW0gYmluYXJ5LiI7CisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgfQogCi0gICAgQVNTRVJUKG1JbWFnZTJEVW5pZm9ybXMuZW1w
dHkoKSk7Ci0gICAgZm9yIChzaXplX3QgaW1hZ2UyRFVuaWZvcm1JbmRleCA9IDA7IGltYWdlMkRV
bmlmb3JtSW5kZXggPCBpbWFnZTJEVW5pZm9ybUNvdW50OwotICAgICAgICAgKytpbWFnZTJEVW5p
Zm9ybUluZGV4KQotICAgIHsKLSAgICAgICAgc2g6OlNoYWRlclZhcmlhYmxlIGltYWdlMkR1bmlm
b3JtOwotICAgICAgICBnbDo6TG9hZFNoYWRlclZhcihzdHJlYW0sICZpbWFnZTJEdW5pZm9ybSk7
Ci0gICAgICAgIG1JbWFnZTJEVW5pZm9ybXMucHVzaF9iYWNrKGltYWdlMkR1bmlmb3JtKTsKKyAg
ICAgICAgQVNTRVJUKG1JbWFnZTJEVW5pZm9ybXNbc2hhZGVyVHlwZV0uZW1wdHkoKSk7CisgICAg
ICAgIGZvciAoc2l6ZV90IGltYWdlMkRVbmlmb3JtSW5kZXggPSAwOyBpbWFnZTJEVW5pZm9ybUlu
ZGV4IDwgaW1hZ2UyRFVuaWZvcm1Db3VudDsKKyAgICAgICAgICAgICArK2ltYWdlMkRVbmlmb3Jt
SW5kZXgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNoOjpTaGFkZXJWYXJpYWJsZSBpbWFnZTJE
dW5pZm9ybTsKKyAgICAgICAgICAgIGdsOjpMb2FkU2hhZGVyVmFyKHN0cmVhbSwgJmltYWdlMkR1
bmlmb3JtKTsKKyAgICAgICAgICAgIG1JbWFnZTJEVW5pZm9ybXNbc2hhZGVyVHlwZV0ucHVzaF9i
YWNrKGltYWdlMkR1bmlmb3JtKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGZvciAodW5zaWdu
ZWQgaW50IGlpID0gMDsgaWkgPCBnbDo6SU1QTEVNRU5UQVRJT05fTUFYX0FUT01JQ19DT1VOVEVS
X0JVRkZFUl9CSU5ESU5HUzsgKytpaSkKQEAgLTEzMDQsOCArMTI5MCw5IEBAIGFuZ2xlOjpSZXN1
bHQgUHJvZ3JhbUQzRDo6bG9hZEJpbmFyeVNoYWRlckV4ZWN1dGFibGVzKGQzZDo6Q29udGV4dCAq
Y29udGV4dEQzRCwKICAgICBzaXplX3QgYmluZExheW91dENvdW50ID0gc3RyZWFtLT5yZWFkSW50
PHNpemVfdD4oKTsKICAgICBmb3IgKHNpemVfdCBiaW5kTGF5b3V0SW5kZXggPSAwOyBiaW5kTGF5
b3V0SW5kZXggPCBiaW5kTGF5b3V0Q291bnQ7IGJpbmRMYXlvdXRJbmRleCsrKQogICAgIHsKLSAg
ICAgICAgbUNvbXB1dGVTaGFkZXJJbWFnZTJEQmluZExheW91dENhY2hlLmluc2VydChzdGQ6OnBh
aXI8dW5zaWduZWQgaW50LCBnbDo6VGV4dHVyZVR5cGU+KAotICAgICAgICAgICAgc3RyZWFtLT5y
ZWFkSW50PHVuc2lnbmVkIGludD4oKSwgZ2w6OlRleHR1cmVUeXBlOjpfMkQpKTsKKyAgICAgICAg
bUltYWdlMkRCaW5kTGF5b3V0Q2FjaGVbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdLmluc2VydCgK
KyAgICAgICAgICAgIHN0ZDo6cGFpcjx1bnNpZ25lZCBpbnQsIGdsOjpUZXh0dXJlVHlwZT4oc3Ry
ZWFtLT5yZWFkSW50PHVuc2lnbmVkIGludD4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1cmVUeXBlOjpfMkQpKTsKICAgICB9
CiAKICAgICBpbml0aWFsaXplVW5pZm9ybVN0b3JhZ2UobVN0YXRlLmdldEV4ZWN1dGFibGUoKS5n
ZXRMaW5rZWRTaGFkZXJTdGFnZXMoKSk7CkBAIC0xMzQ1LDI2ICsxMzMyLDI5IEBAIHZvaWQgUHJv
Z3JhbUQzRDo6c2F2ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgZ2w6OkJpbmFyeU91dHB1
dFN0cmVhbSAqc3RyZWFtCiAgICAgICAgIHN0cmVhbS0+d3JpdGVJbnQobVVzZWRTaGFkZXJTYW1w
bGVyUmFuZ2VzW3NoYWRlclR5cGVdLmhpZ2goKSk7CiAgICAgfQogCi0gICAgc3RyZWFtLT53cml0
ZUludChtSW1hZ2VzQ1Muc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpbWFnZUluZGV4ID0gMDsg
aW1hZ2VJbmRleCA8IG1JbWFnZXNDUy5zaXplKCk7ICsraW1hZ2VJbmRleCkKKyAgICBmb3IgKGds
OjpTaGFkZXJUeXBlIHNoYWRlclR5cGUgOiB7Z2w6OlNoYWRlclR5cGU6OkNvbXB1dGV9KQogICAg
IHsKLSAgICAgICAgc3RyZWFtLT53cml0ZUJvb2wobUltYWdlc0NTW2ltYWdlSW5kZXhdLmFjdGl2
ZSk7Ci0gICAgICAgIHN0cmVhbS0+d3JpdGVJbnQobUltYWdlc0NTW2ltYWdlSW5kZXhdLmxvZ2lj
YWxJbWFnZVVuaXQpOwotICAgIH0KKyAgICAgICAgc3RyZWFtLT53cml0ZUludChtSW1hZ2VzW3No
YWRlclR5cGVdLnNpemUoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGltYWdlSW5kZXggPSAwOyBp
bWFnZUluZGV4IDwgbUltYWdlc1tzaGFkZXJUeXBlXS5zaXplKCk7ICsraW1hZ2VJbmRleCkKKyAg
ICAgICAgeworICAgICAgICAgICAgc3RyZWFtLT53cml0ZUJvb2wobUltYWdlc1tzaGFkZXJUeXBl
XVtpbWFnZUluZGV4XS5hY3RpdmUpOworICAgICAgICAgICAgc3RyZWFtLT53cml0ZUludChtSW1h
Z2VzW3NoYWRlclR5cGVdW2ltYWdlSW5kZXhdLmxvZ2ljYWxJbWFnZVVuaXQpOworICAgICAgICB9
CiAKLSAgICBzdHJlYW0tPndyaXRlSW50KG1SZWFkb25seUltYWdlc0NTLnNpemUoKSk7Ci0gICAg
Zm9yIChzaXplX3QgaW1hZ2VJbmRleCA9IDA7IGltYWdlSW5kZXggPCBtUmVhZG9ubHlJbWFnZXND
Uy5zaXplKCk7ICsraW1hZ2VJbmRleCkKLSAgICB7Ci0gICAgICAgIHN0cmVhbS0+d3JpdGVCb29s
KG1SZWFkb25seUltYWdlc0NTW2ltYWdlSW5kZXhdLmFjdGl2ZSk7Ci0gICAgICAgIHN0cmVhbS0+
d3JpdGVJbnQobVJlYWRvbmx5SW1hZ2VzQ1NbaW1hZ2VJbmRleF0ubG9naWNhbEltYWdlVW5pdCk7
Ci0gICAgfQorICAgICAgICBzdHJlYW0tPndyaXRlSW50KG1SZWFkb25seUltYWdlc1tzaGFkZXJU
eXBlXS5zaXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpbWFnZUluZGV4ID0gMDsgaW1hZ2VJ
bmRleCA8IG1SZWFkb25seUltYWdlc1tzaGFkZXJUeXBlXS5zaXplKCk7ICsraW1hZ2VJbmRleCkK
KyAgICAgICAgeworICAgICAgICAgICAgc3RyZWFtLT53cml0ZUJvb2wobVJlYWRvbmx5SW1hZ2Vz
W3NoYWRlclR5cGVdW2ltYWdlSW5kZXhdLmFjdGl2ZSk7CisgICAgICAgICAgICBzdHJlYW0tPndy
aXRlSW50KG1SZWFkb25seUltYWdlc1tzaGFkZXJUeXBlXVtpbWFnZUluZGV4XS5sb2dpY2FsSW1h
Z2VVbml0KTsKKyAgICAgICAgfQogCi0gICAgc3RyZWFtLT53cml0ZUludChtVXNlZENvbXB1dGVJ
bWFnZVJhbmdlLmxvdygpKTsKLSAgICBzdHJlYW0tPndyaXRlSW50KG1Vc2VkQ29tcHV0ZUltYWdl
UmFuZ2UuaGlnaCgpKTsKLSAgICBzdHJlYW0tPndyaXRlSW50KG1Vc2VkQ29tcHV0ZVJlYWRvbmx5
SW1hZ2VSYW5nZS5sb3coKSk7Ci0gICAgc3RyZWFtLT53cml0ZUludChtVXNlZENvbXB1dGVSZWFk
b25seUltYWdlUmFuZ2UuaGlnaCgpKTsKLSAgICBzdHJlYW0tPndyaXRlSW50KG1Vc2VkQ29tcHV0
ZUF0b21pY0NvdW50ZXJSYW5nZS5sb3coKSk7Ci0gICAgc3RyZWFtLT53cml0ZUludChtVXNlZENv
bXB1dGVBdG9taWNDb3VudGVyUmFuZ2UuaGlnaCgpKTsKKyAgICAgICAgc3RyZWFtLT53cml0ZUlu
dChtVXNlZEltYWdlUmFuZ2Vbc2hhZGVyVHlwZV0ubG93KCkpOworICAgICAgICBzdHJlYW0tPndy
aXRlSW50KG1Vc2VkSW1hZ2VSYW5nZVtzaGFkZXJUeXBlXS5oaWdoKCkpOworICAgICAgICBzdHJl
YW0tPndyaXRlSW50KG1Vc2VkUmVhZG9ubHlJbWFnZVJhbmdlW3NoYWRlclR5cGVdLmxvdygpKTsK
KyAgICAgICAgc3RyZWFtLT53cml0ZUludChtVXNlZFJlYWRvbmx5SW1hZ2VSYW5nZVtzaGFkZXJU
eXBlXS5oaWdoKCkpOworICAgICAgICBzdHJlYW0tPndyaXRlSW50KG1Vc2VkQXRvbWljQ291bnRl
clJhbmdlW3NoYWRlclR5cGVdLmxvdygpKTsKKyAgICAgICAgc3RyZWFtLT53cml0ZUludChtVXNl
ZEF0b21pY0NvdW50ZXJSYW5nZVtzaGFkZXJUeXBlXS5oaWdoKCkpOworICAgIH0KIAogICAgIHN0
cmVhbS0+d3JpdGVJbnQobUQzRFNoYWRlclN0b3JhZ2VCbG9ja3Muc2l6ZSgpKTsKICAgICBmb3Ig
KGNvbnN0IEQzREludGVyZmFjZUJsb2NrICZzaGFkZXJTdG9yYWdlQmxvY2sgOiBtRDNEU2hhZGVy
U3RvcmFnZUJsb2NrcykKQEAgLTEzNzUsMTAgKzEzNjUsMTMgQEAgdm9pZCBQcm9ncmFtRDNEOjpz
YXZlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBnbDo6QmluYXJ5T3V0cHV0U3RyZWFtICpz
dHJlYW0KICAgICAgICAgfQogICAgIH0KIAotICAgIHN0cmVhbS0+d3JpdGVJbnQobUltYWdlMkRV
bmlmb3Jtcy5zaXplKCkpOwotICAgIGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZpbWFn
ZTJEVW5pZm9ybSA6IG1JbWFnZTJEVW5pZm9ybXMpCisgICAgZm9yIChnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlIDoge2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlfSkKICAgICB7Ci0gICAgICAgIGds
OjpXcml0ZVNoYWRlclZhcihzdHJlYW0sIGltYWdlMkRVbmlmb3JtKTsKKyAgICAgICAgc3RyZWFt
LT53cml0ZUludChtSW1hZ2UyRFVuaWZvcm1zW3NoYWRlclR5cGVdLnNpemUoKSk7CisgICAgICAg
IGZvciAoY29uc3Qgc2g6OlNoYWRlclZhcmlhYmxlICZpbWFnZTJEVW5pZm9ybSA6IG1JbWFnZTJE
VW5pZm9ybXNbc2hhZGVyVHlwZV0pCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsOjpXcml0ZVNo
YWRlclZhcihzdHJlYW0sIGltYWdlMkRVbmlmb3JtKTsKKyAgICAgICAgfQogICAgIH0KIAogICAg
IGZvciAodW5zaWduZWQgaW50IGlpID0gMDsgaWkgPCBnbDo6SU1QTEVNRU5UQVRJT05fTUFYX0FU
T01JQ19DT1VOVEVSX0JVRkZFUl9CSU5ESU5HUzsgKytpaSkKQEAgLTE1MjQsMTAgKzE1MTcsMTMg
QEAgdm9pZCBQcm9ncmFtRDNEOjpzYXZlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBnbDo6
QmluYXJ5T3V0cHV0U3RyZWFtICpzdHJlYW0KICAgICAgICAgc3RyZWFtLT53cml0ZUJ5dGVzKGNv
bXB1dGVCbG9iLCBjb21wdXRlU2hhZGVyU2l6ZSk7CiAgICAgfQogCi0gICAgc3RyZWFtLT53cml0
ZUludChtQ29tcHV0ZVNoYWRlckltYWdlMkRCaW5kTGF5b3V0Q2FjaGUuc2l6ZSgpKTsKLSAgICBm
b3IgKGF1dG8gJmltYWdlMkRCaW5kTGF5b3V0IDogbUNvbXB1dGVTaGFkZXJJbWFnZTJEQmluZExh
eW91dENhY2hlKQorICAgIGZvciAoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IHtnbDo6U2hh
ZGVyVHlwZTo6Q29tcHV0ZX0pCiAgICAgewotICAgICAgICBzdHJlYW0tPndyaXRlSW50KGltYWdl
MkRCaW5kTGF5b3V0LmZpcnN0KTsKKyAgICAgICAgc3RyZWFtLT53cml0ZUludChtSW1hZ2UyREJp
bmRMYXlvdXRDYWNoZVtzaGFkZXJUeXBlXS5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8gJmlt
YWdlMkRCaW5kTGF5b3V0IDogbUltYWdlMkRCaW5kTGF5b3V0Q2FjaGVbc2hhZGVyVHlwZV0pCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHN0cmVhbS0+d3JpdGVJbnQoaW1hZ2UyREJpbmRMYXlvdXQu
Zmlyc3QpOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0xNzIxLDcgKzE3MTcsNiBAQCBjbGFz
cyBQcm9ncmFtRDNEOjpHZXRQaXhlbEV4ZWN1dGFibGVUYXNrIDogcHVibGljIFByb2dyYW1EM0Q6
OkdldEV4ZWN1dGFibGVUYXNrCiAgICAgICAgIH0KIAogICAgICAgICBtUHJvZ3JhbS0+dXBkYXRl
Q2FjaGVkT3V0cHV0TGF5b3V0RnJvbVNoYWRlcigpOwotCiAgICAgICAgIEFOR0xFX1RSWShtUHJv
Z3JhbS0+Z2V0UGl4ZWxFeGVjdXRhYmxlRm9yQ2FjaGVkT3V0cHV0TGF5b3V0KHRoaXMsICZtRXhl
Y3V0YWJsZSwgJm1JbmZvTG9nKSk7CiAKICAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOwpAQCAtMTczNCwxMSArMTcyOSwyNSBAQCB2b2lkIFByb2dyYW1EM0Q6OnVwZGF0ZUNh
Y2hlZE91dHB1dExheW91dEZyb21TaGFkZXIoKQogICAgIHVwZGF0ZUNhY2hlZFBpeGVsRXhlY3V0
YWJsZUluZGV4KCk7CiB9CiAKLXZvaWQgUHJvZ3JhbUQzRDo6dXBkYXRlQ2FjaGVkSW1hZ2UyREJp
bmRMYXlvdXRGcm9tQ29tcHV0ZVNoYWRlcigpCit2b2lkIFByb2dyYW1EM0Q6OnVwZGF0ZUNhY2hl
ZEltYWdlMkRCaW5kTGF5b3V0RnJvbVNoYWRlcihnbDo6U2hhZGVyVHlwZSBzaGFkZXJUeXBlKQog
ewotICAgIEdldERlZmF1bHRJbWFnZTJEQmluZExheW91dEZyb21Db21wdXRlU2hhZGVyKG1JbWFn
ZTJEVW5pZm9ybXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJm1Db21wdXRlU2hhZGVySW1hZ2UyREJpbmRMYXlvdXRDYWNoZSk7Ci0gICAgdXBkYXRl
Q2FjaGVkQ29tcHV0ZUV4ZWN1dGFibGVJbmRleCgpOworICAgIEdldERlZmF1bHRJbWFnZTJEQmlu
ZExheW91dEZyb21TaGFkZXIobUltYWdlMkRVbmlmb3Jtc1tzaGFkZXJUeXBlXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtSW1hZ2UyREJpbmRMYXlvdXRDYWNo
ZVtzaGFkZXJUeXBlXSk7CisgICAgc3dpdGNoIChzaGFkZXJUeXBlKQorICAgIHsKKyAgICAgICAg
Y2FzZSBnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZToKKyAgICAgICAgICAgIHVwZGF0ZUNhY2hlZENv
bXB1dGVFeGVjdXRhYmxlSW5kZXgoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IGdsOjpTaGFkZXJUeXBlOjpGcmFnbWVudDoKKyAgICAgICAgICAgIHVwZGF0ZUNhY2hlZFBpeGVs
RXhlY3V0YWJsZUluZGV4KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBnbDo6
U2hhZGVyVHlwZTo6VmVydGV4OgorICAgICAgICAgICAgdXBkYXRlQ2FjaGVkVmVydGV4RXhlY3V0
YWJsZUluZGV4KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIEFTU0VSVChmYWxzZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIGNs
YXNzIFByb2dyYW1EM0Q6OkdldEdlb21ldHJ5RXhlY3V0YWJsZVRhc2sgOiBwdWJsaWMgUHJvZ3Jh
bUQzRDo6R2V0RXhlY3V0YWJsZVRhc2sKQEAgLTE3NzMsNyArMTc4Miw3IEBAIGNsYXNzIFByb2dy
YW1EM0Q6OkdldENvbXB1dGVFeGVjdXRhYmxlVGFzayA6IHB1YmxpYyBQcm9ncmFtRDNEOjpHZXRF
eGVjdXRhYmxlVGFzCiAgICAgYW5nbGU6OlJlc3VsdCBydW4oKSBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgQU5HTEVfVFJBQ0VfRVZFTlQwKCJncHUuYW5nbGUiLCAiUHJvZ3JhbUQzRDo6R2V0Q29t
cHV0ZUV4ZWN1dGFibGVUYXNrOjpydW4iKTsKLSAgICAgICAgbVByb2dyYW0tPnVwZGF0ZUNhY2hl
ZEltYWdlMkRCaW5kTGF5b3V0RnJvbUNvbXB1dGVTaGFkZXIoKTsKKyAgICAgICAgbVByb2dyYW0t
PnVwZGF0ZUNhY2hlZEltYWdlMkRCaW5kTGF5b3V0RnJvbVNoYWRlcihnbDo6U2hhZGVyVHlwZTo6
Q29tcHV0ZSk7CiAgICAgICAgIFNoYWRlckV4ZWN1dGFibGVEM0QgKmNvbXB1dGVFeGVjdXRhYmxl
ID0gbnVsbHB0cjsKICAgICAgICAgQU5HTEVfVFJZKG1Qcm9ncmFtLT5nZXRDb21wdXRlRXhlY3V0
YWJsZUZvckltYWdlMkRCaW5kTGF5b3V0KHRoaXMsICZjb21wdXRlRXhlY3V0YWJsZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZtSW5mb0xvZykpOwpAQCAtMTk5OSw4ICsyMDA4LDkgQEAgYW5nbGU6OlJlc3VsdCBQ
cm9ncmFtRDNEOjpnZXRDb21wdXRlRXhlY3V0YWJsZUZvckltYWdlMkRCaW5kTGF5b3V0KAogICAg
ICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiAgICAgfQogCi0gICAgc3RkOjpz
dHJpbmcgZmluYWxDb21wdXRlSExTTCA9IG1EeW5hbWljSExTTC0+Z2VuZXJhdGVDb21wdXRlU2hh
ZGVyRm9ySW1hZ2UyREJpbmRTaWduYXR1cmUoCi0gICAgICAgIGNvbnRleHQsICp0aGlzLCBtU3Rh
dGUsIG1JbWFnZTJEVW5pZm9ybXMsIG1Db21wdXRlU2hhZGVySW1hZ2UyREJpbmRMYXlvdXRDYWNo
ZSk7CisgICAgc3RkOjpzdHJpbmcgZmluYWxDb21wdXRlSExTTCA9IG1EeW5hbWljSExTTC0+Z2Vu
ZXJhdGVTaGFkZXJGb3JJbWFnZTJEQmluZFNpZ25hdHVyZSgKKyAgICAgICAgY29udGV4dCwgKnRo
aXMsIG1TdGF0ZSwgZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGUsIG1JbWFnZTJEVW5pZm9ybXNbZ2w6
OlNoYWRlclR5cGU6OkNvbXB1dGVdLAorICAgICAgICBtSW1hZ2UyREJpbmRMYXlvdXRDYWNoZVtn
bDo6U2hhZGVyVHlwZTo6Q29tcHV0ZV0pOwogCiAgICAgLy8gR2VuZXJhdGUgbmV3IGNvbXB1dGUg
ZXhlY3V0YWJsZQogICAgIFNoYWRlckV4ZWN1dGFibGVEM0QgKmNvbXB1dGVFeGVjdXRhYmxlID0g
bnVsbHB0cjsKQEAgLTIwMTUsNyArMjAyNSw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbUQzRDo6
Z2V0Q29tcHV0ZUV4ZWN1dGFibGVGb3JJbWFnZTJEQmluZExheW91dCgKICAgICBpZiAoY29tcHV0
ZUV4ZWN1dGFibGUpCiAgICAgewogICAgICAgICBtQ29tcHV0ZUV4ZWN1dGFibGVzLnB1c2hfYmFj
ayhzdGQ6OnVuaXF1ZV9wdHI8Q29tcHV0ZUV4ZWN1dGFibGU+KAotICAgICAgICAgICAgbmV3IENv
bXB1dGVFeGVjdXRhYmxlKG1Db21wdXRlU2hhZGVySW1hZ2UyREJpbmRMYXlvdXRDYWNoZSwKKyAg
ICAgICAgICAgIG5ldyBDb21wdXRlRXhlY3V0YWJsZShtSW1hZ2UyREJpbmRMYXlvdXRDYWNoZVtn
bDo6U2hhZGVyVHlwZTo6Q29tcHV0ZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPFNoYWRlckV4ZWN1dGFibGVEM0Q+KGNvbXB1dGVFeGVjdXRhYmxl
KSkpKTsKICAgICAgICAgbUNhY2hlZENvbXB1dGVFeGVjdXRhYmxlSW5kZXggPSBtQ29tcHV0ZUV4
ZWN1dGFibGVzLnNpemUoKSAtIDE7CiAgICAgfQpAQCAtMjA0NCw4ICsyMDU0LDggQEAgc3RkOjp1
bmlxdWVfcHRyPExpbmtFdmVudD4gUHJvZ3JhbUQzRDo6bGluayhjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICB7CiAgICAgICAgIG1TaGFkZXJTYW1wbGVyc1tnbDo6U2hhZGVyVHlwZTo6
Q29tcHV0ZV0ucmVzaXplKAogICAgICAgICAgICAgZGF0YS5nZXRDYXBzKCkubWF4U2hhZGVyVGV4
dHVyZUltYWdlVW5pdHNbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdKTsKLSAgICAgICAgbUltYWdl
c0NTLnJlc2l6ZShkYXRhLmdldENhcHMoKS5tYXhJbWFnZVVuaXRzKTsKLSAgICAgICAgbVJlYWRv
bmx5SW1hZ2VzQ1MucmVzaXplKGRhdGEuZ2V0Q2FwcygpLm1heEltYWdlVW5pdHMpOworICAgICAg
ICBtSW1hZ2VzW2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlXS5yZXNpemUoZGF0YS5nZXRDYXBzKCku
bWF4SW1hZ2VVbml0cyk7CisgICAgICAgIG1SZWFkb25seUltYWdlc1tnbDo6U2hhZGVyVHlwZTo6
Q29tcHV0ZV0ucmVzaXplKGRhdGEuZ2V0Q2FwcygpLm1heEltYWdlVW5pdHMpOwogCiAgICAgICAg
IG1TaGFkZXJVbmlmb3Jtc0RpcnR5LnNldChnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZSk7CiAKQEAg
LTIwNTUsNyArMjA2NSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rRXZlbnQ+IFByb2dyYW1EM0Q6
OmxpbmsoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHsKICAgICAgICAgICAg
IGlmIChnbDo6SXNJbWFnZVR5cGUodW5pZm9ybS50eXBlKSAmJiBnbDo6SXNJbWFnZTJEVHlwZSh1
bmlmb3JtLnR5cGUpKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG1JbWFnZTJEVW5p
Zm9ybXMucHVzaF9iYWNrKHVuaWZvcm0pOworICAgICAgICAgICAgICAgIG1JbWFnZTJEVW5pZm9y
bXNbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdLnB1c2hfYmFjayh1bmlmb3JtKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCkBAIC0yMDY4LDcgKzIwNzgsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
TGlua0V2ZW50PiBQcm9ncmFtRDNEOjpsaW5rKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
ICAgICAgICBnbDo6U2hhZGVyTWFwPGNvbnN0IFNoYWRlckQzRCAqPiBzaGFkZXJzRDNEID0ge307
CiAgICAgICAgIGZvciAoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSA6IGdsOjprQWxsR3JhcGhp
Y3NTaGFkZXJUeXBlcykKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1TdGF0ZS5nZXRBdHRh
Y2hlZFNoYWRlcihzaGFkZXJUeXBlKSkKKyAgICAgICAgICAgIGlmIChnbDo6U2hhZGVyICpzaGFk
ZXIgPSBtU3RhdGUuZ2V0QXR0YWNoZWRTaGFkZXIoc2hhZGVyVHlwZSkpCiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgc2hhZGVyc0QzRFtzaGFkZXJUeXBlXSA9IEdldEltcGxBczxTaGFk
ZXJEM0Q+KG1TdGF0ZS5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKSk7CiAKQEAgLTIwOTks
NiArMjEwOSwxNCBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGlua0V2ZW50PiBQcm9ncmFtRDNEOjpsaW5r
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICBBTkdMRV9Q
RVJGX1dBUk5JTkcoY29udGV4dC0+Z2V0U3RhdGUoKS5nZXREZWJ1ZygpLCBHTF9ERUJVR19TRVZF
UklUWV9NRURJVU0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJl
YW0uc3RyKCkuY19zdHIoKSk7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
Zm9yIChjb25zdCBzaDo6U2hhZGVyVmFyaWFibGUgJnVuaWZvcm0gOiBzaGFkZXItPmdldFVuaWZv
cm1zKCkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoZ2w6Oklz
SW1hZ2VUeXBlKHVuaWZvcm0udHlwZSkgJiYgZ2w6OklzSW1hZ2UyRFR5cGUodW5pZm9ybS50eXBl
KSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgbUltYWdl
MkRVbmlmb3Jtc1tzaGFkZXJUeXBlXS5wdXNoX2JhY2sodW5pZm9ybSk7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApA
QCAtMjU3NiwxMiArMjU5NCwxMyBAQCB2b2lkIFByb2dyYW1EM0Q6OmRlZmluZVVuaWZvcm1zQW5k
QXNzaWduUmVnaXN0ZXJzKCkKICAgICBhc3NpZ25BbGxBdG9taWNDb3VudGVyUmVnaXN0ZXJzKCk7
CiAgICAgLy8gU2FtcGxlcnMgYW5kIHJlYWRvbmx5IGltYWdlcyBzaGFyZSBzaGFkZXIgaW5wdXQg
cmVzb3VyY2Ugc2xvdCwgYWRqdXN0IGxvdyB2YWx1ZSBvZgogICAgIC8vIHJlYWRvbmx5IGltYWdl
IHJhbmdlLgotICAgIG1Vc2VkQ29tcHV0ZVJlYWRvbmx5SW1hZ2VSYW5nZSA9CisgICAgbVVzZWRS
ZWFkb25seUltYWdlUmFuZ2VbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdID0KICAgICAgICAgZ2w6
OlJhbmdlVUkobVVzZWRTaGFkZXJTYW1wbGVyUmFuZ2VzW2dsOjpTaGFkZXJUeXBlOjpDb21wdXRl
XS5oaWdoKCksCiAgICAgICAgICAgICAgICAgICAgIG1Vc2VkU2hhZGVyU2FtcGxlclJhbmdlc1tn
bDo6U2hhZGVyVHlwZTo6Q29tcHV0ZV0uaGlnaCgpKTsKICAgICAvLyBBdG9taWMgY291bnRlciBi
dWZmZXJzIGFuZCBub24tcmVhZG9ubHkgaW1hZ2VzIHNoYXJlIGlucHV0IHJlc291cmNlIHNsb3Rz
Ci0gICAgbVVzZWRDb21wdXRlSW1hZ2VSYW5nZSA9Ci0gICAgICAgIGdsOjpSYW5nZVVJKG1Vc2Vk
Q29tcHV0ZUF0b21pY0NvdW50ZXJSYW5nZS5oaWdoKCksIG1Vc2VkQ29tcHV0ZUF0b21pY0NvdW50
ZXJSYW5nZS5oaWdoKCkpOworICAgIG1Vc2VkSW1hZ2VSYW5nZVtnbDo6U2hhZGVyVHlwZTo6Q29t
cHV0ZV0gPQorICAgICAgICBnbDo6UmFuZ2VVSShtVXNlZEF0b21pY0NvdW50ZXJSYW5nZVtnbDo6
U2hhZGVyVHlwZTo6Q29tcHV0ZV0uaGlnaCgpLAorICAgICAgICAgICAgICAgICAgICBtVXNlZEF0
b21pY0NvdW50ZXJSYW5nZVtnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZV0uaGlnaCgpKTsKICAgICBh
c3NpZ25BbGxJbWFnZVJlZ2lzdGVycygpOwogICAgIGluaXRpYWxpemVVbmlmb3JtU3RvcmFnZShh
dHRhY2hlZFNoYWRlcnMpOwogfQpAQCAtMjg3OCw3ICsyODk3LDggQEAgdm9pZCBQcm9ncmFtRDNE
Ojphc3NpZ25BbGxBdG9taWNDb3VudGVyUmVnaXN0ZXJzKCkKICAgICAgICAgfQogICAgICAgICBB
U1NFUlQoZmlyc3RSZWdpc3RlciAhPSBHTF9JTlZBTElEX1ZBTFVFKTsKICAgICAgICAgQVNTRVJU
KGxhc3RSZWdpc3RlciAhPSBHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgbVVzZWRDb21wdXRl
QXRvbWljQ291bnRlclJhbmdlID0gZ2w6OlJhbmdlVUkoZmlyc3RSZWdpc3RlciwgbGFzdFJlZ2lz
dGVyICsgMSk7CisgICAgICAgIG1Vc2VkQXRvbWljQ291bnRlclJhbmdlW2dsOjpTaGFkZXJUeXBl
OjpDb21wdXRlXSA9CisgICAgICAgICAgICBnbDo6UmFuZ2VVSShmaXJzdFJlZ2lzdGVyLCBsYXN0
UmVnaXN0ZXIgKyAxKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTI5MTQsMTQgKzI5MzQs
MTYgQEAgdm9pZCBQcm9ncmFtRDNEOjphc3NpZ25JbWFnZVJlZ2lzdGVycyhzaXplX3QgdW5pZm9y
bUluZGV4KQogICAgICAgICBpZiAoZDNkVW5pZm9ybS0+cmVnVHlwZSA9PSBITFNMUmVnaXN0ZXJU
eXBlOjpUZXh0dXJlKQogICAgICAgICB7CiAgICAgICAgICAgICBBc3NpZ25JbWFnZXMoZDNkVW5p
Zm9ybS0+bVNoYWRlclJlZ2lzdGVySW5kZXhlc1tnbDo6U2hhZGVyVHlwZTo6Q29tcHV0ZV0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgYmluZGluZ0l0ZXItPnNlY29uZCwgZDNkVW5pZm9ybS0+
Z2V0QXJyYXlTaXplUHJvZHVjdCgpLCBtUmVhZG9ubHlJbWFnZXNDUywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAmbVVzZWRDb21wdXRlUmVhZG9ubHlJbWFnZVJhbmdlKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBiaW5kaW5nSXRlci0+c2Vjb25kLCBkM2RVbmlmb3JtLT5nZXRBcnJheVNp
emVQcm9kdWN0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgbVJlYWRvbmx5SW1hZ2VzW2ds
OjpTaGFkZXJUeXBlOjpDb21wdXRlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmbVVzZWRS
ZWFkb25seUltYWdlUmFuZ2VbZ2w6OlNoYWRlclR5cGU6OkNvbXB1dGVdKTsKICAgICAgICAgfQog
ICAgICAgICBlbHNlIGlmIChkM2RVbmlmb3JtLT5yZWdUeXBlID09IEhMU0xSZWdpc3RlclR5cGU6
OlVub3JkZXJlZEFjY2Vzc1ZpZXcpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFzc2lnbkltYWdl
cyhkM2RVbmlmb3JtLT5tU2hhZGVyUmVnaXN0ZXJJbmRleGVzW2dsOjpTaGFkZXJUeXBlOjpDb21w
dXRlXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kaW5nSXRlci0+c2Vjb25kLCBkM2RV
bmlmb3JtLT5nZXRBcnJheVNpemVQcm9kdWN0KCksIG1JbWFnZXNDUywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAmbVVzZWRDb21wdXRlSW1hZ2VSYW5nZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgYmluZGluZ0l0ZXItPnNlY29uZCwgZDNkVW5pZm9ybS0+Z2V0QXJyYXlTaXplUHJvZHVj
dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1JbWFnZXNbZ2w6OlNoYWRlclR5cGU6OkNv
bXB1dGVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICZtVXNlZEltYWdlUmFuZ2VbZ2w6OlNo
YWRlclR5cGU6OkNvbXB1dGVdKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsK
QEAgLTI5NzgsMTggKzMwMDAsMjAgQEAgdm9pZCBQcm9ncmFtRDNEOjpBc3NpZ25JbWFnZXModW5z
aWduZWQgaW50IHN0YXJ0SW1hZ2VJbmRleCwKICAgICAqb3V0VXNlZFJhbmdlID0gZ2w6OlJhbmdl
VUkobG93LCBoaWdoKTsKIH0KIAotdm9pZCBQcm9ncmFtRDNEOjphc3NpZ25JbWFnZTJEUmVnaXN0
ZXJzKHVuc2lnbmVkIGludCBzdGFydEltYWdlSW5kZXgsCit2b2lkIFByb2dyYW1EM0Q6OmFzc2ln
bkltYWdlMkRSZWdpc3RlcnMoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RhcnRJbWFnZUluZGV4
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGFydExvZ2lj
YWxJbWFnZVVuaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCByZWFkb25seSkKIHsKICAgICBpZiAocmVhZG9ubHkpCiAgICAgewotICAgICAgICBBc3NpZ25J
bWFnZXMoc3RhcnRJbWFnZUluZGV4LCBzdGFydExvZ2ljYWxJbWFnZVVuaXQsIDEsIG1SZWFkb25s
eUltYWdlc0NTLAotICAgICAgICAgICAgICAgICAgICAgJm1Vc2VkQ29tcHV0ZVJlYWRvbmx5SW1h
Z2VSYW5nZSk7CisgICAgICAgIEFzc2lnbkltYWdlcyhzdGFydEltYWdlSW5kZXgsIHN0YXJ0TG9n
aWNhbEltYWdlVW5pdCwgMSwgbVJlYWRvbmx5SW1hZ2VzW3NoYWRlclR5cGVdLAorICAgICAgICAg
ICAgICAgICAgICAgJm1Vc2VkUmVhZG9ubHlJbWFnZVJhbmdlW3NoYWRlclR5cGVdKTsKICAgICB9
CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAgQXNzaWduSW1hZ2VzKHN0YXJ0SW1hZ2VJbmRleCwg
c3RhcnRMb2dpY2FsSW1hZ2VVbml0LCAxLCBtSW1hZ2VzQ1MsICZtVXNlZENvbXB1dGVJbWFnZVJh
bmdlKTsKKyAgICAgICAgQXNzaWduSW1hZ2VzKHN0YXJ0SW1hZ2VJbmRleCwgc3RhcnRMb2dpY2Fs
SW1hZ2VVbml0LCAxLCBtSW1hZ2VzW3NoYWRlclR5cGVdLAorICAgICAgICAgICAgICAgICAgICAg
Jm1Vc2VkSW1hZ2VSYW5nZVtzaGFkZXJUeXBlXSk7CiAgICAgfQogfQogCkBAIC0zMDI2LDE2ICsz
MDUwLDE1IEBAIHZvaWQgUHJvZ3JhbUQzRDo6cmVzZXQoKQogICAgIHsKICAgICAgICAgbVNoYWRl
clVuaWZvcm1TdG9yYWdlc1tzaGFkZXJUeXBlXS5yZXNldCgpOwogICAgICAgICBtU2hhZGVyU2Ft
cGxlcnNbc2hhZGVyVHlwZV0uY2xlYXIoKTsKKyAgICAgICAgbUltYWdlc1tzaGFkZXJUeXBlXS5j
bGVhcigpOworICAgICAgICBtUmVhZG9ubHlJbWFnZXNbc2hhZGVyVHlwZV0uY2xlYXIoKTsKICAg
ICB9CiAKLSAgICBtSW1hZ2VzQ1MuY2xlYXIoKTsKLSAgICBtUmVhZG9ubHlJbWFnZXNDUy5jbGVh
cigpOwotCiAgICAgbVVzZWRTaGFkZXJTYW1wbGVyUmFuZ2VzLmZpbGwoezAsIDB9KTsKLSAgICBt
VXNlZENvbXB1dGVBdG9taWNDb3VudGVyUmFuZ2UgPSB7MCwgMH07Ci0gICAgbURpcnR5U2FtcGxl
ck1hcHBpbmcgICAgICAgICAgID0gdHJ1ZTsKLSAgICBtVXNlZENvbXB1dGVJbWFnZVJhbmdlICAg
ICAgICAgPSB7MCwgMH07Ci0gICAgbVVzZWRDb21wdXRlUmVhZG9ubHlJbWFnZVJhbmdlID0gezAs
IDB9OworICAgIG1Vc2VkQXRvbWljQ291bnRlclJhbmdlLmZpbGwoezAsIDB9KTsKKyAgICBtRGly
dHlTYW1wbGVyTWFwcGluZyA9IHRydWU7CisgICAgbVVzZWRJbWFnZVJhbmdlLmZpbGwoezAsIDB9
KTsKKyAgICBtVXNlZFJlYWRvbmx5SW1hZ2VSYW5nZS5maWxsKHswLCAwfSk7CiAKICAgICBtQXR0
cmliTG9jYXRpb25Ub0QzRFNlbWFudGljLmZpbGwoLTEpOwogCkBAIC0zMTUxLDcgKzMxNzQsNyBA
QCB2b2lkIFByb2dyYW1EM0Q6OnVwZGF0ZUNhY2hlZE91dHB1dExheW91dChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKIHZvaWQgUHJvZ3JhbUQzRDo6dXBkYXRlQ2FjaGVkQ29tcHV0ZUltYWdl
MkRCaW5kTGF5b3V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQogewogICAgIGNvbnN0IGF1
dG8gJmdsU3RhdGUgPSBjb250ZXh0LT5nZXRTdGF0ZSgpOwotICAgIGZvciAoYXV0byAmaW1hZ2Uy
REJpbmRMYXlvdXQgOiBtQ29tcHV0ZVNoYWRlckltYWdlMkRCaW5kTGF5b3V0Q2FjaGUpCisgICAg
Zm9yIChhdXRvICZpbWFnZTJEQmluZExheW91dCA6IG1JbWFnZTJEQmluZExheW91dENhY2hlW2ds
OjpTaGFkZXJUeXBlOjpDb21wdXRlXSkKICAgICB7CiAgICAgICAgIGNvbnN0IGdsOjpJbWFnZVVu
aXQgJmltYWdlVW5pdCA9IGdsU3RhdGUuZ2V0SW1hZ2VVbml0KGltYWdlMkRCaW5kTGF5b3V0LmZp
cnN0KTsKICAgICAgICAgaWYgKGltYWdlVW5pdC50ZXh0dXJlLmdldCgpKQpAQCAtMzMzMiw3ICsz
MzU1LDcgQEAgdm9pZCBQcm9ncmFtRDNEOjp1cGRhdGVDYWNoZWRDb21wdXRlRXhlY3V0YWJsZUlu
ZGV4KCkKICAgICAgICAgIGV4ZWN1dGFibGVJbmRleCsrKQogICAgIHsKICAgICAgICAgaWYgKG1D
b21wdXRlRXhlY3V0YWJsZXNbZXhlY3V0YWJsZUluZGV4XS0+bWF0Y2hlc1NpZ25hdHVyZSgKLSAg
ICAgICAgICAgICAgICBtQ29tcHV0ZVNoYWRlckltYWdlMkRCaW5kTGF5b3V0Q2FjaGUpKQorICAg
ICAgICAgICAgICAgIG1JbWFnZTJEQmluZExheW91dENhY2hlW2dsOjpTaGFkZXJUeXBlOjpDb21w
dXRlXSkpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1DYWNoZWRDb21wdXRlRXhlY3V0YWJsZUlu
ZGV4ID0gZXhlY3V0YWJsZUluZGV4OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZDNkL1Byb2dyYW1E
M0QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2Qv
UHJvZ3JhbUQzRC5oCmluZGV4IDVmODIyOWQ2OTAxMjk4ZTAzNjNiMjU5N2Y0NWZkM2E4ZGRiYmM1
M2MuLmYyZTU3MzlhZGQzZGU3OGYyZjJiOWZkYWMzYmEzYTkxMzM1NGNjZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvUHJvZ3Jh
bUQzRC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9kM2QvUHJvZ3JhbUQzRC5oCkBAIC0zNDMsNyArMzQzLDggQEAgY2xhc3MgUHJvZ3JhbUQzRCA6
IHB1YmxpYyBQcm9ncmFtSW1wbAogICAgICAgICByZXR1cm4gbVN0YXRlLmdldEV4ZWN1dGFibGUo
KS5nZXRMaW5rZWRTaGFkZXJTdGFnZXMoKVtzaGFkZXJUeXBlXTsKICAgICB9CiAKLSAgICB2b2lk
IGFzc2lnbkltYWdlMkRSZWdpc3RlcnModW5zaWduZWQgaW50IHN0YXJ0SW1hZ2VJbmRleCwKKyAg
ICB2b2lkIGFzc2lnbkltYWdlMkRSZWdpc3RlcnMoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN0YXJ0SW1hZ2VJ
bmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0YXJ0TG9naWNhbElt
YWdlVW5pdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSk7
CiAgICAgYm9vbCBoYXNOYW1lZFVuaWZvcm0oY29uc3Qgc3RkOjpzdHJpbmcgJm5hbWUpOwpAQCAt
NTE5LDcgKzUyMCw3IEBAIGNsYXNzIFByb2dyYW1EM0QgOiBwdWJsaWMgUHJvZ3JhbUltcGwKIAog
ICAgIHZvaWQgdXBkYXRlQ2FjaGVkSW5wdXRMYXlvdXRGcm9tU2hhZGVyKCk7CiAgICAgdm9pZCB1
cGRhdGVDYWNoZWRPdXRwdXRMYXlvdXRGcm9tU2hhZGVyKCk7Ci0gICAgdm9pZCB1cGRhdGVDYWNo
ZWRJbWFnZTJEQmluZExheW91dEZyb21Db21wdXRlU2hhZGVyKCk7CisgICAgdm9pZCB1cGRhdGVD
YWNoZWRJbWFnZTJEQmluZExheW91dEZyb21TaGFkZXIoZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlw
ZSk7CiAgICAgdm9pZCB1cGRhdGVDYWNoZWRWZXJ0ZXhFeGVjdXRhYmxlSW5kZXgoKTsKICAgICB2
b2lkIHVwZGF0ZUNhY2hlZFBpeGVsRXhlY3V0YWJsZUluZGV4KCk7CiAgICAgdm9pZCB1cGRhdGVD
YWNoZWRDb21wdXRlRXhlY3V0YWJsZUluZGV4KCk7CkBAIC01NTgsMTEgKzU1OSwxMSBAQCBjbGFz
cyBQcm9ncmFtRDNEIDogcHVibGljIFByb2dyYW1JbXBsCiAgICAgZ2w6OlNoYWRlck1hcDxnbDo6
UmFuZ2VVST4gbVVzZWRTaGFkZXJTYW1wbGVyUmFuZ2VzOwogICAgIGJvb2wgbURpcnR5U2FtcGxl
ck1hcHBpbmc7CiAKLSAgICBzdGQ6OnZlY3RvcjxJbWFnZT4gbUltYWdlc0NTOwotICAgIHN0ZDo6
dmVjdG9yPEltYWdlPiBtUmVhZG9ubHlJbWFnZXNDUzsKLSAgICBnbDo6UmFuZ2VVSSBtVXNlZENv
bXB1dGVJbWFnZVJhbmdlOwotICAgIGdsOjpSYW5nZVVJIG1Vc2VkQ29tcHV0ZVJlYWRvbmx5SW1h
Z2VSYW5nZTsKLSAgICBnbDo6UmFuZ2VVSSBtVXNlZENvbXB1dGVBdG9taWNDb3VudGVyUmFuZ2U7
CisgICAgZ2w6OlNoYWRlck1hcDxzdGQ6OnZlY3RvcjxJbWFnZT4+IG1JbWFnZXM7CisgICAgZ2w6
OlNoYWRlck1hcDxzdGQ6OnZlY3RvcjxJbWFnZT4+IG1SZWFkb25seUltYWdlczsKKyAgICBnbDo6
U2hhZGVyTWFwPGdsOjpSYW5nZVVJPiBtVXNlZEltYWdlUmFuZ2U7CisgICAgZ2w6OlNoYWRlck1h
cDxnbDo6UmFuZ2VVST4gbVVzZWRSZWFkb25seUltYWdlUmFuZ2U7CisgICAgZ2w6OlNoYWRlck1h
cDxnbDo6UmFuZ2VVST4gbVVzZWRBdG9taWNDb3VudGVyUmFuZ2U7CiAKICAgICAvLyBDYWNoZSBm
b3IgcGl4ZWwgc2hhZGVyIG91dHB1dCBsYXlvdXQgdG8gc2F2ZSByZWFsbG9jYXRpb25zLgogICAg
IHN0ZDo6dmVjdG9yPEdMZW51bT4gbVBpeGVsU2hhZGVyT3V0cHV0TGF5b3V0Q2FjaGU7CkBAIC01
ODcsOCArNTg4LDggQEAgY2xhc3MgUHJvZ3JhbUQzRCA6IHB1YmxpYyBQcm9ncmFtSW1wbAogICAg
IHN0ZDo6YXJyYXk8dW5zaWduZWQgaW50LCBnbDo6SU1QTEVNRU5UQVRJT05fTUFYX0FUT01JQ19D
T1VOVEVSX0JVRkZFUl9CSU5ESU5HUz4KICAgICAgICAgbUNvbXB1dGVBdG9taWNDb3VudGVyQnVm
ZmVyUmVnaXN0ZXJJbmRpY2VzOwogCi0gICAgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxl
PiBtSW1hZ2UyRFVuaWZvcm1zOwotICAgIGdsOjpJbWFnZVVuaXRUZXh0dXJlVHlwZU1hcCBtQ29t
cHV0ZVNoYWRlckltYWdlMkRCaW5kTGF5b3V0Q2FjaGU7CisgICAgZ2w6OlNoYWRlck1hcDxzdGQ6
OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+PiBtSW1hZ2UyRFVuaWZvcm1zOworICAgIGdsOjpT
aGFkZXJNYXA8Z2w6OkltYWdlVW5pdFRleHR1cmVUeXBlTWFwPiBtSW1hZ2UyREJpbmRMYXlvdXRD
YWNoZTsKICAgICBPcHRpb25hbDxzaXplX3Q+IG1DYWNoZWRDb21wdXRlRXhlY3V0YWJsZUluZGV4
OwogCiAgICAgZ2w6OlNoYWRlckJpdFNldCBtU2hhZGVyVW5pZm9ybXNEaXJ0eTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9kM2QvZDNk
MTEvcmVuZGVyZXIxMV91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9yZW5kZXJlcjExX3V0aWxzLmgKaW5kZXggYTJjN2UxMmU3
OTljN2M5MzJhOTI4MjQ3NzFmZWU3MmM4ZjBiNTk1ZC4uYjRiMzU2NDBlMWM3NjU4OWMxOTVkMTNk
ZmI3OTM1OTAyZWU2NDVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9yZW5kZXJlcjExX3V0aWxzLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2QzZC9kM2QxMS9yZW5k
ZXJlcjExX3V0aWxzLmgKQEAgLTMzNSw3ICszMzUsNyBAQCB2b2lkIEluaXRDb25zdGFudEJ1ZmZl
ckRlc2MoRDNEMTFfQlVGRkVSX0RFU0MgKmNvbnN0YW50QnVmZmVyRGVzY3JpcHRpb24sIHNpemVf
dAogCiAvLyBIZWxwZXIgY2xhc3MgZm9yIFJBSUkgcGF0dGVybmluZy4KIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPgotY2xhc3MgU2NvcGVkVW5tYXBwZXIgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUK
K2NsYXNzIEFOR0xFX05PX0RJU0NBUkQgU2NvcGVkVW5tYXBwZXIgZmluYWwgOiBhbmdsZTo6Tm9u
Q29weWFibGUKIHsKICAgcHVibGljOgogICAgIFNjb3BlZFVubWFwcGVyKFQgKm9iamVjdCkgOiBt
T2JqZWN0KG9iamVjdCkge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nZW5fbG9hZF90ZXh0dXJlX2JvcmRlcl9mdW5jdGlvbnNfdGFi
bGUucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2Vu
X2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3RhYmxlLnB5CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCBiNzIyODllNzEyOGM0MzM0N2YxODdmOTY2ZDA2NmU2ODRlZjEzZjEwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nZW5fbG9hZF90ZXh0dXJlX2JvcmRl
cl9mdW5jdGlvbnNfdGFibGUucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNTUgKzAsMCBAQAotIyEv
dXNyL2Jpbi9weXRob24zCi0jIENvcHlyaWdodCAyMDIxIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSMgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KLSMKLSMgZ2VuX2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3Rh
YmxlLnB5OgotIyAgQ29kZSBnZW5lcmF0aW9uIGZvciB0aGUgbG9hZCB0ZXh0dXJlIGJvcmRlciBm
dW5jdGlvbiB0YWJsZXMgdXNlZCBmb3IgdGV4dHVyZSBmb3JtYXRzLiBUaGVzZSBtYXBwaW5ncyBh
cmUKLSMgIG5vdCByZW5kZXJlciBzcGVjaWZpYy4gVGhlIG1hcHBpbmdzIGFyZSBkb25lIGZyb20g
dGhlIEdMIGludGVybmFsIGZvcm1hdCwgdG8gdGhlIEFOR0xFIGZvcm1hdCBJRC4KLSMgIE5PVEU6
IGRvbid0IHJ1biB0aGlzIHNjcmlwdCBkaXJlY3RseS4gUnVuIHNjcmlwdHMvcnVuX2NvZGVfZ2Vu
ZXJhdGlvbi5weS4KLSMKLQotaW1wb3J0IGpzb24sIHN5cwotCi1zeXMucGF0aC5hcHBlbmQoJy4u
Ly4uJykKLWltcG9ydCBhbmdsZV9mb3JtYXQKLQotdGVtcGxhdGUgPSAiIiIvLyBHRU5FUkFURUQg
RklMRSAtIERPIE5PVCBFRElULgotLy8gR2VuZXJhdGVkIGJ5IGdlbl9sb2FkX3RleHR1cmVfYm9y
ZGVyX2Z1bmN0aW9uc190YWJsZS5weSB1c2luZyBkYXRhIGZyb20gbG9hZF90ZXh0dXJlX2JvcmRl
cl9mdW5jdGlvbnNfZGF0YS5qc29uCi0vLwotLy8gQ29weXJpZ2h0IDIwMjEgVGhlIEFOR0xFIFBy
b2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vLwotLy8gbG9hZF90ZXh0dXJlX2JvcmRlcl9m
dW5jdGlvbnNfdGFibGUiOgotLy8gICBDb250YWlucyB0aGUgTG9hZFRleHR1cmVCb3JkZXJGdW5j
dGlvbk1hcCBmb3IgdGV4dHVyZV9mb3JtYXRfdXRpbC5oCi0vLwotCi0jaW5jbHVkZSAibGliQU5H
TEUvcmVuZGVyZXIvbG9hZF90ZXh0dXJlX2JvcmRlcl9mdW5jdGlvbnNfdGFibGUuaCIKLSNpbmNs
dWRlICJpbWFnZV91dGlsL2xvYWR0ZXh0dXJlYm9yZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBy
eDsKLQotbmFtZXNwYWNlIGFuZ2xlCi17ewotCi1uYW1lc3BhY2UKLXt7Ci0KLS8vIEVTMyB0ZXh0
dXJlIGJvcmRlciBjb2xvciBsb2FkaW5nIGZ1bmN0aW9ucyB2YXJ5IGJhc2VkIG9uOgotLy8gICAg
LSB0aGUgR0wgaW50ZXJuYWwgZm9ybWF0IChzdXBwbGllZCB0byBnbFRleCpJbWFnZSpEKQotLy8g
ICAgLSB0aGUgdGFyZ2V0IERYR0lfRk9STUFUIHRoYXQgdGhlIGltYWdlIHdpbGwgYmUgbG9hZGVk
IGludG8gKHdoaWNoIGlzIGNob3NlbiBiYXNlZCBvbiB0aGUgRDNECi0vLyAgICBkZXZpY2UncyBj
YXBhYmlsaXRpZXMpCi0vLyBUaGlzIG1hcCB0eXBlIGRldGVybWluZXMgd2hpY2ggbG9hZGluZyBm
dW5jdGlvbiB0byB1c2UsIGJhc2VkIG9uIHRoZXNlIHR3byBwYXJhbWV0ZXJzLgotLy8gVGhpcyBt
YXAgb25seSBjb250YWlucyBmb3JtYXRzIHdoaWNoIG5lZWQgdG8gcmVvcmRlciBib3JkZXIgY29s
b3IgY2hhbm5lbCBleHBsaWN0bHkuCi0KLXtsb2FkX2Z1bmN0aW9uc19kYXRhfX19ICAvLyBuYW1l
c3BhY2UKLQotTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbk1hcCBHZXRMb2FkVGV4dHVyZUJvcmRl
ckZ1bmN0aW9uc01hcChHTGVudW0ge2ludGVybmFsX2Zvcm1hdH0sIEZvcm1hdElEIHthbmdsZV9m
b3JtYXR9KQote3sKLSAgICBzd2l0Y2ggKHtpbnRlcm5hbF9mb3JtYXR9KQotICAgIHt7Ci17c3dp
dGNoX2RhdGF9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAvLyBVc2UgTG9hZFRvTmF0
aXZlIGZvciBhbnkgZm9ybWF0IHRoYXQgZG9lc24ndCByZW9yZGVyIGNoYW5uZWxzLgotICAgICAg
ICAgICAgcmV0dXJuIERlZmF1bHRMb2FkRnVuY3Rpb247Ci0gICAgfX0KLQotfX0gIC8vIEdldExv
YWRUZXh0dXJlQm9yZGVyRnVuY3Rpb25zTWFwCi0KLX19ICAvLyBuYW1lc3BhY2UgYW5nbGUKLSIi
IgotCi1pbnRlcm5hbF9mb3JtYXRfcGFyYW0gPSAnaW50ZXJuYWxGb3JtYXQnCi1hbmdsZV9mb3Jt
YXRfcGFyYW0gPSAnYW5nbGVGb3JtYXQnCi1hbmdsZV9mb3JtYXRfdW5rbm93biA9ICdOT05FJwot
Ci0KLWRlZiBsb2FkX2Z1bmN0aW9uc19uYW1lKGludGVybmFsX2Zvcm1hdCwgYW5nbGVfZm9ybWF0
KToKLSAgICByZXR1cm4gaW50ZXJuYWxfZm9ybWF0WzM6XSArICJfdG9fIiArIGFuZ2xlX2Zvcm1h
dAotCi0KLWRlZiBnZXRfbG9hZF9mdW5jKGZ1bmNfbmFtZSwgbG9hZF9mdW5jdGlvbik6Ci0gICAg
c25pcHBldCA9ICJMb2FkVGV4dHVyZUJvcmRlckZ1bmN0aW9uSW5mbyAiICsgZnVuY19uYW1lICsg
IigpXG4iCi0gICAgc25pcHBldCArPSAie1xuIgotICAgIHNuaXBwZXQgKz0gIiAgICByZXR1cm4g
TG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbkluZm8oIiArIGxvYWRfZnVuY3Rpb24gKyAiKTtcbiIK
LSAgICBzbmlwcGV0ICs9ICJ9XG4iCi0gICAgc25pcHBldCArPSAiXG4iCi0KLSAgICByZXR1cm4g
c25pcHBldAotCi0KLWRlZiBwYXJzZV9qc29uKGpzb25fZGF0YSk6Ci0gICAgdGFibGVfZGF0YSA9
ICcnCi0gICAgbG9hZF9mdW5jdGlvbnNfZGF0YSA9ICcnCi0gICAgbG9hZF9mdW5jdGlvbnNfZGF0
YSArPSBnZXRfbG9hZF9mdW5jKCdEZWZhdWx0TG9hZEZ1bmN0aW9uJywgJ0xvYWRUb05hdGl2ZScp
Ci0gICAgZm9yIGludGVybmFsX2Zvcm1hdCwgYW5nbGVfZm9ybWF0X2Z1bmMgaW4gc29ydGVkKGpz
b25fZGF0YVsibWFwIl0uaXRlbXMoKSk6Ci0KLSAgICAgICAgcyA9ICcgICAgICAgICcKLQotICAg
ICAgICB0YWJsZV9kYXRhICs9IHMgKyAnY2FzZSAnICsgaW50ZXJuYWxfZm9ybWF0ICsgJzpcbicK
LQotICAgICAgICBkb19zd2l0Y2ggPSBsZW4oYW5nbGVfZm9ybWF0X2Z1bmMpID4gMSBvciBsaXN0
KAotICAgICAgICAgICAgYW5nbGVfZm9ybWF0X2Z1bmMpWzBdICE9IGFuZ2xlX2Zvcm1hdF91bmtu
b3duCi0KLSAgICAgICAgaWYgZG9fc3dpdGNoOgotICAgICAgICAgICAgdGFibGVfZGF0YSArPSBz
ICsgJ3tcbicKLSAgICAgICAgICAgIHMgKz0gJyAgICAnCi0gICAgICAgICAgICB0YWJsZV9kYXRh
ICs9IHMgKyAnc3dpdGNoICgnICsgYW5nbGVfZm9ybWF0X3BhcmFtICsgJylcbicKLSAgICAgICAg
ICAgIHRhYmxlX2RhdGEgKz0gcyArICd7XG4nCi0gICAgICAgICAgICBzICs9ICcgICAgJwotCi0g
ICAgICAgICAgICBmb3IgYW5nbGVfZm9ybWF0LCBsb2FkX2Z1bmN0aW9uIGluIHNvcnRlZChhbmds
ZV9mb3JtYXRfZnVuYy5pdGVtcygpKToKLSAgICAgICAgICAgICAgICBmdW5jX25hbWUgPSBsb2Fk
X2Z1bmN0aW9uc19uYW1lKGludGVybmFsX2Zvcm1hdCwgYW5nbGVfZm9ybWF0KQotICAgICAgICAg
ICAgICAgICMgTWFpbiBjYXNlIHN0YXRlbWVudHMKLSAgICAgICAgICAgICAgICB0YWJsZV9kYXRh
ICs9IHMgKyAnY2FzZSBGb3JtYXRJRDo6JyArIGFuZ2xlX2Zvcm1hdCArICc6XG4nCi0gICAgICAg
ICAgICAgICAgdGFibGVfZGF0YSArPSBzICsgJyAgICByZXR1cm4gJyArIGZ1bmNfbmFtZSArICc7
XG4nCi0KLSAgICAgICAgICAgICAgICBsb2FkX2Z1bmN0aW9uc19kYXRhICs9IGdldF9sb2FkX2Z1
bmMoZnVuY19uYW1lLCBsb2FkX2Z1bmN0aW9uKQotCi0gICAgICAgIGlmIGRvX3N3aXRjaDoKLSAg
ICAgICAgICAgIHRhYmxlX2RhdGEgKz0gcyArICdkZWZhdWx0OlxuJwotICAgICAgICAgICAgdGFi
bGVfZGF0YSArPSBzICsgJyAgICByZXR1cm4gRGVmYXVsdExvYWRGdW5jdGlvbjtcbicKLQotICAg
ICAgICBpZiBkb19zd2l0Y2g6Ci0gICAgICAgICAgICBzID0gc1s0Ol0KLSAgICAgICAgICAgIHRh
YmxlX2RhdGEgKz0gcyArICd9XG4nCi0gICAgICAgICAgICBzID0gc1s0Ol0KLSAgICAgICAgICAg
IHRhYmxlX2RhdGEgKz0gcyArICd9XG4nCi0KLSAgICByZXR1cm4gdGFibGVfZGF0YSwgbG9hZF9m
dW5jdGlvbnNfZGF0YQotCi0KLWRlZiBtYWluKCk6Ci0KLSAgICAjIGF1dG9fc2NyaXB0IHBhcmFt
ZXRlcnMuCi0gICAgaWYgbGVuKHN5cy5hcmd2KSA+IDE6Ci0gICAgICAgIGlucHV0cyA9IFsnYW5n
bGVfZm9ybWF0LnB5JywgJ2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX2RhdGEuanNvbidd
Ci0gICAgICAgIG91dHB1dHMgPSBbJ2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3RhYmxl
X2F1dG9nZW4uY3BwJ10KLQotICAgICAgICBpZiBzeXMuYXJndlsxXSA9PSAnaW5wdXRzJzoKLSAg
ICAgICAgICAgIHByaW50KCcsJy5qb2luKGlucHV0cykpCi0gICAgICAgIGVsaWYgc3lzLmFyZ3Zb
MV0gPT0gJ291dHB1dHMnOgotICAgICAgICAgICAgcHJpbnQoJywnLmpvaW4ob3V0cHV0cykpCi0g
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmludCgnSW52YWxpZCBzY3JpcHQgcGFyYW1ldGVy
cycpCi0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICByZXR1cm4gMAotCi0gICAganNvbl9k
YXRhID0gYW5nbGVfZm9ybWF0LmxvYWRfanNvbignbG9hZF90ZXh0dXJlX2JvcmRlcl9mdW5jdGlv
bnNfZGF0YS5qc29uJykKLQotICAgIHN3aXRjaF9kYXRhLCBsb2FkX2Z1bmN0aW9uc19kYXRhID0g
cGFyc2VfanNvbihqc29uX2RhdGEpCi0gICAgb3V0cHV0ID0gdGVtcGxhdGUuZm9ybWF0KAotICAg
ICAgICBpbnRlcm5hbF9mb3JtYXQ9aW50ZXJuYWxfZm9ybWF0X3BhcmFtLAotICAgICAgICBhbmds
ZV9mb3JtYXQ9YW5nbGVfZm9ybWF0X3BhcmFtLAotICAgICAgICBzd2l0Y2hfZGF0YT1zd2l0Y2hf
ZGF0YSwKLSAgICAgICAgbG9hZF9mdW5jdGlvbnNfZGF0YT1sb2FkX2Z1bmN0aW9uc19kYXRhKQot
Ci0gICAgd2l0aCBvcGVuKCdsb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZV9hdXRv
Z2VuLmNwcCcsICd3dCcpIGFzIG91dF9maWxlOgotICAgICAgICBvdXRfZmlsZS53cml0ZShvdXRw
dXQpCi0gICAgICAgIG91dF9maWxlLmNsb3NlKCkKLSAgICByZXR1cm4gMAotCi0KLWlmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6Ci0gICAgc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0JsaXRHTC5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQmxpdEdM
LmNwcAppbmRleCA4MTJlMmI5MGFmOWVjZDEwZDEyOTI0ZTI1ZWJiMTk1ZjkzYWQxZTViLi4wY2Nl
OGE0YjYzMzZhMTYwZWFjM2IzNjdjMjNkZjcxNTNhZGMyYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQmxpdEdMLmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQmxpdEdM
LmNwcApAQCAtNjIsNyArNjIsNyBAQCBhbmdsZTo6UmVzdWx0IENoZWNrTGlua1N0YXR1cyhjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CiAKLWNsYXNzIFNjb3BlZEdMU3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUKK2NsYXNz
IEFOR0xFX05PX0RJU0NBUkQgU2NvcGVkR0xTdGF0ZSA6IGFuZ2xlOjpOb25Db3B5YWJsZQogewog
ICBwdWJsaWM6CiAgICAgZW51bQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3BwCmlu
ZGV4IGVlY2IyYjA5MDFhYThlOWM4ZDlmY2I1YmIxYWU0NGU3ZmM0MmY3NGQuLjcxYTk5NDRjNTBm
NzliYjU3ODAyMDhkZDE0NjBhNjNkZDc3MGY4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVi
dWZmZXJHTC5jcHAKQEAgLTI1NSw3ICsyNTUsNyBAQCBib29sIElzRW11bGF0ZWRBbHBoYUNoYW5u
ZWxUZXh0dXJlQXR0YWNobWVudChjb25zdCBGcmFtZWJ1ZmZlckF0dGFjaG1lbnQgKmF0dGFjaAog
ICAgIHJldHVybiB0ZXh0dXJlR0wtPmhhc0VtdWxhdGVkQWxwaGFDaGFubmVsKGF0dGFjaG1lbnQt
PmdldFRleHR1cmVJbWFnZUluZGV4KCkpOwogfQogCi1jbGFzcyBTY29wZWRFWFRUZXh0dXJlTm9y
bTE2UmVhZGJhY2tXb3JrYXJvdW5kCitjbGFzcyBBTkdMRV9OT19ESVNDQVJEIFNjb3BlZEVYVFRl
eHR1cmVOb3JtMTZSZWFkYmFja1dvcmthcm91bmQKIHsKICAgcHVibGljOgogICAgIFNjb3BlZEVY
VFRleHR1cmVOb3JtMTZSZWFkYmFja1dvcmthcm91bmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdM
LmgKaW5kZXggMzAxZjU0YTdkYTRhYWEzMDYxM2VlOTI0ZjRiODU5YjI0Mzk2OTc2My4uZDQzMjQ3
ZWQ1Njk5NThjMGU5MmFhZmMxZWI3ODI1MTUzZWE4NjhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVy
ZXJHTC5oCkBAIC02Miw3ICs2Miw3IEBAIGNsYXNzIFdvcmtlckNvbnRleHQgOiBhbmdsZTo6Tm9u
Q29weWFibGUKICAgICB2aXJ0dWFsIHZvaWQgdW5tYWtlQ3VycmVudCgpID0gMDsKIH07CiAKLWNs
YXNzIFNjb3BlZFdvcmtlckNvbnRleHRHTAorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29wZWRX
b3JrZXJDb250ZXh0R0wKIHsKICAgcHVibGljOgogICAgIFNjb3BlZFdvcmtlckNvbnRleHRHTChS
ZW5kZXJlckdMICpyZW5kZXJlciwgc3RkOjpzdHJpbmcgKmluZm9Mb2cpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1RleHR1cmVH
TC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
VGV4dHVyZUdMLmNwcAppbmRleCAzZjY0ZDRiZjIxOTI4ODg2MzRjNWRkMmJlY2I2NTM1OTdkOTgx
NDAzLi4yODUwNTFhODcxMWMzYzZlMTBmNTI1ZjhiMWUyMmI4MTZlOTI5MjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVy
ZUdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvVGV4dHVyZUdMLmNwcApAQCAtNjgsMjIgKzY4LDI0IEBAIGJvb2wgR2V0RGVwdGhTdGVu
Y2lsV29ya2Fyb3VuZChHTGVudW0gZm9ybWF0KQogICAgIHJldHVybiBmb3JtYXQgPT0gR0xfREVQ
VEhfQ09NUE9ORU5UIHx8IGZvcm1hdCA9PSBHTF9ERVBUSF9TVEVOQ0lMOwogfQogCi1ib29sIEdl
dEVtdWxhdGVkQWxwaGFDaGFubmVsKGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcywg
R0xlbnVtIGludGVybmFsRm9ybWF0KQorYm9vbCBHZXRFbXVsYXRlZEFscGhhQ2hhbm5lbChjb25z
dCBhbmdsZTo6RmVhdHVyZXNHTCAmZmVhdHVyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmb3JpZ2luYWxJbnRlcm5hbEZvcm1hdCkKIHsK
LSAgICByZXR1cm4gZmVhdHVyZXMucmdiRFhUMVRleHR1cmVzU2FtcGxlWmVyb0FscGhhLmVuYWJs
ZWQgJiYKLSAgICAgICAgICAgaW50ZXJuYWxGb3JtYXQgPT0gR0xfQ09NUFJFU1NFRF9SR0JfUzNU
Q19EWFQxX0VYVDsKKyAgICByZXR1cm4gKGZlYXR1cmVzLnJnYkRYVDFUZXh0dXJlc1NhbXBsZVpl
cm9BbHBoYS5lbmFibGVkICYmCisgICAgICAgICAgICBvcmlnaW5hbEludGVybmFsRm9ybWF0LnNp
emVkSW50ZXJuYWxGb3JtYXQgPT0gR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCkgfHwK
KyAgICAgICAgICAgKGZlYXR1cmVzLmVtdWxhdGVSR0IxMC5lbmFibGVkICYmIG9yaWdpbmFsSW50
ZXJuYWxGb3JtYXQuZm9ybWF0ID09IEdMX1JHQiAmJgorICAgICAgICAgICAgb3JpZ2luYWxJbnRl
cm5hbEZvcm1hdC50eXBlID09IEdMX1VOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JFVl9FWFQpOwog
fQogCiBMZXZlbEluZm9HTCBHZXRMZXZlbEluZm8oY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZl
YXR1cmVzLAotICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBvcmlnaW5hbEludGVybmFs
Rm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1h
dCAmb3JpZ2luYWxJbnRlcm5hbEZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVu
dW0gZGVzdGluYXRpb25JbnRlcm5hbEZvcm1hdCkKIHsKLSAgICBHTGVudW0gb3JpZ2luYWxGb3Jt
YXQgICAgPSBnbDo6R2V0VW5zaXplZEZvcm1hdChvcmlnaW5hbEludGVybmFsRm9ybWF0KTsKICAg
ICBHTGVudW0gZGVzdGluYXRpb25Gb3JtYXQgPSBnbDo6R2V0VW5zaXplZEZvcm1hdChkZXN0aW5h
dGlvbkludGVybmFsRm9ybWF0KTsKLSAgICByZXR1cm4gTGV2ZWxJbmZvR0wob3JpZ2luYWxGb3Jt
YXQsIGRlc3RpbmF0aW9uSW50ZXJuYWxGb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgIEdl
dERlcHRoU3RlbmNpbFdvcmthcm91bmQob3JpZ2luYWxGb3JtYXQpLAotICAgICAgICAgICAgICAg
ICAgICAgICBHZXRMVU1BV29ya2Fyb3VuZEluZm8ob3JpZ2luYWxGb3JtYXQsIGRlc3RpbmF0aW9u
Rm9ybWF0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgR2V0RW11bGF0ZWRBbHBoYUNoYW5uZWwo
ZmVhdHVyZXMsIG9yaWdpbmFsRm9ybWF0KSk7CisgICAgcmV0dXJuIExldmVsSW5mb0dMKG9yaWdp
bmFsSW50ZXJuYWxGb3JtYXQuZm9ybWF0LCBkZXN0aW5hdGlvbkludGVybmFsRm9ybWF0LAorICAg
ICAgICAgICAgICAgICAgICAgICBHZXREZXB0aFN0ZW5jaWxXb3JrYXJvdW5kKG9yaWdpbmFsSW50
ZXJuYWxGb3JtYXQuZm9ybWF0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgR2V0TFVNQVdvcmth
cm91bmRJbmZvKG9yaWdpbmFsSW50ZXJuYWxGb3JtYXQuZm9ybWF0LCBkZXN0aW5hdGlvbkZvcm1h
dCksCisgICAgICAgICAgICAgICAgICAgICAgIEdldEVtdWxhdGVkQWxwaGFDaGFubmVsKGZlYXR1
cmVzLCBvcmlnaW5hbEludGVybmFsRm9ybWF0KSk7CiB9CiAKIGdsOjpUZXh0dXJlOjpEaXJ0eUJp
dHMgR2V0TGV2ZWxXb3JrYXJvdW5kRGlydHlCaXRzKCkKQEAgLTIzNSw2ICsyMzcsOCBAQCBhbmds
ZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0SW1hZ2VIZWxwZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVN
YW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVz
ID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsKIAorICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1h
dCAmb3JpZ2luYWxJbnRlcm5hbEZvcm1hdEluZm8gPQorICAgICAgICBnbDo6R2V0SW50ZXJuYWxG
b3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCB0eXBlKTsKICAgICBuYXRpdmVnbDo6VGV4SW1hZ2VG
b3JtYXQgdGV4SW1hZ2VGb3JtYXQgPQogICAgICAgICBuYXRpdmVnbDo6R2V0VGV4SW1hZ2VGb3Jt
YXQoZnVuY3Rpb25zLCBmZWF0dXJlcywgaW50ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSk7CiAK
QEAgLTI2NSw3ICsyNjksOCBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0SW1hZ2VIZWxw
ZXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGV4SW1hZ2VGb3JtYXQudHlwZSwgcGl4ZWxzKSk7CiAgICAgfQog
Ci0gICAgTGV2ZWxJbmZvR0wgbGV2ZWxJbmZvID0gR2V0TGV2ZWxJbmZvKGZlYXR1cmVzLCBpbnRl
cm5hbEZvcm1hdCwgdGV4SW1hZ2VGb3JtYXQuaW50ZXJuYWxGb3JtYXQpOworICAgIExldmVsSW5m
b0dMIGxldmVsSW5mbyA9CisgICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgb3JpZ2luYWxJ
bnRlcm5hbEZvcm1hdEluZm8sIHRleEltYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KTsKICAgICBz
ZXRMZXZlbEluZm8oY29udGV4dCwgdGFyZ2V0LCBsZXZlbCwgMSwgbGV2ZWxJbmZvKTsKIAogICAg
IGlmIChmZWF0dXJlcy5zZXRaZXJvTGV2ZWxCZWZvcmVHZW5lcmF0ZU1pcG1hcC5lbmFibGVkICYm
IGdldFR5cGUoKSA9PSBnbDo6VGV4dHVyZVR5cGU6Ol8yRCAmJgpAQCAtMzIxLDYgKzMyNiw3IEBA
IGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRTdWJJbWFnZShjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgPSBHZXRTdGF0
ZU1hbmFnZXJHTChjb250ZXh0KTsKICAgICBjb25zdCBhbmdsZTo6RmVhdHVyZXNHTCAmZmVhdHVy
ZXMgPSBHZXRGZWF0dXJlc0dMKGNvbnRleHQpOwogCisgICAgY29uc3QgZ2w6OkludGVybmFsRm9y
bWF0ICZvcmlnaW5hbEludGVybmFsRm9ybWF0SW5mbyA9ICptU3RhdGUuZ2V0SW1hZ2VEZXNjKGlu
ZGV4KS5mb3JtYXQuaW5mbzsKICAgICBuYXRpdmVnbDo6VGV4U3ViSW1hZ2VGb3JtYXQgdGV4U3Vi
SW1hZ2VGb3JtYXQgPQogICAgICAgICBuYXRpdmVnbDo6R2V0VGV4U3ViSW1hZ2VGb3JtYXQoZnVu
Y3Rpb25zLCBmZWF0dXJlcywgZm9ybWF0LCB0eXBlKTsKIApAQCAtMzI4LDcgKzMzNCw4IEBAIGFu
Z2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRTdWJJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICBzaXplX3QgbGV2ZWwgICAgICAgICAgICAgPSBzdGF0aWNfY2FzdDxzaXplX3Q+
KGluZGV4LmdldExldmVsSW5kZXgoKSk7CiAKICAgICBBU1NFUlQoZ2V0TGV2ZWxJbmZvKHRhcmdl
dCwgbGV2ZWwpLmx1bWFXb3JrYXJvdW5kLmVuYWJsZWQgPT0KLSAgICAgICAgICAgR2V0TGV2ZWxJ
bmZvKGZlYXR1cmVzLCBmb3JtYXQsIHRleFN1YkltYWdlRm9ybWF0LmZvcm1hdCkubHVtYVdvcmth
cm91bmQuZW5hYmxlZCk7CisgICAgICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgb3JpZ2lu
YWxJbnRlcm5hbEZvcm1hdEluZm8sIHRleFN1YkltYWdlRm9ybWF0LmZvcm1hdCkKKyAgICAgICAg
ICAgICAgIC5sdW1hV29ya2Fyb3VuZC5lbmFibGVkKTsKIAogICAgIHN0YXRlTWFuYWdlci0+Ymlu
ZFRleHR1cmUoZ2V0VHlwZSgpLCBtVGV4dHVyZUlEKTsKICAgICBpZiAoZmVhdHVyZXMudW5wYWNr
T3ZlcmxhcHBpbmdSb3dzU2VwYXJhdGVseVVucGFja0J1ZmZlci5lbmFibGVkICYmIHVucGFja0J1
ZmZlciAmJgpAQCAtNTc1LDYgKzU4Miw4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRD
b21wcmVzc2VkSW1hZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgc2l6ZV90IGxl
dmVsICAgICAgICAgICAgID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihpbmRleC5nZXRMZXZlbEluZGV4
KCkpOwogICAgIEFTU0VSVChUZXh0dXJlVGFyZ2V0VG9UeXBlKHRhcmdldCkgPT0gZ2V0VHlwZSgp
KTsKIAorICAgIGNvbnN0IGdsOjpJbnRlcm5hbEZvcm1hdCAmb3JpZ2luYWxJbnRlcm5hbEZvcm1h
dEluZm8gPQorICAgICAgICBnbDo6R2V0U2l6ZWRJbnRlcm5hbEZvcm1hdEluZm8oaW50ZXJuYWxG
b3JtYXQpOwogICAgIG5hdGl2ZWdsOjpDb21wcmVzc2VkVGV4SW1hZ2VGb3JtYXQgY29tcHJlc3Nl
ZFRleEltYWdlRm9ybWF0ID0KICAgICAgICAgbmF0aXZlZ2w6OkdldENvbXByZXNzZWRUZXhJbWFn
ZUZvcm1hdChmdW5jdGlvbnMsIGZlYXR1cmVzLCBpbnRlcm5hbEZvcm1hdCk7CiAKQEAgLTU5OSw3
ICs2MDgsNyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0Q29tcHJlc3NlZEltYWdlKGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIH0KIAogICAgIExldmVsSW5mb0dMIGxldmVs
SW5mbyA9Ci0gICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgaW50ZXJuYWxGb3JtYXQsIGNv
bXByZXNzZWRUZXhJbWFnZUZvcm1hdC5pbnRlcm5hbEZvcm1hdCk7CisgICAgICAgIEdldExldmVs
SW5mbyhmZWF0dXJlcywgb3JpZ2luYWxJbnRlcm5hbEZvcm1hdEluZm8sIGNvbXByZXNzZWRUZXhJ
bWFnZUZvcm1hdC5pbnRlcm5hbEZvcm1hdCk7CiAgICAgQVNTRVJUKCFsZXZlbEluZm8ubHVtYVdv
cmthcm91bmQuZW5hYmxlZCk7CiAgICAgc2V0TGV2ZWxJbmZvKGNvbnRleHQsIHRhcmdldCwgbGV2
ZWwsIDEsIGxldmVsSW5mbyk7CiAKQEAgLTYyMiw2ICs2MzEsNyBAQCBhbmdsZTo6UmVzdWx0IFRl
eHR1cmVHTDo6c2V0Q29tcHJlc3NlZFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgIHNpemVfdCBsZXZlbCAgICAgICAgICAgICA9IHN0YXRpY19jYXN0PHNpemVfdD4oaW5k
ZXguZ2V0TGV2ZWxJbmRleCgpKTsKICAgICBBU1NFUlQoVGV4dHVyZVRhcmdldFRvVHlwZSh0YXJn
ZXQpID09IGdldFR5cGUoKSk7CiAKKyAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJm9yaWdp
bmFsSW50ZXJuYWxGb3JtYXRJbmZvID0gZ2w6OkdldFNpemVkSW50ZXJuYWxGb3JtYXRJbmZvKGZv
cm1hdCk7CiAgICAgbmF0aXZlZ2w6OkNvbXByZXNzZWRUZXhTdWJJbWFnZUZvcm1hdCBjb21wcmVz
c2VkVGV4U3ViSW1hZ2VGb3JtYXQgPQogICAgICAgICBuYXRpdmVnbDo6R2V0Q29tcHJlc3NlZFN1
YlRleEltYWdlRm9ybWF0KGZ1bmN0aW9ucywgZmVhdHVyZXMsIGZvcm1hdCk7CiAKQEAgLTY0NCw5
ICs2NTQsOSBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0Q29tcHJlc3NlZFN1YkltYWdl
KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PEdMc2l6ZWk+KGltYWdlU2l6ZSksIHBpeGVscykpOwogICAgIH0KIAotICAgIEFT
U0VSVCgKLSAgICAgICAgIWdldExldmVsSW5mbyh0YXJnZXQsIGxldmVsKS5sdW1hV29ya2Fyb3Vu
ZC5lbmFibGVkICYmCi0gICAgICAgICFHZXRMZXZlbEluZm8oZmVhdHVyZXMsIGZvcm1hdCwgY29t
cHJlc3NlZFRleFN1YkltYWdlRm9ybWF0LmZvcm1hdCkubHVtYVdvcmthcm91bmQuZW5hYmxlZCk7
CisgICAgQVNTRVJUKCFnZXRMZXZlbEluZm8odGFyZ2V0LCBsZXZlbCkubHVtYVdvcmthcm91bmQu
ZW5hYmxlZCAmJgorICAgICAgICAgICAhR2V0TGV2ZWxJbmZvKGZlYXR1cmVzLCBvcmlnaW5hbElu
dGVybmFsRm9ybWF0SW5mbywgY29tcHJlc3NlZFRleFN1YkltYWdlRm9ybWF0LmZvcm1hdCkKKyAg
ICAgICAgICAgICAgICAubHVtYVdvcmthcm91bmQuZW5hYmxlZCk7CiAKICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CiB9CkBAIC02NjUsNiArNjc1LDggQEAgYW5nbGU6OlJlc3Vs
dCBUZXh0dXJlR0w6OmNvcHlJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBn
bDo6VGV4dHVyZVRhcmdldCB0YXJnZXQgPSBpbmRleC5nZXRUYXJnZXQoKTsKICAgICBzaXplX3Qg
bGV2ZWwgICAgICAgICAgICAgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGluZGV4LmdldExldmVsSW5k
ZXgoKSk7CiAgICAgR0xlbnVtIHR5cGUgICAgICAgICAgICAgID0gc291cmNlLT5nZXRJbXBsZW1l
bnRhdGlvbkNvbG9yUmVhZFR5cGUoY29udGV4dCk7CisgICAgY29uc3QgZ2w6OkludGVybmFsRm9y
bWF0ICZvcmlnaW5hbEludGVybmFsRm9ybWF0SW5mbyA9CisgICAgICAgIGdsOjpHZXRJbnRlcm5h
bEZvcm1hdEluZm8oaW50ZXJuYWxGb3JtYXQsIHR5cGUpOwogICAgIG5hdGl2ZWdsOjpDb3B5VGV4
SW1hZ2VJbWFnZUZvcm1hdCBjb3B5VGV4SW1hZ2VGb3JtYXQgPQogICAgICAgICBuYXRpdmVnbDo6
R2V0Q29weVRleEltYWdlSW1hZ2VGb3JtYXQoZnVuY3Rpb25zLCBmZWF0dXJlcywgaW50ZXJuYWxG
b3JtYXQsIHR5cGUpOwogCkBAIC03MzUsNyArNzQ3LDcgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJl
R0w6OmNvcHlJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgfQogCiAg
ICAgICAgIExldmVsSW5mb0dMIGxldmVsSW5mbyA9Ci0gICAgICAgICAgICBHZXRMZXZlbEluZm8o
ZmVhdHVyZXMsIGludGVybmFsRm9ybWF0LCBjb3B5VGV4SW1hZ2VGb3JtYXQuaW50ZXJuYWxGb3Jt
YXQpOworICAgICAgICAgICAgR2V0TGV2ZWxJbmZvKGZlYXR1cmVzLCBvcmlnaW5hbEludGVybmFs
Rm9ybWF0SW5mbywgY29weVRleEltYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KTsKICAgICAgICAg
Z2w6Ok9mZnNldCBkZXN0T2Zmc2V0KGNsaXBwZWRBcmVhLnggLSBzb3VyY2VBcmVhLngsIGNsaXBw
ZWRBcmVhLnkgLSBzb3VyY2VBcmVhLnksIDApOwogCiAgICAgICAgIGlmIChsZXZlbEluZm8ubHVt
YVdvcmthcm91bmQuZW5hYmxlZCkKQEAgLTEwMjEsNiArMTAzMyw4IEBAIGFuZ2xlOjpSZXN1bHQg
VGV4dHVyZUdMOjpzZXRTdG9yYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgIFN0
YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRl
eHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVz
R0woY29udGV4dCk7CiAKKyAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJm9yaWdpbmFsSW50
ZXJuYWxGb3JtYXRJbmZvID0KKyAgICAgICAgZ2w6OkdldFNpemVkSW50ZXJuYWxGb3JtYXRJbmZv
KGludGVybmFsRm9ybWF0KTsKICAgICBuYXRpdmVnbDo6VGV4U3RvcmFnZUZvcm1hdCB0ZXhTdG9y
YWdlRm9ybWF0ID0KICAgICAgICAgbmF0aXZlZ2w6OkdldFRleFN0b3JhZ2VGb3JtYXQoZnVuY3Rp
b25zLCBmZWF0dXJlcywgaW50ZXJuYWxGb3JtYXQpOwogCkBAIC0xMTg0LDggKzExOTgsOSBAQCBh
bmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0U3RvcmFnZShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgfQogICAgIH0KIAotICAgIHNldExldmVsSW5mbyhjb250ZXh0LCB0eXBl
LCAwLCBsZXZlbHMsCi0gICAgICAgICAgICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgaW50
ZXJuYWxGb3JtYXQsIHRleFN0b3JhZ2VGb3JtYXQuaW50ZXJuYWxGb3JtYXQpKTsKKyAgICBzZXRM
ZXZlbEluZm8oCisgICAgICAgIGNvbnRleHQsIHR5cGUsIDAsIGxldmVscywKKyAgICAgICAgR2V0
TGV2ZWxJbmZvKGZlYXR1cmVzLCBvcmlnaW5hbEludGVybmFsRm9ybWF0SW5mbywgdGV4U3RvcmFn
ZUZvcm1hdC5pbnRlcm5hbEZvcm1hdCkpOwogCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOwogfQpAQCAtMTIwMiwxMSArMTIxNywxMyBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVH
TDo6c2V0SW1hZ2VFeHRlcm5hbChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgIGds
OjpUZXh0dXJlVGFyZ2V0IHRhcmdldCA9IGluZGV4LmdldFRhcmdldCgpOwogICAgIHNpemVfdCBs
ZXZlbCAgICAgICAgICAgICA9IHN0YXRpY19jYXN0PHNpemVfdD4oaW5kZXguZ2V0TGV2ZWxJbmRl
eCgpKTsKKyAgICBjb25zdCBnbDo6SW50ZXJuYWxGb3JtYXQgJm9yaWdpbmFsSW50ZXJuYWxGb3Jt
YXRJbmZvID0KKyAgICAgICAgZ2w6OkdldEludGVybmFsRm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1h
dCwgdHlwZSk7CiAgICAgbmF0aXZlZ2w6OlRleEltYWdlRm9ybWF0IHRleEltYWdlRm9ybWF0ID0K
ICAgICAgICAgbmF0aXZlZ2w6OkdldFRleEltYWdlRm9ybWF0KGZ1bmN0aW9ucywgZmVhdHVyZXMs
IGludGVybmFsRm9ybWF0LCBmb3JtYXQsIHR5cGUpOwogCiAgICAgc2V0TGV2ZWxJbmZvKGNvbnRl
eHQsIHRhcmdldCwgbGV2ZWwsIDEsCi0gICAgICAgICAgICAgICAgIEdldExldmVsSW5mbyhmZWF0
dXJlcywgaW50ZXJuYWxGb3JtYXQsIHRleEltYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KSk7Cisg
ICAgICAgICAgICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgb3JpZ2luYWxJbnRlcm5hbEZv
cm1hdEluZm8sIHRleEltYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KSk7CiAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC0xMjIxLDYgKzEyMzgsOCBAQCBhbmdsZTo6
UmVzdWx0IFRleHR1cmVHTDo6c2V0U3RvcmFnZU11bHRpc2FtcGxlKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0
YXRlTWFuYWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0
dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CiAKKyAgICBjb25zdCBnbDo6SW50ZXJuYWxG
b3JtYXQgJm9yaWdpbmFsSW50ZXJuYWxGb3JtYXRJbmZvID0KKyAgICAgICAgZ2w6OkdldFNpemVk
SW50ZXJuYWxGb3JtYXRJbmZvKGludGVybmFsZm9ybWF0KTsKICAgICBuYXRpdmVnbDo6VGV4U3Rv
cmFnZUZvcm1hdCB0ZXhTdG9yYWdlRm9ybWF0ID0KICAgICAgICAgbmF0aXZlZ2w6OkdldFRleFN0
b3JhZ2VGb3JtYXQoZnVuY3Rpb25zLCBmZWF0dXJlcywgaW50ZXJuYWxmb3JtYXQpOwogCkBAIC0x
MjU2LDggKzEyNzUsOSBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0U3RvcmFnZU11bHRp
c2FtcGxlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemUuaGVpZ2h0LCBzaXplLmRlcHRoLCBnbDo6Q29udmVydFRvR0xCb29sZWFuKGZpeGVk
U2FtcGxlTG9jYXRpb25zKSkpOwogICAgIH0KIAotICAgIHNldExldmVsSW5mbyhjb250ZXh0LCB0
eXBlLCAwLCAxLAotICAgICAgICAgICAgICAgICBHZXRMZXZlbEluZm8oZmVhdHVyZXMsIGludGVy
bmFsZm9ybWF0LCB0ZXhTdG9yYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KSk7CisgICAgc2V0TGV2
ZWxJbmZvKAorICAgICAgICBjb250ZXh0LCB0eXBlLCAwLCAxLAorICAgICAgICBHZXRMZXZlbElu
Zm8oZmVhdHVyZXMsIG9yaWdpbmFsSW50ZXJuYWxGb3JtYXRJbmZvLCB0ZXhTdG9yYWdlRm9ybWF0
LmludGVybmFsRm9ybWF0KSk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
CiB9CkBAIC0xMjg0LDYgKzEzMDQsOCBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0U3Rv
cmFnZUV4dGVybmFsTWVtb3J5KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogCiAgICAgTWVt
b3J5T2JqZWN0R0wgKm1lbW9yeU9iamVjdEdMID0gR2V0SW1wbEFzPE1lbW9yeU9iamVjdEdMPiht
ZW1vcnlPYmplY3QpOwogCisgICAgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZvcmlnaW5hbElu
dGVybmFsRm9ybWF0SW5mbyA9CisgICAgICAgIGdsOjpHZXRTaXplZEludGVybmFsRm9ybWF0SW5m
byhpbnRlcm5hbEZvcm1hdCk7CiAgICAgbmF0aXZlZ2w6OlRleFN0b3JhZ2VGb3JtYXQgdGV4U3Rv
cmFnZUZvcm1hdCA9CiAgICAgICAgIG5hdGl2ZWdsOjpHZXRUZXhTdG9yYWdlRm9ybWF0KGZ1bmN0
aW9ucywgZmVhdHVyZXMsIGludGVybmFsRm9ybWF0KTsKIApAQCAtMTMwNiw4ICsxMzI4LDkgQEAg
YW5nbGU6OlJlc3VsdCBUZXh0dXJlR0w6OnNldFN0b3JhZ2VFeHRlcm5hbE1lbW9yeShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemUuZGVwdGgsIG1lbW9yeU9iamVjdEdMLT5nZXRNZW1vcnlPYmplY3RJRCgpLCBv
ZmZzZXQpKTsKICAgICB9CiAKLSAgICBzZXRMZXZlbEluZm8oY29udGV4dCwgdHlwZSwgMCwgbGV2
ZWxzLAotICAgICAgICAgICAgICAgICBHZXRMZXZlbEluZm8oZmVhdHVyZXMsIGludGVybmFsRm9y
bWF0LCB0ZXhTdG9yYWdlRm9ybWF0LmludGVybmFsRm9ybWF0KSk7CisgICAgc2V0TGV2ZWxJbmZv
KAorICAgICAgICBjb250ZXh0LCB0eXBlLCAwLCBsZXZlbHMsCisgICAgICAgIEdldExldmVsSW5m
byhmZWF0dXJlcywgb3JpZ2luYWxJbnRlcm5hbEZvcm1hdEluZm8sIHRleFN0b3JhZ2VGb3JtYXQu
aW50ZXJuYWxGb3JtYXQpKTsKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
IH0KQEAgLTE0MTUsOSArMTQzOCwxMCBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0RUdM
SW1hZ2VUYXJnZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgR0xlbnVtIGltYWdl
TmF0aXZlSW50ZXJuYWxGb3JtYXQgPSBHTF9OT05FOwogICAgIEFOR0xFX1RSWShpbWFnZUdMLT5z
ZXRUZXh0dXJlMkQoY29udGV4dCwgdHlwZSwgdGhpcywgJmltYWdlTmF0aXZlSW50ZXJuYWxGb3Jt
YXQpKTsKIAotICAgIHNldExldmVsSW5mbygKLSAgICAgICAgY29udGV4dCwgdHlwZSwgMCwgMSwK
LSAgICAgICAgR2V0TGV2ZWxJbmZvKGZlYXR1cmVzLCBpbWFnZS0+Z2V0Rm9ybWF0KCkuaW5mby0+
aW50ZXJuYWxGb3JtYXQsIGltYWdlTmF0aXZlSW50ZXJuYWxGb3JtYXQpKTsKKyAgICBjb25zdCBn
bDo6SW50ZXJuYWxGb3JtYXQgJm9yaWdpbmFsSW50ZXJuYWxGb3JtYXRJbmZvID0gKmltYWdlLT5n
ZXRGb3JtYXQoKS5pbmZvOworCisgICAgc2V0TGV2ZWxJbmZvKGNvbnRleHQsIHR5cGUsIDAsIDEs
CisgICAgICAgICAgICAgICAgIEdldExldmVsSW5mbyhmZWF0dXJlcywgb3JpZ2luYWxJbnRlcm5h
bEZvcm1hdEluZm8sIGltYWdlTmF0aXZlSW50ZXJuYWxGb3JtYXQpKTsKIAogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9mb3JtYXR1dGlsc2dsLmNwcCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9mb3JtYXR1dGlsc2ds
LmNwcAppbmRleCBhMTM1NmIwODBlOTRkYjhhODliMjk1MmJjODE1ODM0NDY3MTQ0OGViLi4wMWQw
ZTc3OWM1NTViOWExZjgzMTdjOTNhZDgyY2VhNGM5ZTBiZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvZm9ybWF0dXRpbHNnbC5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L2Zvcm1hdHV0aWxzZ2wuY3BwCkBAIC0yNTUsNiArMjU1LDEwIEBAIHN0YXRpYyBJbnRlcm5hbEZv
cm1hdEluZm9NYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAoKQogICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfQkdSQThfRVhULCAgICAgICAgIFZlcnNpb25PckV4dHMoMSwgMiwg
IkdMX0VYVF9iZ3JhIiksICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIFZlcnNpb25P
ckV4dHMoMSwgMiwgIkdMX0VYVF9iZ3JhIiksICAgICAgICAgICAgRXh0c09ubHkoIkdMX0VYVF90
ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCIpLCBBbHdheXNTdXBwb3J0ZWQoKSwgRXh0c09ubHkoIkdM
X0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCIpLCBFeHRzT25seSgiR0xfRVhUX3RleHR1cmVf
Zm9ybWF0X0JHUkE4ODg4IikgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgSW5zZXJ0
Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9CR1JBX0VYVCwgICAgICAgICAgVmVyc2lvbk9yRXh0cygx
LCAyLCAiR0xfRVhUX2JncmEiKSwgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQoKSwgVmVy
c2lvbk9yRXh0cygxLCAyLCAiR0xfRVhUX2JncmEiKSwgICAgICAgICAgICBFeHRzT25seSgiR0xf
RVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4IiksIEFsd2F5c1N1cHBvcnRlZCgpLCBFeHRzT25s
eSgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4IiksIEV4dHNPbmx5KCJHTF9FWFRfdGV4
dHVyZV9mb3JtYXRfQkdSQTg4ODgiKSAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKIAorICAg
IC8vIEZyb20gR0xfRVhUX3RleHR1cmVfdHlwZV8yXzEwXzEwXzEwX1JFVgorICAgIC8vIEVtdWxh
dGVkIHdpdGggR0xfUkdCMTBfQTIgb24gZGVza3RvcCBHTAorICAgIEluc2VydEZvcm1hdE1hcHBp
bmcoJm1hcCwgR0xfUkdCMTBfVU5PUk1fQU5HTEVYLEFsd2F5c1N1cHBvcnRlZCgpLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKCksIE5ldmVyU3VwcG9ydGVk
KCksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0c09ubHkoIkdMX0VYVF90ZXh0dXJl
X3R5cGVfMl8xMF8xMF8xMF9SRVYiKSwgQWx3YXlzU3VwcG9ydGVkKCksIE5ldmVyU3VwcG9ydGVk
KCksICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQoKSAgICAgICAgICAgICAgICAg
ICAgICAgICApOworCiAgICAgLy8gRmxvYXRpbmcgcG9pbnQgZm9ybWF0cwogICAgIC8vIE5vdGUg
MTogR0xfRVhUX3RleHR1cmVfc2hhcmVkX2V4cG9uZW50IGFuZCBHTF9BUkJfY29sb3JfYnVmZmVy
X2Zsb2F0IHN1Z2dlc3QgdGhhdCBSR0I5X0U1CiAgICAgLy8gd291bGQgYmUgcmVuZGVyYWJsZSwg
YnV0IG9uY2Ugc3VwcG9ydCBmb3IgcmVuZGVyYWJsZSBmbG9hdCB0ZXh0dXJlcyBnb3Qgcm9sbGVk
IGludG8gY29yZSBHTApAQCAtNTM1LDYgKzUzOSwxMiBAQCBzdGF0aWMgR0xlbnVtIEdldE5hdGl2
ZUludGVybmFsRm9ybWF0KGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsCiAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gRW11bGF0ZUxVTUEoaW50ZXJuYWxGb3JtYXQpLnNpemVkSW50ZXJuYWxG
b3JtYXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKworICAgICAgICBpZiAoaW50ZXJuYWxG
b3JtYXQuc2l6ZWRJbnRlcm5hbEZvcm1hdCA9PSBHTF9SR0IxMF9VTk9STV9BTkdMRVgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChmZWF0dXJlcy5lbXVsYXRlUkdCMTAuZW5hYmxlZCk7
CisgICAgICAgICAgICByZXN1bHQgPSBHTF9SR0IxMF9BMjsKKyAgICAgICAgfQogICAgIH0KICAg
ICBlbHNlIGlmIChmdW5jdGlvbnMtPmlzQXRMZWFzdEdMRVMoZ2w6OlZlcnNpb24oMywgMCkpKQog
ICAgIHsKQEAgLTY3MSw2ICs2ODEsMTIgQEAgc3RhdGljIEdMZW51bSBHZXROYXRpdmVGb3JtYXQo
Y29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucywKICAgICAgICAgfQogICAgIH0KIAorICAgIC8v
IEVtdWxhdGUgUkdCMTAgd2l0aCBSR0IxMF9BMi4KKyAgICBpZiAodHlwZSA9PSBHTF9VTlNJR05F
RF9JTlRfMl8xMF8xMF8xMF9SRVYgJiYgZm9ybWF0ID09IEdMX1JHQiAmJiBmZWF0dXJlcy5lbXVs
YXRlUkdCMTAuZW5hYmxlZCkKKyAgICB7CisgICAgICAgIHJlc3VsdCA9IEdMX1JHQkE7CisgICAg
fQorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL3JlbmRlcmVyZ2xfdXRpbHMuY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL3JlbmRlcmVy
Z2xfdXRpbHMuY3BwCmluZGV4IGU2ZTZiM2NkNjhlMzg4Y2Q4MDFkNzhiYjI5ODU5NjllMDRjMTM2
NDEuLjllNDAxMTE4M2RkNzVhZjYzMThiNTQ2MzhkNDM5ZjNhM2JhMDk1ZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9yZW5kZXJl
cmdsX3V0aWxzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91dGlscy5jcHAKQEAgLTE4NSw4ICsxODUsOCBAQCB2b2lk
IENsZWFyRXJyb3JzKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsCiAgICAgR0xlbnVtIGVy
cm9yID0gZnVuY3Rpb25zLT5nZXRFcnJvcigpOwogICAgIHdoaWxlIChlcnJvciAhPSBHTF9OT19F
UlJPUikKICAgICB7Ci0gICAgICAgIEVSUigpIDw8ICJQcmVleGlzdGluZyBHTCBlcnJvciAiIDw8
IGdsOjpGbXRIZXgoZXJyb3IpIDw8ICIgYXMgb2YgIiA8PCBmaWxlIDw8ICIsICIKLSAgICAgICAg
ICAgICAgPDwgZnVuY3Rpb24gPDwgIjoiIDw8IGxpbmUgPDwgIi4gIjsKKyAgICAgICAgSU5GTygp
IDw8ICJQcmVleGlzdGluZyBHTCBlcnJvciAiIDw8IGdsOjpGbXRIZXgoZXJyb3IpIDw8ICIgYXMg
b2YgIiA8PCBmaWxlIDw8ICIsICIKKyAgICAgICAgICAgICAgIDw8IGZ1bmN0aW9uIDw8ICI6IiA8
PCBsaW5lIDw8ICIuICI7CiAgICAgICAgIGVycm9yID0gZnVuY3Rpb25zLT5nZXRFcnJvcigpOwog
ICAgIH0KIH0KQEAgLTIyMDUsNiArMjIwNSw5IEBAIHZvaWQgSW5pdGlhbGl6ZUZlYXR1cmVzKGNv
bnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGZWF0dXJlc0dMICpmZWF0dXJlCiAK
ICAgICAvLyBodHRwczovL2NyYnVnLmNvbS8xMDYwMDEyCiAgICAgQU5HTEVfRkVBVFVSRV9DT05E
SVRJT04oZmVhdHVyZXMsIGVtdWxhdGVJbW11dGFibGVDb21wcmVzc2VkVGV4dHVyZTNELCBpc1F1
YWxjb21tKTsKKworICAgIC8vIGh0dHBzOi8vY3JidWcuY29tLzEzMDA1NzUKKyAgICBBTkdMRV9G
RUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgZW11bGF0ZVJHQjEwLCBmdW5jdGlvbnMtPnN0YW5k
YXJkID09IFNUQU5EQVJEX0dMX0RFU0tUT1ApOwogfQogCiB2b2lkIEluaXRpYWxpemVGcm9udGVu
ZEZlYXR1cmVzKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGcm9udGVuZEZl
YXR1cmVzICpmZWF0dXJlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc19kYXRhLmpz
b24gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF90
ZXh0dXJlX2JvcmRlcl9mdW5jdGlvbnNfZGF0YS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkODgyNzM5YzYzZGQ3ZGY0MWFjMWJiMmE0YjM5NjE5NDJkNTcyN2RkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9u
c19kYXRhLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi17Ci0gICJkZXNjcmlw
dGlvbiI6IFsKLSAgICAgICJDb3B5cmlnaHQgMjAyMSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLiIsCi0gICAgICAiVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSIsCi0gICAgICAi
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4iLAotICAgICAgIiIsCi0gICAgICAibG9hZF90ZXh0
dXJlX2JvcmRlcl9mdW5jdGlvbnNfZGF0YS5qc29uOiBMb2FkaW5nIGNoYW5uZWwgdHJhbnNsYXRp
b24gb2YgYm9yZGVyIGNvbG9yLiIsCi0gICAgICAiIiwKLSAgICAgICJUaGUgZm9ybWF0IG9mIHRo
ZSBtYXAgaXMgYSBkaWN0aW9uYXJ5IHdoZXJlIHRoZSBrZXkgb2YgZWFjaCBlbnRyeSBpcyB0aGUi
LAotICAgICAgImludGVybmFsIGZvcm1hdCBlbnVtLCBhbmQgdGhlIHZhbHVlIGlzIHRoZSBBTkdM
RSBmb3JtYXQgZW51bS4gTm90ZSB0aGlzIG1hcCAiLAotICAgICAgIm9ubHkgY29udGFpbnMgZm9y
bWF0cyB3aGljaCBuZWVkIHRvIHJlb3JkZXIgYm9yZGVyIGNvbG9yIGNoYW5uZWwgZXhwbGljdGx5
LiIsCi0gICAgICAiIiwKLSAgICAgICJBbHNvIHNlZSBnZW5fbG9hZF90ZXh0dXJlX2JvcmRlcl9m
dW5jdGlvbnNfdGFibGUucHkgZm9yIHRoZSBjb2RlIGdlbmVyYXRpb24gc3RlcC4iCi0gIF0sCi0g
ICJtYXAiOnsKLSAgICAiR0xfQUxQSEE4X0VYVCI6IHsKLSAgICAgICJSOF9VTk9STSI6ICJMb2Fk
QThUb1I4IgotICAgIH0sCi0gICAgIkdMX0xVTUlOQU5DRThfQUxQSEE4X0VYVCI6IHsKLSAgICAg
ICJSOEc4X1VOT1JNIjogIkxvYWRMQThUb1I4RzgiCi0gICAgfQotICB9Ci19CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9hZF90ZXh0
dXJlX2JvcmRlcl9mdW5jdGlvbnNfdGFibGUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDhiNmMwZjU0YmUxZTFiODZjZTNmYTVj
OGJlNjM1YjAyOTNhYWY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9sb2Fk
X3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjEg
KzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAyMDIxIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotLy8KLS8vIGxvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3RhYmxl
OgotLy8gICBDb250YWlucyBsb2FkIHRleHR1cmUgYm9yZGVyIGZ1bmN0aW9ucyB0YWJsZSBkZXBl
bmRpbmcgb24gaW50ZXJuYWwgZm9ybWF0IGFuZCBBTkdMRSBmb3JtYXQuCi0vLwotCi0jaWZuZGVm
IExJQkFOR0xFX1JFTkRFUkVSX0xPQURURVhUVVJFQk9SREVSRlVOQ1RJT05TVEFCTEVfSF8KLSNk
ZWZpbmUgTElCQU5HTEVfUkVOREVSRVJfTE9BRFRFWFRVUkVCT1JERVJGVU5DVElPTlNUQUJMRV9I
XwotCi0jaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvRm9ybWF0LmgiCi0KLW5hbWVzcGFjZSBh
bmdsZQotewotcng6OkxvYWRUZXh0dXJlQm9yZGVyRnVuY3Rpb25NYXAgR2V0TG9hZFRleHR1cmVC
b3JkZXJGdW5jdGlvbnNNYXAoR0xlbnVtIGludGVybmFsRm9ybWF0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0
SUQgYW5nbGVGb3JtYXQpOwotfSAgLy8gbmFtZXNwYWNlIGFuZ2xlCi0KLSNlbmRpZiAgLy8gTElC
QU5HTEVfUkVOREVSRVJfTE9BRFRFWFRVUkVCT1JERVJGVU5DVElPTlNUQUJMRV9IXwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRf
dGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3RhYmxlX2F1dG9nZW4uY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVu
Y3Rpb25zX3RhYmxlX2F1dG9nZW4uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
YTAyOGI5M2EwNGIwNDM2NzllYzI4YmYxMmZjYmFhNDFhOGEyOGZhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZV9h
dXRvZ2VuLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8vIEdFTkVSQVRFRCBG
SUxFIC0gRE8gTk9UIEVESVQuCi0vLyBHZW5lcmF0ZWQgYnkgZ2VuX2xvYWRfdGV4dHVyZV9ib3Jk
ZXJfZnVuY3Rpb25zX3RhYmxlLnB5IHVzaW5nIGRhdGEgZnJvbQotLy8gbG9hZF90ZXh0dXJlX2Jv
cmRlcl9mdW5jdGlvbnNfZGF0YS5qc29uCi0vLwotLy8gQ29weXJpZ2h0IDIwMjEgVGhlIEFOR0xF
IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vLwotLy8gbG9hZF90ZXh0dXJlX2JvcmRl
cl9mdW5jdGlvbnNfdGFibGUiOgotLy8gICBDb250YWlucyB0aGUgTG9hZFRleHR1cmVCb3JkZXJG
dW5jdGlvbk1hcCBmb3IgdGV4dHVyZV9mb3JtYXRfdXRpbC5oCi0vLwotCi0jaW5jbHVkZSAiaW1h
Z2VfdXRpbC9sb2FkdGV4dHVyZWJvcmRlci5oIgotI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVy
L2xvYWRfdGV4dHVyZV9ib3JkZXJfZnVuY3Rpb25zX3RhYmxlLmgiCi0KLXVzaW5nIG5hbWVzcGFj
ZSByeDsKLQotbmFtZXNwYWNlIGFuZ2xlCi17Ci0KLW5hbWVzcGFjZQotewotCi0vLyBFUzMgdGV4
dHVyZSBib3JkZXIgY29sb3IgbG9hZGluZyBmdW5jdGlvbnMgdmFyeSBiYXNlZCBvbjoKLS8vICAg
IC0gdGhlIEdMIGludGVybmFsIGZvcm1hdCAoc3VwcGxpZWQgdG8gZ2xUZXgqSW1hZ2UqRCkKLS8v
ICAgIC0gdGhlIHRhcmdldCBEWEdJX0ZPUk1BVCB0aGF0IHRoZSBpbWFnZSB3aWxsIGJlIGxvYWRl
ZCBpbnRvICh3aGljaCBpcyBjaG9zZW4gYmFzZWQgb24gdGhlIEQzRAotLy8gICAgZGV2aWNlJ3Mg
Y2FwYWJpbGl0aWVzKQotLy8gVGhpcyBtYXAgdHlwZSBkZXRlcm1pbmVzIHdoaWNoIGxvYWRpbmcg
ZnVuY3Rpb24gdG8gdXNlLCBiYXNlZCBvbiB0aGVzZSB0d28gcGFyYW1ldGVycy4KLS8vIFRoaXMg
bWFwIG9ubHkgY29udGFpbnMgZm9ybWF0cyB3aGljaCBuZWVkIHRvIHJlb3JkZXIgYm9yZGVyIGNv
bG9yIGNoYW5uZWwgZXhwbGljdGx5LgotCi1Mb2FkVGV4dHVyZUJvcmRlckZ1bmN0aW9uSW5mbyBE
ZWZhdWx0TG9hZEZ1bmN0aW9uKCkKLXsKLSAgICByZXR1cm4gTG9hZFRleHR1cmVCb3JkZXJGdW5j
dGlvbkluZm8oTG9hZFRvTmF0aXZlKTsKLX0KLQotTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbklu
Zm8gQUxQSEE4X0VYVF90b19SOF9VTk9STSgpCi17Ci0gICAgcmV0dXJuIExvYWRUZXh0dXJlQm9y
ZGVyRnVuY3Rpb25JbmZvKExvYWRBOFRvUjgpOwotfQotCi1Mb2FkVGV4dHVyZUJvcmRlckZ1bmN0
aW9uSW5mbyBMVU1JTkFOQ0U4X0FMUEhBOF9FWFRfdG9fUjhHOF9VTk9STSgpCi17Ci0gICAgcmV0
dXJuIExvYWRUZXh0dXJlQm9yZGVyRnVuY3Rpb25JbmZvKExvYWRMQThUb1I4RzgpOwotfQotCi19
ICAvLyBuYW1lc3BhY2UKLQotTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbk1hcCBHZXRMb2FkVGV4
dHVyZUJvcmRlckZ1bmN0aW9uc01hcChHTGVudW0gaW50ZXJuYWxGb3JtYXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1h
dElEIGFuZ2xlRm9ybWF0KQotewotICAgIHN3aXRjaCAoaW50ZXJuYWxGb3JtYXQpCi0gICAgewot
ICAgICAgICBjYXNlIEdMX0FMUEhBOF9FWFQ6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHN3aXRj
aCAoYW5nbGVGb3JtYXQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FzZSBGb3Jt
YXRJRDo6UjhfVU5PUk06Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBBTFBIQThfRVhUX3Rv
X1I4X1VOT1JNOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBEZWZhdWx0TG9hZEZ1bmN0aW9uOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhUOgotICAgICAgICB7Ci0gICAgICAg
ICAgICBzd2l0Y2ggKGFuZ2xlRm9ybWF0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGNhc2UgRm9ybWF0SUQ6OlI4RzhfVU5PUk06Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBM
VU1JTkFOQ0U4X0FMUEhBOF9FWFRfdG9fUjhHOF9VTk9STTsKLSAgICAgICAgICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGVmYXVsdExvYWRGdW5jdGlvbjsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAv
LyBVc2UgTG9hZFRvTmF0aXZlIGZvciBhbnkgZm9ybWF0IHRoYXQgZG9lc24ndCByZW9yZGVyIGNo
YW5uZWxzLgotICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRMb2FkRnVuY3Rpb247Ci0gICAgfQot
Ci19ICAvLyBHZXRMb2FkVGV4dHVyZUJvcmRlckZ1bmN0aW9uc01hcAotCi19ICAvLyBuYW1lc3Bh
Y2UgYW5nbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KaW5kZXggZTkxZjc2NzRj
YTg5YTg3OThmNDIzNWIyZDNhOTBhODdhOTBmOTVhNS4uNDBiM2MzMmExYmQ4ZmVkMDI3ZDM5NGZm
MWNjYjYwOGRhZDNmZTY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KQEAg
LTEzNDksNiArMTM0OSwxMSBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRNdGw6Om9uTWFrZUN1cnJl
bnQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiB9CiBhbmdsZTo6UmVzdWx0IENvbnRleHRN
dGw6Om9uVW5NYWtlQ3VycmVudChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKIHsKKyAgICBm
bHVzaENvbW1hbmRCdWZmZXIobXRsOjpXYWl0VW50aWxTY2hlZHVsZWQpOworICAgIC8vIE5vdGU6
IHRoaXMgMm5kIGZsdXNoIGlzIG5lZWRlZCBiZWNhdXNlIGlmIHRoZXJlIGlzIGEgcXVlcnkgaW4g
cHJvZ3Jlc3MKKyAgICAvLyB0aGVuIGR1cmluZyBmbHVzaCwgbmV3IGNvbW1hbmQgYnVmZmVycyBh
cmUgYWxsb2NhdGVkIHRoYXQgYWxzbyBuZWVkCisgICAgLy8gdG8gYmUgZmx1c2hlZC4gVGhpcyBp
cyBhIHRlbXBvcmFyeSBmaXggYW5kIHdlIHNob3VsZCBwcm9iYWJseSByZWZhY3RvcgorICAgIC8v
IHRoaXMgbGF0ZXIuIFNlZSBUT0RPKGFuZ2xlYnVnLmNvbS83MTM4KQogICAgIGZsdXNoQ29tbWFu
ZEJ1ZmZlcihtdGw6OldhaXRVbnRpbFNjaGVkdWxlZCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVyTXRsLm1tIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVyTXRsLm1t
CmluZGV4IDQwYmEwNWM3NTc5MzgwMTdmZjg3YTBkNDQxNmZkY2E3YWRjNTMyZWUuLjIyZTRjNzJm
MTQ2ZGYxMzBjY2IxZTRhOGJlYjUyMzhjN2FiYzllMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1ZmZlck10bC5t
bQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvRnJhbWVCdWZmZXJNdGwubW0KQEAgLTE2NTEsNCArMTY1MSw1IEBAIGFuZ2xlOjpSZXN1bHQg
RnJhbWVidWZmZXJNdGw6OnJlYWRQaXhlbHNUb0J1ZmZlcihjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL1Byb2dyYW1NdGwubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQppbmRleCA0YWU5ZjhmMzllZGI2NmIyZDcyZGVm
N2VhMTU5YTZhZThkMTFkMWMyLi5jMTZlZDNhZTVjZWI4NGFmMDViZDM3NmQ1NTdmM2Y3OGFiMTYy
NjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQpAQCAtNDEsNyArNDEsNyBA
QCBuYW1lc3BhY2UKIGNvbnN0ZXhwciBjaGFyIGtTcGlydkNyb3NzU3BlY0NvbnN0U3VmZml4W10g
PSAiX3RtcCI7CiAjZW5kaWYKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgU2NvcGVkQXV0
b0NsZWFyVmVjdG9yCitjbGFzcyBBTkdMRV9OT19ESVNDQVJEIFNjb3BlZEF1dG9DbGVhclZlY3Rv
cgogewogICBwdWJsaWM6CiAgICAgU2NvcGVkQXV0b0NsZWFyVmVjdG9yKHN0ZDo6dmVjdG9yPFQ+
ICphcnJheSkgOiBtQXJyYXkoKmFycmF5KSB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1N1cmZhY2VNdGwubW0gYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvU3VyZmFjZU10
bC5tbQppbmRleCBkYWEwZTU5Y2Y0MzlhNzFhNDg4MThlMTQyNjkzMGJkNmFjMWZhYzJiLi42ODU1
ZTQ1MTZjODFkMWRmMDhhMjgxZTc1YTJmYTRkZDExMGEyMDY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvU3VyZmFjZU10bC5t
bQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvU3VyZmFjZU10bC5tbQpAQCAtNzc1LDQgKzc3NSw1IEBAIHZvaWQgUEJ1ZmZlclN1cmZhY2VN
dGw6OnNldEZpeGVkSGVpZ2h0KEVHTGludCBoZWlnaHQpCiB7CiAgICAgbVNpemUuaGVpZ2h0ID0g
aGVpZ2h0OwogfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9WZXJ0ZXhBcnJheU10bC5oCmlu
ZGV4IDdmYjNhOThlNTQ5Mzc4NzBjYjc3NzU2NzMwN2JjNzVhZTRmMzkxZmUuLmUwNGE0NGM2OWU5
Mzc1MDA2ZjdkOTc4M2I3OTQwOWY3MjQ1MTU3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9WZXJ0ZXhBcnJheU10bC5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9W
ZXJ0ZXhBcnJheU10bC5oCkBAIC0xNTMsNyArMTUzLDcgQEAgY2xhc3MgVmVydGV4QXJyYXlNdGwg
OiBwdWJsaWMgVmVydGV4QXJyYXlJbXBsCiAgICAgc3RkOjp2ZWN0b3I8dWludDMyX3Q+IG1FbXVs
YXRlZEluc3RhbmNlQXR0cmliczsKIAogICAgIGJvb2wgbVZlcnRleEFycmF5RGlydHkgPSB0cnVl
OwotICAgIGJvb2wgbVZlcnRleERhdGFEaXJ0eSA9IHRydWU7CisgICAgYm9vbCBtVmVydGV4RGF0
YURpcnR5ICA9IHRydWU7CiB9OwogfSAgLy8gbmFtZXNwYWNlIHJ4CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9WZXJ0ZXhB
cnJheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9WZXJ0ZXhBcnJheU10bC5tbQppbmRleCBlYTM0ZjUxMWQxMjA0MGRlMjVlMGU1YmFh
YjA1ZWYyNTM0ODZiY2JmLi5kMGMxNjI3NDk4OTY0ZmQyZGE0ZTE1YzU2Y2U0YzY5MWMwNjkzYjEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvVmVydGV4QXJyYXlNdGwubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1ZlcnRleEFycmF5TXRsLm1tCkBAIC0zMDEsNyAr
MzAxLDcgQEAgYW5nbGU6OlJlc3VsdCBWZXJ0ZXhBcnJheU10bDo6c3luY1N0YXRlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgIGNhc2UgZ2w6OlZlcnRleEFycmF5OjpESVJUWV9CSVRf
QlVGRkVSX0RBVEFfMCArIElOREVYOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgICAgIEFOR0xFX1RSWShzeW5jRGlydHlBdHRyaWIoY29udGV4dCwgYXR0cmli
c1tJTkRFWF0sIGJpbmRpbmdzW2F0dHJpYnNbSU5ERVhdLmJpbmRpbmdJbmRleF0sIFwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkRFWCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBtVmVydGV4RGF0
YURpcnR5ID0gdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbVZlcnRleERhdGFEaXJ0eSA9IHRydWU7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAgIEFOR0xFX1ZFUlRF
WF9JTkRFWF9DQVNFUyhBTkdMRV9WRVJURVhfRElSVFlfQlVGRkVSX0RBVEFfRlVOQykKQEAgLTQ4
MCwxNSArNDgwLDE5IEBAIGFuZ2xlOjpSZXN1bHQgVmVydGV4QXJyYXlNdGw6OnNldHVwRHJhdyhj
b25zdCBnbDo6Q29udGV4dCAqZ2xDb250ZXh0LAogICAgICAgICB9ICAvLyBmb3IgKHYpCiAgICAg
fQogCi0gICAgaWYoZGlydHkgfHwgbVZlcnRleERhdGFEaXJ0eSkKKyAgICBpZiAoZGlydHkgfHwg
bVZlcnRleERhdGFEaXJ0eSkKICAgICB7Ci0gICAgICAgIG1WZXJ0ZXhEYXRhRGlydHkgPSBmYWxz
ZTsKKyAgICAgICAgbVZlcnRleERhdGFEaXJ0eSAgICAgICAgICAgICAgICAgICAgICAgID0gZmFs
c2U7CiAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtRXhlY3V0YWJsZSAqZXhlY3V0YWJsZSA9IGds
Q29udGV4dC0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtRXhlY3V0YWJsZSgpOwogICAgICAgICBjb25z
dCBnbDo6QXR0cmlidXRlc01hc2sgJnByb2dyYW1BY3RpdmVBdHRyaWJzTWFzayA9Ci0gICAgICAg
ICAgICAgICAgZXhlY3V0YWJsZS0+Z2V0QWN0aXZlQXR0cmliTG9jYXRpb25zTWFzaygpOworICAg
ICAgICAgICAgZXhlY3V0YWJsZS0+Z2V0QWN0aXZlQXR0cmliTG9jYXRpb25zTWFzaygpOwogCiAg
ICAgICAgIGZvciAodWludDMyX3QgdiA9IDA7IHYgPCBtdGw6OmtNYXhWZXJ0ZXhBdHRyaWJzOyAr
K3YpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghcHJvZ3JhbUFjdGl2ZUF0dHJpYnNNYXNr
LnRlc3QodikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB1aW50MzJfdCBidWZmZXJJZHggICAgPSBtdGw6OmtWYm9C
aW5kaW5nSW5kZXhTdGFydCArIHY7CiAgICAgICAgICAgICB1aW50MzJfdCBidWZmZXJPZmZzZXQg
PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obUN1cnJlbnRBcnJheUJ1ZmZlck9mZnNldHNbdl0pOwog
ICAgICAgICAgICAgaWYgKG1DdXJyZW50QXJyYXlCdWZmZXJzW3ZdKQpAQCAtNTAzLDExICs1MDcs
OSBAQCBhbmdsZTo6UmVzdWx0IFZlcnRleEFycmF5TXRsOjpzZXR1cERyYXcoY29uc3QgZ2w6OkNv
bnRleHQgKmdsQ29udGV4dCwKICAgICAgICAgICAgICAgICBjbWRFbmNvZGVyLT5zZXRWZXJ0ZXhC
eXRlcyhtQ3VycmVudEFycmF5SW5saW5lRGF0YVBvaW50ZXJzW3ZdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1DdXJyZW50QXJyYXlJbmxpbmVEYXRhU2l6ZXNb
dl0sIGJ1ZmZlcklkeCk7CiAgICAgICAgICAgICB9Ci0KICAgICAgICAgfQogICAgIH0KIAotCiAg
ICAgKnZlcnRleERlc2NDaGFuZ2VkID0gZGlydHk7CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CkBAIC02NTIsNiArNjU0LDkgQEAgYW5nbGU6OlJlc3VsdCBWZXJ0ZXhBcnJh
eU10bDo6c3luY0RpcnR5QXR0cmliKGNvbnN0IGdsOjpDb250ZXh0ICpnbENvbnRleHQsCiAgICAg
ICAgIGlmIChidWZmZXJHTCkKICAgICAgICAgewogICAgICAgICAgICAgQnVmZmVyTXRsICpidWZm
ZXJNdGwgPSBtdGw6OkdldEltcGwoYnVmZmVyR0wpOworICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjczMworICAgICAgICAgICAgLy8gZXZl
biBub24tY29udmVydGVkIGJ1ZmZlcnMgbmVlZCB0byBiZSBvYnNlcnZlZCBmb3IgcG90ZW50aWFs
CisgICAgICAgICAgICAvLyBkYXRhIHJlYmluZHMuCiAgICAgICAgICAgICBtQ29udGVudHNPYnNl
cnZlcnMtPmVuYWJsZUZvckJ1ZmZlcihidWZmZXJHTCwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGF0
dHJpYkluZGV4KSk7CiAgICAgICAgICAgICBib29sIG5lZWRDb252ZXJzaW9uID0KICAgICAgICAg
ICAgICAgICBmb3JtYXQuYWN0dWFsRm9ybWF0SWQgIT0gZm9ybWF0LmludGVuZGVkRm9ybWF0SWQg
fHwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIuaAppbmRleCAy
MDBlMDI4MjM3YzczZTQ4YWQwOWQ5MmI5YWI2MjIxMzBjZjg0NWVkLi42ZjliOTIyMjk3OGYyM2Nm
MmMzMWM0N2M0ZWJjMGJhZGMzNzUwNjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9jb21tYW5kX2J1ZmZlci5oCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpbXBvcnQgPE1ldGFsL01l
dGFsLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBTWV0YWxMYXllci5oPgorI2luY2x1ZGUgPGNz
dGRpbnQ+CiAKICNpbmNsdWRlIDxkZXF1ZT4KICNpbmNsdWRlIDxtZW1vcnk+CkBAIC05MCw3ICs5
MSw4IEBAIGNsYXNzIENvbW1hbmRRdWV1ZSBmaW5hbCA6IHB1YmxpYyBXcmFwcGVkT2JqZWN0PGlk
PE1UTENvbW1hbmRRdWV1ZT4+LCBhbmdsZTo6Tm9uCiAgICAgfTsKICAgICBzdGQ6OmRlcXVlPENt
ZEJ1ZmZlclF1ZXVlRW50cnk+IG1NZXRhbENtZEJ1ZmZlcnM7CiAKLSAgICB1aW50NjRfdCBtUXVl
dWVTZXJpYWxDb3VudGVyID0gMTsKKyAgICB1aW50NjRfdCBtUXVldWVTZXJpYWxDb3VudGVyICA9
IDE7CisgICAgdWludDY0X3QgbUxhc3RDb21taXR0ZWRTZXJpYWwgPSAwOwogICAgIHN0ZDo6YXRv
bWljPHVpbnQ2NF90PiBtQ29tbWl0dGVkQnVmZmVyU2VyaWFsezB9OwogICAgIHN0ZDo6YXRvbWlj
PHVpbnQ2NF90PiBtQ29tcGxldGVkQnVmZmVyU2VyaWFsezB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1h
bmRfYnVmZmVyLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF9jb21tYW5kX2J1ZmZlci5tbQppbmRleCA0NGJmMzQwYzlmMGY1MDJkNWM3
Njk0MmY0ODhjNWQ0Y2U5ZTI2YjFiLi5mYjQ4ZmEwNDg3ODA0NmViNmRhNWZhZmZkMmQ0N2YxYTI4
OGRjNTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIu
bW0KQEAgLTUzOSw2ICs1MzksOCBAQCB2b2lkIENvbW1hbmRRdWV1ZTo6b25Db21tYW5kQnVmZmVy
Q29tbWl0dGVkKGlkPE1UTENvbW1hbmRCdWZmZXI+IGJ1ZiwgdWludDY0X3QgcwogICAgIHN0ZDo6
bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsZyhtTG9jayk7CiAKICAgICBBTkdMRV9NVExfTE9HKCJD
b21taXR0ZWQgTVRMQ29tbWFuZEJ1ZmZlciAlbGx1OiVwIiwgc2VyaWFsLCBidWYpOworICAgICsr
bUxhc3RDb21taXR0ZWRTZXJpYWw7CisgICAgQVNTRVJUKHNlcmlhbCA9PSBtTGFzdENvbW1pdHRl
ZFNlcmlhbCAmJiAiVmVyaWZ5IHRoYXQgQ29tbWFuZEJ1ZmZlcnMgYXJlIHN1Ym1pdHRlZCBpbiBv
cmRlciIpOwogCiAgICAgbUNvbW1pdHRlZEJ1ZmZlclNlcmlhbC5zdG9yZSgKICAgICAgICAgc3Rk
OjptYXgobUNvbW1pdHRlZEJ1ZmZlclNlcmlhbC5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4
ZWQpLCBzZXJpYWwpLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGlscy5tbSBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19t
dGxfdXRpbHMubW0KaW5kZXggYjJmYmI3MTE4OTE2ZDA4YWEyNTVhYTc5NmZjNjdmNmI2NmYwNTk2
Yy4uOWU2NTY3MTlmZGFiNGEyMjVhMzg5ZGM2MTdjYTY5ZTJiOTI0NDc4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9n
bHNsYW5nX210bF91dGlscy5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLm1tCkBAIC0yNjMsNyAr
MjYzLDggQEAgc3RkOjpzdHJpbmcgR2VuZXJhdGVUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdPdXRw
dXQoY29uc3QgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrVmEKICAgICAgICAgICAgICAgICByZXN1bHQg
PDwgIkFOR0xFXyIKICAgICAgICAgICAgICAgICAgICAgICAgPDwgInhmYkJ1ZmZlciIgPDwgYnVm
ZmVySW5kZXggPDwgIlsiCiAgICAgICAgICAgICAgICAgICAgICAgIDw8ICJBTkdMRV8iIDw8IHN0
ZDo6c3RyaW5nKHNoOjprVW5pZm9ybXNWYXIpIDw8ICIuQU5HTEVfeGZiQnVmZmVyT2Zmc2V0c1si
Ci0gICAgICAgICAgICAgICAgICAgICAgIDw8IGJ1ZmZlckluZGV4IDw8ICJdICsgKGdsX1ZlcnRl
eElEICsgQU5HTEVfaW5zdGFuY2VJZE1vZCAqICIKKyAgICAgICAgICAgICAgICAgICAgICAgPDwg
YnVmZmVySW5kZXgKKyAgICAgICAgICAgICAgICAgICAgICAgPDwgIl0gKyAoZ2xfVmVydGV4SUQg
KyAoQU5HTEVfaW5zdGFuY2VJZE1vZCAtIEFOR0xFX2Jhc2VJbnN0YW5jZSkgKiAiCiAgICAgICAg
ICAgICAgICAgICAgICAgIDw8ICJBTkdMRV8iIDw8IHN0ZDo6c3RyaW5nKHNoOjprVW5pZm9ybXNW
YXIpCiAgICAgICAgICAgICAgICAgICAgICAgIDw8ICIuQU5HTEVfeGZiVmVydGljZXNQZXJJbnN0
YW5jZSkgKiAiIDw8IHN0cmlkZSA8PCAiICsgIiA8PCBvZmZzZXQgPDwgIl0gPSAiCiAgICAgICAg
ICAgICAgICAgICAgICAgIDw8ICJhc190eXBlPGZsb2F0PiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9yZW5kZXJlcl91dGlscy5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJf
dXRpbHMuY3BwCmluZGV4IGNmOGUwMTZlODE4YzhlMTM1MzM5MjAyMDZiOThhMTgwOWEwNTNjMDAu
LjE4OTA0MDMzMDI2YzQ5MWUyNDI1YzU3NzU5OTNmYzViOGQxOThmZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9yZW5kZXJlcl91dGls
cy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3JlbmRlcmVyX3V0aWxzLmNwcApAQCAtNTkxLDEzICs1OTEsMjcgQEAgYW5nbGU6OlJlc3VsdCBJ
bmNvbXBsZXRlVGV4dHVyZVNldDo6Z2V0SW5jb21wbGV0ZVRleHR1cmUoCiAKICAgICBDb250ZXh0
SW1wbCAqaW1wbEZhY3RvcnkgPSBjb250ZXh0LT5nZXRJbXBsZW1lbnRhdGlvbigpOwogCi0gICAg
Y29uc3QgZ2w6OkV4dGVudHMgY29sb3JTaXplKDEsIDEsIDEpOworICAgIGdsOjpFeHRlbnRzIGNv
bG9yU2l6ZSgxLCAxLCAxKTsKICAgICBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSB1bnBhY2s7CiAgICAg
dW5wYWNrLmFsaWdubWVudCA9IDE7Ci0gICAgY29uc3QgZ2w6OkJveCBhcmVhKDAsIDAsIDAsIDEs
IDEsIDEpOworICAgIGdsOjpCb3ggYXJlYSgwLCAwLCAwLCAxLCAxLCAxKTsKICAgICBjb25zdCBJ
bmNvbXBsZXRlVGV4dHVyZVBhcmFtZXRlcnMgJmluY29tcGxldGVUZXh0dXJlUGFyYW0gPQogICAg
ICAgICBrSW5jb21wbGV0ZVRleHR1cmVQYXJhbWV0ZXJzW2Zvcm1hdF07CiAKKyAgICAvLyBDdWJl
IG1hcCBhcnJheXMgYXJlIGV4cGVjdGVkIHRvIGhhdmUgbGF5ZXIgY291bnRzIHRoYXQgYXJlIG11
bHRpcGxlcyBvZiA2CisgICAgY29uc3RleHByIGludCBrQ3ViZU1hcEFycmF5U2l6ZSA9IDY7Cisg
ICAgaWYgKHR5cGUgPT0gZ2w6OlRleHR1cmVUeXBlOjpDdWJlTWFwQXJyYXkpCisgICAgeworICAg
ICAgICAvLyBGcm9tIHRoZSBHTEVTIDMuMiBzcGVjOgorICAgICAgICAvLyAgIDguMTguIElNTVVU
QUJMRS1GT1JNQVQgVEVYVFVSRSBJTUFHRVMKKyAgICAgICAgLy8gICBUZXhTdG9yYWdlM0QgRXJy
b3JzCisgICAgICAgIC8vICAgQW4gSU5WQUxJRF9PUEVSQVRJT04gZXJyb3IgaXMgZ2VuZXJhdGVk
IGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgaG9sZDoKKyAgICAgICAgLy8gICAg
ICogdGFyZ2V0IGlzIFRFWFRVUkVfQ1VCRV9NQVBfQVJSQVkgYW5kIGRlcHRoIGlzIG5vdCBhIG11
bHRpcGxlIG9mIDYKKyAgICAgICAgLy8gU2luY2UgQU5HTEUgdHJlYXRzIGluY29tcGxldGUgdGV4
dHVyZXMgYXMgaW1tdXRhYmxlLCByZXNwZWN0IHRoYXQgaGVyZS4KKyAgICAgICAgY29sb3JTaXpl
LmRlcHRoID0ga0N1YmVNYXBBcnJheVNpemU7CisgICAgICAgIGFyZWEuZGVwdGggICAgICA9IGtD
dWJlTWFwQXJyYXlTaXplOworICAgIH0KKwogICAgIC8vIElmIGEgdGV4dHVyZSBpcyBleHRlcm5h
bCB1c2UgYSAyRCB0ZXh0dXJlIGZvciB0aGUgaW5jb21wbGV0ZSB0ZXh0dXJlCiAgICAgZ2w6OlRl
eHR1cmVUeXBlIGNyZWF0ZVR5cGUgPSAodHlwZSA9PSBnbDo6VGV4dHVyZVR5cGU6OkV4dGVybmFs
KSA/IGdsOjpUZXh0dXJlVHlwZTo6XzJEIDogdHlwZTsKIApAQCAtNjM4LDYgKzY1MiwyMyBAQCBh
bmdsZTo6UmVzdWx0IEluY29tcGxldGVUZXh0dXJlU2V0OjpnZXRJbmNvbXBsZXRlVGV4dHVyZSgK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNvbXBsZXRlVGV4dHVyZVBh
cmFtLmNsZWFyQ29sb3IpKTsKICAgICAgICAgfQogICAgIH0KKyAgICBlbHNlIGlmICh0eXBlID09
IGdsOjpUZXh0dXJlVHlwZTo6Q3ViZU1hcEFycmF5KQorICAgIHsKKyAgICAgICAgLy8gV2UgbmVl
ZCB0byBwcm92aWRlIGVub3VnaCBwaXhlbCBkYXRhIHRvIGZpbGwgdGhlIGFycmF5IG9mIHNpeCBm
YWNlcworICAgICAgICBHTHVieXRlIGluY29tcGxldGVDdWJlQXJyYXlQaXhlbHNba0N1YmVNYXBB
cnJheVNpemVdWzRdOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGtDdWJlTWFwQXJyYXlT
aXplOyArK2kpCisgICAgICAgIHsKKyAgICAgICAgICAgIGluY29tcGxldGVDdWJlQXJyYXlQaXhl
bHNbaV1bMF0gPSBpbmNvbXBsZXRlVGV4dHVyZVBhcmFtLmNsZWFyQ29sb3JbMF07CisgICAgICAg
ICAgICBpbmNvbXBsZXRlQ3ViZUFycmF5UGl4ZWxzW2ldWzFdID0gaW5jb21wbGV0ZVRleHR1cmVQ
YXJhbS5jbGVhckNvbG9yWzFdOworICAgICAgICAgICAgaW5jb21wbGV0ZUN1YmVBcnJheVBpeGVs
c1tpXVsyXSA9IGluY29tcGxldGVUZXh0dXJlUGFyYW0uY2xlYXJDb2xvclsyXTsKKyAgICAgICAg
ICAgIGluY29tcGxldGVDdWJlQXJyYXlQaXhlbHNbaV1bM10gPSBpbmNvbXBsZXRlVGV4dHVyZVBh
cmFtLmNsZWFyQ29sb3JbM107CisgICAgICAgIH0KKworICAgICAgICBBTkdMRV9UUlkodC0+c2V0
U3ViSW1hZ2UobXV0YWJsZUNvbnRleHQsIHVucGFjaywgbnVsbHB0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdsOjpOb25DdWJlVGV4dHVyZVR5cGVUb1RhcmdldChjcmVhdGVU
eXBlKSwgMCwgYXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY29tcGxl
dGVUZXh0dXJlUGFyYW0uZm9ybWF0LCBpbmNvbXBsZXRlVGV4dHVyZVBhcmFtLnR5cGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqaW5jb21wbGV0ZUN1YmVBcnJheVBpeGVscykp
OworICAgIH0KICAgICBlbHNlIGlmICh0eXBlID09IGdsOjpUZXh0dXJlVHlwZTo6XzJETXVsdGlz
YW1wbGUpCiAgICAgewogICAgICAgICAvLyBDYWxsIGEgc3BlY2lhbGl6ZWQgY2xlYXIgZnVuY3Rp
b24gdG8gaW5pdCBhIG11bHRpc2FtcGxlIHRleHR1cmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVuZGVyZXJfdXRpbHMuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9yZW5kZXJlcl91dGls
cy5oCmluZGV4IDE5NDNhODk2ZWM2ZmZkY2U0ODJiOGI4MDE0MWI3ODEzM2I1YmVkYzEuLmVjZGJh
MmZkMzhmOTA2NzZjZTAyMjhlM2U0NmI0MmVjOTJiYzNlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9yZW5kZXJlcl91dGlscy5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9yZW5kZXJl
cl91dGlscy5oCkBAIC0xNiw3ICsxNiw2IEBACiAjaW5jbHVkZSA8bWFwPgogCiAjaW5jbHVkZSAi
R0xTTEFORy9TaGFkZXJMYW5nLmgiCi0jaW5jbHVkZSAiY29tbW9uL0NvbG9yLmgiCiAjaW5jbHVk
ZSAiY29tbW9uL2FuZ2xldXRpbHMuaCIKICNpbmNsdWRlICJjb21tb24vdXRpbGl0aWVzLmgiCiAj
aW5jbHVkZSAibGliQU5HTEUvYW5nbGV0eXBlcy5oIgpAQCAtMTU5LDE5ICsxNTgsNyBAQCBzdHJ1
Y3QgTG9hZEltYWdlRnVuY3Rpb25JbmZvCiAgICAgYm9vbCByZXF1aXJlc0NvbnZlcnNpb247CiB9
OwogCi11c2luZyBMb2FkRnVuY3Rpb25NYXAgICAgICAgICAgID0gTG9hZEltYWdlRnVuY3Rpb25J
bmZvICgqKShHTGVudW0pOwotdXNpbmcgTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbiA9IHZvaWQg
KCopKGFuZ2xlOjpDb2xvckYgJm1Cb3JkZXJDb2xvcik7Ci1zdHJ1Y3QgTG9hZFRleHR1cmVCb3Jk
ZXJGdW5jdGlvbkluZm8KLXsKLSAgICBMb2FkVGV4dHVyZUJvcmRlckZ1bmN0aW9uSW5mbygpIDog
bG9hZEZ1bmN0aW9uKG51bGxwdHIpIHt9Ci0gICAgTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbklu
Zm8oTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbiBsb2FkRnVuY3Rpb24pCi0gICAgICAgIDogbG9h
ZEZ1bmN0aW9uKGxvYWRGdW5jdGlvbikKLSAgICB7fQotCi0gICAgTG9hZFRleHR1cmVCb3JkZXJG
dW5jdGlvbiBsb2FkRnVuY3Rpb247Ci19OwotCi11c2luZyBMb2FkVGV4dHVyZUJvcmRlckZ1bmN0
aW9uTWFwID0gTG9hZFRleHR1cmVCb3JkZXJGdW5jdGlvbkluZm8gKCopKCk7Cit1c2luZyBMb2Fk
RnVuY3Rpb25NYXAgPSBMb2FkSW1hZ2VGdW5jdGlvbkluZm8gKCopKEdMZW51bSk7CiAKIGJvb2wg
U2hvdWxkVXNlRGVidWdMYXllcnMoY29uc3QgZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL0J1ZmZlclZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsuY3BwCmluZGV4IDU3NjNjZTQxNTBkMDU2NzYx
YmI4Yzk4MzNlNWE1YWM5YmJmMDBkNmIuLjljOWNlZTc4ZDg5MGY1Y2MxM2Q4NzYyYWEwM2RlOWRj
ZjljMDBhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsuY3BwCkBAIC0zOCwyNyAr
MzgsNiBAQCBWa0J1ZmZlclVzYWdlRmxhZ3MgR2V0RGVmYXVsdEJ1ZmZlclVzYWdlRmxhZ3MoUmVu
ZGVyZXJWayAqcmVuZGVyZXIpCiAgICAgcmV0dXJuIGRlZmF1bHRCdWZmZXJVc2FnZUZsYWdzOwog
fQogCi1zaXplX3QgR2V0RGVmYXVsdEJ1ZmZlckFsaWdubWVudChSZW5kZXJlclZrICpyZW5kZXJl
cikKLXsKLSAgICAvLyBUaGUgYnVmZmVyIG1heSBiZSB1c2VkIGZvciBhIG51bWJlciBvZiBkaWZm
ZXJlbnQgb3BlcmF0aW9ucywgc28gaXRzIGFsbG9jYXRpb25zIHNob3VsZAotICAgIC8vIGhhdmUg
YW4gYWxpZ25tZW50IHRoYXQgc2F0aXNpZmllcyBhbGwuCi0gICAgY29uc3QgVmtQaHlzaWNhbERl
dmljZUxpbWl0cyAmbGltaXRzVmsgPSByZW5kZXJlci0+Z2V0UGh5c2ljYWxEZXZpY2VQcm9wZXJ0
aWVzKCkubGltaXRzOwotCi0gICAgLy8gQWxsIGtub3duIHZlbmRvcnMgaGF2ZSBwb3dlci1vZi0y
IGFsaWdubWVudCByZXF1aXJlbWVudHMsIHNvIHN0ZDo6bWF4IGNhbiB3b3JrIGluc3RlYWQgb2YK
LSAgICAvLyBsY20uCi0gICAgQVNTRVJUKGdsOjppc1BvdzIobGltaXRzVmsubWluVW5pZm9ybUJ1
ZmZlck9mZnNldEFsaWdubWVudCkpOwotICAgIEFTU0VSVChnbDo6aXNQb3cyKGxpbWl0c1ZrLm1p
blN0b3JhZ2VCdWZmZXJPZmZzZXRBbGlnbm1lbnQpKTsKLSAgICBBU1NFUlQoZ2w6OmlzUG93Mihs
aW1pdHNWay5taW5UZXhlbEJ1ZmZlck9mZnNldEFsaWdubWVudCkpOwotICAgIEFTU0VSVChnbDo6
aXNQb3cyKGxpbWl0c1ZrLm1pbk1lbW9yeU1hcEFsaWdubWVudCkpOwotCi0gICAgc2l6ZV90IGFs
aWdubWVudCA9IHN0ZDo6bWF4KHtzdGF0aWNfY2FzdDxzaXplX3Q+KGxpbWl0c1ZrLm1pblVuaWZv
cm1CdWZmZXJPZmZzZXRBbGlnbm1lbnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihsaW1pdHNWay5taW5TdG9yYWdlQnVmZmVyT2Zmc2V0QWxp
Z25tZW50KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNp
emVfdD4obGltaXRzVmsubWluVGV4ZWxCdWZmZXJPZmZzZXRBbGlnbm1lbnQpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzVmsubWluTWVtb3J5TWFwQWxpZ25tZW50fSk7
Ci0KLSAgICByZXR1cm4gYWxpZ25tZW50OwotfQotCiBuYW1lc3BhY2UKIHsKIC8vIFZlcnRleCBh
dHRyaWJ1dGUgYnVmZmVycyBhcmUgdXNlZCBhcyBzdG9yYWdlIGJ1ZmZlcnMgZm9yIGNvbnZlcnNp
b24gaW4gY29tcHV0ZSwgd2hlcmUgYWNjZXNzIHRvCkBAIC0xMDM0LDcgKzEwMTMsNyBAQCBhbmds
ZTo6UmVzdWx0IEJ1ZmZlclZrOjphY3F1aXJlQnVmZmVySGVscGVyKENvbnRleHRWayAqY29udGV4
dFZrLAogewogICAgIFJlbmRlcmVyVmsgKnJlbmRlcmVyID0gY29udGV4dFZrLT5nZXRSZW5kZXJl
cigpOwogICAgIHNpemVfdCBzaXplICAgICAgICAgID0gcm91bmRVcFBvdzIoc2l6ZUluQnl0ZXMs
IGtCdWZmZXJTaXplR3JhbnVsYXJpdHkpOwotICAgIHNpemVfdCBhbGlnbm1lbnQgICAgID0gR2V0
RGVmYXVsdEJ1ZmZlckFsaWdubWVudChyZW5kZXJlcik7CisgICAgc2l6ZV90IGFsaWdubWVudCAg
ICAgPSByZW5kZXJlci0+Z2V0RGVmYXVsdEJ1ZmZlckFsaWdubWVudCgpOwogCiAgICAgaWYgKG1C
dWZmZXIudmFsaWQoKSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0J1ZmZlclZrLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0J1ZmZlclZrLmgKaW5kZXgg
MzU2ZGU5N2U3NGNiN2I3Yzk3NzdhMmNmZmQyOWIwMDM0Mzg5MWNhZS4uNzU3NDIxMGUwNDVhYjkx
NGJkNTJhNTY0NjM4NDMyYTUyOGRlZTdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJWay5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQnVmZmVyVmsu
aApAQCAtNDUsNyArNDUsNiBAQCBlbnVtIGNsYXNzIEJ1ZmZlclVwZGF0ZVR5cGUKIH07CiAKIFZr
QnVmZmVyVXNhZ2VGbGFncyBHZXREZWZhdWx0QnVmZmVyVXNhZ2VGbGFncyhSZW5kZXJlclZrICpy
ZW5kZXJlcik7Ci1zaXplX3QgR2V0RGVmYXVsdEJ1ZmZlckFsaWdubWVudChSZW5kZXJlclZrICpy
ZW5kZXJlcik7CiAKIGNsYXNzIEJ1ZmZlclZrIDogcHVibGljIEJ1ZmZlckltcGwKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vQ29tbWFuZFByb2Nlc3Nvci5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbW1hbmRQcm9jZXNzb3IuY3BwCmluZGV4IDllMDJlMTNh
ZTcyNWNmMTg4ZThhYzRlNjU0ZjU0NzEwOTcyY2JmZmQuLjRlMzg2Mzk4YWZmZDg3MzRhZmY1ZjY3
ODNlMjk1MzViODlmNjRkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29tbWFuZFByb2Nlc3Nvci5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db21tYW5k
UHJvY2Vzc29yLmNwcApAQCAtMTQzMCw1ICsxNDMwLDE3IEBAIHVpbnQzMl90IFF1ZXVlRmFtaWx5
OjpGaW5kSW5kZXgoY29uc3Qgc3RkOjp2ZWN0b3I8VmtRdWV1ZUZhbWlseVByb3BlcnRpZXM+ICZx
dWV1CiAgICAgcmV0dXJuIGluZGV4OwogfQogCisvLyBTY29wZWRDb21tYW5kUXVldWVMb2NrIGlt
cGxlbWVudGF0aW9uCitTY29wZWRDb21tYW5kUXVldWVMb2NrOjp+U2NvcGVkQ29tbWFuZFF1ZXVl
TG9jaygpCit7CisgICAgLy8gQmVmb3JlIHVubG9ja2luZyB0aGUgbXV0ZXgsIHNlZSBpZiBkZXZp
Y2UgbG9zcyBoYXMgb2NjdXJlZCwgYW5kIGlmIHNvIGhhbmRsZSBpdC4KKyAgICBpZiAobVJlbmRl
cmVyLT5pc0RldmljZUxvc3QoKSkKKyAgICB7CisgICAgICAgIG1SZW5kZXJlci0+aGFuZGxlRGV2
aWNlTG9zdE5vTG9jaygpOworICAgIH0KKworICAgIG1Mb2NrLnVubG9jaygpOworfQorCiB9ICAv
LyBuYW1lc3BhY2UgdmsKIH0gIC8vIG5hbWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db21tYW5kUHJvY2Vz
c29yLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL0NvbW1hbmRQcm9jZXNzb3IuaAppbmRleCA0ZjFiM2NkY2Q4YjhlMDZjZjQ0ODc1Zjc2ZmUy
ZTlhMGI4ZmMwYmNjLi5kY2E1ODZlNTM3Y2NiNjZiMjM1N2Y5MTJlYTFhNGU2NjI1MjIyYjQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL0NvbW1hbmRQcm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbW1hbmRQcm9jZXNzb3IuaApAQCAtNDg2LDcg
KzQ4Niw3IEBAIGNsYXNzIENvbW1hbmRRdWV1ZSBmaW5hbCA6IHB1YmxpYyBDb21tYW5kUXVldWVJ
bnRlcmZhY2UKIC8vIGFuZCBzaHV0IGRvd24uIFRoaXMgY29tbWFuZCBpcyBzZW50IHdoZW4gdGhl
IHJlbmRlcmVyIGluc3RhbmNlIHNodXRzIGRvd24uIFRhc2tzIGFyZSBkZWZpbmVkIGJ5CiAvLyB0
aGUgQ29tbWFuZFF1ZXVlIGludGVyZmFjZS4KIAotY2xhc3MgQ29tbWFuZFByb2Nlc3NvciA6IHB1
YmxpYyBDb250ZXh0LCBwdWJsaWMgQ29tbWFuZFF1ZXVlSW50ZXJmYWNlCitjbGFzcyBDb21tYW5k
UHJvY2Vzc29yIGZpbmFsIDogcHVibGljIENvbnRleHQsIHB1YmxpYyBDb21tYW5kUXVldWVJbnRl
cmZhY2UKIHsKICAgcHVibGljOgogICAgIENvbW1hbmRQcm9jZXNzb3IoUmVuZGVyZXJWayAqcmVu
ZGVyZXIpOwpAQCAtNjIxLDYgKzYyMSwyNSBAQCBjbGFzcyBDb21tYW5kUHJvY2Vzc29yIDogcHVi
bGljIENvbnRleHQsIHB1YmxpYyBDb21tYW5kUXVldWVJbnRlcmZhY2UKICAgICBzdGQ6OnRocmVh
ZCBtVGFza1RocmVhZDsKIH07CiAKKy8vIEFuIFJBSUkgd3JhcHBlciBmb3IgbG9ja2luZyBhbmQg
dW5sb2NraW5nIHRoZSBjb21tYW5kLXF1ZXVlIG11dGV4LiAgT24gZGVzdHJ1Y3RvciwgdGhpcyBj
bGFzcworLy8gaGFuZGxlcyBkZXZpY2UgbG9zcywgaWYgaXQgaGFzIGhhcHBlbmVkLiAgVGhpcyBp
cyBiZWNhdXNlIGhhbmRsaW5nIGRldmljZSBsb3NzIGFmZmVjdHMgdGhlCisvLyBjb21tYW5kIHF1
ZXVlIHN0YXRlLCBzbyBpdCdzIGRlZmVycmVkIHVudGlsIHRoZSBjdXJyZW50IHNjb3BlIHRoYXQn
cyB1c2luZyB0aGUgY29tbWFuZCBxdWV1ZQorLy8gc3RhdGUgaXMgZmluaXNoZWQuCitjbGFzcyBB
TkdMRV9OT19ESVNDQVJEIFNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgZmluYWwKK3sKKyAgcHVibGlj
OgorICAgIFNjb3BlZENvbW1hbmRRdWV1ZUxvY2soUmVuZGVyZXJWayAqcmVuZGVyZXIsIHN0ZDo6
bXV0ZXggJmxvY2spCisgICAgICAgIDogbVJlbmRlcmVyKHJlbmRlcmVyKSwgbUxvY2sobG9jaykK
KyAgICB7CisgICAgICAgIGxvY2subG9jaygpOworICAgIH0KKyAgICB+U2NvcGVkQ29tbWFuZFF1
ZXVlTG9jaygpOworCisgIHByaXZhdGU6CisgICAgUmVuZGVyZXJWayAqbVJlbmRlcmVyOworICAg
IHN0ZDo6bXV0ZXggJm1Mb2NrOworfTsKKwogfSAgLy8gbmFtZXNwYWNlIHZrCiAKIH0gIC8vIG5h
bWVzcGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuY3BwCmluZGV4IDQ3NTgw
NjJhZGQzNTIwNGY0N2ZjMzIyZTM3ZmI1MzMzYTU3YTUxNzEuLmRmZjhlODhhMTBmMmEyMDIwOWI5
OWU1MWYyZDVhZDA3MGMyOTNmOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbnRleHRWay5j
cHAKQEAgLTI4MiwxOCArMjgyLDcwIEBAIEV2ZW50TmFtZSBHZXRUcmFjZUV2ZW50TmFtZShjb25z
dCBjaGFyICp0aXRsZSwgdWludDMyX3QgY291bnRlcikKICAgICByZXR1cm4gYnVmOwogfQogCi12
azo6UmVzb3VyY2VBY2Nlc3MgR2V0RGVwdGhBY2Nlc3MoY29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0
YXRlICZkc1N0YXRlKQordms6OlJlc291cmNlQWNjZXNzIEdldENvbG9yQWNjZXNzKGNvbnN0IGds
OjpTdGF0ZSAmc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2w6OkZyYW1lYnVmZmVyU3RhdGUgJmZyYW1lYnVmZmVyU3RhdGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkRyYXdCdWZmZXJNYXNrICZlbXVsYXRlZEFscGhh
TWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGhhc0ZyYW1lYnVm
ZmVyRmV0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvbG9y
SW5kZXhHTCkKIHsKLSAgICBpZiAoIWRzU3RhdGUuZGVwdGhUZXN0KQorICAgIC8vIE5vIGFjY2Vz
cyBpZiBkcmF3IGJ1ZmZlciBpcyBkaXNhYmxlZCBhbHRvZ2V0aGVyCisgICAgLy8gV2l0aG91dCBm
cmFtZWJ1ZmZlciBmZXRjaDoKKyAgICAvLyAgIE5vIGFjY2VzcyBpZiBjb2xvciBvdXRwdXQgaXMg
bWFza2VkLCBvciByYXN0ZXJpemVyIGRpc2NhcmQgaXMgZW5hYmxlZAorICAgIC8vIFdpdGggZnJh
bWVidWZmZXIgZmV0Y2g6CisgICAgLy8gICBSZWFkIGFjY2VzcyBpZiBjb2xvciBvdXRwdXQgaXMg
bWFza2VkLCBvciByYXN0ZXJpemVyIGRpc2NhcmQgaXMgZW5hYmxlZAorCisgICAgaWYgKCFmcmFt
ZWJ1ZmZlclN0YXRlLmdldEVuYWJsZWREcmF3QnVmZmVycygpLnRlc3QoY29sb3JJbmRleEdMKSkK
KyAgICB7CisgICAgICAgIHJldHVybiB2azo6UmVzb3VyY2VBY2Nlc3M6OlVudXNlZDsKKyAgICB9
CisKKyAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4dCA9IHN0YXRlLmdl
dEJsZW5kU3RhdGVFeHQoKTsKKyAgICB1aW50OF90IGNvbG9yTWFzayAgICAgICAgICAgICAgICAg
ICAgICA9IGdsOjpCbGVuZFN0YXRlRXh0OjpDb2xvck1hc2tTdG9yYWdlOjpHZXRWYWx1ZUluZGV4
ZWQoCisgICAgICAgIGNvbG9ySW5kZXhHTCwgYmxlbmRTdGF0ZUV4dC5tQ29sb3JNYXNrKTsKKyAg
ICBpZiAoZW11bGF0ZWRBbHBoYU1hc2tbY29sb3JJbmRleEdMXSkKKyAgICB7CisgICAgICAgIGNv
bG9yTWFzayAmPSB+VktfQ09MT1JfQ09NUE9ORU5UX0FfQklUOworICAgIH0KKyAgICBjb25zdCBi
b29sIGlzT3V0cHV0TWFza2VkID0gY29sb3JNYXNrID09IDAgfHwgc3RhdGUuaXNSYXN0ZXJpemVy
RGlzY2FyZEVuYWJsZWQoKTsKKworICAgIGlmIChpc091dHB1dE1hc2tlZCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBoYXNGcmFtZWJ1ZmZlckZldGNoID8gdms6OlJlc291cmNlQWNjZXNzOjpSZWFk
T25seSA6IHZrOjpSZXNvdXJjZUFjY2Vzczo6VW51c2VkOworICAgIH0KKworICAgIHJldHVybiB2
azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlOworfQorCit2azo6UmVzb3VyY2VBY2Nlc3MgR2V0RGVw
dGhBY2Nlc3MoY29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0YXRlICZkc1N0YXRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uIHJl
YXNvbikKK3sKKyAgICAvLyBTa2lwIGlmIGRlcHRoL3N0ZW5jaWwgbm90IGFjdHVhbGx5IGFjY2Vz
c2VkLgorICAgIGlmIChyZWFzb24gPT0gVXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb246Ok5v
bmUpCisgICAgeworICAgICAgICByZXR1cm4gdms6OlJlc291cmNlQWNjZXNzOjpVbnVzZWQ7Cisg
ICAgfQorCisgICAgLy8gTm90ZSB0aGF0IGNsZWFyIGNvbW1hbmRzIGRvbid0IHJlc3BlY3QgZGVw
dGggdGVzdCBlbmFibGUsIG9ubHkgdGhlIG1hc2sKKyAgICAvLyBOb3RlIE90aGVyIHN0YXRlIGNh
biBiZSBzdGF0ZWQgaGVyZSB0b28gaW4gdGhlIGZ1dHVyZSwgc3VjaCBhcyByYXN0ZXJpemVyIGRp
c2NhcmQuCisgICAgaWYgKCFkc1N0YXRlLmRlcHRoVGVzdCAmJiByZWFzb24gIT0gVXBkYXRlRGVw
dGhGZWVkYmFja0xvb3BSZWFzb246OkNsZWFyKQogICAgIHsKICAgICAgICAgcmV0dXJuIHZrOjpS
ZXNvdXJjZUFjY2Vzczo6VW51c2VkOwogICAgIH0KICAgICByZXR1cm4gZHNTdGF0ZS5pc0RlcHRo
TWFza2VkT3V0KCkgPyB2azo6UmVzb3VyY2VBY2Nlc3M6OlJlYWRPbmx5IDogdms6OlJlc291cmNl
QWNjZXNzOjpXcml0ZTsKIH0KIAotdms6OlJlc291cmNlQWNjZXNzIEdldFN0ZW5jaWxBY2Nlc3Mo
Y29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0YXRlICZkc1N0YXRlKQordms6OlJlc291cmNlQWNjZXNz
IEdldFN0ZW5jaWxBY2Nlc3MoY29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0YXRlICZkc1N0YXRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlRGVwdGhGZWVkYmFja0xv
b3BSZWFzb24gcmVhc29uKQogewotICAgIGlmICghZHNTdGF0ZS5zdGVuY2lsVGVzdCkKKyAgICAv
LyBTa2lwIGlmIGRlcHRoL3N0ZW5jaWwgbm90IGFjdHVhbGx5IGFjY2Vzc2VkLgorICAgIGlmIChy
ZWFzb24gPT0gVXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb246Ok5vbmUpCisgICAgeworICAg
ICAgICByZXR1cm4gdms6OlJlc291cmNlQWNjZXNzOjpVbnVzZWQ7CisgICAgfQorCisgICAgLy8g
Tm90ZSB0aGF0IGNsZWFyIGNvbW1hbmRzIGRvbid0IHJlc3BlY3Qgc3RlbmNpbCB0ZXN0IGVuYWJs
ZSwgb25seSB0aGUgbWFzaworICAgIC8vIE5vdGUgT3RoZXIgc3RhdGUgY2FuIGJlIHN0YXRlZCBo
ZXJlIHRvbyBpbiB0aGUgZnV0dXJlLCBzdWNoIGFzIHJhc3Rlcml6ZXIgZGlzY2FyZC4KKyAgICBp
ZiAoIWRzU3RhdGUuc3RlbmNpbFRlc3QgJiYgcmVhc29uICE9IFVwZGF0ZURlcHRoRmVlZGJhY2tM
b29wUmVhc29uOjpDbGVhcikKICAgICB7CiAgICAgICAgIHJldHVybiB2azo6UmVzb3VyY2VBY2Nl
c3M6OlVudXNlZDsKICAgICB9CkBAIC03MzgsMTIgKzc5MCwxOCBAQCBDb250ZXh0Vms6OkNvbnRl
eHRWayhjb25zdCBnbDo6U3RhdGUgJnN0YXRlLCBnbDo6RXJyb3JTZXQgKmVycm9yU2V0LCBSZW5k
ZXJlclZrCiAgICAgLy8gTm90ZSB0aGF0IGN1cnJlbnRseSB0aGVzZSBkaXJ0eSBiaXRzIGFyZSBz
ZXQgZXZlcnkgdGltZSBhIG5ldyByZW5kZXIgcGFzcyBjb21tYW5kIGJ1ZmZlciBpcwogICAgIC8v
IGJlZ3VuLiAgSG93ZXZlciwgdXNpbmcgQU5HTEUncyBTZWNvbmRhcnlDb21tYW5kQnVmZmVyLCB0
aGUgVnVsa2FuIGNvbW1hbmQgYnVmZmVyICh3aGljaCBpcwogICAgIC8vIHRoZSBwcmltYXJ5IGNv
bW1hbmQgYnVmZmVyKSBpcyBub3QgZW5kZWQsIHNvIHRlY2huaWNhbGx5IHdlIGRvbid0IG5lZWQg
dG8gcmViaW5kIHRoZXNlLgotICAgIG1OZXdHcmFwaGljc0NvbW1hbmRCdWZmZXJEaXJ0eUJpdHMg
PQotICAgICAgICBEaXJ0eUJpdHN7RElSVFlfQklUX1JFTkRFUl9QQVNTLCAgICAgRElSVFlfQklU
X1BJUEVMSU5FX0JJTkRJTkcsCi0gICAgICAgICAgICAgICAgICBESVJUWV9CSVRfVEVYVFVSRVMs
ICAgICAgICBESVJUWV9CSVRfVkVSVEVYX0JVRkZFUlMsCi0gICAgICAgICAgICAgICAgICBESVJU
WV9CSVRfSU5ERVhfQlVGRkVSLCAgICBESVJUWV9CSVRfU0hBREVSX1JFU09VUkNFUywKLSAgICAg
ICAgICAgICAgICAgIERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMsIERJUlRZX0JJVF9EUklWRVJf
VU5JRk9STVNfQklORElORywKLSAgICAgICAgICAgICAgICAgIERJUlRZX0JJVF9WSUVXUE9SVCwg
ICAgICAgIERJUlRZX0JJVF9TQ0lTU09SfTsKKyAgICBtTmV3R3JhcGhpY3NDb21tYW5kQnVmZmVy
RGlydHlCaXRzID0gRGlydHlCaXRze0RJUlRZX0JJVF9SRU5ERVJfUEFTUywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUlRZX0JJVF9DT0xPUl9B
Q0NFU1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBESVJUWV9CSVRfREVQVEhfU1RFTkNJTF9BQ0NFU1MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJUWV9CSVRfUElQRUxJTkVfQklORElORywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUlRZ
X0JJVF9URVhUVVJFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIERJUlRZX0JJVF9WRVJURVhfQlVGRkVSUywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUlRZX0JJVF9JTkRFWF9CVUZGRVIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJUWV9C
SVRfU0hBREVSX1JFU09VUkNFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJUWV9CSVRfRFJJVkVSX1VO
SUZPUk1TX0JJTkRJTkcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBESVJUWV9CSVRfVklFV1BPUlQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBESVJUWV9CSVRfU0NJU1NPUn07CiAgICAgaWYgKGdl
dEZlYXR1cmVzKCkuc3VwcG9ydHNUcmFuc2Zvcm1GZWVkYmFja0V4dGVuc2lvbi5lbmFibGVkKQog
ICAgIHsKICAgICAgICAgbU5ld0dyYXBoaWNzQ29tbWFuZEJ1ZmZlckRpcnR5Qml0cy5zZXQoRElS
VFlfQklUX1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJTKTsKQEAgLTc1NSwxMiArODEzLDE3IEBA
IENvbnRleHRWazo6Q29udGV4dFZrKGNvbnN0IGdsOjpTdGF0ZSAmc3RhdGUsIGdsOjpFcnJvclNl
dCAqZXJyb3JTZXQsIFJlbmRlcmVyVmsKIAogICAgIG1HcmFwaGljc0RpcnR5Qml0SGFuZGxlcnNb
RElSVFlfQklUX01FTU9SWV9CQVJSSUVSXSA9CiAgICAgICAgICZDb250ZXh0Vms6OmhhbmRsZURp
cnR5R3JhcGhpY3NNZW1vcnlCYXJyaWVyOwotICAgIG1HcmFwaGljc0RpcnR5Qml0SGFuZGxlcnNb
RElSVFlfQklUX0VWRU5UX0xPR10gPSAmQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzRXZl
bnRMb2c7CiAgICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVyc1tESVJUWV9CSVRfREVGQVVMVF9B
VFRSSUJTXSA9CiAgICAgICAgICZDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NEZWZhdWx0
QXR0cmliczsKICAgICBtR3JhcGhpY3NEaXJ0eUJpdEhhbmRsZXJzW0RJUlRZX0JJVF9QSVBFTElO
RV9ERVNDXSA9CiAgICAgICAgICZDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NQaXBlbGlu
ZURlc2M7Ci0gICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVyc1tESVJUWV9CSVRfUkVOREVSX1BB
U1NdID0gJkNvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1JlbmRlclBhc3M7CisgICAgbUdy
YXBoaWNzRGlydHlCaXRIYW5kbGVyc1tESVJUWV9CSVRfUkVBRF9PTkxZX0RFUFRIX0ZFRURCQUNL
X0xPT1BfTU9ERV0gPQorICAgICAgICAmQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzUmVh
ZE9ubHlEZXB0aEZlZWRiYWNrTG9vcE1vZGU7CisgICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVy
c1tESVJUWV9CSVRfUkVOREVSX1BBU1NdICA9ICZDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhp
Y3NSZW5kZXJQYXNzOworICAgIG1HcmFwaGljc0RpcnR5Qml0SGFuZGxlcnNbRElSVFlfQklUX0VW
RU5UX0xPR10gICAgPSAmQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzRXZlbnRMb2c7Cisg
ICAgbUdyYXBoaWNzRGlydHlCaXRIYW5kbGVyc1tESVJUWV9CSVRfQ09MT1JfQUNDRVNTXSA9ICZD
b250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NDb2xvckFjY2VzczsKKyAgICBtR3JhcGhpY3NE
aXJ0eUJpdEhhbmRsZXJzW0RJUlRZX0JJVF9ERVBUSF9TVEVOQ0lMX0FDQ0VTU10gPQorICAgICAg
ICAmQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzRGVwdGhTdGVuY2lsQWNjZXNzOwogICAg
IG1HcmFwaGljc0RpcnR5Qml0SGFuZGxlcnNbRElSVFlfQklUX1BJUEVMSU5FX0JJTkRJTkddID0K
ICAgICAgICAgJkNvbnRleHRWazo6aGFuZGxlRGlydHlHcmFwaGljc1BpcGVsaW5lQmluZGluZzsK
ICAgICBtR3JhcGhpY3NEaXJ0eUJpdEhhbmRsZXJzW0RJUlRZX0JJVF9URVhUVVJFU10gPSAmQ29u
dGV4dFZrOjpoYW5kbGVEaXJ0eUdyYXBoaWNzVGV4dHVyZXM7CkBAIC0xNzQ2LDYgKzE4MDksNjMg
QEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NQaXBlbGluZURl
c2MoRGlydHlCaXRzOjpJdGVyYXRvciAqZGkKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29u
dGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjp1cGRhdGVSZW5kZXJQYXNzRGVw
dGhGZWVkYmFja0xvb3BNb2RlKAorICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uIGRl
cHRoUmVhc29uLAorICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uIHN0ZW5jaWxSZWFz
b24pCit7CisgICAgcmV0dXJuIHVwZGF0ZVJlbmRlclBhc3NEZXB0aEZlZWRiYWNrTG9vcE1vZGVJ
bXBsKG51bGxwdHIsIHt9LCBkZXB0aFJlYXNvbiwgc3RlbmNpbFJlYXNvbik7Cit9CisKK2FuZ2xl
OjpSZXN1bHQgQ29udGV4dFZrOjp1cGRhdGVSZW5kZXJQYXNzRGVwdGhGZWVkYmFja0xvb3BNb2Rl
SW1wbCgKKyAgICBEaXJ0eUJpdHM6Okl0ZXJhdG9yICpkaXJ0eUJpdHNJdGVyYXRvciwKKyAgICBE
aXJ0eUJpdHMgZGlydHlCaXRNYXNrLAorICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29u
IGRlcHRoUmVhc29uLAorICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uIHN0ZW5jaWxS
ZWFzb24pCit7CisgICAgRnJhbWVidWZmZXJWayAqZHJhd0ZyYW1lYnVmZmVyVmsgPSBnZXREcmF3
RnJhbWVidWZmZXIoKTsKKyAgICBpZiAoIWhhc1N0YXJ0ZWRSZW5kZXJQYXNzKCkgfHwgZHJhd0Zy
YW1lYnVmZmVyVmstPmdldERlcHRoU3RlbmNpbFJlbmRlclRhcmdldCgpID09IG51bGxwdHIpCisg
ICAgeworICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAgfQorCisg
ICAgY29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0YXRlICZkc1N0YXRlID0gbVN0YXRlLmdldERlcHRo
U3RlbmNpbFN0YXRlKCk7CisgICAgdms6OlJlc291cmNlQWNjZXNzIGRlcHRoQWNjZXNzICAgICAg
ID0gR2V0RGVwdGhBY2Nlc3MoZHNTdGF0ZSwgZGVwdGhSZWFzb24pOworICAgIHZrOjpSZXNvdXJj
ZUFjY2VzcyBzdGVuY2lsQWNjZXNzICAgICA9IEdldFN0ZW5jaWxBY2Nlc3MoZHNTdGF0ZSwgc3Rl
bmNpbFJlYXNvbik7CisKKyAgICBpZiAoKGRlcHRoQWNjZXNzID09IHZrOjpSZXNvdXJjZUFjY2Vz
czo6V3JpdGUgfHwgc3RlbmNpbEFjY2VzcyA9PSB2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKSAm
JgorICAgICAgICBkcmF3RnJhbWVidWZmZXJWay0+aXNSZWFkT25seURlcHRoRmVlZGJhY2tMb29w
TW9kZSgpKQorICAgIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIHN3aXRjaGluZyBvdXQgb2YgcmVh
ZCBvbmx5IG1vZGUgYW5kIHdlIGFyZSBpbiBmZWVkYmFjayBsb29wLCB3ZSBtdXN0IGVuZAorICAg
ICAgICAvLyByZW5kZXJwYXNzIGhlcmUuIE90aGVyd2lzZSwgdXBkYXRpbmcgaXQgdG8gd3JpdGVh
YmxlIGxheW91dCB3aWxsIHByb2R1Y2UgYSB3cml0YWJsZQorICAgICAgICAvLyBmZWVkYmFjayBs
b29wIHRoYXQgaXMgaWxsZWdhbCBpbiB2dWxrYW4gYW5kIHdpbGwgdHJpZ2dlciB2YWxpZGF0aW9u
IGVycm9ycyB0aGF0IGRlcHRoCisgICAgICAgIC8vIHRleHR1cmUgaXMgdXNpbmcgdGhlIHdyaXRh
YmxlIGxheW91dC4KKyAgICAgICAgaWYgKGRpcnR5Qml0c0l0ZXJhdG9yKQorICAgICAgICB7Cisg
ICAgICAgICAgICBBTkdMRV9UUlkoZmx1c2hEaXJ0eUdyYXBoaWNzUmVuZGVyUGFzcygKKyAgICAg
ICAgICAgICAgICBkaXJ0eUJpdHNJdGVyYXRvciwgZGlydHlCaXRNYXNrLAorICAgICAgICAgICAg
ICAgIFJlbmRlclBhc3NDbG9zdXJlUmVhc29uOjpEZXB0aFN0ZW5jaWxXcml0ZUFmdGVyRmVlZGJh
Y2tMb29wKSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAg
ICBBTkdMRV9UUlkoZmx1c2hDb21tYW5kc0FuZEVuZFJlbmRlclBhc3MoCisgICAgICAgICAgICAg
ICAgUmVuZGVyUGFzc0Nsb3N1cmVSZWFzb246OkRlcHRoU3RlbmNpbFdyaXRlQWZ0ZXJGZWVkYmFj
a0xvb3ApKTsKKyAgICAgICAgfQorICAgICAgICAvLyBDbGVhciByZWFkLW9ubHkgZGVwdGggZmVl
ZGJhY2sgbW9kZS4KKyAgICAgICAgZHJhd0ZyYW1lYnVmZmVyVmstPnNldFJlYWRPbmx5RGVwdGhG
ZWVkYmFja0xvb3BNb2RlKGZhbHNlKTsKKyAgICB9CisKKyAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7Cit9CisKK2FuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpoYW5kbGVEaXJ0eUdy
YXBoaWNzUmVhZE9ubHlEZXB0aEZlZWRiYWNrTG9vcE1vZGUoCisgICAgRGlydHlCaXRzOjpJdGVy
YXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCisgICAgRGlydHlCaXRzIGRpcnR5Qml0TWFzaykKK3sK
KyAgICByZXR1cm4gdXBkYXRlUmVuZGVyUGFzc0RlcHRoRmVlZGJhY2tMb29wTW9kZUltcGwoZGly
dHlCaXRzSXRlcmF0b3IsIGRpcnR5Qml0TWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb246
OkRyYXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uOjpEcmF3KTsKK30KKwogYW5nbGU6OlJl
c3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NSZW5kZXJQYXNzKERpcnR5Qml0czo6
SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpcnR5Qml0cyBkaXJ0eUJpdE1hc2spCiB7CkBA
IC0xNzc1LDYgKzE4OTUsNTIgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5
R3JhcGhpY3NSZW5kZXJQYXNzKERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnQKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKK2FuZ2xlOjpSZXN1bHQgQ29udGV4dFZrOjpo
YW5kbGVEaXJ0eUdyYXBoaWNzQ29sb3JBY2Nlc3MoRGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlC
aXRzSXRlcmF0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERpcnR5Qml0cyBkaXJ0eUJpdE1hc2spCit7CisgICAgRnJhbWVidWZmZXJW
ayAqZHJhd0ZyYW1lYnVmZmVyVmsgICAgICAgICAgICAgPSBnZXREcmF3RnJhbWVidWZmZXIoKTsK
KyAgICBjb25zdCBnbDo6RnJhbWVidWZmZXJTdGF0ZSAmZnJhbWVidWZmZXJTdGF0ZSA9IGRyYXdG
cmFtZWJ1ZmZlclZrLT5nZXRTdGF0ZSgpOworCisgICAgLy8gVXBkYXRlIGNvbG9yIGF0dGFjaG1l
bnQgYWNjZXNzZXMKKyAgICB2azo6UGFja2VkQXR0YWNobWVudEluZGV4IGNvbG9ySW5kZXhWaygw
KTsKKyAgICBmb3IgKHNpemVfdCBjb2xvckluZGV4R0wgOiBmcmFtZWJ1ZmZlclN0YXRlLmdldENv
bG9yQXR0YWNobWVudHNNYXNrKCkpCisgICAgeworICAgICAgICBpZiAoZnJhbWVidWZmZXJTdGF0
ZS5nZXRFbmFibGVkRHJhd0J1ZmZlcnMoKS50ZXN0KGNvbG9ySW5kZXhHTCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHZrOjpSZXNvdXJjZUFjY2VzcyBjb2xvckFjY2VzcyA9IEdldENvbG9yQWNj
ZXNzKAorICAgICAgICAgICAgICAgIG1TdGF0ZSwgZnJhbWVidWZmZXJTdGF0ZSwgZHJhd0ZyYW1l
YnVmZmVyVmstPmdldEVtdWxhdGVkQWxwaGFBdHRhY2htZW50TWFzaygpLAorICAgICAgICAgICAg
ICAgIGRyYXdGcmFtZWJ1ZmZlclZrLT5oYXNGcmFtZWJ1ZmZlckZldGNoKCksIGNvbG9ySW5kZXhH
TCk7CisgICAgICAgICAgICBtUmVuZGVyUGFzc0NvbW1hbmRzLT5vbkNvbG9yQWNjZXNzKGNvbG9y
SW5kZXhWaywgY29sb3JBY2Nlc3MpOworICAgICAgICB9CisgICAgICAgICsrY29sb3JJbmRleFZr
OworICAgIH0KKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKworYW5n
bGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NEZXB0aFN0ZW5jaWxBY2Nl
c3MoCisgICAgRGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCisgICAgRGly
dHlCaXRzIGRpcnR5Qml0TWFzaykKK3sKKyAgICBGcmFtZWJ1ZmZlclZrICpkcmF3RnJhbWVidWZm
ZXJWayA9IGdldERyYXdGcmFtZWJ1ZmZlcigpOworICAgIGlmIChkcmF3RnJhbWVidWZmZXJWay0+
Z2V0RGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0KCkgPT0gbnVsbHB0cikKKyAgICB7CisgICAgICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisKKyAgICAvLyBVcGRhdGUg
ZGVwdGgvc3RlbmNpbCBhdHRhY2htZW50IGFjY2Vzc2VzCisgICAgY29uc3QgZ2w6OkRlcHRoU3Rl
bmNpbFN0YXRlICZkc1N0YXRlID0gbVN0YXRlLmdldERlcHRoU3RlbmNpbFN0YXRlKCk7CisgICAg
dms6OlJlc291cmNlQWNjZXNzIGRlcHRoQWNjZXNzID0gR2V0RGVwdGhBY2Nlc3MoZHNTdGF0ZSwg
VXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb246OkRyYXcpOworICAgIHZrOjpSZXNvdXJjZUFj
Y2VzcyBzdGVuY2lsQWNjZXNzID0KKyAgICAgICAgR2V0U3RlbmNpbEFjY2Vzcyhkc1N0YXRlLCBV
cGRhdGVEZXB0aEZlZWRiYWNrTG9vcFJlYXNvbjo6RHJhdyk7CisgICAgbVJlbmRlclBhc3NDb21t
YW5kcy0+b25EZXB0aEFjY2VzcyhkZXB0aEFjY2Vzcyk7CisgICAgbVJlbmRlclBhc3NDb21tYW5k
cy0+b25TdGVuY2lsQWNjZXNzKHN0ZW5jaWxBY2Nlc3MpOworCisgICAgZHJhd0ZyYW1lYnVmZmVy
VmstPnVwZGF0ZVJlbmRlclBhc3NSZWFkT25seURlcHRoTW9kZSh0aGlzLCBtUmVuZGVyUGFzc0Nv
bW1hbmRzKTsKKworICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKK30KKwogYW5n
bGU6OlJlc3VsdCBDb250ZXh0Vms6OmhhbmRsZURpcnR5R3JhcGhpY3NQaXBlbGluZUJpbmRpbmco
RGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXJ0eUJpdHMgZGly
dHlCaXRNYXNrKQogewpAQCAtMTkxMSwxMCArMjA3NywxMiBAQCBhbmdsZTo6UmVzdWx0IENvbnRl
eHRWazo6aGFuZGxlRGlydHlHcmFwaGljc0luZGV4QnVmZmVyKERpcnR5Qml0czo6SXRlcmF0b3Ig
KmRpcgogICAgIHZrOjpCdWZmZXJIZWxwZXIgKmVsZW1lbnRBcnJheUJ1ZmZlciA9IHZlcnRleEFy
cmF5VmstPmdldEN1cnJlbnRFbGVtZW50QXJyYXlCdWZmZXIoKTsKICAgICBBU1NFUlQoZWxlbWVu
dEFycmF5QnVmZmVyICE9IG51bGxwdHIpOwogCi0gICAgbVJlbmRlclBhc3NDb21tYW5kQnVmZmVy
LT5iaW5kSW5kZXhCdWZmZXIoCi0gICAgICAgIGVsZW1lbnRBcnJheUJ1ZmZlci0+Z2V0QnVmZmVy
KCksCi0gICAgICAgIGVsZW1lbnRBcnJheUJ1ZmZlci0+Z2V0T2Zmc2V0KCkgKyBtQ3VycmVudElu
ZGV4QnVmZmVyT2Zmc2V0LAotICAgICAgICBnZXRWa0luZGV4VHlwZShtQ3VycmVudERyYXdFbGVt
ZW50c1R5cGUpKTsKKyAgICBWa0RldmljZVNpemUgYnVmZmVyT2Zmc2V0OworICAgIGNvbnN0IHZr
OjpCdWZmZXIgJmJ1ZmZlciA9IGVsZW1lbnRBcnJheUJ1ZmZlci0+Z2V0QnVmZmVyRm9yVmVydGV4
QXJyYXkoCisgICAgICAgIHRoaXMsIGVsZW1lbnRBcnJheUJ1ZmZlci0+Z2V0U2l6ZSgpLCAmYnVm
ZmVyT2Zmc2V0KTsKKworICAgIG1SZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlci0+YmluZEluZGV4QnVm
ZmVyKGJ1ZmZlciwgYnVmZmVyT2Zmc2V0ICsgbUN1cnJlbnRJbmRleEJ1ZmZlck9mZnNldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRWa0luZGV4VHlw
ZShtQ3VycmVudERyYXdFbGVtZW50c1R5cGUpKTsKIAogICAgIG1SZW5kZXJQYXNzQ29tbWFuZHMt
PmJ1ZmZlclJlYWQodGhpcywgVktfQUNDRVNTX0lOREVYX1JFQURfQklULCB2azo6UGlwZWxpbmVT
dGFnZTo6VmVydGV4SW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bGVtZW50QXJyYXlCdWZmZXIpOwpAQCAtMzYzMSw2ICszNzk5LDggQEAgdm9pZCBDb250ZXh0Vms6
OnVwZGF0ZUNvbG9yTWFza3MoKQogICAgIG1HcmFwaGljc1BpcGVsaW5lRGVzYy0+dXBkYXRlQ29s
b3JXcml0ZU1hc2tzKCZtR3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24sIG1DbGVhckNvbG9yTWFz
a3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJh
bWVidWZmZXJWay0+Z2V0RW11bGF0ZWRBbHBoYUF0dGFjaG1lbnRNYXNrKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVidWZmZXJWay0+Z2V0
U3RhdGUoKS5nZXRFbmFibGVkRHJhd0J1ZmZlcnMoKSk7CisKKyAgICBvbkNvbG9yQWNjZXNzQ2hh
bmdlKCk7CiB9CiAKIHZvaWQgQ29udGV4dFZrOjp1cGRhdGVCbGVuZEZ1bmNzQW5kRXF1YXRpb25z
KCkKQEAgLTM5NDAsNiArNDExMCwxMCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6Y2hlY2tB
bmRVcGRhdGVGcmFtZWJ1ZmZlckZldGNoU3RhdHVzKAogICAgICAgICBpZiAoZXhlY3V0YWJsZS0+
dXNlc0ZyYW1lYnVmZmVyRmV0Y2goKSkKICAgICAgICAgewogICAgICAgICAgICAgbVJlbmRlcmVy
LT5vbkZyYW1lYnVmZmVyRmV0Y2hVc2VkKCk7CisKKyAgICAgICAgICAgIC8vIFdoZW4gZnJhbWVi
dWZmZXIgZmV0Y2ggaXMgZW5hYmxlZCwgYXR0YWNobWVudHMgY2FuIGJlIHJlYWQgZnJvbSBldmVu
IGlmIG91dHB1dCBpcworICAgICAgICAgICAgLy8gbWFza2VkLCBzbyB1cGRhdGUgdGhlaXIgYWNj
ZXNzLgorICAgICAgICAgICAgb25Db2xvckFjY2Vzc0NoYW5nZSgpOwogICAgICAgICB9CiAgICAg
fQogCkBAIC00MDgzLDcgKzQyNTcsNyBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRWazo6c3luY1N0
YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgIG1HcmFwaGlj
c1BpcGVsaW5lRGVzYy0+dXBkYXRlRGVwdGhXcml0ZUVuYWJsZWQoJm1HcmFwaGljc1BpcGVsaW5l
VHJhbnNpdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdsU3RhdGUuZ2V0RGVwdGhTdGVuY2lsU3RhdGUoKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdsU3RhdGUuZ2V0RHJhd0ZyYW1lYnVmZmVyKCkpOwotICAgICAgICAgICAgICAgIEFOR0xFX1RS
WSh1cGRhdGVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQWNjZXNzKCkpOworICAgICAgICAgICAgICAg
IG9uRGVwdGhTdGVuY2lsQWNjZXNzQ2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX1NURU5D
SUxfVEVTVF9FTkFCTEVEOgpAQCAtNDA5MSwzNiArNDI2NSw0MiBAQCBhbmdsZTo6UmVzdWx0IENv
bnRleHRWazo6c3luY1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
ICAgICAgIG1HcmFwaGljc1BpcGVsaW5lRGVzYy0+dXBkYXRlU3RlbmNpbFRlc3RFbmFibGVkKCZt
R3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xTdGF0ZS5nZXREZXB0aFN0ZW5j
aWxTdGF0ZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdsU3RhdGUuZ2V0RHJhd0ZyYW1lYnVmZmVyKCkpOwotICAgICAg
ICAgICAgICAgIEFOR0xFX1RSWSh1cGRhdGVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQWNjZXNzKCkp
OworICAgICAgICAgICAgICAgIG9uRGVwdGhTdGVuY2lsQWNjZXNzQ2hhbmdlKCk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIGdsOjpTdGF0
ZTo6RElSVFlfQklUX1NURU5DSUxfRlVOQ1NfRlJPTlQ6CiAgICAgICAgICAgICAgICAgbUdyYXBo
aWNzUGlwZWxpbmVEZXNjLT51cGRhdGVTdGVuY2lsRnJvbnRGdW5jcygmbUdyYXBoaWNzUGlwZWxp
bmVUcmFuc2l0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2xTdGF0ZS5nZXRTdGVuY2lsUmVmKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbFN0
YXRlLmdldERlcHRoU3RlbmNpbFN0YXRlKCkpOworICAgICAgICAgICAgICAgIG9uRGVwdGhTdGVu
Y2lsQWNjZXNzQ2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj
YXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX1NURU5DSUxfRlVOQ1NfQkFDSzoKICAgICAgICAgICAg
ICAgICBtR3JhcGhpY3NQaXBlbGluZURlc2MtPnVwZGF0ZVN0ZW5jaWxCYWNrRnVuY3MoJm1HcmFw
aGljc1BpcGVsaW5lVHJhbnNpdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xTdGF0ZS5nZXRTdGVuY2lsQmFja1JlZigp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnbFN0YXRlLmdldERlcHRoU3RlbmNpbFN0YXRlKCkpOworICAgICAgICAgICAgICAg
IG9uRGVwdGhTdGVuY2lsQWNjZXNzQ2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlIGdsOjpTdGF0ZTo6RElSVFlfQklUX1NURU5DSUxfT1BTX0ZST05UOgog
ICAgICAgICAgICAgICAgIG1HcmFwaGljc1BpcGVsaW5lRGVzYy0+dXBkYXRlU3RlbmNpbEZyb250
T3BzKCZtR3JhcGhpY3NQaXBlbGluZVRyYW5zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xTdGF0ZS5nZXREZXB0aFN0
ZW5jaWxTdGF0ZSgpKTsKKyAgICAgICAgICAgICAgICBvbkRlcHRoU3RlbmNpbEFjY2Vzc0NoYW5n
ZSgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6
OkRJUlRZX0JJVF9TVEVOQ0lMX09QU19CQUNLOgogICAgICAgICAgICAgICAgIG1HcmFwaGljc1Bp
cGVsaW5lRGVzYy0+dXBkYXRlU3RlbmNpbEJhY2tPcHMoJm1HcmFwaGljc1BpcGVsaW5lVHJhbnNp
dGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsU3RhdGUuZ2V0RGVwdGhTdGVuY2lsU3RhdGUoKSk7CisgICAgICAgICAgICAg
ICAgb25EZXB0aFN0ZW5jaWxBY2Nlc3NDaGFuZ2UoKTsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfU1RFTkNJTF9XUklURU1BU0tf
RlJPTlQ6CiAgICAgICAgICAgICAgICAgbUdyYXBoaWNzUGlwZWxpbmVEZXNjLT51cGRhdGVTdGVu
Y2lsRnJvbnRXcml0ZU1hc2soJm1HcmFwaGljc1BpcGVsaW5lVHJhbnNpdGlvbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnbFN0YXRlLmdldERlcHRoU3RlbmNpbFN0YXRlKCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xTdGF0ZS5nZXRE
cmF3RnJhbWVidWZmZXIoKSk7CisgICAgICAgICAgICAgICAgb25EZXB0aFN0ZW5jaWxBY2Nlc3ND
aGFuZ2UoKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgZ2w6OlN0
YXRlOjpESVJUWV9CSVRfU1RFTkNJTF9XUklURU1BU0tfQkFDSzoKICAgICAgICAgICAgICAgICBt
R3JhcGhpY3NQaXBlbGluZURlc2MtPnVwZGF0ZVN0ZW5jaWxCYWNrV3JpdGVNYXNrKCZtR3JhcGhp
Y3NQaXBlbGluZVRyYW5zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbFN0YXRlLmdldERlcHRoU3RlbmNpbFN0
YXRlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnbFN0YXRlLmdldERyYXdGcmFtZWJ1ZmZlcigpKTsKKyAgICAgICAg
ICAgICAgICBvbkRlcHRoU3RlbmNpbEFjY2Vzc0NoYW5nZSgpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9DVUxMX0ZBQ0VfRU5B
QkxFRDoKICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpESVJUWV9CSVRfQ1VMTF9GQUNFOgpA
QCAtNDE0Myw2ICs0MzIzLDcgQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0Vms6OnN5bmNTdGF0ZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIGNhc2UgZ2w6OlN0YXRlOjpE
SVJUWV9CSVRfUkFTVEVSSVpFUl9ESVNDQVJEX0VOQUJMRUQ6CiAgICAgICAgICAgICAgICAgdXBk
YXRlUmFzdGVyaXplckRpc2NhcmRFbmFibGVkKAogICAgICAgICAgICAgICAgICAgICBtU3RhdGUu
aXNRdWVyeUFjdGl2ZShnbDo6UXVlcnlUeXBlOjpQcmltaXRpdmVzR2VuZXJhdGVkKSk7CisgICAg
ICAgICAgICAgICAgb25Db2xvckFjY2Vzc0NoYW5nZSgpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgY2FzZSBnbDo6U3RhdGU6OkRJUlRZX0JJVF9MSU5FX1dJRFRIOgogICAg
ICAgICAgICAgICAgIG1HcmFwaGljc1BpcGVsaW5lRGVzYy0+dXBkYXRlTGluZVdpZHRoKCZtR3Jh
cGhpY3NQaXBlbGluZVRyYW5zaXRpb24sCkBAIC01OTEzLDkgKzYwOTQsOSBAQCBhbmdsZTo6UmVz
dWx0IENvbnRleHRWazo6Zmx1c2hBbmRHZXRTZXJpYWwoY29uc3Qgdms6OlNlbWFwaG9yZSAqc2ln
bmFsU2VtYXBob3JlLAogICAgIGlmICgocmVuZGVyUGFzc0Nsb3N1cmVSZWFzb24gPT0gUmVuZGVy
UGFzc0Nsb3N1cmVSZWFzb246OkdMRmx1c2ggfHwKICAgICAgICAgIHJlbmRlclBhc3NDbG9zdXJl
UmVhc29uID09IFJlbmRlclBhc3NDbG9zdXJlUmVhc29uOjpHTEZpbmlzaCB8fAogICAgICAgICAg
cmVuZGVyUGFzc0Nsb3N1cmVSZWFzb24gPT0gUmVuZGVyUGFzc0Nsb3N1cmVSZWFzb246OkVHTFN3
YXBCdWZmZXJzKSAmJgotICAgICAgICBtU2hhcmVHcm91cFZrLT5pc0R1ZUZvckJ1ZmZlclBvb2xQ
cnVuZSgpKQorICAgICAgICBpc0R1ZUZvckJ1ZmZlclBvb2xQcnVuZSgpKQogICAgIHsKLSAgICAg
ICAgbVNoYXJlR3JvdXBWay0+cHJ1bmVEZWZhdWx0QnVmZmVyUG9vbHMobVJlbmRlcmVyKTsKKyAg
ICAgICAgcHJ1bmVEZWZhdWx0QnVmZmVyUG9vbHMoKTsKICAgICB9CiAKICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC02MTU3LDE0ICs2MzM4LDYgQEAgYW5nbGU6OlJlc3Vs
dCBDb250ZXh0Vms6OnN0YXJ0UmVuZGVyUGFzcyhnbDo6UmVjdGFuZ2xlIHJlbmRlckFyZWEsCiAK
ICAgICBBTkdMRV9UUlkocmVzdW1lUmVuZGVyUGFzc1F1ZXJpZXNJZkFjdGl2ZSgpKTsKIAotICAg
IGNvbnN0IGdsOjpEZXB0aFN0ZW5jaWxTdGF0ZSAmZHNTdGF0ZSA9IG1TdGF0ZS5nZXREZXB0aFN0
ZW5jaWxTdGF0ZSgpOwotICAgIHZrOjpSZXNvdXJjZUFjY2VzcyBkZXB0aEFjY2VzcyAgICAgICA9
IEdldERlcHRoQWNjZXNzKGRzU3RhdGUpOwotICAgIHZrOjpSZXNvdXJjZUFjY2VzcyBzdGVuY2ls
QWNjZXNzICAgICA9IEdldFN0ZW5jaWxBY2Nlc3MoZHNTdGF0ZSk7Ci0gICAgbVJlbmRlclBhc3ND
b21tYW5kcy0+b25EZXB0aEFjY2VzcyhkZXB0aEFjY2Vzcyk7Ci0gICAgbVJlbmRlclBhc3NDb21t
YW5kcy0+b25TdGVuY2lsQWNjZXNzKHN0ZW5jaWxBY2Nlc3MpOwotCi0gICAgZHJhd0ZyYW1lYnVm
ZmVyVmstPnVwZGF0ZVJlbmRlclBhc3NSZWFkT25seURlcHRoTW9kZSh0aGlzLCBtUmVuZGVyUGFz
c0NvbW1hbmRzKTsKLQogICAgIGlmIChjb21tYW5kQnVmZmVyT3V0KQogICAgIHsKICAgICAgICAg
KmNvbW1hbmRCdWZmZXJPdXQgPSBtUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXI7CkBAIC02NjMzLDQw
ICs2ODA2LDYgQEAgdm9pZCBDb250ZXh0Vms6Om9uUHJvZ3JhbUV4ZWN1dGFibGVSZXNldChQcm9n
cmFtRXhlY3V0YWJsZVZrICpleGVjdXRhYmxlVmspCiAgICAgfQogfQogCi1hbmdsZTo6UmVzdWx0
IENvbnRleHRWazo6dXBkYXRlUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEFjY2VzcygpCi17Ci0gICAg
RnJhbWVidWZmZXJWayAqZHJhd0ZyYW1lYnVmZmVyVmsgPSBnZXREcmF3RnJhbWVidWZmZXIoKTsK
LSAgICBpZiAoaGFzU3RhcnRlZFJlbmRlclBhc3MoKSAmJiBkcmF3RnJhbWVidWZmZXJWay0+Z2V0
RGVwdGhTdGVuY2lsUmVuZGVyVGFyZ2V0KCkpCi0gICAgewotICAgICAgICBjb25zdCBnbDo6RGVw
dGhTdGVuY2lsU3RhdGUgJmRzU3RhdGUgPSBtU3RhdGUuZ2V0RGVwdGhTdGVuY2lsU3RhdGUoKTsK
LSAgICAgICAgdms6OlJlc291cmNlQWNjZXNzIGRlcHRoQWNjZXNzICAgICAgID0gR2V0RGVwdGhB
Y2Nlc3MoZHNTdGF0ZSk7Ci0gICAgICAgIHZrOjpSZXNvdXJjZUFjY2VzcyBzdGVuY2lsQWNjZXNz
ICAgICA9IEdldFN0ZW5jaWxBY2Nlc3MoZHNTdGF0ZSk7Ci0KLSAgICAgICAgaWYgKChkZXB0aEFj
Y2VzcyA9PSB2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlIHx8Ci0gICAgICAgICAgICAgc3RlbmNp
bEFjY2VzcyA9PSB2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKSAmJgotICAgICAgICAgICAgZHJh
d0ZyYW1lYnVmZmVyVmstPmlzUmVhZE9ubHlEZXB0aEZlZWRiYWNrTG9vcE1vZGUoKSkKLSAgICAg
ICAgewotICAgICAgICAgICAgLy8gSWYgd2UgYXJlIHN3aXRjaGluZyBvdXQgb2YgcmVhZCBvbmx5
IG1vZGUgYW5kIHdlIGFyZSBpbiBmZWVkYmFjayBsb29wLCB3ZSBtdXN0IGVuZAotICAgICAgICAg
ICAgLy8gcmVuZGVycGFzcyBoZXJlLiBPdGhlcndpc2UsIHVwZGF0aW5nIGl0IHRvIHdyaXRlYWJs
ZSBsYXlvdXQgd2lsbCBwcm9kdWNlIGEgd3JpdGFibGUKLSAgICAgICAgICAgIC8vIGZlZWRiYWNr
IGxvb3AgdGhhdCBpcyBpbGxlZ2FsIGluIHZ1bGthbiBhbmQgd2lsbCB0cmlnZ2VyIHZhbGlkYXRp
b24gZXJyb3JzIHRoYXQgZGVwdGgKLSAgICAgICAgICAgIC8vIHRleHR1cmUgaXMgdXNpbmcgdGhl
IHdyaXRhYmxlIGxheW91dC4KLSAgICAgICAgICAgIEFOR0xFX1RSWShmbHVzaENvbW1hbmRzQW5k
RW5kUmVuZGVyUGFzcygKLSAgICAgICAgICAgICAgICBSZW5kZXJQYXNzQ2xvc3VyZVJlYXNvbjo6
RGVwdGhTdGVuY2lsV3JpdGVBZnRlckZlZWRiYWNrTG9vcCkpOwotICAgICAgICAgICAgLy8gQ2xl
YXIgcmVhZC1vbmx5IGRlcHRoIGZlZWRiYWNrIG1vZGUuCi0gICAgICAgICAgICBkcmF3RnJhbWVi
dWZmZXJWay0+c2V0UmVhZE9ubHlEZXB0aEZlZWRiYWNrTG9vcE1vZGUoZmFsc2UpOwotICAgICAg
ICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAgICAgICAgbVJlbmRlclBhc3NDb21t
YW5kcy0+b25EZXB0aEFjY2VzcyhkZXB0aEFjY2Vzcyk7Ci0gICAgICAgICAgICBtUmVuZGVyUGFz
c0NvbW1hbmRzLT5vblN0ZW5jaWxBY2Nlc3Moc3RlbmNpbEFjY2Vzcyk7Ci0KLSAgICAgICAgICAg
IGRyYXdGcmFtZWJ1ZmZlclZrLT51cGRhdGVSZW5kZXJQYXNzUmVhZE9ubHlEZXB0aE1vZGUodGhp
cywgbVJlbmRlclBhc3NDb21tYW5kcyk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7Ci19Ci0KIGJvb2wgQ29udGV4dFZrOjpzaG91bGRTd2l0
Y2hUb1JlYWRPbmx5RGVwdGhGZWVkYmFja0xvb3BNb2RlKGdsOjpUZXh0dXJlICp0ZXh0dXJlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2w6OkNvbW1hbmQgY29tbWFuZCkgY29uc3QKIHsKQEAgLTcwMzMsNCArNzE3MiwyMSBAQCB1
aW50MzJfdCBVcGRhdGVEZXNjcmlwdG9yU2V0c0J1aWxkZXI6OmZsdXNoRGVzY3JpcHRvclNldFVw
ZGF0ZXMoVmtEZXZpY2UgZGV2aWNlKQogCiAgICAgcmV0dXJuIHJldFZhbDsKIH0KK2Jvb2wgQ29u
dGV4dFZrOjppc0R1ZUZvckJ1ZmZlclBvb2xQcnVuZSgpIGNvbnN0Cit7CisgICAgaWYgKG1TdGF0
ZS5oYXNEaXNwbGF5VGV4dHVyZVNoYXJlR3JvdXAoKSkKKyAgICB7CisgICAgICAgIHJldHVybiBt
UmVuZGVyZXItPmlzRHVlRm9yQnVmZmVyUG9vbFBydW5lKCk7CisgICAgfQorICAgIHJldHVybiBt
U2hhcmVHcm91cFZrLT5pc0R1ZUZvckJ1ZmZlclBvb2xQcnVuZSgpOworfQorCit2b2lkIENvbnRl
eHRWazo6cHJ1bmVEZWZhdWx0QnVmZmVyUG9vbHMoKQoreworICAgIGlmIChtU3RhdGUuaGFzRGlz
cGxheVRleHR1cmVTaGFyZUdyb3VwKCkpCisgICAgeworICAgICAgICByZXR1cm4gbVJlbmRlcmVy
LT5wcnVuZURlZmF1bHRCdWZmZXJQb29scygpOworICAgIH0KKyAgICByZXR1cm4gbVNoYXJlR3Jv
dXBWay0+cHJ1bmVEZWZhdWx0QnVmZmVyUG9vbHMobVJlbmRlcmVyKTsKK30KIH0gIC8vIG5hbWVz
cGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vQ29udGV4dFZrLmgKaW5kZXggNWUxNzBlZGU3Nzgz
MjM5YTA3MzZlMzIxYWVlZDAzMjY2MThiYzhkYS4uYzM2MTZmOTc2NGQ0MjYwNTQxOGU1ZWJiYzAw
OWUwZDNlYWEyY2I0NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0NvbnRleHRWay5oCkBAIC05OCw2
ICs5OCwxNSBAQCBlbnVtIGNsYXNzIFN1Ym1pdEZyYW1lVHlwZQogICAgIE91dHNpZGVSUENvbW1h
bmRzT25seSwKIH07CiAKKy8vIFdoeSBkZXB0aC9zdGVuY2lsIGZlZWRiYWNrIGxvb3AgaXMgYmVp
bmcgdXBkYXRlZC4gIEJhc2VkIG9uIHdoZXRoZXIgaXQncyBkdWUgdG8gYSBkcmF3IG9yIGNsZWFy
LAorLy8gZGlmZmVyZW50IEdMIHN0YXRlIGFmZmVjdCBkZXB0aC9zdGVuY2lsIHdyaXRlLgorZW51
bSBjbGFzcyBVcGRhdGVEZXB0aEZlZWRiYWNrTG9vcFJlYXNvbgoreworICAgIE5vbmUsCisgICAg
RHJhdywKKyAgICBDbGVhciwKK307CisKIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0
SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlzYW1wbGVUZXh0dXJlSW5pdGlh
bGl6ZXIKIHsKICAgcHVibGljOgpAQCAtNDMwLDYgKzQzOSw5IEBAIGNsYXNzIENvbnRleHRWayA6
IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlzYW1w
bGVUZXh0CiAgICAgYW5nbGU6OlJlc3VsdCBvblBhdXNlVHJhbnNmb3JtRmVlZGJhY2soKTsKICAg
ICB2b2lkIHBhdXNlVHJhbnNmb3JtRmVlZGJhY2tJZkFjdGl2ZVVucGF1c2VkKCk7CiAKKyAgICB2
b2lkIG9uQ29sb3JBY2Nlc3NDaGFuZ2UoKSB7IG1HcmFwaGljc0RpcnR5Qml0cyB8PSBrQ29sb3JB
Y2Nlc3NDaGFuZ2VEaXJ0eUJpdHM7IH0KKyAgICB2b2lkIG9uRGVwdGhTdGVuY2lsQWNjZXNzQ2hh
bmdlKCkgeyBtR3JhcGhpY3NEaXJ0eUJpdHMgfD0ga0RlcHRoU3RlbmNpbEFjY2Vzc0NoYW5nZURp
cnR5Qml0czsgfQorCiAgICAgLy8gV2hlbiBVdGlsc1ZrIGlzc3VlcyBkcmF3IG9yIGRpc3BhdGNo
IGNhbGxzLCBpdCBiaW5kcyBhIG5ldyBwaXBlbGluZSBhbmQgZGVzY3JpcHRvciBzZXRzIHRoYXQK
ICAgICAvLyB0aGUgY29udGV4dCBpcyBub3QgYXdhcmUgb2YuICBUaGVzZSBmdW5jdGlvbnMgYXJl
IGNhbGxlZCB0byBtYWtlIHN1cmUgdGhlIHBpcGVsaW5lIGFuZAogICAgIC8vIGFmZmVjdGVkIGRl
c2NyaXB0b3Igc2V0IGJpbmRpbmdzIGFyZSBkaXJ0aWVkIGZvciB0aGUgbmV4dCBhcHBsaWNhdGlv
biBkcmF3L2Rpc3BhdGNoIGNhbGwuCkBAIC00MzgsNiArNDUwLDkgQEAgY2xhc3MgQ29udGV4dFZr
IDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgdms6OkNvbnRleHQsIHB1YmxpYyBNdWx0aXNh
bXBsZVRleHQKICAgICB2b2lkIGludmFsaWRhdGVHcmFwaGljc0Rlc2NyaXB0b3JTZXQoRGVzY3Jp
cHRvclNldEluZGV4IHVzZWREZXNjcmlwdG9yU2V0KTsKICAgICB2b2lkIGludmFsaWRhdGVDb21w
dXRlRGVzY3JpcHRvclNldChEZXNjcmlwdG9yU2V0SW5kZXggdXNlZERlc2NyaXB0b3JTZXQpOwog
ICAgIHZvaWQgaW52YWxpZGF0ZVZpZXdwb3J0QW5kU2Npc3NvcigpOworICAgIGFuZ2xlOjpSZXN1
bHQgdXBkYXRlUmVuZGVyUGFzc0RlcHRoRmVlZGJhY2tMb29wTW9kZSgKKyAgICAgICAgVXBkYXRl
RGVwdGhGZWVkYmFja0xvb3BSZWFzb24gZGVwdGhSZWFzb24sCisgICAgICAgIFVwZGF0ZURlcHRo
RmVlZGJhY2tMb29wUmVhc29uIHN0ZW5jaWxSZWFzb24pOwogCiAgICAgdm9pZCBvcHRpbWl6ZVJl
bmRlclBhc3NGb3JQcmVzZW50KFZrRnJhbWVidWZmZXIgZnJhbWVidWZmZXJIYW5kbGUsIHZrOjpJ
bWFnZUhlbHBlciAqY29sb3JJbWFnZSk7CiAKQEAgLTU1NiwxMyArNTcxLDE2IEBAIGNsYXNzIENv
bnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMg
TXVsdGlzYW1wbGVUZXh0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW1hZ2VMYXlvdXQsIHZrOjpBbGlhc2luZ01vZGU6OkFsbG93ZWQsIGltYWdlKTsKICAgICB9CiAK
LSAgICB2b2lkIG9uQ29sb3JEcmF3KHZrOjpJbWFnZUhlbHBlciAqaW1hZ2UsCisgICAgdm9pZCBv
bkNvbG9yRHJhdyhnbDo6TGV2ZWxJbmRleCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IGxheWVyU3RhcnQsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNv
dW50LAorICAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlSGVscGVyICppbWFnZSwKICAgICAg
ICAgICAgICAgICAgICAgIHZrOjpJbWFnZUhlbHBlciAqcmVzb2x2ZUltYWdlLAogICAgICAgICAg
ICAgICAgICAgICAgdms6OlBhY2tlZEF0dGFjaG1lbnRJbmRleCBwYWNrZWRBdHRhY2htZW50SW5k
ZXgpCiAgICAgewogICAgICAgICBBU1NFUlQobVJlbmRlclBhc3NDb21tYW5kcy0+c3RhcnRlZCgp
KTsKLSAgICAgICAgbVJlbmRlclBhc3NDb21tYW5kcy0+Y29sb3JJbWFnZXNEcmF3KCZtUmVzb3Vy
Y2VVc2VMaXN0LCBpbWFnZSwgcmVzb2x2ZUltYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFja2VkQXR0YWNobWVudEluZGV4KTsKKyAgICAgICAgbVJl
bmRlclBhc3NDb21tYW5kcy0+Y29sb3JJbWFnZXNEcmF3KCZtUmVzb3VyY2VVc2VMaXN0LCBsZXZl
bCwgbGF5ZXJTdGFydCwgbGF5ZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGltYWdlLCByZXNvbHZlSW1hZ2UsIHBhY2tlZEF0dGFjaG1lbnRJbmRl
eCk7CiAgICAgfQogICAgIHZvaWQgb25EZXB0aFN0ZW5jaWxEcmF3KGdsOjpMZXZlbEluZGV4IGxl
dmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyU3RhcnQsCkBA
IC03MDcsNyArNzI1LDE0IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwg
cHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlzYW1wbGVUZXh0CiAKICAgICB2azo6QnVm
ZmVyUG9vbCAqZ2V0RGVmYXVsdEJ1ZmZlclBvb2woVmtEZXZpY2VTaXplIHNpemUsIHVpbnQzMl90
IG1lbW9yeVR5cGVJbmRleCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtU2hhcmVHcm91cFZrLT5n
ZXREZWZhdWx0QnVmZmVyUG9vbChtUmVuZGVyZXIsIHNpemUsIG1lbW9yeVR5cGVJbmRleCk7Cisg
ICAgICAgIGlmIChtU3RhdGUuaGFzRGlzcGxheVRleHR1cmVTaGFyZUdyb3VwKCkpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJldHVybiBtUmVuZGVyZXItPmdldERlZmF1bHRCdWZmZXJQb29sKHNp
emUsIG1lbW9yeVR5cGVJbmRleCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7
CisgICAgICAgICAgICByZXR1cm4gbVNoYXJlR3JvdXBWay0+Z2V0RGVmYXVsdEJ1ZmZlclBvb2wo
bVJlbmRlcmVyLCBzaXplLCBtZW1vcnlUeXBlSW5kZXgpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgYW5nbGU6OlJlc3VsdCBhbGxvY2F0ZVN0cmVhbWVkVmVydGV4QnVmZmVyKHNpemVfdCBhdHRy
aWJJbmRleCwKQEAgLTczMCwxNCArNzU1LDE5IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBD
b250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlzYW1wbGVUZXh0CiAg
ICAgLy8gRGlydHkgYml0cy4KICAgICBlbnVtIERpcnR5Qml0VHlwZSA6IHNpemVfdAogICAgIHsK
LSAgICAgICAgLy8gQSBnbE1lbW9yeUJhcnJpZXIgaGFzIGJlZW4gY2FsbGVkIGFuZCBjb21tYW5k
IGJ1ZmZlcnMgbWF5IG5lZWQgZmx1c2hpbmcuCi0gICAgICAgIERJUlRZX0JJVF9NRU1PUllfQkFS
UklFUiwKICAgICAgICAgLy8gRGlydHkgYml0cyB0aGF0IG11c3QgYmUgcHJvY2Vzc2VkIGJlZm9y
ZSB0aGUgcmVuZGVyIHBhc3MgaXMgc3RhcnRlZC4gIFRoZSBoYW5kbGVycyBmb3IKICAgICAgICAg
Ly8gdGhlc2UgZGlydHkgYml0cyBkb24ndCByZWNvcmQgYW55IGNvbW1hbmRzLgorCisgICAgICAg
IC8vIEEgZ2xNZW1vcnlCYXJyaWVyIGhhcyBiZWVuIGNhbGxlZCBhbmQgY29tbWFuZCBidWZmZXJz
IG1heSBuZWVkIGZsdXNoaW5nLgorICAgICAgICBESVJUWV9CSVRfTUVNT1JZX0JBUlJJRVIsCisg
ICAgICAgIC8vIFVwZGF0ZSBkZWZhdWx0IGF0dHJpYnV0ZSBidWZmZXJzLgogICAgICAgICBESVJU
WV9CSVRfREVGQVVMVF9BVFRSSUJTLAogICAgICAgICAvLyBUaGUgcGlwZWxpbmUgaGFzIGNoYW5n
ZWQgYW5kIG5lZWRzIHRvIGJlIHJlY3JlYXRlZC4gIFRoaXMgZGlydHkgYml0IG1heSBjbG9zZSB0
aGUgcmVuZGVyCiAgICAgICAgIC8vIHBhc3MuCiAgICAgICAgIERJUlRZX0JJVF9QSVBFTElORV9E
RVNDLAorICAgICAgICAvLyBTdXBwb3J0IGZvciBkZXB0aC9zdGVuY2lsIHJlYWQtb25seSBmZWVk
YmFjayBsb29wLiAgV2hlbiBkZXB0aC9zdGVuY2lsIGFjY2VzcyBjaGFuZ2VzLAorICAgICAgICAv
LyB0aGUgcmVuZGVyIHBhc3MgbWF5IG5lZWQgY2xvc2luZy4KKyAgICAgICAgRElSVFlfQklUX1JF
QURfT05MWV9ERVBUSF9GRUVEQkFDS19MT09QX01PREUsCiAKICAgICAgICAgLy8gU3RhcnQgdGhl
IHJlbmRlciBwYXNzLgogICAgICAgICBESVJUWV9CSVRfUkVOREVSX1BBU1MsCkBAIC03NDUsNiAr
Nzc1LDkgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRleHRJbXBsLCBwdWJsaWMgdms6
OkNvbnRleHQsIHB1YmxpYyBNdWx0aXNhbXBsZVRleHQKICAgICAgICAgLy8gRGlydHkgYml0cyB0
aGF0IG11c3QgYmUgcHJvY2Vzc2VkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBpcyBzdGFydGVkLiAg
VGhlaXIgaGFuZGxlcnMKICAgICAgICAgLy8gcmVjb3JkIGNvbW1hbmRzLgogICAgICAgICBESVJU
WV9CSVRfRVZFTlRfTE9HLAorICAgICAgICAvLyBVcGRhdGUgY29sb3IgYW5kIGRlcHRoL3N0ZW5j
aWwgYWNjZXNzZXMgaW4gdGhlIHJlbmRlciBwYXNzLgorICAgICAgICBESVJUWV9CSVRfQ09MT1Jf
QUNDRVNTLAorICAgICAgICBESVJUWV9CSVRfREVQVEhfU1RFTkNJTF9BQ0NFU1MsCiAgICAgICAg
IC8vIFBpcGVsaW5lIG5lZWRzIHRvIHJlYmluZCBiZWNhdXNlIGEgbmV3IGNvbW1hbmQgYnVmZmVy
IGhhcyBiZWVuIGFsbG9jYXRlZCwgb3IgVXRpbHNWayBoYXMKICAgICAgICAgLy8gY2hhbmdlZCB0
aGUgYmluZGluZy4gIFRoZSBwaXBlbGluZSBpdHNlbGYgZG9lc24ndCBuZWVkIHRvIGJlIHJlY3Jl
YXRlZC4KICAgICAgICAgRElSVFlfQklUX1BJUEVMSU5FX0JJTkRJTkcsCkBAIC03NjYsNiArNzk5
LDU4IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpD
b250ZXh0LCBwdWJsaWMgTXVsdGlzYW1wbGVUZXh0CiAgICAgICAgIERJUlRZX0JJVF9NQVgsCiAg
ICAgfTsKIAorICAgIC8vIERpcnR5IGJpdCBoYW5kbGVycyB0aGF0IGNhbiBicmVhayB0aGUgcmVu
ZGVyIHBhc3MgbXVzdCBhbHdheXMgYmUgc3BlY2lmaWVkIGJlZm9yZQorICAgIC8vIERJUlRZX0JJ
VF9SRU5ERVJfUEFTUy4KKyAgICBzdGF0aWNfYXNzZXJ0KAorICAgICAgICBESVJUWV9CSVRfTUVN
T1JZX0JBUlJJRVIgPCBESVJUWV9CSVRfUkVOREVSX1BBU1MsCisgICAgICAgICJSZW5kZXIgcGFz
cyBicmVha2luZyBkaXJ0eSBiaXQgbXVzdCBiZSBoYW5kbGVkIGJlZm9yZSB0aGUgcmVuZGVyIHBh
c3MgZGlydHkgYml0Iik7CisgICAgc3RhdGljX2Fzc2VydCgKKyAgICAgICAgRElSVFlfQklUX0RF
RkFVTFRfQVRUUklCUyA8IERJUlRZX0JJVF9SRU5ERVJfUEFTUywKKyAgICAgICAgIlJlbmRlciBw
YXNzIGJyZWFraW5nIGRpcnR5IGJpdCBtdXN0IGJlIGhhbmRsZWQgYmVmb3JlIHRoZSByZW5kZXIg
cGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KAorICAgICAgICBESVJUWV9CSVRf
UElQRUxJTkVfREVTQyA8IERJUlRZX0JJVF9SRU5ERVJfUEFTUywKKyAgICAgICAgIlJlbmRlciBw
YXNzIGJyZWFraW5nIGRpcnR5IGJpdCBtdXN0IGJlIGhhbmRsZWQgYmVmb3JlIHRoZSByZW5kZXIg
cGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KAorICAgICAgICBESVJUWV9CSVRf
UkVBRF9PTkxZX0RFUFRIX0ZFRURCQUNLX0xPT1BfTU9ERSA8IERJUlRZX0JJVF9SRU5ERVJfUEFT
UywKKyAgICAgICAgIlJlbmRlciBwYXNzIGJyZWFraW5nIGRpcnR5IGJpdCBtdXN0IGJlIGhhbmRs
ZWQgYmVmb3JlIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKworICAgIC8vIERpcnR5IGJp
dCBoYW5kbGVycyB0aGF0IHJlY29yZCBjb21tYW5kcyBvciBvdGhlcndpc2UgZXhwZWN0IHRvIG1h
bmlwdWxhdGUgdGhlIHJlbmRlciBwYXNzCisgICAgLy8gdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHRo
ZSBkcmF3IGNhbGwgbXVzdCBiZSBzcGVjaWZpZWQgYWZ0ZXIgRElSVFlfQklUX1JFTkRFUl9QQVNT
LgorICAgIHN0YXRpY19hc3NlcnQoRElSVFlfQklUX0VWRU5UX0xPRyA+IERJUlRZX0JJVF9SRU5E
RVJfUEFTUywKKyAgICAgICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0eSBiaXQg
bXVzdCBiZSBoYW5kbGVkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBz
dGF0aWNfYXNzZXJ0KERJUlRZX0JJVF9DT0xPUl9BQ0NFU1MgPiBESVJUWV9CSVRfUkVOREVSX1BB
U1MsCisgICAgICAgICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11c3Qg
YmUgaGFuZGxlZCBhZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3RhdGlj
X2Fzc2VydChESVJUWV9CSVRfREVQVEhfU1RFTkNJTF9BQ0NFU1MgPiBESVJUWV9CSVRfUkVOREVS
X1BBU1MsCisgICAgICAgICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11
c3QgYmUgaGFuZGxlZCBhZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3Rh
dGljX2Fzc2VydChESVJUWV9CSVRfUElQRUxJTkVfQklORElORyA+IERJUlRZX0JJVF9SRU5ERVJf
UEFTUywKKyAgICAgICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0eSBiaXQgbXVz
dCBiZSBoYW5kbGVkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KERJUlRZX0JJVF9URVhUVVJFUyA+IERJUlRZX0JJVF9SRU5ERVJfUEFTUywKKyAg
ICAgICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0eSBiaXQgbXVzdCBiZSBoYW5k
bGVkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0
KERJUlRZX0JJVF9WRVJURVhfQlVGRkVSUyA+IERJUlRZX0JJVF9SRU5ERVJfUEFTUywKKyAgICAg
ICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0eSBiaXQgbXVzdCBiZSBoYW5kbGVk
IGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KERJ
UlRZX0JJVF9JTkRFWF9CVUZGRVIgPiBESVJUWV9CSVRfUkVOREVSX1BBU1MsCisgICAgICAgICAg
ICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11c3QgYmUgaGFuZGxlZCBhZnRl
ciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3RhdGljX2Fzc2VydChESVJUWV9C
SVRfRFJJVkVSX1VOSUZPUk1TID4gRElSVFlfQklUX1JFTkRFUl9QQVNTLAorICAgICAgICAgICAg
ICAgICAgIlJlbmRlciBwYXNzIHVzaW5nIGRpcnR5IGJpdCBtdXN0IGJlIGhhbmRsZWQgYWZ0ZXIg
dGhlIHJlbmRlciBwYXNzIGRpcnR5IGJpdCIpOworICAgIHN0YXRpY19hc3NlcnQoRElSVFlfQklU
X0RSSVZFUl9VTklGT1JNU19CSU5ESU5HID4gRElSVFlfQklUX1JFTkRFUl9QQVNTLAorICAgICAg
ICAgICAgICAgICAgIlJlbmRlciBwYXNzIHVzaW5nIGRpcnR5IGJpdCBtdXN0IGJlIGhhbmRsZWQg
YWZ0ZXIgdGhlIHJlbmRlciBwYXNzIGRpcnR5IGJpdCIpOworICAgIHN0YXRpY19hc3NlcnQoRElS
VFlfQklUX1NIQURFUl9SRVNPVVJDRVMgPiBESVJUWV9CSVRfUkVOREVSX1BBU1MsCisgICAgICAg
ICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11c3QgYmUgaGFuZGxlZCBh
ZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3RhdGljX2Fzc2VydChESVJU
WV9CSVRfVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUlMgPiBESVJUWV9CSVRfUkVOREVSX1BBU1Ms
CisgICAgICAgICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11c3QgYmUg
aGFuZGxlZCBhZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3RhdGljX2Fz
c2VydChESVJUWV9CSVRfVFJBTlNGT1JNX0ZFRURCQUNLX1JFU1VNRSA+IERJUlRZX0JJVF9SRU5E
RVJfUEFTUywKKyAgICAgICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0eSBiaXQg
bXVzdCBiZSBoYW5kbGVkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsKKyAgICBz
dGF0aWNfYXNzZXJ0KERJUlRZX0JJVF9ERVNDUklQVE9SX1NFVFMgPiBESVJUWV9CSVRfUkVOREVS
X1BBU1MsCisgICAgICAgICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11
c3QgYmUgaGFuZGxlZCBhZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisgICAgc3Rh
dGljX2Fzc2VydChESVJUWV9CSVRfRlJBTUVCVUZGRVJfRkVUQ0hfQkFSUklFUiA+IERJUlRZX0JJ
VF9SRU5ERVJfUEFTUywKKyAgICAgICAgICAgICAgICAgICJSZW5kZXIgcGFzcyB1c2luZyBkaXJ0
eSBiaXQgbXVzdCBiZSBoYW5kbGVkIGFmdGVyIHRoZSByZW5kZXIgcGFzcyBkaXJ0eSBiaXQiKTsK
KyAgICBzdGF0aWNfYXNzZXJ0KERJUlRZX0JJVF9CTEVORF9CQVJSSUVSID4gRElSVFlfQklUX1JF
TkRFUl9QQVNTLAorICAgICAgICAgICAgICAgICAgIlJlbmRlciBwYXNzIHVzaW5nIGRpcnR5IGJp
dCBtdXN0IGJlIGhhbmRsZWQgYWZ0ZXIgdGhlIHJlbmRlciBwYXNzIGRpcnR5IGJpdCIpOworICAg
IHN0YXRpY19hc3NlcnQoRElSVFlfQklUX1ZJRVdQT1JUID4gRElSVFlfQklUX1JFTkRFUl9QQVNT
LAorICAgICAgICAgICAgICAgICAgIlJlbmRlciBwYXNzIHVzaW5nIGRpcnR5IGJpdCBtdXN0IGJl
IGhhbmRsZWQgYWZ0ZXIgdGhlIHJlbmRlciBwYXNzIGRpcnR5IGJpdCIpOworICAgIHN0YXRpY19h
c3NlcnQoRElSVFlfQklUX1NDSVNTT1IgPiBESVJUWV9CSVRfUkVOREVSX1BBU1MsCisgICAgICAg
ICAgICAgICAgICAiUmVuZGVyIHBhc3MgdXNpbmcgZGlydHkgYml0IG11c3QgYmUgaGFuZGxlZCBh
ZnRlciB0aGUgcmVuZGVyIHBhc3MgZGlydHkgYml0Iik7CisKICAgICB1c2luZyBEaXJ0eUJpdHMg
PSBhbmdsZTo6Qml0U2V0PERJUlRZX0JJVF9NQVg+OwogCiAgICAgdXNpbmcgR3JhcGhpY3NEaXJ0
eUJpdEhhbmRsZXIgPSBhbmdsZTo6UmVzdWx0ICgKQEAgLTkxMCwxNCArOTk1LDIxIEBAIGNsYXNz
IENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJs
aWMgTXVsdGlzYW1wbGVUZXh0CiAgICAgLy8gSGFuZGxlcnMgZm9yIGdyYXBoaWNzIHBpcGVsaW5l
IGRpcnR5IGJpdHMuCiAgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUdyYXBoaWNzTWVtb3J5
QmFycmllcihEaXJ0eUJpdHM6Okl0ZXJhdG9yICpkaXJ0eUJpdHNJdGVyYXRvciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpcnR5Qml0cyBkaXJ0
eUJpdE1hc2spOwotICAgIGFuZ2xlOjpSZXN1bHQgaGFuZGxlRGlydHlHcmFwaGljc0V2ZW50TG9n
KERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpcnR5Qml0cyBkaXJ0eUJpdE1hc2spOwog
ICAgIGFuZ2xlOjpSZXN1bHQgaGFuZGxlRGlydHlHcmFwaGljc0RlZmF1bHRBdHRyaWJzKERpcnR5
Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpcnR5Qml0cyBkaXJ0eUJpdE1hc2spOwog
ICAgIGFuZ2xlOjpSZXN1bHQgaGFuZGxlRGlydHlHcmFwaGljc1BpcGVsaW5lRGVzYyhEaXJ0eUJp
dHM6Okl0ZXJhdG9yICpkaXJ0eUJpdHNJdGVyYXRvciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlydHlCaXRzIGRpcnR5Qml0TWFzayk7CisgICAg
YW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUdyYXBoaWNzUmVhZE9ubHlEZXB0aEZlZWRiYWNrTG9v
cE1vZGUoCisgICAgICAgIERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAor
ICAgICAgICBEaXJ0eUJpdHMgZGlydHlCaXRNYXNrKTsKICAgICBhbmdsZTo6UmVzdWx0IGhhbmRs
ZURpcnR5R3JhcGhpY3NSZW5kZXJQYXNzKERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0
ZXJhdG9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RGlydHlCaXRzIGRpcnR5Qml0TWFzayk7CisgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUdy
YXBoaWNzRXZlbnRMb2coRGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlydHlCaXRzIGRp
cnR5Qml0TWFzayk7CisgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUdyYXBoaWNzQ29sb3JB
Y2Nlc3MoRGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlydHlCaXRzIGRpcnR5Qml0
TWFzayk7CisgICAgYW5nbGU6OlJlc3VsdCBoYW5kbGVEaXJ0eUdyYXBoaWNzRGVwdGhTdGVuY2ls
QWNjZXNzKERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXJ0eUJpdHMg
ZGlydHlCaXRNYXNrKTsKICAgICBhbmdsZTo6UmVzdWx0IGhhbmRsZURpcnR5R3JhcGhpY3NQaXBl
bGluZUJpbmRpbmcoRGlydHlCaXRzOjpJdGVyYXRvciAqZGlydHlCaXRzSXRlcmF0b3IsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpcnR5Qml0
cyBkaXJ0eUJpdE1hc2spOwogICAgIGFuZ2xlOjpSZXN1bHQgaGFuZGxlRGlydHlHcmFwaGljc1Rl
eHR1cmVzKERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLApAQCAtMTA1MCw3
ICsxMTQyLDE0IEBAIGNsYXNzIENvbnRleHRWayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGlj
IHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlzYW1wbGVUZXh0CiAgICAgICAgIHNpemVfdCBidWZm
ZXJDb3VudCwKICAgICAgICAgY29uc3QgZ2w6OlRyYW5zZm9ybUZlZWRiYWNrQnVmZmVyc0FycmF5
PHZrOjpCdWZmZXJIZWxwZXIgKj4gJmJ1ZmZlcnMpOwogCi0gICAgYW5nbGU6OlJlc3VsdCB1cGRh
dGVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQWNjZXNzKCk7CisgICAgLy8gVXBkYXRlIGZyYW1lYnVm
ZmVyJ3MgcmVhZC1vbmx5IGRlcHRoIGZlZWRiYWNrIGxvb3AgbW9kZS4gIFR5cGljYWxseSBjYWxs
ZWQgZnJvbQorICAgIC8vIGhhbmRsZURpcnR5R3JhcGhpY3NSZWFkT25seURlcHRoRmVlZGJhY2tM
b29wTW9kZSwgYnV0IGNhbiBiZSBjYWxsZWQgZnJvbSBVdGlsc1ZrIGluIGZ1bmN0aW9ucworICAg
IC8vIHRoYXQgZG9uJ3QgbmVjZXNzYXJpbHkgYnJlYWsgdGhlIHJlbmRlciBwYXNzLgorICAgIGFu
Z2xlOjpSZXN1bHQgdXBkYXRlUmVuZGVyUGFzc0RlcHRoRmVlZGJhY2tMb29wTW9kZUltcGwoCisg
ICAgICAgIERpcnR5Qml0czo6SXRlcmF0b3IgKmRpcnR5Qml0c0l0ZXJhdG9yLAorICAgICAgICBE
aXJ0eUJpdHMgZGlydHlCaXRNYXNrLAorICAgICAgICBVcGRhdGVEZXB0aEZlZWRiYWNrTG9vcFJl
YXNvbiBkZXB0aFJlYXNvbiwKKyAgICAgICAgVXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb24g
c3RlbmNpbFJlYXNvbik7CiAgICAgYm9vbCBzaG91bGRTd2l0Y2hUb1JlYWRPbmx5RGVwdGhGZWVk
YmFja0xvb3BNb2RlKGdsOjpUZXh0dXJlICp0ZXh0dXJlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6Q29tbWFuZCBjb21tYW5kKSBjb25z
dDsKIApAQCAtMTA3Niw2ICsxMTc1LDkgQEAgY2xhc3MgQ29udGV4dFZrIDogcHVibGljIENvbnRl
eHRJbXBsLCBwdWJsaWMgdms6OkNvbnRleHQsIHB1YmxpYyBNdWx0aXNhbXBsZVRleHQKIAogICAg
IENvbnRleHRWa1BlcmZDb3VudGVycyBnZXRBbmRSZXNldE9iamVjdFBlcmZDb3VudGVycygpOwog
CisgICAgYm9vbCBpc0R1ZUZvckJ1ZmZlclBvb2xQcnVuZSgpIGNvbnN0OworICAgIHZvaWQgcHJ1
bmVEZWZhdWx0QnVmZmVyUG9vbHMoKTsKKwogICAgIHN0ZDo6YXJyYXk8R3JhcGhpY3NEaXJ0eUJp
dEhhbmRsZXIsIERJUlRZX0JJVF9NQVg+IG1HcmFwaGljc0RpcnR5Qml0SGFuZGxlcnM7CiAgICAg
c3RkOjphcnJheTxDb21wdXRlRGlydHlCaXRIYW5kbGVyLCBESVJUWV9CSVRfTUFYPiBtQ29tcHV0
ZURpcnR5Qml0SGFuZGxlcnM7CiAKQEAgLTExMTYsNiArMTIxOCw5IEBAIGNsYXNzIENvbnRleHRW
ayA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIHZrOjpDb250ZXh0LCBwdWJsaWMgTXVsdGlz
YW1wbGVUZXh0CiAgICAgRGlydHlCaXRzIG1JbmRleGVkRGlydHlCaXRzTWFzazsKICAgICBEaXJ0
eUJpdHMgbU5ld0dyYXBoaWNzQ29tbWFuZEJ1ZmZlckRpcnR5Qml0czsKICAgICBEaXJ0eUJpdHMg
bU5ld0NvbXB1dGVDb21tYW5kQnVmZmVyRGlydHlCaXRzOworICAgIHN0YXRpYyBjb25zdGV4cHIg
RGlydHlCaXRzIGtDb2xvckFjY2Vzc0NoYW5nZURpcnR5Qml0c3tESVJUWV9CSVRfQ09MT1JfQUND
RVNTfTsKKyAgICBzdGF0aWMgY29uc3RleHByIERpcnR5Qml0cyBrRGVwdGhTdGVuY2lsQWNjZXNz
Q2hhbmdlRGlydHlCaXRzeworICAgICAgICBESVJUWV9CSVRfUkVBRF9PTkxZX0RFUFRIX0ZFRURC
QUNLX0xPT1BfTU9ERSwgRElSVFlfQklUX0RFUFRIX1NURU5DSUxfQUNDRVNTfTsKICAgICBzdGF0
aWMgY29uc3RleHByIERpcnR5Qml0cyBrSW5kZXhBbmRWZXJ0ZXhEaXJ0eUJpdHN7RElSVFlfQklU
X1ZFUlRFWF9CVUZGRVJTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBESVJUWV9CSVRfSU5ERVhfQlVGRkVSfTsKICAgICBzdGF0aWMgY29u
c3RleHByIERpcnR5Qml0cyBrUGlwZWxpbmVEZXNjQW5kQmluZGluZ0RpcnR5Qml0c3tESVJUWV9C
SVRfUElQRUxJTkVfREVTQywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGV2aWNlVmsuY3BwIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EZXZpY2VWay5jcHAKaW5kZXgg
ZjlmM2M4NWNjOTJhNzJmYjIzOTUxODIzNmMwYTFlYWY5MWNiMzFmZi4uZmFiMmM1MjNlZDdkYTJi
MzQxNjRjYWU0MjAxMWQ0ZGNhZDAzNWQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EZXZpY2VWay5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EZXZpY2VW
ay5jcHAKQEAgLTI0LDcgKzI0LDcgQEAgbmFtZXNwYWNlCiAKIERldmljZVZrICpnRGV2aWNlID0g
bnVsbHB0cjsKIAotY2xhc3MgU2NvcGVkRW52IDogcHVibGljIGFuZ2xlOjp2azo6U2NvcGVkVmtM
b2FkZXJFbnZpcm9ubWVudAorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29wZWRFbnYgOiBwdWJs
aWMgYW5nbGU6OnZrOjpTY29wZWRWa0xvYWRlckVudmlyb25tZW50CiB7CiAgIHB1YmxpYzoKICAg
ICBTY29wZWRFbnYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EaXNwbGF5VmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EaXNwbGF5VmsuY3BwCmluZGV4IDU2
YmUxNDVmNWU2MDE0YmI4NWZmNGMyZWU0Zjk1MmQwZGFhYjY1MDkuLjMyNGM0ZDYwOGZiNzdiOTE2
ODAzMzg2YjJmYzgzM2NmNzVlZDc5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxheVZrLmNwcAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0Rpc3BsYXlW
ay5jcHAKQEAgLTI1LDggKzI1LDYgQEAKIAogbmFtZXNwYWNlIHJ4CiB7Ci0vLyBUaW1lIGludGVy
dmFsIGluIHNlY29uZHMgdGhhdCB3ZSBzaG91bGQgdHJ5IHRvIHBydW5lIGRlZmF1bHQgYnVmZmVy
IHBvb2xzLgotY29uc3RleHByIGRvdWJsZSBrVGltZUVsYXBzZWRGb3JQcnVuZURlZmF1bHRCdWZm
ZXJQb29sID0gMC4yNTsKIAogRGlzcGxheVZrOjpEaXNwbGF5VmsoY29uc3QgZWdsOjpEaXNwbGF5
U3RhdGUgJnN0YXRlKQogICAgIDogRGlzcGxheUltcGwoc3RhdGUpLApAQCAtNDUzLDYyICs0NTEs
MTkgQEAgdms6OkJ1ZmZlclBvb2wgKlNoYXJlR3JvdXBWazo6Z2V0RGVmYXVsdEJ1ZmZlclBvb2wo
UmVuZGVyZXJWayAqcmVuZGVyZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1lbW9yeVR5cGVJbmRleCkK
IHsKLSAgICBpZiAoc2l6ZSA8PSBrTWF4U2l6ZVRvVXNlU21hbGxCdWZmZXJQb29sICYmCi0gICAg
ICAgIG1lbW9yeVR5cGVJbmRleCA9PQotICAgICAgICAgICAgcmVuZGVyZXItPmdldFZlcnRleENv
bnZlcnNpb25CdWZmZXJNZW1vcnlUeXBlSW5kZXgodms6Ok1lbW9yeUhvc3RWaXNpYmlsaXR5OjpW
aXNpYmxlKSkKLSAgICB7Ci0gICAgICAgIGlmICghbVNtYWxsQnVmZmVyUG9vbCkKLSAgICAgICAg
ewotICAgICAgICAgICAgY29uc3Qgdms6OkFsbG9jYXRvciAmYWxsb2NhdG9yID0gcmVuZGVyZXIt
PmdldEFsbG9jYXRvcigpOwotICAgICAgICAgICAgVmtCdWZmZXJVc2FnZUZsYWdzIHVzYWdlRmxh
Z3MgID0gR2V0RGVmYXVsdEJ1ZmZlclVzYWdlRmxhZ3MocmVuZGVyZXIpOwotCi0gICAgICAgICAg
ICBWa01lbW9yeVByb3BlcnR5RmxhZ3MgbWVtb3J5UHJvcGVydHlGbGFnczsKLSAgICAgICAgICAg
IGFsbG9jYXRvci5nZXRNZW1vcnlUeXBlUHJvcGVydGllcyhtZW1vcnlUeXBlSW5kZXgsICZtZW1v
cnlQcm9wZXJ0eUZsYWdzKTsKLQotICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHZrOjpCdWZm
ZXJQb29sPiBwb29sID0gc3RkOjptYWtlX3VuaXF1ZTx2azo6QnVmZmVyUG9vbD4oKTsKLSAgICAg
ICAgICAgIHBvb2wtPmluaXRXaXRoRmxhZ3MocmVuZGVyZXIsIHZtYTo6VmlydHVhbEJsb2NrQ3Jl
YXRlRmxhZ0JpdHM6OkJVRERZLCB1c2FnZUZsYWdzLCAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtZW1vcnlUeXBlSW5kZXgsIG1lbW9yeVByb3BlcnR5RmxhZ3MpOwotICAgICAg
ICAgICAgbVNtYWxsQnVmZmVyUG9vbCA9IHN0ZDo6bW92ZShwb29sKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gbVNtYWxsQnVmZmVyUG9vbC5nZXQoKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAo
IW1EZWZhdWx0QnVmZmVyUG9vbHNbbWVtb3J5VHlwZUluZGV4XSkKLSAgICB7Ci0gICAgICAgIGNv
bnN0IHZrOjpBbGxvY2F0b3IgJmFsbG9jYXRvciA9IHJlbmRlcmVyLT5nZXRBbGxvY2F0b3IoKTsK
LSAgICAgICAgVmtCdWZmZXJVc2FnZUZsYWdzIHVzYWdlRmxhZ3MgID0gR2V0RGVmYXVsdEJ1ZmZl
clVzYWdlRmxhZ3MocmVuZGVyZXIpOwotCi0gICAgICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyBt
ZW1vcnlQcm9wZXJ0eUZsYWdzOwotICAgICAgICBhbGxvY2F0b3IuZ2V0TWVtb3J5VHlwZVByb3Bl
cnRpZXMobWVtb3J5VHlwZUluZGV4LCAmbWVtb3J5UHJvcGVydHlGbGFncyk7Ci0KLSAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPHZrOjpCdWZmZXJQb29sPiBwb29sID0gc3RkOjptYWtlX3VuaXF1ZTx2
azo6QnVmZmVyUG9vbD4oKTsKLSAgICAgICAgcG9vbC0+aW5pdFdpdGhGbGFncyhyZW5kZXJlciwg
dm1hOjpWaXJ0dWFsQmxvY2tDcmVhdGVGbGFnQml0czo6R0VORVJBTCwgdXNhZ2VGbGFncywgMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlUeXBlSW5kZXgsIG1lbW9yeVByb3Bl
cnR5RmxhZ3MpOwotICAgICAgICBtRGVmYXVsdEJ1ZmZlclBvb2xzW21lbW9yeVR5cGVJbmRleF0g
PSBzdGQ6Om1vdmUocG9vbCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIG1EZWZhdWx0QnVmZmVyUG9v
bHNbbWVtb3J5VHlwZUluZGV4XS5nZXQoKTsKKyAgICByZXR1cm4gdms6OkdldERlZmF1bHRCdWZm
ZXJQb29sKG1TbWFsbEJ1ZmZlclBvb2wsIG1EZWZhdWx0QnVmZmVyUG9vbHMsIHJlbmRlcmVyLCBz
aXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5VHlwZUluZGV4
KTsKIH0KIAogdm9pZCBTaGFyZUdyb3VwVms6OnBydW5lRGVmYXVsdEJ1ZmZlclBvb2xzKFJlbmRl
cmVyVmsgKnJlbmRlcmVyKQogewogICAgIG1MYXN0UHJ1bmVUaW1lID0gYW5nbGU6OkdldEN1cnJl
bnRTeXN0ZW1UaW1lKCk7CiAKLSAgICBmb3IgKHN0ZDo6dW5pcXVlX3B0cjx2azo6QnVmZmVyUG9v
bD4gJnBvb2wgOiBtRGVmYXVsdEJ1ZmZlclBvb2xzKQotICAgIHsKLSAgICAgICAgaWYgKHBvb2wp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHBvb2wtPnBydW5lRW1wdHlCdWZmZXJzKHJlbmRlcmVy
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAobVNtYWxsQnVmZmVyUG9vbCkKLSAgICB7Ci0g
ICAgICAgIG1TbWFsbEJ1ZmZlclBvb2wtPnBydW5lRW1wdHlCdWZmZXJzKHJlbmRlcmVyKTsKLSAg
ICB9CisgICAgdms6OlBydW5lRGVmYXVsdEJ1ZmZlclBvb2xzKHJlbmRlcmVyLCBtRGVmYXVsdEJ1
ZmZlclBvb2xzLCBtU21hbGxCdWZmZXJQb29sKTsKIH0KIAogYm9vbCBTaGFyZUdyb3VwVms6Omlz
RHVlRm9yQnVmZmVyUG9vbFBydW5lKCkKIHsKLSAgICBkb3VibGUgdGltZUVsYXBzZWQgPSBhbmds
ZTo6R2V0Q3VycmVudFN5c3RlbVRpbWUoKSAtIG1MYXN0UHJ1bmVUaW1lOwotICAgIHJldHVybiB0
aW1lRWxhcHNlZCA+IGtUaW1lRWxhcHNlZEZvclBydW5lRGVmYXVsdEJ1ZmZlclBvb2w7CisgICAg
cmV0dXJuIHZrOjpJc0R1ZUZvckJ1ZmZlclBvb2xQcnVuZShtTGFzdFBydW5lVGltZSk7CiB9CiB9
ICAvLyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxheVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0Rpc3BsYXlWay5oCmluZGV4IDNk
ZmQxNDhiNjRjMDNhMjUxNzZlYmI3YjZiZTAyZGRhNDZlZThlZmUuLmM1ZjIyYzhmZGU4YTE3M2Vj
NzM1NWJkNjYzMTc4NDZiYWFkMDUwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vRGlzcGxheVZrLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9EaXNwbGF5Vmsu
aApAQCAtNzMsNyArNzMsNiBAQCBjbGFzcyBTaGFyZUdyb3VwVmsgOiBwdWJsaWMgU2hhcmVHcm91
cEltcGwKIAogICAgIC8vIFRoZSBwb29sIGRlZGljYXRlZCBmb3Igc21hbGwgYWxsb2NhdGlvbnMg
dGhhdCB1c2VzIGZhc3RlciBidWRkeSBhbGdvcml0aG0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8dms6
OkJ1ZmZlclBvb2w+IG1TbWFsbEJ1ZmZlclBvb2w7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBWa0Rl
dmljZVNpemUga01heFNpemVUb1VzZVNtYWxsQnVmZmVyUG9vbCA9IDI1NjsKIAogICAgIC8vIFRo
ZSBzeXN0ZW0gdGltZSB3aGVuIGxhc3QgcHJ1bmVFbXB0eUJ1ZmZlciBnZXRzIGNhbGxlZC4KICAg
ICBkb3VibGUgbUxhc3RQcnVuZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuY3BwIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9GcmFtZWJ1
ZmZlclZrLmNwcAppbmRleCAzMTMxYzA1MjRjMWIwMDI3MDJjNzUwNWQzMGQxOGE1MTM0OTkzZGRm
Li40ODMwMjBjYjJlNmJlMTZlZjhkMGJiYTFiYzZjYzQ1ZDU1MmE1M2U1IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1l
YnVmZmVyVmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vRnJhbWVidWZmZXJWay5jcHAKQEAgLTQ2OCw2ICs0NjgsMTYgQEAgYW5n
bGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpjbGVhckltcGwoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgLy8gVGhlIGZyb250LWVuZCBzaG91bGQgZW5zdXJlIHdlIGRvbid0IGF0dGVt
cHQgdG8gY2xlYXIgc3RlbmNpbCBpZiBhbGwgYml0cyBhcmUgbWFza2VkLgogICAgIEFTU0VSVCgh
Y2xlYXJTdGVuY2lsIHx8IHN0ZW5jaWxNYXNrICE9IDApOwogCisgICAgLy8gTWFrZSBzdXJlIHRv
IGNsb3NlIHRoZSByZW5kZXIgcGFzcyBub3cgaWYgaW4gcmVhZC1vbmx5IGRlcHRoL3N0ZW5jaWwg
ZmVlZGJhY2sgbG9vcCBtb2RlIGFuZAorICAgIC8vIGRlcHRoL3N0ZW5jaWwgaXMgYmVpbmcgY2xl
YXJlZC4KKyAgICBpZiAoY2xlYXJEZXB0aCB8fCBjbGVhclN0ZW5jaWwpCisgICAgeworICAgICAg
ICBBTkdMRV9UUlkoY29udGV4dFZrLT51cGRhdGVSZW5kZXJQYXNzRGVwdGhGZWVkYmFja0xvb3BN
b2RlKAorICAgICAgICAgICAgY2xlYXJEZXB0aCA/IFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVh
c29uOjpDbGVhciA6IFVwZGF0ZURlcHRoRmVlZGJhY2tMb29wUmVhc29uOjpOb25lLAorICAgICAg
ICAgICAgY2xlYXJTdGVuY2lsID8gVXBkYXRlRGVwdGhGZWVkYmFja0xvb3BSZWFzb246OkNsZWFy
CisgICAgICAgICAgICAgICAgICAgICAgICAgOiBVcGRhdGVEZXB0aEZlZWRiYWNrTG9vcFJlYXNv
bjo6Tm9uZSkpOworICAgIH0KKwogICAgIGNvbnN0IGJvb2wgc2Npc3NvcmVkQ2xlYXIgPSBzY2lz
c29yZWRSZW5kZXJBcmVhICE9IGdldFJvdGF0ZWRDb21wbGV0ZVJlbmRlckFyZWEoY29udGV4dFZr
KTsKIAogICAgIC8vIFdlIHVzZSB0aGUgZHJhdyBwYXRoIGlmIHNjaXNzb3JlZCBjbGVhciwgb3Ig
Y29sb3Igb3Igc3RlbmNpbCBhcmUgbWFza2VkLiAgTm90ZSB0aGF0IGRlcHRoCkBAIC01NTUsOCAr
NTY1LDE1IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Y2xlYXJJbXBsKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgQVNTRVJUKCFwcmVmZXJEcmF3T3ZlckNs
ZWFyQXR0YWNobWVudHMpOwogCiAgICAgICAgICAgICAvLyBjbGVhcldpdGhDb21tYW5kIHdpbGwg
b3BlcmF0ZSBvbiBkZWZlcnJlZCBjbGVhcnMuCi0gICAgICAgICAgICBBTkdMRV9UUlkoY2xlYXJX
aXRoQ29tbWFuZChjb250ZXh0VmssICZjb250ZXh0VmstPmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29t
bWFuZHMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaXNzb3Jl
ZFJlbmRlckFyZWEpKTsKKyAgICAgICAgICAgIGNsZWFyV2l0aENvbW1hbmQoY29udGV4dFZrLCBz
Y2lzc29yZWRSZW5kZXJBcmVhKTsKKworICAgICAgICAgICAgLy8gY2xlYXJXaXRoQ29tbWFuZCB3
aWxsIGNsZWFyIG9ubHkgdGhvc2UgYXR0YWNobWVudHMgdGhhdCBoYXZlIGJlZW4gdXNlZCBpbiB0
aGUgcmVuZGVyCisgICAgICAgICAgICAvLyBwYXNzLCBhbmQgcmVtb3ZlcyB0aGVtIGZyb20gbURl
ZmVycmVkQ2xlYXJzLiAgQW55IGRlZmVycmVkIGNsZWFycyB0aGF0IGFyZSBsZWZ0IGNhbgorICAg
ICAgICAgICAgLy8gYmUgcGVyZm9ybWVkIHdpdGggYSByZW5kZXJwYXNzIGxvYWRPcC4KKyAgICAg
ICAgICAgIGlmIChtRGVmZXJyZWRDbGVhcnMuYW55KCkpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgY2xlYXJXaXRoTG9hZE9wKGNvbnRleHRWayk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7CkBAIC0xNTU1LDYgKzE1NzIsNTIgQEAgYW5n
bGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjppbnZhbGlkYXRlSW1wbChDb250ZXh0VmsgKmNvbnRl
eHRWaywKICAgICBjb25zdCBhdXRvICZjb2xvclJlbmRlclRhcmdldHMgICAgICAgICAgID0gbVJl
bmRlclRhcmdldENhY2hlLmdldENvbG9ycygpOwogICAgIFJlbmRlclRhcmdldFZrICpkZXB0aFN0
ZW5jaWxSZW5kZXJUYXJnZXQgPSBtUmVuZGVyVGFyZ2V0Q2FjaGUuZ2V0RGVwdGhTdGVuY2lsKCk7
CiAKKyAgICAvLyBJZiBub3QgYSBwYXJ0aWFsIGludmFsaWRhdGUsIG1hcmsgdGhlIGNvbnRlbnRz
IG9mIHRoZSBpbnZhbGlkYXRlZCBhdHRhY2htZW50cyBhcyB1bmRlZmluZWQsCisgICAgLy8gc28g
dGhlaXIgbG9hZE9wIGNhbiBiZSBzZXQgdG8gRE9OVF9DQVJFIGluIHRoZSBmb2xsb3dpbmcgcmVu
ZGVyIHBhc3MuCisgICAgaWYgKCFpc1N1YkludmFsaWRhdGUpCisgICAgeworICAgICAgICBmb3Ig
KHNpemVfdCBjb2xvckluZGV4R0wgOiBtU3RhdGUuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKCkpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGlmIChpbnZhbGlkYXRlQ29sb3JCdWZmZXJzLnRlc3QoY29s
b3JJbmRleEdMKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJUYXJnZXRW
ayAqY29sb3JSZW5kZXJUYXJnZXQgPSBjb2xvclJlbmRlclRhcmdldHNbY29sb3JJbmRleEdMXTsK
KyAgICAgICAgICAgICAgICBBU1NFUlQoY29sb3JSZW5kZXJUYXJnZXQpOworCisgICAgICAgICAg
ICAgICAgYm9vbCBwcmVmZXJUb0tlZXBDb250ZW50c0RlZmluZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBjb2xvclJlbmRlclRhcmdldC0+aW52YWxpZGF0ZUVudGlyZUNvbnRlbnQoY29udGV4
dFZrLCAmcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkKTsKKyAgICAgICAgICAgICAgICBpZiAo
cHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgaW52YWxpZGF0ZUNvbG9yQnVmZmVycy5yZXNldChjb2xvckluZGV4R0wpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8v
IElmIHdlIGhhdmUgYSBkZXB0aCAvIHN0ZW5jaWwgcmVuZGVyIHRhcmdldCwgaW52YWxpZGF0ZSBp
dHMgYXNwZWN0cy4KKyAgICAgICAgaWYgKGRlcHRoU3RlbmNpbFJlbmRlclRhcmdldCkKKyAgICAg
ICAgeworICAgICAgICAgICAgaWYgKGludmFsaWRhdGVEZXB0aEJ1ZmZlcikKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBib29sIHByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5lZCA9IGZh
bHNlOworICAgICAgICAgICAgICAgIGRlcHRoU3RlbmNpbFJlbmRlclRhcmdldC0+aW52YWxpZGF0
ZUVudGlyZUNvbnRlbnQoY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByZWZlclRvS2VlcENvbnRlbnRz
RGVmaW5lZCk7CisgICAgICAgICAgICAgICAgaWYgKHByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5l
ZCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGludmFsaWRhdGVEZXB0
aEJ1ZmZlciA9IGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGlmIChpbnZhbGlkYXRlU3RlbmNpbEJ1ZmZlcikKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBib29sIHByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5lZCA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIGRlcHRoU3RlbmNpbFJlbmRlclRhcmdldC0+aW52YWxpZGF0ZUVudGlyZVN0
ZW5jaWxDb250ZW50KAorICAgICAgICAgICAgICAgICAgICBjb250ZXh0VmssICZwcmVmZXJUb0tl
ZXBDb250ZW50c0RlZmluZWQpOworICAgICAgICAgICAgICAgIGlmIChwcmVmZXJUb0tlZXBDb250
ZW50c0RlZmluZWQpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpbnZh
bGlkYXRlU3RlbmNpbEJ1ZmZlciA9IGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIFRvIGVuc3VyZSB3ZSBpbnZhbGlkYXRl
IHRoZSByaWdodCByZW5kZXJwYXNzIHdlIHJlcXVpcmUgdGhhdCB0aGUgY3VycmVudCBmcmFtZWJ1
ZmZlciBiZSB0aGUKICAgICAvLyBzYW1lIGFzIHRoZSBjdXJyZW50IHJlbmRlcnBhc3MnIGZyYW1l
YnVmZmVyLiBFLmcuIHByZXZlbnQgc2VxdWVuY2UgbGlrZToKICAgICAvLy0gQmluZCBGQk8gMSwg
ZHJhdwpAQCAtMTU2Niw3ICsxNjI5LDggQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpp
bnZhbGlkYXRlSW1wbChDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgIGlmIChjb250ZXh0Vmst
Pmhhc1N0YXJ0ZWRSZW5kZXJQYXNzV2l0aEZyYW1lYnVmZmVyKGN1cnJlbnRGcmFtZWJ1ZmZlcikp
CiAgICAgewotICAgICAgICAvLyBTZXQgdGhlIGFwcHJvcHJpYXRlIHN0b3JlT3AgZm9yIGF0dGFj
aG1lbnRzLgorICAgICAgICAvLyBNYXJrIHRoZSBpbnZhbGlkYXRlZCBhdHRhY2htZW50cyBpbiB0
aGUgcmVuZGVyIHBhc3MgZm9yIGxvYWRPcCBhbmQgc3RvcmVPcCBkZXRlcm1pbmF0aW9uCisgICAg
ICAgIC8vIGF0IGl0cyBlbmQuCiAgICAgICAgIHZrOjpQYWNrZWRBdHRhY2htZW50SW5kZXggY29s
b3JJbmRleFZrKDApOwogICAgICAgICBmb3IgKHNpemVfdCBjb2xvckluZGV4R0wgOiBtU3RhdGUu
Z2V0Q29sb3JBdHRhY2htZW50c01hc2soKSkKICAgICAgICAgewpAQCAtMTU3NCw3ICsxNjM4LDcg
QEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjppbnZhbGlkYXRlSW1wbChDb250ZXh0Vmsg
KmNvbnRleHRWaywKICAgICAgICAgICAgICAgICBpbnZhbGlkYXRlQ29sb3JCdWZmZXJzLnRlc3Qo
Y29sb3JJbmRleEdMKSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb250ZXh0Vmst
PmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29tbWFuZHMoKS5pbnZhbGlkYXRlUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudCgKLSAgICAgICAgICAgICAgICAgICAgY29sb3JJbmRleFZrKTsKKyAgICAgICAg
ICAgICAgICAgICAgY29udGV4dFZrLT5nZXRTdGF0ZSgpLCBjb2xvckluZGV4R0wsIGNvbG9ySW5k
ZXhWaywgaW52YWxpZGF0ZUFyZWEpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgKytjb2xv
ckluZGV4Vms7CiAgICAgICAgIH0KQEAgLTE2MDgsMzQgKzE2NzIsNiBAQCBhbmdsZTo6UmVzdWx0
IEZyYW1lYnVmZmVyVms6OmludmFsaWRhdGVJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAogICAg
ICAgICB9CiAgICAgfQogCi0gICAgLy8gSWYgbm90IGEgcGFydGlhbCBpbnZhbGlkYXRlLCBtYXJr
IHRoZSBjb250ZW50cyBvZiB0aGUgaW52YWxpZGF0ZWQgYXR0YWNobWVudHMgYXMgdW5kZWZpbmVk
LAotICAgIC8vIHNvIHRoZWlyIGxvYWRPcCBjYW4gYmUgc2V0IHRvIERPTlRfQ0FSRSBpbiB0aGUg
Zm9sbG93aW5nIHJlbmRlciBwYXNzLgotICAgIGlmICghaXNTdWJJbnZhbGlkYXRlKQotICAgIHsK
LSAgICAgICAgZm9yIChzaXplX3QgY29sb3JJbmRleEdMIDogbVN0YXRlLmdldEVuYWJsZWREcmF3
QnVmZmVycygpKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW52YWxpZGF0ZUNvbG9yQnVm
ZmVycy50ZXN0KGNvbG9ySW5kZXhHTCkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
UmVuZGVyVGFyZ2V0VmsgKmNvbG9yUmVuZGVyVGFyZ2V0ID0gY29sb3JSZW5kZXJUYXJnZXRzW2Nv
bG9ySW5kZXhHTF07Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGNvbG9yUmVuZGVyVGFyZ2V0KTsK
LSAgICAgICAgICAgICAgICBjb2xvclJlbmRlclRhcmdldC0+aW52YWxpZGF0ZUVudGlyZUNvbnRl
bnQoY29udGV4dFZrKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIC8vIElm
IHdlIGhhdmUgYSBkZXB0aCAvIHN0ZW5jaWwgcmVuZGVyIHRhcmdldCwgaW52YWxpZGF0ZSBpdHMg
YXNwZWN0cy4KLSAgICAgICAgaWYgKGRlcHRoU3RlbmNpbFJlbmRlclRhcmdldCkKLSAgICAgICAg
ewotICAgICAgICAgICAgaWYgKGludmFsaWRhdGVEZXB0aEJ1ZmZlcikKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBkZXB0aFN0ZW5jaWxSZW5kZXJUYXJnZXQtPmludmFsaWRhdGVFbnRp
cmVDb250ZW50KGNvbnRleHRWayk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoaW52
YWxpZGF0ZVN0ZW5jaWxCdWZmZXIpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZGVw
dGhTdGVuY2lsUmVuZGVyVGFyZ2V0LT5pbnZhbGlkYXRlRW50aXJlU3RlbmNpbENvbnRlbnQoY29u
dGV4dFZrKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQogICAgIHJldHVybiBh
bmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtMTczOSw3ICsxNzc1LDcgQEAgYW5nbGU6
OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpmbHVzaENvbG9yQXR0YWNobWVudFVwZGF0ZXMoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnQKICAgICBkcmF3UmVuZGVyVGFyZ2V0ID0gbVJlbmRlclRhcmdldENh
Y2hlLmdldENvbG9yRHJhdyhtU3RhdGUsIGNvbG9ySW5kZXhHTCk7CiAgICAgaWYgKGRyYXdSZW5k
ZXJUYXJnZXQpCiAgICAgewotICAgICAgICBpZiAoZGVmZXJDbGVhcnMgJiYgbVN0YXRlLmdldEVu
YWJsZWREcmF3QnVmZmVycygpLnRlc3QoY29sb3JJbmRleEdMKSkKKyAgICAgICAgaWYgKGRlZmVy
Q2xlYXJzKQogICAgICAgICB7CiAgICAgICAgICAgICBBTkdMRV9UUlkoCiAgICAgICAgICAgICAg
ICAgZHJhd1JlbmRlclRhcmdldC0+Zmx1c2hTdGFnZWRVcGRhdGVzKGNvbnRleHRWaywgJm1EZWZl
cnJlZENsZWFycywgY29sb3JJbmRleEdMLApAQCAtMjMxMiw4ICsyMzQ4LDYgQEAgdm9pZCBGcmFt
ZWJ1ZmZlclZrOjpyZWRlZmVyQ2xlYXJzKENvbnRleHRWayAqY29udGV4dFZrKQogICAgIC8vIEdv
IHRocm91Z2ggZGVmZXJyZWQgY2xlYXJzIGFuZCBzdGFnZSB0aGUgY2xlYXJzIGZvciBmdXR1cmUu
CiAgICAgZm9yIChzaXplX3QgY29sb3JJbmRleEdMIDogbURlZmVycmVkQ2xlYXJzLmdldENvbG9y
TWFzaygpKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1TdGF0ZS5nZXRFbmFibGVkRHJhd0J1ZmZl
cnMoKS50ZXN0KGNvbG9ySW5kZXhHTCkpOwotCiAgICAgICAgIFJlbmRlclRhcmdldFZrICpyZW5k
ZXJUYXJnZXQgPSBnZXRDb2xvckRyYXdSZW5kZXJUYXJnZXQoY29sb3JJbmRleEdMKTsKICAgICAg
ICAgZ2w6OkltYWdlSW5kZXggaW1hZ2VJbmRleCA9CiAgICAgICAgICAgICByZW5kZXJUYXJnZXQt
PmdldEltYWdlSW5kZXhGb3JDbGVhcihtQ3VycmVudEZyYW1lYnVmZmVyRGVzYy5nZXRMYXllckNv
dW50KCkpOwpAQCAtMjMzMywyNyArMjM2Nyw0NCBAQCB2b2lkIEZyYW1lYnVmZmVyVms6OnJlZGVm
ZXJDbGVhcnMoQ29udGV4dFZrICpjb250ZXh0VmspCiAgICAgfQogfQogCi1hbmdsZTo6UmVzdWx0
IEZyYW1lYnVmZmVyVms6OmNsZWFyV2l0aENvbW1hbmQoQ29udGV4dFZrICpjb250ZXh0VmssCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OlJlbmRlclBh
c3NDb21tYW5kQnVmZmVySGVscGVyICpyZW5kZXJwYXNzQ29tbWFuZHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmc2Np
c3NvcmVkUmVuZGVyQXJlYSkKK3ZvaWQgRnJhbWVidWZmZXJWazo6Y2xlYXJXaXRoQ29tbWFuZChD
b250ZXh0VmsgKmNvbnRleHRWaywgY29uc3QgZ2w6OlJlY3RhbmdsZSAmc2Npc3NvcmVkUmVuZGVy
QXJlYSkKIHsKICAgICAvLyBDbGVhciBpcyBub3QgYWZmZWN0ZWQgYnkgdmlld3BvcnQsIHNvIENv
bnRleHRWazo6dXBkYXRlU2Npc3NvciBtYXkgaGF2ZSBkZWNpZGVkIG9uIGEgc21hbGxlcgogICAg
IC8vIHJlbmRlciBhcmVhLiAgR3JvdyB0aGUgcmVuZGVyIGFyZWEgdG8gdGhlIGZ1bGwgZnJhbWVi
dWZmZXIgc2l6ZSBhcyB0aGlzIGNsZWFyIHBhdGggaXMgdGFrZW4KICAgICAvLyB3aGVuIG5vdCBz
Y2lzc29yZWQuCi0gICAgY29udGV4dFZrLT5nZXRTdGFydGVkUmVuZGVyUGFzc0NvbW1hbmRzKCku
Z3Jvd1JlbmRlckFyZWEoY29udGV4dFZrLCBzY2lzc29yZWRSZW5kZXJBcmVhKTsKKyAgICB2azo6
UmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXIgKnJlbmRlclBhc3NDb21tYW5kcyA9CisgICAg
ICAgICZjb250ZXh0VmstPmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29tbWFuZHMoKTsKKyAgICByZW5k
ZXJQYXNzQ29tbWFuZHMtPmdyb3dSZW5kZXJBcmVhKGNvbnRleHRWaywgc2Npc3NvcmVkUmVuZGVy
QXJlYSk7CiAKICAgICBnbDo6QXR0YWNobWVudFZlY3RvcjxWa0NsZWFyQXR0YWNobWVudD4gYXR0
YWNobWVudHM7CiAKLSAgICAvLyBHbyB0aHJvdWdoIGRlZmVycmVkIGNsZWFycyBhbmQgYWRkIHRo
ZW0gdG8gdGhlIGxpc3Qgb2YgYXR0YWNobWVudHMgdG8gY2xlYXIuCi0gICAgZm9yIChzaXplX3Qg
Y29sb3JJbmRleEdMIDogbURlZmVycmVkQ2xlYXJzLmdldENvbG9yTWFzaygpKQorICAgIC8vIEdv
IHRocm91Z2ggZGVmZXJyZWQgY2xlYXJzIGFuZCBhZGQgdGhlbSB0byB0aGUgbGlzdCBvZiBhdHRh
Y2htZW50cyB0byBjbGVhci4gIElmIGFueQorICAgIC8vIGF0dGFjaG1lbnQgaXMgdW51c2VkLCBz
a2lwIHRoZSBjbGVhci4gIGNsZWFyV2l0aExvYWRPcCB3aWxsIGZvbGxvdyBhbmQgbW92ZSB0aGUg
cmVtYWluaW5nCisgICAgLy8gY2xlYXJzIHVwIHRvIGxvYWRPcC4KKyAgICB2azo6UGFja2VkQXR0
YWNobWVudEluZGV4IGNvbG9ySW5kZXhWaygwKTsKKyAgICBmb3IgKHNpemVfdCBjb2xvckluZGV4
R0wgOiBtU3RhdGUuZ2V0Q29sb3JBdHRhY2htZW50c01hc2soKSkKICAgICB7Ci0gICAgICAgIEFT
U0VSVChtU3RhdGUuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKCkudGVzdChjb2xvckluZGV4R0wpKTsK
LSAgICAgICAgQVNTRVJUKGdldENvbG9yRHJhd1JlbmRlclRhcmdldChjb2xvckluZGV4R0wpLT5o
YXNEZWZpbmVkQ29udGVudCgpKTsKKyAgICAgICAgaWYgKG1EZWZlcnJlZENsZWFycy5nZXRDb2xv
ck1hc2soKS50ZXN0KGNvbG9ySW5kZXhHTCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgh
cmVuZGVyUGFzc0NvbW1hbmRzLT5oYXNBbnlDb2xvckFjY2Vzcyhjb2xvckluZGV4VmspKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIC8vIFNraXAgdGhpcyBhdHRhY2htZW50LCBzbyB3
ZSBjYW4gdXNlIGEgcmVuZGVycGFzcyBsb2FkT3AgdG8gY2xlYXIgaXQgaW5zdGVhZC4KKyAgICAg
ICAgICAgICAgICAvLyBOb3RlIHRoYXQgaWYgbG9hZE9wPUNsZWFyIHdhcyBhbHJlYWR5IHVzZWQg
Zm9yIHRoaXMgY29sb3IgYXR0YWNobWVudCwgaXQgd2lsbCBiZQorICAgICAgICAgICAgICAgIC8v
IG92ZXJyaWRlbiBieSB0aGUgbmV3IGNsZWFyLCB3aGljaCBpcyB2YWxpZCBiZWNhdXNlIHRoZSBh
dHRhY2htZW50IHdhc24ndCB1c2VkIGluCisgICAgICAgICAgICAgICAgLy8gYmV0d2Vlbi4KKyAg
ICAgICAgICAgICAgICArK2NvbG9ySW5kZXhWazsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgIH0KIAotICAgICAgICBhdHRhY2htZW50cy5lbXBsYWNlX2JhY2soVmtDbGVh
ckF0dGFjaG1lbnR7VktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJVCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90Pihj
b2xvckluZGV4R0wpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbURlZmVycmVkQ2xlYXJzW2NvbG9ySW5kZXhHTF19KTsKLSAgICAgICAgbURlZmVy
cmVkQ2xlYXJzLnJlc2V0KGNvbG9ySW5kZXhHTCk7CisgICAgICAgICAgICBhdHRhY2htZW50cy5l
bXBsYWNlX2JhY2soVmtDbGVhckF0dGFjaG1lbnR7VktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJVCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oY29sb3JJbmRleEdMKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtRGVmZXJyZWRDbGVhcnNbY29sb3JJ
bmRleEdMXX0pOworICAgICAgICAgICAgbURlZmVycmVkQ2xlYXJzLnJlc2V0KGNvbG9ySW5kZXhH
TCk7CisgICAgICAgICAgICArK2NvbnRleHRWay0+Z2V0UGVyZkNvdW50ZXJzKCkuY29sb3JDbGVh
ckF0dGFjaG1lbnRzOworCisgICAgICAgICAgICByZW5kZXJQYXNzQ29tbWFuZHMtPm9uQ29sb3JB
Y2Nlc3MoY29sb3JJbmRleFZrLCB2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKTsKKyAgICAgICAg
fQorICAgICAgICArK2NvbG9ySW5kZXhWazsKICAgICB9CiAKICAgICAvLyBBZGQgZGVwdGggYW5k
IHN0ZW5jaWwgdG8gbGlzdCBvZiBhdHRhY2htZW50cyBhcyBuZWVkZWQuCkBAIC0yMzYxLDIwICsy
NDEyLDIyIEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJWazo6Y2xlYXJXaXRoQ29tbWFuZChD
b250ZXh0VmsgKmNvbnRleHRWaywKICAgICBWa0NsZWFyVmFsdWUgZHNDbGVhclZhbHVlICAgICAg
ICAgPSB7fTsKICAgICBkc0NsZWFyVmFsdWUuZGVwdGhTdGVuY2lsLmRlcHRoICAgPSBtRGVmZXJy
ZWRDbGVhcnMuZ2V0RGVwdGhWYWx1ZSgpOwogICAgIGRzQ2xlYXJWYWx1ZS5kZXB0aFN0ZW5jaWwu
c3RlbmNpbCA9IG1EZWZlcnJlZENsZWFycy5nZXRTdGVuY2lsVmFsdWUoKTsKLSAgICBpZiAobURl
ZmVycmVkQ2xlYXJzLnRlc3REZXB0aCgpKQorICAgIGlmIChtRGVmZXJyZWRDbGVhcnMudGVzdERl
cHRoKCkgJiYgcmVuZGVyUGFzc0NvbW1hbmRzLT5oYXNBbnlEZXB0aEFjY2VzcygpKQogICAgIHsK
ICAgICAgICAgZHNBc3BlY3RGbGFncyB8PSBWS19JTUFHRV9BU1BFQ1RfREVQVEhfQklUOwogICAg
ICAgICAvLyBFeHBsaWNpdGx5IG1hcmsgYSBkZXB0aCB3cml0ZSBiZWNhdXNlIHdlIGFyZSBjbGVh
cmluZyB0aGUgZGVwdGggYnVmZmVyLgotICAgICAgICByZW5kZXJwYXNzQ29tbWFuZHMtPm9uRGVw
dGhBY2Nlc3Modms6OlJlc291cmNlQWNjZXNzOjpXcml0ZSk7CisgICAgICAgIHJlbmRlclBhc3ND
b21tYW5kcy0+b25EZXB0aEFjY2Vzcyh2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKTsKICAgICAg
ICAgbURlZmVycmVkQ2xlYXJzLnJlc2V0KHZrOjprVW5wYWNrZWREZXB0aEluZGV4KTsKKyAgICAg
ICAgKytjb250ZXh0VmstPmdldFBlcmZDb3VudGVycygpLmRlcHRoQ2xlYXJBdHRhY2htZW50czsK
ICAgICB9CiAKLSAgICBpZiAobURlZmVycmVkQ2xlYXJzLnRlc3RTdGVuY2lsKCkpCisgICAgaWYg
KG1EZWZlcnJlZENsZWFycy50ZXN0U3RlbmNpbCgpICYmIHJlbmRlclBhc3NDb21tYW5kcy0+aGFz
QW55U3RlbmNpbEFjY2VzcygpKQogICAgIHsKICAgICAgICAgZHNBc3BlY3RGbGFncyB8PSBWS19J
TUFHRV9BU1BFQ1RfU1RFTkNJTF9CSVQ7CiAgICAgICAgIC8vIEV4cGxpY2l0bHkgbWFyayBhIHN0
ZW5jaWwgd3JpdGUgYmVjYXVzZSB3ZSBhcmUgY2xlYXJpbmcgdGhlIHN0ZW5jaWwgYnVmZmVyLgot
ICAgICAgICByZW5kZXJwYXNzQ29tbWFuZHMtPm9uU3RlbmNpbEFjY2Vzcyh2azo6UmVzb3VyY2VB
Y2Nlc3M6OldyaXRlKTsKKyAgICAgICAgcmVuZGVyUGFzc0NvbW1hbmRzLT5vblN0ZW5jaWxBY2Nl
c3Modms6OlJlc291cmNlQWNjZXNzOjpXcml0ZSk7CiAgICAgICAgIG1EZWZlcnJlZENsZWFycy5y
ZXNldCh2azo6a1VucGFja2VkU3RlbmNpbEluZGV4KTsKKyAgICAgICAgKytjb250ZXh0VmstPmdl
dFBlcmZDb3VudGVycygpLnN0ZW5jaWxDbGVhckF0dGFjaG1lbnRzOwogICAgIH0KIAogICAgIGlm
IChkc0FzcGVjdEZsYWdzICE9IDApCkBAIC0yMzgyLDcgKzI0MzUsMTIgQEAgYW5nbGU6OlJlc3Vs
dCBGcmFtZWJ1ZmZlclZrOjpjbGVhcldpdGhDb21tYW5kKENvbnRleHRWayAqY29udGV4dFZrLAog
ICAgICAgICBhdHRhY2htZW50cy5lbXBsYWNlX2JhY2soVmtDbGVhckF0dGFjaG1lbnR7ZHNBc3Bl
Y3RGbGFncywgMCwgZHNDbGVhclZhbHVlfSk7CiAgICAgICAgIC8vIEJlY2F1c2Ugd2UgbWF5IGhh
dmUgY2hhbmdlZCB0aGUgZGVwdGggc3RlbmNpbCBhY2Nlc3MgbW9kZSwgdXBkYXRlIHJlYWQgb25s
eSBkZXB0aCBtb2RlCiAgICAgICAgIC8vIG5vdy4KLSAgICAgICAgdXBkYXRlUmVuZGVyUGFzc1Jl
YWRPbmx5RGVwdGhNb2RlKGNvbnRleHRWaywgcmVuZGVycGFzc0NvbW1hbmRzKTsKKyAgICAgICAg
dXBkYXRlUmVuZGVyUGFzc1JlYWRPbmx5RGVwdGhNb2RlKGNvbnRleHRWaywgcmVuZGVyUGFzc0Nv
bW1hbmRzKTsKKyAgICB9CisKKyAgICBpZiAoYXR0YWNobWVudHMuZW1wdHkoKSkKKyAgICB7Cisg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBjb25zdCB1aW50MzJfdCBsYXllckNvdW50ID0g
bVN0YXRlLmlzTXVsdGl2aWV3KCkgPyAxIDogbUN1cnJlbnRGcmFtZWJ1ZmZlckRlc2MuZ2V0TGF5
ZXJDb3VudCgpOwpAQCAtMjM5MSwxMSArMjQ0OSw2MiBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVm
ZmVyVms6OmNsZWFyV2l0aENvbW1hbmQoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgcmVjdC5y
ZWN0LmV4dGVudC53aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHNjaXNzb3Jl
ZFJlbmRlckFyZWEud2lkdGg7CiAgICAgcmVjdC5yZWN0LmV4dGVudC5oZWlnaHQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IHNjaXNzb3JlZFJlbmRlckFyZWEuaGVpZ2h0OwogICAgIHJl
Y3QubGF5ZXJDb3VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBsYXll
ckNvdW50OwotICAgIHZrOjpSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlciAqcmVuZGVyUGFzc0NvbW1h
bmRCdWZmZXIgPSAmcmVuZGVycGFzc0NvbW1hbmRzLT5nZXRDb21tYW5kQnVmZmVyKCk7CisgICAg
dms6OlJlbmRlclBhc3NDb21tYW5kQnVmZmVyICpyZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlciA9ICZy
ZW5kZXJQYXNzQ29tbWFuZHMtPmdldENvbW1hbmRCdWZmZXIoKTsKIAogICAgIHJlbmRlclBhc3ND
b21tYW5kQnVmZmVyLT5jbGVhckF0dGFjaG1lbnRzKHN0YXRpY19jYXN0PHVpbnQzMl90PihhdHRh
Y2htZW50cy5zaXplKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGF0dGFjaG1lbnRzLmRhdGEoKSwgMSwgJnJlY3QpOwotICAgIHJldHVybiBhbmdsZTo6
UmVzdWx0OjpDb250aW51ZTsKKyAgICByZXR1cm47Cit9CisKK3ZvaWQgRnJhbWVidWZmZXJWazo6
Y2xlYXJXaXRoTG9hZE9wKENvbnRleHRWayAqY29udGV4dFZrKQoreworICAgIHZrOjpSZW5kZXJQ
YXNzQ29tbWFuZEJ1ZmZlckhlbHBlciAqcmVuZGVyUGFzc0NvbW1hbmRzID0KKyAgICAgICAgJmNv
bnRleHRWay0+Z2V0U3RhcnRlZFJlbmRlclBhc3NDb21tYW5kcygpOworCisgICAgLy8gVXBkYXRl
IHRoZSByZW5kZXIgcGFzcyBsb2FkT3BzIHRvIGNsZWFyIHRoZSBhdHRhY2htZW50cy4KKyAgICB2
azo6UGFja2VkQXR0YWNobWVudEluZGV4IGNvbG9ySW5kZXhWaygwKTsKKyAgICBmb3IgKHNpemVf
dCBjb2xvckluZGV4R0wgOiBtU3RhdGUuZ2V0Q29sb3JBdHRhY2htZW50c01hc2soKSkKKyAgICB7
CisgICAgICAgIGlmICghbURlZmVycmVkQ2xlYXJzLnRlc3QoY29sb3JJbmRleEdMKSkKKyAgICAg
ICAgeworICAgICAgICAgICAgKytjb2xvckluZGV4Vms7CisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCghcmVuZGVyUGFzc0NvbW1hbmRzLT5oYXNBbnlD
b2xvckFjY2Vzcyhjb2xvckluZGV4VmspKTsKKworICAgICAgICByZW5kZXJQYXNzQ29tbWFuZHMt
PnVwZGF0ZVJlbmRlclBhc3NDb2xvckNsZWFyKGNvbG9ySW5kZXhWaywgbURlZmVycmVkQ2xlYXJz
W2NvbG9ySW5kZXhHTF0pOworCisgICAgICAgIG1EZWZlcnJlZENsZWFycy5yZXNldChjb2xvcklu
ZGV4R0wpOworCisgICAgICAgICsrY29sb3JJbmRleFZrOworICAgIH0KKworICAgIFZrQ2xlYXJW
YWx1ZSBkc0NsZWFyVmFsdWUgICAgICAgICA9IHt9OworICAgIGRzQ2xlYXJWYWx1ZS5kZXB0aFN0
ZW5jaWwuZGVwdGggICA9IG1EZWZlcnJlZENsZWFycy5nZXREZXB0aFZhbHVlKCk7CisgICAgZHND
bGVhclZhbHVlLmRlcHRoU3RlbmNpbC5zdGVuY2lsID0gbURlZmVycmVkQ2xlYXJzLmdldFN0ZW5j
aWxWYWx1ZSgpOworICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBkc0FzcGVjdHMgICAgICA9IDA7CisK
KyAgICBpZiAobURlZmVycmVkQ2xlYXJzLnRlc3REZXB0aCgpKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKCFyZW5kZXJQYXNzQ29tbWFuZHMtPmhhc0FueURlcHRoQWNjZXNzKCkpOworICAgICAgICBk
c0FzcGVjdHMgfD0gVktfSU1BR0VfQVNQRUNUX0RFUFRIX0JJVDsKKyAgICAgICAgbURlZmVycmVk
Q2xlYXJzLnJlc2V0KHZrOjprVW5wYWNrZWREZXB0aEluZGV4KTsKKyAgICB9CisKKyAgICBpZiAo
bURlZmVycmVkQ2xlYXJzLnRlc3RTdGVuY2lsKCkpCisgICAgeworICAgICAgICBBU1NFUlQoIXJl
bmRlclBhc3NDb21tYW5kcy0+aGFzQW55U3RlbmNpbEFjY2VzcygpKTsKKyAgICAgICAgZHNBc3Bl
Y3RzIHw9IFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVDsKKyAgICAgICAgbURlZmVycmVkQ2xl
YXJzLnJlc2V0KHZrOjprVW5wYWNrZWRTdGVuY2lsSW5kZXgpOworICAgIH0KKworICAgIGlmIChk
c0FzcGVjdHMgIT0gMCkKKyAgICB7CisgICAgICAgIHJlbmRlclBhc3NDb21tYW5kcy0+dXBkYXRl
UmVuZGVyUGFzc0RlcHRoU3RlbmNpbENsZWFyKGRzQXNwZWN0cywgZHNDbGVhclZhbHVlKTsKKyAg
ICAgICAgLy8gVGhlIHJlbmRlciBwYXNzIGNhbiBubyBsb25nZXIgYmUgaW4gcmVhZC1vbmx5IGRl
cHRoL3N0ZW5jaWwgbW9kZS4KKyAgICAgICAgdXBkYXRlUmVuZGVyUGFzc1JlYWRPbmx5RGVwdGhN
b2RlKGNvbnRleHRWaywgcmVuZGVyUGFzc0NvbW1hbmRzKTsKKyAgICB9CiB9CiAKIGFuZ2xlOjpS
ZXN1bHQgRnJhbWVidWZmZXJWazo6Z2V0U2FtcGxlUG9zaXRpb24oY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCkBAIC0yNDU1LDI0ICsyNTY0LDkgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZl
clZrOjpzdGFydE5ld1JlbmRlclBhc3MoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB2azo6UmVuZGVyUGFz
c0xvYWRPcDo6TG9hZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogdms6OlJlbmRlclBhc3NMb2FkT3A6OkRvbnRDYXJlOwogCi0gICAgICAgICAg
ICBpZiAobG9hZE9wID09IHZrOjpSZW5kZXJQYXNzTG9hZE9wOjpEb250Q2FyZSAmJgotICAgICAg
ICAgICAgICAgIG1FbXVsYXRlZEFscGhhQXR0YWNobWVudE1hc2tbY29sb3JJbmRleEdMXSkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGNvbG9yIGF0dGFjaG1lbnQgaGFz
IGEgZm9ybWF0IHdpdGggbm8gYWxwaGEgY2hhbm5lbCwgYnV0IGlzIGVtdWxhdGVkIHdpdGggYQot
ICAgICAgICAgICAgICAgIC8vIGZvcm1hdCB0aGF0IGRvZXMgaGF2ZSBhbiBhbHBoYSBjaGFubmVs
LCB3aGljaCBtdXN0IGJlIGNsZWFyZWQgdG8gMS4wIGluIG9yZGVyIHRvCi0gICAgICAgICAgICAg
ICAgLy8gYmUgdmlzaWJsZS4KLSAgICAgICAgICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9w
cy5zZXRPcHMoY29sb3JJbmRleFZrLCB2azo6UmVuZGVyUGFzc0xvYWRPcDo6Q2xlYXIsIHN0b3Jl
T3ApOwotICAgICAgICAgICAgICAgIFZrQ2xlYXJWYWx1ZSBlbXVsYXRlZEFscGhhQ2xlYXJWYWx1
ZSA9Ci0gICAgICAgICAgICAgICAgICAgIGdldENvcnJlY3RlZENvbG9yQ2xlYXJWYWx1ZShjb2xv
ckluZGV4R0wsIHt9KTsKLSAgICAgICAgICAgICAgICBwYWNrZWRDbGVhclZhbHVlcy5zdG9yZShj
b2xvckluZGV4VmssIFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW11bGF0ZWRBbHBoYUNsZWFyVmFsdWUpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJlbmRlclBhc3NBdHRhY2htZW50T3BzLnNldE9wcyhjb2xvckluZGV4VmssIGxvYWRPcCwgc3Rv
cmVPcCk7Ci0gICAgICAgICAgICAgICAgcGFja2VkQ2xlYXJWYWx1ZXMuc3RvcmUoY29sb3JJbmRl
eFZrLCBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGtVbmluaXRpYWxpemVkQ2xlYXJWYWx1ZSk7Ci0gICAgICAgICAgICB9
CisgICAgICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9wcy5zZXRPcHMoY29sb3JJbmRleFZr
LCBsb2FkT3AsIHN0b3JlT3ApOworICAgICAgICAgICAgcGFja2VkQ2xlYXJWYWx1ZXMuc3RvcmUo
Y29sb3JJbmRleFZrLCBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklULAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAga1VuaW5pdGlhbGl6ZWRDbGVhclZhbHVlKTsKICAgICAgICAg
fQogICAgICAgICByZW5kZXJQYXNzQXR0YWNobWVudE9wcy5zZXRTdGVuY2lsT3BzKGNvbG9ySW5k
ZXhWaywgdms6OlJlbmRlclBhc3NMb2FkT3A6OkRvbnRDYXJlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpSZW5kZXJQYXNzU3RvcmVPcDo6RG9udENh
cmUpOwpAQCAtMjY2Nyw3ICsyNzYxLDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlclZrOjpz
dGFydE5ld1JlbmRlclBhc3MoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICpmcmFtZWJ1
ZmZlciwgcmVuZGVyQXJlYSwgbVJlbmRlclBhc3NEZXNjLCByZW5kZXJQYXNzQXR0YWNobWVudE9w
cywgY29sb3JJbmRleFZrLAogICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50SW5kZXgsIHBh
Y2tlZENsZWFyVmFsdWVzLCBjb21tYW5kQnVmZmVyT3V0KSk7CiAKLSAgICAvLyBBZGQgdGhlIGlt
YWdlcyB0byB0aGUgcmVuZGVycGFzcyB0cmFja2luZyBsaXN0ICAodGhyb3VnaCBvbkNvbG9yRHJh
dykuCisgICAgLy8gQWRkIHRoZSBpbWFnZXMgdG8gdGhlIHJlbmRlcnBhc3MgdHJhY2tpbmcgbGlz
dCAodGhyb3VnaCBvbkNvbG9yRHJhdykuCiAgICAgdms6OlBhY2tlZEF0dGFjaG1lbnRJbmRleCBj
b2xvckF0dGFjaG1lbnRJbmRleCgwKTsKICAgICBmb3IgKHNpemVfdCBjb2xvckluZGV4R0wgOiBt
U3RhdGUuZ2V0Q29sb3JBdHRhY2htZW50c01hc2soKSkKICAgICB7CkBAIC0yODMyLDggKzI5MjYs
OCBAQCB2b2lkIEZyYW1lYnVmZmVyVms6OnVwZGF0ZVJlbmRlclBhc3NSZWFkT25seURlcHRoTW9k
ZShDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgIC8vIElmIHJlYWRPbmx5RGVwdGhTdGVuY2ls
IGlzIGZhbHNlLCB3ZSBhcmUgc3dpdGNoaW5nIG91dCBvZiByZWFkIG9ubHkgbW9kZSBkdWUgdG8g
ZGVwdGggd3JpdGUuCiAgICAgLy8gV2UgbXVzdCBub3QgYmUgaW4gdGhlIHJlYWQgb25seSBmZWVk
YmFjayBsb29wIG1vZGUgYmVjYXVzZSB0aGUgbG9naWMgaW4KLSAgICAvLyBDb250ZXh0Vms6OnVw
ZGF0ZVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBY2Nlc3MoKSBzaG91bGQgZW5zdXJlIHdlIGVuZCB0
aGUgcHJldmlvdXMgcmVuZGVycGFzcwotICAgIC8vIGFuZCBhIG5ldyByZW5kZXJwYXNzIHdpbGwg
c3RhcnQgd2l0aCBmZWVkYmFjayBsb29wIGRpc2FibGVkLgorICAgIC8vIERJUlRZX0JJVF9SRUFE
X09OTFlfREVQVEhfRkVFREJBQ0tfTE9PUF9NT0RFIHNob3VsZCBlbnN1cmUgd2UgZW5kIHRoZSBw
cmV2aW91cyByZW5kZXJwYXNzIGFuZAorICAgIC8vIGEgbmV3IHJlbmRlcnBhc3Mgd2lsbCBzdGFy
dCB3aXRoIGZlZWRiYWNrIGxvb3AgZGlzYWJsZWQuCiAgICAgQVNTRVJUKHJlYWRPbmx5RGVwdGhT
dGVuY2lsTW9kZSB8fCAhbVJlYWRPbmx5RGVwdGhGZWVkYmFja0xvb3BNb2RlKTsKIAogICAgIHJl
bmRlclBhc3MtPnVwZGF0ZVN0YXJ0ZWRSZW5kZXJQYXNzV2l0aERlcHRoTW9kZShyZWFkT25seURl
cHRoU3RlbmNpbE1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9GcmFtZWJ1ZmZlclZrLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuaApp
bmRleCAxMzVhNzdmMTZiZmM1YmU1NjZjMjU1OWIzZTQzOGM1ZWJmNDk1NGJhLi44NGVkYjQ4Nzc4
OWUzMTkzOWNmYWZlNDI4MWQyYWU0YjE5M2I5YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ZyYW1lYnVmZmVyVmsuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2Fu
L0ZyYW1lYnVmZmVyVmsuaApAQCAtMTYwLDYgKzE2MCw3IEBAIGNsYXNzIEZyYW1lYnVmZmVyVmsg
OiBwdWJsaWMgRnJhbWVidWZmZXJJbXBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdms6OlJlbmRlclBhc3NDb21tYW5kQnVmZmVySGVscGVyICpyZW5kZXJQYXNz
KTsKIAogICAgIHZvaWQgb25Td2l0Y2hQcm9ncmFtRnJhbWVidWZmZXJGZXRjaChDb250ZXh0Vmsg
KmNvbnRleHRWaywgYm9vbCBwcm9ncmFtVXNlc0ZyYW1lYnVmZmVyRmV0Y2gpOworICAgIGJvb2wg
aGFzRnJhbWVidWZmZXJGZXRjaCgpIGNvbnN0IHsgcmV0dXJuIG1DdXJyZW50RnJhbWVidWZmZXJE
ZXNjLmhhc0ZyYW1lYnVmZmVyRmV0Y2goKTsgfQogCiAgIHByaXZhdGU6CiAgICAgRnJhbWVidWZm
ZXJWayhSZW5kZXJlclZrICpyZW5kZXJlciwKQEAgLTIxMCw5ICsyMTEsOCBAQCBjbGFzcyBGcmFt
ZWJ1ZmZlclZrIDogcHVibGljIEZyYW1lYnVmZmVySW1wbAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY2xlYXJDb2xvclZhbHVlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyRGVwdGhTdGVuY2lsVmFs
dWUgJmNsZWFyRGVwdGhTdGVuY2lsVmFsdWUpOwogICAgIHZvaWQgcmVkZWZlckNsZWFycyhDb250
ZXh0VmsgKmNvbnRleHRWayk7Ci0gICAgYW5nbGU6OlJlc3VsdCBjbGVhcldpdGhDb21tYW5kKENv
bnRleHRWayAqY29udGV4dFZrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
azo6UmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXIgKnJlbmRlcnBhc3NDb21tYW5kcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAmc2Np
c3NvcmVkUmVuZGVyQXJlYSk7CisgICAgdm9pZCBjbGVhcldpdGhDb21tYW5kKENvbnRleHRWayAq
Y29udGV4dFZrLCBjb25zdCBnbDo6UmVjdGFuZ2xlICZzY2lzc29yZWRSZW5kZXJBcmVhKTsKKyAg
ICB2b2lkIGNsZWFyV2l0aExvYWRPcChDb250ZXh0VmsgKmNvbnRleHRWayk7CiAgICAgdm9pZCB1
cGRhdGVBY3RpdmVDb2xvck1hc2tzKHNpemVfdCBjb2xvckluZGV4LCBib29sIHIsIGJvb2wgZywg
Ym9vbCBiLCBib29sIGEpOwogICAgIHZvaWQgdXBkYXRlUmVuZGVyUGFzc0Rlc2MoQ29udGV4dFZr
ICpjb250ZXh0VmspOwogICAgIGFuZ2xlOjpSZXN1bHQgdXBkYXRlQ29sb3JBdHRhY2htZW50KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCB1aW50MzJfdCBjb2xvckluZGV4KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4v
SW1hZ2VWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvdnVsa2FuL0ltYWdlVmsuY3BwCmluZGV4IDM1YmRmMzBlYTk2M2Y0M2U0OWM3MmU2NjUzOTA5
ZDBhYmRiYjM2MDYuLjVhYjEyYzI0MWVjYTE0OThlOTljYzQyMjE2MjI2NTJlZDkzZmJkYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vSW1hZ2VWay5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi9JbWFnZVZrLmNwcApAQCAtMjIsNyArMjIsNyBAQCBuYW1lc3Bh
Y2UgcngKIHsKIAogSW1hZ2VWazo6SW1hZ2VWayhjb25zdCBlZ2w6OkltYWdlU3RhdGUgJnN0YXRl
LCBjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKLSAgICA6IEltYWdlSW1wbChzdGF0ZSksIG1J
bWFnZUxldmVsKDApLCBtT3duc0ltYWdlKGZhbHNlKSwgbUltYWdlKG51bGxwdHIpLCBtQ29udGV4
dChjb250ZXh0KQorICAgIDogSW1hZ2VJbXBsKHN0YXRlKSwgbU93bnNJbWFnZShmYWxzZSksIG1J
bWFnZShudWxscHRyKSwgbUNvbnRleHQoY29udGV4dCkKIHt9CiAKIEltYWdlVms6On5JbWFnZVZr
KCkge30KQEAgLTc1LDEwICs3NSw2IEBAIGVnbDo6RXJyb3IgSW1hZ2VWazo6aW5pdGlhbGl6ZShj
b25zdCBlZ2w6OkRpc3BsYXkgKmRpc3BsYXkpCiAgICAgICAgIC8vIFRoZSBzdGFnaW5nIGJ1ZmZl
ciBmb3IgYSB0ZXh0dXJlIHNvdXJjZSBzaG91bGQgYWxyZWFkeSBiZSBpbml0aWFsaXplZAogCiAg
ICAgICAgIG1Pd25zSW1hZ2UgPSBmYWxzZTsKLQotICAgICAgICBtSW1hZ2VUZXh0dXJlVHlwZSA9
IG1TdGF0ZS5pbWFnZUluZGV4LmdldFR5cGUoKTsKLSAgICAgICAgbUltYWdlTGV2ZWwgICAgICAg
PSBnbDo6TGV2ZWxJbmRleChtU3RhdGUuaW1hZ2VJbmRleC5nZXRMZXZlbEluZGV4KCkpOwotICAg
ICAgICBtSW1hZ2VMYXllciAgICAgICA9IG1TdGF0ZS5pbWFnZUluZGV4Lmhhc0xheWVyKCkgPyBt
U3RhdGUuaW1hZ2VJbmRleC5nZXRMYXllckluZGV4KCkgOiAwOwogICAgIH0KICAgICBlbHNlCiAg
ICAgewpAQCAtMTA0LDEwICsxMDAsNyBAQCBlZ2w6OkVycm9yIEltYWdlVms6OmluaXRpYWxpemUo
Y29uc3QgZWdsOjpEaXNwbGF5ICpkaXNwbGF5KQogICAgICAgICAgICAgcmV0dXJuIGVnbDo6RWds
QmFkQWNjZXNzKCk7CiAgICAgICAgIH0KIAotICAgICAgICBtT3duc0ltYWdlICAgICAgICA9IGZh
bHNlOwotICAgICAgICBtSW1hZ2VUZXh0dXJlVHlwZSA9IGdsOjpUZXh0dXJlVHlwZTo6XzJEOwot
ICAgICAgICBtSW1hZ2VMZXZlbCAgICAgICA9IGdsOjpMZXZlbEluZGV4KDApOwotICAgICAgICBt
SW1hZ2VMYXllciAgICAgICA9IDA7CisgICAgICAgIG1Pd25zSW1hZ2UgPSBmYWxzZTsKICAgICB9
CiAKICAgICAvLyBtQ29udGV4dCBpcyBubyBsb25nZXIgbmVlZGVkLCBtYWtlIHN1cmUgaXQncyBu
b3QgdXNlZCBieSBhY2NpZGVudC4KQEAgLTE1OCw0ICsxNTEsMTkgQEAgZWdsOjpFcnJvciBJbWFn
ZVZrOjpleHBvcnRWa0ltYWdlKHZvaWQgKnZrSW1hZ2UsIHZvaWQgKnZrSW1hZ2VDcmVhdGVJbmZv
KQogICAgIHJldHVybiBlZ2w6Ok5vRXJyb3IoKTsKIH0KIAorZ2w6OlRleHR1cmVUeXBlIEltYWdl
Vms6OmdldEltYWdlVGV4dHVyZVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBtU3RhdGUuaW1h
Z2VJbmRleC5nZXRUeXBlKCk7Cit9CisKK2dsOjpMZXZlbEluZGV4IEltYWdlVms6OmdldEltYWdl
TGV2ZWwoKSBjb25zdAoreworICAgIHJldHVybiBnbDo6TGV2ZWxJbmRleChtU3RhdGUuaW1hZ2VJ
bmRleC5nZXRMZXZlbEluZGV4KCkpOworfQorCit1aW50MzJfdCBJbWFnZVZrOjpnZXRJbWFnZUxh
eWVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbVN0YXRlLmltYWdlSW5kZXguaGFzTGF5ZXIoKSA/
IG1TdGF0ZS5pbWFnZUluZGV4LmdldExheWVySW5kZXgoKSA6IDA7Cit9CisKIH0gIC8vIG5hbWVz
cGFjZSByeApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi9JbWFnZVZrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ltYWdlVmsuaAppbmRleCA5NTkzNTY5OTdjZWFlMzY3
MzgxZTA0NjJlNDUwNTU5MTRkYmVjNzAxLi44YmY3Nzg4MGFkYjUxOWNkYjJiYjM0YjNkOTRlYTI1
NDlmY2MxNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL0ltYWdlVmsuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL0ltYWdlVmsuaApAQCAtNDEsMTUgKzQxLDEx
IEBAIGNsYXNzIEltYWdlVmsgOiBwdWJsaWMgSW1hZ2VJbXBsCiAgICAgZWdsOjpFcnJvciBleHBv
cnRWa0ltYWdlKHZvaWQgKnZrSW1hZ2UsIHZvaWQgKnZrSW1hZ2VDcmVhdGVJbmZvKSBvdmVycmlk
ZTsKIAogICAgIHZrOjpJbWFnZUhlbHBlciAqZ2V0SW1hZ2UoKSBjb25zdCB7IHJldHVybiBtSW1h
Z2U7IH0KLSAgICBnbDo6VGV4dHVyZVR5cGUgZ2V0SW1hZ2VUZXh0dXJlVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1JbWFnZVRleHR1cmVUeXBlOyB9Ci0gICAgZ2w6OkxldmVsSW5kZXggZ2V0SW1hZ2VM
ZXZlbCgpIGNvbnN0IHsgcmV0dXJuIG1JbWFnZUxldmVsOyB9Ci0gICAgdWludDMyX3QgZ2V0SW1h
Z2VMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1JbWFnZUxheWVyOyB9CisgICAgZ2w6OlRleHR1cmVU
eXBlIGdldEltYWdlVGV4dHVyZVR5cGUoKSBjb25zdDsKKyAgICBnbDo6TGV2ZWxJbmRleCBnZXRJ
bWFnZUxldmVsKCkgY29uc3Q7CisgICAgdWludDMyX3QgZ2V0SW1hZ2VMYXllcigpIGNvbnN0Owog
CiAgIHByaXZhdGU6Ci0gICAgZ2w6OlRleHR1cmVUeXBlIG1JbWFnZVRleHR1cmVUeXBlOwotICAg
IGdsOjpMZXZlbEluZGV4IG1JbWFnZUxldmVsOwotICAgIHVpbnQzMl90IG1JbWFnZUxheWVyOwot
CiAgICAgYm9vbCBtT3duc0ltYWdlOwogICAgIHZrOjpJbWFnZUhlbHBlciAqbUltYWdlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL1JlbmRlclRhcmdldFZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyVGFyZ2V0VmsuY3BwCmluZGV4IDU5MjYwZjE0
MDJiZGY0ZDA1YmUwMjQwOGNkMTMxMzdjMTczMTc5NDcuLjg2NzdmMTdkZDVjY2M2MWY4YWRlOTIz
MWMzZjU2YTJiNzY2YzE1NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyVGFyZ2V0VmsuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyVGFy
Z2V0VmsuY3BwCkBAIC05OCwxNiArOTgsMTEgQEAgdm9pZCBSZW5kZXJUYXJnZXRWazo6b25Db2xv
ckRyYXcoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgQVNTRVJUKCFtSW1hZ2UtPmdldEFjdHVh
bEZvcm1hdCgpLmhhc0RlcHRoT3JTdGVuY2lsQml0cygpKTsKICAgICBBU1NFUlQoZnJhbWVidWZm
ZXJMYXllckNvdW50IDw9IG1MYXllckNvdW50KTsKIAotICAgIGNvbnRleHRWay0+b25Db2xvckRy
YXcobUltYWdlLCBtUmVzb2x2ZUltYWdlLCBwYWNrZWRBdHRhY2htZW50SW5kZXgpOwotICAgIG1J
bWFnZS0+b25Xcml0ZShtTGV2ZWxJbmRleEdMLCAxLCBtTGF5ZXJJbmRleCwgZnJhbWVidWZmZXJM
YXllckNvdW50LAotICAgICAgICAgICAgICAgICAgICBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklU
KTsKLSAgICBpZiAobVJlc29sdmVJbWFnZSkKLSAgICB7Ci0gICAgICAgIC8vIE11bHRpc2FtcGxl
ZCByZW5kZXIgdG8gdGV4dHVyZSBmcmFtZWJ1ZmZlcnMgY2Fubm90IGJlIGxheWVyZWQuCi0gICAg
ICAgIEFTU0VSVChmcmFtZWJ1ZmZlckxheWVyQ291bnQgPT0gMSk7Ci0gICAgICAgIG1SZXNvbHZl
SW1hZ2UtPm9uV3JpdGUobUxldmVsSW5kZXhHTCwgMSwgbUxheWVySW5kZXgsIGZyYW1lYnVmZmVy
TGF5ZXJDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19JTUFHRV9BU1BF
Q1RfQ09MT1JfQklUKTsKLSAgICB9CisgICAgY29udGV4dFZrLT5vbkNvbG9yRHJhdyhtTGV2ZWxJ
bmRleEdMLCBtTGF5ZXJJbmRleCwgZnJhbWVidWZmZXJMYXllckNvdW50LCBtSW1hZ2UsIG1SZXNv
bHZlSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrZWRBdHRhY2htZW50SW5k
ZXgpOworCisgICAgLy8gTXVsdGlzYW1wbGVkIHJlbmRlciB0byB0ZXh0dXJlIGZyYW1lYnVmZmVy
cyBjYW5ub3QgYmUgbGF5ZXJlZC4KKyAgICBBU1NFUlQobVJlc29sdmVJbWFnZSA9PSBudWxscHRy
IHx8IGZyYW1lYnVmZmVyTGF5ZXJDb3VudCA9PSAxKTsKIH0KIAogdm9pZCBSZW5kZXJUYXJnZXRW
azo6b25Db2xvclJlc29sdmUoQ29udGV4dFZrICpjb250ZXh0VmssIHVpbnQzMl90IGZyYW1lYnVm
ZmVyTGF5ZXJDb3VudCkKQEAgLTM0OSwyOCArMzQ0LDIwIEBAIGJvb2wgUmVuZGVyVGFyZ2V0Vms6
Omhhc0RlZmluZWRTdGVuY2lsQ29udGVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGltYWdlLT5oYXNT
dWJyZXNvdXJjZURlZmluZWRTdGVuY2lsQ29udGVudChtTGV2ZWxJbmRleEdMLCBtTGF5ZXJJbmRl
eCwgbUxheWVyQ291bnQpOwogfQogCi12b2lkIFJlbmRlclRhcmdldFZrOjppbnZhbGlkYXRlRW50
aXJlQ29udGVudChDb250ZXh0VmsgKmNvbnRleHRWaykKLXsKLSAgICB2azo6SW1hZ2VIZWxwZXIg
KmltYWdlID0gZ2V0T3duZXJPZkRhdGEoKTsKLSAgICBpbWFnZS0+aW52YWxpZGF0ZVN1YnJlc291
cmNlQ29udGVudChjb250ZXh0VmssIG1MZXZlbEluZGV4R0wsIG1MYXllckluZGV4LCBtTGF5ZXJD
b3VudCk7Ci19Ci0KLXZvaWQgUmVuZGVyVGFyZ2V0Vms6OmludmFsaWRhdGVFbnRpcmVTdGVuY2ls
Q29udGVudChDb250ZXh0VmsgKmNvbnRleHRWaykKLXsKLSAgICB2azo6SW1hZ2VIZWxwZXIgKmlt
YWdlID0gZ2V0T3duZXJPZkRhdGEoKTsKLSAgICBpbWFnZS0+aW52YWxpZGF0ZVN1YnJlc291cmNl
U3RlbmNpbENvbnRlbnQoY29udGV4dFZrLCBtTGV2ZWxJbmRleEdMLCBtTGF5ZXJJbmRleCwgbUxh
eWVyQ291bnQpOwotfQotCi12b2lkIFJlbmRlclRhcmdldFZrOjpyZXN0b3JlRW50aXJlQ29udGVu
dCgpCit2b2lkIFJlbmRlclRhcmdldFZrOjppbnZhbGlkYXRlRW50aXJlQ29udGVudChDb250ZXh0
VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgKnByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5lZE91dCkKIHsKICAgICB2azo6SW1h
Z2VIZWxwZXIgKmltYWdlID0gZ2V0T3duZXJPZkRhdGEoKTsKLSAgICBpbWFnZS0+cmVzdG9yZVN1
YnJlc291cmNlQ29udGVudChtTGV2ZWxJbmRleEdMLCBtTGF5ZXJJbmRleCwgbUxheWVyQ291bnQp
OworICAgIGltYWdlLT5pbnZhbGlkYXRlU3VicmVzb3VyY2VDb250ZW50KGNvbnRleHRWaywgbUxl
dmVsSW5kZXhHTCwgbUxheWVySW5kZXgsIG1MYXllckNvdW50LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5lZE91dCk7CiB9
CiAKLXZvaWQgUmVuZGVyVGFyZ2V0Vms6OnJlc3RvcmVFbnRpcmVTdGVuY2lsQ29udGVudCgpCit2
b2lkIFJlbmRlclRhcmdldFZrOjppbnZhbGlkYXRlRW50aXJlU3RlbmNpbENvbnRlbnQoQ29udGV4
dFZrICpjb250ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkT3V0KQogewogICAg
IHZrOjpJbWFnZUhlbHBlciAqaW1hZ2UgPSBnZXRPd25lck9mRGF0YSgpOwotICAgIGltYWdlLT5y
ZXN0b3JlU3VicmVzb3VyY2VTdGVuY2lsQ29udGVudChtTGV2ZWxJbmRleEdMLCBtTGF5ZXJJbmRl
eCwgbUxheWVyQ291bnQpOworICAgIGltYWdlLT5pbnZhbGlkYXRlU3VicmVzb3VyY2VTdGVuY2ls
Q29udGVudChjb250ZXh0VmssIG1MZXZlbEluZGV4R0wsIG1MYXllckluZGV4LCBtTGF5ZXJDb3Vu
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmVy
VG9LZWVwQ29udGVudHNEZWZpbmVkT3V0KTsKIH0KIAogZ2w6OkltYWdlSW5kZXggUmVuZGVyVGFy
Z2V0Vms6OmdldEltYWdlSW5kZXhGb3JDbGVhcih1aW50MzJfdCBsYXllckNvdW50KSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi9SZW5kZXJUYXJnZXRWay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZW5kZXJUYXJnZXRWay5oCmluZGV4IDA4NmFmYmExYzZk
ZjI4NDE0MGZlMmNhNzBlZWQ0YmM4NTk1MWI5MDkuLmM3YjIyZjU0MTY5M2QwYjg0YzAzYjk2NTNj
N2NjZTczM2Y5NDk0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyVGFyZ2V0VmsuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlclRhcmdldFZr
LmgKQEAgLTEyMSwxMSArMTIxLDExIEBAIGNsYXNzIFJlbmRlclRhcmdldFZrIGZpbmFsIDogcHVi
bGljIEZyYW1lYnVmZmVyQXR0YWNobWVudFJlbmRlclRhcmdldAogICAgIGJvb2wgaGFzRGVmaW5l
ZENvbnRlbnQoKSBjb25zdDsKICAgICBib29sIGhhc0RlZmluZWRTdGVuY2lsQ29udGVudCgpIGNv
bnN0OwogICAgIC8vIE1hcmsgY29udGVudCBhcyB1bmRlZmluZWQgc28gdGhhdCBjZXJ0YWluIG9w
dGltaXphdGlvbnMgYXJlIHBvc3NpYmxlIHN1Y2ggYXMgdXNpbmcgRE9OVF9DQVJFCi0gICAgLy8g
YXMgbG9hZE9wIG9mIHRoZSByZW5kZXIgdGFyZ2V0IGluIHRoZSBuZXh0IHJlbmRlcnBhc3MuCi0g
ICAgdm9pZCBpbnZhbGlkYXRlRW50aXJlQ29udGVudChDb250ZXh0VmsgKmNvbnRleHRWayk7Ci0g
ICAgdm9pZCBpbnZhbGlkYXRlRW50aXJlU3RlbmNpbENvbnRlbnQoQ29udGV4dFZrICpjb250ZXh0
VmspOwotICAgIHZvaWQgcmVzdG9yZUVudGlyZUNvbnRlbnQoKTsKLSAgICB2b2lkIHJlc3RvcmVF
bnRpcmVTdGVuY2lsQ29udGVudCgpOworICAgIC8vIGFzIGxvYWRPcCBvZiB0aGUgcmVuZGVyIHRh
cmdldCBpbiB0aGUgbmV4dCByZW5kZXJwYXNzLiAgSWYgfHByZWZlclRvS2VlcENvbnRlbnRzRGVm
aW5lZE91dHwKKyAgICAvLyBpcyBzZXQgdG8gdHJ1ZSwgaXQncyBwcmVmZXJyZWQgdG8gaWdub3Jl
IHRoZSBpbnZhbGlkYXRpb24gZHVlIHRvIGltYWdlIGZvcm1hdCBhbmQgZGV2aWNlCisgICAgLy8g
YXJjaGl0ZWN0dXJlIHByb3BlcnRpZXMuCisgICAgdm9pZCBpbnZhbGlkYXRlRW50aXJlQ29udGVu
dChDb250ZXh0VmsgKmNvbnRleHRWaywgYm9vbCAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVk
T3V0KTsKKyAgICB2b2lkIGludmFsaWRhdGVFbnRpcmVTdGVuY2lsQ29udGVudChDb250ZXh0Vmsg
KmNvbnRleHRWaywgYm9vbCAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkT3V0KTsKIAogICAg
IC8vIFNlZSB0aGUgZGVzY3JpcHRpb24gb2YgbVRyYW5zaWVuY2UgZm9yIGRldGFpbHMgb2YgaG93
IHRoZSBmb2xsb3dpbmcgdHdvIGNhbiBpbnRlcmFjdC4KICAgICBib29sIGhhc1Jlc29sdmVBdHRh
Y2htZW50KCkgY29uc3QgeyByZXR1cm4gbVJlc29sdmVJbWFnZSAhPSBudWxscHRyICYmICFpc0Vu
dGlyZWx5VHJhbnNpZW50KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5jcHAgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1JlbmRlcmVyVmsuY3Bw
CmluZGV4IDVjZjUyNjBmMWQzNmJkODdmMmE3ODBjYzM2MGI4YTEyYTJhOTY5ZDMuLmRlZDQ4NzQx
ZWVkMWQzYjY5NTlmYTNkNjA0NDNkOTE4MWM0NDkyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5jcHAK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGth
bi9SZW5kZXJlclZrLmNwcApAQCAtMTEzMCw3ICsxMTMwLDggQEAgUmVuZGVyZXJWazo6UmVuZGVy
ZXJWaygpCiAgICAgICBtUGlwZWxpbmVDYWNoZUluaXRpYWxpemVkKGZhbHNlKSwKICAgICAgIG1W
YWxpZGF0aW9uTWVzc2FnZUNvdW50KDApLAogICAgICAgbUNvbW1hbmRQcm9jZXNzb3IodGhpcyks
Ci0gICAgICBtU3VwcG9ydGVkVnVsa2FuUGlwZWxpbmVTdGFnZU1hc2soMCkKKyAgICAgIG1TdXBw
b3J0ZWRWdWxrYW5QaXBlbGluZVN0YWdlTWFzaygwKSwKKyAgICAgIG1MYXN0UHJ1bmVUaW1lKGFu
Z2xlOjpHZXRDdXJyZW50U3lzdGVtVGltZSgpKQogewogICAgIFZrRm9ybWF0UHJvcGVydGllcyBp
bnZhbGlkID0gezAsIDAsIGtJbnZhbGlkRm9ybWF0RmVhdHVyZUZsYWdzfTsKICAgICBtRm9ybWF0
UHJvcGVydGllcy5maWxsKGludmFsaWQpOwpAQCAtMTE3MCw4ICsxMTcxLDM2IEBAIHZvaWQgUmVu
ZGVyZXJWazo6cmVsZWFzZVNoYXJlZFJlc291cmNlcyh2azo6UmVzb3VyY2VVc2VMaXN0ICpyZXNv
dXJjZUxpc3QpCiAKIHZvaWQgUmVuZGVyZXJWazo6b25EZXN0cm95KHZrOjpDb250ZXh0ICpjb250
ZXh0KQogeworICAgIC8vIE1ha2Ugc3VyZSBkZXZpY2UgbG9zcyBpcyBoYW5kbGVkLCBkZXNwaXRl
IHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbnMuICBEZXZpY2UgbG9zcyBpcyBvbmx5CisgICAgLy8g
cHJvY2VzZWQgdW5kZXIgdGhlIG1Db21tYW5kUXVldWVNdXRleCBsb2NrLCBidXQgaXQgbWF5IGJl
IGdlbmVyYXRlZCBmcm9tIGFueSBWdWxrYW4gY29tbWFuZC4KKyAgICAvLyBGb3IgZXhhbXBsZToK
KyAgICAvLworICAgIC8vIC0gVGhyZWFkIEEgbWF5IHByb2NlZWQgd2l0aG91dCBhIGRldmljZSBs
b3NzLCBidXQgYmUgYXQgflNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgYmVmb3JlCisgICAgLy8gICB1
bmxvY2tpbmcgdGhlIG11dGV4LgorICAgIC8vIC0gVGhyZWFkIEIgbWF5IGdlbmVyYXRlIGEgZGV2
aWNlIGxvc3MsIGJ1dCBjYW5ub3QgdGFrZSB0aGUgbG9jayBpbiBoYW5kbGVEZXZpY2VMb3N0Lgor
ICAgIC8vCisgICAgLy8gSW4gdGhlIGFib3ZlIHNjZW5hcmlvLCBuZWl0aGVyIHRocmVhZCBoYW5k
bGVzIGRldmljZSBsb3NzLiAgSWYgdGhlIGFwcGxpY2F0aW9uIGRlc3Ryb3lzIHRoZQorICAgIC8v
IGRpc3BsYXkgYXQgdGhpcyBtb21lbnQsIGRldmljZSBsb3NzIG5lZWRzIHRvIGJlIGhhbmRsZWQu
CisgICAgaWYgKGlzRGV2aWNlTG9zdCgpKQorICAgIHsKKyAgICAgICAgaGFuZGxlRGV2aWNlTG9z
dCgpOworICAgIH0KKworICAgIGZvciAoc3RkOjp1bmlxdWVfcHRyPHZrOjpCdWZmZXJQb29sPiAm
cG9vbCA6IG1EZWZhdWx0QnVmZmVyUG9vbHMpCisgICAgeworICAgICAgICBpZiAocG9vbCkKKyAg
ICAgICAgeworICAgICAgICAgICAgcG9vbC0+ZGVzdHJveSh0aGlzKTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIGlmIChtU21hbGxCdWZmZXJQb29sKQorICAgIHsKKyAgICAgICAgbVNtYWxsQnVm
ZmVyUG9vbC0+ZGVzdHJveSh0aGlzKTsKKyAgICB9CisKICAgICB7Ci0gICAgICAgIHN0ZDo6bG9j
a19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1Db21tYW5kUXVldWVNdXRleCk7CisgICAgICAgIHZr
OjpTY29wZWRDb21tYW5kUXVldWVMb2NrIGxvY2sodGhpcywgbUNvbW1hbmRRdWV1ZU11dGV4KTsK
ICAgICAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVFbmFibGVkKCkpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIG1Db21tYW5kUHJvY2Vzc29yLmRlc3Ryb3koY29udGV4dCk7CkBAIC0xNjI3LDIw
ICsxNjU2LDM4IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6aW5pdGlhbGl6ZShEaXNwbGF5
VmsgKmRpc3BsYXlWaywKIAogICAgIEFOR0xFX1ZLX0NIRUNLKGRpc3BsYXlWaywgbU1lbW9yeVBy
b3BlcnRpZXMuZ2V0TWVtb3J5VHlwZUNvdW50KCkgPiAwLAogICAgICAgICAgICAgICAgICAgIFZL
X0VSUk9SX0lOSVRJQUxJWkFUSU9OX0ZBSUxFRCk7Ci0gICAgLy8gSW5pdGlhbGl6ZSBzdGFnaW5n
IGJ1ZmZlciBtZW1vcnkgdHlwZSBpbmRleCBhbmQgYWxpZ25tZW50LgotICAgIC8vIFRoZXNlIGJ1
ZmZlcnMgd2lsbCBvbmx5IGJlIHVzZWQgYXMgdHJhbnNmZXIgc291cmNlcyBvciB0cmFuc2ZlciB0
YXJnZXRzLgotICAgIGNvbnN0ZXhwciBWa0ltYWdlVXNhZ2VGbGFncyBrVXNhZ2VGbGFncyA9Ci0g
ICAgICAgIFZLX0JVRkZFUl9VU0FHRV9UUkFOU0ZFUl9TUkNfQklUIHwgVktfQlVGRkVSX1VTQUdF
X1RSQU5TRkVSX0RTVF9CSVQ7CiAKKyAgICAvLyBGaWd1cmUgb3V0IHRoZSBhbGlnbm1lbnQgZm9y
IGRlZmF1bHQgYnVmZmVyIGFsbG9jYXRpb25zCiAgICAgVmtCdWZmZXJDcmVhdGVJbmZvIGNyZWF0
ZUluZm8gICAgPSB7fTsKICAgICBjcmVhdGVJbmZvLnNUeXBlICAgICAgICAgICAgICAgICA9IFZL
X1NUUlVDVFVSRV9UWVBFX0JVRkZFUl9DUkVBVEVfSU5GTzsKICAgICBjcmVhdGVJbmZvLmZsYWdz
ICAgICAgICAgICAgICAgICA9IDA7CiAgICAgY3JlYXRlSW5mby5zaXplICAgICAgICAgICAgICAg
ICAgPSA0MDk2OwotICAgIGNyZWF0ZUluZm8udXNhZ2UgICAgICAgICAgICAgICAgID0ga1VzYWdl
RmxhZ3M7CisgICAgY3JlYXRlSW5mby51c2FnZSAgICAgICAgICAgICAgICAgPSBHZXREZWZhdWx0
QnVmZmVyVXNhZ2VGbGFncyh0aGlzKTsKICAgICBjcmVhdGVJbmZvLnNoYXJpbmdNb2RlICAgICAg
ICAgICA9IFZLX1NIQVJJTkdfTU9ERV9FWENMVVNJVkU7CiAgICAgY3JlYXRlSW5mby5xdWV1ZUZh
bWlseUluZGV4Q291bnQgPSAwOwogICAgIGNyZWF0ZUluZm8ucFF1ZXVlRmFtaWx5SW5kaWNlcyAg
ID0gbnVsbHB0cjsKKyAgICB2azo6QnVmZmVyIHRlbXBCdWZmZXI7CisgICAgdGVtcEJ1ZmZlci5p
bml0KG1EZXZpY2UsIGNyZWF0ZUluZm8pOworICAgIFZrTWVtb3J5UmVxdWlyZW1lbnRzIGRlZmF1
bHRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHM7CisgICAgdGVtcEJ1ZmZlci5nZXRNZW1vcnlSZXF1
aXJlbWVudHMobURldmljZSwgJmRlZmF1bHRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMpOworICAg
IEFTU0VSVChnbDo6aXNQb3cyKGRlZmF1bHRCdWZmZXJNZW1vcnlSZXF1aXJlbWVudHMuYWxpZ25t
ZW50KSk7CisKKyAgICBjb25zdCBWa1BoeXNpY2FsRGV2aWNlTGltaXRzICZsaW1pdHNWayA9IGdl
dFBoeXNpY2FsRGV2aWNlUHJvcGVydGllcygpLmxpbWl0czsKKyAgICBBU1NFUlQoZ2w6OmlzUG93
MihsaW1pdHNWay5taW5Vbmlmb3JtQnVmZmVyT2Zmc2V0QWxpZ25tZW50KSk7CisgICAgQVNTRVJU
KGdsOjppc1BvdzIobGltaXRzVmsubWluU3RvcmFnZUJ1ZmZlck9mZnNldEFsaWdubWVudCkpOwor
ICAgIEFTU0VSVChnbDo6aXNQb3cyKGxpbWl0c1ZrLm1pblRleGVsQnVmZmVyT2Zmc2V0QWxpZ25t
ZW50KSk7CisgICAgQVNTRVJUKGdsOjppc1BvdzIobGltaXRzVmsubWluTWVtb3J5TWFwQWxpZ25t
ZW50KSk7CisgICAgbURlZmF1bHRCdWZmZXJBbGlnbm1lbnQgPQorICAgICAgICBzdGQ6Om1heCh7
c3RhdGljX2Nhc3Q8c2l6ZV90PihsaW1pdHNWay5taW5Vbmlmb3JtQnVmZmVyT2Zmc2V0QWxpZ25t
ZW50KSwKKyAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4obGltaXRzVmsubWlu
U3RvcmFnZUJ1ZmZlck9mZnNldEFsaWdubWVudCksCisgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxzaXplX3Q+KGxpbWl0c1ZrLm1pblRleGVsQnVmZmVyT2Zmc2V0QWxpZ25tZW50KSwKKyAg
ICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4obGltaXRzVmsubWluTWVtb3J5TWFw
QWxpZ25tZW50KSwKKyAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4oZGVmYXVs
dEJ1ZmZlck1lbW9yeVJlcXVpcmVtZW50cy5hbGlnbm1lbnQpfSk7CisgICAgdGVtcEJ1ZmZlci5k
ZXN0cm95KG1EZXZpY2UpOwogCisgICAgLy8gSW5pdGlhbGl6ZSBzdGFnaW5nIGJ1ZmZlciBtZW1v
cnkgdHlwZSBpbmRleCBhbmQgYWxpZ25tZW50LgorICAgIC8vIFRoZXNlIGJ1ZmZlcnMgd2lsbCBv
bmx5IGJlIHVzZWQgYXMgdHJhbnNmZXIgc291cmNlcyBvciB0cmFuc2ZlciB0YXJnZXRzLgorICAg
IGNyZWF0ZUluZm8udXNhZ2UgPSBWS19CVUZGRVJfVVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8IFZL
X0JVRkZFUl9VU0FHRV9UUkFOU0ZFUl9EU1RfQklUOwogICAgIFZrTWVtb3J5UHJvcGVydHlGbGFn
cyByZXF1aXJlZEZsYWdzID0gVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQ7CiAg
ICAgYm9vbCBwZXJzaXN0ZW50bHlNYXBwZWQgICAgICAgICAgICAgPSBtRmVhdHVyZXMucGVyc2lz
dGVudGx5TWFwcGVkQnVmZmVycy5lbmFibGVkOwogCkBAIC0xNjg3LDcgKzE3MzQsOCBAQCBhbmds
ZTo6UmVzdWx0IFJlbmRlcmVyVms6OmluaXRpYWxpemUoRGlzcGxheVZrICpkaXNwbGF5VmssCiAg
ICAgbVZlcnRleENvbnZlcnNpb25CdWZmZXJBbGlnbm1lbnQgPSBzdGQ6Om1heCgKICAgICAgICAg
e3ZrOjprVmVydGV4QnVmZmVyQWxpZ25tZW50LAogICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90
PihtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLmxpbWl0cy5taW5TdG9yYWdlQnVmZmVyT2Zmc2V0
QWxpZ25tZW50KSwKLSAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4obVBoeXNpY2FsRGV2aWNl
UHJvcGVydGllcy5saW1pdHMubm9uQ29oZXJlbnRBdG9tU2l6ZSl9KTsKKyAgICAgICAgIHN0YXRp
Y19jYXN0PHNpemVfdD4obVBoeXNpY2FsRGV2aWNlUHJvcGVydGllcy5saW1pdHMubm9uQ29oZXJl
bnRBdG9tU2l6ZSksCisgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KGRlZmF1bHRCdWZmZXJN
ZW1vcnlSZXF1aXJlbWVudHMuYWxpZ25tZW50KX0pOwogICAgIEFTU0VSVChnbDo6aXNQb3cyKG1W
ZXJ0ZXhDb252ZXJzaW9uQnVmZmVyQWxpZ25tZW50KSk7CiAKICAgICB7CkBAIC0yNzkzLDE2ICsy
ODQxLDM2IEBAIHZvaWQgUmVuZGVyZXJWazo6aW5pdEZlYXR1cmVzKERpc3BsYXlWayAqZGlzcGxh
eVZrLAogICAgIGNvbnN0ZXhwciB1aW50MzJfdCBrUGl4ZWwyRHJpdmVyV2l0aFJlbGF4ZWRQcmVj
aXNpb24gICAgICAgID0gMHg4MDFFQTAwMDsKICAgICBjb25zdGV4cHIgdWludDMyX3Qga1BpeGVs
NERyaXZlcldpdGhXb3JraW5nU3BlY0NvbnN0U3VwcG9ydCA9IDB4ODAyMDEwMDA7CiAKLSAgICBi
b29sIGlzQU1EICAgICAgPSBJc0FNRChtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklE
KTsKLSAgICBib29sIGlzQVJNICAgICAgPSBJc0FSTShtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVz
LnZlbmRvcklEKTsKLSAgICBib29sIGlzSW50ZWwgICAgPSBJc0ludGVsKG1QaHlzaWNhbERldmlj
ZVByb3BlcnRpZXMudmVuZG9ySUQpOwotICAgIGJvb2wgaXNOdmlkaWEgICA9IElzTnZpZGlhKG1Q
aHlzaWNhbERldmljZVByb3BlcnRpZXMudmVuZG9ySUQpOwotICAgIGJvb2wgaXNQb3dlclZSICA9
IElzUG93ZXJWUihtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklEKTsKLSAgICBib29s
IGlzUXVhbGNvbW0gPSBJc1F1YWxjb21tKG1QaHlzaWNhbERldmljZVByb3BlcnRpZXMudmVuZG9y
SUQpOwotICAgIGJvb2wgaXNTYW1zdW5nICA9IElzU2Ftc3VuZyhtUGh5c2ljYWxEZXZpY2VQcm9w
ZXJ0aWVzLnZlbmRvcklEKTsKLSAgICBib29sIGlzU3dpZnRTaGFkZXIgPQorICAgIGNvbnN0IGJv
b2wgaXNBTUQgICAgICA9IElzQU1EKG1QaHlzaWNhbERldmljZVByb3BlcnRpZXMudmVuZG9ySUQp
OworICAgIGNvbnN0IGJvb2wgaXNBUk0gICAgICA9IElzQVJNKG1QaHlzaWNhbERldmljZVByb3Bl
cnRpZXMudmVuZG9ySUQpOworICAgIGNvbnN0IGJvb2wgaXNJbnRlbCAgICA9IElzSW50ZWwobVBo
eXNpY2FsRGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCk7CisgICAgY29uc3QgYm9vbCBpc052aWRp
YSAgID0gSXNOdmlkaWEobVBoeXNpY2FsRGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCk7CisgICAg
Y29uc3QgYm9vbCBpc1Bvd2VyVlIgID0gSXNQb3dlclZSKG1QaHlzaWNhbERldmljZVByb3BlcnRp
ZXMudmVuZG9ySUQpOworICAgIGNvbnN0IGJvb2wgaXNRdWFsY29tbSA9IElzUXVhbGNvbW0obVBo
eXNpY2FsRGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCk7CisgICAgY29uc3QgYm9vbCBpc0Jyb2Fk
Y29tID0gSXNCcm9hZGNvbShtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklEKTsKKyAg
ICBjb25zdCBib29sIGlzU2Ftc3VuZyAgPSBJc1NhbXN1bmcobVBoeXNpY2FsRGV2aWNlUHJvcGVy
dGllcy52ZW5kb3JJRCk7CisgICAgY29uc3QgYm9vbCBpc1N3aWZ0U2hhZGVyID0KICAgICAgICAg
SXNTd2lmdHNoYWRlcihtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklELCBtUGh5c2lj
YWxEZXZpY2VQcm9wZXJ0aWVzLmRldmljZUlEKTsKIAorICAgIC8vIENsYXNzaWZ5IGRldmljZXMg
YmFzZWQgb24gZ2VuZXJhbCBhcmNoaXRlY3R1cmU6CisgICAgLy8KKyAgICAvLyAtIElNUiAoSW1t
ZWRpYXRlLU1vZGUgUmVuZGVyaW5nKSBkZXZpY2VzIGdlbmVyYWxseSBwcm9ncmVzcyB0aHJvdWdo
IGRyYXcgY2FsbHMgb25jZSBhbmQgdXNlCisgICAgLy8gICB0aGUgbWFpbiBHUFUgbWVtb3J5IChh
Y2Nlc3NlZCB0aHJvdWdoIGNhY2hlcykgdG8gc3RvcmUgaW50ZXJtZWRpYXRlIHJlbmRlcmluZyBy
ZXN1bHRzLgorICAgIC8vIC0gVEJSIChUaWxlLUJhc2VkIFJlbmRlcmluZykgZGV2aWNlcyBpc3N1
ZSBhIHByZS1yZW5kZXJpbmcgZ2VvbWV0cnkgcGFzcywgdGhlbiBydW4gdGhyb3VnaAorICAgIC8v
ICAgZHJhdyBjYWxscyBvbmNlIHBlciB0aWxlIGFuZCBzdG9yZSBpbnRlcm1lZGlhdGUgcmVuZGVy
aW5nIHJlc3VsdHMgb24gdGhlIHRpbGUgY2FjaGUuCisgICAgLy8KKyAgICAvLyBEdWUgdG8gdGhl
c2Uga2V5IGFyY2hpdGVjdHVyYWwgZGlmZmVyZW5jZXMsIHNvbWUgb3BlcmF0aW9ucyBpbXByb3Zl
IHBlcmZvcm1hbmNlIG9uIG9uZSB3aGlsZQorICAgIC8vIGRldGVyaW9yYXRpbmcgcGVyZm9ybWFu
Y2Ugb24gdGhlIG90aGVyLiAgQU5HTEUgd2lsbCBhY2NvcmRpbmdseSBtYWtlIHNvbWUgZGVjaXNp
b25zIGJhc2VkIG9uCisgICAgLy8gdGhlIGRldmljZSBhcmNoaXRlY3R1cmUgZm9yIG9wdGltYWwg
cGVyZm9ybWFuY2Ugb24gYm90aC4KKyAgICBjb25zdCBib29sIGlzSW1tZWRpYXRlTW9kZVJlbmRl
cmVyID0gaXNOdmlkaWEgfHwgaXNBTUQgfHwgaXNJbnRlbCB8fCBpc1NhbXN1bmcgfHwgaXNTd2lm
dFNoYWRlcjsKKyAgICBjb25zdCBib29sIGlzVGlsZUJhc2VkUmVuZGVyZXIgICAgID0gaXNBUk0g
fHwgaXNQb3dlclZSIHx8IGlzUXVhbGNvbW0gfHwgaXNCcm9hZGNvbTsKKworICAgIC8vIE1ha2Ug
c3VyZSBhbGwga25vd24gYXJjaGl0ZWN0dXJlcyBhcmUgYWNjb3VudGVkIGZvci4KKyAgICBpZiAo
IWlzSW1tZWRpYXRlTW9kZVJlbmRlcmVyICYmICFpc1RpbGVCYXNlZFJlbmRlcmVyICYmICFpc01v
Y2tJQ0RFbmFibGVkKCkpCisgICAgeworICAgICAgICBXQVJOKCkgPDwgIlVua25vd24gR1BVIGFy
Y2hpdGVjdHVyZSI7CisgICAgfQorCiAgICAgYm9vbCBzdXBwb3J0c05lZ2F0aXZlVmlld3BvcnQg
PQogICAgICAgICBFeHRlbnNpb25Gb3VuZChWS19LSFJfTUFJTlRFTkFOQ0UxX0VYVEVOU0lPTl9O
QU1FLCBkZXZpY2VFeHRlbnNpb25OYW1lcykgfHwKICAgICAgICAgbVBoeXNpY2FsRGV2aWNlUHJv
cGVydGllcy5hcGlWZXJzaW9uID49IFZLX0FQSV9WRVJTSU9OXzFfMTsKQEAgLTMwNjksMTQgKzMx
MzcsMTYgQEAgdm9pZCBSZW5kZXJlclZrOjppbml0RmVhdHVyZXMoRGlzcGxheVZrICpkaXNwbGF5
VmssCiAgICAgICAgICAgKG1QaHlzaWNhbERldmljZVByb3BlcnRpZXMuZHJpdmVyVmVyc2lvbiA8
IGtQaXhlbDJEcml2ZXJXaXRoUmVsYXhlZFByZWNpc2lvbikpICYmCiAgICAgICAgICAgICAhSXNQ
aXhlbDQobVBoeXNpY2FsRGV2aWNlUHJvcGVydGllcy52ZW5kb3JJRCwgbVBoeXNpY2FsRGV2aWNl
UHJvcGVydGllcy5kZXZpY2VJRCkpOwogCi0gICAgLy8gVGhlIGZvbGxvd2luZyBwbGF0Zm9ybXMg
YXJlIGxlc3Mgc2Vuc2l0aXZlIHRvIHRoZSBzcmMvZHN0IHN0YWdlIG1hc2tzIGluIGJhcnJpZXJz
LCBhbmQgYmVoYXZlCi0gICAgLy8gbW9yZSBlZmZpY2llbnRseSB3aGVuIGFsbCBiYXJyaWVycyBh
cmUgYWdncmVnYXRlZCwgcmF0aGVyIHRoYW4gaW5kaXZpZHVhbGx5IGFuZCBwcmVjaXNlbHkKLSAg
ICAvLyBzcGVjaWZpZWQ6Ci0gICAgLy8KLSAgICAvLyAtIERlc2t0b3AgR1BVcwotICAgIC8vIC0g
U3dpZnRTaGFkZXIKLSAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTigmbUZlYXR1cmVzLCBwcmVm
ZXJBZ2dyZWdhdGVCYXJyaWVyQ2FsbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNO
dmlkaWEgfHwgaXNBTUQgfHwgaXNJbnRlbCB8fCBpc1N3aWZ0U2hhZGVyIHx8IGlzU2Ftc3VuZyk7
CisgICAgLy8gSU1SIGRldmljZXMgYXJlIGxlc3Mgc2Vuc2l0aXZlIHRvIHRoZSBzcmMvZHN0IHN0
YWdlIG1hc2tzIGluIGJhcnJpZXJzLCBhbmQgYmVoYXZlIG1vcmUKKyAgICAvLyBlZmZpY2llbnRs
eSB3aGVuIGFsbCBiYXJyaWVycyBhcmUgYWdncmVnYXRlZCwgcmF0aGVyIHRoYW4gaW5kaXZpZHVh
bGx5IGFuZCBwcmVjaXNlbHkKKyAgICAvLyBzcGVjaWZpZWQuCisgICAgQU5HTEVfRkVBVFVSRV9D
T05ESVRJT04oJm1GZWF0dXJlcywgcHJlZmVyQWdncmVnYXRlQmFycmllckNhbGxzLCBpc0ltbWVk
aWF0ZU1vZGVSZW5kZXJlcik7CisKKyAgICAvLyBGb3IgSU1SIGRldmljZXMsIGl0J3MgbW9yZSBl
ZmZpY2llbnQgdG8gaWdub3JlIGludmFsaWRhdGUgb2YgZnJhbWVidWZmZXIgYXR0YWNobWVudHMg
d2l0aAorICAgIC8vIGVtdWxhdGVkIGZvcm1hdHMgdGhhdCBoYXZlIGV4dHJhIGNoYW5uZWxzLiAg
Rm9yIFRCUiBkZXZpY2VzLCB0aGUgaW52YWxpZGF0ZSB3aWxsIGJlIGZvbGxvd2VkCisgICAgLy8g
YnkgYSBjbGVhciB0byByZXRhaW4gdmFsaWQgdmFsdWVzIGluIHNhaWQgZXh0cmEgY2hhbm5lbHMu
CisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oJm1GZWF0dXJlcywgcHJlZmVyU2tpcHBpbmdJ
bnZhbGlkYXRlRm9yRW11bGF0ZWRGb3JtYXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlzSW1tZWRpYXRlTW9kZVJlbmRlcmVyKTsKIAogICAgIC8vIEN1cnJlbnRseSBkaXNhYmxlZCBi
eSBkZWZhdWx0OiBodHRwOi8vYW5nbGVidWcuY29tLzQzMjQKICAgICBBTkdMRV9GRUFUVVJFX0NP
TkRJVElPTigmbUZlYXR1cmVzLCBhc3luY0NvbW1hbmRRdWV1ZSwgZmFsc2UpOwpAQCAtMzE3NCw5
ICszMjQ0LDkgQEAgdm9pZCBSZW5kZXJlclZrOjppbml0RmVhdHVyZXMoRGlzcGxheVZrICpkaXNw
bGF5VmssCiAKICAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTigmbUZlYXR1cmVzLCBjb21wcmVz
c1ZlcnRleERhdGEsIGZhbHNlKTsKIAotICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKAotICAg
ICAgICAmbUZlYXR1cmVzLCBwcmVmZXJEcmF3Q2xlYXJPdmVyVmtDbWRDbGVhckF0dGFjaG1lbnRz
LAotICAgICAgICBJc1BpeGVsMihtUGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLnZlbmRvcklELCBt
UGh5c2ljYWxEZXZpY2VQcm9wZXJ0aWVzLmRldmljZUlEKSk7CisgICAgLy8gdmtDbWRDbGVhckF0
dGFjaG1lbnRzIHJhY2VzIHdpdGggZHJhdyBjYWxscyBvbiBRdWFsY29tbSBoYXJkd2FyZSBhcyBv
YnNlcnZlZCBvbiBQaXhlbDIgYW5kCisgICAgLy8gUGl4ZWw0LiAgaHR0cHM6Ly9pc3N1ZXRyYWNr
ZXIuZ29vZ2xlLmNvbS9pc3N1ZXMvMTY2ODA5MDk3CisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJ
T04oJm1GZWF0dXJlcywgcHJlZmVyRHJhd0NsZWFyT3ZlclZrQ21kQ2xlYXJBdHRhY2htZW50cywg
aXNRdWFsY29tbSk7CiAKICAgICAvLyByMzJmIGltYWdlIGVtdWxhdGlvbiBpcyBkb25lIHVuY29u
ZGl0aW9uYWxseSBzbyBWS19GT1JNQVRfRkVBVFVSRV9TVE9SQUdFXypfQVRPTUlDX0JJVCBpcyBu
b3QKICAgICAvLyByZXF1aXJlZC4KQEAgLTMyMTIsMTQgKzMyODIsMTUgQEAgdm9pZCBSZW5kZXJl
clZrOjppbml0RmVhdHVyZXMoRGlzcGxheVZrICpkaXNwbGF5VmssCiAgICAgLy8gaHR0cDovL2Fu
Z2xlYnVnLmNvbS82ODcyCiAgICAgLy8gT24gQVJNIGhhcmR3YXJlLCBmcmFtZWJ1ZmZlci1mZXRj
aC1saWtlIGJlaGF2aW9yIG9uIFZ1bGthbiBpcyBhbHJlYWR5IGNvaGVyZW50LCBzbyB3ZSBjYW4K
ICAgICAvLyBleHBvc2UgdGhlIGNvaGVyZW50IHZlcnNpb24gb2YgdGhlIEdMIGV4dGVuc2lvbiBk
ZXNwaXRlIHVub2ZmaWNpYWwgVnVsa2FuIHN1cHBvcnQuCi0gICAgQU5HTEVfRkVBVFVSRV9DT05E
SVRJT04oJm1GZWF0dXJlcywgc3VwcG9ydHNTaGFkZXJGcmFtZWJ1ZmZlckZldGNoLCBJc0FuZHJv
aWQoKSAmJiBpc0FSTSk7CisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oJm1GZWF0dXJlcywg
c3VwcG9ydHNTaGFkZXJGcmFtZWJ1ZmZlckZldGNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChJc0FuZHJvaWQoKSAmJiBpc0FSTSkgfHwgaXNTd2lmdFNoYWRlcik7CiAKICAgICAvLyBJ
bXBvcnRhbnQgZ2FtZXMgYXJlIG5vdCBjaGVja2luZyBzdXBwb3J0ZWQgZXh0ZW5zaW9ucyBwcm9w
ZXJseSwgYW5kIGFyZSBjb25mdXNpbmcgdGhlCiAgICAgLy8gR0xfRVhUX3NoYWRlcl9mcmFtZWJ1
ZmZlcl9mZXRjaF9ub25fY29oZXJlbnQgYXMgdGhlIEdMX0VYVF9zaGFkZXJfZnJhbWVidWZmZXJf
ZmV0Y2gKICAgICAvLyBleHRlbnNpb24uICBUaGVyZWZvcmUsIGRvbid0IGVuYWJsZSB0aGUgZXh0
ZW5zaW9uIG9uIEFybSBhbmQgUXVhbGNvbW0gYnkgZGVmYXVsdC4KICAgICAvLyBodHRwczovL2lz
c3VldHJhY2tlci5nb29nbGUuY29tL2lzc3Vlcy8xODY2NDM5NjYKICAgICBBTkdMRV9GRUFUVVJF
X0NPTkRJVElPTigmbUZlYXR1cmVzLCBzdXBwb3J0c1NoYWRlckZyYW1lYnVmZmVyRmV0Y2hOb25D
b2hlcmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc0FuZHJvaWQoKSAmJiAhKGlz
QVJNIHx8IGlzUXVhbGNvbW0pKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSXNBbmRy
b2lkKCkgJiYgIShpc0FSTSB8fCBpc1F1YWxjb21tKSkgfHwgaXNTd2lmdFNoYWRlcik7CiAKICAg
ICAvLyBTdXBwb3J0IEVHTF9LSFJfbG9ja19zdXJmYWNlMyBleHRlbnNpb24uCiAgICAgQU5HTEVf
RkVBVFVSRV9DT05ESVRJT04oJm1GZWF0dXJlcywgc3VwcG9ydHNMb2NrU3VyZmFjZUV4dGVuc2lv
biwgSXNBbmRyb2lkKCkpOwpAQCAtMzUxOSw3ICszNTkwLDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5k
ZXJlclZrOjpxdWV1ZVN1Ym1pdE9uZU9mZih2azo6Q29udGV4dCAqY29udGV4dCwKIHsKICAgICBB
TkdMRV9UUkFDRV9FVkVOVDAoImdwdS5hbmdsZSIsICJSZW5kZXJlclZrOjpxdWV1ZVN1Ym1pdE9u
ZU9mZiIpOwogCi0gICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGNvbW1hbmRRdWV1ZUxv
Y2sobUNvbW1hbmRRdWV1ZU11dGV4KTsKKyAgICB2azo6U2NvcGVkQ29tbWFuZFF1ZXVlTG9jayBs
b2NrKHRoaXMsIG1Db21tYW5kUXVldWVNdXRleCk7CiAKICAgICBTZXJpYWwgc3VibWl0UXVldWVT
ZXJpYWw7CiAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVFbmFibGVkKCkpCkBAIC0zODI2LDcg
KzM4OTcsNyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6OnN1Ym1pdEZyYW1lKHZrOjpDb250
ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6
U2Vjb25kYXJ5Q29tbWFuZFBvb2xzICpjb21tYW5kUG9vbHMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNlcmlhbCAqc3VibWl0U2VyaWFsT3V0KQogewotICAgIHN0ZDo6
bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBjb21tYW5kUXVldWVMb2NrKG1Db21tYW5kUXVldWVNdXRl
eCk7CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlzLCBtQ29tbWFuZFF1
ZXVlTXV0ZXgpOwogCiAgICAgdms6OlNlY29uZGFyeUNvbW1hbmRCdWZmZXJMaXN0IGNvbW1hbmRC
dWZmZXJzVG9SZXNldCA9IHsKICAgICAgICAgc3RkOjptb3ZlKG1PdXRzaWRlUmVuZGVyUGFzc0Nv
bW1hbmRCdWZmZXJSZWN5Y2xlci5yZWxlYXNlQ29tbWFuZEJ1ZmZlcnNUb1Jlc2V0KCkpLApAQCAt
Mzg2MCw3ICszOTMxLDIwIEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJWazo6c3VibWl0RnJhbWUo
dms6OkNvbnRleHQgKmNvbnRleHQsCiAKIHZvaWQgUmVuZGVyZXJWazo6aGFuZGxlRGV2aWNlTG9z
dCgpCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobUNvbW1hbmRRdWV1
ZU11dGV4KTsKKyAgICAvLyBJZiB0aGUgbG9jayBpcyBhbHJlYWR5IHRha2VuLCBpdCBtdXN0IGJl
IHRha2VuIGJ5IFNjb3BlZENvbW1hbmRRdWV1ZUxvY2ssIHdoaWNoIHdvdWxkIGNhbGwKKyAgICAv
LyBoYW5kbGVEZXZpY2VMb3N0Tm9Mb2NrIHdoZW4gYXBwcm9wcmlhdGUuCisgICAgaWYgKCFtQ29t
bWFuZFF1ZXVlTXV0ZXgudHJ5X2xvY2soKSkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgaGFuZGxlRGV2aWNlTG9zdE5vTG9jaygpOworICAgIG1Db21tYW5kUXVldWVNdXRleC51
bmxvY2soKTsKK30KKwordm9pZCBSZW5kZXJlclZrOjpoYW5kbGVEZXZpY2VMb3N0Tm9Mb2NrKCkK
K3sKKyAgICAvLyBUaGUgbG9jayBtdXN0IGFscmVhZHkgYmUgdGFrZW4sIGVpdGhlciBieSBoYW5k
bGVEZXZpY2VMb3N0KCkgb3IgU2NvcGVkQ29tbWFuZFF1ZXVlTG9jaworICAgIEFTU0VSVChtQ29t
bWFuZFF1ZXVlTXV0ZXgudHJ5X2xvY2soKSA9PSBmYWxzZSk7CiAKICAgICBpZiAoaXNBc3luY0Nv
bW1hbmRRdWV1ZUVuYWJsZWQoKSkKICAgICB7CkBAIC0zODc0LDcgKzM5NTgsNyBAQCB2b2lkIFJl
bmRlcmVyVms6OmhhbmRsZURldmljZUxvc3QoKQogCiBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6
OmZpbmlzaFRvU2VyaWFsKHZrOjpDb250ZXh0ICpjb250ZXh0LCBTZXJpYWwgc2VyaWFsKQogewot
ICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1Db21tYW5kUXVldWVNdXRleCk7
CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlzLCBtQ29tbWFuZFF1ZXVl
TXV0ZXgpOwogCiAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVFbmFibGVkKCkpCiAgICAgewpA
QCAtMzg5NSw3ICszOTc5LDggQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjp3YWl0Rm9yU2Vy
aWFsV2l0aFVzZXJUaW1lb3V0KHZrOjpDb250ZXh0ICpjb250ZXh0LAogewogICAgIEFOR0xFX1RS
QUNFX0VWRU5UMCgiZ3B1LmFuZ2xlIiwgIlJlbmRlcmVyVms6OndhaXRGb3JTZXJpYWxXaXRoVXNl
clRpbWVvdXQiKTsKIAotICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1Db21t
YW5kUXVldWVNdXRleCk7CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlz
LCBtQ29tbWFuZFF1ZXVlTXV0ZXgpOworCiAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVFbmFi
bGVkKCkpCiAgICAgewogICAgICAgICBBTkdMRV9UUlkobUNvbW1hbmRQcm9jZXNzb3Iud2FpdEZv
clNlcmlhbFdpdGhVc2VyVGltZW91dChjb250ZXh0LCBzZXJpYWwsIHRpbWVvdXQsIHJlc3VsdCkp
OwpAQCAtMzkxMCw3ICszOTk1LDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjp3YWl0Rm9y
U2VyaWFsV2l0aFVzZXJUaW1lb3V0KHZrOjpDb250ZXh0ICpjb250ZXh0LAogCiBhbmdsZTo6UmVz
dWx0IFJlbmRlcmVyVms6OmZpbmlzaCh2azo6Q29udGV4dCAqY29udGV4dCwgYm9vbCBoYXNQcm90
ZWN0ZWRDb250ZW50KQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1D
b21tYW5kUXVldWVNdXRleCk7CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0
aGlzLCBtQ29tbWFuZFF1ZXVlTXV0ZXgpOwogCiAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVF
bmFibGVkKCkpCiAgICAgewpAQCAtMzkyNiw3ICs0MDExLDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5k
ZXJlclZrOjpmaW5pc2godms6OkNvbnRleHQgKmNvbnRleHQsIGJvb2wgaGFzUHJvdGVjdGVkQ29u
dGVudCkKIAogYW5nbGU6OlJlc3VsdCBSZW5kZXJlclZrOjpjaGVja0NvbXBsZXRlZENvbW1hbmRz
KHZrOjpDb250ZXh0ICpjb250ZXh0KQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4
PiBsb2NrKG1Db21tYW5kUXVldWVNdXRleCk7CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxv
Y2sgbG9jayh0aGlzLCBtQ29tbWFuZFF1ZXVlTXV0ZXgpOwogICAgIC8vIFRPRE86IGh0dHBzOi8v
aXNzdWV0cmFja2VyLmdvb2dsZS5jb20vMTY5Nzg4OTg2IC0gd291bGQgYmUgYmV0dGVyIGlmIHdl
IGNvdWxkIGp1c3Qgd2FpdAogICAgIC8vIGZvciB0aGUgd29yayB3ZSBuZWVkIGJ1dCB0aGF0IHJl
cXVpcmVzIFF1ZXJ5SGVscGVyIHRvIHVzZSB0aGUgYWN0dWFsIHNlcmlhbCBmb3IgdGhlCiAgICAg
Ly8gcXVlcnkuCkBAIC0zOTUwLDcgKzQwMzUsNyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyVms6
OmZsdXNoUmVuZGVyUGFzc0NvbW1hbmRzKAogewogICAgIEFOR0xFX1RSQUNFX0VWRU5UMCgiZ3B1
LmFuZ2xlIiwgIlJlbmRlcmVyVms6OmZsdXNoUmVuZGVyUGFzc0NvbW1hbmRzIik7CiAKLSAgICBz
dGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtQ29tbWFuZFF1ZXVlTXV0ZXgpOworICAg
IHZrOjpTY29wZWRDb21tYW5kUXVldWVMb2NrIGxvY2sodGhpcywgbUNvbW1hbmRRdWV1ZU11dGV4
KTsKICAgICBpZiAoaXNBc3luY0NvbW1hbmRRdWV1ZUVuYWJsZWQoKSkKICAgICB7CiAgICAgICAg
IEFOR0xFX1RSWShtQ29tbWFuZFByb2Nlc3Nvci5mbHVzaFJlbmRlclBhc3NDb21tYW5kcyhjb250
ZXh0LCBoYXNQcm90ZWN0ZWRDb250ZW50LApAQCAtMzk3Miw3ICs0MDU3LDcgQEAgYW5nbGU6OlJl
c3VsdCBSZW5kZXJlclZrOjpmbHVzaE91dHNpZGVSUENvbW1hbmRzKAogewogICAgIEFOR0xFX1RS
QUNFX0VWRU5UMCgiZ3B1LmFuZ2xlIiwgIlJlbmRlcmVyVms6OmZsdXNoT3V0c2lkZVJQQ29tbWFu
ZHMiKTsKIAotICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1Db21tYW5kUXVl
dWVNdXRleCk7CisgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlzLCBtQ29t
bWFuZFF1ZXVlTXV0ZXgpOwogICAgIGlmIChpc0FzeW5jQ29tbWFuZFF1ZXVlRW5hYmxlZCgpKQog
ICAgIHsKICAgICAgICAgQU5HTEVfVFJZKG1Db21tYW5kUHJvY2Vzc29yLmZsdXNoT3V0c2lkZVJQ
Q29tbWFuZHMoY29udGV4dCwgaGFzUHJvdGVjdGVkQ29udGVudCwKQEAgLTM5OTEsNyArNDA3Niw3
IEBAIFZrUmVzdWx0IFJlbmRlcmVyVms6OnF1ZXVlUHJlc2VudCh2azo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZ2w6OkNvbnRleHRQcmlvcml0
eSBwcmlvcml0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa1By
ZXNlbnRJbmZvS0hSICZwcmVzZW50SW5mbykKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjpt
dXRleD4gbG9jayhtQ29tbWFuZFF1ZXVlTXV0ZXgpOworICAgIHZrOjpTY29wZWRDb21tYW5kUXVl
dWVMb2NrIGxvY2sodGhpcywgbUNvbW1hbmRRdWV1ZU11dGV4KTsKIAogICAgIFZrUmVzdWx0IHJl
c3VsdCA9IFZLX1NVQ0NFU1M7CiAgICAgaWYgKGlzQXN5bmNDb21tYW5kUXVldWVFbmFibGVkKCkp
CkBAIC00MTQ5LDYgKzQyMzQsMjQgQEAgVmtEZXZpY2VTaXplIFJlbmRlcmVyVms6OmdldFByZWZl
cmVkQnVmZmVyQmxvY2tTaXplKHVpbnQzMl90IG1lbW9yeVR5cGVJbmRleCkgY28KICAgICByZXR1
cm4gcHJlZmVycmVkQmxvY2tTaXplOwogfQogCit2azo6QnVmZmVyUG9vbCAqUmVuZGVyZXJWazo6
Z2V0RGVmYXVsdEJ1ZmZlclBvb2woVmtEZXZpY2VTaXplIHNpemUsIHVpbnQzMl90IG1lbW9yeVR5
cGVJbmRleCkKK3sKKyAgICByZXR1cm4gdms6OkdldERlZmF1bHRCdWZmZXJQb29sKG1TbWFsbEJ1
ZmZlclBvb2wsIG1EZWZhdWx0QnVmZmVyUG9vbHMsIHRoaXMsIHNpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlUeXBlSW5kZXgpOworfQorCit2b2lkIFJlbmRl
cmVyVms6OnBydW5lRGVmYXVsdEJ1ZmZlclBvb2xzKCkKK3sKKyAgICBtTGFzdFBydW5lVGltZSA9
IGFuZ2xlOjpHZXRDdXJyZW50U3lzdGVtVGltZSgpOworCisgICAgdms6OlBydW5lRGVmYXVsdEJ1
ZmZlclBvb2xzKHRoaXMsIG1EZWZhdWx0QnVmZmVyUG9vbHMsIG1TbWFsbEJ1ZmZlclBvb2wpOwor
fQorCitib29sIFJlbmRlcmVyVms6OmlzRHVlRm9yQnVmZmVyUG9vbFBydW5lKCkKK3sKKyAgICBy
ZXR1cm4gdms6OklzRHVlRm9yQnVmZmVyUG9vbFBydW5lKG1MYXN0UHJ1bmVUaW1lKTsKK30KKwog
bmFtZXNwYWNlIHZrCiB7CiBNZW1vcnlSZXBvcnQ6Ok1lbW9yeVJlcG9ydCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Jl
bmRlcmVyVmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci92dWxrYW4vUmVuZGVyZXJWay5oCmluZGV4IDQxNzRiNmU2ZjczNmQzMDE1YzBiOWI3NDliNmM5
YTI3ZmRhMzNiZTkuLjIwN2I3YjlkMmZiYzcyM2ZkYzhlZmQwOTVlNjQ0NDNmM2JjYWRmOTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vUmVuZGVyZXJWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5oCkBAIC0zMjQsMTcgKzMyNCwxOSBAQCBj
bGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgfQogCiAgICAgdm9pZCBj
b2xsZWN0U3ViYWxsb2NhdGlvbkdhcmJhZ2Uodms6OlNoYXJlZFJlc291cmNlVXNlICYmdXNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJTdWJhbGxvY2F0
aW9uICYmc3ViYWxsb2NhdGlvbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2azo6QnVmZmVyU3ViYWxsb2NhdGlvbiAmJnN1YmFsbG9jYXRpb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdms6OkJ1ZmZlciAmJmJ1ZmZlcikKICAgICB7CiAgICAg
ICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1HYXJiYWdlTXV0ZXgpOwogICAg
ICAgICBpZiAodXNlLnVzZWRJblJlY29yZGVkQ29tbWFuZHMoKSkKICAgICAgICAgewotICAgICAg
ICAgICAgbVBlbmRpbmdTdWJtaXNzaW9uU3ViYWxsb2NhdGlvbkdhcmJhZ2UuZW1wbGFjZShzdGQ6
Om1vdmUodXNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RkOjptb3ZlKHN1YmFsbG9jYXRpb24pKTsKKyAgICAgICAgICAgIG1Q
ZW5kaW5nU3VibWlzc2lvblN1YmFsbG9jYXRpb25HYXJiYWdlLmVtcGxhY2Uoc3RkOjptb3ZlKHVz
ZSksIHN0ZDo6bW92ZShzdWJhbGxvY2F0aW9uKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKGJ1ZmZlcikpOwogICAg
ICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgbVN1YmFsbG9jYXRp
b25HYXJiYWdlLmVtcGxhY2Uoc3RkOjptb3ZlKHVzZSksIHN0ZDo6bW92ZShzdWJhbGxvY2F0aW9u
KSk7CisgICAgICAgICAgICBtU3ViYWxsb2NhdGlvbkdhcmJhZ2UuZW1wbGFjZShzdGQ6Om1vdmUo
dXNlKSwgc3RkOjptb3ZlKHN1YmFsbG9jYXRpb24pLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKGJ1ZmZlcikpOwogICAgICAgICB9CiAgICAgfQog
CkBAIC0zNjEsMTQgKzM2MywxNCBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7Ci0gICAgICAgICAgICBzdGQ6
OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtQ29tbWFuZFF1ZXVlTXV0ZXgpOworICAgICAg
ICAgICAgdms6OlNjb3BlZENvbW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlzLCBtQ29tbWFuZFF1ZXVl
TXV0ZXgpOwogICAgICAgICAgICAgcmV0dXJuIG1Db21tYW5kUXVldWUuZ2V0TGFzdENvbXBsZXRl
ZFF1ZXVlU2VyaWFsKCk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBBTkdMRV9JTkxJTkUgYm9v
bCBpc0NvbW1hbmRRdWV1ZUJ1c3koKQogICAgIHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0
ZDo6bXV0ZXg+IGxvY2sobUNvbW1hbmRRdWV1ZU11dGV4KTsKKyAgICAgICAgdms6OlNjb3BlZENv
bW1hbmRRdWV1ZUxvY2sgbG9jayh0aGlzLCBtQ29tbWFuZFF1ZXVlTXV0ZXgpOwogICAgICAgICBp
ZiAoaXNBc3luY0NvbW1hbmRRdWV1ZUVuYWJsZWQoKSkKICAgICAgICAgewogICAgICAgICAgICAg
cmV0dXJuIG1Db21tYW5kUHJvY2Vzc29yLmlzQnVzeSgpOwpAQCAtNDMxLDcgKzQzMywxNSBAQCBj
bGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2azo6U2Vjb25kYXJ5Q29tbWFuZFBvb2xzICpjb21tYW5kUG9vbHMsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWwgKnN1Ym1pdFNlcmlhbE91dCk7CiAKKyAg
ICAvLyBXaGVuIHRoZSBkZXZpY2UgaXMgbG9zdCwgdGhlIGNvbW1hbmRzIHF1ZXVlIGlzIGNsZWFu
ZWQgdXAuICBUaGlzIHNob3VsZG4ndCBiZSBkb25lCisgICAgLy8gaW1tZWRpYXRlbHkgaWYgdGhl
IGRldmljZSBsb3NzIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBjb21tYW5kIHF1ZXVlIGl0c2VsZiAo
ZHVlIHRvIG11dHVhbAorICAgIC8vIGV4Y2x1c2lvbiByZXF1aXJlbWVudHMpLgorICAgIC8vCisg
ICAgLy8gLSBoYW5kbGVEZXZpY2VMb3N0KCkgZGVmZXJzIGRldmljZSBsb3NzIGhhbmRsaW5nIGlm
IHRoZSBtdXRleCBpcyBhbHJlYWR5IHRha2VuCisgICAgLy8gLSBTY29wZWRDb21tYW5kUXVldWVM
b2NrIGhhbmRsZXMgZGV2aWNlIGxvc3MgYXQgdGhlIGVuZCBvZiB0aGUgc2NvcGUgKGkuZS4gd2hl
biB0aGUgY29tbWFuZAorICAgIC8vICAgcXVldWUgb3BlcmF0aW9uIGlzIGZpbmlzaGVkKSBieSBj
YWxsaW5nIGhhbmRsZURldmljZUxvc3ROb0xvY2soKSBiZWZvcmUgcmVsZWFzaW5nIHRoZSBsb2Nr
LgogICAgIHZvaWQgaGFuZGxlRGV2aWNlTG9zdCgpOworICAgIHZvaWQgaGFuZGxlRGV2aWNlTG9z
dE5vTG9jaygpOwogICAgIGFuZ2xlOjpSZXN1bHQgZmluaXNoVG9TZXJpYWwodms6OkNvbnRleHQg
KmNvbnRleHQsIFNlcmlhbCBzZXJpYWwpOwogICAgIGFuZ2xlOjpSZXN1bHQgd2FpdEZvclNlcmlh
bFdpdGhVc2VyVGltZW91dCh2azo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsIHNlcmlhbCwKQEAgLTUxNCw2ICs1
MjQsOCBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgICBWa0Rl
dmljZVNpemUgZ2V0UHJlZmVyZWRCdWZmZXJCbG9ja1NpemUodWludDMyX3QgbWVtb3J5VHlwZUlu
ZGV4KSBjb25zdDsKIAorICAgIHNpemVfdCBnZXREZWZhdWx0QnVmZmVyQWxpZ25tZW50KCkgY29u
c3QgeyByZXR1cm4gbURlZmF1bHRCdWZmZXJBbGlnbm1lbnQ7IH0KKwogICAgIHVpbnQzMl90IGdl
dFN0YWdpbmdCdWZmZXJNZW1vcnlUeXBlSW5kZXgodms6Ok1lbW9yeUNvaGVyZW5jeSBjb2hlcmVu
Y3kpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gY29oZXJlbmN5ID09IHZrOjpNZW1vcnlD
b2hlcmVuY3k6OkNvaGVyZW50CkBAIC01MzUsNiArNTQ3LDExIEBAIGNsYXNzIFJlbmRlcmVyVmsg
OiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICAgICAgcmV0dXJuIG1EZXZpY2VMb2NhbFZlcnRleENv
bnZlcnNpb25CdWZmZXJNZW1vcnlUeXBlSW5kZXg7CiAgICAgfQogCisgICAgdms6OkJ1ZmZlclBv
b2wgKmdldERlZmF1bHRCdWZmZXJQb29sKFZrRGV2aWNlU2l6ZSBzaXplLCB1aW50MzJfdCBtZW1v
cnlUeXBlSW5kZXgpOworCisgICAgdm9pZCBwcnVuZURlZmF1bHRCdWZmZXJQb29scygpOworICAg
IGJvb2wgaXNEdWVGb3JCdWZmZXJQb29sUHJ1bmUoKTsKKwogICBwcml2YXRlOgogICAgIGFuZ2xl
OjpSZXN1bHQgaW5pdGlhbGl6ZURldmljZShEaXNwbGF5VmsgKmRpc3BsYXlWaywgdWludDMyX3Qg
cXVldWVGYW1pbHlJbmRleCk7CiAgICAgdm9pZCBlbnN1cmVDYXBzSW5pdGlhbGl6ZWQoKSBjb25z
dDsKQEAgLTYzNSw2ICs2NTIsOSBAQCBjbGFzcyBSZW5kZXJlclZrIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgdms6Ok1lbW9yeVByb3BlcnRpZXMgbU1lbW9yeVByb3BlcnRpZXM7CiAgICAgdms6
OkZvcm1hdFRhYmxlIG1Gb3JtYXRUYWJsZTsKIAorICAgIC8vIFRoZSBkZWZhdWx0IGFsaWdubWVu
dCBmb3IgQnVmZmVyVmsgb2JqZWN0CisgICAgc2l6ZV90IG1EZWZhdWx0QnVmZmVyQWxpZ25tZW50
OworCiAgICAgLy8gVGhlIGNhY2hlZCBtZW1vcnkgdHlwZSBpbmRleCBmb3Igc3RhZ2luZyBidWZm
ZXIgdGhhdCBpcyBob3N0IHZpc2libGUuCiAgICAgdWludDMyX3QgbUNvaGVyZW50U3RhZ2luZ0J1
ZmZlck1lbW9yeVR5cGVJbmRleDsKICAgICB1aW50MzJfdCBtTm9uQ29oZXJlbnRTdGFnaW5nQnVm
ZmVyTWVtb3J5VHlwZUluZGV4OwpAQCAtNzI5LDYgKzc0OSwxMiBAQCBjbGFzcyBSZW5kZXJlclZr
IDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgICB2azo6RXh0ZW5zaW9uTmFtZUxpc3QgbUVuYWJs
ZWRJbnN0YW5jZUV4dGVuc2lvbnM7CiAgICAgdms6OkV4dGVuc2lvbk5hbWVMaXN0IG1FbmFibGVk
RGV2aWNlRXh0ZW5zaW9uczsKKworICAgIHZrOjpCdWZmZXJQb29sUG9pbnRlckFycmF5IG1EZWZh
dWx0QnVmZmVyUG9vbHM7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8dms6OkJ1ZmZlclBvb2w+IG1T
bWFsbEJ1ZmZlclBvb2w7CisKKyAgICBkb3VibGUgbUxhc3RQcnVuZVRpbWU7CiB9OwogCiB9ICAv
LyBuYW1lc3BhY2UgcngKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVzb3VyY2VWay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1Jlc291cmNlVmsuY3BwCmluZGV4
IGQ2MTY2OGI3YWNjNmVhZDk5MDViMTJkZTBlZjIwZDIzYjMyYmRmZmQuLmY0NDk5MjgyNmRhYTI3
MTkzODYwNzA2YzEzYjA1OGY2ZjhlNGE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVzb3VyY2VWay5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNv
dXJjZVZrLmNwcApAQCAtMTM5LDcgKzEzOSw4IEBAIGJvb2wgU2hhcmVkQnVmZmVyU3ViYWxsb2Nh
dGlvbkdhcmJhZ2U6OmRlc3Ryb3lJZkNvbXBsZXRlKFJlbmRlcmVyVmsgKnJlbmRlcmVyLAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgbUdhcmJhZ2UuZGVzdHJveShyZW5kZXJl
cik7CisgICAgbUJ1ZmZlci5kZXN0cm95KHJlbmRlcmVyLT5nZXREZXZpY2UoKSk7CisgICAgbVN1
YmFsbG9jYXRpb24uZGVzdHJveShyZW5kZXJlcik7CiAgICAgbUxpZmV0aW1lLnJlbGVhc2UoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vUmVzb3VyY2VWay5oIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNvdXJjZVZrLmgKaW5k
ZXggNTQxYTQ2NWU2MWNmNDQ0MGMzNDNkNzY2ZDBlMjNjZjA0YmRkNDcwMS4uMDMyYzAzODkzOGZi
YzQ1MjRjZjU1MjEzNDhjNTk1ZTJkMGFmNzYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNvdXJjZVZrLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9SZXNv
dXJjZVZrLmgKQEAgLTEyNiwxMCArMTI2LDE2IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlclN1YmFsbG9j
YXRpb25HYXJiYWdlCiAgIHB1YmxpYzoKICAgICBTaGFyZWRCdWZmZXJTdWJhbGxvY2F0aW9uR2Fy
YmFnZSgpID0gZGVmYXVsdDsKICAgICBTaGFyZWRCdWZmZXJTdWJhbGxvY2F0aW9uR2FyYmFnZShT
aGFyZWRCdWZmZXJTdWJhbGxvY2F0aW9uR2FyYmFnZSAmJm90aGVyKQotICAgICAgICA6IG1MaWZl
dGltZShzdGQ6Om1vdmUob3RoZXIubUxpZmV0aW1lKSksIG1HYXJiYWdlKHN0ZDo6bW92ZShvdGhl
ci5tR2FyYmFnZSkpCisgICAgICAgIDogbUxpZmV0aW1lKHN0ZDo6bW92ZShvdGhlci5tTGlmZXRp
bWUpKSwKKyAgICAgICAgICBtU3ViYWxsb2NhdGlvbihzdGQ6Om1vdmUob3RoZXIubVN1YmFsbG9j
YXRpb24pKSwKKyAgICAgICAgICBtQnVmZmVyKHN0ZDo6bW92ZShvdGhlci5tQnVmZmVyKSkKICAg
ICB7fQotICAgIFNoYXJlZEJ1ZmZlclN1YmFsbG9jYXRpb25HYXJiYWdlKFNoYXJlZFJlc291cmNl
VXNlICYmdXNlLCBCdWZmZXJTdWJhbGxvY2F0aW9uICYmZ2FyYmFnZSkKLSAgICAgICAgOiBtTGlm
ZXRpbWUoc3RkOjptb3ZlKHVzZSkpLCBtR2FyYmFnZShzdGQ6Om1vdmUoZ2FyYmFnZSkpCisgICAg
U2hhcmVkQnVmZmVyU3ViYWxsb2NhdGlvbkdhcmJhZ2UoU2hhcmVkUmVzb3VyY2VVc2UgJiZ1c2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU3ViYWxsb2NhdGlv
biAmJnN1YmFsbG9jYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QnVmZmVyICYmYnVmZmVyKQorICAgICAgICA6IG1MaWZldGltZShzdGQ6Om1vdmUodXNlKSksCisg
ICAgICAgICAgbVN1YmFsbG9jYXRpb24oc3RkOjptb3ZlKHN1YmFsbG9jYXRpb24pKSwKKyAgICAg
ICAgICBtQnVmZmVyKHN0ZDo6bW92ZShidWZmZXIpKQogICAgIHt9CiAgICAgflNoYXJlZEJ1ZmZl
clN1YmFsbG9jYXRpb25HYXJiYWdlKCkgPSBkZWZhdWx0OwogCkBAIC0xMzgsNyArMTQ0LDggQEAg
Y2xhc3MgU2hhcmVkQnVmZmVyU3ViYWxsb2NhdGlvbkdhcmJhZ2UKIAogICBwcml2YXRlOgogICAg
IFNoYXJlZFJlc291cmNlVXNlIG1MaWZldGltZTsKLSAgICBCdWZmZXJTdWJhbGxvY2F0aW9uIG1H
YXJiYWdlOworICAgIEJ1ZmZlclN1YmFsbG9jYXRpb24gbVN1YmFsbG9jYXRpb247CisgICAgQnVm
ZmVyIG1CdWZmZXI7CiB9OwogdXNpbmcgU2hhcmVkQnVmZmVyU3ViYWxsb2NhdGlvbkdhcmJhZ2VM
aXN0ID0gc3RkOjpxdWV1ZTxTaGFyZWRCdWZmZXJTdWJhbGxvY2F0aW9uR2FyYmFnZT47CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vU3VyZmFjZVZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vU3VyZmFjZVZrLmNwcAppbmRleCAwMDI2OTM2OTcxMjk3ZmYxNjM5
N2UwNzIxMDQ5ZjlmOWZmMDZhOWFiLi44ZDg5MjgzOGY3ODY3MTEwZWVhNjYwZGZiZDVmYTczYjEy
ODg2NWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL1N1cmZhY2VWay5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9TdXJmYWNlVmsuY3BwCkBAIC0xODg5LDEx
ICsxODg5LDI2IEBAIGFuZ2xlOjpSZXN1bHQgV2luZG93U3VyZmFjZVZrOjpkb0RlZmVycmVkQWNx
dWlyZU5leHRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29uCiAgICAgaWYgKG1TdGF0ZS5zd2Fw
QmVoYXZpb3IgPT0gRUdMX0JVRkZFUl9ERVNUUk9ZRUQgJiYgbUJ1ZmZlckFnZVF1ZXJ5RnJhbWVO
dW1iZXIgPT0gMCkKICAgICB7CiAgICAgICAgIG1Td2FwY2hhaW5JbWFnZXNbbUN1cnJlbnRTd2Fw
Y2hhaW5JbWFnZUluZGV4XS5pbWFnZS5pbnZhbGlkYXRlU3VicmVzb3VyY2VDb250ZW50KAotICAg
ICAgICAgICAgY29udGV4dFZrLCBnbDo6TGV2ZWxJbmRleCgwKSwgMCwgMSk7Ci0gICAgICAgIG1D
b2xvckltYWdlTVMuaW52YWxpZGF0ZVN1YnJlc291cmNlQ29udGVudChjb250ZXh0VmssIGdsOjpM
ZXZlbEluZGV4KDApLCAwLCAxKTsKKyAgICAgICAgICAgIGNvbnRleHRWaywgZ2w6OkxldmVsSW5k
ZXgoMCksIDAsIDEsIG51bGxwdHIpOworICAgICAgICBpZiAobUNvbG9ySW1hZ2VNUy52YWxpZCgp
KQorICAgICAgICB7CisgICAgICAgICAgICBtQ29sb3JJbWFnZU1TLmludmFsaWRhdGVTdWJyZXNv
dXJjZUNvbnRlbnQoY29udGV4dFZrLCBnbDo6TGV2ZWxJbmRleCgwKSwgMCwgMSwgbnVsbHB0cik7
CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKG1EZXB0aFN0ZW5jaWxJbWFnZS52YWxpZCgpKQor
ICAgIHsKKyAgICAgICAgVmtJbWFnZUFzcGVjdEZsYWdzIGRzQXNwZWN0cyA9IG1EZXB0aFN0ZW5j
aWxJbWFnZS5nZXRBc3BlY3RGbGFncygpOworICAgICAgICBpZiAoKGRzQXNwZWN0cyAmIFZLX0lN
QUdFX0FTUEVDVF9ERVBUSF9CSVQpICE9IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIG1EZXB0
aFN0ZW5jaWxJbWFnZS5pbnZhbGlkYXRlU3VicmVzb3VyY2VDb250ZW50KGNvbnRleHRWaywgZ2w6
OkxldmVsSW5kZXgoMCksIDAsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyKTsKKyAgICAgICAgfQorICAgICAgICBp
ZiAoKGRzQXNwZWN0cyAmIFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVCkgIT0gMCkKKyAgICAg
ICAgeworICAgICAgICAgICAgbURlcHRoU3RlbmNpbEltYWdlLmludmFsaWRhdGVTdWJyZXNvdXJj
ZVN0ZW5jaWxDb250ZW50KGNvbnRleHRWaywgZ2w6OkxldmVsSW5kZXgoMCksIDAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMSwgbnVsbHB0cik7CisgICAgICAgIH0KICAgICB9Ci0gICAgbURlcHRoU3RlbmNpbEltYWdl
LmludmFsaWRhdGVTdWJyZXNvdXJjZUNvbnRlbnQoY29udGV4dFZrLCBnbDo6TGV2ZWxJbmRleCgw
KSwgMCwgMSk7Ci0gICAgbURlcHRoU3RlbmNpbEltYWdlLmludmFsaWRhdGVTdWJyZXNvdXJjZVN0
ZW5jaWxDb250ZW50KGNvbnRleHRWaywgZ2w6OkxldmVsSW5kZXgoMCksIDAsIDEpOwogCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9UZXh0dXJlVmsuY3Bw
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9U
ZXh0dXJlVmsuY3BwCmluZGV4IGMyYmZiYzM5NDliNzgyY2EyMmZiYTZhYTAyMzA0YmM4YTk1NmQy
ZTQuLjIwOThmNTE2MmJlNzk5OTk3MDVmNmMwZjVkNWVlYzJjMmUwMmI1ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVGV4
dHVyZVZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1RleHR1cmVWay5jcHAKQEAgLTE3OCwxNSArMTc4LDIyIEBAIGJvb2wgQ2Fu
Q29weVdpdGhEcmF3KFJlbmRlcmVyVmsgKnJlbmRlcmVyLAogYm9vbCBDYW5HZW5lcmF0ZU1pcG1h
cFdpdGhDb21wdXRlKFJlbmRlcmVyVmsgKnJlbmRlcmVyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZrSW1hZ2VUeXBlIGltYWdlVHlwZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhbmdsZTo6Rm9ybWF0SUQgZm9ybWF0SUQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xpbnQgc2FtcGxlcykKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTGludCBzYW1wbGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgY2FuQmVSZXNwZWNpZmllZCkKIHsKLSAgICBjb25zdCBhbmdsZTo6Rm9ybWF0ICZh
bmdsZUZvcm1hdCA9IGFuZ2xlOjpGb3JtYXQ6OkdldChmb3JtYXRJRCk7Ci0KKyAgICAvLyBGZWF0
dXJlIG5lZWRzIHRvIGJlIGVuYWJsZWQKICAgICBpZiAoIXJlbmRlcmVyLT5nZXRGZWF0dXJlcygp
LmFsbG93R2VuZXJhdGVNaXBtYXBXaXRoQ29tcHV0ZS5lbmFibGVkKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIC8vIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZXNw
ZWNpZnkgdGhlIGJhY2tpbmcgaW1hZ2UKKyAgICBpZiAoIWNhbkJlUmVzcGVjaWZpZWQpCisgICAg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29uc3QgYW5nbGU6OkZvcm1h
dCAmYW5nbGVGb3JtYXQgPSBhbmdsZTo6Rm9ybWF0OjpHZXQoZm9ybWF0SUQpOwogICAgIC8vIEZv
cm1hdCBtdXN0IGhhdmUgU1RPUkFHRSBzdXBwb3J0LgogICAgIGNvbnN0IGJvb2wgaGFzU3RvcmFn
ZVN1cHBvcnQgPQogICAgICAgICByZW5kZXJlci0+aGFzSW1hZ2VGb3JtYXRGZWF0dXJlQml0cyhm
b3JtYXRJRCwgVktfRk9STUFUX0ZFQVRVUkVfU1RPUkFHRV9JTUFHRV9CSVQpOwpAQCAtMjg4LDkg
KzI5NSw5IEBAIFRleHR1cmVWazo6VGV4dHVyZVZrKGNvbnN0IGdsOjpUZXh0dXJlU3RhdGUgJnN0
YXRlLCBSZW5kZXJlclZrICpyZW5kZXJlcikKICAgICAgIG1SZXF1aXJlc011dGFibGVTdG9yYWdl
KGZhbHNlKSwKICAgICAgIG1SZXF1aXJlZEltYWdlQWNjZXNzKHZrOjpJbWFnZUFjY2Vzczo6U2Ft
cGxlT25seSksCiAgICAgICBtSW1tdXRhYmxlU2FtcGxlckRpcnR5KGZhbHNlKSwKLSAgICAgIG1J
bWFnZU5hdGl2ZVR5cGUoZ2w6OlRleHR1cmVUeXBlOjpJbnZhbGlkRW51bSksCi0gICAgICBtSW1h
Z2VMYXllck9mZnNldCgwKSwKLSAgICAgIG1JbWFnZUxldmVsT2Zmc2V0KDApLAorICAgICAgbUVH
TEltYWdlTmF0aXZlVHlwZShnbDo6VGV4dHVyZVR5cGU6OkludmFsaWRFbnVtKSwKKyAgICAgIG1F
R0xJbWFnZUxheWVyT2Zmc2V0KDApLAorICAgICAgbUVHTEltYWdlTGV2ZWxPZmZzZXQoMCksCiAg
ICAgICBtSW1hZ2UobnVsbHB0ciksCiAgICAgICBtSW1hZ2VVc2FnZUZsYWdzKDApLAogICAgICAg
bUltYWdlQ3JlYXRlRmxhZ3MoMCksCkBAIC0xMzI1LDcgKzEzMzIsOCBAQCBhbmdsZTo6UmVzdWx0
IFRleHR1cmVWazo6c2V0U3RvcmFnZUV4dGVybmFsTWVtb3J5KGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogCiAgICAgY29uc3Qgdms6OkZvcm1hdCAmZm9ybWF0ID0gcmVuZGVyZXItPmdldEZv
cm1hdChpbnRlcm5hbEZvcm1hdCk7CiAKLSAgICBzZXRJbWFnZUhlbHBlcihjb250ZXh0VmssIG5l
dyB2azo6SW1hZ2VIZWxwZXIoKSwgbVN0YXRlLmdldFR5cGUoKSwgZm9ybWF0LCAwLCAwLCB0cnVl
KTsKKyAgICBzZXRJbWFnZUhlbHBlcihjb250ZXh0VmssIG5ldyB2azo6SW1hZ2VIZWxwZXIoKSwg
Z2w6OlRleHR1cmVUeXBlOjpJbnZhbGlkRW51bSwgZm9ybWF0LCAwLCAwLAorICAgICAgICAgICAg
ICAgICAgIHRydWUpOwogCiAgICAgQU5HTEVfVFJZKG1lbW9yeU9iamVjdFZrLT5jcmVhdGVJbWFn
ZShjb250ZXh0VmssIHR5cGUsIGxldmVscywgaW50ZXJuYWxGb3JtYXQsIHNpemUsIG9mZnNldCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1JbWFnZSwgY3JlYXRl
RmxhZ3MsIHVzYWdlRmxhZ3MsIGltYWdlQ3JlYXRlSW5mb1BOZXh0KSk7CkBAIC0xMzk1LDkgKzE0
MDMsOSBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6c2V0RUdMSW1hZ2VUYXJnZXQoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgc2V0SW1hZ2VIZWxwZXIoY29udGV4dFZrLCBpbWFn
ZVZrLT5nZXRJbWFnZSgpLCBpbWFnZVZrLT5nZXRJbWFnZVRleHR1cmVUeXBlKCksIGZvcm1hdCwK
ICAgICAgICAgICAgICAgICAgICBpbWFnZVZrLT5nZXRJbWFnZUxldmVsKCkuZ2V0KCksIGltYWdl
VmstPmdldEltYWdlTGF5ZXIoKSwgZmFsc2UpOwogCi0gICAgQVNTRVJUKHR5cGUgIT0gZ2w6OlRl
eHR1cmVUeXBlOjpDdWJlTWFwKTsKICAgICBBTkdMRV9UUlkoaW5pdEltYWdlVmlld3MoY29udGV4
dFZrLCBmb3JtYXQuZ2V0QWN0dWFsSW1hZ2VGb3JtYXQoZ2V0UmVxdWlyZWRJbWFnZUFjY2Vzcygp
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UtPmdldEZvcm1hdCgpLmluZm8t
PnNpemVkLCAxLCBnZXRJbWFnZVZpZXdMYXllckNvdW50KCkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW1hZ2UtPmdldEZvcm1hdCgpLmluZm8tPnNpemVkLCBnZXRJbWFnZVZpZXdM
ZXZlbENvdW50KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEltYWdlVmlld0xh
eWVyQ291bnQoKSkpOwogCiAgICAgLy8gVHJhbnNmZXIgdGhlIGltYWdlIHRvIHRoaXMgcXVldWUg
aWYgbmVlZGVkCiAgICAgdWludDMyX3QgcmVuZGVyZXJRdWV1ZUZhbWlseUluZGV4ID0gcmVuZGVy
ZXItPmdldFF1ZXVlRmFtaWx5SW5kZXgoKTsKQEAgLTE0NDksMzMgKzE0NTcsMzAgQEAgYW5nbGU6
OlJlc3VsdCBUZXh0dXJlVms6OnNldEJ1ZmZlcihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwg
R0xlbnVtIGludGVybmFsRm8KIAogZ2w6OkltYWdlSW5kZXggVGV4dHVyZVZrOjpnZXROYXRpdmVJ
bWFnZUluZGV4KGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbnB1dEltYWdlSW5kZXgpIGNvbnN0CiB7
Ci0gICAgLy8gVGhlIGlucHV0IGluZGV4IGNhbiBiZSBhIHNwZWNpZmljIGxheWVyIChmb3IgY3Vi
ZSBtYXBzLCAyZCBhcnJheXMsIGV0Yykgb3IgbUltYWdlTGF5ZXJPZmZzZXQKLSAgICAvLyBjYW4g
YmUgbm9uLXplcm8gYnV0IGJvdGggb2YgdGhlc2UgY2Fubm90IGJlIHRydWUgYXQgdGhlIHNhbWUg
dGltZS4gIEVHTCBpbWFnZXMgY2FuIHNvdXJjZQotICAgIC8vIGZyb20gYSBjdWJlIG1hcCBvciAz
RCB0ZXh0dXJlIGJ1dCBjYW4gb25seSBiZSBhIDJEIGRlc3RpbmF0aW9uLgotICAgIEFTU0VSVCgh
KGlucHV0SW1hZ2VJbmRleC5oYXNMYXllcigpICYmIG1JbWFnZUxheWVyT2Zmc2V0ID4gMCkpOwot
Ci0gICAgLy8gaGFuZGxlIHRoZSBzcGVjaWFsLWNhc2Ugd2hlcmUgaW1hZ2UgaW5kZXggY2FuIHJl
cHJlc2VudCBhIHdob2xlIGxldmVsIG9mIGEgdGV4dHVyZQotICAgIEdMaW50IHJlc3VsdEltYWdl
TGF5ZXIgPSBpbnB1dEltYWdlSW5kZXguZ2V0TGF5ZXJJbmRleCgpOwotICAgIGlmIChpbnB1dElt
YWdlSW5kZXguZ2V0VHlwZSgpICE9IG1JbWFnZU5hdGl2ZVR5cGUpCisgICAgaWYgKG1FR0xJbWFn
ZU5hdGl2ZVR5cGUgPT0gZ2w6OlRleHR1cmVUeXBlOjpJbnZhbGlkRW51bSkKICAgICB7Ci0gICAg
ICAgIEFTU0VSVCghaW5wdXRJbWFnZUluZGV4Lmhhc0xheWVyKCkpOwotICAgICAgICByZXN1bHRJ
bWFnZUxheWVyID0gbUltYWdlTGF5ZXJPZmZzZXQ7CisgICAgICAgIHJldHVybiBpbnB1dEltYWdl
SW5kZXg7CiAgICAgfQogCi0gICAgcmV0dXJuIGdsOjpJbWFnZUluZGV4OjpNYWtlRnJvbVR5cGUo
Ci0gICAgICAgIG1JbWFnZU5hdGl2ZVR5cGUsCi0gICAgICAgIGdldE5hdGl2ZUltYWdlTGV2ZWwo
Z2w6OkxldmVsSW5kZXgoaW5wdXRJbWFnZUluZGV4LmdldExldmVsSW5kZXgoKSkpLmdldCgpLAot
ICAgICAgICByZXN1bHRJbWFnZUxheWVyLCBpbnB1dEltYWdlSW5kZXguZ2V0TGF5ZXJDb3VudCgp
KTsKKyAgICAvLyBpbnB1dEltYWdlSW5kZXggY2FuIHBvaW50IHRvIGEgc3BlY2lmaWMgbGF5ZXIs
IGJ1dCBvbmx5IGZvciBub24tMkQgdGV4dHVyZXMuCisgICAgLy8gbUVHTEltYWdlTmF0aXZlVHlw
ZSBjYW4gYmUgYSB2YWxpZCB0eXBlLCBidXQgb25seSBmb3IgMkQgdGV4dHVyZXMuCisgICAgLy8g
QXMgc3VjaCwgYm90aCBvZiB0aGVzZSBjYW5ub3QgYmUgdHJ1ZSBhdCB0aGUgc2FtZSB0aW1lLgor
ICAgIEFTU0VSVCghaW5wdXRJbWFnZUluZGV4Lmhhc0xheWVyKCkgJiYgaW5wdXRJbWFnZUluZGV4
LmdldExldmVsSW5kZXgoKSA9PSAwKTsKKworICAgIHJldHVybiBnbDo6SW1hZ2VJbmRleDo6TWFr
ZUZyb21UeXBlKG1FR0xJbWFnZU5hdGl2ZVR5cGUsIG1FR0xJbWFnZUxldmVsT2Zmc2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1FR0xJbWFnZUxheWVyT2Zmc2V0
KTsKIH0KIAogZ2w6OkxldmVsSW5kZXggVGV4dHVyZVZrOjpnZXROYXRpdmVJbWFnZUxldmVsKGds
OjpMZXZlbEluZGV4IGZyb250ZW5kTGV2ZWwpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZyb250ZW5k
TGV2ZWwgKyBtSW1hZ2VMZXZlbE9mZnNldDsKKyAgICBBU1NFUlQoZnJvbnRlbmRMZXZlbC5nZXQo
KSA9PSAwIHx8IG1FR0xJbWFnZUxldmVsT2Zmc2V0ID09IDApOworICAgIHJldHVybiBmcm9udGVu
ZExldmVsICsgbUVHTEltYWdlTGV2ZWxPZmZzZXQ7CiB9CiAKIHVpbnQzMl90IFRleHR1cmVWazo6
Z2V0TmF0aXZlSW1hZ2VMYXllcih1aW50MzJfdCBmcm9udGVuZExheWVyKSBjb25zdAogewotICAg
IHJldHVybiBmcm9udGVuZExheWVyICsgbUltYWdlTGF5ZXJPZmZzZXQ7CisgICAgQVNTRVJUKGZy
b250ZW5kTGF5ZXIgPT0gMCB8fCBtRUdMSW1hZ2VMYXllck9mZnNldCA9PSAwKTsKKyAgICByZXR1
cm4gZnJvbnRlbmRMYXllciArIG1FR0xJbWFnZUxheWVyT2Zmc2V0OwogfQogCiB2b2lkIFRleHR1
cmVWazo6cmVsZWFzZUFuZERlbGV0ZUltYWdlQW5kVmlld3MoQ29udGV4dFZrICpjb250ZXh0Vmsp
CkBAIC0xNTIzLDcgKzE1MjgsOCBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVWazo6ZW5zdXJlSW1h
Z2VBbGxvY2F0ZWQoQ29udGV4dFZrICpjb250ZXh0VmssIGNvbnN0IHZrOjpGbwogewogICAgIGlm
IChtSW1hZ2UgPT0gbnVsbHB0cikKICAgICB7Ci0gICAgICAgIHNldEltYWdlSGVscGVyKGNvbnRl
eHRWaywgbmV3IHZrOjpJbWFnZUhlbHBlcigpLCBtU3RhdGUuZ2V0VHlwZSgpLCBmb3JtYXQsIDAs
IDAsIHRydWUpOworICAgICAgICBzZXRJbWFnZUhlbHBlcihjb250ZXh0VmssIG5ldyB2azo6SW1h
Z2VIZWxwZXIoKSwgZ2w6OlRleHR1cmVUeXBlOjpJbnZhbGlkRW51bSwgZm9ybWF0LCAwLCAwLAor
ICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKICAgICB9CiAKICAgICBpbml0SW1hZ2VVc2Fn
ZUZsYWdzKGNvbnRleHRWaywgZm9ybWF0LmdldEFjdHVhbEltYWdlRm9ybWF0SUQoZ2V0UmVxdWly
ZWRJbWFnZUFjY2VzcygpKSk7CkBAIC0xNTMzLDcgKzE1MzksNyBAQCBhbmdsZTo6UmVzdWx0IFRl
eHR1cmVWazo6ZW5zdXJlSW1hZ2VBbGxvY2F0ZWQoQ29udGV4dFZrICpjb250ZXh0VmssIGNvbnN0
IHZrOjpGbwogCiB2b2lkIFRleHR1cmVWazo6c2V0SW1hZ2VIZWxwZXIoQ29udGV4dFZrICpjb250
ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdms6OkltYWdlSGVscGVyICpp
bWFnZUhlbHBlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6VGV4dHVyZVR5
cGUgaW1hZ2VUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpUZXh0dXJl
VHlwZSBlZ2xJbWFnZU5hdGl2ZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgdms6OkZvcm1hdCAmZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IGltYWdlTGV2ZWxPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgaW1hZ2VMYXllck9mZnNldCwKQEAgLTE1NTAsMTAgKzE1NTYsMTAgQEAgdm9p
ZCBUZXh0dXJlVms6OnNldEltYWdlSGVscGVyKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIHsK
ICAgICAgICAgbVJlcXVpcmVkSW1hZ2VBY2Nlc3MgPSB2azo6SW1hZ2VBY2Nlc3M6OlJlbmRlcmFi
bGU7CiAgICAgfQotICAgIG1JbWFnZU5hdGl2ZVR5cGUgID0gaW1hZ2VUeXBlOwotICAgIG1JbWFn
ZUxldmVsT2Zmc2V0ID0gaW1hZ2VMZXZlbE9mZnNldDsKLSAgICBtSW1hZ2VMYXllck9mZnNldCA9
IGltYWdlTGF5ZXJPZmZzZXQ7Ci0gICAgbUltYWdlICAgICAgICAgICAgPSBpbWFnZUhlbHBlcjsK
KyAgICBtRUdMSW1hZ2VOYXRpdmVUeXBlICA9IGVnbEltYWdlTmF0aXZlVHlwZTsKKyAgICBtRUdM
SW1hZ2VMZXZlbE9mZnNldCA9IGltYWdlTGV2ZWxPZmZzZXQ7CisgICAgbUVHTEltYWdlTGF5ZXJP
ZmZzZXQgPSBpbWFnZUxheWVyT2Zmc2V0OworICAgIG1JbWFnZSAgICAgICAgICAgICAgID0gaW1h
Z2VIZWxwZXI7CiAKICAgICAvLyBGb3JjZSByZS1jcmVhdGlvbiBvZiByZW5kZXIgdGFyZ2V0cyBu
ZXh0IHRpbWUgdGhleSBhcmUgbmVlZGVkCiAgICAgZm9yIChhdXRvICZyZW5kZXJUYXJnZXRzIDog
bVNpbmdsZUxheWVyUmVuZGVyVGFyZ2V0cykKQEAgLTE5MzgsNyArMTk0NCw3IEBAIGFuZ2xlOjpS
ZXN1bHQgVGV4dHVyZVZrOjpnZW5lcmF0ZU1pcG1hcChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCkKICAgICAvLyBJZiBpdCdzIHBvc3NpYmxlIHRvIGdlbmVyYXRlIG1pcG1hcCBpbiBjb21wdXRl
LCB0aGF0IHdvdWxkIGdpdmUgdGhlIGJlc3QgcG9zc2libGUKICAgICAvLyBwZXJmb3JtYW5jZSBv
biBzb21lIGhhcmR3YXJlLgogICAgIGlmIChDYW5HZW5lcmF0ZU1pcG1hcFdpdGhDb21wdXRlKHJl
bmRlcmVyLCBtSW1hZ2UtPmdldFR5cGUoKSwgbUltYWdlLT5nZXRBY3R1YWxGb3JtYXRJRCgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1JbWFnZS0+Z2V0U2FtcGxlcygp
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtSW1hZ2UtPmdldFNhbXBs
ZXMoKSwgbU93bnNJbWFnZSkpCiAgICAgewogICAgICAgICBBU1NFUlQoKG1JbWFnZVVzYWdlRmxh
Z3MgJiBWS19JTUFHRV9VU0FHRV9TVE9SQUdFX0JJVCkgIT0gMCk7CiAKQEAgLTIyODYsOCArMjI5
Miw4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpiaW5kVGV4SW1hZ2UoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsIGVnbDo6U3VyZmFjZSAqCiAKICAgICAvLyBlZ2xCaW5kVGV4SW1hZ2Ug
Y2FuIG9ubHkgYmUgY2FsbGVkIHdpdGggcGJ1ZmZlciAob2Zmc2NyZWVuKSBzdXJmYWNlcwogICAg
IE9mZnNjcmVlblN1cmZhY2VWayAqb2Zmc2NyZWVuU3VyZmFjZSA9IEdldEltcGxBczxPZmZzY3Jl
ZW5TdXJmYWNlVms+KHN1cmZhY2UpOwotICAgIHNldEltYWdlSGVscGVyKGNvbnRleHRWaywgb2Zm
c2NyZWVuU3VyZmFjZS0+Z2V0Q29sb3JBdHRhY2htZW50SW1hZ2UoKSwgbVN0YXRlLmdldFR5cGUo
KSwgZm9ybWF0LAotICAgICAgICAgICAgICAgICAgIHN1cmZhY2UtPmdldE1pcG1hcExldmVsKCks
IDAsIGZhbHNlKTsKKyAgICBzZXRJbWFnZUhlbHBlcihjb250ZXh0VmssIG9mZnNjcmVlblN1cmZh
Y2UtPmdldENvbG9yQXR0YWNobWVudEltYWdlKCksCisgICAgICAgICAgICAgICAgICAgZ2w6OlRl
eHR1cmVUeXBlOjpJbnZhbGlkRW51bSwgZm9ybWF0LCAwLCAwLCBmYWxzZSk7CiAKICAgICBBU1NF
UlQobUltYWdlLT5nZXRMYXllckNvdW50KCkgPT0gMSk7CiAgICAgcmV0dXJuIGluaXRJbWFnZVZp
ZXdzKGNvbnRleHRWaywgZm9ybWF0LmdldEFjdHVhbEltYWdlRm9ybWF0KGdldFJlcXVpcmVkSW1h
Z2VBY2Nlc3MoKSksCkBAIC0yNDI5LDEwICsyNDM1LDExIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVy
ZVZrOjpmbHVzaEltYWdlU3RhZ2VkVXBkYXRlcyhDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICBB
U1NFUlQobUltYWdlLT52YWxpZCgpKTsKIAogICAgIGdsOjpMZXZlbEluZGV4IGZpcnN0TGV2ZWxH
TCA9IGdldE5hdGl2ZUltYWdlTGV2ZWwobUltYWdlLT5nZXRGaXJzdEFsbG9jYXRlZExldmVsKCkp
OworICAgIHVpbnQzMl90IGZpcnN0TGF5ZXIgICAgICAgICA9IGdldE5hdGl2ZUltYWdlTGF5ZXIo
MCk7CiAKLSAgICByZXR1cm4gbUltYWdlLT5mbHVzaFN0YWdlZFVwZGF0ZXMoCi0gICAgICAgIGNv
bnRleHRWaywgZmlyc3RMZXZlbEdMLCBmaXJzdExldmVsR0wgKyBtSW1hZ2UtPmdldExldmVsQ291
bnQoKSwgZ2V0TmF0aXZlSW1hZ2VMYXllcigwKSwKLSAgICAgICAgbUltYWdlLT5nZXRMYXllckNv
dW50KCksIG1SZWRlZmluZWRMZXZlbHMpOworICAgIHJldHVybiBtSW1hZ2UtPmZsdXNoU3RhZ2Vk
VXBkYXRlcyhjb250ZXh0VmssIGZpcnN0TGV2ZWxHTCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmlyc3RMZXZlbEdMICsgZ2V0SW1hZ2VWaWV3TGV2ZWxDb3VudCgpLCBm
aXJzdExheWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdExh
eWVyICsgZ2V0SW1hZ2VWaWV3TGF5ZXJDb3VudCgpLCBtUmVkZWZpbmVkTGV2ZWxzKTsKIH0KIAog
dm9pZCBUZXh0dXJlVms6OmluaXRTaW5nbGVMYXllclJlbmRlclRhcmdldHMoQ29udGV4dFZrICpj
b250ZXh0VmssCkBAIC0yNTY1LDcgKzI1NzIsNyBAQCB2b2lkIFRleHR1cmVWazo6cHJlcGFyZUZv
ckdlbmVyYXRlTWlwbWFwKENvbnRleHRWayAqY29udGV4dFZrKQogICAgIC8vIElmIHRoZSBjb21w
dXRlIHBhdGggaXMgdG8gYmUgdXNlZCB0byBnZW5lcmF0ZSBtaXBtYXBzLCBhZGQgdGhlIFNUT1JB
R0UgdXNhZ2UuCiAgICAgaWYgKENhbkdlbmVyYXRlTWlwbWFwV2l0aENvbXB1dGUoY29udGV4dFZr
LT5nZXRSZW5kZXJlcigpLCBpbWFnZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZm9ybWF0LmdldEFjdHVhbEltYWdlRm9ybWF0SUQoZ2V0UmVxdWlyZWRJbWFnZUFj
Y2VzcygpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVzKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVzLCBtT3duc0ltYWdl
KSkKICAgICB7CiAgICAgICAgIG1JbWFnZVVzYWdlRmxhZ3MgfD0gVktfSU1BR0VfVVNBR0VfU1RP
UkFHRV9CSVQ7CiAgICAgfQpAQCAtMzM0OSw5ICszMzU2LDE0IEBAIHVpbnQzMl90IFRleHR1cmVW
azo6Z2V0SW1hZ2VWaWV3TGF5ZXJDb3VudCgpIGNvbnN0CiB7CiAgICAgLy8gV2UgdXNlIGEgc3Bl
Y2lhbCBsYXllciBjb3VudCBoZXJlIHRvIGhhbmRsZSBFR0xJbWFnZXMuIFRoZXkgbWlnaHQgb25s
eSBiZQogICAgIC8vIGxvb2tpbmcgYXQgb25lIGxheWVyIG9mIGEgY3ViZSBvciAyRCBhcnJheSB0
ZXh0dXJlLgotICAgIHJldHVybiBtU3RhdGUuZ2V0VHlwZSgpID09IGdsOjpUZXh0dXJlVHlwZTo6
XzJEIHx8IG1TdGF0ZS5nZXRUeXBlKCkgPT0gZ2w6OlRleHR1cmVUeXBlOjpFeHRlcm5hbAotICAg
ICAgICAgICAgICAgPyAxCi0gICAgICAgICAgICAgICA6IG1JbWFnZS0+Z2V0TGF5ZXJDb3VudCgp
OworICAgIHJldHVybiBtRUdMSW1hZ2VOYXRpdmVUeXBlID09IGdsOjpUZXh0dXJlVHlwZTo6SW52
YWxpZEVudW0gPyBtSW1hZ2UtPmdldExheWVyQ291bnQoKSA6IDE7Cit9CisKK3VpbnQzMl90IFRl
eHR1cmVWazo6Z2V0SW1hZ2VWaWV3TGV2ZWxDb3VudCgpIGNvbnN0Cit7CisgICAgLy8gV2UgdXNl
IGEgc3BlY2lhbCBsZXZlbCBjb3VudCBoZXJlIHRvIGhhbmRsZSBFR0xJbWFnZXMuIFRoZXkgbWln
aHQgb25seSBiZQorICAgIC8vIGxvb2tpbmcgYXQgb25lIGxldmVsIG9mIHRoZSB0ZXh0dXJlJ3Mg
bWlwbWFwIGNoYWluLgorICAgIHJldHVybiBtRUdMSW1hZ2VOYXRpdmVUeXBlID09IGdsOjpUZXh0
dXJlVHlwZTo6SW52YWxpZEVudW0gPyBtSW1hZ2UtPmdldExldmVsQ291bnQoKSA6IDE7CiB9CiAK
IGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpyZWZyZXNoSW1hZ2VWaWV3cyhDb250ZXh0VmsgKmNv
bnRleHRWaykKQEAgLTMzNzAsNyArMzM4Miw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZVZrOjpy
ZWZyZXNoSW1hZ2VWaWV3cyhDb250ZXh0VmsgKmNvbnRleHRWaykKICAgICBjb25zdCBnbDo6SW1h
Z2VEZXNjICZiYXNlTGV2ZWxEZXNjID0gbVN0YXRlLmdldEJhc2VMZXZlbERlc2MoKTsKIAogICAg
IEFOR0xFX1RSWShpbml0SW1hZ2VWaWV3cyhjb250ZXh0VmssIG1JbWFnZS0+Z2V0QWN0dWFsRm9y
bWF0KCksIGJhc2VMZXZlbERlc2MuZm9ybWF0LmluZm8tPnNpemVkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtSW1hZ2UtPmdldExldmVsQ291bnQoKSwgZ2V0SW1hZ2VWaWV3TGF5ZXJD
b3VudCgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEltYWdlVmlld0xldmVs
Q291bnQoKSwgZ2V0SW1hZ2VWaWV3TGF5ZXJDb3VudCgpKSk7CiAKICAgICAvLyBMZXQgYW55IEZy
YW1lYnVmZmVycyBrbm93IHdlIG5lZWQgdG8gcmVmcmVzaCB0aGUgUmVuZGVyVGFyZ2V0IGNhY2hl
LgogICAgIG9uU3RhdGVDaGFuZ2UoYW5nbGU6OlN1YmplY3RNZXNzYWdlOjpTdWJqZWN0Q2hhbmdl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1RleHR1cmVWay5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9UZXh0dXJlVmsuaAppbmRleCBjMzA0ZWE4MTE4NDI5Yjkw
ZmIxOGUxYjJmNWI2NDI3NmY1Zjc4NTg0Li40YmVlNDkxMDFjMTVhMmM0ZWVlYjM3ZDUzN2I1MGRm
M2ZlNmRkYWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL1RleHR1cmVWay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVGV4dHVyZVZrLmgKQEAgLTI4NSw2ICsy
ODUsOCBAQCBjbGFzcyBUZXh0dXJlVmsgOiBwdWJsaWMgVGV4dHVyZUltcGwsIHB1YmxpYyBhbmds
ZTo6T2JzZXJ2ZXJJbnRlcmZhY2UKIAogICAgIC8vIEdldCB0aGUgbGF5ZXIgY291bnQgZm9yIHZp
ZXdzLgogICAgIHVpbnQzMl90IGdldEltYWdlVmlld0xheWVyQ291bnQoKSBjb25zdDsKKyAgICAv
LyBHZXQgdGhlIGxldmVsIGNvdW50IGZvciB2aWV3cy4KKyAgICB1aW50MzJfdCBnZXRJbWFnZVZp
ZXdMZXZlbENvdW50KCkgY29uc3Q7CiAKICAgICB2b2lkIHJlbGVhc2VBbmREZWxldGVJbWFnZUFu
ZFZpZXdzKENvbnRleHRWayAqY29udGV4dFZrKTsKICAgICBhbmdsZTo6UmVzdWx0IGVuc3VyZUlt
YWdlQWxsb2NhdGVkKENvbnRleHRWayAqY29udGV4dFZrLCBjb25zdCB2azo6Rm9ybWF0ICZmb3Jt
YXQpOwpAQCAtNDkwLDE1ICs0OTIsMTIgQEAgY2xhc3MgVGV4dHVyZVZrIDogcHVibGljIFRleHR1
cmVJbXBsLCBwdWJsaWMgYW5nbGU6Ok9ic2VydmVySW50ZXJmYWNlCiAgICAgdms6OkltYWdlQWNj
ZXNzIG1SZXF1aXJlZEltYWdlQWNjZXNzOwogICAgIGJvb2wgbUltbXV0YWJsZVNhbXBsZXJEaXJ0
eTsKIAotICAgIGdsOjpUZXh0dXJlVHlwZSBtSW1hZ2VOYXRpdmVUeXBlOwotCi0gICAgLy8gVGhl
IGxheWVyIG9mZnNldCB0byBhcHBseSB3aGVuIGNvbnZlcnRpbmcgZnJvbSBhIGZyb250ZW5kIHRl
eHR1cmUgbGF5ZXIgdG8gYSB0ZXh0dXJlIGxheWVyIGluCi0gICAgLy8gbUltYWdlLiBVc2VkIHdo
ZW4gdGhpcyB0ZXh0dXJlIHNvdXJjZXMgYSBjdWJlIG1hcCBmYWNlIG9yIDNEIHRleHR1cmUgbGF5
ZXIgZnJvbSBhbiBFR0wgaW1hZ2UuCi0gICAgdWludDMyX3QgbUltYWdlTGF5ZXJPZmZzZXQ7Ci0K
LSAgICAvLyBUaGUgbGV2ZWwgb2Zmc2V0IHRvIGFwcGx5IHdoZW4gY29udmVydGluZyBmcm9tIGEg
ZnJvbnRlbmQgdGV4dHVyZSBsZXZlbCB0byB0ZXh0dXJlIGxldmVsIGluCi0gICAgLy8gbUltYWdl
LgotICAgIHVpbnQzMl90IG1JbWFnZUxldmVsT2Zmc2V0OworICAgIC8vIE9ubHkgdmFsaWQgaWYg
dGhpcyB0ZXh0dXJlIGlzIGFuICJFR0xJbWFnZSB0YXJnZXQiIGFuZCB0aGUgYXNzb2NpYXRlZCBF
R0wgSW1hZ2Ugd2FzCisgICAgLy8gb3JpZ2luYWxseSBzb3VyY2VkIGZyb20gYW4gT3BlbkdMIHRl
eHR1cmUuIFN1Y2ggRUdMIEltYWdlcyBjYW4gYmUgYSBzbGljZSBvZiB0aGUgdW5kZXJseWluZwor
ICAgIC8vIHJlc291cmNlLiBUaGUgbGF5ZXIgYW5kIGxldmVsIG9mZnNldHMgYXJlIHVzZWQgdG8g
dHJhY2sgdGhlIGxvY2F0aW9uIG9mIHRoZSBzbGljZS4KKyAgICBnbDo6VGV4dHVyZVR5cGUgbUVH
TEltYWdlTmF0aXZlVHlwZTsKKyAgICB1aW50MzJfdCBtRUdMSW1hZ2VMYXllck9mZnNldDsKKyAg
ICB1aW50MzJfdCBtRUdMSW1hZ2VMZXZlbE9mZnNldDsKIAogICAgIC8vIElmIG11bHRpc2FtcGxl
ZCByZW5kZXJpbmcgdG8gdGV4dHVyZSwgYW4gaW50ZXJtZWRpYXRlIG11bHRpc2FtcGxlZCBpbWFn
ZSBpcyBjcmVhdGVkIGZvciB1c2UKICAgICAvLyBhcyByZW5kZXJwYXNzIGNvbG9yIGF0dGFjaG1l
bnQuICBBbiBhcnJheSBvZiBpbWFnZXMgYW5kIGltYWdlIHZpZXdzIGFyZSB1c2VkIGJhc2VkIG9u
IHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi9UcmFuc2Zvcm1GZWVkYmFja1ZrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVHJhbnNmb3JtRmVlZGJhY2tWay5j
cHAKaW5kZXggY2I3Y2JjYzUzOGUxYzBlYjViYmU4MDIyNzI4N2M1ZDcxMzk5ZjMyZS4uZGJhYTRl
ZWVkYmYzNmM0YTNmNmNiODE4YjUwYmRjYWM4NTY3NjZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9UcmFuc2Zvcm1GZWVk
YmFja1ZrLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvdnVsa2FuL1RyYW5zZm9ybUZlZWRiYWNrVmsuY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAg
YW5nbGU6OlJlc3VsdCBUcmFuc2Zvcm1GZWVkYmFja1ZrOjpiZWdpbihjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICB2azo6QnVmZmVySGVscGVyICZidWZmZXJIZWxw
ZXIgPSBtQ291bnRlckJ1ZmZlckhlbHBlcnNbYnVmZmVySW5kZXhdOwogICAgICAgICAgICAgICAg
IEFOR0xFX1RSWShidWZmZXJIZWxwZXIuaW5pdFN1YmFsbG9jYXRpb24oCiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRleHRWaywgY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLT5nZXREZXZpY2VMb2Nh
bE1lbW9yeVR5cGVJbmRleCgpLCAxNiwKLSAgICAgICAgICAgICAgICAgICAgR2V0RGVmYXVsdEJ1
ZmZlckFsaWdubWVudChjb250ZXh0VmstPmdldFJlbmRlcmVyKCkpKSk7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKS0+Z2V0RGVmYXVsdEJ1ZmZlckFsaWdubWVu
dCgpKSk7CiAgICAgICAgICAgICAgICAgbUNvdW50ZXJCdWZmZXJIYW5kbGVzW2J1ZmZlckluZGV4
XSA9IGJ1ZmZlckhlbHBlci5nZXRCdWZmZXIoKS5nZXRIYW5kbGUoKTsKICAgICAgICAgICAgICAg
ICBtQ291bnRlckJ1ZmZlck9mZnNldHNbYnVmZmVySW5kZXhdID0gYnVmZmVySGVscGVyLmdldE9m
ZnNldCgpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9VdGlsc1ZrLmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVXRpbHNWay5jcHAKaW5k
ZXggN2Q4NGE1MzEwYmYyNzE3ZTg4MzgwYjUzYzUyMWZmNDA4Njk4ODZkMy4uMjNiNTZlZDM2NGFh
YTJkYjE3ZDNkOWVlMWNkNmRjNjM3YzdiMDAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9VdGlsc1ZrLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1V0aWxz
VmsuY3BwCkBAIC05ODksNiArOTg5LDU5IEBAIGFuZ2xlOjpSZXN1bHQgR2V0VW5yZXNvbHZlRnJh
ZygKICAgICByZXR1cm4gdms6OkluaXRTaGFkZXJBbmRTZXJpYWwoY29udGV4dCwgJnNoYWRlci0+
Z2V0KCksIHNoYWRlckNvZGUuZGF0YSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaGFkZXJDb2RlLnNpemUoKSAqIDQpOwogfQorCitnbDo6RHJhd0J1ZmZlck1hc2sgTWFr
ZUNvbG9yQnVmZmVyTWFzayh1aW50MzJfdCBjb2xvckF0dGFjaG1lbnRJbmRleEdMKQoreworICAg
IGdsOjpEcmF3QnVmZmVyTWFzayBtYXNrOworICAgIG1hc2suc2V0KGNvbG9yQXR0YWNobWVudElu
ZGV4R0wpOworICAgIHJldHVybiBtYXNrOworfQorCit2b2lkIFVwZGF0ZUNvbG9yQWNjZXNzKENv
bnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICBnbDo6RHJhd0J1ZmZl
ck1hc2sgY29sb3JBdHRhY2htZW50TWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkRy
YXdCdWZmZXJNYXNrIGNvbG9yRW5hYmxlZE1hc2spCit7CisgICAgdms6OlJlbmRlclBhc3NDb21t
YW5kQnVmZmVySGVscGVyICpyZW5kZXJQYXNzQ29tbWFuZHMgPQorICAgICAgICAmY29udGV4dFZr
LT5nZXRTdGFydGVkUmVuZGVyUGFzc0NvbW1hbmRzKCk7CisKKyAgICAvLyBFeHBsaWNpdGx5IG1h
cmsgYSBjb2xvciB3cml0ZSBiZWNhdXNlIHdlIGFyZSBtb2RpZnlpbmcgdGhlIGNvbG9yIGJ1ZmZl
ci4KKyAgICB2azo6UGFja2VkQXR0YWNobWVudEluZGV4IGNvbG9ySW5kZXhWaygwKTsKKyAgICBm
b3IgKHNpemVfdCBjb2xvckluZGV4R0wgOiBjb2xvckF0dGFjaG1lbnRNYXNrKQorICAgIHsKKyAg
ICAgICAgaWYgKGNvbG9yRW5hYmxlZE1hc2sudGVzdChjb2xvckluZGV4R0wpKQorICAgICAgICB7
CisgICAgICAgICAgICByZW5kZXJQYXNzQ29tbWFuZHMtPm9uQ29sb3JBY2Nlc3MoY29sb3JJbmRl
eFZrLCB2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKTsKKyAgICAgICAgfQorICAgICAgICArK2Nv
bG9ySW5kZXhWazsKKyAgICB9Cit9CisKK3ZvaWQgVXBkYXRlRGVwdGhTdGVuY2lsQWNjZXNzKENv
bnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbWVi
dWZmZXJWayAqZnJhbWVidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGRlcHRoV3JpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0ZW5jaWxX
cml0ZSkKK3sKKyAgICB2azo6UmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXIgKnJlbmRlclBh
c3NDb21tYW5kcyA9CisgICAgICAgICZjb250ZXh0VmstPmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29t
bWFuZHMoKTsKKworICAgIGlmIChkZXB0aFdyaXRlKQorICAgIHsKKyAgICAgICAgLy8gRXhwbGlj
aXRseSBtYXJrIGEgZGVwdGggd3JpdGUgYmVjYXVzZSB3ZSBhcmUgbW9kaWZ5aW5nIHRoZSBkZXB0
aCBidWZmZXIuCisgICAgICAgIHJlbmRlclBhc3NDb21tYW5kcy0+b25EZXB0aEFjY2Vzcyh2azo6
UmVzb3VyY2VBY2Nlc3M6OldyaXRlKTsKKyAgICB9CisgICAgaWYgKHN0ZW5jaWxXcml0ZSkKKyAg
ICB7CisgICAgICAgIC8vIEV4cGxpY2l0bHkgbWFyayBhIHN0ZW5jaWwgd3JpdGUgYmVjYXVzZSB3
ZSBhcmUgbW9kaWZ5aW5nIHRoZSBzdGVuY2lsIGJ1ZmZlci4KKyAgICAgICAgcmVuZGVyUGFzc0Nv
bW1hbmRzLT5vblN0ZW5jaWxBY2Nlc3Modms6OlJlc291cmNlQWNjZXNzOjpXcml0ZSk7CisgICAg
fQorICAgIGlmIChkZXB0aFdyaXRlIHx8IHN0ZW5jaWxXcml0ZSkKKyAgICB7CisgICAgICAgIC8v
IEJlY2F1c2Ugd2UgbWF5IGhhdmUgY2hhbmdlZCB0aGUgZGVwdGggc3RlbmNpbCBhY2Nlc3MgbW9k
ZSwgdXBkYXRlIHJlYWQgb25seSBkZXB0aCBtb2RlCisgICAgICAgIC8vIG5vdy4KKyAgICAgICAg
ZnJhbWVidWZmZXItPnVwZGF0ZVJlbmRlclBhc3NSZWFkT25seURlcHRoTW9kZShjb250ZXh0Vmss
IHJlbmRlclBhc3NDb21tYW5kcyk7CisgICAgfQorfQorCiB9ICAvLyBuYW1lc3BhY2UKIAogVXRp
bHNWazo6Q29udmVydFZlcnRleFNoYWRlclBhcmFtczo6Q29udmVydFZlcnRleFNoYWRlclBhcmFt
cygpID0gZGVmYXVsdDsKQEAgLTE5NzEsMjYgKzIwMjQsOSBAQCBhbmdsZTo6UmVzdWx0IFV0aWxz
Vms6OmNsZWFyRnJhbWVidWZmZXIoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgIEFOR0xF
X1RSWShjb250ZXh0VmstPnN0YXJ0UmVuZGVyUGFzcyhzY2lzc29yZWRSZW5kZXJBcmVhLCAmY29t
bWFuZEJ1ZmZlciwgbnVsbHB0cikpOwogICAgIH0KIAotICAgIGlmIChwYXJhbXMuY2xlYXJTdGVu
Y2lsIHx8IHBhcmFtcy5jbGVhckRlcHRoKQotICAgIHsKLSAgICAgICAgdms6OlJlbmRlclBhc3ND
b21tYW5kQnVmZmVySGVscGVyICpyZW5kZXJwYXNzQ29tbWFuZHM7Ci0gICAgICAgIHJlbmRlcnBh
c3NDb21tYW5kcyA9ICZjb250ZXh0VmstPmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29tbWFuZHMoKTsK
LQotICAgICAgICAvLyBCZWNhdXNlIGNsZWFyIGlzIG5vdCBhZmZlY3RlZCBieSBkZXB0aC9zdGVu
Y2lsIHRlc3QsIHdlIGhhdmUgdG8gZXhwbGljaXRseSBtYXJrCi0gICAgICAgIC8vIGRlcHRoL3N0
ZW5jaWwgd3JpdGUgaGVyZS4KLSAgICAgICAgaWYgKHBhcmFtcy5jbGVhckRlcHRoKQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZW5kZXJwYXNzQ29tbWFuZHMtPm9uRGVwdGhBY2Nlc3Modms6OlJl
c291cmNlQWNjZXNzOjpXcml0ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHBhcmFtcy5jbGVh
clN0ZW5jaWwpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJlbmRlcnBhc3NDb21tYW5kcy0+b25T
dGVuY2lsQWNjZXNzKHZrOjpSZXNvdXJjZUFjY2Vzczo6V3JpdGUpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgLy8gV2UgbWF5IGhhdmUgY2hhbmdlZCBkZXB0aCBzdGVuY2lsIGFjY2VzcyBtb2RlLCBz
byB1cGRhdGUgcmVhZCBvbmx5IGRlcHRoIHN0ZW5jaWwgbW9kZQotICAgICAgICAvLyBoZXJlLgot
ICAgICAgICBmcmFtZWJ1ZmZlci0+dXBkYXRlUmVuZGVyUGFzc1JlYWRPbmx5RGVwdGhNb2RlKGNv
bnRleHRWaywgcmVuZGVycGFzc0NvbW1hbmRzKTsKLSAgICB9CisgICAgVXBkYXRlQ29sb3JBY2Nl
c3MoY29udGV4dFZrLCBmcmFtZWJ1ZmZlci0+Z2V0U3RhdGUoKS5nZXRDb2xvckF0dGFjaG1lbnRz
TWFzaygpLAorICAgICAgICAgICAgICAgICAgICAgIE1ha2VDb2xvckJ1ZmZlck1hc2socGFyYW1z
LmNvbG9yQXR0YWNobWVudEluZGV4R0wpKTsKKyAgICBVcGRhdGVEZXB0aFN0ZW5jaWxBY2Nlc3Mo
Y29udGV4dFZrLCBmcmFtZWJ1ZmZlciwgcGFyYW1zLmNsZWFyRGVwdGgsIHBhcmFtcy5jbGVhclN0
ZW5jaWwpOwogCiAgICAgSW1hZ2VDbGVhclNoYWRlclBhcmFtcyBzaGFkZXJQYXJhbXM7CiAgICAg
c2hhZGVyUGFyYW1zLmNsZWFyVmFsdWUgPSBwYXJhbXMuY29sb3JDbGVhclZhbHVlOwpAQCAtMjE2
Myw2ICsyMTk5LDggQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjbGVhckltYWdlKENvbnRleHRW
ayAqY29udGV4dFZrLAogICAgIEFOR0xFX1RSWShzdGFydFJlbmRlclBhc3MoY29udGV4dFZrLCBk
c3QsICZkZXN0Vmlldy5nZXQoKSwgcmVuZGVyUGFzc0Rlc2MsIHJlbmRlckFyZWEsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmY29tbWFuZEJ1ZmZlcikpOwogCisgICAgVXBkYXRlQ29s
b3JBY2Nlc3MoY29udGV4dFZrLCBNYWtlQ29sb3JCdWZmZXJNYXNrKDApLCBNYWtlQ29sb3JCdWZm
ZXJNYXNrKDApKTsKKwogICAgIFZrVmlld3BvcnQgdmlld3BvcnQ7CiAgICAgZ2xfdms6OkdldFZp
ZXdwb3J0KHJlbmRlckFyZWEsIDAuMGYsIDEuMGYsIGZhbHNlLCBmYWxzZSwgZHN0LT5nZXRFeHRl
bnRzKCkuaGVpZ2h0LCAmdmlld3BvcnQpOwogICAgIGNvbW1hbmRCdWZmZXItPnNldFZpZXdwb3J0
KDAsIDEsICZ2aWV3cG9ydCk7CkBAIC0yMjk0LDExICsyMzMyLDEwIEBAIGFuZ2xlOjpSZXN1bHQg
VXRpbHNWazo6YmxpdFJlc29sdmVJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIHNoYWRl
clBhcmFtcy5zcmNMYXllciAgICAgICAgPSBwYXJhbXMuc3JjTGF5ZXI7CiAgICAgc2hhZGVyUGFy
YW1zLnNhbXBsZXMgICAgICAgICA9IHNyYy0+Z2V0U2FtcGxlcygpOwogICAgIHNoYWRlclBhcmFt
cy5pbnZTYW1wbGVzICAgICAgPSAxLjBmIC8gc2hhZGVyUGFyYW1zLnNhbXBsZXM7Ci0gICAgc2hh
ZGVyUGFyYW1zLm91dHB1dE1hc2sgPQotICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZnJh
bWVidWZmZXItPmdldFN0YXRlKCkuZ2V0RW5hYmxlZERyYXdCdWZmZXJzKCkudG9fdWxvbmcoKSk7
Ci0gICAgc2hhZGVyUGFyYW1zLmZsaXBYICAgID0gcGFyYW1zLmZsaXBYOwotICAgIHNoYWRlclBh
cmFtcy5mbGlwWSAgICA9IHBhcmFtcy5mbGlwWTsKLSAgICBzaGFkZXJQYXJhbXMucm90YXRlWFkg
PSAwOworICAgIHNoYWRlclBhcmFtcy5vdXRwdXRNYXNrICAgICAgPSBmcmFtZWJ1ZmZlci0+Z2V0
U3RhdGUoKS5nZXRFbmFibGVkRHJhd0J1ZmZlcnMoKS5iaXRzKCk7CisgICAgc2hhZGVyUGFyYW1z
LmZsaXBYICAgICAgICAgICA9IHBhcmFtcy5mbGlwWDsKKyAgICBzaGFkZXJQYXJhbXMuZmxpcFkg
ICAgICAgICAgID0gcGFyYW1zLmZsaXBZOworICAgIHNoYWRlclBhcmFtcy5yb3RhdGVYWSAgICAg
ICAgPSAwOwogCiAgICAgLy8gUG90ZW50aWFsbHkgbWFrZSBhZGp1c3RtZW50cyBmb3IgcHJlLXJv
dGF0aW9uLiAgRGVwZW5kaW5nIG9uIHRoZSBhbmdsZSBzb21lIG9mIHRoZQogICAgIC8vIHNoYWRl
clBhcmFtcyBuZWVkIHRvIGJlIGFkanVzdGVkLgpAQCAtMjQwNSwyNCArMjQ0Miw5IEBAIGFuZ2xl
OjpSZXN1bHQgVXRpbHNWazo6YmxpdFJlc29sdmVJbXBsKENvbnRleHRWayAqY29udGV4dFZrLAog
ICAgIGNvbnRleHRWay0+b25JbWFnZVJlbmRlclBhc3NSZWFkKHNyYy0+Z2V0QXNwZWN0RmxhZ3Mo
KSwgdms6OkltYWdlTGF5b3V0OjpGcmFnbWVudFNoYWRlclJlYWRPbmx5LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNyYyk7CiAKLSAgICB2azo6UmVuZGVyUGFzc0NvbW1h
bmRCdWZmZXJIZWxwZXIgKnJlbmRlclBhc3NDb21tYW5kcyA9Ci0gICAgICAgICZjb250ZXh0Vmst
PmdldFN0YXJ0ZWRSZW5kZXJQYXNzQ29tbWFuZHMoKTsKLSAgICBpZiAoYmxpdERlcHRoKQotICAg
IHsKLSAgICAgICAgLy8gRXhwbGljaXRseSBtYXJrIGEgZGVwdGggd3JpdGUgYmVjYXVzZSB3ZSBh
cmUgbW9kaWZ5aW5nIHRoZSBkZXB0aCBidWZmZXIuCi0gICAgICAgIHJlbmRlclBhc3NDb21tYW5k
cy0+b25EZXB0aEFjY2Vzcyh2azo6UmVzb3VyY2VBY2Nlc3M6OldyaXRlKTsKLSAgICB9Ci0gICAg
aWYgKGJsaXRTdGVuY2lsKQotICAgIHsKLSAgICAgICAgLy8gRXhwbGljaXRseSBtYXJrIGEgc3Rl
bmNpbCB3cml0ZSBiZWNhdXNlIHdlIGFyZSBtb2RpZnlpbmcgdGhlIHN0ZW5jaWwgYnVmZmVyLgot
ICAgICAgICByZW5kZXJQYXNzQ29tbWFuZHMtPm9uU3RlbmNpbEFjY2Vzcyh2azo6UmVzb3VyY2VB
Y2Nlc3M6OldyaXRlKTsKLSAgICB9Ci0gICAgaWYgKGJsaXREZXB0aCB8fCBibGl0U3RlbmNpbCkK
LSAgICB7Ci0gICAgICAgIC8vIEJlY2F1c2Ugd2UgbWF5IGhhdmUgY2hhbmdlZCB0aGUgZGVwdGgg
c3RlbmNpbCBhY2Nlc3MgbW9kZSwgdXBkYXRlIHJlYWQgb25seSBkZXB0aCBtb2RlCi0gICAgICAg
IC8vIG5vdy4KLSAgICAgICAgZnJhbWVidWZmZXItPnVwZGF0ZVJlbmRlclBhc3NSZWFkT25seURl
cHRoTW9kZShjb250ZXh0VmssIHJlbmRlclBhc3NDb21tYW5kcyk7Ci0gICAgfQorICAgIFVwZGF0
ZUNvbG9yQWNjZXNzKGNvbnRleHRWaywgZnJhbWVidWZmZXItPmdldFN0YXRlKCkuZ2V0Q29sb3JB
dHRhY2htZW50c01hc2soKSwKKyAgICAgICAgICAgICAgICAgICAgICBmcmFtZWJ1ZmZlci0+Z2V0
U3RhdGUoKS5nZXRFbmFibGVkRHJhd0J1ZmZlcnMoKSk7CisgICAgVXBkYXRlRGVwdGhTdGVuY2ls
QWNjZXNzKGNvbnRleHRWaywgZnJhbWVidWZmZXIsIGJsaXREZXB0aCwgYmxpdFN0ZW5jaWwpOwog
CiAgICAgVmtEZXNjcmlwdG9ySW1hZ2VJbmZvIGltYWdlSW5mb3NbMl0gPSB7fTsKIApAQCAtMjUy
OSw3ICsyNTUxLDcgQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpzdGVuY2lsQmxpdFJlc29sdmVO
b1NoYWRlckV4cG9ydChDb250ZXh0VmsgKmNvbnRleHRWaywKIAogICAgIEFOR0xFX1RSWShibGl0
QnVmZmVyLmdldCgpLmluaXRTdWJhbGxvY2F0aW9uKAogICAgICAgICBjb250ZXh0VmssIGNvbnRl
eHRWay0+Z2V0UmVuZGVyZXIoKS0+Z2V0RGV2aWNlTG9jYWxNZW1vcnlUeXBlSW5kZXgoKSwKLSAg
ICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihidWZmZXJTaXplKSwgR2V0RGVmYXVsdEJ1ZmZlckFs
aWdubWVudChjb250ZXh0VmstPmdldFJlbmRlcmVyKCkpKSk7CisgICAgICAgIHN0YXRpY19jYXN0
PHNpemVfdD4oYnVmZmVyU2l6ZSksIGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKS0+Z2V0RGVmYXVs
dEJ1ZmZlckFsaWdubWVudCgpKSk7CiAgICAgYmxpdEJ1ZmZlci5nZXQoKS5yZXRhaW5SZWFkV3Jp
dGUoJmNvbnRleHRWay0+Z2V0UmVzb3VyY2VVc2VMaXN0KCkpOwogCiAgICAgQmxpdFJlc29sdmVT
dGVuY2lsTm9FeHBvcnRTaGFkZXJQYXJhbXMgc2hhZGVyUGFyYW1zOwpAQCAtMjgzNyw2ICsyODU5
LDggQEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpjb3B5SW1hZ2UoQ29udGV4dFZrICpjb250ZXh0
VmssCiAgICAgQU5HTEVfVFJZKAogICAgICAgICBzdGFydFJlbmRlclBhc3MoY29udGV4dFZrLCBk
c3QsIGRlc3RWaWV3LCByZW5kZXJQYXNzRGVzYywgcmVuZGVyQXJlYSwgJmNvbW1hbmRCdWZmZXIp
KTsKIAorICAgIFVwZGF0ZUNvbG9yQWNjZXNzKGNvbnRleHRWaywgTWFrZUNvbG9yQnVmZmVyTWFz
aygwKSwgTWFrZUNvbG9yQnVmZmVyTWFzaygwKSk7CisKICAgICBWa1ZpZXdwb3J0IHZpZXdwb3J0
OwogICAgIGdsX3ZrOjpHZXRWaWV3cG9ydChyZW5kZXJBcmVhLCAwLjBmLCAxLjBmLCBmYWxzZSwg
ZmFsc2UsIGRzdC0+Z2V0RXh0ZW50cygpLmhlaWdodCwgJnZpZXdwb3J0KTsKICAgICBjb21tYW5k
QnVmZmVyLT5zZXRWaWV3cG9ydCgwLCAxLCAmdmlld3BvcnQpOwpAQCAtMzQxNyw2ICszNDQxLDgg
QEAgYW5nbGU6OlJlc3VsdCBVdGlsc1ZrOjpkcmF3T3ZlcmxheShDb250ZXh0VmsgKmNvbnRleHRW
aywKICAgICBBTkdMRV9UUlkoCiAgICAgICAgIHN0YXJ0UmVuZGVyUGFzcyhjb250ZXh0VmssIGRz
dCwgZGVzdFZpZXcsIHJlbmRlclBhc3NEZXNjLCByZW5kZXJBcmVhLCAmY29tbWFuZEJ1ZmZlcikp
OwogCisgICAgVXBkYXRlQ29sb3JBY2Nlc3MoY29udGV4dFZrLCBNYWtlQ29sb3JCdWZmZXJNYXNr
KDApLCBNYWtlQ29sb3JCdWZmZXJNYXNrKDApKTsKKwogICAgIFZrVmlld3BvcnQgdmlld3BvcnQ7
CiAgICAgZ2xfdms6OkdldFZpZXdwb3J0KHJlbmRlckFyZWEsIDAuMGYsIDEuMGYsIGZhbHNlLCBm
YWxzZSwgZHN0LT5nZXRFeHRlbnRzKCkuaGVpZ2h0LCAmdmlld3BvcnQpOwogICAgIGNvbW1hbmRC
dWZmZXItPnNldFZpZXdwb3J0KDAsIDEsICZ2aWV3cG9ydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL1ZlcnRleEFycmF5
VmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1
bGthbi9WZXJ0ZXhBcnJheVZrLmNwcAppbmRleCAwNTQ5YzdmNjlmMjU1NzgzYmE2NmVkMGRiOTZm
YWViM2ZkNWViNTk1Li5jOWMxODZjODg4ODhiM2ZkZGUwM2MzZDYwMTg3ZGUzMGE0OThlN2E0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL1ZlcnRleEFycmF5VmsuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vVmVydGV4QXJyYXlWay5jcHAKQEAgLTcwNywxMCAr
NzA3LDE0IEBAIGFuZ2xlOjpSZXN1bHQgVmVydGV4QXJyYXlWazo6c3luY0RpcnR5QXR0cmliKENv
bnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAgICAgICBidWZmZXJPbmx5ID0gZmFs
c2U7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgdms6OkJ1ZmZlckhlbHBl
ciAqYnVmZmVySGVscGVyICAgICAgICAgID0gY29udmVyc2lvbi0+ZGF0YS5nZXQoKTsKLSAgICAg
ICAgICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVyc1thdHRyaWJJbmRleF0gICAgICAgPSBidWZm
ZXJIZWxwZXI7Ci0gICAgICAgICAgICAgICAgbUN1cnJlbnRBcnJheUJ1ZmZlckhhbmRsZXNbYXR0
cmliSW5kZXhdID0gYnVmZmVySGVscGVyLT5nZXRCdWZmZXIoKS5nZXRIYW5kbGUoKTsKLSAgICAg
ICAgICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVyT2Zmc2V0c1thdHRyaWJJbmRleF0gPSBidWZm
ZXJIZWxwZXItPmdldE9mZnNldCgpOworICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJIZWxwZXIg
KmJ1ZmZlckhlbHBlciAgICA9IGNvbnZlcnNpb24tPmRhdGEuZ2V0KCk7CisgICAgICAgICAgICAg
ICAgbUN1cnJlbnRBcnJheUJ1ZmZlcnNbYXR0cmliSW5kZXhdID0gYnVmZmVySGVscGVyOworICAg
ICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSBidWZmZXJPZmZzZXQ7CisgICAgICAgICAgICAgICAg
bUN1cnJlbnRBcnJheUJ1ZmZlckhhbmRsZXNbYXR0cmliSW5kZXhdID0KKyAgICAgICAgICAgICAg
ICAgICAgYnVmZmVySGVscGVyCisgICAgICAgICAgICAgICAgICAgICAgICAtPmdldEJ1ZmZlckZv
clZlcnRleEFycmF5KGNvbnRleHRWaywgYnVmZmVySGVscGVyLT5nZXRTaXplKCksICZidWZmZXJP
ZmZzZXQpCisgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0SGFuZGxlKCk7CisgICAgICAgICAg
ICAgICAgbUN1cnJlbnRBcnJheUJ1ZmZlck9mZnNldHNbYXR0cmliSW5kZXhdID0gYnVmZmVyT2Zm
c2V0OwogICAgICAgICAgICAgICAgIC8vIENvbnZlcnRlZCBhdHRyaWJzIGFyZSBwYWNrZWQgaW4g
dGhlaXIgb3duIFZLIGJ1ZmZlciBzbyBvZmZzZXQgaXMgemVybwogICAgICAgICAgICAgICAgIG1D
dXJyZW50QXJyYXlCdWZmZXJSZWxhdGl2ZU9mZnNldHNbYXR0cmliSW5kZXhdID0gMDsKIApAQCAt
NzMwLDE1ICs3MzQsMTggQEAgYW5nbGU6OlJlc3VsdCBWZXJ0ZXhBcnJheVZrOjpzeW5jRGlydHlB
dHRyaWIoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHZrOjpC
dWZmZXJIZWxwZXIgJmJ1ZmZlckhlbHBlciAgICAgICAgICA9IGJ1ZmZlclZrLT5nZXRCdWZmZXIo
KTsKLSAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXplIGJ1ZmZlck9mZnNldCAgICAgICAg
ICAgICAgID0gYnVmZmVySGVscGVyLmdldE9mZnNldCgpOwotICAgICAgICAgICAgICAgICAgICBt
Q3VycmVudEFycmF5QnVmZmVyc1thdHRyaWJJbmRleF0gICAgICAgPSAmYnVmZmVySGVscGVyOwot
ICAgICAgICAgICAgICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVySGFuZGxlc1thdHRyaWJJbmRl
eF0gPSBidWZmZXJIZWxwZXIuZ2V0QnVmZmVyKCkuZ2V0SGFuZGxlKCk7CisgICAgICAgICAgICAg
ICAgICAgIHZrOjpCdWZmZXJIZWxwZXIgJmJ1ZmZlckhlbHBlciAgICA9IGJ1ZmZlclZrLT5nZXRC
dWZmZXIoKTsKKyAgICAgICAgICAgICAgICAgICAgbUN1cnJlbnRBcnJheUJ1ZmZlcnNbYXR0cmli
SW5kZXhdID0gJmJ1ZmZlckhlbHBlcjsKKyAgICAgICAgICAgICAgICAgICAgVmtEZXZpY2VTaXpl
IGJ1ZmZlck9mZnNldDsKKyAgICAgICAgICAgICAgICAgICAgbUN1cnJlbnRBcnJheUJ1ZmZlckhh
bmRsZXNbYXR0cmliSW5kZXhdID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlckhlbHBl
cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRCdWZmZXJGb3JWZXJ0ZXhBcnJheShj
b250ZXh0VmssIGJ1ZmZlclZrLT5nZXRTaXplKCksICZidWZmZXJPZmZzZXQpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLmdldEhhbmRsZSgpOwogCiAgICAgICAgICAgICAgICAgICAgIC8v
IFZ1bGthbiByZXF1aXJlcyB0aGUgb2Zmc2V0IGlzIHdpdGhpbiB0aGUgYnVmZmVyLiBXZSB1c2Ug
cm9idXN0IGFjY2VzcwogICAgICAgICAgICAgICAgICAgICAvLyBiZWhhdmlvdXIgdG8gcmVzZXQg
dGhlIG9mZnNldCBpZiBpdCBzdGFydHMgb3V0c2lkZSB0aGUgYnVmZmVyLgogICAgICAgICAgICAg
ICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVyT2Zmc2V0c1thdHRyaWJJbmRleF0gPQotICAgICAg
ICAgICAgICAgICAgICAgICAgYmluZGluZy5nZXRPZmZzZXQoKSA8IHN0YXRpY19jYXN0PEdMaW50
NjQ+KGJ1ZmZlckhlbHBlci5nZXRTaXplKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBiaW5k
aW5nLmdldE9mZnNldCgpIDwgc3RhdGljX2Nhc3Q8R0xpbnQ2ND4oYnVmZmVyVmstPmdldFNpemUo
KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGJpbmRpbmcuZ2V0T2Zmc2V0KCkgKyBi
dWZmZXJPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGJ1ZmZlck9mZnNldDsK
IApAQCAtOTI0LDkgKzkzMSwxMyBAQCBhbmdsZTo6UmVzdWx0IFZlcnRleEFycmF5Vms6OnVwZGF0
ZVN0cmVhbWVkQXR0cmlicyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRleEZvcm1hdC5nZXRWZXJ0ZXhMb2FkRnVu
Y3Rpb24oY29tcHJlc3NlZCkpKTsKICAgICAgICAgfQogCi0gICAgICAgIG1DdXJyZW50QXJyYXlC
dWZmZXJzW2F0dHJpYkluZGV4XSAgICAgICA9IHZlcnRleERhdGFCdWZmZXI7Ci0gICAgICAgIG1D
dXJyZW50QXJyYXlCdWZmZXJIYW5kbGVzW2F0dHJpYkluZGV4XSA9IHZlcnRleERhdGFCdWZmZXIt
PmdldEJ1ZmZlcigpLmdldEhhbmRsZSgpOwotICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVyT2Zm
c2V0c1thdHRyaWJJbmRleF0gPSBtQ3VycmVudEFycmF5QnVmZmVyc1thdHRyaWJJbmRleF0tPmdl
dE9mZnNldCgpOworICAgICAgICBtQ3VycmVudEFycmF5QnVmZmVyc1thdHRyaWJJbmRleF0gPSB2
ZXJ0ZXhEYXRhQnVmZmVyOworICAgICAgICBWa0RldmljZVNpemUgYnVmZmVyT2Zmc2V0OworICAg
ICAgICBtQ3VycmVudEFycmF5QnVmZmVySGFuZGxlc1thdHRyaWJJbmRleF0gPQorICAgICAgICAg
ICAgdmVydGV4RGF0YUJ1ZmZlcgorICAgICAgICAgICAgICAgIC0+Z2V0QnVmZmVyRm9yVmVydGV4
QXJyYXkoY29udGV4dFZrLCB2ZXJ0ZXhEYXRhQnVmZmVyLT5nZXRTaXplKCksICZidWZmZXJPZmZz
ZXQpCisgICAgICAgICAgICAgICAgLmdldEhhbmRsZSgpOworICAgICAgICBtQ3VycmVudEFycmF5
QnVmZmVyT2Zmc2V0c1thdHRyaWJJbmRleF0gPSBidWZmZXJPZmZzZXQ7CiAgICAgfQogCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMTAwNSw4ICsxMDE2LDExIEBAIGFu
Z2xlOjpSZXN1bHQgVmVydGV4QXJyYXlWazo6dXBkYXRlRGVmYXVsdEF0dHJpYihDb250ZXh0Vmsg
KmNvbnRleHRWaywgc2l6ZV90IGF0CiAgICAgICAgIG1lbWNweShwdHIsICZkZWZhdWx0VmFsdWUu
VmFsdWVzLCBrRGVmYXVsdFZhbHVlU2l6ZSk7CiAgICAgICAgIEFOR0xFX1RSWShidWZmZXJIZWxw
ZXItPmZsdXNoKGNvbnRleHRWay0+Z2V0UmVuZGVyZXIoKSkpOwogCi0gICAgICAgIG1DdXJyZW50
QXJyYXlCdWZmZXJIYW5kbGVzW2F0dHJpYkluZGV4XSA9IGJ1ZmZlckhlbHBlci0+Z2V0QnVmZmVy
KCkuZ2V0SGFuZGxlKCk7Ci0gICAgICAgIG1DdXJyZW50QXJyYXlCdWZmZXJPZmZzZXRzW2F0dHJp
YkluZGV4XSA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihidWZmZXJIZWxwZXItPmdldE9mZnNldCgp
KTsKKyAgICAgICAgVmtEZXZpY2VTaXplIGJ1ZmZlck9mZnNldDsKKyAgICAgICAgbUN1cnJlbnRB
cnJheUJ1ZmZlckhhbmRsZXNbYXR0cmliSW5kZXhdID0KKyAgICAgICAgICAgIGJ1ZmZlckhlbHBl
ci0+Z2V0QnVmZmVyRm9yVmVydGV4QXJyYXkoY29udGV4dFZrLCBrRGVmYXVsdFZhbHVlU2l6ZSwg
JmJ1ZmZlck9mZnNldCkKKyAgICAgICAgICAgICAgICAuZ2V0SGFuZGxlKCk7CisgICAgICAgIG1D
dXJyZW50QXJyYXlCdWZmZXJPZmZzZXRzW2F0dHJpYkluZGV4XSA9IGJ1ZmZlck9mZnNldDsKICAg
ICAgICAgbUN1cnJlbnRBcnJheUJ1ZmZlcnNbYXR0cmliSW5kZXhdICAgICAgID0gYnVmZmVySGVs
cGVyOwogCiAgICAgICAgIEFOR0xFX1RSWShzZXREZWZhdWx0UGFja2VkSW5wdXQoY29udGV4dFZr
LCBhdHRyaWJJbmRleCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9hbmRyb2lkL0hhcmR3YXJlQnVmZmVySW1hZ2VTaWJs
aW5nVmtBbmRyb2lkLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vYW5kcm9pZC9IYXJkd2FyZUJ1ZmZlckltYWdlU2libGluZ1ZrQW5kcm9p
ZC5jcHAKaW5kZXggM2VlNDFlMTNkZWQ4YjY5OGFmMDE0YmRjN2FhM2MwNmNhOWQ4OGMxNC4uN2Rk
M2Y0Nzg3MTQ5ZjI5MjIzYjgzYjFiMzYyOTk3MWQyOTZlNDlhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9hbmRyb2lkL0hh
cmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL2FuZHJvaWQvSGFyZHdhcmVC
dWZmZXJJbWFnZVNpYmxpbmdWa0FuZHJvaWQuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFZrSW1hZ2VU
aWxpbmcgQWhiRGVzY1VzYWdlVG9Wa0ltYWdlVGlsaW5nKGNvbnN0IEFIYXJkd2FyZUJ1ZmZlcl9E
ZXNjICZhaGJEZXNjcmlwCiB9CiAKIC8vIE1hcCBBSEIgdXNhZ2UgZmxhZ3MgdG8gVmtJbWFnZVVz
YWdlRmxhZ3MgdXNpbmcgdGhpcyB0YWJsZSBmcm9tIHRoZSBWdWxrYW4gc3BlYwotLy8gaHR0cHM6
Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvdnVsa2FuL3NwZWNzLzEuMi1leHRlbnNpb25zL2h0
bWwvY2hhcDEwLmh0bWwjbWVtb3J5LWV4dGVybmFsLWFuZHJvaWQtaGFyZHdhcmUtYnVmZmVyLXVz
YWdlCisvLyBodHRwczovL3d3dy5raHJvbm9zLm9yZy9yZWdpc3RyeS92dWxrYW4vc3BlY3MvMS4y
LWV4dGVuc2lvbnMvaHRtbC9jaGFwMTEuaHRtbCNtZW1vcnktZXh0ZXJuYWwtYW5kcm9pZC1oYXJk
d2FyZS1idWZmZXItdXNhZ2UKIFZrSW1hZ2VVc2FnZUZsYWdzIEFoYkRlc2NVc2FnZVRvVmtJbWFn
ZVVzYWdlKGNvbnN0IEFIYXJkd2FyZUJ1ZmZlcl9EZXNjICZhaGJEZXNjcmlwdGlvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNEZXB0aE9yU3Rl
bmNpbEZvcm1hdCkKIHsKQEAgLTk3LDEyICs5NywzOSBAQCBWa0ltYWdlVXNhZ2VGbGFncyBBaGJE
ZXNjVXNhZ2VUb1ZrSW1hZ2VVc2FnZShjb25zdCBBSGFyZHdhcmVCdWZmZXJfRGVzYyAmYWhiRGVz
YwogICAgICAgICB9CiAgICAgfQogCisgICAgcmV0dXJuIHVzYWdlOworfQorCisvLyBNYXAgQUhC
IHVzYWdlIGZsYWdzIHRvIFZrSW1hZ2VDcmVhdGVGbGFncyB1c2luZyB0aGlzIHRhYmxlIGZyb20g
dGhlIFZ1bGthbiBzcGVjCisvLyBodHRwczovL3d3dy5raHJvbm9zLm9yZy9yZWdpc3RyeS92dWxr
YW4vc3BlY3MvMS4yLWV4dGVuc2lvbnMvaHRtbC9jaGFwMTEuaHRtbCNtZW1vcnktZXh0ZXJuYWwt
YW5kcm9pZC1oYXJkd2FyZS1idWZmZXItdXNhZ2UKK1ZrSW1hZ2VDcmVhdGVGbGFncyBBaGJEZXNj
VXNhZ2VUb1ZrSW1hZ2VDcmVhdGVGbGFncyhjb25zdCBBSGFyZHdhcmVCdWZmZXJfRGVzYyAmYWhi
RGVzY3JpcHRpb24pCit7CisgICAgVmtJbWFnZUNyZWF0ZUZsYWdzIGltYWdlQ3JlYXRlRmxhZ3Mg
PSB2azo6a1ZrSW1hZ2VDcmVhdGVGbGFnc05vbmU7CisKICAgICBpZiAoKGFoYkRlc2NyaXB0aW9u
LnVzYWdlICYgQUhBUkRXQVJFQlVGRkVSX1VTQUdFX0dQVV9DVUJFX01BUCkgIT0gMCkKICAgICB7
Ci0gICAgICAgIHVzYWdlIHw9IFZLX0lNQUdFX0NSRUFURV9DVUJFX0NPTVBBVElCTEVfQklUOwor
ICAgICAgICBpbWFnZUNyZWF0ZUZsYWdzIHw9IFZLX0lNQUdFX0NSRUFURV9DVUJFX0NPTVBBVElC
TEVfQklUOwogICAgIH0KIAotICAgIHJldHVybiB1c2FnZTsKKyAgICBpZiAoKGFoYkRlc2NyaXB0
aW9uLnVzYWdlICYgQUhBUkRXQVJFQlVGRkVSX1VTQUdFX1BST1RFQ1RFRF9DT05URU5UKSAhPSAw
KQorICAgIHsKKyAgICAgICAgaW1hZ2VDcmVhdGVGbGFncyB8PSBWS19JTUFHRV9DUkVBVEVfUFJP
VEVDVEVEX0JJVDsKKyAgICB9CisKKyAgICByZXR1cm4gaW1hZ2VDcmVhdGVGbGFnczsKK30KKwor
Ly8gRGVkdWNlIHRleHR1cmUgdHlwZSBiYXNlZCBvbiBBSEIgdXNhZ2UgZmxhZ3MgYW5kIGxheWVy
IGNvdW50CitnbDo6VGV4dHVyZVR5cGUgQWhiRGVzY1VzYWdlVG9UZXh0dXJlVHlwZShjb25zdCBB
SGFyZHdhcmVCdWZmZXJfRGVzYyAmYWhiRGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCBsYXllckNvdW50KQoreworICAg
IGdsOjpUZXh0dXJlVHlwZSB0ZXh0dXJlVHlwZSA9IGxheWVyQ291bnQgPiAxID8gZ2w6OlRleHR1
cmVUeXBlOjpfMkRBcnJheSA6IGdsOjpUZXh0dXJlVHlwZTo6XzJEOworICAgIGlmICgoYWhiRGVz
Y3JpcHRpb24udXNhZ2UgJiBBSEFSRFdBUkVCVUZGRVJfVVNBR0VfR1BVX0NVQkVfTUFQKSAhPSAw
KQorICAgIHsKKyAgICAgICAgdGV4dHVyZVR5cGUgPSBsYXllckNvdW50ID4gZ2w6OmtDdWJlRmFj
ZUNvdW50ID8gZ2w6OlRleHR1cmVUeXBlOjpDdWJlTWFwQXJyYXkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZ2w6OlRleHR1cmVUeXBlOjpD
dWJlTWFwOworICAgIH0KKyAgICByZXR1cm4gdGV4dHVyZVR5cGU7CiB9CiB9ICAvLyBuYW1lc3Bh
Y2UKIApAQCAtMTEyLDYgKzEzOSw4IEBAIEhhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRy
b2lkOjpIYXJkd2FyZUJ1ZmZlckltYWdlU2libGluZ1ZrQW5kcm9pZChFR0xDbGllCiAgICAgICBt
UmVuZGVyYWJsZShmYWxzZSksCiAgICAgICBtVGV4dHVyZWFibGUoZmFsc2UpLAogICAgICAgbVlV
VihmYWxzZSksCisgICAgICBtTGV2ZWxDb3VudCgwKSwKKyAgICAgIG1Vc2FnZSgwKSwKICAgICAg
IG1TYW1wbGVzKDApLAogICAgICAgbUltYWdlKG51bGxwdHIpCiB7fQpAQCAtMjY4LDYgKzI5Nywx
MiBAQCBhbmdsZTo6UmVzdWx0IEhhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkOjpp
bml0SW1wbChEaXNwbGF5VmsgKmRpc3BsYXlWawogICAgIFZrRXh0ZW50M0QgdmtFeHRlbnRzOwog
ICAgIGdsX3ZrOjpHZXRFeHRlbnQobVNpemUsICZ2a0V4dGVudHMpOwogCisgICAgLy8gU2V0dXAg
bGV2ZWwgY291bnQKKyAgICBtTGV2ZWxDb3VudCA9ICgoYWhiRGVzY3JpcHRpb24udXNhZ2UgJiBB
SEFSRFdBUkVCVUZGRVJfVVNBR0VfR1BVX01JUE1BUF9DT01QTEVURSkgIT0gMCkKKyAgICAgICAg
ICAgICAgICAgICAgICA/IHN0YXRpY19jYXN0PHVpbnQzMl90Pihsb2cyKHN0ZDo6bWF4KG1TaXpl
LndpZHRoLCBtU2l6ZS5oZWlnaHQpKSkgKyAxCisgICAgICAgICAgICAgICAgICAgICAgOiAxOwor
CisgICAgLy8gU2V0dXAgbGF5ZXIgY291bnQKICAgICBjb25zdCB1aW50MzJfdCBsYXllckNvdW50
ID0gbVNpemUuZGVwdGg7CiAgICAgdmtFeHRlbnRzLmRlcHRoICAgICAgICAgICA9IDE7CiAKQEAg
LTI3NywxNiArMzEyLDExIEBAIGFuZ2xlOjpSZXN1bHQgSGFyZHdhcmVCdWZmZXJJbWFnZVNpYmxp
bmdWa0FuZHJvaWQ6OmluaXRJbXBsKERpc3BsYXlWayAqZGlzcGxheVZrCiAgICAgYm9vbCByb2J1
c3RJbml0RW5hYmxlZCA9IGZhbHNlOwogCiAgICAgbUltYWdlLT5zZXRUaWxpbmdNb2RlKGltYWdl
VGlsaW5nTW9kZSk7Ci0gICAgVmtJbWFnZUNyZWF0ZUZsYWdzIGltYWdlQ3JlYXRlRmxhZ3MgPSB2
azo6a1ZrSW1hZ2VDcmVhdGVGbGFnc05vbmU7Ci0gICAgaWYgKGhhc1Byb3RlY3RlZENvbnRlbnQo
KSkKLSAgICB7Ci0gICAgICAgIGltYWdlQ3JlYXRlRmxhZ3MgfD0gVktfSU1BR0VfQ1JFQVRFX1BS
T1RFQ1RFRF9CSVQ7Ci0gICAgfQorICAgIFZrSW1hZ2VDcmVhdGVGbGFncyBpbWFnZUNyZWF0ZUZs
YWdzID0gQWhiRGVzY1VzYWdlVG9Wa0ltYWdlQ3JlYXRlRmxhZ3MoYWhiRGVzY3JpcHRpb24pOwog
CiAgICAgY29uc3Qgdms6OkZvcm1hdCAmZm9ybWF0ID0KICAgICAgICAgYnVmZmVyRm9ybWF0UHJv
cGVydGllcy5mb3JtYXQgPT0gVktfRk9STUFUX1VOREVGSU5FRCA/IGV4dGVybmFsVmtGb3JtYXQg
OiB2a0Zvcm1hdDsKLSAgICBjb25zdCBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5cGUgPQotICAg
ICAgICBsYXllckNvdW50ID4gMSA/IGdsOjpUZXh0dXJlVHlwZTo6XzJEQXJyYXkgOiBnbDo6VGV4
dHVyZVR5cGU6Ol8yRDsKKyAgICBjb25zdCBnbDo6VGV4dHVyZVR5cGUgdGV4dHVyZVR5cGUgPSBB
aGJEZXNjVXNhZ2VUb1RleHR1cmVUeXBlKGFoYkRlc2NyaXB0aW9uLCBsYXllckNvdW50KTsKIAog
ICAgIFZrSW1hZ2VGb3JtYXRMaXN0Q3JlYXRlSW5mb0tIUiBpbWFnZUZvcm1hdExpc3RJbmZvU3Rv
cmFnZTsKICAgICB2azo6SW1hZ2VIZWxwZXI6OkltYWdlTGlzdEZvcm1hdHMgaW1hZ2VMaXN0Rm9y
bWF0c1N0b3JhZ2U7CkBAIC0yOTcsNyArMzI3LDcgQEAgYW5nbGU6OlJlc3VsdCBIYXJkd2FyZUJ1
ZmZlckltYWdlU2libGluZ1ZrQW5kcm9pZDo6aW5pdEltcGwoRGlzcGxheVZrICpkaXNwbGF5VmsK
ICAgICBBTkdMRV9UUlkobUltYWdlLT5pbml0RXh0ZXJuYWwoZGlzcGxheVZrLCB0ZXh0dXJlVHlw
ZSwgdmtFeHRlbnRzLCBmb3JtYXQuZ2V0SW50ZW5kZWRGb3JtYXRJRCgpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQuZ2V0QWN0dWFsUmVuZGVyYWJsZUltYWdlRm9y
bWF0SUQoKSwgMSwgdXNhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlt
YWdlQ3JlYXRlRmxhZ3MsIHZrOjpJbWFnZUxheW91dDo6RXh0ZXJuYWxQcmVJbml0aWFsaXplZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDcmVhdGVJbmZvUE5leHQs
IGdsOjpMZXZlbEluZGV4KDApLCAxLCBsYXllckNvdW50LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbWFnZUNyZWF0ZUluZm9QTmV4dCwgZ2w6OkxldmVsSW5kZXgoMCksIG1M
ZXZlbENvdW50LCBsYXllckNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByb2J1c3RJbml0RW5hYmxlZCwgaGFzUHJvdGVjdGVkQ29udGVudCgpKSk7CiAKICAgICBWa0lt
cG9ydEFuZHJvaWRIYXJkd2FyZUJ1ZmZlckluZm9BTkRST0lEIGltcG9ydEhhcmR3YXJlQnVmZmVy
SW5mbyA9IHt9OwpAQCAtMzg5LDYgKzQxOSwxMSBAQCBib29sIEhhcmR3YXJlQnVmZmVySW1hZ2VT
aWJsaW5nVmtBbmRyb2lkOjppc1lVVigpIGNvbnN0CiAgICAgcmV0dXJuIG1ZVVY7CiB9CiAKK2Jv
b2wgSGFyZHdhcmVCdWZmZXJJbWFnZVNpYmxpbmdWa0FuZHJvaWQ6OmlzQ3ViZU1hcCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIChtVXNhZ2UgJiBBSEFSRFdBUkVCVUZGRVJfVVNBR0VfR1BVX0NVQkVf
TUFQKSAhPSAwOworfQorCiBib29sIEhhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lk
OjpoYXNQcm90ZWN0ZWRDb250ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gKChtVXNhZ2UgJiBB
SEFSRFdBUkVCVUZGRVJfVVNBR0VfUFJPVEVDVEVEX0NPTlRFTlQpICE9IDApOwpAQCAtNDA0LDYg
KzQzOSwxMSBAQCBzaXplX3QgSGFyZHdhcmVCdWZmZXJJbWFnZVNpYmxpbmdWa0FuZHJvaWQ6Omdl
dFNhbXBsZXMoKSBjb25zdAogICAgIHJldHVybiBtU2FtcGxlczsKIH0KIAordWludDMyX3QgSGFy
ZHdhcmVCdWZmZXJJbWFnZVNpYmxpbmdWa0FuZHJvaWQ6OmdldExldmVsQ291bnQoKSBjb25zdAor
eworICAgIHJldHVybiBtTGV2ZWxDb3VudDsKK30KKwogLy8gRXh0ZXJuYWxJbWFnZVNpYmxpbmdW
ayBpbnRlcmZhY2UKIHZrOjpJbWFnZUhlbHBlciAqSGFyZHdhcmVCdWZmZXJJbWFnZVNpYmxpbmdW
a0FuZHJvaWQ6OmdldEltYWdlKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vYW5kcm9pZC9IYXJkd2FyZUJ1
ZmZlckltYWdlU2libGluZ1ZrQW5kcm9pZC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9hbmRyb2lkL0hhcmR3YXJlQnVmZmVySW1hZ2VTaWJs
aW5nVmtBbmRyb2lkLmgKaW5kZXggN2Y1NWJjYWJkNWU5YTAyOGQ0NTk3MTljNWI5NDVmZWQwYWIw
N2NkMS4uZTM1ZDhjMzM2Y2QxODA1NTA5ZmZmNmE0OWM3OTdmNmExZDQzNWI2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9h
bmRyb2lkL0hhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9hbmRyb2lkL0hh
cmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkLmgKQEAgLTMzLDkgKzMzLDExIEBAIGNs
YXNzIEhhcmR3YXJlQnVmZmVySW1hZ2VTaWJsaW5nVmtBbmRyb2lkIDogcHVibGljIEV4dGVybmFs
SW1hZ2VTaWJsaW5nVmsKICAgICBib29sIGlzUmVuZGVyYWJsZShjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1RleHR1cmFibGUoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNZVVYoKSBjb25z
dCBvdmVycmlkZTsKKyAgICBib29sIGlzQ3ViZU1hcCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaGFzUHJvdGVjdGVkQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGdsOjpFeHRlbnRz
IGdldFNpemUoKSBjb25zdCBvdmVycmlkZTsKICAgICBzaXplX3QgZ2V0U2FtcGxlcygpIGNvbnN0
IG92ZXJyaWRlOworICAgIHVpbnQzMl90IGdldExldmVsQ291bnQoKSBjb25zdCBvdmVycmlkZTsK
IAogICAgIC8vIEV4dGVybmFsSW1hZ2VTaWJsaW5nVmsgaW50ZXJmYWNlCiAgICAgdms6OkltYWdl
SGVscGVyICpnZXRJbWFnZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNTIsNiArNTQsNyBAQCBjbGFz
cyBIYXJkd2FyZUJ1ZmZlckltYWdlU2libGluZ1ZrQW5kcm9pZCA6IHB1YmxpYyBFeHRlcm5hbElt
YWdlU2libGluZ1ZrCiAgICAgYm9vbCBtUmVuZGVyYWJsZTsKICAgICBib29sIG1UZXh0dXJlYWJs
ZTsKICAgICBib29sIG1ZVVY7CisgICAgdWludDMyX3QgbUxldmVsQ291bnQ7CiAgICAgdWludDY0
X3QgbVVzYWdlOwogICAgIHNpemVfdCBtU2FtcGxlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19jYWNoZV91dGls
cy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL3ZrX2NhY2hlX3V0aWxzLmNwcAppbmRleCBiNDJlZmJmMzA2MGU3YzViY2RkYmY1ZTMyOTA2
Mjg2MjdmODBlMDAwLi4wNjBhYmNkYTU0MTM1NzY4OTU2ZGU1NmRlMGM5YzU2M2I1NzQ0N2I0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmNwcApAQCAtODg2LDgg
Kzg4NiwyOSBAQCBhbmdsZTo6UmVzdWx0IENyZWF0ZVJlbmRlclBhc3MyKENvbnRleHQgKmNvbnRl
eHQsCiB9CiAKIHZvaWQgVXBkYXRlUmVuZGVyUGFzc0NvbG9yUGVyZkNvdW50ZXJzKGNvbnN0IFZr
UmVuZGVyUGFzc0NyZWF0ZUluZm8gJmNyZWF0ZUluZm8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBWa1N1YnBhc3NEZXNjcmlwdGlvbiAmc3VicGFzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lYnVmZmVyQXR0YWNobWVu
dE1hc2sgZGVwdGhTdGVuY2lsQXR0YWNobWVudEluZGljZXMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXNzUGVyZkNvdW50ZXJzICpjb3VudGVyc091dCkK
K3sKKyAgICBmb3IgKHVpbnQzMl90IGluZGV4ID0gMDsgaW5kZXggPCBjcmVhdGVJbmZvLmF0dGFj
aG1lbnRDb3VudDsgaW5kZXgrKykKKyAgICB7CisgICAgICAgIGlmIChkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50SW5kaWNlcy50ZXN0KGluZGV4KSkKKyAgICAgICAgeworICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KKworICAgICAgICBWa0F0dGFjaG1lbnRMb2FkT3AgbG9hZE9wICAgPSBj
cmVhdGVJbmZvLnBBdHRhY2htZW50c1tpbmRleF0ubG9hZE9wOworICAgICAgICBWa0F0dGFjaG1l
bnRTdG9yZU9wIHN0b3JlT3AgPSBjcmVhdGVJbmZvLnBBdHRhY2htZW50c1tpbmRleF0uc3RvcmVP
cDsKKyAgICAgICAgY291bnRlcnNPdXQtPmNvbG9yTG9hZE9wQ2xlYXJzICs9IGxvYWRPcCA9PSBW
S19BVFRBQ0hNRU5UX0xPQURfT1BfQ0xFQVIgPyAxIDogMDsKKyAgICAgICAgY291bnRlcnNPdXQt
PmNvbG9yTG9hZE9wTG9hZHMgKz0gbG9hZE9wID09IFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9MT0FE
ID8gMSA6IDA7CisgICAgICAgIGNvdW50ZXJzT3V0LT5jb2xvckxvYWRPcE5vbmVzICs9IGxvYWRP
cCA9PSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTk9ORV9FWFQgPyAxIDogMDsKKyAgICAgICAgY291
bnRlcnNPdXQtPmNvbG9yU3RvcmVPcFN0b3JlcyArPSBzdG9yZU9wID09IFZLX0FUVEFDSE1FTlRf
U1RPUkVfT1BfU1RPUkUgPyAxIDogMDsKKyAgICAgICAgY291bnRlcnNPdXQtPmNvbG9yU3RvcmVP
cE5vbmVzICs9IHN0b3JlT3AgPT0gVktfQVRUQUNITUVOVF9TVE9SRV9PUF9OT05FX0VYVCA/IDEg
OiAwOworICAgIH0KK30KKwordm9pZCBVcGRhdGVTdWJwYXNzQ29sb3JQZXJmQ291bnRlcnMoY29u
c3QgVmtSZW5kZXJQYXNzQ3JlYXRlSW5mbyAmY3JlYXRlSW5mbywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrU3VicGFzc0Rlc2NyaXB0aW9uICZzdWJwYXNzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGFzc1BlcmZDb3VudGVy
cyAqY291bnRlcnNPdXQpCiB7CiAgICAgLy8gQ29sb3IgcmVzb2x2ZSBjb3VudGVycy4KICAgICBp
ZiAoc3VicGFzcy5wUmVzb2x2ZUF0dGFjaG1lbnRzID09IG51bGxwdHIpCkBAIC05MTgsMTUgKzkz
OSwxOCBAQCB2b2lkIFVwZGF0ZVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxQZXJmQ291bnRlcnMoY29u
c3QgVmtSZW5kZXJQYXNzQ3JlYXRlSW5mbyAmY3JlYQogICAgIC8vIERlcHRoL3N0ZW5jaWwgb3Bz
IGNvdW50ZXJzLgogICAgIGNvbnN0IFZrQXR0YWNobWVudERlc2NyaXB0aW9uICZkcyA9IGNyZWF0
ZUluZm8ucEF0dGFjaG1lbnRzW3JlbmRlclBhc3NJbmRleF07CiAKLSAgICBjb3VudGVyc091dC0+
ZGVwdGhDbGVhcnMgKz0gZHMubG9hZE9wID09IFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9DTEVBUiA/
IDEgOiAwOwotICAgIGNvdW50ZXJzT3V0LT5kZXB0aExvYWRzICs9IGRzLmxvYWRPcCA9PSBWS19B
VFRBQ0hNRU5UX0xPQURfT1BfTE9BRCA/IDEgOiAwOwotICAgIGNvdW50ZXJzT3V0LT5kZXB0aFN0
b3JlcyArPQotICAgICAgICBkcy5zdG9yZU9wID09IHN0YXRpY19jYXN0PHVpbnQxNl90PihSZW5k
ZXJQYXNzU3RvcmVPcDo6U3RvcmUpID8gMSA6IDA7CisgICAgY291bnRlcnNPdXQtPmRlcHRoTG9h
ZE9wQ2xlYXJzICs9IGRzLmxvYWRPcCA9PSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfQ0xFQVIgPyAx
IDogMDsKKyAgICBjb3VudGVyc091dC0+ZGVwdGhMb2FkT3BMb2FkcyArPSBkcy5sb2FkT3AgPT0g
VktfQVRUQUNITUVOVF9MT0FEX09QX0xPQUQgPyAxIDogMDsKKyAgICBjb3VudGVyc091dC0+ZGVw
dGhMb2FkT3BOb25lcyArPSBkcy5sb2FkT3AgPT0gVktfQVRUQUNITUVOVF9MT0FEX09QX05PTkVf
RVhUID8gMSA6IDA7CisgICAgY291bnRlcnNPdXQtPmRlcHRoU3RvcmVPcFN0b3JlcyArPSBkcy5z
dG9yZU9wID09IFZLX0FUVEFDSE1FTlRfU1RPUkVfT1BfU1RPUkUgPyAxIDogMDsKKyAgICBjb3Vu
dGVyc091dC0+ZGVwdGhTdG9yZU9wTm9uZXMgKz0gZHMuc3RvcmVPcCA9PSBWS19BVFRBQ0hNRU5U
X1NUT1JFX09QX05PTkVfRVhUID8gMSA6IDA7CiAKLSAgICBjb3VudGVyc091dC0+c3RlbmNpbENs
ZWFycyArPSBkcy5zdGVuY2lsTG9hZE9wID09IFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9DTEVBUiA/
IDEgOiAwOwotICAgIGNvdW50ZXJzT3V0LT5zdGVuY2lsTG9hZHMgKz0gZHMuc3RlbmNpbExvYWRP
cCA9PSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTE9BRCA/IDEgOiAwOwotICAgIGNvdW50ZXJzT3V0
LT5zdGVuY2lsU3RvcmVzICs9Ci0gICAgICAgIGRzLnN0ZW5jaWxTdG9yZU9wID09IHN0YXRpY19j
YXN0PHVpbnQxNl90PihSZW5kZXJQYXNzU3RvcmVPcDo6U3RvcmUpID8gMSA6IDA7CisgICAgY291
bnRlcnNPdXQtPnN0ZW5jaWxMb2FkT3BDbGVhcnMgKz0gZHMuc3RlbmNpbExvYWRPcCA9PSBWS19B
VFRBQ0hNRU5UX0xPQURfT1BfQ0xFQVIgPyAxIDogMDsKKyAgICBjb3VudGVyc091dC0+c3RlbmNp
bExvYWRPcExvYWRzICs9IGRzLnN0ZW5jaWxMb2FkT3AgPT0gVktfQVRUQUNITUVOVF9MT0FEX09Q
X0xPQUQgPyAxIDogMDsKKyAgICBjb3VudGVyc091dC0+c3RlbmNpbExvYWRPcE5vbmVzICs9IGRz
LnN0ZW5jaWxMb2FkT3AgPT0gVktfQVRUQUNITUVOVF9MT0FEX09QX05PTkVfRVhUID8gMSA6IDA7
CisgICAgY291bnRlcnNPdXQtPnN0ZW5jaWxTdG9yZU9wU3RvcmVzICs9IGRzLnN0ZW5jaWxTdG9y
ZU9wID09IFZLX0FUVEFDSE1FTlRfU1RPUkVfT1BfU1RPUkUgPyAxIDogMDsKKyAgICBjb3VudGVy
c091dC0+c3RlbmNpbFN0b3JlT3BOb25lcyArPQorICAgICAgICBkcy5zdGVuY2lsU3RvcmVPcCA9
PSBWS19BVFRBQ0hNRU5UX1NUT1JFX09QX05PTkVfRVhUID8gMSA6IDA7CiAKICAgICAvLyBEZXB0
aC9zdGVuY2lsIHJlYWQtb25seSBtb2RlLgogICAgIGNvdW50ZXJzT3V0LT5yZWFkT25seURlcHRo
U3RlbmNpbCArPQpAQCAtOTU0LDE0ICs5NzgsMTYgQEAgdm9pZCBVcGRhdGVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsUmVzb2x2ZVBlcmZDb3VudGVycygKICAgICBjb25zdCBWa0F0dGFjaG1lbnREZXNj
cmlwdGlvbiAmZHNSZXNvbHZlID0gY3JlYXRlSW5mby5wQXR0YWNobWVudHNbcmVzb2x2ZVJlbmRl
clBhc3NJbmRleF07CiAKICAgICAvLyBSZXNvbHZlIGRlcHRoL3N0ZW5jaWwgb3BzIGNvdW50ZXJz
LgotICAgIGNvdW50ZXJzT3V0LT5kZXB0aENsZWFycyArPSBkc1Jlc29sdmUubG9hZE9wID09IFZL
X0FUVEFDSE1FTlRfTE9BRF9PUF9DTEVBUiA/IDEgOiAwOwotICAgIGNvdW50ZXJzT3V0LT5kZXB0
aExvYWRzICs9IGRzUmVzb2x2ZS5sb2FkT3AgPT0gVktfQVRUQUNITUVOVF9MT0FEX09QX0xPQUQg
PyAxIDogMDsKLSAgICBjb3VudGVyc091dC0+ZGVwdGhTdG9yZXMgKz0KKyAgICBjb3VudGVyc091
dC0+ZGVwdGhMb2FkT3BDbGVhcnMgKz0gZHNSZXNvbHZlLmxvYWRPcCA9PSBWS19BVFRBQ0hNRU5U
X0xPQURfT1BfQ0xFQVIgPyAxIDogMDsKKyAgICBjb3VudGVyc091dC0+ZGVwdGhMb2FkT3BMb2Fk
cyArPSBkc1Jlc29sdmUubG9hZE9wID09IFZLX0FUVEFDSE1FTlRfTE9BRF9PUF9MT0FEID8gMSA6
IDA7CisgICAgY291bnRlcnNPdXQtPmRlcHRoU3RvcmVPcFN0b3JlcyArPQogICAgICAgICBkc1Jl
c29sdmUuc3RvcmVPcCA9PSBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVuZGVyUGFzc1N0b3JlT3A6
OlN0b3JlKSA/IDEgOiAwOwogCi0gICAgY291bnRlcnNPdXQtPnN0ZW5jaWxDbGVhcnMgKz0gZHNS
ZXNvbHZlLnN0ZW5jaWxMb2FkT3AgPT0gVktfQVRUQUNITUVOVF9MT0FEX09QX0NMRUFSID8gMSA6
IDA7Ci0gICAgY291bnRlcnNPdXQtPnN0ZW5jaWxMb2FkcyArPSBkc1Jlc29sdmUuc3RlbmNpbExv
YWRPcCA9PSBWS19BVFRBQ0hNRU5UX0xPQURfT1BfTE9BRCA/IDEgOiAwOwotICAgIGNvdW50ZXJz
T3V0LT5zdGVuY2lsU3RvcmVzICs9CisgICAgY291bnRlcnNPdXQtPnN0ZW5jaWxMb2FkT3BDbGVh
cnMgKz0KKyAgICAgICAgZHNSZXNvbHZlLnN0ZW5jaWxMb2FkT3AgPT0gVktfQVRUQUNITUVOVF9M
T0FEX09QX0NMRUFSID8gMSA6IDA7CisgICAgY291bnRlcnNPdXQtPnN0ZW5jaWxMb2FkT3BMb2Fk
cyArPQorICAgICAgICBkc1Jlc29sdmUuc3RlbmNpbExvYWRPcCA9PSBWS19BVFRBQ0hNRU5UX0xP
QURfT1BfTE9BRCA/IDEgOiAwOworICAgIGNvdW50ZXJzT3V0LT5zdGVuY2lsU3RvcmVPcFN0b3Jl
cyArPQogICAgICAgICBkc1Jlc29sdmUuc3RlbmNpbFN0b3JlT3AgPT0gc3RhdGljX2Nhc3Q8dWlu
dDE2X3Q+KFJlbmRlclBhc3NTdG9yZU9wOjpTdG9yZSkgPyAxIDogMDsKIAogICAgIC8vIERlcHRo
L3N0ZW5jaWwgcmVzb2x2ZSBjb3VudGVycy4KQEAgLTk4NSw5ICsxMDExLDkgQEAgdm9pZCBVcGRh
dGVSZW5kZXJQYXNzUGVyZkNvdW50ZXJzKAogICAgIHsKICAgICAgICAgY29uc3QgVmtTdWJwYXNz
RGVzY3JpcHRpb24gJnN1YnBhc3MgPSBjcmVhdGVJbmZvLnBTdWJwYXNzZXNbc3VicGFzc0luZGV4
XTsKIAotICAgICAgICAvLyBDb2xvciBjb3VudGVycy4gIE5vdGU6IGN1cnJlbnRseSB0aGVyZSBh
cmUgbm8gY291bnRlcnMgZm9yIGxvYWQvc3RvcmUgb3BzIG9mIGNvbG9yCi0gICAgICAgIC8vIGF0
dGFjaG1lbnRzLCBzbyB0aGVyZSdzIG5vIHJpc2sgb2YgZG91YmxlIGNvdW50aW5nLgotICAgICAg
ICBVcGRhdGVSZW5kZXJQYXNzQ29sb3JQZXJmQ291bnRlcnMoY3JlYXRlSW5mbywgc3VicGFzcywg
Y291bnRlcnNPdXQpOworICAgICAgICAvLyBDb2xvciBjb3VudGVycy4KKyAgICAgICAgLy8gTk9U
RTogRm9yIHNpbXBsaWNpdHksIHRoaXMgd2lsbCBhY2N1bXVsYXRlIGNvdW50cyBmb3IgYWxsIHN1
YnBhc3NlcyBpbiB0aGUgcmVuZGVycGFzcy4KKyAgICAgICAgVXBkYXRlU3VicGFzc0NvbG9yUGVy
ZkNvdW50ZXJzKGNyZWF0ZUluZm8sIHN1YnBhc3MsIGNvdW50ZXJzT3V0KTsKIAogICAgICAgICAv
LyBSZWNvcmQgaW5kZXggb2YgZGVwdGgvc3RlbmNpbCBhdHRhY2htZW50LgogICAgICAgICBpZiAo
c3VicGFzcy5wRGVwdGhTdGVuY2lsQXR0YWNobWVudCAhPSBudWxscHRyKQpAQCAtMTAwMCw2ICsx
MDI2LDggQEAgdm9pZCBVcGRhdGVSZW5kZXJQYXNzUGVyZkNvdW50ZXJzKAogICAgICAgICB9CiAg
ICAgfQogCisgICAgVXBkYXRlUmVuZGVyUGFzc0NvbG9yUGVyZkNvdW50ZXJzKGNyZWF0ZUluZm8s
IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRJbmRpY2VzLCBjb3VudGVyc091dCk7CisKICAgICAvLyBE
ZXB0aC9zdGVuY2lsIGNvdW50ZXJzLiAgQ3VycmVudGx5LCBib3RoIHN1YnBhc3NlcyB1c2UgdGhl
IHNhbWUgZGVwdGgvc3RlbmNpbCBhdHRhY2htZW50IChpZgogICAgIC8vIGFueSkuCiAgICAgQVNT
RVJUKGRlcHRoU3RlbmNpbEF0dGFjaG1lbnRJbmRpY2VzLmNvdW50KCkgPD0gMSk7CkBAIC0xMzQ5
LDEyICsxMzc3LDIxIEBAIHZvaWQgR2V0UmVuZGVyUGFzc0FuZFVwZGF0ZUNvdW50ZXJzKENvbnRl
eHRWayAqY29udGV4dFZrLAogICAgICAgICBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICZjb3Vu
dGVycyAgICAgID0gY29udGV4dFZrLT5nZXRQZXJmQ291bnRlcnMoKTsKICAgICAgICAgY29uc3Qg
UmVuZGVyUGFzc1BlcmZDb3VudGVycyAmcnBDb3VudGVycyA9IHJlbmRlclBhc3NIZWxwZXItPmdl
dFBlcmZDb3VudGVycygpOwogCi0gICAgICAgIGNvdW50ZXJzLmRlcHRoQ2xlYXJzICs9IHJwQ291
bnRlcnMuZGVwdGhDbGVhcnM7Ci0gICAgICAgIGNvdW50ZXJzLmRlcHRoTG9hZHMgKz0gcnBDb3Vu
dGVycy5kZXB0aExvYWRzOwotICAgICAgICBjb3VudGVycy5kZXB0aFN0b3JlcyArPSBycENvdW50
ZXJzLmRlcHRoU3RvcmVzOwotICAgICAgICBjb3VudGVycy5zdGVuY2lsQ2xlYXJzICs9IHJwQ291
bnRlcnMuc3RlbmNpbENsZWFyczsKLSAgICAgICAgY291bnRlcnMuc3RlbmNpbExvYWRzICs9IHJw
Q291bnRlcnMuc3RlbmNpbExvYWRzOwotICAgICAgICBjb3VudGVycy5zdGVuY2lsU3RvcmVzICs9
IHJwQ291bnRlcnMuc3RlbmNpbFN0b3JlczsKKyAgICAgICAgY291bnRlcnMuY29sb3JMb2FkT3BD
bGVhcnMgKz0gcnBDb3VudGVycy5jb2xvckxvYWRPcENsZWFyczsKKyAgICAgICAgY291bnRlcnMu
Y29sb3JMb2FkT3BMb2FkcyArPSBycENvdW50ZXJzLmNvbG9yTG9hZE9wTG9hZHM7CisgICAgICAg
IGNvdW50ZXJzLmNvbG9yTG9hZE9wTm9uZXMgKz0gcnBDb3VudGVycy5jb2xvckxvYWRPcE5vbmVz
OworICAgICAgICBjb3VudGVycy5jb2xvclN0b3JlT3BTdG9yZXMgKz0gcnBDb3VudGVycy5jb2xv
clN0b3JlT3BTdG9yZXM7CisgICAgICAgIGNvdW50ZXJzLmNvbG9yU3RvcmVPcE5vbmVzICs9IHJw
Q291bnRlcnMuY29sb3JTdG9yZU9wTm9uZXM7CisgICAgICAgIGNvdW50ZXJzLmRlcHRoTG9hZE9w
Q2xlYXJzICs9IHJwQ291bnRlcnMuZGVwdGhMb2FkT3BDbGVhcnM7CisgICAgICAgIGNvdW50ZXJz
LmRlcHRoTG9hZE9wTG9hZHMgKz0gcnBDb3VudGVycy5kZXB0aExvYWRPcExvYWRzOworICAgICAg
ICBjb3VudGVycy5kZXB0aExvYWRPcE5vbmVzICs9IHJwQ291bnRlcnMuZGVwdGhMb2FkT3BOb25l
czsKKyAgICAgICAgY291bnRlcnMuZGVwdGhTdG9yZU9wU3RvcmVzICs9IHJwQ291bnRlcnMuZGVw
dGhTdG9yZU9wU3RvcmVzOworICAgICAgICBjb3VudGVycy5kZXB0aFN0b3JlT3BOb25lcyArPSBy
cENvdW50ZXJzLmRlcHRoU3RvcmVPcE5vbmVzOworICAgICAgICBjb3VudGVycy5zdGVuY2lsTG9h
ZE9wQ2xlYXJzICs9IHJwQ291bnRlcnMuc3RlbmNpbExvYWRPcENsZWFyczsKKyAgICAgICAgY291
bnRlcnMuc3RlbmNpbExvYWRPcExvYWRzICs9IHJwQ291bnRlcnMuc3RlbmNpbExvYWRPcExvYWRz
OworICAgICAgICBjb3VudGVycy5zdGVuY2lsTG9hZE9wTm9uZXMgKz0gcnBDb3VudGVycy5zdGVu
Y2lsTG9hZE9wTm9uZXM7CisgICAgICAgIGNvdW50ZXJzLnN0ZW5jaWxTdG9yZU9wU3RvcmVzICs9
IHJwQ291bnRlcnMuc3RlbmNpbFN0b3JlT3BTdG9yZXM7CisgICAgICAgIGNvdW50ZXJzLnN0ZW5j
aWxTdG9yZU9wTm9uZXMgKz0gcnBDb3VudGVycy5zdGVuY2lsU3RvcmVPcE5vbmVzOwogICAgICAg
ICBjb3VudGVycy5jb2xvckF0dGFjaG1lbnRVbnJlc29sdmVzICs9IHJwQ291bnRlcnMuY29sb3JB
dHRhY2htZW50VW5yZXNvbHZlczsKICAgICAgICAgY291bnRlcnMuY29sb3JBdHRhY2htZW50UmVz
b2x2ZXMgKz0gcnBDb3VudGVycy5jb2xvckF0dGFjaG1lbnRSZXNvbHZlczsKICAgICAgICAgY291
bnRlcnMuZGVwdGhBdHRhY2htZW50VW5yZXNvbHZlcyArPSBycENvdW50ZXJzLmRlcHRoQXR0YWNo
bWVudFVucmVzb2x2ZXM7CkBAIC0xNDE0LDYgKzE0NTEsODIgQEAgdm9pZCBJbml0aWFsaXplU3Bl
Y2lhbGl6YXRpb25JbmZvKAogICAgIHNwZWNpYWxpemF0aW9uSW5mb091dC0+cERhdGEgICAgICAg
ICA9ICZzcGVjQ29uc3RzOwogfQogCisvLyBBZGp1c3QgYm9yZGVyIGNvbG9yIHZhbHVlIGFjY29y
ZGluZyB0byBpbnRlbmRlZCBmb3JtYXQuCitnbDo6Q29sb3JHZW5lcmljIEFkanVzdEJvcmRlckNv
bG9yKGNvbnN0IGFuZ2xlOjpDb2xvckdlbmVyaWMgJmJvcmRlckNvbG9yR2VuZXJpYywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5nbGU6OkZvcm1hdCAmZm9ybWF0
KQoreworICAgIGdsOjpDb2xvckdlbmVyaWMgYWRqdXN0ZWRCb3JkZXJDb2xvciA9IGJvcmRlckNv
bG9yR2VuZXJpYzsKKworICAgIC8vIEhhbmRsZSBkZXB0aCBmb3JtYXRzCisgICAgaWYgKGZvcm1h
dC5oYXNEZXB0aE9yU3RlbmNpbEJpdHMoKSkKKyAgICB7CisgICAgICAgIGlmIChmb3JtYXQuZGVw
dGhCaXRzID4gMCAmJiBmb3JtYXQuaXNVbm9ybSgpKQorICAgICAgICB7CisgICAgICAgICAgICAv
LyBEIG9yIEQvUyBmb3JtYXRzCisgICAgICAgICAgICBhZGp1c3RlZEJvcmRlckNvbG9yLmNvbG9y
Ri5yZWQgPSBnbDo6Y2xhbXAwMShib3JkZXJDb2xvckdlbmVyaWMuY29sb3JGLnJlZCk7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gYWRqdXN0ZWRCb3JkZXJDb2xvcjsKKyAgICB9CisKKyAg
ICAvLyBIYW5kbGUgTFVNQSBmb3JtYXRzCisgICAgaWYgKGZvcm1hdC5pc0xVTUEoKSAmJiBmb3Jt
YXQuYWxwaGFCaXRzID4gMCkKKyAgICB7CisgICAgICAgIGlmIChmb3JtYXQubHVtaW5hbmNlQml0
cyA+IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGFkanVzdGVkQm9yZGVyQ29sb3IuY29sb3JG
LmdyZWVuID0gYm9yZGVyQ29sb3JHZW5lcmljLmNvbG9yRi5hbHBoYTsKKyAgICAgICAgfQorICAg
ICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGFkanVzdGVkQm9yZGVyQ29sb3IuY29s
b3JGLnJlZCA9IGJvcmRlckNvbG9yR2VuZXJpYy5jb2xvckYuYWxwaGE7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gYWRqdXN0ZWRCb3JkZXJDb2xvcjsKKyAgICB9CisKKyAgICAvLyBIYW5k
bGUgYWxsIG90aGVyIGZvcm1hdHMKKyAgICBpZiAoZm9ybWF0LmlzU2ludCgpKQorICAgIHsKKyAg
ICAgICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvckkucmVkID0KKyAgICAgICAgICAgIGdsOjpj
bGFtcEZvckJpdENvdW50PGludD4oYm9yZGVyQ29sb3JHZW5lcmljLmNvbG9ySS5yZWQsIGZvcm1h
dC5yZWRCaXRzKTsKKyAgICAgICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvckkuZ3JlZW4gPQor
ICAgICAgICAgICAgZ2w6OmNsYW1wRm9yQml0Q291bnQ8aW50Pihib3JkZXJDb2xvckdlbmVyaWMu
Y29sb3JJLmdyZWVuLCBmb3JtYXQuZ3JlZW5CaXRzKTsKKyAgICAgICAgYWRqdXN0ZWRCb3JkZXJD
b2xvci5jb2xvckkuYmx1ZSA9CisgICAgICAgICAgICBnbDo6Y2xhbXBGb3JCaXRDb3VudDxpbnQ+
KGJvcmRlckNvbG9yR2VuZXJpYy5jb2xvckkuYmx1ZSwgZm9ybWF0LmJsdWVCaXRzKTsKKyAgICAg
ICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvckkuYWxwaGEgPQorICAgICAgICAgICAgZ2w6OmNs
YW1wRm9yQml0Q291bnQ8aW50Pihib3JkZXJDb2xvckdlbmVyaWMuY29sb3JJLmFscGhhLCBmb3Jt
YXQuYWxwaGFCaXRzKTsKKyAgICB9CisgICAgZWxzZSBpZiAoZm9ybWF0LmlzVWludCgpKQorICAg
IHsKKyAgICAgICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvclVJLnJlZCA9CisgICAgICAgICAg
ICBnbDo6Y2xhbXBGb3JCaXRDb3VudDx1bnNpZ25lZCBpbnQ+KGJvcmRlckNvbG9yR2VuZXJpYy5j
b2xvclVJLnJlZCwgZm9ybWF0LnJlZEJpdHMpOworICAgICAgICBhZGp1c3RlZEJvcmRlckNvbG9y
LmNvbG9yVUkuZ3JlZW4gPQorICAgICAgICAgICAgZ2w6OmNsYW1wRm9yQml0Q291bnQ8dW5zaWdu
ZWQgaW50Pihib3JkZXJDb2xvckdlbmVyaWMuY29sb3JVSS5ncmVlbiwgZm9ybWF0LmdyZWVuQml0
cyk7CisgICAgICAgIGFkanVzdGVkQm9yZGVyQ29sb3IuY29sb3JVSS5ibHVlID0KKyAgICAgICAg
ICAgIGdsOjpjbGFtcEZvckJpdENvdW50PHVuc2lnbmVkIGludD4oYm9yZGVyQ29sb3JHZW5lcmlj
LmNvbG9yVUkuYmx1ZSwgZm9ybWF0LmJsdWVCaXRzKTsKKyAgICAgICAgYWRqdXN0ZWRCb3JkZXJD
b2xvci5jb2xvclVJLmFscGhhID0KKyAgICAgICAgICAgIGdsOjpjbGFtcEZvckJpdENvdW50PHVu
c2lnbmVkIGludD4oYm9yZGVyQ29sb3JHZW5lcmljLmNvbG9yVUkuYWxwaGEsIGZvcm1hdC5hbHBo
YUJpdHMpOworICAgIH0KKyAgICBlbHNlIGlmIChmb3JtYXQuaXNTbm9ybSgpKQorICAgIHsKKyAg
ICAgICAgLy8gY2xhbXAgYmV0d2VlbiAtMS4wZiBhbmQgMS4wZgorICAgICAgICBhZGp1c3RlZEJv
cmRlckNvbG9yLmNvbG9yRi5yZWQgICA9IGdsOjpjbGFtcChib3JkZXJDb2xvckdlbmVyaWMuY29s
b3JGLnJlZCwgLTEuMGYsIDEuMGYpOworICAgICAgICBhZGp1c3RlZEJvcmRlckNvbG9yLmNvbG9y
Ri5ncmVlbiA9IGdsOjpjbGFtcChib3JkZXJDb2xvckdlbmVyaWMuY29sb3JGLmdyZWVuLCAtMS4w
ZiwgMS4wZik7CisgICAgICAgIGFkanVzdGVkQm9yZGVyQ29sb3IuY29sb3JGLmJsdWUgID0gZ2w6
OmNsYW1wKGJvcmRlckNvbG9yR2VuZXJpYy5jb2xvckYuYmx1ZSwgLTEuMGYsIDEuMGYpOworICAg
ICAgICBhZGp1c3RlZEJvcmRlckNvbG9yLmNvbG9yRi5hbHBoYSA9IGdsOjpjbGFtcChib3JkZXJD
b2xvckdlbmVyaWMuY29sb3JGLmFscGhhLCAtMS4wZiwgMS4wZik7CisgICAgfQorICAgIGVsc2Ug
aWYgKGZvcm1hdC5pc1Vub3JtKCkpCisgICAgeworICAgICAgICAvLyBjbGFtcCBiZXR3ZWVuIDAu
MGYgYW5kIDEuMGYKKyAgICAgICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvckYucmVkICAgPSBn
bDo6Y2xhbXAwMShib3JkZXJDb2xvckdlbmVyaWMuY29sb3JGLnJlZCk7CisgICAgICAgIGFkanVz
dGVkQm9yZGVyQ29sb3IuY29sb3JGLmdyZWVuID0gZ2w6OmNsYW1wMDEoYm9yZGVyQ29sb3JHZW5l
cmljLmNvbG9yRi5ncmVlbik7CisgICAgICAgIGFkanVzdGVkQm9yZGVyQ29sb3IuY29sb3JGLmJs
dWUgID0gZ2w6OmNsYW1wMDEoYm9yZGVyQ29sb3JHZW5lcmljLmNvbG9yRi5ibHVlKTsKKyAgICAg
ICAgYWRqdXN0ZWRCb3JkZXJDb2xvci5jb2xvckYuYWxwaGEgPSBnbDo6Y2xhbXAwMShib3JkZXJD
b2xvckdlbmVyaWMuY29sb3JGLmFscGhhKTsKKyAgICB9CisKKyAgICByZXR1cm4gYWRqdXN0ZWRC
b3JkZXJDb2xvcjsKK30KKwogLy8gVXRpbGl0eSBmb3Igc2V0dGluZyBhIHZhbHVlIG9uIGEgcGFj
a2VkIDQtYml0IGludGVnZXIgYXJyYXkuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3JjVD4KIHZvaWQg
SW50NEFycmF5X1NldCh1aW50OF90ICphcnJheUJ5dGVzLCB1aW50MzJfdCBhcnJheUluZGV4LCBT
cmNUIHZhbHVlKQpAQCAtMzM3MCwxMyArMzQ4MywxMSBAQCB2b2lkIFNhbXBsZXJEZXNjOjp1cGRh
dGUoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgbUJvcmRlckNvbG9yVHlwZSA9CiAgICAgICAg
IChzYW1wbGVyU3RhdGUuZ2V0Qm9yZGVyQ29sb3IoKS50eXBlID09IGFuZ2xlOjpDb2xvckdlbmVy
aWM6OlR5cGU6OkZsb2F0KSA/IDAgOiAxOwogCisgICAgLy8gQWRqdXN0IGJvcmRlciBjb2xvciBh
Y2NvcmRpbmcgdG8gaW50ZW5kZWQgZm9ybWF0CiAgICAgY29uc3Qgdms6OkZvcm1hdCAmdmtGb3Jt
YXQgPSBjb250ZXh0VmstPmdldFJlbmRlcmVyKCktPmdldEZvcm1hdChpbnRlbmRlZEZvcm1hdElE
KTsKLSAgICBtQm9yZGVyQ29sb3IgICAgICAgICAgICAgICA9IHNhbXBsZXJTdGF0ZS5nZXRCb3Jk
ZXJDb2xvcigpLmNvbG9yRjsKLSAgICBpZiAodmtGb3JtYXQuZ2V0SW50ZW5kZWRGb3JtYXRJRCgp
ICE9IGFuZ2xlOjpGb3JtYXRJRDo6Tk9ORSkKLSAgICB7Ci0gICAgICAgIExvYWRUZXh0dXJlQm9y
ZGVyRnVuY3Rpb25JbmZvIGxvYWRGdW5jdGlvbiA9IHZrRm9ybWF0LmdldFRleHR1cmVCb3JkZXJM
b2FkRnVuY3Rpb25zKCk7Ci0gICAgICAgIGxvYWRGdW5jdGlvbi5sb2FkRnVuY3Rpb24obUJvcmRl
ckNvbG9yKTsKLSAgICB9CisgICAgZ2w6OkNvbG9yR2VuZXJpYyBhZGp1c3RlZEJvcmRlckNvbG9y
ID0KKyAgICAgICAgQWRqdXN0Qm9yZGVyQ29sb3Ioc2FtcGxlclN0YXRlLmdldEJvcmRlckNvbG9y
KCksIHZrRm9ybWF0LmdldEludGVuZGVkRm9ybWF0KCkpOworICAgIG1Cb3JkZXJDb2xvciA9IGFk
anVzdGVkQm9yZGVyQ29sb3IuY29sb3JGOwogCiAgICAgbVJlc2VydmVkID0gMDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfY2FjaGVfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci92dWxrYW4vdmtfY2FjaGVfdXRpbHMuaAppbmRleCAzMDY4OTE0NTQwNDQzZWE2
YzU0MjMxZjM5MDAxYzY2ZTFlNTI0MjlmLi45NjcyOWI0NGUxMTQ3MTlhMDFiNDgwZTBjYmYzZTli
NjAwYzY2OWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhY2hlX3V0aWxzLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19jYWNoZV91dGlscy5oCkBA
IC0xMzI1LDYgKzEzMjUsNyBAQCBjbGFzcyBGcmFtZWJ1ZmZlckRlc2MKICAgICB2b2lkIHVwZGF0
ZUxheWVyQ291bnQodWludDMyX3QgbGF5ZXJDb3VudCk7CiAgICAgdWludDMyX3QgZ2V0TGF5ZXJD
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1MYXllckNvdW50OyB9CiAgICAgdm9pZCB1cGRhdGVGcmFt
ZWJ1ZmZlckZldGNoTW9kZShib29sIGhhc0ZyYW1lYnVmZmVyRmV0Y2gpOworICAgIGJvb2wgaGFz
RnJhbWVidWZmZXJGZXRjaCgpIGNvbnN0IHsgcmV0dXJuIG1IYXNGcmFtZWJ1ZmZlckZldGNoOyB9
CiAKICAgICBib29sIGlzTXVsdGl2aWV3KCkgY29uc3QgeyByZXR1cm4gbUlzTXVsdGl2aWV3OyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2NhcHNfdXRpbHMuY3BwCmluZGV4IGM0OGUz
OWQwMjAzMGE1YWQ3MGU4YjI5ZmIxODk5OWUyNWYwYjBkNzQuLmM5OGM5N2JhNzJiOGI1YTc2OGJh
YWU1OGQ5ZGM2NjEzN2QzNTg3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfY2Fwc191dGlscy5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19jYXBz
X3V0aWxzLmNwcApAQCAtMzkzLDYgKzM5Myw3IEBAIHZvaWQgUmVuZGVyZXJWazo6ZW5zdXJlQ2Fw
c0luaXRpYWxpemVkKCkgY29uc3QKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5FR0xJbWFnZUV4dGVy
bmFsV3JhcE1vZGVzRVhUID0gdHJ1ZTsKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5FR0xJbWFnZUV4
dGVybmFsRXNzbDNPRVMgICAgID0gdHJ1ZTsKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5FR0xJbWFn
ZUFycmF5RVhUICAgICAgICAgICAgID0gdHJ1ZTsKKyAgICBtTmF0aXZlRXh0ZW5zaW9ucy5FR0xJ
bWFnZVN0b3JhZ2VFWFQgICAgICAgICAgID0gdHJ1ZTsKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5t
ZW1vcnlPYmplY3RFWFQgICAgICAgICAgICAgID0gdHJ1ZTsKICAgICBtTmF0aXZlRXh0ZW5zaW9u
cy5tZW1vcnlPYmplY3RGZEVYVCAgICAgICAgICAgID0gZ2V0RmVhdHVyZXMoKS5zdXBwb3J0c0V4
dGVybmFsTWVtb3J5RmQuZW5hYmxlZDsKICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5tZW1vcnlPYmpl
Y3RGbGFnc0FOR0xFICAgICAgID0gdHJ1ZTsKQEAgLTg3NSw3ICs4NzYsOCBAQCB2b2lkIFJlbmRl
cmVyVms6OmVuc3VyZUNhcHNJbml0aWFsaXplZCgpIGNvbnN0CiAgICAgewogICAgICAgICByZXNl
cnZlZFZhcnlpbmdDb21wb25lbnRDb3VudCArPSBrUmVzZXJ2ZWRWYXJ5aW5nQ29tcG9uZW50c0Zv
ckdMTGluZVJhc3Rlcml6YXRpb247CiAgICAgfQotICAgIGlmIChnZXRGZWF0dXJlcygpLnN1cHBv
cnRzVHJhbnNmb3JtRmVlZGJhY2tFeHRlbnNpb24uZW5hYmxlZCkKKyAgICBpZiAoZ2V0RmVhdHVy
ZXMoKS5zdXBwb3J0c1RyYW5zZm9ybUZlZWRiYWNrRXh0ZW5zaW9uLmVuYWJsZWQgJiYKKyAgICAg
ICAgIWdldEZlYXR1cmVzKCkuc3VwcG9ydHNEZXB0aENsaXBDb250cm9sLmVuYWJsZWQpCiAgICAg
ewogICAgICAgICByZXNlcnZlZFZhcnlpbmdDb21wb25lbnRDb3VudCArPSBrUmVzZXJ2ZWRWYXJ5
aW5nQ29tcG9uZW50c0ZvclRyYW5zZm9ybUZlZWRiYWNrRXh0ZW5zaW9uOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfZm9ybWF0X3V0aWxzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3V0aWxzLmNwcAppbmRleCBiYWUwM2IyMjBj
OGE1NWZjNmQ5NzNmYTZlZTYwMjgwNTI5ZWRkZTQ3Li4xMTEwNDk1YTQ1YWQ4MWYzOTc3MThiMTk5
ZjQ4ZDMyY2E0MjA2OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2Zvcm1hdF91dGlscy5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a19mb3JtYXRf
dXRpbHMuY3BwCkBAIC0xMSw3ICsxMSw2IEBACiAjaW5jbHVkZSAibGliQU5HTEUvVGV4dHVyZS5o
IgogI2luY2x1ZGUgImxpYkFOR0xFL2Zvcm1hdHV0aWxzLmgiCiAjaW5jbHVkZSAibGliQU5HTEUv
cmVuZGVyZXIvbG9hZF9mdW5jdGlvbnNfdGFibGUuaCIKLSNpbmNsdWRlICJsaWJBTkdMRS9yZW5k
ZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1bmN0aW9uc190YWJsZS5oIgogI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9Db250ZXh0VmsuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9y
ZW5kZXJlci92dWxrYW4vUmVuZGVyZXJWay5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVy
L3Z1bGthbi92a19jYXBzX3V0aWxzLmgiCkBAIC0yODAsOCArMjc5LDYgQEAgdm9pZCBGb3JtYXRU
YWJsZTo6aW5pdGlhbGl6ZShSZW5kZXJlclZrICpyZW5kZXJlciwKICAgICAgICAgewogICAgICAg
ICAgICAgZm9ybWF0Lm1UZXh0dXJlTG9hZEZ1bmN0aW9ucyA9IEdldExvYWRGdW5jdGlvbnNNYXAo
CiAgICAgICAgICAgICAgICAgZm9ybWF0Lm1JbnRlbmRlZEdMRm9ybWF0LCBmb3JtYXQubUFjdHVh
bFNhbXBsZU9ubHlJbWFnZUZvcm1hdElEKTsKLSAgICAgICAgICAgIGZvcm1hdC5tVGV4dHVyZUJv
cmRlckxvYWRGdW5jdGlvbnMgPSBHZXRMb2FkVGV4dHVyZUJvcmRlckZ1bmN0aW9uc01hcCgKLSAg
ICAgICAgICAgICAgICBmb3JtYXQubUludGVuZGVkR0xGb3JtYXQsIGZvcm1hdC5tQWN0dWFsU2Ft
cGxlT25seUltYWdlRm9ybWF0SUQpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvcm1hdC5t
QWN0dWFsUmVuZGVyYWJsZUltYWdlRm9ybWF0SUQgPT0gZm9ybWF0Lm1BY3R1YWxTYW1wbGVPbmx5
SW1hZ2VGb3JtYXRJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX2Zvcm1hdF91dGlscy5o
CmluZGV4IDIzMTgyYTMzZjk1MWQ5MTkzNzA0YzI5ODhjODdlNjdlZDAzZDYzNGIuLjdhZTNmMjll
MzM4N2I1NDJjY2VkNTZhYzkwMmJhMWJhMzMwZjBiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfZm9ybWF0X3V0aWxz
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1
bGthbi92a19mb3JtYXRfdXRpbHMuaApAQCAtMTE2LDEwICsxMTYsNiBAQCBjbGFzcyBGb3JtYXQg
ZmluYWwgOiBwcml2YXRlIGFuZ2xlOjpOb25Db3B5YWJsZQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbVRleHR1cmVMb2FkRnVuY3Rpb25zKHR5cGUp
OwogICAgIH0KIAotICAgIExvYWRUZXh0dXJlQm9yZGVyRnVuY3Rpb25JbmZvIGdldFRleHR1cmVC
b3JkZXJMb2FkRnVuY3Rpb25zKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtVGV4dHVy
ZUJvcmRlckxvYWRGdW5jdGlvbnMoKTsKLSAgICB9CiAgICAgLy8gVGhlIGFjdHVhbCBCdWZmZXIg
Zm9ybWF0IGlzIHVzZWQgdG8gaW1wbGVtZW50IHRoZSBmcm9udC1lbmQgZm9ybWF0IGZvciBCdWZm
ZXJzLiAgVGhpcyBmb3JtYXQKICAgICAvLyBpcyB1c2VkIGJ5IHZlcnRleCBidWZmZXJzIGFzIHdl
bGwgYXMgdGV4dHVyZSBidWZmZXJzLiAgTm90ZSB0aGF0IGFsbCBmb3JtYXRzIHJlcXVpcmVkIGZv
cgogICAgIC8vIEdMX0VYVF90ZXh0dXJlX2J1ZmZlciBoYXZlIG1hbmRhdG9yeSBzdXBwb3J0IGZv
ciB2ZXJ0ZXggYnVmZmVycyBpbiBWdWxrYW4sIHNvIHRoZXkgd29uJ3QgYmUKQEAgLTE5MSw3ICsx
ODcsNiBAQCBjbGFzcyBGb3JtYXQgZmluYWwgOiBwcml2YXRlIGFuZ2xlOjpOb25Db3B5YWJsZQog
CiAgICAgSW5pdGlhbGl6ZVRleHR1cmVEYXRhRnVuY3Rpb24gbUltYWdlSW5pdGlhbGl6ZXJGdW5j
dGlvbjsKICAgICBMb2FkRnVuY3Rpb25NYXAgbVRleHR1cmVMb2FkRnVuY3Rpb25zOwotICAgIExv
YWRUZXh0dXJlQm9yZGVyRnVuY3Rpb25NYXAgbVRleHR1cmVCb3JkZXJMb2FkRnVuY3Rpb25zOwog
ICAgIExvYWRGdW5jdGlvbk1hcCBtUmVuZGVyYWJsZVRleHR1cmVMb2FkRnVuY3Rpb25zOwogICAg
IFZlcnRleENvcHlGdW5jdGlvbiBtVmVydGV4TG9hZEZ1bmN0aW9uOwogICAgIFZlcnRleENvcHlG
dW5jdGlvbiBtQ29tcHJlc3NlZFZlcnRleExvYWRGdW5jdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVy
cy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvdnVs
a2FuL3ZrX2hlbHBlcnMuY3BwCmluZGV4IGY5ZjA3ZjgxZTExN2ZiMzA0NmRmMTZkNWJjNzQwZDRi
MDgxZjBkNjMuLmFmM2Y0Yzg2NDZlODRiMmZlODA1ZDc4MTM4ZWY1ZTBkNTQ1YjhiODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfaGVscGVycy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi92a19oZWxwZXJzLmNwcApAQCAtNDYsNiArNDYsOCBAQCBjb25z
dGV4cHIgYW5nbGU6OlBhY2tlZEVudW1NYXA8UGlwZWxpbmVTdGFnZSwgVmtQaXBlbGluZVN0YWdl
RmxhZ0JpdHM+IGtQaXBlbGluZQogICAgIHtQaXBlbGluZVN0YWdlOjpEcmF3SW5kaXJlY3QsIFZL
X1BJUEVMSU5FX1NUQUdFX0RSQVdfSU5ESVJFQ1RfQklUfSwKICAgICB7UGlwZWxpbmVTdGFnZTo6
VmVydGV4SW5wdXQsIFZLX1BJUEVMSU5FX1NUQUdFX1ZFUlRFWF9JTlBVVF9CSVR9LAogICAgIHtQ
aXBlbGluZVN0YWdlOjpWZXJ0ZXhTaGFkZXIsIFZLX1BJUEVMSU5FX1NUQUdFX1ZFUlRFWF9TSEFE
RVJfQklUfSwKKyAgICB7UGlwZWxpbmVTdGFnZTo6VGVzc2VsbGF0aW9uQ29udHJvbCwgVktfUElQ
RUxJTkVfU1RBR0VfVEVTU0VMTEFUSU9OX0NPTlRST0xfU0hBREVSX0JJVH0sCisgICAge1BpcGVs
aW5lU3RhZ2U6OlRlc3NlbGxhdGlvbkV2YWx1YXRpb24sIFZLX1BJUEVMSU5FX1NUQUdFX1RFU1NF
TExBVElPTl9FVkFMVUFUSU9OX1NIQURFUl9CSVR9LAogICAgIHtQaXBlbGluZVN0YWdlOjpHZW9t
ZXRyeVNoYWRlciwgVktfUElQRUxJTkVfU1RBR0VfR0VPTUVUUllfU0hBREVSX0JJVH0sCiAgICAg
e1BpcGVsaW5lU3RhZ2U6OlRyYW5zZm9ybUZlZWRiYWNrLCBWS19QSVBFTElORV9TVEFHRV9UUkFO
U0ZPUk1fRkVFREJBQ0tfQklUX0VYVH0sCiAgICAge1BpcGVsaW5lU3RhZ2U6OkVhcmx5RnJhZ21l
bnRUZXN0LCBWS19QSVBFTElORV9TVEFHRV9FQVJMWV9GUkFHTUVOVF9URVNUU19CSVR9LApAQCAt
NTksOCArNjEsMTAgQEAgY29uc3RleHByIGFuZ2xlOjpQYWNrZWRFbnVtTWFwPFBpcGVsaW5lU3Rh
Z2UsIFZrUGlwZWxpbmVTdGFnZUZsYWdCaXRzPiBrUGlwZWxpbmUKIAogY29uc3RleHByIGdsOjpT
aGFkZXJNYXA8UGlwZWxpbmVTdGFnZT4ga1BpcGVsaW5lU3RhZ2VTaGFkZXJNYXAgPSB7CiAgICAg
e2dsOjpTaGFkZXJUeXBlOjpWZXJ0ZXgsIFBpcGVsaW5lU3RhZ2U6OlZlcnRleFNoYWRlcn0sCi0g
ICAge2dsOjpTaGFkZXJUeXBlOjpGcmFnbWVudCwgUGlwZWxpbmVTdGFnZTo6RnJhZ21lbnRTaGFk
ZXJ9LAorICAgIHtnbDo6U2hhZGVyVHlwZTo6VGVzc0NvbnRyb2wsIFBpcGVsaW5lU3RhZ2U6OlRl
c3NlbGxhdGlvbkNvbnRyb2x9LAorICAgIHtnbDo6U2hhZGVyVHlwZTo6VGVzc0V2YWx1YXRpb24s
IFBpcGVsaW5lU3RhZ2U6OlRlc3NlbGxhdGlvbkV2YWx1YXRpb259LAogICAgIHtnbDo6U2hhZGVy
VHlwZTo6R2VvbWV0cnksIFBpcGVsaW5lU3RhZ2U6Okdlb21ldHJ5U2hhZGVyfSwKKyAgICB7Z2w6
OlNoYWRlclR5cGU6OkZyYWdtZW50LCBQaXBlbGluZVN0YWdlOjpGcmFnbWVudFNoYWRlcn0sCiAg
ICAge2dsOjpTaGFkZXJUeXBlOjpDb21wdXRlLCBQaXBlbGluZVN0YWdlOjpDb21wdXRlU2hhZGVy
fSwKIH07CiAKQEAgLTg1OSw2ICs4NjMsMTkgQEAgQU5HTEVfTUFZQkVfVU5VU0VEIHZvaWQgUmVz
ZXRTZWNvbmRhcnlDb21tYW5kQnVmZmVyKAogewogICAgIHJlc2V0TGlzdC0+cHVzaF9iYWNrKHN0
ZDo6bW92ZShjb21tYW5kQnVmZmVyKSk7CiB9CisKK2Jvb2wgSXNDbGVhcihVcGRhdGVTb3VyY2Ug
dXBkYXRlU291cmNlKQoreworICAgIHJldHVybiB1cGRhdGVTb3VyY2UgPT0gVXBkYXRlU291cmNl
OjpDbGVhciB8fAorICAgICAgICAgICB1cGRhdGVTb3VyY2UgPT0gVXBkYXRlU291cmNlOjpDbGVh
ckVtdWxhdGVkQ2hhbm5lbHNPbmx5IHx8CisgICAgICAgICAgIHVwZGF0ZVNvdXJjZSA9PSBVcGRh
dGVTb3VyY2U6OkNsZWFyQWZ0ZXJJbnZhbGlkYXRlOworfQorCitib29sIElzQ2xlYXJPZkFsbENo
YW5uZWxzKFVwZGF0ZVNvdXJjZSB1cGRhdGVTb3VyY2UpCit7CisgICAgcmV0dXJuIHVwZGF0ZVNv
dXJjZSA9PSBVcGRhdGVTb3VyY2U6OkNsZWFyIHx8CisgICAgICAgICAgIHVwZGF0ZVNvdXJjZSA9
PSBVcGRhdGVTb3VyY2U6OkNsZWFyQWZ0ZXJJbnZhbGlkYXRlOworfQogfSAgLy8gYW5vbnltb3Vz
IG5hbWVzcGFjZQogCiAvLyBUaGlzIGlzIGFuIGFyYml0cmFyeSBtYXguIFdlIGNhbiBjaGFuZ2Ug
dGhpcyBsYXRlciBpZiBuZWNlc3NhcnkuCkBAIC0xMDEzLDYgKzEwMzAsOCBAQCB2b2lkIFJlbmRl
clBhc3NBdHRhY2htZW50Ojppbml0KEltYWdlSGVscGVyICppbWFnZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVmtJbWFnZUFzcGVjdEZsYWdCaXRzIGFzcGVjdCkKIHsKKyAgICBBU1NF
UlQobUltYWdlID09IG51bGxwdHIpOworCiAgICAgbUltYWdlICAgICAgPSBpbWFnZTsKICAgICBt
TGV2ZWxJbmRleCA9IGxldmVsSW5kZXg7CiAgICAgbUxheWVySW5kZXggPSBsYXllckluZGV4OwpA
QCAtMTExMCw5ICsxMTI5LDkgQEAgdm9pZCBSZW5kZXJQYXNzQXR0YWNobWVudDo6ZmluYWxpemVM
b2FkU3RvcmUoQ29udGV4dCAqY29udGV4dCwKICAgICBjb25zdCBib29sIHN1cHBvcnRzU3RvcmVP
cE5vbmUgPQogICAgICAgICBzdXBwb3J0c0xvYWRTdG9yZU9wTm9uZSB8fAogICAgICAgICBjb250
ZXh0LT5nZXRSZW5kZXJlcigpLT5nZXRGZWF0dXJlcygpLnN1cHBvcnRzUmVuZGVyUGFzc1N0b3Jl
T3BOb25lUUNPTS5lbmFibGVkOwotICAgIGlmIChtSW1hZ2UtPmhhc1JlbmRlclBhc3NVc2FnZUZs
YWcoUmVuZGVyUGFzc1VzYWdlOjpSZWFkT25seUF0dGFjaG1lbnQpICYmIHN1cHBvcnRzU3RvcmVP
cE5vbmUpCisgICAgaWYgKG1BY2Nlc3MgPT0gUmVzb3VyY2VBY2Nlc3M6OlJlYWRPbmx5ICYmIHN1
cHBvcnRzU3RvcmVPcE5vbmUpCiAgICAgewotICAgICAgICBpZiAoKnN0b3JlT3AgPT0gUmVuZGVy
UGFzc1N0b3JlT3A6OlN0b3JlKQorICAgICAgICBpZiAoKnN0b3JlT3AgPT0gUmVuZGVyUGFzc1N0
b3JlT3A6OlN0b3JlICYmICpsb2FkT3AgIT0gUmVuZGVyUGFzc0xvYWRPcDo6Q2xlYXIpCiAgICAg
ICAgIHsKICAgICAgICAgICAgICpzdG9yZU9wID0gUmVuZGVyUGFzc1N0b3JlT3A6Ok5vbmU7CiAg
ICAgICAgIH0KQEAgLTExMjcsMTIgKzExNDYsMzQgQEAgdm9pZCBSZW5kZXJQYXNzQXR0YWNobWVu
dDo6ZmluYWxpemVMb2FkU3RvcmUoQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgIC8vIGxv
YWQvY2xlYXIgb3AuCiAgICAgICAgICAgICAqbG9hZE9wID0gUmVuZGVyUGFzc0xvYWRPcDo6RG9u
dENhcmU7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoKmxvYWRPcCAhPSBSZW5kZXJQYXNz
TG9hZE9wOjpDbGVhciAmJiBzdXBwb3J0c0xvYWRTdG9yZU9wTm9uZSkKKyAgICAgICAgZWxzZQog
ICAgICAgICB7Ci0gICAgICAgICAgICAvLyBPdGhlcndpc2UgbWFrZSBzdXJlIHRoZSBhdHRhY2ht
ZW50IGlzIG5laXRoZXIgbG9hZGVkIG5vciBzdG9yZWQgKGFzIGl0J3MgbmVpdGhlcgotICAgICAg
ICAgICAgLy8gdXNlZCBub3IgaW52YWxpZGF0ZWQpLgotICAgICAgICAgICAgKmxvYWRPcCAgPSBS
ZW5kZXJQYXNzTG9hZE9wOjpOb25lOwotICAgICAgICAgICAgKnN0b3JlT3AgPSBSZW5kZXJQYXNz
U3RvcmVPcDo6Tm9uZTsKKyAgICAgICAgICAgIHN3aXRjaCAoKmxvYWRPcCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBjYXNlIFJlbmRlclBhc3NMb2FkT3A6OkNsZWFyOgorICAgICAg
ICAgICAgICAgICAgICAvLyBDYW5ub3Qgb3B0aW1pemUgYXdheSB0aGUgb3BzIGlmIHRoZSBhdHRh
Y2htZW50IGlzIGNsZWFyZWQgKGV2ZW4gaWYgbm90IHVzZWQKKyAgICAgICAgICAgICAgICAgICAg
Ly8gYWZ0ZXJ3YXJkcykKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgY2FzZSBSZW5kZXJQYXNzTG9hZE9wOjpMb2FkOgorICAgICAgICAgICAgICAgICAgICAvLyBN
YWtlIHN1cmUgdGhlIGF0dGFjaG1lbnQgaXMgbmVpdGhlciBsb2FkZWQgbm9yIHN0b3JlZCAoYXMg
aXQncyBuZWl0aGVyIHVzZWQKKyAgICAgICAgICAgICAgICAgICAgLy8gbm9yIGludmFsaWRhdGVk
KSwgaWYgcG9zc2libGUuCisgICAgICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0c0xvYWRTdG9y
ZU9wTm9uZSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
KmxvYWRPcCA9IFJlbmRlclBhc3NMb2FkT3A6Ok5vbmU7CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRzU3RvcmVPcE5vbmUpCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICpzdG9yZU9wID0gUmVuZGVyUGFz
c1N0b3JlT3A6Ok5vbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBSZW5kZXJQYXNzTG9hZE9wOjpEb250Q2Fy
ZToKKyAgICAgICAgICAgICAgICBjYXNlIFJlbmRlclBhc3NMb2FkT3A6Ok5vbmU6CisgICAgICAg
ICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgLy8gbG9hZE9wPURvbnRDYXJl
IHNob3VsZCBiZSBjb3ZlcmVkIGJ5IHN0b3JlT3A9RG9udENhcmUgYWJvdmUuCisgICAgICAgICAg
ICAgICAgICAgIC8vIGxvYWRPcD1Ob25lIGlzIG5ldmVyIGRlY2lkZWQgdXBmcm9udC4KKyAgICAg
ICAgICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xNDY5LDcgKzE1MTAsNyBA
QCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlcjo6UmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJI
ZWxwZXIoKQogICAgICAgbUlzVHJhbnNmb3JtRmVlZGJhY2tBY3RpdmVVbnBhdXNlZChmYWxzZSks
CiAgICAgICBtUHJldmlvdXNTdWJwYXNzZXNDbWRDb3VudCgwKSwKICAgICAgIG1EZXB0aFN0ZW5j
aWxBdHRhY2htZW50SW5kZXgoa0F0dGFjaG1lbnRJbmRleEludmFsaWQpLAotICAgICAgbUNvbG9y
SW1hZ2VzQ291bnQoMCksCisgICAgICBtQ29sb3JBdHRhY2htZW50c0NvdW50KDApLAogICAgICAg
bUltYWdlT3B0aW1pemVGb3JQcmVzZW50KG51bGxwdHIpCiB7fQogCkBAIC0xNDkzLDI0ICsxNTM0
LDI5IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OnJlc2V0
KENvbnRleHQgKmNvbnRleHQpCiB7CiAgICAgcmVzZXRJbXBsKCk7CiAKKyAgICBmb3IgKFBhY2tl
ZEF0dGFjaG1lbnRJbmRleCBpbmRleCA9IGtBdHRhY2htZW50SW5kZXhaZXJvOyBpbmRleCA8IG1D
b2xvckF0dGFjaG1lbnRzQ291bnQ7CisgICAgICAgICArK2luZGV4KQorICAgIHsKKyAgICAgICAg
bUNvbG9yQXR0YWNobWVudHNbaW5kZXhdLnJlc2V0KCk7CisgICAgICAgIG1Db2xvclJlc29sdmVB
dHRhY2htZW50c1tpbmRleF0ucmVzZXQoKTsKKyAgICB9CisKKyAgICBtRGVwdGhBdHRhY2htZW50
LnJlc2V0KCk7CisgICAgbURlcHRoUmVzb2x2ZUF0dGFjaG1lbnQucmVzZXQoKTsKKyAgICBtU3Rl
bmNpbEF0dGFjaG1lbnQucmVzZXQoKTsKKyAgICBtU3RlbmNpbFJlc29sdmVBdHRhY2htZW50LnJl
c2V0KCk7CisKICAgICBtUmVuZGVyUGFzc1N0YXJ0ZWQgICAgICAgICAgICAgICAgID0gZmFsc2U7
CiAgICAgbVZhbGlkVHJhbnNmb3JtRmVlZGJhY2tCdWZmZXJDb3VudCA9IDA7CiAgICAgbVJlYmlu
ZFRyYW5zZm9ybUZlZWRiYWNrQnVmZmVycyAgICA9IGZhbHNlOwogICAgIG1IYXNTaGFkZXJTdG9y
YWdlT3V0cHV0ICAgICAgICAgICAgPSBmYWxzZTsKICAgICBtSGFzR0xNZW1vcnlCYXJyaWVySXNz
dWVkICAgICAgICAgID0gZmFsc2U7CiAgICAgbVByZXZpb3VzU3VicGFzc2VzQ21kQ291bnQgICAg
ICAgICA9IDA7Ci0gICAgbUNvbG9ySW1hZ2VzQ291bnQgICAgICAgICAgICAgICAgICA9IFBhY2tl
ZEF0dGFjaG1lbnRDb3VudCgwKTsKKyAgICBtQ29sb3JBdHRhY2htZW50c0NvdW50ICAgICAgICAg
ICAgID0gUGFja2VkQXR0YWNobWVudENvdW50KDApOwogICAgIG1EZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50SW5kZXggICAgICAgPSBrQXR0YWNobWVudEluZGV4SW52YWxpZDsKICAgICBtUmVuZGVyUGFz
c1VzZWRJbWFnZXMuY2xlYXIoKTsKLSAgICBtQ29sb3JJbWFnZXMucmVzZXQoKTsKLSAgICBtQ29s
b3JSZXNvbHZlSW1hZ2VzLnJlc2V0KCk7CiAgICAgbUltYWdlT3B0aW1pemVGb3JQcmVzZW50ID0g
bnVsbHB0cjsKIAotICAgIG1EZXB0aEF0dGFjaG1lbnQucmVzZXQoKTsKLSAgICBtRGVwdGhSZXNv
bHZlQXR0YWNobWVudC5yZXNldCgpOwotICAgIG1TdGVuY2lsQXR0YWNobWVudC5yZXNldCgpOwot
ICAgIG1TdGVuY2lsUmVzb2x2ZUF0dGFjaG1lbnQucmVzZXQoKTsKLQogICAgIC8vIFJlc2V0IGFu
ZCByZS1pbml0aWFsaXplIHRoZSBjb21tYW5kIGJ1ZmZlcnMKICAgICBmb3IgKHVpbnQzMl90IHN1
YnBhc3MgPSAwOyBzdWJwYXNzIDw9IG1DdXJyZW50U3VicGFzczsgKytzdWJwYXNzKQogICAgIHsK
QEAgLTE1NjEsMTEgKzE2MDcsMTQgQEAgdm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBl
cjo6aW1hZ2VXcml0ZShDb250ZXh0VmsgKmNvbnRleHRWaywKIH0KIAogdm9pZCBSZW5kZXJQYXNz
Q29tbWFuZEJ1ZmZlckhlbHBlcjo6Y29sb3JJbWFnZXNEcmF3KFJlc291cmNlVXNlTGlzdCAqcmVz
b3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsOjpMZXZlbEluZGV4IGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyU3RhcnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5
ZXJDb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJbWFnZUhlbHBlciAqaW1hZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSW1hZ2VIZWxwZXIgKnJlc29sdmVJbWFnZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrZWRBdHRhY2ht
ZW50SW5kZXggcGFja2VkQXR0YWNobWVudEluZGV4KQogewotICAgIEFTU0VSVChwYWNrZWRBdHRh
Y2htZW50SW5kZXggPCBtQ29sb3JJbWFnZXNDb3VudCk7CisgICAgQVNTRVJUKHBhY2tlZEF0dGFj
aG1lbnRJbmRleCA8IG1Db2xvckF0dGFjaG1lbnRzQ291bnQpOwogCiAgICAgaW1hZ2UtPnJldGFp
bihyZXNvdXJjZVVzZUxpc3QpOwogICAgIGlmICghdXNlc0ltYWdlKCppbWFnZSkpCkBAIC0xNTc0
LDkgKzE2MjMsOCBAQCB2b2lkIFJlbmRlclBhc3NDb21tYW5kQnVmZmVySGVscGVyOjpjb2xvcklt
YWdlc0RyYXcoUmVzb3VyY2VVc2VMaXN0ICpyZXNvdXJjZVVzZQogICAgICAgICAvLyBhdHRhY2ht
ZW50cwogICAgICAgICBtUmVuZGVyUGFzc1VzZWRJbWFnZXMuaW5zZXJ0KGltYWdlLT5nZXRJbWFn
ZVNlcmlhbCgpKTsKICAgICB9Ci0gICAgQVNTRVJUKG1Db2xvckltYWdlc1twYWNrZWRBdHRhY2ht
ZW50SW5kZXhdID09IG51bGxwdHIpOwotICAgIG1Db2xvckltYWdlc1twYWNrZWRBdHRhY2htZW50
SW5kZXhdID0gaW1hZ2U7Ci0gICAgaW1hZ2UtPnNldFJlbmRlclBhc3NVc2FnZUZsYWcoUmVuZGVy
UGFzc1VzYWdlOjpSZW5kZXJUYXJnZXRBdHRhY2htZW50KTsKKyAgICBtQ29sb3JBdHRhY2htZW50
c1twYWNrZWRBdHRhY2htZW50SW5kZXhdLmluaXQoaW1hZ2UsIGxldmVsLCBsYXllclN0YXJ0LCBs
YXllckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklUKTsKIAogICAgIGlmIChyZXNvbHZlSW1hZ2Up
CiAgICAgewpAQCAtMTU4NSw5ICsxNjMzLDggQEAgdm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZl
ckhlbHBlcjo6Y29sb3JJbWFnZXNEcmF3KFJlc291cmNlVXNlTGlzdCAqcmVzb3VyY2VVc2UKICAg
ICAgICAgewogICAgICAgICAgICAgbVJlbmRlclBhc3NVc2VkSW1hZ2VzLmluc2VydChyZXNvbHZl
SW1hZ2UtPmdldEltYWdlU2VyaWFsKCkpOwogICAgICAgICB9Ci0gICAgICAgIEFTU0VSVChtQ29s
b3JSZXNvbHZlSW1hZ2VzW3BhY2tlZEF0dGFjaG1lbnRJbmRleF0gPT0gbnVsbHB0cik7Ci0gICAg
ICAgIG1Db2xvclJlc29sdmVJbWFnZXNbcGFja2VkQXR0YWNobWVudEluZGV4XSA9IHJlc29sdmVJ
bWFnZTsKLSAgICAgICAgcmVzb2x2ZUltYWdlLT5zZXRSZW5kZXJQYXNzVXNhZ2VGbGFnKFJlbmRl
clBhc3NVc2FnZTo6UmVuZGVyVGFyZ2V0QXR0YWNobWVudCk7CisgICAgICAgIG1Db2xvclJlc29s
dmVBdHRhY2htZW50c1twYWNrZWRBdHRhY2htZW50SW5kZXhdLmluaXQocmVzb2x2ZUltYWdlLCBs
ZXZlbCwgbGF5ZXJTdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsYXllckNvdW50LCBWS19JTUFHRV9BU1BFQ1RfQ09MT1Jf
QklUKTsKICAgICB9CiB9CiAKQEAgLTE2MjUsNiArMTY3MiwxMyBAQCB2b2lkIFJlbmRlclBhc3ND
b21tYW5kQnVmZmVySGVscGVyOjpkZXB0aFN0ZW5jaWxJbWFnZXNEcmF3KFJlc291cmNlVXNlTGlz
dCAqcmVzbwogICAgIH0KIH0KIAordm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlcjo6
b25Db2xvckFjY2VzcyhQYWNrZWRBdHRhY2htZW50SW5kZXggcGFja2VkQXR0YWNobWVudEluZGV4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNv
dXJjZUFjY2VzcyBhY2Nlc3MpCit7CisgICAgQVNTRVJUKHBhY2tlZEF0dGFjaG1lbnRJbmRleCA8
IG1Db2xvckF0dGFjaG1lbnRzQ291bnQpOworICAgIG1Db2xvckF0dGFjaG1lbnRzW3BhY2tlZEF0
dGFjaG1lbnRJbmRleF0ub25BY2Nlc3MoYWNjZXNzLCBnZXRSZW5kZXJQYXNzV3JpdGVDb21tYW5k
Q291bnQoKSk7Cit9CisKIHZvaWQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6Om9uRGVw
dGhBY2Nlc3MoUmVzb3VyY2VBY2Nlc3MgYWNjZXNzKQogewogICAgIG1EZXB0aEF0dGFjaG1lbnQu
b25BY2Nlc3MoYWNjZXNzLCBnZXRSZW5kZXJQYXNzV3JpdGVDb21tYW5kQ291bnQoKSk7CkBAIC0x
NjU1LDE3ICsxNzA5LDE5IEBAIHZvaWQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OnVw
ZGF0ZVN0YXJ0ZWRSZW5kZXJQYXNzV2l0aERlcHRoTW9kZSgKICAgICAgICAgewogICAgICAgICAg
ICAgZGVwdGhTdGVuY2lsSW1hZ2UtPmNsZWFyUmVuZGVyUGFzc1VzYWdlRmxhZyhSZW5kZXJQYXNz
VXNhZ2U6OlJlYWRPbmx5QXR0YWNobWVudCk7CiAgICAgICAgIH0KLSAgICB9CiAKLSAgICBpZiAo
ZGVwdGhTdGVuY2lsUmVzb2x2ZUltYWdlKQotICAgIHsKLSAgICAgICAgaWYgKHJlYWRPbmx5RGVw
dGhTdGVuY2lsTW9kZSkKKyAgICAgICAgaWYgKGRlcHRoU3RlbmNpbFJlc29sdmVJbWFnZSkKICAg
ICAgICAgewotICAgICAgICAgICAgZGVwdGhTdGVuY2lsUmVzb2x2ZUltYWdlLT5zZXRSZW5kZXJQ
YXNzVXNhZ2VGbGFnKFJlbmRlclBhc3NVc2FnZTo6UmVhZE9ubHlBdHRhY2htZW50KTsKLSAgICAg
ICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRlcHRoU3RlbmNpbFJl
c29sdmVJbWFnZS0+Y2xlYXJSZW5kZXJQYXNzVXNhZ2VGbGFnKFJlbmRlclBhc3NVc2FnZTo6UmVh
ZE9ubHlBdHRhY2htZW50KTsKKyAgICAgICAgICAgIGlmIChyZWFkT25seURlcHRoU3RlbmNpbE1v
ZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVwdGhTdGVuY2lsUmVzb2x2ZUlt
YWdlLT5zZXRSZW5kZXJQYXNzVXNhZ2VGbGFnKAorICAgICAgICAgICAgICAgICAgICBSZW5kZXJQ
YXNzVXNhZ2U6OlJlYWRPbmx5QXR0YWNobWVudCk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVwdGhTdGVuY2lsUmVzb2x2
ZUltYWdlLT5jbGVhclJlbmRlclBhc3NVc2FnZUZsYWcoCisgICAgICAgICAgICAgICAgICAgIFJl
bmRlclBhc3NVc2FnZTo6UmVhZE9ubHlBdHRhY2htZW50KTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KIH0KQEAgLTE2NzYsNyArMTczMiw3IEBAIHZvaWQgUmVuZGVyUGFzc0NvbW1h
bmRCdWZmZXJIZWxwZXI6OmZpbmFsaXplQ29sb3JJbWFnZUxheW91dCgKICAgICBQYWNrZWRBdHRh
Y2htZW50SW5kZXggcGFja2VkQXR0YWNobWVudEluZGV4LAogICAgIGJvb2wgaXNSZXNvbHZlSW1h
Z2UpCiB7Ci0gICAgQVNTRVJUKHBhY2tlZEF0dGFjaG1lbnRJbmRleCA8IG1Db2xvckltYWdlc0Nv
dW50KTsKKyAgICBBU1NFUlQocGFja2VkQXR0YWNobWVudEluZGV4IDwgbUNvbG9yQXR0YWNobWVu
dHNDb3VudCk7CiAgICAgQVNTRVJUKGltYWdlICE9IG51bGxwdHIpOwogCiAgICAgLy8gRG8gbGF5
b3V0IGNoYW5nZS4KQEAgLTE3MTIsNyArMTc2OCw1MSBAQCB2b2lkIFJlbmRlclBhc3NDb21tYW5k
QnVmZmVySGVscGVyOjpmaW5hbGl6ZUNvbG9ySW1hZ2VMYXlvdXQoCiAgICAgICAgIG1JbWFnZU9w
dGltaXplRm9yUHJlc2VudCA9IG51bGxwdHI7CiAgICAgfQogCi0gICAgaW1hZ2UtPnJlc2V0UmVu
ZGVyUGFzc1VzYWdlRmxhZ3MoKTsKKyAgICBpZiAoaXNSZXNvbHZlSW1hZ2UpCisgICAgeworICAg
ICAgICAvLyBOb3RlOiB0aGUgY29sb3IgaW1hZ2Ugd2lsbCBoYXZlIGl0cyBmbGFncyByZXNldCBh
ZnRlciBsb2FkL3N0b3JlIG9wcyBhcmUgZGV0ZXJtaW5lZC4KKyAgICAgICAgaW1hZ2UtPnJlc2V0
UmVuZGVyUGFzc1VzYWdlRmxhZ3MoKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyUGFzc0NvbW1h
bmRCdWZmZXJIZWxwZXI6OmZpbmFsaXplQ29sb3JJbWFnZUxvYWRTdG9yZSgKKyAgICBDb250ZXh0
ICpjb250ZXh0LAorICAgIFBhY2tlZEF0dGFjaG1lbnRJbmRleCBwYWNrZWRBdHRhY2htZW50SW5k
ZXgpCit7CisgICAgUGFja2VkQXR0YWNobWVudE9wc0Rlc2MgJm9wcyA9IG1BdHRhY2htZW50T3Bz
W3BhY2tlZEF0dGFjaG1lbnRJbmRleF07CisgICAgUmVuZGVyUGFzc0xvYWRPcCBsb2FkT3AgICAg
ICA9IHN0YXRpY19jYXN0PFJlbmRlclBhc3NMb2FkT3A+KG9wcy5sb2FkT3ApOworICAgIFJlbmRl
clBhc3NTdG9yZU9wIHN0b3JlT3AgICAgPSBzdGF0aWNfY2FzdDxSZW5kZXJQYXNzU3RvcmVPcD4o
b3BzLnN0b3JlT3ApOworCisgICAgLy8gVGhpcyBoYXMgdG8gYmUgY2FsbGVkIGFmdGVyIGxheW91
dCBiZWVuIGZpbmFsaXplZAorICAgIEFTU0VSVChvcHMuaW5pdGlhbExheW91dCAhPSBzdGF0aWNf
Y2FzdDx1aW50MTZfdD4oSW1hZ2VMYXlvdXQ6OlVuZGVmaW5lZCkpOworCisgICAgdWludDMyX3Qg
Y3VycmVudENtZENvdW50ID0gZ2V0UmVuZGVyUGFzc1dyaXRlQ29tbWFuZENvdW50KCk7CisgICAg
Ym9vbCBpc0ludmFsaWRhdGVkICAgICAgID0gZmFsc2U7CisKKyAgICBSZW5kZXJQYXNzQXR0YWNo
bWVudCAmY29sb3JBdHRhY2htZW50ID0gbUNvbG9yQXR0YWNobWVudHNbcGFja2VkQXR0YWNobWVu
dEluZGV4XTsKKyAgICBjb2xvckF0dGFjaG1lbnQuZmluYWxpemVMb2FkU3RvcmUoY29udGV4dCwg
Y3VycmVudENtZENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
UmVuZGVyUGFzc0Rlc2MuZ2V0Q29sb3JVbnJlc29sdmVBdHRhY2htZW50TWFzaygpLmFueSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9hZE9wLCAmc3RvcmVPcCwg
JmlzSW52YWxpZGF0ZWQpOworCisgICAgaWYgKGlzSW52YWxpZGF0ZWQpCisgICAgeworICAgICAg
ICBvcHMuaXNJbnZhbGlkYXRlZCA9IHRydWU7CisgICAgfQorCisgICAgaWYgKCFvcHMuaXNJbnZh
bGlkYXRlZCkKKyAgICB7CisgICAgICAgIG1Db2xvclJlc29sdmVBdHRhY2htZW50c1twYWNrZWRB
dHRhY2htZW50SW5kZXhdLnJlc3RvcmVDb250ZW50KCk7CisgICAgfQorCisgICAgLy8gSWYgdGhl
IGltYWdlIGlzIGJlaW5nIHdyaXR0ZW4gdG8sIG1hcmsgaXRzIGNvbnRlbnRzIGRlZmluZWQuCisg
ICAgLy8gVGhpcyBoYXMgdG8gYmUgZG9uZSBhZnRlciBzdG9yZU9wIGhhcyBiZWVuIGZpbmFsaXpl
ZC4KKyAgICBpZiAoc3RvcmVPcCA9PSBSZW5kZXJQYXNzU3RvcmVPcDo6U3RvcmUpCisgICAgewor
ICAgICAgICBjb2xvckF0dGFjaG1lbnQucmVzdG9yZUNvbnRlbnQoKTsKKyAgICB9CisKKyAgICBT
ZXRCaXRGaWVsZChvcHMubG9hZE9wLCBsb2FkT3ApOworICAgIFNldEJpdEZpZWxkKG9wcy5zdG9y
ZU9wLCBzdG9yZU9wKTsKIH0KIAogdm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlcjo6
ZmluYWxpemVEZXB0aFN0ZW5jaWxJbWFnZUxheW91dChDb250ZXh0ICpjb250ZXh0KQpAQCAtMTgw
NCwxNyArMTkwNCwxOSBAQCB2b2lkIFJlbmRlclBhc3NDb21tYW5kQnVmZmVySGVscGVyOjpmaW5h
bGl6ZUltYWdlTGF5b3V0KENvbnRleHQgKmNvbnRleHQsIGNvbnN0CiB7CiAgICAgaWYgKGltYWdl
LT5oYXNSZW5kZXJQYXNzVXNhZ2VGbGFnKFJlbmRlclBhc3NVc2FnZTo6UmVuZGVyVGFyZ2V0QXR0
YWNobWVudCkpCiAgICAgewotICAgICAgICBmb3IgKFBhY2tlZEF0dGFjaG1lbnRJbmRleCBpbmRl
eCA9IGtBdHRhY2htZW50SW5kZXhaZXJvOyBpbmRleCA8IG1Db2xvckltYWdlc0NvdW50OyArK2lu
ZGV4KQorICAgICAgICBmb3IgKFBhY2tlZEF0dGFjaG1lbnRJbmRleCBpbmRleCA9IGtBdHRhY2ht
ZW50SW5kZXhaZXJvOyBpbmRleCA8IG1Db2xvckF0dGFjaG1lbnRzQ291bnQ7CisgICAgICAgICAg
ICAgKytpbmRleCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1Db2xvckltYWdlc1tpbmRl
eF0gPT0gaW1hZ2UpCisgICAgICAgICAgICBpZiAobUNvbG9yQXR0YWNobWVudHNbaW5kZXhdLmdl
dEltYWdlKCkgPT0gaW1hZ2UpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluYWxp
emVDb2xvckltYWdlTGF5b3V0KGNvbnRleHQsIG1Db2xvckltYWdlc1tpbmRleF0sIGluZGV4LCBm
YWxzZSk7Ci0gICAgICAgICAgICAgICAgbUNvbG9ySW1hZ2VzW2luZGV4XSA9IG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgZmluYWxpemVDb2xvckltYWdlTGF5b3V0QW5kTG9hZFN0b3JlKGNvbnRl
eHQsIGluZGV4KTsKKyAgICAgICAgICAgICAgICBtQ29sb3JBdHRhY2htZW50c1tpbmRleF0ucmVz
ZXQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKG1Db2xvclJlc29sdmVJ
bWFnZXNbaW5kZXhdID09IGltYWdlKQorICAgICAgICAgICAgZWxzZSBpZiAobUNvbG9yUmVzb2x2
ZUF0dGFjaG1lbnRzW2luZGV4XS5nZXRJbWFnZSgpID09IGltYWdlKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGZpbmFsaXplQ29sb3JJbWFnZUxheW91dChjb250ZXh0LCBtQ29sb3JS
ZXNvbHZlSW1hZ2VzW2luZGV4XSwgaW5kZXgsIHRydWUpOwotICAgICAgICAgICAgICAgIG1Db2xv
clJlc29sdmVJbWFnZXNbaW5kZXhdID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBmaW5hbGl6
ZUNvbG9ySW1hZ2VMYXlvdXQoY29udGV4dCwgbUNvbG9yUmVzb2x2ZUF0dGFjaG1lbnRzW2luZGV4
XS5nZXRJbWFnZSgpLCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJ1ZSk7CisgICAgICAgICAgICAgICAgbUNvbG9yUmVzb2x2ZUF0dGFjaG1lbnRzW2lu
ZGV4XS5yZXNldCgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMTg4OCw2
ICsxOTkwLDE3IEBAIHZvaWQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OmZpbmFsaXpl
RGVwdGhTdGVuY2lsTG9hZFN0b3JlKENvbnRleHQgKmNvbnRlCiAgICAgU2V0Qml0RmllbGQoZHNP
cHMuc3RlbmNpbFN0b3JlT3AsIHN0ZW5jaWxTdG9yZU9wKTsKIH0KIAordm9pZCBSZW5kZXJQYXNz
Q29tbWFuZEJ1ZmZlckhlbHBlcjo6ZmluYWxpemVDb2xvckltYWdlTGF5b3V0QW5kTG9hZFN0b3Jl
KAorICAgIENvbnRleHQgKmNvbnRleHQsCisgICAgUGFja2VkQXR0YWNobWVudEluZGV4IHBhY2tl
ZEF0dGFjaG1lbnRJbmRleCkKK3sKKyAgICBmaW5hbGl6ZUNvbG9ySW1hZ2VMYXlvdXQoY29udGV4
dCwgbUNvbG9yQXR0YWNobWVudHNbcGFja2VkQXR0YWNobWVudEluZGV4XS5nZXRJbWFnZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrZWRBdHRhY2htZW50SW5kZXgsIGZhbHNl
KTsKKyAgICBmaW5hbGl6ZUNvbG9ySW1hZ2VMb2FkU3RvcmUoY29udGV4dCwgcGFja2VkQXR0YWNo
bWVudEluZGV4KTsKKworICAgIG1Db2xvckF0dGFjaG1lbnRzW3BhY2tlZEF0dGFjaG1lbnRJbmRl
eF0uZ2V0SW1hZ2UoKS0+cmVzZXRSZW5kZXJQYXNzVXNhZ2VGbGFncygpOworfQorCiB2b2lkIFJl
bmRlclBhc3NDb21tYW5kQnVmZmVySGVscGVyOjpmaW5hbGl6ZURlcHRoU3RlbmNpbEltYWdlTGF5
b3V0QW5kTG9hZFN0b3JlKENvbnRleHQgKmNvbnRleHQpCiB7CiAgICAgZmluYWxpemVEZXB0aFN0
ZW5jaWxJbWFnZUxheW91dChjb250ZXh0KTsKQEAgLTE5MTMsNyArMjAyNiw3IEBAIGFuZ2xlOjpS
ZXN1bHQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OmJlZ2luUmVuZGVyUGFzcygKICAg
ICBtUmVuZGVyUGFzc0Rlc2MgICAgICAgICAgICAgID0gcmVuZGVyUGFzc0Rlc2M7CiAgICAgbUF0
dGFjaG1lbnRPcHMgICAgICAgICAgICAgICA9IHJlbmRlclBhc3NBdHRhY2htZW50T3BzOwogICAg
IG1EZXB0aFN0ZW5jaWxBdHRhY2htZW50SW5kZXggPSBkZXB0aFN0ZW5jaWxBdHRhY2htZW50SW5k
ZXg7Ci0gICAgbUNvbG9ySW1hZ2VzQ291bnQgICAgICAgICAgICA9IGNvbG9yQXR0YWNobWVudENv
dW50OworICAgIG1Db2xvckF0dGFjaG1lbnRzQ291bnQgICAgICAgPSBjb2xvckF0dGFjaG1lbnRD
b3VudDsKICAgICBtRnJhbWVidWZmZXIuc2V0SGFuZGxlKGZyYW1lYnVmZmVyLmdldEhhbmRsZSgp
KTsKICAgICBtUmVuZGVyQXJlYSAgICAgICA9IHJlbmRlckFyZWE7CiAgICAgbUNsZWFyVmFsdWVz
ICAgICAgPSBjbGVhclZhbHVlczsKQEAgLTE5MzksMTUgKzIwNTIsMTcgQEAgYW5nbGU6OlJlc3Vs
dCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlcjo6ZW5kUmVuZGVyUGFzcyhDb250ZXh0Vmsg
KmNvbnRleHRWaykKIHsKICAgICBBTkdMRV9UUlkoZW5kUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXIo
Y29udGV4dFZrKSk7CiAKLSAgICBmb3IgKFBhY2tlZEF0dGFjaG1lbnRJbmRleCBpbmRleCA9IGtB
dHRhY2htZW50SW5kZXhaZXJvOyBpbmRleCA8IG1Db2xvckltYWdlc0NvdW50OyArK2luZGV4KQor
ICAgIGZvciAoUGFja2VkQXR0YWNobWVudEluZGV4IGluZGV4ID0ga0F0dGFjaG1lbnRJbmRleFpl
cm87IGluZGV4IDwgbUNvbG9yQXR0YWNobWVudHNDb3VudDsKKyAgICAgICAgICsraW5kZXgpCiAg
ICAgewotICAgICAgICBpZiAobUNvbG9ySW1hZ2VzW2luZGV4XSkKKyAgICAgICAgaWYgKG1Db2xv
ckF0dGFjaG1lbnRzW2luZGV4XS5nZXRJbWFnZSgpICE9IG51bGxwdHIpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGZpbmFsaXplQ29sb3JJbWFnZUxheW91dChjb250ZXh0VmssIG1Db2xvckltYWdl
c1tpbmRleF0sIGluZGV4LCBmYWxzZSk7CisgICAgICAgICAgICBmaW5hbGl6ZUNvbG9ySW1hZ2VM
YXlvdXRBbmRMb2FkU3RvcmUoY29udGV4dFZrLCBpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAg
aWYgKG1Db2xvclJlc29sdmVJbWFnZXNbaW5kZXhdKQorICAgICAgICBpZiAobUNvbG9yUmVzb2x2
ZUF0dGFjaG1lbnRzW2luZGV4XS5nZXRJbWFnZSgpICE9IG51bGxwdHIpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGZpbmFsaXplQ29sb3JJbWFnZUxheW91dChjb250ZXh0VmssIG1Db2xvclJlc29s
dmVJbWFnZXNbaW5kZXhdLCBpbmRleCwgdHJ1ZSk7CisgICAgICAgICAgICBmaW5hbGl6ZUNvbG9y
SW1hZ2VMYXlvdXQoY29udGV4dFZrLCBtQ29sb3JSZXNvbHZlQXR0YWNobWVudHNbaW5kZXhdLmdl
dEltYWdlKCksIGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
dWUpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0yMDM4LDEwICsyMTUzLDIxIEBAIHZvaWQgUmVu
ZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OmVuZFRyYW5zZm9ybUZlZWRiYWNrKCkKIH0KIAog
dm9pZCBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlcjo6aW52YWxpZGF0ZVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQoCi0gICAgUGFja2VkQXR0YWNobWVudEluZGV4IGF0dGFjaG1lbnRJbmRl
eCkKKyAgICBjb25zdCBnbDo6U3RhdGUgJnN0YXRlLAorICAgIHNpemVfdCBjb2xvckluZGV4R0ws
CisgICAgUGFja2VkQXR0YWNobWVudEluZGV4IGF0dGFjaG1lbnRJbmRleCwKKyAgICBjb25zdCBn
bDo6UmVjdGFuZ2xlICZpbnZhbGlkYXRlQXJlYSkKIHsKLSAgICBTZXRCaXRGaWVsZChtQXR0YWNo
bWVudE9wc1thdHRhY2htZW50SW5kZXhdLnN0b3JlT3AsIFJlbmRlclBhc3NTdG9yZU9wOjpEb250
Q2FyZSk7Ci0gICAgbUF0dGFjaG1lbnRPcHNbYXR0YWNobWVudEluZGV4XS5pc0ludmFsaWRhdGVk
ID0gdHJ1ZTsKKyAgICAvLyBDb2xvciB3cml0ZSBpcyBlbmFibGVkIGlmOgorICAgIC8vCisgICAg
Ly8gLSBEcmF3IGJ1ZmZlciBpcyBlbmFibGVkICh0aGlzIGlzIGltcGxpY2l0LCBhcyBpbnZhbGlk
YXRlIG9ubHkgYWZmZWN0cyBlbmFibGVkIGRyYXcgYnVmZmVycykKKyAgICAvLyAtIENvbG9yIG91
dHB1dCBpcyBub3QgZW50aXJlbHkgbWFza2VkCisgICAgLy8gLSBSYXN0ZXJpemVyLWRpc2NhcmQg
aXMgbm90IGVuYWJsZWQKKyAgICBjb25zdCBnbDo6QmxlbmRTdGF0ZUV4dCAmYmxlbmRTdGF0ZUV4
dCA9IHN0YXRlLmdldEJsZW5kU3RhdGVFeHQoKTsKKyAgICBjb25zdCBib29sIGlzQ29sb3JXcml0
ZUVuYWJsZWQgPQorICAgICAgICBibGVuZFN0YXRlRXh0LmdldENvbG9yTWFza0luZGV4ZWQoY29s
b3JJbmRleEdMKSAhPSAwICYmIHN0YXRlLmlzUmFzdGVyaXplckRpc2NhcmRFbmFibGVkKCk7Cisg
ICAgbUNvbG9yQXR0YWNobWVudHNbYXR0YWNobWVudEluZGV4XS5pbnZhbGlkYXRlKGludmFsaWRh
dGVBcmVhLCBpc0NvbG9yV3JpdGVFbmFibGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRSZW5kZXJQYXNzV3JpdGVDb21tYW5kQ291bnQoKSk7
CiB9CiAKIHZvaWQgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXI6OmludmFsaWRhdGVSZW5k
ZXJQYXNzRGVwdGhBdHRhY2htZW50KApAQCAtMzgwNiw3ICszOTMyLDE0IEBAIHZvaWQgTGluZUxv
b3BIZWxwZXI6OkRyYXcodWludDMyX3QgY291bnQsCiAKIFBpcGVsaW5lU3RhZ2UgR2V0UGlwZWxp
bmVTdGFnZShnbDo6U2hhZGVyVHlwZSBzdGFnZSkKIHsKLSAgICByZXR1cm4ga1BpcGVsaW5lU3Rh
Z2VTaGFkZXJNYXBbc3RhZ2VdOworICAgIGNvbnN0IFBpcGVsaW5lU3RhZ2UgcGlwZWxpbmVTdGFn
ZSA9IGtQaXBlbGluZVN0YWdlU2hhZGVyTWFwW3N0YWdlXTsKKyAgICBBU1NFUlQocGlwZWxpbmVT
dGFnZSA9PSBQaXBlbGluZVN0YWdlOjpWZXJ0ZXhTaGFkZXIgfHwKKyAgICAgICAgICAgcGlwZWxp
bmVTdGFnZSA9PSBQaXBlbGluZVN0YWdlOjpUZXNzZWxsYXRpb25Db250cm9sIHx8CisgICAgICAg
ICAgIHBpcGVsaW5lU3RhZ2UgPT0gUGlwZWxpbmVTdGFnZTo6VGVzc2VsbGF0aW9uRXZhbHVhdGlv
biB8fAorICAgICAgICAgICBwaXBlbGluZVN0YWdlID09IFBpcGVsaW5lU3RhZ2U6Okdlb21ldHJ5
U2hhZGVyIHx8CisgICAgICAgICAgIHBpcGVsaW5lU3RhZ2UgPT0gUGlwZWxpbmVTdGFnZTo6RnJh
Z21lbnRTaGFkZXIgfHwKKyAgICAgICAgICAgcGlwZWxpbmVTdGFnZSA9PSBQaXBlbGluZVN0YWdl
OjpDb21wdXRlU2hhZGVyKTsKKyAgICByZXR1cm4gcGlwZWxpbmVTdGFnZTsKIH0KIAogLy8gUGlw
ZWxpbmVCYXJyaWVyIGltcGxlbWVudGF0aW9uLgpAQCAtMzg0MCw3ICszOTczLDggQEAgQnVmZmVy
SGVscGVyICZCdWZmZXJIZWxwZXI6Om9wZXJhdG9yPShCdWZmZXJIZWxwZXIgJiZvdGhlcikKIHsK
ICAgICBSZWFkV3JpdGVSZXNvdXJjZTo6b3BlcmF0b3I9KHN0ZDo6bW92ZShvdGhlcikpOwogCi0g
ICAgbVN1YmFsbG9jYXRpb24gPSBzdGQ6Om1vdmUob3RoZXIubVN1YmFsbG9jYXRpb24pOworICAg
IG1TdWJhbGxvY2F0aW9uICAgICAgICA9IHN0ZDo6bW92ZShvdGhlci5tU3ViYWxsb2NhdGlvbik7
CisgICAgbUJ1ZmZlckZvclZlcnRleEFycmF5ID0gc3RkOjptb3ZlKG90aGVyLm1CdWZmZXJGb3JW
ZXJ0ZXhBcnJheSk7CiAKICAgICBtQ3VycmVudFF1ZXVlRmFtaWx5SW5kZXggPSBvdGhlci5tQ3Vy
cmVudFF1ZXVlRmFtaWx5SW5kZXg7CiAgICAgbUN1cnJlbnRXcml0ZUFjY2VzcyAgICAgID0gb3Ro
ZXIubUN1cnJlbnRXcml0ZUFjY2VzczsKQEAgLTQxMzEsMTAgKzQyNjUsNTIgQEAgYW5nbGU6OlJl
c3VsdCBCdWZmZXJIZWxwZXI6OmluaXRpYWxpemVOb25aZXJvTWVtb3J5KENvbnRleHQgKmNvbnRl
eHQsCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCitjb25zdCBCdWZm
ZXIgJkJ1ZmZlckhlbHBlcjo6Z2V0QnVmZmVyRm9yVmVydGV4QXJyYXkoQ29udGV4dFZrICpjb250
ZXh0VmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVmtEZXZpY2VTaXplIGFjdHVhbERhdGFTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNlU2l6ZSAqb2Zmc2V0T3V0KQorewor
ICAgIEFTU0VSVChtU3ViYWxsb2NhdGlvbi52YWxpZCgpKTsKKyAgICBBU1NFUlQoYWN0dWFsRGF0
YVNpemUgPD0gbVN1YmFsbG9jYXRpb24uZ2V0U2l6ZSgpKTsKKworICAgIGlmICghY29udGV4dFZr
LT5pc1JvYnVzdFJlc291cmNlSW5pdEVuYWJsZWQoKSB8fCAhbVN1YmFsbG9jYXRpb24uaXNTdWJh
bGxvY2F0ZWQoKSkKKyAgICB7CisgICAgICAgICpvZmZzZXRPdXQgPSBtU3ViYWxsb2NhdGlvbi5n
ZXRPZmZzZXQoKTsKKyAgICAgICAgcmV0dXJuIG1TdWJhbGxvY2F0aW9uLmdldEJ1ZmZlcigpOwor
ICAgIH0KKworICAgIGlmICghbUJ1ZmZlckZvclZlcnRleEFycmF5LnZhbGlkKCkpCisgICAgewor
ICAgICAgICAvLyBBbGxvY2F0ZSBidWZmZXIgdGhhdCBpcyBiYWNrZWQgYnkgc3ViLXJhbmdlIG9m
IHRoZSBtZW1vcnkgZm9yIHZlcnRleCBhcnJheSB1c2FnZS4gVGhpcyBpcworICAgICAgICAvLyBv
bmx5IG5lZWRlZCB3aGVuIHJvYnVzdCByZXNvdXJjZSBpbml0IGlzIGVuYWJsZWQgc28gdGhhdCB2
dWxrYW4gZHJpdmVyIHdpbGwga25vdyB0aGUKKyAgICAgICAgLy8gZXhhY3Qgc2l6ZSBvZiB0aGUg
dmVydGV4IGJ1ZmZlciBpdCBpcyBzdXBwb3NlZGx5IHRvIHVzZSBhbmQgcHJldmVudCBvdXQgb2Yg
Ym91bmQgYWNjZXNzLgorICAgICAgICBWa0J1ZmZlckNyZWF0ZUluZm8gY3JlYXRlSW5mbyAgICA9
IHt9OworICAgICAgICBjcmVhdGVJbmZvLnNUeXBlICAgICAgICAgICAgICAgICA9IFZLX1NUUlVD
VFVSRV9UWVBFX0JVRkZFUl9DUkVBVEVfSU5GTzsKKyAgICAgICAgY3JlYXRlSW5mby5mbGFncyAg
ICAgICAgICAgICAgICAgPSAwOworICAgICAgICBjcmVhdGVJbmZvLnNpemUgICAgICAgICAgICAg
ICAgICA9IGFjdHVhbERhdGFTaXplOworICAgICAgICBjcmVhdGVJbmZvLnVzYWdlICAgICAgICAg
ICAgICAgICA9IGtWZXJ0ZXhCdWZmZXJVc2FnZUZsYWdzIHwga0luZGV4QnVmZmVyVXNhZ2VGbGFn
czsKKyAgICAgICAgY3JlYXRlSW5mby5zaGFyaW5nTW9kZSAgICAgICAgICAgPSBWS19TSEFSSU5H
X01PREVfRVhDTFVTSVZFOworICAgICAgICBjcmVhdGVJbmZvLnF1ZXVlRmFtaWx5SW5kZXhDb3Vu
dCA9IDA7CisgICAgICAgIGNyZWF0ZUluZm8ucFF1ZXVlRmFtaWx5SW5kaWNlcyAgID0gbnVsbHB0
cjsKKyAgICAgICAgbUJ1ZmZlckZvclZlcnRleEFycmF5LmluaXQoY29udGV4dFZrLT5nZXREZXZp
Y2UoKSwgY3JlYXRlSW5mbyk7CisKKyAgICAgICAgVmtNZW1vcnlSZXF1aXJlbWVudHMgbWVtb3J5
UmVxdWlyZW1lbnRzOworICAgICAgICBtQnVmZmVyRm9yVmVydGV4QXJyYXkuZ2V0TWVtb3J5UmVx
dWlyZW1lbnRzKGNvbnRleHRWay0+Z2V0RGV2aWNlKCksICZtZW1vcnlSZXF1aXJlbWVudHMpOwor
ICAgICAgICBBU1NFUlQoY29udGV4dFZrLT5nZXRSZW5kZXJlcigpLT5pc01vY2tJQ0RFbmFibGVk
KCkgfHwKKyAgICAgICAgICAgICAgIG1TdWJhbGxvY2F0aW9uLmdldFNpemUoKSA+PSBtZW1vcnlS
ZXF1aXJlbWVudHMuc2l6ZSk7CisgICAgICAgIEFTU0VSVCghY29udGV4dFZrLT5nZXRSZW5kZXJl
cigpLT5pc01vY2tJQ0RFbmFibGVkKCkgfHwKKyAgICAgICAgICAgICAgIG1TdWJhbGxvY2F0aW9u
LmdldE9mZnNldCgpICUgbWVtb3J5UmVxdWlyZW1lbnRzLmFsaWdubWVudCA9PSAwKTsKKworICAg
ICAgICBtQnVmZmVyRm9yVmVydGV4QXJyYXkuYmluZE1lbW9yeShjb250ZXh0VmstPmdldERldmlj
ZSgpLCBtU3ViYWxsb2NhdGlvbi5nZXREZXZpY2VNZW1vcnkoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbVN1YmFsbG9jYXRpb24uZ2V0T2Zmc2V0KCkpOworICAg
IH0KKyAgICAqb2Zmc2V0T3V0ID0gMDsKKyAgICByZXR1cm4gbUJ1ZmZlckZvclZlcnRleEFycmF5
OworfQorCiB2b2lkIEJ1ZmZlckhlbHBlcjo6ZGVzdHJveShSZW5kZXJlclZrICpyZW5kZXJlcikK
IHsKICAgICB1bm1hcChyZW5kZXJlcik7Ci0KKyAgICBtQnVmZmVyRm9yVmVydGV4QXJyYXkuZGVz
dHJveShyZW5kZXJlci0+Z2V0RGV2aWNlKCkpOwogICAgIG1TdWJhbGxvY2F0aW9uLmRlc3Ryb3ko
cmVuZGVyZXIpOwogfQogCkBAIC00MTQ3LDExICs0MzIzLDEzIEBAIHZvaWQgQnVmZmVySGVscGVy
OjpyZWxlYXNlKFJlbmRlcmVyVmsgKnJlbmRlcmVyKQogICAgICAgICBpZiAobVJlYWRPbmx5VXNl
LmlzQ3VycmVudGx5SW5Vc2UocmVuZGVyZXItPmdldExhc3RDb21wbGV0ZWRRdWV1ZVNlcmlhbCgp
KSkKICAgICAgICAgewogICAgICAgICAgICAgcmVuZGVyZXItPmNvbGxlY3RTdWJhbGxvY2F0aW9u
R2FyYmFnZShzdGQ6Om1vdmUobVJlYWRPbmx5VXNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKG1TdWJhbGxvY2F0aW9uKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92
ZShtU3ViYWxsb2NhdGlvbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZDo6bW92ZShtQnVmZmVyRm9yVmVydGV4QXJyYXkpKTsKICAgICAgICAg
ICAgIG1SZWFkT25seVVzZS5pbml0KCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAg
ICB7CisgICAgICAgICAgICBtQnVmZmVyRm9yVmVydGV4QXJyYXkuZGVzdHJveShyZW5kZXJlci0+
Z2V0RGV2aWNlKCkpOwogICAgICAgICAgICAgbVN1YmFsbG9jYXRpb24uZGVzdHJveShyZW5kZXJl
cik7CiAgICAgICAgIH0KIApAQCAtNDE2MSw2ICs0MzM5LDcgQEAgdm9pZCBCdWZmZXJIZWxwZXI6
OnJlbGVhc2UoUmVuZGVyZXJWayAqcmVuZGVyZXIpCiAgICAgICAgICAgICBtUmVhZFdyaXRlVXNl
LmluaXQoKTsKICAgICAgICAgfQogICAgIH0KKyAgICBBU1NFUlQoIW1CdWZmZXJGb3JWZXJ0ZXhB
cnJheS52YWxpZCgpKTsKIH0KIAogYW5nbGU6OlJlc3VsdCBCdWZmZXJIZWxwZXI6OmNvcHlGcm9t
QnVmZmVyKENvbnRleHRWayAqY29udGV4dFZrLApAQCAtNDQ1OSw2ICs0NjM4LDEwIEBAIHZvaWQg
SW1hZ2VIZWxwZXI6OnNldEVudGlyZUNvbnRlbnRVbmRlZmluZWQoKQogICAgIHsKICAgICAgICAg
bGV2ZWxDb250ZW50RGVmaW5lZC5yZXNldCgpOwogICAgIH0KKworICAgIC8vIE5vdGU6IHRoaXMg
ZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZHVyaW5nIGluaXQvcmVsZWFzZSwgc28gdW5saWtlCisg
ICAgLy8gaW52YWxpZGF0ZVN1YnJlc291cmNlQ29udGVudEltcGwsIGl0IGRvZXNuJ3QgYXR0ZW1w
dCB0byBtYWtlIHN1cmUgZW11bGF0ZWQgZm9ybWF0cyBoYXZlIGEKKyAgICAvLyBjbGVhciBzdGFn
ZWQuCiB9CiAKIHZvaWQgSW1hZ2VIZWxwZXI6OnNldENvbnRlbnREZWZpbmVkKExldmVsSW5kZXgg
bGV2ZWxTdGFydCwKQEAgLTQ1OTksNiArNDc4Miw3IEBAIGFuZ2xlOjpSZXN1bHQgSW1hZ2VIZWxw
ZXI6OmluaXRFeHRlcm5hbChDb250ZXh0ICpjb250ZXh0LAogICAgIEFTU0VSVCh0ZXh0dXJlVHlw
ZSAhPSBnbDo6VGV4dHVyZVR5cGU6OkV4dGVybmFsIHx8IG1MYXllckNvdW50ID09IDEpOwogICAg
IEFTU0VSVCh0ZXh0dXJlVHlwZSAhPSBnbDo6VGV4dHVyZVR5cGU6OlJlY3RhbmdsZSB8fCBtTGF5
ZXJDb3VudCA9PSAxKTsKICAgICBBU1NFUlQodGV4dHVyZVR5cGUgIT0gZ2w6OlRleHR1cmVUeXBl
OjpDdWJlTWFwIHx8IG1MYXllckNvdW50ID09IGdsOjprQ3ViZUZhY2VDb3VudCk7CisgICAgQVNT
RVJUKHRleHR1cmVUeXBlICE9IGdsOjpUZXh0dXJlVHlwZTo6Q3ViZU1hcEFycmF5IHx8IG1MYXll
ckNvdW50ICUgZ2w6OmtDdWJlRmFjZUNvdW50ID09IDApOwogCiAgICAgLy8gSWYgZXh0ZXJuYWxJ
bWFnZUNyZWF0ZUluZm8gaXMgcHJvdmlkZWQsIHVzZSB0aGF0IGRpcmVjdGx5LiAgT3RoZXJ3aXNl
IGRlcml2ZSB0aGUgbmVjZXNzYXJ5CiAgICAgLy8gcE5leHQgY2hhaW4uCkBAIC02MDg5LDYgKzYy
NzMsMzQgQEAgdm9pZCBJbWFnZUhlbHBlcjo6cmVtb3ZlU2luZ2xlU3VicmVzb3VyY2VTdGFnZWRV
cGRhdGVzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgIH0KIH0KIAordm9pZCBJbWFnZUhlbHBl
cjo6cmVtb3ZlU2luZ2xlU3RhZ2VkQ2xlYXJBZnRlckludmFsaWRhdGUoZ2w6OkxldmVsSW5kZXgg
bGV2ZWxJbmRleEdMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJJbmRleCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQp
Cit7CisgICAgLy8gV2hlbiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCwgaXQncyBleHBlY3RlZCB0
aGF0IHRoZXJlIG1heSBiZSBhdCBtb3N0IG9uZQorICAgIC8vIENsZWFyQWZ0ZXJJbnZhbGlkYXRl
IHVwZGF0ZSBwZW5kaW5nIHRvIHRoaXMgc3VicmVzb3VyY2UsIGFuZCB0aGF0J3MgYSBjb2xvciBj
bGVhciBkdWUgdG8KKyAgICAvLyBlbXVsYXRlZCBjaGFubmVscyBhZnRlciBpbnZhbGlkYXRlLiAg
VGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoYXQgdXBkYXRlLgorCisgICAgc3RkOjp2ZWN0b3I8U3Vi
cmVzb3VyY2VVcGRhdGU+ICpsZXZlbFVwZGF0ZXMgPSBnZXRMZXZlbFVwZGF0ZXMobGV2ZWxJbmRl
eEdMKTsKKyAgICBpZiAobGV2ZWxVcGRhdGVzID09IG51bGxwdHIpCisgICAgeworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGxldmVs
VXBkYXRlcy0+c2l6ZSgpOyArK2luZGV4KQorICAgIHsKKyAgICAgICAgYXV0byB1cGRhdGUgPSBs
ZXZlbFVwZGF0ZXMtPmJlZ2luKCkgKyBpbmRleDsKKyAgICAgICAgaWYgKHVwZGF0ZS0+dXBkYXRl
U291cmNlID09IFVwZGF0ZVNvdXJjZTo6Q2xlYXJBZnRlckludmFsaWRhdGUgJiYKKyAgICAgICAg
ICAgIHVwZGF0ZS0+aXNVcGRhdGVUb0xheWVycyhsYXllckluZGV4LCBsYXllckNvdW50KSkKKyAg
ICAgICAgeworICAgICAgICAgICAgLy8gSXQncyBhIGNsZWFyLCBzbyBkb2Vzbid0IG5lZWQgdG8g
YmUgcmVsZWFzZWQuCisgICAgICAgICAgICBsZXZlbFVwZGF0ZXMtPmVyYXNlKHVwZGF0ZSk7Cisg
ICAgICAgICAgICAvLyBUaGVyZSdzIG9ubHkgb25lIHN1Y2ggY2xlYXIgcG9zc2libGUuCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgSW1hZ2VIZWxwZXI6
OnJlbW92ZVN0YWdlZFVwZGF0ZXMoQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2w6OkxldmVsSW5kZXggbGV2ZWxHTFN0YXJ0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6TGV2ZWxJbmRleCBsZXZlbEdMRW5k
KQpAQCAtNjUyNywzOSArNjczOSw5OSBAQCBib29sIEltYWdlSGVscGVyOjpoYXNTdWJyZXNvdXJj
ZURlZmluZWRTdGVuY2lsQ29udGVudChnbDo6TGV2ZWxJbmRleCBsZXZlbCwKIHZvaWQgSW1hZ2VI
ZWxwZXI6OmludmFsaWRhdGVTdWJyZXNvdXJjZUNvbnRlbnQoQ29udGV4dFZrICpjb250ZXh0Vmss
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpMZXZl
bEluZGV4IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBsYXllckluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50KQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICpwcmVmZXJUb0tl
ZXBDb250ZW50c0RlZmluZWRPdXQpCiB7Ci0gICAgaWYgKGxheWVySW5kZXggPCBrTWF4Q29udGVu
dERlZmluZWRMYXllckNvdW50KQotICAgIHsKLSAgICAgICAgdWludDhfdCBsYXllclJhbmdlQml0
cyA9Ci0gICAgICAgICAgICBHZXRDb250ZW50RGVmaW5lZExheWVyUmFuZ2VCaXRzKGxheWVySW5k
ZXgsIGxheWVyQ291bnQsIGtNYXhDb250ZW50RGVmaW5lZExheWVyQ291bnQpOwotICAgICAgICBn
ZXRMZXZlbENvbnRlbnREZWZpbmVkKHRvVmtMZXZlbChsZXZlbCkpICY9IHN0YXRpY19jYXN0PHVp
bnQ4X3Q+KH5sYXllclJhbmdlQml0cyk7Ci0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAg
IEFOR0xFX1ZLX1BFUkZfV0FSTklORygKLSAgICAgICAgICAgIGNvbnRleHRWaywgR0xfREVCVUdf
U0VWRVJJVFlfTE9XLAotICAgICAgICAgICAgImdsSW52YWxpZGF0ZUZyYW1lYnVmZmVyICglcykg
aW5lZmZlY3RpdmUgb24gYXR0YWNobWVudHMgd2l0aCBsYXllciA+PSA4IiwKLSAgICAgICAgICAg
IChnZXRBc3BlY3RGbGFncygpICYgVktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJVCkgIT0gMCA/ICJj
b2xvciIgOiAiZGVwdGgiKTsKLSAgICB9CisgICAgaW52YWxpZGF0ZVN1YnJlc291cmNlQ29udGVu
dEltcGwoCisgICAgICAgIGNvbnRleHRWaywgbGV2ZWwsIGxheWVySW5kZXgsIGxheWVyQ291bnQs
CisgICAgICAgIHN0YXRpY19jYXN0PFZrSW1hZ2VBc3BlY3RGbGFnQml0cz4oZ2V0QXNwZWN0Rmxh
Z3MoKSAmIH5WS19JTUFHRV9BU1BFQ1RfU1RFTkNJTF9CSVQpLAorICAgICAgICAmZ2V0TGV2ZWxD
b250ZW50RGVmaW5lZCh0b1ZrTGV2ZWwobGV2ZWwpKSwgcHJlZmVyVG9LZWVwQ29udGVudHNEZWZp
bmVkT3V0KTsKIH0KIAogdm9pZCBJbWFnZUhlbHBlcjo6aW52YWxpZGF0ZVN1YnJlc291cmNlU3Rl
bmNpbENvbnRlbnQoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6TGV2ZWxJbmRleCBsZXZlbCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IGxheWVySW5kZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50KQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
KnByZWZlclRvS2VlcENvbnRlbnRzRGVmaW5lZE91dCkKIHsKLSAgICBpZiAobGF5ZXJJbmRleCA8
IGtNYXhDb250ZW50RGVmaW5lZExheWVyQ291bnQpCisgICAgaW52YWxpZGF0ZVN1YnJlc291cmNl
Q29udGVudEltcGwoCisgICAgICAgIGNvbnRleHRWaywgbGV2ZWwsIGxheWVySW5kZXgsIGxheWVy
Q291bnQsIFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVCwKKyAgICAgICAgJmdldExldmVsU3Rl
bmNpbENvbnRlbnREZWZpbmVkKHRvVmtMZXZlbChsZXZlbCkpLCBwcmVmZXJUb0tlZXBDb250ZW50
c0RlZmluZWRPdXQpOworfQorCit2b2lkIEltYWdlSGVscGVyOjppbnZhbGlkYXRlU3VicmVzb3Vy
Y2VDb250ZW50SW1wbChDb250ZXh0VmsgKmNvbnRleHRWaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpMZXZlbEluZGV4IGxldmVsLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
bGF5ZXJJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWa0ltYWdlQXNwZWN0RmxhZ0JpdHMgYXNwZWN0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGV2ZWxDb250
ZW50RGVmaW5lZE1hc2sgKmNvbnRlbnREZWZpbmVkTWFzaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKnByZWZlclRvS2VlcENvbnRlbnRz
RGVmaW5lZE91dCkKK3sKKyAgICAvLyBJZiB0aGUgY29sb3IgZm9ybWF0IGlzIGVtdWFsdGVkIGFu
ZCBoYXMgZXh0cmEgY2hhbm5lbHMsIHRob3NlIGNoYW5uZWxzIG5lZWQgdG8gc3RheSBjbGVhcmVk
LgorICAgIC8vIE9uIHNvbWUgZGV2aWNlcywgaXQncyBjaGVhcGVyIHRvIHNraXAgaW52YWxpZGF0
aW5nIHRoZSBmcmFtZWJ1ZmZlciBhdHRhY2htZW50LCB3aGlsZSBvbgorICAgIC8vIG90aGVycyBp
dCdzIGNoZWFwZXIgdG8gaW52YWxpZGF0ZSBidXQgdGhlbiByZS1jbGVhciB0aGUgaW1hZ2UuCisg
ICAgLy8KKyAgICAvLyBGb3IgZGVwdGgvc3RlbmNpbCBmb3JtYXRzLCBlYWNoIGNoYW5uZWwgaXMg
c2VwYXJhdGVseSBpbnZhbGlkYXRlZCwgc28gdGhlIGludmFsaWRhdGUgaXMKKyAgICAvLyBzaW1w
bHkgc2tpcHBlZCBmb3IgdGhlIGVtdWxhdGVkIGNoYW5uZWwgb24gYWxsIGRldmljZXMuCisgICAg
Y29uc3QgYm9vbCBoYXNFbXVsYXRlZENoYW5uZWxzID0gaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxz
KCk7CisgICAgYm9vbCBza2lwICAgICAgICAgICAgICAgICAgICAgID0gZmFsc2U7CisgICAgc3dp
dGNoIChhc3BlY3QpCisgICAgeworICAgICAgICBjYXNlIFZLX0lNQUdFX0FTUEVDVF9ERVBUSF9C
SVQ6CisgICAgICAgICAgICBza2lwID0gaGFzRW11bGF0ZWREZXB0aENoYW5uZWwoKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFZLX0lNQUdFX0FTUEVDVF9TVEVOQ0lMX0JJVDoK
KyAgICAgICAgICAgIHNraXAgPSBoYXNFbXVsYXRlZFN0ZW5jaWxDaGFubmVsKCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklUOgorICAg
ICAgICAgICAgc2tpcCA9IGhhc0VtdWxhdGVkQ2hhbm5lbHMgJiYKKyAgICAgICAgICAgICAgICAg
ICBjb250ZXh0VmstPmdldEZlYXR1cmVzKCkucHJlZmVyU2tpcHBpbmdJbnZhbGlkYXRlRm9yRW11
bGF0ZWRGb3JtYXRzLmVuYWJsZWQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICBza2lwID0gdHJ1ZTsK
KyAgICB9CisKKyAgICBpZiAocHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkT3V0KQogICAgIHsK
LSAgICAgICAgdWludDhfdCBsYXllclJhbmdlQml0cyA9Ci0gICAgICAgICAgICBHZXRDb250ZW50
RGVmaW5lZExheWVyUmFuZ2VCaXRzKGxheWVySW5kZXgsIGxheWVyQ291bnQsIGtNYXhDb250ZW50
RGVmaW5lZExheWVyQ291bnQpOwotICAgICAgICBnZXRMZXZlbFN0ZW5jaWxDb250ZW50RGVmaW5l
ZCh0b1ZrTGV2ZWwobGV2ZWwpKSAmPSBzdGF0aWNfY2FzdDx1aW50OF90Pih+bGF5ZXJSYW5nZUJp
dHMpOworICAgICAgICAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkT3V0ID0gc2tpcDsKICAg
ICB9Ci0gICAgZWxzZQorICAgIGlmIChza2lwKQorICAgIHsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmIChsYXllckluZGV4ID49IGtNYXhDb250ZW50RGVmaW5lZExheWVyQ291bnQp
CiAgICAgeworICAgICAgICBjb25zdCBjaGFyICphc3BlY3ROYW1lID0gImNvbG9yIjsKKyAgICAg
ICAgaWYgKGFzcGVjdCA9PSBWS19JTUFHRV9BU1BFQ1RfREVQVEhfQklUKQorICAgICAgICB7Cisg
ICAgICAgICAgICBhc3BlY3ROYW1lID0gImRlcHRoIjsKKyAgICAgICAgfQorICAgICAgICBlbHNl
IGlmIChhc3BlY3QgPT0gVktfSU1BR0VfQVNQRUNUX1NURU5DSUxfQklUKQorICAgICAgICB7Cisg
ICAgICAgICAgICBhc3BlY3ROYW1lID0gInN0ZW5jaWwiOworICAgICAgICB9CiAgICAgICAgIEFO
R0xFX1ZLX1BFUkZfV0FSTklORygKICAgICAgICAgICAgIGNvbnRleHRWaywgR0xfREVCVUdfU0VW
RVJJVFlfTE9XLAotICAgICAgICAgICAgImdsSW52YWxpZGF0ZUZyYW1lYnVmZmVyIChzdGVuY2ls
KSBpbmVmZmVjdGl2ZSBvbiBhdHRhY2htZW50cyB3aXRoIGxheWVyID49IDgiKTsKKyAgICAgICAg
ICAgICJnbEludmFsaWRhdGVGcmFtZWJ1ZmZlciAoJXMpIGluZWZmZWN0aXZlIG9uIGF0dGFjaG1l
bnRzIHdpdGggbGF5ZXIgPj0gOCIsIGFzcGVjdE5hbWUpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdWludDhfdCBsYXllclJhbmdlQml0cyA9CisgICAgICAgIEdldENvbnRlbnREZWZp
bmVkTGF5ZXJSYW5nZUJpdHMobGF5ZXJJbmRleCwgbGF5ZXJDb3VudCwga01heENvbnRlbnREZWZp
bmVkTGF5ZXJDb3VudCk7CisgICAgKmNvbnRlbnREZWZpbmVkTWFzayAmPSBzdGF0aWNfY2FzdDx1
aW50OF90Pih+bGF5ZXJSYW5nZUJpdHMpOworCisgICAgLy8gSWYgdGhlcmUgYXJlIGVtdWxhdGVk
IGNoYW5uZWxzLCBzdGFnZSBhIGNsZWFyIHRvIG1ha2Ugc3VyZSB0aG9zZSBjaGFubmVscyBjb250
aW51ZSB0byBjb250YWluCisgICAgLy8gdmFsaWQgdmFsdWVzLgorICAgIGlmIChoYXNFbXVsYXRl
ZENoYW5uZWxzICYmIGFzcGVjdCA9PSBWS19JTUFHRV9BU1BFQ1RfQ09MT1JfQklUKQorICAgIHsK
KyAgICAgICAgVmtDbGVhclZhbHVlIGNsZWFyVmFsdWU7CisgICAgICAgIGNsZWFyVmFsdWUuY29s
b3IgPSBrRW11bGF0ZWRJbml0Q29sb3JWYWx1ZTsKKworICAgICAgICBwcmVwZW5kU3VicmVzb3Vy
Y2VVcGRhdGUoCisgICAgICAgICAgICBsZXZlbCwgU3VicmVzb3VyY2VVcGRhdGUoYXNwZWN0LCBj
bGVhclZhbHVlLCBsZXZlbCwgbGF5ZXJJbmRleCwgbGF5ZXJDb3VudCkpOworICAgICAgICBtU3Vi
cmVzb3VyY2VVcGRhdGVzW2xldmVsLmdldCgpXS5mcm9udCgpLnVwZGF0ZVNvdXJjZSA9IFVwZGF0
ZVNvdXJjZTo6Q2xlYXJBZnRlckludmFsaWRhdGU7CiAgICAgfQogfQogCkBAIC02NTY3LDI0ICs2
ODM5LDY4IEBAIHZvaWQgSW1hZ2VIZWxwZXI6OnJlc3RvcmVTdWJyZXNvdXJjZUNvbnRlbnQoZ2w6
OkxldmVsSW5kZXggbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGxheWVySW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQpCiB7Ci0gICAgaWYgKGxheWVySW5k
ZXggPCBrTWF4Q29udGVudERlZmluZWRMYXllckNvdW50KQotICAgIHsKLSAgICAgICAgdWludDhf
dCBsYXllclJhbmdlQml0cyA9Ci0gICAgICAgICAgICBHZXRDb250ZW50RGVmaW5lZExheWVyUmFu
Z2VCaXRzKGxheWVySW5kZXgsIGxheWVyQ291bnQsIGtNYXhDb250ZW50RGVmaW5lZExheWVyQ291
bnQpOwotICAgICAgICBnZXRMZXZlbENvbnRlbnREZWZpbmVkKHRvVmtMZXZlbChsZXZlbCkpIHw9
IGxheWVyUmFuZ2VCaXRzOwotICAgIH0KKyAgICByZXN0b3JlU3VicmVzb3VyY2VDb250ZW50SW1w
bCgKKyAgICAgICAgbGV2ZWwsIGxheWVySW5kZXgsIGxheWVyQ291bnQsCisgICAgICAgIHN0YXRp
Y19jYXN0PFZrSW1hZ2VBc3BlY3RGbGFnQml0cz4oZ2V0QXNwZWN0RmxhZ3MoKSAmIH5WS19JTUFH
RV9BU1BFQ1RfU1RFTkNJTF9CSVQpLAorICAgICAgICAmZ2V0TGV2ZWxDb250ZW50RGVmaW5lZCh0
b1ZrTGV2ZWwobGV2ZWwpKSk7CiB9CiAKIHZvaWQgSW1hZ2VIZWxwZXI6OnJlc3RvcmVTdWJyZXNv
dXJjZVN0ZW5jaWxDb250ZW50KGdsOjpMZXZlbEluZGV4IGxldmVsLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJJbmRleCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IGxheWVyQ291bnQpCiB7Ci0gICAgaWYgKGxheWVySW5kZXggPCBrTWF4Q29udGVudERlZmlu
ZWRMYXllckNvdW50KQorICAgIHJlc3RvcmVTdWJyZXNvdXJjZUNvbnRlbnRJbXBsKGxldmVsLCBs
YXllckluZGV4LCBsYXllckNvdW50LCBWS19JTUFHRV9BU1BFQ1RfU1RFTkNJTF9CSVQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdldExldmVsU3RlbmNpbENvbnRlbnREZWZp
bmVkKHRvVmtMZXZlbChsZXZlbCkpKTsKK30KKwordm9pZCBJbWFnZUhlbHBlcjo6cmVzdG9yZVN1
YnJlc291cmNlQ29udGVudEltcGwoZ2w6OkxldmVsSW5kZXggbGV2ZWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
bGF5ZXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZrSW1hZ2VBc3BlY3RGbGFnQml0cyBhc3BlY3QsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBMZXZlbENvbnRlbnREZWZpbmVkTWFzayAqY29udGVu
dERlZmluZWRNYXNrKQoreworICAgIGlmIChsYXllckluZGV4ID49IGtNYXhDb250ZW50RGVmaW5l
ZExheWVyQ291bnQpCiAgICAgewotICAgICAgICB1aW50OF90IGxheWVyUmFuZ2VCaXRzID0KLSAg
ICAgICAgICAgIEdldENvbnRlbnREZWZpbmVkTGF5ZXJSYW5nZUJpdHMobGF5ZXJJbmRleCwgbGF5
ZXJDb3VudCwga01heENvbnRlbnREZWZpbmVkTGF5ZXJDb3VudCk7Ci0gICAgICAgIGdldExldmVs
U3RlbmNpbENvbnRlbnREZWZpbmVkKHRvVmtMZXZlbChsZXZlbCkpIHw9IGxheWVyUmFuZ2VCaXRz
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdWludDhfdCBsYXllclJhbmdlQml0cyA9
CisgICAgICAgIEdldENvbnRlbnREZWZpbmVkTGF5ZXJSYW5nZUJpdHMobGF5ZXJJbmRleCwgbGF5
ZXJDb3VudCwga01heENvbnRlbnREZWZpbmVkTGF5ZXJDb3VudCk7CisKKyAgICBzd2l0Y2ggKGFz
cGVjdCkKKyAgICB7CisgICAgICAgIGNhc2UgVktfSU1BR0VfQVNQRUNUX0RFUFRIX0JJVDoKKyAg
ICAgICAgICAgIC8vIEVtdWxhdGVkIGRlcHRoIGNoYW5uZWwgc2hvdWxkIG5ldmVyIGhhdmUgYmVl
biBtYXJrZWQgaW52YWxpZCwgc28gaXQgY2FuIHJldGFpbiBpdHMKKyAgICAgICAgICAgIC8vIGNs
ZWFyZWQgdmFsdWUuCisgICAgICAgICAgICBBU1NFUlQoIWhhc0VtdWxhdGVkRGVwdGhDaGFubmVs
KCkgfHwKKyAgICAgICAgICAgICAgICAgICAoY29udGVudERlZmluZWRNYXNrLT5iaXRzKCkgJiBs
YXllclJhbmdlQml0cykgPT0gbGF5ZXJSYW5nZUJpdHMpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgVktfSU1BR0VfQVNQRUNUX1NURU5DSUxfQklUOgorICAgICAgICAgICAgLy8g
RW11bGF0ZWQgc3RlbmNpbCBjaGFubmVsIHNob3VsZCBuZXZlciBoYXZlIGJlZW4gbWFya2VkIGlu
dmFsaWQsIHNvIGl0IGNhbiByZXRhaW4gaXRzCisgICAgICAgICAgICAvLyBjbGVhcmVkIHZhbHVl
LgorICAgICAgICAgICAgQVNTRVJUKCFoYXNFbXVsYXRlZFN0ZW5jaWxDaGFubmVsKCkgfHwKKyAg
ICAgICAgICAgICAgICAgICAoY29udGVudERlZmluZWRNYXNrLT5iaXRzKCkgJiBsYXllclJhbmdl
Qml0cykgPT0gbGF5ZXJSYW5nZUJpdHMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgVktfSU1BR0VfQVNQRUNUX0NPTE9SX0JJVDoKKyAgICAgICAgICAgIC8vIFRoaXMgZnVuY3Rp
b24gaXMgY2FsbGVkIG9uIGF0dGFjaG1lbnRzIGR1cmluZyBhIHJlbmRlciBwYXNzIHdoZW4gaXQn
cyBkZXRlcm1pbmVkIHRoYXQKKyAgICAgICAgICAgIC8vIHRoZXkgc2hvdWxkIG5vIGxvbmdlciBi
ZSBjb25zaWRlcmVkIGludmFsaWRhdGVkLiAgRm9yIGFuIGF0dGFjaG1lbnQgd2l0aCBlbXVsYXRl
ZAorICAgICAgICAgICAgLy8gZm9ybWF0IHRoYXQgaGFzIGV4dHJhIGNoYW5uZWxzLCBpbnZhbGlk
YXRlU3VicmVzb3VyY2VDb250ZW50SW1wbCBtYXkgaGF2ZSBwcm9hY3RpdmVseQorICAgICAgICAg
ICAgLy8gaW5zZXJ0ZWQgYSBjbGVhciBzbyB0aGF0IHRoZSBleHRyYSBjaGFubmVscyBjb250aW51
ZSB0byBoYXZlIGRlZmluZWQgdmFsdWVzLiAgVGhhdAorICAgICAgICAgICAgLy8gY2xlYXIgc2hv
dWxkIGJlIHJlbW92ZWQuCisgICAgICAgICAgICBpZiAoaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxz
KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmVtb3ZlU2luZ2xlU3RhZ2VkQ2xl
YXJBZnRlckludmFsaWRhdGUobGV2ZWwsIGxheWVySW5kZXgsIGxheWVyQ291bnQpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgLy8gQWRkaXRpb25hbGx5LCBhcyB0aGUgcmVzb3VyY2UgaGFz
IGJlZW4gcmV3cml0dGVuIHRvIGluIHRoZSByZW5kZXIgcGFzcywgaXRzIG5vIGxvbmdlcgorICAg
ICAgICAgICAgLy8gY2xlYXJlZCB0byB0aGUgY2FjaGVkIHZhbHVlLgorICAgICAgICAgICAgbUN1
cnJlbnRTaW5nbGVDbGVhclZhbHVlLnJlc2V0KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICBicmVh
azsKICAgICB9CisKKyAgICAqY29udGVudERlZmluZWRNYXNrIHw9IGxheWVyUmFuZ2VCaXRzOwog
fQogCiBhbmdsZTo6UmVzdWx0IEltYWdlSGVscGVyOjpzdGFnZVN1YnJlc291cmNlVXBkYXRlKENv
bnRleHRWayAqY29udGV4dFZrLApAQCAtNzA3Niw3ICs3MzkyLDcgQEAgYW5nbGU6OlJlc3VsdCBJ
bWFnZUhlbHBlcjo6Zmx1c2hTaW5nbGVTdWJyZXNvdXJjZVN0YWdlZFVwZGF0ZXMoQ29udGV4dFZr
ICpjb250ZXgKICAgICAgICAgICAgIGlmICh1cGRhdGUuaXNVcGRhdGVUb0xheWVycyhsYXllciwg
bGF5ZXJDb3VudCkpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgLy8gT24gYW55IGRh
dGEgdXBkYXRlLCBleGl0IG91dC4gV2UnbGwgbmVlZCB0byBkbyBhIGZ1bGwgdXBsb2FkLgotICAg
ICAgICAgICAgICAgIGNvbnN0IGJvb2wgaXNDbGVhciAgICAgICAgICAgICAgPSB1cGRhdGUudXBk
YXRlU291cmNlID09IFVwZGF0ZVNvdXJjZTo6Q2xlYXI7CisgICAgICAgICAgICAgICAgY29uc3Qg
Ym9vbCBpc0NsZWFyICAgICAgICAgICAgICA9IElzQ2xlYXJPZkFsbENoYW5uZWxzKHVwZGF0ZS51
cGRhdGVTb3VyY2UpOwogICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IHVwZGF0ZUxheWVy
Q291bnQgPSBpc0NsZWFyID8gdXBkYXRlLmRhdGEuY2xlYXIubGF5ZXJDb3VudCA6IDA7CiAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDMyX3QgaW1hZ2VMYXllckNvdW50ID0KICAgICAgICAgICAg
ICAgICAgICAgbUltYWdlVHlwZSA9PSBWS19JTUFHRV9UWVBFXzNEID8gZ2V0TGV2ZWxFeHRlbnRz
KGxldmVsVmspLmRlcHRoIDogbUxheWVyQ291bnQ7CkBAIC03MTQzLDkgKzc0NTksMTIgQEAgYW5n
bGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6Zmx1c2hTdGFnZWRVcGRhdGVzKENvbnRleHRWayAqY29u
dGV4dFZrLAogICAgICAgICBpZiAobGV2ZWxVcGRhdGVzICYmIGxldmVsVXBkYXRlcy0+c2l6ZSgp
ID09IDEpCiAgICAgICAgIHsKICAgICAgICAgICAgIFN1YnJlc291cmNlVXBkYXRlICZ1cGRhdGUg
PSAoKmxldmVsVXBkYXRlcylbMF07Ci0gICAgICAgICAgICBpZiAodXBkYXRlLnVwZGF0ZVNvdXJj
ZSA9PSBVcGRhdGVTb3VyY2U6OkNsZWFyICYmCisgICAgICAgICAgICBpZiAoSXNDbGVhck9mQWxs
Q2hhbm5lbHModXBkYXRlLnVwZGF0ZVNvdXJjZSkgJiYKICAgICAgICAgICAgICAgICBtQ3VycmVu
dFNpbmdsZUNsZWFyVmFsdWUudmFsdWUoKSA9PSB1cGRhdGUuZGF0YS5jbGVhcikKICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobGV2ZWxHTFN0YXJ0ICsgMSA9PSBsZXZlbEdM
RW5kKTsKKyAgICAgICAgICAgICAgICBzZXRDb250ZW50RGVmaW5lZCh0b1ZrTGV2ZWwobGV2ZWxH
TFN0YXJ0KSwgMSwgbGF5ZXJTdGFydCwgbGF5ZXJFbmQgLSBsYXllclN0YXJ0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZS5kYXRhLmNsZWFyLmFzcGVjdEZsYWdzKTsK
ICAgICAgICAgICAgICAgICBBTkdMRV9WS19QRVJGX1dBUk5JTkcoY29udGV4dFZrLCBHTF9ERUJV
R19TRVZFUklUWV9MT1csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJS
ZXBlYXRlZCBDbGVhciBvbiBmcmFtZWJ1ZmZlciBhdHRhY2htZW50IGRyb3BwZWQiKTsKICAgICAg
ICAgICAgICAgICB1cGRhdGUucmVsZWFzZShjb250ZXh0VmstPmdldFJlbmRlcmVyKCkpOwpAQCAt
NzE5Niw4ICs3NTE1LDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6Zmx1c2hTdGFnZWRV
cGRhdGVzKENvbnRleHRWayAqY29udGV4dFZrLAogCiAgICAgICAgIGZvciAoU3VicmVzb3VyY2VV
cGRhdGUgJnVwZGF0ZSA6ICpsZXZlbFVwZGF0ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIEFT
U0VSVCh1cGRhdGUudXBkYXRlU291cmNlID09IFVwZGF0ZVNvdXJjZTo6Q2xlYXIgfHwKLSAgICAg
ICAgICAgICAgICAgICB1cGRhdGUudXBkYXRlU291cmNlID09IFVwZGF0ZVNvdXJjZTo6Q2xlYXJF
bXVsYXRlZENoYW5uZWxzT25seSB8fAorICAgICAgICAgICAgQVNTRVJUKElzQ2xlYXIodXBkYXRl
LnVwZGF0ZVNvdXJjZSkgfHwKICAgICAgICAgICAgICAgICAgICAodXBkYXRlLnVwZGF0ZVNvdXJj
ZSA9PSBVcGRhdGVTb3VyY2U6OkJ1ZmZlciAmJgogICAgICAgICAgICAgICAgICAgICB1cGRhdGUu
ZGF0YS5idWZmZXIuYnVmZmVySGVscGVyICE9IG51bGxwdHIpIHx8CiAgICAgICAgICAgICAgICAg
ICAgKHVwZGF0ZS51cGRhdGVTb3VyY2UgPT0gVXBkYXRlU291cmNlOjpJbWFnZSAmJgpAQCAtNzIy
Niw4ICs3NTQ0LDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFnZUhlbHBlcjo6Zmx1c2hTdGFnZWRVcGRh
dGVzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgLy8gVGhlIHVwZGF0ZXMgd2Vy
ZSBob2xkaW5nIGdsOjpMZXZlbEluZGV4IHZhbHVlcyBzbyB0aGF0IHRoZXkgd291bGQgbm90IG5l
ZWQKICAgICAgICAgICAgIC8vIG1vZGlmaWNhdGlvbiB3aGVuIHRoZSBiYXNlIGxldmVsIG9mIHRo
ZSB0ZXh0dXJlIGNoYW5nZXMuICBOb3cgdGhhdCB0aGUgdXBkYXRlIGlzCiAgICAgICAgICAgICAv
LyBhYm91dCB0byB0YWtlIGVmZmVjdCwgd2UgbmVlZCB0byBjaGFuZ2UgbWlwbGV2ZWwgdG8gTGV2
ZWxJbmRleC4KLSAgICAgICAgICAgIGlmICh1cGRhdGUudXBkYXRlU291cmNlID09IFVwZGF0ZVNv
dXJjZTo6Q2xlYXIgfHwKLSAgICAgICAgICAgICAgICB1cGRhdGUudXBkYXRlU291cmNlID09IFVw
ZGF0ZVNvdXJjZTo6Q2xlYXJFbXVsYXRlZENoYW5uZWxzT25seSkKKyAgICAgICAgICAgIGlmIChJ
c0NsZWFyKHVwZGF0ZS51cGRhdGVTb3VyY2UpKQogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgIHVwZGF0ZS5kYXRhLmNsZWFyLmxldmVsSW5kZXggPSB1cGRhdGVNaXBMZXZlbFZrLmdldCgp
OwogICAgICAgICAgICAgfQpAQCAtNzI3Nyw3ICs3NTk0LDcgQEAgYW5nbGU6OlJlc3VsdCBJbWFn
ZUhlbHBlcjo6Zmx1c2hTdGFnZWRVcGRhdGVzKENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAg
ICAgICAgICAgIHN1YnJlc291cmNlVXBsb2Fkc0luUHJvZ3Jlc3MgfD0gc3VicmVzb3VyY2VIYXNo
OwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAodXBkYXRlLnVwZGF0ZVNvdXJjZSA9
PSBVcGRhdGVTb3VyY2U6OkNsZWFyKQorICAgICAgICAgICAgaWYgKElzQ2xlYXJPZkFsbENoYW5u
ZWxzKHVwZGF0ZS51cGRhdGVTb3VyY2UpKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
IGNsZWFyKHVwZGF0ZS5kYXRhLmNsZWFyLmFzcGVjdEZsYWdzLCB1cGRhdGUuZGF0YS5jbGVhci52
YWx1ZSwgdXBkYXRlTWlwTGV2ZWxWaywKICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVCYXNl
TGF5ZXIsIHVwZGF0ZUxheWVyQ291bnQsIGNvbW1hbmRCdWZmZXIpOwpAQCAtNzQyMiw3ICs3NzM5
LDcgQEAgYm9vbCBJbWFnZUhlbHBlcjo6cmVtb3ZlU3RhZ2VkQ2xlYXJVcGRhdGVzQW5kUmV0dXJu
Q29sb3IoZ2w6OkxldmVsSW5kZXggbGV2ZWxHTCwKICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7
IGluZGV4IDwgbGV2ZWxVcGRhdGVzLT5zaXplKCk7KQogICAgIHsKICAgICAgICAgYXV0byB1cGRh
dGUgPSBsZXZlbFVwZGF0ZXMtPmJlZ2luKCkgKyBpbmRleDsKLSAgICAgICAgaWYgKHVwZGF0ZS0+
dXBkYXRlU291cmNlID09IFVwZGF0ZVNvdXJjZTo6Q2xlYXIpCisgICAgICAgIGlmIChJc0NsZWFy
T2ZBbGxDaGFubmVscyh1cGRhdGUtPnVwZGF0ZVNvdXJjZSkpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGlmIChjb2xvciAhPSBudWxscHRyKQogICAgICAgICAgICAgewpAQCAtODMxNCwxNSArODYz
MSwyNyBAQCBJbWFnZUhlbHBlcjo6U3VicmVzb3VyY2VVcGRhdGU6OlN1YnJlc291cmNlVXBkYXRl
KFJlZkNvdW50ZWQ8SW1hZ2VIZWxwZXI+ICppbWFnZQogSW1hZ2VIZWxwZXI6OlN1YnJlc291cmNl
VXBkYXRlOjpTdWJyZXNvdXJjZVVwZGF0ZShWa0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFZrQ2xlYXJWYWx1ZSAmY2xlYXJWYWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmltYWdlSW5kZXgpCisg
ICAgOiBTdWJyZXNvdXJjZVVwZGF0ZSgKKyAgICAgICAgICBhc3BlY3RGbGFncywKKyAgICAgICAg
ICBjbGVhclZhbHVlLAorICAgICAgICAgIGdsOjpMZXZlbEluZGV4KGltYWdlSW5kZXguZ2V0TGV2
ZWxJbmRleCgpKSwKKyAgICAgICAgICBpbWFnZUluZGV4Lmhhc0xheWVyKCkgPyBpbWFnZUluZGV4
LmdldExheWVySW5kZXgoKSA6IDAsCisgICAgICAgICAgaW1hZ2VJbmRleC5oYXNMYXllcigpID8g
aW1hZ2VJbmRleC5nZXRMYXllckNvdW50KCkgOiBWS19SRU1BSU5JTkdfQVJSQVlfTEFZRVJTKQor
e30KKworSW1hZ2VIZWxwZXI6OlN1YnJlc291cmNlVXBkYXRlOjpTdWJyZXNvdXJjZVVwZGF0ZShW
a0ltYWdlQXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJWYWx1ZSAmY2xlYXJWYWx1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6Okxl
dmVsSW5kZXggbGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IGxheWVySW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVyQ291bnQpCiAgICAgOiB1cGRh
dGVTb3VyY2UoVXBkYXRlU291cmNlOjpDbGVhcikKIHsKLSAgICByZWZDb3VudGVkLmltYWdlICAg
ICAgID0gbnVsbHB0cjsKLSAgICBkYXRhLmNsZWFyLmFzcGVjdEZsYWdzID0gYXNwZWN0RmxhZ3M7
Ci0gICAgZGF0YS5jbGVhci52YWx1ZSAgICAgICA9IGNsZWFyVmFsdWU7Ci0gICAgZGF0YS5jbGVh
ci5sZXZlbEluZGV4ICA9IGltYWdlSW5kZXguZ2V0TGV2ZWxJbmRleCgpOwotICAgIGRhdGEuY2xl
YXIubGF5ZXJJbmRleCAgPSBpbWFnZUluZGV4Lmhhc0xheWVyKCkgPyBpbWFnZUluZGV4LmdldExh
eWVySW5kZXgoKSA6IDA7Ci0gICAgZGF0YS5jbGVhci5sYXllckNvdW50ID0KLSAgICAgICAgaW1h
Z2VJbmRleC5oYXNMYXllcigpID8gaW1hZ2VJbmRleC5nZXRMYXllckNvdW50KCkgOiBWS19SRU1B
SU5JTkdfQVJSQVlfTEFZRVJTOworICAgIHJlZkNvdW50ZWQuaW1hZ2UgICAgICAgICAgPSBudWxs
cHRyOworICAgIGRhdGEuY2xlYXIuYXNwZWN0RmxhZ3MgICAgPSBhc3BlY3RGbGFnczsKKyAgICBk
YXRhLmNsZWFyLnZhbHVlICAgICAgICAgID0gY2xlYXJWYWx1ZTsKKyAgICBkYXRhLmNsZWFyLmxl
dmVsSW5kZXggICAgID0gbGV2ZWwuZ2V0KCk7CisgICAgZGF0YS5jbGVhci5sYXllckluZGV4ICAg
ICA9IGxheWVySW5kZXg7CisgICAgZGF0YS5jbGVhci5sYXllckNvdW50ICAgICA9IGxheWVyQ291
bnQ7CiAgICAgZGF0YS5jbGVhci5jb2xvck1hc2tGbGFncyA9IDA7CiB9CiAKQEAgLTgzNDgsNiAr
ODY3Nyw3IEBAIEltYWdlSGVscGVyOjpTdWJyZXNvdXJjZVVwZGF0ZTo6U3VicmVzb3VyY2VVcGRh
dGUoU3VicmVzb3VyY2VVcGRhdGUgJiZvdGhlcikKICAgICB7CiAgICAgICAgIGNhc2UgVXBkYXRl
U291cmNlOjpDbGVhcjoKICAgICAgICAgY2FzZSBVcGRhdGVTb3VyY2U6OkNsZWFyRW11bGF0ZWRD
aGFubmVsc09ubHk6CisgICAgICAgIGNhc2UgVXBkYXRlU291cmNlOjpDbGVhckFmdGVySW52YWxp
ZGF0ZToKICAgICAgICAgICAgIGRhdGEuY2xlYXIgICAgICAgID0gb3RoZXIuZGF0YS5jbGVhcjsK
ICAgICAgICAgICAgIHJlZkNvdW50ZWQuYnVmZmVyID0gbnVsbHB0cjsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtODQzMiw4ICs4NzYyLDcgQEAgdm9pZCBJbWFnZUhlbHBlcjo6U3VicmVzb3VyY2VV
cGRhdGU6OmdldERlc3RTdWJyZXNvdXJjZSh1aW50MzJfdCBpbWFnZUxheWVyQ291bnQKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgKmJhc2VMYXllck91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmxheWVyQ291bnRPdXQpIGNvbnN0CiB7Ci0gICAg
aWYgKHVwZGF0ZVNvdXJjZSA9PSBVcGRhdGVTb3VyY2U6OkNsZWFyIHx8Ci0gICAgICAgIHVwZGF0
ZVNvdXJjZSA9PSBVcGRhdGVTb3VyY2U6OkNsZWFyRW11bGF0ZWRDaGFubmVsc09ubHkpCisgICAg
aWYgKElzQ2xlYXIodXBkYXRlU291cmNlKSkKICAgICB7CiAgICAgICAgICpiYXNlTGF5ZXJPdXQg
ID0gZGF0YS5jbGVhci5sYXllckluZGV4OwogICAgICAgICAqbGF5ZXJDb3VudE91dCA9IGRhdGEu
Y2xlYXIubGF5ZXJDb3VudDsKQEAgLTg0NTcsOCArODc4Niw3IEBAIHZvaWQgSW1hZ2VIZWxwZXI6
OlN1YnJlc291cmNlVXBkYXRlOjpnZXREZXN0U3VicmVzb3VyY2UodWludDMyX3QgaW1hZ2VMYXll
ckNvdW50CiAKIFZrSW1hZ2VBc3BlY3RGbGFncyBJbWFnZUhlbHBlcjo6U3VicmVzb3VyY2VVcGRh
dGU6OmdldERlc3RBc3BlY3RGbGFncygpIGNvbnN0CiB7Ci0gICAgaWYgKHVwZGF0ZVNvdXJjZSA9
PSBVcGRhdGVTb3VyY2U6OkNsZWFyIHx8Ci0gICAgICAgIHVwZGF0ZVNvdXJjZSA9PSBVcGRhdGVT
b3VyY2U6OkNsZWFyRW11bGF0ZWRDaGFubmVsc09ubHkpCisgICAgaWYgKElzQ2xlYXIodXBkYXRl
U291cmNlKSkKICAgICB7CiAgICAgICAgIHJldHVybiBkYXRhLmNsZWFyLmFzcGVjdEZsYWdzOwog
ICAgIH0KQEAgLTg1MjcsNiArODg1NSwxNiBAQCBib29sIEltYWdlSGVscGVyOjpoYXNFbXVsYXRl
ZEltYWdlQ2hhbm5lbHMoKSBjb25zdAogICAgICAgICAgICAoYW5nbGVGbXQuc3RlbmNpbEJpdHMg
PT0gMCAmJiB0ZXh0dXJlRm10LnN0ZW5jaWxCaXRzID4gMCk7CiB9CiAKK2Jvb2wgSW1hZ2VIZWxw
ZXI6Omhhc0VtdWxhdGVkRGVwdGhDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0SW50
ZW5kZWRGb3JtYXQoKS5kZXB0aEJpdHMgPT0gMCAmJiBnZXRBY3R1YWxGb3JtYXQoKS5kZXB0aEJp
dHMgPiAwOworfQorCitib29sIEltYWdlSGVscGVyOjpoYXNFbXVsYXRlZFN0ZW5jaWxDaGFubmVs
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0SW50ZW5kZWRGb3JtYXQoKS5zdGVuY2lsQml0cyA9
PSAwICYmIGdldEFjdHVhbEZvcm1hdCgpLnN0ZW5jaWxCaXRzID4gMDsKK30KKwogVmtDb2xvckNv
bXBvbmVudEZsYWdzIEltYWdlSGVscGVyOjpnZXRFbXVsYXRlZENoYW5uZWxzTWFzaygpIGNvbnN0
CiB7CiAgICAgY29uc3QgYW5nbGU6OkZvcm1hdCAmYW5nbGVGbXQgICA9IGdldEludGVuZGVkRm9y
bWF0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvdnVsa2FuL3ZrX2hlbHBlcnMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5oCmluZGV4IDViMTg2MTQxMWIz
Zjk5MTJmNTQyOWM5MjliYTVjNDE1M2I4ZmYxMTQuLmRmOTM0NTg5YWQ1OGVhYzczODBiYTU4MzFm
OTM5YmI0NWJmNzdkMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfaGVscGVycy5oCkBAIC01
MTYsMjggKzUxNiwzMCBAQCBjbGFzcyBTZW1hcGhvcmVIZWxwZXIgZmluYWwgOiBhbmdsZTo6Tm9u
Q29weWFibGUKIGVudW0gY2xhc3MgUGlwZWxpbmVTdGFnZSA6IHVpbnQxNl90CiB7CiAgICAgLy8g
QmVsbG93IGFyZSBvcmRlcmVkIGJhc2VkIG9uIEdyYXBoaWNzIFBpcGVsaW5lIFN0YWdlcwotICAg
IFRvcE9mUGlwZSAgICAgICAgICAgICA9IDAsCi0gICAgRHJhd0luZGlyZWN0ICAgICAgICAgID0g
MSwKLSAgICBWZXJ0ZXhJbnB1dCAgICAgICAgICAgPSAyLAotICAgIFZlcnRleFNoYWRlciAgICAg
ICAgICA9IDMsCi0gICAgR2VvbWV0cnlTaGFkZXIgICAgICAgID0gNCwKLSAgICBUcmFuc2Zvcm1G
ZWVkYmFjayAgICAgPSA1LAotICAgIEVhcmx5RnJhZ21lbnRUZXN0ICAgICA9IDYsCi0gICAgRnJh
Z21lbnRTaGFkZXIgICAgICAgID0gNywKLSAgICBMYXRlRnJhZ21lbnRUZXN0ICAgICAgPSA4LAot
ICAgIENvbG9yQXR0YWNobWVudE91dHB1dCA9IDksCisgICAgVG9wT2ZQaXBlICAgICAgICAgICAg
ICA9IDAsCisgICAgRHJhd0luZGlyZWN0ICAgICAgICAgICA9IDEsCisgICAgVmVydGV4SW5wdXQg
ICAgICAgICAgICA9IDIsCisgICAgVmVydGV4U2hhZGVyICAgICAgICAgICA9IDMsCisgICAgVGVz
c2VsbGF0aW9uQ29udHJvbCAgICA9IDQsCisgICAgVGVzc2VsbGF0aW9uRXZhbHVhdGlvbiA9IDUs
CisgICAgR2VvbWV0cnlTaGFkZXIgICAgICAgICA9IDYsCisgICAgVHJhbnNmb3JtRmVlZGJhY2sg
ICAgICA9IDcsCisgICAgRWFybHlGcmFnbWVudFRlc3QgICAgICA9IDgsCisgICAgRnJhZ21lbnRT
aGFkZXIgICAgICAgICA9IDksCisgICAgTGF0ZUZyYWdtZW50VGVzdCAgICAgICA9IDEwLAorICAg
IENvbG9yQXR0YWNobWVudE91dHB1dCAgPSAxMSwKIAogICAgIC8vIENvbXB1dGUgc3BlY2lmaWMg
cGlwZWxpbmUgU3RhZ2UKLSAgICBDb21wdXRlU2hhZGVyID0gMTAsCisgICAgQ29tcHV0ZVNoYWRl
ciA9IDEyLAogCiAgICAgLy8gVHJhbnNmZXIgc3BlY2lmaWMgcGlwZWxpbmUgU3RhZ2UKLSAgICBU
cmFuc2ZlciAgICAgPSAxMSwKLSAgICBCb3R0b21PZlBpcGUgPSAxMiwKKyAgICBUcmFuc2ZlciAg
ICAgPSAxMywKKyAgICBCb3R0b21PZlBpcGUgPSAxNCwKIAogICAgIC8vIEhvc3Qgc3BlY2lmaWMg
cGlwZWxpbmUgc3RhZ2UKLSAgICBIb3N0ID0gMTMsCisgICAgSG9zdCA9IDE1LAogCi0gICAgSW52
YWxpZEVudW0gPSAxNCwKKyAgICBJbnZhbGlkRW51bSA9IDE2LAogICAgIEVudW1Db3VudCAgID0g
SW52YWxpZEVudW0sCiB9OwogdXNpbmcgUGlwZWxpbmVTdGFnZXNNYXNrID0gYW5nbGU6OlBhY2tl
ZEVudW1CaXRTZXQ8UGlwZWxpbmVTdGFnZSwgdWludDE2X3Q+OwpAQCAtNzg4LDYgKzc5MCwxMyBA
QCBjbGFzcyBCdWZmZXJIZWxwZXIgOiBwdWJsaWMgUmVhZFdyaXRlUmVzb3VyY2UKICAgICB2b2lk
IGZpbGxXaXRoQ29sb3IoY29uc3QgYW5nbGU6OkNvbG9yPHVpbnQ4X3Q+ICZjb2xvciwKICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkludGVybmFsRm9ybWF0ICZpbnRlcm5hbEZvcm1h
dCk7CiAKKyAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciBWZXJ0ZXhBcnJheSBjb2RlIHNvIHRo
YXQgd2UgY2FuIGNyZWF0ZSBhIGRlZGljYXRlZCBWa0J1ZmZlciBmb3IgdGhlCisgICAgLy8gc3Vi
LXJhbmdlIG9mIG1lbW9yeSBvZiB0aGUgYWN0dWFsIGJ1ZmZlciBkYXRhIHNpemUgdGhhdCB1c2Vy
IHJlcXVlc3RlZCAoaS5lLCBleGNsdWRpbmcgZXh0cmEKKyAgICAvLyBwYWRkaW5ncyB0aGF0IHdl
IGFkZGVkIGZvciBhbGlnbm1lbnQsIHdoaWNoIHdpbGwgbm90IGdldCB6ZXJvIGZpbGxlZCkuCisg
ICAgY29uc3QgQnVmZmVyICZnZXRCdWZmZXJGb3JWZXJ0ZXhBcnJheShDb250ZXh0VmsgKmNvbnRl
eHRWaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrRGV2aWNl
U2l6ZSBhY3R1YWxEYXRhU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZrRGV2aWNlU2l6ZSAqb2Zmc2V0T3V0KTsKKwogICBwcml2YXRlOgogICAgIHZvaWQg
aW5pdGlhbGl6ZUJhcnJpZXJUcmFja2VyKENvbnRleHQgKmNvbnRleHQpOwogICAgIGFuZ2xlOjpS
ZXN1bHQgaW5pdGlhbGl6ZU5vblplcm9NZW1vcnkoQ29udGV4dCAqY29udGV4dCwKQEAgLTgwMyw2
ICs4MTIsMTEgQEAgY2xhc3MgQnVmZmVySGVscGVyIDogcHVibGljIFJlYWRXcml0ZVJlc291cmNl
CiAKICAgICAvLyBTdWJhbGxvY2F0aW9uIG9iamVjdC4KICAgICBCdWZmZXJTdWJhbGxvY2F0aW9u
IG1TdWJhbGxvY2F0aW9uOworICAgIC8vIFRoaXMgbm9ybWFsbHkgaXMgaW52YWxpZC4gV2UgYWx3
YXlzIHVzZSB0aGUgQnVmZmVyQmxvY2sncyBidWZmZXIgYW5kIG9mZnNldCBjb21iaW5hdGlvbi4g
QnV0CisgICAgLy8gd2hlbiByb2J1c3QgcmVzb3VyY2UgaW5pdCBpcyBlbmFibGVkLCB3ZSBtYXkg
d2FudCB0byBjcmVhdGUgYSBkZWRpY2F0ZWQgVmtCdWZmZXIgZm9yIHRoZQorICAgIC8vIHN1YmFs
bG9jYXRpb24gc28gdGhhdCB2dWxrYW4gZHJpdmVyIHdpbGwgZW5zdXJlIG5vIGFjY2VzcyBiZXlv
bmQgdGhpcyBzdWItcmFuZ2UuIEluIHRoYXQKKyAgICAvLyBjYXNlLCB0aGlzIFZrQnVmZmVyIHdp
bGwgYmUgY3JlYXRlZCBsYXppbHkgYXMgbmVlZGVkLgorICAgIEJ1ZmZlciBtQnVmZmVyRm9yVmVy
dGV4QXJyYXk7CiAKICAgICAvLyBGb3IgbWVtb3J5IGJhcnJpZXJzLgogICAgIHVpbnQzMl90IG1D
dXJyZW50UXVldWVGYW1pbHlJbmRleDsKQEAgLTg1OCw3ICs4NzIsNiBAQCBjbGFzcyBCdWZmZXJQ
b29sIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQzMl90IGtN
YXhDb3VudFJlbWFpbnNFbXB0eSA9IDQ7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQzMl90IGtN
YXhFbXB0eUJ1ZmZlckNvdW50ICA9IDE2OwogfTsKLXVzaW5nIEJ1ZmZlclBvb2xQb2ludGVyQXJy
YXkgPSBzdGQ6OmFycmF5PHN0ZDo6dW5pcXVlX3B0cjxCdWZmZXJQb29sPiwgVktfTUFYX01FTU9S
WV9UWVBFUz47CiAKIGVudW0gY2xhc3MgQnVmZmVyQWNjZXNzCiB7CkBAIC05MjQsNiArOTM3LDcg
QEAgY2xhc3MgUmVuZGVyUGFzc0F0dGFjaG1lbnQgZmluYWwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclBhc3NTdG9yZU9wICpzdG9yZU9wLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCAqaXNJbnZhbGlkYXRlZE91dCk7CiAgICAgdm9pZCByZXN0b3JlQ29udGVudCgp
OworICAgIGJvb2wgaGFzQW55QWNjZXNzKCkgY29uc3QgeyByZXR1cm4gbUFjY2VzcyAhPSBSZXNv
dXJjZUFjY2Vzczo6VW51c2VkOyB9CiAgICAgYm9vbCBoYXNXcml0ZUFjY2VzcygpIGNvbnN0IHsg
cmV0dXJuIG1BY2Nlc3MgPT0gUmVzb3VyY2VBY2Nlc3M6OldyaXRlOyB9CiAKICAgICBJbWFnZUhl
bHBlciAqZ2V0SW1hZ2UoKSB7IHJldHVybiBtSW1hZ2U7IH0KQEAgLTk1MywyMSArOTY3LDI5IEBA
IGNsYXNzIFJlbmRlclBhc3NBdHRhY2htZW50IGZpbmFsCiAgICAgZ2w6OlJlY3RhbmdsZSBtSW52
YWxpZGF0ZUFyZWE7CiB9OwogCi0vLyBTdG9yZXMgSW1hZ2VIZWxwZXJzIEluIHBhY2tlZCBhdHRh
Y2htZW50IGluZGV4Ci1jbGFzcyBQYWNrZWRJbWFnZUF0dGFjaG1lbnRBcnJheSBmaW5hbAorLy8g
U3RvcmVzIFJlbmRlclBhc3NBdHRhY2htZW50IEluIHBhY2tlZCBhdHRhY2htZW50IGluZGV4Citj
bGFzcyBQYWNrZWRSZW5kZXJQYXNzQXR0YWNobWVudEFycmF5IGZpbmFsCiB7CiAgIHB1YmxpYzoK
LSAgICBQYWNrZWRJbWFnZUF0dGFjaG1lbnRBcnJheSgpIDogbUltYWdlc3t9IHt9Ci0gICAgflBh
Y2tlZEltYWdlQXR0YWNobWVudEFycmF5KCkgPSBkZWZhdWx0OwotICAgIEltYWdlSGVscGVyICom
b3BlcmF0b3JbXShQYWNrZWRBdHRhY2htZW50SW5kZXggaW5kZXgpIHsgcmV0dXJuIG1JbWFnZXNb
aW5kZXguZ2V0KCldOyB9Ci0gICAgdm9pZCByZXNldCgpIHsgbUltYWdlcy5maWxsKG51bGxwdHIp
OyB9CisgICAgUGFja2VkUmVuZGVyUGFzc0F0dGFjaG1lbnRBcnJheSgpIDogbUF0dGFjaG1lbnRz
e30ge30KKyAgICB+UGFja2VkUmVuZGVyUGFzc0F0dGFjaG1lbnRBcnJheSgpID0gZGVmYXVsdDsK
KyAgICBSZW5kZXJQYXNzQXR0YWNobWVudCAmb3BlcmF0b3JbXShQYWNrZWRBdHRhY2htZW50SW5k
ZXggaW5kZXgpCisgICAgeworICAgICAgICByZXR1cm4gbUF0dGFjaG1lbnRzW2luZGV4LmdldCgp
XTsKKyAgICB9CisgICAgdm9pZCByZXNldCgpCisgICAgeworICAgICAgICBmb3IgKFJlbmRlclBh
c3NBdHRhY2htZW50ICZhdHRhY2htZW50IDogbUF0dGFjaG1lbnRzKQorICAgICAgICB7CisgICAg
ICAgICAgICBhdHRhY2htZW50LnJlc2V0KCk7CisgICAgICAgIH0KKyAgICB9CiAKICAgcHJpdmF0
ZToKLSAgICBnbDo6QXR0YWNobWVudEFycmF5PEltYWdlSGVscGVyICo+IG1JbWFnZXM7CisgICAg
Z2w6OkF0dGFjaG1lbnRBcnJheTxSZW5kZXJQYXNzQXR0YWNobWVudD4gbUF0dGFjaG1lbnRzOwog
fTsKIAogLy8gVGhlIGZvbGxvd2luZyBhcmUgdXNlZCB0byBoZWxwIHRyYWNrIHRoZSBzdGF0ZSBv
ZiBhbiBpbnZhbGlkYXRlZCBhdHRhY2htZW50LgotCiAvLyBUaGlzIHZhbHVlIGluZGljYXRlcyBh
biAiaW5maW5pdGUiIENtZENvdW50IHRoYXQgaXMgbm90IHZhbGlkIGZvciBjb21wYXJpbmcKIGNv
bnN0ZXhwciB1aW50MzJfdCBrSW5maW5pdGVDbWRDb3VudCA9IDB4RkZGRkZGRkY7CiAKQEAgLTEx
NTEsNiArMTE3Myw5IEBAIGNsYXNzIFJlbmRlclBhc3NDb21tYW5kQnVmZmVySGVscGVyIGZpbmFs
IDogcHVibGljIENvbW1hbmRCdWZmZXJIZWxwZXJDb21tb24KICAgICAgICAgICAgICAgICAgICAg
SW1hZ2VIZWxwZXIgKmltYWdlKTsKIAogICAgIHZvaWQgY29sb3JJbWFnZXNEcmF3KFJlc291cmNl
VXNlTGlzdCAqcmVzb3VyY2VVc2VMaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpM
ZXZlbEluZGV4IGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVy
U3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbWFnZUhlbHBlciAqaW1hZ2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW1hZ2VIZWxwZXIgKnJlc29sdmVJbWFnZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBQYWNrZWRBdHRhY2htZW50SW5kZXggcGFja2VkQXR0YWNobWVudEluZGV4KTsKQEAg
LTExOTUsMTMgKzEyMjAsMTYgQEAgY2xhc3MgUmVuZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXIg
ZmluYWwgOiBwdWJsaWMgQ29tbWFuZEJ1ZmZlckhlbHBlckNvbW1vbgogCiAgICAgdm9pZCBlbmRU
cmFuc2Zvcm1GZWVkYmFjaygpOwogCi0gICAgdm9pZCBpbnZhbGlkYXRlUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudChQYWNrZWRBdHRhY2htZW50SW5kZXggYXR0YWNobWVudEluZGV4KTsKKyAgICB2
b2lkIGludmFsaWRhdGVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50KGNvbnN0IGdsOjpTdGF0ZSAm
c3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
X3QgY29sb3JJbmRleEdMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUGFja2VkQXR0YWNobWVudEluZGV4IGF0dGFjaG1lbnRJbmRleCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJmlu
dmFsaWRhdGVBcmVhKTsKICAgICB2b2lkIGludmFsaWRhdGVSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50KGNvbnN0IGdsOjpEZXB0aFN0ZW5jaWxTdGF0ZSAmZHNTdGF0ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgJmludmFs
aWRhdGVBcmVhKTsKICAgICB2b2lkIGludmFsaWRhdGVSZW5kZXJQYXNzU3RlbmNpbEF0dGFjaG1l
bnQoY29uc3QgZ2w6OkRlcHRoU3RlbmNpbFN0YXRlICZkc1N0YXRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICZpbnZh
bGlkYXRlQXJlYSk7CiAKLSAgICB2b2lkIHVwZGF0ZVJlbmRlclBhc3NDb2xvckNsZWFyKFBhY2tl
ZEF0dGFjaG1lbnRJbmRleCBjb2xvckluZGV4LAorICAgIHZvaWQgdXBkYXRlUmVuZGVyUGFzc0Nv
bG9yQ2xlYXIoUGFja2VkQXR0YWNobWVudEluZGV4IGNvbG9ySW5kZXhWaywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZrQ2xlYXJWYWx1ZSAmY29sb3JDbGVhclZh
bHVlKTsKICAgICB2b2lkIHVwZGF0ZVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxDbGVhcihWa0ltYWdl
QXNwZWN0RmxhZ3MgYXNwZWN0RmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgVmtDbGVhclZhbHVlICZjbGVhclZhbHVlKTsKQEAgLTEyMjYsOSAr
MTI1NCwxOCBAQCBjbGFzcyBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlciBmaW5hbCA6IHB1
YmxpYyBDb21tYW5kQnVmZmVySGVscGVyQ29tbW9uCiAKICAgICBWa0ZyYW1lYnVmZmVyIGdldEZy
YW1lYnVmZmVySGFuZGxlKCkgY29uc3QgeyByZXR1cm4gbUZyYW1lYnVmZmVyLmdldEhhbmRsZSgp
OyB9CiAKKyAgICB2b2lkIG9uQ29sb3JBY2Nlc3MoUGFja2VkQXR0YWNobWVudEluZGV4IHBhY2tl
ZEF0dGFjaG1lbnRJbmRleCwgUmVzb3VyY2VBY2Nlc3MgYWNjZXNzKTsKICAgICB2b2lkIG9uRGVw
dGhBY2Nlc3MoUmVzb3VyY2VBY2Nlc3MgYWNjZXNzKTsKICAgICB2b2lkIG9uU3RlbmNpbEFjY2Vz
cyhSZXNvdXJjZUFjY2VzcyBhY2Nlc3MpOwogCisgICAgYm9vbCBoYXNBbnlDb2xvckFjY2VzcyhQ
YWNrZWRBdHRhY2htZW50SW5kZXggcGFja2VkQXR0YWNobWVudEluZGV4KQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKHBhY2tlZEF0dGFjaG1lbnRJbmRleCA8IG1Db2xvckF0dGFjaG1lbnRzQ291bnQp
OworICAgICAgICByZXR1cm4gbUNvbG9yQXR0YWNobWVudHNbcGFja2VkQXR0YWNobWVudEluZGV4
XS5oYXNBbnlBY2Nlc3MoKTsKKyAgICB9CisgICAgYm9vbCBoYXNBbnlEZXB0aEFjY2VzcygpIHsg
cmV0dXJuIG1EZXB0aEF0dGFjaG1lbnQuaGFzQW55QWNjZXNzKCk7IH0KKyAgICBib29sIGhhc0Fu
eVN0ZW5jaWxBY2Nlc3MoKSB7IHJldHVybiBtU3RlbmNpbEF0dGFjaG1lbnQuaGFzQW55QWNjZXNz
KCk7IH0KKwogICAgIHZvaWQgdXBkYXRlUmVuZGVyUGFzc0ZvclJlc29sdmUoQ29udGV4dFZrICpj
b250ZXh0VmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZWJ1ZmZl
ciAqbmV3RnJhbWVidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBSZW5kZXJQYXNzRGVzYyAmcmVuZGVyUGFzc0Rlc2MpOwpAQCAtMTI3NCwxMyArMTMxMSwx
MyBAQCBjbGFzcyBSZW5kZXJQYXNzQ29tbWFuZEJ1ZmZlckhlbHBlciBmaW5hbCA6IHB1YmxpYyBD
b21tYW5kQnVmZmVySGVscGVyQ29tbW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSW1hZ2VIZWxwZXIgKmltYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhY2tlZEF0dGFjaG1lbnRJbmRleCBwYWNrZWRBdHRhY2htZW50SW5kZXgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1Jlc29sdmVJbWFnZSk7CisgICAgdm9pZCBm
aW5hbGl6ZUNvbG9ySW1hZ2VMb2FkU3RvcmUoQ29udGV4dCAqY29udGV4dCwgUGFja2VkQXR0YWNo
bWVudEluZGV4IHBhY2tlZEF0dGFjaG1lbnRJbmRleCk7CiAgICAgdm9pZCBmaW5hbGl6ZURlcHRo
U3RlbmNpbEltYWdlTGF5b3V0KENvbnRleHQgKmNvbnRleHQpOwogICAgIHZvaWQgZmluYWxpemVE
ZXB0aFN0ZW5jaWxSZXNvbHZlSW1hZ2VMYXlvdXQoQ29udGV4dCAqY29udGV4dCk7CiAgICAgdm9p
ZCBmaW5hbGl6ZURlcHRoU3RlbmNpbExvYWRTdG9yZShDb250ZXh0ICpjb250ZXh0KTsKLSAgICB2
b2lkIGZpbmFsaXplRGVwdGhTdGVuY2lsTG9hZFN0b3JlT3BzKENvbnRleHQgKmNvbnRleHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZUFjY2VzcyBh
Y2Nlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJQ
YXNzTG9hZE9wICpsb2FkT3AsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJQYXNzU3RvcmVPcCAqc3RvcmVPcCk7CisKKyAgICB2b2lkIGZpbmFsaXplQ29s
b3JJbWFnZUxheW91dEFuZExvYWRTdG9yZShDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2tlZEF0dGFjaG1lbnRJbmRleCBw
YWNrZWRBdHRhY2htZW50SW5kZXgpOwogICAgIHZvaWQgZmluYWxpemVEZXB0aFN0ZW5jaWxJbWFn
ZUxheW91dEFuZExvYWRTdG9yZShDb250ZXh0ICpjb250ZXh0KTsKIAogICAgIC8vIFdoZW4gdXNp
bmcgVnVsa2FuIHNlY29uZGFyeSBjb21tYW5kIGJ1ZmZlcnMsIGVhY2ggc3VicGFzcyBtdXN0IGJl
IHJlY29yZGVkIGluIGEgc2VwYXJhdGUKQEAgLTEzMTgsMTEgKzEzNTUsMTEgQEAgY2xhc3MgUmVu
ZGVyUGFzc0NvbW1hbmRCdWZmZXJIZWxwZXIgZmluYWwgOiBwdWJsaWMgQ29tbWFuZEJ1ZmZlckhl
bHBlckNvbW1vbgogICAgIC8vIGRpZmZlcmVudCBsYXlvdXQuCiAgICAgYW5nbGU6OkZsYXRVbm9y
ZGVyZWRTZXQ8SW1hZ2VTZXJpYWwsIGtGbGF0TWFwU2l6ZT4gbVJlbmRlclBhc3NVc2VkSW1hZ2Vz
OwogCi0gICAgLy8gQXJyYXkgc2l6ZSBvZiBtQ29sb3JJbWFnZXMKLSAgICBQYWNrZWRBdHRhY2ht
ZW50Q291bnQgbUNvbG9ySW1hZ2VzQ291bnQ7CisgICAgLy8gQXJyYXkgc2l6ZSBvZiBtQ29sb3JB
dHRhY2htZW50cworICAgIFBhY2tlZEF0dGFjaG1lbnRDb3VudCBtQ29sb3JBdHRhY2htZW50c0Nv
dW50OwogICAgIC8vIEF0dGFjaGVkIHJlbmRlciB0YXJnZXQgaW1hZ2VzLiBDb2xvciBhbmQgZGVw
dGggcmVzb2x2ZSBpbWFnZXMgYWx3YXlzIGNvbWUgbGFzdC4KLSAgICBQYWNrZWRJbWFnZUF0dGFj
aG1lbnRBcnJheSBtQ29sb3JJbWFnZXM7Ci0gICAgUGFja2VkSW1hZ2VBdHRhY2htZW50QXJyYXkg
bUNvbG9yUmVzb2x2ZUltYWdlczsKKyAgICBQYWNrZWRSZW5kZXJQYXNzQXR0YWNobWVudEFycmF5
IG1Db2xvckF0dGFjaG1lbnRzOworICAgIFBhY2tlZFJlbmRlclBhc3NBdHRhY2htZW50QXJyYXkg
bUNvbG9yUmVzb2x2ZUF0dGFjaG1lbnRzOwogCiAgICAgUmVuZGVyUGFzc0F0dGFjaG1lbnQgbURl
cHRoQXR0YWNobWVudDsKICAgICBSZW5kZXJQYXNzQXR0YWNobWVudCBtRGVwdGhSZXNvbHZlQXR0
YWNobWVudDsKQEAgLTE0NTgsNiArMTQ5NSwyOCBAQCBlbnVtIGNsYXNzIFJlbmRlclBhc3NVc2Fn
ZQogfTsKIHVzaW5nIFJlbmRlclBhc3NVc2FnZUZsYWdzID0gYW5nbGU6OlBhY2tlZEVudW1CaXRT
ZXQ8UmVuZGVyUGFzc1VzYWdlLCB1aW50MTZfdD47CiAKKy8vIFRoZSBzb3VyY2Ugb2YgdXBkYXRl
IHRvIGFuIEltYWdlSGVscGVyCitlbnVtIGNsYXNzIFVwZGF0ZVNvdXJjZQoreworICAgIC8vIENs
ZWFyIGFuIGltYWdlIHN1YnJlc291cmNlLgorICAgIENsZWFyLAorICAgIC8vIENsZWFyIG9ubHkg
dGhlIGVtdWxhdGVkIGNoYW5uZWxzIG9mIHRoZSBzdWJyZXNvdXJjZS4gIFRoaXMgb3BlcmF0aW9u
IGlzIG1vcmUgZXhwZW5zaXZlIHRoYW4KKyAgICAvLyBDbGVhciwgYW5kIHNvIGlzIG9ubHkgdXNl
ZCBmb3IgZW11bGF0ZWQgY29sb3IgZm9ybWF0cyBhbmQgb25seSBmb3IgZXh0ZXJuYWwgaW1hZ2Vz
LiAgQ29sb3IKKyAgICAvLyBvbmx5IGJlY2F1c2UgZGVwdGggb3Igc3RlbmNpbCBjbGVhciBpcyBh
bHJlYWR5IHBlciBjaGFubmVsLCBzbyBDbGVhciB3b3JrcyBmb3IgdGhlbS4KKyAgICAvLyBFeHRl
cm5hbCBvbmx5IGJlY2F1c2UgdGhleSBtYXkgY29udGFpbiBkYXRhIHRoYXQgbmVlZHMgdG8gYmUg
cHJlc2VydmVkLiAgQWRkaXRpb25hbGx5LCB0aGlzCisgICAgLy8gaXMgYSBvbmUtdGltZSBvbmx5
IGNsZWFyLiAgT25jZSB0aGUgZW11bGF0ZWQgY2hhbm5lbHMgYXJlIGNsZWFyZWQsIEFOR0xFIGVu
c3VyZXMgdGhhdCB0aGV5CisgICAgLy8gcmVtYWluIHVudG91Y2hlZC4KKyAgICBDbGVhckVtdWxh
dGVkQ2hhbm5lbHNPbmx5LAorICAgIC8vIFdoZW4gYW4gaW1hZ2Ugd2l0aCBlbXVsYXRlZCBjaGFu
bmVscyBpcyBpbnZhbGlkYXRlZCwgYSBjbGVhciBtYXkgYmUgcmVzdGFnZWQgdG8ga2VlcCB0aGUK
KyAgICAvLyBjb250ZW50cyBvZiB0aGUgZW11bGF0ZWQgY2hhbm5lbHMgZGVmaW5lZC4gIFRoaXMg
aXMgZ2l2ZW4gYSBkZWRpY2F0ZWQgZW51bSB2YWx1ZSwgc28gaXQgY2FuCisgICAgLy8gYmUgcmVt
b3ZlZCBpZiB0aGUgaW52YWxpZGF0ZSBpcyB1bmRvbmUgYXQgdGhlIGVuZCBvZiB0aGUgcmVuZGVy
IHBhc3MuCisgICAgQ2xlYXJBZnRlckludmFsaWRhdGUsCisgICAgLy8gVGhlIHNvdXJjZSBvZiB0
aGUgY29weSBpcyBhIGJ1ZmZlci4KKyAgICBCdWZmZXIsCisgICAgLy8gVGhlIHNvdXJjZSBvZiB0
aGUgY29weSBpcyBhbiBpbWFnZS4KKyAgICBJbWFnZSwKK307CisKIGJvb2wgRm9ybWF0SGFzTmVj
ZXNzYXJ5RmVhdHVyZShSZW5kZXJlclZrICpyZW5kZXJlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbmdsZTo6Rm9ybWF0SUQgZm9ybWF0SUQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVmtJbWFnZVRpbGluZyB0aWxpbmdNb2RlLApAQCAtMTY5MCw2ICsxNzQ5LDgg
QEAgY2xhc3MgSW1hZ2VIZWxwZXIgZmluYWwgOiBwdWJsaWMgUmVzb3VyY2UsIHB1YmxpYyBhbmds
ZTo6U3ViamVjdAogICAgICAgICByZXR1cm4gYW5nbGU6OkZvcm1hdDo6R2V0KG1BY3R1YWxGb3Jt
YXRJRCk7CiAgICAgfQogICAgIGJvb2wgaGFzRW11bGF0ZWRJbWFnZUNoYW5uZWxzKCkgY29uc3Q7
CisgICAgYm9vbCBoYXNFbXVsYXRlZERlcHRoQ2hhbm5lbCgpIGNvbnN0OworICAgIGJvb2wgaGFz
RW11bGF0ZWRTdGVuY2lsQ2hhbm5lbCgpIGNvbnN0OwogICAgIGJvb2wgaGFzRW11bGF0ZWRJbWFn
ZUZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIG1BY3R1YWxGb3JtYXRJRCAhPSBtSW50ZW5kZWRGb3Jt
YXRJRDsgfQogICAgIEdMaW50IGdldFNhbXBsZXMoKSBjb25zdCB7IHJldHVybiBtU2FtcGxlczsg
fQogCkBAIC0xNzY1LDYgKzE4MjYsOSBAQCBjbGFzcyBJbWFnZUhlbHBlciBmaW5hbCA6IHB1Ymxp
YyBSZXNvdXJjZSwgcHVibGljIGFuZ2xlOjpTdWJqZWN0CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkxldmVsSW5kZXggbGV2ZWxJbmRleEdMLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVy
SW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QgbGF5ZXJDb3VudCk7CisgICAgdm9pZCByZW1vdmVTaW5nbGVTdGFnZWRDbGVhckFmdGVy
SW52YWxpZGF0ZShnbDo6TGV2ZWxJbmRleCBsZXZlbEluZGV4R0wsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5
ZXJDb3VudCk7CiAgICAgdm9pZCByZW1vdmVTdGFnZWRVcGRhdGVzKENvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpMZXZlbEluZGV4IGxldmVsR0xTdGFy
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2w6OkxldmVsSW5kZXggbGV2ZWxHTEVu
ZCk7CkBAIC0yMDU5LDExICsyMTIzLDEzIEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVi
bGljIFJlc291cmNlLCBwdWJsaWMgYW5nbGU6OlN1YmplY3QKICAgICB2b2lkIGludmFsaWRhdGVT
dWJyZXNvdXJjZUNvbnRlbnQoQ29udGV4dFZrICpjb250ZXh0VmssCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdsOjpMZXZlbEluZGV4IGxldmVsLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqcHJlZmVyVG9LZWVwQ29u
dGVudHNEZWZpbmVkT3V0KTsKICAgICB2b2lkIGludmFsaWRhdGVTdWJyZXNvdXJjZVN0ZW5jaWxD
b250ZW50KENvbnRleHRWayAqY29udGV4dFZrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ2w6OkxldmVsSW5kZXggbGV2ZWwsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3Vu
dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBsYXllckNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm9vbCAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVkT3V0KTsKICAgICB2b2lkIHJlc3Rv
cmVTdWJyZXNvdXJjZUNvbnRlbnQoZ2w6OkxldmVsSW5kZXggbGV2ZWwsIHVpbnQzMl90IGxheWVy
SW5kZXgsIHVpbnQzMl90IGxheWVyQ291bnQpOwogICAgIHZvaWQgcmVzdG9yZVN1YnJlc291cmNl
U3RlbmNpbENvbnRlbnQoZ2w6OkxldmVsSW5kZXggbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LApAQCAtMjA3NiwyMiAr
MjE0Miw2IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlLCBwdWJs
aWMgYW5nbGU6OlN1YmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFuZ2xlOjpGb3JtYXRJRCBmb3JtYXRJRCkgY29uc3Q7CiAKICAgcHJpdmF0
ZToKLSAgICBlbnVtIGNsYXNzIFVwZGF0ZVNvdXJjZQotICAgIHsKLSAgICAgICAgLy8gQ2xlYXIg
YW4gaW1hZ2Ugc3VicmVzb3VyY2UuCi0gICAgICAgIENsZWFyLAotICAgICAgICAvLyBDbGVhciBv
bmx5IHRoZSBlbXVsYXRlZCBjaGFubmVscyBvZiB0aGUgc3VicmVzb3VyY2UuICBUaGlzIG9wZXJh
dGlvbiBpcyBtb3JlIGV4cGVuc2l2ZQotICAgICAgICAvLyB0aGFuIENsZWFyLCBhbmQgc28gaXMg
b25seSB1c2VkIGZvciBlbXVsYXRlZCBjb2xvciBmb3JtYXRzIGFuZCBvbmx5IGZvciBleHRlcm5h
bCBpbWFnZXMuCi0gICAgICAgIC8vIENvbG9yIG9ubHkgYmVjYXVzZSBkZXB0aCBvciBzdGVuY2ls
IGNsZWFyIGlzIGFscmVhZHkgcGVyIGNoYW5uZWwsIHNvIENsZWFyIHdvcmtzIGZvcgotICAgICAg
ICAvLyB0aGVtLiAgRXh0ZXJuYWwgb25seSBiZWNhdXNlIHRoZXkgbWF5IGNvbnRhaW4gZGF0YSB0
aGF0IG5lZWRzIHRvIGJlIHByZXNlcnZlZC4KLSAgICAgICAgLy8gQWRkaXRpb25hbGx5LCB0aGlz
IGlzIGEgb25lLXRpbWUgb25seSBjbGVhci4gIE9uY2UgdGhlIGVtdWxhdGVkIGNoYW5uZWxzIGFy
ZSBjbGVhcmVkLAotICAgICAgICAvLyBBTkdMRSBlbnN1cmVzIHRoYXQgdGhleSByZW1haW4gdW50
b3VjaGVkLgotICAgICAgICBDbGVhckVtdWxhdGVkQ2hhbm5lbHNPbmx5LAotICAgICAgICAvLyBU
aGUgc291cmNlIG9mIHRoZSBjb3B5IGlzIGEgYnVmZmVyLgotICAgICAgICBCdWZmZXIsCi0gICAg
ICAgIC8vIFRoZSBzb3VyY2Ugb2YgdGhlIGNvcHkgaXMgYW4gaW1hZ2UuCi0gICAgICAgIEltYWdl
LAotICAgIH07CiAgICAgQU5HTEVfRU5BQkxFX1NUUlVDVF9QQURESU5HX1dBUk5JTkdTCiAgICAg
c3RydWN0IENsZWFyVXBkYXRlCiAgICAgewpAQCAtMjEzNCw2ICsyMTg0LDExIEBAIGNsYXNzIElt
YWdlSGVscGVyIGZpbmFsIDogcHVibGljIFJlc291cmNlLCBwdWJsaWMgYW5nbGU6OlN1YmplY3QK
ICAgICAgICAgU3VicmVzb3VyY2VVcGRhdGUoVmtJbWFnZUFzcGVjdEZsYWdzIGFzcGVjdEZsYWdz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyVmFsdWUgJmNsZWFyVmFs
dWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpJbWFnZUluZGV4ICZpbWFn
ZUluZGV4KTsKKyAgICAgICAgU3VicmVzb3VyY2VVcGRhdGUoVmtJbWFnZUFzcGVjdEZsYWdzIGFz
cGVjdEZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyVmFsdWUg
JmNsZWFyVmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpMZXZlbEluZGV4IGxl
dmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckNvdW50KTsKICAgICAgICAgU3Vi
cmVzb3VyY2VVcGRhdGUoVmtDb2xvckNvbXBvbmVudEZsYWdzIGNvbG9yTWFza0ZsYWdzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWa0NsZWFyQ29sb3JWYWx1ZSAmY2xlYXJWYWx1
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkltYWdlSW5kZXggJmltYWdl
SW5kZXgpOwpAQCAtMjE2Myw2ICsyMjE4LDE5IEBAIGNsYXNzIEltYWdlSGVscGVyIGZpbmFsIDog
cHVibGljIFJlc291cmNlLCBwdWJsaWMgYW5nbGU6OlN1YmplY3QKICAgICAgICAgfSByZWZDb3Vu
dGVkOwogICAgIH07CiAKKyAgICAvLyBVcCB0byA4IGxheWVycyBhcmUgdHJhY2tlZCBwZXIgbGV2
ZWwgZm9yIHdoZXRoZXIgY29udGVudHMgYXJlIGRlZmluZWQsIGFib3ZlIHdoaWNoIHRoZQorICAg
IC8vIGNvbnRlbnRzIGFyZSBjb25zaWRlcmVkIHVuY29uZGl0aW9uYWxseSBkZWZpbmVkLiAgVGhp
cyBoYW5kbGVzIHRoZSBtb3JlIGxpa2VseSBzY2VuYXJpb3Mgb2Y6CisgICAgLy8KKyAgICAvLyAt
IFNpbmdsZSBsYXllciBmcmFtZWJ1ZmZlciBhdHRhY2htZW50cywKKyAgICAvLyAtIEN1YmUgbWFw
IGZyYW1lYnVmZmVyIGF0dGFjaG1lbnRzLAorICAgIC8vIC0gTXVsdGktdmlldyByZW5kZXJpbmcu
CisgICAgLy8KKyAgICAvLyBJZiB0aGVyZSBhcmlzZXMgYSBuZWVkIHRvIG9wdGltaXplIGFuIGFw
cGxpY2F0aW9uIHRoYXQgaW52YWxpZGF0ZXMgbGF5ZXIgPj0gOCwgdGhpcyBjYW4KKyAgICAvLyBl
YXNpbHkgYmUgcmFpc2VkIHRvIDMyIHRvIDY0IGJpdHMuICBCZXlvbmQgdGhhdCwgYW4gYWRkaXRp
b25hbCBoYXNoIG1hcCBjYW4gYmUgdXNlZCB0byB0cmFjaworICAgIC8vIHN1Y2ggc3VicmVzb3Vy
Y2VzLgorICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDMyX3Qga01heENvbnRlbnREZWZpbmVkTGF5
ZXJDb3VudCA9IDg7CisgICAgdXNpbmcgTGV2ZWxDb250ZW50RGVmaW5lZE1hc2sgPSBhbmdsZTo6
Qml0U2V0ODxrTWF4Q29udGVudERlZmluZWRMYXllckNvdW50PjsKKwogICAgIHZvaWQgZGVyaXZl
RXh0ZXJuYWxJbWFnZVRpbGluZyhjb25zdCB2b2lkICpjcmVhdGVJbmZvQ2hhaW4pOwogCiAgICAg
Ly8gQ2FsbGVkIGZyb20gZmx1c2hTdGFnZWRVcGRhdGVzLCByZW1vdmVzIHVwZGF0ZXMgdGhhdCBh
cmUgbGF0ZXIgc3VwZXJzZWRlZCBieSBhbm90aGVyLiAgVGhpcwpAQCAtMjI0NiwxOCArMjMxNCwx
OCBAQCBjbGFzcyBJbWFnZUhlbHBlciBmaW5hbCA6IHB1YmxpYyBSZXNvdXJjZSwgcHVibGljIGFu
Z2xlOjpTdWJqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllclN0
YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VBc3BlY3RGbGFncyBhc3BlY3RGbGFncyk7
Ci0KLSAgICAvLyBVcCB0byA4IGxheWVycyBhcmUgdHJhY2tlZCBwZXIgbGV2ZWwgZm9yIHdoZXRo
ZXIgY29udGVudHMgYXJlIGRlZmluZWQsIGFib3ZlIHdoaWNoIHRoZQotICAgIC8vIGNvbnRlbnRz
IGFyZSBjb25zaWRlcmVkIHVuY29uZGl0aW9uYWxseSBkZWZpbmVkLiAgVGhpcyBoYW5kbGVzIHRo
ZSBtb3JlIGxpa2VseSBzY2VuYXJpb3Mgb2Y6Ci0gICAgLy8KLSAgICAvLyAtIFNpbmdsZSBsYXll
ciBmcmFtZWJ1ZmZlciBhdHRhY2htZW50cywKLSAgICAvLyAtIEN1YmUgbWFwIGZyYW1lYnVmZmVy
IGF0dGFjaG1lbnRzLAotICAgIC8vIC0gTXVsdGktdmlldyByZW5kZXJpbmcuCi0gICAgLy8KLSAg
ICAvLyBJZiB0aGVyZSBhcmlzZXMgYSBuZWVkIHRvIG9wdGltaXplIGFuIGFwcGxpY2F0aW9uIHRo
YXQgaW52YWxpZGF0ZXMgbGF5ZXIgPj0gOCwgYW4gYWRkaXRpb25hbAotICAgIC8vIGhhc2ggbWFw
IGNhbiBiZSB1c2VkIHRvIHRyYWNrIHN1Y2ggc3VicmVzb3VyY2VzLgotICAgIHN0YXRpYyBjb25z
dGV4cHIgdWludDMyX3Qga01heENvbnRlbnREZWZpbmVkTGF5ZXJDb3VudCA9IDg7Ci0gICAgdXNp
bmcgTGV2ZWxDb250ZW50RGVmaW5lZE1hc2sgPSBhbmdsZTo6Qml0U2V0ODxrTWF4Q29udGVudERl
ZmluZWRMYXllckNvdW50PjsKKyAgICB2b2lkIGludmFsaWRhdGVTdWJyZXNvdXJjZUNvbnRlbnRJ
bXBsKENvbnRleHRWayAqY29udGV4dFZrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2w6OkxldmVsSW5kZXggbGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBsYXllckluZGV4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbGF5ZXJDb3VudCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZrSW1hZ2VBc3BlY3RGbGFnQml0cyBh
c3BlY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZXZlbENv
bnRlbnREZWZpbmVkTWFzayAqY29udGVudERlZmluZWRNYXNrLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqcHJlZmVyVG9LZWVwQ29udGVudHNEZWZpbmVk
T3V0KTsKKyAgICB2b2lkIHJlc3RvcmVTdWJyZXNvdXJjZUNvbnRlbnRJbXBsKGdsOjpMZXZlbElu
ZGV4IGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbGF5ZXJJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IGxheWVyQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWa0ltYWdlQXNwZWN0RmxhZ0JpdHMgYXNwZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTGV2ZWxDb250ZW50RGVmaW5lZE1hc2sgKmNvbnRlbnREZWZpbmVkTWFz
ayk7CiAKICAgICAvLyBVc2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gYWNjZXNzIG0qQ29u
dGVudERlZmluZWQgdG8gbWFrZSBzdXJlIHRoZSBjb3JyZWN0IGxldmVsIGluZGV4CiAgICAgLy8g
aXMgdXNlZCAoaS5lLiB2azo6TGV2ZWxJbmRleCBhbmQgbm90IGdsOjpMZXZlbEluZGV4KS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92
dWxrYW4vdmtfdXRpbHMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL3Z1bGthbi92a191dGlscy5jcHAKaW5kZXggYjgyZTFjZmI5MjlkZTNlMDY2NjBl
OGVhODAxNzdhYzMxN2Y4MmUxYi4uZjgxMzVjNGZlMGRhNjUyZmExNDhkMmI2OGFjNjYxYThlMGY1
NmZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL3Z1bGthbi92a191dGlscy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi92a191dGlscy5jcHAKQEAgLTYsOCArNiw4IEBA
CiAvLyB2a191dGlsczoKIC8vICAgIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSBWdWxrYW4gUmVu
ZGVyZXIuCiAvLwotCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX3V0aWxz
LmgiCisjaW5jbHVkZSAiY29tbW9uL3N5c3RlbV91dGlscy5oIgogCiAjaW5jbHVkZSAibGliQU5H
TEUvQ29udGV4dC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL3Z1bGthbi9CdWZmZXJW
ay5oIgpAQCAtNDAsNiArNDAsOCBAQCBuYW1lc3BhY2UKIC8vIFBpY2sgYW4gYXJiaXRyYXJ5IHZh
bHVlIHRvIGluaXRpYWxpemUgbm9uLXplcm8gbWVtb3J5IGZvciBzYW5pdGl6YXRpb24uICBOb3Rl
IHRoYXQgMHgzRjNGM0YzRgogLy8gYXMgZmxvYXQgaXMgYWJvdXQgMC43NS4KIGNvbnN0ZXhwciBp
bnQga05vblplcm9Jbml0VmFsdWUgPSAweDNGOworLy8gVGltZSBpbnRlcnZhbCBpbiBzZWNvbmRz
IHRoYXQgd2Ugc2hvdWxkIHRyeSB0byBwcnVuZSBkZWZhdWx0IGJ1ZmZlciBwb29scy4KK2NvbnN0
ZXhwciBkb3VibGUga1RpbWVFbGFwc2VkRm9yUHJ1bmVEZWZhdWx0QnVmZmVyUG9vbCA9IDAuMjU7
CiAKIFZrSW1hZ2VVc2FnZUZsYWdzIEdldFN0YWdpbmdCdWZmZXJVc2FnZUZsYWdzKHZrOjpTdGFn
aW5nVXNhZ2UgdXNhZ2UpCiB7CkBAIC0xODEsNyArMTgzLDcgQEAgYW5nbGU6OlJlc3VsdCBBbGxv
Y2F0ZUFuZEJpbmRCdWZmZXJPckltYWdlTWVtb3J5KHZrOjpDb250ZXh0ICpjb250ZXh0LAogICAg
IEFOR0xFX1RSWShGaW5kQW5kQWxsb2NhdGVDb21wYXRpYmxlTWVtb3J5KAogICAgICAgICBjb250
ZXh0LCBtZW1vcnlQcm9wZXJ0aWVzLCByZXF1ZXN0ZWRNZW1vcnlQcm9wZXJ0eUZsYWdzLCBtZW1v
cnlQcm9wZXJ0eUZsYWdzT3V0LAogICAgICAgICBtZW1vcnlSZXF1aXJlbWVudHMsIGV4dHJhQWxs
b2NhdGlvbkluZm8sIGRldmljZU1lbW9yeU91dCkpOwotICAgIEFOR0xFX1ZLX1RSWShjb250ZXh0
LCBidWZmZXItPmJpbmRNZW1vcnkoY29udGV4dC0+Z2V0RGV2aWNlKCksICpkZXZpY2VNZW1vcnlP
dXQpKTsKKyAgICBBTkdMRV9WS19UUlkoY29udGV4dCwgYnVmZmVyLT5iaW5kTWVtb3J5KGNvbnRl
eHQtPmdldERldmljZSgpLCAqZGV2aWNlTWVtb3J5T3V0LCAwKSk7CiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NDEsNiArNjQzLDcxIEBAIGFuZ2xlOjpSZXN1
bHQgQWxsb2NhdGVCdWZmZXJNZW1vcnlXaXRoUmVxdWlyZW1lbnRzKENvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLCBk
ZXZpY2VNZW1vcnlPdXQpOwogfQogCitCdWZmZXJQb29sICpHZXREZWZhdWx0QnVmZmVyUG9vbChz
dGQ6OnVuaXF1ZV9wdHI8dms6OkJ1ZmZlclBvb2w+ICZzbWFsbEJ1ZmZlclBvb2wsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2azo6QnVmZmVyUG9vbFBvaW50ZXJBcnJheSAmZGVm
YXVsdEJ1ZmZlclBvb2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
ZXJWayAqcmVuZGVyZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWa0Rldmlj
ZVNpemUgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1l
bW9yeVR5cGVJbmRleCkKK3sKKyAgICBpZiAoc2l6ZSA8PSBrTWF4U2l6ZVRvVXNlU21hbGxCdWZm
ZXJQb29sICYmCisgICAgICAgIG1lbW9yeVR5cGVJbmRleCA9PQorICAgICAgICAgICAgcmVuZGVy
ZXItPmdldFZlcnRleENvbnZlcnNpb25CdWZmZXJNZW1vcnlUeXBlSW5kZXgodms6Ok1lbW9yeUhv
c3RWaXNpYmlsaXR5OjpWaXNpYmxlKSkKKyAgICB7CisgICAgICAgIGlmICghc21hbGxCdWZmZXJQ
b29sKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdCB2azo6QWxsb2NhdG9yICZhbGxvY2F0
b3IgPSByZW5kZXJlci0+Z2V0QWxsb2NhdG9yKCk7CisgICAgICAgICAgICBWa0J1ZmZlclVzYWdl
RmxhZ3MgdXNhZ2VGbGFncyAgPSBHZXREZWZhdWx0QnVmZmVyVXNhZ2VGbGFncyhyZW5kZXJlcik7
CisKKyAgICAgICAgICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyBtZW1vcnlQcm9wZXJ0eUZsYWdz
OworICAgICAgICAgICAgYWxsb2NhdG9yLmdldE1lbW9yeVR5cGVQcm9wZXJ0aWVzKG1lbW9yeVR5
cGVJbmRleCwgJm1lbW9yeVByb3BlcnR5RmxhZ3MpOworCisgICAgICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8dms6OkJ1ZmZlclBvb2w+IHBvb2wgPSBzdGQ6Om1ha2VfdW5pcXVlPHZrOjpCdWZmZXJQ
b29sPigpOworICAgICAgICAgICAgcG9vbC0+aW5pdFdpdGhGbGFncyhyZW5kZXJlciwgdm1hOjpW
aXJ0dWFsQmxvY2tDcmVhdGVGbGFnQml0czo6QlVERFksIHVzYWdlRmxhZ3MsIDAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeVR5cGVJbmRleCwgbWVtb3J5UHJvcGVydHlG
bGFncyk7CisgICAgICAgICAgICBzbWFsbEJ1ZmZlclBvb2wgPSBzdGQ6Om1vdmUocG9vbCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHNtYWxsQnVmZmVyUG9vbC5nZXQoKTsKKyAgICB9Cisg
ICAgZWxzZSBpZiAoIWRlZmF1bHRCdWZmZXJQb29sc1ttZW1vcnlUeXBlSW5kZXhdKQorICAgIHsK
KyAgICAgICAgY29uc3Qgdms6OkFsbG9jYXRvciAmYWxsb2NhdG9yID0gcmVuZGVyZXItPmdldEFs
bG9jYXRvcigpOworICAgICAgICBWa0J1ZmZlclVzYWdlRmxhZ3MgdXNhZ2VGbGFncyAgPSBHZXRE
ZWZhdWx0QnVmZmVyVXNhZ2VGbGFncyhyZW5kZXJlcik7CisKKyAgICAgICAgVmtNZW1vcnlQcm9w
ZXJ0eUZsYWdzIG1lbW9yeVByb3BlcnR5RmxhZ3M7CisgICAgICAgIGFsbG9jYXRvci5nZXRNZW1v
cnlUeXBlUHJvcGVydGllcyhtZW1vcnlUeXBlSW5kZXgsICZtZW1vcnlQcm9wZXJ0eUZsYWdzKTsK
KworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8dms6OkJ1ZmZlclBvb2w+IHBvb2wgPSBzdGQ6Om1h
a2VfdW5pcXVlPHZrOjpCdWZmZXJQb29sPigpOworICAgICAgICBwb29sLT5pbml0V2l0aEZsYWdz
KHJlbmRlcmVyLCB2bWE6OlZpcnR1YWxCbG9ja0NyZWF0ZUZsYWdCaXRzOjpHRU5FUkFMLCB1c2Fn
ZUZsYWdzLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeVR5cGVJbmRleCwg
bWVtb3J5UHJvcGVydHlGbGFncyk7CisgICAgICAgIGRlZmF1bHRCdWZmZXJQb29sc1ttZW1vcnlU
eXBlSW5kZXhdID0gc3RkOjptb3ZlKHBvb2wpOworICAgIH0KKworICAgIHJldHVybiBkZWZhdWx0
QnVmZmVyUG9vbHNbbWVtb3J5VHlwZUluZGV4XS5nZXQoKTsKK30KKwordm9pZCBQcnVuZURlZmF1
bHRCdWZmZXJQb29scyhSZW5kZXJlclZrICpyZW5kZXJlciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQnVmZmVyUG9vbFBvaW50ZXJBcnJheSAmZGVmYXVsdEJ1ZmZlclBvb2xzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8dms6OkJ1ZmZlclBvb2w+
ICZzbWFsbEJ1ZmZlclBvb2wpCit7CisgICAgZm9yIChzdGQ6OnVuaXF1ZV9wdHI8dms6OkJ1ZmZl
clBvb2w+ICZwb29sIDogZGVmYXVsdEJ1ZmZlclBvb2xzKQorICAgIHsKKyAgICAgICAgaWYgKHBv
b2wpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBvb2wtPnBydW5lRW1wdHlCdWZmZXJzKHJlbmRl
cmVyKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoc21hbGxCdWZmZXJQb29sKQorICAgIHsK
KyAgICAgICAgc21hbGxCdWZmZXJQb29sLT5wcnVuZUVtcHR5QnVmZmVycyhyZW5kZXJlcik7Cisg
ICAgfQorfQorCitib29sIElzRHVlRm9yQnVmZmVyUG9vbFBydW5lKGRvdWJsZSBsYXN0UHJ1bmVU
aW1lKQoreworICAgIGRvdWJsZSB0aW1lRWxhcHNlZCA9IGFuZ2xlOjpHZXRDdXJyZW50U3lzdGVt
VGltZSgpIC0gbGFzdFBydW5lVGltZTsKKyAgICByZXR1cm4gdGltZUVsYXBzZWQgPiBrVGltZUVs
YXBzZWRGb3JQcnVuZURlZmF1bHRCdWZmZXJQb29sOworfQorCiBhbmdsZTo6UmVzdWx0IEluaXRT
aGFkZXJBbmRTZXJpYWwoQ29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTaGFkZXJBbmRTZXJpYWwgKnNoYWRlckFuZFNlcmlhbCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCAqc2hhZGVyQ29kZSwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxr
YW4vdmtfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci92dWxrYW4vdmtfdXRpbHMuaAppbmRleCA0MDdlOGUwYWU0ODkwNjhmN2EwYWZhMWE2Yjk5
ODAyYWY5MmMyZGUxLi4xYWNhOWQwM2FlODVhYzllNGY5NjljZDE2Y2ZjMTQ4NTY3YmEyMWJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
dnVsa2FuL3ZrX3V0aWxzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL3Z1bGthbi92a191dGlscy5oCkBAIC00NjYsNiArNDY2LDE4IEBAIGFuZ2xl
OjpSZXN1bHQgQWxsb2NhdGVCdWZmZXJNZW1vcnlXaXRoUmVxdWlyZW1lbnRzKENvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBCdWZmZXIgKmJ1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZrTWVtb3J5UHJvcGVydHlGbGFncyAqbWVtb3J5UHJvcGVydHlGbGFnc091
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERl
dmljZU1lbW9yeSAqZGV2aWNlTWVtb3J5T3V0KTsKK2NsYXNzIEJ1ZmZlclBvb2w7CitzdGF0aWMg
Y29uc3RleHByIFZrRGV2aWNlU2l6ZSBrTWF4U2l6ZVRvVXNlU21hbGxCdWZmZXJQb29sID0gMjU2
OwordXNpbmcgQnVmZmVyUG9vbFBvaW50ZXJBcnJheSA9IHN0ZDo6YXJyYXk8c3RkOjp1bmlxdWVf
cHRyPEJ1ZmZlclBvb2w+LCBWS19NQVhfTUVNT1JZX1RZUEVTPjsKK0J1ZmZlclBvb2wgKkdldERl
ZmF1bHRCdWZmZXJQb29sKHN0ZDo6dW5pcXVlX3B0cjx2azo6QnVmZmVyUG9vbD4gJnNtYWxsQnVm
ZmVyUG9vbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZrOjpCdWZmZXJQb29s
UG9pbnRlckFycmF5ICZkZWZhdWx0QnVmZmVyUG9vbHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJlclZrICpyZW5kZXJlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZrRGV2aWNlU2l6ZSBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgbWVtb3J5VHlwZUluZGV4KTsKK3ZvaWQgUHJ1bmVEZWZhdWx0QnVmZmVy
UG9vbHMoUmVuZGVyZXJWayAqcmVuZGVyZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEJ1ZmZlclBvb2xQb2ludGVyQXJyYXkgJmRlZmF1bHRCdWZmZXJQb29scywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHZrOjpCdWZmZXJQb29sPiAmc21hbGxC
dWZmZXJQb29sKTsKK2Jvb2wgSXNEdWVGb3JCdWZmZXJQb29sUHJ1bmUoZG91YmxlIGxhc3RQcnVu
ZVRpbWUpOwogCiB1c2luZyBTaGFkZXJBbmRTZXJpYWwgPSBPYmplY3RBbmRTZXJpYWw8U2hhZGVy
TW9kdWxlPjsKIApAQCAtNDg1LDcgKzQ5Nyw3IEBAIGVudW0gY2xhc3MgUmVjb3JkaW5nTW9kZQog
Ly8gSGVscGVyIGNsYXNzIHRvIGhhbmRsZSBSQUlJIHBhdHRlcm5zIGZvciBpbml0aWFsaXphdGlv
bi4gUmVxdWlyZXMgdGhhdCBUIGhhdmUgYSBkZXN0cm95IG1ldGhvZAogLy8gdGhhdCB0YWtlcyBh
IFZrRGV2aWNlIGFuZCByZXR1cm5zIHZvaWQuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNz
IERldmljZVNjb3BlZCBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQorY2xhc3MgQU5HTEVfTk9f
RElTQ0FSRCBEZXZpY2VTY29wZWQgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIHsKICAgcHVi
bGljOgogICAgIERldmljZVNjb3BlZChWa0RldmljZSBkZXZpY2UpIDogbURldmljZShkZXZpY2Up
IHt9CkBAIC01MDIsNyArNTE0LDcgQEAgY2xhc3MgRGV2aWNlU2NvcGVkIGZpbmFsIDogYW5nbGU6
Ok5vbkNvcHlhYmxlCiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEFsbG9jYXRv
clNjb3BlZCBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQorY2xhc3MgQU5HTEVfTk9fRElTQ0FS
RCBBbGxvY2F0b3JTY29wZWQgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIHsKICAgcHVibGlj
OgogICAgIEFsbG9jYXRvclNjb3BlZChjb25zdCBBbGxvY2F0b3IgJmFsbG9jYXRvcikgOiBtQWxs
b2NhdG9yKGFsbG9jYXRvcikge30KQEAgLTUyMSw3ICs1MzMsNyBAQCBjbGFzcyBBbGxvY2F0b3JT
Y29wZWQgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKIC8vIFNpbWlsYXIgdG8gRGV2aWNlU2Nv
cGVkLCBidXQgcmVsZWFzZXMgb2JqZWN0cyBpbnN0ZWFkIG9mIGRlc3Ryb3lpbmcgdGhlbS4gUmVx
dWlyZXMgdGhhdCBUIGhhdmUgYQogLy8gcmVsZWFzZSBtZXRob2QgdGhhdCB0YWtlcyBhIENvbnRl
eHRWayAqIGFuZCByZXR1cm5zIHZvaWQuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIENv
bnRleHRTY29wZWQgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKK2NsYXNzIEFOR0xFX05PX0RJ
U0NBUkQgQ29udGV4dFNjb3BlZCBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogewogICBwdWJs
aWM6CiAgICAgQ29udGV4dFNjb3BlZChDb250ZXh0VmsgKmNvbnRleHRWaykgOiBtQ29udGV4dFZr
KGNvbnRleHRWaykge30KQEAgLTUzOCw3ICs1NTAsNyBAQCBjbGFzcyBDb250ZXh0U2NvcGVkIGZp
bmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNs
YXNzIFJlbmRlcmVyU2NvcGVkIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCitjbGFzcyBBTkdM
RV9OT19ESVNDQVJEIFJlbmRlcmVyU2NvcGVkIGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB7
CiAgIHB1YmxpYzoKICAgICBSZW5kZXJlclNjb3BlZChSZW5kZXJlclZrICpyZW5kZXJlcikgOiBt
UmVuZGVyZXIocmVuZGVyZXIpIHt9CkBAIC05OTcsNiArMTAwOSw3IEBAIGNsYXNzIEJ1ZmZlclN1
YmFsbG9jYXRpb24gZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICBCdWZmZXJTZXJpYWwg
Z2V0QmxvY2tTZXJpYWwoKSBjb25zdDsKICAgICB1aW50OF90ICpnZXRCbG9ja01lbW9yeSgpIGNv
bnN0OwogICAgIFZrRGV2aWNlU2l6ZSBnZXRCbG9ja01lbW9yeVNpemUoKSBjb25zdDsKKyAgICBi
b29sIGlzU3ViYWxsb2NhdGVkKCkgY29uc3QgeyByZXR1cm4gbUJ1ZmZlckJsb2NrLT5oYXNWaXJ0
dWFsQmxvY2soKTsgfQogCiAgIHByaXZhdGU6CiAgICAgLy8gT25seSB1c2VkIGJ5IER5bmFtaWNC
dWZmZXIgd2hlcmUgRHluYW1pY0J1ZmZlciBkb2VzIHRoZSBhY3R1YWwgc3ViYWxsb2NhdGlvbiBh
bmQgcGFzcyB0aGUKQEAgLTEyMzIsMTIgKzEyNDUsMjEgQEAgY29uc3RleHByIGJvb2wga091dHB1
dEN1bXVsYXRpdmVQZXJmQ291bnRlcnMgPSBmYWxzZTsKIHN0cnVjdCBSZW5kZXJQYXNzUGVyZkNv
dW50ZXJzCiB7CiAgICAgLy8gbG9hZC9zdG9yZU9wcy4gSW5jbHVkZXMgb3BzIGZvciByZXNvbHZl
IGF0dGFjaG1lbnQuIE1heGltdW0gdmFsdWUgPSAyLgotICAgIHVpbnQ4X3QgZGVwdGhDbGVhcnM7
Ci0gICAgdWludDhfdCBkZXB0aExvYWRzOwotICAgIHVpbnQ4X3QgZGVwdGhTdG9yZXM7Ci0gICAg
dWludDhfdCBzdGVuY2lsQ2xlYXJzOwotICAgIHVpbnQ4X3Qgc3RlbmNpbExvYWRzOwotICAgIHVp
bnQ4X3Qgc3RlbmNpbFN0b3JlczsKKyAgICB1aW50OF90IGNvbG9yTG9hZE9wQ2xlYXJzOworICAg
IHVpbnQ4X3QgY29sb3JMb2FkT3BMb2FkczsKKyAgICB1aW50OF90IGNvbG9yTG9hZE9wTm9uZXM7
CisgICAgdWludDhfdCBjb2xvclN0b3JlT3BTdG9yZXM7CisgICAgdWludDhfdCBjb2xvclN0b3Jl
T3BOb25lczsKKyAgICB1aW50OF90IGRlcHRoTG9hZE9wQ2xlYXJzOworICAgIHVpbnQ4X3QgZGVw
dGhMb2FkT3BMb2FkczsKKyAgICB1aW50OF90IGRlcHRoTG9hZE9wTm9uZXM7CisgICAgdWludDhf
dCBkZXB0aFN0b3JlT3BTdG9yZXM7CisgICAgdWludDhfdCBkZXB0aFN0b3JlT3BOb25lczsKKyAg
ICB1aW50OF90IHN0ZW5jaWxMb2FkT3BDbGVhcnM7CisgICAgdWludDhfdCBzdGVuY2lsTG9hZE9w
TG9hZHM7CisgICAgdWludDhfdCBzdGVuY2lsTG9hZE9wTm9uZXM7CisgICAgdWludDhfdCBzdGVu
Y2lsU3RvcmVPcFN0b3JlczsKKyAgICB1aW50OF90IHN0ZW5jaWxTdG9yZU9wTm9uZXM7CiAgICAg
Ly8gTnVtYmVyIG9mIHVucmVzb2x2ZSBhbmQgcmVzb2x2ZSBvcGVyYXRpb25zLiAgTWF4aW11bSB2
YWx1ZSBmb3IgY29sb3IgPQogICAgIC8vIGdsOjpJTVBMRU1FTlRBVElPTl9NQVhfRFJBV19CVUZG
RVJTIGFuZCBmb3IgZGVwdGgvc3RlbmNpbCA9IDEgZWFjaC4KICAgICB1aW50OF90IGNvbG9yQXR0
YWNobWVudFVucmVzb2x2ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvdnVsa2FuL3ZrX3dyYXBwZXIuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfd3JhcHBlci5oCmluZGV4
IDRkOGQ4ODc4YThiMjQ2M2IyY2VlZTA5NjA4YjNiNmNjMDEwNzE5NjYuLjA3YTMwOTRlOTcwNjQx
Nzk0MDc3OTE1YjZjNThlNzYyNDYzNzIyODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfd3JhcHBlci5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci92dWxrYW4vdmtfd3Jh
cHBlci5oCkBAIC01MTUsNyArNTE1LDcgQEAgY2xhc3MgQnVmZmVyIGZpbmFsIDogcHVibGljIFdy
YXBwZWRPYmplY3Q8QnVmZmVyLCBWa0J1ZmZlcj4KICAgICB2b2lkIGRlc3Ryb3koVmtEZXZpY2Ug
ZGV2aWNlKTsKIAogICAgIFZrUmVzdWx0IGluaXQoVmtEZXZpY2UgZGV2aWNlLCBjb25zdCBWa0J1
ZmZlckNyZWF0ZUluZm8gJmNyZWF0ZUluZm8pOwotICAgIFZrUmVzdWx0IGJpbmRNZW1vcnkoVmtE
ZXZpY2UgZGV2aWNlLCBjb25zdCBEZXZpY2VNZW1vcnkgJmRldmljZU1lbW9yeSk7CisgICAgVmtS
ZXN1bHQgYmluZE1lbW9yeShWa0RldmljZSBkZXZpY2UsIGNvbnN0IERldmljZU1lbW9yeSAmZGV2
aWNlTWVtb3J5LCBWa0RldmljZVNpemUgb2Zmc2V0KTsKICAgICB2b2lkIGdldE1lbW9yeVJlcXVp
cmVtZW50cyhWa0RldmljZSBkZXZpY2UsIFZrTWVtb3J5UmVxdWlyZW1lbnRzICptZW1vcnlSZXF1
aXJlbWVudHNPdXQpOwogCiAgIHByaXZhdGU6CkBAIC0xNDg4LDEwICsxNDg4LDEyIEBAIEFOR0xF
X0lOTElORSBWa1Jlc3VsdCBCdWZmZXI6OmluaXQoVmtEZXZpY2UgZGV2aWNlLCBjb25zdCBWa0J1
ZmZlckNyZWF0ZUluZm8gJmNyCiAgICAgcmV0dXJuIHZrQ3JlYXRlQnVmZmVyKGRldmljZSwgJmNy
ZWF0ZUluZm8sIG51bGxwdHIsICZtSGFuZGxlKTsKIH0KIAotQU5HTEVfSU5MSU5FIFZrUmVzdWx0
IEJ1ZmZlcjo6YmluZE1lbW9yeShWa0RldmljZSBkZXZpY2UsIGNvbnN0IERldmljZU1lbW9yeSAm
ZGV2aWNlTWVtb3J5KQorQU5HTEVfSU5MSU5FIFZrUmVzdWx0IEJ1ZmZlcjo6YmluZE1lbW9yeShW
a0RldmljZSBkZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IERldmljZU1lbW9yeSAmZGV2aWNlTWVtb3J5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWa0RldmljZVNpemUgb2Zmc2V0KQogewogICAgIEFTU0VSVCh2
YWxpZCgpICYmIGRldmljZU1lbW9yeS52YWxpZCgpKTsKLSAgICByZXR1cm4gdmtCaW5kQnVmZmVy
TWVtb3J5KGRldmljZSwgbUhhbmRsZSwgZGV2aWNlTWVtb3J5LmdldEhhbmRsZSgpLCAwKTsKKyAg
ICByZXR1cm4gdmtCaW5kQnVmZmVyTWVtb3J5KGRldmljZSwgbUhhbmRsZSwgZGV2aWNlTWVtb3J5
LmdldEhhbmRsZSgpLCBvZmZzZXQpOwogfQogCiBBTkdMRV9JTkxJTkUgdm9pZCBCdWZmZXI6Omdl
dE1lbW9yeVJlcXVpcmVtZW50cyhWa0RldmljZSBkZXZpY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMuY3BwCmluZGV4IDM3YTk3
OTAzZjBiMjg0Y2VlOTJjYjJhNWY3MDcwNWY4NWI3YTU4YWYuLjAwODIxNWZlY2MzOTFkMjgxNzFl
N2UyZjgxYTQwYTI3Y2M3NjIyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMuY3BwCkBAIC0xMDUsNyArMTA1LDYgQEAgYm9v
bCBWYWxpZFJlYWRQaXhlbHNUeXBlRW51bShjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0g
dHlwZSkKICAgICAgICAgY2FzZSBHTF9TSE9SVDoKICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9J
TlQ6CiAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzEwRl8xMUZfMTFGX1JFVjoKLSAgICAg
ICAgY2FzZSBHTF9VTlNJR05FRF9JTlRfMjRfODoKICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9J
TlRfMl8xMF8xMF8xMF9SRVY6CiAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzVfOV85Xzlf
UkVWOgogICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUOgpAQCAtNDg3NCw0NSArNDg3Mywx
MSBAQCBib29sIFZhbGlkYXRlUHVzaEdyb3VwTWFya2VyRVhUKGNvbnN0IENvbnRleHQgKmNvbnRl
eHQsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgVmFsaWRhdGVFR0xJbWFnZVRhcmdldFRl
eHR1cmUyRE9FUyhjb25zdCBDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdHlwZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVnbEltYWdlT0VTIGltYWdlKQor
Ym9vbCBWYWxpZGF0ZUVHTEltYWdlT2JqZWN0KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2ludCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0eXBlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMZWdsSW1hZ2VPRVMgaW1hZ2UpCiB7Ci0gICAgaWYgKCFjb250ZXh0
LT5nZXRFeHRlbnNpb25zKCkuRUdMSW1hZ2VPRVMgJiYgIWNvbnRleHQtPmdldEV4dGVuc2lvbnMo
KS5FR0xJbWFnZUV4dGVybmFsT0VTKQotICAgIHsKLSAgICAgICAgY29udGV4dC0+dmFsaWRhdGlv
bkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRXh0ZW5zaW9uTm90RW5h
YmxlZCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBzd2l0Y2ggKHR5cGUp
Ci0gICAgewotICAgICAgICBjYXNlIFRleHR1cmVUeXBlOjpfMkQ6Ci0gICAgICAgICAgICBpZiAo
IWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5FR0xJbWFnZU9FUykKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5W
QUxJRF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBicmVhazsKLQotICAgICAgICBjYXNlIFRleHR1cmVUeXBlOjpfMkRBcnJheToKLSAgICAgICAg
ICAgIGlmICghY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLkVHTEltYWdlQXJyYXlFWFQpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5
UG9pbnQsIEdMX0lOVkFMSURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBUZXh0dXJlVHlwZTo6RXh0ZXJu
YWw6Ci0gICAgICAgICAgICBpZiAoIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5FR0xJbWFnZUV4
dGVybmFsT0VTKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlk
YXRpb25FcnJvcihlbnRyeVBvaW50LCBHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVk
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5W
QUxJRF9FTlVNLCBrSW52YWxpZFRleHR1cmVUYXJnZXQpOwotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLQogICAgIGVnbDo6SW1hZ2UgKmltYWdlT2JqZWN0ID0gc3RhdGljX2Nhc3Q8
ZWdsOjpJbWFnZSAqPihpbWFnZSk7CiAKICAgICBBU1NFUlQoY29udGV4dC0+Z2V0RGlzcGxheSgp
KTsKQEAgLTQ5MzYsMTcgKzQ5MDEsMzkgQEAgYm9vbCBWYWxpZGF0ZUVHTEltYWdlVGFyZ2V0VGV4
dHVyZTJET0VTKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAKLSAgICBpZiAoaW1hZ2VPYmplY3QtPmlzTGF5ZXJlZCgpICYmIHR5cGUgIT0gVGV4
dHVyZVR5cGU6Ol8yREFycmF5KQorICAgIC8vIFZhbGlkYXRlIHNvdXJjZSBlZ2wgaW1hZ2UgYW5k
IHRhcmdldCB0ZXh0dXJlIGFyZSBjb21wYXRpYmxlCisgICAgc2l6ZV90IGRlcHRoID0gc3RhdGlj
X2Nhc3Q8c2l6ZV90PihpbWFnZU9iamVjdC0+Z2V0RXh0ZW50cygpLmRlcHRoKTsKKyAgICBpZiAo
aW1hZ2VPYmplY3QtPmlzWVVWKCkgJiYgdHlwZSAhPSBUZXh0dXJlVHlwZTo6RXh0ZXJuYWwpCiAg
ICAgewogICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5W
QUxJRF9PUEVSQVRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW1hZ2Ug
aGFzIG1vcmUgdGhhbiAxIGxheWVyLCB0YXJnZXQgbXVzdCBiZSBURVhUVVJFXzJEX0FSUkFZIik7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW1hZ2UgaXMgWVVWLCB0YXJnZXQg
bXVzdCBiZSBURVhUVVJFX0VYVEVSTkFMX09FUyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCi0gICAgaWYgKGltYWdlT2JqZWN0LT5pc1lVVigpICYmIHR5cGUgIT0gVGV4dHVyZVR5
cGU6OkV4dGVybmFsKQorICAgIGlmIChkZXB0aCA+IDEgJiYgdHlwZSAhPSBUZXh0dXJlVHlwZTo6
XzJEQXJyYXkgJiYgdHlwZSAhPSBUZXh0dXJlVHlwZTo6Q3ViZU1hcCAmJgorICAgICAgICB0eXBl
ICE9IFRleHR1cmVUeXBlOjpDdWJlTWFwQXJyYXkgJiYgdHlwZSAhPSBUZXh0dXJlVHlwZTo6XzNE
KQogICAgIHsKLSAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdM
X0lOVkFMSURfT1BFUkFUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklt
YWdlIGlzIFlVViwgdGFyZ2V0IG11c3QgYmUgVEVYVFVSRV9FWFRFUk5BTF9PRVMiKTsKKyAgICAg
ICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfT1BFUkFU
SU9OLCBrRUdMSW1hZ2VUZXh0dXJlVGFyZ2V0TWlzbWF0Y2gpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgaWYgKGltYWdlT2JqZWN0LT5pc0N1YmVNYXAoKSAmJiB0eXBlICE9
IFRleHR1cmVUeXBlOjpDdWJlTWFwQXJyYXkgJiYKKyAgICAgICAgKHR5cGUgIT0gVGV4dHVyZVR5
cGU6OkN1YmVNYXAgfHwgZGVwdGggPiBnbDo6a0N1YmVGYWNlQ291bnQpKQorICAgIHsKKyAgICAg
ICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfT1BFUkFU
SU9OLCBrRUdMSW1hZ2VUZXh0dXJlVGFyZ2V0TWlzbWF0Y2gpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgaWYgKGltYWdlT2JqZWN0LT5nZXRMZXZlbENvdW50KCkgPiAxICYm
IHR5cGUgPT0gVGV4dHVyZVR5cGU6OkV4dGVybmFsKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+
dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRUdMSW1h
Z2VUZXh0dXJlVGFyZ2V0TWlzbWF0Y2gpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
CisgICAgLy8gM2QgRUdMSW1hZ2VzIGFyZSBjdXJyZW50bHkgbm90IHN1cHBvcnRlZAorICAgIGlm
ICh0eXBlID09IFRleHR1cmVUeXBlOjpfM0QpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxp
ZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtFR0xJbWFnZVRl
eHR1cmVUYXJnZXRNaXNtYXRjaCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAg
LTQ5NjAsNiArNDk0Nyw0OCBAQCBib29sIFZhbGlkYXRlRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRP
RVMoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBW
YWxpZGF0ZUVHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKGNvbnN0IENvbnRleHQgKmNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9p
bnQgZW50cnlQb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
ZXh0dXJlVHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZWdsSW1hZ2VPRVMgaW1hZ2UpCit7CisgICAgaWYgKCFjb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuRUdMSW1hZ2VPRVMgJiYgIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5FR0xJbWFnZUV4dGVy
bmFsT0VTKQorICAgIHsKKyAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9p
bnQsIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrRXh0ZW5zaW9uTm90RW5hYmxlZCk7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGUpCisgICAgeworICAgICAg
ICBjYXNlIFRleHR1cmVUeXBlOjpfMkQ6CisgICAgICAgICAgICBpZiAoIWNvbnRleHQtPmdldEV4
dGVuc2lvbnMoKS5FR0xJbWFnZU9FUykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj
b250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9FTlVNLCBrRW51
bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBjYXNlIFRleHR1cmVUeXBlOjpfMkRBcnJheToKKyAgICAgICAgICAgIGlmICghY29udGV4
dC0+Z2V0RXh0ZW5zaW9ucygpLkVHTEltYWdlQXJyYXlFWFQpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFM
SURfRU5VTSwga0VudW1Ob3RTdXBwb3J0ZWQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgY2FzZSBUZXh0dXJlVHlwZTo6RXh0ZXJuYWw6CisgICAgICAgICAg
ICBpZiAoIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5FR0xJbWFnZUV4dGVybmFsT0VTKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihlbnRy
eVBvaW50LCBHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBj
b250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9FTlVNLCBrSW52
YWxpZFRleHR1cmVUYXJnZXQpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIHJldHVybiBWYWxpZGF0ZUVHTEltYWdlT2JqZWN0KGNvbnRleHQsIGVudHJ5UG9pbnQsIHR5
cGUsIGltYWdlKTsKK30KKwogYm9vbCBWYWxpZGF0ZUVHTEltYWdlVGFyZ2V0UmVuZGVyYnVmZmVy
U3RvcmFnZU9FUyhjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRyeVBvaW50
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVu
dW0gdGFyZ2V0LApAQCAtNzMxMywxNiArNzM0Miw2IEBAIGJvb2wgVmFsaWRhdGVSZWFkUGl4ZWxz
QmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
Ci0gICAgLy8gV2ViR0wgMS4wIFtTZWN0aW9uIDYuMjZdIFJlYWRpbmcgRnJvbSBhIE1pc3Npbmcg
QXR0YWNobWVudAotICAgIC8vIEluIE9wZW5HTCBFUyBpdCBpcyB1bmRlZmluZWQgd2hhdCBoYXBw
ZW5zIHdoZW4gYW4gb3BlcmF0aW9uIHRyaWVzIHRvIHJlYWQgZnJvbSBhIG1pc3NpbmcKLSAgICAv
LyBhdHRhY2htZW50IGFuZCBXZWJHTCBkZWZpbmVzIGl0IHRvIGJlIGFuIGVycm9yLiBXZSBkbyB0
aGUgY2hlY2sgdW5jb25kaXRpb25hbGx5IGFzIHRoZQotICAgIC8vIHNpdHVhdGlvbiBpcyBhbiBh
cHBsaWNhdGlvbiBlcnJvciB0aGF0IHdvdWxkIGxlYWQgdG8gYSBjcmFzaCBpbiBBTkdMRS4KLSAg
ICBpZiAocmVhZEJ1ZmZlciA9PSBudWxscHRyKQotICAgIHsKLSAgICAgICAgY29udGV4dC0+dmFs
aWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBrTWlzc2luZ1Jl
YWRBdHRhY2htZW50KTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQogICAgIC8vIE9W
Ul9tdWx0aXZpZXcyLCBSZXZpc2lvbiAxOgogICAgIC8vIFJlYWRQaXhlbHMgZ2VuZXJhdGVzIGFu
IElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGVycm9yIGlmCiAgICAgLy8gdGhlIG51bWJl
ciBvZiB2aWV3cyBpbiB0aGUgY3VycmVudCByZWFkIGZyYW1lYnVmZmVyIGlzIG1vcmUgdGhhbiBv
bmUuCkBAIC03MzU1LDYgKzczNzQsMTYgQEAgYm9vbCBWYWxpZGF0ZVJlYWRQaXhlbHNCYXNlKGNv
bnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBXZWJHTCAx
LjAgW1NlY3Rpb24gNi4yNl0gUmVhZGluZyBGcm9tIGEgTWlzc2luZyBBdHRhY2htZW50CisgICAg
Ly8gSW4gT3BlbkdMIEVTIGl0IGlzIHVuZGVmaW5lZCB3aGF0IGhhcHBlbnMgd2hlbiBhbiBvcGVy
YXRpb24gdHJpZXMgdG8gcmVhZCBmcm9tIGEgbWlzc2luZworICAgIC8vIGF0dGFjaG1lbnQgYW5k
IFdlYkdMIGRlZmluZXMgaXQgdG8gYmUgYW4gZXJyb3IuIFdlIGRvIHRoZSBjaGVjayB1bmNvbmRp
dGlvbmFsbHkgYXMgdGhlCisgICAgLy8gc2l0dWF0aW9uIGlzIGFuIGFwcGxpY2F0aW9uIGVycm9y
IHRoYXQgd291bGQgbGVhZCB0byBhIGNyYXNoIGluIEFOR0xFLgorICAgIGlmIChyZWFkQnVmZmVy
ID09IG51bGxwdHIpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50
cnlQb2ludCwgR0xfSU5WQUxJRF9PUEVSQVRJT04sIGtNaXNzaW5nUmVhZEF0dGFjaG1lbnQpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgR0xlbnVtIGN1cnJlbnRGb3JtYXQg
PSBHTF9OT05FOwogICAgIEdMZW51bSBjdXJyZW50VHlwZSAgID0gR0xfTk9ORTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5o
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5oCmlu
ZGV4IDUxOTFiMDk2NGRhMTdmOTMzNjA1MmUzMzZlNWY4ZDZkNDNjMTE2ZTEuLmVmM2MzZjE4ODMz
NGMyMjQxMzM0NmZkMjlhMjY0NGFiZmI3Njk0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmgKQEAgLTU3OCw3ICs1NzgsMTAg
QEAgYm9vbCBWYWxpZGF0ZVB1c2hHcm91cE1hcmtlckVYVChjb25zdCBDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRy
eVBvaW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGxlbmd0aCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbWFya2VyKTsKLQor
Ym9vbCBWYWxpZGF0ZUVHTEltYWdlT2JqZWN0KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2ludCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0eXBlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMZWdsSW1hZ2VPRVMgaW1hZ2UpOwogYm9vbCBWYWxpZGF0ZUVHTElt
YWdlVGFyZ2V0VGV4dHVyZTJET0VTKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2lu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0
eXBlLApAQCAtODg3LDYgKzg5MCwxNCBAQCBib29sIFZhbGlkYXRlRVMzQ29weVRleEltYWdlMkRQ
YXJhbWV0ZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTGludCBib3JkZXIpOworYm9vbCBWYWxpZGF0ZUVTM1RleFN0
b3JhZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRyeVBvaW50
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0
YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkg
bGV2ZWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMc2l6ZWkgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMc2l6ZWkgaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTHNpemVpIGRlcHRoKTsKIGJvb2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlMkRQYXJhbWV0ZXJz
KGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRyeVBvaW50LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0LApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMuY3BwIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMuY3BwCmluZGV4
IGZmOTJlNWY2N2VlN2VjNGE2NjMwZDcyZTdhNGE0NWRkNWRlYTExODkuLjBmMmZiZjY1MGRkZDli
NWNhZmFiNmJlMzYxOTM0YjVkYmI2ODYwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMzLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMy5jcHAKQEAgLTEzMDUsMjEgKzEz
MDUsMTQgQEAgYm9vbCBWYWxpZGF0ZUVTM0NvcHlUZXhJbWFnZTNEUGFyYW1ldGVycyhjb25zdCBD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlaWdodCwgYm9yZGVyKTsKIH0KIAotYm9vbCBWYWxpZGF0ZUVTM1RleFN0b3Jh
Z2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRyeVBvaW50LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0YXJn
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgbGV2
ZWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gaW50
ZXJuYWxmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
c2l6ZWkgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
c2l6ZWkgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
THNpemVpIGRlcHRoKQorYm9vbCBWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzTGV2ZWwo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0YXJnZXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGxldmVscywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGhlaWdodCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgZGVwdGgpCiB7Ci0g
ICAgaWYgKHdpZHRoIDwgMSB8fCBoZWlnaHQgPCAxIHx8IGRlcHRoIDwgMSB8fCBsZXZlbHMgPCAx
KQotICAgIHsKLSAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdM
X0lOVkFMSURfVkFMVUUsIGtUZXh0dXJlU2l6ZVRvb1NtYWxsKTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLQogICAgIEdMc2l6ZWkgbWF4RGltID0gc3RkOjptYXgod2lkdGgsIGhlaWdo
dCk7CiAgICAgaWYgKHRhcmdldCAhPSBUZXh0dXJlVHlwZTo6XzJEQXJyYXkpCiAgICAgewpAQCAt
MTMzMiwyOSArMTMyNSwxNyBAQCBib29sIFZhbGlkYXRlRVMzVGV4U3RvcmFnZVBhcmFtZXRlcnNC
YXNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAKLSAgICAvLyBGcm9tIEFOR0xFX3RleHR1cmVfZXh0ZXJuYWxfeXV2X3NhbXBsaW5nOgotICAg
IC8vIFRleHR1cmUgdGFyZ2V0IGNhbiBvbmx5IGJlIFRFWFRVUkVfMkQsIHRoZXJlIGlzIG5vIG1p
cG1hcCBzdXBwb3J0Ci0gICAgaWYgKGdsOjpJc1l1dkZvcm1hdChpbnRlcm5hbGZvcm1hdCkpCi0g
ICAgewotICAgICAgICBpZiAoIWNvbnRleHQtPmdldEV4dGVuc2lvbnMoKS55dXZJbnRlcm5hbEZv
cm1hdEFOR0xFKQotICAgICAgICB7Ci0gICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJy
b3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9FTlVNLCBrSW52YWxpZEZvcm1hdCk7Ci0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGFyZ2V0ICE9IFRl
eHR1cmVUeXBlOjpfMkQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRp
b25FcnJvcihlbnRyeVBvaW50LCBHTF9JTlZBTElEX0VOVU0sIGtJbnZhbGlkVGV4dHVyZVRhcmdl
dCk7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
bGV2ZWxzICE9IDEpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25F
cnJvcihlbnRyeVBvaW50LCBHTF9JTlZBTElEX1ZBTFVFLCBrSW52YWxpZE1pcExldmVsKTsKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KKyAgICByZXR1cm4gdHJ1
ZTsKK30KIAorYm9vbCBWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzRXh0ZW50KGNvbnN0
IENvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2ludCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBUZXh0dXJlVHlwZSB0YXJnZXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBsZXZlbHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGhlaWdodCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGRlcHRoKQorewog
ICAgIGNvbnN0IENhcHMgJmNhcHMgPSBjb250ZXh0LT5nZXRDYXBzKCk7CiAKICAgICBzd2l0Y2gg
KHRhcmdldCkKQEAgLTE0NTksNiArMTQ0MCwxMyBAQCBib29sIFZhbGlkYXRlRVMzVGV4U3RvcmFn
ZVBhcmFtZXRlcnNCYXNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgVmFsaWRhdGVF
UzNUZXhTdG9yYWdlUGFyYW1ldGVyc1RleE9iamVjdChjb25zdCBDb250ZXh0ICpjb250ZXh0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpFbnRy
eVBvaW50IGVudHJ5UG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0KQorewogICAgIFRleHR1cmUgKnRleHR1cmUgPSBj
b250ZXh0LT5nZXRUZXh0dXJlQnlUeXBlKHRhcmdldCk7CiAgICAgaWYgKCF0ZXh0dXJlIHx8IHRl
eHR1cmUtPmlkKCkudmFsdWUgPT0gMCkKICAgICB7CkBAIC0xNDcyLDYgKzE0NjAsNDEgQEAgYm9v
bCBWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc0Zvcm1hdChjb25zdCBDb250
ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgbGV2ZWxzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHdpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgaGVpZ2h0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgZGVwdGgp
Cit7CisgICAgLy8gRnJvbSBBTkdMRV90ZXh0dXJlX2V4dGVybmFsX3l1dl9zYW1wbGluZzoKKyAg
ICAvLyBUZXh0dXJlIHRhcmdldCBjYW4gb25seSBiZSBURVhUVVJFXzJELCB0aGVyZSBpcyBubyBt
aXBtYXAgc3VwcG9ydAorICAgIGlmIChnbDo6SXNZdXZGb3JtYXQoaW50ZXJuYWxmb3JtYXQpKQor
ICAgIHsKKyAgICAgICAgaWYgKCFjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkueXV2SW50ZXJuYWxG
b3JtYXRBTkdMRSkKKyAgICAgICAgeworICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVy
cm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfRU5VTSwga0ludmFsaWRGb3JtYXQpOworICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRhcmdldCAhPSBU
ZXh0dXJlVHlwZTo6XzJEKQorICAgICAgICB7CisgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0
aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9FTlVNLCBrSW52YWxpZFRleHR1cmVUYXJn
ZXQpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgaWYg
KGxldmVscyAhPSAxKQorICAgICAgICB7CisgICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9u
RXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9WQUxVRSwga0ludmFsaWRNaXBMZXZlbCk7Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKICAgICBjb25zdCBJ
bnRlcm5hbEZvcm1hdCAmZm9ybWF0SW5mbyA9IEdldFNpemVkSW50ZXJuYWxGb3JtYXRJbmZvKGlu
dGVybmFsZm9ybWF0KTsKICAgICBpZiAoIWZvcm1hdEluZm8udGV4dHVyZVN1cHBvcnQoY29udGV4
dC0+Z2V0Q2xpZW50VmVyc2lvbigpLCBjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkpKQogICAgIHsK
QEAgLTE1MjMsNiArMTU0Niw1MSBAQCBib29sIFZhbGlkYXRlRVMzVGV4U3RvcmFnZVBhcmFtZXRl
cnNCYXNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jv
b2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc0Jhc2UoY29uc3QgQ29udGV4dCAqY29u
dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVu
dHJ5UG9pbnQgZW50cnlQb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTHNpemVpIGxldmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xlbnVtIGludGVybmFsZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkZXB0aCkKK3sKKyAgICBpZiAod2lkdGggPCAx
IHx8IGhlaWdodCA8IDEgfHwgZGVwdGggPCAxIHx8IGxldmVscyA8IDEpCisgICAgeworICAgICAg
ICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9WQUxVRSwg
a1RleHR1cmVTaXplVG9vU21hbGwpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgaWYgKCFWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzTGV2ZWwoY29udGV4dCwgZW50
cnlQb2ludCwgdGFyZ2V0LCBsZXZlbHMsIHdpZHRoLCBoZWlnaHQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGgpKQorICAgIHsKKyAgICAgICAgLy8g
RXJyb3IgYWxyZWFkeSBnZW5lcmF0ZWQuCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICBpZiAoIVZhbGlkYXRlRVMzVGV4U3RvcmFnZVBhcmFtZXRlcnNFeHRlbnQoY29udGV4dCwg
ZW50cnlQb2ludCwgdGFyZ2V0LCBsZXZlbHMsIHdpZHRoLCBoZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoKSkKKyAgICB7CisgICAgICAg
IC8vIEVycm9yIGFscmVhZHkgZ2VuZXJhdGVkLgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgaWYgKCFWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzVGV4T2JqZWN0KGNv
bnRleHQsIGVudHJ5UG9pbnQsIHRhcmdldCkpCisgICAgeworICAgICAgICAvLyBFcnJvciBhbHJl
YWR5IGdlbmVyYXRlZC4KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmICgh
VmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc0Zvcm1hdChjb250ZXh0LCBlbnRyeVBvaW50
LCB0YXJnZXQsIGxldmVscywgaW50ZXJuYWxmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQsIGRlcHRoKSkKKyAgICB7Cisg
ICAgICAgIC8vIEVycm9yIGFscmVhZHkgZ2VuZXJhdGVkLgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgVmFsaWRhdGVFUzNUZXhTdG9y
YWdlMkRQYXJhbWV0ZXJzKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6RW50cnlQb2ludCBlbnRyeVBvaW50LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0LApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRp
b25FUzMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9u
RVMzLmgKaW5kZXggZTZmOWFmMzY4ZmQzMTY3YzMzY2I0ZjI3NWVkYWZkNzYyMDIxZDk4MC4uZGNl
YTMyMjg3NDMxZmY1ZmJmYzNiYzg5YmI4ZWU3NTRjNDc2MjBkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTMy5oCkBAIC0zMyw2
ICszMywzNSBAQCBib29sIFZhbGlkYXRlRVMzVGV4SW1hZ2VQYXJhbWV0ZXJzQmFzZShjb25zdCBD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xzaXplaSBpbWFnZVNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2b2lkICpwaXhlbHMpOwogCitib29sIFZhbGlkYXRlRVMzVGV4U3RvcmFnZVBhcmFt
ZXRlcnNMZXZlbChjb25zdCBDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2ludCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHR1cmVUeXBlIHRhcmdldCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgbGV2ZWxz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSB3aWR0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgaGVp
Z2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBk
ZXB0aCk7CisKK2Jvb2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc0V4dGVudChjb25z
dCBDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgbGV2ZWxzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBoZWlnaHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkZXB0aCk7CisK
K2Jvb2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc1RleE9iamVjdChjb25zdCBDb250
ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFuZ2xlOjpFbnRyeVBvaW50IGVudHJ5UG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVGV4dHVyZVR5cGUgdGFyZ2V0KTsKKworYm9vbCBWYWxp
ZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzRm9ybWF0KGNvbnN0IENvbnRleHQgKmNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5
UG9pbnQgZW50cnlQb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUZXh0dXJlVHlwZSB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xzaXplaSBsZXZlbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xlbnVtIGludGVybmFsZm9ybWF0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBoZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkZXB0aCk7CisKIGJvb2wgVmFs
aWRhdGVQcm9ncmFtUGFyYW1ldGVyaUJhc2UoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkVudHJ5UG9pbnQgZW50cnlQb2lu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hhZGVyUHJvZ3JhbUlEIHBy
b2dyYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
dmFsaWRhdGlvbkVTRVhULmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVNFWFQuY3BwCmluZGV4IDQxOWI0YjViMjIzMjljMDM5NjQ1YzI2NzA4Y2Zi
MThhZjE0NTVhNWUuLjc5YWY5YTI2Mzg3OWUxNWU5Y2RlMzVhNzEyZGFjMzU5YTZhMzk0MzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9u
RVNFWFQuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxp
ZGF0aW9uRVNFWFQuY3BwCkBAIC0yNjA4LDggKzI2MDgsMTAxIEBAIGJvb2wgVmFsaWRhdGVFR0xJ
bWFnZVRhcmdldFRleFN0b3JhZ2VFWFQoY29uc3QgQ29udGV4dCAqY29udGV4dCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlZ2xJbWFnZU9FUyBpbWFnZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xpbnQgKmF0dHJp
Yl9saXN0KQogewotICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGlm
ICghY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLkVHTEltYWdlU3RvcmFnZUVYVCkKKyAgICB7Cisg
ICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihlbnRyeVBvaW50LCBHTF9JTlZBTElEX09Q
RVJBVElPTiwga0V4dGVuc2lvbk5vdEVuYWJsZWQpOworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgZ2w6OlRleHR1cmVUeXBlIHRhcmdldFR5cGUgPSBGcm9tR0xlbnVtPFRleHR1
cmVUeXBlPih0YXJnZXQpOworICAgIHN3aXRjaCAodGFyZ2V0VHlwZSkKKyAgICB7CisgICAgICAg
IGNhc2UgVGV4dHVyZVR5cGU6OkV4dGVybmFsOgorICAgICAgICAgICAgaWYgKCFjb250ZXh0LT5n
ZXRFeHRlbnNpb25zKCkuRUdMSW1hZ2VFeHRlcm5hbE9FUykKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJ
RF9FTlVNLCBrRW51bU5vdFN1cHBvcnRlZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBUZXh0dXJlVHlwZTo6Q3ViZU1hcEFycmF5OgorICAgICAgICAg
ICAgaWYgKCFjb250ZXh0LT5nZXRFeHRlbnNpb25zKCkudGV4dHVyZUN1YmVNYXBBcnJheUFueSgp
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJv
cihlbnRyeVBvaW50LCBHTF9JTlZBTElEX0VOVU0sIGtFbnVtTm90U3VwcG9ydGVkKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFRleHR1cmVUeXBlOjpf
MkQ6CisgICAgICAgIGNhc2UgVGV4dHVyZVR5cGU6Ol8yREFycmF5OgorICAgICAgICBjYXNlIFRl
eHR1cmVUeXBlOjpfM0Q6CisgICAgICAgIGNhc2UgVGV4dHVyZVR5cGU6OkN1YmVNYXA6CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNvbnRleHQtPnZh
bGlkYXRpb25FcnJvcihlbnRyeVBvaW50LCBHTF9JTlZBTElEX0VOVU0sIGtJbnZhbGlkVGV4dHVy
ZVRhcmdldCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gVmFs
aWRhdGUgZWdsIHNvdXJjZSBpbWFnZSBpcyB2YWxpZAorICAgIGVnbDo6SW1hZ2UgKmltYWdlT2Jq
ZWN0ID0gc3RhdGljX2Nhc3Q8ZWdsOjpJbWFnZSAqPihpbWFnZSk7CisgICAgaWYgKCFWYWxpZGF0
ZUVHTEltYWdlT2JqZWN0KGNvbnRleHQsIGVudHJ5UG9pbnQsIHRhcmdldFR5cGUsIGltYWdlKSkK
KyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICAvLyBhdHRyaWIgbGlz
dCB2YWxpZGF0aW9uCisgICAgaWYgKGF0dHJpYl9saXN0ICE9IG51bGxwdHIgJiYgYXR0cmliX2xp
c3RbMF0gIT0gR0xfTk9ORSkKKyAgICB7CisgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJv
cihlbnRyeVBvaW50LCBHTF9JTlZBTElEX1ZBTFVFLCBrQXR0cmlidXRlTGlzdE5vdE51bGwpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgR0xzaXplaSBsZXZlbENvdW50ICAg
ID0gaW1hZ2VPYmplY3QtPmdldExldmVsQ291bnQoKTsKKyAgICBFeHRlbnRzIHNpemUgICAgICAg
ICAgPSBpbWFnZU9iamVjdC0+Z2V0RXh0ZW50cygpOworICAgIEdMc2l6ZWkgd2lkdGggICAgICAg
ICA9IHN0YXRpY19jYXN0PEdMc2l6ZWk+KHNpemUud2lkdGgpOworICAgIEdMc2l6ZWkgaGVpZ2h0
ICAgICAgICA9IHN0YXRpY19jYXN0PEdMc2l6ZWk+KHNpemUuaGVpZ2h0KTsKKyAgICBHTHNpemVp
IGRlcHRoICAgICAgICAgPSBzdGF0aWNfY2FzdDxHTHNpemVpPihzaXplLmRlcHRoKTsKKyAgICBH
TGVudW0gaW50ZXJuYWxmb3JtYXQgPSBpbWFnZU9iamVjdC0+Z2V0Rm9ybWF0KCkuaW5mby0+c2l6
ZWRJbnRlcm5hbEZvcm1hdDsKKworICAgIGlmICh3aWR0aCA8IDEgfHwgaGVpZ2h0IDwgMSB8fCBk
ZXB0aCA8IDEgfHwgbGV2ZWxDb3VudCA8IDEpCisgICAgeworICAgICAgICBjb250ZXh0LT52YWxp
ZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9WQUxVRSwga1RleHR1cmVTaXplVG9v
U21hbGwpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKCFWYWxpZGF0
ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzTGV2ZWwoY29udGV4dCwgZW50cnlQb2ludCwgdGFyZ2V0
VHlwZSwgbGV2ZWxDb3VudCwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVpZ2h0LCBkZXB0aCkpCisgICAgeworICAgICAgICAvLyBFcnJvciBh
bHJlYWR5IGdlbmVyYXRlZC4KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlm
ICh0YXJnZXRUeXBlID09IFRleHR1cmVUeXBlOjpFeHRlcm5hbCkKKyAgICB7CisgICAgICAgIGNv
bnN0IENhcHMgJmNhcHMgPSBjb250ZXh0LT5nZXRDYXBzKCk7CisgICAgICAgIGlmICh3aWR0aCA+
IGNhcHMubWF4MkRUZXh0dXJlU2l6ZSB8fCBoZWlnaHQgPiBjYXBzLm1heDJEVGV4dHVyZVNpemUp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihlbnRyeVBv
aW50LCBHTF9JTlZBTElEX1ZBTFVFLCBrUmVzb3VyY2VNYXhUZXh0dXJlU2l6ZSk7CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoIVZhbGlk
YXRlRVMzVGV4U3RvcmFnZVBhcmFtZXRlcnNFeHRlbnQoY29udGV4dCwgZW50cnlQb2ludCwgdGFy
Z2V0VHlwZSwgbGV2ZWxDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LCBkZXB0aCkpCisgICAgeworICAgICAgICAv
LyBFcnJvciBhbHJlYWR5IGdlbmVyYXRlZC4KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworICAgIGlmICghVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFyYW1ldGVyc1RleE9iamVjdChjb250
ZXh0LCBlbnRyeVBvaW50LCB0YXJnZXRUeXBlKSkKKyAgICB7CisgICAgICAgIC8vIEVycm9yIGFs
cmVhZHkgZ2VuZXJhdGVkLgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYg
KCFWYWxpZGF0ZUVTM1RleFN0b3JhZ2VQYXJhbWV0ZXJzRm9ybWF0KGNvbnRleHQsIGVudHJ5UG9p
bnQsIHRhcmdldFR5cGUsIGxldmVsQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBkZXB0aCkp
CisgICAgeworICAgICAgICAvLyBFcnJvciBhbHJlYWR5IGdlbmVyYXRlZC4KKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIFZhbGlkYXRl
QWNxdWlyZVRleHR1cmVzQU5HTEUoY29uc3QgQ29udGV4dCAqY29udGV4dCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIuZ25pIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi5nbmkKaW5kZXggZDVlODA4OTI1MmZjZGQxY2EzNDM2
NTI3YWRkMzgzZDI0ZGNmNjlhMy4uMDI0OGZiMzVlMWZiY2FiYTMxYzNhZTUyMDBjYWE0YWVlYjQ1
ODY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi5n
bmkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi5nbmkKQEAgLTEy
OCw3ICsxMjgsNiBAQCBsaWJhbmdsZV9pbWFnZV91dGlsX2hlYWRlcnMgPSBbCiAgICJzcmMvaW1h
Z2VfdXRpbC9pbWFnZWZvcm1hdHMuaCIsCiAgICJzcmMvaW1hZ2VfdXRpbC9sb2FkaW1hZ2UuaCIs
CiAgICJzcmMvaW1hZ2VfdXRpbC9sb2FkaW1hZ2UuaW5jIiwKLSAgInNyYy9pbWFnZV91dGlsL2xv
YWR0ZXh0dXJlYm9yZGVyLmgiLAogXQogCiBsaWJhbmdsZV9pbWFnZV91dGlsX3NvdXJjZXMgPSBb
CkBAIC0xMzYsNyArMTM1LDYgQEAgbGliYW5nbGVfaW1hZ2VfdXRpbF9zb3VyY2VzID0gWwogICAi
c3JjL2ltYWdlX3V0aWwvaW1hZ2Vmb3JtYXRzLmNwcCIsCiAgICJzcmMvaW1hZ2VfdXRpbC9sb2Fk
aW1hZ2UuY3BwIiwKICAgInNyYy9pbWFnZV91dGlsL2xvYWRpbWFnZV9ldGMuY3BwIiwKLSAgInNy
Yy9pbWFnZV91dGlsL2xvYWR0ZXh0dXJlYm9yZGVyLmNwcCIsCiBdCiAKIGxpYmFuZ2xlX2dwdV9p
bmZvX3V0aWxfc291cmNlcyA9IFsKQEAgLTMyNyw3ICszMjUsNiBAQCBsaWJhbmdsZV9oZWFkZXJz
ID0gWwogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2NvcHl2ZXJ0ZXguaCIsCiAgICJzcmMvbGli
QU5HTEUvcmVuZGVyZXIvY29weXZlcnRleC5pbmMuaCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbG9hZF9mdW5jdGlvbnNfdGFibGUuaCIsCi0gICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvbG9h
ZF90ZXh0dXJlX2JvcmRlcl9mdW5jdGlvbnNfdGFibGUuaCIsCiAgICJzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvcmVuZGVyZXJfdXRpbHMuaCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvc2VyaWFs
X3V0aWxzLmgiLAogICAic3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FR0wuaCIsCkBAIC00MjksNyAr
NDI2LDYgQEAgbGliYW5nbGVfc291cmNlcyA9IFsKICAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9U
ZXh0dXJlSW1wbC5jcHAiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2RyaXZlcl91dGlscy5j
cHAiLAogICAic3JjL2xpYkFOR0xFL3JlbmRlcmVyL2xvYWRfZnVuY3Rpb25zX3RhYmxlX2F1dG9n
ZW4uY3BwIiwKLSAgInNyYy9saWJBTkdMRS9yZW5kZXJlci9sb2FkX3RleHR1cmVfYm9yZGVyX2Z1
bmN0aW9uc190YWJsZV9hdXRvZ2VuLmNwcCIsCiAgICJzcmMvbGliQU5HTEUvcmVuZGVyZXIvcmVu
ZGVyZXJfdXRpbHMuY3BwIiwKICAgInNyYy9saWJBTkdMRS92YWxpZGF0aW9uRUdMLmNwcCIsCiAg
ICJzcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2dsb2JhbF9zdGF0ZS5oIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9nbG9iYWxfc3RhdGUuaAppbmRleCBiMTg3YWI4ZmM5
NzJmMTZiYTU4NzVmOGJiZTgzMzVkODUyNDk2YTc3Li40MWQ3ZGI4MmM1YTJlMTZlMWY5MjJlOWRi
M2U3ODgzNzVkOWMyMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL2dsb2JhbF9zdGF0ZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvZ2xvYmFsX3N0YXRlLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBUaHJlYWQgKkdl
dEN1cnJlbnRUaHJlYWQoKTsKIERlYnVnICpHZXREZWJ1ZygpOwogCiAvLyBTeW5jIHRoZSBjdXJy
ZW50IGNvbnRleHQgZnJvbSBUaHJlYWQgdG8gZ2xvYmFsIHN0YXRlLgotY2xhc3MgU2NvcGVkU3lu
Y0N1cnJlbnRDb250ZXh0RnJvbVRocmVhZAorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29wZWRT
eW5jQ3VycmVudENvbnRleHRGcm9tVGhyZWFkCiB7CiAgIHB1YmxpYzoKICAgICBTY29wZWRTeW5j
Q3VycmVudENvbnRleHRGcm9tVGhyZWFkKGVnbDo6VGhyZWFkICp0aHJlYWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2FuZ2xlX2VuZDJlbmRfdGVzdHNf
ZXhwZWN0YXRpb25zLnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9hbmds
ZV9lbmQyZW5kX3Rlc3RzX2V4cGVjdGF0aW9ucy50eHQKaW5kZXggODEwYjBkMzNjOGE3NTdjNDg1
YzE1N2YwNTE1OTZlZTU1NDU5YzkzMi4uMWNkYjQ3NTFjNzY0MGVhYzZlNjllOTQ1OGU4YTBmYzYw
YWZkNGEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2Fu
Z2xlX2VuZDJlbmRfdGVzdHNfZXhwZWN0YXRpb25zLnR4dAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvYW5nbGVfZW5kMmVuZF90ZXN0c19leHBlY3RhdGlvbnMudHh0CkBA
IC01OSw2ICs1OSw3IEBACiAxMjI5MTg0IFdJTiBOVklESUEgVlVMS0FOIDogU2ltcGxlU3RhdGVD
aGFuZ2VUZXN0LlJlZGVmaW5lRnJhbWVidWZmZXJUZXh0dXJlLyogPSBTS0lQCiA2MTczIFdJTiBJ
TlRFTCBPUEVOR0wgOiBHTFNMVGVzdF9FUzMxLkJvb2xJbkludGVyZmFjZUJsb2Nrcy8qID0gU0tJ
UAogNjIxNyBXSU4gSU5URUwgT1BFTkdMIDogR0xTTFRlc3RfRVMzMS5TdG9yYWdlQnVmZmVyQm9v
bFZlY3RvclBhc3NlZFRvRnVuY3Rpb25zLyogPSBTS0lQCis3MTQzIFdJTiBJTlRFTCBPUEVOR0wg
OiBHTFNMVGVzdC5BbGlhc2luZ0Z1bmN0aW9uT3V0UGFyYW1BbmRHbG9iYWwvKiA9IFNLSVAKIDY4
MjYgV0lOIE5WSURJQSBPUEVOR0wgOiBHTFNMVGVzdC5WZWN0b3JBbmRNYXRyaXhTY2FsYXJpemF0
aW9uRG9lc05vdEFmZmVjdFJlbmRlcmluZy8qID0gU0tJUAogNjgyNiBXSU4gTlZJRElBIEdMRVMg
OiBHTFNMVGVzdC5WZWN0b3JBbmRNYXRyaXhTY2FsYXJpemF0aW9uRG9lc05vdEFmZmVjdFJlbmRl
cmluZy8qID0gU0tJUAogNDcxNiBXSU4gTlZJRElBIEdMRVMgOiBDb3B5VGV4dHVyZVRlc3QuQ29w
eU91dHNpZGVNaXBtYXAvKiA9IFNLSVAKQEAgLTI2MSw3ICsyNjIsMTAgQEAKIDQ4NDEgV0lOIEQz
RDkgOiBEWFQxQ29tcHJlc3NlZFRleHR1cmVUZXN0Lk5vbkJsb2NrU2l6ZXNNaXBMZXZlbHMvKiA9
IFNLSVAKIDQ4NDEgV0lOIEQzRDExIDogRFhUMUNvbXByZXNzZWRUZXh0dXJlVGVzdC5Ob25CbG9j
a1NpemVzTWlwTGV2ZWxzLyogPSBTS0lQCiA3MTA5IFdJTiBEM0QxMSA6IENsZWFyVGVzdFJHQl9F
UzMuKi8qID0gU0tJUAorNzEwOSBXSU4gRDNEMTEgOiBTaW1wbGVTdGF0ZUNoYW5nZVRlc3RFUzMu
SW52YWxpZGF0ZVJHQlRoZW5EcmF3LyogPSBTS0lQCis3MTA5IFdJTiBEM0QxMSA6IFNpbXBsZVN0
YXRlQ2hhbmdlVGVzdEVTMy5EcmF3QW5kSW52YWxpZGF0ZVJHQlRoZW5WZXJpZnlBbHBoYS8qID0g
U0tJUAogNzExMyBXSU4gRDNEOSA6IEdMU0xUZXN0Lkxvb3BCb2R5RW5kaW5nSW5CcmFuY2gqLyog
PSBTS0lQCisxMzEyMTY3IFdJTiBEM0Q5IDogUm9idXN0UmVzb3VyY2VJbml0VGVzdC5PdXRPZkJv
dW5kc0FycmF5QnVmZmVycy8qID0gU0tJUAogCiAvLyBBbmRyb2lkCiA2MDk1IEFORFJPSUQgR0xF
UyA6IEdMU0xUZXN0X0VTMy5Jbml0R2xvYmFsQ29tcGxleENvbnN0YW50LyogPSBTS0lQCkBAIC0z
NTEsNiArMzU1LDcgQEAKIDY3OTMgUElYRUw0T1JYTCBHTEVTIDogVW5pZm9ybVRlc3QuVW51c2Vk
U3RydWN0SW5saW5lVW5pZm9ybVdpdGhTYW1wbGVyLyogPSBTS0lQCiA1OTgxIFBJWEVMNE9SWEwg
R0xFUyA6IFZ1bGthbkV4dGVybmFsSW1hZ2VUZXN0LlNob3VsZENsZWFyT3BhcXVlRmRSR0JBOC8q
ID0gU0tJUAogNTk4MSBQSVhFTDRPUlhMIEdMRVMgOiBWdWxrYW5FeHRlcm5hbEltYWdlVGVzdC5U
ZXh0dXJlRm9ybWF0Q29tcGF0Q2hyb21pdW1GZC8qID0gU0tJUAorNzE0MiBQSVhFTDRPUlhMIEdM
RVMgOiBHTFNMVGVzdC5BbGlhc2luZ0Z1bmN0aW9uT3V0UGFyYW1BbmRHbG9iYWwvKiA9IFNLSVAK
IAogNTk0NiBQSVhFTDRPUlhMIFZVTEtBTiA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdEVTMzIuUHJp
bWl0aXZlc1dyaXR0ZW5BbmRHZW5lcmF0ZWQvKiA9IFNLSVAKIDU5NDcgUElYRUw0T1JYTCBWVUxL
QU4gOiBGcmFtZWJ1ZmZlckZldGNoRVMzMS5EcmF3RmV0Y2hCbGl0RHJhd0ZldGNoX05vbkNvaGVy
ZW50LyogPSBTS0lQCkBAIC0zNjIsNyArMzY3LDYgQEAKIDU5ODEgUElYRUw0T1JYTCBWVUxLQU4g
OiBDbGVhclRlc3RFUzMuTWFza2VkSW5kZXhlZENsZWFyTXVsdGlwbGVBdHRhY2htZW50cy8qID0g
U0tJUAogNTk4MSBQSVhFTDRPUlhMIFZVTEtBTiA6IENsZWFyVGVzdEVTMy5NYXNrZWRTY2lzc29y
ZWRDbGVhck11bHRpcGxlQXR0YWNobWVudHMvKiA9IFNLSVAKIDU5ODEgUElYRUw0T1JYTCBWVUxL
QU4gOiBDbGVhclRlc3RFUzMuU2Npc3NvcmVkQ2xlYXJIZXRlcm9nZW5lb3VzQXR0YWNobWVudHMv
KiA9IFNLSVAKLTU5ODEgUElYRUw0T1JYTCBWVUxLQU4gOiBDb2xvck1hc2tGb3JEcmF3QnVmZmVy
c1Rlc3QuU2Npc3NvcmVkQ2xlYXIvKiA9IFNLSVAKIDU5ODEgUElYRUw0T1JYTCBWVUxLQU4gOiBD
dWJlTWFwVGV4dHVyZVRlc3QuU2FtcGxlQ29vcmRpbmF0ZVRyYW5zZm9ybS8qID0gU0tJUAogNTk4
MSBQSVhFTDRPUlhMIFZVTEtBTiA6IERlcHRoU3RlbmNpbEZvcm1hdHNUZXN0LkRlcHRoVGV4dHVy
ZVJlbmRlci8qID0gU0tJUAogNTk4MSBQSVhFTDRPUlhMIFZVTEtBTiA6IEVHTFN5bmNUZXN0LkFu
ZHJvaWROYXRpdmVGZW5jZV9DbGllbnRXYWl0LyogPSBTS0lQCkBAIC0zODYsNiArMzkwLDE3IEBA
CiA2NzQ0IFBJWEVMNE9SWEwgVlVMS0FOIDogU2ltcGxlU3RhdGVDaGFuZ2VUZXN0RVMzLk91dE9m
Qm91bmRzQnl0ZUF0dHJpYnV0ZS8qID0gU0tJUAogNjg0MyBQSVhFTDRPUlhMIFZVTEtBTiA6IElt
YWdlVGVzdC5Tb3VyY2VZVVZBSEJUYXJnZXRFeHRlcm5hbFJHQlNhbXBsZUluaXREYXRhLyogPSBT
S0lQCiA2ODQzIFBJWEVMNE9SWEwgVlVMS0FOIDogSW1hZ2VUZXN0RVMzLlNvdXJjZVlVVkFIQlRh
cmdldEV4dGVybmFsWVVWU2FtcGxlTGluZWFyRmlsdGVyaW5nLyogPSBTS0lQCis3MTA4IFBJWEVM
NE9SWEwgVlVMS0FOIDogSW1hZ2VUZXN0RVMzLlNvdXJjZUFIQk1pcFRhcmdldDJETWlwLyogPSBT
S0lQCisKKzcxNDAgUElYRUw0T1JYTCBWVUxLQU4gOiBDb2xvck1hc2tGb3JEcmF3QnVmZmVyc1Rl
c3QuQ2xlYXIvKiA9IFNLSVAKKzcxNDAgUElYRUw0T1JYTCBWVUxLQU4gOiBDb2xvck1hc2tGb3JE
cmF3QnVmZmVyc1Rlc3QuU2Npc3NvcmVkQ2xlYXIvKiA9IFNLSVAKKzcxNDAgUElYRUw0T1JYTCBW
VUxLQU4gOiBDbGVhclRlc3RFUzMuQ2xlYXJNYXhBdHRhY2htZW50c0FmdGVyRHJhdy8qID0gU0tJ
UAorNzE0MCBQSVhFTDRPUlhMIFZVTEtBTiA6IENsZWFyVGVzdEVTMy5DbGVhclN0ZW5jaWxBZnRl
ckRyYXcvKiA9IFNLSVAKKzcxNDAgUElYRUw0T1JYTCBWVUxLQU4gOiBDbGVhclRlc3RFUzMuTWl4
ZWRSZW5kZXJQYXNzQ2xlYXJNaXhlZFVzZWRVbnVzZWRBdHRhY2htZW50cy8qID0gU0tJUAorNzE0
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IERyYXdCdWZmZXJzVGVzdC5NYXNrZWREcmF3TWlkUlBDbGVh
cldpdGhHYXBzLyogPSBTS0lQCis3MTQwIFBJWEVMNE9SWEwgVlVMS0FOIDogRHJhd0J1ZmZlcnNU
ZXN0Lk1hc2tlZERyYXdNaWRSUENsZWFyV2l0aEdhcHNSR0IvKiA9IFNLSVAKKzcxNDAgUElYRUw0
T1JYTCBWVUxLQU4gOiBEcmF3QnVmZmVyc1Rlc3QuTWlkUmVuZGVyUGFzc0NsZWFyV2l0aEdhcHMv
KiA9IFNLSVAKKzcxNDAgUElYRUw0T1JYTCBWVUxLQU4gOiBEcmF3QnVmZmVyc1Rlc3QuTWlkUmVu
ZGVyUGFzc0NsZWFyV2l0aEdhcHNSR0IvKiA9IFNLSVAKIAogNjE2NyBORVhVUzVYIEdMRVMgOiBE
ZXB0aFN0ZW5jaWxUZXN0RVMzLkZyYW1lYnVmZmVyQ2xlYXJUaGVuU3RlbmNpbEF0dGFjaGVkVGhl
blN0ZW5jaWxUZXN0U3RhdGUvKiA9IFNLSVAKIDYxNjcgTkVYVVM1WCBHTEVTIDogRGVwdGhTdGVu
Y2lsVGVzdEVTMy5GcmFtZWJ1ZmZlckNsZWFyVGhlblN0ZW5jaWxUZXN0U3RhdGVUaGVuU3RlbmNp
bEF0dGFjaGVkLyogPSBTS0lQCkBAIC00NTIsNiArNDY3LDcgQEAKIDEyMjQ5OTYgV0lOIEFNRCBW
VUxLQU4gOiBHTFNMVGVzdF9FUzMuVmFsaWRJbmRleENsYW1wRVMzMDAvKiA9IFNLSVAKIDEyMjQ5
OTYgV0lOIEFNRCBWVUxLQU4gOiBHTFNMVGVzdF9FUzMuSW5pdEdsb2JhbENvbXBsZXhDb25zdGFu
dC8qID0gU0tJUAogMTIyNDk5NiBXSU4gQU1EIFZVTEtBTiA6IEdMU0xUZXN0X0VTMzEuVHlwZXNV
c2VkSW5EaWZmZXJlbnRCbG9ja1N0b3JhZ2VzLyogPSBTS0lQCis3MTQ0IFdJTiBBTUQgVlVMS0FO
IDogR0xTTFRlc3QuQWxpYXNpbmdGdW5jdGlvbk91dFBhcmFtQW5kR2xvYmFsLyogPSBTS0lQCiAK
IC8vIFRlc3QgaXMgZGlzYWJsZWQgYXMgaXQgb25seSBwZXJ0YWlucyB0byBkZXNrdG9wIEdMU0wK
IDYxOTcgOiBHTFNMVGVzdF9FUzMxLkludGVycG9sYXRlQXRXaXRoU3dpenpsZS8qID0gU0tJUApA
QCAtNDcxLDYgKzQ4Nyw3IEBACiAKIC8vIERpcmVjdCBNU0wgY29tcGlsYXRpb24gYnVnLgogNjU0
MCBNRVRBTCA6IEdMU0xUZXN0X0VTMy5Db21wbGV4Q3Jvc3NFeHByZXNzaW9uLyogPSBTS0lQCis3
MTQ1IE1FVEFMIDogR0xTTFRlc3QuQWxpYXNpbmdGdW5jdGlvbk91dFBhcmFtQW5kR2xvYmFsLyog
PSBTS0lQCiAKIC8vIEJvdHMgbWlzc2luZyBkcml2ZXJzIHdpdGggVktfRVhUX3Byb3Zva2luZ192
ZXJ0ZXgKIDY1MjYgV0lOIElOVEVMIFZVTEtBTiA6IFByb2dyYW1CaW5hcnlFUzNUZXN0LlNhdmVB
bmRMb2FkRGV0YWNoZWRTaGFkZXJzLyogPSBTS0lQCkBAIC00OTgsMTQgKzUxNSwxNCBAQAogNjc1
MSBEM0QxMSA6IE11bHRpRHJhd0luZGlyZWN0VGVzdC5NdWx0aURyYXdFbGVtZW50c0luZGlyZWN0
KiA9IFNLSVAKIDY3NTEgRDNEMTEgOiBEcmF3QmFzZVZlcnRleEJhc2VJbnN0YW5jZVRlc3QuTXVs
dGlEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlLyogPSBTS0lQCiAK
LS8vIE5vbi1zdGF0aWMgZHJhdyBidWcKLTY5NjMgTUVUQUwgOiBEcmF3QmFzZVZlcnRleFZhcmlh
bnRzVGVzdC5EcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlL0VTM19N
ZXRhbF9fRFlOQU1JQ19EUkFXID0gU0tJUAotNjk2MyBNRVRBTCA6IERyYXdCYXNlVmVydGV4VmFy
aWFudHNUZXN0LkRyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UvRVMz
X01ldGFsX19TVFJFQU1fRFJBVyA9IFNLSVAKLQogLy8gQVNBTiBmbGFrZXMgd2l0aCBWdWxrYW4g
LyBTd2lmdFNoYWRlciAvIEFzeW5jUXVldWUKIDY4NzUgQVNBTiBWVUxLQU4gU1dJRlRTSEFERVIg
OiBDb21wdXRlU2hhZGVyVGVzdC4qL0VTM18xX1Z1bGthbl9Td2lmdFNoYWRlcl9Bc3luY1F1ZXVl
ID0gU0tJUAogNjg3NSBTV0lGVFNIQURFUiA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdC5TcGFuTXVs
dGlwbGVSZW5kZXJQYXNzZXMvKiA9IFNLSVAKIAorNzExMiBTV0lGVFNIQURFUiA6IFRyYW5zZm9y
bUZlZWRiYWNrVGVzdC5CYXNlSW5zdGFuY2UvKiA9IFNLSVAKKzcxMTIgQU1EIFZVTEtBTiA6IFRy
YW5zZm9ybUZlZWRiYWNrVGVzdC5CYXNlSW5zdGFuY2UvKiA9IFNLSVAKKzcxMTIgUElYRUw0T1JY
TCBWVUxLQU4gOiBUcmFuc2Zvcm1GZWVkYmFja1Rlc3QuQmFzZUluc3RhbmNlLyogPSBTS0lQCisK
IC8vIEFTQU4gZmxha3kgdGltZW91dHMgYW5kIGNyYXNoZXMgd2l0aCBXaW4gLyBWdWxrYW4gLyBT
d2lmdHNoYWRlcgogNjk2NSBBU0FOIFdJTiBWVUxLQU4gU1dJRlRTSEFERVIgOiBNaXBtYXBUZXN0
KiA9IFNLSVAKIDY5NjggQVNBTiBXSU4gVlVMS0FOIFNXSUZUU0hBREVSIDogTXVsdGl0aHJlYWRp
bmdUZXN0Lk11bHRpQ29udGV4dERyYXdXaXRoU3dhcEJ1ZmZlcnMvRVMzX1Z1bGthbl9Td2lmdFNo
YWRlciA9IFNLSVAKQEAgLTU0MSw0ICs1NTgsNCBAQAogNzAyOSBOVklESUEgT1BFTkdMIDogR0xT
TFRlc3QuU3dpenpsZWRDaGFpbmVkQXNzaWduSW5jcmVtZW50LyogPSBTS0lQCiA3MDI5IE5WSURJ
QSBHTEVTIDogR0xTTFRlc3QuU3dpenpsZWRDaGFpbmVkQXNzaWduSW5jcmVtZW50LyogPSBTS0lQ
CiAKLTcwODUgOiBWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LkludmFsaWRhdGVEcmF3RGlz
YWJsZS8qID0gU0tJUAorNzA4NSA6IFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QuRGVwdGhT
dGVuY2lsSW52YWxpZGF0ZURyYXdEaXNhYmxlLyogPSBTS0lQCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvY2FwdHVyZV9yZXBsYXlfdGVzdHMvY2FwdHVyZV9y
ZXBsYXlfZXhwZWN0YXRpb25zLnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9jYXB0dXJlX3JlcGxheV90ZXN0cy9jYXB0dXJlX3JlcGxheV9leHBlY3RhdGlvbnMudHh0Cmlu
ZGV4IGRhMzM2MzcxZDEyZTA1MmU4MjI2ZDE2NzRiMzI2ZGIyZDEzMDUxZGMuLjQxNTQyYjI5YzM5
NzZjZjMyNzE2NWY3ZGUyZjhjNTg1MzE5MzRjYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9jYXB0dXJlX3JlcGxheV90ZXN0cy9jYXB0dXJlX3JlcGxheV9l
eHBlY3RhdGlvbnMudHh0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9j
YXB0dXJlX3JlcGxheV90ZXN0cy9jYXB0dXJlX3JlcGxheV9leHBlY3RhdGlvbnMudHh0CkBAIC05
Niw2ICs5Niw3IEBACiA2Mjg2IDogSW1hZ2VUZXN0RVMzLlNvdXJjZVJlbmRlcmJ1ZmZlclRhcmdl
dFRleHR1cmVFeHRlcm5hbEVTU0wzLyogPSBGQUlMCiA2NTEyIDogUm9idXN0UmVzb3VyY2VJbml0
VGVzdEVTMy5CaW5kVGV4SW1hZ2UvKiA9IEZBSUwKIDYxODAgV0lOIDogVHJhbnNmb3JtRmVlZGJh
Y2tUZXN0LkRyYXdXaXRob3V0VHJhbnNmb3JtRmVlZGJhY2tUaGVuV2l0aC8qID0gRkxBS1kKKzYx
ODAgOiBUcmFuc2Zvcm1GZWVkYmFja1Rlc3QuVHJhbnNmb3JtRmVlZGJhY2tRdWVyeVBhdXNlZERy
YXdUaGVuUmVzdW1lLyogPSBGTEFLWQogNjUxMyA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdC5NdWx0
aUNvbnRleHQvKiA9IEZMQUtZCiA2MTgwIFdJTiA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdC5CdWZm
ZXJPdXRPZk1lbW9yeS8qID0gRkxBS1kKIDYxODAgOiBWZXJ0ZXhBdHRyaWJ1dGVUZXN0RVMzLkRy
YXdXaXRoVW5hbGlnbmVkRGF0YS8qID0gRkxBS1kKQEAgLTE4Niw4ICsxODcsMTIgQEAKIAogNjg3
NSA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdC5TcGFuTXVsdGlwbGVSZW5kZXJQYXNzZXMvKiA9IE5P
VF9SVU4KIAorNzExMiA6IFRyYW5zZm9ybUZlZWRiYWNrVGVzdC5CYXNlSW5zdGFuY2UvKiA9IE5P
VF9SVU4KKwogIyBHTEVTIDMuMiB0ZXN0cyB0aGF0IGZhaWwgYmVjYXVzZSBvZiBtaXNzaW5nIGZl
YXR1cmVzCiA1MzY2IDogR2VvbWV0cnlTaGFkZXJUZXN0RVMzMi5NYXhHZW9tZXRyeUltYWdlVW5p
Zm9ybXMvKiA9IENSQVNICiA1MzY2IDogUHJvZ3JhbVBpcGVsaW5lVGVzdDMyLk1heEdlb21ldHJ5
SW1hZ2VVbmlmb3Jtcy8qID0gQ1JBU0gKIAogNzA4OCA6IFZ1bGthblBlcmZvcm1hbmNlQ291bnRl
clRlc3QqID0gU0tJUF9GT1JfQ0FQVFVSRQorCis3MTExIDogSW1hZ2VUZXN0RVMzLlNvdXJjZTJE
VGFyZ2V0MkRTdG9yYWdlT3JwaGFuLyogPSBGQUlMCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvU2hDb21waWxlX3Rlc3QuY3BwIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL1NoQ29tcGls
ZV90ZXN0LmNwcAppbmRleCBkMTA5MjdjMDBkMTZmNDM3OTYwNmIzY2UzODkxYmU1MWUwZGEyZjUy
Li45OTg2MmE3YjgwMWM1YjZiNDVlMzJiM2VjYmRiOWJjNWUxMGExN2ExIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvY29tcGlsZXJfdGVzdHMvU2hDb21waWxl
X3Rlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9jb21waWxl
cl90ZXN0cy9TaENvbXBpbGVfdGVzdC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgU2hDb21w
aWxlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0CiAKICAgICBTaEJ1aWx0SW5SZXNvdXJjZXMg
bVJlc291cmNlczsKIAotICAgIGNsYXNzIFNjb3BlZFJlc3RvcmVEZWZhdWx0TG9jYWxlIDogYW5n
bGU6Ok5vbkNvcHlhYmxlCisgICAgY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29wZWRSZXN0b3Jl
RGVmYXVsdExvY2FsZSA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIHsKICAgICAgIHB1YmxpYzoK
ICAgICAgICAgU2NvcGVkUmVzdG9yZURlZmF1bHRMb2NhbGUoKTsKQEAgLTE4OCw4ICsxODgsNiBA
QCBURVNUX0YoU2hDb21waWxlVGVzdCwgRGVjaW1hbFNlcExvY2FsZSkKICAgICB9KSI7CiAgICAg
Y29uc3QgY2hhciAqcGFydHNbXSAgPSB7a1NvdXJjZX07CiAKLSAgICBpbnQgdGVzdGVkTG9jYWxl
cyA9IDA7Ci0KICAgICAvLyBFbnN1cmUgdGhlIGxvY2FsZSBpcyByZXNldCBhZnRlciB0aGUgdGVz
dCBydW5zLgogICAgIFNjb3BlZFJlc3RvcmVEZWZhdWx0TG9jYWxlIHJlc3RvcmVMb2NhbGU7CiAK
QEAgLTIyMSw4ICsyMTksNiBAQCBURVNUX0YoU2hDb21waWxlVGVzdCwgRGVjaW1hbFNlcExvY2Fs
ZSkKIAogICAgICAgICAgICAgQVNTRVJUX0VRKHJlZmVyZW5jZU91dCwgbG9jYWxpemVkT3V0KQog
ICAgICAgICAgICAgICAgIDw8ICJkaWZmZXJlbnQgb3V0cHV0IHdpdGggbG9jYWxlICgiIDw8IGxv
Y2FsaXplZExvYy5uYW1lKCkgPDwgIikgc2V0IjsKLQotICAgICAgICAgICAgdGVzdGVkTG9jYWxl
cysrOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2VnbF9UZXN0RXhwZWN0YXRpb25zIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2VnbF9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGRkOGVmMDQ1ZjI0NWNhOWJlNDE1MzExZTZmNjhkMDllMjI1
NTg1ODAuLjcyYWUyZWIzYTQ0ZTI5Y2EzOTI4M2YyYThjMzdmNTgzMTc1YmY0OWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9l
Z2xfVGVzdEV4cGVjdGF0aW9ucworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZGVxcF9zdXBwb3J0L2RlcXBfZWdsX1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2Myw3ICsxNjMs
NyBAQAogNjk1MyBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucGFydGlh
bF91cGRhdGUub2RkX3JlbmRlcl9yZW5kZXJfZXZlbl9yZW5kZXJfcmVuZGVyID0gRkFJTAogCiAv
LyBQaXhlbCA2IFZ1bGthbgotNjkwMCBQSVhFTDYgVlVMS0FOIDogZEVRUC1FR0wuZnVuY3Rpb25h
bC5nZXRfcHJvY19hZGRyZXNzLmV4dGVuc2lvbi5lZ2xfZXh0X2ltYWdlX2RtYV9idWZfaW1wb3J0
X21vZGlmaWVycyA9IEZBSUwKKy8vIFRoZXNlIGZhaWwgb24gdGhlIEFuZHJvaWQgUyBib3RzLCBi
dXQgcGFzcyBvbiBwcmUtcmVsZWFzZSBBbmRyb2lkIFQgZHJpdmVyczoKIDY4OTkgUElYRUw2IFZV
TEtBTiA6IGRFUVAtRUdMLmZ1bmN0aW9uYWwucXVlcnlfY29udGV4dC4qLnJnYjg4OF93aW5kb3cg
PSBGQUlMCiAKIC8vIEVTIDEgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9nbGVzMl9UZXN0RXhwZWN0YXRpb25zIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMy
X1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTU2NWY3OThkNDQyYWQ1YmUyN2Y2YmJkMTQ3NTY0M2Uz
M2EyNjAxYi4uMDJhZWZmMzc5ODc3NTAzOGFiOGZlNjVlZDAxODA2YjIxZTgzYjM0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFw
X2dsZXMyX1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMyX1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1NCwz
MjQgKzM1NCwxNyBAQAogNjY3OCBBU0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLm5lZ2F0aXZl
X2FwaS50ZXh0dXJlLmNvbXByZXNzZWR0ZXhzdWJpbWFnZTJkKiA9IFNLSVAKIAogLy8gUGl4ZWwg
NCB0ZXN0IGV4cGVjdGF0aW9ucy4KLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwuYXR0cmlidXRlX2xvY2F0aW9uLmJpbmQuZmxvYXQgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNsaXBwaW5nLnRyaWFuZ2xl
X3ZlcnRleC5jbGlwX3RocmVlLmNsaXBfbmVnX3hfbmVnX3pfYW5kX3Bvc194X25lZ195X3Bvc196
X2FuZF9wb3NfeF9wb3NfeV9wb3NfeiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwuY2xpcHBpbmcudHJpYW5nbGVfdmVydGV4LmNsaXBfdGhyZWUu
Y2xpcF9uZWdfeF9uZWdfel9hbmRfcG9zX3hfcG9zX3pfYW5kX25lZ194X3Bvc195X25lZ196ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5jbGlw
cGluZy50cmlhbmdsZV92ZXJ0ZXguY2xpcF90aHJlZS5jbGlwX25lZ194X3Bvc195X3Bvc196X2Fu
ZF9wb3NfeF9uZWdfeV9uZWdfel9hbmRfcG9zX3hfcG9zX3lfbmVnX3ogPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmNsaXBwaW5nLnRyaWFuZ2xl
X3ZlcnRleC5jbGlwX3RocmVlLmNsaXBfcG9zX3hfYW5kX25lZ194X25lZ195X2FuZF9wb3NfeF9w
b3NfeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuY2xpcHBpbmcudHJpYW5nbGVfdmVydGV4LmNsaXBfdGhyZWUuY2xpcF9wb3NfeV9uZWdfel9h
bmRfbmVnX3lfcG9zX3pfYW5kX3Bvc194X3Bvc195X25lZ196ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5jbGlwcGluZy50cmlhbmdsZV92ZXJ0
ZXguY2xpcF90d28uY2xpcF9uZWdfeV9uZWdfel9hbmRfbmVnX3hfbmVnX3lfcG9zX3ogPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmRlZmF1bHRf
dmVydGV4X2F0dHJpYi52ZWMyLnZlcnRleF9hdHRyaWJfNGYgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmRlcHRoX3N0ZW5jaWxfY2xlYXIuZGVw
dGhfc2Npc3NvcmVkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLmF0dGFjaG1lbnRfY29tYmluYXRpb25zLm5vbmVf
dGV4X3Jib190ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLmZiby5jb21wbGV0ZW5lc3MuYXR0YWNobWVudF9jb21iaW5hdGlvbnMucmJvX3Rl
eF9ub25lX3RleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuZmJvLmNvbXBsZXRlbmVzcy5yZW5kZXJhYmxlLnJlbmRlcmJ1ZmZlci5kZXB0aC5y
Z2IxMCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuZmJvLmNvbXBsZXRlbmVzcy5yZW5kZXJhYmxlLnJlbmRlcmJ1ZmZlci5zdGVuY2lsLmRlcHRo
X2NvbXBvbmVudDI0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUucmVuZGVyYnVmZmVyLnN0ZW5j
aWwucmVkX2hhbGZfZmxvYXRfb2VzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8uY29tcGxldGVuZXNzLnJlbmRlcmFibGUudGV4dHVyZS5k
ZXB0aC5yOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5jb2xvci5ibGVuZF9ucG90X3Jib19yZ2I1X2ExID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLmNv
bG9yLmJsZW5kX25wb3RfdGV4MmRfcmdiYSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvci5taXhfbnBvdF90ZXgyZF9y
Z2IgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LmZiby5yZW5kZXIuY29sb3IubWl4X25wb3RfdGV4MmRfcmdiX2RlcHRoX2NvbXBvbmVudDE2ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8u
cmVuZGVyLmNvbG9yLm1peF9ucG90X3RleDJkX3JnYmEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuY29sb3IubWl4X25wb3Rf
dGV4MmRfcmdiYV9kZXB0aF9jb21wb25lbnQxNiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvci5taXhfdGV4MmRfcmdi
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5m
Ym8ucmVuZGVyLmNvbG9yLm1peF90ZXgyZF9yZ2JfZGVwdGhfY29tcG9uZW50MTYgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIu
Y29sb3IubWl4X3RleDJkX3JnYmEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuY29sb3IubWl4X3RleDJkX3JnYmFfZGVwdGhf
Y29tcG9uZW50MTYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLmZiby5yZW5kZXIuY29sb3JfY2xlYXIucmJvX3JnYjVfYTFfZGVwdGhfY29tcG9u
ZW50MTYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmZiby5yZW5kZXIuY29sb3JfY2xlYXIucmJvX3JnYmE0X2RlcHRoX2NvbXBvbmVudDE2ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8u
cmVuZGVyLmNvbG9yX2NsZWFyLnRleDJkX3JnYiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvcl9jbGVhci50ZXgyZF9y
Z2JfZGVwdGhfY29tcG9uZW50MTYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuY29sb3JfY2xlYXIudGV4MmRfcmdiX3N0ZW5j
aWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5mYm8ucmVuZGVyLmNvbG9yX2NsZWFyLnRleDJkX3JnYmEgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuY29sb3Jf
Y2xlYXIudGV4MmRfcmdiYV9kZXB0aF9jb21wb25lbnQxNiA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5jb2xvcl9jbGVhci50
ZXgyZF9yZ2JhX3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLmRlcHRoLnRleDJkX3JnYl9kZXB0aF9j
b21wb25lbnQxNiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvcmJ1ZmZlci5ub19yZWJpbmRfcmJvX3Jn
YjU2NV9zdGVuY2lsX2luZGV4OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvcmJ1ZmZlci5ub19yZWJp
bmRfcmJvX3JnYjVfYTFfc3RlbmNpbF9pbmRleDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3JidWZm
ZXIubm9fcmViaW5kX3RleDJkX3JnYl9zdGVuY2lsX2luZGV4OCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9j
b2xvcmJ1ZmZlci5ub19yZWJpbmRfdGV4MmRfcmdiYV9zdGVuY2lsX2luZGV4OCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5y
ZWNyZWF0ZV9jb2xvcmJ1ZmZlci5yZWJpbmRfcmJvX3JnYjU2NV9zdGVuY2lsX2luZGV4OCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJl
bmRlci5yZWNyZWF0ZV9jb2xvcmJ1ZmZlci5yZWJpbmRfcmJvX3JnYjVfYTFfc3RlbmNpbF9pbmRl
eDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3JidWZmZXIucmViaW5kX3RleDJkX3JnYl9zdGVuY2ls
X2luZGV4OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvcmJ1ZmZlci5yZWJpbmRfdGV4MmRfcmdiYV9z
dGVuY2lsX2luZGV4OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9zdGVuY2lsYnVmZmVyLm5vX3JlYmluZF9y
Ym9fcmdiNTY1X3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX3N0ZW5jaWxidWZmZXIu
bm9fcmViaW5kX3Jib19yZ2I1X2ExX3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX3N0
ZW5jaWxidWZmZXIubm9fcmViaW5kX3RleDJkX3JnYl9zdGVuY2lsX2luZGV4OCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5y
ZWNyZWF0ZV9zdGVuY2lsYnVmZmVyLm5vX3JlYmluZF90ZXgyZF9yZ2JhX3N0ZW5jaWxfaW5kZXg4
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5m
Ym8ucmVuZGVyLnJlY3JlYXRlX3N0ZW5jaWxidWZmZXIucmViaW5kX3Jib19yZ2I1NjVfc3RlbmNp
bF9pbmRleDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfc3RlbmNpbGJ1ZmZlci5yZWJpbmRfcmJvX3JnYjVf
YTFfc3RlbmNpbF9pbmRleDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfc3RlbmNpbGJ1ZmZlci5yZWJpbmRf
dGV4MmRfcmdiX3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX3N0ZW5jaWxidWZmZXIu
cmViaW5kX3RleDJkX3JnYmFfc3RlbmNpbF9pbmRleDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVm
ZmVyLnJib19yZ2I1X2ExX3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9jb2xvcmJ1ZmZl
cl9jbGVhci50ZXgyZF9yZ2IgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFyLnRleDJk
X3JnYmEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5hZGRfZHN0
X2FscGhhX2NvbnN0YW50X2NvbG9yID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1bmNf
ZHN0X2Z1bmMuYWRkX2RzdF9jb2xvcl9jb25zdGFudF9jb2xvciA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVx
dWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9vbmVfbWludXNfc3JjX2NvbG9yX2RzdF9hbHBo
YSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwu
ZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLmFkZF9vbmVfemVy
byA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwu
ZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vfc3Vi
dHJhY3RfY29uc3RhbnRfYWxwaGFfc3JjX2NvbG9yID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25f
c3JjX2Z1bmNfZHN0X2Z1bmMucmV2ZXJzZV9zdWJ0cmFjdF9kc3RfY29sb3JfY29uc3RhbnRfY29s
b3IgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1
YnRyYWN0X29uZV9taW51c19kc3RfYWxwaGFfY29uc3RhbnRfYWxwaGEgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVu
ZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X3NyY19hbHBoYV9z
cmNfYWxwaGEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9zcmNfZnVuY19kc3RfZnVuYy5yZXZl
cnNlX3N1YnRyYWN0X3NyY19hbHBoYV9zcmNfY29sb3IgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlv
bl9zcmNfZnVuY19kc3RfZnVuYy5yZXZlcnNlX3N1YnRyYWN0X3NyY19jb2xvcl9jb25zdGFudF9j
b2xvciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnJldmVyc2Vf
c3VidHJhY3RfemVyb19jb25zdGFudF9jb2xvciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3Ny
Y19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2RzdF9hbHBoYV9jb25zdGFudF9hbHBoYSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X2RzdF9jb2xvcl96
ZXJvID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1bmNfZHN0X2Z1bmMuc3VidHJhY3Rf
b25lX21pbnVzX3NyY19hbHBoYV9zcmNfYWxwaGEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5lcXVhdGlvbl9z
cmNfZnVuY19kc3RfZnVuYy5zdWJ0cmFjdF9vbmVfbWludXNfc3JjX2FscGhhX3NyY19jb2xvciA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJh
Z21lbnRfb3BzLmJsZW5kLmVxdWF0aW9uX3NyY19mdW5jX2RzdF9mdW5jLnN1YnRyYWN0X3NyY19h
bHBoYV9zYXR1cmF0ZV96ZXJvID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQuZXF1YXRpb25fc3JjX2Z1bmNfZHN0
X2Z1bmMuc3VidHJhY3Rfc3JjX2NvbG9yX3plcm8gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5ibGVuZC5yZ2JfZnVuY19h
bHBoYV9mdW5jLmRzdC5jb25zdGFudF9hbHBoYV9vbmVfbWludXNfY29uc3RhbnRfY29sb3IgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5ibGVuZC5yZ2JfZnVuY19hbHBoYV9mdW5jLmRzdC5kc3RfY29sb3Jfb25lX21pbnVz
X2NvbnN0YW50X2NvbG9yID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuYmxlbmQucmdiX2Z1bmNfYWxwaGFfZnVuYy5kc3Qu
b25lX21pbnVzX2NvbnN0YW50X2NvbG9yX29uZV9taW51c19jb25zdGFudF9hbHBoYSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLmJsZW5kLnJnYl9mdW5jX2FscGhhX2Z1bmMuZHN0Lm9uZV9taW51c19kc3RfYWxwaGFfb25l
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5m
cmFnbWVudF9vcHMuYmxlbmQucmdiX2Z1bmNfYWxwaGFfZnVuYy5kc3Quc3JjX2FscGhhX29uZV9t
aW51c19jb25zdGFudF9jb2xvciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmJsZW5kLnJnYl9mdW5jX2FscGhhX2Z1bmMu
c3JjLmNvbnN0YW50X2NvbG9yX3NyY19hbHBoYV9zYXR1cmF0ZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmRlcHRoLmNt
cF9uZXZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuZnJhZ21lbnRfb3BzLmRlcHRoX3N0ZW5jaWwuc3RlbmNpbF9kZXB0aF9mdW5jcy5zdGVu
Y2lsX2VxdWFsX2RlcHRoX25ldmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVy
LjEwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjExID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50
ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjE0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hh
ZGVyLjE2ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjE4ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMu
aW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjE5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNf
c2hhZGVyLjIxID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjIyID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9v
cHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjI2ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFz
aWNfc2hhZGVyLjMwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjMxID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVu
dF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjMzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24u
YmFzaWNfc2hhZGVyLjM0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjM1ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFn
bWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjM3ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rp
b24uYmFzaWNfc2hhZGVyLjM4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjQy
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5m
cmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjQ2ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJh
Y3Rpb24uYmFzaWNfc2hhZGVyLjQ3ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVy
LjQ4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjUwID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50
ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjUyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hh
ZGVyLjUzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjU0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMu
aW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjU4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNf
c2hhZGVyLjU5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjYyID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9v
cHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjY0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFz
aWNfc2hhZGVyLjY2ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjcwID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVu
dF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjcyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24u
YmFzaWNfc2hhZGVyLjczID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjc0ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFn
bWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjc3ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rp
b24uYmFzaWNfc2hhZGVyLjc4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjc5
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5m
cmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjgyID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJh
Y3Rpb24uYmFzaWNfc2hhZGVyLjg2ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVy
Ljg5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjkgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRl
cmFjdGlvbi5iYXNpY19zaGFkZXIuOTAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFk
ZXIuOTEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuOTMgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5p
bnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuOTQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19z
aGFkZXIuOTUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuOTcgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29w
cy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuOTggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5yYW5kb20uKiA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLnN0ZW5jaWwuZGVjcl9zdGVuY2lsX2ZhaWwgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmxpZmV0aW1lLmJpbmRfbm9fZ2VuLnRleHR1cmUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLm5l
Z2F0aXZlX2FwaS50ZXh0dXJlLmNvbXByZXNzZWR0ZXhzdWJpbWFnZTJkX2ludmFsaWRfc2l6ZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwubmVn
YXRpdmVfYXBpLnRleHR1cmUudGV4cGFyYW1ldGVyaXYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnBvbHlnb25fb2Zmc2V0LmRlZmF1bHRfZmFj
dG9yXzBfc2xvcGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLnNoYWRlcl9hcGkuc2hhZGVyX3NvdXJjZS5zcGxpdF9zb3VyY2VfMl9udWxsX3Rl
cm1pbmF0ZWRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5zaGFkZXJzLmFsZ29yaXRobS5oc2xfdG9fcmdiX3ZlcnRleCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5i
dWlsdGluX3ZhcmlhYmxlLm1heF92ZXJ0ZXhfdW5pZm9ybV92ZWN0b3JzX3ZlcnRleCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5j
b25zdGFudF9leHByZXNzaW9ucy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uYWJzX3ZlYzNfdmVy
dGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5zaGFkZXJzLmNvbnN0YW50X2V4cHJlc3Npb25zLmJ1aWx0aW5fZnVuY3Rpb25zLmNvbW1vbi5t
b2RfdmVjM19mbG9hdF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuY29uc3RhbnRfZXhwcmVzc2lvbnMuYnVpbHRpbl9m
dW5jdGlvbnMuY29tbW9uLnNtb290aHN0ZXBfdmVjM19mbG9hdF92ZXJ0ZXggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuY29uc3Rh
bnRfZXhwcmVzc2lvbnMuYnVpbHRpbl9mdW5jdGlvbnMuZ2VvbWV0cmljLnJlZnJhY3RfdmVjNF92
ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnNoYWRlcnMuY29uc3RhbnRfZXhwcmVzc2lvbnMuYnVpbHRpbl9mdW5jdGlvbnMudHJpZ29u
b21ldHJ5LnJhZGlhbnNfZmxvYXRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmNvbnN0YW50X2V4cHJlc3Npb25zLmJ1
aWx0aW5fZnVuY3Rpb25zLnZlY3Rvcl9yZWxhdGlvbmFsLmxlc3NUaGFuX2l2ZWMzX3ZlcnRleCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5jb25zdGFudF9leHByZXNzaW9ucy5jb21wbGV4X3R5cGVzLmFycmF5X3ZlcnRleCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVy
cy5jb252ZXJzaW9ucy5zY2FsYXJfdG9fbWF0cml4LmZsb2F0X3RvX21hdDRfZnJhZ21lbnQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMuY29udmVyc2lvbnMuc2NhbGFyX3RvX3NjYWxhci5ib29sX3RvX2Jvb2xfZnJhZ21lbnQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMuY29udmVyc2lvbnMuc2NhbGFyX3RvX3ZlY3Rvci5mbG9hdF90b19idmVjM19mcmFnbWVudCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5jb252ZXJzaW9ucy5zY2FsYXJfdG9fdmVjdG9yLmZsb2F0X3RvX2l2ZWMyX2ZyYWdtZW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5z
aGFkZXJzLmNvbnZlcnNpb25zLnZlY3Rvcl9jb21iaW5lLmJ2ZWMyX2J2ZWMyX3RvX2l2ZWM0X2Zy
YWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5zaGFkZXJzLmNvbnZlcnNpb25zLnZlY3Rvcl9jb21iaW5lLmZsb2F0X2Jvb2xfdG9fYnZl
YzJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLnNoYWRlcnMuY29udmVyc2lvbnMudmVjdG9yX3RvX3NjYWxhci5idmVjMl90b19m
bG9hdF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwuc2hhZGVycy5jb252ZXJzaW9ucy52ZWN0b3JfdG9fdmVjdG9yLmJ2ZWMzX3Rv
X2J2ZWMyX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5zaGFkZXJzLmNvbnZlcnNpb25zLnZlY3Rvcl90b192ZWN0b3IuaXZlYzNf
dG9fYnZlYzJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuZnVuY3Rpb25zLmRhdGF0eXBlcy5ib29sX2Jvb2xfdmVy
dGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC5zaGFkZXJzLmZ1bmN0aW9ucy5kYXRhdHlwZXMuZmxvYXRfbWF0M192ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuZnVu
Y3Rpb25zLmRhdGF0eXBlcy5mbG9hdF92ZWMyX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5mdW5jdGlvbnMucXVhbGlm
aWVycy5pbl9oaWdocF9pbnRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW5kZXhpbmcubWF0cml4X3N1YnNjcmlw
dC5tYXQ0X2R5bmFtaWNfbG9vcF93cml0ZV9keW5hbWljX2xvb3BfcmVhZF9mcmFnbWVudCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVy
cy5pbmRleGluZy5tYXRyaXhfc3Vic2NyaXB0Lm1hdDRfc3RhdGljX3dyaXRlX2R5bmFtaWNfcmVh
ZF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuc2hhZGVycy5pbmRleGluZy50bXBfYXJyYXkuZmxvYXRfc3RhdGljX3dyaXRlX2R5
bmFtaWNfcmVhZF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5pbmRleGluZy50bXBfYXJyYXkudmVjMl9zdGF0aWNf
d3JpdGVfZHluYW1pY19sb29wX3JlYWRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuaW5kZXhpbmcudG1wX2FycmF5
LnZlYzNfZHluYW1pY19sb29wX3dyaXRlX2R5bmFtaWNfcmVhZF9mcmFnbWVudCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5pbmRl
eGluZy52YXJ5aW5nX2FycmF5LmZsb2F0X3N0YXRpY193cml0ZV9keW5hbWljX2xvb3BfcmVhZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5pbmRleGluZy52ZWN0b3Jfc3Vic2NyaXB0LnZlYzNfZHluYW1pY19sb29wX3N1YnNjcmlw
dF93cml0ZV9jb21wb25lbnRfcmVhZF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5pbmRleGluZy52ZWN0b3Jfc3Vi
c2NyaXB0LnZlYzRfZHluYW1pY19sb29wX3N1YnNjcmlwdF93cml0ZV9jb21wb25lbnRfcmVhZF9m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwuc2hhZGVycy5pbmRleGluZy52ZWN0b3Jfc3Vic2NyaXB0LnZlYzRfc3RhdGljX2xvb3Bf
c3Vic2NyaXB0X3dyaXRlX2NvbXBvbmVudF9yZWFkX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmluZGV4aW5nLnZl
Y3Rvcl9zdWJzY3JpcHQudmVjNF9zdGF0aWNfbG9vcF9zdWJzY3JpcHRfd3JpdGVfZHluYW1pY19s
b29wX3N1YnNjcmlwdF9yZWFkX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFsaWRfaW1wbGljaXRfY29udmVy
c2lvbnMuaW52YWxpZF9pbXBsaWNpdF9jb252ZXJzaW9ucy5hZGRfdmVjNF9pdmVjM192ZWM0X2Zy
YWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5zaGFkZXJzLmludmFsaWRfaW1wbGljaXRfY29udmVyc2lvbnMuaW52YWxpZF9pbXBsaWNp
dF9jb252ZXJzaW9ucy5zdWJfdmVjM19pdmVjMl92ZWMzX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmludmFyaWFu
Y2UubWVkaXVtcC5jb21tb25fc3ViZXhwcmVzc2lvbl8zID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmtleXdvcmRzLmtleXdvcmRz
LmluX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLmNvbmRp
dGlvbmFsX2JvZHlfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZG9fd2hpbGVfZHluYW1pY19pdGVyYXRp
b25zLmNvbXBvdW5kX3N0YXRlbWVudF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5kb193aGlsZV91bmlm
b3JtX2l0ZXJhdGlvbnMuYmFzaWNfbG93cF9mbG9hdF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5mb3Jf
Y29uc3RhbnRfaXRlcmF0aW9ucy5uZXN0ZWRfc2VxdWVuY2VfZnJhZ21lbnQgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMubG9vcHMu
Zm9yX2NvbnN0YW50X2l0ZXJhdGlvbnMubmVzdGVkX3RyaWNreV9kYXRhZmxvd18yX2ZyYWdtZW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5z
aGFkZXJzLmxvb3BzLmZvcl9jb25zdGFudF9pdGVyYXRpb25zLnVuY29uZGl0aW9uYWxfY29udGlu
dWVfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLnNoYWRlcnMubG9vcHMuZm9yX2R5bmFtaWNfaXRlcmF0aW9ucy5mdW5jdGlvbl9j
YWxsX3JldHVybl9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5sb29wcy5mb3JfdW5pZm9ybV9pdGVyYXRpb25zLjEw
MV9pdGVyYXRpb25zX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmZvcl91bmlmb3JtX2l0ZXJhdGlvbnMu
YmFzaWNfaGlnaHBfaW50X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLmxvb3BzLmZvcl91bmlmb3JtX2l0ZXJhdGlv
bnMuaW5maW5pdGVfd2l0aF91bmNvbmRpdGlvbmFsX2JyZWFrX2xhc3RfZnJhZ21lbnQgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
bG9vcHMud2hpbGVfY29uc3RhbnRfaXRlcmF0aW9ucy5vbmx5X2NvbnRpbnVlX2ZyYWdtZW50ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFk
ZXJzLmxvb3BzLndoaWxlX2NvbnN0YW50X2l0ZXJhdGlvbnMuc2luZ2xlX2l0ZXJhdGlvbl9mcmFn
bWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuc2hhZGVycy5sb29wcy53aGlsZV9jb25zdGFudF9pdGVyYXRpb25zLnNpbmdsZV9zdGF0ZW1l
bnRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5m
dW5jdGlvbmFsLnNoYWRlcnMubG9vcHMud2hpbGVfZHluYW1pY19pdGVyYXRpb25zLnNpbmdsZV9z
dGF0ZW1lbnRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMubWF0cml4LmFkZC5jb25zdF9oaWdocF9tYXQzX2Zsb2F0
X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5zaGFkZXJzLm1hdHJpeC5kaXZfYXNzaWduLmR5bmFtaWNfaGlnaHBfbWF0NF9mcmFn
bWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuc2hhZGVycy5tYXRyaXgubWF0cml4Y29tcG11bHQuZHluYW1pY19oaWdocF9tYXQ0X21hdDRf
ZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5j
dGlvbmFsLnNoYWRlcnMubWF0cml4Lm11bC5jb25zdF9sb3dwX3ZlYzJfbWF0Ml9mcmFnbWVudCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5tYXRyaXgubXVsLmNvbnN0X21lZGl1bXBfdmVjNF9tYXQ0X2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm1h
dHJpeC5tdWwuZHluYW1pY19sb3dwX21hdDJfZmxvYXRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMubWF0cml4Lm11
bC51bmlmb3JtX2hpZ2hwX3ZlYzRfbWF0NF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5tYXRyaXgubmVnYXRpb24u
ZHluYW1pY19tZWRpdW1wX21hdDNfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMubWF0cml4LnBvc3RfaW5jcmVtZW50
LmR5bmFtaWNfaGlnaHBfbWF0M19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5tYXRyaXgucHJlX2RlY3JlbWVudC5k
eW5hbWljX21lZGl1bXBfbWF0M19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5tYXRyaXguc3ViLnVuaWZvcm1faGln
aHBfbWF0Ml9mbG9hdF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5tYXRyaXgudW5hcnlfYWRkaXRpb24uZHluYW1p
Y19sb3dwX21hdDNfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IuYW5nbGVfYW5kX3RyaWdvbm9tZXRy
eS5hc2luLmhpZ2hwX3ZlYzJfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmFuZ2xlX2FuZF90cmlnb25v
bWV0cnkudGFuLmxvd3BfdmVjNF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IuYmluYXJ5X29wZXJhdG9y
LmFkZC5oaWdocF9pbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5hZGQu
bG93cF9mbG9hdF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IuYmluYXJ5X29wZXJhdG9yLmFkZF9hc3Np
Z25fZWZmZWN0Lmxvd3BfdmVjMl9mbG9hdF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IuYmluYXJ5X29w
ZXJhdG9yLmRpdi5sb3dwX2Zsb2F0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGVyYXRvci5iaW5hcnlfb3BlcmF0
b3IuZGl2X2Fzc2lnbl9yZXN1bHQubG93cF92ZWMyX2Zsb2F0X3ZlcnRleCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGVyYXRv
ci5iaW5hcnlfb3BlcmF0b3IuZGl2X2Fzc2lnbl9yZXN1bHQubWVkaXVtcF92ZWMyX3ZlcnRleCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5vcGVyYXRvci5iaW5hcnlfb3BlcmF0b3IuZXF1YWwubWVkaXVtcF9pdmVjMl92ZXJ0ZXgg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNo
YWRlcnMub3BlcmF0b3IuYmluYXJ5X29wZXJhdG9yLmxvZ2ljYWxfYW5kLmJvb2xfdmVydGV4ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFk
ZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5tdWwuaGlnaHBfdmVjM192ZXJ0ZXggPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
b3BlcmF0b3IuYmluYXJ5X29wZXJhdG9yLm11bF9hc3NpZ25fZWZmZWN0LmhpZ2hwX3ZlYzRfZmxv
YXRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5tdWxfYXNzaWduX3Jlc3Vs
dC5sb3dwX3ZlYzRfZmxvYXRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5u
b3RfZXF1YWwuYnZlYzNfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5zdWIu
bG93cF9pbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5zdWIubWVkaXVt
cF9pbnRfaXZlYzRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5zdWIubWVk
aXVtcF9pdmVjMl9pbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmJpbmFyeV9vcGVyYXRvci5zdWJf
YXNzaWduX3Jlc3VsdC5oaWdocF9pdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IuYmluYXJ5X29w
ZXJhdG9yLnN1Yl9hc3NpZ25fcmVzdWx0Lmxvd3BfdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3Iu
YmluYXJ5X29wZXJhdG9yLnN1Yl9hc3NpZ25fcmVzdWx0Lmxvd3BfdmVjNF9mbG9hdF92ZXJ0ZXgg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNo
YWRlcnMub3BlcmF0b3IuY29tbW9uX2Z1bmN0aW9ucy5tYXguaGlnaHBfdmVjM192ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMub3BlcmF0b3IuY29tbW9uX2Z1bmN0aW9ucy5tYXgubG93cF92ZWM0X2Zsb2F0X3ZlcnRleCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5vcGVyYXRvci5jb21tb25fZnVuY3Rpb25zLm1heC5tZWRpdW1wX3ZlYzJfdmVydGV4ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFk
ZXJzLm9wZXJhdG9yLmNvbW1vbl9mdW5jdGlvbnMubWF4Lm1lZGl1bXBfdmVjNF92ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMub3BlcmF0b3IuY29tbW9uX2Z1bmN0aW9ucy5taW4ubWVkaXVtcF9mbG9hdF92ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMub3BlcmF0b3IuY29tbW9uX2Z1bmN0aW9ucy5zaWduLmhpZ2hwX3ZlYzJfdmVydGV4ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJz
Lm9wZXJhdG9yLmNvbW1vbl9mdW5jdGlvbnMuc2lnbi5oaWdocF92ZWM0X3ZlcnRleCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5v
cGVyYXRvci5jb21tb25fZnVuY3Rpb25zLnNtb290aHN0ZXAuaGlnaHBfdmVjM192ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMub3BlcmF0b3IuY29tbW9uX2Z1bmN0aW9ucy5zdGVwLmhpZ2hwX3ZlYzRfdmVydGV4ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJz
Lm9wZXJhdG9yLmV4cG9uZW50aWFsLmV4cDIuaGlnaHBfdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0
b3IuaW50X2NvbXBhcmUubGVzc1RoYW4ubG93cF9pdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3Iu
aW50X2NvbXBhcmUubm90RXF1YWwuaGlnaHBfaXZlYzRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLmlu
dF9jb21wYXJlLm5vdEVxdWFsLmxvd3BfaXZlYzRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLnNlbGVj
dGlvbi5oaWdocF9pbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLm9wZXJhdG9yLnNlcXVlbmNlLnNpZGVfZWZmZWN0
cy5oaWdocF92ZWM0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGVyYXRvci51bmFyeV9vcGVyYXRvci5taW51cy5o
aWdocF9pdmVjMl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3IucG9zdF9kZWNy
ZW1lbnRfZWZmZWN0Lmxvd3BfdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0
b3IucG9zdF9kZWNyZW1lbnRfcmVzdWx0LmhpZ2hwX2l2ZWMzX3ZlcnRleCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGVyYXRv
ci51bmFyeV9vcGVyYXRvci5wcmVfZGVjcmVtZW50X3Jlc3VsdC5tZWRpdW1wX3ZlYzJfdmVydGV4
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5z
aGFkZXJzLm9wZXJhdG9yLnVuYXJ5X29wZXJhdG9yLnByZV9kZWNyZW1lbnRfcmVzdWx0Lm1lZGl1
bXBfdmVjNF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3IucHJlX2luY3JlbWVu
dF9lZmZlY3QuaGlnaHBfdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3Iu
cHJlX2luY3JlbWVudF9yZXN1bHQubG93cF9pdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMucHJlcHJvY2Vzc29y
LmJ1aWx0aW4ubGluZV9kZWZpbmVkXzJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMucHJlcHJvY2Vzc29yLmNvbmRp
dGlvbmFscy5pZm5kZWZfMV9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5wcmVwcm9jZXNzb3IuZXhwcmVzc2lvbnMu
cGFyZW50aGVzaXNfaWZfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMucHJlcHJvY2Vzc29yLmludmFsaWRfY29uZGl0
aW9uYWxzLmlmX2Zsb2F0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnByZXByb2Nlc3Nvci5pbnZhbGlkX2V4cHJl
c3Npb25zLmludmFsaWRfZXhwcl8xX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnByZXByb2Nlc3Nvci51bmRlZmlu
ZWRfaWRlbnRpZmllcnMudW5kZWZpbmVkX2lkZW50aWZpZXJfNF9mcmFnbWVudCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5xdWFs
aWZpY2F0aW9uX29yZGVyLnBhcmFtZXRlcnMuaW52YWxpZC5zdG9yYWdlX3ByZWNpc2lvbl9wYXJh
bWV0ZXJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnNoYWRlcnMuc2NvcGluZy5pbnZhbGlkLnJlZGVmaW5lX2Z1bmN0aW9uX2Zy
YWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5zaGFkZXJzLnN0cnVjdC5sb2NhbC5jb25kaXRpb25hbF9hc3NpZ25tZW50X3ZlcnRleCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hh
ZGVycy5zd2l6emxlcy52ZWN0b3Jfc3dpenpsZXMubWVkaXVtcF9idmVjMl9ncl92ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMuc3dpenpsZXMudmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfYnZlYzJfc192ZXJ0ZXggPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMu
c3dpenpsZXMudmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfYnZlYzNfcHBfdmVydGV4ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnN3
aXp6bGVzLnZlY3Rvcl9zd2l6emxlcy5tZWRpdW1wX2J2ZWMzX3BwcF92ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3dp
enpsZXMudmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfYnZlYzNfc3R0c192ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3dp
enpsZXMudmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfYnZlYzRfenp3el92ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3dp
enpsZXMudmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfaXZlYzNfYmJnX3ZlcnRleCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5zd2l6
emxlcy52ZWN0b3Jfc3dpenpsZXMubWVkaXVtcF9pdmVjM19wcHBfdmVydGV4ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zaGFkZXJzLnN3aXp6
bGVzLnZlY3Rvcl9zd2l6emxlcy5tZWRpdW1wX2l2ZWM0X3FwX3ZlcnRleCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5zd2l6emxl
cy52ZWN0b3Jfc3dpenpsZXMubWVkaXVtcF9pdmVjNF94eHh4X3ZlcnRleCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5zd2l6emxl
cy52ZWN0b3Jfc3dpenpsZXMubWVkaXVtcF92ZWMzX3JnYl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRlcnMuc3dpenpsZXMu
dmVjdG9yX3N3aXp6bGVzLm1lZGl1bXBfdmVjM194X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuc2hhZGVycy5zd2l6emxlcy52ZWN0
b3Jfc3dpenpsZXMubWVkaXVtcF92ZWM0X3FxcXRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5mbG9hdHMuY29s
b3JfY2xlYXJfdmFsdWVfZ2V0ZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmZsb2F0cy5kZXB0aF9yYW5nZV9nZXRp
bnRlZ2VyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2Vycy5ibGVuZF9kc3RfYWxwaGFfc2VwYXJhdGVfZ2V0Ym9v
bGVhbiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9u
YWwuc3RhdGVfcXVlcnkuaW50ZWdlcnMuZnJvbnRfZmFjZV9tb2RlX2dldGludGVnZXIgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnN0YXRlX3F1
ZXJ5LmludGVnZXJzLnN0ZW5jaWxfYmFja19mdW5jX3NlcGFyYXRlX2dldGludGVnZXIgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnN0YXRlX3F1
ZXJ5LmludGVnZXJzLnN0ZW5jaWxfYmFja192YWx1ZV9tYXNrX2dldGJvb2xlYW4gPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5
LmludGVnZXJzLnN0ZW5jaWxfd3JpdGVtYXNrX2dldGludGVnZXIgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVnZXJz
LnN0ZW5jaWxfd3JpdGVtYXNrX3NlcGFyYXRlX2JvdGhfZ2V0Ym9vbGVhbiA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJp
bmcuMmQubmVhcmVzdF9saW5lYXJfbWlycm9yX2w4X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0ZXJpbmcuY3ViZS5s
aW5lYXJfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X2NsYW1wX3JnYmE4ODg4ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmlu
Zy5jdWJlLmxpbmVhcl9taXBtYXBfbGluZWFyX25lYXJlc3RfcmVwZWF0X2w4ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRl
cmluZy5jdWJlLmxpbmVhcl9taXBtYXBfbmVhcmVzdF9saW5lYXJfY2xhbXBfZXRjMSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5m
aWx0ZXJpbmcuY3ViZS5uZWFyZXN0X2xpbmVhcl9jbGFtcF9yZ2I4ODhfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5maWx0
ZXJpbmcuY3ViZS5uZWFyZXN0X2xpbmVhcl9yZXBlYXRfbDhfcG90ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLmZpbHRlcmluZy5j
dWJlLm5lYXJlc3RfbWlwbWFwX2xpbmVhcl9uZWFyZXN0X3JlcGVhdF9yZ2JhODg4OCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5m
b3JtYXQucmdiYTg4ODhfMmRfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC50ZXh0dXJlLm1pcG1hcC4yZC5nZW5lcmF0ZS5hOF9uaWNlc3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRl
eHR1cmUubWlwbWFwLjJkLmdlbmVyYXRlLnJnYmE0NDQ0X25pY2VzdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0
aW9uLmJhc2ljX3RleGltYWdlMmQucmdiNTY1X2N1YmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi5iYXNp
Y190ZXhpbWFnZTJkLnJnYmE4ODg4X2N1YmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi5iYXNpY190ZXhz
dWJpbWFnZTJkLnJnYmE0NDQ0X2N1YmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi50ZXhpbWFnZTJkX2Fs
aWduLmN1YmVfcmdiODg4XzM5XzggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMi5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi50ZXhzdWJpbWFnZTJkX2Fs
aWduLmN1YmVfcmdiYTg4ODhfNDdfOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMyLmZ1bmN0aW9uYWwudGV4dHVyZS52ZXJ0ZXguMmQuZmlsdGVyaW5nLmxpbmVhcl9s
aW5lYXJfbWlycm9yID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIu
ZnVuY3Rpb25hbC50ZXh0dXJlLnZlcnRleC5jdWJlLndyYXAubWlycm9yX2NsYW1wID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2Fw
aS5pbmZvX3F1ZXJ5LmJhc2ljLm1hdDRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2FwaS5pbmZvX3F1ZXJ5Lm11bHRp
cGxlX2Jhc2ljLmZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2FwaS52YWx1ZS5hc3NpZ25lZC5iYXNpY19hcnJheV9h
c3NpZ25fZnVsbC5hcnJheV9pbl9zdHJ1Y3QubWF0NF9tYXQyX2ZyYWdtZW50ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2FwaS52
YWx1ZS5hc3NpZ25lZC5iYXNpY19hcnJheV9hc3NpZ25fZnVsbC5iYXNpY19hcnJheS5idmVjNF9i
b3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25h
bC51bmlmb3JtX2FwaS52YWx1ZS5hc3NpZ25lZC5iYXNpY19hcnJheV9hc3NpZ25fcGFydGlhbC5i
YXNpY19hcnJheS5idmVjNF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBpLnZhbHVlLmFzc2lnbmVkLmJ5X3BvaW50
ZXIuZ2V0X3VuaWZvcm0uYXJyYXlfaW5fc3RydWN0LmludF9pdmVjNF92ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBp
LnZhbHVlLmFzc2lnbmVkLmJ5X3BvaW50ZXIuZ2V0X3VuaWZvcm0uYmFzaWNfYXJyYXlfZmlyc3Rf
ZWxlbV93aXRob3V0X2JyYWNrZXRzLmZsb2F0X2JvdGggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBpLnZhbHVlLmFzc2lnbmVk
LmJ5X3BvaW50ZXIuZ2V0X3VuaWZvcm0uYmFzaWNfYXJyYXlfZmlyc3RfZWxlbV93aXRob3V0X2Jy
YWNrZXRzLmludF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMyLmZ1bmN0aW9uYWwudW5pZm9ybV9hcGkudmFsdWUuYXNzaWduZWQuYnlfcG9pbnRlci5y
ZW5kZXIuYmFzaWNfYXJyYXkuaXZlYzRfYm90aCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudW5pZm9ybV9hcGkudmFsdWUuYXNzaWduZWQuYnlf
dmFsdWUuZ2V0X3VuaWZvcm0uYXJyYXlfaW5fc3RydWN0LmludF9pdmVjNF92ZXJ0ZXggPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnVuaWZvcm1f
YXBpLnZhbHVlLmFzc2lnbmVkLmJ5X3ZhbHVlLmdldF91bmlmb3JtLmJhc2ljLmJ2ZWMzX2FwaV9p
bnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVu
Y3Rpb25hbC51bmlmb3JtX2FwaS52YWx1ZS5hc3NpZ25lZC5ieV92YWx1ZS5nZXRfdW5pZm9ybS5i
YXNpYy52ZWM0X2JvdGggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBpLnZhbHVlLmFzc2lnbmVkLmJ5X3ZhbHVlLmdldF91bmlm
b3JtLm11bHRpcGxlX25lc3RlZF9zdHJ1Y3RzX2FycmF5cy52ZXJ0ZXggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBpLnZhbHVl
LmFzc2lnbmVkLmJ5X3ZhbHVlLnJlbmRlci5iYXNpYy5pdmVjMl9ib3RoID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC51bmlmb3JtX2FwaS52YWx1
ZS5hc3NpZ25lZC5ieV92YWx1ZS5yZW5kZXIuYmFzaWNfYXJyYXkuaXZlYzRfYm90aCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudW5pZm9ybV9h
cGkudmFsdWUuYXNzaWduZWQuYnlfdmFsdWUucmVuZGVyLm11bHRpcGxlX2Jhc2ljX2FycmF5LmJv
dGggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFs
LnVuaWZvcm1fYXBpLnZhbHVlLmluaXRpYWwuZ2V0X3VuaWZvcm0uYmFzaWMuYnZlYzNfYXBpX2Zs
b2F0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1
bmN0aW9uYWwudW5pZm9ybV9hcGkudmFsdWUuaW5pdGlhbC5nZXRfdW5pZm9ybS5iYXNpY19hcnJh
eS5tYXQ0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMy
LmZ1bmN0aW9uYWwudW5pZm9ybV9hcGkudmFsdWUuaW5pdGlhbC5yZW5kZXIuYmFzaWMubWF0Ml9m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMyLmZ1bmN0
aW9uYWwudW5pZm9ybV9hcGkudmFsdWUuaW5pdGlhbC5yZW5kZXIuYmFzaWNfc3RydWN0LmJvb2xf
YnZlYzRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnVuaWZvcm1fYXBpLnZhbHVlLmluaXRpYWwucmVuZGVyLm5lc3RlZF9zdHJ1
Y3RzX2FycmF5cy5pbnRfaXZlYzRfYm90aCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwudmVydGV4X2FycmF5cy5tdWx0aXBsZV9hdHRyaWJ1dGVz
LmlucHV0X3R5cGVzLjNfYnl0ZTJfdmVjMl9ieXRlMl92ZWMyX3Vuc2lnbmVkX2J5dGUyX3ZlYzIg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZl
cnRleF9hcnJheXMubXVsdGlwbGVfYXR0cmlidXRlcy5pbnB1dF90eXBlcy4zX3Vuc2lnbmVkX3No
b3J0Ml92ZWMyX3Vuc2lnbmVkX3Nob3J0Ml92ZWMyX2J5dGUyX3ZlYzIgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9hcnJheXMubXVs
dGlwbGVfYXR0cmlidXRlcy5zdG9yYWdlLjNfdXNlcl9wdHJfdXNlcl9wdHJfYnVmZmVyID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhf
YXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUub2Zmc2V0LmJ1ZmZlcl8zMl8zMl9mbG9hdDJfdmVjMl9k
eW5hbWljX2RyYXdfcXVhZHNfMjU2ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzIuZnVuY3Rpb25hbC52ZXJ0ZXhfYXJyYXlzLnNpbmdsZV9hdHRyaWJ1dGUub3V0cHV0
X3R5cGVzLnVzZXJfcHRyXzBfMF9ieXRlNF92ZWM0X2R5bmFtaWNfZHJhd19xdWFkc18yNTYgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRl
eF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0ZS5vdXRwdXRfdHlwZXMudXNlcl9wdHJfMF8wX2ZpeGVk
M192ZWMyX2R5bmFtaWNfZHJhd19xdWFkc18yNTYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0
ZS5vdXRwdXRfdHlwZXMudXNlcl9wdHJfMF8wX2ZpeGVkNF92ZWMzX2R5bmFtaWNfZHJhd19xdWFk
c18yNTYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLnZlcnRleF9hcnJheXMuc2luZ2xlX2F0dHJpYnV0ZS5vdXRwdXRfdHlwZXMudXNlcl9wdHJf
MF8wX2Zsb2F0NF92ZWMyX2R5bmFtaWNfZHJhd19xdWFkc18yNTYgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnZlcnRleF9hcnJheXMuc2luZ2xl
X2F0dHJpYnV0ZS51c2FnZXMuYnVmZmVyXzBfMzJfZml4ZWQyX3ZlYzJfc3RhdGljX2RyYXdfcXVh
ZHNfMjU2ID0gU0tJUAorNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzIuZnVuY3Rp
b25hbC5mcmFnbWVudF9vcHMucmFuZG9tLjUyKiA9IFNLSVAKKzU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMyLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLnJhbmRvbS43NyogPSBTS0lQ
Cis1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLmZyYWdtZW50
X29wcy5yYW5kb20uODIqID0gU0tJUAogCiA2NTI4IFBJWEVMNE9SWEwgR0xFUyA6IGRFUVAtR0xF
UzIuZnVuY3Rpb25hbC5zaGFkZXJzLnN0cnVjdC51bmlmb3JtLnNhbXBsZXJfaW5fYXJyYXlfZnVu
Y3Rpb25fYXJnX3ZlcnRleCA9IEZBSUwKIDY1MjggUElYRUw0T1JYTCBHTEVTIDogZEVRUC1HTEVT
Mi5mdW5jdGlvbmFsLnNoYWRlcnMuc3RydWN0LnVuaWZvcm0uc2FtcGxlcl9pbl9mdW5jdGlvbl9h
cmdfdmVydGV4ID0gRkFJTAogCiAvLyBQaXhlbCA2IHRlc3QgZXhwZWN0YXRpb25zLgorLy8gVGhl
c2UgZmFpbCBvbiB0aGUgQW5kcm9pZCBTIGJvdHMsIGJ1dCBwYXNzIG9uIHByZS1yZWxlYXNlIEFu
ZHJvaWQgVCBkcml2ZXJzOgogNjg5OCBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlv
bmFsLmNsaXBwaW5nLnBvaW50LndpZGVfcG9pbnRfKiA9IEZBSUwKIDY4OTggUElYRUw2IFZVTEtB
TiA6IGRFUVAtR0xFUzIuZnVuY3Rpb25hbC5yYXN0ZXJpemF0aW9uLnByaW1pdGl2ZXMucG9pbnRz
ID0gRkFJTAogNjg5OCBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMi5mdW5jdGlvbmFsLnNoYWRl
cnMuYnVpbHRpbl92YXJpYWJsZS5wb2ludGNvb3JkID0gRkFJTApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2dsZXMzMV9UZXN0
RXhwZWN0YXRpb25zIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3Vw
cG9ydC9kZXFwX2dsZXMzMV9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMwNzkwMzRmMDljOWU5ZjYw
MzRmZTI5NzAwODA2NmEwY2E1NzlkMjMuLmZlOTgyM2U1ZmVkMDViMGQ3ZDhkNGY3NmJlNjU2NDI0
MzI0ZGViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9k
ZXFwX3N1cHBvcnQvZGVxcF9nbGVzMzFfVGVzdEV4cGVjdGF0aW9ucworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfZ2xlczMxX1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTI0OCwxNjkgKzI0OCw2IEBACiA1OTc4IFZVTEtBTiBOVklESUEgOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuYm9yZGVyX2NsYW1wLnVudXNlZF9jaGFubmVscy5s
dW1pbmFuY2VfYWxwaGEgPSBTS0lQCiAKIC8vIFBpeGVsIDQgZXhwZWN0YXRpb25zLgotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuYW5kcm9pZF9leHRlbnNp
b25fcGFjay5leHRlbnNpb25zLm9lc19zYW1wbGVfdmFyaWFibGVzID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuYW5kcm9pZF9leHRlbnNpb25f
cGFjay5zaGFkZXJzLmVzMzEuZXh0ZW5zaW9uX2RpcmVjdGl2ZS5vZXNfdGV4dHVyZV9zdG9yYWdl
X211bHRpc2FtcGxlXzJkX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuYW5kcm9pZF9leHRlbnNpb25fcGFjay5zaGFkZXJzLmVzMzIu
ZXh0ZW5zaW9uX2RpcmVjdGl2ZS5leHRfc2hhZGVyX2lvX2Jsb2NrcyA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmJsZW5kX2VxdWF0aW9uX2Fk
dmFuY2VkLmNvaGVyZW50LmhzbF9odWUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5ibGVuZF9lcXVhdGlvbl9hZHZhbmNlZC5tc2FhLmNvbG9y
ZG9kZ2UgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5ibGVuZF9lcXVhdGlvbl9hZHZhbmNlZC5tc2FhLnNjcmVlbiA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmJsZW5kX2VxdWF0aW9uX2Fk
dmFuY2VkLnN0YXRlX3F1ZXJ5LmJsZW5kX2FkdmFuY2VkX2NvaGVyZW50X2dldGludGVnZXI2NCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
bXB1dGUuaW5kaXJlY3RfZGlzcGF0Y2guZ2VuX2luX2NvbXB1dGUubGFyZ2Vfb2Zmc2V0X211bHRp
cGxlX2ludm9jYXRpb25zID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuY29tcHV0ZS5zaGFyZWRfdmFyLmJhc2ljX3R5cGUuaXZlYzRfaGlnaHAg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b21wdXRlLnNoYXJlZF92YXIuYmFzaWNfdHlwZS51dmVjNF9tZWRpdW1wID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29tcHV0ZS5zaGFyZWRf
dmFyLndvcmtfZ3JvdXBfc2l6ZS5tYXQ0XzFfMV8xID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2VkLnZpZXdj
bGFzc19hc3RjXzEweDEwX3JnYmEuc3JnYjhfYWxwaGE4X2FzdGNfMTB4MTBfa2hyX3JnYmFfYXN0
Y18xMHgxMF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52
aWV3Y2xhc3NfYXN0Y18xMHgxMF9yZ2JhLnNyZ2I4X2FscGhhOF9hc3RjXzEweDEwX2tocl9zcmdi
OF9hbHBoYThfYXN0Y18xMHgxMF9raHIuY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNv
bXByZXNzZWQudmlld2NsYXNzX2FzdGNfMTB4MTBfcmdiYS5zcmdiOF9hbHBoYThfYXN0Y18xMHgx
MF9raHJfc3JnYjhfYWxwaGE4X2FzdGNfMTB4MTBfa2hyLnRleHR1cmUyZF9hcnJheV90b19jdWJl
bWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuY29weV9pbWFnZS5jb21wcmVzc2VkLnZpZXdjbGFzc19hc3RjXzEweDVfcmdiYS5yZ2JhX2Fz
dGNfMTB4NV9raHJfc3JnYjhfYWxwaGE4X2FzdGNfMTB4NV9raHIuY3ViZW1hcF90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmlld2NsYXNzX2FzdGNfMTB4NV9yZ2JhLnNyZ2I4X2Fs
cGhhOF9hc3RjXzEweDVfa2hyX3NyZ2I4X2FscGhhOF9hc3RjXzEweDVfa2hyLnRleHR1cmUzZF90
b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2VkLnZpZXdjbGFzc19hc3RjXzEweDZfcmdiYS5z
cmdiOF9hbHBoYThfYXN0Y18xMHg2X2tocl9yZ2JhX2FzdGNfMTB4Nl9raHIudGV4dHVyZTJkX2Fy
cmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xhc3NfYXN0Y18xMHg2
X3JnYmEuc3JnYjhfYWxwaGE4X2FzdGNfMTB4Nl9raHJfc3JnYjhfYWxwaGE4X2FzdGNfMTB4Nl9r
aHIudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3
Y2xhc3NfYXN0Y18xMHg4X3JnYmEucmdiYV9hc3RjXzEweDhfa2hyX3NyZ2I4X2FscGhhOF9hc3Rj
XzEweDhfa2hyLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmll
d2NsYXNzX2FzdGNfMTJ4MTBfcmdiYS5yZ2JhX2FzdGNfMTJ4MTBfa2hyX3JnYmFfYXN0Y18xMngx
MF9raHIuY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmlld2NsYXNz
X2FzdGNfMTJ4MTBfcmdiYS5yZ2JhX2FzdGNfMTJ4MTBfa2hyX3JnYmFfYXN0Y18xMngxMF9raHIu
dGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xh
c3NfYXN0Y18xMngxMF9yZ2JhLnJnYmFfYXN0Y18xMngxMF9raHJfc3JnYjhfYWxwaGE4X2FzdGNf
MTJ4MTBfa2hyLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNz
ZWQudmlld2NsYXNzX2FzdGNfMTJ4MTJfcmdiYS5yZ2JhX2FzdGNfMTJ4MTJfa2hyX3JnYmFfYXN0
Y18xMngxMl9raHIudGV4dHVyZTJkX2FycmF5X3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNz
ZWQudmlld2NsYXNzX2FzdGNfNHg0X3JnYmEucmdiYV9hc3RjXzR4NF9raHJfc3JnYjhfYWxwaGE4
X2FzdGNfNHg0X2toci50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2Vk
LnZpZXdjbGFzc19hc3RjXzV4NF9yZ2JhLnJnYmFfYXN0Y181eDRfa2hyX3JnYmFfYXN0Y181eDRf
a2hyLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmll
d2NsYXNzX2FzdGNfNXg0X3JnYmEuc3JnYjhfYWxwaGE4X2FzdGNfNXg0X2tocl9zcmdiOF9hbHBo
YThfYXN0Y181eDRfa2hyLnRleHR1cmUzZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNz
ZWQudmlld2NsYXNzX2FzdGNfNXg1X3JnYmEucmdiYV9hc3RjXzV4NV9raHJfcmdiYV9hc3RjXzV4
NV9raHIuY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmlld2NsYXNz
X2FzdGNfNXg1X3JnYmEucmdiYV9hc3RjXzV4NV9raHJfc3JnYjhfYWxwaGE4X2FzdGNfNXg1X2to
ci50ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xhc3NfYXN0
Y182eDVfcmdiYS5zcmdiOF9hbHBoYThfYXN0Y182eDVfa2hyX3JnYmFfYXN0Y182eDVfa2hyLnRl
eHR1cmUyZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2VkLnZpZXdjbGFzc19hc3RjXzZ4
Nl9yZ2JhLnNyZ2I4X2FscGhhOF9hc3RjXzZ4Nl9raHJfcmdiYV9hc3RjXzZ4Nl9raHIuY3ViZW1h
cF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmlld2NsYXNzX2FzdGNfNng2X3Jn
YmEuc3JnYjhfYWxwaGE4X2FzdGNfNng2X2tocl9zcmdiOF9hbHBoYThfYXN0Y182eDZfa2hyLnRl
eHR1cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmlld2NsYXNz
X2FzdGNfNng2X3JnYmEuc3JnYjhfYWxwaGE4X2FzdGNfNng2X2tocl9zcmdiOF9hbHBoYThfYXN0
Y182eDZfa2hyLnRleHR1cmUyZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2VkLnZpZXdj
bGFzc19hc3RjXzh4NV9yZ2JhLnNyZ2I4X2FscGhhOF9hc3RjXzh4NV9raHJfcmdiYV9hc3RjXzh4
NV9raHIudGV4dHVyZTJkX2FycmF5X3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmll
d2NsYXNzX2FzdGNfOHg2X3JnYmEucmdiYV9hc3RjXzh4Nl9raHJfcmdiYV9hc3RjXzh4Nl9raHIu
dGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xh
c3NfYXN0Y184eDhfcmdiYS5yZ2JhX2FzdGNfOHg4X2tocl9zcmdiOF9hbHBoYThfYXN0Y184eDhf
a2hyLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLmNvbXByZXNzZWQudmll
d2NsYXNzX2FzdGNfOHg4X3JnYmEucmdiYV9hc3RjXzh4OF9raHJfc3JnYjhfYWxwaGE4X2FzdGNf
OHg4X2toci50ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xh
c3NfYXN0Y184eDhfcmdiYS5zcmdiOF9hbHBoYThfYXN0Y184eDhfa2hyX3NyZ2I4X2FscGhhOF9h
c3RjXzh4OF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52
aWV3Y2xhc3NfYXN0Y184eDhfcmdiYS5zcmdiOF9hbHBoYThfYXN0Y184eDhfa2hyX3NyZ2I4X2Fs
cGhhOF9hc3RjXzh4OF9raHIudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJl
c3NlZC52aWV3Y2xhc3NfZXRjMl9lYWNfcmdiYS5zcmdiOF9hbHBoYThfZXRjMl9lYWNfc3JnYjhf
YWxwaGE4X2V0YzJfZWFjLnRleHR1cmUyZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5jb21wcmVzc2Vk
LnZpZXdjbGFzc19ldGMyX3JnYi5zcmdiOF9ldGMyX3JnYjhfZXRjMi50ZXh0dXJlMmRfdG9fY3Vi
ZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xhc3NfZXRjMl9yZ2JhLnNyZ2I4X3B1bmNo
dGhyb3VnaF9hbHBoYTFfZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTFfZXRjMi50ZXh0dXJl
MmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UuY29tcHJlc3NlZC52aWV3Y2xhc3NfZXRjMl9yZ2JhLnNy
Z2I4X3B1bmNodGhyb3VnaF9hbHBoYTFfZXRjMl9zcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExX2V0
YzIudGV4dHVyZTJkX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0
c19taXhlZC5yZ2JhMzJmX3JnYmFfYXN0Y18xMHg1X2toci5jdWJlbWFwX3RvX2N1YmVtYXAgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5
X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJmX3JnYmFfYXN0Y18x
MHg4X2toci50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3Nf
MTI4X2JpdHNfbWl4ZWQucmdiYTMyZl9yZ2JhX2FzdGNfMTB4OF9raHIudGV4dHVyZTNkX3RvX2N1
YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJmX3Jn
YmFfYXN0Y18xMngxMF9raHIudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uu
bWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmZfcmdiYV9hc3RjXzV4NV9raHIu
dGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEy
OF9iaXRzX21peGVkLnJnYmEzMmZfcmdiYV9hc3RjXzZ4Nl9raHIudGV4dHVyZTJkX2FycmF5X3Rv
X3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEz
MmZfcmdiYV9hc3RjXzh4Nl9raHIudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4
ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmZfcmdiYV9hc3RjXzh4OF9raHIudGV4
dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9i
aXRzX21peGVkLnJnYmEzMmZfc3JnYjhfYWxwaGE4X2FzdGNfMTB4Nl9raHIudGV4dHVyZTJkX3Rv
X3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEz
MmZfc3JnYjhfYWxwaGE4X2FzdGNfMTB4OF9raHIuY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJmX3NyZ2I4X2FscGhhOF9h
c3RjXzEyeDEwX2toci50ZXh0dXJlMmRfYXJyYXlfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQu
dmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmZfc3JnYjhfYWxwaGE4X2FzdGNfNHg0X2to
ci5jdWJlbWFwX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRz
X21peGVkLnJnYmEzMmZfc3JnYjhfYWxwaGE4X2FzdGNfNng1X2toci50ZXh0dXJlMmRfdG9fY3Vi
ZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmZfc3Jn
YjhfYWxwaGE4X2FzdGNfNng2X2toci5jdWJlbWFwX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVk
LnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJpX3JnMTFfZWFjLnRleHR1cmUyZF90b19j
dWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMyaV9y
Z2JhOF9ldGMyX2VhYy50ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2Ns
YXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfcmdiYV9hc3RjXzEweDEwX2toci50ZXh0dXJlMmRf
dG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdi
YTMyaV9yZ2JhX2FzdGNfMTB4NV9raHIuY3ViZW1hcF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhl
ZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMyaV9yZ2JhX2FzdGNfMTB4NV9raHIudGV4
dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21p
eGVkLnJnYmEzMmlfcmdiYV9hc3RjXzEyeDEyX2toci5jdWJlbWFwX3RvX2N1YmVtYXAgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJpX3JnYmFfYXN0Y18xMngx
Ml9raHIudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEy
OF9iaXRzX21peGVkLnJnYmEzMmlfcmdiYV9hc3RjXzR4NF9raHIudGV4dHVyZTJkX3RvX3RleHR1
cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfcmdi
YV9hc3RjXzV4NF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmll
d2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfc2lnbmVkX3JnMTFfZWFjLnRleHR1cmUyZF90
b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMy
aV9zcmdiOF9hbHBoYThfYXN0Y18xMHgxMF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlf
aW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfc3JnYjhfYWxwaGE4
X2FzdGNfMTB4OF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmll
d2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfc3JnYjhfYWxwaGE4X2FzdGNfMTJ4MTJfa2hy
LmN1YmVtYXBfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21p
eGVkLnJnYmEzMmlfc3JnYjhfYWxwaGE4X2FzdGNfMTJ4MTJfa2hyLnRleHR1cmUyZF90b190ZXh0
dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJpX3Ny
Z2I4X2FscGhhOF9hc3RjXzEyeDEyX2toci50ZXh0dXJlM2RfdG9fdGV4dHVyZTNkID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMyaV9zcmdiOF9hbHBoYThfYXN0
Y182eDZfa2hyLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFz
c18xMjhfYml0c19taXhlZC5yZ2JhMzJpX3NyZ2I4X2FscGhhOF9hc3RjXzZ4Nl9raHIudGV4dHVy
ZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVk
LnJnYmEzMmlfc3JnYjhfYWxwaGE4X2FzdGNfOHg1X2toci50ZXh0dXJlMmRfdG9fdGV4dHVyZTNk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMyaV9zcmdiOF9h
bHBoYThfYXN0Y184eDZfa2hyLmN1YmVtYXBfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmll
d2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMmlfc3JnYjhfYWxwaGE4X2V0YzJfZWFjLnRleHR1
cmUyZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQu
cmdiYTMydWlfcmdiYV9hc3RjXzEweDEwX2toci50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9p
bWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMydWlfcmdiYV9hc3RjXzR4
NF9raHIudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEy
OF9iaXRzX21peGVkLnJnYmEzMnVpX3JnYmFfYXN0Y181eDVfa2hyLnRleHR1cmUyZF90b190ZXh0
dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJ1aV9y
Z2JhX2FzdGNfNng1X2toci5jdWJlbWFwX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdj
bGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJ1aV9yZ2JhX2FzdGNfOHg2X2toci5jdWJlbWFwX3Rv
X2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJ1
aV9yZ2JhX2FzdGNfOHg2X2toci50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhl
ZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYTMydWlfc3JnYjhfYWxwaGE4X2FzdGNfMTB4
MTBfa2hyLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18x
MjhfYml0c19taXhlZC5yZ2JhMzJ1aV9zcmdiOF9hbHBoYThfYXN0Y18xMHg1X2toci50ZXh0dXJl
M2RfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQu
cmdiYTMydWlfc3JnYjhfYWxwaGE4X2FzdGNfMTB4Nl9raHIudGV4dHVyZTNkX3RvX3RleHR1cmUz
ZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMnVpX3NyZ2I4
X2FscGhhOF9hc3RjXzEweDhfa2hyLnRleHR1cmUzZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1p
eGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJ1aV9zcmdiOF9hbHBoYThfYXN0Y18x
MngxMF9raHIudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNz
XzEyOF9iaXRzX21peGVkLnJnYmEzMnVpX3NyZ2I4X2FscGhhOF9hc3RjXzEyeDEyX2toci5jdWJl
bWFwX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5y
Z2JhMzJ1aV9zcmdiOF9hbHBoYThfYXN0Y180eDRfa2hyLnRleHR1cmUzZF90b190ZXh0dXJlM2Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhMzJ1aV9zcmdiOF9h
bHBoYThfYXN0Y182eDVfa2hyLmN1YmVtYXBfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmll
d2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMnVpX3NyZ2I4X2FscGhhOF9hc3RjXzZ4NV9raHIu
dGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRz
X21peGVkLnJnYmEzMnVpX3NyZ2I4X2FscGhhOF9hc3RjXzZ4Nl9raHIudGV4dHVyZTNkX3RvX3Rl
eHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmEzMnVp
X3NyZ2I4X2FscGhhOF9ldGMyX2VhYy50ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4
ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmE4X2V0YzJfZWFjX3JnYmEzMmkudGV4dHVy
ZTJkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVk
LnJnYmFfYXN0Y18xMHgxMF9raHJfcmdiYTMyZi50ZXh0dXJlMmRfYXJyYXlfdG9fdGV4dHVyZTNk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYV9hc3RjXzEweDVf
a2hyX3JnYmEzMmkudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2Ns
YXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y18xMHg1X2tocl9yZ2JhMzJ1aS50ZXh0dXJlMmRf
dG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdi
YV9hc3RjXzEweDVfa2hyX3JnYmEzMnVpLnRleHR1cmUzZF90b190ZXh0dXJlMmQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdl
Lm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2JhX2FzdGNfMTB4OF9raHJfcmdiYTMy
aS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRz
X21peGVkLnJnYmFfYXN0Y18xMngxMF9raHJfcmdiYTMyaS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y18xMngxMl9r
aHJfcmdiYTMyaS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xh
c3NfMTI4X2JpdHNfbWl4ZWQucmdiYV9hc3RjXzEyeDEyX2tocl9yZ2JhMzJ1aS5jdWJlbWFwX3Rv
X3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFf
YXN0Y18xMngxMl9raHJfcmdiYTMydWkudGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uu
bWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y180eDRfa2hyX3JnYmEzMmYu
dGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRz
X21peGVkLnJnYmFfYXN0Y180eDRfa2hyX3JnYmEzMmkudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y181eDRfa2hy
X3JnYmEzMmkudGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNz
XzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y182eDVfa2hyX3JnYmEzMmYudGV4dHVyZTJkX2FycmF5
X3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5yZ2Jh
X2FzdGNfNng1X2tocl9yZ2JhMzJpLmN1YmVtYXBfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhl
ZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYV9hc3RjXzh4NV9raHJfcmdiYTMyZi50ZXh0
dXJlM2RfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4
ZWQucmdiYV9hc3RjXzh4Nl9raHJfcmdiYTMyaS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y184eDZfa2hyX3JnYmEz
MmkudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9i
aXRzX21peGVkLnJnYmFfYXN0Y184eDZfa2hyX3JnYmEzMnVpLmN1YmVtYXBfdG9fdGV4dHVyZTJk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQucmdiYV9hc3RjXzh4Nl9r
aHJfcmdiYTMydWkudGV4dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2Ns
YXNzXzEyOF9iaXRzX21peGVkLnJnYmFfYXN0Y184eDhfa2hyX3JnYmEzMmYudGV4dHVyZTJkX3Rv
X3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnJnYmFf
YXN0Y184eDhfa2hyX3JnYmEzMnVpLmN1YmVtYXBfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhl
ZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNfMTB4MTBfa2hyX3Jn
YmEzMmYuY3ViZW1hcF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2Jp
dHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNfMTB4MTBfa2hyX3JnYmEzMnVpLnRleHR1cmUzZF90
b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhfYml0c19taXhlZC5zcmdi
OF9hbHBoYThfYXN0Y18xMHg1X2tocl9yZ2JhMzJmLnRleHR1cmUzZF90b19jdWJlbWFwID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9p
bWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNfMTB4
NV9raHJfcmdiYTMydWkuY3ViZW1hcF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdj
bGFzc18xMjhfYml0c19taXhlZC5zcmdiOF9hbHBoYThfYXN0Y18xMHg1X2tocl9yZ2JhMzJ1aS50
ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNf
bWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNfMTB4OF9raHJfcmdiYTMyZi50ZXh0dXJlMmRfYXJyYXlf
dG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3Jn
YjhfYWxwaGE4X2FzdGNfMTB4OF9raHJfcmdiYTMyaS50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29w
eV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNf
MTB4OF9raHJfcmdiYTMydWkudGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQu
dmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2FscGhhOF9hc3RjXzEyeDEwX2tocl9yZ2Jh
MzJpLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc18xMjhf
Yml0c19taXhlZC5zcmdiOF9hbHBoYThfYXN0Y18xMngxMF9raHJfcmdiYTMydWkudGV4dHVyZTNk
X3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNy
Z2I4X2FscGhhOF9hc3RjXzEyeDEyX2tocl9yZ2JhMzJ1aS50ZXh0dXJlMmRfdG9fdGV4dHVyZTNk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2Fz
dGNfNXg0X2tocl9yZ2JhMzJ1aS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQu
dmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2FscGhhOF9hc3RjXzV4NV9raHJfcmdiYTMy
Zi5jdWJlbWFwX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRz
X21peGVkLnNyZ2I4X2FscGhhOF9hc3RjXzV4NV9raHJfcmdiYTMydWkudGV4dHVyZTJkX3RvX3Rl
eHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2Fs
cGhhOF9hc3RjXzZ4Nl9raHJfcmdiYTMyZi50ZXh0dXJlMmRfYXJyYXlfdG9fY3ViZW1hcCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlf
aW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2FscGhhOF9hc3RjXzZ4
Nl9raHJfcmdiYTMyZi50ZXh0dXJlM2RfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3
Y2xhc3NfMTI4X2JpdHNfbWl4ZWQuc3JnYjhfYWxwaGE4X2FzdGNfNng2X2tocl9yZ2JhMzJ1aS5j
dWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21p
eGVkLnNyZ2I4X2FscGhhOF9hc3RjXzh4NV9raHJfcmdiYTMydWkudGV4dHVyZTJkX3RvX3RleHR1
cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2FscGhh
OF9hc3RjXzh4Nl9raHJfcmdiYTMydWkudGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uu
bWl4ZWQudmlld2NsYXNzXzEyOF9iaXRzX21peGVkLnNyZ2I4X2FscGhhOF9hc3RjXzh4OF9raHJf
cmdiYTMyaS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzY0
X2JpdHNfbWl4ZWQucjExX2VhY19yZzMyZi50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5taXhlZC52aWV3Y2xhc3NfNjRfYml0c19taXhlZC5yMTFfZWFjX3JnMzJ1aS5jdWJlbWFwX3Rv
X2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm1peGVkLnZpZXdjbGFzc182NF9iaXRzX21peGVkLnIxMV9lYWNf
cmdiYTE2Zi50ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzY0
X2JpdHNfbWl4ZWQucmczMmlfc2lnbmVkX3IxMV9lYWMudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1
cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2UubWl4ZWQudmlld2NsYXNzXzY0X2JpdHNfbWl4ZWQucmczMnVpX3NpZ25l
ZF9yMTFfZWFjLnRleHR1cmUyZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3Nf
NjRfYml0c19taXhlZC5yZ2JhMTZmX3IxMV9lYWMudGV4dHVyZTJkX3RvX2N1YmVtYXAgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm1peGVkLnZpZXdjbGFzc182NF9iaXRzX21peGVkLnNpZ25lZF9yMTFfZWFjX3JnMzJmLmN1
YmVtYXBfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5taXhlZC52aWV3Y2xhc3NfNjRfYml0c19taXhl
ZC5zaWduZWRfcjExX2VhY19yZ2JhMTZmLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdl
Lm1peGVkLnZpZXdjbGFzc182NF9iaXRzX21peGVkLnNpZ25lZF9yMTFfZWFjX3JnYmExNmkudGV4
dHVyZTJkX3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2Ns
YXNzXzEyOF9iaXRzLnJnYmEzMmZfcmdiYTMyaS50ZXh0dXJlMmRfYXJyYXlfdG9fdGV4dHVyZTNk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTI4X2JpdHMucmdiYTMyZl9yZ2Jh
MzJ1aS50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3
Y2xhc3NfMTI4X2JpdHMucmdiYTMyaV9yZ2JhMzJpLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xMjhfYml0cy5yZ2JhMzJ1aV9y
Z2JhMzJpLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc18xMjhfYml0cy5yZ2JhMzJ1aV9yZ2JhMzJ1aS5yZW5kZXJidWZmZXJfdG9f
dGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0cy5yMTZm
X3IxNmkuY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdj
bGFzc18xNl9iaXRzLnIxNmZfcmc4LmN1YmVtYXBfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25f
Y29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0cy5yMTZmX3JnOGkuY3ViZW1hcF90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnIxNmlfcmc4aS5y
ZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xh
c3NfMTZfYml0cy5yMTZpX3JnOGkudGV4dHVyZTNkX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uu
bm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzE2X2JpdHMucjE2aV9yZzh1aS50ZXh0dXJlMmRfdG9f
cmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0cy5y
MTZ1aV9yZzh1aS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzE2X2JpdHMucmc4X3IxNmYudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzE2X2JpdHMucmc4X3IxNmkuY3ViZW1hcF90b19y
ZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJn
OF9yMTZ1aS50ZXh0dXJlMmRfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3Nl
ZC52aWV3Y2xhc3NfMTZfYml0cy5yZzhfcjE2dWkudGV4dHVyZTJkX3RvX3RleHR1cmUyZCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlf
aW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzE2X2JpdHMucmc4X3JnOC50ZXh0dXJlMmRf
dG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0
cy5yZzhfcmc4X3Nub3JtLnRleHR1cmUyZF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21w
cmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJnOF9yZzh1aS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJk
ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0cy5yZzhfc25vcm1fcjE2
Zi50ZXh0dXJlMmRfYXJyYXlfdG9fY3ViZW1hcCA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmll
d2NsYXNzXzE2X2JpdHMucmc4X3Nub3JtX3IxNmkuY3ViZW1hcF90b19yZW5kZXJidWZmZXIgPSBT
S0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5
X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJnOF9zbm9ybV9yMTZpLnRl
eHR1cmUyZF9hcnJheV90b19yZW5kZXJidWZmZXIgPSBTS0lQCkBAIC00MjIsNzkgKzI1OSw2IEBA
CiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJnOF9zbm9ybV9yMTZ1aS50ZXh0
dXJlM2RfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3Nf
MTZfYml0cy5yZzhfc25vcm1fcmc4LmN1YmVtYXBfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAogNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5u
b25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMTZfYml0cy5yZzhfc25vcm1fcmc4dWkuY3ViZW1hcF90
b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRz
LnJnOGlfcmc4LnRleHR1cmUyZF9hcnJheV90b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9j
b21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJnOGlfcmc4dWkucmVuZGVyYnVmZmVyX3RvX3Rl
eHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzE2X2JpdHMucmc4aV9y
Zzh1aS50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3
Y2xhc3NfMTZfYml0cy5yZzh1aV9yMTZ1aS5jdWJlbWFwX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uu
bm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzE2X2JpdHMucmc4dWlfcmc4LnRleHR1cmUzZF90b19y
ZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18xNl9iaXRzLnJn
OHVpX3JnOGkudGV4dHVyZTJkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzI0X2JpdHMucmdiOF9yZ2I4LnRleHR1cmUzZF90b190ZXh0dXJlMmRfYXJyYXkg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnJnYjhfcmdiOF9zbm9y
bS50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52
aWV3Y2xhc3NfMjRfYml0cy5yZ2I4X3JnYjhpLnRleHR1cmUyZF90b190ZXh0dXJlMmRfYXJyYXkg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnJnYjhfc25vcm1fcmdi
OGkudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXBy
ZXNzZWQudmlld2NsYXNzXzI0X2JpdHMucmdiOF9zbm9ybV9yZ2I4dWkuY3ViZW1hcF90b190ZXh0
dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnJnYjhfc3Jn
YjgudGV4dHVyZTNkX3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzI0X2JpdHMucmdiOGlfcmdiOC50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkX2FycmF5
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMjRfYml0cy5yZ2I4aV9yZ2I4X3Nu
b3JtLmN1YmVtYXBfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52
aWV3Y2xhc3NfMjRfYml0cy5yZ2I4aV9yZ2I4X3Nub3JtLnRleHR1cmUyZF9hcnJheV90b190ZXh0
dXJlMmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnJn
YjhpX3JnYjhfc25vcm0udGV4dHVyZTJkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXBy
ZXNzZWQudmlld2NsYXNzXzI0X2JpdHMucmdiOGlfc3JnYjgudGV4dHVyZTJkX2FycmF5X3RvX3Rl
eHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzI0X2JpdHMu
cmdiOGlfc3JnYjgudGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNz
ZWQudmlld2NsYXNzXzI0X2JpdHMucmdiOHVpX3JnYjhfc25vcm0uY3ViZW1hcF90b190ZXh0dXJl
MmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnJnYjh1
aV9yZ2I4X3Nub3JtLnRleHR1cmUzZF90b190ZXh0dXJlMmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9j
b21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnNyZ2I4X3JnYjguY3ViZW1hcF90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18yNF9iaXRzLnNyZ2I4X3JnYjgu
dGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmll
d2NsYXNzXzMyX2JpdHMucjExZl9nMTFmX2IxMGZfcjExZl9nMTFmX2IxMGYudGV4dHVyZTJkX3Rv
X2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIxMWZf
ZzExZl9iMTBmX3IzMmkudGV4dHVyZTJkX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc18zMl9iaXRzLnIxMWZfZzExZl9iMTBmX3IzMnVpLnRleHR1cmUyZF90b19j
dWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMTFmX2cx
MWZfYjEwZl9yZzE2dWkudGV4dHVyZTJkX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc18zMl9iaXRzLnIxMWZfZzExZl9iMTBmX3JnYjEwX2EyLmN1YmVtYXBfdG9f
dGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMTFm
X2cxMWZfYjEwZl9yZ2IxMF9hMnVpLnRleHR1cmUyZF9hcnJheV90b190ZXh0dXJlMmQgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIxMWZfZzExZl9iMTBmX3JnYjEw
X2EydWkudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmll
d2NsYXNzXzMyX2JpdHMucjExZl9nMTFmX2IxMGZfcmdiYThpLnRleHR1cmUzZF90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIzMmZfcjMyZi50
ZXh0dXJlMmRfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3Nf
MzJfYml0cy5yMzJmX3IzMmkudGV4dHVyZTJkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2Nv
bXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucjMyZl9yZ2IxMF9hMnVpLnRleHR1cmUyZF90b190
ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIzMmZf
cmdiMTBfYTJ1aS50ZXh0dXJlM2RfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJl
c3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMzJmX3JnYmE4LnRleHR1cmUyZF90b190ZXh0dXJlMmQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIzMmZfcmdiYThfc25v
cm0uY3ViZW1hcF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFz
c18zMl9iaXRzLnIzMmZfcmdiYThfc25vcm0udGV4dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucjMyZl9yZ2JhOHVpLnRleHR1cmUy
ZF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRz
LnIzMmZfcmdiYTh1aS50ZXh0dXJlM2RfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29t
cHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMzJpX3IxMWZfZzExZl9iMTBmLmN1YmVtYXBfdG9f
dGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMzJp
X3IzMnVpLnRleHR1cmUyZF90b190ZXh0dXJlMmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc18zMl9iaXRzLnIzMmlfcmcxNmkuY3ViZW1hcF90b19yZW5kZXJidWZmZXIg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnIzMmlfcmdiYTgucmVu
ZGVyYnVmZmVyX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2Ns
YXNzXzMyX2JpdHMucjMyaV9yZ2JhOGkucmVuZGVyYnVmZmVyX3RvX3RleHR1cmUyZF9hcnJheSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucjMyaV9zcmdiOF9hbHBo
YTgudGV4dHVyZTJkX2FycmF5X3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNz
ZWQudmlld2NsYXNzXzMyX2JpdHMucjMydWlfcjExZl9nMTFmX2IxMGYucmVuZGVyYnVmZmVyX3Rv
X3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2Jp
dHMucjMydWlfcjMyZi50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25f
Y29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMzJ1aV9yZzE2aS5yZW5kZXJidWZmZXJfdG9f
cmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5y
MzJ1aV9yZ2IxMF9hMi5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5u
b25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yMzJ1aV9yZ2IxMF9hMnVpLnRleHR1cmUz
ZF90b190ZXh0dXJlMmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18z
Ml9iaXRzLnIzMnVpX3JnYjlfZTUudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucjMydWlfcmdiYTgucmVuZGVyYnVm
ZmVyX3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNz
XzMyX2JpdHMucmcxNmZfcmcxNmkudGV4dHVyZTNkX3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmcxNmZfcmcxNnVpLnRleHR1cmUy
ZF9hcnJheV90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJf
Yml0cy5yZzE2Zl9yZ2IxMF9hMi5jdWJlbWFwX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21w
cmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnMTZmX3JnYmE4LnRleHR1cmUzZF90b190ZXh0dXJl
MmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnMTZm
X3JnYmE4aS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJl
c3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZzE2Zl9yZ2JhOHVpLnRleHR1cmUzZF90b190ZXh0dXJl
MmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnMTZm
X3NyZ2I4X2FscGhhOC5jdWJlbWFwX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2Vk
LnZpZXdjbGFzc18zMl9iaXRzLnJnMTZmX3NyZ2I4X2FscGhhOC50ZXh0dXJlMmRfdG9fdGV4dHVy
ZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZzE2aV9yMTFm
X2cxMWZfYjEwZi50ZXh0dXJlM2RfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzMyX2JpdHMucmcxNmlfcjMyaS50ZXh0dXJlMmRfYXJyYXlfdG9fdGV4dHVyZTNk
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZzE2aV9yMzJ1aS50
ZXh0dXJlM2RfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMy
X2JpdHMucmcxNmlfcmcxNmkudGV4dHVyZTJkX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21w
cmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnMTZpX3JnMTZ1aS50ZXh0dXJlMmRfYXJyYXlfdG9f
Y3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmcxNmlf
cmcxNnVpLnRleHR1cmUyZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZp
ZXdjbGFzc18zMl9iaXRzLnJnMTZpX3JnYjEwX2EydWkudGV4dHVyZTNkX3RvX3RleHR1cmUzZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmcxNmlfcmdiOV9lNS50
ZXh0dXJlMmRfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMy
X2JpdHMucmcxNmlfcmdiYThfc25vcm0ucmVuZGVyYnVmZmVyX3RvX3RleHR1cmUyZCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1h
Z2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmcxNmlfcmdiYTh1aS5yZW5kZXJi
dWZmZXJfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2Jp
dHMucmcxNnVpX3IzMmYuY3ViZW1hcF90b190ZXh0dXJlMmRfYXJyYXkgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9j
b21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnMTZ1aV9yZ2JhOC50ZXh0dXJlMmRfdG9fY3Vi
ZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmcxNnVpX3Jn
YmE4X3Nub3JtLnJlbmRlcmJ1ZmZlcl90b190ZXh0dXJlM2QgPSBTS0lQCiA1OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYjEwX2EyX3IxMWZfZzExZl9iMTBmLnRleHR1cmUzZF90
b190ZXh0dXJlM2QgPSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJn
YjEwX2EyX3IzMmkudGV4dHVyZTJkX3RvX3RleHR1cmUyZCA9IFNLSVAKIDU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNz
ZWQudmlld2NsYXNzXzMyX2JpdHMucmdiMTBfYTJfcjMydWkucmVuZGVyYnVmZmVyX3RvX3JlbmRl
cmJ1ZmZlciA9IFNLSVAKQEAgLTUyNywyNSArMjkxLDEzIEBACiA1OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZp
ZXdjbGFzc18zMl9iaXRzLnJnYjEwX2EydWlfcmdiYThpLmN1YmVtYXBfdG9fcmVuZGVyYnVmZmVy
ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2IxMF9hMnVpX3Jn
YmE4aS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJkID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3
Y2xhc3NfMzJfYml0cy5yZ2IxMF9hMnVpX3JnYmE4dWkudGV4dHVyZTJkX3RvX3JlbmRlcmJ1ZmZl
ciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmdiOV9lNV9yMzJ1
aS50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xh
c3NfMzJfYml0cy5yZ2I5X2U1X3JnMTZ1aS50ZXh0dXJlM2RfdG9fcmVuZGVyYnVmZmVyID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9p
bWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2I5X2U1X3JnYjEwX2EydWku
dGV4dHVyZTJkX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2Ns
YXNzXzMyX2JpdHMucmdiOV9lNV9yZ2IxMF9hMnVpLnRleHR1cmUyZF90b190ZXh0dXJlMmQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5
X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYmE4X3IzMnVpLnRleHR1
cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFz
c18zMl9iaXRzLnJnYmE4X3JnMTZmLmN1YmVtYXBfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9yZzE2Zi50ZXh0dXJlMmRf
dG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmdi
YThfcmcxNnVpLnRleHR1cmUyZF9hcnJheV90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJl
c3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9yZ2IxMF9hMi5jdWJlbWFwX3RvX2N1YmVtYXAg
PSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYmE4X3JnYjEwX2Ey
dWkucmVuZGVyYnVmZmVyX3RvX2N1YmVtYXAgPSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdj
bGFzc18zMl9iaXRzLnJnYmE4X3JnYjEwX2EydWkucmVuZGVyYnVmZmVyX3RvX3JlbmRlcmJ1ZmZl
ciA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmdiYThfcmdiMTBf
YTJ1aS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52
aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9yZ2IxMF9hMnVpLnJlbmRlcmJ1ZmZlcl90b190ZXh0dXJl
M2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYmE4X3JnYmE4
LmN1YmVtYXBfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMy
X2JpdHMucmdiYThfcmdiYThfc25vcm0uY3ViZW1hcF90b190ZXh0dXJlMmRfYXJyYXkgPSBTS0lQ
CiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYmE4X3JnYmE4X3Nub3JtLnJl
bmRlcmJ1ZmZlcl90b19jdWJlbWFwID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3Nf
MzJfYml0cy5yZ2JhOF9yZ2JhOF9zbm9ybS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkX2FycmF5
ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9yZ2JhOF9z
bm9ybS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52
aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9yZ2JhOF9zbm9ybS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJk
X2FycmF5ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOF9y
Z2JhOGkucmVuZGVyYnVmZmVyX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKIDU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNz
ZWQudmlld2NsYXNzXzMyX2JpdHMucmdiYThfcmdiYTh1aS5yZW5kZXJidWZmZXJfdG9fY3ViZW1h
cCA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMucmdiYThfcmdiYTh1
aS5yZW5kZXJidWZmZXJfdG9fcmVuZGVyYnVmZmVyID0gU0tJUApAQCAtNTg4LDc1NyArMzQwLDQ1
IEBACiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5
X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnJnYmE4dWlfcmdiYThpLnRl
eHR1cmUyZF9hcnJheV90b190ZXh0dXJlM2QgPSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdj
bGFzc18zMl9iaXRzLnJnYmE4dWlfcmdiYThpLnRleHR1cmUzZF90b19jdWJlbWFwID0gU0tJUAog
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5yZ2JhOHVpX3JnYmE4dWkucmVuZGVy
YnVmZmVyX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9i
aXRzLnNyZ2I4X2FscGhhOF9yMzJpLmN1YmVtYXBfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5u
b25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcjMydWkuY3ViZW1h
cF90b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9i
aXRzLnNyZ2I4X2FscGhhOF9yMzJ1aS50ZXh0dXJlM2RfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcjMydWkudGV4
dHVyZTNkX3RvX3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMy
X2JpdHMuc3JnYjhfYWxwaGE4X3JnMTZpLnJlbmRlcmJ1ZmZlcl90b190ZXh0dXJlMmQgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2lt
YWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnNyZ2I4X2FscGhhOF9yZ2IxMF9h
Mi50ZXh0dXJlMmRfYXJyYXlfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3Nl
ZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiMTBfYTJ1aS5yZW5kZXJidWZmZXJf
dG9fcmVuZGVyYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0
cy5zcmdiOF9hbHBoYThfcmdiMTBfYTJ1aS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkX2FycmF5
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThf
cmdiYTguY3ViZW1hcF90b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZp
ZXdjbGFzc18zMl9iaXRzLnNyZ2I4X2FscGhhOF9yZ2JhOC5jdWJlbWFwX3RvX3RleHR1cmUyZCA9
IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMuc3JnYjhfYWxwaGE4X3Jn
YmE4X3Nub3JtLnJlbmRlcmJ1ZmZlcl90b19jdWJlbWFwID0gU0tJUAogNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3Nl
ZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiYThfc25vcm0ucmVuZGVyYnVmZmVy
X3RvX3RleHR1cmUyZCA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMu
c3JnYjhfYWxwaGE4X3JnYmE4X3Nub3JtLnJlbmRlcmJ1ZmZlcl90b190ZXh0dXJlMmRfYXJyYXkg
PSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc18zMl9iaXRzLnNyZ2I4X2FscGhhOF9y
Z2JhOF9zbm9ybS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJl
c3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiYThfc25vcm0udGV4dHVyZTNk
X3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMu
c3JnYjhfYWxwaGE4X3JnYmE4aS5jdWJlbWFwX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKKzU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9u
X2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMuc3JnYjhfYWxwaGE4X3JnYjEwX2EydWkucmVu
ZGVyYnVmZmVyX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKKzU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2Ns
YXNzXzMyX2JpdHMuc3JnYjhfYWxwaGE4X3JnYjEwX2EydWkucmVuZGVyYnVmZmVyX3RvX3RleHR1
cmUyZF9hcnJheSA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzMyX2JpdHMuc3Jn
YjhfYWxwaGE4X3JnYmE4aS5yZW5kZXJidWZmZXJfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAogNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5u
b25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiYTh1aS5yZW5k
ZXJidWZmZXJfdG9fcmVuZGVyYnVmZmVyID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xh
c3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiYTh1aS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJk
ID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
Y29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThf
cmdiYTh1aS5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkX2FycmF5ID0gU0tJUAogNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29t
cHJlc3NlZC52aWV3Y2xhc3NfMzJfYml0cy5zcmdiOF9hbHBoYThfcmdiYTh1aS50ZXh0dXJlMmRf
dG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfNDhfYml0cy5y
Z2IxNmZfcmdiMTZmLnRleHR1cmUyZF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVz
c2VkLnZpZXdjbGFzc180OF9iaXRzLnJnYjE2Zl9yZ2IxNmkuY3ViZW1hcF90b190ZXh0dXJlMmQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc180OF9iaXRzLnJnYjE2dWlfcmdiMTZ1
aS50ZXh0dXJlMmRfdG9fdGV4dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xh
c3NfNjRfYml0cy5yZzMyZl9yZzMydWkudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUzZCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlf
aW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzY0X2JpdHMucmczMmZfcmdiYTE2aS50ZXh0
dXJlM2RfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfNjRf
Yml0cy5yZzMyaV9yZzMyZi5yZW5kZXJidWZmZXJfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25f
Y29tcHJlc3NlZC52aWV3Y2xhc3NfNjRfYml0cy5yZzMyaV9yZ2JhMTZ1aS5jdWJlbWFwX3RvX3Rl
eHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzY0X2JpdHMucmczMnVp
X3JnMzJ1aS5jdWJlbWFwX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmll
d2NsYXNzXzY0X2JpdHMucmczMnVpX3JnYmExNnVpLmN1YmVtYXBfdG9fdGV4dHVyZTJkID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9p
bWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfNjRfYml0cy5yZzMydWlfcmdiYTE2dWkudGV4
dHVyZTJkX3RvX3RleHR1cmUzZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzY0
X2JpdHMucmdiYTE2Zl9yZ2JhMTZpLnRleHR1cmUyZF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5v
bl9jb21wcmVzc2VkLnZpZXdjbGFzc182NF9iaXRzLnJnYmExNmlfcmczMmYudGV4dHVyZTJkX3Rv
X3RleHR1cmUyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzY0X2JpdHMucmdi
YTE2aV9yZzMyaS50ZXh0dXJlMmRfdG9fdGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3Nl
ZC52aWV3Y2xhc3NfNjRfYml0cy5yZ2JhMTZpX3JnYmExNmYudGV4dHVyZTJkX2FycmF5X3RvX2N1
YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc182NF9iaXRzLnJnYmExNmlf
cmdiYTE2dWkuY3ViZW1hcF90b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2Vk
LnZpZXdjbGFzc182NF9iaXRzLnJnYmExNmlfcmdiYTE2dWkudGV4dHVyZTNkX3RvX3RleHR1cmUy
ZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzY0X2JpdHMucmdiYTE2dWlfcmcz
MmkucmVuZGVyYnVmZmVyX3RvX3JlbmRlcmJ1ZmZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzY0X2JpdHMucmdiYTE2dWlfcmczMnVpLnJlbmRlcmJ1ZmZlcl90b19yZW5kZXJi
dWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc182NF9iaXRzLnJnYmExNnVp
X3JnYmExNmkuY3ViZW1hcF90b19yZW5kZXJidWZmZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2Vk
LnZpZXdjbGFzc182NF9iaXRzLnJnYmExNnVpX3JnYmExNmkuY3ViZW1hcF90b190ZXh0dXJlMmQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5j
b3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc184X2JpdHMucjhfcjgucmVuZGVyYnVm
ZmVyX3RvX2N1YmVtYXAgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc184X2JpdHMu
cjhfcjgudGV4dHVyZTJkX2FycmF5X3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2Nv
bXByZXNzZWQudmlld2NsYXNzXzhfYml0cy5yOF9yOF9zbm9ybS50ZXh0dXJlMmRfYXJyYXlfdG9f
dGV4dHVyZTJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfOF9iaXRzLnI4X3I4
dWkudGV4dHVyZTNkX3RvX3RleHR1cmUyZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzhfYml0cy5yOF9zbm9ybV9yOF9zbm9ybS50ZXh0dXJlMmRfYXJyYXlfdG9fdGV4
dHVyZTNkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfOF9iaXRzLnI4X3Nub3Jt
X3I4aS50ZXh0dXJlMmRfYXJyYXlfdG9fY3ViZW1hcCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNvcHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQu
dmlld2NsYXNzXzhfYml0cy5yOGlfcjhfc25vcm0ucmVuZGVyYnVmZmVyX3RvX3RleHR1cmUzZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmNv
cHlfaW1hZ2Uubm9uX2NvbXByZXNzZWQudmlld2NsYXNzXzhfYml0cy5yOGlfcjhpLnRleHR1cmUy
ZF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfOF9iaXRzLnI4
dWlfcjguY3ViZW1hcF90b19jdWJlbWFwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFnZS5ub25fY29tcHJlc3NlZC52aWV3Y2xh
c3NfOTZfYml0cy5yZ2IzMmZfcmdiMzJ1aS50ZXh0dXJlM2RfdG9fdGV4dHVyZTJkID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuY29weV9pbWFn
ZS5ub25fY29tcHJlc3NlZC52aWV3Y2xhc3NfOTZfYml0cy5yZ2IzMmlfcmdiMzJpLnRleHR1cmUy
ZF90b190ZXh0dXJlM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5jb3B5X2ltYWdlLm5vbl9jb21wcmVzc2VkLnZpZXdjbGFzc185Nl9iaXRz
LnJnYjMydWlfcmdiMzJmLnRleHR1cmUyZF90b190ZXh0dXJlMmQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3Zl
cmFnZS5jYWxsYmFja3MuYnVmZmVyLmZyYW1lYnVmZmVyX3RleHR1cmVfbGF5ZXIgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdh
dGl2ZV9jb3ZlcmFnZS5jYWxsYmFja3MuYnVmZmVyLmdlbl9yZW5kZXJidWZmZXJzID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVn
YXRpdmVfY292ZXJhZ2UuY2FsbGJhY2tzLmNvbXB1dGUuZXhjZWVkX2F0b21pY19jb3VudGVyX2J1
ZmZlcl9saW1pdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNrcy5zaGFkZXIucmVzdW1l
X3RyYW5zZm9ybV9mZWVkYmFjayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNrcy5zaGFk
ZXJfZGlyZWN0aXZlLmFjY2Vzc2luZ19ib3VuZGluZ19ib3hfdHlwZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2Nv
dmVyYWdlLmNhbGxiYWNrcy5zaGFkZXJfZGlyZWN0aXZlLnNoYWRlcl9pbWFnZV9hdG9taWMgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1
Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5jYWxsYmFja3Muc2hhZGVyX2Z1bmN0aW9uLmJpdGZpZWxkX2V4
dHJhY3RfaW52YWxpZF9vZmZzZXRfdHlwZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNr
cy5zaGFkZXJfZnVuY3Rpb24uZW1pdF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5jYWxs
YmFja3Muc2hhZGVyX2Z1bmN0aW9uLnRleHR1cmVfZ2F0aGVyX29mZnNldHMgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2
ZV9jb3ZlcmFnZS5jYWxsYmFja3Muc2hhZGVyX2Z1bmN0aW9uLnRleHR1cmVfaW52YWxpZF9iaWFz
X29yX2NvbXBhcmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5jYWxsYmFja3Muc3RhdGUuZGlzYWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNrcy50ZXNzZWxsYXRpb24uaW52YWxpZF9w
cmltaXRpdmVfbW9kZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmNhbGxiYWNrcy50ZXh0dXJlLmNv
bXByZXNzZWR0ZXhpbWFnZTNkX2ludmFsaWRfYm9yZGVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2Uu
Y2FsbGJhY2tzLnRleHR1cmUuY29tcHJlc3NlZHRleHN1YmltYWdlM2RfbmVnX2xldmVsID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcu
bmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9yLmJ1ZmZlci5jbGVhcl9idWZmZXJmdiA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5l
Z2F0aXZlX2NvdmVyYWdlLmdldF9lcnJvci5zaGFkZXIuYmluZF90cmFuc2Zvcm1fZmVlZGJhY2sg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5k
ZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3Iuc2hhZGVyLnNhbXBsZXJfcGFyYW1ldGVy
aSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmdldF9lcnJvci5zaGFkZXIuc2hhZGVyX3NvdXJjZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRl
YnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmdldF9lcnJvci5zaGFkZXJfZnVuY3Rpb24udGV4dHVyZV9s
b2RfaW52YWxpZF9sb2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3Iuc2hhZGVyX2lt
YWdlX2V4Y2hhbmdlLmJ1ZmZlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmdldF9lcnJvci5zaGFk
ZXJfaW1hZ2VfbG9hZC5jdWJlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9yLnNoYWRl
cl9pbWFnZV9zdG9yZS5jdWJlX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9y
LnN0YXRlLmRpc2FibGVpID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9yLnN0YXRlLmdl
dF9zeW5jaXYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3IudGV4dHVyZS5jb21wcmVz
c2VkdGV4c3ViaW1hZ2UzZF9pbnZhbGlkX3NpemUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRf
ZXJyb3IudGV4dHVyZS50ZXhwYXJhbWV0ZXJpID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vy
cm9yLnZlcnRleF9hcnJheS5kcmF3X2VsZW1lbnRzX2luY29tcGxldGVfcHJpbWl0aXZlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcu
bmVnYXRpdmVfY292ZXJhZ2UuZ2V0X2Vycm9yLnZlcnRleF9hcnJheS5kcmF3X2VsZW1lbnRzX2lu
c3RhbmNlZF9pbnZhbGlkX3Byb2dyYW0gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5nZXRfZXJyb3Iu
dmVydGV4X2FycmF5LnZlcnRleF9hdHRyaWJmdiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmxvZy5i
dWZmZXIuY2xlYXJfYnVmZmVyaXYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5sb2cuc2hhZGVyLmRl
bGV0ZV90cmFuc2Zvcm1fZmVlZGJhY2tzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcubmVnYXRpdmVfY292ZXJhZ2UubG9nLnNoYWRl
ci51bmlmb3JtX21hdHJpeGZ2X2ludmFsaWRfbG9jYXRpb24gPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFn
ZS5sb2cuc2hhZGVyX2Z1bmN0aW9uLmF0b21pY19taW4gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5s
b2cuc2hhZGVyX2ltYWdlX2xvYWQuY3ViZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmxvZy5zdGF0
ZS5nZXRfYWN0aXZlX3VuaWZvcm0gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5uZWdhdGl2ZV9jb3ZlcmFnZS5sb2cuc3RhdGUuZ2V0
X3RleF9wYXJhbWV0ZXJpdiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVyYWdlLmxvZy50ZXh0dXJlLmNvbXBy
ZXNzZWR0ZXhpbWFnZTJkX2ludmFsaWRfYnVmZmVyX3RhcmdldCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5lZ2F0aXZlX2NvdmVy
YWdlLmxvZy50ZXh0dXJlLnRleGltYWdlM2RfbWF4X3dpZHRoX2hlaWdodF9kZXB0aCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRlYnVnLm5l
Z2F0aXZlX2NvdmVyYWdlLmxvZy50ZXh0dXJlLnRleHN1YmltYWdlM2RfbmVnX2xldmVsID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZGVidWcu
b2JqZWN0X2xhYmVscy5zaGFkZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5kZWJ1Zy5zdGF0ZV9xdWVyeS5kZWJ1Z19sb2dnZWRfbWVzc2Fn
ZXNfZ2V0aW50ZWdlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLmRyYXdfYmFzZV92ZXJ0ZXguZHJhd19lbGVtZW50c19iYXNlX3ZlcnRleC5i
YXNlX3ZlcnRleC5pbmRleF9uZWdfYnl0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRyYXdfYmFzZV92ZXJ0ZXguZHJhd19lbGVtZW50c19i
YXNlX3ZlcnRleC5saW5lcy5zaW5nbGVfYXR0cmlidXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZHJhd19iYXNlX3ZlcnRleC5kcmF3X3Jh
bmdlX2VsZW1lbnRzX2Jhc2VfdmVydGV4LmxpbmVfbG9vcC5kZWZhdWx0X2F0dHJpYnV0ZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmRyYXdf
aW5kaXJlY3QuY29tcHV0ZV9pbnRlcm9wLmxhcmdlLmRyYXdlbGVtZW50c19jb21iaW5lZF9ncmlk
XzEwMHgxMDBfZHJhd2NvdW50XzggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5kcmF3X2luZGlyZWN0LmNvbXB1dGVfaW50ZXJvcC5sYXJnZS5k
cmF3ZWxlbWVudHNfc2VwYXJhdGVfZ3JpZF81MDB4NTAwX2RyYXdjb3VudF8xID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZHJhd19pbmRpcmVj
dC5kcmF3X2FycmF5c19pbmRpcmVjdC50cmlhbmdsZXMuc2luZ2xlX2F0dHJpYnV0ZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmZiby5jb2xv
ci50ZXhjdWJlYXJyYXkucjExZl9nMTFmX2IxMGYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5mYm8uY29sb3IudGV4Y3ViZWFycmF5LnIxNmYg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5m
Ym8uY29sb3IudGV4Y3ViZWFycmF5LnJnYmE0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hhZGluZy5iYXNpYy5vdXRwdXRf
bWF4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuZ2VvbWV0cnlfc2hhZGluZy5iYXNpYy5wcmltaXRpdmVfaWQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFkaW5nLmlu
cHV0LmJhc2ljX3ByaW1pdGl2ZS5saW5lX3N0cmlwID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2VvbWV0cnlfc2hhZGluZy5pbnB1dC5iYXNp
Y19wcmltaXRpdmUubGluZV9zdHJpcF9hZGphY2VuY3kgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFkaW5nLmxheWVyZWQu
cmVuZGVyX3RvX29uZV8yZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLmdlb21ldHJ5X3NoYWRpbmcubmVnYXRpdmUudHlwZV90cmlh
bmdsZXNfYWRqYWNlbmN5X3ByaW1pdGl2ZV9saW5lcyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmdlb21ldHJ5X3NoYWRpbmcubmVnYXRpdmUu
dHlwZV90cmlhbmdsZXNfYWRqYWNlbmN5X3ByaW1pdGl2ZV90cmlhbmdsZXMgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFk
aW5nLm5lZ2F0aXZlLnR5cGVfdHJpYW5nbGVzX3ByaW1pdGl2ZV9saW5lX3N0cmlwX2FkamFjZW5j
eSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
Lmdlb21ldHJ5X3NoYWRpbmcucXVlcnkubWF4X2dlb21ldHJ5X3RleHR1cmVfaW1hZ2VfdW5pdHMg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5n
ZW9tZXRyeV9zaGFkaW5nLnZlcnRleF90cmFuc2Zvcm1fZmVlZGJhY2suY2FwdHVyZV92ZXJ0ZXhf
ZHJhd19lbGVtZW50c19pbnN0YW5jZWQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjJkLmF0b21pYy5hZGRfcjMy
aV9yZXN1bHQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjJkLmxvYWRfc3RvcmUucjMyaSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmltYWdlX2xvYWRfc3Rv
cmUuMmRfYXJyYXkuYXRvbWljLm1heF9yMzJ1aV9yZXN1bHQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjJkX2Fy
cmF5LmZvcm1hdF9yZWludGVycHJldC5yMzJmX3IzMmkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjJkX2FycmF5
LmZvcm1hdF9yZWludGVycHJldC5yMzJpX3IzMmYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjJkX2FycmF5LmZv
cm1hdF9yZWludGVycHJldC5yZ2JhOF9yZ2JhOF9zbm9ybSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmltYWdlX2xvYWRfc3RvcmUuMmRfYXJy
YXkuZm9ybWF0X3JlaW50ZXJwcmV0LnJnYmE4dWlfcmdiYThpID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuaW1hZ2VfbG9hZF9zdG9yZS4zZC5h
dG9taWMubWF4X3IzMnVpX3JldHVybl92YWx1ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmltYWdlX2xvYWRfc3RvcmUuM2QuYXRvbWljLnhv
cl9yMzJ1aV9yZXN1bHQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjNkLmZvcm1hdF9yZWludGVycHJldC5yZ2Jh
MTZpX3JnYmExNmYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLjNkLnN0b3JlLnJnYmE4X3Nub3JtID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuaW1hZ2VfbG9h
ZF9zdG9yZS5idWZmZXIuYXRvbWljLmFkZF9yMzJpX3Jlc3VsdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmltYWdlX2xvYWRfc3RvcmUuYnVm
ZmVyLmF0b21pYy5tYXhfcjMydWlfcmVzdWx0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuaW1hZ2VfbG9hZF9zdG9yZS5idWZmZXIuZm9ybWF0
X3JlaW50ZXJwcmV0LnJnYmE4X3IzMmYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLmJ1ZmZlci5xdWFsaWZpZXJz
LnZvbGF0aWxlX3IzMmkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLmN1YmUuZm9ybWF0X3JlaW50ZXJwcmV0LnIz
MmZfcjMydWkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5pbWFnZV9sb2FkX3N0b3JlLmN1YmUuZm9ybWF0X3JlaW50ZXJwcmV0LnIzMnVpX3Jn
YmE4X3Nub3JtID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuaW1hZ2VfbG9hZF9zdG9yZS5jdWJlLmZvcm1hdF9yZWludGVycHJldC5yZ2JhMzJ1
aV9yZ2JhMzJmID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuaW1hZ2VfbG9hZF9zdG9yZS5jdWJlLmxvYWRfc3RvcmUucmdiYTMydWkgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5pbWFnZV9s
b2FkX3N0b3JlLmN1YmUuc3RvcmUucmdiYTMyZl9zaW5nbGVfbGF5ZXIgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5sYXlvdXRfYmluZGluZy5u
ZWdhdGl2ZS5pbWFnZS5pbWFnZTNkLmZyYWdtZW50X2JpbmRpbmdfbmVnX2FycmF5ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJpbWl0aXZl
X2JvdW5kaW5nX2JveC5saW5lcy5nbG9iYWxfc3RhdGUudmVydGV4X2dlb21ldHJ5X2ZyYWdtZW50
LmRlZmF1bHRfZnJhbWVidWZmZXJfYmJveF9zbWFsbGVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJpbWl0aXZlX2JvdW5kaW5nX2JveC5s
aW5lcy5nbG9iYWxfc3RhdGUudmVydGV4X3Rlc3NlbGxhdGlvbl9mcmFnbWVudC5mYm9fYmJveF9s
YXJnZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcmltaXRpdmVfYm91bmRpbmdfYm94LmxpbmVzLnRlc3NlbGxhdGlvbl9zZXRfcGVyX3By
aW1pdGl2ZS52ZXJ0ZXhfdGVzc2VsbGF0aW9uX2dlb21ldHJ5X2ZyYWdtZW50LmZibyA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByaW1pdGl2
ZV9ib3VuZGluZ19ib3gucG9pbnRzLnRlc3NlbGxhdGlvbl9zZXRfcGVyX2RyYXcudmVydGV4X3Rl
c3NlbGxhdGlvbl9nZW9tZXRyeV9mcmFnbWVudC5mYm9fYmJveF9sYXJnZXIgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcmltaXRpdmVfYm91
bmRpbmdfYm94LndpZGVfbGluZXMuZ2xvYmFsX3N0YXRlLnZlcnRleF90ZXNzZWxsYXRpb25fZnJh
Z21lbnQuZmJvX2Jib3hfbGFyZ2VyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuYXRvbWljX2NvdW50
ZXJfYnVmZmVyLnJlZmVyZW5jZWRfYnlfdmVydGV4X3Rlc3NfZ2VvX2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9p
bnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLmFycmF5X3NpemUubmFtZWRfYmxvY2suc2l6
ZWQuYWdncmVnYXRlcy5pdmVjMl9hcnJheV9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5i
dWZmZXJfdmFyaWFibGUuYXJyYXlfc2l6ZS5uYW1lZF9ibG9jay5zaXplZC5hZ2dyZWdhdGVzLnZl
YzRfYXJyYXlfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFibGUuYXJy
YXlfc2l6ZS5uYW1lZF9ibG9jay5zaXplZC5hZ2dyZWdhdGVzLnZlYzRfc3RydWN0X3N0cnVjdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnBy
b2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5hcnJheV9zdHJpZGUuYmxvY2tf
YXJyYXkudW5zaXplZC5idmVjM19hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92
YXJpYWJsZS5hcnJheV9zdHJpZGUubmFtZWRfYmxvY2suc2l6ZWQuYWdncmVnYXRlcy5mbG9hdF9z
dHJ1Y3RfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFibGUuYXJyYXlf
c3RyaWRlLm5hbWVkX2Jsb2NrLnNpemVkLnR5cGVzLmZsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVl
cnkuYnVmZmVyX3ZhcmlhYmxlLmFycmF5X3N0cmlkZS51bm5hbWVkX2Jsb2NrLnVuc2l6ZWQudmVj
NF9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFibGUuaXNfcm93X21h
am9yLnVubmFtZWRfYmxvY2tfY29sX21ham9yLmNvbHVtbl9tYWpvci52YXJfdW5zaXplZF9hcnJh
eSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5pc19yb3dfbWFqb3IudW5u
YW1lZF9ibG9ja19yb3dfbWFqb3Iucm93X21ham9yLnZhcl91bnNpemVkX2FycmF5ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9p
bnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLm1hdHJpeF9zdHJpZGUubmFtZWRfYmxvY2su
Y29sdW1uX21ham9yLnZhcl9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFy
aWFibGUubWF0cml4X3N0cmlkZS5uYW1lZF9ibG9jay5yb3dfbWFqb3IudmFyX2FycmF5ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3Jh
bV9pbnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLm1hdHJpeF9zdHJpZGUubmFtZWRfYmxv
Y2tfY29sX21ham9yLmNvbHVtbl9tYWpvci52YXJfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVy
eS5idWZmZXJfdmFyaWFibGUubWF0cml4X3N0cmlkZS5uYW1lZF9ibG9ja19yb3dfbWFqb3Iucm93
X21ham9yLnZhcl9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5t
YXRyaXhfc3RyaWRlLnVubmFtZWRfYmxvY2tfY29sX21ham9yLm5vX3F1YWxpZmllci52YXIgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9n
cmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFibGUubWF0cml4X3N0cmlkZS51bm5hbWVk
X2Jsb2NrX2NvbF9tYWpvci5yb3dfbWFqb3IudmFyX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVl
cnkuYnVmZmVyX3ZhcmlhYmxlLm1hdHJpeF9zdHJpZGUudW5uYW1lZF9ibG9ja19yb3dfbWFqb3Iu
Y29sdW1uX21ham9yLnZhciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5u
YW1lX2xlbmd0aC5uYW1lZF9ibG9jay51bnNpemVkLnZhcl9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFj
ZV9xdWVyeS5idWZmZXJfdmFyaWFibGUub2Zmc2V0LmJsb2NrX2FycmF5LnNpemVkLnZhcl9zdHJ1
Y3Rfc3RydWN0X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLm9m
ZnNldC5uYW1lZF9ibG9jay51bnNpemVkLnZhcl9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5
LmJ1ZmZlcl92YXJpYWJsZS5yYW5kb20uMTkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJf
dmFyaWFibGUucmFuZG9tLjM5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxl
LnJhbmRvbS41OSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5yYW5kb20u
NzkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFibGUucmVmZXJlbmNlZF9ieS5z
ZXBhcmFibGVfZ2VvbWV0cnkuYmxvY2tfYXJyYXkuZmxvYXRfYXJyYXkgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFj
ZV9xdWVyeS5idWZmZXJfdmFyaWFibGUucmVmZXJlbmNlZF9ieS5zZXBhcmFibGVfdGVzc19ldmFs
Lm5hbWVkX2Jsb2NrLmZsb2F0X3N0cnVjdF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1
ZmZlcl92YXJpYWJsZS5yZWZlcmVuY2VkX2J5LnNlcGFyYWJsZV92ZXJ0ZXgudW5uYW1lZF9ibG9j
ay5mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS5yZWZlcmVuY2Vk
X2J5LnZlcnRleF9nZW9fZnJhZ21lbnRfb25seV9mcmFnbWVudC51bm5hbWVkX2Jsb2NrLmZsb2F0
X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLnJlZmVyZW5jZWRf
YnkudmVydGV4X3Rlc3NfZ2VvX2ZyYWdtZW50LmJsb2NrX2FycmF5LmZsb2F0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRl
cmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLnJlZmVyZW5jZWRfYnkudmVydGV4X3Rlc3NfZ2Vv
X2ZyYWdtZW50X29ubHlfdmVydGV4Lm5hbWVkX2Jsb2NrLmZsb2F0X2FycmF5ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRl
cmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLnJlc291cmNlX2xpc3QuYmxvY2tfYXJyYXkudmFy
X2FycmF5X3N0cnVjdF9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZmZXJfdmFyaWFi
bGUudG9wX2xldmVsX2FycmF5X3NpemUudW5uYW1lZF9ibG9jay52YXJfc3RydWN0X3N0cnVjdF9h
cnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS50b3BfbGV2ZWxfYXJy
YXlfc3RyaWRlLmJsb2NrX2FycmF5LnZhcl9zdHJ1Y3RfYXJyYXlfc3RydWN0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRl
cmZhY2VfcXVlcnkuYnVmZmVyX3ZhcmlhYmxlLnRvcF9sZXZlbF9hcnJheV9zdHJpZGUubmFtZWRf
YmxvY2sudmFyX3N0cnVjdF9hcnJheV9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5idWZm
ZXJfdmFyaWFibGUudHlwZS5hcnJheS5hcnJheS5iYXNpY190eXBlLmludCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJm
YWNlX3F1ZXJ5LmJ1ZmZlcl92YXJpYWJsZS50eXBlLmJhc2ljX3R5cGUubWF0MyA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnByb2dyYW1faW5wdXQubG9jYXRpb24uaW50ZXJmYWNlX2Jsb2Nrcy5pbi5u
YW1lZF9ibG9jay52YXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0LmxvY2F0
aW9uLmludGVyZmFjZV9ibG9ja3MuaW4ubmFtZWRfYmxvY2tfZXhwbGljaXRfbG9jYXRpb24udmFy
X2FycmF5X2V4cGxpY2l0X2xvY2F0aW9uID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9p
bnB1dC5sb2NhdGlvbi5pbnRlcmZhY2VfYmxvY2tzLnBhdGNoX2luLmJsb2NrX2FycmF5LnZhcl9z
dHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0LmxvY2F0aW9uLnNlcGFy
YWJsZV92ZXJ0ZXgudmFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9pbnB1dC5uYW1l
X2xlbmd0aC5pbnRlcmZhY2VfYmxvY2tzLnBhdGNoX2luLnVubmFtZWRfYmxvY2sudmFyID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3Jh
bV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9pbnB1dC50eXBlLmludGVyZmFjZV9ibG9ja3MucGF0
Y2hfaW4ubmFtZWRfYmxvY2suYXJyYXkuaXZlYzIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9n
cmFtX2lucHV0LnR5cGUuaW50ZXJmYWNlX2Jsb2Nrcy5wYXRjaF9pbi5uYW1lZF9ibG9ja19leHBs
aWNpdF9sb2NhdGlvbi5hcnJheS52ZWMzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9p
bnB1dC50eXBlLmludGVyZmFjZV9ibG9ja3MucGF0Y2hfaW4udW5uYW1lZF9ibG9jay5hcnJheS51
aW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9pbnB1dC50eXBlLnNlcGFyYWJsZV9m
cmFnbWVudC5hcnJheS5pbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0LnR5
cGUuc2VwYXJhYmxlX2ZyYWdtZW50LmFycmF5LnZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5w
cm9ncmFtX2lucHV0LnR5cGUuc2VwYXJhYmxlX2ZyYWdtZW50LmJhc2ljX3R5cGUuaXZlYzIgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9n
cmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0LnR5cGUuc2VwYXJhYmxlX2ZyYWdtZW50
LmJhc2ljX3R5cGUudXZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX2lucHV0LnR5
cGUuc2VwYXJhYmxlX2ZyYWdtZW50LnN0cnVjdC5mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5
LnByb2dyYW1faW5wdXQudHlwZS5zZXBhcmFibGVfdGVzc19jdHJsLm1hdDR4MyA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnByb2dyYW1faW5wdXQudHlwZS5zZXBhcmFibGVfdGVzc19ldmFsLmJhc2lj
X3R5cGUubWF0NHgyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9pbnB1dC50eXBlLnNl
cGFyYWJsZV90ZXNzX2V2YWwucGF0Y2hfdmFyX2FycmF5LnZlYzMgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9x
dWVyeS5wcm9ncmFtX2lucHV0LnR5cGUudmVydGV4X2ZyYWdtZW50LnZlYzMgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVy
ZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC5sb2NhdGlvbi5pbnRlcmZhY2VfYmxvY2tzLnBhdGNo
X291dC51bm5hbWVkX2Jsb2NrLnZhcl9hcnJheV9leHBsaWNpdF9sb2NhdGlvbiA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnByb2dyYW1fb3V0cHV0LmxvY2F0aW9uLnNlcGFyYWJsZV90ZXNzX2V2YWwu
dmFyX2FycmF5X2V4cGxpY2l0X2xvY2F0aW9uID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3Jh
bV9vdXRwdXQubG9jYXRpb24uc2VwYXJhYmxlX3Rlc3NfZXZhbC52YXJfZXhwbGljaXRfbG9jYXRp
b24gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC5sb2NhdGlvbi5zZXBhcmFi
bGVfdmVydGV4LnZhcl9zdHJ1Y3RfZXhwbGljaXRfbG9jYXRpb24gPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9x
dWVyeS5wcm9ncmFtX291dHB1dC5sb2NhdGlvbi52ZXJ0ZXhfZnJhZ21lbnQudmFyX2FycmF5X2V4
cGxpY2l0X2xvY2F0aW9uID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9vdXRwdXQubmFt
ZV9sZW5ndGguc2VwYXJhYmxlX3Rlc3NfY3RybC52YXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5w
cm9ncmFtX291dHB1dC5yZXNvdXJjZV9saXN0LnNlcGFyYWJsZV9nZW9tZXRyeS52YXJfc3RydWN0
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
cHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9vdXRwdXQucmVzb3VyY2VfbGlzdC52ZXJ0
ZXhfZnJhZ21lbnQudmFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3JhbV9vdXRwdXQudHlw
ZS5pbnRlcmZhY2VfYmxvY2tzLm91dC5uYW1lZF9ibG9jay5hcnJheS5tYXQzeDIgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2lu
dGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC50eXBlLmludGVyZmFjZV9ibG9ja3Mub3V0Lm5h
bWVkX2Jsb2NrX2V4cGxpY2l0X2xvY2F0aW9uLmFycmF5LnV2ZWM0ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2Vf
cXVlcnkucHJvZ3JhbV9vdXRwdXQudHlwZS5pbnRlcmZhY2VfYmxvY2tzLnBhdGNoX291dC51bm5h
bWVkX2Jsb2NrLmJhc2ljX3R5cGUudmVjMyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnByb2dyYW1f
b3V0cHV0LnR5cGUuc2VwYXJhYmxlX2ZyYWdtZW50LmFycmF5LmludCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNl
X3F1ZXJ5LnByb2dyYW1fb3V0cHV0LnR5cGUuc2VwYXJhYmxlX2ZyYWdtZW50LmJhc2ljX3R5cGUu
dXZlYzIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC50eXBlLnNlcGFyYWJs
ZV90ZXNzX2N0cmwucGF0Y2hfdmFyLml2ZWMyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkucHJvZ3Jh
bV9vdXRwdXQudHlwZS5zZXBhcmFibGVfdGVzc19ldmFsLnN0cnVjdC5pdmVjMiA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnByb2dyYW1fb3V0cHV0LnR5cGUuc2VwYXJhYmxlX3ZlcnRleC5hcnJheS5t
YXQzeDIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC50eXBlLnNlcGFyYWJs
ZV92ZXJ0ZXguYmFzaWNfdHlwZS5pbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291
dHB1dC50eXBlLnNlcGFyYWJsZV92ZXJ0ZXguc3RydWN0Lm1hdDR4MyA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNl
X3F1ZXJ5LnByb2dyYW1fb3V0cHV0LnR5cGUuc2VwYXJhYmxlX3ZlcnRleC5zdHJ1Y3QudXZlYzMg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5w
cm9ncmFtX2ludGVyZmFjZV9xdWVyeS5wcm9ncmFtX291dHB1dC50eXBlLnZlcnRleF9mcmFnbWVu
dC5iYXNpY190eXBlLnZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS5zaGFkZXJfc3RvcmFnZV9i
bG9jay5yZWZlcmVuY2VkX2J5LnNlcGFyYWJsZV9nZW9tZXRyeS5uYW1lZF9ibG9jayA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1f
aW50ZXJmYWNlX3F1ZXJ5LnNoYWRlcl9zdG9yYWdlX2Jsb2NrLnJlZmVyZW5jZWRfYnkudmVydGV4
X3Rlc3NfZnJhZ21lbnRfb25seV9mcmFnbWVudC5ibG9ja19hcnJheSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNl
X3F1ZXJ5LnRyYW5zZm9ybV9mZWVkYmFja192YXJ5aW5nLm5hbWVfbGVuZ3RoLnZlcnRleF9mcmFn
bWVudC5kZWZhdWx0X2Jsb2NrX3N0cnVjdF9tZW1iZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50
cmFuc2Zvcm1fZmVlZGJhY2tfdmFyeWluZy5uYW1lX2xlbmd0aC52ZXJ0ZXhfdGVzc19mcmFnbWVu
dC5kZWZhdWx0X2Jsb2NrX3N0cnVjdF9tZW1iZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50cmFu
c2Zvcm1fZmVlZGJhY2tfdmFyeWluZy50eXBlLnNlcGFyYWJsZV9nZW9tZXRyeS5zdHJ1Y3QuaXZl
YzMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50cmFuc2Zvcm1fZmVlZGJhY2tfdmFyeWluZy50eXBl
LnNlcGFyYWJsZV92ZXJ0ZXguYXJyYXkudXZlYzIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS50cmFu
c2Zvcm1fZmVlZGJhY2tfdmFyeWluZy50eXBlLnNlcGFyYWJsZV92ZXJ0ZXguc3RydWN0Lml2ZWMz
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
cHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudHJhbnNmb3JtX2ZlZWRiYWNrX3ZhcnlpbmcudHlwZS5z
ZXBhcmFibGVfdmVydGV4LnN0cnVjdC5tYXQzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudHJhbnNm
b3JtX2ZlZWRiYWNrX3ZhcnlpbmcudHlwZS52ZXJ0ZXhfZnJhZ21lbnQuYmFzaWNfdHlwZS51aW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
cHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudHJhbnNmb3JtX2ZlZWRiYWNrX3ZhcnlpbmcudHlwZS52
ZXJ0ZXhfZ2VvX2ZyYWdtZW50LmFycmF5LmludCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnRyYW5z
Zm9ybV9mZWVkYmFja192YXJ5aW5nLnR5cGUudmVydGV4X2dlb19mcmFnbWVudC5hcnJheS51dmVj
MiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnRyYW5zZm9ybV9mZWVkYmFja192YXJ5aW5nLnR5cGUu
dmVydGV4X3Rlc3NfZnJhZ21lbnQuc3RydWN0LmZsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnku
dHJhbnNmb3JtX2ZlZWRiYWNrX3ZhcnlpbmcudHlwZS52ZXJ0ZXhfdGVzc19nZW9fZnJhZ21lbnQu
YnVpbHRpbi5nbF9wb3NpdGlvbiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnRyYW5zZm9ybV9mZWVk
YmFja192YXJ5aW5nLnR5cGUudmVydGV4X3Rlc3NfZ2VvX2ZyYWdtZW50Lndob2xlX2FycmF5LnV2
ZWMyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5hcnJheV9zaXplLm5hbWVkX2Jsb2Nr
LmFnZ3JlZ2F0ZXMudmFyX3N0cnVjdF9zdHJ1Y3RfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVy
eS51bmlmb3JtLmFycmF5X3N0cmlkZS5ibG9ja19hcnJheS5hcnJheS52ZWM0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRl
cmZhY2VfcXVlcnkudW5pZm9ybS5hcnJheV9zdHJpZGUuYmxvY2tfYXJyYXkuc3RydWN0LnZlYzMg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5w
cm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3JtLmFycmF5X3N0cmlkZS5kZWZhdWx0X2Jsb2Nr
LnR5cGVzLnNhbXBsZXJfMmRfbXMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3JtLmFycmF5
X3N0cmlkZS5uYW1lZF9ibG9jay5hZ2dyZWdhdGVzLmJ2ZWMzX2FycmF5ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZh
Y2VfcXVlcnkudW5pZm9ybS5hcnJheV9zdHJpZGUubmFtZWRfYmxvY2sudHlwZXMudmVjNCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dy
YW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0uYXRvbWljX2NvdW50ZXJfYnVmZmVyX2luZGV4LmRl
ZmF1bHRfYmxvY2suYmFzaWNfdHlwZS5pdmVjNCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZv
cm0uYXRvbWljX2NvdW50ZXJfYnVmZmVyX2luZGV4LmRlZmF1bHRfYmxvY2suYmFzaWNfdHlwZS5t
YXQyeDQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3JtLmF0b21pY19jb3VudGVyX2J1ZmZl
cl9pbmRleC5kZWZhdWx0X2Jsb2NrLm9wYXF1ZV90eXBlLmlpbWFnZV8yZF9hcnJheSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1f
aW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0uYXRvbWljX2NvdW50ZXJfYnVmZmVyX2luZGV4LmRlZmF1
bHRfYmxvY2sub3BhcXVlX3R5cGUuc2FtcGxlcl8yZF9zaGFkb3cgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9x
dWVyeS51bmlmb3JtLmxvY2F0aW9uLmRlZmF1bHRfYmxvY2suYXJyYXkuYmFzaWNfdHlwZS5tYXQy
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
cHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5sb2NhdGlvbi5kZWZhdWx0X2Jsb2NrLmFy
cmF5Lm9wYXF1ZV90eXBlLnVpbWFnZV8yZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0u
bG9jYXRpb24uZGVmYXVsdF9ibG9jay5iYXNpY190eXBlLm1hdDN4NCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNl
X3F1ZXJ5LnVuaWZvcm0ubG9jYXRpb24uZGVmYXVsdF9ibG9jay5vcGFxdWVfdHlwZS5pbWFnZV8y
ZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ubWF0cml4X3Jvd19tYWpvci5k
ZWZhdWx0X2Jsb2NrLm5vX3F1YWxpZmllci50eXBlcy5pc2FtcGxlcl8yZF9tcyA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ubWF0cml4X3Jvd19tYWpvci51bm5hbWVkX2Jsb2NrX2NvbF9t
YWpvci5yb3dfbWFqb3IudmFyX3N0cnVjdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0u
bWF0cml4X3N0cmlkZS5uYW1lZF9ibG9jay5yb3dfbWFqb3IubWF0cml4Lm1hdDN4NCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1f
aW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ubWF0cml4X3N0cmlkZS51bm5hbWVkX2Jsb2NrLmNvbHVt
bl9tYWpvci52YXJfc3RydWN0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5uYW1lX2xl
bmd0aC5kZWZhdWx0X2Jsb2NrLnZhciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ub2Zm
c2V0LmRlZmF1bHRfYmxvY2sudHlwZXMuZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlm
b3JtLm9mZnNldC5kZWZhdWx0X2Jsb2NrLnR5cGVzLmlpbWFnZV8yZF9hcnJheSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50
ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ub2Zmc2V0LmRlZmF1bHRfYmxvY2sudHlwZXMuaW1hZ2VfY3Vi
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ub2Zmc2V0LmRlZmF1bHRfYmxvY2sudHlw
ZXMuc2FtcGxlcl8yZF9zaGFkb3cgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3JtLm9mZnNl
dC5uYW1lZF9ibG9jay50eXBlcy5tYXQzeDQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlmb3Jt
Lm9mZnNldC5uYW1lZF9ibG9jay50eXBlcy51dmVjMiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVu
aWZvcm0ub2Zmc2V0LnVubmFtZWRfYmxvY2suYmFzaWNfdHlwZS5ib29sID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZh
Y2VfcXVlcnkudW5pZm9ybS5yZWZlcmVuY2VkX2J5X3NoYWRlci5jb21wdXRlLmJsb2NrX2FycmF5
LmZsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5yZWZlcmVuY2VkX2J5X3NoYWRl
ci5zZXBhcmFibGVfZ2VvbWV0cnkuYmxvY2tfYXJyYXkuZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9x
dWVyeS51bmlmb3JtLnJlZmVyZW5jZWRfYnlfc2hhZGVyLnNlcGFyYWJsZV9nZW9tZXRyeS51bmlm
b3JtX2Jsb2NrLmZsb2F0X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5yZWZl
cmVuY2VkX2J5X3NoYWRlci5zZXBhcmFibGVfdGVzc19jdHJsLmJsb2NrX2FycmF5LmZsb2F0X2Fy
cmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS5yZWZlcmVuY2VkX2J5X3NoYWRlci5z
ZXBhcmFibGVfdmVydGV4LnVuaWZvcm1fYmxvY2suZmxvYXRfYXJyYXlfYXJyYXkgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2lu
dGVyZmFjZV9xdWVyeS51bmlmb3JtLnJlZmVyZW5jZWRfYnlfc2hhZGVyLnZlcnRleF9nZW9fZnJh
Z21lbnQudW5uYW1lZF9ibG9jay5mbG9hdF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVu
aWZvcm0ucmVmZXJlbmNlZF9ieV9zaGFkZXIudmVydGV4X3Rlc3NfZnJhZ21lbnRfb25seV9mcmFn
bWVudC5kZWZhdWx0X2Jsb2NrLmF0b21pY191aW50X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVl
cnkudW5pZm9ybS5yZWZlcmVuY2VkX2J5X3NoYWRlci52ZXJ0ZXhfdGVzc19mcmFnbWVudF9vbmx5
X3Rlc3NfY3RybC5ibG9ja19hcnJheS5mbG9hdF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5
LnVuaWZvcm0ucmVmZXJlbmNlZF9ieV9zaGFkZXIudmVydGV4X3Rlc3NfZnJhZ21lbnRfb25seV90
ZXNzX2V2YWwudW5pZm9ybV9ibG9jay5mbG9hdF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5
LnVuaWZvcm0ucmVmZXJlbmNlZF9ieV9zaGFkZXIudmVydGV4X3Rlc3NfZnJhZ21lbnRfb25seV92
ZXJ0ZXguZGVmYXVsdF9ibG9jay5mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0u
cmVmZXJlbmNlZF9ieV9zaGFkZXIudmVydGV4X3Rlc3NfZ2VvX2ZyYWdtZW50X29ubHlfZnJhZ21l
bnQudW5pZm9ybV9ibG9jay5mbG9hdF9zdHJ1Y3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlm
b3JtLnJlZmVyZW5jZWRfYnlfc2hhZGVyLnZlcnRleF90ZXNzX2dlb19mcmFnbWVudF9vbmx5X2dl
by51bm5hbWVkX2Jsb2NrLmZsb2F0X3N0cnVjdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZv
cm0ucmVmZXJlbmNlZF9ieV9zaGFkZXIudmVydGV4X3Rlc3NfZ2VvX2ZyYWdtZW50X29ubHlfdGVz
c19ldmFsLmRlZmF1bHRfYmxvY2suc2FtcGxlciA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZv
cm0ucmVzb3VyY2VfbGlzdC5ibG9ja19hcnJheS52YXJfYXJyYXlfc3RydWN0X3N0cnVjdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dy
YW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0ucmVzb3VyY2VfbGlzdC51bm5hbWVkX2Jsb2NrLnZh
cl9hcnJheV9hcnJheV9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm0udHlwZS5i
bG9ja19hcnJheS5hcnJheS51aW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnkudW5pZm9ybS50eXBl
LmRlZmF1bHRfYmxvY2sudHlwZXMuaW1hZ2VfM2QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX2ludGVyZmFjZV9xdWVyeS51bmlm
b3JtLnR5cGUuZGVmYXVsdF9ibG9jay50eXBlcy51aW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9pbnRlcmZhY2VfcXVlcnku
dW5pZm9ybS50eXBlLm5hbWVkX2Jsb2NrLnR5cGVzLm1hdDR4MyA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1
ZXJ5LnVuaWZvcm1fYmxvY2suYnVmZmVyX2RhdGFfc2l6ZS51bm5hbWVkX2Jsb2NrID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV9p
bnRlcmZhY2VfcXVlcnkudW5pZm9ybV9ibG9jay5yZWZlcmVuY2VkX2J5LnNlcGFyYWJsZV90ZXNz
X2N0cmwudW5uYW1lZF9ibG9jayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1faW50ZXJmYWNlX3F1ZXJ5LnVuaWZvcm1fYmxvY2su
cmVmZXJlbmNlZF9ieS52ZXJ0ZXhfdGVzc19nZW9fZnJhZ21lbnRfb25seV92ZXJ0ZXguYmxvY2tf
YXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5wcm9ncmFtX3VuaWZvcm0uYmFzaWNfYXJyYXlfYXNzaWduX2Z1bGwuYXJyYXlfaW5fc3Ry
dWN0LmJvb2xfYnZlYzRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX3VuaWZvcm0uYmFzaWNfYXJyYXlfYXNzaWdu
X2Z1bGwuYXJyYXlfaW5fc3RydWN0LmZsb2F0X3ZlYzRfYm90aCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1fdW5pZm9ybS5iYXNp
Y19hcnJheV9hc3NpZ25fZnVsbC5iYXNpY19hcnJheS5tYXQ0X2ZyYWdtZW50ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlm
b3JtLmJhc2ljX2FycmF5X2Fzc2lnbl9wYXJ0aWFsLmJhc2ljX2FycmF5Lml2ZWM0X3ZlcnRleCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnBy
b2dyYW1fdW5pZm9ybS5ieV9wb2ludGVyLmdldF91bmlmb3JtLmJhc2ljLmJvb2xfYXBpX3VpbnRf
ZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5wcm9ncmFtX3VuaWZvcm0uYnlfcG9pbnRlci5nZXRfdW5pZm9ybS5iYXNpYy5tYXQy
eDNfcm93X21ham9yX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1fdW5pZm9ybS5ieV9wb2ludGVyLmdldF91bmlmb3Jt
LmJhc2ljLm1hdDR4M19yb3dfbWFqb3JfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlmb3JtLmJ5X3BvaW50ZXIu
Z2V0X3VuaWZvcm0uYmFzaWNfYXJyYXkuYnZlYzRfYXBpX2Zsb2F0X2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91
bmlmb3JtLmJ5X3BvaW50ZXIuZ2V0X3VuaWZvcm0uYmFzaWNfYXJyYXkudmVjNF9ib3RoID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3Jh
bV91bmlmb3JtLmJ5X3BvaW50ZXIuZ2V0X3VuaWZvcm0uYmFzaWNfYXJyYXlfZmlyc3RfZWxlbV93
aXRob3V0X2JyYWNrZXRzLmJvb2xfYXBpX2ludF9ib3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlmb3JtLmJ5X3BvaW50
ZXIuZ2V0X3VuaWZvcm0uYmFzaWNfYXJyYXlfZmlyc3RfZWxlbV93aXRob3V0X2JyYWNrZXRzLmZs
b2F0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnByb2dyYW1fdW5pZm9ybS5ieV9wb2ludGVyLnJlbmRlci5iYXNpYy5idmVjMl9m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnByb2dyYW1fdW5pZm9ybS5ieV9wb2ludGVyLnJlbmRlci5iYXNpYy5tYXQyeDNfdmVy
dGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV91bmlmb3JtLmJ5X3BvaW50ZXIucmVuZGVyLmJhc2ljLnZlYzJfdmVydGV4ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJv
Z3JhbV91bmlmb3JtLmJ5X3ZhbHVlLmdldF91bmlmb3JtLmFycmF5X2luX3N0cnVjdC5ib29sX2J2
ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlmb3JtLmJ5X3ZhbHVlLmdldF91bmlmb3JtLmJhc2ljLmJ2
ZWMyX2FwaV91aW50X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlmb3JtLmJ5X3ZhbHVlLmdldF91bmlmb3Jt
LmJhc2ljX2FycmF5LmJvb2xfYXBpX2Zsb2F0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnByb2dyYW1fdW5pZm9ybS5ieV92YWx1
ZS5nZXRfdW5pZm9ybS5iYXNpY19hcnJheV9maXJzdF9lbGVtX3dpdGhvdXRfYnJhY2tldHMuYnZl
YzRfYXBpX3VpbnRfYm90aCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnByb2dyYW1fdW5pZm9ybS5ieV92YWx1ZS5nZXRfdW5pZm9ybS5iYXNp
Y19zdHJ1Y3QuZmxvYXRfdmVjNF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFtX3VuaWZvcm0uYnlfdmFsdWUuZ2V0X3Vu
aWZvcm0ubXVsdGlwbGVfYmFzaWNfYXJyYXkudmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwucHJvZ3JhbV91bmlmb3JtLmJ5X3ZhbHVl
LmdldF91bmlmb3JtLm5lc3RlZF9zdHJ1Y3RzX2FycmF5cy5ib29sX2J2ZWM0X2JvdGggPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5wcm9ncmFt
X3VuaWZvcm0uYnlfdmFsdWUuZ2V0X3VuaWZvcm0uc3RydWN0X2luX2FycmF5LmJvb2xfYnZlYzRf
ZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5wcm9ncmFtX3VuaWZvcm0uYnlfdmFsdWUucmVuZGVyLmJhc2ljLnNhbXBsZXIyRF9i
b3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV91bmlmb3JtLmJ5X3ZhbHVlLnJlbmRlci5iYXNpY19hcnJheS5mbG9hdF92ZXJ0
ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5wcm9ncmFtX3VuaWZvcm0uYnlfdmFsdWUucmVuZGVyLmJhc2ljX2FycmF5LnV2ZWM0X2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwucHJvZ3JhbV91bmlmb3JtLmJ5X3ZhbHVlLnJlbmRlci5iYXNpY19zdHJ1Y3QuYm9vbF9idmVj
NF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5wcm9ncmFtX3VuaWZvcm0udW51c2VkX3VuaWZvcm1zLm1hdDRfbWF0Ml9ib3RoID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2Ft
cGxlX3NoYWRpbmcuc3RhdGVfcXVlcnkubWluX3NhbXBsZV9zaGFkaW5nX3ZhbHVlX2dldF9ib29s
ZWFuID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2VwYXJhdGVfc2hhZGVyLnJhbmRvbS4xNCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNlcGFyYXRlX3NoYWRlci5yYW5kb20uMzQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zZXBh
cmF0ZV9zaGFkZXIucmFuZG9tLjU0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2VwYXJhdGVfc2hhZGVyLnJhbmRvbS43NCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNlcGFyYXRlX3No
YWRlci5yYW5kb20uOTQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zZXBhcmF0ZV9zaGFkZXIudmFsaWRhdGlvbi5lczMxLnZhcnlpbmcubWlz
bWF0Y2hfcXVhbGlmaWVyX3ZlcnRleF9jZW50cm9pZF9mcmFnbWVudF9mbGF0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2VwYXJhdGVfc2hh
ZGVyLnZhbGlkYXRpb24uZXMzMi52YXJ5aW5nLm1pc21hdGNoX3F1YWxpZmllcl92ZXJ0ZXhfZmxh
dF9mcmFnbWVudF9ub25lID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5hcnJheXMuZXMzMS5pbnZhbGlkLmNvbnN0cnVjdG9yX2Nf
c3R5bGUyX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNoYWRlcnMuYXJyYXlzX29mX2FycmF5cy5lczMxLmFzc2lnbm1lbnQuaW1w
bGljaXRfdG9fZXhwbGljaXQuaW50XzJ4M192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmFycmF5c19vZl9hcnJheXMu
ZXMzMS5sZW5ndGguY29uc3RhbnRfZXhwcmVzc2lvbl9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYXJyYXlzX29m
X2FycmF5cy5lczMxLmxlbmd0aC5zdHJ1Y3RfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5hcnJheXNfb2ZfYXJyYXlz
LmVzMzEucGFyYW1ldGVyLmluLmludF8yeDJ4Ml92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmFycmF5c19vZl9hcnJh
eXMuZXMzMS5wYXJhbWV0ZXIub3V0Lml2ZWMzXzN4M19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYXJyYXlzX29m
X2FycmF5cy5lczMyLmFzc2lnbm1lbnQuZXhwbGljaXRfdG9faW1wbGljaXQuaXZlYzNfM3gxeDNf
dmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5hcnJheXNfb2ZfYXJyYXlzLmVzMzIuYXNzaWdubWVudC5leHBsaWNpdF90
b19pbXBsaWNpdC5tYXQzXzN4NF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYXJyYXlzX29mX2FycmF5cy5lczMy
LmFzc2lnbm1lbnQuaW1wbGljaXRfdG9faW1wbGljaXQubWF0M18zeDRfZnJhZ21lbnQgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJz
LmFycmF5c19vZl9hcnJheXMuZXMzMi5jb25zdHJ1Y3Rvci5pbXBsaWNpdC5mbG9hdF8zeDNfdmVy
dGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy5hcnJheXNfb2ZfYXJyYXlzLmVzMzIuaW52YWxpZC5zdG9yYWdlX2Jsb2NrX3Zl
cnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNoYWRlcnMuYXJyYXlzX29mX2FycmF5cy5lczMyLnBhcmFtZXRlci5vdXQuaXZlYzNfM3gz
X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9jb25zdGFudHMuY29yZS5tYXhfY29tcHV0ZV9hdG9taWNf
Y291bnRlcl9idWZmZXJzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2NvbnN0YW50cy5nZW9tZXRyeV9zaGFkZXIu
bWF4X2dlb21ldHJ5X291dHB1dF92ZXJ0aWNlcyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9jb25zdGFudHMudGVz
c2VsbGF0aW9uX3NoYWRlci5tYXhfdGVzc19jb250cm9sX3RvdGFsX291dHB1dF9jb21wb25lbnRz
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uYWJzLnZlYzJfbWVkaXVtcF9jb21wdXRl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uYWJzLnZlYzNfbWVkaXVtcF9nZW9tZXRy
eSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmFicy52ZWM0X21lZGl1bXBfY29tcHV0
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmNlaWwuZmxvYXRfbWVkaXVtcF9nZW9t
ZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmZsb2F0Yml0c3RvaW50LnZlYzJf
bG93cF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uZmxvYXRiaXRzdG9p
bnQudmVjM19oaWdocF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uZmxv
YXRiaXRzdG9pbnQudmVjNF9oaWdocF9nZW9tZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMu
Y29tbW9uLmZsb2F0Yml0c3RvdWludC5mbG9hdF9tZWRpdW1wX2NvbXB1dGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0
aW5fZnVuY3Rpb25zLmNvbW1vbi5mbG9vci5mbG9hdF9oaWdocF9jb21wdXRlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWls
dGluX2Z1bmN0aW9ucy5jb21tb24uZm1hLnZlYzJfbG93cF9mcmFnbWVudCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRp
bl9mdW5jdGlvbnMuY29tbW9uLmZtYS52ZWMzX2xvd3BfdGVzc19jb250cm9sID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWls
dGluX2Z1bmN0aW9ucy5jb21tb24uZnJleHAudmVjMl9tZWRpdW1wX3Rlc3NfZXZhbCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
YnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmZyZXhwLnZlYzNfaGlnaHBfdmVydGV4ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5i
dWlsdGluX2Z1bmN0aW9ucy5jb21tb24uZnJleHAudmVjM19sb3dwX3Rlc3NfY29udHJvbCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmludGJpdHN0b2Zsb2F0LmludF9oaWdocF9jb21w
dXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uaXNpbmYudmVjM19oaWdocF9nZW9t
ZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmlzaW5mLnZlYzRfbWVkaXVtcF9j
b21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24uaXNuYW4uZmxvYXRfaGlnaHBf
Y29tcHV0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmxkZXhwLnZlYzRfaGlnaHBf
Y29tcHV0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLmxkZXhwLnZlYzRfbG93cF9n
ZW9tZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLnJvdW5kZXZlbi5mbG9hdF9s
b3dwX2NvbXB1dGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmNvbW1vbi5yb3VuZGV2ZW4udmVj
Ml9oaWdocF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5jb21tb24ucm91bmRldmVu
LnZlYzNfaGlnaHBfZ2VvbWV0cnkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmNvbW1vbi50cnVu
Yy5mbG9hdF9sb3dwX2NvbXB1dGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmNvbW1vbi50cnVu
Yy52ZWMyX21lZGl1bXBfY29tcHV0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuY29tbW9uLnRy
dW5jLnZlYzRfbG93cF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRlZ2VyLmJp
dGNvdW50Lml2ZWM0X2hpZ2hwX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRl
Z2VyLmJpdGNvdW50LnV2ZWMyX21lZGl1bXBfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9u
cy5pbnRlZ2VyLmJpdGNvdW50LnV2ZWM0X2xvd3BfY29tcHV0ZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5j
dGlvbnMuaW50ZWdlci5iaXRmaWVsZGV4dHJhY3QuaXZlYzNfbG93cF90ZXNzX2NvbnRyb2wgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFk
ZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmludGVnZXIuYml0ZmllbGRleHRyYWN0LnVpbnRfbWVkaXVt
cF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRlZ2VyLmJpdGZpZWxkZXh0cmFj
dC51dmVjM19tZWRpdW1wX2NvbXB1dGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmludGVnZXIu
Yml0ZmllbGRleHRyYWN0LnV2ZWM0X2hpZ2hwX2NvbXB1dGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rp
b25zLmludGVnZXIuYml0ZmllbGRleHRyYWN0LnV2ZWM0X2xvd3BfZ2VvbWV0cnkgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1
aWx0aW5fZnVuY3Rpb25zLmludGVnZXIuYml0ZmllbGRpbnNlcnQuaXZlYzJfbG93cF9mcmFnbWVu
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci5iaXRmaWVsZGluc2VydC5pdmVjMl9t
ZWRpdW1wX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci5iaXRmaWVsZHJl
dmVyc2UuaXZlYzJfbG93cF9nZW9tZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdl
ci5iaXRmaWVsZHJldmVyc2UuaXZlYzNfaGlnaHBfdGVzc19jb250cm9sID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGlu
X2Z1bmN0aW9ucy5pbnRlZ2VyLmJpdGZpZWxkcmV2ZXJzZS5pdmVjNF9oaWdocF9jb21wdXRlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRlZ2VyLmJpdGZpZWxkcmV2ZXJzZS5pdmVjNF9tZWRp
dW1wX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci5iaXRmaWVsZHJldmVy
c2UudXZlYzJfbWVkaXVtcF90ZXNzX2V2YWwgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmludGVn
ZXIuYml0ZmllbGRyZXZlcnNlLnV2ZWMzX2hpZ2hwX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5j
dGlvbnMuaW50ZWdlci5iaXRmaWVsZHJldmVyc2UudXZlYzNfbG93cF90ZXNzX2NvbnRyb2wgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFk
ZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmludGVnZXIuZmluZGxzYi5pdmVjMl9tZWRpdW1wX3Rlc3Nf
Y29udHJvbCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci5maW5kbHNiLml2ZWMzX21l
ZGl1bXBfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLmludGVnZXIuZmluZGxzYi51
aW50X21lZGl1bXBfY29tcHV0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci5maW5k
bHNiLnV2ZWM0X21lZGl1bXBfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5pbnRlZ2Vy
LmZpbmRtc2IudXZlYzNfaGlnaHBfdGVzc19jb250cm9sID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9u
cy5pbnRlZ2VyLmZpbmRtc2IudXZlYzNfbWVkaXVtcF9jb21wdXRlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1
bmN0aW9ucy5pbnRlZ2VyLnVhZGRjYXJyeS51dmVjNF9sb3dwX2ZyYWdtZW50ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWls
dGluX2Z1bmN0aW9ucy5pbnRlZ2VyLnVhZGRjYXJyeS51dmVjNF9tZWRpdW1wX3ZlcnRleCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMuYnVpbHRpbl9mdW5jdGlvbnMuaW50ZWdlci51bXVsZXh0ZW5kZWQudXZlYzJfaGlnaHBfZnJh
Z21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnBhY2tfdW5wYWNrLnBhY2t1bm9ybTR4OF9o
aWdocF9nZW9tZXRyeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMucGFja191bnBhY2sudW5wYWNr
c25vcm00eDhfdGVzc19jb250cm9sID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24u
YWNvc2gubWVkaXVtcF9jb21wdXRlLnZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnByZWNp
c2lvbi5hc2luLmxvd3BfY29tcHV0ZS52ZWM0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVj
aXNpb24uY2VpbC5sb3dwX2NvbXB1dGUuc2NhbGFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5w
cmVjaXNpb24uY29zLm1lZGl1bXBfY29tcHV0ZS52ZWM0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9u
cy5wcmVjaXNpb24uZGlzdGFuY2UuaGlnaHBfY29tcHV0ZS5zY2FsYXIgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5f
ZnVuY3Rpb25zLnByZWNpc2lvbi5leHAyLmxvd3BfY29tcHV0ZS5zY2FsYXIgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0
aW5fZnVuY3Rpb25zLnByZWNpc2lvbi5mYWNlZm9yd2FyZC5tZWRpdW1wX2NvbXB1dGUudmVjMiA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNo
YWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMucHJlY2lzaW9uLmZsb29yLmhpZ2hwX2NvbXB1dGUuc2Nh
bGFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24uZm1hLmhpZ2hwX2ZyYWdtZW50
LnZlYzMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnByZWNpc2lvbi5mcmV4cC5sb3dwX3ZlcnRl
eC52ZWMzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24ubGRleHAuaGlnaHBfY29t
cHV0ZS52ZWM0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24ubGRleHAubG93cF9j
b21wdXRlLnZlYzMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnByZWNpc2lvbi5sb2cubG93cF9j
b21wdXRlLnZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnByZWNpc2lvbi5sb2cyLmhpZ2hw
X2NvbXB1dGUuc2NhbGFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24ub3V0ZXJw
cm9kdWN0Lmxvd3BfY29tcHV0ZS5tYXQyeDQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnByZWNp
c2lvbi5yZWZsZWN0Lmxvd3BfY29tcHV0ZS52ZWMzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWlsdGluX2Z1bmN0aW9ucy5w
cmVjaXNpb24ucmVmcmFjdC5tZWRpdW1wX2NvbXB1dGUudmVjMiA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5j
dGlvbnMucHJlY2lzaW9uLnJvdW5kZXZlbi5sb3dwX2NvbXB1dGUudmVjNCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRp
bl9mdW5jdGlvbnMucHJlY2lzaW9uLnNpZ24uaGlnaHBfY29tcHV0ZS52ZWM0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5idWls
dGluX2Z1bmN0aW9ucy5wcmVjaXNpb24uc3FydC5tZWRpdW1wX2NvbXB1dGUudmVjNCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
YnVpbHRpbl9mdW5jdGlvbnMucHJlY2lzaW9uLnRhbmguaGlnaHBfY29tcHV0ZS52ZWM0ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVy
cy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24udHJ1bmMuaGlnaHBfY29tcHV0ZS52ZWM0ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5idWlsdGluX2Z1bmN0aW9ucy5wcmVjaXNpb24udHJ1bmMubWVkaXVtcF9jb21wdXRlLnZl
YzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zaGFkZXJzLmJ1aWx0aW5fZnVuY3Rpb25zLnRleHR1cmVfc2l6ZS5zYW1wbGVzXzRfdGV4dHVy
ZV8yZF9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMudW5pZm9ybS5maW5kTFNCTWludXNP
bmUubG93cF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuYnVpbHRpbl9mdW5jdGlvbnMudW5pZm9ybS5maW5kTVNC
TWludXNPbmUubWVkaXVtcF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmhlbHBlcl9pbnZvY2F0aW9uLmRlcml2YXRl
LnRyaWFuZ2xlc184X3NhbXBsZXNfZndpZHRoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5oZWxwZXJfaW52b2NhdGlvbi5kZXJp
dmF0ZS50cmlhbmdsZXNfZGZkeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaGVscGVyX2ludm9jYXRpb24uZGVyaXZhdGUud2lk
ZV9saW5lc180X3NhbXBsZXNfZGZkeCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaGVscGVyX2ludm9jYXRpb24uZGVyaXZhdGUu
d2lkZV9wb2ludHNfZGZkeSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaGVscGVyX2ludm9jYXRpb24uZGVyaXZhdGUud2lkZV9w
b2ludHNfbWF4X3NhbXBsZXNfZGZkeCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5h
cml0aG1ldGljLmlucHV0X2JlZm9yZV9saXRlcmFsLmFkZC5pbnRfdG9fZmxvYXRfZnJhZ21lbnQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
aGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVf
bGl0ZXJhbC5hZGQuaW50X3RvX3V2ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJz
aW9ucy5lczMxLmFyaXRobWV0aWMuaW5wdXRfYmVmb3JlX2xpdGVyYWwuYWRkLml2ZWM0X3RvX3V2
ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMu
aW5wdXRfYmVmb3JlX2xpdGVyYWwuYWRkLnVpbnRfdG9fZmxvYXRfZnJhZ21lbnQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmlt
cGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5h
ZGQudWludF90b192ZWMyX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMx
LmFyaXRobWV0aWMuaW5wdXRfYmVmb3JlX2xpdGVyYWwuYWRkLnV2ZWM0X3RvX3ZlYzRfdmVydGV4
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMuaW5wdXRfYmVmb3Jl
X2xpdGVyYWwuZGl2Lml2ZWMzX3RvX3V2ZWMzX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVy
c2lvbnMuZXMzMS5hcml0aG1ldGljLmlucHV0X2JlZm9yZV9saXRlcmFsLmRpdi51aW50X3RvX3Zl
YzJfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMuaW5w
dXRfYmVmb3JlX2xpdGVyYWwuZGl2LnV2ZWM0X3RvX3ZlYzRfZnJhZ21lbnQgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxp
Y2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5tdWwu
aW50X3RvX3ZlYzNfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJp
dGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5tdWwuaXZlYzNfdG9fdXZlYzNfZnJhZ21lbnQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
aGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVf
bGl0ZXJhbC5zdWIuaW50X3RvX3ZlYzJfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9u
cy5lczMxLmFyaXRobWV0aWMuaW5wdXRfYmVmb3JlX2xpdGVyYWwuc3ViLmludF90b192ZWMzX3Zl
cnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5hcml0aG1ldGljLmlucHV0X2Jl
Zm9yZV9saXRlcmFsLnN1Yi51aW50X3RvX2Zsb2F0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9j
b252ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMuaW5wdXRfYmVmb3JlX2xpdGVyYWwuc3ViLnVpbnRf
dG9fZmxvYXRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmFyaXRobWV0
aWMubGl0ZXJhbF9iZWZvcmVfaW5wdXQuYWRkLmludF90b19mbG9hdF92ZXJ0ZXggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmlt
cGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5saXRlcmFsX2JlZm9yZV9pbnB1dC5h
ZGQudWludF90b192ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMx
LmFyaXRobWV0aWMubGl0ZXJhbF9iZWZvcmVfaW5wdXQuZGl2LmludF90b191dmVjNF9mcmFnbWVu
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5hcml0aG1ldGljLmxpdGVyYWxfYmVm
b3JlX2lucHV0LmRpdi5pdmVjM190b191dmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZl
cnNpb25zLmVzMzEuYXJpdGhtZXRpYy5saXRlcmFsX2JlZm9yZV9pbnB1dC5kaXYudXZlYzNfdG9f
dmVjM19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5hcml0aG1ldGlj
LmxpdGVyYWxfYmVmb3JlX2lucHV0Lm11bC5pbnRfdG9fdWludF92ZXJ0ZXggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxp
Y2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRpYy5saXRlcmFsX2JlZm9yZV9pbnB1dC5tdWwu
aXZlYzJfdG9fdmVjMl9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5h
cml0aG1ldGljLmxpdGVyYWxfYmVmb3JlX2lucHV0Lm11bC5pdmVjM190b192ZWMzX2ZyYWdtZW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
c2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMubGl0ZXJhbF9iZWZv
cmVfaW5wdXQubXVsLml2ZWM0X3RvX3V2ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252
ZXJzaW9ucy5lczMxLmFyaXRobWV0aWMubGl0ZXJhbF9iZWZvcmVfaW5wdXQubXVsLml2ZWM0X3Rv
X3ZlYzRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuYXJpdGhtZXRp
Yy5saXRlcmFsX2JlZm9yZV9pbnB1dC5tdWwudWludF90b19mbG9hdF9mcmFnbWVudCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
aW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5hcml0aG1ldGljLmxpdGVyYWxfYmVmb3JlX2lucHV0
LnN1Yi5pbnRfdG9fdmVjMl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEu
YXJyYXlfc3Vic2NyaXB0cy5pbnB1dF9iZWZvcmVfc3Vic2NyaXB0Lml2ZWMyX3RvX3V2ZWMyX2Zy
YWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmNvbXBhcmlzb25zLmlucHV0
X2JlZm9yZV9saXRlcmFsLmVxdWFsLml2ZWMyX3RvX3V2ZWMyX3ZlcnRleCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGlj
aXRfY29udmVyc2lvbnMuZXMzMS5jb21wYXJpc29ucy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5lcXVh
bC5pdmVjMl90b192ZWMyX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMx
LmNvbXBhcmlzb25zLmlucHV0X2JlZm9yZV9saXRlcmFsLmVxdWFsLml2ZWMzX3RvX3V2ZWMzX2Zy
YWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLmNvbXBhcmlzb25zLmlucHV0
X2JlZm9yZV9saXRlcmFsLmxlc3MuaW50X3RvX2Zsb2F0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNp
dF9jb252ZXJzaW9ucy5lczMxLmludmFsaWQudmFyaWFibGVzLml2ZWMyX3RvX2l2ZWM0X3ZlcnRl
eCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5pbnZhbGlkLnZhcmlhYmxlcy5pdmVj
NF90b19pdmVjM192ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuaW52YWxp
ZC52YXJpYWJsZXMudXZlYzRfdG9fdmVjMl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNp
b25zLmVzMzEuaW52YWxpZC52YXJpYWJsZXMudmVjM190b191dmVjM19mcmFnbWVudCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
aW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5wYXJlbnRoZXNpemVkX2V4cHJlc3Npb25zLmxpdGVy
YWxfYmVmb3JlX3BhcmVuX2V4cHIuaW5wdXRfaW5fcGFyZW5zLnVpbnRfdG9fdmVjMl92ZXJ0ZXgg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
aGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEucGFyZW50aGVzaXplZF9leHByZXNzaW9u
cy5saXRlcmFsX2JlZm9yZV9wYXJlbl9leHByLmlucHV0X291dHNpZGVfcGFyZW5zLmludF90b192
ZWMzX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLnBhcmVudGhlc2l6
ZWRfZXhwcmVzc2lvbnMucGFyZW5fZXhwcl9iZWZvcmVfbGl0ZXJhbC5pbnB1dF9pbl9wYXJlbnMu
aW50X3RvX3VpbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMxLnBhcmVu
dGhlc2l6ZWRfZXhwcmVzc2lvbnMucGFyZW5fZXhwcl9iZWZvcmVfbGl0ZXJhbC5pbnB1dF9pbl9w
YXJlbnMuaXZlYzNfdG9fdmVjM19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMu
ZXMzMS5wYXJlbnRoZXNpemVkX2V4cHJlc3Npb25zLnBhcmVuX2V4cHJfYmVmb3JlX2xpdGVyYWwu
aW5wdXRfb3V0c2lkZV9wYXJlbnMudXZlYzNfdG9fdmVjM19mcmFnbWVudCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGlj
aXRfY29udmVyc2lvbnMuZXMzMS5zdHJ1Y3RfZmllbGRzLmZpZWxkX2JlZm9yZV9pbnB1dC51aW50
X3RvX3ZlYzJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzEuc3RydWN0
X2ZpZWxkcy5maWVsZF9iZWZvcmVfaW5wdXQudXZlYzNfdG9fdmVjM19mcmFnbWVudCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
aW1wbGljaXRfY29udmVyc2lvbnMuZXMzMS5zdHJ1Y3RfZmllbGRzLmlucHV0X2JlZm9yZV9maWVs
ZC5pbnRfdG9fZmxvYXRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzIu
YXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5hZGQuaW50X3RvX3VpbnRfZnJhZ21lbnQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
aGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzIuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVf
bGl0ZXJhbC5hZGQuaW50X3RvX3V2ZWMzX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lv
bnMuZXMzMi5hcml0aG1ldGljLmlucHV0X2JlZm9yZV9saXRlcmFsLmFkZC5pbnRfdG9fdmVjM19m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5hcml0aG1ldGljLmlucHV0
X2JlZm9yZV9saXRlcmFsLmRpdi5pbnRfdG9fdXZlYzRfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0
X2NvbnZlcnNpb25zLmVzMzIuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5kaXYuaXZl
YzNfdG9fdXZlYzNfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVzMzIuYXJp
dGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5kaXYudWludF90b192ZWMzX3ZlcnRleCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5hcml0aG1ldGljLmlucHV0X2JlZm9yZV9saXRl
cmFsLm11bC5pbnRfdG9fdWludF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmltcGxpY2l0X2NvbnZlcnNpb25zLmVz
MzIuYXJpdGhtZXRpYy5pbnB1dF9iZWZvcmVfbGl0ZXJhbC5zdWIuaW50X3RvX2Zsb2F0X2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLmFyaXRobWV0aWMubGl0ZXJhbF9i
ZWZvcmVfaW5wdXQuZGl2LmludF90b192ZWMzX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVy
c2lvbnMuZXMzMi5hcml0aG1ldGljLmxpdGVyYWxfYmVmb3JlX2lucHV0LmRpdi51aW50X3RvX2Zs
b2F0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLmFyaXRobWV0aWMu
bGl0ZXJhbF9iZWZvcmVfaW5wdXQuc3ViLnV2ZWM0X3RvX3ZlYzRfZnJhZ21lbnQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmlt
cGxpY2l0X2NvbnZlcnNpb25zLmVzMzIuYXJyYXlfc3Vic2NyaXB0cy5pbnB1dF9iZWZvcmVfc3Vi
c2NyaXB0LnV2ZWM0X3RvX3ZlYzRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5l
czMyLmFycmF5X3N1YnNjcmlwdHMuc3Vic2NyaXB0X2JlZm9yZV9pbnB1dC51dmVjMl90b192ZWMy
X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLmNvbXBhcmlzb25zLmlu
cHV0X2JlZm9yZV9saXRlcmFsLm5vdF9lcXVhbC5pbnRfdG9fZmxvYXRfdmVydGV4ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5p
bXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLmNvbXBhcmlzb25zLmlucHV0X2JlZm9yZV9saXRlcmFs
Lm5vdF9lcXVhbC5pdmVjNF90b192ZWM0X3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lv
bnMuZXMzMi5jb21wYXJpc29ucy5saXRlcmFsX2JlZm9yZV9pbnB1dC5sZXNzX29yX2VxdWFsLmlu
dF90b191aW50X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLmludmFs
aWQuYXJyYXlzLmludF90b19mbG9hdF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lv
bnMuZXMzMi5pbnZhbGlkLnZhcmlhYmxlcy5pdmVjNF90b19pdmVjMl9mcmFnbWVudCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMu
aW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5pbnZhbGlkLnZhcmlhYmxlcy52ZWMyX3RvX2ludF9m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5wYXJlbnRoZXNpemVkX2V4
cHJlc3Npb25zLmxpdGVyYWxfYmVmb3JlX3BhcmVuX2V4cHIuaW5wdXRfb3V0c2lkZV9wYXJlbnMu
aW50X3RvX3VpbnRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJzaW9ucy5lczMyLnBhcmVu
dGhlc2l6ZWRfZXhwcmVzc2lvbnMubGl0ZXJhbF9iZWZvcmVfcGFyZW5fZXhwci5pbnB1dF9vdXRz
aWRlX3BhcmVucy5pdmVjM190b192ZWMzX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNpdF9jb252ZXJz
aW9ucy5lczMyLnBhcmVudGhlc2l6ZWRfZXhwcmVzc2lvbnMucGFyZW5fZXhwcl9iZWZvcmVfbGl0
ZXJhbC5pbnB1dF9pbl9wYXJlbnMudWludF90b192ZWM0X2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5pbXBsaWNp
dF9jb252ZXJzaW9ucy5lczMyLnN0cnVjdF9maWVsZHMuZmllbGRfYmVmb3JlX2lucHV0LmludF90
b19mbG9hdF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5zdHJ1Y3Rf
ZmllbGRzLmZpZWxkX2JlZm9yZV9pbnB1dC51aW50X3RvX3ZlYzNfZnJhZ21lbnQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmlt
cGxpY2l0X2NvbnZlcnNpb25zLmVzMzIuc3RydWN0X2ZpZWxkcy5maWVsZF9iZWZvcmVfaW5wdXQu
dXZlYzRfdG9fdmVjNF9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5z
dHJ1Y3RfZmllbGRzLmlucHV0X2JlZm9yZV9maWVsZC5pbnRfdG9fdWludF9mcmFnbWVudCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMuaW1wbGljaXRfY29udmVyc2lvbnMuZXMzMi5zdHJ1Y3RfZmllbGRzLmlucHV0X2JlZm9yZV9m
aWVsZC5pbnRfdG9fdXZlYzNfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5rYWdlLmVzMzEuZ2VvbWV0cnkudmFy
eWluZy5ydWxlcy5pbnB1dF9ibG9jayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubGlua2FnZS5lczMxLmdlb21ldHJ5LnZhcnlp
bmcucnVsZXMub3V0cHV0X3N1cGVyZmx1b3VzX2RlY2xhcmF0aW9uID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5rYWdlLmVz
MzEudGVzc2VsbGF0aW9uLnVuaWZvcm0udHlwZXMuaW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5rYWdlLmVzMzEudGVz
c2VsbGF0aW9uLnVuaWZvcm0udHlwZXMubWF0MiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubGlua2FnZS5lczMxLnRlc3NlbGxh
dGlvbl9nZW9tZXRyeS52YXJ5aW5nLnR5cGVzLm1hdDQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmxpbmthZ2UuZXMzMi5zaGFk
ZXJfc3RvcmFnZV9ibG9jay5taXNtYXRjaF90eXBlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5rYWdlLmVzMzIuc2hhZGVy
X3N0b3JhZ2VfYmxvY2subWlzbWF0Y2hfd2l0aF9hbmRfd2l0aG91dF9pbnN0YW5jZV9uYW1lID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5saW5rYWdlLmVzMzIudGVzc2VsbGF0aW9uLnZhcnlpbmcucnVsZXMub3V0cHV0X3R5cGVf
bWlzbWF0Y2ggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVu
Y3Rpb25hbC5zaGFkZXJzLmxpbmthZ2UuZXMzMi50ZXNzZWxsYXRpb25fZ2VvbWV0cnkudmFyeWlu
Zy5ydWxlcy52ZXJ0ZXhfZ2VvbWV0cnlfc2FtZV92YXJ5aW5nX25hbWVfMiA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubGlua2Fn
ZS5lczMyLnRlc3NlbGxhdGlvbl9nZW9tZXRyeS52YXJ5aW5nLnR5cGVzLm1hdDQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLmxp
bmthZ2UuZXMzMi51bmlmb3JtLnN0cnVjdC52ZXJ0ZXhfb25seSA9IFNLSVAKIDU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubXVsdGlzYW1wbGVf
aW50ZXJwb2xhdGlvbi5pbnRlcnBvbGF0ZV9hdF9vZmZzZXQubmVnYXRpdmUuaW50ZXJwb2xhdGVf
Z2xvYmFsID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5tdWx0aXNhbXBsZV9pbnRlcnBvbGF0aW9uLmludGVycG9sYXRlX2F0X29m
ZnNldC5ub19xdWFsaWZpZXJzLm11bHRpc2FtcGxlX3RleHR1cmVfMiA9IFNLSVAKIDU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubXVsdGlzYW1w
bGVfaW50ZXJwb2xhdGlvbi5pbnRlcnBvbGF0ZV9hdF9zYW1wbGUuY2VudHJvaWRfcXVhbGlmaWVk
Lm11bHRpc2FtcGxlX3RleHR1cmVfMSA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubXVsdGlzYW1wbGVfaW50ZXJwb2xhdGlvbi5p
bnRlcnBvbGF0ZV9hdF9zYW1wbGUuY2VudHJvaWRfcXVhbGlmaWVkLm11bHRpc2FtcGxlX3RleHR1
cmVfMTYgPSBTS0lQCiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zaGFkZXJzLm11bHRpc2FtcGxlX2ludGVycG9sYXRpb24uc2FtcGxlX3F1YWxpZmllci5z
aW5nbGVzYW1wbGVfcmJvID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5hdG9taWNfY291bnRl
ci5jb25zdF9leHByZXNzaW9uX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc2Ft
cGxlci5jb25zdF9leHByZXNzaW9uLnZlcnRleC5zYW1wbGVyMmRzaGFkb3cgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLm9wYXF1
ZV90eXBlX2luZGV4aW5nLnNhbXBsZXIuY29uc3RfbGl0ZXJhbC5mcmFnbWVudC5pc2FtcGxlcmN1
YmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zaGFkZXJzLm9wYXF1ZV90eXBlX2luZGV4aW5nLnNhbXBsZXIuY29uc3RfbGl0ZXJhbC50ZXNz
ZWxsYXRpb25fZXZhbHVhdGlvbi51c2FtcGxlcmN1YmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLm9wYXF1ZV90eXBlX2luZGV4
aW5nLnNhbXBsZXIuZHluYW1pY2FsbHlfdW5pZm9ybS5mcmFnbWVudC5zYW1wbGVyY3ViZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc2FtcGxlci5keW5hbWljYWxseV91bmlmb3JtLnRlc3Nl
bGxhdGlvbl9jb250cm9sLnNhbXBsZXIyZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc2Ft
cGxlci5keW5hbWljYWxseV91bmlmb3JtLnZlcnRleC5zYW1wbGVyY3ViZWFycmF5c2hhZG93ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5zYW1wbGVyLnVuaWZvcm0uZnJhZ21lbnQuc2FtcGxl
cmN1YmVhcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNoYWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc2FtcGxlci51bmlmb3JtLmdl
b21ldHJ5LmlzYW1wbGVyY3ViZWFycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5zYW1w
bGVyLnVuaWZvcm0uZ2VvbWV0cnkudXNhbXBsZXIyZGFycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9p
bmRleGluZy5zYW1wbGVyLnVuaWZvcm0udGVzc2VsbGF0aW9uX2NvbnRyb2wudXNhbXBsZXIzZCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNo
YWRlcnMub3BhcXVlX3R5cGVfaW5kZXhpbmcuc2FtcGxlci51bmlmb3JtLnRlc3NlbGxhdGlvbl9j
b250cm9sLnVzYW1wbGVyY3ViZWFycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5vcGFxdWVfdHlwZV9pbmRleGluZy5zYW1w
bGVyLnVuaWZvcm0udGVzc2VsbGF0aW9uX2V2YWx1YXRpb24uc2FtcGxlcmN1YmVhcnJheSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMub3BhcXVlX3R5cGVfaW5kZXhpbmcudWJvLmNvbnN0X2V4cHJlc3Npb25fdGVzc2VsbGF0aW9u
X2V2YWx1YXRpb24gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLnNhbXBsZV92YXJpYWJsZXMuc2FtcGxlX2lkLm11bHRpc2FtcGxl
X3Jib18xID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc2hhZGVycy5zYW1wbGVfdmFyaWFibGVzLnNhbXBsZV9tYXNrLmRpc2NhcmRfaGFsZl9w
ZXJfdHdvX3NhbXBsZXMubXVsdGlzYW1wbGVfcmJvXzEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFkZXJzLnNhbXBsZV92YXJpYWJsZXMu
c2FtcGxlX21hc2suaW52ZXJzZV9wZXJfcGl4ZWwubXVsdGlzYW1wbGVfdGV4dHVyZV8xNiA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRl
cnMuc2FtcGxlX3ZhcmlhYmxlcy5zYW1wbGVfbWFzay5pbnZlcnNlX3Blcl90d29fc2FtcGxlcy5k
ZWZhdWx0X2ZyYW1lYnVmZmVyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5zYW1wbGVfdmFyaWFibGVzLnNhbXBsZV9tYXNrX2lu
LmJpdF9jb3VudF9wZXJfcGl4ZWwubXVsdGlzYW1wbGVfdGV4dHVyZV84ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5zYW1wbGVf
dmFyaWFibGVzLnNhbXBsZV9tYXNrX2luLmJpdF9jb3VudF9wZXJfdHdvX3NhbXBsZXMubXVsdGlz
YW1wbGVfcmJvXzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zaGFkZXJzLnNhbXBsZV92YXJpYWJsZXMuc2FtcGxlX21hc2tfaW4uYml0c191
bmlxdWVfcGVyX3R3b19zYW1wbGVzLnNpbmdsZXNhbXBsZV90ZXh0dXJlID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5zYW1wbGVf
dmFyaWFibGVzLnNhbXBsZV9tYXNrX2luLnNhbXBsZV9tYXNrLm11bHRpc2FtcGxlX3Jib18yID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hh
ZGVycy5zYW1wbGVfdmFyaWFibGVzLnNhbXBsZV9wb3MuZGlzdHJpYnV0aW9uLm11bHRpc2FtcGxl
X3RleHR1cmVfMSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNoYWRlcnMudW5pZm9ybV9ibG9jay5lczMxLmludmFsaWQuY29uZmxpY3Rpbmdf
b3V0X2FuZF9ibG9ja19uYW1lX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy51bmlmb3JtX2Jsb2NrLmVzMzEuaW52
YWxpZC5pbnZhbGlkX2RvbGxhcl9pbnN0YW5jZV9uYW1lX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy51bmlmb3Jt
X2Jsb2NrLmVzMzEuaW52YWxpZC5tZW1iZXJfb3V0X2ludGVyZmFjZV9xdWFsaWZpZXJfZnJhZ21l
bnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zaGFkZXJzLnVuaWZvcm1fYmxvY2suZXMzMS52YWxpZC5sYXlvdXRfcm93X21ham9yX2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy51bmlmb3JtX2Jsb2NrLmVzMzEudmFsaWQubG9uZ19ibG9ja19uYW1lX3ZlcnRl
eCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMudW5pZm9ybV9ibG9jay5lczMyLmludmFsaWQuY29uZmxpY3Rpbmdfb3V0X2FuZF9p
bnN0YW5jZV9uYW1lX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy51bmlmb3JtX2Jsb2NrLmVzMzIuaW52YWxpZC5t
ZW1iZXJfaW5faW50ZXJmYWNlX3F1YWxpZmllcl9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMudW5pZm9ybV9ibG9j
ay5lczMyLmludmFsaWQucmVwZWF0ZWRfYmxvY2tfbm9faW5zdGFuY2VfbmFtZV92ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zaGFk
ZXJzLnVuaWZvcm1fYmxvY2suZXMzMi5pbnZhbGlkLnN0cnVjdHVyZV9kZWZpbml0aW9uX2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc2hhZGVycy51bmlmb3JtX2Jsb2NrLmVzMzIudmFsaWQubGF5b3V0X3N0ZDE0MF9mcmFnbWVu
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnNoYWRlcnMudW5pZm9ybV9ibG9jay5lczMyLnZhbGlkLnN0cnVjdF9tZW1iZXJfbGF5b3V0X2Fs
bF84X3RpbWVzX3ZlcnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNyZ2JfdGV4dHVyZV9kZWNvZGUuc2tpcF9kZWNvZGUuc3JnYmE4LnNr
aXBwZWQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zcmdiX3RleHR1cmVfZGVjb2RlLnNraXBfZGVjb2RlLnNyZ2JhOC50b2dnbGVkID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5h
dG9taWMuYW5kLmhpZ2hwX3VpbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmF0b21pYy5jb21wc3dhcC5sb3dwX3VpbnQgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxh
eW91dC4yX2xldmVsX2FycmF5LnNoYXJlZC5ib29sID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuMl9sZXZlbF9hcnJheS5z
aGFyZWQuY29sdW1uX21ham9yX21hdDN4NCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LjJfbGV2ZWxfYXJyYXkuc2hhcmVk
Lm1hdDIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5zc2JvLmxheW91dC4yX2xldmVsX2FycmF5LnNoYXJlZC52ZWMyID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuMl9s
ZXZlbF9hcnJheS5zdGQxNDAuaXZlYzMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC4yX2xldmVsX2FycmF5LnN0ZDE0MC51
dmVjMyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNzYm8ubGF5b3V0LjJfbGV2ZWxfYXJyYXkuc3RkNDMwLmJvb2wgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC4yX2xl
dmVsX3Vuc2l6ZWRfc3RydWN0X2FycmF5LnBlcl9ibG9ja19idWZmZXIuc3RkMTQwX2luc3RhbmNl
X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwuc3Niby5sYXlvdXQuM19sZXZlbF9hcnJheS5wYWNrZWQucm93X21ham9yX21hdDIgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2Jv
LmxheW91dC4zX2xldmVsX2FycmF5LnNoYXJlZC5mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LjNfbGV2ZWxfYXJy
YXkuc2hhcmVkLm1hdDR4MyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LjNfbGV2ZWxfYXJyYXkuc3RkMTQwLnZlYzQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2Jv
LmxheW91dC4zX2xldmVsX2FycmF5LnN0ZDQzMC5tYXQzeDIgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC4zX2xldmVsX3Vu
c2l6ZWRfYXJyYXkucGFja2VkLml2ZWMyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuM19sZXZlbF91bnNpemVkX2FycmF5
LnBhY2tlZC5tYXQyeDMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC4zX2xldmVsX3Vuc2l6ZWRfYXJyYXkucGFja2VkLm1h
dDN4NCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnNzYm8ubGF5b3V0LjNfbGV2ZWxfdW5zaXplZF9hcnJheS5zaGFyZWQucm93X21ham9yX21h
dDIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zc2JvLmxheW91dC4zX2xldmVsX3Vuc2l6ZWRfYXJyYXkuc2hhcmVkLnJvd19tYWpvcl9tYXQz
eDIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zc2JvLmxheW91dC4zX2xldmVsX3Vuc2l6ZWRfYXJyYXkuc2hhcmVkLnVpbnQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91
dC4zX2xldmVsX3Vuc2l6ZWRfYXJyYXkuc3RkMTQwLmNvbHVtbl9tYWpvcl9tYXQ0eDMgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxh
eW91dC4zX2xldmVsX3Vuc2l6ZWRfYXJyYXkuc3RkNDMwLm1hdDJ4NCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LmJhc2lj
X3Vuc2l6ZWRfYXJyYXkucGFja2VkLml2ZWMyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuYmFzaWNfdW5zaXplZF9hcnJh
eS5wYWNrZWQucm93X21ham9yX21hdDR4MyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LmJhc2ljX3Vuc2l6ZWRfYXJyYXku
c3RkMTQwLmNvbHVtbl9tYWpvcl9tYXQ0eDMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5iYXNpY191bnNpemVkX2FycmF5
LnN0ZDQzMC5yb3dfbWFqb3JfbWF0M3g0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuaW5zdGFuY2VfYXJyYXlfYmFzaWNf
dHlwZS5zdGQ0MzAuY29sdW1uX21ham9yX21hdDJ4MyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0Lmluc3RhbmNlX2FycmF5
X2Jhc2ljX3R5cGUuc3RkNDMwLnZlYzQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5yYW5kb20uYWxsX3Blcl9ibG9ja19i
dWZmZXJzLjEzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc3Niby5sYXlvdXQucmFuZG9tLmFsbF9wZXJfYmxvY2tfYnVmZmVycy4zMyA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8u
bGF5b3V0LnJhbmRvbS5hbGxfc2hhcmVkX2J1ZmZlci4xMiA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS5hbGxf
c2hhcmVkX2J1ZmZlci4yMyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS5hbGxfc2hhcmVkX2J1ZmZlci4zMiA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNz
Ym8ubGF5b3V0LnJhbmRvbS5hbGxfc2hhcmVkX2J1ZmZlci40MyA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS5u
ZXN0ZWRfc3RydWN0c19hcnJheXMuMTIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5yYW5kb20ubmVzdGVkX3N0cnVjdHNf
YXJyYXlzX2luc3RhbmNlX2FycmF5cy4yMiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnJhbmRvbS51bnNpemVkX2FycmF5
cy44ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc3Niby5sYXlvdXQucmFuZG9tLnZlY3Rvcl90eXBlcy4zID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuc2luZ2xlX2Jh
c2ljX2FycmF5LnNoYXJlZC5tYXQyeDMgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5zaW5nbGVfYmFzaWNfYXJyYXkuc3Rk
MTQwLmNvbHVtbl9tYWpvcl9tYXQyeDQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5zaW5nbGVfYmFzaWNfYXJyYXkuc3Rk
MTQwLm1hdDN4NCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnNzYm8ubGF5b3V0LnNpbmdsZV9iYXNpY19hcnJheS5zdGQxNDAudXZlYzMgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2Jv
LmxheW91dC5zaW5nbGVfYmFzaWNfdHlwZS5wYWNrZWQuaGlnaHBfaXZlYzQgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5z
aW5nbGVfYmFzaWNfdHlwZS5zaGFyZWQuY29sdW1uX21ham9yX2hpZ2hwX21hdDR4MyA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5
b3V0LnNpbmdsZV9iYXNpY190eXBlLnNoYXJlZC5jb2x1bW5fbWFqb3JfbG93cF9tYXQzeDQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2Jv
LmxheW91dC5zaW5nbGVfYmFzaWNfdHlwZS5zaGFyZWQuaGlnaHBfaXZlYzMgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5z
aW5nbGVfYmFzaWNfdHlwZS5zaGFyZWQuaGlnaHBfbWF0NCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnNpbmdsZV9iYXNp
Y190eXBlLnNoYXJlZC5oaWdocF91dmVjMiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnNpbmdsZV9iYXNpY190eXBlLnNo
YXJlZC5sb3dwX2Zsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuc2luZ2xlX2Jhc2ljX3R5cGUuc2hhcmVkLnJvd19t
YWpvcl9tZWRpdW1wX21hdDIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC5zc2JvLmxheW91dC5zaW5nbGVfYmFzaWNfdHlwZS5zdGQxNDAuY29s
dW1uX21ham9yX2xvd3BfbWF0NHgzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Niby5sYXlvdXQuc2luZ2xlX2Jhc2ljX3R5cGUuc3RkMTQw
LmhpZ2hwX21hdDJ4NCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnNpbmdsZV9iYXNpY190eXBlLnN0ZDQzMC5sb3dwX2l2
ZWM0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9u
YWwuc3Niby5sYXlvdXQuc2luZ2xlX2Jhc2ljX3R5cGUuc3RkNDMwLm1lZGl1bXBfbWF0Mng0ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3Ni
by5sYXlvdXQuc2luZ2xlX25lc3RlZF9zdHJ1Y3RfYXJyYXkucGVyX2Jsb2NrX2J1ZmZlci5zaGFy
ZWQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zc2JvLmxheW91dC5zaW5nbGVfbmVzdGVkX3N0cnVjdF9hcnJheS5wZXJfYmxvY2tfYnVmZmVy
LnN0ZDE0MCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnNzYm8ubGF5b3V0LnVuc2l6ZWRfbmVzdGVkX3N0cnVjdF9hcnJheS5zaW5nbGVfYnVm
ZmVyLnNoYXJlZF9pbnN0YW5jZV9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8ubGF5b3V0LnVuc2l6ZWRfc3RydWN0X2FycmF5
LnNpbmdsZV9idWZmZXIuc2hhcmVkX2luc3RhbmNlX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW5kZXhlZC5h
dG9taWNfY291bnRlcl9idWZmZXJfYmluZGluZ19nZXRpbnRlZ2VyNjRpX3YgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5p
bmRleGVkLmltYWdlX2JpbmRpbmdfbGV2ZWxfZ2V0aW50ZWdlcmlfdiA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVn
ZXIuYXRvbWljX2NvdW50ZXJfYnVmZmVyX2JpbmRpbmdfZ2V0ZmxvYXQgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRl
Z2VyLm1heF9hdG9taWNfY291bnRlcl9idWZmZXJfc2l6ZV9nZXRib29sZWFuID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnku
aW50ZWdlci5tYXhfY29tYmluZWRfY29tcHV0ZV91bmlmb3JtX2NvbXBvbmVudHNfZ2V0ZmxvYXQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5z
dGF0ZV9xdWVyeS5pbnRlZ2VyLm1heF9jb21iaW5lZF9nZW9tZXRyeV91bmlmb3JtX2NvbXBvbmVu
dHNfZ2V0Ym9vbGVhbiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVnZXIubWF4X2RlcHRoX3RleHR1cmVfc2FtcGxl
c19nZXRib29sZWFuID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW50ZWdlci5tYXhfZnJhZ21lbnRfdW5pZm9ybV9jb21w
b25lbnRzX2dldGZsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW50ZWdlci5tYXhfZnJhbWVidWZmZXJfbGF5ZXJz
X2dldGZsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW50ZWdlci5tYXhfZ2VvbWV0cnlfYXRvbWljX2NvdW50ZXJz
X2dldGJvb2xlYW4gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2VyLm1heF9zaGFkZXJfc3RvcmFnZV9idWZmZXJf
YmluZGluZ3NfZ2V0Ym9vbGVhbiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVnZXIubWF4X3Rlc3NfY29udHJvbF9p
bWFnZV91bmlmb3Jtc19nZXRmbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVnZXIubWF4X3Rlc3NfY29udHJv
bF9zaGFkZXJfc3RvcmFnZV9ibG9ja3NfZ2V0ZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2VyLm1heF90
ZXNzX2V2YWx1YXRpb25fdW5pZm9ybV9ibG9ja3NfZ2V0ZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2Vy
Lm1heF92ZXJ0ZXhfYXR0cmliX3N0cmlkZV9nZXRmbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVnZXIubWF4
X3ZlcnRleF91bmlmb3JtX3ZlY3RvcnNfZ2V0ZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS5pbnRlZ2VyLm1pbl9w
cm9ncmFtX3RleHR1cmVfZ2F0aGVyX29mZnNldF9nZXRib29sZWFuID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkuaW50ZWdl
ci5zaGFkZXJfc3RvcmFnZV9idWZmZXJfYmluZGluZ19nZXRmbG9hdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVn
ZXIudGV4dHVyZV9idWZmZXJfYmluZGluZ19nZXRmbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LmludGVybmFsX2Zv
cm1hdC5yZW5kZXJidWZmZXIuZGVwdGhfY29tcG9uZW50MTZfc2FtcGxlcyA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5Lmlu
dGVybmFsX2Zvcm1hdC50ZXh0dXJlXzJkX211bHRpc2FtcGxlLnJnYjU2NV9zYW1wbGVzID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVf
cXVlcnkuaW50ZXJuYWxfZm9ybWF0LnRleHR1cmVfMmRfbXVsdGlzYW1wbGVfYXJyYXkucmdiYTMy
Zl9zYW1wbGVzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc3RhdGVfcXVlcnkudGV4dHVyZS5zZXRfcHVyZV91aW50LnRleHR1cmVfbWF4X2xv
ZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnN0YXRlX3F1ZXJ5LnRleHR1cmVfbGV2ZWwudGV4dHVyZV8yZC5ibHVlX3NpemVfZmxvYXQgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0
ZV9xdWVyeS50ZXh0dXJlX2xldmVsLnRleHR1cmVfMmQuY29tcHJlc3NlZF9mbG9hdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1
ZXJ5LnRleHR1cmVfbGV2ZWwudGV4dHVyZV8yZC5maXhlZF9zYW1wbGVfbG9jYXRpb25zX2ludGVn
ZXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC5zdGF0ZV9xdWVyeS50ZXh0dXJlX2xldmVsLnRleHR1cmVfMmRfbXVsdGlzYW1wbGUuY29tcHJl
c3NlZF9mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LnRleHR1cmVfbGV2ZWwudGV4dHVyZV8yZF9tdWx0aXNhbXBs
ZV9hcnJheS5hbHBoYV90eXBlX2Zsb2F0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnkudGV4dHVyZV9sZXZlbC50ZXh0dXJl
XzJkX211bHRpc2FtcGxlX2FycmF5LmJsdWVfc2l6ZV9mbG9hdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LnRleHR1cmVf
bGV2ZWwudGV4dHVyZV8yZF9tdWx0aXNhbXBsZV9hcnJheS5jb21wcmVzc2VkX2Zsb2F0ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVf
cXVlcnkudGV4dHVyZV9sZXZlbC50ZXh0dXJlXzNkLmFscGhhX3NpemVfaW50ZWdlciA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1
ZXJ5LnRleHR1cmVfbGV2ZWwudGV4dHVyZV8zZC5hbHBoYV90eXBlX2Zsb2F0ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RhdGVfcXVlcnku
dGV4dHVyZV9sZXZlbC50ZXh0dXJlXzNkLmdyZWVuX3R5cGVfZmxvYXQgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS50ZXh0
dXJlX2xldmVsLnRleHR1cmVfM2QucmVkX3NpemVfZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS50ZXh0dXJlX2xl
dmVsLnRleHR1cmVfYnVmZmVyLmdyZWVuX3R5cGVfZmxvYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS50ZXh0dXJlX2xl
dmVsLnRleHR1cmVfY3ViZV9tYXAuYmx1ZV90eXBlX2ludGVnZXIgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zdGF0ZV9xdWVyeS50ZXh0dXJl
X2xldmVsLnRleHR1cmVfY3ViZV9tYXAuYnVmZmVyX29mZnNldF9mbG9hdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0YXRlX3F1ZXJ5LnRl
eHR1cmVfbGV2ZWwudGV4dHVyZV9jdWJlX21hcC53aWR0aF9mbG9hdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN0ZW5jaWxfdGV4dHVyaW5n
LnJlbmRlci5kZXB0aDI0X3N0ZW5jaWw4X2NsZWFyID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3RlbmNpbF90ZXh0dXJpbmcucmVuZGVyLmRl
cHRoMzJmX3N0ZW5jaWw4X2NsZWFyID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwuc3luY2hyb25pemF0aW9uLmluX2ludm9jYXRpb24uaW1hZ2Vf
YXRvbWljX292ZXJ3cml0ZSA9IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnN5bmNocm9uaXphdGlvbi5pbl9pbnZvY2F0aW9uLnNzYm9fYWxpYXNf
b3ZlcndyaXRlID0gU0tJUAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwuc3luY2hyb25pemF0aW9uLmluX2ludm9jYXRpb24uc3Nib19hbGlhc193cml0ZSA9
IFNLSVAKIDU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnN5
bmNocm9uaXphdGlvbi5pbl9pbnZvY2F0aW9uLnNzYm9fYXRvbWljX3JlYWRfd3JpdGUgPSBTS0lQ
CiA1OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5zeW5jaHJv
bml6YXRpb24uaW50ZXJfY2FsbC53aXRoX21lbW9yeV9iYXJyaWVyLmltYWdlX2F0b21pY193cml0
ZV9yZWFkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwudGVzc2VsbGF0aW9uLmludmFyaWFuY2Uub25lX21pbnVzX3Rlc3NfY29vcmRfY29tcG9u
ZW50Lmlzb2xpbmVzX2ZyYWN0aW9uYWxfb2RkX3NwYWNpbmdfY2N3ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGVzc2VsbGF0aW9uLmludmFy
aWFuY2Uub25lX21pbnVzX3Rlc3NfY29vcmRfY29tcG9uZW50LnF1YWRzX2ZyYWN0aW9uYWxfb2Rk
X3NwYWNpbmdfY3dfcG9pbnRfbW9kZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRlc3NlbGxhdGlvbi5pbnZhcmlhbmNlLm91dGVyX2VkZ2Vf
c3ltbWV0cnkuaXNvbGluZXNfZnJhY3Rpb25hbF9ldmVuX3NwYWNpbmdfY2N3X3BvaW50X21vZGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50
ZXNzZWxsYXRpb24uaW52YXJpYW5jZS5vdXRlcl9lZGdlX3N5bW1ldHJ5LnF1YWRzX2ZyYWN0aW9u
YWxfZXZlbl9zcGFjaW5nX2N3ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwudGVzc2VsbGF0aW9uLmludmFyaWFuY2Uub3V0ZXJfZWRnZV9zeW1t
ZXRyeS50cmlhbmdsZXNfZXF1YWxfc3BhY2luZ19jdyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRlc3NlbGxhdGlvbi5pbnZhcmlhbmNlLm91
dGVyX3RyaWFuZ2xlX3NldC50cmlhbmdsZXNfZnJhY3Rpb25hbF9vZGRfc3BhY2luZyA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRlc3NlbGxh
dGlvbi5pbnZhcmlhbmNlLnByaW1pdGl2ZV9zZXQucXVhZHNfZXF1YWxfc3BhY2luZ19jd19wb2lu
dF9tb2RlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwudGVzc2VsbGF0aW9uLmludmFyaWFuY2UudGVzc19jb29yZF9jb21wb25lbnRfcmFuZ2Uu
aXNvbGluZXNfZnJhY3Rpb25hbF9ldmVuX3NwYWNpbmdfY3dfcG9pbnRfbW9kZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRlc3NlbGxhdGlv
bi5pbnZhcmlhbmNlLnRyaWFuZ2xlX3NldC50cmlhbmdsZXNfZnJhY3Rpb25hbF9ldmVuX3NwYWNp
bmcgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC50ZXNzZWxsYXRpb24uc3RhdGVfcXVlcnkubWF4X3Rlc3NfY29udHJvbF91bmlmb3JtX2Jsb2Nr
cyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnRlc3NlbGxhdGlvbi51c2VyX2RlZmluZWRfaW8ucGVyX3ZlcnRleC52ZXJ0ZXhfaW9fYXJyYXlf
c2l6ZV9zaGFkZXJfYnVpbHRpbi5pc29saW5lc19leHBsaWNpdF90Y3Nfb3V0X3NpemUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXNzZWxs
YXRpb24ud2luZGluZy50cmlhbmdsZXNfY2N3ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGVzc2VsbGF0aW9uX2dlb21ldHJ5X2ludGVyYWN0
aW9uLnBvaW50X3NpemUuZXZhbHVhdGlvbl9zZXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5mb3JtYXRz
LmNvbXByZXNzZWRfcjExX2VhYy5saW5lYXJfc2l6ZV9ub3RfdGlsZV9tdWx0aXBsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUu
Ym9yZGVyX2NsYW1wLmZvcm1hdHMuZGVwdGgzMmZfc3RlbmNpbDhfc2FtcGxlX3N0ZW5jaWwuZ2F0
aGVyX3NpemVfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
MS5mdW5jdGlvbmFsLnRleHR1cmUuYm9yZGVyX2NsYW1wLmZvcm1hdHMubHVtaW5hbmNlLm5lYXJl
c3Rfc2l6ZV9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5mb3JtYXRzLnI4dWkuZ2F0aGVyX3NpemVf
bnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnRleHR1cmUuYm9yZGVyX2NsYW1wLmZvcm1hdHMucmdiMTBfYTIuZ2F0aGVyX3NpemVfbnBv
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnRleHR1cmUuYm9yZGVyX2NsYW1wLmZvcm1hdHMucmdiOC5saW5lYXJfc2l6ZV9ucG90ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVy
ZS5ib3JkZXJfY2xhbXAuZm9ybWF0cy5yZ2JhMTZmLm5lYXJlc3Rfc2l6ZV9ucG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5i
b3JkZXJfY2xhbXAuZm9ybWF0cy5yZ2JhNC5nYXRoZXJfc2l6ZV9ucG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5ib3JkZXJf
Y2xhbXAuZm9ybWF0cy5zcmdiOF9hbHBoYTguZ2F0aGVyX3NpemVfbnBvdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuYm9yZGVy
X2NsYW1wLnBlcl9heGlzX3dyYXBfbW9kZS50ZXh0dXJlXzJkLmNvbXByZXNzZWRfY29sb3IubGlu
ZWFyLnNfcmVwZWF0X3RfY2xhbXBfdG9fYm9yZGVyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5w
ZXJfYXhpc193cmFwX21vZGUudGV4dHVyZV8yZC5mbG9hdF9jb2xvci5uZWFyZXN0LnNfbWlycm9y
ZWRfcmVwZWF0X3RfY2xhbXBfdG9fYm9yZGVyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5wZXJf
YXhpc193cmFwX21vZGUudGV4dHVyZV8yZC5zbm9ybV9jb2xvci5uZWFyZXN0LnNfcmVwZWF0X3Rf
Y2xhbXBfdG9fYm9yZGVyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5wZXJfYXhpc193cmFwX21v
ZGUudGV4dHVyZV8yZC51aW50X2NvbG9yLm5lYXJlc3Quc19jbGFtcF90b19lZGdlX3RfY2xhbXBf
dG9fYm9yZGVyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC50ZXh0dXJlLmJvcmRlcl9jbGFtcC5wZXJfYXhpc193cmFwX21vZGUudGV4
dHVyZV8yZC51aW50X3N0ZW5jaWwuZ2F0aGVyLnNfbWlycm9yZWRfcmVwZWF0X3RfY2xhbXBfdG9f
Ym9yZGVyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnRleHR1cmUuYm9yZGVyX2NsYW1wLnBlcl9heGlzX3dyYXBfbW9kZS50ZXh0dXJl
XzJkLnVub3JtX2RlcHRoLm5lYXJlc3Quc19taXJyb3JlZF9yZXBlYXRfdF9jbGFtcF90b19ib3Jk
ZXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnRleHR1cmUuZmlsdGVyaW5nLmN1YmVfYXJyYXkuY29tYmluYXRpb25zLm5lYXJlc3Rf
bWlwbWFwX25lYXJlc3RfbmVhcmVzdF9jbGFtcF9yZXBlYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmZvcm1hdC5idWZmZXIu
cjMyZl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwudGV4dHVyZS5mb3JtYXQuc2l6ZWQuY3ViZV9hcnJheS5yMTZ1aV9ucG90ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVy
ZS5mb3JtYXQuc2l6ZWQuY3ViZV9hcnJheS5yOGlfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuZm9ybWF0LnNpemVkLmN1
YmVfYXJyYXkucmdiNTY1X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmZvcm1hdC5zaXplZC5jdWJlX2FycmF5LnNyZ2I4
X2FscGhhOF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEu
ZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5iYXNpYy4yZC5kZXB0aDMyZi5maWx0ZXJfbW9kZS5t
aW5fbmVhcmVzdF9taXBtYXBfbmVhcmVzdF9tYWdfbGluZWFyID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIuYmFzaWMu
MmQuZGVwdGgzMmYuc2l6ZV9wb3QuY29tcGFyZV9ncmVhdGVyLnJlcGVhdF9taXJyb3JlZF9yZXBl
YXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25h
bC50ZXh0dXJlLmdhdGhlci5iYXNpYy4yZC5yZ2JhOC5maWx0ZXJfbW9kZS5taW5fbmVhcmVzdF9t
aXBtYXBfbGluZWFyX21hZ19saW5lYXIgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5iYXNpYy4yZC5yZ2JhOGkudGV4
dHVyZV9zd2l6emxlLmJsdWVfYWxwaGFfemVyb19vbmUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5iYXNpYy4yZC5y
Z2JhOHVpLmJhc2VfbGV2ZWwubGV2ZWxfMiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuZ2F0aGVyLmJhc2ljLmN1YmUucmdiYTgu
c2l6ZV9wb3QuY2xhbXBfdG9fZWRnZV9yZXBlYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5vZmZzZXQuaW1wbGVt
ZW50YXRpb25fb2Zmc2V0LjJkLmRlcHRoMzJmLnNpemVfbnBvdC5jb21wYXJlX2xlc3MuY2xhbXBf
dG9fZWRnZV9yZXBlYXQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
MzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5vZmZzZXQuaW1wbGVtZW50YXRpb25fb2Zmc2V0
LjJkLnJnYmE4aS5zaXplX25wb3QubWlycm9yZWRfcmVwZWF0X2NsYW1wX3RvX2VkZ2UgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJl
LmdhdGhlci5vZmZzZXQuaW1wbGVtZW50YXRpb25fb2Zmc2V0LjJkX2FycmF5LnJnYmE4LnRleHR1
cmVfc3dpenpsZS5ncmVlbl9ibHVlX2FscGhhX3plcm8gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdhdGhlci5vZmZzZXQuaW1w
bGVtZW50YXRpb25fb2Zmc2V0LjJkX2FycmF5LnJnYmE4dWkudGV4dHVyZV9zd2l6emxlLmdyZWVu
X2JsdWVfYWxwaGFfemVybyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuZ2F0aGVyLm9mZnNldC5taW5fcmVxdWlyZWRfb2Zmc2V0
LjJkX2FycmF5LnJnYmE4aS5zaXplX25wb3QuY2xhbXBfdG9fZWRnZV9yZXBlYXQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdh
dGhlci5vZmZzZXRfZHluYW1pYy5pbXBsZW1lbnRhdGlvbl9vZmZzZXQuMmQucmdiYThpLnNpemVf
bnBvdC5jbGFtcF90b19lZGdlX3JlcGVhdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuZ2F0aGVyLm9mZnNldF9keW5hbWljLmlt
cGxlbWVudGF0aW9uX29mZnNldC4yZF9hcnJheS5yZ2JhOC50ZXh0dXJlX3N3aXp6bGUuYWxwaGFf
emVyb19vbmVfcmVkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIub2Zmc2V0X2R5bmFtaWMuaW1wbGVtZW50YXRpb25f
b2Zmc2V0LjJkX2FycmF5LnJnYmE4dWkudGV4dHVyZV9zd2l6emxlLmFscGhhX3plcm9fb25lX3Jl
ZCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFs
LnRleHR1cmUuZ2F0aGVyLm9mZnNldF9keW5hbWljLm1pbl9yZXF1aXJlZF9vZmZzZXQuMmQuZGVw
dGgzMmYuc2l6ZV9wb3QuY29tcGFyZV9sZXNzLmNsYW1wX3RvX2VkZ2VfcmVwZWF0ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5n
YXRoZXIub2Zmc2V0cy5pbXBsZW1lbnRhdGlvbl9vZmZzZXQuMmQuZGVwdGgzMmYuc2l6ZV9ucG90
LmNvbXBhcmVfZ3JlYXRlci5yZXBlYXRfbWlycm9yZWRfcmVwZWF0ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIub2Zm
c2V0cy5pbXBsZW1lbnRhdGlvbl9vZmZzZXQuMmQucmdiYTh1aS50ZXh0dXJlX3N3aXp6bGUuYWxw
aGFfemVyb19vbmVfcmVkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIub2Zmc2V0cy5pbXBsZW1lbnRhdGlvbl9vZmZz
ZXQuMmRfYXJyYXkucmdiYTguc2l6ZV9wb3QuY2xhbXBfdG9fZWRnZV9yZXBlYXQgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLmdh
dGhlci5vZmZzZXRzLm1pbl9yZXF1aXJlZF9vZmZzZXQuMmQuZGVwdGgzMmYuc2l6ZV9wb3QuY29t
cGFyZV9sZXNzLm1pcnJvcmVkX3JlcGVhdF9jbGFtcF90b19lZGdlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIub2Zm
c2V0cy5taW5fcmVxdWlyZWRfb2Zmc2V0LjJkLnJnYmE4dWkuc2l6ZV9ucG90LmNsYW1wX3RvX2Vk
Z2VfcmVwZWF0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwudGV4dHVyZS5nYXRoZXIub2Zmc2V0cy5taW5fcmVxdWlyZWRfb2Zmc2V0LjJkX2Fy
cmF5LmRlcHRoMzJmLnNpemVfcG90LmNvbXBhcmVfbGVzcy5yZXBlYXRfbWlycm9yZWRfcmVwZWF0
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
dGV4dHVyZS5nYXRoZXIub2Zmc2V0cy5taW5fcmVxdWlyZWRfb2Zmc2V0LjJkX2FycmF5LnJnYmE4
aS5zaXplX3BvdC5taXJyb3JlZF9yZXBlYXRfY2xhbXBfdG9fZWRnZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuZ2F0aGVyLm9m
ZnNldHMubWluX3JlcXVpcmVkX29mZnNldC4yZF9hcnJheS5yZ2JhOHVpLnNpemVfbnBvdC5yZXBl
YXRfbWlycm9yZWRfcmVwZWF0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5tdWx0aXNhbXBsZS5uZWdhdGl2ZS5mYm9fYXR0YWNo
X2RpZmZlcmVudF9zYW1wbGVfY291bnRfdGV4X3RleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUubXVsdGlzYW1wbGUubmVnYXRp
dmUudGV4dHVyZV9oaWdoX3NhbXBsZV9jb3VudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUubXVsdGlzYW1wbGUuc2FtcGxlc18x
MC51c2VfdGV4dHVyZV91aW50XzJkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5tdWx0aXNhbXBsZS5zYW1wbGVzXzEzLnVzZV90
ZXh0dXJlX2RlcHRoXzJkX2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS5zcGVjaWZpY2F0aW9uLmJhc2ljX3RleGltYWdl
M2Quc3JnYjhfY3ViZV9hcnJheSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnRleHR1cmUuc3BlY2lmaWNhdGlvbi50ZXhpbWFnZTNkX2RlcHRo
LmRlcHRoX2NvbXBvbmVudDE2X2N1YmVfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLnNwZWNpZmljYXRpb24udGV4c3Vi
aW1hZ2UzZF9wYm8ucmdiNTY1X2N1YmVfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLnRleHR1cmVfYnVmZmVyLm1vZGlm
eS5tYXBidWZmZXJfcmVhZHdyaXRlLmJ1ZmZlcl9zaXplXzY1NTM2ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudGV4dHVyZS50ZXh0dXJlX2J1
ZmZlci5tb2RpZnlfcmVuZGVyLmJ1ZmZlcmRhdGEuYXNfdmVydGV4X3RleHR1cmVfYXNfZnJhZ21l
bnRfdGV4dHVyZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnRleHR1cmUudGV4dHVyZV9idWZmZXIubW9kaWZ5X3JlbmRlci5tYXBidWZmZXJf
d3JpdGUuYXNfdmVydGV4X2FycmF5X2FzX2luZGV4X2FycmF5X2FzX2ZyYWdtZW50X3RleHR1cmUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50
ZXh0dXJlLnRleHR1cmVfYnVmZmVyLnJlbmRlci5hc19pbmRleF9hcnJheS5vZmZzZXRfMV9hbGln
bm1lbnRzID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0
aW9uYWwudGV4dHVyZS50ZXh0dXJlX2J1ZmZlci5yZW5kZXJfbW9kaWZ5LmFzX3ZlcnRleF9hcnJh
eV9hc19pbmRleF9hcnJheV9hc19mcmFnbWVudF90ZXh0dXJlLmJ1ZmZlcmRhdGEgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC50ZXh0dXJlLnRl
eHR1cmVfYnVmZmVyLnJlbmRlcl9tb2RpZnkuYXNfdmVydGV4X2FycmF5X2FzX3ZlcnRleF90ZXh0
dXJlX2FzX2ZyYWdtZW50X3RleHR1cmUubWFwYnVmZmVyX3JlYWR3cml0ZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnViby4yX2xldmVsX2Fy
cmF5LnBhY2tlZC5pdmVjMl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8uMl9sZXZlbF9hcnJheS5wYWNrZWQubWF0NHgyX3Zl
cnRleCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlv
bmFsLnViby4yX2xldmVsX2FycmF5LnNoYXJlZC5jb2x1bW5fbWFqb3JfbWF0NHgyX2JvdGggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8u
Ml9sZXZlbF9hcnJheS5zaGFyZWQubWF0M19ib3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjJfbGV2ZWxfYXJyYXkuc2hhcmVkLm1h
dDRfYm90aCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnViby4yX2xldmVsX2FycmF5LnNoYXJlZC5yb3dfbWFqb3JfbWF0MngzX2ZyYWdtZW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwu
dWJvLjJfbGV2ZWxfYXJyYXkuc3RkMTQwLm1hdDJ4NF92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8uMl9sZXZlbF9hcnJheS5z
dGQxNDAubWF0M3g0X2JvdGggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMzEuZnVuY3Rpb25hbC51Ym8uMl9sZXZlbF9hcnJheS5zdGQxNDAucm93X21ham9yX21hdDR4
M19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnViby4yX2xldmVsX2FycmF5LnN0ZDE0MC52ZWMyX2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjJfbGV2
ZWxfc3RydWN0X2FycmF5LnBlcl9ibG9ja19idWZmZXIuc3RkMTQwX2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2
ZWxfYXJyYXkucGFja2VkLnJvd19tYWpvcl9tYXQyX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXku
c2hhcmVkLmNvbHVtbl9tYWpvcl9tYXQzeDJfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXkuc2hhcmVk
Lml2ZWMzX2ZyYWdtZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXkuc2hhcmVkLm1hdDJ4M192ZXJ0ZXggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8u
M19sZXZlbF9hcnJheS5zaGFyZWQubWF0M19ib3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXkuc2hhcmVkLm1h
dDN4Ml9ib3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXkuc2hhcmVkLm1hdDN4NF9ib3RoID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2ZWxf
YXJyYXkuc2hhcmVkLnJvd19tYWpvcl9tYXQ0eDJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8uM19sZXZlbF9hcnJheS5z
aGFyZWQucm93X21ham9yX21hdDR4M19mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnViby4zX2xldmVsX2FycmF5LnNoYXJlZC51
dmVjNF9ib3RoID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1
bmN0aW9uYWwudWJvLjNfbGV2ZWxfYXJyYXkuc3RkMTQwLmJ2ZWMyX2ZyYWdtZW50ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudWJvLjNfbGV2
ZWxfYXJyYXkuc3RkMTQwLm1hdDJfZnJhZ21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51Ym8uM19sZXZlbF9hcnJheS5zdGQxNDAudmVj
Ml9mcmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5m
dW5jdGlvbmFsLnVuaWZvcm1fbG9jYXRpb24uYXJyYXkuYnZlYzJfdmVydGV4ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudW5pZm9ybV9sb2Nh
dGlvbi5iYXNpYy51dmVjMl92ZXJ0ZXggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51bmlmb3JtX2xvY2F0aW9uLm1pbl9tYXguaW50X2ZyYWdt
ZW50X21pbiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5j
dGlvbmFsLnVuaWZvcm1fbG9jYXRpb24ubWluX21heC5pc2FtcGxlcjJEX2ZyYWdtZW50X21heCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnVu
aWZvcm1fbG9jYXRpb24ubWluX21heC5tYXQzeDRfZnJhZ21lbnRfbWF4ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudW5pZm9ybV9sb2NhdGlv
bi5taW5fbWF4Lm1hdDRfZnJhZ21lbnRfbWluID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudW5pZm9ybV9sb2NhdGlvbi5uZXN0ZWRfYXJyYXku
YnZlYzRfdmVydGV4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMx
LmZ1bmN0aW9uYWwudW5pZm9ybV9sb2NhdGlvbi5uZXN0ZWRfYXJyYXkuaXZlYzRfZnJhZ21lbnQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC51
bmlmb3JtX2xvY2F0aW9uLm5lc3RlZF9hcnJheS5tYXQ0eDNfdmVydGV4ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwudW5pZm9ybV9sb2NhdGlv
bi5zdHJ1Y3QuY2FzZV8xMCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzMS5mdW5jdGlvbmFsLnZlcnRleF9hdHRyaWJ1dGVfYmluZGluZy51c2FnZS5tdWx0aXBsZV9i
aW5kaW5ncy56ZXJvX3N0cmlkZSA9IFNLSVAKIAogLy8gRmFpbHMgd2hlbiB0aGUgZXhwcmVzc2lv
biBiZWluZyBpbnRlcnBvbGF0ZWQgYXMgYW4gaW5kZXhlZCB2YXJ5aW5nIGFycmF5LgogNjE5NCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5tdWx0aXNh
bXBsZV9pbnRlcnBvbGF0aW9uLmludGVycG9sYXRlX2F0X29mZnNldC5hcnJheV9lbGVtZW50Liog
PSBGQUlMCiAKIC8vIFBpeGVsIDYgZXhwZWN0YXRpb25zCisKKy8vIFRoaXMgdGVzdCBjcmFzaGVz
IGFzIG9mIDMvMjUvMjIsIGV2ZW4gd2l0aCBwcmUtcmVsZWFzZSBBbmRyb2lkIFQgZHJpdmVyczoK
IDY5MDggUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuc2hhZGVycy5saW5r
YWdlLmVzMzEudGVzc2VsbGF0aW9uLnZhcnlpbmcucnVsZXMuaW50ZXJuYWxfZGlmZmVyZW50X3By
ZWNpc2lvbiA9IFNLSVAKIAotNjkxMCBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMzEuZnVuY3Rp
b25hbC5nZW9tZXRyeV9zaGFkaW5nLmxheWVyZWQubGF5ZXJfcHJvdm9raW5nX3ZlcnRleF8qID0g
RkFJTAorLy8gVGhlc2UgdGVzdHMgZmFpbCBvbiB0aGUgQW5kcm9pZCBTIGJvdHMsIGJ1dCBwYXNz
IG9uIHByZS1yZWxlYXNlIEFuZHJvaWQgVCBkcml2ZXJzIGFzIG9mIDMvMjUvMjI6CiA2OTEwIFBJ
WEVMNiBWVUxLQU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLmdlb21ldHJ5X3NoYWRpbmcucXVl
cnkubWF4X2dlb21ldHJ5X2lucHV0X2NvbXBvbmVudHMgPSBGQUlMCiA2OTEwIFBJWEVMNiBWVUxL
QU4gOiBkRVFQLUdMRVMzMS5mdW5jdGlvbmFsLnNoYWRlcnMubGlua2FnZS5lczMxLnRlc3NlbGxh
dGlvbl9nZW9tZXRyeS52YXJ5aW5nLnJ1bGVzLmRpZmZlcmVudF9wcmVjaXNpb24gPSBGQUlMCisv
LyBUaGlzIHRlc3QgZmFpbHMgb24gcHJlLXJlbGVhc2UgQW5kcm9pZCBUIGRyaXZlcnMgYXMgb2Yg
My8yNS8yMjoKKzY5MTAgUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xFUzMxLmZ1bmN0aW9uYWwuZ2Vv
bWV0cnlfc2hhZGluZy5sYXllcmVkLmxheWVyX3Byb3Zva2luZ192ZXJ0ZXhfKiA9IEZBSUwKKyAK
Ky8vIEdlb21ldHJ5IHNoYWRlciBzdXBwb3J0OgorLy8gVGhpcyBmYWlscyBvbiBwcmUtcmVsZWFz
ZSBBbmRyb2lkIFQgZHJpdmVycyBhcyBvZiAzLzI1LzIyOgorNTQzMCBQSVhFTDYgVlVMS0FOIDog
ZEVRUC1HTEVTMzEuZnVuY3Rpb25hbC5nZW9tZXRyeV9zaGFkaW5nLnF1ZXJ5LnByaW1pdGl2ZXNf
Z2VuZXJhdGVkXyogPSBGQUlMCiAKIC8vIEFTQU4gVGVzdCBidWdzCiA2Njc4IEFTQU4gOiBkRVFQ
LUdMRVMzMS5mdW5jdGlvbmFsLnNzYm8uYXJyYXlfbGVuZ3RoLiogPSBTS0lQCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfZ2xl
czNfVGVzdEV4cGVjdGF0aW9ucyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9k
ZXFwX3N1cHBvcnQvZGVxcF9nbGVzM19UZXN0RXhwZWN0YXRpb25zCmluZGV4IGE5YTNmY2M2NDUz
NzI0MWIwZGMyNGY4ODlkNzk1YTA4Yzk2MDVlNmIuLjViMGQzNWYxNWQyNThlNWU5MDFmMWE4ZTEy
NWU4NjEyZmE0ZjdmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90
ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9nbGVzM19UZXN0RXhwZWN0YXRpb25zCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9nbGVzM19UZXN0
RXhwZWN0YXRpb25zCkBAIC03NDAsMTA0NSArNzQwLDggQEAKIC8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KIAogLy8gUGl4ZWwgNCBleHBlY3RhdGlvbnMuCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9i
dWZmZXIuYXJyYXlfY29weV9yZWFkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLmFycmF5X2NvcHlf
d3JpdGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuYXJyYXlfZWxlbWVudF9hcnJheSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNv
cHkuc2luZ2xlX2J1ZmZlci5hcnJheV9waXhlbF9wYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVy
LmFycmF5X3BpeGVsX3VucGFjayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5hcnJheV90cmFuc2Zv
cm1fZmVlZGJhY2sgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuYXJyYXlfdW5pZm9ybSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNv
cHkuc2luZ2xlX2J1ZmZlci5jb3B5X3JlYWRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIu
Y29weV9yZWFkX2NvcHlfd3JpdGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuY29weV9yZWFkX2Vs
ZW1lbnRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuY29weV9yZWFkX3BpeGVsX3BhY2sg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1
ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuY29weV9yZWFkX3BpeGVsX3VucGFjayA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHku
c2luZ2xlX2J1ZmZlci5jb3B5X3JlYWRfdHJhbnNmb3JtX2ZlZWRiYWNrID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5n
bGVfYnVmZmVyLmNvcHlfcmVhZF91bmlmb3JtID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLmNvcHlf
d3JpdGVfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuY29weV93cml0ZV9jb3B5X3JlYWQg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1
ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuY29weV93cml0ZV9lbGVtZW50X2FycmF5ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29w
eS5zaW5nbGVfYnVmZmVyLmNvcHlfd3JpdGVfcGl4ZWxfcGFjayA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1
ZmZlci5jb3B5X3dyaXRlX3BpeGVsX3VucGFjayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5jb3B5
X3dyaXRlX3RyYW5zZm9ybV9mZWVkYmFjayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5jb3B5X3dy
aXRlX3VuaWZvcm0gPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIuZWxlbWVudF9hcnJheV9hcnJheSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVm
ZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5lbGVtZW50X2FycmF5X2NvcHlfcmVhZCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHku
c2luZ2xlX2J1ZmZlci5lbGVtZW50X2FycmF5X2NvcHlfd3JpdGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9i
dWZmZXIuZWxlbWVudF9hcnJheV9waXhlbF9wYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLmVs
ZW1lbnRfYXJyYXlfcGl4ZWxfdW5wYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLmVsZW1lbnRf
YXJyYXlfdHJhbnNmb3JtX2ZlZWRiYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLmVsZW1lbnRf
YXJyYXlfdW5pZm9ybSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5waXhlbF9wYWNrX2FycmF5ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZm
ZXIuY29weS5zaW5nbGVfYnVmZmVyLnBpeGVsX3BhY2tfY29weV9yZWFkID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5n
bGVfYnVmZmVyLnBpeGVsX3BhY2tfY29weV93cml0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci5w
aXhlbF9wYWNrX2VsZW1lbnRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIucGl4ZWxfcGFj
a19waXhlbF91bnBhY2sgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIucGl4ZWxfcGFja190cmFuc2Zv
cm1fZmVlZGJhY2sgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIucGl4ZWxfcGFja191bmlmb3JtID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZm
ZXIuY29weS5zaW5nbGVfYnVmZmVyLnBpeGVsX3VucGFja19hcnJheSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xl
X2J1ZmZlci5waXhlbF91bnBhY2tfY29weV9yZWFkID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnBp
eGVsX3VucGFja19jb3B5X3dyaXRlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnBpeGVsX3VucGFj
a19lbGVtZW50X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnBpeGVsX3VucGFja19waXhl
bF9wYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnBpeGVsX3VucGFja190cmFuc2Zvcm1fZmVl
ZGJhY2sgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIucGl4ZWxfdW5wYWNrX3VuaWZvcm0gPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5j
b3B5LnNpbmdsZV9idWZmZXIudHJhbnNmb3JtX2ZlZWRiYWNrX2FycmF5ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29weS5zaW5n
bGVfYnVmZmVyLnRyYW5zZm9ybV9mZWVkYmFja19jb3B5X3JlYWQgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9i
dWZmZXIudHJhbnNmb3JtX2ZlZWRiYWNrX2NvcHlfd3JpdGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZm
ZXIudHJhbnNmb3JtX2ZlZWRiYWNrX2VsZW1lbnRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZm
ZXIudHJhbnNmb3JtX2ZlZWRiYWNrX3BpeGVsX3BhY2sgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIu
dHJhbnNmb3JtX2ZlZWRiYWNrX3BpeGVsX3VucGFjayA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci50
cmFuc2Zvcm1fZmVlZGJhY2tfdW5pZm9ybSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZlci51bmlmb3Jt
X2FycmF5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnVuaWZvcm1fY29weV9yZWFkID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZmZXIuY29w
eS5zaW5nbGVfYnVmZmVyLnVuaWZvcm1fY29weV93cml0ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuYnVmZmVyLmNvcHkuc2luZ2xlX2J1ZmZl
ci51bmlmb3JtX2VsZW1lbnRfYXJyYXkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmJ1ZmZlci5jb3B5LnNpbmdsZV9idWZmZXIudW5pZm9ybV9w
aXhlbF9wYWNrID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5idWZmZXIuY29weS5zaW5nbGVfYnVmZmVyLnVuaWZvcm1fcGl4ZWxfdW5wYWNrID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5idWZm
ZXIuY29weS5zaW5nbGVfYnVmZmVyLnVuaWZvcm1fdHJhbnNmb3JtX2ZlZWRiYWNrID0gU0tJUAog
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8uaW52YWxp
ZGF0ZS5kZWZhdWx0LmJpbmRfZGVwdGggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3IxMWZf
ZzExZl9iMTBmX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVj
cmVhdGVfY29sb3IucmJvX3IxNmZfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJv
LnJlbmRlci5yZWNyZWF0ZV9jb2xvci5yYm9fcjE2aV9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0
X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnJib19yMzJmX2RlcHRoX3N0ZW5jaWxf
cmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3IzMmlfZGVw
dGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci5y
Ym9fcjhpX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVh
dGVfY29sb3IucmJvX3JnMTZmX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5y
ZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3JnMTZpX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRf
c3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3JnMzJmX2RlcHRoX3N0ZW5jaWxf
cmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3JnMzJpX2Rl
cHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3Iu
cmJvX3JnOGlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNy
ZWF0ZV9jb2xvci5yYm9fcmdiMTBfYTJfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2ls
OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci5yYm9fcmdiMTBfYTJ1aV9kZXB0aF9zdGVuY2lsX3Ji
b19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnJib19yZ2IxNmZfZGVw
dGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci5y
Ym9fcmdiNTY1X2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVj
cmVhdGVfY29sb3IucmJvX3JnYjVfYTFfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2ls
OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci5yYm9fcmdiOF9kZXB0aF9zdGVuY2lsX3Jib19kZXB0
aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnJib19yZ2JhMTZmX2RlcHRoX3N0
ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3Jn
YmExNmlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0
ZV9jb2xvci5yYm9fcmdiYTE2dWlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJv
LnJlbmRlci5yZWNyZWF0ZV9jb2xvci5yYm9fcmdiYTMyZl9kZXB0aF9zdGVuY2lsX3Jib19kZXB0
aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnJib19yZ2JhMzJpX2RlcHRoX3N0
ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3Jn
YmEzMnVpX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVh
dGVfY29sb3IucmJvX3JnYmE0X2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5y
ZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3JnYmE4X2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRf
c3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IucmJvX3JnYmE4aV9kZXB0aF9zdGVuY2ls
X3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnJib19yZ2JhOHVp
X2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29s
b3IucmJvX3NyZ2I4X2FscGhhOF9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8u
cmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3IxMWZfZzExZl9iMTBmX2RlcHRoX3N0ZW5jaWxf
cmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IudGV4MmRfcjE2Zl9k
ZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9y
LnRleDJkX3IxNmlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5y
ZWNyZWF0ZV9jb2xvci50ZXgyZF9yMzJmX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNp
bDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IudGV4MmRfcjMyaV9kZXB0aF9zdGVuY2lsX3Jib19k
ZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3I4aV9kZXB0aF9z
dGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJk
X3JnMTZmX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVh
dGVfY29sb3IudGV4MmRfcmcxNmlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJv
LnJlbmRlci5yZWNyZWF0ZV9jb2xvci50ZXgyZF9yZzMyZl9kZXB0aF9zdGVuY2lsX3Jib19kZXB0
aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3JnMzJpX2RlcHRoX3N0
ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IudGV4MmRf
cmc4aV9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRl
X2NvbG9yLnRleDJkX3JnYjEwX2EyX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDgg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZi
by5yZW5kZXIucmVjcmVhdGVfY29sb3IudGV4MmRfcmdiMTBfYTJ1aV9kZXB0aF9zdGVuY2lsX3Ji
b19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3JnYjE2Zl9k
ZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9y
LnRleDJkX3JnYjU2NV9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVy
LnJlY3JlYXRlX2NvbG9yLnRleDJkX3JnYjVfYTFfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9z
dGVuY2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci50ZXgyZF9yZ2I4X2RlcHRoX3N0ZW5jaWxf
cmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3IudGV4MmRfcmdiYTE2
Zl9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2Nv
bG9yLnRleDJkX3JnYmExNmlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJl
bmRlci5yZWNyZWF0ZV9jb2xvci50ZXgyZF9yZ2JhMTZ1aV9kZXB0aF9zdGVuY2lsX3Jib19kZXB0
aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3JnYmEzMmZfZGVwdGhf
c3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci50ZXgy
ZF9yZ2JhMzJpX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVj
cmVhdGVfY29sb3IudGV4MmRfcmdiYTMydWlfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVu
Y2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9jb2xvci50ZXgyZF9yZ2JhNF9kZXB0aF9zdGVuY2lsX3Ji
b19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3JnYmE4X2Rl
cHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIucmVjcmVhdGVfY29sb3Iu
dGV4MmRfcmdiYThpX2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIu
cmVjcmVhdGVfY29sb3IudGV4MmRfcmdiYTh1aV9kZXB0aF9zdGVuY2lsX3Jib19kZXB0aDI0X3N0
ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2NvbG9yLnRleDJkX3NyZ2I4X2FscGhhOF9kZXB0aF9z
dGVuY2lsX3Jib19kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2RlcHRoX3N0ZW5j
aWwudGV4MmRfcmdiYThfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgyNF9zdGVuY2lsOCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRl
ci5yZWNyZWF0ZV9kZXB0aF9zdGVuY2lsLnRleDJkX3JnYmE4X2RlcHRoX3N0ZW5jaWxfcmJvX2Rl
cHRoMzJmX3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRlX2RlcHRoX3N0ZW5jaWwudGV4MmRfcmdi
YThfZGVwdGhfc3RlbmNpbF90ZXgyZF9kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnJlY3JlYXRl
X2RlcHRoX3N0ZW5jaWwudGV4MmRfcmdiYThfZGVwdGhfc3RlbmNpbF90ZXgyZF9kZXB0aDMyZl9z
dGVuY2lsOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5yZWNyZWF0ZV9kZXB0aF9zdGVuY2lsLnRleDJkX3JnYmE4X3N0ZW5j
aWxfcmJvX3N0ZW5jaWxfaW5kZXg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9jb2xvcmJ1ZmZlcl9jbGVhci50
ZXgyZF9yMTFmX2cxMWZfYjEwZiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5zaGFyZWRfY29sb3JidWZmZXJfY2xlYXIudGV4
MmRfcjE2ZiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZmJvLnJlbmRlci5zaGFyZWRfY29sb3JidWZmZXJfY2xlYXIudGV4MmRfcjMyZiA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJl
bmRlci5zaGFyZWRfY29sb3JidWZmZXJfY2xlYXIudGV4MmRfcjggPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2Nv
bG9yYnVmZmVyX2NsZWFyLnRleDJkX3JnMTZmID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9jb2xvcmJ1ZmZlcl9j
bGVhci50ZXgyZF9yZzMyZiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5zaGFyZWRfY29sb3JidWZmZXJfY2xlYXIudGV4MmRf
cmc4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5mYm8ucmVuZGVyLnNoYXJlZF9jb2xvcmJ1ZmZlcl9jbGVhci50ZXgyZF9yZ2IxMF9hMiA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJl
bmRlci5zaGFyZWRfY29sb3JidWZmZXJfY2xlYXIudGV4MmRfcmdiMTZmID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJl
ZF9jb2xvcmJ1ZmZlcl9jbGVhci50ZXgyZF9yZ2I1NjUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVm
ZmVyX2NsZWFyLnRleDJkX3JnYjVfYTEgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFy
LnRleDJkX3JnYjggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFyLnRleDJkX3JnYmEx
NmYgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LmZiby5yZW5kZXIuc2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFyLnRleDJkX3JnYmEzMmYgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5k
ZXIuc2hhcmVkX2NvbG9yYnVmZmVyX2NsZWFyLnRleDJkX3JnYmE0ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9j
b2xvcmJ1ZmZlcl9jbGVhci50ZXgyZF9yZ2JhOCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZmJvLnJlbmRlci5zaGFyZWRfY29sb3JidWZmZXJf
Y2xlYXIudGV4MmRfc3JnYjhfYWxwaGE4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9kZXB0aF9zdGVuY2lsLnRl
eDJkX3JnYmE4X2RlcHRoX3N0ZW5jaWxfcmJvX2RlcHRoMjRfc3RlbmNpbDggPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZiby5yZW5kZXIuc2hh
cmVkX2RlcHRoX3N0ZW5jaWwudGV4MmRfcmdiYThfZGVwdGhfc3RlbmNpbF9yYm9fZGVwdGgzMmZf
c3RlbmNpbDggPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLmZiby5yZW5kZXIuc2hhcmVkX2RlcHRoX3N0ZW5jaWwudGV4MmRfcmdiYThfZGVwdGhf
c3RlbmNpbF90ZXgyZF9kZXB0aDI0X3N0ZW5jaWw4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mYm8ucmVuZGVyLnNoYXJlZF9kZXB0aF9zdGVu
Y2lsLnRleDJkX3JnYmE4X2RlcHRoX3N0ZW5jaWxfdGV4MmRfZGVwdGgzMmZfc3RlbmNpbDggPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdt
ZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuMTQgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlv
bi5iYXNpY19zaGFkZXIuMTkgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLmZyYWdtZW50X29wcy5pbnRlcmFjdGlvbi5iYXNpY19zaGFkZXIuMiA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJh
Z21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4yMiA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0
aW9uLmJhc2ljX3NoYWRlci4yNCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4y
OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
ZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci4zMiA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVy
YWN0aW9uLmJhc2ljX3NoYWRlci4zNiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRl
ci4zNyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci40MSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmlu
dGVyYWN0aW9uLmJhc2ljX3NoYWRlci40NSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3No
YWRlci40OSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci41MCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3Bz
LmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci41MyA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2lj
X3NoYWRlci41OCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci41OSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRf
b3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci42MCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJh
c2ljX3NoYWRlci42MiA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwuZnJhZ21lbnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci42OSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwuZnJhZ21l
bnRfb3BzLmludGVyYWN0aW9uLmJhc2ljX3NoYWRlci43ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24u
YmFzaWNfc2hhZGVyLjczID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjc0ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFn
bWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjc4ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rp
b24uYmFzaWNfc2hhZGVyLjc5ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjgy
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5m
cmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjg1ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJh
Y3Rpb24uYmFzaWNfc2hhZGVyLjg3ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVy
Ljg4ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjkwID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50
ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjkxID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hh
ZGVyLjk0ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC5mcmFnbWVudF9vcHMuaW50ZXJhY3Rpb24uYmFzaWNfc2hhZGVyLjk1ID0gU0tJUAogNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5mcmFnbWVudF9vcHMu
cmFuZG9tLiogPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnNoYWRlcnMubWF0cml4LmludmVyc2UuZHluYW1pYy5sb3dwX21hdDRfZmxvYXRfZnJh
Z21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMubWF0cml4LmludmVyc2UuZHluYW1pYy5tZWRpdW1wX21hdDRfZmxvYXRfZnJh
Z21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3IubWludXMubG93cF91aW50X2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLm9wZXJhdG9yLnVuYXJ5X29wZXJhdG9yLm1pbnVzLmxvd3BfdXZlYzJfZnJhZ21l
bnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3IubWludXMubG93cF91dmVjM19mcmFnbWVu
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
c2hhZGVycy5vcGVyYXRvci51bmFyeV9vcGVyYXRvci5taW51cy5sb3dwX3V2ZWM0X2ZyYWdtZW50
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5z
aGFkZXJzLm9wZXJhdG9yLnVuYXJ5X29wZXJhdG9yLm1pbnVzLm1lZGl1bXBfdWludF9mcmFnbWVu
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
c2hhZGVycy5vcGVyYXRvci51bmFyeV9vcGVyYXRvci5taW51cy5tZWRpdW1wX3V2ZWMyX2ZyYWdt
ZW50ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC5zaGFkZXJzLm9wZXJhdG9yLnVuYXJ5X29wZXJhdG9yLm1pbnVzLm1lZGl1bXBfdXZlYzNfZnJh
Z21lbnQgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnNoYWRlcnMub3BlcmF0b3IudW5hcnlfb3BlcmF0b3IubWludXMubWVkaXVtcF91dmVjNF9m
cmFnbWVudCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAuY2xhbXBfbWlycm9yX2xpbmVhcl9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzEweDEwLmNsYW1wX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfMTB4MTAuY2xhbXBfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y18xMHgxMC5jbGFtcF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y18xMHgxMC5jbGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4MTAuY2xhbXBfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y18xMHgxMC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzEweDEwLmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzEweDEwLm1pcnJvcl9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
MTB4MTAubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
MTB4MTAubWlycm9yX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4
MTAubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEw
eDEwLm1pcnJvcl9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAu
bWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAu
bWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAubWly
cm9yX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwLnJl
cGVhdF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0
X21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0
X21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0X21p
cnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwLnJlcGVhdF9y
ZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0X3JlcGVh
dF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0X3JlcGVh
dF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTAucmVwZWF0X3JlcGVhdF9u
ZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IuY2xhbXBfbWly
cm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IuY2xhbXBfbWly
cm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdiLmNsYW1w
X21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTBfc3JnYi5jbGFt
cF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdi
LmNsYW1wX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdi
LmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTBf
c3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEw
X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
MTB4MTBfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
XzEweDEwX3NyZ2IubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfMTB4MTBfc3JnYi5taXJyb3JfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y18xMHgxMF9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdiLm1pcnJvcl9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTB4MTBfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IubWlycm9yX3JlcGVhdF9uZWFyZXN0X25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IucmVwZWF0X21pcnJvcl9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9zcmdiLnJlcGVhdF9taXJyb3JfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IucmVwZWF0X21pcnJv
cl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTBfc3JnYi5yZXBlYXRfbWly
cm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTBfc3JnYi5yZXBl
YXRfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDEwX3NyZ2IucmVw
ZWF0X3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4MTBfc3Jn
Yi5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHgxMF9z
cmdiLnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MHg1LmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1LmNs
YW1wX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5jbGFt
cF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1LmNsYW1w
X3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1LmNsYW1wX3JlcGVh
dF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5jbGFtcF9yZXBlYXRf
bmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDUuY2xhbXBfcmVwZWF0X25lYXJl
c3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5taXJyb3JfbWlycm9yX2xpbmVh
cl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDUubWlycm9yX21pcnJvcl9saW5lYXJfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDUubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NS5taXJyb3JfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMHg1Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMHg1LnJlcGVhdF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfMTB4NS5yZXBlYXRfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y18xMHg1LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y18xMHg1LnJlcGVhdF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfMTB4NS5yZXBlYXRfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y18xMHg1LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
XzEweDUucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
XzEweDVfc3JnYi5jbGFtcF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
MTB4NV9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTB4NV9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzEweDVfc3JnYi5jbGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfMTB4NV9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4NV9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4NV9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDVfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDVfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDVfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDVfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IubWlycm9yX3JlcGVhdF9uZWFyZXN0
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NV9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IucmVwZWF0X21pcnJvcl9s
aW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IucmVwZWF0X21pcnJvcl9s
aW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NV9zcmdiLnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IucmVwZWF0
X3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg1X3NyZ2IucmVwZWF0
X3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4NV9zcmdiLnJl
cGVhdF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDVfc3JnYi5y
ZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Ni5j
bGFtcF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Ni5jbGFtcF9t
aXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDYuY2xhbXBfbWly
cm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2LmNsYW1wX21pcnJvcl9u
ZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDYuY2xhbXBfcmVwZWF0X2xp
bmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDYuY2xhbXBfcmVwZWF0X2xpbmVhcl9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2LmNsYW1wX3JlcGVhdF9uZWFyZXN0X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Ni5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2Lm1pcnJvcl9taXJyb3JfbGluZWFyX2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfMTB4Ni5taXJyb3JfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMHg2Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDYubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDYubWlycm9yX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y18xMHg2Lm1pcnJvcl9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzEweDYubWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTB4Ni5taXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTB4Ni5yZXBlYXRfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEw
eDYucmVwZWF0X21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4
Ni5yZXBlYXRfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2LnJl
cGVhdF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2LnJl
cGVhdF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Ni5yZXBlYXRf
cmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2LnJlcGVhdF9y
ZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDYucmVwZWF0X3JlcGVh
dF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZfc3JnYi5jbGFtcF9t
aXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLmNsYW1wX21p
cnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLmNsYW1w
X21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLmNsYW1w
X21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZfc3JnYi5j
bGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLmNs
YW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdi
LmNsYW1wX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdi
LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZf
c3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZf
c3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MHg2X3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
MTB4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y18xMHg2X3NyZ2IubWlycm9yX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y18xMHg2X3NyZ2IubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4Nl9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5hc3RjXzEweDZfc3JnYi5taXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLnJlcGVhdF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLnJlcGVhdF9taXJyb3JfbGluZWFyX25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzEweDZfc3JnYi5yZXBlYXRfbWlycm9yX25lYXJlc3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2X3NyZ2IucmVwZWF0X21pcnJvcl9uZWFyZXN0X25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZfc3JnYi5yZXBlYXRfcmVwZWF0X2xpbmVhcl9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDZfc3JnYi5yZXBlYXRfcmVwZWF0X2xpbmVhcl9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg2X3NyZ2IucmVwZWF0X3JlcGVhdF9uZWFy
ZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4Nl9zcmdiLnJlcGVhdF9yZXBlYXRfbmVh
cmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4LmNsYW1wX21pcnJvcl9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4LmNsYW1wX21pcnJvcl9saW5lYXJfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OC5jbGFtcF9taXJyb3JfbmVhcmVzdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDguY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OC5jbGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTB4OC5jbGFtcF9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDguY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y18xMHg4LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzEweDgubWlycm9yX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0
Y18xMHg4Lm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
XzEweDgubWlycm9yX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4
OC5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4
OC5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDgubWly
cm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OC5taXJy
b3JfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4Lm1pcnJvcl9y
ZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4LnJlcGVhdF9t
aXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OC5yZXBlYXRfbWlycm9y
X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4LnJlcGVhdF9taXJyb3Jf
bmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDgucmVwZWF0X21pcnJvcl9uZWFy
ZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDgucmVwZWF0X3JlcGVhdF9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4LnJlcGVhdF9yZXBlYXRfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDgucmVwZWF0X3JlcGVhdF9uZWFyZXN0X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OC5yZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OF9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfbWlycm9yX2xpbmVhcl9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3Rf
bm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OF9zcmdiLmNsYW1wX3JlcGVhdF9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfcmVwZWF0X2xpbmVh
cl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfcmVwZWF0X25l
YXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IuY2xhbXBfcmVwZWF0X25l
YXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OF9zcmdiLm1pcnJvcl9taXJy
b3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OF9zcmdiLm1pcnJvcl9taXJy
b3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDhfc3JnYi5taXJyb3Jf
bWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IubWlycm9y
X21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDhfc3JnYi5t
aXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEweDhfc3JnYi5t
aXJyb3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMHg4X3Ny
Z2IubWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTB4OF9z
cmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MHg4X3NyZ2IucmVwZWF0X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MHg4X3NyZ2IucmVwZWF0X21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTB4OF9zcmdiLnJlcGVhdF9taXJyb3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzEweDhfc3JnYi5yZXBlYXRfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4OF9zcmdiLnJlcGVhdF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTB4OF9zcmdiLnJlcGVhdF9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEweDhfc3JnYi5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y18xMHg4X3NyZ2IucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y18xMngxMC5jbGFtcF9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEyeDEwLmNsYW1wX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTJ4MTAuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTJ4MTAuY2xhbXBfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzEyeDEwLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTJ4MTAuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MngxMC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MngxMC5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEw
Lm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEw
Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLm1p
cnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMC5t
aXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLm1pcnJv
cl9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLm1pcnJv
cl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLm1pcnJvcl9y
ZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMC5yZXBlYXRf
bWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9taXJy
b3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9taXJyb3Jf
bmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMC5yZXBlYXRfcmVwZWF0
X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9yZXBlYXRfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9yZXBlYXRfbmVh
cmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwLnJlcGVhdF9yZXBlYXRfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLmNsYW1wX21pcnJvcl9s
aW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLmNsYW1wX21pcnJvcl9s
aW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5jbGFtcF9taXJy
b3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwX3NyZ2IuY2xhbXBfbWly
cm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5jbGFt
cF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5jbGFt
cF9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwX3NyZ2Iu
Y2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdi
LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEw
X3NyZ2IubWlycm9yX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngx
MF9zcmdiLm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
XzEyeDEwX3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfMTJ4MTBfc3JnYi5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTJ4MTBfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5hc3RjXzEyeDEwX3NyZ2IubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5taXJyb3JfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLnJlcGVhdF9taXJyb3JfbGluZWFyX2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5yZXBlYXRfbWlycm9yX2xpbmVhcl9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLnJlcGVhdF9taXJyb3JfbmVh
cmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwX3NyZ2IucmVwZWF0X21pcnJvcl9u
ZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwX3NyZ2IucmVwZWF0X3Jl
cGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMF9zcmdiLnJlcGVhdF9y
ZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEwX3NyZ2IucmVw
ZWF0X3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTBfc3JnYi5y
ZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIu
Y2xhbXBfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyLmNsYW1w
X21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIuY2xhbXBf
bWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMi5jbGFtcF9taXJy
b3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMi5jbGFtcF9yZXBl
YXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIuY2xhbXBfcmVwZWF0X2xp
bmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMi5jbGFtcF9yZXBlYXRfbmVh
cmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyLmNsYW1wX3JlcGVhdF9uZWFyZXN0
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyLm1pcnJvcl9taXJyb3JfbGluZWFy
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX21pcnJvcl9saW5lYXJfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX21pcnJvcl9uZWFyZXN0X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyLm1pcnJvcl9yZXBlYXRfbGluZWFyX2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfMTJ4MTIubWlycm9yX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzEyeDEyLnJlcGVhdF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTJ4MTIucmVwZWF0X21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfMTJ4MTIucmVwZWF0X21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfMTJ4MTIucmVwZWF0X21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEyeDEyLnJlcGVhdF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTJ4MTIucmVwZWF0X3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfMTJ4MTIucmVwZWF0X3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfMTJ4MTIucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzEyeDEyX3NyZ2IuY2xhbXBfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzEyeDEyX3NyZ2IuY2xhbXBfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y18xMngxMl9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5jbGFtcF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyX3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3Rfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVh
cl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyX3NyZ2IubWlycm9yX21pcnJvcl9saW5l
YXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5taXJyb3JfbWlycm9y
X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdiLm1pcnJvcl9taXJy
b3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdiLm1pcnJv
cl9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5taXJy
b3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdi
Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEyeDEyX3Ny
Z2IubWlycm9yX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzEy
eDEyX3NyZ2IucmVwZWF0X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y18x
MngxMl9zcmdiLnJlcGVhdF9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzEyeDEyX3NyZ2IucmVwZWF0X21pcnJvcl9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfMTJ4MTJfc3JnYi5yZXBlYXRfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5yZXBlYXRfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzEyeDEyX3NyZ2IucmVwZWF0X3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfMTJ4MTJfc3JnYi5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y18xMngxMl9zcmdiLnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y180eDQuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNHg0LmNsYW1wX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNHg0LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzR4NC5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfNHg0Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5hc3RjXzR4NC5taXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfNHg0LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y180eDQucmVwZWF0X3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFz
dGNfNHg0LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0
Y180eDRfc3JnYi5jbGFtcF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y180eDRfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzR4NF9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzR4NF9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y180eDRfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y180eDRfc3JnYi5taXJyb3JfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y180eDRfc3JnYi5taXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNHg0X3NyZ2IucmVwZWF0X21pcnJvcl9uZWFyZXN0X25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzR4NF9zcmdiLnJlcGVhdF9yZXBlYXRfbGluZWFyX25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzR4NF9zcmdiLnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzR4NF9zcmdiLnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDQuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg0LmNsYW1wX3JlcGVhdF9uZWFyZXN0X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfNXg0LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzV4NC5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNXg0Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzV4NC5taXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfNXg0LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y181eDQucmVwZWF0X3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfNXg0LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y181eDRfc3JnYi5jbGFtcF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y181eDRfc3JnYi5jbGFtcF9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5hc3RjXzV4NF9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfNXg0X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfNXg0X3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzV4NF9zcmdiLm1pcnJvcl9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzV4NF9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzV4NF9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDRfc3JnYi5yZXBlYXRfbWlycm9yX25lYXJlc3Rfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg0X3NyZ2IucmVwZWF0X3JlcGVhdF9saW5lYXJf
bm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg0X3NyZ2IucmVwZWF0X3JlcGVhdF9uZWFy
ZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg0X3NyZ2IucmVwZWF0X3JlcGVhdF9uZWFy
ZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NS5jbGFtcF9taXJyb3JfbGluZWFy
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg1LmNsYW1wX21pcnJvcl9saW5lYXJfbm90X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg1LmNsYW1wX21pcnJvcl9uZWFyZXN0X25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NS5jbGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfNXg1LmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfNXg1LmNsYW1wX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfNXg1LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzV4NS5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4
NS5taXJyb3JfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUu
bWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NS5t
aXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NS5taXJyb3Jf
cmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUubWlycm9yX3Jl
cGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg1Lm1pcnJvcl9yZXBlYXRf
bmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUucmVwZWF0X21pcnJvcl9s
aW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUucmVwZWF0X21pcnJvcl9saW5lYXJf
bm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNXg1LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUucmVwZWF0X3JlcGVhdF9saW5lYXJfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDUucmVwZWF0X3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfNXg1LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzV4NS5yZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfNXg1X3NyZ2IuY2xhbXBfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzV4NV9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfNXg1X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNXg1X3NyZ2IuY2xhbXBfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNXg1X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y181eDVfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y181eDVfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDVfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVhcl9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLm1pcnJvcl9yZXBlYXRfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVz
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLm1pcnJvcl9yZXBlYXRfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDVfc3JnYi5yZXBlYXRfbWlycm9yX2xp
bmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLnJlcGVhdF9taXJyb3JfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLnJlcGVhdF9taXJyb3Jf
bmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y181eDVfc3JnYi5yZXBlYXRfcmVw
ZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLnJlcGVhdF9yZXBl
YXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLnJlcGVhdF9y
ZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzV4NV9zcmdiLnJlcGVhdF9y
ZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDUuY2xhbXBfbWly
cm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5jbGFtcF9taXJyb3JfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5jbGFtcF9taXJyb3JfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDUuY2xhbXBfcmVwZWF0X2xpbmVhcl9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5jbGFtcF9yZXBlYXRfbGluZWFyX25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzZ4NS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y182eDUubWlycm9yX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y182eDUubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfNng1Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y182eDUubWlycm9yX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182
eDUubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1
Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5taXJy
b3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1LnJlcGVh
dF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1LnJlcGVhdF9taXJy
b3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5yZXBlYXRfbWlycm9y
X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1LnJlcGVhdF9yZXBlYXRf
bGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1LnJlcGVhdF9yZXBlYXRfbGluZWFy
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NS5yZXBlYXRfcmVwZWF0X25lYXJlc3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDUucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NV9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5jbGFtcF9taXJyb3JfbGluZWFyX25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NV9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0X25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NV9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5jbGFtcF9yZXBlYXRfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4NV9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3Rf
bm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1X3NyZ2IubWlycm9yX21pcnJvcl9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVh
cl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5taXJyb3JfbWlycm9yX25l
YXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1X3NyZ2IubWlycm9yX3JlcGVh
dF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5taXJyb3JfcmVwZWF0
X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5taXJyb3JfcmVw
ZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5taXJyb3JfcmVw
ZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1X3NyZ2IucmVwZWF0
X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5yZXBlYXRf
bWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5yZXBl
YXRfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng1X3NyZ2Iu
cmVwZWF0X3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3JnYi5y
ZXBlYXRfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3Jn
Yi5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDVfc3Jn
Yi5yZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2
LmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBf
bWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBfbWly
cm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBfbWlycm9yX25l
YXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2LmNsYW1wX3JlcGVhdF9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBfcmVwZWF0X2xpbmVhcl9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y182eDYuY2xhbXBfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNng2Lm1pcnJvcl9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmFzdGNfNng2Lm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5hc3RjXzZ4Ni5taXJyb3JfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
YXN0Y182eDYubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5h
c3RjXzZ4Ni5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4
Ni5taXJyb3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYu
bWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2Lm1pcnJv
cl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYucmVwZWF0
X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDYucmVwZWF0X21pcnJv
cl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2LnJlcGVhdF9taXJyb3Jf
bmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Ni5yZXBlYXRfbWlycm9yX25lYXJl
c3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2LnJlcGVhdF9yZXBlYXRfbGluZWFy
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfNng2LnJlcGVhdF9yZXBlYXRfbGluZWFyX25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Ni5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y182eDYucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5jbGFtcF9taXJyb3JfbGluZWFyX25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0X2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfNng2X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfNng2X3NyZ2IuY2xhbXBfcmVwZWF0X2xpbmVhcl9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfNng2X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5taXJyb3JfcmVwZWF0X2xpbmVh
cl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9yZXBlYXRfbGluZWFy
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9yZXBlYXRfbmVh
cmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLm1pcnJvcl9yZXBlYXRfbmVh
cmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5yZXBlYXRfbWlycm9y
X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVhdF9taXJyb3Jf
bGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y182eDZfc3JnYi5yZXBlYXRf
cmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVhdF9y
ZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVh
dF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzZ4Nl9zcmdiLnJlcGVh
dF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDUuY2xhbXBf
bWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5jbGFtcF9taXJyb3Jf
bGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5jbGFtcF9taXJyb3JfbmVh
cmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDUuY2xhbXBfcmVwZWF0X2xpbmVh
cl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5jbGFtcF9yZXBlYXRfbGluZWFyX25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzh4NS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y184eDUubWlycm9yX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuYXN0Y184eDUubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmFzdGNfOHg1Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y184eDUubWlycm9yX3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0
Y184eDUubWlycm9yX3JlcGVhdF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
OHg1Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5t
aXJyb3JfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1LnJl
cGVhdF9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1LnJlcGVhdF9t
aXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5yZXBlYXRfbWly
cm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1LnJlcGVhdF9yZXBl
YXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1LnJlcGVhdF9yZXBlYXRfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NS5yZXBlYXRfcmVwZWF0X25lYXJl
c3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDUucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NV9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5jbGFtcF9taXJyb3JfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NV9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NV9zcmdiLmNsYW1wX3JlcGVhdF9saW5l
YXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5jbGFtcF9yZXBlYXRfbGluZWFy
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4NV9zcmdiLmNsYW1wX3JlcGVhdF9uZWFy
ZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJl
c3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1X3NyZ2IubWlycm9yX21pcnJvcl9s
aW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5taXJyb3JfbWlycm9yX2xp
bmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5taXJyb3JfbWlycm9y
X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1X3NyZ2IubWlycm9yX3Jl
cGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5taXJyb3JfcmVw
ZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5taXJyb3Jf
cmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5taXJyb3Jf
cmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1X3NyZ2IucmVw
ZWF0X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5yZXBl
YXRfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3JnYi5y
ZXBlYXRfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg1X3Ny
Z2IucmVwZWF0X3JlcGVhdF9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVfc3Jn
Yi5yZXBlYXRfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVf
c3JnYi5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDVf
c3JnYi5yZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
OHg2LmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xh
bXBfbWlycm9yX2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xhbXBf
bWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xhbXBfbWlycm9y
X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2LmNsYW1wX3JlcGVhdF9s
aW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xhbXBfcmVwZWF0X2xpbmVhcl9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYuY2xhbXBfcmVwZWF0X25lYXJlc3Rfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfOHg2Lm1pcnJvcl9taXJyb3JfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfOHg2Lm1pcnJvcl9taXJyb3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzh4Ni5taXJyb3JfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y184eDYubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5hc3RjXzh4Ni5taXJyb3JfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
Xzh4Ni5taXJyb3JfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184
eDYubWlycm9yX3JlcGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2Lm1p
cnJvcl9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYucmVw
ZWF0X21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYucmVwZWF0X21p
cnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2LnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Ni5yZXBlYXRfbWlycm9yX25l
YXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2LnJlcGVhdF9yZXBlYXRfbGlu
ZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2LnJlcGVhdF9yZXBlYXRfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Ni5yZXBlYXRfcmVwZWF0X25lYXJlc3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDYucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfZGl2aXNp
YmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5jbGFtcF9taXJyb3JfbGluZWFyX25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLmNsYW1wX21pcnJvcl9uZWFyZXN0X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfOHg2X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3Rfbm90X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2X3NyZ2IuY2xhbXBfcmVwZWF0X2xpbmVhcl9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLmNsYW1wX3JlcGVhdF9saW5lYXJfbm90X2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg2X3NyZ2IuY2xhbXBfcmVwZWF0X25lYXJlc3RfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3Rf
ZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5taXJyb3JfbWlycm9yX2xpbmVhcl9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbGluZWFyX25v
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVz
dF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9taXJyb3JfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5taXJyb3JfcmVwZWF0X2xp
bmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9yZXBlYXRfbGlu
ZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9yZXBlYXRf
bmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLm1pcnJvcl9yZXBlYXRf
bmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5yZXBlYXRfbWly
cm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJlcGVhdF9taXJy
b3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJlcGVhdF9t
aXJyb3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJlcGVhdF9t
aXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDZfc3JnYi5yZXBl
YXRfcmVwZWF0X2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJlcGVh
dF9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJl
cGVhdF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4Nl9zcmdiLnJl
cGVhdF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDguY2xh
bXBfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9taXJy
b3JfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9taXJyb3Jf
bmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9taXJyb3JfbmVhcmVz
dF9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDguY2xhbXBfcmVwZWF0X2xpbmVhcl9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9yZXBlYXRfbGluZWFyX25vdF9kaXZp
c2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzh4OC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ub3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y184eDgubWlycm9yX21pcnJvcl9saW5lYXJfZGl2aXNpYmxlID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuYXN0Y184eDgubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmFzdGNfOHg4Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3Rj
Xzh4OC5taXJyb3JfbWlycm9yX25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNf
OHg4Lm1pcnJvcl9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4Lm1p
cnJvcl9yZXBlYXRfbGluZWFyX25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5taXJy
b3JfcmVwZWF0X25lYXJlc3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDgubWlycm9yX3Jl
cGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5yZXBlYXRfbWly
cm9yX2xpbmVhcl9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OC5yZXBlYXRfbWlycm9yX2xp
bmVhcl9ub3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDgucmVwZWF0X21pcnJvcl9uZWFy
ZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9u
b3RfZGl2aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDgucmVwZWF0X3JlcGVhdF9saW5lYXJfZGl2
aXNpYmxlID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuYXN0Y184eDgucmVwZWF0X3JlcGVhdF9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfOHg4LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzh4OC5yZXBlYXRfcmVwZWF0X25lYXJlc3Rfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IuY2xhbXBfbWlycm9yX2xpbmVhcl9kaXZpc2libGUgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5hc3RjXzh4OF9zcmdiLmNsYW1wX21pcnJvcl9saW5lYXJfbm90X2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IuY2xhbXBfbWlycm9yX25lYXJlc3RfZGl2aXNpYmxlID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuYXN0Y184eDhfc3JnYi5jbGFtcF9taXJyb3JfbmVhcmVzdF9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y184eDhfc3JnYi5jbGFtcF9yZXBlYXRfbGluZWFyX2RpdmlzaWJsZSA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IuY2xhbXBfcmVwZWF0X2xpbmVhcl9ub3RfZGl2aXNpYmxl
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuYXN0Y184eDhfc3JnYi5jbGFtcF9yZXBlYXRfbmVhcmVzdF9kaXZpc2libGUg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5hc3RjXzh4OF9zcmdiLmNsYW1wX3JlcGVhdF9uZWFyZXN0X25vdF9kaXZpc2li
bGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5hc3RjXzh4OF9zcmdiLm1pcnJvcl9taXJyb3JfbGluZWFyX2RpdmlzaWJs
ZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX21pcnJvcl9saW5lYXJfbm90X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X2Rpdmlz
aWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX21pcnJvcl9uZWFyZXN0X25vdF9k
aXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OF9zcmdiLm1pcnJvcl9yZXBlYXRfbGluZWFyX2Rp
dmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX3JlcGVhdF9saW5lYXJfbm90
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX3JlcGVhdF9uZWFyZXN0
X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IubWlycm9yX3JlcGVhdF9uZWFyZXN0
X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OF9zcmdiLnJlcGVhdF9taXJyb3JfbGlu
ZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X21pcnJvcl9saW5l
YXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X21pcnJvcl9u
ZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X21pcnJvcl9u
ZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5hc3RjXzh4OF9zcmdiLnJlcGVhdF9yZXBl
YXRfbGluZWFyX2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X3JlcGVh
dF9saW5lYXJfbm90X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X3Jl
cGVhdF9uZWFyZXN0X2RpdmlzaWJsZSA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmFzdGNfOHg4X3NyZ2IucmVwZWF0X3Jl
cGVhdF9uZWFyZXN0X25vdF9kaXZpc2libGUgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcjExLmNsYW1wX21pcnJv
cl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19yMTEuY2xhbXBfbWlycm9yX2xpbmVhcl9wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5lYWNfcjExLmNsYW1wX21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
YWNfcjExLmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19yMTEuY2xhbXBf
cmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5jbGFtcF9yZXBlYXRfbGluZWFy
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmVhY19yMTEuY2xhbXBfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmVhY19yMTEuY2xhbXBfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5t
aXJyb3JfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5taXJyb3JfbWlycm9y
X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcjExLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ucG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZWFjX3IxMS5taXJyb3JfbWlycm9yX25lYXJlc3RfcG90ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
ZWFjX3IxMS5taXJyb3JfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5taXJy
b3JfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcjExLm1pcnJvcl9yZXBlYXRfbmVh
cmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5taXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuZWFjX3IxMS5yZXBlYXRfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFj
X3IxMS5yZXBlYXRfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcjExLnJlcGVhdF9t
aXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5yZXBlYXRfbWlycm9yX25lYXJl
c3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5yZXBlYXRfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuZWFjX3IxMS5yZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcjEx
LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3IxMS5yZXBlYXRfcmVw
ZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEuY2xhbXBfbWlycm9yX2xpbmVhcl9u
cG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuZWFjX3JnMTEuY2xhbXBfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5lYWNfcmcxMS5jbGFtcF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEu
Y2xhbXBfbWlycm9yX25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEuY2xhbXBfcmVwZWF0
X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEuY2xhbXBfcmVwZWF0X2xpbmVhcl9wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5lYWNfcmcxMS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
ZWFjX3JnMTEuY2xhbXBfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEubWly
cm9yX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19yZzExLm1pcnJvcl9taXJyb3Jf
bGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19yZzExLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9ucG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZWFjX3JnMTEubWlycm9yX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmVhY19yZzExLm1pcnJvcl9yZXBlYXRfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcmcxMS5t
aXJyb3JfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcmcxMS5taXJyb3JfcmVwZWF0
X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19yZzExLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9w
b3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5lYWNfcmcxMS5yZXBlYXRfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZWFjX3JnMTEucmVwZWF0X21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEu
cmVwZWF0X21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfcmcxMS5yZXBlYXRfbWly
cm9yX25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3JnMTEucmVwZWF0X3JlcGVhdF9saW5lYXJf
bnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmVhY19yZzExLnJlcGVhdF9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmVhY19yZzExLnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3Jn
MTEucmVwZWF0X3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLmNs
YW1wX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLmNsYW1wX21p
cnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yMTEuY2xhbXBfbWlycm9yX25l
YXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLmNsYW1wX21pcnJvcl9uZWFyZXN0
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLmNsYW1wX3JlcGVhdF9saW5lYXJfbnBvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmVhY19zaWduZWRfcjExLmNsYW1wX3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZWFjX3NpZ25lZF9yMTEuY2xhbXBfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVh
Y19zaWduZWRfcjExLmNsYW1wX3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWdu
ZWRfcjExLm1pcnJvcl9taXJyb3JfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3Ix
MS5taXJyb3JfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3IxMS5taXJy
b3JfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLm1pcnJvcl9t
aXJyb3JfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3IxMS5taXJyb3JfcmVwZWF0
X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yMTEubWlycm9yX3JlcGVhdF9saW5l
YXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yMTEubWlycm9yX3JlcGVhdF9uZWFyZXN0X25w
b3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3IxMS5taXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuZWFjX3NpZ25lZF9yMTEucmVwZWF0X21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmVhY19zaWduZWRfcjExLnJlcGVhdF9taXJyb3JfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVh
Y19zaWduZWRfcjExLnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3Np
Z25lZF9yMTEucmVwZWF0X21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRf
cjExLnJlcGVhdF9yZXBlYXRfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3IxMS5y
ZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3IxMS5yZXBlYXRf
cmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcjExLnJlcGVhdF9yZXBl
YXRfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3JnMTEuY2xhbXBfbWlycm9yX2xp
bmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLmNsYW1wX21pcnJvcl9saW5lYXJf
cG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLmNsYW1wX21pcnJvcl9uZWFyZXN0X25wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5lYWNfc2lnbmVkX3JnMTEuY2xhbXBfbWlycm9yX25lYXJlc3RfcG90ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuZWFjX3NpZ25lZF9yZzExLmNsYW1wX3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmVhY19zaWduZWRfcmcxMS5jbGFtcF9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19z
aWduZWRfcmcxMS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25l
ZF9yZzExLmNsYW1wX3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcmcx
MS5taXJyb3JfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLm1p
cnJvcl9taXJyb3JfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcmcxMS5taXJyb3Jf
bWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcmcxMS5taXJyb3JfbWly
cm9yX25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLm1pcnJvcl9yZXBlYXRf
bGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5lYWNfc2lnbmVkX3JnMTEubWlycm9yX3JlcGVhdF9saW5l
YXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9u
cG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuZWFjX3NpZ25lZF9yZzExLm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5lYWNfc2lnbmVkX3JnMTEucmVwZWF0X21pcnJvcl9saW5lYXJfbnBvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmVhY19zaWduZWRfcmcxMS5yZXBlYXRfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01
OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3Jh
cC5lYWNfc2lnbmVkX3JnMTEucmVwZWF0X21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
YWNfc2lnbmVkX3JnMTEucmVwZWF0X21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19z
aWduZWRfcmcxMS5yZXBlYXRfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZWFjX3NpZ25l
ZF9yZzExLnJlcGVhdF9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcmcx
MS5yZXBlYXRfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxL
QU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmVhY19zaWduZWRfcmcxMS5y
ZXBlYXRfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5jbGFtcF9taXJyb3JfbGlu
ZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5ldGMxLmNsYW1wX21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZXRjMS5jbGFtcF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5jbGFtcF9t
aXJyb3JfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMxLmNsYW1wX3JlcGVhdF9saW5lYXJfbnBv
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmV0YzEuY2xhbXBfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMx
LmNsYW1wX3JlcGVhdF9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMxLmNsYW1wX3JlcGVhdF9u
ZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzEubWlycm9yX21pcnJvcl9saW5lYXJfbnBvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmV0YzEubWlycm9yX21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5taXJy
b3JfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzEubWlycm9yX21pcnJvcl9uZWFy
ZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmV0YzEubWlycm9yX3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzEubWlycm9yX3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5taXJyb3Jf
cmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzEubWlycm9yX3JlcGVhdF9uZWFyZXN0
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzEucmVwZWF0X21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzEucmVwZWF0X21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5yZXBlYXRfbWly
cm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzEucmVwZWF0X21pcnJvcl9uZWFyZXN0X3Bv
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmV0YzEucmVwZWF0X3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0
YzEucmVwZWF0X3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMS5yZXBlYXRfcmVwZWF0
X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzEucmVwZWF0X3JlcGVhdF9uZWFyZXN0X3BvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LmNsYW1wX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzJfZWFjX3JnYmE4LmNsYW1wX21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9lYWNfcmdiYTguY2xhbXBfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFj
X3JnYmE4LmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4
LmNsYW1wX3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LmNsYW1w
X3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfcmdiYTguY2xhbXBfcmVwZWF0
X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LmNsYW1wX3JlcGVhdF9uZWFy
ZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4Lm1pcnJvcl9taXJyb3JfbGluZWFyX25w
b3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5ldGMyX2VhY19yZ2JhOC5taXJyb3JfbWlycm9yX2xpbmVhcl9wb3QgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5ldGMyX2VhY19yZ2JhOC5taXJyb3JfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzJfZWFjX3JnYmE4Lm1pcnJvcl9taXJyb3JfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX2VhY19yZ2JhOC5taXJyb3JfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9l
YWNfcmdiYTgubWlycm9yX3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfcmdi
YTgubWlycm9yX3JlcGVhdF9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX2VhY19yZ2JhOC5t
aXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfcmdiYTgucmVwZWF0
X21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LnJlcGVhdF9taXJy
b3JfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LnJlcGVhdF9taXJyb3JfbmVh
cmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfcmdiYTgucmVwZWF0X21pcnJvcl9uZWFyZXN0
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3JnYmE4LnJlcGVhdF9yZXBlYXRfbGluZWFyX25wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5ldGMyX2VhY19yZ2JhOC5yZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5ldGMyX2VhY19yZ2JhOC5yZXBlYXRfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzJfZWFjX3JnYmE4LnJlcGVhdF9yZXBlYXRfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJ
WEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMy
X2VhY19zcmdiOF9hbHBoYTguY2xhbXBfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9lYWNfc3JnYjhfYWxwaGE4LmNsYW1wX21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9lYWNfc3JnYjhfYWxwaGE4LmNsYW1wX21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX2VhY19zcmdiOF9hbHBoYTguY2xhbXBfbWlycm9yX25lYXJlc3RfcG90ID0gU0tJUAotNTk5
MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAu
ZXRjMl9lYWNfc3JnYjhfYWxwaGE4LmNsYW1wX3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5jbGFtcF9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4LmNsYW1wX3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5taXJyb3JfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJ
UAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJl
LndyYXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4Lm1pcnJvcl9taXJyb3JfbGluZWFyX3BvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5taXJyb3JfbWlycm9yX25lYXJlc3RfbnBvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5taXJyb3JfbWlycm9yX25lYXJlc3RfcG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4Lm1pcnJvcl9yZXBlYXRfbGluZWFyX25w
b3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5ldGMyX2VhY19zcmdiOF9hbHBoYTgubWlycm9yX3JlcGVhdF9saW5lYXJf
cG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25h
bC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4Lm1pcnJvcl9yZXBlYXRfbmVhcmVz
dF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4Lm1pcnJvcl9yZXBlYXRfbmVh
cmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX2VhY19zcmdiOF9hbHBoYTgucmVwZWF0X21pcnJvcl9s
aW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5yZXBlYXRfbWlycm9y
X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX2VhY19zcmdiOF9hbHBoYTgucmVwZWF0X21pcnJv
cl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX2VhY19zcmdiOF9hbHBoYTgucmVwZWF0X21p
cnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdM
RVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5yZXBlYXRf
cmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9lYWNfc3JnYjhfYWxwaGE4LnJlcGVh
dF9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5yZXBl
YXRfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfZWFjX3NyZ2I4X2FscGhhOC5y
ZXBlYXRfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6
IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4LmNsYW1wX21pcnJv
cl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOC5jbGFtcF9taXJyb3JfbGluZWFyX3Bv
dCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwu
dGV4dHVyZS53cmFwLmV0YzJfcmdiOC5jbGFtcF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZXRjMl9yZ2I4LmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdi
OC5jbGFtcF9yZXBlYXRfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjguY2xhbXBfcmVw
ZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjguY2xhbXBfcmVwZWF0X25lYXJlc3Rf
bnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOC5jbGFtcF9yZXBlYXRfbmVhcmVzdF9wb3QgPSBTS0lQ
Ci01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUu
d3JhcC5ldGMyX3JnYjgubWlycm9yX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJf
cmdiOC5taXJyb3JfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjgubWlycm9y
X21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjgubWlycm9yX21pcnJvcl9u
ZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOC5taXJyb3JfcmVwZWF0X2xpbmVhcl9ucG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZXRjMl9yZ2I4Lm1pcnJvcl9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzJfcmdiOC5taXJyb3JfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0
T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdi
OC5taXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4LnJlcGVhdF9t
aXJyb3JfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjgucmVwZWF0X21pcnJvcl9saW5l
YXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ucG90ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuZXRjMl9yZ2I4LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX3JnYjgucmVwZWF0X3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JY
TCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOC5y
ZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjgucmVwZWF0X3JlcGVh
dF9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjgucmVwZWF0X3JlcGVhdF9uZWFyZXN0
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNsYW1wX21pcnJv
cl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMz
LmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNs
YW1wX21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9h
bHBoYTEuY2xhbXBfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5j
aHRocm91Z2hfYWxwaGExLmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElY
RUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJf
cmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNsYW1wX3JlcGVhdF9saW5lYXJfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNsYW1wX3JlcGVhdF9saW5lYXJfcG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEuY2xhbXBfcmVwZWF0X25l
YXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1
bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNsYW1w
X3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQ
LUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxw
aGExLm1pcnJvcl9taXJyb3JfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjhfcHVuY2h0
aHJvdWdoX2FscGhhMS5taXJyb3JfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVM
NE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3Jn
YjhfcHVuY2h0aHJvdWdoX2FscGhhMS5taXJyb3JfbWlycm9yX25lYXJlc3RfbnBvdCA9IFNLSVAK
LTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53
cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLm1pcnJvcl9taXJyb3JfbmVhcmVzdF9w
b3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFs
LnRleHR1cmUud3JhcC5ldGMyX3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5taXJyb3JfcmVwZWF0
X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEubWly
cm9yX3JlcGVhdF9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9h
bHBoYTEubWlycm9yX3JlcGVhdF9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwg
VlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjhfcHVu
Y2h0aHJvdWdoX2FscGhhMS5taXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9yZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEucmVwZWF0X21pcnJvcl9saW5lYXJfbnBvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLnJlcGVhdF9taXJyb3JfbGluZWFy
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLnJlcGVhdF9taXJy
b3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9yZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEu
cmVwZWF0X21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91
Z2hfYWxwaGExLnJlcGVhdF9yZXBlYXRfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3JnYjhf
cHVuY2h0aHJvdWdoX2FscGhhMS5yZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5yZXBlYXRfcmVwZWF0X25lYXJlc3RfbnBvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmV0YzJfcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLnJlcGVhdF9yZXBlYXRfbmVh
cmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4LmNsYW1wX21pcnJvcl9saW5lYXJfbnBvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmV0YzJfc3JnYjguY2xhbXBfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX3NyZ2I4LmNsYW1wX21pcnJvcl9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4
LmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjguY2xhbXBfcmVw
ZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5jbGFtcF9yZXBlYXRfbGluZWFy
X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjguY2xhbXBfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmV0YzJfc3JnYjguY2xhbXBfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9zcmdiOC5taXJyb3JfbWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5t
aXJyb3JfbWlycm9yX2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4Lm1pcnJvcl9taXJy
b3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5taXJyb3JfbWlycm9yX25lYXJl
c3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5taXJyb3JfcmVwZWF0X2xpbmVhcl9ucG90ID0g
U0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0
dXJlLndyYXAuZXRjMl9zcmdiOC5taXJyb3JfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkw
IFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5l
dGMyX3NyZ2I4Lm1pcnJvcl9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRP
UlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdi
OC5taXJyb3JfcmVwZWF0X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtB
TiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5yZXBlYXRf
bWlycm9yX2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAt
R0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5yZXBlYXRfbWlycm9yX2xp
bmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5j
dGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4LnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ucG90
ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50
ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5yZXBlYXRfbWlycm9yX25lYXJlc3RfcG90ID0gU0tJUAot
NTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndy
YXAuZXRjMl9zcmdiOC5yZXBlYXRfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhF
TDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9z
cmdiOC5yZXBlYXRfcmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4LnJlcGVh
dF9yZXBlYXRfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRF
UVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOC5yZXBlYXRfcmVwZWF0
X25lYXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMu
ZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNs
YW1wX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdo
X2FscGhhMS5jbGFtcF9taXJyb3JfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVu
Y2h0aHJvdWdoX2FscGhhMS5jbGFtcF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9zcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLmNsYW1wX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNL
SVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVy
ZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5jbGFtcF9yZXBlYXRfbGluZWFy
X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlv
bmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEuY2xhbXBfcmVw
ZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVT
My5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEu
Y2xhbXBfcmVwZWF0X25lYXJlc3RfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4g
OiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJv
dWdoX2FscGhhMS5jbGFtcF9yZXBlYXRfbmVhcmVzdF9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9S
WEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4
X3B1bmNodGhyb3VnaF9hbHBoYTEubWlycm9yX21pcnJvcl9saW5lYXJfbnBvdCA9IFNLSVAKLTU5
OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFw
LmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5taXJyb3JfbWlycm9yX2xpbmVhcl9wb3Qg
PSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRl
eHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEubWlycm9yX21pcnJvcl9u
ZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5m
dW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEubWly
cm9yX21pcnJvcl9uZWFyZXN0X3BvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBk
RVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdo
X2FscGhhMS5taXJyb3JfcmVwZWF0X2xpbmVhcl9ucG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhM
IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOF9w
dW5jaHRocm91Z2hfYWxwaGExLm1pcnJvcl9yZXBlYXRfbGluZWFyX3BvdCA9IFNLSVAKLTU5OTAg
UElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4dHVyZS53cmFwLmV0
YzJfc3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5taXJyb3JfcmVwZWF0X25lYXJlc3RfbnBvdCA9
IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudGV4
dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5taXJyb3JfcmVwZWF0X25l
YXJlc3RfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLnJlcGVh
dF9taXJyb3JfbGluZWFyX25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVR
UC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9h
bHBoYTEucmVwZWF0X21pcnJvcl9saW5lYXJfcG90ID0gU0tJUAotNTk5MCBQSVhFTDRPUlhMIFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRjMl9zcmdiOF9wdW5j
aHRocm91Z2hfYWxwaGExLnJlcGVhdF9taXJyb3JfbmVhcmVzdF9ucG90ID0gU0tJUAotNTk5MCBQ
SVhFTDRPUlhMIFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50ZXh0dXJlLndyYXAuZXRj
Ml9zcmdiOF9wdW5jaHRocm91Z2hfYWxwaGExLnJlcGVhdF9taXJyb3JfbmVhcmVzdF9wb3QgPSBT
S0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1
cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBoYTEucmVwZWF0X3JlcGVhdF9saW5l
YXJfbnBvdCA9IFNLSVAKLTU5OTAgUElYRUw0T1JYTCBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwudGV4dHVyZS53cmFwLmV0YzJfc3JnYjhfcHVuY2h0aHJvdWdoX2FscGhhMS5yZXBlYXRf
cmVwZWF0X2xpbmVhcl9wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNodGhyb3VnaF9hbHBo
YTEucmVwZWF0X3JlcGVhdF9uZWFyZXN0X25wb3QgPSBTS0lQCi01OTkwIFBJWEVMNE9SWEwgVlVM
S0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRleHR1cmUud3JhcC5ldGMyX3NyZ2I4X3B1bmNo
dGhyb3VnaF9hbHBoYTEucmVwZWF0X3JlcGVhdF9uZWFyZXN0X3BvdCA9IFNLSVAKIAogNjUyOCBQ
SVhFTDRPUlhMIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwubXVsdGlzYW1wbGUuZmJvXzRf
c2FtcGxlcy4qID0gRkFJTAogNjUyOCBQSVhFTDRPUlhMIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0
aW9uYWwubXVsdGlzYW1wbGUuZmJvX21heF9zYW1wbGVzLiogPSBGQUlMCkBAIC0xNzg4LDcgKzc1
MSwyMCBAQAogNjUyOCBQSVhFTDRPUlhMIEdMRVMgOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJh
bnNmb3JtX2ZlZWRiYWNrLnJhbmRvbV9mdWxsX2FycmF5X2NhcHR1cmUuKiA9IEZBSUwKIAogLy8g
UGl4ZWwgNiBleHBlY3RhdGlvbnMKLTY5MTcgUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVu
Y3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYXJyYXlfZWxlbWVudC4qID0gRkFJTAorNjkxNyBQ
SVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5h
cnJheV9lbGVtZW50KnNlcGFyYXRlKmZsb2F0ID0gRkFJTAorNjkxNyBQSVhFTDYgVlVMS0FOIDog
ZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5hcnJheV9lbGVtZW50KnNl
cGFyYXRlKmludCA9IEZBSUwKKzY5MTcgUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rp
b25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYXJyYXlfZWxlbWVudCpzZXBhcmF0ZSptYXQyID0gRkFJ
TAorNjkxNyBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9m
ZWVkYmFjay5hcnJheV9lbGVtZW50KnNlcGFyYXRlKnZlYzIgPSBGQUlMCis2OTE3IFBJWEVMNiBW
VUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3JtX2ZlZWRiYWNrLmFycmF5X2Vs
ZW1lbnQqc2VwYXJhdGUqdmVjMyA9IEZBSUwKKzY5MTcgUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xF
UzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYXJyYXlfZWxlbWVudCpzZXBhcmF0ZSp2
ZWM0ID0gRkFJTAorNjkxNyBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRy
YW5zZm9ybV9mZWVkYmFjay5hcnJheV9lbGVtZW50KmludGVybGVhdmVkKmZsb2F0ID0gRkFJTAor
NjkxNyBQSVhFTDYgVlVMS0FOIDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVk
YmFjay5hcnJheV9lbGVtZW50KmludGVybGVhdmVkKmludCA9IEZBSUwKKzY5MTcgUElYRUw2IFZV
TEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1fZmVlZGJhY2suYXJyYXlfZWxl
bWVudCppbnRlcmxlYXZlZCp2ZWMyID0gRkFJTAorNjkxNyBQSVhFTDYgVlVMS0FOIDogZEVRUC1H
TEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5hcnJheV9lbGVtZW50KmludGVybGVh
dmVkKnZlYzMgPSBGQUlMCis2OTE3IFBJWEVMNiBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9u
YWwudHJhbnNmb3JtX2ZlZWRiYWNrLmFycmF5X2VsZW1lbnQqaW50ZXJsZWF2ZWQqdmVjNCA9IEZB
SUwKKzY5MTcgUElYRUw2IFZVTEtBTiA6IGRFUVAtR0xFUzMuZnVuY3Rpb25hbC50cmFuc2Zvcm1f
ZmVlZGJhY2suYXJyYXlfZWxlbWVudCppbnRlcmxlYXZlZCptYXQyKiA9IEZBSUwKKworLy8gQSBs
aXR0bGUgb3ZlciBoYWxmIG9mIHRoZSBmb2xsb3dpbmcgZmFpbCBpbiBhIG5vbi1jbGVhciBtYW5u
ZXI6CiA2OTE3IFBJWEVMNiBWVUxLQU4gOiBkRVFQLUdMRVMzLmZ1bmN0aW9uYWwudHJhbnNmb3Jt
X2ZlZWRiYWNrLnJhbmRvbS5pbnRlcmxlYXZlZC4qID0gRkFJTAogNjkxNyBQSVhFTDYgVlVMS0FO
IDogZEVRUC1HTEVTMy5mdW5jdGlvbmFsLnRyYW5zZm9ybV9mZWVkYmFjay5yYW5kb20uc2VwYXJh
dGUuKiA9IEZBSUwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL2RlcXBfc3VwcG9ydC9kZXFwX2tocl9nbGVzMzFfVGVzdEV4cGVjdGF0aW9ucyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xlczMx
X1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZGZiZDY0OGM1ZTU4MGI1NjlmMjVhMGExMTRkZGQ4ZDlk
MDFhMmJmZC4uOWYwNDUwYjdhYWMzZmQ0NDY5NjMxY2Y2OTdiYzM5MTMyOTllZDI5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFw
X2tocl9nbGVzMzFfVGVzdEV4cGVjdGF0aW9ucworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZGVxcF9zdXBwb3J0L2RlcXBfa2hyX2dsZXMzMV9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yNjUsMTUgKzI2NSwxOSBAQAogNTk5MCBQSVhFTDRPUlhMIFZVTEtBTiA6IEtIUi1HTEVT
MzEuY29yZS5zYW1wbGVfdmFyaWFibGVzLm1hc2sucmdiYTh1aS5zYW1wbGVzXzQubWFza196ZXJv
ID0gU0tJUAogCiAvLyBQaXhlbCA2IGV4cGVjdGF0aW9ucy4KKworLy8gVGhlc2UgZmFpbCBvbiB0
aGUgQW5kcm9pZCBTIGJvdHMsIGJ1dCBwYXNzIG9uIHByZS1yZWxlYXNlIEFuZHJvaWQgVCBkcml2
ZXJzOgogNjkxOCBQSVhFTDYgVlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLmNvbXB1dGVfc2hhZGVy
LnJlc291cmNlcy1tYXggPSBGQUlMCi02OTE4IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xFUzMxLmNv
cmUuZ2VvbWV0cnlfc2hhZGVyLmFwaS5tYXhfYXRvbWljX2NvdW50ZXJzID0gRkFJTAogNjkxOCBQ
SVhFTDYgVlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLmdlb21ldHJ5X3NoYWRlci5jb25zdGFudF92
YXJpYWJsZXMuY29uc3RhbnRfdmFyaWFibGVzID0gRkFJTAotNjkxOCBQSVhFTDYgVlVMS0FOIDog
S0hSLUdMRVMzMS5jb3JlLmdlb21ldHJ5X3NoYWRlci5sYXllcmVkX3JlbmRlcmluZy5sYXllcmVk
X3JlbmRlcmluZyA9IEZBSUwKLTY5MTggUElYRUw2IFZVTEtBTiA6IEtIUi1HTEVTMzEuY29yZS5n
ZW9tZXRyeV9zaGFkZXIubGlua2luZy5tb3JlX0FDQnNfaW5fR1NfdGhhbl9zdXBwb3J0ZWQgPSBG
QUlMCiA2OTE4IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xFUzMxLmNvcmUuZ2VvbWV0cnlfc2hhZGVy
LnByaW1pdGl2ZV9xdWVyaWVzLiogPSBGQUlMCiA2OTE4IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xF
UzMxLmNvcmUuc2hhZGVyX3N0b3JhZ2VfYnVmZmVyX29iamVjdC5hZHZhbmNlZC11c2FnZS1vcGVy
YXRvcnMtY3MgPSBGQUlMCiA2OTE4IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xFUzMxLmNvcmUuc2hh
ZGVyX3N0b3JhZ2VfYnVmZmVyX29iamVjdC5iYXNpYy1vcGVyYXRpb25zLWNhc2UxLWNzID0gRkFJ
TAogCisvLyBUaGVzZSB0ZXN0cyBmYWlsIG9uIHByZS1yZWxlYXNlIEFuZHJvaWQgVCBkcml2ZXJz
IGFzIG9mIDMvMjUvMjI6Cis2OTE4IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xFUzMxLmNvcmUuZ2Vv
bWV0cnlfc2hhZGVyLmFwaS5tYXhfYXRvbWljX2NvdW50ZXJzID0gRkFJTAorNjkxOCBQSVhFTDYg
VlVMS0FOIDogS0hSLUdMRVMzMS5jb3JlLmdlb21ldHJ5X3NoYWRlci5sYXllcmVkX3JlbmRlcmlu
Zy5sYXllcmVkX3JlbmRlcmluZyA9IEZBSUwKKzY5MTggUElYRUw2IFZVTEtBTiA6IEtIUi1HTEVT
MzEuY29yZS5nZW9tZXRyeV9zaGFkZXIubGlua2luZy5tb3JlX0FDQnNfaW5fR1NfdGhhbl9zdXBw
b3J0ZWQgPSBGQUlMCisKIAogLy8gU2xvdyB0ZXN0cwogNTc1NSBTV0lGVFNIQURFUiA6IEtIUi1H
TEVTMzEuY29yZS5hcnJheXNfb2ZfYXJyYXlzLlNpemVkRGVjbGFyYXRpb25zUHJpbWl0aXZlID0g
VElNRU9VVApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2Rl
cXBfc3VwcG9ydC9kZXFwX2tocl9nbGVzM19UZXN0RXhwZWN0YXRpb25zIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2tocl9nbGVzM19UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDMyMDQ4YWM5NDk3YjlkZTdlYjMzMGFhNDBhOTFmZDM0YjYwNTIzM2Yu
LmVjYWZkYzZjM2UzNzlmM2Y3NDc0YTIxMzMxZDQ3YzRhMGI2ZTE5MzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xl
czNfVGVzdEV4cGVjdGF0aW9ucworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZGVxcF9zdXBwb3J0L2RlcXBfa2hyX2dsZXMzX1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTYwLDcg
KzYwLDMgQEAKIDY2NzggVUJTQU4gOiBLSFItR0xFUzMuY29yZS5pbnRlcm5hbGZvcm1hdC50ZXh0
dXJlMmQuKmhhbGZfZmxvYXQqID0gU0tJUAogNjY3OCBVQlNBTiA6IEtIUi1HTEVTMy5wYWNrZWRf
cGl4ZWxzLiogPSBTS0lQCiA2Njc4IFVCU0FOIDogS0hSLUdMRVMzLmNvcHlfdGV4X2ltYWdlX2Nv
bnZlcnNpb25zLnJlcXVpcmVkLiogPSBTS0lQCi0KLS8vIFBpeGVsIDYgZXhwZWN0YXRpb25zLgot
NjkxOSBQSVhFTDYgVlVMS0FOIDogS0hSLUdMRVMzLnBhY2tlZF9waXhlbHMucGJvX3JlY3Rhbmds
ZS5yZ2IgPSBGQUlMCi02OTE5IFBJWEVMNiBWVUxLQU4gOiBLSFItR0xFUzMucGFja2VkX3BpeGVs
cy5wYm9fcmVjdGFuZ2xlLnJnYjggPSBGQUlMCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTENvbnRleHRTaGFyaW5nVGVzdC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZWdsX3Rlc3RzL0VHTENvbnRleHRTaGFy
aW5nVGVzdC5jcHAKaW5kZXggOWY5YzE3MTQwYWZmMWUzZGZhMmRiZWVmZjc5ZDRlZjk1NjRhNzFm
Ni4uMmViMWY1YWIxNTljYmRiYmNjNzk3ODk0MDNkYzZiYmE2ODRmMzZhZiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xDb250ZXh0U2hh
cmluZ1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xf
dGVzdHMvRUdMQ29udGV4dFNoYXJpbmdUZXN0LmNwcApAQCAtMjUwLDEyICsyNTAsOCBAQCBURVNU
X1AoRUdMQ29udGV4dFNoYXJpbmdUZXN0LCBEaXNwbGF5U2hhcmVHcm91cENvbnRleHRDcmVhdGlv
bikKIFRFU1RfUChFR0xDb250ZXh0U2hhcmluZ1Rlc3QsIERpc3BsYXlTaGFyZUdyb3VwT2JqZWN0
U2hhcmluZykKIHsKICAgICBFR0xEaXNwbGF5IGRpc3BsYXkgPSBnZXRFR0xXaW5kb3coKS0+Z2V0
RGlzcGxheSgpOwotICAgIGlmICghSXNFR0xEaXNwbGF5RXh0ZW5zaW9uRW5hYmxlZChkaXNwbGF5
LCAiRUdMX0FOR0xFX2Rpc3BsYXlfdGV4dHVyZV9zaGFyZV9ncm91cCIpKQotICAgIHsKLSAgICAg
ICAgc3RkOjpjb3V0IDw8ICJUZXN0IHNraXBwZWQgYmVjYXVzZSBFR0xfQU5HTEVfZGlzcGxheV90
ZXh0dXJlX3NoYXJlX2dyb3VwIGlzIG5vdCBwcmVzZW50LiIKLSAgICAgICAgICAgICAgICAgIDw8
IHN0ZDo6ZW5kbDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBTkdMRV9TS0lQX1RFU1Rf
SUYoCisgICAgICAgICFJc0VHTERpc3BsYXlFeHRlbnNpb25FbmFibGVkKGRpc3BsYXksICJFR0xf
QU5HTEVfZGlzcGxheV90ZXh0dXJlX3NoYXJlX2dyb3VwIikpOwogCiAgICAgRUdMQ29uZmlnIGNv
bmZpZyAgID0gZ2V0RUdMV2luZG93KCktPmdldENvbmZpZygpOwogICAgIEVHTFN1cmZhY2Ugc3Vy
ZmFjZSA9IGdldEVHTFdpbmRvdygpLT5nZXRTdXJmYWNlKCk7CkBAIC0zMTgsMTMgKzMxNCw4IEBA
IFRFU1RfUChFR0xDb250ZXh0U2hhcmluZ1Rlc3QsIERpc3BsYXlTaGFyZUdyb3VwT2JqZWN0U2hh
cmluZykKIFRFU1RfUChFR0xDb250ZXh0U2hhcmluZ1Rlc3QsIERpc3BsYXlTaGFyZUdyb3VwUmVs
ZWFzZWRXaXRoTGFzdENvbnRleHQpCiB7CiAgICAgRUdMRGlzcGxheSBkaXNwbGF5ID0gZ2V0RUdM
V2luZG93KCktPmdldERpc3BsYXkoKTsKLSAgICBpZiAoIUlzRUdMRGlzcGxheUV4dGVuc2lvbkVu
YWJsZWQoZGlzcGxheSwgIkVHTF9BTkdMRV9kaXNwbGF5X3RleHR1cmVfc2hhcmVfZ3JvdXAiKSkK
LSAgICB7Ci0gICAgICAgIHN0ZDo6Y291dCA8PCAiVGVzdCBza2lwcGVkIGJlY2F1c2UgRUdMX0FO
R0xFX2Rpc3BsYXlfdGV4dHVyZV9zaGFyZV9ncm91cCBpcyBub3QgcHJlc2VudC4iCi0gICAgICAg
ICAgICAgICAgICA8PCBzdGQ6OmVuZGw7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KKyAgICBB
TkdMRV9TS0lQX1RFU1RfSUYoCisgICAgICAgICFJc0VHTERpc3BsYXlFeHRlbnNpb25FbmFibGVk
KGRpc3BsYXksICJFR0xfQU5HTEVfZGlzcGxheV90ZXh0dXJlX3NoYXJlX2dyb3VwIikpOwogICAg
IEVHTENvbmZpZyBjb25maWcgICA9IGdldEVHTFdpbmRvdygpLT5nZXRDb25maWcoKTsKICAgICBF
R0xTdXJmYWNlIHN1cmZhY2UgPSBnZXRFR0xXaW5kb3coKS0+Z2V0U3VyZmFjZSgpOwogCkBAIC0z
NjMsNiArMzU0LDU4IEBAIFRFU1RfUChFR0xDb250ZXh0U2hhcmluZ1Rlc3QsIERpc3BsYXlTaGFy
ZUdyb3VwUmVsZWFzZWRXaXRoTGFzdENvbnRleHQpCiAgICAgQVNTRVJUX0dMX0ZBTFNFKGdsSXNU
ZXh0dXJlKHRleHR1cmVGcm9tQ3R4MCkpOwogfQogCisvLyBUZXN0cyB0aGF0IGFmdGVyIGNyZWF0
aW5nIGEgdGV4dHVyZSB1c2luZyBFR0xfQU5HTEVfZGlzcGxheV90ZXh0dXJlX3NoYXJlX2dyb3Vw
LAorLy8gYW5kIGRlbGV0aW5nIHRoZSBDb250ZXh0IGFuZCB0aGUgZWdsOjpTaGFyZUdyb3VwIHdo
byBvd24gYSB0ZXh0dXJlIHN0YWdlZCB1cGRhdGVzLAorLy8gdGhlIHRleHR1cmUgc3RhZ2VkIHVw
ZGF0ZXMgYXJlIGZsdXNoZWQsIGFuZCB0aGUgQ29udGV4dCBhbmQgZWdsOjpTaGFyZUdyb3VwIGNh
biBiZSBkZXN0cm95ZWQKKy8vIHN1Y2Nlc3NmdWxseSwgYW5kIHRoZSB0ZXh0dXJlIGNhbiBzdGls
bCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBnbG9iYWwgZGlzcGxheSB0ZXh0dXJlIHNoYXJlIGdyb3Vw
CitURVNUX1AoRUdMQ29udGV4dFNoYXJpbmdUZXN0LCBEaXNwbGF5U2hhcmVHcm91cFJlbGVhc2VT
aGFyZUdyb3VwVGhhdE93bnNTdGFnZWRVcGRhdGVzKQoreworICAgIEVHTERpc3BsYXkgZGlzcGxh
eSA9IGdldEVHTFdpbmRvdygpLT5nZXREaXNwbGF5KCk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lG
KAorICAgICAgICAhSXNFR0xEaXNwbGF5RXh0ZW5zaW9uRW5hYmxlZChkaXNwbGF5LCAiRUdMX0FO
R0xFX2Rpc3BsYXlfdGV4dHVyZV9zaGFyZV9ncm91cCIpKTsKKworICAgIEVHTENvbmZpZyBjb25m
aWcgICA9IGdldEVHTFdpbmRvdygpLT5nZXRDb25maWcoKTsKKyAgICBFR0xTdXJmYWNlIHN1cmZh
Y2UgPSBnZXRFR0xXaW5kb3coKS0+Z2V0U3VyZmFjZSgpOworCisgICAgY29uc3QgRUdMaW50IGlu
U2hhcmVHcm91cENvbnRleHRBdHRyaWJzW10gPSB7CisgICAgICAgIEVHTF9DT05URVhUX0NMSUVO
VF9WRVJTSU9OLCAyLCBFR0xfRElTUExBWV9URVhUVVJFX1NIQVJFX0dST1VQX0FOR0xFLCBFR0xf
VFJVRSwgRUdMX05PTkV9OworCisgICAgLy8gQ3JlYXRlIHR3byBjb250ZXh0cyBpbiB0aGUgZ2xv
YmFsIHNoYXJlIGdyb3VwLCBidXQgbm90IGluIHRoZSBzYW1lIGNvbnRleHQgc2hhcmUgZ3JvdXAK
KyAgICBFR0xDb250ZXh0IGNvbnRleHQxID0gZWdsQ3JlYXRlQ29udGV4dChkaXNwbGF5LCBjb25m
aWcsIG51bGxwdHIsIGluU2hhcmVHcm91cENvbnRleHRBdHRyaWJzKTsKKyAgICBFR0xDb250ZXh0
IGNvbnRleHQyID0gZWdsQ3JlYXRlQ29udGV4dChkaXNwbGF5LCBjb25maWcsIG51bGxwdHIsIGlu
U2hhcmVHcm91cENvbnRleHRBdHRyaWJzKTsKKworICAgIC8vIENyZWF0ZSBhIHRleHR1cmUgaW4g
Y29udGV4dDEgYW5kIHN0YWdlIGEgdGV4dHVyZSB1cGRhdGUKKyAgICBBU1NFUlRfRUdMX1RSVUUo
ZWdsTWFrZUN1cnJlbnQoZGlzcGxheSwgc3VyZmFjZSwgc3VyZmFjZSwgY29udGV4dDEpKTsKKyAg
ICBjb25zdGV4cHIgR0xzaXplaSBrVGV4U2l6ZSAgICAgICAgICAgICAgICAgICA9IDI7CisgICAg
Y29uc3QgR0xDb2xvciBrQmx1ZURhdGFba1RleFNpemUgKiBrVGV4U2l6ZV0gPSB7R0xDb2xvcjo6
Ymx1ZSwgR0xDb2xvcjo6Ymx1ZSwgR0xDb2xvcjo6Ymx1ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTENvbG9yOjpibHVlfTsKKyAgICBHTFRl
eHR1cmUgdGV4dHVyZUZyb21DdHgwOworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwg
dGV4dHVyZUZyb21DdHgwKTsKKyAgICAvLyBUaGlzIHdpbGwgc3RhZ2UgYSB0ZXh0dXJlIHVwZGF0
ZSBpbiBjb250ZXh0MSdzIFNoYXJlZEdyb3VwOjpCdWZmZXJQb29sCisgICAgZ2xUZXhJbWFnZTJE
KEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkEsIDIsIDIsIDAsIEdMX1JHQkEsIEdMX1VOU0lHTkVE
X0JZVEUsIGtCbHVlRGF0YSk7CisKKyAgICAvLyBEZXN0cm95IGNvbnRleHQgMSwgdGhpcyBhbHNv
IGRlc3Ryb3lzIGNvbnRleHQxJ3MgU2hhcmVkR3JvdXAgYW5kIEJ1ZmZlclBvb2wKKyAgICAvLyBU
aGUgdGV4dHVyZSBzdGFnZWQgdXBkYXRlIGluIGNvbnRleHQxJ3MgU2hhcmVkR3JvdXAgQnVmZmVy
UG9vbCB3aWxsIGJlIGZsdXNoZWQKKyAgICBTYWZlRGVzdHJveUNvbnRleHQoZGlzcGxheSwgY29u
dGV4dDEpOworCisgICAgLy8gU3dpdGNoIHRvIGNvbnRleHQyIGFuZCB2ZXJpZnkgdGhhdCB0aGUg
dGV4dHVyZSBpcyBhY2Nlc3NpYmxlCisgICAgQVNTRVJUX0VHTF9UUlVFKGVnbE1ha2VDdXJyZW50
KGRpc3BsYXksIHN1cmZhY2UsIHN1cmZhY2UsIGNvbnRleHQyKSk7CisgICAgQVNTRVJUX0dMX1RS
VUUoZ2xJc1RleHR1cmUodGV4dHVyZUZyb21DdHgwKSk7CisKKyAgICAvLyBTYW1wbGUgZnJvbSB0
ZXh0dXJlRnJvbUN0eDAgYW5kIGNoZWNrIGl0IHdvcmtzIHByb3Blcmx5CisgICAgZ2xCaW5kVGV4
dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlRnJvbUN0eDApOworICAgIGdsVGV4UGFyYW1ldGVy
aShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX05FQVJFU1QpOworICAg
IGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9GSUxURVIsIEdM
X05FQVJFU1QpOworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbTEsIGVzc2wxX3NoYWRlcnM6
OnZzOjpUZXh0dXJlMkQoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlRleHR1cmUyRCgpKTsKKyAgICBn
bFVzZVByb2dyYW0ocHJvZ3JhbTEpOworICAgIGRyYXdRdWFkKHByb2dyYW0xLCBlc3NsMV9zaGFk
ZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsK
KyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Ymx1ZSk7CisKKyAgICAv
LyBEZXN0cm95IGNvbnRleHQyCisgICAgZWdsRGVzdHJveUNvbnRleHQoZGlzcGxheSwgY29udGV4
dDIpOworfQorCiAvLyBUZXN0cyB0aGF0IGRlbGV0aW5nIGFuIG9iamVjdCBvbiBvbmUgQ29udGV4
dCBkb2Vzbid0IGRlc3Ryb3kgaXQgYWhlYWQtb2YtdGltZS4gTW9zdGx5IGZvY3VzZWQKIC8vIG9u
IHRoZSBWdWxrYW4gYmFjay1lbmQgd2hlcmUgd2UgbWFuYWdlIG9iamVjdCBsaWZldGltZSBtYW51
YWxseS4KIFRFU1RfUChFR0xDb250ZXh0U2hhcmluZ1Rlc3QsIFRleHR1cmVMaWZldGltZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdM
SU9TdXJmYWNlQ2xpZW50QnVmZmVyVGVzdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZWdsX3Rlc3RzL0VHTElPU3VyZmFjZUNsaWVudEJ1ZmZlclRlc3QuY3BwCmluZGV4
IDQ0NTc3ODFjMTg0ZTlmNGVjMzEyYzY2ZjY1NjA4MDVhMWMyYjRkN2MuLmQ3MDZlYjg0MTczYjk5
ZWQ3MWRjYjc4OTk5YjBmMDA5MDhkNzMxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9lZ2xfdGVzdHMvRUdMSU9TdXJmYWNlQ2xpZW50QnVmZmVyVGVzdC5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xJ
T1N1cmZhY2VDbGllbnRCdWZmZXJUZXN0LmNwcApAQCAtMjksNyArMjksNyBAQCB2b2lkIEFkZElu
dGVnZXJWYWx1ZShDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIGNvbnN0IENGU3Ry
aW5nUmVmIGtleSwgaQogICAgIENGUmVsZWFzZShudW1iZXIpOwogfQogCi1jbGFzcyBTY29wZWRJ
T1N1cmZhY2VSZWYgOiBhbmdsZTo6Tm9uQ29weWFibGUKK2NsYXNzIEFOR0xFX05PX0RJU0NBUkQg
U2NvcGVkSU9TdXJmYWNlUmVmIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiB7CiAgIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBTY29wZWRJT1N1cmZhY2VSZWYoSU9TdXJmYWNlUmVmIHN1cmZhY2UpIDogbVN1
cmZhY2Uoc3VyZmFjZSkge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9lZ2xfdGVzdHMvRUdMU3VyZmFjZVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xTdXJmYWNlVGVzdC5jcHAKaW5kZXggNzcwZWVi
MzA1ZGNhZmY2YzU3ODg2MzVhMTc3MTEwMmYxMWM2NjA4ZS4uNjA5YjY0MmY4NDFmOGIxMzllN2I1
Njg1YjYzMGM4ODNhZDcwY2JjOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xTdXJmYWNlVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2VnbF90ZXN0cy9FR0xTdXJmYWNlVGVzdC5jcHAKQEAgLTQ3
Myw2ICs0NzMsNDcgQEAgVEVTVF9QKEVHTFN1cmZhY2VUZXN0LCBNYWtlQ3VycmVudFR3aWNlKQog
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CiB9CiAKKy8vIFRoaXMgaXMgYSByZWdy
ZXNzaW9uIHRlc3QgdG8gdmVyaWZ5IHRoYXQgc3VyZmFjZXMgYXJlIG5vdCBwcmVtYXR1cmVseSBk
ZXN0cm95ZWQuCitURVNUX1AoRUdMU3VyZmFjZVRlc3QsIFN1cmZhY2VVc2VBZnRlckZyZWVCdWcp
Cit7CisgICAgaW5pdGlhbGl6ZURpc3BsYXkoKTsKKworICAgIC8vIEluaXRpYWxpemUgYW4gUkdC
QTggd2luZG93IGFuZCBwYnVmZmVyIHN1cmZhY2UKKyAgICBjb25zdGV4cHIgRUdMaW50IGtTdXJm
YWNlQXR0cmlidXRlc1tdID0ge0VHTF9SRURfU0laRSwgICAgIDgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0xfR1JFRU5fU0laRSwgICA4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdMX0JMVUVfU0laRSwgICAg
OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9BTFBI
QV9TSVpFLCAgIDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFR0xfU1VSRkFDRV9UWVBFLCBFR0xfV0lORE9XX0JJVCB8IEVHTF9QQlVGRkVSX0JJVCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHTF9OT05FfTsKKwor
ICAgIEVHTGludCBjb25maWdDb3VudCAgICAgID0gMDsKKyAgICBFR0xDb25maWcgc3VyZmFjZUNv
bmZpZyA9IG51bGxwdHI7CisgICAgQVNTRVJUX0VHTF9UUlVFKGVnbENob29zZUNvbmZpZyhtRGlz
cGxheSwga1N1cmZhY2VBdHRyaWJ1dGVzLCAmc3VyZmFjZUNvbmZpZywgMSwgJmNvbmZpZ0NvdW50
KSk7CisgICAgQVNTRVJUX05FKGNvbmZpZ0NvdW50LCAwKTsKKyAgICBBU1NFUlRfTkUoc3VyZmFj
ZUNvbmZpZywgbnVsbHB0cik7CisKKyAgICBpbml0aWFsaXplU3VyZmFjZShzdXJmYWNlQ29uZmln
KTsKKyAgICBBU1NFUlRfRUdMX1NVQ0NFU1MoKTsKKyAgICBBU1NFUlRfTkUobVdpbmRvd1N1cmZh
Y2UsIEVHTF9OT19TVVJGQUNFKTsKKyAgICBBU1NFUlRfTkUobVBidWZmZXJTdXJmYWNlLCBFR0xf
Tk9fU1VSRkFDRSk7CisKKyAgICBlZ2xNYWtlQ3VycmVudChtRGlzcGxheSwgbVdpbmRvd1N1cmZh
Y2UsIG1XaW5kb3dTdXJmYWNlLCBtU2Vjb25kQ29udGV4dCk7CisgICAgQVNTRVJUX0VHTF9TVUND
RVNTKCk7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKKworICAgIGVnbE1ha2VD
dXJyZW50KG1EaXNwbGF5LCBtUGJ1ZmZlclN1cmZhY2UsIG1QYnVmZmVyU3VyZmFjZSwgbUNvbnRl
eHQpOworICAgIEFTU0VSVF9FR0xfU1VDQ0VTUygpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVG
RkVSX0JJVCk7CisKKyAgICBlZ2xEZXN0cm95U3VyZmFjZShtRGlzcGxheSwgbVBidWZmZXJTdXJm
YWNlKTsKKyAgICBBU1NFUlRfRUdMX1NVQ0NFU1MoKTsKKyAgICBtUGJ1ZmZlclN1cmZhY2UgPSBF
R0xfTk9fU1VSRkFDRTsKKworICAgIGVnbERlc3Ryb3lDb250ZXh0KG1EaXNwbGF5LCBtU2Vjb25k
Q29udGV4dCk7CisgICAgQVNTRVJUX0VHTF9TVUNDRVNTKCk7CisgICAgbVNlY29uZENvbnRleHQg
PSBFR0xfTk9fQ09OVEVYVDsKK30KKwogLy8gVGVzdCB0aGF0IHRoZSB3aW5kb3cgc3VyZmFjZSBp
cyBjb3JyZWN0bHkgcmVzaXplZCBhZnRlciBjYWxsaW5nIHN3YXBCdWZmZXJzCiBURVNUX1AoRUdM
U3VyZmFjZVRlc3QsIFJlc2l6ZVdpbmRvdykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9CdWZmZXJEYXRhVGVzdC5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvQnVmZmVyRGF0YVRlc3QuY3BwCmlu
ZGV4IGQ5OTQyYzYyNmRmNzc0MDZkZmRkMDkwNGVkYmUzMTI1Y2VmYzI2NGEuLjQzZjJjNTJjN2Ey
NDA3MGEyNTFjYzA5MzFlNTg3YWE1NzhmNGEzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9CdWZmZXJEYXRhVGVzdC5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0J1ZmZlckRhdGFUZXN0LmNw
cApAQCAtMjkyLDYgKzI5Miw2MCBAQCBURVNUX1AoQnVmZmVyU3ViRGF0YVRlc3QsIFNtYWxsSW5k
ZXhCdWZmZXJVcGRhdGVBZnRlckRyYXcpCiAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIGdl
dFdpbmRvd0hlaWdodCgpIC0gMSwgR0xDb2xvcjo6Z3JlZW4pOwogfQogCisvLyBUZXN0IHRoYXQg
dXBkYXRpbmcgYSBzbWFsbCBpbmRleCBidWZmZXIgYWZ0ZXIgZHJhd2luZyB3aXRoIGl0IHdvcmtz
LgorLy8gSW4gdGhlIFZ1bGthbiBiYWNrZW5kLCB0aGUgQ1BVIG1heSBiZSB1c2VkIHRvIHBlcmZv
cm0gdGhpcyBjb3B5LgorVEVTVF9QKEJ1ZmZlclN1YkRhdGFUZXN0LCBTbWFsbFZlcnRleERhdGFV
cGRhdGVBZnRlckRyYXcpCit7CisgICAgY29uc3RleHByIHN0ZDo6YXJyYXk8R0xmbG9hdCwgND4g
a0dyZWVuID0gezAuMGYsIDEuMGYsIDAuMGYsIDEuMGZ9OworICAgIC8vIEluZGV4IGJ1ZmZlciBk
YXRhCisgICAgR0x1aW50IGluZGV4RGF0YVtdID0gezAsIDEsIDIsIDB9OworICAgIC8vIFZlcnRl
eCBidWZmZXIgZGF0YSBsb3dlciBsZWZ0IHRyaWFuZ2xlCisgICAgLy8gMgorICAgIC8vCisgICAg
Ly8gbyAgICAxCisgICAgZmxvYXQgdmVydGV4RGF0YTFbXSA9IHsKKyAgICAgICAgLTEuMGYsIC0x
LjBmLCAxLjBmLCAtMS4wZiwgLTEuMGYsIDEuMGYsCisgICAgfTsKKyAgICAvLyBWZXJ0ZXggYnVm
ZmVyIGRhdGEgdXBwZXIgcmlnaHQgdHJpYW5nbGUKKyAgICAvLyAyICAgICAgMQorICAgIC8vCisg
ICAgLy8gICAgICAgIDAKKyAgICBmbG9hdCB2ZXJ0ZXhEYXRhMltdID0geworICAgICAgICAxLjBm
LCAtMS4wZiwgMS4wZiwgMS4wZiwgLTEuMGYsIDEuMGYsCisgICAgfTsKKyAgICBHTEJ1ZmZlciBp
bmRleEJ1ZmZlcjsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6
OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlVuaWZvcm1Db2xvcigpKTsKKyAgICBH
TGludCB2UG9zID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQ
b3NpdGlvbkF0dHJpYigpKTsKKyAgICBBU1NFUlRfTkUodlBvcywgLTEpOworICAgIGdsVXNlUHJv
Z3JhbShwcm9ncmFtKTsKKyAgICBHTGludCBjb2xvclVuaWZvcm1Mb2NhdGlvbiA9CisgICAgICAg
IGdsR2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIGFuZ2xlOjplc3NsMV9zaGFkZXJzOjpDb2xv
clVuaWZvcm0oKSk7CisgICAgQVNTRVJUX05FKGNvbG9yVW5pZm9ybUxvY2F0aW9uLCAtMSk7CisK
KyAgICAvLyBCaW5kIHZlcnRleCBidWZmZXIKKyAgICBnbEJpbmRCdWZmZXIoR0xfQVJSQVlfQlVG
RkVSLCBtQnVmZmVyKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xfQVJSQVlfQlVGRkVSLCBzaXplb2Yo
dmVydGV4RGF0YTEpLCB2ZXJ0ZXhEYXRhMSwgR0xfRFlOQU1JQ19EUkFXKTsKKyAgICBnbFZlcnRl
eEF0dHJpYlBvaW50ZXIodlBvcywgMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCBudWxscHRyKTsK
KyAgICBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHZQb3MpOworCisgICAgLy8gQmluZCBpbmRl
eCBidWZmZXIKKyAgICBnbEJpbmRCdWZmZXIoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4
QnVmZmVyKTsKKyAgICBnbEJ1ZmZlckRhdGEoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHNpemVv
ZihpbmRleERhdGEpLCBpbmRleERhdGEsIEdMX0RZTkFNSUNfRFJBVyk7CisKKyAgICBnbFVuaWZv
cm00ZnYoY29sb3JVbmlmb3JtTG9jYXRpb24sIDEsIGtHcmVlbi5kYXRhKCkpOworICAgIC8vIERy
YXcgbGVmdCByZWQgdHJpYW5nbGUKKyAgICBnbERyYXdFbGVtZW50cyhHTF9UUklBTkdMRVMsIDMs
IEdMX1VOU0lHTkVEX0lOVCwgbnVsbHB0cik7CisgICAgLy8gVXBkYXRlIHRoZSB2ZXJ0ZXggYnVm
ZmVyIGRhdGEuCisgICAgLy8gUGFydGlhbCBjb3B5IHRvIHRyaWdnZXIgdGhlIGJ1ZmZlciBwb29s
IGFsbG9jYXRpb24KKyAgICBnbEJ1ZmZlclN1YkRhdGEoR0xfQVJSQVlfQlVGRkVSLCAwLCBzaXpl
b2YodmVydGV4RGF0YTIpLCB2ZXJ0ZXhEYXRhMik7CisgICAgLy8gRHJhdyB0cmlhbmdsZSB3aXRo
IGluZGV4ICgwLDEsMikuCisgICAgZ2xEcmF3RWxlbWVudHMoR0xfVFJJQU5HTEVTLCAzLCBHTF9V
TlNJR05FRF9JTlQsIChjb25zdCB2b2lkICopc2l6ZW9mKEdMdWludCkpOworICAgIC8vIFZlcmlm
eSBwaXhlbCBjb3JuZXJzIGFyZSBncmVlbgorICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAw
LCBHTENvbG9yOjpncmVlbik7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIGdldFdpbmRv
d0hlaWdodCgpIC0gMSwgR0xDb2xvcjo6Z3JlZW4pOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9F
UShnZXRXaW5kb3dXaWR0aCgpIC0gMSwgMCwgR0xDb2xvcjo6Z3JlZW4pOworICAgIEVYUEVDVF9Q
SVhFTF9DT0xPUl9FUShnZXRXaW5kb3dXaWR0aCgpIC0gMSwgZ2V0V2luZG93SGVpZ2h0KCkgLSAx
LCBHTENvbG9yOjpncmVlbik7Cit9CiBjbGFzcyBJbmRleGVkQnVmZmVyQ29weVRlc3QgOiBwdWJs
aWMgQU5HTEVUZXN0CiB7CiAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9DbGVhclRlc3QuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0NsZWFyVGVzdC5jcHAKaW5kZXggYTc4MTYy
ZmM3ZmEyMzkxYmE0YTcyODhhNWM2ZGI3NWE3MWM4NjdjZC4uMGU0MjllNTQzMDkwZDQ4NDM4NWJi
Y2E3NDJiMmViODZiYmQ5NDU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2dsX3Rlc3RzL0NsZWFyVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0NsZWFyVGVzdC5jcHAKQEAgLTM4MCwzOCArMzgwLDYg
QEAgVEVTVF9QKENsZWFyVGVzdFJHQl9FUzMsIEludmFsaWRhdGVEZWZhdWx0RnJhbWVidWZmZXJS
R0IpCiAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmJsdWUpOwogfQog
Ci0vLyBJbnZhbGlkYXRlIGFuIFJHQiB1c2VyIGZyYW1lYnVmZmVyIGFuZCB2ZXJpZnkgdGhhdCB0
aGUgYWxwaGEgY2hhbm5lbCBpcyBub3QgY2xlYXJlZCwgYW5kCi0vLyBzdGF5cyBzZXQgYWZ0ZXIg
ZHJhd2luZy4KLVRFU1RfUChDbGVhclRlc3RSR0JfRVMzLCBJbnZhbGlkYXRlVXNlckZyYW1lYnVm
ZmVyUkdCKQotewotICAgIEFOR0xFX0dMX1BST0dSQU0oYmx1ZVByb2dyYW0sIGVzc2wxX3NoYWRl
cnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OkJsdWUoKSk7Ci0KLSAgICBHTFRl
eHR1cmUgdGV4dHVyZTsKLSAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleHR1cmUp
OwotICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0IsIGdldFdpbmRvd1dp
ZHRoKCksIGdldFdpbmRvd0hlaWdodCgpLCAwLCBHTF9SR0IsCi0gICAgICAgICAgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOwotCi0gICAgR0xGcmFtZWJ1ZmZlciBmYm87Ci0gICAg
Z2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZibyk7Ci0gICAgZ2xGcmFtZWJ1ZmZl
clRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRV
UkVfMkQsIHRleHR1cmUsIDApOwotICAgIEVYUEVDVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShH
TF9GUkFNRUJVRkZFUik7Ci0gICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Ci0KLSAgICBnbENsZWFy
Q29sb3IoMC4wZiwgMC4wZiwgMC4wZiwgMC4wZik7Ci0gICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZG
RVJfQklUKTsKLSAgICAvLyBWZXJpZnkgdGhhdCBjbGVhcmluZyBhbHBoYSBpcyBpbmVmZmVjdGl2
ZSBvbiBhbiBSR0IgZm9ybWF0LgotICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENv
bG9yOjpibGFjayk7Ci0KLSAgICAvLyBJbnZhbGlkYXRlIHRoZSBmcmFtZWJ1ZmZlciBjb250ZW50
cy4KLSAgICBjb25zdCBHTGVudW0gZGlzY2FyZHNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMH07
Ci0gICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDEsIGRpc2NhcmRz
KTsKLQotICAgIC8vIFdpdGhvdXQgYW4gZXhwbGljaXQgY2xlYXIsIGRyYXcgYmx1ZSBhbmQgbWFr
ZSBzdXJlIGFscGhhIGlzIHVuYWZmZWN0ZWQuICBJZiBSR0IgaXMgZW11YWx0ZWQKLSAgICAvLyB3
aXRoIFJHQkEsIHRoZSBwcmV2aW91cyBpbnZhbGlkYXRlIHNob3VsZG4ndCBhZmZlY3QgdGhlIGFs
cGhhIHZhbHVlLgotICAgIGRyYXdRdWFkKGJsdWVQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3Np
dGlvbkF0dHJpYigpLCAwLjVmKTsKLSAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xD
b2xvcjo6Ymx1ZSk7Ci19Ci0KIC8vIERyYXcgd2l0aCBhIHNoYWRlciB0aGF0IG91dHB1dHMgYWxw
aGE9MC41LiBSZWFkYmFjayBhbmQgZW5zdXJlIHRoYXQgYWxwaGE9MS4KIFRFU1RfUChDbGVhclRl
c3RSR0JfRVMzLCBTaGFkZXJPdXRwdXRzQWxwaGFWZXJpZnlSZWFkaW5nQWxwaGFJc09uZSkKIHsK
QEAgLTIwMDMsNiArMTk3MSw1NyBAQCBURVNUX1AoQ2xlYXJUZXN0LCBJbmNlcHRpb25TY2lzc29y
Q2xlYXJzKQogICAgIEVYUEVDVF9FUShleHBlY3RlZENvbG9ycywgYWN0dWFsQ29sb3JzKTsKIH0K
IAorLy8gQ2xlYXJzIG1hbnkgc21hbGwgY29uY2VudHJpYyByZWN0YW5nbGVzIHVzaW5nIHNjaXNz
b3IgcmVnaW9ucy4KK1RFU1RfUChDbGVhclRlc3QsIERyYXdUaGVuSW5jZXB0aW9uU2Npc3NvckNs
ZWFycykKK3sKKyAgICBhbmdsZTo6Uk5HIHJuZzsKKworICAgIGNvbnN0ZXhwciBHTHVpbnQga1Np
emUgPSAxNjsKKworICAgIC8vIENyZWF0ZSBhIHNxdWFyZSB1c2VyIEZCTyBzbyB3ZSBoYXZlIG1v
cmUgY29udHJvbCBvdmVyIHRoZSBkaW1lbnNpb25zLgorICAgIEdMRnJhbWVidWZmZXIgZmJvOwor
ICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmYm8pOworCisgICAgR0xSZW5k
ZXJidWZmZXIgcmJvOworICAgIGdsQmluZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIHJi
byk7CisgICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlKEdMX1JFTkRFUkJVRkZFUiwgR0xfUkdCQTgs
IGtTaXplLCBrU2l6ZSk7CisKKyAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZSQU1F
QlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfUkVOREVSQlVGRkVSLCByYm8pOworICAg
IEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAgICBn
bFZpZXdwb3J0KDAsIDAsIGtTaXplLCBrU2l6ZSk7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHJl
ZFByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6
OlJlZCgpKTsKKyAgICBkcmF3UXVhZChyZWRQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlv
bkF0dHJpYigpLCAwLjVmKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xv
cjo6cmVkKTsKKworICAgIC8vIERyYXcgc21hbGwgY29uY2VudHJpYyBzcXVhcmVzIHVzaW5nIHNj
aXNzb3IuCisgICAgc3RkOjp2ZWN0b3I8R0xDb2xvcj4gZXhwZWN0ZWRDb2xvcnM7CisgICAgZm9y
IChHTHVpbnQgaW5kZXggPSAwOyBpbmRleCA8IChrU2l6ZSAtIDEpIC8gMjsgaW5kZXgrKykKKyAg
ICB7CisgICAgICAgIC8vIERvIHRoZSBmaXJzdCBjbGVhciB3aXRob3V0IHRoZSBzY2lzc29yLgor
ICAgICAgICBpZiAoaW5kZXggPiAwKQorICAgICAgICB7CisgICAgICAgICAgICBnbEVuYWJsZShH
TF9TQ0lTU09SX1RFU1QpOworICAgICAgICAgICAgZ2xTY2lzc29yKGluZGV4LCBpbmRleCwga1Np
emUgLSAoaW5kZXggKiAyKSwga1NpemUgLSAoaW5kZXggKiAyKSk7CisgICAgICAgIH0KKworICAg
ICAgICBHTENvbG9yIGNvbG9yID0gUmFuZG9tQ29sb3IoJnJuZyk7CisgICAgICAgIGV4cGVjdGVk
Q29sb3JzLnB1c2hfYmFjayhjb2xvcik7CisgICAgICAgIFZlY3RvcjQgZmxvYXRDb2xvciA9IGNv
bG9yLnRvTm9ybWFsaXplZFZlY3RvcigpOworICAgICAgICBnbENsZWFyQ29sb3IoZmxvYXRDb2xv
clswXSwgZmxvYXRDb2xvclsxXSwgZmxvYXRDb2xvclsyXSwgZmxvYXRDb2xvclszXSk7CisgICAg
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgfQorCisgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CisKKyAgICBzdGQ6OnZlY3RvcjxHTENvbG9yPiBhY3R1YWxDb2xvcnMoZXhw
ZWN0ZWRDb2xvcnMuc2l6ZSgpKTsKKyAgICBnbFJlYWRQaXhlbHMoMCwga1NpemUgLyAyLCBhY3R1
YWxDb2xvcnMuc2l6ZSgpLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLAorICAgICAgICAg
ICAgICAgICBhY3R1YWxDb2xvcnMuZGF0YSgpKTsKKworICAgIEVYUEVDVF9FUShleHBlY3RlZENv
bG9ycywgYWN0dWFsQ29sb3JzKTsKK30KKwogLy8gVGVzdCB0aGF0IGNsZWFyQnVmZmVyIHdpdGgg
ZGlzYWJsZWQgbm9uLXplcm8gZHJhd2J1ZmZlciBvciBkaXNhYmxlZCByZWFkIHNvdXJjZSBkb2Vz
bid0IGNhdXNlIGFuCiAvLyBhc3NlcnQuCiBURVNUX1AoQ2xlYXJUZXN0RVMzLCBDbGVhckRpc2Fi
bGVkTm9uWmVyb0F0dGFjaG1lbnROb0Fzc2VydCkKQEAgLTIyMDUsMTAgKzIyMjQsMTAgQEAgVEVT
VF9QKENsZWFyVGVzdEVTMywgQ2xlYXJNYXhBdHRhY2htZW50c0FmdGVyRHJhdykKICAgICB7CiAg
ICAgICAgIGdsUmVhZEJ1ZmZlcihHTF9DT0xPUl9BVFRBQ0hNRU5UMCArIGNvbG9ySW5kZXgpOwog
Ci0gICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOwotICAg
ICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwga1NpemUgLSAxLCBHTENvbG9yOjpyZWQpOwot
ICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCAwLCBHTENvbG9yOjpyZWQp
OwotICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCBrU2l6ZSAtIDEsIEdM
Q29sb3I6OnJlZCk7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpIDw8IGNvbG9ySW5kZXg7CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCBr
U2l6ZSAtIDEsIEdMQ29sb3I6OnJlZCkgPDwgY29sb3JJbmRleDsKKyAgICAgICAgRVhQRUNUX1BJ
WEVMX0NPTE9SX0VRKGtTaXplIC0gMSwgMCwgR0xDb2xvcjo6cmVkKSA8PCBjb2xvckluZGV4Owor
ICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCBrU2l6ZSAtIDEsIEdMQ29s
b3I6OnJlZCkgPDwgY29sb3JJbmRleDsKICAgICB9CiAKICAgICAvLyBWZXJpZnkgdGhhdCBkZXB0
aCBhbmQgc3RlbmNpbCBhdHRhY2htZW50cyBhcmUgY2xlYXJlZCBjb3JyZWN0bHkuCkBAIC0yMzA3
LDYgKzIzMjYsMTcxIEBAIFRFU1RfUChDbGVhclRlc3RFUzMsIENsZWFyVGhlbk1peGVkTWFza2Vk
Q2xlYXIpCiAgICAgRVhQRUNUX1BJWEVMX0NPTE9SX05FQVIoa1NpemUgLSAxLCBrU2l6ZSAtIDEs
IGtFeHBlY3RlZCwgMSk7CiB9CiAKKy8vIFRlc3QgdGhhdCBjbGVhcmluZyBzdGVuY2lsIGFmdGVy
IGEgZHJhdyBjYWxsIHdvcmtzLgorVEVTVF9QKENsZWFyVGVzdEVTMywgQ2xlYXJTdGVuY2lsQWZ0
ZXJEcmF3KQoreworICAgIC8vIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDYxMgorICAgIEFOR0xFX1NL
SVBfVEVTVF9JRihJc09TWCgpICYmIElzRGVza3RvcE9wZW5HTCgpKTsKKworICAgIGNvbnN0ZXhw
ciBHTHNpemVpIGtTaXplID0gMTY7CisKKyAgICBHTGludCBtYXhEcmF3QnVmZmVycyA9IDA7Cisg
ICAgZ2xHZXRJbnRlZ2VydihHTF9NQVhfRFJBV19CVUZGRVJTLCAmbWF4RHJhd0J1ZmZlcnMpOwor
ICAgIEFTU0VSVF9HRShtYXhEcmF3QnVmZmVycywgNCk7CisKKyAgICAvLyBTZXR1cCBmcmFtZWJ1
ZmZlci4KKyAgICBHTEZyYW1lYnVmZmVyIGZiOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZS
QU1FQlVGRkVSLCBmYik7CisKKyAgICBzdGQ6OnZlY3RvcjxHTFJlbmRlcmJ1ZmZlcj4gY29sb3Io
bWF4RHJhd0J1ZmZlcnMpOworICAgIHN0ZDo6dmVjdG9yPEdMZW51bT4gZHJhd0J1ZmZlcnMobWF4
RHJhd0J1ZmZlcnMpOworCisgICAgZm9yIChHTGludCBjb2xvckluZGV4ID0gMDsgY29sb3JJbmRl
eCA8IG1heERyYXdCdWZmZXJzOyArK2NvbG9ySW5kZXgpCisgICAgeworICAgICAgICBnbEJpbmRS
ZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCBjb2xvcltjb2xvckluZGV4XSk7CisgICAgICAg
IGdsUmVuZGVyYnVmZmVyU3RvcmFnZShHTF9SRU5ERVJCVUZGRVIsIEdMX1JHQkE4LCBrU2l6ZSwg
a1NpemUpOworICAgICAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZSQU1FQlVGRkVS
LCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCArIGNvbG9ySW5kZXgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xfUkVOREVSQlVGRkVSLCBjb2xvcltjb2xvckluZGV4XSk7CisKKyAg
ICAgICAgZHJhd0J1ZmZlcnNbY29sb3JJbmRleF0gPSBHTF9DT0xPUl9BVFRBQ0hNRU5UMCArIGNv
bG9ySW5kZXg7CisgICAgfQorCisgICAgR0xSZW5kZXJidWZmZXIgZGVwdGhTdGVuY2lsOworICAg
IGdsQmluZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIGRlcHRoU3RlbmNpbCk7CisgICAg
Z2xSZW5kZXJidWZmZXJTdG9yYWdlKEdMX1JFTkRFUkJVRkZFUiwgR0xfREVQVEgyNF9TVEVOQ0lM
OCwga1NpemUsIGtTaXplKTsKKyAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZSQU1F
QlVGRkVSLCBHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIEdMX1JFTkRFUkJVRkZFUiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoU3RlbmNpbCk7CisKKyAgICBFWFBFQ1Rf
R0xfTk9fRVJST1IoKTsKKyAgICBBU1NFUlRfR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUoR0xfRlJB
TUVCVUZGRVIpOworCisgICAgZ2xEcmF3QnVmZmVycyhtYXhEcmF3QnVmZmVycywgZHJhd0J1ZmZl
cnMuZGF0YSgpKTsKKworICAgIC8vIElzc3VlIGEgZHJhdyBjYWxsIHRvIHJlbmRlciBibHVlIGFu
ZCBzdGVuY2lsIDB4M0MgdG8gdGhlIGF0dGFjaG1lbnRzLgorICAgIGdsRW5hYmxlKEdMX1NURU5D
SUxfVEVTVCk7CisgICAgZ2xTdGVuY2lsRnVuYyhHTF9BTFdBWVMsIDB4M0MsIDB4RkYpOworICAg
IGdsU3RlbmNpbE9wKEdMX1JFUExBQ0UsIEdMX1JFUExBQ0UsIEdMX1JFUExBQ0UpOworICAgIGds
U3RlbmNpbE1hc2soMHhGRik7CisKKyAgICAvLyBHZW5lcmF0ZSBzaGFkZXIgZm9yIHRoaXMgZnJh
bWVidWZmZXIuCisgICAgc3RkOjpzdHJpbmdzdHJlYW0gc3Ryc3RyOworICAgIHN0cnN0ciA8PCAi
I3ZlcnNpb24gMzAwIGVzXG4iCisgICAgICAgICAgICAgICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7
XG4iOworICAgIGZvciAoR0xpbnQgY29sb3JJbmRleCA9IDA7IGNvbG9ySW5kZXggPCBtYXhEcmF3
QnVmZmVyczsgKytjb2xvckluZGV4KQorICAgIHsKKyAgICAgICAgc3Ryc3RyIDw8ICJsYXlvdXQo
bG9jYXRpb24gPSAiIDw8IGNvbG9ySW5kZXggPDwgIikgb3V0IHZlYzQgdmFsdWUiIDw8IGNvbG9y
SW5kZXggPDwgIjtcbiI7CisgICAgfQorICAgIHN0cnN0ciA8PCAidm9pZCBtYWluKClcbiIKKyAg
ICAgICAgICAgICAgIntcbiI7CisgICAgZm9yIChHTGludCBjb2xvckluZGV4ID0gMDsgY29sb3JJ
bmRleCA8IG1heERyYXdCdWZmZXJzOyArK2NvbG9ySW5kZXgpCisgICAgeworICAgICAgICBzdHJz
dHIgPDwgInZhbHVlIiA8PCBjb2xvckluZGV4IDw8ICIgPSB2ZWM0KDAuMGYsIDAuMGYsIDEuMGYs
IDEuMGYpO1xuIjsKKyAgICB9CisgICAgc3Ryc3RyIDw8ICJ9XG4iOworCisgICAgQU5HTEVfR0xf
UFJPR1JBTShkcmF3TVJULCBlc3NsM19zaGFkZXJzOjp2czo6U2ltcGxlKCksIHN0cnN0ci5zdHIo
KS5jX3N0cigpKTsKKyAgICBkcmF3UXVhZChkcmF3TVJULCBlc3NsM19zaGFkZXJzOjpQb3NpdGlv
bkF0dHJpYigpLCAwLjBmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIGdsQ2xl
YXJDb2xvcigxLjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsKKyAgICBnbENsZWFyU3RlbmNpbCgweDU1
KTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQgfCBHTF9TVEVOQ0lMX0JVRkZFUl9C
SVQpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gVmVyaWZ5IHRoYXQgZXZl
cnkgY29sb3IgYXR0YWNobWVudCBpcyBjbGVhcmVkIGNvcnJlY3RseS4KKyAgICBmb3IgKEdMaW50
IGNvbG9ySW5kZXggPSAwOyBjb2xvckluZGV4IDwgbWF4RHJhd0J1ZmZlcnM7ICsrY29sb3JJbmRl
eCkKKyAgICB7CisgICAgICAgIGdsUmVhZEJ1ZmZlcihHTF9DT0xPUl9BVFRBQ0hNRU5UMCArIGNv
bG9ySW5kZXgpOworCisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwga1NpemUgLSAxLCBHTENv
bG9yOjpyZWQpOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCAwLCBH
TENvbG9yOjpyZWQpOworICAgICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCBr
U2l6ZSAtIDEsIEdMQ29sb3I6OnJlZCk7CisgICAgfQorCisgICAgLy8gVmVyaWZ5IHRoYXQgZGVw
dGggYW5kIHN0ZW5jaWwgYXR0YWNobWVudHMgYXJlIGNsZWFyZWQgY29ycmVjdGx5LgorICAgIEdM
RnJhbWVidWZmZXIgZmJWZXJpZnk7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZG
RVIsIGZiVmVyaWZ5KTsKKworICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xfRlJBTUVC
VUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9SRU5ERVJCVUZGRVIsIGNvbG9yWzBdKTsK
KyAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBHTF9ERVBUSF9T
VEVOQ0lMX0FUVEFDSE1FTlQsIEdMX1JFTkRFUkJVRkZFUiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRlcHRoU3RlbmNpbCk7CisKKyAgICAvLyBJZiBzdGVuY2lsIGlzIG5vdCBjbGVh
cmVkIHRvIDB4NTUsIHJlbmRlcmluZyB3b3VsZCBmYWlsLgorICAgIGdsU3RlbmNpbEZ1bmMoR0xf
RVFVQUwsIDB4NTUsIDB4RkYpOworICAgIGdsU3RlbmNpbE9wKEdMX0tFRVAsIEdMX0tFRVAsIEdM
X0tFRVApOworCisgICAgLy8gRHJhdyBncmVlbi4KKyAgICBBTkdMRV9HTF9QUk9HUkFNKGRyYXdH
cmVlbiwgZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6R3Jl
ZW4oKSk7CisgICAgZHJhd1F1YWQoZHJhd0dyZWVuLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0
dHJpYigpLCAwLjk1Zik7CisKKyAgICAvLyBWZXJpZnkgdGhhdCBncmVlbiB3YXMgZHJhd24uCisg
ICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKKyAgICBFWFBF
Q1RfUElYRUxfQ09MT1JfRVEoMCwga1NpemUgLSAxLCBHTENvbG9yOjpncmVlbik7CisgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKGtTaXplIC0gMSwgMCwgR0xDb2xvcjo6Z3JlZW4pOworICAgIEVY
UEVDVF9QSVhFTF9DT0xPUl9FUShrU2l6ZSAtIDEsIGtTaXplIC0gMSwgR0xDb2xvcjo6Z3JlZW4p
OworfQorCisvLyBUZXN0IHRoYXQgbWlkLXJlbmRlciBwYXNzIGNsZWFyaW5nIG9mIG1peGVkIHVz
ZWQgYW5kIHVudXNlZCBjb2xvciBhdHRhY2htZW50cyB3b3Jrcy4KK1RFU1RfUChDbGVhclRlc3RF
UzMsIE1peGVkUmVuZGVyUGFzc0NsZWFyTWl4ZWRVc2VkVW51c2VkQXR0YWNobWVudHMpCit7Cisg
ICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS80NjEyCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKElz
T1NYKCkgJiYgSXNEZXNrdG9wT3BlbkdMKCkpOworCisgICAgY29uc3RleHByIEdMc2l6ZWkga1Np
emUgPSAxNjsKKworICAgIC8vIFNldHVwIGZyYW1lYnVmZmVyLgorICAgIEdMRnJhbWVidWZmZXIg
ZmI7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZiKTsKKworICAgIEdM
UmVuZGVyYnVmZmVyIGNvbG9yWzJdOworCisgICAgZm9yIChHTGludCBjb2xvckluZGV4ID0gMDsg
Y29sb3JJbmRleCA8IDI7ICsrY29sb3JJbmRleCkKKyAgICB7CisgICAgICAgIGdsQmluZFJlbmRl
cmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIGNvbG9yW2NvbG9ySW5kZXhdKTsKKyAgICAgICAgZ2xS
ZW5kZXJidWZmZXJTdG9yYWdlKEdMX1JFTkRFUkJVRkZFUiwgR0xfUkdCQTgsIGtTaXplLCBrU2l6
ZSk7CisgICAgICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xfRlJBTUVCVUZGRVIsIEdM
X0NPTE9SX0FUVEFDSE1FTlQwICsgY29sb3JJbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTF9SRU5ERVJCVUZGRVIsIGNvbG9yW2NvbG9ySW5kZXhdKTsKKyAgICB9Cisg
ICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgQVNTRVJUX0dMX0ZSQU1FQlVGRkVSX0NPTVBM
RVRFKEdMX0ZSQU1FQlVGRkVSKTsKKworICAgIC8vIERpc2FibGUgY29sb3IgYXR0YWNobWVudCAw
LgorICAgIEdMZW51bSBkcmF3QnVmZmVyc1tdID0ge0dMX05PTkUsIEdMX0NPTE9SX0FUVEFDSE1F
TlQxfTsKKyAgICBnbERyYXdCdWZmZXJzKDIsIGRyYXdCdWZmZXJzKTsKKworICAgIC8vIERyYXcg
aW50byBjb2xvciBhdHRhY2htZW50IDEKKyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSA9IFIiKCN2
ZXJzaW9uIDMwMCBlcworcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OworbGF5b3V0KGxvY2F0aW9uID0g
MCkgb3V0IHZlYzQgY29sb3IwOworbGF5b3V0KGxvY2F0aW9uID0gMSkgb3V0IHZlYzQgY29sb3Ix
Owordm9pZCBtYWluKCkKK3sKKyAgICBjb2xvcjAgPSB2ZWM0KDAsIDAsIDEsIDEpOworICAgIGNv
bG9yMSA9IHZlYzQoMSwgMCwgMCwgMSk7Cit9KSI7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKGRy
YXdNUlQsIGVzc2wzX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwga0ZTKTsKKyAgICBkcmF3UXVhZChk
cmF3TVJULCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjBmKTsKKyAgICBBU1NF
UlRfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIENvbG9yIGF0dGFjaG1lbnQgMCBpcyBub3cgdW5p
bml0aWFsaXplZCwgd2hpbGUgY29sb3IgYXR0YWNobWVudCAxIGlzIHJlZC4KKyAgICAvLyBSZS1l
bmFibGUgY29sb3IgYXR0YWNobWVudCAwIGFuZCBjbGVhciBib3RoIGF0dGFjaG1lbnRzIHRvIGdy
ZWVuLgorICAgIGRyYXdCdWZmZXJzWzBdID0gR0xfQ09MT1JfQVRUQUNITUVOVDA7CisgICAgZ2xE
cmF3QnVmZmVycygyLCBkcmF3QnVmZmVycyk7CisKKyAgICBnbENsZWFyQ29sb3IoMC4wZiwgMS4w
ZiwgMC4wZiwgMS4wZik7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBF
WFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIFZlcmlmeSB0aGF0IGJvdGggY29sb3IgYXR0
YWNobWVudHMgYXJlIG5vdyBncmVlbi4KKyAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1JfQVRUQUNI
TUVOVDApOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7
CisgICAgZ2xSZWFkQnVmZmVyKEdMX0NPTE9SX0FUVEFDSE1FTlQxKTsKKyAgICBFWFBFQ1RfUElY
RUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOworICAgIEVYUEVDVF9HTF9OT19FUlJP
UigpOworfQorCiAvLyBUZXN0IHRoYXQgZHJhdyB3aXRob3V0IHN0YXRlIGNoYW5nZSBhZnRlciBt
YXNrZWQgY2xlYXIgd29ya3MKIFRFU1RfUChDbGVhclRlc3RFUzMsIERyYXdDbGVhclRoZW5EcmF3
V2l0aG91dFN0YXRlQ2hhbmdlKQogewpAQCAtMjU3Miw2ICsyNzU2LDU1IEBAIFRFU1RfUChDbGVh
clRlc3QsIENsZWFyVGhlblNjaXNzb3JlZE1hc2tlZENsZWFyKQogICAgIEVYUEVDVF9QSVhFTF9S
RUNUX0VRKGtTaXplIC8gMiwgMCwga1NpemUgLyAyLCBrU2l6ZSwgR0xDb2xvcjo6cmVkKTsKIH0K
IAorLy8gVGVzdCB0aGF0IGEgc2Npc3NvcmVkIHN0ZW5jaWwgY2xlYXIgZm9sbG93ZWQgYnkgYSBm
dWxsIGNsZWFyIHdvcmtzLgorVEVTVF9QKENsZWFyVGVzdEVTMywgU3RlbmNpbFNjaXNzb3JlZENs
ZWFyVGhlbkZ1bGxDbGVhcikKK3sKKyAgICBjb25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDEyODsK
KworICAgIEdMaW50IHN0ZW5jaWxCaXRzID0gMDsKKyAgICBnbEdldEludGVnZXJ2KEdMX1NURU5D
SUxfQklUUywgJnN0ZW5jaWxCaXRzKTsKKyAgICBFWFBFQ1RfRVEoc3RlbmNpbEJpdHMsIDgpOwor
CisgICAgLy8gQ2xlYXIgc3RlbmNpbCB2YWx1ZSBtdXN0IGJlIG1hc2tlZCB0byAweDQyCisgICAg
Z2xDbGVhckJ1ZmZlcmZpKEdMX0RFUFRIX1NURU5DSUwsIDAsIDAuNWYsIDB4MTQyKTsKKworICAg
IGdsQ2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9C
SVQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOworCisg
ICAgLy8gU2hyaW5rIHRoZSByZW5kZXIgYXJlYS4KKyAgICBnbFNjaXNzb3Ioa1NpemUgLyAyLCAw
LCBrU2l6ZSAvIDIsIGtTaXplKTsKKyAgICBnbEVuYWJsZShHTF9TQ0lTU09SX1RFU1QpOworCisg
ICAgLy8gQ2xlYXIgc3RlbmNpbC4KKyAgICBnbENsZWFyQnVmZmVyZmkoR0xfREVQVEhfU1RFTkNJ
TCwgMCwgMC41ZiwgMHg2NCk7CisKKyAgICAvLyBHcm93IHRoZSByZW5kZXIgYXJlYS4KKyAgICBn
bFNjaXNzb3IoMCwgMCwga1NpemUsIGtTaXplKTsKKyAgICBnbEVuYWJsZShHTF9TQ0lTU09SX1RF
U1QpOworCisgICAgLy8gQ2hlY2sgdGhhdCB0aGUgc3RlbmNpbCB0ZXN0IHdvcmtzIGFzIGV4cGVj
dGVkCisgICAgZ2xFbmFibGUoR0xfU1RFTkNJTF9URVNUKTsKKworICAgIC8vIFNjaXNzb3JlZCBy
ZWdpb24gaXMgZ3JlZW4sIG91dHNpZGUgaXMgcmVkIChjbGVhciBjb2xvcikKKyAgICBnbFN0ZW5j
aWxGdW5jKEdMX0VRVUFMLCAweDY0LCAweEZGKTsKKyAgICBBTkdMRV9HTF9QUk9HUkFNKGRyYXdH
cmVlbiwgZXNzbDNfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsM19zaGFkZXJzOjpmczo6R3Jl
ZW4oKSk7CisgICAgZ2xVc2VQcm9ncmFtKGRyYXdHcmVlbik7CisgICAgZHJhd1F1YWQoZHJhd0dy
ZWVuLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBFWFBFQ1Rf
UElYRUxfUkVDVF9FUSgwLCAwLCBrU2l6ZSAvIDIsIGtTaXplLCBHTENvbG9yOjpyZWQpOworICAg
IEVYUEVDVF9QSVhFTF9SRUNUX0VRKGtTaXplIC8gMiwgMCwga1NpemUgLyAyLCBrU2l6ZSwgR0xD
b2xvcjo6Z3JlZW4pOworCisgICAgLy8gT3V0c2lkZSBzY2lzc29yZWQgcmVnaW9uIGlzIGJsdWUu
CisgICAgZ2xTdGVuY2lsRnVuYyhHTF9FUVVBTCwgMHg0MiwgMHhGRik7CisgICAgQU5HTEVfR0xf
UFJPR1JBTShkcmF3Qmx1ZSwgZXNzbDNfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsM19zaGFk
ZXJzOjpmczo6Qmx1ZSgpKTsKKyAgICBnbFVzZVByb2dyYW0oZHJhd0JsdWUpOworICAgIGRyYXdR
dWFkKGRyYXdCbHVlLCBlc3NsM19zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAg
ICBFWFBFQ1RfUElYRUxfUkVDVF9FUSgwLCAwLCBrU2l6ZSAvIDIsIGtTaXplLCBHTENvbG9yOjpi
bHVlKTsKKyAgICBFWFBFQ1RfUElYRUxfUkVDVF9FUShrU2l6ZSAvIDIsIDAsIGtTaXplIC8gMiwg
a1NpemUsIEdMQ29sb3I6OmdyZWVuKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworfQor
CiAvLyBUaGlzIGlzIGEgdGVzdCB0aGF0IG11c3QgYmUgdmVyaWZpZWQgdmlzdWFsbHkuCiAvLwog
Ly8gVGVzdHMgdGhhdCBjbGVhciBvZiB0aGUgZGVmYXVsdCBmcmFtZWJ1ZmZlciBhcHBsaWVzIHRv
IHRoZSB3aW5kb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVz
dHMvZ2xfdGVzdHMvRHJhd0J1ZmZlcnNUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9nbF90ZXN0cy9EcmF3QnVmZmVyc1Rlc3QuY3BwCmluZGV4IDliZTQ5YTc2MzQw
NzlmYTNiZTA3MGJhOGEwMDhjNDk2MWExZDAwYzcuLjY2ZjViMzdmMDM1OWQ1OThiOGQwMjhlMjQ3
MjE0Zjc0MzkxOTAwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90
ZXN0cy9nbF90ZXN0cy9EcmF3QnVmZmVyc1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9EcmF3QnVmZmVyc1Rlc3QuY3BwCkBAIC0zNzUsNiAr
Mzc1LDE4NiBAQCBURVNUX1AoRHJhd0J1ZmZlcnNUZXN0LCBDbGVhcldpdGhHYXBzKQogICAgIEVY
UEVDVF9HTF9OT19FUlJPUigpOwogfQogCisvLyBUZXN0IHRoYXQgbWlkLXJlbmRlciBwYXNzIGNs
ZWFyIHdvcmtzIHdpdGggZ2FwcworVEVTVF9QKERyYXdCdWZmZXJzVGVzdCwgTWlkUmVuZGVyUGFz
c0NsZWFyV2l0aEdhcHMpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFzZXR1cFRlc3QoKSk7
CisKKyAgICBnbEdldEludGVnZXJ2KEdMX01BWF9EUkFXX0JVRkZFUlMsICZtTWF4RHJhd0J1ZmZl
cnMpOworICAgIEFTU0VSVF9HRShtTWF4RHJhd0J1ZmZlcnMsIDQpOworCisgICAgZ2xCaW5kVGV4
dHVyZShHTF9URVhUVVJFXzJELCBtVGV4dHVyZXNbMF0pOworICAgIGdsRnJhbWVidWZmZXJUZXh0
dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJE
LCBtVGV4dHVyZXNbMF0sIDApOworCisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCBt
VGV4dHVyZXNbMV0pOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIs
IEdMX0NPTE9SX0FUVEFDSE1FTlQzLCBHTF9URVhUVVJFXzJELCBtVGV4dHVyZXNbMV0sIDApOwor
CisgICAgY29uc3QgR0xlbnVtIGJ1ZnNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfTk9O
RSwgR0xfTk9ORSwgR0xfQ09MT1JfQVRUQUNITUVOVDN9OworCisgICAgYm9vbCBmbGFnc1s4XSA9
IHt0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWV9OworICAgIEdMdWludCBwcm9ncmFtOworICAgIHNl
dHVwTVJUUHJvZ3JhbShmbGFncywgJnByb2dyYW0pOworCisgICAgc2V0RHJhd0J1ZmZlcnMoNCwg
YnVmcyk7CisKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBwb3NpdGlvbkF0dHJpYigpLCAwLjUpOwor
CisgICAgZ2xDbGVhckNvbG9yKDEuMGYsIDEuMGYsIDAuMGYsIDEuMGYpOworICAgIGdsQ2xlYXIo
R0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBBIGJvZ3VzIGRyYXcgdG8gbWFrZSBzdXJl
IGNsZWFycyBhcmUgZG9uZSB3aXRoIGEgcmVuZGVyIHBhc3MgaW4gdGhlIFZ1bGthbiBiYWNrZW5k
LgorICAgIGdsRW5hYmxlKEdMX0JMRU5EKTsKKyAgICBnbEJsZW5kRnVuYyhHTF9aRVJPLCBHTF9P
TkUpOworICAgIGRyYXdRdWFkKHByb2dyYW0sIHBvc2l0aW9uQXR0cmliKCksIDAuNSk7CisgICAg
RVhQRUNUX0dMX05PX0VSUk9SKCk7CisKKyAgICB2ZXJpZnlBdHRhY2htZW50MkRDb2xvcigwLCBt
VGV4dHVyZXNbMF0sIEdMX1RFWFRVUkVfMkQsIDAsIEdMQ29sb3I6OnllbGxvdyk7CisgICAgdmVy
aWZ5QXR0YWNobWVudDJEQ29sb3IoMywgbVRleHR1cmVzWzFdLCBHTF9URVhUVVJFXzJELCAwLCBH
TENvbG9yOjp5ZWxsb3cpOworCisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7Cit9CisKKy8vIFRl
c3QgdGhhdCBtaWQtcmVuZGVyIHBhc3MgY2xlYXIgd29ya3Mgd2l0aCBnYXBzLiAgVXNlcyBSR0Ig
Zm9ybWF0LgorVEVTVF9QKERyYXdCdWZmZXJzVGVzdCwgTWlkUmVuZGVyUGFzc0NsZWFyV2l0aEdh
cHNSR0IpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFzZXR1cFRlc3QoKSk7CisKKyAgICBn
bEdldEludGVnZXJ2KEdMX01BWF9EUkFXX0JVRkZFUlMsICZtTWF4RHJhd0J1ZmZlcnMpOworICAg
IEFTU0VSVF9HRShtTWF4RHJhd0J1ZmZlcnMsIDQpOworCisgICAgR0xUZXh0dXJlIHRleHR1cmVz
WzJdOworCisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlc1swXSk7Cisg
ICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQiwgZ2V0V2luZG93V2lkdGgo
KSwgZ2V0V2luZG93SGVpZ2h0KCksIDAsIEdMX1JHQiwKKyAgICAgICAgICAgICAgICAgR0xfVU5T
SUdORURfQllURSwgbnVsbHB0cik7CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFN
RUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIHRleHR1cmVzWzBd
LCAwKTsKKworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4dHVyZXNbMV0pOwor
ICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0IsIGdldFdpbmRvd1dpZHRo
KCksIGdldFdpbmRvd0hlaWdodCgpLCAwLCBHTF9SR0IsCisgICAgICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJB
TUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQzLCBHTF9URVhUVVJFXzJELCB0ZXh0dXJlc1sx
XSwgMCk7CisKKyAgICBjb25zdCBHTGVudW0gYnVmc1tdID0ge0dMX0NPTE9SX0FUVEFDSE1FTlQw
LCBHTF9OT05FLCBHTF9OT05FLCBHTF9DT0xPUl9BVFRBQ0hNRU5UM307CisKKyAgICBib29sIGZs
YWdzWzhdID0ge3RydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZX07CisgICAgR0x1aW50IHByb2dyYW07
CisgICAgc2V0dXBNUlRQcm9ncmFtKGZsYWdzLCAmcHJvZ3JhbSk7CisKKyAgICBzZXREcmF3QnVm
ZmVycyg0LCBidWZzKTsKKworICAgIGRyYXdRdWFkKHByb2dyYW0sIHBvc2l0aW9uQXR0cmliKCks
IDAuNSk7CisKKyAgICBnbENsZWFyQ29sb3IoMS4wZiwgMS4wZiwgMC4wZiwgMS4wZik7CisgICAg
Z2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKKworICAgIC8vIEEgYm9ndXMgZHJhdyB0byBt
YWtlIHN1cmUgY2xlYXJzIGFyZSBkb25lIHdpdGggYSByZW5kZXIgcGFzcyBpbiB0aGUgVnVsa2Fu
IGJhY2tlbmQuCisgICAgZ2xFbmFibGUoR0xfQkxFTkQpOworICAgIGdsQmxlbmRGdW5jKEdMX1pF
Uk8sIEdMX09ORSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbSwgcG9zaXRpb25BdHRyaWIoKSwgMC41
KTsKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKworICAgIHZlcmlmeUF0dGFjaG1lbnQyRENv
bG9yKDAsIHRleHR1cmVzWzBdLCBHTF9URVhUVVJFXzJELCAwLCBHTENvbG9yOjp5ZWxsb3cpOwor
ICAgIHZlcmlmeUF0dGFjaG1lbnQyRENvbG9yKDMsIHRleHR1cmVzWzFdLCBHTF9URVhUVVJFXzJE
LCAwLCBHTENvbG9yOjp5ZWxsb3cpOworCisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7Cit9CisK
Ky8vIFRlc3QgdGhhdCBhIG1hc2tlZCBkcmF3IGFuZCBhIG1pZC1yZW5kZXIgcGFzcyBjbGVhciB3
b3JrcyB3aXRoIGdhcHMuCitURVNUX1AoRHJhd0J1ZmZlcnNUZXN0LCBNYXNrZWREcmF3TWlkUlBD
bGVhcldpdGhHYXBzKQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighc2V0dXBUZXN0KCkpOwor
CisgICAgZ2xHZXRJbnRlZ2VydihHTF9NQVhfRFJBV19CVUZGRVJTLCAmbU1heERyYXdCdWZmZXJz
KTsKKyAgICBBU1NFUlRfR0UobU1heERyYXdCdWZmZXJzLCA0KTsKKworICAgIGdsQmluZFRleHR1
cmUoR0xfVEVYVFVSRV8yRCwgbVRleHR1cmVzWzBdKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVy
ZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV8yRCwg
bVRleHR1cmVzWzBdLCAwKTsKKworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgbVRl
eHR1cmVzWzFdKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBH
TF9DT0xPUl9BVFRBQ0hNRU5UMywgR0xfVEVYVFVSRV8yRCwgbVRleHR1cmVzWzFdLCAwKTsKKwor
ICAgIC8vIE1hc2sgb3V0IGF0dGFjaG1lbnQgMywgc28gd2Ugb25seSBkcmF3IHRvIGF0dGFjaG1l
bnQgMS4KKyAgICBHTGVudW0gYnVmc1tdID0ge0dMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9OT05F
LCBHTF9OT05FLCBHTF9OT05FfTsKKyAgICBib29sIGZsYWdzWzhdID0ge3RydWUsIGZhbHNlLCBm
YWxzZSwgZmFsc2V9OworICAgIEdMdWludCBwcm9ncmFtOworICAgIHNldHVwTVJUUHJvZ3JhbShm
bGFncywgJnByb2dyYW0pOworCisgICAgc2V0RHJhd0J1ZmZlcnMoNCwgYnVmcyk7CisKKyAgICBk
cmF3UXVhZChwcm9ncmFtLCBwb3NpdGlvbkF0dHJpYigpLCAwLjUpOworCisgICAgLy8gUmUtZW5h
YmxlIGF0dGFjaG1lbnQgMywgc28gd2UgY2xlYXIgYm90aCBhdHRhY2htZW50IDEgYW5kIDMuCisg
ICAgYnVmc1szXSA9IEdMX0NPTE9SX0FUVEFDSE1FTlQzOworICAgIHNldERyYXdCdWZmZXJzKDQs
IGJ1ZnMpOworICAgIGZsYWdzWzNdID0gdHJ1ZTsKKyAgICBzZXR1cE1SVFByb2dyYW0oZmxhZ3Ms
ICZwcm9ncmFtKTsKKworICAgIGdsQ2xlYXJDb2xvcigxLjBmLCAxLjBmLCAwLjBmLCAxLjBmKTsK
KyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworCisgICAgLy8gQSBib2d1cyBkcmF3
IHRvIG1ha2Ugc3VyZSBjbGVhcnMgYXJlIGRvbmUgd2l0aCBhIHJlbmRlciBwYXNzIGluIHRoZSBW
dWxrYW4gYmFja2VuZC4KKyAgICBnbEVuYWJsZShHTF9CTEVORCk7CisgICAgZ2xCbGVuZEZ1bmMo
R0xfWkVSTywgR0xfT05FKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBwb3NpdGlvbkF0dHJpYigp
LCAwLjUpOworICAgIEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgdmVyaWZ5QXR0YWNobWVu
dDJEQ29sb3IoMCwgbVRleHR1cmVzWzBdLCBHTF9URVhUVVJFXzJELCAwLCBHTENvbG9yOjp5ZWxs
b3cpOworICAgIHZlcmlmeUF0dGFjaG1lbnQyRENvbG9yKDMsIG1UZXh0dXJlc1sxXSwgR0xfVEVY
VFVSRV8yRCwgMCwgR0xDb2xvcjo6eWVsbG93KTsKKworICAgIEVYUEVDVF9HTF9OT19FUlJPUigp
OworfQorCisvLyBUZXN0IHRoYXQgYSBtYXNrZWQgZHJhdyBhbmQgYSBtaWQtcmVuZGVyIHBhc3Mg
Y2xlYXIgd29ya3Mgd2l0aCBnYXBzLiAgVXNlcyBSR0IgZm9ybWF0LgorVEVTVF9QKERyYXdCdWZm
ZXJzVGVzdCwgTWFza2VkRHJhd01pZFJQQ2xlYXJXaXRoR2Fwc1JHQikKK3sKKyAgICBBTkdMRV9T
S0lQX1RFU1RfSUYoIXNldHVwVGVzdCgpKTsKKworICAgIGdsR2V0SW50ZWdlcnYoR0xfTUFYX0RS
QVdfQlVGRkVSUywgJm1NYXhEcmF3QnVmZmVycyk7CisgICAgQVNTRVJUX0dFKG1NYXhEcmF3QnVm
ZmVycywgNCk7CisKKyAgICBHTFRleHR1cmUgdGV4dHVyZXNbMl07CisKKyAgICBnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfMkQsIHRleHR1cmVzWzBdKTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVY
VFVSRV8yRCwgMCwgR0xfUkdCLCBnZXRXaW5kb3dXaWR0aCgpLCBnZXRXaW5kb3dIZWlnaHQoKSwg
MCwgR0xfUkdCLAorICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBudWxscHRyKTsK
KyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRB
Q0hNRU5UMCwgR0xfVEVYVFVSRV8yRCwgdGV4dHVyZXNbMF0sIDApOworCisgICAgZ2xCaW5kVGV4
dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlc1sxXSk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RF
WFRVUkVfMkQsIDAsIEdMX1JHQiwgZ2V0V2luZG93V2lkdGgoKSwgZ2V0V2luZG93SGVpZ2h0KCks
IDAsIEdMX1JHQiwKKyAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgbnVsbHB0cik7
CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRU
QUNITUVOVDMsIEdMX1RFWFRVUkVfMkQsIHRleHR1cmVzWzFdLCAwKTsKKworICAgIC8vIE1hc2sg
b3V0IGF0dGFjaG1lbnQgMywgc28gd2Ugb25seSBkcmF3IHRvIGF0dGFjaG1lbnQgMS4KKyAgICBH
TGVudW0gYnVmc1tdID0ge0dMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9OT05FLCBHTF9OT05FLCBH
TF9OT05FfTsKKyAgICBib29sIGZsYWdzWzhdID0ge3RydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2V9
OworICAgIEdMdWludCBwcm9ncmFtOworICAgIHNldHVwTVJUUHJvZ3JhbShmbGFncywgJnByb2dy
YW0pOworCisgICAgc2V0RHJhd0J1ZmZlcnMoNCwgYnVmcyk7CisKKyAgICBkcmF3UXVhZChwcm9n
cmFtLCBwb3NpdGlvbkF0dHJpYigpLCAwLjUpOworCisgICAgLy8gUmUtZW5hYmxlIGF0dGFjaG1l
bnQgMywgc28gd2UgY2xlYXIgYm90aCBhdHRhY2htZW50IDEgYW5kIDMuCisgICAgYnVmc1szXSA9
IEdMX0NPTE9SX0FUVEFDSE1FTlQzOworICAgIHNldERyYXdCdWZmZXJzKDQsIGJ1ZnMpOworICAg
IGZsYWdzWzNdID0gdHJ1ZTsKKyAgICBzZXR1cE1SVFByb2dyYW0oZmxhZ3MsICZwcm9ncmFtKTsK
KworICAgIGdsQ2xlYXJDb2xvcigxLjBmLCAxLjBmLCAwLjBmLCAxLjBmKTsKKyAgICBnbENsZWFy
KEdMX0NPTE9SX0JVRkZFUl9CSVQpOworCisgICAgLy8gQSBib2d1cyBkcmF3IHRvIG1ha2Ugc3Vy
ZSBjbGVhcnMgYXJlIGRvbmUgd2l0aCBhIHJlbmRlciBwYXNzIGluIHRoZSBWdWxrYW4gYmFja2Vu
ZC4KKyAgICBnbEVuYWJsZShHTF9CTEVORCk7CisgICAgZ2xCbGVuZEZ1bmMoR0xfWkVSTywgR0xf
T05FKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBwb3NpdGlvbkF0dHJpYigpLCAwLjUpOworICAg
IEVYUEVDVF9HTF9OT19FUlJPUigpOworCisgICAgdmVyaWZ5QXR0YWNobWVudDJEQ29sb3IoMCwg
dGV4dHVyZXNbMF0sIEdMX1RFWFRVUkVfMkQsIDAsIEdMQ29sb3I6OnllbGxvdyk7CisgICAgdmVy
aWZ5QXR0YWNobWVudDJEQ29sb3IoMywgdGV4dHVyZXNbMV0sIEdMX1RFWFRVUkVfMkQsIDAsIEdM
Q29sb3I6OnllbGxvdyk7CisKKyAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKK30KKwogVEVTVF9Q
KERyYXdCdWZmZXJzVGVzdCwgRmlyc3RBbmRMYXN0KQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9J
Righc2V0dXBUZXN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL2dsX3Rlc3RzL0ZyYW1lYnVmZmVyRmV0Y2hUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9GcmFtZWJ1ZmZlckZldGNoVGVzdC5jcHAKaW5k
ZXggMTVmNGIyYTEzYzJiZGE4NTFkNmVmZTlhYzRhOGEwNzBmZGQxNmFiYS4uYjA4OTJhN2M3ZGY0
OTBjMmE4ZTFjZGY1MDI2MzVjNTQyOGYyNDVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0ZyYW1lYnVmZmVyRmV0Y2hUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvRnJhbWVidWZmZXJG
ZXRjaFRlc3QuY3BwCkBAIC0zNiw3ICszNiw2IEBAIHZvaWQgbWFpbiAodm9pZCkKICAgICBnbF9Q
b3NpdGlvbiA9IGFfcG9zaXRpb247CiB9KSI7CiAKLS8vCiAvLyBTaGFyZWQgc2ltcGxlIChpLmUu
IG5vIGZyYW1lYnVmZmVyIGZldGNoKSBGcmFnbWVudCBTaGFkZXJzIGZvciB0aGUgdGVzdHMgYmVs
b3cKIC8vCiAvLyBTaW1wbGUgKGkuZS4gbm8gZnJhbWVidWZmZXIgZmV0Y2gpIDMuMSBHTFNMIGZy
YWdtZW50IHNoYWRlciB0aGF0IHdyaXRlcyB0byAxIGF0dGFjaG1lbnQKQEAgLTQ5LDcgKzQ4LDYg
QEAgdm9pZCBtYWluICh2b2lkKQogICAgIG9fY29sb3IgPSB1X2NvbG9yOwogfSkiOwogCi0vLwog
Ly8gU2hhcmVkIENvaGVyZW50IEZyYWdtZW50IFNoYWRlcnMgZm9yIHRoZSB0ZXN0cyBiZWxvdwog
Ly8KIC8vIENvaGVyZW50IHZlcnNpb24gb2YgYSAxLjAgR0xTTCBmcmFnbWVudCBzaGFkZXIgdGhh
dCB1c2VzIGdsX0xhc3RGcmFnRGF0YQpAQCAtNzQsNiArNzIsMjMgQEAgdm9pZCBtYWluICh2b2lk
KQogICAgIG9fY29sb3IgKz0gdV9jb2xvcjsKIH0pIjsKIAorLy8gQ29oZXJlbnQgdmVyc2lvbiBv
ZiBhIDMuMSBHTFNMIGZyYWdtZW50IHNoYWRlciB0aGF0IHdyaXRlcyB0aGUgb3V0cHV0IHRvIGEg
c3RvcmFnZSBidWZmZXIuCitzdGF0aWMgY29uc3RleHByIGNoYXIgazMxMENvaGVyZW50U3RvcmFn
ZUJ1ZmZlcltdID0gUiIoI3ZlcnNpb24gMzEwIGVzCisjZXh0ZW5zaW9uIEdMX0VYVF9zaGFkZXJf
ZnJhbWVidWZmZXJfZmV0Y2ggOiByZXF1aXJlCitsYXlvdXQobG9jYXRpb24gPSAwKSBpbm91dCBo
aWdocCB2ZWM0IG9fY29sb3I7CisKK2xheW91dChzdGQxNDAsIGJpbmRpbmcgPSAwKSBidWZmZXIg
b3V0QmxvY2sgeworICAgIGhpZ2hwIHZlYzQgZGF0YVsyNTZdOworfTsKKwordW5pZm9ybSBoaWdo
cCB2ZWM0IHVfY29sb3I7Cit2b2lkIG1haW4gKHZvaWQpCit7CisgICAgdWludCBpbmRleCA9IHVp
bnQoZ2xfRnJhZ0Nvb3JkLnkpICogMTZ1ICsgdWludChnbF9GcmFnQ29vcmQueCk7CisgICAgZGF0
YVtpbmRleF0gPSBvX2NvbG9yOworICAgIG9fY29sb3IgKz0gdV9jb2xvcjsKK30pIjsKKwogLy8g
Q29oZXJlbnQgdmVyc2lvbiBvZiBhIDMuMSBHTFNMIGZyYWdtZW50IHNoYWRlciB0aGF0IHdyaXRl
cyB0byA0IGF0dGFjaG1lbnRzCiBzdGF0aWMgY29uc3RleHByIGNoYXIgazMxMENvaGVyZW50NEF0
dGFjaG1lbnRGU1tdID0gUiIoI3ZlcnNpb24gMzEwIGVzCiAjZXh0ZW5zaW9uIEdMX0VYVF9zaGFk
ZXJfZnJhbWVidWZmZXJfZmV0Y2ggOiByZXF1aXJlCkBAIC0xNDIsNyArMTU3LDYgQEAgdm9pZCBt
YWluICh2b2lkKQogICAgIG9fY29sb3IzICs9IHVfY29sb3I7CiB9KSI7CiAKLS8vCiAvLyBTaGFy
ZWQgTm9uLUNvaGVyZW50IEZyYWdtZW50IFNoYWRlcnMgZm9yIHRoZSB0ZXN0cyBiZWxvdwogLy8K
IC8vIE5vbi1jb2hlcmVudCB2ZXJzaW9uIG9mIGEgMS4wIEdMU0wgZnJhZ21lbnQgc2hhZGVyIHRo
YXQgdXNlcyBnbF9MYXN0RnJhZ0RhdGEKQEAgLTE2Nyw2ICsxODEsMjMgQEAgdm9pZCBtYWluICh2
b2lkKQogICAgIG9fY29sb3IgKz0gdV9jb2xvcjsKIH0pIjsKIAorLy8gTm9uLWNvaGVyZW50IHZl
cnNpb24gb2YgYSAzLjEgR0xTTCBmcmFnbWVudCBzaGFkZXIgdGhhdCB3cml0ZXMgdGhlIG91dHB1
dCB0byBhIHN0b3JhZ2UgYnVmZmVyLgorc3RhdGljIGNvbnN0ZXhwciBjaGFyIGszMTBOb25Db2hl
cmVudFN0b3JhZ2VCdWZmZXJbXSA9IFIiKCN2ZXJzaW9uIDMxMCBlcworI2V4dGVuc2lvbiBHTF9F
WFRfc2hhZGVyX2ZyYW1lYnVmZmVyX2ZldGNoX25vbl9jb2hlcmVudCA6IHJlcXVpcmUKK2xheW91
dChub25jb2hlcmVudCwgbG9jYXRpb24gPSAwKSBpbm91dCBoaWdocCB2ZWM0IG9fY29sb3I7CisK
K2xheW91dChzdGQxNDAsIGJpbmRpbmcgPSAwKSBidWZmZXIgb3V0QmxvY2sgeworICAgIGhpZ2hw
IHZlYzQgZGF0YVsyNTZdOworfTsKKwordW5pZm9ybSBoaWdocCB2ZWM0IHVfY29sb3I7Cit2b2lk
IG1haW4gKHZvaWQpCit7CisgICAgdWludCBpbmRleCA9IHVpbnQoZ2xfRnJhZ0Nvb3JkLnkpICog
MTZ1ICsgdWludChnbF9GcmFnQ29vcmQueCk7CisgICAgZGF0YVtpbmRleF0gPSBvX2NvbG9yOwor
ICAgIG9fY29sb3IgKz0gdV9jb2xvcjsKK30pIjsKKwogLy8gTm9uLWNvaGVyZW50IHZlcnNpb24g
b2YgYSAzLjEgR0xTTCBmcmFnbWVudCBzaGFkZXIgdGhhdCB3cml0ZXMgdG8gNCBhdHRhY2htZW50
cwogc3RhdGljIGNvbnN0ZXhwciBjaGFyIGszMTBOb25Db2hlcmVudDRBdHRhY2htZW50RlNbXSA9
IFIiKCN2ZXJzaW9uIDMxMCBlcwogI2V4dGVuc2lvbiBHTF9FWFRfc2hhZGVyX2ZyYW1lYnVmZmVy
X2ZldGNoX25vbl9jb2hlcmVudCA6IHJlcXVpcmUKQEAgLTI3MCw2ICszMDEsNyBAQCBjbGFzcyBG
cmFtZWJ1ZmZlckZldGNoRVMzMSA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAgR0xTTDEwMCwK
ICAgICAgICAgR0xTTDMxMF9OT19GRVRDSF8xQVRUQUNITUVOVCwKICAgICAgICAgR0xTTDMxMF8x
QVRUQUNITUVOVCwKKyAgICAgICAgR0xTTDMxMF8xQVRUQUNITUVOVF9XSVRIX1NUT1JBR0VfQlVG
RkVSLAogICAgICAgICBHTFNMMzEwXzRBVFRBQ0hNRU5ULAogICAgICAgICBHTFNMMzEwXzRBVFRB
Q0hNRU5UX0FSUkFZLAogICAgICAgICBHTFNMMzEwXzRBVFRBQ0hNRU5UX0RJRkZFUkVOVDEsCkBA
IC0yODcsNiArMzE5LDggQEAgY2xhc3MgRnJhbWVidWZmZXJGZXRjaEVTMzEgOiBwdWJsaWMgQU5H
TEVUZXN0CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBrMzEwTm9GZXRjaDFBdHRhY2htZW50
RlM7CiAgICAgICAgICAgICAgICAgY2FzZSBHTFNMMzEwXzFBVFRBQ0hNRU5UOgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gazMxMENvaGVyZW50MUF0dGFjaG1lbnRGUzsKKyAgICAgICAgICAg
ICAgICBjYXNlIEdMU0wzMTBfMUFUVEFDSE1FTlRfV0lUSF9TVE9SQUdFX0JVRkZFUjoKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGszMTBDb2hlcmVudFN0b3JhZ2VCdWZmZXI7CiAgICAgICAg
ICAgICAgICAgY2FzZSBHTFNMMzEwXzRBVFRBQ0hNRU5UOgogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gazMxMENvaGVyZW50NEF0dGFjaG1lbnRGUzsKICAgICAgICAgICAgICAgICBjYXNlIEdM
U0wzMTBfNEFUVEFDSE1FTlRfQVJSQVk6CkBAIC0zMTAsNiArMzQ0LDggQEAgY2xhc3MgRnJhbWVi
dWZmZXJGZXRjaEVTMzEgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBrMzEwTm9GZXRjaDFBdHRhY2htZW50RlM7CiAgICAgICAgICAgICAgICAgY2FzZSBHTFNM
MzEwXzFBVFRBQ0hNRU5UOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gazMxME5vbkNvaGVy
ZW50MUF0dGFjaG1lbnRGUzsKKyAgICAgICAgICAgICAgICBjYXNlIEdMU0wzMTBfMUFUVEFDSE1F
TlRfV0lUSF9TVE9SQUdFX0JVRkZFUjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGszMTBO
b25Db2hlcmVudFN0b3JhZ2VCdWZmZXI7CiAgICAgICAgICAgICAgICAgY2FzZSBHTFNMMzEwXzRB
VFRBQ0hNRU5UOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gazMxME5vbkNvaGVyZW50NEF0
dGFjaG1lbnRGUzsKICAgICAgICAgICAgICAgICBjYXNlIEdMU0wzMTBfNEFUVEFDSE1FTlRfQVJS
QVk6CkBAIC02NTgsNiArNjk0LDEwOSBAQCBjbGFzcyBGcmFtZWJ1ZmZlckZldGNoRVMzMSA6IHB1
YmxpYyBBTkdMRVRlc3QKICAgICAgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIs
IDApOwogICAgIH0KIAorICAgIGVudW0gY2xhc3MgU3RvcmFnZUJ1ZmZlclRlc3RQb3N0RmV0Y2hB
Y3Rpb24KKyAgICB7CisgICAgICAgIE5vdGhpbmcsCisgICAgICAgIENsZWFyLAorICAgIH07CisK
KyAgICB2b2lkIERyYXdOb25GZXRjaERyYXdGZXRjaEluU3RvcmFnZUJ1ZmZlclRlc3QoR0xQcm9n
cmFtIHByb2dyYW1Ob25GZXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xQcm9ncmFtIHByb2dyYW1GZXRjaCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmFnZUJ1ZmZlclRlc3RQb3N0RmV0
Y2hBY3Rpb24gcG9zdEZldGNoQWN0aW9uKQorICAgIHsKKyAgICAgICAgLy8gQ3JlYXRlIG91dHB1
dCBidWZmZXIKKyAgICAgICAgY29uc3RleHByIEdMc2l6ZWkga0J1ZmZlclNpemUgPSBrVmlld3Bv
cnRXaWR0aCAqIGtWaWV3cG9ydEhlaWdodCAqIHNpemVvZihmbG9hdFs0XSk7CisgICAgICAgIEdM
QnVmZmVyIGJ1ZmZlcjsKKyAgICAgICAgZ2xCaW5kQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JV
RkZFUiwgYnVmZmVyKTsKKyAgICAgICAgZ2xCdWZmZXJEYXRhKEdMX1NIQURFUl9TVE9SQUdFX0JV
RkZFUiwga0J1ZmZlclNpemUsIG51bGxwdHIsIEdMX1NUQVRJQ19EUkFXKTsKKyAgICAgICAgZ2xC
aW5kQnVmZmVyUmFuZ2UoR0xfU0hBREVSX1NUT1JBR0VfQlVGRkVSLCAwLCBidWZmZXIsIDAsIGtC
dWZmZXJTaXplKTsKKworICAgICAgICAvLyBaZXJvLWluaXRpYWxpemUgaXQKKyAgICAgICAgdm9p
ZCAqYnVmZmVyRGF0YSA9IGdsTWFwQnVmZmVyUmFuZ2UoCisgICAgICAgICAgICBHTF9TSEFERVJf
U1RPUkFHRV9CVUZGRVIsIDAsIGtCdWZmZXJTaXplLAorICAgICAgICAgICAgR0xfTUFQX1dSSVRF
X0JJVCB8IEdMX01BUF9JTlZBTElEQVRFX0JVRkZFUl9CSVQgfCBHTF9NQVBfVU5TWU5DSFJPTkla
RURfQklUKTsKKyAgICAgICAgbWVtc2V0KGJ1ZmZlckRhdGEsIDAsIGtCdWZmZXJTaXplKTsKKyAg
ICAgICAgZ2xVbm1hcEJ1ZmZlcihHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIpOworCisgICAgICAg
IGdsVXNlUHJvZ3JhbShwcm9ncmFtTm9uRmV0Y2gpOworICAgICAgICBBU1NFUlRfR0xfTk9fRVJS
T1IoKTsKKworICAgICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOworICAgICAgICBnbEJp
bmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOworICAgICAgICBzdGQ6
OnZlY3RvcjxHTENvbG9yPiBpbml0Q29sb3Ioa1ZpZXdwb3J0V2lkdGggKiBrVmlld3BvcnRIZWln
aHQsIEdMQ29sb3J7MTAsIDIwLCAzMCwgNDB9KTsKKyAgICAgICAgR0xUZXh0dXJlIGNvbG9yQnVm
ZmVyVGV4OworICAgICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIGNvbG9yQnVmZmVy
VGV4KTsKKyAgICAgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkEsIGtW
aWV3cG9ydFdpZHRoLCBrVmlld3BvcnRIZWlnaHQsIDAsIEdMX1JHQkEsCisgICAgICAgICAgICAg
ICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBpbml0Q29sb3IuZGF0YSgpKTsKKyAgICAgICAgZ2xG
cmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAs
IEdMX1RFWFRVUkVfMkQsIGNvbG9yQnVmZmVyVGV4LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDApOworCisgICAgICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgICAgIGZs
b2F0IGNvbG9yUmVkWzRdICAgICAgICAgICA9IHsxLjBmLCAwLjBmLCAwLjBmLCAxLjBmfTsKKyAg
ICAgICAgR0xpbnQgY29sb3JMb2NhdGlvbk5vbkZldGNoID0gZ2xHZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbU5vbkZldGNoLCAidV9jb2xvciIpOworICAgICAgICBnbFVuaWZvcm00ZnYoY29sb3JM
b2NhdGlvbk5vbkZldGNoLCAxLCBjb2xvclJlZCk7CisKKyAgICAgICAgR0xpbnQgcG9zaXRpb25M
b2NhdGlvbk5vbkZldGNoID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtTm9uRmV0Y2gsICJh
X3Bvc2l0aW9uIik7CisKKyAgICAgICAgLy8gTWFzayBjb2xvciBvdXRwdXQuICBUaGUgbm8tZmV0
Y2ggZHJhdyBjYWxsIHNob3VsZCBiZSBhIG5vLW9wLCBhbmQgdGhlIGZldGNoIGRyYXctY2FsbAor
ICAgICAgICAvLyBzaG91bGQgb25seSBvdXRwdXQgdG8gdGhlIHN0b3JhZ2UgYnVmZmVyLCBidXQg
bm90IHRoZSBjb2xvciBhdHRhY2htZW50LgorICAgICAgICBnbENvbG9yTWFzayhHTF9GQUxTRSwg
R0xfRkFMU0UsIEdMX0ZBTFNFLCBHTF9GQUxTRSk7CisKKyAgICAgICAgLy8gUmVuZGVyIHdpdGhv
dXQgcmVnYXJkIHRvIGdsRnJhbWVidWZmZXJGZXRjaEJhcnJpZXJFWFQoKQorICAgICAgICByZW5k
ZXIocG9zaXRpb25Mb2NhdGlvbk5vbkZldGNoLCBHTF9GQUxTRSk7CisKKyAgICAgICAgQVNTRVJU
X0dMX05PX0VSUk9SKCk7CisKKyAgICAgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW1GZXRjaCk7CisK
KyAgICAgICAgZmxvYXQgY29sb3JCbHVlWzRdICAgICAgID0gezAuMGYsIDAuMGYsIDEuMGYsIDEu
MGZ9OworICAgICAgICBHTGludCBjb2xvckxvY2F0aW9uRmV0Y2ggPSBnbEdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtRmV0Y2gsICJ1X2NvbG9yIik7CisgICAgICAgIGdsVW5pZm9ybTRmdihjb2xv
ckxvY2F0aW9uRmV0Y2gsIDEsIGNvbG9yQmx1ZSk7CisKKyAgICAgICAgR0xpbnQgcG9zaXRpb25M
b2NhdGlvbkZldGNoID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtRmV0Y2gsICJhX3Bvc2l0
aW9uIik7CisgICAgICAgIC8vIFJlbmRlciBwb3RlbnRpYWxseSB3aXRoIGEgZ2xGcmFtZWJ1ZmZl
ckZldGNoQmFycmllckVYVCgpIGRlcGVuZGluZyBvbiB0aGUgW25vbi1dY29oZXJlbnQKKyAgICAg
ICAgLy8gZXh0ZW5zaW9uIGJlaW5nIHVzZWQKKyAgICAgICAgcmVuZGVyKHBvc2l0aW9uTG9jYXRp
b25GZXRjaCwgIW1Db2hlcmVudEV4dGVuc2lvbik7CisKKyAgICAgICAgQVNTRVJUX0dMX05PX0VS
Uk9SKCk7CisKKyAgICAgICAgLy8gRW5hYmxlIHRoZSBjb2xvciBtYXNrIGFuZCBjbGVhciB0aGUg
YWxwaGEgY2hhbm5lbC4gIFRoaXMgc2hvdWxkbid0IGJlIHJlb3JkZXJlZCB3aXRoIHRoZQorICAg
ICAgICAvLyBmZXRjaCBkcmF3LgorICAgICAgICBHTENvbG9yIGV4cGVjdCA9IGluaXRDb2xvclsw
XTsKKyAgICAgICAgaWYgKHBvc3RGZXRjaEFjdGlvbiA9PSBTdG9yYWdlQnVmZmVyVGVzdFBvc3RG
ZXRjaEFjdGlvbjo6Q2xlYXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGV4cGVjdC5BID0gMjAw
OworICAgICAgICAgICAgZ2xDb2xvck1hc2soR0xfRkFMU0UsIEdMX0ZBTFNFLCBHTF9GQUxTRSwg
R0xfVFJVRSk7CisgICAgICAgICAgICBnbENsZWFyQ29sb3IoMC41LCAwLjYsIDAuNywgZXhwZWN0
LkEgLyAyNTUuMGYpOworICAgICAgICAgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIFNpbmNlIGNvbG9yIGlzIGNvbXBsZXRlbHkgbWFza2Vk
IG91dCwgdGhlIHRleHR1cmUgc2hvdWxkIHJldGFpbiBpdHMgb3JpZ2luYWwgZ3JlZW4gY29sb3Iu
CisgICAgICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9ORUFSKGtWaWV3cG9ydFdpZHRoIC8gMiwga1Zp
ZXdwb3J0SGVpZ2h0IC8gMiwgZXhwZWN0LCAxKTsKKworICAgICAgICAvLyBSZWFkIGJhY2sgdGhl
IHN0b3JhZ2UgYnVmZmVyIGFuZCBtYWtlIHN1cmUgZnJhbWVidWZmZXIgZmV0Y2ggd29ya2VkIGFz
IGludGVuZGVkIGRlc3BpdGUKKyAgICAgICAgLy8gbWFza2VkIGNvbG9yLgorICAgICAgICBnbE1l
bW9yeUJhcnJpZXIoR0xfQlVGRkVSX1VQREFURV9CQVJSSUVSX0JJVCk7CisKKyAgICAgICAgY29u
c3QgZmxvYXQgKmNvbG9yRGF0YSA9IHN0YXRpY19jYXN0PGNvbnN0IGZsb2F0ICo+KAorICAgICAg
ICAgICAgZ2xNYXBCdWZmZXJSYW5nZShHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIsIDAsIGtCdWZm
ZXJTaXplLCBHTF9NQVBfUkVBRF9CSVQpKTsKKyAgICAgICAgZm9yICh1aW50MzJfdCB5ID0gMDsg
eSA8IGtWaWV3cG9ydEhlaWdodDsgKyt5KQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKHVp
bnQzMl90IHggPSAwOyB4IDwga1ZpZXdwb3J0V2lkdGg7ICsreCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzc2JvSW5kZXggPSAoeSAqIGtWaWV3cG9ydFdpZHRoICsg
eCkgKiA0OworICAgICAgICAgICAgICAgIEVYUEVDVF9ORUFSKGNvbG9yRGF0YVtzc2JvSW5kZXgg
KyAwXSwgaW5pdENvbG9yWzBdLlIgLyAyNTUuMCwgMC4wNSk7CisgICAgICAgICAgICAgICAgRVhQ
RUNUX05FQVIoY29sb3JEYXRhW3NzYm9JbmRleCArIDFdLCBpbml0Q29sb3JbMF0uRyAvIDI1NS4w
LCAwLjA1KTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfTkVBUihjb2xvckRhdGFbc3Nib0luZGV4
ICsgMl0sIGluaXRDb2xvclswXS5CIC8gMjU1LjAsIDAuMDUpOworICAgICAgICAgICAgICAgIEVY
UEVDVF9ORUFSKGNvbG9yRGF0YVtzc2JvSW5kZXggKyAzXSwgaW5pdENvbG9yWzBdLkEgLyAyNTUu
MCwgMC4wNSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ2xVbm1hcEJ1ZmZl
cihHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIpOworCisgICAgICAgIGdsQmluZEZyYW1lYnVmZmVy
KEdMX0ZSQU1FQlVGRkVSLCAwKTsKKyAgICB9CisKICAgICB2b2lkIERyYXdOb25GZXRjaERyYXdG
ZXRjaFdpdGhEaWZmZXJlbnRBdHRhY2htZW50c1Rlc3QoR0xQcm9ncmFtIHByb2dyYW1Ob25GZXRj
aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xQcm9ncmFtIHByb2dyYW1GZXRjaCkKICAgICB7CkBAIC0xMjg5LDYgKzE0MjgsNDUg
QEAgVEVTVF9QKEZyYW1lYnVmZmVyRmV0Y2hFUzMxLCBEcmF3RmV0Y2hEcmF3Tm9uRmV0Y2hfTm9u
Q29oZXJlbnQpCiAgICAgRHJhd0ZldGNoRHJhd05vbkZldGNoVGVzdChwcm9ncmFtTm9uRmV0Y2gs
IHByb2dyYW1GZXRjaCk7CiB9CiAKKy8vIFRlc3RpbmcgY29oZXJlbnQgZXh0ZW5zaW9uIHdpdGgg
ZnJhbWVidWZmZXIgZmV0Y2ggcmVhZCBpbiBjb21iaW5hdGlvbiB3aXRoIGNvbG9yIGF0dGFjaG1l
bnQgbWFzaworVEVTVF9QKEZyYW1lYnVmZmVyRmV0Y2hFUzMxLCBEcmF3Tm9uRmV0Y2hEcmF3RmV0
Y2hJblN0b3JhZ2VCdWZmZXJfQ29oZXJlbnQpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJ
c0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaCIpKTsK
KyAgICBzZXRXaGljaEV4dGVuc2lvbihDT0hFUkVOVCk7CisKKyAgICBHTGludCBtYXhGcmFnbWVu
dFNoYWRlclN0b3JhZ2VCbG9ja3MgPSAwOworICAgIGdsR2V0SW50ZWdlcnYoR0xfTUFYX0ZSQUdN
RU5UX1NIQURFUl9TVE9SQUdFX0JMT0NLUywgJm1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2Nr
cyk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKG1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2Nr
cyA9PSAwKTsKKworICAgIEdMUHJvZ3JhbSBwcm9ncmFtTm9uRmV0Y2gsIHByb2dyYW1GZXRjaDsK
KyAgICBwcm9ncmFtTm9uRmV0Y2gubWFrZVJhc3RlcihrMzEwVlMsIGdldEZyYWdtZW50U2hhZGVy
KEdMU0wzMTBfTk9fRkVUQ0hfMUFUVEFDSE1FTlQpKTsKKyAgICBwcm9ncmFtRmV0Y2gubWFrZVJh
c3RlcihrMzEwVlMsIGdldEZyYWdtZW50U2hhZGVyKEdMU0wzMTBfMUFUVEFDSE1FTlRfV0lUSF9T
VE9SQUdFX0JVRkZFUikpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgRHJhd05v
bkZldGNoRHJhd0ZldGNoSW5TdG9yYWdlQnVmZmVyVGVzdChwcm9ncmFtTm9uRmV0Y2gsIHByb2dy
YW1GZXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JhZ2VCdWZmZXJUZXN0UG9zdEZldGNoQWN0aW9uOjpOb3RoaW5nKTsKK30KKworLy8gVGVzdGlu
ZyBub24tY29oZXJlbnQgZXh0ZW5zaW9uIHdpdGggZnJhbWVidWZmZXIgZmV0Y2ggcmVhZCBpbiBj
b21iaW5hdGlvbiB3aXRoIGNvbG9yIGF0dGFjaG1lbnQKKy8vIG1hc2sKK1RFU1RfUChGcmFtZWJ1
ZmZlckZldGNoRVMzMSwgRHJhd05vbkZldGNoRHJhd0ZldGNoSW5TdG9yYWdlQnVmZmVyX05vbkNv
aGVyZW50KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQo
IkdMX0VYVF9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2hfbm9uX2NvaGVyZW50IikpOworICAgIHNl
dFdoaWNoRXh0ZW5zaW9uKE5PTl9DT0hFUkVOVCk7CisKKyAgICBHTGludCBtYXhGcmFnbWVudFNo
YWRlclN0b3JhZ2VCbG9ja3MgPSAwOworICAgIGdsR2V0SW50ZWdlcnYoR0xfTUFYX0ZSQUdNRU5U
X1NIQURFUl9TVE9SQUdFX0JMT0NLUywgJm1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2Nrcyk7
CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKG1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2NrcyA9
PSAwKTsKKworICAgIEdMUHJvZ3JhbSBwcm9ncmFtTm9uRmV0Y2gsIHByb2dyYW1GZXRjaDsKKyAg
ICBwcm9ncmFtTm9uRmV0Y2gubWFrZVJhc3RlcihrMzEwVlMsIGdldEZyYWdtZW50U2hhZGVyKEdM
U0wzMTBfTk9fRkVUQ0hfMUFUVEFDSE1FTlQpKTsKKyAgICBwcm9ncmFtRmV0Y2gubWFrZVJhc3Rl
cihrMzEwVlMsIGdldEZyYWdtZW50U2hhZGVyKEdMU0wzMTBfMUFUVEFDSE1FTlRfV0lUSF9TVE9S
QUdFX0JVRkZFUikpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgRHJhd05vbkZl
dGNoRHJhd0ZldGNoSW5TdG9yYWdlQnVmZmVyVGVzdChwcm9ncmFtTm9uRmV0Y2gsIHByb2dyYW1G
ZXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jh
Z2VCdWZmZXJUZXN0UG9zdEZldGNoQWN0aW9uOjpOb3RoaW5nKTsKK30KKwogLy8gVGVzdGluZyBj
b2hlcmVudCBleHRlbnNpb24gd2l0aCB0aGUgb3JkZXIgb2Ygbm9uLWZldGNoIHByb2dyYW0gYW5k
IGZldGNoIHByb2dyYW0gd2l0aAogLy8gZGlmZmVyZW50IGF0dGFjaG1lbnRzCiBURVNUX1AoRnJh
bWVidWZmZXJGZXRjaEVTMzEsIERyYXdOb25GZXRjaERyYXdGZXRjaFdpdGhEaWZmZXJlbnRBdHRh
Y2htZW50c19Db2hlcmVudCkKQEAgLTEzMDQsNiArMTQ4Miw0NiBAQCBURVNUX1AoRnJhbWVidWZm
ZXJGZXRjaEVTMzEsIERyYXdOb25GZXRjaERyYXdGZXRjaFdpdGhEaWZmZXJlbnRBdHRhY2htZW50
c19Db2hlcgogICAgIERyYXdOb25GZXRjaERyYXdGZXRjaFdpdGhEaWZmZXJlbnRBdHRhY2htZW50
c1Rlc3QocHJvZ3JhbU5vbkZldGNoLCBwcm9ncmFtRmV0Y2gpOwogfQogCisvLyBUZXN0aW5nIGNv
aGVyZW50IGV4dGVuc2lvbiB3aXRoIGZyYW1lYnVmZmVyIGZldGNoIHJlYWQgaW4gY29tYmluYXRp
b24gd2l0aCBjb2xvciBhdHRhY2htZW50IG1hc2sKKy8vIGFuZCBjbGVhcgorVEVTVF9QKEZyYW1l
YnVmZmVyRmV0Y2hFUzMxLCBEcmF3Tm9uRmV0Y2hEcmF3RmV0Y2hJblN0b3JhZ2VCdWZmZXJUaGVu
Q2xlYXJfQ29oZXJlbnQpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9u
RW5hYmxlZCgiR0xfRVhUX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaCIpKTsKKyAgICBzZXRXaGlj
aEV4dGVuc2lvbihDT0hFUkVOVCk7CisKKyAgICBHTGludCBtYXhGcmFnbWVudFNoYWRlclN0b3Jh
Z2VCbG9ja3MgPSAwOworICAgIGdsR2V0SW50ZWdlcnYoR0xfTUFYX0ZSQUdNRU5UX1NIQURFUl9T
VE9SQUdFX0JMT0NLUywgJm1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2Nrcyk7CisgICAgQU5H
TEVfU0tJUF9URVNUX0lGKG1heEZyYWdtZW50U2hhZGVyU3RvcmFnZUJsb2NrcyA9PSAwKTsKKwor
ICAgIEdMUHJvZ3JhbSBwcm9ncmFtTm9uRmV0Y2gsIHByb2dyYW1GZXRjaDsKKyAgICBwcm9ncmFt
Tm9uRmV0Y2gubWFrZVJhc3RlcihrMzEwVlMsIGdldEZyYWdtZW50U2hhZGVyKEdMU0wzMTBfTk9f
RkVUQ0hfMUFUVEFDSE1FTlQpKTsKKyAgICBwcm9ncmFtRmV0Y2gubWFrZVJhc3RlcihrMzEwVlMs
IGdldEZyYWdtZW50U2hhZGVyKEdMU0wzMTBfMUFUVEFDSE1FTlRfV0lUSF9TVE9SQUdFX0JVRkZF
UikpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgRHJhd05vbkZldGNoRHJhd0Zl
dGNoSW5TdG9yYWdlQnVmZmVyVGVzdChwcm9ncmFtTm9uRmV0Y2gsIHByb2dyYW1GZXRjaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JhZ2VCdWZmZXJU
ZXN0UG9zdEZldGNoQWN0aW9uOjpDbGVhcik7Cit9CisKKy8vIFRlc3Rpbmcgbm9uLWNvaGVyZW50
IGV4dGVuc2lvbiB3aXRoIGZyYW1lYnVmZmVyIGZldGNoIHJlYWQgaW4gY29tYmluYXRpb24gd2l0
aCBjb2xvciBhdHRhY2htZW50CisvLyBtYXNrIGFuZCBjbGVhcgorVEVTVF9QKEZyYW1lYnVmZmVy
RmV0Y2hFUzMxLCBEcmF3Tm9uRmV0Y2hEcmF3RmV0Y2hJblN0b3JhZ2VCdWZmZXJUaGVuQ2xlYXJf
Tm9uQ29oZXJlbnQpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5h
YmxlZCgiR0xfRVhUX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaF9ub25fY29oZXJlbnQiKSk7Cisg
ICAgc2V0V2hpY2hFeHRlbnNpb24oTk9OX0NPSEVSRU5UKTsKKworICAgIEdMaW50IG1heEZyYWdt
ZW50U2hhZGVyU3RvcmFnZUJsb2NrcyA9IDA7CisgICAgZ2xHZXRJbnRlZ2VydihHTF9NQVhfRlJB
R01FTlRfU0hBREVSX1NUT1JBR0VfQkxPQ0tTLCAmbWF4RnJhZ21lbnRTaGFkZXJTdG9yYWdlQmxv
Y2tzKTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYobWF4RnJhZ21lbnRTaGFkZXJTdG9yYWdlQmxv
Y2tzID09IDApOworCisgICAgR0xQcm9ncmFtIHByb2dyYW1Ob25GZXRjaCwgcHJvZ3JhbUZldGNo
OworICAgIHByb2dyYW1Ob25GZXRjaC5tYWtlUmFzdGVyKGszMTBWUywgZ2V0RnJhZ21lbnRTaGFk
ZXIoR0xTTDMxMF9OT19GRVRDSF8xQVRUQUNITUVOVCkpOworICAgIHByb2dyYW1GZXRjaC5tYWtl
UmFzdGVyKGszMTBWUywgZ2V0RnJhZ21lbnRTaGFkZXIoR0xTTDMxMF8xQVRUQUNITUVOVF9XSVRI
X1NUT1JBR0VfQlVGRkVSKSk7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBEcmF3
Tm9uRmV0Y2hEcmF3RmV0Y2hJblN0b3JhZ2VCdWZmZXJUZXN0KHByb2dyYW1Ob25GZXRjaCwgcHJv
Z3JhbUZldGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmFnZUJ1ZmZlclRlc3RQb3N0RmV0Y2hBY3Rpb246OkNsZWFyKTsKK30KKwogLy8gVGVzdGlu
ZyBub24tY29oZXJlbnQgZXh0ZW5zaW9uIHdpdGggdGhlIG9yZGVyIG9mIG5vbi1mZXRjaCBwcm9n
cmFtIGFuZCBmZXRjaCBwcm9ncmFtIHdpdGgKIC8vIGRpZmZlcmVudCBhdHRhY2htZW50cwogVEVT
VF9QKEZyYW1lYnVmZmVyRmV0Y2hFUzMxLCBEcmF3Tm9uRmV0Y2hEcmF3RmV0Y2hXaXRoRGlmZmVy
ZW50QXR0YWNobWVudHNfTm9uQ29oZXJlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvRnJhbWVidWZmZXJUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9GcmFtZWJ1ZmZlclRlc3QuY3BwCmlu
ZGV4IGQ0MjFjYzExODM4ODYyNmYyNGQ3NWVkNDgzMDBhOTkwODA3N2ZkODIuLmE5OTk2ZDEwNjRm
ZGVhYzdlYjRjYzNkNGEzMzc3MDRmMDM1ZmM1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9GcmFtZWJ1ZmZlclRlc3QuY3BwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9GcmFtZWJ1ZmZlclRlc3Qu
Y3BwCkBAIC00ODMsNyArNDgzLDYgQEAgVEVTVF9QKEZyYW1lYnVmZmVyVGVzdF9FUzMsIFN1Yklu
dmFsaWRhdGVQYXJ0aWFsKQogLy8gcGFydGlhbCBpbnZhbGlkYXRlLCBidXQgYWxzbyBwcmV2ZW50
cyBidWdzIHdpdGggVnVsa2FuIHByZS1yb3RhdGlvbi4KIFRFU1RfUChGcmFtZWJ1ZmZlclRlc3Rf
RVMzLCBTY2lzc29yZWREcmF3U3ViSW52YWxpZGF0ZVRoZW5Ob25TY2lzc29yZWREcmF3KQogewot
ICAgIHN3YXBCdWZmZXJzKCk7CiAgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIs
IDApOwogCiAgICAgQU5HTEVfR0xfUFJPR1JBTShkcmF3Q29sb3IsIGVzc2wxX3NoYWRlcnM6OnZz
OjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlVuaWZvcm1Db2xvcigpKTsKQEAgLTMwNTQs
NiArMzA1MywyOTEgQEAgdm9pZCBtYWluKCkKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKIH0K
IAorLy8gVGVzdHMgZGVwdGgvc3RlbmNpbCBjbGVhciBhZnRlciByZWFkLW9ubHkgZGVwdGgvc3Rl
bmNpbCBmZWVkYmFjayBsb29wIGRyYXcuCitURVNUX1AoRnJhbWVidWZmZXJUZXN0X0VTMywgUmVh
ZE9ubHlEZXB0aEZlZWRiYWNrTG9vcERyYXdUaGVuRGVwdGhTdGVuY2lsQ2xlYXIpCit7CisgICAg
Ly8gRmVlZGJhY2sgbG9vcHMgYXJlIG9ubHkgc3VwcG9ydGVkIG9uIFZ1bGthbi4KKyAgICAvLyBU
T0RPKGptYWRpbGwpOiBNYWtlIEdMIGV4dGVuc2lvbi4gaHR0cDovL2FuZ2xlYnVnLmNvbS80OTY5
CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc1Z1bGthbigpKTsKKworICAgIGNvbnN0ZXhwciBH
THVpbnQga1NpemUgPSAyOworICAgIGdsVmlld3BvcnQoMCwgMCwga1NpemUsIGtTaXplKTsKKwor
ICAgIGNvbnN0ZXhwciBjaGFyIGtGU1tdID0gUiIocHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2
YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsKK3VuaWZvcm0gc2FtcGxlcjJEIGRlcHRoOwordm9pZCBt
YWluKCkKK3sKKyAgICBpZiAoYWJzKHRleHR1cmUyRChkZXB0aCwgdl90ZXhDb29yZCkueCAtIDAu
NSkgPCAwLjEpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAsIDEsIDAsIDEp
OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEs
IDAsIDAsIDEpOworICAgIH0KK30pIjsKKworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwg
ZXNzbDFfc2hhZGVyczo6dnM6OlRleHR1cmUyRCgpLCBrRlMpOworICAgIGdsVXNlUHJvZ3JhbShw
cm9ncmFtKTsKKworICAgIHNldHVwUXVhZFZlcnRleEJ1ZmZlcigwLjVmLCAxLjBmKTsKKyAgICBn
bFZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCAwKTsKKyAg
ICBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFt
ZWJ1ZmZlcjsKKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgZnJhbWVidWZm
ZXIpOworCisgICAgR0xUZXh0dXJlIGNvbG9yVGV4dHVyZTsKKyAgICBnbEJpbmRUZXh0dXJlKEdM
X1RFWFRVUkVfMkQsIGNvbG9yVGV4dHVyZSk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVf
MkQsIDAsIEdMX1JHQkE4LCBrU2l6ZSwga1NpemUsIDAsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZ
VEUsIG51bGxwdHIpOworCisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RF
WFRVUkVfTUlOX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RF
WFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xGcmFt
ZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdM
X1RFWFRVUkVfMkQsIGNvbG9yVGV4dHVyZSwgMCk7CisKKyAgICBHTFRleHR1cmUgZGVwdGhUZXh0
dXJlOworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgZGVwdGhUZXh0dXJlKTsKKyAg
ICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgR0xfREVQVEhfQ09NUE9ORU5UMjQsIGtT
aXplLCBrU2l6ZSwgMCwgR0xfREVQVEhfQ09NUE9ORU5ULAorICAgICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9JTlQsIG51bGxwdHIpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJE
LCBHTF9URVhUVVJFX01JTl9GSUxURVIsIEdMX05FQVJFU1QpOworICAgIGdsVGV4UGFyYW1ldGVy
aShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX05FQVJFU1QpOworICAg
IGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0RFUFRIX0FUVEFDSE1F
TlQsIEdMX1RFWFRVUkVfMkQsIGRlcHRoVGV4dHVyZSwgMCk7CisKKyAgICBBU1NFUlRfR0xfTk9f
RVJST1IoKTsKKyAgICBBU1NFUlRfR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUoR0xfRlJBTUVCVUZG
RVIpOworCisgICAgLy8gQ2xlYXIgZGVwdGggdG8gMC41LgorICAgIGdsQ2xlYXJEZXB0aGYoMC41
Zik7CisgICAgZ2xDbGVhcihHTF9ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIC8vIERpc2FibGUg
ZGVwdGggdG8gZXN0YWJsaXNoIHJlYWQtb25seSBkZXB0aC9zdGVuY2lsIGZlZWRiYWNrIGxvb3Au
CisgICAgZ2xEZXB0aE1hc2soZmFsc2UpOworICAgIGdsRGlzYWJsZShHTF9ERVBUSF9URVNUKTsK
KworICAgIC8vIFZlcmlmeSB3ZSBjYW4gc2FtcGxlIHRoZSBkZXB0aCB0ZXh0dXJlIGFuZCBnZXQg
MC41LgorICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmli
KCksIDAuNSk7CisKKyAgICAvLyBDbGVhciBkZXB0aCB0byBhbm90aGVyIHZhbHVlCisgICAgZ2xE
ZXB0aE1hc2sodHJ1ZSk7CisgICAgZ2xDbGVhckRlcHRoZigxLjBmKTsKKyAgICBnbENsZWFyKEdM
X0RFUFRIX0JVRkZFUl9CSVQpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8g
TWFrZSBzdXJlIHRoZSBsYXN0IGNsZWFyIGFuZCB0aGUgZHJhdyBhcmUgbm90IHJlb3JkZXJlZCBi
eSBtaXN0YWtlLgorICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVl
bik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyBNYWtlIHN1cmUgZGVwdGgg
aXMgY29ycmVjdGx5IGNsZWFyZWQuCisgICAgZ2xFbmFibGUoR0xfREVQVEhfVEVTVCk7CisgICAg
Z2xEZXB0aEZ1bmMoR0xfTEVTUyk7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKGRyYXdCbHVlLCBl
c3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpCbHVlKCkpOwor
ICAgIGRyYXdRdWFkKGRyYXdCbHVlLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAw
Ljk1Zik7CisKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Ymx1ZSk7
CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cit9CisKKy8vIFRlc3RzIHNjaXNzb3JlZCBkZXB0
aC9zdGVuY2lsIGNsZWFyIGFmdGVyIHJlYWQtb25seSBkZXB0aC9zdGVuY2lsIGZlZWRiYWNrIGxv
b3AgZHJhdy4KK1RFU1RfUChGcmFtZWJ1ZmZlclRlc3RfRVMzLCBSZWFkT25seURlcHRoRmVlZGJh
Y2tMb29wRHJhd1RoZW5TY2lzc29yZWREZXB0aFN0ZW5jaWxDbGVhcikKK3sKKyAgICAvLyBGZWVk
YmFjayBsb29wcyBhcmUgb25seSBzdXBwb3J0ZWQgb24gVnVsa2FuLgorICAgIC8vIFRPRE8oam1h
ZGlsbCk6IE1ha2UgR0wgZXh0ZW5zaW9uLiBodHRwOi8vYW5nbGVidWcuY29tLzQ5NjkKKyAgICBB
TkdMRV9TS0lQX1RFU1RfSUYoIUlzVnVsa2FuKCkpOworCisgICAgY29uc3RleHByIEdMdWludCBr
U2l6ZSA9IDI7CisgICAgZ2xWaWV3cG9ydCgwLCAwLCBrU2l6ZSwga1NpemUpOworCisgICAgY29u
c3RleHByIGNoYXIga0ZTW10gPSBSIihwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3Zhcnlpbmcg
dmVjMiB2X3RleENvb3JkOwordW5pZm9ybSBzYW1wbGVyMkQgZGVwdGg7Cit2b2lkIG1haW4oKQor
eworICAgIGlmIChhYnModGV4dHVyZTJEKGRlcHRoLCB2X3RleENvb3JkKS54IC0gMC41KSA8IDAu
MSkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMCwgMSwgMCwgMSk7CisgICAg
fQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMSwgMCwgMCwg
MSk7CisgICAgfQorfSkiOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBlc3NsMV9z
aGFkZXJzOjp2czo6VGV4dHVyZTJEKCksIGtGUyk7CisgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW0p
OworCisgICAgc2V0dXBRdWFkVmVydGV4QnVmZmVyKDAuNWYsIDEuMGYpOworICAgIGdsVmVydGV4
QXR0cmliUG9pbnRlcigwLCAzLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIDApOworICAgIGdsRW5h
YmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisKKyAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVy
OworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CisK
KyAgICBHTFRleHR1cmUgY29sb3JUZXh0dXJlOworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgY29sb3JUZXh0dXJlKTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
R0xfUkdCQTgsIGtTaXplLCBrU2l6ZSwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgbnVs
bHB0cik7CisKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9N
SU5fRklMVEVSLCBHTF9ORUFSRVNUKTsKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8y
RCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9ORUFSRVNUKTsKKyAgICBnbEZyYW1lYnVmZmVy
VGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVS
RV8yRCwgY29sb3JUZXh0dXJlLCAwKTsKKworICAgIEdMVGV4dHVyZSBkZXB0aFRleHR1cmU7Cisg
ICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCBkZXB0aFRleHR1cmUpOworICAgIGdsVGV4
SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9ERVBUSF9DT01QT05FTlQyNCwga1NpemUsIGtT
aXplLCAwLCBHTF9ERVBUSF9DT01QT05FTlQsCisgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVCwgbnVsbHB0cik7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RF
WFRVUkVfTUlOX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RF
WFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xGcmFt
ZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfREVQVEhfQVRUQUNITUVOVCwgR0xf
VEVYVFVSRV8yRCwgZGVwdGhUZXh0dXJlLCAwKTsKKworICAgIEFTU0VSVF9HTF9OT19FUlJPUigp
OworICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisK
KyAgICAvLyBDbGVhciBkZXB0aCB0byAwLjUuCisgICAgZ2xDbGVhckRlcHRoZigwLjVmKTsKKyAg
ICBnbENsZWFyKEdMX0RFUFRIX0JVRkZFUl9CSVQpOworCisgICAgLy8gRGlzYWJsZSBkZXB0aCB0
byBlc3RhYmxpc2ggcmVhZC1vbmx5IGRlcHRoL3N0ZW5jaWwgZmVlZGJhY2sgbG9vcC4KKyAgICBn
bERlcHRoTWFzayhmYWxzZSk7CisgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOworCisgICAg
Ly8gVmVyaWZ5IHdlIGNhbiBzYW1wbGUgdGhlIGRlcHRoIHRleHR1cmUgYW5kIGdldCAwLjUuCisg
ICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41
KTsKKworICAgIC8vIENsZWFyIGRlcHRoIHRvIGFub3RoZXIgdmFsdWUgaW4gYSBzY2lzc29yCisg
ICAgZ2xEZXB0aE1hc2sodHJ1ZSk7CisgICAgZ2xFbmFibGUoR0xfU0NJU1NPUl9URVNUKTsKKyAg
ICBnbFZpZXdwb3J0KGtTaXplIC8gMiwga1NpemUgLyAyLCBrU2l6ZSAvIDIsIGtTaXplIC8gMik7
CisgICAgZ2xDbGVhckRlcHRoZigxLjBmKTsKKyAgICBnbENsZWFyKEdMX0RFUFRIX0JVRkZFUl9C
SVQpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBk
cmF3IHdvcmtlZC4KKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3Jl
ZW4pOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgLy8gTWFrZSBzdXJlIGRlcHRo
IGlzIGNvcnJlY3RseSBjbGVhcmVkLgorICAgIGdsRW5hYmxlKEdMX0RFUFRIX1RFU1QpOworICAg
IGdsRGVwdGhGdW5jKEdMX0xFU1MpOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShkcmF3Qmx1ZSwg
ZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6Qmx1ZSgpKTsK
KyAgICBkcmF3UXVhZChkcmF3Qmx1ZSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwg
MC45NWYpOworCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVu
KTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa1NpemUgLSAxLCBrU2l6ZSAtIDEsIEdMQ29s
b3I6OmJsdWUpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworfQorCisvLyBUZXN0cyBkZXB0
aC9zdGVuY2lsIGJsaXQgYWZ0ZXIgcmVhZC1vbmx5IGRlcHRoL3N0ZW5jaWwgZmVlZGJhY2sgbG9v
cCBkcmF3LgorVEVTVF9QKEZyYW1lYnVmZmVyVGVzdF9FUzMsIFJlYWRPbmx5RGVwdGhGZWVkYmFj
a0xvb3BEcmF3VGhlbkRlcHRoU3RlbmNpbEJsaXQpCit7CisgICAgLy8gRmVlZGJhY2sgbG9vcHMg
YXJlIG9ubHkgc3VwcG9ydGVkIG9uIFZ1bGthbi4KKyAgICAvLyBUT0RPKGptYWRpbGwpOiBNYWtl
IEdMIGV4dGVuc2lvbi4gaHR0cDovL2FuZ2xlYnVnLmNvbS80OTY5CisgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc1Z1bGthbigpKTsKKworICAgIGNvbnN0ZXhwciBHTHVpbnQga1NpemUgPSAyOwor
ICAgIGdsVmlld3BvcnQoMCwgMCwga1NpemUsIGtTaXplKTsKKworICAgIGNvbnN0ZXhwciBjaGFy
IGtGU1tdID0gUiIocHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzIgdl90ZXhD
b29yZDsKK3VuaWZvcm0gc2FtcGxlcjJEIGRlcHRoOwordm9pZCBtYWluKCkKK3sKKyAgICBpZiAo
YWJzKHRleHR1cmUyRChkZXB0aCwgdl90ZXhDb29yZCkueCAtIDAuNSkgPCAwLjEpCisgICAgewor
ICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAsIDEsIDAsIDEpOworICAgIH0KKyAgICBlbHNl
CisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEsIDAsIDAsIDEpOworICAgIH0K
K30pIjsKKworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6dnM6
OlRleHR1cmUyRCgpLCBrRlMpOworICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHNl
dHVwUXVhZFZlcnRleEJ1ZmZlcigwLjVmLCAxLjBmKTsKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50
ZXIoMCwgMywgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCAwKTsKKyAgICBnbEVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KDApOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcjsKKyAgICBnbEJp
bmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOworCisgICAgR0xUZXh0
dXJlIGNvbG9yVGV4dHVyZTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIGNvbG9y
VGV4dHVyZSk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkE4LCBr
U2l6ZSwga1NpemUsIDAsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworCisg
ICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwg
R0xfTkVBUkVTVCk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChH
TF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIGNvbG9y
VGV4dHVyZSwgMCk7CisKKyAgICBHTFRleHR1cmUgZGVwdGhUZXh0dXJlOworICAgIGdsQmluZFRl
eHR1cmUoR0xfVEVYVFVSRV8yRCwgZGVwdGhUZXh0dXJlKTsKKyAgICBnbFRleEltYWdlMkQoR0xf
VEVYVFVSRV8yRCwgMCwgR0xfREVQVEhfQ09NUE9ORU5UMjQsIGtTaXplLCBrU2l6ZSwgMCwgR0xf
REVQVEhfQ09NUE9ORU5ULAorICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsIG51bGxw
dHIpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9G
SUxURVIsIEdMX05FQVJFU1QpOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBH
TF9URVhUVVJFX01BR19GSUxURVIsIEdMX05FQVJFU1QpOworICAgIGdsRnJhbWVidWZmZXJUZXh0
dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0RFUFRIX0FUVEFDSE1FTlQsIEdMX1RFWFRVUkVfMkQs
IGRlcHRoVGV4dHVyZSwgMCk7CisKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICBBU1NF
UlRfR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUoR0xfRlJBTUVCVUZGRVIpOworCisgICAgLy8gQ2xl
YXIgZGVwdGggdG8gMC41LgorICAgIGdsQ2xlYXJEZXB0aGYoMC41Zik7CisgICAgZ2xDbGVhcihH
TF9ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIC8vIERpc2FibGUgZGVwdGggdG8gZXN0YWJsaXNo
IHJlYWQtb25seSBkZXB0aC9zdGVuY2lsIGZlZWRiYWNrIGxvb3AuCisgICAgZ2xEZXB0aE1hc2so
ZmFsc2UpOworICAgIGdsRGlzYWJsZShHTF9ERVBUSF9URVNUKTsKKworICAgIC8vIFZlcmlmeSB3
ZSBjYW4gc2FtcGxlIHRoZSBkZXB0aCB0ZXh0dXJlIGFuZCBnZXQgMC41LgorICAgIGRyYXdRdWFk
KHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNSk7CisKKyAgICAv
LyBCbGl0IGRlcHRoIHRvIGFub3RoZXIgZnJhbWVidWZmZXIuCisgICAgR0xGcmFtZWJ1ZmZlciBm
cmFtZWJ1ZmZlcjI7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRFJBV19GUkFNRUJVRkZFUiwg
ZnJhbWVidWZmZXIyKTsKKworICAgIEdMVGV4dHVyZSBjb2xvclRleHR1cmUyOworICAgIGdsQmlu
ZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgY29sb3JUZXh0dXJlMik7CisgICAgZ2xUZXhJbWFnZTJE
KEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkE4LCBrU2l6ZSwga1NpemUsIDAsIEdMX1JHQkEsIEdM
X1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xf
RFJBV19GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIGNv
bG9yVGV4dHVyZTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKworICAgIEdMVGV4
dHVyZSBkZXB0aFRleHR1cmUyOworICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgZGVw
dGhUZXh0dXJlMik7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX0RFUFRI
X0NPTVBPTkVOVDI0LCBrU2l6ZSwga1NpemUsIDAsIEdMX0RFUFRIX0NPTVBPTkVOVCwKKyAgICAg
ICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCBudWxscHRyKTsKKyAgICBnbEZyYW1lYnVmZmVy
VGV4dHVyZTJEKEdMX0RSQVdfRlJBTUVCVUZGRVIsIEdMX0RFUFRIX0FUVEFDSE1FTlQsIEdMX1RF
WFRVUkVfMkQsIGRlcHRoVGV4dHVyZTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsK
KworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9D
T01QTEVURShHTF9EUkFXX0ZSQU1FQlVGRkVSKTsKKworICAgIGdsQmxpdEZyYW1lYnVmZmVyKDAs
IDAsIGtTaXplLCBrU2l6ZSwgMCwgMCwga1NpemUsIGtTaXplLCBHTF9ERVBUSF9CVUZGRVJfQklU
LCBHTF9ORUFSRVNUKTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZHJhdyB3b3JrZWQuCisgICAg
RVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmdyZWVuKTsKKyAgICBBU1NFUlRf
R0xfTk9fRVJST1IoKTsKKworICAgIC8vIE1ha2Ugc3VyZSBkZXB0aCBpcyBjb3JyZWN0bHkgYmxp
dHRlZC4KKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9SRUFEX0ZSQU1FQlVGRkVSLCBmcmFtZWJ1
ZmZlcjIpOworICAgIGdsRW5hYmxlKEdMX0RFUFRIX1RFU1QpOworICAgIGdsRGVwdGhGdW5jKEdM
X0dSRUFURVIpOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShkcmF3Qmx1ZSwgZXNzbDFfc2hhZGVy
czo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6Qmx1ZSgpKTsKKyAgICBkcmF3UXVh
ZChkcmF3Qmx1ZSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC4wNWYpOworCisg
ICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmJsdWUpOworICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOworCisgICAgZ2xEZXB0aEZ1bmMoR0xfTEVTUyk7CisgICAgQU5HTEVf
R0xfUFJPR1JBTShkcmF3UmVkLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3No
YWRlcnM6OmZzOjpSZWQoKSk7CisgICAgZHJhd1F1YWQoZHJhd1JlZCwgZXNzbDFfc2hhZGVyczo6
UG9zaXRpb25BdHRyaWIoKSwgLTAuMDVmKTsKKworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgw
LCAwLCBHTENvbG9yOjpyZWQpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworfQorCiAvLyBU
ZXN0cyB0aGF0IGlmIHRoZSBmcmFtZWJ1ZmZlciBpcyBjbGVhcmVkLCBhIGZlZWRiYWNrIGxvb3Ag
YmV0d2VlbiBhIGRlcHRoIHRleHR1cmVzIGFuZCB0aGUgZGVwdGgKIC8vIGJ1ZmZlciBpcyBlc3Rh
Ymxpc2hlZCwgYW5kIGEgc2Npc3NvcmVkIGNsZWFyIGlzIGlzc3VlZCwgdGhhdCB0aGUgY2xlYXIg
aXMgbm90IG1pc3Rha2VubHkKIC8vIHNjaXNzb3JlZC4KQEAgLTQxNzAsNiArNDQ1NCw0NyBAQCBU
RVNUX1AoRnJhbWVidWZmZXJUZXN0X0VTMywgUmVhdHRhY2hUb0ludmFsaWRCYXNlTGV2ZWwpCiAg
ICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OKTsKIH0K
IAorLy8gRW5zdXJlIHRoYXQgY2xlYXIgY29sb3IgaXMgY29ycmVjdGx5IGFwcGxpZWQgYWZ0ZXIg
aW52YWxpZGF0ZQorVEVTVF9QKEZyYW1lYnVmZmVyVGVzdF9FUzMsIEludmFsaWRhdGVDbGVhckRy
YXcpCit7CisgICAgY29uc3RleHByIEdMc2l6ZWkga1NpemUgPSAyOworCisgICAgQU5HTEVfR0xf
UFJPR1JBTShwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRl
cnM6OmZzOjpCbHVlKCkpOworCisgICAgR0xUZXh0dXJlIHRleDsKKyAgICBnbEJpbmRUZXh0dXJl
KEdMX1RFWFRVUkVfMkQsIHRleCk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAs
IEdMX1JHQkEsIGtTaXplLCBrU2l6ZSwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgbnVs
bHB0cik7CisKKyAgICBHTEZyYW1lYnVmZmVyIGZibzsKKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihH
TF9GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1F
QlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV8yRCwgdGV4LCAwKTsKKwor
ICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAg
ICAvLyBDbGVhciB0aGUgaW1hZ2UsIGFuZCBtYWtlIHN1cmUgdGhlIGNsZWFyIGlzIGZsdXNoZWQg
b3V0c2lkZSB0aGUgcmVuZGVyIHBhc3MuCisgICAgZ2xDbGVhckNvbG9yKDEsIDAsIDAsIDEpOwor
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisKKyAgICAvLyBJbnZhbGlkYXRlIGl0IHN1Y2ggdGhh
dCB0aGUgY29udGVudHMgYXJlIG1hcmtlZCBhcyB1bmRlZmluZWQuIE5vdGUgdGhhdAorICAgIC8v
IHJlZ2FyZGxlc3Mgb2YgdGhlIG1hcmtpbmcsIHRoZSBpbWFnZSBpcyBjbGVhcmVkIG5ldmVydGhl
bGVzcy4KKyAgICBjb25zdCBHTGVudW0gZGlzY2FyZHNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5U
MH07CisgICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDEsIGRpc2Nh
cmRzKTsKKworICAgIC8vIENsZWFyIGl0IGFnYWluIHRvIHRoZSBzYW1lIGNvbG9yLCBhbmQgbWFr
ZSBzdXJlIHRoZSBjbGVhciBpcyBmbHVzaGVkIG91dHNpZGUgdGhlIHJlbmRlciBwYXNzLAorICAg
IC8vIHdoaWNoIG1heSBiZSBvcHRpbWl6ZWQgb3V0LgorICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVG
RkVSX0JJVCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7
CisKKyAgICAvLyBEcmF3IHdpdGggYmxlbmQuICBJZiB0aGUgc2Vjb25kIGNsZWFyIGlzIGRyb3Bw
ZWQgYW5kIHRoZSBpbWFnZSBjb250aW51ZXMgdG8gYmUgbWFya2VkIGFzCisgICAgLy8gaW52YWxp
ZGF0ZWQsIGxvYWRPcD1ET05UX0NBUkUgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxvYWRPcD1M
T0FELgorICAgIGdsRW5hYmxlKEdMX0JMRU5EKTsKKyAgICBnbEJsZW5kRnVuYyhHTF9PTkUsIEdM
X09ORSk7CisKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0
dHJpYigpLCAwKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6bWFn
ZW50YSk7Cit9CisKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMyKEFkZE1vY2tUZXh0dXJlTm9S
ZW5kZXJUYXJnZXRUZXN0KTsKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMyKEZyYW1lYnVmZmVy
VGVzdCk7CiBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMl9BTkRfRVMzKEZyYW1lYnVmZmVyRm9y
bWF0c1Rlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3Rz
L2dsX3Rlc3RzL0dMU0xUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9nbF90ZXN0cy9HTFNMVGVzdC5jcHAKaW5kZXggM2QxZTNlMjZhMDhhMmNjOTQ5MzZmZDAyZjc0
YjE3NjkzNTVjMDY5OS4uYTRkNDMyN2NjZWM3ZWFhZDRlMTkxYWIxMzY0ZTdlMDZkMTBiMmEwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0dM
U0xUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVz
dHMvR0xTTFRlc3QuY3BwCkBAIC02NjMwLDYgKzY2MzAsODUgQEAgVEVTVF9QKEdMU0xUZXN0X0VT
MzEsIFZhcnlpbmdJT0Jsb2NrRGVjbGFyZWRBc0luQW5kT3V0KQogICAgIEFTU0VSVF9HTF9OT19F
UlJPUigpOwogfQogCisvLyBUZXN0IHRoYXQgdGV4dHVyZSBidWZmZXJzIGNhbiBiZSBhY2Nlc3Nl
ZCBpbiBhIHRlc3NlbGxhdGlvbiBzdGFnZQorLy8gVHJpZ2dlcnMgYSBidWcgaW4gdGhlIFZ1bGth
biBiYWNrZW5kOiBodHRwOi8vYW5nbGVidWcuY29tLzcxMzUKK1RFU1RfUChHTFNMVGVzdF9FUzMx
LCBUZXNzZWxsYXRpb25UZXh0dXJlQnVmZmVyQWNjZXNzKQoreworICAgIEFOR0xFX1NLSVBfVEVT
VF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF90ZXNzZWxsYXRpb25fc2hhZGVyIikp
OworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF90
ZXh0dXJlX2J1ZmZlciIpKTsKKworICAgIGNvbnN0ZXhwciBjaGFyIGtWU1tdID0gUiIoI3ZlcnNp
b24gMzEwIGVzCisgICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OworICAgIGluIHZlYzQgaW5wdXRB
dHRyaWJ1dGU7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24g
PSBpbnB1dEF0dHJpYnV0ZTsKKyAgICB9KSI7CisKKyAgICBjb25zdGV4cHIgY2hhciBrVENTW10g
PSBSIigjdmVyc2lvbiAzMTAgZXMKKyAgICAjZXh0ZW5zaW9uIEdMX0VYVF90ZXNzZWxsYXRpb25f
c2hhZGVyIDogcmVxdWlyZQorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIGxheW91
dCh2ZXJ0aWNlcyA9IDIpIG91dDsKKworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBn
bF9vdXRbZ2xfSW52b2NhdGlvbklEXS5nbF9Qb3NpdGlvbiA9IGdsX2luW2dsX0ludm9jYXRpb25J
RF0uZ2xfUG9zaXRpb247CisgICAgICAgIGdsX1Rlc3NMZXZlbElubmVyWzBdID0gMS4wOworICAg
ICAgICBnbF9UZXNzTGV2ZWxJbm5lclsxXSA9IDEuMDsKKyAgICAgICAgZ2xfVGVzc0xldmVsT3V0
ZXJbMF0gPSAxLjA7CisgICAgICAgIGdsX1Rlc3NMZXZlbE91dGVyWzFdID0gMS4wOworICAgICAg
ICBnbF9UZXNzTGV2ZWxPdXRlclsyXSA9IDEuMDsKKyAgICAgICAgZ2xfVGVzc0xldmVsT3V0ZXJb
M10gPSAxLjA7CisgICAgfSkiOworCisgICAgY29uc3RleHByIGNoYXIga1RFU1tdID0gUiIoI3Zl
cnNpb24gMzEwIGVzCisgICAgI2V4dGVuc2lvbiBHTF9FWFRfdGVzc2VsbGF0aW9uX3NoYWRlciA6
IHJlcXVpcmUKKyAgICAjZXh0ZW5zaW9uIEdMX09FU190ZXh0dXJlX2J1ZmZlciA6IHJlcXVpcmUK
KyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICBsYXlvdXQgKGlzb2xpbmVzLCBwb2lu
dF9tb2RlKSBpbjsKKworICAgIHVuaWZvcm0gaGlnaHAgc2FtcGxlckJ1ZmZlciB0ZXg7CisKKyAg
ICBvdXQgdmVjNCB0ZXhfY29sb3I7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAg
dGV4X2NvbG9yID0gdGV4ZWxGZXRjaCh0ZXgsIDApOworICAgICAgICBnbF9Qb3NpdGlvbiA9IGds
X2luWzBdLmdsX1Bvc2l0aW9uOworICAgIH0pIjsKKworICAgIGNvbnN0ZXhwciBjaGFyIGtGU1td
ID0gUiIoI3ZlcnNpb24gMzEwIGVzCisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAg
bGF5b3V0KGxvY2F0aW9uID0gMCkgb3V0IG1lZGl1bXAgdmVjNCBjb2xvcjsKKworICAgIGluIHZl
YzQgdGV4X2NvbG9yOworCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGNvbG9yID0g
dGV4X2NvbG9yOworICAgIH0pIjsKKworICAgIGNvbnN0ZXhwciBHTGludCBrQnVmZmVyU2l6ZSA9
IDMyOworICAgIEdMdWJ5dGUgdGV4RGF0YVtdICAgICAgICAgICA9IHswdSwgMjU1dSwgMHUsIDI1
NXV9OworCisgICAgR0xUZXh0dXJlIHRleHR1cmU7CisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhU
VVJFX0JVRkZFUiwgdGV4dHVyZSk7CisKKyAgICBHTEJ1ZmZlciBidWZmZXI7CisgICAgZ2xCaW5k
QnVmZmVyKEdMX1RFWFRVUkVfQlVGRkVSLCBidWZmZXIpOworICAgIGdsQnVmZmVyRGF0YShHTF9U
RVhUVVJFX0JVRkZFUiwga0J1ZmZlclNpemUsIHRleERhdGEsIEdMX1NUQVRJQ19EUkFXKTsKKyAg
ICBnbFRleEJ1ZmZlckVYVChHTF9URVhUVVJFX0JVRkZFUiwgR0xfUkdCQTgsIGJ1ZmZlcik7Cisg
ICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBnbENsZWFyQ29sb3IoMS4wLCAwLCAwLCAx
LjApOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICBBTkdMRV9HTF9Q
Uk9HUkFNX1dJVEhfVEVTUyhwcm9ncmFtLCBrVlMsIGtUQ1MsIGtURVMsIGtGUyk7CisgICAgZHJh
d1BhdGNoZXMocHJvZ3JhbS5nZXQoKSwgImlucHV0QXR0cmlidXRlIiwgMC41ZiwgMS4wZiwgR0xf
RkFMU0UpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworfQorCiAvLyBUZXN0IHRoYXQgYSB2
YXJ5aW5nIHN0cnVjdCB0aGF0J3Mgbm90IGRlY2xhcmVkIGluIHRoZSBmcmFnbWVudCBzaGFkZXIg
bGlua3Mgc3VjY2Vzc2Z1bGx5LgogLy8gR0xTTCBFUyAzLjAwLjYgc2VjdGlvbiA0LjMuMTAuCiBU
RVNUX1AoR0xTTFRlc3RfRVMzLCBWYXJ5aW5nU3RydWN0Tm90RGVjbGFyZWRJbkZyYWdtZW50U2hh
ZGVyKQpAQCAtMTUxMDEsNiArMTUxODAsODYgQEAgVEVTVF9QKEdMU0xUZXN0LCBMb29wQm9keUVu
ZGluZ0luQnJhbmNoNikKICAgICBFWFBFQ1RfTkUoY29tcGlsZVJlc3VsdCwgMCk7CiB9CiAKKy8v
IFRlc3QgdGhhdCBhbGlhc2luZyBmdW5jdGlvbiBvdXQgcGFyYW1ldGVycyB3b3JrLiAgVGhlIEdM
U0wgc3BlYyBzYXlzOgorLy8KKy8vID4gQmVjYXVzZSB0aGUgZnVuY3Rpb24gd29ya3Mgd2l0aCBs
b2NhbCBjb3BpZXMgb2YgcGFyYW1ldGVycywgdGhlcmUgYXJlIG5vIGlzc3VlcyByZWdhcmRpbmcK
Ky8vID4gYWxpYXNpbmcgb2YgdmFyaWFibGVzIHdpdGhpbiBhIGZ1bmN0aW9uLgorLy8KKy8vIElu
IHRoZSB0ZXN0IGJlbG93LCB3aGlsZSB0aGUgdmFsdWUgb2YgeCBpcyB1bmtub3duIGFmdGVyIHRo
ZSBmdW5jdGlvbiBjYWxsLCB0aGUgcmVzdWx0IG9mIHRoZQorLy8gZnVuY3Rpb24gbXVzdCBkZXRl
cm1pbmlzdGljYWxseSBiZSB0cnVlLgorVEVTVF9QKEdMU0xUZXN0LCBBbGlhc2luZ0Z1bmN0aW9u
T3V0UGFyYW1zKQoreworICAgIGNvbnN0ZXhwciBjaGFyIGtGU1tdID0gUiIocHJlY2lzaW9uIGhp
Z2hwIGZsb2F0OworCitjb25zdCB2ZWM0IGNvbG9yR3JlZW4gPSB2ZWM0KDAuLDEuLDAuLDEuKTsK
K2NvbnN0IHZlYzQgY29sb3JSZWQgICA9IHZlYzQoMS4sMC4sMC4sMS4pOworCitib29sIG91dFBh
cmFtZXRlcnNBcmVEaXN0aW5jdChvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkpIHsKKyAgICB4ID0g
MS4wOworICAgIHkgPSAyLjA7CisgICAgcmV0dXJuIHggPT0gMS4wICYmIHkgPT0gMi4wOworfQor
dm9pZCBtYWluKCkgeworICAgIGZsb2F0IHggPSAwLjA7CisgICAgZ2xfRnJhZ0NvbG9yID0gb3V0
UGFyYW1ldGVyc0FyZURpc3RpbmN0KHgsIHgpID8gY29sb3JHcmVlbiA6IGNvbG9yUmVkOworfQor
KSI7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHRlc3RQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2
czo6U2ltcGxlKCksIGtGUyk7CisgICAgZHJhd1F1YWQodGVzdFByb2dyYW0sIGVzc2wzX3NoYWRl
cnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYsIDEuMGYsIHRydWUpOworICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9S
KCk7Cit9CisKKy8vIFRlc3QgdGhhdCBhbGlhc2luZyBmdW5jdGlvbiBpbm91dCBwYXJhbWV0ZXJz
IHdvcmsuCitURVNUX1AoR0xTTFRlc3QsIEFsaWFzaW5nRnVuY3Rpb25Jbk91dFBhcmFtcykKK3sK
KyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSA9IFIiKHByZWNpc2lvbiBoaWdocCBmbG9hdDsKKwor
Y29uc3QgdmVjNCBjb2xvckdyZWVuID0gdmVjNCgwLiwxLiwwLiwxLik7Citjb25zdCB2ZWM0IGNv
bG9yUmVkICAgPSB2ZWM0KDEuLDAuLDAuLDEuKTsKKworYm9vbCBpbm91dFBhcmFtZXRlcnNBcmVE
aXN0aW5jdChpbm91dCBmbG9hdCB4LCBpbm91dCBmbG9hdCB5KSB7CisgICAgeCA9IDEuMDsKKyAg
ICB5ID0gMi4wOworICAgIHJldHVybiB4ID09IDEuMCAmJiB5ID09IDIuMDsKK30KK3ZvaWQgbWFp
bigpIHsKKyAgICBmbG9hdCB4ID0gMC4wOworICAgIGdsX0ZyYWdDb2xvciA9IGlub3V0UGFyYW1l
dGVyc0FyZURpc3RpbmN0KHgsIHgpID8gY29sb3JHcmVlbiA6IGNvbG9yUmVkOworfQorKSI7CisK
KyAgICBBTkdMRV9HTF9QUk9HUkFNKHRlc3RQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2lt
cGxlKCksIGtGUyk7CisgICAgZHJhd1F1YWQodGVzdFByb2dyYW0sIGVzc2wzX3NoYWRlcnM6OlBv
c2l0aW9uQXR0cmliKCksIDAuNWYsIDEuMGYsIHRydWUpOworICAgIEVYUEVDVF9QSVhFTF9DT0xP
Ul9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7Cit9
CisKKy8vIFRlc3QgdGhhdCBhbGlhc2luZyBmdW5jdGlvbiBvdXQgcGFyYW1ldGVyIHdpdGggYSBn
bG9iYWwgd29ya3MuCitURVNUX1AoR0xTTFRlc3QsIEFsaWFzaW5nRnVuY3Rpb25PdXRQYXJhbUFu
ZEdsb2JhbCkKK3sKKyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSA9IFIiKHByZWNpc2lvbiBoaWdo
cCBmbG9hdDsKKworY29uc3QgdmVjNCBjb2xvckdyZWVuID0gdmVjNCgwLiwxLiwwLiwxLik7Citj
b25zdCB2ZWM0IGNvbG9yUmVkICAgPSB2ZWM0KDEuLDAuLDAuLDEuKTsKKworZmxvYXQgeCA9IDEu
MDsKK2Jvb2wgb3V0UGFyYW1ldGVyc0FyZURpc3RpbmN0RnJvbUdsb2JhbChvdXQgZmxvYXQgeSkg
eworICAgIHkgPSAyLjA7CisgICAgcmV0dXJuIHggPT0gMS4wICYmIHkgPT0gMi4wOworfQordm9p
ZCBtYWluKCkgeworICAgIGdsX0ZyYWdDb2xvciA9IG91dFBhcmFtZXRlcnNBcmVEaXN0aW5jdEZy
b21HbG9iYWwoeCkgPyBjb2xvckdyZWVuIDogY29sb3JSZWQ7Cit9CispIjsKKworICAgIEFOR0xF
X0dMX1BST0dSQU0odGVzdFByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwga0ZT
KTsKKyAgICBkcmF3UXVhZCh0ZXN0UHJvZ3JhbSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRy
aWIoKSwgMC41ZiwgMS4wZiwgdHJ1ZSk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAs
IEdMQ29sb3I6OmdyZWVuKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKK30KKwogfSAgLy8g
YW5vbnltb3VzIG5hbWVzcGFjZQogCiBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMl9BTkRfRVMz
X0FORChHTFNMVGVzdCwgV2l0aEdsc2xhbmcoRVMyX1ZVTEtBTigpKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvSW1hZ2VUZXN0LmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9JbWFnZVRlc3QuY3Bw
CmluZGV4IDdiODEyMDZmMzYyYTIwZDIzOGUwNmRmMDY4NDFjOWJlMmY4NmY0ZmMuLjVkYmU4ZTBm
ZWMzZTQzYzA0ZGI1NGU2OWM4OTlkYTMyYTFiZTUyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9JbWFnZVRlc3QuY3BwCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9JbWFnZVRlc3QuY3BwCkBAIC0z
OSw2ICszOSw3IEBAIGNvbnN0ZXhwciBjaGFyIGtDdWJlbWFwRXh0W10gICAgICAgICAgICAgICAg
ICAgICA9ICJFR0xfS0hSX2dsX3RleHR1cmVfY3ViZW1hcF9pCiBjb25zdGV4cHIgY2hhciBrSW1h
Z2VHTENvbG9yc3BhY2VFeHRbXSAgICAgICAgICAgPSAiRUdMX0VYVF9pbWFnZV9nbF9jb2xvcnNw
YWNlIjsKIGNvbnN0ZXhwciBjaGFyIGtFR0xJbWFnZUFycmF5RXh0W10gICAgICAgICAgICAgICA9
ICJHTF9FWFRfRUdMX2ltYWdlX2FycmF5IjsKIGNvbnN0ZXhwciBjaGFyIGtFR0xBbmRyb2lkSW1h
Z2VOYXRpdmVCdWZmZXJFeHRbXSA9ICJFR0xfQU5EUk9JRF9pbWFnZV9uYXRpdmVfYnVmZmVyIjsK
K2NvbnN0ZXhwciBjaGFyIGtFR0xJbWFnZVN0b3JhZ2VFeHRbXSAgICAgICAgICAgICA9ICJHTF9F
WFRfRUdMX2ltYWdlX3N0b3JhZ2UiOwogY29uc3RleHByIEVHTGludCBrRGVmYXVsdEF0dHJpYnNb
XSAgICAgICAgICAgICAgID0gewogICAgIEVHTF9JTUFHRV9QUkVTRVJWRUQsCiAgICAgRUdMX1RS
VUUsCkBAIC05MSw3ICs5MiwxMiBAQCBHTHVieXRlIGtMaW5lYXJDb2xvckN1YmVbXSA9IHs3NSwg
MTM1LCAyMDUsIDI1NSwgMjAxLCA4OSwgIDEzMywgMjU1LCAxMTEsIDIwMSwgMQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMzAsIDkwLCAgMjMwLCAyNTUsIDE4MCwgMjEwLCA3MCwgIDI1
NSwgNzcsICAxMTEsIDk5LCAgMjU1fTsKIEdMdWJ5dGUga1NyZ2JDb2xvckN1YmVbXSAgID0gezE4
LCA2MiwgMTU1LCAyNTUsIDE0OSwgMjYsICA2MCwgMjU1LCA0MSwgMTQ5LCAzOCwgMjU1LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMsICAyNiwgMjAyLCAyNTUsIDExNywgMTY0LCAxNiwg
MjU1LCAxOSwgNDEsICAzMiwgMjU1fTsKK0dMZmxvYXQga0N1YmVGYWNlWFtdICAgICAgID0gezEu
MCwgLTEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wfTsKK0dMZmxvYXQga0N1YmVGYWNlWVtdICAgICAg
ID0gezAuMCwgMC4wLCAxLjAsIC0xLjAsIDAuMCwgMC4wfTsKK0dMZmxvYXQga0N1YmVGYWNlWltd
ICAgICAgID0gezAuMCwgMC4wLCAwLjAsIDAuMCwgMS4wLCAtMS4wfTsKKwogY29uc3RleHByIGlu
dCBrQ29sb3JzcGFjZUF0dHJpYnV0ZUluZGV4ID0gMjsKK2NvbnN0ZXhwciBzaXplX3Qga0N1YmVG
YWNlQ291bnQgICAgICAgICA9IDY7CiAKIGNvbnN0ZXhwciBpbnQgQUhBUkRXQVJFQlVGRkVSX0ZP
Uk1BVF9SOEc4QjhBOF9VTk9STSAgPSAxOwogY29uc3RleHByIGludCBBSEFSRFdBUkVCVUZGRVJf
Rk9STUFUX0QyNF9VTk9STSAgICAgICA9IDB4MzE7CkBAIC0xMzcsNiArMTQzLDIwIEBAIGNsYXNz
IEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAgICAgICIgICAgZ2xfUG9zaXRp
b24gPSB2ZWM0KHBvc2l0aW9uLnh5LCAwLjAsIDEuMCk7XG4iCiAgICAgICAgICAgICAiICAgIHRl
eGNvb3JkID0gKHBvc2l0aW9uLnh5ICogMC41KSArIDAuNTtcbiIKICAgICAgICAgICAgICJ9XG4i
OworICAgICAgICBjb25zdGV4cHIgY2hhciBrVlNDdWJlW10gPQorICAgICAgICAgICAgIiN2ZXJz
aW9uIDMwMCBlc1xuIgorICAgICAgICAgICAgImluIHZlYzQgcG9zaXRpb247XG4iCisgICAgICAg
ICAgICAidm9pZCBtYWluKClcbiIKKyAgICAgICAgICAgICJ7XG4iCisgICAgICAgICAgICAiICAg
IGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbi54eSwgMC4wLCAxLjApO1xuIgorICAgICAgICAg
ICAgIn1cbiI7CisgICAgICAgIGNvbnN0ZXhwciBjaGFyIGtWU0N1YmVBcnJheVtdID0KKyAgICAg
ICAgICAgICIjdmVyc2lvbiAzMTAgZXNcbiIKKyAgICAgICAgICAgICJpbiB2ZWM0IHBvc2l0aW9u
O1xuIgorICAgICAgICAgICAgInZvaWQgbWFpbigpXG4iCisgICAgICAgICAgICAie1xuIgorICAg
ICAgICAgICAgIiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zaXRpb24ueHksIDAuMCwgMS4wKTtc
biIKKyAgICAgICAgICAgICJ9XG4iOwogICAgICAgICBjb25zdGV4cHIgY2hhciBrVlNFU1NMM1td
ID0KICAgICAgICAgICAgICIjdmVyc2lvbiAzMDAgZXNcbiIKICAgICAgICAgICAgICJwcmVjaXNp
b24gaGlnaHAgZmxvYXQ7XG4iCkBAIC0xNzAsNiArMTkwLDI4IEBAIGNsYXNzIEltYWdlVGVzdCA6
IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAgICAgICJ7XG4iCiAgICAgICAgICAgICAiICAgIGZy
YWdDb2xvciA9IHRleHR1cmUodGV4MkRBcnJheSwgdmVjMyh0ZXhjb29yZC54LCB0ZXhjb29yZC55
LCBmbG9hdChsYXllcikpKTtcbiIKICAgICAgICAgICAgICJ9XG4iOworICAgICAgICBjb25zdGV4
cHIgY2hhciBrVGV4dHVyZUN1YmVGU1tdID0KKyAgICAgICAgICAgICIjdmVyc2lvbiAzMDAgZXNc
biIKKyAgICAgICAgICAgICJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4iCisgICAgICAgICAgICAi
dW5pZm9ybSBoaWdocCBzYW1wbGVyQ3ViZSB0ZXhDdWJlO1xuIgorICAgICAgICAgICAgInVuaWZv
cm0gdmVjMyBmYWNlQ29vcmQ7XG4iCisgICAgICAgICAgICAib3V0IHZlYzQgZnJhZ0NvbG9yO1xu
IgorICAgICAgICAgICAgInZvaWQgbWFpbigpXG4iCisgICAgICAgICAgICAie1xuIgorICAgICAg
ICAgICAgIiAgICBmcmFnQ29sb3IgPSB0ZXh0dXJlKHRleEN1YmUsIGZhY2VDb29yZCk7XG4iCisg
ICAgICAgICAgICAifVxuIjsKKyAgICAgICAgY29uc3RleHByIGNoYXIga1RleHR1cmVDdWJlQXJy
YXlGU1tdID0KKyAgICAgICAgICAgICIjdmVyc2lvbiAzMTAgZXNcbiIKKyAgICAgICAgICAgICIj
ZXh0ZW5zaW9uIEdMX09FU190ZXh0dXJlX2N1YmVfbWFwX2FycmF5IDogcmVxdWlyZVxuIgorICAg
ICAgICAgICAgInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiIKKyAgICAgICAgICAgICJ1bmlmb3Jt
IGhpZ2hwIHNhbXBsZXJDdWJlQXJyYXkgdGV4Q3ViZUFycmF5O1xuIgorICAgICAgICAgICAgInVu
aWZvcm0gdmVjMyBmYWNlQ29vcmQ7XG4iCisgICAgICAgICAgICAidW5pZm9ybSB1aW50IGxheWVy
O1xuIgorICAgICAgICAgICAgIm91dCB2ZWM0IGZyYWdDb2xvcjtcbiIKKyAgICAgICAgICAgICJ2
b2lkIG1haW4oKVxuIgorICAgICAgICAgICAgIntcbiIKKyAgICAgICAgICAgICIgICAgZnJhZ0Nv
bG9yID0gdGV4dHVyZSh0ZXhDdWJlQXJyYXksIHZlYzQoZmFjZUNvb3JkLCBmbG9hdChsYXllcikp
KTtcbiIKKyAgICAgICAgICAgICJ9XG4iOwogICAgICAgICBjb25zdGV4cHIgY2hhciBrVGV4dHVy
ZUV4dGVybmFsRlNbXSA9CiAgICAgICAgICAgICAiI2V4dGVuc2lvbiBHTF9PRVNfRUdMX2ltYWdl
X2V4dGVybmFsIDogcmVxdWlyZVxuIgogICAgICAgICAgICAgInByZWNpc2lvbiBoaWdocCBmbG9h
dDtcbiIKQEAgLTI2OCw2ICszMTAsMzQgQEAgY2xhc3MgSW1hZ2VUZXN0IDogcHVibGljIEFOR0xF
VGVzdAogICAgICAgICAgICAgbVJlbmRlcllVVlVuaWZvcm1Mb2NhdGlvbiA9IGdsR2V0VW5pZm9y
bUxvY2F0aW9uKG1SZW5kZXJZVVZQcm9ncmFtLCAidV9jb2xvciIpOwogICAgICAgICB9CiAKKyAg
ICAgICAgaWYgKElzR0xFeHRlbnNpb25FbmFibGVkKGtFR0xJbWFnZVN0b3JhZ2VFeHQpKQorICAg
ICAgICB7CisgICAgICAgICAgICBtQ3ViZVRleHR1cmVQcm9ncmFtID0gQ29tcGlsZVByb2dyYW0o
a1ZTQ3ViZSwga1RleHR1cmVDdWJlRlMpOworICAgICAgICAgICAgaWYgKG1DdWJlVGV4dHVyZVBy
b2dyYW0gPT0gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBGQUlMKCkgPDwgInNo
YWRlciBjb21waWxhdGlvbiBmYWlsZWQuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1D
dWJlVGV4dHVyZVVuaWZvcm1Mb2NhdGlvbiA9IGdsR2V0VW5pZm9ybUxvY2F0aW9uKG1DdWJlVGV4
dHVyZVByb2dyYW0sICJ0ZXhDdWJlIik7CisgICAgICAgICAgICBtQ3ViZVRleHR1cmVGYWNlQ29v
cmRVbmlmb3JtTG9jYXRpb24gPQorICAgICAgICAgICAgICAgIGdsR2V0VW5pZm9ybUxvY2F0aW9u
KG1DdWJlVGV4dHVyZVByb2dyYW0sICJmYWNlQ29vcmQiKTsKKworICAgICAgICAgICAgaWYgKChn
ZXRDbGllbnRNYWpvclZlcnNpb24oKSA+PSAzICYmIGdldENsaWVudE1pbm9yVmVyc2lvbigpID49
IDEpICYmCisgICAgICAgICAgICAgICAgSXNHTEV4dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF90ZXh0
dXJlX2N1YmVfbWFwX2FycmF5IikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbUN1
YmVBcnJheVRleHR1cmVQcm9ncmFtID0gQ29tcGlsZVByb2dyYW0oa1ZTQ3ViZUFycmF5LCBrVGV4
dHVyZUN1YmVBcnJheUZTKTsKKyAgICAgICAgICAgICAgICBpZiAobUN1YmVBcnJheVRleHR1cmVQ
cm9ncmFtID09IDApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBGQUlM
KCkgPDwgInNoYWRlciBjb21waWxhdGlvbiBmYWlsZWQuIjsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgbUN1YmVBcnJheVRleHR1cmVVbmlmb3JtTG9jYXRpb24gPQorICAgICAg
ICAgICAgICAgICAgICBnbEdldFVuaWZvcm1Mb2NhdGlvbihtQ3ViZUFycmF5VGV4dHVyZVByb2dy
YW0sICJ0ZXhDdWJlQXJyYXkiKTsKKyAgICAgICAgICAgICAgICBtQ3ViZUFycmF5VGV4dHVyZUZh
Y2VDb29yZFVuaWZvcm1Mb2NhdGlvbiA9CisgICAgICAgICAgICAgICAgICAgIGdsR2V0VW5pZm9y
bUxvY2F0aW9uKG1DdWJlQXJyYXlUZXh0dXJlUHJvZ3JhbSwgImZhY2VDb29yZCIpOworICAgICAg
ICAgICAgICAgIG1DdWJlQXJyYXlUZXh0dXJlTGF5ZXJVbmlmb3JtTG9jYXRpb24gPQorICAgICAg
ICAgICAgICAgICAgICBnbEdldFVuaWZvcm1Mb2NhdGlvbihtQ3ViZUFycmF5VGV4dHVyZVByb2dy
YW0sICJsYXllciIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgQVNTRVJU
X0dMX05PX0VSUk9SKCk7CiAgICAgfQogCkBAIC00NjIsNiArNTMyLDIxIEBAIGNsYXNzIEltYWdl
VGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAg
ICAgfQogCisgICAgdm9pZCBjcmVhdGVFR0xJbWFnZVRhcmdldFRleHR1cmVTdG9yYWdlKEVHTElt
YWdlS0hSIGltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTGVudW0gdGFyZ2V0VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xUZXh0dXJlICZ0YXJnZXRUZXh0dXJlKQorICAgIHsKKyAgICAgICAgLy8gQ3Jl
YXRlIGEgdGFyZ2V0IHRleHR1cmUgZnJvbSB0aGUgaW1hZ2UKKyAgICAgICAgZ2xCaW5kVGV4dHVy
ZSh0YXJnZXRUeXBlLCB0YXJnZXRUZXh0dXJlKTsKKyAgICAgICAgZ2xFR0xJbWFnZVRhcmdldFRl
eFN0b3JhZ2VFWFQodGFyZ2V0VHlwZSwgaW1hZ2UsIG51bGxwdHIpOworCisgICAgICAgIC8vIERp
c2FibGUgbWlwbWFwcGluZworICAgICAgICBnbFRleFBhcmFtZXRlcmkodGFyZ2V0VHlwZSwgR0xf
VEVYVFVSRV9NSU5fRklMVEVSLCBHTF9ORUFSRVNUKTsKKyAgICAgICAgZ2xUZXhQYXJhbWV0ZXJp
KHRhcmdldFR5cGUsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTkVBUkVTVCk7CisKKyAgICAg
ICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisgICAgfQorCiAgICAgc2l6ZV90IGdldExheWVyUGl0
Y2goc2l6ZV90IGhlaWdodCwgc2l6ZV90IHJvd1N0cmlkZSkKICAgICB7CiAgICAgICAgIC8vIFVu
ZG9jdW1lbnRlZCBhbGlnbm1lbnQgb2YgbGF5ZXIgc3RyaWRlLiAgVGhpcyBpcyBwb3RlbnRpYWxs
eSBwbGF0Zm9ybSBkZXBlbmRlbnQsIGJ1dApAQCAtNTYwLDggKzY0NSwxMCBAQCBjbGFzcyBJbWFn
ZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAKICAgICBlbnVtIEFIQlVzYWdlCiAgICAgewotICAg
ICAgICBrQUhCVXNhZ2VHUFVTYW1wbGVkSW1hZ2UgPSAxIDw8IDAsCi0gICAgICAgIGtBSEJVc2Fn
ZUdQVUZyYW1lYnVmZmVyICA9IDEgPDwgMSwKKyAgICAgICAga0FIQlVzYWdlR1BVU2FtcGxlZElt
YWdlICAgPSAxIDw8IDAsCisgICAgICAgIGtBSEJVc2FnZUdQVUZyYW1lYnVmZmVyICAgID0gMSA8
PCAxLAorICAgICAgICBrQUhCVXNhZ2VHUFVDdWJlTWFwICAgICAgICA9IDEgPDwgMiwKKyAgICAg
ICAga0FIQlVzYWdlR1BVTWlwTWFwQ29tcGxldGUgPSAxIDw8IDMsCiAgICAgfTsKIAogICAgIGNv
bnN0ZXhwciBzdGF0aWMgdWludDMyX3Qga0RlZmF1bHRBSEJVc2FnZSA9IGtBSEJVc2FnZUdQVVNh
bXBsZWRJbWFnZSB8IGtBSEJVc2FnZUdQVUZyYW1lYnVmZmVyOwpAQCAtNTkwLDYgKzY3NywxNCBA
QCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgICAgIHsKICAgICAgICAg
ICAgIGFIYXJkd2FyZUJ1ZmZlckRlc2NyaXB0aW9uLnVzYWdlIHw9IEFIQVJEV0FSRUJVRkZFUl9V
U0FHRV9HUFVfRlJBTUVCVUZGRVI7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKCh1c2FnZSAmIGtB
SEJVc2FnZUdQVUN1YmVNYXApICE9IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGFIYXJkd2Fy
ZUJ1ZmZlckRlc2NyaXB0aW9uLnVzYWdlIHw9IEFIQVJEV0FSRUJVRkZFUl9VU0FHRV9HUFVfQ1VC
RV9NQVA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCh1c2FnZSAmIGtBSEJVc2FnZUdQVU1pcE1h
cENvbXBsZXRlKSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBhSGFyZHdhcmVCdWZmZXJE
ZXNjcmlwdGlvbi51c2FnZSB8PSBBSEFSRFdBUkVCVUZGRVJfVVNBR0VfR1BVX01JUE1BUF9DT01Q
TEVURTsKKyAgICAgICAgfQogICAgICAgICBhSGFyZHdhcmVCdWZmZXJEZXNjcmlwdGlvbi5zdHJp
ZGUgPSAwOwogICAgICAgICBhSGFyZHdhcmVCdWZmZXJEZXNjcmlwdGlvbi5yZnUwICAgPSAwOwog
ICAgICAgICBhSGFyZHdhcmVCdWZmZXJEZXNjcmlwdGlvbi5yZnUxICAgPSAwOwpAQCAtNzQ3LDYg
Kzg0MiwzMCBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG0yREFycmF5VGV4dHVyZVVuaWZvcm1Mb2NhdGlvbik7CiAgICAg
fQogCisgICAgdm9pZCB2ZXJpZnlSZXN1bHRzQ3ViZShHTFRleHR1cmUgJnRleHR1cmUsIGNvbnN0
IEdMdWJ5dGUgZGF0YVs0XSwgdWludDMyX3QgZmFjZUluZGV4ID0gMCkKKyAgICB7CisgICAgICAg
IGdsVXNlUHJvZ3JhbShtQ3ViZVRleHR1cmVQcm9ncmFtKTsKKyAgICAgICAgZ2xVbmlmb3JtM2Yo
bUN1YmVUZXh0dXJlRmFjZUNvb3JkVW5pZm9ybUxvY2F0aW9uLCBrQ3ViZUZhY2VYW2ZhY2VJbmRl
eF0sCisgICAgICAgICAgICAgICAgICAgIGtDdWJlRmFjZVlbZmFjZUluZGV4XSwga0N1YmVGYWNl
WltmYWNlSW5kZXhdKTsKKworICAgICAgICB2ZXJpZnlSZXN1bHRzVGV4dHVyZSh0ZXh0dXJlLCBk
YXRhLCBHTF9URVhUVVJFX0NVQkVfTUFQLCBtQ3ViZVRleHR1cmVQcm9ncmFtLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtQ3ViZVRleHR1cmVVbmlmb3JtTG9jYXRpb24pOworICAgIH0K
KworICAgIHZvaWQgdmVyaWZ5UmVzdWx0c0N1YmVBcnJheShHTFRleHR1cmUgJnRleHR1cmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMdWJ5dGUgZGF0YVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmFjZUluZGV4ICA9IDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxheWVySW5kZXggPSAwKQor
ICAgIHsKKyAgICAgICAgZ2xVc2VQcm9ncmFtKG1DdWJlQXJyYXlUZXh0dXJlUHJvZ3JhbSk7Cisg
ICAgICAgIGdsVW5pZm9ybTF1aShtQ3ViZUFycmF5VGV4dHVyZUxheWVyVW5pZm9ybUxvY2F0aW9u
LCBsYXllckluZGV4KTsKKyAgICAgICAgZ2xVbmlmb3JtM2YobUN1YmVBcnJheVRleHR1cmVGYWNl
Q29vcmRVbmlmb3JtTG9jYXRpb24sIGtDdWJlRmFjZVhbZmFjZUluZGV4XSwKKyAgICAgICAgICAg
ICAgICAgICAga0N1YmVGYWNlWVtmYWNlSW5kZXhdLCBrQ3ViZUZhY2VaW2ZhY2VJbmRleF0pOwor
CisgICAgICAgIHZlcmlmeVJlc3VsdHNUZXh0dXJlKHRleHR1cmUsIGRhdGEsIEdMX1RFWFRVUkVf
Q1VCRV9NQVBfQVJSQVksIG1DdWJlQXJyYXlUZXh0dXJlUHJvZ3JhbSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbUN1YmVBcnJheVRleHR1cmVVbmlmb3JtTG9jYXRpb24pOworICAgIH0K
KwogICAgIHZvaWQgdmVyaWZ5UmVzdWx0c0V4dGVybmFsKEdMVGV4dHVyZSAmdGV4dHVyZSwgY29u
c3QgR0x1Ynl0ZSBkYXRhWzRdKQogICAgIHsKICAgICAgICAgdmVyaWZ5UmVzdWx0c1RleHR1cmUo
dGV4dHVyZSwgZGF0YSwgR0xfVEVYVFVSRV9FWFRFUk5BTF9PRVMsIG1UZXh0dXJlRXh0ZXJuYWxQ
cm9ncmFtLApAQCAtOTM2LDYgKzEwNTUsOCBAQCBjbGFzcyBJbWFnZVRlc3QgOiBwdWJsaWMgQU5H
TEVUZXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtFR0xB
bmRyb2lkSW1hZ2VOYXRpdmVCdWZmZXJFeHQpOwogICAgIH0KIAorICAgIGJvb2wgaGFzRWdsSW1h
Z2VTdG9yYWdlRXh0KCkgY29uc3QgeyByZXR1cm4gSXNHTEV4dGVuc2lvbkVuYWJsZWQoa0VHTElt
YWdlU3RvcmFnZUV4dCk7IH0KKwogICAgIGJvb2wgaGFzQW5kcm9pZEhhcmR3YXJlQnVmZmVyU3Vw
cG9ydCgpIGNvbnN0CiAgICAgewogI2lmIGRlZmluZWQoQU5HTEVfQUhBUkRXQVJFX0JVRkZFUl9T
VVBQT1JUKQpAQCAtMTAxMSw5ICsxMTMyLDE2IEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBB
TkdMRVRlc3QKICAgICB9OwogICAgIEdMdWludCBtVGV4dHVyZVByb2dyYW07CiAgICAgR0x1aW50
IG0yREFycmF5VGV4dHVyZVByb2dyYW07CisgICAgR0x1aW50IG1DdWJlVGV4dHVyZVByb2dyYW07
CisgICAgR0x1aW50IG1DdWJlQXJyYXlUZXh0dXJlUHJvZ3JhbTsKICAgICBHTGludCBtVGV4dHVy
ZVVuaWZvcm1Mb2NhdGlvbjsKICAgICBHTHVpbnQgbTJEQXJyYXlUZXh0dXJlVW5pZm9ybUxvY2F0
aW9uOwogICAgIEdMdWludCBtMkRBcnJheVRleHR1cmVMYXllclVuaWZvcm1Mb2NhdGlvbjsKKyAg
ICBHTHVpbnQgbUN1YmVUZXh0dXJlVW5pZm9ybUxvY2F0aW9uOworICAgIEdMdWludCBtQ3ViZVRl
eHR1cmVGYWNlQ29vcmRVbmlmb3JtTG9jYXRpb247CisgICAgR0x1aW50IG1DdWJlQXJyYXlUZXh0
dXJlVW5pZm9ybUxvY2F0aW9uOworICAgIEdMdWludCBtQ3ViZUFycmF5VGV4dHVyZUZhY2VDb29y
ZFVuaWZvcm1Mb2NhdGlvbjsKKyAgICBHTHVpbnQgbUN1YmVBcnJheVRleHR1cmVMYXllclVuaWZv
cm1Mb2NhdGlvbjsKIAogICAgIEdMdWludCBtVGV4dHVyZUV4dGVybmFsUHJvZ3JhbSAgICAgICAg
PSAwOwogICAgIEdMaW50IG1UZXh0dXJlRXh0ZXJuYWxVbmlmb3JtTG9jYXRpb24gPSAtMTsKQEAg
LTEwMzEsNiArMTE1OSw5IEBAIGNsYXNzIEltYWdlVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKIGNs
YXNzIEltYWdlVGVzdEVTMyA6IHB1YmxpYyBJbWFnZVRlc3QKIHt9OwogCitjbGFzcyBJbWFnZVRl
c3RFUzMxIDogcHVibGljIEltYWdlVGVzdAore307CisKIC8vIFRlc3RzIHRoYXQgdGhlIGV4dGVu
c2lvbiBpcyBleHBvc2VkIG9uIHRoZSBwbGF0Zm9ybXMgd2UgdGhpbmsgaXQgc2hvdWxkIGJlLiBQ
bGVhc2UgbW9kaWZ5IHRoaXMgYXMKIC8vIHlvdSBjaGFuZ2UgZXh0ZW5zaW9uIGF2YWlsYWJpbGl0
eS4KIFRFU1RfUChJbWFnZVRlc3QsIEFOR0xFRXh0ZW5zaW9uQXZhaWxhYmlsaXR5KQpAQCAtMTY1
Miw2ICsxNzgzLDUyIEBAIFRFU1RfUChJbWFnZVRlc3QsIFZhbGlkYXRpb25HTEVHTEltYWdlRXh0
ZXJuYWxFU1NMMykKICAgICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKIH0KIAorLy8gQ2hlY2sgdmFs
aWRhdGlvbiBmcm9tIHRoZSBHTF9FWFRfRUdMX2ltYWdlX3N0b3JhZ2UgZXh0ZW5zaW9uCitURVNU
X1AoSW1hZ2VUZXN0LCBWYWxpZGF0aW9uR0xFR0xJbWFnZVN0b3JhZ2UpCit7CisgICAgQU5HTEVf
U0tJUF9URVNUX0lGKCFoYXNFZ2xJbWFnZVN0b3JhZ2VFeHQoKSk7CisKKyAgICAvLyBNYWtlIHN1
cmUgdGhpcyBleHRlbnNpb24gaXMgbm90IGV4cG9zZWQgd2l0aG91dCBFUzMuCisgICAgQVNTRVJU
X0dFKGdldENsaWVudE1ham9yVmVyc2lvbigpLCAzKTsKKworICAgIEFOR0xFX1NLSVBfVEVTVF9J
RighaGFzT0VTRXh0KCkgfHwgIWhhc0Jhc2VFeHQoKSB8fCAhaGFzMkRUZXh0dXJlRXh0KCkpOwor
CisgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQorICAgIEdMVGV4dHVyZSBzb3VyY2UyRDsKKyAgICBF
R0xJbWFnZUtIUiBpbWFnZTJEOworICAgIGNyZWF0ZUVHTEltYWdlMkRUZXh0dXJlU291cmNlKDEs
IDEsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIGtEZWZhdWx0QXR0cmlicywga0xpbmVhckNv
bG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTJELCAmaW1hZ2Uy
RCk7CisKKyAgICAvLyA8dGFyZ2V0PiBtdXN0IGJlIG9uZSBvZiBHTF9URVhUVVJFXzJELCBHTF9U
RVhUVVJFXzJEX0FSUkFZLCBHTF9URVhUVVJFXzNELAorICAgIC8vIEdMX1RFWFRVUkVfQ1VCRV9N
QVAsIEdMX1RFWFRVUkVfQ1VCRV9NQVBfQVJSQVkuICBPbiBPcGVuR0wgaW1wbGVtZW50YXRpb25z
CisgICAgLy8gKG5vbi1FUyksIDx0YXJnZXQ+IGNhbiBhbHNvIGJlIEdMX1RFWFRVUkVfMUQgb3Ig
R0xfVEVYVFVSRV8xRF9BUlJBWS4KKyAgICAvLyBJZiB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9y
dHMgT0VTX0VHTF9pbWFnZV9leHRlcm5hbCwgPHRhcmdldD4gY2FuIGJlCisgICAgLy8gR0xfVEVY
VFVSRV9FWFRFUk5BTF9PRVMKKyAgICBnbEVHTEltYWdlVGFyZ2V0VGV4U3RvcmFnZUVYVChHTF9U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsIGltYWdlMkQsIG51bGxwdHIpOworICAgIEVYUEVD
VF9HTF9FUlJPUihHTF9JTlZBTElEX0VOVU0pOworCisgICAgLy8gSWYgPGltYWdlPiBpcyBOVUxM
LCB0aGUgZXJyb3IgSU5WQUxJRF9WQUxVRSBpcyBnZW5lcmF0ZWQuICBJZiA8aW1hZ2U+IGlzCisg
ICAgLy8gbmVpdGhlciBOVUxMIG5vciBhIHZhbGlkIHZhbHVlLCB0aGUgYmVoYXZpb3IgaXMgdW5k
ZWZpbmVkLCB1cCB0byBhbmQKKyAgICAvLyBpbmNsdWRpbmcgcHJvZ3JhbSB0ZXJtaW5hdGlvbi4K
KyAgICBnbEVHTEltYWdlVGFyZ2V0VGV4U3RvcmFnZUVYVChHTF9URVhUVVJFXzJELCBudWxscHRy
LCBudWxscHRyKTsKKyAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7CisKKyAg
ICAvLyBJZiB0aGUgR0wgaXMgdW5hYmxlIHRvIHNwZWNpZnkgYSB0ZXh0dXJlIG9iamVjdCB1c2lu
ZyB0aGUgc3VwcGxpZWQKKyAgICAvLyBlZ2xJbWFnZU9FUyA8aW1hZ2U+IHRoZSBlcnJvciBJTlZB
TElEX09QRVJBVElPTiBpcyBnZW5lcmF0ZWQuCisgICAgZ2xFR0xJbWFnZVRhcmdldFRleFN0b3Jh
Z2VFWFQoR0xfVEVYVFVSRV8zRCwgaW1hZ2UyRCwgbnVsbHB0cik7CisgICAgRVhQRUNUX0dMX0VS
Uk9SKEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIEdMaW50IG5vbk51bGxBdHRyaWJbMV0g
PSB7R0xfVEVYVFVSRV8yRH07CisKKyAgICAvLyBJZiA8YXR0cmliX2xpc3Q+IGlzIG5laXRoZXIg
TlVMTCBub3IgYSBwb2ludGVyIHRvIHRoZSB2YWx1ZSBHTF9OT05FLCB0aGUKKyAgICAvLyBlcnJv
ciBJTlZBTElEX1ZBTFVFIGlzIGdlbmVyYXRlZC4KKyAgICBnbEVHTEltYWdlVGFyZ2V0VGV4U3Rv
cmFnZUVYVChHTF9URVhUVVJFXzJELCBpbWFnZTJELCBub25OdWxsQXR0cmliKTsKKyAgICBFWFBF
Q1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7CisKKyAgICAvLyBDbGVhbiB1cAorICAgIGVn
bERlc3Ryb3lJbWFnZUtIUihnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpLCBpbWFnZTJEKTsK
K30KKwogVEVTVF9QKEltYWdlVGVzdCwgU291cmNlMkRUYXJnZXQyRCkKIHsKICAgICBTb3VyY2Uy
RFRhcmdldDJEX2hlbHBlcihrRGVmYXVsdEF0dHJpYnMpOwpAQCAtMTY5NCw2ICsxODcxLDM1IEBA
IHZvaWQgSW1hZ2VUZXN0OjpTb3VyY2UyRFRhcmdldDJEX2hlbHBlcihjb25zdCBFR0xpbnQgKmF0
dHJpYnMpCiAgICAgZWdsRGVzdHJveUltYWdlS0hSKHdpbmRvdy0+Z2V0RGlzcGxheSgpLCBpbWFn
ZSk7CiB9CiAKKy8vIFRyeSB0byBvcnBoYW4gaW1hZ2UgY3JlYXRlZCB3aXRoIHRoZSBHTF9FWFRf
RUdMX2ltYWdlX3N0b3JhZ2UgZXh0ZW5zaW9uCitURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2Uy
RFRhcmdldDJEU3RvcmFnZU9ycGhhbikKK3sKKyAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVH
TFdpbmRvdygpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzT0VTRXh0KCkgfHwgIWhhc0Jh
c2VFeHQoKSB8fCAhaGFzMkRUZXh0dXJlRXh0KCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRigh
aGFzRWdsSW1hZ2VTdG9yYWdlRXh0KCkpOworCisgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQorICAg
IEdMVGV4dHVyZSBzb3VyY2U7CisgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7CisgICAgY3JlYXRlRUdM
SW1hZ2UyRFRleHR1cmVTb3VyY2UoMSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwga0Rl
ZmF1bHRBdHRyaWJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19j
YXN0PHZvaWQgKj4oJmtMaW5lYXJDb2xvciksIHNvdXJjZSwgJmltYWdlKTsKKworICAgIC8vIENy
ZWF0ZSB0aGUgdGFyZ2V0CisgICAgR0xUZXh0dXJlIHRhcmdldDsKKyAgICBjcmVhdGVFR0xJbWFn
ZVRhcmdldFRleHR1cmVTdG9yYWdlKGltYWdlLCBHTF9URVhUVVJFXzJELCB0YXJnZXQpOworCisg
ICAgLy8gRXhwZWN0IHRoYXQgdGhlIHRhcmdldCB0ZXh0dXJlIGhhcyB0aGUgc2FtZSBjb2xvciBh
cyB0aGUgc291cmNlIHRleHR1cmUKKyAgICB2ZXJpZnlSZXN1bHRzMkQodGFyZ2V0LCBrTGluZWFy
Q29sb3IpOworCisgICAgLy8gVHJ5IHRvIG9ycGhhbiB0aGlzIHRhcmdldCB0ZXh0dXJlCisgICAg
Z2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0YXJnZXQpOworICAgIGdsVGV4SW1hZ2UyRChH
TF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCAxLCAxLCAwLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9C
WVRFLCBrTGluZWFyQ29sb3IpOworICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX09QRVJB
VElPTik7CisKKyAgICAvLyBDbGVhbiB1cAorICAgIGVnbERlc3Ryb3lJbWFnZUtIUih3aW5kb3ct
PmdldERpc3BsYXkoKSwgaW1hZ2UpOworfQorCiAvLyBDcmVhdGUgdGFyZ2V0IHRleHR1cmUgZnJv
bSBFR0wgaW1hZ2UgYW5kIHRoZW4gdHJpZ2dlciB0ZXh0dXJlIHJlc3BlY2lmaWNhdGlvbi4KIFRF
U1RfUChJbWFnZVRlc3QsIFNvdXJjZTJEVGFyZ2V0MkRUYXJnZXRUZXh0dXJlUmVzcGVjaWZ5Q29s
b3JzcGFjZSkKIHsKQEAgLTMyNDYsNiArMzQ1MiwyMTggQEAgdm9pZCBJbWFnZVRlc3Q6OlNvdXJj
ZUFIQlRhcmdldEV4dGVybmFsRVNTTDNfaGVscGVyKGNvbnN0IEVHTGludCAqYXR0cmlicykKICAg
ICBkZXN0cm95QW5kcm9pZEhhcmR3YXJlQnVmZmVyKHNvdXJjZSk7CiB9CiAKKy8vIFRlc3Rpbmcg
c291cmNlIG11bHRpLWxheWVyZWQgQUhCIEVHTCBpbWFnZSwgdGFyZ2V0IDJEIGFycmF5IHRleHR1
cmUKK1RFU1RfUChJbWFnZVRlc3RFUzMsIFNvdXJjZUFIQkFycmF5VGFyZ2V0MkRBcnJheSkKK3sK
KyAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVHTFdpbmRvdygpOworCisgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc0FuZHJvaWQoKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFoYXNPRVNF
eHQoKSB8fCAhaGFzQmFzZUV4dCgpIHx8ICFoYXMyRFRleHR1cmVFeHQoKSB8fAorICAgICAgICAg
ICAgICAgICAgICAgICAhaGFzRWdsSW1hZ2VBcnJheUV4dCgpKTsKKyAgICBBTkdMRV9TS0lQX1RF
U1RfSUYoIWhhc0FuZHJvaWRJbWFnZU5hdGl2ZUJ1ZmZlckV4dCgpIHx8ICFoYXNBbmRyb2lkSGFy
ZHdhcmVCdWZmZXJTdXBwb3J0KCkpOworCisgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQorICAgIEFI
YXJkd2FyZUJ1ZmZlciAqc291cmNlOworICAgIEVHTEltYWdlS0hSIGltYWdlOworICAgIGNvbnN0
ZXhwciBzaXplX3Qga0RlcHRoID0gMjsKKyAgICBjcmVhdGVFR0xJbWFnZUFuZHJvaWRIYXJkd2Fy
ZUJ1ZmZlclNvdXJjZSgxLCAxLCBrRGVwdGgsIEFIQVJEV0FSRUJVRkZFUl9GT1JNQVRfUjhHOEI4
QThfVU5PUk0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
a0RlZmF1bHRBSEJVc2FnZSwga0RlZmF1bHRBdHRyaWJzLCB7fSwgJnNvdXJjZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW1hZ2UpOworCisgICAgLy8g
Q3JlYXRlIGEgdGV4dHVyZSB0YXJnZXQgdG8gYmluZCB0aGUgZWdsIGltYWdlCisgICAgR0xUZXh0
dXJlIHRhcmdldDsKKyAgICBjcmVhdGVFR0xJbWFnZVRhcmdldFRleHR1cmUyREFycmF5KGltYWdl
LCB0YXJnZXQpOworCisgICAgLy8gVXBsb2FkIHRleHR1cmUgZGF0YQorICAgIGdsVGV4U3ViSW1h
Z2UzRChHTF9URVhUVVJFXzJEX0FSUkFZLCAwLCAwLCAwLCAwLCAxLCAxLCBrRGVwdGgsIEdMX1JH
QkEsIEdMX1VOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgICAgIGtMaW5lYXJDb2xvcjNE
KTsKKworICAgIC8vIFVzZSB0ZXh0dXJlIHRhcmdldCBib3VuZCB0byBlZ2wgaW1hZ2UgYXMgc291
cmNlIGFuZCByZW5kZXIgdG8gZnJhbWVidWZmZXIKKyAgICBmb3IgKHNpemVfdCBsYXllciA9IDA7
IGxheWVyIDwga0RlcHRoOyBsYXllcisrKQorICAgIHsKKyAgICAgICAgLy8gRXhwZWN0IHRoYXQg
dGhlIHRhcmdldCB0ZXh0dXJlIGhhcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgc291cmNlIHRleHR1
cmUKKyAgICAgICAgdmVyaWZ5UmVzdWx0czJEQXJyYXkodGFyZ2V0LCAma0xpbmVhckNvbG9yM0Rb
bGF5ZXIgKiA0XSwgbGF5ZXIpOworICAgIH0KKworICAgIC8vIENsZWFuIHVwCisgICAgZWdsRGVz
dHJveUltYWdlS0hSKHdpbmRvdy0+Z2V0RGlzcGxheSgpLCBpbWFnZSk7CisgICAgZGVzdHJveUFu
ZHJvaWRIYXJkd2FyZUJ1ZmZlcihzb3VyY2UpOworfQorCisvLyBUZXN0aW5nIHNvdXJjZSBjdWJl
bWFwIEFIQiBFR0wgaW1hZ2UsIHRhcmdldCBjdWJlbWFwIHRleHR1cmUKK1RFU1RfUChJbWFnZVRl
c3RFUzMsIFNvdXJjZUFIQkN1YmVUYXJnZXRDdWJlKQoreworICAgIEVHTFdpbmRvdyAqd2luZG93
ID0gZ2V0RUdMV2luZG93KCk7CisKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzQW5kcm9pZCgp
KTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0VnbEltYWdlU3RvcmFnZUV4dCgpKTsKKyAg
ICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0FuZHJvaWRJbWFnZU5hdGl2ZUJ1ZmZlckV4dCgpIHx8
ICFoYXNBbmRyb2lkSGFyZHdhcmVCdWZmZXJTdXBwb3J0KCkpOworCisgICAgLy8gQ3JlYXRlIHRo
ZSBJbWFnZQorICAgIEFIYXJkd2FyZUJ1ZmZlciAqc291cmNlOworICAgIEVHTEltYWdlS0hSIGlt
YWdlOworICAgIGNyZWF0ZUVHTEltYWdlQW5kcm9pZEhhcmR3YXJlQnVmZmVyU291cmNlKAorICAg
ICAgICAxLCAxLCBrQ3ViZUZhY2VDb3VudCwgQUhBUkRXQVJFQlVGRkVSX0ZPUk1BVF9SOEc4QjhB
OF9VTk9STSwKKyAgICAgICAga0RlZmF1bHRBSEJVc2FnZSB8IGtBSEJVc2FnZUdQVUN1YmVNYXAs
IGtEZWZhdWx0QXR0cmlicywge30sICZzb3VyY2UsICZpbWFnZSk7CisKKyAgICAvLyBDcmVhdGUg
YSB0ZXh0dXJlIHRhcmdldCB0byBiaW5kIHRoZSBlZ2wgaW1hZ2UKKyAgICBHTFRleHR1cmUgdGFy
Z2V0OworICAgIGNyZWF0ZUVHTEltYWdlVGFyZ2V0VGV4dHVyZVN0b3JhZ2UoaW1hZ2UsIEdMX1RF
WFRVUkVfQ1VCRV9NQVAsIHRhcmdldCk7CisKKyAgICAvLyBVcGxvYWQgdGV4dHVyZSBkYXRhCisg
ICAgZm9yIChzaXplX3QgZmFjZUlkeCA9IDA7IGZhY2VJZHggPCBrQ3ViZUZhY2VDb3VudDsgZmFj
ZUlkeCsrKQorICAgIHsKKyAgICAgICAgZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWCArIGZhY2VJZHgsIDAsIDAsIDAsIDEsIDEsIEdMX1JHQkEsCisgICAgICAg
ICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAma0xpbmVhckNvbG9yQ3ViZVtmYWNl
SWR4ICogNF0pOworICAgICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICB9CisKKyAgICAv
LyBVc2UgdGV4dHVyZSB0YXJnZXQgYm91bmQgdG8gZWdsIGltYWdlIGFzIHNvdXJjZSBhbmQgcmVu
ZGVyIHRvIGZyYW1lYnVmZmVyCisgICAgZm9yIChzaXplX3QgZmFjZUlkeCA9IDA7IGZhY2VJZHgg
PCBrQ3ViZUZhY2VDb3VudDsgZmFjZUlkeCsrKQorICAgIHsKKyAgICAgICAgLy8gRXhwZWN0IHRo
YXQgdGhlIHRhcmdldCB0ZXh0dXJlIGhhcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgc291cmNlIHRl
eHR1cmUKKyAgICAgICAgdmVyaWZ5UmVzdWx0c0N1YmUodGFyZ2V0LCAma0xpbmVhckNvbG9yQ3Vi
ZVtmYWNlSWR4ICogNF0sIGZhY2VJZHgpOworICAgIH0KKworICAgIC8vIENsZWFuIHVwCisgICAg
ZWdsRGVzdHJveUltYWdlS0hSKHdpbmRvdy0+Z2V0RGlzcGxheSgpLCBpbWFnZSk7CisgICAgZGVz
dHJveUFuZHJvaWRIYXJkd2FyZUJ1ZmZlcihzb3VyY2UpOworfQorCisvLyBUZXN0aW5nIHNvdXJj
ZSBjdWJlbWFwIGFycmF5IEFIQiBFR0wgaW1hZ2UsIHRhcmdldCBjdWJlbWFwIGFycmF5IHRleHR1
cmUKK1RFU1RfUChJbWFnZVRlc3RFUzMxLCBTb3VyY2VBSEJDdWJlQXJyYXlUYXJnZXRDdWJlQXJy
YXkpCit7CisgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKKworICAgIEFO
R0xFX1NLSVBfVEVTVF9JRighSXNBbmRyb2lkKCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRigh
KGdldENsaWVudE1ham9yVmVyc2lvbigpID49IDMgJiYgZ2V0Q2xpZW50TWlub3JWZXJzaW9uKCkg
Pj0gMSkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzRWdsSW1hZ2VTdG9yYWdlRXh0KCkg
fHwKKyAgICAgICAgICAgICAgICAgICAgICAgIUlzR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRf
dGV4dHVyZV9jdWJlX21hcF9hcnJheSIpKTsKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0Fu
ZHJvaWRJbWFnZU5hdGl2ZUJ1ZmZlckV4dCgpIHx8ICFoYXNBbmRyb2lkSGFyZHdhcmVCdWZmZXJT
dXBwb3J0KCkpOworCisgICAgLy8gQ3JlYXRlIHRoZSBJbWFnZQorICAgIEFIYXJkd2FyZUJ1ZmZl
ciAqc291cmNlOworICAgIEVHTEltYWdlS0hSIGltYWdlOworICAgIGNvbnN0ZXhwciBzaXplX3Qg
a0RlcHRoID0ga0N1YmVGYWNlQ291bnQgKiAyOworICAgIGNyZWF0ZUVHTEltYWdlQW5kcm9pZEhh
cmR3YXJlQnVmZmVyU291cmNlKDEsIDEsIGtEZXB0aCwgQUhBUkRXQVJFQlVGRkVSX0ZPUk1BVF9S
OEc4QjhBOF9VTk9STSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBrRGVmYXVsdEFIQlVzYWdlIHwga0FIQlVzYWdlR1BVQ3ViZU1hcCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdEF0dHJpYnMsIHt9LCAm
c291cmNlLCAmaW1hZ2UpOworCisgICAgLy8gQ3JlYXRlIGEgdGV4dHVyZSB0YXJnZXQgdG8gYmlu
ZCB0aGUgZWdsIGltYWdlCisgICAgR0xUZXh0dXJlIHRhcmdldDsKKyAgICBjcmVhdGVFR0xJbWFn
ZVRhcmdldFRleHR1cmVTdG9yYWdlKGltYWdlLCBHTF9URVhUVVJFX0NVQkVfTUFQX0FSUkFZLCB0
YXJnZXQpOworCisgICAgLy8gVXBsb2FkIHRleHR1cmUgZGF0YQorICAgIGZvciAoc2l6ZV90IGZh
Y2VJZHggPSAwOyBmYWNlSWR4IDwga0N1YmVGYWNlQ291bnQ7IGZhY2VJZHgrKykKKyAgICB7Cisg
ICAgICAgIGdsVGV4U3ViSW1hZ2UzRChHTF9URVhUVVJFX0NVQkVfTUFQX0FSUkFZLCAwLCAwLCAw
LCBmYWNlSWR4LCAxLCAxLCAxLCBHTF9SR0JBLAorICAgICAgICAgICAgICAgICAgICAgICAgR0xf
VU5TSUdORURfQllURSwgJmtMaW5lYXJDb2xvckN1YmVbZmFjZUlkeCAqIDRdKTsKKyAgICAgICAg
Z2xUZXhTdWJJbWFnZTNEKEdMX1RFWFRVUkVfQ1VCRV9NQVBfQVJSQVksIDAsIDAsIDAsIDExIC0g
ZmFjZUlkeCwgMSwgMSwgMSwgR0xfUkdCQSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsICZrTGluZWFyQ29sb3JDdWJlW2ZhY2VJZHggKiA0XSk7CisgICAgICAgIEFT
U0VSVF9HTF9OT19FUlJPUigpOworICAgIH0KKworICAgIC8vIFVzZSB0ZXh0dXJlIHRhcmdldCBi
b3VuZCB0byBlZ2wgaW1hZ2UgYXMgc291cmNlIGFuZCByZW5kZXIgdG8gZnJhbWVidWZmZXIKKyAg
ICBmb3IgKHNpemVfdCBmYWNlSWR4ID0gMDsgZmFjZUlkeCA8IGtDdWJlRmFjZUNvdW50OyBmYWNl
SWR4KyspCisgICAgeworICAgICAgICAvLyBFeHBlY3QgdGhhdCB0aGUgdGFyZ2V0IHRleHR1cmUg
aGFzIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSBzb3VyY2UgdGV4dHVyZQorICAgICAgICB2ZXJpZnlS
ZXN1bHRzQ3ViZUFycmF5KHRhcmdldCwgJmtMaW5lYXJDb2xvckN1YmVbZmFjZUlkeCAqIDRdLCBm
YWNlSWR4LCAwKTsKKyAgICAgICAgdmVyaWZ5UmVzdWx0c0N1YmVBcnJheSh0YXJnZXQsICZrTGlu
ZWFyQ29sb3JDdWJlWyg1IC0gZmFjZUlkeCkgKiA0XSwgZmFjZUlkeCwgMSk7CisgICAgfQorCisg
ICAgLy8gQ2xlYW4gdXAKKyAgICBlZ2xEZXN0cm95SW1hZ2VLSFIod2luZG93LT5nZXREaXNwbGF5
KCksIGltYWdlKTsKKyAgICBkZXN0cm95QW5kcm9pZEhhcmR3YXJlQnVmZmVyKHNvdXJjZSk7Cit9
CisKKy8vIFRlc3Rpbmcgc291cmNlIDJEIEFIQiB3aXRoIG1pcG1hcCBFR0wgaW1hZ2UsIHRhcmdl
dCAyRCB0ZXh0dXJlIHdpdGggbWlwbWFwCitURVNUX1AoSW1hZ2VUZXN0RVMzLCBTb3VyY2VBSEJN
aXBUYXJnZXQyRE1pcCkKK3sKKyAgICBFR0xXaW5kb3cgKndpbmRvdyA9IGdldEVHTFdpbmRvdygp
OworCisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0FuZHJvaWQoKSk7CisgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFoYXNFZ2xJbWFnZVN0b3JhZ2VFeHQoKSk7CisgICAgQU5HTEVfU0tJUF9URVNU
X0lGKCFoYXNBbmRyb2lkSW1hZ2VOYXRpdmVCdWZmZXJFeHQoKSB8fCAhaGFzQW5kcm9pZEhhcmR3
YXJlQnVmZmVyU3VwcG9ydCgpKTsKKworICAgIC8vIENyZWF0ZSB0aGUgSW1hZ2UKKyAgICBBSGFy
ZHdhcmVCdWZmZXIgKnNvdXJjZTsKKyAgICBFR0xJbWFnZUtIUiBpbWFnZTsKKyAgICBjcmVhdGVF
R0xJbWFnZUFuZHJvaWRIYXJkd2FyZUJ1ZmZlclNvdXJjZSgyLCAyLCAxLCBBSEFSRFdBUkVCVUZG
RVJfRk9STUFUX1I4RzhCOEE4X1VOT1JNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGtEZWZhdWx0QUhCVXNhZ2UgfCBrQUhCVXNhZ2VHUFVNaXBNYXBDb21w
bGV0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrRGVm
YXVsdEF0dHJpYnMsIHt9LCAmc291cmNlLCAmaW1hZ2UpOworCisgICAgLy8gQ3JlYXRlIGEgdGV4
dHVyZSB0YXJnZXQgdG8gYmluZCB0aGUgZWdsIGltYWdlCisgICAgR0xUZXh0dXJlIHRhcmdldDsK
KyAgICBjcmVhdGVFR0xJbWFnZVRhcmdldFRleHR1cmVTdG9yYWdlKGltYWdlLCBHTF9URVhUVVJF
XzJELCB0YXJnZXQpOworCisgICAgLy8gVXBsb2FkIHRleHR1cmUgZGF0YQorICAgIC8vIFNldCBN
aXAgbGV2ZWwgMCB0byBvbmUgY29sb3IKKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxHTENvbG9yPiBr
UmVkRGF0YSg0LCBHTENvbG9yOjpyZWQpOworICAgIGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJF
XzJELCAwLCAwLCAwLCAyLCAyLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCBrUmVkRGF0YS5k
YXRhKCkpOworCisgICAgLy8gU2V0IE1pcCBsZXZlbCAxIHRvIGEgZGlmZmVyZW50IGNvbG9yCisg
ICAgY29uc3Qgc3RkOjp2ZWN0b3I8R0xDb2xvcj4ga0dyZWVuRGF0YSgxLCBHTENvbG9yOjpncmVl
bik7CisgICAgZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDEsIDAsIDAsIDEsIDEsIEdM
X1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIGtHcmVlbkRhdGEuZGF0YSgpKTsKKworICAgIC8vIFVz
ZSB0ZXh0dXJlIHRhcmdldCBib3VuZCB0byBlZ2wgaW1hZ2UgYXMgc291cmNlIGFuZCByZW5kZXIg
dG8gZnJhbWVidWZmZXIKKyAgICAvLyBFeHBlY3QgdGhhdCB0aGUgdGFyZ2V0IHRleHR1cmUgaGFz
IHRoZSBzYW1lIGNvbG9yIGFzIHRoZSBjb3JyZXNwb25kaW5nIG1pcCBsZXZlbCBpbiB0aGUKKyAg
ICAvLyBzb3VyY2UgdGV4dHVyZQorICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBH
TF9URVhUVVJFX0JBU0VfTEVWRUwsIDApOworICAgIGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJF
XzJELCBHTF9URVhUVVJFX01BWF9MRVZFTCwgMCk7CisgICAgdmVyaWZ5UmVzdWx0czJEKHRhcmdl
dCwgR0xDb2xvcjo6cmVkLmRhdGEoKSk7CisKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVS
RV8yRCwgR0xfVEVYVFVSRV9CQVNFX0xFVkVMLCAxKTsKKyAgICBnbFRleFBhcmFtZXRlcmkoR0xf
VEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NQVhfTEVWRUwsIDEpOworICAgIHZlcmlmeVJlc3VsdHMy
RCh0YXJnZXQsIEdMQ29sb3I6OmdyZWVuLmRhdGEoKSk7CisKKyAgICAvLyBDbGVhbiB1cAorICAg
IGVnbERlc3Ryb3lJbWFnZUtIUih3aW5kb3ctPmdldERpc3BsYXkoKSwgaW1hZ2UpOworICAgIGRl
c3Ryb3lBbmRyb2lkSGFyZHdhcmVCdWZmZXIoc291cmNlKTsKK30KKworLy8gVGVzdCBnbEdlbmVy
YXRlTWlwbWFwIGFuZCBHTF9FWFRfRUdMX2ltYWdlX3N0b3JhZ2UgaW50ZXJhY3Rpb24KK1RFU1Rf
UChJbWFnZVRlc3RFUzMsIFNvdXJjZUFIQk1pcFRhcmdldDJETWlwR2VuZXJhdGVNaXBtYXApCit7
CisgICAgRUdMV2luZG93ICp3aW5kb3cgPSBnZXRFR0xXaW5kb3coKTsKKworICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighSXNBbmRyb2lkKCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzRWds
SW1hZ2VTdG9yYWdlRXh0KCkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzQW5kcm9pZElt
YWdlTmF0aXZlQnVmZmVyRXh0KCkgfHwgIWhhc0FuZHJvaWRIYXJkd2FyZUJ1ZmZlclN1cHBvcnQo
KSk7CisKKyAgICAvLyBDcmVhdGUgdGhlIEltYWdlCisgICAgQUhhcmR3YXJlQnVmZmVyICpzb3Vy
Y2U7CisgICAgRUdMSW1hZ2VLSFIgaW1hZ2U7CisgICAgY3JlYXRlRUdMSW1hZ2VBbmRyb2lkSGFy
ZHdhcmVCdWZmZXJTb3VyY2UoMiwgMiwgMSwgQUhBUkRXQVJFQlVGRkVSX0ZPUk1BVF9SOEc4QjhB
OF9VTk9STSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBr
RGVmYXVsdEFIQlVzYWdlIHwga0FIQlVzYWdlR1BVTWlwTWFwQ29tcGxldGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRBdHRyaWJzLCB7fSwg
JnNvdXJjZSwgJmltYWdlKTsKKworICAgIC8vIENyZWF0ZSBhIHRleHR1cmUgdGFyZ2V0IHRvIGJp
bmQgdGhlIGVnbCBpbWFnZQorICAgIEdMVGV4dHVyZSB0YXJnZXQ7CisgICAgY3JlYXRlRUdMSW1h
Z2VUYXJnZXRUZXh0dXJlU3RvcmFnZShpbWFnZSwgR0xfVEVYVFVSRV8yRCwgdGFyZ2V0KTsKKwor
ICAgIC8vIFVwbG9hZCB0ZXh0dXJlIGRhdGEKKyAgICAvLyBTZXQgTWlwIGxldmVsIDAgdG8gb25l
IGNvbG9yCisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8R0xDb2xvcj4ga1JlZERhdGEoNCwgR0xDb2xv
cjo6cmVkKTsKKyAgICBnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgMCwgMCwgMiwg
MiwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwga1JlZERhdGEuZGF0YSgpKTsKKworICAgIC8v
IFNldCBNaXAgbGV2ZWwgMSB0byBhIGRpZmZlcmVudCBjb2xvcgorICAgIGNvbnN0IHN0ZDo6dmVj
dG9yPEdMQ29sb3I+IGtHcmVlbkRhdGEoMSwgR0xDb2xvcjo6Z3JlZW4pOworICAgIGdsVGV4U3Vi
SW1hZ2UyRChHTF9URVhUVVJFXzJELCAxLCAwLCAwLCAxLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05F
RF9CWVRFLCBrR3JlZW5EYXRhLmRhdGEoKSk7CisKKyAgICAvLyBHZW5lcmF0ZSBtaXBtYXAgbGV2
ZWwgMQorICAgIGdsR2VuZXJhdGVNaXBtYXAoR0xfVEVYVFVSRV8yRCk7CisKKyAgICAvLyBVc2Ug
bWlwbWFwIGxldmVsIDEgb2YgdGV4dHVyZSB0YXJnZXQgYm91bmQgdG8gZWdsIGltYWdlIGFzIHNv
dXJjZSBhbmQgcmVuZGVyIHRvIGZyYW1lYnVmZmVyCisgICAgLy8gRXhwZWN0IHRoYXQgdGhlIHRh
cmdldCB0ZXh0dXJlIGhhcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgbWlwIGxldmVsIDAgaW4gdGhl
IHNvdXJjZSB0ZXh0dXJlCisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RF
WFRVUkVfQkFTRV9MRVZFTCwgMSk7CisgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQs
IEdMX1RFWFRVUkVfTUFYX0xFVkVMLCAxKTsKKyAgICB2ZXJpZnlSZXN1bHRzMkQodGFyZ2V0LCBH
TENvbG9yOjpyZWQuZGF0YSgpKTsKKworICAgIC8vIENsZWFuIHVwCisgICAgZWdsRGVzdHJveUlt
YWdlS0hSKHdpbmRvdy0+Z2V0RGlzcGxheSgpLCBpbWFnZSk7CisgICAgZGVzdHJveUFuZHJvaWRI
YXJkd2FyZUJ1ZmZlcihzb3VyY2UpOworfQorCiAvLyBDcmVhdGUgYSBkZXB0aCBmb3JtYXQgQUhC
IGJhY2tlZCBFR0wgaW1hZ2UgYW5kIHZlcmlmeSB0aGF0IHRoZSBpbWFnZSdzIGFzcGVjdCBpcyBo
b25vcmVkCiBURVNUX1AoSW1hZ2VUZXN0LCBTb3VyY2VBSEJUYXJnZXQyRERlcHRoKQogewpAQCAt
NDYxMyw0ICs1MDMxLDUgQEAgQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzJfQU5EX0VTMyhJbWFn
ZVRlc3QpOwogCiBHVEVTVF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1Qo
SW1hZ2VUZXN0RVMzKTsKIEFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfRVMzKEltYWdlVGVzdEVTMyk7
CitBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMzEoSW1hZ2VUZXN0RVMzMSk7CiB9ICAvLyBuYW1l
c3BhY2UgYW5nbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9nbF90ZXN0cy9JbmNvbXBsZXRlVGV4dHVyZVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0luY29tcGxldGVUZXh0dXJlVGVzdC5jcHAKaW5kZXgg
MDA3ZDFiOTdhNDY4M2M0MTRhMjI4OWY4ZDEzOTY0MmNjMGQ2YWRmNC4uMGM4NzkwYmUwNmI2Mzg2
NGRjYzQyOTY4ZjU1ZmMxMWY3MWU5YTg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0luY29tcGxldGVUZXh0dXJlVGVzdC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL0luY29tcGxldGVUZXh0
dXJlVGVzdC5jcHAKQEAgLTI0Miw2ICsyNDIsNTYgQEAgdm9pZCBtYWluKCkKICAgICBFWFBFQ1Rf
UElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6YmxhY2spOwogfQogCisvLyBUaGlzIG1pcnJv
cnMgYSBzY2VuYXJpbyBzZWVuIGluIEdGWEJlbmNoIENhciBDaGFzZSB3aGVyZSBhCisvLyBkZWZh
dWx0IENVQkVfTUFQX0FSUkFZIHRleHR1cmUgaXMgdXNlZCB3aXRob3V0IGJlaW5nIHNldHVwLgor
Ly8gSXRzIGVuZHMgdXAgc2FtcGxpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIHRleHR1cmUuCitURVNU
X1AoSW5jb21wbGV0ZVRleHR1cmVUZXN0RVMzMSwgSW5jb21wbGV0ZVRleHR1cmVDdWJlTWFwQXJy
YXkpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xf
RVhUX3RleHR1cmVfY3ViZV9tYXBfYXJyYXkiKSk7CisKKyAgICBjb25zdGV4cHIgY2hhciBrVlNb
XSA9CisgICAgICAgIFIiKCN2ZXJzaW9uIDMxMCBlcworICAgICAgICBwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKKyAgICAgICAgaW4gdmVjMyBwb3M7CisgICAgICAgIHZvaWQgbWFpbigpIHsKKyAg
ICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3MsIDEuMCk7CisgICAgICAgIH0pIjsKKwor
ICAgIGNvbnN0ZXhwciBjaGFyIGtGU1tdID0KKyAgICAgICAgUiIoI3ZlcnNpb24gMzEwIGVzCisg
ICAgICAgICNleHRlbnNpb24gR0xfRVhUX3RleHR1cmVfY3ViZV9tYXBfYXJyYXkgOiBlbmFibGUK
KyAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgIG91dCB2ZWM0IGNvbG9y
OworICAgICAgICB1bmlmb3JtIGxvd3Agc2FtcGxlckN1YmVBcnJheSB1VGV4OworICAgICAgICB2
b2lkIG1haW4oKXsKKyAgICAgICAgICAgIHZlYzQgb3V0Q29sb3IgPSB2ZWM0KDAuMCk7CisKKyAg
ICAgICAgICAgIC8vIFB1bGwgYSBjb2xvciBmcm9tIGVhY2ggY3ViZSBmYWNlIHRvIGVuc3VyZSB0
aGV5IGFyZSBhbGwgaW5pdGlhbGl6ZWQKKyAgICAgICAgICAgIG91dENvbG9yICs9IHRleHR1cmUo
dVRleCwgdmVjNCgxLjAsIDAuMCwgMC4wLCAwLjApKTsKKyAgICAgICAgICAgIG91dENvbG9yICs9
IHRleHR1cmUodVRleCwgdmVjNCgtMS4wLCAwLjAsIDAuMCwgMC4wKSk7CisgICAgICAgICAgICBv
dXRDb2xvciArPSB0ZXh0dXJlKHVUZXgsIHZlYzQoMC4wLCAxLjAsIDAuMCwgMC4wKSk7CisgICAg
ICAgICAgICBvdXRDb2xvciArPSB0ZXh0dXJlKHVUZXgsIHZlYzQoMC4wLCAtMS4wLCAwLjAsIDAu
MCkpOworICAgICAgICAgICAgb3V0Q29sb3IgKz0gdGV4dHVyZSh1VGV4LCB2ZWM0KDAuMCwgMC4w
LCAxLjAsIDAuMCkpOworICAgICAgICAgICAgb3V0Q29sb3IgKz0gdGV4dHVyZSh1VGV4LCB2ZWM0
KDAuMCwgMC4wLCAtMS4wLCAwLjApKTsKKworICAgICAgICAgICAgY29sb3IgPSBvdXRDb2xvcjsK
KyAgICAgICAgfSkiOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBrVlMsIGtGUyk7
CisgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgZ2xVbmlmb3JtMWkoZ2xHZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbSwgInVUZXgiKSwgMCk7CisgICAgZ2xBY3RpdmVUZXh0dXJlKEdM
X1RFWFRVUkUwKTsKKworICAgIC8vIEJpbmQgdGhlIGRlZmF1bHQgdGV4dHVyZSBhbmQgZG9uJ3Qg
c2V0IGl0IHVwLiBUaGlzIGVuZHMgdXAgYmVpbmcgaW5jb21wbGV0ZS4KKyAgICBnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfQ1VCRV9NQVBfQVJSQVksIDApOworCisgICAgZHJhd1F1YWQocHJvZ3Jh
bSwgInBvcyIsIDAuNWYsIDEuMGYsIHRydWUpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwor
CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIGFuZ2xlOjpHTENvbG9yOjpibGFjayk7
Cit9CisKIC8vIFZlcmlmaWVzIHRoYXQgYW4gaW5jb21wbGV0ZSBpbnRlZ2VyIHRleHR1cmUgaGFz
IGEgc2lnbmVkIGludGVnZXIgdHlwZSBkZWZhdWx0IHZhbHVlLgogVEVTVF9QKEluY29tcGxldGVU
ZXh0dXJlVGVzdEVTMywgSW50ZWdlclR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUHJvZ3JhbVBpcGVsaW5lVGVzdC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUHJvZ3JhbVBpcGVsaW5l
VGVzdC5jcHAKaW5kZXggNjc2MWFjY2VmOTY1M2Y1Y2IyOWM5YWMzMGM4MDEzNzM5N2JkNjgzYS4u
ODMzZTEzZjY0ZTFhMjY5Mzk4ZDhhZjVmM2U3MTczZTcwMjQ3MzBhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1Byb2dyYW1QaXBlbGluZVRl
c3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Q
cm9ncmFtUGlwZWxpbmVUZXN0LmNwcApAQCAtMjUzLDEyICsyNTMsMjUgQEAgR0x1aW50IGNyZWF0
ZVNoYWRlclByb2dyYW0oR0xlbnVtIHR5cGUsIGNvbnN0IEdMY2hhciAqc2hhZGVyU3RyaW5nKQog
ICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJnNoYWRlclN0cmluZywgbnVsbHB0cik7CiAg
ICAgZ2xDb21waWxlU2hhZGVyKHNoYWRlcik7CiAKKyAgICBHTGludCBjb21waWxlZDsKKyAgICBn
bEdldFNoYWRlcml2KHNoYWRlciwgR0xfQ09NUElMRV9TVEFUVVMsICZjb21waWxlZCk7CisKKyAg
ICBpZiAoIWNvbXBpbGVkKQorICAgIHsKKyAgICAgICAgR0xpbnQgaW5mb0xvZ0xlbmd0aDsKKyAg
ICAgICAgZ2xHZXRTaGFkZXJpdihzaGFkZXIsIEdMX0lORk9fTE9HX0xFTkdUSCwgJmluZm9Mb2dM
ZW5ndGgpOworICAgICAgICBzdGQ6OnZlY3RvcjxHTGNoYXI+IGluZm9Mb2coaW5mb0xvZ0xlbmd0
aCk7CisgICAgICAgIGdsR2V0U2hhZGVySW5mb0xvZyhzaGFkZXIsIGluZm9Mb2dMZW5ndGgsIE5V
TEwsIGluZm9Mb2cuZGF0YSgpKTsKKyAgICAgICAgSU5GTygpIDw8ICJDb21waWxhdGlvbiBmYWls
ZWQ6XG4iCisgICAgICAgICAgICAgICA8PCBpbmZvTG9nLmRhdGEoKSA8PCAiXG4gZm9yIHNoYWRl
cjpcbic8PCBzaGFkZXJTdHJpbmcgPDwgJ1xuIjsKKyAgICAgICAgZ2xEZWxldGVTaGFkZXIoc2hh
ZGVyKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiAgICAgR0x1aW50IHByb2dyYW0gPSBn
bENyZWF0ZVByb2dyYW0oKTsKIAogICAgIGlmIChwcm9ncmFtKQogICAgIHsKLSAgICAgICAgR0xp
bnQgY29tcGlsZWQ7Ci0gICAgICAgIGdsR2V0U2hhZGVyaXYoc2hhZGVyLCBHTF9DT01QSUxFX1NU
QVRVUywgJmNvbXBpbGVkKTsKICAgICAgICAgZ2xQcm9ncmFtUGFyYW1ldGVyaShwcm9ncmFtLCBH
TF9QUk9HUkFNX1NFUEFSQUJMRSwgR0xfVFJVRSk7CiAgICAgICAgIGlmIChjb21waWxlZCkKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2ds
X3Rlc3RzL1JlYWRQaXhlbHNUZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90
ZXN0cy9nbF90ZXN0cy9SZWFkUGl4ZWxzVGVzdC5jcHAKaW5kZXggMzNmZjhhZjBhN2E4MDA1OGQ2
MDFjNDM4ZGVhM2NkYmVkNTU3NmE4NC4uZjk2OTg4ZDc5YzcyMDYzNjMwMTg1ODc3YTZlZDc1ZDhj
MTU3ZGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2ds
X3Rlc3RzL1JlYWRQaXhlbHNUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvdGVzdHMvZ2xfdGVzdHMvUmVhZFBpeGVsc1Rlc3QuY3BwCkBAIC0xMDQxLDEwICsxMDQxLDY1
IEBAIFRFU1RfUChSZWFkUGl4ZWxzRXJyb3JUZXN0LCBSZWFkQnVmZmVySXNOb25lKQogICAgIGds
QmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBtRkJPKTsKICAgICBnbFJlYWRCdWZmZXIo
R0xfTk9ORSk7CiAgICAgc3RkOjp2ZWN0b3I8R0x1Ynl0ZT4gcGl4ZWxzKDQpOworICAgIEVYUEVD
VF9HTF9OT19FUlJPUigpOwogICAgIGdsUmVhZFBpeGVscygwLCAwLCAxLCAxLCBHTF9SR0JBLCBH
TF9VTlNJR05FRF9CWVRFLCBwaXhlbHMuZGF0YSgpKTsKICAgICBFWFBFQ1RfR0xfRVJST1IoR0xf
SU5WQUxJRF9PUEVSQVRJT04pOwogfQogCisvLyBhIHRlc3QgY2xhc3MgdG8gYmUgdXNlZCBmb3Ig
ZXJyb3IgY2hlY2tpbmcgb2YgZ2xSZWFkUGl4ZWxzIHdpdGggV2ViR0xDb21wYXRpYmlsaXR5Citj
bGFzcyBSZWFkUGl4ZWxzV2ViR0xFcnJvclRlc3QgOiBwdWJsaWMgUmVhZFBpeGVsc1Rlc3QKK3sK
KyAgcHJvdGVjdGVkOgorICAgIFJlYWRQaXhlbHNXZWJHTEVycm9yVGVzdCgpIDogbVRleHR1cmUo
MCksIG1GQk8oMCkgeyBzZXRXZWJHTENvbXBhdGliaWxpdHlFbmFibGVkKHRydWUpOyB9CisKKyAg
ICB2b2lkIHRlc3RTZXRVcCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBnbEdlblRleHR1cmVz
KDEsICZtVGV4dHVyZSk7CisgICAgICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgbVRl
eHR1cmUpOworICAgICAgICBnbFRleFN0b3JhZ2UyRChHTF9URVhUVVJFXzJELCAxLCBHTF9SR0JB
OCwgNCwgMSk7CisKKyAgICAgICAgZ2xHZW5GcmFtZWJ1ZmZlcnMoMSwgJm1GQk8pOworICAgICAg
ICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbUZCTyk7CisgICAgICAgIGdsRnJh
bWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBH
TF9URVhUVVJFXzJELCBtVGV4dHVyZSwgMCk7CisgICAgICAgIEFTU0VSVF9HTF9GUkFNRUJVRkZF
Ul9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9S
KCk7CisgICAgfQorCisgICAgdm9pZCB0ZXN0VGVhckRvd24oKSBvdmVycmlkZQorICAgIHsKKyAg
ICAgICAgZ2xEZWxldGVUZXh0dXJlcygxLCAmbVRleHR1cmUpOworICAgICAgICBnbERlbGV0ZUZy
YW1lYnVmZmVycygxLCAmbUZCTyk7CisgICAgfQorCisgICAgR0x1aW50IG1UZXh0dXJlOworICAg
IEdMdWludCBtRkJPOworfTsKKworLy8gVGVzdCB0aGF0IFdlYkdMIGNvbnRleHQgcmVhZHBpeGVs
cyBnZW5lcmF0ZXMgYW4gZXJyb3Igd2hlbiByZWFkaW5nIEdMX1VOU0lHTkVEX0lOVF8yNF84IHR5
cGUuCitURVNUX1AoUmVhZFBpeGVsc1dlYkdMRXJyb3JUZXN0LCBUeXBlSXNVbnNpZ25lZEludDI0
XzgpCit7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG1GQk8pOworICAg
IGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1F
TlQwLCBHTF9URVhUVVJFXzJELCBtVGV4dHVyZSwgMCk7CisgICAgZ2xSZWFkQnVmZmVyKEdMX0NP
TE9SX0FUVEFDSE1FTlQwKTsKKyAgICBzdGQ6OnZlY3RvcjxHTHVpbnQ+IHBpeGVscyg0KTsKKyAg
ICBFWFBFQ1RfR0xfTk9fRVJST1IoKTsKKyAgICBnbFJlYWRQaXhlbHMoMCwgMCwgMSwgMSwgR0xf
UkdCQSwgR0xfVU5TSUdORURfSU5UXzI0XzgsIHBpeGVscy5kYXRhKCkpOworICAgIEVYUEVDVF9H
TF9FUlJPUihHTF9JTlZBTElEX0VOVU0pOworfQorCisvLyBUZXN0IHRoYXQgV2ViR0wgY29udGV4
dCByZWFkcGl4ZWxzIGdlbmVyYXRlcyBhbiBlcnJvciB3aGVuIHJlYWRpbmcgR0xfREVQVEhfQ09N
UE9ORU5UIGZvcm1hdC4KK1RFU1RfUChSZWFkUGl4ZWxzV2ViR0xFcnJvclRlc3QsIEZvcm1hdElz
RGVwdGhDb21wb25lbnQpCit7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIs
IG1GQk8pOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NP
TE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJELCBtVGV4dHVyZSwgMCk7CisgICAgZ2xSZWFk
QnVmZmVyKEdMX0NPTE9SX0FUVEFDSE1FTlQwKTsKKyAgICBzdGQ6OnZlY3RvcjxHTHVieXRlPiBw
aXhlbHMoNCk7CisgICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7CisgICAgZ2xSZWFkUGl4ZWxzKDAs
IDAsIDEsIDEsIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfQllURSwgcGl4ZWxzLmRh
dGEoKSk7CisgICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfRU5VTSk7Cit9CisKIH0gIC8v
IGFub255bW91cyBuYW1lc3BhY2UKIAogLy8gVXNlIHRoaXMgdG8gc2VsZWN0IHdoaWNoIGNvbmZp
Z3VyYXRpb25zIChlLmcuIHdoaWNoIHJlbmRlcmVyLCB3aGljaCBHTEVTIG1ham9yIHZlcnNpb24p
IHRoZXNlCkBAIC0xMDY2LDMgKzExMjEsNiBAQCBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VTMyhS
ZWFkUGl4ZWxzVGV4dHVyZVRlc3QpOwogCiBHVEVTVF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJB
TUVURVJJWkVEX1RFU1QoUmVhZFBpeGVsc0Vycm9yVGVzdCk7CiBBTkdMRV9JTlNUQU5USUFURV9U
RVNUX0VTMyhSZWFkUGl4ZWxzRXJyb3JUZXN0KTsKKworR1RFU1RfQUxMT1dfVU5JTlNUQU5USUFU
RURfUEFSQU1FVEVSSVpFRF9URVNUKFJlYWRQaXhlbHNXZWJHTEVycm9yVGVzdCk7CitBTkdMRV9J
TlNUQU5USUFURV9URVNUX0VTMyhSZWFkUGl4ZWxzV2ViR0xFcnJvclRlc3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1JvYnVzdFJlc291
cmNlSW5pdFRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rl
c3RzL1JvYnVzdFJlc291cmNlSW5pdFRlc3QuY3BwCmluZGV4IGNjNzEwZTRjOGIwNTk5ZjA0NjI1
ZDI5NzM4ODU4NzU2YzY2YTM4ZDguLmM2OTYwOTU3NWNjMjhkZmE0MTZiYjk5NWU0YzM5M2NkMzNk
NzQzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90
ZXN0cy9Sb2J1c3RSZXNvdXJjZUluaXRUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvUm9idXN0UmVzb3VyY2VJbml0VGVzdC5jcHAKQEAgLTQy
Niw2ICs0MjYsMjU2IEBAIFRFU1RfUChSb2J1c3RSZXNvdXJjZUluaXRUZXN0LCBCdWZmZXJEYXRh
WmVyb1NpemUpCiAgICAgZ2xCdWZmZXJEYXRhKEdMX0FSUkFZX0JVRkZFUiwgMCwgbnVsbHB0ciwg
R0xfU1RBVElDX0RSQVcpOwogfQogCisvLyBEcmF3IG91dC1vZi1ib3VuZHMgYmVnaW5uaW5nIHdp
dGggdGhlIHN0YXJ0IG9mZnNldCBwYXNzZWQgaW4uCisvLyBFbnN1cmUgdGhhdCBkcmF3QXJyYXlz
IGZsYWdzIGVpdGhlciBubyBlcnJvciBvciBJTlZBTElEX09QRVJBVElPTi4gSW4gdGhlIGNhc2Ug
b2YKKy8vIElOVkFMSURfT1BFUkFUSU9OLCBubyBjYW52YXMgcGl4ZWxzIGNhbiBiZSB0b3VjaGVk
LiAgSW4gdGhlIGNhc2Ugb2YgTk9fRVJST1IsIGFsbCB3cml0dGVuIHZhbHVlcworLy8gbXVzdCBl
aXRoZXIgYmUgdGhlIHplcm8gdmVydGV4IG9yIGEgdmFsdWUgaW4gdGhlIHZlcnRleCBidWZmZXIu
ICBTZWUgdnNDaGVja091dE9mQm91bmRzIHNoYWRlci4KK3ZvaWQgRHJhd0FuZFZlcmlmeU91dE9m
Qm91bmRzQXJyYXlzKGludCBmaXJzdCwgaW50IGNvdW50KQoreworICAgIGdsQ2xlYXJDb2xvcigw
LjAsIDAuMCwgMS4wLCAxLjApOyAgLy8gU3RhcnQgd2l0aCBibHVlIHRvIGluZGljYXRlIG5vIHBp
eGVscyB0b3VjaGVkLgorICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCB8IEdMX0RFUFRI
X0JVRkZFUl9CSVQpOworCisgICAgZ2xEcmF3QXJyYXlzKEdMX1RSSUFOR0xFUywgZmlyc3QsIGNv
dW50KTsKKyAgICBHTGVudW0gZXJyb3IgPSBnbEdldEVycm9yKCk7CisgICAgaWYgKGVycm9yID09
IEdMX0lOVkFMSURfT1BFUkFUSU9OKQorICAgIHsKKyAgICAgICAgLy8gdGVzdFBhc3NlZC4gZHJh
d0FycmF5cyBmbGFnZ2VkIElOVkFMSURfT1BFUkFUSU9OLCB3aGljaCBpcyB2YWxpZCBzbyBsb25n
IGFzIGFsbCBjYW52YXMKKyAgICAgICAgLy8gcGl4ZWxzIHdlcmUgbm90IHRvdWNoZWQuCisgICAg
ICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpibHVlKTsKKyAgICB9Cisg
ICAgZWxzZQorICAgIHsKKyAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisgICAgICAgIC8v
IHRlc3RQYXNzZWQuIGRyYXdBcnJheXMgZmxhZ2dlZCBOT19FUlJPUiwgd2hpY2ggaXMgdmFsaWQg
c28gbG9uZyBhcyBhbGwgY2FudmFzIHBpeGVscyBhcmUKKyAgICAgICAgLy8gZ3JlZW4uCisgICAg
ICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisgICAgfQor
fQorCisvLyBBZGFwdGVkIGZyb20gV2ViR0wgdGVzdAorLy8gY29uZm9ybWFuY2UvcmVuZGVyaW5n
L291dC1vZi1ib3VuZHMtYXJyYXktYnVmZmVycy5odG1sCisvLyBUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBvdXQtb2YtYm91bmRzIGFycmF5IGJ1ZmZlcnMgYmVoYXZlIGFjY29yZGluZyB0byBzcGVj
LgorVEVTVF9QKFJvYnVzdFJlc291cmNlSW5pdFRlc3QsIE91dE9mQm91bmRzQXJyYXlCdWZmZXJz
KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaGFzR0xFeHRlbnNpb24oKSk7CisKKyAgICBj
b25zdGV4cHIgY2hhciB2c0NoZWNrT3V0T2ZCb3VuZHNbXSA9CisgICAgICAgICJwcmVjaXNpb24g
bWVkaXVtcCBmbG9hdDtcbiIKKyAgICAgICAgImF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuIgor
ICAgICAgICAiYXR0cmlidXRlIHZlYzQgdmVjUmFuZG9tO1xuIgorICAgICAgICAidmFyeWluZyB2
ZWM0IHZfY29sb3I7XG4iCisgICAgICAgICJcbiIKKyAgICAgICAgIi8vIFBlciB0aGUgc3BlYywg
ZWFjaCBjb21wb25lbnQgY2FuIGVpdGhlciBjb250YWluIGV4aXN0aW5nIGNvbnRlbnRzXG4iCisg
ICAgICAgICIvLyBvZiB0aGUgYnVmZmVyIG9yIDAuXG4iCisgICAgICAgICJib29sIHRlc3RGbG9h
dENvbXBvbmVudChmbG9hdCBjb21wb25lbnQpIHtcbiIKKyAgICAgICAgIiAgIHJldHVybiAoY29t
cG9uZW50ID09IDAuMiB8fCBjb21wb25lbnQgPT0gMC4wKTtcbiIKKyAgICAgICAgIn1cbiIKKyAg
ICAgICAgIiIgIC8vIFRoZSBsYXN0IGNvbXBvbmVudCBpcyBhZGRpdGlvbmFsbHkgYWxsb3dlZCB0
byBiZSAxLjAuXG4iCisgICAgICAgICJib29sIHRlc3RMYXN0RmxvYXRDb21wb25lbnQoZmxvYXQg
Y29tcG9uZW50KSB7XG4iCisgICAgICAgICIgICByZXR1cm4gdGVzdEZsb2F0Q29tcG9uZW50KGNv
bXBvbmVudCkgfHwgY29tcG9uZW50ID09IDEuMDtcbiIKKyAgICAgICAgIn1cbiIKKyAgICAgICAg
IlxuIgorICAgICAgICAidm9pZCBtYWluKCkge1xuIgorICAgICAgICAiICAgaWYgKHRlc3RGbG9h
dENvbXBvbmVudCh2ZWNSYW5kb20ueCkgJiZcbiIKKyAgICAgICAgIiAgICAgICB0ZXN0RmxvYXRD
b21wb25lbnQodmVjUmFuZG9tLnkpICYmXG4iCisgICAgICAgICIgICAgICAgdGVzdEZsb2F0Q29t
cG9uZW50KHZlY1JhbmRvbS56KSAmJlxuIgorICAgICAgICAiICAgICAgIHRlc3RMYXN0RmxvYXRD
b21wb25lbnQodmVjUmFuZG9tLncpKSB7XG4iCisgICAgICAgICIgICAgICAgICAgIHZfY29sb3Ig
PSB2ZWM0KDAuMCwgMS4wLCAwLjAsIDEuMCk7IC8vIGdyZWVuIC0tIFdlJ3JlIGdvb2RcbiIKKyAg
ICAgICAgIiAgICAgICB9IGVsc2Uge1xuIgorICAgICAgICAiICAgICAgICAgICB2X2NvbG9yID0g
dmVjNCgxLjAsIDAuMCwgMC4wLCAxLjApOyAvLyByZWQgLS0gVW5leHBlY3RlZCB2YWx1ZVxuIgor
ICAgICAgICAiICAgICAgIH1cbiIKKyAgICAgICAgIiAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3Np
dGlvbiwgMC4wLCAxLjApO1xuIgorICAgICAgICAifVxuIjsKKworICAgIGNvbnN0ZXhwciBjaGFy
IHNpbXBsZVZlcnRleENvbG9yRnJhZ21lbnRTaGFkZXJbXSA9CisgICAgICAgICJwcmVjaXNpb24g
bWVkaXVtcCBmbG9hdDtcbiIKKyAgICAgICAgInZhcnlpbmcgdmVjNCB2X2NvbG9yO1xuIgorICAg
ICAgICAidm9pZCBtYWluKCkge1xuIgorICAgICAgICAiICAgIGdsX0ZyYWdDb2xvciA9IHZfY29s
b3I7XG4iCisgICAgICAgICJ9IjsKKworICAgIC8vIFNldHVwIHRoZSB2ZXJpZmljYXRpb24gcHJv
Z3JhbS4KKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIHZzQ2hlY2tPdXRPZkJvdW5kcywg
c2ltcGxlVmVydGV4Q29sb3JGcmFnbWVudFNoYWRlcik7CisgICAgZ2xVc2VQcm9ncmFtKHByb2dy
YW0pOworCisgICAgR0xpbnQga1Bvc0xvYyA9IGdsR2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwg
InBvc2l0aW9uIik7CisgICAgQVNTRVJUX05FKGtQb3NMb2MsIC0xKTsKKyAgICBHTGludCBrUmFu
ZG9tTG9jID0gZ2xHZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAidmVjUmFuZG9tIik7CisgICAg
QVNTRVJUX05FKGtSYW5kb21Mb2MsIC0xKTsKKworICAgIC8vIENyZWF0ZSBhIGJ1ZmZlciBvZiAy
MDAgdmFsaWQgc2V0cyBvZiBxdWFkIGxpc3RzLgorICAgIGNvbnN0ZXhwciBzaXplX3QgbnVtYmVy
T2ZRdWFkcyA9IDIwMDsKKyAgICAvLyBDcmVhdGUgYSB2ZXJ0ZXggYnVmZmVyIHdpdGggMjAwIHBy
b3Blcmx5IGZvcm1lZCB0cmlhbmdsZSBxdWFkcy4gVGhlc2UgcXVhZHMgd2lsbCBjb3ZlciB0aGUK
KyAgICAvLyBjYW52YXMgdGV4dHVyZSBzdWNoIHRoYXQgZXZlcnkgc2luZ2xlIHBpeGVsIGlzIHRv
dWNoZWQgYnkgdGhlIGZyYWdtZW50IHNoYWRlci4KKyAgICBHTEJ1ZmZlciBnbFF1YWRCdWZmZXI7
CisgICAgZ2xCaW5kQnVmZmVyKEdMX0FSUkFZX0JVRkZFUiwgZ2xRdWFkQnVmZmVyKTsKKyAgICBz
dGQ6OmFycmF5PGZsb2F0LCBudW1iZXJPZlF1YWRzICogMiAqIDY+IHF1YWRQb3NpdGlvbnM7Cisg
ICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBxdWFkUG9zaXRpb25zLnNpemUoKTsgaSAr
PSAyICogNikKKyAgICB7CisgICAgICAgIHF1YWRQb3NpdGlvbnNbaSArIDBdICA9IC0xLjA7ICAv
LyB1cHBlciBsZWZ0CisgICAgICAgIHF1YWRQb3NpdGlvbnNbaSArIDFdICA9IDEuMDsKKyAgICAg
ICAgcXVhZFBvc2l0aW9uc1tpICsgMl0gID0gMS4wOyAgLy8gdXBwZXIgcmlnaHQKKyAgICAgICAg
cXVhZFBvc2l0aW9uc1tpICsgM10gID0gMS4wOworICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyA0
XSAgPSAtMS4wOyAgLy8gbG93ZXIgbGVmdAorICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyA1XSAg
PSAtMS4wOworICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyA2XSAgPSAxLjA7ICAvLyB1cHBlciBy
aWdodAorICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyA3XSAgPSAxLjA7CisgICAgICAgIHF1YWRQ
b3NpdGlvbnNbaSArIDhdICA9IDEuMDsgIC8vIGxvd2VyIHJpZ2h0CisgICAgICAgIHF1YWRQb3Np
dGlvbnNbaSArIDldICA9IC0xLjA7CisgICAgICAgIHF1YWRQb3NpdGlvbnNbaSArIDEwXSA9IC0x
LjA7ICAvLyBsb3dlciBsZWZ0CisgICAgICAgIHF1YWRQb3NpdGlvbnNbaSArIDExXSA9IC0xLjA7
CisgICAgfQorICAgIGdsQnVmZmVyRGF0YShHTF9BUlJBWV9CVUZGRVIsIHF1YWRQb3NpdGlvbnMu
c2l6ZSgpICogc2l6ZW9mKGZsb2F0KSwgcXVhZFBvc2l0aW9ucy5kYXRhKCksCisgICAgICAgICAg
ICAgICAgIEdMX1NUQVRJQ19EUkFXKTsKKyAgICBnbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGtQ
b3NMb2MpOworICAgIGdsVmVydGV4QXR0cmliUG9pbnRlcihrUG9zTG9jLCAyLCBHTF9GTE9BVCwg
ZmFsc2UsIDAsIDApOworCisgICAgLy8gQ3JlYXRlIGEgc21hbGwgdmVydGV4IGJ1ZmZlciB3aXRo
IGRldGVybWluZWQtYWhlYWQtb2YtdGltZSAicmFuZG9tIiB2YWx1ZXMgKDAuMikuIFRoaXMgYnVm
ZmVyCisgICAgLy8gd2lsbCBiZSB0aGUgb25lIHJlYWQgcGFzdCB0aGUgZW5kLgorICAgIEdMQnVm
ZmVyIGdsVmVydGV4QnVmZmVyOworICAgIGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIGds
VmVydGV4QnVmZmVyKTsKKyAgICBzdGQ6OmFycmF5PGZsb2F0LCA2PiB2ZXJ0ZXhEYXRhID0gezAu
MiwgMC4yLCAwLjIsIDAuMiwgMC4yLCAwLjJ9OworICAgIGdsQnVmZmVyRGF0YShHTF9BUlJBWV9C
VUZGRVIsIHZlcnRleERhdGEuc2l6ZSgpICogc2l6ZW9mKGZsb2F0KSwgdmVydGV4RGF0YS5kYXRh
KCksCisgICAgICAgICAgICAgICAgIEdMX1NUQVRJQ19EUkFXKTsKKyAgICBnbEVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KGtSYW5kb21Mb2MpOworICAgIGdsVmVydGV4QXR0cmliUG9pbnRlcihrUmFu
ZG9tTG9jLCA0LCBHTF9GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgLy8gVGVzdCAtLSBEcmF3
IG9mZiB0aGUgZW5kIG9mIHRoZSB2ZXJ0ZXggYnVmZmVyIG5lYXIgdGhlIGJlZ2lubmluZyBvZiB0
aGUgb3V0IG9mIGJvdW5kcyBhcmVhLgorICAgIERyYXdBbmRWZXJpZnlPdXRPZkJvdW5kc0FycmF5
cygvKmZpcnN0Ki8gNiwgLypjb3VudCovIDYpOworCisgICAgLy8gVGVzdCAtLSBEcmF3IG9mZiB0
aGUgZW5kIG9mIHRoZSB2ZXJ0ZXggYnVmZmVyIG5lYXIgdGhlIGVuZCBvZiB0aGUgb3V0IG9mIGJv
dW5kcyBhcmVhLgorICAgIERyYXdBbmRWZXJpZnlPdXRPZkJvdW5kc0FycmF5cygvKmZpcnN0Ki8g
KG51bWJlck9mUXVhZHMgLSAxKSAqIDYsIC8qY291bnQqLyA2KTsKK30KKworLy8gUHJlcGFyZSBh
biBlbGVtZW50IGFycmF5IGJ1ZmZlciB0aGF0IGluZGV4ZXMgb3V0LW9mLWJvdW5kcyBiZWdpbm5p
bmcgd2l0aCB0aGUgc3RhcnQgaW5kZXggcGFzc2VkCisvLyBpbi4gRW5zdXJlIHRoYXQgZHJhd0Vs
ZW1lbnRzIGZsYWdzIGVpdGhlciBubyBlcnJvciBvciBJTlZBTElEX09QRVJBVElPTi4gSW4gdGhl
IGNhc2Ugb2YKKy8vIElOVkFMSURfT1BFUkFUSU9OLCBubyBjYW52YXMgcGl4ZWxzIGNhbiBiZSB0
b3VjaGVkLiAgSW4gdGhlIGNhc2Ugb2YgTk9fRVJST1IsIGFsbCB3cml0dGVuIHZhbHVlcworLy8g
bXVzdCBlaXRoZXIgYmUgdGhlIHplcm8gdmVydGV4IG9yIGEgdmFsdWUgaW4gdGhlIHZlcnRleCBi
dWZmZXIuICBTZWUgdnNDaGVja091dE9mQm91bmRzIHNoYWRlci4KK3ZvaWQgRHJhd0FuZFZlcmlm
eU91dE9mQm91bmRzSW5kZXgoaW50IHN0YXJ0SW5kZXgpCit7CisgICAgZ2xDbGVhckNvbG9yKDAu
MCwgMC4wLCAxLjAsIDEuMCk7ICAvLyBTdGFydCB3aXRoIGJsdWUgdG8gaW5kaWNhdGUgbm8gcGl4
ZWxzIHRvdWNoZWQuCisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUIHwgR0xfREVQVEhf
QlVGRkVSX0JJVCk7CisKKyAgICAvLyBDcmVhdGUgYW4gZWxlbWVudCBhcnJheSBidWZmZXIgd2l0
aCBhIHRyaS1zdHJpcCB0aGF0IHN0YXJ0cyBhdCBzdGFydEluZGV4IGFuZCBtYWtlCisgICAgLy8g
aXQgdGhlIGFjdGl2ZSBlbGVtZW50IGFycmF5IGJ1ZmZlci4KKyAgICBHTEJ1ZmZlciBnbEVsZW1l
bnRBcnJheUJ1ZmZlcjsKKyAgICBnbEJpbmRCdWZmZXIoR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIs
IGdsRWxlbWVudEFycmF5QnVmZmVyKTsKKyAgICBzdGQ6OmFycmF5PHVpbnQxNl90LCA0PiBxdWFk
SW5kaWNlczsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHF1YWRJbmRpY2VzLnNp
emUoKTsgaSsrKQorICAgIHsKKyAgICAgICAgcXVhZEluZGljZXNbaV0gPSBzdGFydEluZGV4ICsg
aTsKKyAgICB9CisgICAgZ2xCdWZmZXJEYXRhKEdMX0VMRU1FTlRfQVJSQVlfQlVGRkVSLCBxdWFk
SW5kaWNlcy5zaXplKCkgKiBzaXplb2YodWludDE2X3QpLCBxdWFkSW5kaWNlcy5kYXRhKCksCisg
ICAgICAgICAgICAgICAgIEdMX1NUQVRJQ19EUkFXKTsKKworICAgIGdsRHJhd0VsZW1lbnRzKEdM
X1RSSUFOR0xFX1NUUklQLCA0LCBHTF9VTlNJR05FRF9TSE9SVCwgLypvZmZzZXQqLyAwKTsKKyAg
ICBHTGVudW0gZXJyb3IgPSBnbEdldEVycm9yKCk7CisgICAgaWYgKGVycm9yID09IEdMX0lOVkFM
SURfT1BFUkFUSU9OKQorICAgIHsKKyAgICAgICAgLy8gdGVzdFBhc3NlZC4gZHJhd0VsZW1lbnRz
IGZsYWdnZWQgSU5WQUxJRF9PUEVSQVRJT04sIHdoaWNoIGlzIHZhbGlkIHNvIGxvbmcgYXMgYWxs
IGNhbnZhcworICAgICAgICAvLyBwaXhlbHMgd2VyZSBub3QgdG91Y2hlZC4KKyAgICAgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmJsdWUpOworICAgIH0KKyAgICBlbHNl
CisgICAgeworICAgICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKyAgICAgICAgLy8gdGVzdFBh
c3NlZC4gZHJhd0VsZW1lbnRzIGZsYWdnZWQgTk9fRVJST1IsIHdoaWNoIGlzIHZhbGlkIHNvIGxv
bmcgYXMgYWxsIGNhbnZhcyBwaXhlbHMKKyAgICAgICAgLy8gYXJlIGdyZWVuLgorICAgICAgICBF
WFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6Z3JlZW4pOworICAgIH0KK30KKwor
Ly8gQWRhcHRlZCBmcm9tIFdlYkdMIHRlc3QKKy8vIGNvbmZvcm1hbmNlL3JlbmRlcmluZy9vdXQt
b2YtYm91bmRzLWluZGV4LWJ1ZmZlcnMuaHRtbAorLy8gVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
b3V0LW9mLWJvdW5kcyBpbmRleCBidWZmZXJzIGJlaGF2ZSBhY2NvcmRpbmcgdG8gc3BlYy4KK1RF
U1RfUChSb2J1c3RSZXNvdXJjZUluaXRUZXN0LCBPdXRPZkJvdW5kc0luZGV4QnVmZmVycykKK3sK
KyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIWhhc0dMRXh0ZW5zaW9uKCkpOworCisgICAgY29uc3Rl
eHByIGNoYXIgdnNDaGVja091dE9mQm91bmRzW10gPQorICAgICAgICAicHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7XG4iCisgICAgICAgICJhdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbiIKKyAgICAg
ICAgImF0dHJpYnV0ZSB2ZWM0IHZlY1JhbmRvbTtcbiIKKyAgICAgICAgInZhcnlpbmcgdmVjNCB2
X2NvbG9yO1xuIgorICAgICAgICAiXG4iCisgICAgICAgICIvLyBQZXIgdGhlIHNwZWMsIGVhY2gg
Y29tcG9uZW50IGNhbiBlaXRoZXIgY29udGFpbiBleGlzdGluZyBjb250ZW50c1xuIgorICAgICAg
ICAiLy8gb2YgdGhlIGJ1ZmZlciBvciAwLlxuIgorICAgICAgICAiYm9vbCB0ZXN0RmxvYXRDb21w
b25lbnQoZmxvYXQgY29tcG9uZW50KSB7XG4iCisgICAgICAgICIgICByZXR1cm4gKGNvbXBvbmVu
dCA9PSAwLjIgfHwgY29tcG9uZW50ID09IDAuMCk7XG4iCisgICAgICAgICJ9XG4iCisgICAgICAg
ICIiICAvLyBUaGUgbGFzdCBjb21wb25lbnQgaXMgYWRkaXRpb25hbGx5IGFsbG93ZWQgdG8gYmUg
MS4wLlxuIgorICAgICAgICAiYm9vbCB0ZXN0TGFzdEZsb2F0Q29tcG9uZW50KGZsb2F0IGNvbXBv
bmVudCkge1xuIgorICAgICAgICAiICAgcmV0dXJuIHRlc3RGbG9hdENvbXBvbmVudChjb21wb25l
bnQpIHx8IGNvbXBvbmVudCA9PSAxLjA7XG4iCisgICAgICAgICJ9XG4iCisgICAgICAgICJcbiIK
KyAgICAgICAgInZvaWQgbWFpbigpIHtcbiIKKyAgICAgICAgIiAgIGlmICh0ZXN0RmxvYXRDb21w
b25lbnQodmVjUmFuZG9tLngpICYmXG4iCisgICAgICAgICIgICAgICAgdGVzdEZsb2F0Q29tcG9u
ZW50KHZlY1JhbmRvbS55KSAmJlxuIgorICAgICAgICAiICAgICAgIHRlc3RGbG9hdENvbXBvbmVu
dCh2ZWNSYW5kb20ueikgJiZcbiIKKyAgICAgICAgIiAgICAgICB0ZXN0TGFzdEZsb2F0Q29tcG9u
ZW50KHZlY1JhbmRvbS53KSkge1xuIgorICAgICAgICAiICAgICAgICAgICB2X2NvbG9yID0gdmVj
NCgwLjAsIDEuMCwgMC4wLCAxLjApOyAvLyBncmVlbiAtLSBXZSdyZSBnb29kXG4iCisgICAgICAg
ICIgICAgICAgfSBlbHNlIHtcbiIKKyAgICAgICAgIiAgICAgICAgICAgdl9jb2xvciA9IHZlYzQo
MS4wLCAwLjAsIDAuMCwgMS4wKTsgLy8gcmVkIC0tIFVuZXhwZWN0ZWQgdmFsdWVcbiIKKyAgICAg
ICAgIiAgICAgICB9XG4iCisgICAgICAgICIgICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zaXRpb24s
IDAuMCwgMS4wKTtcbiIKKyAgICAgICAgIn1cbiI7CisKKyAgICBjb25zdGV4cHIgY2hhciBzaW1w
bGVWZXJ0ZXhDb2xvckZyYWdtZW50U2hhZGVyW10gPQorICAgICAgICAicHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7XG4iCisgICAgICAgICJ2YXJ5aW5nIHZlYzQgdl9jb2xvcjtcbiIKKyAgICAgICAg
InZvaWQgbWFpbigpIHtcbiIKKyAgICAgICAgIiAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yO1xu
IgorICAgICAgICAifSI7CisKKyAgICAvLyBTZXR1cCB0aGUgdmVyaWZpY2F0aW9uIHByb2dyYW0u
CisgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCB2c0NoZWNrT3V0T2ZCb3VuZHMsIHNpbXBs
ZVZlcnRleENvbG9yRnJhZ21lbnRTaGFkZXIpOworICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFtKTsK
KworICAgIEdMaW50IGtQb3NMb2MgPSBnbEdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJwb3Np
dGlvbiIpOworICAgIEFTU0VSVF9ORShrUG9zTG9jLCAtMSk7CisgICAgR0xpbnQga1JhbmRvbUxv
YyA9IGdsR2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgInZlY1JhbmRvbSIpOworICAgIEFTU0VS
VF9ORShrUmFuZG9tTG9jLCAtMSk7CisKKyAgICAvLyBDcmVhdGUgYSBidWZmZXIgb2YgMjAwIHZh
bGlkIHNldHMgb2YgcXVhZCBsaXN0cy4KKyAgICBjb25zdGV4cHIgc2l6ZV90IG51bWJlck9mUXVh
ZHMgPSAyMDA7CisgICAgLy8gQ3JlYXRlIGEgdmVydGV4IGJ1ZmZlciB3aXRoIDIwMCBwcm9wZXJs
eSBmb3JtZWQgdHJpLXN0cmlwIHF1YWRzLiBUaGVzZSBxdWFkcyB3aWxsIGNvdmVyIHRoZQorICAg
IC8vIGNhbnZhcyB0ZXh0dXJlIHN1Y2ggdGhhdCBldmVyeSBzaW5nbGUgcGl4ZWwgaXMgdG91Y2hl
ZCBieSB0aGUgZnJhZ21lbnQgc2hhZGVyLgorICAgIEdMQnVmZmVyIGdsUXVhZEJ1ZmZlcjsKKyAg
ICBnbEJpbmRCdWZmZXIoR0xfQVJSQVlfQlVGRkVSLCBnbFF1YWRCdWZmZXIpOworICAgIHN0ZDo6
YXJyYXk8ZmxvYXQsIG51bWJlck9mUXVhZHMgKiAyICogND4gcXVhZFBvc2l0aW9uczsKKyAgICBm
b3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHF1YWRQb3NpdGlvbnMuc2l6ZSgpOyBpICs9IDIg
KiA0KQorICAgIHsKKyAgICAgICAgcXVhZFBvc2l0aW9uc1tpICsgMF0gPSAtMS4wOyAgLy8gdXBw
ZXIgbGVmdAorICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyAxXSA9IDEuMDsKKyAgICAgICAgcXVh
ZFBvc2l0aW9uc1tpICsgMl0gPSAxLjA7ICAvLyB1cHBlciByaWdodAorICAgICAgICBxdWFkUG9z
aXRpb25zW2kgKyAzXSA9IDEuMDsKKyAgICAgICAgcXVhZFBvc2l0aW9uc1tpICsgNF0gPSAtMS4w
OyAgLy8gbG93ZXIgbGVmdAorICAgICAgICBxdWFkUG9zaXRpb25zW2kgKyA1XSA9IC0xLjA7Cisg
ICAgICAgIHF1YWRQb3NpdGlvbnNbaSArIDZdID0gMS4wOyAgLy8gbG93ZXIgcmlnaHQKKyAgICAg
ICAgcXVhZFBvc2l0aW9uc1tpICsgN10gPSAtMS4wOworICAgIH0KKyAgICBnbEJ1ZmZlckRhdGEo
R0xfQVJSQVlfQlVGRkVSLCBxdWFkUG9zaXRpb25zLnNpemUoKSAqIHNpemVvZihmbG9hdCksIHF1
YWRQb3NpdGlvbnMuZGF0YSgpLAorICAgICAgICAgICAgICAgICBHTF9TVEFUSUNfRFJBVyk7Cisg
ICAgZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShrUG9zTG9jKTsKKyAgICBnbFZlcnRleEF0dHJp
YlBvaW50ZXIoa1Bvc0xvYywgMiwgR0xfRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICAgIC8vIENy
ZWF0ZSBhIHNtYWxsIHZlcnRleCBidWZmZXIgd2l0aCBkZXRlcm1pbmVkLWFoZWFkLW9mLXRpbWUg
InJhbmRvbSIgdmFsdWVzICgwLjIpLiBUaGlzIGJ1ZmZlcgorICAgIC8vIHdpbGwgYmUgdGhlIG9u
ZSBpbmRleGVkIG9mZiB0aGUgZW5kLgorICAgIEdMQnVmZmVyIGdsVmVydGV4QnVmZmVyOworICAg
IGdsQmluZEJ1ZmZlcihHTF9BUlJBWV9CVUZGRVIsIGdsVmVydGV4QnVmZmVyKTsKKyAgICBzdGQ6
OmFycmF5PGZsb2F0LCA0PiB2ZXJ0ZXhEYXRhID0gezAuMiwgMC4yLCAwLjIsIDAuMn07CisgICAg
Z2xCdWZmZXJEYXRhKEdMX0FSUkFZX0JVRkZFUiwgdmVydGV4RGF0YS5zaXplKCkgKiBzaXplb2Yo
ZmxvYXQpLCB2ZXJ0ZXhEYXRhLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgR0xfU1RBVElDX0RS
QVcpOworICAgIGdsRW5hYmxlVmVydGV4QXR0cmliQXJyYXkoa1JhbmRvbUxvYyk7CisgICAgZ2xW
ZXJ0ZXhBdHRyaWJQb2ludGVyKGtSYW5kb21Mb2MsIDQsIEdMX0ZMT0FULCBmYWxzZSwgMCwgMCk7
CisKKyAgICAvLyBUZXN0IC0tIEluZGV4IG9mZiB0aGUgZW5kIG9mIHRoZSB2ZXJ0ZXggYnVmZmVy
IG5lYXIgdGhlIGJlZ2lubmluZyBvZiB0aGUgb3V0IG9mIGJvdW5kcyBhcmVhLgorICAgIERyYXdB
bmRWZXJpZnlPdXRPZkJvdW5kc0luZGV4KC8qU3RhcnRJbmRleCovIDQpOworCisgICAgLy8gVGVz
dCAtLSBJbmRleCBvZmYgdGhlIGVuZCBvZiB0aGUgdmVydGV4IGJ1ZmZlciBuZWFyIHRoZSBlbmQg
b2YgdGhlIG91dCBvZiBib3VuZHMgYXJlYS4KKyAgICBEcmF3QW5kVmVyaWZ5T3V0T2ZCb3VuZHNJ
bmRleCgvKlN0YXJ0SW5kZXgqLyBudW1iZXJPZlF1YWRzIC0gNCk7Cit9CisKIC8vIFJlZ3Jlc3Np
b24gdGVzdCBmb3IgaW1hZ2VzIGJlaW5nIHJlY292ZXJlZCBmcm9tIHN0b3JhZ2Ugbm90IHJlLXN5
bmNpbmcgdG8gc3RvcmFnZSBhZnRlciBiZWluZwogLy8gaW5pdGlhbGl6ZWQKIFRFU1RfUChSb2J1
c3RSZXNvdXJjZUluaXRUZXN0RVMzLCBEM0QxMVJlY292ZXJGcm9tU3RvcmFnZUJ1ZykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9TdGF0ZUNo
YW5nZVRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3Rz
L1N0YXRlQ2hhbmdlVGVzdC5jcHAKaW5kZXggODgwYmVmYTYwMDIwZTM1YjgzNWM4MDJlM2RhMDkw
NjcxOTg0YWRkNC4uNWZiYzQ5MWJjNmFkNDkwZDAwMjM1NWNlYjQ3ZWE0MDE0OWI2MGZlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N0YXRl
Q2hhbmdlVGVzdC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2ds
X3Rlc3RzL1N0YXRlQ2hhbmdlVGVzdC5jcHAKQEAgLTMyODUsNiArMzI4NSw4MyBAQCBURVNUX1Ao
U2ltcGxlU3RhdGVDaGFuZ2VUZXN0RVMzLCBEZXB0aEludmFsaWRhdGVUaGVuQ2xlYXIpCiAgICAg
RVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OndoaXRlKTsKIH0KIAorLy8gSW52
YWxpZGF0ZSBhbiBSR0IgZnJhbWVidWZmZXIgYW5kIHZlcmlmeSB0aGF0IHRoZSBhbHBoYSBjaGFu
bmVsIGlzIG5vdCBkZXN0cm95ZWQgYW5kIHJlbWFpbnMKKy8vIHZhbGlkIGFmdGVyIGEgZHJhdyBj
YWxsLgorVEVTVF9QKFNpbXBsZVN0YXRlQ2hhbmdlVGVzdEVTMywgSW52YWxpZGF0ZVJHQlRoZW5E
cmF3KQoreworICAgIEFOR0xFX0dMX1BST0dSQU0oYmx1ZVByb2dyYW0sIGVzc2wxX3NoYWRlcnM6
OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OkJsdWUoKSk7CisKKyAgICBHTFRleHR1
cmUgdGV4dHVyZTsKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRleHR1cmUpOwor
ICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0IsIGdldFdpbmRvd1dpZHRo
KCksIGdldFdpbmRvd0hlaWdodCgpLCAwLCBHTF9SR0IsCisgICAgICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsIG51bGxwdHIpOworCisgICAgR0xGcmFtZWJ1ZmZlciBmYm87CisgICAgZ2xC
aW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZibyk7CisgICAgZ2xGcmFtZWJ1ZmZlclRl
eHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVf
MkQsIHRleHR1cmUsIDApOworICAgIEVYUEVDVF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9G
UkFNRUJVRkZFUik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBnbENsZWFyQ29s
b3IoMC4wZiwgMC4wZiwgMC4wZiwgMC4wZik7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJf
QklUKTsKKyAgICAvLyBWZXJpZnkgdGhhdCBjbGVhcmluZyBhbHBoYSBpcyBpbmVmZmVjdGl2ZSBv
biBhbiBSR0IgZm9ybWF0LgorICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpibGFjayk7CisKKyAgICAvLyBJbnZhbGlkYXRlIHRoZSBmcmFtZWJ1ZmZlciBjb250ZW50cy4K
KyAgICBjb25zdCBHTGVudW0gZGlzY2FyZHNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMH07Cisg
ICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDEsIGRpc2NhcmRzKTsK
KworICAgIC8vIFdpdGhvdXQgYW4gZXhwbGljaXQgY2xlYXIsIGRyYXcgYmx1ZSBhbmQgbWFrZSBz
dXJlIGFscGhhIGlzIHVuYWZmZWN0ZWQuICBJZiBSR0IgaXMgZW11bGF0ZWQKKyAgICAvLyB3aXRo
IFJHQkEsIHRoZSBwcmV2aW91cyBpbnZhbGlkYXRlIHNob3VsZG4ndCBhZmZlY3QgdGhlIGFscGhh
IHZhbHVlLgorICAgIGRyYXdRdWFkKGJsdWVQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlv
bkF0dHJpYigpLCAwLjVmKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xv
cjo6Ymx1ZSk7Cit9CisKKy8vIEludmFsaWRhdGUgYW4gUkdCIGZyYW1lYnVmZmVyIGFuZCB2ZXJp
ZnkgdGhhdCB0aGUgYWxwaGEgY2hhbm5lbCBpcyBub3QgZGVzdHJveWVkLCBldmVuIGlmIHRoZQor
Ly8gY29sb3IgY2hhbm5lbHMgbWF5IGJlIGdhcmJhZ2UuCitURVNUX1AoU2ltcGxlU3RhdGVDaGFu
Z2VUZXN0RVMzLCBEcmF3QW5kSW52YWxpZGF0ZVJHQlRoZW5WZXJpZnlBbHBoYSkKK3sKKyAgICBB
TkdMRV9HTF9QUk9HUkFNKGRyYXdDb2xvciwgZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBl
c3NsMV9zaGFkZXJzOjpmczo6VW5pZm9ybUNvbG9yKCkpOworICAgIGdsVXNlUHJvZ3JhbShkcmF3
Q29sb3IpOworICAgIEdMaW50IHVuaWZvcm1Mb2NhdGlvbiA9IGdsR2V0VW5pZm9ybUxvY2F0aW9u
KGRyYXdDb2xvciwgZXNzbDFfc2hhZGVyczo6Q29sb3JVbmlmb3JtKCkpOworICAgIEFTU0VSVF9O
RSh1bmlmb3JtTG9jYXRpb24sIC0xKTsKKworICAgIGNvbnN0IGludCB3ID0gZ2V0V2luZG93V2lk
dGgoKTsKKyAgICBjb25zdCBpbnQgaCA9IGdldFdpbmRvd0hlaWdodCgpOworCisgICAgR0xUZXh0
dXJlIHRleHR1cmU7CisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsK
KyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgR0xfUkdCLCB3LCBoLCAwLCBHTF9S
R0IsIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworCisgICAgR0xGcmFtZWJ1ZmZlciBmYm87
CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZibyk7CisgICAgZ2xGcmFt
ZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdM
X1RFWFRVUkVfMkQsIHRleHR1cmUsIDApOworICAgIEVYUEVDVF9HTF9GUkFNRUJVRkZFUl9DT01Q
TEVURShHTF9GUkFNRUJVRkZFUik7CisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICBn
bENsZWFyQ29sb3IoMC4wZiwgMC4wZiwgMC4wZiwgMC4wZik7CisgICAgZ2xDbGVhcihHTF9DT0xP
Ul9CVUZGRVJfQklUKTsKKworICAgIGdsVW5pZm9ybTRmKHVuaWZvcm1Mb2NhdGlvbiwgMC4xZiwg
MC4yZiwgMC4zZiwgMC40Zik7CisgICAgZHJhd1F1YWQoZHJhd0NvbG9yLCBlc3NsMV9zaGFkZXJz
OjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKworICAgIC8vIEludmFsaWRhdGUgdGhlIGZyYW1l
YnVmZmVyIGNvbnRlbnRzLgorICAgIGNvbnN0IEdMZW51bSBkaXNjYXJkc1tdID0ge0dMX0NPTE9S
X0FUVEFDSE1FTlQwfTsKKyAgICBnbEludmFsaWRhdGVGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZF
UiwgMSwgZGlzY2FyZHMpOworCisgICAgLy8gUmVhZCBiYWNrIHRoZSBjb250ZW50cyBvZiB0aGUg
ZnJhbWVidWZmZXIuICBUaGUgY29sb3IgY2hhbm5lbHMgYXJlIGludmFsaWQsIGJ1dCBhcyBhbiBS
R0IKKyAgICAvLyBmb3JtYXQsIHJlYWRiYWNrIHNob3VsZCBhbHdheXMgcmV0dXJuIDEgaW4gYWxw
aGEuCisgICAgc3RkOjp2ZWN0b3I8R0xDb2xvcj4gcmVhZGJhY2sodyAqIGgpOworICAgIGdsUmVh
ZFBpeGVscygwLCAwLCB3LCBoLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLCByZWFkYmFjay5k
YXRhKCkpOworICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaDsgKyt5KQorICAgIHsKKyAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCB3OyArK3gpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVD
VF9FUShyZWFkYmFja1t5ICogdyArIHhdLkEsIDI1NSkgPDwgeCA8PCAiICIgPDwgeTsKKyAgICAg
ICAgfQorICAgIH0KK30KKwogLy8gVGVzdHMgZGVsZXRpbmcgYSBGcmFtZWJ1ZmZlciB0aGF0IGlz
IGluIHVzZS4KIFRFU1RfUChTaW1wbGVTdGF0ZUNoYW5nZVRlc3QsIERlbGV0ZUZyYW1lYnVmZmVy
SW5Vc2UpCiB7CkBAIC04MDE4LDcgKzgwOTUsNyBAQCBBTkdMRV9JTlNUQU5USUFURV9URVNUX0VT
MyhTdGF0ZUNoYW5nZVJlbmRlclRlc3RFUzMpOwogQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9FUzIo
U2ltcGxlU3RhdGVDaGFuZ2VUZXN0KTsKIAogR1RFU1RfQUxMT1dfVU5JTlNUQU5USUFURURfUEFS
QU1FVEVSSVpFRF9URVNUKFNpbXBsZVN0YXRlQ2hhbmdlVGVzdEVTMyk7Ci1BTkdMRV9JTlNUQU5U
SUFURV9URVNUX0VTMyhTaW1wbGVTdGF0ZUNoYW5nZVRlc3RFUzMpOworQU5HTEVfSU5TVEFOVElB
VEVfVEVTVF9FUzNfQU5EKFNpbXBsZVN0YXRlQ2hhbmdlVGVzdEVTMywgV2l0aEFsbG9jYXRlTm9u
WmVyb01lbW9yeShFUzNfVlVMS0FOKCkpKTsKIAogR1RFU1RfQUxMT1dfVU5JTlNUQU5USUFURURf
UEFSQU1FVEVSSVpFRF9URVNUKEltYWdlUmVzcGVjaWZpY2F0aW9uVGVzdCk7CiBBTkdMRV9JTlNU
QU5USUFURV9URVNUX0VTMyhJbWFnZVJlc3BlY2lmaWNhdGlvblRlc3QpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N3aXp6bGVUZXN0LmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9Td2l6emxlVGVz
dC5jcHAKaW5kZXggZWJjNDUwZjMzMTI0YTJiMmZiNGRhZjVkY2QxZGMyZGRhYjZiYTZhYi4uZGM2
MWM0ZTQ3YTZhYThjMjAxNTNiNjllNGYzZmUxYzM1Y2RjZDZlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1N3aXp6bGVUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvU3dpenpsZVRlc3Qu
Y3BwCkBAIC0yOTMsNiArMjkzLDE2IEBAIFRFU1RfUChTd2l6emxlVGVzdCwgUkdCMTBfQTJfMkQp
CiAgICAgcnVuVGVzdDJEKCk7CiB9CiAKK1RFU1RfUChTd2l6emxlVGVzdCwgUkdCMTBfMkQpCit7
CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFpc1RleHR1cmVTd2l6emxlQXZhaWxhYmxlKCkpOwor
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRf
dGV4dHVyZV90eXBlXzJfMTBfMTBfMTBfUkVWIikpOworCisgICAgR0x1aW50IGRhdGFbXSA9IHsy
MHUgfCAoNDB1IDw8IDEwKSB8ICg2MHUgPDwgMjApIHwgKDJ1IDw8IDMwKX07CisgICAgaW5pdDJE
VGV4dHVyZShHTF9SR0IsIEdMX1JHQiwgR0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWLCBk
YXRhKTsKKyAgICBydW5UZXN0MkQoKTsKK30KKwogVEVTVF9QKFN3aXp6bGVUZXN0LCBSR0JBMzJG
XzJEKQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighaXNUZXh0dXJlU3dpenpsZUF2YWlsYWJs
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90
ZXN0cy9UcmFuc2Zvcm1GZWVkYmFja1Rlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2dsX3Rlc3RzL1RyYW5zZm9ybUZlZWRiYWNrVGVzdC5jcHAKaW5kZXggYzBlMzc3
ODFjZThiNGYyNzRiNjJkZWRkZGRlYmUyODc5YzRmNjUxMi4uYWUxYTZhZjZhZDZmODkxYTllZDNh
MTBlOTIxYjFmMzU2NzdlNjE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL2dsX3Rlc3RzL1RyYW5zZm9ybUZlZWRiYWNrVGVzdC5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1RyYW5zZm9ybUZlZWRiYWNrVGVz
dC5jcHAKQEAgLTQwMTYsNiArNDAxNiw3MCBAQCBURVNUX1AoVHJhbnNmb3JtRmVlZGJhY2tUZXN0
LCBEZWxldGVQYXVzZWRUcmFuc2Zvcm1GZWVkYmFja0J1ZmZlcikKICAgICBnbERyYXdBcnJheXMo
R0xfUE9JTlRTLCAwLCAxKTsKIH0KIAorLy8gVGVzdCB0aGF0IHVzaW5nIGEgdHJhbnNmb3JtIGZl
ZWRiYWNrIHByb2dyYW0gd2l0aCBhIGJhc2UgaW5zdGFuY2UgZHJhdyBjYWxsIHdvcmtzLgorVEVT
VF9QKFRyYW5zZm9ybUZlZWRiYWNrVGVzdCwgQmFzZUluc3RhbmNlKQoreworICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9BTkdMRV9iYXNlX3ZlcnRl
eF9iYXNlX2luc3RhbmNlIikpOworCisgICAgY29uc3RleHByIGNoYXIga1ZTW10gPQorICAgICAg
ICAiI3ZlcnNpb24gMzAwIGVzXG4iCisgICAgICAgICJpbiBmbG9hdCBpbl92YWx1ZTtcbiIKKyAg
ICAgICAgIm91dCBmbG9hdCBvdXRfdmFsdWU7XG4iCisgICAgICAgICJ2b2lkIG1haW4oKSB7XG4i
CisgICAgICAgICIgIG91dF92YWx1ZSA9IGluX3ZhbHVlICogMi4wO1xuIgorICAgICAgICAifSI7
CisKKyAgICBjb25zdGV4cHIgY2hhciBrRlNbXSA9CisgICAgICAgICIjdmVyc2lvbiAzMDAgZXNc
biIKKyAgICAgICAgIm91dCBtZWRpdW1wIHZlYzQgY29sb3I7XG4iCisgICAgICAgICJ2b2lkIG1h
aW4oKSB7XG4iCisgICAgICAgICIgIGNvbG9yID0gdmVjNCgwLjAsIDEuMCwgMC4wLCAxLjApO1xu
IgorICAgICAgICAifSI7CisKKyAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gdGZWYXJ5aW5n
czsKKyAgICB0ZlZhcnlpbmdzLnB1c2hfYmFjaygib3V0X3ZhbHVlIik7CisKKyAgICBtUHJvZ3Jh
bSA9IENvbXBpbGVQcm9ncmFtV2l0aFRyYW5zZm9ybUZlZWRiYWNrKGtWUywga0ZTLCB0ZlZhcnlp
bmdzLCBHTF9JTlRFUkxFQVZFRF9BVFRSSUJTKTsKKyAgICBBU1NFUlRfTkUoMHUsIG1Qcm9ncmFt
KTsKKworICAgIGdsVXNlUHJvZ3JhbShtUHJvZ3JhbSk7CisKKyAgICBnbEJpbmRUcmFuc2Zvcm1G
ZWVkYmFjayhHTF9UUkFOU0ZPUk1fRkVFREJBQ0ssIG1UcmFuc2Zvcm1GZWVkYmFjayk7CisgICAg
Z2xCaW5kQnVmZmVyQmFzZShHTF9UUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSLCAwLCBtVHJhbnNm
b3JtRmVlZGJhY2tCdWZmZXIpOworCisgICAgc3RkOjp2ZWN0b3I8ZmxvYXQ+IGF0dHJpYkRhdGE7
CisgICAgZm9yICh1bnNpZ25lZCBpbnQgY250ID0gMDsgY250IDwgMTA7ICsrY250KQorICAgIHsK
KyAgICAgICAgYXR0cmliRGF0YS5wdXNoX2JhY2soc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNudCkpOwor
ICAgIH0KKworICAgIEdMaW50IGF0dHJpYkxvY2F0aW9uID0gZ2xHZXRBdHRyaWJMb2NhdGlvbiht
UHJvZ3JhbSwgImluX3ZhbHVlIik7CisgICAgQVNTRVJUX05FKC0xLCBhdHRyaWJMb2NhdGlvbik7
CisKKyAgICBnbFZlcnRleEF0dHJpYlBvaW50ZXIoYXR0cmliTG9jYXRpb24sIDEsIEdMX0ZMT0FU
LCBHTF9GQUxTRSwgNCwgJmF0dHJpYkRhdGFbMF0pOworICAgIGdsRW5hYmxlVmVydGV4QXR0cmli
QXJyYXkoYXR0cmliTG9jYXRpb24pOworCisgICAgZ2xCZWdpblRyYW5zZm9ybUZlZWRiYWNrKEdM
X1BPSU5UUyk7CisgICAgZ2xEcmF3QXJyYXlzSW5zdGFuY2VkQmFzZUluc3RhbmNlQU5HTEUoR0xf
UE9JTlRTLCAwLCAxMCwgMSwgMSk7CisgICAgZ2xFbmRUcmFuc2Zvcm1GZWVkYmFjaygpOworICAg
IEFTU0VSVF9HTF9OT19FUlJPUigpOworCisgICAgZ2xVc2VQcm9ncmFtKDApOworCisgICAgdm9p
ZCAqbWFwcGVkQnVmZmVyID0KKyAgICAgICAgZ2xNYXBCdWZmZXJSYW5nZShHTF9UUkFOU0ZPUk1f
RkVFREJBQ0tfQlVGRkVSLCAwLCBzaXplb2YoZmxvYXQpICogMTAsIEdMX01BUF9SRUFEX0JJVCk7
CisgICAgQVNTRVJUX05FKG51bGxwdHIsIG1hcHBlZEJ1ZmZlcik7CisKKyAgICBmbG9hdCAqbWFw
cGVkRmxvYXRzID0gc3RhdGljX2Nhc3Q8ZmxvYXQgKj4obWFwcGVkQnVmZmVyKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGludCBjbnQgPSAwOyBjbnQgPCAxMDsgKytjbnQpCisgICAgeworICAgICAgICBF
WFBFQ1RfRVEoYXR0cmliRGF0YVtjbnRdICogMiwgbWFwcGVkRmxvYXRzW2NudF0pOworICAgIH0K
KyAgICBnbFVubWFwQnVmZmVyKEdMX1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVIpOworCisgICAg
RVhQRUNUX0dMX05PX0VSUk9SKCk7Cit9CisKIEdURVNUX0FMTE9XX1VOSU5TVEFOVElBVEVEX1BB
UkFNRVRFUklaRURfVEVTVChUcmFuc2Zvcm1GZWVkYmFja1Rlc3QpOwogQU5HTEVfSU5TVEFOVElB
VEVfVEVTVF9FUzMoVHJhbnNmb3JtRmVlZGJhY2tUZXN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1Z1bGthblBlcmZvcm1hbmNlQ291
bnRlclRlc3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3Rz
L1Z1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QuY3BwCmluZGV4IDc2YzU0ZTE0ZmIxNzhlMmFk
ZmQ3MWFmZWU3NTMxYjcwMzVhOGI0ZjMuLmM1NzQwOGM4MjlmYWM1YTkwZTNmYzA1Y2UyYzJkN2Fk
NjZkNjI1NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9n
bF90ZXN0cy9WdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdC5jcHAKQEAgLTYsOCArNiw2IEBACiAvLyBWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
OgogLy8gICBWYWxpZGF0ZXMgc3BlY2lmaWMgR0wgY2FsbCBwYXR0ZXJucyB3aXRoIEFOR0xFIHBl
cmZvcm1hbmNlIGNvdW50ZXJzLgogLy8gICBGb3IgZXhhbXBsZSB3ZSBjYW4gdmVyaWZ5IGEgY2Vy
dGFpbiBjYWxsIHNldCBkb2Vzbid0IGJyZWFrIHRoZSBSZW5kZXJQYXNzLgotLy8KLS8vIFRPRE8o
am1hZGlsbCk6IE1vdmUgdG8gYSBHTCBleHRlbnNpb24uIGh0dHA6Ly9hbmdsZWJ1Zy5jb20vNDkx
OAogCiAjaW5jbHVkZSAidGVzdF91dGlscy9BTkdMRVRlc3QuaCIKICNpbmNsdWRlICJ0ZXN0X3V0
aWxzL2FuZ2xlX3Rlc3RfaW5zdGFudGlhdGUuaCIKQEAgLTE2LDYgKzE0LDcgQEAKIC8vIEJ1dCAn
Tm9uZScgaXMgYWxzbyBkZWZpbmVkIGFzIGEgbnVtZXJpYyBjb25zdGFudCAwTCBpbiA8WDExL1gu
aD4uCiAvLyBTbyB3ZSBuZWVkIHRvIGluY2x1ZGUgQU5HTEVUZXN0LmggZmlyc3QgdG8gYXZvaWQg
dGhpcyBjb25mbGljdC4KIAorI2luY2x1ZGUgImluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZS5oIgog
I2luY2x1ZGUgInRlc3RfdXRpbHMvZ2xfcmFpaS5oIgogI2luY2x1ZGUgInV0aWwvcmFuZG9tX3V0
aWxzLmgiCiAjaW5jbHVkZSAidXRpbC9zaGFkZXJfdXRpbHMuaCIKQEAgLTI0LDEwICsyMywyMCBA
QCB1c2luZyBuYW1lc3BhY2UgYW5nbGU7CiAKIG5hbWVzcGFjZQogeworZW51bSBjbGFzcyBBTkdM
RUZlYXR1cmUKK3sKKyAgICBTdXBwb3J0ZWQsCisgICAgVW5zdXBwb3J0ZWQsCisgICAgVW5rbm93
biwKK307CisKIGNsYXNzIFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QgOiBwdWJsaWMgQU5H
TEVUZXN0CiB7CiAgIHByb3RlY3RlZDoKICAgICBWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
KCkKKyAgICAgICAgOiBtTG9hZE9wTm9uZVN1cHBvcnQoQU5HTEVGZWF0dXJlOjpVbmtub3duKSwK
KyAgICAgICAgICBtU3RvcmVPcE5vbmVTdXBwb3J0KEFOR0xFRmVhdHVyZTo6VW5rbm93biksCisg
ICAgICAgICAgbVByZWZlckRyYXdPdmVyQ2xlYXJBdHRhY2htZW50cyhBTkdMRUZlYXR1cmU6OlVu
a25vd24pCiAgICAgewogICAgICAgICAvLyBEZXB0aC9TdGVuY2lsIHJlcXVpcmVkIGZvciBTd2Fw
U2hvdWxkSW52YWxpZGF0ZSouCiAgICAgICAgIC8vIEFsc28gUkdCQTggaXMgcmVxdWlyZWQgdG8g
YXZvaWQgdGhlIGNsZWFyIGZvciBlbXVsYXRlZCBhbHBoYS4KQEAgLTM5LDg3ICs0OCwyOTUgQEAg
Y2xhc3MgVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAg
ICAgICAgc2V0Q29uZmlnU3RlbmNpbEJpdHMoOCk7CiAgICAgfQogCi0gICAgc3RhdGljIGNvbnN0
ZXhwciBHTHNpemVpIGtJbnZhbGlkYXRlVGVzdFNpemUgPSAxNjsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIEdMc2l6ZWkga09wc1Rlc3RTaXplID0gMTY7CisKKyAgICB2b2lkIGluaXRBTkdMRUZlYXR1
cmVzKCkKKyAgICB7CisgICAgICAgIGNvbnN0IGJvb2wgaGFzQU5HTEVGZWF0dXJlQ29udHJvbCA9
CisgICAgICAgICAgICBJc0VHTENsaWVudEV4dGVuc2lvbkVuYWJsZWQoIkVHTF9BTkdMRV9mZWF0
dXJlX2NvbnRyb2wiKTsKKyAgICAgICAgaWYgKCFoYXNBTkdMRUZlYXR1cmVDb250cm9sKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBFR0xEaXNw
bGF5IGRpc3BsYXkgPSBnZXRFR0xXaW5kb3coKS0+Z2V0RGlzcGxheSgpOworCisgICAgICAgIEVH
TEF0dHJpYiBmZWF0dXJlQ291bnQgPSAtMTsKKyAgICAgICAgQVNTRVJUX0VRKHN0YXRpY19jYXN0
PEVHTEJvb2xlYW4+KEVHTF9UUlVFKSwKKyAgICAgICAgICAgICAgICAgIGVnbFF1ZXJ5RGlzcGxh
eUF0dHJpYkFOR0xFKGRpc3BsYXksIEVHTF9GRUFUVVJFX0NPVU5UX0FOR0xFLCAmZmVhdHVyZUNv
dW50KSk7CisKKyAgICAgICAgZm9yIChFR0xBdHRyaWIgaW5kZXggPSAwOyBpbmRleCA8IGZlYXR1
cmVDb3VudDsgaW5kZXgrKykKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3QgY2hhciAqZmVh
dHVyZU5hbWUgPSBlZ2xRdWVyeVN0cmluZ2lBTkdMRShkaXNwbGF5LCBFR0xfRkVBVFVSRV9OQU1F
X0FOR0xFLCBpbmRleCk7CisgICAgICAgICAgICBjb25zdCBjaGFyICpmZWF0dXJlU3RhdHVzID0K
KyAgICAgICAgICAgICAgICBlZ2xRdWVyeVN0cmluZ2lBTkdMRShkaXNwbGF5LCBFR0xfRkVBVFVS
RV9TVEFUVVNfQU5HTEUsIGluZGV4KTsKKyAgICAgICAgICAgIEFTU0VSVF9ORShmZWF0dXJlTmFt
ZSwgbnVsbHB0cik7CisgICAgICAgICAgICBBU1NFUlRfTkUoZmVhdHVyZVN0YXR1cywgbnVsbHB0
cik7CisKKyAgICAgICAgICAgIGNvbnN0IGJvb2wgaXNTdG9yZU9wTm9uZVFDT00gPQorICAgICAg
ICAgICAgICAgIHN0cmNtcChmZWF0dXJlTmFtZSwgInN1cHBvcnRzUmVuZGVyUGFzc1N0b3JlT3BO
b25lUUNPTSIpID09IDA7CisgICAgICAgICAgICBjb25zdCBib29sIGlzTG9hZFN0b3JlT3BOb25l
RVhUID0KKyAgICAgICAgICAgICAgICBzdHJjbXAoZmVhdHVyZU5hbWUsICJzdXBwb3J0c1JlbmRl
clBhc3NMb2FkU3RvcmVPcE5vbmUiKSA9PSAwOworICAgICAgICAgICAgY29uc3QgYm9vbCBpc0Vu
YWJsZWQgID0gc3RyY21wKGZlYXR1cmVTdGF0dXMsIGFuZ2xlOjprRmVhdHVyZVN0YXR1c0VuYWJs
ZWQpID09IDA7CisgICAgICAgICAgICBjb25zdCBib29sIGlzRGlzYWJsZWQgPSBzdHJjbXAoZmVh
dHVyZVN0YXR1cywgYW5nbGU6OmtGZWF0dXJlU3RhdHVzRGlzYWJsZWQpID09IDA7CisgICAgICAg
ICAgICBBU1NFUlRfVFJVRShpc0VuYWJsZWQgfHwgaXNEaXNhYmxlZCk7CisgICAgICAgICAgICBj
b25zdCBBTkdMRUZlYXR1cmUgaXNTdXBwb3J0ZWQgPQorICAgICAgICAgICAgICAgIGlzRW5hYmxl
ZCA/IEFOR0xFRmVhdHVyZTo6U3VwcG9ydGVkIDogQU5HTEVGZWF0dXJlOjpVbnN1cHBvcnRlZDsK
KworICAgICAgICAgICAgaWYgKGlzTG9hZFN0b3JlT3BOb25lRVhUKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIG1Mb2FkT3BOb25lU3VwcG9ydCA9IGlzU3VwcG9ydGVkOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBpZiAoaXNTdG9yZU9wTm9uZVFDT00gfHwgaXNMb2FkU3Rv
cmVPcE5vbmVFWFQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKG1TdG9yZU9w
Tm9uZVN1cHBvcnQgPT0gQU5HTEVGZWF0dXJlOjpVbmtub3duIHx8CisgICAgICAgICAgICAgICAg
ICAgIG1TdG9yZU9wTm9uZVN1cHBvcnQgPT0gQU5HTEVGZWF0dXJlOjpVbnN1cHBvcnRlZCkKKyAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG1TdG9yZU9wTm9uZVN1cHBvcnQg
PSBpc1N1cHBvcnRlZDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmIChzdHJjbXAoZmVhdHVyZU5hbWUsICJwcmVmZXJEcmF3Q2xlYXJPdmVyVmtDbWRD
bGVhckF0dGFjaG1lbnRzIikgPT0gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBt
UHJlZmVyRHJhd092ZXJDbGVhckF0dGFjaG1lbnRzID0gaXNTdXBwb3J0ZWQ7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBNYWtlIHN1cmUgZmVhdHVyZSByZW5hbWVzIGFy
ZSBjYXVnaHQKKyAgICAgICAgQVNTRVJUX05FKG1Mb2FkT3BOb25lU3VwcG9ydCwgQU5HTEVGZWF0
dXJlOjpVbmtub3duKTsKKyAgICAgICAgQVNTRVJUX05FKG1TdG9yZU9wTm9uZVN1cHBvcnQsIEFO
R0xFRmVhdHVyZTo6VW5rbm93bik7CisgICAgICAgIEFTU0VSVF9ORShtUHJlZmVyRHJhd092ZXJD
bGVhckF0dGFjaG1lbnRzLCBBTkdMRUZlYXR1cmU6OlVua25vd24pOworCisgICAgICAgIC8vIElt
cG9zc2libGUgdG8gaGF2ZSBMT0FEX09QX05PTkUgYnV0IG5vdCBTVE9SRV9PUF9OT05FCisgICAg
ICAgIEFTU0VSVF9GQUxTRShtTG9hZE9wTm9uZVN1cHBvcnQgPT0gQU5HTEVGZWF0dXJlOjpTdXBw
b3J0ZWQgJiYKKyAgICAgICAgICAgICAgICAgICAgIG1TdG9yZU9wTm9uZVN1cHBvcnQgIT0gQU5H
TEVGZWF0dXJlOjpTdXBwb3J0ZWQpOworICAgIH0KKworICAgIHZvaWQgc2V0dXBGb3JDb2xvck9w
c1Rlc3QoR0xGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIsIEdMVGV4dHVyZSAqdGV4dHVyZSkKKyAg
ICB7CisgICAgICAgIC8vIFNldHVwIHRoZSBmcmFtZWJ1ZmZlcgorICAgICAgICBnbEJpbmRGcmFt
ZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgKmZyYW1lYnVmZmVyKTsKKyAgICAgICAgZ2xCaW5kVGV4
dHVyZShHTF9URVhUVVJFXzJELCAqdGV4dHVyZSk7CisgICAgICAgIGdsVGV4SW1hZ2UyRChHTF9U
RVhUVVJFXzJELCAwLCBHTF9SR0JBLCBrT3BzVGVzdFNpemUsIGtPcHNUZXN0U2l6ZSwgMCwgR0xf
UkdCQSwKKyAgICAgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOwor
ICAgICAgICBnbEZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9B
VFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV8yRCwgKnRleHR1cmUsIDApOworICAgICAgICBBU1NFUlRf
R0xfRlJBTUVCVUZGRVJfQ09NUExFVEUoR0xfRlJBTUVCVUZGRVIpOworICAgIH0KIAotICAgIHZv
aWQgc2V0dXBDbGVhckFuZERyYXdGb3JJbnZhbGlkYXRlVGVzdChHTFByb2dyYW0gKnByb2dyYW0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMRnJhbWVidWZm
ZXIgKmZyYW1lYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTFRleHR1cmUgKnRleHR1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMUmVuZGVyYnVmZmVyICpyZW5kZXJidWZmZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2xlYXJTdGVuY2lsKQorICAgIHZv
aWQgc2V0dXBGb3JDb2xvckRlcHRoT3BzVGVzdChHTEZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xUZXh0dXJlICp0ZXh0dXJlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTFJlbmRlcmJ1ZmZlciAqcmVuZGVy
YnVmZmVyKQogICAgIHsKLSAgICAgICAgZ2xVc2VQcm9ncmFtKCpwcm9ncmFtKTsKKyAgICAgICAg
Ly8gU2V0dXAgY29sb3IgYW5kIGRlcHRoCisgICAgICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZS
QU1FQlVGRkVSLCAqZnJhbWVidWZmZXIpOworICAgICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRV
UkVfMkQsICp0ZXh0dXJlKTsKKyAgICAgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAs
IEdMX1JHQkEsIGtPcHNUZXN0U2l6ZSwga09wc1Rlc3RTaXplLCAwLCBHTF9SR0JBLAorICAgICAg
ICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgbnVsbHB0cik7CisgICAgICAgIGdsRnJh
bWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBH
TF9URVhUVVJFXzJELCAqdGV4dHVyZSwgMCk7CisgICAgICAgIGdsQmluZFJlbmRlcmJ1ZmZlcihH
TF9SRU5ERVJCVUZGRVIsICpyZW5kZXJidWZmZXIpOworICAgICAgICBnbFJlbmRlcmJ1ZmZlclN0
b3JhZ2UoR0xfUkVOREVSQlVGRkVSLCBHTF9ERVBUSF9DT01QT05FTlQyNCwga09wc1Rlc3RTaXpl
LCBrT3BzVGVzdFNpemUpOworICAgICAgICBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdMX0ZS
QU1FQlVGRkVSLCBHTF9ERVBUSF9BVFRBQ0hNRU5ULCBHTF9SRU5ERVJCVUZGRVIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKnJlbmRlcmJ1ZmZlcik7CisgICAgICAgIEFTU0VS
VF9HTF9GUkFNRUJVRkZFUl9DT01QTEVURShHTF9GUkFNRUJVRkZFUik7CisKKyAgICAgICAgLy8g
U2V0dXAgZGVwdGggcGFyYW1ldGVycworICAgICAgICBnbEVuYWJsZShHTF9ERVBUSF9URVNUKTsK
KyAgICAgICAgZ2xEZXB0aE1hc2soR0xfVFJVRSk7CisgICAgICAgIGdsRGVwdGhGdW5jKEdMX0dF
UVVBTCk7CisgICAgICAgIGdsQ2xlYXJEZXB0aGYoMC45OWYpOworICAgICAgICBnbFZpZXdwb3J0
KDAsIDAsIGtPcHNUZXN0U2l6ZSwga09wc1Rlc3RTaXplKTsKKyAgICAgICAgQVNTRVJUX0dMX05P
X0VSUk9SKCk7CisgICAgfQogCi0gICAgICAgIC8vIFNldHVwIHRvIGRyYXcgdG8gY29sb3IsIGRl
cHRoLCBhbmQgc3RlbmNpbAorICAgIHZvaWQgc2V0dXBGb3JEZXB0aFN0ZW5jaWxPcHNUZXN0KEdM
RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMVGV4dHVyZSAqdGV4dHVyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTFJlbmRlcmJ1ZmZlciAqcmVuZGVyYnVmZmVyKQorICAgIHsKKyAgICAgICAgLy8g
U2V0dXAgY29sb3IsIGRlcHRoLCBhbmQgc3RlbmNpbAogICAgICAgICBnbEJpbmRGcmFtZWJ1ZmZl
cihHTF9GUkFNRUJVRkZFUiwgKmZyYW1lYnVmZmVyKTsKICAgICAgICAgZ2xCaW5kVGV4dHVyZShH
TF9URVhUVVJFXzJELCAqdGV4dHVyZSk7Ci0gICAgICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJF
XzJELCAwLCBHTF9SR0JBLCBrSW52YWxpZGF0ZVRlc3RTaXplLCBrSW52YWxpZGF0ZVRlc3RTaXpl
LCAwLAotICAgICAgICAgICAgICAgICAgICAgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgbnVs
bHB0cik7CisgICAgICAgIGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCBr
T3BzVGVzdFNpemUsIGtPcHNUZXN0U2l6ZSwgMCwgR0xfUkdCQSwKKyAgICAgICAgICAgICAgICAg
ICAgIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOwogICAgICAgICBnbEZyYW1lYnVmZmVyVGV4
dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV8y
RCwgKnRleHR1cmUsIDApOwogICAgICAgICBnbEJpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVG
RkVSLCAqcmVuZGVyYnVmZmVyKTsKLSAgICAgICAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlKEdMX1JF
TkRFUkJVRkZFUiwgR0xfREVQVEgyNF9TVEVOQ0lMOCwga0ludmFsaWRhdGVUZXN0U2l6ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtJbnZhbGlkYXRlVGVzdFNpemUpOworICAgICAg
ICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UoR0xfUkVOREVSQlVGRkVSLCBHTF9ERVBUSDI0X1NURU5D
SUw4LCBrT3BzVGVzdFNpemUsIGtPcHNUZXN0U2l6ZSk7CiAgICAgICAgIGdsRnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoR0xfRlJBTUVCVUZGRVIsIEdMX0RFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwg
R0xfUkVOREVSQlVGRkVSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyZW5k
ZXJidWZmZXIpOwogICAgICAgICBBU1NFUlRfR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUoR0xfRlJB
TUVCVUZGRVIpOwogCi0gICAgICAgIC8vIENsZWFyIGFuZCBkcmF3IHdpdGggZGVwdGggYW5kIHN0
ZW5jaWwgYnVmZmVyIGVuYWJsZWQKKyAgICAgICAgLy8gU2V0dXAgZGVwdGggcGFyYW1ldGVycwog
ICAgICAgICBnbEVuYWJsZShHTF9ERVBUSF9URVNUKTsKICAgICAgICAgZ2xEZXB0aE1hc2soR0xf
VFJVRSk7CiAgICAgICAgIGdsRGVwdGhGdW5jKEdMX0dFUVVBTCk7Ci0gICAgICAgIGdsQ2xlYXJE
ZXB0aGYoMC45OWYpOwogICAgICAgICBnbEVuYWJsZShHTF9TVEVOQ0lMX1RFU1QpOworICAgICAg
ICBnbFN0ZW5jaWxPcChHTF9LRUVQLCBHTF9LRUVQLCBHTF9LRUVQKTsKKyAgICAgICAgZ2xTdGVu
Y2lsTWFzaygweEZGKTsKKyAgICAgICAgZ2xDbGVhckRlcHRoZigwLjk5Zik7CiAgICAgICAgIGds
Q2xlYXJTdGVuY2lsKDB4QUEpOwotICAgICAgICBnbFZpZXdwb3J0KDAsIDAsIGtJbnZhbGlkYXRl
VGVzdFNpemUsIGtJbnZhbGlkYXRlVGVzdFNpemUpOworICAgICAgICBnbFZpZXdwb3J0KDAsIDAs
IGtPcHNUZXN0U2l6ZSwga09wc1Rlc3RTaXplKTsKKyAgICAgICAgQVNTRVJUX0dMX05PX0VSUk9S
KCk7CisgICAgfQorCisgICAgdm9pZCBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9w
c1Rlc3QoR0xQcm9ncmFtICpwcm9ncmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMRnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMVGV4dHVyZSAqdGV4dHVy
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTFJl
bmRlcmJ1ZmZlciAqcmVuZGVyYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgY2xlYXJTdGVuY2lsKQorICAgIHsKKyAgICAgICAgc2V0
dXBGb3JEZXB0aFN0ZW5jaWxPcHNUZXN0KGZyYW1lYnVmZmVyLCB0ZXh0dXJlLCByZW5kZXJidWZm
ZXIpOworCisgICAgICAgIC8vIENsZWFyIGFuZCBkcmF3IHdpdGggZGVwdGggYW5kIHN0ZW5jaWwg
YnVmZmVyIGVuYWJsZWQKICAgICAgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUIHwgR0xf
REVQVEhfQlVGRkVSX0JJVCB8CiAgICAgICAgICAgICAgICAgKGNsZWFyU3RlbmNpbCA/IEdMX1NU
RU5DSUxfQlVGRkVSX0JJVCA6IDApKTsKICAgICAgICAgZHJhd1F1YWQoKnByb2dyYW0sIGVzc2wx
X3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwogICAgICAgICBBU1NFUlRfR0xfTk9f
RVJST1IoKTsKICAgICB9CiAKLSAgICB2b2lkIHNldEV4cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlk
YXRlVGVzdChjb25zdCBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICZjb3VudGVycywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1l
bnRhbFJlbmRlclBhc3NlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbERlcHRoQ2xlYXJzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsRGVwdGhM
b2FkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBpbmNyZW1lbnRhbERlcHRoU3RvcmVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsU3RlbmNpbENsZWFycywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNy
ZW1lbnRhbFN0ZW5jaWxMb2FkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbFN0ZW5jaWxTdG9yZXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3Vu
dGVycyAqZXhwZWN0ZWQpCisgICAgdm9pZCBhY2N1bXVsYXRlTG9hZE9wTm9uZSh1aW50MzJfdCBs
b2FkT3BOb25lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpleHBl
Y3RlZExvYWRPcE5vbmVzT3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgKmV4cGVjdGVkTG9hZE9wTG9hZHNPdXQpCisgICAgeworICAgICAgICBpZiAobUxvYWRPcE5v
bmVTdXBwb3J0ID09IEFOR0xFRmVhdHVyZTo6U3VwcG9ydGVkKQorICAgICAgICB7CisgICAgICAg
ICAgICAqZXhwZWN0ZWRMb2FkT3BOb25lc091dCA9IGxvYWRPcE5vbmVzOworICAgICAgICB9Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLy8gSWYgTE9BRF9PUF9OT05FIGlz
IG5vdCBzdXBwb3J0ZWQsIExPQURfT1BfTE9BRCBpcyB1c2VkIGluc3RlYWQuCisgICAgICAgICAg
ICAqZXhwZWN0ZWRMb2FkT3BMb2Fkc091dCArPSBsb2FkT3BOb25lczsKKyAgICAgICAgICAgICpl
eHBlY3RlZExvYWRPcE5vbmVzT3V0ID0gMDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQg
YWNjdW11bGF0ZVN0b3JlT3BOb25lKHVpbnQzMl90IHN0b3JlT3BOb25lcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZXhwZWN0ZWRTdG9yZU9wTm9uZXNPdXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmV4cGVjdGVkU3RvcmVPcFN0
b3Jlc091dCkKKyAgICB7CisgICAgICAgIGlmIChtU3RvcmVPcE5vbmVTdXBwb3J0ID09IEFOR0xF
RmVhdHVyZTo6U3VwcG9ydGVkKQorICAgICAgICB7CisgICAgICAgICAgICAqZXhwZWN0ZWRTdG9y
ZU9wTm9uZXNPdXQgPSBzdG9yZU9wTm9uZXM7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAg
ICAgICB7CisgICAgICAgICAgICAvLyBJZiBTVE9SRV9PUF9OT05FIGlzIG5vdCBzdXBwb3J0ZWQs
IFNUT1JFX09QX1NUT1JFIGlzIHVzZWQgaW5zdGVhZC4KKyAgICAgICAgICAgICpleHBlY3RlZFN0
b3JlT3BTdG9yZXNPdXQgKz0gc3RvcmVPcE5vbmVzOworICAgICAgICAgICAgKmV4cGVjdGVkU3Rv
cmVPcE5vbmVzT3V0ID0gMDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgc2V0RXhwZWN0
ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGNvbnN0IGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgJmNv
dW50ZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGluY3JlbWVudGFsUmVuZGVyUGFzc2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsRGVwdGhMb2FkT3BDbGVhcnMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jcmVtZW50YWxEZXB0
aExvYWRPcExvYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IGluY3JlbWVudGFsRGVwdGhMb2FkT3BOb25lcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbERlcHRoU3RvcmVPcFN0b3Jl
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNy
ZW1lbnRhbERlcHRoU3RvcmVPcE5vbmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgKmV4cGVjdGVkKQorICAgIHsKKyAg
ICAgICAgZXhwZWN0ZWQtPnJlbmRlclBhc3NlcyAgICAgICA9IGNvdW50ZXJzLnJlbmRlclBhc3Nl
cyArIGluY3JlbWVudGFsUmVuZGVyUGFzc2VzOworICAgICAgICBleHBlY3RlZC0+ZGVwdGhMb2Fk
T3BDbGVhcnMgID0gY291bnRlcnMuZGVwdGhMb2FkT3BDbGVhcnMgKyBpbmNyZW1lbnRhbERlcHRo
TG9hZE9wQ2xlYXJzOworICAgICAgICBleHBlY3RlZC0+ZGVwdGhMb2FkT3BMb2FkcyAgID0gY291
bnRlcnMuZGVwdGhMb2FkT3BMb2FkcyArIGluY3JlbWVudGFsRGVwdGhMb2FkT3BMb2FkczsKKyAg
ICAgICAgZXhwZWN0ZWQtPmRlcHRoU3RvcmVPcFN0b3JlcyA9IGNvdW50ZXJzLmRlcHRoU3RvcmVP
cFN0b3JlcyArIGluY3JlbWVudGFsRGVwdGhTdG9yZU9wU3RvcmVzOworCisgICAgICAgIGFjY3Vt
dWxhdGVMb2FkT3BOb25lKGNvdW50ZXJzLmRlcHRoTG9hZE9wTm9uZXMgKyBpbmNyZW1lbnRhbERl
cHRoTG9hZE9wTm9uZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZleHBlY3RlZC0+
ZGVwdGhMb2FkT3BOb25lcywgJmV4cGVjdGVkLT5kZXB0aExvYWRPcExvYWRzKTsKKyAgICAgICAg
YWNjdW11bGF0ZVN0b3JlT3BOb25lKGNvdW50ZXJzLmRlcHRoU3RvcmVPcE5vbmVzICsgaW5jcmVt
ZW50YWxEZXB0aFN0b3JlT3BOb25lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZl
eHBlY3RlZC0+ZGVwdGhTdG9yZU9wTm9uZXMsICZleHBlY3RlZC0+ZGVwdGhTdG9yZU9wU3RvcmVz
KTsKKyAgICB9CisKKyAgICB2b2lkIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGNv
bnN0IGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgJmNvdW50ZXJzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jcmVtZW50YWxTdGVuY2lsTG9h
ZE9wQ2xlYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QgaW5jcmVtZW50YWxTdGVuY2lsTG9hZE9wTG9hZHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbFN0ZW5jaWxMb2FkT3BO
b25lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IGluY3JlbWVudGFsU3RlbmNpbFN0b3JlT3BTdG9yZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbFN0ZW5jaWxTdG9yZU9wTm9u
ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZTo6VnVs
a2FuUGVyZkNvdW50ZXJzICpleHBlY3RlZCkKKyAgICB7CisgICAgICAgIGV4cGVjdGVkLT5zdGVu
Y2lsTG9hZE9wQ2xlYXJzID0KKyAgICAgICAgICAgIGNvdW50ZXJzLnN0ZW5jaWxMb2FkT3BDbGVh
cnMgKyBpbmNyZW1lbnRhbFN0ZW5jaWxMb2FkT3BDbGVhcnM7CisgICAgICAgIGV4cGVjdGVkLT5z
dGVuY2lsTG9hZE9wTG9hZHMgPSBjb3VudGVycy5zdGVuY2lsTG9hZE9wTG9hZHMgKyBpbmNyZW1l
bnRhbFN0ZW5jaWxMb2FkT3BMb2FkczsKKyAgICAgICAgZXhwZWN0ZWQtPnN0ZW5jaWxTdG9yZU9w
U3RvcmVzID0KKyAgICAgICAgICAgIGNvdW50ZXJzLnN0ZW5jaWxTdG9yZU9wU3RvcmVzICsgaW5j
cmVtZW50YWxTdGVuY2lsU3RvcmVPcFN0b3JlczsKKworICAgICAgICBhY2N1bXVsYXRlTG9hZE9w
Tm9uZShjb3VudGVycy5zdGVuY2lsTG9hZE9wTm9uZXMgKyBpbmNyZW1lbnRhbFN0ZW5jaWxMb2Fk
T3BOb25lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4cGVjdGVkLT5zdGVuY2ls
TG9hZE9wTm9uZXMsICZleHBlY3RlZC0+c3RlbmNpbExvYWRPcExvYWRzKTsKKyAgICAgICAgYWNj
dW11bGF0ZVN0b3JlT3BOb25lKGNvdW50ZXJzLnN0ZW5jaWxTdG9yZU9wTm9uZXMgKyBpbmNyZW1l
bnRhbFN0ZW5jaWxTdG9yZU9wTm9uZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
ZXhwZWN0ZWQtPnN0ZW5jaWxTdG9yZU9wTm9uZXMsICZleHBlY3RlZC0+c3RlbmNpbFN0b3JlT3BT
dG9yZXMpOworICAgIH0KKworICAgIHZvaWQgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckNvbG9yT3Bz
KGNvbnN0IGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgJmNvdW50ZXJzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsUmVuZGVyUGFz
c2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlu
Y3JlbWVudGFsQ29sb3JMb2FkT3BDbGVhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QgaW5jcmVtZW50YWxDb2xvckxvYWRPcExvYWRzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsQ29s
b3JMb2FkT3BOb25lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBpbmNyZW1lbnRhbENvbG9yU3RvcmVPcFN0b3JlcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbENvbG9yU3RvcmVPcE5v
bmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpWdWxr
YW5QZXJmQ291bnRlcnMgKmV4cGVjdGVkKQorICAgIHsKKyAgICAgICAgZXhwZWN0ZWQtPnJlbmRl
clBhc3NlcyAgICAgICA9IGNvdW50ZXJzLnJlbmRlclBhc3NlcyArIGluY3JlbWVudGFsUmVuZGVy
UGFzc2VzOworICAgICAgICBleHBlY3RlZC0+Y29sb3JMb2FkT3BDbGVhcnMgID0gY291bnRlcnMu
Y29sb3JMb2FkT3BDbGVhcnMgKyBpbmNyZW1lbnRhbENvbG9yTG9hZE9wQ2xlYXJzOworICAgICAg
ICBleHBlY3RlZC0+Y29sb3JMb2FkT3BMb2FkcyAgID0gY291bnRlcnMuY29sb3JMb2FkT3BMb2Fk
cyArIGluY3JlbWVudGFsQ29sb3JMb2FkT3BMb2FkczsKKyAgICAgICAgZXhwZWN0ZWQtPmNvbG9y
U3RvcmVPcFN0b3JlcyA9IGNvdW50ZXJzLmNvbG9yU3RvcmVPcFN0b3JlcyArIGluY3JlbWVudGFs
Q29sb3JTdG9yZU9wU3RvcmVzOworCisgICAgICAgIGFjY3VtdWxhdGVMb2FkT3BOb25lKGNvdW50
ZXJzLmNvbG9yTG9hZE9wTm9uZXMgKyBpbmNyZW1lbnRhbENvbG9yTG9hZE9wTm9uZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZleHBlY3RlZC0+Y29sb3JMb2FkT3BOb25lcywgJmV4
cGVjdGVkLT5jb2xvckxvYWRPcExvYWRzKTsKKyAgICAgICAgYWNjdW11bGF0ZVN0b3JlT3BOb25l
KGNvdW50ZXJzLmNvbG9yU3RvcmVPcE5vbmVzICsgaW5jcmVtZW50YWxDb2xvclN0b3JlT3BOb25l
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZleHBlY3RlZC0+Y29sb3JTdG9yZU9w
Tm9uZXMsICZleHBlY3RlZC0+Y29sb3JTdG9yZU9wU3RvcmVzKTsKKyAgICB9CisKKyAgICB2b2lk
IGNvbXBhcmVEZXB0aE9wQ291bnRlcnMoY29uc3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyAm
Y291bnRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFuZ2xlOjpW
dWxrYW5QZXJmQ291bnRlcnMgJmV4cGVjdGVkKQogICAgIHsKLSAgICAgICAgZXhwZWN0ZWQtPnJl
bmRlclBhc3NlcyAgPSBjb3VudGVycy5yZW5kZXJQYXNzZXMgKyBpbmNyZW1lbnRhbFJlbmRlclBh
c3NlczsKLSAgICAgICAgZXhwZWN0ZWQtPmRlcHRoQ2xlYXJzICAgPSBjb3VudGVycy5kZXB0aENs
ZWFycyArIGluY3JlbWVudGFsRGVwdGhDbGVhcnM7Ci0gICAgICAgIGV4cGVjdGVkLT5kZXB0aExv
YWRzICAgID0gY291bnRlcnMuZGVwdGhMb2FkcyArIGluY3JlbWVudGFsRGVwdGhMb2FkczsKLSAg
ICAgICAgZXhwZWN0ZWQtPmRlcHRoU3RvcmVzICAgPSBjb3VudGVycy5kZXB0aFN0b3JlcyArIGlu
Y3JlbWVudGFsRGVwdGhTdG9yZXM7Ci0gICAgICAgIGV4cGVjdGVkLT5zdGVuY2lsQ2xlYXJzID0g
Y291bnRlcnMuc3RlbmNpbENsZWFycyArIGluY3JlbWVudGFsU3RlbmNpbENsZWFyczsKLSAgICAg
ICAgZXhwZWN0ZWQtPnN0ZW5jaWxMb2FkcyAgPSBjb3VudGVycy5zdGVuY2lsTG9hZHMgKyBpbmNy
ZW1lbnRhbFN0ZW5jaWxMb2FkczsKLSAgICAgICAgZXhwZWN0ZWQtPnN0ZW5jaWxTdG9yZXMgPSBj
b3VudGVycy5zdGVuY2lsU3RvcmVzICsgaW5jcmVtZW50YWxTdGVuY2lsU3RvcmVzOworICAgICAg
ICBFWFBFQ1RfRVEoZXhwZWN0ZWQuZGVwdGhMb2FkT3BDbGVhcnMsIGNvdW50ZXJzLmRlcHRoTG9h
ZE9wQ2xlYXJzKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkLmRlcHRoTG9hZE9wTG9hZHMs
IGNvdW50ZXJzLmRlcHRoTG9hZE9wTG9hZHMpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQu
ZGVwdGhMb2FkT3BOb25lcywgY291bnRlcnMuZGVwdGhMb2FkT3BOb25lcyk7CisgICAgICAgIEVY
UEVDVF9FUShleHBlY3RlZC5kZXB0aFN0b3JlT3BTdG9yZXMsIGNvdW50ZXJzLmRlcHRoU3RvcmVP
cFN0b3Jlcyk7CisgICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5kZXB0aFN0b3JlT3BOb25lcywg
Y291bnRlcnMuZGVwdGhTdG9yZU9wTm9uZXMpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGFyZURl
cHRoU3RlbmNpbENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoY29uc3QgYW5nbGU6OlZ1bGthblBl
cmZDb3VudGVycyAmY291bnRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICZleHBl
Y3RlZCkKKyAgICB2b2lkIGNvbXBhcmVTdGVuY2lsT3BDb3VudGVycyhjb25zdCBhbmdsZTo6VnVs
a2FuUGVyZkNvdW50ZXJzICZjb3VudGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICZleHBlY3RlZCkKICAgICB7Ci0g
ICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5kZXB0aENsZWFycywgY291bnRlcnMuZGVwdGhDbGVh
cnMpOwotICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQuZGVwdGhMb2FkcywgY291bnRlcnMuZGVw
dGhMb2Fkcyk7Ci0gICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5kZXB0aFN0b3JlcywgY291bnRl
cnMuZGVwdGhTdG9yZXMpOwotICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQuc3RlbmNpbENsZWFy
cywgY291bnRlcnMuc3RlbmNpbENsZWFycyk7Ci0gICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5z
dGVuY2lsTG9hZHMsIGNvdW50ZXJzLnN0ZW5jaWxMb2Fkcyk7Ci0gICAgICAgIEVYUEVDVF9FUShl
eHBlY3RlZC5zdGVuY2lsU3RvcmVzLCBjb3VudGVycy5zdGVuY2lsU3RvcmVzKTsKKyAgICAgICAg
RVhQRUNUX0VRKGV4cGVjdGVkLnN0ZW5jaWxMb2FkT3BDbGVhcnMsIGNvdW50ZXJzLnN0ZW5jaWxM
b2FkT3BDbGVhcnMpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQuc3RlbmNpbExvYWRPcExv
YWRzLCBjb3VudGVycy5zdGVuY2lsTG9hZE9wTG9hZHMpOworICAgICAgICBFWFBFQ1RfRVEoZXhw
ZWN0ZWQuc3RlbmNpbExvYWRPcE5vbmVzLCBjb3VudGVycy5zdGVuY2lsTG9hZE9wTm9uZXMpOwor
ICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQuc3RlbmNpbFN0b3JlT3BTdG9yZXMsIGNvdW50ZXJz
LnN0ZW5jaWxTdG9yZU9wU3RvcmVzKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkLnN0ZW5j
aWxTdG9yZU9wTm9uZXMsIGNvdW50ZXJzLnN0ZW5jaWxTdG9yZU9wTm9uZXMpOwogICAgIH0KIAot
ICAgIHZvaWQgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoY29u
c3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyAmY291bnRlcnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRh
bERlcHRoTG9hZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbFN0ZW5jaWxMb2FkcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlOjpWdWxrYW5Q
ZXJmQ291bnRlcnMgKmV4cGVjdGVkKQorICAgIHZvaWQgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291
bnRlcnMoY29uc3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyAmY291bnRlcnMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmdsZTo6VnVsa2FuUGVyZkNv
dW50ZXJzICZleHBlY3RlZCkKICAgICB7Ci0gICAgICAgIGV4cGVjdGVkLT5kZXB0aExvYWRzICAg
PSBjb3VudGVycy5kZXB0aExvYWRzICsgaW5jcmVtZW50YWxEZXB0aExvYWRzOwotICAgICAgICBl
eHBlY3RlZC0+c3RlbmNpbExvYWRzID0gY291bnRlcnMuc3RlbmNpbExvYWRzICsgaW5jcmVtZW50
YWxTdGVuY2lsTG9hZHM7CisgICAgICAgIGNvbXBhcmVEZXB0aE9wQ291bnRlcnMoY291bnRlcnMs
IGV4cGVjdGVkKTsKKyAgICAgICAgY29tcGFyZVN0ZW5jaWxPcENvdW50ZXJzKGNvdW50ZXJzLCBl
eHBlY3RlZCk7CiAgICAgfQogCi0gICAgdm9pZCBjb21wYXJlTG9hZENvdW50ZXJzRm9ySW52YWxp
ZGF0ZVRlc3QoY29uc3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyAmY291bnRlcnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5nbGU6OlZ1
bGthblBlcmZDb3VudGVycyAmZXhwZWN0ZWQpCisgICAgdm9pZCBjb21wYXJlQ29sb3JPcENvdW50
ZXJzKGNvbnN0IGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgJmNvdW50ZXJzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICZl
eHBlY3RlZCkKICAgICB7Ci0gICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5kZXB0aExvYWRzLCBj
b3VudGVycy5kZXB0aExvYWRzKTsKLSAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkLnN0ZW5jaWxM
b2FkcywgY291bnRlcnMuc3RlbmNpbExvYWRzKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVk
LmNvbG9yTG9hZE9wQ2xlYXJzLCBjb3VudGVycy5jb2xvckxvYWRPcENsZWFycyk7CisgICAgICAg
IEVYUEVDVF9FUShleHBlY3RlZC5jb2xvckxvYWRPcExvYWRzLCBjb3VudGVycy5jb2xvckxvYWRP
cExvYWRzKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkLmNvbG9yTG9hZE9wTm9uZXMsIGNv
dW50ZXJzLmNvbG9yTG9hZE9wTm9uZXMpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQuY29s
b3JTdG9yZU9wU3RvcmVzLCBjb3VudGVycy5jb2xvclN0b3JlT3BTdG9yZXMpOworICAgICAgICBF
WFBFQ1RfRVEoZXhwZWN0ZWQuY29sb3JTdG9yZU9wTm9uZXMsIGNvdW50ZXJzLmNvbG9yU3RvcmVP
cE5vbmVzKTsKKyAgICB9CisKKyAgICB2b2lkIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExv
YWRDb3VudGVyc0Zvck9wc1Rlc3QoCisgICAgICAgIGNvbnN0IGFuZ2xlOjpWdWxrYW5QZXJmQ291
bnRlcnMgJmNvdW50ZXJzLAorICAgICAgICB1aW50MzJfdCBpbmNyZW1lbnRhbERlcHRoTG9hZE9w
TG9hZHMsCisgICAgICAgIHVpbnQzMl90IGluY3JlbWVudGFsU3RlbmNpbExvYWRPcExvYWRzLAor
ICAgICAgICBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzICpleHBlY3RlZCkKKyAgICB7CisgICAg
ICAgIGV4cGVjdGVkLT5kZXB0aExvYWRPcExvYWRzICAgPSBjb3VudGVycy5kZXB0aExvYWRPcExv
YWRzICsgaW5jcmVtZW50YWxEZXB0aExvYWRPcExvYWRzOworICAgICAgICBleHBlY3RlZC0+c3Rl
bmNpbExvYWRPcExvYWRzID0gY291bnRlcnMuc3RlbmNpbExvYWRPcExvYWRzICsgaW5jcmVtZW50
YWxTdGVuY2lsTG9hZE9wTG9hZHM7CisgICAgfQorCisgICAgdm9pZCBjb21wYXJlRGVwdGhTdGVu
Y2lsTG9hZE9wQ291bnRlcnMoY29uc3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyAmY291bnRl
cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5n
bGU6OlZ1bGthblBlcmZDb3VudGVycyAmZXhwZWN0ZWQpCisgICAgeworICAgICAgICBFWFBFQ1Rf
RVEoZXhwZWN0ZWQuZGVwdGhMb2FkT3BMb2FkcywgY291bnRlcnMuZGVwdGhMb2FkT3BMb2Fkcyk7
CisgICAgICAgIEVYUEVDVF9FUShleHBlY3RlZC5zdGVuY2lsTG9hZE9wTG9hZHMsIGNvdW50ZXJz
LnN0ZW5jaWxMb2FkT3BMb2Fkcyk7CiAgICAgfQogCiAgICAgdm9pZCBzZXRFeHBlY3RlZENvdW50
ZXJzRm9yVW5yZXNvbHZlUmVzb2x2ZVRlc3QoY29uc3QgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVy
cyAmY291bnRlcnMsCkBAIC0xNjEsNiArMzc4LDIxIEBAIGNsYXNzIFZ1bGthblBlcmZvcm1hbmNl
Q291bnRlclRlc3QgOiBwdWJsaWMgQU5HTEVUZXN0CiAgICAgICAgIEVYUEVDVF9FUShleHBlY3Rl
ZC5zdGVuY2lsQXR0YWNobWVudFJlc29sdmVzLCBjb3VudGVycy5zdGVuY2lsQXR0YWNobWVudFJl
c29sdmVzKTsKICAgICB9CiAKKyAgICB2b2lkIGNvbXBhcmVDbGVhckF0dGFjaG1lbnRzQ291bnRl
cih1aW50MzJfdCBleHBlY3RlZCwgdWludDMyX3QgYWN0dWFsKQorICAgIHsKKyAgICAgICAgaWYg
KG1QcmVmZXJEcmF3T3ZlckNsZWFyQXR0YWNobWVudHMgPT0gQU5HTEVGZWF0dXJlOjpTdXBwb3J0
ZWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9FUShhY3R1YWwsIDB1KTsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIEVYUEVDVF9FUShhY3R1
YWwsIGV4cGVjdGVkKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgbWFza2VkRnJhbWVi
dWZmZXJGZXRjaERyYXcoY29uc3QgR0xDb2xvciAmY2xlYXJDb2xvciwgR0xCdWZmZXIgJmJ1ZmZl
cik7CisgICAgdm9pZCBtYXNrZWRGcmFtZWJ1ZmZlckZldGNoRHJhd1ZlcmlmeShjb25zdCBHTENv
bG9yICZleHBlY3RlZENvbG9yLCBHTEJ1ZmZlciAmYnVmZmVyKTsKKwogICAgIGFuZ2xlOjpWdWxr
YW5QZXJmQ291bnRlcnMgZ2V0UGVyZkNvdW50ZXJzKCkKICAgICB7CiAgICAgICAgIGlmIChtSW5k
ZXhNYXAuZW1wdHkoKSkKQEAgLTE3Miw2ICs0MDQsMTEgQEAgY2xhc3MgVnVsa2FuUGVyZm9ybWFu
Y2VDb3VudGVyVGVzdCA6IHB1YmxpYyBBTkdMRVRlc3QKICAgICB9CiAKICAgICBDb3VudGVyTmFt
ZVRvSW5kZXhNYXAgbUluZGV4TWFwOworCisgICAgLy8gU3VwcG9ydCBzdGF0dXMgZm9yIEFOR0xF
IGZlYXR1cmVzLgorICAgIEFOR0xFRmVhdHVyZSBtTG9hZE9wTm9uZVN1cHBvcnQ7CisgICAgQU5H
TEVGZWF0dXJlIG1TdG9yZU9wTm9uZVN1cHBvcnQ7CisgICAgQU5HTEVGZWF0dXJlIG1QcmVmZXJE
cmF3T3ZlckNsZWFyQXR0YWNobWVudHM7CiB9OwogCiBjbGFzcyBWdWxrYW5QZXJmb3JtYW5jZUNv
dW50ZXJUZXN0X0VTMzEgOiBwdWJsaWMgVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdApAQCAt
MTg3LDEwICs0MjQsOTIgQEAgY2xhc3MgVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdF9NU0FB
IDogcHVibGljIFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QKICAgICB9CiB9OwogCit2b2lk
IFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3Q6Om1hc2tlZEZyYW1lYnVmZmVyRmV0Y2hEcmF3
KGNvbnN0IEdMQ29sb3IgJmNsZWFyQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMQnVmZmVyICZidWZmZXIpCit7Cisg
ICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29sb3IgYnVmZmVyCisgICAgYW5nbGU6OlZlY3RvcjQgY2xl
YXJBc1ZlYzQgPSBjbGVhckNvbG9yLnRvTm9ybWFsaXplZFZlY3RvcigpOworICAgIGdsQ2xlYXJD
b2xvcihjbGVhckFzVmVjNFswXSwgY2xlYXJBc1ZlYzRbMV0sIGNsZWFyQXNWZWM0WzJdLCBjbGVh
ckFzVmVjNFszXSk7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBFWFBF
Q1RfUElYRUxfQ09MT1JfTkVBUigwLCAwLCBjbGVhckNvbG9yLCAxKTsKKworICAgIC8vIENyZWF0
ZSBvdXRwdXQgYnVmZmVyCisgICAgY29uc3RleHByIEdMc2l6ZWkga0J1ZmZlclNpemUgPSBrT3Bz
VGVzdFNpemUgKiBrT3BzVGVzdFNpemUgKiBzaXplb2YoZmxvYXRbNF0pOworICAgIGdsQmluZEJ1
ZmZlcihHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIsIGJ1ZmZlcik7CisgICAgZ2xCdWZmZXJEYXRh
KEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUiwga0J1ZmZlclNpemUsIG51bGxwdHIsIEdMX1NUQVRJ
Q19EUkFXKTsKKyAgICBnbEJpbmRCdWZmZXJSYW5nZShHTF9TSEFERVJfU1RPUkFHRV9CVUZGRVIs
IDAsIGJ1ZmZlciwgMCwga0J1ZmZlclNpemUpOworCisgICAgLy8gWmVyby1pbml0aWFsaXplIGl0
CisgICAgdm9pZCAqYnVmZmVyRGF0YSA9IGdsTWFwQnVmZmVyUmFuZ2UoCisgICAgICAgIEdMX1NI
QURFUl9TVE9SQUdFX0JVRkZFUiwgMCwga0J1ZmZlclNpemUsCisgICAgICAgIEdMX01BUF9XUklU
RV9CSVQgfCBHTF9NQVBfSU5WQUxJREFURV9CVUZGRVJfQklUIHwgR0xfTUFQX1VOU1lOQ0hST05J
WkVEX0JJVCk7CisgICAgbWVtc2V0KGJ1ZmZlckRhdGEsIDAsIGtCdWZmZXJTaXplKTsKKyAgICBn
bFVubWFwQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUik7CisKKyAgICAvLyBNYXNrIGNv
bG9yIG91dHB1dAorICAgIGdsQ29sb3JNYXNrKEdMX0ZBTFNFLCBHTF9GQUxTRSwgR0xfRkFMU0Us
IEdMX0ZBTFNFKTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrVlNbXSA9IFIiKCN2ZXJz
aW9uIDMxMCBlcworaW4gaGlnaHAgdmVjNCBhX3Bvc2l0aW9uOworCit2b2lkIG1haW4gKHZvaWQp
Cit7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfSkiOworCisgICAgc3RhdGljIGNv
bnN0ZXhwciBjaGFyIGtGU1tdID0gUiIoI3ZlcnNpb24gMzEwIGVzCisjZXh0ZW5zaW9uIEdMX0VY
VF9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2hfbm9uX2NvaGVyZW50IDogcmVxdWlyZQorbGF5b3V0
KG5vbmNvaGVyZW50LCBsb2NhdGlvbiA9IDApIGlub3V0IGhpZ2hwIHZlYzQgb19jb2xvcjsKKwor
bGF5b3V0KHN0ZDE0MCwgYmluZGluZyA9IDApIGJ1ZmZlciBvdXRCbG9jayB7CisgICAgaGlnaHAg
dmVjNCBkYXRhWzI1Nl07Cit9OworCit1bmlmb3JtIGhpZ2hwIHZlYzQgdV9jb2xvcjsKK3ZvaWQg
bWFpbiAodm9pZCkKK3sKKyAgICB1aW50IGluZGV4ID0gdWludChnbF9GcmFnQ29vcmQueSkgKiAx
NnUgKyB1aW50KGdsX0ZyYWdDb29yZC54KTsKKyAgICBkYXRhW2luZGV4XSA9IG9fY29sb3I7Cisg
ICAgb19jb2xvciArPSB1X2NvbG9yOworfSkiOworCisgICAgLy8gRHJhdworICAgIEFOR0xFX0dM
X1BST0dSQU0ocHJvZ3JhbSwga1ZTLCBrRlMpOworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wx
X3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19FUlJP
UigpOworfQorCit2b2lkIFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3Q6Om1hc2tlZEZyYW1l
YnVmZmVyRmV0Y2hEcmF3VmVyaWZ5KGNvbnN0IEdMQ29sb3IgJmV4cGVjdGVkQ29sb3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMQnVmZmVyICZidWZmZXIpCit7CisgICAgYW5nbGU6OlZlY3RvcjQgZXhwZWN0ZWRB
c1ZlYzQgPSBleHBlY3RlZENvbG9yLnRvTm9ybWFsaXplZFZlY3RvcigpOworCisgICAgLy8gUmVh
ZCBiYWNrIHRoZSBzdG9yYWdlIGJ1ZmZlciBhbmQgbWFrZSBzdXJlIGZyYW1lYnVmZmVyIGZldGNo
IHdvcmtlZCBhcyBpbnRlbmRlZCBkZXNwaXRlCisgICAgLy8gbWFza2VkIGNvbG9yLgorICAgIGds
TWVtb3J5QmFycmllcihHTF9CVUZGRVJfVVBEQVRFX0JBUlJJRVJfQklUKTsKKworICAgIGNvbnN0
ZXhwciBHTHNpemVpIGtCdWZmZXJTaXplID0ga09wc1Rlc3RTaXplICoga09wc1Rlc3RTaXplICog
c2l6ZW9mKGZsb2F0WzRdKTsKKyAgICBjb25zdCBmbG9hdCAqY29sb3JEYXRhICAgICAgICA9IHN0
YXRpY19jYXN0PGNvbnN0IGZsb2F0ICo+KAorICAgICAgICBnbE1hcEJ1ZmZlclJhbmdlKEdMX1NI
QURFUl9TVE9SQUdFX0JVRkZFUiwgMCwga0J1ZmZlclNpemUsIEdMX01BUF9SRUFEX0JJVCkpOwor
ICAgIGZvciAodWludDMyX3QgeSA9IDA7IHkgPCBrT3BzVGVzdFNpemU7ICsreSkKKyAgICB7Cisg
ICAgICAgIGZvciAodWludDMyX3QgeCA9IDA7IHggPCBrT3BzVGVzdFNpemU7ICsreCkKKyAgICAg
ICAgeworICAgICAgICAgICAgdWludDMyX3Qgc3Nib0luZGV4ID0gKHkgKiBrT3BzVGVzdFNpemUg
KyB4KSAqIDQ7CisgICAgICAgICAgICBFWFBFQ1RfTkVBUihjb2xvckRhdGFbc3Nib0luZGV4ICsg
MF0sIGV4cGVjdGVkQXNWZWM0WzBdLCAwLjA1KTsKKyAgICAgICAgICAgIEVYUEVDVF9ORUFSKGNv
bG9yRGF0YVtzc2JvSW5kZXggKyAxXSwgZXhwZWN0ZWRBc1ZlYzRbMV0sIDAuMDUpOworICAgICAg
ICAgICAgRVhQRUNUX05FQVIoY29sb3JEYXRhW3NzYm9JbmRleCArIDJdLCBleHBlY3RlZEFzVmVj
NFsyXSwgMC4wNSk7CisgICAgICAgICAgICBFWFBFQ1RfTkVBUihjb2xvckRhdGFbc3Nib0luZGV4
ICsgM10sIGV4cGVjdGVkQXNWZWM0WzNdLCAwLjA1KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBn
bFVubWFwQnVmZmVyKEdMX1NIQURFUl9TVE9SQUdFX0JVRkZFUik7Cit9CisKIC8vIFRlc3RzIHRo
YXQgdGV4dHVyZSB1cGRhdGVzIHRvIHVudXNlZCB0ZXh0dXJlcyBkb24ndCBicmVhayB0aGUgUlAu
CiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgTmV3VGV4dHVyZURvZXNOb3RC
cmVha1JlbmRlclBhc3MpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9u
RW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVy
ZXMoKTsKIAogICAgIEdMQ29sb3Iga0luaXRpYWxEYXRhWzRdID0ge0dMQ29sb3I6OnJlZCwgR0xD
b2xvcjo6Ymx1ZSwgR0xDb2xvcjo6Z3JlZW4sIEdMQ29sb3I6OnllbGxvd307CiAKQEAgLTI0MSw2
ICs1NjAsNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgTmV3VGV4dHVy
ZURvZXNOb3RCcmVha1JlbmRlclBhc3MpCiAvLyBjdXJyZW50IHJlbmRlciBwYXNzLgogVEVTVF9Q
KFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFN1Ym1pdHRpbmdPdXRzaWRlQ29tbWFuZEJ1
ZmZlckRvZXNOb3RCcmVha1JlbmRlclBhc3MpCiB7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsK
ICAgICAvLyBodHRwOi8vYW5nbGVidWcuY29tLzYzNTQKIAogICAgIHNpemVfdCBrTWF4QnVmZmVy
VG9JbWFnZUNvcHlTaXplICA9IDEgPDwgMjg7CkBAIC0zMDcsNiArNjI3LDcgQEAgVEVTVF9QKFZ1
bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFN1Ym1pdHRpbmdPdXRzaWRlQ29tbWFuZEJ1ZmZl
ckRvZXNOb3RCcmVha1IKIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBTYW1w
bGVGcm9tUkdCVGV4dHVyZURvZXNOb3RCcmVha1JlbmRlclBhc3MpCiB7CiAgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1l
KSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJv
Z3JhbSwgZXNzbDFfc2hhZGVyczo6dnM6OlRleHR1cmUyRCgpLCBlc3NsMV9zaGFkZXJzOjpmczo6
VGV4dHVyZTJEKCkpOwogICAgIGdsVXNlUHJvZ3JhbShwcm9ncmFtKTsKQEAgLTM1MCw2ICs2NzEs
NyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgU2FtcGxlRnJvbVJHQlRl
eHR1cmVEb2VzTm90QnJlYWtSZW5kZXJQYXNzKQogVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291
bnRlclRlc3QsIFJlbmRlclRvUkdCVGV4dHVyZURvZXNOb3RCcmVha1JlbmRlclBhc3MpCiB7CiAg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JF
eHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIEFOR0xFX0dM
X1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6dnM6OlBhc3N0aHJvdWdoKCksIGVzc2wx
X3NoYWRlcnM6OmZzOjpVbmlmb3JtQ29sb3IoKSk7CiAgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW0p
OwpAQCAtMzg5LDYgKzcxMSw3IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
LCBSZW5kZXJUb1JHQlRleHR1cmVEb2VzTm90QnJlYWtSZW5kZXJQYXNzKQogVEVTVF9QKFZ1bGth
blBlcmZvcm1hbmNlQ291bnRlclRlc3QsIENoYW5naW5nTWF4TGV2ZWxIaXRzRGVzY3JpcHRvckNh
Y2hlKQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1Bl
cmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAg
ICBHTENvbG9yIGtJbml0aWFsRGF0YVs0XSA9IHtHTENvbG9yOjpyZWQsIEdMQ29sb3I6OmJsdWUs
IEdMQ29sb3I6OmdyZWVuLCBHTENvbG9yOjp5ZWxsb3d9OwogCkBAIC00NDEsNiArNzY0LDcgQEAg
VEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIENoYW5naW5nTWF4TGV2ZWxIaXRz
RGVzY3JpcHRvckNhY2hlKQogVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIElu
ZGVwZW5kZW50QnVmZmVyQ29waWVzU2hhcmVTaW5nbGVCYXJyaWVyKQogewogICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFt
ZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBjb25zdGV4cHIgR0xpbnQgc3Jj
RGF0YUFbXSA9IHsxLCAyLCAzLCA0fTsKICAgICBjb25zdGV4cHIgR0xpbnQgc3JjRGF0YUJbXSA9
IHs1LCA2LCA3LCA4fTsKQEAgLTQ4Nyw2ICs4MTEsNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFu
Y2VDb3VudGVyVGVzdCwgSW5kZXBlbmRlbnRCdWZmZXJDb3BpZXNTaGFyZVNpbmdsZUJhcnJpZXIp
CiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdF9FUzMxLCBNdWx0aXNhbXBsZVJl
c29sdmVXaXRoQmxpdCkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25F
bmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJl
cygpOwogCiAgICAgY29uc3RleHByIGludCBrU2l6ZSA9IDE2OwogICAgIGdsVmlld3BvcnQoMCwg
MCwga1NpemUsIGtTaXplKTsKQEAgLTU0MCw2ICs4NjUsNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9y
bWFuY2VDb3VudGVyVGVzdF9FUzMxLCBNdWx0aXNhbXBsZVJlc29sdmVXaXRoQmxpdCkKIFRFU1Rf
UChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBSZWFkT25seURlcHRoU3RlbmNpbEZlZWRi
YWNrTG9vcFVzZXNTaW5nbGVSZW5kZXJQYXNzKQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRigh
SXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGlu
aXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBjb25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDQ7CiAK
QEAgLTYyNCwyMyArOTUwLDM4NCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVz
dCwgUmVhZE9ubHlEZXB0aFN0ZW5jaWxGZWVkYmFja0xvb3BVc2VzU2luZ2xlUgogICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOwogfQogCisvLyBUZXN0cyB0aGF0IGludmFsaWRhdGUgZm9sbG93ZWQg
YnkgbWFza2VkIGRyYXdzIHJlc3VsdHMgaW4gbm8gbG9hZCBhbmQgc3RvcmUuCisvLworLy8gLSBT
Y2VuYXJpbzogaW52YWxpZGF0ZSwgbWFzayBjb2xvciwgZHJhdworVEVTVF9QKFZ1bGthblBlcmZv
cm1hbmNlQ291bnRlclRlc3QsIENvbG9ySW52YWxpZGF0ZU1hc2tEcmF3KQoreworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9u
TmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKKyAgICBhbmdsZTo6VnVsa2FuUGVy
ZkNvdW50ZXJzIGV4cGVjdGVkOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgY29sb3IoQ2xl
YXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKQorICAg
IHNldEV4cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwg
MCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKworICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7
CisgICAgR0xUZXh0dXJlIHRleHR1cmU7CisgICAgc2V0dXBGb3JDb2xvck9wc1Rlc3QoJmZyYW1l
YnVmZmVyLCAmdGV4dHVyZSk7CisKKyAgICAvLyBJbnZhbGlkYXRlCisgICAgY29uc3QgR0xlbnVt
IGRpc2NhcmRzW10gPSB7R0xfQ09MT1JfQVRUQUNITUVOVDB9OworICAgIGdsSW52YWxpZGF0ZUZy
YW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCAxLCBkaXNjYXJkcyk7CisgICAgQVNTRVJUX0dMX05P
X0VSUk9SKCk7CisKKyAgICAvLyBNYXNrIGNvbG9yIG91dHB1dAorICAgIGdsQ29sb3JNYXNrKEdM
X0ZBTFNFLCBHTF9GQUxTRSwgR0xfRkFMU0UsIEdMX0ZBTFNFKTsKKworICAgIC8vIERyYXcKKyAg
ICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwg
ZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9z
aGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKKworICAgIEVYUEVDVF9FUShleHBlY3RlZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVy
cygpLnJlbmRlclBhc3Nlcyk7CisKKyAgICAvLyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hl
Y2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKKyAgICBzd2Fw
QnVmZmVycygpOworICAgIGNvbXBhcmVDb2xvck9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCks
IGV4cGVjdGVkKTsKKworICAgIC8vIFN0YXJ0IGFuZCBlbmQgYW5vdGhlciByZW5kZXIgcGFzcyB3
aXRob3V0IGNvbG9yIG1hc2sKKyAgICArK2V4cGVjdGVkLnJlbmRlclBhc3NlczsKKyAgICArK2V4
cGVjdGVkLmNvbG9yU3RvcmVPcFN0b3JlczsKKworICAgIGdsQ29sb3JNYXNrKEdMX1RSVUUsIEdM
X1RSVUUsIEdMX1RSVUUsIEdMX1RSVUUpOworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3No
YWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigp
OworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOworCisgICAg
Y29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworfQor
CisvLyBUZXN0cyB0aGF0IGludmFsaWRhdGUgZm9sbG93ZWQgYnkgZGlzY2FyZGVkIGRyYXdzIHJl
c3VsdHMgaW4gbm8gbG9hZCBhbmQgc3RvcmUuCisvLworLy8gLSBTY2VuYXJpbzogaW52YWxpZGF0
ZSwgcmFzdGVyaXplciBkaXNjYXJkLCBkcmF3CitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3Vu
dGVyVGVzdCwgQ29sb3JJbnZhbGlkYXRlRGlzY2FyZERyYXcpCit7CisgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7
CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRl
cnMgZXhwZWN0ZWQ7CisKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBjb2xvcihDbGVhcnMrMCwg
TG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhw
ZWN0ZWRDb3VudGVyc0ZvckNvbG9yT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAwLCAwLCAwLCAw
LCAwLCAmZXhwZWN0ZWQpOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcjsKKyAgICBH
TFRleHR1cmUgdGV4dHVyZTsKKyAgICBzZXR1cEZvckNvbG9yT3BzVGVzdCgmZnJhbWVidWZmZXIs
ICZ0ZXh0dXJlKTsKKworICAgIC8vIEludmFsaWRhdGUKKyAgICBjb25zdCBHTGVudW0gZGlzY2Fy
ZHNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMH07CisgICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZm
ZXIoR0xfRlJBTUVCVUZGRVIsIDEsIGRpc2NhcmRzKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKKworICAgIC8vIE1hc2sgY29sb3Igb3V0cHV0CisgICAgZ2xFbmFibGUoR0xfUkFTVEVSSVpF
Ul9ESVNDQVJEKTsKKworICAgIC8vIERyYXcKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0s
IGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsK
KyAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAw
LjVmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIEVYUEVDVF9FUShleHBlY3Rl
ZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nlcyk7CisKKyAgICAv
LyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3Jl
cyB3ZXJlIGFjdHVhbGx5IGRvbmUKKyAgICBzd2FwQnVmZmVycygpOworICAgIGNvbXBhcmVDb2xv
ck9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKworICAgIC8vIFN0YXJ0
IGFuZCBlbmQgYW5vdGhlciByZW5kZXIgcGFzcyB3aXRob3V0IGNvbG9yIG1hc2sKKyAgICArK2V4
cGVjdGVkLnJlbmRlclBhc3NlczsKKyAgICArK2V4cGVjdGVkLmNvbG9yU3RvcmVPcFN0b3JlczsK
KworICAgIGdsRGlzYWJsZShHTF9SQVNURVJJWkVSX0RJU0NBUkQpOworICAgIGRyYXdRdWFkKHBy
b2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOworICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpOworCisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwg
ZXhwZWN0ZWQpOworfQorCisvLyBUZXN0cyB0aGF0IG1hc2tlZCBkcmF3cyByZXN1bHRzIGluIG5v
IGxvYWQgYW5kIHN0b3JlLgorLy8KKy8vIC0gU2NlbmFyaW86IG1hc2sgY29sb3IsIGRyYXcKK1RF
U1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBDb2xvck1hc2tlZERyYXcpCit7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JF
eHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpW
dWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CisKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBj
b2xvcihDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVzKzEsIFN0b3JlcyswLCBTdG9yZU5vbmVz
KzEpCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckNvbG9yT3BzKGdldFBlcmZDb3VudGVycygp
LCAxLCAwLCAwLCAxLCAwLCAxLCAmZXhwZWN0ZWQpOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFt
ZWJ1ZmZlcjsKKyAgICBHTFRleHR1cmUgdGV4dHVyZTsKKyAgICBzZXR1cEZvckNvbG9yT3BzVGVz
dCgmZnJhbWVidWZmZXIsICZ0ZXh0dXJlKTsKKworICAgIC8vIEluaXRpYWxpemUgdGhlIGNvbG9y
IGJ1ZmZlcgorICAgIGdsQ2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICBnbENsZWFyKEdMX0NP
TE9SX0JVRkZFUl9CSVQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpyZWQpOworCisgICAgLy8gTWFzayBjb2xvciBvdXRwdXQKKyAgICBnbENvbG9yTWFzayhHTF9G
QUxTRSwgR0xfRkFMU0UsIEdMX0ZBTFNFLCBHTF9GQUxTRSk7CisKKyAgICAvLyBEcmF3CisgICAg
QU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVz
c2wxX3NoYWRlcnM6OmZzOjpHcmVlbigpKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9z
aGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKKworICAgIEVYUEVDVF9FUShleHBlY3RlZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVy
cygpLnJlbmRlclBhc3Nlcyk7CisKKyAgICAvLyBCcmVhayB0aGUgcmVuZGVyIHBhc3MgYW5kIGNo
ZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBkb25lCisgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgY29tcGFyZUNvbG9y
T3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworCisgICAgLy8gU3RhcnQg
YW5kIGVuZCBhbm90aGVyIHJlbmRlciBwYXNzIHdpdGhvdXQgY29sb3IgbWFzaworICAgICsrZXhw
ZWN0ZWQucmVuZGVyUGFzc2VzOworICAgICsrZXhwZWN0ZWQuY29sb3JMb2FkT3BMb2FkczsKKyAg
ICArK2V4cGVjdGVkLmNvbG9yU3RvcmVPcFN0b3JlczsKKworICAgIGdsQ29sb3JNYXNrKEdMX1RS
VUUsIEdMX1RSVUUsIEdMX1RSVUUsIEdMX1RSVUUpOworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVz
c2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19F
UlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7
CisKKyAgICBjb21wYXJlQ29sb3JPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3Rl
ZCk7Cit9CisKKy8vIFRlc3RzIHRoYXQgZGlzY2FyZGVkIGRyYXdzIHJlc3VsdHMgaW4gbm8gbG9h
ZCBhbmQgc3RvcmUuCisvLworLy8gLSBTY2VuYXJpbzogcmFzdGVyaXplciBkaXNjYXJkLCBkcmF3
CitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgQ29sb3JEaXNjYXJkRHJhdykK
K3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9u
aXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCisgICAgYW5n
bGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBlY3RlZDsKKworICAgIC8vIEV4cGVjdCBycENvdW50
KzEsIGNvbG9yKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9uZXMrMSwgU3RvcmVzKzAsIFN0b3Jl
Tm9uZXMrMSkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50
ZXJzKCksIDEsIDAsIDAsIDEsIDAsIDEsICZleHBlY3RlZCk7CisKKyAgICBHTEZyYW1lYnVmZmVy
IGZyYW1lYnVmZmVyOworICAgIEdMVGV4dHVyZSB0ZXh0dXJlOworICAgIHNldHVwRm9yQ29sb3JP
cHNUZXN0KCZmcmFtZWJ1ZmZlciwgJnRleHR1cmUpOworCisgICAgLy8gSW5pdGlhbGl6ZSB0aGUg
Y29sb3IgYnVmZmVyCisgICAgZ2xDbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgIGdsQ2xlYXIo
R0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdM
Q29sb3I6OnJlZCk7CisKKyAgICAvLyBNYXNrIGNvbG9yIG91dHB1dAorICAgIGdsRW5hYmxlKEdM
X1JBU1RFUklaRVJfRElTQ0FSRCk7CisKKyAgICAvLyBEcmF3CisgICAgQU5HTEVfR0xfUFJPR1JB
TShwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZz
OjpHcmVlbigpKTsKKyAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlv
bkF0dHJpYigpLCAwLjVmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIEVYUEVD
VF9FUShleHBlY3RlZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nl
cyk7CisKKyAgICAvLyBCcmVhayB0aGUgcmVuZGVyIHBhc3MgYW5kIGNoZWNrIGhvdyBtYW55IGxv
YWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBkb25lCisgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQ
ZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworCisgICAgLy8gU3RhcnQgYW5kIGVuZCBhbm90aGVy
IHJlbmRlciBwYXNzIHdpdGhvdXQgY29sb3IgbWFzaworICAgICsrZXhwZWN0ZWQucmVuZGVyUGFz
c2VzOworICAgICsrZXhwZWN0ZWQuY29sb3JMb2FkT3BMb2FkczsKKyAgICArK2V4cGVjdGVkLmNv
bG9yU3RvcmVPcFN0b3JlczsKKworICAgIGdsRGlzYWJsZShHTF9SQVNURVJJWkVSX0RJU0NBUkQp
OworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCks
IDAuNWYpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9DT0xP
Ul9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisKKyAgICBjb21wYXJlQ29sb3JPcENvdW50ZXJz
KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7Cit9CisKKy8vIFRlc3QgdGhhdCByZWFkLW9u
bHkgY29sb3IgdXNhZ2UgcmVzdWx0cyBpbiBsb2FkIGJ1dCBubyBzdG9yZS4KKy8vCisvLyAtIFNj
ZW5hcmlvOiBtYXNrIGNvbG9yLCBmcmFtZWJ1ZmZlciBmZXRjaCBkcmF3CitURVNUX1AoVnVsa2Fu
UGVyZm9ybWFuY2VDb3VudGVyVGVzdF9FUzMxLCBDb2xvck1hc2tlZEZyYW1lYnVmZmVyRmV0Y2hE
cmF3KQoreworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1Bl
cmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4
dGVuc2lvbkVuYWJsZWQoIkdMX0VYVF9zaGFkZXJfZnJhbWVidWZmZXJfZmV0Y2hfbm9uX2NvaGVy
ZW50IikpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKKyAgICBhbmdsZTo6VnVsa2FuUGVy
ZkNvdW50ZXJzIGV4cGVjdGVkOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgY29sb3IoQ2xl
YXJzKzAsIExvYWRzKzEsIExvYWROb25lcyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcysxKQorICAg
IHNldEV4cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwg
MSwgMCwgMCwgMSwgJmV4cGVjdGVkKTsKKworICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7
CisgICAgR0xUZXh0dXJlIHRleHR1cmU7CisgICAgc2V0dXBGb3JDb2xvck9wc1Rlc3QoJmZyYW1l
YnVmZmVyLCAmdGV4dHVyZSk7CisKKyAgICBHTEJ1ZmZlciBidWZmZXI7CisgICAgY29uc3QgR0xD
b2xvciBrQ2xlYXJDb2xvcig0MCwgNzAsIDEwMCwgMTUwKTsKKyAgICBtYXNrZWRGcmFtZWJ1ZmZl
ckZldGNoRHJhdyhrQ2xlYXJDb2xvciwgYnVmZmVyKTsKKworICAgIEVYUEVDVF9FUShleHBlY3Rl
ZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nlcyk7CisKKyAgICAv
LyBCcmVhayB0aGUgcmVuZGVyIHBhc3MgYW5kIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9y
ZXMgd2VyZSBhY3R1YWxseSBkb25lCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX05FQVIoMCwgMCwg
a0NsZWFyQ29sb3IsIDEpOworCisgICAgbWFza2VkRnJhbWVidWZmZXJGZXRjaERyYXdWZXJpZnko
a0NsZWFyQ29sb3IsIGJ1ZmZlcik7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJm
Q291bnRlcnMoKSwgZXhwZWN0ZWQpOworfQorCisvLyBUZXN0cyB0aGF0IGNsZWFyIGFmdGVyIG1h
c2tlZCBkcmF3cyBpcyBvcHRpbWl6ZWQgdG8gdXNlIGxvYWRPcAorLy8KKy8vIC0gU2NlbmFyaW86
IGNsZWFyLCBtYXNrIGNvbG9yLCBkcmF3LCBjbGVhcgorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNl
Q291bnRlclRlc3QsIENvbG9yQ2xlYXJNYXNrZWREcmF3VGhlbkNsZWFyKQoreworICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9u
TmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKKyAgICBhbmdsZTo6VnVsa2FuUGVy
ZkNvdW50ZXJzIGV4cGVjdGVkOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgY29sb3IoQ2xl
YXJzKzEsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMSwgU3RvcmVOb25lcyswKQorICAg
IC8vIE5vIHZrQ21kQ2xlYXJBdHRhY2htZW50cyBzaG91bGQgYmUgaXNzdWVkLgorICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwg
MSwgMCwgJmV4cGVjdGVkKTsKKyAgICBleHBlY3RlZC5jb2xvckNsZWFyQXR0YWNobWVudHMgPSBn
ZXRQZXJmQ291bnRlcnMoKS5jb2xvckNsZWFyQXR0YWNobWVudHM7CisKKyAgICBHTEZyYW1lYnVm
ZmVyIGZyYW1lYnVmZmVyOworICAgIEdMVGV4dHVyZSB0ZXh0dXJlOworICAgIHNldHVwRm9yQ29s
b3JPcHNUZXN0KCZmcmFtZWJ1ZmZlciwgJnRleHR1cmUpOworCisgICAgLy8gQ2xlYXIgY29sb3Ig
Zmlyc3QKKyAgICBnbENsZWFyQ29sb3IoMSwgMCwgMCwgMSk7CisgICAgZ2xDbGVhcihHTF9DT0xP
Ul9CVUZGRVJfQklUKTsKKworICAgIC8vIE1hc2sgY29sb3Igb3V0cHV0CisgICAgZ2xDb2xvck1h
c2soR0xfRkFMU0UsIEdMX0ZBTFNFLCBHTF9GQUxTRSwgR0xfRkFMU0UpOworCisgICAgLy8gRHJh
dworICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBs
ZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6R3JlZW4oKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbSwg
ZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgQVNTRVJUX0dMX05P
X0VSUk9SKCk7CisKKyAgICAvLyBUaGVuIGNsZWFyIGNvbG9yIGFnYWluLiAgVGhpcyBjbGVhciBp
cyBtb3ZlZCB1cCB0byBsb2FkT3AsIG92ZXJyaWRpbmcgdGhlIGluaXRpYWwgY2xlYXIuCisgICAg
Z2xDb2xvck1hc2soR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSk7CisgICAgZ2xD
bGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7
CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJmQ291bnRlcnMo
KS5yZW5kZXJQYXNzZXMpOworCisgICAgLy8gQnJlYWsgdGhlIHJlbmRlciBwYXNzIGFuZCBjaGVj
ayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUgYWN0dWFsbHkgZG9uZQorICAgIEVYUEVD
VF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpibHVlKTsKKyAgICBjb21wYXJlQ29sb3JP
cENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZUNsZWFy
QXR0YWNobWVudHNDb3VudGVyKGV4cGVjdGVkLmNvbG9yQ2xlYXJBdHRhY2htZW50cywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UGVyZkNvdW50ZXJzKCkuY29sb3JDbGVh
ckF0dGFjaG1lbnRzKTsKK30KKworLy8gVGVzdCB0aGF0IGNsZWFyIG9mIHJlYWQtb25seSBjb2xv
ciBpcyBub3QgcmVvcmRlcmVkIHdpdGggdGhlIGRyYXcuCisvLworLy8gLSBTY2VuYXJpbzogbWFz
ayBjb2xvciwgZnJhbWVidWZmZXIgZmV0Y2ggZHJhdywgY2xlYXIKK1RFU1RfUChWdWxrYW5QZXJm
b3JtYW5jZUNvdW50ZXJUZXN0X0VTMzEsIENvbG9yTWFza2VkRnJhbWVidWZmZXJGZXRjaERyYXdU
aGVuQ2xlYXIpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxl
ZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJ
c0dMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhUX3NoYWRlcl9mcmFtZWJ1ZmZlcl9mZXRjaF9ub25f
Y29oZXJlbnQiKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpWdWxr
YW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CisKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBjb2xv
cihDbGVhcnMrMCwgTG9hZHMrMSwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzAp
CisgICAgLy8gdmtDbWRDbGVhckF0dGFjaG1lbnRzIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc2Vj
b25kIGNsZWFyLgorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291
bnRlcnMoKSwgMSwgMCwgMSwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBleHBlY3RlZC5jb2xv
ckNsZWFyQXR0YWNobWVudHMgPSBnZXRQZXJmQ291bnRlcnMoKS5jb2xvckNsZWFyQXR0YWNobWVu
dHMgKyAxOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcjsKKyAgICBHTFRleHR1cmUg
dGV4dHVyZTsKKyAgICBzZXR1cEZvckNvbG9yT3BzVGVzdCgmZnJhbWVidWZmZXIsICZ0ZXh0dXJl
KTsKKworICAgIEdMQnVmZmVyIGJ1ZmZlcjsKKyAgICBjb25zdCBHTENvbG9yIGtDbGVhckNvbG9y
KDQwLCA3MCwgMTAwLCAxNTApOworICAgIG1hc2tlZEZyYW1lYnVmZmVyRmV0Y2hEcmF3KGtDbGVh
ckNvbG9yLCBidWZmZXIpOworCisgICAgZ2xDb2xvck1hc2soR0xfVFJVRSwgR0xfVFJVRSwgR0xf
VFJVRSwgR0xfVFJVRSk7CisgICAgZ2xDbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgIGdsQ2xl
YXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVy
UGFzc2VzLCBnZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOworCisgICAgLy8gQnJlYWsg
dGhlIHJlbmRlciBwYXNzIGFuZCBjaGVjayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUg
YWN0dWFsbHkgZG9uZQorICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpy
ZWQpOworCisgICAgbWFza2VkRnJhbWVidWZmZXJGZXRjaERyYXdWZXJpZnkoa0NsZWFyQ29sb3Is
IGJ1ZmZlcik7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwg
ZXhwZWN0ZWQpOworICAgIGNvbXBhcmVDbGVhckF0dGFjaG1lbnRzQ291bnRlcihleHBlY3RlZC5j
b2xvckNsZWFyQXR0YWNobWVudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdldFBlcmZDb3VudGVycygpLmNvbG9yQ2xlYXJBdHRhY2htZW50cyk7Cit9CisKKy8vIFRlc3Rz
IHRoYXQgY2xlYXIgYWZ0ZXIgdW51c2VkIGRlcHRoL3N0ZW5jaWwgaXMgb3B0aW1pemVkIHRvIHVz
ZSBsb2FkT3AKKy8vCisvLyAtIFNjZW5hcmlvOiBkaXNhYmxlIGRlcHRoL3N0ZW5jaWwsIGRyYXcs
IGNsZWFyCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgRGVwdGhTdGVuY2ls
TWFza2VkRHJhd1RoZW5DbGVhcikKK3sKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRl
bnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVG
ZWF0dXJlcygpOworCisgICAgLy8gVGhpcyBvcHRpbWl6YXRpb24gaXMgbm90IGltcGxlbWVudGVk
IHdoZW4gdGhpcyB3b3JrYXJvdW5kIGlzIGluIGVmZmVjdC4KKyAgICBBTkdMRV9TS0lQX1RFU1Rf
SUYobVByZWZlckRyYXdPdmVyQ2xlYXJBdHRhY2htZW50cyA9PSBBTkdMRUZlYXR1cmU6OlN1cHBv
cnRlZCk7CisKKyAgICBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzIGV4cGVjdGVkOworCisgICAg
Ly8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25lcysw
LCBTdG9yZXMrMSwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycysxLCBMb2Fk
cyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3Rl
ZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDEsIDAs
ICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0UGVy
ZkNvdW50ZXJzKCksIDEsIDAsIDAsIDEsIDAsICZleHBlY3RlZCk7CisKKyAgICAvLyBObyB2a0Nt
ZENsZWFyQXR0YWNobWVudHMgc2hvdWxkIGJlIGlzc3VlZC4KKyAgICBleHBlY3RlZC5kZXB0aENs
ZWFyQXR0YWNobWVudHMgICA9IGdldFBlcmZDb3VudGVycygpLmRlcHRoQ2xlYXJBdHRhY2htZW50
czsKKyAgICBleHBlY3RlZC5zdGVuY2lsQ2xlYXJBdHRhY2htZW50cyA9IGdldFBlcmZDb3VudGVy
cygpLnN0ZW5jaWxDbGVhckF0dGFjaG1lbnRzOworCisgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1
ZmZlcjsKKyAgICBHTFRleHR1cmUgdGV4dHVyZTsKKyAgICBHTFJlbmRlcmJ1ZmZlciByZW5kZXJi
dWZmZXI7CisgICAgc2V0dXBGb3JEZXB0aFN0ZW5jaWxPcHNUZXN0KCZmcmFtZWJ1ZmZlciwgJnRl
eHR1cmUsICZyZW5kZXJidWZmZXIpOworCisgICAgLy8gRGlzYWJsZSBkZXB0aC9zdGVuY2lsCisg
ICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOworICAgIGdsRGlzYWJsZShHTF9TVEVOQ0lMX1RF
U1QpOworCisgICAgLy8gSXNzdWUgYSBkcmF3IGNhbGwKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHBy
b2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6Okdy
ZWVuKCkpOworICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0
cmliKCksIDAuNWYpOworCisgICAgLy8gQ2xlYXIgZGVwdGgvc3RlbmNpbAorICAgIGdsQ2xlYXIo
R0xfREVQVEhfQlVGRkVSX0JJVCB8IEdMX1NURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICBFWFBF
Q1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNz
ZXMpOworCisgICAgLy8gQnJlYWsgdGhlIHJlbmRlciBwYXNzIGFuZCBjaGVjayBob3cgbWFueSBs
b2FkcyBhbmQgc3RvcmVzIHdlcmUgYWN0dWFsbHkgZG9uZQorICAgIEVYUEVDVF9QSVhFTF9DT0xP
Ul9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291
bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21wYXJlQ2xlYXJBdHRh
Y2htZW50c0NvdW50ZXIoZXhwZWN0ZWQuZGVwdGhDbGVhckF0dGFjaG1lbnRzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQZXJmQ291bnRlcnMoKS5kZXB0aENsZWFyQXR0
YWNobWVudHMpOworICAgIGNvbXBhcmVDbGVhckF0dGFjaG1lbnRzQ291bnRlcihleHBlY3RlZC5z
dGVuY2lsQ2xlYXJBdHRhY2htZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2V0UGVyZkNvdW50ZXJzKCkuZGVwdGhDbGVhckF0dGFjaG1lbnRzKTsKK30KKwogLy8gVGVz
dHMgdGhhdCBjb21tb24gUFVCRyBNT0JJTEUgY2FzZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFz
cywgYW5kIHRoYXQgY291bnRzIGFyZSBjb3JyZWN0OgogLy8KIC8vIC0gU2NlbmFyaW86IGludmFs
aWRhdGUsIGRpc2FibGUsIGRyYXcKLVRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
LCBJbnZhbGlkYXRlRGlzYWJsZURyYXcpCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdCwgRGVwdGhTdGVuY2lsSW52YWxpZGF0ZURpc2FibGVEcmF3KQogewogICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFt
ZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBhbmdsZTo6VnVsa2FuUGVyZkNv
dW50ZXJzIGV4cGVjdGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJz
KzEsIExvYWRzKzAsIFN0b3JlcyswKSwgc3RlbmNpbChDbGVhcnMrMCwgTG9hZCswLCBTdG9yZXMr
MCkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50
ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJw
Q291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwg
U3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9u
ZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9y
RGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7
CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCks
IDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dy
YW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgp
KTsKICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdMVGV4dHVyZSB0ZXh0dXJl
OwogICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBzZXR1cENsZWFyQW5kRHJh
d0ZvckludmFsaWRhdGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVu
ZGVyYnVmZmVyLCBmYWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdGb3JEZXB0aFN0ZW5jaWxP
cHNUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBm
YWxzZSk7CiAKICAgICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0IHRoaXMgdGVzdCBpcyBm
b3I6CiAKQEAgLTY2MiwxNCArMTM0OSwxNCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3Vu
dGVyVGVzdCwgSW52YWxpZGF0ZURpc2FibGVEcmF3KQogCiAgICAgLy8gVXNlIHN3YXBCdWZmZXJz
IGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBk
b25lCiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlRGVwdGhTdGVuY2lsQ291bnRlcnNG
b3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBh
cmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CiAK
ICAgICAvLyBTdGFydCBhbmQgZW5kIGFub3RoZXIgcmVuZGVyIHBhc3MsIHRvIGNoZWNrIHRoYXQg
dGhlIGxvYWQgb3BzIGFyZSBhcyBleHBlY3RlZAotICAgIHNldEFuZEluY3JlbWVudExvYWRDb3Vu
dGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAmZXhwZWN0ZWQp
OworICAgIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExvYWRDb3VudGVyc0Zvck9wc1Rlc3Qo
Z2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CiAgICAgZHJhd1F1YWQocHJvZ3Jh
bSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CiAgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlTG9hZENvdW50ZXJz
Rm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21w
YXJlRGVwdGhTdGVuY2lsTG9hZE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVk
KTsKIH0KIAogLy8gVGVzdHMgdGhhdCBhbHRlcm5hdGl2ZSBQVUJHIE1PQklMRSBjYXNlIGRvZXMg
bm90IGJyZWFrIHJlbmRlciBwYXNzLCBhbmQgdGhhdCBjb3VudHMgYXJlIGNvcnJlY3Q6CkBAIC02
NzgsMTcgKzEzNjUsMjAgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIElu
dmFsaWRhdGVEaXNhYmxlRHJhdykKIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
LCBEaXNhYmxlSW52YWxpZGF0ZURyYXcpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dM
RXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFO
R0xFRmVhdHVyZXMoKTsKIAogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7
CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgU3Rv
cmVzKzApLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3JlcyswKQotICAgIHNldEV4cGVj
dGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwg
MCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChD
bGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApLAor
ICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwg
U3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhnZXRQZXJm
Q291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRFeHBlY3Rl
ZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwgMCwgMCwgMCwg
JmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hhZGVy
czo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwogICAgIEdMRnJhbWVi
dWZmZXIgZnJhbWVidWZmZXI7CiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgR0xSZW5kZXJi
dWZmZXIgcmVuZGVyYnVmZmVyOwotICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9ySW52YWxpZGF0ZVRl
c3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNl
KTsKKyAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rlc3QoJnByb2dyYW0s
ICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNlKTsKIAogICAgIC8v
IEV4ZWN1dGUgdGhlIHNjZW5hcmlvIHRoYXQgdGhpcyB0ZXN0IGlzIGZvcjoKIApAQCAtNzEwLDE0
ICsxNDAwLDE0IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEaXNhYmxl
SW52YWxpZGF0ZURyYXcpCiAKICAgICAvLyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hlY2sg
aG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKICAgICBzd2FwQnVm
ZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0
KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9w
Q291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0YXJ0IGFu
ZCBlbmQgYW5vdGhlciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBvcHMgYXJl
IGFzIGV4cGVjdGVkCi0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxpZGF0
ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0QW5kSW5j
cmVtZW50RGVwdGhTdGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291bnRlcnMo
KSwgMCwgMCwgJmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJz
OjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKICAg
ICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVz
dChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxM
b2FkT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBUZXN0
cyB0aGF0IGFub3RoZXIgY2FzZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5kIHRoYXQg
Y291bnRzIGFyZSBjb3JyZWN0OgpAQCAtNzI2LDIxICsxNDE2LDI0IEBAIFRFU1RfUChWdWxrYW5Q
ZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEaXNhYmxlSW52YWxpZGF0ZURyYXcpCiBURVNUX1AoVnVs
a2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgRGlzYWJsZURyYXdJbnZhbGlkYXRlRW5hYmxlKQog
ewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25p
dG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBhbmds
ZTo6VnVsa2FuUGVyZkNvdW50ZXJzIGV4cGVjdGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQr
MSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIFN0b3JlcyswKSwgc3RlbmNpbChDbGVhcnMrMCwg
TG9hZCswLCBTdG9yZXMrMCkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRl
c3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7Cisg
ICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25l
cyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBM
b2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBl
Y3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAs
IDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0
UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9H
TF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hh
ZGVyczo6ZnM6OlJlZCgpKTsKICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdM
VGV4dHVyZSB0ZXh0dXJlOwogICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBz
ZXR1cENsZWFyQW5kRHJhd0ZvckludmFsaWRhdGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIs
ICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBmYWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdG
b3JEZXB0aFN0ZW5jaWxPcHNUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAm
cmVuZGVyYnVmZmVyLCBmYWxzZSk7CiAKICAgICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0
IHRoaXMgdGVzdCBpcyBmb3I6CiAKLSAgICAvLyBOb3RlOiBzZXR1cENsZWFyQW5kRHJhd0Zvcklu
dmFsaWRhdGVUZXN0KCkgZGlkIGFuIGVuYWJsZSBhbmQgZHJhdworICAgIC8vIE5vdGU6IHNldHVw
Q2xlYXJBbmREcmF3Rm9yRGVwdGhTdGVuY2lsT3BzVGVzdCgpIGRpZCBhbiBlbmFibGUgYW5kIGRy
YXcKIAogICAgIC8vIERpc2FibGUgKHNpbmNlIG5vdCBpbnZhbGlkYXRlZCwgc2hvdWxkbid0IGNo
YW5nZSByZXN1bHQpCiAgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOwpAQCAtNzY5LDMzICsx
NDYyLDM2IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEaXNhYmxlRHJh
d0ludmFsaWRhdGVFbmFibGUpCiAKICAgICAvLyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hl
Y2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKICAgICBzd2Fw
QnVmZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVU
ZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNp
bE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0YXJ0
IGFuZCBlbmQgYW5vdGhlciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBvcHMg
YXJlIGFzIGV4cGVjdGVkCi0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxp
ZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0QW5k
SW5jcmVtZW50RGVwdGhTdGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291bnRl
cnMoKSwgMCwgMCwgJmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFk
ZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
ICAgICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRl
VGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5j
aWxMb2FkT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBU
ZXN0cyB0aGF0IGNvbW1vbiBUUmV4IGNhc2UgZG9lcyBub3QgYnJlYWsgcmVuZGVyIHBhc3MsIGFu
ZCB0aGF0IGNvdW50cyBhcmUgY29ycmVjdDoKIC8vCiAvLyAtIFNjZW5hcmlvOiBpbnZhbGlkYXRl
Ci1URVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZSkKK1RFU1Rf
UChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEZXB0aFN0ZW5jaWxJbnZhbGlkYXRlKQog
ewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25p
dG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBhbmds
ZTo6VnVsa2FuUGVyZkNvdW50ZXJzIGV4cGVjdGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQr
MSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIFN0b3JlcyswKSwgc3RlbmNpbChDbGVhcnMrMCwg
TG9hZCswLCBTdG9yZXMrMCkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRl
c3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7Cisg
ICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25l
cyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBM
b2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBl
Y3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAs
IDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0
UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9H
TF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hh
ZGVyczo6ZnM6OlJlZCgpKTsKICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdM
VGV4dHVyZSB0ZXh0dXJlOwogICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBz
ZXR1cENsZWFyQW5kRHJhd0ZvckludmFsaWRhdGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIs
ICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBmYWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdG
b3JEZXB0aFN0ZW5jaWxPcHNUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAm
cmVuZGVyYnVmZmVyLCBmYWxzZSk7CiAKICAgICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0
IHRoaXMgdGVzdCBpcyBmb3I6CiAKQEAgLTgwOSwzOSArMTUwNSw0MiBAQCBURVNUX1AoVnVsa2Fu
UGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZSkKIAogICAgIC8vIFVzZSBzd2FwQnVm
ZmVycyBhbmQgdGhlbiBjaGVjayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUgYWN0dWFs
bHkgZG9uZQogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZURlcHRoU3RlbmNpbENvdW50
ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBj
b21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQp
OwogCiAgICAgLy8gU3RhcnQgYW5kIGVuZCBhbm90aGVyIHJlbmRlciBwYXNzLCB0byBjaGVjayB0
aGF0IHRoZSBsb2FkIG9wcyBhcmUgYXMgZXhwZWN0ZWQKLSAgICBzZXRBbmRJbmNyZW1lbnRMb2Fk
Q291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwgJmV4cGVj
dGVkKTsKKyAgICBzZXRBbmRJbmNyZW1lbnREZXB0aFN0ZW5jaWxMb2FkQ291bnRlcnNGb3JPcHNU
ZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAmZXhwZWN0ZWQpOwogICAgIGRyYXdRdWFkKHBy
b2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwogICAgIEFTU0VS
VF9HTF9OT19FUlJPUigpOwogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZUxvYWRDb3Vu
dGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAg
Y29tcGFyZURlcHRoU3RlbmNpbExvYWRPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBl
Y3RlZCk7CiB9CiAKIC8vIFNpbWlsYXIgdG8gSW52YWxpZGF0ZSwgYnV0IHVzZXMgZ2xJbnZhbGlk
YXRlU3ViRnJhbWVidWZmZXIgc3VjaCB0aGF0IHRoZSBnaXZlbiBhcmVhIGNvdmVycyB0aGUKIC8v
IHdob2xlIGZyYW1lYnVmZmVyLgotVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3Qs
IEludmFsaWRhdGVTdWIpCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgRGVw
dGhTdGVuY2lsSW52YWxpZGF0ZVN1YikKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xF
eHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5H
TEVGZWF0dXJlcygpOwogCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBlY3RlZDsK
IAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBTdG9y
ZXMrMCksIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWQrMCwgU3RvcmVzKzApCi0gICAgc2V0RXhwZWN0
ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAw
LCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENs
ZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCksCisg
ICAgLy8gc3RlbmNpbChDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBT
dG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdldFBlcmZD
b3VudGVycygpLCAxLCAxLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4cGVjdGVk
Q291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAwLCAwLCAwLCAm
ZXhwZWN0ZWQpOwogCiAgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBlc3NsMV9zaGFkZXJz
Ojp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CiAgICAgR0xGcmFtZWJ1
ZmZlciBmcmFtZWJ1ZmZlcjsKICAgICBHTFRleHR1cmUgdGV4dHVyZTsKICAgICBHTFJlbmRlcmJ1
ZmZlciByZW5kZXJidWZmZXI7Ci0gICAgc2V0dXBDbGVhckFuZERyYXdGb3JJbnZhbGlkYXRlVGVz
dCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2Up
OworICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9yRGVwdGhTdGVuY2lsT3BzVGVzdCgmcHJvZ3JhbSwg
JmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2UpOwogCiAgICAgLy8g
RXhlY3V0ZSB0aGUgc2NlbmFyaW8gdGhhdCB0aGlzIHRlc3QgaXMgZm9yOgogCiAgICAgLy8gSW52
YWxpZGF0ZSAoc3RvcmVPcCA9IERPTlRfQ0FSRTsgbUNvbnRlbnREZWZpbmVkID0gZmFsc2UpCiAg
ICAgY29uc3QgR0xlbnVtIGRpc2NhcmRzW10gPSB7R0xfREVQVEhfQVRUQUNITUVOVCwgR0xfU1RF
TkNJTF9BVFRBQ0hNRU5UfTsKLSAgICBnbEludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcihHTF9GUkFN
RUJVRkZFUiwgMiwgZGlzY2FyZHMsIC0xMDAsIC0xMDAsIGtJbnZhbGlkYXRlVGVzdFNpemUgKyAy
MDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0ludmFsaWRhdGVUZXN0U2l6ZSAr
IDIwMCk7CisgICAgZ2xJbnZhbGlkYXRlU3ViRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDIs
IGRpc2NhcmRzLCAtMTAwLCAtMTAwLCBrT3BzVGVzdFNpemUgKyAyMDAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga09wc1Rlc3RTaXplICsgMjAwKTsKICAgICBBU1NFUlRfR0xfTk9f
RVJST1IoKTsKIAogICAgIC8vIEVuc3VyZSB0aGF0IHRoZSByZW5kZXIgcGFzcyB3YXNuJ3QgYnJv
a2VuCkBAIC04NDksMzMgKzE1NDgsMzYgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRl
clRlc3QsIEludmFsaWRhdGVTdWIpCiAKICAgICAvLyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4g
Y2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKICAgICBz
d2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRh
dGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZURlcHRoU3Rl
bmNpbE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0
YXJ0IGFuZCBlbmQgYW5vdGhlciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBv
cHMgYXJlIGFzIGV4cGVjdGVkCi0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52
YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0
QW5kSW5jcmVtZW50RGVwdGhTdGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291
bnRlcnMoKSwgMCwgMCwgJmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9z
aGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKICAgICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlk
YXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0
ZW5jaWxMb2FkT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAv
LyBUZXN0cyB0aGF0IGFub3RoZXIgY2FzZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5k
IHRoYXQgY291bnRzIGFyZSBjb3JyZWN0OgogLy8KIC8vIC0gU2NlbmFyaW86IGludmFsaWRhdGUs
IGRyYXcKLVRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBJbnZhbGlkYXRlRHJh
dykKK1RFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEZXB0aFN0ZW5jaWxJbnZh
bGlkYXRlRHJhdykKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFi
bGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygp
OwogCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4
cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBTdG9yZXMrMSksIHN0ZW5j
aWwoQ2xlYXJzKzAsIExvYWQrMCwgU3RvcmVzKzApCi0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0Zv
ckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAxLCAwLCAwLCAwLCAm
ZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysxLCBMb2Fk
cyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNp
bChDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzAp
CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAx
LCAxLCAwLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JT
dGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwog
CiAgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxl
KCksIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CiAgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1
ZmZlcjsKICAgICBHTFRleHR1cmUgdGV4dHVyZTsKICAgICBHTFJlbmRlcmJ1ZmZlciByZW5kZXJi
dWZmZXI7Ci0gICAgc2V0dXBDbGVhckFuZERyYXdGb3JJbnZhbGlkYXRlVGVzdCgmcHJvZ3JhbSwg
JmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2UpOworICAgIHNldHVw
Q2xlYXJBbmREcmF3Rm9yRGVwdGhTdGVuY2lsT3BzVGVzdCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVy
LCAmdGV4dHVyZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2UpOwogCiAgICAgLy8gRXhlY3V0ZSB0aGUg
c2NlbmFyaW8gdGhhdCB0aGlzIHRlc3QgaXMgZm9yOgogCkBAIC04OTMsMzYgKzE1OTUsMzkgQEAg
VEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEcmF3KQogCiAg
ICAgLy8gVXNlIHN3YXBCdWZmZXJzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBz
dG9yZXMgd2VyZSBhY3R1YWxseSBkb25lCiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJl
RGVwdGhTdGVuY2lsQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwg
ZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3Vu
dGVycygpLCBleHBlY3RlZCk7CiAKICAgICAvLyBTdGFydCBhbmQgZW5kIGFub3RoZXIgcmVuZGVy
IHBhc3MsIHRvIGNoZWNrIHRoYXQgdGhlIGxvYWQgb3BzIGFyZSBhcyBleHBlY3RlZAotICAgIHNl
dEFuZEluY3JlbWVudExvYWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCAxLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExv
YWRDb3VudGVyc0Zvck9wc1Rlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsICZleHBlY3RlZCk7
CiAgICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwg
MC41Zik7CiAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAg
ICBjb21wYXJlTG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCks
IGV4cGVjdGVkKTsKKyAgICBjb21wYXJlRGVwdGhTdGVuY2lsTG9hZE9wQ291bnRlcnMoZ2V0UGVy
ZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIH0KIAogLy8gVGVzdHMgdGhhdCBhbm90aGVyIGNhc2Ug
ZG9lcyBub3QgYnJlYWsgcmVuZGVyIHBhc3MsIGFuZCB0aGF0IGNvdW50cyBhcmUgY29ycmVjdDoK
IC8vCiAvLyAtIFNjZW5hcmlvOiBpbnZhbGlkYXRlLCBkcmF3LCBkaXNhYmxlCi1URVNUX1AoVnVs
a2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURyYXdEaXNhYmxlKQorVEVTVF9Q
KFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERlcHRoU3RlbmNpbEludmFsaWRhdGVEcmF3
RGlzYWJsZSkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVk
KGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOwog
CiAgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS82ODU3CiAgICAgQU5HTEVfU0tJUF9URVNUX0lG
KElzTGludXgoKSAmJiBJc0FNRCgpICYmIElzVnVsa2FuKCkpOwogCiAgICAgYW5nbGU6OlZ1bGth
blBlcmZDb3VudGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRo
KENsZWFycysxLCBMb2FkcyswLCBTdG9yZXMrMSksIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWQrMCwg
U3RvcmVzKzApCi0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBl
cmZDb3VudGVycygpLCAxLCAxLCAwLCAxLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4
cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3Rv
cmVzKzEsIFN0b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMCwgTG9hZHMrMCwg
TG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3Vu
dGVyc0ZvckRlcHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAwLCAxLCAwLCAmZXhw
ZWN0ZWQpOworICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3Vu
dGVycygpLCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwogCiAgICAgQU5HTEVfR0xfUFJPR1JB
TShwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZz
OjpSZWQoKSk7CiAgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcjsKICAgICBHTFRleHR1cmUg
dGV4dHVyZTsKICAgICBHTFJlbmRlcmJ1ZmZlciByZW5kZXJidWZmZXI7Ci0gICAgc2V0dXBDbGVh
ckFuZERyYXdGb3JJbnZhbGlkYXRlVGVzdCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVyLCAmdGV4dHVy
ZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2UpOworICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9yRGVwdGhT
dGVuY2lsT3BzVGVzdCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRlcmJ1
ZmZlciwgZmFsc2UpOwogCiAgICAgLy8gRXhlY3V0ZSB0aGUgc2NlbmFyaW8gdGhhdCB0aGlzIHRl
c3QgaXMgZm9yOgogCkBAIC05NDUsMzQgKzE2NTAsMzggQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1h
bmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEcmF3RGlzYWJsZSkKICAgICAvLyBFbnN1cmUgdGhh
dCB0aGUgcmVuZGVyIHBhc3Mgd2Fzbid0IGJyb2tlbgogICAgIEVYUEVDVF9FUShleHBlY3RlZC5y
ZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nlcyk7CiAKLSAgICAvLyBV
c2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3
ZXJlIGFjdHVhbGx5IGRvbmUKLSAgICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0
ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3Rl
ZCk7CisgICAgLy8gQnJlYWsgdGhlIHJlbmRlciBwYXNzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55
IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBkb25lCisgICAgRVhQRUNUX1BJWEVMX0NP
TE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291
bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0YXJ0IGFuZCBl
bmQgYW5vdGhlciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBvcHMgYXJlIGFz
IGV4cGVjdGVkCi0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRl
c3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsICZleHBlY3RlZCk7CisgICAgc2V0QW5kSW5jcmVt
ZW50RGVwdGhTdGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291bnRlcnMoKSwg
MSwgMSwgJmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQ
b3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKLSAgICBz
d2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChn
ZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgw
LCAwLCBHTENvbG9yOjpyZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxMb2FkT3BDb3VudGVy
cyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBUZXN0cyB0aGF0IGFub3Ro
ZXIgY2FzZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5kIHRoYXQgY291bnRzIGFyZSBj
b3JyZWN0OgogLy8KIC8vIC0gU2NlbmFyaW86IGludmFsaWRhdGUsIGRpc2FibGUsIGRyYXcsIGVu
YWJsZQotVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEaXNh
YmxlRHJhd0VuYWJsZSkKK1RFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEZXB0
aFN0ZW5jaWxJbnZhbGlkYXRlRGlzYWJsZURyYXdFbmFibGUpCiB7CiAgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7
CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRl
cnMgZXhwZWN0ZWQ7CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwg
TG9hZHMrMCwgU3RvcmVzKzApLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3JlcyswKQot
ICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMo
KSwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3Vu
dCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9y
ZU5vbmVzKzApLAorICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcysw
LCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0
aE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAg
ICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwg
MCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwg
ZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwog
ICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7CiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAg
ICAgR0xSZW5kZXJidWZmZXIgcmVuZGVyYnVmZmVyOwotICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9y
SW52YWxpZGF0ZVRlc3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJi
dWZmZXIsIGZhbHNlKTsKKyAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rl
c3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNl
KTsKIAogICAgIC8vIEV4ZWN1dGUgdGhlIHNjZW5hcmlvIHRoYXQgdGhpcyB0ZXN0IGlzIGZvcjoK
IApAQCAtMTAwMCwzMiArMTcwOSwzNiBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdCwgSW52YWxpZGF0ZURpc2FibGVEcmF3RW5hYmxlKQogCiAgICAgLy8gVXNlIHN3YXBCdWZm
ZXJzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxs
eSBkb25lCiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlRGVwdGhTdGVuY2lsQ291bnRl
cnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNv
bXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7
CiAKICAgICAvLyBTdGFydCBhbmQgZW5kIGFub3RoZXIgcmVuZGVyIHBhc3MsIHRvIGNoZWNrIHRo
YXQgdGhlIGxvYWQgb3BzIGFyZSBhcyBleHBlY3RlZAotICAgIHNldEFuZEluY3JlbWVudExvYWRD
b3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAmZXhwZWN0
ZWQpOworICAgIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExvYWRDb3VudGVyc0Zvck9wc1Rl
c3QoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CiAgICAgZHJhd1F1YWQocHJv
Z3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CiAgICAgQVNTRVJU
X0dMX05PX0VSUk9SKCk7CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlTG9hZENvdW50
ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBj
b21wYXJlRGVwdGhTdGVuY2lsTG9hZE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVj
dGVkKTsKIH0KIAogLy8gVGVzdHMgdGhhdCBhbm90aGVyIGNhc2UgZG9lcyBub3QgYnJlYWsgcmVu
ZGVyIHBhc3MsIGFuZCB0aGF0IGNvdW50cyBhcmUgY29ycmVjdDoKIC8vCiAvLyAtIFNjZW5hcmlv
OiBpbnZhbGlkYXRlLCBkaXNhYmxlLCBkcmF3LCBlbmFibGUsIGRyYXcKLVRFU1RfUChWdWxrYW5Q
ZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBJbnZhbGlkYXRlRGlzYWJsZURyYXdFbmFibGVEcmF3KQor
VEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERlcHRoU3RlbmNpbEludmFsaWRh
dGVEaXNhYmxlRHJhd0VuYWJsZURyYXcpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dM
RXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFO
R0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7
CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgU3Rv
cmVzKzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3JlcyswKQotICAgIHNldEV4cGVj
dGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwg
MSwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChD
bGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzApLAor
ICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMSwg
U3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhnZXRQZXJm
Q291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRFeHBlY3Rl
ZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwgMCwgMSwgMCwg
JmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hhZGVy
czo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwogICAgIEdMRnJhbWVi
dWZmZXIgZnJhbWVidWZmZXI7CiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgR0xSZW5kZXJi
dWZmZXIgcmVuZGVyYnVmZmVyOwotICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9ySW52YWxpZGF0ZVRl
c3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNl
KTsKKyAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rlc3QoJnByb2dyYW0s
ICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNlKTsKIAogICAgIC8v
IEV4ZWN1dGUgdGhlIHNjZW5hcmlvIHRoYXQgdGhpcyB0ZXN0IGlzIGZvcjoKIApAQCAtMTA0NSw2
ICsxNzU4LDcgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRh
dGVEaXNhYmxlRHJhd0VuYWJsZURyYXcpCiAgICAgLy8gRW5hYmxlIChzaG91bGRuJ3QgY2hhbmdl
IHJlc3VsdCkKICAgICBnbEVuYWJsZShHTF9ERVBUSF9URVNUKTsKICAgICBnbEVuYWJsZShHTF9T
VEVOQ0lMX1RFU1QpOworICAgIGdsU3RlbmNpbE9wKEdMX1JFUExBQ0UsIEdMX1JFUExBQ0UsIEdM
X1JFUExBQ0UpOwogCiAgICAgLy8gRHJhdyAoc2luY2UgZW5hYmxlZCwgc2hvdWxkIHJlc3VsdDog
aW4gc3RvcmVPcCA9IFNUT1JFOyBtQ29udGVudERlZmluZWQgPSB0cnVlKQogICAgIGRyYXdRdWFk
KHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwpAQCAtMTA1
MywzNCArMTc2NywzOCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52
YWxpZGF0ZURpc2FibGVEcmF3RW5hYmxlRHJhdykKICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgcmVu
ZGVyIHBhc3Mgd2Fzbid0IGJyb2tlbgogICAgIEVYUEVDVF9FUShleHBlY3RlZC5yZW5kZXJQYXNz
ZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nlcyk7CiAKLSAgICAvLyBVc2Ugc3dhcEJ1
ZmZlcnMgYW5kIHRoZW4gY2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVh
bGx5IGRvbmUKLSAgICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3Vu
dGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAg
Ly8gQnJlYWsgdGhlIHJlbmRlciBwYXNzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFu
ZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBkb25lCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAs
IDAsIEdMQ29sb3I6OnJlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0
UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0YXJ0IGFuZCBlbmQgYW5vdGhl
ciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBvcHMgYXJlIGFzIGV4cGVjdGVk
Ci0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVy
ZkNvdW50ZXJzKCksIDEsIDEsICZleHBlY3RlZCk7CisgICAgc2V0QW5kSW5jcmVtZW50RGVwdGhT
dGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgJmV4
cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0
dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKLSAgICBzd2FwQnVmZmVy
cygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291
bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENv
bG9yOjpyZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxMb2FkT3BDb3VudGVycyhnZXRQZXJm
Q291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBUZXN0cyB0aGF0IGFub3RoZXIgY2FzZSBk
b2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5kIHRoYXQgY291bnRzIGFyZSBjb3JyZWN0Ogog
Ly8KIC8vIC0gU2NlbmFyaW86IGludmFsaWRhdGUsIGRyYXcsIGRpc2FibGUsIGVuYWJsZQotVEVT
VF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEcmF3RGlzYWJsZUVu
YWJsZSkKK1RFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEZXB0aFN0ZW5jaWxJ
bnZhbGlkYXRlRHJhd0Rpc2FibGVFbmFibGUpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJ
c0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5p
dEFOR0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0
ZWQ7CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwg
U3RvcmVzKzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3JlcyswKQotICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwg
MCwgMSwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0
aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzAp
LAorICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMr
MCwgU3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhnZXRQ
ZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRFeHBl
Y3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwgMCwgMCwg
MCwgJmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFfc2hh
ZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwogICAgIEdMRnJh
bWVidWZmZXIgZnJhbWVidWZmZXI7CiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgR0xSZW5k
ZXJidWZmZXIgcmVuZGVyYnVmZmVyOwotICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9ySW52YWxpZGF0
ZVRlc3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZh
bHNlKTsKKyAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rlc3QoJnByb2dy
YW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNlKTsKIAogICAg
IC8vIEV4ZWN1dGUgdGhlIHNjZW5hcmlvIHRoYXQgdGhpcyB0ZXN0IGlzIGZvcjoKIApAQCAtMTEw
OSwzNCArMTgyNywzOCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52
YWxpZGF0ZURyYXdEaXNhYmxlRW5hYmxlKQogICAgIC8vIEVuc3VyZSB0aGF0IHRoZSByZW5kZXIg
cGFzcyB3YXNuJ3QgYnJva2VuCiAgICAgRVhQRUNUX0VRKGV4cGVjdGVkLnJlbmRlclBhc3Nlcywg
Z2V0UGVyZkNvdW50ZXJzKCkucmVuZGVyUGFzc2VzKTsKIAotICAgIC8vIFVzZSBzd2FwQnVmZmVy
cyBhbmQgdGhlbiBjaGVjayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUgYWN0dWFsbHkg
ZG9uZQotICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZURlcHRoU3RlbmNpbENvdW50ZXJz
Rm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICAvLyBC
cmVhayB0aGUgcmVuZGVyIHBhc3MgYW5kIHRoZW4gY2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0
b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwg
R0xDb2xvcjo6cmVkKTsKKyAgICBjb21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJm
Q291bnRlcnMoKSwgZXhwZWN0ZWQpOwogCiAgICAgLy8gU3RhcnQgYW5kIGVuZCBhbm90aGVyIHJl
bmRlciBwYXNzLCB0byBjaGVjayB0aGF0IHRoZSBsb2FkIG9wcyBhcmUgYXMgZXhwZWN0ZWQKLSAg
ICBzZXRBbmRJbmNyZW1lbnRMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291
bnRlcnMoKSwgMSwgMSwgJmV4cGVjdGVkKTsKKyAgICBzZXRBbmRJbmNyZW1lbnREZXB0aFN0ZW5j
aWxMb2FkQ291bnRlcnNGb3JPcHNUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAwLCAmZXhwZWN0
ZWQpOwogICAgIGRyYXdRdWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmli
KCksIDAuNWYpOwogICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwotICAgIHN3YXBCdWZmZXJzKCk7
Ci0gICAgY29tcGFyZUxvYWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCBleHBlY3RlZCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6
OnJlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbExvYWRPcENvdW50ZXJzKGdldFBlcmZDb3Vu
dGVycygpLCBleHBlY3RlZCk7CiB9CiAKIC8vIFRlc3RzIHRoYXQgYW5vdGhlciBjYXNlIGRvZXMg
bm90IGJyZWFrIHJlbmRlciBwYXNzLCBhbmQgdGhhdCBjb3VudHMgYXJlIGNvcnJlY3Q6CiAvLwog
Ly8gLSBTY2VuYXJpbzogaW52YWxpZGF0ZSwgZHJhdywgZGlzYWJsZSwgZW5hYmxlLCBpbnZhbGlk
YXRlCi1URVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURyYXdE
aXNhYmxlRW5hYmxlSW52YWxpZGF0ZSkKK1RFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJU
ZXN0LCBEZXB0aFN0ZW5jaWxJbnZhbGlkYXRlRHJhd0Rpc2FibGVFbmFibGVJbnZhbGlkYXRlKQog
ewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25p
dG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKICAgICBhbmds
ZTo6VnVsa2FuUGVyZkNvdW50ZXJzIGV4cGVjdGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQr
MSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIFN0b3JlcyswKSwgc3RlbmNpbChDbGVhcnMrMCwg
TG9hZCswLCBTdG9yZXMrMCkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRl
c3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7Cisg
ICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25l
cyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBM
b2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBl
Y3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAs
IDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0
UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9H
TF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hh
ZGVyczo6ZnM6OlJlZCgpKTsKICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdM
VGV4dHVyZSB0ZXh0dXJlOwogICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBz
ZXR1cENsZWFyQW5kRHJhd0ZvckludmFsaWRhdGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIs
ICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBmYWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdG
b3JEZXB0aFN0ZW5jaWxPcHNUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAm
cmVuZGVyYnVmZmVyLCBmYWxzZSk7CiAKICAgICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0
IHRoaXMgdGVzdCBpcyBmb3I6CiAKQEAgLTExNjksMzIgKzE4OTEsMzYgQEAgVEVTVF9QKFZ1bGth
blBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEcmF3RGlzYWJsZUVuYWJsZUludmFs
aWRhdGUpCiAKICAgICAvLyBVc2Ugc3dhcEJ1ZmZlcnMgYW5kIHRoZW4gY2hlY2sgaG93IG1hbnkg
bG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUKICAgICBzd2FwQnVmZmVycygpOwot
ICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZD
b3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMo
Z2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIFN0YXJ0IGFuZCBlbmQgYW5v
dGhlciByZW5kZXIgcGFzcywgdG8gY2hlY2sgdGhhdCB0aGUgbG9hZCBvcHMgYXJlIGFzIGV4cGVj
dGVkCi0gICAgc2V0QW5kSW5jcmVtZW50TG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0
UGVyZkNvdW50ZXJzKCksIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0QW5kSW5jcmVtZW50RGVw
dGhTdGVuY2lsTG9hZENvdW50ZXJzRm9yT3BzVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwg
JmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChwcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlv
bkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKICAgICBzd2FwQnVm
ZmVycygpOwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJm
Q291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxMb2FkT3BDb3Vu
dGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBUZXN0cyB0aGF0IGFu
b3RoZXIgY2FzZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5kIHRoYXQgY291bnRzIGFy
ZSBjb3JyZWN0OgogLy8KIC8vIC0gU2NlbmFyaW86IGludmFsaWRhdGUsIGRyYXcsIGRpc2FibGUs
IGVuYWJsZSwgaW52YWxpZGF0ZSwgZHJhdwotVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRl
clRlc3QsIEludmFsaWRhdGVEcmF3RGlzYWJsZUVuYWJsZUludmFsaWRhdGVEcmF3KQorVEVTVF9Q
KFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERlcHRoU3RlbmNpbEludmFsaWRhdGVEcmF3
RGlzYWJsZUVuYWJsZUludmFsaWRhdGVEcmF3KQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRigh
SXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGlu
aXRBTkdMRUZlYXR1cmVzKCk7CisKICAgICBhbmdsZTo6VnVsa2FuUGVyZkNvdW50ZXJzIGV4cGVj
dGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAs
IFN0b3JlcysxKSwgc3RlbmNpbChDbGVhcnMrMCwgTG9hZCswLCBTdG9yZXMrMCkKLSAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEs
IDAsIDEsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVw
dGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMSwgU3RvcmVOb25lcysw
KSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVz
KzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0
UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDEsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhw
ZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAs
IDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0sIGVzc2wxX3No
YWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKICAgICBHTEZy
YW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdMVGV4dHVyZSB0ZXh0dXJlOwogICAgIEdMUmVu
ZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckludmFsaWRh
dGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBm
YWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdGb3JEZXB0aFN0ZW5jaWxPcHNUZXN0KCZwcm9n
cmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBmYWxzZSk7CiAKICAg
ICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0IHRoaXMgdGVzdCBpcyBmb3I6CiAKQEAgLTEy
MzEsMzIgKzE5NTcsMzYgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIElu
dmFsaWRhdGVEcmF3RGlzYWJsZUVuYWJsZUludmFsaWRhdGVEcmF3KQogCiAgICAgLy8gVXNlIHN3
YXBCdWZmZXJzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBh
Y3R1YWxseSBkb25lCiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlRGVwdGhTdGVuY2ls
Q291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwor
ICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBl
Y3RlZCk7CiAKICAgICAvLyBTdGFydCBhbmQgZW5kIGFub3RoZXIgcmVuZGVyIHBhc3MsIHRvIGNo
ZWNrIHRoYXQgdGhlIGxvYWQgb3BzIGFyZSBhcyBleHBlY3RlZAotICAgIHNldEFuZEluY3JlbWVu
dExvYWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAwLCAm
ZXhwZWN0ZWQpOworICAgIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExvYWRDb3VudGVyc0Zv
ck9wc1Rlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsICZleHBlY3RlZCk7CiAgICAgZHJhd1F1
YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CiAgICAg
QVNTRVJUX0dMX05PX0VSUk9SKCk7CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlTG9h
ZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsK
KyAgICBjb21wYXJlRGVwdGhTdGVuY2lsTG9hZE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCks
IGV4cGVjdGVkKTsKIH0KIAogLy8gVGVzdHMgdGhhdCBhbm90aGVyIGNvbW1vbiAoZEVRUCkgY2Fz
ZSBkb2VzIG5vdCBicmVhayByZW5kZXIgcGFzcywgYW5kIHRoYXQgY291bnRzIGFyZSBjb3JyZWN0
OgogLy8KIC8vIC0gU2NlbmFyaW86IGludmFsaWRhdGUsIGRpc2FibGUsIGVuYWJsZSwgZHJhdwot
VEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVEaXNhYmxlRW5h
YmxlRHJhdykKK1RFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBEZXB0aFN0ZW5j
aWxJbnZhbGlkYXRlRGlzYWJsZUVuYWJsZURyYXcpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lG
KCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAg
aW5pdEFOR0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhw
ZWN0ZWQ7CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMr
MCwgU3RvcmVzKzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3JlcyswKQotICAgIHNl
dEV4cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwg
MSwgMCwgMSwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBk
ZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVz
KzApLAorICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9y
ZXMrMCwgU3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhn
ZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwgMCwg
MCwgMCwgJmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3JhbSwgZXNzbDFf
c2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwogICAgIEdM
RnJhbWVidWZmZXIgZnJhbWVidWZmZXI7CiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgR0xS
ZW5kZXJidWZmZXIgcmVuZGVyYnVmZmVyOwotICAgIHNldHVwQ2xlYXJBbmREcmF3Rm9ySW52YWxp
ZGF0ZVRlc3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIs
IGZhbHNlKTsKKyAgICBzZXR1cENsZWFyQW5kRHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rlc3QoJnBy
b2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZmZXIsIGZhbHNlKTsKIAog
ICAgIC8vIEV4ZWN1dGUgdGhlIHNjZW5hcmlvIHRoYXQgdGhpcyB0ZXN0IGlzIGZvcjoKIApAQCAt
MTI4NSwzMCArMjAxNSwzNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwg
SW52YWxpZGF0ZURpc2FibGVFbmFibGVEcmF3KQogCiAgICAgLy8gVXNlIHN3YXBCdWZmZXJzIGFu
ZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9yZXMgd2VyZSBhY3R1YWxseSBkb25l
CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlRGVwdGhTdGVuY2lsQ291bnRlcnNGb3JJ
bnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVE
ZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CiAKICAg
ICAvLyBTdGFydCBhbmQgZW5kIGFub3RoZXIgcmVuZGVyIHBhc3MsIHRvIGNoZWNrIHRoYXQgdGhl
IGxvYWQgb3BzIGFyZSBhcyBleHBlY3RlZAotICAgIHNldEFuZEluY3JlbWVudExvYWRDb3VudGVy
c0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAmZXhwZWN0ZWQpOwor
ICAgIHNldEFuZEluY3JlbWVudERlcHRoU3RlbmNpbExvYWRDb3VudGVyc0Zvck9wc1Rlc3QoZ2V0
UGVyZkNvdW50ZXJzKCksIDEsIDAsICZleHBlY3RlZCk7CiAgICAgZHJhd1F1YWQocHJvZ3JhbSwg
ZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CiAgICAgQVNTRVJUX0dMX05P
X0VSUk9SKCk7CiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlTG9hZENvdW50ZXJzRm9y
SW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21wYXJl
RGVwdGhTdGVuY2lsTG9hZE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsK
IH0KIAogLy8gVGVzdHMgdGhhdCBhbiBpbiByZW5kZXJwYXNzIGNsZWFyIGFmdGVyIGludmFsaWRh
dGUga2VlcHMgY29udGVudCBzdG9yZWQuCi1URVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdCwgSW52YWxpZGF0ZUFuZENsZWFyKQorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRl
clRlc3QsIERlcHRoU3RlbmNpbEludmFsaWRhdGVBbmRDbGVhcikKIHsKICAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUp
KTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3Vu
dGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysx
LCBMb2FkcyswLCBTdG9yZXMrMSksIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWQrMCwgU3RvcmVzKzAp
Ci0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCAxLCAxLCAwLCAxLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENv
dW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0
b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVz
KzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRl
cHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOwor
ICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAw
LCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworCisgICAgLy8gQ2xlYXIgc2hvdWxkIHZrQ21kQ2xl
YXJBdHRhY2htZW50cworICAgIGV4cGVjdGVkLmRlcHRoQ2xlYXJBdHRhY2htZW50cyA9IGdldFBl
cmZDb3VudGVycygpLmRlcHRoQ2xlYXJBdHRhY2htZW50cyArIDE7CiAKICAgICBBTkdMRV9HTF9Q
Uk9HUkFNKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVy
czo6ZnM6OlJlZCgpKTsKICAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOwogICAgIEdMVGV4
dHVyZSB0ZXh0dXJlOwogICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICBzZXR1
cENsZWFyQW5kRHJhd0ZvckludmFsaWRhdGVUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0
ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCBmYWxzZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdGb3JE
ZXB0aFN0ZW5jaWxPcHNUZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVu
ZGVyYnVmZmVyLCBmYWxzZSk7CiAKICAgICAvLyBEaXNhYmxlIGRlcHRoIHRlc3QgYnV0IHdpdGgg
ZGVwdGggbWFzayBlbmFibGVkIHNvIHRoYXQgY2xlYXIgc2hvdWxkIHN0aWxsIHdvcmsuCiAgICAg
Z2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOwpAQCAtMTMyNiwxMCArMjA2MywxNCBAQCBURVNUX1Ao
VnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZUFuZENsZWFyKQogCiAgICAg
Ly8gVXNlIHN3YXBCdWZmZXJzIGFuZCB0aGVuIGNoZWNrIGhvdyBtYW55IGxvYWRzIGFuZCBzdG9y
ZXMgd2VyZSBhY3R1YWxseSBkb25lCiAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21wYXJlRGVw
dGhTdGVuY2lsQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhw
ZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVy
cygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZUNsZWFyQXR0YWNobWVudHNDb3VudGVyKGV4cGVj
dGVkLmRlcHRoQ2xlYXJBdHRhY2htZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2V0UGVyZkNvdW50ZXJzKCkuZGVwdGhDbGVhckF0dGFjaG1lbnRzKTsKIAotICAgIC8v
IEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycyswLCBMb2FkcysxLCBTdG9yZXMrMSksIHN0
ZW5jaWwoQ2xlYXJzKzAsIExvYWQrMCwgU3RvcmVzKzApCi0gICAgc2V0RXhwZWN0ZWRDb3VudGVy
c0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAxLCAxLCAwLCAwLCAw
LCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycyswLCBM
b2FkcysxLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMrMCksCisgICAgLy8gc3Rl
bmNpbChDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVz
KzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdldFBlcmZDb3VudGVycygp
LCAxLCAwLCAxLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4cGVjdGVkQ291bnRlcnNG
b3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQp
OwogCiAgICAgLy8gQmluZCBGQk8gYWdhaW4gYW5kIHRyeSB0byB1c2UgdGhlIGRlcHRoIGJ1ZmZl
ciB3aXRob3V0IGNsZWFyLiBUaGlzIHNob3VsZCByZXN1bHQgaW4KICAgICAvLyBsb2FkT3A9TE9B
RCBhbmQgU3RvcmVPUD1TVE9SRQpAQCAtMTM0MCwyNSArMjA4MSwyOSBAQCBURVNUX1AoVnVsa2Fu
UGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZUFuZENsZWFyKQogICAgIEFOR0xFX0dM
X1BST0dSQU0oYmx1ZVByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFf
c2hhZGVyczo6ZnM6OkJsdWUoKSk7CiAgICAgLy8gU2hvdWxkIHBhc3MgZGVwdGggdGVzdDogKDAu
NSsxLjApLzIuMD0wLjc1IDwgMS4wCiAgICAgZHJhd1F1YWQoYmx1ZVByb2dyYW0sIGVzc2wxX3No
YWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwotICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9F
UShrSW52YWxpZGF0ZVRlc3RTaXplIC8gMiwga0ludmFsaWRhdGVUZXN0U2l6ZSAvIDIsIEdMQ29s
b3I6OmJsdWUpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVU
ZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKGtPcHNUZXN0U2l6ZSAvIDIsIGtPcHNUZXN0U2l6ZSAvIDIsIEdMQ29sb3I6OmJsdWUpOwor
ICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBl
Y3RlZCk7CiB9CiAKIC8vIFRlc3RzIHRoYXQgdGhlIGRyYXcgcGF0aCBmb3IgY2xlYXIgYWZ0ZXIg
aW52YWxpZGF0ZSBhbmQgZGlzYWJsaW5nIGRlcHRoL3N0ZW5jaWwgdGVzdCBrZWVwcwogLy8gY29u
dGVudCBzdG9yZWQuCi1URVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxp
ZGF0ZUFuZE1hc2tlZENsZWFyKQorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3Qs
IERlcHRoU3RlbmNpbEludmFsaWRhdGVBbmRNYXNrZWRDbGVhcikKIHsKICAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUp
KTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3Vu
dGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysx
LCBMb2FkcyswLCBTdG9yZXMrMSksIHN0ZW5jaWwoQ2xlYXJzKzEsIExvYWQrMCwgU3RvcmVzKzEp
Ci0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCAxLCAxLCAwLCAxLCAxLCAwLCAxLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENv
dW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0
b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVz
KzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRl
cHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOwor
ICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAx
LCAwLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOwogCiAgICAgQU5HTEVfR0xfUFJPR1JBTShwcm9ncmFt
LCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7
CiAgICAgR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcjsKICAgICBHTFRleHR1cmUgdGV4dHVyZTsK
ICAgICBHTFJlbmRlcmJ1ZmZlciByZW5kZXJidWZmZXI7Ci0gICAgc2V0dXBDbGVhckFuZERyYXdG
b3JJbnZhbGlkYXRlVGVzdCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRl
cmJ1ZmZlciwgdHJ1ZSk7CisgICAgc2V0dXBDbGVhckFuZERyYXdGb3JEZXB0aFN0ZW5jaWxPcHNU
ZXN0KCZwcm9ncmFtLCAmZnJhbWVidWZmZXIsICZ0ZXh0dXJlLCAmcmVuZGVyYnVmZmVyLCB0cnVl
KTsKIAogICAgIC8vIEludmFsaWRhdGUgKHNob3VsZCByZXN1bHQ6IGluIHN0b3JlT3AgPSBET05U
X0NBUkU7IG1Db250ZW50RGVmaW5lZCA9IGZhbHNlKQogICAgIGNvbnN0IEdMZW51bSBkaXNjYXJk
c1tdID0ge0dMX0RFUFRIX0FUVEFDSE1FTlQsIEdMX1NURU5DSUxfQVRUQUNITUVOVH07CkBAIC0x
MzczLDggKzIxMTgsNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52
YWxpZGF0ZUFuZE1hc2tlZENsZWFyKQogCiAgICAgLy8gRW5hYmxlIHNjaXNzb3IgZm9yIHRoZSBk
cmF3IHBhdGggdG8gYmUgdGFrZW4uCiAgICAgZ2xFbmFibGUoR0xfU0NJU1NPUl9URVNUKTsKLSAg
ICBnbFNjaXNzb3Ioa0ludmFsaWRhdGVUZXN0U2l6ZSAvIDQsIGtJbnZhbGlkYXRlVGVzdFNpemUg
LyA0LCBrSW52YWxpZGF0ZVRlc3RTaXplIC8gMiwKLSAgICAgICAgICAgICAga0ludmFsaWRhdGVU
ZXN0U2l6ZSAvIDIpOworICAgIGdsU2Npc3NvcihrT3BzVGVzdFNpemUgLyA0LCBrT3BzVGVzdFNp
emUgLyA0LCBrT3BzVGVzdFNpemUgLyAyLCBrT3BzVGVzdFNpemUgLyAyKTsKIAogICAgIC8vIERv
IGluLXJlbmRlcnBhc3MgY2xlYXIuIFRoaXMgc2hvdWxkIHJlc3VsdCBpbiBTdG9yZU9wPVNUT1JF
CiAgICAgZ2xDbGVhckRlcHRoZigxLjBmKTsKQEAgLTEzODQsMTAgKzIxMjgsMTMgQEAgVEVTVF9Q
KFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIEludmFsaWRhdGVBbmRNYXNrZWRDbGVhcikK
IAogICAgIC8vIFVzZSBzd2FwQnVmZmVycyBhbmQgdGhlbiBjaGVjayBob3cgbWFueSBsb2FkcyBh
bmQgc3RvcmVzIHdlcmUgYWN0dWFsbHkgZG9uZQogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29t
cGFyZURlcHRoU3RlbmNpbENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJz
KCksIGV4cGVjdGVkKTsKKyAgICBjb21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJm
Q291bnRlcnMoKSwgZXhwZWN0ZWQpOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgo
Q2xlYXJzKzAsIExvYWRzKzEsIFN0b3JlcysxKSwgc3RlbmNpbChDbGVhcnMrMCwgTG9hZCsxLCBT
dG9yZXMrMSkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVy
ZkNvdW50ZXJzKCksIDAsIDAsIDEsIDEsIDAsIDEsIDEsICZleHBlY3RlZCk7CisgICAgLy8gRXhw
ZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzAsIExvYWRzKzEsIExvYWROb25lcyswLCBTdG9y
ZXMrMSwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBMb2FkcysxLCBM
b2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMSkKKyAgICAvLyBOb3RlIHRoYXQgZGVw
dGggd3JpdGUgaXMgZW5hYmxlZCwgd2hpbGUgc3RlbmNpbCBpcyBkaXNhYmxlZC4KKyAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsIDEsIDAs
IDEsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMo
Z2V0UGVyZkNvdW50ZXJzKCksIDAsIDEsIDAsIDAsIDEsICZleHBlY3RlZCk7CiAKICAgICAvLyBC
aW5kIEZCTyBhZ2FpbiBhbmQgdHJ5IHRvIHVzZSB0aGUgZGVwdGggYnVmZmVyIHdpdGhvdXQgY2xl
YXIuIFRoaXMgc2hvdWxkIHJlc3VsdCBpbgogICAgIC8vIGxvYWRPcD1MT0FEIGFuZCBTdG9yZU9Q
PVNUT1JFCkBAIC0xNDAwLDIwICsyMTQ3LDI0IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNv
dW50ZXJUZXN0LCBJbnZhbGlkYXRlQW5kTWFza2VkQ2xlYXIpCiAgICAgZ2xTdGVuY2lsTWFzaygw
eEZGKTsKICAgICBBTkdMRV9HTF9QUk9HUkFNKGJsdWVQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2
czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpCbHVlKCkpOwogICAgIGRyYXdRdWFkKGJs
dWVQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjk1Zik7Ci0gICAg
RVhQRUNUX1BJWEVMX0NPTE9SX0VRKGtJbnZhbGlkYXRlVGVzdFNpemUgLyAyLCBrSW52YWxpZGF0
ZVRlc3RTaXplIC8gMiwgR0xDb2xvcjo6Ymx1ZSk7Ci0gICAgY29tcGFyZURlcHRoU3RlbmNpbENv
dW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAg
ICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoa09wc1Rlc3RTaXplIC8gMiwga09wc1Rlc3RTaXplIC8g
MiwgR0xDb2xvcjo6Ymx1ZSk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0
UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIH0KIAogLy8gVGVzdHMgd2hldGhlciBkZXB0aC1z
dGVuY2lsIENvbnRlbnREZWZpbmVkIHdpbGwgYmUgY29ycmVjdCB3aGVuOgogLy8KIC8vIC0gU2Nl
bmFyaW86IGludmFsaWRhdGUsIGRldGFjaCBEL1MgdGV4dHVyZSBhbmQgbW9kaWZ5IGl0LCBhdHRh
Y2ggRC9TIHRleHR1cmUsIGRyYXcgd2l0aCBibGVuZAotVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNl
Q291bnRlclRlc3QsIEludmFsaWRhdGVEZXRhY2hNb2RpZnlUZXhBdHRhY2hEcmF3V2l0aEJsZW5k
KQorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERlcHRoU3RlbmNpbEludmFs
aWRhdGVEZXRhY2hNb2RpZnlUZXhBdHRhY2hEcmF3V2l0aEJsZW5kKQogewogICAgIEFOR0xFX1NL
SVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFt
ZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKICAgICBhbmdsZTo6VnVsa2FuUGVyZkNv
dW50ZXJzIGV4cGVjdGVkOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJz
KzEsIExvYWRzKzAsIFN0b3JlcysxKSwgc3RlbmNpbChDbGVhcnMrMCwgTG9hZCswLCBTdG9yZXMr
MSkKLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50
ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJw
Q291bnQrMSwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwg
U3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9u
ZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9y
RGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7
CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCks
IDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICBBTkdMRV9HTF9QUk9HUkFNKHJlZFBy
b2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJl
ZCgpKTsKICAgICBBTkdMRV9HTF9QUk9HUkFNKGdyZWVuUHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6
dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6R3JlZW4oKSk7CkBAIC0xNDUxLDcgKzIy
MDIsNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURl
dGFjaE1vZGlmeVRleEF0dGFjaERyYXdXaXRoQmxlbgogICAgIC8vIENoZWNrIGZvciB0aGUgZXhw
ZWN0ZWQgbnVtYmVyIG9mIHJlbmRlciBwYXNzZXMsIGV4cGVjdGVkIGNvbG9yLCBhbmQgb3RoZXIg
ZXhwZWN0ZWQgY291bnRlcnMKICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBn
ZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOwogICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9F
USgwLCAwLCBHTENvbG9yOjpyZWQpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0Zv
ckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFy
ZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAog
ICAgIC8vIERldGFjaCBkZXB0aC1zdGVuY2lsIGF0dGFjaG1lbnQKICAgICBnbEZyYW1lYnVmZmVy
VGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIEdM
X1RFWFRVUkVfMkQsIDAsIDApOwpAQCAtMTQ3MiwzOCArMjIyMyw0NyBAQCBURVNUX1AoVnVsa2Fu
UGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURldGFjaE1vZGlmeVRleEF0dGFjaERy
YXdXaXRoQmxlbgogCiAgICAgLy8gRHJhdyBhZ2Fpbiwgc2hvd2luZyB0aGF0IHRoZSBtb2RpZmll
ZCBkZXB0aC1zdGVuY2lsIHZhbHVlIHByZXZlbnRzIGEgbmV3IGNvbG9yIHZhbHVlCiAgICAgLy8K
LSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMCwgTG9hZHMrMSwgU3RvcmVz
KzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzEsIFN0b3JlcysxKQotICAgIHNldEV4cGVjdGVk
Q291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwgMSwgMSwg
MCwgMSwgMSwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVh
cnMrMCwgTG9hZHMrMSwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzApLAorICAg
IC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzEsIExvYWROb25lcyswLCBTdG9yZXMrMCwgU3Rv
cmVOb25lcysxKQorICAgIC8vIE5vdGUgdGhhdCBkZXB0aCB3cml0ZSBpcyBlbmFibGVkLCB3aGls
ZSBzdGVuY2lsIGlzIGRpc2FibGVkLgorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9w
cyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwgMSwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBz
ZXRFeHBlY3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMSwg
MCwgMCwgMSwgJmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChncmVlblByb2dyYW0sIGVzc2wxX3No
YWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwogICAgIEFTU0VSVF9HTF9OT19FUlJPUigp
OwogICAgIC8vIENoZWNrIGZvciB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9mIHJlbmRlciBwYXNzZXMs
IGV4cGVjdGVkIGNvbG9yLCBhbmQgb3RoZXIgZXhwZWN0ZWQgY291bnRlcnMKICAgICBFWFBFQ1Rf
RVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMp
OwogICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpyZWQpOwotICAgIGNv
bXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0UGVy
ZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAgIC8vIERyYXcgYWdhaW4sIHVzaW5nIGEgZGlm
ZmVyZW50IGRlcHRoIHZhbHVlLCBzbyB0aGF0IHRoZSBkcmF3aW5nIHRha2VzIHBsYWNlCiAgICAg
Ly8KLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMCwgTG9hZHMrMSwgU3Rv
cmVzKzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzEsIFN0b3JlcysxKQotICAgIHNldEV4cGVj
dGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwgMSwg
MSwgMCwgMSwgMSwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChD
bGVhcnMrMCwgTG9hZHMrMSwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVzKzApLAor
ICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzEsIExvYWROb25lcyswLCBTdG9yZXMrMCwg
U3RvcmVOb25lcysxKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhnZXRQZXJm
Q291bnRlcnMoKSwgMSwgMCwgMSwgMCwgMSwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRFeHBlY3Rl
ZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMCwgMSwgMCwgMCwgMSwg
JmV4cGVjdGVkKTsKICAgICBkcmF3UXVhZChncmVlblByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBv
c2l0aW9uQXR0cmliKCksIDAuMmYpOwogICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwogICAgIC8v
IENoZWNrIGZvciB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9mIHJlbmRlciBwYXNzZXMsIGV4cGVjdGVk
IGNvbG9yLCBhbmQgb3RoZXIgZXhwZWN0ZWQgY291bnRlcnMKICAgICBFWFBFQ1RfRVEoZXhwZWN0
ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOwogICAgIEVY
UEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpncmVlbik7Ci0gICAgY29tcGFyZURl
cHRoU3RlbmNpbENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4
cGVjdGVkKTsKKyAgICBjb21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJmQ291bnRl
cnMoKSwgZXhwZWN0ZWQpOwogfQogCiAvLyBUZXN0cyB0aGF0IGEgR0xSZW5kZXJidWZmZXIgY2Fu
IGJlIGRlbGV0ZWQgYmVmb3JlIHRoZSByZW5kZXIgcGFzcyBlbmRzLCBhbmQgdGhhdCBldmVyeXRo
aW5nCiAvLyBzdGlsbCB3b3Jrcy4KIC8vCiAvLyAtIFNjZW5hcmlvOiBpbnZhbGlkYXRlCi1URVNU
X1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURyYXdBbmREZWxldGVS
ZW5kZXJidWZmZXIpCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgRGVwdGhT
dGVuY2lsSW52YWxpZGF0ZURyYXdBbmREZWxldGVSZW5kZXJidWZmZXIpCiB7CiAgICAgQU5HTEVf
U0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25O
YW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJm
Q291bnRlcnMgZXhwZWN0ZWQ7CiAKLSAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVh
cnMrMSwgTG9hZHMrMCwgU3RvcmVzKzEpLCBzdGVuY2lsKENsZWFycyswLCBMb2FkKzAsIFN0b3Jl
cyswKQotICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291
bnRlcnMoKSwgMSwgMSwgMCwgMSwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICAvLyBFeHBlY3Qg
cnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3Jlcysx
LCBTdG9yZU5vbmVzKzApLAorICAgIC8vIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWRO
b25lcyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKQorICAgIHNldEV4cGVjdGVkQ291bnRlcnNG
b3JEZXB0aE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwgMSwgMCwgJmV4cGVjdGVk
KTsKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhnZXRQZXJmQ291bnRlcnMo
KSwgMCwgMCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJv
Z3JhbSwgZXNzbDFfc2hhZGVyczo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVk
KCkpOwogICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7CkBAIC0xNTEyLDcgKzIyNzIsOCBA
QCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZURyYXdBbmRE
ZWxldGVSZW5kZXJidWZmZXIpCiAgICAgICAgIC8vIERlY2xhcmUgdGhlIFJBSUktYmFzZWQgR0xS
ZW5kZXJidWZmZXIgb2JqZWN0IHdpdGhpbiB0aGlzIHNldCBvZiBjdXJseSBicmFjZXMsIHNvIHRo
YXQgaXQKICAgICAgICAgLy8gd2lsbCBiZSBkZWxldGVkIGVhcmx5IChhdCB0aGUgY2xvc2UtY3Vy
bHktYnJhY2UpCiAgICAgICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKLSAgICAgICAg
c2V0dXBDbGVhckFuZERyYXdGb3JJbnZhbGlkYXRlVGVzdCgmcHJvZ3JhbSwgJmZyYW1lYnVmZmVy
LCAmdGV4dHVyZSwgJnJlbmRlcmJ1ZmZlciwgZmFsc2UpOworICAgICAgICBzZXR1cENsZWFyQW5k
RHJhd0ZvckRlcHRoU3RlbmNpbE9wc1Rlc3QoJnByb2dyYW0sICZmcmFtZWJ1ZmZlciwgJnRleHR1
cmUsICZyZW5kZXJidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmYWxzZSk7CiAKICAgICAgICAgLy8gSW52YWxpZGF0ZSAoc3RvcmVPcCA9IERP
TlRfQ0FSRTsgbUNvbnRlbnREZWZpbmVkID0gZmFsc2UpCiAgICAgICAgIGNvbnN0IEdMZW51bSBk
aXNjYXJkc1tdID0ge0dMX0RFUFRIX0FUVEFDSE1FTlQsIEdMX1NURU5DSUxfQVRUQUNITUVOVH07
CkBAIC0xNTMxLDIwICsyMjkyLDc1IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJU
ZXN0LCBJbnZhbGlkYXRlRHJhd0FuZERlbGV0ZVJlbmRlcmJ1ZmZlcikKIAogICAgIC8vIFVzZSBz
d2FwQnVmZmVycyBhbmQgdGhlbiBjaGVjayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUg
YWN0dWFsbHkgZG9uZQogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZURlcHRoU3RlbmNp
bENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsK
KyAgICBjb21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhw
ZWN0ZWQpOwogCiAgICAgLy8gU3RhcnQgYW5kIGVuZCBhbm90aGVyIHJlbmRlciBwYXNzLCB0byBj
aGVjayB0aGF0IHRoZSBsb2FkIG9wcyBhcmUgYXMgZXhwZWN0ZWQKLSAgICBzZXRBbmRJbmNyZW1l
bnRMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgMCwgMCwg
JmV4cGVjdGVkKTsKKyAgICBzZXRBbmRJbmNyZW1lbnREZXB0aFN0ZW5jaWxMb2FkQ291bnRlcnNG
b3JPcHNUZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAmZXhwZWN0ZWQpOwogICAgIGRyYXdR
dWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNWYpOwogICAg
IEFTU0VSVF9HTF9OT19FUlJPUigpOwogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZUxv
YWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7
CisgICAgY29tcGFyZURlcHRoU3RlbmNpbExvYWRPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygp
LCBleHBlY3RlZCk7Cit9CisKKy8vIFRlc3QgdGhhdCBkaXNhYmxpbmcgY29sb3IgYnVmZmVyIGFm
dGVyIGNsZWFyIGNvbnRpbnVlcyB0byB1c2UgbG9hZE9wIGZvciBpdC4KKy8vCisvLyAtIFNjZW5h
cmlvOiBjbGVhciBjb2xvciBhbmQgZGVwdGgsIGRpc2FibGUgY29sb3IsIGRyYXcsIGVuYWJsZSBj
b2xvciwgZHJhdworVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3RfRVMzMSwgQ29s
b3JEaXNhYmxlVGhlbkRyYXdUaGVuRW5hYmxlVGhlbkRyYXcpCit7CisgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7
CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRl
cnMgZXhwZWN0ZWQ7CisKKyAgICBHTEZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyOworICAgIEdMVGV4
dHVyZSB0ZXh0dXJlOworICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKKyAgICBzZXR1
cEZvckNvbG9yRGVwdGhPcHNUZXN0KCZmcmFtZWJ1ZmZlciwgJnRleHR1cmUsICZyZW5kZXJidWZm
ZXIpOworCisgICAgLy8gRXhwZWN0ZWQ6CisgICAgLy8gICBycENvdW50KzEsCisgICAgLy8gICBk
ZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcysxLCBTdG9yZU5vbmVz
KzApCisgICAgLy8gICBjb2xvcihDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3Jl
cysxLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdl
dFBlcmZDb3VudGVycygpLCAwLCAxLCAwLCAwLCAxLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwg
MSwgMCwgJmV4cGVjdGVkKTsKKworICAgIC8vIENsZWFyIGNvbG9yIGFuZCBkZXB0aCBmaXJzdAor
ICAgIGdsQ2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICBnbENsZWFyRGVwdGhmKDAuMTIzKTsK
KyAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQgfCBHTF9ERVBUSF9CVUZGRVJfQklUKTsK
KworICAgIC8vIERpc2FibGUgY29sb3Igb3V0cHV0CisgICAgR0xlbnVtIGRyYXdCdWZmZXJzW10g
PSB7R0xfTk9ORX07CisgICAgZ2xEcmF3QnVmZmVycygxLCBkcmF3QnVmZmVycyk7CisKKyAgICAv
LyBJc3N1ZSBhIGRyYXcgY2FsbCwgb25seSBhZmZlY3RpbmcgZGVwdGgKKyAgICBnbERlcHRoRnVu
YyhHTF9BTFdBWVMpOworICAgIEFOR0xFX0dMX1BST0dSQU0oZHJhd0dyZWVuLCBlc3NsMV9zaGFk
ZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpHcmVlbigpKTsKKyAgICBkcmF3
UXVhZChkcmF3R3JlZW4sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDAuNzVmKTsK
KworICAgIC8vIEVuYWJsZSBjb2xvciBvdXRwdXQKKyAgICBkcmF3QnVmZmVyc1swXSA9IEdMX0NP
TE9SX0FUVEFDSE1FTlQwOworICAgIGdsRHJhd0J1ZmZlcnMoMSwgZHJhd0J1ZmZlcnMpOworCisg
ICAgLy8gSXNzdWUgYW5vdGhlciBkcmF3IGNhbGwsIHZlcmlmeWluZyBkZXB0aCBzaW11bHRhbmVv
dXNseQorICAgIGdsRGVwdGhGdW5jKEdMX0xFU1MpOworICAgIEFOR0xFX0dMX1BST0dSQU0oZHJh
d0JsdWUsIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OkJs
dWUoKSk7CisgICAgZHJhd1F1YWQoZHJhd0JsdWUsIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0
cmliKCksIDAuNzRmKTsKKworICAgIEVYUEVDVF9FUShleHBlY3RlZC5yZW5kZXJQYXNzZXMsIGdl
dFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nlcyk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBh
bmQgY2hlY2sgaG93IG1hbnkgbG9hZHMgYW5kIHN0b3JlcyB3ZXJlIGFjdHVhbGx5IGRvbmUuCisg
ICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OmJsdWUpOworICAgIGNvbXBh
cmVDb2xvck9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21w
YXJlRGVwdGhPcENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgQVNT
RVJUX0dMX05PX0VSUk9SKCk7CiB9CiAKIC8vIFRlc3RzIHRoYXQgZXZlbiBpZiB0aGUgYXBwIGNs
ZWFycyBkZXB0aCwgaXQgc2hvdWxkIGJlIGludmFsaWRhdGVkIGlmIHRoZXJlIGlzIG5vIHJlYWQu
CiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgU3dhcFNob3VsZEludmFsaWRh
dGVEZXB0aEFmdGVyQ2xlYXIpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5z
aW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVh
dHVyZXMoKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocmVkUHJvZ3JhbSwgZXNzbDFfc2hhZGVy
czo6dnM6OlNpbXBsZSgpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOwogCkBAIC0xNTU4LDEx
ICsyMzc0LDExIEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBTd2FwU2hv
dWxkSW52YWxpZGF0ZURlcHRoQWZ0ZXJDbGVhcikKICAgICBkcmF3UXVhZChyZWRQcm9ncmFtLCBl
c3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKICAgICBBU1NFUlRfR0xfTk9f
RVJST1IoKTsKIAotICAgIHVpbnQzMl90IGV4cGVjdGVkRGVwdGhDbGVhcnMgPSBnZXRQZXJmQ291
bnRlcnMoKS5kZXB0aENsZWFyczsKKyAgICB1aW50MzJfdCBleHBlY3RlZERlcHRoQ2xlYXJzID0g
Z2V0UGVyZkNvdW50ZXJzKCkuZGVwdGhMb2FkT3BDbGVhcnM7CiAKICAgICBzd2FwQnVmZmVycygp
OwogCi0gICAgdWludDMyX3QgYWN0dWFsRGVwdGhDbGVhcnMgPSBnZXRQZXJmQ291bnRlcnMoKS5k
ZXB0aENsZWFyczsKKyAgICB1aW50MzJfdCBhY3R1YWxEZXB0aENsZWFycyA9IGdldFBlcmZDb3Vu
dGVycygpLmRlcHRoTG9hZE9wQ2xlYXJzOwogICAgIEVYUEVDVF9FUShleHBlY3RlZERlcHRoQ2xl
YXJzLCBhY3R1YWxEZXB0aENsZWFycyk7CiB9CiAKQEAgLTE1NzAsNiArMjM4Niw3IEBAIFRFU1Rf
UChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBTd2FwU2hvdWxkSW52YWxpZGF0ZURlcHRo
QWZ0ZXJDbGVhcikKIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBNYXNrZWRD
b2xvckNsZWFyRG9lc05vdEJyZWFrUmVuZGVyUGFzcykKIHsKICAgICBBTkdMRV9TS0lQX1RFU1Rf
SUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAg
ICBpbml0QU5HTEVGZWF0dXJlcygpOwogCiAgICAgR0xUZXh0dXJlIHRleHR1cmU7CiAgICAgZ2xC
aW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsKQEAgLTE2MTAsNiArMjQyNyw3IEBA
IFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBNYXNrZWRDb2xvckNsZWFyRG9l
c05vdEJyZWFrUmVuZGVyUGFzcykKIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
LCBNYXNrZWRDbGVhckRvZXNOb3RCcmVha1JlbmRlclBhc3MpCiB7CiAgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7
CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIGNvbnN0ZXhwciBHTHNpemVpIGtTaXpl
ID0gNjQ7CiAKQEAgLTE2OTEsMTAgKzI1MDksMTEgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNl
Q291bnRlclRlc3QsIE1hc2tlZENsZWFyRG9lc05vdEJyZWFrUmVuZGVyUGFzcykKIFRFU1RfUChW
dWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBDbGVhclRoZW5TY2lzc29yZWREcmF3KQogewog
ICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9y
RXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICB1aW50MzJf
dCBleHBlY3RlZFJlbmRlclBhc3NDb3VudCA9IGdldFBlcmZDb3VudGVycygpLnJlbmRlclBhc3Nl
cyArIDE7Ci0gICAgdWludDMyX3QgZXhwZWN0ZWREZXB0aENsZWFycyAgICAgPSBnZXRQZXJmQ291
bnRlcnMoKS5kZXB0aENsZWFycyArIDE7Ci0gICAgdWludDMyX3QgZXhwZWN0ZWRTdGVuY2lsQ2xl
YXJzICAgPSBnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsQ2xlYXJzICsgMTsKKyAgICB1aW50MzJf
dCBleHBlY3RlZERlcHRoQ2xlYXJzICAgICA9IGdldFBlcmZDb3VudGVycygpLmRlcHRoTG9hZE9w
Q2xlYXJzICsgMTsKKyAgICB1aW50MzJfdCBleHBlY3RlZFN0ZW5jaWxDbGVhcnMgICA9IGdldFBl
cmZDb3VudGVycygpLnN0ZW5jaWxMb2FkT3BDbGVhcnMgKyAxOwogCiAgICAgY29uc3RleHByIEdM
c2l6ZWkga1NpemUgPSA2NDsKIApAQCAtMTc0NSw4ICsyNTY0LDggQEAgVEVTVF9QKFZ1bGthblBl
cmZvcm1hbmNlQ291bnRlclRlc3QsIENsZWFyVGhlblNjaXNzb3JlZERyYXcpCiAKICAgICAvLyBN
YWtlIHN1cmUgYSBzaW5nbGUgcmVuZGVyIHBhc3Mgd2FzIHVzZWQgYW5kIGRlcHRoL3N0ZW5jaWwg
Y2xlYXIgdXNlZCBsb2FkT3A9Q0xFQVIuCiAgICAgRVhQRUNUX0VRKGV4cGVjdGVkUmVuZGVyUGFz
c0NvdW50LCBnZXRQZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOwotICAgIEVYUEVDVF9FUShl
eHBlY3RlZERlcHRoQ2xlYXJzLCBnZXRQZXJmQ291bnRlcnMoKS5kZXB0aENsZWFycyk7Ci0gICAg
RVhQRUNUX0VRKGV4cGVjdGVkU3RlbmNpbENsZWFycywgZ2V0UGVyZkNvdW50ZXJzKCkuc3RlbmNp
bENsZWFycyk7CisgICAgRVhQRUNUX0VRKGV4cGVjdGVkRGVwdGhDbGVhcnMsIGdldFBlcmZDb3Vu
dGVycygpLmRlcHRoTG9hZE9wQ2xlYXJzKTsKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRTdGVuY2ls
Q2xlYXJzLCBnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsTG9hZE9wQ2xlYXJzKTsKIAogICAgIC8v
IFZlcmlmeSBjb3JyZWN0bmVzcy4KICAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xD
b2xvcjo6Z3JlZW4pOwpAQCAtMTc2NCw2ICsyNTgzLDcgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1h
bmNlQ291bnRlclRlc3QsIENsZWFyVGhlblNjaXNzb3JlZERyYXcpCiBURVNUX1AoVnVsa2FuUGVy
Zm9ybWFuY2VDb3VudGVyVGVzdCwgU2Npc3NvcmVkQ2xlYXJEb2VzTm90QnJlYWtSZW5kZXJQYXNz
KQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZN
b25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBj
b25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDY0OwogCkBAIC0xODYyLDYgKzI2ODIsNyBAQCBURVNU
X1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgU2Npc3NvcmVkQ2xlYXJEb2VzTm90QnJl
YWtSZW5kZXJQYXNzKQogVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERyYXdi
dWZmZXJDaGFuZ2VXaXRoQWxsQ29sb3JNYXNrRGlzYWJsZWQpCiB7CiAgICAgQU5HTEVfU0tJUF9U
RVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7
CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0ocHJvZ3Jh
bSwgZXNzbDFfc2hhZGVyczo6dnM6OlBhc3N0aHJvdWdoKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpV
bmlmb3JtQ29sb3IoKSk7CiAgICAgZ2xVc2VQcm9ncmFtKHByb2dyYW0pOwpAQCAtMTkyMSw2ICsy
NzQyLDggQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERyYXdidWZmZXJD
aGFuZ2VXaXRoQWxsQ29sb3JNYXNrRGlzYWJsZWQpCiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VD
b3VudGVyVGVzdCwgSW5SZW5kZXJwYXNzRmx1c2hTaG91bGROb3RCcmVha1JlbmRlcnBhc3MpCiB7
CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0
b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKwogICAgIHVpbnQz
Ml90IGV4cGVjdGVkUmVuZGVyUGFzc0NvdW50ID0gZ2V0UGVyZkNvdW50ZXJzKCkucmVuZGVyUGFz
c2VzICsgMTsKIAogICAgIEdMVGV4dHVyZSB0ZXh0dXJlOwpAQCAtMTk0OCwxNCArMjc3MSwxNSBA
QCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW5SZW5kZXJwYXNzRmx1c2hT
aG91bGROb3RCcmVha1JlbmRlcnBhc3MpCiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdCwgRGVwdGhTdGVuY2lsVGV4dHVyZUNsZWFyQW5kTG9hZCkKIHsKICAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUp
KTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOwogCiAgICAgLy8gVE9ETzogaHR0cDovL2FuZ2xl
YnVnLmNvbS81MzI5IEZsYWt5IHRlc3QKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoSXNXaW5kb3dz
KCkgJiYgSXNBTUQoKSAmJiBJc1Z1bGthbigpKTsKIAotICAgIHVpbnQzMl90IGV4cGVjdGVkRGVw
dGhDbGVhckNvdW50ICAgPSBnZXRQZXJmQ291bnRlcnMoKS5kZXB0aENsZWFycyArIDE7Ci0gICAg
dWludDMyX3QgZXhwZWN0ZWREZXB0aExvYWRDb3VudCAgICA9IGdldFBlcmZDb3VudGVycygpLmRl
cHRoTG9hZHMgKyAzOwotICAgIHVpbnQzMl90IGV4cGVjdGVkU3RlbmNpbENsZWFyQ291bnQgPSBn
ZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsQ2xlYXJzICsgMTsKLSAgICB1aW50MzJfdCBleHBlY3Rl
ZFN0ZW5jaWxMb2FkQ291bnQgID0gZ2V0UGVyZkNvdW50ZXJzKCkuc3RlbmNpbExvYWRzICsgMzsK
KyAgICB1aW50MzJfdCBleHBlY3RlZERlcHRoQ2xlYXJDb3VudCAgID0gZ2V0UGVyZkNvdW50ZXJz
KCkuZGVwdGhMb2FkT3BDbGVhcnMgKyAxOworICAgIHVpbnQzMl90IGV4cGVjdGVkRGVwdGhMb2Fk
Q291bnQgICAgPSBnZXRQZXJmQ291bnRlcnMoKS5kZXB0aExvYWRPcExvYWRzICsgMzsKKyAgICB1
aW50MzJfdCBleHBlY3RlZFN0ZW5jaWxDbGVhckNvdW50ID0gZ2V0UGVyZkNvdW50ZXJzKCkuc3Rl
bmNpbExvYWRPcENsZWFycyArIDE7CisgICAgdWludDMyX3QgZXhwZWN0ZWRTdGVuY2lsTG9hZENv
dW50ICA9IGdldFBlcmZDb3VudGVycygpLnN0ZW5jaWxMb2FkT3BMb2FkcyArIDM7CiAKICAgICBj
b25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDY7CiAKQEAgLTIwNDEsMTAgKzI4NjUsMTAgQEAgVEVT
VF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERlcHRoU3RlbmNpbFRleHR1cmVDbGVh
ckFuZExvYWQpCiAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAKICAgICAvLyBWZXJpZnkgdGhl
IGNvdW50ZXJzCi0gICAgRVhQRUNUX0VRKGdldFBlcmZDb3VudGVycygpLmRlcHRoQ2xlYXJzLCBl
eHBlY3RlZERlcHRoQ2xlYXJDb3VudCk7Ci0gICAgRVhQRUNUX0VRKGdldFBlcmZDb3VudGVycygp
LmRlcHRoTG9hZHMsIGV4cGVjdGVkRGVwdGhMb2FkQ291bnQpOwotICAgIEVYUEVDVF9FUShnZXRQ
ZXJmQ291bnRlcnMoKS5zdGVuY2lsQ2xlYXJzLCBleHBlY3RlZFN0ZW5jaWxDbGVhckNvdW50KTsK
LSAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJzKCkuc3RlbmNpbExvYWRzLCBleHBlY3RlZFN0
ZW5jaWxMb2FkQ291bnQpOworICAgIEVYUEVDVF9FUShnZXRQZXJmQ291bnRlcnMoKS5kZXB0aExv
YWRPcENsZWFycywgZXhwZWN0ZWREZXB0aENsZWFyQ291bnQpOworICAgIEVYUEVDVF9FUShnZXRQ
ZXJmQ291bnRlcnMoKS5kZXB0aExvYWRPcExvYWRzLCBleHBlY3RlZERlcHRoTG9hZENvdW50KTsK
KyAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJzKCkuc3RlbmNpbExvYWRPcENsZWFycywgZXhw
ZWN0ZWRTdGVuY2lsQ2xlYXJDb3VudCk7CisgICAgRVhQRUNUX0VRKGdldFBlcmZDb3VudGVycygp
LnN0ZW5jaWxMb2FkT3BMb2FkcywgZXhwZWN0ZWRTdGVuY2lsTG9hZENvdW50KTsKIAogICAgIC8v
IFZlcmlmeSB0aGF0IGNvcGllcyB3ZXJlIGRvbmUgY29ycmVjdGx5LgogICAgIEdMRnJhbWVidWZm
ZXIgdmVyaWZ5RkJPOwpAQCAtMjA2MSwxNiArMjg4NSwxNyBAQCBURVNUX1AoVnVsa2FuUGVyZm9y
bWFuY2VDb3VudGVyVGVzdCwgRGVwdGhTdGVuY2lsVGV4dHVyZUNsZWFyQW5kTG9hZCkKIFRFU1Rf
UChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBSZW5kZXJUb1RleHR1cmVEZXB0aFN0ZW5j
aWxUZXh0dXJlU2hvdWxkTm90TG9hZCkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xF
eHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5H
TEVGZWF0dXJlcygpOwogCiAgICAgLy8gaHR0cDovL2FuZ2xlYnVnLmNvbS81MDgzCiAgICAgQU5H
TEVfU0tJUF9URVNUX0lGKElzV2luZG93cygpICYmIElzQU1EKCkgJiYgSXNWdWxrYW4oKSk7CiAK
ICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUVuc3VyZUdMRXh0ZW5zaW9uRW5hYmxlZCgiR0xfRVhU
X211bHRpc2FtcGxlZF9yZW5kZXJfdG9fdGV4dHVyZTIiKSk7CiAKLSAgICB1aW50MzJfdCBleHBl
Y3RlZERlcHRoQ2xlYXJDb3VudCAgID0gZ2V0UGVyZkNvdW50ZXJzKCkuZGVwdGhDbGVhcnMgKyAx
OwotICAgIHVpbnQzMl90IGV4cGVjdGVkRGVwdGhMb2FkQ291bnQgICAgPSBnZXRQZXJmQ291bnRl
cnMoKS5kZXB0aExvYWRzOwotICAgIHVpbnQzMl90IGV4cGVjdGVkU3RlbmNpbENsZWFyQ291bnQg
PSBnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsQ2xlYXJzICsgMTsKLSAgICB1aW50MzJfdCBleHBl
Y3RlZFN0ZW5jaWxMb2FkQ291bnQgID0gZ2V0UGVyZkNvdW50ZXJzKCkuc3RlbmNpbExvYWRzOwor
ICAgIHVpbnQzMl90IGV4cGVjdGVkRGVwdGhDbGVhckNvdW50ICAgPSBnZXRQZXJmQ291bnRlcnMo
KS5kZXB0aExvYWRPcENsZWFycyArIDE7CisgICAgdWludDMyX3QgZXhwZWN0ZWREZXB0aExvYWRD
b3VudCAgICA9IGdldFBlcmZDb3VudGVycygpLmRlcHRoTG9hZE9wTG9hZHM7CisgICAgdWludDMy
X3QgZXhwZWN0ZWRTdGVuY2lsQ2xlYXJDb3VudCA9IGdldFBlcmZDb3VudGVycygpLnN0ZW5jaWxM
b2FkT3BDbGVhcnMgKyAxOworICAgIHVpbnQzMl90IGV4cGVjdGVkU3RlbmNpbExvYWRDb3VudCAg
PSBnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsTG9hZE9wTG9hZHM7CiAKICAgICBjb25zdGV4cHIg
R0xzaXplaSBrU2l6ZSA9IDY7CiAKQEAgLTIxNTcsMTAgKzI5ODIsMTAgQEAgVEVTVF9QKFZ1bGth
blBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFJlbmRlclRvVGV4dHVyZURlcHRoU3RlbmNpbFRleHR1
cmVTaG91bGROb3QKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKIAogICAgIC8vIFZlcmlmeSB0
aGUgY291bnRlcnMKLSAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJzKCkuZGVwdGhDbGVhcnMs
IGV4cGVjdGVkRGVwdGhDbGVhckNvdW50KTsKLSAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJz
KCkuZGVwdGhMb2FkcywgZXhwZWN0ZWREZXB0aExvYWRDb3VudCk7Ci0gICAgRVhQRUNUX0VRKGdl
dFBlcmZDb3VudGVycygpLnN0ZW5jaWxDbGVhcnMsIGV4cGVjdGVkU3RlbmNpbENsZWFyQ291bnQp
OwotICAgIEVYUEVDVF9FUShnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsTG9hZHMsIGV4cGVjdGVk
U3RlbmNpbExvYWRDb3VudCk7CisgICAgRVhQRUNUX0VRKGdldFBlcmZDb3VudGVycygpLmRlcHRo
TG9hZE9wQ2xlYXJzLCBleHBlY3RlZERlcHRoQ2xlYXJDb3VudCk7CisgICAgRVhQRUNUX0VRKGdl
dFBlcmZDb3VudGVycygpLmRlcHRoTG9hZE9wTG9hZHMsIGV4cGVjdGVkRGVwdGhMb2FkQ291bnQp
OworICAgIEVYUEVDVF9FUShnZXRQZXJmQ291bnRlcnMoKS5zdGVuY2lsTG9hZE9wQ2xlYXJzLCBl
eHBlY3RlZFN0ZW5jaWxDbGVhckNvdW50KTsKKyAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJz
KCkuc3RlbmNpbExvYWRPcExvYWRzLCBleHBlY3RlZFN0ZW5jaWxMb2FkQ291bnQpOwogCiAgICAg
Ly8gVmVyaWZ5IHRoYXQgY29waWVzIHdlcmUgZG9uZSBjb3JyZWN0bHkuICBPbmx5IHRoZSBmaXJz
dCBjb3B5IGNhbiBiZSB2ZXJpZmllZCBiZWNhdXNlIHRoZQogICAgIC8vIGNvbnRlbnRzIG9mIHRo
ZSBkZXB0aC9zdGVuY2lsIGJ1ZmZlciBpcyB1bmRlZmluZWQgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRl
ciBwYXNzIGJyZWFrLCBtZWFuaW5nCkBAIC0yMTg5LDYgKzMwMTQsNyBAQCBURVNUX1AoVnVsa2Fu
UGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVuZGVyVG9UZXh0dXJlRGVwdGhTdGVuY2lsUmVuZGVy
YnVmZmVyU2hvdQogCiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFFbnN1cmVHTEV4dGVuc2lvbkVu
YWJsZWQoIkdMX0VYVF9tdWx0aXNhbXBsZWRfcmVuZGVyX3RvX3RleHR1cmUiKSk7CiAgICAgQU5H
TEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNp
b25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIGFuZ2xlOjpWdWxrYW5Q
ZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CiAKQEAgLTIxOTcsOSArMzAyMywxMSBAQCBURVNUX1AoVnVs
a2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVuZGVyVG9UZXh0dXJlRGVwdGhTdGVuY2lsUmVu
ZGVyYnVmZmVyU2hvdQogICAgIC8vIGF0dGFjaG1lbnRzIGFyZSBtdWx0aXNhbXBsZWQtcmVuZGVy
LXRvLXRleHR1cmUsIGxvYWRzIGFyZSBkb25lIHRocm91Z2ggYW4gdW5yZXNvbHZlCiAgICAgLy8g
b3BlcmF0aW9uLiAgQWxsIDQgcmVuZGVyIHBhc3NlcyByZXNvbHZlIHRoZSBhdHRhY2htZW50cy4K
IAotICAgIC8vIEV4cGVjdCBycENvdW50KzQsIGRlcHRoKENsZWFycysxLCBMb2FkcyszLCBTdG9y
ZXMrMyksIHN0ZW5jaWwoQ2xlYXJzKzEsIExvYWQrMywgU3RvcmVzKzMpLgotICAgIC8vIE5vdGUg
dGhhdCB0aGUgTG9hZHMgYW5kIFN0b3JlcyBhcmUgZnJvbSB0aGUgcmVzb2x2ZSBhdHRhY2htZW50
cy4KLSAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50
ZXJzKCksIDQsIDEsIDMsIDMsIDEsIDMsIDMsICZleHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJw
Q291bnQrNCwgZGVwdGgoQ2xlYXJzKzEsIExvYWRzKzMsIExvYWROb25lcyswLCBTdG9yZXMrMywg
U3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2lsKENsZWFycysxLCBMb2FkcyszLCBMb2FkTm9u
ZXMrMCwgU3RvcmVzKzMsIFN0b3JlTm9uZXMrMCkuIE5vdGUgdGhhdCB0aGUgTG9hZHMgYW5kCisg
ICAgLy8gU3RvcmVzIGFyZSBmcm9tIHRoZSByZXNvbHZlIGF0dGFjaG1lbnRzLgorICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JEZXB0aE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgNCwgMSwgMywgMCwg
MywgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yU3RlbmNpbE9wcyhn
ZXRQZXJmQ291bnRlcnMoKSwgMSwgMywgMCwgMywgMCwgJmV4cGVjdGVkKTsKIAogICAgIC8vIEFk
ZGl0aW9uYWxseSwgZXhwZWN0IDQgcmVzb2x2ZXMgYW5kIDMgdW5yZXNvbHZlcy4KICAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9yVW5yZXNvbHZlUmVzb2x2ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCks
IDMsIDMsIDMsIDQsIDQsIDQsICZleHBlY3RlZCk7CkBAIC0yMjg4LDcgKzMxMTYsNyBAQCBURVNU
X1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVuZGVyVG9UZXh0dXJlRGVwdGhTdGVu
Y2lsUmVuZGVyYnVmZmVyU2hvdQogICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOwogCiAgICAgLy8g
VmVyaWZ5IHRoZSBjb3VudGVycwotICAgIGNvbXBhcmVMb2FkQ291bnRlcnNGb3JJbnZhbGlkYXRl
VGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5j
aWxMb2FkT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwogICAgIGNvbXBh
cmVDb3VudGVyc0ZvclVucmVzb2x2ZVJlc29sdmVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBl
Y3RlZCk7CiAKICAgICAvLyBWZXJpZnkgdGhhdCBjb3BpZXMgd2VyZSBkb25lIGNvcnJlY3RseS4K
QEAgLTIzMTIsNiArMzE0MCw3IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0
LCBSZW5kZXJUb1RleHR1cmVJbnZhbGlkYXRlKQogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighRW5z
dXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbXVsdGlzYW1wbGVkX3JlbmRlcl90b190ZXh0
dXJlIikpOwogCiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChr
UGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAog
ICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CiAKQEAgLTIzMjEsOCArMzE1
MCwxMiBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVuZGVyVG9UZXh0
dXJlSW52YWxpZGF0ZSkKICAgICAvLyBtdWx0aXNhbXBsZWQtcmVuZGVyLXRvLXRleHR1cmUpLiAg
RHVlIHRvIHRoZSBpbnZhbGlkYXRlIGNhbGwsIG5laXRoZXIgb2YgdGhlIDQgcmVuZGVyIHBhc3Nl
cwogICAgIC8vIHNob3VsZCByZXNvbHZlIHRoZSBhdHRhY2htZW50cy4KIAotICAgIC8vIEV4cGVj
dCBycENvdW50KzQsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBTdG9yZXMrMCksIHN0ZW5jaWwo
Q2xlYXJzKzEsIExvYWQrMCwgU3RvcmVzKzApCi0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0Zvcklu
dmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCA0LCAxLCAwLCAwLCAxLCAwLCAwLCAmZXhw
ZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENvdW50KzQsIGNvbG9yKENsZWFycysxLCBMb2Fkcysw
LCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENv
dW50ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDQsIDEsIDAsIDAsIDAsIDAsICZl
eHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJwQ291bnQrNCwgZGVwdGgoQ2xlYXJzKzEsIExvYWRz
KzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2ls
KENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkK
KyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDQs
IDEsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0
ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAK
ICAgICAvLyBBZGRpdGlvbmFsbHksIGV4cGVjdCBubyByZXNvbHZlIGFuZCB1bnJlc29sdmUuCiAg
ICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclVucmVzb2x2ZVJlc29sdmVUZXN0KGdldFBlcmZDb3Vu
dGVycygpLCAwLCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwpAQCAtMjQyNCw3ICszMjU3LDgg
QEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFJlbmRlclRvVGV4dHVyZUlu
dmFsaWRhdGUpCiAgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CiAKICAgICAvLyBWZXJpZnkgdGhl
IGNvdW50ZXJzCi0gICAgY29tcGFyZUxvYWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBl
cmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQ
ZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50
ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CiAgICAgY29tcGFyZUNvdW50ZXJzRm9y
VW5yZXNvbHZlUmVzb2x2ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIH0KIApA
QCAtMjQzOCwxMCArMzI3MiwxMyBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVz
dCwgUmVuZGVyVG9UZXh0dXJlVW5pbml0aWFsaXplZEFuZFVudXNlZERlcHRoUwogICAgIEFOR0xF
X1NLSVBfVEVTVF9JRighRW5zdXJlR0xFeHRlbnNpb25FbmFibGVkKCJHTF9FWFRfbXVsdGlzYW1w
bGVkX3JlbmRlcl90b190ZXh0dXJlIikpOwogCiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dM
RXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFO
R0xFRmVhdHVyZXMoKTsKKwogICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7
CiAKICAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBubyBkZXB0aC9zdGVuY2lsIGNsZWFyLCBsb2Fk
IG9yIHN0b3JlLgotICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQ
ZXJmQ291bnRlcnMoKSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgJmV4cGVjdGVkKTsKKyAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsIDAsIDAs
IDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMo
Z2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CiAKICAgICAvLyBB
ZGRpdGlvbmFsbHksIGV4cGVjdCBvbmx5IGNvbG9yIHJlc29sdmUuCiAgICAgc2V0RXhwZWN0ZWRD
b3VudGVyc0ZvclVucmVzb2x2ZVJlc29sdmVUZXN0KGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAw
LCAxLCAwLCAwLCAmZXhwZWN0ZWQpOwpAQCAtMjQ5Niw3ICszMzMzLDcgQEAgVEVTVF9QKFZ1bGth
blBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFJlbmRlclRvVGV4dHVyZVVuaW5pdGlhbGl6ZWRBbmRV
bnVzZWREZXB0aFMKICAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKIAogICAgIC8vIFZlcmlmeSB0
aGUgY291bnRlcnMKLSAgICBjb21wYXJlTG9hZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0
UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21wYXJlRGVwdGhTdGVuY2lsTG9hZE9w
Q291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKICAgICBjb21wYXJlQ291bnRl
cnNGb3JVbnJlc29sdmVSZXNvbHZlVGVzdChnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwog
fQogCkBAIC0yNTA0LDEyICszMzQxLDIxIEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50
ZXJUZXN0LCBSZW5kZXJUb1RleHR1cmVVbmluaXRpYWxpemVkQW5kVW51c2VkRGVwdGhTCiBURVNU
X1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVhZE9ubHlEZXB0aEJ1ZmZlckxheW91
dCkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJm
TW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOwogCiAgICAg
Y29uc3RleHByIEdMc2l6ZWkga1NpemUgPSA2NDsKIAorICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291
bnRlcnMgZXhwZWN0ZWQ7CisKICAgICAvLyBDcmVhdGUgZGVwdGggb25seSBGQk8gYW5kIGZpbGwg
ZGVwdGggdGV4dHVyZSB0byBsZWZ0SGFsZj0wLjAgYW5kIHJpZ2h0SGFsZj0xLjAuIFRoaXMgc2hv
dWxkCiAgICAgLy8gdXNlIHdyaXRlYWJsZSBsYXlvdXQKLSAgICB1aW50MzJfdCBleHBlY3RlZFJl
YWRPbmx5RGVwdGhTdGVuY2lsQ291bnQgPSBnZXRQZXJmQ291bnRlcnMoKS5yZWFkT25seURlcHRo
U3RlbmNpbFJlbmRlclBhc3NlczsKKyAgICBleHBlY3RlZC5yZWFkT25seURlcHRoU3RlbmNpbFJl
bmRlclBhc3NlcyA9IGdldFBlcmZDb3VudGVycygpLnJlYWRPbmx5RGVwdGhTdGVuY2lsUmVuZGVy
UGFzc2VzOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzAsIExvYWRz
KzAsIExvYWROb25lcyswLCBTdG9yZXMrMSwgU3RvcmVOb25lcyswKSwKKyAgICAvLyBzdGVuY2ls
KENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMrMCkK
KyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEs
IDAsIDAsIDAsIDEsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvclN0
ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisK
ICAgICBHTFRleHR1cmUgZGVwdGhUZXh0dXJlOwogICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgZGVwdGhUZXh0dXJlKTsKICAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
R0xfREVQVEhfQ09NUE9ORU5UMTYsIGtTaXplLCBrU2l6ZSwgMCwgR0xfREVQVEhfQ09NUE9ORU5U
LApAQCAtMjUzOCwxMCArMzM4NCwxNCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVy
VGVzdCwgUmVhZE9ubHlEZXB0aEJ1ZmZlckxheW91dCkKICAgICBnbEZpbmlzaCgpOwogCiAgICAg
dWludDMyX3QgYWN0dWFsUmVhZE9ubHlEZXB0aFN0ZW5jaWxDb3VudCA9IGdldFBlcmZDb3VudGVy
cygpLnJlYWRPbmx5RGVwdGhTdGVuY2lsUmVuZGVyUGFzc2VzOwotICAgIEVYUEVDVF9FUShleHBl
Y3RlZFJlYWRPbmx5RGVwdGhTdGVuY2lsQ291bnQsIGFjdHVhbFJlYWRPbmx5RGVwdGhTdGVuY2ls
Q291bnQpOworICAgIEVYUEVDVF9FUShleHBlY3RlZC5yZWFkT25seURlcHRoU3RlbmNpbFJlbmRl
clBhc3NlcywgYWN0dWFsUmVhZE9ubHlEZXB0aFN0ZW5jaWxDb3VudCk7CisgICAgY29tcGFyZURl
cHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKIAogICAg
IC8vIENyZWF0ZSBhIGNvbG9yK2RlcHRoIEZCTyBhbmQgdXNlIGRlcHRoIGFzIHJlYWQgb25seS4g
VGhpcyBzaG91bGQgdXNlIHJlYWQgb25seSBsYXlvdXQKLSAgICBleHBlY3RlZFJlYWRPbmx5RGVw
dGhTdGVuY2lsQ291bnQgPSBnZXRQZXJmQ291bnRlcnMoKS5yZWFkT25seURlcHRoU3RlbmNpbFJl
bmRlclBhc3NlcyArIDE7CisgICAgKytleHBlY3RlZC5yZWFkT25seURlcHRoU3RlbmNpbFJlbmRl
clBhc3NlczsKKyAgICAvLyBFeHBlY3QgcnBDb3VudCsxLCBkZXB0aChDbGVhcnMrMCwgTG9hZHMr
MSwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzEpLAorICAgIHNldEV4cGVjdGVk
Q291bnRlcnNGb3JEZXB0aE9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwgMSwgMCwgMCwgMSwg
JmV4cGVjdGVkKTsKKwogICAgIEdMVGV4dHVyZSBjb2xvclRleHR1cmU7CiAgICAgZ2xCaW5kVGV4
dHVyZShHTF9URVhUVVJFXzJELCBjb2xvclRleHR1cmUpOwogICAgIGdsVGV4SW1hZ2UyRChHTF9U
RVhUVVJFXzJELCAwLCBHTF9SR0JBLCBrU2l6ZSwga1NpemUsIDAsIEdMX1JHQkEsIEdMX1VOU0lH
TkVEX0JZVEUsIG51bGxwdHIpOwpAQCAtMjU2NSw3ICszNDE1LDggQEAgVEVTVF9QKFZ1bGthblBl
cmZvcm1hbmNlQ291bnRlclRlc3QsIFJlYWRPbmx5RGVwdGhCdWZmZXJMYXlvdXQpCiAgICAgRVhQ
RUNUX1BJWEVMX0NPTE9SX0VRKDEsIDEsIEdMQ29sb3I6OmJsdWUpOwogICAgIEVYUEVDVF9QSVhF
TF9DT0xPUl9FUSgxICsga1NpemUgLyAyLCAxLCBHTENvbG9yOjpyZWQpOwogICAgIGFjdHVhbFJl
YWRPbmx5RGVwdGhTdGVuY2lsQ291bnQgPSBnZXRQZXJmQ291bnRlcnMoKS5yZWFkT25seURlcHRo
U3RlbmNpbFJlbmRlclBhc3NlczsKLSAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRSZWFkT25seURlcHRo
U3RlbmNpbENvdW50LCBhY3R1YWxSZWFkT25seURlcHRoU3RlbmNpbENvdW50KTsKKyAgICBFWFBF
Q1RfRVEoZXhwZWN0ZWQucmVhZE9ubHlEZXB0aFN0ZW5jaWxSZW5kZXJQYXNzZXMsIGFjdHVhbFJl
YWRPbmx5RGVwdGhTdGVuY2lsQ291bnQpOworICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxPcENvdW50
ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CiB9CiAKIC8vIEVuc3VyZXMgZGVwdGgv
c3RlbmNpbCBpcyBub3QgbG9hZGVkIGFmdGVyIHN0b3JlT3A9RE9OVF9DQVJFIGR1ZSB0byBvcHRp
bWl6YXRpb24gKGFzIG9wcG9zZWQgdG8KQEAgLTI1NzMsMTAgKzM0MjQsMTQgQEAgVEVTVF9QKFZ1
bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFJlYWRPbmx5RGVwdGhCdWZmZXJMYXlvdXQpCiBU
RVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgUmVuZGVyUGFzc0FmdGVyUmVuZGVy
UGFzc1dpdGhvdXREZXB0aFN0ZW5jaWxXcml0ZSkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
IUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBp
bml0QU5HTEVGZWF0dXJlcygpOworCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBl
Y3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycyswLCBMb2Fkcysw
LCBTdG9yZXMrMCksIHN0ZW5jaWwoQ2xlYXJzKzAsIExvYWQrMCwgU3RvcmVzKzApCi0gICAgc2V0
RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCAxLCAw
LCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRl
cHRoKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0b3JlTm9uZXMr
MCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMCwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3Jl
cyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdl
dFBlcmZDb3VudGVycygpLCAxLCAwLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAwLCAwLCAwLCAw
LCAwLCAmZXhwZWN0ZWQpOwogCiAgICAgY29uc3RleHByIEdMc2l6ZWkga1NpemUgPSA2NDsKIApA
QCAtMjYxMCwxOSArMzQ2NSwyMSBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVz
dCwgUmVuZGVyUGFzc0FmdGVyUmVuZGVyUGFzc1dpdGhvdXREZXB0aFN0ZW5jaQogICAgIGRyYXdR
dWFkKHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OlBvc2l0aW9uQXR0cmliKCksIDEuMGYpOwogCiAg
ICAgLy8gQnJlYWsgdGhlIHJlbmRlciBwYXNzIGFuZCBlbnN1cmUgbm8gZGVwdGgvc3RlbmNpbCBs
b2FkL3N0b3JlIHdhcyBkb25lLgotICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZURlcHRo
U3RlbmNpbENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVj
dGVkKTsKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6cmVkKTsKKyAg
ICBjb21wYXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0
ZWQpOwogCi0gICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVwdGgoQ2xlYXJzKzAsIExvYWRzKzAs
IFN0b3JlcyswKSwgc3RlbmNpbChDbGVhcnMrMCwgTG9hZCswLCBTdG9yZXMrMCkKLSAgICBzZXRF
eHBlY3RlZENvdW50ZXJzRm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAs
IDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgZGVw
dGgoQ2xlYXJzKzAsIExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMCwgU3RvcmVOb25lcysw
KSwKKyAgICAvLyBzdGVuY2lsKENsZWFycyswLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVz
KzAsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yRGVwdGhPcHMoZ2V0
UGVyZkNvdW50ZXJzKCksIDEsIDAsIDAsIDAsIDAsIDAsICZleHBlY3RlZCk7CisgICAgc2V0RXhw
ZWN0ZWRDb3VudGVyc0ZvclN0ZW5jaWxPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDAsIDAsIDAsIDAs
IDAsICZleHBlY3RlZCk7CiAKICAgICAvLyBEcmF3IGFnYWluIHdpdGggc2ltaWxhciBjb25kaXRp
b25zLCBhbmQgYWdhaW4gbWFrZSBzdXJlIG5vIGxvYWQvc3RvcmUgaXMgZG9uZS4KICAgICBnbFVu
aWZvcm00Zihjb2xvclVuaWZvcm1Mb2NhdGlvbiwgMC4wZiwgMS4wZiwgMC4wZiwgMS4wZik7CiAg
ICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMS4w
Zik7CiAKICAgICAvLyBCcmVhayB0aGUgcmVuZGVyIHBhc3MgYW5kIGVuc3VyZSBubyBkZXB0aC9z
dGVuY2lsIGxvYWQvc3RvcmUgd2FzIGRvbmUuCi0gICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICBjb21w
YXJlRGVwdGhTdGVuY2lsQ291bnRlcnNGb3JJbnZhbGlkYXRlVGVzdChnZXRQZXJmQ291bnRlcnMo
KSwgZXhwZWN0ZWQpOworICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9yOjpn
cmVlbik7CisgICAgY29tcGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJz
KCksIGV4cGVjdGVkKTsKIAogICAgIEVYUEVDVF9QSVhFTF9DT0xPUl9FUSgwLCAwLCBHTENvbG9y
OjpncmVlbik7CiB9CkBAIC0yNjMyLDYgKzM0ODksOCBAQCBURVNUX1AoVnVsa2FuUGVyZm9ybWFu
Y2VDb3VudGVyVGVzdCwgUmVuZGVyUGFzc0FmdGVyUmVuZGVyUGFzc1dpdGhvdXREZXB0aFN0ZW5j
aQogVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIENsZWFyQWZ0ZXJDbGVhckRv
ZXNOb3RCcmVha1JlbmRlclBhc3MpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0
ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xF
RmVhdHVyZXMoKTsKKwogICAgIHVpbnQzMl90IGV4cGVjdGVkUmVuZGVyUGFzc0NvdW50ID0gZ2V0
UGVyZkNvdW50ZXJzKCkucmVuZGVyUGFzc2VzICsgMTsKIAogICAgIGNvbnN0ZXhwciBHTHNpemVp
IGtTaXplID0gNjsKQEAgLTI3NzYsNiArMzYzNSw3IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5j
ZUNvdW50ZXJUZXN0LCBDbGVhckFmdGVyQ2xlYXJEb2VzTm90QnJlYWtSZW5kZXJQYXNzKQogVEVT
VF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFNjaXNzb3JEb2VzTm90QnJlYWtSZW5k
ZXJQYXNzKQogewogICAgIEFOR0xFX1NLSVBfVEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQo
a1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkpOworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAK
ICAgICBjb25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDE2OwogCkBAIC0zMDIyLDYgKzM4ODIsNyBA
QCBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgU2Npc3NvckRvZXNOb3RCcmVh
a1JlbmRlclBhc3MpCiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgQ2hhbmdp
bmdVQk9zSGl0c0Rlc2NyaXB0b3JTZXRDYWNoZSkKIHsKICAgICBBTkdMRV9TS0lQX1RFU1RfSUYo
IUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBp
bml0QU5HTEVGZWF0dXJlcygpOwogCiAgICAgLy8gU2V0IHVwIHR3byBVQk9zLCBvbmUgZmlsbGVk
IHdpdGggIjEiIGFuZCB0aGUgc2Vjb25kIHdpdGggIjIiLgogICAgIGNvbnN0ZXhwciBHTHNpemVp
IGtDb3VudCA9IDY0OwpAQCAtMzE1MSw2ICs0MDEyLDcgQEAgdm9pZCBtYWluKCkKIFRFU1RfUChW
dWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBNYXBwaW5nR3B1UmVhZE9ubHlCdWZmZXJHaG9z
dHNCdWZmZXIpCiB7CiAgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxl
ZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsK
IAogICAgIC8vIDEuIENyZWF0ZSBhIGJ1ZmZlciwgbWFwIGl0LCBmaWxsIGl0IHdpdGggcmVkCiAg
ICAgLy8gMi4gRHJhdyB3aXRoIGJ1ZmZlciAoR1BVIHJlYWQtb25seSkKQEAgLTMyNDgsNiArNDEx
MCw3IEBAIHZvaWQgbWFpbigpCiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwg
QnVmZmVyU3ViRGF0YVNob3VsZE5vdFRyaWdnZXJTeW5jU3RhdGUpCiB7CiAgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1l
KSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKIAogICAgIEFOR0xFX0dMX1BST0dSQU0odGVz
dFByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6
OkdyZWVuKCkpOwogICAgIGdsVXNlUHJvZ3JhbSh0ZXN0UHJvZ3JhbSk7CkBAIC0zMjkwLDEwICs0
MTUzLDE0IEBAIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBCdWZmZXJTdWJE
YXRhU2hvdWxkTm90VHJpZ2dlclN5bmNTdGF0ZSkKIFRFU1RfUChWdWxrYW5QZXJmb3JtYW5jZUNv
dW50ZXJUZXN0LCBTd2FwU2hvdWxkSW52YWxpZGF0ZURlcHRoU3RlbmNpbCkKIHsKICAgICBBTkdM
RV9TS0lQX1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lv
bk5hbWUpKTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCiAgICAgYW5nbGU6OlZ1bGthblBl
cmZDb3VudGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENs
ZWFycysxLCBMb2FkcyswLCBTdG9yZXMrMCksIHN0ZW5jaWwoQ2xlYXJzKzEsIExvYWQrMCwgU3Rv
cmVzKzApCi0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZD
b3VudGVycygpLCAxLCAxLCAwLCAwLCAxLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVj
dCBycENvdW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVz
KzAsIFN0b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMSwgTG9hZHMrMCwgTG9h
ZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVy
c0ZvckRlcHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAwLCAwLCAwLCAmZXhwZWN0
ZWQpOworICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVy
cygpLCAxLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwogCiAgICAgLy8gQ2xlYXIgdG8gdmVyaWZ5
IHRoYXQgX3NvbWVfIGNvdW50ZXJzIGRpZCBjaGFuZ2UgKGFzIG9wcG9zZWQgdG8gZm9yIGV4YW1w
bGUgYWxsIGJlaW5nIHJlc2V0IG9uCiAgICAgLy8gc3dhcCkKQEAgLTMzMTIsMTcgKzQxNzksMjEg
QEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFN3YXBTaG91bGRJbnZhbGlk
YXRlRGVwdGhTdGVuY2lsKQogCiAgICAgLy8gU3dhcCBidWZmZXJzIHRvIGltcGxpY2l0ZWx5IHJl
c29sdmUKICAgICBzd2FwQnVmZmVycygpOwotICAgIGNvbXBhcmVEZXB0aFN0ZW5jaWxDb3VudGVy
c0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29t
cGFyZURlcHRoU3RlbmNpbE9wQ291bnRlcnMoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsK
IH0KIAogLy8gVmVyaWZpZXMgdGhhdCByZW5kZXJpbmcgdG8gTVNBQSBiYWNrYnVmZmVyIGRpc2Nh
cmRzIGRlcHRoL3N0ZW5jaWwuCiBURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdF9N
U0FBLCBTd2FwU2hvdWxkSW52YWxpZGF0ZURlcHRoU3RlbmNpbCkKIHsKICAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUp
KTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCiAgICAgYW5nbGU6OlZ1bGthblBlcmZDb3Vu
dGVycyBleHBlY3RlZDsKIAotICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGRlcHRoKENsZWFycysx
LCBMb2FkcyswLCBTdG9yZXMrMCksIHN0ZW5jaWwoQ2xlYXJzKzEsIExvYWQrMCwgU3RvcmVzKzAp
Ci0gICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckludmFsaWRhdGVUZXN0KGdldFBlcmZDb3VudGVy
cygpLCAxLCAxLCAwLCAwLCAxLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIC8vIEV4cGVjdCBycENv
dW50KzEsIGRlcHRoKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzAsIFN0
b3JlTm9uZXMrMCksCisgICAgLy8gc3RlbmNpbChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVz
KzAsIFN0b3JlcyswLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRl
cHRoT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAxLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwor
ICAgIHNldEV4cGVjdGVkQ291bnRlcnNGb3JTdGVuY2lsT3BzKGdldFBlcmZDb3VudGVycygpLCAx
LCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOwogCiAgICAgLy8gQ2xlYXIgdG8gdmVyaWZ5IHRoYXQg
X3NvbWVfIGNvdW50ZXJzIGRpZCBjaGFuZ2UgKGFzIG9wcG9zZWQgdG8gZm9yIGV4YW1wbGUgYWxs
IGJlaW5nIHJlc2V0IG9uCiAgICAgLy8gc3dhcCkKQEAgLTMzNDEsMTMgKzQyMTIsMTQgQEAgVEVT
VF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3RfTVNBQSwgU3dhcFNob3VsZEludmFsaWRh
dGVEZXB0aFN0ZW5jaWwpCiAKICAgICAvLyBTd2FwIGJ1ZmZlcnMgdG8gaW1wbGljaXRlbHkgcmVz
b2x2ZQogICAgIHN3YXBCdWZmZXJzKCk7Ci0gICAgY29tcGFyZURlcHRoU3RlbmNpbENvdW50ZXJz
Rm9ySW52YWxpZGF0ZVRlc3QoZ2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBjb21w
YXJlRGVwdGhTdGVuY2lsT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwog
fQogCiAvLyBUZXN0cyB0aGF0IHVuaWZvcm0gdXBkYXRlcyBldmVudHVhbGx5IHN0b3AgdXBkYXRp
bmcgZGVzY3JpcHRvciBzZXRzLgogVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3Qs
IFVuaWZvcm1VcGRhdGVzSGl0RGVzY3JpcHRvclNldENhY2hlKQogewogICAgIEFOR0xFX1NLSVBf
VEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkp
OworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CiAKICAgICBBTkdMRV9HTF9QUk9HUkFNKHRlc3RQ
cm9ncmFtLCBlc3NsMV9zaGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpV
bmlmb3JtQ29sb3IoKSk7CiAgICAgZ2xVc2VQcm9ncmFtKHRlc3RQcm9ncmFtKTsKQEAgLTM0MDYs
NiArNDI3OCw0NjkgQEAgVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIFVuaWZv
cm1VcGRhdGVzSGl0RGVzY3JpcHRvclNldENhY2hlKQogICAgIEVYUEVDVF9FUShleHBlY3RlZENh
Y2hlTWlzc2VzLCBhY3R1YWxDYWNoZU1pc3Nlcyk7CiB9CiAKKy8vIFZlcmlmeSBhIG1pZC1yZW5k
ZXIgcGFzcyBjbGVhciBvZiBhIG5ld2x5IGVuYWJsZWQgYXR0YWNobWVudCB1c2VzIExPQURfT1Bf
Q0xFQVIuCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgRGlzYWJsZVRoZW5N
aWRSZW5kZXJQYXNzQ2xlYXIpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5z
aW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVh
dHVyZXMoKTsKKworICAgIC8vIFRoaXMgb3B0aW1pemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCB3
aGVuIHRoaXMgd29ya2Fyb3VuZCBpcyBpbiBlZmZlY3QuCisgICAgQU5HTEVfU0tJUF9URVNUX0lG
KG1QcmVmZXJEcmF3T3ZlckNsZWFyQXR0YWNobWVudHMgPT0gQU5HTEVGZWF0dXJlOjpTdXBwb3J0
ZWQpOworCisgICAgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBlY3RlZDsKKworICAgIC8v
IEV4cGVjdCBycENvdW50KzEsIGNvbG9yKENsZWFycysxLCBMb2FkcyswLCBMb2FkTm9uZXMrMCwg
U3RvcmVzKzIsIFN0b3JlTm9uZXMrMCkKKyAgICAvLyB2a0NtZENsZWFyQXR0YWNobWVudHMgc2hv
dWxkIGJlIHVzZWQgZm9yIGNvbG9yIGF0dGFjaG1lbnQgMC4KKyAgICBzZXRFeHBlY3RlZENvdW50
ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDEsIDAsIDAsIDIsIDAsICZleHBl
Y3RlZCk7CisgICAgZXhwZWN0ZWQuY29sb3JDbGVhckF0dGFjaG1lbnRzID0gZ2V0UGVyZkNvdW50
ZXJzKCkuY29sb3JDbGVhckF0dGFjaG1lbnRzICsgMTsKKworICAgIEdMRnJhbWVidWZmZXIgZmJv
OworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmYm8pOworCisgICAgR0xU
ZXh0dXJlIHRleHR1cmVzWzJdOworCisgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0
ZXh0dXJlc1swXSk7CisgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkEs
IDEsIDEsIDAsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIG51bGxwdHIpOworICAgIGdsRnJh
bWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBH
TF9URVhUVVJFXzJELCB0ZXh0dXJlc1swXSwgMCk7CisKKyAgICBnbEJpbmRUZXh0dXJlKEdMX1RF
WFRVUkVfMkQsIHRleHR1cmVzWzFdKTsKKyAgICBnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwg
MCwgR0xfUkdCQSwgMSwgMSwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgbnVsbHB0cik7
CisgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRU
QUNITUVOVDEsIEdMX1RFWFRVUkVfMkQsIHRleHR1cmVzWzFdLCAwKTsKKworICAgIC8vIE9ubHkg
ZW5hYmxlIGF0dGFjaG1lbnQgMC4KKyAgICBHTGVudW0gZHJhd0J1ZmZlcnNbXSA9IHtHTF9DT0xP
Ul9BVFRBQ0hNRU5UMCwgR0xfTk9ORX07CisgICAgZ2xEcmF3QnVmZmVycygyLCBkcmF3QnVmZmVy
cyk7CisKKyAgICAvLyBEcmF3IHJlZC4KKyAgICBBTkdMRV9HTF9QUk9HUkFNKHJlZFByb2dyYW0s
IGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsK
KyAgICBkcmF3UXVhZChyZWRQcm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigp
LCAwLjVmKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsKKworICAgIC8vIEVuYWJsZSBhdHRh
Y2htZW50IDEuCisgICAgZHJhd0J1ZmZlcnNbMV0gPSBHTF9DT0xPUl9BVFRBQ0hNRU5UMTsKKyAg
ICBnbERyYXdCdWZmZXJzKDIsIGRyYXdCdWZmZXJzKTsKKworICAgIC8vIENsZWFyIGJvdGggYXR0
YWNobWVudHMgdG8gZ3JlZW4uCisgICAgZ2xDbGVhckNvbG9yKDAuMGYsIDEuMGYsIDAuMGYsIDEu
MGYpOworICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICBjb25zdGV4cHIg
Y2hhciBrRlNbXSA9IFIiKCN2ZXJzaW9uIDMwMCBlcworcHJlY2lzaW9uIGhpZ2hwIGZsb2F0Owor
bGF5b3V0KGxvY2F0aW9uID0gMCkgb3V0IHZlYzQgbXlfRnJhZ0NvbG9yMDsKK2xheW91dChsb2Nh
dGlvbiA9IDEpIG91dCB2ZWM0IG15X0ZyYWdDb2xvcjE7Cit2b2lkIG1haW4oKQoreworICAgIG15
X0ZyYWdDb2xvcjAgPSB2ZWM0KDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgbXlfRnJhZ0NvbG9y
MSA9IHZlYzQoMC4wLCAwLjAsIDEuMCwgMS4wKTsKK30pIjsKKworICAgIC8vIERyYXcgYmx1ZSB0
byBib3RoIGF0dGFjaG1lbnRzLgorICAgIEFOR0xFX0dMX1BST0dSQU0oYmx1ZVByb2dyYW0sIGVz
c2wzX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwga0ZTKTsKKyAgICBkcmF3UXVhZChibHVlUHJvZ3Jh
bSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQ
ZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOworCisgICAgLy8gVmVyaWZ5IGF0dGFjaG1lbnQg
MC4KKyAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1JfQVRUQUNITUVOVDApOworICAgIEFTU0VSVF9H
TF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhFTF9FUSgwLCAwLCAwLCAwLCAyNTUsIDI1NSk7
CisgICAgLy8gVmVyaWZ5IGF0dGFjaG1lbnQgMS4KKyAgICBnbFJlYWRCdWZmZXIoR0xfQ09MT1Jf
QVRUQUNITUVOVDEpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworICAgIEVYUEVDVF9QSVhF
TF9FUSgwLCAwLCAwLCAwLCAyNTUsIDI1NSk7CisKKyAgICBjb21wYXJlQ29sb3JPcENvdW50ZXJz
KGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisgICAgY29tcGFyZUNsZWFyQXR0YWNobWVu
dHNDb3VudGVyKGV4cGVjdGVkLmNvbG9yQ2xlYXJBdHRhY2htZW50cywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2V0UGVyZkNvdW50ZXJzKCkuY29sb3JDbGVhckF0dGFjaG1l
bnRzKTsKKworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGNvbG9yKENsZWFycyswLCBMb2Fkcysx
LCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENv
dW50ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsIDEsIDAsIDEsIDAsICZl
eHBlY3RlZCk7CisKKyAgICBHTEZyYW1lYnVmZmVyIGZibzI7CisgICAgZ2xCaW5kRnJhbWVidWZm
ZXIoR0xfRlJBTUVCVUZGRVIsIGZibzIpOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xf
RlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJFXzJELCB0ZXh0dXJl
c1sxXSwgMCk7CisKKyAgICBnbEVuYWJsZShHTF9CTEVORCk7CisgICAgZ2xCbGVuZEZ1bmMoR0xf
T05FLCBHTF9PTkUpOworCisgICAgLy8gQmxlbmQgcmVkCisgICAgZHJhd1F1YWQocmVkUHJvZ3Jh
bSwgZXNzbDNfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7CisgICAgQVNTRVJUX0dM
X05PX0VSUk9SKCk7CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQ
ZXJmQ291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOworCisgICAgLy8gVmVyaWZ5IHB1cnBsZQorICAg
IGdsUmVhZEJ1ZmZlcihHTF9DT0xPUl9BVFRBQ0hNRU5UMCk7CisgICAgRVhQRUNUX1BJWEVMX0VR
KDAsIDAsIDI1NSwgMCwgMjU1LCAyNTUpOworICAgIEFTU0VSVF9HTF9OT19FUlJPUigpOworCisg
ICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOwor
fQorCisvLyBDb3B5IG9mIENsZWFyVGVzdC5JbmNlcHRpb25TY2lzc29yQ2xlYXJzLgorLy8gQ2xl
YXJzIG1hbnkgc21hbGwgY29uY2VudHJpYyByZWN0YW5nbGVzIHVzaW5nIHNjaXNzb3IgcmVnaW9u
cy4gVmVyaWZpZXMgdmtDbWRDbGVhckF0dGFjaG1lbnRzKCkKKy8vIGlzIHVzZWQgZm9yIHRoZSBz
Y2lzc29yZWQgY2xlYXJzLCByYXRoZXIgdGhhbiB2a0NtZERyYXcoKS4KK1RFU1RfUChWdWxrYW5Q
ZXJmb3JtYW5jZUNvdW50ZXJUZXN0LCBJbmNlcHRpb25TY2lzc29yQ2xlYXJzKQoreworICAgIC8v
IGh0dHBzOi8vaXNzdWV0cmFja2VyLmdvb2dsZS5jb20vMTY2ODA5MDk3CisgICAgQU5HTEVfU0tJ
UF9URVNUX0lGKElzUXVhbGNvbW0oKSAmJiBJc1Z1bGthbigpKTsKKworICAgIEFOR0xFX1NLSVBf
VEVTVF9JRighSXNHTEV4dGVuc2lvbkVuYWJsZWQoa1BlcmZNb25pdG9yRXh0ZW5zaW9uTmFtZSkp
OworICAgIGluaXRBTkdMRUZlYXR1cmVzKCk7CisKKyAgICBhbmdsZTo6VnVsa2FuUGVyZkNvdW50
ZXJzIGV4cGVjdGVkOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgY29sb3IoQ2xlYXJzKzEs
IExvYWRzKzAsIExvYWROb25lcyswLCBTdG9yZXMrMSwgU3RvcmVOb25lcyswKQorICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwg
MSwgMCwgJmV4cGVjdGVkKTsKKworICAgIGFuZ2xlOjpSTkcgcm5nOworCisgICAgY29uc3RleHBy
IEdMdWludCBrU2l6ZSA9IDE2OworCisgICAgLy8gQ3JlYXRlIGEgc3F1YXJlIHVzZXIgRkJPIHNv
IHdlIGhhdmUgbW9yZSBjb250cm9sIG92ZXIgdGhlIGRpbWVuc2lvbnMuCisgICAgR0xGcmFtZWJ1
ZmZlciBmYm87CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZibyk7CisK
KyAgICBHTFJlbmRlcmJ1ZmZlciByYm87CisgICAgZ2xCaW5kUmVuZGVyYnVmZmVyKEdMX1JFTkRF
UkJVRkZFUiwgcmJvKTsKKyAgICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UoR0xfUkVOREVSQlVGRkVS
LCBHTF9SR0JBOCwga1NpemUsIGtTaXplKTsKKworICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9SRU5ERVJCVUZGRVIs
IHJibyk7CisgICAgQVNTRVJUX0dMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKEdMX0ZSQU1FQlVGRkVS
KTsKKworICAgIGdsVmlld3BvcnQoMCwgMCwga1NpemUsIGtTaXplKTsKKworICAgIC8vIENsZWFy
IHNtYWxsIGNvbmNlbnRyaWMgc3F1YXJlcyB1c2luZyBzY2lzc29yLgorICAgIHN0ZDo6dmVjdG9y
PEdMQ29sb3I+IGV4cGVjdGVkQ29sb3JzOworICAgIC8vIFRPRE8oc3lvdXNzZWZpKTogdmVyaWZ5
IHRoaXMKKyAgICBBTkdMRV9NQVlCRV9VTlVTRUQgdWludDMyX3QgbnVtU2Npc3NvcmVkQ2xlYXJz
ID0gMDsKKyAgICBmb3IgKEdMdWludCBpbmRleCA9IDA7IGluZGV4IDwgKGtTaXplIC0gMSkgLyAy
OyBpbmRleCsrKQorICAgIHsKKyAgICAgICAgLy8gRG8gdGhlIGZpcnN0IGNsZWFyIHdpdGhvdXQg
dGhlIHNjaXNzb3IuCisgICAgICAgIGlmIChpbmRleCA+IDApCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGdsRW5hYmxlKEdMX1NDSVNTT1JfVEVTVCk7CisgICAgICAgICAgICBnbFNjaXNzb3IoaW5k
ZXgsIGluZGV4LCBrU2l6ZSAtIChpbmRleCAqIDIpLCBrU2l6ZSAtIChpbmRleCAqIDIpKTsKKyAg
ICAgICAgICAgICsrbnVtU2Npc3NvcmVkQ2xlYXJzOworICAgICAgICB9CisKKyAgICAgICAgR0xD
b2xvciBjb2xvciA9IFJhbmRvbUNvbG9yKCZybmcpOworICAgICAgICBleHBlY3RlZENvbG9ycy5w
dXNoX2JhY2soY29sb3IpOworICAgICAgICBWZWN0b3I0IGZsb2F0Q29sb3IgPSBjb2xvci50b05v
cm1hbGl6ZWRWZWN0b3IoKTsKKyAgICAgICAgZ2xDbGVhckNvbG9yKGZsb2F0Q29sb3JbMF0sIGZs
b2F0Q29sb3JbMV0sIGZsb2F0Q29sb3JbMl0sIGZsb2F0Q29sb3JbM10pOworICAgICAgICBnbENs
ZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOworICAgIH0KKworICAgIEFTU0VSVF9HTF9OT19FUlJP
UigpOworCisgICAgLy8gTWFrZSBzdXJlIGV2ZXJ5dGhpbmcgd2FzIGRvbmUgaW4gYSBzaW5nbGUg
cmVuZGVycGFzcy4KKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJm
Q291bnRlcnMoKS5yZW5kZXJQYXNzZXMpOworCisgICAgc3RkOjp2ZWN0b3I8R0xDb2xvcj4gYWN0
dWFsQ29sb3JzKGV4cGVjdGVkQ29sb3JzLnNpemUoKSk7CisgICAgZ2xSZWFkUGl4ZWxzKDAsIGtT
aXplIC8gMiwgYWN0dWFsQ29sb3JzLnNpemUoKSwgMSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllU
RSwKKyAgICAgICAgICAgICAgICAgYWN0dWFsQ29sb3JzLmRhdGEoKSk7CisKKyAgICBFWFBFQ1Rf
RVEoZXhwZWN0ZWRDb2xvcnMsIGFjdHVhbENvbG9ycyk7CisKKyAgICBjb21wYXJlQ29sb3JPcENv
dW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7Cit9CisKKy8vIENvcHkgb2YgQ2xl
YXJUZXN0LkRlcHRoMTZTY2lzc29yZWQuCisvLyBDbGVhcnMgbWFueSBzbWFsbCBjb25jZW50cmlj
IHJlY3RhbmdsZXMgdXNpbmcgc2Npc3NvciByZWdpb25zLiBWZXJpZmllcyB2a0NtZENsZWFyQXR0
YWNobWVudHMoKQorLy8gaXMgdXNlZCBmb3IgdGhlIHNjaXNzb3JlZCBjbGVhcnMsIHJhdGhlciB0
aGFuIHZrQ21kRHJhdygpLgorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRlc3QsIERl
cHRoMTZTY2lzc29yZWQpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9u
RW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVy
ZXMoKTsKKworICAgIEdMUmVuZGVyYnVmZmVyIHJlbmRlcmJ1ZmZlcjsKKyAgICBnbEJpbmRSZW5k
ZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpOworICAgIGNvbnN0ZXhwciBp
bnQga1JlbmRlcmJ1ZmZlclNpemUgPSA2NDsKKyAgICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UoR0xf
UkVOREVSQlVGRkVSLCBHTF9ERVBUSF9DT01QT05FTlQxNiwga1JlbmRlcmJ1ZmZlclNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGtSZW5kZXJidWZmZXJTaXplKTsKKworICAgIEdMRnJh
bWVidWZmZXIgZmJvOworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmYm8p
OworICAgIGdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xfRlJBTUVCVUZGRVIsIEdMX0RFUFRI
X0FUVEFDSE1FTlQsIEdMX1JFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKworICAgIGdsQ2xl
YXJEZXB0aGYoMC4wZik7CisgICAgZ2xDbGVhcihHTF9ERVBUSF9CVUZGRVJfQklUKTsKKworICAg
IGdsRW5hYmxlKEdMX1NDSVNTT1JfVEVTVCk7CisgICAgY29uc3RleHByIGludCBrTnVtU3RlcHMg
PSAxMzsKKyAgICAvLyBUT0RPKHN5b3Vzc2VmaSk6IHZlcmlmeSB0aGlzCisgICAgQU5HTEVfTUFZ
QkVfVU5VU0VEIHVpbnQzMl90IG51bVNjaXNzb3JlZENsZWFycyA9IDA7CisgICAgZm9yIChpbnQg
bmR4ID0gMTsgbmR4IDwga051bVN0ZXBzOyBuZHgrKykKKyAgICB7CisgICAgICAgIGZsb2F0IHBl
cmMgPSBzdGF0aWNfY2FzdDxmbG9hdD4obmR4KSAvIHN0YXRpY19jYXN0PGZsb2F0PihrTnVtU3Rl
cHMpOworICAgICAgICBnbFNjaXNzb3IoMCwgMCwgc3RhdGljX2Nhc3Q8aW50PihrUmVuZGVyYnVm
ZmVyU2l6ZSAqIHBlcmMpLAorICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50PihrUmVu
ZGVyYnVmZmVyU2l6ZSAqIHBlcmMpKTsKKyAgICAgICAgZ2xDbGVhckRlcHRoZihwZXJjKTsKKyAg
ICAgICAgZ2xDbGVhcihHTF9ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgKytudW1TY2lzc29y
ZWRDbGVhcnM7CisgICAgfQorCisgICAgLy8gTWFrZSBzdXJlIGV2ZXJ5dGhpbmcgd2FzIGRvbmUg
aW4gYSBzaW5nbGUgcmVuZGVycGFzcy4KKyAgICBFWFBFQ1RfRVEoZ2V0UGVyZkNvdW50ZXJzKCku
cmVuZGVyUGFzc2VzLCAxdSk7Cit9CisKKy8vIENvcHkgb2YgQ2xlYXJUZXN0LkluY2VwdGlvblNj
aXNzb3JDbGVhcnMuCisvLyBDbGVhcnMgbWFueSBzbWFsbCBjb25jZW50cmljIHJlY3RhbmdsZXMg
dXNpbmcgc2Npc3NvciByZWdpb25zLgorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRlclRl
c3QsIERyYXdUaGVuSW5jZXB0aW9uU2Npc3NvckNsZWFycykKK3sKKyAgICAvLyBodHRwczovL2lz
c3VldHJhY2tlci5nb29nbGUuY29tLzE2NjgwOTA5NworICAgIEFOR0xFX1NLSVBfVEVTVF9JRihJ
c1F1YWxjb21tKCkgJiYgSXNWdWxrYW4oKSk7CisKKyAgICBBTkdMRV9TS0lQX1RFU1RfSUYoIUlz
R0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUpKTsKKyAgICBpbml0
QU5HTEVGZWF0dXJlcygpOworCisgICAgYW5nbGU6OlZ1bGthblBlcmZDb3VudGVycyBleHBlY3Rl
ZDsKKworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGNvbG9yKENsZWFycyswLCBMb2FkcyswLCBM
b2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMrMCkKKyAgICBzZXRFeHBlY3RlZENvdW50
ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50ZXJzKCksIDEsIDAsIDAsIDAsIDEsIDAsICZleHBl
Y3RlZCk7CisKKyAgICBhbmdsZTo6Uk5HIHJuZzsKKyAgICBzdGQ6OnZlY3RvcjxHTENvbG9yPiBl
eHBlY3RlZENvbG9yczsKKyAgICBjb25zdGV4cHIgR0x1aW50IGtTaXplID0gMTY7CisKKyAgICAv
LyBDcmVhdGUgYSBzcXVhcmUgdXNlciBGQk8gc28gd2UgaGF2ZSBtb3JlIGNvbnRyb2wgb3ZlciB0
aGUgZGltZW5zaW9ucy4KKyAgICBHTEZyYW1lYnVmZmVyIGZibzsKKyAgICBnbEJpbmRGcmFtZWJ1
ZmZlcihHTF9GUkFNRUJVRkZFUiwgZmJvKTsKKworICAgIEdMUmVuZGVyYnVmZmVyIHJibzsKKyAg
ICBnbEJpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCByYm8pOworICAgIGdsUmVuZGVy
YnVmZmVyU3RvcmFnZShHTF9SRU5ERVJCVUZGRVIsIEdMX1JHQkE4LCBrU2l6ZSwga1NpemUpOwor
CisgICAgZ2xGcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1Jf
QVRUQUNITUVOVDAsIEdMX1JFTkRFUkJVRkZFUiwgcmJvKTsKKyAgICBBU1NFUlRfR0xfRlJBTUVC
VUZGRVJfQ09NUExFVEUoR0xfRlJBTUVCVUZGRVIpOworCisgICAgZ2xWaWV3cG9ydCgwLCAwLCBr
U2l6ZSwga1NpemUpOworCisgICAgQU5HTEVfR0xfUFJPR1JBTShyZWRQcm9ncmFtLCBlc3NsMV9z
aGFkZXJzOjp2czo6U2ltcGxlKCksIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CisgICAgZHJh
d1F1YWQocmVkUHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwgMC41Zik7
CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisgICAgZXhw
ZWN0ZWRDb2xvcnMucHVzaF9iYWNrKEdMQ29sb3I6OnJlZCk7CisKKyAgICBjb21wYXJlQ29sb3JP
cENvdW50ZXJzKGdldFBlcmZDb3VudGVycygpLCBleHBlY3RlZCk7CisKKyAgICAvLyBFeHBlY3Qg
cnBDb3VudCsxLCBjb2xvcihDbGVhcnMrMCwgTG9hZHMrMSwgTG9hZE5vbmVzKzAsIFN0b3Jlcysx
LCBTdG9yZU5vbmVzKzApCisgICAgLy8gVE9ETzogT3B0aW1pemUgc2Npc3NvcmVkIGNsZWFycyB0
byB1c2UgbG9hZE9wID0gQ0xFQVIuIGFuZ2xlYnVnLmNvbS81MTk0CisgICAgc2V0RXhwZWN0ZWRD
b3VudGVyc0ZvckNvbG9yT3BzKGdldFBlcmZDb3VudGVycygpLCAxLCAwLCAxLCAwLCAxLCAwLCAm
ZXhwZWN0ZWQpOworCisgICAgLy8gRHJhdyBzbWFsbCBjb25jZW50cmljIHNxdWFyZXMgdXNpbmcg
c2Npc3Nvci4KKyAgICAvLyBUT0RPKHN5b3Vzc2VmaSk6IHZlcmlmeSB0aGlzCisgICAgQU5HTEVf
TUFZQkVfVU5VU0VEIHVpbnQzMl90IG51bVNjaXNzb3JlZENsZWFycyA9IDA7CisgICAgLy8gQWxs
IGNsZWFycyBhcmUgdG8gYSBzY2lzc29yZWQgcmVuZGVyIGFyZWEuCisgICAgZm9yIChHTHVpbnQg
aW5kZXggPSAxOyBpbmRleCA8IChrU2l6ZSAtIDEpIC8gMjsgaW5kZXgrKykKKyAgICB7CisgICAg
ICAgIGdsRW5hYmxlKEdMX1NDSVNTT1JfVEVTVCk7CisgICAgICAgIGdsU2Npc3NvcihpbmRleCwg
aW5kZXgsIGtTaXplIC0gKGluZGV4ICogMiksIGtTaXplIC0gKGluZGV4ICogMikpOworICAgICAg
ICArK251bVNjaXNzb3JlZENsZWFyczsKKworICAgICAgICBHTENvbG9yIGNvbG9yID0gUmFuZG9t
Q29sb3IoJnJuZyk7CisgICAgICAgIGV4cGVjdGVkQ29sb3JzLnB1c2hfYmFjayhjb2xvcik7Cisg
ICAgICAgIFZlY3RvcjQgZmxvYXRDb2xvciA9IGNvbG9yLnRvTm9ybWFsaXplZFZlY3RvcigpOwor
ICAgICAgICBnbENsZWFyQ29sb3IoZmxvYXRDb2xvclswXSwgZmxvYXRDb2xvclsxXSwgZmxvYXRD
b2xvclsyXSwgZmxvYXRDb2xvclszXSk7CisgICAgICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVS
X0JJVCk7CisgICAgfQorCisgICAgQVNTRVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyBNYWtl
IHN1cmUgZXZlcnl0aGluZyB3YXMgZG9uZSBpbiBhIHNpbmdsZSByZW5kZXJwYXNzLgorICAgIEVY
UEVDVF9FUShleHBlY3RlZC5yZW5kZXJQYXNzZXMsIGdldFBlcmZDb3VudGVycygpLnJlbmRlclBh
c3Nlcyk7CisKKyAgICAvLyBDbG9zZSB0aGUgcmVuZGVyIHBhc3MgdG8gdXBkYXRlIHRoZSBwZXJm
b3JtYW5jZSBjb3VudGVycy4KKyAgICBzdGQ6OnZlY3RvcjxHTENvbG9yPiBhY3R1YWxDb2xvcnMo
ZXhwZWN0ZWRDb2xvcnMuc2l6ZSgpKTsKKyAgICBnbFJlYWRQaXhlbHMoMCwga1NpemUgLyAyLCBh
Y3R1YWxDb2xvcnMuc2l6ZSgpLCAxLCBHTF9SR0JBLCBHTF9VTlNJR05FRF9CWVRFLAorICAgICAg
ICAgICAgICAgICBhY3R1YWxDb2xvcnMuZGF0YSgpKTsKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRD
b2xvcnMsIGFjdHVhbENvbG9ycyk7CisKKyAgICBjb21wYXJlQ29sb3JPcENvdW50ZXJzKGdldFBl
cmZDb3VudGVycygpLCBleHBlY3RlZCk7Cit9CisKKy8vIFRlc3QgdGhhdCBjb2xvciBjbGVhcnMg
YXJlIHJlc3BlY3RlZCBhZnRlciBpbnZhbGlkYXRlCitURVNUX1AoVnVsa2FuUGVyZm9ybWFuY2VD
b3VudGVyVGVzdCwgQ29sb3JDbGVhckFmdGVySW52YWxpZGF0ZSkKK3sKKyAgICBBTkdMRV9TS0lQ
X1RFU1RfSUYoIUlzR0xFeHRlbnNpb25FbmFibGVkKGtQZXJmTW9uaXRvckV4dGVuc2lvbk5hbWUp
KTsKKyAgICBpbml0QU5HTEVGZWF0dXJlcygpOworCisgICAgYW5nbGU6OlZ1bGthblBlcmZDb3Vu
dGVycyBleHBlY3RlZDsKKworICAgIEdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXI7CisgICAgR0xU
ZXh0dXJlIHRleHR1cmU7CisgICAgR0xSZW5kZXJidWZmZXIgcmVuZGVyYnVmZmVyOworICAgIHNl
dHVwRm9yQ29sb3JEZXB0aE9wc1Rlc3QoJmZyYW1lYnVmZmVyLCAmdGV4dHVyZSwgJnJlbmRlcmJ1
ZmZlcik7CisKKyAgICAvLyBFeGVjdXRlIHRoZSBzY2VuYXJpbyB0aGF0IHRoaXMgdGVzdCBpcyBm
b3I6CisKKyAgICAvLyBjb2xvcitkZXB0aCBpbnZhbGlkYXRlLCBjb2xvcitkZXB0aCBjbGVhcgor
ICAgIC8vCisgICAgLy8gRXhwZWN0ZWQ6CisgICAgLy8gICBycENvdW50KzEsCisgICAgLy8gICBk
ZXB0aChDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3JlcyswLCBTdG9yZU5vbmVz
KzApCisgICAgLy8gICBjb2xvcihDbGVhcnMrMSwgTG9hZHMrMCwgTG9hZE5vbmVzKzAsIFN0b3Jl
cysxLCBTdG9yZU5vbmVzKzApCisgICAgc2V0RXhwZWN0ZWRDb3VudGVyc0ZvckRlcHRoT3BzKGdl
dFBlcmZDb3VudGVycygpLCAwLCAxLCAwLCAwLCAwLCAwLCAmZXhwZWN0ZWQpOworICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMSwgMCwgMCwg
MSwgMCwgJmV4cGVjdGVkKTsKKworICAgIGdsQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVS
LCBmcmFtZWJ1ZmZlcik7CisKKyAgICAvLyBJbnZhbGlkYXRlIChsb2FkT3AgQz1ET05UQ0FSRSwg
RD1ET05UQ0FSRSkKKyAgICBjb25zdCBHTGVudW0gZGlzY2FyZHNbXSA9IHtHTF9ERVBUSF9BVFRB
Q0hNRU5ULCBHTF9DT0xPUl9BVFRBQ0hNRU5UMH07CisgICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZm
ZXIoR0xfRlJBTUVCVUZGRVIsIDIsIGRpc2NhcmRzKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1Io
KTsKKworICAgIC8vIENsZWFyIChsb2FkT3AgQz1DTEVBUiwgRD1DTEVBUikKKyAgICBnbENsZWFy
KEdMX0NPTE9SX0JVRkZFUl9CSVQgfCBHTF9ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIC8vIFNh
dmUgZXhpc3RpbmcgZHJhdyBidWZmZXJzCisgICAgR0xpbnQgbWF4RHJhd0J1ZmZlcnMgPSAwOwor
ICAgIGdsR2V0SW50ZWdlcnYoR0xfTUFYX0RSQVdfQlVGRkVSUywgJm1heERyYXdCdWZmZXJzKTsK
KyAgICBzdGQ6OnZlY3RvcjxHTGVudW0+IHNhdmVkRHJhd0J1ZmZlcnMobWF4RHJhd0J1ZmZlcnMp
OworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbWF4RHJhd0J1ZmZlcnM7IGkrKykKKyAgICAgICAg
Z2xHZXRJbnRlZ2VydihHTF9EUkFXX0JVRkZFUjAgKyBpLCAoR0xpbnQgKikmc2F2ZWREcmF3QnVm
ZmVyc1tpXSk7CisKKyAgICAvLyBEcmF3IGRlcHRoLW9ubHkKKyAgICBBTkdMRV9HTF9QUk9HUkFN
KHByb2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6
OlJlZCgpKTsKKyAgICBnbERyYXdCdWZmZXJzKDAsIG51bGxwdHIpOworICAgIGdsQ29sb3JNYXNr
KEdMX0ZBTFNFLCBHTF9GQUxTRSwgR0xfRkFMU0UsIEdMX0ZBTFNFKTsKKyAgICBkcmF3UXVhZChw
cm9ncmFtLCBlc3NsMV9zaGFkZXJzOjpQb3NpdGlvbkF0dHJpYigpLCAwLjVmKTsKKyAgICBnbERy
YXdCdWZmZXJzKG1heERyYXdCdWZmZXJzLCBzYXZlZERyYXdCdWZmZXJzLmRhdGEoKSk7CisgICAg
Z2xDb2xvck1hc2soR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSwgR0xfVFJVRSk7CisgICAgQVNT
RVJUX0dMX05PX0VSUk9SKCk7CisKKyAgICAvLyBJbnZhbGlkYXRlIGRlcHRoIG9ubHkgKHN0b3Jl
T3Agc2hvdWxkIGJlIEM9U1RPUkUvRD1DTEVBUikKKyAgICBnbEludmFsaWRhdGVGcmFtZWJ1ZmZl
cihHTF9GUkFNRUJVRkZFUiwgMSwgZGlzY2FyZHMpOworCisgICAgZ2xCaW5kRnJhbWVidWZmZXIo
R0xfRlJBTUVCVUZGRVIsIDApOworCisgICAgRVhQRUNUX0VRKGV4cGVjdGVkLnJlbmRlclBhc3Nl
cywgZ2V0UGVyZkNvdW50ZXJzKCkucmVuZGVyUGFzc2VzKTsKKworICAgIC8vIFVzZSBzd2FwQnVm
ZmVycyBhbmQgdGhlbiBjaGVjayBob3cgbWFueSBsb2FkcyBhbmQgc3RvcmVzIHdlcmUgYWN0dWFs
bHkgZG9uZQorICAgIHN3YXBCdWZmZXJzKCk7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhn
ZXRQZXJmQ291bnRlcnMoKSwgZXhwZWN0ZWQpOworICAgIGNvbXBhcmVEZXB0aE9wQ291bnRlcnMo
Z2V0UGVyZkNvdW50ZXJzKCksIGV4cGVjdGVkKTsKKyAgICBBU1NFUlRfR0xfTk9fRVJST1IoKTsK
K30KKworLy8gRW5zdXJlIHRoYXQgaW1hZ2UgZ2V0cyBtYXJrZWQgYXMgZGVmaW5lZCBhZnRlciBj
bGVhciArIGludmFsaWRhdGUgKyBjbGVhciwgYW5kIHRoYXQgd2UgdXNlCisvLyBMb2FkT3A9TG9h
ZCBmb3IgYSByZW5kZXJwYXNzIHdoaWNoIGRyYXdzIHRvIGl0IGFmdGVyIHRoZSBjbGVhciBoYXMg
YmVlbiBmbHVzaGVkIHdpdGggYSBibGl0LgorVEVTVF9QKFZ1bGthblBlcmZvcm1hbmNlQ291bnRl
clRlc3QsIEludmFsaWRhdGVUaGVuUmVwZWF0ZWRDbGVhclRoZW5CbGl0VGhlbkRyYXcpCit7Cisg
ICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JF
eHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xFRmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpW
dWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CisKKyAgICBjb25zdGV4cHIgR0xzaXplaSBrU2l6
ZSA9IDI7CisKKyAgICAvLyB0ZXhbMF0gaXMgd2hhdCdzIGJlaW5nIHRlc3RlZC4gIFRoZSBvdGhl
cnMgYXJlIGhlbHBlcnMuCisgICAgR0xUZXh0dXJlIHRleFszXTsKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IDM7ICsraSkKKyAgICB7CisgICAgICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8y
RCwgdGV4W2ldKTsKKyAgICAgICAgZ2xUZXhJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JH
QkEsIGtTaXplLCBrU2l6ZSwgMCwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwKKyAgICAgICAg
ICAgICAgICAgICAgIG51bGxwdHIpOworICAgIH0KKworICAgIEdMRnJhbWVidWZmZXIgZmJvWzNd
OworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsgKytpKQorICAgIHsKKyAgICAgICAgZ2xCaW5k
RnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIGZib1tpXSk7CisgICAgICAgIGdsRnJhbWVidWZm
ZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhU
VVJFXzJELCB0ZXhbaV0sIDApOworICAgIH0KKworICAgIC8vIEV4cGVjdCBycENvdW50KzEsIGNv
bG9yKENsZWFycyswLCBMb2FkcysxLCBMb2FkTm9uZXMrMCwgU3RvcmVzKzEsIFN0b3JlTm9uZXMr
MCkKKyAgICBzZXRFeHBlY3RlZENvdW50ZXJzRm9yQ29sb3JPcHMoZ2V0UGVyZkNvdW50ZXJzKCks
IDEsIDAsIDEsIDAsIDEsIDAsICZleHBlY3RlZCk7CisKKyAgICAvLyBDbGVhciB0aGUgaW1hZ2Ug
dGhyb3VnaCBmYm9bMF0sIGFuZCBtYWtlIHN1cmUgdGhlIGNsZWFyIGlzIGZsdXNoZWQgb3V0c2lk
ZSB0aGUgcmVuZGVyIHBhc3MuCisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIs
IGZib1swXSk7CisgICAgZ2xDbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgIGdsQ2xlYXIoR0xf
Q09MT1JfQlVGRkVSX0JJVCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdMQ29s
b3I6OnJlZCk7CisKKyAgICAvLyBJbnZhbGlkYXRlIGl0IHN1Y2ggdGhhdCB0aGUgY29udGVudHMg
YXJlIG1hcmtlZCBhcyB1bmRlZmluZWQuIE5vdGUgdGhhdCByZWdhcmRsZXNzIG9mIHRoZQorICAg
IC8vIG1hcmtpbmcsIHRoZSBpbWFnZSBpcyBjbGVhcmVkIG5ldmVydGhlbGVzcy4KKyAgICBjb25z
dCBHTGVudW0gZGlzY2FyZHNbXSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMH07CisgICAgZ2xJbnZh
bGlkYXRlRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDEsIGRpc2NhcmRzKTsKKworICAgIC8v
IENsZWFyIGl0IGFnYWluIHRvIHRoZSBzYW1lIGNvbG9yLgorICAgIGdsQ2xlYXIoR0xfQ09MT1Jf
QlVGRkVSX0JJVCk7CisKKyAgICAvLyBCaW5kIHRleFswXSB0byBmYm9bMV0gYXMgdGhlIHJlYWQg
ZmJvLCBhbmQgYmxpdCB0byBmYm9bMl0KKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9SRUFEX0ZS
QU1FQlVGRkVSLCBmYm9bMV0pOworICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfUkVBRF9G
UkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIHRleFswXSwg
MCk7CisgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRFJBV19GUkFNRUJVRkZFUiwgZmJvWzJdKTsK
KworICAgIC8vIEJsaXQuICBUaGlzIGNhdXNlcyB0aGUgc2Vjb25kIGNsZWFyIG9mIHRleFswXSB0
byBiZSBmbHVzaGVkIG91dHNpZGUgdGhlIHJlbmRlciBwYXNzLCB3aGljaAorICAgIC8vIG1heSBi
ZSBvcHRpbWl6ZWQgb3V0LgorICAgIGdsQmxpdEZyYW1lYnVmZmVyKDAsIDAsIGtTaXplLCBrU2l6
ZSwgMCwgMCwga1NpemUsIGtTaXplLCBHTF9DT0xPUl9CVUZGRVJfQklULCBHTF9ORUFSRVNUKTsK
KworICAgIC8vIFN3aXRjaCBiYWNrIHRvIGZib1swXSBhbmQgZHJhdyB3aXRoIGJsZW5kLiAgSWYg
dGhlIHNlY29uZCBjbGVhciBpcyBkcm9wcGVkIGFuZCB0aGUgaW1hZ2UKKyAgICAvLyBjb250aW51
ZXMgdG8gYmUgbWFya2VkIGFzIGludmFsaWRhdGVkLCBsb2FkT3A9RE9OVF9DQVJFIHdvdWxkIGJl
IHVzZWQgaW5zdGVhZCBvZiBsb2FkT3A9TE9BRC4KKyAgICBnbEJpbmRGcmFtZWJ1ZmZlcihHTF9G
UkFNRUJVRkZFUiwgZmJvWzBdKTsKKworICAgIGdsRW5hYmxlKEdMX0JMRU5EKTsKKyAgICBnbEJs
ZW5kRnVuYyhHTF9PTkUsIEdMX09ORSk7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHByb2dyYW0s
IGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OkJsdWUoKSk7
CisgICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRyaWIoKSwg
MCk7CisKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWQucmVuZGVyUGFzc2VzLCBnZXRQZXJmQ291bnRl
cnMoKS5yZW5kZXJQYXNzZXMpOworCisgICAgRVhQRUNUX1BJWEVMX0NPTE9SX0VRKDAsIDAsIEdM
Q29sb3I6Om1hZ2VudGEpOworICAgIGNvbXBhcmVDb2xvck9wQ291bnRlcnMoZ2V0UGVyZkNvdW50
ZXJzKCksIGV4cGVjdGVkKTsKK30KKworLy8gRW5zdXJlIHRoYXQgaW1hZ2UgZ2V0cyBtYXJrZWQg
YXMgZGVmaW5lZCBhZnRlciBjbGVhciArIGludmFsaWRhdGUgKyBjbGVhciwgYW5kIHRoYXQgd2Ug
dXNlCisvLyBMb2FkT3A9TG9hZCBmb3IgYSByZW5kZXJwYXNzIHdoaWNoIGRyYXdzIHRvIGl0IGFm
dGVyIHRoZSBjbGVhciBoYXMgYmVlbiBmbHVzaGVkIHdpdGggcmVhZCBwaXhlbHMuCitURVNUX1Ao
VnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdCwgSW52YWxpZGF0ZVRoZW5SZXBlYXRlZENsZWFy
VGhlblJlYWRiYWNrVGhlbkRyYXcpCit7CisgICAgQU5HTEVfU0tJUF9URVNUX0lGKCFJc0dMRXh0
ZW5zaW9uRW5hYmxlZChrUGVyZk1vbml0b3JFeHRlbnNpb25OYW1lKSk7CisgICAgaW5pdEFOR0xF
RmVhdHVyZXMoKTsKKworICAgIGFuZ2xlOjpWdWxrYW5QZXJmQ291bnRlcnMgZXhwZWN0ZWQ7CisK
KyAgICBjb25zdGV4cHIgR0xzaXplaSBrU2l6ZSA9IDI7CisKKyAgICBHTFRleHR1cmUgdGV4Owor
ICAgIGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbFRleEltYWdlMkQo
R0xfVEVYVFVSRV8yRCwgMCwgR0xfUkdCQSwga1NpemUsIGtTaXplLCAwLCBHTF9SR0JBLCBHTF9V
TlNJR05FRF9CWVRFLCBudWxscHRyKTsKKworICAgIEdMRnJhbWVidWZmZXIgZmJvOworICAgIGds
QmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsRnJhbWVidWZmZXJU
ZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJF
XzJELCB0ZXgsIDApOworCisgICAgLy8gRXhwZWN0IHJwQ291bnQrMSwgY29sb3IoQ2xlYXJzKzAs
IExvYWRzKzEsIExvYWROb25lcyswLCBTdG9yZXMrMSwgU3RvcmVOb25lcyswKQorICAgIHNldEV4
cGVjdGVkQ291bnRlcnNGb3JDb2xvck9wcyhnZXRQZXJmQ291bnRlcnMoKSwgMSwgMCwgMSwgMCwg
MSwgMCwgJmV4cGVjdGVkKTsKKworICAgIC8vIENsZWFyIHRoZSBpbWFnZSwgYW5kIG1ha2Ugc3Vy
ZSB0aGUgY2xlYXIgaXMgZmx1c2hlZCBvdXRzaWRlIHRoZSByZW5kZXIgcGFzcy4KKyAgICBnbENs
ZWFyQ29sb3IoMSwgMCwgMCwgMSk7CisgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsK
KyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6cmVkKTsKKworICAgIC8v
IEludmFsaWRhdGUgaXQgc3VjaCB0aGF0IHRoZSBjb250ZW50cyBhcmUgbWFya2VkIGFzIHVuZGVm
aW5lZC4gIE5vdGUgdGhhdCByZWdhcmxkZXNzIG9mIHRoZQorICAgIC8vIG1hcmtpbmcsIHRoZSBp
bWFnZSBpcyBjbGVhcmVkIG5ldmVydGhlbGVzcy4KKyAgICBjb25zdCBHTGVudW0gZGlzY2FyZHNb
XSA9IHtHTF9DT0xPUl9BVFRBQ0hNRU5UMH07CisgICAgZ2xJbnZhbGlkYXRlRnJhbWVidWZmZXIo
R0xfRlJBTUVCVUZGRVIsIDEsIGRpc2NhcmRzKTsKKworICAgIC8vIENsZWFyIGl0IGFnYWluIHRv
IHRoZSBzYW1lIGNvbG9yLCBhbmQgbWFrZSBzdXJlIHRoZSBjbGVhciBpcyBmbHVzaGVkIG91dHNp
ZGUgdGhlIHJlbmRlciBwYXNzLAorICAgIC8vIHdoaWNoIG1heSBiZSBvcHRpbWl6ZWQgb3V0Lgor
ICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgRVhQRUNUX1BJWEVMX0NPTE9S
X0VRKDAsIDAsIEdMQ29sb3I6OnJlZCk7CisKKyAgICAvLyBEcmF3IHdpdGggYmxlbmQuICBJZiB0
aGUgc2Vjb25kIGNsZWFyIGlzIGRyb3BwZWQgYW5kIHRoZSBpbWFnZSBjb250aW51ZXMgdG8gYmUg
bWFya2VkIGFzCisgICAgLy8gaW52YWxpZGF0ZWQsIGxvYWRPcD1ET05UX0NBUkUgd291bGQgYmUg
dXNlZCBpbnN0ZWFkIG9mIGxvYWRPcD1MT0FELgorICAgIGdsRW5hYmxlKEdMX0JMRU5EKTsKKyAg
ICBnbEJsZW5kRnVuYyhHTF9PTkUsIEdMX09ORSk7CisKKyAgICBBTkdMRV9HTF9QUk9HUkFNKHBy
b2dyYW0sIGVzc2wxX3NoYWRlcnM6OnZzOjpTaW1wbGUoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OkJs
dWUoKSk7CisgICAgZHJhd1F1YWQocHJvZ3JhbSwgZXNzbDFfc2hhZGVyczo6UG9zaXRpb25BdHRy
aWIoKSwgMCk7CisKKyAgICBFWFBFQ1RfUElYRUxfQ09MT1JfRVEoMCwgMCwgR0xDb2xvcjo6bWFn
ZW50YSk7CisgICAgY29tcGFyZUNvbG9yT3BDb3VudGVycyhnZXRQZXJmQ291bnRlcnMoKSwgZXhw
ZWN0ZWQpOworfQorCiBBTkdMRV9JTlNUQU5USUFURV9URVNUKFZ1bGthblBlcmZvcm1hbmNlQ291
bnRlclRlc3QsIEVTM19WVUxLQU4oKSwgRVMzX1ZVTEtBTl9TV0lGVFNIQURFUigpKTsKIEFOR0xF
X0lOU1RBTlRJQVRFX1RFU1QoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdF9FUzMxLCBFUzMx
X1ZVTEtBTigpLCBFUzMxX1ZVTEtBTl9TV0lGVFNIQURFUigpKTsKIEFOR0xFX0lOU1RBTlRJQVRF
X1RFU1QoVnVsa2FuUGVyZm9ybWFuY2VDb3VudGVyVGVzdF9NU0FBLCBFUzNfVlVMS0FOKCksIEVT
M19WVUxLQU5fU1dJRlRTSEFERVIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvdGVzdHMvcmVzdHJpY3RlZF90cmFjZXMvcmVzdHJpY3RlZF90cmFjZXMuanNvbiBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9yZXN0
cmljdGVkX3RyYWNlcy5qc29uCmluZGV4IDUxMDIwZmYzZDY3MTkzYjgyOWRlNDgyNDdhNzg1NmIz
OTQ3MjM0MzguLjgzZWJjZmYwZjg4ZWRlZmMwYjFjNTEzMmFmOWM1ZWE0ZTIwYjViZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9yZXN0cmljdGVkX3RyYWNl
cy9yZXN0cmljdGVkX3RyYWNlcy5qc29uCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9yZXN0cmljdGVkX3RyYWNlcy9yZXN0cmljdGVkX3RyYWNlcy5qc29uCkBAIC0xMTQs
NiArMTE0LDcgQEAKICAgICAic2FrdXJhX3NjaG9vbF9zaW11bGF0b3IgNSIsCiAgICAgInNjcmFi
YmxlX2dvIDUiLAogICAgICJzaGFkb3dfZmlnaHRfMiA1IiwKKyAgICAic2hhZG93Z3VuX2xlZ2Vu
ZHMgMSIsCiAgICAgInNsaW5nc2hvdF90ZXN0MSA1IiwKICAgICAic2xpbmdzaG90X3Rlc3QyIDUi
LAogICAgICJzbmlwZXJfM2QgNSIsCkBAIC0xMjQsNiArMTI1LDcgQEAKICAgICAic3Vid2F5X3By
aW5jZXNzX3J1bm5lciA1IiwKICAgICAic3Vid2F5X3N1cmZlcnMgNSIsCiAgICAgInN1bW1vbmVy
c193YXIgNSIsCisgICAgInN1cGVyX21hcmlvX3J1biAxIiwKICAgICAidGFsa2luZ190b21faGVy
b19kYXNoIDUiLAogICAgICJ0ZW1wbGVfcnVuXzIgNSIsCiAgICAgInRlbXBsZV9ydW5fMzAwIDUi
LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRp
bHMvQU5HTEVUZXN0LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91
dGlscy9BTkdMRVRlc3QuaAppbmRleCBlNDJlMzJkMGMzYzg0YWQ2MmQ3YWIwZGQ0ZGRmMDg1MGNj
ZTM2YTA0Li5mNTRiODNmMWMxY2ZkYzdlNWYyMmJhY2VhNzhhYmRmNmE5MDlmMDVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9BTkdMRVRl
c3QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9B
TkdMRVRlc3QuaApAQCAtNDk5LDcgKzQ5OSw3IEBAIGNsYXNzIEFOR0xFVGVzdEJhc2UKICAgICAv
LyBIYXMgYSBmbG9hdCB1bmlmb3JtICJ1X2xheWVyIiB0byBjaG9vc2UgdGhlIDNEIHRleHR1cmUg
bGF5ZXIuCiAgICAgR0x1aW50IGdldDNEVGV4dHVyZWRRdWFkUHJvZ3JhbSgpOwogCi0gICAgY2xh
c3MgU2NvcGVkSWdub3JlUGxhdGZvcm1NZXNzYWdlcyA6IGFuZ2xlOjpOb25Db3B5YWJsZQorICAg
IGNsYXNzIEFOR0xFX05PX0RJU0NBUkQgU2NvcGVkSWdub3JlUGxhdGZvcm1NZXNzYWdlcyA6IGFu
Z2xlOjpOb25Db3B5YWJsZQogICAgIHsKICAgICAgIHB1YmxpYzoKICAgICAgICAgU2NvcGVkSWdu
b3JlUGxhdGZvcm1NZXNzYWdlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL3Rlc3RzL3Rlc3RfdXRpbHMvcnVubmVyL2FuZHJvaWQvQW5nbGVOYXRpdmVUZXN0LmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy90ZXN0X3V0aWxzL3J1bm5lci9h
bmRyb2lkL0FuZ2xlTmF0aXZlVGVzdC5jcHAKaW5kZXggOGUwZDRmY2I2YWVhZmVkNzJiYmI3ODQx
YzdjMWUyMDcwNTUwNjlkMC4uODQ4NGQ2Y2QyZjBlYjEwNzI4ZWY1ZjNmZDMwOWY1NzdlYzkxN2I5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3Rlc3RfdXRp
bHMvcnVubmVyL2FuZHJvaWQvQW5nbGVOYXRpdmVUZXN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvdGVzdF91dGlscy9ydW5uZXIvYW5kcm9pZC9BbmdsZU5hdGl2
ZVRlc3QuY3BwCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVk
ZSA8dW5pc3RkLmg+CiAKKyNpbmNsdWRlICJjb21tb24vYW5nbGV1dGlscy5oIgogI2luY2x1ZGUg
ImNvbW1vbi9zdHJpbmdfdXRpbHMuaCIKIAogLy8gVGhlIG1haW4gZnVuY3Rpb24gb2YgdGhlIHBy
b2dyYW0gdG8gYmUgd3JhcHBlZCBhcyBhIHRlc3QgYXBrLgpAQCAtMzAsNyArMzEsNyBAQCBjb25z
dCBpbnQga0V4Y2VwdGlvblNpZ25hbHNbXSA9IHtTSUdTRUdWLCBTSUdBQlJULCBTSUdGUEUsIFNJ
R0lMTCwgU0lHQlVTLCAtMX07CiAKIHN0cnVjdCBzaWdhY3Rpb24gZ19vbGRfc2FbTlNJR107CiAK
LWNsYXNzIFNjb3BlZE1haW5FbnRyeUxvZ2dlcgorY2xhc3MgQU5HTEVfTk9fRElTQ0FSRCBTY29w
ZWRNYWluRW50cnlMb2dnZXIKIHsKICAgcHVibGljOgogICAgIFNjb3BlZE1haW5FbnRyeUxvZ2dl
cigpIHsgcHJpbnRmKCI+PlNjb3BlZE1haW5FbnRyeUxvZ2dlclxuIik7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>