<?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>218288</bug_id>
          
          <creation_ts>2020-10-28 09:11:02 -0700</creation_ts>
          <short_desc>Reduce Preference Override Methods: TabsToLinks/SpatialNavigation</short_desc>
          <delta_ts>2020-10-29 12:13:09 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=218349</see_also>
          <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>218287</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>darin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702329</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 09:11:02 -0700</bug_when>
    <thetext>Part of https://bugs.webkit.org/show_bug.cgi?id=218287. Remove alternate methods of overriding preferences for TabsToLinks and SpatialNavigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702340</commentid>
    <comment_count>1</comment_count>
      <attachid>412536</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 09:32:04 -0700</bug_when>
    <thetext>Created attachment 412536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702353</commentid>
    <comment_count>2</comment_count>
      <attachid>412540</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 10:01:39 -0700</bug_when>
    <thetext>Created attachment 412540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702366</commentid>
    <comment_count>3</comment_count>
      <attachid>412544</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 10:36:12 -0700</bug_when>
    <thetext>Created attachment 412544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702415</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-28 11:33:16 -0700</bug_when>
    <thetext>Committed r269111: &lt;https://trac.webkit.org/changeset/269111&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412544.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702416</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-28 11:34:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/70772842&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412536</attachid>
            <date>2020-10-28 09:32:04 -0700</date>
            <delta_ts>2020-10-28 10:29:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218288-20201028093203.patch</filename>
            <type>text/plain</type>
            <size>68839</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVycmlkZSBNZXRob2Rz
OiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzLnlhbWw6CisgICAgICAgIFVuaWZ5IFRhYlRvTGlua3NFbmFibGVkIGFuZCBUYWJzVG9MaW5r
cy4gVGFiVG9MaW5rc0VuYWJsZWQgd2FzIGFkZGVkIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTUzMjkKKyAgICAgICAgYW5kIGhhcyBuZXZlciBhY3R1YWxseSBi
ZWVuIG5lZWRlZC4KKwogMjAyMC0xMC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZG9wdCB0aGUgVUlQb2ludGVySW50ZXJhY3Rpb24gQVBJCklu
ZGV4OiBTb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXMueWFtbAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVu
Y2VzL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTIwNjIsMTYgKzIwNjIs
NiBAQCBTeXN0ZW1QcmV2aWV3RW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDog
ZmFsc2UKIAotIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVjb25jaWxlZCB3aXRoICdUYWJzVG9M
aW5rcycuCi1UYWJUb0xpbmtzRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICB3ZWJjb3JlQmluZGlu
Zzogbm9uZQotICBleHBvc2VkOiBbIFdlYktpdCBdCi0gIGRlZmF1bHRWYWx1ZToKLSAgICBXZWJL
aXQ6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQotCi0jIEZJWE1FOiBUaGlzIHNob3VsZCBiZSByZWNv
bmNpbGVkIHdpdGggJ1RhYlRvTGlua3NFbmFibGVkJy4KIFRhYnNUb0xpbmtzOgogICB0eXBlOiBi
b29sCiAgIHdlYktpdExlZ2FjeVByZWZlcmVuY2VLZXk6IFdlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0xMC0yOCAgU2Ft
IFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIFByZWZlcmVuY2Ug
T3ZlcnJpZGUgTWV0aG9kczogVGFic1RvTGlua3MvU3BhdGlhbE5hdmlnYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI4OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZXMgV0tQcmVmZXJl
bmNlc0dldC9TZXRUYWJUb0xpbmtzRW5hYmxlZCBwcmVmZXJlbmNlIGFzIGl0IGR1cGxpY2F0ZXMg
ZnVuY3Rpb25hbGl0eSBvZiAKKyAgICAgICAgV0tQcmVmZXJlbmNlc0dldC9TZXRUYWJzVG9MaW5r
cy4gVGhlIGZvcm1lciB3YXMgYWRkZWQgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NTMyOQorICAgICAgICBidXQgd2FzIHJlZHVuZGFudCBldmVuIGF0IHRoZSB0
aW1lLiBXZSBjYW4gbm93IHVzZSB0ZXN0IGhlYWRlciBjb21tYW5kcyBmb3IgYWxsIG9mIGl0cwor
ICAgICAgICB1c2UgY2FzZXMuCisgICAgICAgIAorICAgICAgICBBbHNvIHJlbW92ZXMgdGVzdGlu
ZyBvbmx5IGJ1bmRsZSBTUEkgZm9yIGVuYWJsaW5nIHNwYXRpYWwgbmF2aWdhdGlvbiB3aGljaCBh
bHNvIGNhbiBiZQorICAgICAgICBzZXQgdmlhIHRlc3QgaGVhZGVycyBpbnN0ZWFkLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVm
ZXJlbmNlc1NldFRhYlRvTGlua3NFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNHZXRUYWJUb0xpbmtzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAg
ICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFRhYlRvTGlua3NFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dGFiVG9MaW5rc0VuYWJsZWQgY29uc3QpOiBEZWxldGVk
LgorCiAyMDIwLTEwLTI4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUSzRdIEJ1aWxkIGJyb2tlbiB3aXRoIEdUSyAzLjk5LjMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCShy
ZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0NiwxNiArMTA0Niw2IEBAIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEFydGlmaWNpYWxQbHVnaW5JbmkKICAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+YXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKCk7
CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldFRhYlRvTGlua3NFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRUYWJUb0xpbmtzRW5hYmxlZChlbmFibGVkKTsKLX0KLQotYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VGFiVG9MaW5rc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZikKLXsKLSAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dGFiVG9MaW5rc0Vu
YWJsZWQoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEludGVyYWN0aXZlRm9ybVZhbGlk
YXRpb25FbmFibGVkKGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjkx
MDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAsMTAgKzI0MCw2IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRQbHVnaW5TYW4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlCi1X
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VGFiVG9MaW5rc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRUYWJUb0xpbmtzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmKTsKLQogLy8gRGVmYXVsdHMgdG8gdHJ1ZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDI2OTEw
NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NCwxMiArMTU0LDYgQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZQogewogICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+
JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+
cGFnZXMoKTsKIAotICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIpIHsKLSAgICAgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnRhYnNUb0xpbmtzS2V5KCksIGVuYWJsZWQpOwot
ICAgICAgICBmb3IgKGF1dG8qIHBhZ2UgOiBwYWdlcykKLSAgICAgICAgICAgIFdlYlBhZ2U6OmZy
b21Db3JlUGFnZSgqcGFnZSkuc2V0VGFiVG9MaW5rc0VuYWJsZWQoZW5hYmxlZCk7Ci0gICAgfQot
CiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdDJBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFs
aXphdGlvbkVuYWJsZWQiKSB7CiAgICAgICAgIFdlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRl
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojphc3luY2hyb25vdXNQbHVnaW5Jbml0
aWFsaXphdGlvbkVuYWJsZWRLZXkoKSwgZW5hYmxlZCk7CiAgICAgICAgIGZvciAoYXV0byogcGFn
ZSA6IHBhZ2VzKQpAQCAtMzU4LDEzICszNTIsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRB
dXRob3JBbmRVc2VyU3R5CiAgICAgICAgICgqaXRlciktPnNldHRpbmdzKCkuc2V0QXV0aG9yQW5k
VXNlclN0eWxlc0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBi
b29sIGVuYWJsZWQpCi17Ci0gICAgY29uc3QgSGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gUGFnZUdy
b3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5wYWdlcygpOwotICAgIGZv
ciAoSGFzaFNldDxQYWdlKj46Oml0ZXJhdG9yIGl0ZXIgPSBwYWdlcy5iZWdpbigpOyBpdGVyICE9
IHBhZ2VzLmVuZCgpOyArK2l0ZXIpCi0gICAgICAgICgqaXRlciktPnNldHRpbmdzKCkuc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIEluamVjdGVkQnVuZGxl
OjphZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdp
biwgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBTdHJpbmcmIGRlc3Rp
bmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucykKIHsKICAgICBTZWN1
cml0eVBvbGljeTo6YWRkT3JpZ2luQWNjZXNzQWxsb3dsaXN0RW50cnkoU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21TdHJpbmcoc291cmNlT3JpZ2luKS5nZXQoKSwgZGVzdGluYXRpb25Qcm90b2Nv
bCwgZGVzdGluYXRpb25Ib3N0LCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
Niw3ICsxMDYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xp
cGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQb3B1cEJsb2Nr
aW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QXV0aG9y
QW5kVXNlclN0eWxlc0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKLSAgICB2b2lk
IHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwog
ICAgIHZvaWQgYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAgICAgdm9pZCByZW1vdmVPcmlnaW5B
Y2Nlc3NBbGxvd0xpc3RFbnRyeShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBib29sKTsKICAgICB2b2lkIHJlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0cygpOwpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjksMTEgKzE2OSw2IEBAIHZvaWQgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmwKICAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRBdXRob3JBbmRV
c2VyU3R5bGVzRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsK
IH0KIAotdm9pZCBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgYm9vbCBlbmFi
bGVkKQotewotICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKLX0KLQog
dm9pZCBXS0J1bmRsZUFkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgc291cmNlT3JpZ2luLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlv
blByb3RvY29sLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5h
dGlvblN1YmRvbWFpbnMpCiB7CiAgICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+YWRkT3Jp
Z2luQWNjZXNzQWxsb3dMaXN0RW50cnkoV2ViS2l0Ojp0b1dURlN0cmluZyhzb3VyY2VPcmlnaW4p
LCBXZWJLaXQ6OnRvV1RGU3RyaW5nKGRlc3RpbmF0aW9uUHJvdG9jb2wpLCBXZWJLaXQ6OnRvV1RG
U3RyaW5nKGRlc3RpbmF0aW9uSG9zdCksIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNldEZyYW1lRmxhdHRlbmluCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVBZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXS0J1bmRsZVJlZiBidW5k
bGUsIFdLU3RyaW5nUmVmLCBXS1N0cmluZ1JlZiwgV0tTdHJpbmdSZWYsIGJvb2wpOwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmLCBXS1N0cmluZ1JlZiwgV0tTdHJpbmdSZWYsIGJvb2wp
OwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMoV0tC
dW5kbGVSZWYgYnVuZGxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTA3NSw4ICsxMDc1LDYgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFi
bGVkRm9yQWxsUGx1Z2lucyhib29sIGVuYWJsZWQpIHsgbV9hc3luY2hyb25vdXNQbHVnaW5Jbml0
aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zID0gZW5hYmxlZDsgfQogICAgIGJvb2wgYXJ0
aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9hcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQ7IH0KICAgICB2b2lk
IHNldEFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZChib29sIGVuYWJs
ZWQpIHsgbV9hcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQgPSBlbmFi
bGVkOyB9Ci0gICAgdm9pZCBzZXRUYWJUb0xpbmtzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV90
YWJUb0xpbmtzID0gZW5hYmxlZDsgfQotICAgIGJvb2wgdGFiVG9MaW5rc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3RhYlRvTGlua3M7IH0KIAogICAgIGJvb2wgc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VM
b2dnaW5nRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0U2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5n
RW5hYmxlZChib29sKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTEwNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVycmlkZSBNZXRob2Rz
OiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB1c2VzIG9mIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIC4uLikgYW5kCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKC4uLikgd2l0aCB0
ZXN0IGhlYWRlciBjb21tYW5kcywgaGVscGluZyB0byByZWR1Y2UKKyAgICAgICAgdGhlIG51bWJl
ciBvZiBkaWZmZXJlbnQgd2F5cyB3ZSBoYXZlIHRvIG92ZXJyaWRlIHByZWZlcmVuY2VzIGluIExh
eW91dFRlc3RzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rp
b25zKToKKyAgICAgICAgKHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmg6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQ
cmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgIChUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0
ZW50VmFsdWVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3Rp
bmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0xMC0yOCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3c10gRW5zdXJlIHRoYXQgdWF0IGluc3RhbmNlIGRv
ZXNuJ3Qgc2VuZCBlbWFpbHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAJ
KHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOCBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRl
c3RPcHRpb25zOjpkZWZhdWx0CiAgICAgICAgICAgICB7ICJLZXlnZW5FbGVtZW50RW5hYmxlZCIs
IGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFsc2Ug
fSwKICAgICAgICAgICAgIHsgIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIiwgdHJ1ZSB9LAor
ICAgICAgICAgICAgeyAiU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkIiwgZmFsc2UgfSwKKyAgICAg
ICAgICAgIHsgIlRhYnNUb0xpbmtzIiwgZmFsc2UgfSwKIAogICAgICAgICAgICAgeyAiQ1NTTG9n
aWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiTGluZUhlaWdodFVuaXRzRW5h
YmxlZCIsIGZhbHNlIH0sCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAkocmV2
aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExNTQsMTggKzExNTQsNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRY
U1NBdWRpdG9yRW5hYmxlZENhCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRD
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAm
IHdpbmRvd3MgaW1wbGVtZW50YXRpb24uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAg
ICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBUZXN0UnVu
bmVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJp
dmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVl
UmVmIHNldFByaW50aW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewog
ICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNP
YmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKQEAgLTIyMDUsNyArMjE5Myw2IEBAIGNvbnN0
IEpTU3RhdGljRnVuY3Rpb24qIFRlc3RSdW5uZXI6OnN0YXQKICAgICAgICAgeyAic2V0U2hvdWxk
U3dhcFRvRXBoZW1lcmFsU2Vzc2lvbk9uTmV4dE5hdmlnYXRpb24iLCBzZXRTaG91bGRTd2FwVG9F
cGhlbWVyYWxTZXNzaW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFNob3VsZFN3YXBUb0RlZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbiIsIHNldFNo
b3VsZFN3YXBUb0RlZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgInNldFNlcmlhbGl6ZUhUVFBMb2FkcyIsIHNldFNlcmlhbGl6ZUhUVFBMb2Fk
c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgInNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCIsIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBzZXRTdG9wUHJvdmlzaW9uYWxGcmFt
ZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VGFiS2V5Q3ljbGVzVGhyb3Vn
aEVsZW1lbnRzIiwgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuaAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKICAgICB2b2lkIHNl
dFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJp
bmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsK
LSAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNl
dFNjcm9sbGJhclBvbGljeShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9s
aWN5KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgc2V0VGVsZXBob25lTnVt
YmVyUGFyc2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04NzEs
OSArODcxLDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAg
IFtwcmVmZXJlbmNlcyBzZXRKYXZhRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEph
dmFTY3JpcHRFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldEVkaXRhYmxlTGlua0Jl
aGF2aW9yOldlYktpdEVkaXRhYmxlTGlua09ubHlMaXZlV2l0aFNoaWZ0S2V5XTsKLSNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBbcHJlZmVyZW5jZXMgc2V0VGFic1RvTGlua3M6Tk9dOwot
I2VuZGlmCiAgICAgW3ByZWZlcmVuY2VzIHNldERPTVBhc3RlQWxsb3dlZDpZRVNdOwogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIFtwcmVmZXJlbmNlcyBzZXRTaG91bGRQcmludEJhY2tn
cm91bmRzOllFU107CkBAIC04OTgsNyArODk1LDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVm
ZXJlbmNlc1RvQ29uc2lzdAogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEZyYW1l
RmxhdHRlbmluZzpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdEaXNhYmxlZF07CiAgICAgW3ByZWZlcmVu
Y2VzIHNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMg
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TWV0
YVJlZnJlc2hFbmFibGVkOllFU107CiAKICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0
TG9jYXRpb24pIHsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCShyZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1
bm5lck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTE1LDExICs1MTUsNiBAQCB2b2lkIFRlc3RS
dW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXdd
IHByZWZlcmVuY2VzXSBzZXRYU1NBdWRpdG9yRW5hYmxlZDplbmFibGVkXTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQotewot
ICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldEFsbG93VW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICBbW1ttYWluRnJhbWUg
d2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
OmVuYWJsZWRdOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCShyZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjIsNyArODYyLDYgQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIHByZWZlcmVuY2VzLT5zZXRK
YXZhRW5hYmxlZChGQUxTRSk7CiAgICAgcHJlZmVyZW5jZXMtPnNldEphdmFTY3JpcHRFbmFibGVk
KFRSVUUpOwogICAgIHByZWZlcmVuY2VzLT5zZXRFZGl0YWJsZUxpbmtCZWhhdmlvcihXZWJLaXRF
ZGl0YWJsZUxpbmtPbmx5TGl2ZVdpdGhTaGlmdEtleSk7Ci0gICAgcHJlZmVyZW5jZXMtPnNldFRh
YnNUb0xpbmtzKEZBTFNFKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0RE9NUGFzdGVBbGxvd2VkKFRS
VUUpOwogICAgIHByZWZlcmVuY2VzLT5zZXRTaG91bGRQcmludEJhY2tncm91bmRzKFRSVUUpOwog
ICAgIHByZWZlcmVuY2VzLT5zZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIpOwpAQCAtODg0LDcgKzg4Myw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNU
b0NvbnNpc3QKICAgICBwcmVmZXJlbmNlcy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KFRS
VUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UoRkFMU0UpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChGQUxTRSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoRkFMU0UpOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlv
bikgewogICAgICAgICBzaXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgocGVy
c2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpOwogICAgICAgICBWZWN0b3I8VW5p
Q2hhcj4gdXJsQ2hhcmFjdGVycyhzdHJpbmdMZW5ndGggKyAxLCAwKTsKQEAgLTkyNyw2ICs5MjUs
NyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpCiAgICAgQ09NUHRy
PElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4PiBwcmVmc1ByaXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5j
ZXMgfTsKIAogICAgIHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG9wdGlv
bnMudXNlRXBoZW1lcmFsU2Vzc2lvbigpKTsKKwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFn
ZUNhY2hlKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJVc2VzQmFja0ZvcndhcmRDYWNo
ZSIsIGZhbHNlLCBvcHRpb25zKSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRNZW51SXRlbUVsZW1l
bnRFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNZW51SXRlbUVsZW1lbnRF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldEtleWdlbkVs
ZW1lbnRFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50
RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7CkBAIC05MzcsNiArOTM2LDggQEAgc3RhdGljIHZv
aWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q29u
dGFjdFBpY2tlckFQSUVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNvbnRh
Y3RQaWNrZXJBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUt
PnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
VmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0cnVlLCBvcHRpb25zKSk7CiAg
ICAgcHJlZnNQcml2YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
IiwgZmFsc2UsIG9wdGlvbnMpKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKKyAgICBwcmVmZXJlbmNlcy0+c2V0VGFic1Rv
TGlua3MoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlRhYnNUb0xpbmtzIiwgZmFsc2Us
IG9wdGlvbnMpKTsKIH0KIAogc3RhdGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjkxMDUp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODcyLDcgKzg3Miw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0MKICAgICBXS1ByZWZlcmVuY2VzU2V0QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6
YXRpb25FbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldEFz
eW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZEZvckFsbFBsdWdpbnMocHJlZmVy
ZW5jZXMsIGZhbHNlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0QXJ0aWZpY2lhbFBsdWdpbkluaXRp
YWxpemF0aW9uRGVsYXlFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7Ci0gICAgV0tQcmVmZXJl
bmNlc1NldFRhYlRvTGlua3NFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7CisgICAgV0tQcmVm
ZXJlbmNlc1NldFRhYnNUb0xpbmtzKHByZWZlcmVuY2VzLCBmYWxzZSk7CiAgICAgV0tQcmVmZXJl
bmNlc1NldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKHByZWZlcmVuY2VzLCB0cnVl
KTsKICAgICBXS1ByZWZlcmVuY2VzU2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKHByZWZlcmVu
Y2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFi
bGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAy
NjkxMDUpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDk4LDcgKzQ5OCw2IEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyhXS0RpY3QKICAgICBXS0J1bmRsZVNldEF1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgdHJ1ZSk7CiAgICAgV0tCdW5k
bGVTZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2Up
OwogICAgIFdLQnVuZGxlU2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZShtX2J1bmRsZSwgbV9wYWdl
R3JvdXAsIDkpOwotICAgIFdLQnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKG1fYnVu
ZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2UpOwogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNz
RnJvbUZpbGVVUkxzKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgdHJ1ZSk7CiAgICAgV0tCdW5kbGVT
ZXRQb3B1cEJsb2NraW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAg
ICBXS0J1bmRsZVNldEFsbG93U3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMUyhtX2J1bmRsZSwgbV9w
YWdlR3JvdXAsIGZhbHNlKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODk5LDEyICs4OTksNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFVzZXJTdHls
ZVNoZWV0TG9jYXRpCiAgICAgICAgIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCh0cnVlKTsKIH0K
IAotdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFi
bGVkKQotewotICAgIGF1dG8mIGluamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmds
ZXRvbigpOwotICAgIFdLQnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGluamVjdGVk
QnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7Ci19
Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2wg
ZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhJ
bmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIHBhZ2UoKSwgZW5hYmxlZCk7Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuaAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMCw3ICsxMjAsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShKU1N0
cmluZ1JlZiBzb3VyY2VPcmlnaW4sIEpTU3RyaW5nUmVmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIEpT
U3RyaW5nUmVmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlu
cyk7CiAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBz
ZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKEpTU3RyaW5nUmVmKTsKLSAgICB2b2lkIHNldFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFRhYktleUN5Y2xlc1Rocm91
Z2hFbGVtZW50cyhib29sKTsKICAgICB2b2lkIHNldFNlcmlhbGl6ZUhUVFBMb2FkcygpOwogICAg
IHZvaWQgZGlzcGF0Y2hQZW5kaW5nTG9hZFJlcXVlc3RzKCk7CkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwJKHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTkyLDcgKzkyLDYgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIHVuZGVmaW5lZCByZW1v
dmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShET01TdHJpbmcgc291cmNlT3JpZ2luLCBET01T
dHJpbmcgZGVzdGluYXRpb25Qcm90b2NvbCwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uSG9zdCwgYm9v
bGVhbiBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiAgICAgdW5kZWZpbmVkIHNldFVzZXJT
dHlsZVNoZWV0RW5hYmxlZChib29sZWFuIHZhbHVlKTsKICAgICB1bmRlZmluZWQgc2V0VXNlclN0
eWxlU2hlZXRMb2NhdGlvbihET01TdHJpbmcgbG9jYXRpb24pOwotICAgIHVuZGVmaW5lZCBzZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdW5kZWZpbmVkIHNl
dFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sZWFuIGVuYWJsZWQpOwogICAgIHVuZGVm
aW5lZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKICAgICB1bmRlZmluZWQgZGlzcGF0Y2hQZW5k
aW5nTG9hZFJlcXVlc3RzKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkxMDUpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw2NiBAQAorMjAyMC0xMC0y
OCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIFByZWZl
cmVuY2UgT3ZlcnJpZGUgTWV0aG9kczogVGFic1RvTGlua3MvU3BhdGlhbE5hdmlnYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgdXNl
cyBvZiB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAuLi4pIGFuZAorICAgICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZCguLi4pIHdpdGggdGVzdCBoZWFkZXIgY29tbWFuZHMsIGhlbHBpbmcgdG8gcmVk
dWNlCisgICAgICAgIHRoZSBudW1iZXIgb2YgZGlmZmVyZW50IHdheXMgd2UgaGF2ZSB0byBvdmVy
cmlkZSBwcmVmZXJlbmNlcyBpbiBMYXlvdXRUZXN0cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL2NhcmV0LWJyb3dzaW5nLXRhYi1zZWxlY3Rpb24uaHRtbDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9mb2N1cy1zZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNs
ZWFyaW5nLmh0bWw6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLWVsZW1l
bnQtdGFiYmluZy10by1saW5rLmh0bWw6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2Vs
ZWN0aW9uLW5vdGlmaWNhdGlvbi1mb2N1cy1jaGFuZ2UuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L21hYy90YWItZm9jdXMtcG9zdC1ub3RpZmljYXRpb24uaHRtbDoKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy90YWItZm9jdXMtYW5jaG9yLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMv
dGFiLWZvY3VzLWxpbmstaW4tY2FudmFzLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi0xc3Qtc3RvcC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci1vbmx5LXdoaXRlLXNwYWNlLmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hp
dGUtc3BhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRp
c3BsYXktY29udGVudHMtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWRpdi1vdmVyZmxvdy1zY3JvbC1oaWRkZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1zY3JvbGxhYmxlLWJ1dC13aXRob3V0LWZvY3Vz
YWJsZS1jb250ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1mdWxseS1hbGlnbmVkLWhvcml6b250YWxseS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtZnVsbHktYWxpZ25lZC12ZXJ0aWNhbGx5Lmh0bWw6CisgICAgICAg
ICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4tZm9jdXNhYmxlLWVsZW1lbnQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1pZnJh
bWUtemVyby1zaXplLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1oaWRkZW4taWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1mb2N1c2FibGUtY29udGVudC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5vLXNjcm9sbGFi
bGUtY29udGVudC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLXJlY3Vyc2l2ZS1vZmZzZXQtcGFyZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtd2l0aC1vZmZzY3JlZW4tZm9jdXNhYmxlLWVsZW1l
bnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFw
LWFyZWEtbm90LWZvY3VzYWJsZS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtaW1hZ2VtYXAtYXJlYS13aXRob3V0LWltYWdlLmh0bWw6CisgICAgICAgICogZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1vdmVybGFwcGVkLWFyZWFzLmh0bWw6
CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1zaW1wbGUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlucHV0Lmh0bWw6
CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tZWRpYS1lbGVtZW50cy5o
dG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2Vs
ZWN0LWZvY3VzcmluZy5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtbXVsdGlwbGUtc2VsZWN0LW9wdGdyb3VwLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1tdWx0aXBsZS1zZWxlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9mZnNjcmVlbi1jb250ZW50Lmh0bWw6CisgICAgICAgICog
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVu
dC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtcmFkaW8tZ3Jv
dXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zZWFyY2gtb3B0aW1p
emF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW1w
bGUtY29udGVudC1vdmVyZmxvdy5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtc2luZ2xlLXNlbGVjdC1saXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1zaW5nbGUtc2VsZWN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi10YWJsZS10cmF2ZXJzYWwuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRleHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRyYXZlcnNhbC5odG1sOgorICAgICAg
ICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi11bml0LW92ZXJmbG93
LWFuZC1zY3JvbGwtaW4tZGlyZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi16LWluZGV4Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi16ZXJvLW1hcmdpbi1jb250ZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvbWVk
aWEtY29udHJvbHMtYWNjZXNzaWJpbGl0eS5odG1sOgorICAgICAgICAqIG1lZGlhL3RhYi1mb2N1
cy1pbnNpZGUtbWVkaWEtZWxlbWVudHMuaHRtbDoKKwogMjAyMC0xMC0yOCAgUGhpbGlwcGUgTm9y
bWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gTXVsdGkt
Y2hhbm5lbCAoPjIpIHN1cHBvcnQgZm9yIHRoZSBBdWRpb0ZpbGVSZWFkZXIKSW5kZXg6IExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL2NhcmV0LWJyb3dzaW5nLXRhYi1zZWxlY3Rpb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9jYXJldC1icm93
c2luZy10YWItc2VsZWN0aW9uLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL2NhcmV0LWJyb3dzaW5nLXRhYi1zZWxlY3Rpb24uaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgXSAtLT4K
IDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMiw4ICsxMiw2IEBACiAgICAgPHNjcmlwdD4KICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBjYXJldCBicm93c2luZyBmb3IgaHRtbCBzZWxlY3QgZWxl
bWVudHMuIik7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0KLSAgICAgICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5Iiwg
MSk7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgJiYgd2luZG93LmV2ZW50U2VuZGVyKSB7CkluZGV4
OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9mb2N1cy1zZXR0aW5nLXNlbGVjdGlvbi1z
eW5jcm9uaXppbmctbm90LWNsZWFyaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5nLW5v
dC1jbGVhcmluZy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21hYy9mb2N1cy1zZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNsZWFy
aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5r
cz10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KQEAgLTYxLDcgKzYxLDYgQEAKIAogICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xp
bmtzUHJlZmVyZW5jZUtleSIsIDEpOwogCiAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsKICAgICAgICAgd2ViQXJlYSA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKSW5kZXg6
IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdGlvbi1lbGVtZW50LXRhYmJpbmct
dG8tbGluay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3NlbGVjdGlvbi1lbGVtZW50LXRhYmJpbmctdG8tbGluay5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tZWxlbWVudC10YWJi
aW5nLXRvLWxpbmsuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgpAQCAtNTUsNyArNTUsNiBAQAogCiAgICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewogICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAKICAgICAgICAgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHRydWUpOwogICAgICAgICB3ZWJB
cmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDAp
OwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLW5vdGlmaWNh
dGlvbi1mb2N1cy1jaGFuZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21hYy9zZWxlY3Rpb24tbm90aWZpY2F0aW9uLWZvY3VzLWNoYW5nZS5odG1sCShyZXZp
c2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24t
bm90aWZpY2F0aW9uLWZvY3VzLWNoYW5nZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEs
NCBAQAotPCFET0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgXSAtLT4KIDxodG1sPgogICAgIDxoZWFkPgogICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
QEAgLTM3LDggKzM3LDYgQEAKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24g
cnVuRmlyc3RUYWJNb3ZlVGVzdCgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAg
ICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNjZXNz
aWJpbGl0eSh0cnVlKTsKICAgICAgICAgICAgICAgICB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwogICAgICAgICAgICAgICAgIHdl
YkFyZWEuc2V0Qm9vbEF0dHJpYnV0ZVZhbHVlKCJBWENhcmV0QnJvd3NpbmdFbmFibGVkIiwgdHJ1
ZSkKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RhYi1mb2N1cy1wb3N0LW5v
dGlmaWNhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3RhYi1mb2N1cy1wb3N0LW5vdGlmaWNhdGlvbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisr
KyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90YWItZm9jdXMtcG9zdC1ub3RpZmljYXRp
b24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8
aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgpAQCAtMjUsOCArMjYsNiBAQCB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRhYmJpbmcgZm9jdXMgb250byBlbGVtZW50cyB3aWxs
IHNlbmQgb3V0IG5vdGlmaWNhdGlvbnMiKTsKIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHRydWUpOwog
CiAgICAgdmFyIGNvdW50ID0gMDsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYi1m
b2N1cy1hbmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
YWItZm9jdXMtYW5jaG9yLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDQgQEAKLTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBUYWJzVG9MaW5rcz1mYWxzZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+
CkBAIC0xNyw3ICsxNyw2IEBAIGZ1bmN0aW9uIGZhaWwoKQogCiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgnV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXknLCBmYWxzZSk7CiB9
CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90YWItZm9jdXMtbGluay1pbi1jYW52YXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90YWItZm9jdXMtbGluay1pbi1jYW52YXMuaHRtbAkocmV2aXNpb24g
MjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGFiLWZvY3VzLWxpbmstaW4tY2Fu
dmFzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4K
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1
ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtMTYsNyArMTYsNiBAQCBkZXNjcmlwdGlvbigiRW5z
dXJlcyB0aGF0IHlvdSBjYW4gdGFiIHRvCiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKIAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZWZvcmUnKS5mb2N1cygpOwog
ICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJyJiZWZvcmUiJyk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LTFzdC1zdG9wLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di0xc3Qtc3RvcC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LTFzdC1zdG9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNU
b0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgog
ICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwg
TmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIGZyb20gYSBub24tZm9jdXMgc2NlbmFyaW8uCkBA
IC0yMSw4ICsyMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdh
dGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29udGVudC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVy
Zmxvd2VkLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29udGVudC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBj
b3JyZWN0bmVzcyBvZiBhIGJhc2ljIGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVy
c2FsCkBAIC00OCw4ICs0OSw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1zcGFjZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFp
bmVyLW9ubHktd2hpdGUtc3BhY2UuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1zcGFj
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVz
IHRoZSBjb3JyZWN0bmVzcyBvZiBhIGJhc2ljIGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24g
dHJhdmVyc2FsCkBAIC0zMiw4ICszMyw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRh
aW5lci13aGl0ZS1zcGFjZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci13aGl0ZS1zcGFjZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10
cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3Jy
ZWN0bmVzcyBvZiBhIGJhc2ljIGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVyc2Fs
CkBAIC00MCw4ICs0MSw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1kaXNwbGF5LWNvbnRlbnRzLWNyYXNoLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXNwbGF5LWNvbnRl
bnRzLWNyYXNoLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGlzcGxheS1jb250ZW50cy1jcmFzaC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGRpdiBzdHlsZT0iZGlzcGxheTogY29udGVudHMiPjxhIGhyZWY9IiMiPjwvYT48L2Rp
dj4KIFNob3VsZG4ndCBjcmFzaC4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKLSAgICB0ZXN0UnVu
bmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKIH0KIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CiAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtb3ZlcmZsb3ctc2Nyb2wtaGlkZGVuLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1kaXYtb3ZlcmZsb3ctc2Nyb2wtaGlkZGVuLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExh
eW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGl2LW92ZXJmbG93LXNjcm9s
LWhpZGRlbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtMTgsOCArMTks
NiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVk
KHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRv
TGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtZGl2LXNjcm9sbGFibGUtYnV0LXdpdGhvdXQtZm9jdXNhYmxlLWNvbnRlbnQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1z
Y3JvbGxhYmxlLWJ1dC13aXRob3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2
ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGl2LXNj
cm9sbGFibGUtYnV0LXdpdGhvdXQtZm9jdXNhYmxlLWNvbnRlbnQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgog
PGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2Yg
YSBiYXNpYyBhc3BlY3Qgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uIHRyYXZlcnNhbApAQCAtNDcsOCAr
NDgsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRh
YlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtZnVsbHktYWxpZ25lZC1ob3Jpem9udGFsbHkuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWZ1bGx5LWFsaWduZWQtaG9yaXpv
bnRhbGx5Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtZnVsbHktYWxpZ25lZC1ob3Jpem9udGFsbHkuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5l
c3Mgb2YgdGhlICJGdWxseSBhbGlnbmVkIiBwcmVjZWRlbmNlCkBAIC01Myw4ICs1NCw2IEBACiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7
Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1By
ZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1mdWxs
eS1hbGlnbmVkLXZlcnRpY2FsbHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWZ1bGx5LWFsaWduZWQtdmVydGljYWxseS5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWZ1bGx5LWFsaWduZWQtdmVydGljYWxseS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9M
aW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAg
PCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUgIkZ1bGx5
IGFsaWduZWQiIHByZWNlZGVuY2UKQEAgLTMxLDggKzMyLDYgQEAKIAogICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0
UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1mb2N1c2FibGUtZWxl
bWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtaGlkZGVuLWZvY3VzYWJsZS1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykK
KysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaGlkZGVuLWZvY3Vz
YWJsZS1lbGVtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTEx
LDggKzEyLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWhpZGRlbi1pZnJhbWUtemVyby1zaXplLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLXplcm8t
c2l6ZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1pZnJhbWUtemVyby1zaXplLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4K
IDxodG1sPgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTExLDggKzEyLDYgQEAKIAogICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0
UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1pZnJhbWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhp
ZGRlbi1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxo
dG1sPgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KQEAgLTExLDggKzEyLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVu
bmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBs
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysr
IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5p
bmctc2ltcGxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0
IGVuc3VyZXMgdGhlIGNyb3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlh
bCBOYXZpZ2F0aW9uCkBAIC0zMCw4ICszMSw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5z
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVz
dGVkLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9M
aW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAg
PCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjcm9zcyBpZnJhbWUgdHJhdmVyc2FsIGNv
cnJlY3RuZXNzIG9mIHNwYXRpYWwgbmF2aWdhdGlvbjoKQEAgLTQwLDggKzQxLDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1u
by1mb2N1c2FibGUtY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5vLWZvY3VzYWJsZS1jb250ZW50Lmh0bWwJ
KHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaWZyYW1lLW5vLWZvY3VzYWJsZS1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1s
PgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGJhc2ljIHRyYXZlcnNhbCBjb3Jy
ZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24KQEAgLTM2LDggKzM3LDYgQEAKIAogICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5j
ZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1z
Y3JvbGxhYmxlLWNvbnRlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1zY3JvbGxhYmxlLWNvbnRlbnQuaHRtbAko
cmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtbm8tc2Nyb2xsYWJsZS1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1s
PgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGJhc2ljIGlmcmFtZSB0cmF2ZXJz
YWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC0zNyw4ICszOCw2IEBACiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7
Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1By
ZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJh
bWUtcmVjdXJzaXZlLW9mZnNldC1wYXJlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1yZWN1cnNpdmUtb2Zmc2V0LXBh
cmVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1yZWN1cnNpdmUtb2Zmc2V0LXBhcmVudC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVl
IF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjcm9zcyBp
ZnJhbWUgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbgpAQCAtMzAs
OCArMzEsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtaWZyYW1lLXdpdGgtb2Zmc2NyZWVuLWZvY3VzYWJsZS1lbGVtZW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJh
bWUtd2l0aC1vZmZzY3JlZW4tZm9jdXNhYmxlLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMjY4OTgz
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtd2l0
aC1vZmZzY3JlZW4tZm9jdXNhYmxlLWVsZW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1Rv
TGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAg
IDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY3Jvc3MgaWZyYW1lIHRyYXZlcnNhbCBj
b3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24KQEAgLTQyLDggKzQzLDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFw
LWFyZWEtbm90LWZvY3VzYWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtYXJlYS1ub3QtZm9jdXNhYmxlLmh0bWwJ
KHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaW1hZ2VtYXAtYXJlYS1ub3QtZm9jdXNhYmxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1s
PgogICA8aGVhZD4KIApAQCAtMTUsOCArMTYsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIu
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtYXJlYS13aXRob3V0LWltYWdl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pbWFnZW1hcC1hcmVhLXdpdGhvdXQtaW1hZ2UuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1hcmVh
LXdpdGhvdXQtaW1hZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDxoZWFkPgogCkBAIC0x
Myw4ICsxNCw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1pbWFnZW1hcC1vdmVybGFwcGVkLWFyZWFzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1vdmVybGFw
cGVkLWFyZWFzLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtb3ZlcmxhcHBlZC1hcmVhcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVl
IF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAKQEAgLTIzLDggKzI0LDYgQEAKIAogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLXNpbXBs
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaW1hZ2VtYXAtc2ltcGxlLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtc2ltcGxlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRy
dWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KIApAQCAtMjEsOCArMjIsNiBAQAogCiAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNl
S2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW5wdXQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlu
cHV0Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtaW5wdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAK
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1
ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiAg
IDxoZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgpAQCAtNTIsOCArNTMsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbWVkaWEtZWxlbWVudHMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW1lZGlhLWVsZW1l
bnRzLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtbWVkaWEtZWxlbWVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVk
PXRydWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTIzLDggKzIzLDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tdWx0aXBsZS1zZWxlY3QtZm9j
dXNyaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1tdWx0aXBsZS1zZWxlY3QtZm9jdXNyaW5nLmh0bWwJKHJldmlzaW9uIDI2ODk4
MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUt
c2VsZWN0LWZvY3VzcmluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPCFE
T0NUWVBFIGh0bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxib2R5
PgogCiA8c2VsZWN0IGlkPSJtdWx0aXNlbGVjdCIgbXVsdGlwbGU9Im11bHRpcGxlIj4KQEAgLTcs
MTEgKzcsNiBAQAogPC9zZWxlY3Q+CiAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVu
Y2VLZXkiLCAxKTsKLX0KLQogdmFyIG11bHRpc2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ211bHRpc2VsZWN0Jyk7CiAKIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LW9w
dGdyb3VwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1tdWx0aXBsZS1zZWxlY3Qtb3B0Z3JvdXAuaHRtbAkocmV2aXNpb24gMjY4OTgz
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tdWx0aXBsZS1z
ZWxlY3Qtb3B0Z3JvdXAuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlz
IHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uIChTTmF2
KSBhbGdvcml0aG0gb3ZlciBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudC4KQEAgLTMzLDggKzM0LDYg
QEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0
cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xp
bmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LW11bHRpcGxlLXNlbGVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0Lmh0bWwJKHJldmlzaW9uIDI2ODk4
MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUt
c2VsZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmln
YXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVu
c3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3Jp
dGhtIG92ZXIgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnQuCkBAIC0zMyw4ICszNCw2IEBACiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0g
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vZmZzY3Jl
ZW4tY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtb2Zmc2NyZWVuLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vZmZzY3JlZW4tY29u
dGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1
cmVzIHRoZSBjb250ZW50IG92ZXJmbG93IHRyYXZlcnNhbCBjb3JyZWN0bmVzcyBvZiBTcGF0aWFs
IE5hdmlnYXRpb24KQEAgLTM1LDggKzM2LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250ZW50
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBl
ZC1vdmVyZmxvdy1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUg
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAg
VGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvbnRlbnQgb3ZlcmZsb3cgdHJhdmVyc2FsIGNvcnJlY3Ru
ZXNzIG9mIHNwYXRpYWwgbmF2aWdhdGlvbjoKQEAgLTM4LDggKzM5LDYgQEAKIAogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLWdyb3VwLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1yYWRpby1ncm91cC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLWdyb3VwLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxo
dG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNw
YXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIG92ZXIgc2luZ2xlIHNlbGVjdCBlbGVt
ZW50LgpAQCAtMzYsOCArMzcsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtcmFkaW8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0bWwJKHJldmlzaW9uIDI2ODk4
MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtcmFkaW8uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUg
Y29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uIChTTmF2KSBhbGdvcml0aG0gb3ZlciBz
aW5nbGUgc2VsZWN0IGVsZW1lbnQuCkBAIC0yOCw4ICsyOSw2IEBACiAKICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVz
dFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAx
KTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zZWFyY2gtb3B0aW1pemF0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1zZWFyY2gtb3B0aW1pemF0aW9uLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2VhcmNoLW9wdGltaXphdGlvbi5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRo
ZSBvcHRpbWl6YXRpb24gZG9uZSBpbiBzZWFyY2hpbmcgbG9naWMgdG8gZmluZCBiZXN0IGNhbmRp
ZGF0ZSBmb2N1c2FibGUgbm9kZSB3aXRoIG1pbmltdW0gaXRlcmF0aW9ucy4KQEAgLTIxLDggKzIy
LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtc2ltcGxlLWNvbnRlbnQtb3ZlcmZsb3cuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbXBsZS1jb250ZW50LW92
ZXJmbG93Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtc2ltcGxlLWNvbnRlbnQtb3ZlcmZsb3cuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0t
PgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IG92ZXJmbG93ZWQg
Y29udGVudCBjYW4gYmUgZm9jdXNlZCBieSBTcGF0aWFsIE5hdmlnYXRpb24uCkBAIC0zNiw4ICsz
Nyw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFi
VG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1zaW5nbGUtc2VsZWN0LWxpc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbmdsZS1zZWxlY3QtbGlzdC5odG1sCShyZXZp
c2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LXNpbmdsZS1zZWxlY3QtbGlzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAor
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVl
IFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAg
IFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24g
KFNOYXYpIGFsZ29yaXRobSBvdmVyIHNpbmdsZSBzZWxlY3QgbGlzdCBlbGVtZW50LgpAQCAtMzMs
OCArMzQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtc2luZ2xlLXNlbGVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2luZ2xlLXNlbGVjdC5odG1sCShyZXZpc2lvbiAy
Njg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbmds
ZS1zZWxlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uIChTTmF2KSBhbGdv
cml0aG0gb3ZlciBzaW5nbGUgc2VsZWN0IGVsZW1lbnQuCkBAIC0zMyw4ICszNCw2IEBACiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0g
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10YWJsZS10
cmF2ZXJzYWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LXRhYmxlLXRyYXZlcnNhbC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRhYmxlLXRyYXZlcnNhbC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRo
ZSBiYXNpYyB0YWJsZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YKQEAgLTM0LDggKzM1LDYgQEAK
IAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVl
KTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtz
UHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRl
eHRhcmVhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi10ZXh0YXJlYS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRleHRhcmVhLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4K
IDwhRE9DVFlQRSBodG1sPgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTU1LDggKzU2LDYgQEAKIAogICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5j
ZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRpbnktdGFibGUt
dHJhdmVyc2FsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRyYXZlcnNhbC5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXRpbnktdGFibGUt
dHJhdmVyc2FsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0
IGVuc3VyZXMgdGhlIGJhc2ljIHRhYmxlIHRyYXZlcnNhbCBjb3JyZWN0bmVzcyBvZgpAQCAtMzcs
OCArMzgsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10d28tZWxlbWVudHMtb25lLWxpbmUu
aHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi10d28tZWxlbWVudHMtb25lLWxpbmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFi
c1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+
CiAgIDxoZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgpAQCAtMTYsOCArMTcsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIu
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdW5pdC1vdmVyZmxvdy1hbmQtc2Nyb2xsLWlu
LWRpcmVjdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtdW5pdC1vdmVyZmxvdy1hbmQtc2Nyb2xsLWluLWRpcmVjdGlvbi5odG1s
CShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXVuaXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5l
c3MgdGhlIGZvbGxvd2luZyBTcGF0aWFsIE5hdmlnYXRpb24KQEAgLTQyLDggKzQzLDYgQEAKIAog
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsK
LSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJl
ZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAg
fQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXotaW5k
ZXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXotaW5kZXguaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16LWluZGV4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRh
YnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1s
PgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KQEAgLTE5LDggKzIwLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVy
LnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXplcm8tbWFyZ2luLWNvbnRlbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXpl
cm8tbWFyZ2luLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16ZXJvLW1hcmdpbi1jb250ZW50Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRy
dWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIHRyYXZl
cnNhbCBjb3JyZWN0bmVzcyBvZiBzcGF0aWFsIG5hdmlnYXRpb246CkBAIC0zMiw4ICszMyw2IEBA
CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1
ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtYWNjZXNzaWJp
bGl0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xz
LWFjY2Vzc2liaWxpdHkuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWEtY29udHJvbHMtYWNjZXNzaWJpbGl0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBNb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZD1mYWxzZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZD1mYWxzZSBUYWJz
VG9MaW5rcz10cnVlIF0gLS0+CiA8aHRtbD4KIDx2aWRlbyBpZD0idmlkZW8iIGNvbnRyb2xzPjwv
dmlkZW8+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTE1LDcgKzE1LDYgQEAKIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgbWVkaWEgY29udHJvbHMgaGF2ZSBjb3JyZWN0IGFjY2Vz
c2liaWxpdHkgaW5mb3JtYXRpb24uIik7CiAKIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9M
aW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsgCiAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiY29udGVudC90ZXN0Iik7CiAgICAgCiAgICAgdmFyIHZpZGVvRWxlbWVudDsKSW5k
ZXg6IExheW91dFRlc3RzL21lZGlhL3RhYi1mb2N1cy1pbnNpZGUtbWVkaWEtZWxlbWVudHMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90YWItZm9jdXMtaW5zaWRlLW1lZGlh
LWVsZW1lbnRzLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL21lZGlhL3Rh
Yi1mb2N1cy1pbnNpZGUtbWVkaWEtZWxlbWVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sIT48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVy
bk1lZGlhQ29udHJvbHNFbmFibGVkPWZhbHNlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbCE+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZD1mYWxzZSBUYWJz
VG9MaW5rcz10cnVlIF0gLS0+CiA8aHRtbD4KIDxib2R5PgogPGF1ZGlvIGNvbnRyb2xzPjwvYXVk
aW8+PHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+PGJyPgpAQCAtMTksOCArMTksNiBAQCBlbHNlCiAK
IGZ1bmN0aW9uIHJ1blRlc3RzKCkKIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAgIHNob3VsZEJlKCdk
b2N1bWVudC5ib2R5LmZvY3VzKCk7IGV2ZW50U2VuZGVyLmtleURvd24oIlxcdCIpOyBkb2N1bWVu
dC5hY3RpdmVFbGVtZW50JywgJ21lZGlhRWxlbWVudHNbMF0nKTsKICAgICBzaG91bGRCZVRydWUo
J21lZGlhRWxlbWVudHNbMF0gaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50Jyk7CiAgICAgc2hv
dWxkQmVUcnVlKCdtZWRpYUVsZW1lbnRzWzBdLmNvbnRyb2xzJyk7Cg==
</data>
<flag name="commit-queue"
          id="429017"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412540</attachid>
            <date>2020-10-28 10:01:39 -0700</date>
            <delta_ts>2020-10-28 10:36:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218288-20201028100139.patch</filename>
            <type>text/plain</type>
            <size>69749</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVycmlkZSBNZXRob2Rz
OiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzLnlhbWw6CisgICAgICAgIFVuaWZ5IFRhYlRvTGlua3NFbmFibGVkIGFuZCBUYWJzVG9MaW5r
cy4gVGFiVG9MaW5rc0VuYWJsZWQgd2FzIGFkZGVkIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTUzMjkKKyAgICAgICAgYW5kIGhhcyBuZXZlciBhY3R1YWxseSBi
ZWVuIG5lZWRlZC4KKwogMjAyMC0xMC0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZG9wdCB0aGUgVUlQb2ludGVySW50ZXJhY3Rpb24gQVBJCklu
ZGV4OiBTb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXMueWFtbAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVu
Y2VzL1dlYlByZWZlcmVuY2VzLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTIwNjIsMTYgKzIwNjIs
NiBAQCBTeXN0ZW1QcmV2aWV3RW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDog
ZmFsc2UKIAotIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVjb25jaWxlZCB3aXRoICdUYWJzVG9M
aW5rcycuCi1UYWJUb0xpbmtzRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICB3ZWJjb3JlQmluZGlu
Zzogbm9uZQotICBleHBvc2VkOiBbIFdlYktpdCBdCi0gIGRlZmF1bHRWYWx1ZToKLSAgICBXZWJL
aXQ6Ci0gICAgICBkZWZhdWx0OiBmYWxzZQotCi0jIEZJWE1FOiBUaGlzIHNob3VsZCBiZSByZWNv
bmNpbGVkIHdpdGggJ1RhYlRvTGlua3NFbmFibGVkJy4KIFRhYnNUb0xpbmtzOgogICB0eXBlOiBi
b29sCiAgIHdlYktpdExlZ2FjeVByZWZlcmVuY2VLZXk6IFdlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0xMC0yOCAgU2Ft
IFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVkdWNlIFByZWZlcmVuY2Ug
T3ZlcnJpZGUgTWV0aG9kczogVGFic1RvTGlua3MvU3BhdGlhbE5hdmlnYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI4OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZXMgV0tQcmVmZXJl
bmNlc0dldC9TZXRUYWJUb0xpbmtzRW5hYmxlZCBwcmVmZXJlbmNlIGFzIGl0IGR1cGxpY2F0ZXMg
ZnVuY3Rpb25hbGl0eSBvZiAKKyAgICAgICAgV0tQcmVmZXJlbmNlc0dldC9TZXRUYWJzVG9MaW5r
cy4gVGhlIGZvcm1lciB3YXMgYWRkZWQgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NTMyOQorICAgICAgICBidXQgd2FzIHJlZHVuZGFudCBldmVuIGF0IHRoZSB0
aW1lLiBXZSBjYW4gbm93IHVzZSB0ZXN0IGhlYWRlciBjb21tYW5kcyBmb3IgYWxsIG9mIGl0cwor
ICAgICAgICB1c2UgY2FzZXMuCisgICAgICAgIAorICAgICAgICBBbHNvIHJlbW92ZXMgdGVzdGlu
ZyBvbmx5IGJ1bmRsZSBTUEkgZm9yIGVuYWJsaW5nIHNwYXRpYWwgbmF2aWdhdGlvbiB3aGljaCBh
bHNvIGNhbiBiZQorICAgICAgICBzZXQgdmlhIHRlc3QgaGVhZGVycyBpbnN0ZWFkLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVm
ZXJlbmNlc1NldFRhYlRvTGlua3NFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNHZXRUYWJUb0xpbmtzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAg
ICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFRhYlRvTGlua3NFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dGFiVG9MaW5rc0VuYWJsZWQgY29uc3QpOiBEZWxldGVk
LgorCiAyMDIwLTEwLTI4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUSzRdIEJ1aWxkIGJyb2tlbiB3aXRoIEdUSyAzLjk5LjMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCShy
ZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0NiwxNiArMTA0Niw2IEBAIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEFydGlmaWNpYWxQbHVnaW5JbmkKICAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+YXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKCk7
CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldFRhYlRvTGlua3NFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRUYWJUb0xpbmtzRW5hYmxlZChlbmFibGVkKTsKLX0KLQotYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VGFiVG9MaW5rc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZikKLXsKLSAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+dGFiVG9MaW5rc0Vu
YWJsZWQoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEludGVyYWN0aXZlRm9ybVZhbGlk
YXRpb25FbmFibGVkKGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjkx
MDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAsMTAgKzI0MCw2IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRQbHVnaW5TYW4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlCi1X
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VGFiVG9MaW5rc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRUYWJUb0xpbmtzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmKTsKLQogLy8gRGVmYXVsdHMgdG8gdHJ1ZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDI2OTEw
NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NCwxMiArMTU0LDYgQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZQogewogICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+
JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+
cGFnZXMoKTsKIAotICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIpIHsKLSAgICAgICAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6b3ZlcnJpZGVCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnRhYnNUb0xpbmtzS2V5KCksIGVuYWJsZWQpOwot
ICAgICAgICBmb3IgKGF1dG8qIHBhZ2UgOiBwYWdlcykKLSAgICAgICAgICAgIFdlYlBhZ2U6OmZy
b21Db3JlUGFnZSgqcGFnZSkuc2V0VGFiVG9MaW5rc0VuYWJsZWQoZW5hYmxlZCk7Ci0gICAgfQot
CiAgICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdDJBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFs
aXphdGlvbkVuYWJsZWQiKSB7CiAgICAgICAgIFdlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRl
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojphc3luY2hyb25vdXNQbHVnaW5Jbml0
aWFsaXphdGlvbkVuYWJsZWRLZXkoKSwgZW5hYmxlZCk7CiAgICAgICAgIGZvciAoYXV0byogcGFn
ZSA6IHBhZ2VzKQpAQCAtMzU4LDEzICszNTIsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRB
dXRob3JBbmRVc2VyU3R5CiAgICAgICAgICgqaXRlciktPnNldHRpbmdzKCkuc2V0QXV0aG9yQW5k
VXNlclN0eWxlc0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBi
b29sIGVuYWJsZWQpCi17Ci0gICAgY29uc3QgSGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gUGFnZUdy
b3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5wYWdlcygpOwotICAgIGZv
ciAoSGFzaFNldDxQYWdlKj46Oml0ZXJhdG9yIGl0ZXIgPSBwYWdlcy5iZWdpbigpOyBpdGVyICE9
IHBhZ2VzLmVuZCgpOyArK2l0ZXIpCi0gICAgICAgICgqaXRlciktPnNldHRpbmdzKCkuc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIEluamVjdGVkQnVuZGxl
OjphZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdp
biwgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBTdHJpbmcmIGRlc3Rp
bmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucykKIHsKICAgICBTZWN1
cml0eVBvbGljeTo6YWRkT3JpZ2luQWNjZXNzQWxsb3dsaXN0RW50cnkoU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21TdHJpbmcoc291cmNlT3JpZ2luKS5nZXQoKSwgZGVzdGluYXRpb25Qcm90b2Nv
bCwgZGVzdGluYXRpb25Ib3N0LCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
Niw3ICsxMDYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xp
cGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQb3B1cEJsb2Nr
aW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QXV0aG9y
QW5kVXNlclN0eWxlc0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKLSAgICB2b2lk
IHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwog
ICAgIHZvaWQgYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAgICAgdm9pZCByZW1vdmVPcmlnaW5B
Y2Nlc3NBbGxvd0xpc3RFbnRyeShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBib29sKTsKICAgICB2b2lkIHJlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0cygpOwpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjksMTEgKzE2OSw2IEBAIHZvaWQgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmwKICAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRBdXRob3JBbmRV
c2VyU3R5bGVzRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsK
IH0KIAotdm9pZCBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgYm9vbCBlbmFi
bGVkKQotewotICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKLX0KLQog
dm9pZCBXS0J1bmRsZUFkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgc291cmNlT3JpZ2luLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlv
blByb3RvY29sLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5h
dGlvblN1YmRvbWFpbnMpCiB7CiAgICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+YWRkT3Jp
Z2luQWNjZXNzQWxsb3dMaXN0RW50cnkoV2ViS2l0Ojp0b1dURlN0cmluZyhzb3VyY2VPcmlnaW4p
LCBXZWJLaXQ6OnRvV1RGU3RyaW5nKGRlc3RpbmF0aW9uUHJvdG9jb2wpLCBXZWJLaXQ6OnRvV1RG
U3RyaW5nKGRlc3RpbmF0aW9uSG9zdCksIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNldEZyYW1lRmxhdHRlbmluCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVBZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXS0J1bmRsZVJlZiBidW5k
bGUsIFdLU3RyaW5nUmVmLCBXS1N0cmluZ1JlZiwgV0tTdHJpbmdSZWYsIGJvb2wpOwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmLCBXS1N0cmluZ1JlZiwgV0tTdHJpbmdSZWYsIGJvb2wp
OwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMoV0tC
dW5kbGVSZWYgYnVuZGxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTA3NSw4ICsxMDc1LDYgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFi
bGVkRm9yQWxsUGx1Z2lucyhib29sIGVuYWJsZWQpIHsgbV9hc3luY2hyb25vdXNQbHVnaW5Jbml0
aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zID0gZW5hYmxlZDsgfQogICAgIGJvb2wgYXJ0
aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9hcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQ7IH0KICAgICB2b2lk
IHNldEFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZChib29sIGVuYWJs
ZWQpIHsgbV9hcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQgPSBlbmFi
bGVkOyB9Ci0gICAgdm9pZCBzZXRUYWJUb0xpbmtzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV90
YWJUb0xpbmtzID0gZW5hYmxlZDsgfQotICAgIGJvb2wgdGFiVG9MaW5rc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3RhYlRvTGlua3M7IH0KIAogICAgIGJvb2wgc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VM
b2dnaW5nRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0U2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5n
RW5hYmxlZChib29sKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTEwNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVycmlkZSBNZXRob2Rz
OiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB1c2VzIG9mIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIC4uLikgYW5kCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKC4uLikgd2l0aCB0
ZXN0IGhlYWRlciBjb21tYW5kcywgaGVscGluZyB0byByZWR1Y2UKKyAgICAgICAgdGhlIG51bWJl
ciBvZiBkaWZmZXJlbnQgd2F5cyB3ZSBoYXZlIHRvIG92ZXJyaWRlIHByZWZlcmVuY2VzIGluIExh
eW91dFRlc3RzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rp
b25zKToKKyAgICAgICAgKHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmg6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQ
cmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgIChUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0
ZW50VmFsdWVzKToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3Rp
bmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0xMC0yOCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3c10gRW5zdXJlIHRoYXQgdWF0IGluc3RhbmNlIGRv
ZXNuJ3Qgc2VuZCBlbWFpbHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAJ
KHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsOCBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRl
c3RPcHRpb25zOjpkZWZhdWx0CiAgICAgICAgICAgICB7ICJLZXlnZW5FbGVtZW50RW5hYmxlZCIs
IGZhbHNlIH0sCiAgICAgICAgICAgICB7ICJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFsc2Ug
fSwKICAgICAgICAgICAgIHsgIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIiwgdHJ1ZSB9LAor
ICAgICAgICAgICAgeyAiU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkIiwgZmFsc2UgfSwKKyAgICAg
ICAgICAgIHsgIlRhYnNUb0xpbmtzIiwgZmFsc2UgfSwKIAogICAgICAgICAgICAgeyAiQ1NTTG9n
aWNhbEVuYWJsZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiTGluZUhlaWdodFVuaXRzRW5h
YmxlZCIsIGZhbHNlIH0sCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAkocmV2
aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExNTQsMTggKzExNTQsNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRY
U1NBdWRpdG9yRW5hYmxlZENhCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRD
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAm
IHdpbmRvd3MgaW1wbGVtZW50YXRpb24uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAg
ICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBUZXN0UnVu
bmVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJp
dmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVl
UmVmIHNldFByaW50aW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewog
ICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNP
YmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKQEAgLTIyMDUsNyArMjE5Myw2IEBAIGNvbnN0
IEpTU3RhdGljRnVuY3Rpb24qIFRlc3RSdW5uZXI6OnN0YXQKICAgICAgICAgeyAic2V0U2hvdWxk
U3dhcFRvRXBoZW1lcmFsU2Vzc2lvbk9uTmV4dE5hdmlnYXRpb24iLCBzZXRTaG91bGRTd2FwVG9F
cGhlbWVyYWxTZXNzaW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFNob3VsZFN3YXBUb0RlZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbiIsIHNldFNo
b3VsZFN3YXBUb0RlZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgInNldFNlcmlhbGl6ZUhUVFBMb2FkcyIsIHNldFNlcmlhbGl6ZUhUVFBMb2Fk
c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgInNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCIsIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBzZXRTdG9wUHJvdmlzaW9uYWxGcmFt
ZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VGFiS2V5Q3ljbGVzVGhyb3Vn
aEVsZW1lbnRzIiwgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuaAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKICAgICB2b2lkIHNl
dFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJp
bmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsK
LSAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNl
dFNjcm9sbGJhclBvbGljeShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9s
aWN5KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgc2V0VGVsZXBob25lTnVt
YmVyUGFyc2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04NzEs
OSArODcxLDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAg
IFtwcmVmZXJlbmNlcyBzZXRKYXZhRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEph
dmFTY3JpcHRFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldEVkaXRhYmxlTGlua0Jl
aGF2aW9yOldlYktpdEVkaXRhYmxlTGlua09ubHlMaXZlV2l0aFNoaWZ0S2V5XTsKLSNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBbcHJlZmVyZW5jZXMgc2V0VGFic1RvTGlua3M6Tk9dOwot
I2VuZGlmCiAgICAgW3ByZWZlcmVuY2VzIHNldERPTVBhc3RlQWxsb3dlZDpZRVNdOwogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIFtwcmVmZXJlbmNlcyBzZXRTaG91bGRQcmludEJhY2tn
cm91bmRzOllFU107CkBAIC04OTgsNyArODk1LDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVm
ZXJlbmNlc1RvQ29uc2lzdAogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEZyYW1l
RmxhdHRlbmluZzpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdEaXNhYmxlZF07CiAgICAgW3ByZWZlcmVu
Y2VzIHNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMg
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TWV0
YVJlZnJlc2hFbmFibGVkOllFU107CiAKICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0
TG9jYXRpb24pIHsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCShyZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1
bm5lck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTE1LDExICs1MTUsNiBAQCB2b2lkIFRlc3RS
dW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXdd
IHByZWZlcmVuY2VzXSBzZXRYU1NBdWRpdG9yRW5hYmxlZDplbmFibGVkXTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQotewot
ICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldEFsbG93VW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICBbW1ttYWluRnJhbWUg
d2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
OmVuYWJsZWRdOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCShyZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjIsNyArODYyLDYgQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIHByZWZlcmVuY2VzLT5zZXRK
YXZhRW5hYmxlZChGQUxTRSk7CiAgICAgcHJlZmVyZW5jZXMtPnNldEphdmFTY3JpcHRFbmFibGVk
KFRSVUUpOwogICAgIHByZWZlcmVuY2VzLT5zZXRFZGl0YWJsZUxpbmtCZWhhdmlvcihXZWJLaXRF
ZGl0YWJsZUxpbmtPbmx5TGl2ZVdpdGhTaGlmdEtleSk7Ci0gICAgcHJlZmVyZW5jZXMtPnNldFRh
YnNUb0xpbmtzKEZBTFNFKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0RE9NUGFzdGVBbGxvd2VkKFRS
VUUpOwogICAgIHByZWZlcmVuY2VzLT5zZXRTaG91bGRQcmludEJhY2tncm91bmRzKFRSVUUpOwog
ICAgIHByZWZlcmVuY2VzLT5zZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIpOwpAQCAtODg0LDcgKzg4Myw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNU
b0NvbnNpc3QKICAgICBwcmVmZXJlbmNlcy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KFRS
VUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UoRkFMU0UpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChGQUxTRSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoRkFMU0UpOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlv
bikgewogICAgICAgICBzaXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgocGVy
c2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpOwogICAgICAgICBWZWN0b3I8VW5p
Q2hhcj4gdXJsQ2hhcmFjdGVycyhzdHJpbmdMZW5ndGggKyAxLCAwKTsKQEAgLTkyNyw2ICs5MjUs
NyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpCiAgICAgQ09NUHRy
PElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4PiBwcmVmc1ByaXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5j
ZXMgfTsKIAogICAgIHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG9wdGlv
bnMudXNlRXBoZW1lcmFsU2Vzc2lvbigpKTsKKwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFn
ZUNhY2hlKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJVc2VzQmFja0ZvcndhcmRDYWNo
ZSIsIGZhbHNlLCBvcHRpb25zKSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRNZW51SXRlbUVsZW1l
bnRFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNZW51SXRlbUVsZW1lbnRF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldEtleWdlbkVs
ZW1lbnRFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50
RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7CkBAIC05MzcsNiArOTM2LDggQEAgc3RhdGljIHZv
aWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q29u
dGFjdFBpY2tlckFQSUVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNvbnRh
Y3RQaWNrZXJBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUt
PnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
VmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0cnVlLCBvcHRpb25zKSk7CiAg
ICAgcHJlZnNQcml2YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
IiwgZmFsc2UsIG9wdGlvbnMpKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKKyAgICBwcmVmZXJlbmNlcy0+c2V0VGFic1Rv
TGlua3MoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlRhYnNUb0xpbmtzIiwgZmFsc2Us
IG9wdGlvbnMpKTsKIH0KIAogc3RhdGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHJldmlzaW9uIDI2OTEw
NSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQ2LDIzICs1NDYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0
b3JFbmFibGVkKGJvCiAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFi
bGVkKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQo
Ym9vbCBlbmFibGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAo
RkFJTEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENPTVB0cjxJV2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2Vi
Vmlldy0+cHJlZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlNj4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVm
ZXJlbmNlcyk7Ci0gICAgaWYgKCFwcmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAg
IHByZWZzUHJpdmF0ZS0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZWQpOwotfQot
CiB2b2lkIFRlc3RSdW5uZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJv
b2wgZW5hYmxlZCkKIHsKICAgICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7CkluZGV4OiBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjY5MTA1KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg3Miw3ICs4NzIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVu
Y2VzVG9DCiAgICAgV0tQcmVmZXJlbmNlc1NldEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0
aW9uRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRBc3lu
Y2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zKHByZWZlcmVu
Y2VzLCBmYWxzZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldEFydGlmaWNpYWxQbHVnaW5Jbml0aWFs
aXphdGlvbkRlbGF5RW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotICAgIFdLUHJlZmVyZW5j
ZXNTZXRUYWJUb0xpbmtzRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOworICAgIFdLUHJlZmVy
ZW5jZXNTZXRUYWJzVG9MaW5rcyhwcmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5j
ZXNTZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7
CiAgICAgV0tQcmVmZXJlbmNlc1NldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChwcmVmZXJlbmNl
cywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxl
ZChwcmVmZXJlbmNlcywgdHJ1ZSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjY5
MTA1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OCw3ICs0OTgsNiBAQCB2b2lkIEluamVjdGVk
QnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxl
U2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsK
ICAgICBXS0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUobV9idW5kbGUsIG1fcGFnZUdy
b3VwLCA5KTsKLSAgICBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChtX2J1bmRs
ZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zy
b21GaWxlVVJMcyhtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7CiAgICAg
V0tCdW5kbGVTZXRBbGxvd1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTFMobV9idW5kbGUsIG1fcGFn
ZUdyb3VwLCBmYWxzZSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg5OSwxMiArODk5LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRVc2VyU3R5bGVT
aGVldExvY2F0aQogICAgICAgICBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQodHJ1ZSk7CiB9CiAK
LXZvaWQgVGVzdFJ1bm5lcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxl
ZCkKLXsKLSAgICBhdXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKTsKLSAgICBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChpbmplY3RlZEJ1
bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQot
CiB2b2lkIFRlc3RSdW5uZXI6OnNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sIGVu
YWJsZWQpCiB7CiAgICAgV0tCdW5kbGVTZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoSW5q
ZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBwYWdlKCksIGVuYWJsZWQpOwpJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoSlNTdHJp
bmdSZWYgc291cmNlT3JpZ2luLCBKU1N0cmluZ1JlZiBkZXN0aW5hdGlvblByb3RvY29sLCBKU1N0
cmluZ1JlZiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMp
OwogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0
VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZik7Ci0gICAgdm9pZCBzZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdo
RWxlbWVudHMoYm9vbCk7CiAgICAgdm9pZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKICAgICB2
b2lkIGRpc3BhdGNoUGVuZGluZ0xvYWRSZXF1ZXN0cygpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCShyZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05
Miw3ICs5Miw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB1bmRlZmluZWQgcmVtb3Zl
T3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3Ry
aW5nIGRlc3RpbmF0aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xl
YW4gYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHVuZGVmaW5lZCBzZXRVc2VyU3R5
bGVTaGVldEVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdW5kZWZpbmVkIHNldFVzZXJTdHls
ZVNoZWV0TG9jYXRpb24oRE9NU3RyaW5nIGxvY2F0aW9uKTsKLSAgICB1bmRlZmluZWQgc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHVuZGVmaW5lZCBzZXRU
YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmlu
ZWQgc2V0U2VyaWFsaXplSFRUUExvYWRzKCk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoUGVuZGlu
Z0xvYWRSZXF1ZXN0cygpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTA1KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjAtMTAtMjgg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlZHVjZSBQcmVmZXJl
bmNlIE92ZXJyaWRlIE1ldGhvZHM6IFRhYnNUb0xpbmtzL1NwYXRpYWxOYXZpZ2F0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyODgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIHVzZXMg
b2YgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5IiwgLi4uKSBhbmQKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoLi4uKSB3aXRoIHRlc3QgaGVhZGVyIGNvbW1hbmRzLCBoZWxwaW5nIHRvIHJlZHVj
ZQorICAgICAgICB0aGUgbnVtYmVyIG9mIGRpZmZlcmVudCB3YXlzIHdlIGhhdmUgdG8gb3ZlcnJp
ZGUgcHJlZmVyZW5jZXMgaW4gTGF5b3V0VGVzdHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L21hYy9jYXJldC1icm93c2luZy10YWItc2VsZWN0aW9uLmh0bWw6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5nLW5vdC1jbGVh
cmluZy5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdGlvbi1lbGVtZW50
LXRhYmJpbmctdG8tbGluay5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVj
dGlvbi1ub3RpZmljYXRpb24tZm9jdXMtY2hhbmdlLmh0bWw6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9tYWMvdGFiLWZvY3VzLXBvc3Qtbm90aWZpY2F0aW9uLmh0bWw6CisgICAgICAgICogZmFz
dC9ldmVudHMvdGFiLWZvY3VzLWFuY2hvci5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Rh
Yi1mb2N1cy1saW5rLWluLWNhbnZhcy5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtMXN0LXN0b3AuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWNsaXBwZWQtb3ZlcmZsb3dlZC1jb250ZW50Lmh0bWw6CisgICAgICAgICogZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1zcGFjZS5odG1s
OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLXdoaXRl
LXNwYWNlLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXNw
bGF5LWNvbnRlbnRzLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1kaXYtb3ZlcmZsb3ctc2Nyb2wtaGlkZGVuLmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtc2Nyb2xsYWJsZS1idXQtd2l0aG91dC1mb2N1c2Fi
bGUtY29udGVudC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
ZnVsbHktYWxpZ25lZC1ob3Jpem9udGFsbHkuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWZ1bGx5LWFsaWduZWQtdmVydGljYWxseS5odG1sOgorICAgICAgICAq
IGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaGlkZGVuLWZvY3VzYWJsZS1lbGVtZW50Lmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1l
LXplcm8tc2l6ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aGlkZGVuLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8tZm9jdXNhYmxlLWNvbnRlbnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1zY3JvbGxhYmxl
LWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlm
cmFtZS1yZWN1cnNpdmUtb2Zmc2V0LXBhcmVudC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXdpdGgtb2Zmc2NyZWVuLWZvY3VzYWJsZS1lbGVtZW50
Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1h
cmVhLW5vdC1mb2N1c2FibGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWltYWdlbWFwLWFyZWEtd2l0aG91dC1pbWFnZS5odG1sOgorICAgICAgICAqIGZhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtb3ZlcmxhcHBlZC1hcmVhcy5odG1sOgor
ICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtc2ltcGxlLmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbnB1dC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbWVkaWEtZWxlbWVudHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVj
dC1mb2N1c3JpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LW11bHRpcGxlLXNlbGVjdC1vcHRncm91cC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1vZmZzY3JlZW4tY29udGVudC5odG1sOgorICAgICAgICAqIGZh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLWdyb3Vw
Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1yYWRpby5odG1s
OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2VhcmNoLW9wdGltaXph
dGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2ltcGxl
LWNvbnRlbnQtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXNpbmdsZS1zZWxlY3QtbGlzdC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtc2luZ2xlLXNlbGVjdC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtdGFibGUtdHJhdmVyc2FsLmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi10ZXh0YXJlYS5odG1sOgorICAgICAgICAqIGZhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtdGlueS10YWJsZS10cmF2ZXJzYWwuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS5odG1s
OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdW5pdC1vdmVyZmxvdy1h
bmQtc2Nyb2xsLWluLWRpcmVjdGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtei1pbmRleC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtemVyby1tYXJnaW4tY29udGVudC5odG1sOgorICAgICAgICAqIG1lZGlhL21lZGlh
LWNvbnRyb2xzLWFjY2Vzc2liaWxpdHkuaHRtbDoKKyAgICAgICAgKiBtZWRpYS90YWItZm9jdXMt
aW5zaWRlLW1lZGlhLWVsZW1lbnRzLmh0bWw6CisKIDIwMjAtMTAtMjggIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIE11bHRpLWNo
YW5uZWwgKD4yKSBzdXBwb3J0IGZvciB0aGUgQXVkaW9GaWxlUmVhZGVyCkluZGV4OiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9jYXJldC1icm93c2luZy10YWItc2VsZWN0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvY2FyZXQtYnJvd3Np
bmctdGFiLXNlbGVjdGlvbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9jYXJldC1icm93c2luZy10YWItc2VsZWN0aW9uLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIF0gLS0+CiA8
aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgpAQCAtMTIsOCArMTIsNiBAQAogICAgIDxzY3JpcHQ+CiAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgY2FyZXQgYnJvd3NpbmcgZm9yIGh0bWwgc2VsZWN0IGVsZW1l
bnRzLiIpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotCi0gICAgICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgICAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyICYmIHdpbmRvdy5ldmVudFNlbmRlcikgewpJbmRleDog
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3lu
Y3Jvbml6aW5nLW5vdC1jbGVhcmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL2ZvY3VzLXNldHRpbmctc2VsZWN0aW9uLXN5bmNyb25pemluZy1ub3Qt
Y2xlYXJpbmcuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5nLW5vdC1jbGVhcmlu
Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9
dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CkBAIC02MSw3ICs2MSw2IEBACiAKICAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiLCAxKTsKIAogICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5l
bmFibGVFbmhhbmNlZEFjY2Vzc2liaWxpdHkodHJ1ZSk7CiAgICAgICAgIHdlYkFyZWEgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tZWxlbWVudC10YWJiaW5nLXRv
LWxpbmsuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9z
ZWxlY3Rpb24tZWxlbWVudC10YWJiaW5nLXRvLWxpbmsuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLWVsZW1lbnQtdGFiYmlu
Zy10by1saW5rLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KQEAgLTU1LDcgKzU1LDYgQEAKIAogICAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRU
YWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogCiAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsKICAgICAgICAgd2ViQXJl
YSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsK
SW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdGlvbi1ub3RpZmljYXRp
b24tZm9jdXMtY2hhbmdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvc2VsZWN0aW9uLW5vdGlmaWNhdGlvbi1mb2N1cy1jaGFuZ2UuaHRtbAkocmV2aXNp
b24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLW5v
dGlmaWNhdGlvbi1mb2N1cy1jaGFuZ2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQg
QEAKLTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBUYWJzVG9MaW5rcz10cnVlIF0gLS0+CiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBA
IC0zNyw4ICszNyw2IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHJ1
bkZpcnN0VGFiTW92ZVRlc3QoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICAg
ICAgICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5lbmFibGVFbmhhbmNlZEFjY2Vzc2li
aWxpdHkodHJ1ZSk7CiAgICAgICAgICAgICAgICAgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKICAgICAgICAgICAgICAgICB3ZWJB
cmVhLnNldEJvb2xBdHRyaWJ1dGVWYWx1ZSgiQVhDYXJldEJyb3dzaW5nRW5hYmxlZCIsIHRydWUp
CkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90YWItZm9jdXMtcG9zdC1ub3Rp
ZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21h
Yy90YWItZm9jdXMtcG9zdC1ub3RpZmljYXRpb24uaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysg
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdGFiLWZvY3VzLXBvc3Qtbm90aWZpY2F0aW9u
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgXSAtLT4KIDxodG1sPgogPGhl
YWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KQEAgLTI1LDggKzI2LDYgQEAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0YWJiaW5nIGZvY3VzIG9udG8gZWxlbWVudHMgd2lsbCBz
ZW5kIG91dCBub3RpZmljYXRpb25zIik7CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsKIAog
ICAgIHZhciBjb3VudCA9IDA7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWItZm9j
dXMtYW5jaG9yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGFi
LWZvY3VzLWFuY2hvci5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy90YWItZm9jdXMtYW5jaG9yLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0
IEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgVGFic1RvTGlua3M9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgpA
QCAtMTcsNyArMTcsNiBAQCBmdW5jdGlvbiBmYWlsKCkKIAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoJ1dlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5JywgZmFsc2UpOwogfQog
CiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdGFiLWZvY3VzLWxpbmstaW4tY2FudmFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdGFiLWZvY3VzLWxpbmstaW4tY2FudmFzLmh0bWwJKHJldmlzaW9uIDI2
ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYi1mb2N1cy1saW5rLWluLWNhbnZh
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+Cis8
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUg
XSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTE2LDcgKzE2LDYgQEAgZGVzY3JpcHRpb24oIkVuc3Vy
ZXMgdGhhdCB5b3UgY2FuIHRhYiB0bwogCiBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmV2ZW50U2VuZGVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5Iiwg
MSk7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVmb3JlJykuZm9jdXMoKTsKICAg
ICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICciYmVmb3JlIicpOwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi0xc3Qtc3RvcC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
MXN0LXN0b3AuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi0xc3Qtc3RvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9M
aW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAg
PCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5h
dmlnYXRpb24gKFNOYXYpIGFsZ29yaXRobSBmcm9tIGEgbm9uLWZvY3VzIHNjZW5hcmlvLgpAQCAt
MjEsOCArMjIsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNsaXBwZWQtb3ZlcmZs
b3dlZC1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9
dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29y
cmVjdG5lc3Mgb2YgYSBiYXNpYyBhc3BlY3Qgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uIHRyYXZlcnNh
bApAQCAtNDgsOCArNDksNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUtc3BhY2UuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5l
ci1vbmx5LXdoaXRlLXNwYWNlLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUtc3BhY2Uu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0
aGUgY29ycmVjdG5lc3Mgb2YgYSBiYXNpYyBhc3BlY3Qgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uIHRy
YXZlcnNhbApAQCAtMzIsOCArMzMsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLXdoaXRlLXNwYWNlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWlu
ZXItd2hpdGUtc3BhY2UuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1
ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVj
dG5lc3Mgb2YgYSBiYXNpYyBhc3BlY3Qgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uIHRyYXZlcnNhbApA
QCAtNDAsOCArNDEsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmln
YXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtZGlzcGxheS1jb250ZW50cy1jcmFzaC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGlzcGxheS1jb250ZW50
cy1jcmFzaC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWRpc3BsYXktY29udGVudHMtY3Jhc2guaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAt
LT4KIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGNvbnRlbnRzIj48YSBocmVmPSIjIj48L2E+PC9kaXY+
CiBTaG91bGRuJ3QgY3Jhc2guCiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7Ci0gICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7CiB9CiBmdW5jdGlvbiBydW5UZXN0
KCkgewogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGl2LW92ZXJmbG93LXNjcm9sLWhpZGRlbi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
ZGl2LW92ZXJmbG93LXNjcm9sLWhpZGRlbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1vdmVyZmxvdy1zY3JvbC1o
aWRkZW4uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdh
dGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTE4LDggKzE5LDYg
QEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0
cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xp
bmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LWRpdi1zY3JvbGxhYmxlLWJ1dC13aXRob3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtc2Ny
b2xsYWJsZS1idXQtd2l0aG91dC1mb2N1c2FibGUtY29udGVudC5odG1sCShyZXZpc2lvbiAyNjg5
ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1zY3Jv
bGxhYmxlLWJ1dC13aXRob3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxo
dG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIGEg
YmFzaWMgYXNwZWN0IG9mIHNwYXRpYWwgbmF2aWdhdGlvbiB0cmF2ZXJzYWwKQEAgLTQ3LDggKzQ4
LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJU
b0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWZ1bGx5LWFsaWduZWQtaG9yaXpvbnRhbGx5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1mdWxseS1hbGlnbmVkLWhvcml6b250
YWxseS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWZ1bGx5LWFsaWduZWQtaG9yaXpvbnRhbGx5Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAt
LT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNz
IG9mIHRoZSAiRnVsbHkgYWxpZ25lZCIgcHJlY2VkZW5jZQpAQCAtNTMsOCArNTQsNiBAQAogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwot
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9
CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZnVsbHkt
YWxpZ25lZC12ZXJ0aWNhbGx5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1mdWxseS1hbGlnbmVkLXZlcnRpY2FsbHkuaHRtbAkocmV2
aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1mdWxseS1hbGlnbmVkLXZlcnRpY2FsbHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlu
a3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwh
LS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlICJGdWxseSBh
bGlnbmVkIiBwcmVjZWRlbmNlCkBAIC0zMSw4ICszMiw2IEBACiAKICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1
bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsK
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4tZm9jdXNhYmxlLWVsZW1l
bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWhpZGRlbi1mb2N1c2FibGUtZWxlbWVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1mb2N1c2Fi
bGUtZWxlbWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxO
YXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMSw4
ICsxMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1oaWRkZW4taWZyYW1lLXplcm8tc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaGlkZGVuLWlmcmFtZS16ZXJvLXNp
emUuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLXplcm8tc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8
aHRtbD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMSw4ICsxMiw2IEBACiAKICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1
bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsK
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRk
ZW4taWZyYW1lLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaGlkZGVuLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBU
YWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRt
bD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMSw4ICsxMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5n
LXNpbXBsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBl
bnN1cmVzIHRoZSBjcm9zcyBpZnJhbWUgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwg
TmF2aWdhdGlvbgpAQCAtMzAsOCArMzEsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3Rl
ZC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlu
a3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwh
LS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY3Jvc3MgaWZyYW1lIHRyYXZlcnNhbCBjb3Jy
ZWN0bmVzcyBvZiBzcGF0aWFsIG5hdmlnYXRpb246CkBAIC00MCw4ICs0MSw2IEBACiAKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8t
Zm9jdXNhYmxlLWNvbnRlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1mb2N1c2FibGUtY29udGVudC5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWlmcmFtZS1uby1mb2N1c2FibGUtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBiYXNpYyB0cmF2ZXJzYWwgY29ycmVj
dG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC0zNiw4ICszNyw2IEBACiAKICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VL
ZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8tc2Ny
b2xsYWJsZS1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8tc2Nyb2xsYWJsZS1jb250ZW50Lmh0bWwJKHJl
dmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLW5vLXNjcm9sbGFibGUtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBiYXNpYyBpZnJhbWUgdHJhdmVyc2Fs
IGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbgpAQCAtMzcsOCArMzgsNiBAQAogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwot
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9
CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1l
LXJlY3Vyc2l2ZS1vZmZzZXQtcGFyZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtcmVjdXJzaXZlLW9mZnNldC1wYXJl
bnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1pZnJhbWUtcmVjdXJzaXZlLW9mZnNldC1wYXJlbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY3Jvc3MgaWZy
YW1lIHRyYXZlcnNhbCBjb3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24KQEAgLTMwLDgg
KzMxLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRU
YWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWlmcmFtZS13aXRoLW9mZnNjcmVlbi1mb2N1c2FibGUtZWxlbWVudC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1l
LXdpdGgtb2Zmc2NyZWVuLWZvY3VzYWJsZS1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykK
KysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXdpdGgt
b2Zmc2NyZWVuLWZvY3VzYWJsZS1lbGVtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xp
bmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8
IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNyb3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29y
cmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC00Miw4ICs0Myw2IEBACiAKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1h
cmVhLW5vdC1mb2N1c2FibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLWFyZWEtbm90LWZvY3VzYWJsZS5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWltYWdlbWFwLWFyZWEtbm90LWZvY3VzYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPGhlYWQ+CiAKQEAgLTE1LDggKzE2LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLWFyZWEtd2l0aG91dC1pbWFnZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaW1hZ2VtYXAtYXJlYS13aXRob3V0LWltYWdlLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysr
IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtYXJlYS13
aXRob3V0LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KIApAQCAtMTMs
OCArMTQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtaW1hZ2VtYXAtb3ZlcmxhcHBlZC1hcmVhcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtb3ZlcmxhcHBl
ZC1hcmVhcy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLW92ZXJsYXBwZWQtYXJlYXMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGh0bWw+CiAgIDxoZWFkPgogCkBAIC0yMyw4ICsyNCw2IEBACiAKICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
dGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1zaW1wbGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWltYWdlbWFwLXNpbXBsZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLXNpbXBsZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVl
IF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAKQEAgLTIxLDggKzIyLDYgQEAKIAogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlucHV0Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbnB1
dC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LWlucHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUg
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogICA8
aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KQEAgLTUyLDggKzUzLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW1lZGlhLWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tZWRpYS1lbGVtZW50
cy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LW1lZGlhLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCAr
MSw0IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10
cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0yMyw4ICsyMyw2IEBACiAKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LWZvY3Vz
cmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LWZvY3VzcmluZy5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNl
bGVjdC1mb2N1c3JpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9D
VFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8Ym9keT4K
IAogPHNlbGVjdCBpZD0ibXVsdGlzZWxlY3QiIG11bHRpcGxlPSJtdWx0aXBsZSI+CkBAIC03LDEx
ICs3LDYgQEAKIDwvc2VsZWN0PgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNl
S2V5IiwgMSk7Ci19Ci0KIHZhciBtdWx0aXNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdtdWx0aXNlbGVjdCcpOwogCiBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVjdC1vcHRn
cm91cC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LW9wdGdyb3VwLmh0bWwJKHJldmlzaW9uIDI2ODk4MykK
KysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2Vs
ZWN0LW9wdGdyb3VwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0
ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikg
YWxnb3JpdGhtIG92ZXIgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnQuCkBAIC0zMyw4ICszNCw2IEBA
CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1
ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1t
dWx0aXBsZS1zZWxlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVjdC5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNl
bGVjdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1
cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24gKFNOYXYpIGFsZ29yaXRo
bSBvdmVyIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50LgpAQCAtMzMsOCArMzQsNiBAQAogCiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb2Zmc2NyZWVu
LWNvbnRlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LW9mZnNjcmVlbi1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysr
IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb2Zmc2NyZWVuLWNvbnRl
bnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJl
cyB0aGUgY29udGVudCBvdmVyZmxvdyB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBO
YXZpZ2F0aW9uCkBAIC0zNSw4ICszNiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQt
b3ZlcmZsb3ctY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRo
aXMgdGVzdCBlbnN1cmVzIHRoZSBjb250ZW50IG92ZXJmbG93IHRyYXZlcnNhbCBjb3JyZWN0bmVz
cyBvZiBzcGF0aWFsIG5hdmlnYXRpb246CkBAIC0zOCw4ICszOSw2IEBACiAKICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
dGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1yYWRpby1ncm91cC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
cmFkaW8tZ3JvdXAuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1yYWRpby1ncm91cC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBU
YWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRt
bD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBTcGF0
aWFsIE5hdmlnYXRpb24gKFNOYXYpIGFsZ29yaXRobSBvdmVyIHNpbmdsZSBzZWxlY3QgZWxlbWVu
dC4KQEAgLTM2LDggKzM3LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxO
YXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1yYWRpby5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVk
PXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNv
cnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIG92ZXIgc2lu
Z2xlIHNlbGVjdCBlbGVtZW50LgpAQCAtMjgsOCArMjksNiBAQAogCiAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RS
dW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7
CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2VhcmNoLW9wdGltaXphdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtc2VhcmNoLW9wdGltaXphdGlvbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNlYXJjaC1vcHRpbWl6YXRpb24uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUg
b3B0aW1pemF0aW9uIGRvbmUgaW4gc2VhcmNoaW5nIGxvZ2ljIHRvIGZpbmQgYmVzdCBjYW5kaWRh
dGUgZm9jdXNhYmxlIG5vZGUgd2l0aCBtaW5pbXVtIGl0ZXJhdGlvbnMuCkBAIC0yMSw4ICsyMiw2
IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LXNpbXBsZS1jb250ZW50LW92ZXJmbG93Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW1wbGUtY29udGVudC1vdmVy
Zmxvdy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LXNpbXBsZS1jb250ZW50LW92ZXJmbG93Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4K
IDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBvdmVyZmxvd2VkIGNv
bnRlbnQgY2FuIGJlIGZvY3VzZWQgYnkgU3BhdGlhbCBOYXZpZ2F0aW9uLgpAQCAtMzYsOCArMzcs
NiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVk
KHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRv
TGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtc2luZ2xlLXNlbGVjdC1saXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW5nbGUtc2VsZWN0LWxpc3QuaHRtbAkocmV2aXNp
b24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1z
aW5nbGUtc2VsZWN0LWxpc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBU
aGlzIHRlc3QgZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uIChT
TmF2KSBhbGdvcml0aG0gb3ZlciBzaW5nbGUgc2VsZWN0IGxpc3QgZWxlbWVudC4KQEAgLTMzLDgg
KzM0LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRU
YWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXNpbmdsZS1zZWxlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbmdsZS1zZWxlY3QuaHRtbAkocmV2aXNpb24gMjY4
OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW5nbGUt
c2VsZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmln
YXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVu
c3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3Jp
dGhtIG92ZXIgc2luZ2xlIHNlbGVjdCBlbGVtZW50LgpAQCAtMzMsOCArMzQsNiBAQAogCiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdGFibGUtdHJh
dmVyc2FsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi10YWJsZS10cmF2ZXJzYWwuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10YWJsZS10cmF2ZXJzYWwuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUg
YmFzaWMgdGFibGUgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9mCkBAIC0zNCw4ICszNSw2IEBACiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7
Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1By
ZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10ZXh0
YXJlYS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtdGV4dGFyZWEuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10ZXh0YXJlYS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8
IURPQ1RZUEUgaHRtbD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC01NSw4ICs1Niw2IEBACiAKICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VL
ZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRy
YXZlcnNhbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtdGlueS10YWJsZS10cmF2ZXJzYWwuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRy
YXZlcnNhbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBl
bnN1cmVzIHRoZSBiYXNpYyB0YWJsZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YKQEAgLTM3LDgg
KzM4LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRU
YWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0
bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNU
b0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgog
ICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KQEAgLTE2LDggKzE3LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXVuaXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1k
aXJlY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LXVuaXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbAko
cmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi11bml0LW92ZXJmbG93LWFuZC1zY3JvbGwtaW4tZGlyZWN0aW9uLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAt
LT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNz
IHRoZSBmb2xsb3dpbmcgU3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC00Miw4ICs0Myw2IEBACiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0g
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16LWluZGV4
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi16LWluZGV4Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtei1pbmRleC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CkBAIC0xOSw4ICsyMCw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5z
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16ZXJvLW1hcmdpbi1jb250ZW50Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16ZXJv
LW1hcmdpbi1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtemVyby1tYXJnaW4tY29udGVudC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVl
IF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSB0cmF2ZXJz
YWwgY29ycmVjdG5lc3Mgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uOgpAQCAtMzIsOCArMzMsNiBAQAog
CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUp
OwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQ
cmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAg
ICB9CiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xzLWFjY2Vzc2liaWxp
dHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9scy1h
Y2Nlc3NpYmlsaXR5Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL21lZGlh
L21lZGlhLWNvbnRyb2xzLWFjY2Vzc2liaWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgTW9kZXJu
TWVkaWFDb250cm9sc0VuYWJsZWQ9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ9ZmFsc2UgVGFic1Rv
TGlua3M9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8dmlkZW8gaWQ9InZpZGVvIiBjb250cm9scz48L3Zp
ZGVvPgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC0xNSw3ICsxNSw2IEBACiBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyB0aGF0IG1lZGlhIGNvbnRyb2xzIGhhdmUgY29ycmVjdCBhY2Nlc3Np
YmlsaXR5IGluZm9ybWF0aW9uLiIpOwogCiBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlu
a3NQcmVmZXJlbmNlS2V5IiwgMSk7IAogICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZp
ZGVvIiwgImNvbnRlbnQvdGVzdCIpOwogICAgIAogICAgIHZhciB2aWRlb0VsZW1lbnQ7CkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS90YWItZm9jdXMtaW5zaWRlLW1lZGlhLWVsZW1lbnRzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdGFiLWZvY3VzLWluc2lkZS1tZWRpYS1l
bGVtZW50cy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90YWIt
Zm9jdXMtaW5zaWRlLW1lZGlhLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCAr
MSw0IEBACi08IURPQ1RZUEUgaHRtbCE+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBNb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZD1mYWxzZSBdIC0tPgorPCFET0NUWVBFIGh0bWwhPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ9ZmFsc2UgVGFic1Rv
TGlua3M9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8Ym9keT4KIDxhdWRpbyBjb250cm9scz48L2F1ZGlv
Pjx2aWRlbyBjb250cm9scz48L3ZpZGVvPjxicj4KQEAgLTE5LDggKzE5LDYgQEAgZWxzZQogCiBm
dW5jdGlvbiBydW5UZXN0cygpCiB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICBzaG91bGRCZSgnZG9j
dW1lbnQuYm9keS5mb2N1cygpOyBldmVudFNlbmRlci5rZXlEb3duKCJcXHQiKTsgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCcsICdtZWRpYUVsZW1lbnRzWzBdJyk7CiAgICAgc2hvdWxkQmVUcnVlKCdt
ZWRpYUVsZW1lbnRzWzBdIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCcpOwogICAgIHNob3Vs
ZEJlVHJ1ZSgnbWVkaWFFbGVtZW50c1swXS5jb250cm9scycpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412544</attachid>
            <date>2020-10-28 10:36:12 -0700</date>
            <delta_ts>2020-10-28 11:33:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218288-20201028103611.patch</filename>
            <type>text/plain</type>
            <size>69849</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVycmlkZSBNZXRob2Rz
OiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbDoKKyAgICAgICAgVW5pZnkgVGFiVG9MaW5rc0VuYWJsZWQgYW5kIFRhYnNUb0xpbmtzLiBU
YWJUb0xpbmtzRW5hYmxlZCB3YXMgYWRkZWQgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTMyOQorICAgICAgICBhbmQgaGFzIG5ldmVyIGFjdHVhbGx5IGJlZW4g
bmVlZGVkLgorCiAyMDIwLTEwLTI3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkb3B0IHRoZSBVSVBvaW50ZXJJbnRlcmFjdGlvbiBBUEkKSW5kZXg6
IFNvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55
YW1sCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMjA2MiwxNiArMjA2Miw2IEBA
IFN5c3RlbVByZXZpZXdFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxz
ZQogCi0jIEZJWE1FOiBUaGlzIHNob3VsZCBiZSByZWNvbmNpbGVkIHdpdGggJ1RhYnNUb0xpbmtz
Jy4KLVRhYlRvTGlua3NFbmFibGVkOgotICB0eXBlOiBib29sCi0gIHdlYmNvcmVCaW5kaW5nOiBu
b25lCi0gIGV4cG9zZWQ6IFsgV2ViS2l0IF0KLSAgZGVmYXVsdFZhbHVlOgotICAgIFdlYktpdDoK
LSAgICAgIGRlZmF1bHQ6IGZhbHNlCi0KLSMgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlY29uY2ls
ZWQgd2l0aCAnVGFiVG9MaW5rc0VuYWJsZWQnLgogVGFic1RvTGlua3M6CiAgIHR5cGU6IGJvb2wK
ICAgd2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleTogV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VL
ZXkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTEwLTI4ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgUHJlZmVyZW5jZSBPdmVy
cmlkZSBNZXRob2RzOiBUYWJzVG9MaW5rcy9TcGF0aWFsTmF2aWdhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mjg4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBSZW1vdmVzIFdLUHJlZmVyZW5jZXNHZXQv
U2V0VGFiVG9MaW5rc0VuYWJsZWQgcHJlZmVyZW5jZSBhcyBpdCBkdXBsaWNhdGVzIGZ1bmN0aW9u
YWxpdHkgb2YgCisgICAgICAgIFdLUHJlZmVyZW5jZXNHZXQvU2V0VGFic1RvTGlua3MuIFRoZSBm
b3JtZXIgd2FzIGFkZGVkIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTUzMjkKKyAgICAgICAgYnV0IHdhcyByZWR1bmRhbnQgZXZlbiBhdCB0aGUgdGltZS4gV2Ug
Y2FuIG5vdyB1c2UgdGVzdCBoZWFkZXIgY29tbWFuZHMgZm9yIGFsbCBvZiBpdHMKKyAgICAgICAg
dXNlIGNhc2VzLgorICAgICAgICAKKyAgICAgICAgQWxzbyByZW1vdmVzIHRlc3Rpbmcgb25seSBi
dW5kbGUgU1BJIGZvciBlbmFibGluZyBzcGF0aWFsIG5hdmlnYXRpb24gd2hpY2ggYWxzbyBjYW4g
YmUKKyAgICAgICAgc2V0IHZpYSB0ZXN0IGhlYWRlcnMgaW5zdGVhZC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRUYWJUb0xpbmtzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
VGFiVG9MaW5rc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwOgorICAgICAgICAoV0tCdW5kbGVTZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRUYWJUb0xpbmtzRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnRhYlRvTGlua3NFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKwogMjAy
MC0xMC0yOCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEs0XSBCdWlsZCBicm9rZW4gd2l0aCBHVEsgMy45OS4zCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24g
MjY5MTA1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNDYsMTYgKzEwNDYsNiBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRBcnRpZmljaWFsUGx1Z2luSW5pCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPmFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZCgpOwogfQogCi12
b2lkIFdLUHJlZmVyZW5jZXNTZXRUYWJUb0xpbmtzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCi17Ci0gICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0VGFiVG9MaW5rc0VuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNl
c0dldFRhYlRvTGlua3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCi17
Ci0gICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnRhYlRvTGlua3NFbmFibGVkKCk7
Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKICAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZChlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2aXNpb24gMjY5MTA1KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMjQwLDEwICsyNDAsNiBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0UGx1Z2luU2FuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXJ0aWZp
Y2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0QXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxzZQotV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFRhYlRvTGlua3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0VGFiVG9MaW5rc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7
Ci0KIC8vIERlZmF1bHRzIHRvIHRydWUKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJ
bnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldElu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyNjkxMDUpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsMTIgKzE1NCw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6
Om92ZXJyaWRlQm9vbFByZWZlcmUKIHsKICAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMg
PSBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCk7
CiAKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
KSB7Ci0gICAgICAgIFdlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojp0YWJzVG9MaW5rc0tleSgpLCBlbmFibGVkKTsKLSAgICAgICAg
Zm9yIChhdXRvKiBwYWdlIDogcGFnZXMpCi0gICAgICAgICAgICBXZWJQYWdlOjpmcm9tQ29yZVBh
Z2UoKnBhZ2UpLnNldFRhYlRvTGlua3NFbmFibGVkKGVuYWJsZWQpOwotICAgIH0KLQogICAgIGlm
IChwcmVmZXJlbmNlID09ICJXZWJLaXQyQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25F
bmFibGVkIikgewogICAgICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpvdmVycmlkZUJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRp
b25FbmFibGVkS2V5KCksIGVuYWJsZWQpOwogICAgICAgICBmb3IgKGF1dG8qIHBhZ2UgOiBwYWdl
cykKQEAgLTM1OCwxMyArMzUyLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QXV0aG9yQW5k
VXNlclN0eQogICAgICAgICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldEF1dGhvckFuZFVzZXJTdHls
ZXNFbmFibGVkKGVuYWJsZWQpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlOjpzZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFi
bGVkKQotewotICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IFBhZ2VHcm91cDo6cGFn
ZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+cGFnZXMoKTsKLSAgICBmb3IgKEhhc2hT
ZXQ8UGFnZSo+OjppdGVyYXRvciBpdGVyID0gcGFnZXMuYmVnaW4oKTsgaXRlciAhPSBwYWdlcy5l
bmQoKTsgKytpdGVyKQotICAgICAgICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6YWRkT3Jp
Z2luQWNjZXNzQWxsb3dMaXN0RW50cnkoY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0
IFN0cmluZyYgZGVzdGluYXRpb25Qcm90b2NvbCwgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvbkhv
c3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpCiB7CiAgICAgU2VjdXJpdHlQb2xp
Y3k6OmFkZE9yaWdpbkFjY2Vzc0FsbG93bGlzdEVudHJ5KFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
cm9tU3RyaW5nKHNvdXJjZU9yaWdpbikuZ2V0KCksIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGRlc3Rp
bmF0aW9uSG9zdCwgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChX
ZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJT
dHlsZXNFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lk
IGFkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wpOwogICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxs
b3dMaXN0RW50cnkoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwg
Ym9vbCk7CiAgICAgdm9pZCByZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMoKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlLmNwcAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTY5LDExICsxNjksNiBAQCB2b2lkIFdLQnVuZGxlU2V0QXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsCiAgICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+c2V0QXV0aG9yQW5kVXNlclN0eWxl
c0VuYWJsZWQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CiB9CiAKLXZv
aWQgV0tCdW5kbGVTZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKLXsK
LSAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgV0tC
dW5kbGVBZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXS0J1bmRsZVJlZiBidW5kbGVSZWYs
IFdLU3RyaW5nUmVmIHNvdXJjZU9yaWdpbiwgV0tTdHJpbmdSZWYgZGVzdGluYXRpb25Qcm90b2Nv
bCwgV0tTdHJpbmdSZWYgZGVzdGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRpb25TdWJk
b21haW5zKQogewogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPmFkZE9yaWdpbkFjY2Vz
c0FsbG93TGlzdEVudHJ5KFdlYktpdDo6dG9XVEZTdHJpbmcoc291cmNlT3JpZ2luKSwgV2ViS2l0
Ojp0b1dURlN0cmluZyhkZXN0aW5hdGlvblByb3RvY29sKSwgV2ViS2l0Ojp0b1dURlN0cmluZyhk
ZXN0aW5hdGlvbkhvc3QpLCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRG
cmFtZUZsYXR0ZW5pbgogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRKYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRQb3B1cEJs
b2NraW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QXV0aG9y
QW5kVXNlclN0eWxlc0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFn
ZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVu
ZGxlQWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1N0
cmluZ1JlZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCBib29sKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlUmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoV0tCdW5kbGVSZWYgYnVu
ZGxlLCBXS1N0cmluZ1JlZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCBib29sKTsKIFdLX0VY
UE9SVCB2b2lkIFdLQnVuZGxlUmVzZXRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RzKFdLQnVuZGxlUmVm
IGJ1bmRsZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCShyZXZpc2lvbiAyNjkxMDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNzUsOCArMTA3NSw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZEZvckFs
bFBsdWdpbnMoYm9vbCBlbmFibGVkKSB7IG1fYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRp
b25FbmFibGVkRm9yQWxsUGx1Z2lucyA9IGVuYWJsZWQ7IH0KICAgICBib29sIGFydGlmaWNpYWxQ
bHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJ0aWZp
Y2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRBcnRp
ZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1f
YXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkID0gZW5hYmxlZDsgfQot
ICAgIHZvaWQgc2V0VGFiVG9MaW5rc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fdGFiVG9MaW5r
cyA9IGVuYWJsZWQ7IH0KLSAgICBib29sIHRhYlRvTGlua3NFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV90YWJUb0xpbmtzOyB9CiAKICAgICBib29sIHNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0Vu
YWJsZWQ7IH0KICAgICB2b2lkIHNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQo
Ym9vbCk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNjkxMDYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzNiBAQAorMjAyMC0xMC0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmVkdWNlIFByZWZlcmVuY2UgT3ZlcnJpZGUgTWV0aG9kczogVGFic1Rv
TGlua3MvU3BhdGlhbE5hdmlnYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24u
CisKKyAgICAgICAgUmVwbGFjZSB1c2VzIG9mIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIC4uLikgYW5kCisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKC4uLikgd2l0aCB0ZXN0IGhlYWRlciBj
b21tYW5kcywgaGVscGluZyB0byByZWR1Y2UKKyAgICAgICAgdGhlIG51bWJlciBvZiBkaWZmZXJl
bnQgd2F5cyB3ZSBoYXZlIHRvIG92ZXJyaWRlIHByZWZlcmVuY2VzIGluIExheW91dFRlc3RzLgor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoV1RS
OjpUZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RS
dW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAg
ICAgKHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1Rv
Q29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5u
ZXJNYWMubW06CisgICAgICAgIChUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToK
KyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
Lmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFs
dWVzKToKKwogMjAyMC0xMC0yOCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW2V3c10gRW5zdXJlIHRoYXQgdWF0IGluc3RhbmNlIGRvZXNuJ3Qgc2VuZCBl
bWFpbHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAJKHJldmlzaW9uIDI2
OTEwNSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjIsNiArNjIsOCBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpk
ZWZhdWx0CiAgICAgICAgICAgICB7ICJLZXlnZW5FbGVtZW50RW5hYmxlZCIsIGZhbHNlIH0sCiAg
ICAgICAgICAgICB7ICJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFsc2UgfSwKICAgICAgICAg
ICAgIHsgIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIiwgdHJ1ZSB9LAorICAgICAgICAgICAg
eyAiU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkIiwgZmFsc2UgfSwKKyAgICAgICAgICAgIHsgIlRh
YnNUb0xpbmtzIiwgZmFsc2UgfSwKIAogICAgICAgICAgICAgeyAiQ1NTTG9naWNhbEVuYWJsZWQi
LCBmYWxzZSB9LAogICAgICAgICAgICAgeyAiTGluZUhlaWdodFVuaXRzRW5hYmxlZCIsIGZhbHNl
IH0sCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMjY5MTA1
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTExNTQsMTggKzExNTQsNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRYU1NBdWRpdG9yRW5h
YmxlZENhCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCi1z
dGF0aWMgSlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRDYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAmIHdpbmRvd3MgaW1w
bGVtZW50YXRpb24uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAgICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBUZXN0UnVubmVyKiBjb250cm9s
bGVyID0gc3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2Jq
ZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKEpTVmFs
dWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFByaW50
aW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBK
U09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1
ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIFRlc3RSdW5u
ZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2
YXRlKHRoaXNPYmplY3QpKTsKQEAgLTIyMDUsNyArMjE5Myw2IEBAIGNvbnN0IEpTU3RhdGljRnVu
Y3Rpb24qIFRlc3RSdW5uZXI6OnN0YXQKICAgICAgICAgeyAic2V0U2hvdWxkU3dhcFRvRXBoZW1l
cmFsU2Vzc2lvbk9uTmV4dE5hdmlnYXRpb24iLCBzZXRTaG91bGRTd2FwVG9FcGhlbWVyYWxTZXNz
aW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNob3Vs
ZFN3YXBUb0RlZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbiIsIHNldFNob3VsZFN3YXBUb0Rl
ZmF1bHRTZXNzaW9uT25OZXh0TmF2aWdhdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
InNldFNlcmlhbGl6ZUhUVFBMb2FkcyIsIHNldFNlcmlhbGl6ZUhUVFBMb2Fkc0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCi0gICAgICAgIHsgInNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCIsIHNldFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFN0b3BQ
cm92aXNpb25hbEZyYW1lTG9hZHMiLCBzZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzIiwg
c2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAkocmV2aXNp
b24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjYsNyArMTI2LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclN0eWxl
U2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKICAgICB2b2lkIHNldFZhbHVlRm9yVXNl
cihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFsdWUp
OwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2b2lkIHNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFNjcm9sbGJhclBv
bGljeShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9saWN5KTsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgc2V0VGVsZXBob25lTnVtYmVyUGFyc2luZ0Vu
YWJsZWQoYm9vbCBlbmFibGUpOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04NzEsOSArODcxLDYgQEAg
c3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIFtwcmVmZXJlbmNl
cyBzZXRKYXZhRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEphdmFTY3JpcHRFbmFi
bGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yOldlYktp
dEVkaXRhYmxlTGlua09ubHlMaXZlV2l0aFNoaWZ0S2V5XTsKLSNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICBbcHJlZmVyZW5jZXMgc2V0VGFic1RvTGlua3M6Tk9dOwotI2VuZGlmCiAgICAg
W3ByZWZlcmVuY2VzIHNldERPTVBhc3RlQWxsb3dlZDpZRVNdOwogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIFtwcmVmZXJlbmNlcyBzZXRTaG91bGRQcmludEJhY2tncm91bmRzOllFU107
CkBAIC04OTgsNyArODk1LDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29u
c2lzdAogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2Fk
aW5nUHJlZmVyZW5jZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZzpX
ZWJLaXRGcmFtZUZsYXR0ZW5pbmdEaXNhYmxlZF07CiAgICAgW3ByZWZlcmVuY2VzIHNldEFzeW5j
RnJhbWVTY3JvbGxpbmdFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0U3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TWV0YVJlZnJlc2hFbmFi
bGVkOllFU107CiAKICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24pIHsK
SW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCShyZXZpc2lv
biAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtNTE1LDExICs1MTUsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKGJvCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2Vz
XSBzZXRYU1NBdWRpdG9yRW5hYmxlZDplbmFibGVkXTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpz
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFtbW21haW5G
cmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOmVu
YWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJv
bUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJl
ZmVyZW5jZXNdIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzOmVuYWJsZWRdOwpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZp
c2lvbiAyNjkxMDUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjIsNyArODYyLDYgQEAgc3RhdGljIHZvaWQgcmVzZXRX
ZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogICAgIHByZWZlcmVuY2VzLT5zZXRKYXZhRW5hYmxlZChG
QUxTRSk7CiAgICAgcHJlZmVyZW5jZXMtPnNldEphdmFTY3JpcHRFbmFibGVkKFRSVUUpOwogICAg
IHByZWZlcmVuY2VzLT5zZXRFZGl0YWJsZUxpbmtCZWhhdmlvcihXZWJLaXRFZGl0YWJsZUxpbmtP
bmx5TGl2ZVdpdGhTaGlmdEtleSk7Ci0gICAgcHJlZmVyZW5jZXMtPnNldFRhYnNUb0xpbmtzKEZB
TFNFKTsKICAgICBwcmVmZXJlbmNlcy0+c2V0RE9NUGFzdGVBbGxvd2VkKFRSVUUpOwogICAgIHBy
ZWZlcmVuY2VzLT5zZXRTaG91bGRQcmludEJhY2tncm91bmRzKFRSVUUpOwogICAgIHByZWZlcmVu
Y2VzLT5zZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIpOwpAQCAtODg0
LDcgKzg4Myw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAg
ICBwcmVmZXJlbmNlcy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KFRSVUUpOwogICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVu
Y2UoRkFMU0UpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChG
QUxTRSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoRkFM
U0UpOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbikgewogICAgICAg
ICBzaXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgocGVyc2lzdGVudFVzZXJT
dHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpOwogICAgICAgICBWZWN0b3I8VW5pQ2hhcj4gdXJsQ2hh
cmFjdGVycyhzdHJpbmdMZW5ndGggKyAxLCAwKTsKQEAgLTkyNyw2ICs5MjUsNyBAQCBzdGF0aWMg
dm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpCiAgICAgQ09NUHRyPElXZWJQcmVmZXJl
bmNlc1ByaXZhdGU4PiBwcmVmc1ByaXZhdGUgeyBRdWVyeSwgcHJlZmVyZW5jZXMgfTsKIAogICAg
IHByZWZlcmVuY2VzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG9wdGlvbnMudXNlRXBoZW1l
cmFsU2Vzc2lvbigpKTsKKwogICAgIHByZWZlcmVuY2VzLT5zZXRVc2VzUGFnZUNhY2hlKGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJVc2VzQmFja0ZvcndhcmRDYWNoZSIsIGZhbHNlLCBv
cHRpb25zKSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRNZW51SXRlbUVsZW1lbnRFbmFibGVkKGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFs
c2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldEtleWdlbkVsZW1lbnRFbmFibGVk
KGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50RW5hYmxlZCIsIGZh
bHNlLCBvcHRpb25zKSk7CkBAIC05MzcsNiArOTM2LDggQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJl
ZmVyZW5jZXNGb3JUZXN0T3B0aQogICAgIHByZWZzUHJpdmF0ZS0+c2V0Q29udGFjdFBpY2tlckFQ
SUVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNvbnRhY3RQaWNrZXJBUElF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldEFsbG93VG9w
TmF2aWdhdGlvblRvRGF0YVVSTHMoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFsbG93
VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0cnVlLCBvcHRpb25zKSk7CiAgICAgcHJlZnNQcml2
YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNl
RmVhdHVyZVZhbHVlKCJDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkIiwgZmFsc2UsIG9w
dGlvbnMpKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkIiwg
ZmFsc2UsIG9wdGlvbnMpKTsKKyAgICBwcmVmZXJlbmNlcy0+c2V0VGFic1RvTGlua3MoYm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlRhYnNUb0xpbmtzIiwgZmFsc2UsIG9wdGlvbnMpKTsK
IH0KIAogc3RhdGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKSW5kZXg6IFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTQ2LDIzICs1NDYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJv
CiAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVkKTsKIH0KIAot
dm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVk
KQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAoRkFJTEVEKGZyYW1l
LT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2Vi
UHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVy
ZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2Vi
UHJlZmVyZW5jZXNQcml2YXRlNj4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVmZXJlbmNlcyk7Ci0g
ICAgaWYgKCFwcmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIHByZWZzUHJpdmF0
ZS0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RS
dW5uZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkK
IHsKICAgICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3Miw3
ICs4NzIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9DCiAgICAg
V0tQcmVmZXJlbmNlc1NldEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZChw
cmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRBc3luY2hyb25vdXNQbHVn
aW5Jbml0aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zKHByZWZlcmVuY2VzLCBmYWxzZSk7
CiAgICAgV0tQcmVmZXJlbmNlc1NldEFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5
RW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotICAgIFdLUHJlZmVyZW5jZXNTZXRUYWJUb0xp
bmtzRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOworICAgIFdLUHJlZmVyZW5jZXNTZXRUYWJz
VG9MaW5rcyhwcmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRJbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVm
ZXJlbmNlc1NldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAg
ICAgV0tQcmVmZXJlbmNlc1NldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChwcmVmZXJlbmNl
cywgdHJ1ZSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjY5MTA1KQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ5OCw3ICs0OTgsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcoV0tEaWN0CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxl
ZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAgICBXS0J1bmRs
ZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUobV9idW5kbGUsIG1fcGFnZUdyb3VwLCA5KTsKLSAg
ICBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3Jv
dXAsIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyht
X2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0UG9wdXBCbG9ja2lu
Z0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7CiAgICAgV0tCdW5kbGVTZXRB
bGxvd1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTFMobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxz
ZSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAJKHJldmlzaW9uIDI2OTEwNSkKKysrIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg5
OSwxMiArODk5LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aQog
ICAgICAgICBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQodHJ1ZSk7CiB9CiAKLXZvaWQgVGVzdFJ1
bm5lcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBh
dXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKTsKLSAgICBX
S0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChpbmplY3RlZEJ1bmRsZS5idW5kbGUo
KSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RS
dW5uZXI6OnNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sIGVuYWJsZWQpCiB7CiAg
ICAgV0tCdW5kbGVTZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBwYWdlKCksIGVuYWJsZWQpOwpJbmRleDogVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlz
aW9uIDI2OTEwNSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDYgQEAgcHVibGljOgogICAg
IHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoSlNTdHJpbmdSZWYgc291cmNl
T3JpZ2luLCBKU1N0cmluZ1JlZiBkZXN0aW5hdGlvblByb3RvY29sLCBKU1N0cmluZ1JlZiBkZXN0
aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHZvaWQg
c2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hl
ZXRMb2NhdGlvbihKU1N0cmluZ1JlZik7Ci0gICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9v
bCk7CiAgICAgdm9pZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKICAgICB2b2lkIGRpc3BhdGNo
UGVuZGluZ0xvYWRSZXF1ZXN0cygpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCShy
ZXZpc2lvbiAyNjkxMDUpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw2IEBA
IGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB1bmRlZmluZWQgcmVtb3ZlT3JpZ2luQWNjZXNz
QWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0
aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0
aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHVuZGVmaW5lZCBzZXRVc2VyU3R5bGVTaGVldEVuYWJs
ZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdW5kZWZpbmVkIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRp
b24oRE9NU3RyaW5nIGxvY2F0aW9uKTsKLSAgICB1bmRlZmluZWQgc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHVuZGVmaW5lZCBzZXRUYWJLZXlDeWNsZXNU
aHJvdWdoRWxlbWVudHMoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmluZWQgc2V0U2VyaWFs
aXplSFRUUExvYWRzKCk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoUGVuZGluZ0xvYWRSZXF1ZXN0
cygpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5MTA1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjAtMTAtMjggIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlZHVjZSBQcmVmZXJlbmNlIE92ZXJyaWRl
IE1ldGhvZHM6IFRhYnNUb0xpbmtzL1NwYXRpYWxOYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAuLi4pIGFu
ZAorICAgICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCguLi4pIHdp
dGggdGVzdCBoZWFkZXIgY29tbWFuZHMsIGhlbHBpbmcgdG8gcmVkdWNlCisgICAgICAgIHRoZSBu
dW1iZXIgb2YgZGlmZmVyZW50IHdheXMgd2UgaGF2ZSB0byBvdmVycmlkZSBwcmVmZXJlbmNlcyBp
biBMYXlvdXRUZXN0cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL2NhcmV0LWJyb3dz
aW5nLXRhYi1zZWxlY3Rpb24uaHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9mb2N1
cy1zZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNsZWFyaW5nLmh0bWw6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLWVsZW1lbnQtdGFiYmluZy10by1saW5r
Lmh0bWw6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLW5vdGlmaWNhdGlv
bi1mb2N1cy1jaGFuZ2UuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90YWItZm9j
dXMtcG9zdC1ub3RpZmljYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90YWItZm9j
dXMtYW5jaG9yLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvdGFiLWZvY3VzLWxpbmstaW4t
Y2FudmFzLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi0xc3Qt
c3RvcC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBl
ZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWNvbnRhaW5lci1vbmx5LXdoaXRlLXNwYWNlLmh0bWw6CisgICAgICAgICogZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpc3BsYXktY29udGVudHMtY3Jh
c2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1vdmVy
Zmxvdy1zY3JvbC1oaWRkZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWRpdi1zY3JvbGxhYmxlLWJ1dC13aXRob3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWw6
CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1mdWxseS1hbGlnbmVkLWhv
cml6b250YWxseS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
ZnVsbHktYWxpZ25lZC12ZXJ0aWNhbGx5Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1oaWRkZW4tZm9jdXNhYmxlLWVsZW1lbnQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1pZnJhbWUtemVyby1zaXplLmh0bWw6
CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLmh0
bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LWlmcmFtZS1uZXN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWlmcmFtZS1uby1mb2N1c2FibGUtY29udGVudC5odG1sOgorICAgICAgICAqIGZhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5vLXNjcm9sbGFibGUtY29udGVudC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXJlY3Vyc2l2ZS1v
ZmZzZXQtcGFyZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1pZnJhbWUtd2l0aC1vZmZzY3JlZW4tZm9jdXNhYmxlLWVsZW1lbnQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLWFyZWEtbm90LWZvY3VzYWJs
ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAt
YXJlYS13aXRob3V0LWltYWdlLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pbWFnZW1hcC1vdmVybGFwcGVkLWFyZWFzLmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlucHV0Lmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1tZWRpYS1lbGVtZW50cy5odG1sOgorICAgICAgICAqIGZh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LWZvY3VzcmluZy5odG1s
OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0
LW9wdGdyb3VwLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1t
dWx0aXBsZS1zZWxlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LW9mZnNjcmVlbi1jb250ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC5odG1sOgorICAgICAgICAq
IGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtcmFkaW8tZ3JvdXAuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0bWw6CisgICAgICAgICogZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zZWFyY2gtb3B0aW1pemF0aW9uLmh0bWw6CisgICAg
ICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW1wbGUtY29udGVudC1vdmVyZmxv
dy5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2luZ2xlLXNl
bGVjdC1saXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1z
aW5nbGUtc2VsZWN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di10YWJsZS10cmF2ZXJzYWwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LXRleHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi10aW55LXRhYmxlLXRyYXZlcnNhbC5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0bWw6CisgICAgICAgICogZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi11bml0LW92ZXJmbG93LWFuZC1zY3JvbGwtaW4tZGly
ZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16LWlu
ZGV4Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16ZXJvLW1h
cmdpbi1jb250ZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvbWVkaWEtY29udHJvbHMtYWNjZXNz
aWJpbGl0eS5odG1sOgorICAgICAgICAqIG1lZGlhL3RhYi1mb2N1cy1pbnNpZGUtbWVkaWEtZWxl
bWVudHMuaHRtbDoKKwogMjAyMC0xMC0yOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gTXVsdGktY2hhbm5lbCAoPjIpIHN1cHBv
cnQgZm9yIHRoZSBBdWRpb0ZpbGVSZWFkZXIKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvbWFjL2NhcmV0LWJyb3dzaW5nLXRhYi1zZWxlY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9jYXJldC1icm93c2luZy10YWItc2VsZWN0aW9u
Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L2NhcmV0LWJyb3dzaW5nLXRhYi1zZWxlY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CkBAIC0xMiw4ICsxMiw2IEBACiAgICAgPHNjcmlwdD4KICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyBjYXJldCBicm93c2luZyBmb3IgaHRtbCBzZWxlY3QgZWxlbWVudHMuIik7CiAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIgJiYgd2luZG93LmV2ZW50U2VuZGVyKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy9mb2N1cy1zZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNs
ZWFyaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
Zm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5nLW5vdC1jbGVhcmluZy5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9mb2N1cy1z
ZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNsZWFyaW5nLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIF0gLS0+CiA8aHRt
bD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KQEAgLTYxLDcgKzYxLDYgQEAKIAogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIs
IDEpOwogCiAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNj
ZXNzaWJpbGl0eSh0cnVlKTsKICAgICAgICAgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3NlbGVjdGlvbi1lbGVtZW50LXRhYmJpbmctdG8tbGluay5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdGlvbi1lbGVtZW50
LXRhYmJpbmctdG8tbGluay5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tZWxlbWVudC10YWJiaW5nLXRvLWxpbmsuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgXSAt
LT4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgpAQCAtNTUsNyArNTUsNiBAQAogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcikgewogICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJl
bmNlS2V5IiwgMSk7CiAKICAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZW5hYmxlRW5o
YW5jZWRBY2Nlc3NpYmlsaXR5KHRydWUpOwogICAgICAgICB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwpJbmRleDogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLW5vdGlmaWNhdGlvbi1mb2N1cy1jaGFuZ2Uu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rp
b24tbm90aWZpY2F0aW9uLWZvY3VzLWNoYW5nZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tbm90aWZpY2F0aW9uLWZvY3Vz
LWNoYW5nZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0
bWw+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtz
PXRydWUgXSAtLT4KIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTM3LDggKzM3LDYgQEAK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gcnVuRmlyc3RUYWJNb3ZlVGVz
dCgpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAgICAgICAgICAgICAgIGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eSh0cnVlKTsKICAg
ICAgICAgICAgICAgICB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1l
bnQuY2hpbGRBdEluZGV4KDApOwogICAgICAgICAgICAgICAgIHdlYkFyZWEuc2V0Qm9vbEF0dHJp
YnV0ZVZhbHVlKCJBWENhcmV0QnJvd3NpbmdFbmFibGVkIiwgdHJ1ZSkKSW5kZXg6IExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RhYi1mb2N1cy1wb3N0LW5vdGlmaWNhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RhYi1mb2N1cy1wb3N0
LW5vdGlmaWNhdGlvbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy90YWItZm9jdXMtcG9zdC1ub3RpZmljYXRpb24uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtMjUsOCArMjYs
NiBAQCB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IHRhYmJpbmcgZm9jdXMgb250byBlbGVtZW50cyB3aWxsIHNlbmQgb3V0IG5vdGlmaWNh
dGlvbnMiKTsKIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgewotCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHRydWUpOwogCiAgICAgdmFyIGNvdW50ID0g
MDsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWItZm9jdXMtYW5jaG9yLmh0
bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYi1mb2N1
cy1hbmNob3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBo
dG1sPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5r
cz1mYWxzZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+CkBAIC0xNyw3ICsxNyw2IEBA
IGZ1bmN0aW9uIGZhaWwoKQogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXknLCBmYWxzZSk7CiB9CiAKIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWItZm9jdXMtbGlu
ay1pbi1jYW52YXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
YWItZm9jdXMtbGluay1pbi1jYW52YXMuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdGFiLWZvY3VzLWxpbmstaW4tY2FudmFzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8
aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgpAQCAtMTYsNyArMTYsNiBAQCBkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHlvdSBjYW4g
dGFiIHRvCiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKIAogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdiZWZvcmUnKS5mb2N1cygpOwogICAgIHNob3VsZEJlKCdkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJyJiZWZvcmUiJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LTFzdC1zdG9wLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi0xc3Qtc3RvcC5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LTFzdC1zdG9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0
ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikg
YWxnb3JpdGhtIGZyb20gYSBub24tZm9jdXMgc2NlbmFyaW8uCkBAIC0yMSw4ICsyMiw2IEBACiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7
Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1By
ZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAg
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlw
cGVkLW92ZXJmbG93ZWQtY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRt
bAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBU
YWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRt
bD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBhIGJh
c2ljIGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVyc2FsCkBAIC00OCw4ICs0OSw2
IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQo
dHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9M
aW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1jb250YWluZXItb25seS13aGl0ZS1zcGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY29udGFpbmVyLW9ubHktd2hpdGUtc3Bh
Y2UuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1jb250YWluZXItb25seS13aGl0ZS1zcGFjZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+
CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBv
ZiBhIGJhc2ljIGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVyc2FsCkBAIC0zMiw4
ICszMyw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1jb250YWluZXItd2hpdGUtc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNvbnRhaW5lci13aGl0ZS1zcGFjZS5o
dG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWNvbnRhaW5lci13aGl0ZS1zcGFjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBhIGJhc2lj
IGFzcGVjdCBvZiBzcGF0aWFsIG5hdmlnYXRpb24gdHJhdmVyc2FsCkBAIC00MCw4ICs0MSw2IEBA
CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1
ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1k
aXNwbGF5LWNvbnRlbnRzLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXNwbGF5LWNvbnRlbnRzLWNyYXNoLmh0bWwJKHJl
dmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtZGlzcGxheS1jb250ZW50cy1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsx
LDkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlu
a3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGRpdiBzdHlsZT0i
ZGlzcGxheTogY29udGVudHMiPjxhIGhyZWY9IiMiPjwvYT48L2Rpdj4KIFNob3VsZG4ndCBjcmFz
aC4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFi
VG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKLSAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZCh0cnVlKTsKIH0KIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgewpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1kaXYtb3ZlcmZsb3ctc2Nyb2wtaGlkZGVuLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtb3ZlcmZsb3ctc2Ny
b2wtaGlkZGVuLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtZGl2LW92ZXJmbG93LXNjcm9sLWhpZGRlbi5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPGh0bWw+Cis8aHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUg
XSAtLT4KIDxoZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3BhdGlhbC1uYXZp
Z2F0aW9uLXV0aWxzLmpzIj48L3NjcmlwdD4KQEAgLTE4LDggKzE4LDYgQEAKIAogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1zY3JvbGxhYmxl
LWJ1dC13aXRob3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtc2Nyb2xsYWJsZS1idXQtd2l0
aG91dC1mb2N1c2FibGUtY29udGVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWRpdi1zY3JvbGxhYmxlLWJ1dC13aXRo
b3V0LWZvY3VzYWJsZS1jb250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBA
Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRy
dWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAg
ICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIGEgYmFzaWMgYXNwZWN0IG9m
IHNwYXRpYWwgbmF2aWdhdGlvbiB0cmF2ZXJzYWwKQEAgLTQ3LDggKzQ4LDYgQEAKIAogICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5j
ZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWZ1bGx5LWFsaWdu
ZWQtaG9yaXpvbnRhbGx5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1mdWxseS1hbGlnbmVkLWhvcml6b250YWxseS5odG1sCShyZXZp
c2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LWZ1bGx5LWFsaWduZWQtaG9yaXpvbnRhbGx5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xp
bmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8
IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSAiRnVsbHkg
YWxpZ25lZCIgcHJlY2VkZW5jZQpAQCAtNTMsOCArNTQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RS
dW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7
CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtZnVsbHktYWxpZ25lZC12ZXJ0aWNh
bGx5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1mdWxseS1hbGlnbmVkLXZlcnRpY2FsbHkuaHRtbAkocmV2aXNpb24gMjY4OTgzKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1mdWxseS1hbGlnbmVk
LXZlcnRpY2FsbHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRl
c3QgZW5zdXJlcyB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlICJGdWxseSBhbGlnbmVkIiBwcmVjZWRl
bmNlCkBAIC0zMSw4ICszMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4tZm9jdXNhYmxlLWVsZW1lbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1m
b2N1c2FibGUtZWxlbWVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWhpZGRlbi1mb2N1c2FibGUtZWxlbWVudC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMSw4ICsxMiw2IEBACiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0g
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4t
aWZyYW1lLXplcm8tc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaGlkZGVuLWlmcmFtZS16ZXJvLXNpemUuaHRtbAkocmV2aXNp
b24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1o
aWRkZW4taWZyYW1lLXplcm8tc2l6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBA
QAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10
cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+
CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CkBAIC0xMSw4ICsxMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1oaWRkZW4taWZyYW1lLmh0bWwJ
KHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaGlkZGVuLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAor
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVl
IFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CkBAIC0xMSw4ICsxMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10
cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjcm9z
cyBpZnJhbWUgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbgpAQCAt
MzAsOCArMzEsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCShyZXZpc2lv
biAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlm
cmFtZS1uZXN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRl
c3QgZW5zdXJlcyB0aGUgY3Jvc3MgaWZyYW1lIHRyYXZlcnNhbCBjb3JyZWN0bmVzcyBvZiBzcGF0
aWFsIG5hdmlnYXRpb246CkBAIC00MCw4ICs0MSw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8tZm9jdXNhYmxlLWNvbnRl
bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWlmcmFtZS1uby1mb2N1c2FibGUtY29udGVudC5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uby1m
b2N1c2FibGUtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRo
aXMgdGVzdCBlbnN1cmVzIHRoZSBiYXNpYyB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlh
bCBOYXZpZ2F0aW9uCkBAIC0zNiw4ICszNyw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5z
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbm8tc2Nyb2xsYWJsZS1jb250ZW50
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtbm8tc2Nyb2xsYWJsZS1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykK
KysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5vLXNj
cm9sbGFibGUtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRo
aXMgdGVzdCBlbnN1cmVzIHRoZSBiYXNpYyBpZnJhbWUgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9m
IFNwYXRpYWwgTmF2aWdhdGlvbgpAQCAtMzcsOCArMzgsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RS
dW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7
CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXJlY3Vyc2l2ZS1vZmZz
ZXQtcGFyZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1pZnJhbWUtcmVjdXJzaXZlLW9mZnNldC1wYXJlbnQuaHRtbAkocmV2aXNp
b24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1p
ZnJhbWUtcmVjdXJzaXZlLW9mZnNldC1wYXJlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1Rv
TGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAg
IDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY3Jvc3MgaWZyYW1lIHRyYXZlcnNhbCBj
b3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24KQEAgLTMwLDggKzMxLDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS13
aXRoLW9mZnNjcmVlbi1mb2N1c2FibGUtZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXdpdGgtb2Zmc2NyZWVu
LWZvY3VzYWJsZS1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLXdpdGgtb2Zmc2NyZWVuLWZvY3Vz
YWJsZS1lbGVtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0
ZXN0IGVuc3VyZXMgdGhlIGNyb3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3Bh
dGlhbCBOYXZpZ2F0aW9uCkBAIC00Miw4ICs0Myw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1hcmVhLW5vdC1mb2N1c2Fi
bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LWltYWdlbWFwLWFyZWEtbm90LWZvY3VzYWJsZS5odG1sCShyZXZpc2lvbiAyNjg5ODMp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLWFy
ZWEtbm90LWZvY3VzYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPGhlYWQ+CiAKQEAg
LTE1LDggKzE2LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LWltYWdlbWFwLWFyZWEtd2l0aG91dC1pbWFnZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtYXJl
YS13aXRob3V0LWltYWdlLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtYXJlYS13aXRob3V0LWltYWdlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KIApAQCAtMTMsOCArMTQsNiBAQAogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwot
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9
CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2Vt
YXAtb3ZlcmxhcHBlZC1hcmVhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaW1hZ2VtYXAtb3ZlcmxhcHBlZC1hcmVhcy5odG1sCShy
ZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWltYWdlbWFwLW92ZXJsYXBwZWQtYXJlYXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1Rv
TGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAg
IDxoZWFkPgogCkBAIC0yMyw4ICsyNCw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbWFnZW1hcC1zaW1wbGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLXNp
bXBsZS5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWltYWdlbWFwLXNpbXBsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJz
VG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4K
ICAgPGhlYWQ+CiAKQEAgLTIxLDggKzIyLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pbnB1dC5odG1sCShyZXZpc2lv
biAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlu
cHV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogICA8aGVhZD4KICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTUy
LDggKzUzLDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LW1lZGlhLWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tZWRpYS1lbGVtZW50cy5odG1sCShyZXZpc2lv
biAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW1l
ZGlhLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBU
YWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRt
bD4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CkBAIC0yMyw4ICsyMyw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LWZvY3VzcmluZy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlw
bGUtc2VsZWN0LWZvY3VzcmluZy5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVjdC1mb2N1c3Jpbmcu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPgorPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8Ym9keT4KIAogPHNlbGVjdCBpZD0i
bXVsdGlzZWxlY3QiIG11bHRpcGxlPSJtdWx0aXBsZSI+CkBAIC03LDExICs3LDYgQEAKIDwvc2Vs
ZWN0PgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5l
ci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7Ci19Ci0K
IHZhciBtdWx0aXNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdWx0aXNlbGVjdCcp
OwogCiBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVjdC1vcHRncm91cC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlw
bGUtc2VsZWN0LW9wdGdyb3VwLmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtbXVsdGlwbGUtc2VsZWN0LW9wdGdyb3VwLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhl
IGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIG92ZXIg
bXVsdGlwbGUgc2VsZWN0IGVsZW1lbnQuCkBAIC0zMyw4ICszNCw2IEBACiAKICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
dGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1tdWx0aXBsZS1zZWxlY3Qu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LW11bHRpcGxlLXNlbGVjdC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW11bHRpcGxlLXNlbGVjdC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVl
IF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0
bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24gKFNOYXYpIGFsZ29yaXRobSBvdmVyIG11bHRpcGxl
IHNlbGVjdCBlbGVtZW50LgpAQCAtMzMsOCArMzQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5u
ZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb2Zmc2NyZWVuLWNvbnRlbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9m
ZnNjcmVlbi1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb2Zmc2NyZWVuLWNvbnRlbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBd
IC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29udGVudCBv
dmVyZmxvdyB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC0z
NSw4ICszNiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVk
LW92ZXJmbG93LWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVu
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVz
IHRoZSBjb250ZW50IG92ZXJmbG93IHRyYXZlcnNhbCBjb3JyZWN0bmVzcyBvZiBzcGF0aWFsIG5h
dmlnYXRpb246CkBAIC0zOCw4ICszOSw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5zZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1yYWRpby1ncm91cC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtcmFkaW8tZ3JvdXAuaHRt
bAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1yYWRpby1ncm91cC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAor
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVl
IFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAg
IFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBjb3JyZWN0bmVzcyBvZiBTcGF0aWFsIE5hdmlnYXRpb24g
KFNOYXYpIGFsZ29yaXRobSBvdmVyIHNpbmdsZSBzZWxlY3QgZWxlbWVudC4KQEAgLTM2LDggKzM3
LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJU
b0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LXJhZGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi1yYWRpby5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXJhZGlvLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxo
dG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIG9mIFNw
YXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIG92ZXIgc2luZ2xlIHNlbGVjdCBlbGVt
ZW50LgpAQCAtMjgsOCArMjksNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2VhcmNoLW9wdGltaXphdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2VhcmNoLW9wdGlt
aXphdGlvbi5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LXNlYXJjaC1vcHRpbWl6YXRpb24uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgog
PGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgb3B0aW1pemF0aW9uIGRv
bmUgaW4gc2VhcmNoaW5nIGxvZ2ljIHRvIGZpbmQgYmVzdCBjYW5kaWRhdGUgZm9jdXNhYmxlIG5v
ZGUgd2l0aCBtaW5pbXVtIGl0ZXJhdGlvbnMuCkBAIC0yMSw4ICsyMiw2IEBACiAKICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAg
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAg
fQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbXBs
ZS1jb250ZW50LW92ZXJmbG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW1wbGUtY29udGVudC1vdmVyZmxvdy5odG1sCShyZXZp
c2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LXNpbXBsZS1jb250ZW50LW92ZXJmbG93Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0
IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtz
PXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8IS0t
CiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBvdmVyZmxvd2VkIGNvbnRlbnQgY2FuIGJlIGZv
Y3VzZWQgYnkgU3BhdGlhbCBOYXZpZ2F0aW9uLgpAQCAtMzYsOCArMzcsNiBAQAogCiAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNl
S2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtc2luZ2xlLXNlbGVj
dC1saXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1zaW5nbGUtc2VsZWN0LWxpc3QuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW5nbGUtc2VsZWN0LWxp
c3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJl
cyB0aGUgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9uIChTTmF2KSBhbGdvcml0aG0g
b3ZlciBzaW5nbGUgc2VsZWN0IGxpc3QgZWxlbWVudC4KQEAgLTMzLDggKzM0LDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXNpbmdsZS1z
ZWxlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LXNpbmdsZS1zZWxlY3QuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1zaW5nbGUtc2VsZWN0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRy
dWUgXSAtLT4KIDxodG1sPgogICA8IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJl
Y3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbiAoU05hdikgYWxnb3JpdGhtIG92ZXIgc2luZ2xl
IHNlbGVjdCBlbGVtZW50LgpAQCAtMzMsOCArMzQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5u
ZXIuc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdGFibGUtdHJhdmVyc2FsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10YWJs
ZS10cmF2ZXJzYWwuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi10YWJsZS10cmF2ZXJzYWwuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgVGFic1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgog
PGh0bWw+CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgYmFzaWMgdGFibGUgdHJh
dmVyc2FsIGNvcnJlY3RuZXNzIG9mCkBAIC0zNCw4ICszNSw2IEBACiAKICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVz
dFJ1bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAx
KTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10ZXh0YXJlYS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdGV4dGFy
ZWEuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5h
dmlnYXRpb24vc25hdi10ZXh0YXJlYS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBA
QAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10
cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4K
ICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CkBAIC01NSw4ICs1Niw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1bm5lci5z
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRyYXZlcnNhbC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdGlu
eS10YWJsZS10cmF2ZXJzYWwuaHRtbAkocmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10aW55LXRhYmxlLXRyYXZlcnNhbC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBUYWJzVG9MaW5rcz10cnVlIFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZD10
cnVlIF0gLS0+CiA8aHRtbD4KICAgPCEtLQogICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoZSBiYXNp
YyB0YWJsZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YKQEAgLTM3LDggKzM4LDYgQEAKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVt
ZW50cy1vbmUtbGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0bWwJKHJldmlzaW9uIDI2
ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVs
ZW1lbnRzLW9uZS1saW5lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8aGVhZD4KICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAg
LTE2LDggKzE3LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LXVuaXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXVu
aXQtb3ZlcmZsb3ctYW5kLXNjcm9sbC1pbi1kaXJlY3Rpb24uaHRtbAkocmV2aXNpb24gMjY4OTgz
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi11bml0LW92ZXJm
bG93LWFuZC1zY3JvbGwtaW4tZGlyZWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSw0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xp
bmtzPXRydWUgU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogICA8
IS0tCiAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvcnJlY3RuZXNzIHRoZSBmb2xsb3dpbmcg
U3BhdGlhbCBOYXZpZ2F0aW9uCkBAIC00Miw4ICs0Myw2IEBACiAKICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVzdFJ1
bm5lci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsK
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16LWluZGV4Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi16LWluZGV4Lmh0
bWwJKHJldmlzaW9uIDI2ODk4MykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtei1pbmRleC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPGh0
bWw+Cis8aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIFRhYnNUb0xpbmtzPXRydWUgU3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkPXRydWUgXSAtLT4KICAgPGhlYWQ+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy9zcGF0aWFsLW5hdmlnYXRpb24tdXRpbHMuanMiPjwvc2NyaXB0PgpA
QCAtMTksOCArMTksNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIuc2V0U3BhdGlhbE5hdmln
YXRpb25FbmFibGVkKHRydWUpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtemVyby1tYXJnaW4tY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtemVyby1tYXJnaW4tY29udGVu
dC5odG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LXplcm8tbWFyZ2luLWNvbnRlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgVGFi
c1RvTGlua3M9dHJ1ZSBTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+
CiAgIDwhLS0KICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgdHJhdmVyc2FsIGNvcnJlY3RuZXNz
IG9mIHNwYXRpYWwgbmF2aWdhdGlvbjoKQEAgLTMyLDggKzMzLDYgQEAKIAogICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICB0
ZXN0UnVubmVyLnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIs
IDEpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQogCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9scy1hY2Nlc3NpYmlsaXR5Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtYWNjZXNzaWJpbGl0eS5o
dG1sCShyZXZpc2lvbiAyNjg5ODMpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9s
cy1hY2Nlc3NpYmlsaXR5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi08IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVybk1lZGlhQ29udHJvbHNF
bmFibGVkPWZhbHNlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkPWZhbHNlIFRhYnNUb0xpbmtzPXRydWUgXSAt
LT4KIDxodG1sPgogPHZpZGVvIGlkPSJ2aWRlbyIgY29udHJvbHM+PC92aWRlbz4KIDxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgpAQCAtMTUsNyArMTUsNiBAQAogZGVzY3JpcHRpb24oIlRoaXMgdGVz
dHMgdGhhdCBtZWRpYSBjb250cm9scyBoYXZlIGNvcnJlY3QgYWNjZXNzaWJpbGl0eSBpbmZvcm1h
dGlvbi4iKTsKIAogaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtl
eSIsIDEpOyAKICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50
L3Rlc3QiKTsKICAgICAKICAgICB2YXIgdmlkZW9FbGVtZW50OwpJbmRleDogTGF5b3V0VGVzdHMv
bWVkaWEvdGFiLWZvY3VzLWluc2lkZS1tZWRpYS1lbGVtZW50cy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL3RhYi1mb2N1cy1pbnNpZGUtbWVkaWEtZWxlbWVudHMuaHRtbAko
cmV2aXNpb24gMjY4OTgzKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdGFiLWZvY3VzLWluc2lkZS1t
ZWRpYS1lbGVtZW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotPCFET0NU
WVBFIGh0bWwhPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgTW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWQ9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sIT48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkPWZhbHNlIFRhYnNUb0xpbmtzPXRydWUgXSAt
LT4KIDxodG1sPgogPGJvZHk+CiA8YXVkaW8gY29udHJvbHM+PC9hdWRpbz48dmlkZW8gY29udHJv
bHM+PC92aWRlbz48YnI+CkBAIC0xOSw4ICsxOSw2IEBAIGVsc2UKIAogZnVuY3Rpb24gcnVuVGVz
dHMoKQogewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRUYWJUb0xp
bmtzUHJlZmVyZW5jZUtleSIsIDEpOwotCiAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmJvZHkuZm9j
dXMoKTsgZXZlbnRTZW5kZXIua2V5RG93bigiXFx0Iik7IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQn
LCAnbWVkaWFFbGVtZW50c1swXScpOwogICAgIHNob3VsZEJlVHJ1ZSgnbWVkaWFFbGVtZW50c1sw
XSBpbnN0YW5jZW9mIEhUTUxBdWRpb0VsZW1lbnQnKTsKICAgICBzaG91bGRCZVRydWUoJ21lZGlh
RWxlbWVudHNbMF0uY29udHJvbHMnKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>