<?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>102565</bug_id>
          
          <creation_ts>2012-11-16 15:01:36 -0800</creation_ts>
          <short_desc>IndexedDB: setVersion excision batch 10</short_desc>
          <delta_ts>2012-11-16 18:11:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769695</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 15:01:36 -0800</bug_when>
    <thetext>IndexedDB: setVersion excision batch 10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769704</commentid>
    <comment_count>1</comment_count>
      <attachid>174766</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 15:09:20 -0800</bug_when>
    <thetext>Created attachment 174766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769707</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 15:14:29 -0800</bug_when>
    <thetext>Josh, could you look at this?  There are 6 removals and 2 conversions here.

There are 6 tests left.  1 fails an assert - bug 101810.  The last 5 are going to be a bear to convert or deleted.

So... close...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769708</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 15:17:02 -0800</bug_when>
    <thetext>Attachment 174766 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/stor...&quot; exit_code: 1
LayoutTests/ChangeLog:47:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769709</commentid>
    <comment_count>4</comment_count>
      <attachid>174768</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 15:19:34 -0800</bug_when>
    <thetext>Created attachment 174768
Patch

Fix style in changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769736</commentid>
    <comment_count>5</comment_count>
      <attachid>174768</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-16 15:57:28 -0800</bug_when>
    <thetext>Comment on attachment 174768
Patch

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

lgtm

&gt; LayoutTests/ChangeLog:16
&gt; +          implement 4.1.3#Note2:

Do we have a tracking bug on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769743</commentid>
    <comment_count>6</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 16:01:33 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 174768 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174768&amp;action=review
&gt; 
&gt; lgtm
&gt; 
&gt; &gt; LayoutTests/ChangeLog:16
&gt; &gt; +          implement 4.1.3#Note2:
&gt; 
&gt; Do we have a tracking bug on this?

We didn&apos;t.  Filed https://bugs.webkit.org/show_bug.cgi?id=102568</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769745</commentid>
    <comment_count>7</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 16:01:55 -0800</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769748</commentid>
    <comment_count>8</comment_count>
      <attachid>174768</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-16 16:04:46 -0800</bug_when>
    <thetext>Comment on attachment 174768
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769782</commentid>
    <comment_count>9</comment_count>
      <attachid>174768</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 16:58:31 -0800</bug_when>
    <thetext>Comment on attachment 174768
Patch

Rejecting attachment 174768 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:
ommit-queue/Source/WebKit/chromium/third_party/snappy/src --revision 63 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
49&gt;At revision 63.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/14880011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769786</commentid>
    <comment_count>10</comment_count>
      <attachid>174786</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 17:03:47 -0800</bug_when>
    <thetext>Created attachment 174786
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769824</commentid>
    <comment_count>11</comment_count>
      <attachid>174786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 18:11:48 -0800</bug_when>
    <thetext>Comment on attachment 174786
Patch for landing

Clearing flags on attachment: 174786

Committed r135028: &lt;http://trac.webkit.org/changeset/135028&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769825</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 18:11:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174766</attachid>
            <date>2012-11-16 15:09:20 -0800</date>
            <delta_ts>2012-11-16 15:19:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102565-20121116150715.patch</filename>
            <type>text/plain</type>
            <size>46056</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTY2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGQ5MDM5MGE1MmEzMjI2OGZiN2Fh
YTAzOTg1MTBhMTk1M2FmZjA4Yy4uNjY1YmM5MWY4ZjEwZGQ4MjQ2Y2ViNjExZmYyMTNiNzJiOTNj
YTk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTExLTE2ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNldFZlcnNpb24gZXhj
aXNpb24gYmF0Y2ggMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjU2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJv
YWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxv
dyAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJj
ZXMvdmVyc2lvbmNoYW5nZS5qczogUmVtb3ZlZC4KKyAgICAgICAgICBWZXJ5IHNpbWlsYXIgdG8g
YSBsb3Qgb2Ygb3VyIG90aGVyIHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3NldF92ZXJzaW9uX3F1ZXVlLmpzOiBSZW1vdmVkLgorICAgICAgICAgIFRlc3Rz
IDQgYWxyZWFkeS1vcGVuIGNvbm5lY3Rpb25zIGNhbGxpbmcgc2V0VmVyc2lvbiwgbm8gbG9uZ2Vy
CisgICAgICAgICAgYXBwbGljYWJsZS4gVGhvdWdoIHNvbWV0aGluZyBzaW1pbGFyIHdpbGwgYmUg
c2V0IHVwIHdoZW4gd2UKKyAgICAgICAgICBpbXBsZW1lbnQgNC4xLjMjTm90ZTI6CisgICAgICAg
ICAgaWYgdHdvIGRhdGFiYXNlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIG9yaWdpbiwgYnV0IHdp
dGggZGlmZmVyZW50CisgICAgICAgICAgdmVyc2lvbnMsIGFyZSBiZWluZyBvcGVuZWQgYXQgdGhl
IHNhbWUgdGltZSwgdGhlIG9uZSB3aXRoIHRoZSBoaWdoZXN0CisgICAgICAgICAgdmVyc2lvbiB3
aWxsIGF0dGVtcHQgdG8gYmUgb3BlbmVkIGZpcnN0LgorCisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uanM6IFJlbW92ZWQuCisgICAg
ICAgICAgVGVzdHMgdGhlIHNhbWUgdGhpbmcgYXMgdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLCBl
dmVuIHRob3VnaAorICAgICAgICAgIHZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZSdzIGRlc2NyaXB0
aW9uIGhhZCBiZWVuIGluYWNjdXJhdGUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9y
ZXNvdXJjZXMvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5qczogUmVtb3ZlZC4KKyAgICAg
ICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBwb3NzaWJsZS4gKG11bHRpcGxl
IHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUgY29ubmVjdGlvbi4pCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzOgorICAgICAgICAo
aW5kZXhlZERCVGVzdCk6CisgICAgICAgIEFkZGVkIGFub3RoZXIgb3B0aW9uYWwgcGFyYW1ldGVy
IGZvciB2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qczogUmVtb3ZlZC4KKyAgICAg
ICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBwb3NzaWJsZS4gKG11bHRpcGxl
IHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUgY29ubmVjdGlvbi4pCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHdvLXZlcnNpb24tY2hhbmdlcy5q
czogUmVtb3ZlZC4KKyAgICAgICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBw
b3NzaWJsZS4gKG11bHRpcGxlIHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUg
Y29ubmVjdGlvbi4pCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdmVy
c2lvbi1jaGFuZ2UtYWJvcnQuanM6CisgICAgICAgICAgU3RyYWlnaHRmb3J3YXJkIGNvbnZlcnNp
b24uCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFu
Z2UtZXhjbHVzaXZlLmpzOgorICAgICAgICAgIFRoZSBwcmV2aW91cyBkZXNjcmlwdGlvbiBkaWRu
J3QgYWNjdXJhdGVseSBkZXNjcmliZSB0aGUgdGVzdC4KKworICAgICAgICAqIENvcnJlc3BvbmRp
bmcgLmh0bWwgYW5kIC1leHBlY3RlZCBmaWxlcyBhbHNvIHJlbW92ZWQuCisKIDIwMTItMTEtMTUg
IERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWRE
Qjogc2V0VmVyc2lvbiBleGNpc2lvbiBiYXRjaCA5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvdmVyc2lvbmNoYW5n
ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAxOTA5Zjk5MWMzYmIwMGQwNDdl
MzQzYjg5MzhlZTU2YzNhMjdjMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNl
cy92ZXJzaW9uY2hhbmdlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8vIG9y
aWdpbmFsIHRlc3Q6Ci0vLyBodHRwOi8vbXhyLm1vemlsbGEub3JnL21vemlsbGEyLjAvc291cmNl
L2RvbS9pbmRleGVkREIvdGVzdC90ZXN0X3NldFZlcnNpb25fZXZlbnRzLmh0bWwKLS8vIGxpY2Vu
c2Ugb2Ygb3JpZ2luYWwgdGVzdDoKLS8vICIgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8g
dGhlIFB1YmxpYyBEb21haW4uCi0vLyAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1Ymxp
Y2RvbWFpbi96ZXJvLzEuMC8gIgotCi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1w
b3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKLSAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi9yZXNvdXJjZXMvc2hhcmVkLmpzJyk7Ci19Ci0K
LWRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIHRyaWdnZXJpbmcgdmVyc2lvbmNoYW5nZSBl
dmVudCIpOwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0gICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAgIGRiMSA9IGV2YWxBbmRM
b2coImRiMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRD
b3VudCA9IGV2YWxBbmRMb2coInZlcnNpb25DaGFuZ2VFdmVudENvdW50ID0gMDsiKTsKLSAgICBk
ZWJ1ZygiZGIxIHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNo
IHdpbGwgdHJpZ2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMSIpOwotICAgIGRiMS5vbnZlcnNpb25j
aGFuZ2UgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0
IiwgImRiMSIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQudmVyc2lvbiIsICInMSciKTsKLSAg
ICAgICAgdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQrKzsKLSAgICAgICAgc2hvdWxkQmUoInZlcnNp
b25DaGFuZ2VFdmVudENvdW50IiwgIjEiKTsKLSAgICAgICAgZGVidWcoImNsb3NlIGRiMSBub3cg
c28gdmVyc2lvbmNoYW5nZSBkb2Vzbid0IHRyaWdnZXIgb24gZGIxIGFnYWluIHdoZW4gd2UgY2Fs
bCBkYjMuc2V0VmVyc2lvbiIpOwotICAgICAgICBldmFsQW5kTG9nKCJkYjEuY2xvc2UoKTsiKTsK
LSAgICB9OwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIp
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3MyOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2Vz
czIoKQotewotICAgIGRiMiA9IGV2YWxBbmRMb2coImRiMiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKLSAgICBkZWJ1ZygiZGIyIHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIzLnNldFZlcnNp
b24sIHdoaWNoIHdpbGwgdHJpZ2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMiIpOwotICAgIGRiMi5v
bnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0ID0gZXZlbnQudGFy
Z2V0OwotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0IiwgImRiMiIpOwotICAgICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnZlcnNpb24iLCAiJzEnIik7Ci0gICAgICAgIHNob3VsZEJl
KCJldmVudC52ZXJzaW9uIiwgIicyJyIpOwotICAgICAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRDb3Vu
dCsrOwotICAgICAgICBzaG91bGRCZSgidmVyc2lvbkNoYW5nZUV2ZW50Q291bnQiLCAiMiIpOwot
ICAgICAgICBkZWJ1ZygiZG9uJ3QgY2xvc2UgZGIyLCBzbyBpdCB3aWxsIGJsb2NrIGRiMy5zZXRW
ZXJzaW9uIik7Ci0gICAgfQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIy
LnNldFZlcnNpb24oJzEnKSIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gcG9zdFNldFZlcnNpb247Ci0gICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0ZXN0UGFzc2Vk
KCJkYjIgcmVjZWl2ZWQgYmxvY2tlZCBldmVudCIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcG9z
dFNldFZlcnNpb24oKQotewotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgImV2
ZW50LnRhcmdldC50cmFuc2FjdGlvbiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQudHJh
bnNhY3Rpb24ubW9kZSIsICIndmVyc2lvbmNoYW5nZSciKTsKLSAgICBzaG91bGRCZSgiZGIyLnZl
cnNpb24iLCAiJzEnIik7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKG5hbWUpOyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3MzOwotfQot
Ci1mdW5jdGlvbiBvcGVuU3VjY2VzczMoKQotewotICAgIGRiMyA9IGV2YWxBbmRMb2coImRiMyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVl
c3QgPSBkYjMuc2V0VmVyc2lvbignMicpOyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIGRlYnVnKCJ0aGlzIHJlcXVlc3Qgd2lsbCBibG9jayBi
ZWNhdXNlIGRiMiBpcyBzdGlsbCBvcGVuIik7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSBmdW5j
dGlvbihldmVudCkgewotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnNvdXJjZSIsICJk
YjMiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5zb3VyY2UudmVyc2lvbiIsICIn
MSciKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnZlcnNpb24iLCAiJzInIik7Ci0gICAgICAg
IHZlcnNpb25DaGFuZ2VFdmVudENvdW50Kys7Ci0gICAgICAgIGRlYnVnKCJjbG9zZSBkYjIgbm93
IHNvIG9uc3VjY2VzcyB3aWxsIGJlIGNhbGxlZCIpOwotICAgICAgICBldmFsQW5kTG9nKCJkYjIu
Y2xvc2UoKTsiKTsKLSAgICB9Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0U2V0VmVyc2lv
bjI7Ci19Ci0KLWZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMigpCi17Ci0gICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQiLCAiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uIik7Ci0gICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5tb2RlIiwgIid2ZXJzaW9uY2hhbmdlJyIp
OwotICAgIHNob3VsZEJlKCJkYjMudmVyc2lvbiIsICInMiciKTsKLSAgICBzaG91bGRCZSgidmVy
c2lvbkNoYW5nZUV2ZW50Q291bnQiLCAiMyIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi10
ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMjI5NWZiYTUyZmU4MmU0
OTFkNTNhZWM2ZTUxNjU0ZGJiNTQxYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJz
aW9uY2hhbmdlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFu
ZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQu
Ci1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFy
ZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0
ZWFkLgotVGVzdCBJbmRleGVkREIncyB0cmlnZ2VyaW5nIHZlcnNpb25jaGFuZ2UgZXZlbnQKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERC
IHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJ
bmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1pbmRleGVkREIub3BlbihuYW1lKQotZGIx
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgPSAwOwotZGIx
IHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNoIHdpbGwgdHJp
Z2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMQotaW5kZXhlZERCLm9wZW4obmFtZSkKLWRiMiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLWRiMiB3aWxsIGJlIG9wZW4gd2hlbiB3ZSBjYWxsIGRiMy5zZXRW
ZXJzaW9uLCB3aGljaCB3aWxsIHRyaWdnZXIgdmVyc2lvbmNoYW5nZSBvbiBkYjIKLXJlcXVlc3Qg
PSBkYjIuc2V0VmVyc2lvbignMScpCi1QQVNTIGV2ZW50LnRhcmdldCBpcyBkYjEKLVBBU1MgZXZl
bnQudmVyc2lvbiBpcyAnMScKLVBBU1MgdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgaXMgMQotY2xv
c2UgZGIxIG5vdyBzbyB2ZXJzaW9uY2hhbmdlIGRvZXNuJ3QgdHJpZ2dlciBvbiBkYjEgYWdhaW4g
d2hlbiB3ZSBjYWxsIGRiMy5zZXRWZXJzaW9uCi1kYjEuY2xvc2UoKTsKLVBBU1MgZGIyIHJlY2Vp
dmVkIGJsb2NrZWQgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBldmVudC50YXJn
ZXQudHJhbnNhY3Rpb24KLVBBU1MgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUgaXMgJ3Zl
cnNpb25jaGFuZ2UnCi1QQVNTIGRiMi52ZXJzaW9uIGlzICcxJwotcmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKG5hbWUpOwotZGIzID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLXJlcXVlc3QgPSBkYjMu
c2V0VmVyc2lvbignMicpOwotdGhpcyByZXF1ZXN0IHdpbGwgYmxvY2sgYmVjYXVzZSBkYjIgaXMg
c3RpbGwgb3BlbgotUEFTUyBldmVudC50YXJnZXQgaXMgZGIyCi1QQVNTIGV2ZW50LnRhcmdldC52
ZXJzaW9uIGlzICcxJwotUEFTUyBldmVudC52ZXJzaW9uIGlzICcyJwotUEFTUyB2ZXJzaW9uQ2hh
bmdlRXZlbnRDb3VudCBpcyAyCi1kb24ndCBjbG9zZSBkYjIsIHNvIGl0IHdpbGwgYmxvY2sgZGIz
LnNldFZlcnNpb24KLVBBU1MgZXZlbnQudGFyZ2V0LnNvdXJjZSBpcyBkYjMKLVBBU1MgZXZlbnQu
dGFyZ2V0LnNvdXJjZS52ZXJzaW9uIGlzICcxJwotUEFTUyBldmVudC52ZXJzaW9uIGlzICcyJwot
Y2xvc2UgZGIyIG5vdyBzbyBvbnN1Y2Nlc3Mgd2lsbCBiZSBjYWxsZWQKLWRiMi5jbG9zZSgpOwot
UEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgotUEFT
UyBldmVudC50YXJnZXQudHJhbnNhY3Rpb24ubW9kZSBpcyAndmVyc2lvbmNoYW5nZScKLVBBU1Mg
ZGIzLnZlcnNpb24gaXMgJzInCi1QQVNTIHZlcnNpb25DaGFuZ2VFdmVudENvdW50IGlzIDMKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5n
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmZmNmIxYTJmMjczMmVmMzUz
NDQwODYzZWRlNjg5MDZkNjNlNjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lv
bmNoYW5nZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdmVyc2lvbmNoYW5n
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9xdWV1
ZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lv
bl9xdWV1ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI1ZjIwZWRlNDRjMzA2
OTYwZTBiY2FiNWExN2UyMTQ2MzlhYmY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
c2V0X3ZlcnNpb25fcXVldWUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotaWYg
KHRoaXMuaW1wb3J0U2NyaXB0cykgewotICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7Ci0gICAgaW1wb3J0U2NyaXB0cygnc2hhcmVk
LmpzJyk7Ci19Ci0KLWRlc2NyaXB0aW9uKCI0IG9wZW4gY29ubmVjdGlvbnMgdHJ5IHRvIHNldFZl
cnNpb24gYXQgdGhlIHNhbWUgdGltZS4gIDMgY29ubmVjdGlvbnMgZXZlbnR1YWxseSBjbG9zZSwg
YWxsb3dpbmcgMSBzZXRWZXJzaW9uIGNhbGwgdG8gcHJvY2VlZC4iKTsKLQotY29ubmVjdGlvbnMg
PSBbXQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQot
ICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigp
Ci17Ci0gICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9u
LXF1ZXVlJykiKTsKLSAgICByZXN1bHQub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVz
dWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3Bl
blN1Y2Nlc3MoKQotewotICAgIGNvbm5lY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0OwotICAg
IGNvbm5lY3Rpb24ub252ZXJzaW9uY2hhbmdlID0gZ2VuZXJhdGVWZXJzaW9uQ2hhbmdlSGFuZGxl
cigpOwotICAgIGNvbm5lY3Rpb25zLnB1c2goY29ubmVjdGlvbik7Ci0gICAgaWYgKGNvbm5lY3Rp
b25zLmxlbmd0aCA8IDQpCi0gICAgICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLSAgICBlbHNlIHsK
LSAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzBdLnNldFZlcnNpb24o
J3ZlcnNpb24gMCcpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50
KXsgY29ubmVjdGlvbkVycm9yKGV2ZW50LCAwKSB9OwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gYmxvY2tlZDA7Ci0gICAgICAgIHJlcXVlc3QxID0gZXZhbEFuZExvZygiY29ubmVjdGlvbnNb
MV0uc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKLSAgICAgICAgcmVxdWVzdDEub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0MS5vbnN1Y2Nlc3MgPSBp
blNldFZlcnNpb24xOwotICAgICAgICByZXF1ZXN0MS5vbmJsb2NrZWQgPSBibG9ja2VkMTsKLSAg
ICAgICAgcmVxdWVzdDIgPSBldmFsQW5kTG9nKCJjb25uZWN0aW9uc1syXS5zZXRWZXJzaW9uKCd2
ZXJzaW9uIDInKSIpOwotICAgICAgICByZXF1ZXN0Mi5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQp
eyBjb25uZWN0aW9uRXJyb3IoZXZlbnQsIDIpIH07Ci0gICAgICAgIHJlcXVlc3QyLm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3QyLm9uYmxvY2tl
ZCA9IGJsb2NrZWQyOwotICAgICAgICByZXF1ZXN0MyA9IGV2YWxBbmRMb2coImNvbm5lY3Rpb25z
WzNdLnNldFZlcnNpb24oJ3ZlcnNpb24gMycpIik7Ci0gICAgICAgIHJlcXVlc3QzLm9uZXJyb3Ig
PSBmdW5jdGlvbihldmVudCl7IGNvbm5lY3Rpb25FcnJvcihldmVudCwgMykgfTsKLSAgICAgICAg
cmVxdWVzdDMub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdDMub25ibG9ja2VkID0gYmxvY2tlZDM7Ci0gICAgICAgIGRlYnVnKCIiKTsKLSAgICB9
Ci19Ci0KLWZ1bmN0aW9uIGdlbmVyYXRlVmVyc2lvbkNoYW5nZUhhbmRsZXIoKQotewotICAgIHZh
ciBjb25uZWN0aW9uTnVtID0gY29ubmVjdGlvbnMubGVuZ3RoOwotICAgIHJldHVybiBmdW5jdGlv
bihldmVudCkKLSAgICB7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiZXZlbnQudmVyc2lvbi5sZW5n
dGggPiAwIik7Ci0gICAgICAgIGRlYnVnKCJjb25uZWN0aW9uWyIgKyBjb25uZWN0aW9uTnVtICsg
Il0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiAiICsgZXZlbnQudmVyc2lvbik7Ci0gICAg
fQotfQotCi1ibG9ja2VkMGZpcmVkID0gZmFsc2U7Ci1ibG9ja2VkMmZpcmVkID0gZmFsc2U7Ci1m
dW5jdGlvbiBibG9ja2VkMChldmVudCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3Nl
ZCgiY29ubmVjdGlvblswXSBnb3QgYmxvY2tlZCBldmVudCIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZXZlbnQudmVyc2lvbiIsICJ2ZXJzaW9uIDAiKTsKLSAgICBkZWJ1ZygiQ2xvc2Ug
dGhlIGNvbm5lY3Rpb24gdGhhdCByZWNlaXZlZCB0aGUgYmxvY2sgZXZlbnQ6Iik7Ci0gICAgZXZh
bEFuZExvZygiY29ubmVjdGlvbnNbMF0uY2xvc2UoKSIpOwotICAgIGRlYnVnKCJDbG9zZSBhbm90
aGVyIGNvbm5lY3Rpb24gYXMgd2VsbCwgdG8gdGVzdCA0LjcuNC1ub3RlOiIpOwotICAgIGV2YWxB
bmRMb2coImNvbm5lY3Rpb25zWzNdLmNsb3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2Vk
MGZpcmVkID0gdHJ1ZSIpOwotICAgIGRlYnVnKCIiKTsKLX0KLQotZnVuY3Rpb24gYmxvY2tlZDEo
ZXZlbnQpCi17Ci0gICAgZGVidWcoIiIpCi0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsxXSBn
b3QgYmxvY2tlZCBldmVudCIpOwotICAgIGRlYnVnKCJFbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQg
ZXZlbnQgaXMgaW4gb3JkZXI6Iik7Ci0gICAgc2hvdWxkQmVUcnVlKCJibG9ja2VkMGZpcmVkIik7
Ci0gICAgc2hvdWxkQmVGYWxzZSgiYmxvY2tlZDJmaXJlZCIpOwotICAgIGRlYnVnKCIiKQotfQot
Ci1mdW5jdGlvbiBibG9ja2VkMihldmVudCkKLXsKLSAgICBkZWJ1ZygiIikKLSAgICB0ZXN0UGFz
c2VkKCJjb25uZWN0aW9uWzJdIGdvdCBibG9ja2VkIGV2ZW50Iik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC52ZXJzaW9uIiwgInZlcnNpb24gMiIpOwotICAgIGV2YWxBbmRMb2co
ImNvbm5lY3Rpb25zWzJdLmNsb3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2VkMmZpcmVk
ID0gdHJ1ZSIpOwotICAgIGRlYnVnKCIiKQotfQotCi1mdW5jdGlvbiBibG9ja2VkMyhldmVudCkK
LXsKLSAgICBkZWJ1ZygiIikKLSAgICB0ZXN0UGFzc2VkKCJjb25uZWN0aW9uWzNdIGdvdCBibG9j
a2VkIGV2ZW50Iik7Ci0gICAgZGVidWcoIk5vdGU6IFRoaXMgbWVhbnMgdGhhdCBhIGNvbm5lY3Rp
b24gY2FuIHJlY2VpdmUgYSBibG9ja2VkIGV2ZW50IGFmdGVyIGl0cyBjbG9zZSgpIG1ldGhvZCBo
YXMgYmVlbiBjYWxsZWQuICBTcGVjIGlzIHNpbGVudCBvbiB0aGUgaXNzdWUgYW5kIHRoaXMgaXMg
ZWFzaWVzdCB0byBpbXBsZW1lbnQuIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVu
dC52ZXJzaW9uIiwgInZlcnNpb24gMyIpOwotfQotCi1mdW5jdGlvbiBjb25uZWN0aW9uRXJyb3Io
ZXZlbnQsIGNvbm5lY3Rpb25JZCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3NlZCgi
Y29ubmVjdGlvblsiICsgY29ubmVjdGlvbklkICsgIl0gZ290IGVycm9yIGV2ZW50Iik7Ci0gICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAiRE9NRXhjZXB0aW9uLkFCT1JUX0VS
UiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQuZXJyb3IubmFtZSIsICInQWJvcnRFcnJv
ciciKTsKLSAgICBpZiAoJ3dlYmtpdEVycm9yTWVzc2FnZScgaW4gZXZlbnQudGFyZ2V0KSB7Ci0g
ICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlLmxlbmd0aCA+
IDAiLCAidHJ1ZSIpOwotICAgICAgICBkZWJ1ZyhldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNz
YWdlKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGluU2V0VmVyc2lvbjEoZXZlbnQpCi17Ci0gICAg
ZGVidWcoIiIpCi0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsxXSBnb3QgaW50byBTZXRWZXJz
aW9uIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1v
cGVuLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNp
b24tYmxvY2tzLW9wZW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OTU4YjQy
NDM1NzZiMTI5ZjAwMjI2MmI1MWJhM2U5NmZmZDc3MTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiAr
MCwwIEBACi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3Jp
cHRzKCdzaGFyZWQuanMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBvcGVuIGlzIGJs
b2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIik7Ci0KLWZ1
bmN0aW9uIHRlc3QoKSB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5h
bWVGcm9tUGF0aCgpOwotCi0gICAgZXZhbEFuZExvZygidmVyID0gMSIpOwotICAgIGV2YWxBbmRM
b2coInZlcnNpb25DaGFuZ2VDb21wbGV0ZSA9IGZhbHNlIik7Ci0KLSAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwotICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGgx
T3Blbk9uU3VjY2VzcyhldnQpIHsKLSAgICAgICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgZXZh
bEFuZExvZygiaDEgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0KLSAgICAgICAgaDEub252ZXJz
aW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjazsKLQotICAgICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaDEuc2V0VmVyc2lvbihTdHJpbmcodmVyKyspKSIpOwotICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGgxU2V0VmVyc2lvbk9uU3VjY2VzcyhldnQpIHsK
LSAgICAgICAgICAgIHByZWFtYmxlKGV2dCk7Ci0KLSAgICAgICAgICAgIHRyYW5zYWN0aW9uID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uY29tcGxl
dGUgPSBmdW5jdGlvbiB0cmFuc2FjdGlvbk9uQ29tcGxldGUoZXZ0KSB7Ci0gICAgICAgICAgICAg
ICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hh
bmdlQ29tcGxldGUgPSB0cnVlIik7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0gICAg
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAg
ICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gaDJPcGVuT25TdWNjZXNzKGV2dCkgewotICAgICAg
ICAgICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImgyID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgICAgICAgICBoMi5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4
cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ2
ZXJzaW9uQ2hhbmdlQ29tcGxldGUiKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAg
ICAgICB9OwotICAgIH07Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxv
Y2tzLXNldHZlcnNpb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmY2MxMTI5
NzdmZmNlNGRkZDdkNmQxNjgxM2RjZDFhNWQwYThjMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uanMKKysrIC9kZXYvbnVsbApAQCAt
MSw1NyArMCwwIEBACi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0
cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBv
cnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB0d28g
c2V0VmVyc2lvbnMgZnJvbSB0aGUgc2FtZSBjb25uZWN0aW9uIGV4ZWN1dGUgc2VxdWVudGlhbGx5
LiIpOwotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0g
ICAgc2V0REJOYW1lRnJvbVBhdGgoKTsKLQotICAgIGV2YWxBbmRMb2coInZlciA9IDEiKTsKLSAg
ICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29tcGxldGUgPSBmYWxzZSIpOwotCi0gICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0
Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiBoMU9wZW5PblN1Y2Nlc3MoZXZ0KSB7Ci0gICAgICAgIHByZWFtYmxlKGV2dCk7Ci0g
ICAgICAgIGV2YWxBbmRMb2coImgxID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgICAg
IGgxLm9udmVyc2lvbmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2s7Ci0K
LSAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisr
KSkiKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
LSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nl
c3MxKGV2dCkgewotICAgICAgICAgICAgcHJlYW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0
cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlv
bi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2Fj
dGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gdHJhbnNhY3Rpb25PbkNvbXBsZXRlMShldnQpIHsK
LSAgICAgICAgICAgICAgICBwcmVhbWJsZShldnQpOwotICAgICAgICAgICAgICAgIGRlYnVnKCJo
YWxmIGRvbmUiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29t
cGxldGUgPSB0cnVlIik7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0KLSAgICAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkiKTsKLSAg
ICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAg
IHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nlc3MyKGV2dCkg
ewotICAgICAgICAgICAgcHJlYW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0cmFuc2FjdGlv
biA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0
ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNv
bXBsZXRlID0gZnVuY3Rpb24gdHJhbnNhY3Rpb25PbkNvbXBsZXRlMihldnQpIHsKLSAgICAgICAg
ICAgICAgICBwcmVhbWJsZShldnQpOwotICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgidmVy
c2lvbkNoYW5nZUNvbXBsZXRlIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgICAgICAgICB9OwotICAgICAgICB9OwotICAgIH07Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzCmluZGV4IDZj
M2NlYzlmZTZjZDlmY2ZhY2YxMWMyMmEzODEwYmJiMWU3NjNjNzAuLjJhZmZkMGEwYzAxM2MxOTE2
MTkzY2U2ZDM3NmMyNmUzZjIyMjk5NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qcwpAQCAtMjAxLDUgKzIwMSw3IEBAIGZ1bmN0aW9u
IGluZGV4ZWREQlRlc3QodXBncmFkZUNhbGxiYWNrLCBvcHRpb25hbE9wZW5DYWxsYmFjaywgb3B0
aW9uYWxQYXJhbWV0ZXJzCiAgICAgICAgIGlmIChvcHRpb25hbE9wZW5DYWxsYmFjaykKICAgICAg
ICAgICAgIG9wZW5SZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wdGlvbmFsT3BlbkNhbGxiYWNrOwogICAg
ICAgICBkZWxldGUgc2VsZi5vcGVuUmVxdWVzdDsKKyAgICAgICAgaWYgKG9wdGlvbmFsUGFyYW1l
dGVycyAmJiAncnVuQWZ0ZXJPcGVuJyBpbiBvcHRpb25hbFBhcmFtZXRlcnMpCisgICAgICAgICAg
ICAob3B0aW9uYWxQYXJhbWV0ZXJzWydydW5BZnRlck9wZW4nXSkoKTsKICAgICB9OwogfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RocmVlLXNl
dHZlcnNpb24tY2FsbHMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGNmZTgxMjc5NjIxZGU3ZjdmOGZkMDY0NWE3NmRiZjFiMjgzMTg0NC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDYwICswLDAgQEAKLWlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRT
Y3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAg
IGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwotfQotCi1kZXNjcmlwdGlvbigiVGhyZWUgc2V0
VmVyc2lvbiBjYWxscyBhcmUgcXVldWVkIGNvcnJlY3RseSAtIGV4ZXJjaXNlcyBhbiBvdGhlcndp
c2UtdW50ZXN0ZWQgY29kZSBwYXRoIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92
ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVjdGlvbigpOwotfQotCi1mdW5jdGlv
biBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4oJ3RocmVlLXNldHZlcnNpb24tY2FsbHMnKSIpOwotICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3MxOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBzdWNjZXNzSGFuZGxlcihpZCkKLXsKLSAgcmV0dXJu
IGZ1bmN0aW9uKGUpIHsKLSAgICB0cmFucyA9IGUudGFyZ2V0LnJlc3VsdDsKLSAgICBkZWJ1Zygi
c2V0VmVyc2lvbiAiICsgaWQpOwotICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0g
ICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uKGV2dCkgewotICAgICAgZGVidWcoInNldFZl
cnNpb24gIiArIGlkICsgIiBjb21wbGV0ZSIpOwotICAgICAgaWYgKGlkID09IGtOdW1WZXJzaW9u
Q2FsbHMgLSAxKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coImZpbmlzaGVkQWxsU2V0VmVyc2lvbnMg
PSB0cnVlIik7Ci0gICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKTsKLSAgICAgIH0KLSAgICB9Ci0g
IH0KLX0KLQotZmluaXNoZWRBbGxTZXRWZXJzaW9ucyA9IGZhbHNlOwota051bVZlcnNpb25DYWxs
cyA9IDM7Ci1mdW5jdGlvbiBvcGVuU3VjY2VzczEoZSkKLXsKLSAgICBjb25uZWN0aW9uID0gZS50
YXJnZXQucmVzdWx0OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwga051bVZlcnNpb25DYWxsczsg
aSsrKSB7Ci0gICAgICB2Y1JlcXVlc3QgPSBldmFsQW5kTG9nKCdjb25uZWN0aW9uLnNldFZlcnNp
b24oInZlcnNpb24gJyArIGkgKyAnIiknKTsKLSAgICAgIHZjUmVxdWVzdC5vbmJsb2NrZWQgPSB1
bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgICAgdmNSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgIHZjUmVxdWVzdC5vbnN1Y2Nlc3MgPSBzdWNjZXNz
SGFuZGxlcihpKTsKLSAgICAgIGlmICghaSkgewotICAgICAgICBkZWxldGVSZXF1ZXN0ID0gZXZh
bEFuZExvZygnaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCJ0aHJlZS1zZXR2ZXJzaW9uLWNhbGxz
IiknKTsKLSAgICAgICAgZGVsZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci0gICAgICAgIGRlbGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBkZWxldGVkIGRhdGFiYXNlIik7Ci0gICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJmaW5pc2hlZEFsbFNldFZlcnNpb25zIik7Ci0gICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgIH07Ci0gICAgICB9Ci0gICAgfQotfQotCi10ZXN0KCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHdvLXZl
cnNpb24tY2hhbmdlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
OGFjNTliOTE4YTQwMTMwN2IzYjI1YmQ3M2IyOTIxYWJkMzM0ZThkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3Jlc291cmNlcy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTA2ICswLDAgQEAKLWlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRTY3JpcHRz
KCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAgIGltcG9y
dFNjcmlwdHMoJ3NoYXJlZC5qcycpOwotfQotCi1kZXNjcmlwdGlvbigiVGVzdCBiZWhhdmlvciB3
aGVuIHRoZSBzYW1lIGNvbm5lY3Rpb24gY2FsbHMgc2V0VmVyc2lvbiB0d2ljZSIpOwotCi1mdW5j
dGlvbiB0ZXN0KCkgewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBzaG91bGRC
ZU5vbk51bGwoImluZGV4ZWREQiIpOwotICAgIHNob3VsZEJlTm9uTnVsbCgiSURCVHJhbnNhY3Rp
b24iKTsKLSAgICBvcGVuREJDb25uZWN0aW9uKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5EQkNvbm5l
Y3Rpb24oKQotewotICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7Ci0g
ICAgdmFyIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25z
LW9uZS1jb25uZWN0aW9uJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNz
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1m
dW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAwIik7
Ci0KLSAgICB2YXIgdmVyc2lvbkNoYW5nZVJlcXVlc3QxID0gZXZhbEFuZExvZygiZGIuc2V0VmVy
c2lvbigndmVyc2lvbiAxJykiKTsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDEub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MS5vbnN1
Y2Nlc3MgPSBpblNldFZlcnNpb24xOwotCi0gICAgLy8gYW5kIGNvbmN1cnJlbnRseS4uLgotCi0g
ICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MiA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24o
J3ZlcnNpb24gMicpIik7Ci0gICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QyLm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDIub25zdWNjZXNz
ID0gaW5TZXRWZXJzaW9uMjsKLX0KLQotZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCi17Ci0gICAg
ZGVidWcoInNldFZlcnNpb24oKSAjMSBjYWxsYmFjayIpOwotICAgIHRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKLSAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Ci0gICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICIx
Iik7Ci0gICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1dCgnYWFhJywgMTEx
KSIpOwotICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVx
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3Rh
dGUiLCAiMiIpOwotICAgICAgICBoYWxmd2F5RG9uZSgpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9u
IGluU2V0VmVyc2lvbjIoKQotewotICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2si
KTsKLSAgICB0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgc2hvdWxkQmUoIisrc2Vs
Zi5zdGF0ZSIsICI0Iik7Ci0gICAgZXZhbEFuZExvZygic2VsZi5zdG9yZTIgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgndGVzdC1zdG9yZTInKSIpOwotCi0gICAgdmFyIHJlcSA9IGV2YWxBbmRMb2co
InNlbGYuc3RvcmUyLnB1dCgnYmJiJywgMjIyKSIpOwotICAgIHJlcS5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0g
ICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiNSIpOwotICAgICAgICBoYWxmd2F5RG9u
ZSgpOwotICAgIH07Ci19Ci0KLXZhciBjb3VudGVyID0gMDsKLWZ1bmN0aW9uIGhhbGZ3YXlEb25l
KCkgCi17Ci0gICAgY291bnRlciArPSAxOwotICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAg
ICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjMiKTsKLSAgICAgICAgZGVidWcoImhhbGZ3YXkg
dGhlcmUuLi4iICk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0
ZSIsICI2Iik7Ci0gICAgICAgIGNoZWNrUmVzdWx0cygpOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
Y2hlY2tSZXN1bHRzKCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5kYi52ZXJz
aW9uIiwgInZlcnNpb24gMiIpOwotICAgIHRyYW5zLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29t
cGxldGU7Ci19Ci0KLWZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZSgpCi17Ci0gICAgdHJhbnMg
PSBldmFsQW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScs
ICd0ZXN0LXN0b3JlMiddKSIpOwotICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9
IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFs
QW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKLSAgICByZXEub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlv
biAoZSkgewotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1
bHQiLCAiYWFhIik7Ci0KLSAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzZWxmLnN0b3JlID0g
c2VsZi50cmFucy5vYmplY3RTdG9yZSgndGVzdC1zdG9yZTInKSIpOwotICAgICAgICByZXEgPSBl
dmFsQW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikiKTsKLSAgICAgICAgcmVx
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxLm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2
ZW50LnRhcmdldC5yZXN1bHQiLCAiYmJiIik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICAgICAgfTsKLSAgICB9OwotfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L3ZlcnNpb24tY2hhbmdlLWFib3J0LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWFib3J0LmpzCmluZGV4IDBiNDQ3MTcyZmJlODBmMWNl
MWRlMjgzYTM1ZmRjZGMxODA0NTBkOTMuLmFlMjkxZTQ0ODIyZWUwNzNmY2U3YzA4YzIyNzQzN2I4
NWIyOTg2ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy92ZXJzaW9uLWNoYW5nZS1hYm9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuanMKQEAgLTUsMzYgKzUsMTQg
QEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQg
YWJvcnRlZCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVk
IGJhY2siKTsKIAotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwotICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlv
bigpCi17Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9u
LWNoYW5nZS1hYm9ydCcpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
LSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVu
Y3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBkZWJ1ZygiIik7Ci0KLSAgICBldmFsQW5kTG9nKCJ2
Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7Ci0gICAgdmNyZXEub25zdWNjZXNz
ID0gaW5TZXRWZXJzaW9uMTsKLSAgICB2Y3JlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGluU2V0VmVyc2lvbjEoKQoraW5kZXhlZERCVGVzdChwcmVw
YXJlRGF0YWJhc2UsIHNldFZlcnNpb24xQ29tcGxldGUpOworZnVuY3Rpb24gcHJlcGFyZURhdGFi
YXNlKCkKIHsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbjEoKSBjYWxsYmFjayIpOwotICAgIHNob3Vs
ZEJlVHJ1ZSgidmNyZXEucmVzdWx0IGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24iKTsKLSAgICB0
cmFucyA9IHZjcmVxLnJlc3VsdDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAg
dHJhbnMgPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb247CisgICAgc2hvdWxkQmVUcnVlKCJ0cmFu
cyBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICB0cmFucy5vbmNvbXBsZXRlID0gc2V0VmVyc2lvbjFDb21wbGV0ZTsKIAog
ICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7
CiB9CkBAIC00MiwyMSArMjAsMjQgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlv
biBzZXRWZXJzaW9uMUNvbXBsZXRlKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbjEgY29tcGxl
dGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAidmVyc2lvbiAx
Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgIGRlYnVnKCIiKTsKKyAg
ICBkYi5jbG9zZSgpOwogCi0gICAgZXZhbEFuZExvZygidmNyZXEgPSBkYi5zZXRWZXJzaW9uKCd2
ZXJzaW9uIDInKSIpOwotICAgIHZjcmVxLm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjI7Ci0gICAg
dmNyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGV2YWxBbmRMb2co
InZjcmVxID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHZjcmVxLm9udXBncmFk
ZW5lZWRlZCA9IGluU2V0VmVyc2lvbjI7CisgICAgdmNyZXEub25lcnJvciA9IHNldFZlcnNpb24y
QWJvcnQ7CisgICAgdmNyZXEub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
KyAgICB2Y3JlcS5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwogfQogCiBm
dW5jdGlvbiBpblNldFZlcnNpb24yKCkKIHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CiAgICAgZGVidWcoInNldFZlcnNpb24yKCkgY2FsbGJhY2siKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJ2
Y3JlcS5yZXN1bHQgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiIpOworICAgIHNob3VsZEJlKCJk
Yi52ZXJzaW9uIiwgIjIiKTsKKyAgICBzaG91bGRCZVRydWUoInZjcmVxLnRyYW5zYWN0aW9uIGlu
c3RhbmNlb2YgSURCVHJhbnNhY3Rpb24iKTsKICAgICB0cmFucyA9IHZjcmVxLnJlc3VsdDsKLSAg
ICB0cmFucy5vbmFib3J0ID0gc2V0VmVyc2lvbjJBYm9ydDsKICAgICB0cmFucy5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0
ZWRDb21wbGV0ZUNhbGxiYWNrOwogCkBAIC03OCwxMiArNTksMTcgQEAgZnVuY3Rpb24gc2V0VmVy
c2lvbjJBYm9ydCgpCiAKICAgICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVy
LgogICAgIHNlbGYub25lcnJvciA9IHNlbGYub3JpZ2luYWxXaW5kb3dPbkVycm9yOwotCi0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgInZlcnNpb24gMSIpOwotICAgIHNo
b3VsZEJlVHJ1ZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykiKTsKLSAg
ICBzaG91bGRCZUZhbHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIp
OwotCi0gICAgZmluaXNoSlNUZXN0KCk7CisgICAgZGIuY2xvc2UoKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25ibG9j
a2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiAoZSkgeworICAgICAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgICAg
IHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJkYi5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOworICAgICAgICBzaG91bGRCZUZh
bHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIpOworCisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmpzCmluZGV4IDg2ZTI0
Y2VjYzQyMzNiOGM3OGQ2Mjk2YWY5OTUyOTA2M2YzNGM1OWUuLjFhMGM4ZWNhZTJlZmJhNGYyMGEx
ZWZlMjQ5NzY4MjFmZTAzYzkyN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanMKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2
ZS5qcwpAQCAtMyw0MSArMywyMSBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1w
b3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7CiB9CiAKLWRlc2NyaXB0aW9uKCJFbnN1cmUgVkVSU0lP
Tl9DSEFOR0UgdHJhbnNhY3Rpb24gZG9lc24ndCBydW4gY29uY3VycmVudGx5IHdpdGggb3RoZXIg
dHJhbnNhY3Rpb25zIik7CitkZXNjcmlwdGlvbigiRW5zdXJlIHBlbmRpbmcgb3BlbiB3YWl0cyBm
b3IgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUuIik7CiAKLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVj
dGlvbigpOwotfQotCi1mdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICBldmFsQW5k
TG9nKCJzZWxmLnN0YXRlID0gJ3N0YXJ0aW5nJyIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJpbmRleGVkREIub3BlbigndmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykiKTsKLSAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwotfQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIG51
bGwsIHsicnVuQWZ0ZXJPcGVuIjogY29uY3VycmVudE9wZW59KTsKIAotZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQorZnVuY3Rpb24gY29uY3VycmVudE9wZW4oKQogewotICAgIHNlbGYuZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAgIGRlYnVnKCJjYWxsaW5n
IHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNob3VsZCBydW4gaW1tZWRpYXRlbHkiKTsKLSAgICB2
YXIgdmVyc2lvbkNoYW5nZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCd2ZXJz
aW9uIDEnKSIpOwotICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdC5vbnN1Y2Nlc3MgPSBpblNl
dFZlcnNpb247Ci0KLSAgICAvLyBhbmQgY29uY3VycmVudGx5Li4uCi0KICAgICBkZWJ1ZygiY2Fs
bGluZyBvcGVuKCkgLSBjYWxsYmFjayBzaG91bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0
cmFuc2FjdGlvbiBpcyBjb21wbGV0ZSIpOwotICAgIHZhciBvcGVuUmVxdWVzdCA9IGV2YWxBbmRM
b2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKSIpOworICAgIHZh
ciBvcGVuUmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKICAg
ICBvcGVuUmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuQWdhaW5TdWNjZXNzOwogICAgIG9wZW5SZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rpb24gaW5T
ZXRWZXJzaW9uKCkKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7CisgICAgZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0OwogICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgY2FsbGJhY2siKTsKICAg
ICBkZWJ1Zygic3RhcnRpbmcgd29yayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiIpOwog
ICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsK
QEAgLTY5LDUgKzQ5LDMgQEAgZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0YXRlIiwgIlZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkIik7
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVy
c2lvbl9xdWV1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
ZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDcyNzY1NjI3ZGY0NDRjNmI2Y2Q2YjBkZGE3ODNjZjAwZjFlNzljMzIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsODEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBp
cyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRl
ZCIgZXZlbnQgaW5zdGVhZC4KLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRo
b2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVu
ZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkg
bWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdy
YWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lv
bigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAi
dXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLTQgb3BlbiBjb25uZWN0aW9ucyB0cnkgdG8g
c2V0VmVyc2lvbiBhdCB0aGUgc2FtZSB0aW1lLiAzIGNvbm5lY3Rpb25zIGV2ZW50dWFsbHkgY2xv
c2UsIGFsbG93aW5nIDEgc2V0VmVyc2lvbiBjYWxsIHRvIHByb2NlZWQuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndl
YmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8
IHNlbGYuT0luZGV4ZWREQjsKLQotaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykK
LWluZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCi1pbmRleGVkREIub3Blbignc2V0
LXZlcnNpb24tcXVldWUnKQotaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKLWNv
bm5lY3Rpb25zWzBdLnNldFZlcnNpb24oJ3ZlcnNpb24gMCcpCi1jb25uZWN0aW9uc1sxXS5zZXRW
ZXJzaW9uKCd2ZXJzaW9uIDEnKQotY29ubmVjdGlvbnNbMl0uc2V0VmVyc2lvbigndmVyc2lvbiAy
JykKLWNvbm5lY3Rpb25zWzNdLnNldFZlcnNpb24oJ3ZlcnNpb24gMycpCi0KLVBBU1MgZXZlbnQu
dmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lv
bkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDAKLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlz
IHRydWUKLWNvbm5lY3Rpb25bMl0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9u
IDAKLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bM10g
cmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDAKLQotUEFTUyBjb25uZWN0aW9u
WzBdIGdvdCBibG9ja2VkIGV2ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24gaXMgInZlcnNpb24gMCIK
LUNsb3NlIHRoZSBjb25uZWN0aW9uIHRoYXQgcmVjZWl2ZWQgdGhlIGJsb2NrIGV2ZW50OgotY29u
bmVjdGlvbnNbMF0uY2xvc2UoKQotQ2xvc2UgYW5vdGhlciBjb25uZWN0aW9uIGFzIHdlbGwsIHRv
IHRlc3QgNC43LjQtbm90ZToKLWNvbm5lY3Rpb25zWzNdLmNsb3NlKCkKLWJsb2NrZWQwZmlyZWQg
PSB0cnVlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rp
b25bMl0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDEKLQotUEFTUyBjb25u
ZWN0aW9uWzFdIGdvdCBibG9ja2VkIGV2ZW50Ci1FbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQgZXZl
bnQgaXMgaW4gb3JkZXI6Ci1QQVNTIGJsb2NrZWQwZmlyZWQgaXMgdHJ1ZQotUEFTUyBibG9ja2Vk
MmZpcmVkIGlzIGZhbHNlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUK
LWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDIKLQot
UEFTUyBjb25uZWN0aW9uWzJdIGdvdCBibG9ja2VkIGV2ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24g
aXMgInZlcnNpb24gMiIKLWNvbm5lY3Rpb25zWzJdLmNsb3NlKCkKLWJsb2NrZWQyZmlyZWQgPSB0
cnVlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25b
MV0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDMKLQotUEFTUyBjb25uZWN0
aW9uWzNdIGdvdCBibG9ja2VkIGV2ZW50Ci1Ob3RlOiBUaGlzIG1lYW5zIHRoYXQgYSBjb25uZWN0
aW9uIGNhbiByZWNlaXZlIGEgYmxvY2tlZCBldmVudCBhZnRlciBpdHMgY2xvc2UoKSBtZXRob2Qg
aGFzIGJlZW4gY2FsbGVkLiAgU3BlYyBpcyBzaWxlbnQgb24gdGhlIGlzc3VlIGFuZCB0aGlzIGlz
IGVhc2llc3QgdG8gaW1wbGVtZW50LgotUEFTUyBldmVudC52ZXJzaW9uIGlzICJ2ZXJzaW9uIDMi
Ci0KLVBBU1MgY29ubmVjdGlvblswXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0
LmVycm9yQ29kZSBpcyBET01FeGNlcHRpb24uQUJPUlRfRVJSCi1QQVNTIGV2ZW50LnRhcmdldC5l
cnJvci5uYW1lIGlzICdBYm9ydEVycm9yJwotUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJyb3JN
ZXNzYWdlLmxlbmd0aCA+IDAgaXMgdHJ1ZQotQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBz
ZXQgdmVyc2lvbiB0cmFuc2FjdGlvbiB3YXMgY3JlYXRlZAotCi1QQVNTIGNvbm5lY3Rpb25bMl0g
Z290IGVycm9yIGV2ZW50Ci1QQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgRE9NRXhjZXB0
aW9uLkFCT1JUX0VSUgotUEFTUyBldmVudC50YXJnZXQuZXJyb3IubmFtZSBpcyAnQWJvcnRFcnJv
cicKLVBBU1MgZXZlbnQudGFyZ2V0LndlYmtpdEVycm9yTWVzc2FnZS5sZW5ndGggPiAwIGlzIHRy
dWUKLUNvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24g
d2FzIGNyZWF0ZWQKLQotUEFTUyBjb25uZWN0aW9uWzNdIGdvdCBlcnJvciBldmVudAotUEFTUyBl
dmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIERPTUV4Y2VwdGlvbi5BQk9SVF9FUlIKLVBBU1MgZXZl
bnQudGFyZ2V0LmVycm9yLm5hbWUgaXMgJ0Fib3J0RXJyb3InCi1QQVNTIGV2ZW50LnRhcmdldC53
ZWJraXRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMCBpcyB0cnVlCi1Db25uZWN0aW9uIHdhcyBjbG9z
ZWQgYmVmb3JlIHNldCB2ZXJzaW9uIHRyYW5zYWN0aW9uIHdhcyBjcmVhdGVkCi0KLVBBU1MgY29u
bmVjdGlvblsxXSBnb3QgaW50byBTZXRWZXJzaW9uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRiNTYyN2I1NzQ4ODg3NzZkNmJmYTE2NDJlZGZiZmJkNzIyOThhZDAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLTxodG1sPg0KLTxoZWFkPg0KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFyZWQuanMiPjwvc2NyaXB0Pg0KLTwvaGVhZD4NCi08Ym9keT4NCi08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NldF92ZXJzaW9uX3F1ZXVlLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCi08L2Jv
ZHk+DQotPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3NldHZlcnNpb24tYmxvY2tzLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOWRhOGEwOTYwYmI2ZGNmYzE1NmI5ZDFhNzAwOWVmYTQ0
YTU3OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRo
ZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVk
LiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotVGVzdCB0aGF0IG9wZW4g
aXMgYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERC
IHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJ
bmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVyc2lvbi1ibG9j
a3Mtb3Blbi5odG1sIgotdmVyID0gMQotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gZmFsc2UKLWlu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6Ci1oMSA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKLWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLWluZGV4ZWREQi5vcGVu
KGRibmFtZSkKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzKCk6Ci0KLXRyYW5zYWN0aW9uT25Db21w
bGV0ZSgpOgotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gdHJ1ZQotCi1oMk9wZW5PblN1Y2Nlc3Mo
KToKLWgyID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotUEFTUyB2ZXJzaW9uQ2hhbmdlQ29tcGxldGUg
aXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24t
YmxvY2tzLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNp
b24tYmxvY2tzLW9wZW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIwOWM3
Mjg0NzE2ZjgyNGZlZDZlMGRlM2NjZWY3NTI0MzhiNzk4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
ZXR2ZXJzaW9uLWJsb2Nrcy1vcGVuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZXR2
ZXJzaW9uLWJsb2Nrcy1vcGVuLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1i
bG9ja3Mtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZjMWFlYTgzYzM0NTg1OGMxNDNkYWY1ODU3Yjg4OGZmYjc4
Y2FjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJl
bW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1UZXN0IHRoYXQg
dHdvIHNldFZlcnNpb25zIGZyb20gdGhlIHNhbWUgY29ubmVjdGlvbiBleGVjdXRlIHNlcXVlbnRp
YWxseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVy
c2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5odG1sIgotdmVyID0gMQotdmVyc2lvbkNoYW5nZUNvbXBs
ZXRlID0gZmFsc2UKLWluZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6
Ci1oMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkK
LWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzMSgp
OgotCi10cmFuc2FjdGlvbk9uQ29tcGxldGUxKCk6Ci1oYWxmIGRvbmUKLXZlcnNpb25DaGFuZ2VD
b21wbGV0ZSA9IHRydWUKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzMigpOgotCi10cmFuc2FjdGlv
bk9uQ29tcGxldGUyKCk6Ci1QQVNTIHZlcnNpb25DaGFuZ2VDb21wbGV0ZSBpcyB0cnVlCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVy
c2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9j
a3Mtc2V0dmVyc2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDIxODhm
YTA1OTVlNjNmZWM2YzExYTExMDJjZDUxOTMyMzk4MjA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Nl
dHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFy
ZWQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NldHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
aHJlZS1zZXR2ZXJzaW9uLWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxMTY2ODU2YzBmYjkzMmU4ZmEzZTFjZjgyMTUxNWE3ZTI5ZmUz
ZTE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUg
c2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4g
VXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLVRocmVlIHNldFZlcnNpb24g
Y2FsbHMgYXJlIHF1ZXVlZCBjb3JyZWN0bHkgLSBleGVyY2lzZXMgYW4gb3RoZXJ3aXNlLXVudGVz
dGVkIGNvZGUgcGF0aAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWluZGV4ZWRE
Qi5vcGVuKCd0aHJlZS1zZXR2ZXJzaW9uLWNhbGxzJykKLWNvbm5lY3Rpb24uc2V0VmVyc2lvbigi
dmVyc2lvbiAwIikKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgidGhyZWUtc2V0dmVyc2lvbi1j
YWxscyIpCi1jb25uZWN0aW9uLnNldFZlcnNpb24oInZlcnNpb24gMSIpCi1jb25uZWN0aW9uLnNl
dFZlcnNpb24oInZlcnNpb24gMiIpCi1zZXRWZXJzaW9uIDAKLXNldFZlcnNpb24gMCBjb21wbGV0
ZQotc2V0VmVyc2lvbiAxCi1zZXRWZXJzaW9uIDEgY29tcGxldGUKLXNldFZlcnNpb24gMgotc2V0
VmVyc2lvbiAyIGNvbXBsZXRlCi1maW5pc2hlZEFsbFNldFZlcnNpb25zID0gdHJ1ZQotU3VjY2Vz
c2Z1bGx5IGRlbGV0ZWQgZGF0YWJhc2UKLVBBU1MgZmluaXNoZWRBbGxTZXRWZXJzaW9ucyBpcyB0
cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVyc2lv
bi1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVy
c2lvbi1jYWxscy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjQ3Njg5NDEw
ODhlZGJkNTNhMDMyMjIwMDFlNjkxMjg1MDliMmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVl
LXNldHZlcnNpb24tY2FsbHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RocmVlLXNl
dHZlcnNpb24tY2FsbHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFu
Z2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJz
aW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
YzZhNDkwNjUwNmJiNzY2MzYxNWFjMjQ0M2EwZGU4ODg3MDhiZTVjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NDEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBu
b24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIg
ZXZlbnQgaW5zdGVhZC4KLVRlc3QgYmVoYXZpb3Igd2hlbiB0aGUgc2FtZSBjb25uZWN0aW9uIGNh
bGxzIHNldFZlcnNpb24gdHdpY2UKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWlu
ZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYu
bW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1Q
QVNTIGluZGV4ZWREQiBpcyBub24tbnVsbC4KLVBBU1MgSURCVHJhbnNhY3Rpb24gaXMgbm9uLW51
bGwuCi1zZWxmLnN0YXRlID0gJ3N0YXJ0aW5nJwotaW5kZXhlZERCLm9wZW4oJ3R3by12ZXJzaW9u
cy1vbmUtY29ubmVjdGlvbicpCi1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXNlbGYuc3RhdGUg
PSAwCi1kYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQotZGIuc2V0VmVyc2lvbigndmVyc2lvbiAy
JykKLXNldFZlcnNpb24oKSAjMSBjYWxsYmFjawotc2VsZi5zdG9yZTEgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgndGVzdC1zdG9yZTEnKQotUEFTUyArK3NlbGYuc3RhdGUgaXMgMQotc2VsZi5zdG9y
ZTEucHV0KCdhYWEnLCAxMTEpCi1QQVNTICsrc2VsZi5zdGF0ZSBpcyAyCi1QQVNTICsrc2VsZi5z
dGF0ZSBpcyAzCi1oYWxmd2F5IHRoZXJlLi4uCi1zZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2sKLVBB
U1MgKytzZWxmLnN0YXRlIGlzIDQKLXNlbGYuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUyJykKLXNlbGYuc3RvcmUyLnB1dCgnYmJiJywgMjIyKQotUEFTUyArK3NlbGYu
c3RhdGUgaXMgNQotUEFTUyArK3NlbGYuc3RhdGUgaXMgNgotUEFTUyBzZWxmLmRiLnZlcnNpb24g
aXMgInZlcnNpb24gMiIKLXNlbGYudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUx
JywgJ3Rlc3Qtc3RvcmUyJ10pCi1zZWxmLnN0b3JlID0gc2VsZi50cmFucy5vYmplY3RTdG9yZSgn
dGVzdC1zdG9yZTEnKQotc2VsZi5yZXEgPSBzZWxmLnN0b3JlLmdldCgxMTEpCi1QQVNTIGV2ZW50
LnRhcmdldC5yZXN1bHQgaXMgImFhYSIKLXNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMicpCi1zZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAiYmJiIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzU2OTA5YTRmNGIzOTE5YmFiNzRkMTY0MDVlODhlYzdjZDI2YzczMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVy
c2lvbi1jaGFuZ2UtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGE1MjA4YWJiMjE2
MGEwZmY1NzU3N2Y4OTUwZjc3ZmVmYzExZWFiNWMuLmU1MDFkMTNlZjIyYmYwMmI3NmJhODhiZjQw
MTgzNDYzYmE4MWViNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3ZlcnNpb24tY2hhbmdlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1z
dGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVu
dCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDcxOiBVbmNhdWdodCBFcnJvcjogVGhp
cyBzaG91bGQgKk5PVCogYmUgY2F1Z2h0IQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUyOiBVbmNh
dWdodCBFcnJvcjogVGhpcyBzaG91bGQgKk5PVCogYmUgY2F1Z2h0IQogRW5zdXJlIHRoYXQgYWJv
cnRlZCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVkIGJh
Y2sKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtNywyNiArNiwyNSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndl
YmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8
IHNlbGYuT0luZGV4ZWREQjsKIAotaW5kZXhlZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWFib3J0
JykKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotCi12Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3Zl
cnNpb24gMScpCi1zZXRWZXJzaW9uMSgpIGNhbGxiYWNrCi1QQVNTIHZjcmVxLnJlc3VsdCBpbnN0
YW5jZW9mIElEQlRyYW5zYWN0aW9uIGlzIHRydWUKK2RibmFtZSA9ICJ2ZXJzaW9uLWNoYW5nZS1h
Ym9ydC5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5v
cGVuKGRibmFtZSkKK1BBU1MgdHJhbnMgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiBpcyB0cnVl
CiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQogc2V0VmVyc2lvbjEgY29t
cGxldGUKLVBBU1MgZGIudmVyc2lvbiBpcyAidmVyc2lvbiAxIgorUEFTUyBkYi52ZXJzaW9uIGlz
IDEKIAotdmNyZXEgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQordmNyZXEgPSBpbmRleGVk
REIub3BlbihkYm5hbWUsIDIpCiBzZXRWZXJzaW9uMigpIGNhbGxiYWNrCi1QQVNTIGRiLnZlcnNp
b24gaXMgInZlcnNpb24gMiIKLVBBU1MgdmNyZXEucmVzdWx0IGluc3RhbmNlb2YgSURCVHJhbnNh
Y3Rpb24gaXMgdHJ1ZQorUEFTUyBkYi52ZXJzaW9uIGlzIDIKK1BBU1MgdmNyZXEudHJhbnNhY3Rp
b24gaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiBpcyB0cnVlCiBzdG9yZSA9IGRiLmRlbGV0ZU9i
amVjdFN0b3JlKCdzdG9yZTEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUy
JykKIHJhaXNpbmcgZXhjZXB0aW9uCiAKIHNldFZlcnNpb24yQWJvcnQoKSBjYWxsYmFjawotUEFT
UyBkYi52ZXJzaW9uIGlzICJ2ZXJzaW9uIDEiCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lKQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250
YWlucygnc3RvcmUxJykgaXMgdHJ1ZQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5z
KCdzdG9yZTInKSBpcyBmYWxzZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhj
bHVzaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKaW5kZXggNDZmNjdlYTkyNzhlOTQ2MTZm
M2Q2ODZmYjRjMmNlMmNmMjlhODZjZC4uNDY0NGEyMjgwYzZiMzAzYzQzNDhiNGY1NzAzNzIxZTkz
ZGU5MmM5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE4
ICsxLDE1IEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5v
bi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBl
dmVudCBpbnN0ZWFkLgotRW5zdXJlIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGRvZXNuJ3Qg
cnVuIGNvbmN1cnJlbnRseSB3aXRoIG90aGVyIHRyYW5zYWN0aW9ucworRW5zdXJlIHBlbmRpbmcg
b3BlbiB3YWl0cyBmb3IgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUuCiAK
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWRE
QiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1z
SW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAotc2VsZi5zdGF0ZSA9ICdzdGFydGluZycK
LWluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKQotZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Ci1jYWxsaW5nIHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNob3VsZCBydW4g
aW1tZWRpYXRlbHkKLWRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCitkYm5hbWUgPSAidmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1l
KQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogY2FsbGluZyBvcGVuKCkgLSBjYWxsYmFjayBzaG91
bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZQotaW5k
ZXhlZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZScpCitpbmRleGVkREIub3Blbihk
Ym5hbWUpCiBzZXRWZXJzaW9uKCkgY2FsbGJhY2sKIHN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24KIHNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174768</attachid>
            <date>2012-11-16 15:19:34 -0800</date>
            <delta_ts>2012-11-16 17:03:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102565-20121116151730.patch</filename>
            <type>text/plain</type>
            <size>46056</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTY2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGQ5MDM5MGE1MmEzMjI2OGZiN2Fh
YTAzOTg1MTBhMTk1M2FmZjA4Yy4uZWYzZWQ2YmMzYzMzNTU2YWQxNGUzMmVlMjFmMDMyNmRmNzEw
OWQ5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTExLTE2ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNldFZlcnNpb24gZXhj
aXNpb24gYmF0Y2ggMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjU2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJv
YWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxv
dyAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJj
ZXMvdmVyc2lvbmNoYW5nZS5qczogUmVtb3ZlZC4KKyAgICAgICAgICBWZXJ5IHNpbWlsYXIgdG8g
YSBsb3Qgb2Ygb3VyIG90aGVyIHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3NldF92ZXJzaW9uX3F1ZXVlLmpzOiBSZW1vdmVkLgorICAgICAgICAgIFRlc3Rz
IDQgYWxyZWFkeS1vcGVuIGNvbm5lY3Rpb25zIGNhbGxpbmcgc2V0VmVyc2lvbiwgbm8gbG9uZ2Vy
CisgICAgICAgICAgYXBwbGljYWJsZS4gVGhvdWdoIHNvbWV0aGluZyBzaW1pbGFyIHdpbGwgYmUg
c2V0IHVwIHdoZW4gd2UKKyAgICAgICAgICBpbXBsZW1lbnQgNC4xLjMjTm90ZTI6CisgICAgICAg
ICAgaWYgdHdvIGRhdGFiYXNlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIG9yaWdpbiwgYnV0IHdp
dGggZGlmZmVyZW50CisgICAgICAgICAgdmVyc2lvbnMsIGFyZSBiZWluZyBvcGVuZWQgYXQgdGhl
IHNhbWUgdGltZSwgdGhlIG9uZSB3aXRoIHRoZSBoaWdoZXN0CisgICAgICAgICAgdmVyc2lvbiB3
aWxsIGF0dGVtcHQgdG8gYmUgb3BlbmVkIGZpcnN0LgorCisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uanM6IFJlbW92ZWQuCisgICAg
ICAgICAgVGVzdHMgdGhlIHNhbWUgdGhpbmcgYXMgdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLCBl
dmVuIHRob3VnaAorICAgICAgICAgIHZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZSdzIGRlc2NyaXB0
aW9uIGhhZCBiZWVuIGluYWNjdXJhdGUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9y
ZXNvdXJjZXMvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5qczogUmVtb3ZlZC4KKyAgICAg
ICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBwb3NzaWJsZS4gKG11bHRpcGxl
IHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUgY29ubmVjdGlvbi4pCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzOgorICAgICAgICAo
aW5kZXhlZERCVGVzdCk6CisgICAgICAgIEFkZGVkIGFub3RoZXIgb3B0aW9uYWwgcGFyYW1ldGVy
IGZvciB2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qczogUmVtb3ZlZC4KKyAgICAg
ICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBwb3NzaWJsZS4gKG11bHRpcGxl
IHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUgY29ubmVjdGlvbi4pCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHdvLXZlcnNpb24tY2hhbmdlcy5q
czogUmVtb3ZlZC4KKyAgICAgICAgICBCZWhhdmlvciB1bmRlciB0ZXN0IGlzIG5vIGxvbmdlciBw
b3NzaWJsZS4gKG11bHRpcGxlIHNldFZlcnNpb24KKyAgICAgICAgICBjYWxscyBmcm9tIHNhbWUg
Y29ubmVjdGlvbi4pCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdmVy
c2lvbi1jaGFuZ2UtYWJvcnQuanM6CisgICAgICAgICAgU3RyYWlnaHRmb3J3YXJkIGNvbnZlcnNp
b24uCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFu
Z2UtZXhjbHVzaXZlLmpzOgorICAgICAgICAgIFRoZSBwcmV2aW91cyBkZXNjcmlwdGlvbiBkaWRu
J3QgYWNjdXJhdGVseSBkZXNjcmliZSB0aGUgdGVzdC4KKworICAgICAgICAtLUNvcnJlc3BvbmRp
bmcgLmh0bWwgYW5kIC1leHBlY3RlZCBmaWxlcyBhbHNvIHJlbW92ZWQuCisKIDIwMTItMTEtMTUg
IERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWRE
Qjogc2V0VmVyc2lvbiBleGNpc2lvbiBiYXRjaCA5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvdmVyc2lvbmNoYW5n
ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAxOTA5Zjk5MWMzYmIwMGQwNDdl
MzQzYjg5MzhlZTU2YzNhMjdjMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNl
cy92ZXJzaW9uY2hhbmdlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8vIG9y
aWdpbmFsIHRlc3Q6Ci0vLyBodHRwOi8vbXhyLm1vemlsbGEub3JnL21vemlsbGEyLjAvc291cmNl
L2RvbS9pbmRleGVkREIvdGVzdC90ZXN0X3NldFZlcnNpb25fZXZlbnRzLmh0bWwKLS8vIGxpY2Vu
c2Ugb2Ygb3JpZ2luYWwgdGVzdDoKLS8vICIgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8g
dGhlIFB1YmxpYyBEb21haW4uCi0vLyAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1Ymxp
Y2RvbWFpbi96ZXJvLzEuMC8gIgotCi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1w
b3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKLSAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi9yZXNvdXJjZXMvc2hhcmVkLmpzJyk7Ci19Ci0K
LWRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIHRyaWdnZXJpbmcgdmVyc2lvbmNoYW5nZSBl
dmVudCIpOwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0gICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAgIGRiMSA9IGV2YWxBbmRM
b2coImRiMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRD
b3VudCA9IGV2YWxBbmRMb2coInZlcnNpb25DaGFuZ2VFdmVudENvdW50ID0gMDsiKTsKLSAgICBk
ZWJ1ZygiZGIxIHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNo
IHdpbGwgdHJpZ2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMSIpOwotICAgIGRiMS5vbnZlcnNpb25j
aGFuZ2UgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0
IiwgImRiMSIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQudmVyc2lvbiIsICInMSciKTsKLSAg
ICAgICAgdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQrKzsKLSAgICAgICAgc2hvdWxkQmUoInZlcnNp
b25DaGFuZ2VFdmVudENvdW50IiwgIjEiKTsKLSAgICAgICAgZGVidWcoImNsb3NlIGRiMSBub3cg
c28gdmVyc2lvbmNoYW5nZSBkb2Vzbid0IHRyaWdnZXIgb24gZGIxIGFnYWluIHdoZW4gd2UgY2Fs
bCBkYjMuc2V0VmVyc2lvbiIpOwotICAgICAgICBldmFsQW5kTG9nKCJkYjEuY2xvc2UoKTsiKTsK
LSAgICB9OwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIp
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3MyOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2Vz
czIoKQotewotICAgIGRiMiA9IGV2YWxBbmRMb2coImRiMiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKLSAgICBkZWJ1ZygiZGIyIHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIzLnNldFZlcnNp
b24sIHdoaWNoIHdpbGwgdHJpZ2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMiIpOwotICAgIGRiMi5v
bnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0ID0gZXZlbnQudGFy
Z2V0OwotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0IiwgImRiMiIpOwotICAgICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnZlcnNpb24iLCAiJzEnIik7Ci0gICAgICAgIHNob3VsZEJl
KCJldmVudC52ZXJzaW9uIiwgIicyJyIpOwotICAgICAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRDb3Vu
dCsrOwotICAgICAgICBzaG91bGRCZSgidmVyc2lvbkNoYW5nZUV2ZW50Q291bnQiLCAiMiIpOwot
ICAgICAgICBkZWJ1ZygiZG9uJ3QgY2xvc2UgZGIyLCBzbyBpdCB3aWxsIGJsb2NrIGRiMy5zZXRW
ZXJzaW9uIik7Ci0gICAgfQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIy
LnNldFZlcnNpb24oJzEnKSIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gcG9zdFNldFZlcnNpb247Ci0gICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0ZXN0UGFzc2Vk
KCJkYjIgcmVjZWl2ZWQgYmxvY2tlZCBldmVudCIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcG9z
dFNldFZlcnNpb24oKQotewotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgImV2
ZW50LnRhcmdldC50cmFuc2FjdGlvbiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQudHJh
bnNhY3Rpb24ubW9kZSIsICIndmVyc2lvbmNoYW5nZSciKTsKLSAgICBzaG91bGRCZSgiZGIyLnZl
cnNpb24iLCAiJzEnIik7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKG5hbWUpOyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3MzOwotfQot
Ci1mdW5jdGlvbiBvcGVuU3VjY2VzczMoKQotewotICAgIGRiMyA9IGV2YWxBbmRMb2coImRiMyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVl
c3QgPSBkYjMuc2V0VmVyc2lvbignMicpOyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIGRlYnVnKCJ0aGlzIHJlcXVlc3Qgd2lsbCBibG9jayBi
ZWNhdXNlIGRiMiBpcyBzdGlsbCBvcGVuIik7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSBmdW5j
dGlvbihldmVudCkgewotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnNvdXJjZSIsICJk
YjMiKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5zb3VyY2UudmVyc2lvbiIsICIn
MSciKTsKLSAgICAgICAgc2hvdWxkQmUoImV2ZW50LnZlcnNpb24iLCAiJzInIik7Ci0gICAgICAg
IHZlcnNpb25DaGFuZ2VFdmVudENvdW50Kys7Ci0gICAgICAgIGRlYnVnKCJjbG9zZSBkYjIgbm93
IHNvIG9uc3VjY2VzcyB3aWxsIGJlIGNhbGxlZCIpOwotICAgICAgICBldmFsQW5kTG9nKCJkYjIu
Y2xvc2UoKTsiKTsKLSAgICB9Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0U2V0VmVyc2lv
bjI7Ci19Ci0KLWZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMigpCi17Ci0gICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQiLCAiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uIik7Ci0gICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5tb2RlIiwgIid2ZXJzaW9uY2hhbmdlJyIp
OwotICAgIHNob3VsZEJlKCJkYjMudmVyc2lvbiIsICInMiciKTsKLSAgICBzaG91bGRCZSgidmVy
c2lvbkNoYW5nZUV2ZW50Q291bnQiLCAiMyIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi10
ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMjI5NWZiYTUyZmU4MmU0
OTFkNTNhZWM2ZTUxNjU0ZGJiNTQxYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJz
aW9uY2hhbmdlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFu
ZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQu
Ci1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFy
ZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0
ZWFkLgotVGVzdCBJbmRleGVkREIncyB0cmlnZ2VyaW5nIHZlcnNpb25jaGFuZ2UgZXZlbnQKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERC
IHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJ
bmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1pbmRleGVkREIub3BlbihuYW1lKQotZGIx
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgPSAwOwotZGIx
IHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNoIHdpbGwgdHJp
Z2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMQotaW5kZXhlZERCLm9wZW4obmFtZSkKLWRiMiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLWRiMiB3aWxsIGJlIG9wZW4gd2hlbiB3ZSBjYWxsIGRiMy5zZXRW
ZXJzaW9uLCB3aGljaCB3aWxsIHRyaWdnZXIgdmVyc2lvbmNoYW5nZSBvbiBkYjIKLXJlcXVlc3Qg
PSBkYjIuc2V0VmVyc2lvbignMScpCi1QQVNTIGV2ZW50LnRhcmdldCBpcyBkYjEKLVBBU1MgZXZl
bnQudmVyc2lvbiBpcyAnMScKLVBBU1MgdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgaXMgMQotY2xv
c2UgZGIxIG5vdyBzbyB2ZXJzaW9uY2hhbmdlIGRvZXNuJ3QgdHJpZ2dlciBvbiBkYjEgYWdhaW4g
d2hlbiB3ZSBjYWxsIGRiMy5zZXRWZXJzaW9uCi1kYjEuY2xvc2UoKTsKLVBBU1MgZGIyIHJlY2Vp
dmVkIGJsb2NrZWQgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBldmVudC50YXJn
ZXQudHJhbnNhY3Rpb24KLVBBU1MgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUgaXMgJ3Zl
cnNpb25jaGFuZ2UnCi1QQVNTIGRiMi52ZXJzaW9uIGlzICcxJwotcmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKG5hbWUpOwotZGIzID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLXJlcXVlc3QgPSBkYjMu
c2V0VmVyc2lvbignMicpOwotdGhpcyByZXF1ZXN0IHdpbGwgYmxvY2sgYmVjYXVzZSBkYjIgaXMg
c3RpbGwgb3BlbgotUEFTUyBldmVudC50YXJnZXQgaXMgZGIyCi1QQVNTIGV2ZW50LnRhcmdldC52
ZXJzaW9uIGlzICcxJwotUEFTUyBldmVudC52ZXJzaW9uIGlzICcyJwotUEFTUyB2ZXJzaW9uQ2hh
bmdlRXZlbnRDb3VudCBpcyAyCi1kb24ndCBjbG9zZSBkYjIsIHNvIGl0IHdpbGwgYmxvY2sgZGIz
LnNldFZlcnNpb24KLVBBU1MgZXZlbnQudGFyZ2V0LnNvdXJjZSBpcyBkYjMKLVBBU1MgZXZlbnQu
dGFyZ2V0LnNvdXJjZS52ZXJzaW9uIGlzICcxJwotUEFTUyBldmVudC52ZXJzaW9uIGlzICcyJwot
Y2xvc2UgZGIyIG5vdyBzbyBvbnN1Y2Nlc3Mgd2lsbCBiZSBjYWxsZWQKLWRiMi5jbG9zZSgpOwot
UEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgotUEFT
UyBldmVudC50YXJnZXQudHJhbnNhY3Rpb24ubW9kZSBpcyAndmVyc2lvbmNoYW5nZScKLVBBU1Mg
ZGIzLnZlcnNpb24gaXMgJzInCi1QQVNTIHZlcnNpb25DaGFuZ2VFdmVudENvdW50IGlzIDMKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5n
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmZmNmIxYTJmMjczMmVmMzUz
NDQwODYzZWRlNjg5MDZkNjNlNjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lv
bmNoYW5nZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdmVyc2lvbmNoYW5n
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9xdWV1
ZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lv
bl9xdWV1ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI1ZjIwZWRlNDRjMzA2
OTYwZTBiY2FiNWExN2UyMTQ2MzlhYmY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
c2V0X3ZlcnNpb25fcXVldWUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotaWYg
KHRoaXMuaW1wb3J0U2NyaXB0cykgewotICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7Ci0gICAgaW1wb3J0U2NyaXB0cygnc2hhcmVk
LmpzJyk7Ci19Ci0KLWRlc2NyaXB0aW9uKCI0IG9wZW4gY29ubmVjdGlvbnMgdHJ5IHRvIHNldFZl
cnNpb24gYXQgdGhlIHNhbWUgdGltZS4gIDMgY29ubmVjdGlvbnMgZXZlbnR1YWxseSBjbG9zZSwg
YWxsb3dpbmcgMSBzZXRWZXJzaW9uIGNhbGwgdG8gcHJvY2VlZC4iKTsKLQotY29ubmVjdGlvbnMg
PSBbXQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQot
ICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigp
Ci17Ci0gICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9u
LXF1ZXVlJykiKTsKLSAgICByZXN1bHQub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVz
dWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3Bl
blN1Y2Nlc3MoKQotewotICAgIGNvbm5lY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0OwotICAg
IGNvbm5lY3Rpb24ub252ZXJzaW9uY2hhbmdlID0gZ2VuZXJhdGVWZXJzaW9uQ2hhbmdlSGFuZGxl
cigpOwotICAgIGNvbm5lY3Rpb25zLnB1c2goY29ubmVjdGlvbik7Ci0gICAgaWYgKGNvbm5lY3Rp
b25zLmxlbmd0aCA8IDQpCi0gICAgICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLSAgICBlbHNlIHsK
LSAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzBdLnNldFZlcnNpb24o
J3ZlcnNpb24gMCcpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50
KXsgY29ubmVjdGlvbkVycm9yKGV2ZW50LCAwKSB9OwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gYmxvY2tlZDA7Ci0gICAgICAgIHJlcXVlc3QxID0gZXZhbEFuZExvZygiY29ubmVjdGlvbnNb
MV0uc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKLSAgICAgICAgcmVxdWVzdDEub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0MS5vbnN1Y2Nlc3MgPSBp
blNldFZlcnNpb24xOwotICAgICAgICByZXF1ZXN0MS5vbmJsb2NrZWQgPSBibG9ja2VkMTsKLSAg
ICAgICAgcmVxdWVzdDIgPSBldmFsQW5kTG9nKCJjb25uZWN0aW9uc1syXS5zZXRWZXJzaW9uKCd2
ZXJzaW9uIDInKSIpOwotICAgICAgICByZXF1ZXN0Mi5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQp
eyBjb25uZWN0aW9uRXJyb3IoZXZlbnQsIDIpIH07Ci0gICAgICAgIHJlcXVlc3QyLm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3QyLm9uYmxvY2tl
ZCA9IGJsb2NrZWQyOwotICAgICAgICByZXF1ZXN0MyA9IGV2YWxBbmRMb2coImNvbm5lY3Rpb25z
WzNdLnNldFZlcnNpb24oJ3ZlcnNpb24gMycpIik7Ci0gICAgICAgIHJlcXVlc3QzLm9uZXJyb3Ig
PSBmdW5jdGlvbihldmVudCl7IGNvbm5lY3Rpb25FcnJvcihldmVudCwgMykgfTsKLSAgICAgICAg
cmVxdWVzdDMub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdDMub25ibG9ja2VkID0gYmxvY2tlZDM7Ci0gICAgICAgIGRlYnVnKCIiKTsKLSAgICB9
Ci19Ci0KLWZ1bmN0aW9uIGdlbmVyYXRlVmVyc2lvbkNoYW5nZUhhbmRsZXIoKQotewotICAgIHZh
ciBjb25uZWN0aW9uTnVtID0gY29ubmVjdGlvbnMubGVuZ3RoOwotICAgIHJldHVybiBmdW5jdGlv
bihldmVudCkKLSAgICB7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiZXZlbnQudmVyc2lvbi5sZW5n
dGggPiAwIik7Ci0gICAgICAgIGRlYnVnKCJjb25uZWN0aW9uWyIgKyBjb25uZWN0aW9uTnVtICsg
Il0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiAiICsgZXZlbnQudmVyc2lvbik7Ci0gICAg
fQotfQotCi1ibG9ja2VkMGZpcmVkID0gZmFsc2U7Ci1ibG9ja2VkMmZpcmVkID0gZmFsc2U7Ci1m
dW5jdGlvbiBibG9ja2VkMChldmVudCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3Nl
ZCgiY29ubmVjdGlvblswXSBnb3QgYmxvY2tlZCBldmVudCIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZXZlbnQudmVyc2lvbiIsICJ2ZXJzaW9uIDAiKTsKLSAgICBkZWJ1ZygiQ2xvc2Ug
dGhlIGNvbm5lY3Rpb24gdGhhdCByZWNlaXZlZCB0aGUgYmxvY2sgZXZlbnQ6Iik7Ci0gICAgZXZh
bEFuZExvZygiY29ubmVjdGlvbnNbMF0uY2xvc2UoKSIpOwotICAgIGRlYnVnKCJDbG9zZSBhbm90
aGVyIGNvbm5lY3Rpb24gYXMgd2VsbCwgdG8gdGVzdCA0LjcuNC1ub3RlOiIpOwotICAgIGV2YWxB
bmRMb2coImNvbm5lY3Rpb25zWzNdLmNsb3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2Vk
MGZpcmVkID0gdHJ1ZSIpOwotICAgIGRlYnVnKCIiKTsKLX0KLQotZnVuY3Rpb24gYmxvY2tlZDEo
ZXZlbnQpCi17Ci0gICAgZGVidWcoIiIpCi0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsxXSBn
b3QgYmxvY2tlZCBldmVudCIpOwotICAgIGRlYnVnKCJFbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQg
ZXZlbnQgaXMgaW4gb3JkZXI6Iik7Ci0gICAgc2hvdWxkQmVUcnVlKCJibG9ja2VkMGZpcmVkIik7
Ci0gICAgc2hvdWxkQmVGYWxzZSgiYmxvY2tlZDJmaXJlZCIpOwotICAgIGRlYnVnKCIiKQotfQot
Ci1mdW5jdGlvbiBibG9ja2VkMihldmVudCkKLXsKLSAgICBkZWJ1ZygiIikKLSAgICB0ZXN0UGFz
c2VkKCJjb25uZWN0aW9uWzJdIGdvdCBibG9ja2VkIGV2ZW50Iik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC52ZXJzaW9uIiwgInZlcnNpb24gMiIpOwotICAgIGV2YWxBbmRMb2co
ImNvbm5lY3Rpb25zWzJdLmNsb3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2VkMmZpcmVk
ID0gdHJ1ZSIpOwotICAgIGRlYnVnKCIiKQotfQotCi1mdW5jdGlvbiBibG9ja2VkMyhldmVudCkK
LXsKLSAgICBkZWJ1ZygiIikKLSAgICB0ZXN0UGFzc2VkKCJjb25uZWN0aW9uWzNdIGdvdCBibG9j
a2VkIGV2ZW50Iik7Ci0gICAgZGVidWcoIk5vdGU6IFRoaXMgbWVhbnMgdGhhdCBhIGNvbm5lY3Rp
b24gY2FuIHJlY2VpdmUgYSBibG9ja2VkIGV2ZW50IGFmdGVyIGl0cyBjbG9zZSgpIG1ldGhvZCBo
YXMgYmVlbiBjYWxsZWQuICBTcGVjIGlzIHNpbGVudCBvbiB0aGUgaXNzdWUgYW5kIHRoaXMgaXMg
ZWFzaWVzdCB0byBpbXBsZW1lbnQuIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVu
dC52ZXJzaW9uIiwgInZlcnNpb24gMyIpOwotfQotCi1mdW5jdGlvbiBjb25uZWN0aW9uRXJyb3Io
ZXZlbnQsIGNvbm5lY3Rpb25JZCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3NlZCgi
Y29ubmVjdGlvblsiICsgY29ubmVjdGlvbklkICsgIl0gZ290IGVycm9yIGV2ZW50Iik7Ci0gICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAiRE9NRXhjZXB0aW9uLkFCT1JUX0VS
UiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQuZXJyb3IubmFtZSIsICInQWJvcnRFcnJv
ciciKTsKLSAgICBpZiAoJ3dlYmtpdEVycm9yTWVzc2FnZScgaW4gZXZlbnQudGFyZ2V0KSB7Ci0g
ICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlLmxlbmd0aCA+
IDAiLCAidHJ1ZSIpOwotICAgICAgICBkZWJ1ZyhldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNz
YWdlKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGluU2V0VmVyc2lvbjEoZXZlbnQpCi17Ci0gICAg
ZGVidWcoIiIpCi0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsxXSBnb3QgaW50byBTZXRWZXJz
aW9uIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1v
cGVuLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNp
b24tYmxvY2tzLW9wZW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OTU4YjQy
NDM1NzZiMTI5ZjAwMjI2MmI1MWJhM2U5NmZmZDc3MTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiAr
MCwwIEBACi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3Jp
cHRzKCdzaGFyZWQuanMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBvcGVuIGlzIGJs
b2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIik7Ci0KLWZ1
bmN0aW9uIHRlc3QoKSB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5h
bWVGcm9tUGF0aCgpOwotCi0gICAgZXZhbEFuZExvZygidmVyID0gMSIpOwotICAgIGV2YWxBbmRM
b2coInZlcnNpb25DaGFuZ2VDb21wbGV0ZSA9IGZhbHNlIik7Ci0KLSAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwotICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGgx
T3Blbk9uU3VjY2VzcyhldnQpIHsKLSAgICAgICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgZXZh
bEFuZExvZygiaDEgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0KLSAgICAgICAgaDEub252ZXJz
aW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjazsKLQotICAgICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaDEuc2V0VmVyc2lvbihTdHJpbmcodmVyKyspKSIpOwotICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGgxU2V0VmVyc2lvbk9uU3VjY2VzcyhldnQpIHsK
LSAgICAgICAgICAgIHByZWFtYmxlKGV2dCk7Ci0KLSAgICAgICAgICAgIHRyYW5zYWN0aW9uID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uY29tcGxl
dGUgPSBmdW5jdGlvbiB0cmFuc2FjdGlvbk9uQ29tcGxldGUoZXZ0KSB7Ci0gICAgICAgICAgICAg
ICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hh
bmdlQ29tcGxldGUgPSB0cnVlIik7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0gICAg
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAg
ICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gaDJPcGVuT25TdWNjZXNzKGV2dCkgewotICAgICAg
ICAgICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImgyID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgICAgICAgICBoMi5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4
cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ2
ZXJzaW9uQ2hhbmdlQ29tcGxldGUiKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAg
ICAgICB9OwotICAgIH07Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxv
Y2tzLXNldHZlcnNpb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmY2MxMTI5
NzdmZmNlNGRkZDdkNmQxNjgxM2RjZDFhNWQwYThjMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uanMKKysrIC9kZXYvbnVsbApAQCAt
MSw1NyArMCwwIEBACi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0
cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBv
cnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB0d28g
c2V0VmVyc2lvbnMgZnJvbSB0aGUgc2FtZSBjb25uZWN0aW9uIGV4ZWN1dGUgc2VxdWVudGlhbGx5
LiIpOwotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0g
ICAgc2V0REJOYW1lRnJvbVBhdGgoKTsKLQotICAgIGV2YWxBbmRMb2coInZlciA9IDEiKTsKLSAg
ICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29tcGxldGUgPSBmYWxzZSIpOwotCi0gICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0
Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiBoMU9wZW5PblN1Y2Nlc3MoZXZ0KSB7Ci0gICAgICAgIHByZWFtYmxlKGV2dCk7Ci0g
ICAgICAgIGV2YWxBbmRMb2coImgxID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgICAg
IGgxLm9udmVyc2lvbmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2s7Ci0K
LSAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisr
KSkiKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
LSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nl
c3MxKGV2dCkgewotICAgICAgICAgICAgcHJlYW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0
cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlv
bi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2Fj
dGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gdHJhbnNhY3Rpb25PbkNvbXBsZXRlMShldnQpIHsK
LSAgICAgICAgICAgICAgICBwcmVhbWJsZShldnQpOwotICAgICAgICAgICAgICAgIGRlYnVnKCJo
YWxmIGRvbmUiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29t
cGxldGUgPSB0cnVlIik7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0KLSAgICAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkiKTsKLSAg
ICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAg
IHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nlc3MyKGV2dCkg
ewotICAgICAgICAgICAgcHJlYW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0cmFuc2FjdGlv
biA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0
ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNv
bXBsZXRlID0gZnVuY3Rpb24gdHJhbnNhY3Rpb25PbkNvbXBsZXRlMihldnQpIHsKLSAgICAgICAg
ICAgICAgICBwcmVhbWJsZShldnQpOwotICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgidmVy
c2lvbkNoYW5nZUNvbXBsZXRlIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgICAgICAgICB9OwotICAgICAgICB9OwotICAgIH07Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzCmluZGV4IDZj
M2NlYzlmZTZjZDlmY2ZhY2YxMWMyMmEzODEwYmJiMWU3NjNjNzAuLjJhZmZkMGEwYzAxM2MxOTE2
MTkzY2U2ZDM3NmMyNmUzZjIyMjk5NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qcwpAQCAtMjAxLDUgKzIwMSw3IEBAIGZ1bmN0aW9u
IGluZGV4ZWREQlRlc3QodXBncmFkZUNhbGxiYWNrLCBvcHRpb25hbE9wZW5DYWxsYmFjaywgb3B0
aW9uYWxQYXJhbWV0ZXJzCiAgICAgICAgIGlmIChvcHRpb25hbE9wZW5DYWxsYmFjaykKICAgICAg
ICAgICAgIG9wZW5SZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wdGlvbmFsT3BlbkNhbGxiYWNrOwogICAg
ICAgICBkZWxldGUgc2VsZi5vcGVuUmVxdWVzdDsKKyAgICAgICAgaWYgKG9wdGlvbmFsUGFyYW1l
dGVycyAmJiAncnVuQWZ0ZXJPcGVuJyBpbiBvcHRpb25hbFBhcmFtZXRlcnMpCisgICAgICAgICAg
ICAob3B0aW9uYWxQYXJhbWV0ZXJzWydydW5BZnRlck9wZW4nXSkoKTsKICAgICB9OwogfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RocmVlLXNl
dHZlcnNpb24tY2FsbHMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGNmZTgxMjc5NjIxZGU3ZjdmOGZkMDY0NWE3NmRiZjFiMjgzMTg0NC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDYwICswLDAgQEAKLWlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRT
Y3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAg
IGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwotfQotCi1kZXNjcmlwdGlvbigiVGhyZWUgc2V0
VmVyc2lvbiBjYWxscyBhcmUgcXVldWVkIGNvcnJlY3RseSAtIGV4ZXJjaXNlcyBhbiBvdGhlcndp
c2UtdW50ZXN0ZWQgY29kZSBwYXRoIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92
ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVjdGlvbigpOwotfQotCi1mdW5jdGlv
biBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4oJ3RocmVlLXNldHZlcnNpb24tY2FsbHMnKSIpOwotICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3MxOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBzdWNjZXNzSGFuZGxlcihpZCkKLXsKLSAgcmV0dXJu
IGZ1bmN0aW9uKGUpIHsKLSAgICB0cmFucyA9IGUudGFyZ2V0LnJlc3VsdDsKLSAgICBkZWJ1Zygi
c2V0VmVyc2lvbiAiICsgaWQpOwotICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0g
ICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uKGV2dCkgewotICAgICAgZGVidWcoInNldFZl
cnNpb24gIiArIGlkICsgIiBjb21wbGV0ZSIpOwotICAgICAgaWYgKGlkID09IGtOdW1WZXJzaW9u
Q2FsbHMgLSAxKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coImZpbmlzaGVkQWxsU2V0VmVyc2lvbnMg
PSB0cnVlIik7Ci0gICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKTsKLSAgICAgIH0KLSAgICB9Ci0g
IH0KLX0KLQotZmluaXNoZWRBbGxTZXRWZXJzaW9ucyA9IGZhbHNlOwota051bVZlcnNpb25DYWxs
cyA9IDM7Ci1mdW5jdGlvbiBvcGVuU3VjY2VzczEoZSkKLXsKLSAgICBjb25uZWN0aW9uID0gZS50
YXJnZXQucmVzdWx0OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwga051bVZlcnNpb25DYWxsczsg
aSsrKSB7Ci0gICAgICB2Y1JlcXVlc3QgPSBldmFsQW5kTG9nKCdjb25uZWN0aW9uLnNldFZlcnNp
b24oInZlcnNpb24gJyArIGkgKyAnIiknKTsKLSAgICAgIHZjUmVxdWVzdC5vbmJsb2NrZWQgPSB1
bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgICAgdmNSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgIHZjUmVxdWVzdC5vbnN1Y2Nlc3MgPSBzdWNjZXNz
SGFuZGxlcihpKTsKLSAgICAgIGlmICghaSkgewotICAgICAgICBkZWxldGVSZXF1ZXN0ID0gZXZh
bEFuZExvZygnaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCJ0aHJlZS1zZXR2ZXJzaW9uLWNhbGxz
IiknKTsKLSAgICAgICAgZGVsZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci0gICAgICAgIGRlbGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgZGVidWcoIlN1Y2Nlc3NmdWxseSBkZWxldGVkIGRhdGFiYXNlIik7Ci0gICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJmaW5pc2hlZEFsbFNldFZlcnNpb25zIik7Ci0gICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgIH07Ci0gICAgICB9Ci0gICAgfQotfQotCi10ZXN0KCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHdvLXZl
cnNpb24tY2hhbmdlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
OGFjNTliOTE4YTQwMTMwN2IzYjI1YmQ3M2IyOTIxYWJkMzM0ZThkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3Jlc291cmNlcy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTA2ICswLDAgQEAKLWlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRTY3JpcHRz
KCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAgIGltcG9y
dFNjcmlwdHMoJ3NoYXJlZC5qcycpOwotfQotCi1kZXNjcmlwdGlvbigiVGVzdCBiZWhhdmlvciB3
aGVuIHRoZSBzYW1lIGNvbm5lY3Rpb24gY2FsbHMgc2V0VmVyc2lvbiB0d2ljZSIpOwotCi1mdW5j
dGlvbiB0ZXN0KCkgewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBzaG91bGRC
ZU5vbk51bGwoImluZGV4ZWREQiIpOwotICAgIHNob3VsZEJlTm9uTnVsbCgiSURCVHJhbnNhY3Rp
b24iKTsKLSAgICBvcGVuREJDb25uZWN0aW9uKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5EQkNvbm5l
Y3Rpb24oKQotewotICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7Ci0g
ICAgdmFyIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25z
LW9uZS1jb25uZWN0aW9uJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNz
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1m
dW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAwIik7
Ci0KLSAgICB2YXIgdmVyc2lvbkNoYW5nZVJlcXVlc3QxID0gZXZhbEFuZExvZygiZGIuc2V0VmVy
c2lvbigndmVyc2lvbiAxJykiKTsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDEub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MS5vbnN1
Y2Nlc3MgPSBpblNldFZlcnNpb24xOwotCi0gICAgLy8gYW5kIGNvbmN1cnJlbnRseS4uLgotCi0g
ICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MiA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24o
J3ZlcnNpb24gMicpIik7Ci0gICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QyLm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDIub25zdWNjZXNz
ID0gaW5TZXRWZXJzaW9uMjsKLX0KLQotZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCi17Ci0gICAg
ZGVidWcoInNldFZlcnNpb24oKSAjMSBjYWxsYmFjayIpOwotICAgIHRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKLSAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Ci0gICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICIx
Iik7Ci0gICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1dCgnYWFhJywgMTEx
KSIpOwotICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVx
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3Rh
dGUiLCAiMiIpOwotICAgICAgICBoYWxmd2F5RG9uZSgpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9u
IGluU2V0VmVyc2lvbjIoKQotewotICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2si
KTsKLSAgICB0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgc2hvdWxkQmUoIisrc2Vs
Zi5zdGF0ZSIsICI0Iik7Ci0gICAgZXZhbEFuZExvZygic2VsZi5zdG9yZTIgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgndGVzdC1zdG9yZTInKSIpOwotCi0gICAgdmFyIHJlcSA9IGV2YWxBbmRMb2co
InNlbGYuc3RvcmUyLnB1dCgnYmJiJywgMjIyKSIpOwotICAgIHJlcS5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0g
ICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiNSIpOwotICAgICAgICBoYWxmd2F5RG9u
ZSgpOwotICAgIH07Ci19Ci0KLXZhciBjb3VudGVyID0gMDsKLWZ1bmN0aW9uIGhhbGZ3YXlEb25l
KCkgCi17Ci0gICAgY291bnRlciArPSAxOwotICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAg
ICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjMiKTsKLSAgICAgICAgZGVidWcoImhhbGZ3YXkg
dGhlcmUuLi4iICk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0
ZSIsICI2Iik7Ci0gICAgICAgIGNoZWNrUmVzdWx0cygpOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
Y2hlY2tSZXN1bHRzKCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5kYi52ZXJz
aW9uIiwgInZlcnNpb24gMiIpOwotICAgIHRyYW5zLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29t
cGxldGU7Ci19Ci0KLWZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZSgpCi17Ci0gICAgdHJhbnMg
PSBldmFsQW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScs
ICd0ZXN0LXN0b3JlMiddKSIpOwotICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9
IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFs
QW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKLSAgICByZXEub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlv
biAoZSkgewotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1
bHQiLCAiYWFhIik7Ci0KLSAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzZWxmLnN0b3JlID0g
c2VsZi50cmFucy5vYmplY3RTdG9yZSgndGVzdC1zdG9yZTInKSIpOwotICAgICAgICByZXEgPSBl
dmFsQW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikiKTsKLSAgICAgICAgcmVx
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxLm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2
ZW50LnRhcmdldC5yZXN1bHQiLCAiYmJiIik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICAgICAgfTsKLSAgICB9OwotfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L3ZlcnNpb24tY2hhbmdlLWFib3J0LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWFib3J0LmpzCmluZGV4IDBiNDQ3MTcyZmJlODBmMWNl
MWRlMjgzYTM1ZmRjZGMxODA0NTBkOTMuLmFlMjkxZTQ0ODIyZWUwNzNmY2U3YzA4YzIyNzQzN2I4
NWIyOTg2ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy92ZXJzaW9uLWNoYW5nZS1hYm9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuanMKQEAgLTUsMzYgKzUsMTQg
QEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQg
YWJvcnRlZCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVk
IGJhY2siKTsKIAotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwotICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlv
bigpCi17Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9u
LWNoYW5nZS1hYm9ydCcpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
LSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVu
Y3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBkZWJ1ZygiIik7Ci0KLSAgICBldmFsQW5kTG9nKCJ2
Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7Ci0gICAgdmNyZXEub25zdWNjZXNz
ID0gaW5TZXRWZXJzaW9uMTsKLSAgICB2Y3JlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGluU2V0VmVyc2lvbjEoKQoraW5kZXhlZERCVGVzdChwcmVw
YXJlRGF0YWJhc2UsIHNldFZlcnNpb24xQ29tcGxldGUpOworZnVuY3Rpb24gcHJlcGFyZURhdGFi
YXNlKCkKIHsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbjEoKSBjYWxsYmFjayIpOwotICAgIHNob3Vs
ZEJlVHJ1ZSgidmNyZXEucmVzdWx0IGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24iKTsKLSAgICB0
cmFucyA9IHZjcmVxLnJlc3VsdDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAg
dHJhbnMgPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb247CisgICAgc2hvdWxkQmVUcnVlKCJ0cmFu
cyBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICB0cmFucy5vbmNvbXBsZXRlID0gc2V0VmVyc2lvbjFDb21wbGV0ZTsKIAog
ICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7
CiB9CkBAIC00MiwyMSArMjAsMjQgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlv
biBzZXRWZXJzaW9uMUNvbXBsZXRlKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbjEgY29tcGxl
dGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAidmVyc2lvbiAx
Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgIGRlYnVnKCIiKTsKKyAg
ICBkYi5jbG9zZSgpOwogCi0gICAgZXZhbEFuZExvZygidmNyZXEgPSBkYi5zZXRWZXJzaW9uKCd2
ZXJzaW9uIDInKSIpOwotICAgIHZjcmVxLm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjI7Ci0gICAg
dmNyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGV2YWxBbmRMb2co
InZjcmVxID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHZjcmVxLm9udXBncmFk
ZW5lZWRlZCA9IGluU2V0VmVyc2lvbjI7CisgICAgdmNyZXEub25lcnJvciA9IHNldFZlcnNpb24y
QWJvcnQ7CisgICAgdmNyZXEub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
KyAgICB2Y3JlcS5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwogfQogCiBm
dW5jdGlvbiBpblNldFZlcnNpb24yKCkKIHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CiAgICAgZGVidWcoInNldFZlcnNpb24yKCkgY2FsbGJhY2siKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJ2
Y3JlcS5yZXN1bHQgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiIpOworICAgIHNob3VsZEJlKCJk
Yi52ZXJzaW9uIiwgIjIiKTsKKyAgICBzaG91bGRCZVRydWUoInZjcmVxLnRyYW5zYWN0aW9uIGlu
c3RhbmNlb2YgSURCVHJhbnNhY3Rpb24iKTsKICAgICB0cmFucyA9IHZjcmVxLnJlc3VsdDsKLSAg
ICB0cmFucy5vbmFib3J0ID0gc2V0VmVyc2lvbjJBYm9ydDsKICAgICB0cmFucy5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0
ZWRDb21wbGV0ZUNhbGxiYWNrOwogCkBAIC03OCwxMiArNTksMTcgQEAgZnVuY3Rpb24gc2V0VmVy
c2lvbjJBYm9ydCgpCiAKICAgICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVy
LgogICAgIHNlbGYub25lcnJvciA9IHNlbGYub3JpZ2luYWxXaW5kb3dPbkVycm9yOwotCi0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgInZlcnNpb24gMSIpOwotICAgIHNo
b3VsZEJlVHJ1ZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykiKTsKLSAg
ICBzaG91bGRCZUZhbHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIp
OwotCi0gICAgZmluaXNoSlNUZXN0KCk7CisgICAgZGIuY2xvc2UoKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25ibG9j
a2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiAoZSkgeworICAgICAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgICAg
IHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJkYi5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOworICAgICAgICBzaG91bGRCZUZh
bHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIpOworCisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmpzCmluZGV4IDg2ZTI0
Y2VjYzQyMzNiOGM3OGQ2Mjk2YWY5OTUyOTA2M2YzNGM1OWUuLjFhMGM4ZWNhZTJlZmJhNGYyMGEx
ZWZlMjQ5NzY4MjFmZTAzYzkyN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanMKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2
ZS5qcwpAQCAtMyw0MSArMywyMSBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1w
b3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7CiB9CiAKLWRlc2NyaXB0aW9uKCJFbnN1cmUgVkVSU0lP
Tl9DSEFOR0UgdHJhbnNhY3Rpb24gZG9lc24ndCBydW4gY29uY3VycmVudGx5IHdpdGggb3RoZXIg
dHJhbnNhY3Rpb25zIik7CitkZXNjcmlwdGlvbigiRW5zdXJlIHBlbmRpbmcgb3BlbiB3YWl0cyBm
b3IgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUuIik7CiAKLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVj
dGlvbigpOwotfQotCi1mdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICBldmFsQW5k
TG9nKCJzZWxmLnN0YXRlID0gJ3N0YXJ0aW5nJyIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJpbmRleGVkREIub3BlbigndmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykiKTsKLSAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwotfQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIG51
bGwsIHsicnVuQWZ0ZXJPcGVuIjogY29uY3VycmVudE9wZW59KTsKIAotZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQorZnVuY3Rpb24gY29uY3VycmVudE9wZW4oKQogewotICAgIHNlbGYuZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAgIGRlYnVnKCJjYWxsaW5n
IHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNob3VsZCBydW4gaW1tZWRpYXRlbHkiKTsKLSAgICB2
YXIgdmVyc2lvbkNoYW5nZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCd2ZXJz
aW9uIDEnKSIpOwotICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdC5vbnN1Y2Nlc3MgPSBpblNl
dFZlcnNpb247Ci0KLSAgICAvLyBhbmQgY29uY3VycmVudGx5Li4uCi0KICAgICBkZWJ1ZygiY2Fs
bGluZyBvcGVuKCkgLSBjYWxsYmFjayBzaG91bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0
cmFuc2FjdGlvbiBpcyBjb21wbGV0ZSIpOwotICAgIHZhciBvcGVuUmVxdWVzdCA9IGV2YWxBbmRM
b2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKSIpOworICAgIHZh
ciBvcGVuUmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKICAg
ICBvcGVuUmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuQWdhaW5TdWNjZXNzOwogICAgIG9wZW5SZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rpb24gaW5T
ZXRWZXJzaW9uKCkKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7CisgICAgZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0OwogICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgY2FsbGJhY2siKTsKICAg
ICBkZWJ1Zygic3RhcnRpbmcgd29yayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiIpOwog
ICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsK
QEAgLTY5LDUgKzQ5LDMgQEAgZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0YXRlIiwgIlZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkIik7
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVy
c2lvbl9xdWV1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
ZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDcyNzY1NjI3ZGY0NDRjNmI2Y2Q2YjBkZGE3ODNjZjAwZjFlNzljMzIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsODEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBp
cyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRl
ZCIgZXZlbnQgaW5zdGVhZC4KLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRo
b2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVu
ZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkg
bWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdy
YWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lv
bigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAi
dXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLTQgb3BlbiBjb25uZWN0aW9ucyB0cnkgdG8g
c2V0VmVyc2lvbiBhdCB0aGUgc2FtZSB0aW1lLiAzIGNvbm5lY3Rpb25zIGV2ZW50dWFsbHkgY2xv
c2UsIGFsbG93aW5nIDEgc2V0VmVyc2lvbiBjYWxsIHRvIHByb2NlZWQuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndl
YmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8
IHNlbGYuT0luZGV4ZWREQjsKLQotaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykK
LWluZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCi1pbmRleGVkREIub3Blbignc2V0
LXZlcnNpb24tcXVldWUnKQotaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKLWNv
bm5lY3Rpb25zWzBdLnNldFZlcnNpb24oJ3ZlcnNpb24gMCcpCi1jb25uZWN0aW9uc1sxXS5zZXRW
ZXJzaW9uKCd2ZXJzaW9uIDEnKQotY29ubmVjdGlvbnNbMl0uc2V0VmVyc2lvbigndmVyc2lvbiAy
JykKLWNvbm5lY3Rpb25zWzNdLnNldFZlcnNpb24oJ3ZlcnNpb24gMycpCi0KLVBBU1MgZXZlbnQu
dmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lv
bkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDAKLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlz
IHRydWUKLWNvbm5lY3Rpb25bMl0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9u
IDAKLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bM10g
cmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDAKLQotUEFTUyBjb25uZWN0aW9u
WzBdIGdvdCBibG9ja2VkIGV2ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24gaXMgInZlcnNpb24gMCIK
LUNsb3NlIHRoZSBjb25uZWN0aW9uIHRoYXQgcmVjZWl2ZWQgdGhlIGJsb2NrIGV2ZW50OgotY29u
bmVjdGlvbnNbMF0uY2xvc2UoKQotQ2xvc2UgYW5vdGhlciBjb25uZWN0aW9uIGFzIHdlbGwsIHRv
IHRlc3QgNC43LjQtbm90ZToKLWNvbm5lY3Rpb25zWzNdLmNsb3NlKCkKLWJsb2NrZWQwZmlyZWQg
PSB0cnVlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rp
b25bMl0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDEKLQotUEFTUyBjb25u
ZWN0aW9uWzFdIGdvdCBibG9ja2VkIGV2ZW50Ci1FbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQgZXZl
bnQgaXMgaW4gb3JkZXI6Ci1QQVNTIGJsb2NrZWQwZmlyZWQgaXMgdHJ1ZQotUEFTUyBibG9ja2Vk
MmZpcmVkIGlzIGZhbHNlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUK
LWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDIKLQot
UEFTUyBjb25uZWN0aW9uWzJdIGdvdCBibG9ja2VkIGV2ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24g
aXMgInZlcnNpb24gMiIKLWNvbm5lY3Rpb25zWzJdLmNsb3NlKCkKLWJsb2NrZWQyZmlyZWQgPSB0
cnVlCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25b
MV0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDMKLQotUEFTUyBjb25uZWN0
aW9uWzNdIGdvdCBibG9ja2VkIGV2ZW50Ci1Ob3RlOiBUaGlzIG1lYW5zIHRoYXQgYSBjb25uZWN0
aW9uIGNhbiByZWNlaXZlIGEgYmxvY2tlZCBldmVudCBhZnRlciBpdHMgY2xvc2UoKSBtZXRob2Qg
aGFzIGJlZW4gY2FsbGVkLiAgU3BlYyBpcyBzaWxlbnQgb24gdGhlIGlzc3VlIGFuZCB0aGlzIGlz
IGVhc2llc3QgdG8gaW1wbGVtZW50LgotUEFTUyBldmVudC52ZXJzaW9uIGlzICJ2ZXJzaW9uIDMi
Ci0KLVBBU1MgY29ubmVjdGlvblswXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0
LmVycm9yQ29kZSBpcyBET01FeGNlcHRpb24uQUJPUlRfRVJSCi1QQVNTIGV2ZW50LnRhcmdldC5l
cnJvci5uYW1lIGlzICdBYm9ydEVycm9yJwotUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJyb3JN
ZXNzYWdlLmxlbmd0aCA+IDAgaXMgdHJ1ZQotQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBz
ZXQgdmVyc2lvbiB0cmFuc2FjdGlvbiB3YXMgY3JlYXRlZAotCi1QQVNTIGNvbm5lY3Rpb25bMl0g
Z290IGVycm9yIGV2ZW50Ci1QQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgRE9NRXhjZXB0
aW9uLkFCT1JUX0VSUgotUEFTUyBldmVudC50YXJnZXQuZXJyb3IubmFtZSBpcyAnQWJvcnRFcnJv
cicKLVBBU1MgZXZlbnQudGFyZ2V0LndlYmtpdEVycm9yTWVzc2FnZS5sZW5ndGggPiAwIGlzIHRy
dWUKLUNvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24g
d2FzIGNyZWF0ZWQKLQotUEFTUyBjb25uZWN0aW9uWzNdIGdvdCBlcnJvciBldmVudAotUEFTUyBl
dmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIERPTUV4Y2VwdGlvbi5BQk9SVF9FUlIKLVBBU1MgZXZl
bnQudGFyZ2V0LmVycm9yLm5hbWUgaXMgJ0Fib3J0RXJyb3InCi1QQVNTIGV2ZW50LnRhcmdldC53
ZWJraXRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMCBpcyB0cnVlCi1Db25uZWN0aW9uIHdhcyBjbG9z
ZWQgYmVmb3JlIHNldCB2ZXJzaW9uIHRyYW5zYWN0aW9uIHdhcyBjcmVhdGVkCi0KLVBBU1MgY29u
bmVjdGlvblsxXSBnb3QgaW50byBTZXRWZXJzaW9uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRiNTYyN2I1NzQ4ODg3NzZkNmJmYTE2NDJlZGZiZmJkNzIyOThhZDAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLTxodG1sPg0KLTxoZWFkPg0KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFyZWQuanMiPjwvc2NyaXB0Pg0KLTwvaGVhZD4NCi08Ym9keT4NCi08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NldF92ZXJzaW9uX3F1ZXVlLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCi08L2Jv
ZHk+DQotPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3NldHZlcnNpb24tYmxvY2tzLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOWRhOGEwOTYwYmI2ZGNmYzE1NmI5ZDFhNzAwOWVmYTQ0
YTU3OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRo
ZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVk
LiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotVGVzdCB0aGF0IG9wZW4g
aXMgYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcKLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERC
IHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJ
bmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVyc2lvbi1ibG9j
a3Mtb3Blbi5odG1sIgotdmVyID0gMQotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gZmFsc2UKLWlu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6Ci1oMSA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKLWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLWluZGV4ZWREQi5vcGVu
KGRibmFtZSkKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzKCk6Ci0KLXRyYW5zYWN0aW9uT25Db21w
bGV0ZSgpOgotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gdHJ1ZQotCi1oMk9wZW5PblN1Y2Nlc3Mo
KToKLWgyID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotUEFTUyB2ZXJzaW9uQ2hhbmdlQ29tcGxldGUg
aXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24t
YmxvY2tzLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNp
b24tYmxvY2tzLW9wZW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIwOWM3
Mjg0NzE2ZjgyNGZlZDZlMGRlM2NjZWY3NTI0MzhiNzk4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
ZXR2ZXJzaW9uLWJsb2Nrcy1vcGVuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZXR2
ZXJzaW9uLWJsb2Nrcy1vcGVuLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1i
bG9ja3Mtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZjMWFlYTgzYzM0NTg1OGMxNDNkYWY1ODU3Yjg4OGZmYjc4
Y2FjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJl
bW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1UZXN0IHRoYXQg
dHdvIHNldFZlcnNpb25zIGZyb20gdGhlIHNhbWUgY29ubmVjdGlvbiBleGVjdXRlIHNlcXVlbnRp
YWxseS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVy
c2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5odG1sIgotdmVyID0gMQotdmVyc2lvbkNoYW5nZUNvbXBs
ZXRlID0gZmFsc2UKLWluZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6
Ci1oMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkK
LWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzMSgp
OgotCi10cmFuc2FjdGlvbk9uQ29tcGxldGUxKCk6Ci1oYWxmIGRvbmUKLXZlcnNpb25DaGFuZ2VD
b21wbGV0ZSA9IHRydWUKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzMigpOgotCi10cmFuc2FjdGlv
bk9uQ29tcGxldGUyKCk6Ci1QQVNTIHZlcnNpb25DaGFuZ2VDb21wbGV0ZSBpcyB0cnVlCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVy
c2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9j
a3Mtc2V0dmVyc2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDIxODhm
YTA1OTVlNjNmZWM2YzExYTExMDJjZDUxOTMyMzk4MjA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Nl
dHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFy
ZWQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NldHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
aHJlZS1zZXR2ZXJzaW9uLWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxMTY2ODU2YzBmYjkzMmU4ZmEzZTFjZjgyMTUxNWE3ZTI5ZmUz
ZTE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUg
c2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4g
VXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLVRocmVlIHNldFZlcnNpb24g
Y2FsbHMgYXJlIHF1ZXVlZCBjb3JyZWN0bHkgLSBleGVyY2lzZXMgYW4gb3RoZXJ3aXNlLXVudGVz
dGVkIGNvZGUgcGF0aAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWluZGV4ZWRE
Qi5vcGVuKCd0aHJlZS1zZXR2ZXJzaW9uLWNhbGxzJykKLWNvbm5lY3Rpb24uc2V0VmVyc2lvbigi
dmVyc2lvbiAwIikKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgidGhyZWUtc2V0dmVyc2lvbi1j
YWxscyIpCi1jb25uZWN0aW9uLnNldFZlcnNpb24oInZlcnNpb24gMSIpCi1jb25uZWN0aW9uLnNl
dFZlcnNpb24oInZlcnNpb24gMiIpCi1zZXRWZXJzaW9uIDAKLXNldFZlcnNpb24gMCBjb21wbGV0
ZQotc2V0VmVyc2lvbiAxCi1zZXRWZXJzaW9uIDEgY29tcGxldGUKLXNldFZlcnNpb24gMgotc2V0
VmVyc2lvbiAyIGNvbXBsZXRlCi1maW5pc2hlZEFsbFNldFZlcnNpb25zID0gdHJ1ZQotU3VjY2Vz
c2Z1bGx5IGRlbGV0ZWQgZGF0YWJhc2UKLVBBU1MgZmluaXNoZWRBbGxTZXRWZXJzaW9ucyBpcyB0
cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVyc2lv
bi1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVy
c2lvbi1jYWxscy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjQ3Njg5NDEw
ODhlZGJkNTNhMDMyMjIwMDFlNjkxMjg1MDliMmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVl
LXNldHZlcnNpb24tY2FsbHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RocmVlLXNl
dHZlcnNpb24tY2FsbHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFu
Z2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJz
aW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
YzZhNDkwNjUwNmJiNzY2MzYxNWFjMjQ0M2EwZGU4ODg3MDhiZTVjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NDEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBu
b24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIg
ZXZlbnQgaW5zdGVhZC4KLVRlc3QgYmVoYXZpb3Igd2hlbiB0aGUgc2FtZSBjb25uZWN0aW9uIGNh
bGxzIHNldFZlcnNpb24gdHdpY2UKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWlu
ZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYu
bW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1Q
QVNTIGluZGV4ZWREQiBpcyBub24tbnVsbC4KLVBBU1MgSURCVHJhbnNhY3Rpb24gaXMgbm9uLW51
bGwuCi1zZWxmLnN0YXRlID0gJ3N0YXJ0aW5nJwotaW5kZXhlZERCLm9wZW4oJ3R3by12ZXJzaW9u
cy1vbmUtY29ubmVjdGlvbicpCi1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXNlbGYuc3RhdGUg
PSAwCi1kYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQotZGIuc2V0VmVyc2lvbigndmVyc2lvbiAy
JykKLXNldFZlcnNpb24oKSAjMSBjYWxsYmFjawotc2VsZi5zdG9yZTEgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgndGVzdC1zdG9yZTEnKQotUEFTUyArK3NlbGYuc3RhdGUgaXMgMQotc2VsZi5zdG9y
ZTEucHV0KCdhYWEnLCAxMTEpCi1QQVNTICsrc2VsZi5zdGF0ZSBpcyAyCi1QQVNTICsrc2VsZi5z
dGF0ZSBpcyAzCi1oYWxmd2F5IHRoZXJlLi4uCi1zZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2sKLVBB
U1MgKytzZWxmLnN0YXRlIGlzIDQKLXNlbGYuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUyJykKLXNlbGYuc3RvcmUyLnB1dCgnYmJiJywgMjIyKQotUEFTUyArK3NlbGYu
c3RhdGUgaXMgNQotUEFTUyArK3NlbGYuc3RhdGUgaXMgNgotUEFTUyBzZWxmLmRiLnZlcnNpb24g
aXMgInZlcnNpb24gMiIKLXNlbGYudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUx
JywgJ3Rlc3Qtc3RvcmUyJ10pCi1zZWxmLnN0b3JlID0gc2VsZi50cmFucy5vYmplY3RTdG9yZSgn
dGVzdC1zdG9yZTEnKQotc2VsZi5yZXEgPSBzZWxmLnN0b3JlLmdldCgxMTEpCi1QQVNTIGV2ZW50
LnRhcmdldC5yZXN1bHQgaXMgImFhYSIKLXNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMicpCi1zZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAiYmJiIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzU2OTA5YTRmNGIzOTE5YmFiNzRkMTY0MDVlODhlYzdjZDI2YzczMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVy
c2lvbi1jaGFuZ2UtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGE1MjA4YWJiMjE2
MGEwZmY1NzU3N2Y4OTUwZjc3ZmVmYzExZWFiNWMuLmU1MDFkMTNlZjIyYmYwMmI3NmJhODhiZjQw
MTgzNDYzYmE4MWViNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3ZlcnNpb24tY2hhbmdlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1z
dGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVu
dCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDcxOiBVbmNhdWdodCBFcnJvcjogVGhp
cyBzaG91bGQgKk5PVCogYmUgY2F1Z2h0IQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUyOiBVbmNh
dWdodCBFcnJvcjogVGhpcyBzaG91bGQgKk5PVCogYmUgY2F1Z2h0IQogRW5zdXJlIHRoYXQgYWJv
cnRlZCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVkIGJh
Y2sKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtNywyNiArNiwyNSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndl
YmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8
IHNlbGYuT0luZGV4ZWREQjsKIAotaW5kZXhlZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWFib3J0
JykKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotCi12Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3Zl
cnNpb24gMScpCi1zZXRWZXJzaW9uMSgpIGNhbGxiYWNrCi1QQVNTIHZjcmVxLnJlc3VsdCBpbnN0
YW5jZW9mIElEQlRyYW5zYWN0aW9uIGlzIHRydWUKK2RibmFtZSA9ICJ2ZXJzaW9uLWNoYW5nZS1h
Ym9ydC5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5v
cGVuKGRibmFtZSkKK1BBU1MgdHJhbnMgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiBpcyB0cnVl
CiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQogc2V0VmVyc2lvbjEgY29t
cGxldGUKLVBBU1MgZGIudmVyc2lvbiBpcyAidmVyc2lvbiAxIgorUEFTUyBkYi52ZXJzaW9uIGlz
IDEKIAotdmNyZXEgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQordmNyZXEgPSBpbmRleGVk
REIub3BlbihkYm5hbWUsIDIpCiBzZXRWZXJzaW9uMigpIGNhbGxiYWNrCi1QQVNTIGRiLnZlcnNp
b24gaXMgInZlcnNpb24gMiIKLVBBU1MgdmNyZXEucmVzdWx0IGluc3RhbmNlb2YgSURCVHJhbnNh
Y3Rpb24gaXMgdHJ1ZQorUEFTUyBkYi52ZXJzaW9uIGlzIDIKK1BBU1MgdmNyZXEudHJhbnNhY3Rp
b24gaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiBpcyB0cnVlCiBzdG9yZSA9IGRiLmRlbGV0ZU9i
amVjdFN0b3JlKCdzdG9yZTEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUy
JykKIHJhaXNpbmcgZXhjZXB0aW9uCiAKIHNldFZlcnNpb24yQWJvcnQoKSBjYWxsYmFjawotUEFT
UyBkYi52ZXJzaW9uIGlzICJ2ZXJzaW9uIDEiCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lKQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250
YWlucygnc3RvcmUxJykgaXMgdHJ1ZQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5z
KCdzdG9yZTInKSBpcyBmYWxzZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhj
bHVzaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKaW5kZXggNDZmNjdlYTkyNzhlOTQ2MTZm
M2Q2ODZmYjRjMmNlMmNmMjlhODZjZC4uNDY0NGEyMjgwYzZiMzAzYzQzNDhiNGY1NzAzNzIxZTkz
ZGU5MmM5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE4
ICsxLDE1IEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5v
bi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBl
dmVudCBpbnN0ZWFkLgotRW5zdXJlIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGRvZXNuJ3Qg
cnVuIGNvbmN1cnJlbnRseSB3aXRoIG90aGVyIHRyYW5zYWN0aW9ucworRW5zdXJlIHBlbmRpbmcg
b3BlbiB3YWl0cyBmb3IgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUuCiAK
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWRE
QiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1z
SW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAotc2VsZi5zdGF0ZSA9ICdzdGFydGluZycK
LWluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKQotZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Ci1jYWxsaW5nIHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNob3VsZCBydW4g
aW1tZWRpYXRlbHkKLWRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCitkYm5hbWUgPSAidmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1l
KQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogY2FsbGluZyBvcGVuKCkgLSBjYWxsYmFjayBzaG91
bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZQotaW5k
ZXhlZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZScpCitpbmRleGVkREIub3Blbihk
Ym5hbWUpCiBzZXRWZXJzaW9uKCkgY2FsbGJhY2sKIHN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24KIHNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCcK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174786</attachid>
            <date>2012-11-16 17:03:47 -0800</date>
            <delta_ts>2012-11-16 18:11:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102565-20121116170140.patch</filename>
            <type>text/plain</type>
            <size>45981</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmZmY2MzNGVkYTFiM2I0ZWU4OGQx
MjQzZmU2NzgwOWVkZjRiM2NiYy4uMjE4NDc2MDgzOTRiMmJlYWFkMmEyYWYxZjU5MTgxYTEwMTZl
NzI2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDEyLTExLTE2ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREI6IHNldFZlcnNpb24gZXhj
aXNpb24gYmF0Y2ggMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjU2NQorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLmpz
OiBSZW1vdmVkLgorICAgICAgICAgIFZlcnkgc2ltaWxhciB0byBhIGxvdCBvZiBvdXIgb3RoZXIg
dGVzdHMuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2V0X3ZlcnNp
b25fcXVldWUuanM6IFJlbW92ZWQuCisgICAgICAgICAgVGVzdHMgNCBhbHJlYWR5LW9wZW4gY29u
bmVjdGlvbnMgY2FsbGluZyBzZXRWZXJzaW9uLCBubyBsb25nZXIKKyAgICAgICAgICBhcHBsaWNh
YmxlLiBUaG91Z2ggc29tZXRoaW5nIHNpbWlsYXIgd2lsbCBiZSBzZXQgdXAgd2hlbiB3ZQorICAg
ICAgICAgIGltcGxlbWVudCA0LjEuMyNOb3RlMjoKKyAgICAgICAgICBpZiB0d28gZGF0YWJhc2Vz
IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgb3JpZ2luLCBidXQgd2l0aCBkaWZmZXJlbnQKKyAgICAg
ICAgICB2ZXJzaW9ucywgYXJlIGJlaW5nIG9wZW5lZCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgb25l
IHdpdGggdGhlIGhpZ2hlc3QKKyAgICAgICAgICB2ZXJzaW9uIHdpbGwgYXR0ZW1wdCB0byBiZSBv
cGVuZWQgZmlyc3QuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2V0
dmVyc2lvbi1ibG9ja3Mtb3Blbi5qczogUmVtb3ZlZC4KKyAgICAgICAgICBUZXN0cyB0aGUgc2Ft
ZSB0aGluZyBhcyB2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUsIGV2ZW4gdGhvdWdoCisgICAgICAg
ICAgdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJ3MgZGVzY3JpcHRpb24gaGFkIGJlZW4gaW5hY2N1
cmF0ZS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9u
LWJsb2Nrcy1zZXR2ZXJzaW9uLmpzOiBSZW1vdmVkLgorICAgICAgICAgIEJlaGF2aW9yIHVuZGVy
IHRlc3QgaXMgbm8gbG9uZ2VyIHBvc3NpYmxlLiAobXVsdGlwbGUgc2V0VmVyc2lvbgorICAgICAg
ICAgIGNhbGxzIGZyb20gc2FtZSBjb25uZWN0aW9uLikKKworICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanM6CisgICAgICAgIChpbmRleGVkREJUZXN0KToKKyAg
ICAgICAgQWRkZWQgYW5vdGhlciBvcHRpb25hbCBwYXJhbWV0ZXIgZm9yIHZlcnNpb24tY2hhbmdl
LWV4Y2x1c2l2ZS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90aHJl
ZS1zZXR2ZXJzaW9uLWNhbGxzLmpzOiBSZW1vdmVkLgorICAgICAgICAgIEJlaGF2aW9yIHVuZGVy
IHRlc3QgaXMgbm8gbG9uZ2VyIHBvc3NpYmxlLiAobXVsdGlwbGUgc2V0VmVyc2lvbgorICAgICAg
ICAgIGNhbGxzIGZyb20gc2FtZSBjb25uZWN0aW9uLikKKworICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy90d28tdmVyc2lvbi1jaGFuZ2VzLmpzOiBSZW1vdmVkLgorICAgICAg
ICAgIEJlaGF2aW9yIHVuZGVyIHRlc3QgaXMgbm8gbG9uZ2VyIHBvc3NpYmxlLiAobXVsdGlwbGUg
c2V0VmVyc2lvbgorICAgICAgICAgIGNhbGxzIGZyb20gc2FtZSBjb25uZWN0aW9uLikKKworICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5nZS1hYm9ydC5q
czoKKyAgICAgICAgICBTdHJhaWdodGZvcndhcmQgY29udmVyc2lvbi4KKworICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanM6Cisg
ICAgICAgICAgVGhlIHByZXZpb3VzIGRlc2NyaXB0aW9uIGRpZG4ndCBhY2N1cmF0ZWx5IGRlc2Ny
aWJlIHRoZSB0ZXN0LgorCisgICAgICAgIC0tQ29ycmVzcG9uZGluZyAuaHRtbCBhbmQgLWV4cGVj
dGVkIGZpbGVzIGFsc28gcmVtb3ZlZC4KKworMjAxMi0xMS0xNiAgRGF2aWQgR3JvZ2FuICA8ZGdy
b2dhbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5kZXhlZERCOiBzZXRWZXJzaW9uIGV4Y2lz
aW9uIGJhdGNoIDkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjQ1NQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvdmVyc2lvbmNoYW5nZS5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjAxOTA5Zjk5MWMzYmIwMGQwNDdlMzQzYjg5MzhlZTU2YzNhMjdj
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8vIG9yaWdpbmFsIHRlc3Q6Ci0vLyBo
dHRwOi8vbXhyLm1vemlsbGEub3JnL21vemlsbGEyLjAvc291cmNlL2RvbS9pbmRleGVkREIvdGVz
dC90ZXN0X3NldFZlcnNpb25fZXZlbnRzLmh0bWwKLS8vIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwgdGVz
dDoKLS8vICIgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4u
Ci0vLyAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8g
IgotCi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3Jp
cHRzKCcuLi8uLi9yZXNvdXJjZXMvc2hhcmVkLmpzJyk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUZXN0
IEluZGV4ZWREQidzIHRyaWdnZXJpbmcgdmVyc2lvbmNoYW5nZSBldmVudCIpOwotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwotCi0gICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5vcGVuKG5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKLSAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rp
b24gb3BlblN1Y2Nlc3MoKQotewotICAgIGRiMSA9IGV2YWxBbmRMb2coImRiMSA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKLSAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRDb3VudCA9IGV2YWxBbmRMb2co
InZlcnNpb25DaGFuZ2VFdmVudENvdW50ID0gMDsiKTsKLSAgICBkZWJ1ZygiZGIxIHdpbGwgYmUg
b3BlbiB3aGVuIHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNoIHdpbGwgdHJpZ2dlciB2ZXJz
aW9uY2hhbmdlIG9uIGRiMSIpOwotICAgIGRiMS5vbnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbihl
dmVudCkgewotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0IiwgImRiMSIpOwotICAgICAg
ICBzaG91bGRCZSgiZXZlbnQudmVyc2lvbiIsICInMSciKTsKLSAgICAgICAgdmVyc2lvbkNoYW5n
ZUV2ZW50Q291bnQrKzsKLSAgICAgICAgc2hvdWxkQmUoInZlcnNpb25DaGFuZ2VFdmVudENvdW50
IiwgIjEiKTsKLSAgICAgICAgZGVidWcoImNsb3NlIGRiMSBub3cgc28gdmVyc2lvbmNoYW5nZSBk
b2Vzbid0IHRyaWdnZXIgb24gZGIxIGFnYWluIHdoZW4gd2UgY2FsbCBkYjMuc2V0VmVyc2lvbiIp
OwotICAgICAgICBldmFsQW5kTG9nKCJkYjEuY2xvc2UoKTsiKTsKLSAgICB9OwotICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIpOwotICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
b3BlblN1Y2Nlc3MyOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzczIoKQotewotICAgIGRiMiA9
IGV2YWxBbmRMb2coImRiMiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBkZWJ1ZygiZGIy
IHdpbGwgYmUgb3BlbiB3aGVuIHdlIGNhbGwgZGIzLnNldFZlcnNpb24sIHdoaWNoIHdpbGwgdHJp
Z2dlciB2ZXJzaW9uY2hhbmdlIG9uIGRiMiIpOwotICAgIGRiMi5vbnZlcnNpb25jaGFuZ2UgPSBm
dW5jdGlvbihldmVudCkgewotICAgICAgICB0ID0gZXZlbnQudGFyZ2V0OwotICAgICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0IiwgImRiMiIpOwotICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFy
Z2V0LnZlcnNpb24iLCAiJzEnIik7Ci0gICAgICAgIHNob3VsZEJlKCJldmVudC52ZXJzaW9uIiwg
IicyJyIpOwotICAgICAgICB2ZXJzaW9uQ2hhbmdlRXZlbnRDb3VudCsrOwotICAgICAgICBzaG91
bGRCZSgidmVyc2lvbkNoYW5nZUV2ZW50Q291bnQiLCAiMiIpOwotICAgICAgICBkZWJ1ZygiZG9u
J3QgY2xvc2UgZGIyLCBzbyBpdCB3aWxsIGJsb2NrIGRiMy5zZXRWZXJzaW9uIik7Ci0gICAgfQot
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIyLnNldFZlcnNpb24oJzEnKSIp
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gcG9zdFNldFZlcnNpb247Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQg
PSBmdW5jdGlvbihldmVudCkgewotICAgICAgICB0ZXN0UGFzc2VkKCJkYjIgcmVjZWl2ZWQgYmxv
Y2tlZCBldmVudCIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcG9zdFNldFZlcnNpb24oKQotewot
ICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgImV2ZW50LnRhcmdldC50cmFuc2Fj
dGlvbiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24ubW9kZSIsICIn
dmVyc2lvbmNoYW5nZSciKTsKLSAgICBzaG91bGRCZSgiZGIyLnZlcnNpb24iLCAiJzEnIik7Ci0K
LSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKG5hbWUp
OyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3MzOwotfQotCi1mdW5jdGlvbiBvcGVuU3Vj
Y2VzczMoKQotewotICAgIGRiMyA9IGV2YWxBbmRMb2coImRiMyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQ7Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYjMuc2V0VmVyc2lv
bignMicpOyIpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwotICAgIGRlYnVnKCJ0aGlzIHJlcXVlc3Qgd2lsbCBibG9jayBiZWNhdXNlIGRiMiBpcyBzdGls
bCBvcGVuIik7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSBmdW5jdGlvbihldmVudCkgewotICAg
ICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnNvdXJjZSIsICJkYjMiKTsKLSAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5zb3VyY2UudmVyc2lvbiIsICInMSciKTsKLSAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnZlcnNpb24iLCAiJzInIik7Ci0gICAgICAgIHZlcnNpb25DaGFuZ2VFdmVu
dENvdW50Kys7Ci0gICAgICAgIGRlYnVnKCJjbG9zZSBkYjIgbm93IHNvIG9uc3VjY2VzcyB3aWxs
IGJlIGNhbGxlZCIpOwotICAgICAgICBldmFsQW5kTG9nKCJkYjIuY2xvc2UoKTsiKTsKLSAgICB9
Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0U2V0VmVyc2lvbjI7Ci19Ci0KLWZ1bmN0aW9u
IHBvc3RTZXRWZXJzaW9uMigpCi17Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQi
LCAiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uIik7Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC50cmFuc2FjdGlvbi5tb2RlIiwgIid2ZXJzaW9uY2hhbmdlJyIpOwotICAgIHNob3VsZEJlKCJk
YjMudmVyc2lvbiIsICInMiciKTsKLSAgICBzaG91bGRCZSgidmVyc2lvbkNoYW5nZUV2ZW50Q291
bnQiLCAiMyIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi10ZXN0KCk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMjI5NWZiYTUyZmU4MmU0OTFkNTNhZWM2ZTUxNjU0ZGJi
NTQxYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhl
IHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQu
IFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6
IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1v
dmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotVGVzdCBJbmRleGVk
REIncyB0cmlnZ2VyaW5nIHZlcnNpb25jaGFuZ2UgZXZlbnQKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5k
ZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5P
SW5kZXhlZERCOwotCi1pbmRleGVkREIub3BlbihuYW1lKQotZGIxID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAotdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgPSAwOwotZGIxIHdpbGwgYmUgb3BlbiB3aGVu
IHdlIGNhbGwgZGIyLnNldFZlcnNpb24sIHdoaWNoIHdpbGwgdHJpZ2dlciB2ZXJzaW9uY2hhbmdl
IG9uIGRiMQotaW5kZXhlZERCLm9wZW4obmFtZSkKLWRiMiA9IGV2ZW50LnRhcmdldC5yZXN1bHQK
LWRiMiB3aWxsIGJlIG9wZW4gd2hlbiB3ZSBjYWxsIGRiMy5zZXRWZXJzaW9uLCB3aGljaCB3aWxs
IHRyaWdnZXIgdmVyc2lvbmNoYW5nZSBvbiBkYjIKLXJlcXVlc3QgPSBkYjIuc2V0VmVyc2lvbign
MScpCi1QQVNTIGV2ZW50LnRhcmdldCBpcyBkYjEKLVBBU1MgZXZlbnQudmVyc2lvbiBpcyAnMScK
LVBBU1MgdmVyc2lvbkNoYW5nZUV2ZW50Q291bnQgaXMgMQotY2xvc2UgZGIxIG5vdyBzbyB2ZXJz
aW9uY2hhbmdlIGRvZXNuJ3QgdHJpZ2dlciBvbiBkYjEgYWdhaW4gd2hlbiB3ZSBjYWxsIGRiMy5z
ZXRWZXJzaW9uCi1kYjEuY2xvc2UoKTsKLVBBU1MgZGIyIHJlY2VpdmVkIGJsb2NrZWQgZXZlbnQK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBldmVudC50YXJnZXQudHJhbnNhY3Rpb24KLVBB
U1MgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUgaXMgJ3ZlcnNpb25jaGFuZ2UnCi1QQVNT
IGRiMi52ZXJzaW9uIGlzICcxJwotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKG5hbWUpOwotZGIz
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLXJlcXVlc3QgPSBkYjMuc2V0VmVyc2lvbignMicpOwot
dGhpcyByZXF1ZXN0IHdpbGwgYmxvY2sgYmVjYXVzZSBkYjIgaXMgc3RpbGwgb3BlbgotUEFTUyBl
dmVudC50YXJnZXQgaXMgZGIyCi1QQVNTIGV2ZW50LnRhcmdldC52ZXJzaW9uIGlzICcxJwotUEFT
UyBldmVudC52ZXJzaW9uIGlzICcyJwotUEFTUyB2ZXJzaW9uQ2hhbmdlRXZlbnRDb3VudCBpcyAy
Ci1kb24ndCBjbG9zZSBkYjIsIHNvIGl0IHdpbGwgYmxvY2sgZGIzLnNldFZlcnNpb24KLVBBU1Mg
ZXZlbnQudGFyZ2V0LnNvdXJjZSBpcyBkYjMKLVBBU1MgZXZlbnQudGFyZ2V0LnNvdXJjZS52ZXJz
aW9uIGlzICcxJwotUEFTUyBldmVudC52ZXJzaW9uIGlzICcyJwotY2xvc2UgZGIyIG5vdyBzbyBv
bnN1Y2Nlc3Mgd2lsbCBiZSBjYWxsZWQKLWRiMi5jbG9zZSgpOwotUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0IGlzIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgotUEFTUyBldmVudC50YXJnZXQudHJh
bnNhY3Rpb24ubW9kZSBpcyAndmVyc2lvbmNoYW5nZScKLVBBU1MgZGIzLnZlcnNpb24gaXMgJzIn
Ci1QQVNTIHZlcnNpb25DaGFuZ2VFdmVudENvdW50IGlzIDMKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyZmZmNmIxYTJmMjczMmVmMzUzNDQwODYzZWRlNjg5MDZkNjNl
NjFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdmVyc2lvbmNoYW5nZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9xdWV1ZS5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9xdWV1ZS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI1ZjIwZWRlNDRjMzA2OTYwZTBiY2FiNWExN2UyMTQ2
MzlhYmY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2V0X3ZlcnNpb25fcXVldWUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotaWYgKHRoaXMuaW1wb3J0U2NyaXB0
cykgewotICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzJyk7Ci0gICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Ci19Ci0KLWRlc2Ny
aXB0aW9uKCI0IG9wZW4gY29ubmVjdGlvbnMgdHJ5IHRvIHNldFZlcnNpb24gYXQgdGhlIHNhbWUg
dGltZS4gIDMgY29ubmVjdGlvbnMgZXZlbnR1YWxseSBjbG9zZSwgYWxsb3dpbmcgMSBzZXRWZXJz
aW9uIGNhbGwgdG8gcHJvY2VlZC4iKTsKLQotY29ubmVjdGlvbnMgPSBbXQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQotICAgIG9wZW5EQkNvbm5lY3Rp
b24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpCi17Ci0gICAgcmVzdWx0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykiKTsKLSAgICBy
ZXN1bHQub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAg
IGNvbm5lY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgIGNvbm5lY3Rpb24ub252ZXJz
aW9uY2hhbmdlID0gZ2VuZXJhdGVWZXJzaW9uQ2hhbmdlSGFuZGxlcigpOwotICAgIGNvbm5lY3Rp
b25zLnB1c2goY29ubmVjdGlvbik7Ci0gICAgaWYgKGNvbm5lY3Rpb25zLmxlbmd0aCA8IDQpCi0g
ICAgICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsKLSAgICBlbHNlIHsKLSAgICAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzBdLnNldFZlcnNpb24oJ3ZlcnNpb24gMCcpIik7Ci0g
ICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KXsgY29ubmVjdGlvbkVycm9y
KGV2ZW50LCAwKSB9OwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNj
ZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2VkID0gYmxvY2tlZDA7Ci0gICAg
ICAgIHJlcXVlc3QxID0gZXZhbEFuZExvZygiY29ubmVjdGlvbnNbMV0uc2V0VmVyc2lvbigndmVy
c2lvbiAxJykiKTsKLSAgICAgICAgcmVxdWVzdDEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwotICAgICAgICByZXF1ZXN0MS5vbnN1Y2Nlc3MgPSBpblNldFZlcnNpb24xOwotICAg
ICAgICByZXF1ZXN0MS5vbmJsb2NrZWQgPSBibG9ja2VkMTsKLSAgICAgICAgcmVxdWVzdDIgPSBl
dmFsQW5kTG9nKCJjb25uZWN0aW9uc1syXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKSIpOwotICAg
ICAgICByZXF1ZXN0Mi5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpeyBjb25uZWN0aW9uRXJyb3Io
ZXZlbnQsIDIpIH07Ci0gICAgICAgIHJlcXVlc3QyLm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNj
ZXNzQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3QyLm9uYmxvY2tlZCA9IGJsb2NrZWQyOwotICAg
ICAgICByZXF1ZXN0MyA9IGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzNdLnNldFZlcnNpb24oJ3Zl
cnNpb24gMycpIik7Ci0gICAgICAgIHJlcXVlc3QzLm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCl7
IGNvbm5lY3Rpb25FcnJvcihldmVudCwgMykgfTsKLSAgICAgICAgcmVxdWVzdDMub25zdWNjZXNz
ID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdDMub25ibG9ja2Vk
ID0gYmxvY2tlZDM7Ci0gICAgICAgIGRlYnVnKCIiKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGdl
bmVyYXRlVmVyc2lvbkNoYW5nZUhhbmRsZXIoKQotewotICAgIHZhciBjb25uZWN0aW9uTnVtID0g
Y29ubmVjdGlvbnMubGVuZ3RoOwotICAgIHJldHVybiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0g
ICAgICAgIHNob3VsZEJlVHJ1ZSgiZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIik7Ci0gICAgICAg
IGRlYnVnKCJjb25uZWN0aW9uWyIgKyBjb25uZWN0aW9uTnVtICsgIl0gcmVjZWl2ZWQgdmVyc2lv
bkNoYW5nZUV2ZW50OiAiICsgZXZlbnQudmVyc2lvbik7Ci0gICAgfQotfQotCi1ibG9ja2VkMGZp
cmVkID0gZmFsc2U7Ci1ibG9ja2VkMmZpcmVkID0gZmFsc2U7Ci1mdW5jdGlvbiBibG9ja2VkMChl
dmVudCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblswXSBn
b3QgYmxvY2tlZCBldmVudCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudmVy
c2lvbiIsICJ2ZXJzaW9uIDAiKTsKLSAgICBkZWJ1ZygiQ2xvc2UgdGhlIGNvbm5lY3Rpb24gdGhh
dCByZWNlaXZlZCB0aGUgYmxvY2sgZXZlbnQ6Iik7Ci0gICAgZXZhbEFuZExvZygiY29ubmVjdGlv
bnNbMF0uY2xvc2UoKSIpOwotICAgIGRlYnVnKCJDbG9zZSBhbm90aGVyIGNvbm5lY3Rpb24gYXMg
d2VsbCwgdG8gdGVzdCA0LjcuNC1ub3RlOiIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb25z
WzNdLmNsb3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2VkMGZpcmVkID0gdHJ1ZSIpOwot
ICAgIGRlYnVnKCIiKTsKLX0KLQotZnVuY3Rpb24gYmxvY2tlZDEoZXZlbnQpCi17Ci0gICAgZGVi
dWcoIiIpCi0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsxXSBnb3QgYmxvY2tlZCBldmVudCIp
OwotICAgIGRlYnVnKCJFbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQgZXZlbnQgaXMgaW4gb3JkZXI6
Iik7Ci0gICAgc2hvdWxkQmVUcnVlKCJibG9ja2VkMGZpcmVkIik7Ci0gICAgc2hvdWxkQmVGYWxz
ZSgiYmxvY2tlZDJmaXJlZCIpOwotICAgIGRlYnVnKCIiKQotfQotCi1mdW5jdGlvbiBibG9ja2Vk
MihldmVudCkKLXsKLSAgICBkZWJ1ZygiIikKLSAgICB0ZXN0UGFzc2VkKCJjb25uZWN0aW9uWzJd
IGdvdCBibG9ja2VkIGV2ZW50Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC52
ZXJzaW9uIiwgInZlcnNpb24gMiIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzJdLmNs
b3NlKCkiKTsKLSAgICBldmFsQW5kTG9nKCJibG9ja2VkMmZpcmVkID0gdHJ1ZSIpOwotICAgIGRl
YnVnKCIiKQotfQotCi1mdW5jdGlvbiBibG9ja2VkMyhldmVudCkKLXsKLSAgICBkZWJ1ZygiIikK
LSAgICB0ZXN0UGFzc2VkKCJjb25uZWN0aW9uWzNdIGdvdCBibG9ja2VkIGV2ZW50Iik7Ci0gICAg
ZGVidWcoIk5vdGU6IFRoaXMgbWVhbnMgdGhhdCBhIGNvbm5lY3Rpb24gY2FuIHJlY2VpdmUgYSBi
bG9ja2VkIGV2ZW50IGFmdGVyIGl0cyBjbG9zZSgpIG1ldGhvZCBoYXMgYmVlbiBjYWxsZWQuICBT
cGVjIGlzIHNpbGVudCBvbiB0aGUgaXNzdWUgYW5kIHRoaXMgaXMgZWFzaWVzdCB0byBpbXBsZW1l
bnQuIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC52ZXJzaW9uIiwgInZlcnNp
b24gMyIpOwotfQotCi1mdW5jdGlvbiBjb25uZWN0aW9uRXJyb3IoZXZlbnQsIGNvbm5lY3Rpb25J
ZCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgdGVzdFBhc3NlZCgiY29ubmVjdGlvblsiICsgY29u
bmVjdGlvbklkICsgIl0gZ290IGVycm9yIGV2ZW50Iik7Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRh
cmdldC5lcnJvckNvZGUiLCAiRE9NRXhjZXB0aW9uLkFCT1JUX0VSUiIpOwotICAgIHNob3VsZEJl
KCJldmVudC50YXJnZXQuZXJyb3IubmFtZSIsICInQWJvcnRFcnJvciciKTsKLSAgICBpZiAoJ3dl
YmtpdEVycm9yTWVzc2FnZScgaW4gZXZlbnQudGFyZ2V0KSB7Ci0gICAgICAgIHNob3VsZEJlKCJl
dmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlLmxlbmd0aCA+IDAiLCAidHJ1ZSIpOwotICAg
ICAgICBkZWJ1ZyhldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlKTsKLSAgICB9Ci19Ci0K
LWZ1bmN0aW9uIGluU2V0VmVyc2lvbjEoZXZlbnQpCi17Ci0gICAgZGVidWcoIiIpCi0gICAgdGVz
dFBhc3NlZCgiY29ubmVjdGlvblsxXSBnb3QgaW50byBTZXRWZXJzaW9uIik7Ci0gICAgZmluaXNo
SlNUZXN0KCk7Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1vcGVuLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OTU4YjQyNDM1NzZiMTI5ZjAwMjI2MmI1
MWJhM2U5NmZmZDc3MTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24t
YmxvY2tzLW9wZW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1pZiAodGhpcy5p
bXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsK
LX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBvcGVuIGlzIGJsb2NrZWQgaWYgYSBWRVJTSU9O
X0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKSB7Ci0g
ICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5hbWVGcm9tUGF0aCgpOwotCi0g
ICAgZXZhbEFuZExvZygidmVyID0gMSIpOwotICAgIGV2YWxBbmRMb2coInZlcnNpb25DaGFuZ2VD
b21wbGV0ZSA9IGZhbHNlIik7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4oZGJuYW1lKSIpOwotICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2Nr
ZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGgxT3Blbk9uU3VjY2VzcyhldnQp
IHsKLSAgICAgICAgcHJlYW1ibGUoZXZ0KTsKLSAgICAgICAgZXZhbEFuZExvZygiaDEgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7Ci0KLSAgICAgICAgaDEub252ZXJzaW9uY2hhbmdlID0gdW5leHBl
Y3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjazsKLQotICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaDEuc2V0VmVyc2lvbihTdHJpbmcodmVyKyspKSIpOwotICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbmJsb2NrZWQg
PSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uIGgxU2V0VmVyc2lvbk9uU3VjY2VzcyhldnQpIHsKLSAgICAgICAgICAgIHByZWFt
YmxlKGV2dCk7Ci0KLSAgICAgICAgICAgIHRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dDsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKLSAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBmdW5jdGlvbiB0cmFu
c2FjdGlvbk9uQ29tcGxldGUoZXZ0KSB7Ci0gICAgICAgICAgICAgICAgcHJlYW1ibGUoZXZ0KTsK
LSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29tcGxldGUgPSB0cnVl
Iik7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0gICAgICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAgICAgIHJlcXVlc3Qub25ibG9j
a2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZnVuY3Rpb24gaDJPcGVuT25TdWNjZXNzKGV2dCkgewotICAgICAgICAgICAgcHJlYW1ibGUoZXZ0
KTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImgyID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwot
Ci0gICAgICAgICAgICBoMi5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5n
ZUNhbGxiYWNrOwotICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ2ZXJzaW9uQ2hhbmdlQ29tcGxl
dGUiKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICB9OwotICAgIH07Ci19
Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24tYmxvY2tzLXNldHZlcnNpb24uanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmY2MxMTI5NzdmZmNlNGRkZDdkNmQxNjgx
M2RjZDFhNWQwYThjMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NldHZlcnNpb24t
YmxvY2tzLXNldHZlcnNpb24uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1pZiAo
dGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQu
anMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB0d28gc2V0VmVyc2lvbnMgZnJvbSB0
aGUgc2FtZSBjb25uZWN0aW9uIGV4ZWN1dGUgc2VxdWVudGlhbGx5LiIpOwotCi1mdW5jdGlvbiB0
ZXN0KCkgewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgc2V0REJOYW1lRnJvbVBh
dGgoKTsKLQotICAgIGV2YWxBbmRMb2coInZlciA9IDEiKTsKLSAgICBldmFsQW5kTG9nKCJ2ZXJz
aW9uQ2hhbmdlQ29tcGxldGUgPSBmYWxzZSIpOwotCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhw
ZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMU9wZW5PblN1
Y2Nlc3MoZXZ0KSB7Ci0gICAgICAgIHByZWFtYmxlKGV2dCk7Ci0gICAgICAgIGV2YWxBbmRMb2co
ImgxID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgICAgIGgxLm9udmVyc2lvbmNoYW5n
ZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2s7Ci0KLSAgICAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkiKTsKLSAgICAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qu
b25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nlc3MxKGV2dCkgewotICAgICAg
ICAgICAgcHJlYW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0cmFuc2FjdGlvbiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0g
ZnVuY3Rpb24gdHJhbnNhY3Rpb25PbkNvbXBsZXRlMShldnQpIHsKLSAgICAgICAgICAgICAgICBw
cmVhbWJsZShldnQpOwotICAgICAgICAgICAgICAgIGRlYnVnKCJoYWxmIGRvbmUiKTsKLSAgICAg
ICAgICAgICAgICBldmFsQW5kTG9nKCJ2ZXJzaW9uQ2hhbmdlQ29tcGxldGUgPSB0cnVlIik7Ci0g
ICAgICAgICAgICB9OwotICAgICAgICB9OwotCi0KLSAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkiKTsKLSAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIHJlcXVlc3Qub25ibG9ja2Vk
ID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbiBoMVNldFZlcnNpb25PblN1Y2Nlc3MyKGV2dCkgewotICAgICAgICAgICAgcHJl
YW1ibGUoZXZlbnQpOwotCi0gICAgICAgICAgICB0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24g
dHJhbnNhY3Rpb25PbkNvbXBsZXRlMihldnQpIHsKLSAgICAgICAgICAgICAgICBwcmVhbWJsZShl
dnQpOwotICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgidmVyc2lvbkNoYW5nZUNvbXBsZXRl
Iik7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9OwotICAg
ICAgICB9OwotICAgIH07Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzCmluZGV4IDZjM2NlYzlmZTZjZDlmY2ZhY2Yx
MWMyMmEzODEwYmJiMWU3NjNjNzAuLjJhZmZkMGEwYzAxM2MxOTE2MTkzY2U2ZDM3NmMyNmUzZjIy
Mjk5NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9zaGFyZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L3NoYXJlZC5qcwpAQCAtMjAxLDUgKzIwMSw3IEBAIGZ1bmN0aW9uIGluZGV4ZWREQlRlc3QodXBn
cmFkZUNhbGxiYWNrLCBvcHRpb25hbE9wZW5DYWxsYmFjaywgb3B0aW9uYWxQYXJhbWV0ZXJzCiAg
ICAgICAgIGlmIChvcHRpb25hbE9wZW5DYWxsYmFjaykKICAgICAgICAgICAgIG9wZW5SZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wdGlvbmFsT3BlbkNhbGxiYWNrOwogICAgICAgICBkZWxldGUgc2VsZi5v
cGVuUmVxdWVzdDsKKyAgICAgICAgaWYgKG9wdGlvbmFsUGFyYW1ldGVycyAmJiAncnVuQWZ0ZXJP
cGVuJyBpbiBvcHRpb25hbFBhcmFtZXRlcnMpCisgICAgICAgICAgICAob3B0aW9uYWxQYXJhbWV0
ZXJzWydydW5BZnRlck9wZW4nXSkoKTsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RocmVlLXNldHZlcnNpb24tY2FsbHMuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdGhyZWUtc2V0dmVyc2lv
bi1jYWxscy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGNmZTgxMjc5NjIxZGU3
ZjdmOGZkMDY0NWE3NmRiZjFiMjgzMTg0NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
dGhyZWUtc2V0dmVyc2lvbi1jYWxscy5qcworKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAK
LWlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAgIGltcG9ydFNjcmlwdHMoJ3No
YXJlZC5qcycpOwotfQotCi1kZXNjcmlwdGlvbigiVGhyZWUgc2V0VmVyc2lvbiBjYWxscyBhcmUg
cXVldWVkIGNvcnJlY3RseSAtIGV4ZXJjaXNlcyBhbiBvdGhlcndpc2UtdW50ZXN0ZWQgY29kZSBw
YXRoIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
Ci0gICAgb3BlbkRCQ29ubmVjdGlvbigpOwotfQotCi1mdW5jdGlvbiBvcGVuREJDb25uZWN0aW9u
KCkKLXsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3RocmVlLXNl
dHZlcnNpb24tY2FsbHMnKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3Mx
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1m
dW5jdGlvbiBzdWNjZXNzSGFuZGxlcihpZCkKLXsKLSAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKLSAg
ICB0cmFucyA9IGUudGFyZ2V0LnJlc3VsdDsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbiAiICsgaWQp
OwotICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB0cmFu
cy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgdHJhbnMub25jb21wbGV0
ZSA9IGZ1bmN0aW9uKGV2dCkgewotICAgICAgZGVidWcoInNldFZlcnNpb24gIiArIGlkICsgIiBj
b21wbGV0ZSIpOwotICAgICAgaWYgKGlkID09IGtOdW1WZXJzaW9uQ2FsbHMgLSAxKSB7Ci0gICAg
ICAgIGV2YWxBbmRMb2coImZpbmlzaGVkQWxsU2V0VmVyc2lvbnMgPSB0cnVlIik7Ci0gICAgICAg
IGNvbm5lY3Rpb24uY2xvc2UoKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLQotZmluaXNoZWRB
bGxTZXRWZXJzaW9ucyA9IGZhbHNlOwota051bVZlcnNpb25DYWxscyA9IDM7Ci1mdW5jdGlvbiBv
cGVuU3VjY2VzczEoZSkKLXsKLSAgICBjb25uZWN0aW9uID0gZS50YXJnZXQucmVzdWx0OwotICAg
IGZvciAodmFyIGkgPSAwOyBpIDwga051bVZlcnNpb25DYWxsczsgaSsrKSB7Ci0gICAgICB2Y1Jl
cXVlc3QgPSBldmFsQW5kTG9nKCdjb25uZWN0aW9uLnNldFZlcnNpb24oInZlcnNpb24gJyArIGkg
KyAnIiknKTsKLSAgICAgIHZjUmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENh
bGxiYWNrOwotICAgICAgdmNSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKLSAgICAgIHZjUmVxdWVzdC5vbnN1Y2Nlc3MgPSBzdWNjZXNzSGFuZGxlcihpKTsKLSAgICAg
IGlmICghaSkgewotICAgICAgICBkZWxldGVSZXF1ZXN0ID0gZXZhbEFuZExvZygnaW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKCJ0aHJlZS1zZXR2ZXJzaW9uLWNhbGxzIiknKTsKLSAgICAgICAgZGVs
ZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgIGRl
bGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZGVidWcoIlN1
Y2Nlc3NmdWxseSBkZWxldGVkIGRhdGFiYXNlIik7Ci0gICAgICAgICAgc2hvdWxkQmVUcnVlKCJm
aW5pc2hlZEFsbFNldFZlcnNpb25zIik7Ci0gICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
ICAgIH07Ci0gICAgICB9Ci0gICAgfQotfQotCi10ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHdvLXZlcnNpb24tY2hhbmdlcy5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90d28tdmVyc2lvbi1jaGFu
Z2VzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGFjNTliOTE4YTQwMTMwN2Iz
YjI1YmQ3M2IyOTIxYWJkMzM0ZThkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90d28t
dmVyc2lvbi1jaGFuZ2VzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLWlmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKLSAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwotICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5q
cycpOwotfQotCi1kZXNjcmlwdGlvbigiVGVzdCBiZWhhdmlvciB3aGVuIHRoZSBzYW1lIGNvbm5l
Y3Rpb24gY2FsbHMgc2V0VmVyc2lvbiB0d2ljZSIpOwotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBzaG91bGRCZU5vbk51bGwoImluZGV4ZWRE
QiIpOwotICAgIHNob3VsZEJlTm9uTnVsbCgiSURCVHJhbnNhY3Rpb24iKTsKLSAgICBvcGVuREJD
b25uZWN0aW9uKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQotewotICAgIGV2
YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7Ci0gICAgdmFyIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25zLW9uZS1jb25uZWN0aW9uJyki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCi17Ci0gICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwotICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAwIik7Ci0KLSAgICB2YXIgdmVyc2lv
bkNoYW5nZVJlcXVlc3QxID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJyki
KTsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwotICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MS5vbnN1Y2Nlc3MgPSBpblNldFZlcnNp
b24xOwotCi0gICAgLy8gYW5kIGNvbmN1cnJlbnRseS4uLgotCi0gICAgdmFyIHZlcnNpb25DaGFu
Z2VSZXF1ZXN0MiA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMicpIik7Ci0g
ICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QyLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKLSAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdDIub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uMjsK
LX0KLQotZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCi17Ci0gICAgZGVidWcoInNldFZlcnNpb24o
KSAjMSBjYWxsYmFjayIpOwotICAgIHRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICBl
dmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3Jl
MScpIik7Ci0gICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICIxIik7Ci0gICAgdmFyIHJlcSA9
IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1dCgnYWFhJywgMTExKSIpOwotICAgIHJlcS5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0
aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiMiIpOwotICAgICAg
ICBoYWxmd2F5RG9uZSgpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIGluU2V0VmVyc2lvbjIoKQot
ewotICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2siKTsKLSAgICB0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQ7Ci0gICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICI0Iik7Ci0g
ICAgZXZhbEFuZExvZygic2VsZi5zdG9yZTIgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdC1z
dG9yZTInKSIpOwotCi0gICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUyLnB1dCgn
YmJiJywgMjIyKSIpOwotICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci0gICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJlKCIr
K3NlbGYuc3RhdGUiLCAiNSIpOwotICAgICAgICBoYWxmd2F5RG9uZSgpOwotICAgIH07Ci19Ci0K
LXZhciBjb3VudGVyID0gMDsKLWZ1bmN0aW9uIGhhbGZ3YXlEb25lKCkgCi17Ci0gICAgY291bnRl
ciArPSAxOwotICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAgICBzaG91bGRCZSgiKytzZWxm
LnN0YXRlIiwgIjMiKTsKLSAgICAgICAgZGVidWcoImhhbGZ3YXkgdGhlcmUuLi4iICk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICI2Iik7Ci0gICAgICAg
IGNoZWNrUmVzdWx0cygpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gY2hlY2tSZXN1bHRzKCkgewot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5kYi52ZXJzaW9uIiwgInZlcnNpb24gMiIp
OwotICAgIHRyYW5zLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29tcGxldGU7Ci19Ci0KLWZ1bmN0
aW9uIHNldFZlcnNpb25Db21wbGV0ZSgpCi17Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJzZWxm
LnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0ZXN0LXN0b3JlMiddKSIp
OwotICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0
U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFsQW5kTG9nKCJzZWxmLnJlcSA9
IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKLSAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQiLCAiYWFhIik7Ci0KLSAg
ICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzZWxmLnN0b3JlID0gc2VsZi50cmFucy5vYmplY3RT
dG9yZSgndGVzdC1zdG9yZTInKSIpOwotICAgICAgICByZXEgPSBldmFsQW5kTG9nKCJzZWxmLnJl
cSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikiKTsKLSAgICAgICAgcmVxLm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7
Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQi
LCAiYmJiIik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfTsKLSAgICB9
OwotfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWFi
b3J0LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3ZlcnNpb24t
Y2hhbmdlLWFib3J0LmpzCmluZGV4IDBiNDQ3MTcyZmJlODBmMWNlMWRlMjgzYTM1ZmRjZGMxODA0
NTBkOTMuLmFlMjkxZTQ0ODIyZWUwNzNmY2U3YzA4YzIyNzQzN2I4NWIyOTg2ZjYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5n
ZS1hYm9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
dmVyc2lvbi1jaGFuZ2UtYWJvcnQuanMKQEAgLTUsMzYgKzUsMTQgQEAgaWYgKHRoaXMuaW1wb3J0
U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQgYWJvcnRlZCBWRVJTSU9OX0NI
QU5HRSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVkIGJhY2siKTsKIAotZnVuY3Rp
b24gdGVzdCgpIHsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwotICAgIG9wZW5EQkNvbm5l
Y3Rpb24oKTsKLX0KLQotZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpCi17Ci0gICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1hYm9ydCcpIik7
Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3Mo
KQotewotICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKLSAgICBkZWJ1ZygiIik7Ci0KLSAgICBldmFsQW5kTG9nKCJ2Y3JlcSA9IGRiLnNldFZlcnNp
b24oJ3ZlcnNpb24gMScpIik7Ci0gICAgdmNyZXEub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uMTsK
LSAgICB2Y3JlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0
aW9uIGluU2V0VmVyc2lvbjEoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIHNldFZl
cnNpb24xQ29tcGxldGUpOworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKLSAgICBkZWJ1
Zygic2V0VmVyc2lvbjEoKSBjYWxsYmFjayIpOwotICAgIHNob3VsZEJlVHJ1ZSgidmNyZXEucmVz
dWx0IGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24iKTsKLSAgICB0cmFucyA9IHZjcmVxLnJlc3Vs
dDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgdHJhbnMgPSBldmVudC50YXJn
ZXQudHJhbnNhY3Rpb247CisgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyBpbnN0YW5jZW9mIElEQlRy
YW5zYWN0aW9uIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNr
OwogICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB0cmFu
cy5vbmNvbXBsZXRlID0gc2V0VmVyc2lvbjFDb21wbGV0ZTsKIAogICAgIGV2YWxBbmRMb2coInN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7CiB9CkBAIC00MiwyMSArMjAs
MjQgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlvbiBzZXRWZXJzaW9uMUNvbXBs
ZXRlKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbjEgY29tcGxldGUiKTsKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAidmVyc2lvbiAxIik7CisgICAgc2hvdWxkQmUo
ImRiLnZlcnNpb24iLCAiMSIpOwogICAgIGRlYnVnKCIiKTsKKyAgICBkYi5jbG9zZSgpOwogCi0g
ICAgZXZhbEFuZExvZygidmNyZXEgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKSIpOwotICAg
IHZjcmVxLm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjI7Ci0gICAgdmNyZXEub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGV2YWxBbmRMb2coInZjcmVxID0gaW5kZXhlZERC
Lm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHZjcmVxLm9udXBncmFkZW5lZWRlZCA9IGluU2V0VmVy
c2lvbjI7CisgICAgdmNyZXEub25lcnJvciA9IHNldFZlcnNpb24yQWJvcnQ7CisgICAgdmNyZXEu
b25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICB2Y3JlcS5vbnN1Y2Nl
c3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBpblNldFZlcnNp
b24yKCkKIHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgZGVidWcoInNldFZl
cnNpb24yKCkgY2FsbGJhY2siKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNp
b24iLCAidmVyc2lvbiAyIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJ2Y3JlcS5yZXN1bHQgaW5zdGFu
Y2VvZiBJREJUcmFuc2FjdGlvbiIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjIiKTsK
KyAgICBzaG91bGRCZVRydWUoInZjcmVxLnRyYW5zYWN0aW9uIGluc3RhbmNlb2YgSURCVHJhbnNh
Y3Rpb24iKTsKICAgICB0cmFucyA9IHZjcmVxLnJlc3VsdDsKLSAgICB0cmFucy5vbmFib3J0ID0g
c2V0VmVyc2lvbjJBYm9ydDsKICAgICB0cmFucy5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNr
OwogCkBAIC03OCwxMiArNTksMTcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbjJBYm9ydCgpCiAKICAg
ICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyLgogICAgIHNlbGYub25lcnJv
ciA9IHNlbGYub3JpZ2luYWxXaW5kb3dPbkVycm9yOwotCi0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkYi52ZXJzaW9uIiwgInZlcnNpb24gMSIpOwotICAgIHNob3VsZEJlVHJ1ZSgiZGIub2Jq
ZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJk
Yi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIpOwotCi0gICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgZGIuY2xvc2UoKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhl
ZERCLm9wZW4oZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJs
b2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRV
cGdyYWRlTmVlZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgeworICAg
ICAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgICAgIHNob3VsZEJlKCJkYi52ZXJz
aW9uIiwgIjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNv
bnRhaW5zKCdzdG9yZTEnKSIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJkYi5vYmplY3RTdG9y
ZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSIpOworCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIH0KIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy92ZXJzaW9uLWNoYW5n
ZS1leGNsdXNpdmUuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
dmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmpzCmluZGV4IDg2ZTI0Y2VjYzQyMzNiOGM3OGQ2Mjk2
YWY5OTUyOTA2M2YzNGM1OWUuLjFhMGM4ZWNhZTJlZmJhNGYyMGExZWZlMjQ5NzY4MjFmZTAzYzky
N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy92
ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5qcwpAQCAtMyw0MSArMywy
MSBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVk
LmpzJyk7CiB9CiAKLWRlc2NyaXB0aW9uKCJFbnN1cmUgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rp
b24gZG9lc24ndCBydW4gY29uY3VycmVudGx5IHdpdGggb3RoZXIgdHJhbnNhY3Rpb25zIik7Citk
ZXNjcmlwdGlvbigiRW5zdXJlIHBlbmRpbmcgb3BlbiB3YWl0cyBmb3IgdmVyc2lvbiBjaGFuZ2Ug
dHJhbnNhY3Rpb24gdG8gY29tcGxldGUuIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVjdGlvbigpOwotfQotCi1mdW5j
dGlvbiBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0g
J3N0YXJ0aW5nJyIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbign
dmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9w
ZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwotfQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIG51bGwsIHsicnVuQWZ0ZXJPcGVu
IjogY29uY3VycmVudE9wZW59KTsKIAotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQorZnVuY3Rpb24g
Y29uY3VycmVudE9wZW4oKQogewotICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKLQotICAgIGRlYnVnKCJjYWxsaW5nIHNldFZlcnNpb24oKSAtIGNh
bGxiYWNrIHNob3VsZCBydW4gaW1tZWRpYXRlbHkiKTsKLSAgICB2YXIgdmVyc2lvbkNoYW5nZVJl
cXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwotICAgIHZl
cnNpb25DaGFuZ2VSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAg
ICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdC5vbnN1Y2Nlc3MgPSBpblNldFZlcnNpb247Ci0KLSAgICAv
LyBhbmQgY29uY3VycmVudGx5Li4uCi0KICAgICBkZWJ1ZygiY2FsbGluZyBvcGVuKCkgLSBjYWxs
YmFjayBzaG91bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBjb21w
bGV0ZSIpOwotICAgIHZhciBvcGVuUmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKSIpOworICAgIHZhciBvcGVuUmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKICAgICBvcGVuUmVxdWVzdC5vbnN1
Y2Nlc3MgPSBvcGVuQWdhaW5TdWNjZXNzOwogICAgIG9wZW5SZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rpb24gaW5TZXRWZXJzaW9uKCkKK2Z1bmN0
aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0Owog
ICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgY2FsbGJhY2siKTsKICAgICBkZWJ1Zygic3RhcnRpbmcg
d29yayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiIpOwogICAgIGV2YWxBbmRMb2coInNl
bGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsKQEAgLTY5LDUgKzQ5LDMgQEAg
ZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJz
ZWxmLnN0YXRlIiwgIlZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkIik7CiAgICAgZmluaXNoSlNUZXN0
KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyNzY1NjI3ZGY0NDRj
NmI2Y2Q2YjBkZGE3ODNjZjAwZjFlNzljMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNp
b25fcXVldWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5k
IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4K
LUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJk
IGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3Rl
YWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFu
ZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBp
bnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24t
c3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZl
bnQgaW5zdGVhZC4KLTQgb3BlbiBjb25uZWN0aW9ucyB0cnkgdG8gc2V0VmVyc2lvbiBhdCB0aGUg
c2FtZSB0aW1lLiAzIGNvbm5lY3Rpb25zIGV2ZW50dWFsbHkgY2xvc2UsIGFsbG93aW5nIDEgc2V0
VmVyc2lvbiBjYWxsIHRvIHByb2NlZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBz
ZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsK
LQotaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKLWluZGV4ZWREQi5vcGVuKCdz
ZXQtdmVyc2lvbi1xdWV1ZScpCi1pbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKQot
aW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKLWNvbm5lY3Rpb25zWzBdLnNldFZl
cnNpb24oJ3ZlcnNpb24gMCcpCi1jb25uZWN0aW9uc1sxXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEn
KQotY29ubmVjdGlvbnNbMl0uc2V0VmVyc2lvbigndmVyc2lvbiAyJykKLWNvbm5lY3Rpb25zWzNd
LnNldFZlcnNpb24oJ3ZlcnNpb24gMycpCi0KLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAw
IGlzIHRydWUKLWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJz
aW9uIDAKLVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25b
Ml0gcmVjZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDAKLVBBU1MgZXZlbnQudmVy
c2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bM10gcmVjZWl2ZWQgdmVyc2lvbkNo
YW5nZUV2ZW50OiB2ZXJzaW9uIDAKLQotUEFTUyBjb25uZWN0aW9uWzBdIGdvdCBibG9ja2VkIGV2
ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24gaXMgInZlcnNpb24gMCIKLUNsb3NlIHRoZSBjb25uZWN0
aW9uIHRoYXQgcmVjZWl2ZWQgdGhlIGJsb2NrIGV2ZW50OgotY29ubmVjdGlvbnNbMF0uY2xvc2Uo
KQotQ2xvc2UgYW5vdGhlciBjb25uZWN0aW9uIGFzIHdlbGwsIHRvIHRlc3QgNC43LjQtbm90ZToK
LWNvbm5lY3Rpb25zWzNdLmNsb3NlKCkKLWJsb2NrZWQwZmlyZWQgPSB0cnVlCi0KLVBBU1MgZXZl
bnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bMl0gcmVjZWl2ZWQgdmVy
c2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDEKLQotUEFTUyBjb25uZWN0aW9uWzFdIGdvdCBibG9j
a2VkIGV2ZW50Ci1FbnN1cmUgdGhhdCB0aGlzIGJsb2NrZWQgZXZlbnQgaXMgaW4gb3JkZXI6Ci1Q
QVNTIGJsb2NrZWQwZmlyZWQgaXMgdHJ1ZQotUEFTUyBibG9ja2VkMmZpcmVkIGlzIGZhbHNlCi0K
LVBBU1MgZXZlbnQudmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bMV0gcmVj
ZWl2ZWQgdmVyc2lvbkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDIKLQotUEFTUyBjb25uZWN0aW9uWzJd
IGdvdCBibG9ja2VkIGV2ZW50Ci1QQVNTIGV2ZW50LnZlcnNpb24gaXMgInZlcnNpb24gMiIKLWNv
bm5lY3Rpb25zWzJdLmNsb3NlKCkKLWJsb2NrZWQyZmlyZWQgPSB0cnVlCi0KLVBBU1MgZXZlbnQu
dmVyc2lvbi5sZW5ndGggPiAwIGlzIHRydWUKLWNvbm5lY3Rpb25bMV0gcmVjZWl2ZWQgdmVyc2lv
bkNoYW5nZUV2ZW50OiB2ZXJzaW9uIDMKLQotUEFTUyBjb25uZWN0aW9uWzNdIGdvdCBibG9ja2Vk
IGV2ZW50Ci1Ob3RlOiBUaGlzIG1lYW5zIHRoYXQgYSBjb25uZWN0aW9uIGNhbiByZWNlaXZlIGEg
YmxvY2tlZCBldmVudCBhZnRlciBpdHMgY2xvc2UoKSBtZXRob2QgaGFzIGJlZW4gY2FsbGVkLiAg
U3BlYyBpcyBzaWxlbnQgb24gdGhlIGlzc3VlIGFuZCB0aGlzIGlzIGVhc2llc3QgdG8gaW1wbGVt
ZW50LgotUEFTUyBldmVudC52ZXJzaW9uIGlzICJ2ZXJzaW9uIDMiCi0KLVBBU1MgY29ubmVjdGlv
blswXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyBET01F
eGNlcHRpb24uQUJPUlRfRVJSCi1QQVNTIGV2ZW50LnRhcmdldC5lcnJvci5uYW1lIGlzICdBYm9y
dEVycm9yJwotUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlLmxlbmd0aCA+IDAg
aXMgdHJ1ZQotQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBzZXQgdmVyc2lvbiB0cmFuc2Fj
dGlvbiB3YXMgY3JlYXRlZAotCi1QQVNTIGNvbm5lY3Rpb25bMl0gZ290IGVycm9yIGV2ZW50Ci1Q
QVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgRE9NRXhjZXB0aW9uLkFCT1JUX0VSUgotUEFT
UyBldmVudC50YXJnZXQuZXJyb3IubmFtZSBpcyAnQWJvcnRFcnJvcicKLVBBU1MgZXZlbnQudGFy
Z2V0LndlYmtpdEVycm9yTWVzc2FnZS5sZW5ndGggPiAwIGlzIHRydWUKLUNvbm5lY3Rpb24gd2Fz
IGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQKLQotUEFT
UyBjb25uZWN0aW9uWzNdIGdvdCBlcnJvciBldmVudAotUEFTUyBldmVudC50YXJnZXQuZXJyb3JD
b2RlIGlzIERPTUV4Y2VwdGlvbi5BQk9SVF9FUlIKLVBBU1MgZXZlbnQudGFyZ2V0LmVycm9yLm5h
bWUgaXMgJ0Fib3J0RXJyb3InCi1QQVNTIGV2ZW50LnRhcmdldC53ZWJraXRFcnJvck1lc3NhZ2Uu
bGVuZ3RoID4gMCBpcyB0cnVlCi1Db25uZWN0aW9uIHdhcyBjbG9zZWQgYmVmb3JlIHNldCB2ZXJz
aW9uIHRyYW5zYWN0aW9uIHdhcyBjcmVhdGVkCi0KLVBBU1MgY29ubmVjdGlvblsxXSBnb3QgaW50
byBTZXRWZXJzaW9uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3Zl
cnNpb25fcXVldWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJz
aW9uX3F1ZXVlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiNTYyN2I1NzQ4
ODg3NzZkNmJmYTE2NDJlZGZiZmJkNzIyOThhZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3Zl
cnNpb25fcXVldWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPg0K
LTxoZWFkPg0KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2Ny
aXB0Pg0KLTwvaGVhZD4NCi08Ym9keT4NCi08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NldF92ZXJz
aW9uX3F1ZXVlLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCi08L2JvZHk+DQotPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxvY2tz
LW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVy
c2lvbi1ibG9ja3Mtb3Blbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGVjOWRhOGEwOTYwYmI2ZGNmYzE1NmI5ZDFhNzAwOWVmYTQ0YTU3OWIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwzMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0
aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRl
bmVlZGVkIiBldmVudCBpbnN0ZWFkLgotVGVzdCB0aGF0IG9wZW4gaXMgYmxvY2tlZCBpZiBhIFZF
UlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcKLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5k
ZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5P
SW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVyc2lvbi1ibG9ja3Mtb3Blbi5odG1sIgotdmVy
ID0gMQotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gZmFsc2UKLWluZGV4ZWREQi5vcGVuKGRibmFt
ZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6Ci1oMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWgxLnNl
dFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLWluZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotaDFTZXRW
ZXJzaW9uT25TdWNjZXNzKCk6Ci0KLXRyYW5zYWN0aW9uT25Db21wbGV0ZSgpOgotdmVyc2lvbkNo
YW5nZUNvbXBsZXRlID0gdHJ1ZQotCi1oMk9wZW5PblN1Y2Nlc3MoKToKLWgyID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAotUEFTUyB2ZXJzaW9uQ2hhbmdlQ29tcGxldGUgaXMgdHJ1ZQotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxvY2tzLW9wZW4uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIwOWM3Mjg0NzE2ZjgyNGZlZDZlMGRl
M2NjZWY3NTI0MzhiNzk4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1v
cGVuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZXR2ZXJzaW9uLWJsb2Nrcy1vcGVu
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXR2ZXJzaW9uLWJs
b2Nrcy1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2ZjMWFlYTgzYzM0NTg1OGMxNDNkYWY1ODU3Yjg4OGZmYjc4Y2FjZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zZXR2ZXJzaW9uLWJsb2Nrcy1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDMyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24o
KSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVw
Z3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1UZXN0IHRoYXQgdHdvIHNldFZlcnNpb25zIGZy
b20gdGhlIHNhbWUgY29ubmVjdGlvbiBleGVjdXRlIHNlcXVlbnRpYWxseS4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYu
d2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIg
fHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAic2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVy
c2lvbi5odG1sIgotdmVyID0gMQotdmVyc2lvbkNoYW5nZUNvbXBsZXRlID0gZmFsc2UKLWluZGV4
ZWREQi5vcGVuKGRibmFtZSkKLQotaDFPcGVuT25TdWNjZXNzKCk6Ci1oMSA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQKLWgxLnNldFZlcnNpb24oU3RyaW5nKHZlcisrKSkKLWgxLnNldFZlcnNpb24oU3Ry
aW5nKHZlcisrKSkKLQotaDFTZXRWZXJzaW9uT25TdWNjZXNzMSgpOgotCi10cmFuc2FjdGlvbk9u
Q29tcGxldGUxKCk6Ci1oYWxmIGRvbmUKLXZlcnNpb25DaGFuZ2VDb21wbGV0ZSA9IHRydWUKLQot
aDFTZXRWZXJzaW9uT25TdWNjZXNzMigpOgotCi10cmFuc2FjdGlvbk9uQ29tcGxldGUyKCk6Ci1Q
QVNTIHZlcnNpb25DaGFuZ2VDb21wbGV0ZSBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja3Mtc2V0dmVyc2lvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDIxODhmYTA1OTVlNjNmZWM2YzExYTEx
MDJjZDUxOTMyMzk4MjA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxvY2tzLXNl
dHZlcnNpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NldHZlcnNpb24tYmxvY2tz
LXNldHZlcnNpb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90aHJlZS1zZXR2ZXJzaW9uLWNh
bGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVlLXNl
dHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxMTY2ODU2YzBmYjkzMmU4ZmEzZTFjZjgyMTUxNWE3ZTI5ZmUzZTE2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMjYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhv
ZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5l
ZWRlZCIgZXZlbnQgaW5zdGVhZC4KLVRocmVlIHNldFZlcnNpb24gY2FsbHMgYXJlIHF1ZXVlZCBj
b3JyZWN0bHkgLSBleGVyY2lzZXMgYW4gb3RoZXJ3aXNlLXVudGVzdGVkIGNvZGUgcGF0aAotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIg
fHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0lu
ZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWluZGV4ZWREQi5vcGVuKCd0aHJlZS1zZXR2
ZXJzaW9uLWNhbGxzJykKLWNvbm5lY3Rpb24uc2V0VmVyc2lvbigidmVyc2lvbiAwIikKLWluZGV4
ZWREQi5kZWxldGVEYXRhYmFzZSgidGhyZWUtc2V0dmVyc2lvbi1jYWxscyIpCi1jb25uZWN0aW9u
LnNldFZlcnNpb24oInZlcnNpb24gMSIpCi1jb25uZWN0aW9uLnNldFZlcnNpb24oInZlcnNpb24g
MiIpCi1zZXRWZXJzaW9uIDAKLXNldFZlcnNpb24gMCBjb21wbGV0ZQotc2V0VmVyc2lvbiAxCi1z
ZXRWZXJzaW9uIDEgY29tcGxldGUKLXNldFZlcnNpb24gMgotc2V0VmVyc2lvbiAyIGNvbXBsZXRl
Ci1maW5pc2hlZEFsbFNldFZlcnNpb25zID0gdHJ1ZQotU3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgZGF0
YWJhc2UKLVBBU1MgZmluaXNoZWRBbGxTZXRWZXJzaW9ucyBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdGhyZWUtc2V0dmVyc2lvbi1jYWxscy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjQ3Njg5NDEwODhlZGJkNTNhMDMyMjIwMDFl
NjkxMjg1MDliMmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RocmVlLXNldHZlcnNpb24tY2FsbHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RocmVlLXNldHZlcnNpb24tY2FsbHMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzZhNDkwNjUwNmJiNzY2MzYx
NWFjMjQ0M2EwZGU4ODg3MDhiZTVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNo
YW5nZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdp
bGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLVRl
c3QgYmVoYXZpb3Igd2hlbiB0aGUgc2FtZSBjb25uZWN0aW9uIGNhbGxzIHNldFZlcnNpb24gdHdp
Y2UKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5k
ZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNl
bGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1QQVNTIGluZGV4ZWREQiBpcyBu
b24tbnVsbC4KLVBBU1MgSURCVHJhbnNhY3Rpb24gaXMgbm9uLW51bGwuCi1zZWxmLnN0YXRlID0g
J3N0YXJ0aW5nJwotaW5kZXhlZERCLm9wZW4oJ3R3by12ZXJzaW9ucy1vbmUtY29ubmVjdGlvbicp
Ci1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXNlbGYuc3RhdGUgPSAwCi1kYi5zZXRWZXJzaW9u
KCd2ZXJzaW9uIDEnKQotZGIuc2V0VmVyc2lvbigndmVyc2lvbiAyJykKLXNldFZlcnNpb24oKSAj
MSBjYWxsYmFjawotc2VsZi5zdG9yZTEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdC1zdG9y
ZTEnKQotUEFTUyArK3NlbGYuc3RhdGUgaXMgMQotc2VsZi5zdG9yZTEucHV0KCdhYWEnLCAxMTEp
Ci1QQVNTICsrc2VsZi5zdGF0ZSBpcyAyCi1QQVNTICsrc2VsZi5zdGF0ZSBpcyAzCi1oYWxmd2F5
IHRoZXJlLi4uCi1zZXRWZXJzaW9uKCkgIzIgY2FsbGJhY2sKLVBBU1MgKytzZWxmLnN0YXRlIGlz
IDQKLXNlbGYuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKLXNl
bGYuc3RvcmUyLnB1dCgnYmJiJywgMjIyKQotUEFTUyArK3NlbGYuc3RhdGUgaXMgNQotUEFTUyAr
K3NlbGYuc3RhdGUgaXMgNgotUEFTUyBzZWxmLmRiLnZlcnNpb24gaXMgInZlcnNpb24gMiIKLXNl
bGYudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUyJ10p
Ci1zZWxmLnN0b3JlID0gc2VsZi50cmFucy5vYmplY3RTdG9yZSgndGVzdC1zdG9yZTEnKQotc2Vs
Zi5yZXEgPSBzZWxmLnN0b3JlLmdldCgxMTEpCi1QQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMg
ImFhYSIKLXNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicp
Ci1zZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKLVBBU1MgZXZlbnQudGFyZ2V0LnJlc3Vs
dCBpcyAiYmJiIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJz
aW9uLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJz
aW9uLWNoYW5nZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU2OTA5YTRm
NGIzOTE5YmFiNzRkMTY0MDVlODhlYzdjZDI2YzczMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28t
dmVyc2lvbi1jaGFuZ2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy90d28tdmVyc2lv
bi1jaGFuZ2VzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFu
Z2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGE1MjA4YWJiMjE2MGEwZmY1NzU3N2Y4OTUwZjc3
ZmVmYzExZWFiNWMuLmU1MDFkMTNlZjIyYmYwMmI3NmJhODhiZjQwMTgzNDYzYmE4MWViNTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFi
b3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJz
aW9uLWNoYW5nZS1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACi1DT05TT0xFIE1F
U1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBi
ZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDcxOiBVbmNhdWdodCBFcnJvcjogVGhpcyBzaG91bGQgKk5PVCogYmUg
Y2F1Z2h0IQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUyOiBVbmNhdWdodCBFcnJvcjogVGhpcyBz
aG91bGQgKk5PVCogYmUgY2F1Z2h0IQogRW5zdXJlIHRoYXQgYWJvcnRlZCBWRVJTSU9OX0NIQU5H
RSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlbHkgcm9sbGVkIGJhY2sKIAogT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgpAQCAtNywyNiArNiwyNSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQog
CiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBz
ZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsK
IAotaW5kZXhlZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWFib3J0JykKLWRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAotCi12Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCi1zZXRWZXJz
aW9uMSgpIGNhbGxiYWNrCi1QQVNTIHZjcmVxLnJlc3VsdCBpbnN0YW5jZW9mIElEQlRyYW5zYWN0
aW9uIGlzIHRydWUKK2RibmFtZSA9ICJ2ZXJzaW9uLWNoYW5nZS1hYm9ydC5odG1sIgoraW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK1BBU1Mg
dHJhbnMgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiBpcyB0cnVlCiBzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQogc2V0VmVyc2lvbjEgY29tcGxldGUKLVBBU1MgZGIudmVy
c2lvbiBpcyAidmVyc2lvbiAxIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIAotdmNyZXEgPSBkYi5z
ZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQordmNyZXEgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIp
CiBzZXRWZXJzaW9uMigpIGNhbGxiYWNrCi1QQVNTIGRiLnZlcnNpb24gaXMgInZlcnNpb24gMiIK
LVBBU1MgdmNyZXEucmVzdWx0IGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24gaXMgdHJ1ZQorUEFT
UyBkYi52ZXJzaW9uIGlzIDIKK1BBU1MgdmNyZXEudHJhbnNhY3Rpb24gaW5zdGFuY2VvZiBJREJU
cmFuc2FjdGlvbiBpcyB0cnVlCiBzdG9yZSA9IGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZTEn
KQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJykKIHJhaXNpbmcgZXhjZXB0
aW9uCiAKIHNldFZlcnNpb24yQWJvcnQoKSBjYWxsYmFjawotUEFTUyBkYi52ZXJzaW9uIGlzICJ2
ZXJzaW9uIDEiCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQorUEFTUyBkYi52ZXJz
aW9uIGlzIDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykgaXMg
dHJ1ZQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSBpcyBmYWxz
ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2
ZS1leHBlY3RlZC50eHQKaW5kZXggNDZmNjdlYTkyNzhlOTQ2MTZmM2Q2ODZmYjRjMmNlMmNmMjlh
ODZjZC4uNDY0NGEyMjgwYzZiMzAzYzQzNDhiNGY1NzAzNzIxZTkzZGU5MmM5YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9u
LWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDE1IEBACi1DT05TT0xF
IE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2ls
bCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotRW5z
dXJlIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGRvZXNuJ3QgcnVuIGNvbmN1cnJlbnRseSB3
aXRoIG90aGVyIHRyYW5zYWN0aW9ucworRW5zdXJlIHBlbmRpbmcgb3BlbiB3YWl0cyBmb3IgdmVy
c2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KIAogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdElu
ZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYu
T0luZGV4ZWREQjsKIAotc2VsZi5zdGF0ZSA9ICdzdGFydGluZycKLWluZGV4ZWREQi5vcGVuKCd2
ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKQotZGIgPSBldmVudC50YXJnZXQucmVzdWx0Ci1jYWxs
aW5nIHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNob3VsZCBydW4gaW1tZWRpYXRlbHkKLWRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24gMScpCitkYm5hbWUgPSAidmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
Lmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4o
ZGJuYW1lKQogY2FsbGluZyBvcGVuKCkgLSBjYWxsYmFjayBzaG91bGQgd2FpdCB1bnRpbCBWRVJT
SU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZQotaW5kZXhlZERCLm9wZW4oJ3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZScpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBzZXRWZXJzaW9u
KCkgY2FsbGJhY2sKIHN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24K
IHNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCcK
</data>

          </attachment>
      

    </bug>

</bugzilla>