<?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>84887</bug_id>
          
          <creation_ts>2012-04-25 12:49:52 -0700</creation_ts>
          <short_desc>[Navigation Timing] Import the W3C Navigation Timing test suite</short_desc>
          <delta_ts>2012-07-13 09:19:38 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://w3c-test.org/webperf/tests/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91158</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>jacobg</cc>
    
    <cc>mjs</cc>
    
    <cc>sullivan</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609983</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-04-25 12:49:52 -0700</bug_when>
    <thetext>As discussed at the WebKit committers meeting, we should rely on upstream W3C tests instead of maintaining our own tests. Importing these tests should be an automated process. We want to build up scripts that can import all types of W3C tests. The script can pull from a local checkout of the W3 repository, so need to automate that. The imported tests should end up in http/tests/NavigationTiming/imported-w3c or something similar.

For Navigation Timing specifically, there are a few things to watch out for:

- Make sure the subresource paths are mapped correctly, even on http tests.
- Make sure that the two W3 hosts map to localhost and 127.0.0.1 correctly so that we can test cross-origin.
- Make sure they&apos;re run as text tests and not pixel tests. May need to tweak testharness.js or something.

Assuming this is done, we should be able to get rid of the webtiming-*.html tests in LayoutTests, since I believe we upstreamed all of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658057</commentid>
    <comment_count>1</comment_count>
      <attachid>149620</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-26 15:52:57 -0700</bug_when>
    <thetext>Created attachment 149620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658064</commentid>
    <comment_count>2</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-26 15:59:03 -0700</bug_when>
    <thetext>@jacobg: Can you take at the testharnessreport.js change?

@dpranke: Can you look at the python script?

@mjs: This is what we&apos;d discussed and started hacking on at the committers meeting (though this is from the webperf WG instead of CSS). Are you happy with the result? Any preference on where this should go?

@tonyg: Can you review the results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658109</commentid>
    <comment_count>3</comment_count>
      <attachid>149620</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-26 16:48:36 -0700</bug_when>
    <thetext>Comment on attachment 149620
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=149620&amp;action=review

the python file mostly looks fine; there&apos;s one edge case you need to check for (I think) and one nit about argument names :).

&gt; Tools/Scripts/import-w3c-performance-wg-tests:32
&gt; +import sys

There&apos;s a bunch of infrastructure in webkitpy that could be used here, but as we discussed in person, I&apos;m not sure there&apos;s much value in doing so. In particular, much of the infrastructure is designed so that it&apos;s easier to write tests, but I wouldn&apos;t bother to write tests for this, since it&apos;ll only be run occasionally, manually, and with manual inspection of the results.

I&apos;m just noting this so that others don&apos;t have the same thought and wonder ...

&gt; Tools/Scripts/import-w3c-performance-wg-tests:35
&gt; +    print &apos;USAGE: %s path_to_webperf path_to_WebKit&apos;

Maybe &apos;path_to_w3c_checkout_root&apos; &apos;path_to_webkit_checkout_root&apos; ?

&gt; Tools/Scripts/import-w3c-performance-wg-tests:60
&gt; +            os.mkdir(os.path.join(destination_directory, root, dirname))

You need to trap exceptions here in case the directories already exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658641</commentid>
    <comment_count>4</comment_count>
    <who name="Jacob Goldstein">jacobg</who>
    <bug_when>2012-06-27 08:57:03 -0700</bug_when>
    <thetext>Changes to testharnessreport.js look good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667240</commentid>
    <comment_count>5</comment_count>
      <attachid>149620</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-07-11 17:30:01 -0700</bug_when>
    <thetext>Comment on attachment 149620
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=149620&amp;action=review

A few minor suggestions, everything else lgtm

&gt; Tools/Scripts/import-w3c-performance-wg-tests:30
&gt; +

This file could use more usage explanation, probably in the form of a better USAGE output or file level comment.

For instance, I&apos;m not sure what to use for the path_to_webperf. Explaining where to grab that repo would be nice.

&gt; Tools/Scripts/import-w3c-performance-wg-tests:47
&gt; +replacements = {

Even though you&apos;ve mentioned it in the bug, I think a comment would be nice explaining why these replacements are necessary.

Also, this really feels more like it should be a list of tuples rather than a dict so that the author can assume replacements happen in a certain order.

&gt; Tools/Scripts/import-w3c-performance-wg-tests:49
&gt; +        &apos;\&apos;www.w3c-test.org&apos;: &apos;\&apos;localhost:8000&apos;,

The single tic is a little brittle, but at the same time it is hard to know exactly how these urls might look in the future.

So what about adding something like this at the point the file is written:
assert &apos;w3c-test.org&apos; not in line, &apos;Imported test must not depend on live site&apos;

&gt; LayoutTests/http/tests/resources/testharnessreport.js:1
&gt; +/*

Like we talked about offline, I think everything imported should live in a w3c directory rather than intermingle. Bonus points for a README or comment on imported items that warns to use the import script rather than modify in place.

&gt; LayoutTests/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect.html:13
&gt; +  &quot;Starting document.location.hostname is correct (w3c-test.org)&quot;: {},

Is it okay that this didn&apos;t get replaced?

&gt; LayoutTests/resources/testharnessreport.js:16
&gt; +if (self.layoutTestController) {

This just undoes https://bugs.webkit.org/show_bug.cgi?id=89182 , should probably check w/ tkent about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667336</commentid>
    <comment_count>6</comment_count>
      <attachid>151848</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-11 19:33:30 -0700</bug_when>
    <thetext>Created attachment 151848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667338</commentid>
    <comment_count>7</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-11 19:34:28 -0700</bug_when>
    <thetext>I have addressed all of Dirk&apos;s and Tony&apos;s feedback.

(In reply to comment #5)
&gt; This just undoes https://bugs.webkit.org/show_bug.cgi?id=89182 , should probably check w/ tkent about that.

I&apos;ve reverted that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668220</commentid>
    <comment_count>8</comment_count>
      <attachid>151848</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 14:29:01 -0700</bug_when>
    <thetext>Comment on attachment 151848
Patch

Rejecting attachment 151848 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
kipped
patching file LayoutTests/platform/win/Skipped
patching file LayoutTests/platform/wincairo/Skipped
patching file LayoutTests/resources/testharness.css
patching file LayoutTests/resources/testharnessreport.js
Hunk #2 FAILED at 73.
1 out of 2 hunks FAILED -- saving rejects to file LayoutTests/resources/testharnessreport.js.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Tony Genti...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13202830</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668238</commentid>
    <comment_count>9</comment_count>
      <attachid>152065</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-12 14:38:43 -0700</bug_when>
    <thetext>Created attachment 152065
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668263</commentid>
    <comment_count>10</comment_count>
      <attachid>152065</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 14:55:09 -0700</bug_when>
    <thetext>Comment on attachment 152065
Patch for landing

Rejecting attachment 152065 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
file LayoutTests/platform/mac/Skipped
patching file LayoutTests/platform/win/Skipped
patching file LayoutTests/platform/wincairo/Skipped
patching file LayoutTests/resources/testharness.css
patching file LayoutTests/resources/testharnessreport.js
Hunk #2 FAILED at 73.
1 out of 2 hunks FAILED -- saving rejects to file LayoutTests/resources/testharnessreport.js.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13198947</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668274</commentid>
    <comment_count>11</comment_count>
      <attachid>152072</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-12 15:04:47 -0700</bug_when>
    <thetext>Created attachment 152072
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668306</commentid>
    <comment_count>12</comment_count>
      <attachid>152072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 15:25:01 -0700</bug_when>
    <thetext>Comment on attachment 152072
Patch for landing

Rejecting attachment 152072 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
file LayoutTests/platform/mac/Skipped
patching file LayoutTests/platform/win/Skipped
patching file LayoutTests/platform/wincairo/Skipped
patching file LayoutTests/resources/testharness.css
patching file LayoutTests/resources/testharnessreport.js
Hunk #2 FAILED at 73.
1 out of 2 hunks FAILED -- saving rejects to file LayoutTests/resources/testharnessreport.js.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13199877</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668381</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-12 16:30:57 -0700</bug_when>
    <thetext>Committed r122528: &lt;http://trac.webkit.org/changeset/122528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668480</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 18:27:49 -0700</bug_when>
    <thetext>http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object.html seems to be very flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668482</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 18:29:26 -0700</bug_when>
    <thetext>What is the difference between the html and html5 directories?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668513</commentid>
    <comment_count>16</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-07-12 19:16:48 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; What is the difference between the html and html5 directories?

I have no idea. I just copied it straight from upstream. I assumed there was something different about them. Diffing them yields no differences.

I will modify the import script to ignore one. There&apos;s no reason to run the same tests twice.

(In reply to comment #14)
&gt; http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object.html seems to be very flaky.

I&apos;ll mark it as such. It seems to pass reliably on the W3C server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668549</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 20:10:34 -0700</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669108</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 09:12:42 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=91224 is an example of that test flaking out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669109</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 09:13:17 -0700</bug_when>
    <thetext>http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Fw3c%2Fwebperf%2Fapproved%2Fnavigation-timing%2Fhtml%2Ftest_performance_attributes_exist_in_object.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669115</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 09:17:10 -0700</bug_when>
    <thetext>Marked as flaky in http://trac.webkit.org/changeset/122591</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669119</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-13 09:19:38 -0700</bug_when>
    <thetext>... and http://trac.webkit.org/changeset/122592</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149620</attachid>
            <date>2012-06-26 15:52:57 -0700</date>
            <delta_ts>2012-07-11 19:33:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84887-20120626155257.patch</filename>
            <type>text/plain</type>
            <size>309527</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzVhOGI5OTVlNWEzZGY1MGNlOWU0YTc4ZDRiYmExYzZj
OTQxYWUwMy4uZjJhNTQzYjFmNjMxZGQ3OWZlMDQ3ZjJiMzBiOGViOGQwYWEyMGFlZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEyLTA2LTI2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbTmF2aWdhdGlvbiBUaW1pbmddIEltcG9ydCB0aGUgVzNDIE5hdmlnYXRpb24g
VGltaW5nIHRlc3Qgc3VpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0ODg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL2ltcG9ydC13M2MtcGVyZm9ybWFuY2Utd2ctdGVzdHM6IEFkZGVk
LgorCiAyMDEyLTA2LTI2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIxMjM2LgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NTMx
M2VlNjUwZjQ0YmEyYmQ3YTcxMjg1MWU3ODQzNmQ1N2E3NjYKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtcGVyZm9ybWFuY2Utd2ctdGVzdHMKQEAgLTAsMCArMSw2
NyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisj
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKKworaWYgbGVuKHN5cy5hcmd2KSAhPSAzOgorICAgIHByaW50ICdVU0FH
RTogJXMgcGF0aF90b193ZWJwZXJmIHBhdGhfdG9fV2ViS2l0JworICAgIHN5cy5leGl0KDEpCisK
K3NvdXJjZV9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3ZbMV0sICd0ZXN0cycpCitk
ZXN0aW5hdGlvbl9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3ZbMl0sICdMYXlvdXRU
ZXN0cycsICdodHRwJywgJ3Rlc3RzJywgJ3czYycsICd3ZWJwZXJmJykKKworaWYgb3MucGF0aC5l
eGlzdHMoZGVzdGluYXRpb25fZGlyZWN0b3J5KToKKyAgICBwcmludCAnUmVmdXNpbmcgdG8gb3Zl
cndyaXRlIGV4aXN0aW5nIGRpcmVjdG9yeTogJXMnICUgZGVzdGluYXRpb25fZGlyZWN0b3J5Cisg
ICAgc3lzLmV4aXQoMSkKK29zLm1ha2VkaXJzKGRlc3RpbmF0aW9uX2RpcmVjdG9yeSkKKworZGly
ZWN0b3JpZXNfdG9fY29weSA9IFsnYXBwcm92ZWQnLCAncmVzb3VyY2VzJ10KK3JlcGxhY2VtZW50
cyA9IHsKKyAgICAgICAgJ1wndzNjLXRlc3Qub3JnJzogJ1wnMTI3LjAuMC4xOjgwMDAnLAorICAg
ICAgICAnXCd3d3cudzNjLXRlc3Qub3JnJzogJ1wnbG9jYWxob3N0OjgwMDAnLAorICAgICAgICAn
d2VicGVyZi90ZXN0cyc6ICd3M2Mvd2VicGVyZicsCisgICAgICAgICcrICIoIiArIHJlbG9hZFRp
bWVbdGltZV0gKyAiKSInOiAnJywKKyAgICAgICAgJysgIigiICsgc3RhcnRpbmdUaW1lW3RpbWVd
ICsgIikiJzogJycsCit9CisKK2ZvciBkaXJlY3RvcnlfdG9fY29weSBpbiBkaXJlY3Rvcmllc190
b19jb3B5OgorICAgIG9zLm1rZGlyKG9zLnBhdGguam9pbihkZXN0aW5hdGlvbl9kaXJlY3Rvcnks
IGRpcmVjdG9yeV90b19jb3B5KSkKKyAgICBvcy5jaGRpcihzb3VyY2VfZGlyZWN0b3J5KQorICAg
IGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGRpcmVjdG9yeV90b19jb3B5KToKKyAg
ICAgICAgZm9yIGRpcm5hbWUgaW4gZGlyczoKKyAgICAgICAgICAgIG9zLm1rZGlyKG9zLnBhdGgu
am9pbihkZXN0aW5hdGlvbl9kaXJlY3RvcnksIHJvb3QsIGRpcm5hbWUpKQorICAgICAgICBmb3Ig
ZmlsZW5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKHNv
dXJjZV9kaXJlY3RvcnksIHJvb3QsIGZpbGVuYW1lKSwgJ3InKSBhcyBpbl9maWxlOgorICAgICAg
ICAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oZGVzdGluYXRpb25fZGlyZWN0b3J5LCBy
b290LCBmaWxlbmFtZSksICd3JykgYXMgb3V0X2ZpbGU6CisgICAgICAgICAgICAgICAgICAgIGZv
ciBsaW5lIGluIGluX2ZpbGU6CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdG9fZmluZCBp
biByZXBsYWNlbWVudHM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUu
cmVwbGFjZSh0b19maW5kLCByZXBsYWNlbWVudHNbdG9fZmluZF0pCisgICAgICAgICAgICAgICAg
ICAgICAgICBvdXRfZmlsZS53cml0ZShsaW5lKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU5ZDI3NjYwMTEyNWU1OTkyZDA3
YzM2ZTFkODJjNDc4MjU2N2NmMTcuLjliMDgxYTU2YTllZTNlNTE2ZjA1OWY0ODI4N2U5ZGU3MGQ0
OWQyYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDQgQEAKKzIwMTItMDYtMjYgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtOYXZpZ2F0aW9uIFRpbWluZ10g
SW1wb3J0IHRoZSBXM0MgTmF2aWdhdGlvbiBUaW1pbmcgdGVzdCBzdWl0ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4ODcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmNzczogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qczogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3Vt
ZW50X3JlYWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2Rv
Y3VtZW50X3JlYWRpbmVzc19leGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0
ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZp
Z2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlv
bl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2
aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmln
YXRpb25fcmVkaXJlY3RDb3VudF9ub25lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9u
YXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
bmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2
aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZp
b3VzX2RvY3VtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJp
YnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5j
ZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNl
X2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfcmVhZHdyaXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVz
X2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0
ZXNfZXhpc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3Jk
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19v
cmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF90aW1pbmdfc2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1p
bmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Rp
bWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9w
ZXJmb3JtYW5jZV9vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5p
cXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3Vt
ZW50X29wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Bl
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRl
c19leGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENv
dW50X25vbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9y
ZWRpcmVjdENvdW50X25vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25f
dHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0aW9uX3R5cGVfYmFja2ZvcndhcmQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmln
YXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0aW9uX3R5cGVfZW51bXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25f
dHlwZV9yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlv
bl90eXBlX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9j
dW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9j
dW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNf
ZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdF9pbl9vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9yZWFkd3JpdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVz
X2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1
dGVzX2V4aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19v
cmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRl
c19vcmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVj
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGly
ZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFu
a19wYWdlX2dyZWVuX3dpdGhfb251bmxvYWQuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19w
YWdlX3VubG9hZC5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bTogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9h
ZC5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3BhZ2V2aXN0ZXN0aGFybmVzcy5qczogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanM6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOiBTa2lwIG5ldyB3ZWJwZXJmIHRlc3RzLgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9y
bS93aW5jYWlyby9Ta2lwcGVkOiBEaXR0by4KKyAgICAgICAgKiByZXNvdXJjZXMvdGVzdGhhcm5l
c3MuY3NzOiBBZGRlZC4KKyAgICAgICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM6
IFN1cHBvcnQgYXN5bmMgdGVzdHMuCisKIDIwMTItMDYtMjYgIE1hcmlvIFNhbmNoZXogUHJhZGEg
IDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nIGFm
dGVyIHIxMjA4NDUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJkNDgyYTdkYzE2Y2FhY2JiNjQ5MGE4ZjdjYmNkNDY5
OTA4OGVhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmNzcwpAQCAtMCwwICsxLDI4IEBACitodG1sIHsKKyAgICBmb250LWZh
bWlseTpEZWphVnUgU2FucywgQml0c3RyZWFtIFZlcmEgU2FucywgQXJpYWwsIFNhbnM7Cit9CisK
K3RhYmxlI3Jlc3VsdHMgeworICAgIGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsKK30KKwordGFi
bGUjcmVzdWx0cyB0aCB7CisgICAgcGFkZGluZzowOworICAgIHBhZGRpbmctYm90dG9tOjAuNWVt
OworICAgIGJvcmRlci1ib3R0b206bWVkaXVtIHNvbGlkIGJsYWNrOworfQorCit0YWJsZSNyZXN1
bHRzIHRkIHsKKyAgICBwYWRkaW5nOjA7CisgICAgcGFkZGluZy1ib3R0b206MC41ZW07CisgICAg
Ym9yZGVyLWJvdHRvbTp0aGluIHNvbGlkIGJsYWNrOworfQorCit0YWJsZSNyZXN1bHRzIHRyPnRk
Om50aC1jaGlsZCgxKSB7CisgICAgZm9udC12YXJpYW50OnNtYWxsLWNhcHM7Cit9CisKK3RhYmxl
I3Jlc3VsdHMgdHI+dGQ6bnRoLWNoaWxkKDMpIHsKKyAgICBmb250LWZhbWlseTpEZWphVnUgU2Fu
cyBNb25vLCBCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8sIE1vbm9zcGFjZTsKKyAgICB3aGl0ZS1z
cGFjZTpwcmU7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Zjc4YTVk
MGE3ZDlhNzhhYTI3MjZhMTg2ZTc5YWRhNzQwMjhhMGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKQEAgLTAsMCArMSwx
NzYxIEBACisvKg0KK0Rpc3RyaWJ1dGVkIHVuZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRlIExp
Y2Vuc2UgWzFdIGFuZCB0aGUgVzNDDQorMy1jbGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250
cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUsIHNlZSB0aGUNCitwb2xpY2llcyBhbmQgY29udHJp
YnV0aW9uIGZvcm1zIFszXS4NCisNCitbMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9M
ZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNlDQorWzJdIGh0dHA6Ly93d3cudzMub3JnL0Nv
bnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1ic2QtbGljZW5zZQ0KK1szXSBodHRwOi8vd3d3LnczLm9y
Zy8yMDA0LzEwLzI3LXRlc3RjYXNlcw0KKyovDQorDQorLyoNCisgKiA9PSBJbnRyb2R1Y3Rpb24g
PT0NCisgKg0KKyAqIFRoaXMgZmlsZSBwcm92aWRlcyBhIGZyYW1ld29yayBmb3Igd3JpdGluZyB0
ZXN0Y2FzZXMuIEl0IGlzIGludGVuZGVkIHRvDQorICogcHJvdmlkZSBhIGNvbnZlbmllbnQgQVBJ
IGZvciBtYWtpbmcgY29tbW9uIGFzc2VydGlvbnMsIGFuZCB0byB3b3JrIGJvdGgNCisgKiBmb3Ig
dGVzdGluZyBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIERPTSBmZWF0dXJlcyBpbiBhIHdh
eSB0aGF0DQorICogcHJvbW90ZXMgY2xlYXIsIHJvYnVzdCwgdGVzdHMuDQorICoNCisgKiA9PSBC
YXNpYyBVc2FnZSA9PQ0KKyAqDQorICogVG8gdXNlIHRoaXMgZmlsZSwgaW1wb3J0IHRoZSBzY3Jp
cHQgYW5kIHRoZSB0ZXN0aGFybmVzc3JlcG9ydCBzY3JpcHQgaW50bw0KKyAqIHRoZSB0ZXN0IGRv
Y3VtZW50Og0KKyAqIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4NCisgKiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+DQorICoNCisgKiBXaXRoaW4gZWFjaCBmaWxlIG9uZSBtYXkgZGVmaW5lIG9uZSBv
ciBtb3JlIHRlc3RzLiBFYWNoIHRlc3QgaXMgYXRvbWljDQorICogaW4gdGhlIHNlbnNlIHRoYXQg
YSBzaW5nbGUgdGVzdCBoYXMgYSBzaW5nbGUgcmVzdWx0IChwYXNzL2ZhaWwvdGltZW91dCkuDQor
ICogV2l0aGluIGVhY2ggdGVzdCBvbmUgbWF5IGhhdmUgYSBudW1iZXIgb2YgYXNzZXJ0cy4gVGhl
IHRlc3QgZmFpbHMgYXQgdGhlDQorICogZmlyc3QgZmFpbGluZyBhc3NlcnQsIGFuZCB0aGUgcmVt
YWluZGVyIG9mIHRoZSB0ZXN0IGlzICh0eXBpY2FsbHkpIG5vdCBydW4uDQorICoNCisgKiBJZiB0
aGUgZmlsZSBjb250YWluaW5nIHRoZSB0ZXN0cyBpcyBhIEhUTUwgZmlsZSB3aXRoIGFuIGVsZW1l
bnQgb2YgaWQgImxvZyINCisgKiB0aGlzIHdpbGwgYmUgcG9wdWxhdGVkIHdpdGggYSB0YWJsZSBj
b250YWluaW5nIHRoZSB0ZXN0IHJlc3VsdHMgYWZ0ZXIgYWxsDQorICogdGhlIHRlc3RzIGhhdmUg
cnVuLg0KKyAqDQorICogTk9URTogQnkgZGVmYXVsdCB0ZXN0cyBtdXN0IGJlIGNyZWF0ZWQgYmVm
b3JlIHRoZSBsb2FkIGV2ZW50IGZpcmVzLiBGb3Igd2F5cw0KKyAqICAgICAgIHRvIGNyZWF0ZSB0
ZXN0cyBhZnRlciB0aGUgbG9hZCBldmVudCwgc2VlICJEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0
cyBhcmUNCisgKiAgICAgICBjb21wbGV0ZSIsIGJlbG93DQorICoNCisgKiA9PSBTeW5jaHJvbm91
cyBUZXN0cyA9PQ0KKyAqDQorICogVG8gY3JlYXRlIGEgc3luY2hyb25vdXMgdGVzdCB1c2UgdGhl
IHRlc3QoKSBmdW5jdGlvbjoNCisgKg0KKyAqIHRlc3QodGVzdF9mdW5jdGlvbiwgbmFtZSwgcHJv
cGVydGllcykNCisgKg0KKyAqIHRlc3RfZnVuY3Rpb24gaXMgYSBmdW5jdGlvbiB0aGF0IGNvbnRh
aW5zIHRoZSBjb2RlIHRvIHRlc3QuIEZvciBleGFtcGxlIGENCisgKiB0cml2aWFsIHBhc3Npbmcg
dGVzdCB3b3VsZCBiZToNCisgKg0KKyAqIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1
ZSl9LCAiYXNzZXJ0X3RydWUgd2l0aCB0cnVlIikNCisgKg0KKyAqIFRoZSBmdW5jdGlvbiBwYXNz
ZWQgaW4gaXMgcnVuIGluIHRoZSB0ZXN0KCkgY2FsbC4NCisgKg0KKyAqIHByb3BlcnRpZXMgaXMg
YW4gb2JqZWN0IHRoYXQgb3ZlcnJpZGVzIGRlZmF1bHQgdGVzdCBwcm9wZXJ0aWVzLiBUaGUgcmVj
b2duaXNlZCBwcm9wZXJ0aWVzDQorICogYXJlOg0KKyAqICAgIHRpbWVvdXQgLSB0aGUgdGVzdCB0
aW1lb3V0IGluIG1zDQorICoNCisgKiBlLmcuDQorICogdGVzdCh0ZXN0X2Z1bmN0aW9uLCAiU2Ft
cGxlIHRlc3QiLCB7dGltZW91dDoxMDAwfSkNCisgKg0KKyAqIHdvdWxkIHJ1biB0ZXN0X2Z1bmN0
aW9uIHdpdGggYSB0aW1lb3V0IG9mIDFzLg0KKyAqDQorICogPT0gQXN5bmNocm9ub3VzIFRlc3Rz
ID09DQorICoNCisgKiBUZXN0aW5nIGFzeW5jaHJvbm91cyBmZWF0dXJlcyBpcyBzb21ld2hhdCBt
b3JlIGNvbXBsZXggc2luY2UgdGhlIHJlc3VsdCBvZg0KKyAqIGEgdGVzdCBtYXkgZGVwZW5kIG9u
IG9uZSBvciBtb3JlIGV2ZW50cyBvciBvdGhlciBjYWxsYmFja3MuIFRoZSBBUEkgcHJvdmlkZWQN
CisgKiBmb3IgdGVzdGluZyB0aGVzZSBmZWF0dXJlcyBpcyBpbmRlbmRlZCB0byBiZSByYXRoZXIg
bG93LWxldmVsIGJ1dCBob3BlZnVsbHkNCisgKiBhcHBsaWNhYmxlIHRvIG1hbnkgc2l0dWF0aW9u
cy4NCisgKg0KKyAqIFRvIGNyZWF0ZSBhIHRlc3QsIG9uZSBzdGFydHMgYnkgZ2V0dGluZyBhIFRl
c3Qgb2JqZWN0IHVzaW5nIGFzeW5jX3Rlc3Q6DQorICoNCisgKiBhc3luY190ZXN0KG5hbWUsIHBy
b3BlcnRpZXMpDQorICoNCisgKiBlLmcuDQorICogdmFyIHQgPSBhc3luY190ZXN0KCJTaW1wbGUg
YXN5bmMgdGVzdCIpDQorICoNCisgKiBBc3NlcnRpb25zIGNhbiBiZSBhZGRlZCB0byB0aGUgdGVz
dCBieSBjYWxsaW5nIHRoZSBzdGVwIG1ldGhvZCBvZiB0aGUgdGVzdA0KKyAqIG9iamVjdCB3aXRo
IGEgZnVuY3Rpb24gY29udGFpbmluZyB0aGUgdGVzdCBhc3NlcnRpb25zOg0KKyAqDQorICogdC5z
dGVwKGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUpfSk7DQorICoNCisgKiBXaGVuIGFsbCB0
aGUgc3RlcHMgYXJlIGNvbXBsZXRlLCB0aGUgZG9uZSgpIG1ldGhvZCBtdXN0IGJlIGNhbGxlZDoN
CisgKg0KKyAqIHQuZG9uZSgpOw0KKyAqDQorICogVGhlIHByb3BlcnRpZXMgYXJndW1lbnQgaXMg
aWRlbnRpY2FsIHRvIHRoYXQgZm9yIHRlc3QoKS4NCisgKg0KKyAqIEluIG1hbnkgY2FzZXMgaXQg
aXMgY29udmVuaWVudCB0byBydW4gYSBzdGVwIGluIHJlc3BvbnNlIHRvIGFuIGV2ZW50IG9yIGEN
CisgKiBjYWxsYmFjay4gQSBjb252ZW5pZW50IG1ldGhvZCBvZiBkb2luZyB0aGlzIGlzIHRocm91
Z2ggdGhlIHN0ZXBfZnVuYyBtZXRob2QNCisgKiB3aGljaCByZXR1cm5zIGEgZnVuY3Rpb24gdGhh
dCwgd2hlbiBjYWxsZWQgcnVucyBhIHRlc3Qgc3RlcC4gRm9yIGV4YW1wbGUNCisgKg0KKyAqIG9i
amVjdC5zb21lX2V2ZW50ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkge2Fzc2VydF90cnVlKGUu
YSl9KTsNCisgKg0KKyAqID09IE1ha2luZyBhc3NlcnRpb25zID09DQorICoNCisgKiBGdW5jdGlv
bnMgZm9yIG1ha2luZyBhc3NlcnRpb25zIHN0YXJ0IGFzc2VydF8NCisgKiBUaGUgYmVzdCB3YXkg
dG8gZ2V0IGEgbGlzdCBpcyB0byBsb29rIGluIHRoaXMgZmlsZSBmb3IgZnVuY3Rpb25zIG5hbWVz
DQorICogbWF0Y2hpbmcgdGhhdCBwYXR0ZXJuLiBUaGUgZ2VuZXJhbCBzaWduYXR1cmUgaXMNCisg
Kg0KKyAqIGFzc2VydF9zb21ldGhpbmcoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQor
ICoNCisgKiBhbHRob3VnaCBub3QgYWxsIGFzc2VydGlvbnMgcHJlY2lzZWx5IG1hdGNoIHRoaXMg
cGF0dGVybiBlLmcuIGFzc2VydF90cnVlDQorICogb25seSB0YWtlcyBhY3R1YWwgYW5kIGRlc2Ny
aXB0aW9uIGFzIGFyZ3VtZW50cy4NCisgKg0KKyAqIFRoZSBkZXNjcmlwdGlvbiBwYXJhbWV0ZXIg
aXMgdXNlZCB0byBwcmVzZW50IG1vcmUgdXNlZnVsIGVycm9yIG1lc3NhZ2VzIHdoZW4NCisgKiBh
IHRlc3QgZmFpbHMNCisgKg0KKyAqIE5PVEU6IEFsbCBhc3NlcnRzIG11c3QgYmUgbG9jYXRlZCBp
biBhIHRlc3QoKSBvciBhIHN0ZXAgb2YgYW4gYXN5bmNfdGVzdCgpLg0KKyAqICAgICAgIGFzc2Vy
dHMgb3V0c2lkZSB0aGVzZSBwbGFjZXMgd29uJ3QgYmUgZGV0ZWN0ZWQgY29ycmVjdGx5IGJ5IHRo
ZSBoYXJuZXNzDQorICogICAgICAgYW5kIG1heSBjYXVzZSBhIGZpbGUgdG8gc3RvcCB0ZXN0aW5n
Lg0KKyAqDQorICogPT0gU2V0dXAgPT0NCisgKg0KKyAqIFNvbWV0aW1lcyB0ZXN0cyByZXF1aXJl
IG5vbi10cml2aWFsIHNldHVwIHRoYXQgbWF5IGZhaWwuIEZvciB0aGlzIHB1cnBvc2UNCisgKiB0
aGVyZSBpcyBhIHNldHVwKCkgZnVuY3Rpb24sIHRoYXQgbWF5IGJlIGNhbGxlZCB3aXRoIG9uZSBv
ciB0d28gYXJndW1lbnRzLg0KKyAqIFRoZSB0d28gYXJndW1lbnQgdmVyc2lvbiBpczoNCisgKg0K
KyAqIHNldHVwKGZ1bmMsIHByb3BlcnRpZXMpDQorICoNCisgKiBUaGUgb25lIGFyZ3VtZW50IHZl
cnNpb25zIG1heSBvbWl0IGVpdGhlciBhcmd1bWVudC4NCisgKiBmdW5jIGlzIGEgZnVuY3Rpb24g
dG8gYmUgcnVuIHN5bmNocm9ub3VzbHkuIHNldHVwKCkgYmVjb21lcyBhIG5vLW9wIG9uY2UNCisg
KiBhbnkgdGVzdHMgaGF2ZSByZXR1cm5lZCByZXN1bHRzLiBQcm9wZXJ0aWVzIGFyZSBnbG9iYWwg
cHJvcGVydGllcyBvZiB0aGUgdGVzdA0KKyAqIGhhcm5lc3MuIEN1cnJlbnRseSByZWNvZ25pc2Vk
IHByb3BlcnRpZXMgYXJlOg0KKyAqDQorICogdGltZW91dCAtIFRoZSB0aW1lIGluIG1zIGFmdGVy
IHdoaWNoIHRoZSBoYXJuZXNzIHNob3VsZCBzdG9wIHdhaXRpbmcgZm9yDQorICogICAgICAgICAg
IHRlc3RzIHRvIGNvbXBsZXRlICh0aGlzIGlzIGRpZmZlcmVudCB0byB0aGUgcGVyLXRlc3QgdGlt
ZW91dA0KKyAqICAgICAgICAgICBiZWNhdXNlIGFzeW5jIHRlc3RzIGRvIG5vdCBzdGFydCB0aGVp
ciB0aW1lciB1bnRpbCAuc3RlcCBpcyBjYWxsZWQpDQorICoNCisgKiBleHBsaWNpdF9kb25lIC0g
V2FpdCBmb3IgYW4gZXhwbGljaXQgY2FsbCB0byBkb25lKCkgYmVmb3JlIGRlY2xhcmluZyBhbGwg
dGVzdHMNCisgKiAgICAgICAgICAgICAgICAgY29tcGxldGUgKHNlZSBiZWxvdykNCisgKg0KKyAq
IG91dHB1dF9kb2N1bWVudCAtIFRoZSBkb2N1bWVudCB0byB3aGljaCByZXN1bHRzIHNob3VsZCBi
ZSBsb2dnZWQuIEJ5IGRlZmF1bHQgdGhpcyBpcw0KKyAqICAgICAgICAgICAgICAgICAgIHRoZSBj
dXJyZW50IGRvY3VtZW50IGJ1dCBjb3VsZCBiZSBhbiBhbmNlc3RvciBkb2N1bWVudCBpbiBzb21l
IGNhc2VzDQorICogICAgICAgICAgICAgICAgICAgZS5nLiBhIFNWRyB0ZXN0IGxvYWRlZCBpbiBh
biBIVE1MIHdyYXBwZXINCisgKg0KKyAqID09IERldGVybWluaW5nIHdoZW4gYWxsIHRlc3RzIGFy
ZSBjb21wbGV0ZSA9PQ0KKyAqDQorICogQnkgZGVmYXVsdCB0aGUgdGVzdCBoYXJuZXNzIHdpbGwg
YXNzdW1lIHRoZXJlIGFyZSBubyBtb3JlIHJlc3VsdHMgdG8gY29tZQ0KKyAqIHdoZW46DQorICog
MSkgVGhlcmUgYXJlIG5vIFRlc3Qgb2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIGJ1dCBu
b3QgY29tcGxldGVkDQorICogMikgVGhlIGxvYWQgZXZlbnQgb24gdGhlIGRvY3VtZW50IGhhcyBm
aXJlZA0KKyAqDQorICogVGhpcyBiZWhhdmlvdXIgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc2V0dGlu
ZyB0aGUgZXhwbGljaXRfZG9uZSBwcm9wZXJ0eSB0byB0cnVlDQorICogaW4gYSBjYWxsIHRvIHNl
dHVwKCkuIElmIGV4cGxpY2l0X2RvbmUgaXMgdHJ1ZSwgdGhlIHRlc3QgaGFybmVzcyB3aWxsIG5v
dCBhc3N1bWUNCisgKiBpdCBpcyBkb25lIHVudGlsIHRoZSBnbG9iYWwgZG9uZSgpIGZ1bmN0aW9u
IGlzIGNhbGxlZC4gT25jZSBkb25lKCkgaXMgY2FsbGVkLCB0aGUNCisgKiB0d28gY29uZGl0aW9u
cyBhYm92ZSBhcHBseSBsaWtlIG5vcm1hbC4NCisgKg0KKyAqID09IEdlbmVyYXRpbmcgdGVzdHMg
PT0NCisgKg0KKyAqIE5PVEU6IHRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYmUgcmVtb3ZlZA0KKyAq
DQorICogVGhlcmUgYXJlIHNjZW5hcmlvcyBpbiB3aGljaCBpcyBpcyBkZXNpcmFibGUgdG8gY3Jl
YXRlIGEgbGFyZ2UgbnVtYmVyIG9mDQorICogKHN5bmNocm9ub3VzKSB0ZXN0cyB0aGF0IGFyZSBp
bnRlcm5hbGx5IHNpbWlsYXIgYnV0IHZhcnkgaW4gdGhlIHBhcmFtZXRlcnMNCisgKiB1c2VkLiBU
byBtYWtlIHRoaXMgZWFzaWVyLCB0aGUgZ2VuZXJhdGVfdGVzdHMgZnVuY3Rpb24gYWxsb3dzIGEg
c2luZ2xlDQorICogZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdpdGggZWFjaCBzZXQgb2YgcGFyYW1l
dGVycyBpbiBhIGxpc3Q6DQorICoNCisgKiBnZW5lcmF0ZV90ZXN0cyh0ZXN0X2Z1bmN0aW9uLCBw
YXJhbWV0ZXJfbGlzdHMpDQorICoNCisgKiBGb3IgZXhhbXBsZToNCisgKg0KKyAqIGdlbmVyYXRl
X3Rlc3RzKGFzc2VydF9lcXVhbHMsIFsNCisgKiAgICAgWyJTdW0gb25lIGFuZCBvbmUiLCAxKzEs
IDJdLA0KKyAqICAgICBbIlN1bSBvbmUgYW5kIHplcm8iLCAxKzAsIDFdDQorICogICAgIF0pDQor
ICoNCisgKiBJcyBlcXVpdmFsZW50IHRvOg0KKyAqDQorICogdGVzdChmdW5jdGlvbigpIHthc3Nl
cnRfZXF1YWxzKDErMSwgMil9LCAiU3VtIG9uZSBhbmQgb25lIikNCisgKiB0ZXN0KGZ1bmN0aW9u
KCkge2Fzc2VydF9lcXVhbHMoMSswLCAxKX0sICJTdW0gb25lIGFuZCB6ZXJvIikNCisgKg0KKyAq
IE5vdGUgdGhhdCB0aGUgZmlyc3QgaXRlbSBpbiBlYWNoIHBhcmFtZXRlciBsaXN0IGNvcnJlc3Bv
bmRzIHRvIHRoZSBuYW1lIG9mDQorICogdGhlIHRlc3QuDQorICoNCisgKiA9PSBDYWxsYmFjayBB
UEkgPT0NCisgKg0KKyAqIFRoZSBmcmFtZXdvcmsgcHJvdmlkZXMgY2FsbGJhY2tzIGNvcnJlc3Bv
bmRpbmcgdG8gMyBldmVudHM6DQorICoNCisgKiBzdGFydCAtIGhhcHBlbnMgd2hlbiB0aGUgZmly
c3QgVGVzdCBpcyBjcmVhdGVkDQorICogcmVzdWx0IC0gaGFwcGVucyB3aGVuIGEgdGVzdCByZXN1
bHQgaXMgcmVjaWV2ZWQNCisgKiBjb21wbGV0ZSAtIGhhcHBlbnMgd2hlbiBhbGwgcmVzdWx0cyBh
cmUgcmVjaWV2ZWQNCisgKg0KKyAqIFRoZSBwYWdlIGRlZmluaW5nIHRoZSB0ZXN0cyBtYXkgYWRk
IGNhbGxiYWNrcyBmb3IgdGhlc2UgZXZlbnRzIGJ5IGNhbGxpbmcNCisgKiB0aGUgZm9sbG93aW5n
IG1ldGhvZHM6DQorICoNCisgKiAgIGFkZF9zdGFydF9jYWxsYmFjayhjYWxsYmFjaykgLSBjYWxs
YmFjayBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMNCisgKiAgIGFkZF9yZXN1bHRfY2FsbGJhY2so
Y2FsbGJhY2spIC0gY2FsbGJhY2sgY2FsbGVkIHdpdGggYSB0ZXN0IGFyZ3VtZW50DQorICogICBh
ZGRfY29tcGxldGlvbl9jYWxsYmFjayhjYWxsYmFjaykgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBh
biBhcnJheSBvZiB0ZXN0cw0KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYW5kIGFuIHN0YXR1cyBvYmplY3QNCisgKg0KKyAqIHRlc3RzIGhhdmUgdGhlIGZvbGxvd2lu
ZyBwcm9wZXJ0aWVzOg0KKyAqICAgc3RhdHVzOiBBIHN0YXR1cyBjb2RlLiBUaGlzIGNhbiBiZSBj
b21wYXJlZCB0byB0aGUgUEFTUywgRkFJTCwgVElNRU9VVCBhbmQNCisgKiAgICAgICAgICAgTk9U
UlVOIHByb3BlcnRpZXMgb24gdGhlIHRlc3Qgb2JqZWN0DQorICogICBtZXNzYWdlOiBBIG1lc3Nh
Z2UgaW5kaWNhdGluZyB0aGUgcmVhc29uIGZvciBmYWlsdXJlLiBJbiB0aGUgZnV0dXJlIHRoaXMN
CisgKiAgICAgICAgICAgIHdpbGwgYWx3YXlzIGJlIGEgc3RyaW5nDQorICoNCisgKiAgVGhlIHN0
YXR1cyBvYmplY3QgZ2l2ZXMgdGhlIG92ZXJhbGwgc3RhdHVzIG9mIHRoZSBoYXJuZXNzLiBJdCBo
YXMgdGhlDQorICogIGZvbGxvd2luZyBwcm9wZXJ0aWVzOg0KKyAqICAgIHN0YXR1czogQ2FuIGJl
IGNvbXBhcmVkIHRvIHRoZSBPSywgRVJST1IgYW5kIFRJTUVPVVQgcHJvcGVydGllcw0KKyAqICAg
IG1lc3NhZ2U6IEFuIGVycm9yIG1lc3NhZ2Ugc2V0IHdoZW4gdGhlIHN0YXR1cyBpcyBFUlJPUg0K
KyAqDQorICogPT0gRXh0ZXJuYWwgQVBJID09DQorICoNCisgKiBJbiBvcmRlciB0byBjb2xsZWN0
IHRoZSByZXN1bHRzIG9mIG11bHRpcGxlIHBhZ2VzIGNvbnRhaW5pbmcgdGVzdHMsIHRoZSB0ZXN0
DQorICogaGFybmVzcyB3aWxsLCB3aGVuIGxvYWRlZCBpbiBhIG5lc3RlZCBicm93c2luZyBjb250
ZXh0LCBhdHRlbXB0IHRvIGNhbGwNCisgKiBjZXJ0YWluIGZ1bmN0aW9ucyBpbiBlYWNoIGFuY2Vz
dG9yIGJyb3dzaW5nIGNvbnRleHQ6DQorICoNCisgKiBzdGFydCAtIHN0YXJ0X2NhbGxiYWNrDQor
ICogcmVzdWx0IC0gcmVzdWx0X2NhbGxiYWNrDQorICogY29tcGxldGUgLSBjb21wbGV0aW9uX2Nh
bGxiYWNrDQorICoNCisgKiBUaGVzZSBhcmUgZ2l2ZW4gdGhlIHNhbWUgYXJndW1lbnRzIGFzIHRo
ZSBjb3JyZXNwb25kaW5nIGludGVybmFsIGNhbGxiYWNrcw0KKyAqIGRlc2NyaWJlZCBhYm92ZS4N
CisgKg0KKyAqID09IExpc3Qgb2YgYXNzZXJ0aW9ucyA9PQ0KKyAqDQorICogYXNzZXJ0X3RydWUo
YWN0dWFsLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgdGhhdCAvYWN0dWFsLyBpcyBzdHJp
Y3RseSB0cnVlDQorICoNCisgKiBhc3NlcnRfZmFsc2UoYWN0dWFsLCBkZXNjcmlwdGlvbikNCisg
KiAgIGFzc2VydHMgdGhhdCAvYWN0dWFsLyBpcyBzdHJpY3RseSBmYWxzZQ0KKyAqDQorICogYXNz
ZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMg
dGhhdCAvYWN0dWFsLyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyAvZXhwZWN0ZWQvDQorICoNCisgKiBh
c3NlcnRfbm90X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgKiAgIGFz
c2VydHMgdGhhdCAvYWN0dWFsLyBpcyBhIGRpZmZlcmVudCB2YWx1ZSB0byAvZXhwZWN0ZWQvLiBZ
ZXMsIHRoaXMgbWVhbnMNCisgKiAgIHRoYXQgImV4cGVjdGVkIiBpcyBhIG1pc25vbWVyDQorICoN
CisgKiBhc3NlcnRfaW5fYXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICog
ICBhc3NlcnRzIHRoYXQgL2V4cGVjdGVkLyBpcyBhbiBBcnJheSwgYW5kIC9hY3R1YWwvIGlzIGVx
dWFsIHRvIG9uZSBvZiB0aGUNCisgKiAgIG1lbWJlcnMgLS0gZXhwZWN0ZWQuaW5kZXhPZihhY3R1
YWwpICE9IC0xDQorICoNCisgKiBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQs
IGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGFuZCAvZXhwZWN0ZWQv
IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFuZCB0aGUgdmFsdWUgb2YNCisgKiAgIGVhY2ggaW5kZXhl
ZCBwcm9wZXJ0eSBpbiAvYWN0dWFsLyBpcyB0aGUgc3RyaWN0bHkgZXF1YWwgdG8gdGhlIGNvcnJl
c3BvbmRpbmcNCisgKiAgIHByb3BlcnR5IHZhbHVlIGluIC9leHBlY3RlZC8NCisgKg0KKyAqIGFz
c2VydF9hcHByb3hfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGVwc2lsb24sIGRlc2NyaXB0aW9u
KQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIGEgbnVtYmVyIHdpdGhpbiArLy0gL2Vw
c2lsb24vIG9mIC9leHBlY3RlZC8NCisgKg0KKyAqIGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFs
LCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2FjdHVhbC8gbWF0
Y2hlcyB0aGUgcmVnZXhwIC9leHBlY3RlZC8NCisgKg0KKyAqIGFzc2VydF9vd25fcHJvcGVydHko
b2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydCB0aGF0IG9i
amVjdCBoYXMgb3duIHByb3BlcnR5IHByb3BlcnR5X25hbWUNCisgKg0KKyAqIGFzc2VydF9pbmhl
cml0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0IHRo
YXQgb2JqZWN0IGRvZXMgbm90IGhhdmUgYW4gb3duIHByb3BlcnR5IG5hbWVkIHByb3BlcnR5X25h
bWUNCisgKiAgIGJ1dCB0aGF0IHByb3BlcnR5X25hbWUgaXMgcHJlc2VudCBpbiB0aGUgcHJvdG90
eXBlIGNoYWluIGZvciBvYmplY3QNCisgKg0KKyAqIGFzc2VydF9pZGxfYXR0cmlidXRlKG9iamVj
dCwgYXR0cmlidXRlX25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0IHRoYXQgYW4gb2Jq
ZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2Ygc29tZSBpbnRlcmZhY2UgaGFzIHRoZQ0KKyAqICAg
YXR0cmlidXRlIGF0dHJpYnV0ZV9uYW1lIGZvbGxvd2luZyB0aGUgY29uZGl0aW9ucyBzcGVjaWZp
ZWQgYnkgV2ViSURMDQorICoNCisgKiBhc3NlcnRfcmVhZG9ubHkob2JqZWN0LCBwcm9wZXJ0eV9u
YW1lLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydCB0aGF0IHByb3BlcnR5IHByb3BlcnR5X25h
bWUgb24gb2JqZWN0IGlzIHJlYWRvbmx5DQorICoNCisgKiBhc3NlcnRfdGhyb3dzKGNvZGUsIGZ1
bmMsIGRlc2NyaXB0aW9uKQ0KKyAqICAgY29kZSAtIGEgRE9NRXhjZXB0aW9uL1JhbmdlRXhjZXB0
aW9uIGNvZGUgYXMgYSBzdHJpbmcsIGUuZy4gIkhJRVJBUkNIWV9SRVFVRVNUX0VSUiINCisgKiAg
IGZ1bmMgLSBhIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIHRocm93DQorICoNCisgKiAgIGFzc2VydCB0
aGF0IGZ1bmMgdGhyb3dzIGEgRE9NRXhjZXB0aW9uIG9yIFJhbmdlRXhjZXB0aW9uIChhcyBhcHBy
b3ByaWF0ZSkNCisgKiAgIHdpdGggdGhlIGdpdmVuIGNvZGUuICBJZiBhbiBvYmplY3QgaXMgcGFz
c2VkIGZvciBjb2RlIGluc3RlYWQgb2YgYSBzdHJpbmcsDQorICogICBjaGVja3MgdGhhdCB0aGUg
dGhyb3duIGV4Y2VwdGlvbiBoYXMgYSBwcm9wZXJ0eSBjYWxsZWQgIm5hbWUiIHRoYXQgbWF0Y2hl
cw0KKyAqICAgdGhlIHByb3BlcnR5IG9mIGNvZGUgY2FsbGVkICJuYW1lIi4gIE5vdGUsIHRoaXMg
ZnVuY3Rpb24gd2lsbCBwcm9iYWJseSBiZQ0KKyAqICAgcmV3cml0dGVuIHNvbWV0aW1lIHRvIG1h
a2UgbW9yZSBzZW5zZS4NCisgKg0KKyAqIGFzc2VydF91bnJlYWNoZWQoZGVzY3JpcHRpb24pDQor
ICogICBhc3NlcnRzIGlmIGNhbGxlZC4gVXNlZCB0byBlbnN1cmUgdGhhdCBzb21lIGNvZGVwYXRo
IGlzICpub3QqIHRha2VuIGUuZy4NCisgKiAgIGFuIGV2ZW50IGRvZXMgbm90IGZpcmUuDQorICoN
CisgKiBhc3NlcnRfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQor
ICogICAqKiogZGVwcmVjYXRlZCAqKioNCisgKiAgIGFzc2VydHMgdGhhdCBvYmplY3QgaGFzIGFu
IG93biBwcm9wZXJ0eSBwcm9wZXJ0eV9uYW1lDQorICoNCisgKiBhc3NlcnRfbm90X2V4aXN0cyhv
YmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAqICAgKioqIGRlcHJlY2F0ZWQg
KioqDQorICogICBhc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
cHJvcGVydHlfbmFtZQ0KKyAqLw0KKw0KKyhmdW5jdGlvbiAoKQ0KK3sNCisgICAgdmFyIGRlYnVn
ID0gZmFsc2U7DQorICAgIC8vIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMsIHRlc3QgY2Fu
IG92ZXJyaWRlIGlmIG5lZWRlZA0KKyAgICB2YXIgc2V0dGluZ3MgPSB7DQorICAgICAgb3V0cHV0
OnRydWUsDQorICAgICAgdGltZW91dDo1MDAwLA0KKyAgICAgIHRlc3RfdGltZW91dDoyMDAwDQor
ICAgIH07DQorDQorICAgIHZhciB4aHRtbF9ucyA9ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIjsNCisNCisgICAgLy8gc2NyaXB0X3ByZWZpeCBpcyB1c2VkIGJ5IE91dHB1dC5wcm90b3R5
cGUuc2hvd19yZXN1bHRzKCkgdG8gZmlndXJlIG91dA0KKyAgICAvLyB3aGVyZSB0byBnZXQgdGVz
dGhhcm5lc3MuY3NzIGZyb20uICBJdCdzIGVuY2xvc2VkIGluIGFuIGV4dHJhIGNsb3N1cmUgdG8N
CisgICAgLy8gbm90IHBvbGx1dGUgdGhlIGxpYnJhcnkncyBuYW1lc3BhY2Ugd2l0aCB2YXJpYWJs
ZXMgbGlrZSAic3JjIi4NCisgICAgdmFyIHNjcmlwdF9wcmVmaXggPSBudWxsOw0KKyAgICAoZnVu
Y3Rpb24gKCkNCisgICAgew0KKyAgICAgICAgdmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7DQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNj
cmlwdHMubGVuZ3RoOyBpKyspDQorICAgICAgICB7DQorICAgICAgICAgICAgaWYgKHNjcmlwdHNb
aV0uc3JjKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIHNyYyA9IHNjcmlw
dHNbaV0uc3JjOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBlbHNlIGlmIChzY3JpcHRz
W2ldLmhyZWYpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAvL1NWRyBjYXNlDQor
ICAgICAgICAgICAgICAgIHZhciBzcmMgPSBzY3JpcHRzW2ldLmhyZWYuYmFzZVZhbDsNCisgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgaWYgKHNyYyAmJiBzcmMuc2xpY2Uoc3JjLmxlbmd0aCAt
ICJ0ZXN0aGFybmVzcy5qcyIubGVuZ3RoKSA9PT0gInRlc3RoYXJuZXNzLmpzIikNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHNjcmlwdF9wcmVmaXggPSBzcmMuc2xpY2UoMCwgc3Jj
Lmxlbmd0aCAtICJ0ZXN0aGFybmVzcy5qcyIubGVuZ3RoKTsNCisgICAgICAgICAgICAgICAgYnJl
YWs7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICB9KSgpOw0KKw0KKyAgICAvKg0K
KyAgICAgKiBBUEkgZnVuY3Rpb25zDQorICAgICAqLw0KKw0KKyAgICB2YXIgbmFtZV9jb3VudGVy
ID0gMDsNCisgICAgZnVuY3Rpb24gbmV4dF9kZWZhdWx0X25hbWUoKQ0KKyAgICB7DQorICAgICAg
ICAvL0Rvbid0IHVzZSBkb2N1bWVudC50aXRsZSB0byB3b3JrIGFyb3VuZCBhbiBPcGVyYSBidWcg
aW4gWEhUTUwgZG9jdW1lbnRzDQorICAgICAgICB2YXIgcHJlZml4ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInRpdGxlIikubGVuZ3RoID4gMCA/DQorICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpWzBdLmZpcnN0Q2hp
bGQuZGF0YSA6DQorICAgICAgICAgICAgICAgICAgICAgICAgICJVbnRpdGxlZCI7DQorICAgICAg
ICB2YXIgc3VmZml4ID0gbmFtZV9jb3VudGVyID4gMCA/ICIgIiArIG5hbWVfY291bnRlciA6ICIi
Ow0KKyAgICAgICAgbmFtZV9jb3VudGVyKys7DQorICAgICAgICByZXR1cm4gcHJlZml4ICsgc3Vm
Zml4Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIHRlc3QoZnVuYywgbmFtZSwgcHJvcGVydGll
cykNCisgICAgew0KKyAgICAgICAgdmFyIHRlc3RfbmFtZSA9IG5hbWUgPyBuYW1lIDogbmV4dF9k
ZWZhdWx0X25hbWUoKTsNCisgICAgICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzID8gcHJvcGVy
dGllcyA6IHt9Ow0KKyAgICAgICAgdmFyIHRlc3Rfb2JqID0gbmV3IFRlc3QodGVzdF9uYW1lLCBw
cm9wZXJ0aWVzKTsNCisgICAgICAgIHRlc3Rfb2JqLnN0ZXAoZnVuYyk7DQorICAgICAgICBpZiAo
dGVzdF9vYmouc3RhdHVzID09PSB0ZXN0X29iai5OT1RSVU4pIHsNCisgICAgICAgICAgICB0ZXN0
X29iai5kb25lKCk7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gYXN5bmNf
dGVzdChuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB2YXIgdGVzdF9uYW1lID0g
bmFtZSA/IG5hbWUgOiBuZXh0X2RlZmF1bHRfbmFtZSgpOw0KKyAgICAgICAgcHJvcGVydGllcyA9
IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVzIDoge307DQorICAgICAgICB2YXIgdGVzdF9vYmogPSBu
ZXcgVGVzdCh0ZXN0X25hbWUsIHByb3BlcnRpZXMpOw0KKyAgICAgICAgcmV0dXJuIHRlc3Rfb2Jq
Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIHNldHVwKGZ1bmNfb3JfcHJvcGVydGllcywgbWF5
YmVfcHJvcGVydGllcykNCisgICAgew0KKyAgICAgICAgdmFyIGZ1bmMgPSBudWxsOw0KKyAgICAg
ICAgdmFyIHByb3BlcnRpZXMgPSB7fTsNCisgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09
PSAyKSB7DQorICAgICAgICAgICAgZnVuYyA9IGZ1bmNfb3JfcHJvcGVydGllczsNCisgICAgICAg
ICAgICBwcm9wZXJ0aWVzID0gbWF5YmVfcHJvcGVydGllczsNCisgICAgICAgIH0gZWxzZSBpZiAo
ZnVuY19vcl9wcm9wZXJ0aWVzIGluc3RhbmNlb2YgRnVuY3Rpb24pew0KKyAgICAgICAgICAgIGZ1
bmMgPSBmdW5jX29yX3Byb3BlcnRpZXM7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAg
IHByb3BlcnRpZXMgPSBmdW5jX29yX3Byb3BlcnRpZXM7DQorICAgICAgICB9DQorICAgICAgICB0
ZXN0cy5zZXR1cChmdW5jLCBwcm9wZXJ0aWVzKTsNCisgICAgICAgIG91dHB1dC5zZXR1cChwcm9w
ZXJ0aWVzKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBkb25lKCkgew0KKyAgICAgICAgdGVz
dHMuZW5kX3dhaXQoKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBnZW5lcmF0ZV90ZXN0cyhm
dW5jLCBhcmdzKSB7DQorICAgICAgICBmb3JFYWNoKGFyZ3MsIGZ1bmN0aW9uKHgpDQorICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lID0geFswXTsNCisgICAg
ICAgICAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24oKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jLmFwcGx5KHRoaXMsIHguc2xp
Y2UoMSkpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICB9LCBuYW1lKTsNCisgICAgICAgICAg
ICAgICAgfSk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gb25fZXZlbnQob2JqZWN0LCBldmVu
dCwgY2FsbGJhY2spDQorICAgIHsNCisgICAgICBvYmplY3QuYWRkRXZlbnRMaXN0ZW5lcihldmVu
dCwgY2FsbGJhY2ssIGZhbHNlKTsNCisgICAgfQ0KKw0KKyAgICBleHBvc2UodGVzdCwgJ3Rlc3Qn
KTsNCisgICAgZXhwb3NlKGFzeW5jX3Rlc3QsICdhc3luY190ZXN0Jyk7DQorICAgIGV4cG9zZShn
ZW5lcmF0ZV90ZXN0cywgJ2dlbmVyYXRlX3Rlc3RzJyk7DQorICAgIGV4cG9zZShzZXR1cCwgJ3Nl
dHVwJyk7DQorICAgIGV4cG9zZShkb25lLCAnZG9uZScpOw0KKyAgICBleHBvc2Uob25fZXZlbnQs
ICdvbl9ldmVudCcpOw0KKw0KKyAgICAvKg0KKyAgICAgKiBSZXR1cm4gYSBzdHJpbmcgdHJ1bmNh
dGVkIHRvIHRoZSBnaXZlbiBsZW5ndGgsIHdpdGggLi4uIGFkZGVkIGF0IHRoZSBlbmQNCisgICAg
ICogaWYgaXQgd2FzIGxvbmdlci4NCisgICAgICovDQorICAgIGZ1bmN0aW9uIHRydW5jYXRlKHMs
IGxlbikNCisgICAgew0KKyAgICAgICAgaWYgKHMubGVuZ3RoID4gbGVuKSB7DQorICAgICAgICAg
ICAgcmV0dXJuIHMuc3Vic3RyaW5nKDAsIGxlbiAtIDMpICsgIi4uLiI7DQorICAgICAgICB9DQor
ICAgICAgICByZXR1cm4gczsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBmb3JtYXRfc3RyaW5n
KHN0cikgew0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgaSsrKSB7DQorICAgICAg
ICAgICAgdmFyIHJlcGxhY2UgPSAiXFwiOw0KKyAgICAgICAgICAgIHN3aXRjaCAoaSkgew0KKyAg
ICAgICAgICAgIGNhc2UgMDogcmVwbGFjZSArPSAiMCI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNh
c2UgMTogcmVwbGFjZSArPSAieDAxIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyOiByZXBs
YWNlICs9ICJ4MDIiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDM6IHJlcGxhY2UgKz0gIngw
MyI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgNDogcmVwbGFjZSArPSAieDA0IjsgYnJlYWs7
DQorICAgICAgICAgICAgY2FzZSA1OiByZXBsYWNlICs9ICJ4MDUiOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDY6IHJlcGxhY2UgKz0gIngwNiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2Ug
NzogcmVwbGFjZSArPSAieDA3IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSA4OiByZXBsYWNl
ICs9ICJiIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSA5OiByZXBsYWNlICs9ICJ0IjsgYnJl
YWs7DQorICAgICAgICAgICAgY2FzZSAxMDogcmVwbGFjZSArPSAibiI7IGJyZWFrOw0KKyAgICAg
ICAgICAgIGNhc2UgMTE6IHJlcGxhY2UgKz0gInYiOyBicmVhazsNCisgICAgICAgICAgICBjYXNl
IDEyOiByZXBsYWNlICs9ICJmIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxMzogcmVwbGFj
ZSArPSAiciI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMTQ6IHJlcGxhY2UgKz0gIngwZSI7
IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMTU6IHJlcGxhY2UgKz0gIngwZiI7IGJyZWFrOw0K
KyAgICAgICAgICAgIGNhc2UgMTY6IHJlcGxhY2UgKz0gIngxMCI7IGJyZWFrOw0KKyAgICAgICAg
ICAgIGNhc2UgMTc6IHJlcGxhY2UgKz0gIngxMSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2Ug
MTg6IHJlcGxhY2UgKz0gIngxMiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMTk6IHJlcGxh
Y2UgKz0gIngxMyI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjA6IHJlcGxhY2UgKz0gIngx
NCI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjE6IHJlcGxhY2UgKz0gIngxNSI7IGJyZWFr
Ow0KKyAgICAgICAgICAgIGNhc2UgMjI6IHJlcGxhY2UgKz0gIngxNiI7IGJyZWFrOw0KKyAgICAg
ICAgICAgIGNhc2UgMjM6IHJlcGxhY2UgKz0gIngxNyI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNh
c2UgMjQ6IHJlcGxhY2UgKz0gIngxOCI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjU6IHJl
cGxhY2UgKz0gIngxOSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjY6IHJlcGxhY2UgKz0g
IngxYSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjc6IHJlcGxhY2UgKz0gIngxYiI7IGJy
ZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjg6IHJlcGxhY2UgKz0gIngxYyI7IGJyZWFrOw0KKyAg
ICAgICAgICAgIGNhc2UgMjk6IHJlcGxhY2UgKz0gIngxZCI7IGJyZWFrOw0KKyAgICAgICAgICAg
IGNhc2UgMzA6IHJlcGxhY2UgKz0gIngxZSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMzE6
IHJlcGxhY2UgKz0gIngxZiI7IGJyZWFrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBz
dHIgPSBzdHIucmVwbGFjZShSZWdFeHAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgImciKSwgcmVw
bGFjZSk7DQorICAgICAgICB9DQorICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyIvZywgJ1xc
IicpDQorICAgIH0NCisNCisgICAgLyoNCisgICAgICogQ29udmVydCBhIHZhbHVlIHRvIGEgbmlj
ZSwgaHVtYW4tcmVhZGFibGUgc3RyaW5nDQorICAgICAqLw0KKyAgICBmdW5jdGlvbiBmb3JtYXRf
dmFsdWUodmFsKQ0KKyAgICB7DQorICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKQ0KKyAg
ICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiAiWyIgKyB2YWwubWFwKGZvcm1hdF92YWx1ZSku
am9pbigiLCAiKSArICJdIjsNCisgICAgICAgIH0NCisNCisgICAgICAgIHN3aXRjaCAodHlwZW9m
IHZhbCkNCisgICAgICAgIHsNCisgICAgICAgIGNhc2UgInN0cmluZyI6DQorICAgICAgICAgICAg
cmV0dXJuICciJyArIGZvcm1hdF9zdHJpbmcodmFsKSArICciJzsNCisgICAgICAgIGNhc2UgImJv
b2xlYW4iOg0KKyAgICAgICAgY2FzZSAidW5kZWZpbmVkIjoNCisgICAgICAgICAgICByZXR1cm4g
U3RyaW5nKHZhbCk7DQorICAgICAgICBjYXNlICJudW1iZXIiOg0KKyAgICAgICAgICAgIC8vIElu
IEphdmFTY3JpcHQsIC0wID09PSAwIGFuZCBTdHJpbmcoLTApID09ICIwIiwgc28gd2UgaGF2ZSB0
bw0KKyAgICAgICAgICAgIC8vIHNwZWNpYWwtY2FzZS4NCisgICAgICAgICAgICBpZiAodmFsID09
PSAtMCAmJiAxL3ZhbCA9PT0gLUluZmluaXR5KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgcmV0dXJuICItMCI7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHJldHVybiBT
dHJpbmcodmFsKTsNCisgICAgICAgIGNhc2UgIm9iamVjdCI6DQorICAgICAgICAgICAgaWYgKHZh
bCA9PT0gbnVsbCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJldHVybiAibnVs
bCI7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIC8vIFNwZWNpYWwtY2FzZSBOb2Rl
IG9iamVjdHMsIHNpbmNlIHRob3NlIGNvbWUgdXAgYSBsb3QgaW4gbXkgdGVzdHMuICBJDQorICAg
ICAgICAgICAgLy8gaWdub3JlIG5hbWVzcGFjZXMuICBJIHVzZSBkdWNrLXR5cGluZyBpbnN0ZWFk
IG9mIGluc3RhbmNlb2YsIGJlY2F1c2UNCisgICAgICAgICAgICAvLyBpbnN0YW5jZW9mIGRvZXNu
J3Qgd29yayBpZiB0aGUgbm9kZSBpcyBmcm9tIGFub3RoZXIgd2luZG93IChsaWtlIGFuDQorICAg
ICAgICAgICAgLy8gaWZyYW1lJ3MgY29udGVudFdpbmRvdyk6DQorICAgICAgICAgICAgLy8gaHR0
cDovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTEyMjk1DQorICAgICAg
ICAgICAgaWYgKCJub2RlVHlwZSIgaW4gdmFsDQorICAgICAgICAgICAgJiYgIm5vZGVOYW1lIiBp
biB2YWwNCisgICAgICAgICAgICAmJiAibm9kZVZhbHVlIiBpbiB2YWwNCisgICAgICAgICAgICAm
JiAiY2hpbGROb2RlcyIgaW4gdmFsKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAg
c3dpdGNoICh2YWwubm9kZVR5cGUpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgY2FzZSBOb2RlLkVMRU1FTlRfTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHZhciByZXQg
PSAiPCIgKyB2YWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpOw0KKyAgICAgICAgICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB2YWwuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykNCisgICAgICAg
ICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgKz0gIiAiICsgdmFs
LmF0dHJpYnV0ZXNbaV0ubmFtZSArICc9IicgKyB2YWwuYXR0cmlidXRlc1tpXS52YWx1ZSArICci
JzsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIHJldCArPSAi
PiIgKyB2YWwuaW5uZXJIVE1MICsgIjwvIiArIHZhbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgKyAi
PiI7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkVsZW1lbnQgbm9kZSAiICsgdHJ1bmNh
dGUocmV0LCA2MCk7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5URVhUX05PREU6DQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gJ1RleHQgbm9kZSAiJyArIHRydW5jYXRlKHZhbC5kYXRh
LCA2MCkgKyAnIic7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5QUk9DRVNTSU5HX0lOU1RS
VUNUSU9OX05PREU6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIlByb2Nlc3NpbmdJbnN0
cnVjdGlvbiBub2RlIHdpdGggdGFyZ2V0ICIgKyBmb3JtYXRfdmFsdWUodHJ1bmNhdGUodmFsLnRh
cmdldCwgNjApKSArICIgYW5kIGRhdGEgIiArIGZvcm1hdF92YWx1ZSh0cnVuY2F0ZSh2YWwuZGF0
YSwgNjApKTsNCisgICAgICAgICAgICAgICAgY2FzZSBOb2RlLkNPTU1FTlRfTk9ERToNCisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiAiQ29tbWVudCBub2RlIDwhLS0iICsgdHJ1bmNhdGUodmFs
LmRhdGEsIDYwKSArICItLT4iOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuRE9DVU1FTlRf
Tk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiRG9jdW1lbnQgbm9kZSB3aXRoICIg
KyB2YWwuY2hpbGROb2Rlcy5sZW5ndGggKyAodmFsLmNoaWxkTm9kZXMubGVuZ3RoID09IDEgPyAi
IGNoaWxkIiA6ICIgY2hpbGRyZW4iKTsNCisgICAgICAgICAgICAgICAgY2FzZSBOb2RlLkRPQ1VN
RU5UX1RZUEVfTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiRG9jdW1lbnRUeXBl
IG5vZGUiOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9E
RToNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiRG9jdW1lbnRGcmFnbWVudCBub2RlIHdp
dGggIiArIHZhbC5jaGlsZE5vZGVzLmxlbmd0aCArICh2YWwuY2hpbGROb2Rlcy5sZW5ndGggPT0g
MSA/ICIgY2hpbGQiIDogIiBjaGlsZHJlbiIpOw0KKyAgICAgICAgICAgICAgICBkZWZhdWx0Og0K
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJOb2RlIG9iamVjdCBvZiB1bmtub3duIHR5cGUi
Ow0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIC8v
IEZhbGwgdGhyb3VnaCB0byBkZWZhdWx0DQorICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAg
IHJldHVybiB0eXBlb2YgdmFsICsgJyAiJyArIHRydW5jYXRlKFN0cmluZyh2YWwpLCA2MCkgKyAn
Iic7DQorICAgICAgICB9DQorICAgIH0NCisgICAgZXhwb3NlKGZvcm1hdF92YWx1ZSwgImZvcm1h
dF92YWx1ZSIpOw0KKw0KKyAgICAvKg0KKyAgICAgKiBBc3NlcnRpb25zDQorICAgICAqLw0KKw0K
KyAgICBmdW5jdGlvbiBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQor
ICAgICAgICBhc3NlcnQoYWN0dWFsID09PSB0cnVlLCAiYXNzZXJ0X3RydWUiLCBkZXNjcmlwdGlv
biwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCB0cnVlIGdvdCAk
e2FjdHVhbH0iLCB7YWN0dWFsOmFjdHVhbH0pOw0KKyAgICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0
X3RydWUsICJhc3NlcnRfdHJ1ZSIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfZmFsc2UoYWN0
dWFsLCBkZXNjcmlwdGlvbikNCisgICAgew0KKyAgICAgICAgYXNzZXJ0KGFjdHVhbCA9PT0gZmFs
c2UsICJhc3NlcnRfZmFsc2UiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZXhwZWN0ZWQgZmFsc2UgZ290ICR7YWN0dWFsfSIsIHthY3R1YWw6YWN0dWFs
fSk7DQorICAgIH07DQorICAgIGV4cG9zZShhc3NlcnRfZmFsc2UsICJhc3NlcnRfZmFsc2UiKTsN
CisNCisgICAgZnVuY3Rpb24gc2FtZV92YWx1ZSh4LCB5KSB7DQorICAgICAgICBpZiAoeSAhPT0g
eSkNCisgICAgICAgIHsNCisgICAgICAgICAgICAvL05hTiBjYXNlDQorICAgICAgICAgICAgcmV0
dXJuIHggIT09IHg7DQorICAgICAgICB9DQorICAgICAgICBlbHNlIGlmICh4ID09PSAwICYmIHkg
PT09IDApIHsNCisgICAgICAgICAgICAvL0Rpc3Rpbmd1aXNoICswIGFuZCAtMA0KKyAgICAgICAg
ICAgIHJldHVybiAxL3ggPT09IDEveTsNCisgICAgICAgIH0NCisgICAgICAgIGVsc2UNCisgICAg
ICAgIHsNCisgICAgICAgICAgICAvL3R5cGljYWwgY2FzZQ0KKyAgICAgICAgICAgIHJldHVybiB4
ID09PSB5Ow0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgICAvKg0K
KyAgICAgICAgICAqIFRlc3QgaWYgdHdvIHByaW1pdGl2ZXMgYXJlIGVxdWFsIG9yIHR3byBvYmpl
Y3RzDQorICAgICAgICAgICogYXJlIHRoZSBzYW1lIG9iamVjdA0KKyAgICAgICAgICAqLw0KKyAg
ICAgICAgYXNzZXJ0KHNhbWVfdmFsdWUoYWN0dWFsLCBleHBlY3RlZCksICJhc3NlcnRfZXF1YWxz
IiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImV4cGVjdGVkICR7ZXhwZWN0ZWR9IGJ1dCBnb3QgJHthY3R1YWx9IiwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZXhwZWN0ZWQ6ZXhwZWN0ZWQs
IGFjdHVhbDphY3R1YWx9KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2VydF9lcXVhbHMsICJh
c3NlcnRfZXF1YWxzIik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVh
bCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICAgLyoNCisgICAgICAg
ICAgKiBUZXN0IGlmIHR3byBwcmltaXRpdmVzIGFyZSB1bmVxdWFsIG9yIHR3byBvYmplY3RzDQor
ICAgICAgICAgICogYXJlIGRpZmZlcmVudCBvYmplY3RzDQorICAgICAgICAgICovDQorICAgICAg
ICBhc3NlcnQoIXNhbWVfdmFsdWUoYWN0dWFsLCBleHBlY3RlZCksICJhc3NlcnRfbm90X2VxdWFs
cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZ290IGRpc2FsbG93ZWQgdmFsdWUgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FjdHVhbDphY3R1YWx9KTsNCisgICAg
fTsNCisgICAgZXhwb3NlKGFzc2VydF9ub3RfZXF1YWxzLCAiYXNzZXJ0X25vdF9lcXVhbHMiKTsN
CisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X2luX2FycmF5KGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2Ny
aXB0aW9uKQ0KKyAgICB7DQorICAgICAgICBhc3NlcnQoZXhwZWN0ZWQuaW5kZXhPZihhY3R1YWwp
ICE9IC0xLCAiYXNzZXJ0X2luX2FycmF5IiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUgJHthY3R1YWx9IG5vdCBpbiBh
cnJheSAke2V4cGVjdGVkfSIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7YWN0dWFsOmFjdHVhbCwgZXhwZWN0ZWQ6ZXhwZWN0ZWR9KTsNCisgICAgfQ0K
KyAgICBleHBvc2UoYXNzZXJ0X2luX2FycmF5LCAiYXNzZXJ0X2luX2FycmF5Iik7DQorDQorICAg
IGZ1bmN0aW9uIGFzc2VydF9vYmplY3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKQ0KKyAgICB7DQorICAgICAgICAgLy9UaGlzIG5lZWRzIHRvIGJlIGltcHJvdmVkIGEgZ3Jl
YXQgZGVhbA0KKyAgICAgICAgIGZ1bmN0aW9uIGNoZWNrX2VxdWFsKGV4cGVjdGVkLCBhY3R1YWws
IHN0YWNrKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgc3RhY2sucHVzaChhY3R1YWwpOw0K
Kw0KKyAgICAgICAgICAgICB2YXIgcDsNCisgICAgICAgICAgICAgZm9yIChwIGluIGFjdHVhbCkN
CisgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgYXNzZXJ0KGV4cGVjdGVkLmhhc093
blByb3BlcnR5KHApLCAiYXNzZXJ0X29iamVjdF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuZXhwZWN0
ZWQgcHJvcGVydHkgJHtwfSIsIHtwOnB9KTsNCisNCisgICAgICAgICAgICAgICAgIGlmICh0eXBl
b2YgYWN0dWFsW3BdID09PSAib2JqZWN0IiAmJiBhY3R1YWxbcF0gIT09IG51bGwpDQorICAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YWNrLmluZGV4T2YoYWN0
dWFsW3BdKSA9PT0gLTEpDQorICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGVja19lcXVhbChhY3R1YWxbcF0sIGV4cGVjdGVkW3BdLCBzdGFjayk7DQor
ICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAg
ICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgIGFz
c2VydChhY3R1YWxbcF0gPT09IGV4cGVjdGVkW3BdLCAiYXNzZXJ0X29iamVjdF9lcXVhbHMiLCBk
ZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInByb3BlcnR5ICR7cH0gZXhwZWN0ZWQgJHtleHBlY3RlZH0gZ290ICR7YWN0
dWFsfSIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHtwOnAsIGV4cGVjdGVkOmV4cGVjdGVkLCBhY3R1YWw6YWN0dWFsfSk7DQorICAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgZm9yIChwIGluIGV4
cGVjdGVkKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBhc3NlcnQoYWN0dWFs
Lmhhc093blByb3BlcnR5KHApLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJhc3NlcnRfb2Jq
ZWN0X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJleHBl
Y3RlZCBwcm9wZXJ0eSAke3B9IG1pc3NpbmciLCB7cDpwfSk7DQorICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAgc3RhY2sucG9wKCk7DQorICAgICAgICAgfQ0KKyAgICAgICAgIGNoZWNrX2Vx
dWFsKGFjdHVhbCwgZXhwZWN0ZWQsIFtdKTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2VydF9v
YmplY3RfZXF1YWxzLCAiYXNzZXJ0X29iamVjdF9lcXVhbHMiKTsNCisNCisgICAgZnVuY3Rpb24g
YXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgICAg
ew0KKyAgICAgICAgYXNzZXJ0KGFjdHVhbC5sZW5ndGggPT09IGV4cGVjdGVkLmxlbmd0aCwNCisg
ICAgICAgICAgICAgICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAg
ICAgICAgICAgICJsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgJHtleHBlY3RlZH0gZ290ICR7YWN0
dWFsfSIsDQorICAgICAgICAgICAgICAge2V4cGVjdGVkOmV4cGVjdGVkLmxlbmd0aCwgYWN0dWFs
OmFjdHVhbC5sZW5ndGh9KTsNCisNCisgICAgICAgIGZvciAodmFyIGk9MDsgaSA8IGFjdHVhbC5s
ZW5ndGg7IGkrKykNCisgICAgICAgIHsNCisgICAgICAgICAgICBhc3NlcnQoYWN0dWFsLmhhc093
blByb3BlcnR5KGkpID09PSBleHBlY3RlZC5oYXNPd25Qcm9wZXJ0eShpKSwNCisgICAgICAgICAg
ICAgICAgICAgImFzc2VydF9hcnJheV9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAg
ICAgICAgICAgInByb3BlcnR5ICR7aX0sIHByb3BlcnR5IGV4cGVjdGVkIHRvIGJlICRleHBlY3Rl
ZCBidXQgd2FzICRhY3R1YWwiLA0KKyAgICAgICAgICAgICAgICAgICB7aTppLCBleHBlY3RlZDpl
eHBlY3RlZC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50IiA6ICJtaXNzaW5nIiwNCisgICAg
ICAgICAgICAgICAgICAgYWN0dWFsOmFjdHVhbC5oYXNPd25Qcm9wZXJ0eShpKSA/ICJwcmVzZW50
IiA6ICJtaXNzaW5nIn0pOw0KKyAgICAgICAgICAgIGFzc2VydChleHBlY3RlZFtpXSA9PT0gYWN0
dWFsW2ldLA0KKyAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2Ny
aXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtpfSwgZXhwZWN0ZWQgJHtl
eHBlY3RlZH0gYnV0IGdvdCAke2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgICAgICB7aTppLCBl
eHBlY3RlZDpleHBlY3RlZFtpXSwgYWN0dWFsOmFjdHVhbFtpXX0pOw0KKyAgICAgICAgfQ0KKyAg
ICB9DQorICAgIGV4cG9zZShhc3NlcnRfYXJyYXlfZXF1YWxzLCAiYXNzZXJ0X2FycmF5X2VxdWFs
cyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFscyhhY3R1YWwsIGV4cGVj
dGVkLCBlcHNpbG9uLCBkZXNjcmlwdGlvbikNCisgICAgew0KKyAgICAgICAgLyoNCisgICAgICAg
ICAqIFRlc3QgaWYgdHdvIHByaW1pdGl2ZSBudW1iZXJzIGFyZSBlcXVhbCB3aXRoaW5nICsvLSBl
cHNpbG9uDQorICAgICAgICAgKi8NCisgICAgICAgIGFzc2VydCh0eXBlb2YgYWN0dWFsID09PSAi
bnVtYmVyIiwNCisgICAgICAgICAgICAgICAiYXNzZXJ0X2FwcHJveF9lcXVhbHMiLCBkZXNjcmlw
dGlvbiwNCisgICAgICAgICAgICAgICAiZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICR7dHlw
ZV9hY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7dHlwZV9hY3R1YWw6dHlwZW9mIGFjdHVhbH0p
Ow0KKw0KKyAgICAgICAgYXNzZXJ0KE1hdGguYWJzKGFjdHVhbCAtIGV4cGVjdGVkKSA8PSBlcHNp
bG9uLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfYXBwcm94X2VxdWFscyIsIGRlc2NyaXB0aW9u
LA0KKyAgICAgICAgICAgICAgICJleHBlY3RlZCAke2V4cGVjdGVkfSArLy0gJHtlcHNpbG9ufSBi
dXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAgICAgICAgICAge2V4cGVjdGVkOmV4cGVjdGVkLCBh
Y3R1YWw6YWN0dWFsLCBlcHNpbG9uOmVwc2lsb259KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFz
c2VydF9hcHByb3hfZXF1YWxzLCAiYXNzZXJ0X2FwcHJveF9lcXVhbHMiKTsNCisNCisgICAgZnVu
Y3Rpb24gYXNzZXJ0X3JlZ2V4cF9tYXRjaChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikg
ew0KKyAgICAgICAgLyoNCisgICAgICAgICAqIFRlc3QgaWYgYSBzdHJpbmcgKGFjdHVhbCkgbWF0
Y2hlcyBhIHJlZ2V4cCAoZXhwZWN0ZWQpDQorICAgICAgICAgKi8NCisgICAgICAgIGFzc2VydChl
eHBlY3RlZC50ZXN0KGFjdHVhbCksDQorICAgICAgICAgICAgICAgImFzc2VydF9yZWdleHBfbWF0
Y2giLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0g
YnV0IGdvdCAke2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgIHtleHBlY3RlZDpleHBlY3RlZCwg
YWN0dWFsOmFjdHVhbH0pOw0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfcmVnZXhwX21hdGNo
LCAiYXNzZXJ0X3JlZ2V4cF9tYXRjaCIpOw0KKw0KKw0KKyAgICBmdW5jdGlvbiBfYXNzZXJ0X293
bl9wcm9wZXJ0eShuYW1lKSB7DQorICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBwcm9w
ZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbikNCisgICAgICAgIHsNCisgICAgICAgICAgICBhc3NlcnQo
b2JqZWN0Lmhhc093blByb3BlcnR5KHByb3BlcnR5X25hbWUpLA0KKyAgICAgICAgICAgICAgICAg
ICBuYW1lLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIHByb3Bl
cnR5ICR7cH0gbWlzc2luZyIsIHtwOnByb3BlcnR5X25hbWV9KTsNCisgICAgICAgIH07DQorICAg
IH0NCisgICAgZXhwb3NlKF9hc3NlcnRfb3duX3Byb3BlcnR5KCJhc3NlcnRfZXhpc3RzIiksICJh
c3NlcnRfZXhpc3RzIik7DQorICAgIGV4cG9zZShfYXNzZXJ0X293bl9wcm9wZXJ0eSgiYXNzZXJ0
X293bl9wcm9wZXJ0eSIpLCAiYXNzZXJ0X293bl9wcm9wZXJ0eSIpOw0KKw0KKyAgICBmdW5jdGlv
biBhc3NlcnRfbm90X2V4aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0K
KyAgICB7DQorICAgICAgICBhc3NlcnQoIW9iamVjdC5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eV9u
YW1lKSwNCisgICAgICAgICAgICAgICAiYXNzZXJ0X25vdF9leGlzdHMiLCBkZXNjcmlwdGlvbiwN
CisgICAgICAgICAgICAgICAidW5leHBlY3RlZCBwcm9wZXJ0eSAke3B9IGZvdW5kIiwge3A6cHJv
cGVydHlfbmFtZX0pOw0KKyAgICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X25vdF9leGlzdHMsICJh
c3NlcnRfbm90X2V4aXN0cyIpOw0KKw0KKyAgICBmdW5jdGlvbiBfYXNzZXJ0X2luaGVyaXRzKG5h
bWUpIHsNCisgICAgICAgIHJldHVybiBmdW5jdGlvbiAob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBk
ZXNjcmlwdGlvbikNCisgICAgICAgIHsNCisgICAgICAgICAgICBhc3NlcnQodHlwZW9mIG9iamVj
dCA9PT0gIm9iamVjdCIsDQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0K
KyAgICAgICAgICAgICAgICAgICAicHJvdmlkZWQgdmFsdWUgaXMgbm90IGFuIG9iamVjdCIpOw0K
Kw0KKyAgICAgICAgICAgIGFzc2VydCgiaGFzT3duUHJvcGVydHkiIGluIG9iamVjdCwNCisgICAg
ICAgICAgICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJw
cm92aWRlZCB2YWx1ZSBpcyBhbiBvYmplY3QgYnV0IGhhcyBubyBoYXNPd25Qcm9wZXJ0eSBtZXRo
b2QiKTsNCisNCisgICAgICAgICAgICBhc3NlcnQoIW9iamVjdC5oYXNPd25Qcm9wZXJ0eShwcm9w
ZXJ0eV9uYW1lKSwNCisgICAgICAgICAgICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb24sDQorICAg
ICAgICAgICAgICAgICAgICJwcm9wZXJ0eSAke3B9IGZvdW5kIG9uIG9iamVjdCBleHBlY3RlZCBp
biBwcm90b3R5cGUgY2hhaW4iLA0KKyAgICAgICAgICAgICAgICAgICB7cDpwcm9wZXJ0eV9uYW1l
fSk7DQorDQorICAgICAgICAgICAgYXNzZXJ0KHByb3BlcnR5X25hbWUgaW4gb2JqZWN0LA0KKyAg
ICAgICAgICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAg
InByb3BlcnR5ICR7cH0gbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbiIsDQorICAgICAgICAg
ICAgICAgICAgIHtwOnByb3BlcnR5X25hbWV9KTsNCisgICAgICAgIH07DQorICAgIH0NCisgICAg
ZXhwb3NlKF9hc3NlcnRfaW5oZXJpdHMoImFzc2VydF9pbmhlcml0cyIpLCAiYXNzZXJ0X2luaGVy
aXRzIik7DQorICAgIGV4cG9zZShfYXNzZXJ0X2luaGVyaXRzKCJhc3NlcnRfaWRsX2F0dHJpYnV0
ZSIpLCAiYXNzZXJ0X2lkbF9hdHRyaWJ1dGUiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Jl
YWRvbmx5KG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAg
ICAgICB2YXIgaW5pdGlhbF92YWx1ZSA9IG9iamVjdFtwcm9wZXJ0eV9uYW1lXTsNCisgICAgICAg
ICB0cnkgew0KKyAgICAgICAgICAgICAvL05vdGUgdGhhdCB0aGlzIGNhbiBoYXZlIHNpZGUgZWZm
ZWN0cyBpbiB0aGUgY2FzZSB3aGVyZQ0KKyAgICAgICAgICAgICAvL3RoZSBwcm9wZXJ0eSBoYXMg
UHV0Rm9yd2FyZHMNCisgICAgICAgICAgICAgb2JqZWN0W3Byb3BlcnR5X25hbWVdID0gaW5pdGlh
bF92YWx1ZSArICJhIjsgLy9YWFggdXNlIHNvbWUgb3RoZXIgdmFsdWUgaGVyZT8NCisgICAgICAg
ICAgICAgYXNzZXJ0KG9iamVjdFtwcm9wZXJ0eV9uYW1lXSA9PT0gaW5pdGlhbF92YWx1ZSwNCisg
ICAgICAgICAgICAgICAgICAgICJhc3NlcnRfcmVhZG9ubHkiLCBkZXNjcmlwdGlvbiwNCisgICAg
ICAgICAgICAgICAgICAgICJjaGFuZ2luZyBwcm9wZXJ0eSAke3B9IHN1Y2NlZWRlZCIsDQorICAg
ICAgICAgICAgICAgICAgICB7cDpwcm9wZXJ0eV9uYW1lfSk7DQorICAgICAgICAgfQ0KKyAgICAg
ICAgIGZpbmFsbHkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIG9iamVjdFtwcm9wZXJ0eV9u
YW1lXSA9IGluaXRpYWxfdmFsdWU7DQorICAgICAgICAgfQ0KKyAgICB9Ow0KKyAgICBleHBvc2Uo
YXNzZXJ0X3JlYWRvbmx5LCAiYXNzZXJ0X3JlYWRvbmx5Iik7DQorDQorICAgIGZ1bmN0aW9uIGFz
c2VydF90aHJvd3MoY29kZSwgZnVuYywgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIHRy
eQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGZ1bmMuY2FsbCh0aGlzKTsNCisgICAgICAgICAg
ICBhc3NlcnQoZmFsc2UsICJhc3NlcnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAg
ICAgICAgICAgICIke2Z1bmN9IGRpZCBub3QgdGhyb3ciLCB7ZnVuYzpmdW5jfSk7DQorICAgICAg
ICB9DQorICAgICAgICBjYXRjaChlKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChlIGlu
c3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgdGhyb3coZSk7DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmICh0eXBlb2YgY29kZSA9PT0gIm9iamVjdCIp
DQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBhc3NlcnQodHlwZW9mIGUgPT0gIm9i
amVjdCIgJiYgIm5hbWUiIGluIGUgJiYgZS5uYW1lID09IGNvZGUubmFtZSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAg
ICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2FjdHVhbH0gKCR7YWN0dWFsX25hbWV9KSBleHBl
Y3RlZCAke2V4cGVjdGVkfSAoJHtleHBlY3RlZF9uYW1lfSkiLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGFjdHVhbDplLCBhY3R1YWxfbmFtZTplLm5h
bWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOmNvZGUs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX25hbWU6Y29k
ZS5uYW1lfSk7DQorICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgdmFyIHJlcXVpcmVkX3Byb3BzID0ge307DQorICAgICAgICAgICAgcmVxdWlyZWRf
cHJvcHMuY29kZSA9IHsNCisgICAgICAgICAgICAgICAgSU5ERVhfU0laRV9FUlI6IDEsDQorICAg
ICAgICAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogMywNCisgICAgICAgICAgICAgICAg
V1JPTkdfRE9DVU1FTlRfRVJSOiA0LA0KKyAgICAgICAgICAgICAgICBJTlZBTElEX0NIQVJBQ1RF
Ul9FUlI6IDUsDQorICAgICAgICAgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUjog
NywNCisgICAgICAgICAgICAgICAgTk9UX0ZPVU5EX0VSUjogOCwNCisgICAgICAgICAgICAgICAg
Tk9UX1NVUFBPUlRFRF9FUlI6IDksDQorICAgICAgICAgICAgICAgIElOVkFMSURfU1RBVEVfRVJS
OiAxMSwNCisgICAgICAgICAgICAgICAgU1lOVEFYX0VSUjogMTIsDQorICAgICAgICAgICAgICAg
IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjogMTMsDQorICAgICAgICAgICAgICAgIE5BTUVTUEFD
RV9FUlI6IDE0LA0KKyAgICAgICAgICAgICAgICBJTlZBTElEX0FDQ0VTU19FUlI6IDE1LA0KKyAg
ICAgICAgICAgICAgICBUWVBFX01JU01BVENIX0VSUjogMTcsDQorICAgICAgICAgICAgICAgIFNF
Q1VSSVRZX0VSUjogMTgsDQorICAgICAgICAgICAgICAgIE5FVFdPUktfRVJSOiAxOSwNCisgICAg
ICAgICAgICAgICAgQUJPUlRfRVJSOiAyMCwNCisgICAgICAgICAgICAgICAgVVJMX01JU01BVENI
X0VSUjogMjEsDQorICAgICAgICAgICAgICAgIFFVT1RBX0VYQ0VFREVEX0VSUjogMjIsDQorICAg
ICAgICAgICAgICAgIFRJTUVPVVRfRVJSOiAyMywNCisgICAgICAgICAgICAgICAgSU5WQUxJRF9O
T0RFX1RZUEVfRVJSOiAyNCwNCisgICAgICAgICAgICAgICAgREFUQV9DTE9ORV9FUlI6IDI1LA0K
KyAgICAgICAgICAgIH1bY29kZV07DQorICAgICAgICAgICAgaWYgKHJlcXVpcmVkX3Byb3BzLmNv
ZGUgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRocm93
IG5ldyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IHVucmVjb2duaXplZCBET01FeGNlcHRpb24g
Y29kZSAiJyArIGNvZGUgKyAnIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpJyk7DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgIHJlcXVpcmVkX3Byb3BzW2NvZGVdID0gcmVxdWlyZWRfcHJv
cHMuY29kZTsNCisgICAgICAgICAgICAvL1VuY29tbWVudCB0aGlzIHdoZW4gdGhlIGxhdGVzdCB2
ZXJzaW9uIG9mIGV2ZXJ5IGJyb3dzZXINCisgICAgICAgICAgICAvL2FjdHVhbGx5IGltcGxlbWVu
dHMgdGhlIHNwZWM7IG90aGVyd2lzZSBpdCBqdXN0IGNyZWF0ZXMNCisgICAgICAgICAgICAvL3pp
bGxpb25zIG9mIGZhaWx1cmVzLiAgQWxzbyBkbyByZXF1aXJlZF9wcm9wcy50eXBlLg0KKyAgICAg
ICAgICAgIC8vcmVxdWlyZWRfcHJvcHMubmFtZSA9IGNvZGU7DQorICAgICAgICAgICAgLy8NCisg
ICAgICAgICAgICAvL1dlJ2QgbGlrZSB0byB0ZXN0IHRoYXQgZSBpbnN0YW5jZW9mIHRoZSBhcHBy
b3ByaWF0ZSBpbnRlcmZhY2UsDQorICAgICAgICAgICAgLy9idXQgd2UgY2FuJ3QsIGJlY2F1c2Ug
d2UgZG9uJ3Qga25vdyB3aGF0IHdpbmRvdyBpdCB3YXMgY3JlYXRlZA0KKyAgICAgICAgICAgIC8v
aW4uICBJdCBtaWdodCBiZSBhbiBpbnN0YW5jZW9mIHRoZSBhcHByb3ByaWF0ZSBpbnRlcmZhY2Ug
b24gc29tZQ0KKyAgICAgICAgICAgIC8vdW5rbm93biBvdGhlciB3aW5kb3cuICBUT0RPOiBXb3Jr
IGFyb3VuZCB0aGlzIHNvbWVob3c/DQorDQorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBlID09
ICJvYmplY3QiLA0KKyAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X3Rocm93cyIsIGRlc2NyaXB0
aW9uLA0KKyAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHdpdGggdHlwZSAk
e3R5cGV9LCBub3QgYW4gb2JqZWN0IiwNCisgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywg
ZTplLCB0eXBlOnR5cGVvZiBlfSk7DQorDQorICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBy
ZXF1aXJlZF9wcm9wcykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGFzc2VydCh0
eXBlb2YgZSA9PSAib2JqZWN0IiAmJiBwcm9wIGluIGUgJiYgZVtwcm9wXSA9PSByZXF1aXJlZF9w
cm9wc1twcm9wXSwNCisgICAgICAgICAgICAgICAgICAgICAgICJhc3NlcnRfdGhyb3dzIiwgZGVz
Y3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICAgICAiJHtmdW5jfSB0aHJldyAke2V9IHRo
YXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uICIgKyBjb2RlICsgIjogcHJvcGVydHkgJHtwcm9wfSBp
cyBlcXVhbCB0byAke2FjdHVhbH0sIGV4cGVjdGVkICR7ZXhwZWN0ZWR9IiwNCisgICAgICAgICAg
ICAgICAgICAgICAgIHtmdW5jOmZ1bmMsIGU6ZSwgcHJvcDpwcm9wLCBhY3R1YWw6ZVtwcm9wXSwg
ZXhwZWN0ZWQ6cmVxdWlyZWRfcHJvcHNbcHJvcF19KTsNCisgICAgICAgICAgICB9DQorICAgICAg
ICB9DQorICAgIH0NCisgICAgZXhwb3NlKGFzc2VydF90aHJvd3MsICJhc3NlcnRfdGhyb3dzIik7
DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF91bnJlYWNoZWQoZGVzY3JpcHRpb24pIHsNCisgICAg
ICAgICBhc3NlcnQoZmFsc2UsICJhc3NlcnRfdW5yZWFjaGVkIiwgZGVzY3JpcHRpb24sDQorICAg
ICAgICAgICAgICAgICJSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUiKTsNCisgICAgfQ0KKyAgICBl
eHBvc2UoYXNzZXJ0X3VucmVhY2hlZCwgImFzc2VydF91bnJlYWNoZWQiKTsNCisNCisgICAgZnVu
Y3Rpb24gVGVzdChuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB0aGlzLm5hbWUg
PSBuYW1lOw0KKyAgICAgICAgdGhpcy5zdGF0dXMgPSB0aGlzLk5PVFJVTjsNCisgICAgICAgIHRo
aXMudGltZW91dF9pZCA9IG51bGw7DQorICAgICAgICB0aGlzLmlzX2RvbmUgPSBmYWxzZTsNCisN
CisgICAgICAgIHRoaXMudGltZW91dF9sZW5ndGggPSBwcm9wZXJ0aWVzLnRpbWVvdXQgPyBwcm9w
ZXJ0aWVzLnRpbWVvdXQgOiBzZXR0aW5ncy50ZXN0X3RpbWVvdXQ7DQorDQorICAgICAgICB0aGlz
Lm1lc3NhZ2UgPSBudWxsOw0KKw0KKyAgICAgICAgdmFyIHRoaXNfb2JqID0gdGhpczsNCisgICAg
ICAgIHRoaXMuc3RlcHMgPSBbXTsNCisNCisgICAgICAgIHRlc3RzLnB1c2godGhpcyk7DQorICAg
IH0NCisNCisgICAgVGVzdC5wcm90b3R5cGUgPSB7DQorICAgICAgICBQQVNTOjAsDQorICAgICAg
ICBGQUlMOjEsDQorICAgICAgICBUSU1FT1VUOjIsDQorICAgICAgICBOT1RSVU46Mw0KKyAgICB9
Ow0KKw0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS5zdGVwID0gZnVuY3Rpb24oZnVuYywgdGhpc19v
YmopDQorICAgIHsNCisgICAgICAgIC8vSW4gY2FzZSB0aGUgdGVzdCBoYXMgYWxyZWFkeSBmYWls
ZWQNCisgICAgICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gdGhpcy5OT1RSVU4pDQorICAgICAgICB7
DQorICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisNCisgICAgICAgIHRlc3RzLnN0YXJ0
ZWQgPSB0cnVlOw0KKw0KKyAgICAgICAgaWYgKHRoaXMudGltZW91dF9pZCA9PT0gbnVsbCkgew0K
KyAgICAgICAgICAgIHRoaXMuc2V0X3RpbWVvdXQoKTsNCisgICAgICAgIH0NCisNCisgICAgICAg
IHRoaXMuc3RlcHMucHVzaChmdW5jKTsNCisNCisgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3Ro
ID09PSAxKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXNfb2JqID0gdGhpczsNCisgICAg
ICAgIH0NCisNCisgICAgICAgIHRyeQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGZ1bmMuYXBw
bHkodGhpc19vYmosIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMikpOw0K
KyAgICAgICAgfQ0KKyAgICAgICAgY2F0Y2goZSkNCisgICAgICAgIHsNCisgICAgICAgICAgICAv
L1RoaXMgY2FuIGhhcHBlbiBpZiBzb21ldGhpbmcgY2FsbGVkIHN5bmNocm9ub3VzbHkgaW52b2tl
ZCBhbm90aGVyDQorICAgICAgICAgICAgLy9zdGVwDQorICAgICAgICAgICAgaWYgKHRoaXMuc3Rh
dHVzICE9PSB0aGlzLk5PVFJVTikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJl
dHVybjsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSB0aGlzLkZB
SUw7DQorICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gZS5tZXNzYWdlOw0KKyAgICAgICAgICAg
IGlmICh0eXBlb2YgZS5zdGFjayAhPSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZS5tZXNzYWdlID09
ICJzdHJpbmciKSB7DQorICAgICAgICAgICAgICAgIC8vVHJ5IHRvIG1ha2UgaXQgbW9yZSBpbmZv
cm1hdGl2ZSBmb3Igc29tZSBleGNlcHRpb25zLCBhdCBsZWFzdA0KKyAgICAgICAgICAgICAgICAv
L2luIEdlY2tvIGFuZCBXZWJLaXQuICBUaGlzIHJlc3VsdHMgaW4gYSBzdGFjayBkdW1wIGluc3Rl
YWQgb2YNCisgICAgICAgICAgICAgICAgLy9qdXN0IGVycm9ycyBsaWtlICJDYW5ub3QgcmVhZCBw
cm9wZXJ0eSAncGFyZW50Tm9kZScgb2YgbnVsbCINCisgICAgICAgICAgICAgICAgLy9vciAicm9v
dCBpcyBudWxsIi4gIE1ha2VzIGl0IGEgbG90IGxvbmdlciwgb2YgY291cnNlLg0KKyAgICAgICAg
ICAgICAgICB0aGlzLm1lc3NhZ2UgKz0gIihzdGFjazogIiArIGUuc3RhY2sgKyAiKSI7DQorICAg
ICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRoaXMuZG9uZSgpOw0KKyAgICAgICAgICAgIGlmIChk
ZWJ1ZyAmJiBlLmNvbnN0cnVjdG9yICE9PSBBc3NlcnRpb25FcnJvcikgew0KKyAgICAgICAgICAg
ICAgICB0aHJvdyBlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfTsNCisNCisg
ICAgVGVzdC5wcm90b3R5cGUuc3RlcF9mdW5jID0gZnVuY3Rpb24oZnVuYywgdGhpc19vYmopDQor
ICAgIHsNCisgICAgICAgIHZhciB0ZXN0X3RoaXMgPSB0aGlzOw0KKw0KKyAgICAgICAgaWYgKGFy
Z3VtZW50cy5sZW5ndGggPT09IDEpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhpc19vYmog
PSB0ZXN0X3RoaXM7DQorICAgICAgICB9DQorDQorICAgICAgICByZXR1cm4gZnVuY3Rpb24oKQ0K
KyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfdGhpcy5zdGVwLmFwcGx5KHRlc3RfdGhpcywg
W2Z1bmMsIHRoaXNfb2JqXS5jb25jYXQoDQorICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlw
ZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpKTsNCisgICAgICAgIH07DQorICAgIH07DQorDQorICAg
IFRlc3QucHJvdG90eXBlLnNldF90aW1lb3V0ID0gZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAg
ICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gc2V0VGlt
ZW91dChmdW5jdGlvbigpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNfb2JqLnRpbWVv
dXQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy50aW1l
b3V0X2xlbmd0aCk7DQorICAgIH07DQorDQorICAgIFRlc3QucHJvdG90eXBlLnRpbWVvdXQgPSBm
dW5jdGlvbigpDQorICAgIHsNCisgICAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5USU1FT1VUOw0K
KyAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gbnVsbDsNCisgICAgICAgIHRoaXMubWVzc2FnZSA9
ICJUZXN0IHRpbWVkIG91dCI7DQorICAgICAgICB0aGlzLmRvbmUoKTsNCisgICAgfTsNCisNCisg
ICAgVGVzdC5wcm90b3R5cGUuZG9uZSA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgaWYg
KHRoaXMuaXNfZG9uZSkgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAg
ICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRfaWQpOw0KKyAgICAgICAgaWYgKHRoaXMuc3Rh
dHVzID09PSB0aGlzLk5PVFJVTikNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLnN0YXR1
cyA9IHRoaXMuUEFTUzsNCisgICAgICAgIH0NCisgICAgICAgIHRoaXMuaXNfZG9uZSA9IHRydWU7
DQorICAgICAgICB0ZXN0cy5yZXN1bHQodGhpcyk7DQorICAgIH07DQorDQorDQorICAgIC8qDQor
ICAgICAqIEhhcm5lc3MNCisgICAgICovDQorDQorICAgIGZ1bmN0aW9uIFRlc3RzU3RhdHVzKCkN
CisgICAgew0KKyAgICAgICAgdGhpcy5zdGF0dXMgPSBudWxsOw0KKyAgICAgICAgdGhpcy5tZXNz
YWdlID0gbnVsbDsNCisgICAgfQ0KKyAgICBUZXN0c1N0YXR1cy5wcm90b3R5cGUgPSB7DQorICAg
ICAgICBPSzowLA0KKyAgICAgICAgRVJST1I6MSwNCisgICAgICAgIFRJTUVPVVQ6Mg0KKyAgICB9
Ow0KKw0KKyAgICBmdW5jdGlvbiBUZXN0cygpDQorICAgIHsNCisgICAgICAgIHRoaXMudGVzdHMg
PSBbXTsNCisgICAgICAgIHRoaXMubnVtX3BlbmRpbmcgPSAwOw0KKw0KKyAgICAgICAgdGhpcy5w
aGFzZXMgPSB7DQorICAgICAgICAgICAgSU5JVElBTDowLA0KKyAgICAgICAgICAgIFNFVFVQOjEs
DQorICAgICAgICAgICAgSEFWRV9URVNUUzoyLA0KKyAgICAgICAgICAgIEhBVkVfUkVTVUxUUzoz
LA0KKyAgICAgICAgICAgIENPTVBMRVRFOjQNCisgICAgICAgIH07DQorICAgICAgICB0aGlzLnBo
YXNlID0gdGhpcy5waGFzZXMuSU5JVElBTDsNCisNCisgICAgICAgIC8vQWxsIHRlc3RzIGNhbid0
IGJlIGRvbmUgdW50aWwgdGhlIGxvYWQgZXZlbnQgZmlyZXMNCisgICAgICAgIHRoaXMuYWxsX2xv
YWRlZCA9IGZhbHNlOw0KKyAgICAgICAgdGhpcy53YWl0X2Zvcl9maW5pc2ggPSBmYWxzZTsNCisg
ICAgICAgIHRoaXMucHJvY2Vzc2luZ19jYWxsYmFja3MgPSBmYWxzZTsNCisNCisgICAgICAgIHRo
aXMudGltZW91dF9sZW5ndGggPSBzZXR0aW5ncy50aW1lb3V0Ow0KKyAgICAgICAgdGhpcy50aW1l
b3V0X2lkID0gbnVsbDsNCisgICAgICAgIHRoaXMuc2V0X3RpbWVvdXQoKTsNCisNCisgICAgICAg
IHRoaXMuc3RhcnRfY2FsbGJhY2tzID0gW107DQorICAgICAgICB0aGlzLnRlc3RfZG9uZV9jYWxs
YmFja3MgPSBbXTsNCisgICAgICAgIHRoaXMuYWxsX2RvbmVfY2FsbGJhY2tzID0gW107DQorDQor
ICAgICAgICB0aGlzLnN0YXR1cyA9IG5ldyBUZXN0c1N0YXR1cygpOw0KKw0KKyAgICAgICAgdmFy
IHRoaXNfb2JqID0gdGhpczsNCisNCisgICAgICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLA0K
KyAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKQ0KKyAgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgIHRoaXNfb2JqLmFsbF9sb2FkZWQgPSB0cnVlOw0KKyAgICAgICAgICAg
ICAgICAgICAgIGlmICh0aGlzX29iai5hbGxfZG9uZSgpKQ0KKyAgICAgICAgICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc19vYmouY29tcGxldGUoKTsNCisgICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgIHRoaXMu
cHJvcGVydGllcyA9IHt9Ow0KKyAgICB9DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5zZXR1cCA9
IGZ1bmN0aW9uKGZ1bmMsIHByb3BlcnRpZXMpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBo
YXNlID49IHRoaXMucGhhc2VzLkhBVkVfUkVTVUxUUykNCisgICAgICAgIHsNCisgICAgICAgICAg
ICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAodGhpcy5waGFzZSA8IHRoaXMucGhh
c2VzLlNFVFVQKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBo
YXNlcy5TRVRVUDsNCisgICAgICAgIH0NCisNCisgICAgICAgIGZvciAodmFyIHAgaW4gcHJvcGVy
dGllcykNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAocHJvcGVydGllcy5oYXNPd25Qcm9w
ZXJ0eShwKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGll
c1twXSA9IHByb3BlcnRpZXNbcF07DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKw0KKyAg
ICAgICAgaWYgKHByb3BlcnRpZXMudGltZW91dCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0
aGlzLnRpbWVvdXRfbGVuZ3RoID0gcHJvcGVydGllcy50aW1lb3V0Ow0KKyAgICAgICAgICAgIHRo
aXMuc2V0X3RpbWVvdXQoKTsNCisgICAgICAgIH0NCisgICAgICAgIGlmIChwcm9wZXJ0aWVzLmV4
cGxpY2l0X2RvbmUpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhpcy53YWl0X2Zvcl9maW5p
c2ggPSB0cnVlOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKGZ1bmMpDQorICAgICAgICB7
DQorICAgICAgICAgICAgdHJ5DQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBmdW5j
KCk7DQorICAgICAgICAgICAgfSBjYXRjaChlKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgdGhpcy5zdGF0dXMuc3RhdHVzID0gdGhpcy5zdGF0dXMuRVJST1I7DQorICAgICAgICAg
ICAgICAgIHRoaXMuc3RhdHVzLm1lc3NhZ2UgPSBlOw0KKyAgICAgICAgICAgIH07DQorICAgICAg
ICB9DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5zZXRfdGltZW91dCA9IGZ1bmN0
aW9uKCkNCisgICAgew0KKyAgICAgICAgdmFyIHRoaXNfb2JqID0gdGhpczsNCisgICAgICAgIGNs
ZWFyVGltZW91dCh0aGlzLnRpbWVvdXRfaWQpOw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2lkID0g
c2V0VGltZW91dChmdW5jdGlvbigpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXNfb2JqLnRpbWVvdXQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwgdGhpcy50aW1lb3V0X2xlbmd0aCk7DQorICAgIH07DQorDQorICAgIFRl
c3RzLnByb3RvdHlwZS50aW1lb3V0ID0gZnVuY3Rpb24oKSB7DQorICAgICAgICB0aGlzLnN0YXR1
cy5zdGF0dXMgPSB0aGlzLnN0YXR1cy5USU1FT1VUOw0KKyAgICAgICAgdGhpcy5jb21wbGV0ZSgp
Ow0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUuZW5kX3dhaXQgPSBmdW5jdGlvbigp
DQorICAgIHsNCisgICAgICAgIHRoaXMud2FpdF9mb3JfZmluaXNoID0gZmFsc2U7DQorICAgICAg
ICBpZiAodGhpcy5hbGxfZG9uZSgpKSB7DQorICAgICAgICAgICAgdGhpcy5jb21wbGV0ZSgpOw0K
KyAgICAgICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUucHVzaCA9IGZ1bmN0
aW9uKHRlc3QpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNlIDwgdGhpcy5waGFzZXMu
SEFWRV9URVNUUykgew0KKyAgICAgICAgICAgIHRoaXMubm90aWZ5X3N0YXJ0KCk7DQorICAgICAg
ICB9DQorICAgICAgICB0aGlzLm51bV9wZW5kaW5nKys7DQorICAgICAgICB0aGlzLnRlc3RzLnB1
c2godGVzdCk7DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5hbGxfZG9uZSA9IGZ1
bmN0aW9uKCkgew0KKyAgICAgICAgcmV0dXJuICh0aGlzLmFsbF9sb2FkZWQgJiYgdGhpcy5udW1f
cGVuZGluZyA9PT0gMCAmJg0KKyAgICAgICAgICAgICAgICAhdGhpcy53YWl0X2Zvcl9maW5pc2gg
JiYgIXRoaXMucHJvY2Vzc2luZ19jYWxsYmFja3MpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5w
cm90b3R5cGUuc3RhcnQgPSBmdW5jdGlvbigpIHsNCisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlz
LnBoYXNlcy5IQVZFX1RFU1RTOw0KKyAgICAgICAgdGhpcy5ub3RpZnlfc3RhcnQoKTsNCisgICAg
fTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLm5vdGlmeV9zdGFydCA9IGZ1bmN0aW9uKCkgew0K
KyAgICAgICAgdmFyIHRoaXNfb2JqID0gdGhpczsNCisgICAgICAgIGZvckVhY2ggKHRoaXMuc3Rh
cnRfY2FsbGJhY2tzLA0KKyAgICAgICAgICAgICAgICAgZnVuY3Rpb24oY2FsbGJhY2spDQorICAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sodGhpc19vYmou
cHJvcGVydGllcyk7DQorICAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgIGZvckVhY2goYW5j
ZXN0b3Jfd2luZG93cygpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbih3KQ0KKyAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBpZih3LnN0YXJ0X2NhbGxiYWNrKQ0KKyAg
ICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeQ0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy5zdGFy
dF9jYWxsYmFjayh0aGlzX29iai5wcm9wZXJ0aWVzKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2goZSkNCisgICAgICAgICAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1ZykNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhyb3coZSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAg
IH0pOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUucmVzdWx0ID0gZnVuY3Rpb24o
dGVzdCkNCisgICAgew0KKyAgICAgICAgaWYgKHRoaXMucGhhc2UgPiB0aGlzLnBoYXNlcy5IQVZF
X1JFU1VMVFMpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0K
KyAgICAgICAgdGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLkhBVkVfUkVTVUxUUzsNCisgICAgICAg
IHRoaXMubnVtX3BlbmRpbmctLTsNCisgICAgICAgIHRoaXMubm90aWZ5X3Jlc3VsdCh0ZXN0KTsN
CisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLm5vdGlmeV9yZXN1bHQgPSBmdW5jdGlv
bih0ZXN0KSB7DQorICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKyAgICAgICAgdGhpcy5w
cm9jZXNzaW5nX2NhbGxiYWNrcyA9IHRydWU7DQorICAgICAgICBmb3JFYWNoKHRoaXMudGVzdF9k
b25lX2NhbGxiYWNrcywNCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oY2FsbGJhY2spDQorICAg
ICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRlc3QsIHRoaXNf
b2JqKTsNCisgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICBmb3JFYWNoKGFuY2VzdG9y
X3dpbmRvd3MoKSwNCisgICAgICAgICAgICAgICAgZnVuY3Rpb24odykNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgaWYody5yZXN1bHRfY2FsbGJhY2spDQorICAgICAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5DQorICAgICAgICAg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LnJlc3VsdF9j
YWxsYmFjayh0ZXN0KTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICAgICAgICAgY2F0Y2goZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmKGRlYnVnKSB7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aHJvdyBlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICB9KTsNCisgICAgICAgIHRoaXMucHJvY2Vzc2luZ19jYWxsYmFja3MgPSBmYWxzZTsN
CisgICAgICAgIGlmICh0aGlzX29iai5hbGxfZG9uZSgpKQ0KKyAgICAgICAgew0KKyAgICAgICAg
ICAgIHRoaXNfb2JqLmNvbXBsZXRlKCk7DQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIFRl
c3RzLnByb3RvdHlwZS5jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgaWYgKHRoaXMu
cGhhc2UgPT09IHRoaXMucGhhc2VzLkNPTVBMRVRFKSB7DQorICAgICAgICAgICAgcmV0dXJuOw0K
KyAgICAgICAgfQ0KKyAgICAgICAgdGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLkNPTVBMRVRFOw0K
KyAgICAgICAgdGhpcy5ub3RpZnlfY29tcGxldGUoKTsNCisgICAgfTsNCisNCisgICAgVGVzdHMu
cHJvdG90eXBlLm5vdGlmeV9jb21wbGV0ZSA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAg
Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7DQorICAgICAgICB2YXIgdGhpc19vYmogPSB0
aGlzOw0KKyAgICAgICAgaWYgKHRoaXMuc3RhdHVzLnN0YXR1cyA9PT0gbnVsbCkNCisgICAgICAg
IHsNCisgICAgICAgICAgICB0aGlzLnN0YXR1cy5zdGF0dXMgPSB0aGlzLnN0YXR1cy5PSzsNCisg
ICAgICAgIH0NCisNCisgICAgICAgIGZvckVhY2ggKHRoaXMuYWxsX2RvbmVfY2FsbGJhY2tzLA0K
KyAgICAgICAgICAgICAgICAgZnVuY3Rpb24oY2FsbGJhY2spDQorICAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sodGhpc19vYmoudGVzdHMsIHRoaXNfb2Jq
LnN0YXR1cyk7DQorICAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgIGZvckVhY2goYW5j
ZXN0b3Jfd2luZG93cygpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbih3KQ0KKyAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBpZih3LmNvbXBsZXRpb25fY2FsbGJhY2sp
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5DQor
ICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3
LmNvbXBsZXRpb25fY2FsbGJhY2sodGhpc19vYmoudGVzdHMsIHRoaXNfb2JqLnN0YXR1cyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNo
KGUpDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoZGVidWcpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICB9Ow0KKw0KKyAgICB2YXIgdGVzdHMgPSBu
ZXcgVGVzdHMoKTsNCisNCisgICAgZnVuY3Rpb24gYWRkX3N0YXJ0X2NhbGxiYWNrKGNhbGxiYWNr
KSB7DQorICAgICAgICB0ZXN0cy5zdGFydF9jYWxsYmFja3MucHVzaChjYWxsYmFjayk7DQorICAg
IH0NCisNCisgICAgZnVuY3Rpb24gYWRkX3Jlc3VsdF9jYWxsYmFjayhjYWxsYmFjaykNCisgICAg
ew0KKyAgICAgICAgdGVzdHMudGVzdF9kb25lX2NhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTsNCisg
ICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhjYWxsYmFjaykN
CisgICAgew0KKyAgICAgICB0ZXN0cy5hbGxfZG9uZV9jYWxsYmFja3MucHVzaChjYWxsYmFjayk7
DQorICAgIH0NCisNCisgICAgZXhwb3NlKGFkZF9zdGFydF9jYWxsYmFjaywgJ2FkZF9zdGFydF9j
YWxsYmFjaycpOw0KKyAgICBleHBvc2UoYWRkX3Jlc3VsdF9jYWxsYmFjaywgJ2FkZF9yZXN1bHRf
Y2FsbGJhY2snKTsNCisgICAgZXhwb3NlKGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrLCAnYWRkX2Nv
bXBsZXRpb25fY2FsbGJhY2snKTsNCisNCisgICAgLyoNCisgICAgICogT3V0cHV0IGxpc3RlbmVy
DQorICAgICovDQorDQorICAgIGZ1bmN0aW9uIE91dHB1dCgpIHsNCisgICAgICB0aGlzLm91dHB1
dF9kb2N1bWVudCA9IG51bGw7DQorICAgICAgdGhpcy5vdXRwdXRfbm9kZSA9IG51bGw7DQorICAg
ICAgdGhpcy5kb25lX2NvdW50ID0gMDsNCisgICAgICB0aGlzLmVuYWJsZWQgPSBzZXR0aW5ncy5v
dXRwdXQ7DQorICAgICAgdGhpcy5waGFzZSA9IHRoaXMuSU5JVElBTDsNCisgICAgfQ0KKw0KKyAg
ICBPdXRwdXQucHJvdG90eXBlLklOSVRJQUwgPSAwOw0KKyAgICBPdXRwdXQucHJvdG90eXBlLlNU
QVJURUQgPSAxOw0KKyAgICBPdXRwdXQucHJvdG90eXBlLkhBVkVfUkVTVUxUUyA9IDI7DQorICAg
IE91dHB1dC5wcm90b3R5cGUuQ09NUExFVEUgPSAzOw0KKw0KKyAgICBPdXRwdXQucHJvdG90eXBl
LnNldHVwID0gZnVuY3Rpb24ocHJvcGVydGllcykgew0KKyAgICAgICAgaWYgKHRoaXMucGhhc2Ug
PiB0aGlzLklOSVRJQUwpIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorDQor
ICAgICAgICAvL0lmIG91dHB1dCBpcyBkaXNhYmxlZCBpbiB0ZXN0aGFybmVzc3JlcG9ydC5qcyB0
aGUgdGVzdCBzaG91bGRuJ3QgYmUNCisgICAgICAgIC8vYWJsZSB0byBvdmVycmlkZSB0aGF0DQor
ICAgICAgICB0aGlzLmVuYWJsZWQgPSB0aGlzLmVuYWJsZWQgJiYgKHByb3BlcnRpZXMuaGFzT3du
UHJvcGVydHkoIm91dHB1dCIpID8NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJvcGVydGllcy5vdXRwdXQgOiBzZXR0aW5ncy5vdXRwdXQpOw0KKyAgICB9Ow0KKw0K
KyAgICBPdXRwdXQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbihwcm9wZXJ0aWVzKQ0KKyAgICB7
DQorICAgICAgICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLlNUQVJURUQpIHsNCisgICAgICAgICAg
ICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAocHJvcGVydGllcy5vdXRwdXRfZG9j
dW1lbnQpIHsNCisgICAgICAgICAgICB0aGlzLm91dHB1dF9kb2N1bWVudCA9IHByb3BlcnRpZXMu
b3V0cHV0X2RvY3VtZW50Ow0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICB0aGlzLm91
dHB1dF9kb2N1bWVudCA9IGRvY3VtZW50Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgdGhpcy5waGFz
ZSA9IHRoaXMuU1RBUlRFRDsNCisgICAgfTsNCisNCisgICAgT3V0cHV0LnByb3RvdHlwZS5yZXNv
bHZlX2xvZyA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgaWYgKCF0aGlzLm91dHB1dF9k
b2N1bWVudCkgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIHZh
ciBub2RlID0gdGhpcy5vdXRwdXRfZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpOw0KKyAg
ICAgICAgaWYgKG5vZGUpIHsNCisgICAgICAgICAgICB0aGlzLm91dHB1dF9ub2RlID0gbm9kZTsN
CisgICAgICAgIH0NCisgICAgfTsNCisNCisgICAgT3V0cHV0LnByb3RvdHlwZS5zaG93X3N0YXR1
cyA9IGZ1bmN0aW9uKHRlc3QpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNlIDwgdGhp
cy5TVEFSVEVEKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMuaW5pdCgpOw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgaWYgKCF0aGlzLmVuYWJsZWQpDQorICAgICAgICB7DQorICAgICAgICAg
ICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKHRoaXMucGhhc2UgPCB0aGlzLkhB
VkVfUkVTVUxUUykNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLnJlc29sdmVfbG9nKCk7
DQorICAgICAgICAgICAgdGhpcy5waGFzZSA9IHRoaXMuSEFWRV9SRVNVTFRTOw0KKyAgICAgICAg
fQ0KKyAgICAgICAgdGhpcy5kb25lX2NvdW50Kys7DQorICAgICAgICBpZiAodGhpcy5vdXRwdXRf
bm9kZSkNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAodGhpcy5kb25lX2NvdW50IDwgMTAw
DQorICAgICAgICAgICAgfHwgKHRoaXMuZG9uZV9jb3VudCA8IDEwMDAgJiYgdGhpcy5kb25lX2Nv
dW50ICUgMTAwID09IDApDQorICAgICAgICAgICAgfHwgdGhpcy5kb25lX2NvdW50ICUgMTAwMCA9
PSAwKSB7DQorICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0X25vZGUudGV4dENvbnRlbnQgPSAi
UnVubmluZywgIg0KKyAgICAgICAgICAgICAgICAgICAgKyB0aGlzLmRvbmVfY291bnQgKyAiIGNv
bXBsZXRlLCAiDQorICAgICAgICAgICAgICAgICAgICArIHRlc3RzLm51bV9wZW5kaW5nICsgIiBy
ZW1haW4iOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfTsNCisNCisgICAgT3V0
cHV0LnByb3RvdHlwZS5zaG93X3Jlc3VsdHMgPSBmdW5jdGlvbiAodGVzdHMsIGhhcm5lc3Nfc3Rh
dHVzKQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLkNPTVBMRVRFKSB7
DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKCF0aGlzLmVu
YWJsZWQpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKyAg
ICAgICAgaWYgKCF0aGlzLm91dHB1dF9ub2RlKSB7DQorICAgICAgICAgICAgdGhpcy5yZXNvbHZl
X2xvZygpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgdGhpcy5waGFzZSA9IHRoaXMuQ09NUExFVEU7
DQorDQorICAgICAgICB2YXIgbG9nID0gdGhpcy5vdXRwdXRfbm9kZTsNCisgICAgICAgIGlmICgh
bG9nKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAg
ICAgIHZhciBvdXRwdXRfZG9jdW1lbnQgPSB0aGlzLm91dHB1dF9kb2N1bWVudDsNCisNCisgICAg
ICAgIHdoaWxlIChsb2cubGFzdENoaWxkKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGxvZy5y
ZW1vdmVDaGlsZChsb2cubGFzdENoaWxkKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGlmIChz
Y3JpcHRfcHJlZml4ICE9IG51bGwpIHsNCisgICAgICAgICAgICB2YXIgc3R5bGVzaGVldCA9IG91
dHB1dF9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoeGh0bWxfbnMsICJsaW5rIik7DQorICAgICAg
ICAgICAgc3R5bGVzaGVldC5zZXRBdHRyaWJ1dGUoInJlbCIsICJzdHlsZXNoZWV0Iik7DQorICAg
ICAgICAgICAgc3R5bGVzaGVldC5zZXRBdHRyaWJ1dGUoImhyZWYiLCBzY3JpcHRfcHJlZml4ICsg
InRlc3RoYXJuZXNzLmNzcyIpOw0KKyAgICAgICAgICAgIHZhciBoZWFkcyA9IG91dHB1dF9kb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpOw0KKyAgICAgICAgICAgIGlmIChoZWFk
cy5sZW5ndGgpIHsNCisgICAgICAgICAgICAgICAgaGVhZHNbMF0uYXBwZW5kQ2hpbGQoc3R5bGVz
aGVldCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdmFyIHN0YXR1
c190ZXh0ID0ge307DQorICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3RvdHlwZS5QQVNTXSA9
ICJQYXNzIjsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJvdG90eXBlLkZBSUxdID0gIkZh
aWwiOw0KKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5cGUuVElNRU9VVF0gPSAiVGlt
ZW91dCI7DQorICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3RvdHlwZS5OT1RSVU5dID0gIk5v
dCBSdW4iOw0KKw0KKyAgICAgICAgdmFyIHN0YXR1c19udW1iZXIgPSB7fTsNCisgICAgICAgIGZv
ckVhY2godGVzdHMsIGZ1bmN0aW9uKHRlc3QpIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBz
dGF0dXMgPSBzdGF0dXNfdGV4dFt0ZXN0LnN0YXR1c107DQorICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhdHVzX251bWJlci5oYXNPd25Qcm9wZXJ0eShzdGF0dXMpKQ0KKyAgICAgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c19udW1iZXJbc3RhdHVzXSAr
PSAxOw0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0dXNfbnVtYmVyW3N0YXR1c10gPSAxOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0K
KyAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgIGZ1bmN0aW9uIHN0YXR1c19jbGFzcyhz
dGF0dXMpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIHN0YXR1cy5yZXBsYWNlKC9c
cy9nLCAnJykudG9Mb3dlckNhc2UoKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIHZhciBzdW1t
YXJ5X3RlbXBsYXRlID0gWyJzZWN0aW9uIiwgeyJpZCI6InN1bW1hcnkifSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFsiaDIiLCB7fSwgIlN1bW1hcnkiXSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFsicCIsIHt9LCAiRm91bmQgJHtudW1fdGVzdHN9IHRlc3Rz
Il0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih2YXJzKSB7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJ2ID0gW1siZGl2Iiwge31d
XTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaT0wOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzdGF0dXNfdGV4dC5oYXNPd25Q
cm9wZXJ0eShpKSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhdHVzX251bWJlci5oYXNPd25Qcm9wZXJ0eShzdGF0dXNfdGV4dFtpXSkpIHsNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBzdGF0
dXNfdGV4dFtpXTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJ2WzBdLnB1c2goWyJkaXYiLCB7ImNsYXNzIjpzdGF0dXNfY2xhc3Moc3RhdHVzKX0sDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImxh
YmVsIiwge30sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgWyJpbnB1dCIsIHt0eXBlOiJjaGVja2JveCIsIGNoZWNrZWQ6ImNoZWNrZWQi
fV0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhdHVzX251bWJlcltzdGF0dXNdICsgIiAiICsgc3RhdHVzXV0pOw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGkrKzsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJ2Ow0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV07DQorDQorICAgICAgICBsb2cuYXBw
ZW5kQ2hpbGQocmVuZGVyKHN1bW1hcnlfdGVtcGxhdGUsIHtudW1fdGVzdHM6dGVzdHMubGVuZ3Ro
fSwgb3V0cHV0X2RvY3VtZW50KSk7DQorDQorICAgICAgICBmb3JFYWNoKG91dHB1dF9kb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJzZWN0aW9uI3N1bW1hcnkgbGFiZWwiKSwNCisgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oZWxlbWVudCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICAgICAgb25fZXZlbnQoZWxlbWVudCwgImNsaWNrIiwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKGUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dHB1dF9kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0cyIpID09PSBudWxsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2
ZW50RGVmYXVsdCgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHRfY2xhc3MgPSBlbGVtZW50LnBhcmVudE5vZGUu
Z2V0QXR0cmlidXRlKCJjbGFzcyIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZhciBzdHlsZV9lbGVtZW50ID0gb3V0cHV0X2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInN0eWxl
I2hpZGUtIiArIHJlc3VsdF9jbGFzcyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIGlucHV0X2VsZW1lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHlsZV9lbGVtZW50ICYmICFp
bnB1dF9lbGVtZW50LmNoZWNrZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3R5bGVfZWxlbWVudCA9IG91dHB1dF9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoeGh0
bWxfbnMsICJzdHlsZSIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHlsZV9lbGVtZW50LmlkID0gImhpZGUtIiArIHJlc3VsdF9jbGFzczsNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVfZWxlbWVudC5pbm5lckhUTUwgPSAidGFibGUj
cmVzdWx0cyA+IHRib2R5ID4gdHIuIityZXN1bHRfY2xhc3MrIntkaXNwbGF5Om5vbmV9IjsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoc3R5bGVfZWxlbWVudCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmIChzdHlsZV9lbGVtZW50ICYmIGlucHV0X2VsZW1lbnQuY2hlY2tlZCkg
ew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9lbGVtZW50LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVfZWxlbWVudCk7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQorICAg
ICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgLy8gVGhpcyB1c2Ugb2YgaW5uZXJIVE1MIHBs
dXMgbWFudWFsIGVzY2FwaW5nIGlzIG5vdCByZWNvbW1lbmRlZCBpbg0KKyAgICAgICAgLy8gZ2Vu
ZXJhbCwgYnV0IGlzIG5lY2Vzc2FyeSBoZXJlIGZvciBwZXJmb3JtYW5jZS4gIFVzaW5nIHRleHRD
b250ZW50DQorICAgICAgICAvLyBvbiBlYWNoIGluZGl2aWR1YWwgPHRkPiBhZGRzIHRlbnMgb2Yg
c2Vjb25kcyBvZiBleGVjdXRpb24gdGltZSBmb3INCisgICAgICAgIC8vIGxhcmdlIHRlc3Qgc3Vp
dGVzICh0ZW5zIG9mIHRob3VzYW5kcyBvZiB0ZXN0cykuDQorICAgICAgICBmdW5jdGlvbiBlc2Nh
cGVfaHRtbChzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoL1wm
L2csICImYW1wOyIpDQorICAgICAgICAgICAgICAgIC5yZXBsYWNlKC88L2csICImbHQ7IikNCisg
ICAgICAgICAgICAgICAgLnJlcGxhY2UoLyIvZywgIiZxdW90OyIpDQorICAgICAgICAgICAgICAg
IC5yZXBsYWNlKC8nL2csICImIzM5OyIpOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgbG9nLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlY3Rpb24iKSk7DQorICAgICAgICB2
YXIgaHRtbCA9ICI8aDI+RGV0YWlsczwvaDI+PHRhYmxlIGlkPSdyZXN1bHRzJz4iDQorICAgICAg
ICAgICAgKyAiPHRoZWFkPjx0cj48dGg+UmVzdWx0PC90aD48dGg+VGVzdCBOYW1lPC90aD48dGg+
TWVzc2FnZTwvdGg+PC90cj48L3RoZWFkPiINCisgICAgICAgICAgICArICI8dGJvZHk+IjsNCisg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsNCisgICAgICAg
ICAgICBodG1sICs9ICc8dHIgY2xhc3M9IicNCisgICAgICAgICAgICAgICAgKyBlc2NhcGVfaHRt
bChzdGF0dXNfY2xhc3Moc3RhdHVzX3RleHRbdGVzdHNbaV0uc3RhdHVzXSkpDQorICAgICAgICAg
ICAgICAgICsgJyI+PHRkPicNCisgICAgICAgICAgICAgICAgKyBlc2NhcGVfaHRtbChzdGF0dXNf
dGV4dFt0ZXN0c1tpXS5zdGF0dXNdKQ0KKyAgICAgICAgICAgICAgICArICI8L3RkPjx0ZD4iDQor
ICAgICAgICAgICAgICAgICsgZXNjYXBlX2h0bWwoZm9ybWF0X3N0cmluZyh0ZXN0c1tpXS5uYW1l
KSkNCisgICAgICAgICAgICAgICAgKyAiPC90ZD48dGQ+Ig0KKyAgICAgICAgICAgICAgICArIGVz
Y2FwZV9odG1sKHRlc3RzW2ldLm1lc3NhZ2UgPyBmb3JtYXRfc3RyaW5nKHRlc3RzW2ldLm1lc3Nh
Z2UpIDogIiAiKQ0KKyAgICAgICAgICAgICAgICArICI8L3RkPjwvdHI+IjsNCisgICAgICAgIH0N
CisgICAgICAgIGxvZy5sYXN0Q2hpbGQuaW5uZXJIVE1MID0gaHRtbCArICI8L3Rib2R5PjwvdGFi
bGU+IjsNCisgICAgfTsNCisNCisgICAgdmFyIG91dHB1dCA9IG5ldyBPdXRwdXQoKTsNCisgICAg
YWRkX3N0YXJ0X2NhbGxiYWNrKGZ1bmN0aW9uIChwcm9wZXJ0aWVzKSB7b3V0cHV0LmluaXQocHJv
cGVydGllcyk7fSk7DQorICAgIGFkZF9yZXN1bHRfY2FsbGJhY2soZnVuY3Rpb24gKHRlc3QpIHtv
dXRwdXQuc2hvd19zdGF0dXModGVzdHMpO30pOw0KKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFj
ayhmdW5jdGlvbiAodGVzdHMsIGhhcm5lc3Nfc3RhdHVzKSB7b3V0cHV0LnNob3dfcmVzdWx0cyh0
ZXN0cywgaGFybmVzc19zdGF0dXMpO30pOw0KKw0KKyAgICAvKg0KKyAgICAgKiBUZW1wbGF0ZSBj
b2RlDQorICAgICAqDQorICAgICAqIEEgdGVtcGxhdGUgaXMganVzdCBhIGphdmFzY3JpcHQgc3Ry
dWN0dXJlLiBBbiBlbGVtZW50IGlzIHJlcHJlc2VudGVkIGFzOg0KKyAgICAgKg0KKyAgICAgKiBb
dGFnX25hbWUsIHthdHRyX25hbWU6YXR0cl92YWx1ZX0sIGNoaWxkMSwgY2hpbGQyXQ0KKyAgICAg
Kg0KKyAgICAgKiB0aGUgY2hpbGRyZW4gY2FuIGVpdGhlciBiZSBzdHJpbmdzICh3aGljaCBhY3Qg
bGlrZSB0ZXh0IG5vZGVzKSwgb3RoZXIgdGVtcGxhdGVzIG9yDQorICAgICAqIGZ1bmN0aW9ucyAo
c2VlIGJlbG93KQ0KKyAgICAgKg0KKyAgICAgKiBBIHRleHQgbm9kZSBpcyByZXByZXNlbnRlZCBh
cw0KKyAgICAgKg0KKyAgICAgKiBbInt0ZXh0fSIsIHZhbHVlXQ0KKyAgICAgKg0KKyAgICAgKiBT
dHJpbmcgdmFsdWVzIGhhdmUgYSBzaW1wbGUgc3Vic3RpdHV0aW9uIHN5bnRheDsgJHtmb299IHJl
cHJlc2VudHMgYSB2YXJpYWJsZSBmb28uDQorICAgICAqDQorICAgICAqIEl0IGlzIHBvc3NpYmxl
IHRvIGVtYmVkIGxvZ2ljIGluIHRlbXBsYXRlcyBieSB1c2luZyBhIGZ1bmN0aW9uIGluIGEgcGxh
Y2Ugd2hlcmUgYQ0KKyAgICAgKiBub2RlIHdvdWxkIHVzdWFsbHkgZ28uIFRoZSBmdW5jdGlvbiBt
dXN0IGVpdGhlciByZXR1cm4gcGFydCBvZiBhIHRlbXBsYXRlIG9yIG51bGwuDQorICAgICAqDQor
ICAgICAqIEluIGNhc2VzIHdoZXJlIGEgc2V0IG9mIG5vZGVzIGFyZSByZXF1aXJlZCBhcyBvdXRw
dXQgcmF0aGVyIHRoYW4gYSBzaW5nbGUgbm9kZQ0KKyAgICAgKiB3aXRoIGNoaWxkcmVuIGl0IGlz
IHBvc3NpYmxlIHRvIGp1c3QgdXNlIGEgbGlzdA0KKyAgICAgKiBbbm9kZTEsIG5vZGUyLCBub2Rl
M10NCisgICAgICoNCisgICAgICogVXNhZ2U6DQorICAgICAqDQorICAgICAqIHJlbmRlcih0ZW1w
bGF0ZSwgc3Vic3RpdHV0aW9ucykgLSB0YWtlIGEgdGVtcGxhdGUgYW5kIGFuIG9iamVjdCBtYXBw
aW5nDQorICAgICAqIHZhcmlhYmxlIG5hbWVzIHRvIHBhcmFtZXRlcnMgYW5kIHJldHVybiBlaXRo
ZXIgYSBET00gbm9kZSBvciBhIGxpc3Qgb2YgRE9NIG5vZGVzDQorICAgICAqDQorICAgICAqIHN1
YnN0aXR1dGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpIC0gdGFrZSBhIHRlbXBsYXRlIGFuZCB2
YXJpYWJsZSBtYXBwaW5nIG9iamVjdCwNCisgICAgICogbWFrZSB0aGUgdmFyaWFibGUgc3Vic3Rp
dHV0aW9ucyBhbmQgcmV0dXJuIHRoZSBzdWJzdGl0dXRlZCB0ZW1wbGF0ZQ0KKyAgICAgKg0KKyAg
ICAgKi8NCisNCisgICAgZnVuY3Rpb24gaXNfc2luZ2xlX25vZGUodGVtcGxhdGUpDQorICAgIHsN
CisgICAgICAgIHJldHVybiB0eXBlb2YgdGVtcGxhdGVbMF0gPT09ICJzdHJpbmciOw0KKyAgICB9
DQorDQorICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpDQor
ICAgIHsNCisgICAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICJmdW5jdGlvbiIpIHsNCisg
ICAgICAgICAgICB2YXIgcmVwbGFjZW1lbnQgPSB0ZW1wbGF0ZShzdWJzdGl0dXRpb25zKTsNCisg
ICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICB2YXIgcnYgPSBzdWJzdGl0dXRlKHJlcGxhY2VtZW50LCBzdWJzdGl0dXRpb25zKTsNCisg
ICAgICAgICAgICAgICAgcmV0dXJuIHJ2Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBl
bHNlDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsNCisgICAg
ICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgICBlbHNlIGlmIChpc19zaW5nbGVfbm9kZSh0
ZW1wbGF0ZSkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGVfc2lu
Z2xlKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKTsNCisgICAgICAgIH0NCisgICAgICAgIGVsc2UN
CisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4gZmlsdGVyKG1hcCh0ZW1wbGF0ZSwgZnVu
Y3Rpb24oeCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3Vi
c3RpdHV0ZSh4LCBzdWJzdGl0dXRpb25zKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9KSwgZnVuY3Rpb24oeCkge3JldHVybiB4ICE9PSBudWxsO30pOw0KKyAgICAgICAgfQ0KKyAg
ICB9DQorDQorICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGVfc2luZ2xlKHRlbXBsYXRlLCBzdWJzdGl0
dXRpb25zKQ0KKyAgICB7DQorICAgICAgICB2YXIgc3Vic3RpdHV0aW9uX3JlID0gL1wkeyhbXiB9
XSopfS9nOw0KKw0KKyAgICAgICAgZnVuY3Rpb24gZG9fc3Vic3RpdHV0aW9uKGlucHV0KSB7DQor
ICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBpbnB1dC5zcGxpdChzdWJzdGl0dXRpb25fcmUp
Ow0KKyAgICAgICAgICAgIHZhciBydiA9IFtdOw0KKyAgICAgICAgICAgIGZvciAodmFyIGk9MDsg
aTxjb21wb25lbnRzLmxlbmd0aDsgaSs9MikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgIHJ2LnB1c2goY29tcG9uZW50c1tpXSk7DQorICAgICAgICAgICAgICAgIGlmIChjb21wb25l
bnRzW2krMV0pDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHJ2LnB1
c2goU3RyaW5nKHN1YnN0aXR1dGlvbnNbY29tcG9uZW50c1tpKzFdXSkpOw0KKyAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHJldHVybiBydjsNCisgICAgICAg
IH0NCisNCisgICAgICAgIHZhciBydiA9IFtdOw0KKyAgICAgICAgcnYucHVzaChkb19zdWJzdGl0
dXRpb24oU3RyaW5nKHRlbXBsYXRlWzBdKSkuam9pbigiIikpOw0KKw0KKyAgICAgICAgaWYgKHRl
bXBsYXRlWzBdID09PSAie3RleHR9Iikgew0KKyAgICAgICAgICAgIHN1YnN0aXR1dGVfY2hpbGRy
ZW4odGVtcGxhdGUuc2xpY2UoMSksIHJ2KTsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAg
ICAgc3Vic3RpdHV0ZV9hdHRycyh0ZW1wbGF0ZVsxXSwgcnYpOw0KKyAgICAgICAgICAgIHN1YnN0
aXR1dGVfY2hpbGRyZW4odGVtcGxhdGUuc2xpY2UoMiksIHJ2KTsNCisgICAgICAgIH0NCisNCisg
ICAgICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGVfYXR0cnMoYXR0cnMsIHJ2KQ0KKyAgICAgICAgew0K
KyAgICAgICAgICAgIHJ2WzFdID0ge307DQorICAgICAgICAgICAgZm9yICh2YXIgbmFtZSBpbiB0
ZW1wbGF0ZVsxXSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChhdHRycy5o
YXNPd25Qcm9wZXJ0eShuYW1lKSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgdmFyIG5ld19uYW1lID0gZG9fc3Vic3RpdHV0aW9uKG5hbWUpLmpvaW4oIiIpOw0KKyAg
ICAgICAgICAgICAgICAgICAgdmFyIG5ld192YWx1ZSA9IGRvX3N1YnN0aXR1dGlvbihhdHRyc1tu
YW1lXSkuam9pbigiIik7DQorICAgICAgICAgICAgICAgICAgICBydlsxXVtuZXdfbmFtZV0gPSBu
ZXdfdmFsdWU7DQorICAgICAgICAgICAgICAgIH07DQorICAgICAgICAgICAgfQ0KKyAgICAgICAg
fQ0KKw0KKyAgICAgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZV9jaGlsZHJlbihjaGlsZHJlbiwgcnYp
DQorICAgICAgICB7DQorICAgICAgICAgICAgZm9yICh2YXIgaT0wOyBpPGNoaWxkcmVuLmxlbmd0
aDsgaSsrKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ld
IGluc3RhbmNlb2YgT2JqZWN0KSB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgcmVwbGFjZW1l
bnQgPSBzdWJzdGl0dXRlKGNoaWxkcmVuW2ldLCBzdWJzdGl0dXRpb25zKTsNCisgICAgICAgICAg
ICAgICAgICAgIGlmIChyZXBsYWNlbWVudCAhPT0gbnVsbCkNCisgICAgICAgICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfc2luZ2xlX25vZGUocmVwbGFjZW1l
bnQpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnYucHVzaChyZXBsYWNlbWVudCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuZChydiwgcmVwbGFjZW1lbnQpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgICAgIGV4dGVuZChydiwgZG9fc3Vic3RpdHV0aW9uKFN0cmluZyhj
aGlsZHJlbltpXSkpKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAg
ICAgICAgICByZXR1cm4gcnY7DQorICAgICAgICB9DQorDQorICAgICAgICByZXR1cm4gcnY7DQor
ICAgIH0NCisNCisgZnVuY3Rpb24gbWFrZV9kb21fc2luZ2xlKHRlbXBsYXRlLCBkb2MpDQorIHsN
CisgICAgIHZhciBvdXRwdXRfZG9jdW1lbnQgPSBkb2MgfHwgZG9jdW1lbnQ7DQorICAgICBpZiAo
dGVtcGxhdGVbMF0gPT09ICJ7dGV4dH0iKQ0KKyAgICAgew0KKyAgICAgICAgIHZhciBlbGVtZW50
ID0gb3V0cHV0X2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsNCisgICAgICAgICBmb3IgKHZh
ciBpPTE7IGk8dGVtcGxhdGUubGVuZ3RoOyBpKyspDQorICAgICAgICAgew0KKyAgICAgICAgICAg
ICBlbGVtZW50LmRhdGEgKz0gdGVtcGxhdGVbaV07DQorICAgICAgICAgfQ0KKyAgICAgfQ0KKyAg
ICAgZWxzZQ0KKyAgICAgew0KKyAgICAgICAgIHZhciBlbGVtZW50ID0gb3V0cHV0X2RvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyh4aHRtbF9ucywgdGVtcGxhdGVbMF0pOw0KKyAgICAgICAgIGZvciAo
dmFyIG5hbWUgaW4gdGVtcGxhdGVbMV0pIHsNCisgICAgICAgICAgICAgaWYgKHRlbXBsYXRlWzFd
Lmhhc093blByb3BlcnR5KG5hbWUpKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB0ZW1wbGF0ZVsxXVtuYW1lXSk7DQorICAgICAg
ICAgICAgIH0NCisgICAgICAgICB9DQorICAgICAgICAgZm9yICh2YXIgaT0yOyBpPHRlbXBsYXRl
Lmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgaWYgKHRlbXBsYXRlW2ld
IGluc3RhbmNlb2YgT2JqZWN0KQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICB2
YXIgc3ViX2VsZW1lbnQgPSBtYWtlX2RvbSh0ZW1wbGF0ZVtpXSk7DQorICAgICAgICAgICAgICAg
ICBlbGVtZW50LmFwcGVuZENoaWxkKHN1Yl9lbGVtZW50KTsNCisgICAgICAgICAgICAgfQ0KKyAg
ICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIHZhciB0
ZXh0X25vZGUgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGVtcGxhdGVbaV0pOw0K
KyAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0ZXh0X25vZGUpOw0KKyAgICAg
ICAgICAgICB9DQorICAgICAgICAgfQ0KKyAgICAgfQ0KKw0KKyAgICAgcmV0dXJuIGVsZW1lbnQ7
DQorIH0NCisNCisNCisNCisgZnVuY3Rpb24gbWFrZV9kb20odGVtcGxhdGUsIHN1YnN0aXR1dGlv
bnMsIG91dHB1dF9kb2N1bWVudCkNCisgICAgew0KKyAgICAgICAgaWYgKGlzX3NpbmdsZV9ub2Rl
KHRlbXBsYXRlKSkNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4gbWFrZV9kb21fc2lu
Z2xlKHRlbXBsYXRlLCBvdXRwdXRfZG9jdW1lbnQpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxz
ZQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBtYXAodGVtcGxhdGUsIGZ1bmN0aW9u
KHgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZV9kb21fc2luZ2xl
KHgsIG91dHB1dF9kb2N1bWVudCk7DQorICAgICAgICAgICAgICAgICAgICAgICB9KTsNCisgICAg
ICAgIH0NCisgICAgfQ0KKw0KKyBmdW5jdGlvbiByZW5kZXIodGVtcGxhdGUsIHN1YnN0aXR1dGlv
bnMsIG91dHB1dF9kb2N1bWVudCkNCisgICAgew0KKyAgICAgICAgcmV0dXJuIG1ha2VfZG9tKHN1
YnN0aXR1dGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpLCBvdXRwdXRfZG9jdW1lbnQpOw0KKyAg
ICB9DQorDQorICAgIC8qDQorICAgICAqIFV0aWxpdHkgZnVuY2lvbnMNCisgICAgICovDQorICAg
IGZ1bmN0aW9uIGFzc2VydChleHBlY3RlZF90cnVlLCBmdW5jdGlvbl9uYW1lLCBkZXNjcmlwdGlv
biwgZXJyb3IsIHN1YnN0aXR1dGlvbnMpDQorICAgIHsNCisgICAgICAgIGlmIChleHBlY3RlZF90
cnVlICE9PSB0cnVlKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRp
b25FcnJvcihtYWtlX21lc3NhZ2UoZnVuY3Rpb25fbmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciwgc3Vic3Rp
dHV0aW9ucykpOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIEFzc2VydGlv
bkVycm9yKG1lc3NhZ2UpDQorICAgIHsNCisgICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7
DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gbWFrZV9tZXNzYWdlKGZ1bmN0aW9uX25hbWUsIGRl
c2NyaXB0aW9uLCBlcnJvciwgc3Vic3RpdHV0aW9ucykNCisgICAgew0KKyAgICAgICAgZm9yICh2
YXIgcCBpbiBzdWJzdGl0dXRpb25zKSB7DQorICAgICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbnMu
aGFzT3duUHJvcGVydHkocCkpIHsNCisgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1twXSA9
IGZvcm1hdF92YWx1ZShzdWJzdGl0dXRpb25zW3BdKTsNCisgICAgICAgICAgICB9DQorICAgICAg
ICB9DQorICAgICAgICB2YXIgbm9kZV9mb3JtID0gc3Vic3RpdHV0ZShbInt0ZXh0fSIsICIke2Z1
bmN0aW9uX25hbWV9OiAke2Rlc2NyaXB0aW9ufSIgKyBlcnJvcl0sDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZXJnZSh7ZnVuY3Rpb25fbmFtZTpmdW5jdGlvbl9uYW1lLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOihk
ZXNjcmlwdGlvbj9kZXNjcmlwdGlvbiArICIgIjoiIil9LA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMpKTsNCisgICAgICAgIHJldHVybiBu
b2RlX2Zvcm0uc2xpY2UoMSkuam9pbigiIik7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZmls
dGVyKGFycmF5LCBjYWxsYWJsZSwgdGhpc09iaikgew0KKyAgICAgICAgdmFyIHJ2ID0gW107DQor
ICAgICAgICBmb3IgKHZhciBpPTA7IGk8YXJyYXkubGVuZ3RoOyBpKyspDQorICAgICAgICB7DQor
ICAgICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGkpKQ0KKyAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgdmFyIHBhc3MgPSBjYWxsYWJsZS5jYWxsKHRoaXNPYmosIGFycmF5
W2ldLCBpLCBhcnJheSk7DQorICAgICAgICAgICAgICAgIGlmIChwYXNzKSB7DQorICAgICAgICAg
ICAgICAgICAgICBydi5wdXNoKGFycmF5W2ldKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgIH0NCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBydjsNCisgICAgfQ0KKw0KKyAg
ICBmdW5jdGlvbiBtYXAoYXJyYXksIGNhbGxhYmxlLCB0aGlzT2JqKQ0KKyAgICB7DQorICAgICAg
ICB2YXIgcnYgPSBbXTsNCisgICAgICAgIHJ2Lmxlbmd0aCA9IGFycmF5Lmxlbmd0aDsNCisgICAg
ICAgIGZvciAodmFyIGk9MDsgaTxhcnJheS5sZW5ndGg7IGkrKykNCisgICAgICAgIHsNCisgICAg
ICAgICAgICBpZiAoYXJyYXkuaGFzT3duUHJvcGVydHkoaSkpDQorICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICBydltpXSA9IGNhbGxhYmxlLmNhbGwodGhpc09iaiwgYXJyYXlbaV0sIGks
IGFycmF5KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgICByZXR1cm4gcnY7
DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZXh0ZW5kKGFycmF5LCBpdGVtcykNCisgICAgew0K
KyAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoYXJyYXksIGl0ZW1zKTsNCisgICAg
fQ0KKw0KKyAgICBmdW5jdGlvbiBmb3JFYWNoIChhcnJheSwgY2FsbGJhY2ssIHRoaXNPYmopDQor
ICAgIHsNCisgICAgICAgIGZvciAodmFyIGk9MDsgaTxhcnJheS5sZW5ndGg7IGkrKykNCisgICAg
ICAgIHsNCisgICAgICAgICAgICBpZiAoYXJyYXkuaGFzT3duUHJvcGVydHkoaSkpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXNPYmosIGFycmF5W2ld
LCBpLCBhcnJheSk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAg
IGZ1bmN0aW9uIG1lcmdlKGEsYikNCisgICAgew0KKyAgICAgICAgdmFyIHJ2ID0ge307DQorICAg
ICAgICB2YXIgcDsNCisgICAgICAgIGZvciAocCBpbiBhKQ0KKyAgICAgICAgew0KKyAgICAgICAg
ICAgIHJ2W3BdID0gYVtwXTsNCisgICAgICAgIH0NCisgICAgICAgIGZvciAocCBpbiBiKSB7DQor
ICAgICAgICAgICAgcnZbcF0gPSBiW3BdOw0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJuIHJ2
Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGV4cG9zZShvYmplY3QsIG5hbWUpDQorICAgIHsN
CisgICAgICAgIHZhciBjb21wb25lbnRzID0gbmFtZS5zcGxpdCgiLiIpOw0KKyAgICAgICAgdmFy
IHRhcmdldCA9IHdpbmRvdzsNCisgICAgICAgIGZvciAodmFyIGk9MDsgaTxjb21wb25lbnRzLmxl
bmd0aCAtIDE7IGkrKykNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoIShjb21wb25lbnRz
W2ldIGluIHRhcmdldCkpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0YXJnZXRb
Y29tcG9uZW50c1tpXV0gPSB7fTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgdGFyZ2V0
ID0gdGFyZ2V0W2NvbXBvbmVudHNbaV1dOw0KKyAgICAgICAgfQ0KKyAgICAgICAgdGFyZ2V0W2Nv
bXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXV0gPSBvYmplY3Q7DQorICAgIH0NCisNCisg
ZnVuY3Rpb24gYW5jZXN0b3Jfd2luZG93cygpIHsNCisgICAgIC8vR2V0IHRoZSB3aW5kb3dzIFtz
ZWxmIC4uLiB0b3BdIGFzIGFuIGFycmF5DQorICAgICBpZiAoInJlc3VsdF9jYWNoZSIgaW4gYW5j
ZXN0b3Jfd2luZG93cykNCisgICAgIHsNCisgICAgICAgICByZXR1cm4gYW5jZXN0b3Jfd2luZG93
cy5yZXN1bHRfY2FjaGU7DQorICAgICB9DQorICAgICB2YXIgcnYgPSBbc2VsZl07DQorICAgICB2
YXIgdyA9IHNlbGY7DQorICAgICB3aGlsZSAodyAhPSB3LnBhcmVudCkNCisgICAgIHsNCisgICAg
ICAgICB3ID0gdy5wYXJlbnQ7DQorICAgICAgICAgcnYucHVzaCh3KTsNCisgICAgIH0NCisgICAg
IGFuY2VzdG9yX3dpbmRvd3MucmVzdWx0X2NhY2hlID0gcnY7DQorICAgICByZXR1cm4gcnY7DQor
IH0NCisNCit9KSgpOw0KKy8vIHZpbTogc2V0IGV4cGFuZHRhYiBzaGlmdHdpZHRoPTQgdGFic3Rv
cD00OgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVk
N2M0MDg0OWNiZTViMGNjYTBkMjIzMWE0OThjZDQzODkyOGI0OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCkBA
IC0wLDAgKzEsNzkgQEAKKy8qDQorICogVEhJUyBGSUxFIElOVEVOVElPTkFMTFkgTEVGVCBCTEFO
Sw0KKyAqDQorICogTW9yZSBzcGVjaWZpY2FsbHksIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3Ig
dmVuZG9ycyB0byBpbXBsZW1lbnQNCisgKiBjb2RlIG5lZWRlZCB0byBpbnRlZ3JhdGUgdGVzdGhh
cm5lc3MuanMgdGVzdHMgd2l0aCB0aGVpciBvd24gdGVzdCBzeXN0ZW1zLg0KKyAqDQorICogVHlw
aWNhbGx5IHN1Y2ggaW50ZWdyYXRpb24gd2lsbCBhdHRhY2ggY2FsbGJhY2tzIHdoZW4gZWFjaCB0
ZXN0IGlzDQorICogaGFzIHJ1biwgdXNpbmcgYWRkX3Jlc3VsdF9jYWxsYmFjayhjYWxsYmFjayh0
ZXN0KSksIG9yIHdoZW4gdGhlIHdob2xlIHRlc3QgZmlsZSBoYXMNCisgKiBjb21wbGV0ZWQsIHVz
aW5nIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKGNhbGxiYWNrKHRlc3RzLCBoYXJuZXNzX3N0YXR1
cykpLg0KKyAqDQorICogRm9yIG1vcmUgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgY2FsbGJhY2sg
ZnVuY3Rpb25zIGFuZCB0aGUNCisgKiBwYXJhbWV0ZXJzIHRoZXkgYXJlIGNhbGxlZCB3aXRoIHNl
ZSB0ZXN0aGFybmVzcy5qcw0KKyAqLw0KKw0KKy8vIFNldHVwIGZvciBXZWJLaXQgSmF2YVNjcmlw
dCB0ZXN0cw0KK2lmIChzZWxmLmxheW91dFRlc3RDb250cm9sbGVyKSB7DQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOw0KK30NCisNCisvLyBGdW5jdGlvbiB1c2VkIHRvIGNvbnZlcnQgdGhlIHRl
c3Qgc3RhdHVzIGNvZGUgaW50bw0KKy8vIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZw0KK2Z1bmN0
aW9uIGNvbnZlcnRSZXN1bHQocmVzdWx0U3RhdHVzKXsNCisJaWYocmVzdWx0U3RhdHVzID09IDAp
DQorCQlyZXR1cm4oIlBBU1MiKTsNCisJZWxzZSBpZihyZXN1bHRTdGF0dXMgPT0gMSkNCisJCXJl
dHVybigiRkFJTCIpOw0KKwllbHNlIGlmKHJlc3VsdFN0YXR1cyA9PSAyKQ0KKwkJcmV0dXJuKCJU
SU1FT1VUIik7DQorCWVsc2UNCisJCXJldHVybigiTk9UUlVOIik7DQorfQ0KKw0KKy8qIERpc2Fi
bGUgdGhlIGRlZmF1bHQgb3V0cHV0IG9mIHRlc3RoYXJuZXNzLmpzLiAgVGhlIGRlZmF1bHQgb3V0
cHV0IGZvcm1hdHMNCisqICB0ZXN0IHJlc3VsdHMgaW50byBhbiBIVE1MIHRhYmxlLiAgV2hlbiB0
aGF0IHRhYmxlIGlzIGR1bXBlZCBhcyB0ZXh0LCBubw0KKyogIHNwYWNpbmcgYmV0d2VlbiBjZWxs
cyBpcyBwcmVzZXJ2ZWQsIGFuZCBpdCBpcyB0aGVyZWZvcmUgbm90IHJlYWRhYmxlLiBCeQ0KKyog
IHNldHRpbmcgb3V0cHV0IHRvIGZhbHNlLCB0aGUgSFRNTCB0YWJsZSB3aWxsIG5vdCBiZSBjcmVh
dGVkDQorKi8NCitzZXR1cCh7Im91dHB1dCI6ZmFsc2V9KTsNCisNCisvKiAgVXNpbmcgYSBjYWxs
YmFjayBmdW5jdGlvbiwgdGVzdCByZXN1bHRzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHBhZ2UgaW4g
YSANCisqICAgbWFubmVyIHRoYXQgYWxsb3dzIGR1bXBBc1RleHQgdG8gcHJvZHVjZSByZWFkYWJs
ZSB0ZXN0IHJlc3VsdHMNCisqLw0KK2FkZF9jb21wbGV0aW9uX2NhbGxiYWNrKGZ1bmN0aW9uICh0
ZXN0cywgaGFybmVzc19zdGF0dXMpew0KKwkNCisJLy8gQ3JlYXRlIGVsZW1lbnQgdG8gaG9sZCBy
ZXN1bHRzDQorCXZhciByZXN1bHRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicHJlIik7DQor
CQ0KKwkvLyBEZWNsYXJlIHJlc3VsdCBzdHJpbmcNCisJdmFyIHJlc3VsdFN0ciA9ICJcbiI7DQor
CQ0KKwkvLyBDaGVjayBoYXJuZXNzX3N0YXR1cy4gIElmIGl0IGlzIG5vdCAwLCB0ZXN0cyBkaWQg
bm90DQorCS8vIGV4ZWN1dGUgY29ycmVjdGx5LCBvdXRwdXQgdGhlIGVycm9yIGNvZGUgYW5kIG1l
c3NhZ2UNCisJaWYoaGFybmVzc19zdGF0dXMuc3RhdHVzICE9IDApew0KKwkJcmVzdWx0U3RyICs9
ICJIYXJuZXNzIEVycm9yLiBoYXJuZXNzX3N0YXR1cy5zdGF0dXMgPSAiICsgDQorCQkJCQkgaGFy
bmVzc19zdGF0dXMuc3RhdHVzICsNCisJCQkJCSAiICwgaGFybmVzc19zdGF0dXMubWVzc2FnZSA9
ICIgKw0KKwkJCQkJIGhhcm5lc3Nfc3RhdHVzLm1lc3NhZ2U7DQorCX0NCisJZWxzZSB7DQorCQkv
LyBJdGVyYXRlIHRocm91Z2ggdGVzdHMgYXJyYXkgYW5kIGJ1aWxkIHN0cmluZyB0aGF0IGNvbnRh
aW5zDQorCQkvLyByZXN1bHRzIGZvciBhbGwgdGVzdHMNCisJCWZvcih2YXIgaT0wOyBpPHRlc3Rz
Lmxlbmd0aDsgaSsrKXsJCQkJIA0KKwkJCXJlc3VsdFN0ciArPSBjb252ZXJ0UmVzdWx0KHRlc3Rz
W2ldLnN0YXR1cykgKyAiICIgKyANCisJCQkJCQkoICh0ZXN0c1tpXS5uYW1lIT1udWxsKSA/IHRl
c3RzW2ldLm5hbWUgOiAiIiApICsgIiAiICsNCisJCQkJCQkoICh0ZXN0c1tpXS5tZXNzYWdlIT1u
dWxsKSA/IHRlc3RzW2ldLm1lc3NhZ2UgOiAiIiApICsgDQorCQkJCQkJIlxuIjsNCisJCX0JCQkN
CisJfQ0KKw0KKwkvLyBTZXQgcmVzdWx0cyBlbGVtZW50J3MgaW5uZXJIVE1MIHRvIHRoZSByZXN1
bHRzIHN0cmluZw0KKwlyZXN1bHRzLmlubmVySFRNTCA9IHJlc3VsdFN0cjsNCisNCisJLy8gQWRk
IHJlc3VsdHMgZWxlbWVudCB0byBkb2N1bWVudA0KKwlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJlc3VsdHMpOw0KKw0KKwlpZiAoc2VsZi5sYXlvdXRUZXN0Q29udHJvbGxlcikNCisJCWxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsNCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1l
bnRfb3Blbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI0NTNkMzFiMGY4OGYzNWY5YWIzNTJl
NWMyNTZlODJlMjA1OTU1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3Vt
ZW50X29wZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNvbnN0
YW50IHdoZW4gYSBkb2N1bWVudCBpcyByZXBsYWNlZCB1c2luZyBkb2N1bWVudC5vcGVuLgorCitU
aGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0
aGVuIHJlcGxhY2VzIHRoZSBkb2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGggYSBncmVlbiBkb2N1
bWVudC4KKworVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHBlcmZvcm1h
bmNlLnRpbWluZyBhcmUgY29ycmVjdCBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdy
ZWVuIGJhY2tncm91bmQuCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmlu
ZWQgCitQQVNTIGNvbm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQ
QVNTIGNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1Mg
ZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNv
bnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BB
U1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4gCitQQVNTIGRvbUludGVyYWN0aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIAorUEFTUyBkb21Mb2FkaW5nIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAor
UEFTUyBkb21haW5Mb29rdXBFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQ
QVNTIGRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAor
UEFTUyBmZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBs
b2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGxvYWRF
dmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBuYXZpZ2F0
aW9uU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlZGlyZWN0
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZWRpcmVjdFN0YXJ0
IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlc3BvbnNlRW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyB1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgdW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1l
bnRfb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3NjM3MzFhMTQzNDhiNTBhYWRjNGRiZDYzMDg4NjBlMWRhMzJhMDcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWwKQEAgLTAsMCArMSwxMTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPgorPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgZm9yIGR5bmFtaWNhbGx5IGNy
ZWF0ZWQgZG9jdW1lbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9z
b2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmln
YXRpb24tdGltaW5nLWludGVyZmFjZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+Cis8c2NyaXB0IGlkPSJtZXRhZGF0
YV9jYWNoZSI+LyoKK3sKKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogeworICAg
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2lu
ZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyIKKyAgfSwKKyAgImNvbm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgImNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAiZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBk
b2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbUludGVyYWN0aXZlIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Mb2FkaW5nIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21haW5Mb29rdXBFbmQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJmZXRjaFN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJsb2FkRXZlbnRFbmQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImxvYWRFdmVudFN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlZGlyZWN0RW5kIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZWRpcmVjdFN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXNwb25zZVN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJ1bmxvYWRFdmVudEVuZCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAidW5sb2FkRXZlbnRTdGFydCBpcyB0
aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9Cit9CisqLzwvc2NyaXB0PgorPHNjcmlw
dD4KK3NldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKKy8vIGV4cGxpY2l0bHkgdGVzdCB0
aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nCit0ZXN0X25hbWVzcGFjZSgpOwor
Cit2YXIgb3JpZ2luYWxUaW1pbmcgPSB7fTsKK3ZhciBkaWRPcGVuID0gZmFsc2U7CisKK2Z1bmN0
aW9uIG9ubG9hZF90ZXN0KCkgeworICBpZiAoIWRpZE9wZW4pIHsKKyAgICBzZXRUaW1lb3V0KHRl
c3RUaW1pbmdXaXRoRG9jdW1lbnRPcGVuLCAwKTsKKyAgICBkaWRPcGVuID0gdHJ1ZTsKKyAgfQor
fQorCitmdW5jdGlvbiB0ZXN0VGltaW5nV2l0aERvY3VtZW50T3BlbigpIHsKKyAgdmFyIHN1YmNv
bnRlbnRXaW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29u
dGVudFdpbmRvdzsKKworICBpZiAoc3ViY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5k
ZWZpbmVkKQorICB7CisgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycworICAgIGRvbmUoKTsKKyAg
ICByZXR1cm47CisgIH0KKyAgCisgIHZhciB0aW1pbmcgPSBzdWJjb250ZW50V2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZzsKKyAgZm9yIChpIGluIHRpbWluZ0F0dHJpYnV0ZXMpIHsKKyAgICBvcmln
aW5hbFRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSA9IHRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVz
W2ldXTsKKyAgfQorCisgIHZhciBzdWJkb2N1bWVudCA9IHN1YmNvbnRlbnRXaW5kb3cuZG9jdW1l
bnQ7CisgIHN1YmRvY3VtZW50Lm9wZW4oKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwhRE9DVFlQ
RSBIVE1MPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPGh0bWw+Jyk7CisgIHN1YmRvY3VtZW50
LndyaXRlKCc8aGVhZD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPHRpdGxlPjxHcmVlbiBUZXN0IFBhZ2U8
L3RpdGxlPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9oZWFkPicpOworICBzdWJkb2N1bWVu
dC53cml0ZSgnPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwRkYwMDsiPicpOworICBz
dWJkb2N1bWVudC53cml0ZSgnPC9ib2R5PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9odG1s
PicpOworICBzdWJkb2N1bWVudC5jbG9zZSgpOworCisgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CisgICAgdmFyIHRpbWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOwor
ICAgIGZvciAodmFyIGkgaW4gdGltaW5nQXR0cmlidXRlcykgeworICAgICAgdGVzdF9lcXVhbHMo
dGltaW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dLAorICAgICAgICAgICAgICAgICAgb3JpZ2luYWxU
aW1pbmdbdGltaW5nQXR0cmlidXRlc1tpXV0sCisgICAgICAgICAgICAgICAgICB0aW1pbmdBdHRy
aWJ1dGVzW2ldICsgIiBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiIpOworICAgIH0K
KyAgICBkb25lKCk7CisgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxo
MT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgcmVtYWlucyBjb25zdGFudCB3aGVuIGEKK2RvY3VtZW50IGlzIHJlcGxhY2Vk
IHVzaW5nIGRvY3VtZW50Lm9wZW4uPC9wPgorCis8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRl
ZCB3aXRoIGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0aGVuIHJlcGxhY2VzIHRoZQorZG9jdW1l
bnQgaW4gdGhhdCBmcmFtZSB3aXRoIGEgZ3JlZW4gZG9jdW1lbnQuPC9wPgorCis8cD5UaGUgdGVz
dCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBj
b3JyZWN0IGFuZAordGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQu
PC9wPgorCis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGJyIC8+Cis8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9ibGFua19wYWdlX3llbGxvdy5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUw
cHg7Ij48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90
ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0YTMz
NzFhODFlMTk1MTMyNTc0YmM1ZTQ3MDhjOTcxNDFiMjdjMjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
ImxvYWRpbmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiIGRvY3VtZW50LnJlYWR5U3Rh
dGUgc3RhdGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdhdGlvbi4KKworUmVmcmVzaCB0
aGlzIHBhZ2UgdG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy4KKworCitQQVNTIERv
Y3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4gCitQQVNTIERvY3VtZW50IHJlYWRp
bmVzcyBoYXMgaW50ZXJhY3RpdmUgc3RhdGUuIAorUEFTUyBEb2N1bWVudCByZWFkaW5lc3MgaGFz
IGNvbXBsZXRlIHN0YXRlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRf
cmVhZGluZXNzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3Nf
ZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTNiYjJmNWNhMmJjMzdkZmM2ZjcxZGI5ZTYwMWM3MTY4
ZTY3NGY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGlu
ZXNzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0
bWw+DQorPGhlYWQ+DQorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICA8dGl0bGU+
ZG9jdW1lbnQucmVhZHlTdGF0ZSB2YWx1ZXMgZXhpc3QgZHVyaW5nIGEgbmF2aWdhdGlvbjwvdGl0
bGU+DQorICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRw
Oi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L2RvbS5odG1sI3Jlc291cmNlLW1ldGFkYXRhLW1hbmFn
ZW1lbnQiLz4NCisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorIDxzY3JpcHQgaWQ9Im1l
dGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGxvYWRpbmcg
c3RhdGUuIjoge30sDQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFjdGl2ZSBzdGF0
ZS4iOiB7fSwNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGNvbXBsZXRlIHN0YXRlLiI6IHt9
DQorfQ0KKyovPC9zY3JpcHQ+ICAgDQorICAgIDxzY3JpcHQ+DQorICAgICAgICBzZXR1cCh7IGV4
cGxpY2l0X2RvbmU6IHRydWUgfSk7DQorICAgICAgICB2YXIgaGFzX2xvYWRpbmcgPSAoZG9jdW1l
bnQucmVhZHlTdGF0ZSA9PSAibG9hZGluZyIpOw0KKyAgICAgICAgdmFyIGhhc19pbnRlcmFjdGl2
ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJpbnRlcmFjdGl2ZSIpOw0KKyAgICAgICAgdmFy
IGhhc19jb21wbGV0ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJjb21wbGV0ZSIpOw0KKw0K
KyAgICAgICAgZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJsb2FkaW5nIikN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGhhc19sb2FkaW5nID0gdHJ1ZTsNCisg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImlu
dGVyYWN0aXZlIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGhhc19pbnRlcmFj
dGl2ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5y
ZWFkeVN0YXRlID0gImNvbXBsZXRlIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IGhhc19jb21wbGV0ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfTsNCisNCisg
ICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0
ZXN0X3RydWUoaGFzX2xvYWRpbmcsICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGxvYWRpbmcgc3Rh
dGUuIik7DQorICAgICAgICAgICAgdGVzdF90cnVlKGhhc19pbnRlcmFjdGl2ZSwgIkRvY3VtZW50
IHJlYWRpbmVzcyBoYXMgaW50ZXJhY3RpdmUgc3RhdGUuIik7DQorICAgICAgICAgICAgdGVzdF90
cnVlKGhhc19jb21wbGV0ZSwgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUu
Iik7DQorICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgfQ0KKyAgICA8L3NjcmlwdD4NCisN
Cis8L2hlYWQ+DQorPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgIDxoMT5EZXNj
cmlwdGlvbjwvaDE+DQorICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgImxvYWRp
bmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiDQorICAgICAgIGRvY3VtZW50LnJlYWR5
U3RhdGUgc3RhdGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdhdGlvbi48L3A+DQorICAg
IDxwPlJlZnJlc2ggdGhpcyBwYWdlIHRvIGd1YXJhbnRlZSBhbGwgcmVhZHlTdGF0ZSBwaGFzZXMu
PC9wPg0KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWE0NWY4NGEyOGFiMGQ5MzAzN2RlMzk3NTVlNGEwZjI2YjIxYWQ3OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRy
aWJ1dGVzIHJlbWFpbiB1bmNoYW5nZWQgYWZ0ZXIgYW4gaW4gZG9jdW1lbnQgbmF2aWdhdGlvbiAo
VVJMIGZyYWdtZW50IGNoYW5nZSkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyBj
b25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFT
UyBjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4g
CitQQVNTIGRvbUNvbXBsZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21JbnRlcmFj
dGl2ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9t
TG9hZGluZyBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1Mg
ZG9tYWluTG9va3VwRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
IAorUEFTUyBkb21haW5Mb29rdXBTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uLiAKK1BBU1MgZmV0Y2hTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVu
dCBuYXZpZ2F0aW9uLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRl
ciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZWRpcmVjdEVuZCBpcyB0
aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgcmVkaXJlY3RTdGFy
dCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgcmVxdWVz
dFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBy
ZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BB
U1MgcmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiAKK1BBU1MgdW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4gCitQQVNTIHVubG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRl
X3dpdGhpbl9kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2Rv
Y3VtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVjZWU2YmYzNjhiOGQ3NGU4N2ViZTVlMjE5YWE0ZTVj
YTY2MzRmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhp
bl9kb2N1bWVudC5odG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgPgorICAgICAgICA8
dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uPC90
aXRsZT4KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+CisgCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1p
bnRlcmZhY2UiLz4KKwk8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgaWQ9Im1ldGFkYXRh
X2NhY2hlIj4vKgoreworICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7CisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwKKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53
My5vcmcvIgorICB9LAorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjog
eworICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2lu
ZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6
Ly93d3cudzMub3JnLyIKKyAgfSwKKyAgImNvbm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBh
ZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tQ29tcGxldGUgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUNvbnRlbnRM
b2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6
IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUludGVyYWN0aXZlIGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Mb2FkaW5nIGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21haW5Mb29r
dXBFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAg
ImRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIjoge30sCisgICJmZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5h
dmlnYXRpb24uIjoge30sCisgICJsb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlZGlyZWN0
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJy
ZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjog
e30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIjoge30sCisgICJyZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGlu
IGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJ1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAidW5sb2FkRXZlbnRTdGFy
dCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9Cit9CisqLzwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9u
PC9oMT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIHJlbWFpbiB1bmNoYW5nZWQgYWZ0ZXIg
YW4gaW4gZG9jdW1lbnQgbmF2aWdhdGlvbiAoVVJMIGZyYWdtZW50IGNoYW5nZSkuPC9wPgorCisg
ICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisgICAgICAgICAgICAvLyBleHBsaWNp
dGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZworICAgICAgICAg
ICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOworCisgICAgICAgICAgICB2YXIgdGltaW5nOwor
CisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja190aW1pbmdfbm90X2NoYW5nZWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmli
dXRlcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07CisgICAgICAgICAgICAgICAgICAg
IHRlc3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0eV0sIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgKyAiIGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIik7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdmFyIGlu
aXRpYWxfdGltaW5nID0ge307CisgICAgICAgICAgICBmdW5jdGlvbiBzYXZlX3RpbWluZ19hZnRl
cl9sb2FkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOworICAg
ICAgICAgICAgICAgICAgICBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0gPSB0aW1pbmdbcHJvcGVy
dHldOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24u
aHJlZiA9ICIjMSI7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgiY2hlY2tfdGltaW5nX25v
dF9jaGFuZ2VkKCkiLCAwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
bG9hZF9oYW5kbGVyKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAocGVyZm9y
bWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMKKyAgICAgICAgICAgICAgICAgICAg
ZG9uZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdGltaW5nID0gcGVyZm9ybWFuY2VOYW1lc3Bh
Y2UudGltaW5nOworICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2
ZW50TGlzdGVuZXIoImxvYWQiLCBsb2FkX2hhbmRsZXIpOworICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQoInNhdmVfdGltaW5nX2FmdGVyX2xvYWQoKSIsIDApOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGxvYWRfaGFuZGxlciwg
ZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMGQ1NjFmNTgwMGZiZjU0ZmI4MGY0MDMyMDMyNzAwNzEwYjkwZWRl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVz
X2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitEZXNjcmlwdGlvbgorCitUaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbiBhdHRyaWJ1dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2
YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmlu
ZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgaXMgZGVmaW5lZC4gCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgaXMgZGVmaW5lZC4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDA1ZTlmZjkwN2FkOWU1OGQ3YjEyZWNiNWFlYmI0MDVhZTg2N2RhNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5o
dG1sCkBAIC0wLDAgKzEsNDEgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8
aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCisgICAgICAgIDx0aXRsZT53
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBhdHRyaWJ1dGVzPC90aXRsZT4NCisgICAgICAg
IDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1p
Y3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIv
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0
YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQor
ICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
d2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRv
dy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZv
cm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDov
L3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBp
cyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNz
ZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGlu
ZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRo
b3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24udHlwZSBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgaXMgZGVmaW5lZC4iOiB7fQ0KK30NCisqLzwv
c2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0
aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhl
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2Vz
IG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKw0KKyAg
ICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAg
ICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgdGVzdF9hdHRyaWJ1
dGVfZXhpc3RzKCduYXZpZ2F0aW9uJywgJ3R5cGUnKTsNCisgICAgICAgIHRlc3RfYXR0cmlidXRl
X2V4aXN0cygnbmF2aWdhdGlvbicsICdyZWRpcmVjdENvdW50Jyk7DQorICAgICAgICA8L3Njcmlw
dD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9u
YXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjlhZmY2NGJiZWY1YjBmODAyOTU1OTI3ODI0MGM2ODZiZGVjMWQ2OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRp
cmVjdENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBhcyB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdEVuZCBhdHRyaWJ1dGVzIG9uIGEgbm9uLXJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbi4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFT
UyB0aW1pbmcucmVkaXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAor
UEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAK
K1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmln
YXRpb24gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RD
b3VudF9ub25lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRf
bm9uZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlZDc2ZjM0MDU0ZmVlZDE2NDYwZWQ0NmQ0ZTM1Yjc3YmEx
MDI3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3JlZGly
ZWN0Q291bnRfbm9uZS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0K
KzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0K
KyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQgb24gYSBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29m
dC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2Nh
Y2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcucmVkaXJlY3RTdGFy
dCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAidGltaW5nLnJlZGly
ZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJuYXZpZ2F0
aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHsgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0
aW9uLWluZm8taW50ZXJmYWNlIiB9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisg
ICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhdHRyaWJ1dGUsIGFzIHdlbGwgYXMgdGhlIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RFbmQgYXR0cmli
dXRlcyBvbiBhIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRp
diBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0ZXN0X25h
bWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNw
YWNlICE9PSB1bmRlZmluZWQpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVk
aXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorICAgICAgICAg
ICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAw
LCAndGltaW5nLnJlZGlyZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsN
CisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9u
LnJlZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAgICAgIH0N
CisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBhMDI0ZGNmZDg0N2RmOTZjMjI4MWYwZTY0MjdhN2Y5ZmE3MWUzZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2Zvcndh
cmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0g
aGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBv
bnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2Fk
IGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxl
cihzKQorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgZm9yd2FyZCBhbmQgYmFjayBu
YXZpZ2F0aW9uLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJh
Y2tncm91bmQgZnJhbWUgYmVsb3cuIEl0IHNob3VsZCB0dXJuIGdyZWVuIGZvciBhIHN0YXJ0aW5n
IG5hdmlnYXRpb24sIGJhY2sgdG8geWVsbG93IGZvciBhIGJhY2sgbmF2aWdhdGlvbiBhbmQgdGhl
biBiYWNrIHRvIGdyZWVuIGFnYWluIGZvciBhIGZvcndhcmQgbmF2aWdhdGlvbi4KKworQWxvbmcg
dGhlIG5hdmlnYXRpb24gdGltZWxpbmUgdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50eXBl
IGlzIGNoZWNrZWQgZm9yIFRZUEVfQkFDS19GT1JXQVJELgorCitUaGlzIHRlc3QgcGFzc2VzIGlm
IGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBuYXZpZ2F0aW9uLnR5cGUgYXJlIGNvcnJlY3QgdGhy
b3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMg
d2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLgorCisK
KworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5iYWNr
KCkgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNL
X0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJkKCkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
bmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEzOGY2NmVhNmFh
ZTk0ZjE2MWM0MzA1NTZmMGJmNDc3OGIxNmVhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5odG1sCkBAIC0wLDAgKzEsMTEzIEBA
Civvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cubmF2aWdhdGlvbi50
eXBlIGZvciBiYWNrIGFuZCBmb3J3YXJkIG5hdmlnYXRpb25zPC90aXRsZT4NCisgICAgICAgIDxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jv
c29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIvPg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBp
ZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0Ijog
IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAi
VzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQg
YWZ0ZXIgaGlzdG9yeS5iYWNrKCkiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuZm9yd2FyZCgpIjog
e30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0
dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLyBleHBsaWNpdGx5
IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZw0KKyAgICAgICAgICAg
IHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24g
b25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZv
cm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAg
ICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAg
ICAgfQ0KKw0KKyAgICAgICAgICAgICAgICAvLyBkbyB0aGlzIHdpdGggYSB0aW1lb3V0IHRvIHNl
ZSB0aGUgdmlzdWFscyBvZiB0aGUgbmF2aWdhdGlvbnMuDQorICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQoIm5hdl9mcmFtZSgpOyIsIDEwMCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAg
ICAgIHZhciBzdGVwID0gMTsNCisgICAgICAgICAgICBmdW5jdGlvbiBuYXZfZnJhbWUoKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIG5hdmlnYXRpb25fZnJhbWUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVudFdpbmRvdzsNCisgICAg
ICAgICAgICAgICAgc3dpdGNoIChzdGVwKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICBjYXNlIDE6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5sb2NhdGlvbi5ocmVmID0gJy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbl93aXRoX29udW5sb2FkLmh0bSc7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
Ow0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0K
KyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1
YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURScpOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUuaGlzdG9yeS5iYWNrKCk7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAz
Og0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
ZXF1YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdh
dGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJE
IGFmdGVyIGhpc3RvcnkuYmFjaygpJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsr
Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUuaGlzdG9yeS5mb3J3
YXJkKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6DQorICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMobmF2aWdhdGlvbl9mcmFt
ZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJE
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJk
KCknKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAg
ICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAg
IH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAg
ICAgICAgPGgxPg0KKyAgICAgICAgICAgIERlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPg0K
KyAgICAgICAgICAgIFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgd2l0aCBhIGZvcndhcmQNCisgICAgICAgICAgICBhbmQg
YmFjayBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUg
bG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIEl0IHNob3VsZCB0
dXJuIGdyZWVuIGZvciBhIHN0YXJ0aW5nDQorICAgICAgICAgICAgbmF2aWdhdGlvbiwgYmFjayB0
byB5ZWxsb3cgZm9yIGEgYmFjayBuYXZpZ2F0aW9uIGFuZCB0aGVuIGJhY2sgdG8gZ3JlZW4gYWdh
aW4gZm9yIGEgZm9yd2FyZCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxwPkFsb25nIHRo
ZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIHRoZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2UudHlwZSBp
cyBjaGVja2VkIGZvciBUWVBFX0JBQ0tfRk9SV0FSRC48L3A+DQorDQorICAgICAgICA8cD5UaGlz
IHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBuYXZpZ2F0aW9uLnR5cGUg
YXJlIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbg0KKyAgICAgICAgICAgIHNjZW5h
cmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gIE90
aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+
PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4
dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2Js
YW5rX3BhZ2VfeWVsbG93X3dpdGhfb251bmxvYWQuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBo
ZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODRkOGExODMzZjQ0MmYxYjlhYmI4NDRlOTJlM2NlZTQzZTQzYjI4MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGF0IHRoZSBUWVBFXyogZW51bWVyYXRpb25zIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGV4aXN0IGFuZCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QuCisKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9O
QVZJR0FURSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
VFlQRV9OQVZJR0FURSA9IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZ
UEVfUkVMT0FEIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5UWVBFX1JFTE9BRCA9IDEgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZ
UEVfQkFDS19GT1JXQVJEIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCA9IDIgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgPSAyNTUgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2
aWdhdGlvbl90eXBlX2VudW1zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA2ZmNiMjhhYTgyNTJmN2Y1NmI3
MzY1ZTMwNGNmNTM4ODFhMTRhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25h
dmlnYXRpb25fdHlwZV9lbnVtcy5odG1sCkBAIC0wLDAgKzEsNDkgQEAKK++7vzwhRE9DVFlQRSBo
dG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGVudW1z
PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBo
cmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlv
bi1pbmZvLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
PHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAi
YXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9z
dGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJh
dXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0
cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0
ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1
dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRF
ID0gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FE
IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQ
RV9SRUxPQUQgPSAxIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQ
RV9CQUNLX0ZPUldBUkQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCA9IDIiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEIGlzIGRlZmluZWQuIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCA9IDI1NSI6IHt9DQorfQ0K
KyovPC9zY3JpcHQ+DQorICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNj
cmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFRZ
UEVfKiBlbnVtZXJhdGlvbnMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gZXhpc3Qg
YW5kIHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNl
KCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQ
RV9OQVZJR0FURScsIDApOw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVf
UkVMT0FEJywgMSk7DQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9CQUNL
X0ZPUldBUkQnLCAyKTsNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX1JF
U0VSVkVEJywgMjU1KTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjNkMTkzNDgyMjI5MDFiYTFhZWY0MGNiN2QwYzI1Yjk0OGY4YWQw
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxv
YWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5
cGUgYW5kIHRoZSB2YWx1ZXMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSBy
ZWxvYWRlZCBuYXZpZ2F0aW9uLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEg
Z3JlZW4gYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGlj
YWxseSByZWxvYWRlZCBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0CisKK1RoZSB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi50eXBlID0gVFlQRV9SRUxPQUQKK0FsbCBvZiB0aGUgd2lkb3cucGVy
Zm9ybWFuY2UudGltaW5nLiogdmFsdWVzIGFmdGVyIHJlbG9hZCBhcmUgPiBhbGwgb2YgdGhlIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMgcHJpb3IgdG8gcmVsb2FkLgorCisKKwor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0gCitQQVNTIFJl
bG9hZCBjb25uZWN0RW5kID4gT3JpZ2luYWwgY29ubmVjdEVuZCAKK1BBU1MgUmVsb2FkIGNvbm5l
Y3RTdGFydCA+IE9yaWdpbmFsIGNvbm5lY3RTdGFydCAKK1BBU1MgUmVsb2FkIGRvbUNvbXBsZXRl
ID4gT3JpZ2luYWwgZG9tQ29tcGxldGUgCitQQVNTIFJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZl
bnRFbmQgPiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCBk
b21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVu
dFN0YXJ0IAorUEFTUyBSZWxvYWQgZG9tSW50ZXJhY3RpdmUgPiBPcmlnaW5hbCBkb21JbnRlcmFj
dGl2ZSAKK1BBU1MgUmVsb2FkIGRvbUxvYWRpbmcgPiBPcmlnaW5hbCBkb21Mb2FkaW5nIAorUEFT
UyBSZWxvYWQgZG9tYWluTG9va3VwRW5kID4gT3JpZ2luYWwgZG9tYWluTG9va3VwRW5kIAorUEFT
UyBSZWxvYWQgZG9tYWluTG9va3VwU3RhcnQgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBTdGFydCAK
K1BBU1MgUmVsb2FkIGZldGNoU3RhcnQgPiBPcmlnaW5hbCBmZXRjaFN0YXJ0IAorUEFTUyBSZWxv
YWQgbG9hZEV2ZW50RW5kID4gT3JpZ2luYWwgbG9hZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQgbG9h
ZEV2ZW50U3RhcnQgPiBPcmlnaW5hbCBsb2FkRXZlbnRTdGFydCAKK1BBU1MgUmVsb2FkIG5hdmln
YXRpb25TdGFydCA+IE9yaWdpbmFsIG5hdmlnYXRpb25TdGFydCAKK1BBU1MgUmVsb2FkIHJlZGly
ZWN0RW5kID09IE9yaWdpbmFsIHJlZGlyZWN0RW5kIAorUEFTUyBSZWxvYWQgcmVkaXJlY3RTdGFy
dCA9PSBPcmlnaW5hbCByZWRpcmVjdFN0YXJ0IAorUEFTUyBSZWxvYWQgcmVxdWVzdFN0YXJ0ID4g
T3JpZ2luYWwgcmVxdWVzdFN0YXJ0IAorUEFTUyBSZWxvYWQgcmVzcG9uc2VFbmQgPiBPcmlnaW5h
bCByZXNwb25zZUVuZCAKK1BBU1MgUmVsb2FkIHJlc3BvbnNlU3RhcnQgPiBPcmlnaW5hbCByZXNw
b25zZVN0YXJ0IAorUEFTUyBSZWxvYWQgdW5sb2FkRXZlbnRFbmQgPiBPcmlnaW5hbCB1bmxvYWRF
dmVudEVuZCAKK1BBU1MgUmVsb2FkIHVubG9hZEV2ZW50U3RhcnQgPiBPcmlnaW5hbCB1bmxvYWRF
dmVudFN0YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVf
cmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmVjMDZhOGY0ZTYwYTEyZDViZThjZmE5N2IwZjJiYWY3YzVkZmQ5YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRt
bApAQCAtMCwwICsxLDE0NCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxo
ZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgcmVsb2FkZWQgbmF2aWdh
dGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29m
dCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmln
YXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5jc3MiIC8+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2Ut
YXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJp
YnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRy
aWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAg
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2lu
ZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3
dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBl
ID09IFRZUEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSI6IHt9LA0KKyAgIlJlbG9hZCBj
b25uZWN0RW5kKDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgY29ubmVjdEVuZCgxMzQwMzc2MDcw
MTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBjb25uZWN0U3RhcnQoMTM0MDM3NjA3MDI5NSkgPiBPcmln
aW5hbCBjb25uZWN0U3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgZG9tQ29t
cGxldGUoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21Db21wbGV0ZSgxMzQwMzc2MDcwMTc5
KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3NjA3MDMw
MCkgPiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3NjA3MDE3OSkiOiB7
fSwNCisgICJSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDMwMCkg
PiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgxMzQwMzc2MDcwMTc5KSI6IHt9
LA0KKyAgIlJlbG9hZCBkb21JbnRlcmFjdGl2ZSgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRv
bUludGVyYWN0aXZlKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUxvYWRpbmco
MTM0MDM3NjA3MDI5OSkgPiBPcmlnaW5hbCBkb21Mb2FkaW5nKDEzNDAzNzYwNzAxNzgpIjoge30s
DQorICAiUmVsb2FkIGRvbWFpbkxvb2t1cEVuZCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGRv
bWFpbkxvb2t1cEVuZCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBkb21haW5Mb29r
dXBTdGFydCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGRvbWFpbkxvb2t1cFN0YXJ0KDEzNDAz
NzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGZldGNoU3RhcnQoMTM0MDM3NjA3MDI5MCkgPiBP
cmlnaW5hbCBmZXRjaFN0YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGxvYWRF
dmVudEVuZCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGxvYWRFdmVudEVuZCgxMzQwMzc2MDcw
MTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBsb2FkRXZlbnRTdGFydCgxMzQwMzc2MDcwMzAwKSA+IE9y
aWdpbmFsIGxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIG5h
dmlnYXRpb25TdGFydCgxMzQwMzc2MDcwMjkwKSA+IE9yaWdpbmFsIG5hdmlnYXRpb25TdGFydCgx
MzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdEVuZCgwKSA9PSBPcmlnaW5h
bCByZWRpcmVjdEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdFN0YXJ0KDApID09IE9y
aWdpbmFsIHJlZGlyZWN0U3RhcnQoMCkiOiB7fSwNCisgICJSZWxvYWQgcmVxdWVzdFN0YXJ0KDEz
NDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgcmVxdWVzdFN0YXJ0KDEzNDAzNzYwNzAxNjQpIjoge30s
DQorICAiUmVsb2FkIHJlc3BvbnNlRW5kKDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgcmVzcG9u
c2VFbmQoMTM0MDM3NjA3MDE3NCkiOiB7fSwNCisgICJSZWxvYWQgcmVzcG9uc2VTdGFydCgxMzQw
Mzc2MDcwMjk2KSA+IE9yaWdpbmFsIHJlc3BvbnNlU3RhcnQoMTM0MDM3NjA3MDE2NCkiOiB7fSwN
CisgICJSZWxvYWQgdW5sb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCB1bmxv
YWRFdmVudEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCB1bmxvYWRFdmVudFN0YXJ0KDEzNDAzNzYw
NzAyOTYpID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRTdGFydCgwKSI6IHt9DQorfQ0KKyovPC9zY3Jp
cHQ+ICAgICAgIA0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUg
bmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAgICAgdGVzdF9uYW1l
c3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB2YXIgcmVsb2FkX2ZyYW1lOw0KKyAg
ICAgICAgICAgIHZhciBzdGFydGluZ1RpbWU7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gZGVl
cENvcHkocCwgYykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBjID0gYyB8
fCB7fTsNCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBwKQ0KKyAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBbaV0gPT09ICdvYmplY3QnKQ0K
KyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNbaV0gPSAo
cFtpXS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpID8gW10gOiB7fTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICBkZWVwQ29weShwW2ldLCBjW2ldKTsNCisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSBjW2ldID0gcFtpXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICByZXR1
cm4gYzsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgDQorICAgICAgICAgICAgZnVu
Y3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVs
b2FkX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAg
ICAgICAgICAgICAgICByZWxvYWRfZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7DQorICAgICAg
ICAgICAgICAgICAgLyogTmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBsb2FkRXZl
bnRFbmQNCisgICAgICAgICAgICAgICAgICAgICB1bnRpbCBhZnRlciB0aGUgbG9hZCBldmVudCBo
YXMgZmluaXNoZWQgZmlyaW5nICovDQorCQkgICAgc2V0VGltZW91dChkb190ZXN0LCAwKTsNCisJ
CX0NCisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgicmVsb2FkX3RoZV9mcmFtZSgpOyIsIDEw
MCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlbG9hZF90aGVf
ZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy9CZWZvcmUgcmVsb2Fk
aW5nLCBzYXZlIHRoZSBjdXJyZW50IHRpbWluZw0KKyAgICAgICAgICAgICAgICBzdGFydGluZ1Rp
bWUgPSBkZWVwQ29weShyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcpOw0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlv
bi5yZWxvYWQodHJ1ZSk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9u
IGRvX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1l
Lm9ubG9hZCA9IG51bGw7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFj
ZSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy9WZXJpZnkgdGhh
dCB0aGUgbmF2aWdhdGlvbiB0eXBlIGhhcyB1cGRhdGVkIHRvIHJlbG9hZA0KKyAgICAgICAgICAg
ICAgICAgICAgdGVzdF9lcXVhbHMocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FELA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JF
TE9BRCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0nKTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8v
VmVyaWZ5IHRoYXQgdGhlIHRpbWluZyBkYXRhIGhhcyBiZWVuIHVwZGF0ZWQgaW50byB0aGUgZnV0
dXJlDQorICAgICAgICAgICAgICAgICAgICB2YXIgcmVsb2FkVGltZSA9IHJlbG9hZF9mcmFtZS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisgICAgICAgICAgICAgICAgICAgIGZv
ciAoYXR0cmlidXRlIGluIHRpbWluZ0F0dHJpYnV0ZXMpDQorICAgICAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpbWUgPSB0aW1pbmdBdHRyaWJ1dGVzW2F0
dHJpYnV0ZV07DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbG9hZFRpbWVbdGltZV0g
PT09IDApDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZ1RpbWVbdGltZV0sDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZWxvYWQgIiArIHRpbWUgICsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiA9PSAiICsNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9yaWdpbmFsICIgKyB0aW1lICk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAg
ICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
Z3JlYXRlcl90aGFuKHJlbG9hZFRpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGltZSAgKw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID4gIiArDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcmlnaW5hbCAiICsg
dGltZSApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAg
IH0NCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAg
ICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkg
b25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0K
KyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSBhbmQgdGhlIHZhbHVlcyBvZg0KKyAgICAgICAgICAgIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbi48L3A+
DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4g
YmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkg
cmVsb2FkZWQNCisgICAgICAgIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQgDQorICAgICAgICA8dWw+
DQorICAgICAgICAgICAgPGxpPlRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBl
ID0gVFlQRV9SRUxPQUQ8L2xpPg0KKyAgICAgICAgICAgIDxsaT5BbGwgb2YgdGhlIHdpZG93LnBl
cmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBhZnRlciByZWxvYWQgYXJlID4gYWxsIG9mIHRoZSB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzDQorICAgICAgICAgICAgICAgIHByaW9y
IHRvIHJlbG9hZC48L2xpPg0KKyAgICAgICAgPC91bD4NCisgICAgICAgIDwvcD4NCisNCisgICAg
ICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJh
bWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3Bh
Z2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJh
bWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
bm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rfbm9fcHJl
dmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZmNlOWM1ZGMwNjA0MGVh
MmE5ZmZjOGUzOTYzZDBiYWNkMjliMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdW5sb2FkIGV2ZW50IHRpbWVzIGFy
ZSAwIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgZG9jdW1lbnQuCisKKworCisKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9O
QVZJR0FURSAKK1BBU1MgdGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPT0gMCBvbiBuYXZpZ2F0aW9u
IHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQgCitQQVNTIHRpbWluZy51bmxvYWRFdmVudEVuZCA9
PSAwIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk2NTFkY2RkNzg3YWYxYWM0
ZDA5YWI0MWI1NmRhODE2MWM2ZDE4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFET0NUWVBF
IGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1
dGVzIG9uIGFuIGluaXRpYWwgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4N
CisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7
DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1h
bmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBh
dHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQg
YXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0K
KyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0K
KyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5k
b3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJm
b3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6
Ly93d3cudzMub3JnLyINCisgIH0sDQorICAidGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBF
X05BVklHQVRFIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAidGltaW5nLnVubG9h
ZEV2ZW50U3RhcnQgPT0gMCBvbiBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQi
OiB7fSwNCisgICJ0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9uIHdpdGggbm8g
cHJldmlvdXMgZG9jdW1lbnQiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisg
ICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25l
OiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdmFyIGZyYW1lOw0KKyAgICAgICAgICAgIGZ1bmN0
aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAgICAgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICBpZiAo
cGVyZm9ybWFuY2VOYW1lc3BhY2UpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgIHRlc3RfdHJ1ZShmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24udHlwZSA9PSBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZpZ2F0aW9uLnR5cGUg
aXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnVubG9hZEV2ZW50U3RhcnQsIDAsICd0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9u
IG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcpOw0KKyAgICAgICAgICAgICAg
ICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRFbmQsIDAsICd0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9u
IHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQnKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQor
ICAgICAgICANCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7
Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoZSB1bmxvYWQgZXZlbnQgdGltZXMgYXJlIDAgd2hlbiB0aGVyZSBpcyBubyBw
cmV2aW91cyBkb2N1bWVudC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pjxi
ciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhl
aWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg2ZDJkODY5ZTNjYjM5MDE2NDAyNDZhNTU3M2QzZWNkNTczZTNk
MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1
dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgbmF2aWdhdGlvbiBhbmQgdGltaW5nIGF0dHJpYnV0
ZXMgZXhpc3QgZm9yIHdpbmRvdy5wZXJmb3JtYW5jZSAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRo
YXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hYjA0Mzc1ZThkNWZjMzI0MjgwYzEyMTBjZDdmMTM3MGUzZDMxMGJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC5odG1s
CkBAIC0wLDAgKzEsNDIgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVh
ZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGVzPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v
IiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIvPg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUi
Pi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAg
ImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhv
c3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAi
YXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9zY3JpcHQ+
DQorICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVz
Y3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBu
YXZpZ2F0aW9uIGFuZCB0aW1pbmcgYXR0cmlidXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1h
bmNlIA0KKyAgICAgICAgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBh
cmUgY29ycmVjdCkuPC9wPg0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAg
IDxzY3JpcHQ+ICAgICAgICAgICAgDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmln
YXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJywgdHJ1ZSk7DQor
ICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2lu
X29iamVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZkOWZkNTRiNTdhNTBjOTQxNzNmYTA1
Y2I1NGQzMjJiMDg0YjQ0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZv
cm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93
LnBlcmZvcm1hbmNlIG9iamVjdCBleGlzdHMgaW4gYW4gb2JqZWN0IGVsZW1lbnQgKGJ1dCBkb2Vz
IG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0
X2luX29iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1ODUwZWM4MGU2MzdkYzUzNjA1YzZhNTE3ZTk4
NzE3MmIwYzAzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5j
ZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC5odG1sCkBAIC0wLDAgKzEsNDggQEAKK++7vzwh
RE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1
dGUgZXhpc3RzIGluIGFuIG9iamVjdDwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4NCisJPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLz4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmli
dXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJp
YnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAv
Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7
DQorICAgICAgICAgICAgdmFyIG9ialdpbmRvdyA9DQorICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJvYmplY3RDb250ZXh0IikuY29udGVudERvY3VtZW50LmRlZmF1bHRW
aWV3Ow0KKyAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gb2JqV2luZG93LnBlcmZv
cm1hbmNlOw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicsIHRydWUpOw0KKyAgICAgICAgICB9DQor
ICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxo
MT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgZXhpc3RzIGluIGFuDQorICAgICAgICBvYmpl
Y3QgZWxlbWVudCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBj
b3JyZWN0KS48L3A+DQorICAgICAgICA8b2JqZWN0IGlkPSJvYmplY3RDb250ZXh0IiBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7IiBkYXRhPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2Vf
Z3JlZW4uaHRtIj48L29iamVjdD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAg
IDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2E4OWI5NjRkNzBmOTY5NGRlYTVhYzE4NWMxZGY0Y2U2MGM0NDNkMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw5IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgaXMgcmVhZC93cml0ZS4KKworCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93
cml0ZSAKK1BBU1MgdmFyIHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzQ0YmI4NjcyNWRjOGUxOTgzY2M3NzliOGY2MDY3N2IxNjBjYzQ4
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisg
ICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5w
ZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAv
Pg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIvPg0KKwk8bWV0YSBu
YW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRh
ZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93
cml0ZSI6IHt9LA0KKyAgInZhciBwZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIjoge30NCit9DQor
Ki88L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAg
ICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlzIHJlYWQvd3JpdGUuPC9wPg0K
KyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAg
ICAgICAgdGVzdF9uYW1lc3BhY2UoKTsNCisNCisgICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFu
Y2UgPSAnZm9vJzsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyh3aW5kb3cucGVyZm9ybWFuY2Us
ICdmb28nLCAnd2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUnKTsNCisNCisgICAgICAg
ICAgICB2YXIgcGVyZm9ybWFuY2UgPSAnYmFyJzsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhw
ZXJmb3JtYW5jZSwgJ2JhcicsICd2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZScpOw0KKyAg
ICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM1YTE2YmYxYmFhZWVjNTdiYzgzNDk3NzBmMjYwMWU3Y2NlZGRmNzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGV4aXN0IChi
dXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5j
b25uZWN0RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNv
bm5lY3RTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5k
b21Db21wbGV0ZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5k
b21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgaXMgZGVmaW5lZC4gCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBkZWZpbmVkLiAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgaXMg
ZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5k
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3Rh
cnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0
YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNl
RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNl
U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2Fk
RXZlbnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5s
b2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
dGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2VkMTYwOWFjOTVhYjRjNTQ2ZDQwYWFlNDg5
YjAwMGJiYjJjMzhjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19h
dHRyaWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw2MSBAQAor77u/PCFET0NUWVBFIGh0bWw+
DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+
DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzPC90
aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVm
PSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10
aW1pbmctaW50ZXJmYWNlIi8+ICAgICAgICANCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0K
KyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVz
IGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQor
ICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmli
dXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJp
YnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kIGlzIGRlZmluZWQuIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlIGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9h
ZGVkRXZlbnRFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBkZWZpbmVkLiI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBkZWZpbmVkLiI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIGlzIGRlZmlu
ZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFy
dCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hT
dGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9h
ZEV2ZW50RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5sb2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0IGlzIGRlZmluZWQuIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCBpcyBkZWZp
bmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQg
aXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2
ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+
DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcgYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIg
dmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2
Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcn
KTsNCisNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5n
dGg7ICsraSkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMo
J3RpbWluZycsIHRpbWluZ0F0dHJpYnV0ZXNbaV0pOw0KKyAgICAgICAgfQ0KKyAgICAgICAgPC9z
Y3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
dGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzMWQ4MTg0
ZDNiNzNjMWRlM2I2ZTg4YjI0NGUwN2MyZDRiMWY0ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1OCBAQAorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMp
CitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBvcmRlcmluZyBvZiB0aGUg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzLgorCitUaGlzIHBhZ2Ugc2hvdWxk
IGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hpY2ggY29u
dGFpbnMgYW4gdW5sb2FkIGV2ZW50IGhhbmRsZXIuCisKK0FmdGVyIHRoZSBwYWdlIGxvYWRzLCB0
aGUgZnJhbWUgaXMgbmF2aWdhdGVkIHRvIGEgbmV3IGJsYW5rIHBhZ2Ugd2l0aCBhIGdyZWVuIGJh
Y2tncm91bmQuIEF0IHRoaXMgcG9pbnQsIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIGlzIHZlcmlm
aWVkCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIGZyYW1l
LndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBhcmUgY29ycmVjdCB0aHJvdWdo
b3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRo
IGEgZ3JlZW4gYmFja2dyb3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuCisKK1NldHVw
CisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24udHlwZSA9PSBUWVBFX05BVklHQVRFIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
Lm5hdmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVk
aXJlY3RTdGFydCA9PSAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0
RW5kID09IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRj
aFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+
IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID49IHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5jb25uZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21h
aW5Mb29rdXBFbmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+
IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZXF1ZXN0U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlcXVlc3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+IDAgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLnJlcXVlc3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZXNwb25zZUVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VF
bmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRj
aFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID4g
MCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUNvbXBsZXRlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExv
YWRlZEV2ZW50RW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0
YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPiAwIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmxvYWRFdmVudFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVu
bG9hZEV2ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9h
ZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPiAwIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWlu
Z19hdHRyaWJ1dGVzX29yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ4NGU5YWFiMzY5ZDJhMzE0YWY5
MzU5ZTIzMzJjMTU5ZjMyOTMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Rp
bWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWwKQEAgLTAsMCArMSwxNjcgQEAKK++7vzwhRE9DVFlQ
RSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmli
dXRlIG9yZGVyaW5nIG9uIGEgc2ltcGxlIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9z
b2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4g
ICAgICAgIA0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQor
IDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAg
ImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhv
c3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAi
YXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZ
UEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPT0gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmZldGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9u
U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0
YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3Vw
U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0Ijoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgPiAwIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuY29ubmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWlu
TG9va3VwRW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5k
ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+PSB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
Y29ubmVjdEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VT
dGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3Rh
cnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kID4gMCI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZXNwb25zZVN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5k
b21Mb2FkaW5nID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9h
ZGluZyA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID4gMCI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5yZXNwb25zZUVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPiAwIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPiAwIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcubG9hZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9h
ZEV2ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2
ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPiAwIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0Ijoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcudW5sb2FkRXZlbnRTdGFydCI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+ICAgICAgIA0KKyAgICAg
ICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0K
Kw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisNCisgICAgICAgICAg
ICB2YXIgc3RlcCA9IDE7DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHN0ZXAgPT09IDEgJiYgd2luZG93LnBl
cmZvcm1hbmNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRv
bmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0K
Kw0KKyAgICAgICAgICAgICAgICB2YXIgbmF2aWdhdGlvbl9mcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93Ow0KKyAgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2U7DQor
ICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RlcCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgY2FzZSAxOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUubG9jYXRpb24uaHJlZiA9ICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzsNCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAg
ICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGNhc2UgMjoNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdh
dGlvbicsIHRydWUpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQorICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gVGVzdHMNCisgICAgICAgICAgICAgICAgICAgICAgICAvLw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5h
dmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1h
bmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZ
UEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gbmF2aWdpYXRpb24gbXVzdCBiZSBub24tMA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQor
DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gbXVzdCBiZSBubyByZWRpcmVjdGlvbiBmb3Ig
dGhpcyB0ZXN0IGNhc2UNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19lcXVh
bHMoJ3JlZGlyZWN0U3RhcnQnLCAwKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Rp
bWluZ19lcXVhbHMoJ3JlZGlyZWN0RW5kJywgMCk7DQorDQorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gdmFsaWRhdGUgYXR0cmlidXRlIG9yZGVyaW5nDQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdF90aW1pbmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAnbmF2aWdhdGlvblN0YXJ0Jyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbWFpbkxvb2t1cFN0
YXJ0JywgJ2ZldGNoU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWlu
Z19vcmRlcignZG9tYWluTG9va3VwRW5kJywgJ2RvbWFpbkxvb2t1cFN0YXJ0Jyk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2Nvbm5lY3RTdGFydCcsICdkb21h
aW5Mb29rdXBFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cignY29ubmVjdEVuZCcsICdjb25uZWN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3RpbWluZ19vcmRlcigncmVxdWVzdFN0YXJ0JywgJ2Nvbm5lY3RFbmQnKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVzcG9uc2VTdGFydCcsICdy
ZXF1ZXN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cigncmVzcG9uc2VFbmQnLCAncmVzcG9uc2VTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Mb2FkaW5nJywgJ2ZldGNoU3RhcnQnKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tSW50ZXJhY3RpdmUnLCAn
cmVzcG9uc2VFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cignZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnLCAnZG9tSW50ZXJhY3RpdmUnKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tQ29udGVudExvYWRlZEV2
ZW50RW5kJywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbXBsZXRlJywgJ2RvbUNvbnRlbnRMb2Fk
ZWRFdmVudEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVy
KCdsb2FkRXZlbnRTdGFydCcsICdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignbG9hZEV2ZW50RW5kJywgJ2xvYWRF
dmVudFN0YXJ0Jyk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0dXAgcmVxdWly
ZXMgdGhlIGZyYW1lIHRvIGhhdmUgYSBwcmV2aW91cyBwYWdlIHdpdGggYW4gb251bmxvYWQgZXZl
bnQgaGFuZGxlci4NCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcign
dW5sb2FkRXZlbnRTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigndW5sb2FkRXZlbnRFbmQnLCAndW5sb2FkRXZlbnRT
dGFydCcpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQor
ICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQor
ICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGUgb3JkZXJpbmcgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmli
dXRlcy48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRo
IGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hpY2ggY29udGFpbnMgYW4gdW5sb2Fk
IGV2ZW50DQorICAgICAgICAgICBoYW5kbGVyLjwvcD4NCisNCisgICAgICAgIDxwPkFmdGVyIHRo
ZSBwYWdlIGxvYWRzLCB0aGUgZnJhbWUgaXMgbmF2aWdhdGVkIHRvIGEgbmV3IGJsYW5rIHBhZ2Ug
d2l0aCBhIGdyZWVuIGJhY2tncm91bmQuICBBdCB0aGlzIHBvaW50LCB0aGUgbmF2aWdhdGlvbiB0
aW1lbGluZSBpcyB2ZXJpZmllZDwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgdGVzdCBwYXNzZXMg
aWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcgYXR0cmlidXRlcyBhcmUNCisgICAgICAgICAgIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2
aWdhdGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJh
Y2tncm91bmQuDQorICAgICAgICAgICBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy48L3A+DQor
DQorICAgICAgICA8aDE+U2V0dXA8L2gxPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rp
dj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0Ig0K
KyAgICAgICAgICAgICAgICBvbmxvYWQ9Ii8qIE5lZWQgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGV4
YW1pbmUgbG9hZEV2ZW50RW5kDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50aWwgYWZ0
ZXIgdGhlIGxvYWQgZXZlbnQgaGFzIGZpbmlzaGVkIGZpcmluZyAqLw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQob25sb2FkX3Rlc3QsIDApOyINCisgICAgICAgICAgICAgICAg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bSINCisgICAg
ICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1l
Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Rp
bWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5n
X2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE0MmI4OTJkYjI1YjYw
MDMyM2U4NzExMDZkNjI2ZTg0ZWQ0OGY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90
ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2lu
ZG93Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhbmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgb24gYSBjbGllbnQgc2lkZSByZWRpcmVjdC4K
KworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZ
UEVfTkFWSUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNs
aWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRpbWluZy5yZWRpcmVjdFN0YXJ0ID09
IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5nLnJlZGly
ZWN0RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkZDg1ZDlm
N2M2YTAyNDJiNmJjZWIwNjFmYjUzZDAyOThjOTM2MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw3OCBAQAor
77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgY2xpZW50IHJlZGlyZWN0IG5hdmlnYXRpb248
L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhy
ZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9u
LXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuY3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZ
UEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJuYXZpZ2F0aW9u
LnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjog
eyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5h
dmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAidGltaW5nLnJlZGlyZWN0U3RhcnQgPT0g
MCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAidGltaW5nLnJl
ZGlyZWN0RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9DQor
fQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtl
eHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25h
dmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJywgdHJ1ZSk7
DQorDQorICAgICAgICAgICAgdmFyIHJlZGlyZWN0X2ZyYW1lOw0KKyAgICAgICAgICAgIGZ1bmN0
aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChw
ZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAg
ICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAg
ICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgcmVkaXJlY3RfZnJhbWUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorICAgICAgICAgICAgICAgIHJlZGlyZWN0
X2ZyYW1lLm9ubG9hZCA9IGRvX3Rlc3Q7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAg
IGZ1bmN0aW9uIGRvX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVk
aXJlY3RfZnJhbWUub25sb2FkID0gIiI7DQorICAgICAgICAgICAgICAgIHRlc3RfdHJ1ZShyZWRp
cmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBw
ZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRF
Jyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFs
cyhyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVk
aXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVu
dCByZWRpcmVjdGVkIG5hdmlnYXRpb24nLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorICAgICAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAw
IG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAg
dGVzdF9lcXVhbHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVkaXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQg
cmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisg
ICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8
Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwv
aDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdp
bmRvdy5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAgICAgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBvbiBhIGNsaWVudCBz
aWRlIHJlZGlyZWN0LjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+PGJyIC8+
DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jl
c291cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmFkNzA0
OWVjNTQyMDczMWI0MzU3N2Y4NTQ0M2Q2OTViZTk0MzMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAor
RGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJlbG9hZGVkLgor
CitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZCBmcmFt
ZSBiZWxvdy4gVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRlZCBhbmQgdGhl
biB2ZXJpZmllZCB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMg
aGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdGhlIG5ldyByZWxvYWRlZCBuYXZpZ2F0aW9uIHRpbWluZ3Mu
CisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQgCitQQVNTIGNvbm5lY3RFbmQgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBjb25uZWN0U3RhcnQgaXMgZGlmZmVy
ZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Db21wbGV0ZSBpcyBkaWZmZXJlbnQgYWZ0
ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlz
IGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMgZGlm
ZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Mb2FkaW5nIGlzIGRpZmZlcmVudCBh
ZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tYWluTG9va3VwRW5kIGlzIGRpZmZlcmVudCBhZnRl
ciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIAorUEFTUyBmZXRjaFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVs
b2FkLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAK
K1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFT
UyBuYXZpZ2F0aW9uU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBy
ZXF1ZXN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyByZXNwb25z
ZUVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlc3BvbnNlU3RhcnQg
aXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTNmYTQ3YzAxYzY2NzA3Zjc0NDQ1MjI0ODc2ZWY0ZmNhNjJhYmFiNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbApAQCAt
MCwwICsxLDEyMiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0K
KyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFmdGVyIGEgcmVsb2FkZWQgbmF2aWdhdGlv
bjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIg
aHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRp
b24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0g
VFlQRV9SRUxPQUQiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJjb25uZWN0RW5k
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImNvbm5lY3RTdGFydCBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Db21wbGV0ZSBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Db250ZW50TG9hZGVkRXZl
bnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tQ29udGVu
dExvYWRlZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZG9tSW50ZXJhY3RpdmUgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZG9tTG9hZGluZyBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJk
b21haW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAi
ZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZmV0Y2hTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJs
b2FkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAibG9h
ZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAibmF2
aWdhdGlvblN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgInJl
cXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJyZXNw
b25zZUVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJyZXNwb25z
ZVN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9DQorfQ0KKyovPC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25l
OiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3Bh
Y2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgn
bmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgIHZhciByZWxvYWRfZnJhbWU7DQorICAgICAg
ICAgICAgdmFyIGluaXRpYWxfdGltaW5nOw0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9h
ZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisNCisgICAgICAgICAg
ICAgICAgaWYgKHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRl
ZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lk
IHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAg
ICByZWxvYWRfZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisNCisgICAgICAgICAgICAgICAgLy8g
c2F2ZSBmcmFtZSdzIGluaXRpYWwgdGltaW5ncw0KKyAgICAgICAgICAgICAgICBpbml0aWFsX3Rp
bWluZyA9IHt9Ow0KKyAgICAgICAgICAgICAgICB2YXIgdGltaW5nID0gcmVsb2FkX2ZyYW1lLmNv
bnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKw0KKyAgICAgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJp
YnV0ZXNbaV07DQorICAgICAgICAgICAgICAgICAgICBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0g
PSB0aW1pbmdbcHJvcGVydHldOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
ICAgIHNldFRpbWVvdXQoInJlbG9hZF90aGVfZnJhbWUoKTsiLCAxMDApOw0KKyAgICAgICAgICAg
IH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiByZWxvYWRfdGhlX2ZyYW1lKCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LmxvY2F0
aW9uLnJlbG9hZCh0cnVlKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rp
b24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJh
bWUub25sb2FkID0gIiI7DQorDQorICAgICAgICAgICAgICAgIC8vIGVuc3VyZSB0aGUgZnJhbWUg
cmVsb2FkZWQNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVsb2FkX2ZyYW1lLmNvbnRl
bnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FELA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24udHlwZSA9PSBUWVBFX1JFTE9BRCIsIHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAg
ICAgICAgICAgICAgIC8vIGVuc3VyZSByZWxvYWQgdGltaW5ncyBjaGFuZ2VkDQorICAgICAgICAg
ICAgICAgIHZhciB0aW1pbmcgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmc7DQorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0
cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsNCisNCisgICAgICAgICAg
ICAgICAgICAgIC8vIGlnbm9yZSBhbnkgdGltaW5ncyB0aGF0IHdlcmUgemVybyBpbml0aWFsbHkN
CisgICAgICAgICAgICAgICAgICAgIGlmIChpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0gIT09IDAp
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9u
b3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0eV0sIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSwNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5ICsgIiBpcyBkaWZmZXJlbnQg
YWZ0ZXIgdGhlIHJlbG9hZC4iKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2FkPSJvbmxvYWRf
dGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJlbG9hZGVkLjwvcD4NCisNCisgICAgICAgIDxw
PlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1l
IGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRlZA0KKyAgICAg
ICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBh
dHRyaWJ1dGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHRoZSBuZXcgcmVsb2FkZWQgbmF2aWdhdGlv
biB0aW1pbmdzLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAg
ICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorDQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40M2JkMTliNzI1OTQ5YTAwMTNlMTNlMmI3OGExNzBjNzBlZDdhNmIwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3Vu
dCBhbmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGlt
ZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi4KKwor
CisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24u
dHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0g
MSBvbiBhbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcucmVkaXJlY3RTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVkaXJlY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25T
dGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA+IDAgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmZldGNoU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNo
U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjZTZhOTdl
MjljNjY4NjgwNWY5OThkMmQ1ZjdmMzliY2Q2MDcyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
77u/PCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgc2FtZS1vcmlnaW4gc2VydmVyIHJlZGlyZWN0
ZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgZnVuY3Rpb24g
b25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9uYW1l
c3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFt
ZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUo
KTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0K
KyAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlOw0KKyAgICAg
ICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5
cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdh
dGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2
aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUnKTsNCisgICAgICAgICAgICAgICAgdGVzdF9l
cXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50LCAxLCAn
bmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDEgb24gYW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2
aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4o
J25hdmlnYXRpb25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19v
cmRlcigncmVkaXJlY3RTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAg
ICAgdGVzdF90aW1pbmdfb3JkZXIoJ3JlZGlyZWN0RW5kJywgJ3JlZGlyZWN0U3RhcnQnKTsNCisg
ICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAncmVkaXJlY3RF
bmQnKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZS5yZWRpcmVjdENvdW50IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNp
ZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwv
ZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQi
IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRp
cmVjdC5waHA/bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVu
Lmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAg
ICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194
c2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2Vy
dmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzA4MjE0YzgyMmQwNDVjMDQz
ZGMzYTA4NGIzODhlMTE1MzIyYmYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
dGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0Rl
c2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93
LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgc2lk
ZSByZWRpcmVjdCBuYXZpZ2F0aW9uLgorCisKKworCitGQUlMIFN0YXJ0aW5nIGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBhc3NlcnRfZXF1YWxz
OiBTdGFydGluZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4w
LjE6ODAwMCkgZXhwZWN0ZWQgIjEyNy4wLjAuMTo4MDAwIiBidXQgZ290ICIxMjcuMC4wLjEiCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlz
IFRZUEVfTkFWSUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGEg
Y3Jvc3Mtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1MgdGltaW5nLnJlZGly
ZWN0U3RhcnQgPT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90
aGVyIGRvbWFpbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24gYSBzZXJ2ZXIgcmVk
aXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21haW4gCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmMjgyMGJhMjkxNzY1
YzZhNTVmYmRmMzgwNGY3ZGZkMGQ1NzU4NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsODkgQEAKK++7vzwh
RE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3QgYXR0cmlidXRlcyBvbiBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBu
YXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWlj
cm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
bmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJTdGFydGlu
ZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICh3M2MtdGVzdC5vcmcpIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3Jp
cHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAg
ICAgICAgICAvLw0KKyAgICAgICAgICAgIC8vIFRlc3QgY29uZmlndXJhdGlvbg0KKyAgICAgICAg
ICAgIC8vDQorDQorICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgcGFnZSdzIG9yaWdpbg0KKyAg
ICAgICAgICAgIHZhciBwYWdlT3JpZ2luID0gJzEyNy4wLjAuMTo4MDAwJzsNCisNCisgICAgICAg
ICAgICAvLyB0aGUgb3JpZ2luIHRvIHJlZGlyZWN0IHRocm91Z2gNCisgICAgICAgICAgICB2YXIg
cmVkaXJlY3RPcmlnaW4gPSAnbG9jYWxob3N0OjgwMDAnOw0KKw0KKyAgICAgICAgICAgIC8vDQor
ICAgICAgICAgICAgLy8gVGVzdHMNCisgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgIGZ1bmN0
aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5j
ZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBk
b25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0N
CisNCisgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZTsNCisg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5h
dmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5n
Lm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0p
Ow0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZp
Z2F0aW9uLnJlZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBv
biBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJywge2hlbHA6Imh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZv
LWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90
aGFuKCduYXZpZ2F0aW9uU3RhcnQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVh
bHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcu
cmVkaXJlY3RTdGFydCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9t
IGFub3RoZXIgZG9tYWluJyk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1h
bmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCA9
PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWlu
Jyk7DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAg
ICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5E
ZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1
ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUNCisgICAg
ICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMg
Zm9yIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uPC9wPg0K
Kw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAg
ICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9IiIgc3R5bGU9IndpZHRoOiAyNTBweDsg
aGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAg
ICAvLyBlbnN1cmUgd2UncmUgc3RhcnRpbmcgYXQgdGhlIHJpZ2h0IG9yaWdpbg0KKyAgICAgICAg
ICAgIHRlc3RfZXF1YWxzKGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLCBwYWdlT3JpZ2luLCAn
U3RhcnRpbmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoJyArIHBhZ2VP
cmlnaW4gKyAnKScpOw0KKw0KKyAgICAgICAgICAgIC8vIGNvbWJpbmUgdGhlIHBhZ2Ugb3JpZ2lu
IGFuZCByZWRpcmVjdCBvcmlnaW4gaW50byB0aGUgSUZSQU1FJ3Mgc3JjIFVSTA0KKyAgICAgICAg
ICAgIHZhciBkZXN0VXJsID0gJ2h0dHA6Ly8nICsgcmVkaXJlY3RPcmlnaW4gKyAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHAnOw0KKyAgICAgICAgICAgIGRlc3RVcmwgICAgKz0g
Jz9sb2NhdGlvbj1odHRwOi8vJyArIHBhZ2VPcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9ibGFua19wYWdlX2dyZWVuLmh0bSc7DQorDQorICAgICAgICAgICAgdmFyIGZyYW1lQ29udGV4
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAg
ICBmcmFtZUNvbnRleHQub25sb2FkID0gb25sb2FkX3Rlc3Q7DQorICAgICAgICAgICAgZnJhbWVD
b250ZXh0LnNyYyA9IGRlc3RVcmw7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vf
b2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vf
b2JqZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3YWNmMDU0MTI1MjhkODE5MTVkZjYz
MDM3MjJiODNjMzUxMzYxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1
ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBoYXMgYSB1bmlx
dWUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVjdC4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQg
CitQQVNTIERpZmZlcmVudCB3aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBv
YmplY3RzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vf
b2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMGJjYTI1NzY2ZDhhODRmMjAxNDlhZWRiMDZjMjczNmY1NDhmZTA4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29i
amVjdHMuaHRtbApAQCAtMCwwICsxLDQ1IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4N
CisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAg
IDx0aXRsZT5FYWNoIHdpbmRvdyBvYmplY3QgaGFzIGEgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVj
dDwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIg
aHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiIC8+DQorCTxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0i
RWFjaCBicm93c2luZyBjb250ZXh0IG11c3QgaGF2ZSBhIHVuaXF1ZSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nIGF0dHJpYnV0ZS4iLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuY3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0
cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0
ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1
dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIkRpZmZlcmVudCB3aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJm
b3JtYW5jZSBvYmplY3RzIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAg
ICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgZWFjaCB3aW5kb3cgaGFzIGEgdW5pcXVlIHdpbmRvdy5wZXJm
b3JtYW5jZSBvYmplY3QuPC9wPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJk
aXNwbGF5Om5vbmU7Ijs+PC9pZnJhbWU+DQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0K
KyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7
DQorDQorICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQp
DQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0ZXN0X25vdF9lcXVhbHMocGVyZm9y
bWFuY2VOYW1lc3BhY2UudGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZmZl
cmVudCB3aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3RzIik7DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+
DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUyNDUzZDMxYjBmODhmMzVmOWFiMzUyZTVjMjU2ZTgyZTIwNTk1NTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzMyBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nIHJlbWFpbnMgY29uc3RhbnQgd2hlbiBhIGRvY3VtZW50IGlzIHJlcGxhY2Vk
IHVzaW5nIGRvY3VtZW50Lm9wZW4uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGgg
YSB5ZWxsb3cgZnJhbWUgYmVsb3cuIEl0IHRoZW4gcmVwbGFjZXMgdGhlIGRvY3VtZW50IGluIHRo
YXQgZnJhbWUgd2l0aCBhIGdyZWVuIGRvY3VtZW50LgorCitUaGUgdGVzdCBwYXNzZXMgaWYgYWxs
IG9mIHRoZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBjb3JyZWN0IGFuZCB0aGUg
ZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4KKworCisKKworUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1MgY29ubmVjdEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBk
b2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMg
dGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUxvYWRpbmcgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0
ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBk
b2N1bWVudCBvcGVuLiAKK1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4gCitQQVNTIG5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1
bWVudCBvcGVuLiAKK1BBU1MgcmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4gCitQQVNTIHJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4gCitQQVNTIHJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAK
K1BBU1MgcmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNT
IHJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHVu
bG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyB1bmxv
YWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X2RvY3VtZW50X29wZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzYzNzMxYTE0MzQ4YjUwYWFkYzRkYmQ2
MzA4ODYwZTFkYTMyYTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3Vt
ZW50X29wZW4uaHRtbApAQCAtMCwwICsxLDExMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+d2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCBkb2N1bWVudHM8L3RpdGxlPgorPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9z
b2Z0LmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcyIgLz4KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKgoreworICAid2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwK
KyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVz
IGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAiY29ubmVjdEVu
ZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiY29ubmVjdFN0YXJ0
IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Db21wbGV0ZSBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRl
ZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6
IHt9LAorICAiZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7
fSwKKyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6
IHt9LAorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6
IHt9LAorICAibG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgIm5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgInJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6
IHt9LAorICAicmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7
fSwKKyAgInJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7
fSwKKyAgInVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjog
e30sCisgICJ1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4u
Ijoge30KK30KKyovPC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRy
dWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0
IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCk7CisKK3ZhciBvcmlnaW5hbFRpbWluZyA9IHt9Owor
dmFyIGRpZE9wZW4gPSBmYWxzZTsKKworZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgIGlmICgh
ZGlkT3BlbikgeworICAgIHNldFRpbWVvdXQodGVzdFRpbWluZ1dpdGhEb2N1bWVudE9wZW4sIDAp
OworICAgIGRpZE9wZW4gPSB0cnVlOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RUaW1pbmdXaXRo
RG9jdW1lbnRPcGVuKCkgeworICB2YXIgc3ViY29udGVudFdpbmRvdyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93OworCisgIGlmIChzdWJjb250
ZW50V2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRlZmluZWQpCisgIHsKKyAgICAvLyBhdm9pZCBz
Y3JpcHQgZXJyb3JzCisgICAgZG9uZSgpOworICAgIHJldHVybjsKKyAgfQorICAKKyAgdmFyIHRp
bWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOworICBmb3IgKGkgaW4g
dGltaW5nQXR0cmlidXRlcykgeworICAgIG9yaWdpbmFsVGltaW5nW3RpbWluZ0F0dHJpYnV0ZXNb
aV1dID0gdGltaW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dOworICB9CisKKyAgdmFyIHN1YmRvY3Vt
ZW50ID0gc3ViY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgc3ViZG9jdW1lbnQub3BlbigpOwor
ICBzdWJkb2N1bWVudC53cml0ZSgnPCFET0NUWVBFIEhUTUw+Jyk7CisgIHN1YmRvY3VtZW50Lndy
aXRlKCc8aHRtbD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxoZWFkPicpOworICBzdWJkb2N1
bWVudC53cml0ZSgnPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Jyk7CisgIHN1YmRvY3VtZW50Lndy
aXRlKCc8dGl0bGU+PEdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+Jyk7CisgIHN1YmRvY3VtZW50Lndy
aXRlKCc8L2hlYWQ+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8Ym9keSBzdHlsZT0iYmFja2dy
b3VuZC1jb2xvcjojMDBGRjAwOyI+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2JvZHk+Jyk7
CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2h0bWw+Jyk7CisgIHN1YmRvY3VtZW50LmNsb3NlKCk7
CisKKyAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGltaW5nID0gc3ViY29udGVu
dFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7CisgICAgZm9yICh2YXIgaSBpbiB0aW1pbmdBdHRy
aWJ1dGVzKSB7CisgICAgICB0ZXN0X2VxdWFscyh0aW1pbmdbdGltaW5nQXR0cmlidXRlc1tpXV0s
CisgICAgICAgICAgICAgICAgICBvcmlnaW5hbFRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSwK
KyAgICAgICAgICAgICAgICAgIHRpbWluZ0F0dHJpYnV0ZXNbaV0gKyAiIGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIik7CisgICAgfQorICAgIGRvbmUoKTsKKyAgfSwgMCk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNvbnN0YW50
IHdoZW4gYQorZG9jdW1lbnQgaXMgcmVwbGFjZWQgdXNpbmcgZG9jdW1lbnQub3Blbi48L3A+CisK
KzxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgZnJhbWUgYmVsb3cu
IEl0IHRoZW4gcmVwbGFjZXMgdGhlCitkb2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGggYSBncmVl
biBkb2N1bWVudC48L3A+CisKKzxwPlRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNr
cyB0byBwZXJmb3JtYW5jZS50aW1pbmcgYXJlIGNvcnJlY3QgYW5kCit0aGUgZnJhbWUgYmVsb3cg
ZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC48L3A+CisKKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8YnIgLz4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgp
OyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSIgc3R5
bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlz
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGEzMzcxYTgxZTE5NTEzMjU3NGJjNWU0NzA4Yzk3
MTQxYjI3YzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3Jl
YWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIsICJpbnRlcmFjdGl2ZSIg
YW5kICJjb21wbGV0ZSIgZG9jdW1lbnQucmVhZHlTdGF0ZSBzdGF0ZXMgYXJlIGF2YWlsYWJsZSBk
dXJpbmcgYSBuYXZpZ2F0aW9uLgorCitSZWZyZXNoIHRoaXMgcGFnZSB0byBndWFyYW50ZWUgYWxs
IHJlYWR5U3RhdGUgcGhhc2VzLgorCisKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBsb2Fk
aW5nIHN0YXRlLiAKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFjdGl2ZSBzdGF0
ZS4gCitQQVNTIERvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjUzYmIyZjVjYTJiYzM3ZGZjNmY3MWRiOWU2MDFjNzE2OGU2NzRmNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QuaHRtbApAQCAtMCww
ICsxLDU4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgIDx0aXRsZT5kb2N1bWVudC5yZWFkeVN0YXRlIHZh
bHVlcyBleGlzdCBkdXJpbmcgYSBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8i
IC8+DQorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvaHRt
bDUvZG9tLmh0bWwjcmVzb3VyY2UtbWV0YWRhdGEtbWFuYWdlbWVudCIvPg0KKyAgICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgPHNj
cmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4NCisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0K
KyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4iOiB7fSwNCisgICJEb2N1
bWVudCByZWFkaW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiI6IHt9LA0KKyAgIkRvY3VtZW50
IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIjoge30NCit9DQorKi88L3NjcmlwdD4gICAN
CisgICAgPHNjcmlwdD4NCisgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSB9KTsN
CisgICAgICAgIHZhciBoYXNfbG9hZGluZyA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJsb2Fk
aW5nIik7DQorICAgICAgICB2YXIgaGFzX2ludGVyYWN0aXZlID0gKGRvY3VtZW50LnJlYWR5U3Rh
dGUgPT0gImludGVyYWN0aXZlIik7DQorICAgICAgICB2YXIgaGFzX2NvbXBsZXRlID0gKGRvY3Vt
ZW50LnJlYWR5U3RhdGUgPT0gImNvbXBsZXRlIik7DQorDQorICAgICAgICBkb2N1bWVudC5vbnJl
YWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAgaWYg
KGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImxvYWRpbmciKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgaGFzX2xvYWRpbmcgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiaW50ZXJhY3RpdmUiKQ0KKyAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2ludGVyYWN0aXZlID0gdHJ1ZTsNCisgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPSAiY29tcGxldGUi
KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2NvbXBsZXRlID0gdHJ1ZTsN
CisgICAgICAgICAgICB9DQorICAgICAgICB9Ow0KKw0KKyAgICAgICAgZnVuY3Rpb24gb25sb2Fk
X3Rlc3QoKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfdHJ1ZShoYXNfbG9hZGluZywg
IkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4iKTsNCisgICAgICAgICAgICB0
ZXN0X3RydWUoaGFzX2ludGVyYWN0aXZlLCAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFj
dGl2ZSBzdGF0ZS4iKTsNCisgICAgICAgICAgICB0ZXN0X3RydWUoaGFzX2NvbXBsZXRlLCAiRG9j
dW1lbnQgcmVhZGluZXNzIGhhcyBjb21wbGV0ZSBzdGF0ZS4iKTsNCisgICAgICAgICAgICBkb25l
KCk7DQorICAgICAgICB9DQorICAgIDwvc2NyaXB0Pg0KKw0KKzwvaGVhZD4NCis8Ym9keSBvbmxv
YWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIsICJpbnRlcmFjdGl2ZSIgYW5k
ICJjb21wbGV0ZSINCisgICAgICAgZG9jdW1lbnQucmVhZHlTdGF0ZSBzdGF0ZXMgYXJlIGF2YWls
YWJsZSBkdXJpbmcgYSBuYXZpZ2F0aW9uLjwvcD4NCisgICAgPHA+UmVmcmVzaCB0aGlzIHBhZ2Ug
dG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy48L3A+DQorICAgIDxkaXYgaWQ9Imxv
ZyI+PC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNDVm
ODRhMjhhYjBkOTMwMzdkZTM5NzU1ZTRhMGYyNmIyMWFkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxs
IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgcmVtYWluIHVuY2hh
bmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uIChVUkwgZnJhZ21lbnQgY2hhbmdl
KS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIGNvbm5lY3RFbmQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGNvbm5lY3RTdGFydCBpcyB0
aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9tQ29tcGxldGUg
aXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUludGVyYWN0aXZlIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Mb2FkaW5nIGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21haW5Mb29rdXBFbmQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbWFpbkxvb2t1
cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBm
ZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFT
UyBsb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4g
CitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmln
YXRpb24uIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1l
bnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUg
YWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlc3BvbnNlRW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZXNwb25zZVN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyB1bmxvYWRFdmVu
dEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgdW5s
b2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlY2VlNmJmMzY4YjhkNzRlODdlYmU1ZTIxOWFhNGU1Y2E2NjM0ZmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50Lmh0bWwK
QEAgLTAsMCArMSwxMDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiA+CisgICAgICAgIDx0aXRsZT53aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nIGluIGRvY3VtZW50IG5hdmlnYXRpb248L3RpdGxlPgorICAgICAgICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUu
Y29tLyIgLz4KKyAJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9u
YXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPgorCTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qCit7Cisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsKKyAgICAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLAorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1
dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmli
dXRlcy4gIiwKKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iCisgIH0sCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIiwKKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgor
ICB9LAorICAiY29ubmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiI6IHt9LAorICAiY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Db250
ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiI6IHt9LAorICAiZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1l
bnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tYWluTG9va3VwU3Rh
cnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImZl
dGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiI6IHt9LAorICAibG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQg
bmF2aWdhdGlvbi4iOiB7fSwKKyAgIm5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBp
biBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUg
YWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlcXVlc3RT
dGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAi
cmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7
fSwKKyAgInJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4iOiB7fSwKKyAgInVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIjoge30sCisgICJ1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30KK30KKyovPC9zY3JpcHQ+CisgICAgPC9o
ZWFkPgorICAgIDxib2R5PgorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPgorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIGF0dHJpYnV0ZXMgcmVtYWluIHVuY2hhbmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uIChVUkwgZnJhZ21lbnQgY2hhbmdlKS48L3A+CisKKyAgICAgICAgPGRpdiBpZD0i
bG9nIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNp
dF9kb25lOiB0cnVlfSk7CisKKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFt
ZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFj
ZSgndGltaW5nJyk7CisKKyAgICAgICAgICAgIHZhciB0aW1pbmc7CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGNoZWNrX3RpbWluZ19ub3RfY2hhbmdlZCgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytp
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0g
dGltaW5nQXR0cmlidXRlc1tpXTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHModGlt
aW5nW3Byb3BlcnR5XSwgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwcm9wZXJ0eSArICIgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1l
bnQgbmF2aWdhdGlvbi4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZG9u
ZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgaW5pdGlhbF90aW1pbmcgPSB7
fTsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHNhdmVfdGltaW5nX2FmdGVyX2xvYWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmli
dXRlcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07CisgICAgICAgICAgICAgICAgICAg
IGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSA9IHRpbWluZ1twcm9wZXJ0eV07CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gIiMxIjsKKyAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJjaGVja190aW1pbmdfbm90X2NoYW5nZWQoKSIsIDAp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBsb2FkX2hhbmRsZXIoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9
PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
YXZvaWQgc2NyaXB0IGVycm9ycworICAgICAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICB0aW1pbmcgPSBwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmc7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGxvYWRfaGFuZGxlcik7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgic2F2ZV90aW1p
bmdfYWZ0ZXJfbG9hZCgpIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgbG9hZF9oYW5kbGVyLCBmYWxzZSk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjBkNTYxZjU4MDBmYmY1NGZiODBmNDAzMjAzMjcwMDcxMGI5MGVkZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0
ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29y
cmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBpcyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQw
NWU5ZmY5MDdhZDllNThkN2IxMmVjYjVhZWJiNDA1YWU4NjdkYTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAs
MCArMSw0MSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAg
ICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
bS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4v
Kg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQi
OiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5n
LyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhl
IHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9y
IHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0Mg
aHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi50eXBlIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24ucmVkaXJlY3RDb3VudCBpcyBkZWZpbmVkLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQor
ICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0K
KyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24gYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlk
YXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2
IGlkPSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFt
ZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMo
J25hdmlnYXRpb24nLCAndHlwZScpOw0KKyAgICAgICAgdGVzdF9hdHRyaWJ1dGVfZXhpc3RzKCdu
YXZpZ2F0aW9uJywgJ3JlZGlyZWN0Q291bnQnKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8
L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9u
X3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdh
dGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5YWZmNjRi
YmVmNWIwZjgwMjk1NTkyNzgyNDBjNjg2YmRlYzFkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0
aGUgdmFsdWUgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQgYXR0cmlidXRlLCBhcyB3ZWxsIGFzIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
ZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0RW5kIGF0dHJpYnV0ZXMgb24gYSBub24tcmVkaXJlY3Rl
ZCBuYXZpZ2F0aW9uLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWlu
Zy5yZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRp
bWluZy5yZWRpcmVjdEVuZCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyBu
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9u
b25lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZWQ3NmYzNDA1NGZlZWQxNjQ2MGVkNDZkNGUzNWI3N2JhMTAyNzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RD
b3VudF9ub25lLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0
bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAg
ICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBv
biBhIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
bS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUi
Pi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5yZWRpcmVjdFN0YXJ0IG9u
IGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJ0aW1pbmcucmVkaXJlY3RF
bmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9LA0KKyAgIm5hdmlnYXRpb24u
cmVkaXJlY3RDb3VudCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjogeyAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
aW5mby1pbnRlcmZhY2UiIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8
Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi5yZWRpcmVjdENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBhcyB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdEVuZCBhdHRyaWJ1dGVz
IG9uIGEgbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8ZGl2IGlk
PSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2Ug
IT09IHVuZGVmaW5lZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJm
b3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWluZy5yZWRpcmVj
dFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0
ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RFbmQsIDAsICd0
aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24ucmVk
aXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBhbiBub24tcmVkaXJl
Y3RlZCBuYXZpZ2F0aW9uJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAgICAgfQ0KKyAg
ICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wYTAyNGRjZmQ4NDdkZjk2YzIyODFmMGU2NDI3YTdmOWZhNzFlM2Q3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2Fy
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBo
YXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9u
dW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQg
aGFuZGxlcihzKQorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVy
KHMpCitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIHdpdGggYSBmb3J3YXJkIGFuZCBiYWNrIG5h
dmlnYXRpb24uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFj
a2dyb3VuZCBmcmFtZSBiZWxvdy4gSXQgc2hvdWxkIHR1cm4gZ3JlZW4gZm9yIGEgc3RhcnRpbmcg
bmF2aWdhdGlvbiwgYmFjayB0byB5ZWxsb3cgZm9yIGEgYmFjayBuYXZpZ2F0aW9uIGFuZCB0aGVu
IGJhY2sgdG8gZ3JlZW4gYWdhaW4gZm9yIGEgZm9yd2FyZCBuYXZpZ2F0aW9uLgorCitBbG9uZyB0
aGUgbmF2aWdhdGlvbiB0aW1lbGluZSB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnR5cGUg
aXMgY2hlY2tlZCBmb3IgVFlQRV9CQUNLX0ZPUldBUkQuCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYg
YWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIG5hdmlnYXRpb24udHlwZSBhcmUgY29ycmVjdCB0aHJv
dWdob3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3
aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuCisKKwor
CisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmJhY2so
KSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tf
Rk9SV0FSRCBhZnRlciBoaXN0b3J5LmZvcndhcmQoKSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhMzhmNjZlYTZh
YWU5NGYxNjFjNDMwNTU2ZjBiZjQ3NzhiMTZlYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwKQEAgLTAsMCArMSwxMTMg
QEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5uYXZpZ2F0aW9u
LnR5cGUgZm9yIGJhY2sgYW5kIGZvcndhcmQgbmF2aWdhdGlvbnM8L3RpdGxlPg0KKyAgICAgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWlj
cm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
LA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
DQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FS
RCBhZnRlciBoaXN0b3J5LmJhY2soKSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJkKCki
OiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBz
ZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0
bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAg
ICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgICAgICBmdW5jdGlv
biBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAocGVy
Zm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAg
ICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAg
ICAgICB9DQorDQorICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgd2l0aCBhIHRpbWVvdXQgdG8g
c2VlIHRoZSB2aXN1YWxzIG9mIHRoZSBuYXZpZ2F0aW9ucy4NCisgICAgICAgICAgICAgICAgc2V0
VGltZW91dCgibmF2X2ZyYW1lKCk7IiwgMTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAg
ICAgICAgdmFyIHN0ZXAgPSAxOw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG5hdl9mcmFtZSgpDQor
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgbmF2aWdhdGlvbl9mcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93Ow0KKyAg
ICAgICAgICAgICAgICBzd2l0Y2ggKHN0ZXApDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgICAgIGNhc2UgMToNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmxvY2F0aW9uLmhyZWYgPSAnL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251bmxvYWQuaHRtJzsNCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDI6
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9l
cXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0
aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFJyk7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5oaXN0b3J5LmJhY2soKTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNl
IDM6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dF9lcXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZp
Z2F0aW9uLlRZUEVfQkFDS19GT1JXQVJELA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldB
UkQgYWZ0ZXIgaGlzdG9yeS5iYWNrKCknKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVw
Kys7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5oaXN0b3J5LmZv
cndhcmQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoNCisgICAgICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0aW9uX2Zy
YW1lLnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldB
UkQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmZvcndh
cmQoKScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQor
ICAgICAgICA8aDE+DQorICAgICAgICAgICAgRGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+
DQorICAgICAgICAgICAgVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgZm9yd2FyZA0KKyAgICAgICAgICAgIGFu
ZCBiYWNrIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdlIHNob3VsZCBi
ZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiAgSXQgc2hvdWxk
IHR1cm4gZ3JlZW4gZm9yIGEgc3RhcnRpbmcNCisgICAgICAgICAgICBuYXZpZ2F0aW9uLCBiYWNr
IHRvIHllbGxvdyBmb3IgYSBiYWNrIG5hdmlnYXRpb24gYW5kIHRoZW4gYmFjayB0byBncmVlbiBh
Z2FpbiBmb3IgYSBmb3J3YXJkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPHA+QWxvbmcg
dGhlIG5hdmlnYXRpb24gdGltZWxpbmUgdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50eXBl
IGlzIGNoZWNrZWQgZm9yIFRZUEVfQkFDS19GT1JXQVJELjwvcD4NCisNCisgICAgICAgIDxwPlRo
aXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIG5hdmlnYXRpb24udHlw
ZSBhcmUgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uDQorICAgICAgICAgICAgc2Nl
bmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiAg
T3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9n
Ij48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250
ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7
IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg0ZDhhMTgzM2Y0NDJmMWI5YWJiODQ0ZTkyZTNjZWU0M2U0M2IyODMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRh
dGVzIHRoYXQgdGhlIFRZUEVfKiBlbnVtZXJhdGlvbnMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24gZXhpc3QgYW5kIHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdC4KKworCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5U
WVBFX05BVklHQVRFIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi5UWVBFX05BVklHQVRFID0gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24uVFlQRV9SRUxPQUQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLlRZUEVfUkVMT0FEID0gMSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24uVFlQRV9CQUNLX0ZPUldBUkQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEID0gMiAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCA9IDI1NSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNmZjYjI4YWE4MjUy
ZjdmNTZiNzM2NWUzMDRjZjUzODgxYTE0YWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor77u/PCFE
T0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gZW51bXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNy
b3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKyA8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIs
DQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlk
ZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwN
CisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIN
CisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSBp
cyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVf
TkFWSUdBVEUgPSAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQ
RV9SRUxPQUQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi5UWVBFX1JFTE9BRCA9IDEiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEID0gMiI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgaXMgZGVmaW5lZC4iOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEID0gMjU1Ijog
e30NCit9DQorKi88L3NjcmlwdD4NCisgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAg
PGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhh
dCB0aGUgVFlQRV8qIGVudW1lcmF0aW9ucyBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
biBleGlzdCBhbmQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0LjwvcD4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9u
YW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlv
bicsICdUWVBFX05BVklHQVRFJywgMCk7DQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24n
LCAnVFlQRV9SRUxPQUQnLCAxKTsNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdU
WVBFX0JBQ0tfRk9SV0FSRCcsIDIpOw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywg
J1RZUEVfUkVTRVJWRUQnLCAyNTUpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9y
ZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxv
YWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzZDE5MzQ4MjIyOTAxYmExYWVmNDBjYjdkMGMy
NWI5NDhmOGFkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlv
bl90eXBlX3JlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24udHlwZSBhbmQgdGhlIHZhbHVlcyBvZiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
Liogd2l0aCBhIHJlbG9hZGVkIG5hdmlnYXRpb24uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9h
ZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiBUaGUgZnJhbWUgd2lsbCBi
ZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQKKworVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPSBUWVBFX1JFTE9BRAorQWxsIG9mIHRo
ZSB3aWRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMgYWZ0ZXIgcmVsb2FkIGFyZSA+IGFs
bCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBwcmlvciB0byByZWxv
YWQuCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2Ui
fSAKK1BBU1MgUmVsb2FkIGNvbm5lY3RFbmQgPiBPcmlnaW5hbCBjb25uZWN0RW5kIAorUEFTUyBS
ZWxvYWQgY29ubmVjdFN0YXJ0ID4gT3JpZ2luYWwgY29ubmVjdFN0YXJ0IAorUEFTUyBSZWxvYWQg
ZG9tQ29tcGxldGUgPiBPcmlnaW5hbCBkb21Db21wbGV0ZSAKK1BBU1MgUmVsb2FkIGRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCAKK1BB
U1MgUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID4gT3JpZ2luYWwgZG9tQ29udGVu
dExvYWRlZEV2ZW50U3RhcnQgCitQQVNTIFJlbG9hZCBkb21JbnRlcmFjdGl2ZSA+IE9yaWdpbmFs
IGRvbUludGVyYWN0aXZlIAorUEFTUyBSZWxvYWQgZG9tTG9hZGluZyA+IE9yaWdpbmFsIGRvbUxv
YWRpbmcgCitQQVNTIFJlbG9hZCBkb21haW5Mb29rdXBFbmQgPiBPcmlnaW5hbCBkb21haW5Mb29r
dXBFbmQgCitQQVNTIFJlbG9hZCBkb21haW5Mb29rdXBTdGFydCA+IE9yaWdpbmFsIGRvbWFpbkxv
b2t1cFN0YXJ0IAorUEFTUyBSZWxvYWQgZmV0Y2hTdGFydCA+IE9yaWdpbmFsIGZldGNoU3RhcnQg
CitQQVNTIFJlbG9hZCBsb2FkRXZlbnRFbmQgPiBPcmlnaW5hbCBsb2FkRXZlbnRFbmQgCitQQVNT
IFJlbG9hZCBsb2FkRXZlbnRTdGFydCA+IE9yaWdpbmFsIGxvYWRFdmVudFN0YXJ0IAorUEFTUyBS
ZWxvYWQgbmF2aWdhdGlvblN0YXJ0ID4gT3JpZ2luYWwgbmF2aWdhdGlvblN0YXJ0IAorUEFTUyBS
ZWxvYWQgcmVkaXJlY3RFbmQgPT0gT3JpZ2luYWwgcmVkaXJlY3RFbmQgCitQQVNTIFJlbG9hZCBy
ZWRpcmVjdFN0YXJ0ID09IE9yaWdpbmFsIHJlZGlyZWN0U3RhcnQgCitQQVNTIFJlbG9hZCByZXF1
ZXN0U3RhcnQgPiBPcmlnaW5hbCByZXF1ZXN0U3RhcnQgCitQQVNTIFJlbG9hZCByZXNwb25zZUVu
ZCA+IE9yaWdpbmFsIHJlc3BvbnNlRW5kIAorUEFTUyBSZWxvYWQgcmVzcG9uc2VTdGFydCA+IE9y
aWdpbmFsIHJlc3BvbnNlU3RhcnQgCitQQVNTIFJlbG9hZCB1bmxvYWRFdmVudEVuZCA+IE9yaWdp
bmFsIHVubG9hZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQgdW5sb2FkRXZlbnRTdGFydCA+IE9yaWdp
bmFsIHVubG9hZEV2ZW50U3RhcnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0aW9uX3R5cGVfcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBl
X3JlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlYzA2YThmNGU2MGExMmQ1YmU4Y2ZhOTdiMGYyYmFm
N2M1ZGZkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90
eXBlX3JlbG9hZC5odG1sCkBAIC0wLDAgKzEsMTQ0IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8
aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisg
ICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIHdpdGggYSBy
ZWxvYWRlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2Fj
aGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6
ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJl
YSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjog
IlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9Ijoge30s
DQorICAiUmVsb2FkIGNvbm5lY3RFbmQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBjb25uZWN0
RW5kKDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGNvbm5lY3RTdGFydCgxMzQwMzc2
MDcwMjk1KSA+IE9yaWdpbmFsIGNvbm5lY3RTdGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAg
IlJlbG9hZCBkb21Db21wbGV0ZSgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbXBsZXRl
KDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVu
ZCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCgxMzQw
Mzc2MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgx
MzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KDEzNDAz
NzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUludGVyYWN0aXZlKDEzNDAzNzYwNzAzMDAp
ID4gT3JpZ2luYWwgZG9tSW50ZXJhY3RpdmUoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxv
YWQgZG9tTG9hZGluZygxMzQwMzc2MDcwMjk5KSA+IE9yaWdpbmFsIGRvbUxvYWRpbmcoMTM0MDM3
NjA3MDE3OCkiOiB7fSwNCisgICJSZWxvYWQgZG9tYWluTG9va3VwRW5kKDEzNDAzNzYwNzAyOTUp
ID4gT3JpZ2luYWwgZG9tYWluTG9va3VwRW5kKDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVs
b2FkIGRvbWFpbkxvb2t1cFN0YXJ0KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgZG9tYWluTG9v
a3VwU3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgZmV0Y2hTdGFydCgxMzQw
Mzc2MDcwMjkwKSA+IE9yaWdpbmFsIGZldGNoU3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisg
ICJSZWxvYWQgbG9hZEV2ZW50RW5kKDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgbG9hZEV2ZW50
RW5kKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGxvYWRFdmVudFN0YXJ0KDEzNDAz
NzYwNzAzMDApID4gT3JpZ2luYWwgbG9hZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDE3OSkiOiB7fSwN
CisgICJSZWxvYWQgbmF2aWdhdGlvblN0YXJ0KDEzNDAzNzYwNzAyOTApID4gT3JpZ2luYWwgbmF2
aWdhdGlvblN0YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0RW5k
KDApID09IE9yaWdpbmFsIHJlZGlyZWN0RW5kKDApIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0
U3RhcnQoMCkgPT0gT3JpZ2luYWwgcmVkaXJlY3RTdGFydCgwKSI6IHt9LA0KKyAgIlJlbG9hZCBy
ZXF1ZXN0U3RhcnQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCByZXF1ZXN0U3RhcnQoMTM0MDM3
NjA3MDE2NCkiOiB7fSwNCisgICJSZWxvYWQgcmVzcG9uc2VFbmQoMTM0MDM3NjA3MDI5NikgPiBP
cmlnaW5hbCByZXNwb25zZUVuZCgxMzQwMzc2MDcwMTc0KSI6IHt9LA0KKyAgIlJlbG9hZCByZXNw
b25zZVN0YXJ0KDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgcmVzcG9uc2VTdGFydCgxMzQwMzc2
MDcwMTY0KSI6IHt9LA0KKyAgIlJlbG9hZCB1bmxvYWRFdmVudEVuZCgxMzQwMzc2MDcwMjk2KSA+
IE9yaWdpbmFsIHVubG9hZEV2ZW50RW5kKDApIjoge30sDQorICAiUmVsb2FkIHVubG9hZEV2ZW50
U3RhcnQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCB1bmxvYWRFdmVudFN0YXJ0KDApIjoge30N
Cit9DQorKi88L3NjcmlwdD4gICAgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAg
IHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGlj
aXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHZhciByZWxv
YWRfZnJhbWU7DQorICAgICAgICAgICAgdmFyIHN0YXJ0aW5nVGltZTsNCisNCisgICAgICAgICAg
ICBmdW5jdGlvbiBkZWVwQ29weShwLCBjKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgdmFyIGMgPSBjIHx8IHt9Ow0KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIHApDQor
ICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcFtpXSA9
PT0gJ29iamVjdCcpDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgY1tpXSA9IChwW2ldLmNvbnN0cnVjdG9yID09PSBBcnJheSkgPyBbXSA6IHt9Ow0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGRlZXBDb3B5KHBbaV0sIGNbaV0pOw0KKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGNbaV0gPSBwW2ldOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAg
ICAgICAgICAgIHJldHVybiBjOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICANCisg
ICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICByZWxvYWRfZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVD
b250ZXh0Iik7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBmdW5jdGlv
bigpIHsNCisgICAgICAgICAgICAgICAgICAvKiBOZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBl
eGFtaW5lIGxvYWRFdmVudEVuZA0KKyAgICAgICAgICAgICAgICAgICAgIHVudGlsIGFmdGVyIHRo
ZSBsb2FkIGV2ZW50IGhhcyBmaW5pc2hlZCBmaXJpbmcgKi8NCisJCSAgICBzZXRUaW1lb3V0KGRv
X3Rlc3QsIDApOw0KKwkJfQ0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJyZWxvYWRfdGhl
X2ZyYW1lKCk7IiwgMTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rp
b24gcmVsb2FkX3RoZV9mcmFtZSgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAv
L0JlZm9yZSByZWxvYWRpbmcsIHNhdmUgdGhlIGN1cnJlbnQgdGltaW5nDQorICAgICAgICAgICAg
ICAgIHN0YXJ0aW5nVGltZSA9IGRlZXBDb3B5KHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZyk7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5jb250ZW50
V2luZG93LmxvY2F0aW9uLnJlbG9hZCh0cnVlKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAg
ICAgICAgZnVuY3Rpb24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICByZWxvYWRfZnJhbWUub25sb2FkID0gbnVsbDsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZv
cm1hbmNlTmFtZXNwYWNlKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAvL1ZlcmlmeSB0aGF0IHRoZSBuYXZpZ2F0aW9uIHR5cGUgaGFzIHVwZGF0ZWQgdG8gcmVsb2Fk
DQorICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRfZnJhbWUuY29udGVudFdp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQsDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50
eXBlID09IFRZUEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifScpOw0KKw0KKyAgICAgICAg
ICAgICAgICAgICAgLy9WZXJpZnkgdGhhdCB0aGUgdGltaW5nIGRhdGEgaGFzIGJlZW4gdXBkYXRl
ZCBpbnRvIHRoZSBmdXR1cmUNCisgICAgICAgICAgICAgICAgICAgIHZhciByZWxvYWRUaW1lID0g
cmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKyAgICAgICAg
ICAgICAgICAgICAgZm9yIChhdHRyaWJ1dGUgaW4gdGltaW5nQXR0cmlidXRlcykNCisgICAgICAg
ICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGltZSA9IHRpbWlu
Z0F0dHJpYnV0ZXNbYXR0cmlidXRlXTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVs
b2FkVGltZVt0aW1lXSA9PT0gMCkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlbG9hZFRpbWVbdGltZV0sDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGlt
ZSAgKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID09ICIgKw0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3JpZ2luYWwgIiArIHRp
bWUgKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAg
ICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF9ncmVhdGVyX3RoYW4ocmVsb2FkVGltZVt0aW1lXSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmdUaW1lW3RpbWVdLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVsb2FkICIg
KyB0aW1lICArDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIgPiAiICsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ik9yaWdpbmFsICIgKyB0aW1lICk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAg
IGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNj
cmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBv
ZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGFuZCB0aGUgdmFsdWVzIG9mDQor
ICAgICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSByZWxvYWRlZCBu
YXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVk
IHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUg
YXV0b21hdGljYWxseSByZWxvYWRlZA0KKyAgICAgICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCAN
CisgICAgICAgIDx1bD4NCisgICAgICAgICAgICA8bGk+VGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPSBUWVBFX1JFTE9BRDwvbGk+DQorICAgICAgICAgICAgPGxpPkFsbCBv
ZiB0aGUgd2lkb3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzIGFmdGVyIHJlbG9hZCBhcmUg
PiBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMNCisgICAgICAg
ICAgICAgICAgcHJpb3IgdG8gcmVsb2FkLjwvbGk+DQorICAgICAgICA8L3VsPg0KKyAgICAgICAg
PC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0K
KyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDog
MjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZWZjZTljNWRjMDYwNDBlYTJhOWZmYzhlMzk2M2QwYmFjZDI5YjBkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB1bmxv
YWQgZXZlbnQgdGltZXMgYXJlIDAgd2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBkb2N1bWVudC4K
KworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRp
b24udHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFTUyB0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9
PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCAKK1BBU1MgdGltaW5n
LnVubG9hZEV2ZW50RW5kID09IDAgbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI5NjUxZGNkZDc4N2FmMWFjNGQwOWFiNDFiNTZkYTgxNjFjNmQxOGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbApAQCAtMCwwICsx
LDU4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgb24gYW4gaW5pdGlhbCBuYXZpZ2F0aW9uPC90aXRsZT4N
CisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJm
YWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jl
c291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1l
dGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6
IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUg
d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3Ig
cGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBo
dHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAg
ICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBo
b3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAg
ImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcubmF2
aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIg
fSwNCisgICJ0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBu
byBwcmV2aW91cyBkb2N1bWVudCI6IHt9LA0KKyAgInRpbWluZy51bmxvYWRFdmVudEVuZCA9PSAw
IG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCI6IHt9DQorfQ0KKyovPC9zY3Jp
cHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuY3NzIiAvPg0KKyAgICANCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAg
c2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB2YXIgZnJhbWU7
DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250
ZXh0Iik7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQor
ICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSkNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgdGVzdF90cnVlKGZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmln
YXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGlt
aW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNl
In0pOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCwgMCwgJ3RpbWluZy51bmxv
YWRFdmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50
Jyk7DQorICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCwgMCwgJ3RpbWluZy51bmxvYWRFdmVu
dEVuZCA9PSAwIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcpOw0KKyAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQor
ICAgICAgICA8L3NjcmlwdD4NCisgICAgICAgIA0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9u
bG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisg
ICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHVubG9hZCBldmVudCB0aW1lcyBhcmUg
MCB3aGVuIHRoZXJlIGlzIG5vIHByZXZpb3VzIGRvY3VtZW50LjwvcD4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+PGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5
bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRy
aWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9h
dHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmQyZDg2OWUzY2IzOTAx
NjQwMjQ2YTU1NzNkM2VjZDU3M2UzZDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBuYXZpZ2F0
aW9uIGFuZCB0aW1pbmcgYXR0cmlidXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1hbmNlIChi
dXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcgaXMgZGVmaW5lZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNl
X2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWIwNDM3NWU4ZDVmYzMyNDI4MGMxMjEwY2Q3
ZjEzNzBlM2QzMTBiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3Jt
YW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAor77u/PCFET0NUWVBF
IGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZXM8L3Rp
dGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9
Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyA8
c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgPC9oZWFkPg0KKyAg
ICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIG5hdmlnYXRpb24gYW5kIHRpbWluZyBhdHRyaWJ1dGVz
IGV4aXN0IGZvciB3aW5kb3cucGVyZm9ybWFuY2UgDQorICAgICAgICAoYnV0IGRvZXMgbm90IHZh
bGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorICAgICAgICA8ZGl2
IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4gICAgICAgICAgICANCisgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3RfbmFt
ZXNwYWNlKCd0aW1pbmcnLCB0cnVlKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRy
aWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVy
Zm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2ZDlmZDU0YjU3YTUwYzk0MTczZmEwNWNiNTRkMzIyYjA4NGI0NDkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9v
YmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGV4aXN0cyBp
biBhbiBvYmplY3QgZWxlbWVudCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFs
dWVzIGFyZSBjb3JyZWN0KS4KKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3Bl
cmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNTg1MGVjODBlNjM3ZGM1MzYwNWM2YTUxN2U5ODcxNzJiMGMwM2E3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2Jq
ZWN0Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
ICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8
dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBleGlzdHMgaW4gYW4gb2JqZWN0PC90
aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNl
LWF0dHJpYnV0ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5j
ZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0
cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0
dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisg
IH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgICAgICA8c2NyaXB0Pg0KKyAg
ICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsNCisgICAgICAgICAgICB2YXIgb2JqV2lu
ZG93ID0NCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9iamVjdENv
bnRleHQiKS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7DQorICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UgPSBvYmpXaW5kb3cucGVyZm9ybWFuY2U7DQorICAgICAgICAgICAgdGVz
dF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZp
Z2F0aW9uJywgdHJ1ZSk7DQorICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8
L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAg
ICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlIG9i
amVjdCBleGlzdHMgaW4gYW4NCisgICAgICAgIG9iamVjdCBlbGVtZW50IChidXQgZG9lcyBub3Qg
dmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisgICAgICAgIDxv
YmplY3QgaWQ9Im9iamVjdENvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIGRhdGE9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iPjwvb2JqZWN0Pg0KKyAg
ICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9yZWFkd3JpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhODliOTY0ZDcwZjk2
OTRkZWE1YWMxODVjMWRmNGNlNjBjNDQzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2NyaXB0aW9u
CisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVj
dCBpcyByZWFkL3dyaXRlLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIAorUEFTUyB2YXIgcGVyZm9y
bWFuY2UgaXMgcmVhZC93cml0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3
cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0
NGJiODY3MjVkYzhlMTk4M2NjNzc5YjhmNjA2NzdiMTYwY2M0ODAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor77u/PCFE
T0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQv
d3JpdGU8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3Nv
ZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIi8+DQorCTxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVu
dD0iVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIi8+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIjoge30sDQorICAidmFy
IHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNz
cyIgLz4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlv
bjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBvYmplY3QgaXMgcmVhZC93cml0ZS48L3A+DQorICAgICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFj
ZSgpOw0KKw0KKyAgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZSA9ICdmb28nOw0KKyAgICAg
ICAgICAgIHRlc3RfZXF1YWxzKHdpbmRvdy5wZXJmb3JtYW5jZSwgJ2ZvbycsICd3aW5kb3cucGVy
Zm9ybWFuY2UgaXMgcmVhZC93cml0ZScpOw0KKw0KKyAgICAgICAgICAgIHZhciBwZXJmb3JtYW5j
ZSA9ICdiYXInOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlLCAnYmFyJywg
J3ZhciBwZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlJyk7DQorICAgICAgICA8L3NjcmlwdD4NCisg
ICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5n
X2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19h
dHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWExNmJmMWJhYWVlYzU3
YmM4MzQ5NzcwZjI2MDFlN2NjZWRkZjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBA
CitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxp
ZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0IGlzIGRl
ZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlIGlzIGRl
ZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRF
dmVudEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgaXMgZGVmaW5lZC4gCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgaXMgZGVmaW5lZC4gCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBpcyBkZWZpbmVkLiAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCBpcyBkZWZpbmVk
LiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0IGlz
IGRlZmluZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0
ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNlZDE2MDlhYzk1YWI0YzU0NmQ0MGFhZTQ4OWIwMDBiYmIyYzM4YzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhp
c3QuaHRtbApAQCAtMCwwICsxLDYxIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisg
ICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0
aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAgICAg
ICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cu
bWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZh
Y2UiLz4gICAgICAgIA0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgaXMgZGVmaW5lZC4iOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBp
cyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVu
dExvYWRlZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUludGVyYWN0aXZlIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRlZmluZWQu
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IGlzIGRlZmlu
ZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgaXMg
ZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0
YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZp
Z2F0aW9uU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlZGlyZWN0RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZWRpcmVjdFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCBpcyBk
ZWZpbmVkLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+
DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1
dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNv
cnJlY3QpLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgICAg
ICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKw0KKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQ0KKyAg
ICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfYXR0cmlidXRlX2V4aXN0cygndGltaW5nJywgdGlt
aW5nQXR0cmlidXRlc1tpXSk7DQorICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAg
PC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0
dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRy
aWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzFkODE4NGQzYjczYzFkZTNi
NmU4OGIyNDRlMDdjMmQ0YjFmNGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU4IEBACitm
cmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK0Rlc2NyaXB0
aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIG9yZGVyaW5nIG9mIHRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMuCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVk
IHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdyB3aGljaCBjb250YWlucyBhbiB1
bmxvYWQgZXZlbnQgaGFuZGxlci4KKworQWZ0ZXIgdGhlIHBhZ2UgbG9hZHMsIHRoZSBmcmFtZSBp
cyBuYXZpZ2F0ZWQgdG8gYSBuZXcgYmxhbmsgcGFnZSB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4g
QXQgdGhpcyBwb2ludCwgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgaXMgdmVyaWZpZWQKKworVGhp
cyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUgZnJhbWUud2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFyZSBjb3JyZWN0IHRocm91Z2hvdXQgdGhlIG5h
dmlnYXRpb24gc2NlbmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBi
YWNrZ3JvdW5kLiBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy4KKworU2V0dXAKKworCisKKwor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
biBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09
IFRZUEVfTkFWSUdBVEUgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlv
blN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0
ID09IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPT0gMCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID4gMCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcubmF2aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bWFpbkxvb2t1cFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21h
aW5Mb29rdXBTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5jb25uZWN0U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmNvbm5lY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVu
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuY29ubmVjdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
cXVlc3RTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0
YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVxdWVzdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5k
ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tTG9hZGluZyA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuZG9tTG9hZGluZyA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPiAwIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID49IHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVzcG9uc2VFbmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tSW50ZXJhY3RpdmUgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29udGVudExvYWRlZEV2ZW50RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5k
b21Db250ZW50TG9hZGVkRXZlbnRTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5kb21Db21wbGV0ZSA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29t
cGxldGUgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRF
bmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgPiAwIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9h
ZEV2ZW50U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRT
dGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFy
dCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy51bmxvYWRFdmVudFN0YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGlt
aW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmli
dXRlc19vcmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0ODRlOWFhYjM2OWQyYTMxNGFmOTM1OWUyMzMy
YzE1OWYzMjkzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0
dHJpYnV0ZXNfb3JkZXIuaHRtbApAQCAtMCwwICsxLDE2NyBAQAor77u/PCFET0NUWVBFIGh0bWw+
DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+
DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGUgb3Jk
ZXJpbmcgb24gYSBzaW1wbGUgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
LyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPiAgICAgICAg
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlw
dCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBk
ZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0
IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3Ii
OiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0K
KyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVz
IGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQor
ICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJ
R0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5mZXRjaFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPiAw
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5jb25uZWN0U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5jb25uZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBF
bmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgPiAwIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZXF1ZXN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0
RW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID4g
MCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
c3BvbnNlU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRp
bmcgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID49
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPiAwIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlc3BvbnNlRW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tSW50ZXJhY3RpdmUiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbXBsZXRlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29u
dGVudExvYWRlZEV2ZW50RW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5s
b2FkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxv
YWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRl
ZEV2ZW50RW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRF
bmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQg
Pj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLnVubG9hZEV2ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxv
YWRFdmVudFN0YXJ0Ijoge30NCit9DQorKi88L3NjcmlwdD4gICAgICAgDQorICAgICAgICA8c2Ny
aXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAg
ICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKw0KKyAgICAgICAgICAgIHZhciBz
dGVwID0gMTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICBpZiAoc3RlcCA9PT0gMSAmJiB3aW5kb3cucGVyZm9ybWFu
Y2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAg
ICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0K
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAg
ICAgICAgICAgICAgIHZhciBuYXZpZ2F0aW9uX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3c7DQorICAgICAgICAgICAgICAgIHBlcmZv
cm1hbmNlTmFtZXNwYWNlID0gbmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZTsNCisgICAgICAg
ICAgICAgICAgc3dpdGNoIChzdGVwKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgICAgICBjYXNlIDE6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5sb2NhdGlvbi5ocmVmID0gJy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0nOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgY2FzZSAyOg0KKyAgICAgICAgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJywg
dHJ1ZSk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8NCisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUZXN0cw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1l
c3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJ
R0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
bmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBuYXZpZ2lhdGlvbiBtdXN0IGJlIG5vbi0wDQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0aW9uU3RhcnQnLCAwKTsNCisNCisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBtdXN0IGJlIG5vIHJlZGlyZWN0aW9uIGZvciB0aGlzIHRl
c3QgY2FzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2VxdWFscygncmVk
aXJlY3RTdGFydCcsIDApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2Vx
dWFscygncmVkaXJlY3RFbmQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB2
YWxpZGF0ZSBhdHRyaWJ1dGUgb3JkZXJpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X3RpbWluZ19vcmRlcignZmV0Y2hTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tYWluTG9va3VwU3RhcnQnLCAn
ZmV0Y2hTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVy
KCdkb21haW5Mb29rdXBFbmQnLCAnZG9tYWluTG9va3VwU3RhcnQnKTsNCisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignY29ubmVjdFN0YXJ0JywgJ2RvbWFpbkxvb2t1
cEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdjb25u
ZWN0RW5kJywgJ2Nvbm5lY3RTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
dGltaW5nX29yZGVyKCdyZXF1ZXN0U3RhcnQnLCAnY29ubmVjdEVuZCcpOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZXNwb25zZVN0YXJ0JywgJ3JlcXVlc3RT
dGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZXNw
b25zZUVuZCcsICdyZXNwb25zZVN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dF90aW1pbmdfb3JkZXIoJ2RvbUxvYWRpbmcnLCAnZmV0Y2hTdGFydCcpOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21JbnRlcmFjdGl2ZScsICdyZXNwb25z
ZUVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCcsICdkb21JbnRlcmFjdGl2ZScpOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQn
LCAnZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3RpbWluZ19vcmRlcignZG9tQ29tcGxldGUnLCAnZG9tQ29udGVudExvYWRlZEV2ZW50
RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2xvYWRF
dmVudFN0YXJ0JywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCcpOw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdsb2FkRXZlbnRFbmQnLCAnbG9hZEV2ZW50U3Rh
cnQnKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXR1cCByZXF1aXJlcyB0aGUg
ZnJhbWUgdG8gaGF2ZSBhIHByZXZpb3VzIHBhZ2Ugd2l0aCBhbiBvbnVubG9hZCBldmVudCBoYW5k
bGVyLg0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCd1bmxvYWRF
dmVudFN0YXJ0JywgJ25hdmlnYXRpb25TdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCd1bmxvYWRFdmVudEVuZCcsICd1bmxvYWRFdmVudFN0YXJ0Jyk7
DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAg
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQorICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9
DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAg
IDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRo
ZSBvcmRlcmluZyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzLjwv
cD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxs
b3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdyB3aGljaCBjb250YWlucyBhbiB1bmxvYWQgZXZlbnQN
CisgICAgICAgICAgIGhhbmRsZXIuPC9wPg0KKw0KKyAgICAgICAgPHA+QWZ0ZXIgdGhlIHBhZ2Ug
bG9hZHMsIHRoZSBmcmFtZSBpcyBuYXZpZ2F0ZWQgdG8gYSBuZXcgYmxhbmsgcGFnZSB3aXRoIGEg
Z3JlZW4gYmFja2dyb3VuZC4gIEF0IHRoaXMgcG9pbnQsIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5l
IGlzIHZlcmlmaWVkPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwg
b2YgdGhlIGNoZWNrcyB0byB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRy
aWJ1dGVzIGFyZQ0KKyAgICAgICAgICAgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9u
IHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3Vu
ZC4NCisgICAgICAgICAgIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLjwvcD4NCisNCisgICAg
ICAgIDxoMT5TZXR1cDwvaDE+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAg
ICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiDQorICAgICAg
ICAgICAgICAgIG9ubG9hZD0iLyogTmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBs
b2FkRXZlbnRFbmQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCBhZnRlciB0aGUg
bG9hZCBldmVudCBoYXMgZmluaXNoZWQgZmlyaW5nICovDQorICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0VGltZW91dChvbmxvYWRfdGVzdCwgMCk7Ig0KKyAgICAgICAgICAgICAgICBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV91bmxvYWQuaHRtIg0KKyAgICAgICAgICAg
ICAgICBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAg
IDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19j
bGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19jbGll
bnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxNDJiODkyZGIyNWI2MDAzMjNl
ODcxMTA2ZDYyNmU4NGVkNDhmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
dGltaW5nX2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cu
bmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBvbiBhIGNsaWVudCBzaWRlIHJlZGlyZWN0LgorCisK
KworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9O
QVZJR0FURSAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xpZW50
IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCBv
biBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB0aW1pbmcucmVkaXJlY3RF
bmQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGQ4NWQ5Zjdj
NmEwMjQyYjZiY2ViMDYxZmI1M2QwMjk4YzkzNjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDc4IEBACivv
u788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlZGlyZWN0IGF0dHJpYnV0ZXMgb24gYSBjbGllbnQgcmVkaXJlY3QgbmF2aWdhdGlvbjwv
dGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJl
Zj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
dGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
ICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1
dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsN
CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2lu
ZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRw
Oi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQ
RV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgIm5hdmlnYXRpb24u
cmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2
aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJ0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAw
IG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJ0aW1pbmcucmVk
aXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30NCit9
DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2
aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnLCB0cnVlKTsN
CisNCisgICAgICAgICAgICB2YXIgcmVkaXJlY3RfZnJhbWU7DQorICAgICAgICAgICAgZnVuY3Rp
b24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHBl
cmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAg
ICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAg
ICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICByZWRpcmVjdF9mcmFtZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAgICAgcmVkaXJlY3Rf
ZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
ZnVuY3Rpb24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWRp
cmVjdF9mcmFtZS5vbmxvYWQgPSAiIjsNCisgICAgICAgICAgICAgICAgdGVzdF90cnVlKHJlZGly
ZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IHBl
cmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUn
LHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmln
YXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxz
KHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRp
cmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xpZW50
IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAgICAg
ICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAg
b24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICB0
ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVudCBy
ZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxi
b2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2lu
ZG93Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhbmQgdGhlDQorICAgICAgICAgICB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIG9uIGEgY2xpZW50IHNp
ZGUgcmVkaXJlY3QuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj48YnIgLz4N
CisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfbWV0YV9yZWRpcmVjdC5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7
IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZhZDcw
NDllYzU0MjA3MzFiNDM1NzdmODU0NDNkNjk1YmU5NDMzMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBA
CitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBjaGFuZ2Ugd2hlbiBhIHBhZ2UgaXMgcmVsb2FkZWQu
CisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZy
YW1lIGJlbG93LiBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkIGFuZCB0
aGVuIHZlcmlmaWVkIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRl
cyBoYXZlIGJlZW4gdXBkYXRlZCB0byB0aGUgbmV3IHJlbG9hZGVkIG5hdmlnYXRpb24gdGltaW5n
cy4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCAKK1BBU1MgY29ubmVjdEVuZCBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGNvbm5lY3RTdGFydCBpcyBkaWZm
ZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIGRpZmZlcmVudCBh
ZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIGRpZmZl
cmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQg
aXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21JbnRlcmFjdGl2ZSBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUxvYWRpbmcgaXMgZGlmZmVyZW50
IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21haW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50IGFm
dGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21haW5Mb29rdXBTdGFydCBpcyBkaWZmZXJlbnQgYWZ0
ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGZldGNoU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
IAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQ
QVNTIG5hdmlnYXRpb25TdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNT
IHJlcXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlc3Bv
bnNlRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgcmVzcG9uc2VTdGFy
dCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF90aW1pbmdfcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9h
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmUzZmE0N2MwMWM2NjcwN2Y3NDQ0NTIyNDg3NmVmNGZjYTYyYWJh
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC5odG1s
CkBAIC0wLDAgKzEsMTIyIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhl
YWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgYWZ0ZXIgYSByZWxvYWRlZCBuYXZp
Z2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9z
b2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2
aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQor
ICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6
Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNl
LWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRy
aWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0
cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAg
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlw
ZSA9PSBUWVBFX1JFTE9BRCI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgImNvbm5l
Y3RFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAiY29ubmVjdFN0
YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUNvbXBsZXRl
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUNvbnRlbnRMb2Fk
ZWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7
fSwNCisgICJkb21JbnRlcmFjdGl2ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7
fSwNCisgICJkb21Mb2FkaW5nIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0K
KyAgImRvbWFpbkxvb2t1cEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwN
CisgICJkb21haW5Mb29rdXBTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7
fSwNCisgICJmZXRjaFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0K
KyAgImxvYWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisg
ICJsb2FkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisg
ICJuYXZpZ2F0aW9uU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAicmVxdWVzdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAg
InJlc3BvbnNlRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgInJl
c3BvbnNlU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30NCit9DQorKi88
L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0
X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5h
bWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgdmFyIHJlbG9hZF9mcmFtZTsNCisg
ICAgICAgICAgICB2YXIgaW5pdGlhbF90aW1pbmc7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24g
b25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2Zy
YW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKw0KKyAgICAg
ICAgICAgICAgICBpZiAocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UgPT09
IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8g
YXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAg
ICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBkb190ZXN0Ow0KKw0KKyAgICAgICAgICAgICAg
ICAvLyBzYXZlIGZyYW1lJ3MgaW5pdGlhbCB0aW1pbmdzDQorICAgICAgICAgICAgICAgIGluaXRp
YWxfdGltaW5nID0ge307DQorICAgICAgICAgICAgICAgIHZhciB0aW1pbmcgPSByZWxvYWRfZnJh
bWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7DQorDQorICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAg
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5n
QXR0cmlidXRlc1tpXTsNCisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxfdGltaW5nW3Byb3Bl
cnR5XSA9IHRpbWluZ1twcm9wZXJ0eV07DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAg
ICAgICAgICAgc2V0VGltZW91dCgicmVsb2FkX3RoZV9mcmFtZSgpOyIsIDEwMCk7DQorICAgICAg
ICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlbG9hZF90aGVfZnJhbWUoKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cu
bG9jYXRpb24ucmVsb2FkKHRydWUpOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICBm
dW5jdGlvbiBkb190ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9h
ZF9mcmFtZS5vbmxvYWQgPSAiIjsNCisNCisgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHRoZSBm
cmFtZSByZWxvYWRlZA0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRfZnJhbWUu
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9SRUxP
QUQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FEIiwge2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisN
CisgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHJlbG9hZCB0aW1pbmdzIGNoYW5nZWQNCisgICAg
ICAgICAgICAgICAgdmFyIHRpbWluZyA9IHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZzsNCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1p
bmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOw0KKw0KKyAgICAg
ICAgICAgICAgICAgICAgLy8gaWdub3JlIGFueSB0aW1pbmdzIHRoYXQgd2VyZSB6ZXJvIGluaXRp
YWxseQ0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSAh
PT0gMCkNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0X25vdF9lcXVhbHModGltaW5nW3Byb3BlcnR5XSwgaW5pdGlhbF90aW1pbmdbcHJvcGVydHld
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgKyAiIGlzIGRpZmZl
cmVudCBhZnRlciB0aGUgcmVsb2FkLiIpOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9
DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9u
bG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcg
YXR0cmlidXRlcyBjaGFuZ2Ugd2hlbiBhIHBhZ2UgaXMgcmVsb2FkZWQuPC9wPg0KKw0KKyAgICAg
ICAgPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQg
ZnJhbWUgYmVsb3cuICBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkDQor
ICAgICAgICBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nIGF0dHJpYnV0ZXMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdGhlIG5ldyByZWxvYWRlZCBuYXZp
Z2F0aW9uIHRpbWluZ3MuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisg
ICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDog
MjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisNCisgICAgPC9ib2R5Pg0KKzwvaHRt
bD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNiZDE5YjcyNTk0OWEwMDEzZTEzZTJiNzhhMTcwYzcwZWQ3
YTZiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVyX3Jl
ZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitEZXNjcmlwdGlvbgorCitUaGlz
IHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRp
cmVjdENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0
L0VuZCB0aW1lcyBmb3IgYSBzYW1lLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0
aW9uLgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2
aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RD
b3VudCA9PSAxIG9uIGFuIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2
aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5k
ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wY2U2YTk3ZTI5YzY2ODY4MDVmOTk4ZDJkNWY3ZjM5YmNkNjA3MjU1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QuaHRtbApAQCAtMCww
ICsxLDQ3IEBACivvu788IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAg
ICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnJlZGlyZWN0IGF0dHJpYnV0ZXMgb24gYSBzYW1lLW9yaWdpbiBzZXJ2
ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAv
Pg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAg
ICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICBpZiAocGVy
Zm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAg
ICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAg
ICAgICB9DQorDQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2U7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5h
dmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVz
cGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAg
J3RpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScpOw0KKyAgICAgICAgICAg
ICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnJlZGlyZWN0
Q291bnQsIDEsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMSBvbiBhbiBzZXJ2ZXIgcmVk
aXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2dy
ZWF0ZXJfdGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQorDQorICAgICAgICAgICAgICAgIHRl
c3RfdGltaW5nX29yZGVyKCdyZWRpcmVjdFN0YXJ0JywgJ25hdmlnYXRpb25TdGFydCcpOw0KKyAg
ICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVkaXJlY3RFbmQnLCAncmVkaXJlY3RT
dGFydCcpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZmV0Y2hTdGFydCcs
ICdyZWRpcmVjdEVuZCcpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0K
KyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4N
CisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93
LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAgICAgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBzYW1lLW9yaWdp
biBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxkaXYg
aWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZy
YW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5r
X3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9p
ZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcwODIx
NGM4MjJkMDQ1YzA0M2RjM2EwODRiMzg4ZTExNTMyMmJmMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVz
IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgY3Jvc3Mtb3Jp
Z2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uCisKKworCisKK0ZBSUwgU3RhcnRp
bmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoMTI3LjAuMC4xOjgwMDAp
IGFzc2VydF9lcXVhbHM6IFN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNv
cnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBleHBlY3RlZCAiMTI3LjAuMC4xOjgwMDAiIGJ1dCBnb3Qg
IjEyNy4wLjAuMSIKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZp
Z2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENv
dW50ID09IDAgb24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIAorUEFT
UyB0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdh
dGlvbiBmcm9tIGFub3RoZXIgZG9tYWluIAorUEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBv
biBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFpbiAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZjI4MjBiYTI5MTc2NWM2YTU1ZmJkZjM4MDRmN2RmZDBkNTc1ODVlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWwKQEAgLTAs
MCArMSw4OSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAg
ICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgY3Jvc3Mtb3JpZ2luIHNl
cnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8i
IC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8q
DQorew0KKyAgIlN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3Qg
KHczYy10ZXN0Lm9yZykiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6
IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUg
d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3Ig
cGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBo
dHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAg
ICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBo
b3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAg
ImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfQ0KK30NCisqLzwvc2NyaXB0
Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTog
dHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgLy8gVGVzdCBjb25maWd1
cmF0aW9uDQorICAgICAgICAgICAgLy8NCisNCisgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBw
YWdlJ3Mgb3JpZ2luDQorICAgICAgICAgICAgdmFyIHBhZ2VPcmlnaW4gPSAnMTI3LjAuMC4xOjgw
MDAnOw0KKw0KKyAgICAgICAgICAgIC8vIHRoZSBvcmlnaW4gdG8gcmVkaXJlY3QgdGhyb3VnaA0K
KyAgICAgICAgICAgIHZhciByZWRpcmVjdE9yaWdpbiA9ICdsb2NhbGhvc3Q6ODAwMCc7DQorDQor
ICAgICAgICAgICAgLy8NCisgICAgICAgICAgICAvLyBUZXN0cw0KKyAgICAgICAgICAgIC8vDQor
ICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAg
ICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAg
ICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisg
ICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFj
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93
LnBlcmZvcm1hbmNlOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5h
bWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUnLHtoZWxw
OiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
aW5mby1pbnRlcmZhY2UifSk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1h
bmNlTmFtZXNwYWNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVk
aXJlY3RDb3VudCA9PSAwIG9uIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmln
YXRpb24nLCB7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0
X3RpbWluZ19ncmVhdGVyX3RoYW4oJ25hdmlnYXRpb25TdGFydCcsIDApOw0KKw0KKyAgICAgICAg
ICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RT
dGFydCwgMCwgJ3RpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3Rl
ZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21haW4nKTsNCisgICAgICAgICAgICAgICAgdGVz
dF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAwLCAndGlt
aW5nLnJlZGlyZWN0RW5kID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZy
b20gYW5vdGhlciBkb21haW4nKTsNCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAg
ICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5
Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291
bnQgYW5kIHRoZQ0KKyAgICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVj
dFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBjcm9zcy1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3Qg
bmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAg
ICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iIiBzdHls
ZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgICAgICA8c2Ny
aXB0Pg0KKyAgICAgICAgICAgIC8vIGVuc3VyZSB3ZSdyZSBzdGFydGluZyBhdCB0aGUgcmlnaHQg
b3JpZ2luDQorICAgICAgICAgICAgdGVzdF9lcXVhbHMoZG9jdW1lbnQubG9jYXRpb24uaG9zdG5h
bWUsIHBhZ2VPcmlnaW4sICdTdGFydGluZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBj
b3JyZWN0ICgnICsgcGFnZU9yaWdpbiArICcpJyk7DQorDQorICAgICAgICAgICAgLy8gY29tYmlu
ZSB0aGUgcGFnZSBvcmlnaW4gYW5kIHJlZGlyZWN0IG9yaWdpbiBpbnRvIHRoZSBJRlJBTUUncyBz
cmMgVVJMDQorICAgICAgICAgICAgdmFyIGRlc3RVcmwgPSAnaHR0cDovLycgKyByZWRpcmVjdE9y
aWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocCc7DQorICAgICAgICAg
ICAgZGVzdFVybCAgICArPSAnP2xvY2F0aW9uPWh0dHA6Ly8nICsgcGFnZU9yaWdpbiArICcvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzsNCisNCisgICAgICAgICAg
ICB2YXIgZnJhbWVDb250ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4
dCIpOw0KKyAgICAgICAgICAgIGZyYW1lQ29udGV4dC5vbmxvYWQgPSBvbmxvYWRfdGVzdDsNCisg
ICAgICAgICAgICBmcmFtZUNvbnRleHQuc3JjID0gZGVzdFVybDsNCisgICAgICAgIDwvc2NyaXB0
Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91
bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
dW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExN2Fj
ZjA1NDEyNTI4ZDgxOTE1ZGY2MzAzNzIyYjgzYzM1MTM2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGVh
Y2ggd2luZG93IGhhcyBhIHVuaXF1ZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0LgorCisKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1MgRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUg
dW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1
ZV9wZXJmb3JtYW5jZV9vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBiY2EyNTc2NmQ4YTg0ZjIw
MTQ5YWVkYjA2YzI3MzZmNTQ4ZmUwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKK++7vzwh
RE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPkVhY2ggd2luZG93IG9iamVjdCBoYXMgYSB1
bmlxdWUgcGVyZm9ybWFuY2Ugb2JqZWN0PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAv
Pg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIgLz4NCisJPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJFYWNoIGJyb3dzaW5nIGNvbnRleHQgbXVzdCBoYXZlIGEg
dW5pcXVlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlLiIvPg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRh
dGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0K
KyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5k
b3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJm
b3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6
Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBk
ZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0
IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3Ii
OiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAiRGlmZmVyZW50IHdpbmRvdyBv
YmplY3RzIGhhdmUgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdHMiOiB7fQ0KK30NCisqLzwvc2Ny
aXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9u
PC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBo
YXMgYSB1bmlxdWUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVjdC48L3A+DQorICAgICAgICA8aWZy
YW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19w
YWdlX2dyZWVuLmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiOz48L2lmcmFtZT4NCisgICAgICAg
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHRl
c3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisNCisgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VO
YW1lc3BhY2UgIT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IHRlc3Rfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcsDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250
ZXh0IikuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcsDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUgdW5pcXVlIHBl
cmZvcm1hbmNlIG9iamVjdHMiKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4N
CisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJjNDdlZDVhZWI5ZWFkN2E2YjFiZjgwYTc1MWU0NTQxZjBkNTM0ZjMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRN
TD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAg
IDx0aXRsZT5HcmVlbiBUZXN0IFBhZ2U8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhv
bGRlcjwvaDE+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbl93aXRo
X29udW5sb2FkLmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVubG9hZC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE0MGNl
ZTdjOWE5YTY2YTZlZTgxOTFkMWE0YjM3OGQ2YmU0NGUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW5fd2l0aF9vbnVubG9hZC5odG0KQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIEhUTUw+DQor
PGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+DQorICAgICAgICA8dGl0
bGU+R3JlZW4gVGVzdCBQYWdlPC90aXRsZT4NCisgICAgPC9oZWFkPg0KKyAgICA8IS0tIHVzZSBv
bnVubG9hZCB0byBlbnN1cmUgdGhpcyBkb2VzIG5vdCB0cmlnZ2VyIGJmY2FjaGUgLS0+DQorICAg
IDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7IiBvbnVubG9hZD0iMTsiPg0K
KyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9i
bGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9tZXRhX3JlZGlyZWN0Lmh0bQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44YmYzNGJkN2EzY2RlNWExZWVlNDZjOGJkODI5M2Y0NDkwMWVmYTcwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV9tZXRhX3JlZGlyZWN0Lmh0bQpAQCAtMCwwICsxLDExIEBACivvu788IURPQ1RZUEUgSFRN
TD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAg
IDxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjE7VVJMPSdibGFua19wYWdlX2dy
ZWVuLmh0bSciIC8+DQorICAgICAgICA8dGl0bGU+UmVkaXJlY3QgUGxhY2Vob2xkZXI8L3RpdGxl
PiAgICAgICAgDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6I0ZGRkYwMCI7Pg0KKyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5
Pg0KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9h
ZC5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFu
a19wYWdlX3VubG9hZC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU5MDUwNzA4Y2E2NjhkMDhhNmU4YzA5YjU0
N2Y5ZWUyOTdkZThlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bQpAQCAtMCwwICsxLDI1
IEBACivvu788IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8
bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRl
bnQtVHlwZSIgLz4NCisgICAgICAgIA0KKyAgICAgICAgPHRpdGxlPlllbGxvdyBUZXN0IFBhZ2U8
L3RpdGxlPg0KKyAgICAgICAgDQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+DQorICAgICAgICAgICAgZnVuY3Rpb24gb25iZWZvcmV1bmxvYWRfaGFuZGxlcigpDQorICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgdGVtcCA9ICJvbmJlZm9yZXVubG9hZCI7
DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9u
dW5sb2FkX2hhbmRsZXIoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIHRl
bXAgPSAib251bmxvYWQiOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAg
ICA8L2hlYWQ+DQorICAgIDxib2R5IG9uYmVmb3JldW5sb2FkPSJvbmJlZm9yZXVubG9hZF9oYW5k
bGVyKCk7Ig0KKyAgICAgICAgICBvbnVubG9hZD0ib251bmxvYWRfaGFuZGxlcigpOyIgDQorICAg
ICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGMDA7Ij4NCisgICAgICAgIDxoMT5V
bmxvYWQ8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjJl
OGEyYmVlMDc0ZDQ4MzgxYzcyMWNjYzhiMDY1OTM2ZDc4YjQzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95
ZWxsb3cuaHRtCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0KKyAg
ICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPg0KKyAgICAgICAgPHRpdGxlPlllbGxvdyBU
ZXN0IFBhZ2U8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiNGRkZGMDA7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQorICAg
IDwvYm9keT4NCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFn
ZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvd193aXRoX29udW5sb2FkLmh0bQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMjUxZGUwYzlhYmEyNDk1MmE2YTQzNmNkM2ZmMDRkNTU2MmMxNjgzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0KQEAgLTAsMCArMSwxMSBAQAorPCFE
T0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+
DQorICAgICAgICA8dGl0bGU+WWVsbG93IFRlc3QgUGFnZTwvdGl0bGU+DQorICAgIDwvaGVhZD4N
CisgICAgPCEtLSB1c2Ugb251bmxvYWQgdG8gZW5zdXJlIHRoaXMgZG9lcyBub3QgdHJpZ2dlciBi
ZmNhY2hlIC0tPg0KKyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGRjAwOyIg
b251bmxvYWQ9IjE7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQorICAgIDwvYm9k
eT4NCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFnZXZpc3Rlc3RoYXJu
ZXNzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFn
ZXZpc3Rlc3RoYXJuZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4N2VjNWNlNDZhNWQwY2E4ZWMyOTAwYzVi
NjZhMTk1OGQ3ZjdjODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9wYWdldmlzdGVzdGhhcm5lc3MuanMKQEAgLTAsMCArMSwx
MjggQEAKKy8qCitEaXN0cmlidXRlZCB1bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNl
bnNlIFsxXSBhbmQgdGhlIFczQworMy1jbGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmli
dXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUsIHNlZSB0aGUKK3BvbGljaWVzIGFuZCBjb250cmlidXRp
b24gZm9ybXMgWzNdLgorCitbMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8y
MDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNlCitbMl0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1
bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNlCitbM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8x
MC8yNy10ZXN0Y2FzZXMKKyovDQorDQorLy8NCisvLyBIZWxwZXIgRnVuY3Rpb25zIGZvciBQYWdl
VmlzaWJpbGl0eSBXM0MgdGVzdHMNCisvLw0KK3ZhciBWSVNJQklMSVRZX1NUQVRFUyA9DQorew0K
KyAgICBISURERU46ICJoaWRkZW4iLA0KKyAgICBWSVNJQkxFOiAidmlzaWJsZSINCit9Ow0KKw0K
K3ZhciBza2lwX2FsbF90ZXN0cyA9IGZhbHNlOw0KK3ZhciBmZWF0dXJlX2NoZWNrID0gZmFsc2U7
DQorDQorLy8NCisvLyBBbGwgdGVzdCgpIGZ1bmN0aW9ucyBpbiB0aGUgV2ViUGVyZiBQYWdlVmlz
IHRlc3Qgc3VpdGUgc2hvdWxkIHVzZSBwdl90ZXN0KCkgaW5zdGVhZC4NCisvLw0KKy8vIHB2X3Rl
c3QoKSB2YWxpZGF0ZXMgdGhlIGRvY3VtZW50LmhpZGRlbiBhbmQgZG9jdW1lbnQudmlzaWJpbGl0
eVN0YXRlIGF0dHJpYnV0ZXMNCisvLyBleGlzdCBwcmlvciB0byBydW5uaW5nIHRlc3RzIGFuZCBp
bW1lZGlhdGVseSBzaG93cyBhIGZhaWx1cmUgaWYgdGhleSBkbyBub3QuDQorLy8NCisNCitmdW5j
dGlvbiBwdl90ZXN0KGZ1bmMsIG1zZywgZG9jKQ0KK3sNCisgICAgaWYgKCFkb2MpDQorICAgIHsN
CisgICAgICAgIGRvYyA9IGRvY3VtZW50Ow0KKyAgICB9DQorDQorICAgIC8vIG9ubHkgcnVuIHRo
ZSBmZWF0dXJlIGNoZWNrIG9uY2UsIHVubGVzcyBmdW5jID09IG51bGwsIGluIHdoaWNoIGNhc2Us
IA0KKyAgICAvLyB0aGlzIGNhbGwgaXMgaW50ZW5kZWQgYXMgYSBmZWF0dXJlIGNoZWNrDQorICAg
IGlmICghZmVhdHVyZV9jaGVjaykNCisgICAgew0KKyAgICAgICAgZmVhdHVyZV9jaGVjayA9IHRy
dWU7DQorDQorICAgICAgICB2YXIgaGlkZGVuVmFsID0gZG9jLmhpZGRlbjsNCisgICAgICAgIHZh
ciB2aXNTdGF0ZVZhbCA9IGRvYy52aXNpYmlsaXR5U3RhdGU7DQorDQorICAgICAgICAvLyBzaG93
IGEgc2luZ2xlIGVycm9yIHRoYXQgdGhlIFBhZ2UgVmlzaWJpbGl0eSBmZWF0dXJlIGlzIHVuZGVm
aW5lZA0KKyAgICAgICAgdGVzdChmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAg
YXNzZXJ0X3RydWUoaGlkZGVuVmFsICE9PSB1bmRlZmluZWQgJiYgaGlkZGVuVmFsICE9IG51bGws
DQorICAgICAgICAgICAgICAgICAgICAgICAgImRvY3VtZW50LmhpZGRlbiBpcyBkZWZpbmVkIGFu
ZCBub3QgbnVsbC4iKTt9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2N1bWVudC5oaWRk
ZW4gaXMgZGVmaW5lZCBhbmQgbm90IG51bGwuIik7DQorDQorICAgICAgICB0ZXN0KGZ1bmN0aW9u
KCkNCisgICAgICAgIHsNCisgICAgICAgICAgICBhc3NlcnRfdHJ1ZSh2aXNTdGF0ZVZhbCAhPT0g
dW5kZWZpbmVkICYmIGhpZGRlblZhbCAhPSBudWxsLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICJkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgaXMgZGVmaW5lZCBhbmQgbm90IG51bGwuIik7fSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGlzIGRl
ZmluZWQgYW5kIG5vdCBudWxsLiIpOw0KKyAgICANCisgICAgICAgIC8vU2tpcCBvbmx5IGlmIGJv
dGggYXJlIHVuZGVmaW5lZA0KKw0KKyAgICAgICAgaWYgKGhpZGRlblZhbCA9PT0gdW5kZWZpbmVk
IHx8IHZpc1N0YXRlVmFsID09PSB1bmRlZmluZWQpDQorICAgICAgICB7DQorICAgICAgICAgICAg
c2tpcF9hbGxfdGVzdHMgPSB0cnVlOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIGlmICgh
c2tpcF9hbGxfdGVzdHMgJiYgZnVuYykNCisgICAgew0KKyAgICAgICAgdGVzdChmdW5jLCBtc2cp
Ow0KKyAgICB9DQorfQ0KKw0KKw0KK2Z1bmN0aW9uIHRlc3RfZmVhdHVyZV9leGlzdHMoZG9jLCBt
c2cpDQorew0KKyAgICBpZiAoIW1zZykNCisgICAgew0KKyAgICAgICAgbXNnID0gIiI7DQorICAg
IH0NCisgICAgdmFyIGhpZGRlbk1zZyA9ICJkb2N1bWVudC5oaWRkZW4gaXMgZGVmaW5lZCIgKyBt
c2cgKyAiLiI7DQorICAgIHZhciBzdGF0ZU1zZyA9ICJkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUg
aXMgZGVmaW5lZCIgKyBtc2cgKyAiLiI7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKXthc3NlcnRf
dHJ1ZShkb2N1bWVudC5oaWRkZW4gIT09IHVuZGVmaW5lZCwgaGlkZGVuTXNnKTt9LCBoaWRkZW5N
c2csIGRvYyk7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKXthc3NlcnRfdHJ1ZShkb2N1bWVudC52
aXNpYmlsaXR5U3RhdGUgIT09IHVuZGVmaW5lZCwgc3RhdGVNc2cpO30sIHN0YXRlTXNnLCBkb2Mp
Ow0KK30NCisNCisvLw0KKy8vIENvbW1vbiBoZWxwZXIgZnVuY3Rpb25zDQorLy8NCisNCitmdW5j
dGlvbiB0ZXN0X3RydWUodmFsdWUsIG1zZykNCit7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKSB7
IGFzc2VydF90cnVlKHZhbHVlLCBtc2cpOyB9LCBtc2cpOw0KK30NCisNCitmdW5jdGlvbiB0ZXN0
X2VxdWFscyh2YWx1ZSwgZXF1YWxzLCBtc2cpDQorew0KKyAgICBwdl90ZXN0KGZ1bmN0aW9uKCkg
eyBhc3NlcnRfZXF1YWxzKHZhbHVlLCBlcXVhbHMsIG1zZyk7IH0sIG1zZyk7DQorfQ0KKw0KKy8v
DQorLy8gYXN5bmNocm9ub3VzIHRlc3QgaGVscGVyIGZ1bmN0aW9ucw0KKy8vDQorDQorZnVuY3Rp
b24gYWRkX2FzeW5jX3Jlc3VsdCh0ZXN0X29iaiwgcGFzc19zdGF0ZSkNCit7DQorICAgIC8vIGFk
ZCBhc3NlcnRpb24gdG8gbWFudWFsIHRlc3QgZm9yIHRoZSBwYXNzIHN0YXRlDQorICAgIHRlc3Rf
b2JqLnN0ZXAoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBhc3Nfc3RhdGUpIH0pOw0KKw0KKyAg
ICAvLyBlbmQgbWFudWFsIHRlc3QNCisgICAgdGVzdF9vYmouZG9uZSgpOw0KK30NCisNCitmdW5j
dGlvbiBhZGRfYXN5bmNfcmVzdWx0X2Fzc2VydCh0ZXN0X29iaiwgZnVuYykNCit7DQorICAgIC8v
IGFkZCBhc3NlcnRpb24gdG8gbWFudWFsIHRlc3QgZm9yIHRoZSBwYXNzIHN0YXRlDQorICAgIHRl
c3Rfb2JqLnN0ZXAoZnVuYyk7DQorDQorICAgIC8vIGVuZCBtYW51YWwgdGVzdA0KKyAgICB0ZXN0
X29iai5kb25lKCk7DQorfQ0KKw0KK3ZhciBvcGVuX2xpbms7DQorZnVuY3Rpb24gVGFiU3dpdGNo
KCkNCit7DQorICAgIC8vdmFyIG9wZW5fbGluayA9IHdpbmRvdy5vcGVuKCJodHRwOi8vd3d3LmJp
bmcuY29tIik7DQorICAgIG9wZW5fbGluayA9IHdpbmRvdy5vcGVuKCcnLCAnX2JsYW5rJyk7DQor
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IG9wZW5fbGluay5jbG9zZSgpOyB9LCAyMDAwKTsN
Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBkODZlOTYwNTQ3NzQxN2QyM2QyMDg3N2EwOTA3MGNlOTM1NGE5N2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRp
cmVjdC5waHAKQEAgLTAsMCArMSw4IEBACis8P3BocAorICAkY29kZSA9IGN0eXBlX2RpZ2l0KCRf
R0VUWyJjb2RlIl0pID8gJF9HRVRbImNvZGUiXSA6ICIzMDIiOworICAkbG9jYXRpb24gPSAkX0dF
VFsibG9jYXRpb24iXSA/ICRfR0VUWyJsb2NhdGlvbiJdIDogJF9TRVJWRVJbIlNDUklQVF9OQU1F
Il0gLiAiP2ZvbGxvd2VkIjsKKworICBoZWFkZXIoIkhUVFAvMS4xICRjb2RlIik7CisgIGhlYWRl
cigiTG9jYXRpb246ICRsb2NhdGlvbiIpOworICBleGl0OworPz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVz
cy5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjM4ZWVkZGIzMjY0YWJlNWVlMmIwZWQzZmRl
ODk2OWRiNjFhYjYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCkBAIC0wLDAgKzEsMTU2
IEBACivvu78vKgorRGlzdHJpYnV0ZWQgdW5kZXIgYm90aCB0aGUgVzNDIFRlc3QgU3VpdGUgTGlj
ZW5zZSBbMV0gYW5kIHRoZSBXM0MKKzMtY2xhdXNlIEJTRCBMaWNlbnNlIFsyXS4gVG8gY29udHJp
YnV0ZSB0byBhIFczQyBUZXN0IFN1aXRlLCBzZWUgdGhlCitwb2xpY2llcyBhbmQgY29udHJpYnV0
aW9uIGZvcm1zIFszXS4KKworWzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwv
MjAwOC8wNC10ZXN0c3VpdGUtbGljZW5zZQorWzJdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRp
dW0vTGVnYWwvMjAwOC8wMy1ic2QtbGljZW5zZQorWzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQv
MTAvMjctdGVzdGNhc2VzCisgKi8KKworLy8KKy8vIEhlbHBlciBGdW5jdGlvbnMgZm9yIE5hdmln
YXRpb25UaW1pbmcgVzNDIHRlc3RzCisvLworCit2YXIgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSB3
aW5kb3cucGVyZm9ybWFuY2U7Cit2YXIgdGltaW5nQXR0cmlidXRlcyA9IFsKKyAgICAnY29ubmVj
dEVuZCcsCisgICAgJ2Nvbm5lY3RTdGFydCcsCisgICAgJ2RvbUNvbXBsZXRlJywKKyAgICAnZG9t
Q29udGVudExvYWRlZEV2ZW50RW5kJywKKyAgICAnZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQn
LAorICAgICdkb21JbnRlcmFjdGl2ZScsCisgICAgJ2RvbUxvYWRpbmcnLAorICAgICdkb21haW5M
b29rdXBFbmQnLAorICAgICdkb21haW5Mb29rdXBTdGFydCcsCisgICAgJ2ZldGNoU3RhcnQnLAor
ICAgICdsb2FkRXZlbnRFbmQnLAorICAgICdsb2FkRXZlbnRTdGFydCcsCisgICAgJ25hdmlnYXRp
b25TdGFydCcsCisgICAgJ3JlZGlyZWN0RW5kJywKKyAgICAncmVkaXJlY3RTdGFydCcsCisgICAg
J3JlcXVlc3RTdGFydCcsCisgICAgJ3Jlc3BvbnNlRW5kJywKKyAgICAncmVzcG9uc2VTdGFydCcs
CisgICAgJ3VubG9hZEV2ZW50RW5kJywKKyAgICAndW5sb2FkRXZlbnRTdGFydCcKK107CisKK3Zh
ciBza2lwX2FsbF90ZXN0cyA9IGZhbHNlOwordmFyIG5hbWVzcGFjZV9jaGVjayA9IGZhbHNlOwor
CisvLworLy8gQWxsIHRlc3QoKSBmdW5jdGlvbnMgaW4gdGhlIFdlYlBlcmYgdGVzdCBzdWl0ZSBz
aG91bGQgdXNlIHdwX3Rlc3QoKSBpbnN0ZWFkLgorLy8KKy8vIHdwX3Rlc3QoKSB2YWxpZGF0ZXMg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBuYW1lc3BhY2UgZXhpc3RzIHByaW9yIHRvIHJ1bm5pbmcg
dGVzdHMgYW5kCisvLyBpbW1lZGlhdGVseSBzaG93cyBhIHNpbmdsZSBmYWlsdXJlIGlmIGl0IGRv
ZXMgbm90LgorLy8KKworZnVuY3Rpb24gd3BfdGVzdChmdW5jLCBtc2csIHByb3BlcnRpZXMpCit7
CisgICAgLy8gb25seSBydW4gdGhlIG5hbWVzcGFjZSBjaGVjayBvbmNlCisgICAgaWYgKCFuYW1l
c3BhY2VfY2hlY2spCisgICAgeworICAgICAgICBuYW1lc3BhY2VfY2hlY2sgPSB0cnVlOworCisg
ICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkIHx8IHBlcmZvcm1h
bmNlTmFtZXNwYWNlID09IG51bGwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNraXBfYWxsX3Rl
c3RzID0gdHJ1ZTsKKworICAgICAgICAgICAgLy8gc2hvdyBhIHNpbmdsZSBlcnJvciB0aGF0IHdp
bmRvdy5wZXJmb3JtYW5jZSBpcyB1bmRlZmluZWQKKyAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQgJiYgcGVy
Zm9ybWFuY2VOYW1lc3BhY2UgIT0gbnVsbCwgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
IGFuZCBub3QgbnVsbCIpOyB9LCAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgYW5kIG5v
dCBudWxsLiIsIHthdXRob3I6IlczQyBodHRwOi8vd3d3LnczLm9yZy8iLGhlbHA6Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIsYXNzZXJ0OiJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAifSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXNraXBfYWxsX3Rlc3RzKQorICAgIHsKKyAg
ICAgICAgdGVzdChmdW5jLCBtc2csIHByb3BlcnRpZXMpOworICAgIH0KK30KKworZnVuY3Rpb24g
dGVzdF9uYW1lc3BhY2UoY2hpbGRfbmFtZSwgc2tpcF9yb290KQoreworICAgIGlmIChza2lwX3Jv
b3QgPT09IHVuZGVmaW5lZCkgeworICAgICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkJzsKKyAgICAgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVl
KHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZyx7YXV0aG9y
OiJXM0MgaHR0cDovL3d3dy53My5vcmcvIixoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLGFzc2VydDoi
VGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIn0pOworICAgIH0KKworICAgIGlm
IChjaGlsZF9uYW1lICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgdmFyIG1zZzIgPSAnd2luZG93
LnBlcmZvcm1hbmNlLicgKyBjaGlsZF9uYW1lICsgJyBpcyBkZWZpbmVkJzsKKyAgICAgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRf
bmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnMik7IH0sIG1zZzIse2F1dGhvcjoiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyIsaGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIixhc3NlcnQ6IlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICJ9KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RfYXR0
cmlidXRlX2V4aXN0cyhwYXJlbnRfbmFtZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCit7
CisgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4n
ICsgYXR0cmlidXRlX25hbWUgKyAnIGlzIGRlZmluZWQuJzsKKyAgICB3cF90ZXN0KGZ1bmN0aW9u
KCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmli
dXRlX25hbWVdICE9PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RfZW51bShwYXJlbnRfbmFtZSwgZW51bV9uYW1lLCB2YWx1ZSwgcHJvcGVy
dGllcykKK3sKKyAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25h
bWUgKyAnLicgKyBlbnVtX25hbWUgKyAnIGlzIGRlZmluZWQuJzsKKyAgICB3cF90ZXN0KGZ1bmN0
aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51
bV9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworCisgICAg
bXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBlbnVtX25h
bWUgKyAnID0gJyArIHZhbHVlOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVh
bHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0sIHZhbHVlLCBt
c2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X3RpbWluZ19vcmRl
cihhdHRyaWJ1dGVfbmFtZSwgZ3JlYXRlcl90aGFuX2F0dHJpYnV0ZSwgcHJvcGVydGllcykKK3sK
KyAgICAvLyBlbnN1cmUgaXQncyBub3QgMCBmaXJzdAorICAgIHZhciBtc2cgPSAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy4iICsgYXR0cmlidXRlX25hbWUgKyAiID4gMCI7CisgICAgd3BfdGVz
dChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0
dHJpYnV0ZV9uYW1lXSA+IDAsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisKKyAgICAvLyBl
bnN1cmUgaXQncyBpbiB0aGUgcmlnaHQgb3JkZXIKKyAgICBtc2cgPSAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy4iICsgYXR0cmlidXRlX25hbWUgKyAiID49IHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuIiArIGdyZWF0ZXJfdGhhbl9hdHRyaWJ1dGU7CisgICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0dHJpYnV0ZV9uYW1l
XSA+PSBwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmdbZ3JlYXRlcl90aGFuX2F0dHJpYnV0ZV0s
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfdGltaW5nX2dy
ZWF0ZXJfdGhhbihhdHRyaWJ1dGVfbmFtZSwgZ3JlYXRlcl90aGFuLCBwcm9wZXJ0aWVzKQorewor
ICAgIHZhciBtc2cgPSAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4iICsgYXR0cmlidXRlX25h
bWUgKyAiID4gIiArIGdyZWF0ZXJfdGhhbjsKKyAgICB0ZXN0X2dyZWF0ZXJfdGhhbihwZXJmb3Jt
YW5jZU5hbWVzcGFjZS50aW1pbmdbYXR0cmlidXRlX25hbWVdLCBncmVhdGVyX3RoYW4sIG1zZywg
cHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfdGltaW5nX2VxdWFscyhhdHRyaWJ1dGVf
bmFtZSwgZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgdmFyIHRlc3RfbXNnID0gbXNn
IHx8ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiIgKyBhdHRyaWJ1dGVfbmFtZSArICIgPT0g
IiArIGVxdWFsczsKKyAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmdb
YXR0cmlidXRlX25hbWVdLCBlcXVhbHMsIHRlc3RfbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworLy8K
Ky8vIE5vbi10ZXN0IHJlbGF0ZWQgaGVscGVyIGZ1bmN0aW9ucworLy8NCisNCitmdW5jdGlvbiBz
bGVlcF9taWxsaXNlY29uZHMobikKK3sKKyAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRp
bWUoKTsKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBpZiAoKG5ldyBEYXRlKCkuZ2V0VGlt
ZSgpIC0gc3RhcnQpID49IG4pIGJyZWFrOworICAgIH0KK30KKworLy8KKy8vIENvbW1vbiBoZWxw
ZXIgZnVuY3Rpb25zCisvLw0KKw0KK2Z1bmN0aW9uIHRlc3RfdHJ1ZSh2YWx1ZSwgbXNnLCBwcm9w
ZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSwg
bXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30NCisNCitmdW5jdGlvbiB0ZXN0X2VxdWFscyh2
YWx1ZSwgZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbiAo
KSB7IGFzc2VydF9lcXVhbHModmFsdWUsIGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVz
KTsKK30KKw0KK2Z1bmN0aW9uIHRlc3RfZ3JlYXRlcl90aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4s
IG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3Ry
dWUodmFsdWUgPiBncmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2csIHByb3BlcnRp
ZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodmFsdWUgIT09IG5v
dGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKaW5kZXggMjAyNDYzYWVlM2ExZDJjZTkxZThjNzI0YjVhNjdiYmU5NmFjYTRkNC4uZjc5
YWMzZWFjNTQwZTEyZGU4OGIxOTE2ODYwNzQyZmZiZTY2YWJlMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1NraXBwZWQKQEAgLTI2MCw2ICsyNjAsNyBAQCBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9u
ZS1yZWRpcmVjdC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc2xvdy1sb2FkLnBocAog
aHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zc2wucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGlt
aW5nLXR3by1yZWRpcmVjdHMucGhwCitodHRwL3Rlc3RzL3czYy93ZWJwZXJmCiBmYXN0L3BlcmZv
cm1hbmNlLwogCiAjIFN0aWxsIHdvcmtpbmcgb3V0IGZsYWtpbmVzcyBpc3N1ZXMgd2l0aCB0aGUg
cGVyZiB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggZTg5MjIyMTAyZGIzNGY1
NWFiYWVlZTU5OTU4NjhmOGM5YTVkZjQ5NC4uMjBhN2E2NzRhZDg2ZDgxMDMyMjRjNzQxMmRmZmVm
NzIzYmI0MzgzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTEyNDYsNiArMTI0Niw3
IEBAIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAogaHR0cC90ZXN0
cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5n
LXNzbC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKK2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYKIGZhc3QvcGVyZm9ybWFuY2UKIAogIyBTdGlsbCB3b3JraW5n
IG91dCBmbGFraW5lc3MgaXNzdWVzIHdpdGggdGhlIHBlcmYgdGVzdHMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vU2tpcHBlZAppbmRleCBmMDU3ODMxMzljZWNjNTQ2NTNkNzJmMmIzZTMzMDJi
ZjMzODM0Y2JmLi5lOGIxZGVmNDQwM2ZiMTVjMTVmNTc3MmQ1ZDZmNDU2MTU5YzIwYzY3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE3NDcsNiArMTc0Nyw3IEBAIGh0
dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBocAogaHR0cC90ZXN0cy9taXNj
L3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNzbC5w
aHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKK2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYKIAogIyBTdGlsbCB3b3JraW5nIG91dCBmbGFraW5lc3MgaXNzdWVzIHdp
dGggdGhlIHBlcmYgdGVzdHMuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NDE5OQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTJkNDgyYTdkYzE2Y2FhY2JiNjQ5MGE4ZjdjYmNkNDY5OTA4OGVhMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MKQEAgLTAsMCArMSwyOCBA
QAoraHRtbCB7CisgICAgZm9udC1mYW1pbHk6RGVqYVZ1IFNhbnMsIEJpdHN0cmVhbSBWZXJhIFNh
bnMsIEFyaWFsLCBTYW5zOworfQorCit0YWJsZSNyZXN1bHRzIHsKKyAgICBib3JkZXItY29sbGFw
c2U6Y29sbGFwc2U7Cit9CisKK3RhYmxlI3Jlc3VsdHMgdGggeworICAgIHBhZGRpbmc6MDsKKyAg
ICBwYWRkaW5nLWJvdHRvbTowLjVlbTsKKyAgICBib3JkZXItYm90dG9tOm1lZGl1bSBzb2xpZCBi
bGFjazsKK30KKwordGFibGUjcmVzdWx0cyB0ZCB7CisgICAgcGFkZGluZzowOworICAgIHBhZGRp
bmctYm90dG9tOjAuNWVtOworICAgIGJvcmRlci1ib3R0b206dGhpbiBzb2xpZCBibGFjazsKK30K
KwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgtY2hpbGQoMSkgeworICAgIGZvbnQtdmFyaWFudDpz
bWFsbC1jYXBzOworfQorCit0YWJsZSNyZXN1bHRzIHRyPnRkOm50aC1jaGlsZCgzKSB7CisgICAg
Zm9udC1mYW1pbHk6RGVqYVZ1IFNhbnMgTW9ubywgQml0c3RyZWFtIFZlcmEgU2FucyBNb25vLCBN
b25vc3BhY2U7CisgICAgd2hpdGUtc3BhY2U6cHJlOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcwppbmRleCBh
MmJmMGFhNjRhMDU2ODAxY2Q3MmY0YWEwMWI5Mzc0NzI1MTJhZGIyLi44ZWQ3YzQwODQ5Y2JlNWIw
Y2NhMGQyMjMxYTQ5OGNkNDM4OTI4YjQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzCkBAIC0xMyw4ICsxMywxMCBAQAogICovDQogDQogLy8gU2V0dXAgZm9y
IFdlYktpdCBKYXZhU2NyaXB0IHRlc3RzDQotaWYgKHNlbGYudGVzdFJ1bm5lcikNCi0gICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7DQoraWYgKHNlbGYubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsN
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorfQ0KIA0KIC8vIEZ1bmN0aW9uIHVzZWQgdG8g
Y29udmVydCB0aGUgdGVzdCBzdGF0dXMgY29kZSBpbnRvDQogLy8gdGhlIGNvcnJlc3BvbmRpbmcg
c3RyaW5nDQpAQCAtNzEsNCArNzMsNyBAQCBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlv
biAodGVzdHMsIGhhcm5lc3Nfc3RhdHVzKXsKIA0KIAkvLyBBZGQgcmVzdWx0cyBlbGVtZW50IHRv
IGRvY3VtZW50DQogCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVzdWx0cyk7DQorDQorCWlm
IChzZWxmLmxheW91dFRlc3RDb250cm9sbGVyKQ0KKwkJbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOw0KIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151848</attachid>
            <date>2012-07-11 19:33:30 -0700</date>
            <delta_ts>2012-07-12 14:38:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84887-20120711193329.patch</filename>
            <type>text/plain</type>
            <size>311471</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzA5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmI0NDI1OWY3ODM3YzkwY2I2OWRlMWZjODg2NmM2MjU4
OTQ1Yzk4Yi4uM2EwMWJmYmJlNDk3ZThjYjdkMzRhN2QzYjk0ZTkzNzFmNzM1NDMxMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEyLTA3LTExICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbTmF2aWdhdGlvbiBUaW1pbmddIEltcG9ydCB0aGUgVzNDIE5hdmlnYXRpb24g
VGltaW5nIHRlc3Qgc3VpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0ODg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL2ltcG9ydC13M2MtcGVyZm9ybWFuY2Utd2ctdGVzdHM6IEFkZGVk
LgorCiAyMDEyLTA3LTExICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy1wZXJmb3JtYW5jZS13Zy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy1w
ZXJmb3JtYW5jZS13Zy10ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTViMjY5YWEwMjQ3NTljN2NhZDVlOTEz
YzFhZmFiMzJmZDA2MDU0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzCkBAIC0wLDAgKzEsNzkgQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3Ry
aWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMgVGhpcyBzY3JpcHQgaW1wb3J0cyB0aGUgVzND
IFdlYiBQZXJmb3JtYW5jZSBXRydzIHRlc3Qgc3VpdGUgaW50byBXZWJLaXQuCisjCisjIFlvdSBt
dXN0IGhhdmUgY2hlY2tlZCBvdXQgdGhlICd3ZWJwZXJmJyByZXBvc2l0b3J5IGZyb20gaHR0cHM6
Ly9kdmNzLnczLm9yZy9oZy8KKyMKKyMgVGhpcyBzY3JpcHQgd2lsbCBwb3B1bGF0ZSB0aGUgTGF5
b3V0VGVzdHMgZGlyZWN0b3J5IHdpdGggdGhlIG5ldyB0ZXN0cy4gSWYgdGhlCisjIHRlc3RzIGFs
cmVhZHkgZXhpc3QsIHRoZSBzY3JpcHQgd2lsbCByZWZ1c2UgdG8gcnVuLiBQbGVhc2UgY2xlYXIg
b3V0IHRoZQorIyB3M2Mvd2VicGVyZiBkaXJlY3RvcnkgZmlyc3QuCisjCisjIFRoZSBtYWluIHN0
ZXAgaW4gaW1wb3J0aW5nIHRoZSB0ZXN0cyBpcyB1cGRhdGluZyBhbGwgb2YgdGhlIFVSTHMgdG8g
bWF0Y2ggb3VyCisjIGRpcmVjdG9yeSBsYXlvdXQuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
CitpZiBsZW4oc3lzLmFyZ3YpICE9IDM6CisgICAgcHJpbnQgJ1VTQUdFOiAlcyBwYXRoX3RvX3dl
YnBlcmZfY2hlY2tvdXRfcm9vdCBwYXRoX3RvX3dlYmtpdF9jaGVja291dF9yb290JworICAgIHN5
cy5leGl0KDEpCisKK3NvdXJjZV9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3ZbMV0s
ICd0ZXN0cycpCitkZXN0aW5hdGlvbl9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3Zb
Ml0sICdMYXlvdXRUZXN0cycsICdodHRwJywgJ3Rlc3RzJywgJ3czYycsICd3ZWJwZXJmJykKKwor
aWYgb3MucGF0aC5leGlzdHMoZGVzdGluYXRpb25fZGlyZWN0b3J5KToKKyAgICBwcmludCAnUmVm
dXNpbmcgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGRpcmVjdG9yeTogJXMnICUgZGVzdGluYXRpb25f
ZGlyZWN0b3J5CisgICAgc3lzLmV4aXQoMSkKK29zLm1ha2VkaXJzKGRlc3RpbmF0aW9uX2RpcmVj
dG9yeSkKKworZGlyZWN0b3JpZXNfdG9fY29weSA9IFsnYXBwcm92ZWQnLCAncmVzb3VyY2VzJ10K
K3JlcGxhY2VtZW50cyA9IFsKKyAgICAgICAgKCd3d3cudzNjLXRlc3Qub3JnJywgJ2xvY2FsaG9z
dDo4MDAwJyksICAgIyBUaGlzIGlzIHRoZSBhbHRlcm5hdGUgaG9zdCBmb3IgY3Jvc3Mtc2VydmVy
IHJlcXVlc3RzLgorICAgICAgICAoJ3czYy10ZXN0Lm9yZycsICcxMjcuMC4wLjE6ODAwMCcpLCAg
ICAgICAjIFRoaXMgaXMgdGhlIHByaW1hcnkgdGVzdCBzZXJ2ZXIuCisgICAgICAgICgnd2VicGVy
Zi90ZXN0cycsICd3M2Mvd2VicGVyZicpLCAgICAgICAgICMgV2UgcHJlcGVuZCAvdzNjIHRvIGFs
bCBvZiBvdXIgcGF0aHMuCisgICAgICAgICgnL3Jlc291cmNlcy90ZXN0aGFybmVzcycsICcvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcycpLAorICAgICAgICAoJysgIigiICsgcmVsb2FkVGltZVt0
aW1lXSArICIpIicsICcnKSwgICAjIFJlbW92ZSBkeW5hbWljIHZhbHVlcyBmcm9tIHRoZSBvdXRw
dXQuIFdlJ2xsIHN0aWxsIHNlZSBQQVNTLgorICAgICAgICAoJysgIigiICsgc3RhcnRpbmdUaW1l
W3RpbWVdICsgIikiJywgJycpLAorXQorCitmb3IgZGlyZWN0b3J5X3RvX2NvcHkgaW4gZGlyZWN0
b3JpZXNfdG9fY29weToKKyAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRpb25f
ZGlyZWN0b3J5LCBkaXJlY3RvcnlfdG9fY29weSkpCisgICAgb3MuY2hkaXIoc291cmNlX2RpcmVj
dG9yeSkKKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkaXJlY3RvcnlfdG9f
Y29weSk6CisgICAgICAgIGZvciBkaXJuYW1lIGluIGRpcnM6CisgICAgICAgICAgICBvcy5tYWtl
ZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRpb25fZGlyZWN0b3J5LCByb290LCBkaXJuYW1lKSkK
KyAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVzOgorICAgICAgICAgICAgd2l0aCBvcGVuKG9z
LnBhdGguam9pbihzb3VyY2VfZGlyZWN0b3J5LCByb290LCBmaWxlbmFtZSksICdyJykgYXMgaW5f
ZmlsZToKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRlc3RpbmF0aW9u
X2RpcmVjdG9yeSwgcm9vdCwgZmlsZW5hbWUpLCAndycpIGFzIG91dF9maWxlOgorICAgICAgICAg
ICAgICAgICAgICBmb3IgbGluZSBpbiBpbl9maWxlOgorICAgICAgICAgICAgICAgICAgICAgICAg
Zm9yIHRvX2ZpbmQsIHJlcGxhY2Vfd2l0aCBpbiByZXBsYWNlbWVudHM6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh0b19maW5kLCByZXBsYWNlX3dpdGgp
CisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgJ3czYy10ZXN0Lm9yZycgbm90IGluIGxp
bmUsICdJbXBvcnRlZCB0ZXN0IG11c3Qgbm90IGRlcGVuZCBvbiBsaXZlIHNpdGUuIEJhZCBsaW5l
OiAiJXMiJyAlIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dF9maWxlLndyaXRlKGxp
bmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNzQ5YWNmNDk4NmY0MjZhNGRjMDEzMzZlYTllNGQyYmE4OTllNWRlMi4uNzNl
YTQ3NjRhNDdhNzNiNjZkZWVhNWVkMTA1NzM2NzlkNDIwZTQ0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEw
NCBAQAorMjAxMi0wNy0xMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW05hdmlnYXRpb24gVGltaW5nXSBJbXBvcnQgdGhlIFczQyBOYXZpZ2F0aW9u
IFRpbWluZyB0ZXN0IHN1aXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NDg4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qczogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMuCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1l
bnRfb3Blbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4u
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291
bnRfbm9uZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2Zv
cndhcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVf
YmFja2ZvcndhcmQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Vu
dW1zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Vu
dW1zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmpl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1
dGVzX2V4aXN0X2luX29iamVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3JpdGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3JpdGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X3RpbWluZ19yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdf
cmVsb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVz
X2V4aXN0X2luX29iamVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
dGltaW5nX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9y
ZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVy
X3JlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRp
cmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9y
ZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29i
amVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1h
bmNlX29iamVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVubG9h
ZC5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L2JsYW5rX3BhZ2VfbWV0YV9yZWRpcmVjdC5odG06IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxs
b3cuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNl
cy9ibGFua19wYWdlX3llbGxvd193aXRoX29udW5sb2FkLmh0bTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFnZXZpc3Rlc3RoYXJuZXNzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3dlYnBlcmZ0ZXN0aGFybmVzcy5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Nr
aXBwZWQ6IFNraXAgbmV3IHdlYnBlcmYgdGVzdHMuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Nr
aXBwZWQ6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6IERpdHRv
LgorICAgICAgICAqIHJlc291cmNlcy90ZXN0aGFybmVzcy5jc3M6IEFkZGVkLgorICAgICAgICAq
IHJlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qczogU3VwcG9ydCBhc3luYyB0ZXN0cy4KKwog
MjAxMi0wNy0xMSAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZywgYWRkaW5nIGFuIGltYWdlIGV4cGVjdGF0aW9u
IGZvciB0aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL1JFQURNRSBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTc2YjA5MGNm
YWQ4NmZiZDM0MjRhMDcyZDg2NDU5YWU2NTc4YzNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2MvUkVBRE1FCkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgZGlyZWN0
b3J5IGNvbnRhaW5zIGZpbGVzIGltcG9ydGVkIGZyb20gdGhlIFczQy4KKworV2l0aCBvbmx5IG9u
ZSBleGNlcHRpb24gKGJlbG93KSwgdGhlc2UgZmlsZXMgc2hvdWxkIG5vdCBiZSBtb2RpZmllZCBk
aXJlY3RseS4gSW5zdGVhZCwgcGxlYXNlCitzb3VyY2UgdGhlIGZpbGVzIGZyb20gdGhlIGZvbGxv
d2luZyBsb2NhdGlvbnM6CisKK3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyAtIGFuZC4uLgorcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyAtIEZldGNoIGZyb20gaHR0cDovL3czYy10ZXN0Lm9yZy9y
ZXNvdXJjZXMvCisKK3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyAtIE1vZGlmeSBkaXJl
Y3RseS4gSXQncyB0aGUgdmVuZG9yIHNwZWNpZmljIHBvcnRpb24uCisKK3dlYnBlcmYvIC0gVXNl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy1wZXJmb3JtYW5jZS13Zy10ZXN0cwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTJkNDgyYTdkYzE2Y2FhY2JiNjQ5MGE4ZjdjYmNkNDY5OTA4OGVhMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MKQEAgLTAsMCArMSwyOCBAQAoraHRtbCB7CisgICAgZm9udC1mYW1pbHk6RGVqYVZ1
IFNhbnMsIEJpdHN0cmVhbSBWZXJhIFNhbnMsIEFyaWFsLCBTYW5zOworfQorCit0YWJsZSNyZXN1
bHRzIHsKKyAgICBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Cit9CisKK3RhYmxlI3Jlc3VsdHMg
dGggeworICAgIHBhZGRpbmc6MDsKKyAgICBwYWRkaW5nLWJvdHRvbTowLjVlbTsKKyAgICBib3Jk
ZXItYm90dG9tOm1lZGl1bSBzb2xpZCBibGFjazsKK30KKwordGFibGUjcmVzdWx0cyB0ZCB7Cisg
ICAgcGFkZGluZzowOworICAgIHBhZGRpbmctYm90dG9tOjAuNWVtOworICAgIGJvcmRlci1ib3R0
b206dGhpbiBzb2xpZCBibGFjazsKK30KKwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgtY2hpbGQo
MSkgeworICAgIGZvbnQtdmFyaWFudDpzbWFsbC1jYXBzOworfQorCit0YWJsZSNyZXN1bHRzIHRy
PnRkOm50aC1jaGlsZCgzKSB7CisgICAgZm9udC1mYW1pbHk6RGVqYVZ1IFNhbnMgTW9ubywgQml0
c3RyZWFtIFZlcmEgU2FucyBNb25vLCBNb25vc3BhY2U7CisgICAgd2hpdGUtc3BhY2U6cHJlOwor
fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Zjc4YTVkMGE3
ZDlhNzhhYTI3MjZhMTg2ZTc5YWRhNzQwMjhhMGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCkBAIC0wLDAgKzEs
MTc2MSBAQAorLyoNCitEaXN0cmlidXRlZCB1bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBM
aWNlbnNlIFsxXSBhbmQgdGhlIFczQw0KKzMtY2xhdXNlIEJTRCBMaWNlbnNlIFsyXS4gVG8gY29u
dHJpYnV0ZSB0byBhIFczQyBUZXN0IFN1aXRlLCBzZWUgdGhlDQorcG9saWNpZXMgYW5kIGNvbnRy
aWJ1dGlvbiBmb3JtcyBbM10uDQorDQorWzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0v
TGVnYWwvMjAwOC8wNC10ZXN0c3VpdGUtbGljZW5zZQ0KK1syXSBodHRwOi8vd3d3LnczLm9yZy9D
b25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UNCitbM10gaHR0cDovL3d3dy53My5v
cmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMNCisqLw0KKw0KKy8qDQorICogPT0gSW50cm9kdWN0aW9u
ID09DQorICoNCisgKiBUaGlzIGZpbGUgcHJvdmlkZXMgYSBmcmFtZXdvcmsgZm9yIHdyaXRpbmcg
dGVzdGNhc2VzLiBJdCBpcyBpbnRlbmRlZCB0bw0KKyAqIHByb3ZpZGUgYSBjb252ZW5pZW50IEFQ
SSBmb3IgbWFraW5nIGNvbW1vbiBhc3NlcnRpb25zLCBhbmQgdG8gd29yayBib3RoDQorICogZm9y
IHRlc3Rpbmcgc3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyBET00gZmVhdHVyZXMgaW4gYSB3
YXkgdGhhdA0KKyAqIHByb21vdGVzIGNsZWFyLCByb2J1c3QsIHRlc3RzLg0KKyAqDQorICogPT0g
QmFzaWMgVXNhZ2UgPT0NCisgKg0KKyAqIFRvIHVzZSB0aGlzIGZpbGUsIGltcG9ydCB0aGUgc2Ny
aXB0IGFuZCB0aGUgdGVzdGhhcm5lc3NyZXBvcnQgc2NyaXB0IGludG8NCisgKiB0aGUgdGVzdCBk
b2N1bWVudDoNCisgKiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorICogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAqDQorICogV2l0aGluIGVhY2ggZmlsZSBvbmUgbWF5IGRlZmluZSBvbmUg
b3IgbW9yZSB0ZXN0cy4gRWFjaCB0ZXN0IGlzIGF0b21pYw0KKyAqIGluIHRoZSBzZW5zZSB0aGF0
IGEgc2luZ2xlIHRlc3QgaGFzIGEgc2luZ2xlIHJlc3VsdCAocGFzcy9mYWlsL3RpbWVvdXQpLg0K
KyAqIFdpdGhpbiBlYWNoIHRlc3Qgb25lIG1heSBoYXZlIGEgbnVtYmVyIG9mIGFzc2VydHMuIFRo
ZSB0ZXN0IGZhaWxzIGF0IHRoZQ0KKyAqIGZpcnN0IGZhaWxpbmcgYXNzZXJ0LCBhbmQgdGhlIHJl
bWFpbmRlciBvZiB0aGUgdGVzdCBpcyAodHlwaWNhbGx5KSBub3QgcnVuLg0KKyAqDQorICogSWYg
dGhlIGZpbGUgY29udGFpbmluZyB0aGUgdGVzdHMgaXMgYSBIVE1MIGZpbGUgd2l0aCBhbiBlbGVt
ZW50IG9mIGlkICJsb2ciDQorICogdGhpcyB3aWxsIGJlIHBvcHVsYXRlZCB3aXRoIGEgdGFibGUg
Y29udGFpbmluZyB0aGUgdGVzdCByZXN1bHRzIGFmdGVyIGFsbA0KKyAqIHRoZSB0ZXN0cyBoYXZl
IHJ1bi4NCisgKg0KKyAqIE5PVEU6IEJ5IGRlZmF1bHQgdGVzdHMgbXVzdCBiZSBjcmVhdGVkIGJl
Zm9yZSB0aGUgbG9hZCBldmVudCBmaXJlcy4gRm9yIHdheXMNCisgKiAgICAgICB0byBjcmVhdGUg
dGVzdHMgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQsIHNlZSAiRGV0ZXJtaW5pbmcgd2hlbiBhbGwgdGVz
dHMgYXJlDQorICogICAgICAgY29tcGxldGUiLCBiZWxvdw0KKyAqDQorICogPT0gU3luY2hyb25v
dXMgVGVzdHMgPT0NCisgKg0KKyAqIFRvIGNyZWF0ZSBhIHN5bmNocm9ub3VzIHRlc3QgdXNlIHRo
ZSB0ZXN0KCkgZnVuY3Rpb246DQorICoNCisgKiB0ZXN0KHRlc3RfZnVuY3Rpb24sIG5hbWUsIHBy
b3BlcnRpZXMpDQorICoNCisgKiB0ZXN0X2Z1bmN0aW9uIGlzIGEgZnVuY3Rpb24gdGhhdCBjb250
YWlucyB0aGUgY29kZSB0byB0ZXN0LiBGb3IgZXhhbXBsZSBhDQorICogdHJpdmlhbCBwYXNzaW5n
IHRlc3Qgd291bGQgYmU6DQorICoNCisgKiB0ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRy
dWUpfSwgImFzc2VydF90cnVlIHdpdGggdHJ1ZSIpDQorICoNCisgKiBUaGUgZnVuY3Rpb24gcGFz
c2VkIGluIGlzIHJ1biBpbiB0aGUgdGVzdCgpIGNhbGwuDQorICoNCisgKiBwcm9wZXJ0aWVzIGlz
IGFuIG9iamVjdCB0aGF0IG92ZXJyaWRlcyBkZWZhdWx0IHRlc3QgcHJvcGVydGllcy4gVGhlIHJl
Y29nbmlzZWQgcHJvcGVydGllcw0KKyAqIGFyZToNCisgKiAgICB0aW1lb3V0IC0gdGhlIHRlc3Qg
dGltZW91dCBpbiBtcw0KKyAqDQorICogZS5nLg0KKyAqIHRlc3QodGVzdF9mdW5jdGlvbiwgIlNh
bXBsZSB0ZXN0Iiwge3RpbWVvdXQ6MTAwMH0pDQorICoNCisgKiB3b3VsZCBydW4gdGVzdF9mdW5j
dGlvbiB3aXRoIGEgdGltZW91dCBvZiAxcy4NCisgKg0KKyAqID09IEFzeW5jaHJvbm91cyBUZXN0
cyA9PQ0KKyAqDQorICogVGVzdGluZyBhc3luY2hyb25vdXMgZmVhdHVyZXMgaXMgc29tZXdoYXQg
bW9yZSBjb21wbGV4IHNpbmNlIHRoZSByZXN1bHQgb2YNCisgKiBhIHRlc3QgbWF5IGRlcGVuZCBv
biBvbmUgb3IgbW9yZSBldmVudHMgb3Igb3RoZXIgY2FsbGJhY2tzLiBUaGUgQVBJIHByb3ZpZGVk
DQorICogZm9yIHRlc3RpbmcgdGhlc2UgZmVhdHVyZXMgaXMgaW5kZW5kZWQgdG8gYmUgcmF0aGVy
IGxvdy1sZXZlbCBidXQgaG9wZWZ1bGx5DQorICogYXBwbGljYWJsZSB0byBtYW55IHNpdHVhdGlv
bnMuDQorICoNCisgKiBUbyBjcmVhdGUgYSB0ZXN0LCBvbmUgc3RhcnRzIGJ5IGdldHRpbmcgYSBU
ZXN0IG9iamVjdCB1c2luZyBhc3luY190ZXN0Og0KKyAqDQorICogYXN5bmNfdGVzdChuYW1lLCBw
cm9wZXJ0aWVzKQ0KKyAqDQorICogZS5nLg0KKyAqIHZhciB0ID0gYXN5bmNfdGVzdCgiU2ltcGxl
IGFzeW5jIHRlc3QiKQ0KKyAqDQorICogQXNzZXJ0aW9ucyBjYW4gYmUgYWRkZWQgdG8gdGhlIHRl
c3QgYnkgY2FsbGluZyB0aGUgc3RlcCBtZXRob2Qgb2YgdGhlIHRlc3QNCisgKiBvYmplY3Qgd2l0
aCBhIGZ1bmN0aW9uIGNvbnRhaW5pbmcgdGhlIHRlc3QgYXNzZXJ0aW9uczoNCisgKg0KKyAqIHQu
c3RlcChmdW5jdGlvbigpIHthc3NlcnRfdHJ1ZSh0cnVlKX0pOw0KKyAqDQorICogV2hlbiBhbGwg
dGhlIHN0ZXBzIGFyZSBjb21wbGV0ZSwgdGhlIGRvbmUoKSBtZXRob2QgbXVzdCBiZSBjYWxsZWQ6
DQorICoNCisgKiB0LmRvbmUoKTsNCisgKg0KKyAqIFRoZSBwcm9wZXJ0aWVzIGFyZ3VtZW50IGlz
IGlkZW50aWNhbCB0byB0aGF0IGZvciB0ZXN0KCkuDQorICoNCisgKiBJbiBtYW55IGNhc2VzIGl0
IGlzIGNvbnZlbmllbnQgdG8gcnVuIGEgc3RlcCBpbiByZXNwb25zZSB0byBhbiBldmVudCBvciBh
DQorICogY2FsbGJhY2suIEEgY29udmVuaWVudCBtZXRob2Qgb2YgZG9pbmcgdGhpcyBpcyB0aHJv
dWdoIHRoZSBzdGVwX2Z1bmMgbWV0aG9kDQorICogd2hpY2ggcmV0dXJucyBhIGZ1bmN0aW9uIHRo
YXQsIHdoZW4gY2FsbGVkIHJ1bnMgYSB0ZXN0IHN0ZXAuIEZvciBleGFtcGxlDQorICoNCisgKiBv
YmplY3Quc29tZV9ldmVudCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHthc3NlcnRfdHJ1ZShl
LmEpfSk7DQorICoNCisgKiA9PSBNYWtpbmcgYXNzZXJ0aW9ucyA9PQ0KKyAqDQorICogRnVuY3Rp
b25zIGZvciBtYWtpbmcgYXNzZXJ0aW9ucyBzdGFydCBhc3NlcnRfDQorICogVGhlIGJlc3Qgd2F5
IHRvIGdldCBhIGxpc3QgaXMgdG8gbG9vayBpbiB0aGlzIGZpbGUgZm9yIGZ1bmN0aW9ucyBuYW1l
cw0KKyAqIG1hdGNoaW5nIHRoYXQgcGF0dGVybi4gVGhlIGdlbmVyYWwgc2lnbmF0dXJlIGlzDQor
ICoNCisgKiBhc3NlcnRfc29tZXRoaW5nKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQ0K
KyAqDQorICogYWx0aG91Z2ggbm90IGFsbCBhc3NlcnRpb25zIHByZWNpc2VseSBtYXRjaCB0aGlz
IHBhdHRlcm4gZS5nLiBhc3NlcnRfdHJ1ZQ0KKyAqIG9ubHkgdGFrZXMgYWN0dWFsIGFuZCBkZXNj
cmlwdGlvbiBhcyBhcmd1bWVudHMuDQorICoNCisgKiBUaGUgZGVzY3JpcHRpb24gcGFyYW1ldGVy
IGlzIHVzZWQgdG8gcHJlc2VudCBtb3JlIHVzZWZ1bCBlcnJvciBtZXNzYWdlcyB3aGVuDQorICog
YSB0ZXN0IGZhaWxzDQorICoNCisgKiBOT1RFOiBBbGwgYXNzZXJ0cyBtdXN0IGJlIGxvY2F0ZWQg
aW4gYSB0ZXN0KCkgb3IgYSBzdGVwIG9mIGFuIGFzeW5jX3Rlc3QoKS4NCisgKiAgICAgICBhc3Nl
cnRzIG91dHNpZGUgdGhlc2UgcGxhY2VzIHdvbid0IGJlIGRldGVjdGVkIGNvcnJlY3RseSBieSB0
aGUgaGFybmVzcw0KKyAqICAgICAgIGFuZCBtYXkgY2F1c2UgYSBmaWxlIHRvIHN0b3AgdGVzdGlu
Zy4NCisgKg0KKyAqID09IFNldHVwID09DQorICoNCisgKiBTb21ldGltZXMgdGVzdHMgcmVxdWly
ZSBub24tdHJpdmlhbCBzZXR1cCB0aGF0IG1heSBmYWlsLiBGb3IgdGhpcyBwdXJwb3NlDQorICog
dGhlcmUgaXMgYSBzZXR1cCgpIGZ1bmN0aW9uLCB0aGF0IG1heSBiZSBjYWxsZWQgd2l0aCBvbmUg
b3IgdHdvIGFyZ3VtZW50cy4NCisgKiBUaGUgdHdvIGFyZ3VtZW50IHZlcnNpb24gaXM6DQorICoN
CisgKiBzZXR1cChmdW5jLCBwcm9wZXJ0aWVzKQ0KKyAqDQorICogVGhlIG9uZSBhcmd1bWVudCB2
ZXJzaW9ucyBtYXkgb21pdCBlaXRoZXIgYXJndW1lbnQuDQorICogZnVuYyBpcyBhIGZ1bmN0aW9u
IHRvIGJlIHJ1biBzeW5jaHJvbm91c2x5LiBzZXR1cCgpIGJlY29tZXMgYSBuby1vcCBvbmNlDQor
ICogYW55IHRlc3RzIGhhdmUgcmV0dXJuZWQgcmVzdWx0cy4gUHJvcGVydGllcyBhcmUgZ2xvYmFs
IHByb3BlcnRpZXMgb2YgdGhlIHRlc3QNCisgKiBoYXJuZXNzLiBDdXJyZW50bHkgcmVjb2duaXNl
ZCBwcm9wZXJ0aWVzIGFyZToNCisgKg0KKyAqIHRpbWVvdXQgLSBUaGUgdGltZSBpbiBtcyBhZnRl
ciB3aGljaCB0aGUgaGFybmVzcyBzaG91bGQgc3RvcCB3YWl0aW5nIGZvcg0KKyAqICAgICAgICAg
ICB0ZXN0cyB0byBjb21wbGV0ZSAodGhpcyBpcyBkaWZmZXJlbnQgdG8gdGhlIHBlci10ZXN0IHRp
bWVvdXQNCisgKiAgICAgICAgICAgYmVjYXVzZSBhc3luYyB0ZXN0cyBkbyBub3Qgc3RhcnQgdGhl
aXIgdGltZXIgdW50aWwgLnN0ZXAgaXMgY2FsbGVkKQ0KKyAqDQorICogZXhwbGljaXRfZG9uZSAt
IFdhaXQgZm9yIGFuIGV4cGxpY2l0IGNhbGwgdG8gZG9uZSgpIGJlZm9yZSBkZWNsYXJpbmcgYWxs
IHRlc3RzDQorICogICAgICAgICAgICAgICAgIGNvbXBsZXRlIChzZWUgYmVsb3cpDQorICoNCisg
KiBvdXRwdXRfZG9jdW1lbnQgLSBUaGUgZG9jdW1lbnQgdG8gd2hpY2ggcmVzdWx0cyBzaG91bGQg
YmUgbG9nZ2VkLiBCeSBkZWZhdWx0IHRoaXMgaXMNCisgKiAgICAgICAgICAgICAgICAgICB0aGUg
Y3VycmVudCBkb2N1bWVudCBidXQgY291bGQgYmUgYW4gYW5jZXN0b3IgZG9jdW1lbnQgaW4gc29t
ZSBjYXNlcw0KKyAqICAgICAgICAgICAgICAgICAgIGUuZy4gYSBTVkcgdGVzdCBsb2FkZWQgaW4g
YW4gSFRNTCB3cmFwcGVyDQorICoNCisgKiA9PSBEZXRlcm1pbmluZyB3aGVuIGFsbCB0ZXN0cyBh
cmUgY29tcGxldGUgPT0NCisgKg0KKyAqIEJ5IGRlZmF1bHQgdGhlIHRlc3QgaGFybmVzcyB3aWxs
IGFzc3VtZSB0aGVyZSBhcmUgbm8gbW9yZSByZXN1bHRzIHRvIGNvbWUNCisgKiB3aGVuOg0KKyAq
IDEpIFRoZXJlIGFyZSBubyBUZXN0IG9iamVjdHMgdGhhdCBoYXZlIGJlZW4gY3JlYXRlZCBidXQg
bm90IGNvbXBsZXRlZA0KKyAqIDIpIFRoZSBsb2FkIGV2ZW50IG9uIHRoZSBkb2N1bWVudCBoYXMg
ZmlyZWQNCisgKg0KKyAqIFRoaXMgYmVoYXZpb3VyIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNldHRp
bmcgdGhlIGV4cGxpY2l0X2RvbmUgcHJvcGVydHkgdG8gdHJ1ZQ0KKyAqIGluIGEgY2FsbCB0byBz
ZXR1cCgpLiBJZiBleHBsaWNpdF9kb25lIGlzIHRydWUsIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBu
b3QgYXNzdW1lDQorICogaXQgaXMgZG9uZSB1bnRpbCB0aGUgZ2xvYmFsIGRvbmUoKSBmdW5jdGlv
biBpcyBjYWxsZWQuIE9uY2UgZG9uZSgpIGlzIGNhbGxlZCwgdGhlDQorICogdHdvIGNvbmRpdGlv
bnMgYWJvdmUgYXBwbHkgbGlrZSBub3JtYWwuDQorICoNCisgKiA9PSBHZW5lcmF0aW5nIHRlc3Rz
ID09DQorICoNCisgKiBOT1RFOiB0aGlzIGZ1bmN0aW9uYWxpdHkgbWF5IGJlIHJlbW92ZWQNCisg
Kg0KKyAqIFRoZXJlIGFyZSBzY2VuYXJpb3MgaW4gd2hpY2ggaXMgaXMgZGVzaXJhYmxlIHRvIGNy
ZWF0ZSBhIGxhcmdlIG51bWJlciBvZg0KKyAqIChzeW5jaHJvbm91cykgdGVzdHMgdGhhdCBhcmUg
aW50ZXJuYWxseSBzaW1pbGFyIGJ1dCB2YXJ5IGluIHRoZSBwYXJhbWV0ZXJzDQorICogdXNlZC4g
VG8gbWFrZSB0aGlzIGVhc2llciwgdGhlIGdlbmVyYXRlX3Rlc3RzIGZ1bmN0aW9uIGFsbG93cyBh
IHNpbmdsZQ0KKyAqIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aXRoIGVhY2ggc2V0IG9mIHBhcmFt
ZXRlcnMgaW4gYSBsaXN0Og0KKyAqDQorICogZ2VuZXJhdGVfdGVzdHModGVzdF9mdW5jdGlvbiwg
cGFyYW1ldGVyX2xpc3RzKQ0KKyAqDQorICogRm9yIGV4YW1wbGU6DQorICoNCisgKiBnZW5lcmF0
ZV90ZXN0cyhhc3NlcnRfZXF1YWxzLCBbDQorICogICAgIFsiU3VtIG9uZSBhbmQgb25lIiwgMSsx
LCAyXSwNCisgKiAgICAgWyJTdW0gb25lIGFuZCB6ZXJvIiwgMSswLCAxXQ0KKyAqICAgICBdKQ0K
KyAqDQorICogSXMgZXF1aXZhbGVudCB0bzoNCisgKg0KKyAqIHRlc3QoZnVuY3Rpb24oKSB7YXNz
ZXJ0X2VxdWFscygxKzEsIDIpfSwgIlN1bSBvbmUgYW5kIG9uZSIpDQorICogdGVzdChmdW5jdGlv
bigpIHthc3NlcnRfZXF1YWxzKDErMCwgMSl9LCAiU3VtIG9uZSBhbmQgemVybyIpDQorICoNCisg
KiBOb3RlIHRoYXQgdGhlIGZpcnN0IGl0ZW0gaW4gZWFjaCBwYXJhbWV0ZXIgbGlzdCBjb3JyZXNw
b25kcyB0byB0aGUgbmFtZSBvZg0KKyAqIHRoZSB0ZXN0Lg0KKyAqDQorICogPT0gQ2FsbGJhY2sg
QVBJID09DQorICoNCisgKiBUaGUgZnJhbWV3b3JrIHByb3ZpZGVzIGNhbGxiYWNrcyBjb3JyZXNw
b25kaW5nIHRvIDMgZXZlbnRzOg0KKyAqDQorICogc3RhcnQgLSBoYXBwZW5zIHdoZW4gdGhlIGZp
cnN0IFRlc3QgaXMgY3JlYXRlZA0KKyAqIHJlc3VsdCAtIGhhcHBlbnMgd2hlbiBhIHRlc3QgcmVz
dWx0IGlzIHJlY2lldmVkDQorICogY29tcGxldGUgLSBoYXBwZW5zIHdoZW4gYWxsIHJlc3VsdHMg
YXJlIHJlY2lldmVkDQorICoNCisgKiBUaGUgcGFnZSBkZWZpbmluZyB0aGUgdGVzdHMgbWF5IGFk
ZCBjYWxsYmFja3MgZm9yIHRoZXNlIGV2ZW50cyBieSBjYWxsaW5nDQorICogdGhlIGZvbGxvd2lu
ZyBtZXRob2RzOg0KKyAqDQorICogICBhZGRfc3RhcnRfY2FsbGJhY2soY2FsbGJhY2spIC0gY2Fs
bGJhY2sgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzDQorICogICBhZGRfcmVzdWx0X2NhbGxiYWNr
KGNhbGxiYWNrKSAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGEgdGVzdCBhcmd1bWVudA0KKyAqICAg
YWRkX2NvbXBsZXRpb25fY2FsbGJhY2soY2FsbGJhY2spIC0gY2FsbGJhY2sgY2FsbGVkIHdpdGgg
YW4gYXJyYXkgb2YgdGVzdHMNCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFuZCBhbiBzdGF0dXMgb2JqZWN0DQorICoNCisgKiB0ZXN0cyBoYXZlIHRoZSBmb2xsb3dp
bmcgcHJvcGVydGllczoNCisgKiAgIHN0YXR1czogQSBzdGF0dXMgY29kZS4gVGhpcyBjYW4gYmUg
Y29tcGFyZWQgdG8gdGhlIFBBU1MsIEZBSUwsIFRJTUVPVVQgYW5kDQorICogICAgICAgICAgIE5P
VFJVTiBwcm9wZXJ0aWVzIG9uIHRoZSB0ZXN0IG9iamVjdA0KKyAqICAgbWVzc2FnZTogQSBtZXNz
YWdlIGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgZmFpbHVyZS4gSW4gdGhlIGZ1dHVyZSB0aGlz
DQorICogICAgICAgICAgICB3aWxsIGFsd2F5cyBiZSBhIHN0cmluZw0KKyAqDQorICogIFRoZSBz
dGF0dXMgb2JqZWN0IGdpdmVzIHRoZSBvdmVyYWxsIHN0YXR1cyBvZiB0aGUgaGFybmVzcy4gSXQg
aGFzIHRoZQ0KKyAqICBmb2xsb3dpbmcgcHJvcGVydGllczoNCisgKiAgICBzdGF0dXM6IENhbiBi
ZSBjb21wYXJlZCB0byB0aGUgT0ssIEVSUk9SIGFuZCBUSU1FT1VUIHByb3BlcnRpZXMNCisgKiAg
ICBtZXNzYWdlOiBBbiBlcnJvciBtZXNzYWdlIHNldCB3aGVuIHRoZSBzdGF0dXMgaXMgRVJST1IN
CisgKg0KKyAqID09IEV4dGVybmFsIEFQSSA9PQ0KKyAqDQorICogSW4gb3JkZXIgdG8gY29sbGVj
dCB0aGUgcmVzdWx0cyBvZiBtdWx0aXBsZSBwYWdlcyBjb250YWluaW5nIHRlc3RzLCB0aGUgdGVz
dA0KKyAqIGhhcm5lc3Mgd2lsbCwgd2hlbiBsb2FkZWQgaW4gYSBuZXN0ZWQgYnJvd3NpbmcgY29u
dGV4dCwgYXR0ZW1wdCB0byBjYWxsDQorICogY2VydGFpbiBmdW5jdGlvbnMgaW4gZWFjaCBhbmNl
c3RvciBicm93c2luZyBjb250ZXh0Og0KKyAqDQorICogc3RhcnQgLSBzdGFydF9jYWxsYmFjaw0K
KyAqIHJlc3VsdCAtIHJlc3VsdF9jYWxsYmFjaw0KKyAqIGNvbXBsZXRlIC0gY29tcGxldGlvbl9j
YWxsYmFjaw0KKyAqDQorICogVGhlc2UgYXJlIGdpdmVuIHRoZSBzYW1lIGFyZ3VtZW50cyBhcyB0
aGUgY29ycmVzcG9uZGluZyBpbnRlcm5hbCBjYWxsYmFja3MNCisgKiBkZXNjcmliZWQgYWJvdmUu
DQorICoNCisgKiA9PSBMaXN0IG9mIGFzc2VydGlvbnMgPT0NCisgKg0KKyAqIGFzc2VydF90cnVl
KGFjdHVhbCwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2FjdHVhbC8gaXMgc3Ry
aWN0bHkgdHJ1ZQ0KKyAqDQorICogYXNzZXJ0X2ZhbHNlKGFjdHVhbCwgZGVzY3JpcHRpb24pDQor
ICogICBhc3NlcnRzIHRoYXQgL2FjdHVhbC8gaXMgc3RyaWN0bHkgZmFsc2UNCisgKg0KKyAqIGFz
c2VydF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRz
IHRoYXQgL2FjdHVhbC8gaXMgdGhlIHNhbWUgdmFsdWUgYXMgL2V4cGVjdGVkLw0KKyAqDQorICog
YXNzZXJ0X25vdF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICogICBh
c3NlcnRzIHRoYXQgL2FjdHVhbC8gaXMgYSBkaWZmZXJlbnQgdmFsdWUgdG8gL2V4cGVjdGVkLy4g
WWVzLCB0aGlzIG1lYW5zDQorICogICB0aGF0ICJleHBlY3RlZCIgaXMgYSBtaXNub21lcg0KKyAq
DQorICogYXNzZXJ0X2luX2FycmF5KGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQ0KKyAq
ICAgYXNzZXJ0cyB0aGF0IC9leHBlY3RlZC8gaXMgYW4gQXJyYXksIGFuZCAvYWN0dWFsLyBpcyBl
cXVhbCB0byBvbmUgb2YgdGhlDQorICogICBtZW1iZXJzIC0tIGV4cGVjdGVkLmluZGV4T2YoYWN0
dWFsKSAhPSAtMQ0KKyAqDQorICogYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVk
LCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgdGhhdCAvYWN0dWFsLyBhbmQgL2V4cGVjdGVk
LyBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhbmQgdGhlIHZhbHVlIG9mDQorICogICBlYWNoIGluZGV4
ZWQgcHJvcGVydHkgaW4gL2FjdHVhbC8gaXMgdGhlIHN0cmljdGx5IGVxdWFsIHRvIHRoZSBjb3Jy
ZXNwb25kaW5nDQorICogICBwcm9wZXJ0eSB2YWx1ZSBpbiAvZXhwZWN0ZWQvDQorICoNCisgKiBh
c3NlcnRfYXBwcm94X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBlcHNpbG9uLCBkZXNjcmlwdGlv
bikNCisgKiAgIGFzc2VydHMgdGhhdCAvYWN0dWFsLyBpcyBhIG51bWJlciB3aXRoaW4gKy8tIC9l
cHNpbG9uLyBvZiAvZXhwZWN0ZWQvDQorICoNCisgKiBhc3NlcnRfcmVnZXhwX21hdGNoKGFjdHVh
bCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIG1h
dGNoZXMgdGhlIHJlZ2V4cCAvZXhwZWN0ZWQvDQorICoNCisgKiBhc3NlcnRfb3duX3Byb3BlcnR5
KG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnQgdGhhdCBv
YmplY3QgaGFzIG93biBwcm9wZXJ0eSBwcm9wZXJ0eV9uYW1lDQorICoNCisgKiBhc3NlcnRfaW5o
ZXJpdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydCB0
aGF0IG9iamVjdCBkb2VzIG5vdCBoYXZlIGFuIG93biBwcm9wZXJ0eSBuYW1lZCBwcm9wZXJ0eV9u
YW1lDQorICogICBidXQgdGhhdCBwcm9wZXJ0eV9uYW1lIGlzIHByZXNlbnQgaW4gdGhlIHByb3Rv
dHlwZSBjaGFpbiBmb3Igb2JqZWN0DQorICoNCisgKiBhc3NlcnRfaWRsX2F0dHJpYnV0ZShvYmpl
Y3QsIGF0dHJpYnV0ZV9uYW1lLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydCB0aGF0IGFuIG9i
amVjdCB0aGF0IGlzIGFuIGluc3RhbmNlIG9mIHNvbWUgaW50ZXJmYWNlIGhhcyB0aGUNCisgKiAg
IGF0dHJpYnV0ZSBhdHRyaWJ1dGVfbmFtZSBmb2xsb3dpbmcgdGhlIGNvbmRpdGlvbnMgc3BlY2lm
aWVkIGJ5IFdlYklETA0KKyAqDQorICogYXNzZXJ0X3JlYWRvbmx5KG9iamVjdCwgcHJvcGVydHlf
bmFtZSwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnQgdGhhdCBwcm9wZXJ0eSBwcm9wZXJ0eV9u
YW1lIG9uIG9iamVjdCBpcyByZWFkb25seQ0KKyAqDQorICogYXNzZXJ0X3Rocm93cyhjb2RlLCBm
dW5jLCBkZXNjcmlwdGlvbikNCisgKiAgIGNvZGUgLSBhIERPTUV4Y2VwdGlvbi9SYW5nZUV4Y2Vw
dGlvbiBjb2RlIGFzIGEgc3RyaW5nLCBlLmcuICJISUVSQVJDSFlfUkVRVUVTVF9FUlIiDQorICog
ICBmdW5jIC0gYSBmdW5jdGlvbiB0aGF0IHNob3VsZCB0aHJvdw0KKyAqDQorICogICBhc3NlcnQg
dGhhdCBmdW5jIHRocm93cyBhIERPTUV4Y2VwdGlvbiBvciBSYW5nZUV4Y2VwdGlvbiAoYXMgYXBw
cm9wcmlhdGUpDQorICogICB3aXRoIHRoZSBnaXZlbiBjb2RlLiAgSWYgYW4gb2JqZWN0IGlzIHBh
c3NlZCBmb3IgY29kZSBpbnN0ZWFkIG9mIGEgc3RyaW5nLA0KKyAqICAgY2hlY2tzIHRoYXQgdGhl
IHRocm93biBleGNlcHRpb24gaGFzIGEgcHJvcGVydHkgY2FsbGVkICJuYW1lIiB0aGF0IG1hdGNo
ZXMNCisgKiAgIHRoZSBwcm9wZXJ0eSBvZiBjb2RlIGNhbGxlZCAibmFtZSIuICBOb3RlLCB0aGlz
IGZ1bmN0aW9uIHdpbGwgcHJvYmFibHkgYmUNCisgKiAgIHJld3JpdHRlbiBzb21ldGltZSB0byBt
YWtlIG1vcmUgc2Vuc2UuDQorICoNCisgKiBhc3NlcnRfdW5yZWFjaGVkKGRlc2NyaXB0aW9uKQ0K
KyAqICAgYXNzZXJ0cyBpZiBjYWxsZWQuIFVzZWQgdG8gZW5zdXJlIHRoYXQgc29tZSBjb2RlcGF0
aCBpcyAqbm90KiB0YWtlbiBlLmcuDQorICogICBhbiBldmVudCBkb2VzIG5vdCBmaXJlLg0KKyAq
DQorICogYXNzZXJ0X2V4aXN0cyhvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0K
KyAqICAgKioqIGRlcHJlY2F0ZWQgKioqDQorICogICBhc3NlcnRzIHRoYXQgb2JqZWN0IGhhcyBh
biBvd24gcHJvcGVydHkgcHJvcGVydHlfbmFtZQ0KKyAqDQorICogYXNzZXJ0X25vdF9leGlzdHMo
b2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbikNCisgKiAgICoqKiBkZXByZWNhdGVk
ICoqKg0KKyAqICAgYXNzZXJ0IHRoYXQgb2JqZWN0IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
IHByb3BlcnR5X25hbWUNCisgKi8NCisNCisoZnVuY3Rpb24gKCkNCit7DQorICAgIHZhciBkZWJ1
ZyA9IGZhbHNlOw0KKyAgICAvLyBkZWZhdWx0IHRpbWVvdXQgaXMgNSBzZWNvbmRzLCB0ZXN0IGNh
biBvdmVycmlkZSBpZiBuZWVkZWQNCisgICAgdmFyIHNldHRpbmdzID0gew0KKyAgICAgIG91dHB1
dDp0cnVlLA0KKyAgICAgIHRpbWVvdXQ6NTAwMCwNCisgICAgICB0ZXN0X3RpbWVvdXQ6MjAwMA0K
KyAgICB9Ow0KKw0KKyAgICB2YXIgeGh0bWxfbnMgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCI7DQorDQorICAgIC8vIHNjcmlwdF9wcmVmaXggaXMgdXNlZCBieSBPdXRwdXQucHJvdG90
eXBlLnNob3dfcmVzdWx0cygpIHRvIGZpZ3VyZSBvdXQNCisgICAgLy8gd2hlcmUgdG8gZ2V0IHRl
c3RoYXJuZXNzLmNzcyBmcm9tLiAgSXQncyBlbmNsb3NlZCBpbiBhbiBleHRyYSBjbG9zdXJlIHRv
DQorICAgIC8vIG5vdCBwb2xsdXRlIHRoZSBsaWJyYXJ5J3MgbmFtZXNwYWNlIHdpdGggdmFyaWFi
bGVzIGxpa2UgInNyYyIuDQorICAgIHZhciBzY3JpcHRfcHJlZml4ID0gbnVsbDsNCisgICAgKGZ1
bmN0aW9uICgpDQorICAgIHsNCisgICAgICAgIHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInNjcmlwdCIpOw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBz
Y3JpcHRzLmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChzY3JpcHRz
W2ldLnNyYykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBzcmMgPSBzY3Jp
cHRzW2ldLnNyYzsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgZWxzZSBpZiAoc2NyaXB0
c1tpXS5ocmVmKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy9TVkcgY2FzZQ0K
KyAgICAgICAgICAgICAgICB2YXIgc3JjID0gc2NyaXB0c1tpXS5ocmVmLmJhc2VWYWw7DQorICAg
ICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmIChzcmMgJiYgc3JjLnNsaWNlKHNyYy5sZW5ndGgg
LSAidGVzdGhhcm5lc3MuanMiLmxlbmd0aCkgPT09ICJ0ZXN0aGFybmVzcy5qcyIpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICBzY3JpcHRfcHJlZml4ID0gc3JjLnNsaWNlKDAsIHNy
Yy5sZW5ndGggLSAidGVzdGhhcm5lc3MuanMiLmxlbmd0aCk7DQorICAgICAgICAgICAgICAgIGJy
ZWFrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfSkoKTsNCisNCisgICAgLyoN
CisgICAgICogQVBJIGZ1bmN0aW9ucw0KKyAgICAgKi8NCisNCisgICAgdmFyIG5hbWVfY291bnRl
ciA9IDA7DQorICAgIGZ1bmN0aW9uIG5leHRfZGVmYXVsdF9uYW1lKCkNCisgICAgew0KKyAgICAg
ICAgLy9Eb24ndCB1c2UgZG9jdW1lbnQudGl0bGUgdG8gd29yayBhcm91bmQgYW4gT3BlcmEgYnVn
IGluIFhIVE1MIGRvY3VtZW50cw0KKyAgICAgICAgdmFyIHByZWZpeCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpLmxlbmd0aCA+IDAgPw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXS5maXJzdENo
aWxkLmRhdGEgOg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAiVW50aXRsZWQiOw0KKyAgICAg
ICAgdmFyIHN1ZmZpeCA9IG5hbWVfY291bnRlciA+IDAgPyAiICIgKyBuYW1lX2NvdW50ZXIgOiAi
IjsNCisgICAgICAgIG5hbWVfY291bnRlcisrOw0KKyAgICAgICAgcmV0dXJuIHByZWZpeCArIHN1
ZmZpeDsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiB0ZXN0KGZ1bmMsIG5hbWUsIHByb3BlcnRp
ZXMpDQorICAgIHsNCisgICAgICAgIHZhciB0ZXN0X25hbWUgPSBuYW1lID8gbmFtZSA6IG5leHRf
ZGVmYXVsdF9uYW1lKCk7DQorICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3Bl
cnRpZXMgOiB7fTsNCisgICAgICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwg
cHJvcGVydGllcyk7DQorICAgICAgICB0ZXN0X29iai5zdGVwKGZ1bmMpOw0KKyAgICAgICAgaWYg
KHRlc3Rfb2JqLnN0YXR1cyA9PT0gdGVzdF9vYmouTk9UUlVOKSB7DQorICAgICAgICAgICAgdGVz
dF9vYmouZG9uZSgpOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGFzeW5j
X3Rlc3QobmFtZSwgcHJvcGVydGllcykNCisgICAgew0KKyAgICAgICAgdmFyIHRlc3RfbmFtZSA9
IG5hbWUgPyBuYW1lIDogbmV4dF9kZWZhdWx0X25hbWUoKTsNCisgICAgICAgIHByb3BlcnRpZXMg
PSBwcm9wZXJ0aWVzID8gcHJvcGVydGllcyA6IHt9Ow0KKyAgICAgICAgdmFyIHRlc3Rfb2JqID0g
bmV3IFRlc3QodGVzdF9uYW1lLCBwcm9wZXJ0aWVzKTsNCisgICAgICAgIHJldHVybiB0ZXN0X29i
ajsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBzZXR1cChmdW5jX29yX3Byb3BlcnRpZXMsIG1h
eWJlX3Byb3BlcnRpZXMpDQorICAgIHsNCisgICAgICAgIHZhciBmdW5jID0gbnVsbDsNCisgICAg
ICAgIHZhciBwcm9wZXJ0aWVzID0ge307DQorICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9
PT0gMikgew0KKyAgICAgICAgICAgIGZ1bmMgPSBmdW5jX29yX3Byb3BlcnRpZXM7DQorICAgICAg
ICAgICAgcHJvcGVydGllcyA9IG1heWJlX3Byb3BlcnRpZXM7DQorICAgICAgICB9IGVsc2UgaWYg
KGZ1bmNfb3JfcHJvcGVydGllcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKXsNCisgICAgICAgICAgICBm
dW5jID0gZnVuY19vcl9wcm9wZXJ0aWVzOw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAg
ICBwcm9wZXJ0aWVzID0gZnVuY19vcl9wcm9wZXJ0aWVzOw0KKyAgICAgICAgfQ0KKyAgICAgICAg
dGVzdHMuc2V0dXAoZnVuYywgcHJvcGVydGllcyk7DQorICAgICAgICBvdXRwdXQuc2V0dXAocHJv
cGVydGllcyk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZG9uZSgpIHsNCisgICAgICAgIHRl
c3RzLmVuZF93YWl0KCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZ2VuZXJhdGVfdGVzdHMo
ZnVuYywgYXJncykgew0KKyAgICAgICAgZm9yRWFjaChhcmdzLCBmdW5jdGlvbih4KQ0KKyAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IHhbMF07DQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuYy5hcHBseSh0aGlzLCB4LnNs
aWNlKDEpKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgfSwgbmFtZSk7DQorICAgICAgICAg
ICAgICAgIH0pOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIG9uX2V2ZW50KG9iamVjdCwgZXZl
bnQsIGNhbGxiYWNrKQ0KKyAgICB7DQorICAgICAgb2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoZXZl
bnQsIGNhbGxiYWNrLCBmYWxzZSk7DQorICAgIH0NCisNCisgICAgZXhwb3NlKHRlc3QsICd0ZXN0
Jyk7DQorICAgIGV4cG9zZShhc3luY190ZXN0LCAnYXN5bmNfdGVzdCcpOw0KKyAgICBleHBvc2Uo
Z2VuZXJhdGVfdGVzdHMsICdnZW5lcmF0ZV90ZXN0cycpOw0KKyAgICBleHBvc2Uoc2V0dXAsICdz
ZXR1cCcpOw0KKyAgICBleHBvc2UoZG9uZSwgJ2RvbmUnKTsNCisgICAgZXhwb3NlKG9uX2V2ZW50
LCAnb25fZXZlbnQnKTsNCisNCisgICAgLyoNCisgICAgICogUmV0dXJuIGEgc3RyaW5nIHRydW5j
YXRlZCB0byB0aGUgZ2l2ZW4gbGVuZ3RoLCB3aXRoIC4uLiBhZGRlZCBhdCB0aGUgZW5kDQorICAg
ICAqIGlmIGl0IHdhcyBsb25nZXIuDQorICAgICAqLw0KKyAgICBmdW5jdGlvbiB0cnVuY2F0ZShz
LCBsZW4pDQorICAgIHsNCisgICAgICAgIGlmIChzLmxlbmd0aCA+IGxlbikgew0KKyAgICAgICAg
ICAgIHJldHVybiBzLnN1YnN0cmluZygwLCBsZW4gLSAzKSArICIuLi4iOw0KKyAgICAgICAgfQ0K
KyAgICAgICAgcmV0dXJuIHM7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZm9ybWF0X3N0cmlu
ZyhzdHIpIHsNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkrKykgew0KKyAgICAg
ICAgICAgIHZhciByZXBsYWNlID0gIlxcIjsNCisgICAgICAgICAgICBzd2l0Y2ggKGkpIHsNCisg
ICAgICAgICAgICBjYXNlIDA6IHJlcGxhY2UgKz0gIjAiOyBicmVhazsNCisgICAgICAgICAgICBj
YXNlIDE6IHJlcGxhY2UgKz0gIngwMSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMjogcmVw
bGFjZSArPSAieDAyIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAzOiByZXBsYWNlICs9ICJ4
MDMiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDQ6IHJlcGxhY2UgKz0gIngwNCI7IGJyZWFr
Ow0KKyAgICAgICAgICAgIGNhc2UgNTogcmVwbGFjZSArPSAieDA1IjsgYnJlYWs7DQorICAgICAg
ICAgICAgY2FzZSA2OiByZXBsYWNlICs9ICJ4MDYiOyBicmVhazsNCisgICAgICAgICAgICBjYXNl
IDc6IHJlcGxhY2UgKz0gIngwNyI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgODogcmVwbGFj
ZSArPSAiYiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgOTogcmVwbGFjZSArPSAidCI7IGJy
ZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMTA6IHJlcGxhY2UgKz0gIm4iOyBicmVhazsNCisgICAg
ICAgICAgICBjYXNlIDExOiByZXBsYWNlICs9ICJ2IjsgYnJlYWs7DQorICAgICAgICAgICAgY2Fz
ZSAxMjogcmVwbGFjZSArPSAiZiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgMTM6IHJlcGxh
Y2UgKz0gInIiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDE0OiByZXBsYWNlICs9ICJ4MGUi
OyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDE1OiByZXBsYWNlICs9ICJ4MGYiOyBicmVhazsN
CisgICAgICAgICAgICBjYXNlIDE2OiByZXBsYWNlICs9ICJ4MTAiOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDE3OiByZXBsYWNlICs9ICJ4MTEiOyBicmVhazsNCisgICAgICAgICAgICBjYXNl
IDE4OiByZXBsYWNlICs9ICJ4MTIiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDE5OiByZXBs
YWNlICs9ICJ4MTMiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDIwOiByZXBsYWNlICs9ICJ4
MTQiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDIxOiByZXBsYWNlICs9ICJ4MTUiOyBicmVh
azsNCisgICAgICAgICAgICBjYXNlIDIyOiByZXBsYWNlICs9ICJ4MTYiOyBicmVhazsNCisgICAg
ICAgICAgICBjYXNlIDIzOiByZXBsYWNlICs9ICJ4MTciOyBicmVhazsNCisgICAgICAgICAgICBj
YXNlIDI0OiByZXBsYWNlICs9ICJ4MTgiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDI1OiBy
ZXBsYWNlICs9ICJ4MTkiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDI2OiByZXBsYWNlICs9
ICJ4MWEiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDI3OiByZXBsYWNlICs9ICJ4MWIiOyBi
cmVhazsNCisgICAgICAgICAgICBjYXNlIDI4OiByZXBsYWNlICs9ICJ4MWMiOyBicmVhazsNCisg
ICAgICAgICAgICBjYXNlIDI5OiByZXBsYWNlICs9ICJ4MWQiOyBicmVhazsNCisgICAgICAgICAg
ICBjYXNlIDMwOiByZXBsYWNlICs9ICJ4MWUiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDMx
OiByZXBsYWNlICs9ICJ4MWYiOyBicmVhazsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAg
c3RyID0gc3RyLnJlcGxhY2UoUmVnRXhwKFN0cmluZy5mcm9tQ2hhckNvZGUoaSksICJnIiksIHJl
cGxhY2UpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8iL2csICdc
XCInKQ0KKyAgICB9DQorDQorICAgIC8qDQorICAgICAqIENvbnZlcnQgYSB2YWx1ZSB0byBhIG5p
Y2UsIGh1bWFuLXJlYWRhYmxlIHN0cmluZw0KKyAgICAgKi8NCisgICAgZnVuY3Rpb24gZm9ybWF0
X3ZhbHVlKHZhbCkNCisgICAgew0KKyAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkNCisg
ICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4gIlsiICsgdmFsLm1hcChmb3JtYXRfdmFsdWUp
LmpvaW4oIiwgIikgKyAiXSI7DQorICAgICAgICB9DQorDQorICAgICAgICBzd2l0Y2ggKHR5cGVv
ZiB2YWwpDQorICAgICAgICB7DQorICAgICAgICBjYXNlICJzdHJpbmciOg0KKyAgICAgICAgICAg
IHJldHVybiAnIicgKyBmb3JtYXRfc3RyaW5nKHZhbCkgKyAnIic7DQorICAgICAgICBjYXNlICJi
b29sZWFuIjoNCisgICAgICAgIGNhc2UgInVuZGVmaW5lZCI6DQorICAgICAgICAgICAgcmV0dXJu
IFN0cmluZyh2YWwpOw0KKyAgICAgICAgY2FzZSAibnVtYmVyIjoNCisgICAgICAgICAgICAvLyBJ
biBKYXZhU2NyaXB0LCAtMCA9PT0gMCBhbmQgU3RyaW5nKC0wKSA9PSAiMCIsIHNvIHdlIGhhdmUg
dG8NCisgICAgICAgICAgICAvLyBzcGVjaWFsLWNhc2UuDQorICAgICAgICAgICAgaWYgKHZhbCA9
PT0gLTAgJiYgMS92YWwgPT09IC1JbmZpbml0eSkNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIHJldHVybiAiLTAiOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICByZXR1cm4g
U3RyaW5nKHZhbCk7DQorICAgICAgICBjYXNlICJvYmplY3QiOg0KKyAgICAgICAgICAgIGlmICh2
YWwgPT09IG51bGwpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gIm51
bGwiOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAvLyBTcGVjaWFsLWNhc2UgTm9k
ZSBvYmplY3RzLCBzaW5jZSB0aG9zZSBjb21lIHVwIGEgbG90IGluIG15IHRlc3RzLiAgSQ0KKyAg
ICAgICAgICAgIC8vIGlnbm9yZSBuYW1lc3BhY2VzLiAgSSB1c2UgZHVjay10eXBpbmcgaW5zdGVh
ZCBvZiBpbnN0YW5jZW9mLCBiZWNhdXNlDQorICAgICAgICAgICAgLy8gaW5zdGFuY2VvZiBkb2Vz
bid0IHdvcmsgaWYgdGhlIG5vZGUgaXMgZnJvbSBhbm90aGVyIHdpbmRvdyAobGlrZSBhbg0KKyAg
ICAgICAgICAgIC8vIGlmcmFtZSdzIGNvbnRlbnRXaW5kb3cpOg0KKyAgICAgICAgICAgIC8vIGh0
dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0xMjI5NQ0KKyAgICAg
ICAgICAgIGlmICgibm9kZVR5cGUiIGluIHZhbA0KKyAgICAgICAgICAgICYmICJub2RlTmFtZSIg
aW4gdmFsDQorICAgICAgICAgICAgJiYgIm5vZGVWYWx1ZSIgaW4gdmFsDQorICAgICAgICAgICAg
JiYgImNoaWxkTm9kZXMiIGluIHZhbCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IHN3aXRjaCAodmFsLm5vZGVUeXBlKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgIGNhc2UgTm9kZS5FTEVNRU5UX05PREU6DQorICAgICAgICAgICAgICAgICAgICB2YXIgcmV0
ID0gIjwiICsgdmFsLnRhZ05hbWUudG9Mb3dlckNhc2UoKTsNCisgICAgICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdmFsLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspDQorICAgICAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0ICs9ICIgIiArIHZh
bC5hdHRyaWJ1dGVzW2ldLm5hbWUgKyAnPSInICsgdmFsLmF0dHJpYnV0ZXNbaV0udmFsdWUgKyAn
Iic7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICByZXQgKz0g
Ij4iICsgdmFsLmlubmVySFRNTCArICI8LyIgKyB2YWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICsg
Ij4iOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJFbGVtZW50IG5vZGUgIiArIHRydW5j
YXRlKHJldCwgNjApOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuVEVYVF9OT0RFOg0KKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuICdUZXh0IG5vZGUgIicgKyB0cnVuY2F0ZSh2YWwuZGF0
YSwgNjApICsgJyInOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuUFJPQ0VTU0lOR19JTlNU
UlVDVElPTl9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24gbm9kZSB3aXRoIHRhcmdldCAiICsgZm9ybWF0X3ZhbHVlKHRydW5jYXRlKHZhbC50
YXJnZXQsIDYwKSkgKyAiIGFuZCBkYXRhICIgKyBmb3JtYXRfdmFsdWUodHJ1bmNhdGUodmFsLmRh
dGEsIDYwKSk7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5DT01NRU5UX05PREU6DQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gIkNvbW1lbnQgbm9kZSA8IS0tIiArIHRydW5jYXRlKHZh
bC5kYXRhLCA2MCkgKyAiLS0+IjsNCisgICAgICAgICAgICAgICAgY2FzZSBOb2RlLkRPQ1VNRU5U
X05PREU6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkRvY3VtZW50IG5vZGUgd2l0aCAi
ICsgdmFsLmNoaWxkTm9kZXMubGVuZ3RoICsgKHZhbC5jaGlsZE5vZGVzLmxlbmd0aCA9PSAxID8g
IiBjaGlsZCIgOiAiIGNoaWxkcmVuIik7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5ET0NV
TUVOVF9UWVBFX05PREU6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkRvY3VtZW50VHlw
ZSBub2RlIjsNCisgICAgICAgICAgICAgICAgY2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05P
REU6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkRvY3VtZW50RnJhZ21lbnQgbm9kZSB3
aXRoICIgKyB2YWwuY2hpbGROb2Rlcy5sZW5ndGggKyAodmFsLmNoaWxkTm9kZXMubGVuZ3RoID09
IDEgPyAiIGNoaWxkIiA6ICIgY2hpbGRyZW4iKTsNCisgICAgICAgICAgICAgICAgZGVmYXVsdDoN
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiTm9kZSBvYmplY3Qgb2YgdW5rbm93biB0eXBl
IjsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAv
LyBGYWxsIHRocm91Z2ggdG8gZGVmYXVsdA0KKyAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAg
ICByZXR1cm4gdHlwZW9mIHZhbCArICcgIicgKyB0cnVuY2F0ZShTdHJpbmcodmFsKSwgNjApICsg
JyInOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIGV4cG9zZShmb3JtYXRfdmFsdWUsICJmb3Jt
YXRfdmFsdWUiKTsNCisNCisgICAgLyoNCisgICAgICogQXNzZXJ0aW9ucw0KKyAgICAgKi8NCisN
CisgICAgZnVuY3Rpb24gYXNzZXJ0X3RydWUoYWN0dWFsLCBkZXNjcmlwdGlvbikNCisgICAgew0K
KyAgICAgICAgYXNzZXJ0KGFjdHVhbCA9PT0gdHJ1ZSwgImFzc2VydF90cnVlIiwgZGVzY3JpcHRp
b24sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgdHJ1ZSBnb3Qg
JHthY3R1YWx9Iiwge2FjdHVhbDphY3R1YWx9KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2Vy
dF90cnVlLCAiYXNzZXJ0X3RydWUiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X2ZhbHNlKGFj
dHVhbCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydChhY3R1YWwgPT09IGZh
bHNlLCAiYXNzZXJ0X2ZhbHNlIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImV4cGVjdGVkIGZhbHNlIGdvdCAke2FjdHVhbH0iLCB7YWN0dWFsOmFjdHVh
bH0pOw0KKyAgICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X2ZhbHNlLCAiYXNzZXJ0X2ZhbHNlIik7
DQorDQorICAgIGZ1bmN0aW9uIHNhbWVfdmFsdWUoeCwgeSkgew0KKyAgICAgICAgaWYgKHkgIT09
IHkpDQorICAgICAgICB7DQorICAgICAgICAgICAgLy9OYU4gY2FzZQ0KKyAgICAgICAgICAgIHJl
dHVybiB4ICE9PSB4Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoeCA9PT0gMCAmJiB5
ID09PSAwKSB7DQorICAgICAgICAgICAgLy9EaXN0aW5ndWlzaCArMCBhbmQgLTANCisgICAgICAg
ICAgICByZXR1cm4gMS94ID09PSAxL3k7DQorICAgICAgICB9DQorICAgICAgICBlbHNlDQorICAg
ICAgICB7DQorICAgICAgICAgICAgLy90eXBpY2FsIGNhc2UNCisgICAgICAgICAgICByZXR1cm4g
eCA9PT0geTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfZXF1
YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICAgLyoN
CisgICAgICAgICAgKiBUZXN0IGlmIHR3byBwcmltaXRpdmVzIGFyZSBlcXVhbCBvciB0d28gb2Jq
ZWN0cw0KKyAgICAgICAgICAqIGFyZSB0aGUgc2FtZSBvYmplY3QNCisgICAgICAgICAgKi8NCisg
ICAgICAgIGFzc2VydChzYW1lX3ZhbHVlKGFjdHVhbCwgZXhwZWN0ZWQpLCAiYXNzZXJ0X2VxdWFs
cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJleHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2V4cGVjdGVkOmV4cGVjdGVk
LCBhY3R1YWw6YWN0dWFsfSk7DQorICAgIH07DQorICAgIGV4cG9zZShhc3NlcnRfZXF1YWxzLCAi
YXNzZXJ0X2VxdWFscyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfbm90X2VxdWFscyhhY3R1
YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgICAgew0KKyAgICAgICAgIC8qDQorICAgICAg
ICAgICogVGVzdCBpZiB0d28gcHJpbWl0aXZlcyBhcmUgdW5lcXVhbCBvciB0d28gb2JqZWN0cw0K
KyAgICAgICAgICAqIGFyZSBkaWZmZXJlbnQgb2JqZWN0cw0KKyAgICAgICAgICAqLw0KKyAgICAg
ICAgYXNzZXJ0KCFzYW1lX3ZhbHVlKGFjdHVhbCwgZXhwZWN0ZWQpLCAiYXNzZXJ0X25vdF9lcXVh
bHMiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImdvdCBkaXNhbGxvd2VkIHZhbHVlICR7YWN0dWFsfSIsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthY3R1YWw6YWN0dWFsfSk7DQorICAg
IH07DQorICAgIGV4cG9zZShhc3NlcnRfbm90X2VxdWFscywgImFzc2VydF9ub3RfZXF1YWxzIik7
DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9pbl9hcnJheShhY3R1YWwsIGV4cGVjdGVkLCBkZXNj
cmlwdGlvbikNCisgICAgew0KKyAgICAgICAgYXNzZXJ0KGV4cGVjdGVkLmluZGV4T2YoYWN0dWFs
KSAhPSAtMSwgImFzc2VydF9pbl9hcnJheSIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlICR7YWN0dWFsfSBub3QgaW4g
YXJyYXkgJHtleHBlY3RlZH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAge2FjdHVhbDphY3R1YWwsIGV4cGVjdGVkOmV4cGVjdGVkfSk7DQorICAgIH0N
CisgICAgZXhwb3NlKGFzc2VydF9pbl9hcnJheSwgImFzc2VydF9pbl9hcnJheSIpOw0KKw0KKyAg
ICBmdW5jdGlvbiBhc3NlcnRfb2JqZWN0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlw
dGlvbikNCisgICAgew0KKyAgICAgICAgIC8vVGhpcyBuZWVkcyB0byBiZSBpbXByb3ZlZCBhIGdy
ZWF0IGRlYWwNCisgICAgICAgICBmdW5jdGlvbiBjaGVja19lcXVhbChleHBlY3RlZCwgYWN0dWFs
LCBzdGFjaykNCisgICAgICAgICB7DQorICAgICAgICAgICAgIHN0YWNrLnB1c2goYWN0dWFsKTsN
CisNCisgICAgICAgICAgICAgdmFyIHA7DQorICAgICAgICAgICAgIGZvciAocCBpbiBhY3R1YWwp
DQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIGFzc2VydChleHBlY3RlZC5oYXNP
d25Qcm9wZXJ0eShwKSwgImFzc2VydF9vYmplY3RfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmV4cGVj
dGVkIHByb3BlcnR5ICR7cH0iLCB7cDpwfSk7DQorDQorICAgICAgICAgICAgICAgICBpZiAodHlw
ZW9mIGFjdHVhbFtwXSA9PT0gIm9iamVjdCIgJiYgYWN0dWFsW3BdICE9PSBudWxsKQ0KKyAgICAg
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFjay5pbmRleE9mKGFj
dHVhbFtwXSkgPT09IC0xKQ0KKyAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY2hlY2tfZXF1YWwoYWN0dWFsW3BdLCBleHBlY3RlZFtwXSwgc3RhY2spOw0K
KyAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICBh
c3NlcnQoYWN0dWFsW3BdID09PSBleHBlY3RlZFtwXSwgImFzc2VydF9vYmplY3RfZXF1YWxzIiwg
ZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJwcm9wZXJ0eSAke3B9IGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGdvdCAke2Fj
dHVhbH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7cDpwLCBleHBlY3RlZDpleHBlY3RlZCwgYWN0dWFsOmFjdHVhbH0pOw0KKyAgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIGZvciAocCBpbiBl
eHBlY3RlZCkNCisgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgYXNzZXJ0KGFjdHVh
bC5oYXNPd25Qcm9wZXJ0eShwKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X29i
amVjdF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAiZXhw
ZWN0ZWQgcHJvcGVydHkgJHtwfSBtaXNzaW5nIiwge3A6cH0pOw0KKyAgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgIHN0YWNrLnBvcCgpOw0KKyAgICAgICAgIH0NCisgICAgICAgICBjaGVja19l
cXVhbChhY3R1YWwsIGV4cGVjdGVkLCBbXSk7DQorICAgIH07DQorICAgIGV4cG9zZShhc3NlcnRf
b2JqZWN0X2VxdWFscywgImFzc2VydF9vYmplY3RfZXF1YWxzIik7DQorDQorICAgIGZ1bmN0aW9u
IGFzc2VydF9hcnJheV9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAg
IHsNCisgICAgICAgIGFzc2VydChhY3R1YWwubGVuZ3RoID09PSBleHBlY3RlZC5sZW5ndGgsDQor
ICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAg
ICAgICAgICAgICAibGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGdvdCAke2Fj
dHVhbH0iLA0KKyAgICAgICAgICAgICAgIHtleHBlY3RlZDpleHBlY3RlZC5sZW5ndGgsIGFjdHVh
bDphY3R1YWwubGVuZ3RofSk7DQorDQorICAgICAgICBmb3IgKHZhciBpPTA7IGkgPCBhY3R1YWwu
bGVuZ3RoOyBpKyspDQorICAgICAgICB7DQorICAgICAgICAgICAgYXNzZXJ0KGFjdHVhbC5oYXNP
d25Qcm9wZXJ0eShpKSA9PT0gZXhwZWN0ZWQuaGFzT3duUHJvcGVydHkoaSksDQorICAgICAgICAg
ICAgICAgICAgICJhc3NlcnRfYXJyYXlfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAg
ICAgICAgICAgICJwcm9wZXJ0eSAke2l9LCBwcm9wZXJ0eSBleHBlY3RlZCB0byBiZSAkZXhwZWN0
ZWQgYnV0IHdhcyAkYWN0dWFsIiwNCisgICAgICAgICAgICAgICAgICAge2k6aSwgZXhwZWN0ZWQ6
ZXhwZWN0ZWQuaGFzT3duUHJvcGVydHkoaSkgPyAicHJlc2VudCIgOiAibWlzc2luZyIsDQorICAg
ICAgICAgICAgICAgICAgIGFjdHVhbDphY3R1YWwuaGFzT3duUHJvcGVydHkoaSkgPyAicHJlc2Vu
dCIgOiAibWlzc2luZyJ9KTsNCisgICAgICAgICAgICBhc3NlcnQoZXhwZWN0ZWRbaV0gPT09IGFj
dHVhbFtpXSwNCisgICAgICAgICAgICAgICAgICAgImFzc2VydF9hcnJheV9lcXVhbHMiLCBkZXNj
cmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgInByb3BlcnR5ICR7aX0sIGV4cGVjdGVkICR7
ZXhwZWN0ZWR9IGJ1dCBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICAgICAge2k6aSwg
ZXhwZWN0ZWQ6ZXhwZWN0ZWRbaV0sIGFjdHVhbDphY3R1YWxbaV19KTsNCisgICAgICAgIH0NCisg
ICAgfQ0KKyAgICBleHBvc2UoYXNzZXJ0X2FycmF5X2VxdWFscywgImFzc2VydF9hcnJheV9lcXVh
bHMiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBl
Y3RlZCwgZXBzaWxvbiwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIC8qDQorICAgICAg
ICAgKiBUZXN0IGlmIHR3byBwcmltaXRpdmUgbnVtYmVycyBhcmUgZXF1YWwgd2l0aGluZyArLy0g
ZXBzaWxvbg0KKyAgICAgICAgICovDQorICAgICAgICBhc3NlcnQodHlwZW9mIGFjdHVhbCA9PT0g
Im51bWJlciIsDQorICAgICAgICAgICAgICAgImFzc2VydF9hcHByb3hfZXF1YWxzIiwgZGVzY3Jp
cHRpb24sDQorICAgICAgICAgICAgICAgImV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAke3R5
cGVfYWN0dWFsfSIsDQorICAgICAgICAgICAgICAge3R5cGVfYWN0dWFsOnR5cGVvZiBhY3R1YWx9
KTsNCisNCisgICAgICAgIGFzc2VydChNYXRoLmFicyhhY3R1YWwgLSBleHBlY3RlZCkgPD0gZXBz
aWxvbiwNCisgICAgICAgICAgICAgICAiYXNzZXJ0X2FwcHJveF9lcXVhbHMiLCBkZXNjcmlwdGlv
biwNCisgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0gKy8tICR7ZXBzaWxvbn0g
YnV0IGdvdCAke2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgIHtleHBlY3RlZDpleHBlY3RlZCwg
YWN0dWFsOmFjdHVhbCwgZXBzaWxvbjplcHNpbG9ufSk7DQorICAgIH07DQorICAgIGV4cG9zZShh
c3NlcnRfYXBwcm94X2VxdWFscywgImFzc2VydF9hcHByb3hfZXF1YWxzIik7DQorDQorICAgIGZ1
bmN0aW9uIGFzc2VydF9yZWdleHBfbWF0Y2goYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24p
IHsNCisgICAgICAgIC8qDQorICAgICAgICAgKiBUZXN0IGlmIGEgc3RyaW5nIChhY3R1YWwpIG1h
dGNoZXMgYSByZWdleHAgKGV4cGVjdGVkKQ0KKyAgICAgICAgICovDQorICAgICAgICBhc3NlcnQo
ZXhwZWN0ZWQudGVzdChhY3R1YWwpLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfcmVnZXhwX21h
dGNoIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgImV4cGVjdGVkICR7ZXhwZWN0ZWR9
IGJ1dCBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7ZXhwZWN0ZWQ6ZXhwZWN0ZWQs
IGFjdHVhbDphY3R1YWx9KTsNCisgICAgfQ0KKyAgICBleHBvc2UoYXNzZXJ0X3JlZ2V4cF9tYXRj
aCwgImFzc2VydF9yZWdleHBfbWF0Y2giKTsNCisNCisNCisgICAgZnVuY3Rpb24gX2Fzc2VydF9v
d25fcHJvcGVydHkobmFtZSkgew0KKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCwgcHJv
cGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQorICAgICAgICB7DQorICAgICAgICAgICAgYXNzZXJ0
KG9iamVjdC5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eV9uYW1lKSwNCisgICAgICAgICAgICAgICAg
ICAgbmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBwcm9w
ZXJ0eSAke3B9IG1pc3NpbmciLCB7cDpwcm9wZXJ0eV9uYW1lfSk7DQorICAgICAgICB9Ow0KKyAg
ICB9DQorICAgIGV4cG9zZShfYXNzZXJ0X293bl9wcm9wZXJ0eSgiYXNzZXJ0X2V4aXN0cyIpLCAi
YXNzZXJ0X2V4aXN0cyIpOw0KKyAgICBleHBvc2UoX2Fzc2VydF9vd25fcHJvcGVydHkoImFzc2Vy
dF9vd25fcHJvcGVydHkiKSwgImFzc2VydF9vd25fcHJvcGVydHkiKTsNCisNCisgICAgZnVuY3Rp
b24gYXNzZXJ0X25vdF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlwdGlvbikN
CisgICAgew0KKyAgICAgICAgYXNzZXJ0KCFvYmplY3QuaGFzT3duUHJvcGVydHkocHJvcGVydHlf
bmFtZSksDQorICAgICAgICAgICAgICAgImFzc2VydF9ub3RfZXhpc3RzIiwgZGVzY3JpcHRpb24s
DQorICAgICAgICAgICAgICAgInVuZXhwZWN0ZWQgcHJvcGVydHkgJHtwfSBmb3VuZCIsIHtwOnBy
b3BlcnR5X25hbWV9KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2VydF9ub3RfZXhpc3RzLCAi
YXNzZXJ0X25vdF9leGlzdHMiKTsNCisNCisgICAgZnVuY3Rpb24gX2Fzc2VydF9pbmhlcml0cyhu
YW1lKSB7DQorICAgICAgICByZXR1cm4gZnVuY3Rpb24gKG9iamVjdCwgcHJvcGVydHlfbmFtZSwg
ZGVzY3JpcHRpb24pDQorICAgICAgICB7DQorICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBvYmpl
Y3QgPT09ICJvYmplY3QiLA0KKyAgICAgICAgICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbiwN
CisgICAgICAgICAgICAgICAgICAgInByb3ZpZGVkIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QiKTsN
CisNCisgICAgICAgICAgICBhc3NlcnQoImhhc093blByb3BlcnR5IiBpbiBvYmplY3QsDQorICAg
ICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAi
cHJvdmlkZWQgdmFsdWUgaXMgYW4gb2JqZWN0IGJ1dCBoYXMgbm8gaGFzT3duUHJvcGVydHkgbWV0
aG9kIik7DQorDQorICAgICAgICAgICAgYXNzZXJ0KCFvYmplY3QuaGFzT3duUHJvcGVydHkocHJv
cGVydHlfbmFtZSksDQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0KKyAg
ICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtwfSBmb3VuZCBvbiBvYmplY3QgZXhwZWN0ZWQg
aW4gcHJvdG90eXBlIGNoYWluIiwNCisgICAgICAgICAgICAgICAgICAge3A6cHJvcGVydHlfbmFt
ZX0pOw0KKw0KKyAgICAgICAgICAgIGFzc2VydChwcm9wZXJ0eV9uYW1lIGluIG9iamVjdCwNCisg
ICAgICAgICAgICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAg
ICJwcm9wZXJ0eSAke3B9IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4iLA0KKyAgICAgICAg
ICAgICAgICAgICB7cDpwcm9wZXJ0eV9uYW1lfSk7DQorICAgICAgICB9Ow0KKyAgICB9DQorICAg
IGV4cG9zZShfYXNzZXJ0X2luaGVyaXRzKCJhc3NlcnRfaW5oZXJpdHMiKSwgImFzc2VydF9pbmhl
cml0cyIpOw0KKyAgICBleHBvc2UoX2Fzc2VydF9pbmhlcml0cygiYXNzZXJ0X2lkbF9hdHRyaWJ1
dGUiKSwgImFzc2VydF9pZGxfYXR0cmlidXRlIik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9y
ZWFkb25seShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAg
ICAgICAgdmFyIGluaXRpYWxfdmFsdWUgPSBvYmplY3RbcHJvcGVydHlfbmFtZV07DQorICAgICAg
ICAgdHJ5IHsNCisgICAgICAgICAgICAgLy9Ob3RlIHRoYXQgdGhpcyBjYW4gaGF2ZSBzaWRlIGVm
ZmVjdHMgaW4gdGhlIGNhc2Ugd2hlcmUNCisgICAgICAgICAgICAgLy90aGUgcHJvcGVydHkgaGFz
IFB1dEZvcndhcmRzDQorICAgICAgICAgICAgIG9iamVjdFtwcm9wZXJ0eV9uYW1lXSA9IGluaXRp
YWxfdmFsdWUgKyAiYSI7IC8vWFhYIHVzZSBzb21lIG90aGVyIHZhbHVlIGhlcmU/DQorICAgICAg
ICAgICAgIGFzc2VydChvYmplY3RbcHJvcGVydHlfbmFtZV0gPT09IGluaXRpYWxfdmFsdWUsDQor
ICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X3JlYWRvbmx5IiwgZGVzY3JpcHRpb24sDQorICAg
ICAgICAgICAgICAgICAgICAiY2hhbmdpbmcgcHJvcGVydHkgJHtwfSBzdWNjZWVkZWQiLA0KKyAg
ICAgICAgICAgICAgICAgICAge3A6cHJvcGVydHlfbmFtZX0pOw0KKyAgICAgICAgIH0NCisgICAg
ICAgICBmaW5hbGx5DQorICAgICAgICAgew0KKyAgICAgICAgICAgICBvYmplY3RbcHJvcGVydHlf
bmFtZV0gPSBpbml0aWFsX3ZhbHVlOw0KKyAgICAgICAgIH0NCisgICAgfTsNCisgICAgZXhwb3Nl
KGFzc2VydF9yZWFkb25seSwgImFzc2VydF9yZWFkb25seSIpOw0KKw0KKyAgICBmdW5jdGlvbiBh
c3NlcnRfdGhyb3dzKGNvZGUsIGZ1bmMsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICB0
cnkNCisgICAgICAgIHsNCisgICAgICAgICAgICBmdW5jLmNhbGwodGhpcyk7DQorICAgICAgICAg
ICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3Rocm93cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAg
ICAgICAgICAgICAiJHtmdW5jfSBkaWQgbm90IHRocm93Iiwge2Z1bmM6ZnVuY30pOw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgY2F0Y2goZSkNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoZSBp
bnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7DQorICAgICAgICAgICAgICAgIHRocm93KGUpOw0K
KyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBpZiAodHlwZW9mIGNvZGUgPT09ICJvYmplY3Qi
KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBlID09ICJv
YmplY3QiICYmICJuYW1lIiBpbiBlICYmIGUubmFtZSA9PSBjb2RlLm5hbWUsDQorICAgICAgICAg
ICAgICAgICAgICAgICAiYXNzZXJ0X3Rocm93cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHthY3R1YWx9ICgke2FjdHVhbF9uYW1lfSkgZXhw
ZWN0ZWQgJHtleHBlY3RlZH0gKCR7ZXhwZWN0ZWRfbmFtZX0pIiwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBhY3R1YWw6ZSwgYWN0dWFsX25hbWU6ZS5u
YW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDpjb2Rl
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9uYW1lOmNv
ZGUubmFtZX0pOw0KKyAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgICAgIHZhciByZXF1aXJlZF9wcm9wcyA9IHt9Ow0KKyAgICAgICAgICAgIHJlcXVpcmVk
X3Byb3BzLmNvZGUgPSB7DQorICAgICAgICAgICAgICAgIElOREVYX1NJWkVfRVJSOiAxLA0KKyAg
ICAgICAgICAgICAgICBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IDMsDQorICAgICAgICAgICAgICAg
IFdST05HX0RPQ1VNRU5UX0VSUjogNCwNCisgICAgICAgICAgICAgICAgSU5WQUxJRF9DSEFSQUNU
RVJfRVJSOiA1LA0KKyAgICAgICAgICAgICAgICBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlI6
IDcsDQorICAgICAgICAgICAgICAgIE5PVF9GT1VORF9FUlI6IDgsDQorICAgICAgICAgICAgICAg
IE5PVF9TVVBQT1JURURfRVJSOiA5LA0KKyAgICAgICAgICAgICAgICBJTlZBTElEX1NUQVRFX0VS
UjogMTEsDQorICAgICAgICAgICAgICAgIFNZTlRBWF9FUlI6IDEyLA0KKyAgICAgICAgICAgICAg
ICBJTlZBTElEX01PRElGSUNBVElPTl9FUlI6IDEzLA0KKyAgICAgICAgICAgICAgICBOQU1FU1BB
Q0VfRVJSOiAxNCwNCisgICAgICAgICAgICAgICAgSU5WQUxJRF9BQ0NFU1NfRVJSOiAxNSwNCisg
ICAgICAgICAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlI6IDE3LA0KKyAgICAgICAgICAgICAgICBT
RUNVUklUWV9FUlI6IDE4LA0KKyAgICAgICAgICAgICAgICBORVRXT1JLX0VSUjogMTksDQorICAg
ICAgICAgICAgICAgIEFCT1JUX0VSUjogMjAsDQorICAgICAgICAgICAgICAgIFVSTF9NSVNNQVRD
SF9FUlI6IDIxLA0KKyAgICAgICAgICAgICAgICBRVU9UQV9FWENFRURFRF9FUlI6IDIyLA0KKyAg
ICAgICAgICAgICAgICBUSU1FT1VUX0VSUjogMjMsDQorICAgICAgICAgICAgICAgIElOVkFMSURf
Tk9ERV9UWVBFX0VSUjogMjQsDQorICAgICAgICAgICAgICAgIERBVEFfQ0xPTkVfRVJSOiAyNSwN
CisgICAgICAgICAgICB9W2NvZGVdOw0KKyAgICAgICAgICAgIGlmIChyZXF1aXJlZF9wcm9wcy5j
b2RlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0aHJv
dyBuZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9u
IGNvZGUgIicgKyBjb2RlICsgJyIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKScpOw0KKyAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICByZXF1aXJlZF9wcm9wc1tjb2RlXSA9IHJlcXVpcmVkX3By
b3BzLmNvZGU7DQorICAgICAgICAgICAgLy9VbmNvbW1lbnQgdGhpcyB3aGVuIHRoZSBsYXRlc3Qg
dmVyc2lvbiBvZiBldmVyeSBicm93c2VyDQorICAgICAgICAgICAgLy9hY3R1YWxseSBpbXBsZW1l
bnRzIHRoZSBzcGVjOyBvdGhlcndpc2UgaXQganVzdCBjcmVhdGVzDQorICAgICAgICAgICAgLy96
aWxsaW9ucyBvZiBmYWlsdXJlcy4gIEFsc28gZG8gcmVxdWlyZWRfcHJvcHMudHlwZS4NCisgICAg
ICAgICAgICAvL3JlcXVpcmVkX3Byb3BzLm5hbWUgPSBjb2RlOw0KKyAgICAgICAgICAgIC8vDQor
ICAgICAgICAgICAgLy9XZSdkIGxpa2UgdG8gdGVzdCB0aGF0IGUgaW5zdGFuY2VvZiB0aGUgYXBw
cm9wcmlhdGUgaW50ZXJmYWNlLA0KKyAgICAgICAgICAgIC8vYnV0IHdlIGNhbid0LCBiZWNhdXNl
IHdlIGRvbid0IGtub3cgd2hhdCB3aW5kb3cgaXQgd2FzIGNyZWF0ZWQNCisgICAgICAgICAgICAv
L2luLiAgSXQgbWlnaHQgYmUgYW4gaW5zdGFuY2VvZiB0aGUgYXBwcm9wcmlhdGUgaW50ZXJmYWNl
IG9uIHNvbWUNCisgICAgICAgICAgICAvL3Vua25vd24gb3RoZXIgd2luZG93LiAgVE9ETzogV29y
ayBhcm91bmQgdGhpcyBzb21laG93Pw0KKw0KKyAgICAgICAgICAgIGFzc2VydCh0eXBlb2YgZSA9
PSAib2JqZWN0IiwNCisgICAgICAgICAgICAgICAgICAgImFzc2VydF90aHJvd3MiLCBkZXNjcmlw
dGlvbiwNCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB3aXRoIHR5cGUg
JHt0eXBlfSwgbm90IGFuIG9iamVjdCIsDQorICAgICAgICAgICAgICAgICAgIHtmdW5jOmZ1bmMs
IGU6ZSwgdHlwZTp0eXBlb2YgZX0pOw0KKw0KKyAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4g
cmVxdWlyZWRfcHJvcHMpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBhc3NlcnQo
dHlwZW9mIGUgPT0gIm9iamVjdCIgJiYgcHJvcCBpbiBlICYmIGVbcHJvcF0gPT0gcmVxdWlyZWRf
cHJvcHNbcHJvcF0sDQorICAgICAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X3Rocm93cyIsIGRl
c2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gdGhyZXcgJHtlfSB0
aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiAiICsgY29kZSArICI6IHByb3BlcnR5ICR7cHJvcH0g
aXMgZXF1YWwgdG8gJHthY3R1YWx9LCBleHBlY3RlZCAke2V4cGVjdGVkfSIsDQorICAgICAgICAg
ICAgICAgICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHByb3A6cHJvcCwgYWN0dWFsOmVbcHJvcF0s
IGV4cGVjdGVkOnJlcXVpcmVkX3Byb3BzW3Byb3BdfSk7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgfQ0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfdGhyb3dzLCAiYXNzZXJ0X3Rocm93cyIp
Ow0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfdW5yZWFjaGVkKGRlc2NyaXB0aW9uKSB7DQorICAg
ICAgICAgYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0X3VucmVhY2hlZCIsIGRlc2NyaXB0aW9uLA0KKyAg
ICAgICAgICAgICAgICAiUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIik7DQorICAgIH0NCisgICAg
ZXhwb3NlKGFzc2VydF91bnJlYWNoZWQsICJhc3NlcnRfdW5yZWFjaGVkIik7DQorDQorICAgIGZ1
bmN0aW9uIFRlc3QobmFtZSwgcHJvcGVydGllcykNCisgICAgew0KKyAgICAgICAgdGhpcy5uYW1l
ID0gbmFtZTsNCisgICAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5OT1RSVU47DQorICAgICAgICB0
aGlzLnRpbWVvdXRfaWQgPSBudWxsOw0KKyAgICAgICAgdGhpcy5pc19kb25lID0gZmFsc2U7DQor
DQorICAgICAgICB0aGlzLnRpbWVvdXRfbGVuZ3RoID0gcHJvcGVydGllcy50aW1lb3V0ID8gcHJv
cGVydGllcy50aW1lb3V0IDogc2V0dGluZ3MudGVzdF90aW1lb3V0Ow0KKw0KKyAgICAgICAgdGhp
cy5tZXNzYWdlID0gbnVsbDsNCisNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAg
ICAgICB0aGlzLnN0ZXBzID0gW107DQorDQorICAgICAgICB0ZXN0cy5wdXNoKHRoaXMpOw0KKyAg
ICB9DQorDQorICAgIFRlc3QucHJvdG90eXBlID0gew0KKyAgICAgICAgUEFTUzowLA0KKyAgICAg
ICAgRkFJTDoxLA0KKyAgICAgICAgVElNRU9VVDoyLA0KKyAgICAgICAgTk9UUlVOOjMNCisgICAg
fTsNCisNCisNCisgICAgVGVzdC5wcm90b3R5cGUuc3RlcCA9IGZ1bmN0aW9uKGZ1bmMsIHRoaXNf
b2JqKQ0KKyAgICB7DQorICAgICAgICAvL0luIGNhc2UgdGhlIHRlc3QgaGFzIGFscmVhZHkgZmFp
bGVkDQorICAgICAgICBpZiAodGhpcy5zdGF0dXMgIT09IHRoaXMuTk9UUlVOKQ0KKyAgICAgICAg
ew0KKyAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorDQorICAgICAgICB0ZXN0cy5zdGFy
dGVkID0gdHJ1ZTsNCisNCisgICAgICAgIGlmICh0aGlzLnRpbWVvdXRfaWQgPT09IG51bGwpIHsN
CisgICAgICAgICAgICB0aGlzLnNldF90aW1lb3V0KCk7DQorICAgICAgICB9DQorDQorICAgICAg
ICB0aGlzLnN0ZXBzLnB1c2goZnVuYyk7DQorDQorICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0
aCA9PT0gMSkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzX29iaiA9IHRoaXM7DQorICAg
ICAgICB9DQorDQorICAgICAgICB0cnkNCisgICAgICAgIHsNCisgICAgICAgICAgICBmdW5jLmFw
cGx5KHRoaXNfb2JqLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpKTsN
CisgICAgICAgIH0NCisgICAgICAgIGNhdGNoKGUpDQorICAgICAgICB7DQorICAgICAgICAgICAg
Ly9UaGlzIGNhbiBoYXBwZW4gaWYgc29tZXRoaW5nIGNhbGxlZCBzeW5jaHJvbm91c2x5IGludm9r
ZWQgYW5vdGhlcg0KKyAgICAgICAgICAgIC8vc3RlcA0KKyAgICAgICAgICAgIGlmICh0aGlzLnN0
YXR1cyAhPT0gdGhpcy5OT1RSVU4pDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBy
ZXR1cm47DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5G
QUlMOw0KKyAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IGUubWVzc2FnZTsNCisgICAgICAgICAg
ICBpZiAodHlwZW9mIGUuc3RhY2sgIT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGUubWVzc2FnZSA9
PSAic3RyaW5nIikgew0KKyAgICAgICAgICAgICAgICAvL1RyeSB0byBtYWtlIGl0IG1vcmUgaW5m
b3JtYXRpdmUgZm9yIHNvbWUgZXhjZXB0aW9ucywgYXQgbGVhc3QNCisgICAgICAgICAgICAgICAg
Ly9pbiBHZWNrbyBhbmQgV2ViS2l0LiAgVGhpcyByZXN1bHRzIGluIGEgc3RhY2sgZHVtcCBpbnN0
ZWFkIG9mDQorICAgICAgICAgICAgICAgIC8vanVzdCBlcnJvcnMgbGlrZSAiQ2Fubm90IHJlYWQg
cHJvcGVydHkgJ3BhcmVudE5vZGUnIG9mIG51bGwiDQorICAgICAgICAgICAgICAgIC8vb3IgInJv
b3QgaXMgbnVsbCIuICBNYWtlcyBpdCBhIGxvdCBsb25nZXIsIG9mIGNvdXJzZS4NCisgICAgICAg
ICAgICAgICAgdGhpcy5tZXNzYWdlICs9ICIoc3RhY2s6ICIgKyBlLnN0YWNrICsgIikiOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgICAgICB0aGlzLmRvbmUoKTsNCisgICAgICAgICAgICBpZiAo
ZGVidWcgJiYgZS5jb25zdHJ1Y3RvciAhPT0gQXNzZXJ0aW9uRXJyb3IpIHsNCisgICAgICAgICAg
ICAgICAgdGhyb3cgZTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAgIH07DQorDQor
ICAgIFRlc3QucHJvdG90eXBlLnN0ZXBfZnVuYyA9IGZ1bmN0aW9uKGZ1bmMsIHRoaXNfb2JqKQ0K
KyAgICB7DQorICAgICAgICB2YXIgdGVzdF90aGlzID0gdGhpczsNCisNCisgICAgICAgIGlmIChh
cmd1bWVudHMubGVuZ3RoID09PSAxKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXNfb2Jq
ID0gdGVzdF90aGlzOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkN
CisgICAgICAgIHsNCisgICAgICAgICAgICB0ZXN0X3RoaXMuc3RlcC5hcHBseSh0ZXN0X3RoaXMs
IFtmdW5jLCB0aGlzX29ial0uY29uY2F0KA0KKyAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5
cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7DQorICAgICAgICB9Ow0KKyAgICB9Ow0KKw0KKyAg
ICBUZXN0LnByb3RvdHlwZS5zZXRfdGltZW91dCA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAg
ICAgdmFyIHRoaXNfb2JqID0gdGhpczsNCisgICAgICAgIHRoaXMudGltZW91dF9pZCA9IHNldFRp
bWVvdXQoZnVuY3Rpb24oKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX29iai50aW1l
b3V0KCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRoaXMudGlt
ZW91dF9sZW5ndGgpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS50aW1lb3V0ID0g
ZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAgICB0aGlzLnN0YXR1cyA9IHRoaXMuVElNRU9VVDsN
CisgICAgICAgIHRoaXMudGltZW91dF9pZCA9IG51bGw7DQorICAgICAgICB0aGlzLm1lc3NhZ2Ug
PSAiVGVzdCB0aW1lZCBvdXQiOw0KKyAgICAgICAgdGhpcy5kb25lKCk7DQorICAgIH07DQorDQor
ICAgIFRlc3QucHJvdG90eXBlLmRvbmUgPSBmdW5jdGlvbigpDQorICAgIHsNCisgICAgICAgIGlm
ICh0aGlzLmlzX2RvbmUpIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAg
ICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0X2lkKTsNCisgICAgICAgIGlmICh0aGlzLnN0
YXR1cyA9PT0gdGhpcy5OT1RSVU4pDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhpcy5zdGF0
dXMgPSB0aGlzLlBBU1M7DQorICAgICAgICB9DQorICAgICAgICB0aGlzLmlzX2RvbmUgPSB0cnVl
Ow0KKyAgICAgICAgdGVzdHMucmVzdWx0KHRoaXMpOw0KKyAgICB9Ow0KKw0KKw0KKyAgICAvKg0K
KyAgICAgKiBIYXJuZXNzDQorICAgICAqLw0KKw0KKyAgICBmdW5jdGlvbiBUZXN0c1N0YXR1cygp
DQorICAgIHsNCisgICAgICAgIHRoaXMuc3RhdHVzID0gbnVsbDsNCisgICAgICAgIHRoaXMubWVz
c2FnZSA9IG51bGw7DQorICAgIH0NCisgICAgVGVzdHNTdGF0dXMucHJvdG90eXBlID0gew0KKyAg
ICAgICAgT0s6MCwNCisgICAgICAgIEVSUk9SOjEsDQorICAgICAgICBUSU1FT1VUOjINCisgICAg
fTsNCisNCisgICAgZnVuY3Rpb24gVGVzdHMoKQ0KKyAgICB7DQorICAgICAgICB0aGlzLnRlc3Rz
ID0gW107DQorICAgICAgICB0aGlzLm51bV9wZW5kaW5nID0gMDsNCisNCisgICAgICAgIHRoaXMu
cGhhc2VzID0gew0KKyAgICAgICAgICAgIElOSVRJQUw6MCwNCisgICAgICAgICAgICBTRVRVUDox
LA0KKyAgICAgICAgICAgIEhBVkVfVEVTVFM6MiwNCisgICAgICAgICAgICBIQVZFX1JFU1VMVFM6
MywNCisgICAgICAgICAgICBDT01QTEVURTo0DQorICAgICAgICB9Ow0KKyAgICAgICAgdGhpcy5w
aGFzZSA9IHRoaXMucGhhc2VzLklOSVRJQUw7DQorDQorICAgICAgICAvL0FsbCB0ZXN0cyBjYW4n
dCBiZSBkb25lIHVudGlsIHRoZSBsb2FkIGV2ZW50IGZpcmVzDQorICAgICAgICB0aGlzLmFsbF9s
b2FkZWQgPSBmYWxzZTsNCisgICAgICAgIHRoaXMud2FpdF9mb3JfZmluaXNoID0gZmFsc2U7DQor
ICAgICAgICB0aGlzLnByb2Nlc3NpbmdfY2FsbGJhY2tzID0gZmFsc2U7DQorDQorICAgICAgICB0
aGlzLnRpbWVvdXRfbGVuZ3RoID0gc2V0dGluZ3MudGltZW91dDsNCisgICAgICAgIHRoaXMudGlt
ZW91dF9pZCA9IG51bGw7DQorICAgICAgICB0aGlzLnNldF90aW1lb3V0KCk7DQorDQorICAgICAg
ICB0aGlzLnN0YXJ0X2NhbGxiYWNrcyA9IFtdOw0KKyAgICAgICAgdGhpcy50ZXN0X2RvbmVfY2Fs
bGJhY2tzID0gW107DQorICAgICAgICB0aGlzLmFsbF9kb25lX2NhbGxiYWNrcyA9IFtdOw0KKw0K
KyAgICAgICAgdGhpcy5zdGF0dXMgPSBuZXcgVGVzdHNTdGF0dXMoKTsNCisNCisgICAgICAgIHZh
ciB0aGlzX29iaiA9IHRoaXM7DQorDQorICAgICAgICBvbl9ldmVudCh3aW5kb3csICJsb2FkIiwN
CisgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkNCisgICAgICAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgICAgICB0aGlzX29iai5hbGxfbG9hZGVkID0gdHJ1ZTsNCisgICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpc19vYmouYWxsX2RvbmUoKSkNCisgICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNfb2JqLmNvbXBsZXRlKCk7DQorICAg
ICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICB0aGlz
LnByb3BlcnRpZXMgPSB7fTsNCisgICAgfQ0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUuc2V0dXAg
PSBmdW5jdGlvbihmdW5jLCBwcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5w
aGFzZSA+PSB0aGlzLnBoYXNlcy5IQVZFX1JFU1VMVFMpDQorICAgICAgICB7DQorICAgICAgICAg
ICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKHRoaXMucGhhc2UgPCB0aGlzLnBo
YXNlcy5TRVRVUCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5w
aGFzZXMuU0VUVVA7DQorICAgICAgICB9DQorDQorICAgICAgICBmb3IgKHZhciBwIGluIHByb3Bl
cnRpZXMpDQorICAgICAgICB7DQorICAgICAgICAgICAgaWYgKHByb3BlcnRpZXMuaGFzT3duUHJv
cGVydHkocCkpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnRp
ZXNbcF0gPSBwcm9wZXJ0aWVzW3BdOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisNCisg
ICAgICAgIGlmIChwcm9wZXJ0aWVzLnRpbWVvdXQpDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGhpcy50aW1lb3V0X2xlbmd0aCA9IHByb3BlcnRpZXMudGltZW91dDsNCisgICAgICAgICAgICB0
aGlzLnNldF90aW1lb3V0KCk7DQorICAgICAgICB9DQorICAgICAgICBpZiAocHJvcGVydGllcy5l
eHBsaWNpdF9kb25lKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMud2FpdF9mb3JfZmlu
aXNoID0gdHJ1ZTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGlmIChmdW5jKQ0KKyAgICAgICAg
ew0KKyAgICAgICAgICAgIHRyeQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgZnVu
YygpOw0KKyAgICAgICAgICAgIH0gY2F0Y2goZSkNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRoaXMuc3RhdHVzLkVSUk9SOw0KKyAgICAgICAg
ICAgICAgICB0aGlzLnN0YXR1cy5tZXNzYWdlID0gZTsNCisgICAgICAgICAgICB9Ow0KKyAgICAg
ICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUuc2V0X3RpbWVvdXQgPSBmdW5j
dGlvbigpDQorICAgIHsNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICBj
bGVhclRpbWVvdXQodGhpcy50aW1lb3V0X2lkKTsNCisgICAgICAgIHRoaXMudGltZW91dF9pZCA9
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzX29iai50aW1lb3V0KCk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0sIHRoaXMudGltZW91dF9sZW5ndGgpOw0KKyAgICB9Ow0KKw0KKyAgICBU
ZXN0cy5wcm90b3R5cGUudGltZW91dCA9IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgdGhpcy5zdGF0
dXMuc3RhdHVzID0gdGhpcy5zdGF0dXMuVElNRU9VVDsNCisgICAgICAgIHRoaXMuY29tcGxldGUo
KTsNCisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLmVuZF93YWl0ID0gZnVuY3Rpb24o
KQ0KKyAgICB7DQorICAgICAgICB0aGlzLndhaXRfZm9yX2ZpbmlzaCA9IGZhbHNlOw0KKyAgICAg
ICAgaWYgKHRoaXMuYWxsX2RvbmUoKSkgew0KKyAgICAgICAgICAgIHRoaXMuY29tcGxldGUoKTsN
CisgICAgICAgIH0NCisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLnB1c2ggPSBmdW5j
dGlvbih0ZXN0KQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5waGFzZSA8IHRoaXMucGhhc2Vz
LkhBVkVfVEVTVFMpIHsNCisgICAgICAgICAgICB0aGlzLm5vdGlmeV9zdGFydCgpOw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgdGhpcy5udW1fcGVuZGluZysrOw0KKyAgICAgICAgdGhpcy50ZXN0cy5w
dXNoKHRlc3QpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUuYWxsX2RvbmUgPSBm
dW5jdGlvbigpIHsNCisgICAgICAgIHJldHVybiAodGhpcy5hbGxfbG9hZGVkICYmIHRoaXMubnVt
X3BlbmRpbmcgPT09IDAgJiYNCisgICAgICAgICAgICAgICAgIXRoaXMud2FpdF9mb3JfZmluaXNo
ICYmICF0aGlzLnByb2Nlc3NpbmdfY2FsbGJhY2tzKTsNCisgICAgfTsNCisNCisgICAgVGVzdHMu
cHJvdG90eXBlLnN0YXJ0ID0gZnVuY3Rpb24oKSB7DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhp
cy5waGFzZXMuSEFWRV9URVNUUzsNCisgICAgICAgIHRoaXMubm90aWZ5X3N0YXJ0KCk7DQorICAg
IH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5ub3RpZnlfc3RhcnQgPSBmdW5jdGlvbigpIHsN
CisgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICBmb3JFYWNoICh0aGlzLnN0
YXJ0X2NhbGxiYWNrcywNCisgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKQ0KKyAg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXNfb2Jq
LnByb3BlcnRpZXMpOw0KKyAgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICBmb3JFYWNoKGFu
Y2VzdG9yX3dpbmRvd3MoKSwNCisgICAgICAgICAgICAgICAgZnVuY3Rpb24odykNCisgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgaWYody5zdGFydF9jYWxsYmFjaykNCisg
ICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0cnkNCisgICAg
ICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcuc3Rh
cnRfY2FsbGJhY2sodGhpc19vYmoucHJvcGVydGllcyk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoKGUpDQorICAgICAgICAgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVidWcpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRocm93KGUpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAg
ICB9KTsNCisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLnJlc3VsdCA9IGZ1bmN0aW9u
KHRlc3QpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNlID4gdGhpcy5waGFzZXMuSEFW
RV9SRVNVTFRTKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0N
CisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5IQVZFX1JFU1VMVFM7DQorICAgICAg
ICB0aGlzLm51bV9wZW5kaW5nLS07DQorICAgICAgICB0aGlzLm5vdGlmeV9yZXN1bHQodGVzdCk7
DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5ub3RpZnlfcmVzdWx0ID0gZnVuY3Rp
b24odGVzdCkgew0KKyAgICAgICAgdmFyIHRoaXNfb2JqID0gdGhpczsNCisgICAgICAgIHRoaXMu
cHJvY2Vzc2luZ19jYWxsYmFja3MgPSB0cnVlOw0KKyAgICAgICAgZm9yRWFjaCh0aGlzLnRlc3Rf
ZG9uZV9jYWxsYmFja3MsDQorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKQ0KKyAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh0ZXN0LCB0aGlz
X29iaik7DQorICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgZm9yRWFjaChhbmNlc3Rv
cl93aW5kb3dzKCksDQorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHcpDQorICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmKHcucmVzdWx0X2NhbGxiYWNrKQ0KKyAgICAg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeQ0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy5yZXN1bHRf
Y2FsbGJhY2sodGVzdCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNhdGNoKGUpDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZihkZWJ1Zykgew0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgICAgfSk7DQorICAgICAgICB0aGlzLnByb2Nlc3NpbmdfY2FsbGJhY2tzID0gZmFsc2U7
DQorICAgICAgICBpZiAodGhpc19vYmouYWxsX2RvbmUoKSkNCisgICAgICAgIHsNCisgICAgICAg
ICAgICB0aGlzX29iai5jb21wbGV0ZSgpOw0KKyAgICAgICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBU
ZXN0cy5wcm90b3R5cGUuY29tcGxldGUgPSBmdW5jdGlvbigpIHsNCisgICAgICAgIGlmICh0aGlz
LnBoYXNlID09PSB0aGlzLnBoYXNlcy5DT01QTEVURSkgew0KKyAgICAgICAgICAgIHJldHVybjsN
CisgICAgICAgIH0NCisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5DT01QTEVURTsN
CisgICAgICAgIHRoaXMubm90aWZ5X2NvbXBsZXRlKCk7DQorICAgIH07DQorDQorICAgIFRlc3Rz
LnByb3RvdHlwZS5ub3RpZnlfY29tcGxldGUgPSBmdW5jdGlvbigpDQorICAgIHsNCisgICAgICAg
IGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRfaWQpOw0KKyAgICAgICAgdmFyIHRoaXNfb2JqID0g
dGhpczsNCisgICAgICAgIGlmICh0aGlzLnN0YXR1cy5zdGF0dXMgPT09IG51bGwpDQorICAgICAg
ICB7DQorICAgICAgICAgICAgdGhpcy5zdGF0dXMuc3RhdHVzID0gdGhpcy5zdGF0dXMuT0s7DQor
ICAgICAgICB9DQorDQorICAgICAgICBmb3JFYWNoICh0aGlzLmFsbF9kb25lX2NhbGxiYWNrcywN
CisgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGNhbGxiYWNrKQ0KKyAgICAgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXNfb2JqLnRlc3RzLCB0aGlzX29i
ai5zdGF0dXMpOw0KKyAgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICBmb3JFYWNoKGFu
Y2VzdG9yX3dpbmRvd3MoKSwNCisgICAgICAgICAgICAgICAgZnVuY3Rpb24odykNCisgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgaWYody5jb21wbGV0aW9uX2NhbGxiYWNr
KQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeQ0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dy5jb21wbGV0aW9uX2NhbGxiYWNrKHRoaXNfb2JqLnRlc3RzLCB0aGlzX29iai5zdGF0dXMpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRj
aChlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGRlYnVnKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgfTsNCisNCisgICAgdmFyIHRlc3RzID0g
bmV3IFRlc3RzKCk7DQorDQorICAgIGZ1bmN0aW9uIGFkZF9zdGFydF9jYWxsYmFjayhjYWxsYmFj
aykgew0KKyAgICAgICAgdGVzdHMuc3RhcnRfY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spOw0KKyAg
ICB9DQorDQorICAgIGZ1bmN0aW9uIGFkZF9yZXN1bHRfY2FsbGJhY2soY2FsbGJhY2spDQorICAg
IHsNCisgICAgICAgIHRlc3RzLnRlc3RfZG9uZV9jYWxsYmFja3MucHVzaChjYWxsYmFjayk7DQor
ICAgIH0NCisNCisgICAgZnVuY3Rpb24gYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soY2FsbGJhY2sp
DQorICAgIHsNCisgICAgICAgdGVzdHMuYWxsX2RvbmVfY2FsbGJhY2tzLnB1c2goY2FsbGJhY2sp
Ow0KKyAgICB9DQorDQorICAgIGV4cG9zZShhZGRfc3RhcnRfY2FsbGJhY2ssICdhZGRfc3RhcnRf
Y2FsbGJhY2snKTsNCisgICAgZXhwb3NlKGFkZF9yZXN1bHRfY2FsbGJhY2ssICdhZGRfcmVzdWx0
X2NhbGxiYWNrJyk7DQorICAgIGV4cG9zZShhZGRfY29tcGxldGlvbl9jYWxsYmFjaywgJ2FkZF9j
b21wbGV0aW9uX2NhbGxiYWNrJyk7DQorDQorICAgIC8qDQorICAgICAqIE91dHB1dCBsaXN0ZW5l
cg0KKyAgICAqLw0KKw0KKyAgICBmdW5jdGlvbiBPdXRwdXQoKSB7DQorICAgICAgdGhpcy5vdXRw
dXRfZG9jdW1lbnQgPSBudWxsOw0KKyAgICAgIHRoaXMub3V0cHV0X25vZGUgPSBudWxsOw0KKyAg
ICAgIHRoaXMuZG9uZV9jb3VudCA9IDA7DQorICAgICAgdGhpcy5lbmFibGVkID0gc2V0dGluZ3Mu
b3V0cHV0Ow0KKyAgICAgIHRoaXMucGhhc2UgPSB0aGlzLklOSVRJQUw7DQorICAgIH0NCisNCisg
ICAgT3V0cHV0LnByb3RvdHlwZS5JTklUSUFMID0gMDsNCisgICAgT3V0cHV0LnByb3RvdHlwZS5T
VEFSVEVEID0gMTsNCisgICAgT3V0cHV0LnByb3RvdHlwZS5IQVZFX1JFU1VMVFMgPSAyOw0KKyAg
ICBPdXRwdXQucHJvdG90eXBlLkNPTVBMRVRFID0gMzsNCisNCisgICAgT3V0cHV0LnByb3RvdHlw
ZS5zZXR1cCA9IGZ1bmN0aW9uKHByb3BlcnRpZXMpIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNl
ID4gdGhpcy5JTklUSUFMKSB7DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKw0K
KyAgICAgICAgLy9JZiBvdXRwdXQgaXMgZGlzYWJsZWQgaW4gdGVzdGhhcm5lc3NyZXBvcnQuanMg
dGhlIHRlc3Qgc2hvdWxkbid0IGJlDQorICAgICAgICAvL2FibGUgdG8gb3ZlcnJpZGUgdGhhdA0K
KyAgICAgICAgdGhpcy5lbmFibGVkID0gdGhpcy5lbmFibGVkICYmIChwcm9wZXJ0aWVzLmhhc093
blByb3BlcnR5KCJvdXRwdXQiKSA/DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHByb3BlcnRpZXMub3V0cHV0IDogc2V0dGluZ3Mub3V0cHV0KTsNCisgICAgfTsNCisN
CisgICAgT3V0cHV0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24ocHJvcGVydGllcykNCisgICAg
ew0KKyAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5TVEFSVEVEKSB7DQorICAgICAgICAg
ICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKHByb3BlcnRpZXMub3V0cHV0X2Rv
Y3VtZW50KSB7DQorICAgICAgICAgICAgdGhpcy5vdXRwdXRfZG9jdW1lbnQgPSBwcm9wZXJ0aWVz
Lm91dHB1dF9kb2N1bWVudDsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgdGhpcy5v
dXRwdXRfZG9jdW1lbnQgPSBkb2N1bWVudDsNCisgICAgICAgIH0NCisgICAgICAgIHRoaXMucGhh
c2UgPSB0aGlzLlNUQVJURUQ7DQorICAgIH07DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUucmVz
b2x2ZV9sb2cgPSBmdW5jdGlvbigpDQorICAgIHsNCisgICAgICAgIGlmICghdGhpcy5vdXRwdXRf
ZG9jdW1lbnQpIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICB2
YXIgbm9kZSA9IHRoaXMub3V0cHV0X2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKTsNCisg
ICAgICAgIGlmIChub2RlKSB7DQorICAgICAgICAgICAgdGhpcy5vdXRwdXRfbm9kZSA9IG5vZGU7
DQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUuc2hvd19zdGF0
dXMgPSBmdW5jdGlvbih0ZXN0KQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5waGFzZSA8IHRo
aXMuU1RBUlRFRCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLmluaXQoKTsNCisgICAg
ICAgIH0NCisgICAgICAgIGlmICghdGhpcy5lbmFibGVkKQ0KKyAgICAgICAgew0KKyAgICAgICAg
ICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmICh0aGlzLnBoYXNlIDwgdGhpcy5I
QVZFX1JFU1VMVFMpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhpcy5yZXNvbHZlX2xvZygp
Ow0KKyAgICAgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLkhBVkVfUkVTVUxUUzsNCisgICAgICAg
IH0NCisgICAgICAgIHRoaXMuZG9uZV9jb3VudCsrOw0KKyAgICAgICAgaWYgKHRoaXMub3V0cHV0
X25vZGUpDQorICAgICAgICB7DQorICAgICAgICAgICAgaWYgKHRoaXMuZG9uZV9jb3VudCA8IDEw
MA0KKyAgICAgICAgICAgIHx8ICh0aGlzLmRvbmVfY291bnQgPCAxMDAwICYmIHRoaXMuZG9uZV9j
b3VudCAlIDEwMCA9PSAwKQ0KKyAgICAgICAgICAgIHx8IHRoaXMuZG9uZV9jb3VudCAlIDEwMDAg
PT0gMCkgew0KKyAgICAgICAgICAgICAgICB0aGlzLm91dHB1dF9ub2RlLnRleHRDb250ZW50ID0g
IlJ1bm5pbmcsICINCisgICAgICAgICAgICAgICAgICAgICsgdGhpcy5kb25lX2NvdW50ICsgIiBj
b21wbGV0ZSwgIg0KKyAgICAgICAgICAgICAgICAgICAgKyB0ZXN0cy5udW1fcGVuZGluZyArICIg
cmVtYWluIjsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIE91
dHB1dC5wcm90b3R5cGUuc2hvd19yZXN1bHRzID0gZnVuY3Rpb24gKHRlc3RzLCBoYXJuZXNzX3N0
YXR1cykNCisgICAgew0KKyAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5DT01QTEVURSkg
ew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmICghdGhpcy5l
bmFibGVkKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisg
ICAgICAgIGlmICghdGhpcy5vdXRwdXRfbm9kZSkgew0KKyAgICAgICAgICAgIHRoaXMucmVzb2x2
ZV9sb2coKTsNCisgICAgICAgIH0NCisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLkNPTVBMRVRF
Ow0KKw0KKyAgICAgICAgdmFyIGxvZyA9IHRoaXMub3V0cHV0X25vZGU7DQorICAgICAgICBpZiAo
IWxvZykNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAg
ICAgICB2YXIgb3V0cHV0X2RvY3VtZW50ID0gdGhpcy5vdXRwdXRfZG9jdW1lbnQ7DQorDQorICAg
ICAgICB3aGlsZSAobG9nLmxhc3RDaGlsZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICBsb2cu
cmVtb3ZlQ2hpbGQobG9nLmxhc3RDaGlsZCk7DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAo
c2NyaXB0X3ByZWZpeCAhPSBudWxsKSB7DQorICAgICAgICAgICAgdmFyIHN0eWxlc2hlZXQgPSBv
dXRwdXRfZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sX25zLCAibGluayIpOw0KKyAgICAg
ICAgICAgIHN0eWxlc2hlZXQuc2V0QXR0cmlidXRlKCJyZWwiLCAic3R5bGVzaGVldCIpOw0KKyAg
ICAgICAgICAgIHN0eWxlc2hlZXQuc2V0QXR0cmlidXRlKCJocmVmIiwgc2NyaXB0X3ByZWZpeCAr
ICJ0ZXN0aGFybmVzcy5jc3MiKTsNCisgICAgICAgICAgICB2YXIgaGVhZHMgPSBvdXRwdXRfZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKTsNCisgICAgICAgICAgICBpZiAoaGVh
ZHMubGVuZ3RoKSB7DQorICAgICAgICAgICAgICAgIGhlYWRzWzBdLmFwcGVuZENoaWxkKHN0eWxl
c2hlZXQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisNCisgICAgICAgIHZhciBzdGF0
dXNfdGV4dCA9IHt9Ow0KKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5cGUuUEFTU10g
PSAiUGFzcyI7DQorICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3RvdHlwZS5GQUlMXSA9ICJG
YWlsIjsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJvdG90eXBlLlRJTUVPVVRdID0gIlRp
bWVvdXQiOw0KKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5wcm90b3R5cGUuTk9UUlVOXSA9ICJO
b3QgUnVuIjsNCisNCisgICAgICAgIHZhciBzdGF0dXNfbnVtYmVyID0ge307DQorICAgICAgICBm
b3JFYWNoKHRlc3RzLCBmdW5jdGlvbih0ZXN0KSB7DQorICAgICAgICAgICAgICAgICAgICB2YXIg
c3RhdHVzID0gc3RhdHVzX3RleHRbdGVzdC5zdGF0dXNdOw0KKyAgICAgICAgICAgICAgICAgICAg
aWYgKHN0YXR1c19udW1iZXIuaGFzT3duUHJvcGVydHkoc3RhdHVzKSkNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfbnVtYmVyW3N0YXR1c10g
Kz0gMTsNCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhdHVzX251bWJlcltzdGF0dXNdID0gMTsNCisgICAgICAgICAgICAgICAgICAgIH0N
CisgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICBmdW5jdGlvbiBzdGF0dXNfY2xhc3Mo
c3RhdHVzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBzdGF0dXMucmVwbGFjZSgv
XHMvZywgJycpLnRvTG93ZXJDYXNlKCk7DQorICAgICAgICB9DQorDQorICAgICAgICB2YXIgc3Vt
bWFyeV90ZW1wbGF0ZSA9IFsic2VjdGlvbiIsIHsiaWQiOiJzdW1tYXJ5In0sDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbImgyIiwge30sICJTdW1tYXJ5Il0sDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbInAiLCB7fSwgIkZvdW5kICR7bnVtX3Rlc3RzfSB0ZXN0
cyJdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odmFycykgew0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBydiA9IFtbImRpdiIsIHt9
XV07DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGk9MDsNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoc3RhdHVzX3RleHQuaGFzT3du
UHJvcGVydHkoaSkpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHN0YXR1c19udW1iZXIuaGFzT3duUHJvcGVydHkoc3RhdHVzX3RleHRbaV0pKSB7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gc3Rh
dHVzX3RleHRbaV07DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydlswXS5wdXNoKFsiZGl2IiwgeyJjbGFzcyI6c3RhdHVzX2NsYXNzKHN0YXR1cyl9LA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJs
YWJlbCIsIHt9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsiaW5wdXQiLCB7dHlwZToiY2hlY2tib3giLCBjaGVja2VkOiJjaGVja2Vk
In1dLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1c19udW1iZXJbc3RhdHVzXSArICIgIiArIHN0YXR1c11dKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBydjsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dOw0KKw0KKyAgICAgICAgbG9nLmFw
cGVuZENoaWxkKHJlbmRlcihzdW1tYXJ5X3RlbXBsYXRlLCB7bnVtX3Rlc3RzOnRlc3RzLmxlbmd0
aH0sIG91dHB1dF9kb2N1bWVudCkpOw0KKw0KKyAgICAgICAgZm9yRWFjaChvdXRwdXRfZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgic2VjdGlvbiNzdW1tYXJ5IGxhYmVsIiksDQorICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKGVsZW1lbnQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgIG9uX2V2ZW50KGVsZW1lbnQsICJjbGljayIsDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbihlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdXRwdXRfZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInJlc3VsdHMiKSA9PT0gbnVsbCkNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJl
dmVudERlZmF1bHQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0X2NsYXNzID0gZWxlbWVudC5wYXJlbnROb2Rl
LmdldEF0dHJpYnV0ZSgiY2xhc3MiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2YXIgc3R5bGVfZWxlbWVudCA9IG91dHB1dF9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJzdHls
ZSNoaWRlLSIgKyByZXN1bHRfY2xhc3MpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBpbnB1dF9lbGVtZW50ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3R5bGVfZWxlbWVudCAmJiAh
aW5wdXRfZWxlbWVudC5jaGVja2VkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0eWxlX2VsZW1lbnQgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHho
dG1sX25zLCAic3R5bGUiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3R5bGVfZWxlbWVudC5pZCA9ICJoaWRlLSIgKyByZXN1bHRfY2xhc3M7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlX2VsZW1lbnQuaW5uZXJIVE1MID0gInRhYmxl
I3Jlc3VsdHMgPiB0Ym9keSA+IHRyLiIrcmVzdWx0X2NsYXNzKyJ7ZGlzcGxheTpub25lfSI7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHN0eWxlX2VsZW1lbnQpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoc3R5bGVfZWxlbWVudCAmJiBpbnB1dF9lbGVtZW50LmNoZWNrZWQp
IHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVfZWxlbWVudC5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlX2VsZW1lbnQpOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAg
ICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgIC8vIFRoaXMgdXNlIG9mIGlubmVySFRNTCBw
bHVzIG1hbnVhbCBlc2NhcGluZyBpcyBub3QgcmVjb21tZW5kZWQgaW4NCisgICAgICAgIC8vIGdl
bmVyYWwsIGJ1dCBpcyBuZWNlc3NhcnkgaGVyZSBmb3IgcGVyZm9ybWFuY2UuICBVc2luZyB0ZXh0
Q29udGVudA0KKyAgICAgICAgLy8gb24gZWFjaCBpbmRpdmlkdWFsIDx0ZD4gYWRkcyB0ZW5zIG9m
IHNlY29uZHMgb2YgZXhlY3V0aW9uIHRpbWUgZm9yDQorICAgICAgICAvLyBsYXJnZSB0ZXN0IHN1
aXRlcyAodGVucyBvZiB0aG91c2FuZHMgb2YgdGVzdHMpLg0KKyAgICAgICAgZnVuY3Rpb24gZXNj
YXBlX2h0bWwocykNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4gcy5yZXBsYWNlKC9c
Ji9nLCAiJmFtcDsiKQ0KKyAgICAgICAgICAgICAgICAucmVwbGFjZSgvPC9nLCAiJmx0OyIpDQor
ICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8iL2csICImcXVvdDsiKQ0KKyAgICAgICAgICAgICAg
ICAucmVwbGFjZSgvJy9nLCAiJiMzOTsiKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGxvZy5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIikpOw0KKyAgICAgICAg
dmFyIGh0bWwgPSAiPGgyPkRldGFpbHM8L2gyPjx0YWJsZSBpZD0ncmVzdWx0cyc+Ig0KKyAgICAg
ICAgICAgICsgIjx0aGVhZD48dHI+PHRoPlJlc3VsdDwvdGg+PHRoPlRlc3QgTmFtZTwvdGg+PHRo
Pk1lc3NhZ2U8L3RoPjwvdHI+PC90aGVhZD4iDQorICAgICAgICAgICAgKyAiPHRib2R5PiI7DQor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7DQorICAgICAg
ICAgICAgaHRtbCArPSAnPHRyIGNsYXNzPSInDQorICAgICAgICAgICAgICAgICsgZXNjYXBlX2h0
bWwoc3RhdHVzX2NsYXNzKHN0YXR1c190ZXh0W3Rlc3RzW2ldLnN0YXR1c10pKQ0KKyAgICAgICAg
ICAgICAgICArICciPjx0ZD4nDQorICAgICAgICAgICAgICAgICsgZXNjYXBlX2h0bWwoc3RhdHVz
X3RleHRbdGVzdHNbaV0uc3RhdHVzXSkNCisgICAgICAgICAgICAgICAgKyAiPC90ZD48dGQ+Ig0K
KyAgICAgICAgICAgICAgICArIGVzY2FwZV9odG1sKGZvcm1hdF9zdHJpbmcodGVzdHNbaV0ubmFt
ZSkpDQorICAgICAgICAgICAgICAgICsgIjwvdGQ+PHRkPiINCisgICAgICAgICAgICAgICAgKyBl
c2NhcGVfaHRtbCh0ZXN0c1tpXS5tZXNzYWdlID8gZm9ybWF0X3N0cmluZyh0ZXN0c1tpXS5tZXNz
YWdlKSA6ICIgIikNCisgICAgICAgICAgICAgICAgKyAiPC90ZD48L3RyPiI7DQorICAgICAgICB9
DQorICAgICAgICBsb2cubGFzdENoaWxkLmlubmVySFRNTCA9IGh0bWwgKyAiPC90Ym9keT48L3Rh
YmxlPiI7DQorICAgIH07DQorDQorICAgIHZhciBvdXRwdXQgPSBuZXcgT3V0cHV0KCk7DQorICAg
IGFkZF9zdGFydF9jYWxsYmFjayhmdW5jdGlvbiAocHJvcGVydGllcykge291dHB1dC5pbml0KHBy
b3BlcnRpZXMpO30pOw0KKyAgICBhZGRfcmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9uICh0ZXN0KSB7
b3V0cHV0LnNob3dfc3RhdHVzKHRlc3RzKTt9KTsNCisgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soZnVuY3Rpb24gKHRlc3RzLCBoYXJuZXNzX3N0YXR1cykge291dHB1dC5zaG93X3Jlc3VsdHMo
dGVzdHMsIGhhcm5lc3Nfc3RhdHVzKTt9KTsNCisNCisgICAgLyoNCisgICAgICogVGVtcGxhdGUg
Y29kZQ0KKyAgICAgKg0KKyAgICAgKiBBIHRlbXBsYXRlIGlzIGp1c3QgYSBqYXZhc2NyaXB0IHN0
cnVjdHVyZS4gQW4gZWxlbWVudCBpcyByZXByZXNlbnRlZCBhczoNCisgICAgICoNCisgICAgICog
W3RhZ19uYW1lLCB7YXR0cl9uYW1lOmF0dHJfdmFsdWV9LCBjaGlsZDEsIGNoaWxkMl0NCisgICAg
ICoNCisgICAgICogdGhlIGNoaWxkcmVuIGNhbiBlaXRoZXIgYmUgc3RyaW5ncyAod2hpY2ggYWN0
IGxpa2UgdGV4dCBub2RlcyksIG90aGVyIHRlbXBsYXRlcyBvcg0KKyAgICAgKiBmdW5jdGlvbnMg
KHNlZSBiZWxvdykNCisgICAgICoNCisgICAgICogQSB0ZXh0IG5vZGUgaXMgcmVwcmVzZW50ZWQg
YXMNCisgICAgICoNCisgICAgICogWyJ7dGV4dH0iLCB2YWx1ZV0NCisgICAgICoNCisgICAgICog
U3RyaW5nIHZhbHVlcyBoYXZlIGEgc2ltcGxlIHN1YnN0aXR1dGlvbiBzeW50YXg7ICR7Zm9vfSBy
ZXByZXNlbnRzIGEgdmFyaWFibGUgZm9vLg0KKyAgICAgKg0KKyAgICAgKiBJdCBpcyBwb3NzaWJs
ZSB0byBlbWJlZCBsb2dpYyBpbiB0ZW1wbGF0ZXMgYnkgdXNpbmcgYSBmdW5jdGlvbiBpbiBhIHBs
YWNlIHdoZXJlIGENCisgICAgICogbm9kZSB3b3VsZCB1c3VhbGx5IGdvLiBUaGUgZnVuY3Rpb24g
bXVzdCBlaXRoZXIgcmV0dXJuIHBhcnQgb2YgYSB0ZW1wbGF0ZSBvciBudWxsLg0KKyAgICAgKg0K
KyAgICAgKiBJbiBjYXNlcyB3aGVyZSBhIHNldCBvZiBub2RlcyBhcmUgcmVxdWlyZWQgYXMgb3V0
cHV0IHJhdGhlciB0aGFuIGEgc2luZ2xlIG5vZGUNCisgICAgICogd2l0aCBjaGlsZHJlbiBpdCBp
cyBwb3NzaWJsZSB0byBqdXN0IHVzZSBhIGxpc3QNCisgICAgICogW25vZGUxLCBub2RlMiwgbm9k
ZTNdDQorICAgICAqDQorICAgICAqIFVzYWdlOg0KKyAgICAgKg0KKyAgICAgKiByZW5kZXIodGVt
cGxhdGUsIHN1YnN0aXR1dGlvbnMpIC0gdGFrZSBhIHRlbXBsYXRlIGFuZCBhbiBvYmplY3QgbWFw
cGluZw0KKyAgICAgKiB2YXJpYWJsZSBuYW1lcyB0byBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gZWl0
aGVyIGEgRE9NIG5vZGUgb3IgYSBsaXN0IG9mIERPTSBub2Rlcw0KKyAgICAgKg0KKyAgICAgKiBz
dWJzdGl0dXRlKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKSAtIHRha2UgYSB0ZW1wbGF0ZSBhbmQg
dmFyaWFibGUgbWFwcGluZyBvYmplY3QsDQorICAgICAqIG1ha2UgdGhlIHZhcmlhYmxlIHN1YnN0
aXR1dGlvbnMgYW5kIHJldHVybiB0aGUgc3Vic3RpdHV0ZWQgdGVtcGxhdGUNCisgICAgICoNCisg
ICAgICovDQorDQorICAgIGZ1bmN0aW9uIGlzX3NpbmdsZV9ub2RlKHRlbXBsYXRlKQ0KKyAgICB7
DQorICAgICAgICByZXR1cm4gdHlwZW9mIHRlbXBsYXRlWzBdID09PSAic3RyaW5nIjsNCisgICAg
fQ0KKw0KKyAgICBmdW5jdGlvbiBzdWJzdGl0dXRlKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKQ0K
KyAgICB7DQorICAgICAgICBpZiAodHlwZW9mIHRlbXBsYXRlID09PSAiZnVuY3Rpb24iKSB7DQor
ICAgICAgICAgICAgdmFyIHJlcGxhY2VtZW50ID0gdGVtcGxhdGUoc3Vic3RpdHV0aW9ucyk7DQor
ICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgdmFyIHJ2ID0gc3Vic3RpdHV0ZShyZXBsYWNlbWVudCwgc3Vic3RpdHV0aW9ucyk7DQor
ICAgICAgICAgICAgICAgIHJldHVybiBydjsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ZWxzZQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7DQorICAg
ICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoaXNfc2luZ2xlX25vZGUo
dGVtcGxhdGUpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBzdWJzdGl0dXRlX3Np
bmdsZSh0ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucyk7DQorICAgICAgICB9DQorICAgICAgICBlbHNl
DQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIGZpbHRlcihtYXAodGVtcGxhdGUsIGZ1
bmN0aW9uKHgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1
YnN0aXR1dGUoeCwgc3Vic3RpdHV0aW9ucyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSksIGZ1bmN0aW9uKHgpIHtyZXR1cm4geCAhPT0gbnVsbDt9KTsNCisgICAgICAgIH0NCisg
ICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBzdWJzdGl0dXRlX3NpbmdsZSh0ZW1wbGF0ZSwgc3Vic3Rp
dHV0aW9ucykNCisgICAgew0KKyAgICAgICAgdmFyIHN1YnN0aXR1dGlvbl9yZSA9IC9cJHsoW14g
fV0qKX0vZzsNCisNCisgICAgICAgIGZ1bmN0aW9uIGRvX3N1YnN0aXR1dGlvbihpbnB1dCkgew0K
KyAgICAgICAgICAgIHZhciBjb21wb25lbnRzID0gaW5wdXQuc3BsaXQoc3Vic3RpdHV0aW9uX3Jl
KTsNCisgICAgICAgICAgICB2YXIgcnYgPSBbXTsNCisgICAgICAgICAgICBmb3IgKHZhciBpPTA7
IGk8Y29tcG9uZW50cy5sZW5ndGg7IGkrPTIpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICBydi5wdXNoKGNvbXBvbmVudHNbaV0pOw0KKyAgICAgICAgICAgICAgICBpZiAoY29tcG9u
ZW50c1tpKzFdKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBydi5w
dXNoKFN0cmluZyhzdWJzdGl0dXRpb25zW2NvbXBvbmVudHNbaSsxXV0pKTsNCisgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICByZXR1cm4gcnY7DQorICAgICAg
ICB9DQorDQorICAgICAgICB2YXIgcnYgPSBbXTsNCisgICAgICAgIHJ2LnB1c2goZG9fc3Vic3Rp
dHV0aW9uKFN0cmluZyh0ZW1wbGF0ZVswXSkpLmpvaW4oIiIpKTsNCisNCisgICAgICAgIGlmICh0
ZW1wbGF0ZVswXSA9PT0gInt0ZXh0fSIpIHsNCisgICAgICAgICAgICBzdWJzdGl0dXRlX2NoaWxk
cmVuKHRlbXBsYXRlLnNsaWNlKDEpLCBydik7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAg
ICAgIHN1YnN0aXR1dGVfYXR0cnModGVtcGxhdGVbMV0sIHJ2KTsNCisgICAgICAgICAgICBzdWJz
dGl0dXRlX2NoaWxkcmVuKHRlbXBsYXRlLnNsaWNlKDIpLCBydik7DQorICAgICAgICB9DQorDQor
ICAgICAgICBmdW5jdGlvbiBzdWJzdGl0dXRlX2F0dHJzKGF0dHJzLCBydikNCisgICAgICAgIHsN
CisgICAgICAgICAgICBydlsxXSA9IHt9Ow0KKyAgICAgICAgICAgIGZvciAodmFyIG5hbWUgaW4g
dGVtcGxhdGVbMV0pDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAoYXR0cnMu
aGFzT3duUHJvcGVydHkobmFtZSkpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgIHZhciBuZXdfbmFtZSA9IGRvX3N1YnN0aXR1dGlvbihuYW1lKS5qb2luKCIiKTsNCisg
ICAgICAgICAgICAgICAgICAgIHZhciBuZXdfdmFsdWUgPSBkb19zdWJzdGl0dXRpb24oYXR0cnNb
bmFtZV0pLmpvaW4oIiIpOw0KKyAgICAgICAgICAgICAgICAgICAgcnZbMV1bbmV3X25hbWVdID0g
bmV3X3ZhbHVlOw0KKyAgICAgICAgICAgICAgICB9Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAg
IH0NCisNCisgICAgICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGVfY2hpbGRyZW4oY2hpbGRyZW4sIHJ2
KQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGZvciAodmFyIGk9MDsgaTxjaGlsZHJlbi5sZW5n
dGg7IGkrKykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltp
XSBpbnN0YW5jZW9mIE9iamVjdCkgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHJlcGxhY2Vt
ZW50ID0gc3Vic3RpdHV0ZShjaGlsZHJlbltpXSwgc3Vic3RpdHV0aW9ucyk7DQorICAgICAgICAg
ICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQgIT09IG51bGwpDQorICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3NpbmdsZV9ub2RlKHJlcGxhY2Vt
ZW50KSkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ2LnB1c2gocmVwbGFjZW1lbnQpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0N
CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQocnYsIHJlcGxhY2VtZW50KTsN
CisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICBleHRlbmQocnYsIGRvX3N1YnN0aXR1dGlvbihTdHJpbmco
Y2hpbGRyZW5baV0pKSk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgcmV0dXJuIHJ2Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgcmV0dXJuIHJ2Ow0K
KyAgICB9DQorDQorIGZ1bmN0aW9uIG1ha2VfZG9tX3NpbmdsZSh0ZW1wbGF0ZSwgZG9jKQ0KKyB7
DQorICAgICB2YXIgb3V0cHV0X2RvY3VtZW50ID0gZG9jIHx8IGRvY3VtZW50Ow0KKyAgICAgaWYg
KHRlbXBsYXRlWzBdID09PSAie3RleHR9IikNCisgICAgIHsNCisgICAgICAgICB2YXIgZWxlbWVu
dCA9IG91dHB1dF9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7DQorICAgICAgICAgZm9yICh2
YXIgaT0xOyBpPHRlbXBsYXRlLmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAg
ICAgZWxlbWVudC5kYXRhICs9IHRlbXBsYXRlW2ldOw0KKyAgICAgICAgIH0NCisgICAgIH0NCisg
ICAgIGVsc2UNCisgICAgIHsNCisgICAgICAgICB2YXIgZWxlbWVudCA9IG91dHB1dF9kb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMoeGh0bWxfbnMsIHRlbXBsYXRlWzBdKTsNCisgICAgICAgICBmb3Ig
KHZhciBuYW1lIGluIHRlbXBsYXRlWzFdKSB7DQorICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZVsx
XS5oYXNPd25Qcm9wZXJ0eShuYW1lKSkNCisgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdGVtcGxhdGVbMV1bbmFtZV0pOw0KKyAgICAg
ICAgICAgICB9DQorICAgICAgICAgfQ0KKyAgICAgICAgIGZvciAodmFyIGk9MjsgaTx0ZW1wbGF0
ZS5sZW5ndGg7IGkrKykNCisgICAgICAgICB7DQorICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZVtp
XSBpbnN0YW5jZW9mIE9iamVjdCkNCisgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAg
dmFyIHN1Yl9lbGVtZW50ID0gbWFrZV9kb20odGVtcGxhdGVbaV0pOw0KKyAgICAgICAgICAgICAg
ICAgZWxlbWVudC5hcHBlbmRDaGlsZChzdWJfZWxlbWVudCk7DQorICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICB2YXIg
dGV4dF9ub2RlID0gb3V0cHV0X2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRlbXBsYXRlW2ldKTsN
CisgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dF9ub2RlKTsNCisgICAg
ICAgICAgICAgfQ0KKyAgICAgICAgIH0NCisgICAgIH0NCisNCisgICAgIHJldHVybiBlbGVtZW50
Ow0KKyB9DQorDQorDQorDQorIGZ1bmN0aW9uIG1ha2VfZG9tKHRlbXBsYXRlLCBzdWJzdGl0dXRp
b25zLCBvdXRwdXRfZG9jdW1lbnQpDQorICAgIHsNCisgICAgICAgIGlmIChpc19zaW5nbGVfbm9k
ZSh0ZW1wbGF0ZSkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIG1ha2VfZG9tX3Np
bmdsZSh0ZW1wbGF0ZSwgb3V0cHV0X2RvY3VtZW50KTsNCisgICAgICAgIH0NCisgICAgICAgIGVs
c2UNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4gbWFwKHRlbXBsYXRlLCBmdW5jdGlv
bih4KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfZG9tX3Npbmds
ZSh4LCBvdXRwdXRfZG9jdW1lbnQpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgfSk7DQorICAg
ICAgICB9DQorICAgIH0NCisNCisgZnVuY3Rpb24gcmVuZGVyKHRlbXBsYXRlLCBzdWJzdGl0dXRp
b25zLCBvdXRwdXRfZG9jdW1lbnQpDQorICAgIHsNCisgICAgICAgIHJldHVybiBtYWtlX2RvbShz
dWJzdGl0dXRlKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKSwgb3V0cHV0X2RvY3VtZW50KTsNCisg
ICAgfQ0KKw0KKyAgICAvKg0KKyAgICAgKiBVdGlsaXR5IGZ1bmNpb25zDQorICAgICAqLw0KKyAg
ICBmdW5jdGlvbiBhc3NlcnQoZXhwZWN0ZWRfdHJ1ZSwgZnVuY3Rpb25fbmFtZSwgZGVzY3JpcHRp
b24sIGVycm9yLCBzdWJzdGl0dXRpb25zKQ0KKyAgICB7DQorICAgICAgICBpZiAoZXhwZWN0ZWRf
dHJ1ZSAhPT0gdHJ1ZSkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0
aW9uRXJyb3IobWFrZV9tZXNzYWdlKGZ1bmN0aW9uX25hbWUsIGRlc2NyaXB0aW9uLA0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IsIHN1YnN0
aXR1dGlvbnMpKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBBc3NlcnRp
b25FcnJvcihtZXNzYWdlKQ0KKyAgICB7DQorICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdl
Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIG1ha2VfbWVzc2FnZShmdW5jdGlvbl9uYW1lLCBk
ZXNjcmlwdGlvbiwgZXJyb3IsIHN1YnN0aXR1dGlvbnMpDQorICAgIHsNCisgICAgICAgIGZvciAo
dmFyIHAgaW4gc3Vic3RpdHV0aW9ucykgew0KKyAgICAgICAgICAgIGlmIChzdWJzdGl0dXRpb25z
Lmhhc093blByb3BlcnR5KHApKSB7DQorICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNbcF0g
PSBmb3JtYXRfdmFsdWUoc3Vic3RpdHV0aW9uc1twXSk7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgfQ0KKyAgICAgICAgdmFyIG5vZGVfZm9ybSA9IHN1YnN0aXR1dGUoWyJ7dGV4dH0iLCAiJHtm
dW5jdGlvbl9uYW1lfTogJHtkZXNjcmlwdGlvbn0iICsgZXJyb3JdLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWVyZ2Uoe2Z1bmN0aW9uX25hbWU6ZnVuY3Rpb25fbmFtZSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjoo
ZGVzY3JpcHRpb24/ZGVzY3JpcHRpb24gKyAiICI6IiIpfSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zKSk7DQorICAgICAgICByZXR1cm4g
bm9kZV9mb3JtLnNsaWNlKDEpLmpvaW4oIiIpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGZp
bHRlcihhcnJheSwgY2FsbGFibGUsIHRoaXNPYmopIHsNCisgICAgICAgIHZhciBydiA9IFtdOw0K
KyAgICAgICAgZm9yICh2YXIgaT0wOyBpPGFycmF5Lmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0K
KyAgICAgICAgICAgIGlmIChhcnJheS5oYXNPd25Qcm9wZXJ0eShpKSkNCisgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgIHZhciBwYXNzID0gY2FsbGFibGUuY2FsbCh0aGlzT2JqLCBhcnJh
eVtpXSwgaSwgYXJyYXkpOw0KKyAgICAgICAgICAgICAgICBpZiAocGFzcykgew0KKyAgICAgICAg
ICAgICAgICAgICAgcnYucHVzaChhcnJheVtpXSk7DQorICAgICAgICAgICAgICAgIH0NCisgICAg
ICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgICByZXR1cm4gcnY7DQorICAgIH0NCisNCisg
ICAgZnVuY3Rpb24gbWFwKGFycmF5LCBjYWxsYWJsZSwgdGhpc09iaikNCisgICAgew0KKyAgICAg
ICAgdmFyIHJ2ID0gW107DQorICAgICAgICBydi5sZW5ndGggPSBhcnJheS5sZW5ndGg7DQorICAg
ICAgICBmb3IgKHZhciBpPTA7IGk8YXJyYXkubGVuZ3RoOyBpKyspDQorICAgICAgICB7DQorICAg
ICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGkpKQ0KKyAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgcnZbaV0gPSBjYWxsYWJsZS5jYWxsKHRoaXNPYmosIGFycmF5W2ldLCBp
LCBhcnJheSk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJuIHJ2
Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGV4dGVuZChhcnJheSwgaXRlbXMpDQorICAgIHsN
CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGFycmF5LCBpdGVtcyk7DQorICAg
IH0NCisNCisgICAgZnVuY3Rpb24gZm9yRWFjaCAoYXJyYXksIGNhbGxiYWNrLCB0aGlzT2JqKQ0K
KyAgICB7DQorICAgICAgICBmb3IgKHZhciBpPTA7IGk8YXJyYXkubGVuZ3RoOyBpKyspDQorICAg
ICAgICB7DQorICAgICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGkpKQ0KKyAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzT2JqLCBhcnJheVtp
XSwgaSwgYXJyYXkpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAg
ICBmdW5jdGlvbiBtZXJnZShhLGIpDQorICAgIHsNCisgICAgICAgIHZhciBydiA9IHt9Ow0KKyAg
ICAgICAgdmFyIHA7DQorICAgICAgICBmb3IgKHAgaW4gYSkNCisgICAgICAgIHsNCisgICAgICAg
ICAgICBydltwXSA9IGFbcF07DQorICAgICAgICB9DQorICAgICAgICBmb3IgKHAgaW4gYikgew0K
KyAgICAgICAgICAgIHJ2W3BdID0gYltwXTsNCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBy
djsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBleHBvc2Uob2JqZWN0LCBuYW1lKQ0KKyAgICB7
DQorICAgICAgICB2YXIgY29tcG9uZW50cyA9IG5hbWUuc3BsaXQoIi4iKTsNCisgICAgICAgIHZh
ciB0YXJnZXQgPSB3aW5kb3c7DQorICAgICAgICBmb3IgKHZhciBpPTA7IGk8Y29tcG9uZW50cy5s
ZW5ndGggLSAxOyBpKyspDQorICAgICAgICB7DQorICAgICAgICAgICAgaWYgKCEoY29tcG9uZW50
c1tpXSBpbiB0YXJnZXQpKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGFyZ2V0
W2NvbXBvbmVudHNbaV1dID0ge307DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRhcmdl
dCA9IHRhcmdldFtjb21wb25lbnRzW2ldXTsNCisgICAgICAgIH0NCisgICAgICAgIHRhcmdldFtj
b21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV1dID0gb2JqZWN0Ow0KKyAgICB9DQorDQor
IGZ1bmN0aW9uIGFuY2VzdG9yX3dpbmRvd3MoKSB7DQorICAgICAvL0dldCB0aGUgd2luZG93cyBb
c2VsZiAuLi4gdG9wXSBhcyBhbiBhcnJheQ0KKyAgICAgaWYgKCJyZXN1bHRfY2FjaGUiIGluIGFu
Y2VzdG9yX3dpbmRvd3MpDQorICAgICB7DQorICAgICAgICAgcmV0dXJuIGFuY2VzdG9yX3dpbmRv
d3MucmVzdWx0X2NhY2hlOw0KKyAgICAgfQ0KKyAgICAgdmFyIHJ2ID0gW3NlbGZdOw0KKyAgICAg
dmFyIHcgPSBzZWxmOw0KKyAgICAgd2hpbGUgKHcgIT0gdy5wYXJlbnQpDQorICAgICB7DQorICAg
ICAgICAgdyA9IHcucGFyZW50Ow0KKyAgICAgICAgIHJ2LnB1c2godyk7DQorICAgICB9DQorICAg
ICBhbmNlc3Rvcl93aW5kb3dzLnJlc3VsdF9jYWNoZSA9IHJ2Ow0KKyAgICAgcmV0dXJuIHJ2Ow0K
KyB9DQorDQorfSkoKTsNCisvLyB2aW06IHNldCBleHBhbmR0YWIgc2hpZnR3aWR0aD00IHRhYnN0
b3A9NDoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTg0YjYxOGMxYWY1N2UxMzA3NjJmMTJkOTc0MWEzY2EwMDg0MzFjOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcwpAQCAtMCwwICsxLDc5IEBACisvKg0KKyAqIFRISVMgRklMRSBJTlRFTlRJT05B
TExZIExFRlQgQkxBTksNCisgKg0KKyAqIE1vcmUgc3BlY2lmaWNhbGx5LCB0aGlzIGZpbGUgaXMg
aW50ZW5kZWQgZm9yIHZlbmRvcnMgdG8gaW1wbGVtZW50DQorICogY29kZSBuZWVkZWQgdG8gaW50
ZWdyYXRlIHRlc3RoYXJuZXNzLmpzIHRlc3RzIHdpdGggdGhlaXIgb3duIHRlc3Qgc3lzdGVtcy4N
CisgKg0KKyAqIFR5cGljYWxseSBzdWNoIGludGVncmF0aW9uIHdpbGwgYXR0YWNoIGNhbGxiYWNr
cyB3aGVuIGVhY2ggdGVzdCBpcw0KKyAqIGhhcyBydW4sIHVzaW5nIGFkZF9yZXN1bHRfY2FsbGJh
Y2soY2FsbGJhY2sodGVzdCkpLCBvciB3aGVuIHRoZSB3aG9sZSB0ZXN0IGZpbGUgaGFzDQorICog
Y29tcGxldGVkLCB1c2luZyBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhjYWxsYmFjayh0ZXN0cywg
aGFybmVzc19zdGF0dXMpKS4NCisgKg0KKyAqIEZvciBtb3JlIGRvY3VtZW50YXRpb24gYWJvdXQg
dGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBhbmQgdGhlDQorICogcGFyYW1ldGVycyB0aGV5IGFyZSBj
YWxsZWQgd2l0aCBzZWUgdGVzdGhhcm5lc3MuanMNCisgKi8NCisNCisvLyBTZXR1cCBmb3IgV2Vi
S2l0IEphdmFTY3JpcHQgdGVzdHMNCitpZiAoc2VsZi50ZXN0UnVubmVyKSB7DQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOw0KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCit9
DQorDQorLy8gRnVuY3Rpb24gdXNlZCB0byBjb252ZXJ0IHRoZSB0ZXN0IHN0YXR1cyBjb2RlIGlu
dG8NCisvLyB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmcNCitmdW5jdGlvbiBjb252ZXJ0UmVzdWx0
KHJlc3VsdFN0YXR1cyl7DQorCWlmKHJlc3VsdFN0YXR1cyA9PSAwKQ0KKwkJcmV0dXJuKCJQQVNT
Iik7DQorCWVsc2UgaWYocmVzdWx0U3RhdHVzID09IDEpDQorCQlyZXR1cm4oIkZBSUwiKTsNCisJ
ZWxzZSBpZihyZXN1bHRTdGF0dXMgPT0gMikNCisJCXJldHVybigiVElNRU9VVCIpOw0KKwllbHNl
DQorCQlyZXR1cm4oIk5PVFJVTiIpOw0KK30NCisNCisvKiBEaXNhYmxlIHRoZSBkZWZhdWx0IG91
dHB1dCBvZiB0ZXN0aGFybmVzcy5qcy4gIFRoZSBkZWZhdWx0IG91dHB1dCBmb3JtYXRzDQorKiAg
dGVzdCByZXN1bHRzIGludG8gYW4gSFRNTCB0YWJsZS4gIFdoZW4gdGhhdCB0YWJsZSBpcyBkdW1w
ZWQgYXMgdGV4dCwgbm8NCisqICBzcGFjaW5nIGJldHdlZW4gY2VsbHMgaXMgcHJlc2VydmVkLCBh
bmQgaXQgaXMgdGhlcmVmb3JlIG5vdCByZWFkYWJsZS4gQnkNCisqICBzZXR0aW5nIG91dHB1dCB0
byBmYWxzZSwgdGhlIEhUTUwgdGFibGUgd2lsbCBub3QgYmUgY3JlYXRlZA0KKyovDQorc2V0dXAo
eyJvdXRwdXQiOmZhbHNlfSk7DQorDQorLyogIFVzaW5nIGEgY2FsbGJhY2sgZnVuY3Rpb24sIHRl
c3QgcmVzdWx0cyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBwYWdlIGluIGEgDQorKiAgIG1hbm5lciB0
aGF0IGFsbG93cyBkdW1wQXNUZXh0IHRvIHByb2R1Y2UgcmVhZGFibGUgdGVzdCByZXN1bHRzDQor
Ki8NCithZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbiAodGVzdHMsIGhhcm5lc3Nfc3Rh
dHVzKXsNCisJDQorCS8vIENyZWF0ZSBlbGVtZW50IHRvIGhvbGQgcmVzdWx0cw0KKwl2YXIgcmVz
dWx0cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpOw0KKwkNCisJLy8gRGVjbGFyZSBy
ZXN1bHQgc3RyaW5nDQorCXZhciByZXN1bHRTdHIgPSAiXG4iOw0KKwkNCisJLy8gQ2hlY2sgaGFy
bmVzc19zdGF0dXMuICBJZiBpdCBpcyBub3QgMCwgdGVzdHMgZGlkIG5vdA0KKwkvLyBleGVjdXRl
IGNvcnJlY3RseSwgb3V0cHV0IHRoZSBlcnJvciBjb2RlIGFuZCBtZXNzYWdlDQorCWlmKGhhcm5l
c3Nfc3RhdHVzLnN0YXR1cyAhPSAwKXsNCisJCXJlc3VsdFN0ciArPSAiSGFybmVzcyBFcnJvci4g
aGFybmVzc19zdGF0dXMuc3RhdHVzID0gIiArIA0KKwkJCQkJIGhhcm5lc3Nfc3RhdHVzLnN0YXR1
cyArDQorCQkJCQkgIiAsIGhhcm5lc3Nfc3RhdHVzLm1lc3NhZ2UgPSAiICsNCisJCQkJCSBoYXJu
ZXNzX3N0YXR1cy5tZXNzYWdlOw0KKwl9DQorCWVsc2Ugew0KKwkJLy8gSXRlcmF0ZSB0aHJvdWdo
IHRlc3RzIGFycmF5IGFuZCBidWlsZCBzdHJpbmcgdGhhdCBjb250YWlucw0KKwkJLy8gcmVzdWx0
cyBmb3IgYWxsIHRlc3RzDQorCQlmb3IodmFyIGk9MDsgaTx0ZXN0cy5sZW5ndGg7IGkrKyl7CQkJ
CSANCisJCQlyZXN1bHRTdHIgKz0gY29udmVydFJlc3VsdCh0ZXN0c1tpXS5zdGF0dXMpICsgIiAi
ICsgDQorCQkJCQkJKCAodGVzdHNbaV0ubmFtZSE9bnVsbCkgPyB0ZXN0c1tpXS5uYW1lIDogIiIg
KSArICIgIiArDQorCQkJCQkJKCAodGVzdHNbaV0ubWVzc2FnZSE9bnVsbCkgPyB0ZXN0c1tpXS5t
ZXNzYWdlIDogIiIgKSArIA0KKwkJCQkJCSJcbiI7DQorCQl9CQkJDQorCX0NCisNCisJLy8gU2V0
IHJlc3VsdHMgZWxlbWVudCdzIGlubmVySFRNTCB0byB0aGUgcmVzdWx0cyBzdHJpbmcNCisJcmVz
dWx0cy5pbm5lckhUTUwgPSByZXN1bHRTdHI7DQorDQorCS8vIEFkZCByZXN1bHRzIGVsZW1lbnQg
dG8gZG9jdW1lbnQNCisJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZXN1bHRzKTsNCisNCisJ
aWYgKHNlbGYudGVzdFJ1bm5lcikNCisJCXRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF9kb2N1bWVudF9vcGVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjQ1
M2QzMWIwZjg4ZjM1ZjlhYjM1MmU1YzI1NmU4MmUyMDU5NTU2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMyBA
QAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIHJlbWFpbnMgY29uc3RhbnQgd2hlbiBhIGRvY3VtZW50IGlzIHJlcGxhY2VkIHVzaW5n
IGRvY3VtZW50Lm9wZW4uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxs
b3cgZnJhbWUgYmVsb3cuIEl0IHRoZW4gcmVwbGFjZXMgdGhlIGRvY3VtZW50IGluIHRoYXQgZnJh
bWUgd2l0aCBhIGdyZWVuIGRvY3VtZW50LgorCitUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRo
ZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBjb3JyZWN0IGFuZCB0aGUgZnJhbWUg
YmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4KKworCisKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1MgY29ubmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRv
Y3VtZW50IG9wZW4uIAorUEFTUyBkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVy
IGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0
ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0
ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4gCitQQVNTIG5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiAKK1BBU1MgcmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4g
CitQQVNTIHJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQ
QVNTIHJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1Mg
cmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlc3Bv
bnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHVubG9hZEV2
ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyB1bmxvYWRFdmVu
dFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVu
dF9vcGVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQwMmUxZjFiMTdlZmFiYTk1YjAwNjBhYmZjNjI3OTMx
OTAzNDIyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4u
aHRtbApAQCAtMCwwICsxLDExMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
ZyBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCBkb2N1bWVudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8i
IC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmNzcyIgLz4KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKgoreworICAid2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwKKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
CisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAiY29ubmVj
dEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiY29ubmVjdFN0
YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Db21wbGV0
ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVudExv
YWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJk
b21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAiZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgImZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAibG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgIm5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgInJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAicmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgInJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgInVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4u
Ijoge30sCisgICJ1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIjoge30KK30KKyovPC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4cGxpY2l0X2RvbmU6
IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0
YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCk7CisKK3ZhciBvcmlnaW5hbFRpbWluZyA9IHt9
OwordmFyIGRpZE9wZW4gPSBmYWxzZTsKKworZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgIGlm
ICghZGlkT3BlbikgeworICAgIHNldFRpbWVvdXQodGVzdFRpbWluZ1dpdGhEb2N1bWVudE9wZW4s
IDApOworICAgIGRpZE9wZW4gPSB0cnVlOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RUaW1pbmdX
aXRoRG9jdW1lbnRPcGVuKCkgeworICB2YXIgc3ViY29udGVudFdpbmRvdyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93OworCisgIGlmIChzdWJj
b250ZW50V2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRlZmluZWQpCisgIHsKKyAgICAvLyBhdm9p
ZCBzY3JpcHQgZXJyb3JzCisgICAgZG9uZSgpOworICAgIHJldHVybjsKKyAgfQorICAKKyAgdmFy
IHRpbWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOworICBmb3IgKGkg
aW4gdGltaW5nQXR0cmlidXRlcykgeworICAgIG9yaWdpbmFsVGltaW5nW3RpbWluZ0F0dHJpYnV0
ZXNbaV1dID0gdGltaW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dOworICB9CisKKyAgdmFyIHN1YmRv
Y3VtZW50ID0gc3ViY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgc3ViZG9jdW1lbnQub3Blbigp
OworICBzdWJkb2N1bWVudC53cml0ZSgnPCFET0NUWVBFIEhUTUw+Jyk7CisgIHN1YmRvY3VtZW50
LndyaXRlKCc8aHRtbD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxoZWFkPicpOworICBzdWJk
b2N1bWVudC53cml0ZSgnPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Jyk7CisgIHN1YmRvY3VtZW50
LndyaXRlKCc8dGl0bGU+PEdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+Jyk7CisgIHN1YmRvY3VtZW50
LndyaXRlKCc8L2hlYWQ+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8Ym9keSBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjojMDBGRjAwOyI+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2JvZHk+
Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2h0bWw+Jyk7CisgIHN1YmRvY3VtZW50LmNsb3Nl
KCk7CisKKyAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGltaW5nID0gc3ViY29u
dGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7CisgICAgZm9yICh2YXIgaSBpbiB0aW1pbmdB
dHRyaWJ1dGVzKSB7CisgICAgICB0ZXN0X2VxdWFscyh0aW1pbmdbdGltaW5nQXR0cmlidXRlc1tp
XV0sCisgICAgICAgICAgICAgICAgICBvcmlnaW5hbFRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ld
XSwKKyAgICAgICAgICAgICAgICAgIHRpbWluZ0F0dHJpYnV0ZXNbaV0gKyAiIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIik7CisgICAgfQorICAgIGRvbmUoKTsKKyAgfSwgMCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRo
aXMgdGVzdCB2YWxpZGF0ZXMgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNvbnN0
YW50IHdoZW4gYQorZG9jdW1lbnQgaXMgcmVwbGFjZWQgdXNpbmcgZG9jdW1lbnQub3Blbi48L3A+
CisKKzxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgZnJhbWUgYmVs
b3cuIEl0IHRoZW4gcmVwbGFjZXMgdGhlCitkb2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGggYSBn
cmVlbiBkb2N1bWVudC48L3A+CisKKzxwPlRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNo
ZWNrcyB0byBwZXJmb3JtYW5jZS50aW1pbmcgYXJlIGNvcnJlY3QgYW5kCit0aGUgZnJhbWUgYmVs
b3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC48L3A+CisKKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8YnIgLz4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVz
dCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bSIg
c3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4
aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlz
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRhMzM3MWE4MWUxOTUxMzI1NzRiYzVlNDcwOGM5
NzE0MWIyN2MyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3Jl
YWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIsICJpbnRlcmFjdGl2ZSIg
YW5kICJjb21wbGV0ZSIgZG9jdW1lbnQucmVhZHlTdGF0ZSBzdGF0ZXMgYXJlIGF2YWlsYWJsZSBk
dXJpbmcgYSBuYXZpZ2F0aW9uLgorCitSZWZyZXNoIHRoaXMgcGFnZSB0byBndWFyYW50ZWUgYWxs
IHJlYWR5U3RhdGUgcGhhc2VzLgorCisKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBsb2Fk
aW5nIHN0YXRlLiAKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFjdGl2ZSBzdGF0
ZS4gCitQQVNTIERvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIy
Y2E0MjU0MGUxZTc0ZTc5NmEzY2YxMzU3NzVmMTg1Yzg5NDljYTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QuaHRtbApAQCAtMCwwICsx
LDU4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+DQorICAgIDx0aXRsZT5kb2N1bWVudC5yZWFkeVN0YXRlIHZhbHVl
cyBleGlzdCBkdXJpbmcgYSBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+
DQorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUv
ZG9tLmh0bWwjcmVzb3VyY2UtbWV0YWRhdGEtbWFuYWdlbWVudCIvPg0KKyAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICA8c2NyaXB0
IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAg
ICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0Pg0KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUi
Pi8qDQorew0KKyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4iOiB7fSwN
CisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiI6IHt9LA0KKyAg
IkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIjoge30NCit9DQorKi88L3Nj
cmlwdD4gICANCisgICAgPHNjcmlwdD4NCisgICAgICAgIHNldHVwKHsgZXhwbGljaXRfZG9uZTog
dHJ1ZSB9KTsNCisgICAgICAgIHZhciBoYXNfbG9hZGluZyA9IChkb2N1bWVudC5yZWFkeVN0YXRl
ID09ICJsb2FkaW5nIik7DQorICAgICAgICB2YXIgaGFzX2ludGVyYWN0aXZlID0gKGRvY3VtZW50
LnJlYWR5U3RhdGUgPT0gImludGVyYWN0aXZlIik7DQorICAgICAgICB2YXIgaGFzX2NvbXBsZXRl
ID0gKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImNvbXBsZXRlIik7DQorDQorICAgICAgICBkb2N1
bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAg
ICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImxvYWRpbmciKQ0KKyAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgaGFzX2xvYWRpbmcgPSB0cnVlOw0KKyAgICAgICAgICAgIH0N
CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiaW50ZXJhY3RpdmUiKQ0K
KyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2ludGVyYWN0aXZlID0gdHJ1ZTsN
CisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPSAi
Y29tcGxldGUiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2NvbXBsZXRl
ID0gdHJ1ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9Ow0KKw0KKyAgICAgICAgZnVuY3Rp
b24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfdHJ1ZShoYXNf
bG9hZGluZywgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4iKTsNCisgICAg
ICAgICAgICB0ZXN0X3RydWUoaGFzX2ludGVyYWN0aXZlLCAiRG9jdW1lbnQgcmVhZGluZXNzIGhh
cyBpbnRlcmFjdGl2ZSBzdGF0ZS4iKTsNCisgICAgICAgICAgICB0ZXN0X3RydWUoaGFzX2NvbXBs
ZXRlLCAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBjb21wbGV0ZSBzdGF0ZS4iKTsNCisgICAgICAg
ICAgICBkb25lKCk7DQorICAgICAgICB9DQorICAgIDwvc2NyaXB0Pg0KKw0KKzwvaGVhZD4NCis8
Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4N
CisgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIsICJpbnRlcmFj
dGl2ZSIgYW5kICJjb21wbGV0ZSINCisgICAgICAgZG9jdW1lbnQucmVhZHlTdGF0ZSBzdGF0ZXMg
YXJlIGF2YWlsYWJsZSBkdXJpbmcgYSBuYXZpZ2F0aW9uLjwvcD4NCisgICAgPHA+UmVmcmVzaCB0
aGlzIHBhZ2UgdG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy48L3A+DQorICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTQ1Zjg0YTI4YWIwZDkzMDM3ZGUzOTc1NWU0YTBmMjZiMjFhZDc4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRo
YXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgcmVtYWlu
IHVuY2hhbmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uIChVUkwgZnJhZ21lbnQg
Y2hhbmdlKS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIGNvbm5lY3RFbmQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGNvbm5lY3RTdGFy
dCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9tQ29t
cGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRv
bUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUludGVyYWN0aXZlIGlzIHRoZSBz
YW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Mb2FkaW5nIGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21haW5Mb29rdXBF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbWFp
bkxvb2t1cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAor
UEFTUyBmZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
IAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlc3BvbnNlRW5kIGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZXNwb25zZVN0
YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyB1bmxv
YWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BB
U1MgdW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3Vt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NWEyY2U3ZTYyMzNkM2RkYTZlZDRlYjVlZmE5NTdjODg4YWRjZWFiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50Lmh0
bWwKQEAgLTAsMCArMSwxMDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiA+CisgICAgICAgIDx0aXRsZT53aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nIGluIGRvY3VtZW50IG5hdmlnYXRpb248L3RpdGxlPgorICAgICAg
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyIgLz4KKyAJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPgor
CTxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNo
ZSI+LyoKK3sKKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogeworICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyIKKyAgfSwKKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsKKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iCisgIH0sCisgICJjb25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIjoge30sCisgICJjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIg
aW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUNvbXBsZXRlIGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Db250ZW50TG9hZGVk
RXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21JbnRlcmFjdGl2ZSBpcyB0aGUgc2FtZSBhZnRl
ciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tTG9hZGluZyBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tYWluTG9va3VwRW5k
IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21h
aW5Mb29rdXBTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6
IHt9LAorICAiZmV0Y2hTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiI6IHt9LAorICAibG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIjoge30sCisgICJsb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBp
biBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAibmF2aWdhdGlvblN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZWRpcmVjdEVuZCBp
cyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAicmVkaXJl
Y3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAor
ICAicmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
Ijoge30sCisgICJyZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiI6IHt9LAorICAicmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1
bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAidW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInVubG9hZEV2ZW50U3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fQorfQorKi88L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+
CisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyByZW1haW4gdW5jaGFuZ2VkIGFmdGVyIGFuIGlu
IGRvY3VtZW50IG5hdmlnYXRpb24gKFVSTCBmcmFnbWVudCBjaGFuZ2UpLjwvcD4KKworICAgICAg
ICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgc2V0
dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKworICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0
ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcKKyAgICAgICAgICAgIHRl
c3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsKKworICAgICAgICAgICAgdmFyIHRpbWluZzsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gY2hlY2tfdGltaW5nX25vdF9jaGFuZ2VkKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMu
bGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIg
cHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOworICAgICAgICAgICAgICAgICAgICB0ZXN0
X2VxdWFscyh0aW1pbmdbcHJvcGVydHldLCBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5ICsgIiBpcyB0aGUgc2FtZSBhZnRl
ciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciBpbml0aWFs
X3RpbWluZyA9IHt9OworICAgICAgICAgICAgZnVuY3Rpb24gc2F2ZV90aW1pbmdfYWZ0ZXJfbG9h
ZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0
aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsKKyAgICAgICAg
ICAgICAgICAgICAgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldID0gdGltaW5nW3Byb3BlcnR5XTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYg
PSAiIzEiOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoImNoZWNrX3RpbWluZ19ub3RfY2hh
bmdlZCgpIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWRf
aGFuZGxlcigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNl
TmFtZXNwYWNlID09PSB1bmRlZmluZWQpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzCisgICAgICAgICAgICAgICAgICAgIGRvbmUo
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgIHRpbWluZyA9IHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRp
bWluZzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExp
c3RlbmVyKCJsb2FkIiwgbG9hZF9oYW5kbGVyKTsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0
KCJzYXZlX3RpbWluZ19hZnRlcl9sb2FkKCkiLCAwKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBsb2FkX2hhbmRsZXIsIGZhbHNl
KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjBkNTYxZjU4MDBmYmY1NGZiODBmNDAzMjAzMjcwMDcxMGI5MGVkZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlz
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24g
YXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVz
IGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGlzIGRlZmluZWQuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQxYjFjOWQyNjBmNmE0MjFhZmM0Y2U2YTU1NzBiOTAyNTZlMjlkN2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApA
QCAtMCwwICsxLDQxIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+
DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQorICAgICAgICA8dGl0bGU+d2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gYXR0cmlidXRlczwvdGl0bGU+DQorICAgICAgICA8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3Nv
ZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiLz4NCisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRh
ZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
biBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAi
YXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9z
dGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJh
dXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgaXMgZGVmaW5lZC4iOiB7fQ0KK30NCisq
Lzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2Ny
aXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2Yg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBk
b2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKw0K
KyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgdGVzdF9hdHRy
aWJ1dGVfZXhpc3RzKCduYXZpZ2F0aW9uJywgJ3R5cGUnKTsNCisgICAgICAgIHRlc3RfYXR0cmli
dXRlX2V4aXN0cygnbmF2aWdhdGlvbicsICdyZWRpcmVjdENvdW50Jyk7DQorICAgICAgICA8L3Nj
cmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjlhZmY2NGJiZWY1YjBmODAyOTU1OTI3ODI0MGM2ODZiZGVjMWQ2OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRh
dGVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5y
ZWRpcmVjdENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBhcyB0aGUgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdEVuZCBhdHRyaWJ1dGVzIG9uIGEgbm9u
LXJlZGlyZWN0ZWQgbmF2aWdhdGlvbi4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAor
UEFTUyB0aW1pbmcucmVkaXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9u
IAorUEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlv
biAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5h
dmlnYXRpb24gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJl
Y3RDb3VudF9ub25lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291
bnRfbm9uZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZjE5NDk0OTFiNDRhYWVlODNlMzc5YTVhZmRmOWZi
NTY5YjAyZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3Jl
ZGlyZWN0Q291bnRfbm9uZS5odG1sCkBAIC0wLDAgKzEsNDYgQEAKK++7vzwhRE9DVFlQRSBodG1s
Pg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
Pg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0
Q291bnQgb24gYSBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jv
c29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0i
bWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
Ijogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZv
ciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzND
IGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisg
ICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBh
IGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAg
ICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5y
ZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJ0
aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9LA0K
KyAgIm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0
aW9uIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAg
PC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAg
ICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBh
cyB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVj
dEVuZCBhdHRyaWJ1dGVzIG9uIGEgbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbi48L3A+DQorDQor
ICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAg
ICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICBpZiAocGVyZm9y
bWFuY2VOYW1lc3BhY2UgIT09IHVuZGVmaW5lZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0
ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwg
J3RpbWluZy5yZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsN
CisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVk
aXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2
aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNl
Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBv
biBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0K
KyAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwMjRkY2ZkODQ3ZGY5NmMyMjgxZjBlNjQyN2E3Zjlm
YTcxZTNkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlw
ZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorZnJhbWUgImZyYW1l
Q29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0
IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFz
IDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVu
bG9hZCBoYW5kbGVyKHMpCitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2
YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIHdpdGggYSBmb3J3YXJk
IGFuZCBiYWNrIG5hdmlnYXRpb24uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGgg
YSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gSXQgc2hvdWxkIHR1cm4gZ3JlZW4gZm9y
IGEgc3RhcnRpbmcgbmF2aWdhdGlvbiwgYmFjayB0byB5ZWxsb3cgZm9yIGEgYmFjayBuYXZpZ2F0
aW9uIGFuZCB0aGVuIGJhY2sgdG8gZ3JlZW4gYWdhaW4gZm9yIGEgZm9yd2FyZCBuYXZpZ2F0aW9u
LgorCitBbG9uZyB0aGUgbmF2aWdhdGlvbiB0aW1lbGluZSB0aGUgZnJhbWUud2luZG93LnBlcmZv
cm1hbmNlLnR5cGUgaXMgY2hlY2tlZCBmb3IgVFlQRV9CQUNLX0ZPUldBUkQuCisKK1RoaXMgdGVz
dCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIG5hdmlnYXRpb24udHlwZSBhcmUg
Y29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUg
YmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3Qg
ZmFpbHMuCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBo
aXN0b3J5LmJhY2soKSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9
PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmZvcndhcmQoKSAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MmRlM2UxYTVhMTBkOWZlZWU4OTQ1ZTQ2YjkyZjkyZTUxYjllNGM4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwKQEAgLTAs
MCArMSwxMTMgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisg
ICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5u
YXZpZ2F0aW9uLnR5cGUgZm9yIGJhY2sgYW5kIGZvcndhcmQgbmF2aWdhdGlvbnM8L3RpdGxlPg0K
KyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6
Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50
ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBU
WVBFX05BVklHQVRFIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlw
ZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmJhY2soKSI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0
ZXIgaGlzdG9yeS5mb3J3YXJkKCkiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAg
ICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFy
dCB0ZXN0aW5nDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisN
CisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVy
cm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIC8vIGRvIHRo
aXMgd2l0aCBhIHRpbWVvdXQgdG8gc2VlIHRoZSB2aXN1YWxzIG9mIHRoZSBuYXZpZ2F0aW9ucy4N
CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgibmF2X2ZyYW1lKCk7IiwgMTAwKTsNCisgICAg
ICAgICAgICB9DQorDQorICAgICAgICAgICAgdmFyIHN0ZXAgPSAxOw0KKyAgICAgICAgICAgIGZ1
bmN0aW9uIG5hdl9mcmFtZSgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIg
bmF2aWdhdGlvbl9mcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQi
KS5jb250ZW50V2luZG93Ow0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0ZXApDQorICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGNhc2UgMToNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmxvY2F0
aW9uLmhyZWYgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhf
b251bmxvYWQuaHRtJzsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAg
ICAgICAgICAgICAgICBjYXNlIDI6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBU
WVBFX05BVklHQVRFJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFt
ZS5oaXN0b3J5LmJhY2soKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgICAgICAgICBjYXNlIDM6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJm
b3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJELA0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5
cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5iYWNrKCknKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdh
dGlvbl9mcmFtZS5oaXN0b3J5LmZvcndhcmQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGNhc2Ug
NDoNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X2VxdWFscyhuYXZpZ2F0aW9uX2ZyYW1lLnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmln
YXRpb24uVFlQRV9CQUNLX0ZPUldBUkQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FS
RCBhZnRlciBoaXN0b3J5LmZvcndhcmQoKScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGRv
bmUoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAg
ICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwv
aGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+DQorICAgICAgICAgICAgRGVzY3JpcHRp
b248L2gxPg0KKyAgICAgICAgPHA+DQorICAgICAgICAgICAgVGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgZm9y
d2FyZA0KKyAgICAgICAgICAgIGFuZCBiYWNrIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAg
PHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZy
YW1lIGJlbG93LiAgSXQgc2hvdWxkIHR1cm4gZ3JlZW4gZm9yIGEgc3RhcnRpbmcNCisgICAgICAg
ICAgICBuYXZpZ2F0aW9uLCBiYWNrIHRvIHllbGxvdyBmb3IgYSBiYWNrIG5hdmlnYXRpb24gYW5k
IHRoZW4gYmFjayB0byBncmVlbiBhZ2FpbiBmb3IgYSBmb3J3YXJkIG5hdmlnYXRpb24uPC9wPg0K
Kw0KKyAgICAgICAgPHA+QWxvbmcgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgdGhlIGZyYW1lLndp
bmRvdy5wZXJmb3JtYW5jZS50eXBlIGlzIGNoZWNrZWQgZm9yIFRZUEVfQkFDS19GT1JXQVJELjwv
cD4NCisNCisgICAgICAgIDxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3Mg
dG8gdGhlIG5hdmlnYXRpb24udHlwZSBhcmUgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0
aW9uDQorICAgICAgICAgICAgc2NlbmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGgg
YSBncmVlbiBiYWNrZ3JvdW5kLiAgT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuPC9wPg0KKw0K
KyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAg
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0i
IHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9i
b2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5
cGVfZW51bXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Vu
dW1zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGQ4YTE4MzNmNDQyZjFiOWFiYjg0NGU5MmUz
Y2VlNDNlNDNiMjgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlv
bl90eXBlX2VudW1zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFRZUEVfKiBlbnVtZXJhdGlvbnMgb2Ygd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gZXhpc3QgYW5kIHRoZWlyIHZhbHVlcyBhcmUgY29y
cmVjdC4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFID0gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEID0gMSAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQgaXMgZGVmaW5lZC4gCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEID0gMiAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCBpcyBkZWZpbmVk
LiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCA9IDI1
NSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZDAwMTg3YzBjMGM2ZGRkMTIyZjE1ODFhMWMzYmRiM2VmMTY1YjJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0bWwKQEAgLTAsMCAr
MSw0OSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gZW51bXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+
DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hl
Ij4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmlu
ZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAi
VGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJX
M0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi5UWVBFX05BVklHQVRFIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSA9IDAiOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEID0gMSI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEIGlzIGRlZmluZWQu
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldB
UkQgPSAyIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNF
UlZFRCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LlRZUEVfUkVTRVJWRUQgPSAyNTUiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgIDwvaGVhZD4N
CisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBUWVBFXyogZW51bWVyYXRpb25zIG9mIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGV4aXN0IGFuZCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJl
Y3QuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxz
Y3JpcHQ+DQorICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAg
ICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfTkFWSUdBVEUnLCAwKTsNCisgICAgICAg
IHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX1JFTE9BRCcsIDEpOw0KKyAgICAgICAgdGVz
dF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfQkFDS19GT1JXQVJEJywgMik7DQorICAgICAgICB0
ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9SRVNFUlZFRCcsIDI1NSk7DQorICAgICAgICA8
L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzZDE5MzQ4
MjIyOTAxYmExYWVmNDBjYjdkMGMyNWI5NDhmOGFkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM1IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGFuZCB0aGUgdmFsdWVzIG9mIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuKiB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbi4KKworVGhp
cyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJhbWUgYmVs
b3cuIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQgYW5kIHRoZW4gdmVy
aWZpZWQgdGhhdAorCitUaGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9IFRZ
UEVfUkVMT0FECitBbGwgb2YgdGhlIHdpZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBh
ZnRlciByZWxvYWQgYXJlID4gYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiog
dmFsdWVzIHByaW9yIHRvIHJlbG9hZC4KKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlz
IGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQs
e2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdh
dGlvbi1pbmZvLWludGVyZmFjZSJ9IAorUEFTUyBSZWxvYWQgY29ubmVjdEVuZCA+IE9yaWdpbmFs
IGNvbm5lY3RFbmQgCitQQVNTIFJlbG9hZCBjb25uZWN0U3RhcnQgPiBPcmlnaW5hbCBjb25uZWN0
U3RhcnQgCitQQVNTIFJlbG9hZCBkb21Db21wbGV0ZSA+IE9yaWdpbmFsIGRvbUNvbXBsZXRlIAor
UEFTUyBSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID4gT3JpZ2luYWwgZG9tQ29udGVu
dExvYWRlZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQg
PiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCAKK1BBU1MgUmVsb2FkIGRvbUlu
dGVyYWN0aXZlID4gT3JpZ2luYWwgZG9tSW50ZXJhY3RpdmUgCitQQVNTIFJlbG9hZCBkb21Mb2Fk
aW5nID4gT3JpZ2luYWwgZG9tTG9hZGluZyAKK1BBU1MgUmVsb2FkIGRvbWFpbkxvb2t1cEVuZCA+
IE9yaWdpbmFsIGRvbWFpbkxvb2t1cEVuZCAKK1BBU1MgUmVsb2FkIGRvbWFpbkxvb2t1cFN0YXJ0
ID4gT3JpZ2luYWwgZG9tYWluTG9va3VwU3RhcnQgCitQQVNTIFJlbG9hZCBmZXRjaFN0YXJ0ID4g
T3JpZ2luYWwgZmV0Y2hTdGFydCAKK1BBU1MgUmVsb2FkIGxvYWRFdmVudEVuZCA+IE9yaWdpbmFs
IGxvYWRFdmVudEVuZCAKK1BBU1MgUmVsb2FkIGxvYWRFdmVudFN0YXJ0ID4gT3JpZ2luYWwgbG9h
ZEV2ZW50U3RhcnQgCitQQVNTIFJlbG9hZCBuYXZpZ2F0aW9uU3RhcnQgPiBPcmlnaW5hbCBuYXZp
Z2F0aW9uU3RhcnQgCitQQVNTIFJlbG9hZCByZWRpcmVjdEVuZCA9PSBPcmlnaW5hbCByZWRpcmVj
dEVuZCAKK1BBU1MgUmVsb2FkIHJlZGlyZWN0U3RhcnQgPT0gT3JpZ2luYWwgcmVkaXJlY3RTdGFy
dCAKK1BBU1MgUmVsb2FkIHJlcXVlc3RTdGFydCA+IE9yaWdpbmFsIHJlcXVlc3RTdGFydCAKK1BB
U1MgUmVsb2FkIHJlc3BvbnNlRW5kID4gT3JpZ2luYWwgcmVzcG9uc2VFbmQgCitQQVNTIFJlbG9h
ZCByZXNwb25zZVN0YXJ0ID4gT3JpZ2luYWwgcmVzcG9uc2VTdGFydCAKK1BBU1MgUmVsb2FkIHVu
bG9hZEV2ZW50RW5kID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCB1bmxv
YWRFdmVudFN0YXJ0ID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRTdGFydCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlMmJhNWY1NmVmYTY4
NmFlNjRlZWJmMzY4ZTc3NzAwYzFiNjRjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0bWwKQEAgLTAsMCArMSwxNDQgQEAKK++7vzwh
RE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLnR5cGUgd2l0aCBhIHJlbG9hZGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9z
b2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAv
Pg0KKyA8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5j
ZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0
cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0
dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisg
IH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9B
RCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIn0iOiB7fSwNCisgICJSZWxvYWQgY29ubmVjdEVuZCgxMzQw
Mzc2MDcwMjk1KSA+IE9yaWdpbmFsIGNvbm5lY3RFbmQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisg
ICJSZWxvYWQgY29ubmVjdFN0YXJ0KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgY29ubmVjdFN0
YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGRvbUNvbXBsZXRlKDEzNDAzNzYw
NzAzMDApID4gT3JpZ2luYWwgZG9tQ29tcGxldGUoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJS
ZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwg
ZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2Fk
IGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgZG9t
Q29udGVudExvYWRlZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQg
ZG9tSW50ZXJhY3RpdmUoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21JbnRlcmFjdGl2ZSgx
MzQwMzc2MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Mb2FkaW5nKDEzNDAzNzYwNzAyOTkp
ID4gT3JpZ2luYWwgZG9tTG9hZGluZygxMzQwMzc2MDcwMTc4KSI6IHt9LA0KKyAgIlJlbG9hZCBk
b21haW5Mb29rdXBFbmQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBFbmQo
MTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgZG9tYWluTG9va3VwU3RhcnQoMTM0MDM3
NjA3MDI5NSkgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBTdGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9
LA0KKyAgIlJlbG9hZCBmZXRjaFN0YXJ0KDEzNDAzNzYwNzAyOTApID4gT3JpZ2luYWwgZmV0Y2hT
dGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBsb2FkRXZlbnRFbmQoMTM0MDM3
NjA3MDMwMCkgPiBPcmlnaW5hbCBsb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisg
ICJSZWxvYWQgbG9hZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBsb2FkRXZl
bnRTdGFydCgxMzQwMzc2MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBuYXZpZ2F0aW9uU3RhcnQo
MTM0MDM3NjA3MDI5MCkgPiBPcmlnaW5hbCBuYXZpZ2F0aW9uU3RhcnQoMTM0MDM3NjA3MDE2Myki
OiB7fSwNCisgICJSZWxvYWQgcmVkaXJlY3RFbmQoMCkgPT0gT3JpZ2luYWwgcmVkaXJlY3RFbmQo
MCkiOiB7fSwNCisgICJSZWxvYWQgcmVkaXJlY3RTdGFydCgwKSA9PSBPcmlnaW5hbCByZWRpcmVj
dFN0YXJ0KDApIjoge30sDQorICAiUmVsb2FkIHJlcXVlc3RTdGFydCgxMzQwMzc2MDcwMjk1KSA+
IE9yaWdpbmFsIHJlcXVlc3RTdGFydCgxMzQwMzc2MDcwMTY0KSI6IHt9LA0KKyAgIlJlbG9hZCBy
ZXNwb25zZUVuZCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFsIHJlc3BvbnNlRW5kKDEzNDAzNzYw
NzAxNzQpIjoge30sDQorICAiUmVsb2FkIHJlc3BvbnNlU3RhcnQoMTM0MDM3NjA3MDI5NikgPiBP
cmlnaW5hbCByZXNwb25zZVN0YXJ0KDEzNDAzNzYwNzAxNjQpIjoge30sDQorICAiUmVsb2FkIHVu
bG9hZEV2ZW50RW5kKDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRFbmQoMCki
OiB7fSwNCisgICJSZWxvYWQgdW5sb2FkRXZlbnRTdGFydCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdp
bmFsIHVubG9hZEV2ZW50U3RhcnQoMCkiOiB7fQ0KK30NCisqLzwvc2NyaXB0PiAgICAgICANCisg
ICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9
KTsNCisNCisgICAgICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZv
cmUgd2Ugc3RhcnQgdGVzdGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0
aW9uJyk7DQorICAgICAgICAgICAgdmFyIHJlbG9hZF9mcmFtZTsNCisgICAgICAgICAgICB2YXIg
c3RhcnRpbmdUaW1lOw0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGRlZXBDb3B5KHAsIGMpDQor
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgYyA9IGMgfHwge307DQorICAgICAg
ICAgICAgICAgIGZvciAodmFyIGkgaW4gcCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHR5cGVvZiBwW2ldID09PSAnb2JqZWN0JykNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBjW2ldID0gKHBbaV0uY29uc3RydWN0
b3IgPT09IEFycmF5KSA/IFtdIDoge307DQorICAgICAgICAgICAgICAgICAgICAgICAgZGVlcENv
cHkocFtpXSwgY1tpXSk7DQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgY1tpXSA9IHBbaV07
DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgcmV0dXJuIGM7DQorICAgICAg
ICAgICAgfQ0KKw0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90
ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAgICAg
cmVsb2FkX2ZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgICAgICAgICAgIC8q
IE5lZWQgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGV4YW1pbmUgbG9hZEV2ZW50RW5kDQorICAgICAg
ICAgICAgICAgICAgICAgdW50aWwgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQgaGFzIGZpbmlzaGVkIGZp
cmluZyAqLw0KKwkJICAgIHNldFRpbWVvdXQoZG9fdGVzdCwgMCk7DQorCQl9DQorICAgICAgICAg
ICAgICAgIHNldFRpbWVvdXQoInJlbG9hZF90aGVfZnJhbWUoKTsiLCAxMDApOw0KKyAgICAgICAg
ICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiByZWxvYWRfdGhlX2ZyYW1lKCkNCisgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgIC8vQmVmb3JlIHJlbG9hZGluZywgc2F2ZSB0aGUg
Y3VycmVudCB0aW1pbmcNCisgICAgICAgICAgICAgICAgc3RhcnRpbmdUaW1lID0gZGVlcENvcHko
cmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nKTsNCisgICAgICAg
ICAgICAgICAgcmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKHRydWUp
Ow0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiBkb190ZXN0KCkNCisg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBudWxs
Ow0KKyAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UpDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vVmVyaWZ5IHRoYXQgdGhlIG5hdmlnYXRp
b24gdHlwZSBoYXMgdXBkYXRlZCB0byByZWxvYWQNCisgICAgICAgICAgICAgICAgICAgIHRlc3Rf
ZXF1YWxzKHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
dHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2Uu
bmF2aWdhdGlvbi5UWVBFX1JFTE9BRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQse2hlbHA6Imh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZv
LWludGVyZmFjZSJ9Jyk7DQorDQorICAgICAgICAgICAgICAgICAgICAvL1ZlcmlmeSB0aGF0IHRo
ZSB0aW1pbmcgZGF0YSBoYXMgYmVlbiB1cGRhdGVkIGludG8gdGhlIGZ1dHVyZQ0KKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHJlbG9hZFRpbWUgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmc7DQorICAgICAgICAgICAgICAgICAgICBmb3IgKGF0dHJpYnV0ZSBp
biB0aW1pbmdBdHRyaWJ1dGVzKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciB0aW1lID0gdGltaW5nQXR0cmlidXRlc1thdHRyaWJ1dGVdOw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxvYWRUaW1lW3RpbWVdID09PSAwKQ0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9l
cXVhbHMocmVsb2FkVGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhcnRpbmdUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiUmVsb2FkICIgKyB0aW1lICArDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIgPT0gIiArDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJPcmlnaW5hbCAiICsgdGltZSApOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihy
ZWxvYWRUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGFydGluZ1RpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJSZWxvYWQgIiArIHRpbWUgICsNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiA+ICIgKw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3JpZ2luYWwgIiArIHRpbWUgKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisg
ICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9hZD0ib25sb2Fk
X3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRo
aXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLnR5cGUgYW5kIHRoZSB2YWx1ZXMgb2YNCisgICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLiogd2l0aCBhIHJlbG9hZGVkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAg
PHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJh
bWUgYmVsb3cuICBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkDQorICAg
ICAgICBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0IA0KKyAgICAgICAgPHVsPg0KKyAgICAgICAgICAg
IDxsaT5UaGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9IFRZUEVfUkVMT0FE
PC9saT4NCisgICAgICAgICAgICA8bGk+QWxsIG9mIHRoZSB3aWRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuKiB2YWx1ZXMgYWZ0ZXIgcmVsb2FkIGFyZSA+IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy4qIHZhbHVlcw0KKyAgICAgICAgICAgICAgICBwcmlvciB0byByZWxvYWQuPC9s
aT4NCisgICAgICAgIDwvdWw+DQorICAgICAgICA8L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIg
c3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2Jv
ZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZpb3VzX2Rv
Y3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWZjZTljNWRjMDYwNDBlYTJhOWZmYzhlMzk2M2Qw
YmFjZDI5YjBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rfbm9fcHJldmlvdXNf
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHVubG9hZCBldmVudCB0aW1lcyBhcmUgMCB3aGVuIHRoZXJl
IGlzIG5vIHByZXZpb3VzIGRvY3VtZW50LgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNT
IHRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZp
b3VzIGRvY3VtZW50IAorUEFTUyB0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9u
IHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2aW91c19k
b2N1bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMjI0Y2U3YjQzOGMwMDk4Y2M1NDhhMjQ1ODQ5ZTVl
N2M3MDUzMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2aW91c19k
b2N1bWVudC5odG1sCkBAIC0wLDAgKzEsNTggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1s
Pg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAg
ICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBvbiBhbiBpbml0
aWFsIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+DQorCTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAi
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1
dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmli
dXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0sDQorICAidGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklH
QVRFIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAidGltaW5nLnVubG9hZEV2ZW50
U3RhcnQgPT0gMCBvbiBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQiOiB7fSwN
CisgICJ0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlv
dXMgZG9jdW1lbnQiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAg
IA0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTog
dHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIHZhciBmcmFtZTsNCisgICAgICAgICAgICBmdW5jdGlv
biBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBmcmFtZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAg
ICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBl
cmZvcm1hbmNlTmFtZXNwYWNlKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RydWUoZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgPT0gcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlz
IFRZUEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAg
ICAgICAgICB0ZXN0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy51bmxvYWRFdmVudFN0YXJ0LCAwLCAndGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPT0gMCBvbiBu
YXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQnKTsNCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVu
bG9hZEV2ZW50RW5kLCAwLCAndGltaW5nLnVubG9hZEV2ZW50RW5kID09IDAgbmF2aWdhdGlvbiB3
aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50Jyk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAg
ICAgICAgDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+
DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGUgdW5sb2FkIGV2ZW50IHRpbWVzIGFyZSAwIHdoZW4gdGhlcmUgaXMgbm8gcHJl
dmlvdXMgZG9jdW1lbnQuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj48YnIg
Lz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWln
aHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NmQyZDg2OWUzY2IzOTAxNjQwMjQ2YTU1NzNkM2VjZDU3M2UzZDFl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRl
c19leGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitEZXNjcmlwdGlvbgorCitUaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIG5hdmlnYXRpb24gYW5kIHRpbWluZyBhdHRyaWJ1dGVz
IGV4aXN0IGZvciB3aW5kb3cucGVyZm9ybWFuY2UgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0
IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjMxOGE5ZDk2ODc1YzFlMTY5ZDFiNzk1NTVhNzE1OGI0ZGMxYzliOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApA
QCAtMCwwICsxLDQyIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+
DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5k
b3cucGVyZm9ybWFuY2UgYXR0cmlidXRlczwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIg
Lz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLz4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2Vy
dCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9y
IjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9z
Y3JpcHQ+DQorICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAg
ICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCB0aGUgbmF2aWdhdGlvbiBhbmQgdGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgZm9yIHdpbmRv
dy5wZXJmb3JtYW5jZSANCisgICAgICAgIChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVp
ciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+
DQorICAgICAgICA8c2NyaXB0PiAgICAgICAgICAgIA0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycs
IHRydWUpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9v
YmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRl
c19leGlzdF9pbl9vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZDlmZDU0YjU3YTUw
Yzk0MTczZmEwNWNiNTRkMzIyYjA4NGI0NDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgZXhpc3RzIGluIGFuIG9iamVjdCBlbGVtZW50
IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgor
CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVz
X2V4aXN0X2luX29iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdF9pbl9vYmplY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTU0YmM5NzU0ODFiMWRkYmRi
MTJmM2M5ZjdkMzJlMmE4MWY1NzE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
cGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbApAQCAtMCwwICsxLDQ4
IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIGV4aXN0cyBpbiBhbiBvYmplY3Q8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8i
IC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIi8+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZp
bmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0Ijog
IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAi
VzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9z
Y3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgIGZ1
bmN0aW9uIG9ubG9hZF90ZXN0KCkgew0KKyAgICAgICAgICAgIHZhciBvYmpXaW5kb3cgPQ0KKyAg
ICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib2JqZWN0Q29udGV4dCIpLmNv
bnRlbnREb2N1bWVudC5kZWZhdWx0VmlldzsNCisgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVz
cGFjZSA9IG9ialdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFj
ZSgndGltaW5nJyk7DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nLCB0
cnVlKTsNCisgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisg
ICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGV4aXN0
cyBpbiBhbg0KKyAgICAgICAgb2JqZWN0IGVsZW1lbnQgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0
aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKyAgICAgICAgPG9iamVjdCBpZD0i
b2JqZWN0Q29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgZGF0YT0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSI+PC9vYmplY3Q+DQorICAgICAgICA8ZGl2
IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFk
d3JpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhODliOTY0ZDcwZjk2OTRkZWE1YWMxODVj
MWRmNGNlNjBjNDQzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3Jp
dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlzIHJlYWQvd3Jp
dGUuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUgCitQQVNTIHZhciBwZXJmb3JtYW5jZSBpcyByZWFk
L3dyaXRlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3JpdGUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3JlYWR3cml0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMzY2MjY1YjVmNTA3NDA1
ZWUwNGMxYTMxYjkzOGZmMTUzYzY5NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9yZWFkd3JpdGUuaHRtbApAQCAtMCwwICsxLDM5IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8
aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisg
ICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZTwvdGl0bGU+DQor
ICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDov
L3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLz4NCisJPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0i
L3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSI6IHt9LA0KKyAgInZhciBwZXJmb3Jt
YW5jZSBpcyByZWFkL3dyaXRlIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAv
Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZv
cm1hbmNlIG9iamVjdCBpcyByZWFkL3dyaXRlLjwvcD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+
PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCk7
DQorDQorICAgICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlID0gJ2Zvbyc7DQorICAgICAgICAg
ICAgdGVzdF9lcXVhbHMod2luZG93LnBlcmZvcm1hbmNlLCAnZm9vJywgJ3dpbmRvdy5wZXJmb3Jt
YW5jZSBpcyByZWFkL3dyaXRlJyk7DQorDQorICAgICAgICAgICAgdmFyIHBlcmZvcm1hbmNlID0g
J2Jhcic7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2UsICdiYXInLCAndmFy
IHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUnKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8
L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRy
aWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1
dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWExNmJmMWJhYWVlYzU3YmM4MzQ5
NzcwZjI2MDFlN2NjZWRkZjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRo
YXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCBpcyBkZWZpbmVkLiAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRM
b2FkZWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUludGVyYWN0aXZlIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUxvYWRpbmcgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tYWluTG9va3VwRW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IGlzIGRlZmluZWQuIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kIGlzIGRlZmluZWQuIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgaXMgZGVmaW5l
ZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ3NDM5ZDU0MTk5ZTBkNDY5YWM0NjQyZTBjYmNjNTRlZTc1YmViY2YKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC5odG1sCkBA
IC0wLDAgKzEsNjEgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4N
CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlczwvdGl0bGU+DQorICAgICAgICA8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQu
Y29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9u
YXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPiAgICAg
ICAgDQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBp
ZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0Ijog
IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAi
VzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9u
YXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAg
ICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEg
aG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAg
ICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlIGlzIGRlZmluZWQuIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMg
ZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRM
b2FkZWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIGlzIGRlZmluZWQuIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCBpcyBkZWZpbmVk
LiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kIGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFy
dCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdh
dGlvblN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVkaXJlY3RTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgaXMgZGVmaW5lZC4iOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgaXMgZGVm
aW5lZC4iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0K
KyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRl
cyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3Jy
ZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAg
PHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisNCisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAg
ICAgIHsNCisgICAgICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMoJ3RpbWluZycsIHRpbWlu
Z0F0dHJpYnV0ZXNbaV0pOw0KKyAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwv
Ym9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJp
YnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0
ZXNfb3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzMWQ4MTg0ZDNiNzNjMWRlM2I2ZTg4
YjI0NGUwN2MyZDRiMWY0ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1p
bmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OCBAQAorZnJhbWUg
ImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBvcmRlcmluZyBvZiB0aGUgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBhdHRyaWJ1dGVzLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRo
IGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hpY2ggY29udGFpbnMgYW4gdW5sb2Fk
IGV2ZW50IGhhbmRsZXIuCisKK0FmdGVyIHRoZSBwYWdlIGxvYWRzLCB0aGUgZnJhbWUgaXMgbmF2
aWdhdGVkIHRvIGEgbmV3IGJsYW5rIHBhZ2Ugd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIEF0IHRo
aXMgcG9pbnQsIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIGlzIHZlcmlmaWVkCisKK1RoaXMgdGVz
dCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIGZyYW1lLndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgYXR0cmlidXRlcyBhcmUgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0
aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dy
b3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuCisKK1NldHVwCisKKworCisKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBF
X05BVklHQVRFIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFy
dCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCA9PSAw
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kID09IDAgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
Lm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5M
b29rdXBTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9v
a3VwU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+IDAgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuY29ubmVjdFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25u
ZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+IDAgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmNvbm5lY3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0
U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVl
c3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+IDAg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPj0gd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUxvYWRpbmcgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bUxvYWRpbmcgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID4gMCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLnJlc3BvbnNlRW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNv
bnRlbnRMb2FkZWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbUludGVyYWN0aXZlIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29udGVudExvYWRlZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29u
dGVudExvYWRlZEV2ZW50U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29tcGxldGUgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRl
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmxvYWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVu
dFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQg
PiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPj0g
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0
dHJpYnV0ZXNfb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29y
ZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVlOWIxODNlODEzZWQ0NTAzYWJmNzM3ZGZlZWI3YTFiNGQz
ZDQxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVz
X29yZGVyLmh0bWwKQEAgLTAsMCArMSwxNjcgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1s
Pg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAg
ICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlIG9yZGVyaW5nIG9u
IGEgc2ltcGxlIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQor
CTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4gICAgICAgIA0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorIDxz
Y3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0
aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
TkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPT0gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmZldGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3Rh
cnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0
ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3Rh
cnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0Ijoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgPiAwIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuY29ubmVjdFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuY29ubmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9v
a3VwRW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID4g
MCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29u
bmVjdEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFy
dCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQg
Pj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQiOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZXNwb25zZVN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21M
b2FkaW5nID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGlu
ZyA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQiOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID4gMCI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPj0gd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZXNwb25zZUVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUludGVyYWN0aXZlIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPiAwIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bUNvbnRlbnRMb2FkZWRFdmVudEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcubG9hZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRM
b2FkZWRFdmVudEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2
ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50
RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPiAwIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRTdGFydCI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+ICAgICAgIA0KKyAgICAgICAg
PHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0K
KyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisNCisgICAgICAgICAgICB2
YXIgc3RlcCA9IDE7DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHN0ZXAgPT09IDEgJiYgd2luZG93LnBlcmZv
cm1hbmNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUo
KTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0K
KyAgICAgICAgICAgICAgICB2YXIgbmF2aWdhdGlvbl9mcmFtZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93Ow0KKyAgICAgICAgICAgICAgICBw
ZXJmb3JtYW5jZU5hbWVzcGFjZSA9IG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2U7DQorICAg
ICAgICAgICAgICAgIHN3aXRjaCAoc3RlcCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSAxOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUubG9jYXRpb24uaHJlZiA9ICcvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGNhc2UgMjoNCisgICAgICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlv
bicsIHRydWUpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQorICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gVGVzdHMNCisgICAgICAgICAgICAgICAgICAgICAgICAvLw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmln
YXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
TmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
TkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gbmF2aWdpYXRpb24gbXVzdCBiZSBub24tMA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQorDQor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gbXVzdCBiZSBubyByZWRpcmVjdGlvbiBmb3IgdGhp
cyB0ZXN0IGNhc2UNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19lcXVhbHMo
J3JlZGlyZWN0U3RhcnQnLCAwKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWlu
Z19lcXVhbHMoJ3JlZGlyZWN0RW5kJywgMCk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gdmFsaWRhdGUgYXR0cmlidXRlIG9yZGVyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAnbmF2aWdhdGlvblN0YXJ0Jyk7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbWFpbkxvb2t1cFN0YXJ0
JywgJ2ZldGNoU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19v
cmRlcignZG9tYWluTG9va3VwRW5kJywgJ2RvbWFpbkxvb2t1cFN0YXJ0Jyk7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2Nvbm5lY3RTdGFydCcsICdkb21haW5M
b29rdXBFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcign
Y29ubmVjdEVuZCcsICdjb25uZWN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0X3RpbWluZ19vcmRlcigncmVxdWVzdFN0YXJ0JywgJ2Nvbm5lY3RFbmQnKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVzcG9uc2VTdGFydCcsICdyZXF1
ZXN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcign
cmVzcG9uc2VFbmQnLCAncmVzcG9uc2VTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdkb21Mb2FkaW5nJywgJ2ZldGNoU3RhcnQnKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tSW50ZXJhY3RpdmUnLCAncmVz
cG9uc2VFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcign
ZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnLCAnZG9tSW50ZXJhY3RpdmUnKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tQ29udGVudExvYWRlZEV2ZW50
RW5kJywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbXBsZXRlJywgJ2RvbUNvbnRlbnRMb2FkZWRF
dmVudEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCds
b2FkRXZlbnRTdGFydCcsICdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnKTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignbG9hZEV2ZW50RW5kJywgJ2xvYWRFdmVu
dFN0YXJ0Jyk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0dXAgcmVxdWlyZXMg
dGhlIGZyYW1lIHRvIGhhdmUgYSBwcmV2aW91cyBwYWdlIHdpdGggYW4gb251bmxvYWQgZXZlbnQg
aGFuZGxlci4NCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigndW5s
b2FkRXZlbnRTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RpbWluZ19vcmRlcigndW5sb2FkRXZlbnRFbmQnLCAndW5sb2FkRXZlbnRTdGFy
dCcpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAgICAg
ICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAg
ICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGUgb3JkZXJpbmcgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRl
cy48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEg
eWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hpY2ggY29udGFpbnMgYW4gdW5sb2FkIGV2
ZW50DQorICAgICAgICAgICBoYW5kbGVyLjwvcD4NCisNCisgICAgICAgIDxwPkFmdGVyIHRoZSBw
YWdlIGxvYWRzLCB0aGUgZnJhbWUgaXMgbmF2aWdhdGVkIHRvIGEgbmV3IGJsYW5rIHBhZ2Ugd2l0
aCBhIGdyZWVuIGJhY2tncm91bmQuICBBdCB0aGlzIHBvaW50LCB0aGUgbmF2aWdhdGlvbiB0aW1l
bGluZSBpcyB2ZXJpZmllZDwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgdGVzdCBwYXNzZXMgaWYg
YWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcg
YXR0cmlidXRlcyBhcmUNCisgICAgICAgICAgIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2aWdh
dGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tn
cm91bmQuDQorICAgICAgICAgICBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy48L3A+DQorDQor
ICAgICAgICA8aDE+U2V0dXA8L2gxPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4N
CisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0Ig0KKyAg
ICAgICAgICAgICAgICBvbmxvYWQ9Ii8qIE5lZWQgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGV4YW1p
bmUgbG9hZEV2ZW50RW5kDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50aWwgYWZ0ZXIg
dGhlIGxvYWQgZXZlbnQgaGFzIGZpbmlzaGVkIGZpcmluZyAqLw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNldFRpbWVvdXQob25sb2FkX3Rlc3QsIDApOyINCisgICAgICAgICAgICAgICAgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bSINCisgICAgICAg
ICAgICAgICAgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0K
KyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWlu
Z19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2Ns
aWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE0MmI4OTJkYjI1YjYwMDMy
M2U4NzExMDZkNjI2ZTg0ZWQ0OGY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X3RpbWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0Rl
c2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93
Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhbmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgb24gYSBjbGllbnQgc2lkZSByZWRpcmVjdC4KKwor
CisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVf
TkFWSUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVu
dCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAg
b24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0
RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMGRmY2E2NDEx
YzBhMmQ4ZTA1ZTMzZWMwZWFmYWE4YjkxZjViNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw3OCBAQAor77u/
PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgY2xpZW50IHJlZGlyZWN0IG5hdmlnYXRpb248L3Rp
dGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9
Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRp
bWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuY3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQor
ICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
d2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRv
dy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZv
cm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDov
L3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcubmF2aWdhdGlvbi50
eXBlIGlzIFRZUEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJu
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZp
Z2F0aW9uIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAidGltaW5nLnJlZGlyZWN0
U3RhcnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAi
dGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlv
biI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAg
IHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdGVzdF9uYW1l
c3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5n
JywgdHJ1ZSk7DQorDQorICAgICAgICAgICAgdmFyIHJlZGlyZWN0X2ZyYW1lOw0KKyAgICAgICAg
ICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAg
ICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQor
ICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgcmVkaXJlY3RfZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorICAgICAgICAgICAgICAg
IHJlZGlyZWN0X2ZyYW1lLm9ubG9hZCA9IGRvX3Rlc3Q7DQorICAgICAgICAgICAgfQ0KKw0KKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGRvX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgcmVkaXJlY3RfZnJhbWUub25sb2FkID0gIiI7DQorICAgICAgICAgICAgICAgIHRlc3Rf
dHJ1ZShyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
dHlwZSA9PSBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBF
X05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0
ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24ucmVkaXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9u
IGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24nLHtoZWxwOiJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7
DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RT
dGFydCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAg
ICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVkaXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBh
biBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgICAgIGRv
bmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNj
cmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMg
b2YgdGhlIHdpbmRvdy5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAg
ICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBvbiBh
IGNsaWVudCBzaWRlIHJlZGlyZWN0LjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+PGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtIiBzdHlsZT0id2lk
dGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0
bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZmFkNzA0OWVjNTQyMDczMWI0MzU3N2Y4NTQ0M2Q2OTViZTk0MzMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyOSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJl
bG9hZGVkLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dy
b3VuZCBmcmFtZSBiZWxvdy4gVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRl
ZCBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0
dHJpYnV0ZXMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdGhlIG5ldyByZWxvYWRlZCBuYXZpZ2F0aW9u
IHRpbWluZ3MuCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQgCitQQVNTIGNvbm5l
Y3RFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBjb25uZWN0U3RhcnQg
aXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Db21wbGV0ZSBpcyBkaWZm
ZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVu
dFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tSW50ZXJhY3Rp
dmUgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Mb2FkaW5nIGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tYWluTG9va3VwRW5kIGlzIGRpZmZl
cmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVy
ZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBmZXRjaFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRl
ciB0aGUgcmVsb2FkLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiAKK1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxv
YWQuIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
IAorUEFTUyByZXF1ZXN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFT
UyByZXNwb25zZUVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlc3Bv
bnNlU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdf
cmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3NDFjYzk4OTBlY2UxMGMxNjRhOTllM2RlMzI0ZDZk
ZTRjMWJlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQu
aHRtbApAQCAtMCwwICsxLDEyMiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAg
IDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0
bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFmdGVyIGEgcmVsb2FkZWQg
bmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1p
Y3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2Vy
dCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9y
IjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFj
ZSIgfSwNCisgICJjb25uZWN0RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9
LA0KKyAgImNvbm5lY3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwN
CisgICJkb21Db21wbGV0ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisg
ICJkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
Ijoge30sDQorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tSW50ZXJhY3RpdmUgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tTG9hZGluZyBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhl
IHJlbG9hZC4iOiB7fSwNCisgICJkb21haW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRo
ZSByZWxvYWQuIjoge30sDQorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIjoge30sDQorICAiZmV0Y2hTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhl
IHJlbG9hZC4iOiB7fSwNCisgICJsb2FkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIjoge30sDQorICAibG9hZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIjoge30sDQorICAibmF2aWdhdGlvblN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiI6IHt9LA0KKyAgInJlcXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJl
bG9hZC4iOiB7fSwNCisgICJyZXNwb25zZUVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9h
ZC4iOiB7fSwNCisgICJyZXNwb25zZVN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2Fk
LiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAg
IHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGlj
aXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgIHZhciBy
ZWxvYWRfZnJhbWU7DQorICAgICAgICAgICAgdmFyIGluaXRpYWxfdGltaW5nOw0KKw0KKyAgICAg
ICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIHJlbG9hZF9mcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRl
eHQiKTsNCisNCisgICAgICAgICAgICAgICAgaWYgKHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93
LnBlcmZvcm1hbmNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAg
IGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAg
fQ0KKw0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisN
CisgICAgICAgICAgICAgICAgLy8gc2F2ZSBmcmFtZSdzIGluaXRpYWwgdGltaW5ncw0KKyAgICAg
ICAgICAgICAgICBpbml0aWFsX3RpbWluZyA9IHt9Ow0KKyAgICAgICAgICAgICAgICB2YXIgdGlt
aW5nID0gcmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKw0K
KyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVu
Z3RoOyArK2kpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBw
cm9wZXJ0eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07DQorICAgICAgICAgICAgICAgICAgICBpbml0
aWFsX3RpbWluZ1twcm9wZXJ0eV0gPSB0aW1pbmdbcHJvcGVydHldOw0KKyAgICAgICAgICAgICAg
ICB9DQorDQorICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoInJlbG9hZF90aGVfZnJhbWUoKTsi
LCAxMDApOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiByZWxvYWRf
dGhlX2ZyYW1lKCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFt
ZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCh0cnVlKTsNCisgICAgICAgICAgICB9DQor
DQorICAgICAgICAgICAgZnVuY3Rpb24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICByZWxvYWRfZnJhbWUub25sb2FkID0gIiI7DQorDQorICAgICAgICAgICAgICAg
IC8vIGVuc3VyZSB0aGUgZnJhbWUgcmVsb2FkZWQNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVh
bHMocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBl
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZp
Z2F0aW9uLlRZUEVfUkVMT0FELA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCIsIHtoZWxwOiJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1p
bnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgIC8vIGVuc3VyZSByZWxvYWQgdGltaW5n
cyBjaGFuZ2VkDQorICAgICAgICAgICAgICAgIHZhciB0aW1pbmcgPSByZWxvYWRfZnJhbWUuY29u
dGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7DQorICAgICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRl
c1tpXTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZSBhbnkgdGltaW5ncyB0aGF0
IHdlcmUgemVybyBpbml0aWFsbHkNCisgICAgICAgICAgICAgICAgICAgIGlmIChpbml0aWFsX3Rp
bWluZ1twcm9wZXJ0eV0gIT09IDApDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdF9ub3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0eV0sIGluaXRpYWxf
dGltaW5nW3Byb3BlcnR5XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bl
cnR5ICsgIiBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iKTsNCisgICAgICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7
DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAg
PGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248
L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJlbG9hZGVk
LjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBn
cmVlbiBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGlj
YWxseSByZWxvYWRlZA0KKyAgICAgICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCB0aGUgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHRoZSBu
ZXcgcmVsb2FkZWQgbmF2aWdhdGlvbiB0aW1pbmdzLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9
ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1l
Q29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
IiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorDQorICAg
IDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3Nl
cnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVy
X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2JkMTliNzI1OTQ5YTAwMTNlMTNl
MmI3OGExNzBjNzBlZDdhNmIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX3NlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorRGVzY3Jp
cHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNpZGUgcmVk
aXJlY3QgbmF2aWdhdGlvbi4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BB
U1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFTUyBuYXZpZ2F0
aW9uLnJlZGlyZWN0Q291bnQgPT0gMSBvbiBhbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9u
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCA+IDAgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJl
Y3RFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZWRpcmVjdEVuZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9y
ZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYyMTdjOGY3MDViYWU0ZTM5MjMwZWU5YTYzOGRmY2ZkMzQwYjYyYjEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0Lmh0
bWwKQEAgLTAsMCArMSw0NyBAQAor77u/PCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxo
ZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgc2FtZS1v
cmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3Nv
ZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jl
c291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKw0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAg
ICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAg
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9y
cw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
TmFtZXNwYWNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRl
bnRXaW5kb3cucGVyZm9ybWFuY2U7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZv
cm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAg
ICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FU
RScpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5u
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQsIDEsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0g
MSBvbiBhbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQorDQor
ICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZWRpcmVjdFN0YXJ0JywgJ25hdmln
YXRpb25TdGFydCcpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVkaXJl
Y3RFbmQnLCAncmVkaXJlY3RTdGFydCcpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19v
cmRlcignZmV0Y2hTdGFydCcsICdyZWRpcmVjdEVuZCcpOw0KKyAgICAgICAgICAgIH0NCisgICAg
ICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgx
PkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZh
bHVlcyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAg
ICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1l
cyBmb3IgYSBzYW1lLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLjwvcD4N
CisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAg
ICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBo
ZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI3MDgyMTRjODIyZDA0NWMwNDNkYzNhMDg0YjM4OGUxMTUzMjJiZjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBh
bmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMg
Zm9yIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uCisKKwor
CisKK0ZBSUwgU3RhcnRpbmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAo
MTI3LjAuMC4xOjgwMDApIGFzc2VydF9lcXVhbHM6IFN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3RuYW1lIGlzIGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBleHBlY3RlZCAiMTI3LjAuMC4x
OjgwMDAiIGJ1dCBnb3QgIjEyNy4wLjAuMSIKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQ
QVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAKK1BBU1MgbmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0
ZWQgbmF2aWdhdGlvbiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9u
U3RhcnQgPiAwIAorUEFTUyB0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGEgc2VydmVyIHJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluIAorUEFTUyB0aW1pbmcucmVk
aXJlY3RFbmQgPT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90
aGVyIGRvbWFpbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3hzZXJ2ZXJf
cmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzU2NjA5Y2FjNGViN2Q0MWEyNTBmMjAxMWNiMjQyYjYyNzg2NDFmNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0
Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAg
IDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0
bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgY3Jv
c3Mtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWlj
cm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2Ui
Lz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlk
PSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAiU3RhcnRpbmcgZG9jdW1lbnQubG9jYXRpb24u
aG9zdG5hbWUgaXMgY29ycmVjdCAoMTI3LjAuMC4xOjgwMDApIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIs
DQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlk
ZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwN
CisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIN
CisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAg
c2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLw0KKyAgICAg
ICAgICAgIC8vIFRlc3QgY29uZmlndXJhdGlvbg0KKyAgICAgICAgICAgIC8vDQorDQorICAgICAg
ICAgICAgLy8gdGhlIGN1cnJlbnQgcGFnZSdzIG9yaWdpbg0KKyAgICAgICAgICAgIHZhciBwYWdl
T3JpZ2luID0gJzEyNy4wLjAuMTo4MDAwJzsNCisNCisgICAgICAgICAgICAvLyB0aGUgb3JpZ2lu
IHRvIHJlZGlyZWN0IHRocm91Z2gNCisgICAgICAgICAgICB2YXIgcmVkaXJlY3RPcmlnaW4gPSAn
bG9jYWxob3N0OjgwMDAnOw0KKw0KKyAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgLy8gVGVz
dHMNCisgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0
aW9uJyk7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5k
ZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9p
ZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVD
b250ZXh0IikuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAgICAgdGVz
dF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJ
R0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24udHlwZSBp
cyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQsIDAsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhIGNyb3NzLW9yaWdpbiBz
ZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJywge2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisN
CisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0aW9uU3Rh
cnQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1l
c3BhY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAw
IG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluJyk7
DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWlu
Zy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGEgc2VydmVyIHJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluJyk7DQorDQorICAgICAgICAg
ICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisg
ICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQor
ICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgY3Jvc3Mtb3JpZ2lu
IHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRpdiBp
ZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJh
bWVDb250ZXh0IiBzcmM9IiIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwv
aWZyYW1lPg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICAvLyBlbnN1cmUgd2UncmUg
c3RhcnRpbmcgYXQgdGhlIHJpZ2h0IG9yaWdpbg0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLCBwYWdlT3JpZ2luLCAnU3RhcnRpbmcgZG9jdW1lbnQu
bG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoJyArIHBhZ2VPcmlnaW4gKyAnKScpOw0KKw0K
KyAgICAgICAgICAgIC8vIGNvbWJpbmUgdGhlIHBhZ2Ugb3JpZ2luIGFuZCByZWRpcmVjdCBvcmln
aW4gaW50byB0aGUgSUZSQU1FJ3Mgc3JjIFVSTA0KKyAgICAgICAgICAgIHZhciBkZXN0VXJsID0g
J2h0dHA6Ly8nICsgcmVkaXJlY3RPcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRp
cmVjdC5waHAnOw0KKyAgICAgICAgICAgIGRlc3RVcmwgICAgKz0gJz9sb2NhdGlvbj1odHRwOi8v
JyArIHBhZ2VPcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVu
Lmh0bSc7DQorDQorICAgICAgICAgICAgdmFyIGZyYW1lQ29udGV4dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICBmcmFtZUNvbnRleHQub25s
b2FkID0gb25sb2FkX3Rlc3Q7DQorICAgICAgICAgICAgZnJhbWVDb250ZXh0LnNyYyA9IGRlc3RV
cmw7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTE3YWNmMDU0MTI1MjhkODE5MTVkZjYzMDM3MjJiODNjMzUxMzYxMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmpl
Y3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBoYXMgYSB1bmlxdWUgd2luZG93LnBlcmZvcm1h
bmNlIG9iamVjdC4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIERpZmZlcmVudCB3
aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3RzIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YzM1NTFkMjQ2OTBlZjBhZTZmN2FiNWFjZjgxNGIzMTlmMTQ5MjlhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRtbApAQCAtMCww
ICsxLDQ1IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAg
ICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT5FYWNoIHdpbmRv
dyBvYmplY3QgaGFzIGEgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdDwvdGl0bGU+DQorICAgICAg
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5t
aWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1
dGUiIC8+DQorCTxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iRWFjaCBicm93c2luZyBjb250
ZXh0IG11c3QgaGF2ZSBhIHVuaXF1ZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0
ZS4iLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
Y3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIkRpZmZlcmVudCB3aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5j
ZSBvYmplY3RzIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9k
eT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgZWFjaCB3aW5kb3cgaGFzIGEgdW5pcXVlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBvYmplY3QuPC9wPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJkaXNwbGF5
Om5vbmU7Ijs+PC9pZnJhbWU+DQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAg
ICAgPHNjcmlwdD4NCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7DQorDQor
ICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQpDQorICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0ZXN0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VO
YW1lc3BhY2UudGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZmZlcmVudCB3
aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3RzIik7DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNDUz
ZDMxYjBmODhmMzVmOWFiMzUyZTVjMjU2ZTgyZTIwNTk1NTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMyBA
QAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIHJlbWFpbnMgY29uc3RhbnQgd2hlbiBhIGRvY3VtZW50IGlzIHJlcGxhY2VkIHVzaW5n
IGRvY3VtZW50Lm9wZW4uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxs
b3cgZnJhbWUgYmVsb3cuIEl0IHRoZW4gcmVwbGFjZXMgdGhlIGRvY3VtZW50IGluIHRoYXQgZnJh
bWUgd2l0aCBhIGdyZWVuIGRvY3VtZW50LgorCitUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRo
ZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBjb3JyZWN0IGFuZCB0aGUgZnJhbWUg
YmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4KKworCisKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1MgY29ubmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRv
Y3VtZW50IG9wZW4uIAorUEFTUyBkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVy
IGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0
ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0
ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4gCitQQVNTIG5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiAKK1BBU1MgcmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4g
CitQQVNTIHJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQ
QVNTIHJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1Mg
cmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlc3Bv
bnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHVubG9hZEV2
ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyB1bmxvYWRFdmVu
dFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3Vt
ZW50X29wZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDAyZTFmMWIxN2VmYWJhOTViMDA2MGFiZmM2Mjc5
MzE5MDM0MjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29w
ZW4uaHRtbApAQCAtMCwwICsxLDExMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZyBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCBkb2N1bWVudHM8L3RpdGxlPgorPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
bS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0
IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmNzcyIgLz4KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKgoreworICAid2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwKKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAiY29u
bmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiY29ubmVj
dFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Db21w
bGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVu
dExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisg
ICJkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAiZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgImRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1l
bnQgb3Blbi4iOiB7fSwKKyAgImZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgImxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAibG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgIm5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiI6IHt9LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQg
b3Blbi4iOiB7fSwKKyAgInJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiI6IHt9LAorICAicmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgInJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgInVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIjoge30sCisgICJ1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50
IG9wZW4uIjoge30KK30KKyovPC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4cGxpY2l0X2Rv
bmU6IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdl
IHN0YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCk7CisKK3ZhciBvcmlnaW5hbFRpbWluZyA9
IHt9OwordmFyIGRpZE9wZW4gPSBmYWxzZTsKKworZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7Cisg
IGlmICghZGlkT3BlbikgeworICAgIHNldFRpbWVvdXQodGVzdFRpbWluZ1dpdGhEb2N1bWVudE9w
ZW4sIDApOworICAgIGRpZE9wZW4gPSB0cnVlOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RUaW1p
bmdXaXRoRG9jdW1lbnRPcGVuKCkgeworICB2YXIgc3ViY29udGVudFdpbmRvdyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93OworCisgIGlmIChz
dWJjb250ZW50V2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRlZmluZWQpCisgIHsKKyAgICAvLyBh
dm9pZCBzY3JpcHQgZXJyb3JzCisgICAgZG9uZSgpOworICAgIHJldHVybjsKKyAgfQorICAKKyAg
dmFyIHRpbWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOworICBmb3Ig
KGkgaW4gdGltaW5nQXR0cmlidXRlcykgeworICAgIG9yaWdpbmFsVGltaW5nW3RpbWluZ0F0dHJp
YnV0ZXNbaV1dID0gdGltaW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dOworICB9CisKKyAgdmFyIHN1
YmRvY3VtZW50ID0gc3ViY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgc3ViZG9jdW1lbnQub3Bl
bigpOworICBzdWJkb2N1bWVudC53cml0ZSgnPCFET0NUWVBFIEhUTUw+Jyk7CisgIHN1YmRvY3Vt
ZW50LndyaXRlKCc8aHRtbD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxoZWFkPicpOworICBz
dWJkb2N1bWVudC53cml0ZSgnPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Jyk7CisgIHN1YmRvY3Vt
ZW50LndyaXRlKCc8dGl0bGU+PEdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+Jyk7CisgIHN1YmRvY3Vt
ZW50LndyaXRlKCc8L2hlYWQ+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8Ym9keSBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjojMDBGRjAwOyI+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2Jv
ZHk+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8L2h0bWw+Jyk7CisgIHN1YmRvY3VtZW50LmNs
b3NlKCk7CisKKyAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGltaW5nID0gc3Vi
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7CisgICAgZm9yICh2YXIgaSBpbiB0aW1p
bmdBdHRyaWJ1dGVzKSB7CisgICAgICB0ZXN0X2VxdWFscyh0aW1pbmdbdGltaW5nQXR0cmlidXRl
c1tpXV0sCisgICAgICAgICAgICAgICAgICBvcmlnaW5hbFRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVz
W2ldXSwKKyAgICAgICAgICAgICAgICAgIHRpbWluZ0F0dHJpYnV0ZXNbaV0gKyAiIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIik7CisgICAgfQorICAgIGRvbmUoKTsKKyAgfSwgMCk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNv
bnN0YW50IHdoZW4gYQorZG9jdW1lbnQgaXMgcmVwbGFjZWQgdXNpbmcgZG9jdW1lbnQub3Blbi48
L3A+CisKKzxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgZnJhbWUg
YmVsb3cuIEl0IHRoZW4gcmVwbGFjZXMgdGhlCitkb2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGgg
YSBncmVlbiBkb2N1bWVudC48L3A+CisKKzxwPlRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhl
IGNoZWNrcyB0byBwZXJmb3JtYW5jZS50aW1pbmcgYXJlIGNvcnJlY3QgYW5kCit0aGUgZnJhbWUg
YmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC48L3A+CisKKzxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8YnIgLz4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRf
dGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0
bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVz
c19leGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNz
X2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGEzMzcxYTgxZTE5NTEzMjU3NGJjNWU0
NzA4Yzk3MTQxYjI3YzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3Vt
ZW50X3JlYWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRGVzY3Jp
cHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIsICJpbnRlcmFj
dGl2ZSIgYW5kICJjb21wbGV0ZSIgZG9jdW1lbnQucmVhZHlTdGF0ZSBzdGF0ZXMgYXJlIGF2YWls
YWJsZSBkdXJpbmcgYSBuYXZpZ2F0aW9uLgorCitSZWZyZXNoIHRoaXMgcGFnZSB0byBndWFyYW50
ZWUgYWxsIHJlYWR5U3RhdGUgcGhhc2VzLgorCisKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhh
cyBsb2FkaW5nIHN0YXRlLiAKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFjdGl2
ZSBzdGF0ZS4gCitQQVNTIERvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjJjYTQyNTQwZTFlNzRlNzk2YTNjZjEzNTc3NWYxODVjODk0OWNhNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QuaHRtbApA
QCAtMCwwICsxLDU4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgIDx0aXRsZT5kb2N1bWVudC5yZWFkeVN0
YXRlIHZhbHVlcyBleGlzdCBkdXJpbmcgYSBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0
LmNvbS8iIC8+DQorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
VFIvaHRtbDUvZG9tLmh0bWwjcmVzb3VyY2UtbWV0YWRhdGEtbWFuYWdlbWVudCIvPg0KKyAgICA8
c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAg
ICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0Pg0KKyAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRh
dGFfY2FjaGUiPi8qDQorew0KKyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0
ZS4iOiB7fSwNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiI6
IHt9LA0KKyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUgc3RhdGUuIjoge30NCit9
DQorKi88L3NjcmlwdD4gICANCisgICAgPHNjcmlwdD4NCisgICAgICAgIHNldHVwKHsgZXhwbGlj
aXRfZG9uZTogdHJ1ZSB9KTsNCisgICAgICAgIHZhciBoYXNfbG9hZGluZyA9IChkb2N1bWVudC5y
ZWFkeVN0YXRlID09ICJsb2FkaW5nIik7DQorICAgICAgICB2YXIgaGFzX2ludGVyYWN0aXZlID0g
KGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImludGVyYWN0aXZlIik7DQorICAgICAgICB2YXIgaGFz
X2NvbXBsZXRlID0gKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImNvbXBsZXRlIik7DQorDQorICAg
ICAgICBkb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpDQorICAgICAgICB7
DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImxvYWRpbmciKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2xvYWRpbmcgPSB0cnVlOw0KKyAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiaW50ZXJh
Y3RpdmUiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFzX2ludGVyYWN0aXZl
ID0gdHJ1ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5
U3RhdGUgPSAiY29tcGxldGUiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaGFz
X2NvbXBsZXRlID0gdHJ1ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9Ow0KKw0KKyAgICAg
ICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3Rf
dHJ1ZShoYXNfbG9hZGluZywgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4i
KTsNCisgICAgICAgICAgICB0ZXN0X3RydWUoaGFzX2ludGVyYWN0aXZlLCAiRG9jdW1lbnQgcmVh
ZGluZXNzIGhhcyBpbnRlcmFjdGl2ZSBzdGF0ZS4iKTsNCisgICAgICAgICAgICB0ZXN0X3RydWUo
aGFzX2NvbXBsZXRlLCAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBjb21wbGV0ZSBzdGF0ZS4iKTsN
CisgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICB9DQorICAgIDwvc2NyaXB0Pg0KKw0KKzwv
aGVhZD4NCis8Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgPGgxPkRlc2NyaXB0
aW9uPC9oMT4NCisgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSAibG9hZGluZyIs
ICJpbnRlcmFjdGl2ZSIgYW5kICJjb21wbGV0ZSINCisgICAgICAgZG9jdW1lbnQucmVhZHlTdGF0
ZSBzdGF0ZXMgYXJlIGF2YWlsYWJsZSBkdXJpbmcgYSBuYXZpZ2F0aW9uLjwvcD4NCisgICAgPHA+
UmVmcmVzaCB0aGlzIHBhZ2UgdG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy48L3A+
DQorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFhNDVmODRhMjhhYjBkOTMwMzdkZTM5NzU1ZTRhMGYyNmIyMWFkNzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMgcmVtYWluIHVuY2hhbmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uIChV
UkwgZnJhZ21lbnQgY2hhbmdlKS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIGNv
bm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNT
IGNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAK
K1BBU1MgZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlv
bi4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUludGVyYWN0
aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21M
b2FkaW5nIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBk
b21haW5Mb29rdXBFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4g
CitQQVNTIGRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5h
dmlnYXRpb24uIAorUEFTUyBmZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlZGlyZWN0RW5kIGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZWRpcmVjdFN0YXJ0
IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZXF1ZXN0
U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJl
c3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFT
UyByZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
IAorUEFTUyB1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiAKK1BBU1MgdW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1
bWVudCBuYXZpZ2F0aW9uLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRl
X3dpdGhpbl9kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9k
b2N1bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1YTJjZTdlNjIzM2QzZGRhNmVkNGViNWVmYTk1N2M4
ODhhZGNlYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0
aGluX2RvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSwxMDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiA+CisgICAgICAg
IDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGluIGRvY3VtZW50IG5hdmlnYXRpb248
L3RpdGxlPgorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0i
aHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKyAJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5n
LWludGVyZmFjZSIvPgorCTxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJtZXRhZGF0YV9jYWNoZSI+LyoKK3sKKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
IjogeworICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5n
LyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUg
d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3Ig
cGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyIKKyAgfSwKKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMg
ZGVmaW5lZCI6IHsKKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAgICAiYXV0aG9yIjog
IlczQyBodHRwOi8vd3d3LnczLm9yZy8iCisgIH0sCisgICJjb25uZWN0RW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJjb25uZWN0U3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUNvbXBs
ZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJk
b21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4iOiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21JbnRlcmFjdGl2ZSBp
cyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tTG9h
ZGluZyBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAi
ZG9tYWluTG9va3VwRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
Ijoge30sCisgICJkb21haW5Mb29rdXBTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVu
dCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZmV0Y2hTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAibG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJsb2FkRXZlbnRTdGFydCBpcyB0
aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAibmF2aWdhdGlv
blN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisg
ICJyZWRpcmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6
IHt9LAorICAicmVkaXJlY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiI6IHt9LAorICAicmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBp
biBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAicmVzcG9uc2VTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAidW5sb2FkRXZlbnRFbmQg
aXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInVubG9h
ZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7
fQorfQorKi88L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxoMT5E
ZXNjcmlwdGlvbjwvaDE+CisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwg
b2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyByZW1haW4gdW5jaGFu
Z2VkIGFmdGVyIGFuIGluIGRvY3VtZW50IG5hdmlnYXRpb24gKFVSTCBmcmFnbWVudCBjaGFuZ2Up
LjwvcD4KKworICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKworICAgICAgICAgICAg
Ly8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcK
KyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsKKworICAgICAgICAgICAgdmFy
IHRpbWluZzsKKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tfdGltaW5nX25vdF9jaGFuZ2Vk
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRp
bWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOworICAgICAgICAg
ICAgICAgICAgICB0ZXN0X2VxdWFscyh0aW1pbmdbcHJvcGVydHldLCBpbml0aWFsX3RpbWluZ1tw
cm9wZXJ0eV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5ICsgIiBp
cyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiIpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHZhciBpbml0aWFsX3RpbWluZyA9IHt9OworICAgICAgICAgICAgZnVuY3Rpb24gc2F2ZV90
aW1pbmdfYWZ0ZXJfbG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRl
c1tpXTsKKyAgICAgICAgICAgICAgICAgICAgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldID0gdGlt
aW5nW3Byb3BlcnR5XTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgd2luZG93
LmxvY2F0aW9uLmhyZWYgPSAiIzEiOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoImNoZWNr
X3RpbWluZ19ub3RfY2hhbmdlZCgpIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGxvYWRfaGFuZGxlcigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
aWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzCisgICAgICAgICAg
ICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHRpbWluZyA9IHBlcmZvcm1h
bmNlTmFtZXNwYWNlLnRpbWluZzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHdpbmRv
dy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIiwgbG9hZF9oYW5kbGVyKTsKKyAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KCJzYXZlX3RpbWluZ19hZnRlcl9sb2FkKCkiLCAwKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBsb2Fk
X2hhbmRsZXIsIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlz
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4
aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGQ1NjFmNTgwMGZiZjU0ZmI4MGY0MDMyMDMy
NzAwNzEwYjkwZWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRp
b25fYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorRGVzY3Jp
cHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRl
IHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGlzIGRlZmlu
ZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGlz
IGRlZmluZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVz
X2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFiMWM5ZDI2MGY2YTQyMWFmYzRjZTZhNTU3MGI5MDI1
NmUyOWQ3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX2F0
dHJpYnV0ZXNfZXhpc3QuaHRtbApAQCAtMCwwICsxLDQxIEBACivvu788IURPQ1RZUEUgaHRtbD4N
Cis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQor
ICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gYXR0cmlidXRlczwv
dGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJl
Zj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
aW5mby1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5j
ZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0
cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0
dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisg
IH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgaXMg
ZGVmaW5lZC4iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5
Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0
dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBh
cmUgY29ycmVjdCkuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisg
ICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0K
Kw0KKyAgICAgICAgdGVzdF9hdHRyaWJ1dGVfZXhpc3RzKCduYXZpZ2F0aW9uJywgJ3R5cGUnKTsN
CisgICAgICAgIHRlc3RfYXR0cmlidXRlX2V4aXN0cygnbmF2aWdhdGlvbicsICdyZWRpcmVjdENv
dW50Jyk7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25l
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWFmZjY0YmJlZjViMGY4MDI5NTU5Mjc4MjQwYzY4
NmJkZWMxZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25f
cmVkaXJlY3RDb3VudF9ub25lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitEZXNjcmlw
dGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBh
cyB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVj
dEVuZCBhdHRyaWJ1dGVzIG9uIGEgbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbi4KKworCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcucmVkaXJlY3RTdGFydCBvbiBhbiBu
b24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgb24gYW4g
bm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50
IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZmMTk0
OTQ5MWI0NGFhZWU4M2UzNzlhNWFmZGY5ZmI1NjliMDJkNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAg
ICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYSBub24tcmVkaXJlY3RlZCBuYXZp
Z2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9z
b2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2
aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5yZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVj
dGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJ0aW1pbmcucmVkaXJlY3RFbmQgb24gYW4gbm9uLXJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9LA0KKyAgIm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBv
biBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjogeyAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2Ui
IH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAg
IDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRo
YXQgdGhlIHZhbHVlIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVj
dENvdW50IGF0dHJpYnV0ZSwgYXMgd2VsbCBhcyB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0IGFuZCByZWRpcmVjdEVuZCBhdHRyaWJ1dGVzIG9uIGEgbm9uLXJlZGly
ZWN0ZWQgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0K
Kw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9u
Jyk7DQorDQorICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgIT09IHVuZGVmaW5lZCkN
CisgICAgICAgIHsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFj
ZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWluZy5yZWRpcmVjdFN0YXJ0IG9uIGFuIG5v
bi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJm
b3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RF
bmQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3Rf
ZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMCwg
J25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9u
Jyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+
DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25h
dmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
bmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTAy
NGRjZmQ4NDdkZjk2YzIyODFmMGU2NDI3YTdmOWZhNzFlM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMyBAQAorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBo
YW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIo
cykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJh
bWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitEZXNjcmlwdGlv
bgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlIHdpdGggYSBmb3J3YXJkIGFuZCBiYWNrIG5hdmlnYXRpb24uCisKK1Ro
aXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBi
ZWxvdy4gSXQgc2hvdWxkIHR1cm4gZ3JlZW4gZm9yIGEgc3RhcnRpbmcgbmF2aWdhdGlvbiwgYmFj
ayB0byB5ZWxsb3cgZm9yIGEgYmFjayBuYXZpZ2F0aW9uIGFuZCB0aGVuIGJhY2sgdG8gZ3JlZW4g
YWdhaW4gZm9yIGEgZm9yd2FyZCBuYXZpZ2F0aW9uLgorCitBbG9uZyB0aGUgbmF2aWdhdGlvbiB0
aW1lbGluZSB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnR5cGUgaXMgY2hlY2tlZCBmb3Ig
VFlQRV9CQUNLX0ZPUldBUkQuCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVj
a3MgdG8gdGhlIG5hdmlnYXRpb24udHlwZSBhcmUgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZp
Z2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFj
a2dyb3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuCisKKworCisKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUg
PT0gVFlQRV9OQVZJR0FURSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlw
ZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmJhY2soKSAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBo
aXN0b3J5LmZvcndhcmQoKSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRp
b25fdHlwZV9iYWNrZm9yd2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlw
ZV9iYWNrZm9yd2FyZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZGUzZTFhNWExMGQ5ZmVlZTg5NDVlNDZi
OTJmOTJlNTFiOWU0YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdh
dGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwKQEAgLTAsMCArMSwxMTMgQEAKK++7vzwhRE9DVFlQ
RSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5uYXZpZ2F0aW9uLnR5cGUgZm9yIGJhY2sg
YW5kIGZvcndhcmQgbmF2aWdhdGlvbnM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+
DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlk
PSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmlu
ZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAi
VGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJX
M0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0K
KyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVz
IGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQor
ICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBh
ZnRlciBoaXN0b3J5LmJhY2soKSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJkKCkiOiB7
fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1
cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkg
dGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAgICAg
dGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgICAgICBmdW5jdGlvbiBv
bmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAocGVyZm9y
bWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAg
ICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAg
ICB9DQorDQorICAgICAgICAgICAgICAgIC8vIGRvIHRoaXMgd2l0aCBhIHRpbWVvdXQgdG8gc2Vl
IHRoZSB2aXN1YWxzIG9mIHRoZSBuYXZpZ2F0aW9ucy4NCisgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dCgibmF2X2ZyYW1lKCk7IiwgMTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAg
ICAgdmFyIHN0ZXAgPSAxOw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG5hdl9mcmFtZSgpDQorICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgbmF2aWdhdGlvbl9mcmFtZSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93Ow0KKyAgICAg
ICAgICAgICAgICBzd2l0Y2ggKHN0ZXApDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgMToNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmxvY2F0aW9uLmhyZWYgPSAnL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251bmxvYWQuaHRtJzsNCisgICAgICAg
ICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDI6DQor
ICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVh
bHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9u
LlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFJyk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5oaXN0b3J5LmJhY2soKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDM6
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9l
cXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0
aW9uLlRZUEVfQkFDS19GT1JXQVJELA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQg
YWZ0ZXIgaGlzdG9yeS5iYWNrKCknKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7
DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5oaXN0b3J5LmZvcndh
cmQoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoNCisgICAgICAgICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0aW9uX2ZyYW1l
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmZvcndhcmQo
KScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAg
ICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
fQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAg
ICAgICA8aDE+DQorICAgICAgICAgICAgRGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+DQor
ICAgICAgICAgICAgVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgZm9yd2FyZA0KKyAgICAgICAgICAgIGFuZCBi
YWNrIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBs
b2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiAgSXQgc2hvdWxkIHR1
cm4gZ3JlZW4gZm9yIGEgc3RhcnRpbmcNCisgICAgICAgICAgICBuYXZpZ2F0aW9uLCBiYWNrIHRv
IHllbGxvdyBmb3IgYSBiYWNrIG5hdmlnYXRpb24gYW5kIHRoZW4gYmFjayB0byBncmVlbiBhZ2Fp
biBmb3IgYSBmb3J3YXJkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPHA+QWxvbmcgdGhl
IG5hdmlnYXRpb24gdGltZWxpbmUgdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50eXBlIGlz
IGNoZWNrZWQgZm9yIFRZUEVfQkFDS19GT1JXQVJELjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMg
dGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIG5hdmlnYXRpb24udHlwZSBh
cmUgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uDQorICAgICAgICAgICAgc2NlbmFy
aW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiAgT3Ro
ZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48
L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxh
bmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhl
aWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg0ZDhhMTgzM2Y0NDJmMWI5YWJiODQ0ZTkyZTNjZWU0M2U0M2IyODMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIFRZUEVfKiBlbnVtZXJhdGlvbnMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24gZXhpc3QgYW5kIHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdC4KKworCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBF
X05BVklHQVRFIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5UWVBFX05BVklHQVRFID0gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
VFlQRV9SRUxPQUQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLlRZUEVfUkVMT0FEID0gMSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
VFlQRV9CQUNLX0ZPUldBUkQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEID0gMiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCA9IDI1NSAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkMDAxODdjMGMwYzZkZGQx
MjJmMTU4MWExYzNiZGIzZWYxNjViMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor77u/PCFET0NU
WVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24g
ZW51bXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3Nv
ZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklH
QVRFIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
VFlQRV9OQVZJR0FURSA9IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5UWVBFX1JFTE9BRCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfUkVMT0FEID0gMSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQgPSAyIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgPSAy
NTUiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAg
ICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0IHRoZSBUWVBFXyogZW51bWVyYXRpb25zIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGV4aXN0IGFuZCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QuPC9wPg0KKw0KKyAgICAg
ICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0
ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZp
Z2F0aW9uJywgJ1RZUEVfTkFWSUdBVEUnLCAwKTsNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdh
dGlvbicsICdUWVBFX1JFTE9BRCcsIDEpOw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9u
JywgJ1RZUEVfQkFDS19GT1JXQVJEJywgMik7DQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRp
b24nLCAnVFlQRV9SRVNFUlZFRCcsIDI1NSk7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9i
b2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90
eXBlX3JlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBl
X3JlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNkMTkzNDgyMjI5MDFiYTFhZWY0MGNi
N2QwYzI1Yjk0OGY4YWQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitEZXNjcmlw
dGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi50eXBlIGFuZCB0aGUgdmFsdWVzIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuKiB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbi4KKworVGhpcyBwYWdlIHNob3VsZCBi
ZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJhbWUgYmVsb3cuIFRoZSBmcmFtZSB3
aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdAorCitU
aGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9IFRZUEVfUkVMT0FECitBbGwg
b2YgdGhlIHdpZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBhZnRlciByZWxvYWQgYXJl
ID4gYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzIHByaW9yIHRv
IHJlbG9hZC4KKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQse2hlbHA6Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVy
ZmFjZSJ9IAorUEFTUyBSZWxvYWQgY29ubmVjdEVuZCA+IE9yaWdpbmFsIGNvbm5lY3RFbmQgCitQ
QVNTIFJlbG9hZCBjb25uZWN0U3RhcnQgPiBPcmlnaW5hbCBjb25uZWN0U3RhcnQgCitQQVNTIFJl
bG9hZCBkb21Db21wbGV0ZSA+IE9yaWdpbmFsIGRvbUNvbXBsZXRlIAorUEFTUyBSZWxvYWQgZG9t
Q29udGVudExvYWRlZEV2ZW50RW5kID4gT3JpZ2luYWwgZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
IAorUEFTUyBSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiBPcmlnaW5hbCBkb21D
b250ZW50TG9hZGVkRXZlbnRTdGFydCAKK1BBU1MgUmVsb2FkIGRvbUludGVyYWN0aXZlID4gT3Jp
Z2luYWwgZG9tSW50ZXJhY3RpdmUgCitQQVNTIFJlbG9hZCBkb21Mb2FkaW5nID4gT3JpZ2luYWwg
ZG9tTG9hZGluZyAKK1BBU1MgUmVsb2FkIGRvbWFpbkxvb2t1cEVuZCA+IE9yaWdpbmFsIGRvbWFp
bkxvb2t1cEVuZCAKK1BBU1MgUmVsb2FkIGRvbWFpbkxvb2t1cFN0YXJ0ID4gT3JpZ2luYWwgZG9t
YWluTG9va3VwU3RhcnQgCitQQVNTIFJlbG9hZCBmZXRjaFN0YXJ0ID4gT3JpZ2luYWwgZmV0Y2hT
dGFydCAKK1BBU1MgUmVsb2FkIGxvYWRFdmVudEVuZCA+IE9yaWdpbmFsIGxvYWRFdmVudEVuZCAK
K1BBU1MgUmVsb2FkIGxvYWRFdmVudFN0YXJ0ID4gT3JpZ2luYWwgbG9hZEV2ZW50U3RhcnQgCitQ
QVNTIFJlbG9hZCBuYXZpZ2F0aW9uU3RhcnQgPiBPcmlnaW5hbCBuYXZpZ2F0aW9uU3RhcnQgCitQ
QVNTIFJlbG9hZCByZWRpcmVjdEVuZCA9PSBPcmlnaW5hbCByZWRpcmVjdEVuZCAKK1BBU1MgUmVs
b2FkIHJlZGlyZWN0U3RhcnQgPT0gT3JpZ2luYWwgcmVkaXJlY3RTdGFydCAKK1BBU1MgUmVsb2Fk
IHJlcXVlc3RTdGFydCA+IE9yaWdpbmFsIHJlcXVlc3RTdGFydCAKK1BBU1MgUmVsb2FkIHJlc3Bv
bnNlRW5kID4gT3JpZ2luYWwgcmVzcG9uc2VFbmQgCitQQVNTIFJlbG9hZCByZXNwb25zZVN0YXJ0
ID4gT3JpZ2luYWwgcmVzcG9uc2VTdGFydCAKK1BBU1MgUmVsb2FkIHVubG9hZEV2ZW50RW5kID4g
T3JpZ2luYWwgdW5sb2FkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCB1bmxvYWRFdmVudFN0YXJ0ID4g
T3JpZ2luYWwgdW5sb2FkRXZlbnRTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9u
X3R5cGVfcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWUyYmE1ZjU2ZWZhNjg2YWU2NGVlYmYzNjhl
Nzc3MDBjMWI2NGMxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0
aW9uX3R5cGVfcmVsb2FkLmh0bWwKQEAgLTAsMCArMSwxNDQgQEAKK++7vzwhRE9DVFlQRSBodG1s
Pg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
Pg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgd2l0
aCBhIHJlbG9hZGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+
DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyA8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
LA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
DQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCx7aGVscDoiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8t
aW50ZXJmYWNlIn0iOiB7fSwNCisgICJSZWxvYWQgY29ubmVjdEVuZCgxMzQwMzc2MDcwMjk1KSA+
IE9yaWdpbmFsIGNvbm5lY3RFbmQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgY29u
bmVjdFN0YXJ0KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgY29ubmVjdFN0YXJ0KDEzNDAzNzYw
NzAxNjMpIjoge30sDQorICAiUmVsb2FkIGRvbUNvbXBsZXRlKDEzNDAzNzYwNzAzMDApID4gT3Jp
Z2luYWwgZG9tQ29tcGxldGUoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgZG9tQ29u
dGVudExvYWRlZEV2ZW50RW5kKDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgZG9tQ29udGVudExv
YWRlZEV2ZW50RW5kKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUNvbnRlbnRM
b2FkZWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgZG9tQ29udGVudExvYWRl
ZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgZG9tSW50ZXJhY3Rp
dmUoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21JbnRlcmFjdGl2ZSgxMzQwMzc2MDcwMTc5
KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Mb2FkaW5nKDEzNDAzNzYwNzAyOTkpID4gT3JpZ2luYWwg
ZG9tTG9hZGluZygxMzQwMzc2MDcwMTc4KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21haW5Mb29rdXBF
bmQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBFbmQoMTM0MDM3NjA3MDE2
MykiOiB7fSwNCisgICJSZWxvYWQgZG9tYWluTG9va3VwU3RhcnQoMTM0MDM3NjA3MDI5NSkgPiBP
cmlnaW5hbCBkb21haW5Mb29rdXBTdGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9h
ZCBmZXRjaFN0YXJ0KDEzNDAzNzYwNzAyOTApID4gT3JpZ2luYWwgZmV0Y2hTdGFydCgxMzQwMzc2
MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBsb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDMwMCkgPiBP
cmlnaW5hbCBsb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgbG9h
ZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBsb2FkRXZlbnRTdGFydCgxMzQw
Mzc2MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBuYXZpZ2F0aW9uU3RhcnQoMTM0MDM3NjA3MDI5
MCkgPiBPcmlnaW5hbCBuYXZpZ2F0aW9uU3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJS
ZWxvYWQgcmVkaXJlY3RFbmQoMCkgPT0gT3JpZ2luYWwgcmVkaXJlY3RFbmQoMCkiOiB7fSwNCisg
ICJSZWxvYWQgcmVkaXJlY3RTdGFydCgwKSA9PSBPcmlnaW5hbCByZWRpcmVjdFN0YXJ0KDApIjog
e30sDQorICAiUmVsb2FkIHJlcXVlc3RTdGFydCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIHJl
cXVlc3RTdGFydCgxMzQwMzc2MDcwMTY0KSI6IHt9LA0KKyAgIlJlbG9hZCByZXNwb25zZUVuZCgx
MzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFsIHJlc3BvbnNlRW5kKDEzNDAzNzYwNzAxNzQpIjoge30s
DQorICAiUmVsb2FkIHJlc3BvbnNlU3RhcnQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCByZXNw
b25zZVN0YXJ0KDEzNDAzNzYwNzAxNjQpIjoge30sDQorICAiUmVsb2FkIHVubG9hZEV2ZW50RW5k
KDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRFbmQoMCkiOiB7fSwNCisgICJS
ZWxvYWQgdW5sb2FkRXZlbnRTdGFydCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFsIHVubG9hZEV2
ZW50U3RhcnQoMCkiOiB7fQ0KK30NCisqLzwvc2NyaXB0PiAgICAgICANCisgICAgICAgIDxzY3Jp
cHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAg
ICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQg
dGVzdGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorICAg
ICAgICAgICAgdmFyIHJlbG9hZF9mcmFtZTsNCisgICAgICAgICAgICB2YXIgc3RhcnRpbmdUaW1l
Ow0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGRlZXBDb3B5KHAsIGMpDQorICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICB2YXIgYyA9IGMgfHwge307DQorICAgICAgICAgICAgICAgIGZv
ciAodmFyIGkgaW4gcCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
aWYgKHR5cGVvZiBwW2ldID09PSAnb2JqZWN0JykNCisgICAgICAgICAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgICAgICAgICBjW2ldID0gKHBbaV0uY29uc3RydWN0b3IgPT09IEFycmF5
KSA/IFtdIDoge307DQorICAgICAgICAgICAgICAgICAgICAgICAgZGVlcENvcHkocFtpXSwgY1tp
XSk7DQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgY1tpXSA9IHBbaV07DQorICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgcmV0dXJuIGM7DQorICAgICAgICAgICAgfQ0KKw0K
KyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1l
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgICAgICAgICAgIC8qIE5lZWQgdG8gbWFr
ZSBzdXJlIHdlIGRvbid0IGV4YW1pbmUgbG9hZEV2ZW50RW5kDQorICAgICAgICAgICAgICAgICAg
ICAgdW50aWwgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQgaGFzIGZpbmlzaGVkIGZpcmluZyAqLw0KKwkJ
ICAgIHNldFRpbWVvdXQoZG9fdGVzdCwgMCk7DQorCQl9DQorICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQoInJlbG9hZF90aGVfZnJhbWUoKTsiLCAxMDApOw0KKyAgICAgICAgICAgIH0NCisNCisg
ICAgICAgICAgICBmdW5jdGlvbiByZWxvYWRfdGhlX2ZyYW1lKCkNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIC8vQmVmb3JlIHJlbG9hZGluZywgc2F2ZSB0aGUgY3VycmVudCB0aW1p
bmcNCisgICAgICAgICAgICAgICAgc3RhcnRpbmdUaW1lID0gZGVlcENvcHkocmVsb2FkX2ZyYW1l
LmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nKTsNCisgICAgICAgICAgICAgICAgcmVs
b2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKHRydWUpOw0KKyAgICAgICAg
ICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiBkb190ZXN0KCkNCisgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBudWxsOw0KKyAgICAgICAg
ICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UpDQorICAgICAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgICAgIC8vVmVyaWZ5IHRoYXQgdGhlIG5hdmlnYXRpb24gdHlwZSBoYXMg
dXBkYXRlZCB0byByZWxvYWQNCisgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlbG9h
ZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5U
WVBFX1JFTE9BRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQse2hlbHA6Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9
Jyk7DQorDQorICAgICAgICAgICAgICAgICAgICAvL1ZlcmlmeSB0aGF0IHRoZSB0aW1pbmcgZGF0
YSBoYXMgYmVlbiB1cGRhdGVkIGludG8gdGhlIGZ1dHVyZQ0KKyAgICAgICAgICAgICAgICAgICAg
dmFyIHJlbG9hZFRpbWUgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmc7DQorICAgICAgICAgICAgICAgICAgICBmb3IgKGF0dHJpYnV0ZSBpbiB0aW1pbmdBdHRy
aWJ1dGVzKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHZhciB0aW1lID0gdGltaW5nQXR0cmlidXRlc1thdHRyaWJ1dGVdOw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChyZWxvYWRUaW1lW3RpbWVdID09PSAwKQ0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVsb2Fk
VGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
cnRpbmdUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiUmVsb2FkICIgKyB0aW1lICArDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIgPT0gIiArDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJPcmlnaW5hbCAiICsgdGltZSApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAg
ICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihyZWxvYWRUaW1lW3Rp
bWVdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFy
dGluZ1RpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJSZWxvYWQgIiArIHRpbWUgICsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIiA+ICIgKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiT3JpZ2luYWwgIiArIHRpbWUgKTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0NCisN
CisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2Ny
aXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0K
KyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgYW5k
IHRoZSB2YWx1ZXMgb2YNCisgICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiog
d2l0aCBhIHJlbG9hZGVkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdl
IHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJhbWUgYmVsb3cuICBU
aGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkDQorICAgICAgICBhbmQgdGhl
biB2ZXJpZmllZCB0aGF0IA0KKyAgICAgICAgPHVsPg0KKyAgICAgICAgICAgIDxsaT5UaGUgd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9IFRZUEVfUkVMT0FEPC9saT4NCisgICAg
ICAgICAgICA8bGk+QWxsIG9mIHRoZSB3aWRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMg
YWZ0ZXIgcmVsb2FkIGFyZSA+IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4q
IHZhbHVlcw0KKyAgICAgICAgICAgICAgICBwcmlvciB0byByZWxvYWQuPC9saT4NCisgICAgICAg
IDwvdWw+DQorICAgICAgICA8L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0K
KyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0i
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5bGU9IndpZHRo
OiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFlZmNlOWM1ZGMwNjA0MGVhMmE5ZmZjOGUzOTYzZDBiYWNkMjliMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhlIHVubG9hZCBldmVudCB0aW1lcyBhcmUgMCB3aGVuIHRoZXJlIGlzIG5vIHBy
ZXZpb3VzIGRvY3VtZW50LgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFT
UyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNTIHRpbWluZy51
bmxvYWRFdmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3Vt
ZW50IAorUEFTUyB0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9uIHdpdGggbm8g
cHJldmlvdXMgZG9jdW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2
aW91c19kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmMyMjRjZTdiNDM4YzAwOThjYzU0OGEyNDU4NDllNWU3YzcwNTMx
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91c19kb2N1bWVu
dC5odG1sCkBAIC0wLDAgKzEsNTggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAg
ICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRp
dGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBvbiBhbiBpbml0aWFsIG5h
dmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29n
bGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0
aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0
ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJv
dmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4g
IiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0sDQorICAidGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIjog
eyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5h
dmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAidGltaW5nLnVubG9hZEV2ZW50U3RhcnQg
PT0gMCBvbiBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQiOiB7fSwNCisgICJ0
aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0gMCBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9j
dW1lbnQiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIA0KKyAg
ICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0p
Ow0KKw0KKyAgICAgICAgICAgIHZhciBmcmFtZTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxv
YWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBmcmFtZSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAgICAgdGVz
dF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1h
bmNlTmFtZXNwYWNlKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICB0
ZXN0X3RydWUoZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUg
PT0gcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVf
TkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxv
YWRFdmVudFN0YXJ0LCAwLCAndGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPT0gMCBvbiBuYXZpZ2F0
aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQnKTsNCisgICAgICAgICAgICAgICAgICAgIHRl
c3RfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2
ZW50RW5kLCAwLCAndGltaW5nLnVubG9hZEV2ZW50RW5kID09IDAgbmF2aWdhdGlvbiB3aXRoIG5v
IHByZXZpb3VzIGRvY3VtZW50Jyk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAg
ICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICAgICAg
DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAg
ICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGUgdW5sb2FkIGV2ZW50IHRpbWVzIGFyZSAwIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMg
ZG9jdW1lbnQuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj48YnIgLz4NCisg
ICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1
MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2ZDJkODY5ZTNjYjM5MDE2NDAyNDZhNTU3M2QzZWNkNTczZTNkMWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19l
eGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQgdGhlIG5hdmlnYXRpb24gYW5kIHRpbWluZyBhdHRyaWJ1dGVzIGV4
aXN0IGZvciB3aW5kb3cucGVyZm9ybWFuY2UgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRo
ZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MzE4YTlkOTY4NzVjMWUxNjlkMWI3OTU1NWE3MTU4YjRkYzFjOWI4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApA
QCAtMCwwICsxLDQyIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+
DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5k
b3cucGVyZm9ybWFuY2UgYXR0cmlidXRlczwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIg
Lz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLz4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2Vy
dCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9y
IjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9z
Y3JpcHQ+DQorICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAg
ICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCB0aGUgbmF2aWdhdGlvbiBhbmQgdGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgZm9yIHdpbmRv
dy5wZXJmb3JtYW5jZSANCisgICAgICAgIChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVp
ciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+
DQorICAgICAgICA8c2NyaXB0PiAgICAgICAgICAgIA0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycs
IHRydWUpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1
dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZkOWZkNTRiNTdh
NTBjOTQxNzNmYTA1Y2I1NGQzMjJiMDg0YjQ0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRo
YXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgZXhpc3RzIGluIGFuIG9iamVjdCBlbGVt
ZW50IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3Qp
LgorCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdF9pbl9vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9h
dHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1NTRiYzk3NTQ4MWIx
ZGRiZGIxMmYzYzlmN2QzMmUyYTgxZjU3MTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbApAQCAtMCww
ICsxLDQ4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAg
ICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIGV4aXN0cyBpbiBhbiBvYmplY3Q8L3RpdGxlPg0KKyAgICAgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl
LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIi8+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0
YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBp
cyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNz
ZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGlu
ZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRo
b3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0K
KyovPC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAg
ICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkgew0KKyAgICAgICAgICAgIHZhciBvYmpXaW5kb3cg
PQ0KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib2JqZWN0Q29udGV4
dCIpLmNvbnRlbnREb2N1bWVudC5kZWZhdWx0VmlldzsNCisgICAgICAgICAgICBwZXJmb3JtYW5j
ZU5hbWVzcGFjZSA9IG9ialdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICB0ZXN0X25h
bWVzcGFjZSgndGltaW5nJyk7DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRp
b24nLCB0cnVlKTsNCisgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVh
ZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAg
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0
IGV4aXN0cyBpbiBhbg0KKyAgICAgICAgb2JqZWN0IGVsZW1lbnQgKGJ1dCBkb2VzIG5vdCB2YWxp
ZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKyAgICAgICAgPG9iamVj
dCBpZD0ib2JqZWN0Q29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgZGF0YT0iL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSI+PC9vYmplY3Q+DQorICAgICAg
ICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4OWI5NjRkNzBmOTY5NGRl
YTVhYzE4NWMxZGY0Y2U2MGM0NDNkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9yZWFkd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRGVzY3JpcHRpb24KKwor
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlz
IHJlYWQvd3JpdGUuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUgCitQQVNTIHZhciBwZXJmb3JtYW5j
ZSBpcyByZWFkL3dyaXRlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMzNjYy
NjViNWY1MDc0MDVlZTA0YzFhMzFiOTM4ZmYxNTNjNjk1MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUuaHRtbApAQCAtMCwwICsxLDM5IEBACivvu788IURPQ1RZ
UEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0
ZTwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIg
aHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLz4NCisJPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLz4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8
c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoN
Cit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSI6IHt9LA0KKyAg
InZhciBwZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIjoge30NCit9DQorKi88L3NjcmlwdD4NCisg
ICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuY3NzIiAvPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRl
c2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
d2luZG93LnBlcmZvcm1hbmNlIG9iamVjdCBpcyByZWFkL3dyaXRlLjwvcD4NCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCk7DQorDQorICAgICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlID0gJ2Zvbyc7
DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMod2luZG93LnBlcmZvcm1hbmNlLCAnZm9vJywgJ3dp
bmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlJyk7DQorDQorICAgICAgICAgICAgdmFyIHBl
cmZvcm1hbmNlID0gJ2Jhcic7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2Us
ICdiYXInLCAndmFyIHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUnKTsNCisgICAgICAgIDwvc2Ny
aXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
dGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1YTE2YmYx
YmFhZWVjNTdiYzgzNDk3NzBmMjYwMWU3Y2NlZGRmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2Yg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMg
bm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVu
ZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3Rh
cnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxl
dGUgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVu
dExvYWRlZEV2ZW50RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIGlzIGRlZmluZWQuIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIGlzIGRlZmluZWQuIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRlZmluZWQuIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgaXMgZGVmaW5lZC4gCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kIGlzIGRlZmluZWQuIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQu
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGlzIGRl
ZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCBpcyBk
ZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCBpcyBk
ZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IGlz
IGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5k
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50
U3RhcnQgaXMgZGVmaW5lZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdf
YXR0cmlidXRlc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVz
X2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0MzlkNTQxOTllMGQ0NjlhYzQ2NDJlMGNiY2M1NGVl
NzViZWJjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmli
dXRlc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxo
dG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAg
ICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlczwvdGl0bGU+
DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0
cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5n
LWludGVyZmFjZSIvPiAgICAgICAgDQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
LA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
DQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5j
ZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0
cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0
dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisg
IH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kIGlzIGRlZmluZWQu
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgaXMgZGVm
aW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlIGlz
IGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50
TG9hZGVkRXZlbnRFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBkZWZpbmVkLiI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBT
dGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0
Y2hTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
bG9hZEV2ZW50RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5sb2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0IGlzIGRlZmluZWQuIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCBpcyBkZWZpbmVk
LiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCBpcyBk
ZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRF
bmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9h
ZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8L2hl
YWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAg
IDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhl
aXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwv
ZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1p
bmcnKTsNCisNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5s
ZW5ndGg7ICsraSkNCisgICAgICAgIHsNCisgICAgICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlz
dHMoJ3RpbWluZycsIHRpbWluZ0F0dHJpYnV0ZXNbaV0pOw0KKyAgICAgICAgfQ0KKyAgICAgICAg
PC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMx
ZDgxODRkM2I3M2MxZGUzYjZlODhiMjQ0ZTA3YzJkNGIxZjRkNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1OCBAQAorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5k
bGVyKHMpCitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBvcmRlcmluZyBv
ZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzLgorCitUaGlzIHBhZ2Ug
c2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hp
Y2ggY29udGFpbnMgYW4gdW5sb2FkIGV2ZW50IGhhbmRsZXIuCisKK0FmdGVyIHRoZSBwYWdlIGxv
YWRzLCB0aGUgZnJhbWUgaXMgbmF2aWdhdGVkIHRvIGEgbmV3IGJsYW5rIHBhZ2Ugd2l0aCBhIGdy
ZWVuIGJhY2tncm91bmQuIEF0IHRoaXMgcG9pbnQsIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIGlz
IHZlcmlmaWVkCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhl
IGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBhcmUgY29ycmVjdCB0
aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5k
cyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuCisK
K1NldHVwCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVkaXJlY3RTdGFydCA9PSAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
ZGlyZWN0RW5kID09IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFy
dCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5mZXRjaFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1
cEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5k
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5kb21haW5Mb29rdXBFbmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVj
dEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+PSB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLnJlcXVlc3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RF
bmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+IDAgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZXNwb25zZUVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVz
cG9uc2VFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPiAwIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5mZXRjaFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0
aXZlID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID49IHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbXBsZXRlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29u
dGVudExvYWRlZEV2ZW50RW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRF
dmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRT
dGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVu
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPiAwIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnVubG9hZEV2ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnVubG9hZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9u
U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPiAw
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWU5YjE4M2U4MTNl
ZDQ1MDNhYmY3MzdkZmVlYjdhMWI0ZDNkNDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWwKQEAgLTAsMCArMSwxNjcgQEAKK++7
vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcgYXR0cmlidXRlIG9yZGVyaW5nIG9uIGEgc2ltcGxlIG5hdmlnYXRpb248L3RpdGxlPg0KKyAg
ICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93
d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRl
cmZhY2UiLz4gICAgICAgIA0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5jc3MiIC8+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFj
ZSIgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAi
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPT0gMCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5m
ZXRjaFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29r
dXBFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29r
dXBFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID4gMCI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5jb25uZWN0RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuY29ubmVjdEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFy
dCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID4gMCI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLnJlc3BvbnNlU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1
ZXN0U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5k
ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPj0g
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0Ijoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZl
dGNoU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0
aXZlID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3Rp
dmUgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiAwIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPiAw
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZl
bnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPiAw
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
bG9hZEV2ZW50U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9h
ZEV2ZW50U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxv
YWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+IDAi
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID49IHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCI6IHt9DQorfQ0KKyovPC9z
Y3JpcHQ+ICAgICAgIA0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhw
bGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1p
bmcnKTsNCisNCisgICAgICAgICAgICB2YXIgc3RlcCA9IDE7DQorICAgICAgICAgICAgZnVuY3Rp
b24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHN0
ZXAgPT09IDEgJiYgd2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisg
ICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsN
CisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICB2YXIgbmF2aWdhdGlvbl9m
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2lu
ZG93Ow0KKyAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IG5hdmlnYXRpb25f
ZnJhbWUucGVyZm9ybWFuY2U7DQorICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RlcCkNCisgICAg
ICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAxOg0KKyAgICAgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUubG9j
YXRpb24uaHJlZiA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
JzsNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGNh
c2UgMjoNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicsIHRydWUpOw0KKw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGVzdHMNCisgICAgICAgICAg
ICAgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FU
RSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7
DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmF2aWdpYXRpb24gbXVzdCBiZSBub24t
MA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbignbmF2
aWdhdGlvblN0YXJ0JywgMCk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gbXVzdCBi
ZSBubyByZWRpcmVjdGlvbiBmb3IgdGhpcyB0ZXN0IGNhc2UNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RpbWluZ19lcXVhbHMoJ3JlZGlyZWN0U3RhcnQnLCAwKTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19lcXVhbHMoJ3JlZGlyZWN0RW5kJywgMCk7DQorDQor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsaWRhdGUgYXR0cmlidXRlIG9yZGVyaW5nDQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAn
bmF2aWdhdGlvblN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdf
b3JkZXIoJ2RvbWFpbkxvb2t1cFN0YXJ0JywgJ2ZldGNoU3RhcnQnKTsNCisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tYWluTG9va3VwRW5kJywgJ2RvbWFpbkxv
b2t1cFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIo
J2Nvbm5lY3RTdGFydCcsICdkb21haW5Mb29rdXBFbmQnKTsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RpbWluZ19vcmRlcignY29ubmVjdEVuZCcsICdjb25uZWN0U3RhcnQnKTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVxdWVzdFN0YXJ0Jywg
J2Nvbm5lY3RFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cigncmVzcG9uc2VTdGFydCcsICdyZXF1ZXN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVzcG9uc2VFbmQnLCAncmVzcG9uc2VTdGFydCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Mb2FkaW5nJywg
J2ZldGNoU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cignZG9tSW50ZXJhY3RpdmUnLCAncmVzcG9uc2VFbmQnKTsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnLCAnZG9t
SW50ZXJhY3RpdmUnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cignZG9tQ29udGVudExvYWRlZEV2ZW50RW5kJywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0
Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbXBs
ZXRlJywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX29yZGVyKCdsb2FkRXZlbnRTdGFydCcsICdkb21Db250ZW50TG9hZGVk
RXZlbnRFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcign
bG9hZEV2ZW50RW5kJywgJ2xvYWRFdmVudFN0YXJ0Jyk7DQorDQorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gc2V0dXAgcmVxdWlyZXMgdGhlIGZyYW1lIHRvIGhhdmUgYSBwcmV2aW91cyBwYWdl
IHdpdGggYW4gb251bmxvYWQgZXZlbnQgaGFuZGxlci4NCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3RpbWluZ19vcmRlcigndW5sb2FkRXZlbnRTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQn
KTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigndW5sb2FkRXZl
bnRFbmQnLCAndW5sb2FkRXZlbnRTdGFydCcpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwv
aGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAg
ICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgb3JkZXJpbmcgb2YgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcy48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ug
c2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cgd2hp
Y2ggY29udGFpbnMgYW4gdW5sb2FkIGV2ZW50DQorICAgICAgICAgICBoYW5kbGVyLjwvcD4NCisN
CisgICAgICAgIDxwPkFmdGVyIHRoZSBwYWdlIGxvYWRzLCB0aGUgZnJhbWUgaXMgbmF2aWdhdGVk
IHRvIGEgbmV3IGJsYW5rIHBhZ2Ugd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuICBBdCB0aGlzIHBv
aW50LCB0aGUgbmF2aWdhdGlvbiB0aW1lbGluZSBpcyB2ZXJpZmllZDwvcD4NCisNCisgICAgICAg
IDxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gdGhlIGZyYW1lLndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBhcmUNCisgICAgICAgICAgIGNvcnJl
Y3QgdGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93
IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuDQorICAgICAgICAgICBPdGhlcndpc2UsIHRo
aXMgdGVzdCBmYWlscy48L3A+DQorDQorICAgICAgICA8aDE+U2V0dXA8L2gxPg0KKw0KKyAgICAg
ICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFt
ZSBpZD0iZnJhbWVDb250ZXh0Ig0KKyAgICAgICAgICAgICAgICBvbmxvYWQ9Ii8qIE5lZWQgdG8g
bWFrZSBzdXJlIHdlIGRvbid0IGV4YW1pbmUgbG9hZEV2ZW50RW5kDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW50aWwgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQgaGFzIGZpbmlzaGVkIGZpcmlu
ZyAqLw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQob25sb2FkX3Rlc3QsIDAp
OyINCisgICAgICAgICAgICAgICAgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3Bh
Z2VfdW5sb2FkLmh0bSINCisgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVp
Z2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMTQyYjg5MmRiMjViNjAwMzIzZTg3MTEwNmQ2MjZlODRlZDQ4ZjU2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhbmQg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgb24g
YSBjbGllbnQgc2lkZSByZWRpcmVjdC4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB0aW1p
bmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVk
aXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNT
IHRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdh
dGlvbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0
ZWQgbmF2aWdhdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19jbGll
bnRfcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmYwZGZjYTY0MTFjMGEyZDhlMDVlMzNlYzBlYWZhYThiOTFmNWI0
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGly
ZWN0Lmh0bWwKQEAgLTAsMCArMSw3OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
ICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8
dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEg
Y2xpZW50IHJlZGlyZWN0IG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8i
IC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKzxzY3Jp
cHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMg
ZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2Vy
dCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9y
IjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0
ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJv
dmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4g
IiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1h
bmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBh
dHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQg
YXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0K
KyAgfSwNCisgICJ0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUiOiB7ICJo
ZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdh
dGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0g
MCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjogeyAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRl
cmZhY2UiIH0sDQorICAidGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhbiBjbGllbnQgcmVk
aXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAidGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24g
YW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVl
fSk7DQorDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAg
ICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJywgdHJ1ZSk7DQorDQorICAgICAgICAgICAg
dmFyIHJlZGlyZWN0X2ZyYW1lOw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFj
ZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAg
ICAgICAgICAgICAgcmVkaXJlY3RfZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJh
bWVDb250ZXh0Iik7DQorICAgICAgICAgICAgICAgIHJlZGlyZWN0X2ZyYW1lLm9ubG9hZCA9IGRv
X3Rlc3Q7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGRvX3Rlc3Qo
KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVkaXJlY3RfZnJhbWUub25sb2Fk
ID0gIiI7DQorICAgICAgICAgICAgICAgIHRlc3RfdHJ1ZShyZWRpcmVjdF9mcmFtZS5jb250ZW50
V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBwZXJmb3JtYW5jZU5hbWVzcGFj
ZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAn
dGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJm
YWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMCwgJ25h
dmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmln
YXRpb24nLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1
YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGFuIGNsaWVudCByZWRp
cmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJl
Y3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQsIDAs
ICd0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0
aW9uJyk7DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAg
ICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9ubG9h
ZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5U
aGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5uYXZpZ2F0aW9uLnJl
ZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBvbiBhIGNsaWVudCBzaWRlIHJlZGlyZWN0LjwvcD4N
CisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+PGJyIC8+DQorICAgICAgICA8aWZyYW1l
IGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdl
X21ldGFfcmVkaXJlY3QuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWlu
Z19yZWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYWQ3MDQ5ZWM1NDIwNzMxYjQzNTc3
Zjg1NDQzZDY5NWJlOTQzMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGlt
aW5nX3JlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorRGVzY3JpcHRpb24KKwor
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0
dHJpYnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJlbG9hZGVkLgorCitUaGlzIHBhZ2Ugc2hv
dWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gVGhlIGZy
YW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRlZCBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0
IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgaGF2ZSBiZWVuIHVwZGF0
ZWQgdG8gdGhlIG5ldyByZWxvYWRlZCBuYXZpZ2F0aW9uIHRpbWluZ3MuCisKKworCisKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgPT0gVFlQRV9SRUxPQUQgCitQQVNTIGNvbm5lY3RFbmQgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIAorUEFTUyBjb25uZWN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIAorUEFTUyBkb21Db21wbGV0ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4g
CitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJl
bG9hZC4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRl
ciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMgZGlmZmVyZW50IGFmdGVyIHRo
ZSByZWxvYWQuIAorUEFTUyBkb21Mb2FkaW5nIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2Fk
LiAKK1BBU1MgZG9tYWluTG9va3VwRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAK
K1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAor
UEFTUyBmZXRjaFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgbG9h
ZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgbG9hZEV2ZW50
U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBuYXZpZ2F0aW9uU3Rh
cnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyByZXNwb25zZUVuZCBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlc3BvbnNlU3RhcnQgaXMgZGlmZmVyZW50IGFm
dGVyIHRoZSByZWxvYWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3Jl
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40Mjc0MWNjOTg5MGVjZTEwYzE2NGE5OWUzZGUzMjRkNmRlNGMxYmU4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbApAQCAtMCwwICsxLDEyMiBA
QAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyBhdHRyaWJ1dGVzIGFmdGVyIGEgcmVsb2FkZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQor
ICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDov
L3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWlu
dGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAg
ICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0g
VFlQRV9SRUxPQUQiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJjb25uZWN0RW5k
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImNvbm5lY3RTdGFydCBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Db21wbGV0ZSBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Db250ZW50TG9hZGVkRXZl
bnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tQ29udGVu
dExvYWRlZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZG9tSW50ZXJhY3RpdmUgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZG9tTG9hZGluZyBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJk
b21haW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAi
ZG9tYWluTG9va3VwU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZmV0Y2hTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJs
b2FkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAibG9h
ZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAibmF2
aWdhdGlvblN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgInJl
cXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJyZXNw
b25zZUVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJyZXNwb25z
ZVN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9DQorfQ0KKyovPC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25l
OiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3Bh
Y2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgn
bmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgIHZhciByZWxvYWRfZnJhbWU7DQorICAgICAg
ICAgICAgdmFyIGluaXRpYWxfdGltaW5nOw0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9h
ZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisNCisgICAgICAgICAg
ICAgICAgaWYgKHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlID09PSB1bmRl
ZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lk
IHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAg
ICByZWxvYWRfZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisNCisgICAgICAgICAgICAgICAgLy8g
c2F2ZSBmcmFtZSdzIGluaXRpYWwgdGltaW5ncw0KKyAgICAgICAgICAgICAgICBpbml0aWFsX3Rp
bWluZyA9IHt9Ow0KKyAgICAgICAgICAgICAgICB2YXIgdGltaW5nID0gcmVsb2FkX2ZyYW1lLmNv
bnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKw0KKyAgICAgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJp
YnV0ZXNbaV07DQorICAgICAgICAgICAgICAgICAgICBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0g
PSB0aW1pbmdbcHJvcGVydHldOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
ICAgIHNldFRpbWVvdXQoInJlbG9hZF90aGVfZnJhbWUoKTsiLCAxMDApOw0KKyAgICAgICAgICAg
IH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiByZWxvYWRfdGhlX2ZyYW1lKCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LmxvY2F0
aW9uLnJlbG9hZCh0cnVlKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rp
b24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJh
bWUub25sb2FkID0gIiI7DQorDQorICAgICAgICAgICAgICAgIC8vIGVuc3VyZSB0aGUgZnJhbWUg
cmVsb2FkZWQNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVsb2FkX2ZyYW1lLmNvbnRl
bnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FELA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24udHlwZSA9PSBUWVBFX1JFTE9BRCIsIHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAg
ICAgICAgICAgICAgIC8vIGVuc3VyZSByZWxvYWQgdGltaW5ncyBjaGFuZ2VkDQorICAgICAgICAg
ICAgICAgIHZhciB0aW1pbmcgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmc7DQorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0
cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsNCisNCisgICAgICAgICAg
ICAgICAgICAgIC8vIGlnbm9yZSBhbnkgdGltaW5ncyB0aGF0IHdlcmUgemVybyBpbml0aWFsbHkN
CisgICAgICAgICAgICAgICAgICAgIGlmIChpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0gIT09IDAp
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9u
b3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0eV0sIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSwNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5ICsgIiBpcyBkaWZmZXJlbnQg
YWZ0ZXIgdGhlIHJlbG9hZC4iKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2FkPSJvbmxvYWRf
dGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMgY2hhbmdlIHdoZW4gYSBwYWdlIGlzIHJlbG9hZGVkLjwvcD4NCisNCisgICAgICAgIDxw
PlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1l
IGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRlZA0KKyAgICAg
ICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBh
dHRyaWJ1dGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHRoZSBuZXcgcmVsb2FkZWQgbmF2aWdhdGlv
biB0aW1pbmdzLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAg
ICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorDQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQzYmQxOWI3MjU5NDlhMDAxM2UxM2UyYjc4YTE3MGM3MGVkN2E2YjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVj
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RD
b3VudCBhbmQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQg
dGltZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi4K
KworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRp
b24udHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQg
PT0gMSBvbiBhbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVkaXJlY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRp
b25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA+IDAg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPj0gd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmZldGNoU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZl
dGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjIx
N2M4ZjcwNWJhZTRlMzkyMzBlZTlhNjM4ZGZjZmQzNDBiNjJiMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0
NyBAQAor77u/PCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAg
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgc2FtZS1vcmlnaW4gc2VydmVyIHJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJ
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAg
ICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICBpZiAo
cGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAg
ICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAg
ICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9y
bWFuY2U7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNl
Lm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5h
bWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAg
ICAgJ3RpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScpOw0KKyAgICAgICAg
ICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnJlZGly
ZWN0Q291bnQsIDEsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMSBvbiBhbiBzZXJ2ZXIg
cmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfdGltaW5n
X2dyZWF0ZXJfdGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQorDQorICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdyZWRpcmVjdFN0YXJ0JywgJ25hdmlnYXRpb25TdGFydCcpOw0K
KyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVkaXJlY3RFbmQnLCAncmVkaXJl
Y3RTdGFydCcpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZmV0Y2hTdGFy
dCcsICdyZWRpcmVjdEVuZCcpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0K
Kw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2lu
ZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAgICAgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBzYW1lLW9y
aWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9
ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3JlZGlyZWN0LnBocD9sb2NhdGlvbj0vdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2Js
YW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcw
ODIxNGM4MjJkMDQ1YzA0M2RjM2EwODRiMzg4ZTExNTMyMmJmMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFs
dWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhlIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgY3Jvc3Mt
b3JpZ2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uCisKKworCisKK0ZBSUwgU3Rh
cnRpbmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoMTI3LjAuMC4xOjgw
MDApIGFzc2VydF9lcXVhbHM6IFN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlz
IGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBleHBlY3RlZCAiMTI3LjAuMC4xOjgwMDAiIGJ1dCBn
b3QgIjEyNy4wLjAuMSIKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5u
YXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVj
dENvdW50ID09IDAgb24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlv
biAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIAor
UEFTUyB0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2
aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluIAorUEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgPT0g
MCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFpbiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jNTY2MDljYWM0ZWI3ZDQxYTI1MGYyMDExY2IyNDJiNjI3ODY0MWY1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWwKQEAg
LTAsMCArMSw4OSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0K
KyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdCBhdHRyaWJ1dGVzIG9uIGEgY3Jvc3Mtb3JpZ2lu
IHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
bS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0
YV9jYWNoZSI+LyoNCit7DQorICAiU3RhcnRpbmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUg
aXMgY29ycmVjdCAoMTI3LjAuMC4xOjgwMDApIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0NCit9
DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgIC8v
IFRlc3QgY29uZmlndXJhdGlvbg0KKyAgICAgICAgICAgIC8vDQorDQorICAgICAgICAgICAgLy8g
dGhlIGN1cnJlbnQgcGFnZSdzIG9yaWdpbg0KKyAgICAgICAgICAgIHZhciBwYWdlT3JpZ2luID0g
JzEyNy4wLjAuMTo4MDAwJzsNCisNCisgICAgICAgICAgICAvLyB0aGUgb3JpZ2luIHRvIHJlZGly
ZWN0IHRocm91Z2gNCisgICAgICAgICAgICB2YXIgcmVkaXJlY3RPcmlnaW4gPSAnbG9jYWxob3N0
OjgwMDAnOw0KKw0KKyAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgLy8gVGVzdHMNCisgICAg
ICAgICAgICAvLw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQor
ICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0K
KyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQg
ZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iiku
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisg
ICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05B
VklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2Vx
dWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQsIDAsICdu
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgcmVk
aXJlY3RlZCBuYXZpZ2F0aW9uJywge2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAg
ICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0aW9uU3RhcnQnLCAwKTsN
CisNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGlt
aW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGEgc2Vy
dmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluJyk7DQorICAgICAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVj
dEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQg
bmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluJyk7DQorDQorICAgICAgICAgICAgICAgIGRv
bmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZS5yZWRpcmVjdENvdW50IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciBz
aWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48
L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBzcmM9IiIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0K
KyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICAvLyBlbnN1cmUgd2UncmUgc3RhcnRpbmcg
YXQgdGhlIHJpZ2h0IG9yaWdpbg0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3RuYW1lLCBwYWdlT3JpZ2luLCAnU3RhcnRpbmcgZG9jdW1lbnQubG9jYXRpb24u
aG9zdG5hbWUgaXMgY29ycmVjdCAoJyArIHBhZ2VPcmlnaW4gKyAnKScpOw0KKw0KKyAgICAgICAg
ICAgIC8vIGNvbWJpbmUgdGhlIHBhZ2Ugb3JpZ2luIGFuZCByZWRpcmVjdCBvcmlnaW4gaW50byB0
aGUgSUZSQU1FJ3Mgc3JjIFVSTA0KKyAgICAgICAgICAgIHZhciBkZXN0VXJsID0gJ2h0dHA6Ly8n
ICsgcmVkaXJlY3RPcmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHAn
Ow0KKyAgICAgICAgICAgIGRlc3RVcmwgICAgKz0gJz9sb2NhdGlvbj1odHRwOi8vJyArIHBhZ2VP
cmlnaW4gKyAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSc7DQor
DQorICAgICAgICAgICAgdmFyIGZyYW1lQ29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICBmcmFtZUNvbnRleHQub25sb2FkID0gb25s
b2FkX3Rlc3Q7DQorICAgICAgICAgICAgZnJhbWVDb250ZXh0LnNyYyA9IGRlc3RVcmw7DQorICAg
ICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMTdhY2YwNTQxMjUyOGQ4MTkxNWRmNjMwMzcyMmI4M2MzNTEzNjEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBoYXMgYSB1bmlxdWUgd2luZG93LnBlcmZvcm1hbmNlIG9i
amVjdC4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIERpZmZlcmVudCB3aW5kb3cg
b2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3RzIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjMzU1
MWQyNDY5MGVmMGFlNmY3YWI1YWNmODE0YjMxOWYxNDkyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRtbApAQCAtMCwwICsx
LDQ1IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT5FYWNoIHdpbmRvdyBv
YmplY3QgaGFzIGEgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdDwvdGl0bGU+DQorICAgICAgICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNy
b3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
IC8+DQorCTxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iRWFjaCBicm93c2luZyBjb250ZXh0
IG11c3QgaGF2ZSBhIHVuaXF1ZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZS4i
Lz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3Nz
IiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2Ut
YXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJp
YnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRy
aWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9
LA0KKyAgIkRpZmZlcmVudCB3aW5kb3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBv
YmplY3RzIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4N
CisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgZWFjaCB3aW5kb3cgaGFzIGEgdW5pcXVlIHdpbmRvdy5wZXJmb3JtYW5jZSBv
YmplY3QuPC9wPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJkaXNwbGF5Om5v
bmU7Ijs+PC9pZnJhbWU+DQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAg
PHNjcmlwdD4NCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7DQorDQorICAg
ICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICB0ZXN0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1l
c3BhY2UudGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZmZlcmVudCB3aW5k
b3cgb2JqZWN0cyBoYXZlIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3RzIik7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV9ncmVlbi5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzQ3ZWQ1YWViOWVhZDdhNmIx
YmY4MGE3NTFlNDU0MWYwZDUzNGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0KQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAg
ICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJD
b250ZW50LVR5cGUiIC8+DQorICAgICAgICA8dGl0bGU+R3JlZW4gVGVzdCBQYWdlPC90aXRsZT4N
CisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBGRjAw
OyI+DQorICAgICAgICA8aDE+UGxhY2Vob2xkZXI8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVubG9hZC5odG0gYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251bmxv
YWQuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjcxNDBjZWU3YzlhOWE2NmE2ZWU4MTkxZDFhNGIzNzhkNmJlNDRl
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251bmxvYWQuaHRtCkBAIC0wLDAgKzEs
MTEgQEAKKzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxt
ZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiAvPg0KKyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+DQorICAg
IDwvaGVhZD4NCisgICAgPCEtLSB1c2Ugb251bmxvYWQgdG8gZW5zdXJlIHRoaXMgZG9lcyBub3Qg
dHJpZ2dlciBiZmNhY2hlIC0tPg0KKyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoj
MDBGRjAwOyIgb251bmxvYWQ9IjE7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQor
ICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9tZXRhX3JlZGlyZWN0Lmh0bSBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfbWV0
YV9yZWRpcmVjdC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJmMzRiZDdhM2NkZTVhMWVlZTQ2YzhiZDgyOTNm
NDQ5MDFlZmE3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfbWV0YV9yZWRpcmVjdC5odG0KQEAgLTAsMCAr
MSwxMSBAQAor77u/PCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAg
ICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJD
b250ZW50LVR5cGUiIC8+DQorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250
ZW50PSIxO1VSTD0nYmxhbmtfcGFnZV9ncmVlbi5odG0nIiAvPg0KKyAgICAgICAgPHRpdGxlPlJl
ZGlyZWN0IFBsYWNlaG9sZGVyPC90aXRsZT4gICAgICAgIA0KKyAgICA8L2hlYWQ+DQorICAgIDxi
b2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGMDAiOz4NCisgICAgICAgIDxoMT5QbGFj
ZWhvbGRlcjwvaDE+DQorICAgIDwvYm9keT4NCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV91bmxvYWQuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV91bmxvYWQuaHRtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRl
OTA1MDcwOGNhNjY4ZDA4YTZlOGMwOWI1NDdmOWVlMjk3ZGU4ZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdl
X3VubG9hZC5odG0KQEAgLTAsMCArMSwyNSBAQAor77u/PCFET0NUWVBFIEhUTUw+DQorPGh0bWw+
DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0
PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+DQorICAgICAgICANCisgICAgICAg
IDx0aXRsZT5ZZWxsb3cgVGVzdCBQYWdlPC90aXRsZT4NCisgICAgICAgIA0KKyAgICAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uYmVm
b3JldW5sb2FkX2hhbmRsZXIoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFy
IHRlbXAgPSAib25iZWZvcmV1bmxvYWQiOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICAN
CisgICAgICAgICAgICBmdW5jdGlvbiBvbnVubG9hZF9oYW5kbGVyKCkNCisgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgIHZhciB0ZW1wID0gIm9udW5sb2FkIjsNCisgICAgICAgICAgICB9
DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmJlZm9yZXVu
bG9hZD0ib25iZWZvcmV1bmxvYWRfaGFuZGxlcigpOyINCisgICAgICAgICAgb251bmxvYWQ9Im9u
dW5sb2FkX2hhbmRsZXIoKTsiIA0KKyAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoj
RkZGRjAwOyI+DQorICAgICAgICA8aDE+VW5sb2FkPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0gYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3ll
bGxvdy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGYyZThhMmJlZTA3NGQ0ODM4MWM3MjFjY2M4YjA2NTkzNmQ3
OGI0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bQpAQCAtMCwwICsxLDEwIEBACis8IURP
Q1RZUEUgSFRNTD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4N
CisgICAgICAgIDx0aXRsZT5ZZWxsb3cgVGVzdCBQYWdlPC90aXRsZT4NCisgICAgPC9oZWFkPg0K
KyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGRjAwOyI+DQorICAgICAgICA8
aDE+UGxhY2Vob2xkZXI8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93X3dpdGhfb251bmxvYWQuaHRtIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxs
b3dfd2l0aF9vbnVubG9hZC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjI1MWRlMGM5YWJhMjQ5NTJhNmE0MzZj
ZDNmZjA0ZDU1NjJjMTY4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93X3dpdGhfb251bmxvYWQu
aHRtCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0KKyAgICA8aGVh
ZD4NCisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPg0KKyAgICAgICAgPHRpdGxlPlllbGxvdyBUZXN0IFBh
Z2U8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDwhLS0gdXNlIG9udW5sb2FkIHRvIGVuc3Vy
ZSB0aGlzIGRvZXMgbm90IHRyaWdnZXIgYmZjYWNoZSAtLT4NCisgICAgPGJvZHkgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6I0ZGRkYwMDsiIG9udW5sb2FkPSIxOyI+DQorICAgICAgICA8aDE+UGxh
Y2Vob2xkZXI8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3BhZ2V2aXN0ZXN0aGFybmVzcy5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3BhZ2V2aXN0ZXN0aGFybmVzcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ODdlYzVjZTQ2YTVkMGNhOGVjMjkwMGM1YjY2YTE5NThkN2Y3YzgwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFnZXZpc3Rl
c3RoYXJuZXNzLmpzCkBAIC0wLDAgKzEsMTI4IEBACisvKgorRGlzdHJpYnV0ZWQgdW5kZXIgYm90
aCB0aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5kIHRoZSBXM0MKKzMtY2xhdXNlIEJT
RCBMaWNlbnNlIFsyXS4gVG8gY29udHJpYnV0ZSB0byBhIFczQyBUZXN0IFN1aXRlLCBzZWUgdGhl
Citwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KKworWzFdIGh0dHA6Ly93d3cu
dzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wNC10ZXN0c3VpdGUtbGljZW5zZQorWzJdIGh0
dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1ic2QtbGljZW5zZQorWzNd
IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzCisqLw0KKw0KKy8vDQorLy8g
SGVscGVyIEZ1bmN0aW9ucyBmb3IgUGFnZVZpc2liaWxpdHkgVzNDIHRlc3RzDQorLy8NCit2YXIg
VklTSUJJTElUWV9TVEFURVMgPQ0KK3sNCisgICAgSElEREVOOiAiaGlkZGVuIiwNCisgICAgVklT
SUJMRTogInZpc2libGUiDQorfTsNCisNCit2YXIgc2tpcF9hbGxfdGVzdHMgPSBmYWxzZTsNCit2
YXIgZmVhdHVyZV9jaGVjayA9IGZhbHNlOw0KKw0KKy8vDQorLy8gQWxsIHRlc3QoKSBmdW5jdGlv
bnMgaW4gdGhlIFdlYlBlcmYgUGFnZVZpcyB0ZXN0IHN1aXRlIHNob3VsZCB1c2UgcHZfdGVzdCgp
IGluc3RlYWQuDQorLy8NCisvLyBwdl90ZXN0KCkgdmFsaWRhdGVzIHRoZSBkb2N1bWVudC5oaWRk
ZW4gYW5kIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSBhdHRyaWJ1dGVzDQorLy8gZXhpc3QgcHJp
b3IgdG8gcnVubmluZyB0ZXN0cyBhbmQgaW1tZWRpYXRlbHkgc2hvd3MgYSBmYWlsdXJlIGlmIHRo
ZXkgZG8gbm90Lg0KKy8vDQorDQorZnVuY3Rpb24gcHZfdGVzdChmdW5jLCBtc2csIGRvYykNCit7
DQorICAgIGlmICghZG9jKQ0KKyAgICB7DQorICAgICAgICBkb2MgPSBkb2N1bWVudDsNCisgICAg
fQ0KKw0KKyAgICAvLyBvbmx5IHJ1biB0aGUgZmVhdHVyZSBjaGVjayBvbmNlLCB1bmxlc3MgZnVu
YyA9PSBudWxsLCBpbiB3aGljaCBjYXNlLCANCisgICAgLy8gdGhpcyBjYWxsIGlzIGludGVuZGVk
IGFzIGEgZmVhdHVyZSBjaGVjaw0KKyAgICBpZiAoIWZlYXR1cmVfY2hlY2spDQorICAgIHsNCisg
ICAgICAgIGZlYXR1cmVfY2hlY2sgPSB0cnVlOw0KKw0KKyAgICAgICAgdmFyIGhpZGRlblZhbCA9
IGRvYy5oaWRkZW47DQorICAgICAgICB2YXIgdmlzU3RhdGVWYWwgPSBkb2MudmlzaWJpbGl0eVN0
YXRlOw0KKw0KKyAgICAgICAgLy8gc2hvdyBhIHNpbmdsZSBlcnJvciB0aGF0IHRoZSBQYWdlIFZp
c2liaWxpdHkgZmVhdHVyZSBpcyB1bmRlZmluZWQNCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKQ0K
KyAgICAgICAgew0KKyAgICAgICAgICAgIGFzc2VydF90cnVlKGhpZGRlblZhbCAhPT0gdW5kZWZp
bmVkICYmIGhpZGRlblZhbCAhPSBudWxsLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2N1
bWVudC5oaWRkZW4gaXMgZGVmaW5lZCBhbmQgbm90IG51bGwuIik7fSwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAiZG9jdW1lbnQuaGlkZGVuIGlzIGRlZmluZWQgYW5kIG5vdCBudWxsLiIpOw0K
Kw0KKyAgICAgICAgdGVzdChmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAgYXNz
ZXJ0X3RydWUodmlzU3RhdGVWYWwgIT09IHVuZGVmaW5lZCAmJiBoaWRkZW5WYWwgIT0gbnVsbCwN
CisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGlzIGRl
ZmluZWQgYW5kIG5vdCBudWxsLiIpO30sDQorICAgICAgICAgICAgICAgICAgICAgICAgImRvY3Vt
ZW50LnZpc2liaWxpdHlTdGF0ZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4iKTsNCisgICAgDQor
ICAgICAgICAvL1NraXAgb25seSBpZiBib3RoIGFyZSB1bmRlZmluZWQNCisNCisgICAgICAgIGlm
IChoaWRkZW5WYWwgPT09IHVuZGVmaW5lZCB8fCB2aXNTdGF0ZVZhbCA9PT0gdW5kZWZpbmVkKQ0K
KyAgICAgICAgew0KKyAgICAgICAgICAgIHNraXBfYWxsX3Rlc3RzID0gdHJ1ZTsNCisgICAgICAg
IH0NCisgICAgfQ0KKw0KKyAgICBpZiAoIXNraXBfYWxsX3Rlc3RzICYmIGZ1bmMpDQorICAgIHsN
CisgICAgICAgIHRlc3QoZnVuYywgbXNnKTsNCisgICAgfQ0KK30NCisNCisNCitmdW5jdGlvbiB0
ZXN0X2ZlYXR1cmVfZXhpc3RzKGRvYywgbXNnKQ0KK3sNCisgICAgaWYgKCFtc2cpDQorICAgIHsN
CisgICAgICAgIG1zZyA9ICIiOw0KKyAgICB9DQorICAgIHZhciBoaWRkZW5Nc2cgPSAiZG9jdW1l
bnQuaGlkZGVuIGlzIGRlZmluZWQiICsgbXNnICsgIi4iOw0KKyAgICB2YXIgc3RhdGVNc2cgPSAi
ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGlzIGRlZmluZWQiICsgbXNnICsgIi4iOw0KKyAgICBw
dl90ZXN0KGZ1bmN0aW9uKCl7YXNzZXJ0X3RydWUoZG9jdW1lbnQuaGlkZGVuICE9PSB1bmRlZmlu
ZWQsIGhpZGRlbk1zZyk7fSwgaGlkZGVuTXNnLCBkb2MpOw0KKyAgICBwdl90ZXN0KGZ1bmN0aW9u
KCl7YXNzZXJ0X3RydWUoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICE9PSB1bmRlZmluZWQsIHN0
YXRlTXNnKTt9LCBzdGF0ZU1zZywgZG9jKTsNCit9DQorDQorLy8NCisvLyBDb21tb24gaGVscGVy
IGZ1bmN0aW9ucw0KKy8vDQorDQorZnVuY3Rpb24gdGVzdF90cnVlKHZhbHVlLCBtc2cpDQorew0K
KyAgICBwdl90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSwgbXNnKTsgfSwgbXNn
KTsNCit9DQorDQorZnVuY3Rpb24gdGVzdF9lcXVhbHModmFsdWUsIGVxdWFscywgbXNnKQ0KK3sN
CisgICAgcHZfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh2YWx1ZSwgZXF1YWxzLCBt
c2cpOyB9LCBtc2cpOw0KK30NCisNCisvLw0KKy8vIGFzeW5jaHJvbm91cyB0ZXN0IGhlbHBlciBm
dW5jdGlvbnMNCisvLw0KKw0KK2Z1bmN0aW9uIGFkZF9hc3luY19yZXN1bHQodGVzdF9vYmosIHBh
c3Nfc3RhdGUpDQorew0KKyAgICAvLyBhZGQgYXNzZXJ0aW9uIHRvIG1hbnVhbCB0ZXN0IGZvciB0
aGUgcGFzcyBzdGF0ZQ0KKyAgICB0ZXN0X29iai5zdGVwKGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1
ZShwYXNzX3N0YXRlKSB9KTsNCisNCisgICAgLy8gZW5kIG1hbnVhbCB0ZXN0DQorICAgIHRlc3Rf
b2JqLmRvbmUoKTsNCit9DQorDQorZnVuY3Rpb24gYWRkX2FzeW5jX3Jlc3VsdF9hc3NlcnQodGVz
dF9vYmosIGZ1bmMpDQorew0KKyAgICAvLyBhZGQgYXNzZXJ0aW9uIHRvIG1hbnVhbCB0ZXN0IGZv
ciB0aGUgcGFzcyBzdGF0ZQ0KKyAgICB0ZXN0X29iai5zdGVwKGZ1bmMpOw0KKw0KKyAgICAvLyBl
bmQgbWFudWFsIHRlc3QNCisgICAgdGVzdF9vYmouZG9uZSgpOw0KK30NCisNCit2YXIgb3Blbl9s
aW5rOw0KK2Z1bmN0aW9uIFRhYlN3aXRjaCgpDQorew0KKyAgICAvL3ZhciBvcGVuX2xpbmsgPSB3
aW5kb3cub3BlbigiaHR0cDovL3d3dy5iaW5nLmNvbSIpOw0KKyAgICBvcGVuX2xpbmsgPSB3aW5k
b3cub3BlbignJywgJ19ibGFuaycpOw0KKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBvcGVu
X2xpbmsuY2xvc2UoKTsgfSwgMjAwMCk7DQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDg2ZTk2MDU0Nzc0MTdkMjNkMjA4NzdhMDkw
NzBjZTkzNTRhOTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwCkBAIC0wLDAgKzEsOCBAQAorPD9waHAK
KyAgJGNvZGUgPSBjdHlwZV9kaWdpdCgkX0dFVFsiY29kZSJdKSA/ICRfR0VUWyJjb2RlIl0gOiAi
MzAyIjsKKyAgJGxvY2F0aW9uID0gJF9HRVRbImxvY2F0aW9uIl0gPyAkX0dFVFsibG9jYXRpb24i
XSA6ICRfU0VSVkVSWyJTQ1JJUFRfTkFNRSJdIC4gIj9mb2xsb3dlZCI7CisKKyAgaGVhZGVyKCJI
VFRQLzEuMSAkY29kZSIpOworICBoZWFkZXIoIkxvY2F0aW9uOiAkbG9jYXRpb24iKTsKKyAgZXhp
dDsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTYz
OGVlZGRiMzI2NGFiZTVlZTJiMGVkM2ZkZTg5NjlkYjYxYWI2MQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qcwpAQCAtMCwwICsxLDE1NiBAQAor77u/LyoKK0Rpc3RyaWJ1dGVkIHVuZGVyIGJv
dGggdGhlIFczQyBUZXN0IFN1aXRlIExpY2Vuc2UgWzFdIGFuZCB0aGUgVzNDCiszLWNsYXVzZSBC
U0QgTGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBTdWl0ZSwgc2VlIHRo
ZQorcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCisKK1sxXSBodHRwOi8vd3d3
LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxpY2Vuc2UKK1syXSBo
dHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UKK1sz
XSBodHRwOi8vd3d3LnczLm9yZy8yMDA0LzEwLzI3LXRlc3RjYXNlcworICovCisKKy8vCisvLyBI
ZWxwZXIgRnVuY3Rpb25zIGZvciBOYXZpZ2F0aW9uVGltaW5nIFczQyB0ZXN0cworLy8KKwordmFy
IHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gd2luZG93LnBlcmZvcm1hbmNlOwordmFyIHRpbWluZ0F0
dHJpYnV0ZXMgPSBbCisgICAgJ2Nvbm5lY3RFbmQnLAorICAgICdjb25uZWN0U3RhcnQnLAorICAg
ICdkb21Db21wbGV0ZScsCisgICAgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCcsCisgICAgJ2Rv
bUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0JywKKyAgICAnZG9tSW50ZXJhY3RpdmUnLAorICAgICdk
b21Mb2FkaW5nJywKKyAgICAnZG9tYWluTG9va3VwRW5kJywKKyAgICAnZG9tYWluTG9va3VwU3Rh
cnQnLAorICAgICdmZXRjaFN0YXJ0JywKKyAgICAnbG9hZEV2ZW50RW5kJywKKyAgICAnbG9hZEV2
ZW50U3RhcnQnLAorICAgICduYXZpZ2F0aW9uU3RhcnQnLAorICAgICdyZWRpcmVjdEVuZCcsCisg
ICAgJ3JlZGlyZWN0U3RhcnQnLAorICAgICdyZXF1ZXN0U3RhcnQnLAorICAgICdyZXNwb25zZUVu
ZCcsCisgICAgJ3Jlc3BvbnNlU3RhcnQnLAorICAgICd1bmxvYWRFdmVudEVuZCcsCisgICAgJ3Vu
bG9hZEV2ZW50U3RhcnQnCitdOworCit2YXIgc2tpcF9hbGxfdGVzdHMgPSBmYWxzZTsKK3ZhciBu
YW1lc3BhY2VfY2hlY2sgPSBmYWxzZTsKKworLy8KKy8vIEFsbCB0ZXN0KCkgZnVuY3Rpb25zIGlu
IHRoZSBXZWJQZXJmIHRlc3Qgc3VpdGUgc2hvdWxkIHVzZSB3cF90ZXN0KCkgaW5zdGVhZC4KKy8v
CisvLyB3cF90ZXN0KCkgdmFsaWRhdGVzIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UgbmFtZXNwYWNl
IGV4aXN0cyBwcmlvciB0byBydW5uaW5nIHRlc3RzIGFuZAorLy8gaW1tZWRpYXRlbHkgc2hvd3Mg
YSBzaW5nbGUgZmFpbHVyZSBpZiBpdCBkb2VzIG5vdC4KKy8vCisKK2Z1bmN0aW9uIHdwX3Rlc3Qo
ZnVuYywgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIC8vIG9ubHkgcnVuIHRoZSBuYW1lc3BhY2Ug
Y2hlY2sgb25jZQorICAgIGlmICghbmFtZXNwYWNlX2NoZWNrKQorICAgIHsKKyAgICAgICAgbmFt
ZXNwYWNlX2NoZWNrID0gdHJ1ZTsKKworICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2Ug
PT09IHVuZGVmaW5lZCB8fCBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PSBudWxsKQorICAgICAgICB7
CisgICAgICAgICAgICBza2lwX2FsbF90ZXN0cyA9IHRydWU7CisKKyAgICAgICAgICAgIC8vIHNo
b3cgYSBzaW5nbGUgZXJyb3IgdGhhdCB3aW5kb3cucGVyZm9ybWFuY2UgaXMgdW5kZWZpbmVkCisg
ICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVz
cGFjZSAhPT0gdW5kZWZpbmVkICYmIHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9IG51bGwsICJ3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCBhbmQgbm90IG51bGwiKTsgfSwgIndpbmRvdy5wZXJm
b3JtYW5jZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4iLCB7YXV0aG9yOiJXM0MgaHR0cDovL3d3
dy53My5vcmcvIixoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLGFzc2VydDoiVGhlIHdpbmRvdy5wZXJm
b3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNl
IHJlbGF0ZWQgYXR0cmlidXRlcy4gIn0pOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFz
a2lwX2FsbF90ZXN0cykKKyAgICB7CisgICAgICAgIHRlc3QoZnVuYywgbXNnLCBwcm9wZXJ0aWVz
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RfbmFtZXNwYWNlKGNoaWxkX25hbWUsIHNraXBf
cm9vdCkKK3sKKyAgICBpZiAoc2tpcF9yb290ID09PSB1bmRlZmluZWQpIHsKKyAgICAgICAgdmFy
IG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCc7CisgICAgICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZSAhPT0gdW5kZWZp
bmVkLCBtc2cpOyB9LCBtc2cse2F1dGhvcjoiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIsaGVscDoi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIixhc3NlcnQ6IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICJ9KTsKKyAgICB9CisKKyAgICBpZiAoY2hpbGRfbmFtZSAhPT0gdW5kZWZpbmVkKSB7Cisg
ICAgICAgIHZhciBtc2cyID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgY2hpbGRfbmFtZSArICcg
aXMgZGVmaW5lZCc7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBl
cmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdICE9PSB1bmRlZmluZWQsIG1zZzIpOyB9LCBt
c2cyLHthdXRob3I6IlczQyBodHRwOi8vd3d3LnczLm9yZy8iLGhlbHA6Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0
ZSIsYXNzZXJ0OiJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhv
c3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAifSk7CisgICAg
fQorfQorCitmdW5jdGlvbiB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMocGFyZW50X25hbWUsIGF0dHJp
YnV0ZV9uYW1lLCBwcm9wZXJ0aWVzKQoreworICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1h
bmNlLicgKyBwYXJlbnRfbmFtZSArICcuJyArIGF0dHJpYnV0ZV9uYW1lICsgJyBpcyBkZWZpbmVk
Lic7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1l
c3BhY2VbcGFyZW50X25hbWVdW2F0dHJpYnV0ZV9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9
LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUs
IGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRpZXMpCit7CisgICAgdmFyIG1zZyA9ICd3aW5kb3cu
cGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZp
bmVkLic7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VO
YW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwg
bXNnLCBwcm9wZXJ0aWVzKTsKKworICAgIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBh
cmVudF9uYW1lICsgJy4nICsgZW51bV9uYW1lICsgJyA9ICcgKyB2YWx1ZTsKKyAgICB3cF90ZXN0
KGZ1bmN0aW9uKCkgeyBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9u
YW1lXVtlbnVtX25hbWVdLCB2YWx1ZSwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKwor
ZnVuY3Rpb24gdGVzdF90aW1pbmdfb3JkZXIoYXR0cmlidXRlX25hbWUsIGdyZWF0ZXJfdGhhbl9h
dHRyaWJ1dGUsIHByb3BlcnRpZXMpCit7CisgICAgLy8gZW5zdXJlIGl0J3Mgbm90IDAgZmlyc3QK
KyAgICB2YXIgbXNnID0gIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuIiArIGF0dHJpYnV0ZV9u
YW1lICsgIiA+IDAiOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZv
cm1hbmNlTmFtZXNwYWNlLnRpbWluZ1thdHRyaWJ1dGVfbmFtZV0gPiAwLCBtc2cpOyB9LCBtc2cs
IHByb3BlcnRpZXMpOworCisgICAgLy8gZW5zdXJlIGl0J3MgaW4gdGhlIHJpZ2h0IG9yZGVyCisg
ICAgbXNnID0gIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuIiArIGF0dHJpYnV0ZV9uYW1lICsg
IiA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiIgKyBncmVhdGVyX3RoYW5fYXR0cmlidXRl
OworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNw
YWNlLnRpbWluZ1thdHRyaWJ1dGVfbmFtZV0gPj0gcGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5n
W2dyZWF0ZXJfdGhhbl9hdHRyaWJ1dGVdLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQor
CitmdW5jdGlvbiB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4oYXR0cmlidXRlX25hbWUsIGdyZWF0
ZXJfdGhhbiwgcHJvcGVydGllcykKK3sKKyAgICB2YXIgbXNnID0gIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuIiArIGF0dHJpYnV0ZV9uYW1lICsgIiA+ICIgKyBncmVhdGVyX3RoYW47CisgICAg
dGVzdF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0dHJpYnV0ZV9u
YW1lXSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0
X3RpbWluZ19lcXVhbHMoYXR0cmlidXRlX25hbWUsIGVxdWFscywgbXNnLCBwcm9wZXJ0aWVzKQor
eworICAgIHZhciB0ZXN0X21zZyA9IG1zZyB8fCAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4i
ICsgYXR0cmlidXRlX25hbWUgKyAiID09ICIgKyBlcXVhbHM7CisgICAgdGVzdF9lcXVhbHMocGVy
Zm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0dHJpYnV0ZV9uYW1lXSwgZXF1YWxzLCB0ZXN0X21z
ZywgcHJvcGVydGllcyk7Cit9CisKKy8vCisvLyBOb24tdGVzdCByZWxhdGVkIGhlbHBlciBmdW5j
dGlvbnMKKy8vDQorDQorZnVuY3Rpb24gc2xlZXBfbWlsbGlzZWNvbmRzKG4pCit7CisgICAgdmFy
IHN0YXJ0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAg
ICAgaWYgKChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0KSA+PSBuKSBicmVhazsKKyAgICB9
Cit9CisKKy8vCisvLyBDb21tb24gaGVscGVyIGZ1bmN0aW9ucworLy8NCisNCitmdW5jdGlvbiB0
ZXN0X3RydWUodmFsdWUsIG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9u
ICgpIHsgYXNzZXJ0X3RydWUodmFsdWUsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9DQor
DQorZnVuY3Rpb24gdGVzdF9lcXVhbHModmFsdWUsIGVxdWFscywgbXNnLCBwcm9wZXJ0aWVzKQor
eworICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfZXF1YWxzKHZhbHVlLCBlcXVhbHMs
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisNCitmdW5jdGlvbiB0ZXN0X2dyZWF0ZXJf
dGhhbih2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVz
dChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlID4gZ3JlYXRlcl90aGFuLCBtc2cpOyB9
LCBtc2csIHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUs
IG5vdGVxdWFscywgbXNnLCBwcm9wZXJ0aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7
IGFzc2VydF90cnVlKHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGll
cyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGNlOTJkZGMxOWE1NjU1YmVjOTk4
Y2I3YTc4ZTU5NDJiZmJkOGJlOWYuLjM0YTU0Y2Q2MjgxMTg4YWQyMDYwYTRkY2JjOTU3M2QyZTll
NmU3YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0yNjAsNiArMjYwLDcgQEAgaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCiBodHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXNsb3ctbG9hZC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc3NsLnBo
cAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLnBocAoraHR0cC90ZXN0
cy93M2Mvd2VicGVyZgogZmFzdC9wZXJmb3JtYW5jZS8KIAogIyBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSAxLjEgKEVOQUJMRV9DU1BfTkVYVCkgaXMgbm90IGVuYWJsZWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKaW5kZXggM2MzZWIxNGYzZjQwNWJlMjVjMWE2OGVjYzAwYjlhNzQ1NGM5MjIxNi4u
YzcyMzMwOGQzNTczYzgxZTM0MDVmMjg0YzdhNzJkMjZiNmZmN2JhYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKQEAgLTEyMjksNiArMTIyOSw3IEBAIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctb25lLXJlZGlyZWN0LnBocAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQu
cGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNzbC5waHAKIGh0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAKK2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYKIGZhc3Qv
cGVyZm9ybWFuY2UKIAogIyBTdGlsbCB3b3JraW5nIG91dCBmbGFraW5lc3MgaXNzdWVzIHdpdGgg
dGhlIHBlcmYgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRleCBk
MGY5MWFmYjdkYjYyYjI2ZGMxYjcyZWViZjRkOGM4NjFkMWU5YjlkLi42MmU0YjgzOWU1MTE2Yjdi
ZTgwYjBlOTllMDkxNDUzNjAzMGVlYjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Nr
aXBwZWQKQEAgLTE3NDYsNiArMTc0Niw3IEBAIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25l
LXJlZGlyZWN0LnBocAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBo
dHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXNzbC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctdHdvLXJlZGlyZWN0cy5waHAKK2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYKIAogIyBTdGlsbCB3
b3JraW5nIG91dCBmbGFraW5lc3MgaXNzdWVzIHdpdGggdGhlIHBlcmYgdGVzdHMuCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDE5OQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyBiL0xheW91dFRlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJkNDgyYTdkYzE2Y2FhY2JiNjQ5MGE4Zjdj
YmNkNDY5OTA4OGVhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5jc3MKQEAgLTAsMCArMSwyOCBAQAoraHRtbCB7CisgICAgZm9udC1mYW1pbHk6
RGVqYVZ1IFNhbnMsIEJpdHN0cmVhbSBWZXJhIFNhbnMsIEFyaWFsLCBTYW5zOworfQorCit0YWJs
ZSNyZXN1bHRzIHsKKyAgICBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Cit9CisKK3RhYmxlI3Jl
c3VsdHMgdGggeworICAgIHBhZGRpbmc6MDsKKyAgICBwYWRkaW5nLWJvdHRvbTowLjVlbTsKKyAg
ICBib3JkZXItYm90dG9tOm1lZGl1bSBzb2xpZCBibGFjazsKK30KKwordGFibGUjcmVzdWx0cyB0
ZCB7CisgICAgcGFkZGluZzowOworICAgIHBhZGRpbmctYm90dG9tOjAuNWVtOworICAgIGJvcmRl
ci1ib3R0b206dGhpbiBzb2xpZCBibGFjazsKK30KKwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgt
Y2hpbGQoMSkgeworICAgIGZvbnQtdmFyaWFudDpzbWFsbC1jYXBzOworfQorCit0YWJsZSNyZXN1
bHRzIHRyPnRkOm50aC1jaGlsZCgzKSB7CisgICAgZm9udC1mYW1pbHk6RGVqYVZ1IFNhbnMgTW9u
bywgQml0c3RyZWFtIFZlcmEgU2FucyBNb25vLCBNb25vc3BhY2U7CisgICAgd2hpdGUtc3BhY2U6
cHJlOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyBiL0xheW91dFRlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcwppbmRleCBhMmJmMGFhNjRhMDU2ODAxY2Q3MmY0YWEwMWI5
Mzc0NzI1MTJhZGIyLi5hODRiNjE4YzFhZjU3ZTEzMDc2MmYxMmQ5NzQxYTNjYTAwODQzMWM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKKysr
IGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCkBAIC0xMyw4ICsx
MywxMCBAQAogICovDQogDQogLy8gU2V0dXAgZm9yIFdlYktpdCBKYXZhU2NyaXB0IHRlc3RzDQot
aWYgKHNlbGYudGVzdFJ1bm5lcikNCitpZiAoc2VsZi50ZXN0UnVubmVyKSB7DQogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOw0KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCit9
DQogDQogLy8gRnVuY3Rpb24gdXNlZCB0byBjb252ZXJ0IHRoZSB0ZXN0IHN0YXR1cyBjb2RlIGlu
dG8NCiAvLyB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmcNCkBAIC03MSw0ICs3Myw3IEBAIGFkZF9j
b21wbGV0aW9uX2NhbGxiYWNrKGZ1bmN0aW9uICh0ZXN0cywgaGFybmVzc19zdGF0dXMpewogDQog
CS8vIEFkZCByZXN1bHRzIGVsZW1lbnQgdG8gZG9jdW1lbnQNCiAJZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyZXN1bHRzKTsNCisNCisJaWYgKHNlbGYudGVzdFJ1bm5lcikNCisJCXRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOw0KIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152065</attachid>
            <date>2012-07-12 14:38:43 -0700</date>
            <delta_ts>2012-07-12 15:04:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-84887-20120712143842.patch</filename>
            <type>text/plain</type>
            <size>311547</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGM1ODZjOTNmNzc5MGZmN2IwODgwYzVjZTk4ZDlhNjg3
Yjk2YTUzZi4uZjVkMDJmNzRjYzg5MGExMzdhNjZhNWE4ZWI0MGU2YTY3MWVmNDNlOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEyLTA3LTEyICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbTmF2aWdhdGlvbiBUaW1pbmddIEltcG9ydCB0aGUgVzNDIE5hdmlnYXRpb24g
VGltaW5nIHRlc3Qgc3VpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0ODg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBHZW50aWxjb3JlLgor
CisgICAgICAgICogU2NyaXB0cy9pbXBvcnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzOiBBZGRl
ZC4KKwogMjAxMi0wNy0xMiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBucnd0IGNyYXNoZXMgc2F2aW5nIHRoZSBvdXRwdXQgZm9yIGEgcGxhdGZvcm0tc3Bl
Y2lmaWMgZXhwZWN0ZWQgdGVzdCByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy1wZXJmb3JtYW5jZS13Zy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy1wZXJmb3JtYW5jZS13Zy10ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTViMjY5YWEwMjQ3NTljN2NhZDVl
OTEzYzFhZmFiMzJmZDA2MDU0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzCkBAIC0wLDAgKzEsNzkgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMgVGhpcyBzY3JpcHQgaW1wb3J0cyB0aGUg
VzNDIFdlYiBQZXJmb3JtYW5jZSBXRydzIHRlc3Qgc3VpdGUgaW50byBXZWJLaXQuCisjCisjIFlv
dSBtdXN0IGhhdmUgY2hlY2tlZCBvdXQgdGhlICd3ZWJwZXJmJyByZXBvc2l0b3J5IGZyb20gaHR0
cHM6Ly9kdmNzLnczLm9yZy9oZy8KKyMKKyMgVGhpcyBzY3JpcHQgd2lsbCBwb3B1bGF0ZSB0aGUg
TGF5b3V0VGVzdHMgZGlyZWN0b3J5IHdpdGggdGhlIG5ldyB0ZXN0cy4gSWYgdGhlCisjIHRlc3Rz
IGFscmVhZHkgZXhpc3QsIHRoZSBzY3JpcHQgd2lsbCByZWZ1c2UgdG8gcnVuLiBQbGVhc2UgY2xl
YXIgb3V0IHRoZQorIyB3M2Mvd2VicGVyZiBkaXJlY3RvcnkgZmlyc3QuCisjCisjIFRoZSBtYWlu
IHN0ZXAgaW4gaW1wb3J0aW5nIHRoZSB0ZXN0cyBpcyB1cGRhdGluZyBhbGwgb2YgdGhlIFVSTHMg
dG8gbWF0Y2ggb3VyCisjIGRpcmVjdG9yeSBsYXlvdXQuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCitpZiBsZW4oc3lzLmFyZ3YpICE9IDM6CisgICAgcHJpbnQgJ1VTQUdFOiAlcyBwYXRoX3Rv
X3dlYnBlcmZfY2hlY2tvdXRfcm9vdCBwYXRoX3RvX3dlYmtpdF9jaGVja291dF9yb290JworICAg
IHN5cy5leGl0KDEpCisKK3NvdXJjZV9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3Zb
MV0sICd0ZXN0cycpCitkZXN0aW5hdGlvbl9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFy
Z3ZbMl0sICdMYXlvdXRUZXN0cycsICdodHRwJywgJ3Rlc3RzJywgJ3czYycsICd3ZWJwZXJmJykK
KworaWYgb3MucGF0aC5leGlzdHMoZGVzdGluYXRpb25fZGlyZWN0b3J5KToKKyAgICBwcmludCAn
UmVmdXNpbmcgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGRpcmVjdG9yeTogJXMnICUgZGVzdGluYXRp
b25fZGlyZWN0b3J5CisgICAgc3lzLmV4aXQoMSkKK29zLm1ha2VkaXJzKGRlc3RpbmF0aW9uX2Rp
cmVjdG9yeSkKKworZGlyZWN0b3JpZXNfdG9fY29weSA9IFsnYXBwcm92ZWQnLCAncmVzb3VyY2Vz
J10KK3JlcGxhY2VtZW50cyA9IFsKKyAgICAgICAgKCd3d3cudzNjLXRlc3Qub3JnJywgJ2xvY2Fs
aG9zdDo4MDAwJyksICAgIyBUaGlzIGlzIHRoZSBhbHRlcm5hdGUgaG9zdCBmb3IgY3Jvc3Mtc2Vy
dmVyIHJlcXVlc3RzLgorICAgICAgICAoJ3czYy10ZXN0Lm9yZycsICcxMjcuMC4wLjE6ODAwMCcp
LCAgICAgICAjIFRoaXMgaXMgdGhlIHByaW1hcnkgdGVzdCBzZXJ2ZXIuCisgICAgICAgICgnd2Vi
cGVyZi90ZXN0cycsICd3M2Mvd2VicGVyZicpLCAgICAgICAgICMgV2UgcHJlcGVuZCAvdzNjIHRv
IGFsbCBvZiBvdXIgcGF0aHMuCisgICAgICAgICgnL3Jlc291cmNlcy90ZXN0aGFybmVzcycsICcv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcycpLAorICAgICAgICAoJysgIigiICsgcmVsb2FkVGlt
ZVt0aW1lXSArICIpIicsICcnKSwgICAjIFJlbW92ZSBkeW5hbWljIHZhbHVlcyBmcm9tIHRoZSBv
dXRwdXQuIFdlJ2xsIHN0aWxsIHNlZSBQQVNTLgorICAgICAgICAoJysgIigiICsgc3RhcnRpbmdU
aW1lW3RpbWVdICsgIikiJywgJycpLAorXQorCitmb3IgZGlyZWN0b3J5X3RvX2NvcHkgaW4gZGly
ZWN0b3JpZXNfdG9fY29weToKKyAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRp
b25fZGlyZWN0b3J5LCBkaXJlY3RvcnlfdG9fY29weSkpCisgICAgb3MuY2hkaXIoc291cmNlX2Rp
cmVjdG9yeSkKKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkaXJlY3Rvcnlf
dG9fY29weSk6CisgICAgICAgIGZvciBkaXJuYW1lIGluIGRpcnM6CisgICAgICAgICAgICBvcy5t
YWtlZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRpb25fZGlyZWN0b3J5LCByb290LCBkaXJuYW1l
KSkKKyAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVzOgorICAgICAgICAgICAgd2l0aCBvcGVu
KG9zLnBhdGguam9pbihzb3VyY2VfZGlyZWN0b3J5LCByb290LCBmaWxlbmFtZSksICdyJykgYXMg
aW5fZmlsZToKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRlc3RpbmF0
aW9uX2RpcmVjdG9yeSwgcm9vdCwgZmlsZW5hbWUpLCAndycpIGFzIG91dF9maWxlOgorICAgICAg
ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBpbl9maWxlOgorICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIHRvX2ZpbmQsIHJlcGxhY2Vfd2l0aCBpbiByZXBsYWNlbWVudHM6CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh0b19maW5kLCByZXBsYWNlX3dp
dGgpCisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgJ3czYy10ZXN0Lm9yZycgbm90IGlu
IGxpbmUsICdJbXBvcnRlZCB0ZXN0IG11c3Qgbm90IGRlcGVuZCBvbiBsaXZlIHNpdGUuIEJhZCBs
aW5lOiAiJXMiJyAlIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dF9maWxlLndyaXRl
KGxpbmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNzYwOTc3YzlkNWUzNTk4YjVlYWFkYzdjOGM1NTQ5OTZkMGNlNzA3OS4u
NDNlMzIyMjdmZGNmMDExYjE5ZTlmNGZkNDBjMjkwYWUxYTE2Njk0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEwNCBAQAorMjAxMi0wNy0xMiAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW05hdmlnYXRpb24gVGltaW5nXSBJbXBvcnQgdGhlIFczQyBOYXZpZ2F0
aW9uIFRpbWluZyB0ZXN0IHN1aXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NDg4NworCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgR2VudGlsY29y
ZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzczogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcy4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qczogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2Rv
Y3VtZW50X29wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9v
cGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4
aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9u
b25lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVj
dENvdW50X25vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Jh
Y2tmb3J3YXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90
eXBlX2JhY2tmb3J3YXJkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlw
ZV9lbnVtcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlw
ZV9lbnVtcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2Fk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9h
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdy
aXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGly
ZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRp
cmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVj
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2Zvcndh
cmQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmpl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3RpbWluZ19yZWxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2
ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3Nl
cnZlcl9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJf
cmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2
ZXJfcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5j
ZV9vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJm
b3JtYW5jZV9vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251
bmxvYWQuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9hZC5odG06IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2Vf
eWVsbG93Lmh0bTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG06IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3BhZ2V2aXN0ZXN0aGFybmVzcy5q
czogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9Ta2lwcGVkOiBTa2lwIG5ldyB3ZWJwZXJmIHRlc3RzLgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9Ta2lwcGVkOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOiBE
aXR0by4KKyAgICAgICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzOiBBZGRlZC4KKyAgICAg
ICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM6IFN1cHBvcnQgYXN5bmMgdGVzdHMu
CisKIDIwMTItMDctMTIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgbnJ3dCBjcmFzaGVzIHNhdmluZyB0aGUgb3V0cHV0IGZvciBhIHBsYXRmb3JtLXNwZWNp
ZmljIGV4cGVjdGVkIHRlc3QgcmVmZXJlbmNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy9SRUFETUUgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9SRUFETUUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2E3NmIwOTBjZmFkODZmYmQzNDI0YTA3MmQ4NjQ1OWFlNjU3OGMzYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL1JFQURNRQpAQCAtMCwwICsx
LDExIEBACitUaGlzIGRpcmVjdG9yeSBjb250YWlucyBmaWxlcyBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MuCisKK1dpdGggb25seSBvbmUgZXhjZXB0aW9uIChiZWxvdyksIHRoZXNlIGZpbGVzIHNob3Vs
ZCBub3QgYmUgbW9kaWZpZWQgZGlyZWN0bHkuIEluc3RlYWQsIHBsZWFzZQorc291cmNlIHRoZSBm
aWxlcyBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgorCityZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMgLSBhbmQuLi4KK3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MgLSBGZXRjaCBmcm9tIGh0
dHA6Ly93M2MtdGVzdC5vcmcvcmVzb3VyY2VzLworCityZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMgLSBNb2RpZnkgZGlyZWN0bHkuIEl0J3MgdGhlIHZlbmRvciBzcGVjaWZpYyBwb3J0aW9u
LgorCit3ZWJwZXJmLyAtIFVzZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtcGVyZm9ybWFuY2Ut
d2ctdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZDQ4MmE3ZGMxNmNhYWNiYjY0OTBhOGY3Y2Jj
ZDQ2OTkwODhlYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzCkBAIC0wLDAgKzEsMjggQEAKK2h0bWwgeworICAg
IGZvbnQtZmFtaWx5OkRlamFWdSBTYW5zLCBCaXRzdHJlYW0gVmVyYSBTYW5zLCBBcmlhbCwgU2Fu
czsKK30KKwordGFibGUjcmVzdWx0cyB7CisgICAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOwor
fQorCit0YWJsZSNyZXN1bHRzIHRoIHsKKyAgICBwYWRkaW5nOjA7CisgICAgcGFkZGluZy1ib3R0
b206MC41ZW07CisgICAgYm9yZGVyLWJvdHRvbTptZWRpdW0gc29saWQgYmxhY2s7Cit9CisKK3Rh
YmxlI3Jlc3VsdHMgdGQgeworICAgIHBhZGRpbmc6MDsKKyAgICBwYWRkaW5nLWJvdHRvbTowLjVl
bTsKKyAgICBib3JkZXItYm90dG9tOnRoaW4gc29saWQgYmxhY2s7Cit9CisKK3RhYmxlI3Jlc3Vs
dHMgdHI+dGQ6bnRoLWNoaWxkKDEpIHsKKyAgICBmb250LXZhcmlhbnQ6c21hbGwtY2FwczsKK30K
KwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgtY2hpbGQoMykgeworICAgIGZvbnQtZmFtaWx5OkRl
amFWdSBTYW5zIE1vbm8sIEJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubywgTW9ub3NwYWNlOworICAg
IHdoaXRlLXNwYWNlOnByZTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWY3OGE1ZDBhN2Q5YTc4YWEyNzI2YTE4NmU3OWFkYTc0MDI4YTBmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcwpAQCAtMCwwICsxLDE3NjEgQEAKKy8qDQorRGlzdHJpYnV0ZWQgdW5kZXIgYm90aCB0
aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5kIHRoZSBXM0MNCiszLWNsYXVzZSBCU0Qg
TGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBTdWl0ZSwgc2VlIHRoZQ0K
K3BvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLg0KKw0KK1sxXSBodHRwOi8vd3d3
LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxpY2Vuc2UNCitbMl0g
aHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNlDQor
WzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzDQorKi8NCisNCisvKg0K
KyAqID09IEludHJvZHVjdGlvbiA9PQ0KKyAqDQorICogVGhpcyBmaWxlIHByb3ZpZGVzIGEgZnJh
bWV3b3JrIGZvciB3cml0aW5nIHRlc3RjYXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8NCisgKiBwcm92
aWRlIGEgY29udmVuaWVudCBBUEkgZm9yIG1ha2luZyBjb21tb24gYXNzZXJ0aW9ucywgYW5kIHRv
IHdvcmsgYm90aA0KKyAqIGZvciB0ZXN0aW5nIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMg
RE9NIGZlYXR1cmVzIGluIGEgd2F5IHRoYXQNCisgKiBwcm9tb3RlcyBjbGVhciwgcm9idXN0LCB0
ZXN0cy4NCisgKg0KKyAqID09IEJhc2ljIFVzYWdlID09DQorICoNCisgKiBUbyB1c2UgdGhpcyBm
aWxlLCBpbXBvcnQgdGhlIHNjcmlwdCBhbmQgdGhlIHRlc3RoYXJuZXNzcmVwb3J0IHNjcmlwdCBp
bnRvDQorICogdGhlIHRlc3QgZG9jdW1lbnQ6DQorICogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAqIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgKg0KKyAqIFdpdGhpbiBlYWNoIGZpbGUg
b25lIG1heSBkZWZpbmUgb25lIG9yIG1vcmUgdGVzdHMuIEVhY2ggdGVzdCBpcyBhdG9taWMNCisg
KiBpbiB0aGUgc2Vuc2UgdGhhdCBhIHNpbmdsZSB0ZXN0IGhhcyBhIHNpbmdsZSByZXN1bHQgKHBh
c3MvZmFpbC90aW1lb3V0KS4NCisgKiBXaXRoaW4gZWFjaCB0ZXN0IG9uZSBtYXkgaGF2ZSBhIG51
bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBhdCB0aGUNCisgKiBmaXJzdCBmYWlsaW5n
IGFzc2VydCwgYW5kIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlc3QgaXMgKHR5cGljYWxseSkgbm90
IHJ1bi4NCisgKg0KKyAqIElmIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHRlc3RzIGlzIGEgSFRN
TCBmaWxlIHdpdGggYW4gZWxlbWVudCBvZiBpZCAibG9nIg0KKyAqIHRoaXMgd2lsbCBiZSBwb3B1
bGF0ZWQgd2l0aCBhIHRhYmxlIGNvbnRhaW5pbmcgdGhlIHRlc3QgcmVzdWx0cyBhZnRlciBhbGwN
CisgKiB0aGUgdGVzdHMgaGF2ZSBydW4uDQorICoNCisgKiBOT1RFOiBCeSBkZWZhdWx0IHRlc3Rz
IG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzDQor
ICogICAgICAgdG8gY3JlYXRlIHRlc3RzIGFmdGVyIHRoZSBsb2FkIGV2ZW50LCBzZWUgIkRldGVy
bWluaW5nIHdoZW4gYWxsIHRlc3RzIGFyZQ0KKyAqICAgICAgIGNvbXBsZXRlIiwgYmVsb3cNCisg
Kg0KKyAqID09IFN5bmNocm9ub3VzIFRlc3RzID09DQorICoNCisgKiBUbyBjcmVhdGUgYSBzeW5j
aHJvbm91cyB0ZXN0IHVzZSB0aGUgdGVzdCgpIGZ1bmN0aW9uOg0KKyAqDQorICogdGVzdCh0ZXN0
X2Z1bmN0aW9uLCBuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAqDQorICogdGVzdF9mdW5jdGlvbiBpcyBh
IGZ1bmN0aW9uIHRoYXQgY29udGFpbnMgdGhlIGNvZGUgdG8gdGVzdC4gRm9yIGV4YW1wbGUgYQ0K
KyAqIHRyaXZpYWwgcGFzc2luZyB0ZXN0IHdvdWxkIGJlOg0KKyAqDQorICogdGVzdChmdW5jdGlv
bigpIHthc3NlcnRfdHJ1ZSh0cnVlKX0sICJhc3NlcnRfdHJ1ZSB3aXRoIHRydWUiKQ0KKyAqDQor
ICogVGhlIGZ1bmN0aW9uIHBhc3NlZCBpbiBpcyBydW4gaW4gdGhlIHRlc3QoKSBjYWxsLg0KKyAq
DQorICogcHJvcGVydGllcyBpcyBhbiBvYmplY3QgdGhhdCBvdmVycmlkZXMgZGVmYXVsdCB0ZXN0
IHByb3BlcnRpZXMuIFRoZSByZWNvZ25pc2VkIHByb3BlcnRpZXMNCisgKiBhcmU6DQorICogICAg
dGltZW91dCAtIHRoZSB0ZXN0IHRpbWVvdXQgaW4gbXMNCisgKg0KKyAqIGUuZy4NCisgKiB0ZXN0
KHRlc3RfZnVuY3Rpb24sICJTYW1wbGUgdGVzdCIsIHt0aW1lb3V0OjEwMDB9KQ0KKyAqDQorICog
d291bGQgcnVuIHRlc3RfZnVuY3Rpb24gd2l0aCBhIHRpbWVvdXQgb2YgMXMuDQorICoNCisgKiA9
PSBBc3luY2hyb25vdXMgVGVzdHMgPT0NCisgKg0KKyAqIFRlc3RpbmcgYXN5bmNocm9ub3VzIGZl
YXR1cmVzIGlzIHNvbWV3aGF0IG1vcmUgY29tcGxleCBzaW5jZSB0aGUgcmVzdWx0IG9mDQorICog
YSB0ZXN0IG1heSBkZXBlbmQgb24gb25lIG9yIG1vcmUgZXZlbnRzIG9yIG90aGVyIGNhbGxiYWNr
cy4gVGhlIEFQSSBwcm92aWRlZA0KKyAqIGZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGlu
ZGVuZGVkIHRvIGJlIHJhdGhlciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQ0KKyAqIGFwcGxpY2Fi
bGUgdG8gbWFueSBzaXR1YXRpb25zLg0KKyAqDQorICogVG8gY3JlYXRlIGEgdGVzdCwgb25lIHN0
YXJ0cyBieSBnZXR0aW5nIGEgVGVzdCBvYmplY3QgdXNpbmcgYXN5bmNfdGVzdDoNCisgKg0KKyAq
IGFzeW5jX3Rlc3QobmFtZSwgcHJvcGVydGllcykNCisgKg0KKyAqIGUuZy4NCisgKiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNpbXBsZSBhc3luYyB0ZXN0IikNCisgKg0KKyAqIEFzc2VydGlvbnMgY2Fu
IGJlIGFkZGVkIHRvIHRoZSB0ZXN0IGJ5IGNhbGxpbmcgdGhlIHN0ZXAgbWV0aG9kIG9mIHRoZSB0
ZXN0DQorICogb2JqZWN0IHdpdGggYSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGFzc2Vy
dGlvbnM6DQorICoNCisgKiB0LnN0ZXAoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9KTsN
CisgKg0KKyAqIFdoZW4gYWxsIHRoZSBzdGVwcyBhcmUgY29tcGxldGUsIHRoZSBkb25lKCkgbWV0
aG9kIG11c3QgYmUgY2FsbGVkOg0KKyAqDQorICogdC5kb25lKCk7DQorICoNCisgKiBUaGUgcHJv
cGVydGllcyBhcmd1bWVudCBpcyBpZGVudGljYWwgdG8gdGhhdCBmb3IgdGVzdCgpLg0KKyAqDQor
ICogSW4gbWFueSBjYXNlcyBpdCBpcyBjb252ZW5pZW50IHRvIHJ1biBhIHN0ZXAgaW4gcmVzcG9u
c2UgdG8gYW4gZXZlbnQgb3IgYQ0KKyAqIGNhbGxiYWNrLiBBIGNvbnZlbmllbnQgbWV0aG9kIG9m
IGRvaW5nIHRoaXMgaXMgdGhyb3VnaCB0aGUgc3RlcF9mdW5jIG1ldGhvZA0KKyAqIHdoaWNoIHJl
dHVybnMgYSBmdW5jdGlvbiB0aGF0LCB3aGVuIGNhbGxlZCBydW5zIGEgdGVzdCBzdGVwLiBGb3Ig
ZXhhbXBsZQ0KKyAqDQorICogb2JqZWN0LnNvbWVfZXZlbnQgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihlKSB7YXNzZXJ0X3RydWUoZS5hKX0pOw0KKyAqDQorICogPT0gTWFraW5nIGFzc2VydGlvbnMg
PT0NCisgKg0KKyAqIEZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQgYXNzZXJ0
Xw0KKyAqIFRoZSBiZXN0IHdheSB0byBnZXQgYSBsaXN0IGlzIHRvIGxvb2sgaW4gdGhpcyBmaWxl
IGZvciBmdW5jdGlvbnMgbmFtZXMNCisgKiBtYXRjaGluZyB0aGF0IHBhdHRlcm4uIFRoZSBnZW5l
cmFsIHNpZ25hdHVyZSBpcw0KKyAqDQorICogYXNzZXJ0X3NvbWV0aGluZyhhY3R1YWwsIGV4cGVj
dGVkLCBkZXNjcmlwdGlvbikNCisgKg0KKyAqIGFsdGhvdWdoIG5vdCBhbGwgYXNzZXJ0aW9ucyBw
cmVjaXNlbHkgbWF0Y2ggdGhpcyBwYXR0ZXJuIGUuZy4gYXNzZXJ0X3RydWUNCisgKiBvbmx5IHRh
a2VzIGFjdHVhbCBhbmQgZGVzY3JpcHRpb24gYXMgYXJndW1lbnRzLg0KKyAqDQorICogVGhlIGRl
c2NyaXB0aW9uIHBhcmFtZXRlciBpcyB1c2VkIHRvIHByZXNlbnQgbW9yZSB1c2VmdWwgZXJyb3Ig
bWVzc2FnZXMgd2hlbg0KKyAqIGEgdGVzdCBmYWlscw0KKyAqDQorICogTk9URTogQWxsIGFzc2Vy
dHMgbXVzdCBiZSBsb2NhdGVkIGluIGEgdGVzdCgpIG9yIGEgc3RlcCBvZiBhbiBhc3luY190ZXN0
KCkuDQorICogICAgICAgYXNzZXJ0cyBvdXRzaWRlIHRoZXNlIHBsYWNlcyB3b24ndCBiZSBkZXRl
Y3RlZCBjb3JyZWN0bHkgYnkgdGhlIGhhcm5lc3MNCisgKiAgICAgICBhbmQgbWF5IGNhdXNlIGEg
ZmlsZSB0byBzdG9wIHRlc3RpbmcuDQorICoNCisgKiA9PSBTZXR1cCA9PQ0KKyAqDQorICogU29t
ZXRpbWVzIHRlc3RzIHJlcXVpcmUgbm9uLXRyaXZpYWwgc2V0dXAgdGhhdCBtYXkgZmFpbC4gRm9y
IHRoaXMgcHVycG9zZQ0KKyAqIHRoZXJlIGlzIGEgc2V0dXAoKSBmdW5jdGlvbiwgdGhhdCBtYXkg
YmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuDQorICogVGhlIHR3byBhcmd1bWVu
dCB2ZXJzaW9uIGlzOg0KKyAqDQorICogc2V0dXAoZnVuYywgcHJvcGVydGllcykNCisgKg0KKyAq
IFRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50Lg0KKyAq
IGZ1bmMgaXMgYSBmdW5jdGlvbiB0byBiZSBydW4gc3luY2hyb25vdXNseS4gc2V0dXAoKSBiZWNv
bWVzIGEgbm8tb3Agb25jZQ0KKyAqIGFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFBy
b3BlcnRpZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0DQorICogaGFybmVzcy4g
Q3VycmVudGx5IHJlY29nbmlzZWQgcHJvcGVydGllcyBhcmU6DQorICoNCisgKiB0aW1lb3V0IC0g
VGhlIHRpbWUgaW4gbXMgYWZ0ZXIgd2hpY2ggdGhlIGhhcm5lc3Mgc2hvdWxkIHN0b3Agd2FpdGlu
ZyBmb3INCisgKiAgICAgICAgICAgdGVzdHMgdG8gY29tcGxldGUgKHRoaXMgaXMgZGlmZmVyZW50
IHRvIHRoZSBwZXItdGVzdCB0aW1lb3V0DQorICogICAgICAgICAgIGJlY2F1c2UgYXN5bmMgdGVz
dHMgZG8gbm90IHN0YXJ0IHRoZWlyIHRpbWVyIHVudGlsIC5zdGVwIGlzIGNhbGxlZCkNCisgKg0K
KyAqIGV4cGxpY2l0X2RvbmUgLSBXYWl0IGZvciBhbiBleHBsaWNpdCBjYWxsIHRvIGRvbmUoKSBi
ZWZvcmUgZGVjbGFyaW5nIGFsbCB0ZXN0cw0KKyAqICAgICAgICAgICAgICAgICBjb21wbGV0ZSAo
c2VlIGJlbG93KQ0KKyAqDQorICogb3V0cHV0X2RvY3VtZW50IC0gVGhlIGRvY3VtZW50IHRvIHdo
aWNoIHJlc3VsdHMgc2hvdWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdCB0aGlzIGlzDQorICogICAg
ICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgZG9jdW1lbnQgYnV0IGNvdWxkIGJlIGFuIGFuY2Vz
dG9yIGRvY3VtZW50IGluIHNvbWUgY2FzZXMNCisgKiAgICAgICAgICAgICAgICAgICBlLmcuIGEg
U1ZHIHRlc3QgbG9hZGVkIGluIGFuIEhUTUwgd3JhcHBlcg0KKyAqDQorICogPT0gRGV0ZXJtaW5p
bmcgd2hlbiBhbGwgdGVzdHMgYXJlIGNvbXBsZXRlID09DQorICoNCisgKiBCeSBkZWZhdWx0IHRo
ZSB0ZXN0IGhhcm5lc3Mgd2lsbCBhc3N1bWUgdGhlcmUgYXJlIG5vIG1vcmUgcmVzdWx0cyB0byBj
b21lDQorICogd2hlbjoNCisgKiAxKSBUaGVyZSBhcmUgbm8gVGVzdCBvYmplY3RzIHRoYXQgaGF2
ZSBiZWVuIGNyZWF0ZWQgYnV0IG5vdCBjb21wbGV0ZWQNCisgKiAyKSBUaGUgbG9hZCBldmVudCBv
biB0aGUgZG9jdW1lbnQgaGFzIGZpcmVkDQorICoNCisgKiBUaGlzIGJlaGF2aW91ciBjYW4gYmUg
b3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBleHBsaWNpdF9kb25lIHByb3BlcnR5IHRvIHRydWUN
CisgKiBpbiBhIGNhbGwgdG8gc2V0dXAoKS4gSWYgZXhwbGljaXRfZG9uZSBpcyB0cnVlLCB0aGUg
dGVzdCBoYXJuZXNzIHdpbGwgbm90IGFzc3VtZQ0KKyAqIGl0IGlzIGRvbmUgdW50aWwgdGhlIGds
b2JhbCBkb25lKCkgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGRvbmUoKSBpcyBjYWxsZWQsIHRo
ZQ0KKyAqIHR3byBjb25kaXRpb25zIGFib3ZlIGFwcGx5IGxpa2Ugbm9ybWFsLg0KKyAqDQorICog
PT0gR2VuZXJhdGluZyB0ZXN0cyA9PQ0KKyAqDQorICogTk9URTogdGhpcyBmdW5jdGlvbmFsaXR5
IG1heSBiZSByZW1vdmVkDQorICoNCisgKiBUaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlz
IGlzIGRlc2lyYWJsZSB0byBjcmVhdGUgYSBsYXJnZSBudW1iZXIgb2YNCisgKiAoc3luY2hyb25v
dXMpIHRlc3RzIHRoYXQgYXJlIGludGVybmFsbHkgc2ltaWxhciBidXQgdmFyeSBpbiB0aGUgcGFy
YW1ldGVycw0KKyAqIHVzZWQuIFRvIG1ha2UgdGhpcyBlYXNpZXIsIHRoZSBnZW5lcmF0ZV90ZXN0
cyBmdW5jdGlvbiBhbGxvd3MgYSBzaW5nbGUNCisgKiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2l0
aCBlYWNoIHNldCBvZiBwYXJhbWV0ZXJzIGluIGEgbGlzdDoNCisgKg0KKyAqIGdlbmVyYXRlX3Rl
c3RzKHRlc3RfZnVuY3Rpb24sIHBhcmFtZXRlcl9saXN0cykNCisgKg0KKyAqIEZvciBleGFtcGxl
Og0KKyAqDQorICogZ2VuZXJhdGVfdGVzdHMoYXNzZXJ0X2VxdWFscywgWw0KKyAqICAgICBbIlN1
bSBvbmUgYW5kIG9uZSIsIDErMSwgMl0sDQorICogICAgIFsiU3VtIG9uZSBhbmQgemVybyIsIDEr
MCwgMV0NCisgKiAgICAgXSkNCisgKg0KKyAqIElzIGVxdWl2YWxlbnQgdG86DQorICoNCisgKiB0
ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9lcXVhbHMoMSsxLCAyKX0sICJTdW0gb25lIGFuZCBvbmUi
KQ0KKyAqIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzAsIDEpfSwgIlN1bSBvbmUg
YW5kIHplcm8iKQ0KKyAqDQorICogTm90ZSB0aGF0IHRoZSBmaXJzdCBpdGVtIGluIGVhY2ggcGFy
YW1ldGVyIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIG5hbWUgb2YNCisgKiB0aGUgdGVzdC4NCisg
Kg0KKyAqID09IENhbGxiYWNrIEFQSSA9PQ0KKyAqDQorICogVGhlIGZyYW1ld29yayBwcm92aWRl
cyBjYWxsYmFja3MgY29ycmVzcG9uZGluZyB0byAzIGV2ZW50czoNCisgKg0KKyAqIHN0YXJ0IC0g
aGFwcGVucyB3aGVuIHRoZSBmaXJzdCBUZXN0IGlzIGNyZWF0ZWQNCisgKiByZXN1bHQgLSBoYXBw
ZW5zIHdoZW4gYSB0ZXN0IHJlc3VsdCBpcyByZWNpZXZlZA0KKyAqIGNvbXBsZXRlIC0gaGFwcGVu
cyB3aGVuIGFsbCByZXN1bHRzIGFyZSByZWNpZXZlZA0KKyAqDQorICogVGhlIHBhZ2UgZGVmaW5p
bmcgdGhlIHRlc3RzIG1heSBhZGQgY2FsbGJhY2tzIGZvciB0aGVzZSBldmVudHMgYnkgY2FsbGlu
Zw0KKyAqIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoNCisgKg0KKyAqICAgYWRkX3N0YXJ0X2NhbGxi
YWNrKGNhbGxiYWNrKSAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cw0KKyAqICAg
YWRkX3Jlc3VsdF9jYWxsYmFjayhjYWxsYmFjaykgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRl
c3QgYXJndW1lbnQNCisgKiAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKGNhbGxiYWNrKSAtIGNh
bGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9mIHRlc3RzDQorICogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbmQgYW4gc3RhdHVzIG9iamVjdA0KKyAqDQorICogdGVz
dHMgaGF2ZSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6DQorICogICBzdGF0dXM6IEEgc3RhdHVz
IGNvZGUuIFRoaXMgY2FuIGJlIGNvbXBhcmVkIHRvIHRoZSBQQVNTLCBGQUlMLCBUSU1FT1VUIGFu
ZA0KKyAqICAgICAgICAgICBOT1RSVU4gcHJvcGVydGllcyBvbiB0aGUgdGVzdCBvYmplY3QNCisg
KiAgIG1lc3NhZ2U6IEEgbWVzc2FnZSBpbmRpY2F0aW5nIHRoZSByZWFzb24gZm9yIGZhaWx1cmUu
IEluIHRoZSBmdXR1cmUgdGhpcw0KKyAqICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJp
bmcNCisgKg0KKyAqICBUaGUgc3RhdHVzIG9iamVjdCBnaXZlcyB0aGUgb3ZlcmFsbCBzdGF0dXMg
b2YgdGhlIGhhcm5lc3MuIEl0IGhhcyB0aGUNCisgKiAgZm9sbG93aW5nIHByb3BlcnRpZXM6DQor
ICogICAgc3RhdHVzOiBDYW4gYmUgY29tcGFyZWQgdG8gdGhlIE9LLCBFUlJPUiBhbmQgVElNRU9V
VCBwcm9wZXJ0aWVzDQorICogICAgbWVzc2FnZTogQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0
aGUgc3RhdHVzIGlzIEVSUk9SDQorICoNCisgKiA9PSBFeHRlcm5hbCBBUEkgPT0NCisgKg0KKyAq
IEluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMgb2YgbXVsdGlwbGUgcGFnZXMgY29udGFp
bmluZyB0ZXN0cywgdGhlIHRlc3QNCisgKiBoYXJuZXNzIHdpbGwsIHdoZW4gbG9hZGVkIGluIGEg
bmVzdGVkIGJyb3dzaW5nIGNvbnRleHQsIGF0dGVtcHQgdG8gY2FsbA0KKyAqIGNlcnRhaW4gZnVu
Y3Rpb25zIGluIGVhY2ggYW5jZXN0b3IgYnJvd3NpbmcgY29udGV4dDoNCisgKg0KKyAqIHN0YXJ0
IC0gc3RhcnRfY2FsbGJhY2sNCisgKiByZXN1bHQgLSByZXN1bHRfY2FsbGJhY2sNCisgKiBjb21w
bGV0ZSAtIGNvbXBsZXRpb25fY2FsbGJhY2sNCisgKg0KKyAqIFRoZXNlIGFyZSBnaXZlbiB0aGUg
c2FtZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tzDQor
ICogZGVzY3JpYmVkIGFib3ZlLg0KKyAqDQorICogPT0gTGlzdCBvZiBhc3NlcnRpb25zID09DQor
ICoNCisgKiBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0
aGF0IC9hY3R1YWwvIGlzIHN0cmljdGx5IHRydWUNCisgKg0KKyAqIGFzc2VydF9mYWxzZShhY3R1
YWwsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIHN0cmljdGx5
IGZhbHNlDQorICoNCisgKiBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIHRoZSBzYW1lIHZhbHVlIGFzIC9l
eHBlY3RlZC8NCisgKg0KKyAqIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRl
c2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIGEgZGlmZmVyZW50IHZh
bHVlIHRvIC9leHBlY3RlZC8uIFllcywgdGhpcyBtZWFucw0KKyAqICAgdGhhdCAiZXhwZWN0ZWQi
IGlzIGEgbWlzbm9tZXINCisgKg0KKyAqIGFzc2VydF9pbl9hcnJheShhY3R1YWwsIGV4cGVjdGVk
LCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgdGhhdCAvZXhwZWN0ZWQvIGlzIGFuIEFycmF5
LCBhbmQgL2FjdHVhbC8gaXMgZXF1YWwgdG8gb25lIG9mIHRoZQ0KKyAqICAgbWVtYmVycyAtLSBl
eHBlY3RlZC5pbmRleE9mKGFjdHVhbCkgIT0gLTENCisgKg0KKyAqIGFzc2VydF9hcnJheV9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2Fj
dHVhbC8gYW5kIC9leHBlY3RlZC8gaGF2ZSB0aGUgc2FtZSBsZW5ndGggYW5kIHRoZSB2YWx1ZSBv
Zg0KKyAqICAgZWFjaCBpbmRleGVkIHByb3BlcnR5IGluIC9hY3R1YWwvIGlzIHRoZSBzdHJpY3Rs
eSBlcXVhbCB0byB0aGUgY29ycmVzcG9uZGluZw0KKyAqICAgcHJvcGVydHkgdmFsdWUgaW4gL2V4
cGVjdGVkLw0KKyAqDQorICogYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwg
ZXBzaWxvbiwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2FjdHVhbC8gaXMgYSBu
dW1iZXIgd2l0aGluICsvLSAvZXBzaWxvbi8gb2YgL2V4cGVjdGVkLw0KKyAqDQorICogYXNzZXJ0
X3JlZ2V4cF9tYXRjaChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2Vy
dHMgdGhhdCAvYWN0dWFsLyBtYXRjaGVzIHRoZSByZWdleHAgL2V4cGVjdGVkLw0KKyAqDQorICog
YXNzZXJ0X293bl9wcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0K
KyAqICAgYXNzZXJ0IHRoYXQgb2JqZWN0IGhhcyBvd24gcHJvcGVydHkgcHJvcGVydHlfbmFtZQ0K
KyAqDQorICogYXNzZXJ0X2luaGVyaXRzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRp
b24pDQorICogICBhc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhbiBvd24gcHJvcGVy
dHkgbmFtZWQgcHJvcGVydHlfbmFtZQ0KKyAqICAgYnV0IHRoYXQgcHJvcGVydHlfbmFtZSBpcyBw
cmVzZW50IGluIHRoZSBwcm90b3R5cGUgY2hhaW4gZm9yIG9iamVjdA0KKyAqDQorICogYXNzZXJ0
X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRpb24pDQorICog
ICBhc3NlcnQgdGhhdCBhbiBvYmplY3QgdGhhdCBpcyBhbiBpbnN0YW5jZSBvZiBzb21lIGludGVy
ZmFjZSBoYXMgdGhlDQorICogICBhdHRyaWJ1dGUgYXR0cmlidXRlX25hbWUgZm9sbG93aW5nIHRo
ZSBjb25kaXRpb25zIHNwZWNpZmllZCBieSBXZWJJREwNCisgKg0KKyAqIGFzc2VydF9yZWFkb25s
eShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0IHRoYXQg
cHJvcGVydHkgcHJvcGVydHlfbmFtZSBvbiBvYmplY3QgaXMgcmVhZG9ubHkNCisgKg0KKyAqIGFz
c2VydF90aHJvd3MoY29kZSwgZnVuYywgZGVzY3JpcHRpb24pDQorICogICBjb2RlIC0gYSBET01F
eGNlcHRpb24vUmFuZ2VFeGNlcHRpb24gY29kZSBhcyBhIHN0cmluZywgZS5nLiAiSElFUkFSQ0hZ
X1JFUVVFU1RfRVJSIg0KKyAqICAgZnVuYyAtIGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgdGhyb3cN
CisgKg0KKyAqICAgYXNzZXJ0IHRoYXQgZnVuYyB0aHJvd3MgYSBET01FeGNlcHRpb24gb3IgUmFu
Z2VFeGNlcHRpb24gKGFzIGFwcHJvcHJpYXRlKQ0KKyAqICAgd2l0aCB0aGUgZ2l2ZW4gY29kZS4g
IElmIGFuIG9iamVjdCBpcyBwYXNzZWQgZm9yIGNvZGUgaW5zdGVhZCBvZiBhIHN0cmluZywNCisg
KiAgIGNoZWNrcyB0aGF0IHRoZSB0aHJvd24gZXhjZXB0aW9uIGhhcyBhIHByb3BlcnR5IGNhbGxl
ZCAibmFtZSIgdGhhdCBtYXRjaGVzDQorICogICB0aGUgcHJvcGVydHkgb2YgY29kZSBjYWxsZWQg
Im5hbWUiLiAgTm90ZSwgdGhpcyBmdW5jdGlvbiB3aWxsIHByb2JhYmx5IGJlDQorICogICByZXdy
aXR0ZW4gc29tZXRpbWUgdG8gbWFrZSBtb3JlIHNlbnNlLg0KKyAqDQorICogYXNzZXJ0X3VucmVh
Y2hlZChkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgaWYgY2FsbGVkLiBVc2VkIHRvIGVuc3Vy
ZSB0aGF0IHNvbWUgY29kZXBhdGggaXMgKm5vdCogdGFrZW4gZS5nLg0KKyAqICAgYW4gZXZlbnQg
ZG9lcyBub3QgZmlyZS4NCisgKg0KKyAqIGFzc2VydF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9u
YW1lLCBkZXNjcmlwdGlvbikNCisgKiAgICoqKiBkZXByZWNhdGVkICoqKg0KKyAqICAgYXNzZXJ0
cyB0aGF0IG9iamVjdCBoYXMgYW4gb3duIHByb3BlcnR5IHByb3BlcnR5X25hbWUNCisgKg0KKyAq
IGFzc2VydF9ub3RfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQor
ICogICAqKiogZGVwcmVjYXRlZCAqKioNCisgKiAgIGFzc2VydCB0aGF0IG9iamVjdCBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSBwcm9wZXJ0eV9uYW1lDQorICovDQorDQorKGZ1bmN0aW9uICgp
DQorew0KKyAgICB2YXIgZGVidWcgPSBmYWxzZTsNCisgICAgLy8gZGVmYXVsdCB0aW1lb3V0IGlz
IDUgc2Vjb25kcywgdGVzdCBjYW4gb3ZlcnJpZGUgaWYgbmVlZGVkDQorICAgIHZhciBzZXR0aW5n
cyA9IHsNCisgICAgICBvdXRwdXQ6dHJ1ZSwNCisgICAgICB0aW1lb3V0OjUwMDAsDQorICAgICAg
dGVzdF90aW1lb3V0OjIwMDANCisgICAgfTsNCisNCisgICAgdmFyIHhodG1sX25zID0gImh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOw0KKw0KKyAgICAvLyBzY3JpcHRfcHJlZml4IGlzIHVz
ZWQgYnkgT3V0cHV0LnByb3RvdHlwZS5zaG93X3Jlc3VsdHMoKSB0byBmaWd1cmUgb3V0DQorICAg
IC8vIHdoZXJlIHRvIGdldCB0ZXN0aGFybmVzcy5jc3MgZnJvbS4gIEl0J3MgZW5jbG9zZWQgaW4g
YW4gZXh0cmEgY2xvc3VyZSB0bw0KKyAgICAvLyBub3QgcG9sbHV0ZSB0aGUgbGlicmFyeSdzIG5h
bWVzcGFjZSB3aXRoIHZhcmlhYmxlcyBsaWtlICJzcmMiLg0KKyAgICB2YXIgc2NyaXB0X3ByZWZp
eCA9IG51bGw7DQorICAgIChmdW5jdGlvbiAoKQ0KKyAgICB7DQorICAgICAgICB2YXIgc2NyaXB0
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTsNCisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc2NyaXB0cy5sZW5ndGg7IGkrKykNCisgICAgICAgIHsNCisgICAg
ICAgICAgICBpZiAoc2NyaXB0c1tpXS5zcmMpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICB2YXIgc3JjID0gc2NyaXB0c1tpXS5zcmM7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgIGVsc2UgaWYgKHNjcmlwdHNbaV0uaHJlZikNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIC8vU1ZHIGNhc2UNCisgICAgICAgICAgICAgICAgdmFyIHNyYyA9IHNjcmlwdHNbaV0u
aHJlZi5iYXNlVmFsOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBpZiAoc3JjICYmIHNy
Yy5zbGljZShzcmMubGVuZ3RoIC0gInRlc3RoYXJuZXNzLmpzIi5sZW5ndGgpID09PSAidGVzdGhh
cm5lc3MuanMiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgc2NyaXB0X3ByZWZp
eCA9IHNyYy5zbGljZSgwLCBzcmMubGVuZ3RoIC0gInRlc3RoYXJuZXNzLmpzIi5sZW5ndGgpOw0K
KyAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAg
IH0pKCk7DQorDQorICAgIC8qDQorICAgICAqIEFQSSBmdW5jdGlvbnMNCisgICAgICovDQorDQor
ICAgIHZhciBuYW1lX2NvdW50ZXIgPSAwOw0KKyAgICBmdW5jdGlvbiBuZXh0X2RlZmF1bHRfbmFt
ZSgpDQorICAgIHsNCisgICAgICAgIC8vRG9uJ3QgdXNlIGRvY3VtZW50LnRpdGxlIHRvIHdvcmsg
YXJvdW5kIGFuIE9wZXJhIGJ1ZyBpbiBYSFRNTCBkb2N1bWVudHMNCisgICAgICAgIHZhciBwcmVm
aXggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKS5sZW5ndGggPiAwID8N
CisgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
InRpdGxlIilbMF0uZmlyc3RDaGlsZC5kYXRhIDoNCisgICAgICAgICAgICAgICAgICAgICAgICAg
IlVudGl0bGVkIjsNCisgICAgICAgIHZhciBzdWZmaXggPSBuYW1lX2NvdW50ZXIgPiAwID8gIiAi
ICsgbmFtZV9jb3VudGVyIDogIiI7DQorICAgICAgICBuYW1lX2NvdW50ZXIrKzsNCisgICAgICAg
IHJldHVybiBwcmVmaXggKyBzdWZmaXg7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gdGVzdChm
dW5jLCBuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB2YXIgdGVzdF9uYW1lID0g
bmFtZSA/IG5hbWUgOiBuZXh0X2RlZmF1bHRfbmFtZSgpOw0KKyAgICAgICAgcHJvcGVydGllcyA9
IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVzIDoge307DQorICAgICAgICB2YXIgdGVzdF9vYmogPSBu
ZXcgVGVzdCh0ZXN0X25hbWUsIHByb3BlcnRpZXMpOw0KKyAgICAgICAgdGVzdF9vYmouc3RlcChm
dW5jKTsNCisgICAgICAgIGlmICh0ZXN0X29iai5zdGF0dXMgPT09IHRlc3Rfb2JqLk5PVFJVTikg
ew0KKyAgICAgICAgICAgIHRlc3Rfb2JqLmRvbmUoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0K
KyAgICBmdW5jdGlvbiBhc3luY190ZXN0KG5hbWUsIHByb3BlcnRpZXMpDQorICAgIHsNCisgICAg
ICAgIHZhciB0ZXN0X25hbWUgPSBuYW1lID8gbmFtZSA6IG5leHRfZGVmYXVsdF9uYW1lKCk7DQor
ICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsNCisgICAg
ICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVydGllcyk7DQorICAg
ICAgICByZXR1cm4gdGVzdF9vYmo7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc2V0dXAoZnVu
Y19vcl9wcm9wZXJ0aWVzLCBtYXliZV9wcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB2YXIg
ZnVuYyA9IG51bGw7DQorICAgICAgICB2YXIgcHJvcGVydGllcyA9IHt9Ow0KKyAgICAgICAgaWYg
KGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHsNCisgICAgICAgICAgICBmdW5jID0gZnVuY19vcl9w
cm9wZXJ0aWVzOw0KKyAgICAgICAgICAgIHByb3BlcnRpZXMgPSBtYXliZV9wcm9wZXJ0aWVzOw0K
KyAgICAgICAgfSBlbHNlIGlmIChmdW5jX29yX3Byb3BlcnRpZXMgaW5zdGFuY2VvZiBGdW5jdGlv
bil7DQorICAgICAgICAgICAgZnVuYyA9IGZ1bmNfb3JfcHJvcGVydGllczsNCisgICAgICAgIH0g
ZWxzZSB7DQorICAgICAgICAgICAgcHJvcGVydGllcyA9IGZ1bmNfb3JfcHJvcGVydGllczsNCisg
ICAgICAgIH0NCisgICAgICAgIHRlc3RzLnNldHVwKGZ1bmMsIHByb3BlcnRpZXMpOw0KKyAgICAg
ICAgb3V0cHV0LnNldHVwKHByb3BlcnRpZXMpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGRv
bmUoKSB7DQorICAgICAgICB0ZXN0cy5lbmRfd2FpdCgpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0
aW9uIGdlbmVyYXRlX3Rlc3RzKGZ1bmMsIGFyZ3MpIHsNCisgICAgICAgIGZvckVhY2goYXJncywg
ZnVuY3Rpb24oeCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgdmFy
IG5hbWUgPSB4WzBdOw0KKyAgICAgICAgICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmMuYXBwbHkodGhpcywgeC5zbGljZSgxKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgIH0s
IG5hbWUpOw0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBv
bl9ldmVudChvYmplY3QsIGV2ZW50LCBjYWxsYmFjaykNCisgICAgew0KKyAgICAgIG9iamVjdC5h
ZGRFdmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaywgZmFsc2UpOw0KKyAgICB9DQorDQorICAg
IGV4cG9zZSh0ZXN0LCAndGVzdCcpOw0KKyAgICBleHBvc2UoYXN5bmNfdGVzdCwgJ2FzeW5jX3Rl
c3QnKTsNCisgICAgZXhwb3NlKGdlbmVyYXRlX3Rlc3RzLCAnZ2VuZXJhdGVfdGVzdHMnKTsNCisg
ICAgZXhwb3NlKHNldHVwLCAnc2V0dXAnKTsNCisgICAgZXhwb3NlKGRvbmUsICdkb25lJyk7DQor
ICAgIGV4cG9zZShvbl9ldmVudCwgJ29uX2V2ZW50Jyk7DQorDQorICAgIC8qDQorICAgICAqIFJl
dHVybiBhIHN0cmluZyB0cnVuY2F0ZWQgdG8gdGhlIGdpdmVuIGxlbmd0aCwgd2l0aCAuLi4gYWRk
ZWQgYXQgdGhlIGVuZA0KKyAgICAgKiBpZiBpdCB3YXMgbG9uZ2VyLg0KKyAgICAgKi8NCisgICAg
ZnVuY3Rpb24gdHJ1bmNhdGUocywgbGVuKQ0KKyAgICB7DQorICAgICAgICBpZiAocy5sZW5ndGgg
PiBsZW4pIHsNCisgICAgICAgICAgICByZXR1cm4gcy5zdWJzdHJpbmcoMCwgbGVuIC0gMykgKyAi
Li4uIjsNCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBzOw0KKyAgICB9DQorDQorICAgIGZ1
bmN0aW9uIGZvcm1hdF9zdHJpbmcoc3RyKSB7DQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDMyOyBpKyspIHsNCisgICAgICAgICAgICB2YXIgcmVwbGFjZSA9ICJcXCI7DQorICAgICAgICAg
ICAgc3dpdGNoIChpKSB7DQorICAgICAgICAgICAgY2FzZSAwOiByZXBsYWNlICs9ICIwIjsgYnJl
YWs7DQorICAgICAgICAgICAgY2FzZSAxOiByZXBsYWNlICs9ICJ4MDEiOyBicmVhazsNCisgICAg
ICAgICAgICBjYXNlIDI6IHJlcGxhY2UgKz0gIngwMiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNh
c2UgMzogcmVwbGFjZSArPSAieDAzIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSA0OiByZXBs
YWNlICs9ICJ4MDQiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDU6IHJlcGxhY2UgKz0gIngw
NSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgNjogcmVwbGFjZSArPSAieDA2IjsgYnJlYWs7
DQorICAgICAgICAgICAgY2FzZSA3OiByZXBsYWNlICs9ICJ4MDciOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDg6IHJlcGxhY2UgKz0gImIiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDk6
IHJlcGxhY2UgKz0gInQiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDEwOiByZXBsYWNlICs9
ICJuIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxMTogcmVwbGFjZSArPSAidiI7IGJyZWFr
Ow0KKyAgICAgICAgICAgIGNhc2UgMTI6IHJlcGxhY2UgKz0gImYiOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDEzOiByZXBsYWNlICs9ICJyIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAx
NDogcmVwbGFjZSArPSAieDBlIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNTogcmVwbGFj
ZSArPSAieDBmIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNjogcmVwbGFjZSArPSAieDEw
IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNzogcmVwbGFjZSArPSAieDExIjsgYnJlYWs7
DQorICAgICAgICAgICAgY2FzZSAxODogcmVwbGFjZSArPSAieDEyIjsgYnJlYWs7DQorICAgICAg
ICAgICAgY2FzZSAxOTogcmVwbGFjZSArPSAieDEzIjsgYnJlYWs7DQorICAgICAgICAgICAgY2Fz
ZSAyMDogcmVwbGFjZSArPSAieDE0IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMTogcmVw
bGFjZSArPSAieDE1IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMjogcmVwbGFjZSArPSAi
eDE2IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMzogcmVwbGFjZSArPSAieDE3IjsgYnJl
YWs7DQorICAgICAgICAgICAgY2FzZSAyNDogcmVwbGFjZSArPSAieDE4IjsgYnJlYWs7DQorICAg
ICAgICAgICAgY2FzZSAyNTogcmVwbGFjZSArPSAieDE5IjsgYnJlYWs7DQorICAgICAgICAgICAg
Y2FzZSAyNjogcmVwbGFjZSArPSAieDFhIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyNzog
cmVwbGFjZSArPSAieDFiIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyODogcmVwbGFjZSAr
PSAieDFjIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyOTogcmVwbGFjZSArPSAieDFkIjsg
YnJlYWs7DQorICAgICAgICAgICAgY2FzZSAzMDogcmVwbGFjZSArPSAieDFlIjsgYnJlYWs7DQor
ICAgICAgICAgICAgY2FzZSAzMTogcmVwbGFjZSArPSAieDFmIjsgYnJlYWs7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKFJlZ0V4cChTdHJpbmcuZnJvbUNo
YXJDb2RlKGkpLCAiZyIpLCByZXBsYWNlKTsNCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBz
dHIucmVwbGFjZSgvIi9nLCAnXFwiJykNCisgICAgfQ0KKw0KKyAgICAvKg0KKyAgICAgKiBDb252
ZXJ0IGEgdmFsdWUgdG8gYSBuaWNlLCBodW1hbi1yZWFkYWJsZSBzdHJpbmcNCisgICAgICovDQor
ICAgIGZ1bmN0aW9uIGZvcm1hdF92YWx1ZSh2YWwpDQorICAgIHsNCisgICAgICAgIGlmIChBcnJh
eS5pc0FycmF5KHZhbCkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuICJbIiArIHZh
bC5tYXAoZm9ybWF0X3ZhbHVlKS5qb2luKCIsICIpICsgIl0iOw0KKyAgICAgICAgfQ0KKw0KKyAg
ICAgICAgc3dpdGNoICh0eXBlb2YgdmFsKQ0KKyAgICAgICAgew0KKyAgICAgICAgY2FzZSAic3Ry
aW5nIjoNCisgICAgICAgICAgICByZXR1cm4gJyInICsgZm9ybWF0X3N0cmluZyh2YWwpICsgJyIn
Ow0KKyAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQorICAgICAgICBjYXNlICJ1bmRlZmluZWQiOg0K
KyAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsKTsNCisgICAgICAgIGNhc2UgIm51bWJlciI6
DQorICAgICAgICAgICAgLy8gSW4gSmF2YVNjcmlwdCwgLTAgPT09IDAgYW5kIFN0cmluZygtMCkg
PT0gIjAiLCBzbyB3ZSBoYXZlIHRvDQorICAgICAgICAgICAgLy8gc3BlY2lhbC1jYXNlLg0KKyAg
ICAgICAgICAgIGlmICh2YWwgPT09IC0wICYmIDEvdmFsID09PSAtSW5maW5pdHkpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gIi0wIjsNCisgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWwpOw0KKyAgICAgICAgY2FzZSAib2JqZWN0IjoN
CisgICAgICAgICAgICBpZiAodmFsID09PSBudWxsKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgcmV0dXJuICJudWxsIjsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
Ly8gU3BlY2lhbC1jYXNlIE5vZGUgb2JqZWN0cywgc2luY2UgdGhvc2UgY29tZSB1cCBhIGxvdCBp
biBteSB0ZXN0cy4gIEkNCisgICAgICAgICAgICAvLyBpZ25vcmUgbmFtZXNwYWNlcy4gIEkgdXNl
IGR1Y2stdHlwaW5nIGluc3RlYWQgb2YgaW5zdGFuY2VvZiwgYmVjYXVzZQ0KKyAgICAgICAgICAg
IC8vIGluc3RhbmNlb2YgZG9lc24ndCB3b3JrIGlmIHRoZSBub2RlIGlzIGZyb20gYW5vdGhlciB3
aW5kb3cgKGxpa2UgYW4NCisgICAgICAgICAgICAvLyBpZnJhbWUncyBjb250ZW50V2luZG93KToN
CisgICAgICAgICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5j
Z2k/aWQ9MTIyOTUNCisgICAgICAgICAgICBpZiAoIm5vZGVUeXBlIiBpbiB2YWwNCisgICAgICAg
ICAgICAmJiAibm9kZU5hbWUiIGluIHZhbA0KKyAgICAgICAgICAgICYmICJub2RlVmFsdWUiIGlu
IHZhbA0KKyAgICAgICAgICAgICYmICJjaGlsZE5vZGVzIiBpbiB2YWwpDQorICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbC5ub2RlVHlwZSkNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOg0KKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHJldCA9ICI8IiArIHZhbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7DQor
ICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbC5hdHRyaWJ1dGVzLmxl
bmd0aDsgaSsrKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldCArPSAiICIgKyB2YWwuYXR0cmlidXRlc1tpXS5uYW1lICsgJz0iJyArIHZhbC5hdHRy
aWJ1dGVzW2ldLnZhbHVlICsgJyInOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICAgICAgcmV0ICs9ICI+IiArIHZhbC5pbm5lckhUTUwgKyAiPC8iICsgdmFsLnRhZ05h
bWUudG9Mb3dlckNhc2UoKSArICI+IjsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiRWxl
bWVudCBub2RlICIgKyB0cnVuY2F0ZShyZXQsIDYwKTsNCisgICAgICAgICAgICAgICAgY2FzZSBO
b2RlLlRFWFRfTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnVGV4dCBub2RlICIn
ICsgdHJ1bmNhdGUodmFsLmRhdGEsIDYwKSArICciJzsNCisgICAgICAgICAgICAgICAgY2FzZSBO
b2RlLlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiAiUHJvY2Vzc2luZ0luc3RydWN0aW9uIG5vZGUgd2l0aCB0YXJnZXQgIiArIGZvcm1hdF92
YWx1ZSh0cnVuY2F0ZSh2YWwudGFyZ2V0LCA2MCkpICsgIiBhbmQgZGF0YSAiICsgZm9ybWF0X3Zh
bHVlKHRydW5jYXRlKHZhbC5kYXRhLCA2MCkpOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUu
Q09NTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJDb21tZW50IG5vZGUg
PCEtLSIgKyB0cnVuY2F0ZSh2YWwuZGF0YSwgNjApICsgIi0tPiI7DQorICAgICAgICAgICAgICAg
IGNhc2UgTm9kZS5ET0NVTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJE
b2N1bWVudCBub2RlIHdpdGggIiArIHZhbC5jaGlsZE5vZGVzLmxlbmd0aCArICh2YWwuY2hpbGRO
b2Rlcy5sZW5ndGggPT0gMSA/ICIgY2hpbGQiIDogIiBjaGlsZHJlbiIpOw0KKyAgICAgICAgICAg
ICAgICBjYXNlIE5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuICJEb2N1bWVudFR5cGUgbm9kZSI7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5E
T0NVTUVOVF9GUkFHTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJEb2N1
bWVudEZyYWdtZW50IG5vZGUgd2l0aCAiICsgdmFsLmNoaWxkTm9kZXMubGVuZ3RoICsgKHZhbC5j
aGlsZE5vZGVzLmxlbmd0aCA9PSAxID8gIiBjaGlsZCIgOiAiIGNoaWxkcmVuIik7DQorICAgICAg
ICAgICAgICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIk5vZGUgb2Jq
ZWN0IG9mIHVua25vd24gdHlwZSI7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9
DQorDQorICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIGRlZmF1bHQNCisgICAgICAgIGRl
ZmF1bHQ6DQorICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgKyAnICInICsgdHJ1bmNhdGUo
U3RyaW5nKHZhbCksIDYwKSArICciJzsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBleHBvc2Uo
Zm9ybWF0X3ZhbHVlLCAiZm9ybWF0X3ZhbHVlIik7DQorDQorICAgIC8qDQorICAgICAqIEFzc2Vy
dGlvbnMNCisgICAgICovDQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF90cnVlKGFjdHVhbCwgZGVz
Y3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydChhY3R1YWwgPT09IHRydWUsICJhc3Nl
cnRfdHJ1ZSIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4cGVjdGVkIHRydWUgZ290ICR7YWN0dWFsfSIsIHthY3R1YWw6YWN0dWFsfSk7DQorICAgIH07
DQorICAgIGV4cG9zZShhc3NlcnRfdHJ1ZSwgImFzc2VydF90cnVlIik7DQorDQorICAgIGZ1bmN0
aW9uIGFzc2VydF9mYWxzZShhY3R1YWwsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICBh
c3NlcnQoYWN0dWFsID09PSBmYWxzZSwgImFzc2VydF9mYWxzZSIsIGRlc2NyaXB0aW9uLA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBmYWxzZSBnb3QgJHthY3R1
YWx9Iiwge2FjdHVhbDphY3R1YWx9KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2VydF9mYWxz
ZSwgImFzc2VydF9mYWxzZSIpOw0KKw0KKyAgICBmdW5jdGlvbiBzYW1lX3ZhbHVlKHgsIHkpIHsN
CisgICAgICAgIGlmICh5ICE9PSB5KQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIC8vTmFOIGNh
c2UNCisgICAgICAgICAgICByZXR1cm4geCAhPT0geDsNCisgICAgICAgIH0NCisgICAgICAgIGVs
c2UgaWYgKHggPT09IDAgJiYgeSA9PT0gMCkgew0KKyAgICAgICAgICAgIC8vRGlzdGluZ3Vpc2gg
KzAgYW5kIC0wDQorICAgICAgICAgICAgcmV0dXJuIDEveCA9PT0gMS95Ow0KKyAgICAgICAgfQ0K
KyAgICAgICAgZWxzZQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIC8vdHlwaWNhbCBjYXNlDQor
ICAgICAgICAgICAgcmV0dXJuIHggPT09IHk7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAg
ZnVuY3Rpb24gYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisg
ICAgew0KKyAgICAgICAgIC8qDQorICAgICAgICAgICogVGVzdCBpZiB0d28gcHJpbWl0aXZlcyBh
cmUgZXF1YWwgb3IgdHdvIG9iamVjdHMNCisgICAgICAgICAgKiBhcmUgdGhlIHNhbWUgb2JqZWN0
DQorICAgICAgICAgICovDQorICAgICAgICBhc3NlcnQoc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVj
dGVkKSwgImFzc2VydF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdvdCAk
e2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHtleHBlY3RlZDpleHBlY3RlZCwgYWN0dWFsOmFjdHVhbH0pOw0KKyAgICB9Ow0KKyAgICBleHBv
c2UoYXNzZXJ0X2VxdWFscywgImFzc2VydF9lcXVhbHMiKTsNCisNCisgICAgZnVuY3Rpb24gYXNz
ZXJ0X25vdF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisg
ICAgICAgICAvKg0KKyAgICAgICAgICAqIFRlc3QgaWYgdHdvIHByaW1pdGl2ZXMgYXJlIHVuZXF1
YWwgb3IgdHdvIG9iamVjdHMNCisgICAgICAgICAgKiBhcmUgZGlmZmVyZW50IG9iamVjdHMNCisg
ICAgICAgICAgKi8NCisgICAgICAgIGFzc2VydCghc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVjdGVk
KSwgImFzc2VydF9ub3RfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnb3QgZGlzYWxsb3dlZCB2YWx1ZSAke2FjdHVh
bH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YWN0
dWFsOmFjdHVhbH0pOw0KKyAgICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X25vdF9lcXVhbHMsICJh
c3NlcnRfbm90X2VxdWFscyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfaW5fYXJyYXkoYWN0
dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydChleHBl
Y3RlZC5pbmRleE9mKGFjdHVhbCkgIT0gLTEsICJhc3NlcnRfaW5fYXJyYXkiLCBkZXNjcmlwdGlv
biwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSAke2FjdHVhbH0gbm90IGluIGFycmF5ICR7ZXhwZWN0ZWR9IiwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthY3R1YWw6YWN0dWFsLCBleHBlY3RlZDpl
eHBlY3RlZH0pOw0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfaW5fYXJyYXksICJhc3NlcnRf
aW5fYXJyYXkiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0dWFs
LCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgICAvL1RoaXMgbmVlZHMg
dG8gYmUgaW1wcm92ZWQgYSBncmVhdCBkZWFsDQorICAgICAgICAgZnVuY3Rpb24gY2hlY2tfZXF1
YWwoZXhwZWN0ZWQsIGFjdHVhbCwgc3RhY2spDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBz
dGFjay5wdXNoKGFjdHVhbCk7DQorDQorICAgICAgICAgICAgIHZhciBwOw0KKyAgICAgICAgICAg
ICBmb3IgKHAgaW4gYWN0dWFsKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBh
c3NlcnQoZXhwZWN0ZWQuaGFzT3duUHJvcGVydHkocCksICJhc3NlcnRfb2JqZWN0X2VxdWFscyIs
IGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5leHBlY3RlZCBwcm9wZXJ0eSAke3B9Iiwge3A6cH0pOw0KKw0KKyAgICAg
ICAgICAgICAgICAgaWYgKHR5cGVvZiBhY3R1YWxbcF0gPT09ICJvYmplY3QiICYmIGFjdHVhbFtw
XSAhPT0gbnVsbCkNCisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhY2suaW5kZXhPZihhY3R1YWxbcF0pID09PSAtMSkNCisgICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2VxdWFsKGFjdHVhbFtwXSwgZXhw
ZWN0ZWRbcF0sIHN0YWNrKTsNCisgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0KGFjdHVhbFtwXSA9PT0gZXhwZWN0ZWRbcF0sICJhc3Nl
cnRfb2JqZWN0X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtwfSBleHBlY3RlZCAk
e2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAge3A6cCwgZXhwZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVh
bDphY3R1YWx9KTsNCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICBmb3IgKHAgaW4gZXhwZWN0ZWQpDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgIGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkocCksDQorICAgICAgICAgICAgICAg
ICAgICAgICAgImFzc2VydF9vYmplY3RfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAg
ICAgICAgICAgICAgICAgImV4cGVjdGVkIHByb3BlcnR5ICR7cH0gbWlzc2luZyIsIHtwOnB9KTsN
CisgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICBzdGFjay5wb3AoKTsNCisgICAgICAgICB9
DQorICAgICAgICAgY2hlY2tfZXF1YWwoYWN0dWFsLCBleHBlY3RlZCwgW10pOw0KKyAgICB9Ow0K
KyAgICBleHBvc2UoYXNzZXJ0X29iamVjdF9lcXVhbHMsICJhc3NlcnRfb2JqZWN0X2VxdWFscyIp
Ow0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQs
IGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICBhc3NlcnQoYWN0dWFsLmxlbmd0aCA9PT0g
ZXhwZWN0ZWQubGVuZ3RoLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfYXJyYXlfZXF1YWxzIiwg
ZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgImxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAk
e2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7ZXhwZWN0ZWQ6ZXhw
ZWN0ZWQubGVuZ3RoLCBhY3R1YWw6YWN0dWFsLmxlbmd0aH0pOw0KKw0KKyAgICAgICAgZm9yICh2
YXIgaT0wOyBpIDwgYWN0dWFsLmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkoaSkgPT09IGV4cGVjdGVkLmhhc093blByb3Bl
cnR5KGkpLA0KKyAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2Ny
aXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtpfSwgcHJvcGVydHkgZXhw
ZWN0ZWQgdG8gYmUgJGV4cGVjdGVkIGJ1dCB3YXMgJGFjdHVhbCIsDQorICAgICAgICAgICAgICAg
ICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQi
IDogIm1pc3NpbmciLA0KKyAgICAgICAgICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blBy
b3BlcnR5KGkpID8gInByZXNlbnQiIDogIm1pc3NpbmcifSk7DQorICAgICAgICAgICAgYXNzZXJ0
KGV4cGVjdGVkW2ldID09PSBhY3R1YWxbaV0sDQorICAgICAgICAgICAgICAgICAgICJhc3NlcnRf
YXJyYXlfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0
eSAke2l9LCBleHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAg
ICAgICAgICAgICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkW2ldLCBhY3R1YWw6YWN0dWFsW2ld
fSk7DQorICAgICAgICB9DQorICAgIH0NCisgICAgZXhwb3NlKGFzc2VydF9hcnJheV9lcXVhbHMs
ICJhc3NlcnRfYXJyYXlfZXF1YWxzIik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hf
ZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGVwc2lsb24sIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQor
ICAgICAgICAvKg0KKyAgICAgICAgICogVGVzdCBpZiB0d28gcHJpbWl0aXZlIG51bWJlcnMgYXJl
IGVxdWFsIHdpdGhpbmcgKy8tIGVwc2lsb24NCisgICAgICAgICAqLw0KKyAgICAgICAgYXNzZXJ0
KHR5cGVvZiBhY3R1YWwgPT09ICJudW1iZXIiLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfYXBw
cm94X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJleHBlY3RlZCBhIG51
bWJlciBidXQgZ290IGEgJHt0eXBlX2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgIHt0eXBlX2Fj
dHVhbDp0eXBlb2YgYWN0dWFsfSk7DQorDQorICAgICAgICBhc3NlcnQoTWF0aC5hYnMoYWN0dWFs
IC0gZXhwZWN0ZWQpIDw9IGVwc2lsb24sDQorICAgICAgICAgICAgICAgImFzc2VydF9hcHByb3hf
ZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgImV4cGVjdGVkICR7ZXhwZWN0
ZWR9ICsvLSAke2Vwc2lsb259IGJ1dCBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7
ZXhwZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVhbDphY3R1YWwsIGVwc2lsb246ZXBzaWxvbn0pOw0KKyAg
ICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X2FwcHJveF9lcXVhbHMsICJhc3NlcnRfYXBwcm94X2Vx
dWFscyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfcmVnZXhwX21hdGNoKGFjdHVhbCwgZXhw
ZWN0ZWQsIGRlc2NyaXB0aW9uKSB7DQorICAgICAgICAvKg0KKyAgICAgICAgICogVGVzdCBpZiBh
IHN0cmluZyAoYWN0dWFsKSBtYXRjaGVzIGEgcmVnZXhwIChleHBlY3RlZCkNCisgICAgICAgICAq
Lw0KKyAgICAgICAgYXNzZXJ0KGV4cGVjdGVkLnRlc3QoYWN0dWFsKSwNCisgICAgICAgICAgICAg
ICAiYXNzZXJ0X3JlZ2V4cF9tYXRjaCIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJl
eHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAgICAgICAgICAg
e2V4cGVjdGVkOmV4cGVjdGVkLCBhY3R1YWw6YWN0dWFsfSk7DQorICAgIH0NCisgICAgZXhwb3Nl
KGFzc2VydF9yZWdleHBfbWF0Y2gsICJhc3NlcnRfcmVnZXhwX21hdGNoIik7DQorDQorDQorICAg
IGZ1bmN0aW9uIF9hc3NlcnRfb3duX3Byb3BlcnR5KG5hbWUpIHsNCisgICAgICAgIHJldHVybiBm
dW5jdGlvbihvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAgICAgICAgew0K
KyAgICAgICAgICAgIGFzc2VydChvYmplY3QuaGFzT3duUHJvcGVydHkocHJvcGVydHlfbmFtZSks
DQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAg
ICAgICAiZXhwZWN0ZWQgcHJvcGVydHkgJHtwfSBtaXNzaW5nIiwge3A6cHJvcGVydHlfbmFtZX0p
Ow0KKyAgICAgICAgfTsNCisgICAgfQ0KKyAgICBleHBvc2UoX2Fzc2VydF9vd25fcHJvcGVydHko
ImFzc2VydF9leGlzdHMiKSwgImFzc2VydF9leGlzdHMiKTsNCisgICAgZXhwb3NlKF9hc3NlcnRf
b3duX3Byb3BlcnR5KCJhc3NlcnRfb3duX3Byb3BlcnR5IiksICJhc3NlcnRfb3duX3Byb3BlcnR5
Iik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9ub3RfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlf
bmFtZSwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydCghb2JqZWN0Lmhhc093
blByb3BlcnR5KHByb3BlcnR5X25hbWUpLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfbm90X2V4
aXN0cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJ1bmV4cGVjdGVkIHByb3BlcnR5
ICR7cH0gZm91bmQiLCB7cDpwcm9wZXJ0eV9uYW1lfSk7DQorICAgIH07DQorICAgIGV4cG9zZShh
c3NlcnRfbm90X2V4aXN0cywgImFzc2VydF9ub3RfZXhpc3RzIik7DQorDQorICAgIGZ1bmN0aW9u
IF9hc3NlcnRfaW5oZXJpdHMobmFtZSkgew0KKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChvYmpl
Y3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IGFzc2VydCh0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IiwNCisgICAgICAgICAgICAgICAgICAg
bmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJwcm92aWRlZCB2YWx1ZSBp
cyBub3QgYW4gb2JqZWN0Iik7DQorDQorICAgICAgICAgICAgYXNzZXJ0KCJoYXNPd25Qcm9wZXJ0
eSIgaW4gb2JqZWN0LA0KKyAgICAgICAgICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbiwNCisg
ICAgICAgICAgICAgICAgICAgInByb3ZpZGVkIHZhbHVlIGlzIGFuIG9iamVjdCBidXQgaGFzIG5v
IGhhc093blByb3BlcnR5IG1ldGhvZCIpOw0KKw0KKyAgICAgICAgICAgIGFzc2VydCghb2JqZWN0
Lmhhc093blByb3BlcnR5KHByb3BlcnR5X25hbWUpLA0KKyAgICAgICAgICAgICAgICAgICBuYW1l
LCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgInByb3BlcnR5ICR7cH0gZm91bmQg
b24gb2JqZWN0IGV4cGVjdGVkIGluIHByb3RvdHlwZSBjaGFpbiIsDQorICAgICAgICAgICAgICAg
ICAgIHtwOnByb3BlcnR5X25hbWV9KTsNCisNCisgICAgICAgICAgICBhc3NlcnQocHJvcGVydHlf
bmFtZSBpbiBvYmplY3QsDQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0K
KyAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtwfSBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluIiwNCisgICAgICAgICAgICAgICAgICAge3A6cHJvcGVydHlfbmFtZX0pOw0KKyAgICAg
ICAgfTsNCisgICAgfQ0KKyAgICBleHBvc2UoX2Fzc2VydF9pbmhlcml0cygiYXNzZXJ0X2luaGVy
aXRzIiksICJhc3NlcnRfaW5oZXJpdHMiKTsNCisgICAgZXhwb3NlKF9hc3NlcnRfaW5oZXJpdHMo
ImFzc2VydF9pZGxfYXR0cmlidXRlIiksICJhc3NlcnRfaWRsX2F0dHJpYnV0ZSIpOw0KKw0KKyAg
ICBmdW5jdGlvbiBhc3NlcnRfcmVhZG9ubHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlw
dGlvbikNCisgICAgew0KKyAgICAgICAgIHZhciBpbml0aWFsX3ZhbHVlID0gb2JqZWN0W3Byb3Bl
cnR5X25hbWVdOw0KKyAgICAgICAgIHRyeSB7DQorICAgICAgICAgICAgIC8vTm90ZSB0aGF0IHRo
aXMgY2FuIGhhdmUgc2lkZSBlZmZlY3RzIGluIHRoZSBjYXNlIHdoZXJlDQorICAgICAgICAgICAg
IC8vdGhlIHByb3BlcnR5IGhhcyBQdXRGb3J3YXJkcw0KKyAgICAgICAgICAgICBvYmplY3RbcHJv
cGVydHlfbmFtZV0gPSBpbml0aWFsX3ZhbHVlICsgImEiOyAvL1hYWCB1c2Ugc29tZSBvdGhlciB2
YWx1ZSBoZXJlPw0KKyAgICAgICAgICAgICBhc3NlcnQob2JqZWN0W3Byb3BlcnR5X25hbWVdID09
PSBpbml0aWFsX3ZhbHVlLA0KKyAgICAgICAgICAgICAgICAgICAgImFzc2VydF9yZWFkb25seSIs
IGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgImNoYW5naW5nIHByb3BlcnR5ICR7
cH0gc3VjY2VlZGVkIiwNCisgICAgICAgICAgICAgICAgICAgIHtwOnByb3BlcnR5X25hbWV9KTsN
CisgICAgICAgICB9DQorICAgICAgICAgZmluYWxseQ0KKyAgICAgICAgIHsNCisgICAgICAgICAg
ICAgb2JqZWN0W3Byb3BlcnR5X25hbWVdID0gaW5pdGlhbF92YWx1ZTsNCisgICAgICAgICB9DQor
ICAgIH07DQorICAgIGV4cG9zZShhc3NlcnRfcmVhZG9ubHksICJhc3NlcnRfcmVhZG9ubHkiKTsN
CisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93cyhjb2RlLCBmdW5jLCBkZXNjcmlwdGlvbikN
CisgICAgew0KKyAgICAgICAgdHJ5DQorICAgICAgICB7DQorICAgICAgICAgICAgZnVuYy5jYWxs
KHRoaXMpOw0KKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwgImFzc2VydF90aHJvd3MiLCBkZXNj
cmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gZGlkIG5vdCB0aHJvdyIsIHtm
dW5jOmZ1bmN9KTsNCisgICAgICAgIH0NCisgICAgICAgIGNhdGNoKGUpDQorICAgICAgICB7DQor
ICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikgew0KKyAgICAgICAg
ICAgICAgICB0aHJvdyhlKTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKHR5cGVv
ZiBjb2RlID09PSAib2JqZWN0IikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgZSA9PSAib2JqZWN0IiAmJiAibmFtZSIgaW4gZSAmJiBlLm5hbWUgPT0gY29k
ZS5uYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgImFzc2VydF90aHJvd3MiLCBkZXNjcmlw
dGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7YWN0dWFsfSAo
JHthY3R1YWxfbmFtZX0pIGV4cGVjdGVkICR7ZXhwZWN0ZWR9ICgke2V4cGVjdGVkX25hbWV9KSIs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgYWN0dWFs
OmUsIGFjdHVhbF9uYW1lOmUubmFtZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWQ6Y29kZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRfbmFtZTpjb2RlLm5hbWV9KTsNCisgICAgICAgICAgICAgICAgcmV0dXJuOw0K
KyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB2YXIgcmVxdWlyZWRfcHJvcHMgPSB7fTsNCisg
ICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5jb2RlID0gew0KKyAgICAgICAgICAgICAgICBJTkRF
WF9TSVpFX0VSUjogMSwNCisgICAgICAgICAgICAgICAgSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiAz
LA0KKyAgICAgICAgICAgICAgICBXUk9OR19ET0NVTUVOVF9FUlI6IDQsDQorICAgICAgICAgICAg
ICAgIElOVkFMSURfQ0hBUkFDVEVSX0VSUjogNSwNCisgICAgICAgICAgICAgICAgTk9fTU9ESUZJ
Q0FUSU9OX0FMTE9XRURfRVJSOiA3LA0KKyAgICAgICAgICAgICAgICBOT1RfRk9VTkRfRVJSOiA4
LA0KKyAgICAgICAgICAgICAgICBOT1RfU1VQUE9SVEVEX0VSUjogOSwNCisgICAgICAgICAgICAg
ICAgSU5WQUxJRF9TVEFURV9FUlI6IDExLA0KKyAgICAgICAgICAgICAgICBTWU5UQVhfRVJSOiAx
MiwNCisgICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOiAxMywNCisgICAg
ICAgICAgICAgICAgTkFNRVNQQUNFX0VSUjogMTQsDQorICAgICAgICAgICAgICAgIElOVkFMSURf
QUNDRVNTX0VSUjogMTUsDQorICAgICAgICAgICAgICAgIFRZUEVfTUlTTUFUQ0hfRVJSOiAxNywN
CisgICAgICAgICAgICAgICAgU0VDVVJJVFlfRVJSOiAxOCwNCisgICAgICAgICAgICAgICAgTkVU
V09SS19FUlI6IDE5LA0KKyAgICAgICAgICAgICAgICBBQk9SVF9FUlI6IDIwLA0KKyAgICAgICAg
ICAgICAgICBVUkxfTUlTTUFUQ0hfRVJSOiAyMSwNCisgICAgICAgICAgICAgICAgUVVPVEFfRVhD
RUVERURfRVJSOiAyMiwNCisgICAgICAgICAgICAgICAgVElNRU9VVF9FUlI6IDIzLA0KKyAgICAg
ICAgICAgICAgICBJTlZBTElEX05PREVfVFlQRV9FUlI6IDI0LA0KKyAgICAgICAgICAgICAgICBE
QVRBX0NMT05FX0VSUjogMjUsDQorICAgICAgICAgICAgfVtjb2RlXTsNCisgICAgICAgICAgICBp
ZiAocmVxdWlyZWRfcHJvcHMuY29kZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKCdUZXN0IGJ1ZzogdW5yZWNv
Z25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICInICsgY29kZSArICciIHBhc3NlZCB0byBhc3NlcnRf
dGhyb3dzKCknKTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgcmVxdWlyZWRfcHJvcHNb
Y29kZV0gPSByZXF1aXJlZF9wcm9wcy5jb2RlOw0KKyAgICAgICAgICAgIC8vVW5jb21tZW50IHRo
aXMgd2hlbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgZXZlcnkgYnJvd3Nlcg0KKyAgICAgICAgICAg
IC8vYWN0dWFsbHkgaW1wbGVtZW50cyB0aGUgc3BlYzsgb3RoZXJ3aXNlIGl0IGp1c3QgY3JlYXRl
cw0KKyAgICAgICAgICAgIC8vemlsbGlvbnMgb2YgZmFpbHVyZXMuICBBbHNvIGRvIHJlcXVpcmVk
X3Byb3BzLnR5cGUuDQorICAgICAgICAgICAgLy9yZXF1aXJlZF9wcm9wcy5uYW1lID0gY29kZTsN
CisgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgIC8vV2UnZCBsaWtlIHRvIHRlc3QgdGhhdCBl
IGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwNCisgICAgICAgICAgICAvL2J1
dCB3ZSBjYW4ndCwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoYXQgd2luZG93IGl0IHdhcyBjcmVh
dGVkDQorICAgICAgICAgICAgLy9pbi4gIEl0IG1pZ2h0IGJlIGFuIGluc3RhbmNlb2YgdGhlIGFw
cHJvcHJpYXRlIGludGVyZmFjZSBvbiBzb21lDQorICAgICAgICAgICAgLy91bmtub3duIG90aGVy
IHdpbmRvdy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8NCisNCisgICAgICAgICAg
ICBhc3NlcnQodHlwZW9mIGUgPT0gIm9iamVjdCIsDQorICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRo
cmV3ICR7ZX0gd2l0aCB0eXBlICR7dHlwZX0sIG5vdCBhbiBvYmplY3QiLA0KKyAgICAgICAgICAg
ICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHR5cGU6dHlwZW9mIGV9KTsNCisNCisgICAgICAgICAg
ICBmb3IgKHZhciBwcm9wIGluIHJlcXVpcmVkX3Byb3BzKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBlID09ICJvYmplY3QiICYmIHByb3AgaW4gZSAmJiBl
W3Byb3BdID09IHJlcXVpcmVkX3Byb3BzW3Byb3BdLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ImFzc2VydF90aHJvd3MiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICIk
e2Z1bmN9IHRocmV3ICR7ZX0gdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gIiArIGNvZGUgKyAi
OiBwcm9wZXJ0eSAke3Byb3B9IGlzIGVxdWFsIHRvICR7YWN0dWFsfSwgZXhwZWN0ZWQgJHtleHBl
Y3RlZH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgZTplLCBwcm9wOnBy
b3AsIGFjdHVhbDplW3Byb3BdLCBleHBlY3RlZDpyZXF1aXJlZF9wcm9wc1twcm9wXX0pOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBleHBvc2UoYXNzZXJ0X3Rocm93
cywgImFzc2VydF90aHJvd3MiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X3VucmVhY2hlZChk
ZXNjcmlwdGlvbikgew0KKyAgICAgICAgIGFzc2VydChmYWxzZSwgImFzc2VydF91bnJlYWNoZWQi
LCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgIlJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZSIpOw0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfdW5yZWFjaGVkLCAiYXNzZXJ0X3VucmVh
Y2hlZCIpOw0KKw0KKyAgICBmdW5jdGlvbiBUZXN0KG5hbWUsIHByb3BlcnRpZXMpDQorICAgIHsN
CisgICAgICAgIHRoaXMubmFtZSA9IG5hbWU7DQorICAgICAgICB0aGlzLnN0YXR1cyA9IHRoaXMu
Tk9UUlVOOw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gbnVsbDsNCisgICAgICAgIHRoaXMu
aXNfZG9uZSA9IGZhbHNlOw0KKw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHByb3Bl
cnRpZXMudGltZW91dCA/IHByb3BlcnRpZXMudGltZW91dCA6IHNldHRpbmdzLnRlc3RfdGltZW91
dDsNCisNCisgICAgICAgIHRoaXMubWVzc2FnZSA9IG51bGw7DQorDQorICAgICAgICB2YXIgdGhp
c19vYmogPSB0aGlzOw0KKyAgICAgICAgdGhpcy5zdGVwcyA9IFtdOw0KKw0KKyAgICAgICAgdGVz
dHMucHVzaCh0aGlzKTsNCisgICAgfQ0KKw0KKyAgICBUZXN0LnByb3RvdHlwZSA9IHsNCisgICAg
ICAgIFBBU1M6MCwNCisgICAgICAgIEZBSUw6MSwNCisgICAgICAgIFRJTUVPVVQ6MiwNCisgICAg
ICAgIE5PVFJVTjozDQorICAgIH07DQorDQorDQorICAgIFRlc3QucHJvdG90eXBlLnN0ZXAgPSBm
dW5jdGlvbihmdW5jLCB0aGlzX29iaikNCisgICAgew0KKyAgICAgICAgLy9JbiBjYXNlIHRoZSB0
ZXN0IGhhcyBhbHJlYWR5IGZhaWxlZA0KKyAgICAgICAgaWYgKHRoaXMuc3RhdHVzICE9PSB0aGlz
Lk5PVFJVTikNCisgICAgICAgIHsNCisgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKw0K
KyAgICAgICAgdGVzdHMuc3RhcnRlZCA9IHRydWU7DQorDQorICAgICAgICBpZiAodGhpcy50aW1l
b3V0X2lkID09PSBudWxsKSB7DQorICAgICAgICAgICAgdGhpcy5zZXRfdGltZW91dCgpOw0KKyAg
ICAgICAgfQ0KKw0KKyAgICAgICAgdGhpcy5zdGVwcy5wdXNoKGZ1bmMpOw0KKw0KKyAgICAgICAg
aWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhp
c19vYmogPSB0aGlzOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdHJ5DQorICAgICAgICB7DQor
ICAgICAgICAgICAgZnVuYy5hcHBseSh0aGlzX29iaiwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwoYXJndW1lbnRzLCAyKSk7DQorICAgICAgICB9DQorICAgICAgICBjYXRjaChlKQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIC8vVGhpcyBjYW4gaGFwcGVuIGlmIHNvbWV0aGluZyBjYWxsZWQg
c3luY2hyb25vdXNseSBpbnZva2VkIGFub3RoZXINCisgICAgICAgICAgICAvL3N0ZXANCisgICAg
ICAgICAgICBpZiAodGhpcy5zdGF0dXMgIT09IHRoaXMuTk9UUlVOKQ0KKyAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB0
aGlzLnN0YXR1cyA9IHRoaXMuRkFJTDsNCisgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBlLm1l
c3NhZ2U7DQorICAgICAgICAgICAgaWYgKHR5cGVvZiBlLnN0YWNrICE9ICJ1bmRlZmluZWQiICYm
IHR5cGVvZiBlLm1lc3NhZ2UgPT0gInN0cmluZyIpIHsNCisgICAgICAgICAgICAgICAgLy9Ucnkg
dG8gbWFrZSBpdCBtb3JlIGluZm9ybWF0aXZlIGZvciBzb21lIGV4Y2VwdGlvbnMsIGF0IGxlYXN0
DQorICAgICAgICAgICAgICAgIC8vaW4gR2Vja28gYW5kIFdlYktpdC4gIFRoaXMgcmVzdWx0cyBp
biBhIHN0YWNrIGR1bXAgaW5zdGVhZCBvZg0KKyAgICAgICAgICAgICAgICAvL2p1c3QgZXJyb3Jz
IGxpa2UgIkNhbm5vdCByZWFkIHByb3BlcnR5ICdwYXJlbnROb2RlJyBvZiBudWxsIg0KKyAgICAg
ICAgICAgICAgICAvL29yICJyb290IGlzIG51bGwiLiAgTWFrZXMgaXQgYSBsb3QgbG9uZ2VyLCBv
ZiBjb3Vyc2UuDQorICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSArPSAiKHN0YWNrOiAiICsg
ZS5zdGFjayArICIpIjsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgdGhpcy5kb25lKCk7
DQorICAgICAgICAgICAgaWYgKGRlYnVnICYmIGUuY29uc3RydWN0b3IgIT09IEFzc2VydGlvbkVy
cm9yKSB7DQorICAgICAgICAgICAgICAgIHRocm93IGU7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS5zdGVwX2Z1bmMgPSBmdW5jdGlv
bihmdW5jLCB0aGlzX29iaikNCisgICAgew0KKyAgICAgICAgdmFyIHRlc3RfdGhpcyA9IHRoaXM7
DQorDQorICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkNCisgICAgICAgIHsNCisg
ICAgICAgICAgICB0aGlzX29iaiA9IHRlc3RfdGhpczsNCisgICAgICAgIH0NCisNCisgICAgICAg
IHJldHVybiBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGVzdF90aGlzLnN0
ZXAuYXBwbHkodGVzdF90aGlzLCBbZnVuYywgdGhpc19vYmpdLmNvbmNhdCgNCisgICAgICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSkpOw0KKyAgICAgICAg
fTsNCisgICAgfTsNCisNCisgICAgVGVzdC5wcm90b3R5cGUuc2V0X3RpbWVvdXQgPSBmdW5jdGlv
bigpDQorICAgIHsNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICB0aGlz
LnRpbWVvdXRfaWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpc19vYmoudGltZW91dCgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9LCB0aGlzLnRpbWVvdXRfbGVuZ3RoKTsNCisgICAgfTsNCisNCisgICAgVGVzdC5w
cm90b3R5cGUudGltZW91dCA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgdGhpcy5zdGF0
dXMgPSB0aGlzLlRJTUVPVVQ7DQorICAgICAgICB0aGlzLnRpbWVvdXRfaWQgPSBudWxsOw0KKyAg
ICAgICAgdGhpcy5tZXNzYWdlID0gIlRlc3QgdGltZWQgb3V0IjsNCisgICAgICAgIHRoaXMuZG9u
ZSgpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS5kb25lID0gZnVuY3Rpb24oKQ0K
KyAgICB7DQorICAgICAgICBpZiAodGhpcy5pc19kb25lKSB7DQorICAgICAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7DQor
ICAgICAgICBpZiAodGhpcy5zdGF0dXMgPT09IHRoaXMuTk9UUlVOKQ0KKyAgICAgICAgew0KKyAg
ICAgICAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5QQVNTOw0KKyAgICAgICAgfQ0KKyAgICAgICAg
dGhpcy5pc19kb25lID0gdHJ1ZTsNCisgICAgICAgIHRlc3RzLnJlc3VsdCh0aGlzKTsNCisgICAg
fTsNCisNCisNCisgICAgLyoNCisgICAgICogSGFybmVzcw0KKyAgICAgKi8NCisNCisgICAgZnVu
Y3Rpb24gVGVzdHNTdGF0dXMoKQ0KKyAgICB7DQorICAgICAgICB0aGlzLnN0YXR1cyA9IG51bGw7
DQorICAgICAgICB0aGlzLm1lc3NhZ2UgPSBudWxsOw0KKyAgICB9DQorICAgIFRlc3RzU3RhdHVz
LnByb3RvdHlwZSA9IHsNCisgICAgICAgIE9LOjAsDQorICAgICAgICBFUlJPUjoxLA0KKyAgICAg
ICAgVElNRU9VVDoyDQorICAgIH07DQorDQorICAgIGZ1bmN0aW9uIFRlc3RzKCkNCisgICAgew0K
KyAgICAgICAgdGhpcy50ZXN0cyA9IFtdOw0KKyAgICAgICAgdGhpcy5udW1fcGVuZGluZyA9IDA7
DQorDQorICAgICAgICB0aGlzLnBoYXNlcyA9IHsNCisgICAgICAgICAgICBJTklUSUFMOjAsDQor
ICAgICAgICAgICAgU0VUVVA6MSwNCisgICAgICAgICAgICBIQVZFX1RFU1RTOjIsDQorICAgICAg
ICAgICAgSEFWRV9SRVNVTFRTOjMsDQorICAgICAgICAgICAgQ09NUExFVEU6NA0KKyAgICAgICAg
fTsNCisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5JTklUSUFMOw0KKw0KKyAgICAg
ICAgLy9BbGwgdGVzdHMgY2FuJ3QgYmUgZG9uZSB1bnRpbCB0aGUgbG9hZCBldmVudCBmaXJlcw0K
KyAgICAgICAgdGhpcy5hbGxfbG9hZGVkID0gZmFsc2U7DQorICAgICAgICB0aGlzLndhaXRfZm9y
X2ZpbmlzaCA9IGZhbHNlOw0KKyAgICAgICAgdGhpcy5wcm9jZXNzaW5nX2NhbGxiYWNrcyA9IGZh
bHNlOw0KKw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHNldHRpbmdzLnRpbWVvdXQ7
DQorICAgICAgICB0aGlzLnRpbWVvdXRfaWQgPSBudWxsOw0KKyAgICAgICAgdGhpcy5zZXRfdGlt
ZW91dCgpOw0KKw0KKyAgICAgICAgdGhpcy5zdGFydF9jYWxsYmFja3MgPSBbXTsNCisgICAgICAg
IHRoaXMudGVzdF9kb25lX2NhbGxiYWNrcyA9IFtdOw0KKyAgICAgICAgdGhpcy5hbGxfZG9uZV9j
YWxsYmFja3MgPSBbXTsNCisNCisgICAgICAgIHRoaXMuc3RhdHVzID0gbmV3IFRlc3RzU3RhdHVz
KCk7DQorDQorICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKw0KKyAgICAgICAgb25fZXZl
bnQod2luZG93LCAibG9hZCIsDQorICAgICAgICAgICAgICAgICBmdW5jdGlvbigpDQorICAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgdGhpc19vYmouYWxsX2xvYWRlZCA9
IHRydWU7DQorICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNfb2JqLmFsbF9kb25lKCkpDQor
ICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX29i
ai5jb21wbGV0ZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAg
IH0pOw0KKyAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0ge307DQorICAgIH0NCisNCisgICAgVGVz
dHMucHJvdG90eXBlLnNldHVwID0gZnVuY3Rpb24oZnVuYywgcHJvcGVydGllcykNCisgICAgew0K
KyAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5waGFzZXMuSEFWRV9SRVNVTFRTKQ0KKyAg
ICAgICAgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmICh0
aGlzLnBoYXNlIDwgdGhpcy5waGFzZXMuU0VUVVApDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLlNFVFVQOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAg
Zm9yICh2YXIgcCBpbiBwcm9wZXJ0aWVzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChw
cm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHApKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgdGhpcy5wcm9wZXJ0aWVzW3BdID0gcHJvcGVydGllc1twXTsNCisgICAgICAgICAgICB9
DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocHJvcGVydGllcy50aW1lb3V0KQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIHRoaXMudGltZW91dF9sZW5ndGggPSBwcm9wZXJ0aWVzLnRpbWVv
dXQ7DQorICAgICAgICAgICAgdGhpcy5zZXRfdGltZW91dCgpOw0KKyAgICAgICAgfQ0KKyAgICAg
ICAgaWYgKHByb3BlcnRpZXMuZXhwbGljaXRfZG9uZSkNCisgICAgICAgIHsNCisgICAgICAgICAg
ICB0aGlzLndhaXRfZm9yX2ZpbmlzaCA9IHRydWU7DQorICAgICAgICB9DQorDQorICAgICAgICBp
ZiAoZnVuYykNCisgICAgICAgIHsNCisgICAgICAgICAgICB0cnkNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIGZ1bmMoKTsNCisgICAgICAgICAgICB9IGNhdGNoKGUpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5zdGF0dXMgPSB0aGlzLnN0YXR1
cy5FUlJPUjsNCisgICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMubWVzc2FnZSA9IGU7DQorICAg
ICAgICAgICAgfTsNCisgICAgICAgIH0NCisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBl
LnNldF90aW1lb3V0ID0gZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAgICB2YXIgdGhpc19vYmog
PSB0aGlzOw0KKyAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7DQorICAgICAg
ICB0aGlzLnRpbWVvdXRfaWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc19vYmoudGltZW91dCgpOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLnRpbWVvdXRfbGVuZ3RoKTsN
CisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLnRpbWVvdXQgPSBmdW5jdGlvbigpIHsN
CisgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRoaXMuc3RhdHVzLlRJTUVPVVQ7DQorICAg
ICAgICB0aGlzLmNvbXBsZXRlKCk7DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5l
bmRfd2FpdCA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgdGhpcy53YWl0X2Zvcl9maW5p
c2ggPSBmYWxzZTsNCisgICAgICAgIGlmICh0aGlzLmFsbF9kb25lKCkpIHsNCisgICAgICAgICAg
ICB0aGlzLmNvbXBsZXRlKCk7DQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIFRlc3RzLnBy
b3RvdHlwZS5wdXNoID0gZnVuY3Rpb24odGVzdCkNCisgICAgew0KKyAgICAgICAgaWYgKHRoaXMu
cGhhc2UgPCB0aGlzLnBoYXNlcy5IQVZFX1RFU1RTKSB7DQorICAgICAgICAgICAgdGhpcy5ub3Rp
Znlfc3RhcnQoKTsNCisgICAgICAgIH0NCisgICAgICAgIHRoaXMubnVtX3BlbmRpbmcrKzsNCisg
ICAgICAgIHRoaXMudGVzdHMucHVzaCh0ZXN0KTsNCisgICAgfTsNCisNCisgICAgVGVzdHMucHJv
dG90eXBlLmFsbF9kb25lID0gZnVuY3Rpb24oKSB7DQorICAgICAgICByZXR1cm4gKHRoaXMuYWxs
X2xvYWRlZCAmJiB0aGlzLm51bV9wZW5kaW5nID09PSAwICYmDQorICAgICAgICAgICAgICAgICF0
aGlzLndhaXRfZm9yX2ZpbmlzaCAmJiAhdGhpcy5wcm9jZXNzaW5nX2NhbGxiYWNrcyk7DQorICAg
IH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkgew0KKyAgICAg
ICAgdGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLkhBVkVfVEVTVFM7DQorICAgICAgICB0aGlzLm5v
dGlmeV9zdGFydCgpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90aWZ5X3N0
YXJ0ID0gZnVuY3Rpb24oKSB7DQorICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKyAgICAg
ICAgZm9yRWFjaCAodGhpcy5zdGFydF9jYWxsYmFja3MsDQorICAgICAgICAgICAgICAgICBmdW5j
dGlvbihjYWxsYmFjaykNCisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
ICBjYWxsYmFjayh0aGlzX29iai5wcm9wZXJ0aWVzKTsNCisgICAgICAgICAgICAgICAgIH0pOw0K
KyAgICAgICAgZm9yRWFjaChhbmNlc3Rvcl93aW5kb3dzKCksDQorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHcpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmKHcu
c3RhcnRfY2FsbGJhY2spDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgdHJ5DQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB3LnN0YXJ0X2NhbGxiYWNrKHRoaXNfb2JqLnByb3BlcnRpZXMpOw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaChl
KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGRlYnVnKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyhlKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAg
IH0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlw
ZS5yZXN1bHQgPSBmdW5jdGlvbih0ZXN0KQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5waGFz
ZSA+IHRoaXMucGhhc2VzLkhBVkVfUkVTVUxUUykNCisgICAgICAgIHsNCisgICAgICAgICAgICBy
ZXR1cm47DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5waGFzZXMuSEFW
RV9SRVNVTFRTOw0KKyAgICAgICAgdGhpcy5udW1fcGVuZGluZy0tOw0KKyAgICAgICAgdGhpcy5u
b3RpZnlfcmVzdWx0KHRlc3QpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90
aWZ5X3Jlc3VsdCA9IGZ1bmN0aW9uKHRlc3QpIHsNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRo
aXM7DQorICAgICAgICB0aGlzLnByb2Nlc3NpbmdfY2FsbGJhY2tzID0gdHJ1ZTsNCisgICAgICAg
IGZvckVhY2godGhpcy50ZXN0X2RvbmVfY2FsbGJhY2tzLA0KKyAgICAgICAgICAgICAgICBmdW5j
dGlvbihjYWxsYmFjaykNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
Y2FsbGJhY2sodGVzdCwgdGhpc19vYmopOw0KKyAgICAgICAgICAgICAgICB9KTsNCisNCisgICAg
ICAgIGZvckVhY2goYW5jZXN0b3Jfd2luZG93cygpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlv
bih3KQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBpZih3LnJlc3Vs
dF9jYWxsYmFjaykNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0cnkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHcucmVzdWx0X2NhbGxiYWNrKHRlc3QpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaChlKQ0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZGVidWcpIHsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgdGhpcy5wcm9jZXNzaW5n
X2NhbGxiYWNrcyA9IGZhbHNlOw0KKyAgICAgICAgaWYgKHRoaXNfb2JqLmFsbF9kb25lKCkpDQor
ICAgICAgICB7DQorICAgICAgICAgICAgdGhpc19vYmouY29tcGxldGUoKTsNCisgICAgICAgIH0N
CisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7
DQorICAgICAgICBpZiAodGhpcy5waGFzZSA9PT0gdGhpcy5waGFzZXMuQ09NUExFVEUpIHsNCisg
ICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhp
cy5waGFzZXMuQ09NUExFVEU7DQorICAgICAgICB0aGlzLm5vdGlmeV9jb21wbGV0ZSgpOw0KKyAg
ICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90aWZ5X2NvbXBsZXRlID0gZnVuY3Rpb24o
KQ0KKyAgICB7DQorICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0X2lkKTsNCisgICAg
ICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICBpZiAodGhpcy5zdGF0dXMuc3RhdHVz
ID09PSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9
IHRoaXMuc3RhdHVzLk9LOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZm9yRWFjaCAodGhpcy5h
bGxfZG9uZV9jYWxsYmFja3MsDQorICAgICAgICAgICAgICAgICBmdW5jdGlvbihjYWxsYmFjaykN
CisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh0aGlz
X29iai50ZXN0cywgdGhpc19vYmouc3RhdHVzKTsNCisgICAgICAgICAgICAgICAgIH0pOw0KKw0K
KyAgICAgICAgZm9yRWFjaChhbmNlc3Rvcl93aW5kb3dzKCksDQorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHcpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmKHcu
Y29tcGxldGlvbl9jYWxsYmFjaykNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0cnkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHcuY29tcGxldGlvbl9jYWxsYmFjayh0aGlzX29iai50ZXN0cywg
dGhpc19vYmouc3RhdHVzKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgICAgICAgICAgICAgY2F0Y2goZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1ZykNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0N
CisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgIH07DQor
DQorICAgIHZhciB0ZXN0cyA9IG5ldyBUZXN0cygpOw0KKw0KKyAgICBmdW5jdGlvbiBhZGRfc3Rh
cnRfY2FsbGJhY2soY2FsbGJhY2spIHsNCisgICAgICAgIHRlc3RzLnN0YXJ0X2NhbGxiYWNrcy5w
dXNoKGNhbGxiYWNrKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBhZGRfcmVzdWx0X2NhbGxi
YWNrKGNhbGxiYWNrKQ0KKyAgICB7DQorICAgICAgICB0ZXN0cy50ZXN0X2RvbmVfY2FsbGJhY2tz
LnB1c2goY2FsbGJhY2spOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGFkZF9jb21wbGV0aW9u
X2NhbGxiYWNrKGNhbGxiYWNrKQ0KKyAgICB7DQorICAgICAgIHRlc3RzLmFsbF9kb25lX2NhbGxi
YWNrcy5wdXNoKGNhbGxiYWNrKTsNCisgICAgfQ0KKw0KKyAgICBleHBvc2UoYWRkX3N0YXJ0X2Nh
bGxiYWNrLCAnYWRkX3N0YXJ0X2NhbGxiYWNrJyk7DQorICAgIGV4cG9zZShhZGRfcmVzdWx0X2Nh
bGxiYWNrLCAnYWRkX3Jlc3VsdF9jYWxsYmFjaycpOw0KKyAgICBleHBvc2UoYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2ssICdhZGRfY29tcGxldGlvbl9jYWxsYmFjaycpOw0KKw0KKyAgICAvKg0KKyAg
ICAgKiBPdXRwdXQgbGlzdGVuZXINCisgICAgKi8NCisNCisgICAgZnVuY3Rpb24gT3V0cHV0KCkg
ew0KKyAgICAgIHRoaXMub3V0cHV0X2RvY3VtZW50ID0gbnVsbDsNCisgICAgICB0aGlzLm91dHB1
dF9ub2RlID0gbnVsbDsNCisgICAgICB0aGlzLmRvbmVfY291bnQgPSAwOw0KKyAgICAgIHRoaXMu
ZW5hYmxlZCA9IHNldHRpbmdzLm91dHB1dDsNCisgICAgICB0aGlzLnBoYXNlID0gdGhpcy5JTklU
SUFMOw0KKyAgICB9DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUuSU5JVElBTCA9IDA7DQorICAg
IE91dHB1dC5wcm90b3R5cGUuU1RBUlRFRCA9IDE7DQorICAgIE91dHB1dC5wcm90b3R5cGUuSEFW
RV9SRVNVTFRTID0gMjsNCisgICAgT3V0cHV0LnByb3RvdHlwZS5DT01QTEVURSA9IDM7DQorDQor
ICAgIE91dHB1dC5wcm90b3R5cGUuc2V0dXAgPSBmdW5jdGlvbihwcm9wZXJ0aWVzKSB7DQorICAg
ICAgICBpZiAodGhpcy5waGFzZSA+IHRoaXMuSU5JVElBTCkgew0KKyAgICAgICAgICAgIHJldHVy
bjsNCisgICAgICAgIH0NCisNCisgICAgICAgIC8vSWYgb3V0cHV0IGlzIGRpc2FibGVkIGluIHRl
c3RoYXJuZXNzcmVwb3J0LmpzIHRoZSB0ZXN0IHNob3VsZG4ndCBiZQ0KKyAgICAgICAgLy9hYmxl
IHRvIG92ZXJyaWRlIHRoYXQNCisgICAgICAgIHRoaXMuZW5hYmxlZCA9IHRoaXMuZW5hYmxlZCAm
JiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eSgib3V0cHV0IikgPw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLm91dHB1dCA6IHNldHRpbmdzLm91
dHB1dCk7DQorICAgIH07DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9u
KHByb3BlcnRpZXMpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNlID49IHRoaXMuU1RB
UlRFRCkgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmIChw
cm9wZXJ0aWVzLm91dHB1dF9kb2N1bWVudCkgew0KKyAgICAgICAgICAgIHRoaXMub3V0cHV0X2Rv
Y3VtZW50ID0gcHJvcGVydGllcy5vdXRwdXRfZG9jdW1lbnQ7DQorICAgICAgICB9IGVsc2Ugew0K
KyAgICAgICAgICAgIHRoaXMub3V0cHV0X2RvY3VtZW50ID0gZG9jdW1lbnQ7DQorICAgICAgICB9
DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5TVEFSVEVEOw0KKyAgICB9Ow0KKw0KKyAgICBP
dXRwdXQucHJvdG90eXBlLnJlc29sdmVfbG9nID0gZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAg
ICBpZiAoIXRoaXMub3V0cHV0X2RvY3VtZW50KSB7DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAg
ICAgICAgfQ0KKyAgICAgICAgdmFyIG5vZGUgPSB0aGlzLm91dHB1dF9kb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibG9nIik7DQorICAgICAgICBpZiAobm9kZSkgew0KKyAgICAgICAgICAgIHRoaXMu
b3V0cHV0X25vZGUgPSBub2RlOw0KKyAgICAgICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBPdXRwdXQu
cHJvdG90eXBlLnNob3dfc3RhdHVzID0gZnVuY3Rpb24odGVzdCkNCisgICAgew0KKyAgICAgICAg
aWYgKHRoaXMucGhhc2UgPCB0aGlzLlNUQVJURUQpDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGhpcy5pbml0KCk7DQorICAgICAgICB9DQorICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkNCisg
ICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAo
dGhpcy5waGFzZSA8IHRoaXMuSEFWRV9SRVNVTFRTKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IHRoaXMucmVzb2x2ZV9sb2coKTsNCisgICAgICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5IQVZF
X1JFU1VMVFM7DQorICAgICAgICB9DQorICAgICAgICB0aGlzLmRvbmVfY291bnQrKzsNCisgICAg
ICAgIGlmICh0aGlzLm91dHB1dF9ub2RlKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmICh0
aGlzLmRvbmVfY291bnQgPCAxMDANCisgICAgICAgICAgICB8fCAodGhpcy5kb25lX2NvdW50IDwg
MTAwMCAmJiB0aGlzLmRvbmVfY291bnQgJSAxMDAgPT0gMCkNCisgICAgICAgICAgICB8fCB0aGlz
LmRvbmVfY291bnQgJSAxMDAwID09IDApIHsNCisgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRf
bm9kZS50ZXh0Q29udGVudCA9ICJSdW5uaW5nLCAiDQorICAgICAgICAgICAgICAgICAgICArIHRo
aXMuZG9uZV9jb3VudCArICIgY29tcGxldGUsICINCisgICAgICAgICAgICAgICAgICAgICsgdGVz
dHMubnVtX3BlbmRpbmcgKyAiIHJlbWFpbiI7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0K
KyAgICB9Ow0KKw0KKyAgICBPdXRwdXQucHJvdG90eXBlLnNob3dfcmVzdWx0cyA9IGZ1bmN0aW9u
ICh0ZXN0cywgaGFybmVzc19zdGF0dXMpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNl
ID49IHRoaXMuQ09NUExFVEUpIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQor
ICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1
cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAoIXRoaXMub3V0cHV0X25vZGUpIHsNCisgICAg
ICAgICAgICB0aGlzLnJlc29sdmVfbG9nKCk7DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBo
YXNlID0gdGhpcy5DT01QTEVURTsNCisNCisgICAgICAgIHZhciBsb2cgPSB0aGlzLm91dHB1dF9u
b2RlOw0KKyAgICAgICAgaWYgKCFsb2cpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgdmFyIG91dHB1dF9kb2N1bWVudCA9IHRoaXMub3V0cHV0
X2RvY3VtZW50Ow0KKw0KKyAgICAgICAgd2hpbGUgKGxvZy5sYXN0Q2hpbGQpDQorICAgICAgICB7
DQorICAgICAgICAgICAgbG9nLnJlbW92ZUNoaWxkKGxvZy5sYXN0Q2hpbGQpOw0KKyAgICAgICAg
fQ0KKw0KKyAgICAgICAgaWYgKHNjcmlwdF9wcmVmaXggIT0gbnVsbCkgew0KKyAgICAgICAgICAg
IHZhciBzdHlsZXNoZWV0ID0gb3V0cHV0X2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh4aHRtbF9u
cywgImxpbmsiKTsNCisgICAgICAgICAgICBzdHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgicmVsIiwg
InN0eWxlc2hlZXQiKTsNCisgICAgICAgICAgICBzdHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgiaHJl
ZiIsIHNjcmlwdF9wcmVmaXggKyAidGVzdGhhcm5lc3MuY3NzIik7DQorICAgICAgICAgICAgdmFy
IGhlYWRzID0gb3V0cHV0X2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIik7DQor
ICAgICAgICAgICAgaWYgKGhlYWRzLmxlbmd0aCkgew0KKyAgICAgICAgICAgICAgICBoZWFkc1sw
XS5hcHBlbmRDaGlsZChzdHlsZXNoZWV0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQor
DQorICAgICAgICB2YXIgc3RhdHVzX3RleHQgPSB7fTsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLlBBU1NdID0gIlBhc3MiOw0KKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5w
cm90b3R5cGUuRkFJTF0gPSAiRmFpbCI7DQorICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3Rv
dHlwZS5USU1FT1VUXSA9ICJUaW1lb3V0IjsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJv
dG90eXBlLk5PVFJVTl0gPSAiTm90IFJ1biI7DQorDQorICAgICAgICB2YXIgc3RhdHVzX251bWJl
ciA9IHt9Ow0KKyAgICAgICAgZm9yRWFjaCh0ZXN0cywgZnVuY3Rpb24odGVzdCkgew0KKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHN0YXR1c190ZXh0W3Rlc3Quc3RhdHVzXTsNCisg
ICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXNfbnVtYmVyLmhhc093blByb3BlcnR5KHN0YXR1
cykpDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dHVzX251bWJlcltzdGF0dXNdICs9IDE7DQorICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c19udW1iZXJbc3RhdHVzXSA9IDE7DQorICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgZnVu
Y3Rpb24gc3RhdHVzX2NsYXNzKHN0YXR1cykNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1
cm4gc3RhdHVzLnJlcGxhY2UoL1xzL2csICcnKS50b0xvd2VyQ2FzZSgpOw0KKyAgICAgICAgfQ0K
Kw0KKyAgICAgICAgdmFyIHN1bW1hcnlfdGVtcGxhdGUgPSBbInNlY3Rpb24iLCB7ImlkIjoic3Vt
bWFyeSJ9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMiIsIHt9LCAiU3Vt
bWFyeSJdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJwIiwge30sICJGb3Vu
ZCAke251bV90ZXN0c30gdGVzdHMiXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHZhcnMpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
YXIgcnYgPSBbWyJkaXYiLCB7fV1dOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBpPTA7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUg
KHN0YXR1c190ZXh0Lmhhc093blByb3BlcnR5KGkpKSB7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXNfbnVtYmVyLmhhc093blByb3BlcnR5KHN0YXR1
c190ZXh0W2ldKSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHN0YXR1cyA9IHN0YXR1c190ZXh0W2ldOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcnZbMF0ucHVzaChbImRpdiIsIHsiY2xhc3MiOnN0YXR1c19j
bGFzcyhzdGF0dXMpfSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFsibGFiZWwiLCB7fSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImlucHV0Iiwge3R5cGU6ImNoZWNrYm94
IiwgY2hlY2tlZDoiY2hlY2tlZCJ9XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfbnVtYmVyW3N0YXR1c10gKyAiICIgKyBz
dGF0dXNdXSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSsrOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcnY7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XTsN
CisNCisgICAgICAgIGxvZy5hcHBlbmRDaGlsZChyZW5kZXIoc3VtbWFyeV90ZW1wbGF0ZSwge251
bV90ZXN0czp0ZXN0cy5sZW5ndGh9LCBvdXRwdXRfZG9jdW1lbnQpKTsNCisNCisgICAgICAgIGZv
ckVhY2gob3V0cHV0X2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNlY3Rpb24jc3VtbWFyeSBs
YWJlbCIpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbihlbGVtZW50KQ0KKyAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICBvbl9ldmVudChlbGVtZW50LCAiY2xpY2siLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
b3V0cHV0X2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIikgPT09IG51bGwpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdF9jbGFzcyA9
IGVsZW1lbnQucGFyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoImNsYXNzIik7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdmFyIHN0eWxlX2VsZW1lbnQgPSBvdXRwdXRfZG9jdW1lbnQu
cXVlcnlTZWxlY3Rvcigic3R5bGUjaGlkZS0iICsgcmVzdWx0X2NsYXNzKTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW5wdXRfZWxlbWVudCA9IGVsZW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IXN0eWxlX2VsZW1lbnQgJiYgIWlucHV0X2VsZW1lbnQuY2hlY2tlZCkgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9lbGVtZW50ID0gb3V0cHV0X2RvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyh4aHRtbF9ucywgInN0eWxlIik7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0eWxlX2VsZW1lbnQuaWQgPSAiaGlkZS0iICsgcmVzdWx0X2Ns
YXNzOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9lbGVtZW50
LmlubmVySFRNTCA9ICJ0YWJsZSNyZXN1bHRzID4gdGJvZHkgPiB0ci4iK3Jlc3VsdF9jbGFzcysi
e2Rpc3BsYXk6bm9uZX0iOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
dXRwdXRfZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdHlsZV9lbGVtZW50KTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0eWxlX2VsZW1lbnQgJiYgaW5w
dXRfZWxlbWVudC5jaGVja2VkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0eWxlX2VsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZV9lbGVtZW50KTsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAvLyBUaGlz
IHVzZSBvZiBpbm5lckhUTUwgcGx1cyBtYW51YWwgZXNjYXBpbmcgaXMgbm90IHJlY29tbWVuZGVk
IGluDQorICAgICAgICAvLyBnZW5lcmFsLCBidXQgaXMgbmVjZXNzYXJ5IGhlcmUgZm9yIHBlcmZv
cm1hbmNlLiAgVXNpbmcgdGV4dENvbnRlbnQNCisgICAgICAgIC8vIG9uIGVhY2ggaW5kaXZpZHVh
bCA8dGQ+IGFkZHMgdGVucyBvZiBzZWNvbmRzIG9mIGV4ZWN1dGlvbiB0aW1lIGZvcg0KKyAgICAg
ICAgLy8gbGFyZ2UgdGVzdCBzdWl0ZXMgKHRlbnMgb2YgdGhvdXNhbmRzIG9mIHRlc3RzKS4NCisg
ICAgICAgIGZ1bmN0aW9uIGVzY2FwZV9odG1sKHMpDQorICAgICAgICB7DQorICAgICAgICAgICAg
cmV0dXJuIHMucmVwbGFjZSgvXCYvZywgIiZhbXA7IikNCisgICAgICAgICAgICAgICAgLnJlcGxh
Y2UoLzwvZywgIiZsdDsiKQ0KKyAgICAgICAgICAgICAgICAucmVwbGFjZSgvIi9nLCAiJnF1b3Q7
IikNCisgICAgICAgICAgICAgICAgLnJlcGxhY2UoLycvZywgIiYjMzk7Iik7DQorICAgICAgICB9
DQorDQorICAgICAgICBsb2cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Vj
dGlvbiIpKTsNCisgICAgICAgIHZhciBodG1sID0gIjxoMj5EZXRhaWxzPC9oMj48dGFibGUgaWQ9
J3Jlc3VsdHMnPiINCisgICAgICAgICAgICArICI8dGhlYWQ+PHRyPjx0aD5SZXN1bHQ8L3RoPjx0
aD5UZXN0IE5hbWU8L3RoPjx0aD5NZXNzYWdlPC90aD48L3RyPjwvdGhlYWQ+Ig0KKyAgICAgICAg
ICAgICsgIjx0Ym9keT4iOw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5n
dGg7IGkrKykgew0KKyAgICAgICAgICAgIGh0bWwgKz0gJzx0ciBjbGFzcz0iJw0KKyAgICAgICAg
ICAgICAgICArIGVzY2FwZV9odG1sKHN0YXR1c19jbGFzcyhzdGF0dXNfdGV4dFt0ZXN0c1tpXS5z
dGF0dXNdKSkNCisgICAgICAgICAgICAgICAgKyAnIj48dGQ+Jw0KKyAgICAgICAgICAgICAgICAr
IGVzY2FwZV9odG1sKHN0YXR1c190ZXh0W3Rlc3RzW2ldLnN0YXR1c10pDQorICAgICAgICAgICAg
ICAgICsgIjwvdGQ+PHRkPiINCisgICAgICAgICAgICAgICAgKyBlc2NhcGVfaHRtbChmb3JtYXRf
c3RyaW5nKHRlc3RzW2ldLm5hbWUpKQ0KKyAgICAgICAgICAgICAgICArICI8L3RkPjx0ZD4iDQor
ICAgICAgICAgICAgICAgICsgZXNjYXBlX2h0bWwodGVzdHNbaV0ubWVzc2FnZSA/IGZvcm1hdF9z
dHJpbmcodGVzdHNbaV0ubWVzc2FnZSkgOiAiICIpDQorICAgICAgICAgICAgICAgICsgIjwvdGQ+
PC90cj4iOw0KKyAgICAgICAgfQ0KKyAgICAgICAgbG9nLmxhc3RDaGlsZC5pbm5lckhUTUwgPSBo
dG1sICsgIjwvdGJvZHk+PC90YWJsZT4iOw0KKyAgICB9Ow0KKw0KKyAgICB2YXIgb3V0cHV0ID0g
bmV3IE91dHB1dCgpOw0KKyAgICBhZGRfc3RhcnRfY2FsbGJhY2soZnVuY3Rpb24gKHByb3BlcnRp
ZXMpIHtvdXRwdXQuaW5pdChwcm9wZXJ0aWVzKTt9KTsNCisgICAgYWRkX3Jlc3VsdF9jYWxsYmFj
ayhmdW5jdGlvbiAodGVzdCkge291dHB1dC5zaG93X3N0YXR1cyh0ZXN0cyk7fSk7DQorICAgIGFk
ZF9jb21wbGV0aW9uX2NhbGxiYWNrKGZ1bmN0aW9uICh0ZXN0cywgaGFybmVzc19zdGF0dXMpIHtv
dXRwdXQuc2hvd19yZXN1bHRzKHRlc3RzLCBoYXJuZXNzX3N0YXR1cyk7fSk7DQorDQorICAgIC8q
DQorICAgICAqIFRlbXBsYXRlIGNvZGUNCisgICAgICoNCisgICAgICogQSB0ZW1wbGF0ZSBpcyBq
dXN0IGEgamF2YXNjcmlwdCBzdHJ1Y3R1cmUuIEFuIGVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYXM6
DQorICAgICAqDQorICAgICAqIFt0YWdfbmFtZSwge2F0dHJfbmFtZTphdHRyX3ZhbHVlfSwgY2hp
bGQxLCBjaGlsZDJdDQorICAgICAqDQorICAgICAqIHRoZSBjaGlsZHJlbiBjYW4gZWl0aGVyIGJl
IHN0cmluZ3MgKHdoaWNoIGFjdCBsaWtlIHRleHQgbm9kZXMpLCBvdGhlciB0ZW1wbGF0ZXMgb3IN
CisgICAgICogZnVuY3Rpb25zIChzZWUgYmVsb3cpDQorICAgICAqDQorICAgICAqIEEgdGV4dCBu
b2RlIGlzIHJlcHJlc2VudGVkIGFzDQorICAgICAqDQorICAgICAqIFsie3RleHR9IiwgdmFsdWVd
DQorICAgICAqDQorICAgICAqIFN0cmluZyB2YWx1ZXMgaGF2ZSBhIHNpbXBsZSBzdWJzdGl0dXRp
b24gc3ludGF4OyAke2Zvb30gcmVwcmVzZW50cyBhIHZhcmlhYmxlIGZvby4NCisgICAgICoNCisg
ICAgICogSXQgaXMgcG9zc2libGUgdG8gZW1iZWQgbG9naWMgaW4gdGVtcGxhdGVzIGJ5IHVzaW5n
IGEgZnVuY3Rpb24gaW4gYSBwbGFjZSB3aGVyZSBhDQorICAgICAqIG5vZGUgd291bGQgdXN1YWxs
eSBnby4gVGhlIGZ1bmN0aW9uIG11c3QgZWl0aGVyIHJldHVybiBwYXJ0IG9mIGEgdGVtcGxhdGUg
b3IgbnVsbC4NCisgICAgICoNCisgICAgICogSW4gY2FzZXMgd2hlcmUgYSBzZXQgb2Ygbm9kZXMg
YXJlIHJlcXVpcmVkIGFzIG91dHB1dCByYXRoZXIgdGhhbiBhIHNpbmdsZSBub2RlDQorICAgICAq
IHdpdGggY2hpbGRyZW4gaXQgaXMgcG9zc2libGUgdG8ganVzdCB1c2UgYSBsaXN0DQorICAgICAq
IFtub2RlMSwgbm9kZTIsIG5vZGUzXQ0KKyAgICAgKg0KKyAgICAgKiBVc2FnZToNCisgICAgICoN
CisgICAgICogcmVuZGVyKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKSAtIHRha2UgYSB0ZW1wbGF0
ZSBhbmQgYW4gb2JqZWN0IG1hcHBpbmcNCisgICAgICogdmFyaWFibGUgbmFtZXMgdG8gcGFyYW1l
dGVycyBhbmQgcmV0dXJuIGVpdGhlciBhIERPTSBub2RlIG9yIGEgbGlzdCBvZiBET00gbm9kZXMN
CisgICAgICoNCisgICAgICogc3Vic3RpdHV0ZSh0ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucykgLSB0
YWtlIGEgdGVtcGxhdGUgYW5kIHZhcmlhYmxlIG1hcHBpbmcgb2JqZWN0LA0KKyAgICAgKiBtYWtl
IHRoZSB2YXJpYWJsZSBzdWJzdGl0dXRpb25zIGFuZCByZXR1cm4gdGhlIHN1YnN0aXR1dGVkIHRl
bXBsYXRlDQorICAgICAqDQorICAgICAqLw0KKw0KKyAgICBmdW5jdGlvbiBpc19zaW5nbGVfbm9k
ZSh0ZW1wbGF0ZSkNCisgICAgew0KKyAgICAgICAgcmV0dXJuIHR5cGVvZiB0ZW1wbGF0ZVswXSA9
PT0gInN0cmluZyI7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZSh0ZW1wbGF0
ZSwgc3Vic3RpdHV0aW9ucykNCisgICAgew0KKyAgICAgICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9
PT0gImZ1bmN0aW9uIikgew0KKyAgICAgICAgICAgIHZhciByZXBsYWNlbWVudCA9IHRlbXBsYXRl
KHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAgICAgIGlmIChyZXBsYWNlbWVudCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBydiA9IHN1YnN0aXR1dGUocmVwbGFjZW1lbnQs
IHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAgICAgICAgICByZXR1cm4gcnY7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IHJldHVybiBudWxsOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgICAgIGVsc2Ug
aWYgKGlzX3NpbmdsZV9ub2RlKHRlbXBsYXRlKSkNCisgICAgICAgIHsNCisgICAgICAgICAgICBy
ZXR1cm4gc3Vic3RpdHV0ZV9zaW5nbGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpOw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgZWxzZQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBmaWx0
ZXIobWFwKHRlbXBsYXRlLCBmdW5jdGlvbih4KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBzdWJzdGl0dXRlKHgsIHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0pLCBmdW5jdGlvbih4KSB7cmV0dXJuIHggIT09IG51bGw7
fSk7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZV9zaW5n
bGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpDQorICAgIHsNCisgICAgICAgIHZhciBzdWJzdGl0
dXRpb25fcmUgPSAvXCR7KFteIH1dKil9L2c7DQorDQorICAgICAgICBmdW5jdGlvbiBkb19zdWJz
dGl0dXRpb24oaW5wdXQpIHsNCisgICAgICAgICAgICB2YXIgY29tcG9uZW50cyA9IGlucHV0LnNw
bGl0KHN1YnN0aXR1dGlvbl9yZSk7DQorICAgICAgICAgICAgdmFyIHJ2ID0gW107DQorICAgICAg
ICAgICAgZm9yICh2YXIgaT0wOyBpPGNvbXBvbmVudHMubGVuZ3RoOyBpKz0yKQ0KKyAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgcnYucHVzaChjb21wb25lbnRzW2ldKTsNCisgICAgICAg
ICAgICAgICAgaWYgKGNvbXBvbmVudHNbaSsxXSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgcnYucHVzaChTdHJpbmcoc3Vic3RpdHV0aW9uc1tjb21wb25lbnRzW2kr
MV1dKSk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAgICAgICAg
cmV0dXJuIHJ2Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdmFyIHJ2ID0gW107DQorICAgICAg
ICBydi5wdXNoKGRvX3N1YnN0aXR1dGlvbihTdHJpbmcodGVtcGxhdGVbMF0pKS5qb2luKCIiKSk7
DQorDQorICAgICAgICBpZiAodGVtcGxhdGVbMF0gPT09ICJ7dGV4dH0iKSB7DQorICAgICAgICAg
ICAgc3Vic3RpdHV0ZV9jaGlsZHJlbih0ZW1wbGF0ZS5zbGljZSgxKSwgcnYpOw0KKyAgICAgICAg
fSBlbHNlIHsNCisgICAgICAgICAgICBzdWJzdGl0dXRlX2F0dHJzKHRlbXBsYXRlWzFdLCBydik7
DQorICAgICAgICAgICAgc3Vic3RpdHV0ZV9jaGlsZHJlbih0ZW1wbGF0ZS5zbGljZSgyKSwgcnYp
Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZV9hdHRycyhhdHRy
cywgcnYpDQorICAgICAgICB7DQorICAgICAgICAgICAgcnZbMV0gPSB7fTsNCisgICAgICAgICAg
ICBmb3IgKHZhciBuYW1lIGluIHRlbXBsYXRlWzFdKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgaWYgKGF0dHJzLmhhc093blByb3BlcnR5KG5hbWUpKQ0KKyAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgbmV3X25hbWUgPSBkb19zdWJzdGl0dXRpb24o
bmFtZSkuam9pbigiIik7DQorICAgICAgICAgICAgICAgICAgICB2YXIgbmV3X3ZhbHVlID0gZG9f
c3Vic3RpdHV0aW9uKGF0dHJzW25hbWVdKS5qb2luKCIiKTsNCisgICAgICAgICAgICAgICAgICAg
IHJ2WzFdW25ld19uYW1lXSA9IG5ld192YWx1ZTsNCisgICAgICAgICAgICAgICAgfTsNCisgICAg
ICAgICAgICB9DQorICAgICAgICB9DQorDQorICAgICAgICBmdW5jdGlvbiBzdWJzdGl0dXRlX2No
aWxkcmVuKGNoaWxkcmVuLCBydikNCisgICAgICAgIHsNCisgICAgICAgICAgICBmb3IgKHZhciBp
PTA7IGk8Y2hpbGRyZW4ubGVuZ3RoOyBpKyspDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICBpZiAoY2hpbGRyZW5baV0gaW5zdGFuY2VvZiBPYmplY3QpIHsNCisgICAgICAgICAgICAg
ICAgICAgIHZhciByZXBsYWNlbWVudCA9IHN1YnN0aXR1dGUoY2hpbGRyZW5baV0sIHN1YnN0aXR1
dGlvbnMpOw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ICE9PSBudWxsKQ0K
KyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19z
aW5nbGVfbm9kZShyZXBsYWNlbWVudCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydi5wdXNoKHJlcGxhY2VtZW50KTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5k
KHJ2LCByZXBsYWNlbWVudCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGVsc2UN
CisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJ2LCBkb19z
dWJzdGl0dXRpb24oU3RyaW5nKGNoaWxkcmVuW2ldKSkpOw0KKyAgICAgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHJldHVybiBydjsNCisgICAgICAgIH0NCisNCisg
ICAgICAgIHJldHVybiBydjsNCisgICAgfQ0KKw0KKyBmdW5jdGlvbiBtYWtlX2RvbV9zaW5nbGUo
dGVtcGxhdGUsIGRvYykNCisgew0KKyAgICAgdmFyIG91dHB1dF9kb2N1bWVudCA9IGRvYyB8fCBk
b2N1bWVudDsNCisgICAgIGlmICh0ZW1wbGF0ZVswXSA9PT0gInt0ZXh0fSIpDQorICAgICB7DQor
ICAgICAgICAgdmFyIGVsZW1lbnQgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIp
Ow0KKyAgICAgICAgIGZvciAodmFyIGk9MTsgaTx0ZW1wbGF0ZS5sZW5ndGg7IGkrKykNCisgICAg
ICAgICB7DQorICAgICAgICAgICAgIGVsZW1lbnQuZGF0YSArPSB0ZW1wbGF0ZVtpXTsNCisgICAg
ICAgICB9DQorICAgICB9DQorICAgICBlbHNlDQorICAgICB7DQorICAgICAgICAgdmFyIGVsZW1l
bnQgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sX25zLCB0ZW1wbGF0ZVsw
XSk7DQorICAgICAgICAgZm9yICh2YXIgbmFtZSBpbiB0ZW1wbGF0ZVsxXSkgew0KKyAgICAgICAg
ICAgICBpZiAodGVtcGxhdGVbMV0uaGFzT3duUHJvcGVydHkobmFtZSkpDQorICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHRlbXBsYXRl
WzFdW25hbWVdKTsNCisgICAgICAgICAgICAgfQ0KKyAgICAgICAgIH0NCisgICAgICAgICBmb3Ig
KHZhciBpPTI7IGk8dGVtcGxhdGUubGVuZ3RoOyBpKyspDQorICAgICAgICAgew0KKyAgICAgICAg
ICAgICBpZiAodGVtcGxhdGVbaV0gaW5zdGFuY2VvZiBPYmplY3QpDQorICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgIHZhciBzdWJfZWxlbWVudCA9IG1ha2VfZG9tKHRlbXBsYXRlW2ld
KTsNCisgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoc3ViX2VsZW1lbnQpOw0K
KyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgdmFyIHRleHRfbm9kZSA9IG91dHB1dF9kb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSh0ZW1wbGF0ZVtpXSk7DQorICAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxk
KHRleHRfbm9kZSk7DQorICAgICAgICAgICAgIH0NCisgICAgICAgICB9DQorICAgICB9DQorDQor
ICAgICByZXR1cm4gZWxlbWVudDsNCisgfQ0KKw0KKw0KKw0KKyBmdW5jdGlvbiBtYWtlX2RvbSh0
ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucywgb3V0cHV0X2RvY3VtZW50KQ0KKyAgICB7DQorICAgICAg
ICBpZiAoaXNfc2luZ2xlX25vZGUodGVtcGxhdGUpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IHJldHVybiBtYWtlX2RvbV9zaW5nbGUodGVtcGxhdGUsIG91dHB1dF9kb2N1bWVudCk7DQorICAg
ICAgICB9DQorICAgICAgICBlbHNlDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIG1h
cCh0ZW1wbGF0ZSwgZnVuY3Rpb24oeCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBtYWtlX2RvbV9zaW5nbGUoeCwgb3V0cHV0X2RvY3VtZW50KTsNCisgICAgICAgICAgICAg
ICAgICAgICAgIH0pOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorIGZ1bmN0aW9uIHJlbmRlcih0
ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucywgb3V0cHV0X2RvY3VtZW50KQ0KKyAgICB7DQorICAgICAg
ICByZXR1cm4gbWFrZV9kb20oc3Vic3RpdHV0ZSh0ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucyksIG91
dHB1dF9kb2N1bWVudCk7DQorICAgIH0NCisNCisgICAgLyoNCisgICAgICogVXRpbGl0eSBmdW5j
aW9ucw0KKyAgICAgKi8NCisgICAgZnVuY3Rpb24gYXNzZXJ0KGV4cGVjdGVkX3RydWUsIGZ1bmN0
aW9uX25hbWUsIGRlc2NyaXB0aW9uLCBlcnJvciwgc3Vic3RpdHV0aW9ucykNCisgICAgew0KKyAg
ICAgICAgaWYgKGV4cGVjdGVkX3RydWUgIT09IHRydWUpDQorICAgICAgICB7DQorICAgICAgICAg
ICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKG1ha2VfbWVzc2FnZShmdW5jdGlvbl9uYW1lLCBk
ZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGVycm9yLCBzdWJzdGl0dXRpb25zKSk7DQorICAgICAgICB9DQorICAgIH0NCisNCisg
ICAgZnVuY3Rpb24gQXNzZXJ0aW9uRXJyb3IobWVzc2FnZSkNCisgICAgew0KKyAgICAgICAgdGhp
cy5tZXNzYWdlID0gbWVzc2FnZTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBtYWtlX21lc3Nh
Z2UoZnVuY3Rpb25fbmFtZSwgZGVzY3JpcHRpb24sIGVycm9yLCBzdWJzdGl0dXRpb25zKQ0KKyAg
ICB7DQorICAgICAgICBmb3IgKHZhciBwIGluIHN1YnN0aXR1dGlvbnMpIHsNCisgICAgICAgICAg
ICBpZiAoc3Vic3RpdHV0aW9ucy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KKyAgICAgICAgICAgICAg
ICBzdWJzdGl0dXRpb25zW3BdID0gZm9ybWF0X3ZhbHVlKHN1YnN0aXR1dGlvbnNbcF0pOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgICAgIHZhciBub2RlX2Zvcm0gPSBzdWJzdGl0
dXRlKFsie3RleHR9IiwgIiR7ZnVuY3Rpb25fbmFtZX06ICR7ZGVzY3JpcHRpb259IiArIGVycm9y
XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKHtmdW5jdGlvbl9u
YW1lOmZ1bmN0aW9uX25hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzY3JpcHRpb246KGRlc2NyaXB0aW9uP2Rlc2NyaXB0aW9uICsgIiAiOiIiKX0sDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucykp
Ow0KKyAgICAgICAgcmV0dXJuIG5vZGVfZm9ybS5zbGljZSgxKS5qb2luKCIiKTsNCisgICAgfQ0K
Kw0KKyAgICBmdW5jdGlvbiBmaWx0ZXIoYXJyYXksIGNhbGxhYmxlLCB0aGlzT2JqKSB7DQorICAg
ICAgICB2YXIgcnYgPSBbXTsNCisgICAgICAgIGZvciAodmFyIGk9MDsgaTxhcnJheS5sZW5ndGg7
IGkrKykNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoYXJyYXkuaGFzT3duUHJvcGVydHko
aSkpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgcGFzcyA9IGNhbGxhYmxl
LmNhbGwodGhpc09iaiwgYXJyYXlbaV0sIGksIGFycmF5KTsNCisgICAgICAgICAgICAgICAgaWYg
KHBhc3MpIHsNCisgICAgICAgICAgICAgICAgICAgIHJ2LnB1c2goYXJyYXlbaV0pOw0KKyAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJu
IHJ2Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIG1hcChhcnJheSwgY2FsbGFibGUsIHRoaXNP
YmopDQorICAgIHsNCisgICAgICAgIHZhciBydiA9IFtdOw0KKyAgICAgICAgcnYubGVuZ3RoID0g
YXJyYXkubGVuZ3RoOw0KKyAgICAgICAgZm9yICh2YXIgaT0wOyBpPGFycmF5Lmxlbmd0aDsgaSsr
KQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChhcnJheS5oYXNPd25Qcm9wZXJ0eShpKSkN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJ2W2ldID0gY2FsbGFibGUuY2FsbCh0
aGlzT2JqLCBhcnJheVtpXSwgaSwgYXJyYXkpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0N
CisgICAgICAgIHJldHVybiBydjsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBleHRlbmQoYXJy
YXksIGl0ZW1zKQ0KKyAgICB7DQorICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShh
cnJheSwgaXRlbXMpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGZvckVhY2ggKGFycmF5LCBj
YWxsYmFjaywgdGhpc09iaikNCisgICAgew0KKyAgICAgICAgZm9yICh2YXIgaT0wOyBpPGFycmF5
Lmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChhcnJheS5oYXNPd25Q
cm9wZXJ0eShpKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNh
bGwodGhpc09iaiwgYXJyYXlbaV0sIGksIGFycmF5KTsNCisgICAgICAgICAgICB9DQorICAgICAg
ICB9DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gbWVyZ2UoYSxiKQ0KKyAgICB7DQorICAgICAg
ICB2YXIgcnYgPSB7fTsNCisgICAgICAgIHZhciBwOw0KKyAgICAgICAgZm9yIChwIGluIGEpDQor
ICAgICAgICB7DQorICAgICAgICAgICAgcnZbcF0gPSBhW3BdOw0KKyAgICAgICAgfQ0KKyAgICAg
ICAgZm9yIChwIGluIGIpIHsNCisgICAgICAgICAgICBydltwXSA9IGJbcF07DQorICAgICAgICB9
DQorICAgICAgICByZXR1cm4gcnY7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZXhwb3NlKG9i
amVjdCwgbmFtZSkNCisgICAgew0KKyAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBuYW1lLnNwbGl0
KCIuIik7DQorICAgICAgICB2YXIgdGFyZ2V0ID0gd2luZG93Ow0KKyAgICAgICAgZm9yICh2YXIg
aT0wOyBpPGNvbXBvbmVudHMubGVuZ3RoIC0gMTsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAg
ICAgIGlmICghKGNvbXBvbmVudHNbaV0gaW4gdGFyZ2V0KSkNCisgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgIHRhcmdldFtjb21wb25lbnRzW2ldXSA9IHt9Ow0KKyAgICAgICAgICAgIH0N
CisgICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXRbY29tcG9uZW50c1tpXV07DQorICAgICAgICB9
DQorICAgICAgICB0YXJnZXRbY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdXSA9IG9i
amVjdDsNCisgICAgfQ0KKw0KKyBmdW5jdGlvbiBhbmNlc3Rvcl93aW5kb3dzKCkgew0KKyAgICAg
Ly9HZXQgdGhlIHdpbmRvd3MgW3NlbGYgLi4uIHRvcF0gYXMgYW4gYXJyYXkNCisgICAgIGlmICgi
cmVzdWx0X2NhY2hlIiBpbiBhbmNlc3Rvcl93aW5kb3dzKQ0KKyAgICAgew0KKyAgICAgICAgIHJl
dHVybiBhbmNlc3Rvcl93aW5kb3dzLnJlc3VsdF9jYWNoZTsNCisgICAgIH0NCisgICAgIHZhciBy
diA9IFtzZWxmXTsNCisgICAgIHZhciB3ID0gc2VsZjsNCisgICAgIHdoaWxlICh3ICE9IHcucGFy
ZW50KQ0KKyAgICAgew0KKyAgICAgICAgIHcgPSB3LnBhcmVudDsNCisgICAgICAgICBydi5wdXNo
KHcpOw0KKyAgICAgfQ0KKyAgICAgYW5jZXN0b3Jfd2luZG93cy5yZXN1bHRfY2FjaGUgPSBydjsN
CisgICAgIHJldHVybiBydjsNCisgfQ0KKw0KK30pKCk7DQorLy8gdmltOiBzZXQgZXhwYW5kdGFi
IHNoaWZ0d2lkdGg9NCB0YWJzdG9wPTQ6ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4NGI2MThjMWFmNTdlMTMwNzYyZjEyZDk3NDFhM2Nh
MDA4NDMxYzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKQEAgLTAsMCArMSw3OSBAQAorLyoNCisgKiBU
SElTIEZJTEUgSU5URU5USU9OQUxMWSBMRUZUIEJMQU5LDQorICoNCisgKiBNb3JlIHNwZWNpZmlj
YWxseSwgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciB2ZW5kb3JzIHRvIGltcGxlbWVudA0KKyAq
IGNvZGUgbmVlZGVkIHRvIGludGVncmF0ZSB0ZXN0aGFybmVzcy5qcyB0ZXN0cyB3aXRoIHRoZWly
IG93biB0ZXN0IHN5c3RlbXMuDQorICoNCisgKiBUeXBpY2FsbHkgc3VjaCBpbnRlZ3JhdGlvbiB3
aWxsIGF0dGFjaCBjYWxsYmFja3Mgd2hlbiBlYWNoIHRlc3QgaXMNCisgKiBoYXMgcnVuLCB1c2lu
ZyBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxiYWNrKHRlc3QpKSwgb3Igd2hlbiB0aGUgd2hvbGUg
dGVzdCBmaWxlIGhhcw0KKyAqIGNvbXBsZXRlZCwgdXNpbmcgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soY2FsbGJhY2sodGVzdHMsIGhhcm5lc3Nfc3RhdHVzKSkuDQorICoNCisgKiBGb3IgbW9yZSBk
b2N1bWVudGF0aW9uIGFib3V0IHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgYW5kIHRoZQ0KKyAqIHBh
cmFtZXRlcnMgdGhleSBhcmUgY2FsbGVkIHdpdGggc2VlIHRlc3RoYXJuZXNzLmpzDQorICovDQor
DQorLy8gU2V0dXAgZm9yIFdlYktpdCBKYXZhU2NyaXB0IHRlc3RzDQoraWYgKHNlbGYudGVzdFJ1
bm5lcikgew0KKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7DQorfQ0KKw0KKy8vIEZ1bmN0aW9uIHVzZWQgdG8gY29udmVydCB0aGUg
dGVzdCBzdGF0dXMgY29kZSBpbnRvDQorLy8gdGhlIGNvcnJlc3BvbmRpbmcgc3RyaW5nDQorZnVu
Y3Rpb24gY29udmVydFJlc3VsdChyZXN1bHRTdGF0dXMpew0KKwlpZihyZXN1bHRTdGF0dXMgPT0g
MCkNCisJCXJldHVybigiUEFTUyIpOw0KKwllbHNlIGlmKHJlc3VsdFN0YXR1cyA9PSAxKQ0KKwkJ
cmV0dXJuKCJGQUlMIik7DQorCWVsc2UgaWYocmVzdWx0U3RhdHVzID09IDIpDQorCQlyZXR1cm4o
IlRJTUVPVVQiKTsNCisJZWxzZQ0KKwkJcmV0dXJuKCJOT1RSVU4iKTsNCit9DQorDQorLyogRGlz
YWJsZSB0aGUgZGVmYXVsdCBvdXRwdXQgb2YgdGVzdGhhcm5lc3MuanMuICBUaGUgZGVmYXVsdCBv
dXRwdXQgZm9ybWF0cw0KKyogIHRlc3QgcmVzdWx0cyBpbnRvIGFuIEhUTUwgdGFibGUuICBXaGVu
IHRoYXQgdGFibGUgaXMgZHVtcGVkIGFzIHRleHQsIG5vDQorKiAgc3BhY2luZyBiZXR3ZWVuIGNl
bGxzIGlzIHByZXNlcnZlZCwgYW5kIGl0IGlzIHRoZXJlZm9yZSBub3QgcmVhZGFibGUuIEJ5DQor
KiAgc2V0dGluZyBvdXRwdXQgdG8gZmFsc2UsIHRoZSBIVE1MIHRhYmxlIHdpbGwgbm90IGJlIGNy
ZWF0ZWQNCisqLw0KK3NldHVwKHsib3V0cHV0IjpmYWxzZX0pOw0KKw0KKy8qICBVc2luZyBhIGNh
bGxiYWNrIGZ1bmN0aW9uLCB0ZXN0IHJlc3VsdHMgd2lsbCBiZSBhZGRlZCB0byB0aGUgcGFnZSBp
biBhIA0KKyogICBtYW5uZXIgdGhhdCBhbGxvd3MgZHVtcEFzVGV4dCB0byBwcm9kdWNlIHJlYWRh
YmxlIHRlc3QgcmVzdWx0cw0KKyovDQorYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24g
KHRlc3RzLCBoYXJuZXNzX3N0YXR1cyl7DQorCQ0KKwkvLyBDcmVhdGUgZWxlbWVudCB0byBob2xk
IHJlc3VsdHMNCisJdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUiKTsN
CisJDQorCS8vIERlY2xhcmUgcmVzdWx0IHN0cmluZw0KKwl2YXIgcmVzdWx0U3RyID0gIlxuIjsN
CisJDQorCS8vIENoZWNrIGhhcm5lc3Nfc3RhdHVzLiAgSWYgaXQgaXMgbm90IDAsIHRlc3RzIGRp
ZCBub3QNCisJLy8gZXhlY3V0ZSBjb3JyZWN0bHksIG91dHB1dCB0aGUgZXJyb3IgY29kZSBhbmQg
bWVzc2FnZQ0KKwlpZihoYXJuZXNzX3N0YXR1cy5zdGF0dXMgIT0gMCl7DQorCQlyZXN1bHRTdHIg
Kz0gIkhhcm5lc3MgRXJyb3IuIGhhcm5lc3Nfc3RhdHVzLnN0YXR1cyA9ICIgKyANCisJCQkJCSBo
YXJuZXNzX3N0YXR1cy5zdGF0dXMgKw0KKwkJCQkJICIgLCBoYXJuZXNzX3N0YXR1cy5tZXNzYWdl
ID0gIiArDQorCQkJCQkgaGFybmVzc19zdGF0dXMubWVzc2FnZTsNCisJfQ0KKwllbHNlIHsNCisJ
CS8vIEl0ZXJhdGUgdGhyb3VnaCB0ZXN0cyBhcnJheSBhbmQgYnVpbGQgc3RyaW5nIHRoYXQgY29u
dGFpbnMNCisJCS8vIHJlc3VsdHMgZm9yIGFsbCB0ZXN0cw0KKwkJZm9yKHZhciBpPTA7IGk8dGVz
dHMubGVuZ3RoOyBpKyspewkJCQkgDQorCQkJcmVzdWx0U3RyICs9IGNvbnZlcnRSZXN1bHQodGVz
dHNbaV0uc3RhdHVzKSArICIgIiArIA0KKwkJCQkJCSggKHRlc3RzW2ldLm5hbWUhPW51bGwpID8g
dGVzdHNbaV0ubmFtZSA6ICIiICkgKyAiICIgKw0KKwkJCQkJCSggKHRlc3RzW2ldLm1lc3NhZ2Uh
PW51bGwpID8gdGVzdHNbaV0ubWVzc2FnZSA6ICIiICkgKyANCisJCQkJCQkiXG4iOw0KKwkJfQkJ
CQ0KKwl9DQorDQorCS8vIFNldCByZXN1bHRzIGVsZW1lbnQncyBpbm5lckhUTUwgdG8gdGhlIHJl
c3VsdHMgc3RyaW5nDQorCXJlc3VsdHMuaW5uZXJIVE1MID0gcmVzdWx0U3RyOw0KKw0KKwkvLyBB
ZGQgcmVzdWx0cyBlbGVtZW50IHRvIGRvY3VtZW50DQorCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0cyk7DQorDQorCWlmIChzZWxmLnRlc3RSdW5uZXIpDQorCQl0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsNCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29w
ZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTI0NTNkMzFiMGY4OGYzNWY5YWIzNTJlNWMyNTZlODJlMjA1OTU1Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzMgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNvbnN0YW50IHdoZW4gYSBkb2N1bWVu
dCBpcyByZXBsYWNlZCB1c2luZyBkb2N1bWVudC5vcGVuLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJl
IGxvYWRlZCB3aXRoIGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0aGVuIHJlcGxhY2VzIHRoZSBk
b2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGggYSBncmVlbiBkb2N1bWVudC4KKworVGhlIHRlc3Qg
cGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHBlcmZvcm1hbmNlLnRpbWluZyBhcmUgY29y
cmVjdCBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuCisK
KworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIGNvbm5lY3RF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGNvbm5lY3RTdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tQ29tcGxldGUgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVu
ZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tQ29udGVudExvYWRl
ZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUlu
dGVyYWN0aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Mb2Fk
aW5nIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21haW5Mb29rdXBF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbWFpbkxvb2t1cFN0
YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBmZXRjaFN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGRvY3VtZW50IG9wZW4uIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4gCitQQVNTIHJlc3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50
IG9wZW4uIAorUEFTUyByZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIAorUEFTUyB1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiAKK1BBU1MgdW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMDJlMWYxYjE3ZWZh
YmE5NWIwMDYwYWJmYzYyNzkzMTkwMzQyMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9kb2N1bWVudF9vcGVuLmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcgZm9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgZG9jdW1lbnRzPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8v
d3d3Lm1pY3Jvc29mdC5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVy
ZmFjZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+Cis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNo
ZSI+LyoKK3sKKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogeworICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyIKKyAgfSwKKyAgImNvbm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6
IHt9LAorICAiZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7
fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUg
YWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbUludGVyYWN0aXZlIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Mb2FkaW5nIGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21haW5Mb29rdXBFbmQgaXMgdGhlIHNhbWUg
YWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJmZXRjaFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJsb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUg
YWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlZGlyZWN0RW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUg
YWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJ1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAidW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9Cit9CisqLzwvc2NyaXB0PgorPHNjcmlwdD4KK3Nl
dHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKKy8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFt
ZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nCit0ZXN0X25hbWVzcGFjZSgpOworCit2YXIg
b3JpZ2luYWxUaW1pbmcgPSB7fTsKK3ZhciBkaWRPcGVuID0gZmFsc2U7CisKK2Z1bmN0aW9uIG9u
bG9hZF90ZXN0KCkgeworICBpZiAoIWRpZE9wZW4pIHsKKyAgICBzZXRUaW1lb3V0KHRlc3RUaW1p
bmdXaXRoRG9jdW1lbnRPcGVuLCAwKTsKKyAgICBkaWRPcGVuID0gdHJ1ZTsKKyAgfQorfQorCitm
dW5jdGlvbiB0ZXN0VGltaW5nV2l0aERvY3VtZW50T3BlbigpIHsKKyAgdmFyIHN1YmNvbnRlbnRX
aW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVudFdp
bmRvdzsKKworICBpZiAoc3ViY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5kZWZpbmVk
KQorICB7CisgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycworICAgIGRvbmUoKTsKKyAgICByZXR1
cm47CisgIH0KKyAgCisgIHZhciB0aW1pbmcgPSBzdWJjb250ZW50V2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZzsKKyAgZm9yIChpIGluIHRpbWluZ0F0dHJpYnV0ZXMpIHsKKyAgICBvcmlnaW5hbFRp
bWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSA9IHRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXTsK
KyAgfQorCisgIHZhciBzdWJkb2N1bWVudCA9IHN1YmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7Cisg
IHN1YmRvY3VtZW50Lm9wZW4oKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwhRE9DVFlQRSBIVE1M
PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPGh0bWw+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRl
KCc8aGVhZD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPHRpdGxlPjxHcmVlbiBUZXN0IFBhZ2U8L3RpdGxl
PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9oZWFkPicpOworICBzdWJkb2N1bWVudC53cml0
ZSgnPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwRkYwMDsiPicpOworICBzdWJkb2N1
bWVudC53cml0ZSgnPC9ib2R5PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9odG1sPicpOwor
ICBzdWJkb2N1bWVudC5jbG9zZSgpOworCisgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
dmFyIHRpbWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOworICAgIGZv
ciAodmFyIGkgaW4gdGltaW5nQXR0cmlidXRlcykgeworICAgICAgdGVzdF9lcXVhbHModGltaW5n
W3RpbWluZ0F0dHJpYnV0ZXNbaV1dLAorICAgICAgICAgICAgICAgICAgb3JpZ2luYWxUaW1pbmdb
dGltaW5nQXR0cmlidXRlc1tpXV0sCisgICAgICAgICAgICAgICAgICB0aW1pbmdBdHRyaWJ1dGVz
W2ldICsgIiBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiIpOworICAgIH0KKyAgICBk
b25lKCk7CisgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNj
cmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcgcmVtYWlucyBjb25zdGFudCB3aGVuIGEKK2RvY3VtZW50IGlzIHJlcGxhY2VkIHVzaW5n
IGRvY3VtZW50Lm9wZW4uPC9wPgorCis8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRo
IGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0aGVuIHJlcGxhY2VzIHRoZQorZG9jdW1lbnQgaW4g
dGhhdCBmcmFtZSB3aXRoIGEgZ3JlZW4gZG9jdW1lbnQuPC9wPgorCis8cD5UaGUgdGVzdCBwYXNz
ZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBjb3JyZWN0
IGFuZAordGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuPC9wPgor
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGJyIC8+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQi
IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFu
a19wYWdlX3llbGxvdy5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48
L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2Rv
Y3VtZW50X3JlYWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1
bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0YTMzNzFhODFl
MTk1MTMyNTc0YmM1ZTQ3MDhjOTcxNDFiMjdjMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgImxvYWRp
bmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiIGRvY3VtZW50LnJlYWR5U3RhdGUgc3Rh
dGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdhdGlvbi4KKworUmVmcmVzaCB0aGlzIHBh
Z2UgdG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy4KKworCitQQVNTIERvY3VtZW50
IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4gCitQQVNTIERvY3VtZW50IHJlYWRpbmVzcyBo
YXMgaW50ZXJhY3RpdmUgc3RhdGUuIAorUEFTUyBEb2N1bWVudCByZWFkaW5lc3MgaGFzIGNvbXBs
ZXRlIHN0YXRlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGlu
ZXNzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3Qu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMmNhNDI1NDBlMWU3NGU3OTZhM2NmMTM1Nzc1ZjE4NWM4OTQ5Y2E2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4
aXN0Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
PGhlYWQ+DQorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICA8dGl0bGU+ZG9jdW1l
bnQucmVhZHlTdGF0ZSB2YWx1ZXMgZXhpc3QgZHVyaW5nIGEgbmF2aWdhdGlvbjwvdGl0bGU+DQor
ICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3
Lm1pY3Jvc29mdC5jb20vIiAvPg0KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL2h0bWw1L2RvbS5odG1sI3Jlc291cmNlLW1ldGFkYXRhLW1hbmFnZW1lbnQi
Lz4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorIDxzY3JpcHQg
aWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGxv
YWRpbmcgc3RhdGUuIjoge30sDQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBpbnRlcmFjdGl2
ZSBzdGF0ZS4iOiB7fSwNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGNvbXBsZXRlIHN0YXRl
LiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+ICAgDQorICAgIDxzY3JpcHQ+DQorICAgICAgICBzZXR1
cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUgfSk7DQorICAgICAgICB2YXIgaGFzX2xvYWRpbmcgPSAo
ZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAibG9hZGluZyIpOw0KKyAgICAgICAgdmFyIGhhc19pbnRl
cmFjdGl2ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJpbnRlcmFjdGl2ZSIpOw0KKyAgICAg
ICAgdmFyIGhhc19jb21wbGV0ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJjb21wbGV0ZSIp
Ow0KKw0KKyAgICAgICAgZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQ0K
KyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJsb2Fk
aW5nIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGhhc19sb2FkaW5nID0gdHJ1
ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUg
PT0gImludGVyYWN0aXZlIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGhhc19p
bnRlcmFjdGl2ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmIChkb2N1
bWVudC5yZWFkeVN0YXRlID0gImNvbXBsZXRlIikNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIGhhc19jb21wbGV0ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfTsN
CisNCisgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgIHsNCisgICAgICAg
ICAgICB0ZXN0X3RydWUoaGFzX2xvYWRpbmcsICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGxvYWRp
bmcgc3RhdGUuIik7DQorICAgICAgICAgICAgdGVzdF90cnVlKGhhc19pbnRlcmFjdGl2ZSwgIkRv
Y3VtZW50IHJlYWRpbmVzcyBoYXMgaW50ZXJhY3RpdmUgc3RhdGUuIik7DQorICAgICAgICAgICAg
dGVzdF90cnVlKGhhc19jb21wbGV0ZSwgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgY29tcGxldGUg
c3RhdGUuIik7DQorICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgfQ0KKyAgICA8L3Njcmlw
dD4NCisNCis8L2hlYWQ+DQorPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgIDxo
MT5EZXNjcmlwdGlvbjwvaDE+DQorICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
ImxvYWRpbmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiDQorICAgICAgIGRvY3VtZW50
LnJlYWR5U3RhdGUgc3RhdGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdhdGlvbi48L3A+
DQorICAgIDxwPlJlZnJlc2ggdGhpcyBwYWdlIHRvIGd1YXJhbnRlZSBhbGwgcmVhZHlTdGF0ZSBw
aGFzZXMuPC9wPg0KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKzwvYm9keT4NCis8L2h0bWw+
DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0NWY4NGEyOGFiMGQ5MzAzN2RlMzk3NTVlNGEwZjI2YjIx
YWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9k
b2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb24KKworVGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
ZyBhdHRyaWJ1dGVzIHJlbWFpbiB1bmNoYW5nZWQgYWZ0ZXIgYW4gaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbiAoVVJMIGZyYWdtZW50IGNoYW5nZSkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAor
UEFTUyBjb25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
IAorUEFTUyBjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5h
dmlnYXRpb24uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0
YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21J
bnRlcmFjdGl2ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BB
U1MgZG9tTG9hZGluZyBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAK
K1BBU1MgZG9tYWluTG9va3VwRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmln
YXRpb24uIAorUEFTUyBkb21haW5Mb29rdXBTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1
bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZmV0Y2hTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyByZWRpcmVjdEVu
ZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgcmVkaXJl
Y3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1Mg
cmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAor
UEFTUyByZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiAKK1BBU1MgcmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiAKK1BBU1MgdW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1l
bnQgbmF2aWdhdGlvbi4gCitQQVNTIHVubG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIg
aW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25h
dmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGVfd2l0
aGluX2RvY3VtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVhMmNlN2U2MjMzZDNkZGE2ZWQ0ZWI1ZWZh
OTU3Yzg4OGFkY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRl
X3dpdGhpbl9kb2N1bWVudC5odG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgPgorICAg
ICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uPC90aXRsZT4KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhy
ZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+CisgCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRp
bWluZy1pbnRlcmZhY2UiLz4KKwk8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93
ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qCit7CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVm
aW5lZCI6IHsKKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAorICAgICJhc3NlcnQiOiAi
VGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iCisgIH0sCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
IGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwKKyAgICAiYXNz
ZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGlu
ZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsCisgICAgImF1dGhv
ciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAiY29ubmVjdEVuZCBpcyB0aGUg
c2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiY29ubmVjdFN0YXJ0
IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21D
b21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAor
ICAiZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tSW50ZXJhY3Rp
dmUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRv
bUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiI6IHt9LAorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIg
aW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImxvYWRFdmVudEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAibG9hZEV2ZW50U3RhcnQg
aXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgIm5hdmln
YXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9
LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlv
bi4iOiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQg
bmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAicmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlc3BvbnNlU3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInVubG9hZEV2ZW50
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJ1
bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
Ijoge30KK30KKyovPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
aDE+RGVzY3JpcHRpb248L2gxPgorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQg
YWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgcmVtYWluIHVu
Y2hhbmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uIChVUkwgZnJhZ21lbnQgY2hh
bmdlKS48L3A+CisKKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKKyAgICAgICAg
ICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0
aW5nCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7CisKKyAgICAgICAgICAg
IHZhciB0aW1pbmc7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrX3RpbWluZ19ub3RfY2hh
bmdlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHModGltaW5nW3Byb3BlcnR5XSwgaW5pdGlhbF90aW1p
bmdbcHJvcGVydHldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSAr
ICIgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICB2YXIgaW5pdGlhbF90aW1pbmcgPSB7fTsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHNh
dmVfdGltaW5nX2FmdGVyX2xvYWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJp
YnV0ZXNbaV07CisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSA9
IHRpbWluZ1twcm9wZXJ0eV07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHdp
bmRvdy5sb2NhdGlvbi5ocmVmID0gIiMxIjsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJj
aGVja190aW1pbmdfbm90X2NoYW5nZWQoKSIsIDApOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiBsb2FkX2hhbmRsZXIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycworICAgICAg
ICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB0aW1pbmcgPSBwZXJm
b3JtYW5jZU5hbWVzcGFjZS50aW1pbmc7CisgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB3
aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsIGxvYWRfaGFuZGxlcik7CisgICAgICAg
ICAgICAgICAgc2V0VGltZW91dCgic2F2ZV90aW1pbmdfYWZ0ZXJfbG9hZCgpIiwgMCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
bG9hZF9oYW5kbGVyLCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19l
eGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNf
ZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZDU2MWY1ODAwZmJmNTRmYjgwZjQwMzIw
MzI3MDA3MTBiOTBlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0
aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0
ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBp
cyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNf
ZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWIxYzlkMjYwZjZhNDIxYWZjNGNlNmE1NTcwYjkwMjU2
ZTI5ZDdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw0MSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQor
PGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPg0KKyAg
ICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXM8L3Rp
dGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9
Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWlu
Zm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3Jj
PSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9u
YXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAg
ICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEg
aG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAg
ICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2Ut
YXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJp
YnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRy
aWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgaXMgZGVmaW5lZC4iOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGlzIGRl
ZmluZWQuIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4N
CisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBhdHRy
aWJ1dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJl
IGNvcnJlY3QpLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAg
ICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisN
CisgICAgICAgIHRlc3RfYXR0cmlidXRlX2V4aXN0cygnbmF2aWdhdGlvbicsICd0eXBlJyk7DQor
ICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMoJ25hdmlnYXRpb24nLCAncmVkaXJlY3RDb3Vu
dCcpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5YWZmNjRiYmVmNWIwZjgwMjk1NTkyNzgyNDBjNjg2YmRl
YzFkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3JlZGly
ZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhdHRyaWJ1dGUsIGFzIHdlbGwgYXMgdGhl
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RFbmQg
YXR0cmlidXRlcyBvbiBhIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24uCisKKworUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLnJlZGlyZWN0U3RhcnQgb24gYW4gbm9uLXJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0RW5kIG9uIGFuIG5vbi1y
ZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBh
biBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2
aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZmYxOTQ5NDkxYjQ0
YWFlZTgzZTM3OWE1YWZkZjlmYjU2OWIwMmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Civvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGEgbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbjwv
dGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJl
Zj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
dGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwN
CisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRl
cyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0K
KyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1h
bmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBh
dHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQg
YXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0K
KyAgfSwNCisgICJ0aW1pbmcucmVkaXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZp
Z2F0aW9uIjoge30sDQorICAidGltaW5nLnJlZGlyZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVk
IG5hdmlnYXRpb24iOiB7fSwNCisgICJuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9u
LXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9DQorfQ0K
KyovPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVz
Y3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB2
YWx1ZSBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBh
dHRyaWJ1dGUsIGFzIHdlbGwgYXMgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJl
Y3RTdGFydCBhbmQgcmVkaXJlY3RFbmQgYXR0cmlidXRlcyBvbiBhIG5vbi1yZWRpcmVjdGVkIG5h
dmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAg
ICAgIDxzY3JpcHQ+DQorICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0K
KyAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQpDQorICAgICAg
ICB7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5n
LnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVkaXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJl
Y3RlZCBuYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VO
YW1lc3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAwLCAndGltaW5nLnJlZGlyZWN0RW5kIG9uIGFu
IG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhw
ZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0
aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hlbHA6
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1p
bmZvLWludGVyZmFjZSJ9KTsNCisgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8
L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25f
dHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9u
X3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMDI0ZGNmZDg0N2Rm
OTZjMjI4MWYwZTY0MjdhN2Y5ZmE3MWUzZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjMgQEAKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQor
ZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAi
ZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNv
bnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRGVzY3JpcHRpb24KKworVGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
dHlwZSB3aXRoIGEgZm9yd2FyZCBhbmQgYmFjayBuYXZpZ2F0aW9uLgorCitUaGlzIHBhZ2Ugc2hv
dWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cuIEl0IHNo
b3VsZCB0dXJuIGdyZWVuIGZvciBhIHN0YXJ0aW5nIG5hdmlnYXRpb24sIGJhY2sgdG8geWVsbG93
IGZvciBhIGJhY2sgbmF2aWdhdGlvbiBhbmQgdGhlbiBiYWNrIHRvIGdyZWVuIGFnYWluIGZvciBh
IGZvcndhcmQgbmF2aWdhdGlvbi4KKworQWxvbmcgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgdGhl
IGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50eXBlIGlzIGNoZWNrZWQgZm9yIFRZUEVfQkFDS19G
T1JXQVJELgorCitUaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBu
YXZpZ2F0aW9uLnR5cGUgYXJlIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2Vu
YXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIE90
aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFW
SUdBVEUgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9C
QUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5iYWNrKCkgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3
YXJkKCkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNr
Zm9yd2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTJkZTNlMWE1YTEwZDlmZWVlODk0NWU0NmI5MmY5MmU1MWI5ZTRj
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNr
Zm9yd2FyZC5odG1sCkBAIC0wLDAgKzEsMTEzIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRt
bD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAg
ICAgIDx0aXRsZT53aW5kb3cubmF2aWdhdGlvbi50eXBlIGZvciBiYWNrIGFuZCBmb3J3YXJkIG5h
dmlnYXRpb25zPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWlj
cm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
bmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2Fj
aGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6
ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJl
YSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjog
IlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5i
YWNrKCkiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZ
UEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuZm9yd2FyZCgpIjoge30NCit9DQorKi88L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2Rv
bmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVz
cGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNl
KCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0K
KyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNl
ID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
IC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAg
ICAgICAgICAgICAvLyBkbyB0aGlzIHdpdGggYSB0aW1lb3V0IHRvIHNlZSB0aGUgdmlzdWFscyBv
ZiB0aGUgbmF2aWdhdGlvbnMuDQorICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoIm5hdl9mcmFt
ZSgpOyIsIDEwMCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIHZhciBzdGVwID0g
MTsNCisgICAgICAgICAgICBmdW5jdGlvbiBuYXZfZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgdmFyIG5hdmlnYXRpb25fZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVudFdpbmRvdzsNCisgICAgICAgICAgICAgICAgc3dp
dGNoIChzdGVwKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBjYXNl
IDE6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2
aWdhdGlvbl9mcmFtZS5sb2NhdGlvbi5ocmVmID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxh
bmtfcGFnZV9ncmVlbl93aXRoX29udW5sb2FkLmh0bSc7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAg
ICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KKyAgICAgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKG5hdmlnYXRpb25f
ZnJhbWUucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRF
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURScpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIG5hdmlnYXRpb25fZnJhbWUuaGlzdG9yeS5iYWNrKCk7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAzOg0KKyAgICAgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKG5hdmlnYXRp
b25fZnJhbWUucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tf
Rk9SV0FSRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3Rvcnku
YmFjaygpJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUuaGlzdG9yeS5mb3J3YXJkKCk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAg
ICAgICAgICAgICAgICBjYXNlIDQ6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJELA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUg
PT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJkKCknKTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsr
Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAg
fQ0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwv
c2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPg0KKyAg
ICAgICAgICAgIERlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPg0KKyAgICAgICAgICAgIFRo
aXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLnR5cGUgd2l0aCBhIGZvcndhcmQNCisgICAgICAgICAgICBhbmQgYmFjayBuYXZpZ2F0aW9u
LjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5
ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIEl0IHNob3VsZCB0dXJuIGdyZWVuIGZvciBh
IHN0YXJ0aW5nDQorICAgICAgICAgICAgbmF2aWdhdGlvbiwgYmFjayB0byB5ZWxsb3cgZm9yIGEg
YmFjayBuYXZpZ2F0aW9uIGFuZCB0aGVuIGJhY2sgdG8gZ3JlZW4gYWdhaW4gZm9yIGEgZm9yd2Fy
ZCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxwPkFsb25nIHRoZSBuYXZpZ2F0aW9uIHRp
bWVsaW5lIHRoZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2UudHlwZSBpcyBjaGVja2VkIGZvciBU
WVBFX0JBQ0tfRk9SV0FSRC48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlm
IGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBuYXZpZ2F0aW9uLnR5cGUgYXJlIGNvcnJlY3QgdGhy
b3VnaG91dCB0aGUgbmF2aWdhdGlvbg0KKyAgICAgICAgICAgIHNjZW5hcmlvIGFuZCB0aGUgZnJh
bWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gIE90aGVyd2lzZSwgdGhpcyB0
ZXN0IGZhaWxzLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAg
ICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxv
YWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93
X3dpdGhfb251bmxvYWQuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRkOGExODMz
ZjQ0MmYxYjlhYmI4NDRlOTJlM2NlZTQzZTQzYjI4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBUWVBFXyog
ZW51bWVyYXRpb25zIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGV4aXN0IGFuZCB0
aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSA9
IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEIGlzIGRl
ZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCA9
IDEgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJE
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JB
Q0tfRk9SV0FSRCA9IDIgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVf
UkVTRVJWRUQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LlRZUEVfUkVTRVJWRUQgPSAyNTUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmln
YXRpb25fdHlwZV9lbnVtcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Vu
dW1zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2QwMDE4N2MwYzBjNmRkZDEyMmYxNTgxYTFjM2JkYjNlZjE2
NWIyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9l
bnVtcy5odG1sCkBAIC0wLDAgKzEsNDkgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0K
KyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAg
PHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGVudW1zPC90aXRsZT4NCisgICAg
ICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3
Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFj
ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyA8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
LA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
DQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSBpcyBkZWZpbmVkLiI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgPSAwIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQgaXMgZGVm
aW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9B
RCA9IDEiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tf
Rk9SV0FSRCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLlRZUEVfQkFDS19GT1JXQVJEID0gMiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEID0gMjU1Ijoge30NCit9DQorKi88L3Nj
cmlwdD4NCisgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9u
PC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgVFlQRV8qIGVu
dW1lcmF0aW9ucyBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBleGlzdCBhbmQgdGhl
aXIgdmFsdWVzIGFyZSBjb3JyZWN0LjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmln
YXRpb24nKTsNCisNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX05BVklH
QVRFJywgMCk7DQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9SRUxPQUQn
LCAxKTsNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX0JBQ0tfRk9SV0FS
RCcsIDIpOw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfUkVTRVJWRUQn
LCAyNTUpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yM2QxOTM0ODIyMjkwMWJhMWFlZjQwY2I3ZDBjMjViOTQ4ZjhhZDBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBhbmQg
dGhlIHZhbHVlcyBvZiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiogd2l0aCBhIHJlbG9hZGVk
IG5hdmlnYXRpb24uCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBi
YWNrZ3JvdW5kIGZyYW1lIGJlbG93LiBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJl
bG9hZGVkIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQKKworVGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnR5cGUgPSBUWVBFX1JFTE9BRAorQWxsIG9mIHRoZSB3aWRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuKiB2YWx1ZXMgYWZ0ZXIgcmVsb2FkIGFyZSA+IGFsbCBvZiB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBwcmlvciB0byByZWxvYWQuCisKKworCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50
eXBlID09IFRZUEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSAKK1BBU1MgUmVsb2FkIGNv
bm5lY3RFbmQgPiBPcmlnaW5hbCBjb25uZWN0RW5kIAorUEFTUyBSZWxvYWQgY29ubmVjdFN0YXJ0
ID4gT3JpZ2luYWwgY29ubmVjdFN0YXJ0IAorUEFTUyBSZWxvYWQgZG9tQ29tcGxldGUgPiBPcmln
aW5hbCBkb21Db21wbGV0ZSAKK1BBU1MgUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+
IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCAKK1BBU1MgUmVsb2FkIGRvbUNvbnRl
bnRMb2FkZWRFdmVudFN0YXJ0ID4gT3JpZ2luYWwgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQg
CitQQVNTIFJlbG9hZCBkb21JbnRlcmFjdGl2ZSA+IE9yaWdpbmFsIGRvbUludGVyYWN0aXZlIAor
UEFTUyBSZWxvYWQgZG9tTG9hZGluZyA+IE9yaWdpbmFsIGRvbUxvYWRpbmcgCitQQVNTIFJlbG9h
ZCBkb21haW5Mb29rdXBFbmQgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBFbmQgCitQQVNTIFJlbG9h
ZCBkb21haW5Mb29rdXBTdGFydCA+IE9yaWdpbmFsIGRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyBS
ZWxvYWQgZmV0Y2hTdGFydCA+IE9yaWdpbmFsIGZldGNoU3RhcnQgCitQQVNTIFJlbG9hZCBsb2Fk
RXZlbnRFbmQgPiBPcmlnaW5hbCBsb2FkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCBsb2FkRXZlbnRT
dGFydCA+IE9yaWdpbmFsIGxvYWRFdmVudFN0YXJ0IAorUEFTUyBSZWxvYWQgbmF2aWdhdGlvblN0
YXJ0ID4gT3JpZ2luYWwgbmF2aWdhdGlvblN0YXJ0IAorUEFTUyBSZWxvYWQgcmVkaXJlY3RFbmQg
PT0gT3JpZ2luYWwgcmVkaXJlY3RFbmQgCitQQVNTIFJlbG9hZCByZWRpcmVjdFN0YXJ0ID09IE9y
aWdpbmFsIHJlZGlyZWN0U3RhcnQgCitQQVNTIFJlbG9hZCByZXF1ZXN0U3RhcnQgPiBPcmlnaW5h
bCByZXF1ZXN0U3RhcnQgCitQQVNTIFJlbG9hZCByZXNwb25zZUVuZCA+IE9yaWdpbmFsIHJlc3Bv
bnNlRW5kIAorUEFTUyBSZWxvYWQgcmVzcG9uc2VTdGFydCA+IE9yaWdpbmFsIHJlc3BvbnNlU3Rh
cnQgCitQQVNTIFJlbG9hZCB1bmxvYWRFdmVudEVuZCA+IE9yaWdpbmFsIHVubG9hZEV2ZW50RW5k
IAorUEFTUyBSZWxvYWQgdW5sb2FkRXZlbnRTdGFydCA+IE9yaWdpbmFsIHVubG9hZEV2ZW50U3Rh
cnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZTJiYTVmNTZlZmE2ODZhZTY0ZWViZjM2OGU3NzcwMGMxYjY0YzFkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sCkBAIC0w
LDAgKzEsMTQ0IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQor
ICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIHdpdGggYSByZWxvYWRlZCBuYXZpZ2F0aW9uPC90
aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVm
PSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10
aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQor
ew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIN
CisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsN
CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2lu
ZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRw
Oi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgPT0gVFlQRV9SRUxPQUQse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9Ijoge30sDQorICAiUmVs
b2FkIGNvbm5lY3RFbmQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBjb25uZWN0RW5kKDEzNDAz
NzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGNvbm5lY3RTdGFydCgxMzQwMzc2MDcwMjk1KSA+
IE9yaWdpbmFsIGNvbm5lY3RTdGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBk
b21Db21wbGV0ZSgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbXBsZXRlKDEzNDAzNzYw
NzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCgxMzQwMzc2
MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCgxMzQwMzc2MDcwMTc5
KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgxMzQwMzc2MDcw
MzAwKSA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAxNzkp
Ijoge30sDQorICAiUmVsb2FkIGRvbUludGVyYWN0aXZlKDEzNDAzNzYwNzAzMDApID4gT3JpZ2lu
YWwgZG9tSW50ZXJhY3RpdmUoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgZG9tTG9h
ZGluZygxMzQwMzc2MDcwMjk5KSA+IE9yaWdpbmFsIGRvbUxvYWRpbmcoMTM0MDM3NjA3MDE3OCki
OiB7fSwNCisgICJSZWxvYWQgZG9tYWluTG9va3VwRW5kKDEzNDAzNzYwNzAyOTUpID4gT3JpZ2lu
YWwgZG9tYWluTG9va3VwRW5kKDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGRvbWFp
bkxvb2t1cFN0YXJ0KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgZG9tYWluTG9va3VwU3RhcnQo
MTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgZmV0Y2hTdGFydCgxMzQwMzc2MDcwMjkw
KSA+IE9yaWdpbmFsIGZldGNoU3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQg
bG9hZEV2ZW50RW5kKDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgbG9hZEV2ZW50RW5kKDEzNDAz
NzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAzMDAp
ID4gT3JpZ2luYWwgbG9hZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxv
YWQgbmF2aWdhdGlvblN0YXJ0KDEzNDAzNzYwNzAyOTApID4gT3JpZ2luYWwgbmF2aWdhdGlvblN0
YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0RW5kKDApID09IE9y
aWdpbmFsIHJlZGlyZWN0RW5kKDApIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0U3RhcnQoMCkg
PT0gT3JpZ2luYWwgcmVkaXJlY3RTdGFydCgwKSI6IHt9LA0KKyAgIlJlbG9hZCByZXF1ZXN0U3Rh
cnQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCByZXF1ZXN0U3RhcnQoMTM0MDM3NjA3MDE2NCki
OiB7fSwNCisgICJSZWxvYWQgcmVzcG9uc2VFbmQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCBy
ZXNwb25zZUVuZCgxMzQwMzc2MDcwMTc0KSI6IHt9LA0KKyAgIlJlbG9hZCByZXNwb25zZVN0YXJ0
KDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgcmVzcG9uc2VTdGFydCgxMzQwMzc2MDcwMTY0KSI6
IHt9LA0KKyAgIlJlbG9hZCB1bmxvYWRFdmVudEVuZCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFs
IHVubG9hZEV2ZW50RW5kKDApIjoge30sDQorICAiUmVsb2FkIHVubG9hZEV2ZW50U3RhcnQoMTM0
MDM3NjA3MDI5NikgPiBPcmlnaW5hbCB1bmxvYWRFdmVudFN0YXJ0KDApIjoge30NCit9DQorKi88
L3NjcmlwdD4gICAgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtl
eHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0ZXN0
IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAgICAgICB0ZXN0
X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHZhciByZWxvYWRfZnJhbWU7
DQorICAgICAgICAgICAgdmFyIHN0YXJ0aW5nVGltZTsNCisNCisgICAgICAgICAgICBmdW5jdGlv
biBkZWVwQ29weShwLCBjKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIGMg
PSBjIHx8IHt9Ow0KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIHApDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcFtpXSA9PT0gJ29iamVj
dCcpDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgY1tp
XSA9IChwW2ldLmNvbnN0cnVjdG9yID09PSBBcnJheSkgPyBbXSA6IHt9Ow0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGRlZXBDb3B5KHBbaV0sIGNbaV0pOw0KKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIGNbaV0gPSBwW2ldOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAg
IHJldHVybiBjOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICANCisgICAgICAgICAg
ICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICByZWxvYWRfZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7
DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsNCisg
ICAgICAgICAgICAgICAgICAvKiBOZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBleGFtaW5lIGxv
YWRFdmVudEVuZA0KKyAgICAgICAgICAgICAgICAgICAgIHVudGlsIGFmdGVyIHRoZSBsb2FkIGV2
ZW50IGhhcyBmaW5pc2hlZCBmaXJpbmcgKi8NCisJCSAgICBzZXRUaW1lb3V0KGRvX3Rlc3QsIDAp
Ow0KKwkJfQ0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJyZWxvYWRfdGhlX2ZyYW1lKCk7
IiwgMTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gcmVsb2Fk
X3RoZV9mcmFtZSgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAvL0JlZm9yZSBy
ZWxvYWRpbmcsIHNhdmUgdGhlIGN1cnJlbnQgdGltaW5nDQorICAgICAgICAgICAgICAgIHN0YXJ0
aW5nVGltZSA9IGRlZXBDb3B5KHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyk7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93Lmxv
Y2F0aW9uLnJlbG9hZCh0cnVlKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVu
Y3Rpb24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRf
ZnJhbWUub25sb2FkID0gbnVsbDsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFt
ZXNwYWNlKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvL1Zlcmlm
eSB0aGF0IHRoZSBuYXZpZ2F0aW9uIHR5cGUgaGFzIHVwZGF0ZWQgdG8gcmVsb2FkDQorICAgICAg
ICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBl
cmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZ
UEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifScpOw0KKw0KKyAgICAgICAgICAgICAgICAg
ICAgLy9WZXJpZnkgdGhhdCB0aGUgdGltaW5nIGRhdGEgaGFzIGJlZW4gdXBkYXRlZCBpbnRvIHRo
ZSBmdXR1cmUNCisgICAgICAgICAgICAgICAgICAgIHZhciByZWxvYWRUaW1lID0gcmVsb2FkX2Zy
YW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKyAgICAgICAgICAgICAgICAg
ICAgZm9yIChhdHRyaWJ1dGUgaW4gdGltaW5nQXR0cmlidXRlcykNCisgICAgICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGltZSA9IHRpbWluZ0F0dHJpYnV0
ZXNbYXR0cmlidXRlXTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVsb2FkVGltZVt0
aW1lXSA9PT0gMCkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlbG9hZFRpbWVbdGltZV0sDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGltZSAgKw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID09ICIgKw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3JpZ2luYWwgIiArIHRpbWUgKTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF9ncmVhdGVyX3RoYW4ocmVsb2FkVGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmdUaW1lW3RpbWVdLA0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVsb2FkICIgKyB0aW1lICAr
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgPiAiICsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9yaWdpbmFs
ICIgKyB0aW1lICk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsN
CisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8
Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwv
aDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGFuZCB0aGUgdmFsdWVzIG9mDQorICAgICAgICAg
ICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSByZWxvYWRlZCBuYXZpZ2F0aW9u
LjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBn
cmVlbiBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGlj
YWxseSByZWxvYWRlZA0KKyAgICAgICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCANCisgICAgICAg
IDx1bD4NCisgICAgICAgICAgICA8bGk+VGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgPSBUWVBFX1JFTE9BRDwvbGk+DQorICAgICAgICAgICAgPGxpPkFsbCBvZiB0aGUgd2lk
b3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzIGFmdGVyIHJlbG9hZCBhcmUgPiBhbGwgb2Yg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMNCisgICAgICAgICAgICAgICAg
cHJpb3IgdG8gcmVsb2FkLjwvbGk+DQorICAgICAgICA8L3VsPg0KKyAgICAgICAgPC9wPg0KKw0K
KyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAg
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxh
bmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48
L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9u
b19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVmY2U5YzVkYzA2
MDQwZWEyYTlmZmM4ZTM5NjNkMGJhY2QyOWIwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB1bmxvYWQgZXZlbnQgdGlt
ZXMgYXJlIDAgd2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBkb2N1bWVudC4KKworCisKKworUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBU
WVBFX05BVklHQVRFIAorUEFTUyB0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9uIG5hdmln
YXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCAKK1BBU1MgdGltaW5nLnVubG9hZEV2ZW50
RW5kID09IDAgbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50IAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzIyNGNlN2I0Mzhj
MDA5OGNjNTQ4YTI0NTg0OWU1ZTdjNzA1MzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbApAQCAtMCwwICsxLDU4IEBACivvu788IURP
Q1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0
dHJpYnV0ZXMgb24gYW4gaW5pdGlhbCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAg
ICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdp
bmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3Jt
YW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93
d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2Vy
dCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9y
IjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5uYXZpZ2F0aW9u
LnR5cGUgaXMgVFlQRV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAg
InRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZp
b3VzIGRvY3VtZW50Ijoge30sDQorICAidGltaW5nLnVubG9hZEV2ZW50RW5kID09IDAgbmF2aWdh
dGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50Ijoge30NCit9DQorKi88L3NjcmlwdD4NCisg
ICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuY3NzIiAvPg0KKyAgICANCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0
dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB2YXIgZnJhbWU7DQor
ICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0
Iik7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorICAg
ICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSkNCisgICAgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgICAgdGVzdF90cnVlKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRp
b24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5n
Lm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0p
Ow0KKw0KKyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCwgMCwgJ3RpbWluZy51bmxvYWRF
dmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50Jyk7
DQorICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCwgMCwgJ3RpbWluZy51bmxvYWRFdmVudEVu
ZCA9PSAwIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcpOw0KKyAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAg
ICAgICA8L3NjcmlwdD4NCisgICAgICAgIA0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9h
ZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAg
ICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHVubG9hZCBldmVudCB0aW1lcyBhcmUgMCB3
aGVuIHRoZXJlIGlzIG5vIHByZXZpb3VzIGRvY3VtZW50LjwvcD4NCisNCisgICAgICAgIDxkaXYg
aWQ9ImxvZyI+PC9kaXY+PGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQi
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5bGU9
IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQor
PC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0
ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkMmQ4NjllM2NiMzkwMTY0MDI0
NmE1NTczZDNlY2Q1NzNlM2QxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Bl
cmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAor
RGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGFu
ZCB0aW1pbmcgYXR0cmlidXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1hbmNlIChidXQgZG9l
cyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMg
ZGVmaW5lZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19l
eGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMThhOWQ5Njg3NWMxZTE2OWQxYjc5NTU1YTcxNThiNGRj
MWM5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQor
PGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQor
ICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAg
ICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93
d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0
cmlidXRlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorIDxz
Y3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0
aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgPC9oZWFkPg0K
KyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5U
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIG5hdmlnYXRpb24gYW5kIHRpbWluZyBhdHRyaWJ1
dGVzIGV4aXN0IGZvciB3aW5kb3cucGVyZm9ybWFuY2UgDQorICAgICAgICAoYnV0IGRvZXMgbm90
IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorICAgICAgICA8
ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4gICAgICAgICAgICANCisgICAg
ICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCd0aW1pbmcnLCB0cnVlKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2Jv
ZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0
dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Bl
cmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNmQ5ZmQ1NGI1N2E1MGM5NDE3M2ZhMDVjYjU0ZDMyMmIwODRiNDQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9v
YmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGV4aXN0cyBp
biBhbiBvYmplY3QgZWxlbWVudCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFs
dWVzIGFyZSBjb3JyZWN0KS4KKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVy
Zm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODU1NGJjOTc1NDgxYjFkZGJkYjEyZjNjOWY3ZDMyZTJhODFmNTcxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0
Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAg
IDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0
bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBleGlzdHMgaW4gYW4gb2JqZWN0PC90aXRs
ZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxz
Y3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0
aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgICAgICA8c2Ny
aXB0Pg0KKyAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsNCisgICAgICAgICAgICB2
YXIgb2JqV2luZG93ID0NCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im9iamVjdENvbnRleHQiKS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7DQorICAgICAgICAg
ICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBvYmpXaW5kb3cucGVyZm9ybWFuY2U7DQorICAgICAg
ICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJywgdHJ1ZSk7DQorICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0
Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZv
cm1hbmNlIG9iamVjdCBleGlzdHMgaW4gYW4NCisgICAgICAgIG9iamVjdCBlbGVtZW50IChidXQg
ZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisg
ICAgICAgIDxvYmplY3QgaWQ9Im9iamVjdENvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsi
IGRhdGE9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iPjwvb2Jq
ZWN0Pg0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgPC9ib2R5Pg0KKzwvaHRt
bD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3JpdGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTg5Yjk2
NGQ3MGY5Njk0ZGVhNWFjMTg1YzFkZjRjZTYwYzQ0M2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNl
IG9iamVjdCBpcyByZWFkL3dyaXRlLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIAorUEFTUyB2YXIg
cGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
cmVhZHdyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9yZWFkd3JpdGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MzM2NjI2NWI1ZjUwNzQwNWVlMDRjMWEzMWI5MzhmZjE1M2M2OTUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor77u/
PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGlzIHJl
YWQvd3JpdGU8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNy
b3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13
aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIi8+DQorCTxtZXRhIG5hbWU9ImFzc2VydCIgY29u
dGVudD0iVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5n
IGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIi8+DQorICAgICAgICA8
c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2Fj
aGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUiOiB7
fSwNCisgICJ2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSI6IHt9DQorfQ0KKyovPC9zY3Jp
cHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAg
IDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRo
YXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgaXMgcmVhZC93cml0ZS48L3A+DQorICAg
ICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAg
ICB0ZXN0X25hbWVzcGFjZSgpOw0KKw0KKyAgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZSA9
ICdmb28nOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHdpbmRvdy5wZXJmb3JtYW5jZSwgJ2Zv
bycsICd3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZScpOw0KKw0KKyAgICAgICAgICAg
IHZhciBwZXJmb3JtYW5jZSA9ICdiYXInOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZv
cm1hbmNlLCAnYmFyJywgJ3ZhciBwZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlJyk7DQorICAgICAg
ICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVh
MTZiZjFiYWFlZWM1N2JjODM0OTc3MGYyNjAxZTdjY2VkZGY3MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxs
IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBk
b2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5l
Y3RFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVj
dFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNv
bXBsZXRlIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNv
bnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nIGlzIGRlZmluZWQuIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCBpcyBkZWZpbmVkLiAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCBpcyBkZWZpbmVk
LiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IGlzIGRlZmluZWQu
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCBpcyBkZWZpbmVk
LiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgaXMg
ZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgaXMg
ZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBp
cyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQg
aXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQg
aXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFy
dCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVu
dEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRF
dmVudFN0YXJ0IGlzIGRlZmluZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1p
bmdfYXR0cmlidXRlc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0
ZXNfZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQzOWQ1NDE5OWUwZDQ2OWFjNDY0MmUwY2JjYzU0
ZWU3NWJlYmNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJp
YnV0ZXNfZXhpc3QuaHRtbApAQCAtMCwwICsxLDYxIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8
aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisg
ICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXM8L3RpdGxl
Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0
dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWlu
Zy1pbnRlcmZhY2UiLz4gICAgICAgIA0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFu
Y2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0
dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBh
dHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQor
ICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCBpcyBkZWZpbmVk
LiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0IGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSBp
cyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVu
dExvYWRlZEV2ZW50RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgaXMgZGVmaW5lZC4iOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgaXMgZGVmaW5lZC4i
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCBpcyBk
ZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3Vw
U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZl
dGNoU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcubG9hZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCBpcyBkZWZpbmVkLiI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgaXMg
ZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50
RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxv
YWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgPC9o
ZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAg
ICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRo
ZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48
L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGlt
aW5nJyk7DQorDQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMu
bGVuZ3RoOyArK2kpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGVzdF9hdHRyaWJ1dGVfZXhp
c3RzKCd0aW1pbmcnLCB0aW1pbmdBdHRyaWJ1dGVzW2ldKTsNCisgICAgICAgIH0NCisgICAgICAg
IDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90
ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzFk
ODE4NGQzYjczYzFkZTNiNmU4OGIyNDRlMDdjMmQ0YjFmNGQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNTggQEAKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxl
cihzKQorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgb3JkZXJpbmcgb2Yg
dGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcy4KKworVGhpcyBwYWdlIHNo
b3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93IHdoaWNo
IGNvbnRhaW5zIGFuIHVubG9hZCBldmVudCBoYW5kbGVyLgorCitBZnRlciB0aGUgcGFnZSBsb2Fk
cywgdGhlIGZyYW1lIGlzIG5hdmlnYXRlZCB0byBhIG5ldyBibGFuayBwYWdlIHdpdGggYSBncmVl
biBiYWNrZ3JvdW5kLiBBdCB0aGlzIHBvaW50LCB0aGUgbmF2aWdhdGlvbiB0aW1lbGluZSBpcyB2
ZXJpZmllZAorCitUaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBm
cmFtZS53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgYXJlIGNvcnJlY3QgdGhy
b3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMg
d2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLgorCitT
ZXR1cAorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlZGlyZWN0U3RhcnQgPT0gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRp
cmVjdEVuZCA9PSAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQg
PiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgPj0gd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZmV0Y2hTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBF
bmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZG9tYWluTG9va3VwRW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RF
bmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgPj0gd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZXF1ZXN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5k
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgPiAwIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVzcG9uc2VFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3Bv
bnNlRW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZmV0Y2hTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2
ZSA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPj0g
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+IDAgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPj0gd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21Db21wbGV0ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZl
bnRTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3Rh
cnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy51bmxvYWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51
bmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0
YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID4gMCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90
aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZTliMTgzZTgxM2VkNDUw
M2FiZjczN2RmZWViN2ExYjRkM2Q0MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sCkBAIC0wLDAgKzEsMTY3IEBACivvu788IURP
Q1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0
dHJpYnV0ZSBvcmRlcmluZyBvbiBhIHNpbXBsZSBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAg
IDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1p
Y3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNl
Ii8+ICAgICAgICANCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
ICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuY3NzIiAvPg0KKyA8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAi
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1
dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmli
dXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVk
Ijogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZv
ciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzND
IGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kID09IDAiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgPiAwIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcubmF2aWdhdGlvblN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5kb21haW5Mb29rdXBTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hT
dGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5k
ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5k
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+IDAiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuY29ubmVjdEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmNvbm5lY3RFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCA+IDAiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCA+PSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLnJlc3BvbnNlU3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZXNwb25zZVN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0
YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+IDAi
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUxvYWRpbmcgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0
YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+
IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID49
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQiOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID4gMCI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQg
Pj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID4gMCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQi
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlID4gMCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPj0gd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQiOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmxvYWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRF
dmVudFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVu
dFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZl
bnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPiAwIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQiOiB7fQ0KK30NCisqLzwvc2NyaXB0
PiAgICAgICANCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0
X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7
DQorDQorICAgICAgICAgICAgdmFyIHN0ZXAgPSAxOw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9u
bG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChzdGVwID09
PSAxICYmIHdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAg
ICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAg
ICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgdmFyIG5hdmlnYXRpb25fZnJhbWUg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVudFdpbmRvdzsN
CisgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBuYXZpZ2F0aW9uX2ZyYW1l
LnBlcmZvcm1hbmNlOw0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0ZXApDQorICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGNhc2UgMToNCisgICAgICAgICAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmxvY2F0aW9u
LmhyZWYgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSc7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBjYXNlIDI6
DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9u
YW1lc3BhY2UoJ25hdmlnYXRpb24nLCB0cnVlKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRlc3RzDQorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8NCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3Jt
YW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5hdmlnaWF0aW9uIG11c3QgYmUgbm9uLTANCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4oJ25hdmlnYXRp
b25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG11c3QgYmUgbm8g
cmVkaXJlY3Rpb24gZm9yIHRoaXMgdGVzdCBjYXNlDQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfZXF1YWxzKCdyZWRpcmVjdFN0YXJ0JywgMCk7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF90aW1pbmdfZXF1YWxzKCdyZWRpcmVjdEVuZCcsIDApOw0KKw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIHZhbGlkYXRlIGF0dHJpYnV0ZSBvcmRlcmluZw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdmZXRjaFN0YXJ0JywgJ25hdmln
YXRpb25TdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVy
KCdkb21haW5Mb29rdXBTdGFydCcsICdmZXRjaFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbWFpbkxvb2t1cEVuZCcsICdkb21haW5Mb29rdXBT
dGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdjb25u
ZWN0U3RhcnQnLCAnZG9tYWluTG9va3VwRW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ2Nvbm5lY3RFbmQnLCAnY29ubmVjdFN0YXJ0Jyk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3JlcXVlc3RTdGFydCcsICdjb25u
ZWN0RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3Jl
c3BvbnNlU3RhcnQnLCAncmVxdWVzdFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ3Jlc3BvbnNlRW5kJywgJ3Jlc3BvbnNlU3RhcnQnKTsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tTG9hZGluZycsICdmZXRj
aFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2Rv
bUludGVyYWN0aXZlJywgJ3Jlc3BvbnNlRW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0JywgJ2RvbUludGVy
YWN0aXZlJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2Rv
bUNvbnRlbnRMb2FkZWRFdmVudEVuZCcsICdkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Db21wbGV0ZScs
ICdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0X3RpbWluZ19vcmRlcignbG9hZEV2ZW50U3RhcnQnLCAnZG9tQ29udGVudExvYWRlZEV2ZW50
RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2xvYWRF
dmVudEVuZCcsICdsb2FkRXZlbnRTdGFydCcpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIHNldHVwIHJlcXVpcmVzIHRoZSBmcmFtZSB0byBoYXZlIGEgcHJldmlvdXMgcGFnZSB3aXRo
IGFuIG9udW5sb2FkIGV2ZW50IGhhbmRsZXIuDQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dF90aW1pbmdfb3JkZXIoJ3VubG9hZEV2ZW50U3RhcnQnLCAnbmF2aWdhdGlvblN0YXJ0Jyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3VubG9hZEV2ZW50RW5k
JywgJ3VubG9hZEV2ZW50U3RhcnQnKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICBzdGVw
Kys7DQorICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+
DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIG9yZGVyaW5nIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nIGF0dHJpYnV0ZXMuPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdlIHNob3Vs
ZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93IHdoaWNoIGNv
bnRhaW5zIGFuIHVubG9hZCBldmVudA0KKyAgICAgICAgICAgaGFuZGxlci48L3A+DQorDQorICAg
ICAgICA8cD5BZnRlciB0aGUgcGFnZSBsb2FkcywgdGhlIGZyYW1lIGlzIG5hdmlnYXRlZCB0byBh
IG5ldyBibGFuayBwYWdlIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiAgQXQgdGhpcyBwb2ludCwg
dGhlIG5hdmlnYXRpb24gdGltZWxpbmUgaXMgdmVyaWZpZWQ8L3A+DQorDQorICAgICAgICA8cD5U
aGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBmcmFtZS53aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgYXJlDQorICAgICAgICAgICBjb3JyZWN0IHRo
cm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2NlbmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRz
IHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLg0KKyAgICAgICAgICAgT3RoZXJ3aXNlLCB0aGlzIHRl
c3QgZmFpbHMuPC9wPg0KKw0KKyAgICAgICAgPGgxPlNldHVwPC9oMT4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9
ImZyYW1lQ29udGV4dCINCisgICAgICAgICAgICAgICAgb25sb2FkPSIvKiBOZWVkIHRvIG1ha2Ug
c3VyZSB3ZSBkb24ndCBleGFtaW5lIGxvYWRFdmVudEVuZA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVudGlsIGFmdGVyIHRoZSBsb2FkIGV2ZW50IGhhcyBmaW5pc2hlZCBmaXJpbmcgKi8N
CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KG9ubG9hZF90ZXN0LCAwKTsiDQor
ICAgICAgICAgICAgICAgIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3Vu
bG9hZC5odG0iDQorICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDog
MjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbC90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMxNDJiODkyZGIyNWI2MDAzMjNlODcxMTA2ZDYyNmU4NGVkNDhmNTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2
YWx1ZXMgb2YgdGhlIHdpbmRvdy5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIG9uIGEgY2xpZW50
IHNpZGUgcmVkaXJlY3QuCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmlu
ZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmln
YXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB0aW1pbmcu
cmVkaXJlY3RTdGFydCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQ
QVNTIHRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmln
YXRpb24gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJl
Y3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZjBkZmNhNjQxMWMwYTJkOGUwNWUzM2VjMGVhZmFhOGI5MWY1YjQxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sCkBA
IC0wLDAgKzEsNzggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4N
CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3QgYXR0cmlidXRlcyBvbiBhIGNsaWVudCByZWRp
cmVjdCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5n
LyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRh
ZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
biBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAi
YXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9z
dGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJh
dXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1
dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAi
dGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIjogeyAiaGVscCI6ICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1p
bnRlcmZhY2UiIH0sDQorICAibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xp
ZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0K
KyAgInRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2
aWdhdGlvbiI6IHt9LA0KKyAgInRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVudCBy
ZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAg
ICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVz
dF9uYW1lc3BhY2UoJ3RpbWluZycsIHRydWUpOw0KKw0KKyAgICAgICAgICAgIHZhciByZWRpcmVj
dF9mcmFtZTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVm
aW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQg
c2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAg
IHJlZGlyZWN0X2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIp
Ow0KKyAgICAgICAgICAgICAgICByZWRpcmVjdF9mcmFtZS5vbmxvYWQgPSBkb190ZXN0Ow0KKyAg
ICAgICAgICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiBkb190ZXN0KCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHJlZGlyZWN0X2ZyYW1lLm9ubG9hZCA9ICIiOw0KKyAg
ICAgICAgICAgICAgICB0ZXN0X3RydWUocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZp
Z2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisN
CisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0aW9uLnJl
ZGlyZWN0Q291bnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyx7aGVs
cDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9u
LWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWRpcmVj
dF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0LCAw
LCAndGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZp
Z2F0aW9uJyk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlZGlyZWN0X2ZyYW1lLmNv
bnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kLCAwLCAndGltaW5nLnJl
ZGlyZWN0RW5kID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKw0K
KyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3Jp
cHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+
DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50
IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RT
dGFydC9FbmQgdGltZXMgb24gYSBjbGllbnQgc2lkZSByZWRpcmVjdC48L3A+DQorDQorICAgICAg
ICA8ZGl2IGlkPSJsb2ciPjwvZGl2PjxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVD
b250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9tZXRhX3JlZGly
ZWN0Lmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0K
KyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWlu
Z19yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZhZDcwNDllYzU0MjA3MzFiNDM1NzdmODU0NDNkNjk1YmU5
NDMzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGNoYW5n
ZSB3aGVuIGEgcGFnZSBpcyByZWxvYWRlZC4KKworVGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQg
d2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJhbWUgYmVsb3cuIFRoZSBmcmFtZSB3aWxsIGJlIGF1
dG9tYXRpY2FsbHkgcmVsb2FkZWQgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHRoZSBuZXcg
cmVsb2FkZWQgbmF2aWdhdGlvbiB0aW1pbmdzLgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
UkVMT0FEIAorUEFTUyBjb25uZWN0RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAK
K1BBU1MgY29ubmVjdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1Mg
ZG9tQ29tcGxldGUgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Db250
ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBk
b21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4g
CitQQVNTIGRvbUludGVyYWN0aXZlIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BB
U1MgZG9tTG9hZGluZyBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbWFp
bkxvb2t1cEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbWFpbkxv
b2t1cFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZmV0Y2hTdGFy
dCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIGRpZmZl
cmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlzIGRpZmZlcmVu
dCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgcmVxdWVzdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRl
ciB0aGUgcmVsb2FkLiAKK1BBU1MgcmVzcG9uc2VFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIAorUEFTUyByZXNwb25zZVN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2Fk
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdGltaW5nX3JlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzQxY2M5ODkwZWNl
MTBjMTY0YTk5ZTNkZTMyNGQ2ZGU0YzFiZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfcmVsb2FkLmh0bWwKQEAgLTAsMCArMSwxMjIgQEAKK++7vzwhRE9DVFlQRSBo
dG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRl
cyBhZnRlciBhIHJlbG9hZGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
bS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKzxz
Y3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0
aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FEIjogeyAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmln
YXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAiY29ubmVjdEVuZCBpcyBkaWZmZXJlbnQgYWZ0
ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJjb25uZWN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVy
IHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tQ29tcGxldGUgaXMgZGlmZmVyZW50IGFmdGVyIHRo
ZSByZWxvYWQuIjoge30sDQorICAiZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIGRpZmZlcmVu
dCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUludGVyYWN0aXZl
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUxvYWRpbmcgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAiZG9tYWluTG9va3VwRW5kIGlz
IGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbWFpbkxvb2t1cFN0YXJ0
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImZldGNoU3RhcnQgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAibG9hZEV2ZW50RW5kIGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImxvYWRFdmVudFN0YXJ0IGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgIm5hdmlnYXRpb25TdGFydCBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJyZXF1ZXN0U3RhcnQgaXMgZGlm
ZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAicmVzcG9uc2VFbmQgaXMgZGlmZmVy
ZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAicmVzcG9uc2VTdGFydCBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAg
ICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFy
dCB0ZXN0aW5nDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisN
CisgICAgICAgICAgICB2YXIgcmVsb2FkX2ZyYW1lOw0KKyAgICAgICAgICAgIHZhciBpbml0aWFs
X3RpbWluZzsNCisNCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorDQorICAgICAgICAgICAgICAgIGlmIChyZWxvYWRf
ZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQor
ICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47
DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lLm9u
bG9hZCA9IGRvX3Rlc3Q7DQorDQorICAgICAgICAgICAgICAgIC8vIHNhdmUgZnJhbWUncyBpbml0
aWFsIHRpbWluZ3MNCisgICAgICAgICAgICAgICAgaW5pdGlhbF90aW1pbmcgPSB7fTsNCisgICAg
ICAgICAgICAgICAgdmFyIHRpbWluZyA9IHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZzsNCisNCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0
aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOw0KKyAgICAg
ICAgICAgICAgICAgICAgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldID0gdGltaW5nW3Byb3BlcnR5
XTsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJy
ZWxvYWRfdGhlX2ZyYW1lKCk7IiwgMTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAg
ICAgZnVuY3Rpb24gcmVsb2FkX3RoZV9mcmFtZSgpDQorICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5yZWxvYWQodHJ1ZSk7
DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGRvX3Rlc3QoKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lLm9ubG9hZCA9ICIiOw0K
Kw0KKyAgICAgICAgICAgICAgICAvLyBlbnN1cmUgdGhlIGZyYW1lIHJlbG9hZGVkDQorICAgICAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9S
RUxPQUQiLCB7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICAvLyBl
bnN1cmUgcmVsb2FkIHRpbWluZ3MgY2hhbmdlZA0KKyAgICAgICAgICAgICAgICB2YXIgdGltaW5n
ID0gcmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKyAgICAg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyAr
K2kpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0
eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07DQorDQorICAgICAgICAgICAgICAgICAgICAvLyBpZ25v
cmUgYW55IHRpbWluZ3MgdGhhdCB3ZXJlIHplcm8gaW5pdGlhbGx5DQorICAgICAgICAgICAgICAg
ICAgICBpZiAoaW5pdGlhbF90aW1pbmdbcHJvcGVydHldICE9PSAwKQ0KKyAgICAgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rfbm90X2VxdWFscyh0aW1pbmdb
cHJvcGVydHldLCBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0sDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcm9wZXJ0eSArICIgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
Iik7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAg
ICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0K
KyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAg
ICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGNoYW5nZSB3aGVu
IGEgcGFnZSBpcyByZWxvYWRlZC48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxk
IGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIFRoZSBmcmFt
ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQNCisgICAgICAgIGFuZCB0aGVuIHZlcmlm
aWVkIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBoYXZlIGJl
ZW4gdXBkYXRlZCB0byB0aGUgbmV3IHJlbG9hZGVkIG5hdmlnYXRpb24gdGltaW5ncy48L3A+DQor
DQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAg
ICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9i
bGFua19wYWdlX2dyZWVuLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsi
PjwvaWZyYW1lPg0KKw0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbC90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNi
ZDE5YjcyNTk0OWEwMDEzZTEzZTJiNzhhMTcwYzcwZWQ3YTZiMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTkgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVl
cyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIHNhbWUtb3Jp
Z2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24uCisKKworCisKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJ
R0FURSAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDEgb24gYW4gc2VydmVyIHJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZp
Z2F0aW9uU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0
U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQg
Pj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnJlZGlyZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVk
aXJlY3RTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID4g
MCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90
ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19z
ZXJ2ZXJfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjE3YzhmNzA1YmFlNGUzOTIzMGVlOWE2
MzhkZmNmZDM0MGI2MmIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5n
X3NlcnZlcl9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKK++7vzwhRE9DVFlQRSBIVE1M
Pg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
Pg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3QgYXR0
cmlidXRlcyBvbiBhIHNhbWUtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb248L3Rp
dGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9
Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRp
bWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rl
c3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25h
dmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09
PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8v
IGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAg
ICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
cmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlOw0KKyAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAg
ICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBF
X05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50
eXBlIGlzIFRZUEVfTkFWSUdBVEUnKTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVy
Zm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50LCAxLCAnbmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50ID09IDEgb24gYW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicp
Ow0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4oJ25hdmlnYXRp
b25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVk
aXJlY3RTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgdGVzdF90
aW1pbmdfb3JkZXIoJ3JlZGlyZWN0RW5kJywgJ3JlZGlyZWN0U3RhcnQnKTsNCisgICAgICAgICAg
ICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAncmVkaXJlY3RFbmQnKTsNCisg
ICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8
Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRl
c3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRpcmVj
dENvdW50IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVk
aXJlY3RTdGFydC9FbmQgdGltZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJl
Y3QgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAg
ICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0i
b25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
bG9jYXRpb249L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5
bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3Jl
ZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGly
ZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzA4MjE0YzgyMmQwNDVjMDQzZGMzYTA4NGIz
ODhlMTE1MzIyYmYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3hz
ZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0Rlc2NyaXB0aW9u
CisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93LnBlcmZvcm1h
bmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVj
dCBuYXZpZ2F0aW9uLgorCisKKworCitGQUlMIFN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhv
c3RuYW1lIGlzIGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBhc3NlcnRfZXF1YWxzOiBTdGFydGlu
ZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4wLjE6ODAwMCkg
ZXhwZWN0ZWQgIjEyNy4wLjAuMTo4MDAwIiBidXQgZ290ICIxMjcuMC4wLjEiCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbiBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFW
SUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGEgY3Jvc3Mtb3Jp
Z2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1MgdGltaW5nLnJlZGlyZWN0U3RhcnQg
PT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFp
biAKK1BBU1MgdGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBu
YXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21haW4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90
ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdf
eHNlcnZlcl9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NjYwOWNhYzRlYjdkNDFhMjUwZjIw
MTFjYjI0MmI2Mjc4NjQxZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1p
bmdfeHNlcnZlcl9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsODkgQEAKK++7vzwhRE9DVFlQRSBo
dG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3Qg
YXR0cmlidXRlcyBvbiBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9u
PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBo
cmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlv
bi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIlN0YXJ0aW5n
IGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6
IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUg
d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3Ig
cGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBo
dHRwOi8vd3d3LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAg
ICAgICAgICAgLy8NCisgICAgICAgICAgICAvLyBUZXN0IGNvbmZpZ3VyYXRpb24NCisgICAgICAg
ICAgICAvLw0KKw0KKyAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IHBhZ2UncyBvcmlnaW4NCisg
ICAgICAgICAgICB2YXIgcGFnZU9yaWdpbiA9ICcxMjcuMC4wLjE6ODAwMCc7DQorDQorICAgICAg
ICAgICAgLy8gdGhlIG9yaWdpbiB0byByZWRpcmVjdCB0aHJvdWdoDQorICAgICAgICAgICAgdmFy
IHJlZGlyZWN0T3JpZ2luID0gJ2xvY2FsaG9zdDo4MDAwJzsNCisNCisgICAgICAgICAgICAvLw0K
KyAgICAgICAgICAgIC8vIFRlc3RzDQorICAgICAgICAgICAgLy8NCisgICAgICAgICAgICBmdW5j
dGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0ZXN0
X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFu
Y2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAg
ZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9
DQorDQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2U7DQor
ICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRp
b24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5u
YXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWlu
Zy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9
KTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2
aWdhdGlvbi5yZWRpcmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAg
b24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicsIHtoZWxwOiJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5m
by1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJf
dGhhbignbmF2aWdhdGlvblN0YXJ0JywgMCk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfZXF1
YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0LCAwLCAndGltaW5n
LnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJv
bSBhbm90aGVyIGRvbWFpbicpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3Jt
YW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RFbmQg
PT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFp
bicpOw0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+
RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFs
dWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhlDQorICAg
ICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVz
IGZvciBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLjwvcD4N
CisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAg
ICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIiIHN0eWxlPSJ3aWR0aDogMjUwcHg7
IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAg
ICAgLy8gZW5zdXJlIHdlJ3JlIHN0YXJ0aW5nIGF0IHRoZSByaWdodCBvcmlnaW4NCisgICAgICAg
ICAgICB0ZXN0X2VxdWFscyhkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSwgcGFnZU9yaWdpbiwg
J1N0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3QgKCcgKyBwYWdl
T3JpZ2luICsgJyknKTsNCisNCisgICAgICAgICAgICAvLyBjb21iaW5lIHRoZSBwYWdlIG9yaWdp
biBhbmQgcmVkaXJlY3Qgb3JpZ2luIGludG8gdGhlIElGUkFNRSdzIHNyYyBVUkwNCisgICAgICAg
ICAgICB2YXIgZGVzdFVybCA9ICdodHRwOi8vJyArIHJlZGlyZWN0T3JpZ2luICsgJy93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwJzsNCisgICAgICAgICAgICBkZXN0VXJsICAgICs9
ICc/bG9jYXRpb249aHR0cDovLycgKyBwYWdlT3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNvdXJj
ZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0nOw0KKw0KKyAgICAgICAgICAgIHZhciBmcmFtZUNvbnRl
eHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorICAgICAgICAg
ICAgZnJhbWVDb250ZXh0Lm9ubG9hZCA9IG9ubG9hZF90ZXN0Ow0KKyAgICAgICAgICAgIGZyYW1l
Q29udGV4dC5zcmMgPSBkZXN0VXJsOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNl
X29iamVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNl
X29iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExN2FjZjA1NDEyNTI4ZDgxOTE1ZGY2
MzAzNzIyYjgzYzM1MTM2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlx
dWVfcGVyZm9ybWFuY2Vfb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitEZXNj
cmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZWFjaCB3aW5kb3cgaGFzIGEgdW5p
cXVlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVk
IAorUEFTUyBEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2ZSB1bmlxdWUgcGVyZm9ybWFuY2Ug
b2JqZWN0cyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNl
X29iamVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3Rz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGMzNTUxZDI0NjkwZWYwYWU2ZjdhYjVhY2Y4MTRiMzE5ZjE0OTI5
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9v
YmplY3RzLmh0bWwKQEAgLTAsMCArMSw0NSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+
DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAg
ICA8dGl0bGU+RWFjaCB3aW5kb3cgb2JqZWN0IGhhcyBhIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmpl
Y3Q8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQi
IGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiAvPg0KKwk8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9
IkVhY2ggYnJvd3NpbmcgY29udGV4dCBtdXN0IGhhdmUgYSB1bmlxdWUgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBhdHRyaWJ1dGUuIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+
LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2
ZSB1bmlxdWUgcGVyZm9ybWFuY2Ugb2JqZWN0cyI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAg
IDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAg
ICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGVhY2ggd2luZG93IGhhcyBhIHVuaXF1
ZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0LjwvcD4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZy
YW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4u
aHRtIiBzdHlsZT0iZGlzcGxheTpub25lOyI7PjwvaWZyYW1lPg0KKyAgICAgICAgPGRpdiBpZD0i
bG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgdGVzdF9uYW1lc3Bh
Y2UoJ3RpbWluZycpOw0KKw0KKyAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSAh
PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9ub3Rf
ZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZywNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250
ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZywNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2ZSB1bmlxdWUgcGVyZm9ybWFuY2Ug
b2JqZWN0cyIpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2Jv
ZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVuLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjQ1M2QzMWIwZjg4ZjM1ZjlhYjM1MmU1YzI1NmU4MmUyMDU5NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzMgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyByZW1haW5zIGNvbnN0YW50IHdoZW4gYSBkb2N1bWVu
dCBpcyByZXBsYWNlZCB1c2luZyBkb2N1bWVudC5vcGVuLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJl
IGxvYWRlZCB3aXRoIGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0aGVuIHJlcGxhY2VzIHRoZSBk
b2N1bWVudCBpbiB0aGF0IGZyYW1lIHdpdGggYSBncmVlbiBkb2N1bWVudC4KKworVGhlIHRlc3Qg
cGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHBlcmZvcm1hbmNlLnRpbWluZyBhcmUgY29y
cmVjdCBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuCisK
KworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIGNvbm5lY3RF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGNvbm5lY3RTdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tQ29tcGxldGUgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVu
ZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tQ29udGVudExvYWRl
ZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUlu
dGVyYWN0aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Mb2Fk
aW5nIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21haW5Mb29rdXBF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbWFpbkxvb2t1cFN0
YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBmZXRjaFN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIHJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGRvY3VtZW50IG9wZW4uIAorUEFTUyByZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4gCitQQVNTIHJlc3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50
IG9wZW4uIAorUEFTUyByZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIAorUEFTUyB1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiAKK1BBU1MgdW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQwMmUxZjFiMTdl
ZmFiYTk1YjAwNjBhYmZjNjI3OTMxOTAzNDIyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgZm9yIGR5bmFtaWNhbGx5IGNyZWF0ZWQgZG9jdW1lbnRz
PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRw
Oi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWlu
dGVyZmFjZSIvPgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+Cis8c2NyaXB0IGlkPSJtZXRhZGF0YV9j
YWNoZSI+LyoKK3sKKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogeworICAgICJo
ZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93
LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyIKKyAgfSwKKyAgImNvbm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVu
LiI6IHt9LAorICAiZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1
bWVudCBvcGVuLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbUludGVyYWN0aXZlIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21Mb2FkaW5nIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21haW5Mb29rdXBFbmQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJmZXRjaFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJsb2FkRXZlbnRFbmQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgImxvYWRFdmVudFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlZGlyZWN0RW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZWRpcmVjdFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXNwb25zZVN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJ1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAidW5sb2FkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9Cit9CisqLzwvc2NyaXB0PgorPHNjcmlwdD4K
K3NldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKKy8vIGV4cGxpY2l0bHkgdGVzdCB0aGUg
bmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nCit0ZXN0X25hbWVzcGFjZSgpOworCit2
YXIgb3JpZ2luYWxUaW1pbmcgPSB7fTsKK3ZhciBkaWRPcGVuID0gZmFsc2U7CisKK2Z1bmN0aW9u
IG9ubG9hZF90ZXN0KCkgeworICBpZiAoIWRpZE9wZW4pIHsKKyAgICBzZXRUaW1lb3V0KHRlc3RU
aW1pbmdXaXRoRG9jdW1lbnRPcGVuLCAwKTsKKyAgICBkaWRPcGVuID0gdHJ1ZTsKKyAgfQorfQor
CitmdW5jdGlvbiB0ZXN0VGltaW5nV2l0aERvY3VtZW50T3BlbigpIHsKKyAgdmFyIHN1YmNvbnRl
bnRXaW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVu
dFdpbmRvdzsKKworICBpZiAoc3ViY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5kZWZp
bmVkKQorICB7CisgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycworICAgIGRvbmUoKTsKKyAgICBy
ZXR1cm47CisgIH0KKyAgCisgIHZhciB0aW1pbmcgPSBzdWJjb250ZW50V2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZzsKKyAgZm9yIChpIGluIHRpbWluZ0F0dHJpYnV0ZXMpIHsKKyAgICBvcmlnaW5h
bFRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSA9IHRpbWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ld
XTsKKyAgfQorCisgIHZhciBzdWJkb2N1bWVudCA9IHN1YmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7
CisgIHN1YmRvY3VtZW50Lm9wZW4oKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwhRE9DVFlQRSBI
VE1MPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPGh0bWw+Jyk7CisgIHN1YmRvY3VtZW50Lndy
aXRlKCc8aGVhZD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPHRpdGxlPjxHcmVlbiBUZXN0IFBhZ2U8L3Rp
dGxlPicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9oZWFkPicpOworICBzdWJkb2N1bWVudC53
cml0ZSgnPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwRkYwMDsiPicpOworICBzdWJk
b2N1bWVudC53cml0ZSgnPC9ib2R5PicpOworICBzdWJkb2N1bWVudC53cml0ZSgnPC9odG1sPicp
OworICBzdWJkb2N1bWVudC5jbG9zZSgpOworCisgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgdmFyIHRpbWluZyA9IHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOworICAg
IGZvciAodmFyIGkgaW4gdGltaW5nQXR0cmlidXRlcykgeworICAgICAgdGVzdF9lcXVhbHModGlt
aW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dLAorICAgICAgICAgICAgICAgICAgb3JpZ2luYWxUaW1p
bmdbdGltaW5nQXR0cmlidXRlc1tpXV0sCisgICAgICAgICAgICAgICAgICB0aW1pbmdBdHRyaWJ1
dGVzW2ldICsgIiBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiIpOworICAgIH0KKyAg
ICBkb25lKCk7CisgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5E
ZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgcmVtYWlucyBjb25zdGFudCB3aGVuIGEKK2RvY3VtZW50IGlzIHJlcGxhY2VkIHVz
aW5nIGRvY3VtZW50Lm9wZW4uPC9wPgorCis8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3
aXRoIGEgeWVsbG93IGZyYW1lIGJlbG93LiBJdCB0aGVuIHJlcGxhY2VzIHRoZQorZG9jdW1lbnQg
aW4gdGhhdCBmcmFtZSB3aXRoIGEgZ3JlZW4gZG9jdW1lbnQuPC9wPgorCis8cD5UaGUgdGVzdCBw
YXNzZXMgaWYgYWxsIG9mIHRoZSBjaGVja3MgdG8gcGVyZm9ybWFuY2UudGltaW5nIGFyZSBjb3Jy
ZWN0IGFuZAordGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuPC9w
PgorCis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGJyIC8+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9i
bGFua19wYWdlX3llbGxvdy5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7
Ij48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRhMzM3
MWE4MWUxOTUxMzI1NzRiYzVlNDcwOGM5NzE0MWIyN2MyOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
ImxvYWRpbmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiIGRvY3VtZW50LnJlYWR5U3Rh
dGUgc3RhdGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdhdGlvbi4KKworUmVmcmVzaCB0
aGlzIHBhZ2UgdG8gZ3VhcmFudGVlIGFsbCByZWFkeVN0YXRlIHBoYXNlcy4KKworCitQQVNTIERv
Y3VtZW50IHJlYWRpbmVzcyBoYXMgbG9hZGluZyBzdGF0ZS4gCitQQVNTIERvY3VtZW50IHJlYWRp
bmVzcyBoYXMgaW50ZXJhY3RpdmUgc3RhdGUuIAorUEFTUyBEb2N1bWVudCByZWFkaW5lc3MgaGFz
IGNvbXBsZXRlIHN0YXRlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50
X3JlYWRpbmVzc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVz
c19leGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyY2E0MjU0MGUxZTc0ZTc5NmEzY2YxMzU3NzVmMTg1
Yzg5NDljYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVh
ZGluZXNzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQor
PGh0bWw+DQorPGhlYWQ+DQorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICA8dGl0
bGU+ZG9jdW1lbnQucmVhZHlTdGF0ZSB2YWx1ZXMgZXhpc3QgZHVyaW5nIGEgbmF2aWdhdGlvbjwv
dGl0bGU+DQorICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L2RvbS5odG1sI3Jlc291cmNlLW1ldGFkYXRhLW1h
bmFnZW1lbnQiLz4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQor
IDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJEb2N1bWVudCByZWFkaW5l
c3MgaGFzIGxvYWRpbmcgc3RhdGUuIjoge30sDQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBp
bnRlcmFjdGl2ZSBzdGF0ZS4iOiB7fSwNCisgICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGNvbXBs
ZXRlIHN0YXRlLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+ICAgDQorICAgIDxzY3JpcHQ+DQorICAg
ICAgICBzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUgfSk7DQorICAgICAgICB2YXIgaGFzX2xv
YWRpbmcgPSAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAibG9hZGluZyIpOw0KKyAgICAgICAgdmFy
IGhhc19pbnRlcmFjdGl2ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJpbnRlcmFjdGl2ZSIp
Ow0KKyAgICAgICAgdmFyIGhhc19jb21wbGV0ZSA9IChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJj
b21wbGV0ZSIpOw0KKw0KKyAgICAgICAgZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVu
Y3Rpb24oKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRl
ID09ICJsb2FkaW5nIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGhhc19sb2Fk
aW5nID0gdHJ1ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJl
YWR5U3RhdGUgPT0gImludGVyYWN0aXZlIikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAg
ICAgIGhhc19pbnRlcmFjdGl2ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAg
IGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID0gImNvbXBsZXRlIikNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIGhhc19jb21wbGV0ZSA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgfTsNCisNCisgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgIHsN
CisgICAgICAgICAgICB0ZXN0X3RydWUoaGFzX2xvYWRpbmcsICJEb2N1bWVudCByZWFkaW5lc3Mg
aGFzIGxvYWRpbmcgc3RhdGUuIik7DQorICAgICAgICAgICAgdGVzdF90cnVlKGhhc19pbnRlcmFj
dGl2ZSwgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgaW50ZXJhY3RpdmUgc3RhdGUuIik7DQorICAg
ICAgICAgICAgdGVzdF90cnVlKGhhc19jb21wbGV0ZSwgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMg
Y29tcGxldGUgc3RhdGUuIik7DQorICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgfQ0KKyAg
ICA8L3NjcmlwdD4NCisNCis8L2hlYWQ+DQorPGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+
DQorICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
dGhhdCB0aGUgImxvYWRpbmciLCAiaW50ZXJhY3RpdmUiIGFuZCAiY29tcGxldGUiDQorICAgICAg
IGRvY3VtZW50LnJlYWR5U3RhdGUgc3RhdGVzIGFyZSBhdmFpbGFibGUgZHVyaW5nIGEgbmF2aWdh
dGlvbi48L3A+DQorICAgIDxwPlJlZnJlc2ggdGhpcyBwYWdlIHRvIGd1YXJhbnRlZSBhbGwgcmVh
ZHlTdGF0ZSBwaGFzZXMuPC9wPg0KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKzwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9k
b2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2Rv
Y3VtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTQ1Zjg0YTI4YWIwZDkzMDM3ZGUzOTc1
NWU0YTBmMjZiMjFhZDc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmln
YXRlX3dpdGhpbl9kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorRGVzY3Jp
cHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIHJlbWFpbiB1bmNoYW5nZWQgYWZ0ZXIgYW4gaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbiAoVVJMIGZyYWdtZW50IGNoYW5nZSkuCisKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBp
cyBkZWZpbmVkIAorUEFTUyBjb25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIAorUEFTUyBjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGlu
IGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGRvbUNvbnRlbnRM
b2FkZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
IAorUEFTUyBkb21JbnRlcmFjdGl2ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiAKK1BBU1MgZG9tTG9hZGluZyBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uLiAKK1BBU1MgZG9tYWluTG9va3VwRW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21haW5Mb29rdXBTdGFydCBpcyB0aGUgc2FtZSBh
ZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZmV0Y2hTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBsb2FkRXZlbnRTdGFy
dCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbmF2aWdh
dGlvblN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFT
UyByZWRpcmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAK
K1BBU1MgcmVkaXJlY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiAKK1BBU1MgcmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5h
dmlnYXRpb24uIAorUEFTUyByZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVu
dCBuYXZpZ2F0aW9uLiAKK1BBU1MgcmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgdW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHVubG9hZEV2ZW50U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWEyY2U3ZTYyMzNk
M2RkYTZlZDRlYjVlZmE5NTdjODg4YWRjZWFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1sCkBAIC0wLDAgKzEsMTAwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgPgorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uPC90aXRsZT4KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+CisgCTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4KKwk8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qCit7CisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsKKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAg
ICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iCisgIH0sCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwKKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAiY29u
bmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAor
ICAiY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
Ijoge30sCisgICJkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJkb21Db250ZW50TG9hZGVkRXZl
bnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAor
ICAiZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlv
bi4iOiB7fSwKKyAgImRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImZldGNoU3RhcnQgaXMg
dGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImxvYWRFdmVu
dEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAi
bG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4i
OiB7fSwKKyAgIm5hdmlnYXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uLiI6IHt9LAorICAicmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0
ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlcXVlc3RTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAicmVzcG9uc2VFbmQg
aXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlc3Bv
bnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgInVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIjoge30sCisgICJ1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIjoge30KK30KKyovPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5PgorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPgorICAgICAgICA8cD5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMgcmVtYWluIHVuY2hhbmdlZCBhZnRlciBhbiBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uIChV
UkwgZnJhZ21lbnQgY2hhbmdlKS48L3A+CisKKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVl
fSk7CisKKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9y
ZSB3ZSBzdGFydCB0ZXN0aW5nCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7
CisKKyAgICAgICAgICAgIHZhciB0aW1pbmc7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNr
X3RpbWluZ19ub3RfY2hhbmdlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmli
dXRlc1tpXTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHModGltaW5nW3Byb3BlcnR5
XSwgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwcm9wZXJ0eSArICIgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlv
bi4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICB2YXIgaW5pdGlhbF90aW1pbmcgPSB7fTsKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHNhdmVfdGltaW5nX2FmdGVyX2xvYWQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7
ICsraSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0
eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07CisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxfdGlt
aW5nW3Byb3BlcnR5XSA9IHRpbWluZ1twcm9wZXJ0eV07CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gIiMxIjsKKyAgICAgICAgICAgICAg
ICBzZXRUaW1lb3V0KCJjaGVja190aW1pbmdfbm90X2NoYW5nZWQoKSIsIDApOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBsb2FkX2hhbmRsZXIoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVk
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0
IGVycm9ycworICAgICAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICB0aW1pbmcgPSBwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmc7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsIGxvYWRfaGFu
ZGxlcik7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgic2F2ZV90aW1pbmdfYWZ0ZXJfbG9h
ZCgpIiwgMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgbG9hZF9oYW5kbGVyLCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0
aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmln
YXRpb25fYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBkNTYxZjU4
MDBmYmY1NGZiODBmNDAzMjAzMjcwMDcxMGI5MGVkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwg
b2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1
dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKwor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24udHlwZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24ucmVkaXJlY3RDb3VudCBpcyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25h
dmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYjFjOWQyNjBmNmE0
MjFhZmM0Y2U2YTU1NzBiOTAyNTZlMjlkN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw0MSBAQAor
77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQor
ew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIN
CisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsN
CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2lu
ZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRw
Oi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50IGlzIGRlZmluZWQuIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAg
PC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAg
ICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBhdHRyaWJ1dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUg
dGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9
ImxvZyI+PC9kaXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3Bh
Y2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgIHRlc3RfYXR0cmlidXRlX2V4aXN0cygnbmF2
aWdhdGlvbicsICd0eXBlJyk7DQorICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMoJ25hdmln
YXRpb24nLCAncmVkaXJlY3RDb3VudCcpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9k
eT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVk
aXJlY3RDb3VudF9ub25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9u
X3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlhZmY2NGJiZWY1
YjBmODAyOTU1OTI3ODI0MGM2ODZiZGVjMWQ2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB2
YWx1ZSBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBh
dHRyaWJ1dGUsIGFzIHdlbGwgYXMgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJl
Y3RTdGFydCBhbmQgcmVkaXJlY3RFbmQgYXR0cmlidXRlcyBvbiBhIG5vbi1yZWRpcmVjdGVkIG5h
dmlnYXRpb24uCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLnJl
ZGlyZWN0U3RhcnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5n
LnJlZGlyZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIG5hdmln
YXRpb24ucmVkaXJlY3RDb3VudCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3JlZGlyZWN0Q291bnRfbm9uZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFmZjE5NDk0OTFiNDRhYWVlODNlMzc5YTVhZmRmOWZiNTY5YjAyZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50
X25vbmUuaHRtbApAQCAtMCwwICsxLDQ2IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4N
CisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAg
IDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGEg
bm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIg
Lz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2Nh
Y2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcucmVkaXJlY3RTdGFy
dCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAidGltaW5nLnJlZGly
ZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJuYXZpZ2F0
aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHsgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0
aW9uLWluZm8taW50ZXJmYWNlIiB9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisg
ICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhdHRyaWJ1dGUsIGFzIHdlbGwgYXMgdGhlIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCBhbmQgcmVkaXJlY3RFbmQgYXR0cmli
dXRlcyBvbiBhIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRp
diBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0ZXN0X25h
bWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNw
YWNlICE9PSB1bmRlZmluZWQpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0U3RhcnQsIDAsICd0aW1pbmcucmVk
aXJlY3RTdGFydCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorICAgICAgICAg
ICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAw
LCAndGltaW5nLnJlZGlyZWN0RW5kIG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsN
CisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9u
LnJlZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJl
ZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAgICAgIH0N
CisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGEwMjRkY2ZkODQ3ZGY5NmMyMjgxZjBlNjQyN2E3ZjlmYTcxZTNkNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2Zv
cndhcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2ZyYW1lICJmcmFtZUNvbnRleHQi
IC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMg
MSBvbnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5s
b2FkIGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFu
ZGxlcihzKQorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Yg
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgZm9yd2FyZCBhbmQgYmFj
ayBuYXZpZ2F0aW9uLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93
IGJhY2tncm91bmQgZnJhbWUgYmVsb3cuIEl0IHNob3VsZCB0dXJuIGdyZWVuIGZvciBhIHN0YXJ0
aW5nIG5hdmlnYXRpb24sIGJhY2sgdG8geWVsbG93IGZvciBhIGJhY2sgbmF2aWdhdGlvbiBhbmQg
dGhlbiBiYWNrIHRvIGdyZWVuIGFnYWluIGZvciBhIGZvcndhcmQgbmF2aWdhdGlvbi4KKworQWxv
bmcgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgdGhlIGZyYW1lLndpbmRvdy5wZXJmb3JtYW5jZS50
eXBlIGlzIGNoZWNrZWQgZm9yIFRZUEVfQkFDS19GT1JXQVJELgorCitUaGlzIHRlc3QgcGFzc2Vz
IGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRoZSBuYXZpZ2F0aW9uLnR5cGUgYXJlIGNvcnJlY3Qg
dGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVu
ZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLgor
CisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5i
YWNrKCkgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9C
QUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5mb3J3YXJkKCkgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmRlM2Ux
YTVhMTBkOWZlZWU4OTQ1ZTQ2YjkyZjkyZTUxYjllNGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC5odG1sCkBAIC0wLDAgKzEs
MTEzIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cubmF2aWdh
dGlvbi50eXBlIGZvciBiYWNrIGFuZCBmb3J3YXJkIG5hdmlnYXRpb25zPC90aXRsZT4NCisgICAg
ICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3
Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFj
ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5j
c3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUi
LA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIs
DQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8i
DQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9O
QVZJR0FURSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0g
VFlQRV9CQUNLX0ZPUldBUkQgYWZ0ZXIgaGlzdG9yeS5iYWNrKCkiOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhp
c3RvcnkuZm9yd2FyZCgpIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+
DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAg
ICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVz
dGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAg
ICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMN
CisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICAvLyBkbyB0aGlzIHdp
dGggYSB0aW1lb3V0IHRvIHNlZSB0aGUgdmlzdWFscyBvZiB0aGUgbmF2aWdhdGlvbnMuDQorICAg
ICAgICAgICAgICAgIHNldFRpbWVvdXQoIm5hdl9mcmFtZSgpOyIsIDEwMCk7DQorICAgICAgICAg
ICAgfQ0KKw0KKyAgICAgICAgICAgIHZhciBzdGVwID0gMTsNCisgICAgICAgICAgICBmdW5jdGlv
biBuYXZfZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIG5hdmln
YXRpb25fZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29u
dGVudFdpbmRvdzsNCisgICAgICAgICAgICAgICAgc3dpdGNoIChzdGVwKQ0KKyAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDE6DQorICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5sb2NhdGlvbi5o
cmVmID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbl93aXRoX29udW5s
b2FkLmh0bSc7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSAyOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RfZXF1YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VO
YW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9O
QVZJR0FURScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUuaGlz
dG9yeS5iYWNrKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSAzOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfZXF1YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFu
Y2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09
IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuYmFjaygpJyk7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25f
ZnJhbWUuaGlzdG9yeS5mb3J3YXJkKCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6DQor
ICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVh
bHMobmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9u
LlRZUEVfQkFDS19GT1JXQVJELA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9CQUNLX0ZPUldBUkQgYWZ0
ZXIgaGlzdG9yeS5mb3J3YXJkKCknKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCk7
DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+
DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPg0KKyAgICAgICAgICAgIERlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPg0KKyAgICAgICAgICAgIFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZh
bHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgd2l0aCBhIGZvcndhcmQN
CisgICAgICAgICAgICBhbmQgYmFjayBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxwPlRo
aXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBi
ZWxvdy4gIEl0IHNob3VsZCB0dXJuIGdyZWVuIGZvciBhIHN0YXJ0aW5nDQorICAgICAgICAgICAg
bmF2aWdhdGlvbiwgYmFjayB0byB5ZWxsb3cgZm9yIGEgYmFjayBuYXZpZ2F0aW9uIGFuZCB0aGVu
IGJhY2sgdG8gZ3JlZW4gYWdhaW4gZm9yIGEgZm9yd2FyZCBuYXZpZ2F0aW9uLjwvcD4NCisNCisg
ICAgICAgIDxwPkFsb25nIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIHRoZSBmcmFtZS53aW5kb3cu
cGVyZm9ybWFuY2UudHlwZSBpcyBjaGVja2VkIGZvciBUWVBFX0JBQ0tfRk9SV0FSRC48L3A+DQor
DQorICAgICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHRo
ZSBuYXZpZ2F0aW9uLnR5cGUgYXJlIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbg0K
KyAgICAgICAgICAgIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3Jl
ZW4gYmFja2dyb3VuZC4gIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLjwvcD4NCisNCisgICAg
ICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJh
bWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93X3dpdGhfb251bmxvYWQuaHRtIiBzdHls
ZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9l
bnVtcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1z
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGQ4YTE4MzNmNDQyZjFiOWFiYjg0NGU5MmUzY2Vl
NDNlNDNiMjgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25f
dHlwZV9lbnVtcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorRGVzY3JpcHRpb24KKwor
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBUWVBFXyogZW51bWVyYXRpb25zIG9mIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGV4aXN0IGFuZCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJl
Y3QuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSA9IDAgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCA9IDEgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JXQVJEIGlzIGRlZmluZWQuIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCA9IDIgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgaXMgZGVmaW5lZC4g
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVTRVJWRUQgPSAyNTUg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZDAwMTg3YzBjMGM2ZGRkMTIyZjE1ODFhMWMzYmRiM2VmMTY1YjJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAg
ICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uIGVudW1zPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAv
Pg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyA8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNo
ZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJo
ZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93
LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJm
b3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNl
IHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53
My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRp
bWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0Ijog
IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAi
VzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24uVFlQRV9OQVZJR0FURSBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgPSAwIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCA9IDEiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCBpcyBkZWZpbmVk
LiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfQkFDS19GT1JX
QVJEID0gMiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVT
RVJWRUQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5UWVBFX1JFU0VSVkVEID0gMjU1Ijoge30NCit9DQorKi88L3NjcmlwdD4NCisgICA8L2hlYWQ+
DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgVFlQRV8qIGVudW1lcmF0aW9ucyBvZiB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBleGlzdCBhbmQgdGhlaXIgdmFsdWVzIGFyZSBjb3Jy
ZWN0LjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgICAgICA8
c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAg
ICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX05BVklHQVRFJywgMCk7DQorICAgICAg
ICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9SRUxPQUQnLCAxKTsNCisgICAgICAgIHRl
c3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX0JBQ0tfRk9SV0FSRCcsIDIpOw0KKyAgICAgICAg
dGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfUkVTRVJWRUQnLCAyNTUpOw0KKyAgICAgICAg
PC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzZDE5
MzQ4MjIyOTAxYmExYWVmNDBjYjdkMGMyNWI5NDhmOGFkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUg
b2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBhbmQgdGhlIHZhbHVlcyBvZiB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiogd2l0aCBhIHJlbG9hZGVkIG5hdmlnYXRpb24uCisK
K1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1l
IGJlbG93LiBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkIGFuZCB0aGVu
IHZlcmlmaWVkIHRoYXQKKworVGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUg
PSBUWVBFX1JFTE9BRAorQWxsIG9mIHRoZSB3aWRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1
ZXMgYWZ0ZXIgcmVsb2FkIGFyZSA+IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy4qIHZhbHVlcyBwcmlvciB0byByZWxvYWQuCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVM
T0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5h
dmlnYXRpb24taW5mby1pbnRlcmZhY2UifSAKK1BBU1MgUmVsb2FkIGNvbm5lY3RFbmQgPiBPcmln
aW5hbCBjb25uZWN0RW5kIAorUEFTUyBSZWxvYWQgY29ubmVjdFN0YXJ0ID4gT3JpZ2luYWwgY29u
bmVjdFN0YXJ0IAorUEFTUyBSZWxvYWQgZG9tQ29tcGxldGUgPiBPcmlnaW5hbCBkb21Db21wbGV0
ZSAKK1BBU1MgUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+IE9yaWdpbmFsIGRvbUNv
bnRlbnRMb2FkZWRFdmVudEVuZCAKK1BBU1MgUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0
YXJ0ID4gT3JpZ2luYWwgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgCitQQVNTIFJlbG9hZCBk
b21JbnRlcmFjdGl2ZSA+IE9yaWdpbmFsIGRvbUludGVyYWN0aXZlIAorUEFTUyBSZWxvYWQgZG9t
TG9hZGluZyA+IE9yaWdpbmFsIGRvbUxvYWRpbmcgCitQQVNTIFJlbG9hZCBkb21haW5Mb29rdXBF
bmQgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBFbmQgCitQQVNTIFJlbG9hZCBkb21haW5Mb29rdXBT
dGFydCA+IE9yaWdpbmFsIGRvbWFpbkxvb2t1cFN0YXJ0IAorUEFTUyBSZWxvYWQgZmV0Y2hTdGFy
dCA+IE9yaWdpbmFsIGZldGNoU3RhcnQgCitQQVNTIFJlbG9hZCBsb2FkRXZlbnRFbmQgPiBPcmln
aW5hbCBsb2FkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCBsb2FkRXZlbnRTdGFydCA+IE9yaWdpbmFs
IGxvYWRFdmVudFN0YXJ0IAorUEFTUyBSZWxvYWQgbmF2aWdhdGlvblN0YXJ0ID4gT3JpZ2luYWwg
bmF2aWdhdGlvblN0YXJ0IAorUEFTUyBSZWxvYWQgcmVkaXJlY3RFbmQgPT0gT3JpZ2luYWwgcmVk
aXJlY3RFbmQgCitQQVNTIFJlbG9hZCByZWRpcmVjdFN0YXJ0ID09IE9yaWdpbmFsIHJlZGlyZWN0
U3RhcnQgCitQQVNTIFJlbG9hZCByZXF1ZXN0U3RhcnQgPiBPcmlnaW5hbCByZXF1ZXN0U3RhcnQg
CitQQVNTIFJlbG9hZCByZXNwb25zZUVuZCA+IE9yaWdpbmFsIHJlc3BvbnNlRW5kIAorUEFTUyBS
ZWxvYWQgcmVzcG9uc2VTdGFydCA+IE9yaWdpbmFsIHJlc3BvbnNlU3RhcnQgCitQQVNTIFJlbG9h
ZCB1bmxvYWRFdmVudEVuZCA+IE9yaWdpbmFsIHVubG9hZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQg
dW5sb2FkRXZlbnRTdGFydCA+IE9yaWdpbmFsIHVubG9hZEV2ZW50U3RhcnQgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlMmJhNWY1
NmVmYTY4NmFlNjRlZWJmMzY4ZTc3NzAwYzFiNjRjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sCkBAIC0wLDAgKzEsMTQ0IEBA
Civvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlIHdpdGggYSByZWxvYWRlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAg
ICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3
Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJm
YWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRv
dy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1
dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQ
RV9SRUxPQUQse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9Ijoge30sDQorICAiUmVsb2FkIGNvbm5lY3RF
bmQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBjb25uZWN0RW5kKDEzNDAzNzYwNzAxNjMpIjog
e30sDQorICAiUmVsb2FkIGNvbm5lY3RTdGFydCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGNv
bm5lY3RTdGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Db21wbGV0ZSgx
MzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUNvbXBsZXRlKDEzNDAzNzYwNzAxNzkpIjoge30s
DQorICAiUmVsb2FkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCgxMzQwMzc2MDcwMzAwKSA+IE9y
aWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCgxMzQwMzc2MDcwMTc5KSI6IHt9LA0KKyAg
IlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdp
bmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAi
UmVsb2FkIGRvbUludGVyYWN0aXZlKDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgZG9tSW50ZXJh
Y3RpdmUoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgZG9tTG9hZGluZygxMzQwMzc2
MDcwMjk5KSA+IE9yaWdpbmFsIGRvbUxvYWRpbmcoMTM0MDM3NjA3MDE3OCkiOiB7fSwNCisgICJS
ZWxvYWQgZG9tYWluTG9va3VwRW5kKDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgZG9tYWluTG9v
a3VwRW5kKDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGRvbWFpbkxvb2t1cFN0YXJ0
KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgZG9tYWluTG9va3VwU3RhcnQoMTM0MDM3NjA3MDE2
MykiOiB7fSwNCisgICJSZWxvYWQgZmV0Y2hTdGFydCgxMzQwMzc2MDcwMjkwKSA+IE9yaWdpbmFs
IGZldGNoU3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgbG9hZEV2ZW50RW5k
KDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwgbG9hZEV2ZW50RW5kKDEzNDAzNzYwNzAxNzkpIjog
e30sDQorICAiUmVsb2FkIGxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAzMDApID4gT3JpZ2luYWwg
bG9hZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisgICJSZWxvYWQgbmF2aWdhdGlv
blN0YXJ0KDEzNDAzNzYwNzAyOTApID4gT3JpZ2luYWwgbmF2aWdhdGlvblN0YXJ0KDEzNDAzNzYw
NzAxNjMpIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0RW5kKDApID09IE9yaWdpbmFsIHJlZGly
ZWN0RW5kKDApIjoge30sDQorICAiUmVsb2FkIHJlZGlyZWN0U3RhcnQoMCkgPT0gT3JpZ2luYWwg
cmVkaXJlY3RTdGFydCgwKSI6IHt9LA0KKyAgIlJlbG9hZCByZXF1ZXN0U3RhcnQoMTM0MDM3NjA3
MDI5NSkgPiBPcmlnaW5hbCByZXF1ZXN0U3RhcnQoMTM0MDM3NjA3MDE2NCkiOiB7fSwNCisgICJS
ZWxvYWQgcmVzcG9uc2VFbmQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCByZXNwb25zZUVuZCgx
MzQwMzc2MDcwMTc0KSI6IHt9LA0KKyAgIlJlbG9hZCByZXNwb25zZVN0YXJ0KDEzNDAzNzYwNzAy
OTYpID4gT3JpZ2luYWwgcmVzcG9uc2VTdGFydCgxMzQwMzc2MDcwMTY0KSI6IHt9LA0KKyAgIlJl
bG9hZCB1bmxvYWRFdmVudEVuZCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFsIHVubG9hZEV2ZW50
RW5kKDApIjoge30sDQorICAiUmVsb2FkIHVubG9hZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDI5Nikg
PiBPcmlnaW5hbCB1bmxvYWRFdmVudFN0YXJ0KDApIjoge30NCit9DQorKi88L3NjcmlwdD4gICAg
ICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25l
OiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3Bh
Y2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgn
bmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHZhciByZWxvYWRfZnJhbWU7DQorICAgICAgICAg
ICAgdmFyIHN0YXJ0aW5nVGltZTsNCisNCisgICAgICAgICAgICBmdW5jdGlvbiBkZWVwQ29weShw
LCBjKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIGMgPSBjIHx8IHt9Ow0K
KyAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIHApDQorICAgICAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcFtpXSA9PT0gJ29iamVjdCcpDQorICAgICAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgY1tpXSA9IChwW2ldLmNv
bnN0cnVjdG9yID09PSBBcnJheSkgPyBbXSA6IHt9Ow0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGRlZXBDb3B5KHBbaV0sIGNbaV0pOw0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGNbaV0g
PSBwW2ldOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIHJldHVybiBjOw0K
KyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICANCisgICAgICAgICAgICBmdW5jdGlvbiBv
bmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJh
bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorICAgICAgICAg
ICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsNCisgICAgICAgICAgICAg
ICAgICAvKiBOZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBleGFtaW5lIGxvYWRFdmVudEVuZA0K
KyAgICAgICAgICAgICAgICAgICAgIHVudGlsIGFmdGVyIHRoZSBsb2FkIGV2ZW50IGhhcyBmaW5p
c2hlZCBmaXJpbmcgKi8NCisJCSAgICBzZXRUaW1lb3V0KGRvX3Rlc3QsIDApOw0KKwkJfQ0KKyAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJyZWxvYWRfdGhlX2ZyYW1lKCk7IiwgMTAwKTsNCisg
ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gcmVsb2FkX3RoZV9mcmFtZSgp
DQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAvL0JlZm9yZSByZWxvYWRpbmcsIHNh
dmUgdGhlIGN1cnJlbnQgdGltaW5nDQorICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZSA9IGRl
ZXBDb3B5KHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyk7DQor
ICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9h
ZCh0cnVlKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gZG9fdGVz
dCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUub25sb2Fk
ID0gbnVsbDsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlKQ0KKyAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvL1ZlcmlmeSB0aGF0IHRoZSBu
YXZpZ2F0aW9uIHR5cGUgaGFzIHVwZGF0ZWQgdG8gcmVsb2FkDQorICAgICAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFt
ZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FELHto
ZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRp
b24taW5mby1pbnRlcmZhY2UifScpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgLy9WZXJpZnkg
dGhhdCB0aGUgdGltaW5nIGRhdGEgaGFzIGJlZW4gdXBkYXRlZCBpbnRvIHRoZSBmdXR1cmUNCisg
ICAgICAgICAgICAgICAgICAgIHZhciByZWxvYWRUaW1lID0gcmVsb2FkX2ZyYW1lLmNvbnRlbnRX
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKyAgICAgICAgICAgICAgICAgICAgZm9yIChhdHRy
aWJ1dGUgaW4gdGltaW5nQXR0cmlidXRlcykNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgICAgICAgICB2YXIgdGltZSA9IHRpbWluZ0F0dHJpYnV0ZXNbYXR0cmlidXRl
XTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVsb2FkVGltZVt0aW1lXSA9PT0gMCkN
CisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfZXF1YWxzKHJlbG9hZFRpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGltZSAgKw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiID09ICIgKw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiT3JpZ2luYWwgIiArIHRpbWUgKTsNCisgICAgICAgICAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9ncmVhdGVy
X3RoYW4ocmVsb2FkVGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhcnRpbmdUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVsb2FkICIgKyB0aW1lICArDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgPiAiICsNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9yaWdpbmFsICIgKyB0aW1lICk7
DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAg
ICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAg
ICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAg
ICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlIGFuZCB0aGUgdmFsdWVzIG9mDQorICAgICAgICAgICAgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSByZWxvYWRlZCBuYXZpZ2F0aW9uLjwvcD4NCisNCisg
ICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3Jv
dW5kIGZyYW1lIGJlbG93LiAgVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRl
ZA0KKyAgICAgICAgYW5kIHRoZW4gdmVyaWZpZWQgdGhhdCANCisgICAgICAgIDx1bD4NCisgICAg
ICAgICAgICA8bGk+VGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPSBUWVBF
X1JFTE9BRDwvbGk+DQorICAgICAgICAgICAgPGxpPkFsbCBvZiB0aGUgd2lkb3cucGVyZm9ybWFu
Y2UudGltaW5nLiogdmFsdWVzIGFmdGVyIHJlbG9hZCBhcmUgPiBhbGwgb2YgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMNCisgICAgICAgICAgICAgICAgcHJpb3IgdG8gcmVs
b2FkLjwvbGk+DQorICAgICAgICA8L3VsPg0KKyAgICAgICAgPC9wPg0KKw0KKyAgICAgICAgPGRp
diBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0i
ZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVl
bi5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisg
ICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJl
dmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25vX3ByZXZpb3Vz
X2RvY3VtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWZjZTljNWRjMDYwNDBlYTJhOWZm
YzhlMzk2M2QwYmFjZDI5YjBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25v
X3ByZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitEZXNjcmlw
dGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB1bmxvYWQgZXZlbnQgdGltZXMgYXJlIDAg
d2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBkb2N1bWVudC4KKworCisKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklH
QVRFIAorUEFTUyB0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0
aCBubyBwcmV2aW91cyBkb2N1bWVudCAKK1BBU1MgdGltaW5nLnVubG9hZEV2ZW50RW5kID09IDAg
bmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50IAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9u
b19wcmV2aW91c19kb2N1bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMjI0Y2U3YjQzOGMwMDk4Y2M1
NDhhMjQ1ODQ5ZTVlN2M3MDUzMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
bm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbApAQCAtMCwwICsxLDU4IEBACivvu788IURPQ1RZUEUg
aHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0
ZXMgb24gYW4gaW5pdGlhbCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPg0K
Kwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUi
Pi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5uYXZpZ2F0aW9uLnR5cGUg
aXMgVFlQRV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgInRpbWlu
Zy51bmxvYWRFdmVudFN0YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRv
Y3VtZW50Ijoge30sDQorICAidGltaW5nLnVubG9hZEV2ZW50RW5kID09IDAgbmF2aWdhdGlvbiB3
aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50Ijoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
Y3NzIiAvPg0KKyAgICANCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB2YXIgZnJhbWU7DQorICAgICAg
ICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQor
ICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorICAgICAgICAg
ICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSkNCisgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgdGVzdF90cnVlKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi50eXBlID09IHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQ
RV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmln
YXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKw0K
KyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCwgMCwgJ3RpbWluZy51bmxvYWRFdmVudFN0
YXJ0ID09IDAgb24gbmF2aWdhdGlvbiB3aXRoIG5vIHByZXZpb3VzIGRvY3VtZW50Jyk7DQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCwgMCwgJ3RpbWluZy51bmxvYWRFdmVudEVuZCA9PSAw
IG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcpOw0KKyAgICAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8
L3NjcmlwdD4NCisgICAgICAgIA0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9hZD0ib25s
b2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHVubG9hZCBldmVudCB0aW1lcyBhcmUgMCB3aGVuIHRo
ZXJlIGlzIG5vIHByZXZpb3VzIGRvY3VtZW50LjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9Imxv
ZyI+PC9kaXY+PGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0i
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5bGU9IndpZHRo
OiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4
aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVz
X2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmQyZDg2OWUzY2IzOTAxNjQwMjQ2YTU1
NzNkM2VjZDU3M2UzZDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZv
cm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGFuZCB0
aW1pbmcgYXR0cmlidXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1hbmNlIChidXQgZG9lcyBu
b3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVm
aW5lZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0
ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4
aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjMxOGE5ZDk2ODc1YzFlMTY5ZDFiNzk1NTVhNzE1OGI0ZGMx
YzliOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQor
PGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQor
ICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAg
ICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93
d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0
cmlidXRlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorIDxz
Y3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Ug
aXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0
aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgPC9oZWFkPg0K
KyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5U
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIG5hdmlnYXRpb24gYW5kIHRpbWluZyBhdHRyaWJ1
dGVzIGV4aXN0IGZvciB3aW5kb3cucGVyZm9ybWFuY2UgDQorICAgICAgICAoYnV0IGRvZXMgbm90
IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorICAgICAgICA8
ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4gICAgICAgICAgICANCisgICAg
ICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCd0aW1pbmcnLCB0cnVlKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2Jv
ZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9h
dHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
cGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU2ZDlmZDU0YjU3YTUwYzk0MTczZmEwNWNiNTRkMzIyYjA4NGI0NDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9p
bl9vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorRGVzY3JpcHRpb24KKworVGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGV4aXN0
cyBpbiBhbiBvYmplY3QgZWxlbWVudCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIg
dmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NTU0YmM5NzU0ODFiMWRkYmRiMTJmM2M5ZjdkMzJlMmE4MWY1NzE3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+
DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAg
ICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBleGlzdHMgaW4gYW4gb2JqZWN0
PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1h
bmNlLWF0dHJpYnV0ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisg
ICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBh
IGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAg
ICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0
cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0
ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1
dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJo
ZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93
LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJm
b3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNl
IHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53
My5vcmcvIg0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgICAg
ICA8c2NyaXB0Pg0KKyAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsNCisgICAgICAg
ICAgICB2YXIgb2JqV2luZG93ID0NCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm9iamVjdENvbnRleHQiKS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7DQorICAg
ICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBvYmpXaW5kb3cucGVyZm9ybWFuY2U7DQor
ICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKyAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCduYXZpZ2F0aW9uJywgdHJ1ZSk7DQorICAgICAgICAgIH0NCisgICAgICAgIDwv
c2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0
aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93
LnBlcmZvcm1hbmNlIG9iamVjdCBleGlzdHMgaW4gYW4NCisgICAgICAgIG9iamVjdCBlbGVtZW50
IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwv
cD4NCisgICAgICAgIDxvYmplY3QgaWQ9Im9iamVjdENvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rl
c3QoKTsiIGRhdGE9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0i
Pjwvb2JqZWN0Pg0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdhODliOTY0ZDcwZjk2OTRkZWE1YWMxODVjMWRmNGNlNjBjNDQzZDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBl
cmZvcm1hbmNlIG9iamVjdCBpcyByZWFkL3dyaXRlLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIAor
UEFTUyB2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X3JlYWR3cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgzMzY2MjY1YjVmNTA3NDA1ZWUwNGMxYTMxYjkzOGZmMTUzYzY5NTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZv
cm1hbmNlIGlzIHJlYWQvd3JpdGU8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQor
CTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIi8+DQorCTxtZXRhIG5hbWU9
ImFzc2VydCIgY29udGVudD0iVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlk
ZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIi8+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBpZD0i
bWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
Ijogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZv
ciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzND
IGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIHJl
YWQvd3JpdGUiOiB7fSwNCisgICJ2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSI6IHt9DQor
fQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9k
eT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBvYmplY3QgaXMgcmVhZC93cml0
ZS48L3A+DQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPHNjcmlwdD4N
CisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgpOw0KKw0KKyAgICAgICAgICAgIHdpbmRvdy5w
ZXJmb3JtYW5jZSA9ICdmb28nOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHdpbmRvdy5wZXJm
b3JtYW5jZSwgJ2ZvbycsICd3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZScpOw0KKw0K
KyAgICAgICAgICAgIHZhciBwZXJmb3JtYW5jZSA9ICdiYXInOw0KKyAgICAgICAgICAgIHRlc3Rf
ZXF1YWxzKHBlcmZvcm1hbmNlLCAnYmFyJywgJ3ZhciBwZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRl
Jyk7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNWExNmJmMWJhYWVlYzU3YmM4MzQ5NzcwZjI2MDFlN2NjZWRkZjczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0
ZXMgZXhpc3QgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29y
cmVjdCkuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmNvbm5lY3RFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuY29ubmVjdFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbXBsZXRlIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkZWZp
bmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSBpcyBk
ZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nIGlzIGRl
ZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCBp
cyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBT
dGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0
YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVu
dEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZl
bnRTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZp
Z2F0aW9uU3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3RFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3RTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZXF1ZXN0U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVzcG9uc2VFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVzcG9uc2VTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy51bmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy51bmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF90aW1pbmdfYXR0cmlidXRlc19leGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3NDM5ZDU0MTk5ZTBk
NDY5YWM0NjQyZTBjYmNjNTRlZTc1YmViY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApAQCAtMCwwICsxLDYxIEBACivvu788
IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
IGF0dHJpYnV0ZXM8L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJN
aWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4gICAgICAgIA0KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4v
Kg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsN
CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3Nl
Yy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2lu
ZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRw
Oi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29u
bmVjdEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
Y29ubmVjdFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5kb21Db21wbGV0ZSBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBk
ZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3Rp
dmUgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxv
YWRpbmcgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bWFpbkxvb2t1cEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZWZpbmVk
LiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgaXMgZGVm
aW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQg
aXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RT
dGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVz
cG9uc2VFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlc3BvbnNlU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLnVubG9hZEV2ZW50RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30NCit9DQorKi88
L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlw
dGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgKGJ1dCBkb2VzIG5v
dCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKw0KKyAgICAg
ICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICB0
ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7DQorDQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGVzdF9hdHRyaWJ1dGVfZXhpc3RzKCd0aW1pbmcnLCB0aW1pbmdBdHRyaWJ1dGVzW2ldKTsNCisg
ICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQzMWQ4MTg0ZDNiNzNjMWRlM2I2ZTg4YjI0NGUwN2MyZDRiMWY0ZDUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3Jk
ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTggQEAKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0g
aGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGUgb3JkZXJpbmcgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmli
dXRlcy4KKworVGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3Jv
dW5kIGZyYW1lIGJlbG93IHdoaWNoIGNvbnRhaW5zIGFuIHVubG9hZCBldmVudCBoYW5kbGVyLgor
CitBZnRlciB0aGUgcGFnZSBsb2FkcywgdGhlIGZyYW1lIGlzIG5hdmlnYXRlZCB0byBhIG5ldyBi
bGFuayBwYWdlIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiBBdCB0aGlzIHBvaW50LCB0aGUgbmF2
aWdhdGlvbiB0aW1lbGluZSBpcyB2ZXJpZmllZAorCitUaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBv
ZiB0aGUgY2hlY2tzIHRvIHRoZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMgYXJlIGNvcnJlY3QgdGhyb3VnaG91dCB0aGUgbmF2aWdhdGlvbiBzY2VuYXJpbyBhbmQg
dGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuIE90aGVyd2lzZSwg
dGhpcyB0ZXN0IGZhaWxzLgorCitTZXR1cAorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmZldGNoU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmZldGNoU3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPiAwIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21haW5Mb29rdXBFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbWFpbkxvb2t1cEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxv
b2t1cFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+
IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwRW5kIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmNvbm5lY3RFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmNvbm5lY3RFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5jb25uZWN0RW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
c3BvbnNlU3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNl
U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVzcG9uc2VTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5n
ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuZG9tSW50ZXJhY3RpdmUgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVu
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRl
ZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQg
PiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVu
dEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0
YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlID4gMCAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+PSB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21D
b250ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9h
ZEV2ZW50RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRF
bmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnVubG9hZEV2ZW50RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxv
YWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmVlOWIxODNlODEzZWQ0NTAzYWJmNzM3ZGZlZWI3YTFiNGQzZDQxZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sCkBA
IC0wLDAgKzEsMTY3IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+
DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZSBvcmRlcmluZyBvbiBhIHNpbXBsZSBuYXZp
Z2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9z
b2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2
aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+ICAgICAgICANCisgICAgICAgIDxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyA8c2NyaXB0IGlkPSJtZXRh
ZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlz
IGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3Nl
cnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5n
IGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhv
ciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1
dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
ICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIjogeyAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmln
YXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5u
YXZpZ2F0aW9uU3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZWRpcmVjdFN0YXJ0ID09IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
ZGlyZWN0RW5kID09IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNo
U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0Ijoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+IDAiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
YWluTG9va3VwU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5l
Y3RTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RT
dGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCA+IDAiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5jb25uZWN0U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlcXVlc3RTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
cXVlc3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgPiAwIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID49IHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZXNwb25zZUVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlc3BvbnNlRW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFy
dCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+IDAiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPj0gd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbUludGVyYWN0aXZlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9u
c2VFbmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2Fk
ZWRFdmVudFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29udGVudExvYWRlZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21J
bnRlcmFjdGl2ZSI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVu
dExvYWRlZEV2ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29udGVudExvYWRlZEV2ZW50U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUNvbXBsZXRlID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
ZG9tQ29tcGxldGUgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVk
RXZlbnRFbmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0
YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3Rh
cnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQi
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+IDAiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLm5hdmlnYXRpb25TdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51
bmxvYWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3Rh
cnQiOiB7fQ0KK30NCisqLzwvc2NyaXB0PiAgICAgICANCisgICAgICAgIDxzY3JpcHQ+DQorICAg
ICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB0
ZXN0X25hbWVzcGFjZSgndGltaW5nJyk7DQorDQorICAgICAgICAgICAgdmFyIHN0ZXAgPSAxOw0K
KyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgIGlmIChzdGVwID09PSAxICYmIHdpbmRvdy5wZXJmb3JtYW5jZSA9PT0gdW5k
ZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9p
ZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAg
ICAgdmFyIG5hdmlnYXRpb25fZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVD
b250ZXh0IikuY29udGVudFdpbmRvdzsNCisgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1l
c3BhY2UgPSBuYXZpZ2F0aW9uX2ZyYW1lLnBlcmZvcm1hbmNlOw0KKyAgICAgICAgICAgICAgICBz
d2l0Y2ggKHN0ZXApDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGNh
c2UgMToNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBu
YXZpZ2F0aW9uX2ZyYW1lLmxvY2F0aW9uLmhyZWYgPSAnL3czYy93ZWJwZXJmL3Jlc291cmNlcy9i
bGFua19wYWdlX2dyZWVuLmh0bSc7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0K
KyAgICAgICAgICAgICAgICBjYXNlIDI6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nLCB0cnVlKTsNCisN
CisgICAgICAgICAgICAgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRlc3RzDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8NCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUsDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZp
Z2F0aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFJyx7aGVs
cDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9u
LWluZm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5hdmln
aWF0aW9uIG11c3QgYmUgbm9uLTANCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWlu
Z19ncmVhdGVyX3RoYW4oJ25hdmlnYXRpb25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIG11c3QgYmUgbm8gcmVkaXJlY3Rpb24gZm9yIHRoaXMgdGVzdCBjYXNlDQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZXF1YWxzKCdyZWRpcmVjdFN0YXJ0
JywgMCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZXF1YWxzKCdyZWRp
cmVjdEVuZCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbGlkYXRlIGF0
dHJpYnV0ZSBvcmRlcmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29y
ZGVyKCdmZXRjaFN0YXJ0JywgJ25hdmlnYXRpb25TdGFydCcpOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21haW5Mb29rdXBTdGFydCcsICdmZXRjaFN0YXJ0
Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbWFpbkxv
b2t1cEVuZCcsICdkb21haW5Mb29rdXBTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdjb25uZWN0U3RhcnQnLCAnZG9tYWluTG9va3VwRW5kJyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2Nvbm5lY3RFbmQnLCAn
Y29ubmVjdFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3Jk
ZXIoJ3JlcXVlc3RTdGFydCcsICdjb25uZWN0RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdF90aW1pbmdfb3JkZXIoJ3Jlc3BvbnNlU3RhcnQnLCAncmVxdWVzdFN0YXJ0Jyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3Jlc3BvbnNlRW5kJywg
J3Jlc3BvbnNlU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19v
cmRlcignZG9tTG9hZGluZycsICdmZXRjaFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUludGVyYWN0aXZlJywgJ3Jlc3BvbnNlRW5kJyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbnRlbnRMb2Fk
ZWRFdmVudFN0YXJ0JywgJ2RvbUludGVyYWN0aXZlJyk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCcsICdkb21Db250
ZW50TG9hZGVkRXZlbnRTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGlt
aW5nX29yZGVyKCdkb21Db21wbGV0ZScsICdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnKTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignbG9hZEV2ZW50U3RhcnQn
LCAnZG9tQ29udGVudExvYWRlZEV2ZW50RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ2xvYWRFdmVudEVuZCcsICdsb2FkRXZlbnRTdGFydCcpOw0KKw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldHVwIHJlcXVpcmVzIHRoZSBmcmFtZSB0byBo
YXZlIGEgcHJldmlvdXMgcGFnZSB3aXRoIGFuIG9udW5sb2FkIGV2ZW50IGhhbmRsZXIuDQorICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3VubG9hZEV2ZW50U3RhcnQn
LCAnbmF2aWdhdGlvblN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1p
bmdfb3JkZXIoJ3VubG9hZEV2ZW50RW5kJywgJ3VubG9hZEV2ZW50U3RhcnQnKTsNCisNCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVwKys7DQorICAgICAgICAgICAgICAgICAgICAgICAgZG9u
ZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAg
IDwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2Ny
aXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIG9yZGVyaW5n
IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMuPC9wPg0KKw0KKyAg
ICAgICAgPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3Jv
dW5kIGZyYW1lIGJlbG93IHdoaWNoIGNvbnRhaW5zIGFuIHVubG9hZCBldmVudA0KKyAgICAgICAg
ICAgaGFuZGxlci48L3A+DQorDQorICAgICAgICA8cD5BZnRlciB0aGUgcGFnZSBsb2FkcywgdGhl
IGZyYW1lIGlzIG5hdmlnYXRlZCB0byBhIG5ldyBibGFuayBwYWdlIHdpdGggYSBncmVlbiBiYWNr
Z3JvdW5kLiAgQXQgdGhpcyBwb2ludCwgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgaXMgdmVyaWZp
ZWQ8L3A+DQorDQorICAgICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hl
Y2tzIHRvIHRoZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgYXJl
DQorICAgICAgICAgICBjb3JyZWN0IHRocm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2NlbmFyaW8g
YW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLg0KKyAgICAg
ICAgICAgT3RoZXJ3aXNlLCB0aGlzIHRlc3QgZmFpbHMuPC9wPg0KKw0KKyAgICAgICAgPGgxPlNl
dHVwPC9oMT4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIg
Lz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCINCisgICAgICAgICAgICAgICAg
b25sb2FkPSIvKiBOZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBleGFtaW5lIGxvYWRFdmVudEVu
ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudGlsIGFmdGVyIHRoZSBsb2FkIGV2ZW50
IGhhcyBmaW5pc2hlZCBmaXJpbmcgKi8NCisgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1l
b3V0KG9ubG9hZF90ZXN0LCAwKTsiDQorICAgICAgICAgICAgICAgIHNyYz0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9hZC5odG0iDQorICAgICAgICAgICAgICAgIHN0eWxl
PSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRp
cmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVj
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE0MmI4OTJkYjI1YjYwMDMyM2U4NzExMDZkNjI2
ZTg0ZWQ0OGY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xp
ZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitEZXNjcmlwdGlvbgor
CitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5uYXZpZ2F0aW9u
LnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0
U3RhcnQvRW5kIHRpbWVzIG9uIGEgY2xpZW50IHNpZGUgcmVkaXJlY3QuCisKKworCisKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMg
ZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIAor
UEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3Rl
ZCBuYXZpZ2F0aW9uIAorUEFTUyB0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGFuIGNsaWVu
dCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9u
IGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGlt
aW5nX2NsaWVudF9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMGRmY2E2NDExYzBhMmQ4ZTA1
ZTMzZWMwZWFmYWE4YjkxZjViNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
dGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsNzggQEAKK++7vzwhRE9DVFlQ
RSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJl
Y3QgYXR0cmlidXRlcyBvbiBhIGNsaWVudCByZWRpcmVjdCBuYXZpZ2F0aW9uPC90aXRsZT4NCisg
ICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8v
d3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50
ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUg
cHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRl
cy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAidGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBU
WVBFX05BVklHQVRFIjogeyAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiIH0sDQorICAibmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6
IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgInRpbWluZy5yZWRpcmVjdFN0YXJ0ID09
IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9LA0KKyAgInRpbWluZy5y
ZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fQ0K
K30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7
ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCdu
YXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycsIHRydWUp
Ow0KKw0KKyAgICAgICAgICAgIHZhciByZWRpcmVjdF9mcmFtZTsNCisgICAgICAgICAgICBmdW5j
dGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAo
cGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAg
ICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAg
ICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIHJlZGlyZWN0X2ZyYW1lID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAgICAgICAgICAgICAgICByZWRpcmVj
dF9mcmFtZS5vbmxvYWQgPSBkb190ZXN0Ow0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAg
ICBmdW5jdGlvbiBkb190ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJl
ZGlyZWN0X2ZyYW1lLm9ubG9hZCA9ICIiOw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RydWUocmVk
aXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0g
cGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FU
RScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2
aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVh
bHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJl
ZGlyZWN0Q291bnQsIDAsICduYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhbiBjbGll
bnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0pOw0KKyAgICAg
ICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0LCAwLCAndGltaW5nLnJlZGlyZWN0U3RhcnQgPT0g
MCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgICAg
IHRlc3RfZXF1YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlZGlyZWN0RW5kLCAwLCAndGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24gYW4gY2xpZW50
IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAg
PGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248
L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3
aW5kb3cubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGFuZCB0aGUNCisgICAgICAgICAgIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQgdGltZXMgb24gYSBjbGllbnQg
c2lkZSByZWRpcmVjdC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PjxiciAv
Pg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV9tZXRhX3JlZGlyZWN0Lmh0bSIgc3R5bGU9IndpZHRoOiAyNTBw
eDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmFk
NzA0OWVjNTQyMDczMWI0MzU3N2Y4NTQ0M2Q2OTViZTk0MzMzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X3RpbWluZ19yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkg
QEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGNoYW5nZSB3aGVuIGEgcGFnZSBpcyByZWxvYWRl
ZC4KKworVGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQg
ZnJhbWUgYmVsb3cuIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQgYW5k
IHRoZW4gdmVyaWZpZWQgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1
dGVzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHRoZSBuZXcgcmVsb2FkZWQgbmF2aWdhdGlvbiB0aW1p
bmdzLgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FEIAorUEFTUyBjb25uZWN0RW5k
IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29tcGxldGUgaXMgZGlmZmVyZW50
IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGlm
ZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFy
dCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUludGVyYWN0aXZlIGlz
IGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tTG9hZGluZyBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyBkaWZmZXJlbnQg
YWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRpZmZlcmVudCBh
ZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZmV0Y2hTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhl
IHJlbG9hZC4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9h
ZC4gCitQQVNTIGxvYWRFdmVudFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAK
K1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BB
U1MgcmVxdWVzdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgcmVz
cG9uc2VFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyByZXNwb25zZVN0
YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfcmVs
b2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3NDFjYzk4OTBlY2UxMGMxNjRhOTllM2RlMzI0ZDZkZTRj
MWJlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLmh0
bWwKQEAgLTAsMCArMSwxMjIgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8
aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxl
PndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBhZnRlciBhIHJlbG9hZGVkIG5h
dmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNy
b3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2Nh
Y2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FEIjogeyAiaGVscCI6ICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2Ui
IH0sDQorICAiY29ubmVjdEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwN
CisgICJjb25uZWN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQor
ICAiZG9tQ29tcGxldGUgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAi
ZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6
IHt9LA0KKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0
aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUludGVyYWN0aXZlIGlzIGRpZmZlcmVudCBhZnRlciB0
aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUxvYWRpbmcgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIjoge30sDQorICAiZG9tYWluTG9va3VwRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiI6IHt9LA0KKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0
aGUgcmVsb2FkLiI6IHt9LA0KKyAgImZldGNoU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIjoge30sDQorICAibG9hZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVs
b2FkLiI6IHt9LA0KKyAgImxvYWRFdmVudFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVs
b2FkLiI6IHt9LA0KKyAgIm5hdmlnYXRpb25TdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJl
bG9hZC4iOiB7fSwNCisgICJyZXF1ZXN0U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxv
YWQuIjoge30sDQorICAicmVzcG9uc2VFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
Ijoge30sDQorICAicmVzcG9uc2VTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4i
OiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBz
ZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0
bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAg
ICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgICAgICB2YXIgcmVs
b2FkX2ZyYW1lOw0KKyAgICAgICAgICAgIHZhciBpbml0aWFsX3RpbWluZzsNCisNCisgICAgICAg
ICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICByZWxvYWRfZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0
Iik7DQorDQorICAgICAgICAgICAgICAgIGlmIChyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5w
ZXJmb3JtYW5jZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBk
b25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0N
CisNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lLm9ubG9hZCA9IGRvX3Rlc3Q7DQorDQor
ICAgICAgICAgICAgICAgIC8vIHNhdmUgZnJhbWUncyBpbml0aWFsIHRpbWluZ3MNCisgICAgICAg
ICAgICAgICAgaW5pdGlhbF90aW1pbmcgPSB7fTsNCisgICAgICAgICAgICAgICAgdmFyIHRpbWlu
ZyA9IHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisNCisg
ICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0
aDsgKytpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgcHJv
cGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOw0KKyAgICAgICAgICAgICAgICAgICAgaW5pdGlh
bF90aW1pbmdbcHJvcGVydHldID0gdGltaW5nW3Byb3BlcnR5XTsNCisgICAgICAgICAgICAgICAg
fQ0KKw0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJyZWxvYWRfdGhlX2ZyYW1lKCk7Iiwg
MTAwKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gcmVsb2FkX3Ro
ZV9mcmFtZSgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUu
Y29udGVudFdpbmRvdy5sb2NhdGlvbi5yZWxvYWQodHJ1ZSk7DQorICAgICAgICAgICAgfQ0KKw0K
KyAgICAgICAgICAgIGZ1bmN0aW9uIGRvX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgcmVsb2FkX2ZyYW1lLm9ubG9hZCA9ICIiOw0KKw0KKyAgICAgICAgICAgICAgICAv
LyBlbnN1cmUgdGhlIGZyYW1lIHJlbG9hZGVkDQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxz
KHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdh
dGlvbi5UWVBFX1JFTE9BRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9SRUxPQUQiLCB7aGVscDoiaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50
ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICAvLyBlbnN1cmUgcmVsb2FkIHRpbWluZ3Mg
Y2hhbmdlZA0KKyAgICAgICAgICAgICAgICB2YXIgdGltaW5nID0gcmVsb2FkX2ZyYW1lLmNvbnRl
bnRXaW5kb3cucGVyZm9ybWFuY2UudGltaW5nOw0KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpDQorICAgICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJpYnV0ZXNb
aV07DQorDQorICAgICAgICAgICAgICAgICAgICAvLyBpZ25vcmUgYW55IHRpbWluZ3MgdGhhdCB3
ZXJlIHplcm8gaW5pdGlhbGx5DQorICAgICAgICAgICAgICAgICAgICBpZiAoaW5pdGlhbF90aW1p
bmdbcHJvcGVydHldICE9PSAwKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3Rfbm90X2VxdWFscyh0aW1pbmdbcHJvcGVydHldLCBpbml0aWFsX3Rp
bWluZ1twcm9wZXJ0eV0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0
eSArICIgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIik7DQorICAgICAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0K
KyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxi
b2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9o
MT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGNoYW5nZSB3aGVuIGEgcGFnZSBpcyByZWxvYWRlZC48
L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3Jl
ZW4gYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRpY2Fs
bHkgcmVsb2FkZWQNCisgICAgICAgIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBoYXZlIGJlZW4gdXBkYXRlZCB0byB0aGUgbmV3
IHJlbG9hZGVkIG5hdmlnYXRpb24gdGltaW5ncy48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIg
c3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKw0KKyAgICA8
L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2Vy
dmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVy
X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2JkMTliNzI1OTQ5YTAwMTNlMTNl
MmI3OGExNzBjNzBlZDdhNmIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3Rp
bWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93LnBl
cmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIHNhbWUtb3JpZ2luIHNlcnZlciBzaWRlIHJl
ZGlyZWN0IG5hdmlnYXRpb24uCisKKworCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQ
QVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAKK1BBU1MgbmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50ID09IDEgb24gYW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlv
biAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgPiAwIAor
UEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPiAwIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVkaXJlY3RFbmQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3RFbmQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfc2VydmVy
X3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVjdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYyMTdjOGY3MDViYWU0ZTM5MjMwZWU5YTYzOGRmY2ZkMzQwYjYyYjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRpcmVj
dC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKK++7vzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0KKyAg
ICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRp
dGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3QgYXR0cmlidXRlcyBvbiBhIHNh
bWUtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWlj
cm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2Ui
Lz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisNCisgICAgICAg
IDxzY3JpcHQ+DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisg
ICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQor
ICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBl
cnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAg
IHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZU5hbWVzcGFjZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhw
ZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFW
SUdBVEUnKTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3Bh
Y2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50LCAxLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50
ID09IDEgb24gYW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAg
ICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4oJ25hdmlnYXRpb25TdGFydCcsIDApOw0K
Kw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcigncmVkaXJlY3RTdGFydCcsICdu
YXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3Jl
ZGlyZWN0RW5kJywgJ3JlZGlyZWN0U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgdGVzdF90aW1p
bmdfb3JkZXIoJ2ZldGNoU3RhcnQnLCAncmVkaXJlY3RFbmQnKTsNCisgICAgICAgICAgICB9DQor
ICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAg
IDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRo
ZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUN
CisgICAgICAgICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydC9FbmQg
dGltZXMgZm9yIGEgc2FtZS1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi48
L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQor
ICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsi
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/bG9jYXRpb249L3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBw
eDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI3MDgyMTRjODIyZDA0NWMwNDNkYzNhMDg0YjM4OGUxMTUzMjJiZjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0
Q291bnQgYW5kIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5k
IHRpbWVzIGZvciBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9u
LgorCisKKworCitGQUlMIFN0YXJ0aW5nIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNv
cnJlY3QgKDEyNy4wLjAuMTo4MDAwKSBhc3NlcnRfZXF1YWxzOiBTdGFydGluZyBkb2N1bWVudC5s
b2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4wLjE6ODAwMCkgZXhwZWN0ZWQgIjEy
Ny4wLjAuMTo4MDAwIiBidXQgZ290ICIxMjcuMC4wLjEiCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZp
bmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNT
IG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciBy
ZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2
aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1MgdGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhIHNl
cnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFpbiAKK1BBU1MgdGlt
aW5nLnJlZGlyZWN0RW5kID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZy
b20gYW5vdGhlciBkb21haW4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdf
eHNlcnZlcl9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3Jl
ZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU2NjA5Y2FjNGViN2Q0MWEyNTBmMjAxMWNiMjQyYjYy
Nzg2NDFmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZl
cl9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsODkgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxo
dG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAg
ICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3QgYXR0cmlidXRl
cyBvbiBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90aXRsZT4N
CisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRw
Oi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmct
aW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
PHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIlN0YXJ0aW5nIGRvY3VtZW50
LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3QgKDEyNy4wLjAuMTo4MDAwKSI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmli
dXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJp
YnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAg
ICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAg
Ly8NCisgICAgICAgICAgICAvLyBUZXN0IGNvbmZpZ3VyYXRpb24NCisgICAgICAgICAgICAvLw0K
Kw0KKyAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IHBhZ2UncyBvcmlnaW4NCisgICAgICAgICAg
ICB2YXIgcGFnZU9yaWdpbiA9ICcxMjcuMC4wLjE6ODAwMCc7DQorDQorICAgICAgICAgICAgLy8g
dGhlIG9yaWdpbiB0byByZWRpcmVjdCB0aHJvdWdoDQorICAgICAgICAgICAgdmFyIHJlZGlyZWN0
T3JpZ2luID0gJ2xvY2FsaG9zdDo4MDAwJzsNCisNCisgICAgICAgICAgICAvLw0KKyAgICAgICAg
ICAgIC8vIFRlc3RzDQorICAgICAgICAgICAgLy8NCisgICAgICAgICAgICBmdW5jdGlvbiBvbmxv
YWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFj
ZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3Bh
Y2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAg
ICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0K
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAg
ICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2U7DQorICAgICAgICAg
ICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24udHlwZSwN
CisgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9u
LlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZpZ2F0
aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAg
ICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5y
ZWRpcmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYSBjcm9z
cy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicsIHtoZWxwOiJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZh
Y2UifSk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbignbmF2
aWdhdGlvblN0YXJ0JywgMCk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZv
cm1hbmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0LCAwLCAndGltaW5nLnJlZGlyZWN0
U3RhcnQgPT0gMCBvbiBhIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVy
IGRvbWFpbicpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVz
cGFjZS50aW1pbmcucmVkaXJlY3RFbmQsIDAsICd0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBh
IHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24gZnJvbSBhbm90aGVyIGRvbWFpbicpOw0KKw0K
KyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3Jp
cHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRp
b248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhlDQorICAgICAgICAgICB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIGNy
b3NzLW9yaWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAg
ICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJh
bWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIiIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDog
MjUwcHg7Ij48L2lmcmFtZT4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgLy8gZW5z
dXJlIHdlJ3JlIHN0YXJ0aW5nIGF0IHRoZSByaWdodCBvcmlnaW4NCisgICAgICAgICAgICB0ZXN0
X2VxdWFscyhkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSwgcGFnZU9yaWdpbiwgJ1N0YXJ0aW5n
IGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lIGlzIGNvcnJlY3QgKCcgKyBwYWdlT3JpZ2luICsg
JyknKTsNCisNCisgICAgICAgICAgICAvLyBjb21iaW5lIHRoZSBwYWdlIG9yaWdpbiBhbmQgcmVk
aXJlY3Qgb3JpZ2luIGludG8gdGhlIElGUkFNRSdzIHNyYyBVUkwNCisgICAgICAgICAgICB2YXIg
ZGVzdFVybCA9ICdodHRwOi8vJyArIHJlZGlyZWN0T3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwJzsNCisgICAgICAgICAgICBkZXN0VXJsICAgICs9ICc/bG9jYXRp
b249aHR0cDovLycgKyBwYWdlT3JpZ2luICsgJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV9ncmVlbi5odG0nOw0KKw0KKyAgICAgICAgICAgIHZhciBmcmFtZUNvbnRleHQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iik7DQorICAgICAgICAgICAgZnJhbWVD
b250ZXh0Lm9ubG9hZCA9IG9ubG9hZF90ZXN0Ow0KKyAgICAgICAgICAgIGZyYW1lQ29udGV4dC5z
cmMgPSBkZXN0VXJsOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+
DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3YWNmMDU0MTI1MjhkODE5MTVkZjYzMDM3MjJi
ODNjMzUxMzYxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91bmlxdWVfcGVy
Zm9ybWFuY2Vfb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitEZXNjcmlwdGlv
bgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZWFjaCB3aW5kb3cgaGFzIGEgdW5pcXVlIHdp
bmRvdy5wZXJmb3JtYW5jZSBvYmplY3QuCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFT
UyBEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2ZSB1bmlxdWUgcGVyZm9ybWFuY2Ugb2JqZWN0
cyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmpl
Y3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVjdHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YzM1NTFkMjQ2OTBlZjBhZTZmN2FiNWFjZjgxNGIzMTlmMTQ5MjlhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmpl
Y3RzLmh0bWwKQEAgLTAsMCArMSw0NSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
ICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8
dGl0bGU+RWFjaCB3aW5kb3cgb2JqZWN0IGhhcyBhIHVuaXF1ZSBwZXJmb3JtYW5jZSBvYmplY3Q8
L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhy
ZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiAvPg0KKwk8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkVh
Y2ggYnJvd3NpbmcgY29udGV4dCBtdXN0IGhhdmUgYSB1bmlxdWUgd2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZyBhdHRyaWJ1dGUuIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoN
Cit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQor
ICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
d2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRv
dy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZv
cm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDov
L3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2ZSB1
bmlxdWUgcGVyZm9ybWFuY2Ugb2JqZWN0cyI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwv
aGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAg
ICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGVhY2ggd2luZG93IGhhcyBhIHVuaXF1ZSB3
aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0LjwvcD4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1l
Q29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
IiBzdHlsZT0iZGlzcGxheTpub25lOyI7PjwvaWZyYW1lPg0KKyAgICAgICAgPGRpdiBpZD0ibG9n
Ij48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2Uo
J3RpbWluZycpOw0KKw0KKyAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSAhPT0g
dW5kZWZpbmVkKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9ub3RfZXF1
YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZywNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50
V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJEaWZmZXJlbnQgd2luZG93IG9iamVjdHMgaGF2ZSB1bmlxdWUgcGVyZm9ybWFuY2Ugb2Jq
ZWN0cyIpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmM0N2VkNWFlYjllYWQ3YTZiMWJmODBhNzUxZTQ1NDFmMGQ1MzRmMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3Bh
Z2VfZ3JlZW4uaHRtCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0K
KyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11
dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPg0KKyAgICAgICAgPHRpdGxlPkdyZWVu
IFRlc3QgUGFnZTwvdGl0bGU+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IzAwRkYwMDsiPg0KKyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisg
ICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251bmxvYWQuaHRt
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFn
ZV9ncmVlbl93aXRoX29udW5sb2FkLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTQwY2VlN2M5YTlhNjZhNmVl
ODE5MWQxYTRiMzc4ZDZiZTQ0ZTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbl93aXRoX29udW5s
b2FkLmh0bQpAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4NCisgICAg
PGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgi
IGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAgIDx0aXRsZT5HcmVlbiBUZXN0
IFBhZ2U8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDwhLS0gdXNlIG9udW5sb2FkIHRvIGVu
c3VyZSB0aGlzIGRvZXMgbm90IHRyaWdnZXIgYmZjYWNoZSAtLT4NCisgICAgPGJvZHkgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IzAwRkYwMDsiIG9udW5sb2FkPSIxOyI+DQorICAgICAgICA8aDE+
UGxhY2Vob2xkZXI8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfbWV0
YV9yZWRpcmVjdC5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiZjM0YmQ3YTNj
ZGU1YTFlZWU0NmM4YmQ4MjkzZjQ0OTAxZWZhNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX21ldGFfcmVk
aXJlY3QuaHRtCkBAIC0wLDAgKzEsMTEgQEAKK++7vzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0K
KyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11
dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPg0KKyAgICAgICAgPG1ldGEgaHR0cC1l
cXVpdj0icmVmcmVzaCIgY29udGVudD0iMTtVUkw9J2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJyIgLz4N
CisgICAgICAgIDx0aXRsZT5SZWRpcmVjdCBQbGFjZWhvbGRlcjwvdGl0bGU+ICAgICAgICANCisg
ICAgPC9oZWFkPg0KKyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGRjAwIjs+
DQorICAgICAgICA8aDE+UGxhY2Vob2xkZXI8L2gxPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2Fk
Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kZTkwNTA3MDhjYTY2OGQwOGE2ZThjMDliNTQ3ZjllZTI5N2RlOGVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV91bmxvYWQuaHRtCkBAIC0wLDAgKzEsMjUgQEAKK++7vzwhRE9D
VFlQRSBIVE1MPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPg0K
KyAgICAgICAgDQorICAgICAgICA8dGl0bGU+WWVsbG93IFRlc3QgUGFnZTwvdGl0bGU+DQorICAg
ICAgICANCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCisgICAgICAg
ICAgICBmdW5jdGlvbiBvbmJlZm9yZXVubG9hZF9oYW5kbGVyKCkNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIHZhciB0ZW1wID0gIm9uYmVmb3JldW5sb2FkIjsNCisgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgDQorICAgICAgICAgICAgZnVuY3Rpb24gb251bmxvYWRfaGFuZGxl
cigpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgdGVtcCA9ICJvbnVubG9h
ZCI7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisg
ICAgPGJvZHkgb25iZWZvcmV1bmxvYWQ9Im9uYmVmb3JldW5sb2FkX2hhbmRsZXIoKTsiDQorICAg
ICAgICAgIG9udW5sb2FkPSJvbnVubG9hZF9oYW5kbGVyKCk7IiANCisgICAgICAgICAgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6I0ZGRkYwMDsiPg0KKyAgICAgICAgPGgxPlVubG9hZDwvaDE+DQor
ICAgIDwvYm9keT4NCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtf
cGFnZV95ZWxsb3cuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfcGFnZV95ZWxsb3cuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMmU4YTJiZWUwNzRkNDgz
ODFjNzIxY2NjOGIwNjU5MzZkNzhiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvdy5odG0KQEAg
LTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAg
ICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2
PSJDb250ZW50LVR5cGUiIC8+DQorICAgICAgICA8dGl0bGU+WWVsbG93IFRlc3QgUGFnZTwvdGl0
bGU+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZG
RkYwMDsiPg0KKyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvd193aXRo
X29udW5sb2FkLmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfeWVsbG93X3dpdGhfb251bmxvYWQuaHRtCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyNTFk
ZTBjOWFiYTI0OTUyYTZhNDM2Y2QzZmYwNGQ1NTYyYzE2ODMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3ll
bGxvd193aXRoX29udW5sb2FkLmh0bQpAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTD4N
Cis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAgIDx0
aXRsZT5ZZWxsb3cgVGVzdCBQYWdlPC90aXRsZT4NCisgICAgPC9oZWFkPg0KKyAgICA8IS0tIHVz
ZSBvbnVubG9hZCB0byBlbnN1cmUgdGhpcyBkb2VzIG5vdCB0cmlnZ2VyIGJmY2FjaGUgLS0+DQor
ICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGMDA7IiBvbnVubG9hZD0iMTsi
Pg0KKyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9wYWdldmlzdGVzdGhhcm5lc3MuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9wYWdldmlzdGVzdGhhcm5l
c3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODg3ZWM1Y2U0NmE1ZDBjYThlYzI5MDBjNWI2NmExOTU4ZDdmN2M4
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3BhZ2V2aXN0ZXN0aGFybmVzcy5qcwpAQCAtMCwwICsxLDEyOCBAQAorLyoKK0Rp
c3RyaWJ1dGVkIHVuZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRlIExpY2Vuc2UgWzFdIGFuZCB0
aGUgVzNDCiszLWNsYXVzZSBCU0QgTGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0Mg
VGVzdCBTdWl0ZSwgc2VlIHRoZQorcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10u
CisKK1sxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1
aXRlLWxpY2Vuc2UKK1syXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgv
MDMtYnNkLWxpY2Vuc2UKK1szXSBodHRwOi8vd3d3LnczLm9yZy8yMDA0LzEwLzI3LXRlc3RjYXNl
cworKi8NCisNCisvLw0KKy8vIEhlbHBlciBGdW5jdGlvbnMgZm9yIFBhZ2VWaXNpYmlsaXR5IFcz
QyB0ZXN0cw0KKy8vDQordmFyIFZJU0lCSUxJVFlfU1RBVEVTID0NCit7DQorICAgIEhJRERFTjog
ImhpZGRlbiIsDQorICAgIFZJU0lCTEU6ICJ2aXNpYmxlIg0KK307DQorDQordmFyIHNraXBfYWxs
X3Rlc3RzID0gZmFsc2U7DQordmFyIGZlYXR1cmVfY2hlY2sgPSBmYWxzZTsNCisNCisvLw0KKy8v
IEFsbCB0ZXN0KCkgZnVuY3Rpb25zIGluIHRoZSBXZWJQZXJmIFBhZ2VWaXMgdGVzdCBzdWl0ZSBz
aG91bGQgdXNlIHB2X3Rlc3QoKSBpbnN0ZWFkLg0KKy8vDQorLy8gcHZfdGVzdCgpIHZhbGlkYXRl
cyB0aGUgZG9jdW1lbnQuaGlkZGVuIGFuZCBkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgYXR0cmli
dXRlcw0KKy8vIGV4aXN0IHByaW9yIHRvIHJ1bm5pbmcgdGVzdHMgYW5kIGltbWVkaWF0ZWx5IHNo
b3dzIGEgZmFpbHVyZSBpZiB0aGV5IGRvIG5vdC4NCisvLw0KKw0KK2Z1bmN0aW9uIHB2X3Rlc3Qo
ZnVuYywgbXNnLCBkb2MpDQorew0KKyAgICBpZiAoIWRvYykNCisgICAgew0KKyAgICAgICAgZG9j
ID0gZG9jdW1lbnQ7DQorICAgIH0NCisNCisgICAgLy8gb25seSBydW4gdGhlIGZlYXR1cmUgY2hl
Y2sgb25jZSwgdW5sZXNzIGZ1bmMgPT0gbnVsbCwgaW4gd2hpY2ggY2FzZSwgDQorICAgIC8vIHRo
aXMgY2FsbCBpcyBpbnRlbmRlZCBhcyBhIGZlYXR1cmUgY2hlY2sNCisgICAgaWYgKCFmZWF0dXJl
X2NoZWNrKQ0KKyAgICB7DQorICAgICAgICBmZWF0dXJlX2NoZWNrID0gdHJ1ZTsNCisNCisgICAg
ICAgIHZhciBoaWRkZW5WYWwgPSBkb2MuaGlkZGVuOw0KKyAgICAgICAgdmFyIHZpc1N0YXRlVmFs
ID0gZG9jLnZpc2liaWxpdHlTdGF0ZTsNCisNCisgICAgICAgIC8vIHNob3cgYSBzaW5nbGUgZXJy
b3IgdGhhdCB0aGUgUGFnZSBWaXNpYmlsaXR5IGZlYXR1cmUgaXMgdW5kZWZpbmVkDQorICAgICAg
ICB0ZXN0KGZ1bmN0aW9uKCkNCisgICAgICAgIHsNCisgICAgICAgICAgICBhc3NlcnRfdHJ1ZSho
aWRkZW5WYWwgIT09IHVuZGVmaW5lZCAmJiBoaWRkZW5WYWwgIT0gbnVsbCwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAiZG9jdW1lbnQuaGlkZGVuIGlzIGRlZmluZWQgYW5kIG5vdCBudWxsLiIp
O30sDQorICAgICAgICAgICAgICAgICAgICAgICAgImRvY3VtZW50LmhpZGRlbiBpcyBkZWZpbmVk
IGFuZCBub3QgbnVsbC4iKTsNCisNCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKQ0KKyAgICAgICAg
ew0KKyAgICAgICAgICAgIGFzc2VydF90cnVlKHZpc1N0YXRlVmFsICE9PSB1bmRlZmluZWQgJiYg
aGlkZGVuVmFsICE9IG51bGwsDQorICAgICAgICAgICAgICAgICAgICAgICAgImRvY3VtZW50LnZp
c2liaWxpdHlTdGF0ZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4iKTt9LA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICJkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgaXMgZGVmaW5lZCBhbmQgbm90
IG51bGwuIik7DQorICAgIA0KKyAgICAgICAgLy9Ta2lwIG9ubHkgaWYgYm90aCBhcmUgdW5kZWZp
bmVkDQorDQorICAgICAgICBpZiAoaGlkZGVuVmFsID09PSB1bmRlZmluZWQgfHwgdmlzU3RhdGVW
YWwgPT09IHVuZGVmaW5lZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICBza2lwX2FsbF90ZXN0
cyA9IHRydWU7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAgaWYgKCFza2lwX2FsbF90ZXN0
cyAmJiBmdW5jKQ0KKyAgICB7DQorICAgICAgICB0ZXN0KGZ1bmMsIG1zZyk7DQorICAgIH0NCit9
DQorDQorDQorZnVuY3Rpb24gdGVzdF9mZWF0dXJlX2V4aXN0cyhkb2MsIG1zZykNCit7DQorICAg
IGlmICghbXNnKQ0KKyAgICB7DQorICAgICAgICBtc2cgPSAiIjsNCisgICAgfQ0KKyAgICB2YXIg
aGlkZGVuTXNnID0gImRvY3VtZW50LmhpZGRlbiBpcyBkZWZpbmVkIiArIG1zZyArICIuIjsNCisg
ICAgdmFyIHN0YXRlTXNnID0gImRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSBpcyBkZWZpbmVkIiAr
IG1zZyArICIuIjsNCisgICAgcHZfdGVzdChmdW5jdGlvbigpe2Fzc2VydF90cnVlKGRvY3VtZW50
LmhpZGRlbiAhPT0gdW5kZWZpbmVkLCBoaWRkZW5Nc2cpO30sIGhpZGRlbk1zZywgZG9jKTsNCisg
ICAgcHZfdGVzdChmdW5jdGlvbigpe2Fzc2VydF90cnVlKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0
ZSAhPT0gdW5kZWZpbmVkLCBzdGF0ZU1zZyk7fSwgc3RhdGVNc2csIGRvYyk7DQorfQ0KKw0KKy8v
DQorLy8gQ29tbW9uIGhlbHBlciBmdW5jdGlvbnMNCisvLw0KKw0KK2Z1bmN0aW9uIHRlc3RfdHJ1
ZSh2YWx1ZSwgbXNnKQ0KK3sNCisgICAgcHZfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUo
dmFsdWUsIG1zZyk7IH0sIG1zZyk7DQorfQ0KKw0KK2Z1bmN0aW9uIHRlc3RfZXF1YWxzKHZhbHVl
LCBlcXVhbHMsIG1zZykNCit7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVh
bHModmFsdWUsIGVxdWFscywgbXNnKTsgfSwgbXNnKTsNCit9DQorDQorLy8NCisvLyBhc3luY2hy
b25vdXMgdGVzdCBoZWxwZXIgZnVuY3Rpb25zDQorLy8NCisNCitmdW5jdGlvbiBhZGRfYXN5bmNf
cmVzdWx0KHRlc3Rfb2JqLCBwYXNzX3N0YXRlKQ0KK3sNCisgICAgLy8gYWRkIGFzc2VydGlvbiB0
byBtYW51YWwgdGVzdCBmb3IgdGhlIHBhc3Mgc3RhdGUNCisgICAgdGVzdF9vYmouc3RlcChmdW5j
dGlvbigpIHsgYXNzZXJ0X3RydWUocGFzc19zdGF0ZSkgfSk7DQorDQorICAgIC8vIGVuZCBtYW51
YWwgdGVzdA0KKyAgICB0ZXN0X29iai5kb25lKCk7DQorfQ0KKw0KK2Z1bmN0aW9uIGFkZF9hc3lu
Y19yZXN1bHRfYXNzZXJ0KHRlc3Rfb2JqLCBmdW5jKQ0KK3sNCisgICAgLy8gYWRkIGFzc2VydGlv
biB0byBtYW51YWwgdGVzdCBmb3IgdGhlIHBhc3Mgc3RhdGUNCisgICAgdGVzdF9vYmouc3RlcChm
dW5jKTsNCisNCisgICAgLy8gZW5kIG1hbnVhbCB0ZXN0DQorICAgIHRlc3Rfb2JqLmRvbmUoKTsN
Cit9DQorDQordmFyIG9wZW5fbGluazsNCitmdW5jdGlvbiBUYWJTd2l0Y2goKQ0KK3sNCisgICAg
Ly92YXIgb3Blbl9saW5rID0gd2luZG93Lm9wZW4oImh0dHA6Ly93d3cuYmluZy5jb20iKTsNCisg
ICAgb3Blbl9saW5rID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTsNCisgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsgb3Blbl9saW5rLmNsb3NlKCk7IH0sIDIwMDApOw0KK30KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ4NmU5NjA1
NDc3NDE3ZDIzZDIwODc3YTA5MDcwY2U5MzU0YTk3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocApAQCAt
MCwwICsxLDggQEAKKzw/cGhwCisgICRjb2RlID0gY3R5cGVfZGlnaXQoJF9HRVRbImNvZGUiXSkg
PyAkX0dFVFsiY29kZSJdIDogIjMwMiI7CisgICRsb2NhdGlvbiA9ICRfR0VUWyJsb2NhdGlvbiJd
ID8gJF9HRVRbImxvY2F0aW9uIl0gOiAkX1NFUlZFUlsiU0NSSVBUX05BTUUiXSAuICI/Zm9sbG93
ZWQiOworCisgIGhlYWRlcigiSFRUUC8xLjEgJGNvZGUiKTsKKyAgaGVhZGVyKCJMb2NhdGlvbjog
JGxvY2F0aW9uIik7CisgIGV4aXQ7Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE2MzhlZWRkYjMyNjRhYmU1ZWUyYjBlZDNmZGU4OTY5ZGI2MWFiNjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jl
c291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTAsMCArMSwxNTYgQEAKK++7vy8qCitE
aXN0cmlidXRlZCB1bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQg
dGhlIFczQworMy1jbGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzND
IFRlc3QgU3VpdGUsIHNlZSB0aGUKK3BvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNd
LgorCitbMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3Rz
dWl0ZS1saWNlbnNlCitbMl0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4
LzAzLWJzZC1saWNlbnNlCitbM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2Fz
ZXMKKyAqLworCisvLworLy8gSGVscGVyIEZ1bmN0aW9ucyBmb3IgTmF2aWdhdGlvblRpbWluZyBX
M0MgdGVzdHMKKy8vCisKK3ZhciBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IHdpbmRvdy5wZXJmb3Jt
YW5jZTsKK3ZhciB0aW1pbmdBdHRyaWJ1dGVzID0gWworICAgICdjb25uZWN0RW5kJywKKyAgICAn
Y29ubmVjdFN0YXJ0JywKKyAgICAnZG9tQ29tcGxldGUnLAorICAgICdkb21Db250ZW50TG9hZGVk
RXZlbnRFbmQnLAorICAgICdkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCcsCisgICAgJ2RvbUlu
dGVyYWN0aXZlJywKKyAgICAnZG9tTG9hZGluZycsCisgICAgJ2RvbWFpbkxvb2t1cEVuZCcsCisg
ICAgJ2RvbWFpbkxvb2t1cFN0YXJ0JywKKyAgICAnZmV0Y2hTdGFydCcsCisgICAgJ2xvYWRFdmVu
dEVuZCcsCisgICAgJ2xvYWRFdmVudFN0YXJ0JywKKyAgICAnbmF2aWdhdGlvblN0YXJ0JywKKyAg
ICAncmVkaXJlY3RFbmQnLAorICAgICdyZWRpcmVjdFN0YXJ0JywKKyAgICAncmVxdWVzdFN0YXJ0
JywKKyAgICAncmVzcG9uc2VFbmQnLAorICAgICdyZXNwb25zZVN0YXJ0JywKKyAgICAndW5sb2Fk
RXZlbnRFbmQnLAorICAgICd1bmxvYWRFdmVudFN0YXJ0JworXTsKKwordmFyIHNraXBfYWxsX3Rl
c3RzID0gZmFsc2U7Cit2YXIgbmFtZXNwYWNlX2NoZWNrID0gZmFsc2U7CisKKy8vCisvLyBBbGwg
dGVzdCgpIGZ1bmN0aW9ucyBpbiB0aGUgV2ViUGVyZiB0ZXN0IHN1aXRlIHNob3VsZCB1c2Ugd3Bf
dGVzdCgpIGluc3RlYWQuCisvLworLy8gd3BfdGVzdCgpIHZhbGlkYXRlcyB0aGUgd2luZG93LnBl
cmZvcm1hbmNlIG5hbWVzcGFjZSBleGlzdHMgcHJpb3IgdG8gcnVubmluZyB0ZXN0cyBhbmQKKy8v
IGltbWVkaWF0ZWx5IHNob3dzIGEgc2luZ2xlIGZhaWx1cmUgaWYgaXQgZG9lcyBub3QuCisvLwor
CitmdW5jdGlvbiB3cF90ZXN0KGZ1bmMsIG1zZywgcHJvcGVydGllcykKK3sKKyAgICAvLyBvbmx5
IHJ1biB0aGUgbmFtZXNwYWNlIGNoZWNrIG9uY2UKKyAgICBpZiAoIW5hbWVzcGFjZV9jaGVjaykK
KyAgICB7CisgICAgICAgIG5hbWVzcGFjZV9jaGVjayA9IHRydWU7CisKKyAgICAgICAgaWYgKHBl
cmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQgfHwgcGVyZm9ybWFuY2VOYW1lc3BhY2Ug
PT0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgc2tpcF9hbGxfdGVzdHMgPSB0cnVlOwor
CisgICAgICAgICAgICAvLyBzaG93IGEgc2luZ2xlIGVycm9yIHRoYXQgd2luZG93LnBlcmZvcm1h
bmNlIGlzIHVuZGVmaW5lZAorICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3Ry
dWUocGVyZm9ybWFuY2VOYW1lc3BhY2UgIT09IHVuZGVmaW5lZCAmJiBwZXJmb3JtYW5jZU5hbWVz
cGFjZSAhPSBudWxsLCAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgYW5kIG5vdCBudWxs
Iik7IH0sICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCBhbmQgbm90IG51bGwuIiwge2F1
dGhvcjoiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIsaGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIixhc3Nl
cnQ6IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICJ9KTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmICghc2tpcF9hbGxfdGVzdHMpCisgICAgeworICAgICAgICB0ZXN0KGZ1
bmMsIG1zZywgcHJvcGVydGllcyk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0X25hbWVzcGFj
ZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCit7CisgICAgaWYgKHNraXBfcm9vdCA9PT0gdW5kZWZp
bmVkKSB7CisgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQn
OworICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VO
YW1lc3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLHthdXRob3I6IlczQyBodHRwOi8v
d3d3LnczLm9yZy8iLGhlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5n
LyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsYXNzZXJ0OiJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAifSk7CisgICAgfQorCisgICAgaWYgKGNoaWxkX25hbWUg
IT09IHVuZGVmaW5lZCkgeworICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2Uu
JyArIGNoaWxkX25hbWUgKyAnIGlzIGRlZmluZWQnOworICAgICAgICB3cF90ZXN0KGZ1bmN0aW9u
KCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5k
ZWZpbmVkLCBtc2cyKTsgfSwgbXNnMix7YXV0aG9yOiJXM0MgaHR0cDovL3d3dy53My5vcmcvIixo
ZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLGFzc2VydDoiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRy
aWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0
cmlidXRlcy4gIn0pOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdF9hdHRyaWJ1dGVfZXhpc3Rz
KHBhcmVudF9uYW1lLCBhdHRyaWJ1dGVfbmFtZSwgcHJvcGVydGllcykKK3sKKyAgICB2YXIgbXNn
ID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBhdHRyaWJ1dGVf
bmFtZSArICcgaXMgZGVmaW5lZC4nOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90
cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVthdHRyaWJ1dGVfbmFtZV0gIT09
IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rpb24gdGVz
dF9lbnVtKHBhcmVudF9uYW1lLCBlbnVtX25hbWUsIHZhbHVlLCBwcm9wZXJ0aWVzKQoreworICAg
IHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlLicgKyBwYXJlbnRfbmFtZSArICcuJyArIGVu
dW1fbmFtZSArICcgaXMgZGVmaW5lZC4nOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2Vy
dF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVtlbnVtX25hbWVdICE9PSB1
bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisKKyAgICBtc2cgPSAnd2luZG93
LnBlcmZvcm1hbmNlLicgKyBwYXJlbnRfbmFtZSArICcuJyArIGVudW1fbmFtZSArICcgPSAnICsg
dmFsdWU7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5j
ZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1lXSwgdmFsdWUsIG1zZyk7IH0sIG1zZywg
cHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfdGltaW5nX29yZGVyKGF0dHJpYnV0ZV9u
YW1lLCBncmVhdGVyX3RoYW5fYXR0cmlidXRlLCBwcm9wZXJ0aWVzKQoreworICAgIC8vIGVuc3Vy
ZSBpdCdzIG5vdCAwIGZpcnN0CisgICAgdmFyIG1zZyA9ICJ3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLiIgKyBhdHRyaWJ1dGVfbmFtZSArICIgPiAwIjsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkg
eyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmdbYXR0cmlidXRlX25hbWVd
ID4gMCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKworICAgIC8vIGVuc3VyZSBpdCdzIGlu
IHRoZSByaWdodCBvcmRlcgorICAgIG1zZyA9ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiIg
KyBhdHRyaWJ1dGVfbmFtZSArICIgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4iICsgZ3Jl
YXRlcl90aGFuX2F0dHJpYnV0ZTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1
ZShwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmdbYXR0cmlidXRlX25hbWVdID49IHBlcmZvcm1h
bmNlTmFtZXNwYWNlLnRpbWluZ1tncmVhdGVyX3RoYW5fYXR0cmlidXRlXSwgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rpb24gdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKGF0
dHJpYnV0ZV9uYW1lLCBncmVhdGVyX3RoYW4sIHByb3BlcnRpZXMpCit7CisgICAgdmFyIG1zZyA9
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiIgKyBhdHRyaWJ1dGVfbmFtZSArICIgPiAiICsg
Z3JlYXRlcl90aGFuOworICAgIHRlc3RfZ3JlYXRlcl90aGFuKHBlcmZvcm1hbmNlTmFtZXNwYWNl
LnRpbWluZ1thdHRyaWJ1dGVfbmFtZV0sIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKTsK
K30KKworZnVuY3Rpb24gdGVzdF90aW1pbmdfZXF1YWxzKGF0dHJpYnV0ZV9uYW1lLCBlcXVhbHMs
IG1zZywgcHJvcGVydGllcykKK3sKKyAgICB2YXIgdGVzdF9tc2cgPSBtc2cgfHwgIndpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuIiArIGF0dHJpYnV0ZV9uYW1lICsgIiA9PSAiICsgZXF1YWxzOwor
ICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZ1thdHRyaWJ1dGVfbmFt
ZV0sIGVxdWFscywgdGVzdF9tc2csIHByb3BlcnRpZXMpOworfQorCisvLworLy8gTm9uLXRlc3Qg
cmVsYXRlZCBoZWxwZXIgZnVuY3Rpb25zCisvLw0KKw0KK2Z1bmN0aW9uIHNsZWVwX21pbGxpc2Vj
b25kcyhuKQoreworICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOworICAgIHdo
aWxlICh0cnVlKSB7CisgICAgICAgIGlmICgobmV3IERhdGUoKS5nZXRUaW1lKCkgLSBzdGFydCkg
Pj0gbikgYnJlYWs7CisgICAgfQorfQorCisvLworLy8gQ29tbW9uIGhlbHBlciBmdW5jdGlvbnMK
Ky8vDQorDQorZnVuY3Rpb24gdGVzdF90cnVlKHZhbHVlLCBtc2csIHByb3BlcnRpZXMpCit7Cisg
ICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHZhbHVlLCBtc2cpOyB9LCBtc2cs
IHByb3BlcnRpZXMpOworfQ0KKw0KK2Z1bmN0aW9uIHRlc3RfZXF1YWxzKHZhbHVlLCBlcXVhbHMs
IG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X2Vx
dWFscyh2YWx1ZSwgZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworfQorDQorZnVu
Y3Rpb24gdGVzdF9ncmVhdGVyX3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0
aWVzKQoreworICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSA+IGdy
ZWF0ZXJfdGhhbiwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworZnVuY3Rpb24gdGVz
dF9ub3RfZXF1YWxzKHZhbHVlLCBub3RlcXVhbHMsIG1zZywgcHJvcGVydGllcykKK3sKKyAgICB3
cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSAhPT0gbm90ZXF1YWxzLCBtc2cp
OyB9LCBtc2csIHByb3BlcnRpZXMpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBj
ZTkyZGRjMTlhNTY1NWJlYzk5OGNiN2E3OGU1OTQyYmZiZDhiZTlmLi4zNGE1NGNkNjI4MTE4OGFk
MjA2MGE0ZGNiYzk1NzNkMmU5ZTZlN2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAt
MjYwLDYgKzI2MCw3IEBAIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctb25lLXJlZGlyZWN0LnBo
cAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucGhwCiBodHRwL3Rlc3RzL21p
c2Mvd2VidGltaW5nLXNzbC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGly
ZWN0cy5waHAKK2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYKIGZhc3QvcGVyZm9ybWFuY2UvCiAKICMg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIChFTkFCTEVfQ1NQX05FWFQpIGlzIG5vdCBlbmFi
bGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGRlMzM5Y2Y4ZDhiNThmYWVhYjcxMTJm
MGUyYzYwYjNiNTkxZGVjYmUuLmIyODU5Nzc3MzExMTExNzM3NDAxZjcxNTc2NmQ0MWFkZjQzMjZm
ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMjI5LDYgKzEyMjksNyBAQCBodHRw
L3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKIGh0dHAvdGVzdHMvbWlzYy93
ZWJ0aW1pbmctc2xvdy1sb2FkLnBocAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zc2wucGhw
CiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwCitodHRwL3Rlc3Rz
L3czYy93ZWJwZXJmCiBmYXN0L3BlcmZvcm1hbmNlCiAKICMgU3RpbGwgd29ya2luZyBvdXQgZmxh
a2luZXNzIGlzc3VlcyB3aXRoIHRoZSBwZXJmIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1NraXBwZWQKaW5kZXggMGUwNTdiMDMyNmYyYWFlM2IyMzk4ZmE0ZTUwZjM0NjQ1NzllY2Vj
MS4uMGZjZTQ3NzAzOTIxMzgzMTg3ZTdlNGMzZWZmOTEwMWRlZjJjZGNiYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xNzQ2LDYgKzE3NDYsNyBAQCBodHRwL3Rlc3Rz
L21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1p
bmctc2xvdy1sb2FkLnBocAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zc2wucGhwCiBodHRw
L3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRpcmVjdHMucGhwCitodHRwL3Rlc3RzL3czYy93
ZWJwZXJmCiAKICMgU3RpbGwgd29ya2luZyBvdXQgZmxha2luZXNzIGlzc3VlcyB3aXRoIHRoZSBw
ZXJmIHRlc3RzLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQx
OTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MgYi9M
YXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZDQ4MmE3
ZGMxNmNhYWNiYjY0OTBhOGY3Y2JjZDQ2OTkwODhlYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzCkBAIC0wLDAgKzEsMjggQEAKK2h0bWwg
eworICAgIGZvbnQtZmFtaWx5OkRlamFWdSBTYW5zLCBCaXRzdHJlYW0gVmVyYSBTYW5zLCBBcmlh
bCwgU2FuczsKK30KKwordGFibGUjcmVzdWx0cyB7CisgICAgYm9yZGVyLWNvbGxhcHNlOmNvbGxh
cHNlOworfQorCit0YWJsZSNyZXN1bHRzIHRoIHsKKyAgICBwYWRkaW5nOjA7CisgICAgcGFkZGlu
Zy1ib3R0b206MC41ZW07CisgICAgYm9yZGVyLWJvdHRvbTptZWRpdW0gc29saWQgYmxhY2s7Cit9
CisKK3RhYmxlI3Jlc3VsdHMgdGQgeworICAgIHBhZGRpbmc6MDsKKyAgICBwYWRkaW5nLWJvdHRv
bTowLjVlbTsKKyAgICBib3JkZXItYm90dG9tOnRoaW4gc29saWQgYmxhY2s7Cit9CisKK3RhYmxl
I3Jlc3VsdHMgdHI+dGQ6bnRoLWNoaWxkKDEpIHsKKyAgICBmb250LXZhcmlhbnQ6c21hbGwtY2Fw
czsKK30KKwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgtY2hpbGQoMykgeworICAgIGZvbnQtZmFt
aWx5OkRlamFWdSBTYW5zIE1vbm8sIEJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubywgTW9ub3NwYWNl
OworICAgIHdoaXRlLXNwYWNlOnByZTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMgYi9M
YXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKaW5kZXggYTJiZjBhYTY0
YTA1NjgwMWNkNzJmNGFhMDFiOTM3NDcyNTEyYWRiMi4uYTg0YjYxOGMxYWY1N2UxMzA3NjJmMTJk
OTc0MWEzY2EwMDg0MzFjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcwpAQCAtMTMsOCArMTMsMTAgQEAKICAqLw0KIA0KIC8vIFNldHVwIGZvciBXZWJLaXQg
SmF2YVNjcmlwdCB0ZXN0cw0KLWlmIChzZWxmLnRlc3RSdW5uZXIpDQoraWYgKHNlbGYudGVzdFJ1
bm5lcikgew0KICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7DQorfQ0KIA0KIC8vIEZ1bmN0aW9uIHVzZWQgdG8gY29udmVydCB0aGUg
dGVzdCBzdGF0dXMgY29kZSBpbnRvDQogLy8gdGhlIGNvcnJlc3BvbmRpbmcgc3RyaW5nDQpAQCAt
NzEsNCArNzMsNyBAQCBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbiAodGVzdHMsIGhh
cm5lc3Nfc3RhdHVzKXsKIA0KIAkvLyBBZGQgcmVzdWx0cyBlbGVtZW50IHRvIGRvY3VtZW50DQog
CWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVzdWx0cyk7DQorDQorCWlmIChzZWxmLnRlc3RS
dW5uZXIpDQorCQl0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCiB9KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152072</attachid>
            <date>2012-07-12 15:04:47 -0700</date>
            <delta_ts>2012-07-12 15:25:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-84887-20120712150446.patch</filename>
            <type>text/plain</type>
            <size>311554</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGM1ODZjOTNmNzc5MGZmN2IwODgwYzVjZTk4ZDlhNjg3
Yjk2YTUzZi4uZjVkMDJmNzRjYzg5MGExMzdhNjZhNWE4ZWI0MGU2YTY3MWVmNDNlOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEyLTA3LTEyICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbTmF2aWdhdGlvbiBUaW1pbmddIEltcG9ydCB0aGUgVzNDIE5hdmlnYXRpb24g
VGltaW5nIHRlc3Qgc3VpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0ODg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBHZW50aWxjb3JlLgor
CisgICAgICAgICogU2NyaXB0cy9pbXBvcnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzOiBBZGRl
ZC4KKwogMjAxMi0wNy0xMiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBucnd0IGNyYXNoZXMgc2F2aW5nIHRoZSBvdXRwdXQgZm9yIGEgcGxhdGZvcm0tc3Bl
Y2lmaWMgZXhwZWN0ZWQgdGVzdCByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy1wZXJmb3JtYW5jZS13Zy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy1wZXJmb3JtYW5jZS13Zy10ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTViMjY5YWEwMjQ3NTljN2NhZDVl
OTEzYzFhZmFiMzJmZDA2MDU0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXBlcmZvcm1hbmNlLXdnLXRlc3RzCkBAIC0wLDAgKzEsNzkgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMgVGhpcyBzY3JpcHQgaW1wb3J0cyB0aGUg
VzNDIFdlYiBQZXJmb3JtYW5jZSBXRydzIHRlc3Qgc3VpdGUgaW50byBXZWJLaXQuCisjCisjIFlv
dSBtdXN0IGhhdmUgY2hlY2tlZCBvdXQgdGhlICd3ZWJwZXJmJyByZXBvc2l0b3J5IGZyb20gaHR0
cHM6Ly9kdmNzLnczLm9yZy9oZy8KKyMKKyMgVGhpcyBzY3JpcHQgd2lsbCBwb3B1bGF0ZSB0aGUg
TGF5b3V0VGVzdHMgZGlyZWN0b3J5IHdpdGggdGhlIG5ldyB0ZXN0cy4gSWYgdGhlCisjIHRlc3Rz
IGFscmVhZHkgZXhpc3QsIHRoZSBzY3JpcHQgd2lsbCByZWZ1c2UgdG8gcnVuLiBQbGVhc2UgY2xl
YXIgb3V0IHRoZQorIyB3M2Mvd2VicGVyZiBkaXJlY3RvcnkgZmlyc3QuCisjCisjIFRoZSBtYWlu
IHN0ZXAgaW4gaW1wb3J0aW5nIHRoZSB0ZXN0cyBpcyB1cGRhdGluZyBhbGwgb2YgdGhlIFVSTHMg
dG8gbWF0Y2ggb3VyCisjIGRpcmVjdG9yeSBsYXlvdXQuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCitpZiBsZW4oc3lzLmFyZ3YpICE9IDM6CisgICAgcHJpbnQgJ1VTQUdFOiAlcyBwYXRoX3Rv
X3dlYnBlcmZfY2hlY2tvdXRfcm9vdCBwYXRoX3RvX3dlYmtpdF9jaGVja291dF9yb290JworICAg
IHN5cy5leGl0KDEpCisKK3NvdXJjZV9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFyZ3Zb
MV0sICd0ZXN0cycpCitkZXN0aW5hdGlvbl9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc3lzLmFy
Z3ZbMl0sICdMYXlvdXRUZXN0cycsICdodHRwJywgJ3Rlc3RzJywgJ3czYycsICd3ZWJwZXJmJykK
KworaWYgb3MucGF0aC5leGlzdHMoZGVzdGluYXRpb25fZGlyZWN0b3J5KToKKyAgICBwcmludCAn
UmVmdXNpbmcgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGRpcmVjdG9yeTogJXMnICUgZGVzdGluYXRp
b25fZGlyZWN0b3J5CisgICAgc3lzLmV4aXQoMSkKK29zLm1ha2VkaXJzKGRlc3RpbmF0aW9uX2Rp
cmVjdG9yeSkKKworZGlyZWN0b3JpZXNfdG9fY29weSA9IFsnYXBwcm92ZWQnLCAncmVzb3VyY2Vz
J10KK3JlcGxhY2VtZW50cyA9IFsKKyAgICAgICAgKCd3d3cudzNjLXRlc3Qub3JnJywgJ2xvY2Fs
aG9zdDo4MDAwJyksICAgIyBUaGlzIGlzIHRoZSBhbHRlcm5hdGUgaG9zdCBmb3IgY3Jvc3Mtc2Vy
dmVyIHJlcXVlc3RzLgorICAgICAgICAoJ3czYy10ZXN0Lm9yZycsICcxMjcuMC4wLjE6ODAwMCcp
LCAgICAgICAjIFRoaXMgaXMgdGhlIHByaW1hcnkgdGVzdCBzZXJ2ZXIuCisgICAgICAgICgnd2Vi
cGVyZi90ZXN0cycsICd3M2Mvd2VicGVyZicpLCAgICAgICAgICMgV2UgcHJlcGVuZCAvdzNjIHRv
IGFsbCBvZiBvdXIgcGF0aHMuCisgICAgICAgICgnL3Jlc291cmNlcy90ZXN0aGFybmVzcycsICcv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcycpLAorICAgICAgICAoJysgIigiICsgcmVsb2FkVGlt
ZVt0aW1lXSArICIpIicsICcnKSwgICAjIFJlbW92ZSBkeW5hbWljIHZhbHVlcyBmcm9tIHRoZSBv
dXRwdXQuIFdlJ2xsIHN0aWxsIHNlZSBQQVNTLgorICAgICAgICAoJysgIigiICsgc3RhcnRpbmdU
aW1lW3RpbWVdICsgIikiJywgJycpLAorXQorCitmb3IgZGlyZWN0b3J5X3RvX2NvcHkgaW4gZGly
ZWN0b3JpZXNfdG9fY29weToKKyAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRp
b25fZGlyZWN0b3J5LCBkaXJlY3RvcnlfdG9fY29weSkpCisgICAgb3MuY2hkaXIoc291cmNlX2Rp
cmVjdG9yeSkKKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkaXJlY3Rvcnlf
dG9fY29weSk6CisgICAgICAgIGZvciBkaXJuYW1lIGluIGRpcnM6CisgICAgICAgICAgICBvcy5t
YWtlZGlycyhvcy5wYXRoLmpvaW4oZGVzdGluYXRpb25fZGlyZWN0b3J5LCByb290LCBkaXJuYW1l
KSkKKyAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVzOgorICAgICAgICAgICAgd2l0aCBvcGVu
KG9zLnBhdGguam9pbihzb3VyY2VfZGlyZWN0b3J5LCByb290LCBmaWxlbmFtZSksICdyJykgYXMg
aW5fZmlsZToKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRlc3RpbmF0
aW9uX2RpcmVjdG9yeSwgcm9vdCwgZmlsZW5hbWUpLCAndycpIGFzIG91dF9maWxlOgorICAgICAg
ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBpbl9maWxlOgorICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIHRvX2ZpbmQsIHJlcGxhY2Vfd2l0aCBpbiByZXBsYWNlbWVudHM6CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh0b19maW5kLCByZXBsYWNlX3dp
dGgpCisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgJ3czYy10ZXN0Lm9yZycgbm90IGlu
IGxpbmUsICdJbXBvcnRlZCB0ZXN0IG11c3Qgbm90IGRlcGVuZCBvbiBsaXZlIHNpdGUuIEJhZCBs
aW5lOiAiJXMiJyAlIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dF9maWxlLndyaXRl
KGxpbmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNzYwOTc3YzlkNWUzNTk4YjVlYWFkYzdjOGM1NTQ5OTZkMGNlNzA3OS4u
NDNlMzIyMjdmZGNmMDExYjE5ZTlmNGZkNDBjMjkwYWUxYTE2Njk0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEwNCBAQAorMjAxMi0wNy0xMiAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW05hdmlnYXRpb24gVGltaW5nXSBJbXBvcnQgdGhlIFczQyBOYXZpZ2F0
aW9uIFRpbWluZyB0ZXN0IHN1aXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NDg4NworCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgR2VudGlsY29y
ZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzczogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcy4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qczogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLgorICAgICAgICAqIGh0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2Rv
Y3VtZW50X29wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9v
cGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4
aXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9u
b25lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVj
dENvdW50X25vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX2Jh
Y2tmb3J3YXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90
eXBlX2JhY2tmb3J3YXJkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlw
ZV9lbnVtcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlw
ZV9lbnVtcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2Fk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9h
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdy
aXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX3JlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGly
ZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX3NlcnZlcl9yZWRp
cmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVj
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19leGlzdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2FyZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2Zvcndh
cmQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3Zl
ZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19leGlzdF9pbl9vYmpl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmli
dXRlc19leGlzdF9pbl9vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9u
LXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90
ZXN0X3RpbWluZ19yZWxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2
ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3Nl
cnZlcl9yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJf
cmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2
ZXJfcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5j
ZV9vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJm
b3JtYW5jZV9vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuX3dpdGhfb251
bmxvYWQuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX21ldGFfcmVkaXJlY3QuaHRtOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9hZC5odG06IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2Vf
eWVsbG93Lmh0bTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfcGFnZV95ZWxsb3dfd2l0aF9vbnVubG9hZC5odG06IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3BhZ2V2aXN0ZXN0aGFybmVzcy5q
czogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9Ta2lwcGVkOiBTa2lwIG5ldyB3ZWJwZXJmIHRlc3RzLgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9Ta2lwcGVkOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOiBE
aXR0by4KKyAgICAgICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzOiBBZGRlZC4KKyAgICAg
ICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM6IFN1cHBvcnQgYXN5bmMgdGVzdHMu
CisKIDIwMTItMDctMTIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgbnJ3dCBjcmFzaGVzIHNhdmluZyB0aGUgb3V0cHV0IGZvciBhIHBsYXRmb3JtLXNwZWNp
ZmljIGV4cGVjdGVkIHRlc3QgcmVmZXJlbmNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy9SRUFETUUgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9SRUFETUUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2E3NmIwOTBjZmFkODZmYmQzNDI0YTA3MmQ4NjQ1OWFlNjU3OGMzYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL1JFQURNRQpAQCAtMCwwICsx
LDExIEBACitUaGlzIGRpcmVjdG9yeSBjb250YWlucyBmaWxlcyBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MuCisKK1dpdGggb25seSBvbmUgZXhjZXB0aW9uIChiZWxvdyksIHRoZXNlIGZpbGVzIHNob3Vs
ZCBub3QgYmUgbW9kaWZpZWQgZGlyZWN0bHkuIEluc3RlYWQsIHBsZWFzZQorc291cmNlIHRoZSBm
aWxlcyBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgorCityZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMgLSBhbmQuLi4KK3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MgLSBGZXRjaCBmcm9tIGh0
dHA6Ly93M2MtdGVzdC5vcmcvcmVzb3VyY2VzLworCityZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMgLSBNb2RpZnkgZGlyZWN0bHkuIEl0J3MgdGhlIHZlbmRvciBzcGVjaWZpYyBwb3J0aW9u
LgorCit3ZWJwZXJmLyAtIFVzZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtcGVyZm9ybWFuY2Ut
d2ctdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZDQ4MmE3ZGMxNmNhYWNiYjY0OTBhOGY3Y2Jj
ZDQ2OTkwODhlYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzCkBAIC0wLDAgKzEsMjggQEAKK2h0bWwgeworICAg
IGZvbnQtZmFtaWx5OkRlamFWdSBTYW5zLCBCaXRzdHJlYW0gVmVyYSBTYW5zLCBBcmlhbCwgU2Fu
czsKK30KKwordGFibGUjcmVzdWx0cyB7CisgICAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOwor
fQorCit0YWJsZSNyZXN1bHRzIHRoIHsKKyAgICBwYWRkaW5nOjA7CisgICAgcGFkZGluZy1ib3R0
b206MC41ZW07CisgICAgYm9yZGVyLWJvdHRvbTptZWRpdW0gc29saWQgYmxhY2s7Cit9CisKK3Rh
YmxlI3Jlc3VsdHMgdGQgeworICAgIHBhZGRpbmc6MDsKKyAgICBwYWRkaW5nLWJvdHRvbTowLjVl
bTsKKyAgICBib3JkZXItYm90dG9tOnRoaW4gc29saWQgYmxhY2s7Cit9CisKK3RhYmxlI3Jlc3Vs
dHMgdHI+dGQ6bnRoLWNoaWxkKDEpIHsKKyAgICBmb250LXZhcmlhbnQ6c21hbGwtY2FwczsKK30K
KwordGFibGUjcmVzdWx0cyB0cj50ZDpudGgtY2hpbGQoMykgeworICAgIGZvbnQtZmFtaWx5OkRl
amFWdSBTYW5zIE1vbm8sIEJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubywgTW9ub3NwYWNlOworICAg
IHdoaXRlLXNwYWNlOnByZTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWY3OGE1ZDBhN2Q5YTc4YWEyNzI2YTE4NmU3OWFkYTc0MDI4YTBmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcwpAQCAtMCwwICsxLDE3NjEgQEAKKy8qDQorRGlzdHJpYnV0ZWQgdW5kZXIgYm90aCB0
aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5kIHRoZSBXM0MNCiszLWNsYXVzZSBCU0Qg
TGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBTdWl0ZSwgc2VlIHRoZQ0K
K3BvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLg0KKw0KK1sxXSBodHRwOi8vd3d3
LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxpY2Vuc2UNCitbMl0g
aHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNlDQor
WzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzDQorKi8NCisNCisvKg0K
KyAqID09IEludHJvZHVjdGlvbiA9PQ0KKyAqDQorICogVGhpcyBmaWxlIHByb3ZpZGVzIGEgZnJh
bWV3b3JrIGZvciB3cml0aW5nIHRlc3RjYXNlcy4gSXQgaXMgaW50ZW5kZWQgdG8NCisgKiBwcm92
aWRlIGEgY29udmVuaWVudCBBUEkgZm9yIG1ha2luZyBjb21tb24gYXNzZXJ0aW9ucywgYW5kIHRv
IHdvcmsgYm90aA0KKyAqIGZvciB0ZXN0aW5nIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMg
RE9NIGZlYXR1cmVzIGluIGEgd2F5IHRoYXQNCisgKiBwcm9tb3RlcyBjbGVhciwgcm9idXN0LCB0
ZXN0cy4NCisgKg0KKyAqID09IEJhc2ljIFVzYWdlID09DQorICoNCisgKiBUbyB1c2UgdGhpcyBm
aWxlLCBpbXBvcnQgdGhlIHNjcmlwdCBhbmQgdGhlIHRlc3RoYXJuZXNzcmVwb3J0IHNjcmlwdCBp
bnRvDQorICogdGhlIHRlc3QgZG9jdW1lbnQ6DQorICogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAqIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgKg0KKyAqIFdpdGhpbiBlYWNoIGZpbGUg
b25lIG1heSBkZWZpbmUgb25lIG9yIG1vcmUgdGVzdHMuIEVhY2ggdGVzdCBpcyBhdG9taWMNCisg
KiBpbiB0aGUgc2Vuc2UgdGhhdCBhIHNpbmdsZSB0ZXN0IGhhcyBhIHNpbmdsZSByZXN1bHQgKHBh
c3MvZmFpbC90aW1lb3V0KS4NCisgKiBXaXRoaW4gZWFjaCB0ZXN0IG9uZSBtYXkgaGF2ZSBhIG51
bWJlciBvZiBhc3NlcnRzLiBUaGUgdGVzdCBmYWlscyBhdCB0aGUNCisgKiBmaXJzdCBmYWlsaW5n
IGFzc2VydCwgYW5kIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlc3QgaXMgKHR5cGljYWxseSkgbm90
IHJ1bi4NCisgKg0KKyAqIElmIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHRlc3RzIGlzIGEgSFRN
TCBmaWxlIHdpdGggYW4gZWxlbWVudCBvZiBpZCAibG9nIg0KKyAqIHRoaXMgd2lsbCBiZSBwb3B1
bGF0ZWQgd2l0aCBhIHRhYmxlIGNvbnRhaW5pbmcgdGhlIHRlc3QgcmVzdWx0cyBhZnRlciBhbGwN
CisgKiB0aGUgdGVzdHMgaGF2ZSBydW4uDQorICoNCisgKiBOT1RFOiBCeSBkZWZhdWx0IHRlc3Rz
IG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgdGhlIGxvYWQgZXZlbnQgZmlyZXMuIEZvciB3YXlzDQor
ICogICAgICAgdG8gY3JlYXRlIHRlc3RzIGFmdGVyIHRoZSBsb2FkIGV2ZW50LCBzZWUgIkRldGVy
bWluaW5nIHdoZW4gYWxsIHRlc3RzIGFyZQ0KKyAqICAgICAgIGNvbXBsZXRlIiwgYmVsb3cNCisg
Kg0KKyAqID09IFN5bmNocm9ub3VzIFRlc3RzID09DQorICoNCisgKiBUbyBjcmVhdGUgYSBzeW5j
aHJvbm91cyB0ZXN0IHVzZSB0aGUgdGVzdCgpIGZ1bmN0aW9uOg0KKyAqDQorICogdGVzdCh0ZXN0
X2Z1bmN0aW9uLCBuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAqDQorICogdGVzdF9mdW5jdGlvbiBpcyBh
IGZ1bmN0aW9uIHRoYXQgY29udGFpbnMgdGhlIGNvZGUgdG8gdGVzdC4gRm9yIGV4YW1wbGUgYQ0K
KyAqIHRyaXZpYWwgcGFzc2luZyB0ZXN0IHdvdWxkIGJlOg0KKyAqDQorICogdGVzdChmdW5jdGlv
bigpIHthc3NlcnRfdHJ1ZSh0cnVlKX0sICJhc3NlcnRfdHJ1ZSB3aXRoIHRydWUiKQ0KKyAqDQor
ICogVGhlIGZ1bmN0aW9uIHBhc3NlZCBpbiBpcyBydW4gaW4gdGhlIHRlc3QoKSBjYWxsLg0KKyAq
DQorICogcHJvcGVydGllcyBpcyBhbiBvYmplY3QgdGhhdCBvdmVycmlkZXMgZGVmYXVsdCB0ZXN0
IHByb3BlcnRpZXMuIFRoZSByZWNvZ25pc2VkIHByb3BlcnRpZXMNCisgKiBhcmU6DQorICogICAg
dGltZW91dCAtIHRoZSB0ZXN0IHRpbWVvdXQgaW4gbXMNCisgKg0KKyAqIGUuZy4NCisgKiB0ZXN0
KHRlc3RfZnVuY3Rpb24sICJTYW1wbGUgdGVzdCIsIHt0aW1lb3V0OjEwMDB9KQ0KKyAqDQorICog
d291bGQgcnVuIHRlc3RfZnVuY3Rpb24gd2l0aCBhIHRpbWVvdXQgb2YgMXMuDQorICoNCisgKiA9
PSBBc3luY2hyb25vdXMgVGVzdHMgPT0NCisgKg0KKyAqIFRlc3RpbmcgYXN5bmNocm9ub3VzIGZl
YXR1cmVzIGlzIHNvbWV3aGF0IG1vcmUgY29tcGxleCBzaW5jZSB0aGUgcmVzdWx0IG9mDQorICog
YSB0ZXN0IG1heSBkZXBlbmQgb24gb25lIG9yIG1vcmUgZXZlbnRzIG9yIG90aGVyIGNhbGxiYWNr
cy4gVGhlIEFQSSBwcm92aWRlZA0KKyAqIGZvciB0ZXN0aW5nIHRoZXNlIGZlYXR1cmVzIGlzIGlu
ZGVuZGVkIHRvIGJlIHJhdGhlciBsb3ctbGV2ZWwgYnV0IGhvcGVmdWxseQ0KKyAqIGFwcGxpY2Fi
bGUgdG8gbWFueSBzaXR1YXRpb25zLg0KKyAqDQorICogVG8gY3JlYXRlIGEgdGVzdCwgb25lIHN0
YXJ0cyBieSBnZXR0aW5nIGEgVGVzdCBvYmplY3QgdXNpbmcgYXN5bmNfdGVzdDoNCisgKg0KKyAq
IGFzeW5jX3Rlc3QobmFtZSwgcHJvcGVydGllcykNCisgKg0KKyAqIGUuZy4NCisgKiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNpbXBsZSBhc3luYyB0ZXN0IikNCisgKg0KKyAqIEFzc2VydGlvbnMgY2Fu
IGJlIGFkZGVkIHRvIHRoZSB0ZXN0IGJ5IGNhbGxpbmcgdGhlIHN0ZXAgbWV0aG9kIG9mIHRoZSB0
ZXN0DQorICogb2JqZWN0IHdpdGggYSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGFzc2Vy
dGlvbnM6DQorICoNCisgKiB0LnN0ZXAoZnVuY3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9KTsN
CisgKg0KKyAqIFdoZW4gYWxsIHRoZSBzdGVwcyBhcmUgY29tcGxldGUsIHRoZSBkb25lKCkgbWV0
aG9kIG11c3QgYmUgY2FsbGVkOg0KKyAqDQorICogdC5kb25lKCk7DQorICoNCisgKiBUaGUgcHJv
cGVydGllcyBhcmd1bWVudCBpcyBpZGVudGljYWwgdG8gdGhhdCBmb3IgdGVzdCgpLg0KKyAqDQor
ICogSW4gbWFueSBjYXNlcyBpdCBpcyBjb252ZW5pZW50IHRvIHJ1biBhIHN0ZXAgaW4gcmVzcG9u
c2UgdG8gYW4gZXZlbnQgb3IgYQ0KKyAqIGNhbGxiYWNrLiBBIGNvbnZlbmllbnQgbWV0aG9kIG9m
IGRvaW5nIHRoaXMgaXMgdGhyb3VnaCB0aGUgc3RlcF9mdW5jIG1ldGhvZA0KKyAqIHdoaWNoIHJl
dHVybnMgYSBmdW5jdGlvbiB0aGF0LCB3aGVuIGNhbGxlZCBydW5zIGEgdGVzdCBzdGVwLiBGb3Ig
ZXhhbXBsZQ0KKyAqDQorICogb2JqZWN0LnNvbWVfZXZlbnQgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihlKSB7YXNzZXJ0X3RydWUoZS5hKX0pOw0KKyAqDQorICogPT0gTWFraW5nIGFzc2VydGlvbnMg
PT0NCisgKg0KKyAqIEZ1bmN0aW9ucyBmb3IgbWFraW5nIGFzc2VydGlvbnMgc3RhcnQgYXNzZXJ0
Xw0KKyAqIFRoZSBiZXN0IHdheSB0byBnZXQgYSBsaXN0IGlzIHRvIGxvb2sgaW4gdGhpcyBmaWxl
IGZvciBmdW5jdGlvbnMgbmFtZXMNCisgKiBtYXRjaGluZyB0aGF0IHBhdHRlcm4uIFRoZSBnZW5l
cmFsIHNpZ25hdHVyZSBpcw0KKyAqDQorICogYXNzZXJ0X3NvbWV0aGluZyhhY3R1YWwsIGV4cGVj
dGVkLCBkZXNjcmlwdGlvbikNCisgKg0KKyAqIGFsdGhvdWdoIG5vdCBhbGwgYXNzZXJ0aW9ucyBw
cmVjaXNlbHkgbWF0Y2ggdGhpcyBwYXR0ZXJuIGUuZy4gYXNzZXJ0X3RydWUNCisgKiBvbmx5IHRh
a2VzIGFjdHVhbCBhbmQgZGVzY3JpcHRpb24gYXMgYXJndW1lbnRzLg0KKyAqDQorICogVGhlIGRl
c2NyaXB0aW9uIHBhcmFtZXRlciBpcyB1c2VkIHRvIHByZXNlbnQgbW9yZSB1c2VmdWwgZXJyb3Ig
bWVzc2FnZXMgd2hlbg0KKyAqIGEgdGVzdCBmYWlscw0KKyAqDQorICogTk9URTogQWxsIGFzc2Vy
dHMgbXVzdCBiZSBsb2NhdGVkIGluIGEgdGVzdCgpIG9yIGEgc3RlcCBvZiBhbiBhc3luY190ZXN0
KCkuDQorICogICAgICAgYXNzZXJ0cyBvdXRzaWRlIHRoZXNlIHBsYWNlcyB3b24ndCBiZSBkZXRl
Y3RlZCBjb3JyZWN0bHkgYnkgdGhlIGhhcm5lc3MNCisgKiAgICAgICBhbmQgbWF5IGNhdXNlIGEg
ZmlsZSB0byBzdG9wIHRlc3RpbmcuDQorICoNCisgKiA9PSBTZXR1cCA9PQ0KKyAqDQorICogU29t
ZXRpbWVzIHRlc3RzIHJlcXVpcmUgbm9uLXRyaXZpYWwgc2V0dXAgdGhhdCBtYXkgZmFpbC4gRm9y
IHRoaXMgcHVycG9zZQ0KKyAqIHRoZXJlIGlzIGEgc2V0dXAoKSBmdW5jdGlvbiwgdGhhdCBtYXkg
YmUgY2FsbGVkIHdpdGggb25lIG9yIHR3byBhcmd1bWVudHMuDQorICogVGhlIHR3byBhcmd1bWVu
dCB2ZXJzaW9uIGlzOg0KKyAqDQorICogc2V0dXAoZnVuYywgcHJvcGVydGllcykNCisgKg0KKyAq
IFRoZSBvbmUgYXJndW1lbnQgdmVyc2lvbnMgbWF5IG9taXQgZWl0aGVyIGFyZ3VtZW50Lg0KKyAq
IGZ1bmMgaXMgYSBmdW5jdGlvbiB0byBiZSBydW4gc3luY2hyb25vdXNseS4gc2V0dXAoKSBiZWNv
bWVzIGEgbm8tb3Agb25jZQ0KKyAqIGFueSB0ZXN0cyBoYXZlIHJldHVybmVkIHJlc3VsdHMuIFBy
b3BlcnRpZXMgYXJlIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0DQorICogaGFybmVzcy4g
Q3VycmVudGx5IHJlY29nbmlzZWQgcHJvcGVydGllcyBhcmU6DQorICoNCisgKiB0aW1lb3V0IC0g
VGhlIHRpbWUgaW4gbXMgYWZ0ZXIgd2hpY2ggdGhlIGhhcm5lc3Mgc2hvdWxkIHN0b3Agd2FpdGlu
ZyBmb3INCisgKiAgICAgICAgICAgdGVzdHMgdG8gY29tcGxldGUgKHRoaXMgaXMgZGlmZmVyZW50
IHRvIHRoZSBwZXItdGVzdCB0aW1lb3V0DQorICogICAgICAgICAgIGJlY2F1c2UgYXN5bmMgdGVz
dHMgZG8gbm90IHN0YXJ0IHRoZWlyIHRpbWVyIHVudGlsIC5zdGVwIGlzIGNhbGxlZCkNCisgKg0K
KyAqIGV4cGxpY2l0X2RvbmUgLSBXYWl0IGZvciBhbiBleHBsaWNpdCBjYWxsIHRvIGRvbmUoKSBi
ZWZvcmUgZGVjbGFyaW5nIGFsbCB0ZXN0cw0KKyAqICAgICAgICAgICAgICAgICBjb21wbGV0ZSAo
c2VlIGJlbG93KQ0KKyAqDQorICogb3V0cHV0X2RvY3VtZW50IC0gVGhlIGRvY3VtZW50IHRvIHdo
aWNoIHJlc3VsdHMgc2hvdWxkIGJlIGxvZ2dlZC4gQnkgZGVmYXVsdCB0aGlzIGlzDQorICogICAg
ICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgZG9jdW1lbnQgYnV0IGNvdWxkIGJlIGFuIGFuY2Vz
dG9yIGRvY3VtZW50IGluIHNvbWUgY2FzZXMNCisgKiAgICAgICAgICAgICAgICAgICBlLmcuIGEg
U1ZHIHRlc3QgbG9hZGVkIGluIGFuIEhUTUwgd3JhcHBlcg0KKyAqDQorICogPT0gRGV0ZXJtaW5p
bmcgd2hlbiBhbGwgdGVzdHMgYXJlIGNvbXBsZXRlID09DQorICoNCisgKiBCeSBkZWZhdWx0IHRo
ZSB0ZXN0IGhhcm5lc3Mgd2lsbCBhc3N1bWUgdGhlcmUgYXJlIG5vIG1vcmUgcmVzdWx0cyB0byBj
b21lDQorICogd2hlbjoNCisgKiAxKSBUaGVyZSBhcmUgbm8gVGVzdCBvYmplY3RzIHRoYXQgaGF2
ZSBiZWVuIGNyZWF0ZWQgYnV0IG5vdCBjb21wbGV0ZWQNCisgKiAyKSBUaGUgbG9hZCBldmVudCBv
biB0aGUgZG9jdW1lbnQgaGFzIGZpcmVkDQorICoNCisgKiBUaGlzIGJlaGF2aW91ciBjYW4gYmUg
b3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBleHBsaWNpdF9kb25lIHByb3BlcnR5IHRvIHRydWUN
CisgKiBpbiBhIGNhbGwgdG8gc2V0dXAoKS4gSWYgZXhwbGljaXRfZG9uZSBpcyB0cnVlLCB0aGUg
dGVzdCBoYXJuZXNzIHdpbGwgbm90IGFzc3VtZQ0KKyAqIGl0IGlzIGRvbmUgdW50aWwgdGhlIGds
b2JhbCBkb25lKCkgZnVuY3Rpb24gaXMgY2FsbGVkLiBPbmNlIGRvbmUoKSBpcyBjYWxsZWQsIHRo
ZQ0KKyAqIHR3byBjb25kaXRpb25zIGFib3ZlIGFwcGx5IGxpa2Ugbm9ybWFsLg0KKyAqDQorICog
PT0gR2VuZXJhdGluZyB0ZXN0cyA9PQ0KKyAqDQorICogTk9URTogdGhpcyBmdW5jdGlvbmFsaXR5
IG1heSBiZSByZW1vdmVkDQorICoNCisgKiBUaGVyZSBhcmUgc2NlbmFyaW9zIGluIHdoaWNoIGlz
IGlzIGRlc2lyYWJsZSB0byBjcmVhdGUgYSBsYXJnZSBudW1iZXIgb2YNCisgKiAoc3luY2hyb25v
dXMpIHRlc3RzIHRoYXQgYXJlIGludGVybmFsbHkgc2ltaWxhciBidXQgdmFyeSBpbiB0aGUgcGFy
YW1ldGVycw0KKyAqIHVzZWQuIFRvIG1ha2UgdGhpcyBlYXNpZXIsIHRoZSBnZW5lcmF0ZV90ZXN0
cyBmdW5jdGlvbiBhbGxvd3MgYSBzaW5nbGUNCisgKiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2l0
aCBlYWNoIHNldCBvZiBwYXJhbWV0ZXJzIGluIGEgbGlzdDoNCisgKg0KKyAqIGdlbmVyYXRlX3Rl
c3RzKHRlc3RfZnVuY3Rpb24sIHBhcmFtZXRlcl9saXN0cykNCisgKg0KKyAqIEZvciBleGFtcGxl
Og0KKyAqDQorICogZ2VuZXJhdGVfdGVzdHMoYXNzZXJ0X2VxdWFscywgWw0KKyAqICAgICBbIlN1
bSBvbmUgYW5kIG9uZSIsIDErMSwgMl0sDQorICogICAgIFsiU3VtIG9uZSBhbmQgemVybyIsIDEr
MCwgMV0NCisgKiAgICAgXSkNCisgKg0KKyAqIElzIGVxdWl2YWxlbnQgdG86DQorICoNCisgKiB0
ZXN0KGZ1bmN0aW9uKCkge2Fzc2VydF9lcXVhbHMoMSsxLCAyKX0sICJTdW0gb25lIGFuZCBvbmUi
KQ0KKyAqIHRlc3QoZnVuY3Rpb24oKSB7YXNzZXJ0X2VxdWFscygxKzAsIDEpfSwgIlN1bSBvbmUg
YW5kIHplcm8iKQ0KKyAqDQorICogTm90ZSB0aGF0IHRoZSBmaXJzdCBpdGVtIGluIGVhY2ggcGFy
YW1ldGVyIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIG5hbWUgb2YNCisgKiB0aGUgdGVzdC4NCisg
Kg0KKyAqID09IENhbGxiYWNrIEFQSSA9PQ0KKyAqDQorICogVGhlIGZyYW1ld29yayBwcm92aWRl
cyBjYWxsYmFja3MgY29ycmVzcG9uZGluZyB0byAzIGV2ZW50czoNCisgKg0KKyAqIHN0YXJ0IC0g
aGFwcGVucyB3aGVuIHRoZSBmaXJzdCBUZXN0IGlzIGNyZWF0ZWQNCisgKiByZXN1bHQgLSBoYXBw
ZW5zIHdoZW4gYSB0ZXN0IHJlc3VsdCBpcyByZWNpZXZlZA0KKyAqIGNvbXBsZXRlIC0gaGFwcGVu
cyB3aGVuIGFsbCByZXN1bHRzIGFyZSByZWNpZXZlZA0KKyAqDQorICogVGhlIHBhZ2UgZGVmaW5p
bmcgdGhlIHRlc3RzIG1heSBhZGQgY2FsbGJhY2tzIGZvciB0aGVzZSBldmVudHMgYnkgY2FsbGlu
Zw0KKyAqIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoNCisgKg0KKyAqICAgYWRkX3N0YXJ0X2NhbGxi
YWNrKGNhbGxiYWNrKSAtIGNhbGxiYWNrIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cw0KKyAqICAg
YWRkX3Jlc3VsdF9jYWxsYmFjayhjYWxsYmFjaykgLSBjYWxsYmFjayBjYWxsZWQgd2l0aCBhIHRl
c3QgYXJndW1lbnQNCisgKiAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKGNhbGxiYWNrKSAtIGNh
bGxiYWNrIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9mIHRlc3RzDQorICogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbmQgYW4gc3RhdHVzIG9iamVjdA0KKyAqDQorICogdGVz
dHMgaGF2ZSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6DQorICogICBzdGF0dXM6IEEgc3RhdHVz
IGNvZGUuIFRoaXMgY2FuIGJlIGNvbXBhcmVkIHRvIHRoZSBQQVNTLCBGQUlMLCBUSU1FT1VUIGFu
ZA0KKyAqICAgICAgICAgICBOT1RSVU4gcHJvcGVydGllcyBvbiB0aGUgdGVzdCBvYmplY3QNCisg
KiAgIG1lc3NhZ2U6IEEgbWVzc2FnZSBpbmRpY2F0aW5nIHRoZSByZWFzb24gZm9yIGZhaWx1cmUu
IEluIHRoZSBmdXR1cmUgdGhpcw0KKyAqICAgICAgICAgICAgd2lsbCBhbHdheXMgYmUgYSBzdHJp
bmcNCisgKg0KKyAqICBUaGUgc3RhdHVzIG9iamVjdCBnaXZlcyB0aGUgb3ZlcmFsbCBzdGF0dXMg
b2YgdGhlIGhhcm5lc3MuIEl0IGhhcyB0aGUNCisgKiAgZm9sbG93aW5nIHByb3BlcnRpZXM6DQor
ICogICAgc3RhdHVzOiBDYW4gYmUgY29tcGFyZWQgdG8gdGhlIE9LLCBFUlJPUiBhbmQgVElNRU9V
VCBwcm9wZXJ0aWVzDQorICogICAgbWVzc2FnZTogQW4gZXJyb3IgbWVzc2FnZSBzZXQgd2hlbiB0
aGUgc3RhdHVzIGlzIEVSUk9SDQorICoNCisgKiA9PSBFeHRlcm5hbCBBUEkgPT0NCisgKg0KKyAq
IEluIG9yZGVyIHRvIGNvbGxlY3QgdGhlIHJlc3VsdHMgb2YgbXVsdGlwbGUgcGFnZXMgY29udGFp
bmluZyB0ZXN0cywgdGhlIHRlc3QNCisgKiBoYXJuZXNzIHdpbGwsIHdoZW4gbG9hZGVkIGluIGEg
bmVzdGVkIGJyb3dzaW5nIGNvbnRleHQsIGF0dGVtcHQgdG8gY2FsbA0KKyAqIGNlcnRhaW4gZnVu
Y3Rpb25zIGluIGVhY2ggYW5jZXN0b3IgYnJvd3NpbmcgY29udGV4dDoNCisgKg0KKyAqIHN0YXJ0
IC0gc3RhcnRfY2FsbGJhY2sNCisgKiByZXN1bHQgLSByZXN1bHRfY2FsbGJhY2sNCisgKiBjb21w
bGV0ZSAtIGNvbXBsZXRpb25fY2FsbGJhY2sNCisgKg0KKyAqIFRoZXNlIGFyZSBnaXZlbiB0aGUg
c2FtZSBhcmd1bWVudHMgYXMgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJuYWwgY2FsbGJhY2tzDQor
ICogZGVzY3JpYmVkIGFib3ZlLg0KKyAqDQorICogPT0gTGlzdCBvZiBhc3NlcnRpb25zID09DQor
ICoNCisgKiBhc3NlcnRfdHJ1ZShhY3R1YWwsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0
aGF0IC9hY3R1YWwvIGlzIHN0cmljdGx5IHRydWUNCisgKg0KKyAqIGFzc2VydF9mYWxzZShhY3R1
YWwsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIHN0cmljdGx5
IGZhbHNlDQorICoNCisgKiBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0
aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIHRoZSBzYW1lIHZhbHVlIGFzIC9l
eHBlY3RlZC8NCisgKg0KKyAqIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRl
c2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0cyB0aGF0IC9hY3R1YWwvIGlzIGEgZGlmZmVyZW50IHZh
bHVlIHRvIC9leHBlY3RlZC8uIFllcywgdGhpcyBtZWFucw0KKyAqICAgdGhhdCAiZXhwZWN0ZWQi
IGlzIGEgbWlzbm9tZXINCisgKg0KKyAqIGFzc2VydF9pbl9hcnJheShhY3R1YWwsIGV4cGVjdGVk
LCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgdGhhdCAvZXhwZWN0ZWQvIGlzIGFuIEFycmF5
LCBhbmQgL2FjdHVhbC8gaXMgZXF1YWwgdG8gb25lIG9mIHRoZQ0KKyAqICAgbWVtYmVycyAtLSBl
eHBlY3RlZC5pbmRleE9mKGFjdHVhbCkgIT0gLTENCisgKg0KKyAqIGFzc2VydF9hcnJheV9lcXVh
bHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2Fj
dHVhbC8gYW5kIC9leHBlY3RlZC8gaGF2ZSB0aGUgc2FtZSBsZW5ndGggYW5kIHRoZSB2YWx1ZSBv
Zg0KKyAqICAgZWFjaCBpbmRleGVkIHByb3BlcnR5IGluIC9hY3R1YWwvIGlzIHRoZSBzdHJpY3Rs
eSBlcXVhbCB0byB0aGUgY29ycmVzcG9uZGluZw0KKyAqICAgcHJvcGVydHkgdmFsdWUgaW4gL2V4
cGVjdGVkLw0KKyAqDQorICogYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwg
ZXBzaWxvbiwgZGVzY3JpcHRpb24pDQorICogICBhc3NlcnRzIHRoYXQgL2FjdHVhbC8gaXMgYSBu
dW1iZXIgd2l0aGluICsvLSAvZXBzaWxvbi8gb2YgL2V4cGVjdGVkLw0KKyAqDQorICogYXNzZXJ0
X3JlZ2V4cF9tYXRjaChhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisgKiAgIGFzc2Vy
dHMgdGhhdCAvYWN0dWFsLyBtYXRjaGVzIHRoZSByZWdleHAgL2V4cGVjdGVkLw0KKyAqDQorICog
YXNzZXJ0X293bl9wcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0K
KyAqICAgYXNzZXJ0IHRoYXQgb2JqZWN0IGhhcyBvd24gcHJvcGVydHkgcHJvcGVydHlfbmFtZQ0K
KyAqDQorICogYXNzZXJ0X2luaGVyaXRzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRp
b24pDQorICogICBhc3NlcnQgdGhhdCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhbiBvd24gcHJvcGVy
dHkgbmFtZWQgcHJvcGVydHlfbmFtZQ0KKyAqICAgYnV0IHRoYXQgcHJvcGVydHlfbmFtZSBpcyBw
cmVzZW50IGluIHRoZSBwcm90b3R5cGUgY2hhaW4gZm9yIG9iamVjdA0KKyAqDQorICogYXNzZXJ0
X2lkbF9hdHRyaWJ1dGUob2JqZWN0LCBhdHRyaWJ1dGVfbmFtZSwgZGVzY3JpcHRpb24pDQorICog
ICBhc3NlcnQgdGhhdCBhbiBvYmplY3QgdGhhdCBpcyBhbiBpbnN0YW5jZSBvZiBzb21lIGludGVy
ZmFjZSBoYXMgdGhlDQorICogICBhdHRyaWJ1dGUgYXR0cmlidXRlX25hbWUgZm9sbG93aW5nIHRo
ZSBjb25kaXRpb25zIHNwZWNpZmllZCBieSBXZWJJREwNCisgKg0KKyAqIGFzc2VydF9yZWFkb25s
eShvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAqICAgYXNzZXJ0IHRoYXQg
cHJvcGVydHkgcHJvcGVydHlfbmFtZSBvbiBvYmplY3QgaXMgcmVhZG9ubHkNCisgKg0KKyAqIGFz
c2VydF90aHJvd3MoY29kZSwgZnVuYywgZGVzY3JpcHRpb24pDQorICogICBjb2RlIC0gYSBET01F
eGNlcHRpb24vUmFuZ2VFeGNlcHRpb24gY29kZSBhcyBhIHN0cmluZywgZS5nLiAiSElFUkFSQ0hZ
X1JFUVVFU1RfRVJSIg0KKyAqICAgZnVuYyAtIGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgdGhyb3cN
CisgKg0KKyAqICAgYXNzZXJ0IHRoYXQgZnVuYyB0aHJvd3MgYSBET01FeGNlcHRpb24gb3IgUmFu
Z2VFeGNlcHRpb24gKGFzIGFwcHJvcHJpYXRlKQ0KKyAqICAgd2l0aCB0aGUgZ2l2ZW4gY29kZS4g
IElmIGFuIG9iamVjdCBpcyBwYXNzZWQgZm9yIGNvZGUgaW5zdGVhZCBvZiBhIHN0cmluZywNCisg
KiAgIGNoZWNrcyB0aGF0IHRoZSB0aHJvd24gZXhjZXB0aW9uIGhhcyBhIHByb3BlcnR5IGNhbGxl
ZCAibmFtZSIgdGhhdCBtYXRjaGVzDQorICogICB0aGUgcHJvcGVydHkgb2YgY29kZSBjYWxsZWQg
Im5hbWUiLiAgTm90ZSwgdGhpcyBmdW5jdGlvbiB3aWxsIHByb2JhYmx5IGJlDQorICogICByZXdy
aXR0ZW4gc29tZXRpbWUgdG8gbWFrZSBtb3JlIHNlbnNlLg0KKyAqDQorICogYXNzZXJ0X3VucmVh
Y2hlZChkZXNjcmlwdGlvbikNCisgKiAgIGFzc2VydHMgaWYgY2FsbGVkLiBVc2VkIHRvIGVuc3Vy
ZSB0aGF0IHNvbWUgY29kZXBhdGggaXMgKm5vdCogdGFrZW4gZS5nLg0KKyAqICAgYW4gZXZlbnQg
ZG9lcyBub3QgZmlyZS4NCisgKg0KKyAqIGFzc2VydF9leGlzdHMob2JqZWN0LCBwcm9wZXJ0eV9u
YW1lLCBkZXNjcmlwdGlvbikNCisgKiAgICoqKiBkZXByZWNhdGVkICoqKg0KKyAqICAgYXNzZXJ0
cyB0aGF0IG9iamVjdCBoYXMgYW4gb3duIHByb3BlcnR5IHByb3BlcnR5X25hbWUNCisgKg0KKyAq
IGFzc2VydF9ub3RfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlfbmFtZSwgZGVzY3JpcHRpb24pDQor
ICogICAqKiogZGVwcmVjYXRlZCAqKioNCisgKiAgIGFzc2VydCB0aGF0IG9iamVjdCBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSBwcm9wZXJ0eV9uYW1lDQorICovDQorDQorKGZ1bmN0aW9uICgp
DQorew0KKyAgICB2YXIgZGVidWcgPSBmYWxzZTsNCisgICAgLy8gZGVmYXVsdCB0aW1lb3V0IGlz
IDUgc2Vjb25kcywgdGVzdCBjYW4gb3ZlcnJpZGUgaWYgbmVlZGVkDQorICAgIHZhciBzZXR0aW5n
cyA9IHsNCisgICAgICBvdXRwdXQ6dHJ1ZSwNCisgICAgICB0aW1lb3V0OjUwMDAsDQorICAgICAg
dGVzdF90aW1lb3V0OjIwMDANCisgICAgfTsNCisNCisgICAgdmFyIHhodG1sX25zID0gImh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOw0KKw0KKyAgICAvLyBzY3JpcHRfcHJlZml4IGlzIHVz
ZWQgYnkgT3V0cHV0LnByb3RvdHlwZS5zaG93X3Jlc3VsdHMoKSB0byBmaWd1cmUgb3V0DQorICAg
IC8vIHdoZXJlIHRvIGdldCB0ZXN0aGFybmVzcy5jc3MgZnJvbS4gIEl0J3MgZW5jbG9zZWQgaW4g
YW4gZXh0cmEgY2xvc3VyZSB0bw0KKyAgICAvLyBub3QgcG9sbHV0ZSB0aGUgbGlicmFyeSdzIG5h
bWVzcGFjZSB3aXRoIHZhcmlhYmxlcyBsaWtlICJzcmMiLg0KKyAgICB2YXIgc2NyaXB0X3ByZWZp
eCA9IG51bGw7DQorICAgIChmdW5jdGlvbiAoKQ0KKyAgICB7DQorICAgICAgICB2YXIgc2NyaXB0
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTsNCisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc2NyaXB0cy5sZW5ndGg7IGkrKykNCisgICAgICAgIHsNCisgICAg
ICAgICAgICBpZiAoc2NyaXB0c1tpXS5zcmMpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICB2YXIgc3JjID0gc2NyaXB0c1tpXS5zcmM7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgIGVsc2UgaWYgKHNjcmlwdHNbaV0uaHJlZikNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIC8vU1ZHIGNhc2UNCisgICAgICAgICAgICAgICAgdmFyIHNyYyA9IHNjcmlwdHNbaV0u
aHJlZi5iYXNlVmFsOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBpZiAoc3JjICYmIHNy
Yy5zbGljZShzcmMubGVuZ3RoIC0gInRlc3RoYXJuZXNzLmpzIi5sZW5ndGgpID09PSAidGVzdGhh
cm5lc3MuanMiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgc2NyaXB0X3ByZWZp
eCA9IHNyYy5zbGljZSgwLCBzcmMubGVuZ3RoIC0gInRlc3RoYXJuZXNzLmpzIi5sZW5ndGgpOw0K
KyAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQorICAg
IH0pKCk7DQorDQorICAgIC8qDQorICAgICAqIEFQSSBmdW5jdGlvbnMNCisgICAgICovDQorDQor
ICAgIHZhciBuYW1lX2NvdW50ZXIgPSAwOw0KKyAgICBmdW5jdGlvbiBuZXh0X2RlZmF1bHRfbmFt
ZSgpDQorICAgIHsNCisgICAgICAgIC8vRG9uJ3QgdXNlIGRvY3VtZW50LnRpdGxlIHRvIHdvcmsg
YXJvdW5kIGFuIE9wZXJhIGJ1ZyBpbiBYSFRNTCBkb2N1bWVudHMNCisgICAgICAgIHZhciBwcmVm
aXggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKS5sZW5ndGggPiAwID8N
CisgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
InRpdGxlIilbMF0uZmlyc3RDaGlsZC5kYXRhIDoNCisgICAgICAgICAgICAgICAgICAgICAgICAg
IlVudGl0bGVkIjsNCisgICAgICAgIHZhciBzdWZmaXggPSBuYW1lX2NvdW50ZXIgPiAwID8gIiAi
ICsgbmFtZV9jb3VudGVyIDogIiI7DQorICAgICAgICBuYW1lX2NvdW50ZXIrKzsNCisgICAgICAg
IHJldHVybiBwcmVmaXggKyBzdWZmaXg7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gdGVzdChm
dW5jLCBuYW1lLCBwcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB2YXIgdGVzdF9uYW1lID0g
bmFtZSA/IG5hbWUgOiBuZXh0X2RlZmF1bHRfbmFtZSgpOw0KKyAgICAgICAgcHJvcGVydGllcyA9
IHByb3BlcnRpZXMgPyBwcm9wZXJ0aWVzIDoge307DQorICAgICAgICB2YXIgdGVzdF9vYmogPSBu
ZXcgVGVzdCh0ZXN0X25hbWUsIHByb3BlcnRpZXMpOw0KKyAgICAgICAgdGVzdF9vYmouc3RlcChm
dW5jKTsNCisgICAgICAgIGlmICh0ZXN0X29iai5zdGF0dXMgPT09IHRlc3Rfb2JqLk5PVFJVTikg
ew0KKyAgICAgICAgICAgIHRlc3Rfb2JqLmRvbmUoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0K
KyAgICBmdW5jdGlvbiBhc3luY190ZXN0KG5hbWUsIHByb3BlcnRpZXMpDQorICAgIHsNCisgICAg
ICAgIHZhciB0ZXN0X25hbWUgPSBuYW1lID8gbmFtZSA6IG5leHRfZGVmYXVsdF9uYW1lKCk7DQor
ICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXMgOiB7fTsNCisgICAg
ICAgIHZhciB0ZXN0X29iaiA9IG5ldyBUZXN0KHRlc3RfbmFtZSwgcHJvcGVydGllcyk7DQorICAg
ICAgICByZXR1cm4gdGVzdF9vYmo7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc2V0dXAoZnVu
Y19vcl9wcm9wZXJ0aWVzLCBtYXliZV9wcm9wZXJ0aWVzKQ0KKyAgICB7DQorICAgICAgICB2YXIg
ZnVuYyA9IG51bGw7DQorICAgICAgICB2YXIgcHJvcGVydGllcyA9IHt9Ow0KKyAgICAgICAgaWYg
KGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHsNCisgICAgICAgICAgICBmdW5jID0gZnVuY19vcl9w
cm9wZXJ0aWVzOw0KKyAgICAgICAgICAgIHByb3BlcnRpZXMgPSBtYXliZV9wcm9wZXJ0aWVzOw0K
KyAgICAgICAgfSBlbHNlIGlmIChmdW5jX29yX3Byb3BlcnRpZXMgaW5zdGFuY2VvZiBGdW5jdGlv
bil7DQorICAgICAgICAgICAgZnVuYyA9IGZ1bmNfb3JfcHJvcGVydGllczsNCisgICAgICAgIH0g
ZWxzZSB7DQorICAgICAgICAgICAgcHJvcGVydGllcyA9IGZ1bmNfb3JfcHJvcGVydGllczsNCisg
ICAgICAgIH0NCisgICAgICAgIHRlc3RzLnNldHVwKGZ1bmMsIHByb3BlcnRpZXMpOw0KKyAgICAg
ICAgb3V0cHV0LnNldHVwKHByb3BlcnRpZXMpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGRv
bmUoKSB7DQorICAgICAgICB0ZXN0cy5lbmRfd2FpdCgpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0
aW9uIGdlbmVyYXRlX3Rlc3RzKGZ1bmMsIGFyZ3MpIHsNCisgICAgICAgIGZvckVhY2goYXJncywg
ZnVuY3Rpb24oeCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgdmFy
IG5hbWUgPSB4WzBdOw0KKyAgICAgICAgICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmMuYXBwbHkodGhpcywgeC5zbGljZSgxKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgIH0s
IG5hbWUpOw0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBv
bl9ldmVudChvYmplY3QsIGV2ZW50LCBjYWxsYmFjaykNCisgICAgew0KKyAgICAgIG9iamVjdC5h
ZGRFdmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaywgZmFsc2UpOw0KKyAgICB9DQorDQorICAg
IGV4cG9zZSh0ZXN0LCAndGVzdCcpOw0KKyAgICBleHBvc2UoYXN5bmNfdGVzdCwgJ2FzeW5jX3Rl
c3QnKTsNCisgICAgZXhwb3NlKGdlbmVyYXRlX3Rlc3RzLCAnZ2VuZXJhdGVfdGVzdHMnKTsNCisg
ICAgZXhwb3NlKHNldHVwLCAnc2V0dXAnKTsNCisgICAgZXhwb3NlKGRvbmUsICdkb25lJyk7DQor
ICAgIGV4cG9zZShvbl9ldmVudCwgJ29uX2V2ZW50Jyk7DQorDQorICAgIC8qDQorICAgICAqIFJl
dHVybiBhIHN0cmluZyB0cnVuY2F0ZWQgdG8gdGhlIGdpdmVuIGxlbmd0aCwgd2l0aCAuLi4gYWRk
ZWQgYXQgdGhlIGVuZA0KKyAgICAgKiBpZiBpdCB3YXMgbG9uZ2VyLg0KKyAgICAgKi8NCisgICAg
ZnVuY3Rpb24gdHJ1bmNhdGUocywgbGVuKQ0KKyAgICB7DQorICAgICAgICBpZiAocy5sZW5ndGgg
PiBsZW4pIHsNCisgICAgICAgICAgICByZXR1cm4gcy5zdWJzdHJpbmcoMCwgbGVuIC0gMykgKyAi
Li4uIjsNCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBzOw0KKyAgICB9DQorDQorICAgIGZ1
bmN0aW9uIGZvcm1hdF9zdHJpbmcoc3RyKSB7DQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDMyOyBpKyspIHsNCisgICAgICAgICAgICB2YXIgcmVwbGFjZSA9ICJcXCI7DQorICAgICAgICAg
ICAgc3dpdGNoIChpKSB7DQorICAgICAgICAgICAgY2FzZSAwOiByZXBsYWNlICs9ICIwIjsgYnJl
YWs7DQorICAgICAgICAgICAgY2FzZSAxOiByZXBsYWNlICs9ICJ4MDEiOyBicmVhazsNCisgICAg
ICAgICAgICBjYXNlIDI6IHJlcGxhY2UgKz0gIngwMiI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNh
c2UgMzogcmVwbGFjZSArPSAieDAzIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSA0OiByZXBs
YWNlICs9ICJ4MDQiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDU6IHJlcGxhY2UgKz0gIngw
NSI7IGJyZWFrOw0KKyAgICAgICAgICAgIGNhc2UgNjogcmVwbGFjZSArPSAieDA2IjsgYnJlYWs7
DQorICAgICAgICAgICAgY2FzZSA3OiByZXBsYWNlICs9ICJ4MDciOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDg6IHJlcGxhY2UgKz0gImIiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDk6
IHJlcGxhY2UgKz0gInQiOyBicmVhazsNCisgICAgICAgICAgICBjYXNlIDEwOiByZXBsYWNlICs9
ICJuIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxMTogcmVwbGFjZSArPSAidiI7IGJyZWFr
Ow0KKyAgICAgICAgICAgIGNhc2UgMTI6IHJlcGxhY2UgKz0gImYiOyBicmVhazsNCisgICAgICAg
ICAgICBjYXNlIDEzOiByZXBsYWNlICs9ICJyIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAx
NDogcmVwbGFjZSArPSAieDBlIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNTogcmVwbGFj
ZSArPSAieDBmIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNjogcmVwbGFjZSArPSAieDEw
IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAxNzogcmVwbGFjZSArPSAieDExIjsgYnJlYWs7
DQorICAgICAgICAgICAgY2FzZSAxODogcmVwbGFjZSArPSAieDEyIjsgYnJlYWs7DQorICAgICAg
ICAgICAgY2FzZSAxOTogcmVwbGFjZSArPSAieDEzIjsgYnJlYWs7DQorICAgICAgICAgICAgY2Fz
ZSAyMDogcmVwbGFjZSArPSAieDE0IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMTogcmVw
bGFjZSArPSAieDE1IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMjogcmVwbGFjZSArPSAi
eDE2IjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyMzogcmVwbGFjZSArPSAieDE3IjsgYnJl
YWs7DQorICAgICAgICAgICAgY2FzZSAyNDogcmVwbGFjZSArPSAieDE4IjsgYnJlYWs7DQorICAg
ICAgICAgICAgY2FzZSAyNTogcmVwbGFjZSArPSAieDE5IjsgYnJlYWs7DQorICAgICAgICAgICAg
Y2FzZSAyNjogcmVwbGFjZSArPSAieDFhIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyNzog
cmVwbGFjZSArPSAieDFiIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyODogcmVwbGFjZSAr
PSAieDFjIjsgYnJlYWs7DQorICAgICAgICAgICAgY2FzZSAyOTogcmVwbGFjZSArPSAieDFkIjsg
YnJlYWs7DQorICAgICAgICAgICAgY2FzZSAzMDogcmVwbGFjZSArPSAieDFlIjsgYnJlYWs7DQor
ICAgICAgICAgICAgY2FzZSAzMTogcmVwbGFjZSArPSAieDFmIjsgYnJlYWs7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKFJlZ0V4cChTdHJpbmcuZnJvbUNo
YXJDb2RlKGkpLCAiZyIpLCByZXBsYWNlKTsNCisgICAgICAgIH0NCisgICAgICAgIHJldHVybiBz
dHIucmVwbGFjZSgvIi9nLCAnXFwiJykNCisgICAgfQ0KKw0KKyAgICAvKg0KKyAgICAgKiBDb252
ZXJ0IGEgdmFsdWUgdG8gYSBuaWNlLCBodW1hbi1yZWFkYWJsZSBzdHJpbmcNCisgICAgICovDQor
ICAgIGZ1bmN0aW9uIGZvcm1hdF92YWx1ZSh2YWwpDQorICAgIHsNCisgICAgICAgIGlmIChBcnJh
eS5pc0FycmF5KHZhbCkpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuICJbIiArIHZh
bC5tYXAoZm9ybWF0X3ZhbHVlKS5qb2luKCIsICIpICsgIl0iOw0KKyAgICAgICAgfQ0KKw0KKyAg
ICAgICAgc3dpdGNoICh0eXBlb2YgdmFsKQ0KKyAgICAgICAgew0KKyAgICAgICAgY2FzZSAic3Ry
aW5nIjoNCisgICAgICAgICAgICByZXR1cm4gJyInICsgZm9ybWF0X3N0cmluZyh2YWwpICsgJyIn
Ow0KKyAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQorICAgICAgICBjYXNlICJ1bmRlZmluZWQiOg0K
KyAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsKTsNCisgICAgICAgIGNhc2UgIm51bWJlciI6
DQorICAgICAgICAgICAgLy8gSW4gSmF2YVNjcmlwdCwgLTAgPT09IDAgYW5kIFN0cmluZygtMCkg
PT0gIjAiLCBzbyB3ZSBoYXZlIHRvDQorICAgICAgICAgICAgLy8gc3BlY2lhbC1jYXNlLg0KKyAg
ICAgICAgICAgIGlmICh2YWwgPT09IC0wICYmIDEvdmFsID09PSAtSW5maW5pdHkpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gIi0wIjsNCisgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWwpOw0KKyAgICAgICAgY2FzZSAib2JqZWN0IjoN
CisgICAgICAgICAgICBpZiAodmFsID09PSBudWxsKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgcmV0dXJuICJudWxsIjsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
Ly8gU3BlY2lhbC1jYXNlIE5vZGUgb2JqZWN0cywgc2luY2UgdGhvc2UgY29tZSB1cCBhIGxvdCBp
biBteSB0ZXN0cy4gIEkNCisgICAgICAgICAgICAvLyBpZ25vcmUgbmFtZXNwYWNlcy4gIEkgdXNl
IGR1Y2stdHlwaW5nIGluc3RlYWQgb2YgaW5zdGFuY2VvZiwgYmVjYXVzZQ0KKyAgICAgICAgICAg
IC8vIGluc3RhbmNlb2YgZG9lc24ndCB3b3JrIGlmIHRoZSBub2RlIGlzIGZyb20gYW5vdGhlciB3
aW5kb3cgKGxpa2UgYW4NCisgICAgICAgICAgICAvLyBpZnJhbWUncyBjb250ZW50V2luZG93KToN
CisgICAgICAgICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5j
Z2k/aWQ9MTIyOTUNCisgICAgICAgICAgICBpZiAoIm5vZGVUeXBlIiBpbiB2YWwNCisgICAgICAg
ICAgICAmJiAibm9kZU5hbWUiIGluIHZhbA0KKyAgICAgICAgICAgICYmICJub2RlVmFsdWUiIGlu
IHZhbA0KKyAgICAgICAgICAgICYmICJjaGlsZE5vZGVzIiBpbiB2YWwpDQorICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbC5ub2RlVHlwZSkNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOg0KKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHJldCA9ICI8IiArIHZhbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7DQor
ICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbC5hdHRyaWJ1dGVzLmxl
bmd0aDsgaSsrKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldCArPSAiICIgKyB2YWwuYXR0cmlidXRlc1tpXS5uYW1lICsgJz0iJyArIHZhbC5hdHRy
aWJ1dGVzW2ldLnZhbHVlICsgJyInOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICAgICAgcmV0ICs9ICI+IiArIHZhbC5pbm5lckhUTUwgKyAiPC8iICsgdmFsLnRhZ05h
bWUudG9Mb3dlckNhc2UoKSArICI+IjsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiRWxl
bWVudCBub2RlICIgKyB0cnVuY2F0ZShyZXQsIDYwKTsNCisgICAgICAgICAgICAgICAgY2FzZSBO
b2RlLlRFWFRfTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnVGV4dCBub2RlICIn
ICsgdHJ1bmNhdGUodmFsLmRhdGEsIDYwKSArICciJzsNCisgICAgICAgICAgICAgICAgY2FzZSBO
b2RlLlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToNCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiAiUHJvY2Vzc2luZ0luc3RydWN0aW9uIG5vZGUgd2l0aCB0YXJnZXQgIiArIGZvcm1hdF92
YWx1ZSh0cnVuY2F0ZSh2YWwudGFyZ2V0LCA2MCkpICsgIiBhbmQgZGF0YSAiICsgZm9ybWF0X3Zh
bHVlKHRydW5jYXRlKHZhbC5kYXRhLCA2MCkpOw0KKyAgICAgICAgICAgICAgICBjYXNlIE5vZGUu
Q09NTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJDb21tZW50IG5vZGUg
PCEtLSIgKyB0cnVuY2F0ZSh2YWwuZGF0YSwgNjApICsgIi0tPiI7DQorICAgICAgICAgICAgICAg
IGNhc2UgTm9kZS5ET0NVTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJE
b2N1bWVudCBub2RlIHdpdGggIiArIHZhbC5jaGlsZE5vZGVzLmxlbmd0aCArICh2YWwuY2hpbGRO
b2Rlcy5sZW5ndGggPT0gMSA/ICIgY2hpbGQiIDogIiBjaGlsZHJlbiIpOw0KKyAgICAgICAgICAg
ICAgICBjYXNlIE5vZGUuRE9DVU1FTlRfVFlQRV9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuICJEb2N1bWVudFR5cGUgbm9kZSI7DQorICAgICAgICAgICAgICAgIGNhc2UgTm9kZS5E
T0NVTUVOVF9GUkFHTUVOVF9OT0RFOg0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJEb2N1
bWVudEZyYWdtZW50IG5vZGUgd2l0aCAiICsgdmFsLmNoaWxkTm9kZXMubGVuZ3RoICsgKHZhbC5j
aGlsZE5vZGVzLmxlbmd0aCA9PSAxID8gIiBjaGlsZCIgOiAiIGNoaWxkcmVuIik7DQorICAgICAg
ICAgICAgICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIk5vZGUgb2Jq
ZWN0IG9mIHVua25vd24gdHlwZSI7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9
DQorDQorICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIGRlZmF1bHQNCisgICAgICAgIGRl
ZmF1bHQ6DQorICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgKyAnICInICsgdHJ1bmNhdGUo
U3RyaW5nKHZhbCksIDYwKSArICciJzsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBleHBvc2Uo
Zm9ybWF0X3ZhbHVlLCAiZm9ybWF0X3ZhbHVlIik7DQorDQorICAgIC8qDQorICAgICAqIEFzc2Vy
dGlvbnMNCisgICAgICovDQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF90cnVlKGFjdHVhbCwgZGVz
Y3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydChhY3R1YWwgPT09IHRydWUsICJhc3Nl
cnRfdHJ1ZSIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImV4cGVjdGVkIHRydWUgZ290ICR7YWN0dWFsfSIsIHthY3R1YWw6YWN0dWFsfSk7DQorICAgIH07
DQorICAgIGV4cG9zZShhc3NlcnRfdHJ1ZSwgImFzc2VydF90cnVlIik7DQorDQorICAgIGZ1bmN0
aW9uIGFzc2VydF9mYWxzZShhY3R1YWwsIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICBh
c3NlcnQoYWN0dWFsID09PSBmYWxzZSwgImFzc2VydF9mYWxzZSIsIGRlc2NyaXB0aW9uLA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBmYWxzZSBnb3QgJHthY3R1
YWx9Iiwge2FjdHVhbDphY3R1YWx9KTsNCisgICAgfTsNCisgICAgZXhwb3NlKGFzc2VydF9mYWxz
ZSwgImFzc2VydF9mYWxzZSIpOw0KKw0KKyAgICBmdW5jdGlvbiBzYW1lX3ZhbHVlKHgsIHkpIHsN
CisgICAgICAgIGlmICh5ICE9PSB5KQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIC8vTmFOIGNh
c2UNCisgICAgICAgICAgICByZXR1cm4geCAhPT0geDsNCisgICAgICAgIH0NCisgICAgICAgIGVs
c2UgaWYgKHggPT09IDAgJiYgeSA9PT0gMCkgew0KKyAgICAgICAgICAgIC8vRGlzdGluZ3Vpc2gg
KzAgYW5kIC0wDQorICAgICAgICAgICAgcmV0dXJuIDEveCA9PT0gMS95Ow0KKyAgICAgICAgfQ0K
KyAgICAgICAgZWxzZQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIC8vdHlwaWNhbCBjYXNlDQor
ICAgICAgICAgICAgcmV0dXJuIHggPT09IHk7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAg
ZnVuY3Rpb24gYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikNCisg
ICAgew0KKyAgICAgICAgIC8qDQorICAgICAgICAgICogVGVzdCBpZiB0d28gcHJpbWl0aXZlcyBh
cmUgZXF1YWwgb3IgdHdvIG9iamVjdHMNCisgICAgICAgICAgKiBhcmUgdGhlIHNhbWUgb2JqZWN0
DQorICAgICAgICAgICovDQorICAgICAgICBhc3NlcnQoc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVj
dGVkKSwgImFzc2VydF9lcXVhbHMiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdvdCAk
e2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHtleHBlY3RlZDpleHBlY3RlZCwgYWN0dWFsOmFjdHVhbH0pOw0KKyAgICB9Ow0KKyAgICBleHBv
c2UoYXNzZXJ0X2VxdWFscywgImFzc2VydF9lcXVhbHMiKTsNCisNCisgICAgZnVuY3Rpb24gYXNz
ZXJ0X25vdF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisg
ICAgICAgICAvKg0KKyAgICAgICAgICAqIFRlc3QgaWYgdHdvIHByaW1pdGl2ZXMgYXJlIHVuZXF1
YWwgb3IgdHdvIG9iamVjdHMNCisgICAgICAgICAgKiBhcmUgZGlmZmVyZW50IG9iamVjdHMNCisg
ICAgICAgICAgKi8NCisgICAgICAgIGFzc2VydCghc2FtZV92YWx1ZShhY3R1YWwsIGV4cGVjdGVk
KSwgImFzc2VydF9ub3RfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnb3QgZGlzYWxsb3dlZCB2YWx1ZSAke2FjdHVh
bH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YWN0
dWFsOmFjdHVhbH0pOw0KKyAgICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X25vdF9lcXVhbHMsICJh
c3NlcnRfbm90X2VxdWFscyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfaW5fYXJyYXkoYWN0
dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydChleHBl
Y3RlZC5pbmRleE9mKGFjdHVhbCkgIT0gLTEsICJhc3NlcnRfaW5fYXJyYXkiLCBkZXNjcmlwdGlv
biwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1
ZSAke2FjdHVhbH0gbm90IGluIGFycmF5ICR7ZXhwZWN0ZWR9IiwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthY3R1YWw6YWN0dWFsLCBleHBlY3RlZDpl
eHBlY3RlZH0pOw0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfaW5fYXJyYXksICJhc3NlcnRf
aW5fYXJyYXkiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0dWFs
LCBleHBlY3RlZCwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgICAvL1RoaXMgbmVlZHMg
dG8gYmUgaW1wcm92ZWQgYSBncmVhdCBkZWFsDQorICAgICAgICAgZnVuY3Rpb24gY2hlY2tfZXF1
YWwoZXhwZWN0ZWQsIGFjdHVhbCwgc3RhY2spDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBz
dGFjay5wdXNoKGFjdHVhbCk7DQorDQorICAgICAgICAgICAgIHZhciBwOw0KKyAgICAgICAgICAg
ICBmb3IgKHAgaW4gYWN0dWFsKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBh
c3NlcnQoZXhwZWN0ZWQuaGFzT3duUHJvcGVydHkocCksICJhc3NlcnRfb2JqZWN0X2VxdWFscyIs
IGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5leHBlY3RlZCBwcm9wZXJ0eSAke3B9Iiwge3A6cH0pOw0KKw0KKyAgICAg
ICAgICAgICAgICAgaWYgKHR5cGVvZiBhY3R1YWxbcF0gPT09ICJvYmplY3QiICYmIGFjdHVhbFtw
XSAhPT0gbnVsbCkNCisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RhY2suaW5kZXhPZihhY3R1YWxbcF0pID09PSAtMSkNCisgICAgICAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2VxdWFsKGFjdHVhbFtwXSwgZXhw
ZWN0ZWRbcF0sIHN0YWNrKTsNCisgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICB9DQorICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0KGFjdHVhbFtwXSA9PT0gZXhwZWN0ZWRbcF0sICJhc3Nl
cnRfb2JqZWN0X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtwfSBleHBlY3RlZCAk
e2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAge3A6cCwgZXhwZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVh
bDphY3R1YWx9KTsNCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICBmb3IgKHAgaW4gZXhwZWN0ZWQpDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgIGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkocCksDQorICAgICAgICAgICAgICAg
ICAgICAgICAgImFzc2VydF9vYmplY3RfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAg
ICAgICAgICAgICAgICAgImV4cGVjdGVkIHByb3BlcnR5ICR7cH0gbWlzc2luZyIsIHtwOnB9KTsN
CisgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICBzdGFjay5wb3AoKTsNCisgICAgICAgICB9
DQorICAgICAgICAgY2hlY2tfZXF1YWwoYWN0dWFsLCBleHBlY3RlZCwgW10pOw0KKyAgICB9Ow0K
KyAgICBleHBvc2UoYXNzZXJ0X29iamVjdF9lcXVhbHMsICJhc3NlcnRfb2JqZWN0X2VxdWFscyIp
Ow0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQs
IGRlc2NyaXB0aW9uKQ0KKyAgICB7DQorICAgICAgICBhc3NlcnQoYWN0dWFsLmxlbmd0aCA9PT0g
ZXhwZWN0ZWQubGVuZ3RoLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfYXJyYXlfZXF1YWxzIiwg
ZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgImxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAk
e2V4cGVjdGVkfSBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7ZXhwZWN0ZWQ6ZXhw
ZWN0ZWQubGVuZ3RoLCBhY3R1YWw6YWN0dWFsLmxlbmd0aH0pOw0KKw0KKyAgICAgICAgZm9yICh2
YXIgaT0wOyBpIDwgYWN0dWFsLmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IGFzc2VydChhY3R1YWwuaGFzT3duUHJvcGVydHkoaSkgPT09IGV4cGVjdGVkLmhhc093blByb3Bl
cnR5KGkpLA0KKyAgICAgICAgICAgICAgICAgICAiYXNzZXJ0X2FycmF5X2VxdWFscyIsIGRlc2Ny
aXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtpfSwgcHJvcGVydHkgZXhw
ZWN0ZWQgdG8gYmUgJGV4cGVjdGVkIGJ1dCB3YXMgJGFjdHVhbCIsDQorICAgICAgICAgICAgICAg
ICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkLmhhc093blByb3BlcnR5KGkpID8gInByZXNlbnQi
IDogIm1pc3NpbmciLA0KKyAgICAgICAgICAgICAgICAgICBhY3R1YWw6YWN0dWFsLmhhc093blBy
b3BlcnR5KGkpID8gInByZXNlbnQiIDogIm1pc3NpbmcifSk7DQorICAgICAgICAgICAgYXNzZXJ0
KGV4cGVjdGVkW2ldID09PSBhY3R1YWxbaV0sDQorICAgICAgICAgICAgICAgICAgICJhc3NlcnRf
YXJyYXlfZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0
eSAke2l9LCBleHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAg
ICAgICAgICAgICAgIHtpOmksIGV4cGVjdGVkOmV4cGVjdGVkW2ldLCBhY3R1YWw6YWN0dWFsW2ld
fSk7DQorICAgICAgICB9DQorICAgIH0NCisgICAgZXhwb3NlKGFzc2VydF9hcnJheV9lcXVhbHMs
ICJhc3NlcnRfYXJyYXlfZXF1YWxzIik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hf
ZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGVwc2lsb24sIGRlc2NyaXB0aW9uKQ0KKyAgICB7DQor
ICAgICAgICAvKg0KKyAgICAgICAgICogVGVzdCBpZiB0d28gcHJpbWl0aXZlIG51bWJlcnMgYXJl
IGVxdWFsIHdpdGhpbmcgKy8tIGVwc2lsb24NCisgICAgICAgICAqLw0KKyAgICAgICAgYXNzZXJ0
KHR5cGVvZiBhY3R1YWwgPT09ICJudW1iZXIiLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfYXBw
cm94X2VxdWFscyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJleHBlY3RlZCBhIG51
bWJlciBidXQgZ290IGEgJHt0eXBlX2FjdHVhbH0iLA0KKyAgICAgICAgICAgICAgIHt0eXBlX2Fj
dHVhbDp0eXBlb2YgYWN0dWFsfSk7DQorDQorICAgICAgICBhc3NlcnQoTWF0aC5hYnMoYWN0dWFs
IC0gZXhwZWN0ZWQpIDw9IGVwc2lsb24sDQorICAgICAgICAgICAgICAgImFzc2VydF9hcHByb3hf
ZXF1YWxzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgImV4cGVjdGVkICR7ZXhwZWN0
ZWR9ICsvLSAke2Vwc2lsb259IGJ1dCBnb3QgJHthY3R1YWx9IiwNCisgICAgICAgICAgICAgICB7
ZXhwZWN0ZWQ6ZXhwZWN0ZWQsIGFjdHVhbDphY3R1YWwsIGVwc2lsb246ZXBzaWxvbn0pOw0KKyAg
ICB9Ow0KKyAgICBleHBvc2UoYXNzZXJ0X2FwcHJveF9lcXVhbHMsICJhc3NlcnRfYXBwcm94X2Vx
dWFscyIpOw0KKw0KKyAgICBmdW5jdGlvbiBhc3NlcnRfcmVnZXhwX21hdGNoKGFjdHVhbCwgZXhw
ZWN0ZWQsIGRlc2NyaXB0aW9uKSB7DQorICAgICAgICAvKg0KKyAgICAgICAgICogVGVzdCBpZiBh
IHN0cmluZyAoYWN0dWFsKSBtYXRjaGVzIGEgcmVnZXhwIChleHBlY3RlZCkNCisgICAgICAgICAq
Lw0KKyAgICAgICAgYXNzZXJ0KGV4cGVjdGVkLnRlc3QoYWN0dWFsKSwNCisgICAgICAgICAgICAg
ICAiYXNzZXJ0X3JlZ2V4cF9tYXRjaCIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJl
eHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfSIsDQorICAgICAgICAgICAgICAg
e2V4cGVjdGVkOmV4cGVjdGVkLCBhY3R1YWw6YWN0dWFsfSk7DQorICAgIH0NCisgICAgZXhwb3Nl
KGFzc2VydF9yZWdleHBfbWF0Y2gsICJhc3NlcnRfcmVnZXhwX21hdGNoIik7DQorDQorDQorICAg
IGZ1bmN0aW9uIF9hc3NlcnRfb3duX3Byb3BlcnR5KG5hbWUpIHsNCisgICAgICAgIHJldHVybiBm
dW5jdGlvbihvYmplY3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAgICAgICAgew0K
KyAgICAgICAgICAgIGFzc2VydChvYmplY3QuaGFzT3duUHJvcGVydHkocHJvcGVydHlfbmFtZSks
DQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAg
ICAgICAiZXhwZWN0ZWQgcHJvcGVydHkgJHtwfSBtaXNzaW5nIiwge3A6cHJvcGVydHlfbmFtZX0p
Ow0KKyAgICAgICAgfTsNCisgICAgfQ0KKyAgICBleHBvc2UoX2Fzc2VydF9vd25fcHJvcGVydHko
ImFzc2VydF9leGlzdHMiKSwgImFzc2VydF9leGlzdHMiKTsNCisgICAgZXhwb3NlKF9hc3NlcnRf
b3duX3Byb3BlcnR5KCJhc3NlcnRfb3duX3Byb3BlcnR5IiksICJhc3NlcnRfb3duX3Byb3BlcnR5
Iik7DQorDQorICAgIGZ1bmN0aW9uIGFzc2VydF9ub3RfZXhpc3RzKG9iamVjdCwgcHJvcGVydHlf
bmFtZSwgZGVzY3JpcHRpb24pDQorICAgIHsNCisgICAgICAgIGFzc2VydCghb2JqZWN0Lmhhc093
blByb3BlcnR5KHByb3BlcnR5X25hbWUpLA0KKyAgICAgICAgICAgICAgICJhc3NlcnRfbm90X2V4
aXN0cyIsIGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICJ1bmV4cGVjdGVkIHByb3BlcnR5
ICR7cH0gZm91bmQiLCB7cDpwcm9wZXJ0eV9uYW1lfSk7DQorICAgIH07DQorICAgIGV4cG9zZShh
c3NlcnRfbm90X2V4aXN0cywgImFzc2VydF9ub3RfZXhpc3RzIik7DQorDQorICAgIGZ1bmN0aW9u
IF9hc3NlcnRfaW5oZXJpdHMobmFtZSkgew0KKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChvYmpl
Y3QsIHByb3BlcnR5X25hbWUsIGRlc2NyaXB0aW9uKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IGFzc2VydCh0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IiwNCisgICAgICAgICAgICAgICAgICAg
bmFtZSwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICJwcm92aWRlZCB2YWx1ZSBp
cyBub3QgYW4gb2JqZWN0Iik7DQorDQorICAgICAgICAgICAgYXNzZXJ0KCJoYXNPd25Qcm9wZXJ0
eSIgaW4gb2JqZWN0LA0KKyAgICAgICAgICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbiwNCisg
ICAgICAgICAgICAgICAgICAgInByb3ZpZGVkIHZhbHVlIGlzIGFuIG9iamVjdCBidXQgaGFzIG5v
IGhhc093blByb3BlcnR5IG1ldGhvZCIpOw0KKw0KKyAgICAgICAgICAgIGFzc2VydCghb2JqZWN0
Lmhhc093blByb3BlcnR5KHByb3BlcnR5X25hbWUpLA0KKyAgICAgICAgICAgICAgICAgICBuYW1l
LCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgInByb3BlcnR5ICR7cH0gZm91bmQg
b24gb2JqZWN0IGV4cGVjdGVkIGluIHByb3RvdHlwZSBjaGFpbiIsDQorICAgICAgICAgICAgICAg
ICAgIHtwOnByb3BlcnR5X25hbWV9KTsNCisNCisgICAgICAgICAgICBhc3NlcnQocHJvcGVydHlf
bmFtZSBpbiBvYmplY3QsDQorICAgICAgICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLA0K
KyAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgJHtwfSBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluIiwNCisgICAgICAgICAgICAgICAgICAge3A6cHJvcGVydHlfbmFtZX0pOw0KKyAgICAg
ICAgfTsNCisgICAgfQ0KKyAgICBleHBvc2UoX2Fzc2VydF9pbmhlcml0cygiYXNzZXJ0X2luaGVy
aXRzIiksICJhc3NlcnRfaW5oZXJpdHMiKTsNCisgICAgZXhwb3NlKF9hc3NlcnRfaW5oZXJpdHMo
ImFzc2VydF9pZGxfYXR0cmlidXRlIiksICJhc3NlcnRfaWRsX2F0dHJpYnV0ZSIpOw0KKw0KKyAg
ICBmdW5jdGlvbiBhc3NlcnRfcmVhZG9ubHkob2JqZWN0LCBwcm9wZXJ0eV9uYW1lLCBkZXNjcmlw
dGlvbikNCisgICAgew0KKyAgICAgICAgIHZhciBpbml0aWFsX3ZhbHVlID0gb2JqZWN0W3Byb3Bl
cnR5X25hbWVdOw0KKyAgICAgICAgIHRyeSB7DQorICAgICAgICAgICAgIC8vTm90ZSB0aGF0IHRo
aXMgY2FuIGhhdmUgc2lkZSBlZmZlY3RzIGluIHRoZSBjYXNlIHdoZXJlDQorICAgICAgICAgICAg
IC8vdGhlIHByb3BlcnR5IGhhcyBQdXRGb3J3YXJkcw0KKyAgICAgICAgICAgICBvYmplY3RbcHJv
cGVydHlfbmFtZV0gPSBpbml0aWFsX3ZhbHVlICsgImEiOyAvL1hYWCB1c2Ugc29tZSBvdGhlciB2
YWx1ZSBoZXJlPw0KKyAgICAgICAgICAgICBhc3NlcnQob2JqZWN0W3Byb3BlcnR5X25hbWVdID09
PSBpbml0aWFsX3ZhbHVlLA0KKyAgICAgICAgICAgICAgICAgICAgImFzc2VydF9yZWFkb25seSIs
IGRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgImNoYW5naW5nIHByb3BlcnR5ICR7
cH0gc3VjY2VlZGVkIiwNCisgICAgICAgICAgICAgICAgICAgIHtwOnByb3BlcnR5X25hbWV9KTsN
CisgICAgICAgICB9DQorICAgICAgICAgZmluYWxseQ0KKyAgICAgICAgIHsNCisgICAgICAgICAg
ICAgb2JqZWN0W3Byb3BlcnR5X25hbWVdID0gaW5pdGlhbF92YWx1ZTsNCisgICAgICAgICB9DQor
ICAgIH07DQorICAgIGV4cG9zZShhc3NlcnRfcmVhZG9ubHksICJhc3NlcnRfcmVhZG9ubHkiKTsN
CisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X3Rocm93cyhjb2RlLCBmdW5jLCBkZXNjcmlwdGlvbikN
CisgICAgew0KKyAgICAgICAgdHJ5DQorICAgICAgICB7DQorICAgICAgICAgICAgZnVuYy5jYWxs
KHRoaXMpOw0KKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwgImFzc2VydF90aHJvd3MiLCBkZXNj
cmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgIiR7ZnVuY30gZGlkIG5vdCB0aHJvdyIsIHtm
dW5jOmZ1bmN9KTsNCisgICAgICAgIH0NCisgICAgICAgIGNhdGNoKGUpDQorICAgICAgICB7DQor
ICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikgew0KKyAgICAgICAg
ICAgICAgICB0aHJvdyhlKTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgaWYgKHR5cGVv
ZiBjb2RlID09PSAib2JqZWN0IikNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgZSA9PSAib2JqZWN0IiAmJiAibmFtZSIgaW4gZSAmJiBlLm5hbWUgPT0gY29k
ZS5uYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgImFzc2VydF90aHJvd3MiLCBkZXNjcmlw
dGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRocmV3ICR7YWN0dWFsfSAo
JHthY3R1YWxfbmFtZX0pIGV4cGVjdGVkICR7ZXhwZWN0ZWR9ICgke2V4cGVjdGVkX25hbWV9KSIs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgYWN0dWFs
OmUsIGFjdHVhbF9uYW1lOmUubmFtZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWQ6Y29kZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRfbmFtZTpjb2RlLm5hbWV9KTsNCisgICAgICAgICAgICAgICAgcmV0dXJuOw0K
KyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB2YXIgcmVxdWlyZWRfcHJvcHMgPSB7fTsNCisg
ICAgICAgICAgICByZXF1aXJlZF9wcm9wcy5jb2RlID0gew0KKyAgICAgICAgICAgICAgICBJTkRF
WF9TSVpFX0VSUjogMSwNCisgICAgICAgICAgICAgICAgSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiAz
LA0KKyAgICAgICAgICAgICAgICBXUk9OR19ET0NVTUVOVF9FUlI6IDQsDQorICAgICAgICAgICAg
ICAgIElOVkFMSURfQ0hBUkFDVEVSX0VSUjogNSwNCisgICAgICAgICAgICAgICAgTk9fTU9ESUZJ
Q0FUSU9OX0FMTE9XRURfRVJSOiA3LA0KKyAgICAgICAgICAgICAgICBOT1RfRk9VTkRfRVJSOiA4
LA0KKyAgICAgICAgICAgICAgICBOT1RfU1VQUE9SVEVEX0VSUjogOSwNCisgICAgICAgICAgICAg
ICAgSU5WQUxJRF9TVEFURV9FUlI6IDExLA0KKyAgICAgICAgICAgICAgICBTWU5UQVhfRVJSOiAx
MiwNCisgICAgICAgICAgICAgICAgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOiAxMywNCisgICAg
ICAgICAgICAgICAgTkFNRVNQQUNFX0VSUjogMTQsDQorICAgICAgICAgICAgICAgIElOVkFMSURf
QUNDRVNTX0VSUjogMTUsDQorICAgICAgICAgICAgICAgIFRZUEVfTUlTTUFUQ0hfRVJSOiAxNywN
CisgICAgICAgICAgICAgICAgU0VDVVJJVFlfRVJSOiAxOCwNCisgICAgICAgICAgICAgICAgTkVU
V09SS19FUlI6IDE5LA0KKyAgICAgICAgICAgICAgICBBQk9SVF9FUlI6IDIwLA0KKyAgICAgICAg
ICAgICAgICBVUkxfTUlTTUFUQ0hfRVJSOiAyMSwNCisgICAgICAgICAgICAgICAgUVVPVEFfRVhD
RUVERURfRVJSOiAyMiwNCisgICAgICAgICAgICAgICAgVElNRU9VVF9FUlI6IDIzLA0KKyAgICAg
ICAgICAgICAgICBJTlZBTElEX05PREVfVFlQRV9FUlI6IDI0LA0KKyAgICAgICAgICAgICAgICBE
QVRBX0NMT05FX0VSUjogMjUsDQorICAgICAgICAgICAgfVtjb2RlXTsNCisgICAgICAgICAgICBp
ZiAocmVxdWlyZWRfcHJvcHMuY29kZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKCdUZXN0IGJ1ZzogdW5yZWNv
Z25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICInICsgY29kZSArICciIHBhc3NlZCB0byBhc3NlcnRf
dGhyb3dzKCknKTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgcmVxdWlyZWRfcHJvcHNb
Y29kZV0gPSByZXF1aXJlZF9wcm9wcy5jb2RlOw0KKyAgICAgICAgICAgIC8vVW5jb21tZW50IHRo
aXMgd2hlbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgZXZlcnkgYnJvd3Nlcg0KKyAgICAgICAgICAg
IC8vYWN0dWFsbHkgaW1wbGVtZW50cyB0aGUgc3BlYzsgb3RoZXJ3aXNlIGl0IGp1c3QgY3JlYXRl
cw0KKyAgICAgICAgICAgIC8vemlsbGlvbnMgb2YgZmFpbHVyZXMuICBBbHNvIGRvIHJlcXVpcmVk
X3Byb3BzLnR5cGUuDQorICAgICAgICAgICAgLy9yZXF1aXJlZF9wcm9wcy5uYW1lID0gY29kZTsN
CisgICAgICAgICAgICAvLw0KKyAgICAgICAgICAgIC8vV2UnZCBsaWtlIHRvIHRlc3QgdGhhdCBl
IGluc3RhbmNlb2YgdGhlIGFwcHJvcHJpYXRlIGludGVyZmFjZSwNCisgICAgICAgICAgICAvL2J1
dCB3ZSBjYW4ndCwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoYXQgd2luZG93IGl0IHdhcyBjcmVh
dGVkDQorICAgICAgICAgICAgLy9pbi4gIEl0IG1pZ2h0IGJlIGFuIGluc3RhbmNlb2YgdGhlIGFw
cHJvcHJpYXRlIGludGVyZmFjZSBvbiBzb21lDQorICAgICAgICAgICAgLy91bmtub3duIG90aGVy
IHdpbmRvdy4gIFRPRE86IFdvcmsgYXJvdW5kIHRoaXMgc29tZWhvdz8NCisNCisgICAgICAgICAg
ICBhc3NlcnQodHlwZW9mIGUgPT0gIm9iamVjdCIsDQorICAgICAgICAgICAgICAgICAgICJhc3Nl
cnRfdGhyb3dzIiwgZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgICAgICIke2Z1bmN9IHRo
cmV3ICR7ZX0gd2l0aCB0eXBlICR7dHlwZX0sIG5vdCBhbiBvYmplY3QiLA0KKyAgICAgICAgICAg
ICAgICAgICB7ZnVuYzpmdW5jLCBlOmUsIHR5cGU6dHlwZW9mIGV9KTsNCisNCisgICAgICAgICAg
ICBmb3IgKHZhciBwcm9wIGluIHJlcXVpcmVkX3Byb3BzKQ0KKyAgICAgICAgICAgIHsNCisgICAg
ICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBlID09ICJvYmplY3QiICYmIHByb3AgaW4gZSAmJiBl
W3Byb3BdID09IHJlcXVpcmVkX3Byb3BzW3Byb3BdLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ImFzc2VydF90aHJvd3MiLCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICIk
e2Z1bmN9IHRocmV3ICR7ZX0gdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gIiArIGNvZGUgKyAi
OiBwcm9wZXJ0eSAke3Byb3B9IGlzIGVxdWFsIHRvICR7YWN0dWFsfSwgZXhwZWN0ZWQgJHtleHBl
Y3RlZH0iLA0KKyAgICAgICAgICAgICAgICAgICAgICAge2Z1bmM6ZnVuYywgZTplLCBwcm9wOnBy
b3AsIGFjdHVhbDplW3Byb3BdLCBleHBlY3RlZDpyZXF1aXJlZF9wcm9wc1twcm9wXX0pOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBleHBvc2UoYXNzZXJ0X3Rocm93
cywgImFzc2VydF90aHJvd3MiKTsNCisNCisgICAgZnVuY3Rpb24gYXNzZXJ0X3VucmVhY2hlZChk
ZXNjcmlwdGlvbikgew0KKyAgICAgICAgIGFzc2VydChmYWxzZSwgImFzc2VydF91bnJlYWNoZWQi
LCBkZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgIlJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZSIpOw0KKyAgICB9DQorICAgIGV4cG9zZShhc3NlcnRfdW5yZWFjaGVkLCAiYXNzZXJ0X3VucmVh
Y2hlZCIpOw0KKw0KKyAgICBmdW5jdGlvbiBUZXN0KG5hbWUsIHByb3BlcnRpZXMpDQorICAgIHsN
CisgICAgICAgIHRoaXMubmFtZSA9IG5hbWU7DQorICAgICAgICB0aGlzLnN0YXR1cyA9IHRoaXMu
Tk9UUlVOOw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2lkID0gbnVsbDsNCisgICAgICAgIHRoaXMu
aXNfZG9uZSA9IGZhbHNlOw0KKw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHByb3Bl
cnRpZXMudGltZW91dCA/IHByb3BlcnRpZXMudGltZW91dCA6IHNldHRpbmdzLnRlc3RfdGltZW91
dDsNCisNCisgICAgICAgIHRoaXMubWVzc2FnZSA9IG51bGw7DQorDQorICAgICAgICB2YXIgdGhp
c19vYmogPSB0aGlzOw0KKyAgICAgICAgdGhpcy5zdGVwcyA9IFtdOw0KKw0KKyAgICAgICAgdGVz
dHMucHVzaCh0aGlzKTsNCisgICAgfQ0KKw0KKyAgICBUZXN0LnByb3RvdHlwZSA9IHsNCisgICAg
ICAgIFBBU1M6MCwNCisgICAgICAgIEZBSUw6MSwNCisgICAgICAgIFRJTUVPVVQ6MiwNCisgICAg
ICAgIE5PVFJVTjozDQorICAgIH07DQorDQorDQorICAgIFRlc3QucHJvdG90eXBlLnN0ZXAgPSBm
dW5jdGlvbihmdW5jLCB0aGlzX29iaikNCisgICAgew0KKyAgICAgICAgLy9JbiBjYXNlIHRoZSB0
ZXN0IGhhcyBhbHJlYWR5IGZhaWxlZA0KKyAgICAgICAgaWYgKHRoaXMuc3RhdHVzICE9PSB0aGlz
Lk5PVFJVTikNCisgICAgICAgIHsNCisgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKw0K
KyAgICAgICAgdGVzdHMuc3RhcnRlZCA9IHRydWU7DQorDQorICAgICAgICBpZiAodGhpcy50aW1l
b3V0X2lkID09PSBudWxsKSB7DQorICAgICAgICAgICAgdGhpcy5zZXRfdGltZW91dCgpOw0KKyAg
ICAgICAgfQ0KKw0KKyAgICAgICAgdGhpcy5zdGVwcy5wdXNoKGZ1bmMpOw0KKw0KKyAgICAgICAg
aWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGhp
c19vYmogPSB0aGlzOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdHJ5DQorICAgICAgICB7DQor
ICAgICAgICAgICAgZnVuYy5hcHBseSh0aGlzX29iaiwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwoYXJndW1lbnRzLCAyKSk7DQorICAgICAgICB9DQorICAgICAgICBjYXRjaChlKQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIC8vVGhpcyBjYW4gaGFwcGVuIGlmIHNvbWV0aGluZyBjYWxsZWQg
c3luY2hyb25vdXNseSBpbnZva2VkIGFub3RoZXINCisgICAgICAgICAgICAvL3N0ZXANCisgICAg
ICAgICAgICBpZiAodGhpcy5zdGF0dXMgIT09IHRoaXMuTk9UUlVOKQ0KKyAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB0
aGlzLnN0YXR1cyA9IHRoaXMuRkFJTDsNCisgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBlLm1l
c3NhZ2U7DQorICAgICAgICAgICAgaWYgKHR5cGVvZiBlLnN0YWNrICE9ICJ1bmRlZmluZWQiICYm
IHR5cGVvZiBlLm1lc3NhZ2UgPT0gInN0cmluZyIpIHsNCisgICAgICAgICAgICAgICAgLy9Ucnkg
dG8gbWFrZSBpdCBtb3JlIGluZm9ybWF0aXZlIGZvciBzb21lIGV4Y2VwdGlvbnMsIGF0IGxlYXN0
DQorICAgICAgICAgICAgICAgIC8vaW4gR2Vja28gYW5kIFdlYktpdC4gIFRoaXMgcmVzdWx0cyBp
biBhIHN0YWNrIGR1bXAgaW5zdGVhZCBvZg0KKyAgICAgICAgICAgICAgICAvL2p1c3QgZXJyb3Jz
IGxpa2UgIkNhbm5vdCByZWFkIHByb3BlcnR5ICdwYXJlbnROb2RlJyBvZiBudWxsIg0KKyAgICAg
ICAgICAgICAgICAvL29yICJyb290IGlzIG51bGwiLiAgTWFrZXMgaXQgYSBsb3QgbG9uZ2VyLCBv
ZiBjb3Vyc2UuDQorICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSArPSAiKHN0YWNrOiAiICsg
ZS5zdGFjayArICIpIjsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgdGhpcy5kb25lKCk7
DQorICAgICAgICAgICAgaWYgKGRlYnVnICYmIGUuY29uc3RydWN0b3IgIT09IEFzc2VydGlvbkVy
cm9yKSB7DQorICAgICAgICAgICAgICAgIHRocm93IGU7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS5zdGVwX2Z1bmMgPSBmdW5jdGlv
bihmdW5jLCB0aGlzX29iaikNCisgICAgew0KKyAgICAgICAgdmFyIHRlc3RfdGhpcyA9IHRoaXM7
DQorDQorICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkNCisgICAgICAgIHsNCisg
ICAgICAgICAgICB0aGlzX29iaiA9IHRlc3RfdGhpczsNCisgICAgICAgIH0NCisNCisgICAgICAg
IHJldHVybiBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAgdGVzdF90aGlzLnN0
ZXAuYXBwbHkodGVzdF90aGlzLCBbZnVuYywgdGhpc19vYmpdLmNvbmNhdCgNCisgICAgICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSkpOw0KKyAgICAgICAg
fTsNCisgICAgfTsNCisNCisgICAgVGVzdC5wcm90b3R5cGUuc2V0X3RpbWVvdXQgPSBmdW5jdGlv
bigpDQorICAgIHsNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICB0aGlz
LnRpbWVvdXRfaWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpc19vYmoudGltZW91dCgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9LCB0aGlzLnRpbWVvdXRfbGVuZ3RoKTsNCisgICAgfTsNCisNCisgICAgVGVzdC5w
cm90b3R5cGUudGltZW91dCA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgdGhpcy5zdGF0
dXMgPSB0aGlzLlRJTUVPVVQ7DQorICAgICAgICB0aGlzLnRpbWVvdXRfaWQgPSBudWxsOw0KKyAg
ICAgICAgdGhpcy5tZXNzYWdlID0gIlRlc3QgdGltZWQgb3V0IjsNCisgICAgICAgIHRoaXMuZG9u
ZSgpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0LnByb3RvdHlwZS5kb25lID0gZnVuY3Rpb24oKQ0K
KyAgICB7DQorICAgICAgICBpZiAodGhpcy5pc19kb25lKSB7DQorICAgICAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7DQor
ICAgICAgICBpZiAodGhpcy5zdGF0dXMgPT09IHRoaXMuTk9UUlVOKQ0KKyAgICAgICAgew0KKyAg
ICAgICAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5QQVNTOw0KKyAgICAgICAgfQ0KKyAgICAgICAg
dGhpcy5pc19kb25lID0gdHJ1ZTsNCisgICAgICAgIHRlc3RzLnJlc3VsdCh0aGlzKTsNCisgICAg
fTsNCisNCisNCisgICAgLyoNCisgICAgICogSGFybmVzcw0KKyAgICAgKi8NCisNCisgICAgZnVu
Y3Rpb24gVGVzdHNTdGF0dXMoKQ0KKyAgICB7DQorICAgICAgICB0aGlzLnN0YXR1cyA9IG51bGw7
DQorICAgICAgICB0aGlzLm1lc3NhZ2UgPSBudWxsOw0KKyAgICB9DQorICAgIFRlc3RzU3RhdHVz
LnByb3RvdHlwZSA9IHsNCisgICAgICAgIE9LOjAsDQorICAgICAgICBFUlJPUjoxLA0KKyAgICAg
ICAgVElNRU9VVDoyDQorICAgIH07DQorDQorICAgIGZ1bmN0aW9uIFRlc3RzKCkNCisgICAgew0K
KyAgICAgICAgdGhpcy50ZXN0cyA9IFtdOw0KKyAgICAgICAgdGhpcy5udW1fcGVuZGluZyA9IDA7
DQorDQorICAgICAgICB0aGlzLnBoYXNlcyA9IHsNCisgICAgICAgICAgICBJTklUSUFMOjAsDQor
ICAgICAgICAgICAgU0VUVVA6MSwNCisgICAgICAgICAgICBIQVZFX1RFU1RTOjIsDQorICAgICAg
ICAgICAgSEFWRV9SRVNVTFRTOjMsDQorICAgICAgICAgICAgQ09NUExFVEU6NA0KKyAgICAgICAg
fTsNCisgICAgICAgIHRoaXMucGhhc2UgPSB0aGlzLnBoYXNlcy5JTklUSUFMOw0KKw0KKyAgICAg
ICAgLy9BbGwgdGVzdHMgY2FuJ3QgYmUgZG9uZSB1bnRpbCB0aGUgbG9hZCBldmVudCBmaXJlcw0K
KyAgICAgICAgdGhpcy5hbGxfbG9hZGVkID0gZmFsc2U7DQorICAgICAgICB0aGlzLndhaXRfZm9y
X2ZpbmlzaCA9IGZhbHNlOw0KKyAgICAgICAgdGhpcy5wcm9jZXNzaW5nX2NhbGxiYWNrcyA9IGZh
bHNlOw0KKw0KKyAgICAgICAgdGhpcy50aW1lb3V0X2xlbmd0aCA9IHNldHRpbmdzLnRpbWVvdXQ7
DQorICAgICAgICB0aGlzLnRpbWVvdXRfaWQgPSBudWxsOw0KKyAgICAgICAgdGhpcy5zZXRfdGlt
ZW91dCgpOw0KKw0KKyAgICAgICAgdGhpcy5zdGFydF9jYWxsYmFja3MgPSBbXTsNCisgICAgICAg
IHRoaXMudGVzdF9kb25lX2NhbGxiYWNrcyA9IFtdOw0KKyAgICAgICAgdGhpcy5hbGxfZG9uZV9j
YWxsYmFja3MgPSBbXTsNCisNCisgICAgICAgIHRoaXMuc3RhdHVzID0gbmV3IFRlc3RzU3RhdHVz
KCk7DQorDQorICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKw0KKyAgICAgICAgb25fZXZl
bnQod2luZG93LCAibG9hZCIsDQorICAgICAgICAgICAgICAgICBmdW5jdGlvbigpDQorICAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgdGhpc19vYmouYWxsX2xvYWRlZCA9
IHRydWU7DQorICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNfb2JqLmFsbF9kb25lKCkpDQor
ICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX29i
ai5jb21wbGV0ZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAg
IH0pOw0KKyAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0ge307DQorICAgIH0NCisNCisgICAgVGVz
dHMucHJvdG90eXBlLnNldHVwID0gZnVuY3Rpb24oZnVuYywgcHJvcGVydGllcykNCisgICAgew0K
KyAgICAgICAgaWYgKHRoaXMucGhhc2UgPj0gdGhpcy5waGFzZXMuSEFWRV9SRVNVTFRTKQ0KKyAg
ICAgICAgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmICh0
aGlzLnBoYXNlIDwgdGhpcy5waGFzZXMuU0VUVVApDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLlNFVFVQOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAg
Zm9yICh2YXIgcCBpbiBwcm9wZXJ0aWVzKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChw
cm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHApKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgdGhpcy5wcm9wZXJ0aWVzW3BdID0gcHJvcGVydGllc1twXTsNCisgICAgICAgICAgICB9
DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocHJvcGVydGllcy50aW1lb3V0KQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIHRoaXMudGltZW91dF9sZW5ndGggPSBwcm9wZXJ0aWVzLnRpbWVv
dXQ7DQorICAgICAgICAgICAgdGhpcy5zZXRfdGltZW91dCgpOw0KKyAgICAgICAgfQ0KKyAgICAg
ICAgaWYgKHByb3BlcnRpZXMuZXhwbGljaXRfZG9uZSkNCisgICAgICAgIHsNCisgICAgICAgICAg
ICB0aGlzLndhaXRfZm9yX2ZpbmlzaCA9IHRydWU7DQorICAgICAgICB9DQorDQorICAgICAgICBp
ZiAoZnVuYykNCisgICAgICAgIHsNCisgICAgICAgICAgICB0cnkNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIGZ1bmMoKTsNCisgICAgICAgICAgICB9IGNhdGNoKGUpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cy5zdGF0dXMgPSB0aGlzLnN0YXR1
cy5FUlJPUjsNCisgICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMubWVzc2FnZSA9IGU7DQorICAg
ICAgICAgICAgfTsNCisgICAgICAgIH0NCisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBl
LnNldF90aW1lb3V0ID0gZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAgICB2YXIgdGhpc19vYmog
PSB0aGlzOw0KKyAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dF9pZCk7DQorICAgICAg
ICB0aGlzLnRpbWVvdXRfaWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc19vYmoudGltZW91dCgpOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLnRpbWVvdXRfbGVuZ3RoKTsN
CisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLnRpbWVvdXQgPSBmdW5jdGlvbigpIHsN
CisgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRoaXMuc3RhdHVzLlRJTUVPVVQ7DQorICAg
ICAgICB0aGlzLmNvbXBsZXRlKCk7DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5l
bmRfd2FpdCA9IGZ1bmN0aW9uKCkNCisgICAgew0KKyAgICAgICAgdGhpcy53YWl0X2Zvcl9maW5p
c2ggPSBmYWxzZTsNCisgICAgICAgIGlmICh0aGlzLmFsbF9kb25lKCkpIHsNCisgICAgICAgICAg
ICB0aGlzLmNvbXBsZXRlKCk7DQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIFRlc3RzLnBy
b3RvdHlwZS5wdXNoID0gZnVuY3Rpb24odGVzdCkNCisgICAgew0KKyAgICAgICAgaWYgKHRoaXMu
cGhhc2UgPCB0aGlzLnBoYXNlcy5IQVZFX1RFU1RTKSB7DQorICAgICAgICAgICAgdGhpcy5ub3Rp
Znlfc3RhcnQoKTsNCisgICAgICAgIH0NCisgICAgICAgIHRoaXMubnVtX3BlbmRpbmcrKzsNCisg
ICAgICAgIHRoaXMudGVzdHMucHVzaCh0ZXN0KTsNCisgICAgfTsNCisNCisgICAgVGVzdHMucHJv
dG90eXBlLmFsbF9kb25lID0gZnVuY3Rpb24oKSB7DQorICAgICAgICByZXR1cm4gKHRoaXMuYWxs
X2xvYWRlZCAmJiB0aGlzLm51bV9wZW5kaW5nID09PSAwICYmDQorICAgICAgICAgICAgICAgICF0
aGlzLndhaXRfZm9yX2ZpbmlzaCAmJiAhdGhpcy5wcm9jZXNzaW5nX2NhbGxiYWNrcyk7DQorICAg
IH07DQorDQorICAgIFRlc3RzLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkgew0KKyAgICAg
ICAgdGhpcy5waGFzZSA9IHRoaXMucGhhc2VzLkhBVkVfVEVTVFM7DQorICAgICAgICB0aGlzLm5v
dGlmeV9zdGFydCgpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90aWZ5X3N0
YXJ0ID0gZnVuY3Rpb24oKSB7DQorICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOw0KKyAgICAg
ICAgZm9yRWFjaCAodGhpcy5zdGFydF9jYWxsYmFja3MsDQorICAgICAgICAgICAgICAgICBmdW5j
dGlvbihjYWxsYmFjaykNCisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
ICBjYWxsYmFjayh0aGlzX29iai5wcm9wZXJ0aWVzKTsNCisgICAgICAgICAgICAgICAgIH0pOw0K
KyAgICAgICAgZm9yRWFjaChhbmNlc3Rvcl93aW5kb3dzKCksDQorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHcpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmKHcu
c3RhcnRfY2FsbGJhY2spDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgdHJ5DQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB3LnN0YXJ0X2NhbGxiYWNrKHRoaXNfb2JqLnByb3BlcnRpZXMpOw0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaChl
KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGRlYnVnKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyhlKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAg
IH0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgIH07DQorDQorICAgIFRlc3RzLnByb3RvdHlw
ZS5yZXN1bHQgPSBmdW5jdGlvbih0ZXN0KQ0KKyAgICB7DQorICAgICAgICBpZiAodGhpcy5waGFz
ZSA+IHRoaXMucGhhc2VzLkhBVkVfUkVTVUxUUykNCisgICAgICAgIHsNCisgICAgICAgICAgICBy
ZXR1cm47DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5waGFzZXMuSEFW
RV9SRVNVTFRTOw0KKyAgICAgICAgdGhpcy5udW1fcGVuZGluZy0tOw0KKyAgICAgICAgdGhpcy5u
b3RpZnlfcmVzdWx0KHRlc3QpOw0KKyAgICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90
aWZ5X3Jlc3VsdCA9IGZ1bmN0aW9uKHRlc3QpIHsNCisgICAgICAgIHZhciB0aGlzX29iaiA9IHRo
aXM7DQorICAgICAgICB0aGlzLnByb2Nlc3NpbmdfY2FsbGJhY2tzID0gdHJ1ZTsNCisgICAgICAg
IGZvckVhY2godGhpcy50ZXN0X2RvbmVfY2FsbGJhY2tzLA0KKyAgICAgICAgICAgICAgICBmdW5j
dGlvbihjYWxsYmFjaykNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAg
Y2FsbGJhY2sodGVzdCwgdGhpc19vYmopOw0KKyAgICAgICAgICAgICAgICB9KTsNCisNCisgICAg
ICAgIGZvckVhY2goYW5jZXN0b3Jfd2luZG93cygpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlv
bih3KQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBpZih3LnJlc3Vs
dF9jYWxsYmFjaykNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAg
ICAgICB0cnkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHcucmVzdWx0X2NhbGxiYWNrKHRlc3QpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaChlKQ0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZGVidWcpIHsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7DQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgdGhpcy5wcm9jZXNzaW5n
X2NhbGxiYWNrcyA9IGZhbHNlOw0KKyAgICAgICAgaWYgKHRoaXNfb2JqLmFsbF9kb25lKCkpDQor
ICAgICAgICB7DQorICAgICAgICAgICAgdGhpc19vYmouY29tcGxldGUoKTsNCisgICAgICAgIH0N
CisgICAgfTsNCisNCisgICAgVGVzdHMucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7
DQorICAgICAgICBpZiAodGhpcy5waGFzZSA9PT0gdGhpcy5waGFzZXMuQ09NUExFVEUpIHsNCisg
ICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhp
cy5waGFzZXMuQ09NUExFVEU7DQorICAgICAgICB0aGlzLm5vdGlmeV9jb21wbGV0ZSgpOw0KKyAg
ICB9Ow0KKw0KKyAgICBUZXN0cy5wcm90b3R5cGUubm90aWZ5X2NvbXBsZXRlID0gZnVuY3Rpb24o
KQ0KKyAgICB7DQorICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0X2lkKTsNCisgICAg
ICAgIHZhciB0aGlzX29iaiA9IHRoaXM7DQorICAgICAgICBpZiAodGhpcy5zdGF0dXMuc3RhdHVz
ID09PSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9
IHRoaXMuc3RhdHVzLk9LOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZm9yRWFjaCAodGhpcy5h
bGxfZG9uZV9jYWxsYmFja3MsDQorICAgICAgICAgICAgICAgICBmdW5jdGlvbihjYWxsYmFjaykN
CisgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh0aGlz
X29iai50ZXN0cywgdGhpc19vYmouc3RhdHVzKTsNCisgICAgICAgICAgICAgICAgIH0pOw0KKw0K
KyAgICAgICAgZm9yRWFjaChhbmNlc3Rvcl93aW5kb3dzKCksDQorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHcpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGlmKHcu
Y29tcGxldGlvbl9jYWxsYmFjaykNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0cnkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHcuY29tcGxldGlvbl9jYWxsYmFjayh0aGlzX29iai50ZXN0cywg
dGhpc19vYmouc3RhdHVzKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAg
ICAgICAgICAgICAgICAgY2F0Y2goZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1ZykNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0N
CisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgIH07DQor
DQorICAgIHZhciB0ZXN0cyA9IG5ldyBUZXN0cygpOw0KKw0KKyAgICBmdW5jdGlvbiBhZGRfc3Rh
cnRfY2FsbGJhY2soY2FsbGJhY2spIHsNCisgICAgICAgIHRlc3RzLnN0YXJ0X2NhbGxiYWNrcy5w
dXNoKGNhbGxiYWNrKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBhZGRfcmVzdWx0X2NhbGxi
YWNrKGNhbGxiYWNrKQ0KKyAgICB7DQorICAgICAgICB0ZXN0cy50ZXN0X2RvbmVfY2FsbGJhY2tz
LnB1c2goY2FsbGJhY2spOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGFkZF9jb21wbGV0aW9u
X2NhbGxiYWNrKGNhbGxiYWNrKQ0KKyAgICB7DQorICAgICAgIHRlc3RzLmFsbF9kb25lX2NhbGxi
YWNrcy5wdXNoKGNhbGxiYWNrKTsNCisgICAgfQ0KKw0KKyAgICBleHBvc2UoYWRkX3N0YXJ0X2Nh
bGxiYWNrLCAnYWRkX3N0YXJ0X2NhbGxiYWNrJyk7DQorICAgIGV4cG9zZShhZGRfcmVzdWx0X2Nh
bGxiYWNrLCAnYWRkX3Jlc3VsdF9jYWxsYmFjaycpOw0KKyAgICBleHBvc2UoYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2ssICdhZGRfY29tcGxldGlvbl9jYWxsYmFjaycpOw0KKw0KKyAgICAvKg0KKyAg
ICAgKiBPdXRwdXQgbGlzdGVuZXINCisgICAgKi8NCisNCisgICAgZnVuY3Rpb24gT3V0cHV0KCkg
ew0KKyAgICAgIHRoaXMub3V0cHV0X2RvY3VtZW50ID0gbnVsbDsNCisgICAgICB0aGlzLm91dHB1
dF9ub2RlID0gbnVsbDsNCisgICAgICB0aGlzLmRvbmVfY291bnQgPSAwOw0KKyAgICAgIHRoaXMu
ZW5hYmxlZCA9IHNldHRpbmdzLm91dHB1dDsNCisgICAgICB0aGlzLnBoYXNlID0gdGhpcy5JTklU
SUFMOw0KKyAgICB9DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUuSU5JVElBTCA9IDA7DQorICAg
IE91dHB1dC5wcm90b3R5cGUuU1RBUlRFRCA9IDE7DQorICAgIE91dHB1dC5wcm90b3R5cGUuSEFW
RV9SRVNVTFRTID0gMjsNCisgICAgT3V0cHV0LnByb3RvdHlwZS5DT01QTEVURSA9IDM7DQorDQor
ICAgIE91dHB1dC5wcm90b3R5cGUuc2V0dXAgPSBmdW5jdGlvbihwcm9wZXJ0aWVzKSB7DQorICAg
ICAgICBpZiAodGhpcy5waGFzZSA+IHRoaXMuSU5JVElBTCkgew0KKyAgICAgICAgICAgIHJldHVy
bjsNCisgICAgICAgIH0NCisNCisgICAgICAgIC8vSWYgb3V0cHV0IGlzIGRpc2FibGVkIGluIHRl
c3RoYXJuZXNzcmVwb3J0LmpzIHRoZSB0ZXN0IHNob3VsZG4ndCBiZQ0KKyAgICAgICAgLy9hYmxl
IHRvIG92ZXJyaWRlIHRoYXQNCisgICAgICAgIHRoaXMuZW5hYmxlZCA9IHRoaXMuZW5hYmxlZCAm
JiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eSgib3V0cHV0IikgPw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLm91dHB1dCA6IHNldHRpbmdzLm91
dHB1dCk7DQorICAgIH07DQorDQorICAgIE91dHB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9u
KHByb3BlcnRpZXMpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNlID49IHRoaXMuU1RB
UlRFRCkgew0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAgICAgIGlmIChw
cm9wZXJ0aWVzLm91dHB1dF9kb2N1bWVudCkgew0KKyAgICAgICAgICAgIHRoaXMub3V0cHV0X2Rv
Y3VtZW50ID0gcHJvcGVydGllcy5vdXRwdXRfZG9jdW1lbnQ7DQorICAgICAgICB9IGVsc2Ugew0K
KyAgICAgICAgICAgIHRoaXMub3V0cHV0X2RvY3VtZW50ID0gZG9jdW1lbnQ7DQorICAgICAgICB9
DQorICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5TVEFSVEVEOw0KKyAgICB9Ow0KKw0KKyAgICBP
dXRwdXQucHJvdG90eXBlLnJlc29sdmVfbG9nID0gZnVuY3Rpb24oKQ0KKyAgICB7DQorICAgICAg
ICBpZiAoIXRoaXMub3V0cHV0X2RvY3VtZW50KSB7DQorICAgICAgICAgICAgcmV0dXJuOw0KKyAg
ICAgICAgfQ0KKyAgICAgICAgdmFyIG5vZGUgPSB0aGlzLm91dHB1dF9kb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibG9nIik7DQorICAgICAgICBpZiAobm9kZSkgew0KKyAgICAgICAgICAgIHRoaXMu
b3V0cHV0X25vZGUgPSBub2RlOw0KKyAgICAgICAgfQ0KKyAgICB9Ow0KKw0KKyAgICBPdXRwdXQu
cHJvdG90eXBlLnNob3dfc3RhdHVzID0gZnVuY3Rpb24odGVzdCkNCisgICAgew0KKyAgICAgICAg
aWYgKHRoaXMucGhhc2UgPCB0aGlzLlNUQVJURUQpDQorICAgICAgICB7DQorICAgICAgICAgICAg
dGhpcy5pbml0KCk7DQorICAgICAgICB9DQorICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkNCisg
ICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAo
dGhpcy5waGFzZSA8IHRoaXMuSEFWRV9SRVNVTFRTKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IHRoaXMucmVzb2x2ZV9sb2coKTsNCisgICAgICAgICAgICB0aGlzLnBoYXNlID0gdGhpcy5IQVZF
X1JFU1VMVFM7DQorICAgICAgICB9DQorICAgICAgICB0aGlzLmRvbmVfY291bnQrKzsNCisgICAg
ICAgIGlmICh0aGlzLm91dHB1dF9ub2RlKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmICh0
aGlzLmRvbmVfY291bnQgPCAxMDANCisgICAgICAgICAgICB8fCAodGhpcy5kb25lX2NvdW50IDwg
MTAwMCAmJiB0aGlzLmRvbmVfY291bnQgJSAxMDAgPT0gMCkNCisgICAgICAgICAgICB8fCB0aGlz
LmRvbmVfY291bnQgJSAxMDAwID09IDApIHsNCisgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRf
bm9kZS50ZXh0Q29udGVudCA9ICJSdW5uaW5nLCAiDQorICAgICAgICAgICAgICAgICAgICArIHRo
aXMuZG9uZV9jb3VudCArICIgY29tcGxldGUsICINCisgICAgICAgICAgICAgICAgICAgICsgdGVz
dHMubnVtX3BlbmRpbmcgKyAiIHJlbWFpbiI7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0K
KyAgICB9Ow0KKw0KKyAgICBPdXRwdXQucHJvdG90eXBlLnNob3dfcmVzdWx0cyA9IGZ1bmN0aW9u
ICh0ZXN0cywgaGFybmVzc19zdGF0dXMpDQorICAgIHsNCisgICAgICAgIGlmICh0aGlzLnBoYXNl
ID49IHRoaXMuQ09NUExFVEUpIHsNCisgICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQor
ICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1
cm47DQorICAgICAgICB9DQorICAgICAgICBpZiAoIXRoaXMub3V0cHV0X25vZGUpIHsNCisgICAg
ICAgICAgICB0aGlzLnJlc29sdmVfbG9nKCk7DQorICAgICAgICB9DQorICAgICAgICB0aGlzLnBo
YXNlID0gdGhpcy5DT01QTEVURTsNCisNCisgICAgICAgIHZhciBsb2cgPSB0aGlzLm91dHB1dF9u
b2RlOw0KKyAgICAgICAgaWYgKCFsb2cpDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgdmFyIG91dHB1dF9kb2N1bWVudCA9IHRoaXMub3V0cHV0
X2RvY3VtZW50Ow0KKw0KKyAgICAgICAgd2hpbGUgKGxvZy5sYXN0Q2hpbGQpDQorICAgICAgICB7
DQorICAgICAgICAgICAgbG9nLnJlbW92ZUNoaWxkKGxvZy5sYXN0Q2hpbGQpOw0KKyAgICAgICAg
fQ0KKw0KKyAgICAgICAgaWYgKHNjcmlwdF9wcmVmaXggIT0gbnVsbCkgew0KKyAgICAgICAgICAg
IHZhciBzdHlsZXNoZWV0ID0gb3V0cHV0X2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh4aHRtbF9u
cywgImxpbmsiKTsNCisgICAgICAgICAgICBzdHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgicmVsIiwg
InN0eWxlc2hlZXQiKTsNCisgICAgICAgICAgICBzdHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgiaHJl
ZiIsIHNjcmlwdF9wcmVmaXggKyAidGVzdGhhcm5lc3MuY3NzIik7DQorICAgICAgICAgICAgdmFy
IGhlYWRzID0gb3V0cHV0X2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIik7DQor
ICAgICAgICAgICAgaWYgKGhlYWRzLmxlbmd0aCkgew0KKyAgICAgICAgICAgICAgICBoZWFkc1sw
XS5hcHBlbmRDaGlsZChzdHlsZXNoZWV0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9DQor
DQorICAgICAgICB2YXIgc3RhdHVzX3RleHQgPSB7fTsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rl
c3QucHJvdG90eXBlLlBBU1NdID0gIlBhc3MiOw0KKyAgICAgICAgc3RhdHVzX3RleHRbVGVzdC5w
cm90b3R5cGUuRkFJTF0gPSAiRmFpbCI7DQorICAgICAgICBzdGF0dXNfdGV4dFtUZXN0LnByb3Rv
dHlwZS5USU1FT1VUXSA9ICJUaW1lb3V0IjsNCisgICAgICAgIHN0YXR1c190ZXh0W1Rlc3QucHJv
dG90eXBlLk5PVFJVTl0gPSAiTm90IFJ1biI7DQorDQorICAgICAgICB2YXIgc3RhdHVzX251bWJl
ciA9IHt9Ow0KKyAgICAgICAgZm9yRWFjaCh0ZXN0cywgZnVuY3Rpb24odGVzdCkgew0KKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHN0YXR1c190ZXh0W3Rlc3Quc3RhdHVzXTsNCisg
ICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXNfbnVtYmVyLmhhc093blByb3BlcnR5KHN0YXR1
cykpDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dHVzX251bWJlcltzdGF0dXNdICs9IDE7DQorICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c19udW1iZXJbc3RhdHVzXSA9IDE7DQorICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgZnVu
Y3Rpb24gc3RhdHVzX2NsYXNzKHN0YXR1cykNCisgICAgICAgIHsNCisgICAgICAgICAgICByZXR1
cm4gc3RhdHVzLnJlcGxhY2UoL1xzL2csICcnKS50b0xvd2VyQ2FzZSgpOw0KKyAgICAgICAgfQ0K
Kw0KKyAgICAgICAgdmFyIHN1bW1hcnlfdGVtcGxhdGUgPSBbInNlY3Rpb24iLCB7ImlkIjoic3Vt
bWFyeSJ9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMiIsIHt9LCAiU3Vt
bWFyeSJdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJwIiwge30sICJGb3Vu
ZCAke251bV90ZXN0c30gdGVzdHMiXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHZhcnMpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
YXIgcnYgPSBbWyJkaXYiLCB7fV1dOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBpPTA7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUg
KHN0YXR1c190ZXh0Lmhhc093blByb3BlcnR5KGkpKSB7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXNfbnVtYmVyLmhhc093blByb3BlcnR5KHN0YXR1
c190ZXh0W2ldKSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHN0YXR1cyA9IHN0YXR1c190ZXh0W2ldOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcnZbMF0ucHVzaChbImRpdiIsIHsiY2xhc3MiOnN0YXR1c19j
bGFzcyhzdGF0dXMpfSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFsibGFiZWwiLCB7fSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImlucHV0Iiwge3R5cGU6ImNoZWNrYm94
IiwgY2hlY2tlZDoiY2hlY2tlZCJ9XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfbnVtYmVyW3N0YXR1c10gKyAiICIgKyBz
dGF0dXNdXSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSsrOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcnY7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XTsN
CisNCisgICAgICAgIGxvZy5hcHBlbmRDaGlsZChyZW5kZXIoc3VtbWFyeV90ZW1wbGF0ZSwge251
bV90ZXN0czp0ZXN0cy5sZW5ndGh9LCBvdXRwdXRfZG9jdW1lbnQpKTsNCisNCisgICAgICAgIGZv
ckVhY2gob3V0cHV0X2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNlY3Rpb24jc3VtbWFyeSBs
YWJlbCIpLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbihlbGVtZW50KQ0KKyAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICBvbl9ldmVudChlbGVtZW50LCAiY2xpY2siLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
b3V0cHV0X2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIikgPT09IG51bGwpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdF9jbGFzcyA9
IGVsZW1lbnQucGFyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoImNsYXNzIik7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdmFyIHN0eWxlX2VsZW1lbnQgPSBvdXRwdXRfZG9jdW1lbnQu
cXVlcnlTZWxlY3Rvcigic3R5bGUjaGlkZS0iICsgcmVzdWx0X2NsYXNzKTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW5wdXRfZWxlbWVudCA9IGVsZW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IXN0eWxlX2VsZW1lbnQgJiYgIWlucHV0X2VsZW1lbnQuY2hlY2tlZCkgew0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9lbGVtZW50ID0gb3V0cHV0X2RvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyh4aHRtbF9ucywgInN0eWxlIik7DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0eWxlX2VsZW1lbnQuaWQgPSAiaGlkZS0iICsgcmVzdWx0X2Ns
YXNzOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9lbGVtZW50
LmlubmVySFRNTCA9ICJ0YWJsZSNyZXN1bHRzID4gdGJvZHkgPiB0ci4iK3Jlc3VsdF9jbGFzcysi
e2Rpc3BsYXk6bm9uZX0iOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
dXRwdXRfZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdHlsZV9lbGVtZW50KTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0eWxlX2VsZW1lbnQgJiYgaW5w
dXRfZWxlbWVudC5jaGVja2VkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0eWxlX2VsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZV9lbGVtZW50KTsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAvLyBUaGlz
IHVzZSBvZiBpbm5lckhUTUwgcGx1cyBtYW51YWwgZXNjYXBpbmcgaXMgbm90IHJlY29tbWVuZGVk
IGluDQorICAgICAgICAvLyBnZW5lcmFsLCBidXQgaXMgbmVjZXNzYXJ5IGhlcmUgZm9yIHBlcmZv
cm1hbmNlLiAgVXNpbmcgdGV4dENvbnRlbnQNCisgICAgICAgIC8vIG9uIGVhY2ggaW5kaXZpZHVh
bCA8dGQ+IGFkZHMgdGVucyBvZiBzZWNvbmRzIG9mIGV4ZWN1dGlvbiB0aW1lIGZvcg0KKyAgICAg
ICAgLy8gbGFyZ2UgdGVzdCBzdWl0ZXMgKHRlbnMgb2YgdGhvdXNhbmRzIG9mIHRlc3RzKS4NCisg
ICAgICAgIGZ1bmN0aW9uIGVzY2FwZV9odG1sKHMpDQorICAgICAgICB7DQorICAgICAgICAgICAg
cmV0dXJuIHMucmVwbGFjZSgvXCYvZywgIiZhbXA7IikNCisgICAgICAgICAgICAgICAgLnJlcGxh
Y2UoLzwvZywgIiZsdDsiKQ0KKyAgICAgICAgICAgICAgICAucmVwbGFjZSgvIi9nLCAiJnF1b3Q7
IikNCisgICAgICAgICAgICAgICAgLnJlcGxhY2UoLycvZywgIiYjMzk7Iik7DQorICAgICAgICB9
DQorDQorICAgICAgICBsb2cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Vj
dGlvbiIpKTsNCisgICAgICAgIHZhciBodG1sID0gIjxoMj5EZXRhaWxzPC9oMj48dGFibGUgaWQ9
J3Jlc3VsdHMnPiINCisgICAgICAgICAgICArICI8dGhlYWQ+PHRyPjx0aD5SZXN1bHQ8L3RoPjx0
aD5UZXN0IE5hbWU8L3RoPjx0aD5NZXNzYWdlPC90aD48L3RyPjwvdGhlYWQ+Ig0KKyAgICAgICAg
ICAgICsgIjx0Ym9keT4iOw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5n
dGg7IGkrKykgew0KKyAgICAgICAgICAgIGh0bWwgKz0gJzx0ciBjbGFzcz0iJw0KKyAgICAgICAg
ICAgICAgICArIGVzY2FwZV9odG1sKHN0YXR1c19jbGFzcyhzdGF0dXNfdGV4dFt0ZXN0c1tpXS5z
dGF0dXNdKSkNCisgICAgICAgICAgICAgICAgKyAnIj48dGQ+Jw0KKyAgICAgICAgICAgICAgICAr
IGVzY2FwZV9odG1sKHN0YXR1c190ZXh0W3Rlc3RzW2ldLnN0YXR1c10pDQorICAgICAgICAgICAg
ICAgICsgIjwvdGQ+PHRkPiINCisgICAgICAgICAgICAgICAgKyBlc2NhcGVfaHRtbChmb3JtYXRf
c3RyaW5nKHRlc3RzW2ldLm5hbWUpKQ0KKyAgICAgICAgICAgICAgICArICI8L3RkPjx0ZD4iDQor
ICAgICAgICAgICAgICAgICsgZXNjYXBlX2h0bWwodGVzdHNbaV0ubWVzc2FnZSA/IGZvcm1hdF9z
dHJpbmcodGVzdHNbaV0ubWVzc2FnZSkgOiAiICIpDQorICAgICAgICAgICAgICAgICsgIjwvdGQ+
PC90cj4iOw0KKyAgICAgICAgfQ0KKyAgICAgICAgbG9nLmxhc3RDaGlsZC5pbm5lckhUTUwgPSBo
dG1sICsgIjwvdGJvZHk+PC90YWJsZT4iOw0KKyAgICB9Ow0KKw0KKyAgICB2YXIgb3V0cHV0ID0g
bmV3IE91dHB1dCgpOw0KKyAgICBhZGRfc3RhcnRfY2FsbGJhY2soZnVuY3Rpb24gKHByb3BlcnRp
ZXMpIHtvdXRwdXQuaW5pdChwcm9wZXJ0aWVzKTt9KTsNCisgICAgYWRkX3Jlc3VsdF9jYWxsYmFj
ayhmdW5jdGlvbiAodGVzdCkge291dHB1dC5zaG93X3N0YXR1cyh0ZXN0cyk7fSk7DQorICAgIGFk
ZF9jb21wbGV0aW9uX2NhbGxiYWNrKGZ1bmN0aW9uICh0ZXN0cywgaGFybmVzc19zdGF0dXMpIHtv
dXRwdXQuc2hvd19yZXN1bHRzKHRlc3RzLCBoYXJuZXNzX3N0YXR1cyk7fSk7DQorDQorICAgIC8q
DQorICAgICAqIFRlbXBsYXRlIGNvZGUNCisgICAgICoNCisgICAgICogQSB0ZW1wbGF0ZSBpcyBq
dXN0IGEgamF2YXNjcmlwdCBzdHJ1Y3R1cmUuIEFuIGVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYXM6
DQorICAgICAqDQorICAgICAqIFt0YWdfbmFtZSwge2F0dHJfbmFtZTphdHRyX3ZhbHVlfSwgY2hp
bGQxLCBjaGlsZDJdDQorICAgICAqDQorICAgICAqIHRoZSBjaGlsZHJlbiBjYW4gZWl0aGVyIGJl
IHN0cmluZ3MgKHdoaWNoIGFjdCBsaWtlIHRleHQgbm9kZXMpLCBvdGhlciB0ZW1wbGF0ZXMgb3IN
CisgICAgICogZnVuY3Rpb25zIChzZWUgYmVsb3cpDQorICAgICAqDQorICAgICAqIEEgdGV4dCBu
b2RlIGlzIHJlcHJlc2VudGVkIGFzDQorICAgICAqDQorICAgICAqIFsie3RleHR9IiwgdmFsdWVd
DQorICAgICAqDQorICAgICAqIFN0cmluZyB2YWx1ZXMgaGF2ZSBhIHNpbXBsZSBzdWJzdGl0dXRp
b24gc3ludGF4OyAke2Zvb30gcmVwcmVzZW50cyBhIHZhcmlhYmxlIGZvby4NCisgICAgICoNCisg
ICAgICogSXQgaXMgcG9zc2libGUgdG8gZW1iZWQgbG9naWMgaW4gdGVtcGxhdGVzIGJ5IHVzaW5n
IGEgZnVuY3Rpb24gaW4gYSBwbGFjZSB3aGVyZSBhDQorICAgICAqIG5vZGUgd291bGQgdXN1YWxs
eSBnby4gVGhlIGZ1bmN0aW9uIG11c3QgZWl0aGVyIHJldHVybiBwYXJ0IG9mIGEgdGVtcGxhdGUg
b3IgbnVsbC4NCisgICAgICoNCisgICAgICogSW4gY2FzZXMgd2hlcmUgYSBzZXQgb2Ygbm9kZXMg
YXJlIHJlcXVpcmVkIGFzIG91dHB1dCByYXRoZXIgdGhhbiBhIHNpbmdsZSBub2RlDQorICAgICAq
IHdpdGggY2hpbGRyZW4gaXQgaXMgcG9zc2libGUgdG8ganVzdCB1c2UgYSBsaXN0DQorICAgICAq
IFtub2RlMSwgbm9kZTIsIG5vZGUzXQ0KKyAgICAgKg0KKyAgICAgKiBVc2FnZToNCisgICAgICoN
CisgICAgICogcmVuZGVyKHRlbXBsYXRlLCBzdWJzdGl0dXRpb25zKSAtIHRha2UgYSB0ZW1wbGF0
ZSBhbmQgYW4gb2JqZWN0IG1hcHBpbmcNCisgICAgICogdmFyaWFibGUgbmFtZXMgdG8gcGFyYW1l
dGVycyBhbmQgcmV0dXJuIGVpdGhlciBhIERPTSBub2RlIG9yIGEgbGlzdCBvZiBET00gbm9kZXMN
CisgICAgICoNCisgICAgICogc3Vic3RpdHV0ZSh0ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucykgLSB0
YWtlIGEgdGVtcGxhdGUgYW5kIHZhcmlhYmxlIG1hcHBpbmcgb2JqZWN0LA0KKyAgICAgKiBtYWtl
IHRoZSB2YXJpYWJsZSBzdWJzdGl0dXRpb25zIGFuZCByZXR1cm4gdGhlIHN1YnN0aXR1dGVkIHRl
bXBsYXRlDQorICAgICAqDQorICAgICAqLw0KKw0KKyAgICBmdW5jdGlvbiBpc19zaW5nbGVfbm9k
ZSh0ZW1wbGF0ZSkNCisgICAgew0KKyAgICAgICAgcmV0dXJuIHR5cGVvZiB0ZW1wbGF0ZVswXSA9
PT0gInN0cmluZyI7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZSh0ZW1wbGF0
ZSwgc3Vic3RpdHV0aW9ucykNCisgICAgew0KKyAgICAgICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9
PT0gImZ1bmN0aW9uIikgew0KKyAgICAgICAgICAgIHZhciByZXBsYWNlbWVudCA9IHRlbXBsYXRl
KHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAgICAgIGlmIChyZXBsYWNlbWVudCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBydiA9IHN1YnN0aXR1dGUocmVwbGFjZW1lbnQs
IHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAgICAgICAgICByZXR1cm4gcnY7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAg
IHJldHVybiBudWxsOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgICAgIGVsc2Ug
aWYgKGlzX3NpbmdsZV9ub2RlKHRlbXBsYXRlKSkNCisgICAgICAgIHsNCisgICAgICAgICAgICBy
ZXR1cm4gc3Vic3RpdHV0ZV9zaW5nbGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpOw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgZWxzZQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHJldHVybiBmaWx0
ZXIobWFwKHRlbXBsYXRlLCBmdW5jdGlvbih4KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBzdWJzdGl0dXRlKHgsIHN1YnN0aXR1dGlvbnMpOw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0pLCBmdW5jdGlvbih4KSB7cmV0dXJuIHggIT09IG51bGw7
fSk7DQorICAgICAgICB9DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZV9zaW5n
bGUodGVtcGxhdGUsIHN1YnN0aXR1dGlvbnMpDQorICAgIHsNCisgICAgICAgIHZhciBzdWJzdGl0
dXRpb25fcmUgPSAvXCR7KFteIH1dKil9L2c7DQorDQorICAgICAgICBmdW5jdGlvbiBkb19zdWJz
dGl0dXRpb24oaW5wdXQpIHsNCisgICAgICAgICAgICB2YXIgY29tcG9uZW50cyA9IGlucHV0LnNw
bGl0KHN1YnN0aXR1dGlvbl9yZSk7DQorICAgICAgICAgICAgdmFyIHJ2ID0gW107DQorICAgICAg
ICAgICAgZm9yICh2YXIgaT0wOyBpPGNvbXBvbmVudHMubGVuZ3RoOyBpKz0yKQ0KKyAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgcnYucHVzaChjb21wb25lbnRzW2ldKTsNCisgICAgICAg
ICAgICAgICAgaWYgKGNvbXBvbmVudHNbaSsxXSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgcnYucHVzaChTdHJpbmcoc3Vic3RpdHV0aW9uc1tjb21wb25lbnRzW2kr
MV1dKSk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAgICAgICAg
cmV0dXJuIHJ2Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdmFyIHJ2ID0gW107DQorICAgICAg
ICBydi5wdXNoKGRvX3N1YnN0aXR1dGlvbihTdHJpbmcodGVtcGxhdGVbMF0pKS5qb2luKCIiKSk7
DQorDQorICAgICAgICBpZiAodGVtcGxhdGVbMF0gPT09ICJ7dGV4dH0iKSB7DQorICAgICAgICAg
ICAgc3Vic3RpdHV0ZV9jaGlsZHJlbih0ZW1wbGF0ZS5zbGljZSgxKSwgcnYpOw0KKyAgICAgICAg
fSBlbHNlIHsNCisgICAgICAgICAgICBzdWJzdGl0dXRlX2F0dHJzKHRlbXBsYXRlWzFdLCBydik7
DQorICAgICAgICAgICAgc3Vic3RpdHV0ZV9jaGlsZHJlbih0ZW1wbGF0ZS5zbGljZSgyKSwgcnYp
Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZnVuY3Rpb24gc3Vic3RpdHV0ZV9hdHRycyhhdHRy
cywgcnYpDQorICAgICAgICB7DQorICAgICAgICAgICAgcnZbMV0gPSB7fTsNCisgICAgICAgICAg
ICBmb3IgKHZhciBuYW1lIGluIHRlbXBsYXRlWzFdKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgaWYgKGF0dHJzLmhhc093blByb3BlcnR5KG5hbWUpKQ0KKyAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgbmV3X25hbWUgPSBkb19zdWJzdGl0dXRpb24o
bmFtZSkuam9pbigiIik7DQorICAgICAgICAgICAgICAgICAgICB2YXIgbmV3X3ZhbHVlID0gZG9f
c3Vic3RpdHV0aW9uKGF0dHJzW25hbWVdKS5qb2luKCIiKTsNCisgICAgICAgICAgICAgICAgICAg
IHJ2WzFdW25ld19uYW1lXSA9IG5ld192YWx1ZTsNCisgICAgICAgICAgICAgICAgfTsNCisgICAg
ICAgICAgICB9DQorICAgICAgICB9DQorDQorICAgICAgICBmdW5jdGlvbiBzdWJzdGl0dXRlX2No
aWxkcmVuKGNoaWxkcmVuLCBydikNCisgICAgICAgIHsNCisgICAgICAgICAgICBmb3IgKHZhciBp
PTA7IGk8Y2hpbGRyZW4ubGVuZ3RoOyBpKyspDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICBpZiAoY2hpbGRyZW5baV0gaW5zdGFuY2VvZiBPYmplY3QpIHsNCisgICAgICAgICAgICAg
ICAgICAgIHZhciByZXBsYWNlbWVudCA9IHN1YnN0aXR1dGUoY2hpbGRyZW5baV0sIHN1YnN0aXR1
dGlvbnMpOw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ICE9PSBudWxsKQ0K
KyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19z
aW5nbGVfbm9kZShyZXBsYWNlbWVudCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydi5wdXNoKHJlcGxhY2VtZW50KTsNCisgICAgICAg
ICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5k
KHJ2LCByZXBsYWNlbWVudCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGVsc2UN
CisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJ2LCBkb19z
dWJzdGl0dXRpb24oU3RyaW5nKGNoaWxkcmVuW2ldKSkpOw0KKyAgICAgICAgICAgICAgICB9DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHJldHVybiBydjsNCisgICAgICAgIH0NCisNCisg
ICAgICAgIHJldHVybiBydjsNCisgICAgfQ0KKw0KKyBmdW5jdGlvbiBtYWtlX2RvbV9zaW5nbGUo
dGVtcGxhdGUsIGRvYykNCisgew0KKyAgICAgdmFyIG91dHB1dF9kb2N1bWVudCA9IGRvYyB8fCBk
b2N1bWVudDsNCisgICAgIGlmICh0ZW1wbGF0ZVswXSA9PT0gInt0ZXh0fSIpDQorICAgICB7DQor
ICAgICAgICAgdmFyIGVsZW1lbnQgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIp
Ow0KKyAgICAgICAgIGZvciAodmFyIGk9MTsgaTx0ZW1wbGF0ZS5sZW5ndGg7IGkrKykNCisgICAg
ICAgICB7DQorICAgICAgICAgICAgIGVsZW1lbnQuZGF0YSArPSB0ZW1wbGF0ZVtpXTsNCisgICAg
ICAgICB9DQorICAgICB9DQorICAgICBlbHNlDQorICAgICB7DQorICAgICAgICAgdmFyIGVsZW1l
bnQgPSBvdXRwdXRfZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sX25zLCB0ZW1wbGF0ZVsw
XSk7DQorICAgICAgICAgZm9yICh2YXIgbmFtZSBpbiB0ZW1wbGF0ZVsxXSkgew0KKyAgICAgICAg
ICAgICBpZiAodGVtcGxhdGVbMV0uaGFzT3duUHJvcGVydHkobmFtZSkpDQorICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHRlbXBsYXRl
WzFdW25hbWVdKTsNCisgICAgICAgICAgICAgfQ0KKyAgICAgICAgIH0NCisgICAgICAgICBmb3Ig
KHZhciBpPTI7IGk8dGVtcGxhdGUubGVuZ3RoOyBpKyspDQorICAgICAgICAgew0KKyAgICAgICAg
ICAgICBpZiAodGVtcGxhdGVbaV0gaW5zdGFuY2VvZiBPYmplY3QpDQorICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgIHZhciBzdWJfZWxlbWVudCA9IG1ha2VfZG9tKHRlbXBsYXRlW2ld
KTsNCisgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoc3ViX2VsZW1lbnQpOw0K
KyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgdmFyIHRleHRfbm9kZSA9IG91dHB1dF9kb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSh0ZW1wbGF0ZVtpXSk7DQorICAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxk
KHRleHRfbm9kZSk7DQorICAgICAgICAgICAgIH0NCisgICAgICAgICB9DQorICAgICB9DQorDQor
ICAgICByZXR1cm4gZWxlbWVudDsNCisgfQ0KKw0KKw0KKw0KKyBmdW5jdGlvbiBtYWtlX2RvbSh0
ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucywgb3V0cHV0X2RvY3VtZW50KQ0KKyAgICB7DQorICAgICAg
ICBpZiAoaXNfc2luZ2xlX25vZGUodGVtcGxhdGUpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IHJldHVybiBtYWtlX2RvbV9zaW5nbGUodGVtcGxhdGUsIG91dHB1dF9kb2N1bWVudCk7DQorICAg
ICAgICB9DQorICAgICAgICBlbHNlDQorICAgICAgICB7DQorICAgICAgICAgICAgcmV0dXJuIG1h
cCh0ZW1wbGF0ZSwgZnVuY3Rpb24oeCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBtYWtlX2RvbV9zaW5nbGUoeCwgb3V0cHV0X2RvY3VtZW50KTsNCisgICAgICAgICAgICAg
ICAgICAgICAgIH0pOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorIGZ1bmN0aW9uIHJlbmRlcih0
ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucywgb3V0cHV0X2RvY3VtZW50KQ0KKyAgICB7DQorICAgICAg
ICByZXR1cm4gbWFrZV9kb20oc3Vic3RpdHV0ZSh0ZW1wbGF0ZSwgc3Vic3RpdHV0aW9ucyksIG91
dHB1dF9kb2N1bWVudCk7DQorICAgIH0NCisNCisgICAgLyoNCisgICAgICogVXRpbGl0eSBmdW5j
aW9ucw0KKyAgICAgKi8NCisgICAgZnVuY3Rpb24gYXNzZXJ0KGV4cGVjdGVkX3RydWUsIGZ1bmN0
aW9uX25hbWUsIGRlc2NyaXB0aW9uLCBlcnJvciwgc3Vic3RpdHV0aW9ucykNCisgICAgew0KKyAg
ICAgICAgaWYgKGV4cGVjdGVkX3RydWUgIT09IHRydWUpDQorICAgICAgICB7DQorICAgICAgICAg
ICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKG1ha2VfbWVzc2FnZShmdW5jdGlvbl9uYW1lLCBk
ZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGVycm9yLCBzdWJzdGl0dXRpb25zKSk7DQorICAgICAgICB9DQorICAgIH0NCisNCisg
ICAgZnVuY3Rpb24gQXNzZXJ0aW9uRXJyb3IobWVzc2FnZSkNCisgICAgew0KKyAgICAgICAgdGhp
cy5tZXNzYWdlID0gbWVzc2FnZTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBtYWtlX21lc3Nh
Z2UoZnVuY3Rpb25fbmFtZSwgZGVzY3JpcHRpb24sIGVycm9yLCBzdWJzdGl0dXRpb25zKQ0KKyAg
ICB7DQorICAgICAgICBmb3IgKHZhciBwIGluIHN1YnN0aXR1dGlvbnMpIHsNCisgICAgICAgICAg
ICBpZiAoc3Vic3RpdHV0aW9ucy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KKyAgICAgICAgICAgICAg
ICBzdWJzdGl0dXRpb25zW3BdID0gZm9ybWF0X3ZhbHVlKHN1YnN0aXR1dGlvbnNbcF0pOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAgICAgIHZhciBub2RlX2Zvcm0gPSBzdWJzdGl0
dXRlKFsie3RleHR9IiwgIiR7ZnVuY3Rpb25fbmFtZX06ICR7ZGVzY3JpcHRpb259IiArIGVycm9y
XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKHtmdW5jdGlvbl9u
YW1lOmZ1bmN0aW9uX25hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzY3JpcHRpb246KGRlc2NyaXB0aW9uP2Rlc2NyaXB0aW9uICsgIiAiOiIiKX0sDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucykp
Ow0KKyAgICAgICAgcmV0dXJuIG5vZGVfZm9ybS5zbGljZSgxKS5qb2luKCIiKTsNCisgICAgfQ0K
Kw0KKyAgICBmdW5jdGlvbiBmaWx0ZXIoYXJyYXksIGNhbGxhYmxlLCB0aGlzT2JqKSB7DQorICAg
ICAgICB2YXIgcnYgPSBbXTsNCisgICAgICAgIGZvciAodmFyIGk9MDsgaTxhcnJheS5sZW5ndGg7
IGkrKykNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoYXJyYXkuaGFzT3duUHJvcGVydHko
aSkpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgcGFzcyA9IGNhbGxhYmxl
LmNhbGwodGhpc09iaiwgYXJyYXlbaV0sIGksIGFycmF5KTsNCisgICAgICAgICAgICAgICAgaWYg
KHBhc3MpIHsNCisgICAgICAgICAgICAgICAgICAgIHJ2LnB1c2goYXJyYXlbaV0pOw0KKyAgICAg
ICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJu
IHJ2Ow0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIG1hcChhcnJheSwgY2FsbGFibGUsIHRoaXNP
YmopDQorICAgIHsNCisgICAgICAgIHZhciBydiA9IFtdOw0KKyAgICAgICAgcnYubGVuZ3RoID0g
YXJyYXkubGVuZ3RoOw0KKyAgICAgICAgZm9yICh2YXIgaT0wOyBpPGFycmF5Lmxlbmd0aDsgaSsr
KQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChhcnJheS5oYXNPd25Qcm9wZXJ0eShpKSkN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJ2W2ldID0gY2FsbGFibGUuY2FsbCh0
aGlzT2JqLCBhcnJheVtpXSwgaSwgYXJyYXkpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0N
CisgICAgICAgIHJldHVybiBydjsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBleHRlbmQoYXJy
YXksIGl0ZW1zKQ0KKyAgICB7DQorICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShh
cnJheSwgaXRlbXMpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9uIGZvckVhY2ggKGFycmF5LCBj
YWxsYmFjaywgdGhpc09iaikNCisgICAgew0KKyAgICAgICAgZm9yICh2YXIgaT0wOyBpPGFycmF5
Lmxlbmd0aDsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChhcnJheS5oYXNPd25Q
cm9wZXJ0eShpKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNh
bGwodGhpc09iaiwgYXJyYXlbaV0sIGksIGFycmF5KTsNCisgICAgICAgICAgICB9DQorICAgICAg
ICB9DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gbWVyZ2UoYSxiKQ0KKyAgICB7DQorICAgICAg
ICB2YXIgcnYgPSB7fTsNCisgICAgICAgIHZhciBwOw0KKyAgICAgICAgZm9yIChwIGluIGEpDQor
ICAgICAgICB7DQorICAgICAgICAgICAgcnZbcF0gPSBhW3BdOw0KKyAgICAgICAgfQ0KKyAgICAg
ICAgZm9yIChwIGluIGIpIHsNCisgICAgICAgICAgICBydltwXSA9IGJbcF07DQorICAgICAgICB9
DQorICAgICAgICByZXR1cm4gcnY7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gZXhwb3NlKG9i
amVjdCwgbmFtZSkNCisgICAgew0KKyAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBuYW1lLnNwbGl0
KCIuIik7DQorICAgICAgICB2YXIgdGFyZ2V0ID0gd2luZG93Ow0KKyAgICAgICAgZm9yICh2YXIg
aT0wOyBpPGNvbXBvbmVudHMubGVuZ3RoIC0gMTsgaSsrKQ0KKyAgICAgICAgew0KKyAgICAgICAg
ICAgIGlmICghKGNvbXBvbmVudHNbaV0gaW4gdGFyZ2V0KSkNCisgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgIHRhcmdldFtjb21wb25lbnRzW2ldXSA9IHt9Ow0KKyAgICAgICAgICAgIH0N
CisgICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXRbY29tcG9uZW50c1tpXV07DQorICAgICAgICB9
DQorICAgICAgICB0YXJnZXRbY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdXSA9IG9i
amVjdDsNCisgICAgfQ0KKw0KKyBmdW5jdGlvbiBhbmNlc3Rvcl93aW5kb3dzKCkgew0KKyAgICAg
Ly9HZXQgdGhlIHdpbmRvd3MgW3NlbGYgLi4uIHRvcF0gYXMgYW4gYXJyYXkNCisgICAgIGlmICgi
cmVzdWx0X2NhY2hlIiBpbiBhbmNlc3Rvcl93aW5kb3dzKQ0KKyAgICAgew0KKyAgICAgICAgIHJl
dHVybiBhbmNlc3Rvcl93aW5kb3dzLnJlc3VsdF9jYWNoZTsNCisgICAgIH0NCisgICAgIHZhciBy
diA9IFtzZWxmXTsNCisgICAgIHZhciB3ID0gc2VsZjsNCisgICAgIHdoaWxlICh3ICE9IHcucGFy
ZW50KQ0KKyAgICAgew0KKyAgICAgICAgIHcgPSB3LnBhcmVudDsNCisgICAgICAgICBydi5wdXNo
KHcpOw0KKyAgICAgfQ0KKyAgICAgYW5jZXN0b3Jfd2luZG93cy5yZXN1bHRfY2FjaGUgPSBydjsN
CisgICAgIHJldHVybiBydjsNCisgfQ0KKw0KK30pKCk7DQorLy8gdmltOiBzZXQgZXhwYW5kdGFi
IHNoaWZ0d2lkdGg9NCB0YWJzdG9wPTQ6ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzYjNhZjMwM2YwM2Y1ZjU5MGE5ZDZlMmFiZmNkNGY3
OGYwYzk3YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKQEAgLTAsMCArMSw3OSBAQAorLyoNCisgKiBU
SElTIEZJTEUgSU5URU5USU9OQUxMWSBMRUZUIEJMQU5LDQorICoNCisgKiBNb3JlIHNwZWNpZmlj
YWxseSwgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciB2ZW5kb3JzIHRvIGltcGxlbWVudA0KKyAq
IGNvZGUgbmVlZGVkIHRvIGludGVncmF0ZSB0ZXN0aGFybmVzcy5qcyB0ZXN0cyB3aXRoIHRoZWly
IG93biB0ZXN0IHN5c3RlbXMuDQorICoNCisgKiBUeXBpY2FsbHkgc3VjaCBpbnRlZ3JhdGlvbiB3
aWxsIGF0dGFjaCBjYWxsYmFja3Mgd2hlbiBlYWNoIHRlc3QgaXMNCisgKiBoYXMgcnVuLCB1c2lu
ZyBhZGRfcmVzdWx0X2NhbGxiYWNrKGNhbGxiYWNrKHRlc3QpKSwgb3Igd2hlbiB0aGUgd2hvbGUg
dGVzdCBmaWxlIGhhcw0KKyAqIGNvbXBsZXRlZCwgdXNpbmcgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soY2FsbGJhY2sodGVzdHMsIGhhcm5lc3Nfc3RhdHVzKSkuDQorICoNCisgKiBGb3IgbW9yZSBk
b2N1bWVudGF0aW9uIGFib3V0IHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgYW5kIHRoZQ0KKyAqIHBh
cmFtZXRlcnMgdGhleSBhcmUgY2FsbGVkIHdpdGggc2VlIHRlc3RoYXJuZXNzLmpzDQorICovDQor
DQorLy8gU2V0dXAgZm9yIFdlYktpdCBKYXZhU2NyaXB0IHRlc3RzDQoraWYgKHNlbGYudGVzdFJ1
bm5lcikgew0KKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7DQorfQ0KKw0KKy8vIEZ1bmN0aW9uIHVzZWQgdG8gY29udmVydCB0aGUg
dGVzdCBzdGF0dXMgY29kZSBpbnRvDQorLy8gdGhlIGNvcnJlc3BvbmRpbmcgc3RyaW5nDQorZnVu
Y3Rpb24gY29udmVydFJlc3VsdChyZXN1bHRTdGF0dXMpew0KKwlpZihyZXN1bHRTdGF0dXMgPT0g
MCkNCisJCXJldHVybigiUEFTUyIpOw0KKwllbHNlIGlmKHJlc3VsdFN0YXR1cyA9PSAxKQ0KKwkJ
cmV0dXJuKCJGQUlMIik7DQorCWVsc2UgaWYocmVzdWx0U3RhdHVzID09IDIpDQorCQlyZXR1cm4o
IlRJTUVPVVQiKTsNCisJZWxzZQ0KKwkJcmV0dXJuKCJOT1RSVU4iKTsNCit9DQorDQorLyogRGlz
YWJsZSB0aGUgZGVmYXVsdCBvdXRwdXQgb2YgdGVzdGhhcm5lc3MuanMuICBUaGUgZGVmYXVsdCBv
dXRwdXQgZm9ybWF0cw0KKyogIHRlc3QgcmVzdWx0cyBpbnRvIGFuIEhUTUwgdGFibGUuICBXaGVu
IHRoYXQgdGFibGUgaXMgZHVtcGVkIGFzIHRleHQsIG5vDQorKiAgc3BhY2luZyBiZXR3ZWVuIGNl
bGxzIGlzIHByZXNlcnZlZCwgYW5kIGl0IGlzIHRoZXJlZm9yZSBub3QgcmVhZGFibGUuIEJ5DQor
KiAgc2V0dGluZyBvdXRwdXQgdG8gZmFsc2UsIHRoZSBIVE1MIHRhYmxlIHdpbGwgbm90IGJlIGNy
ZWF0ZWQNCisqLw0KK3NldHVwKHsib3V0cHV0IjpmYWxzZX0pOw0KKw0KKy8qICBVc2luZyBhIGNh
bGxiYWNrIGZ1bmN0aW9uLCB0ZXN0IHJlc3VsdHMgd2lsbCBiZSBhZGRlZCB0byB0aGUgcGFnZSBp
biBhIA0KKyogICBtYW5uZXIgdGhhdCBhbGxvd3MgZHVtcEFzVGV4dCB0byBwcm9kdWNlIHJlYWRh
YmxlIHRlc3QgcmVzdWx0cw0KKyovDQorYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24g
KHRlc3RzLCBoYXJuZXNzX3N0YXR1cyl7DQorCQ0KKwkvLyBDcmVhdGUgZWxlbWVudCB0byBob2xk
IHJlc3VsdHMNCisJdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUiKTsN
CisJDQorCS8vIERlY2xhcmUgcmVzdWx0IHN0cmluZw0KKwl2YXIgcmVzdWx0U3RyID0gIlxuIjsN
CisJDQorCS8vIENoZWNrIGhhcm5lc3Nfc3RhdHVzLiAgSWYgaXQgaXMgbm90IDAsIHRlc3RzIGRp
ZCBub3QNCisJLy8gZXhlY3V0ZSBjb3JyZWN0bHksIG91dHB1dCB0aGUgZXJyb3IgY29kZSBhbmQg
bWVzc2FnZQ0KKwlpZihoYXJuZXNzX3N0YXR1cy5zdGF0dXMgIT0gMCl7DQorCQlyZXN1bHRTdHIg
Kz0gIkhhcm5lc3MgRXJyb3IuIGhhcm5lc3Nfc3RhdHVzLnN0YXR1cyA9ICIgKyANCisJCQkJCSBo
YXJuZXNzX3N0YXR1cy5zdGF0dXMgKw0KKwkJCQkJICIgLCBoYXJuZXNzX3N0YXR1cy5tZXNzYWdl
ID0gIiArDQorCQkJCQkgaGFybmVzc19zdGF0dXMubWVzc2FnZTsNCisJfQ0KKwllbHNlIHsNCisJ
CS8vIEl0ZXJhdGUgdGhyb3VnaCB0ZXN0cyBhcnJheSBhbmQgYnVpbGQgc3RyaW5nIHRoYXQgY29u
dGFpbnMNCisJCS8vIHJlc3VsdHMgZm9yIGFsbCB0ZXN0cw0KKwkJZm9yKHZhciBpPTA7IGk8dGVz
dHMubGVuZ3RoOyBpKyspewkJCQkgDQorCQkJcmVzdWx0U3RyICs9IGNvbnZlcnRSZXN1bHQodGVz
dHNbaV0uc3RhdHVzKSArICIgIiArIA0KKwkJCQkJCSggKHRlc3RzW2ldLm5hbWUhPW51bGwpID8g
dGVzdHNbaV0ubmFtZSA6ICIiICkgKyAiICIgKw0KKwkJCQkJCSggKHRlc3RzW2ldLm1lc3NhZ2Uh
PW51bGwpID8gdGVzdHNbaV0ubWVzc2FnZSA6ICIiICkgKyANCisJCQkJCQkiXG4iOw0KKwkJfQkJ
CQ0KKwl9DQorDQorCS8vIFNldCByZXN1bHRzIGVsZW1lbnQncyBpbm5lckhUTUwgdG8gdGhlIHJl
c3VsdHMgc3RyaW5nDQorCXJlc3VsdHMuaW5uZXJIVE1MID0gcmVzdWx0U3RyOw0KKw0KKwkvLyBB
ZGQgcmVzdWx0cyBlbGVtZW50IHRvIGRvY3VtZW50DQorCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0cyk7DQorDQorCWlmIChzZWxmLnRlc3RSdW5uZXIpDQorCQl0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsNCit9KTsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9v
cGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUyNDUzZDMxYjBmODhmMzVmOWFiMzUyZTVjMjU2ZTgyZTIwNTk1NTYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9kb2N1bWVudF9vcGVuLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMzIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgcmVtYWlucyBjb25zdGFudCB3aGVuIGEgZG9jdW1l
bnQgaXMgcmVwbGFjZWQgdXNpbmcgZG9jdW1lbnQub3Blbi4KKworVGhpcyBwYWdlIHNob3VsZCBi
ZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBmcmFtZSBiZWxvdy4gSXQgdGhlbiByZXBsYWNlcyB0aGUg
ZG9jdW1lbnQgaW4gdGhhdCBmcmFtZSB3aXRoIGEgZ3JlZW4gZG9jdW1lbnQuCisKK1RoZSB0ZXN0
IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byBwZXJmb3JtYW5jZS50aW1pbmcgYXJlIGNv
cnJlY3QgYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLgor
CisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyBjb25uZWN0
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBjb25uZWN0U3RhcnQg
aXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbnRlbnRMb2Fk
ZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21J
bnRlcmFjdGl2ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tTG9h
ZGluZyBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tYWluTG9va3Vw
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21haW5Mb29rdXBT
dGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZmV0Y2hTdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZWRpcmVjdEVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgcmVkaXJlY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgcmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRv
Y3VtZW50IG9wZW4uIAorUEFTUyByZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgcmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiAKK1BBU1MgdW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4gCitQQVNTIHVubG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X2RvY3VtZW50X29wZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDAyZTFmMWIxN2Vm
YWJhOTViMDA2MGFiZmM2Mjc5MzE5MDM0MjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT53aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nIGZvciBkeW5hbWljYWxseSBjcmVhdGVkIGRvY3VtZW50czwv
dGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDov
L3d3dy5taWNyb3NvZnQuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRl
cmZhY2UiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPgorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2Fj
aGUiPi8qCit7CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsKKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iCisgIH0sCisgICJjb25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4u
Ijoge30sCisgICJjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4i
OiB7fSwKKyAgImRvbUNvbXBsZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjog
e30sCisgICJkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1l
bnQgb3Blbi4iOiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21JbnRlcmFjdGl2ZSBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tTG9hZGluZyBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tYWluTG9va3VwRW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21haW5Mb29rdXBTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZmV0Y2hTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAibG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJsb2FkRXZlbnRTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAibmF2aWdhdGlvblN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZWRpcmVjdEVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVkaXJlY3RTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1l
IGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAidW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUg
YWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInVubG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fQorfQorKi88L3NjcmlwdD4KKzxzY3JpcHQ+Citz
ZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5h
bWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZwordGVzdF9uYW1lc3BhY2UoKTsKKwordmFy
IG9yaWdpbmFsVGltaW5nID0ge307Cit2YXIgZGlkT3BlbiA9IGZhbHNlOworCitmdW5jdGlvbiBv
bmxvYWRfdGVzdCgpIHsKKyAgaWYgKCFkaWRPcGVuKSB7CisgICAgc2V0VGltZW91dCh0ZXN0VGlt
aW5nV2l0aERvY3VtZW50T3BlbiwgMCk7CisgICAgZGlkT3BlbiA9IHRydWU7CisgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdFRpbWluZ1dpdGhEb2N1bWVudE9wZW4oKSB7CisgIHZhciBzdWJjb250ZW50
V2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRX
aW5kb3c7CisKKyAgaWYgKHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UgPT09IHVuZGVmaW5l
ZCkKKyAgeworICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMKKyAgICBkb25lKCk7CisgICAgcmV0
dXJuOworICB9CisgIAorICB2YXIgdGltaW5nID0gc3ViY29udGVudFdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmc7CisgIGZvciAoaSBpbiB0aW1pbmdBdHRyaWJ1dGVzKSB7CisgICAgb3JpZ2luYWxU
aW1pbmdbdGltaW5nQXR0cmlidXRlc1tpXV0gPSB0aW1pbmdbdGltaW5nQXR0cmlidXRlc1tpXV07
CisgIH0KKworICB2YXIgc3ViZG9jdW1lbnQgPSBzdWJjb250ZW50V2luZG93LmRvY3VtZW50Owor
ICBzdWJkb2N1bWVudC5vcGVuKCk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8IURPQ1RZUEUgSFRN
TD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxodG1sPicpOworICBzdWJkb2N1bWVudC53cml0
ZSgnPGhlYWQ+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzx0aXRsZT48R3JlZW4gVGVzdCBQYWdlPC90aXRs
ZT4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwvaGVhZD4nKTsKKyAgc3ViZG9jdW1lbnQud3Jp
dGUoJzxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4nKTsKKyAgc3ViZG9j
dW1lbnQud3JpdGUoJzwvYm9keT4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwvaHRtbD4nKTsK
KyAgc3ViZG9jdW1lbnQuY2xvc2UoKTsKKworICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
IHZhciB0aW1pbmcgPSBzdWJjb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsKKyAgICBm
b3IgKHZhciBpIGluIHRpbWluZ0F0dHJpYnV0ZXMpIHsKKyAgICAgIHRlc3RfZXF1YWxzKHRpbWlu
Z1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSwKKyAgICAgICAgICAgICAgICAgIG9yaWdpbmFsVGltaW5n
W3RpbWluZ0F0dHJpYnV0ZXNbaV1dLAorICAgICAgICAgICAgICAgICAgdGltaW5nQXR0cmlidXRl
c1tpXSArICIgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iKTsKKyAgICB9CisgICAg
ZG9uZSgpOworICB9LCAwKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVz
Y3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nIHJlbWFpbnMgY29uc3RhbnQgd2hlbiBhCitkb2N1bWVudCBpcyByZXBsYWNlZCB1c2lu
ZyBkb2N1bWVudC5vcGVuLjwvcD4KKworPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0
aCBhIHllbGxvdyBmcmFtZSBiZWxvdy4gSXQgdGhlbiByZXBsYWNlcyB0aGUKK2RvY3VtZW50IGlu
IHRoYXQgZnJhbWUgd2l0aCBhIGdyZWVuIGRvY3VtZW50LjwvcD4KKworPHA+VGhlIHRlc3QgcGFz
c2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHBlcmZvcm1hbmNlLnRpbWluZyBhcmUgY29ycmVj
dCBhbmQKK3RoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLjwvcD4K
KworPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxiciAvPgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxh
bmtfcGFnZV95ZWxsb3cuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9k
b2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9j
dW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGEzMzcxYTgx
ZTE5NTEzMjU3NGJjNWU0NzA4Yzk3MTQxYjI3YzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlICJsb2Fk
aW5nIiwgImludGVyYWN0aXZlIiBhbmQgImNvbXBsZXRlIiBkb2N1bWVudC5yZWFkeVN0YXRlIHN0
YXRlcyBhcmUgYXZhaWxhYmxlIGR1cmluZyBhIG5hdmlnYXRpb24uCisKK1JlZnJlc2ggdGhpcyBw
YWdlIHRvIGd1YXJhbnRlZSBhbGwgcmVhZHlTdGF0ZSBwaGFzZXMuCisKKworUEFTUyBEb2N1bWVu
dCByZWFkaW5lc3MgaGFzIGxvYWRpbmcgc3RhdGUuIAorUEFTUyBEb2N1bWVudCByZWFkaW5lc3Mg
aGFzIGludGVyYWN0aXZlIHN0YXRlLiAKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBjb21w
bGV0ZSBzdGF0ZS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRp
bmVzc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjJjYTQyNTQwZTFlNzRlNzk2YTNjZjEzNTc3NWYxODVjODk0OWNh
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X2RvY3VtZW50X3JlYWRpbmVzc19l
eGlzdC5odG1sCkBAIC0wLDAgKzEsNTggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0K
KzxoZWFkPg0KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgPHRpdGxlPmRvY3Vt
ZW50LnJlYWR5U3RhdGUgdmFsdWVzIGV4aXN0IGR1cmluZyBhIG5hdmlnYXRpb248L3RpdGxlPg0K
KyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3
dy5taWNyb3NvZnQuY29tLyIgLz4NCisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9odG1sNS9kb20uaHRtbCNyZXNvdXJjZS1tZXRhZGF0YS1tYW5hZ2VtZW50
Ii8+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2Vz
L3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyA8c2NyaXB0
IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBs
b2FkaW5nIHN0YXRlLiI6IHt9LA0KKyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMgaW50ZXJhY3Rp
dmUgc3RhdGUuIjoge30sDQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBjb21wbGV0ZSBzdGF0
ZS4iOiB7fQ0KK30NCisqLzwvc2NyaXB0PiAgIA0KKyAgICA8c2NyaXB0Pg0KKyAgICAgICAgc2V0
dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOw0KKyAgICAgICAgdmFyIGhhc19sb2FkaW5nID0g
KGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImxvYWRpbmciKTsNCisgICAgICAgIHZhciBoYXNfaW50
ZXJhY3RpdmUgPSAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiaW50ZXJhY3RpdmUiKTsNCisgICAg
ICAgIHZhciBoYXNfY29tcGxldGUgPSAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiY29tcGxldGUi
KTsNCisNCisgICAgICAgIGRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkN
CisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAibG9h
ZGluZyIpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBoYXNfbG9hZGluZyA9IHRy
dWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRl
ID09ICJpbnRlcmFjdGl2ZSIpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBoYXNf
aW50ZXJhY3RpdmUgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBpZiAoZG9j
dW1lbnQucmVhZHlTdGF0ZSA9ICJjb21wbGV0ZSIpDQorICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICBoYXNfY29tcGxldGUgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH07
DQorDQorICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICB7DQorICAgICAg
ICAgICAgdGVzdF90cnVlKGhhc19sb2FkaW5nLCAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBsb2Fk
aW5nIHN0YXRlLiIpOw0KKyAgICAgICAgICAgIHRlc3RfdHJ1ZShoYXNfaW50ZXJhY3RpdmUsICJE
b2N1bWVudCByZWFkaW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiIpOw0KKyAgICAgICAgICAg
IHRlc3RfdHJ1ZShoYXNfY29tcGxldGUsICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGNvbXBsZXRl
IHN0YXRlLiIpOw0KKyAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgIH0NCisgICAgPC9zY3Jp
cHQ+DQorDQorPC9oZWFkPg0KKzxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICA8
aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhl
ICJsb2FkaW5nIiwgImludGVyYWN0aXZlIiBhbmQgImNvbXBsZXRlIg0KKyAgICAgICBkb2N1bWVu
dC5yZWFkeVN0YXRlIHN0YXRlcyBhcmUgYXZhaWxhYmxlIGR1cmluZyBhIG5hdmlnYXRpb24uPC9w
Pg0KKyAgICA8cD5SZWZyZXNoIHRoaXMgcGFnZSB0byBndWFyYW50ZWUgYWxsIHJlYWR5U3RhdGUg
cGhhc2VzLjwvcD4NCisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCis8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dpdGhpbl9kb2N1bWVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVk
L25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNDVmODRhMjhhYjBkOTMwMzdkZTM5NzU1ZTRhMGYyNmIy
MWFkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0ZV93aXRoaW5f
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcgYXR0cmlidXRlcyByZW1haW4gdW5jaGFuZ2VkIGFmdGVyIGFuIGluIGRvY3VtZW50IG5hdmln
YXRpb24gKFVSTCBmcmFnbWVudCBjaGFuZ2UpLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAK
K1BBU1MgY29ubmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmln
YXRpb24uIAorUEFTUyBkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9t
SW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQ
QVNTIGRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4g
CitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZp
Z2F0aW9uLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9j
dW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGZldGNoU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRl
ciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIG5hdmlnYXRpb25TdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgcmVkaXJlY3RF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlZGly
ZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNT
IHJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAK
K1BBU1MgcmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlv
bi4gCitQQVNTIHJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4gCitQQVNTIHVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3Vt
ZW50IG5hdmlnYXRpb24uIAorUEFTUyB1bmxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9u
YXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRlX3dp
dGhpbl9kb2N1bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1YTJjZTdlNjIzM2QzZGRhNmVkNGViNWVm
YTk1N2M4ODhhZGNlYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0
ZV93aXRoaW5fZG9jdW1lbnQuaHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiID4KKyAg
ICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbjwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBo
cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorIAk8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10
aW1pbmctaW50ZXJmYWNlIi8+CisJPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKgoreworICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwKKyAgICAiYXNzZXJ0Ijog
IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsCisgICAgImF1dGhvciI6ICJX
M0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
ZyBpcyBkZWZpbmVkIjogeworICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsCisgICAgImFz
c2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rp
bmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLAorICAgICJhdXRo
b3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIKKyAgfSwKKyAgImNvbm5lY3RFbmQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImNvbm5lY3RTdGFy
dCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9t
Q29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVu
dCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbUludGVyYWN0
aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJk
b21Mb2FkaW5nIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30s
CisgICJkb21haW5Mb29rdXBFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJmZXRjaFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVy
IGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJsb2FkRXZlbnRFbmQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImxvYWRFdmVudFN0YXJ0
IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJuYXZp
Z2F0aW9uU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7
fSwKKyAgInJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIjoge30sCisgICJyZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50
IG5hdmlnYXRpb24uIjoge30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZXNwb25zZVN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJ1bmxvYWRFdmVu
dEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAi
dW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiI6IHt9Cit9CisqLzwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGgxPkRlc2NyaXB0aW9uPC9oMT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIHJlbWFpbiB1
bmNoYW5nZWQgYWZ0ZXIgYW4gaW4gZG9jdW1lbnQgbmF2aWdhdGlvbiAoVVJMIGZyYWdtZW50IGNo
YW5nZSkuPC9wPgorCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisgICAgICAg
ICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVz
dGluZworICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOworCisgICAgICAgICAg
ICB2YXIgdGltaW5nOworCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja190aW1pbmdfbm90X2No
YW5nZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJpYnV0ZXNbaV07CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0eV0sIGluaXRpYWxfdGlt
aW5nW3Byb3BlcnR5XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg
KyAiIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIik7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgdmFyIGluaXRpYWxfdGltaW5nID0ge307CisgICAgICAgICAgICBmdW5jdGlvbiBz
YXZlX3RpbWluZ19hZnRlcl9sb2FkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRy
aWJ1dGVzW2ldOworICAgICAgICAgICAgICAgICAgICBpbml0aWFsX3RpbWluZ1twcm9wZXJ0eV0g
PSB0aW1pbmdbcHJvcGVydHldOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB3
aW5kb3cubG9jYXRpb24uaHJlZiA9ICIjMSI7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgi
Y2hlY2tfdGltaW5nX25vdF9jaGFuZ2VkKCkiLCAwKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnVuY3Rpb24gbG9hZF9oYW5kbGVyKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMKKyAgICAg
ICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdGltaW5nID0gcGVy
Zm9ybWFuY2VOYW1lc3BhY2UudGltaW5nOworICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLCBsb2FkX2hhbmRsZXIpOworICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoInNhdmVfdGltaW5nX2FmdGVyX2xvYWQoKSIsIDApOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGxvYWRfaGFuZGxlciwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNf
ZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVz
X2V4aXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGQ1NjFmNTgwMGZiZjU0ZmI4MGY0MDMy
MDMyNzAwNzEwYjkwZWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdh
dGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitEZXNj
cmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbiBhdHRyaWJ1dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRh
dGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlz
IGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQg
aXMgZGVmaW5lZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0
cmlidXRlc19leGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVz
X2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFiMWM5ZDI2MGY2YTQyMWFmYzRjZTZhNTU3MGI5MDI1
NmUyOWQ3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fYXR0
cmlidXRlc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNDEgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0K
KzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCisg
ICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBhdHRyaWJ1dGVzPC90
aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVm
PSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1p
bmZvLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIv
bmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisg
ICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBh
IGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAg
ICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6
Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNl
LWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRy
aWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0
cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAg
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIGlzIGRlZmluZWQuIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBpcyBk
ZWZpbmVkLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+
DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gYXR0
cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFy
ZSBjb3JyZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKw0KKyAg
ICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQor
DQorICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMoJ25hdmlnYXRpb24nLCAndHlwZScpOw0K
KyAgICAgICAgdGVzdF9hdHRyaWJ1dGVfZXhpc3RzKCduYXZpZ2F0aW9uJywgJ3JlZGlyZWN0Q291
bnQnKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWFmZjY0YmJlZjViMGY4MDI5NTU5Mjc4MjQwYzY4NmJk
ZWMxZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl9yZWRp
cmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9u
CisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgYXR0cmlidXRlLCBhcyB3ZWxsIGFzIHRo
ZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0RW5k
IGF0dHJpYnV0ZXMgb24gYSBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uLgorCisKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5yZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1y
ZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRpbWluZy5yZWRpcmVjdEVuZCBvbiBhbiBub24t
cmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgb24g
YW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25h
dmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZmMTk0OTQ5MWI0
NGFhZWU4M2UzNzlhNWFmZGY5ZmI1NjliMDJkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25lLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBhIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb248
L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhy
ZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9u
LXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIs
DQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlk
ZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwN
CisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2Ug
YXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVk
IGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIN
CisgIH0sDQorICAidGltaW5nLnJlZGlyZWN0U3RhcnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2
aWdhdGlvbiI6IHt9LA0KKyAgInRpbWluZy5yZWRpcmVjdEVuZCBvbiBhbiBub24tcmVkaXJlY3Rl
ZCBuYXZpZ2F0aW9uIjoge30sDQorICAibmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5v
bi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfQ0KK30N
CisqLzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRl
c2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
dmFsdWUgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQg
YXR0cmlidXRlLCBhcyB3ZWxsIGFzIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0U3RhcnQgYW5kIHJlZGlyZWN0RW5kIGF0dHJpYnV0ZXMgb24gYSBub24tcmVkaXJlY3RlZCBu
YXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAg
ICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisN
CisgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkKQ0KKyAgICAg
ICAgew0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0LCAwLCAndGltaW5nLnJlZGlyZWN0U3RhcnQgb24gYW4gbm9uLXJlZGly
ZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNl
TmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCBvbiBh
biBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50LCAwLCAnbmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24nLHtoZWxw
OiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
aW5mby1pbnRlcmZhY2UifSk7DQorICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAg
PC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9u
X3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlv
bl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTAyNGRjZmQ4NDdk
Zjk2YzIyODFmMGU2NDI3YTdmOWZhNzFlM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIzIEBACitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykK
K2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJhbWUg
ImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVD
b250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK0Rlc2NyaXB0aW9uCisKK1RoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9u
LnR5cGUgd2l0aCBhIGZvcndhcmQgYW5kIGJhY2sgbmF2aWdhdGlvbi4KKworVGhpcyBwYWdlIHNo
b3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiBJdCBz
aG91bGQgdHVybiBncmVlbiBmb3IgYSBzdGFydGluZyBuYXZpZ2F0aW9uLCBiYWNrIHRvIHllbGxv
dyBmb3IgYSBiYWNrIG5hdmlnYXRpb24gYW5kIHRoZW4gYmFjayB0byBncmVlbiBhZ2FpbiBmb3Ig
YSBmb3J3YXJkIG5hdmlnYXRpb24uCisKK0Fsb25nIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIHRo
ZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2UudHlwZSBpcyBjaGVja2VkIGZvciBUWVBFX0JBQ0tf
Rk9SV0FSRC4KKworVGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUg
bmF2aWdhdGlvbi50eXBlIGFyZSBjb3JyZWN0IHRocm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2Nl
bmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiBP
dGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05B
VklHQVRFIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
QkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuYmFjaygpIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuZm9y
d2FyZCgpIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFj
a2ZvcndhcmQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9iYWNrZm9yd2Fy
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmUyZGUzZTFhNWExMGQ5ZmVlZTg5NDVlNDZiOTJmOTJlNTFiOWU0
YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFj
a2ZvcndhcmQuaHRtbApAQCAtMCwwICsxLDExMyBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0
bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAg
ICAgICA8dGl0bGU+d2luZG93Lm5hdmlnYXRpb24udHlwZSBmb3IgYmFjayBhbmQgZm9yd2FyZCBu
YXZpZ2F0aW9uczwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1p
Y3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2Nh
Y2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRl
ZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQi
OiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFy
ZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6
ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3Rvcnku
YmFjaygpIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBU
WVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmZvcndhcmQoKSI6IHt9DQorfQ0KKyovPC9z
Y3JpcHQ+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9k
b25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1l
c3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFj
ZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkN
CisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFj
ZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAg
ICAvLyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAg
ICAgICAgICAgICAgLy8gZG8gdGhpcyB3aXRoIGEgdGltZW91dCB0byBzZWUgdGhlIHZpc3VhbHMg
b2YgdGhlIG5hdmlnYXRpb25zLg0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJuYXZfZnJh
bWUoKTsiLCAxMDApOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICB2YXIgc3RlcCA9
IDE7DQorICAgICAgICAgICAgZnVuY3Rpb24gbmF2X2ZyYW1lKCkNCisgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgIHZhciBuYXZpZ2F0aW9uX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3c7DQorICAgICAgICAgICAgICAgIHN3
aXRjaCAoc3RlcCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgY2Fz
ZSAxOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5h
dmlnYXRpb25fZnJhbWUubG9jYXRpb24uaHJlZiA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2Js
YW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVubG9hZC5odG0nOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAg
ICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0aW9u
X2ZyYW1lLnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FU
RSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUnKTsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmhpc3RvcnkuYmFjaygpOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAg
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoNCisgICAgICAgICAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0
aW9uX2ZyYW1lLnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9CQUNL
X0ZPUldBUkQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5
LmJhY2soKScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmhpc3RvcnkuZm9yd2FyZCgpOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAg
ICAgICAgICAgICAgICAgY2FzZSA0Og0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBl
ID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuZm9yd2FyZCgpJyk7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAr
KzsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAg
IH0NCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAgICA8
L3NjcmlwdD4NCisNCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT4NCisg
ICAgICAgICAgICBEZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD4NCisgICAgICAgICAgICBU
aGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi50eXBlIHdpdGggYSBmb3J3YXJkDQorICAgICAgICAgICAgYW5kIGJhY2sgbmF2aWdhdGlv
bi48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEg
eWVsbG93IGJhY2tncm91bmQgZnJhbWUgYmVsb3cuICBJdCBzaG91bGQgdHVybiBncmVlbiBmb3Ig
YSBzdGFydGluZw0KKyAgICAgICAgICAgIG5hdmlnYXRpb24sIGJhY2sgdG8geWVsbG93IGZvciBh
IGJhY2sgbmF2aWdhdGlvbiBhbmQgdGhlbiBiYWNrIHRvIGdyZWVuIGFnYWluIGZvciBhIGZvcndh
cmQgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8cD5BbG9uZyB0aGUgbmF2aWdhdGlvbiB0
aW1lbGluZSB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnR5cGUgaXMgY2hlY2tlZCBmb3Ig
VFlQRV9CQUNLX0ZPUldBUkQuPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBp
ZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUgbmF2aWdhdGlvbi50eXBlIGFyZSBjb3JyZWN0IHRo
cm91Z2hvdXQgdGhlIG5hdmlnYXRpb24NCisgICAgICAgICAgICBzY2VuYXJpbyBhbmQgdGhlIGZy
YW1lIGJlbG93IGVuZHMgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQuICBPdGhlcndpc2UsIHRoaXMg
dGVzdCBmYWlscy48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAg
ICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25s
b2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxv
d193aXRoX29udW5sb2FkLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsi
PjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVtcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZDhhMTgz
M2Y0NDJmMWI5YWJiODQ0ZTkyZTNjZWU0M2U0M2IyODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTYgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgVFlQRV8q
IGVudW1lcmF0aW9ucyBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBleGlzdCBhbmQg
dGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0LgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlz
IGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUg
PSAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCBpcyBk
ZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQg
PSAxIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FS
RCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9C
QUNLX0ZPUldBUkQgPSAyIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBF
X1JFU0VSVkVEIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi5UWVBFX1JFU0VSVkVEID0gMjU1IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZp
Z2F0aW9uX3R5cGVfZW51bXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9l
bnVtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkMDAxODdjMGMwYzZkZGQxMjJmMTU4MWExYzNiZGIzZWYx
NjViMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVf
ZW51bXMuaHRtbApAQCAtMCwwICsxLDQ5IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4N
CisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAg
IDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBlbnVtczwvdGl0bGU+DQorICAg
ICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3
dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZh
Y2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgPHNjcmlw
dCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBk
ZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0
IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3Ii
OiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgaXMgZGVmaW5lZC4iOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFID0gMCI6
IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEIGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxP
QUQgPSAxIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNL
X0ZPUldBUkQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCA9IDIiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRVNFUlZFRCA9IDI1NSI6IHt9DQorfQ0KKyovPC9z
Y3JpcHQ+DQorICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlv
bjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFRZUEVfKiBl
bnVtZXJhdGlvbnMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gZXhpc3QgYW5kIHRo
ZWlyIHZhbHVlcyBhcmUgY29ycmVjdC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwv
ZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZp
Z2F0aW9uJyk7DQorDQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9OQVZJ
R0FURScsIDApOw0KKyAgICAgICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfUkVMT0FE
JywgMSk7DQorICAgICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9CQUNLX0ZPUldB
UkQnLCAyKTsNCisgICAgICAgIHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX1JFU0VSVkVE
JywgMjU1KTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjNkMTkzNDgyMjI5MDFiYTFhZWY0MGNiN2QwYzI1Yjk0OGY4YWQwZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhlIHZhbHVlIG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgYW5k
IHRoZSB2YWx1ZXMgb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSByZWxvYWRl
ZCBuYXZpZ2F0aW9uLgorCitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4g
YmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSBy
ZWxvYWRlZCBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0CisKK1RoZSB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbi50eXBlID0gVFlQRV9SRUxPQUQKK0FsbCBvZiB0aGUgd2lkb3cucGVyZm9ybWFu
Y2UudGltaW5nLiogdmFsdWVzIGFmdGVyIHJlbG9hZCBhcmUgPiBhbGwgb2YgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuKiB2YWx1ZXMgcHJpb3IgdG8gcmVsb2FkLgorCisKKworUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24u
dHlwZSA9PSBUWVBFX1JFTE9BRCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0gCitQQVNTIFJlbG9hZCBj
b25uZWN0RW5kID4gT3JpZ2luYWwgY29ubmVjdEVuZCAKK1BBU1MgUmVsb2FkIGNvbm5lY3RTdGFy
dCA+IE9yaWdpbmFsIGNvbm5lY3RTdGFydCAKK1BBU1MgUmVsb2FkIGRvbUNvbXBsZXRlID4gT3Jp
Z2luYWwgZG9tQ29tcGxldGUgCitQQVNTIFJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQg
PiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCBkb21Db250
ZW50TG9hZGVkRXZlbnRTdGFydCA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0
IAorUEFTUyBSZWxvYWQgZG9tSW50ZXJhY3RpdmUgPiBPcmlnaW5hbCBkb21JbnRlcmFjdGl2ZSAK
K1BBU1MgUmVsb2FkIGRvbUxvYWRpbmcgPiBPcmlnaW5hbCBkb21Mb2FkaW5nIAorUEFTUyBSZWxv
YWQgZG9tYWluTG9va3VwRW5kID4gT3JpZ2luYWwgZG9tYWluTG9va3VwRW5kIAorUEFTUyBSZWxv
YWQgZG9tYWluTG9va3VwU3RhcnQgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBTdGFydCAKK1BBU1Mg
UmVsb2FkIGZldGNoU3RhcnQgPiBPcmlnaW5hbCBmZXRjaFN0YXJ0IAorUEFTUyBSZWxvYWQgbG9h
ZEV2ZW50RW5kID4gT3JpZ2luYWwgbG9hZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQgbG9hZEV2ZW50
U3RhcnQgPiBPcmlnaW5hbCBsb2FkRXZlbnRTdGFydCAKK1BBU1MgUmVsb2FkIG5hdmlnYXRpb25T
dGFydCA+IE9yaWdpbmFsIG5hdmlnYXRpb25TdGFydCAKK1BBU1MgUmVsb2FkIHJlZGlyZWN0RW5k
ID09IE9yaWdpbmFsIHJlZGlyZWN0RW5kIAorUEFTUyBSZWxvYWQgcmVkaXJlY3RTdGFydCA9PSBP
cmlnaW5hbCByZWRpcmVjdFN0YXJ0IAorUEFTUyBSZWxvYWQgcmVxdWVzdFN0YXJ0ID4gT3JpZ2lu
YWwgcmVxdWVzdFN0YXJ0IAorUEFTUyBSZWxvYWQgcmVzcG9uc2VFbmQgPiBPcmlnaW5hbCByZXNw
b25zZUVuZCAKK1BBU1MgUmVsb2FkIHJlc3BvbnNlU3RhcnQgPiBPcmlnaW5hbCByZXNwb25zZVN0
YXJ0IAorUEFTUyBSZWxvYWQgdW5sb2FkRXZlbnRFbmQgPiBPcmlnaW5hbCB1bmxvYWRFdmVudEVu
ZCAKK1BBU1MgUmVsb2FkIHVubG9hZEV2ZW50U3RhcnQgPiBPcmlnaW5hbCB1bmxvYWRFdmVudFN0
YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2Fk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWwvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWUyYmE1ZjU2ZWZhNjg2YWU2NGVlYmYzNjhlNzc3MDBjMWI2NGMxZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRtbApAQCAt
MCwwICsxLDE0NCBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0K
KyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbjwv
dGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJl
Zj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24t
dGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0
IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MiIC8+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0K
K3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8i
DQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi50eXBlID09IFRZUEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSI6IHt9LA0KKyAgIlJl
bG9hZCBjb25uZWN0RW5kKDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgY29ubmVjdEVuZCgxMzQw
Mzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBjb25uZWN0U3RhcnQoMTM0MDM3NjA3MDI5NSkg
PiBPcmlnaW5hbCBjb25uZWN0U3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQg
ZG9tQ29tcGxldGUoMTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21Db21wbGV0ZSgxMzQwMzc2
MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3
NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3NjA3MDE3
OSkiOiB7fSwNCisgICJSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQoMTM0MDM3NjA3
MDMwMCkgPiBPcmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgxMzQwMzc2MDcwMTc5
KSI6IHt9LA0KKyAgIlJlbG9hZCBkb21JbnRlcmFjdGl2ZSgxMzQwMzc2MDcwMzAwKSA+IE9yaWdp
bmFsIGRvbUludGVyYWN0aXZlKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUxv
YWRpbmcoMTM0MDM3NjA3MDI5OSkgPiBPcmlnaW5hbCBkb21Mb2FkaW5nKDEzNDAzNzYwNzAxNzgp
Ijoge30sDQorICAiUmVsb2FkIGRvbWFpbkxvb2t1cEVuZCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdp
bmFsIGRvbWFpbkxvb2t1cEVuZCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBkb21h
aW5Mb29rdXBTdGFydCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGRvbWFpbkxvb2t1cFN0YXJ0
KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGZldGNoU3RhcnQoMTM0MDM3NjA3MDI5
MCkgPiBPcmlnaW5hbCBmZXRjaFN0YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2Fk
IGxvYWRFdmVudEVuZCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGxvYWRFdmVudEVuZCgxMzQw
Mzc2MDcwMTc5KSI6IHt9LA0KKyAgIlJlbG9hZCBsb2FkRXZlbnRTdGFydCgxMzQwMzc2MDcwMzAw
KSA+IE9yaWdpbmFsIGxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVs
b2FkIG5hdmlnYXRpb25TdGFydCgxMzQwMzc2MDcwMjkwKSA+IE9yaWdpbmFsIG5hdmlnYXRpb25T
dGFydCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdEVuZCgwKSA9PSBP
cmlnaW5hbCByZWRpcmVjdEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdFN0YXJ0KDAp
ID09IE9yaWdpbmFsIHJlZGlyZWN0U3RhcnQoMCkiOiB7fSwNCisgICJSZWxvYWQgcmVxdWVzdFN0
YXJ0KDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgcmVxdWVzdFN0YXJ0KDEzNDAzNzYwNzAxNjQp
Ijoge30sDQorICAiUmVsb2FkIHJlc3BvbnNlRW5kKDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwg
cmVzcG9uc2VFbmQoMTM0MDM3NjA3MDE3NCkiOiB7fSwNCisgICJSZWxvYWQgcmVzcG9uc2VTdGFy
dCgxMzQwMzc2MDcwMjk2KSA+IE9yaWdpbmFsIHJlc3BvbnNlU3RhcnQoMTM0MDM3NjA3MDE2NCki
OiB7fSwNCisgICJSZWxvYWQgdW5sb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5h
bCB1bmxvYWRFdmVudEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCB1bmxvYWRFdmVudFN0YXJ0KDEz
NDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRTdGFydCgwKSI6IHt9DQorfQ0KKyov
PC9zY3JpcHQ+ICAgICAgIA0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7
ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVz
dCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAgICAgdGVz
dF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB2YXIgcmVsb2FkX2ZyYW1l
Ow0KKyAgICAgICAgICAgIHZhciBzdGFydGluZ1RpbWU7DQorDQorICAgICAgICAgICAgZnVuY3Rp
b24gZGVlcENvcHkocCwgYykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBj
ID0gYyB8fCB7fTsNCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBwKQ0KKyAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBbaV0gPT09ICdvYmpl
Y3QnKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNb
aV0gPSAocFtpXS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpID8gW10gOiB7fTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBkZWVwQ29weShwW2ldLCBjW2ldKTsNCisgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSBjW2ldID0gcFtpXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAg
ICByZXR1cm4gYzsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgDQorICAgICAgICAg
ICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgcmVsb2FkX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIp
Ow0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7DQor
ICAgICAgICAgICAgICAgICAgLyogTmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBs
b2FkRXZlbnRFbmQNCisgICAgICAgICAgICAgICAgICAgICB1bnRpbCBhZnRlciB0aGUgbG9hZCBl
dmVudCBoYXMgZmluaXNoZWQgZmlyaW5nICovDQorCQkgICAgc2V0VGltZW91dChkb190ZXN0LCAw
KTsNCisJCX0NCisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgicmVsb2FkX3RoZV9mcmFtZSgp
OyIsIDEwMCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlbG9h
ZF90aGVfZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy9CZWZvcmUg
cmVsb2FkaW5nLCBzYXZlIHRoZSBjdXJyZW50IHRpbWluZw0KKyAgICAgICAgICAgICAgICBzdGFy
dGluZ1RpbWUgPSBkZWVwQ29weShyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcpOw0KKyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5s
b2NhdGlvbi5yZWxvYWQodHJ1ZSk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1
bmN0aW9uIGRvX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2Fk
X2ZyYW1lLm9ubG9hZCA9IG51bGw7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5h
bWVzcGFjZSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy9WZXJp
ZnkgdGhhdCB0aGUgbmF2aWdhdGlvbiB0eXBlIGhhcyB1cGRhdGVkIHRvIHJlbG9hZA0KKyAgICAg
ICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
ZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FELA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBU
WVBFX1JFTE9BRCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0nKTsNCisNCisgICAgICAgICAgICAgICAg
ICAgIC8vVmVyaWZ5IHRoYXQgdGhlIHRpbWluZyBkYXRhIGhhcyBiZWVuIHVwZGF0ZWQgaW50byB0
aGUgZnV0dXJlDQorICAgICAgICAgICAgICAgICAgICB2YXIgcmVsb2FkVGltZSA9IHJlbG9hZF9m
cmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisgICAgICAgICAgICAgICAg
ICAgIGZvciAoYXR0cmlidXRlIGluIHRpbWluZ0F0dHJpYnV0ZXMpDQorICAgICAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpbWUgPSB0aW1pbmdBdHRyaWJ1
dGVzW2F0dHJpYnV0ZV07DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbG9hZFRpbWVb
dGltZV0gPT09IDApDQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRUaW1lW3RpbWVdLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZ1RpbWVbdGltZV0sDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZWxvYWQgIiArIHRpbWUgICsNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiA9PSAiICsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9yaWdpbmFsICIgKyB0aW1lICk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UN
CisgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfZ3JlYXRlcl90aGFuKHJlbG9hZFRpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGltZSAg
Kw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID4gIiAr
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcmlnaW5h
bCAiICsgdGltZSApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7
DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAg
PGJvZHkgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248
L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBhbmQgdGhlIHZhbHVlcyBvZg0KKyAgICAgICAg
ICAgIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuKiB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlv
bi48L3A+DQorDQorICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEg
Z3JlZW4gYmFja2dyb3VuZCBmcmFtZSBiZWxvdy4gIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRp
Y2FsbHkgcmVsb2FkZWQNCisgICAgICAgIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQgDQorICAgICAg
ICA8dWw+DQorICAgICAgICAgICAgPGxpPlRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi50eXBlID0gVFlQRV9SRUxPQUQ8L2xpPg0KKyAgICAgICAgICAgIDxsaT5BbGwgb2YgdGhlIHdp
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHZhbHVlcyBhZnRlciByZWxvYWQgYXJlID4gYWxsIG9m
IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzDQorICAgICAgICAgICAgICAg
IHByaW9yIHRvIHJlbG9hZC48L2xpPg0KKyAgICAgICAgPC91bD4NCisgICAgICAgIDwvcD4NCisN
CisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAg
IDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2Js
YW5rX3BhZ2VfZ3JlZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
bm9fcHJldmlvdXNfZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZmNlOWM1ZGMw
NjA0MGVhMmE5ZmZjOGUzOTYzZDBiYWNkMjliMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF9ub19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdW5sb2FkIGV2ZW50IHRp
bWVzIGFyZSAwIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgZG9jdW1lbnQuCisKKworCisKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMg
VFlQRV9OQVZJR0FURSAKK1BBU1MgdGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPT0gMCBvbiBuYXZp
Z2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQgCitQQVNTIHRpbWluZy51bmxvYWRFdmVu
dEVuZCA9PSAwIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3Rfbm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMyMjRjZTdiNDM4
YzAwOThjYzU0OGEyNDU4NDllNWU3YzcwNTMxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFE
T0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBh
dHRyaWJ1dGVzIG9uIGFuIGluaXRpYWwgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZp
Z2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRh
X2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisg
ICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13
aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93
LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9y
bWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8v
d3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlz
IGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRp
b24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3Nl
cnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5n
IGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhv
ciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcubmF2aWdhdGlv
bi50eXBlIGlzIFRZUEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisg
ICJ0aW1pbmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2
aW91cyBkb2N1bWVudCI6IHt9LA0KKyAgInRpbWluZy51bmxvYWRFdmVudEVuZCA9PSAwIG5hdmln
YXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQor
ICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmNzcyIgLz4NCisgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNl
dHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdmFyIGZyYW1lOw0K
KyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4
dCIpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAg
ICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UpDQorICAgICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgICAgIHRlc3RfdHJ1ZShmcmFtZS5jb250ZW50V2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0
aW9uLlRZUEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWlu
Zy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9
KTsNCisNCisgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQsIDAsICd0aW1pbmcudW5sb2Fk
RXZlbnRTdGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcp
Ow0KKyAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQsIDAsICd0aW1pbmcudW5sb2FkRXZlbnRF
bmQgPT0gMCBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQnKTsNCisgICAgICAg
ICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgPC9zY3JpcHQ+DQorICAgICAgICANCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxv
YWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAg
ICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB1bmxvYWQgZXZlbnQgdGltZXMgYXJlIDAg
d2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBkb2N1bWVudC48L3A+DQorDQorICAgICAgICA8ZGl2
IGlkPSJsb2ciPjwvZGl2PjxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxl
PSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1
dGVzX2V4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJp
YnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZDJkODY5ZTNjYjM5MDE2NDAy
NDZhNTU3M2QzZWNkNTczZTNkMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9w
ZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAK
K0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgbmF2aWdhdGlvbiBh
bmQgdGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgZm9yIHdpbmRvdy5wZXJmb3JtYW5jZSAoYnV0IGRv
ZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlz
IGRlZmluZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJp
YnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNf
ZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzE4YTlkOTY4NzVjMWUxNjlkMWI3OTU1NWE3MTU4YjRk
YzFjOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2Vi
cGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0K
KzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0K
KyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGVzPC90aXRsZT4NCisg
ICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8v
d3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyA8
c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4N
CisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGFuZCB0aW1pbmcgYXR0cmli
dXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1hbmNlIA0KKyAgICAgICAgKGJ1dCBkb2VzIG5v
dCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKyAgICAgICAg
PGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+ICAgICAgICAgICAgDQorICAg
ICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0
X25hbWVzcGFjZSgndGltaW5nJywgdHJ1ZSk7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9i
b2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9h
dHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF9w
ZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTZkOWZkNTRiNTdhNTBjOTQxNzNmYTA1Y2I1NGQzMjJiMDg0YjQ0OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5f
b2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVjdCBleGlzdHMg
aW4gYW4gb2JqZWN0IGVsZW1lbnQgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZh
bHVlcyBhcmUgY29ycmVjdCkuCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3Bl
cmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVz
dF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg1NTRiYzk3NTQ4MWIxZGRiZGIxMmYzYzlmN2QzMmUyYTgxZjU3MTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWwvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVj
dC5odG1sCkBAIC0wLDAgKzEsNDggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAg
ICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRp
dGxlPndpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgZXhpc3RzIGluIGFuIG9iamVjdDwvdGl0
bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0
cDovL3d3dy5nb29nbGUuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8
c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0
ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJv
dmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4g
IiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7DQorICAgICAgICAgICAg
dmFyIG9ialdpbmRvdyA9DQorICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvYmplY3RDb250ZXh0IikuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3Ow0KKyAgICAgICAg
ICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gb2JqV2luZG93LnBlcmZvcm1hbmNlOw0KKyAgICAg
ICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisgICAgICAgICAgICB0ZXN0X25hbWVz
cGFjZSgnbmF2aWdhdGlvbicsIHRydWUpOw0KKyAgICAgICAgICB9DQorICAgICAgICA8L3Njcmlw
dD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwv
aDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZSBvYmplY3QgZXhpc3RzIGluIGFuDQorICAgICAgICBvYmplY3QgZWxlbWVudCAoYnV0
IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQor
ICAgICAgICA8b2JqZWN0IGlkPSJvYmplY3RDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7
IiBkYXRhPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIj48L29i
amVjdD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgIDwvYm9keT4NCis8L2h0
bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4OWI5
NjRkNzBmOTY5NGRlYTVhYzE4NWMxZGY0Y2U2MGM0NDNkMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitEZXNj
cmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBvYmplY3QgaXMgcmVhZC93cml0ZS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSAKK1BBU1MgdmFy
IHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0
X3JlYWR3cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfcmVhZHdyaXRlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODMzNjYyNjViNWY1MDc0MDVlZTA0YzFhMzFiOTM4ZmYxNTNjNjk1MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbC90ZXN0X3JlYWR3cml0ZS5odG1sCkBAIC0wLDAgKzEsMzkgQEAKK++7
vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZSBpcyBy
ZWFkL3dyaXRlPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWlj
cm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
d2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIvPg0KKwk8bWV0YSBuYW1lPSJhc3NlcnQiIGNv
bnRlbnQ9IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGlu
ZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIvPg0KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2Nh
Y2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5k
b3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBl
cmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFu
Y2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3
LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyByZWFkL3dyaXRlIjog
e30sDQorICAidmFyIHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUiOiB7fQ0KK30NCisqLzwvc2Ny
aXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAg
ICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlzIHJlYWQvd3JpdGUuPC9wPg0KKyAg
ICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAg
ICAgdGVzdF9uYW1lc3BhY2UoKTsNCisNCisgICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2Ug
PSAnZm9vJzsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyh3aW5kb3cucGVyZm9ybWFuY2UsICdm
b28nLCAnd2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUnKTsNCisNCisgICAgICAgICAg
ICB2YXIgcGVyZm9ybWFuY2UgPSAnYmFyJzsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJm
b3JtYW5jZSwgJ2JhcicsICd2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZScpOw0KKyAgICAg
ICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sL3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1
YTE2YmYxYmFhZWVjNTdiYzgzNDk3NzBmMjYwMWU3Y2NlZGRmNzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFs
bCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGV4aXN0IChidXQg
ZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25u
ZWN0RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5l
Y3RTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21D
b21wbGV0ZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21D
b250ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgaXMgZGVmaW5lZC4gCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgaXMgZGVmaW5lZC4gCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgaXMgZGVmaW5l
ZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCBpcyBkZWZpbmVk
LiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgaXMgZGVmaW5l
ZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IGlz
IGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kIGlz
IGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQg
aXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5k
IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3Rh
cnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZl
bnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2Fk
RXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1
dGVzX2V4aXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0MzlkNTQxOTllMGQ0NjlhYzQ2NDJlMGNiY2M1
NGVlNzViZWJjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRy
aWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw2MSBAQAor77u/PCFET0NUWVBFIGh0bWw+DQor
PGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQor
ICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzPC90aXRs
ZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1p
bmctaW50ZXJmYWNlIi8+ICAgICAgICANCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0
ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJv
dmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4g
IiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0
dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1h
bmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBh
dHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQg
YXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0K
KyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCBpcyBk
ZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUg
aXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlIGlzIGRlZmluZWQuIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nIGlzIGRlZmluZWQu
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQgaXMg
ZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1
cFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5m
ZXRjaFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5sb2FkRXZlbnRFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kIGlzIGRlZmluZWQuIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0IGlzIGRlZmluZWQuIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgaXMgZGVmaW5lZC4i
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kIGlzIGRlZmlu
ZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0IGlz
IGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVu
dEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5s
b2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgIDwv
aGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAg
ICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBhdHRyaWJ1dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0
aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisNCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+
PC9kaXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3Rp
bWluZycpOw0KKw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVz
Lmxlbmd0aDsgKytpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfYXR0cmlidXRlX2V4
aXN0cygndGltaW5nJywgdGltaW5nQXR0cmlidXRlc1tpXSk7DQorICAgICAgICB9DQorICAgICAg
ICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMx
ZDgxODRkM2I3M2MxZGUzYjZlODhiMjQ0ZTA3YzJkNGIxZjRkNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDU4IEBACitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRs
ZXIocykKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIG9yZGVyaW5nIG9m
IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMuCisKK1RoaXMgcGFnZSBz
aG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdyB3aGlj
aCBjb250YWlucyBhbiB1bmxvYWQgZXZlbnQgaGFuZGxlci4KKworQWZ0ZXIgdGhlIHBhZ2UgbG9h
ZHMsIHRoZSBmcmFtZSBpcyBuYXZpZ2F0ZWQgdG8gYSBuZXcgYmxhbmsgcGFnZSB3aXRoIGEgZ3Jl
ZW4gYmFja2dyb3VuZC4gQXQgdGhpcyBwb2ludCwgdGhlIG5hdmlnYXRpb24gdGltZWxpbmUgaXMg
dmVyaWZpZWQKKworVGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUg
ZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFyZSBjb3JyZWN0IHRo
cm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2NlbmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRz
IHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy4KKwor
U2V0dXAKKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0ID09IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVk
aXJlY3RFbmQgPT0gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0
ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmZldGNoU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3Vw
RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQg
Pj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbWFpbkxvb2t1cEVuZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0
RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID49IHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVxdWVzdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVu
ZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID4gMCAKK1BB
U1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID49IHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlc3BvbnNlRW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNw
b25zZUVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmZldGNoU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3Rp
dmUgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0aXZlID49
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID49IHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29tcGxldGUgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250
ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2
ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0
YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudEVuZCA+IDAgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50RW5kID49IHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcudW5sb2FkRXZlbnRTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25T
dGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudEVuZCA+IDAg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPj0gd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0IAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3Rf
dGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWU5YjE4M2U4MTNlZDQ1
MDNhYmY3MzdkZmVlYjdhMWI0ZDNkNDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rl
c3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbApAQCAtMCwwICsxLDE2NyBAQAor77u/PCFE
T0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBh
dHRyaWJ1dGUgb3JkZXJpbmcgb24gYSBzaW1wbGUgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAg
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5t
aWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFj
ZSIvPiAgICAgICAgDQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIv
dzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1h
dHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmli
dXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJp
YnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLm5hdmlnYXRpb25TdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuZG9tYWluTG9va3VwU3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5kb21haW5Mb29rdXBTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNo
U3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVu
ZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVu
ZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0Ijoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgPiAwIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmNvbm5lY3RFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5jb25uZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0Ijog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgPiAwIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0U3RhcnQgPj0gd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5yZXNwb25zZVN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RT
dGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VFbmQgPiAw
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Mb2FkaW5nID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hT
dGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUg
PiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+
PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCA+IDAiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUiOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+IDAiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVu
ZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+IDAiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBsZXRlID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIjoge30sDQorICAid2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIjoge30sDQorICAid2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2Fk
RXZlbnRTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZl
bnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2
ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQiOiB7
fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50RW5kID4gMCI6IHt9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQgPj0gd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0Ijoge30NCit9DQorKi88L3Njcmlw
dD4gICAgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNp
dF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycp
Ow0KKw0KKyAgICAgICAgICAgIHZhciBzdGVwID0gMTsNCisgICAgICAgICAgICBmdW5jdGlvbiBv
bmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAoc3RlcCA9
PT0gMSAmJiB3aW5kb3cucGVyZm9ybWFuY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAg
ICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAg
ICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIHZhciBuYXZpZ2F0aW9uX2ZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnRXaW5kb3c7
DQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gbmF2aWdhdGlvbl9mcmFt
ZS5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAgICAgc3dpdGNoIChzdGVwKQ0KKyAgICAgICAg
ICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBjYXNlIDE6DQorICAgICAgICAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbl9mcmFtZS5sb2NhdGlv
bi5ocmVmID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0nOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgY2FzZSAy
Og0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
bmFtZXNwYWNlKCduYXZpZ2F0aW9uJywgdHJ1ZSk7DQorDQorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBUZXN0cw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vDQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9y
bWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisN
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBuYXZpZ2lhdGlvbiBtdXN0IGJlIG5vbi0wDQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0
aW9uU3RhcnQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBtdXN0IGJlIG5v
IHJlZGlyZWN0aW9uIGZvciB0aGlzIHRlc3QgY2FzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX2VxdWFscygncmVkaXJlY3RTdGFydCcsIDApOw0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RfdGltaW5nX2VxdWFscygncmVkaXJlY3RFbmQnLCAwKTsNCisNCisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyB2YWxpZGF0ZSBhdHRyaWJ1dGUgb3JkZXJpbmcNCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZmV0Y2hTdGFydCcsICduYXZp
Z2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRl
cignZG9tYWluTG9va3VwU3RhcnQnLCAnZmV0Y2hTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21haW5Mb29rdXBFbmQnLCAnZG9tYWluTG9va3Vw
U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignY29u
bmVjdFN0YXJ0JywgJ2RvbWFpbkxvb2t1cEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdjb25uZWN0RW5kJywgJ2Nvbm5lY3RTdGFydCcpOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZXF1ZXN0U3RhcnQnLCAnY29u
bmVjdEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdy
ZXNwb25zZVN0YXJ0JywgJ3JlcXVlc3RTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdyZXNwb25zZUVuZCcsICdyZXNwb25zZVN0YXJ0Jyk7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2RvbUxvYWRpbmcnLCAnZmV0
Y2hTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdk
b21JbnRlcmFjdGl2ZScsICdyZXNwb25zZUVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCcsICdkb21JbnRl
cmFjdGl2ZScpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdk
b21Db250ZW50TG9hZGVkRXZlbnRFbmQnLCAnZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnKTsN
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tQ29tcGxldGUn
LCAnZG9tQ29udGVudExvYWRlZEV2ZW50RW5kJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdF90aW1pbmdfb3JkZXIoJ2xvYWRFdmVudFN0YXJ0JywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVu
dEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdsb2Fk
RXZlbnRFbmQnLCAnbG9hZEV2ZW50U3RhcnQnKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBzZXR1cCByZXF1aXJlcyB0aGUgZnJhbWUgdG8gaGF2ZSBhIHByZXZpb3VzIHBhZ2Ugd2l0
aCBhbiBvbnVubG9hZCBldmVudCBoYW5kbGVyLg0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RfdGltaW5nX29yZGVyKCd1bmxvYWRFdmVudFN0YXJ0JywgJ25hdmlnYXRpb25TdGFydCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCd1bmxvYWRFdmVudEVu
ZCcsICd1bmxvYWRFdmVudFN0YXJ0Jyk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgc3Rl
cCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAg
ICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBvcmRlcmluZyBvZiB0aGUgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZyBhdHRyaWJ1dGVzLjwvcD4NCisNCisgICAgICAgIDxwPlRoaXMgcGFnZSBzaG91
bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dyb3VuZCBmcmFtZSBiZWxvdyB3aGljaCBj
b250YWlucyBhbiB1bmxvYWQgZXZlbnQNCisgICAgICAgICAgIGhhbmRsZXIuPC9wPg0KKw0KKyAg
ICAgICAgPHA+QWZ0ZXIgdGhlIHBhZ2UgbG9hZHMsIHRoZSBmcmFtZSBpcyBuYXZpZ2F0ZWQgdG8g
YSBuZXcgYmxhbmsgcGFnZSB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gIEF0IHRoaXMgcG9pbnQs
IHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIGlzIHZlcmlmaWVkPC9wPg0KKw0KKyAgICAgICAgPHA+
VGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUgZnJhbWUud2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFyZQ0KKyAgICAgICAgICAgY29ycmVjdCB0
aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlvIGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5k
cyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4NCisgICAgICAgICAgIE90aGVyd2lzZSwgdGhpcyB0
ZXN0IGZhaWxzLjwvcD4NCisNCisgICAgICAgIDxoMT5TZXR1cDwvaDE+DQorDQorICAgICAgICA8
ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZyYW1lIGlk
PSJmcmFtZUNvbnRleHQiDQorICAgICAgICAgICAgICAgIG9ubG9hZD0iLyogTmVlZCB0byBtYWtl
IHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBsb2FkRXZlbnRFbmQNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnRpbCBhZnRlciB0aGUgbG9hZCBldmVudCBoYXMgZmluaXNoZWQgZmlyaW5nICov
DQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChvbmxvYWRfdGVzdCwgMCk7Ig0K
KyAgICAgICAgICAgICAgICBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV91
bmxvYWQuaHRtIg0KKyAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6
IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMTQyYjg5MmRiMjViNjAwMzIzZTg3MTEwNmQ2MjZlODRlZDQ4ZjU2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUg
dmFsdWVzIG9mIHRoZSB3aW5kb3cubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBvbiBhIGNsaWVu
dCBzaWRlIHJlZGlyZWN0LgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZp
Z2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAKK1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENv
dW50ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5n
LnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAor
UEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZp
Z2F0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGly
ZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfY2xpZW50X3JlZGlyZWN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmYwZGZjYTY0MTFjMGEyZDhlMDVlMzNlYzBlYWZhYThiOTFmNWI0MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQv
bmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApA
QCAtMCwwICsxLDc4IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+
DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0IGF0dHJpYnV0ZXMgb24gYSBjbGllbnQgcmVk
aXJlY3QgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0
YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2
aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAg
ImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhv
c3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAi
YXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
InRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0
cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8t
aW50ZXJmYWNlIiB9LA0KKyAgIm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNs
aWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3Jn
L1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwN
CisgICJ0aW1pbmcucmVkaXJlY3RTdGFydCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5h
dmlnYXRpb24iOiB7fSwNCisgICJ0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQg
cmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisg
ICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRl
c3RfbmFtZXNwYWNlKCd0aW1pbmcnLCB0cnVlKTsNCisNCisgICAgICAgICAgICB2YXIgcmVkaXJl
Y3RfZnJhbWU7DQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAg
ICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRl
ZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lk
IHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAg
ICByZWRpcmVjdF9mcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQi
KTsNCisgICAgICAgICAgICAgICAgcmVkaXJlY3RfZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisg
ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gZG9fdGVzdCgpDQorICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICByZWRpcmVjdF9mcmFtZS5vbmxvYWQgPSAiIjsNCisg
ICAgICAgICAgICAgICAgdGVzdF90cnVlKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRp
b24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2
aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQor
DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5y
ZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hl
bHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlv
bi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJl
Y3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCwg
MCwgJ3RpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2
aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5j
b250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5y
ZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisN
CisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2Ny
aXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsi
Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUgd2luZG93Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3Vu
dCBhbmQgdGhlDQorICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0
U3RhcnQvRW5kIHRpbWVzIG9uIGEgY2xpZW50IHNpZGUgcmVkaXJlY3QuPC9wPg0KKw0KKyAgICAg
ICAgPGRpdiBpZD0ibG9nIj48L2Rpdj48YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1l
Q29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfbWV0YV9yZWRp
cmVjdC5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4N
CisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1p
bmdfcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYWQ3MDQ5ZWM1NDIwNzMxYjQzNTc3Zjg1NDQzZDY5NWJl
OTQzMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfcmVsb2FkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBjaGFu
Z2Ugd2hlbiBhIHBhZ2UgaXMgcmVsb2FkZWQuCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVk
IHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiBUaGUgZnJhbWUgd2lsbCBiZSBh
dXRvbWF0aWNhbGx5IHJlbG9hZGVkIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBoYXZlIGJlZW4gdXBkYXRlZCB0byB0aGUgbmV3
IHJlbG9hZGVkIG5hdmlnYXRpb24gdGltaW5ncy4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMg
ZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBF
X1JFTE9BRCAKK1BBU1MgY29ubmVjdEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4g
CitQQVNTIGNvbm5lY3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNT
IGRvbUNvbXBsZXRlIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29u
dGVudExvYWRlZEV2ZW50RW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1Mg
ZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
IAorUEFTUyBkb21JbnRlcmFjdGl2ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQ
QVNTIGRvbUxvYWRpbmcgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21h
aW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21haW5M
b29rdXBTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGZldGNoU3Rh
cnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyBkaWZm
ZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIG5hdmlnYXRpb25TdGFydCBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlcXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0
ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJlc3BvbnNlRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiAKK1BBU1MgcmVzcG9uc2VTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9h
ZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbC90ZXN0X3RpbWluZ19yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mjc0MWNjOTg5MGVj
ZTEwYzE2NGE5OWUzZGUzMjRkNmRlNGMxYmU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
L3Rlc3RfdGltaW5nX3JlbG9hZC5odG1sCkBAIC0wLDAgKzEsMTIyIEBACivvu788IURPQ1RZUEUg
aHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0
ZXMgYWZ0ZXIgYSByZWxvYWRlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
b20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8
c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCI6IHsg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgImNvbm5lY3RFbmQgaXMgZGlmZmVyZW50IGFm
dGVyIHRoZSByZWxvYWQuIjoge30sDQorICAiY29ubmVjdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRl
ciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUNvbXBsZXRlIGlzIGRpZmZlcmVudCBhZnRlciB0
aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkaWZmZXJl
bnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Db250ZW50TG9hZGVkRXZlbnRTdGFy
dCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21JbnRlcmFjdGl2
ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Mb2FkaW5nIGlz
IGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImRvbWFpbkxvb2t1cEVuZCBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21haW5Mb29rdXBTdGFy
dCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJmZXRjaFN0YXJ0IGlz
IGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgImxvYWRFdmVudEVuZCBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJsb2FkRXZlbnRTdGFydCBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4iOiB7fSwNCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMg
ZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30sDQorICAicmVxdWVzdFN0YXJ0IGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgInJlc3BvbnNlRW5kIGlzIGRpZmZl
cmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAgInJlc3BvbnNlU3RhcnQgaXMgZGlmZmVy
ZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisg
ICAgICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3Rh
cnQgdGVzdGluZw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQor
DQorICAgICAgICAgICAgdmFyIHJlbG9hZF9mcmFtZTsNCisgICAgICAgICAgICB2YXIgaW5pdGlh
bF90aW1pbmc7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKw0KKyAgICAgICAgICAgICAgICBpZiAocmVsb2Fk
X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0K
KyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
Ow0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5v
bmxvYWQgPSBkb190ZXN0Ow0KKw0KKyAgICAgICAgICAgICAgICAvLyBzYXZlIGZyYW1lJ3MgaW5p
dGlhbCB0aW1pbmdzDQorICAgICAgICAgICAgICAgIGluaXRpYWxfdGltaW5nID0ge307DQorICAg
ICAgICAgICAgICAgIHZhciB0aW1pbmcgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmc7DQorDQorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
dGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsNCisgICAg
ICAgICAgICAgICAgICAgIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSA9IHRpbWluZ1twcm9wZXJ0
eV07DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgi
cmVsb2FkX3RoZV9mcmFtZSgpOyIsIDEwMCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlbG9hZF90aGVfZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgcmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKHRydWUp
Ow0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICBmdW5jdGlvbiBkb190ZXN0KCkNCisg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSAiIjsN
CisNCisgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHRoZSBmcmFtZSByZWxvYWRlZA0KKyAgICAg
ICAgICAgICAgICB0ZXN0X2VxdWFscyhyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZv
cm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQsDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
UkVMT0FEIiwge2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgLy8g
ZW5zdXJlIHJlbG9hZCB0aW1pbmdzIGNoYW5nZWQNCisgICAgICAgICAgICAgICAgdmFyIHRpbWlu
ZyA9IHJlbG9hZF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisgICAg
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsg
KytpKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVy
dHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgLy8gaWdu
b3JlIGFueSB0aW1pbmdzIHRoYXQgd2VyZSB6ZXJvIGluaXRpYWxseQ0KKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSAhPT0gMCkNCisgICAgICAgICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25vdF9lcXVhbHModGltaW5n
W3Byb3BlcnR5XSwgaW5pdGlhbF90aW1pbmdbcHJvcGVydHldLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHkgKyAiIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2Fk
LiIpOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorDQorICAg
ICAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4N
CisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAg
ICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBjaGFuZ2Ugd2hl
biBhIHBhZ2UgaXMgcmVsb2FkZWQuPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdlIHNob3Vs
ZCBiZSBsb2FkZWQgd2l0aCBhIGdyZWVuIGJhY2tncm91bmQgZnJhbWUgYmVsb3cuICBUaGUgZnJh
bWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkDQorICAgICAgICBhbmQgdGhlbiB2ZXJp
ZmllZCB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgaGF2ZSBi
ZWVuIHVwZGF0ZWQgdG8gdGhlIG5ldyByZWxvYWRlZCBuYXZpZ2F0aW9uIHRpbWluZ3MuPC9wPg0K
Kw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAg
ICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7
Ij48L2lmcmFtZT4NCisNCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bC90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQz
YmQxOWI3MjU5NDlhMDAxM2UxM2UyYjc4YTE3MGM3MGVkN2E2YjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWwvdGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE5IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1
ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBzYW1lLW9y
aWdpbiBzZXJ2ZXIgc2lkZSByZWRpcmVjdCBuYXZpZ2F0aW9uLgorCisKKworCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbiBpcyBkZWZpbmVkIAorUEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFW
SUdBVEUgCitQQVNTIG5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAxIG9uIGFuIHNlcnZlciBy
ZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2
aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVj
dFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0
ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5yZWRpcmVjdEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
ZGlyZWN0U3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+
IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfc2VydmVyX3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdf
c2VydmVyX3JlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjIxN2M4ZjcwNWJhZTRlMzkyMzBlZTlh
NjM4ZGZjZmQzNDBiNjJiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWlu
Z19zZXJ2ZXJfcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ3IEBACivvu788IURPQ1RZUEUgSFRN
TD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0IGF0
dHJpYnV0ZXMgb24gYSBzYW1lLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90
aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVm
PSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10
aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQg
c3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90
ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCdu
YXZpZ2F0aW9uJyk7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9
PT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAv
LyBhdm9pZCBzY3JpcHQgZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAg
ICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZnJhbWVDb250ZXh0IikuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAg
ICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQ
RV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24u
dHlwZSBpcyBUWVBFX05BVklHQVRFJyk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMSwgJ25hdmlnYXRp
b24ucmVkaXJlY3RDb3VudCA9PSAxIG9uIGFuIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24n
KTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0
aW9uU3RhcnQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3Jl
ZGlyZWN0U3RhcnQnLCAnbmF2aWdhdGlvblN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgIHRlc3Rf
dGltaW5nX29yZGVyKCdyZWRpcmVjdEVuZCcsICdyZWRpcmVjdFN0YXJ0Jyk7DQorICAgICAgICAg
ICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdmZXRjaFN0YXJ0JywgJ3JlZGlyZWN0RW5kJyk7DQor
ICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAg
PGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJl
Y3RDb3VudCBhbmQgdGhlDQorICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
ZGlyZWN0U3RhcnQvRW5kIHRpbWVzIGZvciBhIHNhbWUtb3JpZ2luIHNlcnZlciBzaWRlIHJlZGly
ZWN0IG5hdmlnYXRpb24uPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisg
ICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P2xvY2F0aW9uPS93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0
eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5
Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfeHNlcnZlcl9y
ZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF90aW1pbmdfeHNlcnZlcl9yZWRp
cmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcwODIxNGM4MjJkMDQ1YzA0M2RjM2EwODRi
Mzg4ZTExNTMyMmJmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3RpbWluZ194
c2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlv
bgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRp
cmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBjcm9zcy1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJl
Y3QgbmF2aWdhdGlvbi4KKworCisKKworRkFJTCBTdGFydGluZyBkb2N1bWVudC5sb2NhdGlvbi5o
b3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4wLjE6ODAwMCkgYXNzZXJ0X2VxdWFsczogU3RhcnRp
bmcgZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoMTI3LjAuMC4xOjgwMDAp
IGV4cGVjdGVkICIxMjcuMC4wLjE6ODAwMCIgYnV0IGdvdCAiMTI3LjAuMC4xIgorUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24gaXMgZGVmaW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05B
VklHQVRFIAorUEFTUyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhIGNyb3NzLW9y
aWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLm5hdmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHRpbWluZy5yZWRpcmVjdFN0YXJ0
ID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21h
aW4gCitQQVNTIHRpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQg
bmF2aWdhdGlvbiBmcm9tIGFub3RoZXIgZG9tYWluIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwv
dGVzdF90aW1pbmdfeHNlcnZlcl9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGltaW5n
X3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTY2MDljYWM0ZWI3ZDQxYTI1MGYy
MDExY2IyNDJiNjI3ODY0MWY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdGlt
aW5nX3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDg5IEBACivvu788IURPQ1RZUEUg
aHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0
IGF0dHJpYnV0ZXMgb24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlv
bjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIg
aHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRp
b24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJTdGFydGlu
ZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4wLjE6ODAwMCki
OiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAi
OiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVy
Zm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9y
Zy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQi
OiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5n
LyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhl
IHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9y
IHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0Mg
aHR0cDovL3d3dy53My5vcmcvIg0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAg
ICAgICAgICAgIC8vDQorICAgICAgICAgICAgLy8gVGVzdCBjb25maWd1cmF0aW9uDQorICAgICAg
ICAgICAgLy8NCisNCisgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBwYWdlJ3Mgb3JpZ2luDQor
ICAgICAgICAgICAgdmFyIHBhZ2VPcmlnaW4gPSAnMTI3LjAuMC4xOjgwMDAnOw0KKw0KKyAgICAg
ICAgICAgIC8vIHRoZSBvcmlnaW4gdG8gcmVkaXJlY3QgdGhyb3VnaA0KKyAgICAgICAgICAgIHZh
ciByZWRpcmVjdE9yaWdpbiA9ICdsb2NhbGhvc3Q6ODAwMCc7DQorDQorICAgICAgICAgICAgLy8N
CisgICAgICAgICAgICAvLyBUZXN0cw0KKyAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgZnVu
Y3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVz
dF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1h
bmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAg
IGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAg
fQ0KKw0KKyAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlOw0K
KyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0
aW9uLnR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2Uu
bmF2aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICd0aW1p
bmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2Ui
fSk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5h
dmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAw
IG9uIGEgY3Jvc3Mtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24nLCB7aGVscDoi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWlu
Zm8taW50ZXJmYWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVy
X3RoYW4oJ25hdmlnYXRpb25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X2Vx
dWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWlu
Zy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZy
b20gYW5vdGhlciBkb21haW4nKTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9y
bWFuY2VOYW1lc3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAwLCAndGltaW5nLnJlZGlyZWN0RW5k
ID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21h
aW4nKTsNCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAg
ICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgx
PkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZh
bHVlcyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAg
ICAgICAgICAgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1l
cyBmb3IgYSBjcm9zcy1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi48L3A+
DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAg
ICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iIiBzdHlsZT0id2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAg
ICAgIC8vIGVuc3VyZSB3ZSdyZSBzdGFydGluZyBhdCB0aGUgcmlnaHQgb3JpZ2luDQorICAgICAg
ICAgICAgdGVzdF9lcXVhbHMoZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUsIHBhZ2VPcmlnaW4s
ICdTdGFydGluZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgnICsgcGFn
ZU9yaWdpbiArICcpJyk7DQorDQorICAgICAgICAgICAgLy8gY29tYmluZSB0aGUgcGFnZSBvcmln
aW4gYW5kIHJlZGlyZWN0IG9yaWdpbiBpbnRvIHRoZSBJRlJBTUUncyBzcmMgVVJMDQorICAgICAg
ICAgICAgdmFyIGRlc3RVcmwgPSAnaHR0cDovLycgKyByZWRpcmVjdE9yaWdpbiArICcvdzNjL3dl
YnBlcmYvcmVzb3VyY2VzL3JlZGlyZWN0LnBocCc7DQorICAgICAgICAgICAgZGVzdFVybCAgICAr
PSAnP2xvY2F0aW9uPWh0dHA6Ly8nICsgcGFnZU9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3Vy
Y2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJzsNCisNCisgICAgICAgICAgICB2YXIgZnJhbWVDb250
ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAgICAgICAg
ICAgIGZyYW1lQ29udGV4dC5vbmxvYWQgPSBvbmxvYWRfdGVzdDsNCisgICAgICAgICAgICBmcmFt
ZUNvbnRleHQuc3JjID0gZGVzdFVybDsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5j
ZV9vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5j
ZV9vYmplY3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTdhY2YwNTQxMjUyOGQ4MTkxNWRm
NjMwMzcyMmI4M2MzNTEzNjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sL3Rlc3RfdW5p
cXVlX3BlcmZvcm1hbmNlX29iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGVhY2ggd2luZG93IGhhcyBhIHVu
aXF1ZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0LgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5l
ZCAKK1BBU1MgRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUgdW5pcXVlIHBlcmZvcm1hbmNl
IG9iamVjdHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbC90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5j
ZV9vYmplY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhjMzU1MWQyNDY5MGVmMGFlNmY3YWI1YWNmODE0YjMxOWYxNDky
OWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWwvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vf
b2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1s
Pg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAg
ICAgPHRpdGxlPkVhY2ggd2luZG93IG9iamVjdCBoYXMgYSB1bmlxdWUgcGVyZm9ybWFuY2Ugb2Jq
ZWN0PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0
IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93
LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIgLz4NCisJPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50
PSJFYWNoIGJyb3dzaW5nIGNvbnRleHQgbXVzdCBoYXZlIGEgdW5pcXVlIHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcgYXR0cmlidXRlLiIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8
c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUi
Pi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVs
cCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5w
ZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9y
bWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSBy
ZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMu
b3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAiRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhh
dmUgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdHMiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAg
ICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisg
ICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBoYXMgYSB1bmlx
dWUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVjdC48L3A+DQorICAgICAgICA8aWZyYW1lIGlkPSJm
cmFtZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVu
Lmh0bSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiOz48L2lmcmFtZT4NCisgICAgICAgIDxkaXYgaWQ9
ImxvZyI+PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCd0aW1pbmcnKTsNCisNCisgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2Ug
IT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3Rfbm90
X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcsDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29u
dGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcsDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUgdW5pcXVlIHBlcmZvcm1hbmNl
IG9iamVjdHMiKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9i
b2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Bl
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTI0NTNkMzFiMGY4OGYzNWY5YWIzNTJlNWMyNTZlODJlMjA1OTU1Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVuLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMzIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVz
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgcmVtYWlucyBjb25zdGFudCB3aGVuIGEgZG9jdW1l
bnQgaXMgcmVwbGFjZWQgdXNpbmcgZG9jdW1lbnQub3Blbi4KKworVGhpcyBwYWdlIHNob3VsZCBi
ZSBsb2FkZWQgd2l0aCBhIHllbGxvdyBmcmFtZSBiZWxvdy4gSXQgdGhlbiByZXBsYWNlcyB0aGUg
ZG9jdW1lbnQgaW4gdGhhdCBmcmFtZSB3aXRoIGEgZ3JlZW4gZG9jdW1lbnQuCisKK1RoZSB0ZXN0
IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byBwZXJmb3JtYW5jZS50aW1pbmcgYXJlIGNv
cnJlY3QgYW5kIHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLgor
CisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyBjb25uZWN0
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBjb25uZWN0U3RhcnQg
aXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21Db250ZW50TG9hZGVkRXZlbnRF
bmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4gCitQQVNTIGRvbUNvbnRlbnRMb2Fk
ZWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21J
bnRlcmFjdGl2ZSBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tTG9h
ZGluZyBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZG9tYWluTG9va3Vw
RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBkb21haW5Mb29rdXBT
dGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgZmV0Y2hTdGFydCBp
cyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgbG9hZEV2ZW50RW5kIGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgbmF2aWdhdGlvblN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIAorUEFTUyByZWRpcmVjdEVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgcmVkaXJlY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRl
ciBkb2N1bWVudCBvcGVuLiAKK1BBU1MgcmVxdWVzdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGRv
Y3VtZW50IG9wZW4uIAorUEFTUyByZXNwb25zZUVuZCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVu
dCBvcGVuLiAKK1BBU1MgcmVzcG9uc2VTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBkb2N1bWVudCBv
cGVuLiAKK1BBU1MgdW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4gCitQQVNTIHVubG9hZEV2ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9vcGVuLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMDJlMWYxYjE3
ZWZhYmE5NWIwMDYwYWJmYzYyNzkzMTkwMzQyMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfZG9jdW1lbnRfb3Blbi5odG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT53
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGZvciBkeW5hbWljYWxseSBjcmVhdGVkIGRvY3VtZW50
czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0
cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1p
bnRlcmZhY2UiLz4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
L3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPgorPHNjcmlwdCBpZD0ibWV0YWRhdGFf
Y2FjaGUiPi8qCit7CisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsKKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLAorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJm
b3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNl
IHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwKKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iCisgIH0sCisgICJjb25uZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9w
ZW4uIjoge30sCisgICJjb25uZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Bl
bi4iOiB7fSwKKyAgImRvbUNvbXBsZXRlIGlzIHRoZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4u
Ijoge30sCisgICJkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9j
dW1lbnQgb3Blbi4iOiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21JbnRlcmFjdGl2ZSBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tTG9hZGluZyBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZG9tYWluTG9va3VwRW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJkb21haW5Mb29rdXBTdGFydCBpcyB0
aGUgc2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAiZmV0Y2hTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAibG9hZEV2ZW50RW5kIGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJsb2FkRXZlbnRTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAibmF2aWdhdGlvblN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZWRpcmVjdEVuZCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVkaXJlY3RTdGFydCBpcyB0aGUg
c2FtZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVxdWVzdFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGRvY3VtZW50IG9wZW4uIjoge30sCisgICJyZXNwb25zZUVuZCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAicmVzcG9uc2VTdGFydCBpcyB0aGUgc2Ft
ZSBhZnRlciBkb2N1bWVudCBvcGVuLiI6IHt9LAorICAidW5sb2FkRXZlbnRFbmQgaXMgdGhlIHNh
bWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fSwKKyAgInVubG9hZEV2ZW50U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iOiB7fQorfQorKi88L3NjcmlwdD4KKzxzY3JpcHQ+
CitzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisvLyBleHBsaWNpdGx5IHRlc3QgdGhl
IG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZwordGVzdF9uYW1lc3BhY2UoKTsKKwor
dmFyIG9yaWdpbmFsVGltaW5nID0ge307Cit2YXIgZGlkT3BlbiA9IGZhbHNlOworCitmdW5jdGlv
biBvbmxvYWRfdGVzdCgpIHsKKyAgaWYgKCFkaWRPcGVuKSB7CisgICAgc2V0VGltZW91dCh0ZXN0
VGltaW5nV2l0aERvY3VtZW50T3BlbiwgMCk7CisgICAgZGlkT3BlbiA9IHRydWU7CisgIH0KK30K
KworZnVuY3Rpb24gdGVzdFRpbWluZ1dpdGhEb2N1bWVudE9wZW4oKSB7CisgIHZhciBzdWJjb250
ZW50V2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRl
bnRXaW5kb3c7CisKKyAgaWYgKHN1YmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UgPT09IHVuZGVm
aW5lZCkKKyAgeworICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMKKyAgICBkb25lKCk7CisgICAg
cmV0dXJuOworICB9CisgIAorICB2YXIgdGltaW5nID0gc3ViY29udGVudFdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmc7CisgIGZvciAoaSBpbiB0aW1pbmdBdHRyaWJ1dGVzKSB7CisgICAgb3JpZ2lu
YWxUaW1pbmdbdGltaW5nQXR0cmlidXRlc1tpXV0gPSB0aW1pbmdbdGltaW5nQXR0cmlidXRlc1tp
XV07CisgIH0KKworICB2YXIgc3ViZG9jdW1lbnQgPSBzdWJjb250ZW50V2luZG93LmRvY3VtZW50
OworICBzdWJkb2N1bWVudC5vcGVuKCk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8IURPQ1RZUEUg
SFRNTD4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzxodG1sPicpOworICBzdWJkb2N1bWVudC53
cml0ZSgnPGhlYWQ+Jyk7CisgIHN1YmRvY3VtZW50LndyaXRlKCc8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzx0aXRsZT48R3JlZW4gVGVzdCBQYWdlPC90
aXRsZT4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwvaGVhZD4nKTsKKyAgc3ViZG9jdW1lbnQu
d3JpdGUoJzxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4nKTsKKyAgc3Vi
ZG9jdW1lbnQud3JpdGUoJzwvYm9keT4nKTsKKyAgc3ViZG9jdW1lbnQud3JpdGUoJzwvaHRtbD4n
KTsKKyAgc3ViZG9jdW1lbnQuY2xvc2UoKTsKKworICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewor
ICAgIHZhciB0aW1pbmcgPSBzdWJjb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsKKyAg
ICBmb3IgKHZhciBpIGluIHRpbWluZ0F0dHJpYnV0ZXMpIHsKKyAgICAgIHRlc3RfZXF1YWxzKHRp
bWluZ1t0aW1pbmdBdHRyaWJ1dGVzW2ldXSwKKyAgICAgICAgICAgICAgICAgIG9yaWdpbmFsVGlt
aW5nW3RpbWluZ0F0dHJpYnV0ZXNbaV1dLAorICAgICAgICAgICAgICAgICAgdGltaW5nQXR0cmli
dXRlc1tpXSArICIgaXMgdGhlIHNhbWUgYWZ0ZXIgZG9jdW1lbnQgb3Blbi4iKTsKKyAgICB9Cisg
ICAgZG9uZSgpOworICB9LCAwKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+
RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nIHJlbWFpbnMgY29uc3RhbnQgd2hlbiBhCitkb2N1bWVudCBpcyByZXBsYWNlZCB1
c2luZyBkb2N1bWVudC5vcGVuLjwvcD4KKworPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQg
d2l0aCBhIHllbGxvdyBmcmFtZSBiZWxvdy4gSXQgdGhlbiByZXBsYWNlcyB0aGUKK2RvY3VtZW50
IGluIHRoYXQgZnJhbWUgd2l0aCBhIGdyZWVuIGRvY3VtZW50LjwvcD4KKworPHA+VGhlIHRlc3Qg
cGFzc2VzIGlmIGFsbCBvZiB0aGUgY2hlY2tzIHRvIHBlcmZvcm1hbmNlLnRpbWluZyBhcmUgY29y
cmVjdCBhbmQKK3RoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLjwv
cD4KKworPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxiciAvPgorPGlmcmFtZSBpZD0iZnJhbWVDb250
ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV95ZWxsb3cuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4
OyI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9kb2N1bWVudF9yZWFkaW5lc3NfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0YTMz
NzFhODFlMTk1MTMyNTc0YmM1ZTQ3MDhjOTcxNDFiMjdjMjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfZG9jdW1lbnRfcmVhZGluZXNzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhl
ICJsb2FkaW5nIiwgImludGVyYWN0aXZlIiBhbmQgImNvbXBsZXRlIiBkb2N1bWVudC5yZWFkeVN0
YXRlIHN0YXRlcyBhcmUgYXZhaWxhYmxlIGR1cmluZyBhIG5hdmlnYXRpb24uCisKK1JlZnJlc2gg
dGhpcyBwYWdlIHRvIGd1YXJhbnRlZSBhbGwgcmVhZHlTdGF0ZSBwaGFzZXMuCisKKworUEFTUyBE
b2N1bWVudCByZWFkaW5lc3MgaGFzIGxvYWRpbmcgc3RhdGUuIAorUEFTUyBEb2N1bWVudCByZWFk
aW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiAKK1BBU1MgRG9jdW1lbnQgcmVhZGluZXNzIGhh
cyBjb21wbGV0ZSBzdGF0ZS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
dzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVu
dF9yZWFkaW5lc3NfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9kb2N1bWVudF9yZWFkaW5l
c3NfZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmNhNDI1NDBlMWU3NGU3OTZhM2NmMTM1Nzc1ZjE4
NWM4OTQ5Y2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
d2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X2RvY3VtZW50X3Jl
YWRpbmVzc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNTggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0K
KzxodG1sPg0KKzxoZWFkPg0KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgPHRp
dGxlPmRvY3VtZW50LnJlYWR5U3RhdGUgdmFsdWVzIGV4aXN0IGR1cmluZyBhIG5hdmlnYXRpb248
L3RpdGxlPg0KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0i
aHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS9kb20uaHRtbCNyZXNvdXJjZS1tZXRhZGF0YS1t
YW5hZ2VtZW50Ii8+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgIDxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0K
KyA8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAiRG9jdW1lbnQgcmVhZGlu
ZXNzIGhhcyBsb2FkaW5nIHN0YXRlLiI6IHt9LA0KKyAgIkRvY3VtZW50IHJlYWRpbmVzcyBoYXMg
aW50ZXJhY3RpdmUgc3RhdGUuIjoge30sDQorICAiRG9jdW1lbnQgcmVhZGluZXNzIGhhcyBjb21w
bGV0ZSBzdGF0ZS4iOiB7fQ0KK30NCisqLzwvc2NyaXB0PiAgIA0KKyAgICA8c2NyaXB0Pg0KKyAg
ICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOw0KKyAgICAgICAgdmFyIGhhc19s
b2FkaW5nID0gKGRvY3VtZW50LnJlYWR5U3RhdGUgPT0gImxvYWRpbmciKTsNCisgICAgICAgIHZh
ciBoYXNfaW50ZXJhY3RpdmUgPSAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAiaW50ZXJhY3RpdmUi
KTsNCisgICAgICAgIHZhciBoYXNfY29tcGxldGUgPSAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PSAi
Y29tcGxldGUiKTsNCisNCisgICAgICAgIGRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1
bmN0aW9uKCkNCisgICAgICAgIHsNCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0
ZSA9PSAibG9hZGluZyIpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBoYXNfbG9h
ZGluZyA9IHRydWU7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5y
ZWFkeVN0YXRlID09ICJpbnRlcmFjdGl2ZSIpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAg
ICAgICBoYXNfaW50ZXJhY3RpdmUgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9ICJjb21wbGV0ZSIpDQorICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICBoYXNfY29tcGxldGUgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisg
ICAgICAgIH07DQorDQorICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICB7
DQorICAgICAgICAgICAgdGVzdF90cnVlKGhhc19sb2FkaW5nLCAiRG9jdW1lbnQgcmVhZGluZXNz
IGhhcyBsb2FkaW5nIHN0YXRlLiIpOw0KKyAgICAgICAgICAgIHRlc3RfdHJ1ZShoYXNfaW50ZXJh
Y3RpdmUsICJEb2N1bWVudCByZWFkaW5lc3MgaGFzIGludGVyYWN0aXZlIHN0YXRlLiIpOw0KKyAg
ICAgICAgICAgIHRlc3RfdHJ1ZShoYXNfY29tcGxldGUsICJEb2N1bWVudCByZWFkaW5lc3MgaGFz
IGNvbXBsZXRlIHN0YXRlLiIpOw0KKyAgICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgIH0NCisg
ICAgPC9zY3JpcHQ+DQorDQorPC9oZWFkPg0KKzxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsi
Pg0KKyAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlICJsb2FkaW5nIiwgImludGVyYWN0aXZlIiBhbmQgImNvbXBsZXRlIg0KKyAgICAg
ICBkb2N1bWVudC5yZWFkeVN0YXRlIHN0YXRlcyBhcmUgYXZhaWxhYmxlIGR1cmluZyBhIG5hdmln
YXRpb24uPC9wPg0KKyAgICA8cD5SZWZyZXNoIHRoaXMgcGFnZSB0byBndWFyYW50ZWUgYWxsIHJl
YWR5U3RhdGUgcGhhc2VzLjwvcD4NCisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCis8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0ZV93aXRoaW5f
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRlX3dpdGhpbl9k
b2N1bWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0NWY4NGEyOGFiMGQ5MzAzN2RlMzk3
NTVlNGEwZjI2YjIxYWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0ZV93aXRoaW5fZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK0Rlc2Ny
aXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyByZW1haW4gdW5jaGFuZ2VkIGFmdGVyIGFuIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24gKFVSTCBmcmFnbWVudCBjaGFuZ2UpLgorCisKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcg
aXMgZGVmaW5lZCAKK1BBU1MgY29ubmVjdEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVu
dCBuYXZpZ2F0aW9uLiAKK1BBU1MgY29ubmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Db21wbGV0ZSBpcyB0aGUgc2FtZSBhZnRlciBp
biBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyBkb21Db250ZW50
TG9hZGVkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiAKK1BBU1MgZG9tSW50ZXJhY3RpdmUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4gCitQQVNTIGRvbUxvYWRpbmcgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQg
bmF2aWdhdGlvbi4gCitQQVNTIGRvbWFpbkxvb2t1cEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBk
b2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgZG9tYWluTG9va3VwU3RhcnQgaXMgdGhlIHNhbWUg
YWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGZldGNoU3RhcnQgaXMgdGhlIHNh
bWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIGxvYWRFdmVudEVuZCBpcyB0
aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BBU1MgbG9hZEV2ZW50U3Rh
cnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIG5hdmln
YXRpb25TdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiAKK1BB
U1MgcmVkaXJlY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4g
CitQQVNTIHJlZGlyZWN0U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdh
dGlvbi4gCitQQVNTIHJlcXVlc3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBu
YXZpZ2F0aW9uLiAKK1BBU1MgcmVzcG9uc2VFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1l
bnQgbmF2aWdhdGlvbi4gCitQQVNTIHJlc3BvbnNlU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4gCitQQVNTIHVubG9hZEV2ZW50RW5kIGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorUEFTUyB1bmxvYWRFdmVudFN0YXJ0IGlzIHRo
ZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfbmF2aWdhdGVfd2l0aGluX2RvY3VtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVhMmNlN2U2MjMz
ZDNkZGE2ZWQ0ZWI1ZWZhOTU3Yzg4OGFkY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9uYXZpZ2F0ZV93aXRoaW5fZG9jdW1lbnQuaHRtbApAQCAtMCwwICsxLDEwMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiID4KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbjwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorIAk8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+CisJPHNjcmlwdCBzcmM9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKgoreworICAid2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7CisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcv
VFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwK
KyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVz
IGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIgorICB9LAorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogeworICAgICJoZWxwIjogImh0dHA6Ly93d3cu
dzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJp
YnV0ZSIsCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLAorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIKKyAgfSwKKyAgImNv
bm5lY3RFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImNvbm5lY3RTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9u
LiI6IHt9LAorICAiZG9tQ29tcGxldGUgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2
aWdhdGlvbi4iOiB7fSwKKyAgImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyB0aGUgc2FtZSBh
ZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0aW9uLiI6IHt9LAorICAiZG9tQ29udGVudExvYWRlZEV2
ZW50U3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwK
KyAgImRvbUludGVyYWN0aXZlIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIjoge30sCisgICJkb21Mb2FkaW5nIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5h
dmlnYXRpb24uIjoge30sCisgICJkb21haW5Mb29rdXBFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4g
ZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgImRvbWFpbkxvb2t1cFN0YXJ0IGlzIHRoZSBz
YW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJmZXRjaFN0YXJ0IGlz
IHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJsb2FkRXZl
bnRFbmQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAg
ImxvYWRFdmVudFN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24u
Ijoge30sCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMgdGhlIHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQg
bmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlZGlyZWN0RW5kIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRv
Y3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZWRpcmVjdFN0YXJ0IGlzIHRoZSBzYW1lIGFm
dGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZXF1ZXN0U3RhcnQgaXMgdGhl
IHNhbWUgYWZ0ZXIgaW4gZG9jdW1lbnQgbmF2aWdhdGlvbi4iOiB7fSwKKyAgInJlc3BvbnNlRW5k
IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30sCisgICJyZXNw
b25zZVN0YXJ0IGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRpb24uIjoge30s
CisgICJ1bmxvYWRFdmVudEVuZCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1bWVudCBuYXZpZ2F0
aW9uLiI6IHt9LAorICAidW5sb2FkRXZlbnRTdGFydCBpcyB0aGUgc2FtZSBhZnRlciBpbiBkb2N1
bWVudCBuYXZpZ2F0aW9uLiI6IHt9Cit9CisqLzwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRy
aWJ1dGVzIHJlbWFpbiB1bmNoYW5nZWQgYWZ0ZXIgYW4gaW4gZG9jdW1lbnQgbmF2aWdhdGlvbiAo
VVJMIGZyYWdtZW50IGNoYW5nZSkuPC9wPgorCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1
ZX0pOworCisgICAgICAgICAgICAvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZv
cmUgd2Ugc3RhcnQgdGVzdGluZworICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ3RpbWluZycp
OworCisgICAgICAgICAgICB2YXIgdGltaW5nOworCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVj
a190aW1pbmdfbm90X2NoYW5nZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5ndGg7ICsraSkKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRpbWluZ0F0dHJp
YnV0ZXNbaV07CisgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHRpbWluZ1twcm9wZXJ0
eV0sIGluaXRpYWxfdGltaW5nW3Byb3BlcnR5XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJvcGVydHkgKyAiIGlzIHRoZSBzYW1lIGFmdGVyIGluIGRvY3VtZW50IG5hdmlnYXRp
b24uIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdmFyIGluaXRpYWxfdGltaW5nID0ge307CisgICAgICAg
ICAgICBmdW5jdGlvbiBzYXZlX3RpbWluZ19hZnRlcl9sb2FkKCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWluZ0F0dHJpYnV0ZXMubGVuZ3Ro
OyArK2kpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVy
dHkgPSB0aW1pbmdBdHRyaWJ1dGVzW2ldOworICAgICAgICAgICAgICAgICAgICBpbml0aWFsX3Rp
bWluZ1twcm9wZXJ0eV0gPSB0aW1pbmdbcHJvcGVydHldOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICIjMSI7CisgICAgICAgICAgICAg
ICAgc2V0VGltZW91dCgiY2hlY2tfdGltaW5nX25vdF9jaGFuZ2VkKCkiLCAwKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gbG9hZF9oYW5kbGVyKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgPT09IHVuZGVmaW5l
ZCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlw
dCBlcnJvcnMKKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgdGltaW5nID0gcGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nOworICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLCBsb2FkX2hh
bmRsZXIpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoInNhdmVfdGltaW5nX2FmdGVyX2xv
YWQoKSIsIDApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIGxvYWRfaGFuZGxlciwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdh
dGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZp
Z2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZDU2MWY1
ODAwZmJmNTRmYjgwZjQwMzIwMzI3MDA3MTBiOTBlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxs
IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBhdHRyaWJ1dGVzIGV4aXN0IChi
dXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLgorCisK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uLnR5cGUgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uLnJlZGlyZWN0Q291bnQgaXMgZGVmaW5lZC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9u
YXZpZ2F0aW9uX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWIxYzlkMjYwZjZh
NDIxYWZjNGNlNmE1NTcwYjkwMjU2ZTI5ZDdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X25hdmlnYXRpb25fYXR0cmlidXRlc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNDEgQEAK
K++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbiBhdHRyaWJ1dGVzPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0K
K3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAi
aHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9y
bWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8i
DQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlv
bi50eXBlIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24ucmVkaXJlY3RDb3VudCBpcyBkZWZpbmVkLiI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAg
IDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAg
ICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gYXR0cmlidXRlcyBleGlzdCAoYnV0IGRvZXMgbm90IHZhbGlkYXRl
IHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48L3A+DQorDQorICAgICAgICA8ZGl2IGlk
PSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNw
YWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMoJ25h
dmlnYXRpb24nLCAndHlwZScpOw0KKyAgICAgICAgdGVzdF9hdHRyaWJ1dGVfZXhpc3RzKCduYXZp
Z2F0aW9uJywgJ3JlZGlyZWN0Q291bnQnKTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2Jv
ZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3Jl
ZGlyZWN0Q291bnRfbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlv
bl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5YWZmNjRiYmVm
NWIwZjgwMjk1NTkyNzgyNDBjNjg2YmRlYzFkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUg
dmFsdWUgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQg
YXR0cmlidXRlLCBhcyB3ZWxsIGFzIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0U3RhcnQgYW5kIHJlZGlyZWN0RW5kIGF0dHJpYnV0ZXMgb24gYSBub24tcmVkaXJlY3RlZCBu
YXZpZ2F0aW9uLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5y
ZWRpcmVjdFN0YXJ0IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24gCitQQVNTIHRpbWlu
Zy5yZWRpcmVjdEVuZCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyBuYXZp
Z2F0aW9uLnJlZGlyZWN0Q291bnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3VudF9ub25l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl9yZWRpcmVjdENvdW50X25vbmUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZmYxOTQ5NDkxYjQ0YWFlZTgzZTM3OWE1YWZkZjlmYjU2OWIwMmQ3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fcmVkaXJlY3RDb3Vu
dF9ub25lLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+
DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAg
ICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBvbiBh
IG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb248L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8i
IC8+DQorCTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdh
dGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLXRpbWluZy1pbnRlcmZhY2UiLz4NCisgICAgICAg
IDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQor
ICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
d2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9j
YWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAg
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2lu
ZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3
dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBk
ZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0
IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3Ii
OiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAidGltaW5nLnJlZGlyZWN0U3Rh
cnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbiI6IHt9LA0KKyAgInRpbWluZy5yZWRp
cmVjdEVuZCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30sDQorICAibmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5vbi1yZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7ICJo
ZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdh
dGlvbi1pbmZvLWludGVyZmFjZSIgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQor
ICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAgICAgIDxwPlRo
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgYXR0cmlidXRlLCBhcyB3ZWxsIGFzIHRoZSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgYW5kIHJlZGlyZWN0RW5kIGF0dHJp
YnV0ZXMgb24gYSBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uLjwvcD4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgdGVzdF9u
YW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisNCisgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVz
cGFjZSAhPT0gdW5kZWZpbmVkKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHRlc3RfZXF1YWxz
KHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0LCAwLCAndGltaW5nLnJl
ZGlyZWN0U3RhcnQgb24gYW4gbm9uLXJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAgICAgICAg
ICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLnRpbWluZy5yZWRpcmVjdEVuZCwg
MCwgJ3RpbWluZy5yZWRpcmVjdEVuZCBvbiBhbiBub24tcmVkaXJlY3RlZCBuYXZpZ2F0aW9uJyk7
DQorICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50IG9uIGFuIG5vbi1y
ZWRpcmVjdGVkIG5hdmlnYXRpb24nLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorICAgICAgICB9
DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24t
dGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjBhMDI0ZGNmZDg0N2RmOTZjMjI4MWYwZTY0MjdhN2Y5ZmE3MWUzZDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tm
b3J3YXJkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitmcmFtZSAiZnJhbWVDb250ZXh0
IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK2ZyYW1lICJmcmFtZUNvbnRleHQiIC0gaGFz
IDEgb251bmxvYWQgaGFuZGxlcihzKQorZnJhbWUgImZyYW1lQ29udGV4dCIgLSBoYXMgMSBvbnVu
bG9hZCBoYW5kbGVyKHMpCitmcmFtZSAiZnJhbWVDb250ZXh0IiAtIGhhcyAxIG9udW5sb2FkIGhh
bmRsZXIocykKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9m
IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgd2l0aCBhIGZvcndhcmQgYW5kIGJh
Y2sgbmF2aWdhdGlvbi4KKworVGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIHllbGxv
dyBiYWNrZ3JvdW5kIGZyYW1lIGJlbG93LiBJdCBzaG91bGQgdHVybiBncmVlbiBmb3IgYSBzdGFy
dGluZyBuYXZpZ2F0aW9uLCBiYWNrIHRvIHllbGxvdyBmb3IgYSBiYWNrIG5hdmlnYXRpb24gYW5k
IHRoZW4gYmFjayB0byBncmVlbiBhZ2FpbiBmb3IgYSBmb3J3YXJkIG5hdmlnYXRpb24uCisKK0Fs
b25nIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIHRoZSBmcmFtZS53aW5kb3cucGVyZm9ybWFuY2Uu
dHlwZSBpcyBjaGVja2VkIGZvciBUWVBFX0JBQ0tfRk9SV0FSRC4KKworVGhpcyB0ZXN0IHBhc3Nl
cyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0aGUgbmF2aWdhdGlvbi50eXBlIGFyZSBjb3JyZWN0
IHRocm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2NlbmFyaW8gYW5kIHRoZSBmcmFtZSBiZWxvdyBl
bmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy4K
KworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX05BVklHQVRFIAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3Rvcnku
YmFjaygpIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
QkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuZm9yd2FyZCgpIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5n
L2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1
L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2JhY2tmb3J3YXJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJkZTNl
MWE1YTEwZDlmZWVlODk0NWU0NmI5MmY5MmU1MWI5ZTRjOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1p
bmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfYmFja2ZvcndhcmQuaHRtbApAQCAtMCwwICsx
LDExMyBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93Lm5hdmln
YXRpb24udHlwZSBmb3IgYmFjayBhbmQgZm9yd2FyZCBuYXZpZ2F0aW9uczwvdGl0bGU+DQorICAg
ICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3
dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZh
Y2UiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2Vi
cGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
Y3NzIiAvPg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5v
cmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRl
IiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAi
LA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjog
Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZv
cm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5j
ZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0
ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcv
Ig0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
TkFWSUdBVEUiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09
IFRZUEVfQkFDS19GT1JXQVJEIGFmdGVyIGhpc3RvcnkuYmFjaygpIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBo
aXN0b3J5LmZvcndhcmQoKSI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0
Pg0KKyAgICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAg
ICAgICAgLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2UgYmVmb3JlIHdlIHN0YXJ0IHRl
c3RpbmcNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKw0KKyAg
ICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0KKyAgICAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQgZXJyb3Jz
DQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAgICByZXR1
cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgLy8gZG8gdGhpcyB3
aXRoIGEgdGltZW91dCB0byBzZWUgdGhlIHZpc3VhbHMgb2YgdGhlIG5hdmlnYXRpb25zLg0KKyAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KCJuYXZfZnJhbWUoKTsiLCAxMDApOw0KKyAgICAgICAg
ICAgIH0NCisNCisgICAgICAgICAgICB2YXIgc3RlcCA9IDE7DQorICAgICAgICAgICAgZnVuY3Rp
b24gbmF2X2ZyYW1lKCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBuYXZp
Z2F0aW9uX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNv
bnRlbnRXaW5kb3c7DQorICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RlcCkNCisgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSAxOg0KKyAgICAgICAgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25fZnJhbWUubG9jYXRpb24u
aHJlZiA9ICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVu
bG9hZC5odG0nOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgICAgIGNhc2UgMjoNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0aW9uX2ZyYW1lLnBlcmZvcm1hbmNlLm5hdmln
YXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
TmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVf
TkFWSUdBVEUnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uX2ZyYW1lLmhp
c3RvcnkuYmFjaygpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgICAgICAgIGNhc2UgMzoNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhuYXZpZ2F0aW9uX2ZyYW1lLnBlcmZvcm1hbmNlLm5h
dmlnYXRpb24udHlwZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1h
bmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9
PSBUWVBFX0JBQ0tfRk9SV0FSRCBhZnRlciBoaXN0b3J5LmJhY2soKScpOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0aW9u
X2ZyYW1lLmhpc3RvcnkuZm9yd2FyZCgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
Ow0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgY2FzZSA0Og0K
KyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1
YWxzKG5hdmlnYXRpb25fZnJhbWUucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi5UWVBFX0JBQ0tfRk9SV0FSRCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfQkFDS19GT1JXQVJEIGFm
dGVyIGhpc3RvcnkuZm9yd2FyZCgpJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgp
Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisNCisgICAgPC9oZWFk
Pg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT4NCisgICAgICAgICAgICBEZXNjcmlwdGlvbjwv
aDE+DQorICAgICAgICA8cD4NCisgICAgICAgICAgICBUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2
YWx1ZSBvZiB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlIHdpdGggYSBmb3J3YXJk
DQorICAgICAgICAgICAgYW5kIGJhY2sgbmF2aWdhdGlvbi48L3A+DQorDQorICAgICAgICA8cD5U
aGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgeWVsbG93IGJhY2tncm91bmQgZnJhbWUg
YmVsb3cuICBJdCBzaG91bGQgdHVybiBncmVlbiBmb3IgYSBzdGFydGluZw0KKyAgICAgICAgICAg
IG5hdmlnYXRpb24sIGJhY2sgdG8geWVsbG93IGZvciBhIGJhY2sgbmF2aWdhdGlvbiBhbmQgdGhl
biBiYWNrIHRvIGdyZWVuIGFnYWluIGZvciBhIGZvcndhcmQgbmF2aWdhdGlvbi48L3A+DQorDQor
ICAgICAgICA8cD5BbG9uZyB0aGUgbmF2aWdhdGlvbiB0aW1lbGluZSB0aGUgZnJhbWUud2luZG93
LnBlcmZvcm1hbmNlLnR5cGUgaXMgY2hlY2tlZCBmb3IgVFlQRV9CQUNLX0ZPUldBUkQuPC9wPg0K
Kw0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNoZWNrcyB0byB0
aGUgbmF2aWdhdGlvbi50eXBlIGFyZSBjb3JyZWN0IHRocm91Z2hvdXQgdGhlIG5hdmlnYXRpb24N
CisgICAgICAgICAgICBzY2VuYXJpbyBhbmQgdGhlIGZyYW1lIGJlbG93IGVuZHMgd2l0aCBhIGdy
ZWVuIGJhY2tncm91bmQuICBPdGhlcndpc2UsIHRoaXMgdGVzdCBmYWlscy48L3A+DQorDQorICAg
ICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZy
YW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0iL3czYy93
ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3llbGxvd193aXRoX29udW5sb2FkLmh0bSIgc3R5
bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPg0KKyAgICA8L2JvZHk+
DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVf
ZW51bXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9lbnVt
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRkOGExODMzZjQ0MmYxYjlhYmI4NDRlOTJlM2Nl
ZTQzZTQzYjI4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9u
X3R5cGVfZW51bXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0Rlc2NyaXB0aW9uCisK
K1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgVFlQRV8qIGVudW1lcmF0aW9ucyBvZiB3aW5k
b3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBleGlzdCBhbmQgdGhlaXIgdmFsdWVzIGFyZSBjb3Jy
ZWN0LgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgPSAwIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFTE9BRCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQgPSAxIAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9SV0FSRCBpcyBkZWZpbmVkLiAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQgPSAyIAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEIGlzIGRlZmluZWQu
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JFU0VSVkVEID0gMjU1
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX2VudW1zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2QwMDE4N2MwYzBjNmRkZDEyMmYxNTgxYTFjM2JkYjNlZjE2NWIyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfZW51bXMuaHRtbApAQCAtMCww
ICsxLDQ5IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAg
ICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbiBlbnVtczwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIg
Lz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UiLz4NCisgICAgICAgIDxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2Fj
aGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10
aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6
ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJl
YSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjog
IlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlRZUEVfTkFWSUdBVEUgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX05BVklHQVRFID0gMCI6IHt9LA0KKyAgIndpbmRvdy5w
ZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FEIGlzIGRlZmluZWQuIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9SRUxPQUQgPSAxIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24uVFlQRV9CQUNLX0ZPUldBUkQgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX0JBQ0tfRk9S
V0FSRCA9IDIiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5UWVBFX1JF
U0VSVkVEIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRp
b24uVFlQRV9SRVNFUlZFRCA9IDI1NSI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgPC9oZWFk
Pg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIFRZUEVfKiBlbnVtZXJhdGlvbnMgb2Ygd2lu
ZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gZXhpc3QgYW5kIHRoZWlyIHZhbHVlcyBhcmUgY29y
cmVjdC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKw0KKyAgICAgICAg
PHNjcmlwdD4NCisgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAg
ICAgICB0ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9OQVZJR0FURScsIDApOw0KKyAgICAg
ICAgdGVzdF9lbnVtKCduYXZpZ2F0aW9uJywgJ1RZUEVfUkVMT0FEJywgMSk7DQorICAgICAgICB0
ZXN0X2VudW0oJ25hdmlnYXRpb24nLCAnVFlQRV9CQUNLX0ZPUldBUkQnLCAyKTsNCisgICAgICAg
IHRlc3RfZW51bSgnbmF2aWdhdGlvbicsICdUWVBFX1JFU0VSVkVEJywgMjU1KTsNCisgICAgICAg
IDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRt
bDUvdGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUv
dGVzdF9uYXZpZ2F0aW9uX3R5cGVfcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2Qx
OTM0ODIyMjkwMWJhMWFlZjQwY2I3ZDBjMjViOTQ4ZjhhZDBkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRp
bWluZy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzUgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVl
IG9mIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgYW5kIHRoZSB2YWx1ZXMgb2Yg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4qIHdpdGggYSByZWxvYWRlZCBuYXZpZ2F0aW9uLgor
CitUaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZCBmcmFt
ZSBiZWxvdy4gVGhlIGZyYW1lIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWxvYWRlZCBhbmQgdGhl
biB2ZXJpZmllZCB0aGF0CisKK1RoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBl
ID0gVFlQRV9SRUxPQUQKK0FsbCBvZiB0aGUgd2lkb3cucGVyZm9ybWFuY2UudGltaW5nLiogdmFs
dWVzIGFmdGVyIHJlbG9hZCBhcmUgPiBhbGwgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcuKiB2YWx1ZXMgcHJpb3IgdG8gcmVsb2FkLgorCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JF
TE9BRCx7aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1u
YXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIn0gCitQQVNTIFJlbG9hZCBjb25uZWN0RW5kID4gT3Jp
Z2luYWwgY29ubmVjdEVuZCAKK1BBU1MgUmVsb2FkIGNvbm5lY3RTdGFydCA+IE9yaWdpbmFsIGNv
bm5lY3RTdGFydCAKK1BBU1MgUmVsb2FkIGRvbUNvbXBsZXRlID4gT3JpZ2luYWwgZG9tQ29tcGxl
dGUgCitQQVNTIFJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQgPiBPcmlnaW5hbCBkb21D
b250ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIFJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCA+IE9yaWdpbmFsIGRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0IAorUEFTUyBSZWxvYWQg
ZG9tSW50ZXJhY3RpdmUgPiBPcmlnaW5hbCBkb21JbnRlcmFjdGl2ZSAKK1BBU1MgUmVsb2FkIGRv
bUxvYWRpbmcgPiBPcmlnaW5hbCBkb21Mb2FkaW5nIAorUEFTUyBSZWxvYWQgZG9tYWluTG9va3Vw
RW5kID4gT3JpZ2luYWwgZG9tYWluTG9va3VwRW5kIAorUEFTUyBSZWxvYWQgZG9tYWluTG9va3Vw
U3RhcnQgPiBPcmlnaW5hbCBkb21haW5Mb29rdXBTdGFydCAKK1BBU1MgUmVsb2FkIGZldGNoU3Rh
cnQgPiBPcmlnaW5hbCBmZXRjaFN0YXJ0IAorUEFTUyBSZWxvYWQgbG9hZEV2ZW50RW5kID4gT3Jp
Z2luYWwgbG9hZEV2ZW50RW5kIAorUEFTUyBSZWxvYWQgbG9hZEV2ZW50U3RhcnQgPiBPcmlnaW5h
bCBsb2FkRXZlbnRTdGFydCAKK1BBU1MgUmVsb2FkIG5hdmlnYXRpb25TdGFydCA+IE9yaWdpbmFs
IG5hdmlnYXRpb25TdGFydCAKK1BBU1MgUmVsb2FkIHJlZGlyZWN0RW5kID09IE9yaWdpbmFsIHJl
ZGlyZWN0RW5kIAorUEFTUyBSZWxvYWQgcmVkaXJlY3RTdGFydCA9PSBPcmlnaW5hbCByZWRpcmVj
dFN0YXJ0IAorUEFTUyBSZWxvYWQgcmVxdWVzdFN0YXJ0ID4gT3JpZ2luYWwgcmVxdWVzdFN0YXJ0
IAorUEFTUyBSZWxvYWQgcmVzcG9uc2VFbmQgPiBPcmlnaW5hbCByZXNwb25zZUVuZCAKK1BBU1Mg
UmVsb2FkIHJlc3BvbnNlU3RhcnQgPiBPcmlnaW5hbCByZXNwb25zZVN0YXJ0IAorUEFTUyBSZWxv
YWQgdW5sb2FkRXZlbnRFbmQgPiBPcmlnaW5hbCB1bmxvYWRFdmVudEVuZCAKK1BBU1MgUmVsb2Fk
IHVubG9hZEV2ZW50U3RhcnQgPiBPcmlnaW5hbCB1bmxvYWRFdmVudFN0YXJ0IAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRp
b24tdGltaW5nL2h0bWw1L3Rlc3RfbmF2aWdhdGlvbl90eXBlX3JlbG9hZC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9o
dG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTJiYTVm
NTZlZmE2ODZhZTY0ZWViZjM2OGU3NzcwMGMxYjY0YzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25hdmlnYXRpb25fdHlwZV9yZWxvYWQuaHRtbApAQCAtMCwwICsxLDE0NCBA
QAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24udHlwZSB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAg
ICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDovL3d3
dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVy
ZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93
ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5jc3MiIC8+DQorIDxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZ
UEVfUkVMT0FELHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSI6IHt9LA0KKyAgIlJlbG9hZCBjb25uZWN0
RW5kKDEzNDAzNzYwNzAyOTUpID4gT3JpZ2luYWwgY29ubmVjdEVuZCgxMzQwMzc2MDcwMTYzKSI6
IHt9LA0KKyAgIlJlbG9hZCBjb25uZWN0U3RhcnQoMTM0MDM3NjA3MDI5NSkgPiBPcmlnaW5hbCBj
b25uZWN0U3RhcnQoMTM0MDM3NjA3MDE2MykiOiB7fSwNCisgICJSZWxvYWQgZG9tQ29tcGxldGUo
MTM0MDM3NjA3MDMwMCkgPiBPcmlnaW5hbCBkb21Db21wbGV0ZSgxMzQwMzc2MDcwMTc5KSI6IHt9
LA0KKyAgIlJlbG9hZCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3NjA3MDMwMCkgPiBP
cmlnaW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRFbmQoMTM0MDM3NjA3MDE3OSkiOiB7fSwNCisg
ICJSZWxvYWQgZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQoMTM0MDM3NjA3MDMwMCkgPiBPcmln
aW5hbCBkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCgxMzQwMzc2MDcwMTc5KSI6IHt9LA0KKyAg
IlJlbG9hZCBkb21JbnRlcmFjdGl2ZSgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGRvbUludGVy
YWN0aXZlKDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIGRvbUxvYWRpbmcoMTM0MDM3
NjA3MDI5OSkgPiBPcmlnaW5hbCBkb21Mb2FkaW5nKDEzNDAzNzYwNzAxNzgpIjoge30sDQorICAi
UmVsb2FkIGRvbWFpbkxvb2t1cEVuZCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGRvbWFpbkxv
b2t1cEVuZCgxMzQwMzc2MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCBkb21haW5Mb29rdXBTdGFy
dCgxMzQwMzc2MDcwMjk1KSA+IE9yaWdpbmFsIGRvbWFpbkxvb2t1cFN0YXJ0KDEzNDAzNzYwNzAx
NjMpIjoge30sDQorICAiUmVsb2FkIGZldGNoU3RhcnQoMTM0MDM3NjA3MDI5MCkgPiBPcmlnaW5h
bCBmZXRjaFN0YXJ0KDEzNDAzNzYwNzAxNjMpIjoge30sDQorICAiUmVsb2FkIGxvYWRFdmVudEVu
ZCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFsIGxvYWRFdmVudEVuZCgxMzQwMzc2MDcwMTc5KSI6
IHt9LA0KKyAgIlJlbG9hZCBsb2FkRXZlbnRTdGFydCgxMzQwMzc2MDcwMzAwKSA+IE9yaWdpbmFs
IGxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAxNzkpIjoge30sDQorICAiUmVsb2FkIG5hdmlnYXRp
b25TdGFydCgxMzQwMzc2MDcwMjkwKSA+IE9yaWdpbmFsIG5hdmlnYXRpb25TdGFydCgxMzQwMzc2
MDcwMTYzKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdEVuZCgwKSA9PSBPcmlnaW5hbCByZWRp
cmVjdEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCByZWRpcmVjdFN0YXJ0KDApID09IE9yaWdpbmFs
IHJlZGlyZWN0U3RhcnQoMCkiOiB7fSwNCisgICJSZWxvYWQgcmVxdWVzdFN0YXJ0KDEzNDAzNzYw
NzAyOTUpID4gT3JpZ2luYWwgcmVxdWVzdFN0YXJ0KDEzNDAzNzYwNzAxNjQpIjoge30sDQorICAi
UmVsb2FkIHJlc3BvbnNlRW5kKDEzNDAzNzYwNzAyOTYpID4gT3JpZ2luYWwgcmVzcG9uc2VFbmQo
MTM0MDM3NjA3MDE3NCkiOiB7fSwNCisgICJSZWxvYWQgcmVzcG9uc2VTdGFydCgxMzQwMzc2MDcw
Mjk2KSA+IE9yaWdpbmFsIHJlc3BvbnNlU3RhcnQoMTM0MDM3NjA3MDE2NCkiOiB7fSwNCisgICJS
ZWxvYWQgdW5sb2FkRXZlbnRFbmQoMTM0MDM3NjA3MDI5NikgPiBPcmlnaW5hbCB1bmxvYWRFdmVu
dEVuZCgwKSI6IHt9LA0KKyAgIlJlbG9hZCB1bmxvYWRFdmVudFN0YXJ0KDEzNDAzNzYwNzAyOTYp
ID4gT3JpZ2luYWwgdW5sb2FkRXZlbnRTdGFydCgwKSI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+ICAg
ICAgIA0KKyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9u
ZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNw
YWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nDQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2Uo
J25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB2YXIgcmVsb2FkX2ZyYW1lOw0KKyAgICAgICAg
ICAgIHZhciBzdGFydGluZ1RpbWU7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gZGVlcENvcHko
cCwgYykNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHZhciBjID0gYyB8fCB7fTsN
CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBwKQ0KKyAgICAgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBbaV0gPT09ICdvYmplY3QnKQ0KKyAgICAg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNbaV0gPSAocFtpXS5j
b25zdHJ1Y3RvciA9PT0gQXJyYXkpID8gW10gOiB7fTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICBkZWVwQ29weShwW2ldLCBjW2ldKTsNCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBjW2ld
ID0gcFtpXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICByZXR1cm4gYzsN
CisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgDQorICAgICAgICAgICAgZnVuY3Rpb24g
b25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2Zy
YW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAgICAgICAg
ICAgICAgICByZWxvYWRfZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAg
ICAgICAgLyogTmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBsb2FkRXZlbnRFbmQN
CisgICAgICAgICAgICAgICAgICAgICB1bnRpbCBhZnRlciB0aGUgbG9hZCBldmVudCBoYXMgZmlu
aXNoZWQgZmlyaW5nICovDQorCQkgICAgc2V0VGltZW91dChkb190ZXN0LCAwKTsNCisJCX0NCisg
ICAgICAgICAgICAgICAgc2V0VGltZW91dCgicmVsb2FkX3RoZV9mcmFtZSgpOyIsIDEwMCk7DQor
ICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlbG9hZF90aGVfZnJhbWUo
KQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy9CZWZvcmUgcmVsb2FkaW5nLCBz
YXZlIHRoZSBjdXJyZW50IHRpbWluZw0KKyAgICAgICAgICAgICAgICBzdGFydGluZ1RpbWUgPSBk
ZWVwQ29weShyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcpOw0K
KyAgICAgICAgICAgICAgICByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5yZWxv
YWQodHJ1ZSk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGRvX3Rl
c3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1lLm9ubG9h
ZCA9IG51bGw7DQorICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSkNCisg
ICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy9WZXJpZnkgdGhhdCB0aGUg
bmF2aWdhdGlvbiB0eXBlIGhhcyB1cGRhdGVkIHRvIHJlbG9hZA0KKyAgICAgICAgICAgICAgICAg
ICAgdGVzdF9lcXVhbHMocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5h
bWVzcGFjZS5uYXZpZ2F0aW9uLlRZUEVfUkVMT0FELA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCx7
aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0
aW9uLWluZm8taW50ZXJmYWNlIn0nKTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8vVmVyaWZ5
IHRoYXQgdGhlIHRpbWluZyBkYXRhIGhhcyBiZWVuIHVwZGF0ZWQgaW50byB0aGUgZnV0dXJlDQor
ICAgICAgICAgICAgICAgICAgICB2YXIgcmVsb2FkVGltZSA9IHJlbG9hZF9mcmFtZS5jb250ZW50
V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisgICAgICAgICAgICAgICAgICAgIGZvciAoYXR0
cmlidXRlIGluIHRpbWluZ0F0dHJpYnV0ZXMpDQorICAgICAgICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICAgICAgICAgICAgdmFyIHRpbWUgPSB0aW1pbmdBdHRyaWJ1dGVzW2F0dHJpYnV0
ZV07DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbG9hZFRpbWVbdGltZV0gPT09IDAp
DQorICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhyZWxvYWRUaW1lW3RpbWVdLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGFydGluZ1RpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJSZWxvYWQgIiArIHRpbWUgICsNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiA9PSAiICsNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIk9yaWdpbmFsICIgKyB0aW1lICk7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAg
ICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZ3JlYXRl
cl90aGFuKHJlbG9hZFRpbWVbdGltZV0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0aW5nVGltZVt0aW1lXSwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbG9hZCAiICsgdGltZSAgKw0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID4gIiArDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcmlnaW5hbCAiICsgdGltZSAp
Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIH0NCisg
ICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHkgb25sb2Fk
PSJvbmxvYWRfdGVzdCgpOyI+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAg
ICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2Ygd2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24udHlwZSBhbmQgdGhlIHZhbHVlcyBvZg0KKyAgICAgICAgICAgIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuKiB3aXRoIGEgcmVsb2FkZWQgbmF2aWdhdGlvbi48L3A+DQorDQor
ICAgICAgICA8cD5UaGlzIHBhZ2Ugc2hvdWxkIGJlIGxvYWRlZCB3aXRoIGEgZ3JlZW4gYmFja2dy
b3VuZCBmcmFtZSBiZWxvdy4gIFRoZSBmcmFtZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVsb2Fk
ZWQNCisgICAgICAgIGFuZCB0aGVuIHZlcmlmaWVkIHRoYXQgDQorICAgICAgICA8dWw+DQorICAg
ICAgICAgICAgPGxpPlRoZSB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID0gVFlQ
RV9SRUxPQUQ8L2xpPg0KKyAgICAgICAgICAgIDxsaT5BbGwgb2YgdGhlIHdpZG93LnBlcmZvcm1h
bmNlLnRpbWluZy4qIHZhbHVlcyBhZnRlciByZWxvYWQgYXJlID4gYWxsIG9mIHRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLiogdmFsdWVzDQorICAgICAgICAgICAgICAgIHByaW9yIHRvIHJl
bG9hZC48L2xpPg0KKyAgICAgICAgPC91bD4NCisgICAgICAgIDwvcD4NCisNCisgICAgICAgIDxk
aXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgICAgICA8YnIgLz4NCisgICAgICAgIDxpZnJhbWUgaWQ9
ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW4uaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQor
ICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X25vX3By
ZXZpb3VzX2RvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNj
L3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9ub19wcmV2aW91
c19kb2N1bWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVmY2U5YzVkYzA2MDQwZWEyYTlm
ZmM4ZTM5NjNkMGJhY2QyOWIwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9u
b19wcmV2aW91c19kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorRGVzY3Jp
cHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdW5sb2FkIGV2ZW50IHRpbWVzIGFyZSAw
IHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgZG9jdW1lbnQuCisKKworCisKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0
aW9uIGlzIGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJ
R0FURSAKK1BBU1MgdGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPT0gMCBvbiBuYXZpZ2F0aW9uIHdp
dGggbm8gcHJldmlvdXMgZG9jdW1lbnQgCitQQVNTIHRpbWluZy51bmxvYWRFdmVudEVuZCA9PSAw
IG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3Rf
bm9fcHJldmlvdXNfZG9jdW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzIyNGNlN2I0MzhjMDA5OGNj
NTQ4YTI0NTg0OWU1ZTdjNzA1MzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X25vX3ByZXZpb3VzX2RvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor77u/PCFET0NUWVBF
IGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1
dGVzIG9uIGFuIGluaXRpYWwgbmF2aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4N
CisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hl
Ij4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmlu
ZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGlt
aW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAi
VGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJX
M0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ0aW1pbmcubmF2aWdhdGlvbi50eXBl
IGlzIFRZUEVfTkFWSUdBVEUiOiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJ0aW1p
bmcudW5sb2FkRXZlbnRTdGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBk
b2N1bWVudCI6IHt9LA0KKyAgInRpbWluZy51bmxvYWRFdmVudEVuZCA9PSAwIG5hdmlnYXRpb24g
d2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCI6IHt9DQorfQ0KKyovPC9zY3JpcHQ+DQorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmNzcyIgLz4NCisgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHNldHVwKHtl
eHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAgdmFyIGZyYW1lOw0KKyAgICAg
ICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0K
KyAgICAgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgnbmF2aWdhdGlvbicpOw0KKyAgICAgICAg
ICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UpDQorICAgICAgICAgICAgICAgIHsNCisg
ICAgICAgICAgICAgICAgICAgIHRlc3RfdHJ1ZShmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24udHlwZSA9PSBwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLlRZ
UEVfTkFWSUdBVEUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWluZy5uYXZp
Z2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURScse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisN
CisgICAgICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQsIDAsICd0aW1pbmcudW5sb2FkRXZlbnRT
dGFydCA9PSAwIG9uIG5hdmlnYXRpb24gd2l0aCBubyBwcmV2aW91cyBkb2N1bWVudCcpOw0KKyAg
ICAgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcudW5sb2FkRXZlbnRFbmQsIDAsICd0aW1pbmcudW5sb2FkRXZlbnRFbmQgPT0g
MCBuYXZpZ2F0aW9uIHdpdGggbm8gcHJldmlvdXMgZG9jdW1lbnQnKTsNCisgICAgICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAg
PC9zY3JpcHQ+DQorICAgICAgICANCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keSBvbmxvYWQ9Im9u
bG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwvaDE+DQorICAgICAgICA8
cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB1bmxvYWQgZXZlbnQgdGltZXMgYXJlIDAgd2hlbiB0
aGVyZSBpcyBubyBwcmV2aW91cyBkb2N1bWVudC48L3A+DQorDQorICAgICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2PjxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9
Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0
aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRt
bD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19l
eGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2Fw
cHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRl
c19leGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkMmQ4NjllM2NiMzkwMTY0MDI0NmE1
NTczZDNlY2Q1NzNlM2QxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJm
b3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0Rl
c2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgbmF2aWdhdGlvbiBhbmQg
dGltaW5nIGF0dHJpYnV0ZXMgZXhpc3QgZm9yIHdpbmRvdy5wZXJmb3JtYW5jZSAoYnV0IGRvZXMg
bm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS4KKworCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2
aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRl
ZmluZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
YXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1
dGVzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0cmlidXRlc19l
eGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMThhOWQ5Njg3NWMxZTE2OWQxYjc5NTU1YTcxNThiNGRj
MWM5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2VfYXR0
cmlidXRlc19leGlzdC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0K
KzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0K
KyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGVzPC90aXRsZT4NCisg
ICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8v
d3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyA8
c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNl
IGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmln
YXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJh
c3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0
aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1
dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9y
bWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4N
CisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGFuZCB0aW1pbmcgYXR0cmli
dXRlcyBleGlzdCBmb3Igd2luZG93LnBlcmZvcm1hbmNlIA0KKyAgICAgICAgKGJ1dCBkb2VzIG5v
dCB2YWxpZGF0ZSB0aGF0IHRoZWlyIHZhbHVlcyBhcmUgY29ycmVjdCkuPC9wPg0KKyAgICAgICAg
PGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+ICAgICAgICAgICAgDQorICAg
ICAgICAgICAgdGVzdF9uYW1lc3BhY2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICB0ZXN0
X25hbWVzcGFjZSgndGltaW5nJywgdHJ1ZSk7DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9i
b2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcGVyZm9ybWFuY2Vf
YXR0cmlidXRlc19leGlzdF9pbl9vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lNmQ5ZmQ1NGI1N2E1MGM5NDE3M2ZhMDVjYjU0ZDMyMmIwODRiNDQ5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3Rf
aW5fb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgd2luZG93LnBlcmZvcm1hbmNlIG9iamVjdCBleGlz
dHMgaW4gYW4gb2JqZWN0IGVsZW1lbnQgKGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IHRoZWly
IHZhbHVlcyBhcmUgY29ycmVjdCkuCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVz
dF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2luX29iamVjdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3BlcmZvcm1hbmNlX2F0dHJpYnV0ZXNfZXhpc3RfaW5fb2JqZWN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODU1NGJjOTc1NDgxYjFkZGJkYjEyZjNjOWY3ZDMyZTJhODFmNTcxNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2
aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9wZXJmb3JtYW5jZV9hdHRyaWJ1dGVzX2V4aXN0X2lu
X29iamVjdC5odG1sCkBAIC0wLDAgKzEsNDggQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1s
Pg0KKyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAg
ICAgPHRpdGxlPndpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgZXhpc3RzIGluIGFuIG9iamVj
dDwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3Jt
YW5jZS1hdHRyaWJ1dGUiLz4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQor
ICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMg
YSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisg
ICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxwIjogImh0dHA6Ly93
d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0
dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1
dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmli
dXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5vcmcvIg0KKyAgfSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIjogew0KKyAgICAi
aGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRv
dy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cu
dzMub3JnLyINCisgIH0NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIiAvPg0KKyAgICAg
ICAgPHNjcmlwdD4NCisgICAgICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7DQorICAgICAg
ICAgICAgdmFyIG9ialdpbmRvdyA9DQorICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJvYmplY3RDb250ZXh0IikuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3Ow0KKyAg
ICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlID0gb2JqV2luZG93LnBlcmZvcm1hbmNlOw0K
KyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnKTsNCisgICAgICAgICAgICB0ZXN0
X25hbWVzcGFjZSgnbmF2aWdhdGlvbicsIHRydWUpOw0KKyAgICAgICAgICB9DQorICAgICAgICA8
L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNjcmlw
dGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRv
dy5wZXJmb3JtYW5jZSBvYmplY3QgZXhpc3RzIGluIGFuDQorICAgICAgICBvYmplY3QgZWxlbWVu
dCAoYnV0IGRvZXMgbm90IHZhbGlkYXRlIHRoYXQgdGhlaXIgdmFsdWVzIGFyZSBjb3JyZWN0KS48
L3A+DQorICAgICAgICA8b2JqZWN0IGlkPSJvYmplY3RDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90
ZXN0KCk7IiBkYXRhPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRt
Ij48L29iamVjdD4NCisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorICAgIDwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmln
YXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfcmVhZHdyaXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YTg5Yjk2NGQ3MGY5Njk0ZGVhNWFjMTg1YzFkZjRjZTYwYzQ0M2QxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5
IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBvYmplY3QgaXMgcmVhZC93cml0ZS4KKworCitQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgcmVhZC93cml0ZSAK
K1BBU1MgdmFyIHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF9yZWFkd3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dl
YnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF9yZWFkd3JpdGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MzM2NjI2NWI1ZjUwNzQwNWVlMDRjMWEzMWI5MzhmZjE1M2M2OTUwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3JlYWR3cml0ZS5odG1sCkBAIC0wLDAg
KzEsMzkgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAg
ICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAgPHRpdGxlPndpbmRvdy5wZXJm
b3JtYW5jZSBpcyByZWFkL3dyaXRlPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0K
Kwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24t
dGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIvPg0KKwk8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3Zp
ZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIv
Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy93ZWJwZXJm
L3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgaWQ9
Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5l
ZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1p
bmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJU
aGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBm
b3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlcz
QyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBy
ZWFkL3dyaXRlIjoge30sDQorICAidmFyIHBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUiOiB7fQ0K
K30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorICAgIDwvaGVhZD4NCisgICAgPGJv
ZHk+DQorICAgICAgICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0IHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlzIHJlYWQvd3Jp
dGUuPC9wPg0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxzY3JpcHQ+
DQorICAgICAgICAgICAgdGVzdF9uYW1lc3BhY2UoKTsNCisNCisgICAgICAgICAgICB3aW5kb3cu
cGVyZm9ybWFuY2UgPSAnZm9vJzsNCisgICAgICAgICAgICB0ZXN0X2VxdWFscyh3aW5kb3cucGVy
Zm9ybWFuY2UsICdmb28nLCAnd2luZG93LnBlcmZvcm1hbmNlIGlzIHJlYWQvd3JpdGUnKTsNCisN
CisgICAgICAgICAgICB2YXIgcGVyZm9ybWFuY2UgPSAnYmFyJzsNCisgICAgICAgICAgICB0ZXN0
X2VxdWFscyhwZXJmb3JtYW5jZSwgJ2JhcicsICd2YXIgcGVyZm9ybWFuY2UgaXMgcmVhZC93cml0
ZScpOw0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0
aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlv
bi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzVhMTZiZjFiYWFlZWM1N2JjODM0OTc3MGYyNjAxZTdjY2VkZGY3MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19leGlzdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1
dGVzIGV4aXN0IChidXQgZG9lcyBub3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNv
cnJlY3QpLgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5jb25uZWN0RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmNvbm5lY3RTdGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Db21wbGV0ZSBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMgZGVm
aW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgaXMg
ZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyBpcyBk
ZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQg
aXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3Vw
U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hT
dGFydCBpcyBkZWZpbmVkLiAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZl
bnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2
ZW50U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2
aWdhdGlvblN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlZGlyZWN0RW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlZGlyZWN0U3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1p
bmcucmVxdWVzdFN0YXJ0IGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlc3BvbnNlRW5kIGlzIGRlZmluZWQuIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlc3BvbnNlU3RhcnQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcudW5sb2FkRXZlbnRFbmQgaXMgZGVmaW5lZC4gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWlu
Zy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rl
c3RfdGltaW5nX2F0dHJpYnV0ZXNfZXhpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQzOWQ1NDE5OWUw
ZDQ2OWFjNDY0MmUwY2JjYzU0ZWU3NWJlYmNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1s
NS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX2V4aXN0Lmh0bWwKQEAgLTAsMCArMSw2MSBAQAor77u/
PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
ZyBhdHRyaWJ1dGVzPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
TWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+ICAgICAgICANCisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAg
ICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9jYWNoZSI+
LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAgICJoZWxw
IjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5wZXJmb3Jt
YW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3dy53My5v
cmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlzIGRlZmluZWQiOiB7
DQorICAgICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNz
ZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdp
bmRvdy5wZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBl
cmZvcm1hbmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0
cDovL3d3dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNv
bm5lY3RFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmNvbm5lY3RTdGFydCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50
aW1pbmcuZG9tQ29tcGxldGUgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQgaXMg
ZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUludGVyYWN0
aXZlIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21M
b2FkaW5nIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5k
b21haW5Mb29rdXBFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0YXJ0IGlzIGRlZmluZWQuIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQgaXMgZGVmaW5l
ZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0RW5kIGlzIGRl
ZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0
IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXF1ZXN0
U3RhcnQgaXMgZGVmaW5lZC4iOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJl
c3BvbnNlRW5kIGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZXNwb25zZVN0YXJ0IGlzIGRlZmluZWQuIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy51bmxvYWRFdmVudEVuZCBpcyBkZWZpbmVkLiI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCBpcyBkZWZpbmVkLiI6IHt9DQorfQ0KKyov
PC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8aDE+RGVzY3Jp
cHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGFsbCBvZiB0
aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGV4aXN0IChidXQgZG9lcyBu
b3QgdmFsaWRhdGUgdGhhdCB0aGVpciB2YWx1ZXMgYXJlIGNvcnJlY3QpLjwvcD4NCisNCisgICAg
ICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAg
dGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAg
IHRlc3RfYXR0cmlidXRlX2V4aXN0cygndGltaW5nJywgdGltaW5nQXR0cmlidXRlc1tpXSk7DQor
ICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29yZGVyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MzFkODE4NGQzYjczYzFkZTNiNmU4OGIyNDRlMDdjMmQ0YjFmNGQ1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19hdHRyaWJ1dGVzX29y
ZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU4IEBACitmcmFtZSAiZnJhbWVDb250ZXh0IiAt
IGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhlIG9yZGVyaW5nIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJp
YnV0ZXMuCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dy
b3VuZCBmcmFtZSBiZWxvdyB3aGljaCBjb250YWlucyBhbiB1bmxvYWQgZXZlbnQgaGFuZGxlci4K
KworQWZ0ZXIgdGhlIHBhZ2UgbG9hZHMsIHRoZSBmcmFtZSBpcyBuYXZpZ2F0ZWQgdG8gYSBuZXcg
YmxhbmsgcGFnZSB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4gQXQgdGhpcyBwb2ludCwgdGhlIG5h
dmlnYXRpb24gdGltZWxpbmUgaXMgdmVyaWZpZWQKKworVGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwg
b2YgdGhlIGNoZWNrcyB0byB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRy
aWJ1dGVzIGFyZSBjb3JyZWN0IHRocm91Z2hvdXQgdGhlIG5hdmlnYXRpb24gc2NlbmFyaW8gYW5k
IHRoZSBmcmFtZSBiZWxvdyBlbmRzIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5kLiBPdGhlcndpc2Us
IHRoaXMgdGVzdCBmYWlscy4KKworU2V0dXAKKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVk
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfTkFWSUdBVEUgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcucmVkaXJlY3RFbmQgPT0gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1h
bmNlLnRpbWluZy5mZXRjaFN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5mZXRjaFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cFN0YXJ0ID4gMCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tYWluTG9va3VwRW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5kb21haW5Mb29rdXBFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5M
b29rdXBTdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQg
PiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RTdGFydCA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCAKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5jb25uZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdFN0YXJ0
IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCA+IDAgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcuY29ubmVjdEVuZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZXNwb25zZVN0YXJ0ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25z
ZVN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVxdWVzdFN0YXJ0IAorUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlRW5kID4gMCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZUVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlc3BvbnNlU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGlu
ZyA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tTG9hZGluZyA+PSB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLmRvbUludGVyYWN0aXZlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VF
bmQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50
U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRlbnRMb2Fk
ZWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUg
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
ID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZl
bnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRT
dGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db21wbGV0ZSA+IDAgCitQ
QVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgPj0gd2luZG93LnBlcmZv
cm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQgCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgPiAwIAorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmxvYWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
Q29udGVudExvYWRlZEV2ZW50RW5kIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxv
YWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50
RW5kID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubG9hZEV2ZW50U3RhcnQgCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCA+IDAgCitQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLm5hdmlnYXRpb25TdGFydCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy51bmxvYWRFdmVudEVuZCA+IDAgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcudW5s
b2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0YXJ0
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdh
dGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfYXR0cmlidXRlc19vcmRlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZTliMTgzZTgxM2VkNDUwM2FiZjczN2RmZWViN2ExYjRkM2Q0MWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2F0dHJpYnV0ZXNfb3JkZXIuaHRtbApA
QCAtMCwwICsxLDE2NyBAQAor77u/PCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorICAgIDxoZWFk
Pg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQorICAgICAgICA8dGl0bGU+d2lu
ZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGUgb3JkZXJpbmcgb24gYSBzaW1wbGUgbmF2
aWdhdGlvbjwvdGl0bGU+DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jv
c29mdCIgaHJlZj0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5h
dmlnYXRpb24tdGltaW5nLWludGVyZmFjZSIvPiAgICAgICAgDQorICAgICAgICA8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4N
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCisgPHNjcmlwdCBpZD0ibWV0
YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjog
ew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8j
c2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0
dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBp
cyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0
aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNz
ZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGlu
ZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRo
b3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1h
bmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmli
dXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURSI6IHsg
ImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZp
Z2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
bmF2aWdhdGlvblN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
cmVkaXJlY3RTdGFydCA9PSAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZWRpcmVjdEVuZCA9PSAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5mZXRj
aFN0YXJ0ID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFy
dCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCI6IHt9LA0KKyAg
IndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tYWluTG9va3VwU3RhcnQgPiAwIjoge30sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBTdGFydCA+PSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLmZldGNoU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFu
Y2UudGltaW5nLmRvbWFpbkxvb2t1cEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bWFpbkxvb2t1cFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25u
ZWN0U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0
U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21haW5Mb29rdXBFbmQiOiB7fSwN
CisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmNvbm5lY3RFbmQgPiAwIjoge30sDQorICAi
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kID49IHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuY29ubmVjdFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZXF1ZXN0U3RhcnQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5y
ZXF1ZXN0U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0RW5kIjoge30s
DQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZXNwb25zZVN0YXJ0ID4gMCI6IHt9LA0K
KyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydCA+PSB3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnJlcXVlc3RTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcucmVzcG9uc2VFbmQgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZXNwb25zZUVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3Rh
cnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUxvYWRpbmcgPiAwIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Mb2FkaW5nID49IHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcuZG9tSW50ZXJhY3RpdmUgPiAwIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNl
LnRpbWluZy5kb21JbnRlcmFjdGl2ZSA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3Bv
bnNlRW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5kb21Db250ZW50TG9h
ZGVkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9t
SW50ZXJhY3RpdmUiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbnRl
bnRMb2FkZWRFdmVudEVuZCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmRv
bUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5kb21Db21wbGV0ZSA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LmRvbUNvbXBsZXRlID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRl
ZEV2ZW50RW5kIjoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRT
dGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLmxvYWRFdmVudFN0
YXJ0ID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29udGVudExvYWRlZEV2ZW50RW5k
Ijoge30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPiAwIjog
e30sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRFbmQgPj0gd2luZG93
LnBlcmZvcm1hbmNlLnRpbWluZy5sb2FkRXZlbnRTdGFydCI6IHt9LA0KKyAgIndpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcudW5sb2FkRXZlbnRTdGFydCA+IDAiOiB7fSwNCisgICJ3aW5kb3cucGVy
Zm9ybWFuY2UudGltaW5nLnVubG9hZEV2ZW50U3RhcnQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5uYXZpZ2F0aW9uU3RhcnQiOiB7fSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnVubG9hZEV2ZW50RW5kID4gMCI6IHt9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
dW5sb2FkRXZlbnRFbmQgPj0gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy51bmxvYWRFdmVudFN0
YXJ0Ijoge30NCit9DQorKi88L3NjcmlwdD4gICAgICAgDQorICAgICAgICA8c2NyaXB0Pg0KKyAg
ICAgICAgICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7DQorDQorICAgICAgICAgICAg
dGVzdF9uYW1lc3BhY2UoJ3RpbWluZycpOw0KKw0KKyAgICAgICAgICAgIHZhciBzdGVwID0gMTsN
CisgICAgICAgICAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpDQorICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICBpZiAoc3RlcCA9PT0gMSAmJiB3aW5kb3cucGVyZm9ybWFuY2UgPT09IHVu
ZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gYXZv
aWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAg
ICAgIHZhciBuYXZpZ2F0aW9uX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1l
Q29udGV4dCIpLmNvbnRlbnRXaW5kb3c7DQorICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFt
ZXNwYWNlID0gbmF2aWdhdGlvbl9mcmFtZS5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAgICAg
c3dpdGNoIChzdGVwKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBj
YXNlIDE6DQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAg
bmF2aWdhdGlvbl9mcmFtZS5sb2NhdGlvbi5ocmVmID0gJy93M2Mvd2VicGVyZi9yZXNvdXJjZXMv
YmxhbmtfcGFnZV9ncmVlbi5odG0nOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXArKzsN
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgIH0N
CisgICAgICAgICAgICAgICAgY2FzZSAyOg0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJywgdHJ1ZSk7DQor
DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8NCisgICAgICAgICAgICAgICAgICAgICAgICAv
LyBUZXN0cw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2
aWdhdGlvbi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3dpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT0gVFlQRV9OQVZJR0FURScse2hl
bHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlv
bi1pbmZvLWludGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBuYXZp
Z2lhdGlvbiBtdXN0IGJlIG5vbi0wDQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1p
bmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0aW9uU3RhcnQnLCAwKTsNCisNCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBtdXN0IGJlIG5vIHJlZGlyZWN0aW9uIGZvciB0aGlzIHRlc3QgY2FzZQ0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2VxdWFscygncmVkaXJlY3RTdGFy
dCcsIDApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX2VxdWFscygncmVk
aXJlY3RFbmQnLCAwKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB2YWxpZGF0ZSBh
dHRyaWJ1dGUgb3JkZXJpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19v
cmRlcignZmV0Y2hTdGFydCcsICduYXZpZ2F0aW9uU3RhcnQnKTsNCisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0X3RpbWluZ19vcmRlcignZG9tYWluTG9va3VwU3RhcnQnLCAnZmV0Y2hTdGFy
dCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21haW5M
b29rdXBFbmQnLCAnZG9tYWluTG9va3VwU3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3RpbWluZ19vcmRlcignY29ubmVjdFN0YXJ0JywgJ2RvbWFpbkxvb2t1cEVuZCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdjb25uZWN0RW5kJywg
J2Nvbm5lY3RTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29y
ZGVyKCdyZXF1ZXN0U3RhcnQnLCAnY29ubmVjdEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZXNwb25zZVN0YXJ0JywgJ3JlcXVlc3RTdGFydCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdyZXNwb25zZUVuZCcs
ICdyZXNwb25zZVN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdf
b3JkZXIoJ2RvbUxvYWRpbmcnLCAnZmV0Y2hTdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21JbnRlcmFjdGl2ZScsICdyZXNwb25zZUVuZCcpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Db250ZW50TG9h
ZGVkRXZlbnRTdGFydCcsICdkb21JbnRlcmFjdGl2ZScpOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RfdGltaW5nX29yZGVyKCdkb21Db250ZW50TG9hZGVkRXZlbnRFbmQnLCAnZG9tQ29u
dGVudExvYWRlZEV2ZW50U3RhcnQnKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Rp
bWluZ19vcmRlcignZG9tQ29tcGxldGUnLCAnZG9tQ29udGVudExvYWRlZEV2ZW50RW5kJyk7DQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ2xvYWRFdmVudFN0YXJ0
JywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RfdGltaW5nX29yZGVyKCdsb2FkRXZlbnRFbmQnLCAnbG9hZEV2ZW50U3RhcnQnKTsNCisN
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXR1cCByZXF1aXJlcyB0aGUgZnJhbWUgdG8g
aGF2ZSBhIHByZXZpb3VzIHBhZ2Ugd2l0aCBhbiBvbnVubG9hZCBldmVudCBoYW5kbGVyLg0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCd1bmxvYWRFdmVudFN0YXJ0
JywgJ25hdmlnYXRpb25TdGFydCcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdGlt
aW5nX29yZGVyKCd1bmxvYWRFdmVudEVuZCcsICd1bmxvYWRFdmVudFN0YXJ0Jyk7DQorDQorICAg
ICAgICAgICAgICAgICAgICAgICAgc3RlcCsrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGRv
bmUoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAg
ICAgIH0NCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQorICAgICAg
ICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8Ym9keT4NCisgICAgICAgIDxoMT5EZXNj
cmlwdGlvbjwvaDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBvcmRlcmlu
ZyBvZiB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzLjwvcD4NCisNCisg
ICAgICAgIDxwPlRoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSB5ZWxsb3cgYmFja2dy
b3VuZCBmcmFtZSBiZWxvdyB3aGljaCBjb250YWlucyBhbiB1bmxvYWQgZXZlbnQNCisgICAgICAg
ICAgIGhhbmRsZXIuPC9wPg0KKw0KKyAgICAgICAgPHA+QWZ0ZXIgdGhlIHBhZ2UgbG9hZHMsIHRo
ZSBmcmFtZSBpcyBuYXZpZ2F0ZWQgdG8gYSBuZXcgYmxhbmsgcGFnZSB3aXRoIGEgZ3JlZW4gYmFj
a2dyb3VuZC4gIEF0IHRoaXMgcG9pbnQsIHRoZSBuYXZpZ2F0aW9uIHRpbWVsaW5lIGlzIHZlcmlm
aWVkPC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiBhbGwgb2YgdGhlIGNo
ZWNrcyB0byB0aGUgZnJhbWUud2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBhdHRyaWJ1dGVzIGFy
ZQ0KKyAgICAgICAgICAgY29ycmVjdCB0aHJvdWdob3V0IHRoZSBuYXZpZ2F0aW9uIHNjZW5hcmlv
IGFuZCB0aGUgZnJhbWUgYmVsb3cgZW5kcyB3aXRoIGEgZ3JlZW4gYmFja2dyb3VuZC4NCisgICAg
ICAgICAgIE90aGVyd2lzZSwgdGhpcyB0ZXN0IGZhaWxzLjwvcD4NCisNCisgICAgICAgIDxoMT5T
ZXR1cDwvaDE+DQorDQorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJy
IC8+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiDQorICAgICAgICAgICAgICAg
IG9ubG9hZD0iLyogTmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgZXhhbWluZSBsb2FkRXZlbnRF
bmQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCBhZnRlciB0aGUgbG9hZCBldmVu
dCBoYXMgZmluaXNoZWQgZmlyaW5nICovDQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChvbmxvYWRfdGVzdCwgMCk7Ig0KKyAgICAgICAgICAgICAgICBzcmM9Ii93M2Mvd2VicGVy
Zi9yZXNvdXJjZXMvYmxhbmtfcGFnZV91bmxvYWQuaHRtIg0KKyAgICAgICAgICAgICAgICBzdHls
ZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgIDwvYm9keT4N
Cis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19jbGllbnRfcmVk
aXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19jbGllbnRfcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxNDJiODkyZGIyNWI2MDAzMjNlODcxMTA2ZDYy
NmU4NGVkNDhmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX2Ns
aWVudF9yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cubmF2aWdhdGlv
bi5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVj
dFN0YXJ0L0VuZCB0aW1lcyBvbiBhIGNsaWVudCBzaWRlIHJlZGlyZWN0LgorCisKKworCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGlz
IGRlZmluZWQgCitQQVNTIHRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMgVFlQRV9OQVZJR0FURSAK
K1BBU1MgbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0
ZWQgbmF2aWdhdGlvbiAKK1BBU1MgdGltaW5nLnJlZGlyZWN0U3RhcnQgPT0gMCBvbiBhbiBjbGll
bnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB0aW1pbmcucmVkaXJlY3RFbmQgPT0gMCBv
biBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0
bWw1L3Rlc3RfdGltaW5nX2NsaWVudF9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3Rp
bWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjBkZmNhNjQxMWMwYTJkOGUw
NWUzM2VjMGVhZmFhOGI5MWY1YjQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0
X3RpbWluZ19jbGllbnRfcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDc4IEBACivvu788IURPQ1RZ
UEUgaHRtbD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4NCisgICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGly
ZWN0IGF0dHJpYnV0ZXMgb24gYSBjbGllbnQgcmVkaXJlY3QgbmF2aWdhdGlvbjwvdGl0bGU+DQor
ICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0cDov
L3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5nLWlu
dGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAg
ICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8qDQorew0KKyAgIndp
bmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRy
aWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRl
IHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0
ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQor
ICAid2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCI6IHsNCisgICAgImhl
bHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZv
cm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2Ug
cmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3Lncz
Lm9yZy8iDQorICB9LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCI6
IHsNCisgICAgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcv
I3NlYy13aW5kb3cucGVyZm9ybWFuY2UtYXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUg
d2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3Ig
cGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBo
dHRwOi8vd3d3LnczLm9yZy8iDQorICB9LA0KKyAgInRpbWluZy5uYXZpZ2F0aW9uLnR5cGUgaXMg
VFlQRV9OQVZJR0FURSI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlv
bi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNlIiB9LA0KKyAgIm5hdmlnYXRp
b24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24i
OiB7ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
bmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSIgfSwNCisgICJ0aW1pbmcucmVkaXJlY3RTdGFydCA9
PSAwIG9uIGFuIGNsaWVudCByZWRpcmVjdGVkIG5hdmlnYXRpb24iOiB7fSwNCisgICJ0aW1pbmcu
cmVkaXJlY3RFbmQgPT0gMCBvbiBhbiBjbGllbnQgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIjoge30N
Cit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAgc2V0dXAo
e2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICB0ZXN0X25hbWVzcGFjZSgn
bmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCd0aW1pbmcnLCB0cnVl
KTsNCisNCisgICAgICAgICAgICB2YXIgcmVkaXJlY3RfZnJhbWU7DQorICAgICAgICAgICAgZnVu
Y3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYg
KHBlcmZvcm1hbmNlTmFtZXNwYWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAg
ICAgICAgICAgIGRvbmUoKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAg
ICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICByZWRpcmVjdF9mcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKTsNCisgICAgICAgICAgICAgICAgcmVkaXJl
Y3RfZnJhbWUub25sb2FkID0gZG9fdGVzdDsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAg
ICAgZnVuY3Rpb24gZG9fdGVzdCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBy
ZWRpcmVjdF9mcmFtZS5vbmxvYWQgPSAiIjsNCisgICAgICAgICAgICAgICAgdGVzdF90cnVlKHJl
ZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09
IHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdB
VEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5h
dmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorDQorICAgICAgICAgICAgICAgIHRlc3RfZXF1
YWxzKHJlZGlyZWN0X2ZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5y
ZWRpcmVjdENvdW50LCAwLCAnbmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ID09IDAgb24gYW4gY2xp
ZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicse2hlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RSL25h
dmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWludGVyZmFjZSJ9KTsNCisgICAg
ICAgICAgICAgICAgdGVzdF9lcXVhbHMocmVkaXJlY3RfZnJhbWUuY29udGVudFdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWluZy5yZWRpcmVjdFN0YXJ0ID09
IDAgb24gYW4gY2xpZW50IHJlZGlyZWN0ZWQgbmF2aWdhdGlvbicpOw0KKyAgICAgICAgICAgICAg
ICB0ZXN0X2VxdWFscyhyZWRpcmVjdF9mcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy5yZWRpcmVjdEVuZCwgMCwgJ3RpbWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGFuIGNsaWVu
dCByZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisNCisgICAgICAgICAgICAgICAgZG9uZSgpOw0K
KyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAg
IDxib2R5IG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiPg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9u
PC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0aGUg
d2luZG93Lm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBhbmQgdGhlDQorICAgICAgICAgICB3aW5k
b3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5kIHRpbWVzIG9uIGEgY2xpZW50
IHNpZGUgcmVkaXJlY3QuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj48YnIg
Lz4NCisgICAgICAgIDxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSIvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfbWV0YV9yZWRpcmVjdC5odG0iIHN0eWxlPSJ3aWR0aDogMjUw
cHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGlt
aW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZh
ZDcwNDllYzU0MjA3MzFiNDM1NzdmODU0NDNkNjk1YmU5NDMzMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10
aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5
IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBjaGFuZ2Ugd2hlbiBhIHBhZ2UgaXMgcmVsb2Fk
ZWQuCisKK1RoaXMgcGFnZSBzaG91bGQgYmUgbG9hZGVkIHdpdGggYSBncmVlbiBiYWNrZ3JvdW5k
IGZyYW1lIGJlbG93LiBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbG9hZGVkIGFu
ZCB0aGVuIHZlcmlmaWVkIHRoYXQgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgYXR0cmli
dXRlcyBoYXZlIGJlZW4gdXBkYXRlZCB0byB0aGUgbmV3IHJlbG9hZGVkIG5hdmlnYXRpb24gdGlt
aW5ncy4KKworCisKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCAKK1BBU1MgY29ubmVjdEVu
ZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGNvbm5lY3RTdGFydCBpcyBk
aWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUNvbXBsZXRlIGlzIGRpZmZlcmVu
dCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIGlzIGRp
ZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgZG9tQ29udGVudExvYWRlZEV2ZW50U3Rh
cnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21JbnRlcmFjdGl2ZSBp
cyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGRvbUxvYWRpbmcgaXMgZGlmZmVy
ZW50IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21haW5Mb29rdXBFbmQgaXMgZGlmZmVyZW50
IGFmdGVyIHRoZSByZWxvYWQuIAorUEFTUyBkb21haW5Mb29rdXBTdGFydCBpcyBkaWZmZXJlbnQg
YWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIGZldGNoU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRo
ZSByZWxvYWQuIAorUEFTUyBsb2FkRXZlbnRFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxv
YWQuIAorUEFTUyBsb2FkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4g
CitQQVNTIG5hdmlnYXRpb25TdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQ
QVNTIHJlcXVlc3RTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCitQQVNTIHJl
c3BvbnNlRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiAKK1BBU1MgcmVzcG9uc2VT
dGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcv
aHRtbDUvdGVzdF90aW1pbmdfcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3Jl
bG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzQxY2M5ODkwZWNlMTBjMTY0YTk5ZTNkZTMyNGQ2ZGU0
YzFiZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3JlbG9hZC5o
dG1sCkBAIC0wLDAgKzEsMTIyIEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCisgICAg
PGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0aXRs
ZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgYWZ0ZXIgYSByZWxvYWRlZCBu
YXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWlj
cm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMt
bmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNlIi8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAg
ICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyIgLz4NCis8c2NyaXB0IGlkPSJtZXRhZGF0YV9j
YWNoZSI+LyoNCit7DQorICAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQiOiB7DQorICAg
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2lu
ZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3
dy53My5vcmcvIg0KKyAgfSwNCisgICJ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBk
ZWZpbmVkIjogew0KKyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9u
LXRpbWluZy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0
IjogIlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBh
cmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3Ii
OiAiVzNDIGh0dHA6Ly93d3cudzMub3JnLyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24udHlwZSA9PSBUWVBFX1JFTE9BRCI6IHsgImhlbHAiOiAiaHR0cDovL3d3dy53
My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJmYWNl
IiB9LA0KKyAgImNvbm5lY3RFbmQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQuIjoge30s
DQorICAiY29ubmVjdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0K
KyAgImRvbUNvbXBsZXRlIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiI6IHt9LA0KKyAg
ImRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJlbG9hZC4i
OiB7fSwNCisgICJkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIg
dGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21JbnRlcmFjdGl2ZSBpcyBkaWZmZXJlbnQgYWZ0ZXIg
dGhlIHJlbG9hZC4iOiB7fSwNCisgICJkb21Mb2FkaW5nIGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiI6IHt9LA0KKyAgImRvbWFpbkxvb2t1cEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhl
IHJlbG9hZC4iOiB7fSwNCisgICJkb21haW5Mb29rdXBTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIg
dGhlIHJlbG9hZC4iOiB7fSwNCisgICJmZXRjaFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUg
cmVsb2FkLiI6IHt9LA0KKyAgImxvYWRFdmVudEVuZCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJl
bG9hZC4iOiB7fSwNCisgICJsb2FkRXZlbnRTdGFydCBpcyBkaWZmZXJlbnQgYWZ0ZXIgdGhlIHJl
bG9hZC4iOiB7fSwNCisgICJuYXZpZ2F0aW9uU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSBy
ZWxvYWQuIjoge30sDQorICAicmVxdWVzdFN0YXJ0IGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVs
b2FkLiI6IHt9LA0KKyAgInJlc3BvbnNlRW5kIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2Fk
LiI6IHt9LA0KKyAgInJlc3BvbnNlU3RhcnQgaXMgZGlmZmVyZW50IGFmdGVyIHRoZSByZWxvYWQu
Ijoge30NCit9DQorKi88L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQ+DQorICAgICAgICAgICAg
c2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsNCisNCisgICAgICAgICAgICAvLyBleHBsaWNp
dGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZw0KKyAgICAgICAg
ICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQorDQorICAgICAgICAgICAgdmFyIHJl
bG9hZF9mcmFtZTsNCisgICAgICAgICAgICB2YXIgaW5pdGlhbF90aW1pbmc7DQorDQorICAgICAg
ICAgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgcmVsb2FkX2ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4
dCIpOw0KKw0KKyAgICAgICAgICAgICAgICBpZiAocmVsb2FkX2ZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2UgPT09IHVuZGVmaW5lZCkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICAgICAgLy8gYXZvaWQgc2NyaXB0IGVycm9ycw0KKyAgICAgICAgICAgICAgICAgICAg
ZG9uZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgICB9
DQorDQorICAgICAgICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSBkb190ZXN0Ow0KKw0K
KyAgICAgICAgICAgICAgICAvLyBzYXZlIGZyYW1lJ3MgaW5pdGlhbCB0aW1pbmdzDQorICAgICAg
ICAgICAgICAgIGluaXRpYWxfdGltaW5nID0ge307DQorICAgICAgICAgICAgICAgIHZhciB0aW1p
bmcgPSByZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmc7DQorDQor
ICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltaW5nQXR0cmlidXRlcy5sZW5n
dGg7ICsraSkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHBy
b3BlcnR5ID0gdGltaW5nQXR0cmlidXRlc1tpXTsNCisgICAgICAgICAgICAgICAgICAgIGluaXRp
YWxfdGltaW5nW3Byb3BlcnR5XSA9IHRpbWluZ1twcm9wZXJ0eV07DQorICAgICAgICAgICAgICAg
IH0NCisNCisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgicmVsb2FkX3RoZV9mcmFtZSgpOyIs
IDEwMCk7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlbG9hZF90
aGVfZnJhbWUoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgcmVsb2FkX2ZyYW1l
LmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKHRydWUpOw0KKyAgICAgICAgICAgIH0NCisN
CisgICAgICAgICAgICBmdW5jdGlvbiBkb190ZXN0KCkNCisgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgIHJlbG9hZF9mcmFtZS5vbmxvYWQgPSAiIjsNCisNCisgICAgICAgICAgICAgICAg
Ly8gZW5zdXJlIHRoZSBmcmFtZSByZWxvYWRlZA0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFs
cyhyZWxvYWRfZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmln
YXRpb24uVFlQRV9SRUxPQUQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5kb3cu
cGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlID09IFRZUEVfUkVMT0FEIiwge2hlbHA6Imh0dHA6
Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi1pbmZvLWlu
dGVyZmFjZSJ9KTsNCisNCisgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHJlbG9hZCB0aW1pbmdz
IGNoYW5nZWQNCisgICAgICAgICAgICAgICAgdmFyIHRpbWluZyA9IHJlbG9hZF9mcmFtZS5jb250
ZW50V2luZG93LnBlcmZvcm1hbmNlLnRpbWluZzsNCisgICAgICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aW1pbmdBdHRyaWJ1dGVzLmxlbmd0aDsgKytpKQ0KKyAgICAgICAgICAgICAg
ICB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aW1pbmdBdHRyaWJ1dGVz
W2ldOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlIGFueSB0aW1pbmdzIHRoYXQg
d2VyZSB6ZXJvIGluaXRpYWxseQ0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGluaXRpYWxfdGlt
aW5nW3Byb3BlcnR5XSAhPT0gMCkNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0X25vdF9lcXVhbHModGltaW5nW3Byb3BlcnR5XSwgaW5pdGlhbF90
aW1pbmdbcHJvcGVydHldLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVy
dHkgKyAiIGlzIGRpZmZlcmVudCBhZnRlciB0aGUgcmVsb2FkLiIpOw0KKyAgICAgICAgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIGRvbmUoKTsN
CisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KKyAgICA8
Ym9keSBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7Ij4NCisgICAgICAgIDxoMT5EZXNjcmlwdGlvbjwv
aDE+DQorICAgICAgICA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIHdpbmRvdy5wZXJm
b3JtYW5jZS50aW1pbmcgYXR0cmlidXRlcyBjaGFuZ2Ugd2hlbiBhIHBhZ2UgaXMgcmVsb2FkZWQu
PC9wPg0KKw0KKyAgICAgICAgPHA+VGhpcyBwYWdlIHNob3VsZCBiZSBsb2FkZWQgd2l0aCBhIGdy
ZWVuIGJhY2tncm91bmQgZnJhbWUgYmVsb3cuICBUaGUgZnJhbWUgd2lsbCBiZSBhdXRvbWF0aWNh
bGx5IHJlbG9hZGVkDQorICAgICAgICBhbmQgdGhlbiB2ZXJpZmllZCB0aGF0IHRoZSB3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nIGF0dHJpYnV0ZXMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdGhlIG5l
dyByZWxvYWRlZCBuYXZpZ2F0aW9uIHRpbWluZ3MuPC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0i
bG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0KKyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVD
b250ZXh0IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0i
IHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisNCisgICAg
PC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3Nl
cnZlcl9yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZl
cl9yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNiZDE5YjcyNTk0OWEwMDEzZTEz
ZTJiNzhhMTcwYzcwZWQ3YTZiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90
aW1pbmdfc2VydmVyX3JlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitEZXNj
cmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZS5yZWRpcmVjdENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWlu
Zy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBzYW1lLW9yaWdpbiBzZXJ2ZXIgc2lkZSBy
ZWRpcmVjdCBuYXZpZ2F0aW9uLgorCisKKworCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBk
ZWZpbmVkIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBkZWZpbmVkIAor
UEFTUyB0aW1pbmcubmF2aWdhdGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUgCitQQVNTIG5hdmln
YXRpb24ucmVkaXJlY3RDb3VudCA9PSAxIG9uIGFuIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRp
b24gCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0ID4gMCAK
K1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID4gMCAKK1BBU1Mg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0ID49IHdpbmRvdy5wZXJmb3Jt
YW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0IAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGlt
aW5nLnJlZGlyZWN0RW5kID4gMCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRp
cmVjdEVuZCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQgCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+IDAgCitQQVNTIHdpbmRvdy5w
ZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCA+PSB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnJlZGlyZWN0RW5kIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3NlcnZl
cl9yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHBy
b3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJlY3Qu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMjE3YzhmNzA1YmFlNGUzOTIzMGVlOWE2MzhkZmNmZDM0MGI2MmIx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ19zZXJ2ZXJfcmVkaXJl
Y3QuaHRtbApAQCAtMCwwICsxLDQ3IEBACivvu788IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4NCisg
ICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisgICAgICAgIDx0
aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0IGF0dHJpYnV0ZXMgb24gYSBz
YW1lLW9yaWdpbiBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uPC90aXRsZT4NCisgICAgICAg
IDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBocmVmPSJodHRwOi8vd3d3Lm1p
Y3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtbmF2aWdhdGlvbi10aW1pbmctaW50ZXJmYWNl
Ii8+DQorICAgICAgICA8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3dlYnBl
cmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorDQorICAgICAg
ICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNlKCduYXZpZ2F0aW9uJyk7DQor
ICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkKQ0K
KyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBzY3JpcHQg
ZXJyb3JzDQorICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgcGVyZm9y
bWFuY2VOYW1lc3BhY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0Iiku
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlvbi50eXBlLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24uVFlQRV9OQVZJR0FURSwNCisg
ICAgICAgICAgICAgICAgICAgICAgICAndGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05B
VklHQVRFJyk7DQorICAgICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNw
YWNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCwgMSwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3Vu
dCA9PSAxIG9uIGFuIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24nKTsNCisNCisgICAgICAg
ICAgICAgICAgdGVzdF90aW1pbmdfZ3JlYXRlcl90aGFuKCduYXZpZ2F0aW9uU3RhcnQnLCAwKTsN
CisNCisgICAgICAgICAgICAgICAgdGVzdF90aW1pbmdfb3JkZXIoJ3JlZGlyZWN0U3RhcnQnLCAn
bmF2aWdhdGlvblN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgIHRlc3RfdGltaW5nX29yZGVyKCdy
ZWRpcmVjdEVuZCcsICdyZWRpcmVjdFN0YXJ0Jyk7DQorICAgICAgICAgICAgICAgIHRlc3RfdGlt
aW5nX29yZGVyKCdmZXRjaFN0YXJ0JywgJ3JlZGlyZWN0RW5kJyk7DQorICAgICAgICAgICAgfQ0K
KyAgICAgICAgPC9zY3JpcHQ+DQorDQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAg
ICA8aDE+RGVzY3JpcHRpb248L2gxPg0KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0
aGUgdmFsdWVzIG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2UucmVkaXJlY3RDb3VudCBhbmQgdGhl
DQorICAgICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0U3RhcnQvRW5k
IHRpbWVzIGZvciBhIHNhbWUtb3JpZ2luIHNlcnZlciBzaWRlIHJlZGlyZWN0IG5hdmlnYXRpb24u
PC9wPg0KKw0KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisgICAgICAgIDxiciAvPg0K
KyAgICAgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7
IiBzcmM9Ii93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP2xvY2F0aW9uPS93M2Mv
d2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iIHN0eWxlPSJ3aWR0aDogMjUw
cHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJvdmVkL25h
dmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2ZXJfcmVkaXJlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9uYXZp
Z2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGlyZWN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzA4MjE0YzgyMmQwNDVjMDQzZGMzYTA4NGIzODhlMTE1MzIyYmYy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9h
cHByb3ZlZC9uYXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3RpbWluZ194c2VydmVyX3JlZGly
ZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRl
c3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlIHdpbmRvdy5wZXJmb3JtYW5jZS5yZWRpcmVj
dENvdW50IGFuZCB0aGUgd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0Vu
ZCB0aW1lcyBmb3IgYSBjcm9zcy1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlv
bi4KKworCisKKworRkFJTCBTdGFydGluZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBj
b3JyZWN0ICgxMjcuMC4wLjE6ODAwMCkgYXNzZXJ0X2VxdWFsczogU3RhcnRpbmcgZG9jdW1lbnQu
bG9jYXRpb24uaG9zdG5hbWUgaXMgY29ycmVjdCAoMTI3LjAuMC4xOjgwMDApIGV4cGVjdGVkICIx
MjcuMC4wLjE6ODAwMCIgYnV0IGdvdCAiMTI3LjAuMC4xIgorUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24gaXMgZGVm
aW5lZCAKK1BBU1MgdGltaW5nLm5hdmlnYXRpb24udHlwZSBpcyBUWVBFX05BVklHQVRFIAorUEFT
UyBuYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgPT0gMCBvbiBhIGNyb3NzLW9yaWdpbiBzZXJ2ZXIg
cmVkaXJlY3RlZCBuYXZpZ2F0aW9uIAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5h
dmlnYXRpb25TdGFydCA+IDAgCitQQVNTIHRpbWluZy5yZWRpcmVjdFN0YXJ0ID09IDAgb24gYSBz
ZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21haW4gCitQQVNTIHRp
bWluZy5yZWRpcmVjdEVuZCA9PSAwIG9uIGEgc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbiBm
cm9tIGFub3RoZXIgZG9tYWluIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3czYy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5n
X3hzZXJ2ZXJfcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvYXBwcm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF90aW1pbmdfeHNlcnZlcl9y
ZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NjYwOWNhYzRlYjdkNDFhMjUwZjIwMTFjYjI0MmI2
Mjc4NjQxZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93
ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdGltaW5nX3hzZXJ2
ZXJfcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDg5IEBACivvu788IURPQ1RZUEUgaHRtbD4NCis8
aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCisg
ICAgICAgIDx0aXRsZT53aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlZGlyZWN0IGF0dHJpYnV0
ZXMgb24gYSBjcm9zcy1vcmlnaW4gc2VydmVyIHJlZGlyZWN0ZWQgbmF2aWdhdGlvbjwvdGl0bGU+
DQorICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0
cDovL3d3dy5taWNyb3NvZnQuY29tLyIgLz4NCisJPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24tdGltaW5n
LWludGVyZmFjZSIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHNyYz0i
L3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0K
KzxzY3JpcHQgaWQ9Im1ldGFkYXRhX2NhY2hlIj4vKg0KK3sNCisgICJTdGFydGluZyBkb2N1bWVu
dC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgxMjcuMC4wLjE6ODAwMCkiOiB7fSwNCisg
ICJ3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCI6IHsNCisgICAgImhlbHAiOiAiaHR0cDov
L3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cucGVyZm9ybWFuY2Ut
YXR0cmlidXRlIiwNCisgICAgImFzc2VydCI6ICJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJp
YnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRy
aWJ1dGVzLiAiLA0KKyAgICAiYXV0aG9yIjogIlczQyBodHRwOi8vd3d3LnczLm9yZy8iDQorICB9
LA0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIGRlZmluZWQiOiB7DQorICAg
ICJoZWxwIjogImh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2lu
ZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsDQorICAgICJhc3NlcnQiOiAiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIiwNCisgICAgImF1dGhvciI6ICJXM0MgaHR0cDovL3d3
dy53My5vcmcvIg0KKyAgfQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdD4NCisg
ICAgICAgICAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOw0KKw0KKyAgICAgICAgICAg
IC8vDQorICAgICAgICAgICAgLy8gVGVzdCBjb25maWd1cmF0aW9uDQorICAgICAgICAgICAgLy8N
CisNCisgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBwYWdlJ3Mgb3JpZ2luDQorICAgICAgICAg
ICAgdmFyIHBhZ2VPcmlnaW4gPSAnMTI3LjAuMC4xOjgwMDAnOw0KKw0KKyAgICAgICAgICAgIC8v
IHRoZSBvcmlnaW4gdG8gcmVkaXJlY3QgdGhyb3VnaA0KKyAgICAgICAgICAgIHZhciByZWRpcmVj
dE9yaWdpbiA9ICdsb2NhbGhvc3Q6ODAwMCc7DQorDQorICAgICAgICAgICAgLy8NCisgICAgICAg
ICAgICAvLyBUZXN0cw0KKyAgICAgICAgICAgIC8vDQorICAgICAgICAgICAgZnVuY3Rpb24gb25s
b2FkX3Rlc3QoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdGVzdF9uYW1lc3Bh
Y2UoJ25hdmlnYXRpb24nKTsNCisgICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlTmFtZXNw
YWNlID09PSB1bmRlZmluZWQpDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAg
ICAgIC8vIGF2b2lkIHNjcmlwdCBlcnJvcnMNCisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsN
CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAg
ICAgICAgICAgICAgICBwZXJmb3JtYW5jZU5hbWVzcGFjZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlOw0KKyAgICAgICAg
ICAgICAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS5uYXZpZ2F0aW9uLnR5cGUs
DQorICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2VOYW1lc3BhY2UubmF2aWdhdGlv
bi5UWVBFX05BVklHQVRFLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICd0aW1pbmcubmF2aWdh
dGlvbi50eXBlIGlzIFRZUEVfTkFWSUdBVEUnLHtoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9u
YXZpZ2F0aW9uLXRpbWluZy8jc2VjLW5hdmlnYXRpb24taW5mby1pbnRlcmZhY2UifSk7DQorICAg
ICAgICAgICAgICAgIHRlc3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLm5hdmlnYXRpb24u
cmVkaXJlY3RDb3VudCwgMCwgJ25hdmlnYXRpb24ucmVkaXJlY3RDb3VudCA9PSAwIG9uIGEgY3Jv
c3Mtb3JpZ2luIHNlcnZlciByZWRpcmVjdGVkIG5hdmlnYXRpb24nLCB7aGVscDoiaHR0cDovL3d3
dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy1uYXZpZ2F0aW9uLWluZm8taW50ZXJm
YWNlIn0pOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X3RpbWluZ19ncmVhdGVyX3RoYW4oJ25h
dmlnYXRpb25TdGFydCcsIDApOw0KKw0KKyAgICAgICAgICAgICAgICB0ZXN0X2VxdWFscyhwZXJm
b3JtYW5jZU5hbWVzcGFjZS50aW1pbmcucmVkaXJlY3RTdGFydCwgMCwgJ3RpbWluZy5yZWRpcmVj
dFN0YXJ0ID09IDAgb24gYSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhl
ciBkb21haW4nKTsNCisgICAgICAgICAgICAgICAgdGVzdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1l
c3BhY2UudGltaW5nLnJlZGlyZWN0RW5kLCAwLCAndGltaW5nLnJlZGlyZWN0RW5kID09IDAgb24g
YSBzZXJ2ZXIgcmVkaXJlY3RlZCBuYXZpZ2F0aW9uIGZyb20gYW5vdGhlciBkb21haW4nKTsNCisN
CisgICAgICAgICAgICAgICAgZG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2Ny
aXB0Pg0KKw0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0
aW9uPC9oMT4NCisgICAgICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBvZiB0
aGUgd2luZG93LnBlcmZvcm1hbmNlLnJlZGlyZWN0Q291bnQgYW5kIHRoZQ0KKyAgICAgICAgICAg
d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5yZWRpcmVjdFN0YXJ0L0VuZCB0aW1lcyBmb3IgYSBj
cm9zcy1vcmlnaW4gc2VydmVyIHNpZGUgcmVkaXJlY3QgbmF2aWdhdGlvbi48L3A+DQorDQorICAg
ICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2Pg0KKyAgICAgICAgPGJyIC8+DQorICAgICAgICA8aWZy
YW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0iIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6
IDI1MHB4OyI+PC9pZnJhbWU+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIC8vIGVu
c3VyZSB3ZSdyZSBzdGFydGluZyBhdCB0aGUgcmlnaHQgb3JpZ2luDQorICAgICAgICAgICAgdGVz
dF9lcXVhbHMoZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUsIHBhZ2VPcmlnaW4sICdTdGFydGlu
ZyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSBpcyBjb3JyZWN0ICgnICsgcGFnZU9yaWdpbiAr
ICcpJyk7DQorDQorICAgICAgICAgICAgLy8gY29tYmluZSB0aGUgcGFnZSBvcmlnaW4gYW5kIHJl
ZGlyZWN0IG9yaWdpbiBpbnRvIHRoZSBJRlJBTUUncyBzcmMgVVJMDQorICAgICAgICAgICAgdmFy
IGRlc3RVcmwgPSAnaHR0cDovLycgKyByZWRpcmVjdE9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocCc7DQorICAgICAgICAgICAgZGVzdFVybCAgICArPSAnP2xvY2F0
aW9uPWh0dHA6Ly8nICsgcGFnZU9yaWdpbiArICcvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5r
X3BhZ2VfZ3JlZW4uaHRtJzsNCisNCisgICAgICAgICAgICB2YXIgZnJhbWVDb250ZXh0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpOw0KKyAgICAgICAgICAgIGZyYW1l
Q29udGV4dC5vbmxvYWQgPSBvbmxvYWRfdGVzdDsNCisgICAgICAgICAgICBmcmFtZUNvbnRleHQu
c3JjID0gZGVzdFVybDsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBwcm92
ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2JqZWN0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL2FwcHJv
dmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3BlcmZvcm1hbmNlX29iamVj
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExN2FjZjA1NDEyNTI4ZDgxOTE1ZGY2MzAzNzIy
YjgzYzM1MTM2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3cz
Yy93ZWJwZXJmL2FwcHJvdmVkL25hdmlnYXRpb24tdGltaW5nL2h0bWw1L3Rlc3RfdW5pcXVlX3Bl
cmZvcm1hbmNlX29iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRGVzY3JpcHRp
b24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGVhY2ggd2luZG93IGhhcyBhIHVuaXF1ZSB3
aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0LgorCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlz
IGRlZmluZWQgCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcgaXMgZGVmaW5lZCAKK1BB
U1MgRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUgdW5pcXVlIHBlcmZvcm1hbmNlIG9iamVj
dHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2Jq
ZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9hcHByb3ZlZC9u
YXZpZ2F0aW9uLXRpbWluZy9odG1sNS90ZXN0X3VuaXF1ZV9wZXJmb3JtYW5jZV9vYmplY3RzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGMzNTUxZDI0NjkwZWYwYWU2ZjdhYjVhY2Y4MTRiMzE5ZjE0OTI5YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvYXBw
cm92ZWQvbmF2aWdhdGlvbi10aW1pbmcvaHRtbDUvdGVzdF91bmlxdWVfcGVyZm9ybWFuY2Vfb2Jq
ZWN0cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKK++7vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0K
KyAgICA8aGVhZD4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KKyAgICAgICAg
PHRpdGxlPkVhY2ggd2luZG93IG9iamVjdCBoYXMgYSB1bmlxdWUgcGVyZm9ybWFuY2Ugb2JqZWN0
PC90aXRsZT4NCisgICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IiBo
cmVmPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vIiAvPg0KKwk8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBl
cmZvcm1hbmNlLWF0dHJpYnV0ZSIgLz4NCisJPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJF
YWNoIGJyb3dzaW5nIGNvbnRleHQgbXVzdCBoYXZlIGEgdW5pcXVlIHdpbmRvdy5wZXJmb3JtYW5j
ZS50aW1pbmcgYXR0cmlidXRlLiIvPg0KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2Ny
aXB0IHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0Pg0KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdzNjL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5jc3MiIC8+DQorPHNjcmlwdCBpZD0ibWV0YWRhdGFfY2FjaGUiPi8q
DQorew0KKyAgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIjogew0KKyAgICAiaGVscCI6
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2VjLXdpbmRvdy5wZXJm
b3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6Ly93d3cudzMub3Jn
LyINCisgIH0sDQorICAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBpcyBkZWZpbmVkIjogew0K
KyAgICAiaGVscCI6ICJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy8jc2Vj
LXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLA0KKyAgICAiYXNzZXJ0IjogIlRoZSB3aW5k
b3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJm
b3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuICIsDQorICAgICJhdXRob3IiOiAiVzNDIGh0dHA6
Ly93d3cudzMub3JnLyINCisgIH0sDQorICAiRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUg
dW5pcXVlIHBlcmZvcm1hbmNlIG9iamVjdHMiOiB7fQ0KK30NCisqLzwvc2NyaXB0Pg0KKyAgICA8
L2hlYWQ+DQorICAgIDxib2R5Pg0KKyAgICAgICAgPGgxPkRlc2NyaXB0aW9uPC9oMT4NCisgICAg
ICAgIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBlYWNoIHdpbmRvdyBoYXMgYSB1bmlxdWUg
d2luZG93LnBlcmZvcm1hbmNlIG9iamVjdC48L3A+DQorICAgICAgICA8aWZyYW1lIGlkPSJmcmFt
ZUNvbnRleHQiIHNyYz0iL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0
bSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiOz48L2lmcmFtZT4NCisgICAgICAgIDxkaXYgaWQ9Imxv
ZyI+PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAgICAgICAgIHRlc3RfbmFtZXNwYWNl
KCd0aW1pbmcnKTsNCisNCisgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2VOYW1lc3BhY2UgIT09
IHVuZGVmaW5lZCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRlc3Rfbm90X2Vx
dWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmcsDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWVDb250ZXh0IikuY29udGVu
dFdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiRGlmZmVyZW50IHdpbmRvdyBvYmplY3RzIGhhdmUgdW5pcXVlIHBlcmZvcm1hbmNlIG9i
amVjdHMiKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9ib2R5
Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJw
ZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJjNDdlZDVhZWI5ZWFkN2E2YjFiZjgwYTc1MWU0NTQxZjBkNTM0ZjMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19w
YWdlX2dyZWVuLmh0bQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4N
CisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAgIDx0aXRsZT5HcmVl
biBUZXN0IFBhZ2U8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQor
ICAgIDwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbl93aXRoX29udW5sb2FkLmh0
bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3Bh
Z2VfZ3JlZW5fd2l0aF9vbnVubG9hZC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE0MGNlZTdjOWE5YTY2YTZl
ZTgxOTFkMWE0YjM3OGQ2YmU0NGUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW5fd2l0aF9vbnVu
bG9hZC5odG0KQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIEhUTUw+DQorPGh0bWw+DQorICAg
IDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04
IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+DQorICAgICAgICA8dGl0bGU+R3JlZW4gVGVz
dCBQYWdlPC90aXRsZT4NCisgICAgPC9oZWFkPg0KKyAgICA8IS0tIHVzZSBvbnVubG9hZCB0byBl
bnN1cmUgdGhpcyBkb2VzIG5vdCB0cmlnZ2VyIGJmY2FjaGUgLS0+DQorICAgIDxib2R5IHN0eWxl
PSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7IiBvbnVubG9hZD0iMTsiPg0KKyAgICAgICAgPGgx
PlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX21l
dGFfcmVkaXJlY3QuaHRtIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNv
dXJjZXMvYmxhbmtfcGFnZV9tZXRhX3JlZGlyZWN0Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmYzNGJkN2Ez
Y2RlNWExZWVlNDZjOGJkODI5M2Y0NDkwMWVmYTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV9tZXRhX3Jl
ZGlyZWN0Lmh0bQpAQCAtMCwwICsxLDExIEBACivvu788IURPQ1RZUEUgSFRNTD4NCis8aHRtbD4N
CisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4NCisgICAgICAgIDxtZXRhIGh0dHAt
ZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjE7VVJMPSdibGFua19wYWdlX2dyZWVuLmh0bSciIC8+
DQorICAgICAgICA8dGl0bGU+UmVkaXJlY3QgUGxhY2Vob2xkZXI8L3RpdGxlPiAgICAgICAgDQor
ICAgIDwvaGVhZD4NCisgICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZGRkYwMCI7
Pg0KKyAgICAgICAgPGgxPlBsYWNlaG9sZGVyPC9oMT4NCisgICAgPC9ib2R5Pg0KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9hZC5odG0gYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9ibGFua19wYWdlX3VubG9h
ZC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGU5MDUwNzA4Y2E2NjhkMDhhNmU4YzA5YjU0N2Y5ZWUyOTdkZThl
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfdW5sb2FkLmh0bQpAQCAtMCwwICsxLDI1IEBACivvu788IURP
Q1RZUEUgSFRNTD4NCis8aHRtbD4NCisgICAgPGhlYWQ+DQorICAgICAgICA8bWV0YSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4N
CisgICAgICAgIA0KKyAgICAgICAgPHRpdGxlPlllbGxvdyBUZXN0IFBhZ2U8L3RpdGxlPg0KKyAg
ICAgICAgDQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQorICAgICAg
ICAgICAgZnVuY3Rpb24gb25iZWZvcmV1bmxvYWRfaGFuZGxlcigpDQorICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICB2YXIgdGVtcCA9ICJvbmJlZm9yZXVubG9hZCI7DQorICAgICAgICAg
ICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9udW5sb2FkX2hhbmRs
ZXIoKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdmFyIHRlbXAgPSAib251bmxv
YWQiOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICA8L2hlYWQ+DQor
ICAgIDxib2R5IG9uYmVmb3JldW5sb2FkPSJvbmJlZm9yZXVubG9hZF9oYW5kbGVyKCk7Ig0KKyAg
ICAgICAgICBvbnVubG9hZD0ib251bmxvYWRfaGFuZGxlcigpOyIgDQorICAgICAgICAgIHN0eWxl
PSJiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGMDA7Ij4NCisgICAgICAgIDxoMT5VbmxvYWQ8L2gxPg0K
KyAgICA8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL2JsYW5r
X3BhZ2VfeWVsbG93Lmh0bSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfeWVsbG93Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjJlOGEyYmVlMDc0ZDQ4
MzgxYzcyMWNjYzhiMDY1OTM2ZDc4YjQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxsb3cuaHRtCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPg0KKzxodG1sPg0KKyAgICA8aGVhZD4NCisg
ICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiAvPg0KKyAgICAgICAgPHRpdGxlPlllbGxvdyBUZXN0IFBhZ2U8L3Rp
dGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNG
RkZGMDA7Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQorICAgIDwvYm9keT4NCis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95ZWxsb3dfd2l0
aF9vbnVubG9hZC5odG0gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291
cmNlcy9ibGFua19wYWdlX3llbGxvd193aXRoX29udW5sb2FkLmh0bQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjUx
ZGUwYzlhYmEyNDk1MmE2YTQzNmNkM2ZmMDRkNTU2MmMxNjgzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvYmxhbmtfcGFnZV95
ZWxsb3dfd2l0aF9vbnVubG9hZC5odG0KQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIEhUTUw+
DQorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPG1ldGEgY29udGVudD0idGV4dC9odG1s
OyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+DQorICAgICAgICA8
dGl0bGU+WWVsbG93IFRlc3QgUGFnZTwvdGl0bGU+DQorICAgIDwvaGVhZD4NCisgICAgPCEtLSB1
c2Ugb251bmxvYWQgdG8gZW5zdXJlIHRoaXMgZG9lcyBub3QgdHJpZ2dlciBiZmNhY2hlIC0tPg0K
KyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGRjAwOyIgb251bmxvYWQ9IjE7
Ij4NCisgICAgICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+DQorICAgIDwvYm9keT4NCis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFnZXZpc3Rlc3RoYXJuZXNzLmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcGFnZXZpc3Rlc3RoYXJu
ZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg4N2VjNWNlNDZhNWQwY2E4ZWMyOTAwYzViNjZhMTk1OGQ3Zjdj
ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJm
L3Jlc291cmNlcy9wYWdldmlzdGVzdGhhcm5lc3MuanMKQEAgLTAsMCArMSwxMjggQEAKKy8qCitE
aXN0cmlidXRlZCB1bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQg
dGhlIFczQworMy1jbGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzND
IFRlc3QgU3VpdGUsIHNlZSB0aGUKK3BvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNd
LgorCitbMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3Rz
dWl0ZS1saWNlbnNlCitbMl0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4
LzAzLWJzZC1saWNlbnNlCitbM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2Fz
ZXMKKyovDQorDQorLy8NCisvLyBIZWxwZXIgRnVuY3Rpb25zIGZvciBQYWdlVmlzaWJpbGl0eSBX
M0MgdGVzdHMNCisvLw0KK3ZhciBWSVNJQklMSVRZX1NUQVRFUyA9DQorew0KKyAgICBISURERU46
ICJoaWRkZW4iLA0KKyAgICBWSVNJQkxFOiAidmlzaWJsZSINCit9Ow0KKw0KK3ZhciBza2lwX2Fs
bF90ZXN0cyA9IGZhbHNlOw0KK3ZhciBmZWF0dXJlX2NoZWNrID0gZmFsc2U7DQorDQorLy8NCisv
LyBBbGwgdGVzdCgpIGZ1bmN0aW9ucyBpbiB0aGUgV2ViUGVyZiBQYWdlVmlzIHRlc3Qgc3VpdGUg
c2hvdWxkIHVzZSBwdl90ZXN0KCkgaW5zdGVhZC4NCisvLw0KKy8vIHB2X3Rlc3QoKSB2YWxpZGF0
ZXMgdGhlIGRvY3VtZW50LmhpZGRlbiBhbmQgZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGF0dHJp
YnV0ZXMNCisvLyBleGlzdCBwcmlvciB0byBydW5uaW5nIHRlc3RzIGFuZCBpbW1lZGlhdGVseSBz
aG93cyBhIGZhaWx1cmUgaWYgdGhleSBkbyBub3QuDQorLy8NCisNCitmdW5jdGlvbiBwdl90ZXN0
KGZ1bmMsIG1zZywgZG9jKQ0KK3sNCisgICAgaWYgKCFkb2MpDQorICAgIHsNCisgICAgICAgIGRv
YyA9IGRvY3VtZW50Ow0KKyAgICB9DQorDQorICAgIC8vIG9ubHkgcnVuIHRoZSBmZWF0dXJlIGNo
ZWNrIG9uY2UsIHVubGVzcyBmdW5jID09IG51bGwsIGluIHdoaWNoIGNhc2UsIA0KKyAgICAvLyB0
aGlzIGNhbGwgaXMgaW50ZW5kZWQgYXMgYSBmZWF0dXJlIGNoZWNrDQorICAgIGlmICghZmVhdHVy
ZV9jaGVjaykNCisgICAgew0KKyAgICAgICAgZmVhdHVyZV9jaGVjayA9IHRydWU7DQorDQorICAg
ICAgICB2YXIgaGlkZGVuVmFsID0gZG9jLmhpZGRlbjsNCisgICAgICAgIHZhciB2aXNTdGF0ZVZh
bCA9IGRvYy52aXNpYmlsaXR5U3RhdGU7DQorDQorICAgICAgICAvLyBzaG93IGEgc2luZ2xlIGVy
cm9yIHRoYXQgdGhlIFBhZ2UgVmlzaWJpbGl0eSBmZWF0dXJlIGlzIHVuZGVmaW5lZA0KKyAgICAg
ICAgdGVzdChmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICAgICAgYXNzZXJ0X3RydWUo
aGlkZGVuVmFsICE9PSB1bmRlZmluZWQgJiYgaGlkZGVuVmFsICE9IG51bGwsDQorICAgICAgICAg
ICAgICAgICAgICAgICAgImRvY3VtZW50LmhpZGRlbiBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4i
KTt9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2N1bWVudC5oaWRkZW4gaXMgZGVmaW5l
ZCBhbmQgbm90IG51bGwuIik7DQorDQorICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkNCisgICAgICAg
IHsNCisgICAgICAgICAgICBhc3NlcnRfdHJ1ZSh2aXNTdGF0ZVZhbCAhPT0gdW5kZWZpbmVkICYm
IGhpZGRlblZhbCAhPSBudWxsLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2N1bWVudC52
aXNpYmlsaXR5U3RhdGUgaXMgZGVmaW5lZCBhbmQgbm90IG51bGwuIik7fSwNCisgICAgICAgICAg
ICAgICAgICAgICAgICAiZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIGlzIGRlZmluZWQgYW5kIG5v
dCBudWxsLiIpOw0KKyAgICANCisgICAgICAgIC8vU2tpcCBvbmx5IGlmIGJvdGggYXJlIHVuZGVm
aW5lZA0KKw0KKyAgICAgICAgaWYgKGhpZGRlblZhbCA9PT0gdW5kZWZpbmVkIHx8IHZpc1N0YXRl
VmFsID09PSB1bmRlZmluZWQpDQorICAgICAgICB7DQorICAgICAgICAgICAgc2tpcF9hbGxfdGVz
dHMgPSB0cnVlOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIGlmICghc2tpcF9hbGxfdGVz
dHMgJiYgZnVuYykNCisgICAgew0KKyAgICAgICAgdGVzdChmdW5jLCBtc2cpOw0KKyAgICB9DQor
fQ0KKw0KKw0KK2Z1bmN0aW9uIHRlc3RfZmVhdHVyZV9leGlzdHMoZG9jLCBtc2cpDQorew0KKyAg
ICBpZiAoIW1zZykNCisgICAgew0KKyAgICAgICAgbXNnID0gIiI7DQorICAgIH0NCisgICAgdmFy
IGhpZGRlbk1zZyA9ICJkb2N1bWVudC5oaWRkZW4gaXMgZGVmaW5lZCIgKyBtc2cgKyAiLiI7DQor
ICAgIHZhciBzdGF0ZU1zZyA9ICJkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgaXMgZGVmaW5lZCIg
KyBtc2cgKyAiLiI7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKXthc3NlcnRfdHJ1ZShkb2N1bWVu
dC5oaWRkZW4gIT09IHVuZGVmaW5lZCwgaGlkZGVuTXNnKTt9LCBoaWRkZW5Nc2csIGRvYyk7DQor
ICAgIHB2X3Rlc3QoZnVuY3Rpb24oKXthc3NlcnRfdHJ1ZShkb2N1bWVudC52aXNpYmlsaXR5U3Rh
dGUgIT09IHVuZGVmaW5lZCwgc3RhdGVNc2cpO30sIHN0YXRlTXNnLCBkb2MpOw0KK30NCisNCisv
Lw0KKy8vIENvbW1vbiBoZWxwZXIgZnVuY3Rpb25zDQorLy8NCisNCitmdW5jdGlvbiB0ZXN0X3Ry
dWUodmFsdWUsIG1zZykNCit7DQorICAgIHB2X3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVl
KHZhbHVlLCBtc2cpOyB9LCBtc2cpOw0KK30NCisNCitmdW5jdGlvbiB0ZXN0X2VxdWFscyh2YWx1
ZSwgZXF1YWxzLCBtc2cpDQorew0KKyAgICBwdl90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfZXF1
YWxzKHZhbHVlLCBlcXVhbHMsIG1zZyk7IH0sIG1zZyk7DQorfQ0KKw0KKy8vDQorLy8gYXN5bmNo
cm9ub3VzIHRlc3QgaGVscGVyIGZ1bmN0aW9ucw0KKy8vDQorDQorZnVuY3Rpb24gYWRkX2FzeW5j
X3Jlc3VsdCh0ZXN0X29iaiwgcGFzc19zdGF0ZSkNCit7DQorICAgIC8vIGFkZCBhc3NlcnRpb24g
dG8gbWFudWFsIHRlc3QgZm9yIHRoZSBwYXNzIHN0YXRlDQorICAgIHRlc3Rfb2JqLnN0ZXAoZnVu
Y3Rpb24oKSB7IGFzc2VydF90cnVlKHBhc3Nfc3RhdGUpIH0pOw0KKw0KKyAgICAvLyBlbmQgbWFu
dWFsIHRlc3QNCisgICAgdGVzdF9vYmouZG9uZSgpOw0KK30NCisNCitmdW5jdGlvbiBhZGRfYXN5
bmNfcmVzdWx0X2Fzc2VydCh0ZXN0X29iaiwgZnVuYykNCit7DQorICAgIC8vIGFkZCBhc3NlcnRp
b24gdG8gbWFudWFsIHRlc3QgZm9yIHRoZSBwYXNzIHN0YXRlDQorICAgIHRlc3Rfb2JqLnN0ZXAo
ZnVuYyk7DQorDQorICAgIC8vIGVuZCBtYW51YWwgdGVzdA0KKyAgICB0ZXN0X29iai5kb25lKCk7
DQorfQ0KKw0KK3ZhciBvcGVuX2xpbms7DQorZnVuY3Rpb24gVGFiU3dpdGNoKCkNCit7DQorICAg
IC8vdmFyIG9wZW5fbGluayA9IHdpbmRvdy5vcGVuKCJodHRwOi8vd3d3LmJpbmcuY29tIik7DQor
ICAgIG9wZW5fbGluayA9IHdpbmRvdy5vcGVuKCcnLCAnX2JsYW5rJyk7DQorICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7IG9wZW5fbGluay5jbG9zZSgpOyB9LCAyMDAwKTsNCit9ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkODZlOTYw
NTQ3NzQxN2QyM2QyMDg3N2EwOTA3MGNlOTM1NGE5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy9yZWRpcmVjdC5waHAKQEAg
LTAsMCArMSw4IEBACis8P3BocAorICAkY29kZSA9IGN0eXBlX2RpZ2l0KCRfR0VUWyJjb2RlIl0p
ID8gJF9HRVRbImNvZGUiXSA6ICIzMDIiOworICAkbG9jYXRpb24gPSAkX0dFVFsibG9jYXRpb24i
XSA/ICRfR0VUWyJsb2NhdGlvbiJdIDogJF9TRVJWRVJbIlNDUklQVF9OQU1FIl0gLiAiP2ZvbGxv
d2VkIjsKKworICBoZWFkZXIoIkhUVFAvMS4xICRjb2RlIik7CisgIGhlYWRlcigiTG9jYXRpb246
ICRsb2NhdGlvbiIpOworICBleGl0OworPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvdzNjL3dlYnBlcmYvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVz
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hNjM4ZWVkZGIzMjY0YWJlNWVlMmIwZWQzZmRlODk2OWRiNjFhYjYx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9y
ZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCkBAIC0wLDAgKzEsMTU2IEBACivvu78vKgor
RGlzdHJpYnV0ZWQgdW5kZXIgYm90aCB0aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5k
IHRoZSBXM0MKKzMtY2xhdXNlIEJTRCBMaWNlbnNlIFsyXS4gVG8gY29udHJpYnV0ZSB0byBhIFcz
QyBUZXN0IFN1aXRlLCBzZWUgdGhlCitwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFsz
XS4KKworWzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wNC10ZXN0
c3VpdGUtbGljZW5zZQorWzJdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAw
OC8wMy1ic2QtbGljZW5zZQorWzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNh
c2VzCisgKi8KKworLy8KKy8vIEhlbHBlciBGdW5jdGlvbnMgZm9yIE5hdmlnYXRpb25UaW1pbmcg
VzNDIHRlc3RzCisvLworCit2YXIgcGVyZm9ybWFuY2VOYW1lc3BhY2UgPSB3aW5kb3cucGVyZm9y
bWFuY2U7Cit2YXIgdGltaW5nQXR0cmlidXRlcyA9IFsKKyAgICAnY29ubmVjdEVuZCcsCisgICAg
J2Nvbm5lY3RTdGFydCcsCisgICAgJ2RvbUNvbXBsZXRlJywKKyAgICAnZG9tQ29udGVudExvYWRl
ZEV2ZW50RW5kJywKKyAgICAnZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQnLAorICAgICdkb21J
bnRlcmFjdGl2ZScsCisgICAgJ2RvbUxvYWRpbmcnLAorICAgICdkb21haW5Mb29rdXBFbmQnLAor
ICAgICdkb21haW5Mb29rdXBTdGFydCcsCisgICAgJ2ZldGNoU3RhcnQnLAorICAgICdsb2FkRXZl
bnRFbmQnLAorICAgICdsb2FkRXZlbnRTdGFydCcsCisgICAgJ25hdmlnYXRpb25TdGFydCcsCisg
ICAgJ3JlZGlyZWN0RW5kJywKKyAgICAncmVkaXJlY3RTdGFydCcsCisgICAgJ3JlcXVlc3RTdGFy
dCcsCisgICAgJ3Jlc3BvbnNlRW5kJywKKyAgICAncmVzcG9uc2VTdGFydCcsCisgICAgJ3VubG9h
ZEV2ZW50RW5kJywKKyAgICAndW5sb2FkRXZlbnRTdGFydCcKK107CisKK3ZhciBza2lwX2FsbF90
ZXN0cyA9IGZhbHNlOwordmFyIG5hbWVzcGFjZV9jaGVjayA9IGZhbHNlOworCisvLworLy8gQWxs
IHRlc3QoKSBmdW5jdGlvbnMgaW4gdGhlIFdlYlBlcmYgdGVzdCBzdWl0ZSBzaG91bGQgdXNlIHdw
X3Rlc3QoKSBpbnN0ZWFkLgorLy8KKy8vIHdwX3Rlc3QoKSB2YWxpZGF0ZXMgdGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBuYW1lc3BhY2UgZXhpc3RzIHByaW9yIHRvIHJ1bm5pbmcgdGVzdHMgYW5kCisv
LyBpbW1lZGlhdGVseSBzaG93cyBhIHNpbmdsZSBmYWlsdXJlIGlmIGl0IGRvZXMgbm90LgorLy8K
KworZnVuY3Rpb24gd3BfdGVzdChmdW5jLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgLy8gb25s
eSBydW4gdGhlIG5hbWVzcGFjZSBjaGVjayBvbmNlCisgICAgaWYgKCFuYW1lc3BhY2VfY2hlY2sp
CisgICAgeworICAgICAgICBuYW1lc3BhY2VfY2hlY2sgPSB0cnVlOworCisgICAgICAgIGlmIChw
ZXJmb3JtYW5jZU5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkIHx8IHBlcmZvcm1hbmNlTmFtZXNwYWNl
ID09IG51bGwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNraXBfYWxsX3Rlc3RzID0gdHJ1ZTsK
KworICAgICAgICAgICAgLy8gc2hvdyBhIHNpbmdsZSBlcnJvciB0aGF0IHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyB1bmRlZmluZWQKKyAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90
cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQgJiYgcGVyZm9ybWFuY2VOYW1l
c3BhY2UgIT0gbnVsbCwgIndpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVs
bCIpOyB9LCAid2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQgYW5kIG5vdCBudWxsLiIsIHth
dXRob3I6IlczQyBodHRwOi8vd3d3LnczLm9yZy8iLGhlbHA6Imh0dHA6Ly93d3cudzMub3JnL1RS
L25hdmlnYXRpb24tdGltaW5nLyNzZWMtd2luZG93LnBlcmZvcm1hbmNlLWF0dHJpYnV0ZSIsYXNz
ZXJ0OiJUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3Rpbmcg
YXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLiAifSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBpZiAoIXNraXBfYWxsX3Rlc3RzKQorICAgIHsKKyAgICAgICAgdGVzdChm
dW5jLCBtc2csIHByb3BlcnRpZXMpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdF9uYW1lc3Bh
Y2UoY2hpbGRfbmFtZSwgc2tpcF9yb290KQoreworICAgIGlmIChza2lwX3Jvb3QgPT09IHVuZGVm
aW5lZCkgeworICAgICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
JzsKKyAgICAgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNl
TmFtZXNwYWNlICE9PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZyx7YXV0aG9yOiJXM0MgaHR0cDov
L3d3dy53My5vcmcvIixoZWxwOiJodHRwOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWlu
Zy8jc2VjLXdpbmRvdy5wZXJmb3JtYW5jZS1hdHRyaWJ1dGUiLGFzc2VydDoiVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4gIn0pOworICAgIH0KKworICAgIGlmIChjaGlsZF9uYW1l
ICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgdmFyIG1zZzIgPSAnd2luZG93LnBlcmZvcm1hbmNl
LicgKyBjaGlsZF9uYW1lICsgJyBpcyBkZWZpbmVkJzsKKyAgICAgICAgd3BfdGVzdChmdW5jdGlv
bigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRfbmFtZV0gIT09IHVu
ZGVmaW5lZCwgbXNnMik7IH0sIG1zZzIse2F1dGhvcjoiVzNDIGh0dHA6Ly93d3cudzMub3JnLyIs
aGVscDoiaHR0cDovL3d3dy53My5vcmcvVFIvbmF2aWdhdGlvbi10aW1pbmcvI3NlYy13aW5kb3cu
cGVyZm9ybWFuY2UtYXR0cmlidXRlIixhc3NlcnQ6IlRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0
cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0
dHJpYnV0ZXMuICJ9KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0
cyhwYXJlbnRfbmFtZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCit7CisgICAgdmFyIG1z
ZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRl
X25hbWUgKyAnIGlzIGRlZmluZWQuJzsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRf
dHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9
PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3RfZW51bShwYXJlbnRfbmFtZSwgZW51bV9uYW1lLCB2YWx1ZSwgcHJvcGVydGllcykKK3sKKyAg
ICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBl
bnVtX25hbWUgKyAnIGlzIGRlZmluZWQuJzsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3Nl
cnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1lXSAhPT0g
dW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworCisgICAgbXNnID0gJ3dpbmRv
dy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBlbnVtX25hbWUgKyAnID0gJyAr
IHZhbHVlOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVhbHMocGVyZm9ybWFu
Y2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0sIHZhbHVlLCBtc2cpOyB9LCBtc2cs
IHByb3BlcnRpZXMpOworfQorCitmdW5jdGlvbiB0ZXN0X3RpbWluZ19vcmRlcihhdHRyaWJ1dGVf
bmFtZSwgZ3JlYXRlcl90aGFuX2F0dHJpYnV0ZSwgcHJvcGVydGllcykKK3sKKyAgICAvLyBlbnN1
cmUgaXQncyBub3QgMCBmaXJzdAorICAgIHZhciBtc2cgPSAid2luZG93LnBlcmZvcm1hbmNlLnRp
bWluZy4iICsgYXR0cmlidXRlX25hbWUgKyAiID4gMCI7CisgICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0dHJpYnV0ZV9uYW1l
XSA+IDAsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisKKyAgICAvLyBlbnN1cmUgaXQncyBp
biB0aGUgcmlnaHQgb3JkZXIKKyAgICBtc2cgPSAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4i
ICsgYXR0cmlidXRlX25hbWUgKyAiID49IHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcuIiArIGdy
ZWF0ZXJfdGhhbl9hdHRyaWJ1dGU7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3Ry
dWUocGVyZm9ybWFuY2VOYW1lc3BhY2UudGltaW5nW2F0dHJpYnV0ZV9uYW1lXSA+PSBwZXJmb3Jt
YW5jZU5hbWVzcGFjZS50aW1pbmdbZ3JlYXRlcl90aGFuX2F0dHJpYnV0ZV0sIG1zZyk7IH0sIG1z
ZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfdGltaW5nX2dyZWF0ZXJfdGhhbihh
dHRyaWJ1dGVfbmFtZSwgZ3JlYXRlcl90aGFuLCBwcm9wZXJ0aWVzKQoreworICAgIHZhciBtc2cg
PSAid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy4iICsgYXR0cmlidXRlX25hbWUgKyAiID4gIiAr
IGdyZWF0ZXJfdGhhbjsKKyAgICB0ZXN0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5jZU5hbWVzcGFj
ZS50aW1pbmdbYXR0cmlidXRlX25hbWVdLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcyk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RfdGltaW5nX2VxdWFscyhhdHRyaWJ1dGVfbmFtZSwgZXF1YWxz
LCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgdmFyIHRlc3RfbXNnID0gbXNnIHx8ICJ3aW5kb3cu
cGVyZm9ybWFuY2UudGltaW5nLiIgKyBhdHRyaWJ1dGVfbmFtZSArICIgPT0gIiArIGVxdWFsczsK
KyAgICB0ZXN0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZS50aW1pbmdbYXR0cmlidXRlX25h
bWVdLCBlcXVhbHMsIHRlc3RfbXNnLCBwcm9wZXJ0aWVzKTsKK30KKworLy8KKy8vIE5vbi10ZXN0
IHJlbGF0ZWQgaGVscGVyIGZ1bmN0aW9ucworLy8NCisNCitmdW5jdGlvbiBzbGVlcF9taWxsaXNl
Y29uZHMobikKK3sKKyAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKKyAgICB3
aGlsZSAodHJ1ZSkgeworICAgICAgICBpZiAoKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gc3RhcnQp
ID49IG4pIGJyZWFrOworICAgIH0KK30KKworLy8KKy8vIENvbW1vbiBoZWxwZXIgZnVuY3Rpb25z
CisvLw0KKw0KK2Z1bmN0aW9uIHRlc3RfdHJ1ZSh2YWx1ZSwgbXNnLCBwcm9wZXJ0aWVzKQorewor
ICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZSh2YWx1ZSwgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKK30NCisNCitmdW5jdGlvbiB0ZXN0X2VxdWFscyh2YWx1ZSwgZXF1YWxz
LCBtc2csIHByb3BlcnRpZXMpCit7CisgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF9l
cXVhbHModmFsdWUsIGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KKw0KK2Z1
bmN0aW9uIHRlc3RfZ3JlYXRlcl90aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVy
dGllcykKK3sKKyAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUodmFsdWUgPiBn
cmVhdGVyX3RoYW4sIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCit7CisgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXgg
Y2U5MmRkYzE5YTU2NTViZWM5OThjYjdhNzhlNTk0MmJmYmQ4YmU5Zi4uMzRhNTRjZDYyODExODhh
ZDIwNjBhNGRjYmM5NTczZDJlOWU2ZTdiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAg
LTI2MCw2ICsyNjAsNyBAQCBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLW9uZS1yZWRpcmVjdC5w
aHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc2xvdy1sb2FkLnBocAogaHR0cC90ZXN0cy9t
aXNjL3dlYnRpbWluZy1zc2wucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3by1yZWRp
cmVjdHMucGhwCitodHRwL3Rlc3RzL3czYy93ZWJwZXJmCiBmYXN0L3BlcmZvcm1hbmNlLwogCiAj
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSAoRU5BQkxFX0NTUF9ORVhUKSBpcyBub3QgZW5h
YmxlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBkZTMzOWNmOGQ4YjU4ZmFlYWI3MTEy
ZjBlMmM2MGIzYjU5MWRlY2JlLi5iMjg1OTc3NzMxMTExMTczNzQwMWY3MTU3NjZkNDFhZGY0MzI2
ZmQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTIyOSw2ICsxMjI5LDcgQEAgaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCiBodHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXNsb3ctbG9hZC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc3NsLnBo
cAogaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLnBocAoraHR0cC90ZXN0
cy93M2Mvd2VicGVyZgogZmFzdC9wZXJmb3JtYW5jZQogCiAjIFN0aWxsIHdvcmtpbmcgb3V0IGZs
YWtpbmVzcyBpc3N1ZXMgd2l0aCB0aGUgcGVyZiB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkCmluZGV4IDBlMDU3YjAzMjZmMmFhZTNiMjM5OGZhNGU1MGYzNDY0NTc5ZWNl
YzEuLjBmY2U0NzcwMzkyMTM4MzE4N2U3ZTRjM2VmZjkxMDFkZWYyY2RjYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTc0Niw2ICsxNzQ2LDcgQEAgaHR0cC90ZXN0
cy9taXNjL3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGlt
aW5nLXNsb3ctbG9hZC5waHAKIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctc3NsLnBocAogaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy10d28tcmVkaXJlY3RzLnBocAoraHR0cC90ZXN0cy93M2Mv
d2VicGVyZgogCiAjIFN0aWxsIHdvcmtpbmcgb3V0IGZsYWtpbmVzcyBpc3N1ZXMgd2l0aCB0aGUg
cGVyZiB0ZXN0cy4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0
MTk5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzIGIv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmQ0ODJh
N2RjMTZjYWFjYmI2NDkwYThmN2NiY2Q0Njk5MDg4ZWEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcwpAQCAtMCwwICsxLDI4IEBACitodG1s
IHsKKyAgICBmb250LWZhbWlseTpEZWphVnUgU2FucywgQml0c3RyZWFtIFZlcmEgU2FucywgQXJp
YWwsIFNhbnM7Cit9CisKK3RhYmxlI3Jlc3VsdHMgeworICAgIGJvcmRlci1jb2xsYXBzZTpjb2xs
YXBzZTsKK30KKwordGFibGUjcmVzdWx0cyB0aCB7CisgICAgcGFkZGluZzowOworICAgIHBhZGRp
bmctYm90dG9tOjAuNWVtOworICAgIGJvcmRlci1ib3R0b206bWVkaXVtIHNvbGlkIGJsYWNrOwor
fQorCit0YWJsZSNyZXN1bHRzIHRkIHsKKyAgICBwYWRkaW5nOjA7CisgICAgcGFkZGluZy1ib3R0
b206MC41ZW07CisgICAgYm9yZGVyLWJvdHRvbTp0aGluIHNvbGlkIGJsYWNrOworfQorCit0YWJs
ZSNyZXN1bHRzIHRyPnRkOm50aC1jaGlsZCgxKSB7CisgICAgZm9udC12YXJpYW50OnNtYWxsLWNh
cHM7Cit9CisKK3RhYmxlI3Jlc3VsdHMgdHI+dGQ6bnRoLWNoaWxkKDMpIHsKKyAgICBmb250LWZh
bWlseTpEZWphVnUgU2FucyBNb25vLCBCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8sIE1vbm9zcGFj
ZTsKKyAgICB3aGl0ZS1zcGFjZTpwcmU7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIGIv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCmluZGV4IGEyYmYwYWE2
NGEwNTY4MDFjZDcyZjRhYTAxYjkzNzQ3MjUxMmFkYjIuLjkzYjNhZjMwM2YwM2Y1ZjU5MGE5ZDZl
MmFiZmNkNGY3OGYwYzk3YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMKQEAgLTEzLDggKzEzLDEwIEBACiAgKi8NCiANCiAvLyBTZXR1cCBmb3IgV2ViS2l0
IEphdmFTY3JpcHQgdGVzdHMNCi1pZiAoc2VsZi50ZXN0UnVubmVyKQ0KK2lmIChzZWxmLnRlc3RS
dW5uZXIpIHsNCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQorICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOw0KK30NCiANCiAvLyBGdW5jdGlvbiB1c2VkIHRvIGNvbnZlcnQgdGhl
IHRlc3Qgc3RhdHVzIGNvZGUgaW50bw0KIC8vIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZw0KQEAg
LTcxLDQgKzczLDcgQEAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24gKHRlc3RzLCBo
YXJuZXNzX3N0YXR1cyl7CiANCiAJLy8gQWRkIHJlc3VsdHMgZWxlbWVudCB0byBkb2N1bWVudA0K
IAlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlc3VsdHMpOw0KLX0pOworDQorCWlmIChzZWxm
LnRlc3RSdW5uZXIpDQorCQl0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCit9KTsNCg==
</data>
<flag name="commit-queue"
          id="160673"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>