<?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>63691</bug_id>
          
          <creation_ts>2011-06-30 01:34:26 -0700</creation_ts>
          <short_desc>WebSocket: Don&apos;t use script-tests for WebSocket tests</short_desc>
          <delta_ts>2011-06-30 02:31:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>62786</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>430250</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-06-30 01:34:26 -0700</bug_when>
    <thetext>Part of test clean-up (bug 62786).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430254</commentid>
    <comment_count>1</comment_count>
      <attachid>99257</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-06-30 01:47:15 -0700</bug_when>
    <thetext>Created attachment 99257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430258</commentid>
    <comment_count>2</comment_count>
      <attachid>99257</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-30 01:55:48 -0700</bug_when>
    <thetext>Comment on attachment 99257
Patch

rubber-stamped by me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430290</commentid>
    <comment_count>3</comment_count>
      <attachid>99257</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 02:31:16 -0700</bug_when>
    <thetext>Comment on attachment 99257
Patch

Clearing flags on attachment: 99257

Committed r90100: &lt;http://trac.webkit.org/changeset/90100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430291</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 02:31:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99257</attachid>
            <date>2011-06-30 01:47:15 -0700</date>
            <delta_ts>2011-06-30 02:31:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63691-20110630174713.patch</filename>
            <type>text/plain</type>
            <size>95271</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAwNTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiY2FhYTk5ODE1NTI5ODk0NGQwMjli
ODFhMmNjZGRhZmQ2ODk1ODg0Li4zZTM5NmEyNTE0ZDY0Y2RmOWRjZDg2ZGFiMTAxMWE5NGM3MjVh
Y2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMDYtMzAgIFl1dGEgS2l0YW11cmEgIDx5
dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViU29ja2V0OiBEb24ndCB1c2Ugc2NyaXB0LXRlc3RzIGZvciBXZWJTb2Nr
ZXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYzNjkxCisKKyAgICAgICAgTW92ZSBjb250ZW50IG9mIHNjcmlwdC10ZXN0cy9YWFguanMgaW50
byBYWFguaHRtbC4KKworICAgICAgICBObyBjaGFuZ2VzIHdlcmUgbWFkZSB0byBzY3JpcHQgY29k
ZS4gSGVuY2UsIHRoZXNlIHRlc3RzIGFyZSBub3QgdXNpbmcKKyAgICAgICAgd2luZG93LmpzVGVz
dEFzeW5jIGFuZCBmaW5pc2hKU1Rlc3QoKSBmb3Igbm93LiBJIHdpbGwgZml4IHRoaXMgbGF0ZXIu
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1o
YW5kbGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLWhh
bmRzaGFrZS1jcmFzaC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2JhZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFycy5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVkQW1vdW50
LWFmdGVyLWNsb3NlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
Y3Jvc3Mtb3JpZ2luLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
ZXJyb3ItZGV0ZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
ZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1za2lwLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9y
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZh
aWwtYnktY3Jvc3Mtb3JpZ2luLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQt
aGVhZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbnVsbC1j
aGFyYWN0ZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3Jp
cHQtdGVzdHMvVEVNUExBVEUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMv
YmFkLWhhbmRzaGFrZS1jcmFzaC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJz
LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Njcmlw
dC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLWVtcHR5LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5v
bi1hc2NpaS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9zY3JpcHQtdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuanM6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Nyb3NzLW9y
aWdpbi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
Y3JpcHQtdGVzdHMvZXJyb3ItZGV0ZWN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4t
YnVmZmVyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy9mcmFtZS1sZW5ndGgtc2tpcC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5n
ZS1yYW5kb21uZXNzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NjcmlwdC10ZXN0cy9oYW5kc2hha2UtZXJyb3IuanM6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWls
LWJ5LWNyb3NzLW9yaWdpbi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuanM6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hh
bmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvbG9uZy1pbnZhbGlk
LWhlYWRlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9zY3JpcHQtdGVzdHMvbnVsbC1jaGFyYWN0ZXIuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3NlbmQtdGhyb3cuanM6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3Nl
bmQuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2Ny
aXB0LXRlc3RzL3NpbXBsZS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvc3ViLXByb3RvY29sLXdpdGgtc3BhY2UuanM6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3N1
Yi1wcm90b2NvbC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9zY3JpcHQtdGVzdHMvdW5pY29kZS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmpz
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10
ZXN0cy91cmwtcGFyc2luZy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXdpdGgtY3JlZGVudGlhbC5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXdp
dGgtZW1wdHktcXVlcnkuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMv
dXJsLXdpdGgtcXVlcnkuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuanM6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3dlYnNv
Y2tldC1wcm90b2NvbC1pZ25vcmVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NlbmQtdGhyb3cuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zZW5kLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvc2ltcGxlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
c3ViLXByb3RvY29sLXdpdGgtc3BhY2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zdWItcHJvdG9jb2wuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy91bmljb2RlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvdXJsLXBhcnNpbmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtZW1wdHktcXVlcnkuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnku
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVy
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1l
dmVudC10YXJnZXQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93
ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5odG1sOgorCiAyMDExLTA2LTI5ICBKZXNzaWUgQmVy
bGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93biBp
cyB1bmltcGxlbWVudGVkIChXS1RSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5odG1s
CmluZGV4IGI4MGMxNjU3ZDJlZmRkN2RjZmUwZTEwMTQzMGE4ZmQ3Zjg4YmQ2ZjkuLjJkOGY1MTc2
YzZlMmYyZTA0MWQ0ZDg5NWFjNzRiMTZjMTM3M2NlZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2FsZXJ0LWluLWV2ZW50LWhhbmRsZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVu
dC1oYW5kbGVyLmh0bWwKQEAgLTgsNiArOCw0NiBAQAogPGJvZHk+CiA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIGV2ZW50IGhhbmRs
ZXIgY2FsbGVkIHNlcmlhbGx5LiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5j
dGlvbiBlbmRUZXN0KCkKK3sKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2VuZDIiKTsKKword3Mub25vcGVuID0g
ZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBkZWJ1ZygiRW50ZXIgb25tZXNzYWdl
OiAiICsgbWVzc2FnZUV2ZW50LmRhdGEpOworICAgIC8vIGFsZXJ0KCkgd2lsbCBzdXNwZW5kL3Jl
c3VtZSBXZWJTb2NrZXQuCisgICAgYWxlcnQoIm1lc3NhZ2UgaGFuZGxlZC4iICsgbWVzc2FnZUV2
ZW50LmRhdGEpOworICAgIGRlYnVnKCJMZWF2ZSBvbm1lc3NhZ2U6ICIgKyBtZXNzYWdlRXZlbnQu
ZGF0YSk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9z
ZWQiKTsKKyAgICBlbmRUZXN0KCk7Cit9OworCitkZWJ1ZygiYWxlcnQgd2lsbCBzdXNwZW5kL3Jl
c3VtZSBXZWJTb2NrZXQuIik7CithbGVydCgid2FpdGluZyBmb3Igb3BlbiIpOworZGVidWcoIm9u
b3BlbiBzaG91bGQgZmlyZSBsYXRlci4iKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0
bWwKaW5kZXggM2UzNWMyNWEyNWFmZjVlMWIxYTM2MTVmYTI3MGIyYzI0ZjQwZTkyZC4uY2Y0MDRj
M2MyZjE2N2YzNTQyMjMzMDU2NjAxNzlmOWRjYmQ0NjY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLWhhbmRzaGFrZS1jcmFzaC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2Ut
Y3Jhc2guaHRtbApAQCAtOCw2ICs4LDI3IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGRvZXNuJ3Qg
Y3Jhc2ggd2l0aCBiYWQgaGFuZHNoYWtlIG1lc3NhZ2UuIik7CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEy
Ny4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoIik7Cit3cy5v
bm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7Cit9
Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNs
b3NlZCIpOworICAgIGZpbmlzaCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFy
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1w
cm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwKaW5kZXggZWRhNjhmNTlkOTQ3Y2FlNWVkM2ZjNmJj
ODA5MDVhMGFlY2I4MGE0Mi4uZWFmZDJiZjg1YWRhMTc1MmFhMTVhMGFmZTdhMzMwMDk3NjBmMzUz
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFk
LXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwK
QEAgLTgsNiArOCwxOCBAQAogPGJvZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYmFkLXN1
Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBiYWQgc3ViLXByb3Rv
Y29sIG5hbWVzIGJ5IGNvbnRyb2wgY2hhcmFjdGVycy4iKTsKKworLy8gRmFpbHMgaWYgcHJvdG9j
b2wgY29udGFpbnMgYW4gY2hhcmFjdGVyIGxlc3MgdGhhbiBVKzAwMjAuCitzaG91bGRUaHJvdygn
bmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDAwIiknKTsK
K3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIs
ICJcdTAwMDkiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4x
Ojg4ODAvc2ltcGxlIiwgIlx1MDAwQSIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgi
d3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDBEIiknKTsKK3Nob3VsZFRocm93KCdu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwMUIiKScpOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK2lzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7
Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1w
dHkuaHRtbAppbmRleCBkOTQ1YTFhMWE1ZDY1ZGFmZGU4NWFmZDU5YzNhNDQ3ZWVlYjgzMTNiLi5h
MmU0YTlmMWRjZDhhMTJjOGE5YjY1YjIyMjBmNjQ2NWM4MmY0OGM5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLWVtcHR5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1
Yi1wcm90b2NvbC1lbXB0eS5odG1sCkBAIC04LDYgKzgsMTQgQEAKIDxib2R5PgogPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0
IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgKGVtcHR5KS4iKTsKKworLy8gRmFpbHMgaWYgcHJvdG9j
b2wgaXMgYW4gZW1wdHkgc3RyaW5nLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIiIpJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKzwvc2NyaXB0PgogPC9ib2R5PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
YmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWwKaW5kZXggZWYw
MmI0ODkyNmExNjE4ZmY1NjJkZmY3MGUwNTc0ZWIwZTA0YjNjMC4uMzUwN2VjNzJiOWUyNTM2NTU4
NjAwNTIxODhkMzYwN2ZjOGFkNTk0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5v
bi1hc2NpaS5odG1sCkBAIC04LDYgKzgsMjEgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBiYWQg
c3ViLXByb3RvY29sIG5hbWVzIGJ5IG5vbi1BU0NJSSBjaGFycy4iKTsKKworLy8gRmFpbHMgaWYg
cHJvdG9jb2wgY29udGFpbnMgYW4gY2hhcmFjdGVyIGdyZWF0ZXIgdGhhbiBVKzAwN0UuCitzaG91
bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUw
MDdGIiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgw
L3NpbXBsZSIsICJcdTAwODAiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1MzA0MiIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdl
YlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHVGRkZGIiknKTsKK3Nob3Vs
ZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdUZF
RkYiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAv
c2ltcGxlIiwgIlx1RkZGRSIpJyk7CisvLyBTdXJyb2dhdGUgcGFpcnMKK3Nob3VsZFRocm93KCdu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdUQ4NDBcdURDMEIi
KScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK2lzU3VjY2Vzc2Z1bGx5UGFy
c2VkKCk7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3Nl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9idWZmZXJlZEFt
b3VudC1hZnRlci1jbG9zZS5odG1sCmluZGV4IGVkOWQ2ZDBkYWMwZDY4MzBlZmM5YmY5OWVlNGYx
YWRhYTIwOGJhODMuLjc5Mzc5YjZlODU0MTQzNTM0MDA4YWVmOGU0MjJjZWYzNjAzZDM3NzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVk
QW1vdW50LWFmdGVyLWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbApAQCAtOCw2ICs4LDQx
IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9idWZmZXJlZEFtb3VudC1hZnRl
ci1jbG9zZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citk
ZXNjcmlwdGlvbigiV2ViIFNvY2tldCBidWZmZXJlZEFtb3VudCBhZnRlciBjbG9zZWQiKTsKKwor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGlzU3VjY2Vz
c2Z1bGx5UGFyc2VkKCk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCit2YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUi
KTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQuIik7
CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAg
ZGVidWcoIkNsb3NlZC4iKTsKKyAgICBzaG91bGRCZSgid3MucmVhZHlTdGF0ZSIsICIzIik7Cisg
ICAgc2hvdWxkQmUoIndzLmJ1ZmZlcmVkQW1vdW50IiwgIjAiKTsKKyAgICBzaG91bGRCZUZhbHNl
KCJ3cy5zZW5kKCdzZW5kIHRvIGNsb3NlZCBzb2NrZXQnKSIpOworICAgIC8vIElmIHRoZSBjb25u
ZWN0aW9uIGlzIGNsb3NlZCwgYnVmZmVyZWRBbW91bnQgYXR0cmlidXRlJ3MgdmFsdWUgd2lsbCBv
bmx5CisgICAgLy8gaW5jcmVhc2Ugd2l0aCBlYWNoIGNhbGwgdG8gdGhlIHNlbmQoKSBtZXRob2Qu
CisgICAgLy8gKHRoZSBudW1iZXIgZG9lcyBub3QgcmVzZXQgdG8gemVybyBvbmNlIHRoZSBjb25u
ZWN0aW9uIGNsb3NlcykuCisgICAgc2hvdWxkQmUoIndzLmJ1ZmZlcmVkQW1vdW50IiwgIjIzIik7
CisgICAgZW5kVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY3Jvc3Mtb3JpZ2luLmh0bWwKaW5kZXggZGU2ZmM0OTE3
NDc2MWM1YTU5ODVhNTZlMjg0NzU2ZTQ3ZTNjODRlOS4uM2MwYmE2ZWRmMGExMTdlOGNkZTI4NTFk
YTg4YmEzNjNiOWNkM2FhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvY3Jvc3Mtb3JpZ2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvY3Jvc3Mtb3JpZ2luLmh0bWwKQEAgLTgsNiArOCw1MyBAQAogPGJv
ZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY3Jvc3Mtb3JpZ2luLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWIgU29ja2V0
IENyb3NzIE9yaWdpbiB0ZXN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit2YXIgb3JpZ2lu
OworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBzaG91bGRCZSgib3JpZ2luIiwgJyJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAg
aXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3Zh
ciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvb3JpZ2luLXRlc3Qi
OworZGVidWcoImRvY3VtZW50LmRvbWFpbj0iICsgZG9jdW1lbnQuZG9tYWluKTsKK2RlYnVnKCJ3
cy51cmw9IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3Bl
biA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1l
c3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdpbiA9IG1lc3NhZ2VF
dmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24o
KQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7
CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAg
IGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxi
YWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKaW5kZXggNWJlNmIzN2U0OGMyZmVlMjA4
NWRlNzUyMDMwNjQ5NWU1ZWM5MDJkOC4uYWZlZDYxZWUwNGZiNTljNGViMTg3YTU0MzdkMDE5MjM1
MmVmZTk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvZXJyb3ItZGV0ZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvZXJyb3ItZGV0ZWN0Lmh0bWwKQEAgLTgsNiArOCwzNiBAQAogPGJvZHk+CiA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvZXJyb3ItZGV0ZWN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0
IGNvcnJlY3RseSBmaXJlIGVycm9yIGV2ZW50IGZvciB1bmtub3duIGZyYW1lIHR5cGUuIik7Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKwordmFyIGVycm9yQ291bnQgPSAwOworCitmdW5jdGlvbiBmaW5p
c2goKSB7CisgICAgc2hvdWxkQmUoImVycm9yQ291bnQiLCAiMjU1Iik7CisgICAgaXNTdWNjZXNz
ZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24t
ZnJhbWUtdHlwZSIpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJT
b2NrZXQgaXMgb3BlbiIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAg
ICBkZWJ1ZygicmVjZWl2ZWQ6IiArIGV2dC5kYXRhKTsKK307Cit3cy5vbmVycm9yID0gZnVuY3Rp
b24gKCkgeworICAgIGVycm9yQ291bnQgKz0gMTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24g
KCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZmluaXNoKCk7Cit9
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5o
dG1sCmluZGV4IDc3NzBmMWMyZGI5MWViYjFjZTY2N2JiZGU5NWRkYjM4OTVkN2ZjZWUuLjk5Yjhk
MDdjYTI2ZmQ5Y2RlNDFmZWRjNTAyMmI5OGRhNWIyZDI4MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1i
dWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9m
cmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWwKQEAgLTgsNiArOCw0MiBAQAogPGJv
ZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1
ZmZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNj
cmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgc2tpcCBsZW5ndGhlZCBmcmFt
ZSBldmVuIGlmIHJlY2VpdmVkIGRhdGEgaGFzIGluY29tcGxldGUgZnJhbWUuIik7CitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKwordmFyIHJlY2VpdmVkX21lc3NhZ2VzID0gW107Cit2YXIgZXhwZWN0ZWRf
bWVzc2FnZXMgPSBbImhlbGxvIl07CitmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgY2xlYXJUaW1l
b3V0KHRpbWVvdXRJRCk7CisgICAgZGVidWcocmVjZWl2ZWRfbWVzc2FnZXMubGVuZ3RoKTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY2VpdmVkX21lc3NhZ2VzOyBpKyspIHsKKyAgICAgICAg
ZGVidWcoInJlY2VpdmVkWyIgKyBpICsgIl09IiArIHJlY2VpdmVkX21lc3NhZ2VzW2ldKTsKKyAg
ICB9CisKKyAgICBzaG91bGRCZVRydWUoImFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3NhZ2Vz
LCBleHBlY3RlZF9tZXNzYWdlcykiKTsKKworICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czov
LzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4t
YnVmZmVyIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tl
dCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGRl
YnVnKCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworICAgIHJlY2VpdmVkX21lc3NhZ2VzLnB1c2go
ZXZ0LmRhdGEpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldl
YlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBmaW5pc2goKTsKK307Cit2YXIgdGltZW91dElEID0g
c2V0VGltZW91dCgiZmluaXNoKCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1za2lwLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtc2tpcC5o
dG1sCmluZGV4IGUwODI3YzY5NmViMDc3Mjc4MGJmZjdhOTliZWY3MTM2YWUzYjcyYWMuLmMzN2Ey
MWZiMzAwZGU1MDlmMjFkZWY4MGJlNjYwYjE5M2VkODg2ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1za2lwLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNr
aXAuaHRtbApAQCAtOCw2ICs4LDQyIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9mcmFtZS1sZW5ndGgtc2tpcC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgc2tp
cCBsZW5ndGhlZCBmcmFtZS4iKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit2YXIgcmVjZWl2ZWRf
bWVzc2FnZXMgPSBbXTsKK3ZhciBleHBlY3RlZF9tZXNzYWdlcyA9IFsiaGVsbG8iLCAid29ybGQi
XTsKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAg
ICBkZWJ1ZyhyZWNlaXZlZF9tZXNzYWdlcy5sZW5ndGgpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgcmVjZWl2ZWRfbWVzc2FnZXM7IGkrKykgeworICAgICAgICBkZWJ1ZygicmVjZWl2ZWRbIiAr
IGkgKyAiXT0iICsgcmVjZWl2ZWRfbWVzc2FnZXNbaV0pOworICAgIH0KKworICAgIHNob3VsZEJl
VHJ1ZSgiYXJlQXJyYXlzRXF1YWwocmVjZWl2ZWRfbWVzc2FnZXMsIGV4cGVjdGVkX21lc3NhZ2Vz
KSIpOworCisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vi
c29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1za2lwIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAo
KSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0g
ZnVuY3Rpb24gKGV2dCkgeworICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworICAg
IHJlY2VpdmVkX21lc3NhZ2VzLnB1c2goZXZ0LmRhdGEpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5j
dGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBmaW5pc2go
KTsKK307Cit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZmluaXNoKCkiLCAyMDAwKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hh
bmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0bWwKaW5k
ZXggZTI5ZjJiNzVmMTdjMGQ4MmM0ZGJhYTE1ZjE4MjEyMTE5NmU0YTkyNS4uODI1MTAyNzE0YmRi
YjFiZmZkOWIyNjdjMmIyOWE3M2FlMTFiMGZiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0bWwKQEAgLTgsNiArOCw1MiBAQAogPGJvZHk+CiA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCdI
YW5kc2hha2UgcmVxdWVzdCBzaG91bGQgY29udGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcy4n
KTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK3ZhciBjaGFsbGVuZ2UxOwordmFyIGNoYWxsZW5n
ZTI7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3VsZEJlRmFsc2UoJ2NoYWxsZW5n
ZTEgPT09IGNoYWxsZW5nZTInKTsKKyAgICBpZiAoY2hhbGxlbmdlMSA9PT0gY2hhbGxlbmdlMikK
KyAgICAgICAgZGVidWcoJ2NoYWxsZW5nZSB3YXMgJyArIGNoYWxsZW5nZTEpOworCisgICAgaXNT
dWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB1
cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1jaGFsbGVuZ2Un
OwordmFyIHdzMSA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKword3MxLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBjaGFsbGVuZ2UxID0gbWVzc2FnZUV2ZW50LmRhdGE7
CisgICAgd3MxLmNsb3NlKCk7Cit9CisKK3dzMS5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAg
IHZhciB3czIgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKKyAgICB3czIub25tZXNzYWdlID0gZnVu
Y3Rpb24obWVzc2FnZUV2ZW50KQorICAgIHsKKyAgICAgICAgY2hhbGxlbmdlMiA9IG1lc3NhZ2VF
dmVudC5kYXRhOworICAgICAgICB3czIuY2xvc2UoKTsKKyAgICB9CisKKyAgICB3czIub25jbG9z
ZSA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9Cit9CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmRzaGFrZS1lcnJvci5odG1sCmluZGV4IDU5NTM2OGQ0YTJlY2U5NjAzYmU0YzlkNjBjMjc4
MTRmZjhhNzg4MjMuLjBiMTY1YTI2ODc1Y2JiN2U5NmI4NGFiYjA0ZGMwZDJkMTRkNTI3MTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFr
ZS1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmRzaGFrZS1lcnJvci5odG1sCkBAIC04LDYgKzgsNTAgQEAKIDxib2R5PgogPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1lcnJvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiSGFuZHNoYWtlIGVycm9yIHRlc3Qi
KTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7Cisg
ICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1lcnJv
ciIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiVW5leHBl
Y3RlZGx5IENvbm5lY3RlZC4iKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VFdmVudCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkbHkgUmVjZWl2ZWQ6ICciICsg
bWVzc2FnZUV2ZW50LmRhdGEgKyAiJyIpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRlIiwg
IjMiKQorICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7
CisgICAgdGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7
CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0
Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1j
cm9zcy1vcmlnaW4uaHRtbAppbmRleCAzYzY2ZGU5MWEwOTU5NzE2OWQ2MzVhNWE0NjkwZWU5YmE4
MDE0NjJkLi4wNTI0MWE5NmZiZDk4NTI4ODk3NjI2NGZhMTk1NGNmNWUwNzc1ZmNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFp
bC1ieS1jcm9zcy1vcmlnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbApAQCAtOCw2ICs4
LDU3IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9oYW5kc2hha2UtZmFpbC1i
eS1jcm9zcy1vcmlnaW4uanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWIgU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVk
IGlmIG9yaWdpbiBtaXNtYXRjaGVzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKwordmFyIGNv
bm5lY3RlZCA9IGZhbHNlOwordmFyIG9yaWdpbjsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiY29ubmVjdGVkIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoIm9y
aWdpbiIpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGlzU3VjY2Vzc2Z1bGx5
UGFyc2VkKCk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCit2YXIgdXJsID0gIndzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2ZpeGVkLW9yaWdpbiI7CitkZWJ1ZygiZG9j
dW1lbnQuZG9tYWluPSIgKyBkb2N1bWVudC5kb21haW4pOworZGVidWcoIndzLnVybD0iICsgdXJs
KTsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24o
KQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKKyAgICBjb25uZWN0ZWQgPSB0cnVlOworfTsK
Kword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4g
PSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1Zygib3JpZ2luPSIgKyBvcmlnaW4pOworICAg
IHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRl
c3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRp
bWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30K
KwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hh
bmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5odG1sCmluZGV4IDQ3NDEyMDI2YjFl
MDVhMmU5ZmQ5NTdkYmJkMzJmNWE2NDMwNjcwODIuLjkzN2YwZGZhYjNjNjYwZmUxOTNjODA5OTZm
YWNhYzlmYWMwMTc4NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuaHRtbApA
QCAtOCw2ICs4LDU0IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9oYW5kc2hh
a2UtZmFpbC1ieS1uby1jci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CitkZXNjcmlwdGlvbignSGFuZHNoYWtlIHNob3VsZCBmYWlsIHdoZW4gdGhlIGZpcnN0
IGxpbmUgZG9lcyBub3QgZW5kIHdpdGggQ1JMRi4nKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCkKKwor
dmFyIGNvbm5lY3RlZCA9IGZhbHNlOwordmFyIG9yaWdpbjsKKworZnVuY3Rpb24gZW5kVGVzdCgp
IHsKKyAgICBzaG91bGRCZUZhbHNlKCdjb25uZWN0ZWQnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5l
ZCgnb3JpZ2luJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgaXNTdWNjZXNz
ZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB1cmwgPSAn
d3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
Y3InOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoJ0Nvbm5lY3RlZCcpOworICAgIGNvbm5lY3RlZCA9IHRydWU7Cit9
CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4g
PSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1Zygnb3JpZ2luID0gJyArIG9yaWdpbik7Cisg
ICAgd3MuY2xvc2UoKTsKK30KKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRU
ZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoJ1Rp
bWVkIG91dCAoc3RhdGUgPSAnICsgd3MucmVhZHlTdGF0ZSArICcpJyk7CisgICAgZW5kVGVzdCgp
OworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lb3V0Q2FsbGJhY2ssIDMwMDAp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJv
dG9jb2wtbWlzbWF0Y2guaHRtbAppbmRleCBkOGFlMjMxZGRjMzE4ZjhkNmQzNDIyMTk4MDgzYWM3
NGE5YmIxY2RlLi43NmRlZGJhYmY4ZGI2ZmUwZTVkZDk2NjcxNmUyNDcxNGM0ZDBjZmI1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2Ut
ZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlz
bWF0Y2guaHRtbApAQCAtOCw2ICs4LDUxIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2guanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2Vi
U29ja2V0IGhhbmRzaGFrZSBmYWlsIGlmIHN1YiBwcm90b2NvbCBuYW1lIG1pc21hdGNoZXMuIik7
CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworCit2YXIgcHJvdG9jb2w7CisKK2Z1bmN0aW9uIGVuZFRl
c3QoKQoreworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcm90b2NvbCIpOworICAgIGNsZWFyVGlt
ZW91dCh0aW1lb3V0SUQpOworICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29j
a2V0L3Rlc3RzL3Byb3RvY29sLXRlc3Q/cHJvdG9jb2w9YXZhaWxhYmxlLXByb3RvY29sIjsKK3Zh
ciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsLCAicmVxdWVzdHRpbmctcHJvdG9jb2wiKTsKKword3Mu
b25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKK307CisKK3dz
Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCit7CisgICAgcHJvdG9jb2wgPSBt
ZXNzYWdlRXZlbnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJh
Y2soKQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRl
KTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVP
dXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyLmh0bWwKaW5k
ZXggMjQxNmMxZWZlOWJiOTk0YjBmOTAyOWUzZGU0OGY2NmIwYmU5MWQ2MS4uYWU2ODZjM2YyNDAw
ZDAxNDQ5M2E2NmUxNGI2MDg4NTcyMzY3NTUyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbG9uZy1pbnZhbGlkLWhlYWRlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2xvbmctaW52YWxpZC1oZWFkZXIu
aHRtbApAQCAtOCw2ICs4LDMwIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9s
b25nLWludmFsaWQtaGVhZGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGdpdmVzIGVycm9ycyBv
biBsb25nIGludmFsaWQgdXBncmFkZSBoZWFkZXIuIik7CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKwor
ZnVuY3Rpb24gZmluaXNoKCkgeworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworCisgICAg
aXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3Zh
ciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L2xvbmctaW52YWxpZC1oZWFkZXIiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBk
ZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkg
eworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZmluaXNoKCk7Cit9Owor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImZpbmlzaCgpIiwgMjAwMCk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9udWxsLWNoYXJh
Y3Rlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbnVsbC1j
aGFyYWN0ZXIuaHRtbAppbmRleCA5NTQ0NTZjMGFkYjBkNTAzODM1NzhhZTdmMWM1ZmU4NDZhZWYy
ODBhLi5lYTFmNDdkNjc1YzVmNDViNjM2Mjg4ZDI0YzY4NjVjMmFhMjBkZjYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9udWxsLWNoYXJhY3Rlci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL251bGwtY2hh
cmFjdGVyLmh0bWwKQEAgLTgsNiArOCw0NSBAQAogPGJvZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvbnVsbC1jaGFyYWN0ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgdHJhbnNmZXIgbnVs
bCBjaGFyYWN0ZXIiKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIGZpbmlzaCgp
Cit7CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29j
a2V0L3Rlc3RzL2VjaG8iKTsKKy8vIFx4ZmYgaW4gc3RyaW5nIHdvdWxkIGJlIFx4YzNceGJmIG9u
IHdlYnNvY2tldCBjb25uZWN0aW9uIChVVEYtOCkKK3ZhciBleHBlY3RlZE1lc3NhZ2UgPSAiU2hv
dWxkIE5vdFx4ZmZcMFNwbGl0IjsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCJXZWJTb2NrZXQgb3BlbiIpOworICAgIHdzLnNlbmQoZXhwZWN0ZWRNZXNzYWdlKTsKK307
CisKK3ZhciBtc2c7Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7Cisg
ICAgbXNnID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgZGVidWcoIm1zZyBzaG91bGQgbm90IGJl
IHNwbGl0IGJ5IGZyYW1lIGNoYXIgXFx4ZmZcXDAiKTsKKyAgICBzaG91bGRCZSgibXNnIiwgImV4
cGVjdGVkTWVzc2FnZSIpOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJXZWJTb2NrZXQgY2xvc2VkIik7CisgICAgZmluaXNoKCk7
Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNWJhNzIxZWZmOWE2OGY1YTdhYjhjOGZjOGQ3YmM1YmMwNzlhMzE4
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0
IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRl
c3RzL2FsZXJ0LWluLWV2ZW50LWhhbmRsZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGM0NGFmOTJiNjIxOTk4MWNmNTYyZGQyY2MzODk2
ZmQ4YWEzMTFiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYWxl
cnQtaW4tZXZlbnQtaGFuZGxlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLWRl
c2NyaXB0aW9uKCJNYWtlIHN1cmUgZXZlbnQgaGFuZGxlciBjYWxsZWQgc2VyaWFsbHkuIik7Ci0K
LWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIGlz
U3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgfQot
fQotCi12YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9zZW5kMiIpOwotCi13cy5vbm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWco
IkNvbm5lY3RlZCIpOwotfTsKLQotd3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50
KQotewotICAgIGRlYnVnKCJFbnRlciBvbm1lc3NhZ2U6ICIgKyBtZXNzYWdlRXZlbnQuZGF0YSk7
Ci0gICAgLy8gYWxlcnQoKSB3aWxsIHN1c3BlbmQvcmVzdW1lIFdlYlNvY2tldC4KLSAgICBhbGVy
dCgibWVzc2FnZSBoYW5kbGVkLiIgKyBtZXNzYWdlRXZlbnQuZGF0YSk7Ci0gICAgZGVidWcoIkxl
YXZlIG9ubWVzc2FnZTogIiArIG1lc3NhZ2VFdmVudC5kYXRhKTsKLX07Ci0KLXdzLm9uY2xvc2Ug
PSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNsb3NlZCIpOwotICAgIGVuZFRlc3QoKTsKLX07
Ci0KLWRlYnVnKCJhbGVydCB3aWxsIHN1c3BlbmQvcmVzdW1lIFdlYlNvY2tldC4iKTsKLWFsZXJ0
KCJ3YWl0aW5nIGZvciBvcGVuIik7Ci1kZWJ1Zygib25vcGVuIHNob3VsZCBmaXJlIGxhdGVyLiIp
OwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYmFkLWhhbmRzaGFrZS1j
cmFzaC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10
ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwZjBjYzZiY2I1MDVkOGFkNDJlYTUwYjgyNGZjNmRjNWQ4OGVlMmIxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2Nr
ZXQgZG9lc24ndCBjcmFzaCB3aXRoIGJhZCBoYW5kc2hha2UgbWVzc2FnZS4iKTsKLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwotCi1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJz
ZWQoKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2UtY3Jh
c2giKTsKLXdzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygiV2ViU29ja2V0IGlz
IG9wZW4iKTsKLX07Ci13cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJT
b2NrZXQgaXMgY2xvc2VkIik7Ci0gICAgZmluaXNoKCk7Ci19OwotCi12YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYmFk
LXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjMDc3ODU3Yzc3M2U5MmQxMDdiMjUyZjc1NDkzZTQwNTZlM2UxNDI0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wt
Y2hhcnMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1kZXNjcmlwdGlvbigiVGVz
dCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBjb250cm9sIGNoYXJhY3RlcnMu
Iik7Ci0KLS8vIEZhaWxzIGlmIHByb3RvY29sIGNvbnRhaW5zIGFuIGNoYXJhY3RlciBsZXNzIHRo
YW4gVSswMDIwLgotc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvc2ltcGxlIiwgIlx1MDAwMCIpJyk7Ci1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6
Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDA5IiknKTsKLXNob3VsZFRocm93KCduZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwMEEiKScpOwotc2hv
dWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1
MDAwRCIpJyk7Ci1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC9zaW1wbGUiLCAiXHUwMDFCIiknKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Ci1pc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHku
anMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMv
YmFkLXN1Yi1wcm90b2NvbC1lbXB0eS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDhlNTMyZjE2NzY2YTBmOWI1ZDAxN2ZiZjJjYjFiODFmZTZhZWY2YS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS5qcworKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0IGJh
ZCBzdWItcHJvdG9jb2wgbmFtZXMgKGVtcHR5KS4iKTsKLQotLy8gRmFpbHMgaWYgcHJvdG9jb2wg
aXMgYW4gZW1wdHkgc3RyaW5nLgotc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3
LjAuMC4xOjg4ODAvc2ltcGxlIiwgIiIpJyk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5v
bi1hc2NpaS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Njcmlw
dC10ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjJhNjhkNWVhZjAzNzViZjU2ZDlmYWRkYmU5OTk1NjU5ZWFlZjM3OC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1u
b24tYXNjaWkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1kZXNjcmlwdGlvbigi
VGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBub24tQVNDSUkgY2hhcnMu
Iik7Ci0KLS8vIEZhaWxzIGlmIHByb3RvY29sIGNvbnRhaW5zIGFuIGNoYXJhY3RlciBncmVhdGVy
IHRoYW4gVSswMDdFLgotc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4x
Ojg4ODAvc2ltcGxlIiwgIlx1MDA3RiIpJyk7Ci1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgi
d3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDgwIiknKTsKLXNob3VsZFRocm93KCdu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTMwNDIiKScpOwot
c2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwg
Ilx1RkZGRiIpJyk7Ci1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6
ODg4MC9zaW1wbGUiLCAiXHVGRUZGIiknKTsKLXNob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdUZGRkUiKScpOwotLy8gU3Vycm9nYXRlIHBh
aXJzCi1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1w
bGUiLCAiXHVEODQwXHVEQzBCIiknKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Ci1pc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNs
b3NlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRl
c3RzL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0YTg3Yzc1ODI0MGM3Nzk2MDM1MzcwMDRlYWUxYjFhYTM5N2FlZDVlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9idWZmZXJlZEFtb3VudC1hZnRlci1j
bG9zZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJXZWIg
U29ja2V0IGJ1ZmZlcmVkQW1vdW50IGFmdGVyIGNsb3NlZCIpOwotCi1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLQotZnVuY3Rpb24gZW5kVGVzdCgpCi17Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndz
Oi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZSIpOwotCi13cy5vbm9wZW4g
PSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKLSAgICB3cy5jbG9zZSgp
OwotfTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ2xvc2VkLiIp
OwotICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRlIiwgIjMiKTsKLSAgICBzaG91bGRCZSgid3Mu
YnVmZmVyZWRBbW91bnQiLCAiMCIpOwotICAgIHNob3VsZEJlRmFsc2UoIndzLnNlbmQoJ3NlbmQg
dG8gY2xvc2VkIHNvY2tldCcpIik7Ci0gICAgLy8gSWYgdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2Vk
LCBidWZmZXJlZEFtb3VudCBhdHRyaWJ1dGUncyB2YWx1ZSB3aWxsIG9ubHkKLSAgICAvLyBpbmNy
ZWFzZSB3aXRoIGVhY2ggY2FsbCB0byB0aGUgc2VuZCgpIG1ldGhvZC4KLSAgICAvLyAodGhlIG51
bWJlciBkb2VzIG5vdCByZXNldCB0byB6ZXJvIG9uY2UgdGhlIGNvbm5lY3Rpb24gY2xvc2VzKS4K
LSAgICBzaG91bGRCZSgid3MuYnVmZmVyZWRBbW91bnQiLCAiMjMiKTsKLSAgICBlbmRUZXN0KCk7
Ci19OwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9jcm9zcy1vcmln
aW4uanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVz
dHMvY3Jvc3Mtb3JpZ2luLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTg5MWFk
ODhkNmY4ZmI4YzFhNmM0ODBlMDRiNmVlZWJkNjg5YTY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NjcmlwdC10ZXN0cy9jcm9zcy1vcmlnaW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSw0
NiArMCwwIEBACi1kZXNjcmlwdGlvbigiV2ViIFNvY2tldCBDcm9zcyBPcmlnaW4gdGVzdCIpOwot
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIG9yaWdpbjsKLQotZnVuY3Rpb24gZW5kVGVzdCgp
Ci17Ci0gICAgc2hvdWxkQmUoIm9yaWdpbiIsICciaHR0cDovLzEyNy4wLjAuMTo4MDAwIicpOwot
ICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgdXJsID0gIndzOi8vbG9jYWxob3N0
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL29yaWdpbi10ZXN0IjsKLWRlYnVnKCJkb2N1bWVudC5kb21h
aW49IiArIGRvY3VtZW50LmRvbWFpbik7Ci1kZWJ1Zygid3MudXJsPSIgKyB1cmwpOwotdmFyIHdz
ID0gbmV3IFdlYlNvY2tldCh1cmwpOwotCi13cy5vbm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAg
ZGVidWcoIkNvbm5lY3RlZCIpOwotfTsKLQotd3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3Nh
Z2VFdmVudCkKLXsKLSAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQuZGF0YTsKLSAgICB3cy5jbG9z
ZSgpOwotfTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBlbmRUZXN0KCk7Ci19
OwotCi1mdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQotewotICAgIGRlYnVnKCJUaW1lZCBvdXQg
aW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLXZhciB0
aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7Ci0KLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2Vycm9yLWRldGVjdC5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9lcnJvci1kZXRlY3Qu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZGQxMDI4NGQzNDAxZmRkY2IxNmZk
YjViYTVhYTk1NDE4OGFiOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRl
c3RzL2Vycm9yLWRldGVjdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWRlc2Ny
aXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBmaXJlIGVycm9yIGV2ZW50IGZv
ciB1bmtub3duIGZyYW1lIHR5cGUuIik7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIGVycm9y
Q291bnQgPSAwOwotCi1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgc2hvdWxkQmUoImVycm9yQ291
bnQiLCAiMjU1Iik7Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLXZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZSIpOwotd3Mub25vcGVuID0gZnVu
Y3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOwotfTsKLXdzLm9ubWVz
c2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKLSAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIGV2dC5kYXRh
KTsKLX07Ci13cy5vbmVycm9yID0gZnVuY3Rpb24gKCkgewotICAgIGVycm9yQ291bnQgKz0gMTsK
LX07Ci13cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMg
Y2xvc2VkIik7Ci0gICAgZmluaXNoKCk7Ci19OwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2ZyYW1lLWxlbmd0
aC1sb25nZXItdGhhbi1idWZmZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJk
NzE4NWFjNjYyY2ViZTA3NTJjMDU4ZTdkYjEyODljNGUyOTYyZTUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1kZXNjcmlwdGlvbigiTWFrZSBzdXJl
IFdlYlNvY2tldCBjb3JyZWN0bHkgc2tpcCBsZW5ndGhlZCBmcmFtZSBldmVuIGlmIHJlY2VpdmVk
IGRhdGEgaGFzIGluY29tcGxldGUgZnJhbWUuIik7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFy
IHJlY2VpdmVkX21lc3NhZ2VzID0gW107Ci12YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbImhlbGxv
Il07Ci1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Ci0g
ICAgZGVidWcocmVjZWl2ZWRfbWVzc2FnZXMubGVuZ3RoKTsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHJlY2VpdmVkX21lc3NhZ2VzOyBpKyspIHsKLSAgICAgICAgZGVidWcoInJlY2VpdmVkWyIg
KyBpICsgIl09IiArIHJlY2VpdmVkX21lc3NhZ2VzW2ldKTsKLSAgICB9Ci0KLSAgICBzaG91bGRC
ZVRydWUoImFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3NhZ2VzLCBleHBlY3RlZF9tZXNzYWdl
cykiKTsKLQotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotCi12YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dl
YnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyIik7Ci13cy5vbm9w
ZW4gPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7Ci19Owot
d3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgewotICAgIGRlYnVnKCJyZWNlaXZlZDoiICsg
ZXZ0LmRhdGEpOwotICAgIHJlY2VpdmVkX21lc3NhZ2VzLnB1c2goZXZ0LmRhdGEpOwotfTsKLXdz
Lm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQi
KTsKLSAgICBmaW5pc2goKTsKLX07Ci12YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZmluaXNo
KCkiLCAyMDAwKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvZnJh
bWUtbGVuZ3RoLXNraXAuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9zY3JpcHQtdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3YmVlYWQyOGM1MzViMTk3NWM2YTVmNzA1NmNmODdmODRhODc1MDUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2ZyYW1lLWxlbmd0aC1za2lwLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBX
ZWJTb2NrZXQgY29ycmVjdGx5IHNraXAgbGVuZ3RoZWQgZnJhbWUuIik7Ci1pZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKLQotdmFyIHJlY2VpdmVkX21lc3NhZ2VzID0gW107Ci12YXIgZXhwZWN0ZWRfbWVzc2Fn
ZXMgPSBbImhlbGxvIiwgIndvcmxkIl07Ci1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgY2xlYXJU
aW1lb3V0KHRpbWVvdXRJRCk7Ci0gICAgZGVidWcocmVjZWl2ZWRfbWVzc2FnZXMubGVuZ3RoKTsK
LSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY2VpdmVkX21lc3NhZ2VzOyBpKyspIHsKLSAgICAg
ICAgZGVidWcoInJlY2VpdmVkWyIgKyBpICsgIl09IiArIHJlY2VpdmVkX21lc3NhZ2VzW2ldKTsK
LSAgICB9Ci0KLSAgICBzaG91bGRCZVRydWUoImFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3Nh
Z2VzLCBleHBlY3RlZF9tZXNzYWdlcykiKTsKLQotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtc2tpcCIpOwot
d3Mub25vcGVuID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIp
OwotfTsKLXdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKLSAgICBkZWJ1ZygicmVjZWl2
ZWQ6IiArIGV2dC5kYXRhKTsKLSAgICByZWNlaXZlZF9tZXNzYWdlcy5wdXNoKGV2dC5kYXRhKTsK
LX07Ci13cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMg
Y2xvc2VkIik7Ci0gICAgZmluaXNoKCk7Ci19OwotdmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQo
ImZpbmlzaCgpIiwgMjAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRl
c3RzL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdlLXJh
bmRvbW5lc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViYzEyMDAwNWNlZTll
ZDQxNzEwOTFlMTI4MzJkZjcwNzI2NWUyZjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
c2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDQ1ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdIYW5kc2hha2UgcmVxdWVzdCBzaG91
bGQgY29udGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcy4nKTsKLQotaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0KLXZhciBjaGFsbGVuZ2UxOwotdmFyIGNoYWxsZW5nZTI7Ci0KLWZ1bmN0aW9uIGVuZFRl
c3QoKQotewotICAgIHNob3VsZEJlRmFsc2UoJ2NoYWxsZW5nZTEgPT09IGNoYWxsZW5nZTInKTsK
LSAgICBpZiAoY2hhbGxlbmdlMSA9PT0gY2hhbGxlbmdlMikKLSAgICAgICAgZGVidWcoJ2NoYWxs
ZW5nZSB3YXMgJyArIGNoYWxsZW5nZTEpOwotCi0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB1cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1jaGFsbGVuZ2UnOwotdmFyIHdzMSA9IG5ldyBXZWJT
b2NrZXQodXJsKTsKLQotd3MxLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKLXsK
LSAgICBjaGFsbGVuZ2UxID0gbWVzc2FnZUV2ZW50LmRhdGE7Ci0gICAgd3MxLmNsb3NlKCk7Ci19
Ci0KLXdzMS5vbmNsb3NlID0gZnVuY3Rpb24oKQotewotICAgIHZhciB3czIgPSBuZXcgV2ViU29j
a2V0KHVybCk7Ci0KLSAgICB3czIub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQot
ICAgIHsKLSAgICAgICAgY2hhbGxlbmdlMiA9IG1lc3NhZ2VFdmVudC5kYXRhOwotICAgICAgICB3
czIuY2xvc2UoKTsKLSAgICB9Ci0KLSAgICB3czIub25jbG9zZSA9IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIGVuZFRlc3QoKTsKLSAgICB9Ci19Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1lcnJvci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9oYW5kc2hha2UtZXJyb3IuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4MWIwNGUzOGYxMTEwMDdlMGRhNGU1MDIxODY3MmI0
N2NmYjZjNjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRz
aGFrZS1lcnJvci5qcworKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLWRlc2NyaXB0aW9u
KCJIYW5kc2hha2UgZXJyb3IgdGVzdCIpOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1m
dW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGNs
ZWFyVGltZW91dCh0aW1lb3V0SUQpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0K
LX0KLQotdmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yIik7Ci0KLXdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKLXsK
LSAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkbHkgQ29ubmVjdGVkLiIpOwotfTsKLQotd3Mub25t
ZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQotewotICAgIHRlc3RGYWlsZWQoIlVuZXhw
ZWN0ZWRseSBSZWNlaXZlZDogJyIgKyBtZXNzYWdlRXZlbnQuZGF0YSArICInIik7Ci19OwotCi13
cy5vbmNsb3NlID0gZnVuY3Rpb24oKQotewotICAgIGRlYnVnKCJDbG9zZWQuIik7Ci0gICAgc2hv
dWxkQmUoIndzLnJlYWR5U3RhdGUiLCAiMyIpCi0gICAgZW5kVGVzdCgpOwotfTsKLQotZnVuY3Rp
b24gdGltZU91dENhbGxiYWNrKCkKLXsKLSAgICB0ZXN0RmFpbGVkKCJUaW1lZCBvdXQgaW4gc3Rh
dGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLXZhciB0aW1lb3V0
SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7Ci0KLXZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3NzLW9yaWdpbi5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9o
YW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQ2Y2M3MDNlNDRlMDc2Y2QyODM3ZjE1YzBhNTgzMmJiZjE1NmEzNjcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3Nz
LW9yaWdpbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLWRlc2NyaXB0aW9uKCJN
YWtlIHN1cmUgV2ViIFNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCBpZiBvcmlnaW4gbWlzbWF0Y2hl
cy4iKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciBjb25uZWN0ZWQgPSBmYWxzZTsKLXZh
ciBvcmlnaW47Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIHNob3VsZEJlRmFsc2UoImNv
bm5lY3RlZCIpOwotICAgIHNob3VsZEJlVW5kZWZpbmVkKCJvcmlnaW4iKTsKLSAgICBjbGVhclRp
bWVvdXQodGltZW91dElEKTsKLSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNv
Y2tldC90ZXN0cy9maXhlZC1vcmlnaW4iOwotZGVidWcoImRvY3VtZW50LmRvbWFpbj0iICsgZG9j
dW1lbnQuZG9tYWluKTsKLWRlYnVnKCJ3cy51cmw9IiArIHVybCk7Ci12YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KHVybCk7Ci0KLXdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ29u
bmVjdGVkIik7Ci0gICAgY29ubmVjdGVkID0gdHJ1ZTsKLX07Ci0KLXdzLm9ubWVzc2FnZSA9IGZ1
bmN0aW9uIChtZXNzYWdlRXZlbnQpCi17Ci0gICAgb3JpZ2luID0gbWVzc2FnZUV2ZW50LmRhdGE7
Ci0gICAgZGVidWcoIm9yaWdpbj0iICsgb3JpZ2luKTsKLSAgICB3cy5jbG9zZSgpOwotfTsKLQot
d3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBlbmRUZXN0KCk7Ci19OwotCi1mdW5jdGlv
biB0aW1lT3V0Q2FsbGJhY2soKQotewotICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIg
KyB3cy5yZWFkeVN0YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLXZhciB0aW1lb3V0SUQgPSBz
ZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWls
LWJ5LW5vLWNyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTBmMDM5ZjFlNjE5
NTI0MTJmYzEzNTFlMjYwZjU5YjY5Y2ZjNjI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5qcworKysgL2Rldi9udWxsCkBA
IC0xLDQ3ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdIYW5kc2hha2Ugc2hvdWxkIGZhaWwgd2hlbiB0
aGUgZmlyc3QgbGluZSBkb2VzIG5vdCBlbmQgd2l0aCBDUkxGLicpOwotCi1pZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKQotCi12YXIgY29ubmVjdGVkID0gZmFsc2U7Ci12YXIgb3JpZ2luOwotCi1mdW5jdGlvbiBl
bmRUZXN0KCkgewotICAgIHNob3VsZEJlRmFsc2UoJ2Nvbm5lY3RlZCcpOwotICAgIHNob3VsZEJl
VW5kZWZpbmVkKCdvcmlnaW4nKTsKLSAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKLSAgICBp
c1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFy
IHVybCA9ICd3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFp
bC1ieS1uby1jcic7Ci12YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Ci0KLXdzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygnQ29ubmVjdGVkJyk7Ci0gICAgY29ubmVjdGVkID0g
dHJ1ZTsKLX0KLQotd3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQotewotICAg
IG9yaWdpbiA9IG1lc3NhZ2VFdmVudC5kYXRhOwotICAgIGRlYnVnKCdvcmlnaW4gPSAnICsgb3Jp
Z2luKTsKLSAgICB3cy5jbG9zZSgpOwotfQotCi13cy5vbmNsb3NlID0gZnVuY3Rpb24oKQotewot
ICAgIGVuZFRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGltZW91dENhbGxiYWNrKCkKLXsKLSAgICBk
ZWJ1ZygnVGltZWQgb3V0IChzdGF0ZSA9ICcgKyB3cy5yZWFkeVN0YXRlICsgJyknKTsKLSAgICBl
bmRUZXN0KCk7Ci19Ci0KLXZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVvdXRDYWxsYmFj
aywgMzAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRz
aGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWIt
cHJvdG9jb2wtbWlzbWF0Y2guanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3Mjhh
YWIyOTM2YjJjMWZjMGJhNzliMmYwZGVlYzgyZjhkYWNkM2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNt
YXRjaC5qcworKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0
IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbCBpZiBzdWIgcHJvdG9jb2wgbmFtZSBtaXNtYXRjaGVz
LiIpOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIHByb3RvY29sOwotCi1mdW5jdGlvbiBl
bmRUZXN0KCkKLXsKLSAgICBzaG91bGRCZVVuZGVmaW5lZCgicHJvdG9jb2wiKTsKLSAgICBjbGVh
clRpbWVvdXQodGltZW91dElEKTsKLSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dl
YnNvY2tldC90ZXN0cy9wcm90b2NvbC10ZXN0P3Byb3RvY29sPWF2YWlsYWJsZS1wcm90b2NvbCI7
Ci12YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCwgInJlcXVlc3R0aW5nLXByb3RvY29sIik7Ci0K
LXdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Ci19Owot
Ci13cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQotewotICAgIHByb3RvY29s
ID0gbWVzc2FnZUV2ZW50LmRhdGE7Ci0gICAgd3MuY2xvc2UoKTsKLX07Ci0KLXdzLm9uY2xvc2Ug
PSBmdW5jdGlvbigpCi17Ci0gICAgZW5kVGVzdCgpOwotfTsKLQotZnVuY3Rpb24gdGltZU91dENh
bGxiYWNrKCkKLXsKLSAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlT
dGF0ZSk7Ci0gICAgZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0
aW1lT3V0Q2FsbGJhY2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Njcmlw
dC10ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2xvbmctaW52YWxpZC1oZWFkZXIuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NGUxOWU0MjZhMjUyODE2NWRjMzg0YzJlMTQ0ODYz
ZDhhZWIyNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL2xvbmct
aW52YWxpZC1oZWFkZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1kZXNjcmlw
dGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBnaXZlcyBlcnJvcnMgb24gbG9uZyBpbnZhbGlkIHVw
Z3JhZGUgaGVhZGVyLiIpOwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLWZ1bmN0aW9uIGZpbmlzaCgp
IHsKLSAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKLQotICAgIGlzU3VjY2Vzc2Z1bGx5UGFy
c2VkKCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgd3MgPSBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVh
ZGVyIik7Ci13cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBp
cyBvcGVuIik7Ci19Owotd3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygiV2Vi
U29ja2V0IGlzIGNsb3NlZCIpOwotICAgIGZpbmlzaCgpOwotfTsKLXZhciB0aW1lb3V0SUQgPSBz
ZXRUaW1lb3V0KCJmaW5pc2goKSIsIDIwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy9udWxsLWNoYXJhY3Rlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9udWxsLWNoYXJhY3Rlci5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2UyYjVmMTEwYzI4YTdjMGQzY2E1ZDM3M2FhNmJjYmRmNjQ1
MWZkOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvbnVsbC1jaGFy
YWN0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1kZXNjcmlwdGlvbigiTWFr
ZSBzdXJlIFdlYlNvY2tldCB0cmFuc2ZlciBudWxsIGNoYXJhY3RlciIpOwotCi1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLQotZnVuY3Rpb24gZmluaXNoKCkKLXsKLSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHdzID0gbmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNobyIpOwotLy8gXHhmZiBp
biBzdHJpbmcgd291bGQgYmUgXHhjM1x4YmYgb24gd2Vic29ja2V0IGNvbm5lY3Rpb24gKFVURi04
KQotdmFyIGV4cGVjdGVkTWVzc2FnZSA9ICJTaG91bGQgTm90XHhmZlwwU3BsaXQiOwotCi13cy5v
bm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIldlYlNvY2tldCBvcGVuIik7Ci0gICAg
d3Muc2VuZChleHBlY3RlZE1lc3NhZ2UpOwotfTsKLQotdmFyIG1zZzsKLXdzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKLXsKLSAgICBtc2cgPSBtZXNzYWdlRXZlbnQuZGF0YTsK
LSAgICBkZWJ1ZygibXNnIHNob3VsZCBub3QgYmUgc3BsaXQgYnkgZnJhbWUgY2hhciBcXHhmZlxc
MCIpOwotICAgIHNob3VsZEJlKCJtc2ciLCAiZXhwZWN0ZWRNZXNzYWdlIik7Ci0gICAgd3MuY2xv
c2UoKTsKLX07Ci0KLXdzLm9uY2xvc2UgPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIldlYlNv
Y2tldCBjbG9zZWQiKTsKLSAgICBmaW5pc2goKTsKLX07Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvc2NyaXB0LXRlc3RzL3NlbmQtdGhyb3cuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvc2VuZC10aHJvdy5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTJhOWNjOGQzY2E5NzRmN2Y4NWU2ZWRhNDhlOTcwOGU2N2Q1NjRi
Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvc2VuZC10aHJvdy5q
cworKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJXZWIgU29ja2V0
IHNlbmQgdGVzdCIpOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotZnVuY3Rpb24gZW5kVGVzdCgp
Ci17Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKLSAgICBjbGVhclRpbWVvdXQodGltZW91
dElEKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3NlbmQiKTsKLQotdmFyIEZJ
UlNUX01FU1NBR0VfVE9fU0VORCA9IHsKLSAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93
ICJQaWNrbGVzIjsgfQotfTsKLS8vIGRhdGEgbmVlZHMgdG8gYmUgZ2xvYmFsIHRvIGJlIGFjY2Vz
c2JpbGUgZnJvbSBzaG91bGRCZSgpLgotdmFyIGRhdGEgPSAiIjsKLQotd3Mub25vcGVuID0gZnVu
Y3Rpb24oKQotewotICAgIGRlYnVnKCJDb25uZWN0ZWQuIik7Ci0gICAgdHJ5IHsKLSAgICAgICAg
d3Muc2VuZChGSVJTVF9NRVNTQUdFX1RPX1NFTkQpOwotICAgIH0gY2F0Y2ggKGV4KSB7Ci0gICAg
ICAgIGRlYnVnKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZXgpOwotICAgIH0KLSAgICB3cy5jbG9z
ZSgpOwotfTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ2xvc2Vk
LiIpOwotICAgIGVuZFRlc3QoKTsKLX07Ci0KLWZ1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCi17
Ci0gICAgdGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7
Ci0gICAgZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0
Q2FsbGJhY2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0
cy9zZW5kLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0
LXRlc3RzL3NlbmQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjYTgyZTM1NTg1
MWY5MWRhN2Y4MGE4OGE4N2QyZDE2NDgwNGZkNGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvc2NyaXB0LXRlc3RzL3NlbmQuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1k
ZXNjcmlwdGlvbigiV2ViIFNvY2tldCBzZW5kIHRlc3QiKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0g
ICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQot
Ci12YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90
ZXN0cy9zZW5kIik7Ci0KLXZhciBGSVJTVF9NRVNTQUdFX1RPX1NFTkQgPSAiVGhpcyBpcyB0aGUg
Zmlyc3QgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBzZXJ2ZXIuIjsKLXZhciBTRUNPTkRfTUVTU0FH
RV9UT19TRU5EID0gIlRoaXMgaXMgdGhlIHNlY29uZC4iOwotLy8gZGF0YSBuZWVkcyB0byBiZSBn
bG9iYWwgdG8gYmUgYWNjZXNzYmlsZSBmcm9tIHNob3VsZEJlKCkuCi12YXIgZGF0YSA9ICIiOwot
Ci13cy5vbm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKLSAg
ICB3cy5zZW5kKEZJUlNUX01FU1NBR0VfVE9fU0VORCk7Ci19OwotCi13cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihtZXNzYWdlRXZlbnQpCi17Ci0gICAgLy8gVGhlIHNlcnZlciBzaG91bGQgZWNobyBi
YWNrIHRoZSBmaXJzdCBtZXNzYWdlLgotICAgIGRhdGEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKLSAg
ICBzaG91bGRCZSgiZGF0YSIsICJGSVJTVF9NRVNTQUdFX1RPX1NFTkQiKTsKLSAgICB3cy5vbm1l
c3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpIHsKLSAgICAgICAgLy8gVGhlIHNlcnZlciBz
aG91bGQgZWNobyBiYWNrIHRoZSBzZWNvbmQgbWVzc2FnZS4KLSAgICAgICAgZGF0YSA9IG1lc3Nh
Z2VFdmVudC5kYXRhOwotICAgICAgICBzaG91bGRCZSgiZGF0YSIsICJTRUNPTkRfTUVTU0FHRV9U
T19TRU5EIik7Ci0gICAgfTsKLSAgICB3cy5zZW5kKFNFQ09ORF9NRVNTQUdFX1RPX1NFTkQpOwot
fTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ2xvc2VkLiIpOwot
ICAgIGVuZFRlc3QoKTsKLX07Ci0KLWZ1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCi17Ci0gICAg
dGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7Ci0gICAg
ZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJh
Y2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9zaW1w
bGUuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVz
dHMvc2ltcGxlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGY2YzhmZTA0MzMz
YjY1MTIzZDIxNzJmZjRlODQyNzI4ZWVlYTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy9zaW1wbGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1k
ZXNjcmlwdGlvbigiU2ltcGxlIFdlYiBTb2NrZXQgdGVzdCIpOwotCi1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOwotfQotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOwotICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0KLX0KLQotdmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlIik7Ci1kZWJ1ZygiQ3JlYXRlZCBhIHNvY2tldCB0
byAnIiArIHdzLlVSTCArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlICsgIi4iKTsK
LQotd3Mub25vcGVuID0gZnVuY3Rpb24oKQotewotICAgIGRlYnVnKCJDb25uZWN0ZWQ7IHJlYWR5
U3RhdGUgIiArIHdzLnJlYWR5U3RhdGUpOwotfTsKLQotd3Mub25tZXNzYWdlID0gZnVuY3Rpb24o
bWVzc2FnZUV2ZW50KQotewotICAgIGRlYnVnKCJSZWNlaXZlZDogJyIgKyBtZXNzYWdlRXZlbnQu
ZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlKTsKLX07Ci0KLXdzLm9uY2xv
c2UgPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNsb3NlZDsgcmVhZHlTdGF0ZSAiICsgd3Mu
cmVhZHlTdGF0ZSArICIuIik7Ci0gICAgZW5kVGVzdCgpOwotfTsKLQotZnVuY3Rpb24gdGltZU91
dENhbGxiYWNrKCkKLXsKLSAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVh
ZHlTdGF0ZSk7Ci0gICAgZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGltZW91
dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Nj
cmlwdC10ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFj
ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZiNDExYTVkNzljMjQxZGFiN2Jj
Yjc0NjY5ZmU1YTkxZTg2NjU4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQt
dGVzdHMvc3ViLXByb3RvY29sLXdpdGgtc3BhY2UuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0NCAr
MCwwIEBACi1kZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0
aCBzdWIgcHJvdG9jb2wgY29udGFpbnMgc3BhY2UuIik7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
Ci12YXIgcHJvdG9jb2w7Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIHNob3VsZEJlKCJw
cm90b2NvbCIsICcic3ViIHByb3RvY29sIicpOwotICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQp
OwotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQotCi12YXIgdXJsID0gIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3Byb3Rv
Y29sLXRlc3Q/cHJvdG9jb2w9c3ViJTIwcHJvdG9jb2wiOwotdmFyIHdzID0gbmV3IFdlYlNvY2tl
dCh1cmwsICJzdWIgcHJvdG9jb2wiKTsKLQotd3Mub25vcGVuID0gZnVuY3Rpb24oKQotewotICAg
IGRlYnVnKCJDb25uZWN0ZWQiKTsKLX07Ci0KLXdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNz
YWdlRXZlbnQpCi17Ci0gICAgcHJvdG9jb2wgPSBtZXNzYWdlRXZlbnQuZGF0YTsKLSAgICB3cy5j
bG9zZSgpOwotfTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBlbmRUZXN0KCk7
Ci19OwotCi1mdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQotewotICAgIGRlYnVnKCJUaW1lZCBv
dXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLXZh
ciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7Ci0KLXZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3N1Yi1wcm90b2NvbC5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy9zdWItcHJvdG9j
b2wuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzODRlYmVjODIzYmJhYmQxZTYz
YTdkMGY0OTkxM2E1ZjhiNDc0MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0
LXRlc3RzL3N1Yi1wcm90b2NvbC5qcworKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLWRl
c2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRoIHN1YiBwcm90
b2NvbC4iKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciBwcm90b2NvbDsKLQotZnVuY3Rp
b24gZW5kVGVzdCgpCi17Ci0gICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWItcHJvdG9jb2wi
Jyk7Ci0gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJz
ZWQoKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB1cmwgPSAid3M6Ly9sb2Nh
bGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvcHJvdG9jb2wtdGVzdD9wcm90b2NvbD1zdWItcHJv
dG9jb2wiOwotdmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwsICJzdWItcHJvdG9jb2wiKTsKLQot
d3Mub25vcGVuID0gZnVuY3Rpb24oKQotewotICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKLX07Ci0K
LXdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCi17Ci0gICAgcHJvdG9jb2wg
PSBtZXNzYWdlRXZlbnQuZGF0YTsKLSAgICB3cy5jbG9zZSgpOwotfTsKLQotd3Mub25jbG9zZSA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBlbmRUZXN0KCk7Ci19OwotCi1mdW5jdGlvbiB0aW1lT3V0Q2Fs
bGJhY2soKQotewotICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0
YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLXZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRp
bWVPdXRDYWxsYmFjaywgMzAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0
LXRlc3RzL3VuaWNvZGUuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9zY3JpcHQtdGVzdHMvdW5pY29kZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTJkZjVhOWIzN2E1MGI0YWRiOTE5YzEzNGNmOTczNTg2YTUyODdjMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdW5pY29kZS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDUyICswLDAgQEAKLWRlc2NyaXB0aW9uKCJXZWIgU29ja2V0IHVuaWNvZGUgbWVzc2FnZSB0ZXN0
Iik7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICBp
c1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9s
b2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvdW5pY29kZSIpOwotCi0vLyBIZWxsbyBpbiBK
YXBhbmVzZQotdmFyIFVOSUNPREVfSEVMTE8gPSAiXHUzMDUzXHUzMDkzXHUzMDZiXHUzMDYxXHUz
MDZmIjsKLS8vIEdvb2RieWUgaW4gSmFwYW5lc2UKLXZhciBVTklDT0RFX0dPT0RCWUUgPSAiXHUz
MDU1XHUzMDg4XHUzMDQ2XHUzMDZhXHUzMDg5IjsKLQotLy8gZGF0YSBuZWVkcyB0byBiZSBnbG9i
YWwgdG8gYmUgYWNjZXNzYmlsZSBmcm9tIHNob3VsZEJlKCkuCi12YXIgZGF0YSA9ICIiOwotCi13
cy5vbm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKLSAgICBk
ZWJ1ZygiU2VuZCBVTklDT0RFX0hFTExPLiIpOwotICAgIHdzLnNlbmQoVU5JQ09ERV9IRUxMTyk7
Ci19OwotCi13cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCi17Ci0gICAgLy8g
VGhlIHNlcnZlciBzaG91bGQgc2VuZCBiYWNrIEdvb2RieWUgaWYgaXQgcmVjZWl2ZXMgSGVsbG8u
Ci0gICAgZGF0YSA9IG1lc3NhZ2VFdmVudC5kYXRhOwotICAgIHNob3VsZEJlKCJkYXRhIiwgIlVO
SUNPREVfR09PREJZRSIpOwotfTsKLQotd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBk
ZWJ1ZygiQ2xvc2VkLiIpOwotICAgIGVuZFRlc3QoKTsKLX07Ci0KLWZ1bmN0aW9uIHRpbWVPdXRD
YWxsYmFjaygpCi17Ci0gICAgdGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3Mu
cmVhZHlTdGF0ZSk7Ci0gICAgZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGlt
ZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNo
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZThkOTIwMGNhYjkzOTIzYjg5MzY0
ZTMxY2RhMWE5MmMxOGNhYzhmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10
ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCww
IEBACi1kZXNjcmlwdGlvbigiVVJMIHRoYXQgZG9lc24ndCBoYXZlIHRyYWlsaW5nIHNsYXNoIHNo
b3VsZCBub3QgZW1pdCBlbXB0eSBSZXF1ZXN0LVVSSS4iKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
Ci0KLXZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MCI7Ci12YXIgaGFuZHNoYWtlX3N1Y2Nl
c3MgPSBmYWxzZTsKLXZhciB3c19sb2NhdGlvbjsKLQotZnVuY3Rpb24gZW5kVGVzdCgpCi17Ci0g
ICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOwotICAgIHNob3VsZEJlKCJ3c19s
b2NhdGlvbiIsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC8iJyk7Ci0gICAgaXNTdWNjZXNzZnVsbHlQ
YXJzZWQoKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLQotdmFyIHdzID0gbmV3IFdl
YlNvY2tldCh1cmwpOwotd3Mub25vcGVuID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJXZWJT
b2NrZXQgaXMgb3BlbiIpOwotICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKLX07Ci13cy5v
bm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7Ci0gICAgd3NfbG9jYXRpb24gPSBldnQuZGF0YTsK
LSAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsKLSAgICB3cy5jbG9zZSgpOwot
fTsKLXdzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBpcyBj
bG9zZWQiKTsKLSAgICBlbmRUZXN0KCk7Ci19OwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NjcmlwdC10ZXN0cy91cmwtcGFyc2luZy5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtcGFyc2luZy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzQ2ZDllMWUxY2Q2NmJlZjQyOTRkMWQ5NjliNGUxNWEwZGVhYWU4NS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXBhcnNpbmcuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1kZXNjcmlwdGlvbigiVGVzdCBXZWJTb2Nr
ZXQgVVJMIHBhcnNpbmcuIik7Ci0KLS8vIEludmFsaWQgdXJsIHdpbGwgZmFpbCB0byBiZSBwYXJz
ZWQuCi1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZhc2NyaXB0OmEiKScpOwot
Ci0vLyBDYW4ndCB1c2UgcmVsYXRpdmUgVVJMcyAtIGJlY2F1c2Ugc3BlYyBzYXlzIHNvLCBhbmQg
YmVjYXVzZSB0aGUgc2NoZW1lIGlzIGRpZmZlcmVudCBhbnl3YXkuCi1zaG91bGRUaHJvdygnbmV3
IFdlYlNvY2tldCgiL2FwcGxldCIpJyk7Ci0KLS8vIE5vbiB3cyBVUkwgaXMgbm90IGFsbG93ZWQu
Ci1zaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgiamF2YXNjcmlwdDphIiknKTsKLQotLy8gVUEg
aXMgYWxsb3dlZCB0byBibG9jayBhY2Nlc3MgdG8gc29tZSBwb3J0cywgd2hpY2ggd2UgZG8uCi1z
aG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6MjUvIiknKTsKLQotLy8g
UmVzb2x2ZSB0aGUgdXJsIHN0cmluZyB1c2luZyB0aGUgcmVzb2x2ZSBhIFdlYiBhZGRyZXNzIGFs
Z29yaXRobS4KLS8vIFVzZSAxMjcuMC4wLjE6ODg4MCBhbmQgZXhpc3Rpbmcgd3MgaGFuZGxlciB0
byBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSB1bmV4cGVjdGVkIHJlc3BvbnNlIChzbyBubyBj
b25zb2xlIG1lc3NhZ2UgYXBwZWFycykKLXNob3VsZEJlKCcobmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC9hLy4uL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiKSkuVVJMJywgJyJ3czov
LzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiJyk7Ci1zaG91bGRCZSgnKG5l
dyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZT8i
KSkuVVJMJywgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGU/Iicp
Owotc2hvdWxkQmUoJyhuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9zaW1wbGU/az12IikpLlVSTCcsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvc2ltcGxlP2s9diInKTsKLQotLy8gZHJhZnQtaGl4aWUtdGhld2Vic29ja2V0cHJv
dG9jb2wtNjAgc2F5cyBJZiAvdXJsLyBoYXMgYSA8ZnJhZ21lbnQ+Ci0vLyBjb21wb25lbnQsIHRo
ZW4gZmFpbCB0aGUgcGFyc2luZyBXZWIgU29ja2V0IFVSTHMsIHNvIHRocm93IGEgU1lOVEFYX0VS
UgotLy8gZXhjZXB0aW9uLgotc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAu
MC4xL3BhdGgjIiknKTsKLXNob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAu
MS9wYXRoI2ZyYWdtZW50IiknKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci1p
c1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3VybC13aXRoLWNyZWRlbnRpYWwuanMgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXdp
dGgtY3JlZGVudGlhbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRiNzIzNWM5
ZTUzMmNlMjlkNmQ0NjA2MDgxM2IwODY5Njg5ZjhiMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXdpdGgtY3JlZGVudGlhbC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDM3ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJM
IHdpdGggY3JlZGVudGFpbCBpbmZvIHN1Y2Nlc3MuIik7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
Ci12YXIgdXJsID0gIndzOi8vdXNlcjpwYXNzQDEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9lY2hvLWxvY2F0aW9uIjsKLXZhciBoYW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNlOwotdmFyIHdz
X2xvY2F0aW9uOwotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICBjbGVhclRpbWVvdXQodGlt
ZW91dElEKTsKLSAgICBzaG91bGRCZVRydWUoImhhbmRzaGFrZV9zdWNjZXNzIik7Ci0gICAgc2hv
dWxkQmUoIndzX2xvY2F0aW9uIiwgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9lY2hvLWxvY2F0aW9uIicpOwotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1kZWJ1ZygidXJsPSIgKyB1cmwpOwotdmFyIHdzID0gbmV3
IFdlYlNvY2tldCh1cmwpOwotd3Mub25vcGVuID0gZnVuY3Rpb24gKCkgewotICAgIGRlYnVnKCJX
ZWJTb2NrZXQgaXMgb3BlbiIpOwotICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKLX07Ci13
cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7Ci0gICAgd3NfbG9jYXRpb24gPSBldnQuZGF0
YTsKLSAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsKLSAgICB3cy5jbG9zZSgp
OwotfTsKLXdzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBp
cyBjbG9zZWQiKTsKLSAgICBlbmRUZXN0KCk7Ci19OwotdmFyIHRpbWVvdXRJRCA9IHNldFRpbWVv
dXQoImVuZFRlc3QoKSIsIDIwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Njcmlw
dC10ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVyeS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVyeS5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGI0NzhiNjgxMDVmMGIwYzUzOGU0MzJlYjAzZjU5
Yzg0NWZhZTU3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJs
LXdpdGgtZW1wdHktcXVlcnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1kZXNj
cmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3aXRoIGVtcHR5IHF1ZXJ5IGNv
bXBvbmVudHMgc3VjY2Vzcy4iKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciB1cmwgPSAi
d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2NhdGlvbj8iOwotdmFy
IGhhbmRzaGFrZV9zdWNjZXNzID0gZmFsc2U7Ci12YXIgd3NfbG9jYXRpb247Ci0KLWZ1bmN0aW9u
IGVuZFRlc3QoKQotewotICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwotICAgIHNob3VsZEJl
VHJ1ZSgiaGFuZHNoYWtlX3N1Y2Nlc3MiKTsKLSAgICBzaG91bGRCZSgid3NfbG9jYXRpb24iLCAi
dXJsIik7Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Ci19Ci0KLWRlYnVnKCJ1cmw9IiArIHVybCk7Ci12YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVy
bCk7Ci13cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBpcyBv
cGVuIik7Ci0gICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOwotfTsKLXdzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uIChldnQpIHsKLSAgICB3c19sb2NhdGlvbiA9IGV2dC5kYXRhOwotICAgIGRlYnVn
KCJyZWNlaXZlZDoiICsgd3NfbG9jYXRpb24pOwotICAgIHdzLmNsb3NlKCk7Ci19Owotd3Mub25j
bG9zZSA9IGZ1bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIpOwot
ICAgIGVuZFRlc3QoKTsKLX07Ci12YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZW5kVGVzdCgp
IiwgMjAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3VybC13
aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnkuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkM2MzMzI4ZTg2NzkxYjEzNmFmMzZlNzlkOWM0
Y2VkZDcyM2RlZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3Vy
bC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5qcworKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAg
QEAKLWRlc2NyaXB0aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkg
Y29tcG9uZW50cyBmYWlscyBhZ2FpbnN0IHNlcnZlciB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBxdWVy
eSBjb21wb25lbnQuIik7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotCi12YXIgdXJsID0gIndzOi8v
MTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL25vLXF1ZXJ5PyI7Ci12YXIgaGFuZHNoYWtl
X3N1Y2Nlc3MgPSBmYWxzZTsKLXZhciB3c19sb2NhdGlvbjsKLQotZnVuY3Rpb24gZW5kVGVzdCgp
Ci17Ci0gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Ci0gICAgc2hvdWxkQmVGYWxzZSgiaGFu
ZHNoYWtlX3N1Y2Nlc3MiKTsKLSAgICBzaG91bGRCZVVuZGVmaW5lZCgid3NfbG9jYXRpb24iKTsK
LSAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotZGVidWcoInVybD0iICsgdXJsKTsKLXZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKLXdz
Lm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsK
LSAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Ci19Owotd3Mub25tZXNzZ2UgPSBmdW5jdGlv
biAoZXZ0KSB7Ci0gICAgd3NfbG9jYXRpb24gPSBldnQuZGF0YTsKLSAgICBkZWJ1ZygicmVjZWl2
ZWQ6IiArIHdzX2xvY2F0aW9uKTsKLSAgICB3cy5jbG9zZSgpOwotfTsKLXdzLm9uY2xvc2UgPSBm
dW5jdGlvbiAoKSB7Ci0gICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKLSAgICBlbmRU
ZXN0KCk7Ci19OwotdmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImVuZFRlc3QoKSIsIDIwMDAp
OwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtd2l0aC1xdWVy
eS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0
cy91cmwtd2l0aC1xdWVyeS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE4NjI4
YjhiNGU2NWMzMGM2ZWNhZTY5ZTIyOTIxZGM2YmYzOTY0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLXdpdGgtcXVlcnkuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwzNyArMCwwIEBACi1kZXNjcmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3
aXRoIHF1ZXJ5IGNvbXBvbmVudHMgc3VjY2Vzcy4iKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0K
LXZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2Nh
dGlvbj9xPXYiOwotdmFyIGhhbmRzaGFrZV9zdWNjZXNzID0gZmFsc2U7Ci12YXIgd3NfbG9jYXRp
b247Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQp
OwotICAgIHNob3VsZEJlVHJ1ZSgiaGFuZHNoYWtlX3N1Y2Nlc3MiKTsKLSAgICBzaG91bGRCZSgi
d3NfbG9jYXRpb24iLCAidXJsIik7Ci0gICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWRlYnVnKCJ1cmw9IiArIHVybCk7Ci12YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KHVybCk7Ci13cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7Ci0gICAgZGVidWco
IldlYlNvY2tldCBpcyBvcGVuIik7Ci0gICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOwotfTsK
LXdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKLSAgICB3c19sb2NhdGlvbiA9IGV2dC5k
YXRhOwotICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgd3NfbG9jYXRpb24pOwotICAgIHdzLmNsb3Nl
KCk7Ci19Owotd3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKLSAgICBkZWJ1ZygiV2ViU29ja2V0
IGlzIGNsb3NlZCIpOwotICAgIGVuZFRlc3QoKTsKLX07Ci12YXIgdGltZW91dElEID0gc2V0VGlt
ZW91dCgiZW5kVGVzdCgpIiwgMjAwMCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2Ny
aXB0LXRlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2OGM0Y2Y5OTgzNDI2Y2JlZDY2MGUz
ZjUzMjdhZjYwMTYxNzhkZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVz
dHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5qcworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAg
QEAKLWRlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IG9iamVjdCBhY3RzIGFzIEV2ZW50
VGFyZ2V0LiIpOwotCi12YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgw
L3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiKTsKLXdzLmNsb3NlKCk7IC8vIFRoYXQgaXMgbm90IGEg
dGVzdCB3aXRoIGEgV2ViU29ja2V0IHNlcnZlciwgcHJldmVudCBsb2dnaW5nIGFuIGVycm9yIHRv
IGNvbnNvbGUuCi12YXIgb3Blbl9ldmVudF9oYW5kbGVkID0gZmFsc2U7Ci12YXIgbWVzc2FnZV9l
dmVudF9oYW5kbGVkID0gZmFsc2U7Ci12YXIgY2xvc2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOwot
ZnVuY3Rpb24gb3Blbkxpc3RlbmVyKCkgewotICAgIG9wZW5fZXZlbnRfaGFuZGxlZCA9IHRydWU7
Ci19OwotZnVuY3Rpb24gbWVzc2FnZUxpc3RlbmVyKCkgewotICAgIG1lc3NhZ2VfZXZlbnRfaGFu
ZGxlZCA9IHRydWU7Ci19OwotZnVuY3Rpb24gY2xvc2VMaXN0ZW5lcigpIHsKLSAgICBjbG9zZV9l
dmVudF9oYW5kbGVkID0gdHJ1ZTsKLX0KLXdzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCBvcGVu
TGlzdGVuZXIsIGZhbHNlKTsKLXdzLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBtZXNzYWdl
TGlzdGVuZXIsIGZhbHNlKTsKLXdzLmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgY2xvc2VMaXN0
ZW5lciwgZmFsc2UpOwotCi1zaG91bGRCZSgib3Blbl9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7
Ci1zaG91bGRCZSgibWVzc2FnZV9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7Ci1zaG91bGRCZSgi
Y2xvc2VfZXZlbnRfaGFuZGxlZCIsICJmYWxzZSIpOwotCi12YXIgZXZ0ID0gZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIkV2ZW50cyIpOwotZXZ0LmluaXRFdmVudCgib3BlbiIsIHRydWUsIGZhbHNlKTsK
LXdzLmRpc3BhdGNoRXZlbnQoZXZ0KTsKLXNob3VsZEJlKCJvcGVuX2V2ZW50X2hhbmRsZWQiLCAi
dHJ1ZSIpOwotCi1vcGVuX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKLXdzLnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ29wZW4nLCBvcGVuTGlzdGVuZXIpOwotd3MuZGlzcGF0Y2hFdmVudChldnQpOwotc2hv
dWxkQmUoIm9wZW5fZXZlbnRfaGFuZGxlZCIsICJmYWxzZSIpOwotCi1ldnQgPSBkb2N1bWVudC5j
cmVhdGVFdmVudCgiTWVzc2FnZUV2ZW50Iik7Ci1ldnQuaW5pdEV2ZW50KCJtZXNzYWdlIiwgdHJ1
ZSwgZmFsc2UpOwotd3MuZGlzcGF0Y2hFdmVudChldnQpOwotc2hvdWxkQmUoIm1lc3NhZ2VfZXZl
bnRfaGFuZGxlZCIsICJ0cnVlIik7Ci0KLW1lc3NhZ2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOwot
d3MucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG1lc3NhZ2VMaXN0ZW5lcik7Ci13cy5k
aXNwYXRjaEV2ZW50KGV2dCk7Ci1zaG91bGRCZSgibWVzc2FnZV9ldmVudF9oYW5kbGVkIiwgImZh
bHNlIik7Ci0KLWV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudHMiKTsKLWV2dC5pbml0
RXZlbnQoImNsb3NlIiwgdHJ1ZSwgZmFsc2UpOwotd3MuZGlzcGF0Y2hFdmVudChldnQpOwotc2hv
dWxkQmUoImNsb3NlX2V2ZW50X2hhbmRsZWQiLCAidHJ1ZSIpOwotCi1jbG9zZV9ldmVudF9oYW5k
bGVkID0gZmFsc2U7Ci13cy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbG9zZScsIGNsb3NlTGlzdGVu
ZXIpOwotd3MuZGlzcGF0Y2hFdmVudChldnQpOwotc2hvdWxkQmUoImNsb3NlX2V2ZW50X2hhbmRs
ZWQiLCAiZmFsc2UiKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci1pc1N1Y2Nl
c3NmdWxseVBhcnNlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmpzIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3dlYnNv
Y2tldC1wcm90b2NvbC1pZ25vcmVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
MmQ3MzY1NTBiNzc1MTgxMDEwZTlmMmZjOGRmNWRjOGZlNWM4OGQ2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tl
dCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRob3V0IHByb3RvY29sIGFuZCBpZ25vcmUgV2ViU29ja2V0
LVByb3RvY29sIGZyb20gc2VydmVyLiIpOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLQotdmFyIHBy
b3RvY29sOwotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICBzaG91bGRCZSgicHJvdG9jb2wi
LCAnInN1Yi1wcm90b2NvbCInKTsKLSAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKLSAgICBp
c1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFy
IHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9wcm90b2NvbC10ZXN0
P3Byb3RvY29sPXN1Yi1wcm90b2NvbCI7Ci12YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Ci0K
LXdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Ci19Owot
Ci13cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQotewotICAgIHByb3RvY29s
ID0gbWVzc2FnZUV2ZW50LmRhdGE7Ci0gICAgd3MuY2xvc2UoKTsKLX07Ci0KLXdzLm9uY2xvc2Ug
PSBmdW5jdGlvbigpCi17Ci0gICAgZW5kVGVzdCgpOwotfTsKLQotZnVuY3Rpb24gdGltZU91dENh
bGxiYWNrKCkKLXsKLSAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlT
dGF0ZSk7Ci0gICAgZW5kVGVzdCgpOwotfQotCi12YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0
aW1lT3V0Q2FsbGJhY2ssIDMwMDApOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQt
dGhyb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQt
dGhyb3cuaHRtbAppbmRleCA1YTQ0YmU3NWFiNjA1OGNkMzc0NWE1ZmE5MGQ3OWYwMzdjYzU2NWE4
Li5iZTEzY2FhMWIxNWVkZDQ3ZTUxM2Q2ZjIwOWVlNDcxMjY2ODllYzljIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLXRocm93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC10aHJvdy5odG1s
CkBAIC04LDYgKzgsNTQgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgog
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NlbmQt
dGhyb3cuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVz
Y3JpcHRpb24oIldlYiBTb2NrZXQgc2VuZCB0ZXN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
CitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworICAg
IGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwor
dmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvc2VuZCIpOworCit2YXIgRklSU1RfTUVTU0FHRV9UT19TRU5EID0geworICAgIHRvU3RyaW5n
OiBmdW5jdGlvbigpIHsgdGhyb3cgIlBpY2tsZXMiOyB9Cit9OworLy8gZGF0YSBuZWVkcyB0byBi
ZSBnbG9iYWwgdG8gYmUgYWNjZXNzYmlsZSBmcm9tIHNob3VsZEJlKCkuCit2YXIgZGF0YSA9ICIi
OworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZC4iKTsK
KyAgICB0cnkgeworICAgICAgICB3cy5zZW5kKEZJUlNUX01FU1NBR0VfVE9fU0VORCk7CisgICAg
fSBjYXRjaCAoZXgpIHsKKyAgICAgICAgZGVidWcoIkNhdWdodCBleGNlcHRpb246ICIgKyBleCk7
CisgICAgfQorICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQor
eworICAgIGRlYnVnKCJDbG9zZWQuIik7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24g
dGltZU91dENhbGxiYWNrKCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJUaW1lZCBvdXQgaW4gc3RhdGU6
ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQg
PSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLmh0bWwKaW5kZXggMjk1YmRkNjdl
NTM1ZjRhYzc4MTljZWFhZmE3ZDM2YzMzZWExZTFjZi4uNmJmMzk0NjBlMzA2MDA2YmFhZDAxNjc1
MGQ5NDliNGNmYmVmZDI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NlbmQuaHRtbApAQCAtOCw2ICs4LDYxIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9zZW5kLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWIgU29ja2V0IHNlbmQgdGVzdCIpOworCitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgaXNTdWNjZXNzZnVsbHlQ
YXJzZWQoKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAv
d2Vic29ja2V0L3Rlc3RzL3NlbmQiKTsKKwordmFyIEZJUlNUX01FU1NBR0VfVE9fU0VORCA9ICJU
aGlzIGlzIHRoZSBmaXJzdCBtZXNzYWdlIHRvIHNlbmQgdG8gdGhlIHNlcnZlci4iOwordmFyIFNF
Q09ORF9NRVNTQUdFX1RPX1NFTkQgPSAiVGhpcyBpcyB0aGUgc2Vjb25kLiI7CisvLyBkYXRhIG5l
ZWRzIHRvIGJlIGdsb2JhbCB0byBiZSBhY2Nlc3NiaWxlIGZyb20gc2hvdWxkQmUoKS4KK3ZhciBk
YXRhID0gIiI7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVj
dGVkLiIpOworICAgIHdzLnNlbmQoRklSU1RfTUVTU0FHRV9UT19TRU5EKTsKK307CisKK3dzLm9u
bWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICAvLyBUaGUgc2VydmVyIHNo
b3VsZCBlY2hvIGJhY2sgdGhlIGZpcnN0IG1lc3NhZ2UuCisgICAgZGF0YSA9IG1lc3NhZ2VFdmVu
dC5kYXRhOworICAgIHNob3VsZEJlKCJkYXRhIiwgIkZJUlNUX01FU1NBR0VfVE9fU0VORCIpOwor
ICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkgeworICAgICAgICAvLyBU
aGUgc2VydmVyIHNob3VsZCBlY2hvIGJhY2sgdGhlIHNlY29uZCBtZXNzYWdlLgorICAgICAgICBk
YXRhID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgICAgIHNob3VsZEJlKCJkYXRhIiwgIlNFQ09O
RF9NRVNTQUdFX1RPX1NFTkQiKTsKKyAgICB9OworICAgIHdzLnNlbmQoU0VDT05EX01FU1NBR0Vf
VE9fU0VORCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJD
bG9zZWQuIik7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNr
KCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0
YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRp
bWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS5odG1sCmluZGV4IDQyY2QzOGM0OTI4YWMyMTAyODZh
NzM2NTZmYjg2NDQzZjJlYmE1MTcuLmViMmE5ZGNhYTQ2ZWM4M2Q2MWRhMDZhNTlkM2Q0MjJlNDlm
YTVkNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NpbXBsZS5odG1sCkBAIC04LDYgKzgsNTAgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL3NpbXBsZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CitkZXNjcmlwdGlvbigiU2ltcGxlIFdlYiBTb2NrZXQgdGVzdCIpOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBpc1N1Y2Nlc3NmdWxs
eVBhcnNlZCgpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIH0KK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcu
MC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlIik7CitkZWJ1ZygiQ3JlYXRlZCBhIHNv
Y2tldCB0byAnIiArIHdzLlVSTCArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlICsg
Ii4iKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQ7
IHJlYWR5U3RhdGUgIiArIHdzLnJlYWR5U3RhdGUpOworfTsKKword3Mub25tZXNzYWdlID0gZnVu
Y3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIGRlYnVnKCJSZWNlaXZlZDogJyIgKyBtZXNzYWdl
RXZlbnQuZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlKTsKK307CisKK3dz
Lm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3NlZDsgcmVhZHlTdGF0ZSAi
ICsgd3MucmVhZHlTdGF0ZSArICIuIik7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24g
dGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsg
d3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0
VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLXdpdGgtc3BhY2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2Nv
bC13aXRoLXNwYWNlLmh0bWwKaW5kZXggYWZhYTJkMTVlNTg2ZjNkOWRlZGVmMmE0ZjRmNTRlZjkz
NGUzNzViNC4uZTBiODZjYjA2MmQ4YjRkYzU3MGMzNTM0ZjRmMDYzNTQzNzJlYzk5ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29s
LXdpdGgtc3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sCkBAIC04LDYgKzgsNTEgQEAKIDxib2R5
PgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRoIHN1YiBwcm90b2NvbCBjb250YWlu
cyBzcGFjZS4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK3ZhciBwcm90b2NvbDsKKworZnVu
Y3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWIgcHJvdG9j
b2wiJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgaXNTdWNjZXNzZnVsbHlQ
YXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB1cmwgPSAid3M6Ly9s
b2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvcHJvdG9jb2wtdGVzdD9wcm90b2NvbD1zdWIl
MjBwcm90b2NvbCI7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCwgInN1YiBwcm90b2NvbCIp
OworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOwor
fTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBwcm90
b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNs
b3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVP
dXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJl
YWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVv
dXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2NvbC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLmh0bWwKaW5kZXggMzYx
ZGVmZTJiZDY2MjQ3YTU4NTE0NWZjZjk2ZjhiNmYwNDZmYThiNS4uOWI5MDFhMDkwYjFlNDY3MWU0
ZjdkYTE0N2Q4YzZlOTFlNDI2MWE5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLmh0bWwKQEAgLTgsNiArOCw1MSBA
QAogPGJvZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ViLXByb3RvY29sLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0
IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRoIHN1YiBwcm90b2NvbC4iKTsKKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisKK3ZhciBwcm90b2NvbDsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7
CisgICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWItcHJvdG9jb2wiJyk7CisgICAgY2xlYXJU
aW1lb3V0KHRpbWVvdXRJRCk7CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJz
b2NrZXQvdGVzdHMvcHJvdG9jb2wtdGVzdD9wcm90b2NvbD1zdWItcHJvdG9jb2wiOwordmFyIHdz
ID0gbmV3IFdlYlNvY2tldCh1cmwsICJzdWItcHJvdG9jb2wiKTsKKword3Mub25vcGVuID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCit7CisgICAgcHJvdG9jb2wgPSBtZXNzYWdlRXZlbnQu
ZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sK
KyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAg
IGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRU
ZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywg
MzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CiA8L2Jv
ZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy91bmljb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy91bmljb2RlLmh0bWwKaW5kZXggZGYzMTYyNzcyZTkxZTgyNDUzOWQ5ODYxZmZiODcyZTdk
OTAzNDBlYi4uNmQ2ODZmOTYwMzU3ODJjNjhhNmMyNzIxODBhOTgzMjc5MzAzMDcwZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5pY29kZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUuaHRt
bApAQCAtOCw2ICs4LDU5IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy91bmlj
b2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCJXZWIgU29ja2V0IHVuaWNvZGUgbWVzc2FnZSB0ZXN0Iik7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJz
b2NrZXQvdGVzdHMvdW5pY29kZSIpOworCisvLyBIZWxsbyBpbiBKYXBhbmVzZQordmFyIFVOSUNP
REVfSEVMTE8gPSAiXHUzMDUzXHUzMDkzXHUzMDZiXHUzMDYxXHUzMDZmIjsKKy8vIEdvb2RieWUg
aW4gSmFwYW5lc2UKK3ZhciBVTklDT0RFX0dPT0RCWUUgPSAiXHUzMDU1XHUzMDg4XHUzMDQ2XHUz
MDZhXHUzMDg5IjsKKworLy8gZGF0YSBuZWVkcyB0byBiZSBnbG9iYWwgdG8gYmUgYWNjZXNzYmls
ZSBmcm9tIHNob3VsZEJlKCkuCit2YXIgZGF0YSA9ICIiOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKKyAgICBkZWJ1ZygiU2VuZCBVTklDT0RF
X0hFTExPLiIpOworICAgIHdzLnNlbmQoVU5JQ09ERV9IRUxMTyk7Cit9OworCit3cy5vbm1lc3Nh
Z2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgLy8gVGhlIHNlcnZlciBzaG91bGQg
c2VuZCBiYWNrIEdvb2RieWUgaWYgaXQgcmVjZWl2ZXMgSGVsbG8uCisgICAgZGF0YSA9IG1lc3Nh
Z2VFdmVudC5kYXRhOworICAgIHNob3VsZEJlKCJkYXRhIiwgIlVOSUNPREVfR09PREJZRSIpOwor
fTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOwor
ICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAg
dGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAg
ZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJh
Y2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbAppbmRleCA1
NzI3YTY3ZTEwNmFlNTg1NTlmZjQ1NWE2ZmIzMmMwYzlmOTVjYmQyLi40MzA4ZWM3YjRjODZkM2Nl
MWIyY2I1ZDkzNTI0MzZjY2I2Nzk1ZTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2gu
aHRtbApAQCAtOCw2ICs4LDQyIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy91
cmwtbm8tdHJhaWxpbmctc2xhc2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlVSTCB0aGF0IGRvZXNuJ3QgaGF2ZSB0cmFpbGluZyBz
bGFzaCBzaG91bGQgbm90IGVtaXQgZW1wdHkgUmVxdWVzdC1VUkkuIik7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCit2YXIgdXJsID0gIndzOi8vMTI3LjAuMC4xOjg4ODAiOwordmFyIGhhbmRzaGFr
ZV9zdWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK2Z1bmN0aW9uIGVuZFRlc3Qo
KQoreworICAgIHNob3VsZEJlVHJ1ZSgiaGFuZHNoYWtlX3N1Y2Nlc3MiKTsKKyAgICBzaG91bGRC
ZSgid3NfbG9jYXRpb24iLCAnIndzOi8vMTI3LjAuMC4xOjg4ODAvIicpOworICAgIGlzU3VjY2Vz
c2Z1bGx5UGFyc2VkKCk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCisKK3ZhciB3cyA9
IG5ldyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1
ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9
Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0
LmRhdGE7CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xv
c2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2Nr
ZXQgaXMgY2xvc2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1wYXJzaW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy5odG1sCmlu
ZGV4IDc5MGM2Y2ZjZjczMWE3ZWYxNGEyZjgyMmIxMDcyNWRiNDg5NmJkZDYuLmNkZTVlMDNkMWM5
Nzg0ZmE5MWU0ODBiZjg5NGQ5M2ZmOTZlODVkYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1wYXJzaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXBhcnNpbmcuaHRtbApAQCAtOCw2ICs4
LDM1IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy91cmwtcGFyc2luZy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigi
VGVzdCBXZWJTb2NrZXQgVVJMIHBhcnNpbmcuIik7CisKKy8vIEludmFsaWQgdXJsIHdpbGwgZmFp
bCB0byBiZSBwYXJzZWQuCitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZhc2Ny
aXB0OmEiKScpOworCisvLyBDYW4ndCB1c2UgcmVsYXRpdmUgVVJMcyAtIGJlY2F1c2Ugc3BlYyBz
YXlzIHNvLCBhbmQgYmVjYXVzZSB0aGUgc2NoZW1lIGlzIGRpZmZlcmVudCBhbnl3YXkuCitzaG91
bGRUaHJvdygnbmV3IFdlYlNvY2tldCgiL2FwcGxldCIpJyk7CisKKy8vIE5vbiB3cyBVUkwgaXMg
bm90IGFsbG93ZWQuCitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgiamF2YXNjcmlwdDphIikn
KTsKKworLy8gVUEgaXMgYWxsb3dlZCB0byBibG9jayBhY2Nlc3MgdG8gc29tZSBwb3J0cywgd2hp
Y2ggd2UgZG8uCitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6MjUv
IiknKTsKKworLy8gUmVzb2x2ZSB0aGUgdXJsIHN0cmluZyB1c2luZyB0aGUgcmVzb2x2ZSBhIFdl
YiBhZGRyZXNzIGFsZ29yaXRobS4KKy8vIFVzZSAxMjcuMC4wLjE6ODg4MCBhbmQgZXhpc3Rpbmcg
d3MgaGFuZGxlciB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSB1bmV4cGVjdGVkIHJlc3Bv
bnNlIChzbyBubyBjb25zb2xlIG1lc3NhZ2UgYXBwZWFycykKK3Nob3VsZEJlKCcobmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9hLy4uL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiKSku
VVJMJywgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiJyk7Citz
aG91bGRCZSgnKG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rl
c3RzL3NpbXBsZT8iKSkuVVJMJywgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9zaW1wbGU/IicpOworc2hvdWxkQmUoJyhuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4
ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGU/az12IikpLlVSTCcsICcid3M6Ly8xMjcuMC4wLjE6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlP2s9diInKTsKKworLy8gZHJhZnQtaGl4aWUtdGhl
d2Vic29ja2V0cHJvdG9jb2wtNjAgc2F5cyBJZiAvdXJsLyBoYXMgYSA8ZnJhZ21lbnQ+CisvLyBj
b21wb25lbnQsIHRoZW4gZmFpbCB0aGUgcGFyc2luZyBXZWIgU29ja2V0IFVSTHMsIHNvIHRocm93
IGEgU1lOVEFYX0VSUgorLy8gZXhjZXB0aW9uLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQo
IndzOi8vMTI3LjAuMC4xL3BhdGgjIiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMS9wYXRoI2ZyYWdtZW50IiknKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Citpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworPC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwKaW5kZXggMTEwNjBmNmRmMTExMjVk
Yzk4M2YyODFmYmM3YzEyODNkOWVjNTEyYy4uN2NjMmQ2MmZmMjMyOWQ2NGI3NWI1MGNmYTU4NTA5
Njg5ZmZkMjBjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvdXJsLXdpdGgtY3JlZGVudGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLWNyZWRlbnRpYWwuaHRtbApAQCAtOCw2ICs4LDQ0
IEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFs
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0
aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggY3JlZGVudGFpbCBpbmZvIHN1
Y2Nlc3MuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit2YXIgdXJsID0gIndzOi8vdXNlcjpw
YXNzQDEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uIjsKK3ZhciBo
YW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNlOwordmFyIHdzX2xvY2F0aW9uOworCitmdW5jdGlvbiBl
bmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBzaG91bGRCZVRy
dWUoImhhbmRzaGFrZV9zdWNjZXNzIik7CisgICAgc2hvdWxkQmUoIndzX2xvY2F0aW9uIiwgJyJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uIicpOworICAg
IGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitk
ZWJ1ZygidXJsPSIgKyB1cmwpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOword3Mub25v
cGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOworICAg
IGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAo
ZXZ0KSB7CisgICAgd3NfbG9jYXRpb24gPSBldnQuZGF0YTsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6
IiArIHdzX2xvY2F0aW9uKTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5j
dGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBlbmRUZXN0
KCk7Cit9OwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImVuZFRlc3QoKSIsIDIwMDApOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
dXJsLXdpdGgtZW1wdHktcXVlcnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC13aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwKaW5kZXggYWRjOTQzN2NjYmUzZmM2
NDRkZmRlZDRkZDBmYzExM2E0MjYzYTJkZC4uYTE1ZjFjNjgxMzRhMDMyYTJiNWJiYjhmM2JkZTc1
ZDY2OGFjZjAzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvdXJsLXdpdGgtZW1wdHktcXVlcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVyeS5odG1sCkBAIC04LDYgKzgs
NDQgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgogPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3VybC13aXRoLWVtcHR5LXF1
ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggZW1wdHkgcXVlcnkgY29t
cG9uZW50cyBzdWNjZXNzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKwordmFyIHVybCA9ICJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uPyI7Cit2YXIg
aGFuZHNoYWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsKKworZnVuY3Rpb24g
ZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgc2hvdWxkQmVU
cnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAgIHNob3VsZEJlKCJ3c19sb2NhdGlvbiIsICJ1
cmwiKTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworZGVidWcoInVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJs
KTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9w
ZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mub25tZXNzYWdlID0g
ZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7CisgICAgZGVidWco
InJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNs
b3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7Cisg
ICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJlbmRUZXN0KCki
LCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5Lmh0
bWwKaW5kZXggN2I5NjQwOGIyNGUwMTQzZTQ4OTA5N2I0NzIyYWRhNmRjOTIyYjdkMS4uOTgzZjA2
NGZjN2NlNTRkNGExYmNiMTFjMWQxMTAwNTk4NmU0MzdiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdp
dGgtcXVlcnktZm9yLW5vLXF1ZXJ5Lmh0bWwKQEAgLTgsNiArOCw0NCBAQAogPGJvZHk+CiA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtl
IHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkgY29tcG9uZW50cyBmYWlscyBhZ2Fp
bnN0IHNlcnZlciB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBxdWVyeSBjb21wb25lbnQuIik7CisKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworCit2YXIgdXJsID0gIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29j
a2V0L3Rlc3RzL25vLXF1ZXJ5PyI7Cit2YXIgaGFuZHNoYWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3Zh
ciB3c19sb2NhdGlvbjsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0
KHRpbWVvdXRJRCk7CisgICAgc2hvdWxkQmVGYWxzZSgiaGFuZHNoYWtlX3N1Y2Nlc3MiKTsKKyAg
ICBzaG91bGRCZVVuZGVmaW5lZCgid3NfbG9jYXRpb24iKTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBh
cnNlZCgpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZGVidWcoInVybD0iICsgdXJs
KTsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgp
IHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2Vz
cyA9IHRydWU7Cit9Oword3Mub25tZXNzZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgd3NfbG9j
YXRpb24gPSBldnQuZGF0YTsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsK
KyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVi
dWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBlbmRUZXN0KCk7Cit9OwordmFyIHRpbWVv
dXRJRCA9IHNldFRpbWVvdXQoImVuZFRlc3QoKSIsIDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnkuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5
Lmh0bWwKaW5kZXggMjNkOTBmOTBmMmYyYTI1YTM5NjAzMmYxMDMwNDM1ZmM1YTA5NmJiNy4uYTY4
NDUyZWE5Y2ZiZDEwOGExOTI4OTkwYjdlM2ZlMTg1ZTUyZTNkMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS5o
dG1sCkBAIC04LDYgKzgsNDQgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Vy
bC13aXRoLXF1ZXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkg
Y29tcG9uZW50cyBzdWNjZXNzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKwordmFyIHVybCA9
ICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uP3E9diI7
Cit2YXIgaGFuZHNoYWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsKKworZnVu
Y3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgc2hv
dWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAgIHNob3VsZEJlKCJ3c19sb2NhdGlv
biIsICJ1cmwiKTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworZGVidWcoInVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0
IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mub25tZXNz
YWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7CisgICAg
ZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307Cit3
cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2Vk
Iik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJlbmRU
ZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbApp
bmRleCBjNWEwYTBhMWVkY2ZmY2YwMjNlMGI2ZTNkNWY4MjFjY2ExODkyNzdhLi5lYzQxZTE5MmVm
MGMyYjhhMzJlNmNhYmZmNmQxOTA4NmNmYzk1NTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50
LXRhcmdldC5odG1sCkBAIC04LDYgKzgsNjMgQEAKIDxib2R5PgogPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgb2Jq
ZWN0IGFjdHMgYXMgRXZlbnRUYXJnZXQuIik7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndz
Oi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZSIpOword3MuY2xvc2UoKTsg
Ly8gVGhhdCBpcyBub3QgYSB0ZXN0IHdpdGggYSBXZWJTb2NrZXQgc2VydmVyLCBwcmV2ZW50IGxv
Z2dpbmcgYW4gZXJyb3IgdG8gY29uc29sZS4KK3ZhciBvcGVuX2V2ZW50X2hhbmRsZWQgPSBmYWxz
ZTsKK3ZhciBtZXNzYWdlX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKK3ZhciBjbG9zZV9ldmVudF9o
YW5kbGVkID0gZmFsc2U7CitmdW5jdGlvbiBvcGVuTGlzdGVuZXIoKSB7CisgICAgb3Blbl9ldmVu
dF9oYW5kbGVkID0gdHJ1ZTsKK307CitmdW5jdGlvbiBtZXNzYWdlTGlzdGVuZXIoKSB7CisgICAg
bWVzc2FnZV9ldmVudF9oYW5kbGVkID0gdHJ1ZTsKK307CitmdW5jdGlvbiBjbG9zZUxpc3RlbmVy
KCkgeworICAgIGNsb3NlX2V2ZW50X2hhbmRsZWQgPSB0cnVlOworfQord3MuYWRkRXZlbnRMaXN0
ZW5lcignb3BlbicsIG9wZW5MaXN0ZW5lciwgZmFsc2UpOword3MuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG1lc3NhZ2VMaXN0ZW5lciwgZmFsc2UpOword3MuYWRkRXZlbnRMaXN0ZW5lcign
Y2xvc2UnLCBjbG9zZUxpc3RlbmVyLCBmYWxzZSk7CisKK3Nob3VsZEJlKCJvcGVuX2V2ZW50X2hh
bmRsZWQiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJtZXNzYWdlX2V2ZW50X2hhbmRsZWQiLCAiZmFs
c2UiKTsKK3Nob3VsZEJlKCJjbG9zZV9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisKK3ZhciBl
dnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnRzIik7CitldnQuaW5pdEV2ZW50KCJvcGVu
IiwgdHJ1ZSwgZmFsc2UpOword3MuZGlzcGF0Y2hFdmVudChldnQpOworc2hvdWxkQmUoIm9wZW5f
ZXZlbnRfaGFuZGxlZCIsICJ0cnVlIik7CisKK29wZW5fZXZlbnRfaGFuZGxlZCA9IGZhbHNlOwor
d3MucmVtb3ZlRXZlbnRMaXN0ZW5lcignb3BlbicsIG9wZW5MaXN0ZW5lcik7Cit3cy5kaXNwYXRj
aEV2ZW50KGV2dCk7CitzaG91bGRCZSgib3Blbl9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisK
K2V2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNZXNzYWdlRXZlbnQiKTsKK2V2dC5pbml0RXZl
bnQoIm1lc3NhZ2UiLCB0cnVlLCBmYWxzZSk7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91
bGRCZSgibWVzc2FnZV9ldmVudF9oYW5kbGVkIiwgInRydWUiKTsKKworbWVzc2FnZV9ldmVudF9o
YW5kbGVkID0gZmFsc2U7Cit3cy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbWVzc2Fn
ZUxpc3RlbmVyKTsKK3dzLmRpc3BhdGNoRXZlbnQoZXZ0KTsKK3Nob3VsZEJlKCJtZXNzYWdlX2V2
ZW50X2hhbmRsZWQiLCAiZmFsc2UiKTsKKworZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2
ZW50cyIpOworZXZ0LmluaXRFdmVudCgiY2xvc2UiLCB0cnVlLCBmYWxzZSk7Cit3cy5kaXNwYXRj
aEV2ZW50KGV2dCk7CitzaG91bGRCZSgiY2xvc2VfZXZlbnRfaGFuZGxlZCIsICJ0cnVlIik7CisK
K2Nsb3NlX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKK3dzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Ns
b3NlJywgY2xvc2VMaXN0ZW5lcik7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91bGRCZSgi
Y2xvc2VfZXZlbnRfaGFuZGxlZCIsICJmYWxzZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKK2lzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Cis8L3NjcmlwdD4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5odG1sCmluZGV4IGYw
MTFiNjdjMmQ5YjFiNTgwZGIxNjg4YTM2ODhkZjY3ZDJhNmRlYTkuLjc2ZjY4ODQzYjc3MTA4NzY1
YzgyZDBmOWM0MjVjZDVlOWZkYmZhYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LXByb3RvY29s
LWlnbm9yZWQuaHRtbApAQCAtOCw2ICs4LDUxIEBACiA8Ym9keT4KIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQgaGFu
ZHNoYWtlIHN1Y2Nlc3Mgd2l0aG91dCBwcm90b2NvbCBhbmQgaWdub3JlIFdlYlNvY2tldC1Qcm90
b2NvbCBmcm9tIHNlcnZlci4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK3ZhciBwcm90b2Nv
bDsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJz
dWItcHJvdG9jb2wiJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgaXNTdWNj
ZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB1cmwg
PSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvcHJvdG9jb2wtdGVzdD9wcm90
b2NvbD1zdWItcHJvdG9jb2wiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5v
bm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsKKword3Mu
b25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBwcm90b2NvbCA9IG1l
c3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVu
Y3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFj
aygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUp
OworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91
dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>