<?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>106078</bug_id>
          
          <creation_ts>2013-01-04 01:03:08 -0800</creation_ts>
          <short_desc>Statistics used in perftest_unittest.py and perftest_integrationtest.py are bogus</short_desc>
          <delta_ts>2013-01-07 11:06:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>97510</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>morrita</cc>
    
    <cc>ossy</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>800064</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-04 01:03:08 -0800</bug_when>
    <thetext>Right now, run-perf-tests simply reads statistics off of test output text for non-page-loading tests. While this is desirable in the long term where we can have all statistics functions implemented only in JavaScript, it blocks our work to use multiple instances of DRT/WTR to smooth out between-run variance in the bug 97510.

Now that Dromaeo and other perf. tests all report results from each iteration, we can reliably compute statistics in python code instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800065</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-01-04 01:04:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/12955987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800071</commentid>
    <comment_count>2</comment_count>
      <attachid>181282</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-04 01:18:44 -0800</bug_when>
    <thetext>Created attachment 181282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800076</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-04 01:25:30 -0800</bug_when>
    <thetext>Let me change the scope of this bug. Instead of refactoring the unit &amp; integration tests and modifying perftest.py, we can concentrate on refactoring unit &amp; integration tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800079</commentid>
    <comment_count>4</comment_count>
      <attachid>181283</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-04 01:30:46 -0800</bug_when>
    <thetext>Created attachment 181283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800334</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-04 10:21:10 -0800</bug_when>
    <thetext>Committed r138810: &lt;http://trac.webkit.org/changeset/138810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801281</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-01-07 07:32:41 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Committed r138810: &lt;http://trac.webkit.org/changeset/138810&gt;

It broke a webkitpy tests:

   File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py&quot;, line 306, in test_run_memory_test
      self.assertEqual(results[&apos;Parser/memory-test&apos;], MemoryTestData.results)
  AssertionError: {u&apos;min&apos;: 1080.0, u&apos;max&apos;: 1120.0, u&apos;median&apos;: 1101.0, u&apos;values&apos;: [1080.0, 1120.0, 1095.0, 1101.0, 1104.0], u&apos;stdev&apos;: 14.508599999999999, u&apos;avg&apos;: 1100.0, u&apos;unit&apos;: u&apos;ms&apos;} != {&apos;min&apos;: 1080, &apos;max&apos;: 1120, &apos;median&apos;: 1101, &apos;values&apos;: [1080, 1120, 1095, 1101, 1104], &apos;stdev&apos;: 14.508609999999999, &apos;avg&apos;: 1100, &apos;unit&apos;: &apos;ms&apos;}

Could you fix it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801402</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-07 10:33:44 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Committed r138810: &lt;http://trac.webkit.org/changeset/138810&gt;
&gt; 
&gt; It broke a webkitpy tests:
&gt; 
&gt;    File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py&quot;, line 306, in test_run_memory_test
&gt;       self.assertEqual(results[&apos;Parser/memory-test&apos;], MemoryTestData.results)
&gt;   AssertionError: {u&apos;min&apos;: 1080.0, u&apos;max&apos;: 1120.0, u&apos;median&apos;: 1101.0, u&apos;values&apos;: [1080.0, 1120.0, 1095.0, 1101.0, 1104.0], u&apos;stdev&apos;: 14.508599999999999, u&apos;avg&apos;: 1100.0, u&apos;unit&apos;: u&apos;ms&apos;} != {&apos;min&apos;: 1080, &apos;max&apos;: 1120, &apos;median&apos;: 1101, &apos;values&apos;: [1080, 1120, 1095, 1101, 1104], &apos;stdev&apos;: 14.508609999999999, &apos;avg&apos;: 1100, &apos;unit&apos;: &apos;ms&apos;}
&gt; 
&gt; Could you fix it, please?

Huh, do you have a very old version of python? It appears to me that there&apos;s some significant rounding error there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801415</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-01-07 10:40:07 -0800</bug_when>
    <thetext>I have Python 2.6.6 (Debian Squeeze), but it fails on Qt, GTK and Chromium 
bots too. But it passes for me with Python 2.7.3 (Ubuntu 12.04).

I don&apos;t think if the proper fix is updating python on several bots ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801441</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-07 10:55:19 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; I have Python 2.6.6 (Debian Squeeze), but it fails on Qt, GTK and Chromium 
&gt; bots too. But it passes for me with Python 2.7.3 (Ubuntu 12.04).

I mean... it&apos;s really bad that standard deviation computation has such a large computation error. It&apos;s correct for only 6 decimal points...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801442</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-07 10:55:34 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; I have Python 2.6.6 (Debian Squeeze), but it fails on Qt, GTK and Chromium 
&gt; &gt; bots too. But it passes for me with Python 2.7.3 (Ubuntu 12.04).
&gt; 
&gt; I mean... it&apos;s really bad that standard deviation computation has such a large computation error. It&apos;s correct for only 6 decimal points...

Ugh... I mean 6 significant figures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801449</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-07 11:06:30 -0800</bug_when>
    <thetext>It&apos;s mind blowing that people think python is great for scientific computation when its numerical accuracy is much worse than that of JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801451</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-07 11:06:48 -0800</bug_when>
    <thetext>Attempted a fix in http://trac.webkit.org/changeset/138965.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181282</attachid>
            <date>2013-01-04 01:18:44 -0800</date>
            <delta_ts>2013-01-04 01:30:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106078-20130104011551.patch</filename>
            <type>text/plain</type>
            <size>27587</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEzODc4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUxIEBACisyMDEzLTAxLTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIENvbXB1dGUgc3RhdGlzdGljcyBpbiBwZXJmdGVzdC5weSBpbnN0ZWFkIG9mIHJl
YWRpbmcgb2ZmIG9mIG91dHB1dCB0ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDYwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBjYWxsIHRvIGNvbXB1dGVfc3RhdGlz
dGljcyBpbiBQZXJmVGVzdC5wYXJzZV9vdXRwdXQgdG8gb3ZlcnJpZGUKKyAgICAgICAgc3RhdGlz
dGljcyBpbiB0aGUgcmVzdWx0cyBvYmplY3QgYnkgdGhlIG9uZSBjb21wdXRlZCBkaXJlY3RseSBp
biB0aGUgcHl0aG9uIGNvZGUKKyAgICAgICAgYXMgYSBwcmVwYXJhdGlvbiB0byBmaXggdGhlIGJ1
ZyA5NzUxMC4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVmYWN0b3JzIGludGVncmF0aW9u
IHRlc3RzIGJ5IGV4dHJhY3RpbmcgKlRlc3REYXRhIGNsYXNzZXMgdGhhdAorICAgICAgICBjZW50
cmFsaXplcyB0aGUgZGVmaW5pdGlvbnMgb2YgZWFjaCBkdW1teSBwZXJmb3JtYW5jZSB0ZXN0J3Mg
dGV4dCAoRFJUIG91dHB1dCksCisgICAgICAgIHJ1bm5lciBvdXRwdXQsIGFuZCBwYXJzZWQgcmVz
dWx0cyAoSlNPTikgc28gdGhhdCB3ZSBtYXkgc2hhcmUgbW9yZSBkYXRhIGJldHdlZW4KKyAgICAg
ICAgcHl0aG9uIHRlc3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5j
ZV90ZXN0cy9wZXJmdGVzdC5weToKKyAgICAgICAgKFBlcmZUZXN0LnBhcnNlX291dHB1dCk6IENh
bGwgY29tcHV0ZV9zdGF0aXN0aWNzIGFzIGRvbmUgaW4gUGFnZUxvYWRpbmdQZXJmVGVzdC4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RfdW5p
dHRlc3QucHk6CisgICAgICAgIChNYWluVGVzdC5fYXNzZXJ0X3Jlc3VsdHNfYXJlX2NvcnJlY3Qp
OiBFeHRyYWN0ZWQgZnJvbSB0ZXN0X3BhcnNlX291dHB1dC4KKyAgICAgICAgVXNlIHNlbGYuYXNz
ZXJ0QWxtb3N0RXF1YWwgd2hlbiBjb21wYXJpbmcgdGhlIHN0YW5kYXJkIGRldmlhdGlvbi4KKyAg
ICAgICAgKE1haW5UZXN0LnRlc3RfcGFyc2Vfb3V0cHV0KToKKyAgICAgICAgKHRlc3RfcGFyc2Vf
b3V0cHV0X3dpdGhfZmFpbGluZ19saW5lKToKKyAgICAgICAgKHRlc3RfcGFyc2Vfb3V0cHV0X3dp
dGhfZGVzY3JpcHRpb24pOiBVc2UgX2Fzc2VydF9yZXN1bHRzX2FyZV9jb3JyZWN0LgorICAgICAg
ICAodGVzdF9wYXJzZV9vdXRwdXRfd2l0aF9zdWJ0ZXN0cyk6IERpdHRvLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfaW50ZWdy
YXRpb250ZXN0LnB5OgorICAgICAgICAoSW5zcGVjdG9yUGFzc1Rlc3REYXRhKTogRXh0cmFjdGVk
IGZyb20gdGVzdHMgYmVsb3cuCisgICAgICAgIChFdmVudFRhcmdldFdyYXBwZXJUZXN0RGF0YSk6
IERpdHRvLgorICAgICAgICAoU29tZVBhcnNlclRlc3REYXRhKTogRGl0dG8uCisgICAgICAgIChN
ZW1vcnlUZXN0RGF0YSk6IERpdHRvLgorICAgICAgICAoVGVzdERyaXZlci5ydW5fdGVzdCk6IE1v
dmVkIHRlc3QgZGVmaW5pdGlvbnMgb3V0IG9mIHRoZSBtZXRob2QuCisgICAgICAgIChNYWluVGVz
dC5fbm9ybWFsaXplX291dHB1dCk6IFRydW5jYXRlIHN0YW5kYXJkIGRldmlhdGlvbnMgYXQgNXRo
IGRlY2ltYWwgcG9pbnQuCisgICAgICAgIChNYWluVGVzdC5fbG9hZF9vdXRwdXRfanNvbik6IEV4
dHJhY3RlZCBmcm9tIGNyZWF0ZV9ydW5uZXIuCisgICAgICAgIChNYWluVGVzdC5jcmVhdGVfcnVu
bmVyKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX3Rlc3Rfc2V0X2Zvcl9wYXJzZXJfdGVz
dHMpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9ydW5fbWVtb3J5X3Rlc3QpOgorICAgICAgICAo
TWFpblRlc3QuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQpOgorICAgICAgICAoTWFpblRlc3Qu
dGVzdF9ydW5fd2l0aF9qc29uX291dHB1dCk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl93
aXRoX2Rlc2NyaXB0aW9uKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX2dlbmVyYXRlc19q
c29uX2J5X2RlZmF1bHQpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9ydW5fbWVyZ2VzX291dHB1
dF9ieV9kZWZhdWx0KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX3Jlc3BlY3RzX3Jlc2V0
X3Jlc3VsdHMpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9ydW5fZ2VuZXJhdGVzX2FuZF9zaG93
X3Jlc3VsdHNfcGFnZSk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl93aXRoX3NsYXZlX2Nv
bmZpZ19qc29uKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX3dpdGhfbXVsdGlwbGVfcmVw
b3NpdG9yaWVzKToKKwogMjAxMy0wMS0wMyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFtNYWNdIEludGVybWl0dGVudCBjcmFzaCBp
biBXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3QucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdC5weQkocmV2
aXNpb24gMTM4Nzc2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0
cy9wZXJmdGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjA5LDYgKzIwOSw5IEBAIGNsYXNzIFBl
cmZUZXN0KG9iamVjdCk6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJUaGUgdGVzdCBkaWRuJ3Qg
cmVwb3J0IGFsbCBzdGF0aXN0aWNzLiIpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCisgICAg
ICAgIGZvciB0ZXN0X25hbWUgaW4gcmVzdWx0czoKKyAgICAgICAgICAgIHJlc3VsdHNbdGVzdF9u
YW1lXS51cGRhdGUoc2VsZi5jb21wdXRlX3N0YXRpc3RpY3MocmVzdWx0c1t0ZXN0X25hbWVdWyd2
YWx1ZXMnXSkpCisKICAgICAgICAgcmV0dXJuIHJlc3VsdHMKIAogICAgIEBzdGF0aWNtZXRob2QK
SW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3Rf
dW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3Jt
YW5jZV90ZXN0cy9wZXJmdGVzdF91bml0dGVzdC5weQkocmV2aXNpb24gMTM4Nzc2KQorKysgVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdF91bml0dGVzdC5w
eQkod29ya2luZyBjb3B5KQpAQCAtNjgsNDcgKzY4LDU5IEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChjb21wdXRlX3N0
YXRpc3RpY3MoWzEsIDIsIDMsIDQsIDUsIDZdKVsnc3RkZXYnXSwgbWF0aC5zcXJ0KDMuNSkpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFs0LCAyLCA1
LCA4LCA2XSlbJ3N0ZGV2J10sIG1hdGguc3FydCg1KSkKIAorICAgIGRlZiBfYXNzZXJ0X3Jlc3Vs
dHNfYXJlX2NvcnJlY3Qoc2VsZiwgdGVzdCwgb3V0cHV0KToKKyAgICAgICAgdGVzdC5fZmlsdGVy
X291dHB1dChvdXRwdXQpCisgICAgICAgIHBhcnNlZF9yZXN1bHRzID0gdGVzdC5wYXJzZV9vdXRw
dXQob3V0cHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlZF9yZXN1bHRzLmtleXMo
KSwgWydzb21lLXRlc3QnXSkKKyAgICAgICAgc29tZV90ZXN0X3Jlc3VsdHMgPSBwYXJzZWRfcmVz
dWx0c1snc29tZS10ZXN0J10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoc29tZV90
ZXN0X3Jlc3VsdHMua2V5cygpKSwgWydhdmcnLCAnbWF4JywgJ21lZGlhbicsICdtaW4nLCAnc3Rk
ZXYnLCAndW5pdCcsICd2YWx1ZXMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21lX3Rl
c3RfcmVzdWx0c1sndmFsdWVzJ10sIFsxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0XSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21lX3Rlc3RfcmVzdWx0c1snbWluJ10sIDEwODApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21heCddLCAxMTIwKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydhdmcnXSwgMTEwMCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21lX3Rlc3RfcmVzdWx0c1snbWVkaWFuJ10sIDEx
MDEpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ3N0
ZGV2J10sIDE0LjUwODYyLCBwbGFjZXM9NSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21l
X3Rlc3RfcmVzdWx0c1sndW5pdCddLCAnbXMnKQorCiAgICAgZGVmIHRlc3RfcGFyc2Vfb3V0cHV0
KHNlbGYpOgotICAgICAgICBvdXRwdXQgPSBEcml2ZXJPdXRwdXQoJ1xuJy5qb2luKFsKLSAgICAg
ICAgICAgICdSdW5uaW5nIDIwIHRpbWVzJywKLSAgICAgICAgICAgICdJZ25vcmluZyB3YXJtLXVw
IHJ1biAoMTExNSknLAotICAgICAgICAgICAgJycsCi0gICAgICAgICAgICAnVGltZTonLAotICAg
ICAgICAgICAgJ3ZhbHVlcyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAx
MywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSBtcycsCi0gICAgICAgICAgICAnYXZnIDExMDAgbXMn
LAotICAgICAgICAgICAgJ21lZGlhbiAxMTAxIG1zJywKLSAgICAgICAgICAgICdzdGRldiAxMSBt
cycsCi0gICAgICAgICAgICAnbWluIDEwODAgbXMnLAotICAgICAgICAgICAgJ21heCAxMTIwIG1z
J10pLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5vbmUsIGF1ZGlvPU5vbmUpCisgICAgICAgIG91
dHB1dCA9IERyaXZlck91dHB1dCgiIiIKK1J1bm5pbmcgMjAgdGltZXMKK0lnbm9yaW5nIHdhcm0t
dXAgcnVuICgxMTE1KQorCitUaW1lOgordmFsdWVzIDEwODAsIDExMjAsIDEwOTUsIDExMDEsIDEx
MDQgbXMKK2F2ZyAxMTAwIG1zCittZWRpYW4gMTEwMSBtcworc3RkZXYgMTUuMzcgbXMKK21pbiAx
MDgwIG1zCittYXggMTEyMCBtcworIiIiLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5vbmUsIGF1
ZGlvPU5vbmUpCiAgICAgICAgIG91dHB1dF9jYXB0dXJlID0gT3V0cHV0Q2FwdHVyZSgpCiAgICAg
ICAgIG91dHB1dF9jYXB0dXJlLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5OgogICAgICAg
ICAgICAgdGVzdCA9IFBlcmZUZXN0KE1vY2tQb3J0KCksICdzb21lLXRlc3QnLCAnL3BhdGgvc29t
ZS1kaXIvc29tZS10ZXN0JykKLSAgICAgICAgICAgIHRlc3QuX2ZpbHRlcl9vdXRwdXQob3V0cHV0
KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0LnBhcnNlX291dHB1dChvdXRwdXQp
LAotICAgICAgICAgICAgICAgIHsnc29tZS10ZXN0JzogeydhdmcnOiAxMTAwLjAsICdtZWRpYW4n
OiAxMTAxLjAsICdtaW4nOiAxMDgwLjAsICdtYXgnOiAxMTIwLjAsICdzdGRldic6IDExLjAsICd1
bml0JzogJ21zJywKLSAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlcyc6IFtpIGZvciBpIGluIHJh
bmdlKDEsIDIwKV19fSkKKyAgICAgICAgICAgIHNlbGYuX2Fzc2VydF9yZXN1bHRzX2FyZV9jb3Jy
ZWN0KHRlc3QsIG91dHB1dCkKICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHBhc3MKICAg
ICAgICAgICAgIGFjdHVhbF9zdGRvdXQsIGFjdHVhbF9zdGRlcnIsIGFjdHVhbF9sb2dzID0gb3V0
cHV0X2NhcHR1cmUucmVzdG9yZV9vdXRwdXQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFj
dHVhbF9zdGRvdXQsICcnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9zdGRlcnIs
ICcnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9sb2dzLCAnJykKIAogICAgIGRl
ZiB0ZXN0X3BhcnNlX291dHB1dF93aXRoX2ZhaWxpbmdfbGluZShzZWxmKToKLSAgICAgICAgb3V0
cHV0ID0gRHJpdmVyT3V0cHV0KCdcbicuam9pbihbCi0gICAgICAgICAgICAnUnVubmluZyAyMCB0
aW1lcycsCi0gICAgICAgICAgICAnSWdub3Jpbmcgd2FybS11cCBydW4gKDExMTUpJywKLSAgICAg
ICAgICAgICcnLAotICAgICAgICAgICAgJ3NvbWUtdW5yZWNvZ25pemFibGUtbGluZScsCi0gICAg
ICAgICAgICAnJywKLSAgICAgICAgICAgICdUaW1lOicsCi0gICAgICAgICAgICAndmFsdWVzIDEs
IDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywg
MTgsIDE5IG1zJywKLSAgICAgICAgICAgICdhdmcgMTEwMCBtcycsCi0gICAgICAgICAgICAnbWVk
aWFuIDExMDEgbXMnLAotICAgICAgICAgICAgJ3N0ZGV2IDExIG1zJywKLSAgICAgICAgICAgICdt
aW4gMTA4MCBtcycsCi0gICAgICAgICAgICAnbWF4IDExMjAgbXMnXSksIGltYWdlPU5vbmUsIGlt
YWdlX2hhc2g9Tm9uZSwgYXVkaW89Tm9uZSkKKyAgICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0
KCIiIgorUnVubmluZyAyMCB0aW1lcworSWdub3Jpbmcgd2FybS11cCBydW4gKDExMTUpCisKK3Nv
bWUtdW5yZWNvZ25pemFibGUtbGluZQorCitUaW1lOgordmFsdWVzIDEwODAsIDExMjAsIDEwOTUs
IDExMDEsIDExMDQgbXMKK2F2ZyAxMTAwIG1zCittZWRpYW4gMTEwMSBtcworc3RkZXYgMTUuMzcg
bXMKK21pbiAxMDgwIG1zCittYXggMTEyMCBtcworIiIiLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNo
PU5vbmUsIGF1ZGlvPU5vbmUpCiAgICAgICAgIG91dHB1dF9jYXB0dXJlID0gT3V0cHV0Q2FwdHVy
ZSgpCiAgICAgICAgIG91dHB1dF9jYXB0dXJlLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5
OgpAQCAtMTIyLDE3ICsxMzQsMjEgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9sb2dzLCAnRVJST1I6IHNvbWUtdW5y
ZWNvZ25pemFibGUtbGluZVxuJykKIAogICAgIGRlZiB0ZXN0X3BhcnNlX291dHB1dF93aXRoX2Rl
c2NyaXB0aW9uKHNlbGYpOgotICAgICAgICBvdXRwdXQgPSBEcml2ZXJPdXRwdXQoJ1xuJy5qb2lu
KFsKLSAgICAgICAgICAgICdEZXNjcmlwdGlvbjogdGhpcyBpcyBhIHRlc3QgZGVzY3JpcHRpb24u
JywKLSAgICAgICAgICAgICdUaW1lOicsCi0gICAgICAgICAgICAndmFsdWVzIDEsIDIsIDMsIDQs
IDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5IG1z
JywKLSAgICAgICAgICAgICdhdmcgMTEwMCBtcycsCi0gICAgICAgICAgICAnbWVkaWFuIDExMDEg
bXMnLAotICAgICAgICAgICAgJ3N0ZGV2IDExIG1zJywKLSAgICAgICAgICAgICdtaW4gMTA4MCBt
cycsCi0gICAgICAgICAgICAnbWF4IDExMjAgbXMnXSksIGltYWdlPU5vbmUsIGltYWdlX2hhc2g9
Tm9uZSwgYXVkaW89Tm9uZSkKKyAgICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0KCIiIgorRGVz
Y3JpcHRpb246IHRoaXMgaXMgYSB0ZXN0IGRlc2NyaXB0aW9uLgorCitSdW5uaW5nIDIwIHRpbWVz
CitJZ25vcmluZyB3YXJtLXVwIHJ1biAoMTExNSkKKworVGltZToKK3ZhbHVlcyAxMDgwLCAxMTIw
LCAxMDk1LCAxMTAxLCAxMTA0IG1zCithdmcgMTEwMCBtcworbWVkaWFuIDExMDEgbXMKK3N0ZGV2
IDE1LjM3IG1zCittaW4gMTA4MCBtcworbWF4IDExMjAgbXMiIiIsIGltYWdlPU5vbmUsIGltYWdl
X2hhc2g9Tm9uZSwgYXVkaW89Tm9uZSkKICAgICAgICAgdGVzdCA9IFBlcmZUZXN0KE1vY2tQb3J0
KCksICdzb21lLXRlc3QnLCAnL3BhdGgvc29tZS1kaXIvc29tZS10ZXN0JykKLSAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHRlc3QucGFyc2Vfb3V0cHV0KG91dHB1dCkpCisgICAgICAgIHNlbGYuX2Fz
c2VydF9yZXN1bHRzX2FyZV9jb3JyZWN0KHRlc3QsIG91dHB1dCkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCh0ZXN0LmRlc2NyaXB0aW9uKCksICd0aGlzIGlzIGEgdGVzdCBkZXNjcmlwdGlvbi4n
KQogCiAgICAgZGVmIHRlc3RfaWdub3JlZF9zdGRlcnJfbGluZXMoc2VsZik6CkBAIC0xNTQsMjgg
KzE3MCwyNiBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAg
ICBzZWxmLmFzc2VydEZhbHNlKHRlc3QuX3Nob3VsZF9pZ25vcmVfbGluZV9pbl9zdGRlcnIobGlu
ZSkpCiAKICAgICBkZWYgdGVzdF9wYXJzZV9vdXRwdXRfd2l0aF9zdWJ0ZXN0cyhzZWxmKToKLSAg
ICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0KCdcbicuam9pbihbCi0gICAgICAgICAgICAnUnVu
bmluZyAyMCB0aW1lcycsCi0gICAgICAgICAgICAnc29tZSB0ZXN0OiBbMSwgMiwgMywgNCwgNV0n
LAotICAgICAgICAgICAgJ290aGVyIHRlc3QgPSBlbHNlOiBbNiwgNywgOCwgOSwgMTBdJywKLSAg
ICAgICAgICAgICcnLAotICAgICAgICAgICAgJ1RpbWU6JywKLSAgICAgICAgICAgICd2YWx1ZXMg
MSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3
LCAxOCwgMTkgbXMnLAotICAgICAgICAgICAgJ2F2ZyAxMTAwIG1zJywKLSAgICAgICAgICAgICdt
ZWRpYW4gMTEwMSBtcycsCi0gICAgICAgICAgICAnc3RkZXYgMTEgbXMnLAotICAgICAgICAgICAg
J21pbiAxMDgwIG1zJywKLSAgICAgICAgICAgICdtYXggMTEyMCBtcyddKSwgaW1hZ2U9Tm9uZSwg
aW1hZ2VfaGFzaD1Ob25lLCBhdWRpbz1Ob25lKQorICAgICAgICBvdXRwdXQgPSBEcml2ZXJPdXRw
dXQoIiIiCitSdW5uaW5nIDIwIHRpbWVzCitzb21lIHRlc3Q6IFsxLCAyLCAzLCA0LCA1XQorb3Ro
ZXIgdGVzdCA9IGVsc2U6IFs2LCA3LCA4LCA5LCAxMF0KK0lnbm9yaW5nIHdhcm0tdXAgcnVuICgx
MTE1KQorCitUaW1lOgordmFsdWVzIDEwODAsIDExMjAsIDEwOTUsIDExMDEsIDExMDQgbXMKK2F2
ZyAxMTAwIG1zCittZWRpYW4gMTEwMSBtcworc3RkZXYgMTUuMzcgbXMKK21pbiAxMDgwIG1zCitt
YXggMTEyMCBtcworIiIiLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5vbmUsIGF1ZGlvPU5vbmUp
CiAgICAgICAgIG91dHB1dF9jYXB0dXJlID0gT3V0cHV0Q2FwdHVyZSgpCiAgICAgICAgIG91dHB1
dF9jYXB0dXJlLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdGVz
dCA9IFBlcmZUZXN0KE1vY2tQb3J0KCksICdzb21lLXRlc3QnLCAnL3BhdGgvc29tZS1kaXIvc29t
ZS10ZXN0JykKLSAgICAgICAgICAgIHRlc3QuX2ZpbHRlcl9vdXRwdXQob3V0cHV0KQotICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0LnBhcnNlX291dHB1dChvdXRwdXQpLAotICAgICAg
ICAgICAgICAgIHsnc29tZS10ZXN0JzogeydhdmcnOiAxMTAwLjAsICdtZWRpYW4nOiAxMTAxLjAs
ICdtaW4nOiAxMDgwLjAsICdtYXgnOiAxMTIwLjAsICdzdGRldic6IDExLjAsICd1bml0JzogJ21z
JywKLSAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlcyc6IFtpIGZvciBpIGluIHJhbmdlKDEsIDIw
KV19fSkKKyAgICAgICAgICAgIHNlbGYuX2Fzc2VydF9yZXN1bHRzX2FyZV9jb3JyZWN0KHRlc3Qs
IG91dHB1dCkKICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAg
IGFjdHVhbF9zdGRvdXQsIGFjdHVhbF9zdGRlcnIsIGFjdHVhbF9sb2dzID0gb3V0cHV0X2NhcHR1
cmUucmVzdG9yZV9vdXRwdXQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9zdGRv
dXQsICcnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9zdGRlcnIsICcnKQpJbmRl
eDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5u
ZXJfaW50ZWdyYXRpb250ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX2ludGVncmF0aW9udGVzdC5weQko
cmV2aXNpb24gMTM4Nzc2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90
ZXN0cy9wZXJmdGVzdHNydW5uZXJfaW50ZWdyYXRpb250ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBA
IC00MiwyMyArNDIsMTcgQEAgZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5jZV90ZXN0cy5wZXJmdGVz
dAogZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5jZV90ZXN0cy5wZXJmdGVzdHNydW5uZXIgaW1wb3J0
IFBlcmZUZXN0c1J1bm5lcgogCiAKLWNsYXNzIFRlc3REcml2ZXI6Ci0gICAgZGVmIHJ1bl90ZXN0
KHNlbGYsIGRyaXZlcl9pbnB1dCwgc3RvcF93aGVuX2RvbmUpOgotICAgICAgICB0ZXh0ID0gJycK
LSAgICAgICAgdGltZW91dCA9IEZhbHNlCi0gICAgICAgIGNyYXNoID0gRmFsc2UKLSAgICAgICAg
aWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgncGFzcy5odG1sJyk6Ci0gICAgICAg
ICAgICB0ZXh0ID0gJ1JFU1VMVCBncm91cF9uYW1lOiB0ZXN0X25hbWU9IDQyIG1zJwotICAgICAg
ICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3RpbWVvdXQuaHRtbCcpOgot
ICAgICAgICAgICAgdGltZW91dCA9IFRydWUKLSAgICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVz
dF9uYW1lLmVuZHN3aXRoKCdmYWlsZWQuaHRtbCcpOgotICAgICAgICAgICAgdGV4dCA9IE5vbmUK
LSAgICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCd0b25ndWV5Lmh0
bWwnKToKLSAgICAgICAgICAgIHRleHQgPSAnd2UgYXJlIG5vdCBleHBlY3RpbmcgYW4gb3V0cHV0
IGZyb20gcGVyZiB0ZXN0cyBidXQgUkVTVUxUIGJsYWJsYWJsYScKLSAgICAgICAgZWxpZiBkcml2
ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCdjcmFzaC5odG1sJyk6Ci0gICAgICAgICAgICBj
cmFzaCA9IFRydWUKLSAgICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRo
KCdldmVudC10YXJnZXQtd3JhcHBlci5odG1sJyk6Ci0gICAgICAgICAgICB0ZXh0ID0gIiIiUnVu
bmluZyAyMCB0aW1lcworY2xhc3MgSW5zcGVjdG9yUGFzc1Rlc3REYXRhOgorICAgIHRleHQgPSAn
UkVTVUxUIGdyb3VwX25hbWU6IHRlc3RfbmFtZT0gNDIgbXMnCisgICAgb3V0cHV0ID0gIiIiUnVu
bmluZyBpbnNwZWN0b3IvcGFzcy5odG1sICgyIG9mIDIpCitSRVNVTFQgZ3JvdXBfbmFtZTogdGVz
dF9uYW1lPSA0MiBtcworRmluaXNoZWQ6IDAuMSBzCisKKyIiIgorCisKK2NsYXNzIEV2ZW50VGFy
Z2V0V3JhcHBlclRlc3REYXRhOgorICAgIHRleHQgPSAiIiJSdW5uaW5nIDIwIHRpbWVzCiBJZ25v
cmluZyB3YXJtLXVwIHJ1biAoMTUwMikKIDE1MDQKIDE1MDUKQEAgLTgyLDUzICs3NiwxMTQgQEAg
SWdub3Jpbmcgd2FybS11cCBydW4gKDE1MDIpCiAxNDcxCiAKIFRpbWU6Ci12YWx1ZXMgMTUwNCwg
MTUwNSwgMTUxMCwgMTUwNCwgMTUwNywgMTUwOSwgMTUxMCwgMTQ4NywgMTQ4OCwgMTQ3MiwgMTQ3
MiwgMTQ4OCwgMTQ3MywgMTQ3MiwgMTQ3NSwgMTQ4NywgMTQ4NiwgMTQ4NiwgMTQ3NSwgMTQ3MSBt
cwotYXZnIDE0ODkuMDUgbXMKLW1lZGlhbiAxNDg3IG1zCi1zdGRldiAxNC40NiBtcwordmFsdWVz
IDE0ODYsIDE0NzEsIDE1MTAsIDE1MDUsIDE0NzgsIDE0OTAgbXMKK2F2ZyAxNDkwIG1zCittZWRp
YW4gMTQ4OCBtcworc3RkZXYgMTUuMTM5MzUgbXMKIG1pbiAxNDcxIG1zCiBtYXggMTUxMCBtcwog
IiIiCi0gICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgnc29tZS1w
YXJzZXIuaHRtbCcpOgotICAgICAgICAgICAgdGV4dCA9ICIiIlJ1bm5pbmcgMjAgdGltZXMKKwor
ICAgIG91dHB1dCA9ICIiIlJ1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRt
bCAoMSBvZiAyKQorUkVTVUxUIEJpbmRpbmdzOiBldmVudC10YXJnZXQtd3JhcHBlcj0gMTQ5MC4w
IG1zCittZWRpYW49IDE0ODguMCBtcywgc3RkZXY9IDE1LjEzOTM1IG1zLCBtaW49IDE0NzEuMCBt
cywgbWF4PSAxNTEwLjAgbXMKK0ZpbmlzaGVkOiAwLjEgcworCisiIiIKKworICAgIHJlc3VsdHMg
PSB7Im1heCI6IDE1MTAsICJhdmciOiAxNDkwLCAibWVkaWFuIjogMTQ4OCwgIm1pbiI6IDE0NzEs
ICJzdGRldiI6IDE1LjEzOTM1LCAidW5pdCI6ICJtcyIsCisgICAgICAgInZhbHVlcyI6IFsxNDg2
LCAxNDcxLCAxNTEwLCAxNTA1LCAxNDc4LCAxNDkwXX0KKworCitjbGFzcyBTb21lUGFyc2VyVGVz
dERhdGE6CisgICAgdGV4dCA9ICIiIlJ1bm5pbmcgMjAgdGltZXMKIElnbm9yaW5nIHdhcm0tdXAg
cnVuICgxMTE1KQogCiBUaW1lOgotdmFsdWVzIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEw
LCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5IG1zCit2YWx1ZXMgMTA4MCwgMTEy
MCwgMTA5NSwgMTEwMSwgMTEwNCBtcwogYXZnIDExMDAgbXMKIG1lZGlhbiAxMTAxIG1zCi1zdGRl
diAxMSBtcworc3RkZXYgMTQuNTA4NjEgbXMKIG1pbiAxMDgwIG1zCiBtYXggMTEyMCBtcwogIiIi
Ci0gICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgnbWVtb3J5LXRl
c3QuaHRtbCcpOgotICAgICAgICAgICAgdGV4dCA9ICIiIlJ1bm5pbmcgMjAgdGltZXMKKworICAg
IG91dHB1dCA9ICIiIlJ1bm5pbmcgUGFyc2VyL3NvbWUtcGFyc2VyLmh0bWwgKDIgb2YgMikKK1JF
U1VMVCBQYXJzZXI6IHNvbWUtcGFyc2VyPSAxMTAwLjAgbXMKK21lZGlhbj0gMTEwMS4wIG1zLCBz
dGRldj0gMTQuNTA4NjEgbXMsIG1pbj0gMTA4MC4wIG1zLCBtYXg9IDExMjAuMCBtcworRmluaXNo
ZWQ6IDAuMSBzCisKKyIiIgorCisKK2NsYXNzIE1lbW9yeVRlc3REYXRhOgorICAgIHRleHQgPSAi
IiJSdW5uaW5nIDIwIHRpbWVzCiBJZ25vcmluZyB3YXJtLXVwIHJ1biAoMTExNSkKIAogVGltZToK
LXZhbHVlcyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1
LCAxNiwgMTcsIDE4LCAxOSBtcwordmFsdWVzIDEwODAsIDExMjAsIDEwOTUsIDExMDEsIDExMDQg
bXMKIGF2ZyAxMTAwIG1zCiBtZWRpYW4gMTEwMSBtcwotc3RkZXYgMTEgbXMKK3N0ZGV2IDE0LjUw
ODYxIG1zCiBtaW4gMTA4MCBtcwogbWF4IDExMjAgbXMKIAogSlMgSGVhcDoKLXZhbHVlcyAxLCAy
LCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4
LCAxOSBieXRlcwotYXZnIDgzMjAwMCBieXRlcwordmFsdWVzIDgyNTAwMCwgODExMDAwLCA4NDgw
MDAsIDgzNzAwMCwgODI5MDAwIGJ5dGVzCithdmcgODMwMDAwIGJ5dGVzCiBtZWRpYW4gODI5MDAw
IGJ5dGVzCi1zdGRldiAxNTAwMCBieXRlcworc3RkZXYgMTM3ODQuMDQ4NzUgYnl0ZXMKIG1pbiA4
MTEwMDAgYnl0ZXMKIG1heCA4NDgwMDAgYnl0ZXMKIAogTWFsbG9jOgotdmFsdWVzIDEsIDIsIDMs
IDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5
IGJ5dGVzCi1hdmcgNTMyMDAwIGJ5dGVzCit2YWx1ZXMgNTI5MDAwLCA1MTEwMDAsIDU0ODAwMCwg
NTM2MDAwLCA1MjEwMDAgYnl0ZXMKK2F2ZyA1MjkwMDAgYnl0ZXMKIG1lZGlhbiA1MjkwMDAgYnl0
ZXMKLXN0ZGV2IDEzMDAwIGJ5dGVzCitzdGRldiAxNDEyNC40NDY4OSBieXRlcwogbWluIDUxMTAw
MCBieXRlcwogbWF4IDU0ODAwMCBieXRlcwogIiIiCisgICAgb3V0cHV0ID0gIiIiUnVubmluZyAx
IHRlc3RzCitSdW5uaW5nIFBhcnNlci9tZW1vcnktdGVzdC5odG1sICgxIG9mIDEpCitSRVNVTFQg
UGFyc2VyOiBtZW1vcnktdGVzdD0gMTEwMC4wIG1zCittZWRpYW49IDExMDEuMCBtcywgc3RkZXY9
IDE0LjUwODYxIG1zLCBtaW49IDEwODAuMCBtcywgbWF4PSAxMTIwLjAgbXMKK1JFU1VMVCBQYXJz
ZXI6IG1lbW9yeS10ZXN0OiBKU0hlYXA9IDgzMDAwMC4wIGJ5dGVzCittZWRpYW49IDgyOTAwMC4w
IGJ5dGVzLCBzdGRldj0gMTM3ODQuMDQ4NzUgYnl0ZXMsIG1pbj0gODExMDAwLjAgYnl0ZXMsIG1h
eD0gODQ4MDAwLjAgYnl0ZXMKK1JFU1VMVCBQYXJzZXI6IG1lbW9yeS10ZXN0OiBNYWxsb2M9IDUy
OTAwMC4wIGJ5dGVzCittZWRpYW49IDUyOTAwMC4wIGJ5dGVzLCBzdGRldj0gMTQxMjQuNDQ2ODkg
Ynl0ZXMsIG1pbj0gNTExMDAwLjAgYnl0ZXMsIG1heD0gNTQ4MDAwLjAgYnl0ZXMKK0ZpbmlzaGVk
OiAwLjEgcworIiIiCisKKyAgICByZXN1bHRzID0geyd2YWx1ZXMnOiBbMTA4MCwgMTEyMCwgMTA5
NSwgMTEwMSwgMTEwNF0sICdhdmcnOiAxMTAwLCAnbWluJzogMTA4MCwgJ21heCc6IDExMjAsCisg
ICAgICAgICdzdGRldic6IDE0LjUwODYxLCAnbWVkaWFuJzogMTEwMSwgJ3VuaXQnOiAnbXMnfQor
ICAgIGpzX2hlYXBfcmVzdWx0cyA9IHsndmFsdWVzJzogWzgyNTAwMCwgODExMDAwLCA4NDgwMDAs
IDgzNzAwMCwgODI5MDAwXSwgJ2F2Zyc6IDgzMDAwMCwgJ21pbic6IDgxMTAwMCwgJ21heCc6IDg0
ODAwMCwKKyAgICAgICAgJ3N0ZGV2JzogMTM3ODQuMDQ4NzUsICdtZWRpYW4nOiA4MjkwMDAsICd1
bml0JzogJ2J5dGVzJ30KKyAgICBtYWxsb2NfcmVzdWx0cyA9IHsndmFsdWVzJzogWzUyOTAwMCwg
NTExMDAwLCA1NDgwMDAsIDUzNjAwMCwgNTIxMDAwXSwgJ2F2Zyc6IDUyOTAwMCwgJ21pbic6IDUx
MTAwMCwgJ21heCc6IDU0ODAwMCwKKyAgICAgICAgJ3N0ZGV2JzogMTQxMjQuNDQ2ODksICdtZWRp
YW4nOiA1MjkwMDAsICd1bml0JzogJ2J5dGVzJ30KKworCitjbGFzcyBUZXN0RHJpdmVyOgorICAg
IGRlZiBydW5fdGVzdChzZWxmLCBkcml2ZXJfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKKyAgICAg
ICAgdGV4dCA9ICcnCisgICAgICAgIHRpbWVvdXQgPSBGYWxzZQorICAgICAgICBjcmFzaCA9IEZh
bHNlCisgICAgICAgIGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3Bhc3MuaHRt
bCcpOgorICAgICAgICAgICAgdGV4dCA9IEluc3BlY3RvclBhc3NUZXN0RGF0YS50ZXh0CisgICAg
ICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgndGltZW91dC5odG1sJyk6
CisgICAgICAgICAgICB0aW1lb3V0ID0gVHJ1ZQorICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50
ZXN0X25hbWUuZW5kc3dpdGgoJ2ZhaWxlZC5odG1sJyk6CisgICAgICAgICAgICB0ZXh0ID0gTm9u
ZQorICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3Rvbmd1ZXku
aHRtbCcpOgorICAgICAgICAgICAgdGV4dCA9ICd3ZSBhcmUgbm90IGV4cGVjdGluZyBhbiBvdXRw
dXQgZnJvbSBwZXJmIHRlc3RzIGJ1dCBSRVNVTFQgYmxhYmxhYmxhJworICAgICAgICBlbGlmIGRy
aXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ2NyYXNoLmh0bWwnKToKKyAgICAgICAgICAg
IGNyYXNoID0gVHJ1ZQorICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dp
dGgoJ2V2ZW50LXRhcmdldC13cmFwcGVyLmh0bWwnKToKKyAgICAgICAgICAgIHRleHQgPSBFdmVu
dFRhcmdldFdyYXBwZXJUZXN0RGF0YS50ZXh0CisgICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRl
c3RfbmFtZS5lbmRzd2l0aCgnc29tZS1wYXJzZXIuaHRtbCcpOgorICAgICAgICAgICAgdGV4dCA9
IFNvbWVQYXJzZXJUZXN0RGF0YS50ZXh0CisgICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3Rf
bmFtZS5lbmRzd2l0aCgnbWVtb3J5LXRlc3QuaHRtbCcpOgorICAgICAgICAgICAgdGV4dCA9IE1l
bW9yeVRlc3REYXRhLnRleHQKICAgICAgICAgcmV0dXJuIERyaXZlck91dHB1dCh0ZXh0LCAnJywg
JycsICcnLCBjcmFzaD1jcmFzaCwgdGltZW91dD10aW1lb3V0KQogCiAgICAgZGVmIHN0YXJ0KHNl
bGYpOgpAQCAtMTQwLDcgKzE5NSwxMSBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAKIGNsYXNzIE1haW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgX25vcm1hbGl6ZV9vdXRwdXQoc2VsZiwg
bG9nKToKLSAgICAgICAgcmV0dXJuIHJlLnN1YihyJ0ZpbmlzaGVkOiBbMC05XC5dKyBzJywgJ0Zp
bmlzaGVkOiAwLjEgcycsIGxvZykKKyAgICAgICAgcmV0dXJuIHJlLnN1YihyJyhzdGRldj1ccytc
ZCtcLlxkezV9KVxkKycsIHInXDEnLCByZS5zdWIocidGaW5pc2hlZDogWzAtOVwuXSsgcycsICdG
aW5pc2hlZDogMC4xIHMnLCBsb2cpKQorCisgICAgZGVmIF9sb2FkX291dHB1dF9qc29uKHNlbGYs
IHJ1bm5lcik6CisgICAgICAgIGpzb25fY29udGVudCA9IHJ1bm5lci5faG9zdC5maWxlc3lzdGVt
LnJlYWRfdGV4dF9maWxlKHJ1bm5lci5fb3V0cHV0X2pzb25fcGF0aCgpKQorICAgICAgICByZXR1
cm4ganNvbi5sb2FkcyhyZS5zdWIocicoInN0ZGV2IjpccypcZCtcLlxkezV9KVxkKycsIHInXDEn
LCBqc29uX2NvbnRlbnQpKQogCiAgICAgZGVmIGNyZWF0ZV9ydW5uZXIoc2VsZiwgYXJncz1bXSwg
ZHJpdmVyX2NsYXNzPVRlc3REcml2ZXIpOgogICAgICAgICBvcHRpb25zLCBwYXJzZWRfYXJncyA9
IFBlcmZUZXN0c1J1bm5lci5fcGFyc2VfYXJncyhhcmdzKQpAQCAtMTUyLDggKzIxMSw2IEBAIGNs
YXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcnVubmVyLl9ob3N0LmZp
bGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3RvcnkocnVubmVyLl9iYXNlX3BhdGgsICdCaW5kaW5n
cycpCiAgICAgICAgIHJ1bm5lci5faG9zdC5maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5
KHJ1bm5lci5fYmFzZV9wYXRoLCAnUGFyc2VyJykKIAotICAgICAgICBmaWxlc3lzdGVtID0gcnVu
bmVyLl9ob3N0LmZpbGVzeXN0ZW0KLSAgICAgICAgcnVubmVyLmxvYWRfb3V0cHV0X2pzb24gPSBs
YW1iZGE6IGpzb24ubG9hZHMoZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShydW5uZXIuX291dHB1
dF9qc29uX3BhdGgoKSkpCiAgICAgICAgIHJldHVybiBydW5uZXIsIHRlc3RfcG9ydAogCiAgICAg
ZGVmIHJ1bl90ZXN0KHNlbGYsIHRlc3RfbmFtZSk6CkBAIC0yMjgsMTYgKzI4NSw3IEBAIGNsYXNz
IE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZmluYWxseToKICAgICAgICAg
ICAgIHN0ZG91dCwgc3RkZXJyLCBsb2cgPSBvdXRwdXQucmVzdG9yZV9vdXRwdXQoKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHVuZXhwZWN0ZWRfcmVzdWx0X2NvdW50LCAwKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlbGYuX25vcm1hbGl6ZV9vdXRwdXQobG9nKSwgJ1xuJy5qb2luKFsn
UnVubmluZyBCaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlci5odG1sICgxIG9mIDIpJywKLSAg
ICAgICAgJ1JFU1VMVCBCaW5kaW5nczogZXZlbnQtdGFyZ2V0LXdyYXBwZXI9IDE0ODkuMDUgbXMn
LAotICAgICAgICAnbWVkaWFuPSAxNDg3LjAgbXMsIHN0ZGV2PSAxNC40NiBtcywgbWluPSAxNDcx
LjAgbXMsIG1heD0gMTUxMC4wIG1zJywKLSAgICAgICAgJ0ZpbmlzaGVkOiAwLjEgcycsCi0gICAg
ICAgICcnLAotICAgICAgICAnUnVubmluZyBQYXJzZXIvc29tZS1wYXJzZXIuaHRtbCAoMiBvZiAy
KScsCi0gICAgICAgICdSRVNVTFQgUGFyc2VyOiBzb21lLXBhcnNlcj0gMTEwMC4wIG1zJywKLSAg
ICAgICAgJ21lZGlhbj0gMTEwMS4wIG1zLCBzdGRldj0gMTEuMCBtcywgbWluPSAxMDgwLjAgbXMs
IG1heD0gMTEyMC4wIG1zJywKLSAgICAgICAgJ0ZpbmlzaGVkOiAwLjEgcycsCi0gICAgICAgICcn
LCAnJ10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX25vcm1hbGl6ZV9vdXRwdXQo
bG9nKSwgRXZlbnRUYXJnZXRXcmFwcGVyVGVzdERhdGEub3V0cHV0ICsgU29tZVBhcnNlclRlc3RE
YXRhLm91dHB1dCkKIAogICAgIGRlZiB0ZXN0X3J1bl9tZW1vcnlfdGVzdChzZWxmKToKICAgICAg
ICAgcnVubmVyLCBwb3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyX2FuZF9zZXR1cF9yZXN1bHRzX3Rl
bXBsYXRlKCkKQEAgLTI1MSwyNCArMjk5LDEyIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHN0ZG91dCwgc3RkZXJyLCBs
b2cgPSBvdXRwdXQucmVzdG9yZV9vdXRwdXQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVu
ZXhwZWN0ZWRfcmVzdWx0X2NvdW50LCAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
X25vcm1hbGl6ZV9vdXRwdXQobG9nKSwgJ1xuJy5qb2luKFsKLSAgICAgICAgICAgICdSdW5uaW5n
IDEgdGVzdHMnLAotICAgICAgICAgICAgJ1J1bm5pbmcgUGFyc2VyL21lbW9yeS10ZXN0Lmh0bWwg
KDEgb2YgMSknLAotICAgICAgICAgICAgJ1JFU1VMVCBQYXJzZXI6IG1lbW9yeS10ZXN0PSAxMTAw
LjAgbXMnLAotICAgICAgICAgICAgJ21lZGlhbj0gMTEwMS4wIG1zLCBzdGRldj0gMTEuMCBtcywg
bWluPSAxMDgwLjAgbXMsIG1heD0gMTEyMC4wIG1zJywKLSAgICAgICAgICAgICdSRVNVTFQgUGFy
c2VyOiBtZW1vcnktdGVzdDogSlNIZWFwPSA4MzIwMDAuMCBieXRlcycsCi0gICAgICAgICAgICAn
bWVkaWFuPSA4MjkwMDAuMCBieXRlcywgc3RkZXY9IDE1MDAwLjAgYnl0ZXMsIG1pbj0gODExMDAw
LjAgYnl0ZXMsIG1heD0gODQ4MDAwLjAgYnl0ZXMnLAotICAgICAgICAgICAgJ1JFU1VMVCBQYXJz
ZXI6IG1lbW9yeS10ZXN0OiBNYWxsb2M9IDUzMjAwMC4wIGJ5dGVzJywKLSAgICAgICAgICAgICdt
ZWRpYW49IDUyOTAwMC4wIGJ5dGVzLCBzdGRldj0gMTMwMDAuMCBieXRlcywgbWluPSA1MTEwMDAu
MCBieXRlcywgbWF4PSA1NDgwMDAuMCBieXRlcycsCi0gICAgICAgICAgICAnRmluaXNoZWQ6IDAu
MSBzJywKLSAgICAgICAgICAgICcnLAotICAgICAgICAgICAgJ01PQ0s6IHVzZXIub3Blbl91cmw6
IGZpbGU6Ly8uLi4nLAotICAgICAgICAgICAgJyddKSkKLSAgICAgICAgcmVzdWx0cyA9IHJ1bm5l
ci5sb2FkX291dHB1dF9qc29uKClbMF1bJ3Jlc3VsdHMnXQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX25vcm1hbGl6ZV9vdXRwdXQobG9nKSwgTWVtb3J5VGVzdERhdGEub3V0cHV0ICsg
J1xuTU9DSzogdXNlci5vcGVuX3VybDogZmlsZTovLy4uLlxuJykKKyAgICAgICAgcmVzdWx0cyA9
IHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKVswXVsncmVzdWx0cyddCiAgICAgICAgIHZh
bHVlcyA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1
LCAxNiwgMTcsIDE4LCAxOV0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzWydQYXJz
ZXIvbWVtb3J5LXRlc3QnXSwgeydtaW4nOiAxMDgwLjAsICdtYXgnOiAxMTIwLjAsICdtZWRpYW4n
OiAxMTAxLjAsICdzdGRldic6IDExLjAsICdhdmcnOiAxMTAwLjAsICd1bml0JzogJ21zJywgJ3Zh
bHVlcyc6IHZhbHVlc30pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2Vy
L21lbW9yeS10ZXN0OkpTSGVhcCddLCB7J21pbic6IDgxMTAwMC4wLCAnbWF4JzogODQ4MDAwLjAs
ICdtZWRpYW4nOiA4MjkwMDAuMCwgJ3N0ZGV2JzogMTUwMDAuMCwgJ2F2Zyc6IDgzMjAwMC4wLCAn
dW5pdCc6ICdieXRlcycsICd2YWx1ZXMnOiB2YWx1ZXN9KQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHJlc3VsdHNbJ1BhcnNlci9tZW1vcnktdGVzdDpNYWxsb2MnXSwgeydtaW4nOiA1MTEwMDAu
MCwgJ21heCc6IDU0ODAwMC4wLCAnbWVkaWFuJzogNTI5MDAwLjAsICdzdGRldic6IDEzMDAwLjAs
ICdhdmcnOiA1MzIwMDAuMCwgJ3VuaXQnOiAnYnl0ZXMnLCAndmFsdWVzJzogdmFsdWVzfSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzWydQYXJzZXIvbWVtb3J5LXRlc3QnXSwgTWVt
b3J5VGVzdERhdGEucmVzdWx0cykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzWydQ
YXJzZXIvbWVtb3J5LXRlc3Q6SlNIZWFwJ10sIE1lbW9yeVRlc3REYXRhLmpzX2hlYXBfcmVzdWx0
cykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzWydQYXJzZXIvbWVtb3J5LXRlc3Q6
TWFsbG9jJ10sIE1lbW9yeVRlc3REYXRhLm1hbGxvY19yZXN1bHRzKQogCiAgICAgZGVmIF90ZXN0
X3J1bl93aXRoX2pzb25fb3V0cHV0KHNlbGYsIHJ1bm5lciwgZmlsZXN5c3RlbSwgdXBsb2FkX3N1
Y2VlZHM9RmFsc2UsIHJlc3VsdHNfc2hvd249VHJ1ZSwgZXhwZWN0ZWRfZXhpdF9jb2RlPTApOgog
ICAgICAgICBmaWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShydW5uZXIuX2Jhc2VfcGF0aCArICcv
aW5zcGVjdG9yL3Bhc3MuaHRtbCcsICdzb21lIGNvbnRlbnQnKQpAQCAtMjkyLDE2ICszMjgsNyBA
QCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBzdGRvdXQs
IHN0ZGVyciwgbG9ncyA9IG91dHB1dF9jYXB0dXJlLnJlc3RvcmVfb3V0cHV0KCkKIAogICAgICAg
ICBpZiBub3QgZXhwZWN0ZWRfZXhpdF9jb2RlOgotICAgICAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
ICdcbicuam9pbihbJ1J1bm5pbmcgMiB0ZXN0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnUnVubmluZyBCaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlci5odG1s
ICgxIG9mIDIpJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSRVNV
TFQgQmluZGluZ3M6IGV2ZW50LXRhcmdldC13cmFwcGVyPSAxNDg5LjA1IG1zJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZWRpYW49IDE0ODcuMCBtcywgc3RkZXY9
IDE0LjQ2IG1zLCBtaW49IDE0NzEuMCBtcywgbWF4PSAxNTEwLjAgbXMnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZpbmlzaGVkOiAwLjEgcycsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdSdW5uaW5nIGluc3BlY3Rvci9wYXNzLmh0bWwgKDIgb2YgMiknLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JFU1VMVCBncm91cF9uYW1l
OiB0ZXN0X25hbWU9IDQyIG1zJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJycsICcnXSkKKyAgICAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAnUnVubmluZyAyIHRl
c3RzXG4nICsgRXZlbnRUYXJnZXRXcmFwcGVyVGVzdERhdGEub3V0cHV0ICsgSW5zcGVjdG9yUGFz
c1Rlc3REYXRhLm91dHB1dAogICAgICAgICAgICAgaWYgcmVzdWx0c19zaG93bjoKICAgICAgICAg
ICAgICAgICBleHBlY3RlZF9sb2dzICs9ICdNT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxlOi8vLi4u
XG4nCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX25vcm1hbGl6ZV9vdXRwdXQo
bG9ncyksIGV4cGVjdGVkX2xvZ3MpCkBAIC0zMTEsMTUgKzMzOCwxNCBAQCBjbGFzcyBNYWluVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiBsb2dzCiAKICAgICBfZXZlbnRf
dGFyZ2V0X3dyYXBwZXJfYW5kX2luc3BlY3Rvcl9yZXN1bHRzID0gewotICAgICAgICAiQmluZGlu
Z3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIiOiB7Im1heCI6IDE1MTAsICJhdmciOiAxNDg5LjA1LCAi
bWVkaWFuIjogMTQ4NywgIm1pbiI6IDE0NzEsICJzdGRldiI6IDE0LjQ2LCAidW5pdCI6ICJtcyIs
Ci0gICAgICAgICAgICJ2YWx1ZXMiOiBbMTUwNCwgMTUwNSwgMTUxMCwgMTUwNCwgMTUwNywgMTUw
OSwgMTUxMCwgMTQ4NywgMTQ4OCwgMTQ3MiwgMTQ3MiwgMTQ4OCwgMTQ3MywgMTQ3MiwgMTQ3NSwg
MTQ4NywgMTQ4NiwgMTQ4NiwgMTQ3NSwgMTQ3MV19LAorICAgICAgICAiQmluZGluZ3MvZXZlbnQt
dGFyZ2V0LXdyYXBwZXIiOiBFdmVudFRhcmdldFdyYXBwZXJUZXN0RGF0YS5yZXN1bHRzLAogICAg
ICAgICAiaW5zcGVjdG9yL3Bhc3MuaHRtbDpncm91cF9uYW1lOnRlc3RfbmFtZSI6IDQyfQogCiAg
ICAgZGVmIHRlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQoc2VsZik6CiAgICAgICAgIHJ1bm5lciwg
cG9ydCA9IHNlbGYuY3JlYXRlX3J1bm5lcl9hbmRfc2V0dXBfcmVzdWx0c190ZW1wbGF0ZShhcmdz
PVsnLS1vdXRwdXQtanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJywKICAgICAg
ICAgICAgICctLXRlc3QtcmVzdWx0cy1zZXJ2ZXI9c29tZS5ob3N0J10pCiAgICAgICAgIHNlbGYu
X3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwg
dXBsb2FkX3N1Y2VlZHM9VHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9h
ZF9vdXRwdXRfanNvbigpLCBbeworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2xvYWRf
b3V0cHV0X2pzb24ocnVubmVyKSwgW3sKICAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAxMjM0NTY3
ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dyYXBwZXJfYW5kX2luc3BlY3Rvcl9y
ZXN1bHRzLAogICAgICAgICAgICAgIndlYmtpdC1yZXZpc2lvbiI6ICI1Njc4IiwgImJyYW5jaCI6
ICJ3ZWJraXQtdHJ1bmsifV0pCiAKQEAgLTMzMSw3ICszNTcsNyBAQCBjbGFzcyBNYWluVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJ1bm5lciwgcG9ydCA9IHNlbGYuY3JlYXRlX3J1
bm5lcl9hbmRfc2V0dXBfcmVzdWx0c190ZW1wbGF0ZShhcmdzPVsnLS1vdXRwdXQtanNvbi1wYXRo
PS9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJywKICAgICAgICAgICAgICctLXRlc3QtcmVzdWx0
cy1zZXJ2ZXI9c29tZS5ob3N0JywgJy0tZGVzY3JpcHRpb24nLCAnc29tZSBkZXNjcmlwdGlvbidd
KQogICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5o
b3N0LmZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRzPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocnVubmVyLmxvYWRfb3V0cHV0X2pzb24oKSwgW3sKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWxmLl9sb2FkX291dHB1dF9qc29uKHJ1bm5lciksIFt7CiAgICAgICAgICAgICAidGlt
ZXN0YW1wIjogMTIzNDU2Nzg5LCAiZGVzY3JpcHRpb24iOiAic29tZSBkZXNjcmlwdGlvbiIsCiAg
ICAgICAgICAgICAicmVzdWx0cyI6IHNlbGYuX2V2ZW50X3RhcmdldF93cmFwcGVyX2FuZF9pbnNw
ZWN0b3JfcmVzdWx0cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2aXNpb24iOiAiNTY3OCIsICJi
cmFuY2giOiAid2Via2l0LXRydW5rIn1dKQpAQCAtMzYyLDcgKzM4OCw3IEBAIGNsYXNzIE1haW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pz
b25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0pCiAKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNvbigpLCBbeworICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKSwgW3sKICAgICAgICAgICAg
ICJ0aW1lc3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dy
YXBwZXJfYW5kX2luc3BlY3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtpdC1yZXZpc2lv
biI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsifV0pCiAKQEAgLTM3OCw3ICs0MDQs
NyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgc2VsZi5f
dGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQog
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLmxvYWRfb3V0cHV0X2pzb24oKSwgW3si
cHJldmlvdXMiOiAicmVzdWx0cyJ9LCB7CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5f
bG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBbeyJwcmV2aW91cyI6ICJyZXN1bHRzIn0sIHsKICAg
ICAgICAgICAgICJ0aW1lc3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRf
dGFyZ2V0X3dyYXBwZXJfYW5kX2luc3BlY3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtp
dC1yZXZpc2lvbiI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsifV0pCiAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShmaWxlc3lzdGVtLmlzZmlsZShmaWxlc3lzdGVtLnNwbGl0ZXh0KG91
dHB1dF9qc29uX3BhdGgpWzBdICsgJy5odG1sJykpCkBAIC0zOTIsNyArNDE4LDcgQEAgY2xhc3Mg
TWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dp
dGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSkKIAotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIFt7CisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc2VsZi5fbG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBbewogICAgICAg
ICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4OSwgInJlc3VsdHMiOiBzZWxmLl9ldmVudF90YXJn
ZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3VsdHMsCiAgICAgICAgICAgICAid2Via2l0LXJl
dmlzaW9uIjogIjU2NzgiLCAiYnJhbmNoIjogIndlYmtpdC10cnVuayJ9XSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKGZpbGVzeXN0ZW0uaXNmaWxlKGZpbGVzeXN0ZW0uc3BsaXRleHQob3V0cHV0
X2pzb25fcGF0aClbMF0gKyAnLmh0bWwnKSkKQEAgLTQxMCw3ICs0MzYsNyBAQCBjbGFzcyBNYWlu
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5lci5fb3V0cHV0X2pzb25fcGF0aCgpLCAnL21v
Y2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5l
ci5sb2FkX291dHB1dF9qc29uKCksIFtleHBlY3RlZF9lbnRyeV0pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5fbG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBbZXhwZWN0ZWRfZW50cnld
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy9t
b2NrLWNoZWNrb3V0L291dHB1dC5odG1sJyksCiAgICAgICAgICAgICAnQkVHSU48c2NyaXB0IHNy
Yz0iL3Rlc3QuY2hlY2tvdXQvc29tZS5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii90ZXN0LmNo
ZWNrb3V0L290aGVyLmpzIj48L3NjcmlwdD4nCiAgICAgICAgICAgICAnPHNjcmlwdD4lczwvc2Ny
aXB0PkVORCcgJSBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShydW5uZXIuX291
dHB1dF9qc29uX3BhdGgoKSkpCkBAIC00MTgsNyArNDQ0LDcgQEAgY2xhc3MgTWFpblRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogCiAgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRw
dXQocnVubmVyLCBmaWxlc3lzdGVtLCByZXN1bHRzX3Nob3duPUZhbHNlKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHJ1bm5lci5fb3V0cHV0X2pzb25fcGF0aCgpLCAnL21vY2stY2hlY2tvdXQv
b3V0cHV0Lmpzb24nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5lci5sb2FkX291dHB1
dF9qc29uKCksIFtleHBlY3RlZF9lbnRyeSwgZXhwZWN0ZWRfZW50cnldKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKSwgW2V4cGVjdGVkX2Vu
dHJ5LCBleHBlY3RlZF9lbnRyeV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZXN5c3Rl
bS5yZWFkX3RleHRfZmlsZSgnL21vY2stY2hlY2tvdXQvb3V0cHV0Lmh0bWwnKSwKICAgICAgICAg
ICAgICdCRUdJTjxzY3JpcHQgc3JjPSIvdGVzdC5jaGVja291dC9zb21lLmpzIj48L3NjcmlwdD48
c2NyaXB0IHNyYz0iL3Rlc3QuY2hlY2tvdXQvb3RoZXIuanMiPjwvc2NyaXB0PicKICAgICAgICAg
ICAgICc8c2NyaXB0PiVzPC9zY3JpcHQ+RU5EJyAlIHBvcnQuaG9zdC5maWxlc3lzdGVtLnJlYWRf
dGV4dF9maWxlKHJ1bm5lci5fb3V0cHV0X2pzb25fcGF0aCgpKSkKQEAgLTQ1MSw3ICs0NzcsNyBA
QCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnLS1zbGF2
ZS1jb25maWctanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L3NsYXZlLWNvbmZpZy5qc29uJywgJy0t
dGVzdC1yZXN1bHRzLXNlcnZlcj1zb21lLmhvc3QnXSkKICAgICAgICAgcG9ydC5ob3N0LmZpbGVz
eXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9zbGF2ZS1jb25maWcuanNvbics
ICd7ImtleSI6ICJ2YWx1ZSJ9JykKICAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291
dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1UcnVlKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIFt7Cisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fbG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBb
ewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4OSwgInJlc3VsdHMiOiBzZWxmLl9l
dmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3VsdHMsCiAgICAgICAgICAgICAi
d2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAiYnJhbmNoIjogIndlYmtpdC10cnVuayIsICJrZXki
OiAidmFsdWUifV0pCiAKQEAgLTQ3MCw3ICs0OTYsNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9z
dCddKQogICAgICAgICBwb3J0LnJlcG9zaXRvcnlfcGF0aHMgPSBsYW1iZGE6IFsoJ3dlYmtpdCcs
ICcvbW9jay1jaGVja291dCcpLCAoJ3NvbWUnLCAnL21vY2stY2hlY2tvdXQvc29tZScpXQogICAg
ICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZp
bGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRzPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cnVubmVyLmxvYWRfb3V0cHV0X2pzb24oKSwgW3sKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLl9sb2FkX291dHB1dF9qc29uKHJ1bm5lciksIFt7CiAgICAgICAgICAgICAidGltZXN0YW1w
IjogMTIzNDU2Nzg5LCAicmVzdWx0cyI6IHNlbGYuX2V2ZW50X3RhcmdldF93cmFwcGVyX2FuZF9p
bnNwZWN0b3JfcmVzdWx0cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2aXNpb24iOiAiNTY3OCIs
ICJzb21lLXJldmlzaW9uIjogIjU2NzgiLCAiYnJhbmNoIjogIndlYmtpdC10cnVuayJ9XSkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181283</attachid>
            <date>2013-01-04 01:30:46 -0800</date>
            <delta_ts>2013-01-04 10:03:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106078-20130104012753.patch</filename>
            <type>text/plain</type>
            <size>26955</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEzODc4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ5IEBACisyMDEzLTAxLTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFN0YXRpc3RpY3MgdXNlZCBpbiBwZXJmdGVzdF91bml0dGVzdC5weSBhbmQgcGVy
ZnRlc3RfaW50ZWdyYXRpb250ZXN0LnB5IGFyZSBib2d1cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHZhbHVlcyBmb3Ig
aW5kaXZpZHVhbCBpdGVyYXRpb25zIGluIGR1bW15IHBlcmZvcm1hbmNlIHRlc3RzIHVzZWQgaW4K
KyAgICAgICAgcGVyZnRlc3RfdW5pdHRlc3QucHkgYW5kIHBlcmZ0ZXN0X2ludGVncmF0aW9udGVz
dC5weSBzbyB0aGF0IHRoZXkgbWF0Y2ggdXAgd2l0aAorICAgICAgICBzdGF0aXN0aWNzIHN1Y2gg
YXMgc3RkZXYgYW5kIG1lZGlhbiByZXBvcnRlZCBpbiB0aG9zZSB0ZXN0cy4gVGhpcyBjaGFuZ2Ug
aXMgcmVxdWlyZWQKKyAgICAgICAgdG8gcmVzb2x2ZSB0aGUgYnVnIDk3NTEwLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyByZWZhY3RvcnMgaW50ZWdyYXRpb24gdGVzdHMgYnkgZXh0cmFjdGlu
ZyAqVGVzdERhdGEgY2xhc3NlcyB0aGF0CisgICAgICAgIGNlbnRyYWxpemVzIHRoZSBkZWZpbml0
aW9ucyBvZiBlYWNoIGR1bW15IHBlcmZvcm1hbmNlIHRlc3QncyB0ZXh0IChEUlQgb3V0cHV0KSwK
KyAgICAgICAgcnVubmVyIG91dHB1dCwgYW5kIHBhcnNlZCByZXN1bHRzIChKU09OKSBzbyB0aGF0
IHdlIG1heSBzaGFyZSBtb3JlIGRhdGEgYmV0d2VlbgorICAgICAgICBweXRob24gdGVzdHMuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoTWFpblRlc3QuX2Fzc2VydF9yZXN1bHRzX2FyZV9jb3JyZWN0
KTogRXh0cmFjdGVkIGZyb20gdGVzdF9wYXJzZV9vdXRwdXQuCisgICAgICAgIFVzZSBzZWxmLmFz
c2VydEFsbW9zdEVxdWFsIHdoZW4gY29tcGFyaW5nIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24uCisg
ICAgICAgIChNYWluVGVzdC50ZXN0X3BhcnNlX291dHB1dCk6CisgICAgICAgICh0ZXN0X3BhcnNl
X291dHB1dF93aXRoX2ZhaWxpbmdfbGluZSk6CisgICAgICAgICh0ZXN0X3BhcnNlX291dHB1dF93
aXRoX2Rlc2NyaXB0aW9uKTogVXNlIF9hc3NlcnRfcmVzdWx0c19hcmVfY29ycmVjdC4KKyAgICAg
ICAgKHRlc3RfcGFyc2Vfb3V0cHV0X3dpdGhfc3VidGVzdHMpOiBEaXR0by4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX2ludGVn
cmF0aW9udGVzdC5weToKKyAgICAgICAgKEluc3BlY3RvclBhc3NUZXN0RGF0YSk6IEV4dHJhY3Rl
ZCBmcm9tIHRlc3RzIGJlbG93LgorICAgICAgICAoRXZlbnRUYXJnZXRXcmFwcGVyVGVzdERhdGEp
OiBEaXR0by4KKyAgICAgICAgKFNvbWVQYXJzZXJUZXN0RGF0YSk6IERpdHRvLgorICAgICAgICAo
TWVtb3J5VGVzdERhdGEpOiBEaXR0by4KKyAgICAgICAgKFRlc3REcml2ZXIucnVuX3Rlc3QpOiBN
b3ZlZCB0ZXN0IGRlZmluaXRpb25zIG91dCBvZiB0aGUgbWV0aG9kLgorICAgICAgICAoTWFpblRl
c3QuX25vcm1hbGl6ZV9vdXRwdXQpOiBUcnVuY2F0ZSBzdGFuZGFyZCBkZXZpYXRpb25zIGF0IDV0
aCBkZWNpbWFsIHBvaW50LgorICAgICAgICAoTWFpblRlc3QuX2xvYWRfb3V0cHV0X2pzb24pOiBF
eHRyYWN0ZWQgZnJvbSBjcmVhdGVfcnVubmVyLgorICAgICAgICAoTWFpblRlc3QuY3JlYXRlX3J1
bm5lcik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl90ZXN0X3NldF9mb3JfcGFyc2VyX3Rl
c3RzKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX21lbW9yeV90ZXN0KToKKyAgICAgICAg
KE1haW5UZXN0Ll90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KToKKyAgICAgICAgKE1haW5UZXN0
LnRlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9ydW5f
d2l0aF9kZXNjcmlwdGlvbik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl9nZW5lcmF0ZXNf
anNvbl9ieV9kZWZhdWx0KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX21lcmdlc19vdXRw
dXRfYnlfZGVmYXVsdCk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl9yZXNwZWN0c19yZXNl
dF9yZXN1bHRzKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX2dlbmVyYXRlc19hbmRfc2hv
d19yZXN1bHRzX3BhZ2UpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9ydW5fd2l0aF9zbGF2ZV9j
b25maWdfanNvbik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3J1bl93aXRoX211bHRpcGxlX3Jl
cG9zaXRvcmllcyk6CisKIDIwMTMtMDEtMDMgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbTWFjXSBJbnRlcm1pdHRlbnQgY3Jhc2gg
aW4gV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VxdWFsCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RfdW5pdHRlc3QucHkJKHJldmlzaW9uIDEzODc3NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkK
QEAgLTY4LDQ3ICs2OCw1OSBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFsxLCAyLCAz
LCA0LCA1LCA2XSlbJ3N0ZGV2J10sIG1hdGguc3FydCgzLjUpKQogICAgICAgICBzZWxmLmFzc2Vy
dEFsbW9zdEVxdWFsKGNvbXB1dGVfc3RhdGlzdGljcyhbNCwgMiwgNSwgOCwgNl0pWydzdGRldidd
LCBtYXRoLnNxcnQoNSkpCiAKKyAgICBkZWYgX2Fzc2VydF9yZXN1bHRzX2FyZV9jb3JyZWN0KHNl
bGYsIHRlc3QsIG91dHB1dCk6CisgICAgICAgIHRlc3QuX2ZpbHRlcl9vdXRwdXQob3V0cHV0KQor
ICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IHRlc3QucGFyc2Vfb3V0cHV0KG91dHB1dCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZWRfcmVzdWx0cy5rZXlzKCksIFsnc29tZS10ZXN0J10p
CisgICAgICAgIHNvbWVfdGVzdF9yZXN1bHRzID0gcGFyc2VkX3Jlc3VsdHNbJ3NvbWUtdGVzdCdd
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkKHNvbWVfdGVzdF9yZXN1bHRzLmtleXMo
KSksIFsnYXZnJywgJ21heCcsICdtZWRpYW4nLCAnbWluJywgJ3N0ZGV2JywgJ3VuaXQnLCAndmFs
dWVzJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ3ZhbHVl
cyddLCBbMTA4MCwgMTEyMCwgMTA5NSwgMTEwMSwgMTEwNF0pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21pbiddLCAxMDgwKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydtYXgnXSwgMTEyMCkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzb21lX3Rlc3RfcmVzdWx0c1snYXZnJ10sIDExMDApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21lZGlhbiddLCAxMTAxKQorICAgICAgICBzZWxm
LmFzc2VydEFsbW9zdEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydzdGRldiddLCAxNC41MDg2Miwg
cGxhY2VzPTUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ3Vu
aXQnXSwgJ21zJykKKwogICAgIGRlZiB0ZXN0X3BhcnNlX291dHB1dChzZWxmKToKLSAgICAgICAg
b3V0cHV0ID0gRHJpdmVyT3V0cHV0KCdcbicuam9pbihbCi0gICAgICAgICAgICAnUnVubmluZyAy
MCB0aW1lcycsCi0gICAgICAgICAgICAnSWdub3Jpbmcgd2FybS11cCBydW4gKDExMTUpJywKLSAg
ICAgICAgICAgICcnLAotICAgICAgICAgICAgJ1RpbWU6JywKLSAgICAgICAgICAgICd2YWx1ZXMg
MSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3
LCAxOCwgMTkgbXMnLAotICAgICAgICAgICAgJ2F2ZyAxMTAwIG1zJywKLSAgICAgICAgICAgICdt
ZWRpYW4gMTEwMSBtcycsCi0gICAgICAgICAgICAnc3RkZXYgMTEgbXMnLAotICAgICAgICAgICAg
J21pbiAxMDgwIG1zJywKLSAgICAgICAgICAgICdtYXggMTEyMCBtcyddKSwgaW1hZ2U9Tm9uZSwg
aW1hZ2VfaGFzaD1Ob25lLCBhdWRpbz1Ob25lKQorICAgICAgICBvdXRwdXQgPSBEcml2ZXJPdXRw
dXQoIiIiCitSdW5uaW5nIDIwIHRpbWVzCitJZ25vcmluZyB3YXJtLXVwIHJ1biAoMTExNSkKKwor
VGltZToKK3ZhbHVlcyAxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0IG1zCithdmcgMTEwMCBt
cworbWVkaWFuIDExMDEgbXMKK3N0ZGV2IDE0LjUwODYyIG1zCittaW4gMTA4MCBtcworbWF4IDEx
MjAgbXMKKyIiIiwgaW1hZ2U9Tm9uZSwgaW1hZ2VfaGFzaD1Ob25lLCBhdWRpbz1Ob25lKQogICAg
ICAgICBvdXRwdXRfY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQogICAgICAgICBvdXRwdXRfY2Fw
dHVyZS5jYXB0dXJlX291dHB1dCgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRlc3QgPSBQ
ZXJmVGVzdChNb2NrUG9ydCgpLCAnc29tZS10ZXN0JywgJy9wYXRoL3NvbWUtZGlyL3NvbWUtdGVz
dCcpCi0gICAgICAgICAgICB0ZXN0Ll9maWx0ZXJfb3V0cHV0KG91dHB1dCkKLSAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwodGVzdC5wYXJzZV9vdXRwdXQob3V0cHV0KSwKLSAgICAgICAgICAg
ICAgICB7J3NvbWUtdGVzdCc6IHsnYXZnJzogMTEwMC4wLCAnbWVkaWFuJzogMTEwMS4wLCAnbWlu
JzogMTA4MC4wLCAnbWF4JzogMTEyMC4wLCAnc3RkZXYnOiAxMS4wLCAndW5pdCc6ICdtcycsCi0g
ICAgICAgICAgICAgICAgICAgICd2YWx1ZXMnOiBbaSBmb3IgaSBpbiByYW5nZSgxLCAyMCldfX0p
CisgICAgICAgICAgICBzZWxmLl9hc3NlcnRfcmVzdWx0c19hcmVfY29ycmVjdCh0ZXN0LCBvdXRw
dXQpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBhY3R1
YWxfc3Rkb3V0LCBhY3R1YWxfc3RkZXJyLCBhY3R1YWxfbG9ncyA9IG91dHB1dF9jYXB0dXJlLnJl
c3RvcmVfb3V0cHV0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfc3Rkb3V0LCAn
JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfc3RkZXJyLCAnJykKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfbG9ncywgJycpCiAKICAgICBkZWYgdGVzdF9wYXJzZV9v
dXRwdXRfd2l0aF9mYWlsaW5nX2xpbmUoc2VsZik6Ci0gICAgICAgIG91dHB1dCA9IERyaXZlck91
dHB1dCgnXG4nLmpvaW4oWwotICAgICAgICAgICAgJ1J1bm5pbmcgMjAgdGltZXMnLAotICAgICAg
ICAgICAgJ0lnbm9yaW5nIHdhcm0tdXAgcnVuICgxMTE1KScsCi0gICAgICAgICAgICAnJywKLSAg
ICAgICAgICAgICdzb21lLXVucmVjb2duaXphYmxlLWxpbmUnLAotICAgICAgICAgICAgJycsCi0g
ICAgICAgICAgICAnVGltZTonLAotICAgICAgICAgICAgJ3ZhbHVlcyAxLCAyLCAzLCA0LCA1LCA2
LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSBtcycsCi0g
ICAgICAgICAgICAnYXZnIDExMDAgbXMnLAotICAgICAgICAgICAgJ21lZGlhbiAxMTAxIG1zJywK
LSAgICAgICAgICAgICdzdGRldiAxMSBtcycsCi0gICAgICAgICAgICAnbWluIDEwODAgbXMnLAot
ICAgICAgICAgICAgJ21heCAxMTIwIG1zJ10pLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5vbmUs
IGF1ZGlvPU5vbmUpCisgICAgICAgIG91dHB1dCA9IERyaXZlck91dHB1dCgiIiIKK1J1bm5pbmcg
MjAgdGltZXMKK0lnbm9yaW5nIHdhcm0tdXAgcnVuICgxMTE1KQorCitzb21lLXVucmVjb2duaXph
YmxlLWxpbmUKKworVGltZToKK3ZhbHVlcyAxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0IG1z
CithdmcgMTEwMCBtcworbWVkaWFuIDExMDEgbXMKK3N0ZGV2IDE0LjUwODYyIG1zCittaW4gMTA4
MCBtcworbWF4IDExMjAgbXMKKyIiIiwgaW1hZ2U9Tm9uZSwgaW1hZ2VfaGFzaD1Ob25lLCBhdWRp
bz1Ob25lKQogICAgICAgICBvdXRwdXRfY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQogICAgICAg
ICBvdXRwdXRfY2FwdHVyZS5jYXB0dXJlX291dHB1dCgpCiAgICAgICAgIHRyeToKQEAgLTEyMiwx
NyArMTM0LDIxIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfbG9ncywgJ0VSUk9SOiBzb21lLXVucmVjb2duaXphYmxl
LWxpbmVcbicpCiAKICAgICBkZWYgdGVzdF9wYXJzZV9vdXRwdXRfd2l0aF9kZXNjcmlwdGlvbihz
ZWxmKToKLSAgICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0KCdcbicuam9pbihbCi0gICAgICAg
ICAgICAnRGVzY3JpcHRpb246IHRoaXMgaXMgYSB0ZXN0IGRlc2NyaXB0aW9uLicsCi0gICAgICAg
ICAgICAnVGltZTonLAotICAgICAgICAgICAgJ3ZhbHVlcyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4
LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSBtcycsCi0gICAgICAg
ICAgICAnYXZnIDExMDAgbXMnLAotICAgICAgICAgICAgJ21lZGlhbiAxMTAxIG1zJywKLSAgICAg
ICAgICAgICdzdGRldiAxMSBtcycsCi0gICAgICAgICAgICAnbWluIDEwODAgbXMnLAotICAgICAg
ICAgICAgJ21heCAxMTIwIG1zJ10pLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5vbmUsIGF1ZGlv
PU5vbmUpCisgICAgICAgIG91dHB1dCA9IERyaXZlck91dHB1dCgiIiIKK0Rlc2NyaXB0aW9uOiB0
aGlzIGlzIGEgdGVzdCBkZXNjcmlwdGlvbi4KKworUnVubmluZyAyMCB0aW1lcworSWdub3Jpbmcg
d2FybS11cCBydW4gKDExMTUpCisKK1RpbWU6Cit2YWx1ZXMgMTA4MCwgMTEyMCwgMTA5NSwgMTEw
MSwgMTEwNCBtcworYXZnIDExMDAgbXMKK21lZGlhbiAxMTAxIG1zCitzdGRldiAxNC41MDg2MiBt
cworbWluIDEwODAgbXMKK21heCAxMTIwIG1zIiIiLCBpbWFnZT1Ob25lLCBpbWFnZV9oYXNoPU5v
bmUsIGF1ZGlvPU5vbmUpCiAgICAgICAgIHRlc3QgPSBQZXJmVGVzdChNb2NrUG9ydCgpLCAnc29t
ZS10ZXN0JywgJy9wYXRoL3NvbWUtZGlyL3NvbWUtdGVzdCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZSh0ZXN0LnBhcnNlX291dHB1dChvdXRwdXQpKQorICAgICAgICBzZWxmLl9hc3NlcnRfcmVz
dWx0c19hcmVfY29ycmVjdCh0ZXN0LCBvdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
dGVzdC5kZXNjcmlwdGlvbigpLCAndGhpcyBpcyBhIHRlc3QgZGVzY3JpcHRpb24uJykKIAogICAg
IGRlZiB0ZXN0X2lnbm9yZWRfc3RkZXJyX2xpbmVzKHNlbGYpOgpAQCAtMTU0LDI4ICsxNzAsMjYg
QEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZSh0ZXN0Ll9zaG91bGRfaWdub3JlX2xpbmVfaW5fc3RkZXJyKGxpbmUpKQogCiAg
ICAgZGVmIHRlc3RfcGFyc2Vfb3V0cHV0X3dpdGhfc3VidGVzdHMoc2VsZik6Ci0gICAgICAgIG91
dHB1dCA9IERyaXZlck91dHB1dCgnXG4nLmpvaW4oWwotICAgICAgICAgICAgJ1J1bm5pbmcgMjAg
dGltZXMnLAotICAgICAgICAgICAgJ3NvbWUgdGVzdDogWzEsIDIsIDMsIDQsIDVdJywKLSAgICAg
ICAgICAgICdvdGhlciB0ZXN0ID0gZWxzZTogWzYsIDcsIDgsIDksIDEwXScsCi0gICAgICAgICAg
ICAnJywKLSAgICAgICAgICAgICdUaW1lOicsCi0gICAgICAgICAgICAndmFsdWVzIDEsIDIsIDMs
IDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5
IG1zJywKLSAgICAgICAgICAgICdhdmcgMTEwMCBtcycsCi0gICAgICAgICAgICAnbWVkaWFuIDEx
MDEgbXMnLAotICAgICAgICAgICAgJ3N0ZGV2IDExIG1zJywKLSAgICAgICAgICAgICdtaW4gMTA4
MCBtcycsCi0gICAgICAgICAgICAnbWF4IDExMjAgbXMnXSksIGltYWdlPU5vbmUsIGltYWdlX2hh
c2g9Tm9uZSwgYXVkaW89Tm9uZSkKKyAgICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0KCIiIgor
UnVubmluZyAyMCB0aW1lcworc29tZSB0ZXN0OiBbMSwgMiwgMywgNCwgNV0KK290aGVyIHRlc3Qg
PSBlbHNlOiBbNiwgNywgOCwgOSwgMTBdCitJZ25vcmluZyB3YXJtLXVwIHJ1biAoMTExNSkKKwor
VGltZToKK3ZhbHVlcyAxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0IG1zCithdmcgMTEwMCBt
cworbWVkaWFuIDExMDEgbXMKK3N0ZGV2IDE0LjUwODYyIG1zCittaW4gMTA4MCBtcworbWF4IDEx
MjAgbXMKKyIiIiwgaW1hZ2U9Tm9uZSwgaW1hZ2VfaGFzaD1Ob25lLCBhdWRpbz1Ob25lKQogICAg
ICAgICBvdXRwdXRfY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQogICAgICAgICBvdXRwdXRfY2Fw
dHVyZS5jYXB0dXJlX291dHB1dCgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRlc3QgPSBQ
ZXJmVGVzdChNb2NrUG9ydCgpLCAnc29tZS10ZXN0JywgJy9wYXRoL3NvbWUtZGlyL3NvbWUtdGVz
dCcpCi0gICAgICAgICAgICB0ZXN0Ll9maWx0ZXJfb3V0cHV0KG91dHB1dCkKLSAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwodGVzdC5wYXJzZV9vdXRwdXQob3V0cHV0KSwKLSAgICAgICAgICAg
ICAgICB7J3NvbWUtdGVzdCc6IHsnYXZnJzogMTEwMC4wLCAnbWVkaWFuJzogMTEwMS4wLCAnbWlu
JzogMTA4MC4wLCAnbWF4JzogMTEyMC4wLCAnc3RkZXYnOiAxMS4wLCAndW5pdCc6ICdtcycsCi0g
ICAgICAgICAgICAgICAgICAgICd2YWx1ZXMnOiBbaSBmb3IgaSBpbiByYW5nZSgxLCAyMCldfX0p
CisgICAgICAgICAgICBzZWxmLl9hc3NlcnRfcmVzdWx0c19hcmVfY29ycmVjdCh0ZXN0LCBvdXRw
dXQpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBhY3R1
YWxfc3Rkb3V0LCBhY3R1YWxfc3RkZXJyLCBhY3R1YWxfbG9ncyA9IG91dHB1dF9jYXB0dXJlLnJl
c3RvcmVfb3V0cHV0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfc3Rkb3V0LCAn
JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfc3RkZXJyLCAnJykKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX2lu
dGVncmF0aW9udGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Bl
cmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl9pbnRlZ3JhdGlvbnRlc3QucHkJKHJldmlz
aW9uIDEzODc3NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMv
cGVyZnRlc3RzcnVubmVyX2ludGVncmF0aW9udGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtNDIs
MjMgKzQyLDE3IEBAIGZyb20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3QKIGZy
b20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9ydCBQZXJm
VGVzdHNSdW5uZXIKIAogCi1jbGFzcyBUZXN0RHJpdmVyOgotICAgIGRlZiBydW5fdGVzdChzZWxm
LCBkcml2ZXJfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKLSAgICAgICAgdGV4dCA9ICcnCi0gICAg
ICAgIHRpbWVvdXQgPSBGYWxzZQotICAgICAgICBjcmFzaCA9IEZhbHNlCi0gICAgICAgIGlmIGRy
aXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3Bhc3MuaHRtbCcpOgotICAgICAgICAgICAg
dGV4dCA9ICdSRVNVTFQgZ3JvdXBfbmFtZTogdGVzdF9uYW1lPSA0MiBtcycKLSAgICAgICAgZWxp
ZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCd0aW1lb3V0Lmh0bWwnKToKLSAgICAg
ICAgICAgIHRpbWVvdXQgPSBUcnVlCi0gICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFt
ZS5lbmRzd2l0aCgnZmFpbGVkLmh0bWwnKToKLSAgICAgICAgICAgIHRleHQgPSBOb25lCi0gICAg
ICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgndG9uZ3VleS5odG1sJyk6
Ci0gICAgICAgICAgICB0ZXh0ID0gJ3dlIGFyZSBub3QgZXhwZWN0aW5nIGFuIG91dHB1dCBmcm9t
IHBlcmYgdGVzdHMgYnV0IFJFU1VMVCBibGFibGFibGEnCi0gICAgICAgIGVsaWYgZHJpdmVyX2lu
cHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgnY3Jhc2guaHRtbCcpOgotICAgICAgICAgICAgY3Jhc2gg
PSBUcnVlCi0gICAgICAgIGVsaWYgZHJpdmVyX2lucHV0LnRlc3RfbmFtZS5lbmRzd2l0aCgnZXZl
bnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCcpOgotICAgICAgICAgICAgdGV4dCA9ICIiIlJ1bm5pbmcg
MjAgdGltZXMKK2NsYXNzIEluc3BlY3RvclBhc3NUZXN0RGF0YToKKyAgICB0ZXh0ID0gJ1JFU1VM
VCBncm91cF9uYW1lOiB0ZXN0X25hbWU9IDQyIG1zJworICAgIG91dHB1dCA9ICIiIlJ1bm5pbmcg
aW5zcGVjdG9yL3Bhc3MuaHRtbCAoMiBvZiAyKQorUkVTVUxUIGdyb3VwX25hbWU6IHRlc3RfbmFt
ZT0gNDIgbXMKK0ZpbmlzaGVkOiAwLjEgcworCisiIiIKKworCitjbGFzcyBFdmVudFRhcmdldFdy
YXBwZXJUZXN0RGF0YToKKyAgICB0ZXh0ID0gIiIiUnVubmluZyAyMCB0aW1lcwogSWdub3Jpbmcg
d2FybS11cCBydW4gKDE1MDIpCiAxNTA0CiAxNTA1CkBAIC04Miw1MyArNzYsMTE0IEBAIElnbm9y
aW5nIHdhcm0tdXAgcnVuICgxNTAyKQogMTQ3MQogCiBUaW1lOgotdmFsdWVzIDE1MDQsIDE1MDUs
IDE1MTAsIDE1MDQsIDE1MDcsIDE1MDksIDE1MTAsIDE0ODcsIDE0ODgsIDE0NzIsIDE0NzIsIDE0
ODgsIDE0NzMsIDE0NzIsIDE0NzUsIDE0ODcsIDE0ODYsIDE0ODYsIDE0NzUsIDE0NzEgbXMKLWF2
ZyAxNDg5LjA1IG1zCi1tZWRpYW4gMTQ4NyBtcwotc3RkZXYgMTQuNDYgbXMKK3ZhbHVlcyAxNDg2
LCAxNDcxLCAxNTEwLCAxNTA1LCAxNDc4LCAxNDkwIG1zCithdmcgMTQ5MCBtcworbWVkaWFuIDE0
ODggbXMKK3N0ZGV2IDE1LjEzOTM1IG1zCiBtaW4gMTQ3MSBtcwogbWF4IDE1MTAgbXMKICIiIgot
ICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3NvbWUtcGFyc2Vy
Lmh0bWwnKToKLSAgICAgICAgICAgIHRleHQgPSAiIiJSdW5uaW5nIDIwIHRpbWVzCisKKyAgICBv
dXRwdXQgPSAiIiJSdW5uaW5nIEJpbmRpbmdzL2V2ZW50LXRhcmdldC13cmFwcGVyLmh0bWwgKDEg
b2YgMikKK1JFU1VMVCBCaW5kaW5nczogZXZlbnQtdGFyZ2V0LXdyYXBwZXI9IDE0OTAuMCBtcwor
bWVkaWFuPSAxNDg4LjAgbXMsIHN0ZGV2PSAxNS4xMzkzNSBtcywgbWluPSAxNDcxLjAgbXMsIG1h
eD0gMTUxMC4wIG1zCitGaW5pc2hlZDogMC4xIHMKKworIiIiCisKKyAgICByZXN1bHRzID0geyJt
YXgiOiAxNTEwLCAiYXZnIjogMTQ5MCwgIm1lZGlhbiI6IDE0ODgsICJtaW4iOiAxNDcxLCAic3Rk
ZXYiOiAxNS4xMzkzNSwgInVuaXQiOiAibXMiLAorICAgICAgICJ2YWx1ZXMiOiBbMTQ4NiwgMTQ3
MSwgMTUxMCwgMTUwNSwgMTQ3OCwgMTQ5MF19CisKKworY2xhc3MgU29tZVBhcnNlclRlc3REYXRh
OgorICAgIHRleHQgPSAiIiJSdW5uaW5nIDIwIHRpbWVzCiBJZ25vcmluZyB3YXJtLXVwIHJ1biAo
MTExNSkKIAogVGltZToKLXZhbHVlcyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEs
IDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSBtcwordmFsdWVzIDEwODAsIDExMjAsIDEw
OTUsIDExMDEsIDExMDQgbXMKIGF2ZyAxMTAwIG1zCiBtZWRpYW4gMTEwMSBtcwotc3RkZXYgMTEg
bXMKK3N0ZGV2IDE0LjUwODYxIG1zCiBtaW4gMTA4MCBtcwogbWF4IDExMjAgbXMKICIiIgotICAg
ICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ21lbW9yeS10ZXN0Lmh0
bWwnKToKLSAgICAgICAgICAgIHRleHQgPSAiIiJSdW5uaW5nIDIwIHRpbWVzCisKKyAgICBvdXRw
dXQgPSAiIiJSdW5uaW5nIFBhcnNlci9zb21lLXBhcnNlci5odG1sICgyIG9mIDIpCitSRVNVTFQg
UGFyc2VyOiBzb21lLXBhcnNlcj0gMTEwMC4wIG1zCittZWRpYW49IDExMDEuMCBtcywgc3RkZXY9
IDE0LjUwODYxIG1zLCBtaW49IDEwODAuMCBtcywgbWF4PSAxMTIwLjAgbXMKK0ZpbmlzaGVkOiAw
LjEgcworCisiIiIKKworCitjbGFzcyBNZW1vcnlUZXN0RGF0YToKKyAgICB0ZXh0ID0gIiIiUnVu
bmluZyAyMCB0aW1lcwogSWdub3Jpbmcgd2FybS11cCBydW4gKDExMTUpCiAKIFRpbWU6Ci12YWx1
ZXMgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYs
IDE3LCAxOCwgMTkgbXMKK3ZhbHVlcyAxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0IG1zCiBh
dmcgMTEwMCBtcwogbWVkaWFuIDExMDEgbXMKLXN0ZGV2IDExIG1zCitzdGRldiAxNC41MDg2MSBt
cwogbWluIDEwODAgbXMKIG1heCAxMTIwIG1zCiAKIEpTIEhlYXA6Ci12YWx1ZXMgMSwgMiwgMywg
NCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTkg
Ynl0ZXMKLWF2ZyA4MzIwMDAgYnl0ZXMKK3ZhbHVlcyA4MjUwMDAsIDgxMTAwMCwgODQ4MDAwLCA4
MzcwMDAsIDgyOTAwMCBieXRlcworYXZnIDgzMDAwMCBieXRlcwogbWVkaWFuIDgyOTAwMCBieXRl
cwotc3RkZXYgMTUwMDAgYnl0ZXMKK3N0ZGV2IDEzNzg0LjA0ODc1IGJ5dGVzCiBtaW4gODExMDAw
IGJ5dGVzCiBtYXggODQ4MDAwIGJ5dGVzCiAKIE1hbGxvYzoKLXZhbHVlcyAxLCAyLCAzLCA0LCA1
LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSBieXRl
cwotYXZnIDUzMjAwMCBieXRlcwordmFsdWVzIDUyOTAwMCwgNTExMDAwLCA1NDgwMDAsIDUzNjAw
MCwgNTIxMDAwIGJ5dGVzCithdmcgNTI5MDAwIGJ5dGVzCiBtZWRpYW4gNTI5MDAwIGJ5dGVzCi1z
dGRldiAxMzAwMCBieXRlcworc3RkZXYgMTQxMjQuNDQ2ODkgYnl0ZXMKIG1pbiA1MTEwMDAgYnl0
ZXMKIG1heCA1NDgwMDAgYnl0ZXMKICIiIgorICAgIG91dHB1dCA9ICIiIlJ1bm5pbmcgMSB0ZXN0
cworUnVubmluZyBQYXJzZXIvbWVtb3J5LXRlc3QuaHRtbCAoMSBvZiAxKQorUkVTVUxUIFBhcnNl
cjogbWVtb3J5LXRlc3Q9IDExMDAuMCBtcworbWVkaWFuPSAxMTAxLjAgbXMsIHN0ZGV2PSAxNC41
MDg2MSBtcywgbWluPSAxMDgwLjAgbXMsIG1heD0gMTEyMC4wIG1zCitSRVNVTFQgUGFyc2VyOiBt
ZW1vcnktdGVzdDogSlNIZWFwPSA4MzAwMDAuMCBieXRlcworbWVkaWFuPSA4MjkwMDAuMCBieXRl
cywgc3RkZXY9IDEzNzg0LjA0ODc1IGJ5dGVzLCBtaW49IDgxMTAwMC4wIGJ5dGVzLCBtYXg9IDg0
ODAwMC4wIGJ5dGVzCitSRVNVTFQgUGFyc2VyOiBtZW1vcnktdGVzdDogTWFsbG9jPSA1MjkwMDAu
MCBieXRlcworbWVkaWFuPSA1MjkwMDAuMCBieXRlcywgc3RkZXY9IDE0MTI0LjQ0Njg5IGJ5dGVz
LCBtaW49IDUxMTAwMC4wIGJ5dGVzLCBtYXg9IDU0ODAwMC4wIGJ5dGVzCitGaW5pc2hlZDogMC4x
IHMKKyIiIgorCisgICAgcmVzdWx0cyA9IHsndmFsdWVzJzogWzEwODAsIDExMjAsIDEwOTUsIDEx
MDEsIDExMDRdLCAnYXZnJzogMTEwMCwgJ21pbic6IDEwODAsICdtYXgnOiAxMTIwLAorICAgICAg
ICAnc3RkZXYnOiAxNC41MDg2MSwgJ21lZGlhbic6IDExMDEsICd1bml0JzogJ21zJ30KKyAgICBq
c19oZWFwX3Jlc3VsdHMgPSB7J3ZhbHVlcyc6IFs4MjUwMDAsIDgxMTAwMCwgODQ4MDAwLCA4Mzcw
MDAsIDgyOTAwMF0sICdhdmcnOiA4MzAwMDAsICdtaW4nOiA4MTEwMDAsICdtYXgnOiA4NDgwMDAs
CisgICAgICAgICdzdGRldic6IDEzNzg0LjA0ODc1LCAnbWVkaWFuJzogODI5MDAwLCAndW5pdCc6
ICdieXRlcyd9CisgICAgbWFsbG9jX3Jlc3VsdHMgPSB7J3ZhbHVlcyc6IFs1MjkwMDAsIDUxMTAw
MCwgNTQ4MDAwLCA1MzYwMDAsIDUyMTAwMF0sICdhdmcnOiA1MjkwMDAsICdtaW4nOiA1MTEwMDAs
ICdtYXgnOiA1NDgwMDAsCisgICAgICAgICdzdGRldic6IDE0MTI0LjQ0Njg5LCAnbWVkaWFuJzog
NTI5MDAwLCAndW5pdCc6ICdieXRlcyd9CisKKworY2xhc3MgVGVzdERyaXZlcjoKKyAgICBkZWYg
cnVuX3Rlc3Qoc2VsZiwgZHJpdmVyX2lucHV0LCBzdG9wX3doZW5fZG9uZSk6CisgICAgICAgIHRl
eHQgPSAnJworICAgICAgICB0aW1lb3V0ID0gRmFsc2UKKyAgICAgICAgY3Jhc2ggPSBGYWxzZQor
ICAgICAgICBpZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCdwYXNzLmh0bWwnKToK
KyAgICAgICAgICAgIHRleHQgPSBJbnNwZWN0b3JQYXNzVGVzdERhdGEudGV4dAorICAgICAgICBl
bGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUuZW5kc3dpdGgoJ3RpbWVvdXQuaHRtbCcpOgorICAg
ICAgICAgICAgdGltZW91dCA9IFRydWUKKyAgICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVzdF9u
YW1lLmVuZHN3aXRoKCdmYWlsZWQuaHRtbCcpOgorICAgICAgICAgICAgdGV4dCA9IE5vbmUKKyAg
ICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCd0b25ndWV5Lmh0bWwn
KToKKyAgICAgICAgICAgIHRleHQgPSAnd2UgYXJlIG5vdCBleHBlY3RpbmcgYW4gb3V0cHV0IGZy
b20gcGVyZiB0ZXN0cyBidXQgUkVTVUxUIGJsYWJsYWJsYScKKyAgICAgICAgZWxpZiBkcml2ZXJf
aW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCdjcmFzaC5odG1sJyk6CisgICAgICAgICAgICBjcmFz
aCA9IFRydWUKKyAgICAgICAgZWxpZiBkcml2ZXJfaW5wdXQudGVzdF9uYW1lLmVuZHN3aXRoKCdl
dmVudC10YXJnZXQtd3JhcHBlci5odG1sJyk6CisgICAgICAgICAgICB0ZXh0ID0gRXZlbnRUYXJn
ZXRXcmFwcGVyVGVzdERhdGEudGV4dAorICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25h
bWUuZW5kc3dpdGgoJ3NvbWUtcGFyc2VyLmh0bWwnKToKKyAgICAgICAgICAgIHRleHQgPSBTb21l
UGFyc2VyVGVzdERhdGEudGV4dAorICAgICAgICBlbGlmIGRyaXZlcl9pbnB1dC50ZXN0X25hbWUu
ZW5kc3dpdGgoJ21lbW9yeS10ZXN0Lmh0bWwnKToKKyAgICAgICAgICAgIHRleHQgPSBNZW1vcnlU
ZXN0RGF0YS50ZXh0CiAgICAgICAgIHJldHVybiBEcml2ZXJPdXRwdXQodGV4dCwgJycsICcnLCAn
JywgY3Jhc2g9Y3Jhc2gsIHRpbWVvdXQ9dGltZW91dCkKIAogICAgIGRlZiBzdGFydChzZWxmKToK
QEAgLTE0MCw3ICsxOTUsMTEgQEAgbWF4IDU0ODAwMCBieXRlcwogCiBjbGFzcyBNYWluVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIF9ub3JtYWxpemVfb3V0cHV0KHNlbGYsIGxvZyk6
Ci0gICAgICAgIHJldHVybiByZS5zdWIocidGaW5pc2hlZDogWzAtOVwuXSsgcycsICdGaW5pc2hl
ZDogMC4xIHMnLCBsb2cpCisgICAgICAgIHJldHVybiByZS5zdWIocicoc3RkZXY9XHMrXGQrXC5c
ZHs1fSlcZCsnLCByJ1wxJywgcmUuc3ViKHInRmluaXNoZWQ6IFswLTlcLl0rIHMnLCAnRmluaXNo
ZWQ6IDAuMSBzJywgbG9nKSkKKworICAgIGRlZiBfbG9hZF9vdXRwdXRfanNvbihzZWxmLCBydW5u
ZXIpOgorICAgICAgICBqc29uX2NvbnRlbnQgPSBydW5uZXIuX2hvc3QuZmlsZXN5c3RlbS5yZWFk
X3RleHRfZmlsZShydW5uZXIuX291dHB1dF9qc29uX3BhdGgoKSkKKyAgICAgICAgcmV0dXJuIGpz
b24ubG9hZHMocmUuc3ViKHInKCJzdGRldiI6XHMqXGQrXC5cZHs1fSlcZCsnLCByJ1wxJywganNv
bl9jb250ZW50KSkKIAogICAgIGRlZiBjcmVhdGVfcnVubmVyKHNlbGYsIGFyZ3M9W10sIGRyaXZl
cl9jbGFzcz1UZXN0RHJpdmVyKToKICAgICAgICAgb3B0aW9ucywgcGFyc2VkX2FyZ3MgPSBQZXJm
VGVzdHNSdW5uZXIuX3BhcnNlX2FyZ3MoYXJncykKQEAgLTE1Miw4ICsyMTEsNiBAQCBjbGFzcyBN
YWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJ1bm5lci5faG9zdC5maWxlc3lz
dGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KHJ1bm5lci5fYmFzZV9wYXRoLCAnQmluZGluZ3MnKQog
ICAgICAgICBydW5uZXIuX2hvc3QuZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShydW5u
ZXIuX2Jhc2VfcGF0aCwgJ1BhcnNlcicpCiAKLSAgICAgICAgZmlsZXN5c3RlbSA9IHJ1bm5lci5f
aG9zdC5maWxlc3lzdGVtCi0gICAgICAgIHJ1bm5lci5sb2FkX291dHB1dF9qc29uID0gbGFtYmRh
OiBqc29uLmxvYWRzKGZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUocnVubmVyLl9vdXRwdXRfanNv
bl9wYXRoKCkpKQogICAgICAgICByZXR1cm4gcnVubmVyLCB0ZXN0X3BvcnQKIAogICAgIGRlZiBy
dW5fdGVzdChzZWxmLCB0ZXN0X25hbWUpOgpAQCAtMjI4LDE2ICsyODUsNyBAQCBjbGFzcyBNYWlu
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBz
dGRvdXQsIHN0ZGVyciwgbG9nID0gb3V0cHV0LnJlc3RvcmVfb3V0cHV0KCkKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCh1bmV4cGVjdGVkX3Jlc3VsdF9jb3VudCwgMCkKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLl9ub3JtYWxpemVfb3V0cHV0KGxvZyksICdcbicuam9pbihbJ1J1bm5p
bmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCAoMSBvZiAyKScsCi0gICAgICAg
ICdSRVNVTFQgQmluZGluZ3M6IGV2ZW50LXRhcmdldC13cmFwcGVyPSAxNDg5LjA1IG1zJywKLSAg
ICAgICAgJ21lZGlhbj0gMTQ4Ny4wIG1zLCBzdGRldj0gMTQuNDYgbXMsIG1pbj0gMTQ3MS4wIG1z
LCBtYXg9IDE1MTAuMCBtcycsCi0gICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAn
JywKLSAgICAgICAgJ1J1bm5pbmcgUGFyc2VyL3NvbWUtcGFyc2VyLmh0bWwgKDIgb2YgMiknLAot
ICAgICAgICAnUkVTVUxUIFBhcnNlcjogc29tZS1wYXJzZXI9IDExMDAuMCBtcycsCi0gICAgICAg
ICdtZWRpYW49IDExMDEuMCBtcywgc3RkZXY9IDExLjAgbXMsIG1pbj0gMTA4MC4wIG1zLCBtYXg9
IDExMjAuMCBtcycsCi0gICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAnJywgJydd
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9ub3JtYWxpemVfb3V0cHV0KGxvZyks
IEV2ZW50VGFyZ2V0V3JhcHBlclRlc3REYXRhLm91dHB1dCArIFNvbWVQYXJzZXJUZXN0RGF0YS5v
dXRwdXQpCiAKICAgICBkZWYgdGVzdF9ydW5fbWVtb3J5X3Rlc3Qoc2VsZik6CiAgICAgICAgIHJ1
bm5lciwgcG9ydCA9IHNlbGYuY3JlYXRlX3J1bm5lcl9hbmRfc2V0dXBfcmVzdWx0c190ZW1wbGF0
ZSgpCkBAIC0yNTEsMjQgKzI5OSwxMiBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzdGRvdXQsIHN0ZGVyciwgbG9nID0g
b3V0cHV0LnJlc3RvcmVfb3V0cHV0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmV4cGVj
dGVkX3Jlc3VsdF9jb3VudCwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9ub3Jt
YWxpemVfb3V0cHV0KGxvZyksICdcbicuam9pbihbCi0gICAgICAgICAgICAnUnVubmluZyAxIHRl
c3RzJywKLSAgICAgICAgICAgICdSdW5uaW5nIFBhcnNlci9tZW1vcnktdGVzdC5odG1sICgxIG9m
IDEpJywKLSAgICAgICAgICAgICdSRVNVTFQgUGFyc2VyOiBtZW1vcnktdGVzdD0gMTEwMC4wIG1z
JywKLSAgICAgICAgICAgICdtZWRpYW49IDExMDEuMCBtcywgc3RkZXY9IDExLjAgbXMsIG1pbj0g
MTA4MC4wIG1zLCBtYXg9IDExMjAuMCBtcycsCi0gICAgICAgICAgICAnUkVTVUxUIFBhcnNlcjog
bWVtb3J5LXRlc3Q6IEpTSGVhcD0gODMyMDAwLjAgYnl0ZXMnLAotICAgICAgICAgICAgJ21lZGlh
bj0gODI5MDAwLjAgYnl0ZXMsIHN0ZGV2PSAxNTAwMC4wIGJ5dGVzLCBtaW49IDgxMTAwMC4wIGJ5
dGVzLCBtYXg9IDg0ODAwMC4wIGJ5dGVzJywKLSAgICAgICAgICAgICdSRVNVTFQgUGFyc2VyOiBt
ZW1vcnktdGVzdDogTWFsbG9jPSA1MzIwMDAuMCBieXRlcycsCi0gICAgICAgICAgICAnbWVkaWFu
PSA1MjkwMDAuMCBieXRlcywgc3RkZXY9IDEzMDAwLjAgYnl0ZXMsIG1pbj0gNTExMDAwLjAgYnl0
ZXMsIG1heD0gNTQ4MDAwLjAgYnl0ZXMnLAotICAgICAgICAgICAgJ0ZpbmlzaGVkOiAwLjEgcycs
Ci0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgICdNT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxl
Oi8vLi4uJywKLSAgICAgICAgICAgICcnXSkpCi0gICAgICAgIHJlc3VsdHMgPSBydW5uZXIubG9h
ZF9vdXRwdXRfanNvbigpWzBdWydyZXN1bHRzJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLl9ub3JtYWxpemVfb3V0cHV0KGxvZyksIE1lbW9yeVRlc3REYXRhLm91dHB1dCArICdcbk1P
Q0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8uLi5cbicpCisgICAgICAgIHJlc3VsdHMgPSBzZWxm
Ll9sb2FkX291dHB1dF9qc29uKHJ1bm5lcilbMF1bJ3Jlc3VsdHMnXQogICAgICAgICB2YWx1ZXMg
PSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYs
IDE3LCAxOCwgMTldCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21l
bW9yeS10ZXN0J10sIHsnbWluJzogMTA4MC4wLCAnbWF4JzogMTEyMC4wLCAnbWVkaWFuJzogMTEw
MS4wLCAnc3RkZXYnOiAxMS4wLCAnYXZnJzogMTEwMC4wLCAndW5pdCc6ICdtcycsICd2YWx1ZXMn
OiB2YWx1ZXN9KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHNbJ1BhcnNlci9tZW1v
cnktdGVzdDpKU0hlYXAnXSwgeydtaW4nOiA4MTEwMDAuMCwgJ21heCc6IDg0ODAwMC4wLCAnbWVk
aWFuJzogODI5MDAwLjAsICdzdGRldic6IDE1MDAwLjAsICdhdmcnOiA4MzIwMDAuMCwgJ3VuaXQn
OiAnYnl0ZXMnLCAndmFsdWVzJzogdmFsdWVzfSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy
ZXN1bHRzWydQYXJzZXIvbWVtb3J5LXRlc3Q6TWFsbG9jJ10sIHsnbWluJzogNTExMDAwLjAsICdt
YXgnOiA1NDgwMDAuMCwgJ21lZGlhbic6IDUyOTAwMC4wLCAnc3RkZXYnOiAxMzAwMC4wLCAnYXZn
JzogNTMyMDAwLjAsICd1bml0JzogJ2J5dGVzJywgJ3ZhbHVlcyc6IHZhbHVlc30pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21lbW9yeS10ZXN0J10sIE1lbW9yeVRl
c3REYXRhLnJlc3VsdHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2Vy
L21lbW9yeS10ZXN0OkpTSGVhcCddLCBNZW1vcnlUZXN0RGF0YS5qc19oZWFwX3Jlc3VsdHMpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21lbW9yeS10ZXN0Ok1hbGxv
YyddLCBNZW1vcnlUZXN0RGF0YS5tYWxsb2NfcmVzdWx0cykKIAogICAgIGRlZiBfdGVzdF9ydW5f
d2l0aF9qc29uX291dHB1dChzZWxmLCBydW5uZXIsIGZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRz
PUZhbHNlLCByZXN1bHRzX3Nob3duPVRydWUsIGV4cGVjdGVkX2V4aXRfY29kZT0wKToKICAgICAg
ICAgZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocnVubmVyLl9iYXNlX3BhdGggKyAnL2luc3Bl
Y3Rvci9wYXNzLmh0bWwnLCAnc29tZSBjb250ZW50JykKQEAgLTI5MiwxNiArMzI4LDcgQEAgY2xh
c3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgc3Rkb3V0LCBzdGRl
cnIsIGxvZ3MgPSBvdXRwdXRfY2FwdHVyZS5yZXN0b3JlX291dHB1dCgpCiAKICAgICAgICAgaWYg
bm90IGV4cGVjdGVkX2V4aXRfY29kZToKLSAgICAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAnXG4n
LmpvaW4oWydSdW5uaW5nIDIgdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ1J1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCAoMSBv
ZiAyKScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUkVTVUxUIEJp
bmRpbmdzOiBldmVudC10YXJnZXQtd3JhcHBlcj0gMTQ4OS4wNSBtcycsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnbWVkaWFuPSAxNDg3LjAgbXMsIHN0ZGV2PSAxNC40
NiBtcywgbWluPSAxNDcxLjAgbXMsIG1heD0gMTUxMC4wIG1zJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnUnVubmluZyBpbnNwZWN0b3IvcGFzcy5odG1sICgyIG9mIDIpJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSRVNVTFQgZ3JvdXBfbmFtZTogdGVz
dF9uYW1lPSA0MiBtcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
RmluaXNoZWQ6IDAuMSBzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcnLCAnJ10pCisgICAgICAgICAgICBleHBlY3RlZF9sb2dzID0gJ1J1bm5pbmcgMiB0ZXN0c1xu
JyArIEV2ZW50VGFyZ2V0V3JhcHBlclRlc3REYXRhLm91dHB1dCArIEluc3BlY3RvclBhc3NUZXN0
RGF0YS5vdXRwdXQKICAgICAgICAgICAgIGlmIHJlc3VsdHNfc2hvd246CiAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRfbG9ncyArPSAnTU9DSzogdXNlci5vcGVuX3VybDogZmlsZTovLy4uLlxuJwog
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9ub3JtYWxpemVfb3V0cHV0KGxvZ3Mp
LCBleHBlY3RlZF9sb2dzKQpAQCAtMzExLDE1ICszMzgsMTQgQEAgY2xhc3MgTWFpblRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4gbG9ncwogCiAgICAgX2V2ZW50X3Rhcmdl
dF93cmFwcGVyX2FuZF9pbnNwZWN0b3JfcmVzdWx0cyA9IHsKLSAgICAgICAgIkJpbmRpbmdzL2V2
ZW50LXRhcmdldC13cmFwcGVyIjogeyJtYXgiOiAxNTEwLCAiYXZnIjogMTQ4OS4wNSwgIm1lZGlh
biI6IDE0ODcsICJtaW4iOiAxNDcxLCAic3RkZXYiOiAxNC40NiwgInVuaXQiOiAibXMiLAotICAg
ICAgICAgICAidmFsdWVzIjogWzE1MDQsIDE1MDUsIDE1MTAsIDE1MDQsIDE1MDcsIDE1MDksIDE1
MTAsIDE0ODcsIDE0ODgsIDE0NzIsIDE0NzIsIDE0ODgsIDE0NzMsIDE0NzIsIDE0NzUsIDE0ODcs
IDE0ODYsIDE0ODYsIDE0NzUsIDE0NzFdfSwKKyAgICAgICAgIkJpbmRpbmdzL2V2ZW50LXRhcmdl
dC13cmFwcGVyIjogRXZlbnRUYXJnZXRXcmFwcGVyVGVzdERhdGEucmVzdWx0cywKICAgICAgICAg
Imluc3BlY3Rvci9wYXNzLmh0bWw6Z3JvdXBfbmFtZTp0ZXN0X25hbWUiOiA0Mn0KIAogICAgIGRl
ZiB0ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHNlbGYpOgogICAgICAgICBydW5uZXIsIHBvcnQg
PSBzZWxmLmNyZWF0ZV9ydW5uZXJfYW5kX3NldHVwX3Jlc3VsdHNfdGVtcGxhdGUoYXJncz1bJy0t
b3V0cHV0LWpzb24tcGF0aD0vbW9jay1jaGVja291dC9vdXRwdXQuanNvbicsCiAgICAgICAgICAg
ICAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9zdCddKQogICAgICAgICBzZWxmLl90ZXN0
X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0sIHVwbG9h
ZF9zdWNlZWRzPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLmxvYWRfb3V0
cHV0X2pzb24oKSwgW3sKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9sb2FkX291dHB1
dF9qc29uKHJ1bm5lciksIFt7CiAgICAgICAgICAgICAidGltZXN0YW1wIjogMTIzNDU2Nzg5LCAi
cmVzdWx0cyI6IHNlbGYuX2V2ZW50X3RhcmdldF93cmFwcGVyX2FuZF9pbnNwZWN0b3JfcmVzdWx0
cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2aXNpb24iOiAiNTY3OCIsICJicmFuY2giOiAid2Vi
a2l0LXRydW5rIn1dKQogCkBAIC0zMzEsNyArMzU3LDcgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBydW5uZXIsIHBvcnQgPSBzZWxmLmNyZWF0ZV9ydW5uZXJf
YW5kX3NldHVwX3Jlc3VsdHNfdGVtcGxhdGUoYXJncz1bJy0tb3V0cHV0LWpzb24tcGF0aD0vbW9j
ay1jaGVja291dC9vdXRwdXQuanNvbicsCiAgICAgICAgICAgICAnLS10ZXN0LXJlc3VsdHMtc2Vy
dmVyPXNvbWUuaG9zdCcsICctLWRlc2NyaXB0aW9uJywgJ3NvbWUgZGVzY3JpcHRpb24nXSkKICAg
ICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5m
aWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIFt7CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c2VsZi5fbG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBbewogICAgICAgICAgICAgInRpbWVzdGFt
cCI6IDEyMzQ1Njc4OSwgImRlc2NyaXB0aW9uIjogInNvbWUgZGVzY3JpcHRpb24iLAogICAgICAg
ICAgICAgInJlc3VsdHMiOiBzZWxmLl9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9y
X3Jlc3VsdHMsCiAgICAgICAgICAgICAid2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAiYnJhbmNo
IjogIndlYmtpdC10cnVuayJ9XSkKQEAgLTM2Miw3ICszODgsNyBAQCBjbGFzcyBNYWluVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291
dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocnVubmVyLmxvYWRfb3V0cHV0X2pzb24oKSwgW3sKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWxmLl9sb2FkX291dHB1dF9qc29uKHJ1bm5lciksIFt7CiAgICAgICAgICAgICAidGlt
ZXN0YW1wIjogMTIzNDU2Nzg5LCAicmVzdWx0cyI6IHNlbGYuX2V2ZW50X3RhcmdldF93cmFwcGVy
X2FuZF9pbnNwZWN0b3JfcmVzdWx0cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2aXNpb24iOiAi
NTY3OCIsICJicmFuY2giOiAid2Via2l0LXRydW5rIn1dKQogCkBAIC0zNzgsNyArNDA0LDcgQEAg
Y2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgICAgIHNlbGYuX3Rlc3Rf
cnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSkKIAotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIFt7InByZXZp
b3VzIjogInJlc3VsdHMifSwgeworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2xvYWRf
b3V0cHV0X2pzb24ocnVubmVyKSwgW3sicHJldmlvdXMiOiAicmVzdWx0cyJ9LCB7CiAgICAgICAg
ICAgICAidGltZXN0YW1wIjogMTIzNDU2Nzg5LCAicmVzdWx0cyI6IHNlbGYuX2V2ZW50X3Rhcmdl
dF93cmFwcGVyX2FuZF9pbnNwZWN0b3JfcmVzdWx0cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2
aXNpb24iOiAiNTY3OCIsICJicmFuY2giOiAid2Via2l0LXRydW5rIn1dKQogICAgICAgICBzZWxm
LmFzc2VydFRydWUoZmlsZXN5c3RlbS5pc2ZpbGUoZmlsZXN5c3RlbS5zcGxpdGV4dChvdXRwdXRf
anNvbl9wYXRoKVswXSArICcuaHRtbCcpKQpAQCAtMzkyLDcgKzQxOCw3IEBAIGNsYXNzIE1haW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pz
b25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0pCiAKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNvbigpLCBbeworICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKSwgW3sKICAgICAgICAgICAg
ICJ0aW1lc3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dy
YXBwZXJfYW5kX2luc3BlY3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtpdC1yZXZpc2lv
biI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsifV0pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShmaWxlc3lzdGVtLmlzZmlsZShmaWxlc3lzdGVtLnNwbGl0ZXh0KG91dHB1dF9qc29u
X3BhdGgpWzBdICsgJy5odG1sJykpCkBAIC00MTAsNyArNDM2LDcgQEAgY2xhc3MgTWFpblRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIuX291dHB1dF9qc29uX3BhdGgoKSwgJy9tb2NrLWNo
ZWNrb3V0L291dHB1dC5qc29uJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9h
ZF9vdXRwdXRfanNvbigpLCBbZXhwZWN0ZWRfZW50cnldKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKSwgW2V4cGVjdGVkX2VudHJ5XSkKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKCcvbW9jay1j
aGVja291dC9vdXRwdXQuaHRtbCcpLAogICAgICAgICAgICAgJ0JFR0lOPHNjcmlwdCBzcmM9Ii90
ZXN0LmNoZWNrb3V0L3NvbWUuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvdGVzdC5jaGVja291
dC9vdGhlci5qcyI+PC9zY3JpcHQ+JwogICAgICAgICAgICAgJzxzY3JpcHQ+JXM8L3NjcmlwdD5F
TkQnICUgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUocnVubmVyLl9vdXRwdXRf
anNvbl9wYXRoKCkpKQpAQCAtNDE4LDcgKzQ0NCw3IEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKIAogICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1
bm5lciwgZmlsZXN5c3RlbSwgcmVzdWx0c19zaG93bj1GYWxzZSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChydW5uZXIuX291dHB1dF9qc29uX3BhdGgoKSwgJy9tb2NrLWNoZWNrb3V0L291dHB1
dC5qc29uJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNv
bigpLCBbZXhwZWN0ZWRfZW50cnksIGV4cGVjdGVkX2VudHJ5XSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZWxmLl9sb2FkX291dHB1dF9qc29uKHJ1bm5lciksIFtleHBlY3RlZF9lbnRyeSwg
ZXhwZWN0ZWRfZW50cnldKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVzeXN0ZW0ucmVh
ZF90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L291dHB1dC5odG1sJyksCiAgICAgICAgICAgICAn
QkVHSU48c2NyaXB0IHNyYz0iL3Rlc3QuY2hlY2tvdXQvc29tZS5qcyI+PC9zY3JpcHQ+PHNjcmlw
dCBzcmM9Ii90ZXN0LmNoZWNrb3V0L290aGVyLmpzIj48L3NjcmlwdD4nCiAgICAgICAgICAgICAn
PHNjcmlwdD4lczwvc2NyaXB0PkVORCcgJSBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRf
ZmlsZShydW5uZXIuX291dHB1dF9qc29uX3BhdGgoKSkpCkBAIC00NTEsNyArNDc3LDcgQEAgY2xh
c3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgJy0tc2xhdmUtY29u
ZmlnLWpzb24tcGF0aD0vbW9jay1jaGVja291dC9zbGF2ZS1jb25maWcuanNvbicsICctLXRlc3Qt
cmVzdWx0cy1zZXJ2ZXI9c29tZS5ob3N0J10pCiAgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hlY2tvdXQvc2xhdmUtY29uZmlnLmpzb24nLCAneyJr
ZXkiOiAidmFsdWUifScpCiAgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQo
cnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwgdXBsb2FkX3N1Y2VlZHM9VHJ1ZSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNvbigpLCBbeworICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2xvYWRfb3V0cHV0X2pzb24ocnVubmVyKSwgW3sKICAg
ICAgICAgICAgICJ0aW1lc3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRf
dGFyZ2V0X3dyYXBwZXJfYW5kX2luc3BlY3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtp
dC1yZXZpc2lvbiI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsiLCAia2V5IjogInZh
bHVlIn1dKQogCkBAIC00NzAsNyArNDk2LDcgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAgICAgJy0tdGVzdC1yZXN1bHRzLXNlcnZlcj1zb21lLmhvc3QnXSkK
ICAgICAgICAgcG9ydC5yZXBvc2l0b3J5X3BhdGhzID0gbGFtYmRhOiBbKCd3ZWJraXQnLCAnL21v
Y2stY2hlY2tvdXQnKSwgKCdzb21lJywgJy9tb2NrLWNoZWNrb3V0L3NvbWUnKV0KICAgICAgICAg
c2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lz
dGVtLCB1cGxvYWRfc3VjZWVkcz1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5l
ci5sb2FkX291dHB1dF9qc29uKCksIFt7CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5f
bG9hZF9vdXRwdXRfanNvbihydW5uZXIpLCBbewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEy
MzQ1Njc4OSwgInJlc3VsdHMiOiBzZWxmLl9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVj
dG9yX3Jlc3VsdHMsCiAgICAgICAgICAgICAid2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAic29t
ZS1yZXZpc2lvbiI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsifV0pCiAK
</data>
<flag name="review"
          id="198841"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>