<?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>176315</bug_id>
          
          <creation_ts>2017-09-03 11:43:34 -0700</creation_ts>
          <short_desc>Consolidate entries-api tests under entries-api/ folders</short_desc>
          <delta_ts>2017-09-27 12:38:01 -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>175976</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>lforschler</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1345006</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-09-03 11:43:34 -0700</bug_when>
    <thetext>Consolidate entries-api tests under entries-api/ folders, for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345007</commentid>
    <comment_count>1</comment_count>
      <attachid>319790</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-09-03 11:45:38 -0700</bug_when>
    <thetext>Created attachment 319790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345057</commentid>
    <comment_count>2</comment_count>
      <attachid>319790</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-03 14:49:21 -0700</bug_when>
    <thetext>Comment on attachment 319790
Patch

Clearing flags on attachment: 319790

Committed r221556: &lt;http://trac.webkit.org/changeset/221556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345058</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-03 14:49:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353548</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:38:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693645&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319790</attachid>
            <date>2017-09-03 11:45:38 -0700</date>
            <delta_ts>2017-09-03 14:49:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176315-20170903114537.patch</filename>
            <type>text/plain</type>
            <size>141879</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNTQ4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGRlN2Y5OWNjZDczNzI2OTZhYTI2
NzhlNDA4ZDBlMDY4ZWM5YzRiMS4uNjVmMzA5NDY1MWYyOTk1YzJhM2EwMWFjYWQzOWM3Y2IxMmM1
ZWU4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE3LTA5LTAzICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ29uc29saWRhdGUgZW50cmllcy1hcGkgdGVzdHMg
dW5kZXIgZW50cmllcy1hcGkvIGZvbGRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NjMxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbnNvbGlkYXRlIGVudHJpZXMtYXBpIHRlc3RzIHVuZGVyIGVu
dHJpZXMtYXBpLyBmb2xkZXJzLCBmb3IgY2xhcml0eS4KKyAgICAgICAgQWxzbyBkcm9wIGFuIG9s
ZGVyIHRlc3QgZm9yIGRpcmVjdG9yeSB1cGxvYWQgd2hpY2ggZGlkIG5vdCBwYXNzIGJlY2F1c2UK
KyAgICAgICAgaXQgd2FzIG1pc3NpbmcgaXRzIHJlc291cmNlcy4gV2Ugbm93IGhhdmUgZ29vZCBj
b3ZlcmFnZSBmb3IgdGhpcyBmZWF0dXJlCisgICAgICAgIHNvIHRoaXMgdGVzdCBpcyBub3QgbmVl
ZGVkLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLWVycm9yLWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMt
ZHJvcC1kaXJlY3RvcnlSZWFkZXItZXJyb3ItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9y
eVJlYWRlci1lcnJvci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1lcnJvci5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1p
dGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0
b3J5UmVhZGVyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50
aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItcm9vdC1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0
YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJvb3QtZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVt
cy1kcm9wLWRpcmVjdG9yeVJlYWRlci1yb290Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVh
ZGVyLXJvb3QuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9k
YXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXIuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1k
aXJlY3RvcnlSZWFkZXIuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVz
LWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1maWxlRW50cnktZmlsZS1leHBlY3RlZC50eHQ6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVy
LWl0ZW1zLWRyb3AtZmlsZUVudHJ5LWZpbGUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWZpbGVFbnRy
eS1maWxlLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
ZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZmlsZUVudHJ5LWZpbGUuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRB
c0VudHJ5LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4dC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRl
bXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1k
cm9wLWdldERpcmVjdG9yeS1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RGlyZWN0b3J5LWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3RvcnkuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJl
Y3RvcnkuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1nZXRGaWxlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRG
aWxlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFw
aS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRGaWxlLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0Rmls
ZS5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFu
c2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFy
ZW50LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFw
aS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQtcm9vdC1leHBlY3RlZC50eHQ6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0
ZW1zLWRyb3AtZ2V0UGFyZW50LXJvb3QtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1y
b290Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0
YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LXJvb3QuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJl
bnQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQyLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
YXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRQYXJlbnQyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50Mi5odG1sLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzL2ZpbGUxLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZp
bGVzL2ZpbGUxLnR4dC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVz
b3VyY2VzL3Rlc3RGaWxlcy9maWxlMi50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9maWxlMi50eHQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3Jlc291cmNlcy90ZXN0RmlsZXMvc3ViZm9sZGVyMS9m
aWxlMy50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3Vy
Y2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2ZpbGUvZW50cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVz
dEZpbGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0LgorICAgICAgICAqIGZhc3QvZm9ybXMvZmlsZS9l
bnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmls
ZTUudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNl
cy90ZXN0RmlsZXMvc3ViZm9sZGVyMi9zdWJmb2xkZXIyYS9maWxlNS50eHQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9yeS1kcmFnLWZvbGRlci1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Vi
a2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LWRy
YWctZm9sZGVyLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dl
YmtpdGRpcmVjdG9yeS1vcGVuLXBhbmVsLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVj
dG9yeS1vcGVuLXBhbmVsLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2ZpbGUvd2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2ZpbGUvaW5wdXQtZmlsZS1kaXJlY3RvcnktdXBsb2FkLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1kaXJlY3RvcnktdXBsb2Fk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkv
d2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5
LW9wZW4tcGFuZWwtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTA5LTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IEZpbGVTeXN0
ZW1GaWxlRW50cnkuZmlsZSgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLWVycm9yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRl
bXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItZXJyb3ItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlMzdkOGM1YmFmOGZiZjE3MTMzOGM0MWI4ZWI3ODk3MjA5ZjE5ZTE2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlS
ZWFkZXItZXJyb3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAot
RXJyb3IgY2FzZSBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5yZWFkRW50
cmllcygpCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRhdGFUcmFuc2Zl
ci5pdGVtcy5sZW5ndGggaXMgMQotUEFTUyBleC5uYW1lIGlzICJJbnZhbGlkU3RhdGVFcnJvciIK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1z
LWRyb3AtZGlyZWN0b3J5UmVhZGVyLWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLWVycm9yLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiZGM1YjY0Y2E4OTU4M2E2YjU3MmNi
NWQyNjk0MzhjNDdjNjcyZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVt
cy1kcm9wLWRpcmVjdG9yeVJlYWRlci1lcnJvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9lZGl0
aW5nLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0iZHJvcHpvbmUiIHN0
eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiRXJyb3IgY2FzZSBjb3ZlcmFnZSBmb3Ig
ZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5yZWFkRW50cmllcygpIik7Ci1qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotdmFyIGRyb3B6b25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3B6
b25lJyk7Ci1kcm9wem9uZS5vbmRyb3AgPSBmdW5jdGlvbihlKSB7Ci0gICAgZS5wcmV2ZW50RGVm
YXVsdCgpOwotICAgIGRhdGFUcmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVyOwotCi0gICAgc2hvdWxk
QmUoImRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGgiLCAiMSIpOwotCi0gICAgZGlyRW50cnkgPSBk
YXRhVHJhbnNmZXIuaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOwotICAgIGxldCByZWFkZXIg
PSBkaXJFbnRyeS5jcmVhdGVSZWFkZXIoKTsKLSAgICByZWFkZXIucmVhZEVudHJpZXMoZnVuY3Rp
b24oKSB7fSk7Ci0gICAgcmVhZGVyLnJlYWRFbnRyaWVzKGZ1bmN0aW9uKGVudHJpZXMpIHsKLSAg
ICAgICAgdGVzdEZhaWxlZCgiQ2FsbGluZyByZWFkRW50cmllcyBvbiBhIHJlYWRlciB3aXRoIHRo
ZSByZWFkaW5nIGZsYWcgc2V0IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uIik7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgZXggPSBlOwot
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiSW52YWxpZFN0YXRlRXJy
b3IiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCkKLSAgICB9KTsKLX07Ci0KLWRyb3B6b25lLm9u
ZHJhZ292ZXIgPSBmdW5jdGlvbihldikgewotICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Ci19Ci0K
LW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6b25l
LCBbJy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzJ10pOwotfQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRl
bXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzOWVhNmFhM2EyMmVhODEyNzRiNDg0MzMxMGQ2ODQ0ZDE0MWFjM2VlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXIt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotQmFzaWMgdGVzdCBj
b3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5yZWFkRW50cmllcygpCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5n
dGggaXMgMQotUEFTUyBlbnRyeS5pc0RpcmVjdG9yeSBpcyB0cnVlCi1QQVNTIGVudHJ5Lm5hbWUg
aXMgInRlc3RGaWxlcyIKLVBBU1MgZW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCi1QQVNT
IGNoaWxkRW50cmllcy5sZW5ndGggaXMgNAotUEFTUyBjaGlsZEVudHJpZXNbMF0ubmFtZSBpcyAi
ZmlsZTEudHh0IgotUEFTUyBjaGlsZEVudHJpZXNbMF0uZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMv
ZmlsZTEudHh0IgotUEFTUyBjaGlsZEVudHJpZXNbMF0uaXNGaWxlIGlzIHRydWUKLVBBU1MgY2hp
bGRFbnRyaWVzWzFdLm5hbWUgaXMgImZpbGUyLnR4dCIKLVBBU1MgY2hpbGRFbnRyaWVzWzFdLmZ1
bGxQYXRoIGlzICIvdGVzdEZpbGVzL2ZpbGUyLnR4dCIKLVBBU1MgY2hpbGRFbnRyaWVzWzFdLmlz
RmlsZSBpcyB0cnVlCi1QQVNTIGNoaWxkRW50cmllc1syXS5uYW1lIGlzICJzdWJmb2xkZXIxIgot
UEFTUyBjaGlsZEVudHJpZXNbMl0uZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMSIK
LVBBU1MgY2hpbGRFbnRyaWVzWzJdLmlzRGlyZWN0b3J5IGlzIHRydWUKLVBBU1MgY2hpbGRFbnRy
aWVzWzNdLm5hbWUgaXMgInN1YmZvbGRlcjIiCi1QQVNTIGNoaWxkRW50cmllc1szXS5mdWxsUGF0
aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyIgotUEFTUyBjaGlsZEVudHJpZXNbM10uaXNEaXJl
Y3RvcnkgaXMgdHJ1ZQotUEFTUyBncmFuZENoaWxkRW50cmllcy5sZW5ndGggaXMgMQotUEFTUyBn
cmFuZENoaWxkRW50cmllc1swXS5uYW1lIGlzICJmaWxlMy50eHQiCi1QQVNTIGdyYW5kQ2hpbGRF
bnRyaWVzWzBdLmZ1bGxQYXRoIGlzICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0Igot
UEFTUyBncmFuZENoaWxkRW50cmllc1swXS5pc0ZpbGUgaXMgdHJ1ZQotUEFTUyBncmFuZENoaWxk
RW50cmllcy5sZW5ndGggaXMgMgotUEFTUyBncmFuZENoaWxkRW50cmllc1swXS5uYW1lIGlzICJm
aWxlNC50eHQiCi1QQVNTIGdyYW5kQ2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRoIGlzICIvdGVzdEZp
bGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0IgotUEFTUyBncmFuZENoaWxkRW50cmllc1swXS5pc0Zp
bGUgaXMgdHJ1ZQotUEFTUyBncmFuZENoaWxkRW50cmllc1sxXS5uYW1lIGlzICJzdWJmb2xkZXIy
YSIKLVBBU1MgZ3JhbmRDaGlsZEVudHJpZXNbMV0uZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvc3Vi
Zm9sZGVyMi9zdWJmb2xkZXIyYSIKLVBBU1MgZ3JhbmRDaGlsZEVudHJpZXNbMV0uaXNEaXJlY3Rv
cnkgaXMgdHJ1ZQotUEFTUyBncmVhdEdyYW5kQ2hpbGRFbnRyaWVzLmxlbmd0aCBpcyAxCi1QQVNT
IGdyZWF0R3JhbmRDaGlsZEVudHJpZXNbMF0ubmFtZSBpcyAiZmlsZTUudHh0IgotUEFTUyBncmVh
dEdyYW5kQ2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRoIGlzICIvdGVzdEZpbGVzL3N1YmZvbGRlcjIv
c3ViZm9sZGVyMmEvZmlsZTUudHh0IgotUEFTUyBncmVhdEdyYW5kQ2hpbGRFbnRyaWVzWzBdLmlz
RmlsZSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0
cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1yb290LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJl
Y3RvcnlSZWFkZXItcm9vdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQxMzAwNWZkZDk1NWI0MzAyYzcxZThmMDA2OGE0MzEzZTgyYTQ3MWQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1yb290LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLUJhc2ljIHRlc3QgY292
ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIucmVhZEVudHJpZXMoKQotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3Ro
IGlzIDIKLVBBU1MgZW50cnkxLmlzRmlsZSBpcyB0cnVlCi1QQVNTIGVudHJ5MS5uYW1lIGlzICJ0
ZXN0LnR4dCIKLVBBU1MgZW50cnkxLmZ1bGxQYXRoIGlzICIvdGVzdC50eHQiCi1QQVNTIGVudHJ5
Rm91bmQuaXNGaWxlIGlzIHRydWUKLVBBU1MgZW50cnlGb3VuZC5uYW1lIGlzICJ0ZXN0LnR4dCIK
LVBBU1MgZW50cnlGb3VuZC5mdWxsUGF0aCBpcyAiL3Rlc3QudHh0IgotUEFTUyBlbnRyeTIuaXNE
aXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyBlbnRyeTIubmFtZSBpcyAidGVzdEZpbGVzIgotUEFTUyBl
bnRyeTIuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCi1QQVNTIGVudHJ5Rm91bmQuaXNEaXJlY3Rv
cnkgaXMgdHJ1ZQotUEFTUyBlbnRyeUZvdW5kLm5hbWUgaXMgInRlc3RGaWxlcyIKLVBBU1MgZW50
cnlGb3VuZC5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcyIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJv
b3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRl
bXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItcm9vdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkMzZhZDgzYWUxYjkxMGViMTI5MDdmYTBjNzUyOWMwYTdlZGViZGMzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItcm9v
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlw
dGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5y
ZWFkRW50cmllcygpIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24gZ2V0RW50
cmllc0FzUHJvbWlzZShkaXJFbnRyeSkgewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBbXTsKLSAgICAgICAgbGV0IHJl
YWRlciA9IGRpckVudHJ5LmNyZWF0ZVJlYWRlcigpOwotICAgICAgICBsZXQgZG9CYXRjaCA9ICgp
ID0+IHsKLSAgICAgICAgICAgIHJlYWRlci5yZWFkRW50cmllcyhlbnRyaWVzID0+IHsKLSAgICAg
ICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICBlbnRyaWVz
LmZvckVhY2goZSA9PiByZXN1bHQucHVzaChlKSk7Ci0gICAgICAgICAgICAgICAgZG9CYXRjaCgp
OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sIHJlamVjdCk7Ci0gICAgfTsKLSAgICBkb0JhdGNo
KCk7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiBmaW5kRW50cnlCeU5hbWUoZW50cmllcywgbmFtZSkK
LXsKLSAgICBmb3IgKGxldCBjaGlsZEVudHJ5IG9mIGVudHJpZXMpIHsKLSAgICAgICAgaWYgKGNo
aWxkRW50cnkubmFtZSA9PSBuYW1lKQotICAgICAgICAgICAgcmV0dXJuIGNoaWxkRW50cnkKLSAg
ICB9Ci0gICAgcmV0dXJuIG51bGw7Ci19Ci0KLXZhciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdkcm9wem9uZScpOwotZHJvcHpvbmUub25kcm9wID0gZnVuY3Rpb24oZSkgewot
ICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2Zl
cjsKLQotICAgIHNob3VsZEJlKCJkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIiwgIjIiKTsKLQot
ICAgIGVudHJ5MSA9IGRhdGFUcmFuc2Zlci5pdGVtc1swXS53ZWJraXRHZXRBc0VudHJ5KCk7Ci0g
ICAgZW50cnkyID0gZGF0YVRyYW5zZmVyLml0ZW1zWzFdLndlYmtpdEdldEFzRW50cnkoKTsKLQot
ICAgIHNob3VsZEJlVHJ1ZSgiZW50cnkxLmlzRmlsZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZW50cnkxLm5hbWUiLCAidGVzdC50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImVudHJ5MS5mdWxsUGF0aCIsICIvdGVzdC50eHQiKTsKLSAgICBnZXRFbnRyaWVzQXNQcm9t
aXNlKGVudHJ5MS5maWxlc3lzdGVtLnJvb3QpLnRoZW4oZnVuY3Rpb24oZW50cmllcykgewotICAg
ICAgICBlbnRyeUZvdW5kID0gZmluZEVudHJ5QnlOYW1lKGVudHJpZXMsICJ0ZXN0LnR4dCIpOwot
ICAgICAgICBzaG91bGRCZVRydWUoImVudHJ5Rm91bmQuaXNGaWxlIik7Ci0gICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZW50cnlGb3VuZC5uYW1lIiwgInRlc3QudHh0Iik7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnlGb3VuZC5mdWxsUGF0aCIsICIvdGVzdC50eHQi
KTsKLQotICAgICAgICBzaG91bGRCZVRydWUoImVudHJ5Mi5pc0RpcmVjdG9yeSIpOwotICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5Mi5uYW1lIiwgInRlc3RGaWxlcyIpOwotICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5Mi5mdWxsUGF0aCIsICIvdGVzdEZpbGVz
Iik7Ci0gICAgICAgIGdldEVudHJpZXNBc1Byb21pc2UoZW50cnkyLmZpbGVzeXN0ZW0ucm9vdCku
dGhlbihmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgICAgICBlbnRyeUZvdW5kID0gZmluZEVu
dHJ5QnlOYW1lKGVudHJpZXMsICJ0ZXN0RmlsZXMiKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiZW50cnlGb3VuZC5pc0RpcmVjdG9yeSIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJlbnRyeUZvdW5kLm5hbWUiLCAidGVzdEZpbGVzIik7Ci0gICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5Rm91bmQuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcyIpOwot
Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oZSkgewot
ICAgICAgICAgICAgdGVzdEZhaWxlZCgicmVhZEVudHJpZXMgZmFpbGVkOiAiICsgZSk7Ci0gICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSwgZnVuY3Rpb24oZSkg
ewotICAgICAgICB0ZXN0RmFpbGVkKCJyZWFkRW50cmllcyBmYWlsZWQ6ICIgKyBlKTsKLSAgICAg
ICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7Ci19OwotCi1kcm9wem9uZS5vbmRyYWdvdmVyID0g
ZnVuY3Rpb24oZXYpIHsKLSAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwotfQotCi1vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgICBkcmFnRmlsZXNPbnRvRWxlbWVudChkcm9wem9uZSwgWycuLi8uLi9m
YXN0L2Zvcm1zL3Jlc291cmNlcy90ZXN0LnR4dCcsICcuLi8uLi9mYXN0L2Zvcm1zL2ZpbGUvcmVz
b3VyY2VzL3Rlc3RGaWxlcyddKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVt
cy1kcm9wLWRpcmVjdG9yeVJlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmU4YmM5ZTVmMmIzMGE1MjM3NjQ1YzU1MmM4NzZlZDQ5
MTg4MTBjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJl
Y3RvcnlSZWFkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAyMDBw
eDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgotPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyLnJlYWRFbnRyaWVzKCkiKTsKLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1mdW5j
dGlvbiBnZXRFbnRyaWVzQXNQcm9taXNlKGRpckVudHJ5KSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IFtdOwotICAg
ICAgICBsZXQgcmVhZGVyID0gZGlyRW50cnkuY3JlYXRlUmVhZGVyKCk7Ci0gICAgICAgIGxldCBk
b0JhdGNoID0gKCkgPT4gewotICAgICAgICAgICAgcmVhZGVyLnJlYWRFbnRyaWVzKGVudHJpZXMg
PT4gewotICAgICAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoID4gMCkgewotICAgICAgICAgICAg
ICAgIGVudHJpZXMuZm9yRWFjaChlID0+IHJlc3VsdC5wdXNoKGUpKTsKLSAgICAgICAgICAgICAg
ICBkb0JhdGNoKCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHJlc29s
dmUocmVzdWx0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwgcmVqZWN0KTsKLSAgICB9Owot
ICAgIGRvQmF0Y2goKTsKLSAgfSk7Ci19Ci0KLXZhciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdkcm9wem9uZScpOwotZHJvcHpvbmUub25kcm9wID0gZnVuY3Rpb24oZSkgewot
ICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2Zl
cjsKLQotICAgIHNob3VsZEJlKCJkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIiwgIjEiKTsKLQot
ICAgIGVudHJ5ID0gZGF0YVRyYW5zZmVyLml0ZW1zWzBdLndlYmtpdEdldEFzRW50cnkoKTsKLSAg
ICBzaG91bGRCZVRydWUoImVudHJ5LmlzRGlyZWN0b3J5Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJlbnRyeS5uYW1lIiwgInRlc3RGaWxlcyIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcyIpOwotCi0gICAgZ2V0RW50cmllc0Fz
UHJvbWlzZShlbnRyeSkudGhlbihmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgIGNoaWxkRW50
cmllcyA9IGVudHJpZXM7Ci0gICAgICAgIHNob3VsZEJlKCJjaGlsZEVudHJpZXMubGVuZ3RoIiwg
IjQiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGlsZEVudHJpZXNbMF0ubmFt
ZSIsICJmaWxlMS50eHQiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGlsZEVu
dHJpZXNbMF0uZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9maWxlMS50eHQiKTsKLSAgICAgICAgc2hv
dWxkQmVUcnVlKCJjaGlsZEVudHJpZXNbMF0uaXNGaWxlIik7Ci0KLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJjaGlsZEVudHJpZXNbMV0ubmFtZSIsICJmaWxlMi50eHQiKTsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGlsZEVudHJpZXNbMV0uZnVsbFBhdGgiLCAiL3Rl
c3RGaWxlcy9maWxlMi50eHQiKTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJjaGlsZEVudHJpZXNb
MV0uaXNGaWxlIik7Ci0KLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGlsZEVudHJp
ZXNbMl0ubmFtZSIsICJzdWJmb2xkZXIxIik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiY2hpbGRFbnRyaWVzWzJdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMSIpOwot
ICAgICAgICBzaG91bGRCZVRydWUoImNoaWxkRW50cmllc1syXS5pc0RpcmVjdG9yeSIpOwotCi0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2hpbGRFbnRyaWVzWzNdLm5hbWUiLCAic3Vi
Zm9sZGVyMiIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNoaWxkRW50cmllc1sz
XS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjIiKTsKLSAgICAgICAgc2hvdWxkQmVU
cnVlKCJjaGlsZEVudHJpZXNbM10uaXNEaXJlY3RvcnkiKTsKLQotICAgICAgICBnZXRFbnRyaWVz
QXNQcm9taXNlKGNoaWxkRW50cmllc1syXSkudGhlbihmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAg
ICAgICAgICBncmFuZENoaWxkRW50cmllcyA9IGVudHJpZXM7Ci0gICAgICAgICAgICBzaG91bGRC
ZSgiZ3JhbmRDaGlsZEVudHJpZXMubGVuZ3RoIiwgIjEiKTsKLSAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZ3JhbmRDaGlsZEVudHJpZXNbMF0ubmFtZSIsICJmaWxlMy50eHQiKTsK
LSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ3JhbmRDaGlsZEVudHJpZXNbMF0u
ZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIpOwotICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJncmFuZENoaWxkRW50cmllc1swXS5pc0ZpbGUiKTsKLQotICAgICAg
ICAgICAgZ2V0RW50cmllc0FzUHJvbWlzZShjaGlsZEVudHJpZXNbM10pLnRoZW4oZnVuY3Rpb24o
ZW50cmllcykgewotICAgICAgICAgICAgICAgIGdyYW5kQ2hpbGRFbnRyaWVzID0gZW50cmllczsK
LSAgICAgICAgICAgICAgICBzaG91bGRCZSgiZ3JhbmRDaGlsZEVudHJpZXMubGVuZ3RoIiwgIjIi
KTsKLSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdyYW5kQ2hpbGRFbnRy
aWVzWzBdLm5hbWUiLCAiZmlsZTQudHh0Iik7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJncmFuZENoaWxkRW50cmllc1swXS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL3N1
YmZvbGRlcjIvZmlsZTQudHh0Iik7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJncmFu
ZENoaWxkRW50cmllc1swXS5pc0ZpbGUiKTsKLQotICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZ3JhbmRDaGlsZEVudHJpZXNbMV0ubmFtZSIsICJzdWJmb2xkZXIyYSIpOwot
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ3JhbmRDaGlsZEVudHJpZXNb
MV0uZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhIik7Ci0gICAg
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJncmFuZENoaWxkRW50cmllc1sxXS5pc0RpcmVjdG9y
eSIpOwotCi0gICAgICAgICAgICAgICAgZ2V0RW50cmllc0FzUHJvbWlzZShncmFuZENoaWxkRW50
cmllc1sxXSkudGhlbihmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGdy
ZWF0R3JhbmRDaGlsZEVudHJpZXMgPSBlbnRyaWVzOwotICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiZ3JlYXRHcmFuZENoaWxkRW50cmllcy5sZW5ndGgiLCAiMSIpOwotICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdyZWF0R3JhbmRDaGlsZEVudHJpZXNbMF0u
bmFtZSIsICJmaWxlNS50eHQiKTsKLSAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJncmVhdEdyYW5kQ2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMv
c3ViZm9sZGVyMi9zdWJmb2xkZXIyYS9maWxlNS50eHQiKTsKLSAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJncmVhdEdyYW5kQ2hpbGRFbnRyaWVzWzBdLmlzRmlsZSIpOwotCi0gICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgicmVhZEVudHJpZXMgZmFp
bGVkOiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oZSkgewotICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoInJlYWRFbnRyaWVzIGZhaWxlZDogIiArIGUpOwotICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0sIGZ1bmN0aW9u
KGUpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoInJlYWRFbnRyaWVzIGZhaWxlZDogIiArIGUp
OwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0sIGZ1bmN0
aW9uKGUpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgicmVhZEVudHJpZXMgZmFpbGVkOiAiICsgZSk7
Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfTsKLQotZHJvcHpvbmUub25kcmFn
b3ZlciA9IGZ1bmN0aW9uKGV2KSB7Ci0gICAgZXYucHJldmVudERlZmF1bHQoKTsKLX0KLQotb25s
b2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgZHJhZ0ZpbGVzT250b0VsZW1lbnQoZHJvcHpvbmUsIFsn
Li4vLi4vZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNlcy90ZXN0RmlsZXMnXSk7Ci19Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1maWxlRW50cnktZmlsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRy
b3AtZmlsZUVudHJ5LWZpbGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1YzBkNGVlOWIwMWFjYWFjYWJmZmQ0Yjk3MjY5NTVhZjY5YzY0ZWFkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1maWxlRW50cnktZmlsZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1CYXNpYyB0ZXN0IGNvdmVyYWdl
IGZvciBmaWxlU3lzdGVtRmlsZUVudHJ5LmZpbGUoKQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIGlzIDIKLVBBU1MgZmlyc3RF
bnRyeS5uYW1lIGlzICJ0ZXN0LnR4dCIKLVBBU1MgZmlyc3RFbnRyeS5mdWxsUGF0aCBpcyAiL3Rl
c3QudHh0IgotUEFTUyBmaXJzdEVudHJ5LmlzRmlsZSBpcyB0cnVlCi1QQVNTIGZpbGVSZXN1bHQu
X19wcm90b19fIGlzIEZpbGUucHJvdG90eXBlCi1QQVNTIGZpbGVSZXN1bHQubmFtZSBpcyAidGVz
dC50eHQiCi1QQVNTIGZpbGVSZXN1bHQud2Via2l0UmVsYXRpdmVQYXRoIGlzICIiCi1QQVNTIGZp
bGVSZXN1bHQuc2l6ZSBpcyA1Ci1QQVNTIGZpbGVSZXN1bHQudHlwZSBpcyAidGV4dC9wbGFpbiIK
LVBBU1MgY29udGVudFJlc3VsdCBpcyAiSGVsbG8iCi1QQVNTIHNlY29uZEVudHJ5Lm5hbWUgaXMg
InRlc3RGaWxlcyIKLVBBU1Mgc2Vjb25kRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCi1Q
QVNTIHNlY29uZEVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKLVBBU1MgZmlsZUVudHJ5UmVzdWx0
Lm5hbWUgaXMgImZpbGUzLnR4dCIKLVBBU1MgZmlsZUVudHJ5UmVzdWx0LmZ1bGxQYXRoIGlzICIv
dGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0IgotUEFTUyBmaWxlRW50cnlSZXN1bHQuaXNG
aWxlIGlzIHRydWUKLVBBU1MgZmlsZTNSZXN1bHQuX19wcm90b19fIGlzIEZpbGUucHJvdG90eXBl
Ci1QQVNTIGZpbGUzUmVzdWx0Lm5hbWUgaXMgImZpbGUzLnR4dCIKLVBBU1MgZmlsZTNSZXN1bHQu
d2Via2l0UmVsYXRpdmVQYXRoIGlzICIiCi1QQVNTIGZpbGUzUmVzdWx0LnNpemUgaXMgMgotUEFT
UyBmaWxlM1Jlc3VsdC50eXBlIGlzICJ0ZXh0L3BsYWluIgotUEFTUyBjb250ZW50UmVzdWx0IGlz
ICIzXG4iCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zl
ci1pdGVtcy1kcm9wLWZpbGVFbnRyeS1maWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZmlsZUVudHJ5LWZpbGUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDljNGVkNjFjMDA1N2ZiZDk0MmFlODI3MGQ4ZDk4
M2U1YjE0ZTM3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3At
ZmlsZUVudHJ5LWZpbGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAy
MDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgotPHNj
cmlwdD4KLWRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRmls
ZUVudHJ5LmZpbGUoKSIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9uIGZpbGVB
c1Byb21pc2UoZmlsZUVudHJ5KQotewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7Ci0gICAgICAgIGZpbGVFbnRyeS5maWxlKHJlc29sdmUsIHJlamVjdCk7Ci0g
ICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJlYWRUZXh0RmlsZUFzUHJvbWlzZShmaWxlKQotewotICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAgIGxldCBm
aWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKLSAgICAgICAgZmlsZVJlYWRlci5vbmxvYWQg
PSBmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgICByZXNvbHZlKGZpbGVSZWFkZXIucmVzdWx0KTsK
LSAgICAgICAgfQotICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7Ci0gICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksIHBhdGgpCi17
Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAg
ZGlyZWN0b3J5RW50cnkuZ2V0RmlsZShwYXRoLCB7fSwgcmVzb2x2ZSwgcmVqZWN0KTsKLSAgICB9
KTsKLX0KLQotZnVuY3Rpb24gdGVzdDEoKQotewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Zmlyc3RFbnRyeS5uYW1lIiwgInRlc3QudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmaXJzdEVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0LnR4dCIpOwotICAgIHNob3VsZEJlVHJ1ZSgi
Zmlyc3RFbnRyeS5pc0ZpbGUiKTsKLSAgICByZXR1cm4gZmlsZUFzUHJvbWlzZShmaXJzdEVudHJ5
KS50aGVuKGZpbGUgPT4gewotICAgICAgICBmaWxlUmVzdWx0ID0gZmlsZTsKLSAgICAgICAgc2hv
dWxkQmUoImZpbGVSZXN1bHQuX19wcm90b19fIiwgIkZpbGUucHJvdG90eXBlIik7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZVJlc3VsdC5uYW1lIiwgInRlc3QudHh0Iik7Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZVJlc3VsdC53ZWJraXRSZWxhdGl2ZVBh
dGgiLCAiIik7Ci0gICAgICAgIHNob3VsZEJlKCJmaWxlUmVzdWx0LnNpemUiLCAiNSIpOwotICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVSZXN1bHQudHlwZSIsICJ0ZXh0L3BsYWlu
Iik7Ci0gICAgfSwgZSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoImZpbGVFbnRyeS5maWxlKCkg
Y2FsbCBmYWlsZWQgdW5leHBlY3RlZGx5OiAiICsgZSk7Ci0gICAgfSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICByZXR1cm4gcmVhZFRleHRGaWxlQXNQcm9taXNlKGZpbGVSZXN1bHQpLnRoZW4o
Y29udGVudCA9PiB7Ci0gICAgICAgICAgIGNvbnRlbnRSZXN1bHQgPSBjb250ZW50OwotICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRlbnRSZXN1bHQiLCAiSGVsbG8iKTsKLSAg
ICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdDIoKQotewotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic2Vjb25kRW50cnkubmFtZSIsICJ0ZXN0RmlsZXMiKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsK
LSAgICBzaG91bGRCZVRydWUoInNlY29uZEVudHJ5LmlzRGlyZWN0b3J5Iik7Ci0KLSAgICByZXR1
cm4gZ2V0RmlsZUFzUHJvbWlzZShzZWNvbmRFbnRyeSwgInN1YmZvbGRlcjEvZmlsZTMudHh0Iiku
dGhlbihmaWxlRW50cnkgPT4gewotICAgICAgICBmaWxlRW50cnlSZXN1bHQgPSBmaWxlRW50cnk7
Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUVudHJ5UmVzdWx0Lm5hbWUiLCAi
ZmlsZTMudHh0Iik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUVudHJ5UmVz
dWx0LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiKTsKLSAgICAg
ICAgc2hvdWxkQmVUcnVlKCJmaWxlRW50cnlSZXN1bHQuaXNGaWxlIik7Ci0gICAgfSwgZSA9PiB7
Ci0gICAgICAgIHRlc3RGYWlsZWQoImRpcmVjdG9yeUVudHJ5LmdldEZpbGUoKSBjYWxsIGZhaWxl
ZCB1bmV4cGVjdGVkbHk6ICIgKyBlKTsKLSAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICByZXR1cm4gZmlsZUFzUHJvbWlzZShmaWxlRW50cnlSZXN1bHQpLnRoZW4oZmlsZSA9PiB7Ci0g
ICAgICAgICAgICBmaWxlM1Jlc3VsdCA9IGZpbGU7Ci0gICAgICAgICAgICBzaG91bGRCZSgiZmls
ZTNSZXN1bHQuX19wcm90b19fIiwgIkZpbGUucHJvdG90eXBlIik7Ci0gICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUzUmVzdWx0Lm5hbWUiLCAiZmlsZTMudHh0Iik7Ci0gICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUzUmVzdWx0LndlYmtpdFJlbGF0aXZl
UGF0aCIsICIiKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJmaWxlM1Jlc3VsdC5zaXplIiwgIjIi
KTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZTNSZXN1bHQudHlwZSIs
ICJ0ZXh0L3BsYWluIik7Ci0gICAgICAgIH0sIGUgPT4gewotICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiZmlsZUVudHJ5LmZpbGUoKSBjYWxsIGZhaWxlZCB1bmV4cGVjdGVkbHk6ICIgKyBlKTsKLSAg
ICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHJldHVybiByZWFkVGV4dEZp
bGVBc1Byb21pc2UoZmlsZTNSZXN1bHQpLnRoZW4oY29udGVudCA9PiB7Ci0gICAgICAgICAgICAg
ICAgY29udGVudFJlc3VsdCA9IGNvbnRlbnQ7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJjb250ZW50UmVzdWx0IiwgIjNcbiIpOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0pOwotICAgIH0pOwotfQotCi12YXIgZHJvcHpvbmUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZHJvcHpvbmUnKTsKLWRyb3B6b25lLm9uZHJvcCA9IGZ1bmN0aW9uKGUpIHsKLSAgICBl
LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgZGF0YVRyYW5zZmVyID0gZS5kYXRhVHJhbnNmZXI7Ci0K
LSAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCIsICIyIik7Ci0KLSAgICBm
aXJzdEVudHJ5ID0gZGF0YVRyYW5zZmVyLml0ZW1zWzBdLndlYmtpdEdldEFzRW50cnkoKTsKLSAg
ICBzZWNvbmRFbnRyeSA9IGRhdGFUcmFuc2Zlci5pdGVtc1sxXS53ZWJraXRHZXRBc0VudHJ5KCk7
Ci0KLSAgICB0ZXN0MSgpLnRoZW4odGVzdDIpLnRoZW4oZmluaXNoSlNUZXN0KTsKLX07Ci0KLWRy
b3B6b25lLm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgewotICAgIGV2LnByZXZlbnREZWZhdWx0
KCk7Ci19Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRyYWdGaWxlc09udG9FbGVtZW50
KGRyb3B6b25lLCBbJy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0JywgJy4uLy4u
L2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzJ10pOwotfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNF
bnRyeS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNjhkZTAx
Njg3ZmI3NmY0MTE5NDBjNmNiMGUwOTQyYWQ5Y2ExYWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rh
dGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFzRW50cnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMzIgKzAsMCBAQAotQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZGF0YVRyYW5zZmVy
SXRlbS53ZWJraXRHZXRBc0VudHJ5KCkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCBpcyAyCi1QQVNTIGZpcnN0RGF0YVRyYW5z
ZmVySXRlbS5raW5kIGlzICJmaWxlIgotUEFTUyBmaXJzdERhdGFUcmFuc2Zlckl0ZW0udHlwZSBp
cyAidGV4dC9wbGFpbiIKLVBBU1MgZmlyc3RGaWxlLm5hbWUgaXMgInRlc3QudHh0IgotUEFTUyBm
aXJzdEZpbGUuc2l6ZSBpcyA1Ci1QQVNTIGZpcnN0RmlsZS50eXBlIGlzICJ0ZXh0L3BsYWluIgot
UEFTUyBmaXJzdEVudHJ5LmlzRGlyZWN0b3J5IGlzIGZhbHNlCi1QQVNTIGZpcnN0RW50cnkuaXNG
aWxlIGlzIHRydWUKLVBBU1MgZmlyc3RFbnRyeS5uYW1lIGlzICJ0ZXN0LnR4dCIKLVBBU1MgZmly
c3RFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3QudHh0IgotUEFTUyBzZWNvbmREYXRhVHJhbnNmZXJJ
dGVtLmtpbmQgaXMgImZpbGUiCi1QQVNTIHNlY29uZERhdGFUcmFuc2Zlckl0ZW0udHlwZSBpcyAi
IgotUEFTUyBzZWNvbmRGaWxlLm5hbWUgaXMgInRlc3RGaWxlcyIKLVBBU1Mgc2Vjb25kRmlsZS5z
aXplIGlzIDIwNAotUEFTUyBzZWNvbmRGaWxlLnR5cGUgaXMgIiIKLVBBU1Mgc2Vjb25kRW50cnku
aXNEaXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyBzZWNvbmRFbnRyeS5pc0ZpbGUgaXMgZmFsc2UKLVBB
U1Mgc2Vjb25kRW50cnkubmFtZSBpcyAidGVzdEZpbGVzIgotUEFTUyBzZWNvbmRFbnRyeS5mdWxs
UGF0aCBpcyAiL3Rlc3RGaWxlcyIKLVBBU1MgZmlsZVN5c3RlbVJvb3QuaXNEaXJlY3RvcnkgaXMg
dHJ1ZQotUEFTUyBmaWxlU3lzdGVtUm9vdC5pc0ZpbGUgaXMgZmFsc2UKLVBBU1MgZmlsZVN5c3Rl
bVJvb3QubmFtZSBpcyAiIgotUEFTUyBmaWxlU3lzdGVtUm9vdC5mdWxsUGF0aCBpcyAiLyIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRy
b3AtZ2V0QXNFbnRyeS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0
cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFzRW50cnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDAyNDg5MjFjYWJkZWY0NmRjNzlmZWY4N2FmYmFlODM5OGRkMTZhNS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZXk7Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiQmFz
aWMgdGVzdCBjb3ZlcmFnZSBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCki
KTsKLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIgZHJvcHpvbmUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKLWRyb3B6b25lLm9uZHJvcCA9IGZ1bmN0aW9uKGUpIHsK
LSAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgZGF0YVRyYW5zZmVyID0gZS5kYXRhVHJhbnNm
ZXI7Ci0KLSAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCIsICIyIik7Ci0K
LSAgICBmaXJzdERhdGFUcmFuc2Zlckl0ZW0gPSBkYXRhVHJhbnNmZXIuaXRlbXNbMF07Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdERhdGFUcmFuc2Zlckl0ZW0ua2luZCIsICJmaWxl
Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdERhdGFUcmFuc2Zlckl0ZW0udHlw
ZSIsICJ0ZXh0L3BsYWluIik7Ci0gICAgZmlyc3RGaWxlID0gZmlyc3REYXRhVHJhbnNmZXJJdGVt
LmdldEFzRmlsZSgpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RGaWxlLm5hbWUi
LCAidGVzdC50eHQiKTsKLSAgICBzaG91bGRCZSgiZmlyc3RGaWxlLnNpemUiLCAiNSIpOwotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RGaWxlLnR5cGUiLCAidGV4dC9wbGFpbiIpOwot
Ci0gICAgZmlyc3RFbnRyeSA9IGZpcnN0RGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5
KCk7Ci0gICAgc2hvdWxkQmVGYWxzZSgiZmlyc3RFbnRyeS5pc0RpcmVjdG9yeSIpOwotICAgIHNo
b3VsZEJlVHJ1ZSgiZmlyc3RFbnRyeS5pc0ZpbGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImZpcnN0RW50cnkubmFtZSIsICJ0ZXN0LnR4dCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZmlyc3RFbnRyeS5mdWxsUGF0aCIsICIvdGVzdC50eHQiKTsKLQotICAgIC8vIFNlY29u
ZCBpdGVtLgotICAgIHNlY29uZERhdGFUcmFuc2Zlckl0ZW0gPSBkYXRhVHJhbnNmZXIuaXRlbXNb
MV07Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmREYXRhVHJhbnNmZXJJdGVtLmtp
bmQiLCAiZmlsZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vjb25kRGF0YVRyYW5z
ZmVySXRlbS50eXBlIiwgIiIpOwotICAgIHNlY29uZEZpbGUgPSBzZWNvbmREYXRhVHJhbnNmZXJJ
dGVtLmdldEFzRmlsZSgpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vjb25kRmlsZS5u
YW1lIiwgInRlc3RGaWxlcyIpOwotICAgIHNob3VsZEJlKCJzZWNvbmRGaWxlLnNpemUiLCAiMjA0
Iik7IC8vIENocm9tZSByZXR1cm5zIGZvbGRlciBzaXplLCBGaXJlZm94IHJldHVybnMgMC4KLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEZpbGUudHlwZSIsICIiKTsKLQotICAgIHNl
Y29uZEVudHJ5ID0gc2Vjb25kRGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCk7Ci0g
ICAgc2hvdWxkQmVUcnVlKCJzZWNvbmRFbnRyeS5pc0RpcmVjdG9yeSIpOwotICAgIHNob3VsZEJl
RmFsc2UoInNlY29uZEVudHJ5LmlzRmlsZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c2Vjb25kRW50cnkubmFtZSIsICJ0ZXN0RmlsZXMiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInNlY29uZEVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsKLQotICAgIGZpbGVTeXN0
ZW1Sb290ID0gc2Vjb25kRW50cnkuZmlsZXN5c3RlbS5yb290OwotICAgIHNob3VsZEJlVHJ1ZSgi
ZmlsZVN5c3RlbVJvb3QuaXNEaXJlY3RvcnkiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJmaWxlU3lz
dGVtUm9vdC5pc0ZpbGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVTeXN0ZW1S
b290Lm5hbWUiLCAiIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlU3lzdGVtUm9v
dC5mdWxsUGF0aCIsICIvIik7Ci0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX07Ci0KLWRyb3B6b25l
Lm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgewotICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Ci19
Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6
b25lLCBbJy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0JywgJy4uLy4uL2Zhc3Qv
Zm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzJ10pOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0
YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RGlyZWN0b3J5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3Rv
cnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjFlZmFlMTdj
ZWZiNzQ1OTU0ZDNjMzQyMGY0YTdkZjAyMjFkMTdkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3RvcnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNTAgKzAsMCBAQAotQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURp
cmVjdG9yeUVudHJ5LmdldERpcmVjdG9yeSgpCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGggaXMgMQotKiBFcnJvciBjYXNlOiBj
cmVhdGUgZmxhZyBpcyBzZXQgdG8gdHJ1ZQotUEFTUyBleC5uYW1lIGlzICJTZWN1cml0eUVycm9y
IgotKiBSZWd1bGFyIGNhc2U6IGdldERpcmVjdG9yeSgnc3ViZm9sZGVyMScpCi1QQVNTIHN1YmZv
bGRlcjFFbnRyeS5uYW1lIGlzICJzdWJmb2xkZXIxIgotUEFTUyBzdWJmb2xkZXIxRW50cnkuZnVs
bFBhdGggaXMgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMSIKLVBBU1Mgc3ViZm9sZGVyMUVudHJ5Lmlz
RGlyZWN0b3J5IGlzIHRydWUKLSogRXJyb3IgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3
aXRoIHBhdGggdG8gZmlsZQotUEFTUyBleC5uYW1lIGlzICJUeXBlTWlzbWF0Y2hFcnJvciIKLSog
RXJyb3IgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggY29udGFpbmluZyBi
YWNrc2xhc2gKLVBBU1MgZXgubmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCi0qIEVycm9yIGNh
c2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBwYXRoIHdoaWNoIGRvZXMgbm90IGV4aXN0
Ci1QQVNTIGV4Lm5hbWUgaXMgIk5vdEZvdW5kRXJyb3IiCi0qIEVycm9yIGNhc2U6IGNhbGxpbmcg
Z2V0RGlyZWN0b3J5KCkgd2l0aCBwYXRoIGNvbnRhaW5pbmcgYSBOVUwgY2hhcmFjdGVyCi1QQVNT
IGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9yIgotKiBSZWd1bGFyIGNhc2U6IGNhbGxpbmcg
Z2V0RGlyZWN0b3J5KCkgd2l0aCBwYXRoIHRvIHJvb3QKLVBBU1Mgcm9vdEVudHJ5Lm5hbWUgaXMg
IiIKLVBBU1Mgcm9vdEVudHJ5LmZ1bGxQYXRoIGlzICIvIgotUEFTUyByb290RW50cnkuaXNEaXJl
Y3RvcnkgaXMgdHJ1ZQotKiBSZWd1bGFyIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0
aCBhYnNvbHV0ZSBwYXRoCi1QQVNTIHN1YmZvbGRlcjJhRW50cnkubmFtZSBpcyAic3ViZm9sZGVy
MmEiCi1QQVNTIHN1YmZvbGRlcjJhRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvc3ViZm9s
ZGVyMi9zdWJmb2xkZXIyYSIKLVBBU1Mgc3ViZm9sZGVyMmFFbnRyeS5pc0RpcmVjdG9yeSBpcyB0
cnVlCi0qIEVkZ2UgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHJlbGF0aXZlIHBh
dGggY29udGFpbmluZyAnLicgYW5kICcuLicKLVBBU1Mgc3ViZm9sZGVyMmFFbnRyeS5uYW1lIGlz
ICJzdWJmb2xkZXIyYSIKLVBBU1Mgc3ViZm9sZGVyMmFFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RG
aWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhIgotUEFTUyBzdWJmb2xkZXIyYUVudHJ5LmlzRGly
ZWN0b3J5IGlzIHRydWUKLSogRWRnZSBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGgg
cmVsYXRpdmUgcGF0aCBjb250YWluaW5nIHRvbyBtYW55ICcuLicKLVBBU1Mgc3ViZm9sZGVyMUVu
dHJ5Lm5hbWUgaXMgInN1YmZvbGRlcjEiCi1QQVNTIHN1YmZvbGRlcjFFbnRyeS5mdWxsUGF0aCBp
cyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIgotUEFTUyBzdWJmb2xkZXIxRW50cnkuaXNEaXJlY3Rv
cnkgaXMgdHJ1ZQotKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBhYnNv
bHV0ZSBwYXRoIGNvbnRhaW5pbmcgJy4uJwotUEFTUyBzdWJmb2xkZXIxRW50cnkubmFtZSBpcyAi
c3ViZm9sZGVyMSIKLVBBU1Mgc3ViZm9sZGVyMUVudHJ5LmZ1bGxQYXRoIGlzICIvdGVzdEZpbGVz
L3N1YmZvbGRlcjEiCi1QQVNTIHN1YmZvbGRlcjFFbnRyeS5pc0RpcmVjdG9yeSBpcyB0cnVlCi0q
IEVkZ2UgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIGFic29sdXRlIHBhdGggY29u
dGFpbmluZyB0b28gbWFueSAnLi4nCi1QQVNTIHN1YmZvbGRlcjFFbnRyeS5uYW1lIGlzICJzdWJm
b2xkZXIxIgotUEFTUyBzdWJmb2xkZXIxRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvc3Vi
Zm9sZGVyMSIKLVBBU1Mgc3ViZm9sZGVyMUVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKLSogRXJy
b3IgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIGVtcHR5IHBhdGgKLVBBU1MgZXgu
bmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldERpcmVjdG9yeS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldERp
cmVjdG9yeS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGU3ZDBjY2E0Zjk2
OGE1ZDdmNWE2NjdiMGNiYjcyZjVmNmE4OTZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJh
bnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3RvcnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5
NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Vk
aXRpbmcuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkcm9wem9uZSIg
c3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
eTsiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZv
ciBmaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuZ2V0RGlyZWN0b3J5KCkiKTsKLWpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi1mdW5jdGlvbiBnZXREaXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5LCBw
YXRoLCBmbGFncykKLXsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4gewotICAgICAgICBkaXJlY3RvcnkuZ2V0RGlyZWN0b3J5KHBhdGgsIGZsYWdzLCByZXNvbHZl
LCByZWplY3QpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MSgpIHsKLSAgICBkZWJ1Zygi
KiBFcnJvciBjYXNlOiBjcmVhdGUgZmxhZyBpcyBzZXQgdG8gdHJ1ZSIpOwotICAgIHJldHVybiBn
ZXREaXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJzdWJmb2xkZXIxIiwgeyBjcmVh
dGU6IHRydWUgfSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBm
YWlsIHdoZW4gY3JlYXRlIGZsYWcgaXMgdHJ1ZSIpOwotICAgIH0sIGUgPT4gewotICAgICAgICBl
eCA9IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFtZSIsICJTZWN1cml0
eUVycm9yIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QyKCkgewotICAgIGRlYnVnKCIq
IFJlZ3VsYXIgY2FzZTogZ2V0RGlyZWN0b3J5KCdzdWJmb2xkZXIxJykiKTsKLSAgICByZXR1cm4g
Z2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAic3ViZm9sZGVyMSIsIHt9KS50
aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgc3ViZm9sZGVyMUVudHJ5ID0gZW50cnk7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZm9sZGVyMUVudHJ5Lm5hbWUiLCAic3ViZm9sZGVy
MSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjFFbnRyeS5mdWxs
UGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEiKTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJz
dWJmb2xkZXIxRW50cnkuaXNEaXJlY3RvcnkiKTsKLSAgICB9LCBlID0+IHsKLSAgICAgICAgdGVz
dEZhaWxlZCgiZ2V0RGlyZWN0b3J5KCdzdWJmb2xkZXIxJykgc2hvdWxkIHN1Y2NlZWQiKTsKLSAg
ICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdDMoKSB7Ci0gICAgZGVidWcoIiogRXJyb3IgY2FzZTog
Y2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggdG8gZmlsZSIpOwotICAgIHJldHVybiBn
ZXREaXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJmaWxlMS50eHQiLCB7fSkudGhl
bihlbnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBmYWlsIHdoZW4gcGF0aCBw
b2ludHMgdG8gYSBmaWxlIik7Ci0gICAgfSwgZSA9PiB7Ci0gICAgICAgIGV4ID0gZTsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNtYXRjaEVycm9yIik7
Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Q0KCkgewotICAgIGRlYnVnKCIqIEVycm9yIGNh
c2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBwYXRoIGNvbnRhaW5pbmcgYmFja3NsYXNo
Iik7Ci0gICAgcmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIlxc
c3ViZm9sZGVyMSIsIHt9KS50aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgdGVzdEZhaWxlZCgiU2hv
dWxkIGZhaWwgd2hlbiBwYXRoIGlzIGludmFsaWQiKTsKLSAgICB9LCBlID0+IHsKLSAgICAgICAg
ZXggPSBlOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiVHlwZU1p
c21hdGNoRXJyb3IiKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdDUoKSB7Ci0gICAgZGVi
dWcoIiogRXJyb3IgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggd2hpY2gg
ZG9lcyBub3QgZXhpc3QiKTsKLSAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVj
dG9yeUVudHJ5LCAiZG9lc25vdGV4aXN0Iiwge30pLnRoZW4oZW50cnkgPT4gewotICAgICAgICB0
ZXN0RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVuIHBhdGggZG9lcyBub3QgZXhpc3QiKTsKLSAgICB9
LCBlID0+IHsKLSAgICAgICAgZXggPSBlOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImV4Lm5hbWUiLCAiTm90Rm91bmRFcnJvciIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0
NigpIHsKLSAgICBkZWJ1ZygiKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdp
dGggcGF0aCBjb250YWluaW5nIGEgTlVMIGNoYXJhY3RlciIpOwotICAgIHJldHVybiBnZXREaXJl
Y3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJzdWJmb2xkZXIxXDAiLCB7fSkudGhlbihl
bnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBmYWlsIHdoZW4gcGF0aCBpcyBp
bnZhbGlkIik7Ci0gICAgfSwgZSA9PiB7Ci0gICAgICAgIGV4ID0gZTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNtYXRjaEVycm9yIik7Ci0gICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3Q3KCkgewotICAgIGRlYnVnKCIqIFJlZ3VsYXIgY2FzZTogY2Fs
bGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggdG8gcm9vdCIpOwotICAgIHJldHVybiBnZXRE
aXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIvIiwge30pLnRoZW4oZW50cnkgPT4g
ewotICAgICAgICByb290RW50cnkgPSBlbnRyeTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJyb290RW50cnkubmFtZSIsICIiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJyb290RW50cnkuZnVsbFBhdGgiLCAiLyIpOwotICAgICAgICBzaG91bGRCZVRydWUoInJvb3RF
bnRyeS5pc0RpcmVjdG9yeSIpOwotICAgIH0sIGUgPT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJn
ZXREaXJlY3RvcnkoJy8nKSBzaG91bGQgc3VjY2VlZCIpOwotICAgIH0pOwotfQotCi1mdW5jdGlv
biB0ZXN0OCgpIHsKLSAgICBkZWJ1ZygiKiBSZWd1bGFyIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0
b3J5KCkgd2l0aCBhYnNvbHV0ZSBwYXRoIik7Ci0gICAgcmV0dXJuIGdldERpcmVjdG9yeUFzUHJv
bWlzZShkaXJlY3RvcnlFbnRyeSwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMi9zdWJmb2xkZXIyYSIs
IHt9KS50aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgc3ViZm9sZGVyMmFFbnRyeSA9IGVudHJ5Owot
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjJhRW50cnkubmFtZSIsICJz
dWJmb2xkZXIyYSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjJh
RW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhIik7Ci0g
ICAgICAgIHNob3VsZEJlVHJ1ZSgic3ViZm9sZGVyMmFFbnRyeS5pc0RpcmVjdG9yeSIpOwotICAg
IH0sIGUgPT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJnZXREaXJlY3RvcnkoJy90ZXN0RmlsZXMv
c3ViZm9sZGVyMi9zdWJmb2xkZXIyYScpIHNob3VsZCBzdWNjZWVkIik7Ci0gICAgfSk7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3Q5KCkgewotICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXRE
aXJlY3RvcnkoKSB3aXRoIHJlbGF0aXZlIHBhdGggY29udGFpbmluZyAnLicgYW5kICcuLiciKTsK
LSAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiLi4vdGVz
dEZpbGVzLy4vLi9zdWJmb2xkZXIyLy4uL3N1YmZvbGRlcjIvLi9zdWJmb2xkZXIyYSIsIHt9KS50
aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgc3ViZm9sZGVyMmFFbnRyeSA9IGVudHJ5OwotICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjJhRW50cnkubmFtZSIsICJzdWJmb2xk
ZXIyYSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjJhRW50cnku
ZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhIik7Ci0gICAgICAg
IHNob3VsZEJlVHJ1ZSgic3ViZm9sZGVyMmFFbnRyeS5pc0RpcmVjdG9yeSIpOwotICAgIH0sIGUg
PT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJnZXREaXJlY3RvcnkoJy4uL3Rlc3RGaWxlcy8uLy4v
c3ViZm9sZGVyMi8uLi9zdWJmb2xkZXIyLy4vc3ViZm9sZGVyMmEnKSBzaG91bGQgc3VjY2VlZCIp
OwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MTAoKSB7Ci0gICAgZGVidWcoIiogRWRnZSBj
YXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggcmVsYXRpdmUgcGF0aCBjb250YWluaW5n
IHRvbyBtYW55ICcuLiciKTsKLSAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVj
dG9yeUVudHJ5LCAiLi4vLi4vLi4vLi4vLi4vdGVzdEZpbGVzL3N1YmZvbGRlcjEiLCB7fSkudGhl
bihlbnRyeSA9PiB7Ci0gICAgICAgIHN1YmZvbGRlcjFFbnRyeSA9IGVudHJ5OwotICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjFFbnRyeS5uYW1lIiwgInN1YmZvbGRlcjEi
KTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIxRW50cnkuZnVsbFBh
dGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgic3Vi
Zm9sZGVyMUVudHJ5LmlzRGlyZWN0b3J5Iik7Ci0gICAgfSwgZSA9PiB7Ci0gICAgICAgIHRlc3RG
YWlsZWQoImdldERpcmVjdG9yeSgnLi4vLi4vLi4vLi4vLi4vdGVzdEZpbGVzL3N1YmZvbGRlcjEn
KSBzaG91bGQgc3VjY2VlZCIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MTEoKSB7Ci0g
ICAgZGVidWcoIiogRWRnZSBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggYWJzb2x1
dGUgcGF0aCBjb250YWluaW5nICcuLiciKTsKLSAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9t
aXNlKGRpcmVjdG9yeUVudHJ5LCAiL3Rlc3RGaWxlcy8uLi90ZXN0RmlsZXMvc3ViZm9sZGVyMSIs
IHt9KS50aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgc3ViZm9sZGVyMUVudHJ5ID0gZW50cnk7Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZm9sZGVyMUVudHJ5Lm5hbWUiLCAic3Vi
Zm9sZGVyMSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRlcjFFbnRy
eS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEiKTsKLSAgICAgICAgc2hvdWxkQmVU
cnVlKCJzdWJmb2xkZXIxRW50cnkuaXNEaXJlY3RvcnkiKTsKLSAgICB9LCBlID0+IHsKLSAgICAg
ICAgdGVzdEZhaWxlZCgiZ2V0RGlyZWN0b3J5KCcuLi8uLi8uLi8uLi8uLi90ZXN0RmlsZXMvc3Vi
Zm9sZGVyMScpIHNob3VsZCBzdWNjZWVkIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qx
MigpIHsKLSAgICBkZWJ1ZygiKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0
aCBhYnNvbHV0ZSBwYXRoIGNvbnRhaW5pbmcgdG9vIG1hbnkgJy4uJyIpOwotICAgIHJldHVybiBn
ZXREaXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIvLi4vLi4vLi4vLi4vLi4vdGVz
dEZpbGVzL3N1YmZvbGRlcjEiLCB7fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAgIHN1YmZvbGRl
cjFFbnRyeSA9IGVudHJ5OwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZvbGRl
cjFFbnRyeS5uYW1lIiwgInN1YmZvbGRlcjEiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzdWJmb2xkZXIxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIik7
Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgic3ViZm9sZGVyMUVudHJ5LmlzRGlyZWN0b3J5Iik7Ci0g
ICAgfSwgZSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoImdldERpcmVjdG9yeSgnLi4vLi4vLi4v
Li4vLi4vdGVzdEZpbGVzL3N1YmZvbGRlcjEnKSBzaG91bGQgc3VjY2VlZCIpOwotICAgIH0pOwot
fQotCi1mdW5jdGlvbiB0ZXN0MTMoKSB7Ci0gICAgZGVidWcoIiogRXJyb3IgY2FzZTogY2FsbGlu
ZyBnZXREaXJlY3RvcnkoKSB3aXRoIGVtcHR5IHBhdGgiKTsKLSAgICByZXR1cm4gZ2V0RGlyZWN0
b3J5QXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiIiwge30pLnRoZW4oZW50cnkgPT4gewotICAg
ICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVuIHBhdGggaXMgaW52YWxpZCIpOwotICAg
IH0sIGUgPT4gewotICAgICAgICBleCA9IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZXgubmFtZSIsICJUeXBlTWlzbWF0Y2hFcnJvciIpOwotICAgIH0pOwotfQotCi12YXIgZHJv
cHpvbmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKLWRyb3B6b25lLm9u
ZHJvcCA9IGZ1bmN0aW9uKGUpIHsKLSAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgZGF0YVRy
YW5zZmVyID0gZS5kYXRhVHJhbnNmZXI7Ci0KLSAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0
ZW1zLmxlbmd0aCIsICIxIik7Ci0KLSAgICBkaXJlY3RvcnlFbnRyeSA9IGRhdGFUcmFuc2Zlci5p
dGVtc1swXS53ZWJraXRHZXRBc0VudHJ5KCk7Ci0gICAgdGVzdDEoKQotICAgIC50aGVuKHRlc3Qy
KQotICAgIC50aGVuKHRlc3QzKQotICAgIC50aGVuKHRlc3Q0KQotICAgIC50aGVuKHRlc3Q1KQot
ICAgIC50aGVuKHRlc3Q2KQotICAgIC50aGVuKHRlc3Q3KQotICAgIC50aGVuKHRlc3Q4KQotICAg
IC50aGVuKHRlc3Q5KQotICAgIC50aGVuKHRlc3QxMCkKLSAgICAudGhlbih0ZXN0MTEpCi0gICAg
LnRoZW4odGVzdDEyKQotICAgIC50aGVuKHRlc3QxMykKLSAgICAudGhlbihmaW5pc2hKU1Rlc3Qp
OwotfTsKLQotZHJvcHpvbmUub25kcmFnb3ZlciA9IGZ1bmN0aW9uKGV2KSB7Ci0gICAgZXYucHJl
dmVudERlZmF1bHQoKTsKLX0KLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgZHJhZ0ZpbGVz
T250b0VsZW1lbnQoZHJvcHpvbmUsIFsnLi4vLi4vZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNlcy90
ZXN0RmlsZXMnXSk7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRGaWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1nZXRGaWxlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMmYxYzFlZGMwNzM0MmIzNmI2MjM2ZjI3ZTk2YzRlZmFjZWIxM2M1ZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RmlsZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1CYXNpYyB0ZXN0IGNvdmVy
YWdlIGZvciBmaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuZ2V0RmlsZSgpCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGggaXMgMQot
KiBFcnJvciBjYXNlOiBjcmVhdGUgZmxhZyBpcyBzZXQgdG8gdHJ1ZQotUEFTUyBleC5uYW1lIGlz
ICJTZWN1cml0eUVycm9yIgotKiBSZWd1bGFyIGNhc2U6IGdldEZpbGUoJ2ZpbGUxLnR4dCcpCi1Q
QVNTIGZpbGUxRW50cnkubmFtZSBpcyAiZmlsZTEudHh0IgotUEFTUyBmaWxlMUVudHJ5LmZ1bGxQ
YXRoIGlzICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIKLVBBU1MgZmlsZTFFbnRyeS5pc0ZpbGUgaXMg
dHJ1ZQotKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggdG8gZm9sZGVy
Ci1QQVNTIGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9yIgotKiBFcnJvciBjYXNlOiBjYWxs
aW5nIGdldEZpbGUoKSB3aXRoIHBhdGggY29udGFpbmluZyBiYWNrc2xhc2gKLVBBU1MgZXgubmFt
ZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCi0qIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgp
IHdpdGggcGF0aCB3aGljaCBkb2VzIG5vdCBleGlzdAotUEFTUyBleC5uYW1lIGlzICJOb3RGb3Vu
ZEVycm9yIgotKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggY29udGFp
bmluZyBhIE5VTCBjaGFyYWN0ZXIKLVBBU1MgZXgubmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3Ii
Ci0qIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcGF0aCB0byByb290Ci1QQVNT
IGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9yIgotKiBSZWd1bGFyIGNhc2U6IGNhbGxpbmcg
Z2V0RmlsZSgpIHdpdGggYWJzb2x1dGUgcGF0aAotUEFTUyBmaWxlM0VudHJ5Lm5hbWUgaXMgImZp
bGUzLnR4dCIKLVBBU1MgZmlsZTNFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xk
ZXIxL2ZpbGUzLnR4dCIKLVBBU1MgZmlsZTNFbnRyeS5pc0ZpbGUgaXMgdHJ1ZQotKiBFZGdlIGNh
c2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcmVsYXRpdmUgcGF0aCBjb250YWluaW5nICcuJyBh
bmQgJy4uJwotUEFTUyBmaWxlM0VudHJ5Lm5hbWUgaXMgImZpbGUzLnR4dCIKLVBBU1MgZmlsZTNF
bnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIKLVBBU1Mg
ZmlsZTNFbnRyeS5pc0ZpbGUgaXMgdHJ1ZQotKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgp
IHdpdGggcmVsYXRpdmUgcGF0aCBjb250YWluaW5nIHRvbyBtYW55ICcuLicKLVBBU1MgZmlsZTFF
bnRyeS5uYW1lIGlzICJmaWxlMS50eHQiCi1QQVNTIGZpbGUxRW50cnkuZnVsbFBhdGggaXMgIi90
ZXN0RmlsZXMvZmlsZTEudHh0IgotUEFTUyBmaWxlMUVudHJ5LmlzRmlsZSBpcyB0cnVlCi0qIEVk
Z2UgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBhYnNvbHV0ZSBwYXRoIGNvbnRhaW5pbmcg
Jy4uJwotUEFTUyBmaWxlMUVudHJ5Lm5hbWUgaXMgImZpbGUxLnR4dCIKLVBBU1MgZmlsZTFFbnRy
eS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9maWxlMS50eHQiCi1QQVNTIGZpbGUxRW50cnkuaXNG
aWxlIGlzIHRydWUKLSogRWRnZSBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIGFic29sdXRl
IHBhdGggY29udGFpbmluZyB0b28gbWFueSAnLi4nCi1QQVNTIGZpbGUxRW50cnkubmFtZSBpcyAi
ZmlsZTEudHh0IgotUEFTUyBmaWxlMUVudHJ5LmZ1bGxQYXRoIGlzICIvdGVzdEZpbGVzL2ZpbGUx
LnR4dCIKLVBBU1MgZmlsZTFFbnRyeS5pc0ZpbGUgaXMgdHJ1ZQotKiBFcnJvciBjYXNlOiBjYWxs
aW5nIGdldEZpbGUoKSB3aXRoIGVtcHR5IHBhdGgKLVBBU1MgZXgubmFtZSBpcyAiVHlwZU1pc21h
dGNoRXJyb3IiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFu
c2Zlci1pdGVtcy1kcm9wLWdldEZpbGUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRGaWxlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDk0NjFmMDQ1Y2Y0YTE3ZDYzMGYwNzI2NzZlYzM4ZTFhNDBjOWU3YzUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEZpbGUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuZ2V0Rmls
ZSgpIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24gZ2V0RmlsZUFzUHJvbWlz
ZShkaXJlY3RvcnksIHBhdGgsIGZsYWdzKQotewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAgIGRpcmVjdG9yeS5nZXRGaWxlKHBhdGgsIGZsYWdz
LCByZXNvbHZlLCByZWplY3QpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MSgpIHsKLSAg
ICBkZWJ1ZygiKiBFcnJvciBjYXNlOiBjcmVhdGUgZmxhZyBpcyBzZXQgdG8gdHJ1ZSIpOwotICAg
IHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiZmlsZTEudHh0IiwgeyBj
cmVhdGU6IHRydWUgfSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIlNob3Vs
ZCBmYWlsIHdoZW4gY3JlYXRlIGZsYWcgaXMgdHJ1ZSIpOwotICAgIH0sIGUgPT4gewotICAgICAg
ICBleCA9IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFtZSIsICJTZWN1
cml0eUVycm9yIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QyKCkgewotICAgIGRlYnVn
KCIqIFJlZ3VsYXIgY2FzZTogZ2V0RmlsZSgnZmlsZTEudHh0JykiKTsKLSAgICByZXR1cm4gZ2V0
RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgImZpbGUxLnR4dCIsIHt9KS50aGVuKGVudHJ5
ID0+IHsKLSAgICAgICAgZmlsZTFFbnRyeSA9IGVudHJ5OwotICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImZpbGUxRW50cnkubmFtZSIsICJmaWxlMS50eHQiKTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJmaWxlMUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvZmlsZTEu
dHh0Iik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiZmlsZTFFbnRyeS5pc0ZpbGUiKTsKLSAgICB9
LCBlID0+IHsKLSAgICAgICAgdGVzdEZhaWxlZCgiZ2V0RmlsZSgnZmlsZTEudHh0Jykgc2hvdWxk
IHN1Y2NlZWQiKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdDMoKSB7Ci0gICAgZGVidWco
IiogRXJyb3IgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBwYXRoIHRvIGZvbGRlciIpOwot
ICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAic3ViZm9sZGVyMSIs
IHt9KS50aGVuKGVudHJ5ID0+IHsKLSAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGZhaWwgd2hl
biBwYXRoIHBvaW50cyB0byBhIGZvbGRlciIpOwotICAgIH0sIGUgPT4gewotICAgICAgICBleCA9
IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFtZSIsICJUeXBlTWlzbWF0
Y2hFcnJvciIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0NCgpIHsKLSAgICBkZWJ1Zygi
KiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggY29udGFpbmluZyBiYWNr
c2xhc2giKTsKLSAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIlxc
ZmlsZTEudHh0Iiwge30pLnRoZW4oZW50cnkgPT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJTaG91
bGQgZmFpbCB3aGVuIHBhdGggaXMgaW52YWxpZCIpOwotICAgIH0sIGUgPT4gewotICAgICAgICBl
eCA9IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFtZSIsICJUeXBlTWlz
bWF0Y2hFcnJvciIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0NSgpIHsKLSAgICBkZWJ1
ZygiKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggd2hpY2ggZG9lcyBu
b3QgZXhpc3QiKTsKLSAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwg
ImRvZXNub3RleGlzdC50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBmYWlsIHdoZW4gcGF0aCBkb2VzIG5vdCBleGlzdCIpOwotICAgIH0sIGUgPT4g
ewotICAgICAgICBleCA9IGU7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFt
ZSIsICJOb3RGb3VuZEVycm9yIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Q2KCkgewot
ICAgIGRlYnVnKCIqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcGF0aCBjb250
YWluaW5nIGEgTlVMIGNoYXJhY3RlciIpOwotICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRp
cmVjdG9yeUVudHJ5LCAiZmlsZTEudHh0XDAiLCB7fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAg
IHRlc3RGYWlsZWQoIlNob3VsZCBmYWlsIHdoZW4gcGF0aCBpcyBpbnZhbGlkIik7Ci0gICAgfSwg
ZSA9PiB7Ci0gICAgICAgIGV4ID0gZTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
eC5uYW1lIiwgIlR5cGVNaXNtYXRjaEVycm9yIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3Q3KCkgewotICAgIGRlYnVnKCIqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGgg
cGF0aCB0byByb290Iik7Ci0gICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50
cnksICIvIiwge30pLnRoZW4oZW50cnkgPT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQg
ZmFpbCB3aGVuIHBhdGggaXMgbm90IGEgZGlyZWN0b3J5Iik7Ci0gICAgfSwgZSA9PiB7Ci0gICAg
ICAgIGV4ID0gZTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5
cGVNaXNtYXRjaEVycm9yIik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Q4KCkgewotICAg
IGRlYnVnKCIqIFJlZ3VsYXIgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBhYnNvbHV0ZSBw
YXRoIik7Ci0gICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIvdGVz
dEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0Iiwge30pLnRoZW4oZW50cnkgPT4gewotICAgICAg
ICBmaWxlM0VudHJ5ID0gZW50cnk7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmls
ZTNFbnRyeS5uYW1lIiwgImZpbGUzLnR4dCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImZpbGUzRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4
dCIpOwotICAgICAgICBzaG91bGRCZVRydWUoImZpbGUzRW50cnkuaXNGaWxlIik7Ci0gICAgfSwg
ZSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoImdldEZpbGUoJy90ZXN0RmlsZXMvc3ViZm9sZGVy
MS9maWxlMy50eHQnKSBzaG91bGQgc3VjY2VlZCIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0
ZXN0OSgpIHsKLSAgICBkZWJ1ZygiKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGgg
cmVsYXRpdmUgcGF0aCBjb250YWluaW5nICcuJyBhbmQgJy4uJyIpOwotICAgIHJldHVybiBnZXRG
aWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiLi4vdGVzdEZpbGVzLy4vLi9zdWJmb2xkZXIx
Ly4uL3N1YmZvbGRlcjEvLi9maWxlMy50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAg
IGZpbGUzRW50cnkgPSBlbnRyeTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxl
M0VudHJ5Lm5hbWUiLCAiZmlsZTMudHh0Iik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZTNFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0
Iik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiZmlsZTNFbnRyeS5pc0ZpbGUiKTsKLSAgICB9LCBl
ID0+IHsKLSAgICAgICAgdGVzdEZhaWxlZCgiZ2V0RmlsZSgnLi4vdGVzdEZpbGVzLy4vLi9zdWJm
b2xkZXIxLy4uL3N1YmZvbGRlcjEvLi9maWxlMy50eHQnKSBzaG91bGQgc3VjY2VlZCIpOwotICAg
IH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MTAoKSB7Ci0gICAgZGVidWcoIiogRWRnZSBjYXNlOiBj
YWxsaW5nIGdldEZpbGUoKSB3aXRoIHJlbGF0aXZlIHBhdGggY29udGFpbmluZyB0b28gbWFueSAn
Li4nIik7Ci0gICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIuLi8u
Li8uLi8uLi8uLi90ZXN0RmlsZXMvZmlsZTEudHh0Iiwge30pLnRoZW4oZW50cnkgPT4gewotICAg
ICAgICBmaWxlMUVudHJ5ID0gZW50cnk7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZmlsZTFFbnRyeS5uYW1lIiwgImZpbGUxLnR4dCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImZpbGUxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9maWxlMS50eHQiKTsKLSAg
ICAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMUVudHJ5LmlzRmlsZSIpOwotICAgIH0sIGUgPT4gewot
ICAgICAgICB0ZXN0RmFpbGVkKCJnZXRGaWxlKCcuLi8uLi8uLi8uLi8uLi90ZXN0RmlsZXMvZmls
ZTEudHh0Jykgc2hvdWxkIHN1Y2NlZWQiKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdDEx
KCkgewotICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBhYnNv
bHV0ZSBwYXRoIGNvbnRhaW5pbmcgJy4uJyIpOwotICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNl
KGRpcmVjdG9yeUVudHJ5LCAiL3Rlc3RGaWxlcy8uLi90ZXN0RmlsZXMvZmlsZTEudHh0Iiwge30p
LnRoZW4oZW50cnkgPT4gewotICAgICAgICBmaWxlMUVudHJ5ID0gZW50cnk7Ci0gICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZTFFbnRyeS5uYW1lIiwgImZpbGUxLnR4dCIpOwotICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RG
aWxlcy9maWxlMS50eHQiKTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMUVudHJ5LmlzRmls
ZSIpOwotICAgIH0sIGUgPT4gewotICAgICAgICB0ZXN0RmFpbGVkKCJnZXRGaWxlKCcuLi8uLi8u
Li8uLi8uLi90ZXN0RmlsZXMvZmlsZTEudHh0Jykgc2hvdWxkIHN1Y2NlZWQiKTsKLSAgICB9KTsK
LX0KLQotZnVuY3Rpb24gdGVzdDEyKCkgewotICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTogY2FsbGlu
ZyBnZXRGaWxlKCkgd2l0aCBhYnNvbHV0ZSBwYXRoIGNvbnRhaW5pbmcgdG9vIG1hbnkgJy4uJyIp
OwotICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiLy4uLy4uLy4u
Ly4uLy4uL3Rlc3RGaWxlcy9maWxlMS50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAg
IGZpbGUxRW50cnkgPSBlbnRyeTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxl
MUVudHJ5Lm5hbWUiLCAiZmlsZTEudHh0Iik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZTFFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIpOwotICAgICAg
ICBzaG91bGRCZVRydWUoImZpbGUxRW50cnkuaXNGaWxlIik7Ci0gICAgfSwgZSA9PiB7Ci0gICAg
ICAgIHRlc3RGYWlsZWQoImdldEZpbGUoJy4uLy4uLy4uLy4uLy4uL3Rlc3RGaWxlcy9maWxlMS50
eHQnKSBzaG91bGQgc3VjY2VlZCIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0MTMoKSB7
Ci0gICAgZGVidWcoIiogRXJyb3IgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBlbXB0eSBw
YXRoIik7Ci0gICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIiLCB7
fSkudGhlbihlbnRyeSA9PiB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBmYWlsIHdoZW4g
cGF0aCBpcyBpbnZhbGlkIik7Ci0gICAgfSwgZSA9PiB7Ci0gICAgICAgIGV4ID0gZTsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNtYXRjaEVycm9yIik7
Ci0gICAgfSk7Ci19Ci0KLXZhciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
cm9wem9uZScpOwotZHJvcHpvbmUub25kcm9wID0gZnVuY3Rpb24oZSkgewotICAgIGUucHJldmVu
dERlZmF1bHQoKTsKLSAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2ZlcjsKLQotICAgIHNo
b3VsZEJlKCJkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIiwgIjEiKTsKLQotICAgIGRpcmVjdG9y
eUVudHJ5ID0gZGF0YVRyYW5zZmVyLml0ZW1zWzBdLndlYmtpdEdldEFzRW50cnkoKTsKLSAgICB0
ZXN0MSgpCi0gICAgLnRoZW4odGVzdDIpCi0gICAgLnRoZW4odGVzdDMpCi0gICAgLnRoZW4odGVz
dDQpCi0gICAgLnRoZW4odGVzdDUpCi0gICAgLnRoZW4odGVzdDYpCi0gICAgLnRoZW4odGVzdDcp
Ci0gICAgLnRoZW4odGVzdDgpCi0gICAgLnRoZW4odGVzdDkpCi0gICAgLnRoZW4odGVzdDEwKQot
ICAgIC50aGVuKHRlc3QxMSkKLSAgICAudGhlbih0ZXN0MTIpCi0gICAgLnRoZW4odGVzdDEzKQot
ICAgIC50aGVuKGZpbmlzaEpTVGVzdCk7Ci19OwotCi1kcm9wem9uZS5vbmRyYWdvdmVyID0gZnVu
Y3Rpb24oZXYpIHsKLSAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwotfQotCi1vbmxvYWQgPSBmdW5j
dGlvbigpIHsKLSAgICBkcmFnRmlsZXNPbnRvRWxlbWVudChkcm9wem9uZSwgWycuLi8uLi9mYXN0
L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcyddKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rh
dGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRhMzQ1OTYwY2NmODRl
OGI5MGY2OGJmZTY0M2JkMThjZGZkMjJhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDE4ICswLDAgQEAKLUJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1FbnRyeS5nZXRQ
YXJlbnQoKQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBkYXRhVHJhbnNm
ZXIuaXRlbXMubGVuZ3RoIGlzIDIKLVBBU1MgZmlyc3RFbnRyeVBhcmVudC5uYW1lIGlzICIiCi1Q
QVNTIGZpcnN0RW50cnlQYXJlbnQuZnVsbFBhdGggaXMgIi8iCi1QQVNTIGZpcnN0RW50cnlQYXJl
bnQuaXNEaXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyBmaXJzdEVudHJ5UGFyZW50LmlzRmlsZSBpcyBm
YWxzZQotUEFTUyBzZWNvbmRFbnRyeVBhcmVudC5uYW1lIGlzICIiCi1QQVNTIHNlY29uZEVudHJ5
UGFyZW50LmZ1bGxQYXRoIGlzICIvIgotUEFTUyBzZWNvbmRFbnRyeVBhcmVudC5pc0RpcmVjdG9y
eSBpcyB0cnVlCi1QQVNTIHNlY29uZEVudHJ5UGFyZW50LmlzRmlsZSBpcyBmYWxzZQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRQYXJlbnQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LXJvb3QtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNjQ0NjRkYzhjMjliZDYzYWIyMTAyNjkxNzNk
OTEwNDAwMjBjN2I1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXRQYXJlbnQtcm9vdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1CYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRW50cnkuZ2V0UGFyZW50KCkg
b24gdGhlIHJvb3QKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgcm9vdFBh
cmVudC5uYW1lIGlzICIiCi1QQVNTIHJvb3RQYXJlbnQuZnVsbFBhdGggaXMgIi8iCi1QQVNTIHJv
b3RQYXJlbnQuaXNEaXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyByb290UGFyZW50LmlzRmlsZSBpcyBm
YWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1nZXRQYXJlbnQtcm9vdC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1yb290Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwOTA5Yzg0MDEzMTU1MjFjMjhjOWJjZWIxOGU1MjM4
ZjljMmRiYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdl
dFBhcmVudC1yb290Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAyMDBw
eDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgotPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRW50cnku
Z2V0UGFyZW50KCkgb24gdGhlIHJvb3QiKTsKLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIg
ZHJvcHpvbmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKLWRyb3B6b25l
Lm9uZHJvcCA9IGZ1bmN0aW9uKGUpIHsKLSAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgZGF0
YVRyYW5zZmVyID0gZS5kYXRhVHJhbnNmZXI7Ci0KLSAgICBsZXQgZW50cnkgPSBkYXRhVHJhbnNm
ZXIuaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOwotICAgIGVudHJ5LmZpbGVzeXN0ZW0ucm9v
dC5nZXRQYXJlbnQoZnVuY3Rpb24ocGFyZW50KSB7Ci0gICAgICAgIHJvb3RQYXJlbnQgPSBwYXJl
bnQ7Ci0KLSAgICAgICAgLy8gU2hvdWxkIGJlIHRoZSByb290IGl0c2VsZi4KLSAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJyb290UGFyZW50Lm5hbWUiLCAiIik7Ci0gICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygicm9vdFBhcmVudC5mdWxsUGF0aCIsICIvIik7Ci0gICAgICAgIHNo
b3VsZEJlVHJ1ZSgicm9vdFBhcmVudC5pc0RpcmVjdG9yeSIpOwotICAgICAgICBzaG91bGRCZUZh
bHNlKCJyb290UGFyZW50LmlzRmlsZSIpOwotCi0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAg
IH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiZ2V0UGFyZW50KCkgY2FsbCBm
YWlsZWQ6ICIgKyBlKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7Ci19OwotCi1k
cm9wem9uZS5vbmRyYWdvdmVyID0gZnVuY3Rpb24oZXYpIHsKLSAgICBldi5wcmV2ZW50RGVmYXVs
dCgpOwotfQotCi1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBkcmFnRmlsZXNPbnRvRWxlbWVu
dChkcm9wem9uZSwgWycuLi8uLi9mYXN0L2Zvcm1zL3Jlc291cmNlcy90ZXN0LnR4dCddKTsKLX0K
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdl
dFBhcmVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2UwYjBjNWUxYmYx
ODQ2NGU5NmI2Nzg4NWFkYzA3NThjMThiMTVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJh
bnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZWRpdGlu
Zy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImRyb3B6b25lIiBzdHls
ZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyI+
PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIkJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZp
bGVTeXN0ZW1FbnRyeS5nZXRQYXJlbnQoKSIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZh
ciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wem9uZScpOwotZHJvcHpv
bmUub25kcm9wID0gZnVuY3Rpb24oZSkgewotICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICBk
YXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2ZlcjsKLQotICAgIHNob3VsZEJlKCJkYXRhVHJhbnNm
ZXIuaXRlbXMubGVuZ3RoIiwgIjIiKTsKLQotICAgIGZpcnN0RGF0YVRyYW5zZmVySXRlbSA9IGRh
dGFUcmFuc2Zlci5pdGVtc1swXTsKLSAgICBmaXJzdEVudHJ5ID0gZmlyc3REYXRhVHJhbnNmZXJJ
dGVtLndlYmtpdEdldEFzRW50cnkoKTsKLSAgICBzZWNvbmREYXRhVHJhbnNmZXJJdGVtID0gZGF0
YVRyYW5zZmVyLml0ZW1zWzFdOwotICAgIHNlY29uZEVudHJ5ID0gc2Vjb25kRGF0YVRyYW5zZmVy
SXRlbS53ZWJraXRHZXRBc0VudHJ5KCk7Ci0KLSAgICBmaXJzdEVudHJ5LmdldFBhcmVudChmdW5j
dGlvbihwYXJlbnQpIHsKLSAgICAgICAgZmlyc3RFbnRyeVBhcmVudCA9IHBhcmVudDsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEVudHJ5UGFyZW50Lm5hbWUiLCAiIik7Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RFbnRyeVBhcmVudC5mdWxsUGF0aCIs
ICIvIik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiZmlyc3RFbnRyeVBhcmVudC5pc0RpcmVjdG9y
eSIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJmaXJzdEVudHJ5UGFyZW50LmlzRmlsZSIpOwot
Ci0gICAgICAgIHNlY29uZEVudHJ5LmdldFBhcmVudChmdW5jdGlvbihwYXJlbnQpIHsKLSAgICAg
ICAgICAgIHNlY29uZEVudHJ5UGFyZW50ID0gcGFyZW50OwotICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzZWNvbmRFbnRyeVBhcmVudC5uYW1lIiwgIiIpOwotICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRFbnRyeVBhcmVudC5mdWxsUGF0aCIsICIvIik7
Ci0gICAgICAgICAgICBzaG91bGRCZVRydWUoInNlY29uZEVudHJ5UGFyZW50LmlzRGlyZWN0b3J5
Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJzZWNvbmRFbnRyeVBhcmVudC5pc0ZpbGUi
KTsKLQotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGUp
IHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoImdldFBhcmVudCgpIGNhbGwgZmFpbGVkOiAiICsg
ZSk7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSwgZnVu
Y3Rpb24oZSkgewotICAgICAgICB0ZXN0RmFpbGVkKCJnZXRQYXJlbnQoKSBjYWxsIGZhaWxlZDog
IiArIGUpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9KTsKLX07Ci0KLWRyb3B6b25l
Lm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgewotICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Ci19
Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6
b25lLCBbJy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0JywgJy4uLy4uL2Zhc3Qv
Zm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzJ10pOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0
YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50Mi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYWE0ZjU1MThkNTE2
NzRhYmQxOGI4N2MwMGRmNDYzYmVkOTc4MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFu
c2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudDItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTcgKzAsMCBAQAotQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbUVudHJ5Lmdl
dFBhcmVudCgpCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRpcmVjdG9y
eUVudHJ5Lm5hbWUgaXMgInRlc3RGaWxlcyIKLVBBU1MgZGlyZWN0b3J5RW50cnkuZnVsbFBhdGgg
aXMgIi90ZXN0RmlsZXMiCi1QQVNTIGRpcmVjdG9yeUVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUK
LVBBU1MgZGlyZWN0b3J5RW50cnkuaXNGaWxlIGlzIGZhbHNlCi1QQVNTIGVudHJ5UGFyZW50Lm5h
bWUgaXMgInRlc3RGaWxlcyIKLVBBU1MgZW50cnlQYXJlbnQuZnVsbFBhdGggaXMgIi90ZXN0Rmls
ZXMiCi1QQVNTIGVudHJ5UGFyZW50LmlzRGlyZWN0b3J5IGlzIHRydWUKLVBBU1MgZW50cnlQYXJl
bnQuaXNGaWxlIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudDIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQyLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwY2ZiZTI3YzFmNWEwNzA0MGRkNDFmMzI3
NzNmZjY1OWM2ZjJjZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1k
cm9wLWdldFBhcmVudDIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZWRpdGluZy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImRyb3B6b25lIiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyI+PC9kaXY+Ci08c2Ny
aXB0PgotZGVzY3JpcHRpb24oIkJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1FbnRy
eS5nZXRQYXJlbnQoKSIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBkcm9wem9uZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wem9uZScpOwotZHJvcHpvbmUub25kcm9wID0g
ZnVuY3Rpb24oZSkgewotICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICBkYXRhVHJhbnNmZXIg
PSBlLmRhdGFUcmFuc2ZlcjsKLQotICAgIGRpcmVjdG9yeUVudHJ5ID0gZGF0YVRyYW5zZmVyLml0
ZW1zWzBdLndlYmtpdEdldEFzRW50cnkoKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRp
cmVjdG9yeUVudHJ5Lm5hbWUiLCAidGVzdEZpbGVzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkaXJlY3RvcnlFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzIik7Ci0gICAgc2hvdWxk
QmVUcnVlKCJkaXJlY3RvcnlFbnRyeS5pc0RpcmVjdG9yeSIpOwotICAgIHNob3VsZEJlRmFsc2Uo
ImRpcmVjdG9yeUVudHJ5LmlzRmlsZSIpOwotCi0gICAgbGV0IGRpcmVjdG9yeVJlYWRlciA9IGRp
cmVjdG9yeUVudHJ5LmNyZWF0ZVJlYWRlcigpOwotICAgIGRpcmVjdG9yeVJlYWRlci5yZWFkRW50
cmllcyhmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgIGVudHJpZXNbMF0uZ2V0UGFyZW50KGZ1
bmN0aW9uKHBhcmVudCkgewotICAgICAgICAgICAgZW50cnlQYXJlbnQgPSBwYXJlbnQ7Ci0gICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5UGFyZW50Lm5hbWUiLCAidGVzdEZp
bGVzIik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5UGFyZW50LmZ1
bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsKLSAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZW50cnlQ
YXJlbnQuaXNEaXJlY3RvcnkiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImVudHJ5UGFy
ZW50LmlzRmlsZSIpOwotCi0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfSwg
ZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZCgiZ2V0UGFyZW50KCkgY2FsbCBm
YWlsZWQ6ICIgKyBlKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICB9KTsK
LSAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoInJlYWRFbnRyaWVzKCkg
Y2FsbCBmYWlsZWQ6ICIgKyBlKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7Ci19
OwotCi1kcm9wem9uZS5vbmRyYWdvdmVyID0gZnVuY3Rpb24oZXYpIHsKLSAgICBldi5wcmV2ZW50
RGVmYXVsdCgpOwotfQotCi1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBkcmFnRmlsZXNPbnRv
RWxlbWVudChkcm9wem9uZSwgWycuLi8uLi9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RG
aWxlcyddKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1z
LWRyb3AtZGlyZWN0b3J5UmVhZGVyLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVj
dG9yeVJlYWRlci1lcnJvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM3ZDhjNWJhZjhmYmYx
NzEzMzhjNDFiOGViNzg5NzIwOWYxOWUxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRp
cmVjdG9yeVJlYWRlci1lcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRXJyb3Ig
Y2FzZSBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5yZWFkRW50cmllcygp
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRhdGFUcmFuc2Zlci5pdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBleC5uYW1lIGlzICJJbnZhbGlkU3RhdGVFcnJvciIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9y
eVJlYWRlci1lcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNDExZTQ4NWRlZTE5OWY3YWJmMWZkM2M1
OGJmMDgzMWU1YmM0ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFk
ZXItZXJyb3IuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAy
MDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJFcnJvciBjYXNlIGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLnJl
YWRFbnRyaWVzKCkiKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZHJvcHpvbmUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKK2Ryb3B6b25lLm9uZHJvcCA9IGZ1
bmN0aW9uKGUpIHsKKyAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgZGF0YVRyYW5zZmVyID0g
ZS5kYXRhVHJhbnNmZXI7CisKKyAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0
aCIsICIxIik7CisKKyAgICBkaXJFbnRyeSA9IGRhdGFUcmFuc2Zlci5pdGVtc1swXS53ZWJraXRH
ZXRBc0VudHJ5KCk7CisgICAgbGV0IHJlYWRlciA9IGRpckVudHJ5LmNyZWF0ZVJlYWRlcigpOwor
ICAgIHJlYWRlci5yZWFkRW50cmllcyhmdW5jdGlvbigpIHt9KTsKKyAgICByZWFkZXIucmVhZEVu
dHJpZXMoZnVuY3Rpb24oZW50cmllcykgeworICAgICAgICB0ZXN0RmFpbGVkKCJDYWxsaW5nIHJl
YWRFbnRyaWVzIG9uIGEgcmVhZGVyIHdpdGggdGhlIHJlYWRpbmcgZmxhZyBzZXQgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgZnVu
Y3Rpb24oZSkgeworICAgICAgICBleCA9IGU7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZXgubmFtZSIsICJJbnZhbGlkU3RhdGVFcnJvciIpOworICAgICAgICBmaW5pc2hKU1Rlc3Qo
KQorICAgIH0pOworfTsKKworZHJvcHpvbmUub25kcmFnb3ZlciA9IGZ1bmN0aW9uKGV2KSB7Cisg
ICAgZXYucHJldmVudERlZmF1bHQoKTsKK30KKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ZHJhZ0ZpbGVzT250b0VsZW1lbnQoZHJvcHpvbmUsIFsnLi4vLi4vLi4vZmFzdC9mb3Jtcy9maWxl
L2VudHJpZXMtYXBpL3Jlc291cmNlcy90ZXN0RmlsZXMnXSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9l
bnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJh
bnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5ZWE2YWEzYTIyZWE4MTI3NGI0ODQzMzEwZDY4NDRkMTQxYWMzZWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNm
ZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDEg
QEAKK0Jhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIucmVh
ZEVudHJpZXMoKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkYXRhVHJh
bnNmZXIuaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgZW50cnkuaXNEaXJlY3RvcnkgaXMgdHJ1ZQor
UEFTUyBlbnRyeS5uYW1lIGlzICJ0ZXN0RmlsZXMiCitQQVNTIGVudHJ5LmZ1bGxQYXRoIGlzICIv
dGVzdEZpbGVzIgorUEFTUyBjaGlsZEVudHJpZXMubGVuZ3RoIGlzIDQKK1BBU1MgY2hpbGRFbnRy
aWVzWzBdLm5hbWUgaXMgImZpbGUxLnR4dCIKK1BBU1MgY2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRo
IGlzICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIKK1BBU1MgY2hpbGRFbnRyaWVzWzBdLmlzRmlsZSBp
cyB0cnVlCitQQVNTIGNoaWxkRW50cmllc1sxXS5uYW1lIGlzICJmaWxlMi50eHQiCitQQVNTIGNo
aWxkRW50cmllc1sxXS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9maWxlMi50eHQiCitQQVNTIGNo
aWxkRW50cmllc1sxXS5pc0ZpbGUgaXMgdHJ1ZQorUEFTUyBjaGlsZEVudHJpZXNbMl0ubmFtZSBp
cyAic3ViZm9sZGVyMSIKK1BBU1MgY2hpbGRFbnRyaWVzWzJdLmZ1bGxQYXRoIGlzICIvdGVzdEZp
bGVzL3N1YmZvbGRlcjEiCitQQVNTIGNoaWxkRW50cmllc1syXS5pc0RpcmVjdG9yeSBpcyB0cnVl
CitQQVNTIGNoaWxkRW50cmllc1szXS5uYW1lIGlzICJzdWJmb2xkZXIyIgorUEFTUyBjaGlsZEVu
dHJpZXNbM10uZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMiIKK1BBU1MgY2hpbGRF
bnRyaWVzWzNdLmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZ3JhbmRDaGlsZEVudHJpZXMubGVu
Z3RoIGlzIDEKK1BBU1MgZ3JhbmRDaGlsZEVudHJpZXNbMF0ubmFtZSBpcyAiZmlsZTMudHh0Igor
UEFTUyBncmFuZENoaWxkRW50cmllc1swXS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xk
ZXIxL2ZpbGUzLnR4dCIKK1BBU1MgZ3JhbmRDaGlsZEVudHJpZXNbMF0uaXNGaWxlIGlzIHRydWUK
K1BBU1MgZ3JhbmRDaGlsZEVudHJpZXMubGVuZ3RoIGlzIDIKK1BBU1MgZ3JhbmRDaGlsZEVudHJp
ZXNbMF0ubmFtZSBpcyAiZmlsZTQudHh0IgorUEFTUyBncmFuZENoaWxkRW50cmllc1swXS5mdWxs
UGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dCIKK1BBU1MgZ3JhbmRDaGls
ZEVudHJpZXNbMF0uaXNGaWxlIGlzIHRydWUKK1BBU1MgZ3JhbmRDaGlsZEVudHJpZXNbMV0ubmFt
ZSBpcyAic3ViZm9sZGVyMmEiCitQQVNTIGdyYW5kQ2hpbGRFbnRyaWVzWzFdLmZ1bGxQYXRoIGlz
ICIvdGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEiCitQQVNTIGdyYW5kQ2hpbGRFbnRy
aWVzWzFdLmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZ3JlYXRHcmFuZENoaWxkRW50cmllcy5s
ZW5ndGggaXMgMQorUEFTUyBncmVhdEdyYW5kQ2hpbGRFbnRyaWVzWzBdLm5hbWUgaXMgImZpbGU1
LnR4dCIKK1BBU1MgZ3JlYXRHcmFuZENoaWxkRW50cmllc1swXS5mdWxsUGF0aCBpcyAiL3Rlc3RG
aWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1LnR4dCIKK1BBU1MgZ3JlYXRHcmFuZENo
aWxkRW50cmllc1swXS5pc0ZpbGUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJl
YWRlci1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9l
bnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1yb290LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTMwMDVmZGQ5NTViNDMwMmM3MWU4ZjAwNjhhNDMxM2U4
MmE0NzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJvb3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK0Jhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZp
bGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIucmVhZEVudHJpZXMoKQorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIGlzIDIKK1BBU1Mg
ZW50cnkxLmlzRmlsZSBpcyB0cnVlCitQQVNTIGVudHJ5MS5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BB
U1MgZW50cnkxLmZ1bGxQYXRoIGlzICIvdGVzdC50eHQiCitQQVNTIGVudHJ5Rm91bmQuaXNGaWxl
IGlzIHRydWUKK1BBU1MgZW50cnlGb3VuZC5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BBU1MgZW50cnlG
b3VuZC5mdWxsUGF0aCBpcyAiL3Rlc3QudHh0IgorUEFTUyBlbnRyeTIuaXNEaXJlY3RvcnkgaXMg
dHJ1ZQorUEFTUyBlbnRyeTIubmFtZSBpcyAidGVzdEZpbGVzIgorUEFTUyBlbnRyeTIuZnVsbFBh
dGggaXMgIi90ZXN0RmlsZXMiCitQQVNTIGVudHJ5Rm91bmQuaXNEaXJlY3RvcnkgaXMgdHJ1ZQor
UEFTUyBlbnRyeUZvdW5kLm5hbWUgaXMgInRlc3RGaWxlcyIKK1BBU1MgZW50cnlGb3VuZC5mdWxs
UGF0aCBpcyAiL3Rlc3RGaWxlcyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXItcm9v
dC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRy
YW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJvb3QuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZGEwODBhNDI3N2E1MTkzMmZjZjgyOTViMzA4ZjU3MTAxNGU4Njc1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVy
LWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJvb3QuaHRtbApAQCAtMCwwICsxLDg4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2VkaXRpbmcu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9
IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyLnJlYWRFbnRyaWVzKCkiKTsKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCitmdW5jdGlvbiBnZXRFbnRyaWVzQXNQcm9taXNlKGRpckVudHJ5KSB7CisgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgbGV0IHJlc3Vs
dCA9IFtdOworICAgICAgICBsZXQgcmVhZGVyID0gZGlyRW50cnkuY3JlYXRlUmVhZGVyKCk7Cisg
ICAgICAgIGxldCBkb0JhdGNoID0gKCkgPT4geworICAgICAgICAgICAgcmVhZGVyLnJlYWRFbnRy
aWVzKGVudHJpZXMgPT4geworICAgICAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoID4gMCkgewor
ICAgICAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaChlID0+IHJlc3VsdC5wdXNoKGUpKTsKKyAg
ICAgICAgICAgICAgICBkb0JhdGNoKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIHJlc29sdmUocmVzdWx0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgcmVqZWN0
KTsKKyAgICB9OworICAgIGRvQmF0Y2goKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGZpbmRFbnRy
eUJ5TmFtZShlbnRyaWVzLCBuYW1lKQoreworICAgIGZvciAobGV0IGNoaWxkRW50cnkgb2YgZW50
cmllcykgeworICAgICAgICBpZiAoY2hpbGRFbnRyeS5uYW1lID09IG5hbWUpCisgICAgICAgICAg
ICByZXR1cm4gY2hpbGRFbnRyeQorICAgIH0KKyAgICByZXR1cm4gbnVsbDsKK30KKwordmFyIGRy
b3B6b25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3B6b25lJyk7Citkcm9wem9uZS5v
bmRyb3AgPSBmdW5jdGlvbihlKSB7CisgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGRhdGFU
cmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVyOworCisgICAgc2hvdWxkQmUoImRhdGFUcmFuc2Zlci5p
dGVtcy5sZW5ndGgiLCAiMiIpOworCisgICAgZW50cnkxID0gZGF0YVRyYW5zZmVyLml0ZW1zWzBd
LndlYmtpdEdldEFzRW50cnkoKTsKKyAgICBlbnRyeTIgPSBkYXRhVHJhbnNmZXIuaXRlbXNbMV0u
d2Via2l0R2V0QXNFbnRyeSgpOworCisgICAgc2hvdWxkQmVUcnVlKCJlbnRyeTEuaXNGaWxlIik7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbnRyeTEubmFtZSIsICJ0ZXN0LnR4dCIpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnkxLmZ1bGxQYXRoIiwgIi90ZXN0LnR4dCIp
OworICAgIGdldEVudHJpZXNBc1Byb21pc2UoZW50cnkxLmZpbGVzeXN0ZW0ucm9vdCkudGhlbihm
dW5jdGlvbihlbnRyaWVzKSB7CisgICAgICAgIGVudHJ5Rm91bmQgPSBmaW5kRW50cnlCeU5hbWUo
ZW50cmllcywgInRlc3QudHh0Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZW50cnlGb3VuZC5p
c0ZpbGUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbnRyeUZvdW5kLm5hbWUi
LCAidGVzdC50eHQiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbnRyeUZvdW5k
LmZ1bGxQYXRoIiwgIi90ZXN0LnR4dCIpOworCisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZW50cnky
LmlzRGlyZWN0b3J5Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnkyLm5h
bWUiLCAidGVzdEZpbGVzIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnky
LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsKKyAgICAgICAgZ2V0RW50cmllc0FzUHJvbWlzZShl
bnRyeTIuZmlsZXN5c3RlbS5yb290KS50aGVuKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICAgICAg
ICAgIGVudHJ5Rm91bmQgPSBmaW5kRW50cnlCeU5hbWUoZW50cmllcywgInRlc3RGaWxlcyIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJlbnRyeUZvdW5kLmlzRGlyZWN0b3J5Iik7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5Rm91bmQubmFtZSIsICJ0ZXN0Rmls
ZXMiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnlGb3VuZC5mdWxs
UGF0aCIsICIvdGVzdEZpbGVzIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJyZWFkRW50cmll
cyBmYWlsZWQ6ICIgKyBlKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9
KTsKKyAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoInJlYWRFbnRyaWVz
IGZhaWxlZDogIiArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKK307CisK
K2Ryb3B6b25lLm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnREZWZh
dWx0KCk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9FbGVt
ZW50KGRyb3B6b25lLCBbJy4uLy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0Jywg
Jy4uLy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVz
J10pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1kaXJlY3RvcnlSZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9l
bnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI5OGMwYzU1OGRiZTY5NTcyNjI5MDJlMzc2ZTZkMDU5YWYxODM3MTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9k
YXRhdHJhbnNmZXItaXRlbXMtZHJvcC1kaXJlY3RvcnlSZWFkZXIuaHRtbApAQCAtMCwwICsxLDEx
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9l
ZGl0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZHJvcHpvbmUi
IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdy
ZXk7Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBm
b3IgZmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5yZWFkRW50cmllcygpIik7Citqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZ2V0RW50cmllc0FzUHJvbWlzZShkaXJFbnRyeSkgewor
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGxl
dCByZXN1bHQgPSBbXTsKKyAgICAgICAgbGV0IHJlYWRlciA9IGRpckVudHJ5LmNyZWF0ZVJlYWRl
cigpOworICAgICAgICBsZXQgZG9CYXRjaCA9ICgpID0+IHsKKyAgICAgICAgICAgIHJlYWRlci5y
ZWFkRW50cmllcyhlbnRyaWVzID0+IHsKKyAgICAgICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCA+
IDApIHsKKyAgICAgICAgICAgICAgICBlbnRyaWVzLmZvckVhY2goZSA9PiByZXN1bHQucHVzaChl
KSk7CisgICAgICAgICAgICAgICAgZG9CYXRjaCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0s
IHJlamVjdCk7CisgICAgfTsKKyAgICBkb0JhdGNoKCk7CisgIH0pOworfQorCit2YXIgZHJvcHpv
bmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKK2Ryb3B6b25lLm9uZHJv
cCA9IGZ1bmN0aW9uKGUpIHsKKyAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgZGF0YVRyYW5z
ZmVyID0gZS5kYXRhVHJhbnNmZXI7CisKKyAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1z
Lmxlbmd0aCIsICIxIik7CisKKyAgICBlbnRyeSA9IGRhdGFUcmFuc2Zlci5pdGVtc1swXS53ZWJr
aXRHZXRBc0VudHJ5KCk7CisgICAgc2hvdWxkQmVUcnVlKCJlbnRyeS5pc0RpcmVjdG9yeSIpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnkubmFtZSIsICJ0ZXN0RmlsZXMiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsK
KworICAgIGdldEVudHJpZXNBc1Byb21pc2UoZW50cnkpLnRoZW4oZnVuY3Rpb24oZW50cmllcykg
eworICAgICAgICBjaGlsZEVudHJpZXMgPSBlbnRyaWVzOworICAgICAgICBzaG91bGRCZSgiY2hp
bGRFbnRyaWVzLmxlbmd0aCIsICI0Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Y2hpbGRFbnRyaWVzWzBdLm5hbWUiLCAiZmlsZTEudHh0Iik7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvZmlsZTEu
dHh0Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiY2hpbGRFbnRyaWVzWzBdLmlzRmlsZSIpOwor
CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2hpbGRFbnRyaWVzWzFdLm5hbWUiLCAi
ZmlsZTIudHh0Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2hpbGRFbnRyaWVz
WzFdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvZmlsZTIudHh0Iik7CisgICAgICAgIHNob3VsZEJl
VHJ1ZSgiY2hpbGRFbnRyaWVzWzFdLmlzRmlsZSIpOworCisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiY2hpbGRFbnRyaWVzWzJdLm5hbWUiLCAic3ViZm9sZGVyMSIpOworICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImNoaWxkRW50cmllc1syXS5mdWxsUGF0aCIsICIvdGVzdEZp
bGVzL3N1YmZvbGRlcjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJjaGlsZEVudHJpZXNbMl0u
aXNEaXJlY3RvcnkiKTsKKworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNoaWxkRW50
cmllc1szXS5uYW1lIiwgInN1YmZvbGRlcjIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJjaGlsZEVudHJpZXNbM10uZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyIik7
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiY2hpbGRFbnRyaWVzWzNdLmlzRGlyZWN0b3J5Iik7CisK
KyAgICAgICAgZ2V0RW50cmllc0FzUHJvbWlzZShjaGlsZEVudHJpZXNbMl0pLnRoZW4oZnVuY3Rp
b24oZW50cmllcykgeworICAgICAgICAgICAgZ3JhbmRDaGlsZEVudHJpZXMgPSBlbnRyaWVzOwor
ICAgICAgICAgICAgc2hvdWxkQmUoImdyYW5kQ2hpbGRFbnRyaWVzLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdyYW5kQ2hpbGRFbnRyaWVzWzBdLm5h
bWUiLCAiZmlsZTMudHh0Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdy
YW5kQ2hpbGRFbnRyaWVzWzBdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxl
My50eHQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ3JhbmRDaGlsZEVudHJpZXNbMF0u
aXNGaWxlIik7CisKKyAgICAgICAgICAgIGdldEVudHJpZXNBc1Byb21pc2UoY2hpbGRFbnRyaWVz
WzNdKS50aGVuKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICAgICAgICAgICAgICBncmFuZENoaWxk
RW50cmllcyA9IGVudHJpZXM7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImdyYW5kQ2hpbGRF
bnRyaWVzLmxlbmd0aCIsICIyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJncmFuZENoaWxkRW50cmllc1swXS5uYW1lIiwgImZpbGU0LnR4dCIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ3JhbmRDaGlsZEVudHJpZXNbMF0uZnVsbFBh
dGgiLCAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dCIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiZ3JhbmRDaGlsZEVudHJpZXNbMF0uaXNGaWxlIik7CisKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdyYW5kQ2hpbGRFbnRyaWVzWzFdLm5hbWUi
LCAic3ViZm9sZGVyMmEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImdyYW5kQ2hpbGRFbnRyaWVzWzFdLmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMi9z
dWJmb2xkZXIyYSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ3JhbmRDaGlsZEVu
dHJpZXNbMV0uaXNEaXJlY3RvcnkiKTsKKworICAgICAgICAgICAgICAgIGdldEVudHJpZXNBc1By
b21pc2UoZ3JhbmRDaGlsZEVudHJpZXNbMV0pLnRoZW4oZnVuY3Rpb24oZW50cmllcykgeworICAg
ICAgICAgICAgICAgICAgICBncmVhdEdyYW5kQ2hpbGRFbnRyaWVzID0gZW50cmllczsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImdyZWF0R3JhbmRDaGlsZEVudHJpZXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJncmVhdEdy
YW5kQ2hpbGRFbnRyaWVzWzBdLm5hbWUiLCAiZmlsZTUudHh0Iik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ3JlYXRHcmFuZENoaWxkRW50cmllc1swXS5mdWxs
UGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmlsZTUudHh0Iik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ3JlYXRHcmFuZENoaWxkRW50cmllc1sw
XS5pc0ZpbGUiKTsKKworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoInJlYWRFbnRyaWVzIGZhaWxlZDogIiArIGUpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9u
KGUpIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJyZWFkRW50cmllcyBmYWlsZWQ6ICIg
KyBlKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJyZWFkRW50
cmllcyBmYWlsZWQ6ICIgKyBlKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICB9KTsKKyAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoInJlYWRFbnRy
aWVzIGZhaWxlZDogIiArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKK307
CisKK2Ryb3B6b25lLm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnRE
ZWZhdWx0KCk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9F
bGVtZW50KGRyb3B6b25lLCBbJy4uLy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9y
ZXNvdXJjZXMvdGVzdEZpbGVzJ10pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRh
dHJhbnNmZXItaXRlbXMtZHJvcC1maWxlRW50cnktZmlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1maWxlRW50cnktZmlsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMwZDRlZTliMDFhY2Fh
Y2FiZmZkNGI5NzI2OTU1YWY2OWM2NGVhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWZp
bGVFbnRyeS1maWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMxIEBACitCYXNpYyB0ZXN0IGNv
dmVyYWdlIGZvciBmaWxlU3lzdGVtRmlsZUVudHJ5LmZpbGUoKQorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIGlzIDIKK1BBU1Mg
Zmlyc3RFbnRyeS5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BBU1MgZmlyc3RFbnRyeS5mdWxsUGF0aCBp
cyAiL3Rlc3QudHh0IgorUEFTUyBmaXJzdEVudHJ5LmlzRmlsZSBpcyB0cnVlCitQQVNTIGZpbGVS
ZXN1bHQuX19wcm90b19fIGlzIEZpbGUucHJvdG90eXBlCitQQVNTIGZpbGVSZXN1bHQubmFtZSBp
cyAidGVzdC50eHQiCitQQVNTIGZpbGVSZXN1bHQud2Via2l0UmVsYXRpdmVQYXRoIGlzICIiCitQ
QVNTIGZpbGVSZXN1bHQuc2l6ZSBpcyA1CitQQVNTIGZpbGVSZXN1bHQudHlwZSBpcyAidGV4dC9w
bGFpbiIKK1BBU1MgY29udGVudFJlc3VsdCBpcyAiSGVsbG8iCitQQVNTIHNlY29uZEVudHJ5Lm5h
bWUgaXMgInRlc3RGaWxlcyIKK1BBU1Mgc2Vjb25kRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0Rmls
ZXMiCitQQVNTIHNlY29uZEVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZmlsZUVudHJ5
UmVzdWx0Lm5hbWUgaXMgImZpbGUzLnR4dCIKK1BBU1MgZmlsZUVudHJ5UmVzdWx0LmZ1bGxQYXRo
IGlzICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0IgorUEFTUyBmaWxlRW50cnlSZXN1
bHQuaXNGaWxlIGlzIHRydWUKK1BBU1MgZmlsZTNSZXN1bHQuX19wcm90b19fIGlzIEZpbGUucHJv
dG90eXBlCitQQVNTIGZpbGUzUmVzdWx0Lm5hbWUgaXMgImZpbGUzLnR4dCIKK1BBU1MgZmlsZTNS
ZXN1bHQud2Via2l0UmVsYXRpdmVQYXRoIGlzICIiCitQQVNTIGZpbGUzUmVzdWx0LnNpemUgaXMg
MgorUEFTUyBmaWxlM1Jlc3VsdC50eXBlIGlzICJ0ZXh0L3BsYWluIgorUEFTUyBjb250ZW50UmVz
dWx0IGlzICIzXG4iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGll
cy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZmlsZUVudHJ5LWZpbGUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1k
cm9wLWZpbGVFbnRyeS1maWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmYxMDA4Mjg1ZjFlYThmM2ViZmUy
NjIwZmE4NzU2MzRiZThmNDcxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWZpbGVFbnRy
eS1maWxlLmh0bWwKQEAgLTAsMCArMSwxMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZWRpdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRyb3B6b25lIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIw
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIkJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1GaWxlRW50cnkuZmlsZSgpIik7
Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZmlsZUFzUHJvbWlzZShmaWxlRW50
cnkpCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICAgICAgZmlsZUVudHJ5LmZpbGUocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gcmVhZFRleHRGaWxlQXNQcm9taXNlKGZpbGUpCit7CisgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgbGV0IGZpbGVSZWFkZXIgPSBuZXcg
RmlsZVJlYWRlcigpOworICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgICAgIHJlc29sdmUoZmlsZVJlYWRlci5yZXN1bHQpOworICAgICAgICB9CisgICAg
ICAgIGZpbGVSZWFkZXIucmVhZEFzVGV4dChmaWxlKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24g
Z2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgcGF0aCkKK3sKKyAgICByZXR1cm4gbmV3
IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBkaXJlY3RvcnlFbnRyeS5n
ZXRGaWxlKHBhdGgsIHt9LCByZXNvbHZlLCByZWplY3QpOworICAgIH0pOworfQorCitmdW5jdGlv
biB0ZXN0MSgpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEVudHJ5Lm5hbWUi
LCAidGVzdC50eHQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpcnN0RW50cnkuZnVs
bFBhdGgiLCAiL3Rlc3QudHh0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJmaXJzdEVudHJ5LmlzRmls
ZSIpOworICAgIHJldHVybiBmaWxlQXNQcm9taXNlKGZpcnN0RW50cnkpLnRoZW4oZmlsZSA9PiB7
CisgICAgICAgIGZpbGVSZXN1bHQgPSBmaWxlOworICAgICAgICBzaG91bGRCZSgiZmlsZVJlc3Vs
dC5fX3Byb3RvX18iLCAiRmlsZS5wcm90b3R5cGUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJmaWxlUmVzdWx0Lm5hbWUiLCAidGVzdC50eHQiKTsKKyAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJmaWxlUmVzdWx0LndlYmtpdFJlbGF0aXZlUGF0aCIsICIiKTsKKyAgICAg
ICAgc2hvdWxkQmUoImZpbGVSZXN1bHQuc2l6ZSIsICI1Iik7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZmlsZVJlc3VsdC50eXBlIiwgInRleHQvcGxhaW4iKTsKKyAgICB9LCBlID0+
IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiZmlsZUVudHJ5LmZpbGUoKSBjYWxsIGZhaWxlZCB1bmV4
cGVjdGVkbHk6ICIgKyBlKTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgIHJldHVy
biByZWFkVGV4dEZpbGVBc1Byb21pc2UoZmlsZVJlc3VsdCkudGhlbihjb250ZW50ID0+IHsKKyAg
ICAgICAgICAgY29udGVudFJlc3VsdCA9IGNvbnRlbnQ7CisgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY29udGVudFJlc3VsdCIsICJIZWxsbyIpOworICAgICAgIH0pOworICAgIH0p
OworfQorCitmdW5jdGlvbiB0ZXN0MigpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJz
ZWNvbmRFbnRyeS5uYW1lIiwgInRlc3RGaWxlcyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygic2Vjb25kRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcyIpOworICAgIHNob3VsZEJlVHJ1
ZSgic2Vjb25kRW50cnkuaXNEaXJlY3RvcnkiKTsKKworICAgIHJldHVybiBnZXRGaWxlQXNQcm9t
aXNlKHNlY29uZEVudHJ5LCAic3ViZm9sZGVyMS9maWxlMy50eHQiKS50aGVuKGZpbGVFbnRyeSA9
PiB7CisgICAgICAgIGZpbGVFbnRyeVJlc3VsdCA9IGZpbGVFbnRyeTsKKyAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJmaWxlRW50cnlSZXN1bHQubmFtZSIsICJmaWxlMy50eHQiKTsKKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlRW50cnlSZXN1bHQuZnVsbFBhdGgiLCAi
L3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIpOworICAgICAgICBzaG91bGRCZVRydWUo
ImZpbGVFbnRyeVJlc3VsdC5pc0ZpbGUiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgdGVzdEZh
aWxlZCgiZGlyZWN0b3J5RW50cnkuZ2V0RmlsZSgpIGNhbGwgZmFpbGVkIHVuZXhwZWN0ZWRseTog
IiArIGUpOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiBmaWxlQXNQ
cm9taXNlKGZpbGVFbnRyeVJlc3VsdCkudGhlbihmaWxlID0+IHsKKyAgICAgICAgICAgIGZpbGUz
UmVzdWx0ID0gZmlsZTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJmaWxlM1Jlc3VsdC5fX3Byb3Rv
X18iLCAiRmlsZS5wcm90b3R5cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZTNSZXN1bHQubmFtZSIsICJmaWxlMy50eHQiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZmlsZTNSZXN1bHQud2Via2l0UmVsYXRpdmVQYXRoIiwgIiIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImZpbGUzUmVzdWx0LnNpemUiLCAiMiIpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlM1Jlc3VsdC50eXBlIiwgInRleHQvcGxhaW4iKTsK
KyAgICAgICAgfSwgZSA9PiB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJmaWxlRW50cnkuZmls
ZSgpIGNhbGwgZmFpbGVkIHVuZXhwZWN0ZWRseTogIiArIGUpOworICAgICAgICB9KS50aGVuKGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgcmV0dXJuIHJlYWRUZXh0RmlsZUFzUHJvbWlzZShmaWxl
M1Jlc3VsdCkudGhlbihjb250ZW50ID0+IHsKKyAgICAgICAgICAgICAgICBjb250ZW50UmVzdWx0
ID0gY29udGVudDsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRl
bnRSZXN1bHQiLCAiM1xuIik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7
Cit9CisKK3ZhciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wem9uZScp
OworZHJvcHpvbmUub25kcm9wID0gZnVuY3Rpb24oZSkgeworICAgIGUucHJldmVudERlZmF1bHQo
KTsKKyAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2ZlcjsKKworICAgIHNob3VsZEJlKCJk
YXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIiwgIjIiKTsKKworICAgIGZpcnN0RW50cnkgPSBkYXRh
VHJhbnNmZXIuaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNlY29uZEVudHJ5ID0g
ZGF0YVRyYW5zZmVyLml0ZW1zWzFdLndlYmtpdEdldEFzRW50cnkoKTsKKworICAgIHRlc3QxKCku
dGhlbih0ZXN0MikudGhlbihmaW5pc2hKU1Rlc3QpOworfTsKKworZHJvcHpvbmUub25kcmFnb3Zl
ciA9IGZ1bmN0aW9uKGV2KSB7CisgICAgZXYucHJldmVudERlZmF1bHQoKTsKK30KKworb25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgZHJhZ0ZpbGVzT250b0VsZW1lbnQoZHJvcHpvbmUsIFsnLi4v
Li4vLi4vZmFzdC9mb3Jtcy9yZXNvdXJjZXMvdGVzdC50eHQnLCAnLi4vLi4vLi4vZmFzdC9mb3Jt
cy9maWxlL2VudHJpZXMtYXBpL3Jlc291cmNlcy90ZXN0RmlsZXMnXSk7Cit9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFzRW50cnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRy
YW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI2
OGRlMDE2ODdmYjc2ZjQxMTk0MGM2Y2IwZTA5NDJhZDljYTFhZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1p
dGVtcy1kcm9wLWdldEFzRW50cnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK0Jhc2lj
IHRlc3QgY292ZXJhZ2UgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5s
ZW5ndGggaXMgMgorUEFTUyBmaXJzdERhdGFUcmFuc2Zlckl0ZW0ua2luZCBpcyAiZmlsZSIKK1BB
U1MgZmlyc3REYXRhVHJhbnNmZXJJdGVtLnR5cGUgaXMgInRleHQvcGxhaW4iCitQQVNTIGZpcnN0
RmlsZS5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BBU1MgZmlyc3RGaWxlLnNpemUgaXMgNQorUEFTUyBm
aXJzdEZpbGUudHlwZSBpcyAidGV4dC9wbGFpbiIKK1BBU1MgZmlyc3RFbnRyeS5pc0RpcmVjdG9y
eSBpcyBmYWxzZQorUEFTUyBmaXJzdEVudHJ5LmlzRmlsZSBpcyB0cnVlCitQQVNTIGZpcnN0RW50
cnkubmFtZSBpcyAidGVzdC50eHQiCitQQVNTIGZpcnN0RW50cnkuZnVsbFBhdGggaXMgIi90ZXN0
LnR4dCIKK1BBU1Mgc2Vjb25kRGF0YVRyYW5zZmVySXRlbS5raW5kIGlzICJmaWxlIgorUEFTUyBz
ZWNvbmREYXRhVHJhbnNmZXJJdGVtLnR5cGUgaXMgIiIKK1BBU1Mgc2Vjb25kRmlsZS5uYW1lIGlz
ICJ0ZXN0RmlsZXMiCitQQVNTIHNlY29uZEZpbGUuc2l6ZSBpcyAyMDQKK1BBU1Mgc2Vjb25kRmls
ZS50eXBlIGlzICIiCitQQVNTIHNlY29uZEVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1Mg
c2Vjb25kRW50cnkuaXNGaWxlIGlzIGZhbHNlCitQQVNTIHNlY29uZEVudHJ5Lm5hbWUgaXMgInRl
c3RGaWxlcyIKK1BBU1Mgc2Vjb25kRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCitQQVNT
IGZpbGVTeXN0ZW1Sb290LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbVJvb3Qu
aXNGaWxlIGlzIGZhbHNlCitQQVNTIGZpbGVTeXN0ZW1Sb290Lm5hbWUgaXMgIiIKK1BBU1MgZmls
ZVN5c3RlbVJvb3QuZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxOGIzNTI5NDQ1ZTMw
NGMxODE2ODI5MDQ4NThiNzIwYjU5ZGNjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRBc0VudHJ5Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRB
c0VudHJ5KCkiKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZHJvcHpvbmUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKK2Ryb3B6b25lLm9uZHJvcCA9IGZ1bmN0
aW9uKGUpIHsKKyAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgZGF0YVRyYW5zZmVyID0gZS5k
YXRhVHJhbnNmZXI7CisKKyAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCIs
ICIyIik7CisKKyAgICBmaXJzdERhdGFUcmFuc2Zlckl0ZW0gPSBkYXRhVHJhbnNmZXIuaXRlbXNb
MF07CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdERhdGFUcmFuc2Zlckl0ZW0ua2lu
ZCIsICJmaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdERhdGFUcmFuc2Zl
ckl0ZW0udHlwZSIsICJ0ZXh0L3BsYWluIik7CisgICAgZmlyc3RGaWxlID0gZmlyc3REYXRhVHJh
bnNmZXJJdGVtLmdldEFzRmlsZSgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RG
aWxlLm5hbWUiLCAidGVzdC50eHQiKTsKKyAgICBzaG91bGRCZSgiZmlyc3RGaWxlLnNpemUiLCAi
NSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RGaWxlLnR5cGUiLCAidGV4dC9w
bGFpbiIpOworCisgICAgZmlyc3RFbnRyeSA9IGZpcnN0RGF0YVRyYW5zZmVySXRlbS53ZWJraXRH
ZXRBc0VudHJ5KCk7CisgICAgc2hvdWxkQmVGYWxzZSgiZmlyc3RFbnRyeS5pc0RpcmVjdG9yeSIp
OworICAgIHNob3VsZEJlVHJ1ZSgiZmlyc3RFbnRyeS5pc0ZpbGUiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImZpcnN0RW50cnkubmFtZSIsICJ0ZXN0LnR4dCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZmlyc3RFbnRyeS5mdWxsUGF0aCIsICIvdGVzdC50eHQiKTsKKworICAg
IC8vIFNlY29uZCBpdGVtLgorICAgIHNlY29uZERhdGFUcmFuc2Zlckl0ZW0gPSBkYXRhVHJhbnNm
ZXIuaXRlbXNbMV07CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmREYXRhVHJhbnNm
ZXJJdGVtLmtpbmQiLCAiZmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vjb25k
RGF0YVRyYW5zZmVySXRlbS50eXBlIiwgIiIpOworICAgIHNlY29uZEZpbGUgPSBzZWNvbmREYXRh
VHJhbnNmZXJJdGVtLmdldEFzRmlsZSgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vj
b25kRmlsZS5uYW1lIiwgInRlc3RGaWxlcyIpOworICAgIHNob3VsZEJlKCJzZWNvbmRGaWxlLnNp
emUiLCAiMjA0Iik7IC8vIENocm9tZSByZXR1cm5zIGZvbGRlciBzaXplLCBGaXJlZm94IHJldHVy
bnMgMC4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEZpbGUudHlwZSIsICIiKTsK
KworICAgIHNlY29uZEVudHJ5ID0gc2Vjb25kRGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0Vu
dHJ5KCk7CisgICAgc2hvdWxkQmVUcnVlKCJzZWNvbmRFbnRyeS5pc0RpcmVjdG9yeSIpOworICAg
IHNob3VsZEJlRmFsc2UoInNlY29uZEVudHJ5LmlzRmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygic2Vjb25kRW50cnkubmFtZSIsICJ0ZXN0RmlsZXMiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInNlY29uZEVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsKKworICAg
IGZpbGVTeXN0ZW1Sb290ID0gc2Vjb25kRW50cnkuZmlsZXN5c3RlbS5yb290OworICAgIHNob3Vs
ZEJlVHJ1ZSgiZmlsZVN5c3RlbVJvb3QuaXNEaXJlY3RvcnkiKTsKKyAgICBzaG91bGRCZUZhbHNl
KCJmaWxlU3lzdGVtUm9vdC5pc0ZpbGUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZp
bGVTeXN0ZW1Sb290Lm5hbWUiLCAiIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxl
U3lzdGVtUm9vdC5mdWxsUGF0aCIsICIvIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K2Ryb3B6b25lLm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnREZWZh
dWx0KCk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9FbGVt
ZW50KGRyb3B6b25lLCBbJy4uLy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0Jywg
Jy4uLy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVz
J10pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXREaXJlY3RvcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RGlyZWN0b3J5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lMjFlZmFlMTdjZWZiNzQ1OTU0ZDNjMzQyMGY0YTdkZjAyMjFk
MTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Vu
dGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RGlyZWN0b3J5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUwIEBACitCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRGly
ZWN0b3J5RW50cnkuZ2V0RGlyZWN0b3J5KCkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCBpcyAxCisqIEVycm9yIGNhc2U6IGNy
ZWF0ZSBmbGFnIGlzIHNldCB0byB0cnVlCitQQVNTIGV4Lm5hbWUgaXMgIlNlY3VyaXR5RXJyb3Ii
CisqIFJlZ3VsYXIgY2FzZTogZ2V0RGlyZWN0b3J5KCdzdWJmb2xkZXIxJykKK1BBU1Mgc3ViZm9s
ZGVyMUVudHJ5Lm5hbWUgaXMgInN1YmZvbGRlcjEiCitQQVNTIHN1YmZvbGRlcjFFbnRyeS5mdWxs
UGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIgorUEFTUyBzdWJmb2xkZXIxRW50cnkuaXNE
aXJlY3RvcnkgaXMgdHJ1ZQorKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdp
dGggcGF0aCB0byBmaWxlCitQQVNTIGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9yIgorKiBF
cnJvciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggcGF0aCBjb250YWluaW5nIGJh
Y2tzbGFzaAorUEFTUyBleC5uYW1lIGlzICJUeXBlTWlzbWF0Y2hFcnJvciIKKyogRXJyb3IgY2Fz
ZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggd2hpY2ggZG9lcyBub3QgZXhpc3QK
K1BBU1MgZXgubmFtZSBpcyAiTm90Rm91bmRFcnJvciIKKyogRXJyb3IgY2FzZTogY2FsbGluZyBn
ZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggY29udGFpbmluZyBhIE5VTCBjaGFyYWN0ZXIKK1BBU1Mg
ZXgubmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCisqIFJlZ3VsYXIgY2FzZTogY2FsbGluZyBn
ZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggdG8gcm9vdAorUEFTUyByb290RW50cnkubmFtZSBpcyAi
IgorUEFTUyByb290RW50cnkuZnVsbFBhdGggaXMgIi8iCitQQVNTIHJvb3RFbnRyeS5pc0RpcmVj
dG9yeSBpcyB0cnVlCisqIFJlZ3VsYXIgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRo
IGFic29sdXRlIHBhdGgKK1BBU1Mgc3ViZm9sZGVyMmFFbnRyeS5uYW1lIGlzICJzdWJmb2xkZXIy
YSIKK1BBU1Mgc3ViZm9sZGVyMmFFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xk
ZXIyL3N1YmZvbGRlcjJhIgorUEFTUyBzdWJmb2xkZXIyYUVudHJ5LmlzRGlyZWN0b3J5IGlzIHRy
dWUKKyogRWRnZSBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggcmVsYXRpdmUgcGF0
aCBjb250YWluaW5nICcuJyBhbmQgJy4uJworUEFTUyBzdWJmb2xkZXIyYUVudHJ5Lm5hbWUgaXMg
InN1YmZvbGRlcjJhIgorUEFTUyBzdWJmb2xkZXIyYUVudHJ5LmZ1bGxQYXRoIGlzICIvdGVzdEZp
bGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEiCitQQVNTIHN1YmZvbGRlcjJhRW50cnkuaXNEaXJl
Y3RvcnkgaXMgdHJ1ZQorKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBy
ZWxhdGl2ZSBwYXRoIGNvbnRhaW5pbmcgdG9vIG1hbnkgJy4uJworUEFTUyBzdWJmb2xkZXIxRW50
cnkubmFtZSBpcyAic3ViZm9sZGVyMSIKK1BBU1Mgc3ViZm9sZGVyMUVudHJ5LmZ1bGxQYXRoIGlz
ICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEiCitQQVNTIHN1YmZvbGRlcjFFbnRyeS5pc0RpcmVjdG9y
eSBpcyB0cnVlCisqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIGFic29s
dXRlIHBhdGggY29udGFpbmluZyAnLi4nCitQQVNTIHN1YmZvbGRlcjFFbnRyeS5uYW1lIGlzICJz
dWJmb2xkZXIxIgorUEFTUyBzdWJmb2xkZXIxRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMv
c3ViZm9sZGVyMSIKK1BBU1Mgc3ViZm9sZGVyMUVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKKyog
RWRnZSBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggYWJzb2x1dGUgcGF0aCBjb250
YWluaW5nIHRvbyBtYW55ICcuLicKK1BBU1Mgc3ViZm9sZGVyMUVudHJ5Lm5hbWUgaXMgInN1YmZv
bGRlcjEiCitQQVNTIHN1YmZvbGRlcjFFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJm
b2xkZXIxIgorUEFTUyBzdWJmb2xkZXIxRW50cnkuaXNEaXJlY3RvcnkgaXMgdHJ1ZQorKiBFcnJv
ciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggZW1wdHkgcGF0aAorUEFTUyBleC5u
YW1lIGlzICJUeXBlTWlzbWF0Y2hFcnJvciIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3Rvcnku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFu
c2Zlci1pdGVtcy1kcm9wLWdldERpcmVjdG9yeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4M2Y5ZGE4NDY1
NjNiMjk3MmExNWFjNTJlNDk5YTc1YTBhZTJlMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXREaXJlY3RvcnkuaHRtbApAQCAtMCwwICsxLDE5NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhl
aWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ij48L2Rpdj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5LmdldERpcmVjdG9yeSgpIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24g
Z2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVjdG9yeSwgcGF0aCwgZmxhZ3MpCit7CisgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGlyZWN0b3J5
LmdldERpcmVjdG9yeShwYXRoLCBmbGFncywgcmVzb2x2ZSwgcmVqZWN0KTsKKyAgICB9KTsKK30K
KworZnVuY3Rpb24gdGVzdDEoKSB7CisgICAgZGVidWcoIiogRXJyb3IgY2FzZTogY3JlYXRlIGZs
YWcgaXMgc2V0IHRvIHRydWUiKTsKKyAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRp
cmVjdG9yeUVudHJ5LCAic3ViZm9sZGVyMSIsIHsgY3JlYXRlOiB0cnVlIH0pLnRoZW4oZW50cnkg
PT4geworICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVuIGNyZWF0ZSBmbGFnIGlz
IHRydWUiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgZXggPSBlOworICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiU2VjdXJpdHlFcnJvciIpOworICAgIH0pOworfQor
CitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgICBkZWJ1ZygiKiBSZWd1bGFyIGNhc2U6IGdldERpcmVj
dG9yeSgnc3ViZm9sZGVyMScpIik7CisgICAgcmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShk
aXJlY3RvcnlFbnRyeSwgInN1YmZvbGRlcjEiLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAgICAg
IHN1YmZvbGRlcjFFbnRyeSA9IGVudHJ5OworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InN1YmZvbGRlcjFFbnRyeS5uYW1lIiwgInN1YmZvbGRlcjEiKTsKKyAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9zdWJm
b2xkZXIxIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgic3ViZm9sZGVyMUVudHJ5LmlzRGlyZWN0
b3J5Iik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoImdldERpcmVjdG9yeSgn
c3ViZm9sZGVyMScpIHNob3VsZCBzdWNjZWVkIik7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QzKCkgeworICAgIGRlYnVnKCIqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkg
d2l0aCBwYXRoIHRvIGZpbGUiKTsKKyAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRp
cmVjdG9yeUVudHJ5LCAiZmlsZTEudHh0Iiwge30pLnRoZW4oZW50cnkgPT4geworICAgICAgICB0
ZXN0RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVuIHBhdGggcG9pbnRzIHRvIGEgZmlsZSIpOworICAg
IH0sIGUgPT4geworICAgICAgICBleCA9IGU7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZXgubmFtZSIsICJUeXBlTWlzbWF0Y2hFcnJvciIpOworICAgIH0pOworfQorCitmdW5jdGlv
biB0ZXN0NCgpIHsKKyAgICBkZWJ1ZygiKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9y
eSgpIHdpdGggcGF0aCBjb250YWluaW5nIGJhY2tzbGFzaCIpOworICAgIHJldHVybiBnZXREaXJl
Y3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJcXHN1YmZvbGRlcjEiLCB7fSkudGhlbihl
bnRyeSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBmYWlsIHdoZW4gcGF0aCBpcyBp
bnZhbGlkIik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIGV4ID0gZTsKKyAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNtYXRjaEVycm9yIik7CisgICAgfSk7
Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICAgIGRlYnVnKCIqIEVycm9yIGNhc2U6IGNhbGxp
bmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBwYXRoIHdoaWNoIGRvZXMgbm90IGV4aXN0Iik7CisgICAg
cmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgImRvZXNub3RleGlz
dCIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGZhaWwg
d2hlbiBwYXRoIGRvZXMgbm90IGV4aXN0Iik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIGV4ID0g
ZTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIk5vdEZvdW5kRXJy
b3IiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDYoKSB7CisgICAgZGVidWcoIiogRXJy
b3IgY2FzZTogY2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIHBhdGggY29udGFpbmluZyBhIE5V
TCBjaGFyYWN0ZXIiKTsKKyAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVjdG9y
eUVudHJ5LCAic3ViZm9sZGVyMVwwIiwge30pLnRoZW4oZW50cnkgPT4geworICAgICAgICB0ZXN0
RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVuIHBhdGggaXMgaW52YWxpZCIpOworICAgIH0sIGUgPT4g
eworICAgICAgICBleCA9IGU7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXgubmFt
ZSIsICJUeXBlTWlzbWF0Y2hFcnJvciIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0Nygp
IHsKKyAgICBkZWJ1ZygiKiBSZWd1bGFyIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0
aCBwYXRoIHRvIHJvb3QiKTsKKyAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRpcmVj
dG9yeUVudHJ5LCAiLyIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgcm9vdEVudHJ5ID0g
ZW50cnk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicm9vdEVudHJ5Lm5hbWUiLCAi
Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicm9vdEVudHJ5LmZ1bGxQYXRoIiwg
Ii8iKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJyb290RW50cnkuaXNEaXJlY3RvcnkiKTsKKyAg
ICB9LCBlID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiZ2V0RGlyZWN0b3J5KCcvJykgc2hvdWxk
IHN1Y2NlZWQiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDgoKSB7CisgICAgZGVidWco
IiogUmVndWxhciBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggYWJzb2x1dGUgcGF0
aCIpOworICAgIHJldHVybiBnZXREaXJlY3RvcnlBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIv
dGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEiLCB7fSkudGhlbihlbnRyeSA9PiB7Cisg
ICAgICAgIHN1YmZvbGRlcjJhRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzdWJmb2xkZXIyYUVudHJ5Lm5hbWUiLCAic3ViZm9sZGVyMmEiKTsKKyAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIyYUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0
RmlsZXMvc3ViZm9sZGVyMi9zdWJmb2xkZXIyYSIpOworICAgICAgICBzaG91bGRCZVRydWUoInN1
YmZvbGRlcjJhRW50cnkuaXNEaXJlY3RvcnkiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgdGVz
dEZhaWxlZCgiZ2V0RGlyZWN0b3J5KCcvdGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEn
KSBzaG91bGQgc3VjY2VlZCIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0OSgpIHsKKyAg
ICBkZWJ1ZygiKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCByZWxhdGl2
ZSBwYXRoIGNvbnRhaW5pbmcgJy4nIGFuZCAnLi4nIik7CisgICAgcmV0dXJuIGdldERpcmVjdG9y
eUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIi4uL3Rlc3RGaWxlcy8uLy4vc3ViZm9sZGVyMi8u
Li9zdWJmb2xkZXIyLy4vc3ViZm9sZGVyMmEiLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAgICAg
IHN1YmZvbGRlcjJhRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzdWJmb2xkZXIyYUVudHJ5Lm5hbWUiLCAic3ViZm9sZGVyMmEiKTsKKyAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIyYUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMv
c3ViZm9sZGVyMi9zdWJmb2xkZXIyYSIpOworICAgICAgICBzaG91bGRCZVRydWUoInN1YmZvbGRl
cjJhRW50cnkuaXNEaXJlY3RvcnkiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgdGVzdEZhaWxl
ZCgiZ2V0RGlyZWN0b3J5KCcuLi90ZXN0RmlsZXMvLi8uL3N1YmZvbGRlcjIvLi4vc3ViZm9sZGVy
Mi8uL3N1YmZvbGRlcjJhJykgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gdGVzdDEwKCkgeworICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXREaXJlY3Rv
cnkoKSB3aXRoIHJlbGF0aXZlIHBhdGggY29udGFpbmluZyB0b28gbWFueSAnLi4nIik7CisgICAg
cmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIi4uLy4uLy4uLy4u
Ly4uL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIiwge30pLnRoZW4oZW50cnkgPT4geworICAgICAgICBz
dWJmb2xkZXIxRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJz
dWJmb2xkZXIxRW50cnkubmFtZSIsICJzdWJmb2xkZXIxIik7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygic3ViZm9sZGVyMUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9s
ZGVyMSIpOworICAgICAgICBzaG91bGRCZVRydWUoInN1YmZvbGRlcjFFbnRyeS5pc0RpcmVjdG9y
eSIpOworICAgIH0sIGUgPT4geworICAgICAgICB0ZXN0RmFpbGVkKCJnZXREaXJlY3RvcnkoJy4u
Ly4uLy4uLy4uLy4uL3Rlc3RGaWxlcy9zdWJmb2xkZXIxJykgc2hvdWxkIHN1Y2NlZWQiKTsKKyAg
ICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDExKCkgeworICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTog
Y2FsbGluZyBnZXREaXJlY3RvcnkoKSB3aXRoIGFic29sdXRlIHBhdGggY29udGFpbmluZyAnLi4n
Iik7CisgICAgcmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIi90
ZXN0RmlsZXMvLi4vdGVzdEZpbGVzL3N1YmZvbGRlcjEiLCB7fSkudGhlbihlbnRyeSA9PiB7Cisg
ICAgICAgIHN1YmZvbGRlcjFFbnRyeSA9IGVudHJ5OworICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN1YmZvbGRlcjFFbnRyeS5uYW1lIiwgInN1YmZvbGRlcjEiKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxl
cy9zdWJmb2xkZXIxIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgic3ViZm9sZGVyMUVudHJ5Lmlz
RGlyZWN0b3J5Iik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoImdldERpcmVj
dG9yeSgnLi4vLi4vLi4vLi4vLi4vdGVzdEZpbGVzL3N1YmZvbGRlcjEnKSBzaG91bGQgc3VjY2Vl
ZCIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0MTIoKSB7CisgICAgZGVidWcoIiogRWRn
ZSBjYXNlOiBjYWxsaW5nIGdldERpcmVjdG9yeSgpIHdpdGggYWJzb2x1dGUgcGF0aCBjb250YWlu
aW5nIHRvbyBtYW55ICcuLiciKTsKKyAgICByZXR1cm4gZ2V0RGlyZWN0b3J5QXNQcm9taXNlKGRp
cmVjdG9yeUVudHJ5LCAiLy4uLy4uLy4uLy4uLy4uL3Rlc3RGaWxlcy9zdWJmb2xkZXIxIiwge30p
LnRoZW4oZW50cnkgPT4geworICAgICAgICBzdWJmb2xkZXIxRW50cnkgPSBlbnRyeTsKKyAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdWJmb2xkZXIxRW50cnkubmFtZSIsICJzdWJmb2xk
ZXIxIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZm9sZGVyMUVudHJ5LmZ1
bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMSIpOworICAgICAgICBzaG91bGRCZVRydWUo
InN1YmZvbGRlcjFFbnRyeS5pc0RpcmVjdG9yeSIpOworICAgIH0sIGUgPT4geworICAgICAgICB0
ZXN0RmFpbGVkKCJnZXREaXJlY3RvcnkoJy4uLy4uLy4uLy4uLy4uL3Rlc3RGaWxlcy9zdWJmb2xk
ZXIxJykgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDEzKCkg
eworICAgIGRlYnVnKCIqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RGlyZWN0b3J5KCkgd2l0aCBl
bXB0eSBwYXRoIik7CisgICAgcmV0dXJuIGdldERpcmVjdG9yeUFzUHJvbWlzZShkaXJlY3RvcnlF
bnRyeSwgIiIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxk
IGZhaWwgd2hlbiBwYXRoIGlzIGludmFsaWQiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgZXgg
PSBlOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiVHlwZU1pc21h
dGNoRXJyb3IiKTsKKyAgICB9KTsKK30KKwordmFyIGRyb3B6b25lID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2Ryb3B6b25lJyk7Citkcm9wem9uZS5vbmRyb3AgPSBmdW5jdGlvbihlKSB7Cisg
ICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGRhdGFUcmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVy
OworCisgICAgc2hvdWxkQmUoImRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGgiLCAiMSIpOworCisg
ICAgZGlyZWN0b3J5RW50cnkgPSBkYXRhVHJhbnNmZXIuaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRy
eSgpOworICAgIHRlc3QxKCkKKyAgICAudGhlbih0ZXN0MikKKyAgICAudGhlbih0ZXN0MykKKyAg
ICAudGhlbih0ZXN0NCkKKyAgICAudGhlbih0ZXN0NSkKKyAgICAudGhlbih0ZXN0NikKKyAgICAu
dGhlbih0ZXN0NykKKyAgICAudGhlbih0ZXN0OCkKKyAgICAudGhlbih0ZXN0OSkKKyAgICAudGhl
bih0ZXN0MTApCisgICAgLnRoZW4odGVzdDExKQorICAgIC50aGVuKHRlc3QxMikKKyAgICAudGhl
bih0ZXN0MTMpCisgICAgLnRoZW4oZmluaXNoSlNUZXN0KTsKK307CisKK2Ryb3B6b25lLm9uZHJh
Z292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK29u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6b25lLCBb
Jy4uLy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVz
J10pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXRGaWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9l
bnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEZpbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJmMWMxZWRjMDczNDJiMzZiNjIzNmYyN2U5NmM0ZWZhY2ViMTNjNWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9k
YXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRGaWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ4
IEBACitCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuZ2V0
RmlsZSgpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRhdGFUcmFuc2Zl
ci5pdGVtcy5sZW5ndGggaXMgMQorKiBFcnJvciBjYXNlOiBjcmVhdGUgZmxhZyBpcyBzZXQgdG8g
dHJ1ZQorUEFTUyBleC5uYW1lIGlzICJTZWN1cml0eUVycm9yIgorKiBSZWd1bGFyIGNhc2U6IGdl
dEZpbGUoJ2ZpbGUxLnR4dCcpCitQQVNTIGZpbGUxRW50cnkubmFtZSBpcyAiZmlsZTEudHh0Igor
UEFTUyBmaWxlMUVudHJ5LmZ1bGxQYXRoIGlzICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIKK1BBU1Mg
ZmlsZTFFbnRyeS5pc0ZpbGUgaXMgdHJ1ZQorKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUo
KSB3aXRoIHBhdGggdG8gZm9sZGVyCitQQVNTIGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9y
IgorKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggY29udGFpbmluZyBi
YWNrc2xhc2gKK1BBU1MgZXgubmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCisqIEVycm9yIGNh
c2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcGF0aCB3aGljaCBkb2VzIG5vdCBleGlzdAorUEFT
UyBleC5uYW1lIGlzICJOb3RGb3VuZEVycm9yIgorKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZp
bGUoKSB3aXRoIHBhdGggY29udGFpbmluZyBhIE5VTCBjaGFyYWN0ZXIKK1BBU1MgZXgubmFtZSBp
cyAiVHlwZU1pc21hdGNoRXJyb3IiCisqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdp
dGggcGF0aCB0byByb290CitQQVNTIGV4Lm5hbWUgaXMgIlR5cGVNaXNtYXRjaEVycm9yIgorKiBS
ZWd1bGFyIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggYWJzb2x1dGUgcGF0aAorUEFTUyBm
aWxlM0VudHJ5Lm5hbWUgaXMgImZpbGUzLnR4dCIKK1BBU1MgZmlsZTNFbnRyeS5mdWxsUGF0aCBp
cyAiL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIKK1BBU1MgZmlsZTNFbnRyeS5pc0Zp
bGUgaXMgdHJ1ZQorKiBFZGdlIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcmVsYXRpdmUg
cGF0aCBjb250YWluaW5nICcuJyBhbmQgJy4uJworUEFTUyBmaWxlM0VudHJ5Lm5hbWUgaXMgImZp
bGUzLnR4dCIKK1BBU1MgZmlsZTNFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9zdWJmb2xk
ZXIxL2ZpbGUzLnR4dCIKK1BBU1MgZmlsZTNFbnRyeS5pc0ZpbGUgaXMgdHJ1ZQorKiBFZGdlIGNh
c2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcmVsYXRpdmUgcGF0aCBjb250YWluaW5nIHRvbyBt
YW55ICcuLicKK1BBU1MgZmlsZTFFbnRyeS5uYW1lIGlzICJmaWxlMS50eHQiCitQQVNTIGZpbGUx
RW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMvZmlsZTEudHh0IgorUEFTUyBmaWxlMUVudHJ5
LmlzRmlsZSBpcyB0cnVlCisqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBhYnNv
bHV0ZSBwYXRoIGNvbnRhaW5pbmcgJy4uJworUEFTUyBmaWxlMUVudHJ5Lm5hbWUgaXMgImZpbGUx
LnR4dCIKK1BBU1MgZmlsZTFFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcy9maWxlMS50eHQi
CitQQVNTIGZpbGUxRW50cnkuaXNGaWxlIGlzIHRydWUKKyogRWRnZSBjYXNlOiBjYWxsaW5nIGdl
dEZpbGUoKSB3aXRoIGFic29sdXRlIHBhdGggY29udGFpbmluZyB0b28gbWFueSAnLi4nCitQQVNT
IGZpbGUxRW50cnkubmFtZSBpcyAiZmlsZTEudHh0IgorUEFTUyBmaWxlMUVudHJ5LmZ1bGxQYXRo
IGlzICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIKK1BBU1MgZmlsZTFFbnRyeS5pc0ZpbGUgaXMgdHJ1
ZQorKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIGVtcHR5IHBhdGgKK1BBU1Mg
ZXgubmFtZSBpcyAiVHlwZU1pc21hdGNoRXJyb3IiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0RmlsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZ2V0RmlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZmFjOGNmYzA1OWVhMzY0
YmQyNzdlOWVlZTU1MGFhNzM0MzBhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRG
aWxlLmh0bWwKQEAgLTAsMCArMSwxOTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZWRpdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRyb3B6b25lIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IkJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5nZXRGaWxl
KCkiKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBnZXRGaWxlQXNQcm9taXNl
KGRpcmVjdG9yeSwgcGF0aCwgZmxhZ3MpCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGlyZWN0b3J5LmdldEZpbGUocGF0aCwgZmxhZ3Ms
IHJlc29sdmUsIHJlamVjdCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICAg
IGRlYnVnKCIqIEVycm9yIGNhc2U6IGNyZWF0ZSBmbGFnIGlzIHNldCB0byB0cnVlIik7CisgICAg
cmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJmaWxlMS50eHQiLCB7IGNy
ZWF0ZTogdHJ1ZSB9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxk
IGZhaWwgd2hlbiBjcmVhdGUgZmxhZyBpcyB0cnVlIik7CisgICAgfSwgZSA9PiB7CisgICAgICAg
IGV4ID0gZTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlNlY3Vy
aXR5RXJyb3IiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgICAgZGVidWco
IiogUmVndWxhciBjYXNlOiBnZXRGaWxlKCdmaWxlMS50eHQnKSIpOworICAgIHJldHVybiBnZXRG
aWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiZmlsZTEudHh0Iiwge30pLnRoZW4oZW50cnkg
PT4geworICAgICAgICBmaWxlMUVudHJ5ID0gZW50cnk7CisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZmlsZTFFbnRyeS5uYW1lIiwgImZpbGUxLnR4dCIpOworICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImZpbGUxRW50cnkuZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcy9maWxlMS50
eHQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMUVudHJ5LmlzRmlsZSIpOworICAgIH0s
IGUgPT4geworICAgICAgICB0ZXN0RmFpbGVkKCJnZXRGaWxlKCdmaWxlMS50eHQnKSBzaG91bGQg
c3VjY2VlZCIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgICBkZWJ1Zygi
KiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIHBhdGggdG8gZm9sZGVyIik7Cisg
ICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICJzdWJmb2xkZXIxIiwg
e30pLnRoZW4oZW50cnkgPT4geworICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgZmFpbCB3aGVu
IHBhdGggcG9pbnRzIHRvIGEgZm9sZGVyIik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIGV4ID0g
ZTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNtYXRj
aEVycm9yIik7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICAgIGRlYnVnKCIq
IEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcGF0aCBjb250YWluaW5nIGJhY2tz
bGFzaCIpOworICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAiXFxm
aWxlMS50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIlNob3Vs
ZCBmYWlsIHdoZW4gcGF0aCBpcyBpbnZhbGlkIik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIGV4
ID0gZTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1lIiwgIlR5cGVNaXNt
YXRjaEVycm9yIik7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICAgIGRlYnVn
KCIqIEVycm9yIGNhc2U6IGNhbGxpbmcgZ2V0RmlsZSgpIHdpdGggcGF0aCB3aGljaCBkb2VzIG5v
dCBleGlzdCIpOworICAgIHJldHVybiBnZXRGaWxlQXNQcm9taXNlKGRpcmVjdG9yeUVudHJ5LCAi
ZG9lc25vdGV4aXN0LnR4dCIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgdGVzdEZhaWxl
ZCgiU2hvdWxkIGZhaWwgd2hlbiBwYXRoIGRvZXMgbm90IGV4aXN0Iik7CisgICAgfSwgZSA9PiB7
CisgICAgICAgIGV4ID0gZTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJleC5uYW1l
IiwgIk5vdEZvdW5kRXJyb3IiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDYoKSB7Cisg
ICAgZGVidWcoIiogRXJyb3IgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBwYXRoIGNvbnRh
aW5pbmcgYSBOVUwgY2hhcmFjdGVyIik7CisgICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGly
ZWN0b3J5RW50cnksICJmaWxlMS50eHRcMCIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAg
dGVzdEZhaWxlZCgiU2hvdWxkIGZhaWwgd2hlbiBwYXRoIGlzIGludmFsaWQiKTsKKyAgICB9LCBl
ID0+IHsKKyAgICAgICAgZXggPSBlOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4
Lm5hbWUiLCAiVHlwZU1pc21hdGNoRXJyb3IiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVz
dDcoKSB7CisgICAgZGVidWcoIiogRXJyb3IgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBw
YXRoIHRvIHJvb3QiKTsKKyAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRy
eSwgIi8iLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBm
YWlsIHdoZW4gcGF0aCBpcyBub3QgYSBkaXJlY3RvcnkiKTsKKyAgICB9LCBlID0+IHsKKyAgICAg
ICAgZXggPSBlOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiVHlw
ZU1pc21hdGNoRXJyb3IiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdDgoKSB7CisgICAg
ZGVidWcoIiogUmVndWxhciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIGFic29sdXRlIHBh
dGgiKTsKKyAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIi90ZXN0
RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAgICAg
IGZpbGUzRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxl
M0VudHJ5Lm5hbWUiLCAiZmlsZTMudHh0Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZTNFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0
Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZmlsZTNFbnRyeS5pc0ZpbGUiKTsKKyAgICB9LCBl
ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiZ2V0RmlsZSgnL3Rlc3RGaWxlcy9zdWJmb2xkZXIx
L2ZpbGUzLnR4dCcpIHNob3VsZCBzdWNjZWVkIik7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q5KCkgeworICAgIGRlYnVnKCIqIEVkZ2UgY2FzZTogY2FsbGluZyBnZXRGaWxlKCkgd2l0aCBy
ZWxhdGl2ZSBwYXRoIGNvbnRhaW5pbmcgJy4nIGFuZCAnLi4nIik7CisgICAgcmV0dXJuIGdldEZp
bGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIuLi90ZXN0RmlsZXMvLi8uL3N1YmZvbGRlcjEv
Li4vc3ViZm9sZGVyMS8uL2ZpbGUzLnR4dCIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAg
ZmlsZTNFbnRyeSA9IGVudHJ5OworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUz
RW50cnkubmFtZSIsICJmaWxlMy50eHQiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmaWxlM0VudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQi
KTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJmaWxlM0VudHJ5LmlzRmlsZSIpOworICAgIH0sIGUg
PT4geworICAgICAgICB0ZXN0RmFpbGVkKCJnZXRGaWxlKCcuLi90ZXN0RmlsZXMvLi8uL3N1YmZv
bGRlcjEvLi4vc3ViZm9sZGVyMS8uL2ZpbGUzLnR4dCcpIHNob3VsZCBzdWNjZWVkIik7CisgICAg
fSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgICBkZWJ1ZygiKiBFZGdlIGNhc2U6IGNh
bGxpbmcgZ2V0RmlsZSgpIHdpdGggcmVsYXRpdmUgcGF0aCBjb250YWluaW5nIHRvbyBtYW55ICcu
LiciKTsKKyAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIi4uLy4u
Ly4uLy4uLy4uL3Rlc3RGaWxlcy9maWxlMS50eHQiLCB7fSkudGhlbihlbnRyeSA9PiB7CisgICAg
ICAgIGZpbGUxRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJm
aWxlMUVudHJ5Lm5hbWUiLCAiZmlsZTEudHh0Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZmlsZTFFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZpbGVzL2ZpbGUxLnR4dCIpOworICAg
ICAgICBzaG91bGRCZVRydWUoImZpbGUxRW50cnkuaXNGaWxlIik7CisgICAgfSwgZSA9PiB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoImdldEZpbGUoJy4uLy4uLy4uLy4uLy4uL3Rlc3RGaWxlcy9maWxl
MS50eHQnKSBzaG91bGQgc3VjY2VlZCIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0MTEo
KSB7CisgICAgZGVidWcoIiogRWRnZSBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIGFic29s
dXRlIHBhdGggY29udGFpbmluZyAnLi4nIik7CisgICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2Uo
ZGlyZWN0b3J5RW50cnksICIvdGVzdEZpbGVzLy4uL3Rlc3RGaWxlcy9maWxlMS50eHQiLCB7fSku
dGhlbihlbnRyeSA9PiB7CisgICAgICAgIGZpbGUxRW50cnkgPSBlbnRyeTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlMUVudHJ5Lm5hbWUiLCAiZmlsZTEudHh0Iik7CisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZTFFbnRyeS5mdWxsUGF0aCIsICIvdGVzdEZp
bGVzL2ZpbGUxLnR4dCIpOworICAgICAgICBzaG91bGRCZVRydWUoImZpbGUxRW50cnkuaXNGaWxl
Iik7CisgICAgfSwgZSA9PiB7CisgICAgICAgIHRlc3RGYWlsZWQoImdldEZpbGUoJy4uLy4uLy4u
Ly4uLy4uL3Rlc3RGaWxlcy9maWxlMS50eHQnKSBzaG91bGQgc3VjY2VlZCIpOworICAgIH0pOwor
fQorCitmdW5jdGlvbiB0ZXN0MTIoKSB7CisgICAgZGVidWcoIiogRWRnZSBjYXNlOiBjYWxsaW5n
IGdldEZpbGUoKSB3aXRoIGFic29sdXRlIHBhdGggY29udGFpbmluZyB0b28gbWFueSAnLi4nIik7
CisgICAgcmV0dXJuIGdldEZpbGVBc1Byb21pc2UoZGlyZWN0b3J5RW50cnksICIvLi4vLi4vLi4v
Li4vLi4vdGVzdEZpbGVzL2ZpbGUxLnR4dCIsIHt9KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAg
ZmlsZTFFbnRyeSA9IGVudHJ5OworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUx
RW50cnkubmFtZSIsICJmaWxlMS50eHQiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmaWxlMUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMvZmlsZTEudHh0Iik7CisgICAgICAg
IHNob3VsZEJlVHJ1ZSgiZmlsZTFFbnRyeS5pc0ZpbGUiKTsKKyAgICB9LCBlID0+IHsKKyAgICAg
ICAgdGVzdEZhaWxlZCgiZ2V0RmlsZSgnLi4vLi4vLi4vLi4vLi4vdGVzdEZpbGVzL2ZpbGUxLnR4
dCcpIHNob3VsZCBzdWNjZWVkIik7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMygpIHsK
KyAgICBkZWJ1ZygiKiBFcnJvciBjYXNlOiBjYWxsaW5nIGdldEZpbGUoKSB3aXRoIGVtcHR5IHBh
dGgiKTsKKyAgICByZXR1cm4gZ2V0RmlsZUFzUHJvbWlzZShkaXJlY3RvcnlFbnRyeSwgIiIsIHt9
KS50aGVuKGVudHJ5ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGZhaWwgd2hlbiBw
YXRoIGlzIGludmFsaWQiKTsKKyAgICB9LCBlID0+IHsKKyAgICAgICAgZXggPSBlOworICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV4Lm5hbWUiLCAiVHlwZU1pc21hdGNoRXJyb3IiKTsK
KyAgICB9KTsKK30KKwordmFyIGRyb3B6b25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ry
b3B6b25lJyk7Citkcm9wem9uZS5vbmRyb3AgPSBmdW5jdGlvbihlKSB7CisgICAgZS5wcmV2ZW50
RGVmYXVsdCgpOworICAgIGRhdGFUcmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVyOworCisgICAgc2hv
dWxkQmUoImRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGgiLCAiMSIpOworCisgICAgZGlyZWN0b3J5
RW50cnkgPSBkYXRhVHJhbnNmZXIuaXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHRl
c3QxKCkKKyAgICAudGhlbih0ZXN0MikKKyAgICAudGhlbih0ZXN0MykKKyAgICAudGhlbih0ZXN0
NCkKKyAgICAudGhlbih0ZXN0NSkKKyAgICAudGhlbih0ZXN0NikKKyAgICAudGhlbih0ZXN0NykK
KyAgICAudGhlbih0ZXN0OCkKKyAgICAudGhlbih0ZXN0OSkKKyAgICAudGhlbih0ZXN0MTApCisg
ICAgLnRoZW4odGVzdDExKQorICAgIC50aGVuKHRlc3QxMikKKyAgICAudGhlbih0ZXN0MTMpCisg
ICAgLnRoZW4oZmluaXNoSlNUZXN0KTsKK307CisKK2Ryb3B6b25lLm9uZHJhZ292ZXIgPSBmdW5j
dGlvbihldikgeworICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK29ubG9hZCA9IGZ1bmN0
aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6b25lLCBbJy4uLy4uLy4uL2Zh
c3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzJ10pOworfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkv
ZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZGEzNDU5NjBjY2Y4NGU4YjkwZjY4YmZlNjQzYmQxOGNkZmQyMmFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitC
YXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRW50cnkuZ2V0UGFyZW50KCkKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0
aCBpcyAyCitQQVNTIGZpcnN0RW50cnlQYXJlbnQubmFtZSBpcyAiIgorUEFTUyBmaXJzdEVudHJ5
UGFyZW50LmZ1bGxQYXRoIGlzICIvIgorUEFTUyBmaXJzdEVudHJ5UGFyZW50LmlzRGlyZWN0b3J5
IGlzIHRydWUKK1BBU1MgZmlyc3RFbnRyeVBhcmVudC5pc0ZpbGUgaXMgZmFsc2UKK1BBU1Mgc2Vj
b25kRW50cnlQYXJlbnQubmFtZSBpcyAiIgorUEFTUyBzZWNvbmRFbnRyeVBhcmVudC5mdWxsUGF0
aCBpcyAiLyIKK1BBU1Mgc2Vjb25kRW50cnlQYXJlbnQuaXNEaXJlY3RvcnkgaXMgdHJ1ZQorUEFT
UyBzZWNvbmRFbnRyeVBhcmVudC5pc0ZpbGUgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQ
YXJlbnQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
ZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQtcm9vdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTY0NDY0ZGM4YzI5YmQ2M2FiMjEwMjY5MTczZDkxMDQwMDIwYzdi
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9lbnRp
ZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1yb290LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRW50
cnkuZ2V0UGFyZW50KCkgb24gdGhlIHJvb3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgcm9vdFBhcmVudC5uYW1lIGlzICIiCitQQVNTIHJvb3RQYXJlbnQuZnVsbFBhdGgg
aXMgIi8iCitQQVNTIHJvb3RQYXJlbnQuaXNEaXJlY3RvcnkgaXMgdHJ1ZQorUEFTUyByb290UGFy
ZW50LmlzRmlsZSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9lbnRpZXMtYXBpL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC1yb290Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1nZXRQYXJlbnQtcm9vdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhOTA3NTM4YmM0YTIy
MWM3MmEyMzEyZjg3NjJmMDcwYzc2Yjg0ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRQYXJlbnQtcm9vdC5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZWRpdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRyb3B6b25lIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWln
aHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyI+PC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIkJhc2ljIHRlc3QgY292ZXJhZ2UgZm9yIGZpbGVTeXN0ZW1FbnRyeS5nZXRQYXJl
bnQoKSBvbiB0aGUgcm9vdCIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBkcm9wem9u
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wem9uZScpOworZHJvcHpvbmUub25kcm9w
ID0gZnVuY3Rpb24oZSkgeworICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICBkYXRhVHJhbnNm
ZXIgPSBlLmRhdGFUcmFuc2ZlcjsKKworICAgIGxldCBlbnRyeSA9IGRhdGFUcmFuc2Zlci5pdGVt
c1swXS53ZWJraXRHZXRBc0VudHJ5KCk7CisgICAgZW50cnkuZmlsZXN5c3RlbS5yb290LmdldFBh
cmVudChmdW5jdGlvbihwYXJlbnQpIHsKKyAgICAgICAgcm9vdFBhcmVudCA9IHBhcmVudDsKKwor
ICAgICAgICAvLyBTaG91bGQgYmUgdGhlIHJvb3QgaXRzZWxmLgorICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInJvb3RQYXJlbnQubmFtZSIsICIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJyb290UGFyZW50LmZ1bGxQYXRoIiwgIi8iKTsKKyAgICAgICAgc2hvdWxkQmVU
cnVlKCJyb290UGFyZW50LmlzRGlyZWN0b3J5Iik7CisgICAgICAgIHNob3VsZEJlRmFsc2UoInJv
b3RQYXJlbnQuaXNGaWxlIik7CisKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgZnVu
Y3Rpb24oZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJnZXRQYXJlbnQoKSBjYWxsIGZhaWxlZDog
IiArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKK307CisKK2Ryb3B6b25l
Lm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnREZWZhdWx0KCk7Cit9
CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9FbGVtZW50KGRyb3B6
b25lLCBbJy4uLy4uLy4uL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL3Rlc3QudHh0J10pOworfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRQYXJlbnQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBpL2RhdGF0cmFu
c2Zlci1pdGVtcy1kcm9wLWdldFBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3ZWJiYTIzOTY1ZWEy
NDgxYjBhYWViMzEzYTk2ZmExYTkxYWIxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1n
ZXRQYXJlbnQuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkcm9wem9uZSIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAy
MDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJCYXNpYyB0ZXN0IGNvdmVyYWdlIGZvciBmaWxlU3lzdGVtRW50cnkuZ2V0UGFyZW50KCki
KTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZHJvcHpvbmUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZHJvcHpvbmUnKTsKK2Ryb3B6b25lLm9uZHJvcCA9IGZ1bmN0aW9uKGUpIHsK
KyAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgZGF0YVRyYW5zZmVyID0gZS5kYXRhVHJhbnNm
ZXI7CisKKyAgICBzaG91bGRCZSgiZGF0YVRyYW5zZmVyLml0ZW1zLmxlbmd0aCIsICIyIik7CisK
KyAgICBmaXJzdERhdGFUcmFuc2Zlckl0ZW0gPSBkYXRhVHJhbnNmZXIuaXRlbXNbMF07CisgICAg
Zmlyc3RFbnRyeSA9IGZpcnN0RGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCk7Cisg
ICAgc2Vjb25kRGF0YVRyYW5zZmVySXRlbSA9IGRhdGFUcmFuc2Zlci5pdGVtc1sxXTsKKyAgICBz
ZWNvbmRFbnRyeSA9IHNlY29uZERhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpOwor
CisgICAgZmlyc3RFbnRyeS5nZXRQYXJlbnQoZnVuY3Rpb24ocGFyZW50KSB7CisgICAgICAgIGZp
cnN0RW50cnlQYXJlbnQgPSBwYXJlbnQ7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Zmlyc3RFbnRyeVBhcmVudC5uYW1lIiwgIiIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImZpcnN0RW50cnlQYXJlbnQuZnVsbFBhdGgiLCAiLyIpOworICAgICAgICBzaG91bGRCZVRy
dWUoImZpcnN0RW50cnlQYXJlbnQuaXNEaXJlY3RvcnkiKTsKKyAgICAgICAgc2hvdWxkQmVGYWxz
ZSgiZmlyc3RFbnRyeVBhcmVudC5pc0ZpbGUiKTsKKworICAgICAgICBzZWNvbmRFbnRyeS5nZXRQ
YXJlbnQoZnVuY3Rpb24ocGFyZW50KSB7CisgICAgICAgICAgICBzZWNvbmRFbnRyeVBhcmVudCA9
IHBhcmVudDsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vjb25kRW50cnlQ
YXJlbnQubmFtZSIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vj
b25kRW50cnlQYXJlbnQuZnVsbFBhdGgiLCAiLyIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCJzZWNvbmRFbnRyeVBhcmVudC5pc0RpcmVjdG9yeSIpOworICAgICAgICAgICAgc2hvdWxkQmVG
YWxzZSgic2Vjb25kRW50cnlQYXJlbnQuaXNGaWxlIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJnZXRQYXJlbnQoKSBjYWxsIGZhaWxlZDogIiArIGUpOworICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgIH0pOworICAgIH0sIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdGVzdEZh
aWxlZCgiZ2V0UGFyZW50KCkgY2FsbCBmYWlsZWQ6ICIgKyBlKTsKKyAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgfSk7Cit9OworCitkcm9wem9uZS5vbmRyYWdvdmVyID0gZnVuY3Rpb24oZXYp
IHsKKyAgICBldi5wcmV2ZW50RGVmYXVsdCgpOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsK
KyAgICBkcmFnRmlsZXNPbnRvRWxlbWVudChkcm9wem9uZSwgWycuLi8uLi8uLi9mYXN0L2Zvcm1z
L3Jlc291cmNlcy90ZXN0LnR4dCcsICcuLi8uLi8uLi9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1h
cGkvcmVzb3VyY2VzL3Rlc3RGaWxlcyddKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkv
ZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXRQYXJlbnQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2FhNGY1NTE4ZDUxNjc0YWJk
MThiODdjMDBkZjQ2M2JlZDk3ODE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFy
ZW50Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorQmFzaWMgdGVzdCBjb3ZlcmFnZSBm
b3IgZmlsZVN5c3RlbUVudHJ5LmdldFBhcmVudCgpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGRpcmVjdG9yeUVudHJ5Lm5hbWUgaXMgInRlc3RGaWxlcyIKK1BBU1MgZGly
ZWN0b3J5RW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCitQQVNTIGRpcmVjdG9yeUVudHJ5
LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZGlyZWN0b3J5RW50cnkuaXNGaWxlIGlzIGZhbHNl
CitQQVNTIGVudHJ5UGFyZW50Lm5hbWUgaXMgInRlc3RGaWxlcyIKK1BBU1MgZW50cnlQYXJlbnQu
ZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCitQQVNTIGVudHJ5UGFyZW50LmlzRGlyZWN0b3J5IGlz
IHRydWUKK1BBU1MgZW50cnlQYXJlbnQuaXNGaWxlIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1hcGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3At
Z2V0UGFyZW50Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2VudGllcy1h
cGkvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0UGFyZW50Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJh
NTI2NmUwMzJjNjhlZjczNmU3MGNjNGZkM2JjNjE4OTZjNzMyODIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZW50aWVzLWFwaS9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1nZXRQYXJlbnQyLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9lZGl0aW5nLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAw
cHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ij48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZmlsZVN5c3RlbUVudHJ5
LmdldFBhcmVudCgpIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGRyb3B6b25lID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3B6b25lJyk7Citkcm9wem9uZS5vbmRyb3AgPSBm
dW5jdGlvbihlKSB7CisgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGRhdGFUcmFuc2ZlciA9
IGUuZGF0YVRyYW5zZmVyOworCisgICAgZGlyZWN0b3J5RW50cnkgPSBkYXRhVHJhbnNmZXIuaXRl
bXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGly
ZWN0b3J5RW50cnkubmFtZSIsICJ0ZXN0RmlsZXMiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRpcmVjdG9yeUVudHJ5LmZ1bGxQYXRoIiwgIi90ZXN0RmlsZXMiKTsKKyAgICBzaG91bGRC
ZVRydWUoImRpcmVjdG9yeUVudHJ5LmlzRGlyZWN0b3J5Iik7CisgICAgc2hvdWxkQmVGYWxzZSgi
ZGlyZWN0b3J5RW50cnkuaXNGaWxlIik7CisKKyAgICBsZXQgZGlyZWN0b3J5UmVhZGVyID0gZGly
ZWN0b3J5RW50cnkuY3JlYXRlUmVhZGVyKCk7CisgICAgZGlyZWN0b3J5UmVhZGVyLnJlYWRFbnRy
aWVzKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICAgICAgZW50cmllc1swXS5nZXRQYXJlbnQoZnVu
Y3Rpb24ocGFyZW50KSB7CisgICAgICAgICAgICBlbnRyeVBhcmVudCA9IHBhcmVudDsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnlQYXJlbnQubmFtZSIsICJ0ZXN0Rmls
ZXMiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZW50cnlQYXJlbnQuZnVs
bFBhdGgiLCAiL3Rlc3RGaWxlcyIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJlbnRyeVBh
cmVudC5pc0RpcmVjdG9yeSIpOworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgiZW50cnlQYXJl
bnQuaXNGaWxlIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LCBm
dW5jdGlvbihlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJnZXRQYXJlbnQoKSBjYWxsIGZh
aWxlZDogIiArIGUpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOwor
ICAgIH0sIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgicmVhZEVudHJpZXMoKSBj
YWxsIGZhaWxlZDogIiArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKK307
CisKK2Ryb3B6b25lLm9uZHJhZ292ZXIgPSBmdW5jdGlvbihldikgeworICAgIGV2LnByZXZlbnRE
ZWZhdWx0KCk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGRyYWdGaWxlc09udG9F
bGVtZW50KGRyb3B6b25lLCBbJy4uLy4uLy4uL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9y
ZXNvdXJjZXMvdGVzdEZpbGVzJ10pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVzb3Vy
Y2VzL3Rlc3RGaWxlcy9maWxlMS50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50
cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9maWxlMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAwNDkx
ZmQ3ZTViYjZmYTI4YzUxN2EwYmIzMmI4YjUwNjUzOWQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVz
L2ZpbGUxLnR4dApAQCAtMCwwICsxIEBACisxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9maWxlMi50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxl
cy9maWxlMi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNmYmYwODg4NmZjYTlhOTFjYjc1M2VjODczNGM4NGZj
YmU1MmM5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9l
bnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzL2ZpbGUyLnR4dApAQCAtMCwwICsxIEBACisy
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVz
b3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRlcjEvZmls
ZTMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwNzUwZWRjMDdkNjQxNWRjYzA3YWUwMzUxZTkzOTdiMDIyMmI3
YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmll
cy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dApAQCAtMCwwICsx
IEBACiszCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1h
cGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRl
cjIvZmlsZTQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4NjI2YzRjZmYyODQ5NjI0ZmI2N2Y4N2NkMGFkNzJi
MTYzNjcxYWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUv
ZW50cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dApAQCAt
MCwwICsxIEBACis0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50
cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9yZXNvdXJjZXMv
dGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmlsZTUudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdl
ZDZmZjgyZGU2YmNjMmE3ODI0M2ZjOWM1NGQzZWY1YWMxNGRhNjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvcmVzb3VyY2VzL3Rlc3RG
aWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1LnR4dApAQCAtMCwwICsxIEBACis1CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0
ZGlyZWN0b3J5LWRyYWctZm9sZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZmlsZS9lbnRyaWVzLWFwaS93ZWJraXRkaXJlY3RvcnktZHJhZy1mb2xkZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA5YTc2MjEyODlkNDUzNTU3ZWY1ODg3NjFmOTRjMTlkZmI4NzQ4ZDYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1h
cGkvd2Via2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIx
IEBACitUZXN0cyBkcmFnZ2luZyBhIGZvbGRlciBvbnRvIGEgZmlsZSBpbnB1dCB3aXRoIHdlYmtp
dGRpcmVjdG9yeSBzZXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGlu
cHV0RWxlbWVudC53ZWJraXRkaXJlY3RvcnkgaXMgdHJ1ZQorUEFTUyBmaWxlTGlzdC5sZW5ndGgg
aXMgNQorUEFTUyBmaWxlTGlzdFswXS5uYW1lIGlzICJmaWxlMS50eHQiCitQQVNTIGZpbGVMaXN0
WzBdLndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVzdEZpbGVzL2ZpbGUxLnR4dCIKK1BBU1MgZmls
ZUxpc3RbMV0ubmFtZSBpcyAiZmlsZTIudHh0IgorUEFTUyBmaWxlTGlzdFsxXS53ZWJraXRSZWxh
dGl2ZVBhdGggaXMgInRlc3RGaWxlcy9maWxlMi50eHQiCitQQVNTIGZpbGVMaXN0WzJdLm5hbWUg
aXMgImZpbGUzLnR4dCIKK1BBU1MgZmlsZUxpc3RbMl0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0
ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiCitQQVNTIGZpbGVMaXN0WzNdLm5hbWUgaXMg
ImZpbGU0LnR4dCIKK1BBU1MgZmlsZUxpc3RbM10ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0
RmlsZXMvc3ViZm9sZGVyMi9maWxlNC50eHQiCitQQVNTIGZpbGVMaXN0WzRdLm5hbWUgaXMgImZp
bGU1LnR4dCIKK1BBU1MgZmlsZUxpc3RbNF0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0Rmls
ZXMvc3ViZm9sZGVyMi9zdWJmb2xkZXIyYS9maWxlNS50eHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9yeS1kcmFnLWZvbGRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVj
dG9yeS1kcmFnLWZvbGRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMjA1NjJmYzZmNDgyNDhlMzdlOThm
OTJlZGVhZDNlNGU4NTNhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGlucHV0IHR5cGU9ImZpbGUiIG9uY2hhbmdlPSJjaGFuZ2VkKGV2ZW50KSIg
d2Via2l0ZGlyZWN0b3J5PjwvaW5wdXQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGRy
YWdnaW5nIGEgZm9sZGVyIG9udG8gYSBmaWxlIGlucHV0IHdpdGggd2Via2l0ZGlyZWN0b3J5IHNl
dC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAg
ICBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVsw
XTsKKyAgICBzaG91bGRCZVRydWUoImlucHV0RWxlbWVudC53ZWJraXRkaXJlY3RvcnkiKTsKKyAg
ICBkcmFnRmlsZXNPbnRvSW5wdXQoaW5wdXRFbGVtZW50LCBbJ3Jlc291cmNlcy90ZXN0RmlsZXMn
XSk7Cit9CisKK2Z1bmN0aW9uIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50KGVsZW1lbnQpIHsK
KyAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lk
dGggLyAyOworICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9m
ZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2VudGVyWCwgY2Vu
dGVyWSk7Cit9CisKK2Z1bmN0aW9uIGRyYWdGaWxlc09udG9JbnB1dChpbnB1dCwgZmlsZXMpIHsK
KyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoZmlsZXMpOworICAgIG1vdmVNb3Vz
ZVRvQ2VudGVyT2ZFbGVtZW50KGlucHV0KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9
CisKK2Z1bmN0aW9uIGNoYW5nZWQoZXZlbnQpCit7CisgICAgZmlsZUxpc3QgPSBldmVudC50YXJn
ZXQuZmlsZXM7CisgICAgc2hvdWxkQmUoImZpbGVMaXN0Lmxlbmd0aCIsICI1Iik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFswXS5uYW1lIiwgImZpbGUxLnR4dCIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMF0ud2Via2l0UmVsYXRpdmVQYXRoIiwg
InRlc3RGaWxlcy9maWxlMS50eHQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVM
aXN0WzFdLm5hbWUiLCAiZmlsZTIudHh0Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJm
aWxlTGlzdFsxXS53ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL2ZpbGUyLnR4dCIpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMl0ubmFtZSIsICJmaWxlMy50eHQi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzJdLndlYmtpdFJlbGF0aXZl
UGF0aCIsICJ0ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImZpbGVMaXN0WzNdLm5hbWUiLCAiZmlsZTQudHh0Iik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFszXS53ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZp
bGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJm
aWxlTGlzdFs0XS5uYW1lIiwgImZpbGU1LnR4dCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZUxpc3RbNF0ud2Via2l0UmVsYXRpdmVQYXRoIiwgInRlc3RGaWxlcy9zdWJmb2xkZXIy
L3N1YmZvbGRlcjJhL2ZpbGU1LnR4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3J1
blRlc3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0ZGlyZWN0b3J5LW9wZW4t
cGFuZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMt
YXBpL3dlYmtpdGRpcmVjdG9yeS1vcGVuLXBhbmVsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NDlkYjVlZmFiNTQyNmFmZGNhZmRmM2JlMWU3OTFlNWIyNWJmOGM1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9y
eS1vcGVuLXBhbmVsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitPUEVOIEZJTEUgUEFO
RUwKKy0+IERJUkVDVE9SSUVTIEFSRSBBTExPV0VECitUZXN0cyBjaG9vc2luZyBhIGZvbGRlciB2
aWEgdGhlIGZpbGUgcGlja2VyIHdoZW4gdXNpbmcgd2Via2l0ZGlyZWN0b3J5LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnB1dEVsZW1lbnQud2Via2l0ZGlyZWN0b3J5
IGlzIHRydWUKK1BBU1MgZmlsZUxpc3QubGVuZ3RoIGlzIDUKK1BBU1MgZmlsZUxpc3RbMF0ubmFt
ZSBpcyAiZmlsZTEudHh0IgorUEFTUyBmaWxlTGlzdFswXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMg
InRlc3RGaWxlcy9maWxlMS50eHQiCitQQVNTIGZpbGVMaXN0WzFdLm5hbWUgaXMgImZpbGUyLnR4
dCIKK1BBU1MgZmlsZUxpc3RbMV0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0RmlsZXMvZmls
ZTIudHh0IgorUEFTUyBmaWxlTGlzdFsyXS5uYW1lIGlzICJmaWxlMy50eHQiCitQQVNTIGZpbGVM
aXN0WzJdLndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMu
dHh0IgorUEFTUyBmaWxlTGlzdFszXS5uYW1lIGlzICJmaWxlNC50eHQiCitQQVNTIGZpbGVMaXN0
WzNdLndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0
IgorUEFTUyBmaWxlTGlzdFs0XS5uYW1lIGlzICJmaWxlNS50eHQiCitQQVNTIGZpbGVMaXN0WzRd
LndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEv
ZmlsZTUudHh0IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFw
aS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9yeS1vcGVuLXBhbmVsLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDM5NGIyNzllMjlkODhjODAzNTNlODhkZjI2NjUyMTgwZTAzNDljNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS93ZWJraXRk
aXJlY3Rvcnktb3Blbi1wYW5lbC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJmaWxl
IiBvbmNoYW5nZT0iY2hhbmdlZChldmVudCkiIHdlYmtpdGRpcmVjdG9yeT48L2lucHV0PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBjaG9vc2luZyBhIGZvbGRlciB2aWEgdGhlIGZpbGUg
cGlja2VyIHdoZW4gdXNpbmcgd2Via2l0ZGlyZWN0b3J5LiIpOworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHRlc3RSdW5uZXIuc2V0T3BlblBhbmVs
RmlsZXMoWydyZXNvdXJjZXMvdGVzdEZpbGVzJ10pOworCisgICAgaW5wdXRFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF07CisgICAgc2hvdWxkQmVUcnVl
KCJpbnB1dEVsZW1lbnQud2Via2l0ZGlyZWN0b3J5Iik7CisgICAgVUlIZWxwZXIuYWN0aXZhdGVB
dChpbnB1dEVsZW1lbnQub2Zmc2V0TGVmdCArIGlucHV0RWxlbWVudC5vZmZzZXRXaWR0aCAvIDIs
CisgICAgICAgIGlucHV0RWxlbWVudC5vZmZzZXRUb3AgKyBpbnB1dEVsZW1lbnQub2Zmc2V0SGVp
Z2h0IC8gMik7Cit9CisKK2Z1bmN0aW9uIGNoYW5nZWQoZXZlbnQpCit7CisgICAgZmlsZUxpc3Qg
PSBldmVudC50YXJnZXQuZmlsZXM7CisgICAgc2hvdWxkQmUoImZpbGVMaXN0Lmxlbmd0aCIsICI1
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFswXS5uYW1lIiwgImZpbGUx
LnR4dCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMF0ud2Via2l0UmVs
YXRpdmVQYXRoIiwgInRlc3RGaWxlcy9maWxlMS50eHQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImZpbGVMaXN0WzFdLm5hbWUiLCAiZmlsZTIudHh0Iik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJmaWxlTGlzdFsxXS53ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL2Zp
bGUyLnR4dCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMl0ubmFtZSIs
ICJmaWxlMy50eHQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzJdLndl
YmtpdFJlbGF0aXZlUGF0aCIsICJ0ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzNdLm5hbWUiLCAiZmlsZTQudHh0Iik7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFszXS53ZWJraXRSZWxhdGl2ZVBh
dGgiLCAidGVzdEZpbGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0Iik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJmaWxlTGlzdFs0XS5uYW1lIiwgImZpbGU1LnR4dCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZmlsZUxpc3RbNF0ud2Via2l0UmVsYXRpdmVQYXRoIiwgInRlc3RGaWxl
cy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1LnR4dCIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9CisKK3J1blRlc3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1kaXJlY3Rvcnkt
dXBsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLWRpcmVjdG9yeS11cGxvYWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZWI5MWZhZDBiZTFhNWFkZGNiYjU4MDUyYWY1ZTdjN2VjOGE0MzhkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZmlsZS9pbnB1dC1maWxlLWRpcmVjdG9yeS11cGxvYWQtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotCi1QQVNTOiBuYW1lIGlzIGZpbGUxOyBwYXRoIGlz
IGRpcnVwbG9hZC9wYXRoMS9maWxlMQotUEFTUzogbmFtZSBpcyBmaWxlMjsgcGF0aCBpcyBkaXJ1
cGxvYWQvcGF0aDEvZmlsZTIKLVBBU1M6IG5hbWUgaXMgZmlsZTE7IHBhdGggaXMgZGlydXBsb2Fk
L3BhdGgxL3N1YnBhdGgxL2ZpbGUxCi1QQVNTOiBuYW1lIGlzIGZpbGUxOyBwYXRoIGlzIGRpcnVw
bG9hZC9wYXRoMi9maWxlMQotUEFTUzogbmFtZSBpcyBmaWxlMTsgcGF0aCBpcyBkaXJ1cGxvYWQv
cGF0aDIvc3VicGF0aDEvc3VicGF0aDIvZmlsZTEKLVBBU1M6IG5hbWUgaXMgZmlsZTI7IHBhdGgg
aXMgZGlydXBsb2FkL3BhdGgyL2ZpbGUyCi1QQVNTOiBuYW1lIGlzIGZpbGUxOyBwYXRoIGlzIGRp
cnVwbG9hZC9wYXRoMy9maWxlMQotUEFTUzogbmFtZSBpcyBmaWxlMTsgcGF0aCBpcyBkaXJ1cGxv
YWQvZmlsZTEKLQotUEFTUzogbmFtZSBpcyBmaWxlMTsgcGF0aCBpcyBwYXRoMS9maWxlMQotUEFT
UzogbmFtZSBpcyBmaWxlMjsgcGF0aCBpcyBwYXRoMS9maWxlMgotCi1QQVNTOiBuYW1lIGlzIGZp
bGUxOyBwYXRoIGlzIGRpcnVwbG9hZC9wYXRoMS9maWxlMQotUEFTUzogbmFtZSBpcyBmaWxlMTsg
cGF0aCBpcyBkaXJ1cGxvYWQvcGF0aDIvZmlsZTEKLQotUEFTUzogbmFtZSBpcyBmaWxlMTsgcGF0
aCBpcyBwYXRoMS9maWxlMQotUEFTUzogbmFtZSBpcyBmaWxlMTsgcGF0aCBpcyBwYXRoMS9zdWJw
YXRoMS9maWxlMQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS1kaXJlY3RvcnktdXBsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zp
bGUvaW5wdXQtZmlsZS1kaXJlY3RvcnktdXBsb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdmN2FmMGQzNmIzNWZhYzc4N2YzZWE3YmE5NmIwMzdhNTg5OTgzN2QuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtZGlyZWN0b3J5LXVwbG9hZC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsODUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPGlu
cHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGVzIiBpZD0iZmlsZXMiIHdlYmtpdGRpcmVjdG9yeT4K
LTxwcmUgaWQ9J291dHB1dCc+PC9wcmU+Ci0KLTxzY3JpcHQ+Ci12YXIgdGVzdEZpbGVMaXN0MSA9
IFsKLSAgICB7J3BhdGgnOiAncmVzb3VyY2VzL2RpcnVwbG9hZC9wYXRoMS9maWxlMScsICAgICAg
ICAgICAgICAgICAgICdleHBlY3QtcmVscGF0aCc6ICdkaXJ1cGxvYWQvcGF0aDEvZmlsZTEnfSwK
LSAgICB7J3BhdGgnOiAncmVzb3VyY2VzL2RpcnVwbG9hZC9wYXRoMS9maWxlMicsICAgICAgICAg
ICAgICAgICAgICdleHBlY3QtcmVscGF0aCc6ICdkaXJ1cGxvYWQvcGF0aDEvZmlsZTInIH0sCi0g
ICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDEvc3VicGF0aDEvZmlsZTEnLCAg
ICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL3BhdGgxL3N1YnBhdGgxL2ZpbGUx
J30sCi0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDIvZmlsZTEnLCAgICAg
ICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL3BhdGgyL2ZpbGUxJ30s
Ci0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDIvc3VicGF0aDEvc3VicGF0
aDIvZmlsZTEnLCAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL3BhdGgyL3N1YnBhdGgxL3N1
YnBhdGgyL2ZpbGUxJ30sCi0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDIv
ZmlsZTInLCAgICAgICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL3Bh
dGgyL2ZpbGUyJ30sCi0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDMvZmls
ZTEnLCAgICAgICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL3BhdGgz
L2ZpbGUxJ30sCi0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvZmlsZTEnLCAgICAg
ICAgICAgICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAnZGlydXBsb2FkL2ZpbGUxJ30s
Ci1dOwotCi12YXIgdGVzdEZpbGVMaXN0MiA9IFsKLSAgICB7J3BhdGgnOiAncmVzb3VyY2VzL2Rp
cnVwbG9hZC9wYXRoMS9maWxlMScsICAgICAgICAgICAgICAgICAgICdleHBlY3QtcmVscGF0aCc6
ICdwYXRoMS9maWxlMSd9LAotICAgIHsncGF0aCc6ICdyZXNvdXJjZXMvZGlydXBsb2FkL3BhdGgx
L2ZpbGUyJywgICAgICAgICAgICAgICAgICAgJ2V4cGVjdC1yZWxwYXRoJzogJ3BhdGgxL2ZpbGUy
JyB9LAotXTsKLQotdmFyIHRlc3RGaWxlTGlzdDMgPSBbCi0gICAgeydwYXRoJzogJ3Jlc291cmNl
cy9kaXJ1cGxvYWQvcGF0aDEvZmlsZTEnLCAgICAgICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBh
dGgnOiAnZGlydXBsb2FkL3BhdGgxL2ZpbGUxJ30sCi0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9k
aXJ1cGxvYWQvcGF0aDIvZmlsZTEnLCAgICAgICAgICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgn
OiAnZGlydXBsb2FkL3BhdGgyL2ZpbGUxJyB9LAotXTsKLQotdmFyIHRlc3RGaWxlTGlzdDQgPSBb
Ci0gICAgeydwYXRoJzogJ3Jlc291cmNlcy9kaXJ1cGxvYWQvcGF0aDEvZmlsZTEnLCAgICAgICAg
ICAgICAgICAgICAnZXhwZWN0LXJlbHBhdGgnOiAncGF0aDEvZmlsZTEnfSwKLSAgICB7J3BhdGgn
OiAncmVzb3VyY2VzL2RpcnVwbG9hZC9wYXRoMS9zdWJwYXRoMS9maWxlMScsICAgICAgICAgICdl
eHBlY3QtcmVscGF0aCc6ICdwYXRoMS9zdWJwYXRoMS9maWxlMScgfSwKLV07Ci0KLXZhciB0ZXN0
RmlsZUxpc3Q1ID0gWwotICAgIHsncGF0aCc6ICcvZm9vL2JheicsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdC1yZWxwYXRoJzogJ2Zvby9iYXonfSwKLSAg
ICB7J3BhdGgnOiAnL2Zvby9iYXIvYmF6JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdleHBlY3QtcmVscGF0aCc6ICdmb28vYmFyL2Jheid9LAotICAgIHsncGF0aCc6ICcv
Zm9vMi9iYXonLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cGVj
dC1yZWxwYXRoJzogJ2ZvbzIvYmF6J30sCi1dOwotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0cHV0JykuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLX0KLQotZnVuY3Rpb24gb25JbnB1
dEZpbGVDaGFuZ2UoY3VycmVudEZpbGVMaXN0LCBsYXN0VGVzdCkKLXsKLSAgICB2YXIgZmlsZXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZXMiKS5maWxlczsKLSAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmIChmaWxlc1tpXS53ZWJr
aXRSZWxhdGl2ZVBhdGggIT0gY3VycmVudEZpbGVMaXN0W2ldWydleHBlY3QtcmVscGF0aCddKQot
ICAgICAgICAgICAgbG9nKCJGQUlMOiBuYW1lIGlzICIgKyBmaWxlc1tpXS5uYW1lICsgIjsgcGF0
aCBpcyAiICsgZmlsZXNbaV0ud2Via2l0UmVsYXRpdmVQYXRoICsgIiBidXQgc2hvdWxkIGJlICIg
KyBjdXJyZW50RmlsZUxpc3RbaV1bJ2V4cGVjdC1yZWxwYXRoJ10pOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBsb2coIlBBU1M6IG5hbWUgaXMgIiArIGZpbGVzW2ldLm5hbWUgKyAiOyBwYXRo
IGlzICIgKyBmaWxlc1tpXS53ZWJraXRSZWxhdGl2ZVBhdGgpOwotICAgIH0KLQotICAgaWYgKGxh
c3RUZXN0ICYmIHRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgZWxzZQotICAgICAgICBsb2coIiIpOwotfQotCi1mdW5jdGlvbiBkb1Rlc3QoZmlsZUxpc3Qs
IGxhc3QpCi17Ci0gICAgdmFyIHBhdGhzT25seSA9IGZpbGVMaXN0Lm1hcChmdW5jdGlvbihpdGVt
KSB7IHJldHVybiBpdGVtWydwYXRoJ107fSk7Ci0gICAgdmFyIGYgPSBmdW5jdGlvbigpIHsgb25J
bnB1dEZpbGVDaGFuZ2UoZmlsZUxpc3QsIGxhc3QpOyB9OwotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmaWxlcyIpLm9uY2hhbmdlID0gZjsKLSAgICBldmVudFNlbmRlci5iZWdpbkRyYWdX
aXRoRmlsZXMocGF0aHNPbmx5KTsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMCwgMTAp
OwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLX0KLQotaWYgKHRlc3RSdW5uZXIpIHsKLSAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLX0KLQotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgIGRvVGVzdCh0ZXN0RmlsZUxp
c3QxKTsKLSAgICBkb1Rlc3QodGVzdEZpbGVMaXN0Mik7Ci0gICAgZG9UZXN0KHRlc3RGaWxlTGlz
dDMpOwotICAgIGRvVGVzdCh0ZXN0RmlsZUxpc3Q0KTsKLSAgICBkb1Rlc3QodGVzdEZpbGVMaXN0
NSwgdHJ1ZSk7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzL2ZpbGUxLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzL2ZpbGUxLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDAwNDkxZmQ3ZTViYjZmYTI4YzUxN2Ew
YmIzMmI4YjUwNjUzOWQ0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9m
aWxlMS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0xCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9maWxlMi50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9maWxlMi50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZmJmMDg4ODZmY2E5YTkxY2I3NTNlYzg3
MzRjODRmY2JlNTJjOWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNlcy90ZXN0RmlsZXMvZmls
ZTIudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotMgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNlcy90ZXN0RmlsZXMvc3ViZm9sZGVyMS9maWxl
My50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9z
dWJmb2xkZXIxL2ZpbGUzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA3NTBl
ZGMwN2Q2NDE1ZGNjMDdhZTAzNTFlOTM5N2IwMjIyYjdiYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVz
b3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNv
dXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9maWxlL3Jlc291cmNlcy90ZXN0RmlsZXMvc3ViZm9sZGVyMi9maWxlNC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4NjI2YzRjZmYyODQ5NjI0ZmI2N2Y4N2NkMGFkNzJi
MTYzNjcxYWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3Jlc291cmNlcy90ZXN0RmlsZXMvc3ViZm9sZGVy
Mi9maWxlNC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi00CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcy9zdWJmb2xkZXIy
L3N1YmZvbGRlcjJhL2ZpbGU1LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNv
dXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmlsZTUudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZWQ2ZmY4MmRlNmJjYzJhNzgyNDNmYzljNTRkM2VmNWFj
MTRkYTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9yZXNvdXJjZXMvdGVzdEZpbGVzL3N1YmZvbGRlcjIv
c3ViZm9sZGVyMmEvZmlsZTUudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotNQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3dlYmtpdGRpcmVjdG9yeS1kcmFn
LWZvbGRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0
ZGlyZWN0b3J5LWRyYWctZm9sZGVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDlhNzYyMTI4OWQ0NTM1NTdlZjU4ODc2MWY5NGMxOWRmYjg3NDhkNi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVRlc3RzIGRyYWdnaW5nIGEgZm9sZGVyIG9udG8g
YSBmaWxlIGlucHV0IHdpdGggd2Via2l0ZGlyZWN0b3J5IHNldC4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgaW5wdXRFbGVtZW50LndlYmtpdGRpcmVjdG9yeSBpcyB0cnVl
Ci1QQVNTIGZpbGVMaXN0Lmxlbmd0aCBpcyA1Ci1QQVNTIGZpbGVMaXN0WzBdLm5hbWUgaXMgImZp
bGUxLnR4dCIKLVBBU1MgZmlsZUxpc3RbMF0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0Rmls
ZXMvZmlsZTEudHh0IgotUEFTUyBmaWxlTGlzdFsxXS5uYW1lIGlzICJmaWxlMi50eHQiCi1QQVNT
IGZpbGVMaXN0WzFdLndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVzdEZpbGVzL2ZpbGUyLnR4dCIK
LVBBU1MgZmlsZUxpc3RbMl0ubmFtZSBpcyAiZmlsZTMudHh0IgotUEFTUyBmaWxlTGlzdFsyXS53
ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIKLVBB
U1MgZmlsZUxpc3RbM10ubmFtZSBpcyAiZmlsZTQudHh0IgotUEFTUyBmaWxlTGlzdFszXS53ZWJr
aXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dCIKLVBBU1Mg
ZmlsZUxpc3RbNF0ubmFtZSBpcyAiZmlsZTUudHh0IgotUEFTUyBmaWxlTGlzdFs0XS53ZWJraXRS
ZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1LnR4
dCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LWRy
YWctZm9sZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0
b3J5LWRyYWctZm9sZGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NTAy
YzFmNzdlMmQ1NzUwYmVlMjI5ZTgyOGQyNGEwYjY2YWYwMjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3dl
YmtpdGRpcmVjdG9yeS1kcmFnLWZvbGRlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlu
cHV0IHR5cGU9ImZpbGUiIG9uY2hhbmdlPSJjaGFuZ2VkKGV2ZW50KSIgd2Via2l0ZGlyZWN0b3J5
PjwvaW5wdXQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIGRyYWdnaW5nIGEgZm9sZGVy
IG9udG8gYSBmaWxlIGlucHV0IHdpdGggd2Via2l0ZGlyZWN0b3J5IHNldC4iKTsKLWpzVGVzdElz
QXN5bmMgPSB0cnVlOwotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpbnB1dEVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXTsKLSAgICBzaG91bGRC
ZVRydWUoImlucHV0RWxlbWVudC53ZWJraXRkaXJlY3RvcnkiKTsKLSAgICBkcmFnRmlsZXNPbnRv
SW5wdXQoaW5wdXRFbGVtZW50LCBbJ3Jlc291cmNlcy90ZXN0RmlsZXMnXSk7Ci19Ci0KLWZ1bmN0
aW9uIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50KGVsZW1lbnQpIHsKLSAgICB2YXIgY2VudGVy
WCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwotICAgIHZh
ciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7
Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2VudGVyWCwgY2VudGVyWSk7Ci19Ci0KLWZ1
bmN0aW9uIGRyYWdGaWxlc09udG9JbnB1dChpbnB1dCwgZmlsZXMpIHsKLSAgICBldmVudFNlbmRl
ci5iZWdpbkRyYWdXaXRoRmlsZXMoZmlsZXMpOwotICAgIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVt
ZW50KGlucHV0KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci19Ci0KLWZ1bmN0aW9uIGNo
YW5nZWQoZXZlbnQpCi17Ci0gICAgZmlsZUxpc3QgPSBldmVudC50YXJnZXQuZmlsZXM7Ci0gICAg
c2hvdWxkQmUoImZpbGVMaXN0Lmxlbmd0aCIsICI1Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJmaWxlTGlzdFswXS5uYW1lIiwgImZpbGUxLnR4dCIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZmlsZUxpc3RbMF0ud2Via2l0UmVsYXRpdmVQYXRoIiwgInRlc3RGaWxlcy9maWxl
MS50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzFdLm5hbWUiLCAi
ZmlsZTIudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFsxXS53ZWJr
aXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL2ZpbGUyLnR4dCIpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZmlsZUxpc3RbMl0ubmFtZSIsICJmaWxlMy50eHQiKTsKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzJdLndlYmtpdFJlbGF0aXZlUGF0aCIsICJ0ZXN0Rmls
ZXMvc3ViZm9sZGVyMS9maWxlMy50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZp
bGVMaXN0WzNdLm5hbWUiLCAiZmlsZTQudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmaWxlTGlzdFszXS53ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL3N1YmZvbGRlcjIv
ZmlsZTQudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFs0XS5uYW1l
IiwgImZpbGU1LnR4dCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbNF0u
d2Via2l0UmVsYXRpdmVQYXRoIiwgInRlc3RGaWxlcy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2Zp
bGU1LnR4dCIpOwotCi0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXJ1blRlc3QoKTsKLQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3dlYmtpdGRpcmVjdG9yeS1vcGVuLXBhbmVsLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ5ZGI1ZWZhYjU0MjZhZmRjYWZk
ZjNiZTFlNzkxZTViMjViZjhjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LW9w
ZW4tcGFuZWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotT1BF
TiBGSUxFIFBBTkVMCi0tPiBESVJFQ1RPUklFUyBBUkUgQUxMT1dFRAotVGVzdHMgY2hvb3Npbmcg
YSBmb2xkZXIgdmlhIHRoZSBmaWxlIHBpY2tlciB3aGVuIHVzaW5nIHdlYmtpdGRpcmVjdG9yeS4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgaW5wdXRFbGVtZW50LndlYmtp
dGRpcmVjdG9yeSBpcyB0cnVlCi1QQVNTIGZpbGVMaXN0Lmxlbmd0aCBpcyA1Ci1QQVNTIGZpbGVM
aXN0WzBdLm5hbWUgaXMgImZpbGUxLnR4dCIKLVBBU1MgZmlsZUxpc3RbMF0ud2Via2l0UmVsYXRp
dmVQYXRoIGlzICJ0ZXN0RmlsZXMvZmlsZTEudHh0IgotUEFTUyBmaWxlTGlzdFsxXS5uYW1lIGlz
ICJmaWxlMi50eHQiCi1QQVNTIGZpbGVMaXN0WzFdLndlYmtpdFJlbGF0aXZlUGF0aCBpcyAidGVz
dEZpbGVzL2ZpbGUyLnR4dCIKLVBBU1MgZmlsZUxpc3RbMl0ubmFtZSBpcyAiZmlsZTMudHh0Igot
UEFTUyBmaWxlTGlzdFsyXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xk
ZXIxL2ZpbGUzLnR4dCIKLVBBU1MgZmlsZUxpc3RbM10ubmFtZSBpcyAiZmlsZTQudHh0IgotUEFT
UyBmaWxlTGlzdFszXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xkZXIy
L2ZpbGU0LnR4dCIKLVBBU1MgZmlsZUxpc3RbNF0ubmFtZSBpcyAiZmlsZTUudHh0IgotUEFTUyBm
aWxlTGlzdFs0XS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9zdWJmb2xkZXIyL3N1
YmZvbGRlcjJhL2ZpbGU1LnR4dCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUv
d2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZmlsZS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5ZmE0OTRlZjhiOTYyYzA0ZTEzYzRlYTU5MTYwYTcxZWJhMWQ1Yjc4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZmlsZS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGlucHV0IHR5cGU9ImZpbGUiIG9uY2hhbmdlPSJjaGFuZ2VkKGV2ZW50KSIg
d2Via2l0ZGlyZWN0b3J5PjwvaW5wdXQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIGNo
b29zaW5nIGEgZm9sZGVyIHZpYSB0aGUgZmlsZSBwaWNrZXIgd2hlbiB1c2luZyB3ZWJraXRkaXJl
Y3RvcnkuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17
Ci0gICAgdGVzdFJ1bm5lci5zZXRPcGVuUGFuZWxGaWxlcyhbJ3Jlc291cmNlcy90ZXN0RmlsZXMn
XSk7Ci0KLSAgICBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
aW5wdXQnKVswXTsKLSAgICBzaG91bGRCZVRydWUoImlucHV0RWxlbWVudC53ZWJraXRkaXJlY3Rv
cnkiKTsKLSAgICBVSUhlbHBlci5hY3RpdmF0ZUF0KGlucHV0RWxlbWVudC5vZmZzZXRMZWZ0ICsg
aW5wdXRFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiwKLSAgICAgICAgaW5wdXRFbGVtZW50Lm9mZnNl
dFRvcCArIGlucHV0RWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTsKLX0KLQotZnVuY3Rpb24gY2hh
bmdlZChldmVudCkKLXsKLSAgICBmaWxlTGlzdCA9IGV2ZW50LnRhcmdldC5maWxlczsKLSAgICBz
aG91bGRCZSgiZmlsZUxpc3QubGVuZ3RoIiwgIjUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImZpbGVMaXN0WzBdLm5hbWUiLCAiZmlsZTEudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJmaWxlTGlzdFswXS53ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL2ZpbGUx
LnR4dCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMV0ubmFtZSIsICJm
aWxlMi50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzFdLndlYmtp
dFJlbGF0aXZlUGF0aCIsICJ0ZXN0RmlsZXMvZmlsZTIudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJmaWxlTGlzdFsyXS5uYW1lIiwgImZpbGUzLnR4dCIpOwotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZmlsZUxpc3RbMl0ud2Via2l0UmVsYXRpdmVQYXRoIiwgInRlc3RGaWxl
cy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmls
ZUxpc3RbM10ubmFtZSIsICJmaWxlNC50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImZpbGVMaXN0WzNdLndlYmtpdFJlbGF0aXZlUGF0aCIsICJ0ZXN0RmlsZXMvc3ViZm9sZGVyMi9m
aWxlNC50eHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVMaXN0WzRdLm5hbWUi
LCAiZmlsZTUudHh0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlTGlzdFs0XS53
ZWJraXRSZWxhdGl2ZVBhdGgiLCAidGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmls
ZTUudHh0Iik7Ci0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotcnVuVGVzdCgpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMzNiYzEyZmU0NGM3MzNmMjVmNzM3NmU0M2U3NzBiOTIwMTBhZWI5OS4u
OWYxYThkM2RlN2MwMzBiNDgxNmM5NmE0ZmY5ODg4YjhhOTc2NzY5YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzNzQsNyArMzM3NCw3IEBAIHdlYmtp
dC5vcmcvYi8xNzU5MzIgaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tY29va2llLmh0bWwgWyBG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE3NjAyMSBmYXN0L2V2ZW50cy9vdmVyZmxvdy12aWV3
cG9ydC1yZW5kZXJlci1kZWxldGVkLmh0bWwgWyBNaXNzaW5nIF0KIAotd2Via2l0Lm9yZy9iLzE3
NjAyNCBmYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRtbCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzE3NjAyNCBmYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkv
d2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3Jn
L2IvMTc2MDI1IGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBzaG90cy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc2MDI1IGluc3BlY3Rvci9jYW52YXMvcmVjb3Jk
aW5nLXdlYmdsLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggYTY1ZGVkYjM0NzEzNTExMDcwNDhhMmNkMTcyNjFlN2ViYTYyMDBk
NC4uMmVhNDRmY2U0NDQxOWM1YzU4ZTczZjY0MTc4NzJmZGI2OTRlYWZmYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5NDIsNyArMTk0Miw2IEBAIGZh
c3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1ibG9iLXN5bmMuaHRtbAogZmFzdC9maWxlcy93
b3JrZXJzL3dvcmtlci1yZWFkLWZpbGUtYXN5bmMuaHRtbAogZmFzdC9maWxlcy93b3JrZXJzL3dv
cmtlci1yZWFkLWZpbGUtc3luYy5odG1sCiBmYXN0L2Zvcm1zL2ZpbGUvZ2V0LWZpbGUtdXBsb2Fk
Lmh0bWwKLWZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWRpcmVjdG9yeS11cGxvYWQuaHRtbAog
ZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtcmUtcmVuZGVyLmh0bWwKIGZhc3QvZm9ybXMvZmls
ZS9yZWNvdmVyLWZpbGUtaW5wdXQtaW4tdW5wb3N0ZWQtZm9ybS5odG1sCiBmYXN0L2Zvcm1zL2Zp
bGUvc2VsZWN0ZWQtZmlsZXMtZnJvbS1oaXN0b3J5LXN0YXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dl
YmtpdGRpcmVjdG9yeS1vcGVuLXBhbmVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9yeS1v
cGVuLXBhbmVsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGQ5MGRmNjAxOGNjYTljZDU3MDUy
YmU5NWMyN2JkNDc3ZWUyZmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9mYXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0ZGlyZWN0b3J5LW9w
ZW4tcGFuZWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK09QRU4gRklMRSBQQU5FTAor
VGVzdHMgY2hvb3NpbmcgYSBmb2xkZXIgdmlhIHRoZSBmaWxlIHBpY2tlciB3aGVuIHVzaW5nIHdl
YmtpdGRpcmVjdG9yeS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW5w
dXRFbGVtZW50LndlYmtpdGRpcmVjdG9yeSBpcyB0cnVlCitQQVNTIGZpbGVMaXN0Lmxlbmd0aCBp
cyA1CitQQVNTIGZpbGVMaXN0WzBdLm5hbWUgaXMgImZpbGUxLnR4dCIKK1BBU1MgZmlsZUxpc3Rb
MF0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0RmlsZXMvZmlsZTEudHh0IgorUEFTUyBmaWxl
TGlzdFsxXS5uYW1lIGlzICJmaWxlMi50eHQiCitQQVNTIGZpbGVMaXN0WzFdLndlYmtpdFJlbGF0
aXZlUGF0aCBpcyAidGVzdEZpbGVzL2ZpbGUyLnR4dCIKK1BBU1MgZmlsZUxpc3RbMl0ubmFtZSBp
cyAiZmlsZTMudHh0IgorUEFTUyBmaWxlTGlzdFsyXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRl
c3RGaWxlcy9zdWJmb2xkZXIxL2ZpbGUzLnR4dCIKK1BBU1MgZmlsZUxpc3RbM10ubmFtZSBpcyAi
ZmlsZTQudHh0IgorUEFTUyBmaWxlTGlzdFszXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RG
aWxlcy9zdWJmb2xkZXIyL2ZpbGU0LnR4dCIKK1BBU1MgZmlsZUxpc3RbNF0ubmFtZSBpcyAiZmls
ZTUudHh0IgorUEFTUyBmaWxlTGlzdFs0XS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxl
cy9zdWJmb2xkZXIyL3N1YmZvbGRlcjJhL2ZpbGU1LnR4dCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZm9ybXMvZmlsZS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5l
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZm9ybXMv
ZmlsZS93ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGUwZDkwZGY2MDE4Y2NhOWNkNTcwNTJiZTk1YzI3YmQ0NzdlZTJm
ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2Zvcm1zL2ZpbGUvd2Via2l0ZGlyZWN0b3J5LW9w
ZW4tcGFuZWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotT1BF
TiBGSUxFIFBBTkVMCi1UZXN0cyBjaG9vc2luZyBhIGZvbGRlciB2aWEgdGhlIGZpbGUgcGlja2Vy
IHdoZW4gdXNpbmcgd2Via2l0ZGlyZWN0b3J5LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBpbnB1dEVsZW1lbnQud2Via2l0ZGlyZWN0b3J5IGlzIHRydWUKLVBBU1MgZmls
ZUxpc3QubGVuZ3RoIGlzIDUKLVBBU1MgZmlsZUxpc3RbMF0ubmFtZSBpcyAiZmlsZTEudHh0Igot
UEFTUyBmaWxlTGlzdFswXS53ZWJraXRSZWxhdGl2ZVBhdGggaXMgInRlc3RGaWxlcy9maWxlMS50
eHQiCi1QQVNTIGZpbGVMaXN0WzFdLm5hbWUgaXMgImZpbGUyLnR4dCIKLVBBU1MgZmlsZUxpc3Rb
MV0ud2Via2l0UmVsYXRpdmVQYXRoIGlzICJ0ZXN0RmlsZXMvZmlsZTIudHh0IgotUEFTUyBmaWxl
TGlzdFsyXS5uYW1lIGlzICJmaWxlMy50eHQiCi1QQVNTIGZpbGVMaXN0WzJdLndlYmtpdFJlbGF0
aXZlUGF0aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjEvZmlsZTMudHh0IgotUEFTUyBmaWxlTGlz
dFszXS5uYW1lIGlzICJmaWxlNC50eHQiCi1QQVNTIGZpbGVMaXN0WzNdLndlYmtpdFJlbGF0aXZl
UGF0aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjIvZmlsZTQudHh0IgotUEFTUyBmaWxlTGlzdFs0
XS5uYW1lIGlzICJmaWxlNS50eHQiCi1QQVNTIGZpbGVMaXN0WzRdLndlYmtpdFJlbGF0aXZlUGF0
aCBpcyAidGVzdEZpbGVzL3N1YmZvbGRlcjIvc3ViZm9sZGVyMmEvZmlsZTUudHh0IgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTdhNDExODk5N2JhZDk4MTY3NWE1
ZjJjZWE4NmQxZDczMWZlZGNjNi4uYmY5MjBhNTA0Y2YwMTNhYjVhYjUxN2MzZDhlYmFkNDUyZDA2
MDM0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1
Myw5ICsxNTMsNiBAQCBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YXRzLmh0
bWwgWyBTa2lwIF0KICMgQXNzZXJ0cyBpbiBkZWJ1Zy4KIFsgRGVidWcgXSBmYXN0L2ltYWdlcy9s
YXJnZS1zaXplLWltYWdlLWNyYXNoLmh0bWwgWyBTa2lwIF0KIAotIyBEaXJlY3RvcnkgdXBsb2Fk
IGlzIG5vdCBlbmFibGVkLgotZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtZGlyZWN0b3J5LXVw
bG9hZC5odG1sCi0KICMgUGVyZiB0ZXN0cyBhcmUgdmVyeSBmbGFreSwgYmVjYXVzZSB0aGV5IHJ1
biBpbiBwYXJhbGxlbCB3aXRoIG90aGVyIHRlc3RzLgogcGVyZgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU3YWM1Nzk0M2MzZjkzMWIyZGQwZWRjYWY1
NWQxYzQ4MzVhNGM5MTYuLjUyMDhkMjM5ZTUyYjZmZDVjZWViMTEwYTgxOTc3YzEwZGExY2E5ZTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzksOSAr
MTc5LDYgQEAgaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1s
IFsgU2tpcCBdCiAjIFRPRE8gQmxvZEJ1aWxkZXIgaXMgbm90IGVuYWJsZWQKIGh0dHAvdGVzdHMv
bG9jYWwvYmxvYi9zZW5kLWRhdGEtYmxvYi5odG1sIFsgU2tpcCBdCiAKLSMgRGlyZWN0b3J5IHVw
bG9hZCBpcyBub3QgZW5hYmxlZC4KLWZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWRpcmVjdG9y
eS11cGxvYWQuaHRtbCBbIFNraXAgXQotCiAjIFRPRE8gQSB0ZXN0IHRoYXQgZmFpbGVkIGJlY2F1
c2UgZXZlbnRTZW5kZXIgY2Fubm90IHNlbmQgZnVuY3Rpb24ta2V5IGV2ZW50cy4KIGZhc3QvZXZl
bnRzL2tleWRvd24tZnVuY3Rpb24ta2V5cy5odG1sIFsgU2tpcCBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODM0NjU1MTFjODRjNGIzZWEzOTY0ZTg1
ZWQxOTEzODk3ZjMzZWRlZS4uYTU1NGQ5OTUzOGQwMzYzMTQ1OGMxNjM2ZDE0NDBiNGQ2YmI2OTc1
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU2Mywx
NyArNTYzLDggQEAgcGxhdGZvcm0vbWFjL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLmh0bWwK
IAogIyBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGFuIGltcGxlbWVudGF0aW9uIG9mIGV2ZW50U2Vu
ZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjQyODUKLWVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1kaXJlY3RvcnlSZWFkZXIuaHRtbAotZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1p
dGVtcy1kcm9wLWRpcmVjdG9yeVJlYWRlci1lcnJvci5odG1sCi1lZGl0aW5nL3Bhc3RlYm9hcmQv
ZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZGlyZWN0b3J5UmVhZGVyLXJvb3QuaHRtbAotZWRpdGlu
Zy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWZpbGVFbnRyeS1maWxlLmh0bWwK
LWVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0
bWwKLWVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXREaXJlY3Rv
cnkuaHRtbAotZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEZp
bGUuaHRtbAotZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldFBh
cmVudC1yb290Lmh0bWwKLWVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJv
cC1nZXRQYXJlbnQuaHRtbAotZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1k
cm9wLWdldFBhcmVudDIuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVt
cy1kcm9wLXBsYWludGV4dC1maWxlLmh0bWwKK2VkaXRpbmcvcGFzdGVib2FyZC9lbnRpZXMtYXBp
CiBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmh0bWwgWyBTa2lwIF0K
IGVkaXRpbmcvcGFzdGVib2FyZC9maWxlLWlucHV0LWZpbGVzLWFjY2Vzcy5odG1sCiBmYXN0L2Rv
bS9GaWxlTGlzdC1pdGVyYXRvci5odG1sCkBAIC02MDUsMTUgKzU5NiwxNCBAQCBmYXN0L2ZpbGVz
L3dvcmtlcnMvd29ya2VyLXJlYWQtYmxvYi1hc3luYy5odG1sCiBmYXN0L2ZpbGVzL3dvcmtlcnMv
d29ya2VyLXJlYWQtYmxvYi1zeW5jLmh0bWwKIGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVh
ZC1maWxlLWFzeW5jLmh0bWwKIGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1maWxlLXN5
bmMuaHRtbAorZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL3dlYmtpdGRpcmVjdG9yeS1kcmFn
LWZvbGRlci5odG1sCiBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jaGFuZ2UtZXZlbnQuaHRt
bAogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtcmVzZXQuaHRtbAogZmFzdC9mb3Jtcy9maWxl
L2dldC1maWxlLXVwbG9hZC5odG1sCi1mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1kaXJlY3Rv
cnktdXBsb2FkLmh0bWwKIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXJlLXJlbmRlci5odG1s
CiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sCiBmYXN0L2Zvcm1z
L2ZpbGUvcmVjb3Zlci1maWxlLWlucHV0LWluLXVucG9zdGVkLWZvcm0uaHRtbAogZmFzdC9mb3Jt
cy9maWxlL3NlbGVjdGVkLWZpbGVzLWZyb20taGlzdG9yeS1zdGF0ZS5odG1sCi1mYXN0L2Zvcm1z
L2ZpbGUvd2Via2l0ZGlyZWN0b3J5LWRyYWctZm9sZGVyLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWNyZWF0ZU9iamVjdFVSTC5odG1sCiBmYXN0L3dvcmtlcnMvd29ya2VyLWNvcHktc2hh
cmVkLWJsb2ItdXJsLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9zZW5kLWh5YnJpZC1ibG9i
Lmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>