<?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>213665</bug_id>
          
          <creation_ts>2020-06-26 15:45:34 -0700</creation_ts>
          <short_desc>Update web-platform-tests/common from upstream</short_desc>
          <delta_ts>2020-07-16 09:09:21 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1666654</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 15:45:34 -0700</bug_when>
    <thetext>Update web-platform-tests/common from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666655</commentid>
    <comment_count>1</comment_count>
      <attachid>402916</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 15:47:11 -0700</bug_when>
    <thetext>Created attachment 402916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666666</commentid>
    <comment_count>2</comment_count>
      <attachid>402920</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 16:12:31 -0700</bug_when>
    <thetext>Created attachment 402920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666758</commentid>
    <comment_count>3</comment_count>
      <attachid>402920</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-06-27 08:23:50 -0700</bug_when>
    <thetext>Comment on attachment 402920
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666771</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-27 09:09:03 -0700</bug_when>
    <thetext>Committed r263621: &lt;https://trac.webkit.org/changeset/263621&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402920.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666773</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-27 09:10:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/64844301&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666774</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-27 09:10:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/64844302&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402916</attachid>
            <date>2020-06-26 15:47:11 -0700</date>
            <delta_ts>2020-06-26 16:12:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213665-20200626154710.patch</filename>
            <type>text/plain</type>
            <size>111688</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTg4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAwNDhlNWM5NTgzMTRmYWQ4ZThiZWNjY2Q4OTIyNjE5MGJjY2QzOTA0Li4zOGEzZGM4YmU1
ZDEyYmRhZmY1YTM4ZTcxODY2OThjMzgzNzA4ODAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uIGZy
b20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMzY2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uIGZyb20gdXBzdHJlYW0gYjA3NmMz
MDVhMjU2ZTdmYjcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uLyo6IFVw
ZGF0ZWQuCisKIDIwMjAtMDYtMjQgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVbnJldmlld2VkIGdhcmRlbmluZy4gVXBkYXRlZCBl
eHBlY3RhdGlvbnMgYW5kIG5ldyBwYXNzaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vTUVUQS55bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbApp
bmRleCA5NTg4ODNhMWIwN2U3ZGIxMzI0OTE1M2ZjODVjNjlkMmE0MDM2M2EzLi5jYTRkMmU1MjNj
MDg2NjIwNzhlN2QwNDAxOGFjZjZhMjU1MDg4MjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbApA
QCAtMSw0ICsxLDMgQEAKIHN1Z2dlc3RlZF9yZXZpZXdlcnM6CiAgIC0genF6aGFuZwogICAtIGRl
bmlhawotICAtIGdzbmVkZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vYXJyYXlzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vYXJyYXlzLmpzCmluZGV4IDQ5NDMxZGQ3
OGFkZjg1Yjg4NjgyZmU3ZGM1ZjEzOWYxNjY5NmYwYmIuLjJiMzFiYjQxNzljMjZkNzkwMTc0MjE0
YmUwOTcxNjBjYzMwMmQwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL2FycmF5cy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9hcnJheXMuanMKQEAgLTEsNCArMSwx
OSBAQAotLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBhcnJheXMgYXJlIGVxdWFsLiBPcHRp
b25hbGx5IGNhbiBwYXNzIGFuIGVxdWFsaXR5IGZ1bmN0aW9uLgorLyoqCisgKiBDYWxsYmFjayBm
b3IgY2hlY2tpbmcgZXF1YWxpdHkgb2YgYyBhbmQgZC4KKyAqCisgKiBAY2FsbGJhY2sgZXF1YWxp
dHlDYWxsYmFjaworICogQHBhcmFtIHsqfSBjCisgKiBAcGFyYW0geyp9IGQKKyAqIEByZXR1cm5z
IHtib29sZWFufQorICovCisKKy8qKgorICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBhcnJh
eXMgYXJlIGVxdWFsLiBPcHRpb25hbGx5IGNhbiBwYXNzIGFuIGVxdWFsaXR5IGZ1bmN0aW9uLgor
ICogQHBhcmFtIHtBcnJheX0gYQorICogQHBhcmFtIHtBcnJheX0gYgorICogQHBhcmFtIHtlcXVh
bGl0eUNhbGxiYWNrfSBjYWxsYmFja0Z1bmN0aW9uIC0gZGVmYXVsdHMgdG8gYGMgPT09IGRgCisg
KiBAcmV0dXJucyB7Ym9vbGVhbn0KKyAqLwogZXhwb3J0IGZ1bmN0aW9uIGFyZUFycmF5c0VxdWFs
KGEsIGIsIGVxdWFsaXR5RnVuY3Rpb24gPSAoYywgZCkgPT4geyByZXR1cm4gYyA9PT0gZDsgfSkg
ewogICB0cnkgewogICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9nZXQtaG9z
dC1pbmZvLnN1Yi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCmluZGV4IDFmYmYyZGJjNjg3OTFmMzE4OGIw
YjgyYzcxMTk4YmM0MDlmYjAwN2QuLjFjMjhhN2Y0NzZmNjdkNTEzZTQ2MjdiNjEzM2QwYzJlMGZm
Yzg2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCkBA
IC0xLDMgKzEsNyBAQAorLyoqCisgKiBIb3N0IGluZm9ybWF0aW9uIGZvciBjcm9zcy1vcmlnaW4g
dGVzdHMuCisgKiBAcmV0dXJucyB7T2JqZWN0fSB3aXRoIHByb3BlcnRpZXMgZm9yIGRpZmZlcmVu
dCBob3N0IGluZm9ybWF0aW9uLgorICovCiBmdW5jdGlvbiBnZXRfaG9zdF9pbmZvKCkgewogCiAg
IHZhciBIVFRQX1BPUlQgPSAne3twb3J0c1todHRwXVswXX19JzsKQEAgLTM4LDEwICs0MiwxMyBA
QCBmdW5jdGlvbiBnZXRfaG9zdF9pbmZvKCkgewogICB9OwogfQogCisvKioKKyAqIFdoZW4gYSBk
ZWZhdWx0IHBvcnQgaXMgdXNlZCwgbG9jYXRpb24ucG9ydCByZXR1cm5zIHRoZSBlbXB0eSBzdHJp
bmcuCisgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIHByb3ZpZGUgYW4gZXhhY3QgcG9ydCwg
YXNzdW1pbmcgd2UgYXJlIHJ1bm5pbmcgdW5kZXIgd3B0c2VydmUuCisgKiBAcGFyYW0geyp9IGxv
YyAtIGNhbiBiZSBMb2NhdGlvbi88YT4vPGFyZWE+L1VSTCwgYnV0IGFzc3VtZXMgaHR0cC9odHRw
cyBvbmx5LgorICogQHJldHVybnMge3N0cmluZ30gVGhlIHBvcnQgbnVtYmVyLgorICovCiBmdW5j
dGlvbiBnZXRfcG9ydChsb2MpIHsKLSAgLy8gV2hlbiBhIGRlZmF1bHQgcG9ydCBpcyB1c2VkLCBs
b2NhdGlvbi5wb3J0IHJldHVybnMgdGhlIGVtcHR5IHN0cmluZy4KLSAgLy8gVG8gY29tcGFyZSB3
aXRoIHdwdHNlcnZlIGBwb3J0c2Agc3Vic3RpdHV0aW9uIHdlIG5lZWQgYSBwb3J0Li4uCi0gIC8v
IGxvYyBjYW4gYmUgTG9jYXRpb24vPGE+LzxhcmVhPi9VUkwsIGJ1dCBhc3N1bWVzIGh0dHAvaHR0
cHMgb25seS4KICAgaWYgKGxvYy5wb3J0KSB7CiAgICAgcmV0dXJuIGxvYy5wb3J0OwogICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9tZWRpYS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL21lZGlhLmpzCmluZGV4IDdjZWExYWM5YjNjYWNlMzU2Y2JmNjYxZGQ0NWUxYzlk
YzE1NjkxN2YuLmU5YjFlNmIwZmJlNmFlOWE0NWI4YmZjNGQ5MjA4NDFiYjc0ODEzYzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L21lZGlhLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL21lZGlhLmpzCkBAIC0xLDYgKzEsOCBAQAotLy8KLS8vIFJldHVybnMgdGhlIFVS
SSBvZiBhIHN1cHBvcnRlZCB2aWRlbyBzb3VyY2UgYmFzZWQgb24gdGhlIHVzZXIgYWdlbnQKLS8v
CisvKioKKyAqIFJldHVybnMgdGhlIFVSTCBvZiBhIHN1cHBvcnRlZCB2aWRlbyBzb3VyY2UgYmFz
ZWQgb24gdGhlIHVzZXIgYWdlbnQKKyAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIC0gbWVkaWEgVVJM
IHdpdGhvdXQgZmlsZSBleHRlbnNpb24KKyAqIEByZXR1cm5zIHtzdHJpbmd9CisgKi8KIGZ1bmN0
aW9uIGdldFZpZGVvVVJJKGJhc2UpCiB7CiAgICAgdmFyIGV4dGVuc2lvbiA9ICcubXA0JzsKQEAg
LTE2LDkgKzE4LDExIEBAIGZ1bmN0aW9uIGdldFZpZGVvVVJJKGJhc2UpCiAgICAgcmV0dXJuIGJh
c2UgKyBleHRlbnNpb247CiB9CiAKLS8vCi0vLyBSZXR1cm5zIHRoZSBVUkkgb2YgYSBzdXBwb3J0
ZWQgYXVkaW8gc291cmNlIGJhc2VkIG9uIHRoZSB1c2VyIGFnZW50Ci0vLworLyoqCisgKiBSZXR1
cm5zIHRoZSBVUkwgb2YgYSBzdXBwb3J0ZWQgYXVkaW8gc291cmNlIGJhc2VkIG9uIHRoZSB1c2Vy
IGFnZW50CisgKiBAcGFyYW0ge3N0cmluZ30gYmFzZSAtIG1lZGlhIFVSTCB3aXRob3V0IGZpbGUg
ZXh0ZW5zaW9uCisgKiBAcmV0dXJucyB7c3RyaW5nfQorICovCiBmdW5jdGlvbiBnZXRBdWRpb1VS
SShiYXNlKQogewogICAgIHZhciBleHRlbnNpb24gPSAnLm1wMyc7CkBAIC0zNCw2ICszOCwxMSBA
QCBmdW5jdGlvbiBnZXRBdWRpb1VSSShiYXNlKQogICAgIHJldHVybiBiYXNlICsgZXh0ZW5zaW9u
OwogfQogCisvKioKKyAqIFJldHVybnMgdGhlIE1JTUUgdHlwZSBmb3IgYSBtZWRpYSBVUkwgYmFz
ZWQgb24gdGhlIGZpbGUgZXh0ZW5zaW9uLgorICogQHBhcmFtIHtzdHJpbmd9IHVybAorICogQHJl
dHVybnMge3N0cmluZ30KKyAqLwogZnVuY3Rpb24gZ2V0TWVkaWFDb250ZW50VHlwZSh1cmwpIHsK
ICAgICB2YXIgZXh0ZW5zaW9uID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uKS5wYXRobmFtZS5zcGxp
dCgiLiIpLnBvcCgpOwogICAgIHZhciBtYXAgPSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9vYmplY3QtYXNzb2NpYXRpb24u
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9v
YmplY3QtYXNzb2NpYXRpb24uanMKaW5kZXggZDU4Zjk0YjYyZDY1MmFkMjg3OWViODM4MjFiYTI3
OGI1NjAwNmY3Yi4uNDU4YWFlNjdkYjBjZWYwY2U4MzA2YjZjMmI1NjI5N2IzNDRlZTYxNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vb2JqZWN0LWFzc29jaWF0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL29iamVjdC1hc3NvY2lhdGlvbi5qcwpAQCAtMiw2ICsy
LDEwIEBACiAKIC8vIEZvciBub3cgdGhpcyBvbmx5IGhhcyBwZXItV2luZG93IHRlc3RzLCBidXQg
d2UgY291bGQgZXhwYW5kIGl0IHRvIGFsc28gdGVzdCBwZXItRG9jdW1lbnQKIAorLyoqCisgKiBS
dW4gdGVzdHMgZm9yIHdpbmRvd1twcm9wZXJ0eU5hbWVdIGFmdGVyIGRpc2NhcmRpbmcgdGhlIGJy
b3dzaW5nIGNvbnRleHQsIG5hdmlnYXRpbmcsIGV0Yy4KKyAqIEBwYXJhbSB7c3RyaW5nfSBwcm9w
ZXJ0eU5hbWUKKyAqLwogd2luZG93LnRlc3RJc1BlcldpbmRvdyA9IHByb3BlcnR5TmFtZSA9PiB7
CiAgIHRlc3QodCA9PiB7CiAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9yZWRpcmVjdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CmluZGV4IDNmMTVlZmZjMDU5
ZTdmZDQ2MzYyZTdlZTViNGNiZWIyZDIxOGE0YWEuLmYyZmQxZWJkNTFkNGFkNWY0ZWYwNTgyNTEw
NjAwZWIzNzMxZmQyYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CkBAIC02LDE0ICs2
LDE0IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBsb2NhdGlvbiAtIFRoZSBy
ZXNvdXJjZSB0byByZWRpcmVjdCB0by4KICAgICAiIiIKICAgICBzdGF0dXMgPSAzMDIKLSAgICBp
ZiAic3RhdHVzIiBpbiByZXF1ZXN0LkdFVDoKKyAgICBpZiBiInN0YXR1cyIgaW4gcmVxdWVzdC5H
RVQ6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHN0YXR1cyA9IGludChyZXF1ZXN0LkdFVC5m
aXJzdCgic3RhdHVzIikpCisgICAgICAgICAgICBzdGF0dXMgPSBpbnQocmVxdWVzdC5HRVQuZmly
c3QoYiJzdGF0dXMiKSkKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICBw
YXNzCiAKICAgICByZXNwb25zZS5zdGF0dXMgPSBzdGF0dXMKIAotICAgIGxvY2F0aW9uID0gcmVx
dWVzdC5HRVQuZmlyc3QoImxvY2F0aW9uIikKKyAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZp
cnN0KGIibG9jYXRpb24iKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwg
bG9jYXRpb24pCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJMb2NhdGlvbiIsIGxvY2F0aW9u
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vcmVmdGVzdC13YWl0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vcmVmdGVzdC13YWl0LmpzCmluZGV4IDg3ODE2ZjgzNDUyMjVk
ZWU1MzIwYTAyZjk3OTU0NDU1NzEzZTNjNzguLjBhMzBhMTk3ZjA3ZjRkZmRlOThmYTNhOTQ2MGQz
OWEzZjVkNzcwYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29tbW9uL3JlZnRlc3Qtd2FpdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZWZ0ZXN0LXdhaXQuanMKQEAgLTEs
NyArMSwxOCBAQAorLyoqCisgKiBSZW1vdmUgdGhlIGByZWZ0ZXN0LXdhaXRgIGNsYXNzIG9uIHRo
ZSBkb2N1bWVudCBlbGVtZW50LgorICogVGhlIHJlZnRlc3QgcnVubmVyIHdpbGwgd2FpdCB3aXRo
IHRha2luZyBhIHNjcmVlbnNob3Qgd2hpbGUKKyAqIHRoaXMgY2xhc3MgaXMgcHJlc2VudC4KKyAq
CisgKiBTZWUgaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvcmVm
dGVzdHMuaHRtbCNjb250cm9sbGluZy13aGVuLWNvbXBhcmlzb24tb2NjdXJzCisgKi8KIGZ1bmN0
aW9uIHRha2VTY3JlZW5zaG90KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCJyZWZ0ZXN0LXdhaXQiKTsKIH0KIAorLyoqCisgKiBDYWxsIGB0YWtlU2Ny
ZWVuc2hvdCgpYCBhZnRlciBhIGRlbGF5IG9mIGF0IGxlYXN0IHx0aW1lb3V0fCBtaWxsaXNlY29u
ZHMuCisgKiBAcGFyYW0ge251bWJlcn0gdGltZW91dCAtIG1pbGxpc2Vjb25kcworICovCiBmdW5j
dGlvbiB0YWtlU2NyZWVuc2hvdERlbGF5ZWQodGltZW91dCkgewogICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CiAgICAgICAgIHRha2VTY3JlZW5zaG90KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZW5kZXJpbmctdXRp
bHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9yZW5kZXJpbmctdXRpbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYyODNiZDVkMDc4YTE0OTIyZTI0MTYw
MDUzMDE3YjZlOGNiMDcyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlbmRlcmluZy11dGlscy5qcwpAQCAtMCww
ICsxLDE5IEBACisidXNlIHN0cmljdCI7CisKKy8qKgorICogV2FpdHMgdW50aWwgd2UgaGF2ZSBh
dCBsZWFzdCBvbmUgZnJhbWUgcmVuZGVyZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIGVuZ2luZS4KKyAq
CisgKiBAcmV0dXJucyB7UHJvbWlzZX0KKyAqLworZnVuY3Rpb24gd2FpdEZvckF0TGVhc3RPbmVG
cmFtZSgpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIC8vIERpZmZl
cmVudCB3ZWIgZW5naW5lcyB3b3JrIHNsaWdodGx5IGRpZmZlcmVudCBvbiB0aGlzIGFyZWEgYnV0
IHdhaXRpbmcKKyAgICAvLyBmb3IgdHdvIHJlcXVlc3RBbmltYXRpb25GcmFtZXMoKSB0byBoYXBw
ZW4sIG9uZSBhZnRlciBhbm90aGVyLCBzaG91bGQgYmUKKyAgICAvLyBzdWZmaWNpZW50IHRvIGVu
c3VyZSBhdCBsZWFzdCBvbmUgZnJhbWUgaGFzIGJlZW4gZ2VuZXJhdGVkIGFueXdoZXJlLgorICAg
IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgd2luZG93LnJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0pOwor
ICAgIH0pOworICB9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NhYi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NhYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2ZkMWE3NDJl
NjRmNjY3NDRiNDE2NTg0OTUyZWZmZTI5ZmRhMjA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2FiLmpzCkBAIC0w
LDAgKzEsMTMgQEAKK2NvbnN0IGNyZWF0ZUJ1ZmZlciA9ICgoKSA9PiB7CisgIC8vIFNlZSBodHRw
czovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9yIHdoeSBub3QgYG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcigpYAorICBjb25zdCBzYWJDb25zdHJ1Y3RvciA9IG5ldyBXZWJBc3Nl
bWJseS5NZW1vcnkoeyBzaGFyZWQ6dHJ1ZSwgaW5pdGlhbDowLCBtYXhpbXVtOjAgfSkuYnVmZmVy
LmNvbnN0cnVjdG9yOworICByZXR1cm4gKHR5cGUsIGxlbmd0aCkgPT4geworICAgIGlmICh0eXBl
ID09PSAiQXJyYXlCdWZmZXIiKSB7CisgICAgICByZXR1cm4gbmV3IEFycmF5QnVmZmVyKGxlbmd0
aCk7CisgICAgfSBlbHNlIGlmICh0eXBlID09PSAiU2hhcmVkQXJyYXlCdWZmZXIiKSB7CisgICAg
ICByZXR1cm4gbmV3IHNhYkNvbnN0cnVjdG9yKGxlbmd0aCk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHRocm93IG5ldyBFcnJvcigidHlwZSBoYXMgdG8gYmUgQXJyYXlCdWZmZXIgb3IgU2hhcmVkQXJy
YXlCdWZmZXIiKTsKKyAgICB9CisgIH0KK30pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9S
RUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9SRUFETUUubWQKaW5kZXggOThhZmUxYWYxYmU4ZDYzMjlm
OWFlNjg3MzIwZDRiZDQ3OTdjYTJjOC4uZmI5YTJmMTA4ZjlmYWY2OGJiODZmMGJkOWY4NDhkYmQy
ODYzMGNhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvUkVBRE1FLm1kCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL1JFQURNRS5tZApAQCAtMSw1ICsxLDMgQEAKLQotCiBUaGlzIGRpcmVjdG9yeSBjb250YWlu
cyB0aGUgY29tbW9uIGluZnJhc3RydWN0dXJlIGZvciB0aGUgZm9sbG93aW5nIHRlc3RzIChhbHNv
IHJlZmVycmVkIGJlbG93IGFzIHByb2plY3RzKS4KIAogLSByZWZlcnJlci1wb2xpY3kvCkBAIC0y
NSw3ICsyMyw3IEBAIFN1YmRpcmVjdG9yaWVzOgogCiAjIFRlc3QgZ2VuZXJhdG9yCiAKLVRoZSB0
ZXN0IGdlbmVyYXRvciAoYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29sc2ApIGdlbmVyYXRl
cyB0ZXN0IEhUTUwgZmlsZXMgZnJvbSB0ZW1wbGF0ZXMgYW5kIGEgc2VlZCAoYHNwZWMuc3JjLmpz
b25gKSB0aGF0IGRlZmluZXMgYWxsIHRoZSB0ZXN0IHNjZW5hcmlvcy4KK1RoZSB0ZXN0IGdlbmVy
YXRvciAoW2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9nZW5lcmF0ZS5weV0odG9vbHMv
Z2VuZXJhdGUucHkpKSBnZW5lcmF0ZXMgdGVzdCBIVE1MIGZpbGVzIGZyb20gdGVtcGxhdGVzIGFu
ZCBhIHNlZWQgKGBzcGVjLnNyYy5qc29uYCkgdGhhdCBkZWZpbmVzIGFsbCB0aGUgdGVzdCBzY2Vu
YXJpb3MuCiAKIFRoZSBwcm9qZWN0IChpLmUuIGEgV1BUIHN1YmRpcmVjdG9yeSwgZm9yIGV4YW1w
bGUgYHJlZmVycmVyLXBvbGljeS9gKSB0aGF0IHVzZXMgdGhlIGdlbmVyYXRvciBzaG91bGQgZGVm
aW5lIHBlci1wcm9qZWN0IGRhdGEgYW5kIGludm9rZSB0aGUgY29tbW9uIGdlbmVyYXRvciBsb2dp
YyBpbiBgY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzYC4KIApAQCAtMzQsMzMgKzMyLDQz
IEBAIFRoaXMgaXMgdGhlIG92ZXJ2aWV3IG9mIHRoZSBwcm9qZWN0IHN0cnVjdHVyZToKIGBgYAog
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzLwog4pSU4pSA4pSAIHRvb2xzLyAtIHRoZSBjb21tb24g
dGVzdCBnZW5lcmF0b3IgbG9naWMKKyAgICDilJzilIDilIAgc3BlYy5zcmMuanNvbgogICAgIOKU
lOKUgOKUgCB0ZW1wbGF0ZS8gLSB0aGUgdGVzdCBmaWxlcyB0ZW1wbGF0ZXMKIHByb2plY3QtZGly
ZWN0b3J5LyAoZS5nLiByZWZlcnJlci1wb2xpY3kvKQog4pSc4pSA4pSAIHNwZWMuc3JjLmpzb24K
IOKUnOKUgOKUgCBnZW5lcmljLwog4pSCICAg4pSc4pSA4pSAIHRlc3QtY2FzZS5zdWIuanMgLSBQ
ZXItcHJvamVjdCB0ZXN0IGhlbHBlcgot4pSCICAg4pSU4pSA4pSAIHRvb2xzLwot4pSCICAgICAg
IOKUlOKUgOKUgCBnZW5lcmF0b3IucHkgLSBQZXItcHJvamVjdCBnZW5lcmF0b3Igc2NyaXB0Civi
lIIgICDilJzilIDilIAgc2FuaXR5LWNoZWNrZXIuanMgKFVzZWQgYnkgZGVidWcgdGFyZ2V0IG9u
bHkpCivilIIgICDilJTilIDilIAgc3BlY19qc29uLmpzIChVc2VkIGJ5IGRlYnVnIHRhcmdldCBv
bmx5KQog4pSU4pSA4pSAIGdlbi8gLSBnZW5lcmF0ZWQgdGVzdHMKIGBgYAogCi1JbnZva2luZyBg
cHJvamVjdC1kaXJlY3RvcnkvZ2VuZXJpYy90b29scy9nZW5lcmF0ZS5weWAgd2lsbCBwYXJzZSB0
aGUgc3BlYyBKU09OIGFuZCBkZXRlcm1pbmUgd2hpY2ggdGVzdHMgdG8gZ2VuZXJhdGUgKG9yIHNr
aXApIHdoaWxlIHVzaW5nIHRlbXBsYXRlcy4KLQogIyMgR2VuZXJhdGluZyB0aGUgdGVzdHMKIAot
VGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBnZW5lcmF0ZWQgdGVzdHMsIHNvIGlmIHlv
dSdyZSBtYWtpbmcgY2hhbmdlcywgc2VlIHRoZSBbUmVtb3ZpbmcgYWxsIGdlbmVyYXRlZCB0ZXN0
c10oI3JlbW92aW5nLWFsbC1nZW5lcmF0ZWQtdGVzdHMpIHNlY3Rpb24gYmVsb3csIG9uIGhvdyB0
byByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN0YXJ0IGdlbmVyYXRpbmcgdGVzdHMgd2hpY2ggaW5j
bHVkZSB5b3VyIGNoYW5nZXMuCitOb3RlOiBXaGVuIHRoZSByZXBvc2l0b3J5IGFscmVhZHkgY29u
dGFpbnMgZ2VuZXJhdGVkIHRlc3RzLCBbcmVtb3ZlIGFsbCBnZW5lcmF0ZWQgdGVzdHNdKCNyZW1v
dmluZy1hbGwtZ2VuZXJhdGVkLXRlc3RzKSBmaXJzdC4KIAogYGBgYmFzaAotIyBDaGRpciBpbnRv
IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS4KLWNkIH4vd2ViLXBsYXRmb3JtLXRlc3RzL3Byb2plY3Qt
ZGlyZWN0b3J5CisjIEluc3RhbGwganNvbjUgbW9kdWxlIGlmIG5lZWRlZC4KK3BpcCBpbnN0YWxs
IC0tdXNlciBqc29uNQogCiAjIEdlbmVyYXRlIHRoZSB0ZXN0IGZpbGVzIHVuZGVyIGdlbi8gKEhU
TUxzIGFuZCAuaGVhZGVycyBmaWxlcykuCi0uL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUucHkKK3Bh
dGgvdG8vY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL2dlbmVyYXRlLnB5IC0tc3BlYyBw
YXRoL3RvL3Byb2plY3QtZGlyZWN0b3J5LwogCiAjIEFkZCBhbGwgZ2VuZXJhdGVkIHRlc3RzIHRv
IHRoZSByZXBvLgotZ2l0IGFkZCBnZW4vICYmIGdpdCBjb21taXQgLW0gIkFkZCBnZW5lcmF0ZWQg
dGVzdHMiCitnaXQgYWRkIHBhdGgvdG8vcHJvamVjdC1kaXJlY3RvcnkvZ2VuLyAmJiBnaXQgY29t
bWl0IC1tICJBZGQgZ2VuZXJhdGVkIHRlc3RzIgogYGBgCiAKK1RoaXMgd2lsbCBwYXJzZSB0aGUg
c3BlYyBKU09ONSBmaWxlcyBhbmQgZGV0ZXJtaW5lIHdoaWNoIHRlc3RzIHRvIGdlbmVyYXRlIChv
ciBza2lwKSB3aGlsZSB1c2luZyB0ZW1wbGF0ZXMuCisKKy0gVGhlIGRlZmF1bHQgc3BlYyBKU09O
NTogYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9zcGVjLnNyYy5qc29uYC4KKyAgICAt
IERlc2NyaWJlcyBjb21tb24gY29uZmlndXJhdGlvbnMsIHN1Y2ggYXMgc3VicmVzb3VyY2UgdHlw
ZXMsIHNvdXJjZSBjb250ZXh0IHR5cGVzLCBldGMuCistIFRoZSBwZXItcHJvamVjdCBzcGVjIEpT
T041OiBgcHJvamVjdC1kaXJlY3Rvcnkvc3BlYy5zcmMuanNvbmAuCisgICAgLSBEZXNjcmliZXMg
cHJvamVjdC1zcGVjaWZpYyBjb25maWd1cmF0aW9ucywgcGFydGljdWxhcmx5IHRob3NlIHJlbGF0
ZWQgdG8gdGVzdCBnZW5lcmF0aW9uIHBhdHRlcm5zIChgc3BlY2lmaWNhdGlvbmApLCBwb2xpY3kg
ZGVsaXZlcmllcyAoZS5nLiBgZGVsaXZlcnlfdHlwZWAsIGBkZWxpdmVyeV92YWx1ZWApIGFuZCBg
ZXhwZWN0YXRpb25gLgorCitGb3IgaG93IHRoZXNlIHR3byBzcGVjIEpTT041IGZpbGVzIGFyZSBt
ZXJnZWQsIHNlZSBbU3ViIHByb2plY3RzXSgjc3ViLXByb2plY3RzKSBzZWN0aW9uLgorCitOb3Rl
OiBgc3BlYy5zcmMuanNvbmAgaXMgdHJhbnNpdGlvbmluZyB0byBKU09ONSBbIzIxNzEwXShodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjE3MTApLgorCiBE
dXJpbmcgdGhlIGdlbmVyYXRpb24sIHRoZSBzcGVjIGlzIHZhbGlkYXRlZCBieSBgYGBjb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlY192YWxpZGF0b3IucHlgYGAuIFRoaXMgaXMgc3Bl
Y2lhbGx5IGltcG9ydGFudCB3aGVuIHlvdSdyZSBtYWtpbmcgY2hhbmdlcyB0byAgYHNwZWMuc3Jj
Lmpzb25gLiBNYWtlIHN1cmUgaXQncyBhIHZhbGlkIEpTT04gKG5vIGNvbW1lbnRzIG9yIHRyYWls
aW5nIGNvbW1hcykuIFRoZSB2YWxpZGF0b3IgcmVwb3J0cyBzcGVjaWZpYyBlcnJvcnMgKG1pc3Np
bmcga2V5cyBldGMuKSwgaWYgYW55LgogCiAjIyMgUmVtb3ZpbmcgYWxsIGdlbmVyYXRlZCB0ZXN0
cwpAQCAtNjgsMTggKzc2LDE0IEBAIER1cmluZyB0aGUgZ2VuZXJhdGlvbiwgdGhlIHNwZWMgaXMg
dmFsaWRhdGVkIGJ5IGBgYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29sCiBTaW1wbHkgcmVt
b3ZlIGFsbCBmaWxlcyB1bmRlciBgcHJvamVjdC1kaXJlY3RvcnkvZ2VuL2AuCiAKIGBgYGJhc2gK
LSMgQ2hkaXIgaW50byB0aGUgcHJvamVjdCBkaXJlY3RvcnkuCi1jZCB+L3dlYi1wbGF0Zm9ybS10
ZXN0cy9wcm9qZWN0LWRpcmVjdG9yeQotCi0jIFJlbW92ZSBhbGwgZ2VuZXJhdGVkIHRlc3RzLgot
cm0gLXIgZ2VuLworcm0gLXIgcGF0aC90by9wcm9qZWN0LWRpcmVjdG9yeS9nZW4vCiBgYGAKIAog
IyMjIE9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgdGVzdHMKIAogTm90ZTogdGhpcyBzZWN0aW9uIGlz
IGN1cnJlbnRseSBvYnNvbGV0ZS4gT25seSB0aGUgcmVsZWFzZSB0ZW1wbGF0ZSBpcyB3b3JraW5n
LgogCi1UaGUgZ2VuZXJhdG9yIHNjcmlwdCBgYGAuL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUucHlg
YGAgaGFzIHR3byB0YXJnZXRzOiBgYGByZWxlYXNlYGBgIGFuZCBgYGBkZWJ1Z2BgYC4KK1RoZSBn
ZW5lcmF0b3Igc2NyaXB0IGhhcyB0d28gdGFyZ2V0czogYGBgcmVsZWFzZWBgYCBhbmQgYGBgZGVi
dWdgYGAuCiAKICogVXNpbmcgKipyZWxlYXNlKiogZm9yIHRoZSB0YXJnZXQgd2lsbCBwcm9kdWNl
IHRlc3RzIHVzaW5nIGEgdGVtcGxhdGUgZm9yIG9wdGltaXppbmcgc2l6ZSBhbmQgcGVyZm9ybWFu
Y2UuIFRoZSByZWxlYXNlIHRlbXBsYXRlIGlzIGludGVuZGVkIGZvciB0aGUgb2ZmaWNpYWwgd2Vi
LXBsYXRmb3JtLXRlc3RzIGFuZCBwb3NzaWJseSBvdGhlciB0ZXN0IHN1aXRlcy4gTm8gc2FuaXR5
IGNoZWNraW5nIGlzIGRvbmUgaW4gcmVsZWFzZSBtb2RlLiBVc2UgdGhpcyBvcHRpb24gd2hlbmV2
ZXIgeW91J3JlIGNoZWNraW5nIGludG8gd2ViLXBsYXRmb3JtLXRlc3RzLgogCkBAIC04OCw2ICs5
Miw0MSBAQCBUaGUgZ2VuZXJhdG9yIHNjcmlwdCBgYGAuL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUu
cHlgYGAgaGFzIHR3byB0YXJnZXRzOiBgYGByZWxlYQogTm90ZSB0aGF0ICoqcmVsZWFzZSoqIGlz
IHRoZSBkZWZhdWx0IHRhcmdldCB3aGVuIGludm9raW5nIGBgYGdlbmVyYXRlLnB5YGBgLgogCiAK
KyMjIFN1YiBwcm9qZWN0cworCitQcm9qZWN0cyBjYW4gYmUgbmVzdGVkLCBmb3IgZXhhbXBsZSB0
byByZXVzZSBhIHNpbmdsZSBgc3BlYy5zcmMuanNvbmAgYWNyb3NzIHNpbWlsYXIgYnV0IHNsaWdo
dGx5IGRpZmZlcmVudCBzZXRzIG9mIGdlbmVyYXRlZCB0ZXN0cy4KK1RoZSBkaXJlY3Rvcnkgc3Ry
dWN0dXJlIHdvdWxkIGxvb2sgbGlrZToKKworYGBgCitwcm9qZWN0LWRpcmVjdG9yeS8gKGUuZy4g
cmVmZXJyZXItcG9saWN5LykKK+KUnOKUgOKUgCBzcGVjLnNyYy5qc29uIC0gUGFyZW50IHByb2pl
Y3QncyBzcGVjIEpTT04KK+KUnOKUgOKUgCBnZW5lcmljLwor4pSCICAg4pSU4pSA4pSAIHRlc3Qt
Y2FzZS5zdWIuanMgLSBQYXJlbnQgcHJvamVjdCdzIHRlc3QgaGVscGVyCivilJzilIDilIAgZ2Vu
LyAtIHBhcmVudCBwcm9qZWN0J3MgZ2VuZXJhdGVkIHRlc3RzCivilJTilIDilIAgc3ViLXByb2pl
Y3QtZGlyZWN0b3J5LyAoZS5nLiA0SykKKyAgICDilJzilIDilIAgc3BlYy5zcmMuanNvbiAtIENo
aWxkIHByb2plY3QncyBzcGVjIEpTT04KKyAgICDilJzilIDilIAgZ2VuZXJpYy8KKyAgICDilIIg
ICDilJTilIDilIAgdGVzdC1jYXNlLnN1Yi5qcyAtIENoaWxkIHByb2plY3QncyB0ZXN0IGhlbHBl
cgorICAgIOKUlOKUgOKUgCBnZW4vIC0gY2hpbGQgcHJvamVjdCdzIGdlbmVyYXRlZCB0ZXN0cwor
YGBgCisKK2BnZW5lcmF0ZS5weSAtLXNwZWMgcHJvamVjdC1kaXJlY3Rvcnkvc3ViLXByb2plY3Qt
ZGlyZWN0b3J5YCBnZW5lcmF0ZXMgdGVzdCBmaWxlcyB1bmRlciBgcHJvamVjdC1kaXJlY3Rvcnkv
c3ViLXByb2plY3QtZGlyZWN0b3J5L2dlbmAsIGJhc2VkIG9uIGBwcm9qZWN0LWRpcmVjdG9yeS9z
cGVjLnNyYy5qc29uYCBhbmQgYHByb2plY3QtZGlyZWN0b3J5L3N1Yi1wcm9qZWN0LWRpcmVjdG9y
eS9zcGVjLnNyYy5qc29uYC4KKworLSBUaGUgY2hpbGQgcHJvamVjdCdzIGBzcGVjLnNyYy5qc29u
YCBpcyBtZXJnZWQgaW50byBwYXJlbnQgcHJvamVjdCdzIGBzcGVjLnNyYy5qc29uYC4KKyAgICAt
IFR3byBzcGVjIEpTT04gb2JqZWN0cyBhcmUgbWVyZ2VkIHJlY3Vyc2l2ZWx5LgorICAgIC0gSWYg
YSBzYW1lIGtleSBleGlzdHMgaW4gYm90aCBvYmplY3RzLCB0aGUgY2hpbGQncyB2YWx1ZSBvdmVy
d3JpdGVzIHRoZSBwYXJlbnQncyB2YWx1ZS4KKyAgICAgICAgLSBJZiBib3RoIChjaGlsZCdzIGFu
ZCBwYXJlbnQncykgdmFsdWVzIGFyZSBhcnJheXMsIHRoZW4gdGhlIGNoaWxkJ3MgdmFsdWUgaXMg
Y29uY2F0ZW5hdGVkIHRvIHRoZSBwYXJlbnQncyB2YWx1ZS4KKyAgICAtIEZvciBkZWJ1Z2dpbmcs
IGBnZW5lcmF0ZS5weWAgZHVtcHMgdGhlIG1lcmdlZCBzcGVjIEpTT04gb2JqZWN0IGFzIGBnZW5l
cmljL2RlYnVnLW91dHB1dC5zcGVjLnNyYy5qc29uYC4KKy0gVGhlIGNoaWxkIHByb2plY3QncyBn
ZW5lcmF0ZWQgdGVzdHMgaW5jbHVkZSBib3RoIG9mIHRoZSBwYXJlbnQgYW5kIGNoaWxkIHByb2pl
Y3QncyBgdGVzdC1jYXNlLnN1Yi5qc2A6CisgIGBgYGh0bWwKKyAgPHNjcmlwdCBzcmM9InByb2pl
Y3QtZGlyZWN0b3J5L3Rlc3QtY2FzZS5zdWIuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0i
cHJvamVjdC1kaXJlY3Rvcnkvc3ViLXByb2plY3QtZGlyZWN0b3J5L3Rlc3QtY2FzZS5zdWIuanMi
Pjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgIFRlc3RDYXNlKC4uLik7CisgIDwvc2NyaXB0Pgor
ICBgYGAKKworCiAjIyBVcGRhdGluZyB0aGUgdGVzdHMKIAogVGhlIG1haW4gdGVzdCBsb2dpYyBs
aXZlcyBpbiBgYGBwcm9qZWN0LWRpcmVjdG9yeS9nZW5lcmljL3Rlc3QtY2FzZS5zdWIuanNgYGAg
d2l0aCBoZWxwZXIgZnVuY3Rpb25zIGRlZmluZWQgaW4gYGBgL2NvbW1vbi9zZWN1cml0eS1mZWF0
dXJlcy9yZXNvdXJjZXMvY29tbW9uLmpzYGBgIHNvIHlvdSBzaG91bGQgcHJvYmFibHkgc3RhcnQg
dGhlcmUuCkBAIC0xMjksMTIgKzE2OCwxNSBAQCBGb3IgdXBkYXRpbmcgdGhlIHRlc3Qgc3VpdGVz
IHlvdSB3aWxsIG1vc3QgbGlrZWx5IGRvICoqYSBzdWJzZXQqKiBvZiB0aGUgZm9sbG93aQogCiAq
IFJlZ2VuZXJhdGUgdGhlIHRlc3RzIGFuZCBNQU5JRkVTVC5qc29uCiAKKyMjIEhvdyB0aGUgZ2Vu
ZXJhdG9yIHdvcmtzCiAKLSMjIFRoZSBzcGVjIEpTT04gZm9ybWF0CitUaGlzIHNlY3Rpb24gZGVz
Y3JpYmVzIGhvdyBgc3BlYy5zcmMuanNvbmAgaXMgdHVybmVkIGludG8gc2NlbmFyaW8gZGF0YSBp
biB0ZXN0IEhUTUwgZmlsZXMgd2hpY2ggYXJlIHRoZW4gcHJvY2Vzc2VkIGJ5IEphdmFTY3JpcHQg
dGVzdCBoZWxwZXJzIGFuZCBzZXJ2ZXItc2lkZSBzY3JpcHRzLCBhbmQgZGVzY3JpYmVzIHRoZSBv
YmplY3RzL3R5cGVzIHVzZWQgaW4gdGhlIHByb2Nlc3MuCiAKLUZvciBleGFtcGxlcyBvZiBzcGVj
IEpTT04gZmlsZXMsIHNlZSBbcmVmZXJyZXItcG9saWN5L3NwZWMuc3JjLmpzb25dKC4uLy4uL3Jl
ZmVycmVyLXBvbGljeS9zcGVjLnNyYy5qc29uKSBvciAgW21peGVkLWNvbnRlbnQvc3BlYy5zcmMu
anNvbl0oLi4vLi4vbWl4ZWQtY29udGVudC9zcGVjLnNyYy5qc29uKS4KKyMjIyBUaGUgc3BlYyBK
U09OCiAKLSMjIyBNYWluIHNlY3Rpb25zCitgc3BlYy5zcmMuanNvbmAgaXMgdGhlIGlucHV0IGZv
ciB0aGUgZ2VuZXJhdG9yIHRoYXQgZGVmaW5lcyB3aGF0IHRvIGdlbmVyYXRlLiBGb3IgZXhhbXBs
ZXMgb2Ygc3BlYyBKU09OIGZpbGVzLCBzZWUgW3JlZmVycmVyLXBvbGljeS9zcGVjLnNyYy5qc29u
XSguLi8uLi9yZWZlcnJlci1wb2xpY3kvc3BlYy5zcmMuanNvbikgb3IgIFttaXhlZC1jb250ZW50
L3NwZWMuc3JjLmpzb25dKC4uLy4uL21peGVkLWNvbnRlbnQvc3BlYy5zcmMuanNvbikuCisKKyMj
IyMgTWFpbiBzZWN0aW9ucwogCiAqICoqYHNwZWNpZmljYXRpb25gKioKIApAQCAtMTQzLDcgKzE4
NSw3IEBAIEZvciBleGFtcGxlcyBvZiBzcGVjIEpTT04gZmlsZXMsIHNlZSBbcmVmZXJyZXItcG9s
aWN5L3NwZWMuc3JjLmpzb25dKC4uLy4uL3JlZmVyCiAKICogKipgZXhjbHVkZWRfdGVzdHNgKioK
IAotICBMaXN0IG9mIGBgYHRlc3RfZXhwYW5zaW9uYGBgIHBhdHRlcm5zIGV4cGFuZGluZyBpbnRv
IHNlbGVjdGlvbnMgd2hpY2ggZ2V0IHNraXBwZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSB0ZXN0cyAo
YWthLiBibGFja2xpc3Rpbmcvc3VwcHJlc3NpbmcpCisgIExpc3Qgb2YgYGBgdGVzdF9leHBhbnNp
b25gYGAgcGF0dGVybnMgZXhwYW5kaW5nIGludG8gc2VsZWN0aW9ucyB3aGljaCBnZXQgc2tpcHBl
ZCB3aGVuIGdlbmVyYXRpbmcgdGhlIHRlc3RzIChha2EuIGJsb2NrbGlzdGluZy9zdXBwcmVzc2lu
ZykKIAogKiAqKmB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgKioKIApAQCAtMTYwLDEwICsyMDIsMTEg
QEAgRm9yIGV4YW1wbGVzIG9mIHNwZWMgSlNPTiBmaWxlcywgc2VlIFtyZWZlcnJlci1wb2xpY3kv
c3BlYy5zcmMuanNvbl0oLi4vLi4vcmVmZXIKIAogKiAqKmBzb3VyY2VfY29udGV4dF9saXN0X3Nj
aGVtYWAqKgogCi0gIFByb3ZpZGVzIHBvc3NpYmxlIG5lc3RlZCBjb21iaW5hdGlvbnMgb2Ygc291
cmNlIGNvbnRleHRzLiBTZWUgW1NvdXJjZSBDb250ZXh0c10oI3NvdXJjZS1jb250ZXh0cykgc2Vj
dGlvbiBiZWxvdyBmb3IgZGV0YWlscy4KKyAgUHJvdmlkZXMgcG9zc2libGUgbmVzdGVkIGNvbWJp
bmF0aW9ucyBvZiBzb3VyY2UgY29udGV4dHMuIFNlZSBbU291cmNlQ29udGV4dHMgUmVzb2x1dGlv
bl0oI3NvdXJjZWNvbnRleHRzLXJlc29sdXRpb24pIHNlY3Rpb24gYmVsb3cgZm9yIGRldGFpbHMu
CiAKLSMjIyBUZXN0IEV4cGFuc2lvbiBQYXR0ZXJucworIyMjIFRlc3QgRXhwYW5zaW9uIFBhdHRl
cm4gT2JqZWN0CiAKK1Rlc3QgZXhwYW5zaW9uIHBhdHRlcm5zIChgdGVzdF9leHBhbnNpb25gcyBp
biBgc3BlY2lmaWNhdGlvbmAgc2VjdGlvbikgZGVmaW5lIHRoZSBjb21iaW5hdGlvbnMgb2YgdGVz
dCBjb25maWd1cmF0aW9ucyAoKnNlbGVjdGlvbnMqKSB0byBiZSBnZW5lcmF0ZWQuCiBFYWNoIGZp
ZWxkIGluIGEgdGVzdCBleHBhbnNpb24gY2FuIGJlIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZv
cm1hdHM6CiAKICogU2luZ2xlIG1hdGNoOiBgYGAidmFsdWUiYGBgCkBAIC0xNzIsMTM4ICsyMTUs
MjQ2IEBAIEVhY2ggZmllbGQgaW4gYSB0ZXN0IGV4cGFuc2lvbiBjYW4gYmUgaW4gb25lIG9mIHRo
ZSBmb2xsb3dpbmcgZm9ybWF0czoKIAogKiBNYXRjaCBhbGw6IGBgYCIqImBgYAogCitUaGUgZm9s
bG93aW5nIGZpZWxkcyBoYXZlIHNwZWNpYWwgbWVhbmluZzoKIAotKipOT1RFOioqIEFuIGV4cGFu
c2lvbiBpcyBhbHdheXMgY29uc3RydWN0aXZlIChpbmNsdXNpdmUpLCB0aGVyZSBpc24ndCBhIG5l
Z2F0aW9uIG9wZXJhdG9yIGZvciBleHBsaWNpdCBleGNsdXNpb24uIEJlIGF3YXJlIHRoYXQgdXNp
bmcgYW4gZW1wdHkgbGlzdCBgYGBbXWBgYCBtYXRjaGVzIChleHBhbmRzIGludG8pIGV4YWN0bHkg
bm90aGluZy4gVGVzdHMgd2hpY2ggYXJlIHRvIGJlIGV4Y2x1ZGVkIHNob3VsZCBiZSBkZWZpbmVk
IGluIHRoZSBgYGBleGNsdWRlZF90ZXN0c2BgYCBzZWN0aW9uIGluc3RlYWQuCistICoqYG5hbWVg
Kio6IGp1c3QgaWdub3JlZC4gKFByZXZpb3VzbHkgdGhpcyB3YXMgdXNlZCBhcyBhIHBhcnQgb2Yg
ZmlsZW5hbWVzIGJ1dCBub3cgdGhpcyBpcyBtZXJlbHkgYSBsYWJlbCBmb3IgaHVtYW4gYW5kIGlz
IG5ldmVyIHVzZWQgYnkgZ2VuZXJhdG9yLiBUaGlzIGZpZWxkIG1pZ2h0IGJlIHJlbW92ZWQgaW4g
dGhlIGZ1dHVyZSAoaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNz
dWVzLzIxNzA4KSkKKy0gKipgZXhwYW5zaW9uYCoqOiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25l
IHBhdHRlcm4gZXhwYW5kaW5nIGludG8gYSBzYW1lIHNlbGVjdGlvbiwgdGhlIHBhdHRlcm4gYXBw
ZWFyaW5nIGxhdGVyIGluIHRoZSBzcGVjIEpTT04gd2lsbCBvdmVyd3JpdGUgYSBwcmV2aW91c2x5
IGdlbmVyYXRlZCBzZWxlY3Rpb24uIFRvIG1ha2UgY2xlYXIgdGhpcyBpcyBpbnRlbnRpb25hbCwg
c2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGBgZXhwYW5zaW9uYGBgIGZpZWxkIHRvIGBgYGRlZmF1bHRg
YGAgZm9yIGFuIGV4cGFuc2lvbiBhcHBlYXJpbmcgZWFybGllciBhbmQgYGBgb3ZlcnJpZGVgYGAg
Zm9yIHRoZSBvbmUgYXBwZWFyaW5nIGxhdGVyLgogCi1BIHNpbmdsZSB0ZXN0IGV4cGFuc2lvbiBw
YXR0ZXJuLCBiZSBpdCBhIHJlcXVpcmVtZW50IG9yIGEgc3VwcHJlc3NlZCBwYXR0ZXJuLCBnZXRz
IGV4cGFuZGVkIGludG8gYSBsaXN0IG9mICoqc2VsZWN0aW9ucyoqIGFzIGZvbGxvd3M6CitGb3Ig
ZXhhbXBsZSBhIHRlc3QgZXhwYW5zaW9uIHBhdHRlcm4gKHRha2VuIGZyb20gW3JlZmVycmVyLXBv
bGljeS9zcGVjLnNyYy5qc29uXSguLi8uLi9yZWZlcnJlci1wb2xpY3kvc3BlYy5zcmMuanNvbiks
IHNvcnRlZC9mb3JtYXR0ZWQgZm9yIGV4cGxhbmF0aW9uKToKIAotKiBFeHBhbmQgZWFjaCBmaWVs
ZCdzIHBhdHRlcm4gKHNpbmdsZSwgYW55IG9mLCBvciBhbGwpIHRvIGxpc3Qgb2YgYWxsb3dlZCB2
YWx1ZXMgKGRlZmluZWQgYnkgdGhlIGBgYHRlc3RfZXhwYW5zaW9uX3NjaGVtYWBgYCkKK2BgYGpz
b24KK3sKKyAgIm5hbWUiOiAiaW5zZWN1cmUtcHJvdG9jb2wiLAorICAiZXhwYW5zaW9uIjogImRl
ZmF1bHQiLAorCisgICJkZWxpdmVyeV90eXBlIjogIioiLAorICAiZGVsaXZlcnlfdmFsdWUiOiAi
bm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiLAorICAic291cmNlX2NvbnRleHRfbGlzdCI6ICIq
IiwKKworICAiZXhwZWN0YXRpb24iOiAic3RyaXBwZWQtcmVmZXJyZXIiLAorICAib3JpZ2luIjog
WyJzYW1lLWh0dHAiLCAiY3Jvc3MtaHR0cCJdLAorICAicmVkaXJlY3Rpb24iOiAiKiIsCisgICJz
b3VyY2Vfc2NoZW1lIjogImh0dHAiLAorICAic3VicmVzb3VyY2UiOiAiKiIKK30KK2BgYAogCi0q
IFBlcm11dGUgLSBSZWN1cnNpdmVseSBlbnVtZXJhdGUgYWxsICoqc2VsZWN0aW9ucyoqIGFjcm9z
cyBhbGwgZmllbGRzCittZWFuczogIkFsbCBjb21iaW5hdGlvbnMgd2l0aCBhbGwgcG9zc2libGUg
YGRlbGl2ZXJ5X3R5cGVgLCAgYGRlbGl2ZXJ5X3ZhbHVlYD1gbm8tcmVmZXJyZXItd2hlbi1kb3du
Z3JhZGVgLCBhbGwgcG9zc2libGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgLCBgZXhwZWN0YXRpb25g
PWBzdHJpcHBlZC1yZWZlcnJlcmAsIGBvcmlnaW5gPWBzYW1lLWh0dHBgIG9yIGBjcm9zcy1odHRw
YCwgIGFsbCBwb3NzaWJsZSBgcmVkaXJlY3Rpb25gLCBgc291cmNlX3NjaGVtZWA9YGh0dHBgLCBh
bmQgYWxsIHBvc3NpYmxlIGBzdWJyZXNvdXJjZWAuCiAKLUJlIGF3YXJlIHRoYXQgaWYgdGhlcmUg
aXMgbW9yZSB0aGFuIG9uZSBwYXR0ZXJuIGV4cGFuZGluZyBpbnRvIGEgc2FtZSBzZWxlY3Rpb24s
IHRoZSBwYXR0ZXJuIGFwcGVhcmluZyBsYXRlciBpbiB0aGUgc3BlYyBKU09OIHdpbGwgb3Zlcndy
aXRlIGEgcHJldmlvdXNseSBnZW5lcmF0ZWQgc2VsZWN0aW9uLiBUbyBtYWtlIHN1cmUgdGhpcyBp
cyBub3QgdW5kZXRlY3RlZCB3aGVuIGdlbmVyYXRpbmcsIHNldCB0aGUgdmFsdWUgb2YgdGhlIGBg
YGV4cGFuc2lvbmBgYCBmaWVsZCB0byBgYGBkZWZhdWx0YGBgIGZvciBhbiBleHBhbnNpb24gYXBw
ZWFyaW5nIGVhcmxpZXIgYW5kIGBgYG92ZXJyaWRlYGBgIGZvciB0aGUgb25lIGFwcGVhcmluZyBs
YXRlci4KKyMjIyBTZWxlY3Rpb24gT2JqZWN0CiAKLUEgKipzZWxlY3Rpb24qKiBpcyBhIHNpbmds
ZSAqKnRlc3QgaW5zdGFuY2UqKiAoc2NlbmFyaW8pIHdpdGggZXhwbGljaXQgdmFsdWVzIHRoYXQg
ZGVmaW5lcyBhIHNpbmdsZSB0ZXN0LiBUaGUgc2NlbmFyaW8gaXMgdGhlbiBldmFsdWF0ZWQgYnkg
dGhlIGBgYFRlc3RDYXNlYGBgIGluIEpTLiBGb3IgdGhlIHJlc3Qgb2YgdGhlIGFycmFuZ2luZyBw
YXJ0LCBleGFtaW5lIGBgYC9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUu
cHlgYGAgdG8gc2VlIGhvdyB0aGUgdmFsdWVzIGZvciB0aGUgdGVtcGxhdGVzIGFyZSBwcm9kdWNl
ZC4KK0Egc2VsZWN0aW9uIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgYSBzaW5nbGUgdGVzdCwg
d2l0aCBrZXlzL3ZhbHVlcyBmcm9tIGB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgLgogCitBIHNpbmds
ZSB0ZXN0IGV4cGFuc2lvbiBwYXR0ZXJuIGdldHMgZXhwYW5kZWQgaW50byBhIGxpc3Qgb2Ygc2Vs
ZWN0aW9ucyBhcyBmb2xsb3dzOgogCi1UYWtpbmcgdGhlIHNwZWMgSlNPTiwgdGhlIGdlbmVyYXRv
ciBmb2xsb3dzIHRoaXMgYWxnb3JpdGhtOgorKiBFeHBhbmQgZWFjaCBmaWVsZCdzIHBhdHRlcm4g
KHNpbmdsZSwgYW55IG9mLCBvciBhbGwpIHRvIGxpc3Qgb2YgYWxsb3dlZCB2YWx1ZXMgKGRlZmlu
ZWQgYnkgdGhlIGBgYHRlc3RfZXhwYW5zaW9uX3NjaGVtYWBgYCkKIAotKiBFeHBhbmQgYWxsIGBg
YGV4Y2x1ZGVkX3Rlc3RzYGBgIHRvIGNyZWF0ZSBhIGJsYWNrbGlzdCBvZiBzZWxlY3Rpb25zCisq
IFBlcm11dGUgLSBSZWN1cnNpdmVseSBlbnVtZXJhdGUgYWxsIHNlbGVjdGlvbnMgYWNyb3NzIGFs
bCBmaWVsZHMKKworVGhlIGZvbGxvd2luZyBmaWVsZCBoYXMgc3BlY2lhbCBtZWFuaW5nOgogCi0q
IEZvciBlYWNoIHNwZWNpZmljYXRpb24gcmVxdWlyZW1lbnQ6IEV4cGFuZCB0aGUgYGBgdGVzdF9l
eHBhbnNpb25gYGAgcGF0dGVybiBpbnRvIHNlbGVjdGlvbnMgYW5kIGNoZWNrIGVhY2ggYWdhaW5z
dCB0aGUgYmxhY2tsaXN0LCBpZiBub3QgbWFya2VkIGFzIHN1cHByZXNlZCwgZ2VuZXJhdGUgdGhl
IHRlc3QgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0aW9uCistICoqYGRlbGl2ZXJ5X2tleWAqKjog
VGhpcyBkb2Vzbid0IGV4aXN0IGluIHRlc3QgZXhwYW5zaW9uIHBhdHRlcm5zLCBhbmQgaW5zdGVh
ZCBpcyB0YWtlbiBmcm9tIGBkZWxpdmVyeV9rZXlgIGZpZWxkIG9mIHRoZSBzcGVjIEpTT04gYW5k
IGFkZGVkIGludG8gc2VsZWN0aW9ucy4gKFRPRE8oaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzLzIxNzA4KTogcHJvYmFibHkgdGhpcyBzaG91bGQgYmUgYWRk
ZWQgdG8gdGVzdCBleHBhbnNpb24gcGF0dGVybnMgdG8gcmVtb3ZlIHRoaXMgc3BlY2lhbCBoYW5k
bGluZykKIAorRm9yIGV4YW1wbGUsIHRoZSB0ZXN0IGV4cGFuc2lvbiBpbiB0aGUgZXhhbXBsZSBh
Ym92ZSBnZW5lcmF0ZXMgc2VsZWN0aW9ucyBsaWtlIHRoZSBmb2xsb3dpbmcgc2VsZWN0aW9uICh3
aGljaCBldmVudHVhbGx5IGdlbmVyYXRlcyBbdGhpcyB0ZXN0IGZpbGVdKC4uLy4uL3JlZmVycmVy
LXBvbGljeS9nZW4vd29ya2VyLWNsYXNzaWMuaHR0cC1ycC9uby1yZWZlcnJlci13aGVuLWRvd25n
cmFkZS9mZXRjaC9zYW1lLWh0dHAubm8tcmVkaXJlY3QuaHR0cC5odG1sICkpOgogCi0jIyMgU291
cmNlIENvbnRleHRzCitgYGBqc29uCit7CisgICJkZWxpdmVyeV90eXBlIjogImh0dHAtcnAiLAor
ICAiZGVsaXZlcnlfa2V5IjogInJlZmVycmVyUG9saWN5IiwKKyAgImRlbGl2ZXJ5X3ZhbHVlIjog
Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiwKKyAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAi
d29ya2VyLWNsYXNzaWMiLAorCisgICJleHBlY3RhdGlvbiI6ICJzdHJpcHBlZC1yZWZlcnJlciIs
CisgICJvcmlnaW4iOiAic2FtZS1odHRwIiwKKyAgInJlZGlyZWN0aW9uIjogIm5vLXJlZGlyZWN0
IiwKKyAgInNvdXJjZV9zY2hlbWUiOiAiaHR0cCIsCisgICJzdWJyZXNvdXJjZSI6ICJmZXRjaCIK
K30KK2BgYAogCi1JbiAqKmBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAqKiwgd2UgY2FuIHNw
ZWNpZnkKKyMjIyBFeGNsdWRpbmcgVGVzdCBFeHBhbnNpb24gUGF0dGVybnMKKworVGhlIGBgYGV4
Y2x1ZGVkX3Rlc3RzYGBgIHNlY3Rpb24gaGF2ZSBvYmplY3RzIHdpdGggdGhlIHNhbWUgZm9ybWF0
IGFzIFtUZXN0IEV4cGFuc2lvbiBQYXR0ZXJuc10oI3Rlc3QtZXhwYW5zaW9uLXBhdHRlcm5zKSB0
aGF0IGRlZmluZSBzZWxlY3Rpb25zIHRvIGJlIGV4Y2x1ZGVkLgorCitUYWtpbmcgdGhlIHNwZWMg
SlNPTiwgdGhlIGdlbmVyYXRvciBmb2xsb3dzIHRoaXMgYWxnb3JpdGhtOgogCi0tIHNvdXJjZSBj
b250ZXh0cyBmcm9tIHdoZXJlIHN1YnJlc291cmNlIHJlcXVlc3RzIGFyZSBzZW50LCBhbmQKLS0g
aG93IHBvbGljaWVzIGFyZSBkZWxpdmVyZWQsIGJ5IHNvdXJjZSBjb250ZXh0cyBhbmQvb3Igc3Vi
cmVzb3VyY2UgcmVxdWVzdHMuCisqIEV4cGFuZCBhbGwgYGBgZXhjbHVkZWRfdGVzdHNgYGAgdG8g
Y3JlYXRlIGEgYmxhY2tsaXN0IG9mIHNlbGVjdGlvbnMKIAotLSBgc291cmNlQ29udGV4dExpc3Rg
OiBhbiBhcnJheSBvZiBgU291cmNlQ29udGV4dGAgb2JqZWN0cywgYW5kCi0tIGBzdWJyZXNvdXJj
ZVBvbGljeURlbGl2ZXJpZXNgOiBhbiBhcnJheSBvZiBgUG9saWN5RGVsaXZlcnlgIG9iamVjdHMu
CisqIEZvciBlYWNoIGBzcGVjaWZpY2F0aW9uYCBlbnRyaWVzOiBFeHBhbmQgdGhlIGBgYHRlc3Rf
ZXhwYW5zaW9uYGBgIHBhdHRlcm4gaW50byBzZWxlY3Rpb25zIGFuZCBjaGVjayBlYWNoIGFnYWlu
c3QgdGhlIGJsYWNrbGlzdCwgaWYgbm90IG1hcmtlZCBhcyBzdXBwcmVzZWQsIGdlbmVyYXRlIHRo
ZSB0ZXN0IHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGlvbgogCi1UaGV5IGhhdmUgdGhlIHNhbWUg
b2JqZWN0IGZvcm1hdCBhcyBkZXNjcmliZWQgaW4KLWBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMv
cmVzb3VyY2VzL2NvbW1vbi5qc2AgY29tbWVudHMsIGFuZCBhcmUgZGlyZWN0bHkKLXNlcmlhbGl6
ZWQgdG8gZ2VuZXJhdGVkIEhUTUwgZmlsZXMgYW5kIHBhc3NlZCB0byBKYXZhU2NyaXB0IHRlc3Qg
Y29kZSwKLWV4Y2VwdCB0aGF0OgorIyMjICBTb3VyY2VDb250ZXh0IFJlc29sdXRpb24KIAotLSBU
aGUgZmlyc3QgZW50cnkgb2YgYHNvdXJjZUNvbnRleHRMaXN0YCdzIGBzb3VyY2VDb250ZXh0VHlw
ZWAgc2hvdWxkIGJlCi0gIGFsd2F5cyBgdG9wYCwgd2hpY2ggcmVwcmVzZW50cyB0aGUgdG9wLWxl
dmVsIGdlbmVyYXRlZCB0ZXN0IEhUTUwuCi0gIChUaGlzIGVudHJ5IGlzIG9taXR0ZWQgaW4gdGhl
IEpTT04gcGFzc2VkIHRvIEphdmFTY3JpcHQsIGJ1dAotICB0aGUgcG9saWN5IGRlbGl2ZXJpZXMg
c3BlY2lmaWVkIGhlcmUgYXJlIHdyaXR0ZW4gYXMgZS5nLgotICBgPG1ldGE+YCBlbGVtZW50cyBp
biB0aGUgZ2VuZXJhdGVkIHRlc3QgSFRNTCBvciBIVFRQIGhlYWRlcnMpCi0tIEluc3RlYWQgb2Yg
YFBvbGljeURlbGl2ZXJ5YCBvYmplY3QgKGluIGBzb3VyY2VDb250ZXh0TGlzdGAgb3IKLSAgYHN1
YnJlc291cmNlUG9saWN5RGVsaXZlcmllc2ApLCBmb2xsb3dpbmcgcGxhY2Vob2xkZXIgc3RyaW5n
cyBjYW4gYmUgdXNlZC4KK1RoZSBgc291cmNlX2NvbnRleHRfbGlzdF9zY2hlbWFgIHNlY3Rpb24g
b2YgYHNwZWMuc3JjLmpzb25gIGRlZmluZXMgdGVtcGxhdGVzIG9mIHBvbGljeSBkZWxpdmVyaWVz
IGFuZCBzb3VyY2UgY29udGV4dHMuCitUaGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgIHZhbHVlIGlu
IGEgc2VsZWN0aW9uIHNwZWNpZmllcyB0aGUga2V5IG9mIHRoZSB0ZW1wbGF0ZSB0byBiZSB1c2Vk
IGluIGBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAsIGFuZCB0aGUgZm9sbG93aW5nIGZpZWxk
cyBpbiB0aGUgc2VsZWN0aW9uIGFyZSBmaWxsZWQgaW50byB0aGUgdGVtcGxhdGUgKHRoZXNlIHRo
cmVlIHZhbHVlcyBkZWZpbmUgdGhlICoqdGFyZ2V0IHBvbGljeSBkZWxpdmVyeSoqIHRvIGJlIHRl
c3RlZCk6CiAKLVRoZSBrZXlzIG9mIGBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAgY2FuIGJl
IHVzZWQgYXMgdGhlIHZhbHVlcyBvZgotYHNvdXJjZV9jb250ZXh0X2xpc3RgIGZpZWxkcywgdG8g
aW5kaWNhdGUgd2hpY2ggc291cmNlIGNvbnRleHQgY29uZmlndXJhdGlvbgotdG8gYmUgdXNlZC4K
Ky0gYGRlbGl2ZXJ5X3R5cGVgCistIGBkZWxpdmVyeV9rZXlgCistIGBkZWxpdmVyeV92YWx1ZWAK
IAotIyMjIFBvbGljeURlbGl2ZXJ5IHBsYWNlaG9sZGVycworIyMjIyBTb3VyY2UgQ29udGV4dCBM
aXN0IFNjaGVtYQogCi1FYWNoIHRlc3QgY29udGFpbnMKK0VhY2ggZW50cnkgb2YgKipgc291cmNl
X2NvbnRleHRfbGlzdF9zY2hlbWFgKiosIGRlZmluZXMgYSBzaW5nbGUgdGVtcGxhdGUgb2YgaG93
L3doYXQgcG9saWNpZXMgdG8gYmUgZGVsaXZlcmVkIGluIHdoYXQgc291cmNlIGNvbnRleHRzIChT
ZWUgYWxzbyBbUG9saWN5RGVsaXZlcnldKHR5cGVzLm1kI3BvbGljeWRlbGl2ZXJ5KSBhbmQgW1Nv
dXJjZUNvbnRleHRdKHR5cGVzLm1kI3NvdXJjZWNvbnRleHQpKS4KIAotLSBgZGVsaXZlcnlfa2V5
YCAoZGVyaXZlZCBmcm9tIHRoZSB0b3AtbGV2ZWwgYGRlbGl2ZXJ5X2tleWApIGFuZAotLSBgZGVs
aXZlcnlfdmFsdWVgLCBgZGVsaXZlcnlfdHlwZWAgKGRlcml2ZWQgZnJvbSBgdGVzdF9leHBhbnNp
b25gKSwKKy0gVGhlIGtleTogdGhlIG5hbWUgb2YgdGhlIHRlbXBsYXRlIHdoaWNoIG1hdGNoZXMg
d2l0aCB0aGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgIHZhbHVlIGluIGEgc2VsZWN0aW9uLgorLSBg
c291cmNlQ29udGV4dExpc3RgOiBhbiBhcnJheSBvZiBgU291cmNlQ29udGV4dGAgb2JqZWN0cyB0
aGF0IHJlcHJlc2VudHMgYSAocG9zc2libHkgbmVzdGVkKSBjb250ZXh0LgorICAgIC0gYHNvdXJj
ZUNvbnRleHRUeXBlYCBvZiB0aGUgZmlyc3QgZW50cnkgb2YgYHNvdXJjZUNvbnRleHRMaXN0YCBz
aG91bGQgYmUgYWx3YXlzIGAidG9wImAsIHdoaWNoIHJlcHJlc2VudHMgdGhlIHRvcC1sZXZlbCBn
ZW5lcmF0ZWQgdGVzdCBIVE1MLiBUaGlzIGVudHJ5IGlzIG9taXR0ZWQgaW4gdGhlIHNjZW5hcmlv
IEpTT04gb2JqZWN0IHBhc3NlZCB0byBKYXZhU2NyaXB0IHJ1bnRpbWUsIGJ1dCB0aGUgcG9saWN5
IGRlbGl2ZXJpZXMgc3BlY2lmaWVkIGhlcmUgYXJlIGhhbmRsZWQgYnkgdGhlIGdlbmVyYXRvciwg
ZS5nLiB3cml0dGVuIGFzIGA8bWV0YT5gIGVsZW1lbnRzIGluIHRoZSBnZW5lcmF0ZWQgdGVzdCBI
VE1MLgorLSBgc3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzYDogYW4gYXJyYXkgb2YgYFBvbGlj
eURlbGl2ZXJ5YCBvYmplY3RzIHRoYXQgcmVwcmVzZW50cyBwb2xpY2llcyBzcGVjaWZpZWQgYXQg
c3VicmVzb3VyY2UgcmVxdWVzdHMgKGUuZy4gYHJlZmVycmVyUG9saWN5YCBhdHRyaWJ1dGUgb2Yg
YDxpbWc+YCBlbGVtZW50cykuCiAKLXdoaWNoIHJlcHJlc2VudHMgdGhlICoqdGFyZ2V0IHBvbGlj
eSBkZWxpdmVyeSoqLCB0aGUgcG9saWN5IGRlbGl2ZXJ5IHRvIGJlCi10ZXN0ZWQuCisjIyMjIFBv
bGljeURlbGl2ZXJ5IHBsYWNlaG9sZGVycwogCi1UaGUgZm9sbG93aW5nIHBsYWNlaG9sZGVyIHN0
cmluZ3MgaW4gYHNvdXJjZV9jb250ZXh0X2xpc3Rfc2NoZW1hYCBjYW4gYmUgdXNlZDoKK0luc3Rl
YWQgdG8gb3JkaW5hbCBgUG9saWN5RGVsaXZlcnlgIG9iamVjdHMsIHRoZSBmb2xsb3dpbmcgcGxh
Y2Vob2xkZXIgc3RyaW5ncyBjYW4gYmUgdXNlZCBpbiBgc291cmNlQ29udGV4dExpc3RgIG9yIGBz
dWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXNgLgogCiAtIGAicG9saWN5ImA6CiAgICAgLSBSZXBs
YWNlZCB3aXRoIHRoZSB0YXJnZXQgcG9saWN5IGRlbGl2ZXJ5LgotICAgIC0gQ2FuIGJlIHVzZWQg
dG8gc3BlY2lmeSB3aGVyZSB0aGUgdGFyZ2V0IHBvbGljeSBkZWxpdmVyeSBzaG91bGQgYmUKLSAg
ICAgIGRlbGl2ZXJlZC4KIC0gYCJwb2xpY3lJZk5vbk51bGwiYDoKLSAgICAtIFJlcGxhY2VkIHdp
dGggdGhlIHRhcmdldCBwb2xpY3kgZGVsaXZlcnksIG9ubHkgaWYgaXQgaGFzIG5vbi1udWxsIHZh
bHVlLgotICAgICAgSWYgdGhlIHZhbHVlIGlzIG51bGwsIHRoZW4gdGhlIHRlc3QgZmlsZSBpcyBu
b3QgZ2VuZXJhdGVkLgorICAgIC0gUmVwbGFjZWQgd2l0aCB0aGUgdGFyZ2V0IHBvbGljeSBkZWxp
dmVyeSwgb25seSBpZiBgZGVsaXZlcnlfdmFsdWVgIGlzIG5vdCBgbnVsbGAuCisgICAgICBJZiBg
ZGVsaXZlcnlfdmFsdWVgIGlzIGBudWxsYCwgdGhlbiB0aGUgdGVzdCBpcyBub3QgZ2VuZXJhdGVk
LgogLSBgImFub3RoZXJQb2xpY3kiYDoKICAgICAtIFJlcGxhY2VkIHdpdGggYSBgUG9saWN5RGVs
aXZlcnlgIG9iamVjdCB0aGF0IGhhcyBhIGRpZmZlcmVudCB2YWx1ZSBmcm9tCiAgICAgICB0aGUg
dGFyZ2V0IHBvbGljeSBkZWxpdmVyeS4KICAgICAtIENhbiBiZSB1c2VkIHRvIHNwZWNpZnkgZS5n
LiBhIHBvbGljeSB0aGF0IHNob3VsZCBiZSBvdmVycmlkZGVuIGJ5CiAgICAgICB0aGUgdGFyZ2V0
IHBvbGljeSBkZWxpdmVyeS4KIAotRm9yIGV4YW1wbGUsIHdoZW4gdGhlIHRhcmdldCBwb2xpY3kg
ZGVsaXZlcnkgaXMKLWB7ZGVsaXZlcnlUeXBlOiAiaHR0cC1ycCIsIGtleTogInJlZmVycmVyUG9s
aWN5IiwgdmFsdWU6ICJuby1yZWZlcnJlciJ9YCwKKyMjIyMgYHNvdXJjZV9jb250ZXh0X3NjaGVt
YWAgYW5kIGBzdWJyZXNvdXJjZV9zY2hlbWFgCisKK1RoZXNlIHJlcHJlc2VudCBzdXBwb3J0ZWQg
ZGVsaXZlcnkgdHlwZXMgYW5kIHN1YnJlc291cmNlcworZm9yIGVhY2ggc291cmNlIGNvbnRleHQg
b3Igc3VicmVzb3VyY2UgdHlwZS4gVGhlc2UgYXJlIHVzZWQKKworLSBUbyBmaWx0ZXIgb3V0IHRl
c3QgZmlsZXMgZm9yIHVuc3VwcG9ydGVkIGNvbWJpbmF0aW9ucyBvZiBkZWxpdmVyeSB0eXBlcywK
KyAgc291cmNlIGNvbnRleHRzIGFuZCBzdWJyZXNvdXJjZXMgZHVyaW5nIFNvdXJjZUNvbnRleHQg
cmVzb2x1dGlvbi4KKy0gVG8gZGV0ZXJtaW5lIHdoYXQgZGVsaXZlcnkgdHlwZXMgY2FuIGJlIHVz
ZWQgZm9yIGBhbm90aGVyUG9saWN5YAorICBwbGFjZWhvbGRlci4KKworIyMjIyBFeGFtcGxlCisK
K0ZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGVudHJ5IGluIGBzb3VyY2VfY29udGV4dF9saXN0
X3NjaGVtYWA6CiAKIGBgYGpzb24KLSJzb3VyY2VDb250ZXh0TGlzdCI6IFsKLSAgewotICAgICJz
b3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAotICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWwotICAg
ICAgImFub3RoZXJQb2xpY3kiCi0gICAgXQotICB9LAotICB7Ci0gICAgInNvdXJjZUNvbnRleHRU
eXBlIjogImNsYXNzaWMtd29ya2VyIiwKLSAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKLSAgICAg
ICJwb2xpY3kiCi0gICAgXQotICB9Ci1dCisid29ya2VyLWNsYXNzaWMiOiB7CisgICJzb3VyY2VD
b250ZXh0TGlzdCI6IFsKKyAgICB7CisgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwK
KyAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAiYW5vdGhlclBvbGljeSIKKyAg
ICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXIt
Y2xhc3NpYyIsCisgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgInBvbGljeSIK
KyAgICAgIF0KKyAgICB9CisgIF0sCisgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBb
XQorfQogYGBgCiAKLWlzIHJlcGxhY2VkIHdpdGgKK0RlZmluZXMgYSB0ZW1wbGF0ZSB0byBiZSBp
bnN0YW50aWF0ZWQgd2l0aCBgZGVsaXZlcnlfa2V5YCwgYGRlbGl2ZXJ5X3R5cGVgIGFuZCBgZGVs
aXZlcnlfdmFsdWVgIHZhbHVlcyBkZWZpbmVkIG91dHNpZGUgYHNvdXJjZV9jb250ZXh0X2xpc3Rf
c2NoZW1hYCwgd2hpY2ggcmVhZHM6CisKKy0gQSBjbGFzc2ljIGBXb3JrZXJHbG9iYWxTY29wZWAg
aXMgY3JlYXRlZCB1bmRlciB0aGUgdG9wLWxldmVsIERvY3VtZW50LCBhbmQgaGFzIGEgcG9saWN5
IGRlZmluZWQgYnkgYGRlbGl2ZXJ5X2tleWAsIGBkZWxpdmVyeV90eXBlYCBhbmQgYGRlbGl2ZXJ5
X3ZhbHVlYC4KKy0gVGhlIHRvcC1sZXZlbCBEb2N1bWVudCBoYXMgYSBwb2xpY3kgZGlmZmVyZW50
IGZyb20gdGhlIHBvbGljeSBnaXZlbiB0byB0aGUgY2xhc3NpYyB3b3JrZXIgKHRvIGNvbmZpcm0g
dGhhdCB0aGUgcG9saWN5IG9mIHRoZSBjbGFzc2ljIHdvcmtlciwgbm90IG9mIHRoZSB0b3AtbGV2
ZWwgRG9jdW1lbnQsIGlzIHVzZWQpLgorLSBUaGUgc3VicmVzb3VyY2UgcmVxdWVzdCBpcyBzZW50
IGZyb20gdGhlIGNsYXNzaWMgYFdvcmtlckdsb2JhbFNjb3BlYCwgd2l0aCBubyBhZGRpdGlvbmFs
IHBvbGljaWVzIHNwZWNpZmllZCBhdCB0aGUgc3VicmVzb3VyY2UgcmVxdWVzdC4KKworQW5kIHdo
ZW4gZmlsbGVkIHdpdGggdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBhIHNlbGVjdGlvbjoKKwor
LSBgZGVsaXZlcnlfdHlwZWA6IGAiaHR0cC1ycCJgCistIGBkZWxpdmVyeV9rZXlgOiBgInJlZmVy
cmVyUG9saWN5ImAKKy0gYGRlbGl2ZXJ5X3ZhbHVlYDogYCJuby1yZWZlcnJlci13aGVuLWRvd25n
cmFkZSJgCisKK1RoaXMgYmVjb21lczoKIAogYGBganNvbgotInNvdXJjZUNvbnRleHRMaXN0Ijog
WwotICB7Ci0gICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCi0gICAgInBvbGljeURlbGl2
ZXJpZXMiOiBbCi0gICAgICB7Ci0gICAgICAgICJkZWxpdmVyeVR5cGUiOiAibWV0YSIsCi0gICAg
ICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAotICAgICAgICAidmFsdWUiOiAidW5zYWZlLXVy
bCIKLSAgICAgIH0KLSAgICBdCi0gIH0sCi0gIHsKLSAgICAic291cmNlQ29udGV4dFR5cGUiOiAi
Y2xhc3NpYy13b3JrZXIiLAotICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWwotICAgICAgewotICAg
ICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAiLAotICAgICAgICAia2V5IjogInJlZmVycmVy
UG9saWN5IiwKLSAgICAgICAgInZhbHVlIjogIm5vLXJlZmVycmVyIgotICAgICAgfQotICAgIF0K
LSAgfQotXQorIndvcmtlci1jbGFzc2ljIjogeworICAic291cmNlQ29udGV4dExpc3QiOiBbCisg
ICAgeworICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisgICAgICAicG9saWN5RGVs
aXZlcmllcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICJkZWxpdmVyeVR5cGUiOiAibWV0YSIs
CisgICAgICAgICAgImtleSI6ICJyZWZlcnJlclBvbGljeSIsCisgICAgICAgICAgInZhbHVlIjog
Im5vLXJlZmVycmVyIgorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAi
c291cmNlQ29udGV4dFR5cGUiOiAid29ya2VyLWNsYXNzaWMiLAorICAgICAgInBvbGljeURlbGl2
ZXJpZXMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAi
LAorICAgICAgICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAorICAgICAgICAgICJ2YWx1ZSI6
ICJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIKKyAgICAgICAgfQorICAgICAgXQorICAgIH0K
KyAgXSwKKyAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCit9CiBgYGAKIAotd2hp
Y2ggaW5kaWNhdGVzCit3aGljaCBtZWFucwogCi0tIFRoZSB0b3AtbGV2ZWwgRG9jdW1lbnQgaGFz
IGA8bWV0YSBuYW1lPSJyZWZlcnJlciIgY29udGVudD0idW5zYWZlLXVybCI+YC4KKy0gVGhlIHRv
cC1sZXZlbCBEb2N1bWVudCBoYXMgYDxtZXRhIG5hbWU9InJlZmVycmVyIiBjb250ZW50PSJuby1y
ZWZlcnJlciI+YC4KIC0gVGhlIGNsYXNzaWMgd29ya2VyIGlzIGNyZWF0ZWQgd2l0aAotICBgUmVm
ZXJyZXItUG9saWN5OiBuby1yZWZlcnJlcmAgSFRUUCByZXNwb25zZSBoZWFkZXJzLgorICBgUmVm
ZXJyZXItUG9saWN5OiBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZWAgSFRUUCByZXNwb25zZSBo
ZWFkZXJzLgogCi0jIyMgYHNvdXJjZV9jb250ZXh0X3NjaGVtYWAgYW5kIGBzdWJyZXNvdXJjZV9z
Y2hlbWFgCisjIyMgU2NlbmFyaW8gT2JqZWN0CiAKLVRoZXNlIHJlcHJlc2VudCBzdXBwb3J0ZWQg
ZGVsaXZlcnkgdHlwZXMgYW5kIHN1YnJlc291cmNlcwotZm9yIGVhY2ggc291cmNlIGNvbnRleHQg
b3Igc3VicmVzb3VyY2UgdHlwZS4gVGhlc2UgYXJlIHVzZWQKK1RoZSAqKnNjZW5hcmlvKiogb2Jq
ZWN0IGlzIHRoZSBKU09OIG9iamVjdCB3cml0dGVuIHRvIHRoZSBnZW5lcmF0ZWQgSFRNTCBmaWxl
cywgYW5kIHBhc3NlZCB0byBKYXZhU2NyaXB0IHRlc3QgcnVudGltZSAoYXMgYW4gYXJndW1lbnQg
b2YgYFRlc3RDYXNlYCkuCitBIHNjZW5hcmlvIG9iamVjdCBpcyBhbiBzZWxlY3Rpb24gb2JqZWN0
LCBtaW51cyB0aGUga2V5cyB1c2VkIGluIFtTb3VyY2VDb250ZXh0IFJlc29sdXRpb25dKCNzb3Vy
Y2VDb250ZXh0LXJlc29sdXRpb24pOgogCi0tIFRvIGZpbHRlciBvdXQgdGVzdCBmaWxlcyBmb3Ig
dW5zdXBwb3J0ZWQgY29tYmluYXRpb25zIG9mIGRlbGl2ZXJ5IHR5cGVzLAotICBzb3VyY2UgY29u
dGV4dHMgYW5kIHN1YnJlc291cmNlcy4KLS0gVG8gZGV0ZXJtaW5lIHdoYXQgZGVsaXZlcnkgdHlw
ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIGBhbm90aGVyUG9saWN5YAotICBwbGFjZWhvbGRlci4KKy0g
YHNvdXJjZV9jb250ZXh0X2xpc3RgCistIGBkZWxpdmVyeV90eXBlYAorLSBgZGVsaXZlcnlfa2V5
YAorLSBgZGVsaXZlcnlfdmFsdWVgCisKK3BsdXMgdGhlIGtleXMgaW5zdGFudGlhdGVkIGJ5IFtT
b3VyY2VDb250ZXh0IFJlc29sdXRpb25dKCNzb3VyY2VDb250ZXh0LXJlc29sdXRpb24pOgorCist
IGBzb3VyY2VfY29udGV4dF9saXN0YCwgZXhjZXB0IGZvciB0aGUgZmlyc3QgYCJ0b3AiYCBlbnRy
eS4KKy0gYHN1YnJlc291cmNlX3BvbGljeV9kZWxpdmVyaWVzYAorCitGb3IgZXhhbXBsZToKKwor
YGBganNvbgoreworICAic291cmNlX2NvbnRleHRfbGlzdCI6IFsKKyAgICB7CisgICAgICAic291
cmNlQ29udGV4dFR5cGUiOiAid29ya2VyLWNsYXNzaWMiLAorICAgICAgInBvbGljeURlbGl2ZXJp
ZXMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAiLAor
ICAgICAgICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAorICAgICAgICAgICJ2YWx1ZSI6ICJu
by1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIKKyAgICAgICAgfQorICAgICAgXQorICAgIH0KKyAg
XSwKKyAgInN1YnJlc291cmNlX3BvbGljeV9kZWxpdmVyaWVzIjogW10sCisKKyAgImV4cGVjdGF0
aW9uIjogInN0cmlwcGVkLXJlZmVycmVyIiwKKyAgIm9yaWdpbiI6ICJzYW1lLWh0dHAiLAorICAi
cmVkaXJlY3Rpb24iOiAibm8tcmVkaXJlY3QiLAorICAic291cmNlX3NjaGVtZSI6ICJodHRwIiwK
KyAgInN1YnJlc291cmNlIjogImZldGNoIgorfQorYGBgCisKKyMjIyBUb3BMZXZlbFBvbGljeURl
bGl2ZXJ5IE9iamVjdAorCitUaGUgKioqVG9wTGV2ZWxQb2xpY3lEZWxpdmVyeSoqIG9iamVjdCBp
cyB0aGUgZmlyc3QgYCJ0b3AiYCBlbnRyeSBvZiBgU291cmNlQ29udGV4dExpc3RgIGluc3RhbnRp
YXRlZCBieSBbU291cmNlQ29udGV4dCBSZXNvbHV0aW9uXSgjc291cmNlQ29udGV4dC1yZXNvbHV0
aW9uKSwgd2hpY2ggcmVwcmVzZW50cyB0aGUgcG9saWN5IGRlbGl2ZXJ5IG9mIHRoZSB0b3AtbGV2
ZWwgSFRNTCBEb2N1bWVudC4KKworVGhlIGdlbmVyYXRvciBnZW5lcmF0ZXMgYDxtZXRhPmAgZWxl
bWVudHMgYW5kIGAuaGVhZGVyc2AgZmlsZXMgb2YgdGhlIHRvcC1sZXZlbCBIVE1MIGZpbGVzIGZy
b20gdGhlIFRvcExldmVsUG9saWN5RGVsaXZlcnkgb2JqZWN0LgorCitUaGlzIGlzIGhhbmRsZWQg
c2VwYXJhdGVseSBieSB0aGUgZ2VuZXJhdG9yIGZyb20gb3RoZXIgcGFydHMgb2Ygc2VsZWN0aW9u
IG9iamVjdHMgYW5kIHNjZW5hcmlvIG9iamVjdHMsIGJlY2F1c2UgdGhlIGA8bWV0YT5gIGFuZCBg
LmhlYWRlcnNgIGFyZSBoYXJkLWNvZGVkIGRpcmVjdGx5IHRvIHRoZSBmaWxlcyBpbiB0aGUgV1BU
IHJlcG9zaXRvcnksIHdoaWxlIHBvbGljaWVzIG9mIHN1YmNvbnRleHRzIGFyZSBnZW5lcmF0ZWQg
dmlhIHNlcnZlci1zaWRlIGBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGVgIHNjcmlwdHMu
CisKK1RPRE8oaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
LzIxNzEwKTogQ3VycmVudGx5IHRoZSBuYW1lIGBUb3BMZXZlbFBvbGljeURlbGl2ZXJ5YCBkb2Vz
bid0IGFwcGVhciBpbiB0aGUgY29kZS4KKworIyMgSG93IHRoZSB0ZXN0IHJ1bnRpbWUgd29ya3MK
KworQWxsIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYXQgcnVudGltZSBpcyBjb250YWluZWQgaW4g
YW4gc2NlbmFyaW8gb2JqZWN0LiBTZWUgdGhlIGNvZGUvY29tbWVudHMgb2YgdGhlIGZvbGxvd2lu
ZyBmaWxlcy4KKworLSBgcHJvamVjdC1kaXJlY3RvcnkvZ2VuZXJpYy90ZXN0LWNhc2UuanNgIGRl
ZmluZXMgYFRlc3RDYXNlYCwgdGhlIGVudHJ5IHBvaW50IHRoYXQgcmVjZWl2ZXMgYSBzY2VuYXJp
byBvYmplY3QuIGByZXNvdXJjZXMvY29tbW9uLnN1Yi5qc2AgZG9lcyB0aGUgbW9zdCBvZiBjb21t
b24gSmF2YVNjcmlwdCB3b3JrLgorICAgIC0gU3VicmVzb3VyY2UgVVJMcyAod2hpY2ggcG9pbnQg
dG8gYHN1YnJlc291cmNlL2Agc2NyaXB0cykgYXJlIGNhbGN1bGF0ZWQgZnJvbSBgb3JpZ2luYCBh
bmQgYHJlZGlyZWN0aW9uYCB2YWx1ZXMuCisgICAgLSBJbml0aWF0aW5nIGZldGNoIHJlcXVlc3Rz
IGJhc2VkIG9uIGBzdWJyZXNvdXJjZWAgYW5kIGBzdWJyZXNvdXJjZV9wb2xpY3lfZGVsaXZlcmll
c2AuCistIGBzY29wZS9gIHNlcnZlci1zaWRlIHNjcmlwdHMgc2VydmUgbm9uLXRvcGxldmVsIGNv
bnRleHRzLCB3aGlsZSB0aGUgdG9wLWxldmVsIERvY3VtZW50IGlzIGdlbmVyYXRlZCBieSB0aGUg
Z2VuZXJhdG9yLgorICAgVE9ETyhodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9pc3N1ZXMvMjE3MDkpOiBNZXJnZSB0aGUgbG9naWNzIG9mIGBzY29wZS9gIGFuZCB0aGUg
Z2VuZXJhdG9yLgorLSBgc3VicmVzb3VyY2UvYCBzZXJ2ZXItc2lkZSBzY3JpcHRzIHNlcnZlIHN1
YnJlc291cmNlIHJlc3BvbnNlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jlc291cmNlcy9j
b21tb24uc3ViLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3VyY2VzL2NvbW1vbi5zdWIuanMKaW5kZXgg
Y2RkMjBhOWQ4ZGFlY2VmZWMyNmMxZmUzZWY1ZDdmMmE0ZWQ0ODAwOC4uNDAyY2U5YmJhY2YzNDcz
MTE1ZjQ1OGExOTJhNjM0YzQ0OWM5ODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3Vy
Y2VzL2NvbW1vbi5zdWIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3VyY2VzL2NvbW1vbi5zdWIu
anMKQEAgLTEzLDE0ICsxMyw4IEBACiAvLyBmcm9tIHdoYXQga2luZCBvZiBwb3NzaWJseSBuZXN0
ZWQgc291cmNlIGNvbnRleHRzLgogLy8gVGhlIG9iamVjdHMgYXJlIHJlcHJlc2VudGVkIGFzIEpT
T04gb2JqZWN0cyAobm90IEphdmFTY3JpcHQvUHl0aG9uIGNsYXNzZXMKIC8vIGluIGEgc3RyaWN0
IHNlbnNlKSB0byBiZSBwYXNzZWQgYmV0d2VlbiBKYXZhU2NyaXB0L1B5dGhvbiBjb2RlLgotCi0v
LyBOb3RlOiBTbyBmYXIgdGhpcyBkb2N1bWVudCBjb3ZlcnM6Ci0vLyAtIHJlc291cmNlcy9jb21t
b24uc3ViLmpzIDogY2xpZW50LXNpZGUgdGVzdCBpbmZyYSBjb2RlCi0vLyAtIHNjb3BlLyAtIHNl
cnZlci1zaWRlIHNjcmlwdHMgdGhhdCBzZXJ2ZXMgbmVzdGVkIHNvdXJjZSBjb250ZXh0cwotLy8g
YnV0IGRvZXNuJ3QgY292ZXI6Ci0vLyAtIHRvb2xzLyAtIGdlbmVyYXRvciBzY3JpcHRzIHRoYXQg
Z2VuZXJhdGVzIHRvcC1sZXZlbCBIVE1MIGRvY3VtZW50cy4KLS8vIFRoZXJlIGFyZSBzb21lIHBv
bGljaWVzIG9ubHkgaGFuZGxlZCBieSBnZW5lcmF0b3JzIChlLmcuIG1peGVkLWNvbnRlbnQKLS8v
IG9wdC1pbnMpIGFuZCBub3QgeWV0IGNvdmVyZWQgYnkgdGhlIGRvY3MgaGVyZS4KKy8vCisvLyBT
ZWUgYWxzbyBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMvVHlwZXMubWQgZm9yIGhpZ2gtbGV2ZWwg
ZGVzY3JpcHRpb24uCiAKIC8qKgogICBAdHlwZWRlZiBQb2xpY3lEZWxpdmVyeQpAQCAtOTIsMzMg
Kzg2LDYgQEAKIC8qKgogICBAdHlwZWRlZiBTb3VyY2VDb250ZXh0CiAgIEB0eXBlIHtvYmplY3R9
Ci0gIFJlcXVlc3RzIGNhbiBiZSBwb3NzaWJseSBzZW50IGZyb20gdmFyaW91cyBraW5kcyBvZiBz
b3VyY2UgY29udGV4dHMsIGkuZS4KLSAgZmV0Y2ggY2xpZW50J3MgZW52aXJvbm1lbnQgc2V0dGlu
Z3Mgb2JqZWN0czoKLSAgdG9wLWxldmVsIHdpbmRvd3MsIGlmcmFtZXMsIG9yIHdvcmtlcnMuCi0g
IEEgU291cmNlQ29udGV4dCBvYmplY3Qgc3BlY2lmaWVzIG9uZSBlbnZpcm9ubWVudCBzZXR0aW5n
cyBvYmplY3QsIGFuZAotICBhbiBBcnJheTxTb3VyY2VDb250ZXh0PiBzcGVjaWZpZXMgYSBwb3Nz
aWJseSBuZXN0ZWQgY29udGV4dCwKLSAgZnJvbSB0aGUgb3V0ZXItbW9zdCB0byBpbm5lci1tb3N0
IGVudmlyb25tZW50IHNldHRpbmdzIG9iamVjdHMuCi0KLSAgRm9yIGV4YW1wbGU6Ci0gICAgW3tz
b3VyY2VDb250ZXh0VHlwZTogInNyY2RvYyJ9LCB7c291cmNlQ29udGV4dFR5cGU6ICJ3b3JrZXIt
Y2xhc3NpYyJ9XQotICBtZWFucyB0aGF0IGEgc3VicmVzb3VyY2UgcmVxdWVzdCBpcyB0byBiZSBz
ZW50IGZyb20KLSAgYSBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXIgY3JlYXRlZCBmcm9tIDxpZnJh
bWUgc3JjZG9jPgotICBpbnNpZGUgdGhlIHRvcC1sZXZlbCBIVE1MIGRvY3VtZW50LgotICBOb3Rl
OiB0aGUgdG9wLWxldmVsIGRvY3VtZW50IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgYXJyYXkgYW5k
Ci0gIGlzIGFzc3VtZWQgaW1wbGljaXRseS4KLQotICBTb3VyY2VDb250ZXh0IChvciBBcnJheTxT
b3VyY2VDb250ZXh0PikgaXMgc2V0IGJhc2VkIG9uCi0gIHRoZSBmZXRjaCBjbGllbnQncyBzZXR0
aW5ncyBvYmplY3QgdGhhdCBpcyB1c2VkIGZvciB0aGUgc3VicmVzb3VyY2UgcmVxdWVzdCwKLSAg
Tk9UIG9uIG1vZHVsZSBtYXAgc2V0dGluZ3Mgb2JqZWN0LCBhbmQKLSAgTk9UIG9uIHRoZSBpbm5l
ci1tb3N0IHNldHRpbmdzIG9iamVjdCB0aGF0IGFwcGVhcnMgaW4gdGhlIHRlc3QuCi0gIEZvciBl
eGFtcGxlLCBBcnJheTxTb3VyY2VDb250ZXh0PiBpcyBgW11gIChpbmRpY2F0aW5nIHRoZSB0b3Ag
V2luZG93KQotICBmb3IgYHdvcmtlci5qc2AKLSAgLSBXaGVuIGl0IGlzIHRoZSByb290IHdvcmtl
ciBzY3JpcHQ6IGBuZXcgV29ya2VyKCd3b3JrZXIuanMnKWAsIG9yCi0gIC0gV2hlbiBpdCBpcyBp
bXBvcnRlZCBmcm9tIHRoZSByb290IHdvcmtlciBzY3JpcHQ6Ci0gICAgYG5ldyBXb3JrZXIoJ3Rv
cC5qcycsIHt0eXBlOiAnbW9kdWxlJ30pYAotICAgIHdoZXJlIGB0b3AuanNgIGhhcyBgaW1wb3J0
ICd3b3JrZXIuanMnYC4KLSAgYmVjYXVzZSB0aGUgcmVxdWVzdCBmb3IgYHdvcmtlci5qc2AgdXNl
cyB0aGUgV2luZG93IGFzIGl0cyBmZXRjaCBjbGllbnQncwotICBzZXR0aW5ncyBvYmplY3QsIHdo
aWxlIGEgV29ya2VyR2xvYmFsU2NvcGUgaXMgY3JlYXRlZCB0aG91Z2guCiAKICAgQHByb3BlcnR5
IHtzdHJpbmd9IHNvdXJjZUNvbnRleHRUeXBlCiAgICAgS2luZCBvZiB0aGUgc291cmNlIGNvbnRl
eHQgdG8gYmUgdXNlZC4KQEAgLTM5OCw3ICszNjUsNyBAQCBmdW5jdGlvbiB3cmFwUmVzdWx0KHNl
cnZlcl9kYXRhKSB7CiAgIHJlcXVlc3RWaWFQaWN0dXJlICAgICAgICAgICAgICAgIDMgICAgICAg
IC0gICAgICAgIFkgICAgICAgLQogICByZXF1ZXN0VmlhU2NyaXB0ICAgICAgICAgICAgICAgICAy
ICAgICAgICBZICAgICAgICBZICAgICAgIC0KICAgcmVxdWVzdFZpYVNlbmRCZWFjb24gICAgICAg
ICAgICAgMyAgICAgICAgLSAgICAgICAgWSAgICAgICAtCi0gIHJlcXVlc3RWaWFTaGFyZWRXb3Jr
ZXIgICAgICAgICAgIDIgICAgICAgIFkgICAgICAgIC0gICAgICAgLQorICByZXF1ZXN0VmlhU2hh
cmVkV29ya2VyICAgICAgICAgICAyICAgICAgICBZICAgICAgICBZICAgICAgIFkKICAgcmVxdWVz
dFZpYVZpZGVvICAgICAgICAgICAgICAgICAgMyAgICAgICAgLSAgICAgICAgWSAgICAgICAtCiAg
IHJlcXVlc3RWaWFXZWJTb2NrZXQgICAgICAgICAgICAgIDMgICAgICAgIC0gICAgICAgIFkgICAg
ICAgLQogICByZXF1ZXN0VmlhV29ya2xldCAgICAgICAgICAgICAgICAzICAgICAgICAtICAgICAg
ICBZICAgICAgIFkKQEAgLTUxOSw2ICs0ODYsMTEgQEAgZnVuY3Rpb24gZGVkaWNhdGVkV29ya2Vy
VXJsVGhhdEZldGNoZXModXJsKSB7CiB9CiAKIGZ1bmN0aW9uIHdvcmtlclVybFRoYXRJbXBvcnRz
KHVybCkgeworICByZXR1cm4gYC9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uv
c3RhdGljLWltcG9ydC5weWAgKworICAgICAgYD9pbXBvcnRfdXJsPSR7ZW5jb2RlVVJJQ29tcG9u
ZW50KHVybCl9YDsKK30KKworZnVuY3Rpb24gd29ya2VyRGF0YVVybFRoYXRJbXBvcnRzKHVybCkg
ewogICByZXR1cm4gYGRhdGE6dGV4dC9qYXZhc2NyaXB0LGltcG9ydCAnJHt1cmx9JztgOwogfQog
CkBAIC01NDIsMTAgKzUxNCwxMCBAQCBmdW5jdGlvbiByZXF1ZXN0VmlhRGVkaWNhdGVkV29ya2Vy
KHVybCwgb3B0aW9ucykgewogICAgIC50aGVuKGV2ZW50ID0+IHdyYXBSZXN1bHQoZXZlbnQuZGF0
YSkpOwogfQogCi1mdW5jdGlvbiByZXF1ZXN0VmlhU2hhcmVkV29ya2VyKHVybCkgeworZnVuY3Rp
b24gcmVxdWVzdFZpYVNoYXJlZFdvcmtlcih1cmwsIG9wdGlvbnMpIHsKICAgdmFyIHdvcmtlcjsK
ICAgdHJ5IHsKLSAgICB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKHVybCk7CisgICAgd29ya2Vy
ID0gbmV3IFNoYXJlZFdvcmtlcih1cmwsIG9wdGlvbnMpOwogICB9IGNhdGNoKGUpIHsKICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7CiAgIH0KQEAgLTkxMSwxNCArODgzLDMzIEBAIGNvbnN0
IHN1YnJlc291cmNlTWFwID0gewogICAgIHBhdGg6ICIvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVz
L3N1YnJlc291cmNlL3dvcmtlci5weSIsCiAgICAgaW52b2tlcjogdXJsID0+IHJlcXVlc3RWaWFE
ZWRpY2F0ZWRXb3JrZXIodXJsLCB7dHlwZTogIm1vZHVsZSJ9KSwKICAgfSwKLSAgIndvcmtlci1p
bXBvcnQtZGF0YSI6IHsKKyAgIndvcmtlci1pbXBvcnQiOiB7CiAgICAgcGF0aDogIi9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvd29ya2VyLnB5IiwKICAgICBpbnZva2VyOiB1
cmwgPT4KICAgICAgICAgcmVxdWVzdFZpYURlZGljYXRlZFdvcmtlcih3b3JrZXJVcmxUaGF0SW1w
b3J0cyh1cmwpLCB7dHlwZTogIm1vZHVsZSJ9KSwKICAgfSwKKyAgIndvcmtlci1pbXBvcnQtZGF0
YSI6IHsKKyAgICBwYXRoOiAiL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS93
b3JrZXIucHkiLAorICAgIGludm9rZXI6IHVybCA9PgorICAgICAgICByZXF1ZXN0VmlhRGVkaWNh
dGVkV29ya2VyKHdvcmtlckRhdGFVcmxUaGF0SW1wb3J0cyh1cmwpLCB7dHlwZTogIm1vZHVsZSJ9
KSwKKyAgfSwKICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIjogewogICAgIHBhdGg6ICIvY29tbW9u
L3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3NoYXJlZC13b3JrZXIucHkiLAotICAgIGlu
dm9rZXI6IHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIsCisgICAgaW52b2tlcjogdXJsID0+IHJlcXVl
c3RWaWFTaGFyZWRXb3JrZXIodXJsKSwKKyAgfSwKKyAgInNoYXJlZHdvcmtlci1tb2R1bGUiOiB7
CisgICAgcGF0aDogIi9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVk
LXdvcmtlci5weSIsCisgICAgaW52b2tlcjogdXJsID0+IHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIo
dXJsLCB7dHlwZTogIm1vZHVsZSJ9KSwKKyAgfSwKKyAgInNoYXJlZHdvcmtlci1pbXBvcnQiOiB7
CisgICAgcGF0aDogIi9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVk
LXdvcmtlci5weSIsCisgICAgaW52b2tlcjogdXJsID0+CisgICAgICAgIHJlcXVlc3RWaWFTaGFy
ZWRXb3JrZXIod29ya2VyVXJsVGhhdEltcG9ydHModXJsKSwge3R5cGU6ICJtb2R1bGUifSksCisg
IH0sCisgICJzaGFyZWR3b3JrZXItaW1wb3J0LWRhdGEiOiB7CisgICAgcGF0aDogIi9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVkLXdvcmtlci5weSIsCisgICAgaW52
b2tlcjogdXJsID0+CisgICAgICAgIHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIod29ya2VyRGF0YVVy
bFRoYXRJbXBvcnRzKHVybCksIHt0eXBlOiAibW9kdWxlIn0pLAogICB9LAogCiAgICJ3ZWJzb2Nr
ZXQiOiB7CkBAIC05MzQsNyArOTI1LDcgQEAgZm9yIChjb25zdCB3b3JrbGV0VHlwZSBvZiBbJ2Fu
aW1hdGlvbicsICdhdWRpbycsICdsYXlvdXQnLCAncGFpbnQnXSkgewogICBzdWJyZXNvdXJjZU1h
cFtgd29ya2xldC0ke3dvcmtsZXRUeXBlfS1pbXBvcnQtZGF0YWBdID0gewogICAgICAgcGF0aDog
Ii9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvd29ya2VyLnB5IiwKICAgICAg
IGludm9rZXI6IHVybCA9PgotICAgICAgICAgIHJlcXVlc3RWaWFXb3JrbGV0KHdvcmtsZXRUeXBl
LCB3b3JrZXJVcmxUaGF0SW1wb3J0cyh1cmwpKQorICAgICAgICAgIHJlcXVlc3RWaWFXb3JrbGV0
KHdvcmtsZXRUeXBlLCB3b3JrZXJEYXRhVXJsVGhhdEltcG9ydHModXJsKSkKICAgICB9OwogfQog
CkBAIC0xMTIwLDE5ICsxMTExLDM1IEBAIGZ1bmN0aW9uIGludm9rZVJlcXVlc3Qoc3VicmVzb3Vy
Y2UsIHNvdXJjZUNvbnRleHRMaXN0KSB7CiAgICAgfSwKICAgICAid29ya2VyLWNsYXNzaWMiOiB7
CiAgICAgICAvLyBDbGFzc2ljIGRlZGljYXRlZCB3b3JrZXIgbG9hZGVkIGZyb20gc2FtZS1vcmln
aW4uCi0gICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCBmYWxz
ZSwge30pLAorICAgICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5iaW5kKHVuZGVmaW5lZCwg
IndvcmtlciIsIGZhbHNlLCB7fSksCiAgICAgfSwKICAgICAid29ya2VyLWNsYXNzaWMtZGF0YSI6
IHsKICAgICAgIC8vIENsYXNzaWMgZGVkaWNhdGVkIHdvcmtlciBsb2FkZWQgZnJvbSBkYXRhOiBV
UkwuCi0gICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCB0cnVl
LCB7fSksCisgICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAi
d29ya2VyIiwgdHJ1ZSwge30pLAogICAgIH0sCiAgICAgIndvcmtlci1tb2R1bGUiOiB7CiAgICAg
ICAvLyBNb2R1bGUgZGVkaWNhdGVkIHdvcmtlciBsb2FkZWQgZnJvbSBzYW1lLW9yaWdpbi4KLSAg
ICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRlZmluZWQsIGZhbHNlLCB7dHlw
ZTogJ21vZHVsZSd9KSwKKyAgICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRl
ZmluZWQsICJ3b3JrZXIiLCBmYWxzZSwge3R5cGU6ICdtb2R1bGUnfSksCiAgICAgfSwKICAgICAi
d29ya2VyLW1vZHVsZS1kYXRhIjogewogICAgICAgLy8gTW9kdWxlIGRlZGljYXRlZCB3b3JrZXIg
bG9hZGVkIGZyb20gZGF0YTogVVJMLgotICAgICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5i
aW5kKHVuZGVmaW5lZCwgdHJ1ZSwge3R5cGU6ICdtb2R1bGUnfSksCisgICAgICBpbnZva2VyOiBp
bnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAid29ya2VyIiwgdHJ1ZSwge3R5cGU6ICdt
b2R1bGUnfSksCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiOiB7CisgICAgICAv
LyBDbGFzc2ljIHNoYXJlZCB3b3JrZXIgbG9hZGVkIGZyb20gc2FtZS1vcmlnaW4uCisgICAgICBp
bnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAic2hhcmVkd29ya2VyIiwg
ZmFsc2UsIHt9KSwKKyAgICB9LAorICAgICJzaGFyZWR3b3JrZXItY2xhc3NpYy1kYXRhIjogewor
ICAgICAgLy8gQ2xhc3NpYyBzaGFyZWQgd29ya2VyIGxvYWRlZCBmcm9tIGRhdGE6IFVSTC4KKyAg
ICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRlZmluZWQsICJzaGFyZWR3b3Jr
ZXIiLCB0cnVlLCB7fSksCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IHsKKyAg
ICAgIC8vIE1vZHVsZSBzaGFyZWQgd29ya2VyIGxvYWRlZCBmcm9tIHNhbWUtb3JpZ2luLgorICAg
ICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5iaW5kKHVuZGVmaW5lZCwgInNoYXJlZHdvcmtl
ciIsIGZhbHNlLCB7dHlwZTogJ21vZHVsZSd9KSwKKyAgICB9LAorICAgICJzaGFyZWR3b3JrZXIt
bW9kdWxlLWRhdGEiOiB7CisgICAgICAvLyBNb2R1bGUgc2hhcmVkIHdvcmtlciBsb2FkZWQgZnJv
bSBkYXRhOiBVUkwuCisgICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZp
bmVkLCAic2hhcmVkd29ya2VyIiwgdHJ1ZSwge3R5cGU6ICdtb2R1bGUnfSksCiAgICAgfSwKICAg
fTsKIApAQCAtMTE1Myw2ICsxMTYwLDggQEAgc2VsZi5pbnZva2VSZXF1ZXN0ID0gaW52b2tlUmVx
dWVzdDsKICovCiAKIC8qKgorICBAcGFyYW0ge3N0cmluZ30gd29ya2VyVHlwZQorICAgICJ3b3Jr
ZXIiIChmb3IgZGVkaWNhdGVkIHdvcmtlcikgb3IgInNoYXJlZHdvcmtlciIuCiAgIEBwYXJhbSB7
Ym9vbGVhbn0gaXNEYXRhVXJsCiAgICAgdHJ1ZSBpZiB0aGUgd29ya2VyIHNjcmlwdCBpcyBsb2Fk
ZWQgZnJvbSBkYXRhOiBVUkwuCiAgICAgT3RoZXJ3aXNlLCB0aGUgc2NyaXB0IGlzIGxvYWRlZCBm
cm9tIHNhbWUtb3JpZ2luLgpAQCAtMTE2MSw3ICsxMTcwLDcgQEAgc2VsZi5pbnZva2VSZXF1ZXN0
ID0gaW52b2tlUmVxdWVzdDsKIAogICBPdGhlciBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdmFsdWVz
IGFyZSB0aGUgc2FtZSBhcyB0aG9zZSBvZiBpbnZva2VSZXF1ZXN0KCkuCiAqLwotZnVuY3Rpb24g
aW52b2tlRnJvbVdvcmtlcihpc0RhdGFVcmwsIHdvcmtlck9wdGlvbnMsCitmdW5jdGlvbiBpbnZv
a2VGcm9tV29ya2VyKHdvcmtlclR5cGUsIGlzRGF0YVVybCwgd29ya2VyT3B0aW9ucywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3VicmVzb3VyY2UsIHNvdXJjZUNvbnRleHRMaXN0KSB7CiAg
IGNvbnN0IGN1cnJlbnRTb3VyY2VDb250ZXh0ID0gc291cmNlQ29udGV4dExpc3RbMF07CiAgIGxl
dCB3b3JrZXJVcmwgPQpAQCAtMTE4NSwxMCArMTE5NCwyMCBAQCBmdW5jdGlvbiBpbnZva2VGcm9t
V29ya2VyKGlzRGF0YVVybCwgd29ya2VyT3B0aW9ucywKIAogICByZXR1cm4gcHJvbWlzZQogICAg
IC50aGVuKHVybCA9PiB7Ci0gICAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKHVybCwgd29y
a2VyT3B0aW9ucyk7Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3N1YnJlc291cmNlOiBzdWJy
ZXNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ29udGV4dExpc3Q6IHNv
dXJjZUNvbnRleHRMaXN0LnNsaWNlKDEpfSk7Ci0gICAgICByZXR1cm4gYmluZEV2ZW50czIod29y
a2VyLCAibWVzc2FnZSIsIHdvcmtlciwgImVycm9yIiwgd2luZG93LCAiZXJyb3IiKTsKKyAgICAg
IGlmICh3b3JrZXJUeXBlID09PSAid29ya2VyIikgeworICAgICAgICBjb25zdCB3b3JrZXIgPSBu
ZXcgV29ya2VyKHVybCwgd29ya2VyT3B0aW9ucyk7CisgICAgICAgIHdvcmtlci5wb3N0TWVzc2Fn
ZSh7c3VicmVzb3VyY2U6IHN1YnJlc291cmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNvdXJjZUNvbnRleHRMaXN0OiBzb3VyY2VDb250ZXh0TGlzdC5zbGljZSgxKX0pOworICAgICAg
ICByZXR1cm4gYmluZEV2ZW50czIod29ya2VyLCAibWVzc2FnZSIsIHdvcmtlciwgImVycm9yIiwg
d2luZG93LCAiZXJyb3IiKTsKKyAgICAgIH0gZWxzZSBpZiAod29ya2VyVHlwZSA9PT0gInNoYXJl
ZHdvcmtlciIpIHsKKyAgICAgICAgY29uc3Qgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcih1cmws
IHdvcmtlck9wdGlvbnMpOworICAgICAgICB3b3JrZXIucG9ydC5zdGFydCgpOworICAgICAgICB3
b3JrZXIucG9ydC5wb3N0TWVzc2FnZSh7c3VicmVzb3VyY2U6IHN1YnJlc291cmNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ29udGV4dExpc3Q6IHNvdXJjZUNvbnRl
eHRMaXN0LnNsaWNlKDEpfSk7CisgICAgICAgIHJldHVybiBiaW5kRXZlbnRzMih3b3JrZXIucG9y
dCwgIm1lc3NhZ2UiLCB3b3JrZXIsICJlcnJvciIsIHdpbmRvdywgImVycm9yIik7CisgICAgICB9
IGVsc2UgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd29ya2VyIHR5cGU6ICcg
KyB3b3JrZXJUeXBlKTsKKyAgICAgIH0KICAgICB9KQogICAgIC50aGVuKGV2ZW50ID0+IHsKICAg
ICAgICAgaWYgKGV2ZW50LmRhdGEuZXJyb3IpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29w
ZS90ZW1wbGF0ZS93b3JrZXIuanMudGVtcGxhdGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29wZS90ZW1wbGF0
ZS93b3JrZXIuanMudGVtcGxhdGUKaW5kZXggYWMzZmM2NzJkMTkxMWY5MWRhYWY1MTQxZWQ1NzYw
NTNkYWY5MWQ2NC4uN2EyYTZlMDVjNDQxN2ZlNDliMWYyODNmOGNlYzM2ZTdlODA5YmEyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGUvdGVtcGxhdGUvd29ya2VyLmpzLnRlbXBsYXRlCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3Njb3BlL3RlbXBsYXRlL3dvcmtlci5qcy50ZW1wbGF0ZQpAQCAtMSwy
NCArMSwyOSBAQAogJShpbXBvcnQpcwogCi0vLyBSZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSBw
YXJlbnQgYW5kIHN0YXJ0IHRoZSB0ZXN0LgotZnVuY3Rpb24gb25NZXNzYWdlRnJvbVBhcmVudChl
dmVudCkgewotICAvLyBCZWNhdXNlIHRoaXMgd2luZG93IG1pZ2h0IHJlY2VpdmUgbWVzc2FnZXMg
ZnJvbSBjaGlsZCBjb250ZXh0IGR1cmluZwotICAvLyB0ZXN0cywgd2UgZmlyc3QgcmVtb3ZlIHRo
ZSBsaXN0ZW5lciBoZXJlIGJlZm9yZSBzdGFyaW5nIHRoZSB0ZXN0LgotICBzZWxmLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2VGcm9tUGFyZW50KTsKK2lmICgnRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUnIGluIHNlbGYgJiYKKyAgICBzZWxmIGluc3RhbmNlb2YgRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpIHsKKyAgc2VsZi5vbm1lc3NhZ2UgPSBldmVudCA9PiBv
bk1lc3NhZ2VGcm9tUGFyZW50KGV2ZW50LCBzZWxmKTsKK30gZWxzZSBpZiAoJ1NoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlJyBpbiBzZWxmICYmCisgICAgc2VsZiBpbnN0YW5jZW9mIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlKSB7CisgIG9uY29ubmVjdCA9IGV2ZW50ID0+IHsKKyAgICBjb25zdCBwb3J0
ID0gZXZlbnQucG9ydHNbMF07CisgICAgcG9ydC5vbm1lc3NhZ2UgPSBldmVudCA9PiBvbk1lc3Nh
Z2VGcm9tUGFyZW50KGV2ZW50LCBwb3J0KTsKKyAgfTsKK30KIAorLy8gUmVjZWl2ZSBhIG1lc3Nh
Z2UgZnJvbSB0aGUgcGFyZW50IGFuZCBzdGFydCB0aGUgdGVzdC4KK2Z1bmN0aW9uIG9uTWVzc2Fn
ZUZyb21QYXJlbnQoZXZlbnQsIHBvcnQpIHsKICAgY29uc3QgY29uZmlndXJhdGlvbkVycm9yID0g
IiUoZXJyb3IpcyI7CiAgIGlmIChjb25maWd1cmF0aW9uRXJyb3IubGVuZ3RoID4gMCkgewotICAg
IHBvc3RNZXNzYWdlKHtlcnJvcjogY29uZmlndXJhdGlvbkVycm9yfSk7CisgICAgcG9ydC5wb3N0
TWVzc2FnZSh7ZXJyb3I6IGNvbmZpZ3VyYXRpb25FcnJvcn0pOwogICAgIHJldHVybjsKICAgfQog
CiAgIGludm9rZVJlcXVlc3QoZXZlbnQuZGF0YS5zdWJyZXNvdXJjZSwKICAgICAgICAgICAgICAg
ICBldmVudC5kYXRhLnNvdXJjZUNvbnRleHRMaXN0KQotICAgIC50aGVuKHJlc3VsdCA9PiBwb3N0
TWVzc2FnZShyZXN1bHQpKQorICAgIC50aGVuKHJlc3VsdCA9PiBwb3J0LnBvc3RNZXNzYWdlKHJl
c3VsdCkpCiAgICAgLmNhdGNoKGUgPT4gewogICAgICAgICBjb25zdCBtZXNzYWdlID0gKGUuZXJy
b3IgJiYgZS5lcnJvci5zdGFjaykgfHwgZS5tZXNzYWdlIHx8ICJFcnJvciI7Ci0gICAgICAgIHBv
c3RNZXNzYWdlKHtlcnJvcjogbWVzc2FnZX0pOworICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHtl
cnJvcjogbWVzc2FnZX0pOwogICAgICAgfSk7CiB9Ci0KLXNlbGYuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG9uTWVzc2FnZUZyb21QYXJlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMv
c2NvcGUvd29ya2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGUvd29ya2VyLnB5CmluZGV4IGJkYWQ1
MmM2YTg0YTA1NGYxZTMxM2ZkYzkwNWFmODBhOTEyMGE0NGUuLjcxNmJjYjhlZmZmYjg0Mzg0ZGZj
NTYyMGMxYThmNmEwZDE5M2E4NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Njb3BlL3dvcmtl
ci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29wZS93b3JrZXIucHkKQEAgLTIzLDYgKzIzLDEwIEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBlbGlmIGRlbGl2ZXJ5WydkZWxpdmVy
eVR5cGUnXSA9PSAnaHR0cC1ycCc6CiAgICAgICBpZiBkZWxpdmVyeVsna2V5J10gPT0gJ3JlZmVy
cmVyUG9saWN5JzoKICAgICAgICAgbWF5YmVfYWRkaXRpb25hbF9oZWFkZXJzWydSZWZlcnJlci1Q
b2xpY3knXSA9IGRlbGl2ZXJ5Wyd2YWx1ZSddCisgICAgICBlbGlmIGRlbGl2ZXJ5WydrZXknXSA9
PSAnbWl4ZWRDb250ZW50JyBhbmQgZGVsaXZlcnlbJ3ZhbHVlJ10gPT0gJ29wdC1pbic6CisgICAg
ICAgIG1heWJlX2FkZGl0aW9uYWxfaGVhZGVyc1snQ29udGVudC1TZWN1cml0eS1Qb2xpY3knXSA9
ICdibG9jay1hbGwtbWl4ZWQtY29udGVudCcKKyAgICAgIGVsaWYgZGVsaXZlcnlbJ2tleSddID09
ICd1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cycgYW5kIGRlbGl2ZXJ5Wyd2YWx1ZSddID09ICd1cGdy
YWRlJzoKKyAgICAgICAgbWF5YmVfYWRkaXRpb25hbF9oZWFkZXJzWydDb250ZW50LVNlY3VyaXR5
LVBvbGljeSddID0gJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnCiAgICAgICBlbHNlOgogICAg
ICAgICBlcnJvciA9ICdpbnZhbGlkIGRlbGl2ZXJ5IGtleSBmb3IgaHR0cC1ycDogJXMnICUgZGVs
aXZlcnlbJ2tleSddCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291
cmNlL3JlZmVycmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvcmVmZXJyZXIucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWQ5ZTI0ODQ3YTEwODgyNmRiMWU3MTI0YzdiZmY2ZjZmMWEzZmQ1YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3JlZmVycmVyLnB5CkBAIC0wLDAg
KzEsNCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJlZmVycmVyID0gcmVx
dWVzdC5oZWFkZXJzLmdldCgicmVmZXJlciIsICIiKQorICAgIHJlc3BvbnNlX2hlYWRlcnMgPSBb
KCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2NyaXB0IildOworICAgIHJldHVybiAoMjAwLCBy
ZXNwb25zZV9oZWFkZXJzLCAid2luZG93LnJlZmVycmVyID0gJyIgKyByZWZlcnJlciArICInIikK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N0YXRpYy1pbXBvcnQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zdGF0aWMtaW1wb3J0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhOTdk
ZDFhMzI2NTJiOWY0MWVkY2I1NmVlZmUxOTdlYzQyNzZjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zdGF0aWMtaW1wb3J0LnB5CkBAIC0wLDAgKzEsMTYgQEAK
K2ltcG9ydCBvcywgc3lzLCB1cmxsaWIKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkpCitpbXBvcnQgc3VicmVzb3VyY2UKKworZGVm
IGdlbmVyYXRlX3BheWxvYWQocmVxdWVzdCk6CisgICAgaW1wb3J0X3VybCA9IHVybGxpYi51bnF1
b3RlKHJlcXVlc3QuR0VUWydpbXBvcnRfdXJsJ10pCisgICAgcmV0dXJuIHN1YnJlc291cmNlLmdl
dF90ZW1wbGF0ZSgic3RhdGljLWltcG9ydC5qcy50ZW1wbGF0ZSIpICUgeworICAgICAgICAiaW1w
b3J0X3VybCI6IGltcG9ydF91cmwKKyAgICB9CisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKKyAgICBwYXlsb2FkX2dlbmVyYXRvciA9IGxhbWJkYSBfOiBnZW5lcmF0ZV9wYXlsb2FkKHJl
cXVlc3QpCisgICAgc3VicmVzb3VyY2UucmVzcG9uZChyZXF1ZXN0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkX2dlbmVy
YXRvciA9IHBheWxvYWRfZ2VuZXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu
dF90eXBlID0gImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVy
ZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc3RhdGljLWltcG9ydC5qcy50ZW1wbGF0ZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBvcnQuanMudGVtcGxhdGUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDk1NDU5YjU0NzUzYTc2MDljZDQ2NDA4OGFhMGU4M2I3ZTRhNTA4NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBv
cnQuanMudGVtcGxhdGUKQEAgLTAsMCArMSBAQAoraW1wb3J0ICclKGltcG9ydF91cmwpcyc7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS90ZW1wbGF0ZS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCmluZGV4
IDM2ODE2NDRmNDU4ZjZkNWRhYzhhNGI1NTJkMjNjMDBlZjJhMDNhY2YuLjAzYjIwZWI1NGY3ZDIw
OTk2N2M2MjdhYjcyODY4ZWFmN2UyNTk3MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJl
c291cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291
cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCkBAIC0xOSw2ICsxOSw3IEBAIExpc3Qgb2YgZmls
ZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvaW1hZ2UuY3NzLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc2NyaXB0LmpzLnRlbXBsYXRlCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJp
dHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc2hhcmVkLXdvcmtlci5qcy50ZW1wbGF0
ZQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBvcnQuanMudGVt
cGxhdGUKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS90ZW1wbGF0ZS9zdmcuY3NzLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc3ZnLmVtYmVkZGVkLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvd29ya2VyLmpzLnRlbXBsYXRlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQubG9nCmluZGV4IDE3YWMzYzdjYmQzNmEyZWMy
NjA3ZWJmN2NhYjY5MTNlOTU2ZTQyM2UuLmM0MWQzMzU0OGU3NzlkMjczMmJmMjhlNWRkNDI2MzAw
N2U1ZmU3NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29t
bW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQubG9nCkBAIC0yMCw4
ICsyMCwxMCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL2VtcHR5
LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvZm9udC5weQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJl
c291cmNlL2ltYWdlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvcmVmZXJyZXIucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zY3JpcHQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJj
ZS9zaGFyZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc3RhdGljLWltcG9y
dC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N0eWxlc2hlZXQucHkKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJl
cy9zdWJyZXNvdXJjZS9zdWJyZXNvdXJjZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N2
Zy5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZm9ybWF0X3NwZWNfc3JjX2pzb24u
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9z
ZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3JtYXRfc3BlY19zcmNfanNvbi5weQppbmRleCBiNDU0
OWJiNzEwY2QxMTllODdjYTRhNDFkNjVkNzk4MGI2YjQwNDA2Li5kMWJmNTgxN2FkMjA4ZjNhZThj
YzE2YjNhZDExY2MwZDMxMGQzNWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3Jt
YXRfc3BlY19zcmNfanNvbi5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3JtYXRfc3BlY19z
cmNfanNvbi5weQpAQCAtNyw3ICs3LDkgQEAgZGVmIG1haW4oKToKICAgICAnJydGb3JtYXRzIHNw
ZWMuc3JjLmpzb24uJycnCiAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZShv
cy5wYXRoLmFic3BhdGgoX19maWxlX18pKQogICAgIGZvciBkaXIgaW4gWwotICAgICAgICAgICAg
J21peGVkLWNvbnRlbnQnLCAncmVmZXJyZXItcG9saWN5JywgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVx
dWVzdHMnCisgICAgICAgICAgICAnbWl4ZWQtY29udGVudCcsICdyZWZlcnJlci1wb2xpY3knLCAn
cmVmZXJyZXItcG9saWN5LzRLLTEnLAorICAgICAgICAgICAgJ3JlZmVycmVyLXBvbGljeS80Sycs
ICdyZWZlcnJlci1wb2xpY3kvNEsrMScsCisgICAgICAgICAgICAndXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cycKICAgICBdOgogICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihzY3JpcHRf
ZGlyZWN0b3J5LCAnLi4nLCAnLi4nLCAnLi4nLCBkaXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdzcGVjLnNyYy5qc29uJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xz
L2dlbmVyYXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUucHkKaW5kZXggNmZhYzE5
ODI3YWExMDQzYWQ3ZDMyNDRjZjc4ZjQ0YThlZDBiNWNiYy4uNzcxMGE4MjRiMmRjMTliZDc2MjAz
ZjRkNjRlZjdiMzI5ZmQxY2EzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJh
dGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUucHkKQEAgLTEsNiArMSw5IEBA
CisjIS91c3IvYmluL2VudiBweXRob24KKwogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
dW5jdGlvbgogCiBpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IGNv
cHkKIGltcG9ydCBqc29uCiBpbXBvcnQgb3MKQEAgLTUxLDExICs1NCw3IEBAIGRlZiBwZXJtdXRl
X2V4cGFuc2lvbihleHBhbnNpb24sCiAKIAogIyBEdW1wcyB0aGUgdGVzdCBjb25maWcgYHNlbGVj
dGlvbmAgaW50byBhIHNlcmlhbGl6ZWQgSlNPTiBzdHJpbmcuCi0jIFdlIG9taXQgYG5hbWVgIHBh
cmFtZXRlciBiZWNhdXNlIGl0IGlzIG5vdCB1c2VkIGJ5IHRlc3RzLgogZGVmIGR1bXBfdGVzdF9w
YXJhbWV0ZXJzKHNlbGVjdGlvbik6Ci0gICAgc2VsZWN0aW9uID0gZGljdChzZWxlY3Rpb24pCi0g
ICAgZGVsIHNlbGVjdGlvblsnbmFtZSddCi0KICAgICByZXR1cm4ganNvbi5kdW1wcygKICAgICAg
ICAgc2VsZWN0aW9uLAogICAgICAgICBpbmRlbnQ9MiwKQEAgLTY0LDcgKzYzLDcgQEAgZGVmIGR1
bXBfdGVzdF9wYXJhbWV0ZXJzKHNlbGVjdGlvbik6CiAgICAgICAgIGNscz11dGlsLkN1c3RvbUVu
Y29kZXIpCiAKIAotZGVmIGdldF90ZXN0X2ZpbGVuYW1lKGNvbmZpZywgc2VsZWN0aW9uKToKK2Rl
ZiBnZXRfdGVzdF9maWxlbmFtZShzcGVjX2RpcmVjdG9yeSwgc3BlY19qc29uLCBzZWxlY3Rpb24p
OgogICAgICcnJ1JldHVybnMgdGhlIGZpbG5hbWUgZm9yIHRoZSBtYWluIHRlc3QgSFRNTCBmaWxl
JycnCiAKICAgICBzZWxlY3Rpb25fZm9yX2ZpbGVuYW1lID0gY29weS5kZWVwY29weShzZWxlY3Rp
b24pCkBAIC03Miw4ICs3MSw5IEBAIGRlZiBnZXRfdGVzdF9maWxlbmFtZShjb25maWcsIHNlbGVj
dGlvbik6CiAgICAgaWYgc2VsZWN0aW9uX2Zvcl9maWxlbmFtZVsnZGVsaXZlcnlfdmFsdWUnXSBp
cyBOb25lOgogICAgICAgICBzZWxlY3Rpb25fZm9yX2ZpbGVuYW1lWydkZWxpdmVyeV92YWx1ZSdd
ID0gJ3Vuc2V0JwogCi0gICAgcmV0dXJuIG9zLnBhdGguam9pbihjb25maWcuc3BlY19kaXJlY3Rv
cnksCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25maWcudGVzdF9maWxlX3BhdGhfcGF0dGVy
biAlIHNlbGVjdGlvbl9mb3JfZmlsZW5hbWUpCisgICAgcmV0dXJuIG9zLnBhdGguam9pbigKKyAg
ICAgICAgc3BlY19kaXJlY3RvcnksCisgICAgICAgIHNwZWNfanNvblsndGVzdF9maWxlX3BhdGhf
cGF0dGVybiddICUgc2VsZWN0aW9uX2Zvcl9maWxlbmFtZSkKIAogCiBkZWYgaGFuZGxlX2RlbGl2
ZXJpZXMocG9saWN5X2RlbGl2ZXJpZXMpOgpAQCAtMTI3LDkgKzEyNywxMSBAQCBkZWYgaGFuZGxl
X2RlbGl2ZXJpZXMocG9saWN5X2RlbGl2ZXJpZXMpOgogICAgIHJldHVybiB7Im1ldGEiOiBtZXRh
LCAiaGVhZGVycyI6IGhlYWRlcnN9CiAKIAotZGVmIGdlbmVyYXRlX3NlbGVjdGlvbihzcGVjX2pz
b24sIGNvbmZpZywgc2VsZWN0aW9uLCBzcGVjLAotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X2h0bWxfdGVtcGxhdGVfYmFzZW5hbWUpOgotICAgIHRlc3RfZmlsZW5hbWUgPSBnZXRfdGVzdF9m
aWxlbmFtZShjb25maWcsIHNlbGVjdGlvbikKK2RlZiBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19q
c29uLCBzZWxlY3Rpb24pOgorICAgICcnJworICAgIFJldHVybnMgYSBzY2VuYXJpbyBvYmplY3Qg
KHdpdGggYSB0b3AtbGV2ZWwgc291cmNlX2NvbnRleHRfbGlzdCBlbnRyeSwKKyAgICB3aGljaCB3
aWxsIGJlIHJlbW92ZWQgaW4gZ2VuZXJhdGVfdGVzdF9maWxlKCkgbGF0ZXIpLgorICAgICcnJwog
CiAgICAgdGFyZ2V0X3BvbGljeV9kZWxpdmVyeSA9IHV0aWwuUG9saWN5RGVsaXZlcnkoc2VsZWN0
aW9uWydkZWxpdmVyeV90eXBlJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZWN0aW9uWydkZWxpdmVyeV9rZXknXSwKQEAgLTE2NCwyOCArMTY2
LDYxIEBAIGRlZiBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19qc29uLCBjb25maWcsIHNlbGVjdGlv
biwgc3BlYywKICAgICAgICAgICAgIHRhcmdldF9wb2xpY3lfZGVsaXZlcnksIHNwZWNfanNvblsn
c3VicmVzb3VyY2Vfc2NoZW1hJ10KICAgICAgICAgICAgIFsnc3VwcG9ydGVkX2RlbGl2ZXJ5X3R5
cGUnXVtzZWxlY3Rpb25bJ3N1YnJlc291cmNlJ11dKQogCisgICAgIyBHZW5lcmF0ZSBwZXItc2Nl
bmFyaW8gdGVzdCBkZXNjcmlwdGlvbi4KKyAgICBzZWxlY3Rpb25bJ3Rlc3RfZGVzY3JpcHRpb24n
XSA9IHNwZWNfanNvblsKKyAgICAgICAgJ3Rlc3RfZGVzY3JpcHRpb25fdGVtcGxhdGUnXSAlIHNl
bGVjdGlvbgorCisgICAgcmV0dXJuIHNlbGVjdGlvbgorCisKK2RlZiBnZW5lcmF0ZV90ZXN0X2Zp
bGUoc3BlY19kaXJlY3RvcnksIHRlc3RfaGVscGVyX2ZpbGVuYW1lcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF9odG1sX3RlbXBsYXRlX2Jhc2VuYW1lLCB0ZXN0X2ZpbGVuYW1lLCBzY2Vu
YXJpb3MpOgorICAgICcnJworICAgIEdlbmVyYXRlcyBhIHRlc3QgSFRNTCBmaWxlIChhbmQgcG9z
c2libHkgaXRzIGFzc29jaWF0ZWQgLmhlYWRlcnMgZmlsZSkKKyAgICBmcm9tIGBzY2VuYXJpb3Ng
LgorICAgICcnJworCisgICAgIyBTY2VuYXJpb3MgZm9yIHRoZSBzYW1lIGZpbGUgc2hvdWxkIGhh
dmUgdGhlIHNhbWUgYHNvdXJjZV9jb250ZXh0X2xpc3RgLAorICAgICMgaW5jbHVkaW5nIHRoZSB0
b3AtbGV2ZWwgb25lLgorICAgICMgTm90ZTogY3VycmVudGx5LCBub24tdG9wLWxldmVsIHNvdXJj
ZSBjb250ZXh0cyBhcmVuJ3QgbmVjZXNzYXJpbHkgcmVxdWlyZWQKKyAgICAjIHRvIGJlIHRoZSBz
YW1lLCBidXQgd2Ugc2V0IHRoaXMgcmVxdWlyZW1lbnQgYXMgaXQgd2lsbCBiZSB1c2VmdWwgZS5n
LiB3aGVuCisgICAgIyB3ZSBlLmcuIHJldXNlIGEgd29ya2VyIGFtb25nIG11bHRpcGxlIHNjZW5h
cmlvcy4KKyAgICBmb3Igc2NlbmFyaW8gaW4gc2NlbmFyaW9zOgorICAgICAgICBhc3NlcnQgKHNj
ZW5hcmlvWydzb3VyY2VfY29udGV4dF9saXN0J10gPT0gc2NlbmFyaW9zWzBdCisgICAgICAgICAg
ICAgICAgWydzb3VyY2VfY29udGV4dF9saXN0J10pCisKICAgICAjIFdlIHByb2Nlc3MgdGhlIHRv
cCBzb3VyY2UgY29udGV4dCBiZWxvdywgYW5kIGRvIG5vdCBpbmNsdWRlIGl0IGluCi0gICAgIyBg
c2NlbmFyaW9gIGZpZWxkIGluIEphdmFTY3JpcHQuCi0gICAgdG9wX3NvdXJjZV9jb250ZXh0ID0g
c2VsZWN0aW9uWydzb3VyY2VfY29udGV4dF9saXN0J10ucG9wKDApCisgICAgIyB0aGUgSlNPTiBv
YmplY3RzIChpLmUuIGBzY2VuYXJpb3NgKSBpbiBnZW5lcmF0ZWQgSFRNTCBmaWxlcy4KKyAgICB0
b3Bfc291cmNlX2NvbnRleHQgPSBzY2VuYXJpb3NbMF1bJ3NvdXJjZV9jb250ZXh0X2xpc3QnXS5w
b3AoMCkKICAgICBhc3NlcnQgKHRvcF9zb3VyY2VfY29udGV4dC5zb3VyY2VfY29udGV4dF90eXBl
ID09ICd0b3AnKQorICAgIGZvciBzY2VuYXJpbyBpbiBzY2VuYXJpb3NbMTpdOgorICAgICAgICBh
c3NlcnQgKHNjZW5hcmlvWydzb3VyY2VfY29udGV4dF9saXN0J10ucG9wKDApID09IHRvcF9zb3Vy
Y2VfY29udGV4dCkKIAotICAgICMgQWRqdXN0IHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIHRlc3QgaW52
b2tpbmcgSlMuIEluZGVudCBpdCB0byBsb29rIG5pY2UuCi0gICAgaW5kZW50ID0gIlxuIiArICIg
IiAqIDgKLSAgICBzZWxlY3Rpb25bJ3NjZW5hcmlvJ10gPSBkdW1wX3Rlc3RfcGFyYW1ldGVycyhz
ZWxlY3Rpb24pLnJlcGxhY2UoCi0gICAgICAgICJcbiIsIGluZGVudCkKKyAgICBwYXJhbWV0ZXJz
ID0ge30KIAotICAgIHNlbGVjdGlvblsnc3BlY19uYW1lJ10gPSBzcGVjWyduYW1lJ10KLSAgICBz
ZWxlY3Rpb25bCi0gICAgICAgICd0ZXN0X3BhZ2VfdGl0bGUnXSA9IGNvbmZpZy50ZXN0X3BhZ2Vf
dGl0bGVfdGVtcGxhdGUgJSBzcGVjWyd0aXRsZSddCi0gICAgc2VsZWN0aW9uWydzcGVjX2Rlc2Ny
aXB0aW9uJ10gPSBzcGVjWydkZXNjcmlwdGlvbiddCi0gICAgc2VsZWN0aW9uWydzcGVjX3NwZWNp
ZmljYXRpb25fdXJsJ10gPSBzcGVjWydzcGVjaWZpY2F0aW9uX3VybCddCi0gICAgc2VsZWN0aW9u
WydoZWxwZXJfanMnXSA9IGNvbmZpZy5oZWxwZXJfanMKLSAgICBzZWxlY3Rpb25bJ3Nhbml0eV9j
aGVja2VyX2pzJ10gPSBjb25maWcuc2FuaXR5X2NoZWNrZXJfanMKLSAgICBzZWxlY3Rpb25bJ3Nw
ZWNfanNvbl9qcyddID0gY29uZmlnLnNwZWNfanNvbl9qcworICAgICMgU29ydCBzY2VuYXJpb3Ms
IHRvIGF2b2lkIHVubmVjZXNzYXJ5IGRpZmZzIGR1ZSB0byBkaWZmZXJlbnQgb3JkZXJzIGluCisg
ICAgIyBgc2NlbmFyaW9zYC4KKyAgICBzZXJpYWxpemVkX3NjZW5hcmlvcyA9IHNvcnRlZCgKKyAg
ICAgICAgW2R1bXBfdGVzdF9wYXJhbWV0ZXJzKHNjZW5hcmlvKSBmb3Igc2NlbmFyaW8gaW4gc2Nl
bmFyaW9zXSkKKworICAgIHBhcmFtZXRlcnNbJ3NjZW5hcmlvcyddID0gIixcbiIuam9pbihzZXJp
YWxpemVkX3NjZW5hcmlvcykucmVwbGFjZSgKKyAgICAgICAgIlxuIiwgIlxuIiArICIgIiAqIDEw
KQogCi0gICAgdGVzdF9oZWFkZXJzX2ZpbGVuYW1lID0gdGVzdF9maWxlbmFtZSArICIuaGVhZGVy
cyIKICAgICB0ZXN0X2RpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZSh0ZXN0X2ZpbGVuYW1lKQog
CisgICAgcGFyYW1ldGVyc1snaGVscGVyX2pzJ10gPSAiIgorICAgIGZvciB0ZXN0X2hlbHBlcl9m
aWxlbmFtZSBpbiB0ZXN0X2hlbHBlcl9maWxlbmFtZXM6CisgICAgICAgIHBhcmFtZXRlcnNbJ2hl
bHBlcl9qcyddICs9ICcgICAgPHNjcmlwdCBzcmM9IiVzIj48L3NjcmlwdD5cbicgJSAoCisgICAg
ICAgICAgICBvcy5wYXRoLnJlbHBhdGgodGVzdF9oZWxwZXJfZmlsZW5hbWUsIHRlc3RfZGlyZWN0
b3J5KSkKKyAgICBwYXJhbWV0ZXJzWydzYW5pdHlfY2hlY2tlcl9qcyddID0gb3MucGF0aC5yZWxw
YXRoKAorICAgICAgICBvcy5wYXRoLmpvaW4oc3BlY19kaXJlY3RvcnksICdnZW5lcmljJywgJ3Nh
bml0eS1jaGVja2VyLmpzJyksCisgICAgICAgIHRlc3RfZGlyZWN0b3J5KQorICAgIHBhcmFtZXRl
cnNbJ3NwZWNfanNvbl9qcyddID0gb3MucGF0aC5yZWxwYXRoKAorICAgICAgICBvcy5wYXRoLmpv
aW4oc3BlY19kaXJlY3RvcnksICdnZW5lcmljJywgJ3NwZWNfanNvbi5qcycpLAorICAgICAgICB0
ZXN0X2RpcmVjdG9yeSkKKworICAgIHRlc3RfaGVhZGVyc19maWxlbmFtZSA9IHRlc3RfZmlsZW5h
bWUgKyAiLmhlYWRlcnMiCisKICAgICB0ZXN0X2h0bWxfdGVtcGxhdGUgPSB1dGlsLmdldF90ZW1w
bGF0ZSh0ZXN0X2h0bWxfdGVtcGxhdGVfYmFzZW5hbWUpCiAgICAgZGlzY2xhaW1lcl90ZW1wbGF0
ZSA9IHV0aWwuZ2V0X3RlbXBsYXRlKCdkaXNjbGFpbWVyLnRlbXBsYXRlJykKIApAQCAtMTk0LDE1
ICsyMjksMTEgQEAgZGVmIGdlbmVyYXRlX3NlbGVjdGlvbihzcGVjX2pzb24sIGNvbmZpZywgc2Vs
ZWN0aW9uLCBzcGVjLAogICAgIGdlbmVyYXRlZF9kaXNjbGFpbWVyID0gZGlzY2xhaW1lcl90ZW1w
bGF0ZSBcCiAgICAgICAgICUgeydnZW5lcmF0aW5nX3NjcmlwdF9maWxlbmFtZSc6IG9zLnBhdGgu
cmVscGF0aChzeXMuYXJndlswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSksCi0gICAgICAg
ICAgICdodG1sX3RlbXBsYXRlX2ZpbGVuYW1lJzogb3MucGF0aC5yZWxwYXRoKGh0bWxfdGVtcGxh
dGVfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSl9CisgICAgICAgICAgICdzcGVjX2Rp
cmVjdG9yeSc6IG9zLnBhdGgucmVscGF0aChzcGVjX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSl9
CiAKICAgICAjIEFkanVzdCB0aGUgdGVtcGxhdGUgZm9yIHRoZSB0ZXN0IGludm9raW5nIEpTLiBJ
bmRlbnQgaXQgdG8gbG9vayBuaWNlLgotICAgIHNlbGVjdGlvblsnZ2VuZXJhdGVkX2Rpc2NsYWlt
ZXInXSA9IGdlbmVyYXRlZF9kaXNjbGFpbWVyLnJzdHJpcCgpCi0gICAgc2VsZWN0aW9uWwotICAg
ICAgICAndGVzdF9kZXNjcmlwdGlvbiddID0gY29uZmlnLnRlc3RfZGVzY3JpcHRpb25fdGVtcGxh
dGUgJSBzZWxlY3Rpb24KLSAgICBzZWxlY3Rpb25bJ3Rlc3RfZGVzY3JpcHRpb24nXSA9IFwKLSAg
ICAgICAgc2VsZWN0aW9uWyd0ZXN0X2Rlc2NyaXB0aW9uJ10ucnN0cmlwKCkucmVwbGFjZSgiXG4i
LCAiXG4iICsgIiAiICogMzMpCisgICAgcGFyYW1ldGVyc1snZ2VuZXJhdGVkX2Rpc2NsYWltZXIn
XSA9IGdlbmVyYXRlZF9kaXNjbGFpbWVyLnJzdHJpcCgpCiAKICAgICAjIERpcmVjdG9yeSBmb3Ig
dGhlIHRlc3QgZmlsZXMuCiAgICAgdHJ5OgpAQCAtMjE3LDQyICsyNDgsNTQgQEAgZGVmIGdlbmVy
YXRlX3NlbGVjdGlvbihzcGVjX2pzb24sIGNvbmZpZywgc2VsZWN0aW9uLCBzcGVjLAogICAgICAg
ICAgICAgZm9yIGhlYWRlciBpbiBkZWxpdmVyeVsnaGVhZGVycyddOgogICAgICAgICAgICAgICAg
IGYud3JpdGUoJyVzOiAlc1xuJyAlIChoZWFkZXIsIGRlbGl2ZXJ5WydoZWFkZXJzJ11baGVhZGVy
XSkpCiAKLSAgICBzZWxlY3Rpb25bJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10gPSBkZWxpdmVyeVsn
bWV0YSddCisgICAgcGFyYW1ldGVyc1snbWV0YV9kZWxpdmVyeV9tZXRob2QnXSA9IGRlbGl2ZXJ5
WydtZXRhJ10KICAgICAjIE9iZXkgdGhlIGxpbnQgYW5kIHByZXR0eSBmb3JtYXQuCi0gICAgaWYg
bGVuKHNlbGVjdGlvblsnbWV0YV9kZWxpdmVyeV9tZXRob2QnXSkgPiAwOgotICAgICAgICBzZWxl
Y3Rpb25bJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10gPSAiXG4gICAgIiArIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uWydtZXRhX2RlbGl2ZXJ5
X21ldGhvZCddCisgICAgaWYgbGVuKHBhcmFtZXRlcnNbJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10p
ID4gMDoKKyAgICAgICAgcGFyYW1ldGVyc1snbWV0YV9kZWxpdmVyeV9tZXRob2QnXSA9ICJcbiAg
ICAiICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJh
bWV0ZXJzWydtZXRhX2RlbGl2ZXJ5X21ldGhvZCddCiAKICAgICAjIFdyaXRlIG91dCB0aGUgZ2Vu
ZXJhdGVkIEhUTUwgZmlsZS4KLSAgICB1dGlsLndyaXRlX2ZpbGUodGVzdF9maWxlbmFtZSwgdGVz
dF9odG1sX3RlbXBsYXRlICUgc2VsZWN0aW9uKQorICAgIHV0aWwud3JpdGVfZmlsZSh0ZXN0X2Zp
bGVuYW1lLCB0ZXN0X2h0bWxfdGVtcGxhdGUgJSBwYXJhbWV0ZXJzKQogCiAKLWRlZiBnZW5lcmF0
ZV90ZXN0X3NvdXJjZV9maWxlcyhjb25maWcsIHNwZWNfanNvbiwgdGFyZ2V0KToKK2RlZiBnZW5l
cmF0ZV90ZXN0X3NvdXJjZV9maWxlcyhzcGVjX2RpcmVjdG9yeSwgdGVzdF9oZWxwZXJfZmlsZW5h
bWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNfanNvbiwgdGFyZ2V0KToK
ICAgICB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEgPSBzcGVjX2pzb25bJ3Rlc3RfZXhwYW5zaW9uX3Nj
aGVtYSddCiAgICAgc3BlY2lmaWNhdGlvbiA9IHNwZWNfanNvblsnc3BlY2lmaWNhdGlvbiddCiAK
LSAgICBzcGVjX2pzb25fanNfdGVtcGxhdGUgPSB1dGlsLmdldF90ZW1wbGF0ZSgnc3BlY19qc29u
LmpzLnRlbXBsYXRlJykKLSAgICBnZW5lcmF0ZWRfc3BlY19qc29uX2ZpbGVuYW1lID0gb3MucGF0
aC5qb2luKGNvbmZpZy5zcGVjX2RpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzcGVjX2pzb24uanMiKQotICAgIHV0aWwud3JpdGVfZmls
ZSgKLSAgICAgICAgZ2VuZXJhdGVkX3NwZWNfanNvbl9maWxlbmFtZSwKLSAgICAgICAgc3BlY19q
c29uX2pzX3RlbXBsYXRlICUgeydzcGVjX2pzb24nOiBqc29uLmR1bXBzKHNwZWNfanNvbil9KQor
ICAgIGlmIHRhcmdldCA9PSAiZGVidWciOgorICAgICAgICBzcGVjX2pzb25fanNfdGVtcGxhdGUg
PSB1dGlsLmdldF90ZW1wbGF0ZSgnc3BlY19qc29uLmpzLnRlbXBsYXRlJykKKyAgICAgICAgdXRp
bC53cml0ZV9maWxlKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNwZWNfZGlyZWN0b3J5LCAi
Z2VuZXJpYyIsICJzcGVjX2pzb24uanMiKSwKKyAgICAgICAgICAgIHNwZWNfanNvbl9qc190ZW1w
bGF0ZSAlIHsnc3BlY19qc29uJzoganNvbi5kdW1wcyhzcGVjX2pzb24pfSkKKyAgICAgICAgdXRp
bC53cml0ZV9maWxlKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNwZWNfZGlyZWN0b3J5LCAi
Z2VuZXJpYyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgImRlYnVnLW91dHB1dC5zcGVjLnNy
Yy5qc29uIiksCisgICAgICAgICAgICBqc29uLmR1bXBzKHNwZWNfanNvbiwgaW5kZW50PTIsIHNl
cGFyYXRvcnM9KCcsJywgJzogJykpKQogCiAgICAgIyBDaG9vc2UgYSBkZWJ1Zy9yZWxlYXNlIHRl
bXBsYXRlIGRlcGVuZGluZyBvbiB0aGUgdGFyZ2V0LgogICAgIGh0bWxfdGVtcGxhdGUgPSAidGVz
dC4lcy5odG1sLnRlbXBsYXRlIiAlIHRhcmdldAogCi0gICAgYXJ0aWZhY3Rfb3JkZXIgPSB0ZXN0
X2V4cGFuc2lvbl9zY2hlbWEua2V5cygpICsgWyduYW1lJ10KKyAgICBhcnRpZmFjdF9vcmRlciA9
IHRlc3RfZXhwYW5zaW9uX3NjaGVtYS5rZXlzKCkKICAgICBhcnRpZmFjdF9vcmRlci5yZW1vdmUo
J2V4cGFuc2lvbicpCiAKKyAgICBleGNsdWRlZF9zZWxlY3Rpb25fcGF0dGVybiA9ICcnCisgICAg
Zm9yIGtleSBpbiBhcnRpZmFjdF9vcmRlcjoKKyAgICAgICAgZXhjbHVkZWRfc2VsZWN0aW9uX3Bh
dHRlcm4gKz0gJyUoJyArIGtleSArICcpcy8nCisKICAgICAjIENyZWF0ZSBsaXN0IG9mIGV4Y2x1
ZGVkIHRlc3RzLgotICAgIGV4Y2x1c2lvbl9kaWN0ID0ge30KKyAgICBleGNsdXNpb25fZGljdCA9
IHNldCgpCiAgICAgZm9yIGV4Y2x1ZGVkX3BhdHRlcm4gaW4gc3BlY19qc29uWydleGNsdWRlZF90
ZXN0cyddOgogICAgICAgICBleGNsdWRlZF9leHBhbnNpb24gPSBcCiAgICAgICAgICAgICBleHBh
bmRfcGF0dGVybihleGNsdWRlZF9wYXR0ZXJuLCB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEpCiAgICAg
ICAgIGZvciBleGNsdWRlZF9zZWxlY3Rpb24gaW4gcGVybXV0ZV9leHBhbnNpb24oZXhjbHVkZWRf
ZXhwYW5zaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFydGlmYWN0X29yZGVyKToKLSAgICAgICAgICAgIGV4Y2x1ZGVkX3NlbGVjdGlvbl9w
YXRoID0gY29uZmlnLnNlbGVjdGlvbl9wYXR0ZXJuICUgZXhjbHVkZWRfc2VsZWN0aW9uCi0gICAg
ICAgICAgICBleGNsdXNpb25fZGljdFtleGNsdWRlZF9zZWxlY3Rpb25fcGF0aF0gPSBUcnVlCisg
ICAgICAgICAgICBleGNsdWRlZF9zZWxlY3Rpb25bJ2RlbGl2ZXJ5X2tleSddID0gc3BlY19qc29u
WydkZWxpdmVyeV9rZXknXQorICAgICAgICAgICAgZXhjbHVzaW9uX2RpY3QuYWRkKGV4Y2x1ZGVk
X3NlbGVjdGlvbl9wYXR0ZXJuICUgZXhjbHVkZWRfc2VsZWN0aW9uKQorCisgICAgIyBgc2NlbmFy
aW9zW2ZpbGVuYW1lXWAgcmVwcmVzZW50cyB0aGUgbGlzdCBvZiBzY2VuYXJpbyBvYmplY3RzIHRv
IGJlCisgICAgIyBnZW5lcmF0ZWQgaW50byBgZmlsZW5hbWVgLgorICAgIHNjZW5hcmlvcyA9IHt9
CiAKICAgICBmb3Igc3BlYyBpbiBzcGVjaWZpY2F0aW9uOgogICAgICAgICAjIFVzZWQgdG8gbWFr
ZSBlbnRyaWVzIHdpdGggZXhwYW5zaW9uPSJvdmVycmlkZSIgb3ZlcnJpZGUgcHJlY2VkaW5nCkBA
IC0yNjQsMjkgKzMwNyw1MSBAQCBkZWYgZ2VuZXJhdGVfdGVzdF9zb3VyY2VfZmlsZXMoY29uZmln
LCBzcGVjX2pzb24sIHRhcmdldCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEpCiAgICAgICAgICAgICBmb3Igc2VsZWN0aW9uIGlu
IHBlcm11dGVfZXhwYW5zaW9uKGV4cGFuc2lvbiwgYXJ0aWZhY3Rfb3JkZXIpOgogICAgICAgICAg
ICAgICAgIHNlbGVjdGlvblsnZGVsaXZlcnlfa2V5J10gPSBzcGVjX2pzb25bJ2RlbGl2ZXJ5X2tl
eSddCi0gICAgICAgICAgICAgICAgc2VsZWN0aW9uX3BhdGggPSBjb25maWcuc2VsZWN0aW9uX3Bh
dHRlcm4gJSBzZWxlY3Rpb24KLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZWN0aW9uX3BhdGgg
aW4gZXhjbHVzaW9uX2RpY3Q6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGVjdGlvbl9wYXRo
IGluIG91dHB1dF9kaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXhwYW5zaW9uX3Bh
dHRlcm5bJ2V4cGFuc2lvbiddICE9ICdvdmVycmlkZSc6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJpbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvcjogJXMn
cyBleHBhbnNpb24gaXMgZGVmYXVsdCBidXQgb3ZlcnJpZGVzICVzIgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAlIChzZWxlY3Rpb25bJ25hbWUnXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3V0cHV0X2RpY3Rbc2VsZWN0aW9uX3BhdGhdWyduYW1lJ10pKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICAgICAg
ICAgIG91dHB1dF9kaWN0W3NlbGVjdGlvbl9wYXRoXSA9IGNvcHkuZGVlcGNvcHkoc2VsZWN0aW9u
KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KCdFeGNs
dWRpbmcgc2VsZWN0aW9uOicsIHNlbGVjdGlvbl9wYXRoKQorICAgICAgICAgICAgICAgIHNlbGVj
dGlvbl9wYXRoID0gc3BlY19qc29uWydzZWxlY3Rpb25fcGF0dGVybiddICUgc2VsZWN0aW9uCisg
ICAgICAgICAgICAgICAgaWYgc2VsZWN0aW9uX3BhdGggaW4gb3V0cHV0X2RpY3Q6CisgICAgICAg
ICAgICAgICAgICAgIGlmIGV4cGFuc2lvbl9wYXR0ZXJuWydleHBhbnNpb24nXSAhPSAnb3ZlcnJp
ZGUnOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIkVycm9yOiBleHBhbnNpb24gaXMg
ZGVmYXVsdCBpbjoiKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZHVtcF90ZXN0X3Bh
cmFtZXRlcnMoc2VsZWN0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCJidXQg
b3ZlcnJpZGVzOiIpCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludChkdW1wX3Rlc3RfcGFy
YW1ldGVycygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGljdFtzZWxlY3Rp
b25fcGF0aF0pKQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAg
ICAgICAgICBvdXRwdXRfZGljdFtzZWxlY3Rpb25fcGF0aF0gPSBjb3B5LmRlZXBjb3B5KHNlbGVj
dGlvbikKIAogICAgICAgICBmb3Igc2VsZWN0aW9uX3BhdGggaW4gb3V0cHV0X2RpY3Q6CiAgICAg
ICAgICAgICBzZWxlY3Rpb24gPSBvdXRwdXRfZGljdFtzZWxlY3Rpb25fcGF0aF0KKyAgICAgICAg
ICAgIGlmIChleGNsdWRlZF9zZWxlY3Rpb25fcGF0dGVybiAlIHNlbGVjdGlvbikgaW4gZXhjbHVz
aW9uX2RpY3Q6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0V4Y2x1ZGluZyBzZWxlY3Rpb246Jywg
c2VsZWN0aW9uX3BhdGgpCisgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHRy
eToKLSAgICAgICAgICAgICAgICBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19qc29uLCBjb25maWcs
IHNlbGVjdGlvbiwgc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRt
bF90ZW1wbGF0ZSkKKyAgICAgICAgICAgICAgICB0ZXN0X2ZpbGVuYW1lID0gZ2V0X3Rlc3RfZmls
ZW5hbWUoc3BlY19kaXJlY3RvcnksIHNwZWNfanNvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uKQorICAgICAgICAgICAgICAgIHNj
ZW5hcmlvID0gZ2VuZXJhdGVfc2VsZWN0aW9uKHNwZWNfanNvbiwgc2VsZWN0aW9uKQorICAgICAg
ICAgICAgICAgIHNjZW5hcmlvc1t0ZXN0X2ZpbGVuYW1lXSA9IHNjZW5hcmlvcy5nZXQodGVzdF9m
aWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtdKSArIFtzY2VuYXJpb10KICAgICAgICAgICAgIGV4Y2VwdCB1dGlsLlNob3Vs
ZFNraXA6CiAgICAgICAgICAgICAgICAgY29udGludWUKIAorICAgIGZvciBmaWxlbmFtZSBpbiBz
Y2VuYXJpb3M6CisgICAgICAgIGdlbmVyYXRlX3Rlc3RfZmlsZShzcGVjX2RpcmVjdG9yeSwgdGVz
dF9oZWxwZXJfZmlsZW5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbF90ZW1w
bGF0ZSwgZmlsZW5hbWUsIHNjZW5hcmlvc1tmaWxlbmFtZV0pCiAKLWRlZiBtYWluKGNvbmZpZyk6
CisKK2RlZiBtZXJnZV9qc29uKGJhc2UsIGNoaWxkKToKKyAgICBmb3Iga2V5IGluIGNoaWxkOgor
ICAgICAgICBpZiBrZXkgbm90IGluIGJhc2U6CisgICAgICAgICAgICBiYXNlW2tleV0gPSBjaGls
ZFtrZXldCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAjIGBiYXNlW2tleV1gIGFuZCBg
Y2hpbGRba2V5XWAgYm90aCBleGlzdHMuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYmFzZVtrZXld
LCBsaXN0KSBhbmQgaXNpbnN0YW5jZShjaGlsZFtrZXldLCBsaXN0KToKKyAgICAgICAgICAgIGJh
c2Vba2V5XS5leHRlbmQoY2hpbGRba2V5XSkKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGJhc2Vb
a2V5XSwgZGljdCkgYW5kIGlzaW5zdGFuY2UoY2hpbGRba2V5XSwgZGljdCk6CisgICAgICAgICAg
ICBtZXJnZV9qc29uKGJhc2Vba2V5XSwgY2hpbGRba2V5XSkKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgIGJhc2Vba2V5XSA9IGNoaWxkW2tleV0KKworCitkZWYgbWFpbigpOgogICAgIHBhcnNl
ciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKAogICAgICAgICBkZXNjcmlwdGlvbj0nVGVzdCBz
dWl0ZSBnZW5lcmF0b3IgdXRpbGl0eScpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKQEAgLTMw
MCwxNiArMzY1LDUzIEBAIGRlZiBtYWluKGNvbmZpZyk6CiAgICAgICAgICctcycsCiAgICAgICAg
ICctLXNwZWMnLAogICAgICAgICB0eXBlPXN0ciwKLSAgICAgICAgZGVmYXVsdD1Ob25lLAorICAg
ICAgICBkZWZhdWx0PW9zLmdldGN3ZCgpLAogICAgICAgICBoZWxwPSdTcGVjaWZ5IGEgZmlsZSB1
c2VkIGZvciBkZXNjcmliaW5nIGFuZCBnZW5lcmF0aW5nIHRoZSB0ZXN0cycpCiAgICAgIyBUT0RP
KGtyaXN0aWphbmJ1cm5payk6IEFkZCBvcHRpb24gZm9yIHRoZSBzcGVjX2pzb24gZmlsZS4KICAg
ICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogCi0gICAgaWYgYXJncy5zcGVjOgotICAgICAg
ICBjb25maWcuc3BlY19kaXJlY3RvcnkgPSBhcmdzLnNwZWMKKyAgICBzcGVjX2RpcmVjdG9yeSA9
IG9zLnBhdGguYWJzcGF0aChhcmdzLnNwZWMpCisKKyAgICAjIFJlYWQgYHNwZWMuc3JjLmpzb25g
IGZpbGVzLCBzdGFydGluZyBmcm9tIGBzcGVjX2RpcmVjdG9yeWAsIGFuZAorICAgICMgY29udGlu
dWluZyB0byBwYXJlbnQgZGlyZWN0b3JpZXMgYXMgbG9uZyBhcyBgc3BlYy5zcmMuanNvbmAgZXhp
c3RzLgorICAgIHNwZWNfZmlsZW5hbWVzID0gW10KKyAgICB0ZXN0X2hlbHBlcl9maWxlbmFtZXMg
PSBbXQorICAgIHNwZWNfc3JjX2RpcmVjdG9yeSA9IHNwZWNfZGlyZWN0b3J5CisgICAgd2hpbGUg
bGVuKHNwZWNfc3JjX2RpcmVjdG9yeSkgPj0gbGVuKHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSk6
CisgICAgICAgIHNwZWNfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oc3BlY19zcmNfZGlyZWN0b3J5
LCAic3BlYy5zcmMuanNvbiIpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzcGVjX2Zp
bGVuYW1lKToKKyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNwZWNfZmlsZW5hbWVzLmFwcGVu
ZChzcGVjX2ZpbGVuYW1lKQorICAgICAgICB0ZXN0X2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHNw
ZWNfc3JjX2RpcmVjdG9yeSwgJ2dlbmVyaWMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd0ZXN0LWNhc2Uuc3ViLmpzJykKKyAgICAgICAgYXNzZXJ0IChvcy5wYXRoLmV4
aXN0cyh0ZXN0X2ZpbGVuYW1lKSkKKyAgICAgICAgdGVzdF9oZWxwZXJfZmlsZW5hbWVzLmFwcGVu
ZCh0ZXN0X2ZpbGVuYW1lKQorICAgICAgICBzcGVjX3NyY19kaXJlY3RvcnkgPSBvcy5wYXRoLmFi
c3BhdGgoCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3BlY19zcmNfZGlyZWN0b3J5LCAiLi4i
KSkKKworICAgIHNwZWNfZmlsZW5hbWVzID0gbGlzdChyZXZlcnNlZChzcGVjX2ZpbGVuYW1lcykp
CisgICAgdGVzdF9oZWxwZXJfZmlsZW5hbWVzID0gbGlzdChyZXZlcnNlZCh0ZXN0X2hlbHBlcl9m
aWxlbmFtZXMpKQorCisgICAgaWYgbGVuKHNwZWNfZmlsZW5hbWVzKSA9PSAwOgorICAgICAgICBw
cmludCgnRXJyb3I6IE5vIHNwZWMuc3JjLmpzb24gaXMgZm91bmQgYXQgJXMuJyAlIHNwZWNfZGly
ZWN0b3J5KQorICAgICAgICByZXR1cm4KKworICAgICMgTG9hZCB0aGUgZGVmYXVsdCBzcGVjIEpT
T04gZmlsZSwgLi4uCisgICAgZGVmYXVsdF9zcGVjX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHV0
aWwuc2NyaXB0X2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3NwZWMuc3JjLmpzb24nKQorICAgIHNwZWNfanNvbiA9IGNvbGxlY3Rpb25zLk9yZGVy
ZWREaWN0KCkKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhkZWZhdWx0X3NwZWNfZmlsZW5hbWUpOgor
ICAgICAgICBzcGVjX2pzb24gPSB1dGlsLmxvYWRfc3BlY19qc29uKGRlZmF1bHRfc3BlY19maWxl
bmFtZSkKKworICAgICMgLi4uIGFuZCB0aGVuIG1ha2Ugc3BlYyBKU09OIGZpbGVzIGluIHN1YmRp
cmVjdG9yaWVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0LgorICAgIGZvciBzcGVjX2ZpbGVuYW1lIGlu
IHNwZWNfZmlsZW5hbWVzOgorICAgICAgICBjaGlsZF9zcGVjX2pzb24gPSB1dGlsLmxvYWRfc3Bl
Y19qc29uKHNwZWNfZmlsZW5hbWUpCisgICAgICAgIG1lcmdlX2pzb24oc3BlY19qc29uLCBjaGls
ZF9zcGVjX2pzb24pCiAKLSAgICBzcGVjX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKGNvbmZpZy5z
cGVjX2RpcmVjdG9yeSwgInNwZWMuc3JjLmpzb24iKQotICAgIHNwZWNfanNvbiA9IHV0aWwubG9h
ZF9zcGVjX2pzb24oc3BlY19maWxlbmFtZSkKICAgICBzcGVjX3ZhbGlkYXRvci5hc3NlcnRfdmFs
aWRfc3BlY19qc29uKHNwZWNfanNvbikKKyAgICBnZW5lcmF0ZV90ZXN0X3NvdXJjZV9maWxlcyhz
cGVjX2RpcmVjdG9yeSwgdGVzdF9oZWxwZXJfZmlsZW5hbWVzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNwZWNfanNvbiwgYXJncy50YXJnZXQpCisKIAotICAgIGdlbmVyYXRlX3Rl
c3Rfc291cmNlX2ZpbGVzKGNvbmZpZywgc3BlY19qc29uLCBhcmdzLnRhcmdldCkKK2lmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90
b29scy9zcGVjLnNyYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlYy5zcmMuanNvbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YzhmOTdhZDJlZWYyMmE0MWRjNDg2MThlOGZlNTNiOTEzYzI1OWE0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlYy5zcmMuanNvbgpAQCAtMCwwICsxLDU0
NiBAQAoreworICAic2VsZWN0aW9uX3BhdHRlcm4iOiAiJShzb3VyY2VfY29udGV4dF9saXN0KXMu
JShkZWxpdmVyeV90eXBlKXMvJShkZWxpdmVyeV92YWx1ZSlzLyUoc3VicmVzb3VyY2Upcy8lKG9y
aWdpbilzLiUocmVkaXJlY3Rpb24pcy4lKHNvdXJjZV9zY2hlbWUpcyIsCisgICJ0ZXN0X2ZpbGVf
cGF0aF9wYXR0ZXJuIjogImdlbi8lKHNvdXJjZV9jb250ZXh0X2xpc3Qpcy4lKGRlbGl2ZXJ5X3R5
cGUpcy8lKGRlbGl2ZXJ5X3ZhbHVlKXMvJShzdWJyZXNvdXJjZSlzLiUoc291cmNlX3NjaGVtZSlz
Lmh0bWwiLAorICAiZXhjbHVkZWRfdGVzdHMiOiBbCisgICAgeworICAgICAgLy8gV29ya2VycyBh
cmUgc2FtZS1vcmlnaW4gb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3Vy
Y2Vfc2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAg
ICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAg
ICAgICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6IFsKKyAgICAgICAg
Indvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgIndvcmtlci1tb2R1bGUiLAorICAgICAgICAic2hh
cmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAic2hhcmVkd29ya2VyLW1vZHVsZSIKKyAgICAg
IF0sCisgICAgICAib3JpZ2luIjogWworICAgICAgICAiY3Jvc3MtaHR0cHMiLAorICAgICAgICAi
Y3Jvc3MtaHR0cCIsCisgICAgICAgICJjcm9zcy1odHRwLWRvd25ncmFkZSIsCisgICAgICAgICJj
cm9zcy13c3MiLAorICAgICAgICAiY3Jvc3Mtd3MiLAorICAgICAgICAiY3Jvc3Mtd3MtZG93bmdy
YWRlIgorICAgICAgXSwKKyAgICAgICJleHBlY3RhdGlvbiI6ICIqIgorICAgIH0sCisgICAgewor
ICAgICAgLy8gV29ya2VycyBhcmUgc2FtZS1vcmlnaW4gb25seSAocmVkaXJlY3RzKQorICAgICAg
ImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3VyY2Vfc2NoZW1lIjogIioiLAorICAgICAgInNv
dXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAgICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAg
ICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAgICAgICJyZWRpcmVjdGlvbiI6IFsKKyAgICAg
ICAgInN3YXAtb3JpZ2luIiwKKyAgICAgICAgInN3YXAtc2NoZW1lIgorICAgICAgXSwKKyAgICAg
ICJzdWJyZXNvdXJjZSI6IFsKKyAgICAgICAgIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgIndv
cmtlci1tb2R1bGUiLAorICAgICAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAi
c2hhcmVkd29ya2VyLW1vZHVsZSIKKyAgICAgIF0sCisgICAgICAib3JpZ2luIjogIioiLAorICAg
ICAgImV4cGVjdGF0aW9uIjogIioiCisgICAgfSwKKyAgICB7CisgICAgICAvLyBXZWJzb2NrZXRz
IGFyZSB3cy93c3Mtb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3VyY2Vf
c2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAgICAi
ZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAgICAg
ICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6ICJ3ZWJzb2NrZXQiLAor
ICAgICAgIm9yaWdpbiI6IFsKKyAgICAgICAgInNhbWUtaHR0cHMiLAorICAgICAgICAic2FtZS1o
dHRwIiwKKyAgICAgICAgInNhbWUtaHR0cC1kb3duZ3JhZGUiLAorICAgICAgICAiY3Jvc3MtaHR0
cHMiLAorICAgICAgICAiY3Jvc3MtaHR0cCIsCisgICAgICAgICJjcm9zcy1odHRwLWRvd25ncmFk
ZSIKKyAgICAgIF0sCisgICAgICAiZXhwZWN0YXRpb24iOiAiKiIKKyAgICB9LAorICAgIHsKKyAg
ICAgIC8vIFJlZGlyZWN0cyBhcmUgaW50ZW50aW9uYWxseSBmb3JiaWRkZW4gaW4gYnJvd3NlcnM6
CisgICAgICAvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC13ZWJzb2Nr
ZXQtZXN0YWJsaXNoCisgICAgICAvLyBXZWJzb2NrZXRzIGFyZSBuby1yZWRpcmVjdCBvbmx5Cisg
ICAgICAiZXhwYW5zaW9uIjogIioiLAorICAgICAgInNvdXJjZV9zY2hlbWUiOiAiKiIsCisgICAg
ICAic291cmNlX2NvbnRleHRfbGlzdCI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV90eXBlIjogIioi
LAorICAgICAgImRlbGl2ZXJ5X3ZhbHVlIjogIioiLAorICAgICAgInJlZGlyZWN0aW9uIjogWwor
ICAgICAgICAia2VlcC1vcmlnaW4iLAorICAgICAgICAic3dhcC1vcmlnaW4iLAorICAgICAgICAi
a2VlcC1zY2hlbWUiLAorICAgICAgICAic3dhcC1zY2hlbWUiLAorICAgICAgICAiZG93bmdyYWRl
IgorICAgICAgXSwKKyAgICAgICJzdWJyZXNvdXJjZSI6ICJ3ZWJzb2NrZXQiLAorICAgICAgIm9y
aWdpbiI6ICIqIiwKKyAgICAgICJleHBlY3RhdGlvbiI6ICIqIgorICAgIH0sCisgICAgeworICAg
ICAgLy8gd3Mvd3NzIGFyZSB3ZWJzb2NrZXQtb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwK
KyAgICAgICJzb3VyY2Vfc2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3Qi
OiAiKiIsCisgICAgICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1
ZSI6ICIqIiwKKyAgICAgICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6
IFsKKyAgICAgICAgImFyZWEtdGFnIiwKKyAgICAgICAgImEtdGFnIiwKKyAgICAgICAgImZldGNo
IiwKKyAgICAgICAgImlmcmFtZS10YWciLAorICAgICAgICAiaW1nLXRhZyIsCisgICAgICAgICJz
Y3JpcHQtdGFnIiwKKyAgICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgInNo
YXJlZHdvcmtlci1pbXBvcnQiLAorICAgICAgICAic2hhcmVkd29ya2VyLWltcG9ydC1kYXRhIiwK
KyAgICAgICAgInNoYXJlZHdvcmtlci1tb2R1bGUiLAorICAgICAgICAid29ya2VyLWNsYXNzaWMi
LAorICAgICAgICAid29ya2VyLWltcG9ydCIsCisgICAgICAgICJ3b3JrZXItaW1wb3J0LWRhdGEi
LAorICAgICAgICAid29ya2VyLW1vZHVsZSIsCisgICAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbiIs
CisgICAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbi1pbXBvcnQtZGF0YSIsCisgICAgICAgICJ3b3Jr
bGV0LWF1ZGlvIiwKKyAgICAgICAgIndvcmtsZXQtYXVkaW8taW1wb3J0LWRhdGEiLAorICAgICAg
ICAid29ya2xldC1sYXlvdXQiLAorICAgICAgICAid29ya2xldC1sYXlvdXQtaW1wb3J0LWRhdGEi
LAorICAgICAgICAid29ya2xldC1wYWludCIsCisgICAgICAgICJ3b3JrbGV0LXBhaW50LWltcG9y
dC1kYXRhIiwKKyAgICAgICAgInhociIKKyAgICAgIF0sCisgICAgICAib3JpZ2luIjogWworICAg
ICAgICAic2FtZS13c3MiLAorICAgICAgICAic2FtZS13cyIsCisgICAgICAgICJzYW1lLXdzLWRv
d25ncmFkZSIsCisgICAgICAgICJjcm9zcy13c3MiLAorICAgICAgICAiY3Jvc3Mtd3MiLAorICAg
ICAgICAiY3Jvc3Mtd3MtZG93bmdyYWRlIgorICAgICAgXSwKKyAgICAgICJleHBlY3RhdGlvbiI6
ICIqIgorICAgIH0KKyAgXSwKKyAgInNvdXJjZV9jb250ZXh0X3NjaGVtYSI6IHsKKyAgICAic3Vw
cG9ydGVkX3N1YnJlc291cmNlIjogeworICAgICAgInRvcCI6ICIqIiwKKyAgICAgICJpZnJhbWUi
OiAiKiIsCisgICAgICAiaWZyYW1lLWJsYW5rIjogIioiLAorICAgICAgInNyY2RvYyI6ICIqIiwK
KyAgICAgICJ3b3JrZXItY2xhc3NpYyI6IFsKKyAgICAgICAgInhociIsCisgICAgICAgICJmZXRj
aCIsCisgICAgICAgICJ3ZWJzb2NrZXQiLAorICAgICAgICAid29ya2VyLWNsYXNzaWMiLAorICAg
ICAgICAid29ya2VyLW1vZHVsZSIKKyAgICAgIF0sCisgICAgICAid29ya2VyLW1vZHVsZSI6IFsK
KyAgICAgICAgInhociIsCisgICAgICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiLAor
ICAgICAgICAid29ya2VyLWNsYXNzaWMiLAorICAgICAgICAid29ya2VyLW1vZHVsZSIKKyAgICAg
IF0sCisgICAgICAid29ya2VyLWNsYXNzaWMtZGF0YSI6IFsKKyAgICAgICAgInhociIsCisgICAg
ICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAgIndvcmtl
ci1tb2R1bGUtZGF0YSI6IFsKKyAgICAgICAgInhociIsCisgICAgICAgICJmZXRjaCIsCisgICAg
ICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIjog
WworICAgICAgICAieGhyIiwKKyAgICAgICAgImZldGNoIiwKKyAgICAgICAgIndlYnNvY2tldCIK
KyAgICAgIF0sCisgICAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IFsKKyAgICAgICAgInhociIs
CisgICAgICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAg
InNoYXJlZHdvcmtlci1jbGFzc2ljLWRhdGEiOiBbCisgICAgICAgICJ4aHIiLAorICAgICAgICAi
ZmV0Y2giLAorICAgICAgICAid2Vic29ja2V0IgorICAgICAgXSwKKyAgICAgICJzaGFyZWR3b3Jr
ZXItbW9kdWxlLWRhdGEiOiBbCisgICAgICAgICJ4aHIiLAorICAgICAgICAiZmV0Y2giLAorICAg
ICAgICAid2Vic29ja2V0IgorICAgICAgXQorICAgIH0KKyAgfSwKKyAgInNvdXJjZV9jb250ZXh0
X2xpc3Rfc2NoZW1hIjogeworICAgIC8vIFdhcm5pbmc6IEN1cnJlbnRseSwgc29tZSBuZXN0ZWQg
cGF0dGVybnMgb2YgY29udGV4dHMgaGF2ZSBkaWZmZXJlbnQKKyAgICAvLyBpbmhlcml0YW5jZSBy
dWxlcyBmb3IgZGlmZmVyZW50IGtpbmRzIG9mIHBvbGljaWVzLgorICAgIC8vIFRoZSBnZW5lcmF0
ZWQgdGVzdHMgd2lsbCBiZSB1c2VkIHRvIHRlc3QvaW52ZXN0aWdhdGUgdGhlIHBvbGljeQorICAg
IC8vIGluaGVyaXRhbmNlIHJ1bGVzLCBhbmQgZXZlbnR1YWxseSB0aGUgcG9saWN5IGluaGVyaXRh
bmNlIHJ1bGVzIHdpbGwKKyAgICAvLyBiZSB1bmlmaWVkIChodHRwczovL2dpdGh1Yi5jb20vdzNj
dGFnL2Rlc2lnbi1wcmluY2lwbGVzL2lzc3Vlcy8xMTEpLgorICAgICJ0b3AiOiB7CisgICAgICAi
ZGVzY3JpcHRpb24iOiAiUG9saWN5IHNldCBieSB0aGUgdG9wLWxldmVsIERvY3VtZW50IiwKKyAg
ICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VD
b250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAg
ICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAg
ICAic3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJyZXEiOiB7
CisgICAgICAiZGVzY3JpcHRpb24iOiAiU3VicmVzb3VyY2UgcmVxdWVzdCdzIHBvbGljeSBzaG91
bGQgb3ZlcnJpZGUgRG9jdW1lbnQncyBwb2xpY3kiLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0
IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisg
ICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAiYW5vdGhlclBvbGlj
eSIKKyAgICAgICAgICBdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQ
b2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAibm9uTnVsbFBvbGljeSIKKyAgICAgIF0KKyAg
ICB9LAorICAgICJzcmNkb2MtaW5oZXJpdCI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJzcmNk
b2MgaWZyYW1lIHdpdGhvdXQgaXRzIG93biBwb2xpY3kgc2hvdWxkIGluaGVyaXQgcGFyZW50IERv
Y3VtZW50J3MgcG9saWN5IiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAg
eworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xp
Y3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAic3JjZG9j
IgorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmll
cyI6IFtdCisgICAgfSwKKyAgICAic3JjZG9jIjogeworICAgICAgImRlc2NyaXB0aW9uIjogInNy
Y2RvYyBpZnJhbWUncyBwb2xpY3kgc2hvdWxkIG92ZXJyaWRlIHBhcmVudCBEb2N1bWVudCdzIHBv
bGljeSIsCisgICAgICAic291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmll
cyI6IFsKKyAgICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJzcmNkb2MiLAor
ICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgIm5vbk51bGxQb2xp
Y3kiCisgICAgICAgICAgXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNl
UG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAiaWZyYW1lIjogeworICAgICAgImRl
c2NyaXB0aW9uIjogImV4dGVybmFsIGlmcmFtZSdzIHBvbGljeSBzaG91bGQgb3ZlcnJpZGUgcGFy
ZW50IERvY3VtZW50J3MgcG9saWN5IiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAg
ICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAg
ICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgImFub3RoZXJQb2xpY3kiCisgICAg
ICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRU
eXBlIjogImlmcmFtZSIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAg
ICAgICAicG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJz
dWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAgImlmcmFtZS1ibGFu
ay1pbmhlcml0IjogeworICAgICAgImRlc2NyaXB0aW9uIjogImJsYW5rIGlmcmFtZSBzaG91bGQg
aW5oZXJpdCBwYXJlbnQgRG9jdW1lbnQncyBwb2xpY3kiLAorICAgICAgInNvdXJjZUNvbnRleHRM
aXN0IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIs
CisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAicG9saWN5Igor
ICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250
ZXh0VHlwZSI6ICJpZnJhbWUtYmxhbmsiCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3Vi
cmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJ3b3JrZXItY2xhc3Np
YyI6IHsKKyAgICAgIC8vIFRoaXMgaXMgYXBwbGljYWJsZSB0byByZWZlcnJlci1wb2xpY3kgdGVz
dHMuCisgICAgICAvLyBVc2UgIndvcmtlci1jbGFzc2ljLWluaGVyaXQiIGZvciBDU1AgKG1peGVk
LWNvbnRlbnQsIGV0Yy4pLgorICAgICAgImRlc2NyaXB0aW9uIjogImRlZGljYXRlZCB3b3JrZXJz
IHNob3VsZG4ndCBpbmhlcml0IGl0cyBwYXJlbnQncyBwb2xpY3kuIiwKKyAgICAgICJzb3VyY2VD
b250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6
ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgImFu
b3RoZXJQb2xpY3kiCisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgInNvdXJjZUNvbnRleHRUeXBlIjogIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgICAicG9s
aWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAg
ICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtd
CisgICAgfSwKKyAgICAid29ya2VyLWNsYXNzaWMtaW5oZXJpdCI6IHsKKyAgICAgIC8vIFRoaXMg
aXMgYXBwbGljYWJsZSB0byB1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIGFuZCBtaXhlZC1jb250
ZW50IHRlc3RzLgorICAgICAgLy8gVXNlICJ3b3JrZXItY2xhc3NpYyIgZm9yIHJlZmVycmVyLXBv
bGljeS4KKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkZWRpY2F0ZWQgd29ya2VycyBzaG91bGQgaW5o
ZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAic291cmNlQ29udGV4dExpc3QiOiBb
CisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAg
ICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAg
ICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBl
IjogIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAg
ICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAg
XSwKKyAgICAgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAg
Indvcmtlci1jbGFzc2ljLWRhdGEiOiB7CisgICAgICAiZGVzY3JpcHRpb24iOiAiZGF0YTogZGVk
aWNhdGVkIHdvcmtlcnMgc2hvdWxkIGluaGVyaXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAg
ICAgInNvdXJjZUNvbnRleHRMaXN0IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNv
bnRleHRUeXBlIjogInRvcCIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAg
ICAgICAgICAicG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAg
ICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXItY2xhc3NpYy1kYXRhIiwKKyAgICAg
ICAgICAicG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAi
c3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJ3b3JrZXItbW9k
dWxlIjogeworICAgICAgLy8gVGhpcyBpcyBhcHBsaWNhYmxlIHRvIHJlZmVycmVyLXBvbGljeSB0
ZXN0cy4KKyAgICAgIC8vIFVzZSAid29ya2VyLW1vZHVsZS1pbmhlcml0IiBmb3IgQ1NQIChtaXhl
ZC1jb250ZW50LCBldGMuKS4KKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkZWRpY2F0ZWQgd29ya2Vy
cyBzaG91bGRuJ3QgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAic291cmNl
Q29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUi
OiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJh
bm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAg
ICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgICAicG9s
aWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAg
ICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtd
CisgICAgfSwKKyAgICAid29ya2VyLW1vZHVsZS1pbmhlcml0IjogeworICAgICAgLy8gVGhpcyBp
cyBhcHBsaWNhYmxlIHRvIHVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMgYW5kIG1peGVkLWNvbnRl
bnQgdGVzdHMuCisgICAgICAvLyBVc2UgIndvcmtlci1tb2R1bGUiIGZvciByZWZlcnJlci1wb2xp
Y3kuCisgICAgICAiZGVzY3JpcHRpb24iOiAiZGVkaWNhdGVkIHdvcmtlcnMgc2hvdWxkIGluaGVy
aXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0IjogWwor
ICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisgICAgICAg
ICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAicG9saWN5IgorICAgICAgICAg
IF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6
ICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAg
ICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAgXSwK
KyAgICAgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAgIndv
cmtlci1tb2R1bGUtZGF0YSI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkYXRhOiBkZWRpY2F0
ZWQgd29ya2VycyBzaG91bGQgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAi
c291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4
dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAg
ICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgInNvdXJjZUNvbnRleHRUeXBlIjogIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAgICAg
InBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJl
c291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLWNs
YXNzaWMiOiB7CisgICAgICAiZGVzY3JpcHRpb24iOiAic2hhcmVkIHdvcmtlcnMgc2hvdWxkbid0
IGluaGVyaXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0
IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisg
ICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAiYW5vdGhlclBvbGlj
eSIKKyAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNl
Q29udGV4dFR5cGUiOiAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAgICJwb2xpY3lE
ZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAg
IH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAg
ICB9LAorICAgICJzaGFyZWR3b3JrZXItY2xhc3NpYy1kYXRhIjogeworICAgICAgImRlc2NyaXB0
aW9uIjogImRhdGE6IHNoYXJlZCB3b3JrZXJzIHNob3VsZCBpbmhlcml0IGl0cyBwYXJlbnQncyBw
b2xpY3kuIiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAg
ICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVy
aWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAgIH0sCisg
ICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAic2hhcmVkd29ya2VyLWNs
YXNzaWMtZGF0YSIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgICAgICB9
CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAg
fSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJz
aGFyZWQgd29ya2VycyBzaG91bGRuJ3QgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisg
ICAgICAic291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNl
Q29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAg
ICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAg
ICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJzaGFyZWR3b3JrZXItbW9kdWxl
IiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3ki
CisgICAgICAgICAgXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9s
aWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRh
IjogeworICAgICAgImRlc2NyaXB0aW9uIjogImRhdGE6IHNoYXJlZCB3b3JrZXJzIHNob3VsZCBp
bmhlcml0IGl0cyBwYXJlbnQncyBwb2xpY3kuIiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6
IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAg
ICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAg
ICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5
cGUiOiAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRhIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZl
cmllcyI6IFtdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQb2xpY3lE
ZWxpdmVyaWVzIjogW10KKyAgICB9CisgIH0sCisgICJ0ZXN0X2V4cGFuc2lvbl9zY2hlbWEiOiB7
CisgICAgImV4cGFuc2lvbiI6IFsKKyAgICAgICJkZWZhdWx0IiwKKyAgICAgICJvdmVycmlkZSIK
KyAgICBdLAorICAgICJzb3VyY2Vfc2NoZW1lIjogWworICAgICAgImh0dHAiLAorICAgICAgImh0
dHBzIgorICAgIF0sCisgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiBbCisgICAgICAidG9wIiwK
KyAgICAgICJyZXEiLAorICAgICAgInNyY2RvYy1pbmhlcml0IiwKKyAgICAgICJzcmNkb2MiLAor
ICAgICAgImlmcmFtZSIsCisgICAgICAiaWZyYW1lLWJsYW5rLWluaGVyaXQiLAorICAgICAgIndv
cmtlci1jbGFzc2ljIiwKKyAgICAgICJ3b3JrZXItY2xhc3NpYy1pbmhlcml0IiwKKyAgICAgICJ3
b3JrZXItY2xhc3NpYy1kYXRhIiwKKyAgICAgICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICJ3b3Jr
ZXItbW9kdWxlLWluaGVyaXQiLAorICAgICAgIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAi
c2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljLWRhdGEi
LAorICAgICAgInNoYXJlZHdvcmtlci1tb2R1bGUiLAorICAgICAgInNoYXJlZHdvcmtlci1tb2R1
bGUtZGF0YSIKKyAgICBdLAorICAgICJyZWRpcmVjdGlvbiI6IFsKKyAgICAgICJuby1yZWRpcmVj
dCIsCisgICAgICAia2VlcC1vcmlnaW4iLAorICAgICAgInN3YXAtb3JpZ2luIiwKKyAgICAgICJr
ZWVwLXNjaGVtZSIsCisgICAgICAic3dhcC1zY2hlbWUiLAorICAgICAgImRvd25ncmFkZSIKKyAg
ICBdLAorICAgICJvcmlnaW4iOiBbCisgICAgICAic2FtZS1odHRwcyIsCisgICAgICAic2FtZS1o
dHRwIiwKKyAgICAgICJzYW1lLWh0dHAtZG93bmdyYWRlIiwKKyAgICAgICJjcm9zcy1odHRwcyIs
CisgICAgICAiY3Jvc3MtaHR0cCIsCisgICAgICAiY3Jvc3MtaHR0cC1kb3duZ3JhZGUiLAorICAg
ICAgInNhbWUtd3NzIiwKKyAgICAgICJzYW1lLXdzIiwKKyAgICAgICJzYW1lLXdzLWRvd25ncmFk
ZSIsCisgICAgICAiY3Jvc3Mtd3NzIiwKKyAgICAgICJjcm9zcy13cyIsCisgICAgICAiY3Jvc3Mt
d3MtZG93bmdyYWRlIgorICAgIF0sCisgICAgInN1YnJlc291cmNlIjogWworICAgICAgImEtdGFn
IiwKKyAgICAgICJhcmVhLXRhZyIsCisgICAgICAiYXVkaW8tdGFnIiwKKyAgICAgICJiZWFjb24i
LAorICAgICAgImZldGNoIiwKKyAgICAgICJpZnJhbWUtdGFnIiwKKyAgICAgICJpbWctdGFnIiwK
KyAgICAgICJsaW5rLWNzcy10YWciLAorICAgICAgImxpbmstcHJlZmV0Y2gtdGFnIiwKKyAgICAg
ICJvYmplY3QtdGFnIiwKKyAgICAgICJwaWN0dXJlLXRhZyIsCisgICAgICAic2NyaXB0LXRhZyIs
CisgICAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgInNoYXJlZHdvcmtlci1pbXBv
cnQiLAorICAgICAgInNoYXJlZHdvcmtlci1pbXBvcnQtZGF0YSIsCisgICAgICAic2hhcmVkd29y
a2VyLW1vZHVsZSIsCisgICAgICAidmlkZW8tdGFnIiwKKyAgICAgICJ3ZWJzb2NrZXQiLAorICAg
ICAgIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICJ3b3JrZXItaW1wb3J0IiwKKyAgICAgICJ3b3Jr
ZXItaW1wb3J0LWRhdGEiLAorICAgICAgIndvcmtlci1tb2R1bGUiLAorICAgICAgIndvcmtsZXQt
YW5pbWF0aW9uIiwKKyAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbi1pbXBvcnQtZGF0YSIsCisgICAg
ICAid29ya2xldC1hdWRpbyIsCisgICAgICAid29ya2xldC1hdWRpby1pbXBvcnQtZGF0YSIsCisg
ICAgICAid29ya2xldC1sYXlvdXQiLAorICAgICAgIndvcmtsZXQtbGF5b3V0LWltcG9ydC1kYXRh
IiwKKyAgICAgICJ3b3JrbGV0LXBhaW50IiwKKyAgICAgICJ3b3JrbGV0LXBhaW50LWltcG9ydC1k
YXRhIiwKKyAgICAgICJ4aHIiCisgICAgXQorICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJl
cy90b29scy9zcGVjX3ZhbGlkYXRvci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3NwZWNfdmFsaWRh
dG9yLnB5CmluZGV4IDA2YTVhY2NlMjNhNDFhZDAxNTc4NzFiYzJkNWRlMjZkMzA3YTFjNTMuLjE1
ZjBlMWU3MzI3MmIyZWQ4ZjdiYTBhMjc3MDdjNTUwZmQ2MjVhMGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3NwZWNfdmFsaWRhdG9yLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3Nw
ZWNfdmFsaWRhdG9yLnB5CkBAIC04Nyw2ICs4Nyw4IEBAIGRlZiB2YWxpZGF0ZShzcGVjX2pzb24s
IGRldGFpbHMpOgogCiAgICAgZGV0YWlsc1snb2JqZWN0J10gPSBzcGVjX2pzb24KICAgICBhc3Nl
cnRfY29udGFpbnNfb25seV9maWVsZHMoc3BlY19qc29uLCBbCisgICAgICAgICJzZWxlY3Rpb25f
cGF0dGVybiIsICJ0ZXN0X2ZpbGVfcGF0aF9wYXR0ZXJuIiwKKyAgICAgICAgInRlc3RfZGVzY3Jp
cHRpb25fdGVtcGxhdGUiLCAidGVzdF9wYWdlX3RpdGxlX3RlbXBsYXRlIiwKICAgICAgICAgInNw
ZWNpZmljYXRpb24iLCAiZGVsaXZlcnlfa2V5IiwgInN1YnJlc291cmNlX3NjaGVtYSIsCiAgICAg
ICAgICJzb3VyY2VfY29udGV4dF9zY2hlbWEiLCAic291cmNlX2NvbnRleHRfbGlzdF9zY2hlbWEi
LAogICAgICAgICAidGVzdF9leHBhbnNpb25fc2NoZW1hIiwgImV4Y2x1ZGVkX3Rlc3RzIgpAQCAt
OTksMTMgKzEwMSwxNSBAQCBkZWYgdmFsaWRhdGUoc3BlY19qc29uLCBkZXRhaWxzKToKICAgICB0
ZXN0X2V4cGFuc2lvbl9zY2hlbWEgPSBzcGVjX2pzb25bJ3Rlc3RfZXhwYW5zaW9uX3NjaGVtYSdd
CiAgICAgZXhjbHVkZWRfdGVzdHMgPSBzcGVjX2pzb25bJ2V4Y2x1ZGVkX3Rlc3RzJ10KIAotICAg
IHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcyA9IFsnbmFtZSddICsgdGVzdF9leHBhbnNpb25f
c2NoZW1hLmtleXMoKQorICAgIHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcyA9IHRlc3RfZXhw
YW5zaW9uX3NjaGVtYS5rZXlzKCkKIAogICAgICMgU2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBg
c291cmNlQ29udGV4dE1hcGAgaW4KICAgICAjIGAvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jl
c291cmNlcy9jb21tb24uc3ViLmpzYC4KICAgICB2YWxpZF9zb3VyY2VfY29udGV4dF9uYW1lcyA9
IFsKICAgICAgICAgInRvcCIsICJpZnJhbWUiLCAiaWZyYW1lLWJsYW5rIiwgInNyY2RvYyIsICJ3
b3JrZXItY2xhc3NpYyIsCi0gICAgICAgICJ3b3JrZXItbW9kdWxlIiwgIndvcmtlci1jbGFzc2lj
LWRhdGEiLCAid29ya2VyLW1vZHVsZS1kYXRhIgorICAgICAgICAid29ya2VyLW1vZHVsZSIsICJ3
b3JrZXItY2xhc3NpYy1kYXRhIiwgIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAgICJzaGFy
ZWR3b3JrZXItY2xhc3NpYyIsICJzaGFyZWR3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgInNoYXJl
ZHdvcmtlci1jbGFzc2ljLWRhdGEiLCAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRhIgogICAgIF0K
IAogICAgIHZhbGlkX3N1YnJlc291cmNlX25hbWVzID0gWwpAQCAtMTMyLDI0ICsxMzYsMTUgQEAg
ZGVmIHZhbGlkYXRlKHNwZWNfanNvbiwgZGV0YWlscyk6CiAKICAgICAgICAgIyBWYWxpZGF0ZSBy
ZXF1aXJlZCBmaWVsZHMgZm9yIGEgc2luZ2xlIHNwZWMuCiAgICAgICAgIGFzc2VydF9jb250YWlu
c19vbmx5X2ZpZWxkcyhzcGVjLCBbCi0gICAgICAgICAgICAnbmFtZScsICd0aXRsZScsICdkZXNj
cmlwdGlvbicsICdzcGVjaWZpY2F0aW9uX3VybCcsCi0gICAgICAgICAgICAndGVzdF9leHBhbnNp
b24nCisgICAgICAgICAgICAndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnc3BlY2lmaWNhdGlvbl91
cmwnLCAndGVzdF9leHBhbnNpb24nCiAgICAgICAgIF0pCi0gICAgICAgIGFzc2VydF9ub25fZW1w
dHlfc3RyaW5nKHNwZWMsICduYW1lJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmco
c3BlYywgJ3RpdGxlJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmcoc3BlYywgJ2Rl
c2NyaXB0aW9uJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmcoc3BlYywgJ3NwZWNp
ZmljYXRpb25fdXJsJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9saXN0KHNwZWMsICd0ZXN0
X2V4cGFuc2lvbicpCiAKLSAgICAgICAgIyBWYWxpZGF0ZSBzcGVjJ3MgdGVzdCBleHBhbnNpb24u
Ci0gICAgICAgIHVzZWRfc3BlY19uYW1lcyA9IHt9Ci0KICAgICAgICAgZm9yIHNwZWNfZXhwIGlu
IHNwZWNbJ3Rlc3RfZXhwYW5zaW9uJ106CiAgICAgICAgICAgICBkZXRhaWxzWydvYmplY3QnXSA9
IHNwZWNfZXhwCi0gICAgICAgICAgICBhc3NlcnRfbm9uX2VtcHR5X3N0cmluZyhzcGVjX2V4cCwg
J25hbWUnKQotICAgICAgICAgICAgIyBUaGUgbmFtZSBpcyB1bmlxdWUgaW4gc2FtZSBleHBhbnNp
b24gZ3JvdXAuCi0gICAgICAgICAgICBhc3NlcnRfdmFsdWVfdW5pcXVlX2luKChzcGVjX2V4cFsn
ZXhwYW5zaW9uJ10sIHNwZWNfZXhwWyduYW1lJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1c2VkX3NwZWNfbmFtZXMpCiAgICAgICAgICAgICBhc3NlcnRfY29udGFpbnNf
b25seV9maWVsZHMoc3BlY19leHAsIHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcykKIAogICAg
ICAgICAgICAgZm9yIGFydGlmYWN0IGluIHRlc3RfZXhwYW5zaW9uX3NjaGVtYToKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3RlbXBsYXRlL2Rpc2NsYWltZXIudGVtcGxhdGUgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1m
ZWF0dXJlcy90b29scy90ZW1wbGF0ZS9kaXNjbGFpbWVyLnRlbXBsYXRlCmluZGV4IDY2YzQzZWQ2
ZjIxMzI0ZDQ0YjE1OTZjMDlhMDJmZWNmNTNmNDEzMjMuLmJhOTQ1OGNiMzEyNTJhZWNmM2M0NDdi
NDNjNTA1YTA0ZDdhYmY5MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3RlbXBsYXRl
L2Rpc2NsYWltZXIudGVtcGxhdGUKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvZGlz
Y2xhaW1lci50ZW1wbGF0ZQpAQCAtMSArMSBAQAotPCEtLSBETyBOT1QgRURJVCEgR2VuZXJhdGVk
IGJ5ICUoZ2VuZXJhdGluZ19zY3JpcHRfZmlsZW5hbWUpcyB1c2luZyAlKGh0bWxfdGVtcGxhdGVf
ZmlsZW5hbWUpcy4gLS0+Cis8IS0tIERPIE5PVCBFRElUISBHZW5lcmF0ZWQgYnkgYCUoZ2VuZXJh
dGluZ19zY3JpcHRfZmlsZW5hbWUpcyAtLXNwZWMgJShzcGVjX2RpcmVjdG9yeSlzL2AgLS0+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy90ZW1wbGF0ZS90ZXN0LmRlYnVnLmh0bWwudGVt
cGxhdGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy90b29scy90ZW1wbGF0ZS90ZXN0LmRlYnVnLmh0bWwudGVtcGxh
dGUKaW5kZXggYjRiMGZlYzczM2UxY2U2ZjZhNWNhZDBmOWM5ZDQzOTFhYTI0NGZiMS4uYjZiZTA4
OGY2MTEyYTA0MGFkODRkMmI1YzE3NjM3MzE4MDExMWQ2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVy
ZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5kZWJ1Zy5odG1sLnRlbXBsYXRlCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL3Rvb2xzL3RlbXBsYXRlL3Rlc3QuZGVidWcuaHRtbC50ZW1wbGF0ZQpAQCAtMiwxMiArMiw4
IEBACiAlKGdlbmVyYXRlZF9kaXNjbGFpbWVyKXMKIDxodG1sPgogICA8aGVhZD4KLSAgICA8dGl0
bGU+JSh0ZXN0X3BhZ2VfdGl0bGUpczwvdGl0bGU+Ci0gICAgPG1ldGEgY2hhcnNldD0ndXRmLTgn
PgotICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIlKHNwZWNfZGVzY3JpcHRp
b24pcyI+Ci0gICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJLcmlzdGlqYW4gQnVybmlrIiBo
cmVmPSJidXJuaWtAY2hyb21pdW0ub3JnIj4KLSAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9IiUo
c3BlY19zcGVjaWZpY2F0aW9uX3VybClzIj4KLSAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRl
bnQ9IiUodGVzdF9kZXNjcmlwdGlvbilzIj4lKG1ldGFfZGVsaXZlcnlfbWV0aG9kKXMKKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+JShtZXRhX2RlbGl2ZXJ5X21ldGhvZClzCiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy9yZXNvdXJjZXMvY29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+CkBA
IC0xNSwxNiArMTEsMTYgQEAKICAgICA8c2NyaXB0IHNyYz0iJShzcGVjX2pzb25fanMpcyI+PC9z
Y3JpcHQ+CiAgICAgPCEtLSBJbnRlcm5hbCBjaGVja2luZyBvZiB0aGUgdGVzdHMgLS0+CiAgICAg
PHNjcmlwdCBzcmM9IiUoc2FuaXR5X2NoZWNrZXJfanMpcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9IiUoaGVscGVyX2pzKXMiPjwvc2NyaXB0PgotICA8L2hlYWQ+CislKGhlbHBlcl9qcylz
ICA8L2hlYWQ+CiAgIDxib2R5PgogICAgIDxzY3JpcHQ+CiAgICAgICBUZXN0Q2FzZSgKLSAgICAg
ICAgJShzY2VuYXJpbylzLAotICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25h
bWU9YXNzZXJ0XSIpLmNvbnRlbnQsCisgICAgICAgIFsKKyAgICAgICAgICAlKHNjZW5hcmlvcylz
CisgICAgICAgIF0sCiAgICAgICAgIG5ldyBTYW5pdHlDaGVja2VyKCkKICAgICAgICkuc3RhcnQo
KTsKLSAgICAgIDwvc2NyaXB0PgorICAgIDwvc2NyaXB0PgogICAgIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+CiAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3Rl
bXBsYXRlL3Rlc3QucmVsZWFzZS5odG1sLnRlbXBsYXRlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVt
cGxhdGUvdGVzdC5yZWxlYXNlLmh0bWwudGVtcGxhdGUKaW5kZXggZDkzNTA2ZTIzMWE0YzZlNzE5
YjA1NWIxZTMxMmJkMTYzZWI5NTE5ZC4uYmFjMmQ1YjVhNGQ3OGRiYjI3MTcwYzU5YmFlZWM3MGNi
MjNhZGQ4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5yZWxl
YXNlLmh0bWwudGVtcGxhdGUKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5y
ZWxlYXNlLmh0bWwudGVtcGxhdGUKQEAgLTIsMjUgKzIsMjEgQEAKICUoZ2VuZXJhdGVkX2Rpc2Ns
YWltZXIpcwogPGh0bWw+CiAgIDxoZWFkPgotICAgIDx0aXRsZT4lKHRlc3RfcGFnZV90aXRsZSlz
PC90aXRsZT4KLSAgICA8bWV0YSBjaGFyc2V0PSd1dGYtOCc+Ci0gICAgPG1ldGEgbmFtZT0iZGVz
Y3JpcHRpb24iIGNvbnRlbnQ9IiUoc3BlY19kZXNjcmlwdGlvbilzIj4KLSAgICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IktyaXN0aWphbiBCdXJuaWsiIGhyZWY9ImJ1cm5pa0BjaHJvbWl1bS5v
cmciPgotICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iJShzcGVjX3NwZWNpZmljYXRpb25fdXJs
KXMiPgotICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iJSh0ZXN0X2Rlc2NyaXB0aW9u
KXMiPiUobWV0YV9kZWxpdmVyeV9tZXRob2QpcworICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4lKG1ldGFfZGVsaXZlcnlf
bWV0aG9kKXMKICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jl
c291cmNlcy9jb21tb24uc3ViLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iJShoZWxw
ZXJfanMpcyI+PC9zY3JpcHQ+Ci0gIDwvaGVhZD4KKyUoaGVscGVyX2pzKXMgIDwvaGVhZD4KICAg
PGJvZHk+CiAgICAgPHNjcmlwdD4KICAgICAgIFRlc3RDYXNlKAotICAgICAgICAlKHNjZW5hcmlv
KXMsCi0gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT1hc3NlcnRdIiku
Y29udGVudCwKKyAgICAgICAgWworICAgICAgICAgICUoc2NlbmFyaW9zKXMKKyAgICAgICAgXSwK
ICAgICAgICAgbmV3IFNhbml0eUNoZWNrZXIoKQogICAgICAgKS5zdGFydCgpOwotICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9zY3JpcHQ+CiAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KICAgPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdXRpbC5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3V0aWwucHkKaW5kZXggMjY5ZjQ2NGE1NDdjN2QxZDIzYmE4ODUyN2E1NWI5
NzY3ZTgxNDMwNC4uMDI3NGY4YWYwYjVmZTg3ZDgwZmE3ODRjMjc2YjNjY2U1YTRkY2IyNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdXRpbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29s
cy91dGlsLnB5CkBAIC0xLDYgKzEsNyBAQAogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
dW5jdGlvbgogCi1pbXBvcnQgb3MsIHN5cywganNvbiwgcmUKK2ltcG9ydCBvcywgc3lzLCBqc29u
LCBqc29uNSwgcmUKK2ltcG9ydCBjb2xsZWN0aW9ucwogCiBzY3JpcHRfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCiB0ZW1wbGF0ZV9kaXJlY3Rv
cnkgPSBvcy5wYXRoLmFic3BhdGgoCkBAIC0zMCw3ICszMSw3IEBAIGRlZiBsb2FkX3NwZWNfanNv
bihwYXRoX3RvX3NwZWMpOgogICAgIHJlX2Vycm9yX2xvY2F0aW9uID0gcmUuY29tcGlsZSgnbGlu
ZSAoWzAtOV0rKSBjb2x1bW4gKFswLTldKyknKQogICAgIHdpdGggb3BlbihwYXRoX3RvX3NwZWMs
ICJyIikgYXMgZjoKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9hZChm
KQorICAgICAgICAgICAgcmV0dXJuIGpzb241LmxvYWQoZiwgb2JqZWN0X3BhaXJzX2hvb2s9Y29s
bGVjdGlvbnMuT3JkZXJlZERpY3QpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4Ogog
ICAgICAgICAgICAgcHJpbnQoZXgubWVzc2FnZSkKICAgICAgICAgICAgIG1hdGNoID0gcmVfZXJy
b3JfbG9jYXRpb24uc2VhcmNoKGV4Lm1lc3NhZ2UpCkBAIC02Nyw2ICs2OCw5IEBAIGNsYXNzIFBv
bGljeURlbGl2ZXJ5KG9iamVjdCk6CiAgICAgICAgIHNlbGYua2V5ID0ga2V5CiAgICAgICAgIHNl
bGYudmFsdWUgPSB2YWx1ZQogCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAg
IHJldHVybiB0eXBlKHNlbGYpIGlzIHR5cGUob3RoZXIpIGFuZCBzZWxmLl9fZGljdF9fID09IG90
aGVyLl9fZGljdF9fCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgbGlzdF9mcm9tX2pzb24o
Y2xzLCBsaXN0LCB0YXJnZXRfcG9saWN5X2RlbGl2ZXJ5LAogICAgICAgICAgICAgICAgICAgICAg
ICBzdXBwb3J0ZWRfZGVsaXZlcnlfdHlwZXMpOgpAQCAtMTIwLDcgKzEyNCw3IEBAIGNsYXNzIFBv
bGljeURlbGl2ZXJ5KG9iamVjdCk6CiAgICAgICAgIGVsaWYgb2JqID09ICJhbm90aGVyUG9saWN5
IjoKICAgICAgICAgICAgIHBvbGljeV9kZWxpdmVyeSA9IHRhcmdldF9wb2xpY3lfZGVsaXZlcnku
Z2V0X2Fub3RoZXJfcG9saWN5KAogICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9kZWxpdmVyeV90
eXBlc1swXSkKLSAgICAgICAgZWxpZiB0eXBlKG9iaikgPT0gZGljdDoKKyAgICAgICAgZWxpZiBp
c2luc3RhbmNlKG9iaiwgZGljdCk6CiAgICAgICAgICAgICBwb2xpY3lfZGVsaXZlcnkgPSBQb2xp
Y3lEZWxpdmVyeShvYmpbJ2RlbGl2ZXJ5VHlwZSddLCBvYmpbJ2tleSddLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqWyd2YWx1ZSddKQogICAgICAgICBl
bHNlOgpAQCAtMTQ3LDYgKzE1MSwxNiBAQCBjbGFzcyBQb2xpY3lEZWxpdmVyeShvYmplY3QpOgog
ICAgICAgICAgICAgICAgIHJldHVybiBQb2xpY3lEZWxpdmVyeShkZWxpdmVyeV90eXBlLCBzZWxm
LmtleSwgJ3Vuc2FmZS11cmwnKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gUG9saWN5RGVsaXZlcnkoZGVsaXZlcnlfdHlwZSwgc2VsZi5rZXksICduby1yZWZlcnJl
cicpCisgICAgICAgIGVsaWYgc2VsZi5rZXkgPT0gJ21peGVkQ29udGVudCc6CisgICAgICAgICAg
ICBpZiBzZWxmLnZhbHVlID09ICdvcHQtaW4nOgorICAgICAgICAgICAgICAgIHJldHVybiBQb2xp
Y3lEZWxpdmVyeShkZWxpdmVyeV90eXBlLCBzZWxmLmtleSwgTm9uZSkKKyAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIFBvbGljeURlbGl2ZXJ5KGRlbGl2ZXJ5X3R5cGUs
IHNlbGYua2V5LCAnb3B0LWluJykKKyAgICAgICAgZWxpZiBzZWxmLmtleSA9PSAndXBncmFkZUlu
c2VjdXJlUmVxdWVzdHMnOgorICAgICAgICAgICAgaWYgc2VsZi52YWx1ZSA9PSAndXBncmFkZSc6
CisgICAgICAgICAgICAgICAgcmV0dXJuIFBvbGljeURlbGl2ZXJ5KGRlbGl2ZXJ5X3R5cGUsIHNl
bGYua2V5LCBOb25lKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4g
UG9saWN5RGVsaXZlcnkoZGVsaXZlcnlfdHlwZSwgc2VsZi5rZXksICd1cGdyYWRlJykKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignZGVsaXZlcnkga2V5IGlzIGlu
dmFsaWQ6ICcgKyBzZWxmLmtleSkKIApAQCAtMTU3LDYgKzE3MSw5IEBAIGNsYXNzIFNvdXJjZUNv
bnRleHQob2JqZWN0KToKICAgICAgICAgc2VsZi5zb3VyY2VfY29udGV4dF90eXBlID0gc291cmNl
X2NvbnRleHRfdHlwZQogICAgICAgICBzZWxmLnBvbGljeV9kZWxpdmVyaWVzID0gcG9saWN5X2Rl
bGl2ZXJpZXMKIAorICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4g
dHlwZShzZWxmKSBpcyB0eXBlKG90aGVyKSBhbmQgc2VsZi5fX2RpY3RfXyA9PSBvdGhlci5fX2Rp
Y3RfXworCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fanNvbihjbHMsIG9iaiwgdGFy
Z2V0X3BvbGljeV9kZWxpdmVyeSwgc291cmNlX2NvbnRleHRfc2NoZW1hKToKICAgICAgICAgJycn
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCmluZGV4IDgxZDQzMzA4NzYyZWZiOGE5MDBhYTQzMDRi
MmQ3ZWVmZDM4ZDg5NGYuLmZlMTg5ZGM5Yzk3MmVhZDE0N2ZiYWNmMGI0YjQxMTI5YmQ2YjQ3ODIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xNiw1ICsxNiw2IEBAIE5vbmUKIExpc3Qg
b2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZm9ybWF0X3NwZWNfc3JjX2pzb24ucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy90b29scy9nZW5lcmF0ZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3NwZWMuc3Jj
Lmpzb24KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9zcGVjX3ZhbGlkYXRvci5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVz
L3Rvb2xzL3V0aWwucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3R5cGVzLm1kIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVh
dHVyZXMvdHlwZXMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwNzk5MTZjMWVmYTY4MzlmYTI0YjE3NWZkZDQ5
Y2QyZDM4MTM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3R5cGVzLm1kCkBAIC0w
LDAgKzEsNjIgQEAKKyMgVHlwZXMgYXJvdW5kIHRoZSBnZW5lcmF0b3IgYW5kIGdlbmVyYXRlZCB0
ZXN0cworCitUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0eXBlcyBhbmQgY29uY2VwdHMgdXNlZCBh
Y3Jvc3MgSmF2YVNjcmlwdCBhbmQgUHl0aG9uIHBhcnRzIG9mIHRoaXMgdGVzdCBmcmFtZXdvcmsu
CitQbGVhc2UgcmVmZXIgdG8gdGhlIEpTRG9jIGluIGBjb21tb24uc3ViLmpzYCBvciBkb2NzdHJp
bmdzIGluIFB5dGhvbiBzY3JpcHRzIChpZiBhbnkpLgorCisjIyBTY2VuYXJpbworCisjIyMgUHJv
cGVydGllcworCistIEFsbCBrZXlzIG9mIGB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgIGluIGBzcGVj
LnNyYy5qc29uYCwgZXhjZXB0IGZvciBgZXhwYW5zaW9uYCwgYGRlbGl2ZXJ5X3R5cGVgLCBgZGVs
aXZlcnlfdmFsdWVgLCBhbmQgYHNvdXJjZV9jb250ZXh0X2xpc3RgLiBUaGVpciB2YWx1ZXMgYXJl
ICoqc3RyaW5nKipzIHNwZWNpZmllZCBpbiBgdGVzdF9leHBhbnNpb25fc2NoZW1hYC4KKy0gYHNv
dXJjZV9jb250ZXh0X2xpc3RgCistIGBzdWJyZXNvdXJjZV9wb2xpY3lfZGVsaXZlcmllc2AKKwor
IyMjIFR5cGVzCisKKy0gR2VuZXJhdG9yIChgc3BlYy5zcmMuanNvbmApOiBKU09OIG9iamVjdAor
LSBHZW5lcmF0b3IgKFB5dGhvbik6IGBkaWN0YAorLSBSdW50aW1lIChKUyk6IEpTT04gb2JqZWN0
CistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQorCisjIyBgUG9saWN5RGVsaXZlcnlgCisKKyMjIyBU
eXBlcworCistIEdlbmVyYXRvciAoYHNwZWMuc3JjLmpzb25gKTogSlNPTiBvYmplY3QKKy0gR2Vu
ZXJhdG9yIChQeXRob24pOiBgdXRpbC5Qb2xpY3lEZWxpdmVyeWAKKy0gUnVudGltZSAoSlMpOiBK
U09OIG9iamVjdCAoYEB0eXBlZGVmIFBvbGljeURlbGl2ZXJ5YCBpbiBgY29tbW9uLnN1Yi5qc2Ap
CistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQorCisjIyBgU291cmNlQ29udGV4dGAKKworU3VicmVz
b3VyY2UgcmVxdWVzdHMgY2FuIGJlIHBvc3NpYmx5IHNlbnQgZnJvbSB2YXJpb3VzIGtpbmRzIG9m
IGZldGNoIGNsaWVudCdzIGVudmlyb25tZW50IHNldHRpbmdzIG9iamVjdHMuIEZvciBleGFtcGxl
OgorCistIHRvcC1sZXZlbCB3aW5kb3dzLAorLSBgPGlmcmFtZT5gcywgb3IKKy0gYFdvcmtlckds
b2JhbFNjb3BlYHMuCisKK0EgKipgU291cmNlQ29udGV4dGAqKiBvYmplY3Qgc3BlY2lmaWVzIG9u
ZSBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3QsIGFuZCBhbiBBcnJheSBvZiBgU291cmNlQ29u
dGV4dGAgc3BlY2lmaWVzIGEgcG9zc2libHkgbmVzdGVkIGNvbnRleHQsIGZyb20gdGhlIG91dGVy
LW1vc3QgdG8gaW5uZXItbW9zdCBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3RzLgorCitOb3Rl
OiBUaGUgdG9wLWxldmVsIGRvY3VtZW50IGlzIHByb2Nlc3NlZCBhbmQgdHJpbW1lZCBieSB0aGUg
Z2VuZXJhdG9yLCBhbmQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBgc291cmNlQ29udGV4dExpc3Rg
IGZpZWxkIG9mIGBTY2VuYXJpb2AgaW4gdGhlIGdlbmVyYXRlZCBvdXRwdXQuCisKK0ZvciBleGFt
cGxlLCBgW3tzb3VyY2VDb250ZXh0VHlwZTogInNyY2RvYyJ9LCB7c291cmNlQ29udGV4dFR5cGU6
ICJ3b3JrZXItY2xhc3NpYyJ9XWAgbWVhbnMgdGhhdCBhIHN1YnJlc291cmNlIHJlcXVlc3QgaXMg
dG8gYmUgc2VudCBmcm9tIGEgY2xhc3NpYyBkZWRpY2F0ZWQgd29ya2VyIGNyZWF0ZWQgZnJvbSBg
PGlmcmFtZSBzcmNkb2M+YCBpbnNpZGUgdGhlIHRvcC1sZXZlbCBIVE1MIERvY3VtZW50LgorCitO
b3RlOiBBIGBTb3VyY2VDb250ZXh0YCAob3IgYW4gYXJyYXkgb2YgYFNvdXJjZUNvbnRleHRgKSBp
cyBzZXQgYmFzZWQgb24gdGhlIGZldGNoIGNsaWVudCdzIHNldHRpbmdzIG9iamVjdCB0aGF0IGlz
IHVzZWQgZm9yIHRoZSBzdWJyZXNvdXJjZSBmZXRjaCwgTk9UIG9uIHRoZSBtb2R1bGUgbWFwIHNl
dHRpbmdzIG9iamVjdCBub3Igb24gdGhlIGlubmVyLW1vc3Qgc2V0dGluZ3Mgb2JqZWN0IHRoYXQg
YXBwZWFycyBpbiB0aGUgdGVzdC4KK0ZvciBleGFtcGxlLCB0aGUgYHNvdXJjZUNvbnRleHRMaXN0
YCBmaWVsZCBvZiBgU2NlbmFyaW9gIGlzIGBbXWAgKGluZGljYXRpbmcgdGhlIHRvcC1sZXZlbCBX
aW5kb3cpOgorCistIFdoZW4gdGVzdGluZyB0b3AtbGV2ZWwgd29ya2VyIHNjcmlwdCBmZXRjaCwg
ZS5nLiBgbmV3IFdvcmtlcignd29ya2VyLmpzJylgLiBUaGVyZSBpcyBgV29ya2VyR2xvYmFsU2Nv
cGVgIGNyZWF0ZWQgZnJvbSBgd29ya2VyLmpzYCwgYnV0IGl0IGlzbid0IHRoZSBmZXRjaCBjbGll
bnQncyBzZXR0aW5ncyBvYmplY3QgdXNlZCBmb3IgZmV0Y2hpbmcgYHdvcmtlci5qc2AgaXRzZWxm
LgorLSBXaGVuIHRlc3Rpbmcgd29ya2VyIHNjcmlwdCBpbXBvcnRlZCBmcm9tIHRoZSByb290IHdv
cmtlciBzY3JpcHQsIGUuZy4gYG5ldyBXb3JrZXIoJ3RvcC5qcycsIHt0eXBlOiAnbW9kdWxlJ30p
YCB3aGVyZSBgdG9wLmpzYCBoYXMgYGltcG9ydCAnd29ya2VyLmpzJ2AuIEFnYWluLCB0aGUgZmV0
Y2ggY2xpZW50J3Mgc2V0dGluZ3Mgb2JqZWN0IHVzZWQgZm9yIGB3b3JrZXIuanNgIGlzIHRoZSB0
b3AtbGV2ZWwgV2luZG93LCBub3QgYFdvcmtlckdsb2JhbFNjb3BlYCBjcmVhdGVkIGJ5IGB0b3Au
anNgLgorCisjIyMgUHJvcGVydGllcworCistIGBzb3VyY2VDb250ZXh0VHlwZWA6ICBBIHN0cmlu
ZyBzcGVjaWZ5aW5nIHRoZSBraW5kIG9mIHRoZSBzb3VyY2UgY29udGV4dCB0byBiZSB1c2VkLgor
ICAgVmFsaWQgdmFsdWVzIGFyZSB0aGUga2V5cyBvZiBgc291cmNlQ29udGV4dE1hcGAgaW4gYGNv
bW1vbi5zdWIuanNgLCBvciBgInRvcCJgIGluZGljYXRpbmcgdGhlIHRvcC1sZXZlbCBEb2N1bWVu
dCAoYCJ0b3AiYCBpcyB2YWxpZC91c2VkIG9ubHkgaW4gdGhlIGdlbmVyYXRvcikuCisKKy0gYHBv
bGljeURlbGl2ZXJpZXNgOiBBIGxpc3Qgb2YgYFBvbGljeURlbGl2ZXJ5YCBhcHBsaWVkIHRvIHRo
ZSBzb3VyY2UgY29udGV4dC4KKworIyMjIFR5cGVzCisKKy0gR2VuZXJhdG9yIChgc3BlYy5zcmMu
anNvbmApOiBKU09OIG9iamVjdAorLSBHZW5lcmF0b3IgKFB5dGhvbik6IGB1dGlsLlNvdXJjZUNv
bnRleHRgCistIFJ1bnRpbWUgKEpTKTogSlNPTiBvYmplY3QgKGBAdHlwZWRlZiBTb3VyY2VDb250
ZXh0YCBpbiBgY29tbW9uLnN1Yi5qc2ApCistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy93M2MtaW1wb3J0
LmxvZwppbmRleCA4NjQ4MjBmNWQ5MDVkOTZiM2RlMjU4MTQwZjhlZjgxODYxNDc1MzZlLi40MTNl
OGU4Yjc2YWZjNzM5OTc1NjAxYmZmMmVlNzYxMjNhYzM5OGZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0
dXJlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy93M2MtaW1wb3J0LmxvZwpAQCAt
MTUsMyArMTUsNCBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHkt
ZmVhdHVyZXMvUkVBRE1FLm1kCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdHlwZXMubWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N0cmluZ2lm
aWVycy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29t
bW9uL3N0cmluZ2lmaWVycy5qcwppbmRleCBiNTljYTljMjQ2Zjc1YTcyZDUzMmQ1OGVmNjI4ODI0
Zjg5MDVmZjdhLi40ZWY3YTFiZmVkYWJhMTgzNWJiNDRjY2E5MjA3ZTA3NDhiYTgzNTIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zdHJpbmdpZmllcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc3RyaW5naWZpZXJzLmpzCkBAIC0xLDkgKzEsMTQgQEAKLS8vIFRl
c3RzIDxodHRwOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLXN0cmluZ2lmaWVyPi4KKy8q
KgorICogUnVucyB0ZXN0cyBmb3IgPGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMt
c3RyaW5naWZpZXI+LgorICogQHBhcmFtIHtPYmplY3R9IGFPYmplY3QgLSBvYmplY3QgdG8gdGVz
dAorICogQHBhcmFtIHtzdHJpbmd9IGFBdHRyaWJ1dGUgLSBJREwgYXR0cmlidXRlIG5hbWUgdGhh
dCBpcyBhbm5vdGF0ZWQgd2l0aCBgc3RyaW5naWZpZXJgCisgKiBAcGFyYW0ge2Jvb2xlYW59IGFJ
c1VuZm9yZ2VhYmxlIC0gd2hldGhlciB0aGUgSURMIGF0dHJpYnV0ZSBpcyBgW1VuZm9yZ2VhYmxl
XWAKKyAqLwogZnVuY3Rpb24gdGVzdF9zdHJpbmdpZmllcl9hdHRyaWJ1dGUoYU9iamVjdCwgYUF0
dHJpYnV0ZSwgYUlzVW5mb3JnZWFibGUpIHsKICAgLy8gU3RlcCAxLgogICB0ZXN0KGZ1bmN0aW9u
KCkgewogICAgIFtudWxsLCB1bmRlZmluZWRdLmZvckVhY2goZnVuY3Rpb24odikgewotICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgICBhT2JqZWN0LnRvU3Ry
aW5nLmNhbGwodik7CiAgICAgICB9KTsKICAgICB9KTsKQEAgLTE1LDcgKzIwLDcgQEAgZnVuY3Rp
b24gdGVzdF9zdHJpbmdpZmllcl9hdHRyaWJ1dGUoYU9iamVjdCwgYUF0dHJpYnV0ZSwgYUlzVW5m
b3JnZWFibGUpIHsKICAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZmFsc2UoIldpbmRv
dyIgaW4gd2luZG93ICYmIGFPYmplY3QgaW5zdGFuY2VvZiB3aW5kb3cuV2luZG93KTsKICAgICBb
e30sIHdpbmRvd10uZm9yRWFjaChmdW5jdGlvbih2KSB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CiAgICAgICAgIGFPYmplY3QudG9TdHJpbmcuY2FsbCh2KQogICAg
ICAgfSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVzdHMtYnkta2V5LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLWJ5
LWtleS5qcwppbmRleCBkODdlYTlmNzZlZTI1Zjc3OTgyMTcyYWFhMDRkNTZmYzAwMGQ3MTQ4Li40
ODMwMTdhNjQ0ODg2YTkzNWMxN2EzMGIwNjA0NjI4MjhhNWVmY2RjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVz
dHMtYnkta2V5LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL3N1YnNldC10ZXN0cy1ieS1rZXkuanMKQEAgLTEsOSArMSwzIEBACi0vLyBP
bmx5IHRlc3QgYSBzdWJzZXQgb2YgdGVzdHMgd2l0aCA/aW5jbHVkZT1Gb28gb3IgP2V4Y2x1ZGU9
Rm9vIGluIHRoZSBVUkwuCi0vLyBDYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIDxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9Ii4uLiI+Ci0vLyBTYW1wbGUgdXNhZ2U6Ci0vLyBmb3IgKGNvbnN0
IHRlc3Qgb2YgdGVzdHMpIHsKLS8vICAgc3Vic2V0VGVzdEJ5S2V5KCJGb28iLCBhc3luY190ZXN0
LCB0ZXN0LmZuLCB0ZXN0Lm5hbWUpOwotLy8gfQogKGZ1bmN0aW9uKCkgewogICB2YXIgc3ViVGVz
dEtleVBhdHRlcm4gPSBudWxsOwogICB2YXIgbWF0Y2g7CkBAIC00OCw2ICs0MiwxMSBAQAogICAg
ICAgfSk7CiAgICAgfQogICB9CisgIC8qKgorICAgKiBDaGVjayBpZiBga2V5YCBpcyBpbiB0aGUg
c3Vic2V0IHNwZWNpZmllZCBpbiB0aGUgVVJMLgorICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5Cisg
ICAqIEByZXR1cm5zIHtib29sZWFufQorICAgKi8KICAgZnVuY3Rpb24gc2hvdWxkUnVuU3ViVGVz
dChrZXkpIHsKICAgICBpZiAoa2V5ICYmIHN1YlRlc3RLZXlQYXR0ZXJuKSB7CiAgICAgICB2YXIg
Zm91bmQgPSBzdWJUZXN0S2V5UGF0dGVybi50ZXN0KGtleSk7CkBAIC01OCw3ICs1NywxNSBAQAog
ICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKICAgfQotICBmdW5jdGlvbiBzdWJzZXRUZXN0QnlLZXko
a2V5LCB0ZXN0RnVuYywgLi4uYXJncykgeworICAvKioKKyAgICogT25seSB0ZXN0IGEgc3Vic2V0
IG9mIHRlc3RzIHdpdGggYD9pbmNsdWRlPUZvb2Agb3IgYD9leGNsdWRlPUZvb2AgaW4gdGhlIFVS
TC4KKyAgICogQ2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgPG1ldGEgbmFtZT0idmFyaWFudCIg
Y29udGVudD0iLi4uIj5gCisgICAqIFNhbXBsZSB1c2FnZToKKyAgICogZm9yIChjb25zdCB0ZXN0
IG9mIHRlc3RzKSB7CisgICAqICAgc3Vic2V0VGVzdEJ5S2V5KCJGb28iLCBhc3luY190ZXN0LCB0
ZXN0LmZuLCB0ZXN0Lm5hbWUpOworICAgKiB9CisgICAqLworICAgZnVuY3Rpb24gc3Vic2V0VGVz
dEJ5S2V5KGtleSwgdGVzdEZ1bmMsIC4uLmFyZ3MpIHsKICAgICBpZiAoY29sbGVjdEtleXMpIHsK
ICAgICAgIGlmIChjb2xsZWN0Q291bnRzICYmIGtleSBpbiBrZXlzKSB7CiAgICAgICAgIGtleXNb
a2V5XSsrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLmpzCmluZGV4IDM3MTM4MTlj
ODg3NzI2YjM3NWQ1MTk1MDI1NWY3Zjc4NDJiZjYxZjEuLjU4ZTkzNDEzZGU0MDkwNzkyZjA5ZTAy
MDEwZWY4MWM0YTYyN2Q2YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N1YnNldC10ZXN0cy5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVzdHMuanMK
QEAgLTEsOSArMSwzIEBACi0vLyBPbmx5IHRlc3QgYSBzdWJzZXQgb2YgdGVzdHMgd2l0aCwgZS5n
LiwgPzEtMTAgaW4gdGhlIFVSTC4KLS8vIENhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iLi4uIj4KLS8vIFNhbXBsZSB1c2FnZToKLS8vIGZvciAo
Y29uc3QgdGVzdCBvZiB0ZXN0cykgewotLy8gICBzdWJzZXRUZXN0KGFzeW5jX3Rlc3QsIHRlc3Qu
Zm4sIHRlc3QubmFtZSk7Ci0vLyB9CiAoZnVuY3Rpb24oKSB7CiAgIHZhciBzdWJUZXN0U3RhcnQg
PSAwOwogICB2YXIgc3ViVGVzdEVuZCA9IEluZmluaXR5OwpAQCAtMzcsMTAgKzMxLDIzIEBACiAg
ICAgICB9KTsKICAgICB9CiAgIH0KKyAgLyoqCisgICAqIENoZWNrIGlmIGBjdXJyZW50U3ViVGVz
dGAgaXMgaW4gdGhlIHN1YnNldCBzcGVjaWZpZWQgaW4gdGhlIFVSTC4KKyAgICogQHBhcmFtIHtu
dW1iZXJ9IGN1cnJlbnRTdWJUZXN0CisgICAqIEByZXR1cm5zIHtib29sZWFufQorICAgKi8KICAg
ZnVuY3Rpb24gc2hvdWxkUnVuU3ViVGVzdChjdXJyZW50U3ViVGVzdCkgewogICAgIHJldHVybiBj
dXJyZW50U3ViVGVzdCA+PSBzdWJUZXN0U3RhcnQgJiYgY3VycmVudFN1YlRlc3QgPD0gc3ViVGVz
dEVuZDsKICAgfQogICB2YXIgY3VycmVudFN1YlRlc3QgPSAwOworICAvKioKKyAgICogT25seSB0
ZXN0IGEgc3Vic2V0IG9mIHRlc3RzIHdpdGgsIGUuZy4sIGA/MS0xMGAgaW4gdGhlIFVSTC4KKyAg
ICogQ2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iLi4uIj5gCisgICAqIFNhbXBsZSB1c2FnZToKKyAgICogZm9yIChjb25zdCB0ZXN0IG9mIHRl
c3RzKSB7CisgICAqICAgc3Vic2V0VGVzdChhc3luY190ZXN0LCB0ZXN0LmZuLCB0ZXN0Lm5hbWUp
OworICAgKiB9CisgICAqLwogICBmdW5jdGlvbiBzdWJzZXRUZXN0KHRlc3RGdW5jLCAuLi5hcmdz
KSB7CiAgICAgY3VycmVudFN1YlRlc3QrKzsKICAgICBpZiAoc2hvdWxkUnVuU3ViVGVzdChjdXJy
ZW50U3ViVGVzdCkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3Rlc3Qtc2V0dGluZy1pbW11dGFibGUtcHJvdG90eXBlLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdGVz
dC1zZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKaW5kZXggOTJlNjFjMDc0MjQxNjZmNGZk
NTE0YWMwY2Q2ZDUwZjFjNjhiMDAyMC4uZGU5YmRkNTkxOWE3OTRiNzY1ZTRmNWJkZDhjMGIwYWM1
MjQyMjdmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vdGVzdC1zZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdGVzdC1z
ZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKQEAgLTEsNyArMSw4IEBACiBzZWxmLnRlc3RT
ZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBlVG9OZXdWYWx1ZU9ubHkgPQotICAocHJlZml4LCB0YXJn
ZXQsIG5ld1ZhbHVlLCBuZXdWYWx1ZVN0cmluZywgeyBpc1NhbWVPcmlnaW5Eb21haW4gfSkgPT4g
eworICAocHJlZml4LCB0YXJnZXQsIG5ld1ZhbHVlLCBuZXdWYWx1ZVN0cmluZywgeyBpc1NhbWVP
cmlnaW5Eb21haW4gfSwKKyAgIHRhcmdldEdsb2JhbCA9IHdpbmRvdykgPT4gewogICB0ZXN0KCgp
ID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IHsKKyAgICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgICAgT2JqZWN0LnNldFByb3RvdHlw
ZU9mKHRhcmdldCwgbmV3VmFsdWUpOwogICAgIH0pOwogICB9LCBgJHtwcmVmaXh9OiBzZXR0aW5n
IHRoZSBwcm90b3R5cGUgdG8gJHtuZXdWYWx1ZVN0cmluZ30gdmlhIE9iamVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3JgKTsKQEAgLTksMTQgKzEwLDIxIEBAIHNlbGYu
dGVzdFNldHRpbmdJbW11dGFibGVQcm90b3R5cGVUb05ld1ZhbHVlT25seSA9CiAgIGxldCBkdW5k
ZXJQcm90b0Vycm9yID0gIlNlY3VyaXR5RXJyb3IiOwogICBsZXQgZHVuZGVyUHJvdG9FcnJvck5h
bWUgPSAiXCJTZWN1cml0eUVycm9yXCIgRE9NRXhjZXB0aW9uIjsKICAgaWYgKGlzU2FtZU9yaWdp
bkRvbWFpbikgewotICAgIGR1bmRlclByb3RvRXJyb3IgPSBuZXcgVHlwZUVycm9yKCk7CisgICAg
Ly8gV2UncmUgZ29pbmcgdG8gZW5kIHVwIGNhbGxpbmcgdGhlIF9fcHJvdG9fXyBzZXR0ZXIsIHdo
aWNoIHdpbGwKKyAgICAvLyBlbnRlciB0aGUgUmVhbG0gb2YgdGFyZ2V0R2xvYmFsIGJlZm9yZSB0
aHJvd2luZy4KKyAgICBkdW5kZXJQcm90b0Vycm9yID0gdGFyZ2V0R2xvYmFsLlR5cGVFcnJvcjsK
ICAgICBkdW5kZXJQcm90b0Vycm9yTmFtZSA9ICJUeXBlRXJyb3IiOwogICB9CiAKICAgdGVzdCgo
KSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cyhkdW5kZXJQcm90b0Vycm9yLCBmdW5jdGlvbigpIHsK
KyAgICBjb25zdCBmdW5jID0gZnVuY3Rpb24oKSB7CiAgICAgICB0YXJnZXQuX19wcm90b19fID0g
bmV3VmFsdWU7Ci0gICAgfSk7CisgICAgfTsKKyAgICBpZiAoaXNTYW1lT3JpZ2luRG9tYWluKSB7
CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKGR1bmRlclByb3RvRXJyb3IsIGZ1bmMpOworICAgIH0g
ZWxzZSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbShkdW5kZXJQcm90b0Vycm9yLCBmdW5jKTsK
KyAgICB9CiAgIH0sIGAke3ByZWZpeH06IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byAke25ld1Zh
bHVlU3RyaW5nfSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhICR7ZHVuZGVyUHJvdG9FcnJv
ck5hbWV9YCk7CiAKICAgdGVzdCgoKSA9PiB7CkBAIC0yNSw4ICszMywxMCBAQCBzZWxmLnRlc3RT
ZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBlVG9OZXdWYWx1ZU9ubHkgPQogfTsKIAogc2VsZi50ZXN0
U2V0dGluZ0ltbXV0YWJsZVByb3RvdHlwZSA9Ci0gIChwcmVmaXgsIHRhcmdldCwgb3JpZ2luYWxW
YWx1ZSwgeyBpc1NhbWVPcmlnaW5Eb21haW4gfSwgbmV3VmFsdWUgPSB7fSwgbmV3VmFsdWVTdHJp
bmcgPSAiYW4gZW1wdHkgb2JqZWN0IikgPT4gewotICB0ZXN0U2V0dGluZ0ltbXV0YWJsZVByb3Rv
dHlwZVRvTmV3VmFsdWVPbmx5KHByZWZpeCwgdGFyZ2V0LCBuZXdWYWx1ZSwgbmV3VmFsdWVTdHJp
bmcsIHsgaXNTYW1lT3JpZ2luRG9tYWluIH0pOworICAocHJlZml4LCB0YXJnZXQsIG9yaWdpbmFs
VmFsdWUsIHsgaXNTYW1lT3JpZ2luRG9tYWluIH0sIHRhcmdldEdsb2JhbCA9IHdpbmRvdykgPT4g
eworICBjb25zdCBuZXdWYWx1ZSA9IHt9OworICBjb25zdCBuZXdWYWx1ZVN0cmluZyA9ICJhbiBl
bXB0eSBvYmplY3QiOworICB0ZXN0U2V0dGluZ0ltbXV0YWJsZVByb3RvdHlwZVRvTmV3VmFsdWVP
bmx5KHByZWZpeCwgdGFyZ2V0LCBuZXdWYWx1ZSwgbmV3VmFsdWVTdHJpbmcsIHsgaXNTYW1lT3Jp
Z2luRG9tYWluIH0sIHRhcmdldEdsb2JhbCk7CiAKICAgY29uc3Qgb3JpZ2luYWxWYWx1ZVN0cmlu
ZyA9IG9yaWdpbmFsVmFsdWUgPT09IG51bGwgPyAibnVsbCIgOiAiaXRzIG9yaWdpbmFsIHZhbHVl
IjsKIApAQCAtNDQsNyArNTQsNyBAQCBzZWxmLnRlc3RTZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBl
ID0KICAgICB9LCBgJHtwcmVmaXh9OiBzZXR0aW5nIHRoZSBwcm90b3R5cGUgdG8gJHtvcmlnaW5h
bFZhbHVlU3RyaW5nfSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3dgKTsKICAgfSBlbHNl
IHsKICAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJTZWN1cml0eUVycm9yIiwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgIHRhcmdldC5fX3Byb3RvX18gPSBuZXdWYWx1ZTsKICAgICAg
IH0pOwogICAgIH0sIGAke3ByZWZpeH06IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byAke29yaWdp
bmFsVmFsdWVTdHJpbmd9IHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgIlNlY3VyaXR5RXJy
b3IiIHNpbmNlIGAgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcwppbmRleCBiY2RjMjU2ZDkxNzQwNmM2
YjE1MDRiOTZjM2U3MDg3NjA0ZmNkNzVhLi42MmU3NDJiZWU3ZjY3Y2YzYmQ5MmEyMTdhMGE5MmIy
M2ZkZGYzMDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcwpAQCAtMSwzICsxLDE0IEBACisvKioK
KyAqIENyZWF0ZSBhbiBhYnNvbHV0ZSBVUkwgZnJvbSBgb3B0aW9uc2AgYW5kIGRlZmF1bHRpbmcg
dW5zcGVjaWZpZWQgcHJvcGVydGllcyB0byBgd2luZG93LmxvY2F0aW9uYC4KKyAqIEBwYXJhbSB7
T2JqZWN0fSBvcHRpb25zIC0gYSBgTG9jYXRpb25gLWxpa2Ugb2JqZWN0CisgKiBAcGFyYW0ge3N0
cmluZ30gb3B0aW9ucy5ob3N0bmFtZQorICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc3ViZG9t
YWluIC0gcHJlcGVuZCBzdWJkb21haW4gdG8gdGhlIGhvc3RuYW1lCisgKiBAcGFyYW0ge3N0cmlu
Z30gb3B0aW9ucy5wb3J0CisgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXRoCisgKiBAcGFy
YW0ge3N0cmluZ30gb3B0aW9ucy5xdWVyeQorICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaGFz
aAorICogQHJldHVybnMge3N0cmluZ30KKyAqLwogZnVuY3Rpb24gbWFrZV9hYnNvbHV0ZV91cmwo
b3B0aW9ucykgewogICAgIHZhciBsb2MgPSB3aW5kb3cubG9jYXRpb247CiAgICAgdmFyIHByb3Rv
Y29sID0gZ2V0KG9wdGlvbnMsICJwcm90b2NvbCIsIGxvYy5wcm90b2NvbCk7CkBAIC00MSw2ICs1
Miw3IEBAIGZ1bmN0aW9uIG1ha2VfYWJzb2x1dGVfdXJsKG9wdGlvbnMpIHsKICAgICByZXR1cm4g
dXJsOwogfQogCisvKiogQHByaXZhdGUgKi8KIGZ1bmN0aW9uIGdldChvYmosIG5hbWUsIGRlZmF1
bHRfdmFsKSB7CiAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewogICAgICAgICBy
ZXR1cm4gb2JqW25hbWVdOwpAQCAtNDgsNiArNjAsMTAgQEAgZnVuY3Rpb24gZ2V0KG9iaiwgbmFt
ZSwgZGVmYXVsdF92YWwpIHsKICAgICByZXR1cm4gZGVmYXVsdF92YWw7CiB9CiAKKy8qKgorICog
R2VuZXJhdGUgYSBuZXcgVVVJRC4KKyAqIEByZXR1cm5zIHtzdHJpbmd9CisgKi8KIGZ1bmN0aW9u
IHRva2VuKCkgewogICAgIHZhciB1dWlkID0gW3RvX2hleChyYW5kX2ludCgzMiksIDgpLAogICAg
ICAgICAgICAgICAgIHRvX2hleChyYW5kX2ludCgxNiksIDQpLApAQCAtNTcsNiArNzMsNyBAQCBm
dW5jdGlvbiB0b2tlbigpIHsKICAgICByZXR1cm4gdXVpZDsKIH0KIAorLyoqIEBwcml2YXRlICov
CiBmdW5jdGlvbiByYW5kX2ludChiaXRzKSB7CiAgICAgaWYgKGJpdHMgPCAxIHx8IGJpdHMgPiA1
MykgewogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7CkBAIC03MSw2ICs4OCw3IEBAIGZ1
bmN0aW9uIHJhbmRfaW50KGJpdHMpIHsKICAgICB9CiB9CiAKKy8qKiBAcHJpdmF0ZSAqLwogZnVu
Y3Rpb24gdG9faGV4KHgsIGxlbmd0aCkgewogICAgIHZhciBydiA9IHgudG9TdHJpbmcoMTYpOwog
ICAgIHdoaWxlIChydi5sZW5ndGggPCBsZW5ndGgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWlt
cG9ydC5sb2cKaW5kZXggMTk2MWMwNmExMjE5MGNlNWY0ZGQ3MDdjYmI4NmEzZWFmNWZhMGI5MS4u
MzA3MDE1MmM4YTRiODU0ZmVjZDA4MWNkNzQ5OTlkODE4MGY3NjBmOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vdzNjLWltcG9ydC5sb2cKQEAgLTM4LDYgKzM4LDggQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZWRpcmVj
dC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L3JlZnRlc3Qtd2FpdC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL3JlZnRlc3Qtd2FpdC5qcy5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vcmVuZGVyaW5nLXV0aWxzLmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2FiLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2xvdy5w
eQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N0
cmluZ2lmaWVycy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL3N0cmluZ2lmaWVycy5qcy5oZWFkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93b3JrbGV0LXJlZnRlc3Qu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93
b3JrbGV0LXJlZnRlc3QuanMKaW5kZXggZDkyYzc2Y2FiZjNjNGE1YmQ1ZmE1NjMwNjM4MmUwOWE2
ZDEzYjQzZi4uZTA1ZDRlZTgwMWI1M2JlNTIxZTU4OWUzNzcwNGYzYmQ5ZWYwMDFmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
d29ya2xldC1yZWZ0ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29tbW9uL3dvcmtsZXQtcmVmdGVzdC5qcwpAQCAtMSw3ICsxLDEyIEBACi0v
LyBJbXBvcnRzIGNvZGUgaW50byBhIHdvcmtsZXQuIEUuZy4KLS8vCi0vLyBpbXBvcnRXb3JrbGV0
KENTUy5wYWludFdvcmtsZXQsIHt1cmw6ICdzY3JpcHQuanMnfSk7Ci0vLyBpbXBvcnRXb3JrbGV0
KENTUy5wYWludFdvcmtsZXQsICcvKiBqYXZhc2NyaXB0IHN0cmluZyAqLycpOworLyoqCisgKiBJ
bXBvcnRzIGNvZGUgaW50byBhIHdvcmtsZXQuIEUuZy4KKyAqCisgKiBpbXBvcnRXb3JrbGV0KENT
Uy5wYWludFdvcmtsZXQsIHt1cmw6ICdzY3JpcHQuanMnfSk7CisgKiBpbXBvcnRXb3JrbGV0KENT
Uy5wYWludFdvcmtsZXQsICcoamF2YXNjcmlwdCBzdHJpbmcpJyk7CisgKgorICogQHBhcmFtIHtX
b3JrbGV0fSB3b3JrbGV0CisgKiBAcGFyYW0geyhPYmplY3R8c3RyaW5nKX0gY29kZQorICovCiBm
dW5jdGlvbiBpbXBvcnRXb3JrbGV0KHdvcmtsZXQsIGNvZGUpIHsKICAgICBsZXQgdXJsOwogICAg
IGlmICh0eXBlb2YgY29kZSA9PT0gJ29iamVjdCcpIHsKQEAgLTE0LDE4ICsxOSwyNSBAQCBmdW5j
dGlvbiBpbXBvcnRXb3JrbGV0KHdvcmtsZXQsIGNvZGUpIHsKICAgICByZXR1cm4gd29ya2xldC5h
ZGRNb2R1bGUodXJsKTsKIH0KIAorLyoqIEBwcml2YXRlICovCiBhc3luYyBmdW5jdGlvbiBhbmlt
YXRpb25GcmFtZXMoZnJhbWVzKSB7CiAgIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzOyBpKysp
CiAgICAgYXdhaXQgbmV3IFByb21pc2UocmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKIH0KIAorLyoq
IEBwcml2YXRlICovCiBhc3luYyBmdW5jdGlvbiB3b3JrbGV0UGFpbnRlZCgpIHsKICAgICBhd2Fp
dCBhbmltYXRpb25GcmFtZXMoMik7CiB9CiAKLS8vIFRvIG1ha2Ugc3VyZSB0aGF0IHdlIHRha2Ug
dGhlIHNuYXBzaG90IGF0IHRoZSByaWdodCB0aW1lLCB3ZSBkbyBkb3VibGUKLS8vIHJlcXVlc3RB
bmltYXRpb25GcmFtZS4gSW4gdGhlIHNlY29uZCBmcmFtZSwgd2UgdGFrZSBhIHNjcmVlbnNob3Qs
IHRoYXQgbWFrZXMKLS8vIHN1cmUgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgYSBmdWxsIGZyYW1lLgor
LyoqCisgKiBUbyBtYWtlIHN1cmUgdGhhdCB3ZSB0YWtlIHRoZSBzbmFwc2hvdCBhdCB0aGUgcmln
aHQgdGltZSwgd2UgZG8gZG91YmxlCisgKiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuIEluIHRoZSBz
ZWNvbmQgZnJhbWUsIHdlIHRha2UgYSBzY3JlZW5zaG90LCB0aGF0IG1ha2VzCisgKiBzdXJlIHRo
YXQgd2UgYWxyZWFkeSBoYXZlIGEgZnVsbCBmcmFtZS4KKyAqCisgKiBAcGFyYW0ge1dvcmtsZXR9
IHdvcmtsZXQKKyAqIEBwYXJhbSB7KE9iamVjdHxzdHJpbmcpfSBjb2RlCisgKi8KIGFzeW5jIGZ1
bmN0aW9uIGltcG9ydFdvcmtsZXRBbmRUZXJtaW5hdGVUZXN0QWZ0ZXJBc3luY1BhaW50KHdvcmts
ZXQsIGNvZGUpIHsKICAgICBpZiAodHlwZW9mIHdvcmtsZXQgPT09ICd1bmRlZmluZWQnKSB7CiAg
ICAgICAgIHRha2VTY3JlZW5zaG90KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402920</attachid>
            <date>2020-06-26 16:12:31 -0700</date>
            <delta_ts>2020-06-27 09:09:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213665-20200626161230.patch</filename>
            <type>text/plain</type>
            <size>116060</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTg4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAwNDhlNWM5NTgzMTRmYWQ4ZThiZWNjY2Q4OTIyNjE5MGJjY2QzOTA0Li4zOGEzZGM4YmU1
ZDEyYmRhZmY1YTM4ZTcxODY2OThjMzgzNzA4ODAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uIGZy
b20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMzY2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uIGZyb20gdXBzdHJlYW0gYjA3NmMz
MDVhMjU2ZTdmYjcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uLyo6IFVw
ZGF0ZWQuCisKIDIwMjAtMDYtMjQgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVbnJldmlld2VkIGdhcmRlbmluZy4gVXBkYXRlZCBl
eHBlY3RhdGlvbnMgYW5kIG5ldyBwYXNzaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vTUVUQS55bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbApp
bmRleCA5NTg4ODNhMWIwN2U3ZGIxMzI0OTE1M2ZjODVjNjlkMmE0MDM2M2EzLi5jYTRkMmU1MjNj
MDg2NjIwNzhlN2QwNDAxOGFjZjZhMjU1MDg4MjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9NRVRBLnltbApA
QCAtMSw0ICsxLDMgQEAKIHN1Z2dlc3RlZF9yZXZpZXdlcnM6CiAgIC0genF6aGFuZwogICAtIGRl
bmlhawotICAtIGdzbmVkZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vYXJyYXlzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vYXJyYXlzLmpzCmluZGV4IDQ5NDMxZGQ3
OGFkZjg1Yjg4NjgyZmU3ZGM1ZjEzOWYxNjY5NmYwYmIuLjJiMzFiYjQxNzljMjZkNzkwMTc0MjE0
YmUwOTcxNjBjYzMwMmQwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL2FycmF5cy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9hcnJheXMuanMKQEAgLTEsNCArMSwx
OSBAQAotLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBhcnJheXMgYXJlIGVxdWFsLiBPcHRp
b25hbGx5IGNhbiBwYXNzIGFuIGVxdWFsaXR5IGZ1bmN0aW9uLgorLyoqCisgKiBDYWxsYmFjayBm
b3IgY2hlY2tpbmcgZXF1YWxpdHkgb2YgYyBhbmQgZC4KKyAqCisgKiBAY2FsbGJhY2sgZXF1YWxp
dHlDYWxsYmFjaworICogQHBhcmFtIHsqfSBjCisgKiBAcGFyYW0geyp9IGQKKyAqIEByZXR1cm5z
IHtib29sZWFufQorICovCisKKy8qKgorICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBhcnJh
eXMgYXJlIGVxdWFsLiBPcHRpb25hbGx5IGNhbiBwYXNzIGFuIGVxdWFsaXR5IGZ1bmN0aW9uLgor
ICogQHBhcmFtIHtBcnJheX0gYQorICogQHBhcmFtIHtBcnJheX0gYgorICogQHBhcmFtIHtlcXVh
bGl0eUNhbGxiYWNrfSBjYWxsYmFja0Z1bmN0aW9uIC0gZGVmYXVsdHMgdG8gYGMgPT09IGRgCisg
KiBAcmV0dXJucyB7Ym9vbGVhbn0KKyAqLwogZXhwb3J0IGZ1bmN0aW9uIGFyZUFycmF5c0VxdWFs
KGEsIGIsIGVxdWFsaXR5RnVuY3Rpb24gPSAoYywgZCkgPT4geyByZXR1cm4gYyA9PT0gZDsgfSkg
ewogICB0cnkgewogICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9nZXQtaG9z
dC1pbmZvLnN1Yi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCmluZGV4IDFmYmYyZGJjNjg3OTFmMzE4OGIw
YjgyYzcxMTk4YmM0MDlmYjAwN2QuLjFjMjhhN2Y0NzZmNjdkNTEzZTQ2MjdiNjEzM2QwYzJlMGZm
Yzg2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCkBA
IC0xLDMgKzEsNyBAQAorLyoqCisgKiBIb3N0IGluZm9ybWF0aW9uIGZvciBjcm9zcy1vcmlnaW4g
dGVzdHMuCisgKiBAcmV0dXJucyB7T2JqZWN0fSB3aXRoIHByb3BlcnRpZXMgZm9yIGRpZmZlcmVu
dCBob3N0IGluZm9ybWF0aW9uLgorICovCiBmdW5jdGlvbiBnZXRfaG9zdF9pbmZvKCkgewogCiAg
IHZhciBIVFRQX1BPUlQgPSAne3twb3J0c1todHRwXVswXX19JzsKQEAgLTM4LDEwICs0MiwxMyBA
QCBmdW5jdGlvbiBnZXRfaG9zdF9pbmZvKCkgewogICB9OwogfQogCisvKioKKyAqIFdoZW4gYSBk
ZWZhdWx0IHBvcnQgaXMgdXNlZCwgbG9jYXRpb24ucG9ydCByZXR1cm5zIHRoZSBlbXB0eSBzdHJp
bmcuCisgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIHByb3ZpZGUgYW4gZXhhY3QgcG9ydCwg
YXNzdW1pbmcgd2UgYXJlIHJ1bm5pbmcgdW5kZXIgd3B0c2VydmUuCisgKiBAcGFyYW0geyp9IGxv
YyAtIGNhbiBiZSBMb2NhdGlvbi88YT4vPGFyZWE+L1VSTCwgYnV0IGFzc3VtZXMgaHR0cC9odHRw
cyBvbmx5LgorICogQHJldHVybnMge3N0cmluZ30gVGhlIHBvcnQgbnVtYmVyLgorICovCiBmdW5j
dGlvbiBnZXRfcG9ydChsb2MpIHsKLSAgLy8gV2hlbiBhIGRlZmF1bHQgcG9ydCBpcyB1c2VkLCBs
b2NhdGlvbi5wb3J0IHJldHVybnMgdGhlIGVtcHR5IHN0cmluZy4KLSAgLy8gVG8gY29tcGFyZSB3
aXRoIHdwdHNlcnZlIGBwb3J0c2Agc3Vic3RpdHV0aW9uIHdlIG5lZWQgYSBwb3J0Li4uCi0gIC8v
IGxvYyBjYW4gYmUgTG9jYXRpb24vPGE+LzxhcmVhPi9VUkwsIGJ1dCBhc3N1bWVzIGh0dHAvaHR0
cHMgb25seS4KICAgaWYgKGxvYy5wb3J0KSB7CiAgICAgcmV0dXJuIGxvYy5wb3J0OwogICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9tZWRpYS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL21lZGlhLmpzCmluZGV4IDdjZWExYWM5YjNjYWNlMzU2Y2JmNjYxZGQ0NWUxYzlk
YzE1NjkxN2YuLmU5YjFlNmIwZmJlNmFlOWE0NWI4YmZjNGQ5MjA4NDFiYjc0ODEzYzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L21lZGlhLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL21lZGlhLmpzCkBAIC0xLDYgKzEsOCBAQAotLy8KLS8vIFJldHVybnMgdGhlIFVS
SSBvZiBhIHN1cHBvcnRlZCB2aWRlbyBzb3VyY2UgYmFzZWQgb24gdGhlIHVzZXIgYWdlbnQKLS8v
CisvKioKKyAqIFJldHVybnMgdGhlIFVSTCBvZiBhIHN1cHBvcnRlZCB2aWRlbyBzb3VyY2UgYmFz
ZWQgb24gdGhlIHVzZXIgYWdlbnQKKyAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIC0gbWVkaWEgVVJM
IHdpdGhvdXQgZmlsZSBleHRlbnNpb24KKyAqIEByZXR1cm5zIHtzdHJpbmd9CisgKi8KIGZ1bmN0
aW9uIGdldFZpZGVvVVJJKGJhc2UpCiB7CiAgICAgdmFyIGV4dGVuc2lvbiA9ICcubXA0JzsKQEAg
LTE2LDkgKzE4LDExIEBAIGZ1bmN0aW9uIGdldFZpZGVvVVJJKGJhc2UpCiAgICAgcmV0dXJuIGJh
c2UgKyBleHRlbnNpb247CiB9CiAKLS8vCi0vLyBSZXR1cm5zIHRoZSBVUkkgb2YgYSBzdXBwb3J0
ZWQgYXVkaW8gc291cmNlIGJhc2VkIG9uIHRoZSB1c2VyIGFnZW50Ci0vLworLyoqCisgKiBSZXR1
cm5zIHRoZSBVUkwgb2YgYSBzdXBwb3J0ZWQgYXVkaW8gc291cmNlIGJhc2VkIG9uIHRoZSB1c2Vy
IGFnZW50CisgKiBAcGFyYW0ge3N0cmluZ30gYmFzZSAtIG1lZGlhIFVSTCB3aXRob3V0IGZpbGUg
ZXh0ZW5zaW9uCisgKiBAcmV0dXJucyB7c3RyaW5nfQorICovCiBmdW5jdGlvbiBnZXRBdWRpb1VS
SShiYXNlKQogewogICAgIHZhciBleHRlbnNpb24gPSAnLm1wMyc7CkBAIC0zNCw2ICszOCwxMSBA
QCBmdW5jdGlvbiBnZXRBdWRpb1VSSShiYXNlKQogICAgIHJldHVybiBiYXNlICsgZXh0ZW5zaW9u
OwogfQogCisvKioKKyAqIFJldHVybnMgdGhlIE1JTUUgdHlwZSBmb3IgYSBtZWRpYSBVUkwgYmFz
ZWQgb24gdGhlIGZpbGUgZXh0ZW5zaW9uLgorICogQHBhcmFtIHtzdHJpbmd9IHVybAorICogQHJl
dHVybnMge3N0cmluZ30KKyAqLwogZnVuY3Rpb24gZ2V0TWVkaWFDb250ZW50VHlwZSh1cmwpIHsK
ICAgICB2YXIgZXh0ZW5zaW9uID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uKS5wYXRobmFtZS5zcGxp
dCgiLiIpLnBvcCgpOwogICAgIHZhciBtYXAgPSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9vYmplY3QtYXNzb2NpYXRpb24u
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9v
YmplY3QtYXNzb2NpYXRpb24uanMKaW5kZXggZDU4Zjk0YjYyZDY1MmFkMjg3OWViODM4MjFiYTI3
OGI1NjAwNmY3Yi4uNDU4YWFlNjdkYjBjZWYwY2U4MzA2YjZjMmI1NjI5N2IzNDRlZTYxNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vb2JqZWN0LWFzc29jaWF0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL29iamVjdC1hc3NvY2lhdGlvbi5qcwpAQCAtMiw2ICsy
LDEwIEBACiAKIC8vIEZvciBub3cgdGhpcyBvbmx5IGhhcyBwZXItV2luZG93IHRlc3RzLCBidXQg
d2UgY291bGQgZXhwYW5kIGl0IHRvIGFsc28gdGVzdCBwZXItRG9jdW1lbnQKIAorLyoqCisgKiBS
dW4gdGVzdHMgZm9yIHdpbmRvd1twcm9wZXJ0eU5hbWVdIGFmdGVyIGRpc2NhcmRpbmcgdGhlIGJy
b3dzaW5nIGNvbnRleHQsIG5hdmlnYXRpbmcsIGV0Yy4KKyAqIEBwYXJhbSB7c3RyaW5nfSBwcm9w
ZXJ0eU5hbWUKKyAqLwogd2luZG93LnRlc3RJc1BlcldpbmRvdyA9IHByb3BlcnR5TmFtZSA9PiB7
CiAgIHRlc3QodCA9PiB7CiAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9yZWRpcmVjdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CmluZGV4IDNmMTVlZmZjMDU5
ZTdmZDQ2MzYyZTdlZTViNGNiZWIyZDIxOGE0YWEuLmYyZmQxZWJkNTFkNGFkNWY0ZWYwNTgyNTEw
NjAwZWIzNzMxZmQyYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlZGlyZWN0LnB5CkBAIC02LDE0ICs2
LDE0IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBsb2NhdGlvbiAtIFRoZSBy
ZXNvdXJjZSB0byByZWRpcmVjdCB0by4KICAgICAiIiIKICAgICBzdGF0dXMgPSAzMDIKLSAgICBp
ZiAic3RhdHVzIiBpbiByZXF1ZXN0LkdFVDoKKyAgICBpZiBiInN0YXR1cyIgaW4gcmVxdWVzdC5H
RVQ6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHN0YXR1cyA9IGludChyZXF1ZXN0LkdFVC5m
aXJzdCgic3RhdHVzIikpCisgICAgICAgICAgICBzdGF0dXMgPSBpbnQocmVxdWVzdC5HRVQuZmly
c3QoYiJzdGF0dXMiKSkKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICBw
YXNzCiAKICAgICByZXNwb25zZS5zdGF0dXMgPSBzdGF0dXMKIAotICAgIGxvY2F0aW9uID0gcmVx
dWVzdC5HRVQuZmlyc3QoImxvY2F0aW9uIikKKyAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZp
cnN0KGIibG9jYXRpb24iKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwg
bG9jYXRpb24pCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJMb2NhdGlvbiIsIGxvY2F0aW9u
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vcmVmdGVzdC13YWl0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vcmVmdGVzdC13YWl0LmpzCmluZGV4IDg3ODE2ZjgzNDUyMjVk
ZWU1MzIwYTAyZjk3OTU0NDU1NzEzZTNjNzguLjBhMzBhMTk3ZjA3ZjRkZmRlOThmYTNhOTQ2MGQz
OWEzZjVkNzcwYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29tbW9uL3JlZnRlc3Qtd2FpdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZWZ0ZXN0LXdhaXQuanMKQEAgLTEs
NyArMSwxOCBAQAorLyoqCisgKiBSZW1vdmUgdGhlIGByZWZ0ZXN0LXdhaXRgIGNsYXNzIG9uIHRo
ZSBkb2N1bWVudCBlbGVtZW50LgorICogVGhlIHJlZnRlc3QgcnVubmVyIHdpbGwgd2FpdCB3aXRo
IHRha2luZyBhIHNjcmVlbnNob3Qgd2hpbGUKKyAqIHRoaXMgY2xhc3MgaXMgcHJlc2VudC4KKyAq
CisgKiBTZWUgaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvcmVm
dGVzdHMuaHRtbCNjb250cm9sbGluZy13aGVuLWNvbXBhcmlzb24tb2NjdXJzCisgKi8KIGZ1bmN0
aW9uIHRha2VTY3JlZW5zaG90KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCJyZWZ0ZXN0LXdhaXQiKTsKIH0KIAorLyoqCisgKiBDYWxsIGB0YWtlU2Ny
ZWVuc2hvdCgpYCBhZnRlciBhIGRlbGF5IG9mIGF0IGxlYXN0IHx0aW1lb3V0fCBtaWxsaXNlY29u
ZHMuCisgKiBAcGFyYW0ge251bWJlcn0gdGltZW91dCAtIG1pbGxpc2Vjb25kcworICovCiBmdW5j
dGlvbiB0YWtlU2NyZWVuc2hvdERlbGF5ZWQodGltZW91dCkgewogICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CiAgICAgICAgIHRha2VTY3JlZW5zaG90KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZW5kZXJpbmctdXRp
bHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9yZW5kZXJpbmctdXRpbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYyODNiZDVkMDc4YTE0OTIyZTI0MTYw
MDUzMDE3YjZlOGNiMDcyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3JlbmRlcmluZy11dGlscy5qcwpAQCAtMCww
ICsxLDE5IEBACisidXNlIHN0cmljdCI7CisKKy8qKgorICogV2FpdHMgdW50aWwgd2UgaGF2ZSBh
dCBsZWFzdCBvbmUgZnJhbWUgcmVuZGVyZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIGVuZ2luZS4KKyAq
CisgKiBAcmV0dXJucyB7UHJvbWlzZX0KKyAqLworZnVuY3Rpb24gd2FpdEZvckF0TGVhc3RPbmVG
cmFtZSgpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIC8vIERpZmZl
cmVudCB3ZWIgZW5naW5lcyB3b3JrIHNsaWdodGx5IGRpZmZlcmVudCBvbiB0aGlzIGFyZWEgYnV0
IHdhaXRpbmcKKyAgICAvLyBmb3IgdHdvIHJlcXVlc3RBbmltYXRpb25GcmFtZXMoKSB0byBoYXBw
ZW4sIG9uZSBhZnRlciBhbm90aGVyLCBzaG91bGQgYmUKKyAgICAvLyBzdWZmaWNpZW50IHRvIGVu
c3VyZSBhdCBsZWFzdCBvbmUgZnJhbWUgaGFzIGJlZW4gZ2VuZXJhdGVkIGFueXdoZXJlLgorICAg
IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgd2luZG93LnJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0pOwor
ICAgIH0pOworICB9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NhYi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NhYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2ZkMWE3NDJl
NjRmNjY3NDRiNDE2NTg0OTUyZWZmZTI5ZmRhMjA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2FiLmpzCkBAIC0w
LDAgKzEsMTMgQEAKK2NvbnN0IGNyZWF0ZUJ1ZmZlciA9ICgoKSA9PiB7CisgIC8vIFNlZSBodHRw
czovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9yIHdoeSBub3QgYG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcigpYAorICBjb25zdCBzYWJDb25zdHJ1Y3RvciA9IG5ldyBXZWJBc3Nl
bWJseS5NZW1vcnkoeyBzaGFyZWQ6dHJ1ZSwgaW5pdGlhbDowLCBtYXhpbXVtOjAgfSkuYnVmZmVy
LmNvbnN0cnVjdG9yOworICByZXR1cm4gKHR5cGUsIGxlbmd0aCkgPT4geworICAgIGlmICh0eXBl
ID09PSAiQXJyYXlCdWZmZXIiKSB7CisgICAgICByZXR1cm4gbmV3IEFycmF5QnVmZmVyKGxlbmd0
aCk7CisgICAgfSBlbHNlIGlmICh0eXBlID09PSAiU2hhcmVkQXJyYXlCdWZmZXIiKSB7CisgICAg
ICByZXR1cm4gbmV3IHNhYkNvbnN0cnVjdG9yKGxlbmd0aCk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHRocm93IG5ldyBFcnJvcigidHlwZSBoYXMgdG8gYmUgQXJyYXlCdWZmZXIgb3IgU2hhcmVkQXJy
YXlCdWZmZXIiKTsKKyAgICB9CisgIH0KK30pKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9S
RUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9SRUFETUUubWQKaW5kZXggOThhZmUxYWYxYmU4ZDYzMjlm
OWFlNjg3MzIwZDRiZDQ3OTdjYTJjOC4uZmI5YTJmMTA4ZjlmYWY2OGJiODZmMGJkOWY4NDhkYmQy
ODYzMGNhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvUkVBRE1FLm1kCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL1JFQURNRS5tZApAQCAtMSw1ICsxLDMgQEAKLQotCiBUaGlzIGRpcmVjdG9yeSBjb250YWlu
cyB0aGUgY29tbW9uIGluZnJhc3RydWN0dXJlIGZvciB0aGUgZm9sbG93aW5nIHRlc3RzIChhbHNv
IHJlZmVycmVkIGJlbG93IGFzIHByb2plY3RzKS4KIAogLSByZWZlcnJlci1wb2xpY3kvCkBAIC0y
NSw3ICsyMyw3IEBAIFN1YmRpcmVjdG9yaWVzOgogCiAjIFRlc3QgZ2VuZXJhdG9yCiAKLVRoZSB0
ZXN0IGdlbmVyYXRvciAoYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29sc2ApIGdlbmVyYXRl
cyB0ZXN0IEhUTUwgZmlsZXMgZnJvbSB0ZW1wbGF0ZXMgYW5kIGEgc2VlZCAoYHNwZWMuc3JjLmpz
b25gKSB0aGF0IGRlZmluZXMgYWxsIHRoZSB0ZXN0IHNjZW5hcmlvcy4KK1RoZSB0ZXN0IGdlbmVy
YXRvciAoW2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9nZW5lcmF0ZS5weV0odG9vbHMv
Z2VuZXJhdGUucHkpKSBnZW5lcmF0ZXMgdGVzdCBIVE1MIGZpbGVzIGZyb20gdGVtcGxhdGVzIGFu
ZCBhIHNlZWQgKGBzcGVjLnNyYy5qc29uYCkgdGhhdCBkZWZpbmVzIGFsbCB0aGUgdGVzdCBzY2Vu
YXJpb3MuCiAKIFRoZSBwcm9qZWN0IChpLmUuIGEgV1BUIHN1YmRpcmVjdG9yeSwgZm9yIGV4YW1w
bGUgYHJlZmVycmVyLXBvbGljeS9gKSB0aGF0IHVzZXMgdGhlIGdlbmVyYXRvciBzaG91bGQgZGVm
aW5lIHBlci1wcm9qZWN0IGRhdGEgYW5kIGludm9rZSB0aGUgY29tbW9uIGdlbmVyYXRvciBsb2dp
YyBpbiBgY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzYC4KIApAQCAtMzQsMzMgKzMyLDQz
IEBAIFRoaXMgaXMgdGhlIG92ZXJ2aWV3IG9mIHRoZSBwcm9qZWN0IHN0cnVjdHVyZToKIGBgYAog
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzLwog4pSU4pSA4pSAIHRvb2xzLyAtIHRoZSBjb21tb24g
dGVzdCBnZW5lcmF0b3IgbG9naWMKKyAgICDilJzilIDilIAgc3BlYy5zcmMuanNvbgogICAgIOKU
lOKUgOKUgCB0ZW1wbGF0ZS8gLSB0aGUgdGVzdCBmaWxlcyB0ZW1wbGF0ZXMKIHByb2plY3QtZGly
ZWN0b3J5LyAoZS5nLiByZWZlcnJlci1wb2xpY3kvKQog4pSc4pSA4pSAIHNwZWMuc3JjLmpzb24K
IOKUnOKUgOKUgCBnZW5lcmljLwog4pSCICAg4pSc4pSA4pSAIHRlc3QtY2FzZS5zdWIuanMgLSBQ
ZXItcHJvamVjdCB0ZXN0IGhlbHBlcgot4pSCICAg4pSU4pSA4pSAIHRvb2xzLwot4pSCICAgICAg
IOKUlOKUgOKUgCBnZW5lcmF0b3IucHkgLSBQZXItcHJvamVjdCBnZW5lcmF0b3Igc2NyaXB0Civi
lIIgICDilJzilIDilIAgc2FuaXR5LWNoZWNrZXIuanMgKFVzZWQgYnkgZGVidWcgdGFyZ2V0IG9u
bHkpCivilIIgICDilJTilIDilIAgc3BlY19qc29uLmpzIChVc2VkIGJ5IGRlYnVnIHRhcmdldCBv
bmx5KQog4pSU4pSA4pSAIGdlbi8gLSBnZW5lcmF0ZWQgdGVzdHMKIGBgYAogCi1JbnZva2luZyBg
cHJvamVjdC1kaXJlY3RvcnkvZ2VuZXJpYy90b29scy9nZW5lcmF0ZS5weWAgd2lsbCBwYXJzZSB0
aGUgc3BlYyBKU09OIGFuZCBkZXRlcm1pbmUgd2hpY2ggdGVzdHMgdG8gZ2VuZXJhdGUgKG9yIHNr
aXApIHdoaWxlIHVzaW5nIHRlbXBsYXRlcy4KLQogIyMgR2VuZXJhdGluZyB0aGUgdGVzdHMKIAot
VGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBnZW5lcmF0ZWQgdGVzdHMsIHNvIGlmIHlv
dSdyZSBtYWtpbmcgY2hhbmdlcywgc2VlIHRoZSBbUmVtb3ZpbmcgYWxsIGdlbmVyYXRlZCB0ZXN0
c10oI3JlbW92aW5nLWFsbC1nZW5lcmF0ZWQtdGVzdHMpIHNlY3Rpb24gYmVsb3csIG9uIGhvdyB0
byByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN0YXJ0IGdlbmVyYXRpbmcgdGVzdHMgd2hpY2ggaW5j
bHVkZSB5b3VyIGNoYW5nZXMuCitOb3RlOiBXaGVuIHRoZSByZXBvc2l0b3J5IGFscmVhZHkgY29u
dGFpbnMgZ2VuZXJhdGVkIHRlc3RzLCBbcmVtb3ZlIGFsbCBnZW5lcmF0ZWQgdGVzdHNdKCNyZW1v
dmluZy1hbGwtZ2VuZXJhdGVkLXRlc3RzKSBmaXJzdC4KIAogYGBgYmFzaAotIyBDaGRpciBpbnRv
IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS4KLWNkIH4vd2ViLXBsYXRmb3JtLXRlc3RzL3Byb2plY3Qt
ZGlyZWN0b3J5CisjIEluc3RhbGwganNvbjUgbW9kdWxlIGlmIG5lZWRlZC4KK3BpcCBpbnN0YWxs
IC0tdXNlciBqc29uNQogCiAjIEdlbmVyYXRlIHRoZSB0ZXN0IGZpbGVzIHVuZGVyIGdlbi8gKEhU
TUxzIGFuZCAuaGVhZGVycyBmaWxlcykuCi0uL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUucHkKK3Bh
dGgvdG8vY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL2dlbmVyYXRlLnB5IC0tc3BlYyBw
YXRoL3RvL3Byb2plY3QtZGlyZWN0b3J5LwogCiAjIEFkZCBhbGwgZ2VuZXJhdGVkIHRlc3RzIHRv
IHRoZSByZXBvLgotZ2l0IGFkZCBnZW4vICYmIGdpdCBjb21taXQgLW0gIkFkZCBnZW5lcmF0ZWQg
dGVzdHMiCitnaXQgYWRkIHBhdGgvdG8vcHJvamVjdC1kaXJlY3RvcnkvZ2VuLyAmJiBnaXQgY29t
bWl0IC1tICJBZGQgZ2VuZXJhdGVkIHRlc3RzIgogYGBgCiAKK1RoaXMgd2lsbCBwYXJzZSB0aGUg
c3BlYyBKU09ONSBmaWxlcyBhbmQgZGV0ZXJtaW5lIHdoaWNoIHRlc3RzIHRvIGdlbmVyYXRlIChv
ciBza2lwKSB3aGlsZSB1c2luZyB0ZW1wbGF0ZXMuCisKKy0gVGhlIGRlZmF1bHQgc3BlYyBKU09O
NTogYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9zcGVjLnNyYy5qc29uYC4KKyAgICAt
IERlc2NyaWJlcyBjb21tb24gY29uZmlndXJhdGlvbnMsIHN1Y2ggYXMgc3VicmVzb3VyY2UgdHlw
ZXMsIHNvdXJjZSBjb250ZXh0IHR5cGVzLCBldGMuCistIFRoZSBwZXItcHJvamVjdCBzcGVjIEpT
T041OiBgcHJvamVjdC1kaXJlY3Rvcnkvc3BlYy5zcmMuanNvbmAuCisgICAgLSBEZXNjcmliZXMg
cHJvamVjdC1zcGVjaWZpYyBjb25maWd1cmF0aW9ucywgcGFydGljdWxhcmx5IHRob3NlIHJlbGF0
ZWQgdG8gdGVzdCBnZW5lcmF0aW9uIHBhdHRlcm5zIChgc3BlY2lmaWNhdGlvbmApLCBwb2xpY3kg
ZGVsaXZlcmllcyAoZS5nLiBgZGVsaXZlcnlfdHlwZWAsIGBkZWxpdmVyeV92YWx1ZWApIGFuZCBg
ZXhwZWN0YXRpb25gLgorCitGb3IgaG93IHRoZXNlIHR3byBzcGVjIEpTT041IGZpbGVzIGFyZSBt
ZXJnZWQsIHNlZSBbU3ViIHByb2plY3RzXSgjc3ViLXByb2plY3RzKSBzZWN0aW9uLgorCitOb3Rl
OiBgc3BlYy5zcmMuanNvbmAgaXMgdHJhbnNpdGlvbmluZyB0byBKU09ONSBbIzIxNzEwXShodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjE3MTApLgorCiBE
dXJpbmcgdGhlIGdlbmVyYXRpb24sIHRoZSBzcGVjIGlzIHZhbGlkYXRlZCBieSBgYGBjb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlY192YWxpZGF0b3IucHlgYGAuIFRoaXMgaXMgc3Bl
Y2lhbGx5IGltcG9ydGFudCB3aGVuIHlvdSdyZSBtYWtpbmcgY2hhbmdlcyB0byAgYHNwZWMuc3Jj
Lmpzb25gLiBNYWtlIHN1cmUgaXQncyBhIHZhbGlkIEpTT04gKG5vIGNvbW1lbnRzIG9yIHRyYWls
aW5nIGNvbW1hcykuIFRoZSB2YWxpZGF0b3IgcmVwb3J0cyBzcGVjaWZpYyBlcnJvcnMgKG1pc3Np
bmcga2V5cyBldGMuKSwgaWYgYW55LgogCiAjIyMgUmVtb3ZpbmcgYWxsIGdlbmVyYXRlZCB0ZXN0
cwpAQCAtNjgsMTggKzc2LDE0IEBAIER1cmluZyB0aGUgZ2VuZXJhdGlvbiwgdGhlIHNwZWMgaXMg
dmFsaWRhdGVkIGJ5IGBgYGNvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29sCiBTaW1wbHkgcmVt
b3ZlIGFsbCBmaWxlcyB1bmRlciBgcHJvamVjdC1kaXJlY3RvcnkvZ2VuL2AuCiAKIGBgYGJhc2gK
LSMgQ2hkaXIgaW50byB0aGUgcHJvamVjdCBkaXJlY3RvcnkuCi1jZCB+L3dlYi1wbGF0Zm9ybS10
ZXN0cy9wcm9qZWN0LWRpcmVjdG9yeQotCi0jIFJlbW92ZSBhbGwgZ2VuZXJhdGVkIHRlc3RzLgot
cm0gLXIgZ2VuLworcm0gLXIgcGF0aC90by9wcm9qZWN0LWRpcmVjdG9yeS9nZW4vCiBgYGAKIAog
IyMjIE9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgdGVzdHMKIAogTm90ZTogdGhpcyBzZWN0aW9uIGlz
IGN1cnJlbnRseSBvYnNvbGV0ZS4gT25seSB0aGUgcmVsZWFzZSB0ZW1wbGF0ZSBpcyB3b3JraW5n
LgogCi1UaGUgZ2VuZXJhdG9yIHNjcmlwdCBgYGAuL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUucHlg
YGAgaGFzIHR3byB0YXJnZXRzOiBgYGByZWxlYXNlYGBgIGFuZCBgYGBkZWJ1Z2BgYC4KK1RoZSBn
ZW5lcmF0b3Igc2NyaXB0IGhhcyB0d28gdGFyZ2V0czogYGBgcmVsZWFzZWBgYCBhbmQgYGBgZGVi
dWdgYGAuCiAKICogVXNpbmcgKipyZWxlYXNlKiogZm9yIHRoZSB0YXJnZXQgd2lsbCBwcm9kdWNl
IHRlc3RzIHVzaW5nIGEgdGVtcGxhdGUgZm9yIG9wdGltaXppbmcgc2l6ZSBhbmQgcGVyZm9ybWFu
Y2UuIFRoZSByZWxlYXNlIHRlbXBsYXRlIGlzIGludGVuZGVkIGZvciB0aGUgb2ZmaWNpYWwgd2Vi
LXBsYXRmb3JtLXRlc3RzIGFuZCBwb3NzaWJseSBvdGhlciB0ZXN0IHN1aXRlcy4gTm8gc2FuaXR5
IGNoZWNraW5nIGlzIGRvbmUgaW4gcmVsZWFzZSBtb2RlLiBVc2UgdGhpcyBvcHRpb24gd2hlbmV2
ZXIgeW91J3JlIGNoZWNraW5nIGludG8gd2ViLXBsYXRmb3JtLXRlc3RzLgogCkBAIC04OCw2ICs5
Miw0MSBAQCBUaGUgZ2VuZXJhdG9yIHNjcmlwdCBgYGAuL2dlbmVyaWMvdG9vbHMvZ2VuZXJhdGUu
cHlgYGAgaGFzIHR3byB0YXJnZXRzOiBgYGByZWxlYQogTm90ZSB0aGF0ICoqcmVsZWFzZSoqIGlz
IHRoZSBkZWZhdWx0IHRhcmdldCB3aGVuIGludm9raW5nIGBgYGdlbmVyYXRlLnB5YGBgLgogCiAK
KyMjIFN1YiBwcm9qZWN0cworCitQcm9qZWN0cyBjYW4gYmUgbmVzdGVkLCBmb3IgZXhhbXBsZSB0
byByZXVzZSBhIHNpbmdsZSBgc3BlYy5zcmMuanNvbmAgYWNyb3NzIHNpbWlsYXIgYnV0IHNsaWdo
dGx5IGRpZmZlcmVudCBzZXRzIG9mIGdlbmVyYXRlZCB0ZXN0cy4KK1RoZSBkaXJlY3Rvcnkgc3Ry
dWN0dXJlIHdvdWxkIGxvb2sgbGlrZToKKworYGBgCitwcm9qZWN0LWRpcmVjdG9yeS8gKGUuZy4g
cmVmZXJyZXItcG9saWN5LykKK+KUnOKUgOKUgCBzcGVjLnNyYy5qc29uIC0gUGFyZW50IHByb2pl
Y3QncyBzcGVjIEpTT04KK+KUnOKUgOKUgCBnZW5lcmljLwor4pSCICAg4pSU4pSA4pSAIHRlc3Qt
Y2FzZS5zdWIuanMgLSBQYXJlbnQgcHJvamVjdCdzIHRlc3QgaGVscGVyCivilJzilIDilIAgZ2Vu
LyAtIHBhcmVudCBwcm9qZWN0J3MgZ2VuZXJhdGVkIHRlc3RzCivilJTilIDilIAgc3ViLXByb2pl
Y3QtZGlyZWN0b3J5LyAoZS5nLiA0SykKKyAgICDilJzilIDilIAgc3BlYy5zcmMuanNvbiAtIENo
aWxkIHByb2plY3QncyBzcGVjIEpTT04KKyAgICDilJzilIDilIAgZ2VuZXJpYy8KKyAgICDilIIg
ICDilJTilIDilIAgdGVzdC1jYXNlLnN1Yi5qcyAtIENoaWxkIHByb2plY3QncyB0ZXN0IGhlbHBl
cgorICAgIOKUlOKUgOKUgCBnZW4vIC0gY2hpbGQgcHJvamVjdCdzIGdlbmVyYXRlZCB0ZXN0cwor
YGBgCisKK2BnZW5lcmF0ZS5weSAtLXNwZWMgcHJvamVjdC1kaXJlY3Rvcnkvc3ViLXByb2plY3Qt
ZGlyZWN0b3J5YCBnZW5lcmF0ZXMgdGVzdCBmaWxlcyB1bmRlciBgcHJvamVjdC1kaXJlY3Rvcnkv
c3ViLXByb2plY3QtZGlyZWN0b3J5L2dlbmAsIGJhc2VkIG9uIGBwcm9qZWN0LWRpcmVjdG9yeS9z
cGVjLnNyYy5qc29uYCBhbmQgYHByb2plY3QtZGlyZWN0b3J5L3N1Yi1wcm9qZWN0LWRpcmVjdG9y
eS9zcGVjLnNyYy5qc29uYC4KKworLSBUaGUgY2hpbGQgcHJvamVjdCdzIGBzcGVjLnNyYy5qc29u
YCBpcyBtZXJnZWQgaW50byBwYXJlbnQgcHJvamVjdCdzIGBzcGVjLnNyYy5qc29uYC4KKyAgICAt
IFR3byBzcGVjIEpTT04gb2JqZWN0cyBhcmUgbWVyZ2VkIHJlY3Vyc2l2ZWx5LgorICAgIC0gSWYg
YSBzYW1lIGtleSBleGlzdHMgaW4gYm90aCBvYmplY3RzLCB0aGUgY2hpbGQncyB2YWx1ZSBvdmVy
d3JpdGVzIHRoZSBwYXJlbnQncyB2YWx1ZS4KKyAgICAgICAgLSBJZiBib3RoIChjaGlsZCdzIGFu
ZCBwYXJlbnQncykgdmFsdWVzIGFyZSBhcnJheXMsIHRoZW4gdGhlIGNoaWxkJ3MgdmFsdWUgaXMg
Y29uY2F0ZW5hdGVkIHRvIHRoZSBwYXJlbnQncyB2YWx1ZS4KKyAgICAtIEZvciBkZWJ1Z2dpbmcs
IGBnZW5lcmF0ZS5weWAgZHVtcHMgdGhlIG1lcmdlZCBzcGVjIEpTT04gb2JqZWN0IGFzIGBnZW5l
cmljL2RlYnVnLW91dHB1dC5zcGVjLnNyYy5qc29uYC4KKy0gVGhlIGNoaWxkIHByb2plY3QncyBn
ZW5lcmF0ZWQgdGVzdHMgaW5jbHVkZSBib3RoIG9mIHRoZSBwYXJlbnQgYW5kIGNoaWxkIHByb2pl
Y3QncyBgdGVzdC1jYXNlLnN1Yi5qc2A6CisgIGBgYGh0bWwKKyAgPHNjcmlwdCBzcmM9InByb2pl
Y3QtZGlyZWN0b3J5L3Rlc3QtY2FzZS5zdWIuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0i
cHJvamVjdC1kaXJlY3Rvcnkvc3ViLXByb2plY3QtZGlyZWN0b3J5L3Rlc3QtY2FzZS5zdWIuanMi
Pjwvc2NyaXB0PgorICA8c2NyaXB0PgorICAgIFRlc3RDYXNlKC4uLik7CisgIDwvc2NyaXB0Pgor
ICBgYGAKKworCiAjIyBVcGRhdGluZyB0aGUgdGVzdHMKIAogVGhlIG1haW4gdGVzdCBsb2dpYyBs
aXZlcyBpbiBgYGBwcm9qZWN0LWRpcmVjdG9yeS9nZW5lcmljL3Rlc3QtY2FzZS5zdWIuanNgYGAg
d2l0aCBoZWxwZXIgZnVuY3Rpb25zIGRlZmluZWQgaW4gYGBgL2NvbW1vbi9zZWN1cml0eS1mZWF0
dXJlcy9yZXNvdXJjZXMvY29tbW9uLmpzYGBgIHNvIHlvdSBzaG91bGQgcHJvYmFibHkgc3RhcnQg
dGhlcmUuCkBAIC0xMjksMTIgKzE2OCwxNSBAQCBGb3IgdXBkYXRpbmcgdGhlIHRlc3Qgc3VpdGVz
IHlvdSB3aWxsIG1vc3QgbGlrZWx5IGRvICoqYSBzdWJzZXQqKiBvZiB0aGUgZm9sbG93aQogCiAq
IFJlZ2VuZXJhdGUgdGhlIHRlc3RzIGFuZCBNQU5JRkVTVC5qc29uCiAKKyMjIEhvdyB0aGUgZ2Vu
ZXJhdG9yIHdvcmtzCiAKLSMjIFRoZSBzcGVjIEpTT04gZm9ybWF0CitUaGlzIHNlY3Rpb24gZGVz
Y3JpYmVzIGhvdyBgc3BlYy5zcmMuanNvbmAgaXMgdHVybmVkIGludG8gc2NlbmFyaW8gZGF0YSBp
biB0ZXN0IEhUTUwgZmlsZXMgd2hpY2ggYXJlIHRoZW4gcHJvY2Vzc2VkIGJ5IEphdmFTY3JpcHQg
dGVzdCBoZWxwZXJzIGFuZCBzZXJ2ZXItc2lkZSBzY3JpcHRzLCBhbmQgZGVzY3JpYmVzIHRoZSBv
YmplY3RzL3R5cGVzIHVzZWQgaW4gdGhlIHByb2Nlc3MuCiAKLUZvciBleGFtcGxlcyBvZiBzcGVj
IEpTT04gZmlsZXMsIHNlZSBbcmVmZXJyZXItcG9saWN5L3NwZWMuc3JjLmpzb25dKC4uLy4uL3Jl
ZmVycmVyLXBvbGljeS9zcGVjLnNyYy5qc29uKSBvciAgW21peGVkLWNvbnRlbnQvc3BlYy5zcmMu
anNvbl0oLi4vLi4vbWl4ZWQtY29udGVudC9zcGVjLnNyYy5qc29uKS4KKyMjIyBUaGUgc3BlYyBK
U09OCiAKLSMjIyBNYWluIHNlY3Rpb25zCitgc3BlYy5zcmMuanNvbmAgaXMgdGhlIGlucHV0IGZv
ciB0aGUgZ2VuZXJhdG9yIHRoYXQgZGVmaW5lcyB3aGF0IHRvIGdlbmVyYXRlLiBGb3IgZXhhbXBs
ZXMgb2Ygc3BlYyBKU09OIGZpbGVzLCBzZWUgW3JlZmVycmVyLXBvbGljeS9zcGVjLnNyYy5qc29u
XSguLi8uLi9yZWZlcnJlci1wb2xpY3kvc3BlYy5zcmMuanNvbikgb3IgIFttaXhlZC1jb250ZW50
L3NwZWMuc3JjLmpzb25dKC4uLy4uL21peGVkLWNvbnRlbnQvc3BlYy5zcmMuanNvbikuCisKKyMj
IyMgTWFpbiBzZWN0aW9ucwogCiAqICoqYHNwZWNpZmljYXRpb25gKioKIApAQCAtMTQzLDcgKzE4
NSw3IEBAIEZvciBleGFtcGxlcyBvZiBzcGVjIEpTT04gZmlsZXMsIHNlZSBbcmVmZXJyZXItcG9s
aWN5L3NwZWMuc3JjLmpzb25dKC4uLy4uL3JlZmVyCiAKICogKipgZXhjbHVkZWRfdGVzdHNgKioK
IAotICBMaXN0IG9mIGBgYHRlc3RfZXhwYW5zaW9uYGBgIHBhdHRlcm5zIGV4cGFuZGluZyBpbnRv
IHNlbGVjdGlvbnMgd2hpY2ggZ2V0IHNraXBwZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSB0ZXN0cyAo
YWthLiBibGFja2xpc3Rpbmcvc3VwcHJlc3NpbmcpCisgIExpc3Qgb2YgYGBgdGVzdF9leHBhbnNp
b25gYGAgcGF0dGVybnMgZXhwYW5kaW5nIGludG8gc2VsZWN0aW9ucyB3aGljaCBnZXQgc2tpcHBl
ZCB3aGVuIGdlbmVyYXRpbmcgdGhlIHRlc3RzIChha2EuIGJsb2NrbGlzdGluZy9zdXBwcmVzc2lu
ZykKIAogKiAqKmB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgKioKIApAQCAtMTYwLDEwICsyMDIsMTEg
QEAgRm9yIGV4YW1wbGVzIG9mIHNwZWMgSlNPTiBmaWxlcywgc2VlIFtyZWZlcnJlci1wb2xpY3kv
c3BlYy5zcmMuanNvbl0oLi4vLi4vcmVmZXIKIAogKiAqKmBzb3VyY2VfY29udGV4dF9saXN0X3Nj
aGVtYWAqKgogCi0gIFByb3ZpZGVzIHBvc3NpYmxlIG5lc3RlZCBjb21iaW5hdGlvbnMgb2Ygc291
cmNlIGNvbnRleHRzLiBTZWUgW1NvdXJjZSBDb250ZXh0c10oI3NvdXJjZS1jb250ZXh0cykgc2Vj
dGlvbiBiZWxvdyBmb3IgZGV0YWlscy4KKyAgUHJvdmlkZXMgcG9zc2libGUgbmVzdGVkIGNvbWJp
bmF0aW9ucyBvZiBzb3VyY2UgY29udGV4dHMuIFNlZSBbU291cmNlQ29udGV4dHMgUmVzb2x1dGlv
bl0oI3NvdXJjZWNvbnRleHRzLXJlc29sdXRpb24pIHNlY3Rpb24gYmVsb3cgZm9yIGRldGFpbHMu
CiAKLSMjIyBUZXN0IEV4cGFuc2lvbiBQYXR0ZXJucworIyMjIFRlc3QgRXhwYW5zaW9uIFBhdHRl
cm4gT2JqZWN0CiAKK1Rlc3QgZXhwYW5zaW9uIHBhdHRlcm5zIChgdGVzdF9leHBhbnNpb25gcyBp
biBgc3BlY2lmaWNhdGlvbmAgc2VjdGlvbikgZGVmaW5lIHRoZSBjb21iaW5hdGlvbnMgb2YgdGVz
dCBjb25maWd1cmF0aW9ucyAoKnNlbGVjdGlvbnMqKSB0byBiZSBnZW5lcmF0ZWQuCiBFYWNoIGZp
ZWxkIGluIGEgdGVzdCBleHBhbnNpb24gY2FuIGJlIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZv
cm1hdHM6CiAKICogU2luZ2xlIG1hdGNoOiBgYGAidmFsdWUiYGBgCkBAIC0xNzIsMTM4ICsyMTUs
MjQ2IEBAIEVhY2ggZmllbGQgaW4gYSB0ZXN0IGV4cGFuc2lvbiBjYW4gYmUgaW4gb25lIG9mIHRo
ZSBmb2xsb3dpbmcgZm9ybWF0czoKIAogKiBNYXRjaCBhbGw6IGBgYCIqImBgYAogCitUaGUgZm9s
bG93aW5nIGZpZWxkcyBoYXZlIHNwZWNpYWwgbWVhbmluZzoKIAotKipOT1RFOioqIEFuIGV4cGFu
c2lvbiBpcyBhbHdheXMgY29uc3RydWN0aXZlIChpbmNsdXNpdmUpLCB0aGVyZSBpc24ndCBhIG5l
Z2F0aW9uIG9wZXJhdG9yIGZvciBleHBsaWNpdCBleGNsdXNpb24uIEJlIGF3YXJlIHRoYXQgdXNp
bmcgYW4gZW1wdHkgbGlzdCBgYGBbXWBgYCBtYXRjaGVzIChleHBhbmRzIGludG8pIGV4YWN0bHkg
bm90aGluZy4gVGVzdHMgd2hpY2ggYXJlIHRvIGJlIGV4Y2x1ZGVkIHNob3VsZCBiZSBkZWZpbmVk
IGluIHRoZSBgYGBleGNsdWRlZF90ZXN0c2BgYCBzZWN0aW9uIGluc3RlYWQuCistICoqYG5hbWVg
Kio6IGp1c3QgaWdub3JlZC4gKFByZXZpb3VzbHkgdGhpcyB3YXMgdXNlZCBhcyBhIHBhcnQgb2Yg
ZmlsZW5hbWVzIGJ1dCBub3cgdGhpcyBpcyBtZXJlbHkgYSBsYWJlbCBmb3IgaHVtYW4gYW5kIGlz
IG5ldmVyIHVzZWQgYnkgZ2VuZXJhdG9yLiBUaGlzIGZpZWxkIG1pZ2h0IGJlIHJlbW92ZWQgaW4g
dGhlIGZ1dHVyZSAoaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNz
dWVzLzIxNzA4KSkKKy0gKipgZXhwYW5zaW9uYCoqOiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25l
IHBhdHRlcm4gZXhwYW5kaW5nIGludG8gYSBzYW1lIHNlbGVjdGlvbiwgdGhlIHBhdHRlcm4gYXBw
ZWFyaW5nIGxhdGVyIGluIHRoZSBzcGVjIEpTT04gd2lsbCBvdmVyd3JpdGUgYSBwcmV2aW91c2x5
IGdlbmVyYXRlZCBzZWxlY3Rpb24uIFRvIG1ha2UgY2xlYXIgdGhpcyBpcyBpbnRlbnRpb25hbCwg
c2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGBgZXhwYW5zaW9uYGBgIGZpZWxkIHRvIGBgYGRlZmF1bHRg
YGAgZm9yIGFuIGV4cGFuc2lvbiBhcHBlYXJpbmcgZWFybGllciBhbmQgYGBgb3ZlcnJpZGVgYGAg
Zm9yIHRoZSBvbmUgYXBwZWFyaW5nIGxhdGVyLgogCi1BIHNpbmdsZSB0ZXN0IGV4cGFuc2lvbiBw
YXR0ZXJuLCBiZSBpdCBhIHJlcXVpcmVtZW50IG9yIGEgc3VwcHJlc3NlZCBwYXR0ZXJuLCBnZXRz
IGV4cGFuZGVkIGludG8gYSBsaXN0IG9mICoqc2VsZWN0aW9ucyoqIGFzIGZvbGxvd3M6CitGb3Ig
ZXhhbXBsZSBhIHRlc3QgZXhwYW5zaW9uIHBhdHRlcm4gKHRha2VuIGZyb20gW3JlZmVycmVyLXBv
bGljeS9zcGVjLnNyYy5qc29uXSguLi8uLi9yZWZlcnJlci1wb2xpY3kvc3BlYy5zcmMuanNvbiks
IHNvcnRlZC9mb3JtYXR0ZWQgZm9yIGV4cGxhbmF0aW9uKToKIAotKiBFeHBhbmQgZWFjaCBmaWVs
ZCdzIHBhdHRlcm4gKHNpbmdsZSwgYW55IG9mLCBvciBhbGwpIHRvIGxpc3Qgb2YgYWxsb3dlZCB2
YWx1ZXMgKGRlZmluZWQgYnkgdGhlIGBgYHRlc3RfZXhwYW5zaW9uX3NjaGVtYWBgYCkKK2BgYGpz
b24KK3sKKyAgIm5hbWUiOiAiaW5zZWN1cmUtcHJvdG9jb2wiLAorICAiZXhwYW5zaW9uIjogImRl
ZmF1bHQiLAorCisgICJkZWxpdmVyeV90eXBlIjogIioiLAorICAiZGVsaXZlcnlfdmFsdWUiOiAi
bm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiLAorICAic291cmNlX2NvbnRleHRfbGlzdCI6ICIq
IiwKKworICAiZXhwZWN0YXRpb24iOiAic3RyaXBwZWQtcmVmZXJyZXIiLAorICAib3JpZ2luIjog
WyJzYW1lLWh0dHAiLCAiY3Jvc3MtaHR0cCJdLAorICAicmVkaXJlY3Rpb24iOiAiKiIsCisgICJz
b3VyY2Vfc2NoZW1lIjogImh0dHAiLAorICAic3VicmVzb3VyY2UiOiAiKiIKK30KK2BgYAogCi0q
IFBlcm11dGUgLSBSZWN1cnNpdmVseSBlbnVtZXJhdGUgYWxsICoqc2VsZWN0aW9ucyoqIGFjcm9z
cyBhbGwgZmllbGRzCittZWFuczogIkFsbCBjb21iaW5hdGlvbnMgd2l0aCBhbGwgcG9zc2libGUg
YGRlbGl2ZXJ5X3R5cGVgLCAgYGRlbGl2ZXJ5X3ZhbHVlYD1gbm8tcmVmZXJyZXItd2hlbi1kb3du
Z3JhZGVgLCBhbGwgcG9zc2libGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgLCBgZXhwZWN0YXRpb25g
PWBzdHJpcHBlZC1yZWZlcnJlcmAsIGBvcmlnaW5gPWBzYW1lLWh0dHBgIG9yIGBjcm9zcy1odHRw
YCwgIGFsbCBwb3NzaWJsZSBgcmVkaXJlY3Rpb25gLCBgc291cmNlX3NjaGVtZWA9YGh0dHBgLCBh
bmQgYWxsIHBvc3NpYmxlIGBzdWJyZXNvdXJjZWAuCiAKLUJlIGF3YXJlIHRoYXQgaWYgdGhlcmUg
aXMgbW9yZSB0aGFuIG9uZSBwYXR0ZXJuIGV4cGFuZGluZyBpbnRvIGEgc2FtZSBzZWxlY3Rpb24s
IHRoZSBwYXR0ZXJuIGFwcGVhcmluZyBsYXRlciBpbiB0aGUgc3BlYyBKU09OIHdpbGwgb3Zlcndy
aXRlIGEgcHJldmlvdXNseSBnZW5lcmF0ZWQgc2VsZWN0aW9uLiBUbyBtYWtlIHN1cmUgdGhpcyBp
cyBub3QgdW5kZXRlY3RlZCB3aGVuIGdlbmVyYXRpbmcsIHNldCB0aGUgdmFsdWUgb2YgdGhlIGBg
YGV4cGFuc2lvbmBgYCBmaWVsZCB0byBgYGBkZWZhdWx0YGBgIGZvciBhbiBleHBhbnNpb24gYXBw
ZWFyaW5nIGVhcmxpZXIgYW5kIGBgYG92ZXJyaWRlYGBgIGZvciB0aGUgb25lIGFwcGVhcmluZyBs
YXRlci4KKyMjIyBTZWxlY3Rpb24gT2JqZWN0CiAKLUEgKipzZWxlY3Rpb24qKiBpcyBhIHNpbmds
ZSAqKnRlc3QgaW5zdGFuY2UqKiAoc2NlbmFyaW8pIHdpdGggZXhwbGljaXQgdmFsdWVzIHRoYXQg
ZGVmaW5lcyBhIHNpbmdsZSB0ZXN0LiBUaGUgc2NlbmFyaW8gaXMgdGhlbiBldmFsdWF0ZWQgYnkg
dGhlIGBgYFRlc3RDYXNlYGBgIGluIEpTLiBGb3IgdGhlIHJlc3Qgb2YgdGhlIGFycmFuZ2luZyBw
YXJ0LCBleGFtaW5lIGBgYC9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUu
cHlgYGAgdG8gc2VlIGhvdyB0aGUgdmFsdWVzIGZvciB0aGUgdGVtcGxhdGVzIGFyZSBwcm9kdWNl
ZC4KK0Egc2VsZWN0aW9uIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgYSBzaW5nbGUgdGVzdCwg
d2l0aCBrZXlzL3ZhbHVlcyBmcm9tIGB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgLgogCitBIHNpbmds
ZSB0ZXN0IGV4cGFuc2lvbiBwYXR0ZXJuIGdldHMgZXhwYW5kZWQgaW50byBhIGxpc3Qgb2Ygc2Vs
ZWN0aW9ucyBhcyBmb2xsb3dzOgogCi1UYWtpbmcgdGhlIHNwZWMgSlNPTiwgdGhlIGdlbmVyYXRv
ciBmb2xsb3dzIHRoaXMgYWxnb3JpdGhtOgorKiBFeHBhbmQgZWFjaCBmaWVsZCdzIHBhdHRlcm4g
KHNpbmdsZSwgYW55IG9mLCBvciBhbGwpIHRvIGxpc3Qgb2YgYWxsb3dlZCB2YWx1ZXMgKGRlZmlu
ZWQgYnkgdGhlIGBgYHRlc3RfZXhwYW5zaW9uX3NjaGVtYWBgYCkKIAotKiBFeHBhbmQgYWxsIGBg
YGV4Y2x1ZGVkX3Rlc3RzYGBgIHRvIGNyZWF0ZSBhIGJsYWNrbGlzdCBvZiBzZWxlY3Rpb25zCisq
IFBlcm11dGUgLSBSZWN1cnNpdmVseSBlbnVtZXJhdGUgYWxsIHNlbGVjdGlvbnMgYWNyb3NzIGFs
bCBmaWVsZHMKKworVGhlIGZvbGxvd2luZyBmaWVsZCBoYXMgc3BlY2lhbCBtZWFuaW5nOgogCi0q
IEZvciBlYWNoIHNwZWNpZmljYXRpb24gcmVxdWlyZW1lbnQ6IEV4cGFuZCB0aGUgYGBgdGVzdF9l
eHBhbnNpb25gYGAgcGF0dGVybiBpbnRvIHNlbGVjdGlvbnMgYW5kIGNoZWNrIGVhY2ggYWdhaW5z
dCB0aGUgYmxhY2tsaXN0LCBpZiBub3QgbWFya2VkIGFzIHN1cHByZXNlZCwgZ2VuZXJhdGUgdGhl
IHRlc3QgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0aW9uCistICoqYGRlbGl2ZXJ5X2tleWAqKjog
VGhpcyBkb2Vzbid0IGV4aXN0IGluIHRlc3QgZXhwYW5zaW9uIHBhdHRlcm5zLCBhbmQgaW5zdGVh
ZCBpcyB0YWtlbiBmcm9tIGBkZWxpdmVyeV9rZXlgIGZpZWxkIG9mIHRoZSBzcGVjIEpTT04gYW5k
IGFkZGVkIGludG8gc2VsZWN0aW9ucy4gKFRPRE8oaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzLzIxNzA4KTogcHJvYmFibHkgdGhpcyBzaG91bGQgYmUgYWRk
ZWQgdG8gdGVzdCBleHBhbnNpb24gcGF0dGVybnMgdG8gcmVtb3ZlIHRoaXMgc3BlY2lhbCBoYW5k
bGluZykKIAorRm9yIGV4YW1wbGUsIHRoZSB0ZXN0IGV4cGFuc2lvbiBpbiB0aGUgZXhhbXBsZSBh
Ym92ZSBnZW5lcmF0ZXMgc2VsZWN0aW9ucyBsaWtlIHRoZSBmb2xsb3dpbmcgc2VsZWN0aW9uICh3
aGljaCBldmVudHVhbGx5IGdlbmVyYXRlcyBbdGhpcyB0ZXN0IGZpbGVdKC4uLy4uL3JlZmVycmVy
LXBvbGljeS9nZW4vd29ya2VyLWNsYXNzaWMuaHR0cC1ycC9uby1yZWZlcnJlci13aGVuLWRvd25n
cmFkZS9mZXRjaC9zYW1lLWh0dHAubm8tcmVkaXJlY3QuaHR0cC5odG1sICkpOgogCi0jIyMgU291
cmNlIENvbnRleHRzCitgYGBqc29uCit7CisgICJkZWxpdmVyeV90eXBlIjogImh0dHAtcnAiLAor
ICAiZGVsaXZlcnlfa2V5IjogInJlZmVycmVyUG9saWN5IiwKKyAgImRlbGl2ZXJ5X3ZhbHVlIjog
Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiwKKyAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAi
d29ya2VyLWNsYXNzaWMiLAorCisgICJleHBlY3RhdGlvbiI6ICJzdHJpcHBlZC1yZWZlcnJlciIs
CisgICJvcmlnaW4iOiAic2FtZS1odHRwIiwKKyAgInJlZGlyZWN0aW9uIjogIm5vLXJlZGlyZWN0
IiwKKyAgInNvdXJjZV9zY2hlbWUiOiAiaHR0cCIsCisgICJzdWJyZXNvdXJjZSI6ICJmZXRjaCIK
K30KK2BgYAogCi1JbiAqKmBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAqKiwgd2UgY2FuIHNw
ZWNpZnkKKyMjIyBFeGNsdWRpbmcgVGVzdCBFeHBhbnNpb24gUGF0dGVybnMKKworVGhlIGBgYGV4
Y2x1ZGVkX3Rlc3RzYGBgIHNlY3Rpb24gaGF2ZSBvYmplY3RzIHdpdGggdGhlIHNhbWUgZm9ybWF0
IGFzIFtUZXN0IEV4cGFuc2lvbiBQYXR0ZXJuc10oI3Rlc3QtZXhwYW5zaW9uLXBhdHRlcm5zKSB0
aGF0IGRlZmluZSBzZWxlY3Rpb25zIHRvIGJlIGV4Y2x1ZGVkLgorCitUYWtpbmcgdGhlIHNwZWMg
SlNPTiwgdGhlIGdlbmVyYXRvciBmb2xsb3dzIHRoaXMgYWxnb3JpdGhtOgogCi0tIHNvdXJjZSBj
b250ZXh0cyBmcm9tIHdoZXJlIHN1YnJlc291cmNlIHJlcXVlc3RzIGFyZSBzZW50LCBhbmQKLS0g
aG93IHBvbGljaWVzIGFyZSBkZWxpdmVyZWQsIGJ5IHNvdXJjZSBjb250ZXh0cyBhbmQvb3Igc3Vi
cmVzb3VyY2UgcmVxdWVzdHMuCisqIEV4cGFuZCBhbGwgYGBgZXhjbHVkZWRfdGVzdHNgYGAgdG8g
Y3JlYXRlIGEgYmxhY2tsaXN0IG9mIHNlbGVjdGlvbnMKIAotLSBgc291cmNlQ29udGV4dExpc3Rg
OiBhbiBhcnJheSBvZiBgU291cmNlQ29udGV4dGAgb2JqZWN0cywgYW5kCi0tIGBzdWJyZXNvdXJj
ZVBvbGljeURlbGl2ZXJpZXNgOiBhbiBhcnJheSBvZiBgUG9saWN5RGVsaXZlcnlgIG9iamVjdHMu
CisqIEZvciBlYWNoIGBzcGVjaWZpY2F0aW9uYCBlbnRyaWVzOiBFeHBhbmQgdGhlIGBgYHRlc3Rf
ZXhwYW5zaW9uYGBgIHBhdHRlcm4gaW50byBzZWxlY3Rpb25zIGFuZCBjaGVjayBlYWNoIGFnYWlu
c3QgdGhlIGJsYWNrbGlzdCwgaWYgbm90IG1hcmtlZCBhcyBzdXBwcmVzZWQsIGdlbmVyYXRlIHRo
ZSB0ZXN0IHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGlvbgogCi1UaGV5IGhhdmUgdGhlIHNhbWUg
b2JqZWN0IGZvcm1hdCBhcyBkZXNjcmliZWQgaW4KLWBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMv
cmVzb3VyY2VzL2NvbW1vbi5qc2AgY29tbWVudHMsIGFuZCBhcmUgZGlyZWN0bHkKLXNlcmlhbGl6
ZWQgdG8gZ2VuZXJhdGVkIEhUTUwgZmlsZXMgYW5kIHBhc3NlZCB0byBKYXZhU2NyaXB0IHRlc3Qg
Y29kZSwKLWV4Y2VwdCB0aGF0OgorIyMjICBTb3VyY2VDb250ZXh0IFJlc29sdXRpb24KIAotLSBU
aGUgZmlyc3QgZW50cnkgb2YgYHNvdXJjZUNvbnRleHRMaXN0YCdzIGBzb3VyY2VDb250ZXh0VHlw
ZWAgc2hvdWxkIGJlCi0gIGFsd2F5cyBgdG9wYCwgd2hpY2ggcmVwcmVzZW50cyB0aGUgdG9wLWxl
dmVsIGdlbmVyYXRlZCB0ZXN0IEhUTUwuCi0gIChUaGlzIGVudHJ5IGlzIG9taXR0ZWQgaW4gdGhl
IEpTT04gcGFzc2VkIHRvIEphdmFTY3JpcHQsIGJ1dAotICB0aGUgcG9saWN5IGRlbGl2ZXJpZXMg
c3BlY2lmaWVkIGhlcmUgYXJlIHdyaXR0ZW4gYXMgZS5nLgotICBgPG1ldGE+YCBlbGVtZW50cyBp
biB0aGUgZ2VuZXJhdGVkIHRlc3QgSFRNTCBvciBIVFRQIGhlYWRlcnMpCi0tIEluc3RlYWQgb2Yg
YFBvbGljeURlbGl2ZXJ5YCBvYmplY3QgKGluIGBzb3VyY2VDb250ZXh0TGlzdGAgb3IKLSAgYHN1
YnJlc291cmNlUG9saWN5RGVsaXZlcmllc2ApLCBmb2xsb3dpbmcgcGxhY2Vob2xkZXIgc3RyaW5n
cyBjYW4gYmUgdXNlZC4KK1RoZSBgc291cmNlX2NvbnRleHRfbGlzdF9zY2hlbWFgIHNlY3Rpb24g
b2YgYHNwZWMuc3JjLmpzb25gIGRlZmluZXMgdGVtcGxhdGVzIG9mIHBvbGljeSBkZWxpdmVyaWVz
IGFuZCBzb3VyY2UgY29udGV4dHMuCitUaGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgIHZhbHVlIGlu
IGEgc2VsZWN0aW9uIHNwZWNpZmllcyB0aGUga2V5IG9mIHRoZSB0ZW1wbGF0ZSB0byBiZSB1c2Vk
IGluIGBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAsIGFuZCB0aGUgZm9sbG93aW5nIGZpZWxk
cyBpbiB0aGUgc2VsZWN0aW9uIGFyZSBmaWxsZWQgaW50byB0aGUgdGVtcGxhdGUgKHRoZXNlIHRo
cmVlIHZhbHVlcyBkZWZpbmUgdGhlICoqdGFyZ2V0IHBvbGljeSBkZWxpdmVyeSoqIHRvIGJlIHRl
c3RlZCk6CiAKLVRoZSBrZXlzIG9mIGBzb3VyY2VfY29udGV4dF9saXN0X3NjaGVtYWAgY2FuIGJl
IHVzZWQgYXMgdGhlIHZhbHVlcyBvZgotYHNvdXJjZV9jb250ZXh0X2xpc3RgIGZpZWxkcywgdG8g
aW5kaWNhdGUgd2hpY2ggc291cmNlIGNvbnRleHQgY29uZmlndXJhdGlvbgotdG8gYmUgdXNlZC4K
Ky0gYGRlbGl2ZXJ5X3R5cGVgCistIGBkZWxpdmVyeV9rZXlgCistIGBkZWxpdmVyeV92YWx1ZWAK
IAotIyMjIFBvbGljeURlbGl2ZXJ5IHBsYWNlaG9sZGVycworIyMjIyBTb3VyY2UgQ29udGV4dCBM
aXN0IFNjaGVtYQogCi1FYWNoIHRlc3QgY29udGFpbnMKK0VhY2ggZW50cnkgb2YgKipgc291cmNl
X2NvbnRleHRfbGlzdF9zY2hlbWFgKiosIGRlZmluZXMgYSBzaW5nbGUgdGVtcGxhdGUgb2YgaG93
L3doYXQgcG9saWNpZXMgdG8gYmUgZGVsaXZlcmVkIGluIHdoYXQgc291cmNlIGNvbnRleHRzIChT
ZWUgYWxzbyBbUG9saWN5RGVsaXZlcnldKHR5cGVzLm1kI3BvbGljeWRlbGl2ZXJ5KSBhbmQgW1Nv
dXJjZUNvbnRleHRdKHR5cGVzLm1kI3NvdXJjZWNvbnRleHQpKS4KIAotLSBgZGVsaXZlcnlfa2V5
YCAoZGVyaXZlZCBmcm9tIHRoZSB0b3AtbGV2ZWwgYGRlbGl2ZXJ5X2tleWApIGFuZAotLSBgZGVs
aXZlcnlfdmFsdWVgLCBgZGVsaXZlcnlfdHlwZWAgKGRlcml2ZWQgZnJvbSBgdGVzdF9leHBhbnNp
b25gKSwKKy0gVGhlIGtleTogdGhlIG5hbWUgb2YgdGhlIHRlbXBsYXRlIHdoaWNoIG1hdGNoZXMg
d2l0aCB0aGUgYHNvdXJjZV9jb250ZXh0X2xpc3RgIHZhbHVlIGluIGEgc2VsZWN0aW9uLgorLSBg
c291cmNlQ29udGV4dExpc3RgOiBhbiBhcnJheSBvZiBgU291cmNlQ29udGV4dGAgb2JqZWN0cyB0
aGF0IHJlcHJlc2VudHMgYSAocG9zc2libHkgbmVzdGVkKSBjb250ZXh0LgorICAgIC0gYHNvdXJj
ZUNvbnRleHRUeXBlYCBvZiB0aGUgZmlyc3QgZW50cnkgb2YgYHNvdXJjZUNvbnRleHRMaXN0YCBz
aG91bGQgYmUgYWx3YXlzIGAidG9wImAsIHdoaWNoIHJlcHJlc2VudHMgdGhlIHRvcC1sZXZlbCBn
ZW5lcmF0ZWQgdGVzdCBIVE1MLiBUaGlzIGVudHJ5IGlzIG9taXR0ZWQgaW4gdGhlIHNjZW5hcmlv
IEpTT04gb2JqZWN0IHBhc3NlZCB0byBKYXZhU2NyaXB0IHJ1bnRpbWUsIGJ1dCB0aGUgcG9saWN5
IGRlbGl2ZXJpZXMgc3BlY2lmaWVkIGhlcmUgYXJlIGhhbmRsZWQgYnkgdGhlIGdlbmVyYXRvciwg
ZS5nLiB3cml0dGVuIGFzIGA8bWV0YT5gIGVsZW1lbnRzIGluIHRoZSBnZW5lcmF0ZWQgdGVzdCBI
VE1MLgorLSBgc3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzYDogYW4gYXJyYXkgb2YgYFBvbGlj
eURlbGl2ZXJ5YCBvYmplY3RzIHRoYXQgcmVwcmVzZW50cyBwb2xpY2llcyBzcGVjaWZpZWQgYXQg
c3VicmVzb3VyY2UgcmVxdWVzdHMgKGUuZy4gYHJlZmVycmVyUG9saWN5YCBhdHRyaWJ1dGUgb2Yg
YDxpbWc+YCBlbGVtZW50cykuCiAKLXdoaWNoIHJlcHJlc2VudHMgdGhlICoqdGFyZ2V0IHBvbGlj
eSBkZWxpdmVyeSoqLCB0aGUgcG9saWN5IGRlbGl2ZXJ5IHRvIGJlCi10ZXN0ZWQuCisjIyMjIFBv
bGljeURlbGl2ZXJ5IHBsYWNlaG9sZGVycwogCi1UaGUgZm9sbG93aW5nIHBsYWNlaG9sZGVyIHN0
cmluZ3MgaW4gYHNvdXJjZV9jb250ZXh0X2xpc3Rfc2NoZW1hYCBjYW4gYmUgdXNlZDoKK0luc3Rl
YWQgdG8gb3JkaW5hbCBgUG9saWN5RGVsaXZlcnlgIG9iamVjdHMsIHRoZSBmb2xsb3dpbmcgcGxh
Y2Vob2xkZXIgc3RyaW5ncyBjYW4gYmUgdXNlZCBpbiBgc291cmNlQ29udGV4dExpc3RgIG9yIGBz
dWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXNgLgogCiAtIGAicG9saWN5ImA6CiAgICAgLSBSZXBs
YWNlZCB3aXRoIHRoZSB0YXJnZXQgcG9saWN5IGRlbGl2ZXJ5LgotICAgIC0gQ2FuIGJlIHVzZWQg
dG8gc3BlY2lmeSB3aGVyZSB0aGUgdGFyZ2V0IHBvbGljeSBkZWxpdmVyeSBzaG91bGQgYmUKLSAg
ICAgIGRlbGl2ZXJlZC4KIC0gYCJwb2xpY3lJZk5vbk51bGwiYDoKLSAgICAtIFJlcGxhY2VkIHdp
dGggdGhlIHRhcmdldCBwb2xpY3kgZGVsaXZlcnksIG9ubHkgaWYgaXQgaGFzIG5vbi1udWxsIHZh
bHVlLgotICAgICAgSWYgdGhlIHZhbHVlIGlzIG51bGwsIHRoZW4gdGhlIHRlc3QgZmlsZSBpcyBu
b3QgZ2VuZXJhdGVkLgorICAgIC0gUmVwbGFjZWQgd2l0aCB0aGUgdGFyZ2V0IHBvbGljeSBkZWxp
dmVyeSwgb25seSBpZiBgZGVsaXZlcnlfdmFsdWVgIGlzIG5vdCBgbnVsbGAuCisgICAgICBJZiBg
ZGVsaXZlcnlfdmFsdWVgIGlzIGBudWxsYCwgdGhlbiB0aGUgdGVzdCBpcyBub3QgZ2VuZXJhdGVk
LgogLSBgImFub3RoZXJQb2xpY3kiYDoKICAgICAtIFJlcGxhY2VkIHdpdGggYSBgUG9saWN5RGVs
aXZlcnlgIG9iamVjdCB0aGF0IGhhcyBhIGRpZmZlcmVudCB2YWx1ZSBmcm9tCiAgICAgICB0aGUg
dGFyZ2V0IHBvbGljeSBkZWxpdmVyeS4KICAgICAtIENhbiBiZSB1c2VkIHRvIHNwZWNpZnkgZS5n
LiBhIHBvbGljeSB0aGF0IHNob3VsZCBiZSBvdmVycmlkZGVuIGJ5CiAgICAgICB0aGUgdGFyZ2V0
IHBvbGljeSBkZWxpdmVyeS4KIAotRm9yIGV4YW1wbGUsIHdoZW4gdGhlIHRhcmdldCBwb2xpY3kg
ZGVsaXZlcnkgaXMKLWB7ZGVsaXZlcnlUeXBlOiAiaHR0cC1ycCIsIGtleTogInJlZmVycmVyUG9s
aWN5IiwgdmFsdWU6ICJuby1yZWZlcnJlciJ9YCwKKyMjIyMgYHNvdXJjZV9jb250ZXh0X3NjaGVt
YWAgYW5kIGBzdWJyZXNvdXJjZV9zY2hlbWFgCisKK1RoZXNlIHJlcHJlc2VudCBzdXBwb3J0ZWQg
ZGVsaXZlcnkgdHlwZXMgYW5kIHN1YnJlc291cmNlcworZm9yIGVhY2ggc291cmNlIGNvbnRleHQg
b3Igc3VicmVzb3VyY2UgdHlwZS4gVGhlc2UgYXJlIHVzZWQKKworLSBUbyBmaWx0ZXIgb3V0IHRl
c3QgZmlsZXMgZm9yIHVuc3VwcG9ydGVkIGNvbWJpbmF0aW9ucyBvZiBkZWxpdmVyeSB0eXBlcywK
KyAgc291cmNlIGNvbnRleHRzIGFuZCBzdWJyZXNvdXJjZXMgZHVyaW5nIFNvdXJjZUNvbnRleHQg
cmVzb2x1dGlvbi4KKy0gVG8gZGV0ZXJtaW5lIHdoYXQgZGVsaXZlcnkgdHlwZXMgY2FuIGJlIHVz
ZWQgZm9yIGBhbm90aGVyUG9saWN5YAorICBwbGFjZWhvbGRlci4KKworIyMjIyBFeGFtcGxlCisK
K0ZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGVudHJ5IGluIGBzb3VyY2VfY29udGV4dF9saXN0
X3NjaGVtYWA6CiAKIGBgYGpzb24KLSJzb3VyY2VDb250ZXh0TGlzdCI6IFsKLSAgewotICAgICJz
b3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAotICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWwotICAg
ICAgImFub3RoZXJQb2xpY3kiCi0gICAgXQotICB9LAotICB7Ci0gICAgInNvdXJjZUNvbnRleHRU
eXBlIjogImNsYXNzaWMtd29ya2VyIiwKLSAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKLSAgICAg
ICJwb2xpY3kiCi0gICAgXQotICB9Ci1dCisid29ya2VyLWNsYXNzaWMiOiB7CisgICJzb3VyY2VD
b250ZXh0TGlzdCI6IFsKKyAgICB7CisgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwK
KyAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAiYW5vdGhlclBvbGljeSIKKyAg
ICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXIt
Y2xhc3NpYyIsCisgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgInBvbGljeSIK
KyAgICAgIF0KKyAgICB9CisgIF0sCisgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBb
XQorfQogYGBgCiAKLWlzIHJlcGxhY2VkIHdpdGgKK0RlZmluZXMgYSB0ZW1wbGF0ZSB0byBiZSBp
bnN0YW50aWF0ZWQgd2l0aCBgZGVsaXZlcnlfa2V5YCwgYGRlbGl2ZXJ5X3R5cGVgIGFuZCBgZGVs
aXZlcnlfdmFsdWVgIHZhbHVlcyBkZWZpbmVkIG91dHNpZGUgYHNvdXJjZV9jb250ZXh0X2xpc3Rf
c2NoZW1hYCwgd2hpY2ggcmVhZHM6CisKKy0gQSBjbGFzc2ljIGBXb3JrZXJHbG9iYWxTY29wZWAg
aXMgY3JlYXRlZCB1bmRlciB0aGUgdG9wLWxldmVsIERvY3VtZW50LCBhbmQgaGFzIGEgcG9saWN5
IGRlZmluZWQgYnkgYGRlbGl2ZXJ5X2tleWAsIGBkZWxpdmVyeV90eXBlYCBhbmQgYGRlbGl2ZXJ5
X3ZhbHVlYC4KKy0gVGhlIHRvcC1sZXZlbCBEb2N1bWVudCBoYXMgYSBwb2xpY3kgZGlmZmVyZW50
IGZyb20gdGhlIHBvbGljeSBnaXZlbiB0byB0aGUgY2xhc3NpYyB3b3JrZXIgKHRvIGNvbmZpcm0g
dGhhdCB0aGUgcG9saWN5IG9mIHRoZSBjbGFzc2ljIHdvcmtlciwgbm90IG9mIHRoZSB0b3AtbGV2
ZWwgRG9jdW1lbnQsIGlzIHVzZWQpLgorLSBUaGUgc3VicmVzb3VyY2UgcmVxdWVzdCBpcyBzZW50
IGZyb20gdGhlIGNsYXNzaWMgYFdvcmtlckdsb2JhbFNjb3BlYCwgd2l0aCBubyBhZGRpdGlvbmFs
IHBvbGljaWVzIHNwZWNpZmllZCBhdCB0aGUgc3VicmVzb3VyY2UgcmVxdWVzdC4KKworQW5kIHdo
ZW4gZmlsbGVkIHdpdGggdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBhIHNlbGVjdGlvbjoKKwor
LSBgZGVsaXZlcnlfdHlwZWA6IGAiaHR0cC1ycCJgCistIGBkZWxpdmVyeV9rZXlgOiBgInJlZmVy
cmVyUG9saWN5ImAKKy0gYGRlbGl2ZXJ5X3ZhbHVlYDogYCJuby1yZWZlcnJlci13aGVuLWRvd25n
cmFkZSJgCisKK1RoaXMgYmVjb21lczoKIAogYGBganNvbgotInNvdXJjZUNvbnRleHRMaXN0Ijog
WwotICB7Ci0gICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCi0gICAgInBvbGljeURlbGl2
ZXJpZXMiOiBbCi0gICAgICB7Ci0gICAgICAgICJkZWxpdmVyeVR5cGUiOiAibWV0YSIsCi0gICAg
ICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAotICAgICAgICAidmFsdWUiOiAidW5zYWZlLXVy
bCIKLSAgICAgIH0KLSAgICBdCi0gIH0sCi0gIHsKLSAgICAic291cmNlQ29udGV4dFR5cGUiOiAi
Y2xhc3NpYy13b3JrZXIiLAotICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWwotICAgICAgewotICAg
ICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAiLAotICAgICAgICAia2V5IjogInJlZmVycmVy
UG9saWN5IiwKLSAgICAgICAgInZhbHVlIjogIm5vLXJlZmVycmVyIgotICAgICAgfQotICAgIF0K
LSAgfQotXQorIndvcmtlci1jbGFzc2ljIjogeworICAic291cmNlQ29udGV4dExpc3QiOiBbCisg
ICAgeworICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisgICAgICAicG9saWN5RGVs
aXZlcmllcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICJkZWxpdmVyeVR5cGUiOiAibWV0YSIs
CisgICAgICAgICAgImtleSI6ICJyZWZlcnJlclBvbGljeSIsCisgICAgICAgICAgInZhbHVlIjog
Im5vLXJlZmVycmVyIgorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAi
c291cmNlQ29udGV4dFR5cGUiOiAid29ya2VyLWNsYXNzaWMiLAorICAgICAgInBvbGljeURlbGl2
ZXJpZXMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAi
LAorICAgICAgICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAorICAgICAgICAgICJ2YWx1ZSI6
ICJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIKKyAgICAgICAgfQorICAgICAgXQorICAgIH0K
KyAgXSwKKyAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCit9CiBgYGAKIAotd2hp
Y2ggaW5kaWNhdGVzCit3aGljaCBtZWFucwogCi0tIFRoZSB0b3AtbGV2ZWwgRG9jdW1lbnQgaGFz
IGA8bWV0YSBuYW1lPSJyZWZlcnJlciIgY29udGVudD0idW5zYWZlLXVybCI+YC4KKy0gVGhlIHRv
cC1sZXZlbCBEb2N1bWVudCBoYXMgYDxtZXRhIG5hbWU9InJlZmVycmVyIiBjb250ZW50PSJuby1y
ZWZlcnJlciI+YC4KIC0gVGhlIGNsYXNzaWMgd29ya2VyIGlzIGNyZWF0ZWQgd2l0aAotICBgUmVm
ZXJyZXItUG9saWN5OiBuby1yZWZlcnJlcmAgSFRUUCByZXNwb25zZSBoZWFkZXJzLgorICBgUmVm
ZXJyZXItUG9saWN5OiBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZWAgSFRUUCByZXNwb25zZSBo
ZWFkZXJzLgogCi0jIyMgYHNvdXJjZV9jb250ZXh0X3NjaGVtYWAgYW5kIGBzdWJyZXNvdXJjZV9z
Y2hlbWFgCisjIyMgU2NlbmFyaW8gT2JqZWN0CiAKLVRoZXNlIHJlcHJlc2VudCBzdXBwb3J0ZWQg
ZGVsaXZlcnkgdHlwZXMgYW5kIHN1YnJlc291cmNlcwotZm9yIGVhY2ggc291cmNlIGNvbnRleHQg
b3Igc3VicmVzb3VyY2UgdHlwZS4gVGhlc2UgYXJlIHVzZWQKK1RoZSAqKnNjZW5hcmlvKiogb2Jq
ZWN0IGlzIHRoZSBKU09OIG9iamVjdCB3cml0dGVuIHRvIHRoZSBnZW5lcmF0ZWQgSFRNTCBmaWxl
cywgYW5kIHBhc3NlZCB0byBKYXZhU2NyaXB0IHRlc3QgcnVudGltZSAoYXMgYW4gYXJndW1lbnQg
b2YgYFRlc3RDYXNlYCkuCitBIHNjZW5hcmlvIG9iamVjdCBpcyBhbiBzZWxlY3Rpb24gb2JqZWN0
LCBtaW51cyB0aGUga2V5cyB1c2VkIGluIFtTb3VyY2VDb250ZXh0IFJlc29sdXRpb25dKCNzb3Vy
Y2VDb250ZXh0LXJlc29sdXRpb24pOgogCi0tIFRvIGZpbHRlciBvdXQgdGVzdCBmaWxlcyBmb3Ig
dW5zdXBwb3J0ZWQgY29tYmluYXRpb25zIG9mIGRlbGl2ZXJ5IHR5cGVzLAotICBzb3VyY2UgY29u
dGV4dHMgYW5kIHN1YnJlc291cmNlcy4KLS0gVG8gZGV0ZXJtaW5lIHdoYXQgZGVsaXZlcnkgdHlw
ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIGBhbm90aGVyUG9saWN5YAotICBwbGFjZWhvbGRlci4KKy0g
YHNvdXJjZV9jb250ZXh0X2xpc3RgCistIGBkZWxpdmVyeV90eXBlYAorLSBgZGVsaXZlcnlfa2V5
YAorLSBgZGVsaXZlcnlfdmFsdWVgCisKK3BsdXMgdGhlIGtleXMgaW5zdGFudGlhdGVkIGJ5IFtT
b3VyY2VDb250ZXh0IFJlc29sdXRpb25dKCNzb3VyY2VDb250ZXh0LXJlc29sdXRpb24pOgorCist
IGBzb3VyY2VfY29udGV4dF9saXN0YCwgZXhjZXB0IGZvciB0aGUgZmlyc3QgYCJ0b3AiYCBlbnRy
eS4KKy0gYHN1YnJlc291cmNlX3BvbGljeV9kZWxpdmVyaWVzYAorCitGb3IgZXhhbXBsZToKKwor
YGBganNvbgoreworICAic291cmNlX2NvbnRleHRfbGlzdCI6IFsKKyAgICB7CisgICAgICAic291
cmNlQ29udGV4dFR5cGUiOiAid29ya2VyLWNsYXNzaWMiLAorICAgICAgInBvbGljeURlbGl2ZXJp
ZXMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZGVsaXZlcnlUeXBlIjogImh0dHAtcnAiLAor
ICAgICAgICAgICJrZXkiOiAicmVmZXJyZXJQb2xpY3kiLAorICAgICAgICAgICJ2YWx1ZSI6ICJu
by1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIKKyAgICAgICAgfQorICAgICAgXQorICAgIH0KKyAg
XSwKKyAgInN1YnJlc291cmNlX3BvbGljeV9kZWxpdmVyaWVzIjogW10sCisKKyAgImV4cGVjdGF0
aW9uIjogInN0cmlwcGVkLXJlZmVycmVyIiwKKyAgIm9yaWdpbiI6ICJzYW1lLWh0dHAiLAorICAi
cmVkaXJlY3Rpb24iOiAibm8tcmVkaXJlY3QiLAorICAic291cmNlX3NjaGVtZSI6ICJodHRwIiwK
KyAgInN1YnJlc291cmNlIjogImZldGNoIgorfQorYGBgCisKKyMjIyBUb3BMZXZlbFBvbGljeURl
bGl2ZXJ5IE9iamVjdAorCitUaGUgKioqVG9wTGV2ZWxQb2xpY3lEZWxpdmVyeSoqIG9iamVjdCBp
cyB0aGUgZmlyc3QgYCJ0b3AiYCBlbnRyeSBvZiBgU291cmNlQ29udGV4dExpc3RgIGluc3RhbnRp
YXRlZCBieSBbU291cmNlQ29udGV4dCBSZXNvbHV0aW9uXSgjc291cmNlQ29udGV4dC1yZXNvbHV0
aW9uKSwgd2hpY2ggcmVwcmVzZW50cyB0aGUgcG9saWN5IGRlbGl2ZXJ5IG9mIHRoZSB0b3AtbGV2
ZWwgSFRNTCBEb2N1bWVudC4KKworVGhlIGdlbmVyYXRvciBnZW5lcmF0ZXMgYDxtZXRhPmAgZWxl
bWVudHMgYW5kIGAuaGVhZGVyc2AgZmlsZXMgb2YgdGhlIHRvcC1sZXZlbCBIVE1MIGZpbGVzIGZy
b20gdGhlIFRvcExldmVsUG9saWN5RGVsaXZlcnkgb2JqZWN0LgorCitUaGlzIGlzIGhhbmRsZWQg
c2VwYXJhdGVseSBieSB0aGUgZ2VuZXJhdG9yIGZyb20gb3RoZXIgcGFydHMgb2Ygc2VsZWN0aW9u
IG9iamVjdHMgYW5kIHNjZW5hcmlvIG9iamVjdHMsIGJlY2F1c2UgdGhlIGA8bWV0YT5gIGFuZCBg
LmhlYWRlcnNgIGFyZSBoYXJkLWNvZGVkIGRpcmVjdGx5IHRvIHRoZSBmaWxlcyBpbiB0aGUgV1BU
IHJlcG9zaXRvcnksIHdoaWxlIHBvbGljaWVzIG9mIHN1YmNvbnRleHRzIGFyZSBnZW5lcmF0ZWQg
dmlhIHNlcnZlci1zaWRlIGBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGVgIHNjcmlwdHMu
CisKK1RPRE8oaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
LzIxNzEwKTogQ3VycmVudGx5IHRoZSBuYW1lIGBUb3BMZXZlbFBvbGljeURlbGl2ZXJ5YCBkb2Vz
bid0IGFwcGVhciBpbiB0aGUgY29kZS4KKworIyMgSG93IHRoZSB0ZXN0IHJ1bnRpbWUgd29ya3MK
KworQWxsIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYXQgcnVudGltZSBpcyBjb250YWluZWQgaW4g
YW4gc2NlbmFyaW8gb2JqZWN0LiBTZWUgdGhlIGNvZGUvY29tbWVudHMgb2YgdGhlIGZvbGxvd2lu
ZyBmaWxlcy4KKworLSBgcHJvamVjdC1kaXJlY3RvcnkvZ2VuZXJpYy90ZXN0LWNhc2UuanNgIGRl
ZmluZXMgYFRlc3RDYXNlYCwgdGhlIGVudHJ5IHBvaW50IHRoYXQgcmVjZWl2ZXMgYSBzY2VuYXJp
byBvYmplY3QuIGByZXNvdXJjZXMvY29tbW9uLnN1Yi5qc2AgZG9lcyB0aGUgbW9zdCBvZiBjb21t
b24gSmF2YVNjcmlwdCB3b3JrLgorICAgIC0gU3VicmVzb3VyY2UgVVJMcyAod2hpY2ggcG9pbnQg
dG8gYHN1YnJlc291cmNlL2Agc2NyaXB0cykgYXJlIGNhbGN1bGF0ZWQgZnJvbSBgb3JpZ2luYCBh
bmQgYHJlZGlyZWN0aW9uYCB2YWx1ZXMuCisgICAgLSBJbml0aWF0aW5nIGZldGNoIHJlcXVlc3Rz
IGJhc2VkIG9uIGBzdWJyZXNvdXJjZWAgYW5kIGBzdWJyZXNvdXJjZV9wb2xpY3lfZGVsaXZlcmll
c2AuCistIGBzY29wZS9gIHNlcnZlci1zaWRlIHNjcmlwdHMgc2VydmUgbm9uLXRvcGxldmVsIGNv
bnRleHRzLCB3aGlsZSB0aGUgdG9wLWxldmVsIERvY3VtZW50IGlzIGdlbmVyYXRlZCBieSB0aGUg
Z2VuZXJhdG9yLgorICAgVE9ETyhodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9pc3N1ZXMvMjE3MDkpOiBNZXJnZSB0aGUgbG9naWNzIG9mIGBzY29wZS9gIGFuZCB0aGUg
Z2VuZXJhdG9yLgorLSBgc3VicmVzb3VyY2UvYCBzZXJ2ZXItc2lkZSBzY3JpcHRzIHNlcnZlIHN1
YnJlc291cmNlIHJlc3BvbnNlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jlc291cmNlcy9j
b21tb24uc3ViLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3VyY2VzL2NvbW1vbi5zdWIuanMKaW5kZXgg
Y2RkMjBhOWQ4ZGFlY2VmZWMyNmMxZmUzZWY1ZDdmMmE0ZWQ0ODAwOC4uNDAyY2U5YmJhY2YzNDcz
MTE1ZjQ1OGExOTJhNjM0YzQ0OWM5ODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3Vy
Y2VzL2NvbW1vbi5zdWIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvcmVzb3VyY2VzL2NvbW1vbi5zdWIu
anMKQEAgLTEzLDE0ICsxMyw4IEBACiAvLyBmcm9tIHdoYXQga2luZCBvZiBwb3NzaWJseSBuZXN0
ZWQgc291cmNlIGNvbnRleHRzLgogLy8gVGhlIG9iamVjdHMgYXJlIHJlcHJlc2VudGVkIGFzIEpT
T04gb2JqZWN0cyAobm90IEphdmFTY3JpcHQvUHl0aG9uIGNsYXNzZXMKIC8vIGluIGEgc3RyaWN0
IHNlbnNlKSB0byBiZSBwYXNzZWQgYmV0d2VlbiBKYXZhU2NyaXB0L1B5dGhvbiBjb2RlLgotCi0v
LyBOb3RlOiBTbyBmYXIgdGhpcyBkb2N1bWVudCBjb3ZlcnM6Ci0vLyAtIHJlc291cmNlcy9jb21t
b24uc3ViLmpzIDogY2xpZW50LXNpZGUgdGVzdCBpbmZyYSBjb2RlCi0vLyAtIHNjb3BlLyAtIHNl
cnZlci1zaWRlIHNjcmlwdHMgdGhhdCBzZXJ2ZXMgbmVzdGVkIHNvdXJjZSBjb250ZXh0cwotLy8g
YnV0IGRvZXNuJ3QgY292ZXI6Ci0vLyAtIHRvb2xzLyAtIGdlbmVyYXRvciBzY3JpcHRzIHRoYXQg
Z2VuZXJhdGVzIHRvcC1sZXZlbCBIVE1MIGRvY3VtZW50cy4KLS8vIFRoZXJlIGFyZSBzb21lIHBv
bGljaWVzIG9ubHkgaGFuZGxlZCBieSBnZW5lcmF0b3JzIChlLmcuIG1peGVkLWNvbnRlbnQKLS8v
IG9wdC1pbnMpIGFuZCBub3QgeWV0IGNvdmVyZWQgYnkgdGhlIGRvY3MgaGVyZS4KKy8vCisvLyBT
ZWUgYWxzbyBjb21tb24vc2VjdXJpdHktZmVhdHVyZXMvVHlwZXMubWQgZm9yIGhpZ2gtbGV2ZWwg
ZGVzY3JpcHRpb24uCiAKIC8qKgogICBAdHlwZWRlZiBQb2xpY3lEZWxpdmVyeQpAQCAtOTIsMzMg
Kzg2LDYgQEAKIC8qKgogICBAdHlwZWRlZiBTb3VyY2VDb250ZXh0CiAgIEB0eXBlIHtvYmplY3R9
Ci0gIFJlcXVlc3RzIGNhbiBiZSBwb3NzaWJseSBzZW50IGZyb20gdmFyaW91cyBraW5kcyBvZiBz
b3VyY2UgY29udGV4dHMsIGkuZS4KLSAgZmV0Y2ggY2xpZW50J3MgZW52aXJvbm1lbnQgc2V0dGlu
Z3Mgb2JqZWN0czoKLSAgdG9wLWxldmVsIHdpbmRvd3MsIGlmcmFtZXMsIG9yIHdvcmtlcnMuCi0g
IEEgU291cmNlQ29udGV4dCBvYmplY3Qgc3BlY2lmaWVzIG9uZSBlbnZpcm9ubWVudCBzZXR0aW5n
cyBvYmplY3QsIGFuZAotICBhbiBBcnJheTxTb3VyY2VDb250ZXh0PiBzcGVjaWZpZXMgYSBwb3Nz
aWJseSBuZXN0ZWQgY29udGV4dCwKLSAgZnJvbSB0aGUgb3V0ZXItbW9zdCB0byBpbm5lci1tb3N0
IGVudmlyb25tZW50IHNldHRpbmdzIG9iamVjdHMuCi0KLSAgRm9yIGV4YW1wbGU6Ci0gICAgW3tz
b3VyY2VDb250ZXh0VHlwZTogInNyY2RvYyJ9LCB7c291cmNlQ29udGV4dFR5cGU6ICJ3b3JrZXIt
Y2xhc3NpYyJ9XQotICBtZWFucyB0aGF0IGEgc3VicmVzb3VyY2UgcmVxdWVzdCBpcyB0byBiZSBz
ZW50IGZyb20KLSAgYSBjbGFzc2ljIGRlZGljYXRlZCB3b3JrZXIgY3JlYXRlZCBmcm9tIDxpZnJh
bWUgc3JjZG9jPgotICBpbnNpZGUgdGhlIHRvcC1sZXZlbCBIVE1MIGRvY3VtZW50LgotICBOb3Rl
OiB0aGUgdG9wLWxldmVsIGRvY3VtZW50IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgYXJyYXkgYW5k
Ci0gIGlzIGFzc3VtZWQgaW1wbGljaXRseS4KLQotICBTb3VyY2VDb250ZXh0IChvciBBcnJheTxT
b3VyY2VDb250ZXh0PikgaXMgc2V0IGJhc2VkIG9uCi0gIHRoZSBmZXRjaCBjbGllbnQncyBzZXR0
aW5ncyBvYmplY3QgdGhhdCBpcyB1c2VkIGZvciB0aGUgc3VicmVzb3VyY2UgcmVxdWVzdCwKLSAg
Tk9UIG9uIG1vZHVsZSBtYXAgc2V0dGluZ3Mgb2JqZWN0LCBhbmQKLSAgTk9UIG9uIHRoZSBpbm5l
ci1tb3N0IHNldHRpbmdzIG9iamVjdCB0aGF0IGFwcGVhcnMgaW4gdGhlIHRlc3QuCi0gIEZvciBl
eGFtcGxlLCBBcnJheTxTb3VyY2VDb250ZXh0PiBpcyBgW11gIChpbmRpY2F0aW5nIHRoZSB0b3Ag
V2luZG93KQotICBmb3IgYHdvcmtlci5qc2AKLSAgLSBXaGVuIGl0IGlzIHRoZSByb290IHdvcmtl
ciBzY3JpcHQ6IGBuZXcgV29ya2VyKCd3b3JrZXIuanMnKWAsIG9yCi0gIC0gV2hlbiBpdCBpcyBp
bXBvcnRlZCBmcm9tIHRoZSByb290IHdvcmtlciBzY3JpcHQ6Ci0gICAgYG5ldyBXb3JrZXIoJ3Rv
cC5qcycsIHt0eXBlOiAnbW9kdWxlJ30pYAotICAgIHdoZXJlIGB0b3AuanNgIGhhcyBgaW1wb3J0
ICd3b3JrZXIuanMnYC4KLSAgYmVjYXVzZSB0aGUgcmVxdWVzdCBmb3IgYHdvcmtlci5qc2AgdXNl
cyB0aGUgV2luZG93IGFzIGl0cyBmZXRjaCBjbGllbnQncwotICBzZXR0aW5ncyBvYmplY3QsIHdo
aWxlIGEgV29ya2VyR2xvYmFsU2NvcGUgaXMgY3JlYXRlZCB0aG91Z2guCiAKICAgQHByb3BlcnR5
IHtzdHJpbmd9IHNvdXJjZUNvbnRleHRUeXBlCiAgICAgS2luZCBvZiB0aGUgc291cmNlIGNvbnRl
eHQgdG8gYmUgdXNlZC4KQEAgLTM5OCw3ICszNjUsNyBAQCBmdW5jdGlvbiB3cmFwUmVzdWx0KHNl
cnZlcl9kYXRhKSB7CiAgIHJlcXVlc3RWaWFQaWN0dXJlICAgICAgICAgICAgICAgIDMgICAgICAg
IC0gICAgICAgIFkgICAgICAgLQogICByZXF1ZXN0VmlhU2NyaXB0ICAgICAgICAgICAgICAgICAy
ICAgICAgICBZICAgICAgICBZICAgICAgIC0KICAgcmVxdWVzdFZpYVNlbmRCZWFjb24gICAgICAg
ICAgICAgMyAgICAgICAgLSAgICAgICAgWSAgICAgICAtCi0gIHJlcXVlc3RWaWFTaGFyZWRXb3Jr
ZXIgICAgICAgICAgIDIgICAgICAgIFkgICAgICAgIC0gICAgICAgLQorICByZXF1ZXN0VmlhU2hh
cmVkV29ya2VyICAgICAgICAgICAyICAgICAgICBZICAgICAgICBZICAgICAgIFkKICAgcmVxdWVz
dFZpYVZpZGVvICAgICAgICAgICAgICAgICAgMyAgICAgICAgLSAgICAgICAgWSAgICAgICAtCiAg
IHJlcXVlc3RWaWFXZWJTb2NrZXQgICAgICAgICAgICAgIDMgICAgICAgIC0gICAgICAgIFkgICAg
ICAgLQogICByZXF1ZXN0VmlhV29ya2xldCAgICAgICAgICAgICAgICAzICAgICAgICAtICAgICAg
ICBZICAgICAgIFkKQEAgLTUxOSw2ICs0ODYsMTEgQEAgZnVuY3Rpb24gZGVkaWNhdGVkV29ya2Vy
VXJsVGhhdEZldGNoZXModXJsKSB7CiB9CiAKIGZ1bmN0aW9uIHdvcmtlclVybFRoYXRJbXBvcnRz
KHVybCkgeworICByZXR1cm4gYC9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uv
c3RhdGljLWltcG9ydC5weWAgKworICAgICAgYD9pbXBvcnRfdXJsPSR7ZW5jb2RlVVJJQ29tcG9u
ZW50KHVybCl9YDsKK30KKworZnVuY3Rpb24gd29ya2VyRGF0YVVybFRoYXRJbXBvcnRzKHVybCkg
ewogICByZXR1cm4gYGRhdGE6dGV4dC9qYXZhc2NyaXB0LGltcG9ydCAnJHt1cmx9JztgOwogfQog
CkBAIC01NDIsMTAgKzUxNCwxMCBAQCBmdW5jdGlvbiByZXF1ZXN0VmlhRGVkaWNhdGVkV29ya2Vy
KHVybCwgb3B0aW9ucykgewogICAgIC50aGVuKGV2ZW50ID0+IHdyYXBSZXN1bHQoZXZlbnQuZGF0
YSkpOwogfQogCi1mdW5jdGlvbiByZXF1ZXN0VmlhU2hhcmVkV29ya2VyKHVybCkgeworZnVuY3Rp
b24gcmVxdWVzdFZpYVNoYXJlZFdvcmtlcih1cmwsIG9wdGlvbnMpIHsKICAgdmFyIHdvcmtlcjsK
ICAgdHJ5IHsKLSAgICB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKHVybCk7CisgICAgd29ya2Vy
ID0gbmV3IFNoYXJlZFdvcmtlcih1cmwsIG9wdGlvbnMpOwogICB9IGNhdGNoKGUpIHsKICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7CiAgIH0KQEAgLTkxMSwxNCArODgzLDMzIEBAIGNvbnN0
IHN1YnJlc291cmNlTWFwID0gewogICAgIHBhdGg6ICIvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVz
L3N1YnJlc291cmNlL3dvcmtlci5weSIsCiAgICAgaW52b2tlcjogdXJsID0+IHJlcXVlc3RWaWFE
ZWRpY2F0ZWRXb3JrZXIodXJsLCB7dHlwZTogIm1vZHVsZSJ9KSwKICAgfSwKLSAgIndvcmtlci1p
bXBvcnQtZGF0YSI6IHsKKyAgIndvcmtlci1pbXBvcnQiOiB7CiAgICAgcGF0aDogIi9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvd29ya2VyLnB5IiwKICAgICBpbnZva2VyOiB1
cmwgPT4KICAgICAgICAgcmVxdWVzdFZpYURlZGljYXRlZFdvcmtlcih3b3JrZXJVcmxUaGF0SW1w
b3J0cyh1cmwpLCB7dHlwZTogIm1vZHVsZSJ9KSwKICAgfSwKKyAgIndvcmtlci1pbXBvcnQtZGF0
YSI6IHsKKyAgICBwYXRoOiAiL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS93
b3JrZXIucHkiLAorICAgIGludm9rZXI6IHVybCA9PgorICAgICAgICByZXF1ZXN0VmlhRGVkaWNh
dGVkV29ya2VyKHdvcmtlckRhdGFVcmxUaGF0SW1wb3J0cyh1cmwpLCB7dHlwZTogIm1vZHVsZSJ9
KSwKKyAgfSwKICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIjogewogICAgIHBhdGg6ICIvY29tbW9u
L3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3NoYXJlZC13b3JrZXIucHkiLAotICAgIGlu
dm9rZXI6IHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIsCisgICAgaW52b2tlcjogdXJsID0+IHJlcXVl
c3RWaWFTaGFyZWRXb3JrZXIodXJsKSwKKyAgfSwKKyAgInNoYXJlZHdvcmtlci1tb2R1bGUiOiB7
CisgICAgcGF0aDogIi9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVk
LXdvcmtlci5weSIsCisgICAgaW52b2tlcjogdXJsID0+IHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIo
dXJsLCB7dHlwZTogIm1vZHVsZSJ9KSwKKyAgfSwKKyAgInNoYXJlZHdvcmtlci1pbXBvcnQiOiB7
CisgICAgcGF0aDogIi9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVk
LXdvcmtlci5weSIsCisgICAgaW52b2tlcjogdXJsID0+CisgICAgICAgIHJlcXVlc3RWaWFTaGFy
ZWRXb3JrZXIod29ya2VyVXJsVGhhdEltcG9ydHModXJsKSwge3R5cGU6ICJtb2R1bGUifSksCisg
IH0sCisgICJzaGFyZWR3b3JrZXItaW1wb3J0LWRhdGEiOiB7CisgICAgcGF0aDogIi9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc2hhcmVkLXdvcmtlci5weSIsCisgICAgaW52
b2tlcjogdXJsID0+CisgICAgICAgIHJlcXVlc3RWaWFTaGFyZWRXb3JrZXIod29ya2VyRGF0YVVy
bFRoYXRJbXBvcnRzKHVybCksIHt0eXBlOiAibW9kdWxlIn0pLAogICB9LAogCiAgICJ3ZWJzb2Nr
ZXQiOiB7CkBAIC05MzQsNyArOTI1LDcgQEAgZm9yIChjb25zdCB3b3JrbGV0VHlwZSBvZiBbJ2Fu
aW1hdGlvbicsICdhdWRpbycsICdsYXlvdXQnLCAncGFpbnQnXSkgewogICBzdWJyZXNvdXJjZU1h
cFtgd29ya2xldC0ke3dvcmtsZXRUeXBlfS1pbXBvcnQtZGF0YWBdID0gewogICAgICAgcGF0aDog
Ii9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvd29ya2VyLnB5IiwKICAgICAg
IGludm9rZXI6IHVybCA9PgotICAgICAgICAgIHJlcXVlc3RWaWFXb3JrbGV0KHdvcmtsZXRUeXBl
LCB3b3JrZXJVcmxUaGF0SW1wb3J0cyh1cmwpKQorICAgICAgICAgIHJlcXVlc3RWaWFXb3JrbGV0
KHdvcmtsZXRUeXBlLCB3b3JrZXJEYXRhVXJsVGhhdEltcG9ydHModXJsKSkKICAgICB9OwogfQog
CkBAIC0xMTIwLDE5ICsxMTExLDM1IEBAIGZ1bmN0aW9uIGludm9rZVJlcXVlc3Qoc3VicmVzb3Vy
Y2UsIHNvdXJjZUNvbnRleHRMaXN0KSB7CiAgICAgfSwKICAgICAid29ya2VyLWNsYXNzaWMiOiB7
CiAgICAgICAvLyBDbGFzc2ljIGRlZGljYXRlZCB3b3JrZXIgbG9hZGVkIGZyb20gc2FtZS1vcmln
aW4uCi0gICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCBmYWxz
ZSwge30pLAorICAgICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5iaW5kKHVuZGVmaW5lZCwg
IndvcmtlciIsIGZhbHNlLCB7fSksCiAgICAgfSwKICAgICAid29ya2VyLWNsYXNzaWMtZGF0YSI6
IHsKICAgICAgIC8vIENsYXNzaWMgZGVkaWNhdGVkIHdvcmtlciBsb2FkZWQgZnJvbSBkYXRhOiBV
UkwuCi0gICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCB0cnVl
LCB7fSksCisgICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAi
d29ya2VyIiwgdHJ1ZSwge30pLAogICAgIH0sCiAgICAgIndvcmtlci1tb2R1bGUiOiB7CiAgICAg
ICAvLyBNb2R1bGUgZGVkaWNhdGVkIHdvcmtlciBsb2FkZWQgZnJvbSBzYW1lLW9yaWdpbi4KLSAg
ICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRlZmluZWQsIGZhbHNlLCB7dHlw
ZTogJ21vZHVsZSd9KSwKKyAgICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRl
ZmluZWQsICJ3b3JrZXIiLCBmYWxzZSwge3R5cGU6ICdtb2R1bGUnfSksCiAgICAgfSwKICAgICAi
d29ya2VyLW1vZHVsZS1kYXRhIjogewogICAgICAgLy8gTW9kdWxlIGRlZGljYXRlZCB3b3JrZXIg
bG9hZGVkIGZyb20gZGF0YTogVVJMLgotICAgICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5i
aW5kKHVuZGVmaW5lZCwgdHJ1ZSwge3R5cGU6ICdtb2R1bGUnfSksCisgICAgICBpbnZva2VyOiBp
bnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAid29ya2VyIiwgdHJ1ZSwge3R5cGU6ICdt
b2R1bGUnfSksCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiOiB7CisgICAgICAv
LyBDbGFzc2ljIHNoYXJlZCB3b3JrZXIgbG9hZGVkIGZyb20gc2FtZS1vcmlnaW4uCisgICAgICBp
bnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZpbmVkLCAic2hhcmVkd29ya2VyIiwg
ZmFsc2UsIHt9KSwKKyAgICB9LAorICAgICJzaGFyZWR3b3JrZXItY2xhc3NpYy1kYXRhIjogewor
ICAgICAgLy8gQ2xhc3NpYyBzaGFyZWQgd29ya2VyIGxvYWRlZCBmcm9tIGRhdGE6IFVSTC4KKyAg
ICAgIGludm9rZXI6IGludm9rZUZyb21Xb3JrZXIuYmluZCh1bmRlZmluZWQsICJzaGFyZWR3b3Jr
ZXIiLCB0cnVlLCB7fSksCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IHsKKyAg
ICAgIC8vIE1vZHVsZSBzaGFyZWQgd29ya2VyIGxvYWRlZCBmcm9tIHNhbWUtb3JpZ2luLgorICAg
ICAgaW52b2tlcjogaW52b2tlRnJvbVdvcmtlci5iaW5kKHVuZGVmaW5lZCwgInNoYXJlZHdvcmtl
ciIsIGZhbHNlLCB7dHlwZTogJ21vZHVsZSd9KSwKKyAgICB9LAorICAgICJzaGFyZWR3b3JrZXIt
bW9kdWxlLWRhdGEiOiB7CisgICAgICAvLyBNb2R1bGUgc2hhcmVkIHdvcmtlciBsb2FkZWQgZnJv
bSBkYXRhOiBVUkwuCisgICAgICBpbnZva2VyOiBpbnZva2VGcm9tV29ya2VyLmJpbmQodW5kZWZp
bmVkLCAic2hhcmVkd29ya2VyIiwgdHJ1ZSwge3R5cGU6ICdtb2R1bGUnfSksCiAgICAgfSwKICAg
fTsKIApAQCAtMTE1Myw2ICsxMTYwLDggQEAgc2VsZi5pbnZva2VSZXF1ZXN0ID0gaW52b2tlUmVx
dWVzdDsKICovCiAKIC8qKgorICBAcGFyYW0ge3N0cmluZ30gd29ya2VyVHlwZQorICAgICJ3b3Jr
ZXIiIChmb3IgZGVkaWNhdGVkIHdvcmtlcikgb3IgInNoYXJlZHdvcmtlciIuCiAgIEBwYXJhbSB7
Ym9vbGVhbn0gaXNEYXRhVXJsCiAgICAgdHJ1ZSBpZiB0aGUgd29ya2VyIHNjcmlwdCBpcyBsb2Fk
ZWQgZnJvbSBkYXRhOiBVUkwuCiAgICAgT3RoZXJ3aXNlLCB0aGUgc2NyaXB0IGlzIGxvYWRlZCBm
cm9tIHNhbWUtb3JpZ2luLgpAQCAtMTE2MSw3ICsxMTcwLDcgQEAgc2VsZi5pbnZva2VSZXF1ZXN0
ID0gaW52b2tlUmVxdWVzdDsKIAogICBPdGhlciBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdmFsdWVz
IGFyZSB0aGUgc2FtZSBhcyB0aG9zZSBvZiBpbnZva2VSZXF1ZXN0KCkuCiAqLwotZnVuY3Rpb24g
aW52b2tlRnJvbVdvcmtlcihpc0RhdGFVcmwsIHdvcmtlck9wdGlvbnMsCitmdW5jdGlvbiBpbnZv
a2VGcm9tV29ya2VyKHdvcmtlclR5cGUsIGlzRGF0YVVybCwgd29ya2VyT3B0aW9ucywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3VicmVzb3VyY2UsIHNvdXJjZUNvbnRleHRMaXN0KSB7CiAg
IGNvbnN0IGN1cnJlbnRTb3VyY2VDb250ZXh0ID0gc291cmNlQ29udGV4dExpc3RbMF07CiAgIGxl
dCB3b3JrZXJVcmwgPQpAQCAtMTE4NSwxMCArMTE5NCwyMCBAQCBmdW5jdGlvbiBpbnZva2VGcm9t
V29ya2VyKGlzRGF0YVVybCwgd29ya2VyT3B0aW9ucywKIAogICByZXR1cm4gcHJvbWlzZQogICAg
IC50aGVuKHVybCA9PiB7Ci0gICAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKHVybCwgd29y
a2VyT3B0aW9ucyk7Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3N1YnJlc291cmNlOiBzdWJy
ZXNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ29udGV4dExpc3Q6IHNv
dXJjZUNvbnRleHRMaXN0LnNsaWNlKDEpfSk7Ci0gICAgICByZXR1cm4gYmluZEV2ZW50czIod29y
a2VyLCAibWVzc2FnZSIsIHdvcmtlciwgImVycm9yIiwgd2luZG93LCAiZXJyb3IiKTsKKyAgICAg
IGlmICh3b3JrZXJUeXBlID09PSAid29ya2VyIikgeworICAgICAgICBjb25zdCB3b3JrZXIgPSBu
ZXcgV29ya2VyKHVybCwgd29ya2VyT3B0aW9ucyk7CisgICAgICAgIHdvcmtlci5wb3N0TWVzc2Fn
ZSh7c3VicmVzb3VyY2U6IHN1YnJlc291cmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNvdXJjZUNvbnRleHRMaXN0OiBzb3VyY2VDb250ZXh0TGlzdC5zbGljZSgxKX0pOworICAgICAg
ICByZXR1cm4gYmluZEV2ZW50czIod29ya2VyLCAibWVzc2FnZSIsIHdvcmtlciwgImVycm9yIiwg
d2luZG93LCAiZXJyb3IiKTsKKyAgICAgIH0gZWxzZSBpZiAod29ya2VyVHlwZSA9PT0gInNoYXJl
ZHdvcmtlciIpIHsKKyAgICAgICAgY29uc3Qgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcih1cmws
IHdvcmtlck9wdGlvbnMpOworICAgICAgICB3b3JrZXIucG9ydC5zdGFydCgpOworICAgICAgICB3
b3JrZXIucG9ydC5wb3N0TWVzc2FnZSh7c3VicmVzb3VyY2U6IHN1YnJlc291cmNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ29udGV4dExpc3Q6IHNvdXJjZUNvbnRl
eHRMaXN0LnNsaWNlKDEpfSk7CisgICAgICAgIHJldHVybiBiaW5kRXZlbnRzMih3b3JrZXIucG9y
dCwgIm1lc3NhZ2UiLCB3b3JrZXIsICJlcnJvciIsIHdpbmRvdywgImVycm9yIik7CisgICAgICB9
IGVsc2UgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd29ya2VyIHR5cGU6ICcg
KyB3b3JrZXJUeXBlKTsKKyAgICAgIH0KICAgICB9KQogICAgIC50aGVuKGV2ZW50ID0+IHsKICAg
ICAgICAgaWYgKGV2ZW50LmRhdGEuZXJyb3IpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29w
ZS90ZW1wbGF0ZS93b3JrZXIuanMudGVtcGxhdGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29wZS90ZW1wbGF0
ZS93b3JrZXIuanMudGVtcGxhdGUKaW5kZXggYWMzZmM2NzJkMTkxMWY5MWRhYWY1MTQxZWQ1NzYw
NTNkYWY5MWQ2NC4uN2EyYTZlMDVjNDQxN2ZlNDliMWYyODNmOGNlYzM2ZTdlODA5YmEyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGUvdGVtcGxhdGUvd29ya2VyLmpzLnRlbXBsYXRlCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3Njb3BlL3RlbXBsYXRlL3dvcmtlci5qcy50ZW1wbGF0ZQpAQCAtMSwy
NCArMSwyOSBAQAogJShpbXBvcnQpcwogCi0vLyBSZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSBw
YXJlbnQgYW5kIHN0YXJ0IHRoZSB0ZXN0LgotZnVuY3Rpb24gb25NZXNzYWdlRnJvbVBhcmVudChl
dmVudCkgewotICAvLyBCZWNhdXNlIHRoaXMgd2luZG93IG1pZ2h0IHJlY2VpdmUgbWVzc2FnZXMg
ZnJvbSBjaGlsZCBjb250ZXh0IGR1cmluZwotICAvLyB0ZXN0cywgd2UgZmlyc3QgcmVtb3ZlIHRo
ZSBsaXN0ZW5lciBoZXJlIGJlZm9yZSBzdGFyaW5nIHRoZSB0ZXN0LgotICBzZWxmLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2VGcm9tUGFyZW50KTsKK2lmICgnRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUnIGluIHNlbGYgJiYKKyAgICBzZWxmIGluc3RhbmNlb2YgRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpIHsKKyAgc2VsZi5vbm1lc3NhZ2UgPSBldmVudCA9PiBv
bk1lc3NhZ2VGcm9tUGFyZW50KGV2ZW50LCBzZWxmKTsKK30gZWxzZSBpZiAoJ1NoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlJyBpbiBzZWxmICYmCisgICAgc2VsZiBpbnN0YW5jZW9mIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlKSB7CisgIG9uY29ubmVjdCA9IGV2ZW50ID0+IHsKKyAgICBjb25zdCBwb3J0
ID0gZXZlbnQucG9ydHNbMF07CisgICAgcG9ydC5vbm1lc3NhZ2UgPSBldmVudCA9PiBvbk1lc3Nh
Z2VGcm9tUGFyZW50KGV2ZW50LCBwb3J0KTsKKyAgfTsKK30KIAorLy8gUmVjZWl2ZSBhIG1lc3Nh
Z2UgZnJvbSB0aGUgcGFyZW50IGFuZCBzdGFydCB0aGUgdGVzdC4KK2Z1bmN0aW9uIG9uTWVzc2Fn
ZUZyb21QYXJlbnQoZXZlbnQsIHBvcnQpIHsKICAgY29uc3QgY29uZmlndXJhdGlvbkVycm9yID0g
IiUoZXJyb3IpcyI7CiAgIGlmIChjb25maWd1cmF0aW9uRXJyb3IubGVuZ3RoID4gMCkgewotICAg
IHBvc3RNZXNzYWdlKHtlcnJvcjogY29uZmlndXJhdGlvbkVycm9yfSk7CisgICAgcG9ydC5wb3N0
TWVzc2FnZSh7ZXJyb3I6IGNvbmZpZ3VyYXRpb25FcnJvcn0pOwogICAgIHJldHVybjsKICAgfQog
CiAgIGludm9rZVJlcXVlc3QoZXZlbnQuZGF0YS5zdWJyZXNvdXJjZSwKICAgICAgICAgICAgICAg
ICBldmVudC5kYXRhLnNvdXJjZUNvbnRleHRMaXN0KQotICAgIC50aGVuKHJlc3VsdCA9PiBwb3N0
TWVzc2FnZShyZXN1bHQpKQorICAgIC50aGVuKHJlc3VsdCA9PiBwb3J0LnBvc3RNZXNzYWdlKHJl
c3VsdCkpCiAgICAgLmNhdGNoKGUgPT4gewogICAgICAgICBjb25zdCBtZXNzYWdlID0gKGUuZXJy
b3IgJiYgZS5lcnJvci5zdGFjaykgfHwgZS5tZXNzYWdlIHx8ICJFcnJvciI7Ci0gICAgICAgIHBv
c3RNZXNzYWdlKHtlcnJvcjogbWVzc2FnZX0pOworICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHtl
cnJvcjogbWVzc2FnZX0pOwogICAgICAgfSk7CiB9Ci0KLXNlbGYuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG9uTWVzc2FnZUZyb21QYXJlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMv
c2NvcGUvd29ya2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc2NvcGUvd29ya2VyLnB5CmluZGV4IGJkYWQ1
MmM2YTg0YTA1NGYxZTMxM2ZkYzkwNWFmODBhOTEyMGE0NGUuLjcxNmJjYjhlZmZmYjg0Mzg0ZGZj
NTYyMGMxYThmNmEwZDE5M2E4NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Njb3BlL3dvcmtl
ci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zY29wZS93b3JrZXIucHkKQEAgLTIzLDYgKzIzLDEwIEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBlbGlmIGRlbGl2ZXJ5WydkZWxpdmVy
eVR5cGUnXSA9PSAnaHR0cC1ycCc6CiAgICAgICBpZiBkZWxpdmVyeVsna2V5J10gPT0gJ3JlZmVy
cmVyUG9saWN5JzoKICAgICAgICAgbWF5YmVfYWRkaXRpb25hbF9oZWFkZXJzWydSZWZlcnJlci1Q
b2xpY3knXSA9IGRlbGl2ZXJ5Wyd2YWx1ZSddCisgICAgICBlbGlmIGRlbGl2ZXJ5WydrZXknXSA9
PSAnbWl4ZWRDb250ZW50JyBhbmQgZGVsaXZlcnlbJ3ZhbHVlJ10gPT0gJ29wdC1pbic6CisgICAg
ICAgIG1heWJlX2FkZGl0aW9uYWxfaGVhZGVyc1snQ29udGVudC1TZWN1cml0eS1Qb2xpY3knXSA9
ICdibG9jay1hbGwtbWl4ZWQtY29udGVudCcKKyAgICAgIGVsaWYgZGVsaXZlcnlbJ2tleSddID09
ICd1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cycgYW5kIGRlbGl2ZXJ5Wyd2YWx1ZSddID09ICd1cGdy
YWRlJzoKKyAgICAgICAgbWF5YmVfYWRkaXRpb25hbF9oZWFkZXJzWydDb250ZW50LVNlY3VyaXR5
LVBvbGljeSddID0gJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnCiAgICAgICBlbHNlOgogICAg
ICAgICBlcnJvciA9ICdpbnZhbGlkIGRlbGl2ZXJ5IGtleSBmb3IgaHR0cC1ycDogJXMnICUgZGVs
aXZlcnlbJ2tleSddCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291
cmNlL3JlZmVycmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvcmVmZXJyZXIucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWQ5ZTI0ODQ3YTEwODgyNmRiMWU3MTI0YzdiZmY2ZjZmMWEzZmQ1YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3JlZmVycmVyLnB5CkBAIC0wLDAg
KzEsNCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJlZmVycmVyID0gcmVx
dWVzdC5oZWFkZXJzLmdldCgicmVmZXJlciIsICIiKQorICAgIHJlc3BvbnNlX2hlYWRlcnMgPSBb
KCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2NyaXB0IildOworICAgIHJldHVybiAoMjAwLCBy
ZXNwb25zZV9oZWFkZXJzLCAid2luZG93LnJlZmVycmVyID0gJyIgKyByZWZlcnJlciArICInIikK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N0YXRpYy1pbXBvcnQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zdGF0aWMtaW1wb3J0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhOTdk
ZDFhMzI2NTJiOWY0MWVkY2I1NmVlZmUxOTdlYzQyNzZjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zdGF0aWMtaW1wb3J0LnB5CkBAIC0wLDAgKzEsMTYgQEAK
K2ltcG9ydCBvcywgc3lzLCB1cmxsaWIKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkpCitpbXBvcnQgc3VicmVzb3VyY2UKKworZGVm
IGdlbmVyYXRlX3BheWxvYWQocmVxdWVzdCk6CisgICAgaW1wb3J0X3VybCA9IHVybGxpYi51bnF1
b3RlKHJlcXVlc3QuR0VUWydpbXBvcnRfdXJsJ10pCisgICAgcmV0dXJuIHN1YnJlc291cmNlLmdl
dF90ZW1wbGF0ZSgic3RhdGljLWltcG9ydC5qcy50ZW1wbGF0ZSIpICUgeworICAgICAgICAiaW1w
b3J0X3VybCI6IGltcG9ydF91cmwKKyAgICB9CisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKKyAgICBwYXlsb2FkX2dlbmVyYXRvciA9IGxhbWJkYSBfOiBnZW5lcmF0ZV9wYXlsb2FkKHJl
cXVlc3QpCisgICAgc3VicmVzb3VyY2UucmVzcG9uZChyZXF1ZXN0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkX2dlbmVy
YXRvciA9IHBheWxvYWRfZ2VuZXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu
dF90eXBlID0gImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVy
ZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc3RhdGljLWltcG9ydC5qcy50ZW1wbGF0ZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBvcnQuanMudGVtcGxhdGUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDk1NDU5YjU0NzUzYTc2MDljZDQ2NDA4OGFhMGU4M2I3ZTRhNTA4NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBv
cnQuanMudGVtcGxhdGUKQEAgLTAsMCArMSBAQAoraW1wb3J0ICclKGltcG9ydF91cmwpcyc7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS90ZW1wbGF0ZS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCmluZGV4
IDM2ODE2NDRmNDU4ZjZkNWRhYzhhNGI1NTJkMjNjMDBlZjJhMDNhY2YuLjAzYjIwZWI1NGY3ZDIw
OTk2N2M2MjdhYjcyODY4ZWFmN2UyNTk3MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJl
c291cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291
cmNlL3RlbXBsYXRlL3czYy1pbXBvcnQubG9nCkBAIC0xOSw2ICsxOSw3IEBAIExpc3Qgb2YgZmls
ZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvaW1hZ2UuY3NzLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc2NyaXB0LmpzLnRlbXBsYXRlCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJp
dHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc2hhcmVkLXdvcmtlci5qcy50ZW1wbGF0
ZQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3RlbXBsYXRlL3N0YXRpYy1pbXBvcnQuanMudGVt
cGxhdGUKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS90ZW1wbGF0ZS9zdmcuY3NzLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvc3ZnLmVtYmVkZGVkLnRlbXBsYXRl
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2Vj
dXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvdGVtcGxhdGUvd29ya2VyLmpzLnRlbXBsYXRlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQubG9nCmluZGV4IDE3YWMzYzdjYmQzNmEyZWMy
NjA3ZWJmN2NhYjY5MTNlOTU2ZTQyM2UuLmM0MWQzMzU0OGU3NzlkMjczMmJmMjhlNWRkNDI2MzAw
N2U1ZmU3NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29t
bW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3czYy1pbXBvcnQubG9nCkBAIC0yMCw4
ICsyMCwxMCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL2VtcHR5
LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvZm9udC5weQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJl
c291cmNlL2ltYWdlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2UvcmVmZXJyZXIucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy9zdWJyZXNvdXJjZS9zY3JpcHQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy9zdWJyZXNvdXJj
ZS9zaGFyZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvc3VicmVzb3VyY2Uvc3RhdGljLWltcG9y
dC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N0eWxlc2hlZXQucHkKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJl
cy9zdWJyZXNvdXJjZS9zdWJyZXNvdXJjZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3N1YnJlc291cmNlL3N2
Zy5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZm9ybWF0X3NwZWNfc3JjX2pzb24u
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9z
ZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3JtYXRfc3BlY19zcmNfanNvbi5weQppbmRleCBiNDU0
OWJiNzEwY2QxMTllODdjYTRhNDFkNjVkNzk4MGI2YjQwNDA2Li5kMWJmNTgxN2FkMjA4ZjNhZThj
YzE2YjNhZDExY2MwZDMxMGQzNWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3Jt
YXRfc3BlY19zcmNfanNvbi5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9mb3JtYXRfc3BlY19z
cmNfanNvbi5weQpAQCAtNyw3ICs3LDkgQEAgZGVmIG1haW4oKToKICAgICAnJydGb3JtYXRzIHNw
ZWMuc3JjLmpzb24uJycnCiAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZShv
cy5wYXRoLmFic3BhdGgoX19maWxlX18pKQogICAgIGZvciBkaXIgaW4gWwotICAgICAgICAgICAg
J21peGVkLWNvbnRlbnQnLCAncmVmZXJyZXItcG9saWN5JywgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVx
dWVzdHMnCisgICAgICAgICAgICAnbWl4ZWQtY29udGVudCcsICdyZWZlcnJlci1wb2xpY3knLCAn
cmVmZXJyZXItcG9saWN5LzRLLTEnLAorICAgICAgICAgICAgJ3JlZmVycmVyLXBvbGljeS80Sycs
ICdyZWZlcnJlci1wb2xpY3kvNEsrMScsCisgICAgICAgICAgICAndXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cycKICAgICBdOgogICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihzY3JpcHRf
ZGlyZWN0b3J5LCAnLi4nLCAnLi4nLCAnLi4nLCBkaXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdzcGVjLnNyYy5qc29uJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xz
L2dlbmVyYXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUucHkKaW5kZXggNmZhYzE5
ODI3YWExMDQzYWQ3ZDMyNDRjZjc4ZjQ0YThlZDBiNWNiYy4uNzcxMGE4MjRiMmRjMTliZDc2MjAz
ZjRkNjRlZjdiMzI5ZmQxY2EzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJh
dGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZ2VuZXJhdGUucHkKQEAgLTEsNiArMSw5IEBA
CisjIS91c3IvYmluL2VudiBweXRob24KKwogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
dW5jdGlvbgogCiBpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IGNv
cHkKIGltcG9ydCBqc29uCiBpbXBvcnQgb3MKQEAgLTUxLDExICs1NCw3IEBAIGRlZiBwZXJtdXRl
X2V4cGFuc2lvbihleHBhbnNpb24sCiAKIAogIyBEdW1wcyB0aGUgdGVzdCBjb25maWcgYHNlbGVj
dGlvbmAgaW50byBhIHNlcmlhbGl6ZWQgSlNPTiBzdHJpbmcuCi0jIFdlIG9taXQgYG5hbWVgIHBh
cmFtZXRlciBiZWNhdXNlIGl0IGlzIG5vdCB1c2VkIGJ5IHRlc3RzLgogZGVmIGR1bXBfdGVzdF9w
YXJhbWV0ZXJzKHNlbGVjdGlvbik6Ci0gICAgc2VsZWN0aW9uID0gZGljdChzZWxlY3Rpb24pCi0g
ICAgZGVsIHNlbGVjdGlvblsnbmFtZSddCi0KICAgICByZXR1cm4ganNvbi5kdW1wcygKICAgICAg
ICAgc2VsZWN0aW9uLAogICAgICAgICBpbmRlbnQ9MiwKQEAgLTY0LDcgKzYzLDcgQEAgZGVmIGR1
bXBfdGVzdF9wYXJhbWV0ZXJzKHNlbGVjdGlvbik6CiAgICAgICAgIGNscz11dGlsLkN1c3RvbUVu
Y29kZXIpCiAKIAotZGVmIGdldF90ZXN0X2ZpbGVuYW1lKGNvbmZpZywgc2VsZWN0aW9uKToKK2Rl
ZiBnZXRfdGVzdF9maWxlbmFtZShzcGVjX2RpcmVjdG9yeSwgc3BlY19qc29uLCBzZWxlY3Rpb24p
OgogICAgICcnJ1JldHVybnMgdGhlIGZpbG5hbWUgZm9yIHRoZSBtYWluIHRlc3QgSFRNTCBmaWxl
JycnCiAKICAgICBzZWxlY3Rpb25fZm9yX2ZpbGVuYW1lID0gY29weS5kZWVwY29weShzZWxlY3Rp
b24pCkBAIC03Miw4ICs3MSw5IEBAIGRlZiBnZXRfdGVzdF9maWxlbmFtZShjb25maWcsIHNlbGVj
dGlvbik6CiAgICAgaWYgc2VsZWN0aW9uX2Zvcl9maWxlbmFtZVsnZGVsaXZlcnlfdmFsdWUnXSBp
cyBOb25lOgogICAgICAgICBzZWxlY3Rpb25fZm9yX2ZpbGVuYW1lWydkZWxpdmVyeV92YWx1ZSdd
ID0gJ3Vuc2V0JwogCi0gICAgcmV0dXJuIG9zLnBhdGguam9pbihjb25maWcuc3BlY19kaXJlY3Rv
cnksCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25maWcudGVzdF9maWxlX3BhdGhfcGF0dGVy
biAlIHNlbGVjdGlvbl9mb3JfZmlsZW5hbWUpCisgICAgcmV0dXJuIG9zLnBhdGguam9pbigKKyAg
ICAgICAgc3BlY19kaXJlY3RvcnksCisgICAgICAgIHNwZWNfanNvblsndGVzdF9maWxlX3BhdGhf
cGF0dGVybiddICUgc2VsZWN0aW9uX2Zvcl9maWxlbmFtZSkKIAogCiBkZWYgaGFuZGxlX2RlbGl2
ZXJpZXMocG9saWN5X2RlbGl2ZXJpZXMpOgpAQCAtMTI3LDkgKzEyNywxMSBAQCBkZWYgaGFuZGxl
X2RlbGl2ZXJpZXMocG9saWN5X2RlbGl2ZXJpZXMpOgogICAgIHJldHVybiB7Im1ldGEiOiBtZXRh
LCAiaGVhZGVycyI6IGhlYWRlcnN9CiAKIAotZGVmIGdlbmVyYXRlX3NlbGVjdGlvbihzcGVjX2pz
b24sIGNvbmZpZywgc2VsZWN0aW9uLCBzcGVjLAotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X2h0bWxfdGVtcGxhdGVfYmFzZW5hbWUpOgotICAgIHRlc3RfZmlsZW5hbWUgPSBnZXRfdGVzdF9m
aWxlbmFtZShjb25maWcsIHNlbGVjdGlvbikKK2RlZiBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19q
c29uLCBzZWxlY3Rpb24pOgorICAgICcnJworICAgIFJldHVybnMgYSBzY2VuYXJpbyBvYmplY3Qg
KHdpdGggYSB0b3AtbGV2ZWwgc291cmNlX2NvbnRleHRfbGlzdCBlbnRyeSwKKyAgICB3aGljaCB3
aWxsIGJlIHJlbW92ZWQgaW4gZ2VuZXJhdGVfdGVzdF9maWxlKCkgbGF0ZXIpLgorICAgICcnJwog
CiAgICAgdGFyZ2V0X3BvbGljeV9kZWxpdmVyeSA9IHV0aWwuUG9saWN5RGVsaXZlcnkoc2VsZWN0
aW9uWydkZWxpdmVyeV90eXBlJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZWN0aW9uWydkZWxpdmVyeV9rZXknXSwKQEAgLTE2NCwyOCArMTY2
LDYxIEBAIGRlZiBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19qc29uLCBjb25maWcsIHNlbGVjdGlv
biwgc3BlYywKICAgICAgICAgICAgIHRhcmdldF9wb2xpY3lfZGVsaXZlcnksIHNwZWNfanNvblsn
c3VicmVzb3VyY2Vfc2NoZW1hJ10KICAgICAgICAgICAgIFsnc3VwcG9ydGVkX2RlbGl2ZXJ5X3R5
cGUnXVtzZWxlY3Rpb25bJ3N1YnJlc291cmNlJ11dKQogCisgICAgIyBHZW5lcmF0ZSBwZXItc2Nl
bmFyaW8gdGVzdCBkZXNjcmlwdGlvbi4KKyAgICBzZWxlY3Rpb25bJ3Rlc3RfZGVzY3JpcHRpb24n
XSA9IHNwZWNfanNvblsKKyAgICAgICAgJ3Rlc3RfZGVzY3JpcHRpb25fdGVtcGxhdGUnXSAlIHNl
bGVjdGlvbgorCisgICAgcmV0dXJuIHNlbGVjdGlvbgorCisKK2RlZiBnZW5lcmF0ZV90ZXN0X2Zp
bGUoc3BlY19kaXJlY3RvcnksIHRlc3RfaGVscGVyX2ZpbGVuYW1lcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF9odG1sX3RlbXBsYXRlX2Jhc2VuYW1lLCB0ZXN0X2ZpbGVuYW1lLCBzY2Vu
YXJpb3MpOgorICAgICcnJworICAgIEdlbmVyYXRlcyBhIHRlc3QgSFRNTCBmaWxlIChhbmQgcG9z
c2libHkgaXRzIGFzc29jaWF0ZWQgLmhlYWRlcnMgZmlsZSkKKyAgICBmcm9tIGBzY2VuYXJpb3Ng
LgorICAgICcnJworCisgICAgIyBTY2VuYXJpb3MgZm9yIHRoZSBzYW1lIGZpbGUgc2hvdWxkIGhh
dmUgdGhlIHNhbWUgYHNvdXJjZV9jb250ZXh0X2xpc3RgLAorICAgICMgaW5jbHVkaW5nIHRoZSB0
b3AtbGV2ZWwgb25lLgorICAgICMgTm90ZTogY3VycmVudGx5LCBub24tdG9wLWxldmVsIHNvdXJj
ZSBjb250ZXh0cyBhcmVuJ3QgbmVjZXNzYXJpbHkgcmVxdWlyZWQKKyAgICAjIHRvIGJlIHRoZSBz
YW1lLCBidXQgd2Ugc2V0IHRoaXMgcmVxdWlyZW1lbnQgYXMgaXQgd2lsbCBiZSB1c2VmdWwgZS5n
LiB3aGVuCisgICAgIyB3ZSBlLmcuIHJldXNlIGEgd29ya2VyIGFtb25nIG11bHRpcGxlIHNjZW5h
cmlvcy4KKyAgICBmb3Igc2NlbmFyaW8gaW4gc2NlbmFyaW9zOgorICAgICAgICBhc3NlcnQgKHNj
ZW5hcmlvWydzb3VyY2VfY29udGV4dF9saXN0J10gPT0gc2NlbmFyaW9zWzBdCisgICAgICAgICAg
ICAgICAgWydzb3VyY2VfY29udGV4dF9saXN0J10pCisKICAgICAjIFdlIHByb2Nlc3MgdGhlIHRv
cCBzb3VyY2UgY29udGV4dCBiZWxvdywgYW5kIGRvIG5vdCBpbmNsdWRlIGl0IGluCi0gICAgIyBg
c2NlbmFyaW9gIGZpZWxkIGluIEphdmFTY3JpcHQuCi0gICAgdG9wX3NvdXJjZV9jb250ZXh0ID0g
c2VsZWN0aW9uWydzb3VyY2VfY29udGV4dF9saXN0J10ucG9wKDApCisgICAgIyB0aGUgSlNPTiBv
YmplY3RzIChpLmUuIGBzY2VuYXJpb3NgKSBpbiBnZW5lcmF0ZWQgSFRNTCBmaWxlcy4KKyAgICB0
b3Bfc291cmNlX2NvbnRleHQgPSBzY2VuYXJpb3NbMF1bJ3NvdXJjZV9jb250ZXh0X2xpc3QnXS5w
b3AoMCkKICAgICBhc3NlcnQgKHRvcF9zb3VyY2VfY29udGV4dC5zb3VyY2VfY29udGV4dF90eXBl
ID09ICd0b3AnKQorICAgIGZvciBzY2VuYXJpbyBpbiBzY2VuYXJpb3NbMTpdOgorICAgICAgICBh
c3NlcnQgKHNjZW5hcmlvWydzb3VyY2VfY29udGV4dF9saXN0J10ucG9wKDApID09IHRvcF9zb3Vy
Y2VfY29udGV4dCkKIAotICAgICMgQWRqdXN0IHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIHRlc3QgaW52
b2tpbmcgSlMuIEluZGVudCBpdCB0byBsb29rIG5pY2UuCi0gICAgaW5kZW50ID0gIlxuIiArICIg
IiAqIDgKLSAgICBzZWxlY3Rpb25bJ3NjZW5hcmlvJ10gPSBkdW1wX3Rlc3RfcGFyYW1ldGVycyhz
ZWxlY3Rpb24pLnJlcGxhY2UoCi0gICAgICAgICJcbiIsIGluZGVudCkKKyAgICBwYXJhbWV0ZXJz
ID0ge30KIAotICAgIHNlbGVjdGlvblsnc3BlY19uYW1lJ10gPSBzcGVjWyduYW1lJ10KLSAgICBz
ZWxlY3Rpb25bCi0gICAgICAgICd0ZXN0X3BhZ2VfdGl0bGUnXSA9IGNvbmZpZy50ZXN0X3BhZ2Vf
dGl0bGVfdGVtcGxhdGUgJSBzcGVjWyd0aXRsZSddCi0gICAgc2VsZWN0aW9uWydzcGVjX2Rlc2Ny
aXB0aW9uJ10gPSBzcGVjWydkZXNjcmlwdGlvbiddCi0gICAgc2VsZWN0aW9uWydzcGVjX3NwZWNp
ZmljYXRpb25fdXJsJ10gPSBzcGVjWydzcGVjaWZpY2F0aW9uX3VybCddCi0gICAgc2VsZWN0aW9u
WydoZWxwZXJfanMnXSA9IGNvbmZpZy5oZWxwZXJfanMKLSAgICBzZWxlY3Rpb25bJ3Nhbml0eV9j
aGVja2VyX2pzJ10gPSBjb25maWcuc2FuaXR5X2NoZWNrZXJfanMKLSAgICBzZWxlY3Rpb25bJ3Nw
ZWNfanNvbl9qcyddID0gY29uZmlnLnNwZWNfanNvbl9qcworICAgICMgU29ydCBzY2VuYXJpb3Ms
IHRvIGF2b2lkIHVubmVjZXNzYXJ5IGRpZmZzIGR1ZSB0byBkaWZmZXJlbnQgb3JkZXJzIGluCisg
ICAgIyBgc2NlbmFyaW9zYC4KKyAgICBzZXJpYWxpemVkX3NjZW5hcmlvcyA9IHNvcnRlZCgKKyAg
ICAgICAgW2R1bXBfdGVzdF9wYXJhbWV0ZXJzKHNjZW5hcmlvKSBmb3Igc2NlbmFyaW8gaW4gc2Nl
bmFyaW9zXSkKKworICAgIHBhcmFtZXRlcnNbJ3NjZW5hcmlvcyddID0gIixcbiIuam9pbihzZXJp
YWxpemVkX3NjZW5hcmlvcykucmVwbGFjZSgKKyAgICAgICAgIlxuIiwgIlxuIiArICIgIiAqIDEw
KQogCi0gICAgdGVzdF9oZWFkZXJzX2ZpbGVuYW1lID0gdGVzdF9maWxlbmFtZSArICIuaGVhZGVy
cyIKICAgICB0ZXN0X2RpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZSh0ZXN0X2ZpbGVuYW1lKQog
CisgICAgcGFyYW1ldGVyc1snaGVscGVyX2pzJ10gPSAiIgorICAgIGZvciB0ZXN0X2hlbHBlcl9m
aWxlbmFtZSBpbiB0ZXN0X2hlbHBlcl9maWxlbmFtZXM6CisgICAgICAgIHBhcmFtZXRlcnNbJ2hl
bHBlcl9qcyddICs9ICcgICAgPHNjcmlwdCBzcmM9IiVzIj48L3NjcmlwdD5cbicgJSAoCisgICAg
ICAgICAgICBvcy5wYXRoLnJlbHBhdGgodGVzdF9oZWxwZXJfZmlsZW5hbWUsIHRlc3RfZGlyZWN0
b3J5KSkKKyAgICBwYXJhbWV0ZXJzWydzYW5pdHlfY2hlY2tlcl9qcyddID0gb3MucGF0aC5yZWxw
YXRoKAorICAgICAgICBvcy5wYXRoLmpvaW4oc3BlY19kaXJlY3RvcnksICdnZW5lcmljJywgJ3Nh
bml0eS1jaGVja2VyLmpzJyksCisgICAgICAgIHRlc3RfZGlyZWN0b3J5KQorICAgIHBhcmFtZXRl
cnNbJ3NwZWNfanNvbl9qcyddID0gb3MucGF0aC5yZWxwYXRoKAorICAgICAgICBvcy5wYXRoLmpv
aW4oc3BlY19kaXJlY3RvcnksICdnZW5lcmljJywgJ3NwZWNfanNvbi5qcycpLAorICAgICAgICB0
ZXN0X2RpcmVjdG9yeSkKKworICAgIHRlc3RfaGVhZGVyc19maWxlbmFtZSA9IHRlc3RfZmlsZW5h
bWUgKyAiLmhlYWRlcnMiCisKICAgICB0ZXN0X2h0bWxfdGVtcGxhdGUgPSB1dGlsLmdldF90ZW1w
bGF0ZSh0ZXN0X2h0bWxfdGVtcGxhdGVfYmFzZW5hbWUpCiAgICAgZGlzY2xhaW1lcl90ZW1wbGF0
ZSA9IHV0aWwuZ2V0X3RlbXBsYXRlKCdkaXNjbGFpbWVyLnRlbXBsYXRlJykKIApAQCAtMTk0LDE1
ICsyMjksMTEgQEAgZGVmIGdlbmVyYXRlX3NlbGVjdGlvbihzcGVjX2pzb24sIGNvbmZpZywgc2Vs
ZWN0aW9uLCBzcGVjLAogICAgIGdlbmVyYXRlZF9kaXNjbGFpbWVyID0gZGlzY2xhaW1lcl90ZW1w
bGF0ZSBcCiAgICAgICAgICUgeydnZW5lcmF0aW5nX3NjcmlwdF9maWxlbmFtZSc6IG9zLnBhdGgu
cmVscGF0aChzeXMuYXJndlswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSksCi0gICAgICAg
ICAgICdodG1sX3RlbXBsYXRlX2ZpbGVuYW1lJzogb3MucGF0aC5yZWxwYXRoKGh0bWxfdGVtcGxh
dGVfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSl9CisgICAgICAgICAgICdzcGVjX2Rp
cmVjdG9yeSc6IG9zLnBhdGgucmVscGF0aChzcGVjX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSl9
CiAKICAgICAjIEFkanVzdCB0aGUgdGVtcGxhdGUgZm9yIHRoZSB0ZXN0IGludm9raW5nIEpTLiBJ
bmRlbnQgaXQgdG8gbG9vayBuaWNlLgotICAgIHNlbGVjdGlvblsnZ2VuZXJhdGVkX2Rpc2NsYWlt
ZXInXSA9IGdlbmVyYXRlZF9kaXNjbGFpbWVyLnJzdHJpcCgpCi0gICAgc2VsZWN0aW9uWwotICAg
ICAgICAndGVzdF9kZXNjcmlwdGlvbiddID0gY29uZmlnLnRlc3RfZGVzY3JpcHRpb25fdGVtcGxh
dGUgJSBzZWxlY3Rpb24KLSAgICBzZWxlY3Rpb25bJ3Rlc3RfZGVzY3JpcHRpb24nXSA9IFwKLSAg
ICAgICAgc2VsZWN0aW9uWyd0ZXN0X2Rlc2NyaXB0aW9uJ10ucnN0cmlwKCkucmVwbGFjZSgiXG4i
LCAiXG4iICsgIiAiICogMzMpCisgICAgcGFyYW1ldGVyc1snZ2VuZXJhdGVkX2Rpc2NsYWltZXIn
XSA9IGdlbmVyYXRlZF9kaXNjbGFpbWVyLnJzdHJpcCgpCiAKICAgICAjIERpcmVjdG9yeSBmb3Ig
dGhlIHRlc3QgZmlsZXMuCiAgICAgdHJ5OgpAQCAtMjE3LDQyICsyNDgsNTQgQEAgZGVmIGdlbmVy
YXRlX3NlbGVjdGlvbihzcGVjX2pzb24sIGNvbmZpZywgc2VsZWN0aW9uLCBzcGVjLAogICAgICAg
ICAgICAgZm9yIGhlYWRlciBpbiBkZWxpdmVyeVsnaGVhZGVycyddOgogICAgICAgICAgICAgICAg
IGYud3JpdGUoJyVzOiAlc1xuJyAlIChoZWFkZXIsIGRlbGl2ZXJ5WydoZWFkZXJzJ11baGVhZGVy
XSkpCiAKLSAgICBzZWxlY3Rpb25bJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10gPSBkZWxpdmVyeVsn
bWV0YSddCisgICAgcGFyYW1ldGVyc1snbWV0YV9kZWxpdmVyeV9tZXRob2QnXSA9IGRlbGl2ZXJ5
WydtZXRhJ10KICAgICAjIE9iZXkgdGhlIGxpbnQgYW5kIHByZXR0eSBmb3JtYXQuCi0gICAgaWYg
bGVuKHNlbGVjdGlvblsnbWV0YV9kZWxpdmVyeV9tZXRob2QnXSkgPiAwOgotICAgICAgICBzZWxl
Y3Rpb25bJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10gPSAiXG4gICAgIiArIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uWydtZXRhX2RlbGl2ZXJ5
X21ldGhvZCddCisgICAgaWYgbGVuKHBhcmFtZXRlcnNbJ21ldGFfZGVsaXZlcnlfbWV0aG9kJ10p
ID4gMDoKKyAgICAgICAgcGFyYW1ldGVyc1snbWV0YV9kZWxpdmVyeV9tZXRob2QnXSA9ICJcbiAg
ICAiICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJh
bWV0ZXJzWydtZXRhX2RlbGl2ZXJ5X21ldGhvZCddCiAKICAgICAjIFdyaXRlIG91dCB0aGUgZ2Vu
ZXJhdGVkIEhUTUwgZmlsZS4KLSAgICB1dGlsLndyaXRlX2ZpbGUodGVzdF9maWxlbmFtZSwgdGVz
dF9odG1sX3RlbXBsYXRlICUgc2VsZWN0aW9uKQorICAgIHV0aWwud3JpdGVfZmlsZSh0ZXN0X2Zp
bGVuYW1lLCB0ZXN0X2h0bWxfdGVtcGxhdGUgJSBwYXJhbWV0ZXJzKQogCiAKLWRlZiBnZW5lcmF0
ZV90ZXN0X3NvdXJjZV9maWxlcyhjb25maWcsIHNwZWNfanNvbiwgdGFyZ2V0KToKK2RlZiBnZW5l
cmF0ZV90ZXN0X3NvdXJjZV9maWxlcyhzcGVjX2RpcmVjdG9yeSwgdGVzdF9oZWxwZXJfZmlsZW5h
bWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNfanNvbiwgdGFyZ2V0KToK
ICAgICB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEgPSBzcGVjX2pzb25bJ3Rlc3RfZXhwYW5zaW9uX3Nj
aGVtYSddCiAgICAgc3BlY2lmaWNhdGlvbiA9IHNwZWNfanNvblsnc3BlY2lmaWNhdGlvbiddCiAK
LSAgICBzcGVjX2pzb25fanNfdGVtcGxhdGUgPSB1dGlsLmdldF90ZW1wbGF0ZSgnc3BlY19qc29u
LmpzLnRlbXBsYXRlJykKLSAgICBnZW5lcmF0ZWRfc3BlY19qc29uX2ZpbGVuYW1lID0gb3MucGF0
aC5qb2luKGNvbmZpZy5zcGVjX2RpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzcGVjX2pzb24uanMiKQotICAgIHV0aWwud3JpdGVfZmls
ZSgKLSAgICAgICAgZ2VuZXJhdGVkX3NwZWNfanNvbl9maWxlbmFtZSwKLSAgICAgICAgc3BlY19q
c29uX2pzX3RlbXBsYXRlICUgeydzcGVjX2pzb24nOiBqc29uLmR1bXBzKHNwZWNfanNvbil9KQor
ICAgIGlmIHRhcmdldCA9PSAiZGVidWciOgorICAgICAgICBzcGVjX2pzb25fanNfdGVtcGxhdGUg
PSB1dGlsLmdldF90ZW1wbGF0ZSgnc3BlY19qc29uLmpzLnRlbXBsYXRlJykKKyAgICAgICAgdXRp
bC53cml0ZV9maWxlKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNwZWNfZGlyZWN0b3J5LCAi
Z2VuZXJpYyIsICJzcGVjX2pzb24uanMiKSwKKyAgICAgICAgICAgIHNwZWNfanNvbl9qc190ZW1w
bGF0ZSAlIHsnc3BlY19qc29uJzoganNvbi5kdW1wcyhzcGVjX2pzb24pfSkKKyAgICAgICAgdXRp
bC53cml0ZV9maWxlKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNwZWNfZGlyZWN0b3J5LCAi
Z2VuZXJpYyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgImRlYnVnLW91dHB1dC5zcGVjLnNy
Yy5qc29uIiksCisgICAgICAgICAgICBqc29uLmR1bXBzKHNwZWNfanNvbiwgaW5kZW50PTIsIHNl
cGFyYXRvcnM9KCcsJywgJzogJykpKQogCiAgICAgIyBDaG9vc2UgYSBkZWJ1Zy9yZWxlYXNlIHRl
bXBsYXRlIGRlcGVuZGluZyBvbiB0aGUgdGFyZ2V0LgogICAgIGh0bWxfdGVtcGxhdGUgPSAidGVz
dC4lcy5odG1sLnRlbXBsYXRlIiAlIHRhcmdldAogCi0gICAgYXJ0aWZhY3Rfb3JkZXIgPSB0ZXN0
X2V4cGFuc2lvbl9zY2hlbWEua2V5cygpICsgWyduYW1lJ10KKyAgICBhcnRpZmFjdF9vcmRlciA9
IHRlc3RfZXhwYW5zaW9uX3NjaGVtYS5rZXlzKCkKICAgICBhcnRpZmFjdF9vcmRlci5yZW1vdmUo
J2V4cGFuc2lvbicpCiAKKyAgICBleGNsdWRlZF9zZWxlY3Rpb25fcGF0dGVybiA9ICcnCisgICAg
Zm9yIGtleSBpbiBhcnRpZmFjdF9vcmRlcjoKKyAgICAgICAgZXhjbHVkZWRfc2VsZWN0aW9uX3Bh
dHRlcm4gKz0gJyUoJyArIGtleSArICcpcy8nCisKICAgICAjIENyZWF0ZSBsaXN0IG9mIGV4Y2x1
ZGVkIHRlc3RzLgotICAgIGV4Y2x1c2lvbl9kaWN0ID0ge30KKyAgICBleGNsdXNpb25fZGljdCA9
IHNldCgpCiAgICAgZm9yIGV4Y2x1ZGVkX3BhdHRlcm4gaW4gc3BlY19qc29uWydleGNsdWRlZF90
ZXN0cyddOgogICAgICAgICBleGNsdWRlZF9leHBhbnNpb24gPSBcCiAgICAgICAgICAgICBleHBh
bmRfcGF0dGVybihleGNsdWRlZF9wYXR0ZXJuLCB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEpCiAgICAg
ICAgIGZvciBleGNsdWRlZF9zZWxlY3Rpb24gaW4gcGVybXV0ZV9leHBhbnNpb24oZXhjbHVkZWRf
ZXhwYW5zaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFydGlmYWN0X29yZGVyKToKLSAgICAgICAgICAgIGV4Y2x1ZGVkX3NlbGVjdGlvbl9w
YXRoID0gY29uZmlnLnNlbGVjdGlvbl9wYXR0ZXJuICUgZXhjbHVkZWRfc2VsZWN0aW9uCi0gICAg
ICAgICAgICBleGNsdXNpb25fZGljdFtleGNsdWRlZF9zZWxlY3Rpb25fcGF0aF0gPSBUcnVlCisg
ICAgICAgICAgICBleGNsdWRlZF9zZWxlY3Rpb25bJ2RlbGl2ZXJ5X2tleSddID0gc3BlY19qc29u
WydkZWxpdmVyeV9rZXknXQorICAgICAgICAgICAgZXhjbHVzaW9uX2RpY3QuYWRkKGV4Y2x1ZGVk
X3NlbGVjdGlvbl9wYXR0ZXJuICUgZXhjbHVkZWRfc2VsZWN0aW9uKQorCisgICAgIyBgc2NlbmFy
aW9zW2ZpbGVuYW1lXWAgcmVwcmVzZW50cyB0aGUgbGlzdCBvZiBzY2VuYXJpbyBvYmplY3RzIHRv
IGJlCisgICAgIyBnZW5lcmF0ZWQgaW50byBgZmlsZW5hbWVgLgorICAgIHNjZW5hcmlvcyA9IHt9
CiAKICAgICBmb3Igc3BlYyBpbiBzcGVjaWZpY2F0aW9uOgogICAgICAgICAjIFVzZWQgdG8gbWFr
ZSBlbnRyaWVzIHdpdGggZXhwYW5zaW9uPSJvdmVycmlkZSIgb3ZlcnJpZGUgcHJlY2VkaW5nCkBA
IC0yNjQsMjkgKzMwNyw1MSBAQCBkZWYgZ2VuZXJhdGVfdGVzdF9zb3VyY2VfZmlsZXMoY29uZmln
LCBzcGVjX2pzb24sIHRhcmdldCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X2V4cGFuc2lvbl9zY2hlbWEpCiAgICAgICAgICAgICBmb3Igc2VsZWN0aW9uIGlu
IHBlcm11dGVfZXhwYW5zaW9uKGV4cGFuc2lvbiwgYXJ0aWZhY3Rfb3JkZXIpOgogICAgICAgICAg
ICAgICAgIHNlbGVjdGlvblsnZGVsaXZlcnlfa2V5J10gPSBzcGVjX2pzb25bJ2RlbGl2ZXJ5X2tl
eSddCi0gICAgICAgICAgICAgICAgc2VsZWN0aW9uX3BhdGggPSBjb25maWcuc2VsZWN0aW9uX3Bh
dHRlcm4gJSBzZWxlY3Rpb24KLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZWN0aW9uX3BhdGgg
aW4gZXhjbHVzaW9uX2RpY3Q6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGVjdGlvbl9wYXRo
IGluIG91dHB1dF9kaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXhwYW5zaW9uX3Bh
dHRlcm5bJ2V4cGFuc2lvbiddICE9ICdvdmVycmlkZSc6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJpbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvcjogJXMn
cyBleHBhbnNpb24gaXMgZGVmYXVsdCBidXQgb3ZlcnJpZGVzICVzIgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAlIChzZWxlY3Rpb25bJ25hbWUnXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3V0cHV0X2RpY3Rbc2VsZWN0aW9uX3BhdGhdWyduYW1lJ10pKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICAgICAg
ICAgIG91dHB1dF9kaWN0W3NlbGVjdGlvbl9wYXRoXSA9IGNvcHkuZGVlcGNvcHkoc2VsZWN0aW9u
KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KCdFeGNs
dWRpbmcgc2VsZWN0aW9uOicsIHNlbGVjdGlvbl9wYXRoKQorICAgICAgICAgICAgICAgIHNlbGVj
dGlvbl9wYXRoID0gc3BlY19qc29uWydzZWxlY3Rpb25fcGF0dGVybiddICUgc2VsZWN0aW9uCisg
ICAgICAgICAgICAgICAgaWYgc2VsZWN0aW9uX3BhdGggaW4gb3V0cHV0X2RpY3Q6CisgICAgICAg
ICAgICAgICAgICAgIGlmIGV4cGFuc2lvbl9wYXR0ZXJuWydleHBhbnNpb24nXSAhPSAnb3ZlcnJp
ZGUnOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIkVycm9yOiBleHBhbnNpb24gaXMg
ZGVmYXVsdCBpbjoiKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZHVtcF90ZXN0X3Bh
cmFtZXRlcnMoc2VsZWN0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCJidXQg
b3ZlcnJpZGVzOiIpCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludChkdW1wX3Rlc3RfcGFy
YW1ldGVycygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGljdFtzZWxlY3Rp
b25fcGF0aF0pKQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAg
ICAgICAgICBvdXRwdXRfZGljdFtzZWxlY3Rpb25fcGF0aF0gPSBjb3B5LmRlZXBjb3B5KHNlbGVj
dGlvbikKIAogICAgICAgICBmb3Igc2VsZWN0aW9uX3BhdGggaW4gb3V0cHV0X2RpY3Q6CiAgICAg
ICAgICAgICBzZWxlY3Rpb24gPSBvdXRwdXRfZGljdFtzZWxlY3Rpb25fcGF0aF0KKyAgICAgICAg
ICAgIGlmIChleGNsdWRlZF9zZWxlY3Rpb25fcGF0dGVybiAlIHNlbGVjdGlvbikgaW4gZXhjbHVz
aW9uX2RpY3Q6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0V4Y2x1ZGluZyBzZWxlY3Rpb246Jywg
c2VsZWN0aW9uX3BhdGgpCisgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHRy
eToKLSAgICAgICAgICAgICAgICBnZW5lcmF0ZV9zZWxlY3Rpb24oc3BlY19qc29uLCBjb25maWcs
IHNlbGVjdGlvbiwgc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRt
bF90ZW1wbGF0ZSkKKyAgICAgICAgICAgICAgICB0ZXN0X2ZpbGVuYW1lID0gZ2V0X3Rlc3RfZmls
ZW5hbWUoc3BlY19kaXJlY3RvcnksIHNwZWNfanNvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uKQorICAgICAgICAgICAgICAgIHNj
ZW5hcmlvID0gZ2VuZXJhdGVfc2VsZWN0aW9uKHNwZWNfanNvbiwgc2VsZWN0aW9uKQorICAgICAg
ICAgICAgICAgIHNjZW5hcmlvc1t0ZXN0X2ZpbGVuYW1lXSA9IHNjZW5hcmlvcy5nZXQodGVzdF9m
aWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtdKSArIFtzY2VuYXJpb10KICAgICAgICAgICAgIGV4Y2VwdCB1dGlsLlNob3Vs
ZFNraXA6CiAgICAgICAgICAgICAgICAgY29udGludWUKIAorICAgIGZvciBmaWxlbmFtZSBpbiBz
Y2VuYXJpb3M6CisgICAgICAgIGdlbmVyYXRlX3Rlc3RfZmlsZShzcGVjX2RpcmVjdG9yeSwgdGVz
dF9oZWxwZXJfZmlsZW5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbF90ZW1w
bGF0ZSwgZmlsZW5hbWUsIHNjZW5hcmlvc1tmaWxlbmFtZV0pCiAKLWRlZiBtYWluKGNvbmZpZyk6
CisKK2RlZiBtZXJnZV9qc29uKGJhc2UsIGNoaWxkKToKKyAgICBmb3Iga2V5IGluIGNoaWxkOgor
ICAgICAgICBpZiBrZXkgbm90IGluIGJhc2U6CisgICAgICAgICAgICBiYXNlW2tleV0gPSBjaGls
ZFtrZXldCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAjIGBiYXNlW2tleV1gIGFuZCBg
Y2hpbGRba2V5XWAgYm90aCBleGlzdHMuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYmFzZVtrZXld
LCBsaXN0KSBhbmQgaXNpbnN0YW5jZShjaGlsZFtrZXldLCBsaXN0KToKKyAgICAgICAgICAgIGJh
c2Vba2V5XS5leHRlbmQoY2hpbGRba2V5XSkKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGJhc2Vb
a2V5XSwgZGljdCkgYW5kIGlzaW5zdGFuY2UoY2hpbGRba2V5XSwgZGljdCk6CisgICAgICAgICAg
ICBtZXJnZV9qc29uKGJhc2Vba2V5XSwgY2hpbGRba2V5XSkKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgIGJhc2Vba2V5XSA9IGNoaWxkW2tleV0KKworCitkZWYgbWFpbigpOgogICAgIHBhcnNl
ciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKAogICAgICAgICBkZXNjcmlwdGlvbj0nVGVzdCBz
dWl0ZSBnZW5lcmF0b3IgdXRpbGl0eScpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKQEAgLTMw
MCwxNiArMzY1LDUzIEBAIGRlZiBtYWluKGNvbmZpZyk6CiAgICAgICAgICctcycsCiAgICAgICAg
ICctLXNwZWMnLAogICAgICAgICB0eXBlPXN0ciwKLSAgICAgICAgZGVmYXVsdD1Ob25lLAorICAg
ICAgICBkZWZhdWx0PW9zLmdldGN3ZCgpLAogICAgICAgICBoZWxwPSdTcGVjaWZ5IGEgZmlsZSB1
c2VkIGZvciBkZXNjcmliaW5nIGFuZCBnZW5lcmF0aW5nIHRoZSB0ZXN0cycpCiAgICAgIyBUT0RP
KGtyaXN0aWphbmJ1cm5payk6IEFkZCBvcHRpb24gZm9yIHRoZSBzcGVjX2pzb24gZmlsZS4KICAg
ICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogCi0gICAgaWYgYXJncy5zcGVjOgotICAgICAg
ICBjb25maWcuc3BlY19kaXJlY3RvcnkgPSBhcmdzLnNwZWMKKyAgICBzcGVjX2RpcmVjdG9yeSA9
IG9zLnBhdGguYWJzcGF0aChhcmdzLnNwZWMpCisKKyAgICAjIFJlYWQgYHNwZWMuc3JjLmpzb25g
IGZpbGVzLCBzdGFydGluZyBmcm9tIGBzcGVjX2RpcmVjdG9yeWAsIGFuZAorICAgICMgY29udGlu
dWluZyB0byBwYXJlbnQgZGlyZWN0b3JpZXMgYXMgbG9uZyBhcyBgc3BlYy5zcmMuanNvbmAgZXhp
c3RzLgorICAgIHNwZWNfZmlsZW5hbWVzID0gW10KKyAgICB0ZXN0X2hlbHBlcl9maWxlbmFtZXMg
PSBbXQorICAgIHNwZWNfc3JjX2RpcmVjdG9yeSA9IHNwZWNfZGlyZWN0b3J5CisgICAgd2hpbGUg
bGVuKHNwZWNfc3JjX2RpcmVjdG9yeSkgPj0gbGVuKHV0aWwudGVzdF9yb290X2RpcmVjdG9yeSk6
CisgICAgICAgIHNwZWNfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oc3BlY19zcmNfZGlyZWN0b3J5
LCAic3BlYy5zcmMuanNvbiIpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzcGVjX2Zp
bGVuYW1lKToKKyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNwZWNfZmlsZW5hbWVzLmFwcGVu
ZChzcGVjX2ZpbGVuYW1lKQorICAgICAgICB0ZXN0X2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHNw
ZWNfc3JjX2RpcmVjdG9yeSwgJ2dlbmVyaWMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd0ZXN0LWNhc2Uuc3ViLmpzJykKKyAgICAgICAgYXNzZXJ0IChvcy5wYXRoLmV4
aXN0cyh0ZXN0X2ZpbGVuYW1lKSkKKyAgICAgICAgdGVzdF9oZWxwZXJfZmlsZW5hbWVzLmFwcGVu
ZCh0ZXN0X2ZpbGVuYW1lKQorICAgICAgICBzcGVjX3NyY19kaXJlY3RvcnkgPSBvcy5wYXRoLmFi
c3BhdGgoCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3BlY19zcmNfZGlyZWN0b3J5LCAiLi4i
KSkKKworICAgIHNwZWNfZmlsZW5hbWVzID0gbGlzdChyZXZlcnNlZChzcGVjX2ZpbGVuYW1lcykp
CisgICAgdGVzdF9oZWxwZXJfZmlsZW5hbWVzID0gbGlzdChyZXZlcnNlZCh0ZXN0X2hlbHBlcl9m
aWxlbmFtZXMpKQorCisgICAgaWYgbGVuKHNwZWNfZmlsZW5hbWVzKSA9PSAwOgorICAgICAgICBw
cmludCgnRXJyb3I6IE5vIHNwZWMuc3JjLmpzb24gaXMgZm91bmQgYXQgJXMuJyAlIHNwZWNfZGly
ZWN0b3J5KQorICAgICAgICByZXR1cm4KKworICAgICMgTG9hZCB0aGUgZGVmYXVsdCBzcGVjIEpT
T04gZmlsZSwgLi4uCisgICAgZGVmYXVsdF9zcGVjX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHV0
aWwuc2NyaXB0X2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3NwZWMuc3JjLmpzb24nKQorICAgIHNwZWNfanNvbiA9IGNvbGxlY3Rpb25zLk9yZGVy
ZWREaWN0KCkKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhkZWZhdWx0X3NwZWNfZmlsZW5hbWUpOgor
ICAgICAgICBzcGVjX2pzb24gPSB1dGlsLmxvYWRfc3BlY19qc29uKGRlZmF1bHRfc3BlY19maWxl
bmFtZSkKKworICAgICMgLi4uIGFuZCB0aGVuIG1ha2Ugc3BlYyBKU09OIGZpbGVzIGluIHN1YmRp
cmVjdG9yaWVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0LgorICAgIGZvciBzcGVjX2ZpbGVuYW1lIGlu
IHNwZWNfZmlsZW5hbWVzOgorICAgICAgICBjaGlsZF9zcGVjX2pzb24gPSB1dGlsLmxvYWRfc3Bl
Y19qc29uKHNwZWNfZmlsZW5hbWUpCisgICAgICAgIG1lcmdlX2pzb24oc3BlY19qc29uLCBjaGls
ZF9zcGVjX2pzb24pCiAKLSAgICBzcGVjX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKGNvbmZpZy5z
cGVjX2RpcmVjdG9yeSwgInNwZWMuc3JjLmpzb24iKQotICAgIHNwZWNfanNvbiA9IHV0aWwubG9h
ZF9zcGVjX2pzb24oc3BlY19maWxlbmFtZSkKICAgICBzcGVjX3ZhbGlkYXRvci5hc3NlcnRfdmFs
aWRfc3BlY19qc29uKHNwZWNfanNvbikKKyAgICBnZW5lcmF0ZV90ZXN0X3NvdXJjZV9maWxlcyhz
cGVjX2RpcmVjdG9yeSwgdGVzdF9oZWxwZXJfZmlsZW5hbWVzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNwZWNfanNvbiwgYXJncy50YXJnZXQpCisKIAotICAgIGdlbmVyYXRlX3Rl
c3Rfc291cmNlX2ZpbGVzKGNvbmZpZywgc3BlY19qc29uLCBhcmdzLnRhcmdldCkKK2lmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90
b29scy9zcGVjLnNyYy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlYy5zcmMuanNvbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YzhmOTdhZDJlZWYyMmE0MWRjNDg2MThlOGZlNTNiOTEzYzI1OWE0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvc3BlYy5zcmMuanNvbgpAQCAtMCwwICsxLDU0
NiBAQAoreworICAic2VsZWN0aW9uX3BhdHRlcm4iOiAiJShzb3VyY2VfY29udGV4dF9saXN0KXMu
JShkZWxpdmVyeV90eXBlKXMvJShkZWxpdmVyeV92YWx1ZSlzLyUoc3VicmVzb3VyY2Upcy8lKG9y
aWdpbilzLiUocmVkaXJlY3Rpb24pcy4lKHNvdXJjZV9zY2hlbWUpcyIsCisgICJ0ZXN0X2ZpbGVf
cGF0aF9wYXR0ZXJuIjogImdlbi8lKHNvdXJjZV9jb250ZXh0X2xpc3Qpcy4lKGRlbGl2ZXJ5X3R5
cGUpcy8lKGRlbGl2ZXJ5X3ZhbHVlKXMvJShzdWJyZXNvdXJjZSlzLiUoc291cmNlX3NjaGVtZSlz
Lmh0bWwiLAorICAiZXhjbHVkZWRfdGVzdHMiOiBbCisgICAgeworICAgICAgLy8gV29ya2VycyBh
cmUgc2FtZS1vcmlnaW4gb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3Vy
Y2Vfc2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAg
ICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAg
ICAgICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6IFsKKyAgICAgICAg
Indvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgIndvcmtlci1tb2R1bGUiLAorICAgICAgICAic2hh
cmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAic2hhcmVkd29ya2VyLW1vZHVsZSIKKyAgICAg
IF0sCisgICAgICAib3JpZ2luIjogWworICAgICAgICAiY3Jvc3MtaHR0cHMiLAorICAgICAgICAi
Y3Jvc3MtaHR0cCIsCisgICAgICAgICJjcm9zcy1odHRwLWRvd25ncmFkZSIsCisgICAgICAgICJj
cm9zcy13c3MiLAorICAgICAgICAiY3Jvc3Mtd3MiLAorICAgICAgICAiY3Jvc3Mtd3MtZG93bmdy
YWRlIgorICAgICAgXSwKKyAgICAgICJleHBlY3RhdGlvbiI6ICIqIgorICAgIH0sCisgICAgewor
ICAgICAgLy8gV29ya2VycyBhcmUgc2FtZS1vcmlnaW4gb25seSAocmVkaXJlY3RzKQorICAgICAg
ImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3VyY2Vfc2NoZW1lIjogIioiLAorICAgICAgInNv
dXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAgICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAg
ICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAgICAgICJyZWRpcmVjdGlvbiI6IFsKKyAgICAg
ICAgInN3YXAtb3JpZ2luIiwKKyAgICAgICAgInN3YXAtc2NoZW1lIgorICAgICAgXSwKKyAgICAg
ICJzdWJyZXNvdXJjZSI6IFsKKyAgICAgICAgIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgIndv
cmtlci1tb2R1bGUiLAorICAgICAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAi
c2hhcmVkd29ya2VyLW1vZHVsZSIKKyAgICAgIF0sCisgICAgICAib3JpZ2luIjogIioiLAorICAg
ICAgImV4cGVjdGF0aW9uIjogIioiCisgICAgfSwKKyAgICB7CisgICAgICAvLyBXZWJzb2NrZXRz
IGFyZSB3cy93c3Mtb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwKKyAgICAgICJzb3VyY2Vf
c2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiAiKiIsCisgICAgICAi
ZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1ZSI6ICIqIiwKKyAgICAg
ICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6ICJ3ZWJzb2NrZXQiLAor
ICAgICAgIm9yaWdpbiI6IFsKKyAgICAgICAgInNhbWUtaHR0cHMiLAorICAgICAgICAic2FtZS1o
dHRwIiwKKyAgICAgICAgInNhbWUtaHR0cC1kb3duZ3JhZGUiLAorICAgICAgICAiY3Jvc3MtaHR0
cHMiLAorICAgICAgICAiY3Jvc3MtaHR0cCIsCisgICAgICAgICJjcm9zcy1odHRwLWRvd25ncmFk
ZSIKKyAgICAgIF0sCisgICAgICAiZXhwZWN0YXRpb24iOiAiKiIKKyAgICB9LAorICAgIHsKKyAg
ICAgIC8vIFJlZGlyZWN0cyBhcmUgaW50ZW50aW9uYWxseSBmb3JiaWRkZW4gaW4gYnJvd3NlcnM6
CisgICAgICAvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC13ZWJzb2Nr
ZXQtZXN0YWJsaXNoCisgICAgICAvLyBXZWJzb2NrZXRzIGFyZSBuby1yZWRpcmVjdCBvbmx5Cisg
ICAgICAiZXhwYW5zaW9uIjogIioiLAorICAgICAgInNvdXJjZV9zY2hlbWUiOiAiKiIsCisgICAg
ICAic291cmNlX2NvbnRleHRfbGlzdCI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV90eXBlIjogIioi
LAorICAgICAgImRlbGl2ZXJ5X3ZhbHVlIjogIioiLAorICAgICAgInJlZGlyZWN0aW9uIjogWwor
ICAgICAgICAia2VlcC1vcmlnaW4iLAorICAgICAgICAic3dhcC1vcmlnaW4iLAorICAgICAgICAi
a2VlcC1zY2hlbWUiLAorICAgICAgICAic3dhcC1zY2hlbWUiLAorICAgICAgICAiZG93bmdyYWRl
IgorICAgICAgXSwKKyAgICAgICJzdWJyZXNvdXJjZSI6ICJ3ZWJzb2NrZXQiLAorICAgICAgIm9y
aWdpbiI6ICIqIiwKKyAgICAgICJleHBlY3RhdGlvbiI6ICIqIgorICAgIH0sCisgICAgeworICAg
ICAgLy8gd3Mvd3NzIGFyZSB3ZWJzb2NrZXQtb25seQorICAgICAgImV4cGFuc2lvbiI6ICIqIiwK
KyAgICAgICJzb3VyY2Vfc2NoZW1lIjogIioiLAorICAgICAgInNvdXJjZV9jb250ZXh0X2xpc3Qi
OiAiKiIsCisgICAgICAiZGVsaXZlcnlfdHlwZSI6ICIqIiwKKyAgICAgICJkZWxpdmVyeV92YWx1
ZSI6ICIqIiwKKyAgICAgICJyZWRpcmVjdGlvbiI6ICIqIiwKKyAgICAgICJzdWJyZXNvdXJjZSI6
IFsKKyAgICAgICAgImFyZWEtdGFnIiwKKyAgICAgICAgImEtdGFnIiwKKyAgICAgICAgImZldGNo
IiwKKyAgICAgICAgImlmcmFtZS10YWciLAorICAgICAgICAiaW1nLXRhZyIsCisgICAgICAgICJz
Y3JpcHQtdGFnIiwKKyAgICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgInNo
YXJlZHdvcmtlci1pbXBvcnQiLAorICAgICAgICAic2hhcmVkd29ya2VyLWltcG9ydC1kYXRhIiwK
KyAgICAgICAgInNoYXJlZHdvcmtlci1tb2R1bGUiLAorICAgICAgICAid29ya2VyLWNsYXNzaWMi
LAorICAgICAgICAid29ya2VyLWltcG9ydCIsCisgICAgICAgICJ3b3JrZXItaW1wb3J0LWRhdGEi
LAorICAgICAgICAid29ya2VyLW1vZHVsZSIsCisgICAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbiIs
CisgICAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbi1pbXBvcnQtZGF0YSIsCisgICAgICAgICJ3b3Jr
bGV0LWF1ZGlvIiwKKyAgICAgICAgIndvcmtsZXQtYXVkaW8taW1wb3J0LWRhdGEiLAorICAgICAg
ICAid29ya2xldC1sYXlvdXQiLAorICAgICAgICAid29ya2xldC1sYXlvdXQtaW1wb3J0LWRhdGEi
LAorICAgICAgICAid29ya2xldC1wYWludCIsCisgICAgICAgICJ3b3JrbGV0LXBhaW50LWltcG9y
dC1kYXRhIiwKKyAgICAgICAgInhociIKKyAgICAgIF0sCisgICAgICAib3JpZ2luIjogWworICAg
ICAgICAic2FtZS13c3MiLAorICAgICAgICAic2FtZS13cyIsCisgICAgICAgICJzYW1lLXdzLWRv
d25ncmFkZSIsCisgICAgICAgICJjcm9zcy13c3MiLAorICAgICAgICAiY3Jvc3Mtd3MiLAorICAg
ICAgICAiY3Jvc3Mtd3MtZG93bmdyYWRlIgorICAgICAgXSwKKyAgICAgICJleHBlY3RhdGlvbiI6
ICIqIgorICAgIH0KKyAgXSwKKyAgInNvdXJjZV9jb250ZXh0X3NjaGVtYSI6IHsKKyAgICAic3Vw
cG9ydGVkX3N1YnJlc291cmNlIjogeworICAgICAgInRvcCI6ICIqIiwKKyAgICAgICJpZnJhbWUi
OiAiKiIsCisgICAgICAiaWZyYW1lLWJsYW5rIjogIioiLAorICAgICAgInNyY2RvYyI6ICIqIiwK
KyAgICAgICJ3b3JrZXItY2xhc3NpYyI6IFsKKyAgICAgICAgInhociIsCisgICAgICAgICJmZXRj
aCIsCisgICAgICAgICJ3ZWJzb2NrZXQiLAorICAgICAgICAid29ya2VyLWNsYXNzaWMiLAorICAg
ICAgICAid29ya2VyLW1vZHVsZSIKKyAgICAgIF0sCisgICAgICAid29ya2VyLW1vZHVsZSI6IFsK
KyAgICAgICAgInhociIsCisgICAgICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiLAor
ICAgICAgICAid29ya2VyLWNsYXNzaWMiLAorICAgICAgICAid29ya2VyLW1vZHVsZSIKKyAgICAg
IF0sCisgICAgICAid29ya2VyLWNsYXNzaWMtZGF0YSI6IFsKKyAgICAgICAgInhociIsCisgICAg
ICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAgIndvcmtl
ci1tb2R1bGUtZGF0YSI6IFsKKyAgICAgICAgInhociIsCisgICAgICAgICJmZXRjaCIsCisgICAg
ICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljIjog
WworICAgICAgICAieGhyIiwKKyAgICAgICAgImZldGNoIiwKKyAgICAgICAgIndlYnNvY2tldCIK
KyAgICAgIF0sCisgICAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IFsKKyAgICAgICAgInhociIs
CisgICAgICAgICJmZXRjaCIsCisgICAgICAgICJ3ZWJzb2NrZXQiCisgICAgICBdLAorICAgICAg
InNoYXJlZHdvcmtlci1jbGFzc2ljLWRhdGEiOiBbCisgICAgICAgICJ4aHIiLAorICAgICAgICAi
ZmV0Y2giLAorICAgICAgICAid2Vic29ja2V0IgorICAgICAgXSwKKyAgICAgICJzaGFyZWR3b3Jr
ZXItbW9kdWxlLWRhdGEiOiBbCisgICAgICAgICJ4aHIiLAorICAgICAgICAiZmV0Y2giLAorICAg
ICAgICAid2Vic29ja2V0IgorICAgICAgXQorICAgIH0KKyAgfSwKKyAgInNvdXJjZV9jb250ZXh0
X2xpc3Rfc2NoZW1hIjogeworICAgIC8vIFdhcm5pbmc6IEN1cnJlbnRseSwgc29tZSBuZXN0ZWQg
cGF0dGVybnMgb2YgY29udGV4dHMgaGF2ZSBkaWZmZXJlbnQKKyAgICAvLyBpbmhlcml0YW5jZSBy
dWxlcyBmb3IgZGlmZmVyZW50IGtpbmRzIG9mIHBvbGljaWVzLgorICAgIC8vIFRoZSBnZW5lcmF0
ZWQgdGVzdHMgd2lsbCBiZSB1c2VkIHRvIHRlc3QvaW52ZXN0aWdhdGUgdGhlIHBvbGljeQorICAg
IC8vIGluaGVyaXRhbmNlIHJ1bGVzLCBhbmQgZXZlbnR1YWxseSB0aGUgcG9saWN5IGluaGVyaXRh
bmNlIHJ1bGVzIHdpbGwKKyAgICAvLyBiZSB1bmlmaWVkIChodHRwczovL2dpdGh1Yi5jb20vdzNj
dGFnL2Rlc2lnbi1wcmluY2lwbGVzL2lzc3Vlcy8xMTEpLgorICAgICJ0b3AiOiB7CisgICAgICAi
ZGVzY3JpcHRpb24iOiAiUG9saWN5IHNldCBieSB0aGUgdG9wLWxldmVsIERvY3VtZW50IiwKKyAg
ICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VD
b250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAg
ICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAg
ICAic3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJyZXEiOiB7
CisgICAgICAiZGVzY3JpcHRpb24iOiAiU3VicmVzb3VyY2UgcmVxdWVzdCdzIHBvbGljeSBzaG91
bGQgb3ZlcnJpZGUgRG9jdW1lbnQncyBwb2xpY3kiLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0
IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisg
ICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAiYW5vdGhlclBvbGlj
eSIKKyAgICAgICAgICBdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQ
b2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAibm9uTnVsbFBvbGljeSIKKyAgICAgIF0KKyAg
ICB9LAorICAgICJzcmNkb2MtaW5oZXJpdCI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJzcmNk
b2MgaWZyYW1lIHdpdGhvdXQgaXRzIG93biBwb2xpY3kgc2hvdWxkIGluaGVyaXQgcGFyZW50IERv
Y3VtZW50J3MgcG9saWN5IiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAg
eworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xp
Y3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAic3JjZG9j
IgorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmll
cyI6IFtdCisgICAgfSwKKyAgICAic3JjZG9jIjogeworICAgICAgImRlc2NyaXB0aW9uIjogInNy
Y2RvYyBpZnJhbWUncyBwb2xpY3kgc2hvdWxkIG92ZXJyaWRlIHBhcmVudCBEb2N1bWVudCdzIHBv
bGljeSIsCisgICAgICAic291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmll
cyI6IFsKKyAgICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJzcmNkb2MiLAor
ICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgIm5vbk51bGxQb2xp
Y3kiCisgICAgICAgICAgXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNl
UG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAiaWZyYW1lIjogeworICAgICAgImRl
c2NyaXB0aW9uIjogImV4dGVybmFsIGlmcmFtZSdzIHBvbGljeSBzaG91bGQgb3ZlcnJpZGUgcGFy
ZW50IERvY3VtZW50J3MgcG9saWN5IiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAg
ICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAg
ICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgImFub3RoZXJQb2xpY3kiCisgICAg
ICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRU
eXBlIjogImlmcmFtZSIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAg
ICAgICAicG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJz
dWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAgImlmcmFtZS1ibGFu
ay1pbmhlcml0IjogeworICAgICAgImRlc2NyaXB0aW9uIjogImJsYW5rIGlmcmFtZSBzaG91bGQg
aW5oZXJpdCBwYXJlbnQgRG9jdW1lbnQncyBwb2xpY3kiLAorICAgICAgInNvdXJjZUNvbnRleHRM
aXN0IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIs
CisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAicG9saWN5Igor
ICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250
ZXh0VHlwZSI6ICJpZnJhbWUtYmxhbmsiCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3Vi
cmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJ3b3JrZXItY2xhc3Np
YyI6IHsKKyAgICAgIC8vIFRoaXMgaXMgYXBwbGljYWJsZSB0byByZWZlcnJlci1wb2xpY3kgdGVz
dHMuCisgICAgICAvLyBVc2UgIndvcmtlci1jbGFzc2ljLWluaGVyaXQiIGZvciBDU1AgKG1peGVk
LWNvbnRlbnQsIGV0Yy4pLgorICAgICAgImRlc2NyaXB0aW9uIjogImRlZGljYXRlZCB3b3JrZXJz
IHNob3VsZG4ndCBpbmhlcml0IGl0cyBwYXJlbnQncyBwb2xpY3kuIiwKKyAgICAgICJzb3VyY2VD
b250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6
ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgImFu
b3RoZXJQb2xpY3kiCisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgInNvdXJjZUNvbnRleHRUeXBlIjogIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgICAicG9s
aWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAg
ICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtd
CisgICAgfSwKKyAgICAid29ya2VyLWNsYXNzaWMtaW5oZXJpdCI6IHsKKyAgICAgIC8vIFRoaXMg
aXMgYXBwbGljYWJsZSB0byB1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIGFuZCBtaXhlZC1jb250
ZW50IHRlc3RzLgorICAgICAgLy8gVXNlICJ3b3JrZXItY2xhc3NpYyIgZm9yIHJlZmVycmVyLXBv
bGljeS4KKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkZWRpY2F0ZWQgd29ya2VycyBzaG91bGQgaW5o
ZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAic291cmNlQ29udGV4dExpc3QiOiBb
CisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAg
ICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAg
ICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBl
IjogIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAg
ICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAg
XSwKKyAgICAgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAg
Indvcmtlci1jbGFzc2ljLWRhdGEiOiB7CisgICAgICAiZGVzY3JpcHRpb24iOiAiZGF0YTogZGVk
aWNhdGVkIHdvcmtlcnMgc2hvdWxkIGluaGVyaXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAg
ICAgInNvdXJjZUNvbnRleHRMaXN0IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNv
bnRleHRUeXBlIjogInRvcCIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAg
ICAgICAgICAicG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAg
ICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXItY2xhc3NpYy1kYXRhIiwKKyAgICAg
ICAgICAicG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAi
c3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAgICB9LAorICAgICJ3b3JrZXItbW9k
dWxlIjogeworICAgICAgLy8gVGhpcyBpcyBhcHBsaWNhYmxlIHRvIHJlZmVycmVyLXBvbGljeSB0
ZXN0cy4KKyAgICAgIC8vIFVzZSAid29ya2VyLW1vZHVsZS1pbmhlcml0IiBmb3IgQ1NQIChtaXhl
ZC1jb250ZW50LCBldGMuKS4KKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkZWRpY2F0ZWQgd29ya2Vy
cyBzaG91bGRuJ3QgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAic291cmNl
Q29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUi
OiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJh
bm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAg
ICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgICAicG9s
aWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAg
ICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtd
CisgICAgfSwKKyAgICAid29ya2VyLW1vZHVsZS1pbmhlcml0IjogeworICAgICAgLy8gVGhpcyBp
cyBhcHBsaWNhYmxlIHRvIHVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMgYW5kIG1peGVkLWNvbnRl
bnQgdGVzdHMuCisgICAgICAvLyBVc2UgIndvcmtlci1tb2R1bGUiIGZvciByZWZlcnJlci1wb2xp
Y3kuCisgICAgICAiZGVzY3JpcHRpb24iOiAiZGVkaWNhdGVkIHdvcmtlcnMgc2hvdWxkIGluaGVy
aXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0IjogWwor
ICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisgICAgICAg
ICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAicG9saWN5IgorICAgICAgICAg
IF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6
ICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAg
ICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAgXSwK
KyAgICAgICJzdWJyZXNvdXJjZVBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgIH0sCisgICAgIndv
cmtlci1tb2R1bGUtZGF0YSI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJkYXRhOiBkZWRpY2F0
ZWQgd29ya2VycyBzaG91bGQgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisgICAgICAi
c291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4
dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAg
ICAgICJwb2xpY3kiCisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgInNvdXJjZUNvbnRleHRUeXBlIjogIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAgICAg
InBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJl
c291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLWNs
YXNzaWMiOiB7CisgICAgICAiZGVzY3JpcHRpb24iOiAic2hhcmVkIHdvcmtlcnMgc2hvdWxkbid0
IGluaGVyaXQgaXRzIHBhcmVudCdzIHBvbGljeS4iLAorICAgICAgInNvdXJjZUNvbnRleHRMaXN0
IjogWworICAgICAgICB7CisgICAgICAgICAgInNvdXJjZUNvbnRleHRUeXBlIjogInRvcCIsCisg
ICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbCisgICAgICAgICAgICAiYW5vdGhlclBvbGlj
eSIKKyAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNl
Q29udGV4dFR5cGUiOiAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgICAgICJwb2xpY3lE
ZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAg
IH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQb2xpY3lEZWxpdmVyaWVzIjogW10KKyAg
ICB9LAorICAgICJzaGFyZWR3b3JrZXItY2xhc3NpYy1kYXRhIjogeworICAgICAgImRlc2NyaXB0
aW9uIjogImRhdGE6IHNoYXJlZCB3b3JrZXJzIHNob3VsZCBpbmhlcml0IGl0cyBwYXJlbnQncyBw
b2xpY3kuIiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6IFsKKyAgICAgICAgeworICAgICAg
ICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAgICAgICAgICJwb2xpY3lEZWxpdmVy
aWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAgICAgICBdCisgICAgICAgIH0sCisg
ICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5cGUiOiAic2hhcmVkd29ya2VyLWNs
YXNzaWMtZGF0YSIsCisgICAgICAgICAgInBvbGljeURlbGl2ZXJpZXMiOiBbXQorICAgICAgICB9
CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9saWN5RGVsaXZlcmllcyI6IFtdCisgICAg
fSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZSI6IHsKKyAgICAgICJkZXNjcmlwdGlvbiI6ICJz
aGFyZWQgd29ya2VycyBzaG91bGRuJ3QgaW5oZXJpdCBpdHMgcGFyZW50J3MgcG9saWN5LiIsCisg
ICAgICAic291cmNlQ29udGV4dExpc3QiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNl
Q29udGV4dFR5cGUiOiAidG9wIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAg
ICAgICAgICAgICJhbm90aGVyUG9saWN5IgorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAg
ICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJzaGFyZWR3b3JrZXItbW9kdWxl
IiwKKyAgICAgICAgICAicG9saWN5RGVsaXZlcmllcyI6IFsKKyAgICAgICAgICAgICJwb2xpY3ki
CisgICAgICAgICAgXQorICAgICAgICB9CisgICAgICBdLAorICAgICAgInN1YnJlc291cmNlUG9s
aWN5RGVsaXZlcmllcyI6IFtdCisgICAgfSwKKyAgICAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRh
IjogeworICAgICAgImRlc2NyaXB0aW9uIjogImRhdGE6IHNoYXJlZCB3b3JrZXJzIHNob3VsZCBp
bmhlcml0IGl0cyBwYXJlbnQncyBwb2xpY3kuIiwKKyAgICAgICJzb3VyY2VDb250ZXh0TGlzdCI6
IFsKKyAgICAgICAgeworICAgICAgICAgICJzb3VyY2VDb250ZXh0VHlwZSI6ICJ0b3AiLAorICAg
ICAgICAgICJwb2xpY3lEZWxpdmVyaWVzIjogWworICAgICAgICAgICAgInBvbGljeSIKKyAgICAg
ICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAic291cmNlQ29udGV4dFR5
cGUiOiAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRhIiwKKyAgICAgICAgICAicG9saWN5RGVsaXZl
cmllcyI6IFtdCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAic3VicmVzb3VyY2VQb2xpY3lE
ZWxpdmVyaWVzIjogW10KKyAgICB9CisgIH0sCisgICJ0ZXN0X2V4cGFuc2lvbl9zY2hlbWEiOiB7
CisgICAgImV4cGFuc2lvbiI6IFsKKyAgICAgICJkZWZhdWx0IiwKKyAgICAgICJvdmVycmlkZSIK
KyAgICBdLAorICAgICJzb3VyY2Vfc2NoZW1lIjogWworICAgICAgImh0dHAiLAorICAgICAgImh0
dHBzIgorICAgIF0sCisgICAgInNvdXJjZV9jb250ZXh0X2xpc3QiOiBbCisgICAgICAidG9wIiwK
KyAgICAgICJyZXEiLAorICAgICAgInNyY2RvYy1pbmhlcml0IiwKKyAgICAgICJzcmNkb2MiLAor
ICAgICAgImlmcmFtZSIsCisgICAgICAiaWZyYW1lLWJsYW5rLWluaGVyaXQiLAorICAgICAgIndv
cmtlci1jbGFzc2ljIiwKKyAgICAgICJ3b3JrZXItY2xhc3NpYy1pbmhlcml0IiwKKyAgICAgICJ3
b3JrZXItY2xhc3NpYy1kYXRhIiwKKyAgICAgICJ3b3JrZXItbW9kdWxlIiwKKyAgICAgICJ3b3Jr
ZXItbW9kdWxlLWluaGVyaXQiLAorICAgICAgIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAi
c2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgInNoYXJlZHdvcmtlci1jbGFzc2ljLWRhdGEi
LAorICAgICAgInNoYXJlZHdvcmtlci1tb2R1bGUiLAorICAgICAgInNoYXJlZHdvcmtlci1tb2R1
bGUtZGF0YSIKKyAgICBdLAorICAgICJyZWRpcmVjdGlvbiI6IFsKKyAgICAgICJuby1yZWRpcmVj
dCIsCisgICAgICAia2VlcC1vcmlnaW4iLAorICAgICAgInN3YXAtb3JpZ2luIiwKKyAgICAgICJr
ZWVwLXNjaGVtZSIsCisgICAgICAic3dhcC1zY2hlbWUiLAorICAgICAgImRvd25ncmFkZSIKKyAg
ICBdLAorICAgICJvcmlnaW4iOiBbCisgICAgICAic2FtZS1odHRwcyIsCisgICAgICAic2FtZS1o
dHRwIiwKKyAgICAgICJzYW1lLWh0dHAtZG93bmdyYWRlIiwKKyAgICAgICJjcm9zcy1odHRwcyIs
CisgICAgICAiY3Jvc3MtaHR0cCIsCisgICAgICAiY3Jvc3MtaHR0cC1kb3duZ3JhZGUiLAorICAg
ICAgInNhbWUtd3NzIiwKKyAgICAgICJzYW1lLXdzIiwKKyAgICAgICJzYW1lLXdzLWRvd25ncmFk
ZSIsCisgICAgICAiY3Jvc3Mtd3NzIiwKKyAgICAgICJjcm9zcy13cyIsCisgICAgICAiY3Jvc3Mt
d3MtZG93bmdyYWRlIgorICAgIF0sCisgICAgInN1YnJlc291cmNlIjogWworICAgICAgImEtdGFn
IiwKKyAgICAgICJhcmVhLXRhZyIsCisgICAgICAiYXVkaW8tdGFnIiwKKyAgICAgICJiZWFjb24i
LAorICAgICAgImZldGNoIiwKKyAgICAgICJpZnJhbWUtdGFnIiwKKyAgICAgICJpbWctdGFnIiwK
KyAgICAgICJsaW5rLWNzcy10YWciLAorICAgICAgImxpbmstcHJlZmV0Y2gtdGFnIiwKKyAgICAg
ICJvYmplY3QtdGFnIiwKKyAgICAgICJwaWN0dXJlLXRhZyIsCisgICAgICAic2NyaXB0LXRhZyIs
CisgICAgICAic2hhcmVkd29ya2VyLWNsYXNzaWMiLAorICAgICAgInNoYXJlZHdvcmtlci1pbXBv
cnQiLAorICAgICAgInNoYXJlZHdvcmtlci1pbXBvcnQtZGF0YSIsCisgICAgICAic2hhcmVkd29y
a2VyLW1vZHVsZSIsCisgICAgICAidmlkZW8tdGFnIiwKKyAgICAgICJ3ZWJzb2NrZXQiLAorICAg
ICAgIndvcmtlci1jbGFzc2ljIiwKKyAgICAgICJ3b3JrZXItaW1wb3J0IiwKKyAgICAgICJ3b3Jr
ZXItaW1wb3J0LWRhdGEiLAorICAgICAgIndvcmtlci1tb2R1bGUiLAorICAgICAgIndvcmtsZXQt
YW5pbWF0aW9uIiwKKyAgICAgICJ3b3JrbGV0LWFuaW1hdGlvbi1pbXBvcnQtZGF0YSIsCisgICAg
ICAid29ya2xldC1hdWRpbyIsCisgICAgICAid29ya2xldC1hdWRpby1pbXBvcnQtZGF0YSIsCisg
ICAgICAid29ya2xldC1sYXlvdXQiLAorICAgICAgIndvcmtsZXQtbGF5b3V0LWltcG9ydC1kYXRh
IiwKKyAgICAgICJ3b3JrbGV0LXBhaW50IiwKKyAgICAgICJ3b3JrbGV0LXBhaW50LWltcG9ydC1k
YXRhIiwKKyAgICAgICJ4aHIiCisgICAgXQorICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJl
cy90b29scy9zcGVjX3ZhbGlkYXRvci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3NwZWNfdmFsaWRh
dG9yLnB5CmluZGV4IDA2YTVhY2NlMjNhNDFhZDAxNTc4NzFiYzJkNWRlMjZkMzA3YTFjNTMuLjE1
ZjBlMWU3MzI3MmIyZWQ4ZjdiYTBhMjc3MDdjNTUwZmQ2MjVhMGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3NwZWNfdmFsaWRhdG9yLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3Nw
ZWNfdmFsaWRhdG9yLnB5CkBAIC04Nyw2ICs4Nyw4IEBAIGRlZiB2YWxpZGF0ZShzcGVjX2pzb24s
IGRldGFpbHMpOgogCiAgICAgZGV0YWlsc1snb2JqZWN0J10gPSBzcGVjX2pzb24KICAgICBhc3Nl
cnRfY29udGFpbnNfb25seV9maWVsZHMoc3BlY19qc29uLCBbCisgICAgICAgICJzZWxlY3Rpb25f
cGF0dGVybiIsICJ0ZXN0X2ZpbGVfcGF0aF9wYXR0ZXJuIiwKKyAgICAgICAgInRlc3RfZGVzY3Jp
cHRpb25fdGVtcGxhdGUiLCAidGVzdF9wYWdlX3RpdGxlX3RlbXBsYXRlIiwKICAgICAgICAgInNw
ZWNpZmljYXRpb24iLCAiZGVsaXZlcnlfa2V5IiwgInN1YnJlc291cmNlX3NjaGVtYSIsCiAgICAg
ICAgICJzb3VyY2VfY29udGV4dF9zY2hlbWEiLCAic291cmNlX2NvbnRleHRfbGlzdF9zY2hlbWEi
LAogICAgICAgICAidGVzdF9leHBhbnNpb25fc2NoZW1hIiwgImV4Y2x1ZGVkX3Rlc3RzIgpAQCAt
OTksMTMgKzEwMSwxNSBAQCBkZWYgdmFsaWRhdGUoc3BlY19qc29uLCBkZXRhaWxzKToKICAgICB0
ZXN0X2V4cGFuc2lvbl9zY2hlbWEgPSBzcGVjX2pzb25bJ3Rlc3RfZXhwYW5zaW9uX3NjaGVtYSdd
CiAgICAgZXhjbHVkZWRfdGVzdHMgPSBzcGVjX2pzb25bJ2V4Y2x1ZGVkX3Rlc3RzJ10KIAotICAg
IHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcyA9IFsnbmFtZSddICsgdGVzdF9leHBhbnNpb25f
c2NoZW1hLmtleXMoKQorICAgIHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcyA9IHRlc3RfZXhw
YW5zaW9uX3NjaGVtYS5rZXlzKCkKIAogICAgICMgU2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBg
c291cmNlQ29udGV4dE1hcGAgaW4KICAgICAjIGAvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jl
c291cmNlcy9jb21tb24uc3ViLmpzYC4KICAgICB2YWxpZF9zb3VyY2VfY29udGV4dF9uYW1lcyA9
IFsKICAgICAgICAgInRvcCIsICJpZnJhbWUiLCAiaWZyYW1lLWJsYW5rIiwgInNyY2RvYyIsICJ3
b3JrZXItY2xhc3NpYyIsCi0gICAgICAgICJ3b3JrZXItbW9kdWxlIiwgIndvcmtlci1jbGFzc2lj
LWRhdGEiLCAid29ya2VyLW1vZHVsZS1kYXRhIgorICAgICAgICAid29ya2VyLW1vZHVsZSIsICJ3
b3JrZXItY2xhc3NpYy1kYXRhIiwgIndvcmtlci1tb2R1bGUtZGF0YSIsCisgICAgICAgICJzaGFy
ZWR3b3JrZXItY2xhc3NpYyIsICJzaGFyZWR3b3JrZXItbW9kdWxlIiwKKyAgICAgICAgInNoYXJl
ZHdvcmtlci1jbGFzc2ljLWRhdGEiLCAic2hhcmVkd29ya2VyLW1vZHVsZS1kYXRhIgogICAgIF0K
IAogICAgIHZhbGlkX3N1YnJlc291cmNlX25hbWVzID0gWwpAQCAtMTMyLDI0ICsxMzYsMTUgQEAg
ZGVmIHZhbGlkYXRlKHNwZWNfanNvbiwgZGV0YWlscyk6CiAKICAgICAgICAgIyBWYWxpZGF0ZSBy
ZXF1aXJlZCBmaWVsZHMgZm9yIGEgc2luZ2xlIHNwZWMuCiAgICAgICAgIGFzc2VydF9jb250YWlu
c19vbmx5X2ZpZWxkcyhzcGVjLCBbCi0gICAgICAgICAgICAnbmFtZScsICd0aXRsZScsICdkZXNj
cmlwdGlvbicsICdzcGVjaWZpY2F0aW9uX3VybCcsCi0gICAgICAgICAgICAndGVzdF9leHBhbnNp
b24nCisgICAgICAgICAgICAndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnc3BlY2lmaWNhdGlvbl91
cmwnLCAndGVzdF9leHBhbnNpb24nCiAgICAgICAgIF0pCi0gICAgICAgIGFzc2VydF9ub25fZW1w
dHlfc3RyaW5nKHNwZWMsICduYW1lJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmco
c3BlYywgJ3RpdGxlJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmcoc3BlYywgJ2Rl
c2NyaXB0aW9uJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9zdHJpbmcoc3BlYywgJ3NwZWNp
ZmljYXRpb25fdXJsJykKICAgICAgICAgYXNzZXJ0X25vbl9lbXB0eV9saXN0KHNwZWMsICd0ZXN0
X2V4cGFuc2lvbicpCiAKLSAgICAgICAgIyBWYWxpZGF0ZSBzcGVjJ3MgdGVzdCBleHBhbnNpb24u
Ci0gICAgICAgIHVzZWRfc3BlY19uYW1lcyA9IHt9Ci0KICAgICAgICAgZm9yIHNwZWNfZXhwIGlu
IHNwZWNbJ3Rlc3RfZXhwYW5zaW9uJ106CiAgICAgICAgICAgICBkZXRhaWxzWydvYmplY3QnXSA9
IHNwZWNfZXhwCi0gICAgICAgICAgICBhc3NlcnRfbm9uX2VtcHR5X3N0cmluZyhzcGVjX2V4cCwg
J25hbWUnKQotICAgICAgICAgICAgIyBUaGUgbmFtZSBpcyB1bmlxdWUgaW4gc2FtZSBleHBhbnNp
b24gZ3JvdXAuCi0gICAgICAgICAgICBhc3NlcnRfdmFsdWVfdW5pcXVlX2luKChzcGVjX2V4cFsn
ZXhwYW5zaW9uJ10sIHNwZWNfZXhwWyduYW1lJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1c2VkX3NwZWNfbmFtZXMpCiAgICAgICAgICAgICBhc3NlcnRfY29udGFpbnNf
b25seV9maWVsZHMoc3BlY19leHAsIHZhbGlkX3Rlc3RfZXhwYW5zaW9uX2ZpZWxkcykKIAogICAg
ICAgICAgICAgZm9yIGFydGlmYWN0IGluIHRlc3RfZXhwYW5zaW9uX3NjaGVtYToKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3Nl
Y3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3RlbXBsYXRlL2Rpc2NsYWltZXIudGVtcGxhdGUgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1m
ZWF0dXJlcy90b29scy90ZW1wbGF0ZS9kaXNjbGFpbWVyLnRlbXBsYXRlCmluZGV4IDY2YzQzZWQ2
ZjIxMzI0ZDQ0YjE1OTZjMDlhMDJmZWNmNTNmNDEzMjMuLmJhOTQ1OGNiMzEyNTJhZWNmM2M0NDdi
NDNjNTA1YTA0ZDdhYmY5MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3RlbXBsYXRl
L2Rpc2NsYWltZXIudGVtcGxhdGUKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvZGlz
Y2xhaW1lci50ZW1wbGF0ZQpAQCAtMSArMSBAQAotPCEtLSBETyBOT1QgRURJVCEgR2VuZXJhdGVk
IGJ5ICUoZ2VuZXJhdGluZ19zY3JpcHRfZmlsZW5hbWUpcyB1c2luZyAlKGh0bWxfdGVtcGxhdGVf
ZmlsZW5hbWUpcy4gLS0+Cis8IS0tIERPIE5PVCBFRElUISBHZW5lcmF0ZWQgYnkgYCUoZ2VuZXJh
dGluZ19zY3JpcHRfZmlsZW5hbWUpcyAtLXNwZWMgJShzcGVjX2RpcmVjdG9yeSlzL2AgLS0+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy90ZW1wbGF0ZS90ZXN0LmRlYnVnLmh0bWwudGVt
cGxhdGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy90b29scy90ZW1wbGF0ZS90ZXN0LmRlYnVnLmh0bWwudGVtcGxh
dGUKaW5kZXggYjRiMGZlYzczM2UxY2U2ZjZhNWNhZDBmOWM5ZDQzOTFhYTI0NGZiMS4uYjZiZTA4
OGY2MTEyYTA0MGFkODRkMmI1YzE3NjM3MzE4MDExMWQ2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVy
ZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5kZWJ1Zy5odG1sLnRlbXBsYXRlCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL3Rvb2xzL3RlbXBsYXRlL3Rlc3QuZGVidWcuaHRtbC50ZW1wbGF0ZQpAQCAtMiwxMiArMiw4
IEBACiAlKGdlbmVyYXRlZF9kaXNjbGFpbWVyKXMKIDxodG1sPgogICA8aGVhZD4KLSAgICA8dGl0
bGU+JSh0ZXN0X3BhZ2VfdGl0bGUpczwvdGl0bGU+Ci0gICAgPG1ldGEgY2hhcnNldD0ndXRmLTgn
PgotICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIlKHNwZWNfZGVzY3JpcHRp
b24pcyI+Ci0gICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJLcmlzdGlqYW4gQnVybmlrIiBo
cmVmPSJidXJuaWtAY2hyb21pdW0ub3JnIj4KLSAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9IiUo
c3BlY19zcGVjaWZpY2F0aW9uX3VybClzIj4KLSAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRl
bnQ9IiUodGVzdF9kZXNjcmlwdGlvbilzIj4lKG1ldGFfZGVsaXZlcnlfbWV0aG9kKXMKKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+JShtZXRhX2RlbGl2ZXJ5X21ldGhvZClzCiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy9yZXNvdXJjZXMvY29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+CkBA
IC0xNSwxNiArMTEsMTYgQEAKICAgICA8c2NyaXB0IHNyYz0iJShzcGVjX2pzb25fanMpcyI+PC9z
Y3JpcHQ+CiAgICAgPCEtLSBJbnRlcm5hbCBjaGVja2luZyBvZiB0aGUgdGVzdHMgLS0+CiAgICAg
PHNjcmlwdCBzcmM9IiUoc2FuaXR5X2NoZWNrZXJfanMpcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9IiUoaGVscGVyX2pzKXMiPjwvc2NyaXB0PgotICA8L2hlYWQ+CislKGhlbHBlcl9qcylz
ICA8L2hlYWQ+CiAgIDxib2R5PgogICAgIDxzY3JpcHQ+CiAgICAgICBUZXN0Q2FzZSgKLSAgICAg
ICAgJShzY2VuYXJpbylzLAotICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25h
bWU9YXNzZXJ0XSIpLmNvbnRlbnQsCisgICAgICAgIFsKKyAgICAgICAgICAlKHNjZW5hcmlvcylz
CisgICAgICAgIF0sCiAgICAgICAgIG5ldyBTYW5pdHlDaGVja2VyKCkKICAgICAgICkuc3RhcnQo
KTsKLSAgICAgIDwvc2NyaXB0PgorICAgIDwvc2NyaXB0PgogICAgIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+CiAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3Rl
bXBsYXRlL3Rlc3QucmVsZWFzZS5odG1sLnRlbXBsYXRlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVt
cGxhdGUvdGVzdC5yZWxlYXNlLmh0bWwudGVtcGxhdGUKaW5kZXggZDkzNTA2ZTIzMWE0YzZlNzE5
YjA1NWIxZTMxMmJkMTYzZWI5NTE5ZC4uYmFjMmQ1YjVhNGQ3OGRiYjI3MTcwYzU5YmFlZWM3MGNi
MjNhZGQ4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5yZWxl
YXNlLmh0bWwudGVtcGxhdGUKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdGVtcGxhdGUvdGVzdC5y
ZWxlYXNlLmh0bWwudGVtcGxhdGUKQEAgLTIsMjUgKzIsMjEgQEAKICUoZ2VuZXJhdGVkX2Rpc2Ns
YWltZXIpcwogPGh0bWw+CiAgIDxoZWFkPgotICAgIDx0aXRsZT4lKHRlc3RfcGFnZV90aXRsZSlz
PC90aXRsZT4KLSAgICA8bWV0YSBjaGFyc2V0PSd1dGYtOCc+Ci0gICAgPG1ldGEgbmFtZT0iZGVz
Y3JpcHRpb24iIGNvbnRlbnQ9IiUoc3BlY19kZXNjcmlwdGlvbilzIj4KLSAgICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IktyaXN0aWphbiBCdXJuaWsiIGhyZWY9ImJ1cm5pa0BjaHJvbWl1bS5v
cmciPgotICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iJShzcGVjX3NwZWNpZmljYXRpb25fdXJs
KXMiPgotICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iJSh0ZXN0X2Rlc2NyaXB0aW9u
KXMiPiUobWV0YV9kZWxpdmVyeV9tZXRob2QpcworICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4lKG1ldGFfZGVsaXZlcnlf
bWV0aG9kKXMKICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Jl
c291cmNlcy9jb21tb24uc3ViLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iJShoZWxw
ZXJfanMpcyI+PC9zY3JpcHQ+Ci0gIDwvaGVhZD4KKyUoaGVscGVyX2pzKXMgIDwvaGVhZD4KICAg
PGJvZHk+CiAgICAgPHNjcmlwdD4KICAgICAgIFRlc3RDYXNlKAotICAgICAgICAlKHNjZW5hcmlv
KXMsCi0gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT1hc3NlcnRdIiku
Y29udGVudCwKKyAgICAgICAgWworICAgICAgICAgICUoc2NlbmFyaW9zKXMKKyAgICAgICAgXSwK
ICAgICAgICAgbmV3IFNhbml0eUNoZWNrZXIoKQogICAgICAgKS5zdGFydCgpOwotICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9zY3JpcHQ+CiAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KICAgPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdXRpbC5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3V0aWwucHkKaW5kZXggMjY5ZjQ2NGE1NDdjN2QxZDIzYmE4ODUyN2E1NWI5
NzY3ZTgxNDMwNC4uMDI3NGY4YWYwYjVmZTg3ZDgwZmE3ODRjMjc2YjNjY2U1YTRkY2IyNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21t
b24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvdXRpbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29s
cy91dGlsLnB5CkBAIC0xLDYgKzEsNyBAQAogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
dW5jdGlvbgogCi1pbXBvcnQgb3MsIHN5cywganNvbiwgcmUKK2ltcG9ydCBvcywgc3lzLCBqc29u
LCBqc29uNSwgcmUKK2ltcG9ydCBjb2xsZWN0aW9ucwogCiBzY3JpcHRfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCiB0ZW1wbGF0ZV9kaXJlY3Rv
cnkgPSBvcy5wYXRoLmFic3BhdGgoCkBAIC0zMCw3ICszMSw3IEBAIGRlZiBsb2FkX3NwZWNfanNv
bihwYXRoX3RvX3NwZWMpOgogICAgIHJlX2Vycm9yX2xvY2F0aW9uID0gcmUuY29tcGlsZSgnbGlu
ZSAoWzAtOV0rKSBjb2x1bW4gKFswLTldKyknKQogICAgIHdpdGggb3BlbihwYXRoX3RvX3NwZWMs
ICJyIikgYXMgZjoKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGpzb24ubG9hZChm
KQorICAgICAgICAgICAgcmV0dXJuIGpzb241LmxvYWQoZiwgb2JqZWN0X3BhaXJzX2hvb2s9Y29s
bGVjdGlvbnMuT3JkZXJlZERpY3QpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4Ogog
ICAgICAgICAgICAgcHJpbnQoZXgubWVzc2FnZSkKICAgICAgICAgICAgIG1hdGNoID0gcmVfZXJy
b3JfbG9jYXRpb24uc2VhcmNoKGV4Lm1lc3NhZ2UpCkBAIC02Nyw2ICs2OCw5IEBAIGNsYXNzIFBv
bGljeURlbGl2ZXJ5KG9iamVjdCk6CiAgICAgICAgIHNlbGYua2V5ID0ga2V5CiAgICAgICAgIHNl
bGYudmFsdWUgPSB2YWx1ZQogCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAg
IHJldHVybiB0eXBlKHNlbGYpIGlzIHR5cGUob3RoZXIpIGFuZCBzZWxmLl9fZGljdF9fID09IG90
aGVyLl9fZGljdF9fCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgbGlzdF9mcm9tX2pzb24o
Y2xzLCBsaXN0LCB0YXJnZXRfcG9saWN5X2RlbGl2ZXJ5LAogICAgICAgICAgICAgICAgICAgICAg
ICBzdXBwb3J0ZWRfZGVsaXZlcnlfdHlwZXMpOgpAQCAtMTIwLDcgKzEyNCw3IEBAIGNsYXNzIFBv
bGljeURlbGl2ZXJ5KG9iamVjdCk6CiAgICAgICAgIGVsaWYgb2JqID09ICJhbm90aGVyUG9saWN5
IjoKICAgICAgICAgICAgIHBvbGljeV9kZWxpdmVyeSA9IHRhcmdldF9wb2xpY3lfZGVsaXZlcnku
Z2V0X2Fub3RoZXJfcG9saWN5KAogICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9kZWxpdmVyeV90
eXBlc1swXSkKLSAgICAgICAgZWxpZiB0eXBlKG9iaikgPT0gZGljdDoKKyAgICAgICAgZWxpZiBp
c2luc3RhbmNlKG9iaiwgZGljdCk6CiAgICAgICAgICAgICBwb2xpY3lfZGVsaXZlcnkgPSBQb2xp
Y3lEZWxpdmVyeShvYmpbJ2RlbGl2ZXJ5VHlwZSddLCBvYmpbJ2tleSddLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqWyd2YWx1ZSddKQogICAgICAgICBl
bHNlOgpAQCAtMTQ3LDYgKzE1MSwxNiBAQCBjbGFzcyBQb2xpY3lEZWxpdmVyeShvYmplY3QpOgog
ICAgICAgICAgICAgICAgIHJldHVybiBQb2xpY3lEZWxpdmVyeShkZWxpdmVyeV90eXBlLCBzZWxm
LmtleSwgJ3Vuc2FmZS11cmwnKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gUG9saWN5RGVsaXZlcnkoZGVsaXZlcnlfdHlwZSwgc2VsZi5rZXksICduby1yZWZlcnJl
cicpCisgICAgICAgIGVsaWYgc2VsZi5rZXkgPT0gJ21peGVkQ29udGVudCc6CisgICAgICAgICAg
ICBpZiBzZWxmLnZhbHVlID09ICdvcHQtaW4nOgorICAgICAgICAgICAgICAgIHJldHVybiBQb2xp
Y3lEZWxpdmVyeShkZWxpdmVyeV90eXBlLCBzZWxmLmtleSwgTm9uZSkKKyAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIFBvbGljeURlbGl2ZXJ5KGRlbGl2ZXJ5X3R5cGUs
IHNlbGYua2V5LCAnb3B0LWluJykKKyAgICAgICAgZWxpZiBzZWxmLmtleSA9PSAndXBncmFkZUlu
c2VjdXJlUmVxdWVzdHMnOgorICAgICAgICAgICAgaWYgc2VsZi52YWx1ZSA9PSAndXBncmFkZSc6
CisgICAgICAgICAgICAgICAgcmV0dXJuIFBvbGljeURlbGl2ZXJ5KGRlbGl2ZXJ5X3R5cGUsIHNl
bGYua2V5LCBOb25lKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4g
UG9saWN5RGVsaXZlcnkoZGVsaXZlcnlfdHlwZSwgc2VsZi5rZXksICd1cGdyYWRlJykKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignZGVsaXZlcnkga2V5IGlzIGlu
dmFsaWQ6ICcgKyBzZWxmLmtleSkKIApAQCAtMTU3LDYgKzE3MSw5IEBAIGNsYXNzIFNvdXJjZUNv
bnRleHQob2JqZWN0KToKICAgICAgICAgc2VsZi5zb3VyY2VfY29udGV4dF90eXBlID0gc291cmNl
X2NvbnRleHRfdHlwZQogICAgICAgICBzZWxmLnBvbGljeV9kZWxpdmVyaWVzID0gcG9saWN5X2Rl
bGl2ZXJpZXMKIAorICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4g
dHlwZShzZWxmKSBpcyB0eXBlKG90aGVyKSBhbmQgc2VsZi5fX2RpY3RfXyA9PSBvdGhlci5fX2Rp
Y3RfXworCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fanNvbihjbHMsIG9iaiwgdGFy
Z2V0X3BvbGljeV9kZWxpdmVyeSwgc291cmNlX2NvbnRleHRfc2NoZW1hKToKICAgICAgICAgJycn
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1
cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCmluZGV4IDgxZDQzMzA4NzYyZWZiOGE5MDBhYTQzMDRi
MmQ3ZWVmZDM4ZDg5NGYuLmZlMTg5ZGM5Yzk3MmVhZDE0N2ZiYWNmMGI0YjQxMTI5YmQ2YjQ3ODIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZl
YXR1cmVzL3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xNiw1ICsxNiw2IEBAIE5vbmUKIExpc3Qg
b2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vc2VjdXJpdHktZmVhdHVyZXMvdG9vbHMvZm9ybWF0X3NwZWNfc3JjX2pzb24ucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0
eS1mZWF0dXJlcy90b29scy9nZW5lcmF0ZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3Rvb2xzL3NwZWMuc3Jj
Lmpzb24KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zZWN1cml0eS1mZWF0dXJlcy90b29scy9zcGVjX3ZhbGlkYXRvci5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVz
L3Rvb2xzL3V0aWwucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3R5cGVzLm1kIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVh
dHVyZXMvdHlwZXMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwNzk5MTZjMWVmYTY4MzlmYTI0YjE3NWZkZDQ5
Y2QyZDM4MTM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3NlY3VyaXR5LWZlYXR1cmVzL3R5cGVzLm1kCkBAIC0w
LDAgKzEsNjIgQEAKKyMgVHlwZXMgYXJvdW5kIHRoZSBnZW5lcmF0b3IgYW5kIGdlbmVyYXRlZCB0
ZXN0cworCitUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0eXBlcyBhbmQgY29uY2VwdHMgdXNlZCBh
Y3Jvc3MgSmF2YVNjcmlwdCBhbmQgUHl0aG9uIHBhcnRzIG9mIHRoaXMgdGVzdCBmcmFtZXdvcmsu
CitQbGVhc2UgcmVmZXIgdG8gdGhlIEpTRG9jIGluIGBjb21tb24uc3ViLmpzYCBvciBkb2NzdHJp
bmdzIGluIFB5dGhvbiBzY3JpcHRzIChpZiBhbnkpLgorCisjIyBTY2VuYXJpbworCisjIyMgUHJv
cGVydGllcworCistIEFsbCBrZXlzIG9mIGB0ZXN0X2V4cGFuc2lvbl9zY2hlbWFgIGluIGBzcGVj
LnNyYy5qc29uYCwgZXhjZXB0IGZvciBgZXhwYW5zaW9uYCwgYGRlbGl2ZXJ5X3R5cGVgLCBgZGVs
aXZlcnlfdmFsdWVgLCBhbmQgYHNvdXJjZV9jb250ZXh0X2xpc3RgLiBUaGVpciB2YWx1ZXMgYXJl
ICoqc3RyaW5nKipzIHNwZWNpZmllZCBpbiBgdGVzdF9leHBhbnNpb25fc2NoZW1hYC4KKy0gYHNv
dXJjZV9jb250ZXh0X2xpc3RgCistIGBzdWJyZXNvdXJjZV9wb2xpY3lfZGVsaXZlcmllc2AKKwor
IyMjIFR5cGVzCisKKy0gR2VuZXJhdG9yIChgc3BlYy5zcmMuanNvbmApOiBKU09OIG9iamVjdAor
LSBHZW5lcmF0b3IgKFB5dGhvbik6IGBkaWN0YAorLSBSdW50aW1lIChKUyk6IEpTT04gb2JqZWN0
CistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQorCisjIyBgUG9saWN5RGVsaXZlcnlgCisKKyMjIyBU
eXBlcworCistIEdlbmVyYXRvciAoYHNwZWMuc3JjLmpzb25gKTogSlNPTiBvYmplY3QKKy0gR2Vu
ZXJhdG9yIChQeXRob24pOiBgdXRpbC5Qb2xpY3lEZWxpdmVyeWAKKy0gUnVudGltZSAoSlMpOiBK
U09OIG9iamVjdCAoYEB0eXBlZGVmIFBvbGljeURlbGl2ZXJ5YCBpbiBgY29tbW9uLnN1Yi5qc2Ap
CistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQorCisjIyBgU291cmNlQ29udGV4dGAKKworU3VicmVz
b3VyY2UgcmVxdWVzdHMgY2FuIGJlIHBvc3NpYmx5IHNlbnQgZnJvbSB2YXJpb3VzIGtpbmRzIG9m
IGZldGNoIGNsaWVudCdzIGVudmlyb25tZW50IHNldHRpbmdzIG9iamVjdHMuIEZvciBleGFtcGxl
OgorCistIHRvcC1sZXZlbCB3aW5kb3dzLAorLSBgPGlmcmFtZT5gcywgb3IKKy0gYFdvcmtlckds
b2JhbFNjb3BlYHMuCisKK0EgKipgU291cmNlQ29udGV4dGAqKiBvYmplY3Qgc3BlY2lmaWVzIG9u
ZSBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3QsIGFuZCBhbiBBcnJheSBvZiBgU291cmNlQ29u
dGV4dGAgc3BlY2lmaWVzIGEgcG9zc2libHkgbmVzdGVkIGNvbnRleHQsIGZyb20gdGhlIG91dGVy
LW1vc3QgdG8gaW5uZXItbW9zdCBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3RzLgorCitOb3Rl
OiBUaGUgdG9wLWxldmVsIGRvY3VtZW50IGlzIHByb2Nlc3NlZCBhbmQgdHJpbW1lZCBieSB0aGUg
Z2VuZXJhdG9yLCBhbmQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBgc291cmNlQ29udGV4dExpc3Rg
IGZpZWxkIG9mIGBTY2VuYXJpb2AgaW4gdGhlIGdlbmVyYXRlZCBvdXRwdXQuCisKK0ZvciBleGFt
cGxlLCBgW3tzb3VyY2VDb250ZXh0VHlwZTogInNyY2RvYyJ9LCB7c291cmNlQ29udGV4dFR5cGU6
ICJ3b3JrZXItY2xhc3NpYyJ9XWAgbWVhbnMgdGhhdCBhIHN1YnJlc291cmNlIHJlcXVlc3QgaXMg
dG8gYmUgc2VudCBmcm9tIGEgY2xhc3NpYyBkZWRpY2F0ZWQgd29ya2VyIGNyZWF0ZWQgZnJvbSBg
PGlmcmFtZSBzcmNkb2M+YCBpbnNpZGUgdGhlIHRvcC1sZXZlbCBIVE1MIERvY3VtZW50LgorCitO
b3RlOiBBIGBTb3VyY2VDb250ZXh0YCAob3IgYW4gYXJyYXkgb2YgYFNvdXJjZUNvbnRleHRgKSBp
cyBzZXQgYmFzZWQgb24gdGhlIGZldGNoIGNsaWVudCdzIHNldHRpbmdzIG9iamVjdCB0aGF0IGlz
IHVzZWQgZm9yIHRoZSBzdWJyZXNvdXJjZSBmZXRjaCwgTk9UIG9uIHRoZSBtb2R1bGUgbWFwIHNl
dHRpbmdzIG9iamVjdCBub3Igb24gdGhlIGlubmVyLW1vc3Qgc2V0dGluZ3Mgb2JqZWN0IHRoYXQg
YXBwZWFycyBpbiB0aGUgdGVzdC4KK0ZvciBleGFtcGxlLCB0aGUgYHNvdXJjZUNvbnRleHRMaXN0
YCBmaWVsZCBvZiBgU2NlbmFyaW9gIGlzIGBbXWAgKGluZGljYXRpbmcgdGhlIHRvcC1sZXZlbCBX
aW5kb3cpOgorCistIFdoZW4gdGVzdGluZyB0b3AtbGV2ZWwgd29ya2VyIHNjcmlwdCBmZXRjaCwg
ZS5nLiBgbmV3IFdvcmtlcignd29ya2VyLmpzJylgLiBUaGVyZSBpcyBgV29ya2VyR2xvYmFsU2Nv
cGVgIGNyZWF0ZWQgZnJvbSBgd29ya2VyLmpzYCwgYnV0IGl0IGlzbid0IHRoZSBmZXRjaCBjbGll
bnQncyBzZXR0aW5ncyBvYmplY3QgdXNlZCBmb3IgZmV0Y2hpbmcgYHdvcmtlci5qc2AgaXRzZWxm
LgorLSBXaGVuIHRlc3Rpbmcgd29ya2VyIHNjcmlwdCBpbXBvcnRlZCBmcm9tIHRoZSByb290IHdv
cmtlciBzY3JpcHQsIGUuZy4gYG5ldyBXb3JrZXIoJ3RvcC5qcycsIHt0eXBlOiAnbW9kdWxlJ30p
YCB3aGVyZSBgdG9wLmpzYCBoYXMgYGltcG9ydCAnd29ya2VyLmpzJ2AuIEFnYWluLCB0aGUgZmV0
Y2ggY2xpZW50J3Mgc2V0dGluZ3Mgb2JqZWN0IHVzZWQgZm9yIGB3b3JrZXIuanNgIGlzIHRoZSB0
b3AtbGV2ZWwgV2luZG93LCBub3QgYFdvcmtlckdsb2JhbFNjb3BlYCBjcmVhdGVkIGJ5IGB0b3Au
anNgLgorCisjIyMgUHJvcGVydGllcworCistIGBzb3VyY2VDb250ZXh0VHlwZWA6ICBBIHN0cmlu
ZyBzcGVjaWZ5aW5nIHRoZSBraW5kIG9mIHRoZSBzb3VyY2UgY29udGV4dCB0byBiZSB1c2VkLgor
ICAgVmFsaWQgdmFsdWVzIGFyZSB0aGUga2V5cyBvZiBgc291cmNlQ29udGV4dE1hcGAgaW4gYGNv
bW1vbi5zdWIuanNgLCBvciBgInRvcCJgIGluZGljYXRpbmcgdGhlIHRvcC1sZXZlbCBEb2N1bWVu
dCAoYCJ0b3AiYCBpcyB2YWxpZC91c2VkIG9ubHkgaW4gdGhlIGdlbmVyYXRvcikuCisKKy0gYHBv
bGljeURlbGl2ZXJpZXNgOiBBIGxpc3Qgb2YgYFBvbGljeURlbGl2ZXJ5YCBhcHBsaWVkIHRvIHRo
ZSBzb3VyY2UgY29udGV4dC4KKworIyMjIFR5cGVzCisKKy0gR2VuZXJhdG9yIChgc3BlYy5zcmMu
anNvbmApOiBKU09OIG9iamVjdAorLSBHZW5lcmF0b3IgKFB5dGhvbik6IGB1dGlsLlNvdXJjZUNv
bnRleHRgCistIFJ1bnRpbWUgKEpTKTogSlNPTiBvYmplY3QgKGBAdHlwZWRlZiBTb3VyY2VDb250
ZXh0YCBpbiBgY29tbW9uLnN1Yi5qc2ApCistIFJ1bnRpbWUgKFB5dGhvbik6IE4vQQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
c2VjdXJpdHktZmVhdHVyZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy93M2MtaW1wb3J0
LmxvZwppbmRleCA4NjQ4MjBmNWQ5MDVkOTZiM2RlMjU4MTQwZjhlZjgxODYxNDc1MzZlLi40MTNl
OGU4Yjc2YWZjNzM5OTc1NjAxYmZmMmVlNzYxMjNhYzM5OGZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0
dXJlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi9zZWN1cml0eS1mZWF0dXJlcy93M2MtaW1wb3J0LmxvZwpAQCAt
MTUsMyArMTUsNCBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2VjdXJpdHkt
ZmVhdHVyZXMvUkVBRE1FLm1kCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc2VjdXJpdHktZmVhdHVyZXMvdHlwZXMubWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N0cmluZ2lm
aWVycy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29t
bW9uL3N0cmluZ2lmaWVycy5qcwppbmRleCBiNTljYTljMjQ2Zjc1YTcyZDUzMmQ1OGVmNjI4ODI0
Zjg5MDVmZjdhLi40ZWY3YTFiZmVkYWJhMTgzNWJiNDRjY2E5MjA3ZTA3NDhiYTgzNTIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1v
bi9zdHJpbmdpZmllcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb21tb24vc3RyaW5naWZpZXJzLmpzCkBAIC0xLDkgKzEsMTQgQEAKLS8vIFRl
c3RzIDxodHRwOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLXN0cmluZ2lmaWVyPi4KKy8q
KgorICogUnVucyB0ZXN0cyBmb3IgPGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMt
c3RyaW5naWZpZXI+LgorICogQHBhcmFtIHtPYmplY3R9IGFPYmplY3QgLSBvYmplY3QgdG8gdGVz
dAorICogQHBhcmFtIHtzdHJpbmd9IGFBdHRyaWJ1dGUgLSBJREwgYXR0cmlidXRlIG5hbWUgdGhh
dCBpcyBhbm5vdGF0ZWQgd2l0aCBgc3RyaW5naWZpZXJgCisgKiBAcGFyYW0ge2Jvb2xlYW59IGFJ
c1VuZm9yZ2VhYmxlIC0gd2hldGhlciB0aGUgSURMIGF0dHJpYnV0ZSBpcyBgW1VuZm9yZ2VhYmxl
XWAKKyAqLwogZnVuY3Rpb24gdGVzdF9zdHJpbmdpZmllcl9hdHRyaWJ1dGUoYU9iamVjdCwgYUF0
dHJpYnV0ZSwgYUlzVW5mb3JnZWFibGUpIHsKICAgLy8gU3RlcCAxLgogICB0ZXN0KGZ1bmN0aW9u
KCkgewogICAgIFtudWxsLCB1bmRlZmluZWRdLmZvckVhY2goZnVuY3Rpb24odikgewotICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgICBhT2JqZWN0LnRvU3Ry
aW5nLmNhbGwodik7CiAgICAgICB9KTsKICAgICB9KTsKQEAgLTE1LDcgKzIwLDcgQEAgZnVuY3Rp
b24gdGVzdF9zdHJpbmdpZmllcl9hdHRyaWJ1dGUoYU9iamVjdCwgYUF0dHJpYnV0ZSwgYUlzVW5m
b3JnZWFibGUpIHsKICAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZmFsc2UoIldpbmRv
dyIgaW4gd2luZG93ICYmIGFPYmplY3QgaW5zdGFuY2VvZiB3aW5kb3cuV2luZG93KTsKICAgICBb
e30sIHdpbmRvd10uZm9yRWFjaChmdW5jdGlvbih2KSB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CiAgICAgICAgIGFPYmplY3QudG9TdHJpbmcuY2FsbCh2KQogICAg
ICAgfSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVzdHMtYnkta2V5LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLWJ5
LWtleS5qcwppbmRleCBkODdlYTlmNzZlZTI1Zjc3OTgyMTcyYWFhMDRkNTZmYzAwMGQ3MTQ4Li40
ODMwMTdhNjQ0ODg2YTkzNWMxN2EzMGIwNjA0NjI4MjhhNWVmY2RjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVz
dHMtYnkta2V5LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL3N1YnNldC10ZXN0cy1ieS1rZXkuanMKQEAgLTEsOSArMSwzIEBACi0vLyBP
bmx5IHRlc3QgYSBzdWJzZXQgb2YgdGVzdHMgd2l0aCA/aW5jbHVkZT1Gb28gb3IgP2V4Y2x1ZGU9
Rm9vIGluIHRoZSBVUkwuCi0vLyBDYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIDxtZXRhIG5hbWU9
InZhcmlhbnQiIGNvbnRlbnQ9Ii4uLiI+Ci0vLyBTYW1wbGUgdXNhZ2U6Ci0vLyBmb3IgKGNvbnN0
IHRlc3Qgb2YgdGVzdHMpIHsKLS8vICAgc3Vic2V0VGVzdEJ5S2V5KCJGb28iLCBhc3luY190ZXN0
LCB0ZXN0LmZuLCB0ZXN0Lm5hbWUpOwotLy8gfQogKGZ1bmN0aW9uKCkgewogICB2YXIgc3ViVGVz
dEtleVBhdHRlcm4gPSBudWxsOwogICB2YXIgbWF0Y2g7CkBAIC00OCw2ICs0MiwxMSBAQAogICAg
ICAgfSk7CiAgICAgfQogICB9CisgIC8qKgorICAgKiBDaGVjayBpZiBga2V5YCBpcyBpbiB0aGUg
c3Vic2V0IHNwZWNpZmllZCBpbiB0aGUgVVJMLgorICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5Cisg
ICAqIEByZXR1cm5zIHtib29sZWFufQorICAgKi8KICAgZnVuY3Rpb24gc2hvdWxkUnVuU3ViVGVz
dChrZXkpIHsKICAgICBpZiAoa2V5ICYmIHN1YlRlc3RLZXlQYXR0ZXJuKSB7CiAgICAgICB2YXIg
Zm91bmQgPSBzdWJUZXN0S2V5UGF0dGVybi50ZXN0KGtleSk7CkBAIC01OCw3ICs1NywxNSBAQAog
ICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKICAgfQotICBmdW5jdGlvbiBzdWJzZXRUZXN0QnlLZXko
a2V5LCB0ZXN0RnVuYywgLi4uYXJncykgeworICAvKioKKyAgICogT25seSB0ZXN0IGEgc3Vic2V0
IG9mIHRlc3RzIHdpdGggYD9pbmNsdWRlPUZvb2Agb3IgYD9leGNsdWRlPUZvb2AgaW4gdGhlIFVS
TC4KKyAgICogQ2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgPG1ldGEgbmFtZT0idmFyaWFudCIg
Y29udGVudD0iLi4uIj5gCisgICAqIFNhbXBsZSB1c2FnZToKKyAgICogZm9yIChjb25zdCB0ZXN0
IG9mIHRlc3RzKSB7CisgICAqICAgc3Vic2V0VGVzdEJ5S2V5KCJGb28iLCBhc3luY190ZXN0LCB0
ZXN0LmZuLCB0ZXN0Lm5hbWUpOworICAgKiB9CisgICAqLworICAgZnVuY3Rpb24gc3Vic2V0VGVz
dEJ5S2V5KGtleSwgdGVzdEZ1bmMsIC4uLmFyZ3MpIHsKICAgICBpZiAoY29sbGVjdEtleXMpIHsK
ICAgICAgIGlmIChjb2xsZWN0Q291bnRzICYmIGtleSBpbiBrZXlzKSB7CiAgICAgICAgIGtleXNb
a2V5XSsrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc3Vic2V0LXRlc3RzLmpzCmluZGV4IDM3MTM4MTlj
ODg3NzI2YjM3NWQ1MTk1MDI1NWY3Zjc4NDJiZjYxZjEuLjU4ZTkzNDEzZGU0MDkwNzkyZjA5ZTAy
MDEwZWY4MWM0YTYyN2Q2YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N1YnNldC10ZXN0cy5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9zdWJzZXQtdGVzdHMuanMK
QEAgLTEsOSArMSwzIEBACi0vLyBPbmx5IHRlc3QgYSBzdWJzZXQgb2YgdGVzdHMgd2l0aCwgZS5n
LiwgPzEtMTAgaW4gdGhlIFVSTC4KLS8vIENhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggPG1ldGEg
bmFtZT0idmFyaWFudCIgY29udGVudD0iLi4uIj4KLS8vIFNhbXBsZSB1c2FnZToKLS8vIGZvciAo
Y29uc3QgdGVzdCBvZiB0ZXN0cykgewotLy8gICBzdWJzZXRUZXN0KGFzeW5jX3Rlc3QsIHRlc3Qu
Zm4sIHRlc3QubmFtZSk7Ci0vLyB9CiAoZnVuY3Rpb24oKSB7CiAgIHZhciBzdWJUZXN0U3RhcnQg
PSAwOwogICB2YXIgc3ViVGVzdEVuZCA9IEluZmluaXR5OwpAQCAtMzcsMTAgKzMxLDIzIEBACiAg
ICAgICB9KTsKICAgICB9CiAgIH0KKyAgLyoqCisgICAqIENoZWNrIGlmIGBjdXJyZW50U3ViVGVz
dGAgaXMgaW4gdGhlIHN1YnNldCBzcGVjaWZpZWQgaW4gdGhlIFVSTC4KKyAgICogQHBhcmFtIHtu
dW1iZXJ9IGN1cnJlbnRTdWJUZXN0CisgICAqIEByZXR1cm5zIHtib29sZWFufQorICAgKi8KICAg
ZnVuY3Rpb24gc2hvdWxkUnVuU3ViVGVzdChjdXJyZW50U3ViVGVzdCkgewogICAgIHJldHVybiBj
dXJyZW50U3ViVGVzdCA+PSBzdWJUZXN0U3RhcnQgJiYgY3VycmVudFN1YlRlc3QgPD0gc3ViVGVz
dEVuZDsKICAgfQogICB2YXIgY3VycmVudFN1YlRlc3QgPSAwOworICAvKioKKyAgICogT25seSB0
ZXN0IGEgc3Vic2V0IG9mIHRlc3RzIHdpdGgsIGUuZy4sIGA/MS0xMGAgaW4gdGhlIFVSTC4KKyAg
ICogQ2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgPG1ldGEgbmFtZT0idmFyaWFudCIgY29udGVu
dD0iLi4uIj5gCisgICAqIFNhbXBsZSB1c2FnZToKKyAgICogZm9yIChjb25zdCB0ZXN0IG9mIHRl
c3RzKSB7CisgICAqICAgc3Vic2V0VGVzdChhc3luY190ZXN0LCB0ZXN0LmZuLCB0ZXN0Lm5hbWUp
OworICAgKiB9CisgICAqLwogICBmdW5jdGlvbiBzdWJzZXRUZXN0KHRlc3RGdW5jLCAuLi5hcmdz
KSB7CiAgICAgY3VycmVudFN1YlRlc3QrKzsKICAgICBpZiAoc2hvdWxkUnVuU3ViVGVzdChjdXJy
ZW50U3ViVGVzdCkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29tbW9uL3Rlc3Qtc2V0dGluZy1pbW11dGFibGUtcHJvdG90eXBlLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdGVz
dC1zZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKaW5kZXggOTJlNjFjMDc0MjQxNjZmNGZk
NTE0YWMwY2Q2ZDUwZjFjNjhiMDAyMC4uZGU5YmRkNTkxOWE3OTRiNzY1ZTRmNWJkZDhjMGIwYWM1
MjQyMjdmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb21tb24vdGVzdC1zZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdGVzdC1z
ZXR0aW5nLWltbXV0YWJsZS1wcm90b3R5cGUuanMKQEAgLTEsNyArMSw4IEBACiBzZWxmLnRlc3RT
ZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBlVG9OZXdWYWx1ZU9ubHkgPQotICAocHJlZml4LCB0YXJn
ZXQsIG5ld1ZhbHVlLCBuZXdWYWx1ZVN0cmluZywgeyBpc1NhbWVPcmlnaW5Eb21haW4gfSkgPT4g
eworICAocHJlZml4LCB0YXJnZXQsIG5ld1ZhbHVlLCBuZXdWYWx1ZVN0cmluZywgeyBpc1NhbWVP
cmlnaW5Eb21haW4gfSwKKyAgIHRhcmdldEdsb2JhbCA9IHdpbmRvdykgPT4gewogICB0ZXN0KCgp
ID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IHsKKyAgICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgICAgT2JqZWN0LnNldFByb3RvdHlw
ZU9mKHRhcmdldCwgbmV3VmFsdWUpOwogICAgIH0pOwogICB9LCBgJHtwcmVmaXh9OiBzZXR0aW5n
IHRoZSBwcm90b3R5cGUgdG8gJHtuZXdWYWx1ZVN0cmluZ30gdmlhIE9iamVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3JgKTsKQEAgLTksMTQgKzEwLDIxIEBAIHNlbGYu
dGVzdFNldHRpbmdJbW11dGFibGVQcm90b3R5cGVUb05ld1ZhbHVlT25seSA9CiAgIGxldCBkdW5k
ZXJQcm90b0Vycm9yID0gIlNlY3VyaXR5RXJyb3IiOwogICBsZXQgZHVuZGVyUHJvdG9FcnJvck5h
bWUgPSAiXCJTZWN1cml0eUVycm9yXCIgRE9NRXhjZXB0aW9uIjsKICAgaWYgKGlzU2FtZU9yaWdp
bkRvbWFpbikgewotICAgIGR1bmRlclByb3RvRXJyb3IgPSBuZXcgVHlwZUVycm9yKCk7CisgICAg
Ly8gV2UncmUgZ29pbmcgdG8gZW5kIHVwIGNhbGxpbmcgdGhlIF9fcHJvdG9fXyBzZXR0ZXIsIHdo
aWNoIHdpbGwKKyAgICAvLyBlbnRlciB0aGUgUmVhbG0gb2YgdGFyZ2V0R2xvYmFsIGJlZm9yZSB0
aHJvd2luZy4KKyAgICBkdW5kZXJQcm90b0Vycm9yID0gdGFyZ2V0R2xvYmFsLlR5cGVFcnJvcjsK
ICAgICBkdW5kZXJQcm90b0Vycm9yTmFtZSA9ICJUeXBlRXJyb3IiOwogICB9CiAKICAgdGVzdCgo
KSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cyhkdW5kZXJQcm90b0Vycm9yLCBmdW5jdGlvbigpIHsK
KyAgICBjb25zdCBmdW5jID0gZnVuY3Rpb24oKSB7CiAgICAgICB0YXJnZXQuX19wcm90b19fID0g
bmV3VmFsdWU7Ci0gICAgfSk7CisgICAgfTsKKyAgICBpZiAoaXNTYW1lT3JpZ2luRG9tYWluKSB7
CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKGR1bmRlclByb3RvRXJyb3IsIGZ1bmMpOworICAgIH0g
ZWxzZSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbShkdW5kZXJQcm90b0Vycm9yLCBmdW5jKTsK
KyAgICB9CiAgIH0sIGAke3ByZWZpeH06IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byAke25ld1Zh
bHVlU3RyaW5nfSB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhICR7ZHVuZGVyUHJvdG9FcnJv
ck5hbWV9YCk7CiAKICAgdGVzdCgoKSA9PiB7CkBAIC0yNSw4ICszMywxMCBAQCBzZWxmLnRlc3RT
ZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBlVG9OZXdWYWx1ZU9ubHkgPQogfTsKIAogc2VsZi50ZXN0
U2V0dGluZ0ltbXV0YWJsZVByb3RvdHlwZSA9Ci0gIChwcmVmaXgsIHRhcmdldCwgb3JpZ2luYWxW
YWx1ZSwgeyBpc1NhbWVPcmlnaW5Eb21haW4gfSwgbmV3VmFsdWUgPSB7fSwgbmV3VmFsdWVTdHJp
bmcgPSAiYW4gZW1wdHkgb2JqZWN0IikgPT4gewotICB0ZXN0U2V0dGluZ0ltbXV0YWJsZVByb3Rv
dHlwZVRvTmV3VmFsdWVPbmx5KHByZWZpeCwgdGFyZ2V0LCBuZXdWYWx1ZSwgbmV3VmFsdWVTdHJp
bmcsIHsgaXNTYW1lT3JpZ2luRG9tYWluIH0pOworICAocHJlZml4LCB0YXJnZXQsIG9yaWdpbmFs
VmFsdWUsIHsgaXNTYW1lT3JpZ2luRG9tYWluIH0sIHRhcmdldEdsb2JhbCA9IHdpbmRvdykgPT4g
eworICBjb25zdCBuZXdWYWx1ZSA9IHt9OworICBjb25zdCBuZXdWYWx1ZVN0cmluZyA9ICJhbiBl
bXB0eSBvYmplY3QiOworICB0ZXN0U2V0dGluZ0ltbXV0YWJsZVByb3RvdHlwZVRvTmV3VmFsdWVP
bmx5KHByZWZpeCwgdGFyZ2V0LCBuZXdWYWx1ZSwgbmV3VmFsdWVTdHJpbmcsIHsgaXNTYW1lT3Jp
Z2luRG9tYWluIH0sIHRhcmdldEdsb2JhbCk7CiAKICAgY29uc3Qgb3JpZ2luYWxWYWx1ZVN0cmlu
ZyA9IG9yaWdpbmFsVmFsdWUgPT09IG51bGwgPyAibnVsbCIgOiAiaXRzIG9yaWdpbmFsIHZhbHVl
IjsKIApAQCAtNDQsNyArNTQsNyBAQCBzZWxmLnRlc3RTZXR0aW5nSW1tdXRhYmxlUHJvdG90eXBl
ID0KICAgICB9LCBgJHtwcmVmaXh9OiBzZXR0aW5nIHRoZSBwcm90b3R5cGUgdG8gJHtvcmlnaW5h
bFZhbHVlU3RyaW5nfSB2aWEgX19wcm90b19fIHNob3VsZCBub3QgdGhyb3dgKTsKICAgfSBlbHNl
IHsKICAgICB0ZXN0KCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJTZWN1cml0eUVycm9yIiwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgIHRhcmdldC5fX3Byb3RvX18gPSBuZXdWYWx1ZTsKICAgICAg
IH0pOwogICAgIH0sIGAke3ByZWZpeH06IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byAke29yaWdp
bmFsVmFsdWVTdHJpbmd9IHZpYSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgIlNlY3VyaXR5RXJy
b3IiIHNpbmNlIGAgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcwppbmRleCBiY2RjMjU2ZDkxNzQwNmM2
YjE1MDRiOTZjM2U3MDg3NjA0ZmNkNzVhLi42MmU3NDJiZWU3ZjY3Y2YzYmQ5MmEyMTdhMGE5MmIy
M2ZkZGYzMDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi91dGlscy5qcwpAQCAtMSwzICsxLDE0IEBACisvKioK
KyAqIENyZWF0ZSBhbiBhYnNvbHV0ZSBVUkwgZnJvbSBgb3B0aW9uc2AgYW5kIGRlZmF1bHRpbmcg
dW5zcGVjaWZpZWQgcHJvcGVydGllcyB0byBgd2luZG93LmxvY2F0aW9uYC4KKyAqIEBwYXJhbSB7
T2JqZWN0fSBvcHRpb25zIC0gYSBgTG9jYXRpb25gLWxpa2Ugb2JqZWN0CisgKiBAcGFyYW0ge3N0
cmluZ30gb3B0aW9ucy5ob3N0bmFtZQorICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc3ViZG9t
YWluIC0gcHJlcGVuZCBzdWJkb21haW4gdG8gdGhlIGhvc3RuYW1lCisgKiBAcGFyYW0ge3N0cmlu
Z30gb3B0aW9ucy5wb3J0CisgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXRoCisgKiBAcGFy
YW0ge3N0cmluZ30gb3B0aW9ucy5xdWVyeQorICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaGFz
aAorICogQHJldHVybnMge3N0cmluZ30KKyAqLwogZnVuY3Rpb24gbWFrZV9hYnNvbHV0ZV91cmwo
b3B0aW9ucykgewogICAgIHZhciBsb2MgPSB3aW5kb3cubG9jYXRpb247CiAgICAgdmFyIHByb3Rv
Y29sID0gZ2V0KG9wdGlvbnMsICJwcm90b2NvbCIsIGxvYy5wcm90b2NvbCk7CkBAIC00MSw2ICs1
Miw3IEBAIGZ1bmN0aW9uIG1ha2VfYWJzb2x1dGVfdXJsKG9wdGlvbnMpIHsKICAgICByZXR1cm4g
dXJsOwogfQogCisvKiogQHByaXZhdGUgKi8KIGZ1bmN0aW9uIGdldChvYmosIG5hbWUsIGRlZmF1
bHRfdmFsKSB7CiAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewogICAgICAgICBy
ZXR1cm4gb2JqW25hbWVdOwpAQCAtNDgsNiArNjAsMTAgQEAgZnVuY3Rpb24gZ2V0KG9iaiwgbmFt
ZSwgZGVmYXVsdF92YWwpIHsKICAgICByZXR1cm4gZGVmYXVsdF92YWw7CiB9CiAKKy8qKgorICog
R2VuZXJhdGUgYSBuZXcgVVVJRC4KKyAqIEByZXR1cm5zIHtzdHJpbmd9CisgKi8KIGZ1bmN0aW9u
IHRva2VuKCkgewogICAgIHZhciB1dWlkID0gW3RvX2hleChyYW5kX2ludCgzMiksIDgpLAogICAg
ICAgICAgICAgICAgIHRvX2hleChyYW5kX2ludCgxNiksIDQpLApAQCAtNTcsNiArNzMsNyBAQCBm
dW5jdGlvbiB0b2tlbigpIHsKICAgICByZXR1cm4gdXVpZDsKIH0KIAorLyoqIEBwcml2YXRlICov
CiBmdW5jdGlvbiByYW5kX2ludChiaXRzKSB7CiAgICAgaWYgKGJpdHMgPCAxIHx8IGJpdHMgPiA1
MykgewogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7CkBAIC03MSw2ICs4OCw3IEBAIGZ1
bmN0aW9uIHJhbmRfaW50KGJpdHMpIHsKICAgICB9CiB9CiAKKy8qKiBAcHJpdmF0ZSAqLwogZnVu
Y3Rpb24gdG9faGV4KHgsIGxlbmd0aCkgewogICAgIHZhciBydiA9IHgudG9TdHJpbmcoMTYpOwog
ICAgIHdoaWxlIChydi5sZW5ndGggPCBsZW5ndGgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWlt
cG9ydC5sb2cKaW5kZXggMTk2MWMwNmExMjE5MGNlNWY0ZGQ3MDdjYmI4NmEzZWFmNWZhMGI5MS4u
MzA3MDE1MmM4YTRiODU0ZmVjZDA4MWNkNzQ5OTlkODE4MGY3NjBmOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b21tb24vdzNjLWltcG9ydC5sb2cKQEAgLTM4LDYgKzM4LDggQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9yZWRpcmVj
dC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9u
L3JlZnRlc3Qtd2FpdC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29tbW9uL3JlZnRlc3Qtd2FpdC5qcy5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vcmVuZGVyaW5nLXV0aWxzLmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2FiLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vc2xvdy5w
eQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL3N0
cmluZ2lmaWVycy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29tbW9uL3N0cmluZ2lmaWVycy5qcy5oZWFkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93b3JrbGV0LXJlZnRlc3Qu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93
b3JrbGV0LXJlZnRlc3QuanMKaW5kZXggZDkyYzc2Y2FiZjNjNGE1YmQ1ZmE1NjMwNjM4MmUwOWE2
ZDEzYjQzZi4uZTA1ZDRlZTgwMWI1M2JlNTIxZTU4OWUzNzcwNGYzYmQ5ZWYwMDFmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24v
d29ya2xldC1yZWZ0ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29tbW9uL3dvcmtsZXQtcmVmdGVzdC5qcwpAQCAtMSw3ICsxLDEyIEBACi0v
LyBJbXBvcnRzIGNvZGUgaW50byBhIHdvcmtsZXQuIEUuZy4KLS8vCi0vLyBpbXBvcnRXb3JrbGV0
KENTUy5wYWludFdvcmtsZXQsIHt1cmw6ICdzY3JpcHQuanMnfSk7Ci0vLyBpbXBvcnRXb3JrbGV0
KENTUy5wYWludFdvcmtsZXQsICcvKiBqYXZhc2NyaXB0IHN0cmluZyAqLycpOworLyoqCisgKiBJ
bXBvcnRzIGNvZGUgaW50byBhIHdvcmtsZXQuIEUuZy4KKyAqCisgKiBpbXBvcnRXb3JrbGV0KENT
Uy5wYWludFdvcmtsZXQsIHt1cmw6ICdzY3JpcHQuanMnfSk7CisgKiBpbXBvcnRXb3JrbGV0KENT
Uy5wYWludFdvcmtsZXQsICcoamF2YXNjcmlwdCBzdHJpbmcpJyk7CisgKgorICogQHBhcmFtIHtX
b3JrbGV0fSB3b3JrbGV0CisgKiBAcGFyYW0geyhPYmplY3R8c3RyaW5nKX0gY29kZQorICovCiBm
dW5jdGlvbiBpbXBvcnRXb3JrbGV0KHdvcmtsZXQsIGNvZGUpIHsKICAgICBsZXQgdXJsOwogICAg
IGlmICh0eXBlb2YgY29kZSA9PT0gJ29iamVjdCcpIHsKQEAgLTE0LDE4ICsxOSwyNSBAQCBmdW5j
dGlvbiBpbXBvcnRXb3JrbGV0KHdvcmtsZXQsIGNvZGUpIHsKICAgICByZXR1cm4gd29ya2xldC5h
ZGRNb2R1bGUodXJsKTsKIH0KIAorLyoqIEBwcml2YXRlICovCiBhc3luYyBmdW5jdGlvbiBhbmlt
YXRpb25GcmFtZXMoZnJhbWVzKSB7CiAgIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzOyBpKysp
CiAgICAgYXdhaXQgbmV3IFByb21pc2UocmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKIH0KIAorLyoq
IEBwcml2YXRlICovCiBhc3luYyBmdW5jdGlvbiB3b3JrbGV0UGFpbnRlZCgpIHsKICAgICBhd2Fp
dCBhbmltYXRpb25GcmFtZXMoMik7CiB9CiAKLS8vIFRvIG1ha2Ugc3VyZSB0aGF0IHdlIHRha2Ug
dGhlIHNuYXBzaG90IGF0IHRoZSByaWdodCB0aW1lLCB3ZSBkbyBkb3VibGUKLS8vIHJlcXVlc3RB
bmltYXRpb25GcmFtZS4gSW4gdGhlIHNlY29uZCBmcmFtZSwgd2UgdGFrZSBhIHNjcmVlbnNob3Qs
IHRoYXQgbWFrZXMKLS8vIHN1cmUgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgYSBmdWxsIGZyYW1lLgor
LyoqCisgKiBUbyBtYWtlIHN1cmUgdGhhdCB3ZSB0YWtlIHRoZSBzbmFwc2hvdCBhdCB0aGUgcmln
aHQgdGltZSwgd2UgZG8gZG91YmxlCisgKiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuIEluIHRoZSBz
ZWNvbmQgZnJhbWUsIHdlIHRha2UgYSBzY3JlZW5zaG90LCB0aGF0IG1ha2VzCisgKiBzdXJlIHRo
YXQgd2UgYWxyZWFkeSBoYXZlIGEgZnVsbCBmcmFtZS4KKyAqCisgKiBAcGFyYW0ge1dvcmtsZXR9
IHdvcmtsZXQKKyAqIEBwYXJhbSB7KE9iamVjdHxzdHJpbmcpfSBjb2RlCisgKi8KIGFzeW5jIGZ1
bmN0aW9uIGltcG9ydFdvcmtsZXRBbmRUZXJtaW5hdGVUZXN0QWZ0ZXJBc3luY1BhaW50KHdvcmts
ZXQsIGNvZGUpIHsKICAgICBpZiAodHlwZW9mIHdvcmtsZXQgPT09ICd1bmRlZmluZWQnKSB7CiAg
ICAgICAgIHRha2VTY3JlZW5zaG90KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRp
b24taW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvdHlwZS1zZXR0aW5nLXNhbWUtb3JpZ2luLWRvbWFp
bi5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2Nh
dGlvbi1wcm90b3R5cGUtc2V0dGluZy1zYW1lLW9yaWdpbi1kb21haW4uc3ViLWV4cGVjdGVkLnR4
dAppbmRleCBlY2Y3NTY3NTc1ZWJkNjA3Zjk0MWU2ZGYwZDVlNDIwOGJjZTEyMGJhLi42ZTVjZjE2
NTFiNWNmZGRmM2QxNDYzMTNhYjVkYTI1ODY0NmUxYmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90
aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvdHlwZS1zZXR0aW5nLXNhbWUtb3Jp
Z2luLWRvbWFpbi5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1p
bnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLXNldHRpbmctc2FtZS1vcmlnaW4tZG9tYWluLnN1
Yi1leHBlY3RlZC50eHQKQEAgLTMsOSArMywxMSBAQCBDT05TT0xFIE1FU1NBR0U6IFNlY3VyaXR5
RXJyb3I6IEF0dGVtcHRlZCB0byB1c2UgYSBub24tcmVnaXN0cmFibGUgZG9tYWluLgogCiBGQUlM
IFNhbWUtb3JpZ2luLWRvbWFpbiBwcmVyZXF1aXNpdGUgY2hlY2s6IHRoZSBvcmlnaW5hbCBwcm90
b3R5cGUgaXMgYWNjZXNzaWJsZSBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFs
dWUgbnVsbAogUEFTUyBTYW1lLW9yaWdpbi1kb21haW46IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0
byBhbiBlbXB0eSBvYmplY3QgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgdGhyb3cg
YSBUeXBlRXJyb3IgCi1GQUlMIFNhbWUtb3JpZ2luLWRvbWFpbjogc2V0dGluZyB0aGUgcHJvdG90
eXBlIHRvIGFuIGVtcHR5IG9iamVjdCB2aWEgX19wcm90b19fIHNob3VsZCB0aHJvdyBhIFR5cGVF
cnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworRkFJTCBTYW1lLW9y
aWdpbi1kb21haW46IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byBhbiBlbXB0eSBvYmplY3Qgdmlh
IF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAgIHRhcmdldC5fX3Byb3RvX18gPSBuZXdWYWx1ZTsK
LSAgICB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRo
IG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9y
aWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4iICgi
U2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIp
CisgICAgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0
aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1v
cmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIiAo
IlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24g
VHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiVHlwZUVycm9yIikKIFBBU1Mg
U2FtZS1vcmlnaW4tZG9tYWluOiBzZXR0aW5nIHRoZSBwcm90b3R5cGUgdG8gYW4gZW1wdHkgb2Jq
ZWN0IHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UgCiBQQVNT
IFNhbWUtb3JpZ2luLWRvbWFpbjogdGhlIHByb3RvdHlwZSBtdXN0IHN0aWxsIGJlIG51bGwgCiBQ
QVNTIFNhbWUtb3JpZ2luLWRvbWFpbjogc2V0dGluZyB0aGUgcHJvdG90eXBlIHRvIG51bGwgdmlh
IE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90IHRocm93IApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3Ro
ZS13aW5kb3dwcm94eS1leG90aWMtb2JqZWN0L3dpbmRvd3Byb3h5LXByb3RvdHlwZS1zZXR0aW5n
LXNhbWUtb3JpZ2luLWRvbWFpbi5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3RoZS13aW5kb3dwcm94eS1l
eG90aWMtb2JqZWN0L3dpbmRvd3Byb3h5LXByb3RvdHlwZS1zZXR0aW5nLXNhbWUtb3JpZ2luLWRv
bWFpbi5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGVjZjc1Njc1NzVlYmQ2MDdmOTQxZTZkZjBkNWU0
MjA4YmNlMTIwYmEuLjZlNWNmMTY1MWI1Y2ZkZGYzZDE0NjMxM2FiNWRhMjU4NjQ2ZTFiZTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy90aGUtd2luZG93cHJveHktZXhvdGljLW9iamVjdC93aW5kb3dwcm94eS1wcm90
b3R5cGUtc2V0dGluZy1zYW1lLW9yaWdpbi1kb21haW4uc3ViLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
dGhlLXdpbmRvd3Byb3h5LWV4b3RpYy1vYmplY3Qvd2luZG93cHJveHktcHJvdG90eXBlLXNldHRp
bmctc2FtZS1vcmlnaW4tZG9tYWluLnN1Yi1leHBlY3RlZC50eHQKQEAgLTMsOSArMywxMSBAQCBD
T05TT0xFIE1FU1NBR0U6IFNlY3VyaXR5RXJyb3I6IEF0dGVtcHRlZCB0byB1c2UgYSBub24tcmVn
aXN0cmFibGUgZG9tYWluLgogCiBGQUlMIFNhbWUtb3JpZ2luLWRvbWFpbiBwcmVyZXF1aXNpdGUg
Y2hlY2s6IHRoZSBvcmlnaW5hbCBwcm90b3R5cGUgaXMgYWNjZXNzaWJsZSBhc3NlcnRfbm90X2Vx
dWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgbnVsbAogUEFTUyBTYW1lLW9yaWdpbi1kb21haW46
IHNldHRpbmcgdGhlIHByb3RvdHlwZSB0byBhbiBlbXB0eSBvYmplY3QgdmlhIE9iamVjdC5zZXRQ
cm90b3R5cGVPZiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgCi1GQUlMIFNhbWUtb3JpZ2luLWRv
bWFpbjogc2V0dGluZyB0aGUgcHJvdG90eXBlIHRvIGFuIGVtcHR5IG9iamVjdCB2aWEgX19wcm90
b19fIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworRkFJTCBTYW1lLW9yaWdpbi1kb21haW46IHNldHRpbmcgdGhlIHByb3RvdHlw
ZSB0byBhbiBlbXB0eSBvYmplY3QgdmlhIF9fcHJvdG9fXyBzaG91bGQgdGhyb3cgYSBUeXBlRXJy
b3IgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAgIHRhcmdl
dC5fX3Byb3RvX18gPSBuZXdWYWx1ZTsKLSAgICB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJy
b3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBm
cm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAi
VHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCisgICAgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVy
cm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIg
ZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywg
YW5kIHBvcnRzIG11c3QgbWF0Y2guIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5j
ZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiVHlwZUVycm9yIikKIFBBU1MgU2FtZS1vcmlnaW4tZG9tYWluOiBzZXR0aW5nIHRoZSBw
cm90b3R5cGUgdG8gYW4gZW1wdHkgb2JqZWN0IHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNo
b3VsZCByZXR1cm4gZmFsc2UgCiBQQVNTIFNhbWUtb3JpZ2luLWRvbWFpbjogdGhlIHByb3RvdHlw
ZSBtdXN0IHN0aWxsIGJlIG51bGwgCiBQQVNTIFNhbWUtb3JpZ2luLWRvbWFpbjogc2V0dGluZyB0
aGUgcHJvdG90eXBlIHRvIG51bGwgdmlhIE9iamVjdC5zZXRQcm90b3R5cGVPZiBzaG91bGQgbm90
IHRocm93IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>