<?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>60521</bug_id>
          
          <creation_ts>2011-05-09 17:47:18 -0700</creation_ts>
          <short_desc>Modify jsonresults_unittest.py to use a dict format for its test data, and modify jsonresults.py to flatten hierarchical directory structures in input JSON.</short_desc>
          <delta_ts>2011-05-11 12:12:42 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alice Boxhall">aboxhall</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>400941</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-09 17:47:18 -0700</bug_when>
    <thetext>Modify jsonresults_unittest.py to use a dict format for its test data, and modify jsonresults.py to flatten hierarchical directory structures in input JSON.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400943</commentid>
    <comment_count>1</comment_count>
      <attachid>92893</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-09 17:50:17 -0700</bug_when>
    <thetext>Created attachment 92893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400984</commentid>
    <comment_count>2</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-09 18:53:41 -0700</bug_when>
    <thetext>Feel free to tell me to pull it out into two separate patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401303</commentid>
    <comment_count>3</comment_count>
      <attachid>92893</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-10 10:29:44 -0700</bug_when>
    <thetext>Comment on attachment 92893
Patch

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

Mostly style nits. R- for the regexp check on line 252.

&gt; Tools/TestResultServer/model/jsonresults.py:220
&gt; +        incremental_json = cls._flatten_json_tests(incremental_json)

Eventually, when both aggregated and incremental json are hierarchical, we probably don&apos;t want to flatten it just to unflatten it later. Can you add a FIXME to that effect?

&gt; Tools/TestResultServer/model/jsonresults.py:246
&gt; +        for (name, test) in json.iteritems():

We typically don&apos;t use parens when unpacking in other places in webkit&apos;s python code.

&gt; Tools/TestResultServer/model/jsonresults.py:247
&gt; +            if prefix != None:

&quot;if prefix:&quot; is sufficient here, no?

&gt; Tools/TestResultServer/model/jsonresults.py:248
&gt; +                fullname = &quot;/&quot;.join([prefix, name])

Using join is less readable to me than just concatenating:
fullname = prefix + &quot;/&quot; + name

&gt; Tools/TestResultServer/model/jsonresults.py:252
&gt; +            if re.match(&quot;.+\.html&quot;, name):

This check is not sufficiently general, e.g. some test names end in &quot;svg&quot;. I think it would be better to avoid checking the test name and instead check if test has a &quot;results&quot; key.

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:88
&gt; +        (builds, tests) = (test_data[&quot;builds&quot;], test_data[&quot;tests&quot;])

No need to do this in one line.

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:122
&gt; +        if re.match(&quot;.+\.html&quot;, name):

ditto above. we should probably add a FIXME to have some tests for xhtml and svg tests.

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:123
&gt; +            t = JSON_RESULTS_TESTS_TEMPLATE.replace(&quot;[TESTDATA_TEST_NAME]&quot;, name)

I know the old code did this, but webkit frowns on non-descriptive variable names. s/t/tests_dict/ ?

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:127
&gt; +        else:

no need for the else since you early return from the if statement

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:130
&gt; +            for (_name, _test) in sorted(test.iteritems()):

We use underscores to denote private methods/variables. This isn&apos;t needed for local variables since there is no concept of private local variables.

&gt; Tools/TestResultServer/model/jsonresults_unittest.py:185
&gt; +                            &quot;results&quot;: &quot;[200,\&quot;F\&quot;]&quot;,
&gt; +                            &quot;times&quot;: &quot;[200,0]&quot;}}},

this indentation is off by one space. here and a few places below. later on it&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401321</commentid>
    <comment_count>4</comment_count>
      <attachid>92893</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-10 10:46:50 -0700</bug_when>
    <thetext>Comment on attachment 92893
Patch

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

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:220
&gt;&gt; +        incremental_json = cls._flatten_json_tests(incremental_json)
&gt; 
&gt; Eventually, when both aggregated and incremental json are hierarchical, we probably don&apos;t want to flatten it just to unflatten it later. Can you add a FIXME to that effect?

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:246
&gt;&gt; +        for (name, test) in json.iteritems():
&gt; 
&gt; We typically don&apos;t use parens when unpacking in other places in webkit&apos;s python code.

Ok.

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:247
&gt;&gt; +            if prefix != None:
&gt; 
&gt; &quot;if prefix:&quot; is sufficient here, no?

My python-fu is weak. You are correct.

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:248
&gt;&gt; +                fullname = &quot;/&quot;.join([prefix, name])
&gt; 
&gt; Using join is less readable to me than just concatenating:
&gt; fullname = prefix + &quot;/&quot; + name

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:252
&gt;&gt; +            if re.match(&quot;.+\.html&quot;, name):
&gt; 
&gt; This check is not sufficiently general, e.g. some test names end in &quot;svg&quot;. I think it would be better to avoid checking the test name and instead check if test has a &quot;results&quot; key.

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:88
&gt;&gt; +        (builds, tests) = (test_data[&quot;builds&quot;], test_data[&quot;tests&quot;])
&gt; 
&gt; No need to do this in one line.

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:122
&gt;&gt; +        if re.match(&quot;.+\.html&quot;, name):
&gt; 
&gt; ditto above. we should probably add a FIXME to have some tests for xhtml and svg tests.

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:123
&gt;&gt; +            t = JSON_RESULTS_TESTS_TEMPLATE.replace(&quot;[TESTDATA_TEST_NAME]&quot;, name)
&gt; 
&gt; I know the old code did this, but webkit frowns on non-descriptive variable names. s/t/tests_dict/ ?

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:127
&gt;&gt; +        else:
&gt; 
&gt; no need for the else since you early return from the if statement

Done.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:130
&gt;&gt; +            for (_name, _test) in sorted(test.iteritems()):
&gt; 
&gt; We use underscores to denote private methods/variables. This isn&apos;t needed for local variables since there is no concept of private local variables.

I was trying to come up with names that wouldn&apos;t clobber the existing name/test variables, although I agree this was not the way to do it. Changed to child_{name,test}.

&gt;&gt; Tools/TestResultServer/model/jsonresults_unittest.py:185
&gt;&gt; +                            &quot;times&quot;: &quot;[200,0]&quot;}}},
&gt; 
&gt; this indentation is off by one space. here and a few places below. later on it&apos;s correct.

Damn, I really thought I caught all of those. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401324</commentid>
    <comment_count>5</comment_count>
      <attachid>92979</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-10 10:49:45 -0700</bug_when>
    <thetext>Created attachment 92979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401354</commentid>
    <comment_count>6</comment_count>
      <attachid>92979</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-10 11:04:53 -0700</bug_when>
    <thetext>Comment on attachment 92979
Patch

Please test this out with real data on test-results-test.appspot.com before committing and pushing to test-results.appspot.com. You can just create dummy data and upload it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402080</commentid>
    <comment_count>7</comment_count>
      <attachid>93142</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-11 10:21:54 -0700</bug_when>
    <thetext>Created attachment 93142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402084</commentid>
    <comment_count>8</comment_count>
      <attachid>93142</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-11 10:26:34 -0700</bug_when>
    <thetext>Comment on attachment 93142
Patch

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

&gt; Tools/TestResultServer/model/jsonresults.py:48
&gt; +JSON_RESULTS_PARTIALLY_SUPPORTED_VERSION = 4

Don&apos;t love this name. How about JSON_RESULTS_HIERARCHICAL_VERSION?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402089</commentid>
    <comment_count>9</comment_count>
      <attachid>93145</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-11 10:31:15 -0700</bug_when>
    <thetext>Created attachment 93145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402091</commentid>
    <comment_count>10</comment_count>
      <attachid>93142</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-05-11 10:32:15 -0700</bug_when>
    <thetext>Comment on attachment 93142
Patch

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

&gt;&gt; Tools/TestResultServer/model/jsonresults.py:48
&gt;&gt; +JSON_RESULTS_PARTIALLY_SUPPORTED_VERSION = 4
&gt; 
&gt; Don&apos;t love this name. How about JSON_RESULTS_HIERARCHICAL_VERSION?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402150</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 12:09:20 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 93145:

http/tests/misc/favicon-loads-with-icon-loading-override.html bug 58412 (author: alice.liu@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402151</commentid>
    <comment_count>12</comment_count>
      <attachid>93145</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 12:12:37 -0700</bug_when>
    <thetext>Comment on attachment 93145
Patch

Clearing flags on attachment: 93145

Committed r86252: &lt;http://trac.webkit.org/changeset/86252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402152</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 12:12:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92893</attachid>
            <date>2011-05-09 17:50:17 -0700</date>
            <delta_ts>2011-05-10 10:49:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60521-20110509175015.patch</filename>
            <type>text/plain</type>
            <size>27814</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwODEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MWE1ZDgyMTkwNDNjN2MyMzBhMTNmNmQxYThkNmUwYTU0
ZGFmYWYyLi4xNTk3YWM0ZjYyY2I3OWVkZjE2MDQ5MWM0YTc5ODUyNmE3MDQ5ZmIzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTEtMDUtMDkgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZ5IGpz
b25yZXN1bHRzX3VuaXR0ZXN0LnB5IHRvIHVzZSBhIGRpY3QgZm9ybWF0IGZvciBpdHMgdGVzdCBk
YXRhLCBhbmQgbW9kaWZ5IGpzb25yZXN1bHRzLnB5IHRvIGZsYXR0ZW4gaGllcmFyY2hpY2FsIGRp
cmVjdG9yeSBzdHJ1Y3R1cmVzIGluIGlucHV0IEpTT04uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUyMQorCisgICAgICAgIEZpcnN0IHN0ZXBzIHRv
d2FyZHMgbWFraW5nIHRoZSByZXN1bHRzIEpTT04gYWxsIGhpZXJhcmNoaWNhbC4KKworICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHk6CisgICAgICAgICogVGVz
dFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weToKKworMjAxMS0wNS0w
OSAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgogCiAgICAgICAgIFB1bGwganNvbnJlc3VsdHNfdW5pdHRlc3Qg
dGVzdCBjYXNlcyBvdXQgaW50byBzZXBhcmF0ZSB0ZXN0IG1ldGhvZHMuCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzLnB5IGIvVG9vbHMvVGVzdFJl
c3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQppbmRleCBkNjFhODYwNTY0YTJhZGM1M2Y3
ZDU3MGMzYWEwY2MzYjU0MDZkOGUyLi4yMTY3YzhlMjFjMDZhZDMzNzQ4ZGZmMGVmZjc4MTRhMDBh
NDEwYTIyIDEwMDc1NQotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1
bHRzLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkK
QEAgLTI5LDYgKzI5LDcgQEAKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBmcm9tIGRq
YW5nby51dGlscyBpbXBvcnQgc2ltcGxlanNvbgogaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCByZQog
CiBmcm9tIG1vZGVsLnRlc3RmaWxlIGltcG9ydCBUZXN0RmlsZQogCkBAIC0yMTYsNiArMjE3LDcg
QEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0KToKICAgICAgICAgICAgIGluY3JlbWVudGFsX2pz
b246IGluY3JlbWVudGFsIGpzb24gb2JqZWN0LgogICAgICAgICAgICAgbnVtX3J1bnM6IG51bWJl
ciBvZiB0b3RhbCBydW5zIHRvIGluY2x1ZGUuCiAgICAgICAgICIiIgorICAgICAgICBpbmNyZW1l
bnRhbF9qc29uID0gY2xzLl9mbGF0dGVuX2pzb25fdGVzdHMoaW5jcmVtZW50YWxfanNvbikKIAog
ICAgICAgICBhbGxfdGVzdHMgPSAoc2V0KGFnZ3JlZ2F0ZWRfanNvbi5pdGVya2V5cygpKSB8CiAg
ICAgICAgICAgICAgICAgICAgICBzZXQoaW5jcmVtZW50YWxfanNvbi5pdGVya2V5cygpKSkKQEAg
LTIzOSw2ICsyNDEsMjIgQEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0KToKICAgICAgICAgICAg
ICAgICBhZ2dyZWdhdGVkX2pzb25bdGVzdF9uYW1lXSA9IGluY3JlbWVudGFsX2pzb25bdGVzdF9u
YW1lXQogCiAgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9mbGF0dGVuX2pzb25fdGVzdHMoY2xz
LCBqc29uLCBwcmVmaXg9Tm9uZSk6CisgICAgICAgIHJlc3VsdCA9IHt9CisgICAgICAgIGZvciAo
bmFtZSwgdGVzdCkgaW4ganNvbi5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIGlmIHByZWZpeCAh
PSBOb25lOgorICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gIi8iLmpvaW4oW3ByZWZpeCwgbmFt
ZV0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gbmFtZQor
CisgICAgICAgICAgICBpZiByZS5tYXRjaCgiLitcLmh0bWwiLCBuYW1lKToKKyAgICAgICAgICAg
ICAgICByZXN1bHRbZnVsbG5hbWVdID0gdGVzdAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICByZXN1bHQudXBkYXRlKGNscy5fZmxhdHRlbl9qc29uX3Rlc3RzKHRlc3QsIGZ1bGxu
YW1lKSkKKworICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICBAY2xhc3NtZXRob2QKICAgICBk
ZWYgX2luc2VydF9pdGVtX3J1bl9sZW5ndGhfZW5jb2RlZChjbHMsIGluY3JlbWVudGFsX2l0ZW0s
IGFnZ3JlZ2F0ZWRfaXRlbSwgbnVtX3J1bnMpOgogICAgICAgICAiIiJJbnNlcnRzIHRoZSBpbmNy
ZW1lbnRhbCBydW4tbGVuZ3RoIGVuY29kZWQgcmVzdWx0cyBpbnRvIHRoZSBhZ2dyZWdhdGVkCiAg
ICAgICAgICAgIHJ1bi1sZW5ndGggZW5jb2RlZCByZXN1bHRzLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weSBiL1Rvb2xzL1Rl
c3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHNfdW5pdHRlc3QucHkKaW5kZXggZTMyYzQ3
YjhjMGU4ODY0YzJhNzY2OGZlMzM4ZTUzMjgwMWRjMjNiYy4uMGFjOWJhOTUwMDAzNWU4NmQ4ZjE3
ODZjZTZmYTY4OTJlM2Y1NjAwYSAxMDA3NTUKLS0tIGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9t
b2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weQorKysgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVy
L21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5CkBAIC0zMyw2ICszMyw3IEBAIGV4Y2VwdCBJ
bXBvcnRFcnJvcjoKICAgICBwcmludCAiRVJST1I6IEFkZCB0aGUgVGVzdFJlc3VsdFNlcnZlciwg
Z29vZ2xlX2FwcGVuZ2luZSBhbmQgeWFtbC9saWIgZGlyZWN0b3JpZXMgdG8geW91ciBQWVRIT05Q
QVRIIgogCiBpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCByZQogCiAKIEpTT05fUkVTVUxUU19URU1Q
TEFURSA9ICgKQEAgLTYyLDYgKzYzLDggQEAgSlNPTl9SRVNVTFRTX0NPVU5UU19URU1QTEFURSA9
ICgKICAgICAnIlgiOltURVNUREFUQV0sJwogICAgICciWiI6W1RFU1REQVRBXX0nKQogCitKU09O
X1JFU1VMVFNfRElSRUNUT1JZX1RFTVBMQVRFID0gJyJbVEVTVERBVEFfRElSRUNUT1JZXSI6e1tU
RVNUREFUQV9EQVRBXX0nCisKIEpTT05fUkVTVUxUU19URVNUU19URU1QTEFURSA9ICgKICAgICAn
IltURVNUREFUQV9URVNUX05BTUVdIjp7JwogICAgICcicmVzdWx0cyI6W1tURVNUREFUQV9URVNU
X1JFU1VMVFNdXSwnCkBAIC04Miw3ICs4NSw3IEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGlmIG5vdCB0ZXN0X2RhdGE6CiAgICAgICAgICAgICBy
ZXR1cm4gSlNPTl9SRVNVTFRTX1BSRUZJWCArIEpTT05fUkVTVUxUU19TVUZGSVgKIAotICAgICAg
ICAoYnVpbGRzLCB0ZXN0cykgPSB0ZXN0X2RhdGEKKyAgICAgICAgKGJ1aWxkcywgdGVzdHMpID0g
KHRlc3RfZGF0YVsiYnVpbGRzIl0sIHRlc3RfZGF0YVsidGVzdHMiXSkKICAgICAgICAgaWYgbm90
IGJ1aWxkcyBvciBub3QgdGVzdHM6CiAgICAgICAgICAgICByZXR1cm4gSlNPTl9SRVNVTFRTX1BS
RUZJWCArIEpTT05fUkVTVUxUU19TVUZGSVgKIApAQCAtMTA4LDE2ICsxMTEsMjcgQEAgY2xhc3Mg
SnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAganNvbiA9IGpzb24u
cmVwbGFjZSgiW1RFU1REQVRBX1RJTUVTXSIsICIsIi5qb2luKHRpbWVzKSkKIAogICAgICAgICBq
c29uX3Rlc3RzID0gW10KLSAgICAgICAgZm9yIHRlc3QgaW4gdGVzdHM6Ci0gICAgICAgICAgICB0
ID0gSlNPTl9SRVNVTFRTX1RFU1RTX1RFTVBMQVRFLnJlcGxhY2UoIltURVNUREFUQV9URVNUX05B
TUVdIiwgdGVzdFswXSkKLSAgICAgICAgICAgIHQgPSB0LnJlcGxhY2UoIltURVNUREFUQV9URVNU
X1JFU1VMVFNdIiwgdGVzdFsxXSkKLSAgICAgICAgICAgIHQgPSB0LnJlcGxhY2UoIltURVNUREFU
QV9URVNUX1RJTUVTXSIsIHRlc3RbMl0pCi0gICAgICAgICAgICBqc29uX3Rlc3RzLmFwcGVuZCh0
KQorICAgICAgICBmb3IgKG5hbWUsIHRlc3QpIGluIHNvcnRlZCh0ZXN0cy5pdGVyaXRlbXMoKSk6
CisgICAgICAgICAgICBqc29uX3Rlc3RzLmFwcGVuZChzZWxmLl9wYXJzZV90ZXN0c19kaWN0KG5h
bWUsIHRlc3QpKQogCiAgICAgICAgIGpzb24gPSBqc29uLnJlcGxhY2UoIltURVNUREFUQV9URVNU
U10iLCAiLCIuam9pbihqc29uX3Rlc3RzKSkKIAogICAgICAgICByZXR1cm4gSlNPTl9SRVNVTFRT
X1BSRUZJWCArIGpzb24gKyBKU09OX1JFU1VMVFNfU1VGRklYCiAKKyAgICBkZWYgX3BhcnNlX3Rl
c3RzX2RpY3Qoc2VsZiwgbmFtZSwgdGVzdCk6CisgICAgICAgIGlmIHJlLm1hdGNoKCIuK1wuaHRt
bCIsIG5hbWUpOgorICAgICAgICAgICAgdCA9IEpTT05fUkVTVUxUU19URVNUU19URU1QTEFURS5y
ZXBsYWNlKCJbVEVTVERBVEFfVEVTVF9OQU1FXSIsIG5hbWUpCisgICAgICAgICAgICB0ID0gdC5y
ZXBsYWNlKCJbVEVTVERBVEFfVEVTVF9SRVNVTFRTXSIsIHRlc3RbInJlc3VsdHMiXSkKKyAgICAg
ICAgICAgIHQgPSB0LnJlcGxhY2UoIltURVNUREFUQV9URVNUX1RJTUVTXSIsIHRlc3RbInRpbWVz
Il0pCisgICAgICAgICAgICByZXR1cm4gdAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdCA9
IEpTT05fUkVTVUxUU19ESVJFQ1RPUllfVEVNUExBVEUucmVwbGFjZSgiW1RFU1REQVRBX0RJUkVD
VE9SWV0iLCBuYW1lKQorICAgICAgICAgICAgdGVzdGRhdGEgPSBbXQorICAgICAgICAgICAgZm9y
IChfbmFtZSwgX3Rlc3QpIGluIHNvcnRlZCh0ZXN0Lml0ZXJpdGVtcygpKToKKyAgICAgICAgICAg
ICAgICB0ZXN0ZGF0YS5hcHBlbmQoc2VsZi5fcGFyc2VfdGVzdHNfZGljdChfbmFtZSwgX3Rlc3Qp
KQorICAgICAgICAgICAgdCA9IHQucmVwbGFjZSgiW1RFU1REQVRBX0RBVEFdIiwgIiwiLmpvaW4o
dGVzdGRhdGEpKQorICAgICAgICAgICAgcmV0dXJuIHQKKwogICAgIGRlZiBfdGVzdF9tZXJnZShz
ZWxmLCBhZ2dyZWdhdGVkX2RhdGEsIGluY3JlbWVudGFsX2RhdGEsIGV4cGVjdGVkX2RhdGEsIG1h
eF9idWlsZHM9anNvbnJlc3VsdHMuSlNPTl9SRVNVTFRTX01BWF9CVUlMRFMpOgogICAgICAgICBh
Z2dyZWdhdGVkX3Jlc3VsdHMgPSBzZWxmLl9tYWtlX3Rlc3RfanNvbihhZ2dyZWdhdGVkX2RhdGEp
CiAgICAgICAgIGluY3JlbWVudGFsX3Jlc3VsdHMgPSBzZWxmLl9tYWtlX3Rlc3RfanNvbihpbmNy
ZW1lbnRhbF9kYXRhKQpAQCAtMTUxLDcgKzE2NSwxMCBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIE5vdGhpbmcgdG8gbWVyZ2UuCiAgICAgICAg
IHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAg
ICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAs
MF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzIwMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKICAgICAg
ICAgICAgIE5vbmUsCiAgICAgICAgICAgICAjIEV4cGVjdCBubyBtZXJnZSBoYXBwZW5zLgpAQCAt
MTYyLDkgKzE3OSwxMyBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAjIE5vdGhpbmcgdG8gbWVyZ2UuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2Uo
CiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIx
Il0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0
bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFtdLCBbXSks
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFtdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHt9fSwK
ICAgICAgICAgICAgICMgRXhwZWN0ZWQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgICAgIE5v
bmUpCiAKQEAgLTE3NSw5ICsxOTYsMTYgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCiAgICAgICAgICAg
ICBOb25lLAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCi0g
ICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBb
WyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1dKSkKKworICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKKyAg
ICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIs
ICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVy
Z2VfaW5jcmVtZW50YWxfc2luZ2xlX3Rlc3Rfc2luZ2xlX3J1bl9zYW1lX3Jlc3VsdChzZWxmKToK
ICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzIGhhcyB0aGUgbGF0ZXN0IGJ1aWxkIGFuZCBz
YW1lIHRlc3QgcmVzdWx0cyBmb3IKQEAgLTE4NiwxMSArMjE0LDIwIEBAIGNsYXNzIEpzb25SZXN1
bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgb2YgcnVucyBmb3IgIkYiICgy
MDAgKyAxKSB0byBnZXQgbWVyZ2VkIHJlc3VsdHMuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2Uo
CiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIx
Il0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0
bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBb
WyIwMDEuaHRtbCIsICJbMSxcIkZcIl0iLCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgeyJidWls
ZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiRlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhw
ZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwi
LCAiWzIwMSxcIkZcIl0iLCAiWzIwMSwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsi
MyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDEsXCJGXCJdIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMSwwXSJ9fX0pCiAKICAgICBkZWYg
dGVzdF9tZXJnZV9zaW5nbGVfdGVzdF9zaW5nbGVfcnVuX2RpZmZlcmVudF9yZXN1bHQoc2VsZik6
CiAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cyBoYXMgdGhlIGxhdGVzdCBidWlsZCBidXQg
ZGlmZmVyZW50IHRlc3QgcmVzdWx0cwpAQCAtMTk4LDU5ICsyMzUsMTM3IEBAIGNsYXNzIEpzb25S
ZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgSW5zZXJ0IHRoZSBpbmNy
ZW1lbnRhbCByZXN1bHRzIGF0IHRoZSBmaXJzdCBwbGFjZS4KICAgICAgICAgc2VsZi5fdGVzdF9t
ZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIy
IiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAg
ICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAs
XCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19
fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJd
LCBbWyIwMDEuaHRtbCIsICJbMSwgXCJJXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsi
YnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLCBcIklcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMg
RXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0
bWwiLCAiWzEsXCJJXCJdLFsyMDAsXCJGXCJdIiwgIlsxLDFdLFsyMDAsMF0iXV0pKQorICAgICAg
ICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjog
eyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsx
LFwiSVwiXSxbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzEsMV0sWzIwMCwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9zaW5nbGVfdGVzdF9z
aW5nbGVfcnVuX3Jlc3VsdF9jaGFuZ2VkKHNlbGYpOgogICAgICAgICAjIEluY3JlbWVudGFsIHJl
c3VsdHMgaGFzIHRoZSBsYXRlc3QgYnVpbGQgYnV0IHJlc3VsdHMgd2hpY2ggZGlmZmVyIGZyb20K
ICAgICAgICAgIyB0aGUgbGF0ZXN0IHJlc3VsdCAoYnV0IGFyZSB0aGUgc2FtZSBhcyBhbiBvbGRl
ciByZXN1bHQpLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dy
ZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJb
MjAwLFwiRlwiXSxbMTAsXCJJXCJdIiwgIlsyMDAsMF0sWzEwLDFdIl1dKSwKKyAgICAgICAgICAg
IHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0s
WzEwLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCww
XSxbMTAsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAg
ICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiSVwiXSIsICJbMSwxXSJdXSksCisgICAg
ICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0
bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIklcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAgICAg
ICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwg
W1siMDAxLmh0bWwiLCAiWzEsXCJJXCJdLFsyMDAsXCJGXCJdLFsxMCxcIklcIl0iLCAiWzEsMV0s
WzIwMCwwXSxbMTAsMV0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiSVwiXSxbMjAwLFwiRlwiXSxbMTAsXCJJXCJd
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSxbMjAwLDBdLFsx
MCwxXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9tdWx0aXBsZV90ZXN0c19zaW5nbGVfcnVu
KHNlbGYpOgogICAgICAgICAjIEFsbCB0ZXN0cyBoYXZlIGluY3JlbWVudGFsIHVwZGF0ZXMuCiAg
ICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0
cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwg
IlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAwLFwiSVwiXSIsICJbMTAwLDFdIl1dKSwKKyAg
ICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIw
MCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0i
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwMCxcIklcIl0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRpbWVzIjogIlsxMDAsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRh
bCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiRlwiXSIs
ICJbMSwwXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwiSVwiXSIsICJbMSwxXSJdXSksCisgICAgICAg
ICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIkZcIl0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn0sCisgICAgICAgICAg
ICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHRzIjogIlsxLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzEsMV0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAg
ICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAxLFwiRlwiXSIsICJbMjAxLDBd
Il0sIFsiMDAyLmh0bWwiLCAiWzEwMSxcIklcIl0iLCAiWzEwMSwxXSJdXSkpCisgICAgICAgICAg
ICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAw
MS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMSxc
IkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDEsMF0ifSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlc3VsdHMiOiAiWzEwMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRpbWVzIjogIlsxMDEsMV0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfbXVsdGlw
bGVfdGVzdHNfc2luZ2xlX3J1bl9vbmVfbm9fcmVzdWx0KHNlbGYpOgogICAgICAgICBzZWxmLl90
ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAg
IChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl0sIFsi
MDAyLmh0bWwiLCAiWzEwMCxcIklcIl0iLCAiWzEwMCwxXSJdXSksCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAgICAgICAg
ICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHRzIjogIlsxMDAsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
cyI6ICJbMTAwLDFdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAg
ICAgICAgICAgKFsiMyJdLCBbWyIwMDIuaHRtbCIsICJbMSxcIklcIl0iLCAiWzEsMV0iXV0pLAor
ICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAw
Mi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJJ
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAg
ICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIx
Il0sIFtbIjAwMS5odG1sIiwgIlsxLFwiTlwiXSxbMjAwLFwiRlwiXSIsICJbMjAxLDBdIl0sIFsi
MDAyLmh0bWwiLCAiWzEwMSxcIklcIl0iLCAiWzEwMSwxXSJdXSkpCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJOXCJdLFsy
MDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAxLDBd
In0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMDEsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMTAxLDFdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX3Np
bmdsZV90ZXN0X211bHRpcGxlX3J1bnMoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2Uo
CiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIx
Il0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0
bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwi
XSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0sCiAg
ICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjQiLCAiMyJd
LCBbWyIwMDEuaHRtbCIsICJbMiwgXCJJXCJdIiwgIlsyLDJdIl1dKSwKKyAgICAgICAgICAgIHsi
YnVpbGRzIjogWyI0IiwgIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjog
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIsIFwiSVwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIsMl0ifX19LAogICAgICAgICAg
ICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyI0IiwgIjMiLCAiMiIsICIxIl0s
IFtbIjAwMS5odG1sIiwgIlsyLFwiSVwiXSxbMjAwLFwiRlwiXSIsICJbMiwyXSxbMjAwLDBdIl1d
KSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyI0IiwgIjMiLCAiMiIsICIxIl0sCisgICAgICAg
ICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHRzIjogIlsyLFwiSVwiXSxbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidGltZXMiOiAiWzIsMl0sWzIwMCwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJn
ZV9tdWx0aXBsZV90ZXN0c19tdWx0aXBsZV9ydW5zKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0
X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChb
IjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl0sIFsiMDAy
Lmh0bWwiLCAiWzEwLFwiWlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMi
OiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAg
ICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0
cyI6ICJbMTAsXCJaXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MTAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAg
ICAoWyI0IiwgIjMiXSwgW1siMDAxLmh0bWwiLCAiWzIsIFwiSVwiXSIsICJbMiwyXSJdLCBbIjAw
Mi5odG1sIiwgIlsxLFwiQ1wiXSIsICJbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6
IFsiNCIsICIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyLCBcIklcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyLDJdIn0sCisgICAgICAgICAgICAgICAgICAg
ICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjog
IlsxLFwiQ1wiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0i
fX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyI0Iiwg
IjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyLFwiSVwiXSxbMjAwLFwiRlwiXSIsICJb
MiwyXSxbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJDXCJdLFsxMCxcIlpcIl0iLCAiWzEs
MV0sWzEwLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyI0IiwgIjMiLCAiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyLFwiSVwiXSxbMjAwLFwiRlwiXSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIsMl0sWzIwMCwwXSJ9LAorICAgICAgICAg
ICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAi
cmVzdWx0cyI6ICJbMSxcIkNcIl0sWzEwLFwiWlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidGltZXMiOiAiWzEsMV0sWzEwLDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX2lu
Y3JlbWVudGFsX3Jlc3VsdF9vbGRlcl9idWlsZChzZWxmKToKICAgICAgICAgIyBUZXN0IHRoZSBi
dWlsZCBpbiBpbmNyZW1lbnRhbCByZXN1bHRzIGlzIG9sZGVyIHRoYW4gdGhlIG1vc3QgcmVjZW50
CkBAIC0yNTgsOSArMzczLDE1IEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgICMgVGhlIGluY3JlbWVudGFsIHJlc3VsdHMgc2hvdWxkIGJlIGRyb3Bw
ZWQgYW5kIG5vIG1lcmdlIGhhcHBlbnMuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAg
ICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIxIl0sIFtb
IjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAgICAgeyJi
dWlsZHMiOiBbIjMiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0sCiAgICAgICAg
ICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiXSwgW1siMDAxLmh0
bWwiLCAiWzEsIFwiRlwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsi
MiJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSwgXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIG5v
IG1lcmdlIGhhcHBlbnMuCiAgICAgICAgICAgICBOb25lKQogCkBAIC0yNzAsOSArMzkxLDE1IEBA
IGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgVGhl
IGluY3JlbWVudGFsIHJlc3VsdHMgc2hvdWxkIGJlIGRyb3BwZWQgYW5kIG5vIG1lcmdlIGhhcHBl
bnMuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQg
cmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJG
XCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAor
ICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJl
c3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiJdLCBbWyIwMDEuaHRtbCIsICJbMiwgXCJGXCJd
IiwgIlsyLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiXSwKKyAgICAg
ICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzIsIFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGltZXMiOiAiWzIsMF0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCBubyBtZXJnZSBoYXBw
ZW5zLgogICAgICAgICAgICAgTm9uZSkKIApAQCAtMjgwLDMxICs0MDcsNzkgQEAgY2xhc3MgSnNv
blJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBSZW1vdmUgdGVzdCB3
aGVyZSB0aGVyZSBpcyBubyBkYXRhIGluIGFsbCBydW5zLgogICAgICAgICBzZWxmLl90ZXN0X21l
cmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIi
LCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiTlwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0
bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBb
IjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiTlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAg
ICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6
ICJbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAs
MF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiTlwiXSIsICJbMSwwXSJdLCBbIjAwMi5odG1sIiwg
IlsxLFwiUFwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAor
ICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVzdWx0cyI6ICJbMSxcIk5cIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsxLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiUFwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifX19LAogICAgICAgICAg
ICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIw
MDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsICJbMTEsMF0iXV0pKQorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
UFwiXSxbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MTEsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfcmVtb3ZlX3Rlc3Rfd2l0aF9hbGxfcGFz
cyhzZWxmKToKICAgICAgICAgIyBSZW1vdmUgdGVzdCB3aGVyZSBhbGwgcnVuIHBhc3MgYW5kIG1h
eCBydW5uaW5nIHRpbWUgPCAxIHNlY29uZHMKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAg
ICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwg
W1siMDAxLmh0bWwiLCAiWzIwMCxcIlBcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsx
MCxcIkZcIl0iLCAiWzEwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIlBcIl0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAw
Mi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwLFwi
RlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBb
WyIwMDEuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIlBc
Il0iLCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAg
ICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdHMiOiAiWzEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
cyI6ICJbMSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhw
ZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAyLmh0bWwi
LCAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLCAiWzExLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVp
bGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAyLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0sWzEw
LFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzExLDBdIn19
fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX2tlZXBfdGVzdF93aXRoX2FsbF9wYXNzX2J1dF9zbG93
X3RpbWUoc2VsZik6CiAgICAgICAgICMgRG8gbm90IHJlbW92ZSB0ZXN0IHdoZXJlIGFsbCBydW4g
cGFzcyBidXQgbWF4IHJ1bm5pbmcgdGltZSA+PSAxIHNlY29uZHMKICAgICAgICAgc2VsZi5fdGVz
dF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIlBcIl0iLCAiWzIwMCwwXSJdLCBbIjAw
Mi5odG1sIiwgIlsxMCxcIkZcIl0iLCAiWzEwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRz
IjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIlBcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzEwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAi
WzEwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAg
ICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMV0iXSwgWyIwMDIuaHRt
bCIsICJbMSxcIlBcIl0iLCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0
bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwKICAgICAg
ICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwg
W1siMDAxLmh0bWwiLCAiWzIwMSxcIlBcIl0iLCAiWzEsMV0sWzIwMCwwXSJdLCBbIjAwMi5odG1s
IiwgIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwgIlsxMSwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMSxcIlBcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdLFsyMDAsMF0ifSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMSwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJn
ZV9wcnVuZV9leHRyYV9yZXN1bHRzKHNlbGYpOgogICAgICAgICAjIFJlbW92ZSBpdGVtcyBmcm9t
IHRlc3QgcmVzdWx0cyBhbmQgdGltZXMgdGhhdCBleGNlZWQgdGhlIG1heCBudW1iZXIKQEAgLTMx
MiwxMSArNDg3LDIwIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIG1heF9idWlsZHMgPSBzdHIoanNvbnJlc3VsdHMuSlNPTl9SRVNVTFRTX01BWF9C
VUlMRFMpCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0
ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsiICsg
bWF4X2J1aWxkcyArICIsXCJGXCJdLFsxLFwiSVwiXSIsICJbIiArIG1heF9idWlsZHMgKyAiLDBd
LFsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAg
ICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdHMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJJXCJdIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbIiArIG1heF9idWlsZHMgKyAiLDBdLFsx
LDFdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAg
KFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlRcIl0iLCAiWzEsMV0iXV0pLAorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjog
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJUXCJdIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAg
ICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAw
MS5odG1sIiwgIlsxLFwiVFwiXSxbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSIsICJbMSwxXSxb
IiArIG1heF9idWlsZHMgKyAiLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwg
IjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlRcIl0sWyIgKyBtYXhfYnVpbGRz
ICsgIixcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFd
LFsiICsgbWF4X2J1aWxkcyArICIsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfcHJ1bmVf
ZXh0cmFfcmVzdWx0c19zbWFsbChzZWxmKToKICAgICAgICAgIyBSZW1vdmUgaXRlbXMgZnJvbSB0
ZXN0IHJlc3VsdHMgYW5kIHRpbWVzIHRoYXQgZXhjZWVkIHRoZSBtYXggbnVtYmVyCkBAIC0zMjQs
MTEgKzUwOCwyMCBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBtYXhfYnVpbGRzID0gc3RyKGpzb25yZXN1bHRzLkpTT05fUkVTVUxUU19NQVhfQlVJ
TERTX1NNQUxMKQogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dy
ZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJb
IiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIklcIl0iLCAiWyIgKyBtYXhfYnVpbGRzICsg
IiwwXSxbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdLFsxLFwiSVwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIiww
XSxbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAg
ICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJUXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAg
ICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRt
bCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiVFwiXSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0ifX19LAogICAgICAg
ICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBb
WyIwMDEuaHRtbCIsICJbMSxcIlRcIl0sWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLCAiWzEs
MV0sWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsi
MyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJUXCJdLFsiICsgbWF4X2J1
aWxkcyArICIsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MSwxXSxbIiArIG1heF9idWlsZHMgKyAiLDBdIn19fSwKICAgICAgICAgICAgIGludChtYXhfYnVp
bGRzKSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX3BydW5lX2V4dHJhX3Jlc3VsdHNfd2l0aF9uZXdf
cmVzdWx0X29mX3NhbWVfdHlwZShzZWxmKToKQEAgLTMzNywxOSArNTMwLDYyIEBAIGNsYXNzIEpz
b25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIG1heF9idWlsZHMgPSBz
dHIoanNvbnJlc3VsdHMuSlNPTl9SRVNVTFRTX01BWF9CVUlMRFNfU01BTEwpCiAgICAgICAgIHNl
bGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAg
ICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsiICsgbWF4X2J1aWxkcyArICIsXCJG
XCJdLFsxLFwiTlwiXSIsICJbIiArIG1heF9idWlsZHMgKyAiLDBdLFsxLDFdIl1dKSwKKyAgICAg
ICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAw
MS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWyIgKyBt
YXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJOXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lcyI6ICJbIiArIG1heF9idWlsZHMgKyAiLDBdLFsxLDFdIn19fSwKICAgICAgICAg
ICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRt
bCIsICJbMSxcIkZcIl0iLCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3Vs
dHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsiICsgbWF4
X2J1aWxkcyArICIsXCJGXCJdIiwgIlsiICsgbWF4X2J1aWxkcyArICIsMF0iXV0pLAorICAgICAg
ICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjog
eyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsi
ICsgbWF4X2J1aWxkcyArICIsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbIiArIG1heF9idWlsZHMgKyAiLDBdIn19fSwKICAgICAgICAgICAgIGludChtYXhf
YnVpbGRzKSkKIAorICAgIGRlZiB0ZXN0X21lcmdlX2J1aWxkX2RpcmVjdG9yeV9oaWVyYXJjaHko
c2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCisgICAgICAgICAgICAjIEFnZ3JlZ2F0
ZWQgcmVzdWx0cworICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAg
ICAgICJ0ZXN0cyI6IHsiZm9vLzAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzUwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGltZXMiOiAiWzUwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICJmb28vMDAyLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAwLFwiSVwiXSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMCwwXSJ9fX0sCisgICAg
ICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIz
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyJmb28iOiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGlt
ZXMiOiAiWzEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIklcIl0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9fX19LAorICAg
ICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIs
ICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7ImZvby8wMDEuaHRtbCI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIls1MSxcIkZcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIls1MSwwXSJ9LAorICAgICAgICAgICAgICAg
ICAgICAgICAiZm9vLzAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEwMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVz
IjogIlsxMDEsMF0ifX19KQorCiAgICAgZGVmIHRlc3RfZ2V0X3Rlc3RfbmFtZV9saXN0KHNlbGYp
OgogICAgICAgICAjIEdldCB0ZXN0IG5hbWUgbGlzdCBvbmx5LiBEb24ndCBpbmNsdWRlIG5vbi10
ZXN0LWxpc3QgZGF0YSBhbmQKICAgICAgICAgIyBvZiB0ZXN0IHJlc3VsdCBkZXRhaWxzLgogICAg
ICAgICBzZWxmLl90ZXN0X2dldF90ZXN0X2xpc3QoCiAgICAgICAgICAgICAjIElucHV0IHJlc3Vs
dHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJQ
XCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJdXSks
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAi
dGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzIwMCxcIlBcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjog
IlsyMDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwLFwiRlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwLDBdIn19fSwKICAgICAgICAgICAgICMgRXhw
ZWN0ZWQgcmVzdWx0cwogICAgICAgICAgICAgWyIwMDEuaHRtbCIsICIwMDIuaHRtbCJdKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92979</attachid>
            <date>2011-05-10 10:49:45 -0700</date>
            <delta_ts>2011-05-11 10:21:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60521-20110510104943.patch</filename>
            <type>text/plain</type>
            <size>27968</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwODEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MWE1ZDgyMTkwNDNjN2MyMzBhMTNmNmQxYThkNmUwYTU0
ZGFmYWYyLi4xNTk3YWM0ZjYyY2I3OWVkZjE2MDQ5MWM0YTc5ODUyNmE3MDQ5ZmIzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTEtMDUtMDkgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZ5IGpz
b25yZXN1bHRzX3VuaXR0ZXN0LnB5IHRvIHVzZSBhIGRpY3QgZm9ybWF0IGZvciBpdHMgdGVzdCBk
YXRhLCBhbmQgbW9kaWZ5IGpzb25yZXN1bHRzLnB5IHRvIGZsYXR0ZW4gaGllcmFyY2hpY2FsIGRp
cmVjdG9yeSBzdHJ1Y3R1cmVzIGluIGlucHV0IEpTT04uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUyMQorCisgICAgICAgIEZpcnN0IHN0ZXBzIHRv
d2FyZHMgbWFraW5nIHRoZSByZXN1bHRzIEpTT04gYWxsIGhpZXJhcmNoaWNhbC4KKworICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHk6CisgICAgICAgICogVGVz
dFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weToKKworMjAxMS0wNS0w
OSAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgogCiAgICAgICAgIFB1bGwganNvbnJlc3VsdHNfdW5pdHRlc3Qg
dGVzdCBjYXNlcyBvdXQgaW50byBzZXBhcmF0ZSB0ZXN0IG1ldGhvZHMuCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzLnB5IGIvVG9vbHMvVGVzdFJl
c3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQppbmRleCBkNjFhODYwNTY0YTJhZGM1M2Y3
ZDU3MGMzYWEwY2MzYjU0MDZkOGUyLi4wNTNiMTY1N2ZmNGUzMTFjZWYzZWVkN2QzN2M5MjUwZTYw
YTdlNTRhIDEwMDc1NQotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1
bHRzLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkK
QEAgLTIxNiw2ICsyMTYsMTAgQEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0KToKICAgICAgICAg
ICAgIGluY3JlbWVudGFsX2pzb246IGluY3JlbWVudGFsIGpzb24gb2JqZWN0LgogICAgICAgICAg
ICAgbnVtX3J1bnM6IG51bWJlciBvZiB0b3RhbCBydW5zIHRvIGluY2x1ZGUuCiAgICAgICAgICIi
IgorICAgICAgICAjIEZJWE1FKGFib3hoYWxsKTogT25jZSB0aGUgZGFzaGJvYXJkIGNhbiByZWFk
IGhpZXJhcmNoaWNhbCBKU09OLCBib3RoCisgICAgICAgICMgaW5jcmVtZW50YWwgYW5kIGFnZ3Jl
Z2F0ZWQgSlNPTiBjYW4gYmUgaGllcmFyY2hpY2FsLCB3aXRoIG5vIG5lZWQgdG8KKyAgICAgICAg
IyBmbGF0dGVuIGhlcmUuCisgICAgICAgIGluY3JlbWVudGFsX2pzb24gPSBjbHMuX2ZsYXR0ZW5f
anNvbl90ZXN0cyhpbmNyZW1lbnRhbF9qc29uKQogCiAgICAgICAgIGFsbF90ZXN0cyA9IChzZXQo
YWdncmVnYXRlZF9qc29uLml0ZXJrZXlzKCkpIHwKICAgICAgICAgICAgICAgICAgICAgIHNldChp
bmNyZW1lbnRhbF9qc29uLml0ZXJrZXlzKCkpKQpAQCAtMjM5LDYgKzI0MywyMiBAQCBjbGFzcyBK
c29uUmVzdWx0cyhvYmplY3QpOgogICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZWRfanNvblt0ZXN0
X25hbWVdID0gaW5jcmVtZW50YWxfanNvblt0ZXN0X25hbWVdCiAKICAgICBAY2xhc3NtZXRob2QK
KyAgICBkZWYgX2ZsYXR0ZW5fanNvbl90ZXN0cyhjbHMsIGpzb24sIHByZWZpeD1Ob25lKToKKyAg
ICAgICAgcmVzdWx0ID0ge30KKyAgICAgICAgZm9yIG5hbWUsIHRlc3QgaW4ganNvbi5pdGVyaXRl
bXMoKToKKyAgICAgICAgICAgIGlmIHByZWZpeDoKKyAgICAgICAgICAgICAgICBmdWxsbmFtZSA9
IHByZWZpeCArICIvIiArIG5hbWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ZnVsbG5hbWUgPSBuYW1lCisKKyAgICAgICAgICAgIGlmICJyZXN1bHRzIiBpbiB0ZXN0OgorICAg
ICAgICAgICAgICAgIHJlc3VsdFtmdWxsbmFtZV0gPSB0ZXN0CisgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgIHJlc3VsdC51cGRhdGUoY2xzLl9mbGF0dGVuX2pzb25fdGVzdHModGVz
dCwgZnVsbG5hbWUpKQorCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIEBjbGFzc21ldGhv
ZAogICAgIGRlZiBfaW5zZXJ0X2l0ZW1fcnVuX2xlbmd0aF9lbmNvZGVkKGNscywgaW5jcmVtZW50
YWxfaXRlbSwgYWdncmVnYXRlZF9pdGVtLCBudW1fcnVucyk6CiAgICAgICAgICIiIkluc2VydHMg
dGhlIGluY3JlbWVudGFsIHJ1bi1sZW5ndGggZW5jb2RlZCByZXN1bHRzIGludG8gdGhlIGFnZ3Jl
Z2F0ZWQKICAgICAgICAgICAgcnVuLWxlbmd0aCBlbmNvZGVkIHJlc3VsdHMuCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weQppbmRl
eCBlMzJjNDdiOGMwZTg4NjRjMmE3NjY4ZmUzMzhlNTMyODAxZGMyM2JjLi45NjUwZDk4MjE1ODc3
OGRmZjg0MWYwMTgwODNhNmM4ZjgxZWE5YWFkIDEwMDc1NQotLS0gYS9Ub29scy9UZXN0UmVzdWx0
U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1
bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHNfdW5pdHRlc3QucHkKQEAgLTMzLDYgKzMzLDcgQEAg
ZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHByaW50ICJFUlJPUjogQWRkIHRoZSBUZXN0UmVzdWx0
U2VydmVyLCBnb29nbGVfYXBwZW5naW5lIGFuZCB5YW1sL2xpYiBkaXJlY3RvcmllcyB0byB5b3Vy
IFBZVEhPTlBBVEgiCiAKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHJlCiAKIAogSlNPTl9SRVNV
TFRTX1RFTVBMQVRFID0gKApAQCAtNjIsNiArNjMsOCBAQCBKU09OX1JFU1VMVFNfQ09VTlRTX1RF
TVBMQVRFID0gKAogICAgICciWCI6W1RFU1REQVRBXSwnCiAgICAgJyJaIjpbVEVTVERBVEFdfScp
CiAKK0pTT05fUkVTVUxUU19ESVJFQ1RPUllfVEVNUExBVEUgPSAnIltURVNUREFUQV9ESVJFQ1RP
UlldIjp7W1RFU1REQVRBX0RBVEFdfScKKwogSlNPTl9SRVNVTFRTX1RFU1RTX1RFTVBMQVRFID0g
KAogICAgICciW1RFU1REQVRBX1RFU1RfTkFNRV0iOnsnCiAgICAgJyJyZXN1bHRzIjpbW1RFU1RE
QVRBX1RFU1RfUkVTVUxUU11dLCcKQEAgLTgyLDcgKzg1LDggQEAgY2xhc3MgSnNvblJlc3VsdHNU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgaWYgbm90IHRlc3RfZGF0YToKICAgICAg
ICAgICAgIHJldHVybiBKU09OX1JFU1VMVFNfUFJFRklYICsgSlNPTl9SRVNVTFRTX1NVRkZJWAog
Ci0gICAgICAgIChidWlsZHMsIHRlc3RzKSA9IHRlc3RfZGF0YQorICAgICAgICBidWlsZHMgPSB0
ZXN0X2RhdGFbImJ1aWxkcyJdCisgICAgICAgIHRlc3RzID0gdGVzdF9kYXRhWyJ0ZXN0cyJdCiAg
ICAgICAgIGlmIG5vdCBidWlsZHMgb3Igbm90IHRlc3RzOgogICAgICAgICAgICAgcmV0dXJuIEpT
T05fUkVTVUxUU19QUkVGSVggKyBKU09OX1JFU1VMVFNfU1VGRklYCiAKQEAgLTEwOCwxNiArMTEy
LDI3IEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGpzb24gPSBqc29uLnJlcGxhY2UoIltURVNUREFUQV9USU1FU10iLCAiLCIuam9pbih0aW1lcykp
CiAKICAgICAgICAganNvbl90ZXN0cyA9IFtdCi0gICAgICAgIGZvciB0ZXN0IGluIHRlc3RzOgot
ICAgICAgICAgICAgdCA9IEpTT05fUkVTVUxUU19URVNUU19URU1QTEFURS5yZXBsYWNlKCJbVEVT
VERBVEFfVEVTVF9OQU1FXSIsIHRlc3RbMF0pCi0gICAgICAgICAgICB0ID0gdC5yZXBsYWNlKCJb
VEVTVERBVEFfVEVTVF9SRVNVTFRTXSIsIHRlc3RbMV0pCi0gICAgICAgICAgICB0ID0gdC5yZXBs
YWNlKCJbVEVTVERBVEFfVEVTVF9USU1FU10iLCB0ZXN0WzJdKQotICAgICAgICAgICAganNvbl90
ZXN0cy5hcHBlbmQodCkKKyAgICAgICAgZm9yIChuYW1lLCB0ZXN0KSBpbiBzb3J0ZWQodGVzdHMu
aXRlcml0ZW1zKCkpOgorICAgICAgICAgICAganNvbl90ZXN0cy5hcHBlbmQoc2VsZi5fcGFyc2Vf
dGVzdHNfZGljdChuYW1lLCB0ZXN0KSkKIAogICAgICAgICBqc29uID0ganNvbi5yZXBsYWNlKCJb
VEVTVERBVEFfVEVTVFNdIiwgIiwiLmpvaW4oanNvbl90ZXN0cykpCiAKICAgICAgICAgcmV0dXJu
IEpTT05fUkVTVUxUU19QUkVGSVggKyBqc29uICsgSlNPTl9SRVNVTFRTX1NVRkZJWAogCisgICAg
ZGVmIF9wYXJzZV90ZXN0c19kaWN0KHNlbGYsIG5hbWUsIHRlc3QpOgorICAgICAgICBpZiAicmVz
dWx0cyIgaW4gdGVzdDoKKyAgICAgICAgICAgIHRlc3RfcmVzdWx0cyA9IEpTT05fUkVTVUxUU19U
RVNUU19URU1QTEFURS5yZXBsYWNlKCJbVEVTVERBVEFfVEVTVF9OQU1FXSIsIG5hbWUpCisgICAg
ICAgICAgICB0ZXN0X3Jlc3VsdHMgPSB0ZXN0X3Jlc3VsdHMucmVwbGFjZSgiW1RFU1REQVRBX1RF
U1RfUkVTVUxUU10iLCB0ZXN0WyJyZXN1bHRzIl0pCisgICAgICAgICAgICB0ZXN0X3Jlc3VsdHMg
PSB0ZXN0X3Jlc3VsdHMucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RfVElNRVNdIiwgdGVzdFsidGlt
ZXMiXSkKKyAgICAgICAgICAgIHJldHVybiB0ZXN0X3Jlc3VsdHMKKworICAgICAgICB0ZXN0X3Jl
c3VsdHMgPSBKU09OX1JFU1VMVFNfRElSRUNUT1JZX1RFTVBMQVRFLnJlcGxhY2UoIltURVNUREFU
QV9ESVJFQ1RPUlldIiwgbmFtZSkKKyAgICAgICAgdGVzdGRhdGEgPSBbXQorICAgICAgICBmb3Ig
KGNoaWxkX25hbWUsIGNoaWxkX3Rlc3QpIGluIHNvcnRlZCh0ZXN0Lml0ZXJpdGVtcygpKToKKyAg
ICAgICAgICAgIHRlc3RkYXRhLmFwcGVuZChzZWxmLl9wYXJzZV90ZXN0c19kaWN0KGNoaWxkX25h
bWUsIGNoaWxkX3Rlc3QpKQorICAgICAgICB0ZXN0X3Jlc3VsdHMgPSB0ZXN0X3Jlc3VsdHMucmVw
bGFjZSgiW1RFU1REQVRBX0RBVEFdIiwgIiwiLmpvaW4odGVzdGRhdGEpKQorICAgICAgICByZXR1
cm4gdGVzdF9yZXN1bHRzCisKICAgICBkZWYgX3Rlc3RfbWVyZ2Uoc2VsZiwgYWdncmVnYXRlZF9k
YXRhLCBpbmNyZW1lbnRhbF9kYXRhLCBleHBlY3RlZF9kYXRhLCBtYXhfYnVpbGRzPWpzb25yZXN1
bHRzLkpTT05fUkVTVUxUU19NQVhfQlVJTERTKToKICAgICAgICAgYWdncmVnYXRlZF9yZXN1bHRz
ID0gc2VsZi5fbWFrZV90ZXN0X2pzb24oYWdncmVnYXRlZF9kYXRhKQogICAgICAgICBpbmNyZW1l
bnRhbF9yZXN1bHRzID0gc2VsZi5fbWFrZV90ZXN0X2pzb24oaW5jcmVtZW50YWxfZGF0YSkKQEAg
LTE1MSw3ICsxNjYsMTAgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBOb3RoaW5nIHRvIG1lcmdlLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdl
KAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAi
MSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5o
dG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAog
ICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCiAgICAgICAgICAgICBOb25lLAogICAg
ICAgICAgICAgIyBFeHBlY3Qgbm8gbWVyZ2UgaGFwcGVucy4KQEAgLTE2Miw5ICsxODAsMTMgQEAg
Y2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBOb3Ro
aW5nIHRvIG1lcmdlLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBB
Z2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIs
ICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIy
IiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNy
ZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoW10sIFtdKSwKKyAgICAgICAgICAgIHsiYnVp
bGRzIjogW10sCisgICAgICAgICAgICAgInRlc3RzIjoge319LAogICAgICAgICAgICAgIyBFeHBl
Y3RlZCBubyBtZXJnZSBoYXBwZW5zLgogICAgICAgICAgICAgTm9uZSkKIApAQCAtMTc1LDkgKzE5
NywxNiBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAg
ICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEu
aHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKLSAgICAgICAgICAgICMgRXhwZWN0
ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAs
XCJGXCJdIiwgIlsyMDAsMF0iXV0pKQorCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKKyAgICAgICAgICAgICMgRXhwZWN0ZWQg
cmVzdWx0CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAg
InRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1
bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMjAwLDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX2luY3JlbWVudGFsX3NpbmdsZV90
ZXN0X3NpbmdsZV9ydW5fc2FtZV9yZXN1bHQoc2VsZik6CiAgICAgICAgICMgSW5jcmVtZW50YWwg
cmVzdWx0cyBoYXMgdGhlIGxhdGVzdCBidWlsZCBhbmQgc2FtZSB0ZXN0IHJlc3VsdHMgZm9yCkBA
IC0xODYsMTEgKzIxNSwyMCBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAjIG9mIHJ1bnMgZm9yICJGIiAoMjAwICsgMSkgdG8gZ2V0IG1lcmdlZCBy
ZXN1bHRzLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdh
dGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAw
LFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRh
bCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiRlwiXSIs
ICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMSxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjog
IlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAg
KFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMSxcIkZcIl0iLCAiWzIwMSwwXSJd
XSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAg
ICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzIwMSxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVz
IjogIlsyMDEsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2Vfc2luZ2xlX3Rlc3Rfc2luZ2xl
X3J1bl9kaWZmZXJlbnRfcmVzdWx0KHNlbGYpOgogICAgICAgICAjIEluY3JlbWVudGFsIHJlc3Vs
dHMgaGFzIHRoZSBsYXRlc3QgYnVpbGQgYnV0IGRpZmZlcmVudCB0ZXN0IHJlc3VsdHMKQEAgLTE5
OCw1OSArMjM2LDEzNyBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAjIEluc2VydCB0aGUgaW5jcmVtZW50YWwgcmVzdWx0cyBhdCB0aGUgZmlyc3Qg
cGxhY2UuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0
ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAs
XCJGXCJdIiwgIlsyMDAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFs
IHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsIFwiSVwiXSIs
ICJbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMSwgXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAg
IChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiSVwiXSxbMjAwLFwiRlwiXSIs
ICJbMSwxXSxbMjAwLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAi
MSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIklcIl0sWzIwMCxcIkZcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdLFsyMDAsMF0ifX19KQogCiAgICAg
ZGVmIHRlc3RfbWVyZ2Vfc2luZ2xlX3Rlc3Rfc2luZ2xlX3J1bl9yZXN1bHRfY2hhbmdlZChzZWxm
KToKICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzIGhhcyB0aGUgbGF0ZXN0IGJ1aWxkIGJ1
dCByZXN1bHRzIHdoaWNoIGRpZmZlciBmcm9tCiAgICAgICAgICMgdGhlIGxhdGVzdCByZXN1bHQg
KGJ1dCBhcmUgdGhlIHNhbWUgYXMgYW4gb2xkZXIgcmVzdWx0KS4KICAgICAgICAgc2VsZi5fdGVz
dF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0sWzEwLFwiSVwiXSIsICJbMjAw
LDBdLFsxMCwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdLFsxMCxcIklcIl0iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0sWzEwLDFdIn19fSwKICAgICAgICAgICAgICMg
SW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJb
MSxcIklcIl0iLCAiWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAg
ICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiSVwiXSxbMjAw
LFwiRlwiXSxbMTAsXCJJXCJdIiwgIlsxLDFdLFsyMDAsMF0sWzEwLDFdIl1dKSkKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxc
IklcIl0sWzIwMCxcIkZcIl0sWzEwLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGltZXMiOiAiWzEsMV0sWzIwMCwwXSxbMTAsMV0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVy
Z2VfbXVsdGlwbGVfdGVzdHNfc2luZ2xlX3J1bihzZWxmKToKICAgICAgICAgIyBBbGwgdGVzdHMg
aGF2ZSBpbmNyZW1lbnRhbCB1cGRhdGVzLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAg
ICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBb
WyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEw
MCxcIklcIl0iLCAiWzEwMCwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIw
MDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMDAs
XCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAwLDFdIn19
fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJd
LCBbWyIwMDEuaHRtbCIsICJbMSxcIkZcIl0iLCAiWzEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxc
IklcIl0iLCAiWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAg
ICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbMSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIklcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMg
RXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0
bWwiLCAiWzIwMSxcIkZcIl0iLCAiWzIwMSwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMDEsXCJJXCJd
IiwgIlsxMDEsMV0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0s
CisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyZXN1bHRzIjogIlsyMDEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbMjAxLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMDEsXCJJ
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAxLDFdIn19fSkK
IAogICAgIGRlZiB0ZXN0X21lcmdlX211bHRpcGxlX3Rlc3RzX3NpbmdsZV9ydW5fb25lX25vX3Jl
c3VsdChzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdn
cmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAi
WzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMDAsXCJJXCJdIiwgIlsx
MDAsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAg
ICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAi
cmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGlt
ZXMiOiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAwLFwiSVwiXSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMCwxXSJ9fX0sCiAgICAgICAgICAg
ICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAyLmh0bWwi
LCAiWzEsXCJJXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0s
CisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidGltZXMiOiAiWzEsMV0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRz
Ci0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIk5cIl0s
WzIwMCxcIkZcIl0iLCAiWzIwMSwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMDEsXCJJXCJdIiwgIlsx
MDEsMV0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxLFwiTlwiXSxbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGltZXMiOiAiWzIwMSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAi
MDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAx
LFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMSwxXSJ9
fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9zaW5nbGVfdGVzdF9tdWx0aXBsZV9ydW5zKHNlbGYp
OgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJl
c3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwi
XSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAg
ICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1
bHRzCi0gICAgICAgICAgICAoWyI0IiwgIjMiXSwgW1siMDAxLmh0bWwiLCAiWzIsIFwiSVwiXSIs
ICJbMiwyXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiNCIsICIzIl0sCisgICAgICAg
ICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHRzIjogIlsyLCBcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsyLDJdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAg
ICAgICAgKFsiNCIsICIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMixcIklcIl0sWzIw
MCxcIkZcIl0iLCAiWzIsMl0sWzIwMCwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsi
NCIsICIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMixcIklcIl0sWzIwMCxc
IkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyLDJdLFsyMDAs
MF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfbXVsdGlwbGVfdGVzdHNfbXVsdGlwbGVfcnVu
cyhzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVn
YXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIw
MCxcIkZcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMCxcIlpcIl0iLCAiWzEwLDBd
Il1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAi
dGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjog
IlsyMDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwLFwiWlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5j
cmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiNCIsICIzIl0sIFtbIjAwMS5odG1sIiwg
IlsyLCBcIklcIl0iLCAiWzIsMl0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIkNcIl0iLCAiWzEsMV0i
XV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjQiLCAiMyJdLAorICAgICAgICAgICAgICJ0
ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0
cyI6ICJbMiwgXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MiwyXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIkNcIl0iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQg
cmVzdWx0cwotICAgICAgICAgICAgKFsiNCIsICIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIs
ICJbMixcIklcIl0sWzIwMCxcIkZcIl0iLCAiWzIsMl0sWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwg
IlsxLFwiQ1wiXSxbMTAsXCJaXCJdIiwgIlsxLDFdLFsxMCwwXSJdXSkpCisgICAgICAgICAgICB7
ImJ1aWxkcyI6IFsiNCIsICIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMixc
IklcIl0sWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjog
IlsyLDJdLFsyMDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJDXCJdLFsxMCxcIlpc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdLFsxMCwwXSJ9
fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9pbmNyZW1lbnRhbF9yZXN1bHRfb2xkZXJfYnVpbGQo
c2VsZik6CiAgICAgICAgICMgVGVzdCB0aGUgYnVpbGQgaW4gaW5jcmVtZW50YWwgcmVzdWx0cyBp
cyBvbGRlciB0aGFuIHRoZSBtb3N0IHJlY2VudApAQCAtMjU4LDkgKzM3NCwxNSBAQCBjbGFzcyBK
c29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFRoZSBpbmNyZW1l
bnRhbCByZXN1bHRzIHNob3VsZCBiZSBkcm9wcGVkIGFuZCBubyBtZXJnZSBoYXBwZW5zLgogICAg
ICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMK
LSAgICAgICAgICAgIChbIjMiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJb
MjAwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjEiXSwKKyAgICAgICAg
ICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsyMDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIyIl0sIFtbIjAwMS5odG1sIiwgIlsxLCBcIkZcIl0iLCAiWzEsMF0iXV0p
LAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEs
IFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifX19
LAogICAgICAgICAgICAgIyBFeHBlY3RlZCBubyBtZXJnZSBoYXBwZW5zLgogICAgICAgICAgICAg
Tm9uZSkKIApAQCAtMjcwLDkgKzM5MiwxNSBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAjIFRoZSBpbmNyZW1lbnRhbCByZXN1bHRzIHNob3VsZCBi
ZSBkcm9wcGVkIGFuZCBubyBtZXJnZSBoYXBwZW5zLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdl
KAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAi
MSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5o
dG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAog
ICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIi
XSwgW1siMDAxLmh0bWwiLCAiWzIsIFwiRlwiXSIsICJbMiwwXSJdXSksCisgICAgICAgICAgICB7
ImJ1aWxkcyI6IFsiMyIsICIyIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyLCBcIkZcIl0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyLDBdIn19fSwKICAgICAgICAg
ICAgICMgRXhwZWN0ZWQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgICAgIE5vbmUpCiAKQEAg
LTI4MCwzMSArNDA4LDc5IEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICMgUmVtb3ZlIHRlc3Qgd2hlcmUgdGhlcmUgaXMgbm8gZGF0YSBpbiBhbGwg
cnVucy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRl
ZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxc
Ik5cIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMCxcIkZcIl0iLCAiWzEwLDBdIl1d
KSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVz
dHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMi
OiAiWzIwMCxcIk5cIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsy
MDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwLFwiRlwiXSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGltZXMiOiAiWzEwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVt
ZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIk5c
Il0iLCAiWzEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMF0iXV0pLAorICAg
ICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5o
dG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJOXCJd
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9LAorICAgICAg
ICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAicmVzdWx0cyI6ICJbMSxcIlBcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAg
ICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAyLmh0bWwiLCAiWzEsXCJQXCJdLFsxMCxcIkZc
Il0iLCAiWzExLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzExLDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21l
cmdlX3JlbW92ZV90ZXN0X3dpdGhfYWxsX3Bhc3Moc2VsZik6CiAgICAgICAgICMgUmVtb3ZlIHRl
c3Qgd2hlcmUgYWxsIHJ1biBwYXNzIGFuZCBtYXggcnVubmluZyB0aW1lIDwgMSBzZWNvbmRzCiAg
ICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0
cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJQXCJdIiwg
IlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJdXSksCisgICAg
ICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAs
XCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0s
CisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJl
c3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsx
LDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKKyAgICAgICAgICAg
IHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiUFwiXSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChb
IjMiLCAiMiIsICIxIl0sIFtbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwgIlsx
MSwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAg
ICAgICAgICAidGVzdHMiOiB7IjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRpbWVzIjogIlsxMSwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9rZWVw
X3Rlc3Rfd2l0aF9hbGxfcGFzc19idXRfc2xvd190aW1lKHNlbGYpOgogICAgICAgICAjIERvIG5v
dCByZW1vdmUgdGVzdCB3aGVyZSBhbGwgcnVuIHBhc3MgYnV0IG1heCBydW5uaW5nIHRpbWUgPj0g
MSBzZWNvbmRzCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3Jl
Z2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsy
MDAsXCJQXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCww
XSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAg
InRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1
bHRzIjogIlsyMDAsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIElu
Y3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEs
XCJQXCJdIiwgIlsxLDFdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwK
KyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
UFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0ifSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDEsXCJQXCJdIiwg
IlsxLDFdLFsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsICJb
MTEsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsyMDEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwxXSxbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiUFwi
XSxbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTEs
MF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfcHJ1bmVfZXh0cmFfcmVzdWx0cyhzZWxmKToK
ICAgICAgICAgIyBSZW1vdmUgaXRlbXMgZnJvbSB0ZXN0IHJlc3VsdHMgYW5kIHRpbWVzIHRoYXQg
ZXhjZWVkIHRoZSBtYXggbnVtYmVyCkBAIC0zMTIsMTEgKzQ4OCwyMCBAQCBjbGFzcyBKc29uUmVz
dWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBtYXhfYnVpbGRzID0gc3RyKGpz
b25yZXN1bHRzLkpTT05fUkVTVUxUU19NQVhfQlVJTERTKQogICAgICAgICBzZWxmLl90ZXN0X21l
cmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIi
LCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIklc
Il0iLCAiWyIgKyBtYXhfYnVpbGRzICsgIiwwXSxbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsiICsgbWF4X2J1aWxkcyAr
ICIsXCJGXCJdLFsxLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWyIgKyBtYXhfYnVpbGRzICsgIiwwXSxbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3Jl
bWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJU
XCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAg
ICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHRzIjogIlsxLFwiVFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGlt
ZXMiOiAiWzEsMV0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAg
ICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlRcIl0sWyIgKyBtYXhf
YnVpbGRzICsgIixcIkZcIl0iLCAiWzEsMV0sWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJdXSkpCisg
ICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVz
dHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMi
OiAiWzEsXCJUXCJdLFsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSxbIiArIG1heF9idWlsZHMgKyAiLDBdIn19fSkK
IAogICAgIGRlZiB0ZXN0X21lcmdlX3BydW5lX2V4dHJhX3Jlc3VsdHNfc21hbGwoc2VsZik6CiAg
ICAgICAgICMgUmVtb3ZlIGl0ZW1zIGZyb20gdGVzdCByZXN1bHRzIGFuZCB0aW1lcyB0aGF0IGV4
Y2VlZCB0aGUgbWF4IG51bWJlcgpAQCAtMzI0LDExICs1MDksMjAgQEAgY2xhc3MgSnNvblJlc3Vs
dHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgbWF4X2J1aWxkcyA9IHN0cihqc29u
cmVzdWx0cy5KU09OX1JFU1VMVFNfTUFYX0JVSUxEU19TTUFMTCkKICAgICAgICAgc2VsZi5fdGVz
dF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEs
XCJJXCJdIiwgIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0iXV0pLAorICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbIiArIG1heF9idWls
ZHMgKyAiLFwiRlwiXSxbMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0ifX19LAogICAgICAgICAgICAgIyBJ
bmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsx
LFwiVFwiXSIsICJbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAg
ICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0cyI6ICJbMSxcIlRcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRpbWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAg
ICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJUXCJdLFsiICsg
bWF4X2J1aWxkcyArICIsXCJGXCJdIiwgIlsxLDFdLFsiICsgbWF4X2J1aWxkcyArICIsMF0iXV0p
LAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAg
InRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1
bHRzIjogIlsxLFwiVFwiXSxbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0sWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJ9
fX0sCiAgICAgICAgICAgICBpbnQobWF4X2J1aWxkcykpCiAKICAgICBkZWYgdGVzdF9tZXJnZV9w
cnVuZV9leHRyYV9yZXN1bHRzX3dpdGhfbmV3X3Jlc3VsdF9vZl9zYW1lX3R5cGUoc2VsZik6CkBA
IC0zMzcsMTkgKzUzMSw2NCBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBtYXhfYnVpbGRzID0gc3RyKGpzb25yZXN1bHRzLkpTT05fUkVTVUxUU19N
QVhfQlVJTERTX1NNQUxMKQogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAg
IyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRt
bCIsICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIk5cIl0iLCAiWyIgKyBtYXhfYnVp
bGRzICsgIiwwXSxbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0s
CisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJyZXN1bHRzIjogIlsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdLFsxLFwiTlwi
XSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWyIgKyBtYXhfYnVpbGRz
ICsgIiwwXSxbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJGXCJdIiwgIlsxLDBdIl1dKSwK
KyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
RlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifX19LAog
ICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAi
MSJdLCBbWyIwMDEuaHRtbCIsICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSIsICJbIiArIG1h
eF9idWlsZHMgKyAiLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAi
MSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIiww
XSJ9fX0sCiAgICAgICAgICAgICBpbnQobWF4X2J1aWxkcykpCiAKKyAgICBkZWYgdGVzdF9tZXJn
ZV9idWlsZF9kaXJlY3RvcnlfaGllcmFyY2h5KHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X21l
cmdlKAorICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKKyAgICAgICAgICAgIHsiYnVp
bGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7ImZvby8wMDEuaHRtbCI6
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIls1MCxcIkZcIl0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIls1MCwwXSJ9LAorICAgICAgICAg
ICAgICAgICAgICAgICAiZm9vLzAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzEwMCxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRpbWVzIjogIlsxMDAsMF0ifX19LAorICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRz
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
Zm9vIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAwMS5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiRlwiXSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGltZXMiOiAiWzEsMF0ifX19fSwKKyAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwor
ICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRl
c3RzIjogeyJmb28vMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbNTEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbNTEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgImZvby8wMDIuaHRtbCI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMDEsXCJJXCJdIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAxLDBdIn19fSkKKworICAgICMgRklY
TUUoYWJveGhhbGwpOiBBZGQgc29tZSB0ZXN0cyBmb3IgeGh0bWwvc3ZnIHRlc3QgcmVzdWx0cy4K
KwogICAgIGRlZiB0ZXN0X2dldF90ZXN0X25hbWVfbGlzdChzZWxmKToKICAgICAgICAgIyBHZXQg
dGVzdCBuYW1lIGxpc3Qgb25seS4gRG9uJ3QgaW5jbHVkZSBub24tdGVzdC1saXN0IGRhdGEgYW5k
CiAgICAgICAgICMgb2YgdGVzdCByZXN1bHQgZGV0YWlscy4KICAgICAgICAgc2VsZi5fdGVzdF9n
ZXRfdGVzdF9saXN0KAogICAgICAgICAgICAgIyBJbnB1dCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBdIl0s
IFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJi
dWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRt
bCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJQXCJd
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAg
ICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKICAg
ICAgICAgICAgIFsiMDAxLmh0bWwiLCAiMDAyLmh0bWwiXSkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93142</attachid>
            <date>2011-05-11 10:21:54 -0700</date>
            <delta_ts>2011-05-11 10:32:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60521-20110511102153.patch</filename>
            <type>text/plain</type>
            <size>29735</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwODEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MWE1ZDgyMTkwNDNjN2MyMzBhMTNmNmQxYThkNmUwYTU0
ZGFmYWYyLi4xNTk3YWM0ZjYyY2I3OWVkZjE2MDQ5MWM0YTc5ODUyNmE3MDQ5ZmIzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTEtMDUtMDkgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZ5IGpz
b25yZXN1bHRzX3VuaXR0ZXN0LnB5IHRvIHVzZSBhIGRpY3QgZm9ybWF0IGZvciBpdHMgdGVzdCBk
YXRhLCBhbmQgbW9kaWZ5IGpzb25yZXN1bHRzLnB5IHRvIGZsYXR0ZW4gaGllcmFyY2hpY2FsIGRp
cmVjdG9yeSBzdHJ1Y3R1cmVzIGluIGlucHV0IEpTT04uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUyMQorCisgICAgICAgIEZpcnN0IHN0ZXBzIHRv
d2FyZHMgbWFraW5nIHRoZSByZXN1bHRzIEpTT04gYWxsIGhpZXJhcmNoaWNhbC4KKworICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHk6CisgICAgICAgICogVGVz
dFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weToKKworMjAxMS0wNS0w
OSAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgogCiAgICAgICAgIFB1bGwganNvbnJlc3VsdHNfdW5pdHRlc3Qg
dGVzdCBjYXNlcyBvdXQgaW50byBzZXBhcmF0ZSB0ZXN0IG1ldGhvZHMuCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzLnB5IGIvVG9vbHMvVGVzdFJl
c3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQppbmRleCBkNjFhODYwNTY0YTJhZGM1M2Y3
ZDU3MGMzYWEwY2MzYjU0MDZkOGUyLi4xODMwMWYwYjE0MjQzYWU1MWZkZDE5ZTcwYzQwNjQ2NDI5
NDFjODFhIDEwMDc1NQotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1
bHRzLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkK
QEAgLTQ1LDYgKzQ1LDcgQEAgSlNPTl9SRVNVTFRTX1BBU1MgPSAiUCIKIEpTT05fUkVTVUxUU19O
T19EQVRBID0gIk4iCiBKU09OX1JFU1VMVFNfTUlOX1RJTUUgPSAxCiBKU09OX1JFU1VMVFNfVkVS
U0lPTiA9IDMKK0pTT05fUkVTVUxUU19QQVJUSUFMTFlfU1VQUE9SVEVEX1ZFUlNJT04gPSA0CiBK
U09OX1JFU1VMVFNfTUFYX0JVSUxEUyA9IDc1MAogSlNPTl9SRVNVTFRTX01BWF9CVUlMRFNfU01B
TEwgPSAyMDAKIApAQCAtMzE5LDEyICszMjAsMzggQEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0
KToKICAgICAgICAgcmV0dXJuIGxlbihyZXN1bHRzKSA9PSAxIGFuZCByZXN1bHRzWzBdWzFdID09
IHR5cGUKIAogICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfZmxhdHRlbl9qc29uX3Rlc3RzKGNs
cywganNvbiwgcHJlZml4PU5vbmUpOgorICAgICAgICAiIiJGbGF0dGVucyBhIHRyaWUgZGlyZWN0
b3J5IHN0cnVjdHVyZSBpbiB0ZXN0cyBpbnRvIGEgZmxhdCBzdHJ1Y3R1cmUuCisKKyAgICAgICAg
QXJnczoKKyAgICAgICAgICAgIGpzb246IGpzb24gdGVzdHMgc3RydWN0dXJlLgorICAgICAgICAg
ICAgcHJlZml4OiBhbGVhZHktY29tcHV0ZWQgcGF0aCB0byBhcHBlbmQgdG8gdGhlIGV2ZW50dWFs
IHRlc3QgbmFtZSwgaWYgYW55LgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBUaGUg
ZmxhdHRlbmVkIGpzb24gdGVzdHMgc3RydWN0dXJlLgorICAgICAgICAiIiIKKyAgICAgICAgcmVz
dWx0ID0ge30KKyAgICAgICAgZm9yIG5hbWUsIHRlc3QgaW4ganNvbi5pdGVyaXRlbXMoKToKKyAg
ICAgICAgICAgIGlmIHByZWZpeDoKKyAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IHByZWZpeCAr
ICIvIiArIG5hbWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZnVsbG5hbWUg
PSBuYW1lCisKKyAgICAgICAgICAgIGlmICJyZXN1bHRzIiBpbiB0ZXN0OgorICAgICAgICAgICAg
ICAgIHJlc3VsdFtmdWxsbmFtZV0gPSB0ZXN0CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgIHJlc3VsdC51cGRhdGUoY2xzLl9mbGF0dGVuX2pzb25fdGVzdHModGVzdCwgZnVsbG5h
bWUpKQorCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIEBjbGFzc21ldGhvZAogICAgIGRl
ZiBfY2hlY2tfanNvbihjbHMsIGJ1aWxkZXIsIGpzb24pOgogICAgICAgICAiIiJDaGVjayB3aGV0
aGVyIHRoZSBnaXZlbiBqc29uIGlzIHZhbGlkLgorICAgICAgICBDb252ZXJ0cyBwYXJ0aWFsbHkt
c3VwcG9ydGVkIGpzb24gdG8gc3VwcG9ydGVkIHZlcnNpb24ganNvbi4KIAogICAgICAgICBBcmdz
OgogICAgICAgICAgICAgYnVpbGRlcjogYnVpbGRlciBuYW1lIHRoaXMganNvbiBpcyBmb3IuCi0g
ICAgICAgICAgICBqc29uOiBqc29uIG9iamVjdCB0byBjaGVjay4KKyAgICAgICAgICAgIGpzb246
IGpzb24gb2JqZWN0IHRvIGNoZWNrIGFuZCBjb252ZXJ0IGlmIG5lY2Vzc2FyeS4KIAogICAgICAg
ICBSZXR1cm5zOgogICAgICAgICAgICAgVHJ1ZSBpZiB0aGUganNvbiBpcyB2YWxpZCBvcgpAQCAt
MzMyLDcgKzM1OSw3IEBAIGNsYXNzIEpzb25SZXN1bHRzKG9iamVjdCk6CiAgICAgICAgICIiIgog
CiAgICAgICAgIHZlcnNpb24gPSBqc29uW0pTT05fUkVTVUxUU19WRVJTSU9OX0tFWV0KLSAgICAg
ICAgaWYgdmVyc2lvbiA+IEpTT05fUkVTVUxUU19WRVJTSU9OOgorICAgICAgICBpZiB2ZXJzaW9u
ID4gSlNPTl9SRVNVTFRTX1BBUlRJQUxMWV9TVVBQT1JURURfVkVSU0lPTjoKICAgICAgICAgICAg
IGxvZ2dpbmcuZXJyb3IoIlJlc3VsdHMgSlNPTiB2ZXJzaW9uICclcycgaXMgbm90IHN1cHBvcnRl
ZC4iLAogICAgICAgICAgICAgICAgIHZlcnNpb24pCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UK
QEAgLTM0Niw2ICszNzMsMTQgQEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0KToKICAgICAgICAg
ICAgIGxvZ2dpbmcuZXJyb3IoIk1pc3NpbmcgYnVpbGQgbnVtYmVyIGluIGpzb24gcmVzdWx0cy4i
KQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICAgICAgIyBGSVhNRShhYm94aGFsbCk6
IE9uY2UgdGhlIGRhc2hib2FyZCBjYW4gcmVhZCBoaWVyYXJjaGljYWwgSlNPTiwgYm90aAorICAg
ICAgICAjIGluY3JlbWVudGFsIGFuZCBhZ2dyZWdhdGVkIEpTT04gY2FuIGJlIGhpZXJhcmNoaWNh
bCwgd2l0aCBubyBuZWVkIHRvCisgICAgICAgICMgZmxhdHRlbiBoZXJlLgorICAgICAgICBpZiB2
ZXJzaW9uID09IEpTT05fUkVTVUxUU19QQVJUSUFMTFlfU1VQUE9SVEVEX1ZFUlNJT046CisgICAg
ICAgICAgICBmbGF0dGVuZWRfdGVzdHMgPSBjbHMuX2ZsYXR0ZW5fanNvbl90ZXN0cyhyZXN1bHRz
X2Zvcl9idWlsZGVyW0pTT05fUkVTVUxUU19URVNUU10pCisgICAgICAgICAgICBqc29uW2J1aWxk
ZXJdW0pTT05fUkVTVUxUU19URVNUU10gPSBmbGF0dGVuZWRfdGVzdHMKKyAgICAgICAgICAgIGpz
b25bSlNPTl9SRVNVTFRTX1ZFUlNJT05fS0VZXSA9IEpTT05fUkVTVUxUU19WRVJTSU9OCisKICAg
ICAgICAgcmV0dXJuIFRydWUKIAogICAgIEBjbGFzc21ldGhvZApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weSBiL1Rvb2xzL1Rl
c3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHNfdW5pdHRlc3QucHkKaW5kZXggZTMyYzQ3
YjhjMGU4ODY0YzJhNzY2OGZlMzM4ZTUzMjgwMWRjMjNiYy4uZjhhY2JmNThlNTY4MTU0ZjQ3ZGRi
ZWQ0YjFhNmVkYmNlNzllMDNjZiAxMDA3NTUKLS0tIGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9t
b2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weQorKysgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVy
L21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5CkBAIC0zMSw2ICszMSw3IEBAIHRyeToKICAg
ICBmcm9tIGpzb25yZXN1bHRzIGltcG9ydCBKc29uUmVzdWx0cwogZXhjZXB0IEltcG9ydEVycm9y
OgogICAgIHByaW50ICJFUlJPUjogQWRkIHRoZSBUZXN0UmVzdWx0U2VydmVyLCBnb29nbGVfYXBw
ZW5naW5lIGFuZCB5YW1sL2xpYiBkaXJlY3RvcmllcyB0byB5b3VyIFBZVEhPTlBBVEgiCisgICAg
cmFpc2UKIAogaW1wb3J0IHVuaXR0ZXN0CiAKQEAgLTQ4LDcgKzQ5LDcgQEAgSlNPTl9SRVNVTFRT
X1RFTVBMQVRFID0gKAogICAgICcid2Via2l0UmV2aXNpb24iOltbVEVTVERBVEFfV0VCS0lUUkVW
SVNJT05dXSwnCiAgICAgJyJ3b250Zml4Q291bnRzIjpbW1RFU1REQVRBX0NPVU5UU11dJwogICAg
ICd9LCcKLSAgICAnInZlcnNpb24iOjMnCisgICAgJyJ2ZXJzaW9uIjpbVkVSU0lPTl0nCiAgICAg
J30nKQogCiBKU09OX1JFU1VMVFNfQ09VTlRTX1RFTVBMQVRFID0gKApAQCAtNjIsNiArNjMsOCBA
QCBKU09OX1JFU1VMVFNfQ09VTlRTX1RFTVBMQVRFID0gKAogICAgICciWCI6W1RFU1REQVRBXSwn
CiAgICAgJyJaIjpbVEVTVERBVEFdfScpCiAKK0pTT05fUkVTVUxUU19ESVJFQ1RPUllfVEVNUExB
VEUgPSAnIltURVNUREFUQV9ESVJFQ1RPUlldIjp7W1RFU1REQVRBX0RBVEFdfScKKwogSlNPTl9S
RVNVTFRTX1RFU1RTX1RFTVBMQVRFID0gKAogICAgICciW1RFU1REQVRBX1RFU1RfTkFNRV0iOnsn
CiAgICAgJyJyZXN1bHRzIjpbW1RFU1REQVRBX1RFU1RfUkVTVUxUU11dLCcKQEAgLTgyLDcgKzg1
LDggQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
aWYgbm90IHRlc3RfZGF0YToKICAgICAgICAgICAgIHJldHVybiBKU09OX1JFU1VMVFNfUFJFRklY
ICsgSlNPTl9SRVNVTFRTX1NVRkZJWAogCi0gICAgICAgIChidWlsZHMsIHRlc3RzKSA9IHRlc3Rf
ZGF0YQorICAgICAgICBidWlsZHMgPSB0ZXN0X2RhdGFbImJ1aWxkcyJdCisgICAgICAgIHRlc3Rz
ID0gdGVzdF9kYXRhWyJ0ZXN0cyJdCiAgICAgICAgIGlmIG5vdCBidWlsZHMgb3Igbm90IHRlc3Rz
OgogICAgICAgICAgICAgcmV0dXJuIEpTT05fUkVTVUxUU19QUkVGSVggKyBKU09OX1JFU1VMVFNf
U1VGRklYCiAKQEAgLTEwNywxNyArMTExLDMzIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGpzb24gPSBqc29uLnJlcGxhY2UoIltURVNUREFUQV9D
SFJPTUVSRVZJU0lPTl0iLCAiLCIuam9pbihjaHJvbWVfcmV2aXNpb24pKQogICAgICAgICBqc29u
ID0ganNvbi5yZXBsYWNlKCJbVEVTVERBVEFfVElNRVNdIiwgIiwiLmpvaW4odGltZXMpKQogCisg
ICAgICAgIGlmICJ2ZXJzaW9uIiBpbiB0ZXN0X2RhdGE6CisgICAgICAgICAgICBqc29uID0ganNv
bi5yZXBsYWNlKCJbVkVSU0lPTl0iLCBzdHIodGVzdF9kYXRhWyJ2ZXJzaW9uIl0pKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAganNvbiA9IGpzb24ucmVwbGFjZSgiW1ZFUlNJT05dIiwgIjMi
KQorCiAgICAgICAgIGpzb25fdGVzdHMgPSBbXQotICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoK
LSAgICAgICAgICAgIHQgPSBKU09OX1JFU1VMVFNfVEVTVFNfVEVNUExBVEUucmVwbGFjZSgiW1RF
U1REQVRBX1RFU1RfTkFNRV0iLCB0ZXN0WzBdKQotICAgICAgICAgICAgdCA9IHQucmVwbGFjZSgi
W1RFU1REQVRBX1RFU1RfUkVTVUxUU10iLCB0ZXN0WzFdKQotICAgICAgICAgICAgdCA9IHQucmVw
bGFjZSgiW1RFU1REQVRBX1RFU1RfVElNRVNdIiwgdGVzdFsyXSkKLSAgICAgICAgICAgIGpzb25f
dGVzdHMuYXBwZW5kKHQpCisgICAgICAgIGZvciAobmFtZSwgdGVzdCkgaW4gc29ydGVkKHRlc3Rz
Lml0ZXJpdGVtcygpKToKKyAgICAgICAgICAgIGpzb25fdGVzdHMuYXBwZW5kKHNlbGYuX3BhcnNl
X3Rlc3RzX2RpY3QobmFtZSwgdGVzdCkpCiAKICAgICAgICAganNvbiA9IGpzb24ucmVwbGFjZSgi
W1RFU1REQVRBX1RFU1RTXSIsICIsIi5qb2luKGpzb25fdGVzdHMpKQogCiAgICAgICAgIHJldHVy
biBKU09OX1JFU1VMVFNfUFJFRklYICsganNvbiArIEpTT05fUkVTVUxUU19TVUZGSVgKIAorICAg
IGRlZiBfcGFyc2VfdGVzdHNfZGljdChzZWxmLCBuYW1lLCB0ZXN0KToKKyAgICAgICAgaWYgInJl
c3VsdHMiIGluIHRlc3Q6CisgICAgICAgICAgICB0ZXN0X3Jlc3VsdHMgPSBKU09OX1JFU1VMVFNf
VEVTVFNfVEVNUExBVEUucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RfTkFNRV0iLCBuYW1lKQorICAg
ICAgICAgICAgdGVzdF9yZXN1bHRzID0gdGVzdF9yZXN1bHRzLnJlcGxhY2UoIltURVNUREFUQV9U
RVNUX1JFU1VMVFNdIiwgdGVzdFsicmVzdWx0cyJdKQorICAgICAgICAgICAgdGVzdF9yZXN1bHRz
ID0gdGVzdF9yZXN1bHRzLnJlcGxhY2UoIltURVNUREFUQV9URVNUX1RJTUVTXSIsIHRlc3RbInRp
bWVzIl0pCisgICAgICAgICAgICByZXR1cm4gdGVzdF9yZXN1bHRzCisKKyAgICAgICAgdGVzdF9y
ZXN1bHRzID0gSlNPTl9SRVNVTFRTX0RJUkVDVE9SWV9URU1QTEFURS5yZXBsYWNlKCJbVEVTVERB
VEFfRElSRUNUT1JZXSIsIG5hbWUpCisgICAgICAgIHRlc3RkYXRhID0gW10KKyAgICAgICAgZm9y
IChjaGlsZF9uYW1lLCBjaGlsZF90ZXN0KSBpbiBzb3J0ZWQodGVzdC5pdGVyaXRlbXMoKSk6Cisg
ICAgICAgICAgICB0ZXN0ZGF0YS5hcHBlbmQoc2VsZi5fcGFyc2VfdGVzdHNfZGljdChjaGlsZF9u
YW1lLCBjaGlsZF90ZXN0KSkKKyAgICAgICAgdGVzdF9yZXN1bHRzID0gdGVzdF9yZXN1bHRzLnJl
cGxhY2UoIltURVNUREFUQV9EQVRBXSIsICIsIi5qb2luKHRlc3RkYXRhKSkKKyAgICAgICAgcmV0
dXJuIHRlc3RfcmVzdWx0cworCiAgICAgZGVmIF90ZXN0X21lcmdlKHNlbGYsIGFnZ3JlZ2F0ZWRf
ZGF0YSwgaW5jcmVtZW50YWxfZGF0YSwgZXhwZWN0ZWRfZGF0YSwgbWF4X2J1aWxkcz1qc29ucmVz
dWx0cy5KU09OX1JFU1VMVFNfTUFYX0JVSUxEUyk6CiAgICAgICAgIGFnZ3JlZ2F0ZWRfcmVzdWx0
cyA9IHNlbGYuX21ha2VfdGVzdF9qc29uKGFnZ3JlZ2F0ZWRfZGF0YSkKICAgICAgICAgaW5jcmVt
ZW50YWxfcmVzdWx0cyA9IHNlbGYuX21ha2VfdGVzdF9qc29uKGluY3JlbWVudGFsX2RhdGEpCkBA
IC0xNTEsNyArMTcxLDEwIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICMgTm90aGluZyB0byBtZXJnZS4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJn
ZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwg
IjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAg
ICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJG
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwogICAgICAgICAgICAgTm9uZSwKICAg
ICAgICAgICAgICMgRXhwZWN0IG5vIG1lcmdlIGhhcHBlbnMuCkBAIC0xNjIsOSArMTg1LDEzIEBA
IGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgTm90
aGluZyB0byBtZXJnZS4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMg
QWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwi
LCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsi
MiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5j
cmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFtdLCBbXSksCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFtdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHt9fSwKICAgICAgICAgICAgICMgRXhw
ZWN0ZWQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgICAgIE5vbmUpCiAKQEAgLTE3NSw5ICsy
MDIsMTYgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCiAgICAgICAgICAgICBOb25lLAogICAgICAgICAg
ICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAx
Lmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCi0gICAgICAgICAgICAjIEV4cGVj
dGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAw
LFwiRlwiXSIsICJbMjAwLDBdIl1dKSkKKworICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAi
MSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0sCisgICAgICAgICAgICAjIEV4cGVjdGVk
IHJlc3VsdAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzIwMCwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9pbmNyZW1lbnRhbF9zaW5nbGVf
dGVzdF9zaW5nbGVfcnVuX3NhbWVfcmVzdWx0KHNlbGYpOgogICAgICAgICAjIEluY3JlbWVudGFs
IHJlc3VsdHMgaGFzIHRoZSBsYXRlc3QgYnVpbGQgYW5kIHNhbWUgdGVzdCByZXN1bHRzIGZvcgpA
QCAtMTg2LDExICsyMjAsMjAgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgIyBvZiBydW5zIGZvciAiRiIgKDIwMCArIDEpIHRvIGdldCBtZXJnZWQg
cmVzdWx0cy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVn
YXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIw
MCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50
YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIkZcIl0i
LCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAg
ICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAg
IChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDEsXCJGXCJdIiwgIlsyMDEsMF0i
XV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAg
ICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHRzIjogIlsyMDEsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
cyI6ICJbMjAxLDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX3NpbmdsZV90ZXN0X3Npbmds
ZV9ydW5fZGlmZmVyZW50X3Jlc3VsdChzZWxmKToKICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1
bHRzIGhhcyB0aGUgbGF0ZXN0IGJ1aWxkIGJ1dCBkaWZmZXJlbnQgdGVzdCByZXN1bHRzCkBAIC0x
OTgsNTkgKzI0MSwxMzcgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBJbnNlcnQgdGhlIGluY3JlbWVudGFsIHJlc3VsdHMgYXQgdGhlIGZpcnN0
IHBsYWNlLgogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdh
dGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAw
LFwiRlwiXSIsICJbMjAwLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRh
bCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLCBcIklcIl0i
LCAiWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAg
ICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEsIFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzEsMV0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAg
ICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIklcIl0sWzIwMCxcIkZcIl0i
LCAiWzEsMV0sWzIwMCwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwg
IjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdLFsyMDAsXCJGXCJdIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSxbMjAwLDBdIn19fSkKIAogICAg
IGRlZiB0ZXN0X21lcmdlX3NpbmdsZV90ZXN0X3NpbmdsZV9ydW5fcmVzdWx0X2NoYW5nZWQoc2Vs
Zik6CiAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cyBoYXMgdGhlIGxhdGVzdCBidWlsZCBi
dXQgcmVzdWx0cyB3aGljaCBkaWZmZXIgZnJvbQogICAgICAgICAjIHRoZSBsYXRlc3QgcmVzdWx0
IChidXQgYXJlIHRoZSBzYW1lIGFzIGFuIG9sZGVyIHJlc3VsdCkuCiAgICAgICAgIHNlbGYuX3Rl
c3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAg
KFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdLFsxMCxcIklcIl0iLCAiWzIw
MCwwXSxbMTAsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAg
ICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSxbMTAsXCJJXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdLFsxMCwxXSJ9fX0sCiAgICAgICAgICAgICAj
IEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAi
WzEsXCJJXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisg
ICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZXN1bHRzIjogIlsxLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGltZXMiOiAiWzEsMV0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIklcIl0sWzIw
MCxcIkZcIl0sWzEwLFwiSVwiXSIsICJbMSwxXSxbMjAwLDBdLFsxMCwxXSJdXSkpCisgICAgICAg
ICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEs
XCJJXCJdLFsyMDAsXCJGXCJdLFsxMCxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsxLDFdLFsyMDAsMF0sWzEwLDFdIn19fSkKIAogICAgIGRlZiB0ZXN0X21l
cmdlX211bHRpcGxlX3Rlc3RzX3NpbmdsZV9ydW4oc2VsZik6CiAgICAgICAgICMgQWxsIHRlc3Rz
IGhhdmUgaW5jcmVtZW50YWwgdXBkYXRlcy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAg
ICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwg
W1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsx
MDAsXCJJXCJdIiwgIlsxMDAsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAi
MSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAi
MDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAw
LFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMCwxXSJ9
fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMi
XSwgW1siMDAxLmh0bWwiLCAiWzEsXCJGXCJdIiwgIlsxLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEs
XCJJXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGltZXMiOiAiWzEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAj
IEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5o
dG1sIiwgIlsyMDEsXCJGXCJdIiwgIlsyMDEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAxLFwiSVwi
XSIsICJbMTAxLDFdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAxLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidGltZXMiOiAiWzIwMSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAy
Lmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAxLFwi
SVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMSwxXSJ9fX0p
CiAKICAgICBkZWYgdGVzdF9tZXJnZV9tdWx0aXBsZV90ZXN0c19zaW5nbGVfcnVuX29uZV9ub19y
ZXN1bHQoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFn
Z3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwg
IlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAwLFwiSVwiXSIsICJb
MTAwLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAg
ICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
InJlc3VsdHMiOiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsyMDAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwMCxcIklcIl0iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMDAsMV0ifX19LAogICAgICAgICAg
ICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMi5odG1s
IiwgIlsxLFwiSVwiXSIsICJbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0
cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJOXCJd
LFsyMDAsXCJGXCJdIiwgIlsyMDEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAxLFwiSVwiXSIsICJb
MTAxLDFdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAg
ICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0cyI6ICJbMSxcIk5cIl0sWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRpbWVzIjogIlsyMDEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEw
MSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMDEsMV0i
fX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2Vfc2luZ2xlX3Rlc3RfbXVsdGlwbGVfcnVucyhzZWxm
KToKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCBy
ZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZc
Il0iLCAiWzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisg
ICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVz
dWx0cwotICAgICAgICAgICAgKFsiNCIsICIzIl0sIFtbIjAwMS5odG1sIiwgIlsyLCBcIklcIl0i
LCAiWzIsMl0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjQiLCAiMyJdLAorICAgICAg
ICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAicmVzdWx0cyI6ICJbMiwgXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbMiwyXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAg
ICAgICAgIChbIjQiLCAiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIsXCJJXCJdLFsy
MDAsXCJGXCJdIiwgIlsyLDJdLFsyMDAsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBb
IjQiLCAiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjog
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIsXCJJXCJdLFsyMDAs
XCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMiwyXSxbMjAw
LDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX211bHRpcGxlX3Rlc3RzX211bHRpcGxlX3J1
bnMoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3Jl
Z2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsy
MDAsXCJGXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJaXCJdIiwgIlsxMCww
XSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAg
InRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1
bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMCxcIlpcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIElu
Y3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjQiLCAiMyJdLCBbWyIwMDEuaHRtbCIs
ICJbMiwgXCJJXCJdIiwgIlsyLDJdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJDXCJdIiwgIlsxLDFd
Il1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyI0IiwgIjMiXSwKKyAgICAgICAgICAgICAi
dGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzIsIFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAi
WzIsMl0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJDXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVk
IHJlc3VsdHMKLSAgICAgICAgICAgIChbIjQiLCAiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwi
LCAiWzIsXCJJXCJdLFsyMDAsXCJGXCJdIiwgIlsyLDJdLFsyMDAsMF0iXSwgWyIwMDIuaHRtbCIs
ICJbMSxcIkNcIl0sWzEwLFwiWlwiXSIsICJbMSwxXSxbMTAsMF0iXV0pKQorICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjQiLCAiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIs
XCJJXCJdLFsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMiwyXSxbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiQ1wiXSxbMTAsXCJa
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSxbMTAsMF0i
fX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfaW5jcmVtZW50YWxfcmVzdWx0X29sZGVyX2J1aWxk
KHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhlIGJ1aWxkIGluIGluY3JlbWVudGFsIHJlc3VsdHMg
aXMgb2xkZXIgdGhhbiB0aGUgbW9zdCByZWNlbnQKQEAgLTI1OCw5ICszNzksMTUgQEAgY2xhc3Mg
SnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBUaGUgaW5jcmVt
ZW50YWwgcmVzdWx0cyBzaG91bGQgYmUgZHJvcHBlZCBhbmQgbm8gbWVyZ2UgaGFwcGVucy4KICAg
ICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRz
Ci0gICAgICAgICAgICAoWyIzIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAi
WzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIxIl0sCisgICAgICAg
ICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwot
ICAgICAgICAgICAgKFsiMiJdLCBbWyIwMDEuaHRtbCIsICJbMSwgXCJGXCJdIiwgIlsxLDBdIl1d
KSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIl0sCisgICAgICAgICAgICAgInRlc3RzIjog
eyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsx
LCBcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19
fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgICAg
IE5vbmUpCiAKQEAgLTI3MCw5ICszOTcsMTUgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBUaGUgaW5jcmVtZW50YWwgcmVzdWx0cyBzaG91bGQg
YmUgZHJvcHBlZCBhbmQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJn
ZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwg
IjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAg
ICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJG
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIy
Il0sIFtbIjAwMS5odG1sIiwgIlsyLCBcIkZcIl0iLCAiWzIsMF0iXV0pLAorICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjMiLCAiMiJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMiwgXCJGXCJdIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMiwwXSJ9fX0sCiAgICAgICAg
ICAgICAjIEV4cGVjdGVkIG5vIG1lcmdlIGhhcHBlbnMuCiAgICAgICAgICAgICBOb25lKQogCkBA
IC0yODAsMzEgKzQxMyw3OSBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAjIFJlbW92ZSB0ZXN0IHdoZXJlIHRoZXJlIGlzIG5vIGRhdGEgaW4gYWxs
IHJ1bnMuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0
ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAs
XCJOXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJd
XSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRl
c3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRz
IjogIlsyMDAsXCJOXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3Jl
bWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJO
XCJdIiwgIlsxLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKKyAg
ICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiTlwi
XSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbMSwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAg
ICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAsXCJG
XCJdIiwgIlsxMSwwXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMi5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMSwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9t
ZXJnZV9yZW1vdmVfdGVzdF93aXRoX2FsbF9wYXNzKHNlbGYpOgogICAgICAgICAjIFJlbW92ZSB0
ZXN0IHdoZXJlIGFsbCBydW4gcGFzcyBhbmQgbWF4IHJ1bm5pbmcgdGltZSA8IDEgc2Vjb25kcwog
ICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3Vs
dHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiUFwiXSIs
ICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAg
ICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAw
LFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9
LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbMTAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCBy
ZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiUFwiXSIsICJb
MSwwXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAg
ICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn0sCisgICAgICAgICAgICAg
ICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1
bHRzIjogIlsxLFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAi
WzEsMF0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIzIiwgIjIiLCAiMSJdLCBbWyIwMDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsICJb
MTEsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAg
ICAgICAgICAgInRlc3RzIjogeyIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMTEsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2Vfa2Vl
cF90ZXN0X3dpdGhfYWxsX3Bhc3NfYnV0X3Nsb3dfdGltZShzZWxmKToKICAgICAgICAgIyBEbyBu
b3QgcmVtb3ZlIHRlc3Qgd2hlcmUgYWxsIHJ1biBwYXNzIGJ1dCBtYXggcnVubmluZyB0aW1lID49
IDEgc2Vjb25kcwogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dy
ZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJb
MjAwLFwiUFwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAs
MF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMjAwLFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAsXCJGXCJdIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAsMF0ifX19LAogICAgICAgICAgICAgIyBJ
bmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsx
LFwiUFwiXSIsICJbMSwxXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwwXSJdXSks
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxc
IlBcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn0sCisg
ICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZXN1bHRzIjogIlsxLFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGltZXMiOiAiWzEsMF0ifX19LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAxLFwiUFwiXSIs
ICJbMSwxXSxbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLCAi
WzExLDBdIl1dKSkKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAg
ICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0cyI6ICJbMjAxLFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGltZXMiOiAiWzEsMV0sWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAy
Lmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBc
Il0sWzEwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEx
LDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX3BydW5lX2V4dHJhX3Jlc3VsdHMoc2VsZik6
CiAgICAgICAgICMgUmVtb3ZlIGl0ZW1zIGZyb20gdGVzdCByZXN1bHRzIGFuZCB0aW1lcyB0aGF0
IGV4Y2VlZCB0aGUgbWF4IG51bWJlcgpAQCAtMzEyLDExICs0OTMsMjAgQEAgY2xhc3MgSnNvblJl
c3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgbWF4X2J1aWxkcyA9IHN0cihq
c29ucmVzdWx0cy5KU09OX1JFU1VMVFNfTUFYX0JVSUxEUykKICAgICAgICAgc2VsZi5fdGVzdF9t
ZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIy
IiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJJ
XCJdIiwgIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJi
dWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbIiArIG1heF9idWlsZHMg
KyAiLFwiRlwiXSxbMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVz
IjogIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNy
ZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwi
VFwiXSIsICJbMSwxXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAg
ICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAicmVzdWx0cyI6ICJbMSxcIlRcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsxLDFdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAg
ICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJUXCJdLFsiICsgbWF4
X2J1aWxkcyArICIsXCJGXCJdIiwgIlsxLDFdLFsiICsgbWF4X2J1aWxkcyArICIsMF0iXV0pKQor
ICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRl
c3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRz
IjogIlsxLFwiVFwiXSxbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0sWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJ9fX0p
CiAKICAgICBkZWYgdGVzdF9tZXJnZV9wcnVuZV9leHRyYV9yZXN1bHRzX3NtYWxsKHNlbGYpOgog
ICAgICAgICAjIFJlbW92ZSBpdGVtcyBmcm9tIHRlc3QgcmVzdWx0cyBhbmQgdGltZXMgdGhhdCBl
eGNlZWQgdGhlIG1heCBudW1iZXIKQEAgLTMyNCwxMSArNTE0LDIwIEBAIGNsYXNzIEpzb25SZXN1
bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIG1heF9idWlsZHMgPSBzdHIoanNv
bnJlc3VsdHMuSlNPTl9SRVNVTFRTX01BWF9CVUlMRFNfU01BTEwpCiAgICAgICAgIHNlbGYuX3Rl
c3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAg
KFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdLFsx
LFwiSVwiXSIsICJbIiArIG1heF9idWlsZHMgKyAiLDBdLFsxLDFdIl1dKSwKKyAgICAgICAgICAg
IHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWyIgKyBtYXhfYnVp
bGRzICsgIixcIkZcIl0sWzEsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbIiArIG1heF9idWlsZHMgKyAiLDBdLFsxLDFdIn19fSwKICAgICAgICAgICAgICMg
SW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJb
MSxcIlRcIl0iLCAiWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAg
ICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzEsXCJUXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiVFwiXSxbIiAr
IG1heF9idWlsZHMgKyAiLFwiRlwiXSIsICJbMSwxXSxbIiArIG1heF9idWlsZHMgKyAiLDBdIl1d
KSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAg
ICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVz
dWx0cyI6ICJbMSxcIlRcIl0sWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdLFsiICsgbWF4X2J1aWxkcyArICIsMF0i
fX19LAogICAgICAgICAgICAgaW50KG1heF9idWlsZHMpKQogCiAgICAgZGVmIHRlc3RfbWVyZ2Vf
cHJ1bmVfZXh0cmFfcmVzdWx0c193aXRoX25ld19yZXN1bHRfb2Zfc2FtZV90eXBlKHNlbGYpOgpA
QCAtMzM3LDE5ICs1MzYsNjYgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgbWF4X2J1aWxkcyA9IHN0cihqc29ucmVzdWx0cy5KU09OX1JFU1VMVFNf
TUFYX0JVSUxEU19TTUFMTCkKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAg
ICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0
bWwiLCAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJOXCJdIiwgIlsiICsgbWF4X2J1
aWxkcyArICIsMF0sWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIk5c
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsiICsgbWF4X2J1aWxk
cyArICIsMF0sWzEsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiRlwiXSIsICJbMSwwXSJdXSks
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxc
IkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwK
ICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwg
IjEiXSwgW1siMDAxLmh0bWwiLCAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLCAiWyIgKyBt
YXhfYnVpbGRzICsgIiwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwg
IjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsiICsgbWF4X2J1aWxkcyArICIs
MF0ifX19LAogICAgICAgICAgICAgaW50KG1heF9idWlsZHMpKQogCisgICAgZGVmIHRlc3RfbWVy
Z2VfYnVpbGRfZGlyZWN0b3J5X2hpZXJhcmNoeShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9t
ZXJnZSgKKyAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyJmb28vMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbNTAsXCJGXCJdIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbNTAsMF0ifSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgImZvby8wMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxMDAsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMTAwLDBdIn19fSwKKyAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0
cworICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
ImZvbyI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDEuaHRtbCI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIkZcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxLFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsxLDBdIn19fSwKKyAgICAgICAgICAgICAidmVyc2lvbiI6IDR9LAorICAg
ICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIs
ICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7ImZvby8wMDEuaHRtbCI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIls1MSxcIkZcIl0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIls1MSwwXSJ9LAorICAgICAgICAgICAgICAg
ICAgICAgICAiZm9vLzAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEwMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVz
IjogIlsxMDEsMF0ifX0sCisgICAgICAgICAgICAgInZlcnNpb24iOiAzfSkKKworICAgICMgRklY
TUUoYWJveGhhbGwpOiBBZGQgc29tZSB0ZXN0cyBmb3IgeGh0bWwvc3ZnIHRlc3QgcmVzdWx0cy4K
KwogICAgIGRlZiB0ZXN0X2dldF90ZXN0X25hbWVfbGlzdChzZWxmKToKICAgICAgICAgIyBHZXQg
dGVzdCBuYW1lIGxpc3Qgb25seS4gRG9uJ3QgaW5jbHVkZSBub24tdGVzdC1saXN0IGRhdGEgYW5k
CiAgICAgICAgICMgb2YgdGVzdCByZXN1bHQgZGV0YWlscy4KICAgICAgICAgc2VsZi5fdGVzdF9n
ZXRfdGVzdF9saXN0KAogICAgICAgICAgICAgIyBJbnB1dCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBdIl0s
IFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJi
dWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRt
bCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJQXCJd
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAg
ICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRpbWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKICAg
ICAgICAgICAgIFsiMDAxLmh0bWwiLCAiMDAyLmh0bWwiXSkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93145</attachid>
            <date>2011-05-11 10:31:15 -0700</date>
            <delta_ts>2011-05-11 12:12:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60521-20110511103114.patch</filename>
            <type>text/plain</type>
            <size>29714</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwODEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MWE1ZDgyMTkwNDNjN2MyMzBhMTNmNmQxYThkNmUwYTU0
ZGFmYWYyLi4xNTk3YWM0ZjYyY2I3OWVkZjE2MDQ5MWM0YTc5ODUyNmE3MDQ5ZmIzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTEtMDUtMDkgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZ5IGpz
b25yZXN1bHRzX3VuaXR0ZXN0LnB5IHRvIHVzZSBhIGRpY3QgZm9ybWF0IGZvciBpdHMgdGVzdCBk
YXRhLCBhbmQgbW9kaWZ5IGpzb25yZXN1bHRzLnB5IHRvIGZsYXR0ZW4gaGllcmFyY2hpY2FsIGRp
cmVjdG9yeSBzdHJ1Y3R1cmVzIGluIGlucHV0IEpTT04uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUyMQorCisgICAgICAgIEZpcnN0IHN0ZXBzIHRv
d2FyZHMgbWFraW5nIHRoZSByZXN1bHRzIEpTT04gYWxsIGhpZXJhcmNoaWNhbC4KKworICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHk6CisgICAgICAgICogVGVz
dFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weToKKworMjAxMS0wNS0w
OSAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgogCiAgICAgICAgIFB1bGwganNvbnJlc3VsdHNfdW5pdHRlc3Qg
dGVzdCBjYXNlcyBvdXQgaW50byBzZXBhcmF0ZSB0ZXN0IG1ldGhvZHMuCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzLnB5IGIvVG9vbHMvVGVzdFJl
c3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQppbmRleCBkNjFhODYwNTY0YTJhZGM1M2Y3
ZDU3MGMzYWEwY2MzYjU0MDZkOGUyLi5mYzY5NjBjNWZkNGU0Yjc5YzUzOWYyNDU1YzNmODNhYjFl
N2JkZTU5IDEwMDc1NQotLS0gYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1
bHRzLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkK
QEAgLTQ1LDYgKzQ1LDcgQEAgSlNPTl9SRVNVTFRTX1BBU1MgPSAiUCIKIEpTT05fUkVTVUxUU19O
T19EQVRBID0gIk4iCiBKU09OX1JFU1VMVFNfTUlOX1RJTUUgPSAxCiBKU09OX1JFU1VMVFNfVkVS
U0lPTiA9IDMKK0pTT05fUkVTVUxUU19ISUVSQVJDSElDQUxfVkVSU0lPTiA9IDQKIEpTT05fUkVT
VUxUU19NQVhfQlVJTERTID0gNzUwCiBKU09OX1JFU1VMVFNfTUFYX0JVSUxEU19TTUFMTCA9IDIw
MAogCkBAIC0zMTksMTIgKzMyMCwzOCBAQCBjbGFzcyBKc29uUmVzdWx0cyhvYmplY3QpOgogICAg
ICAgICByZXR1cm4gbGVuKHJlc3VsdHMpID09IDEgYW5kIHJlc3VsdHNbMF1bMV0gPT0gdHlwZQog
CiAgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9mbGF0dGVuX2pzb25fdGVzdHMoY2xzLCBqc29u
LCBwcmVmaXg9Tm9uZSk6CisgICAgICAgICIiIkZsYXR0ZW5zIGEgdHJpZSBkaXJlY3Rvcnkgc3Ry
dWN0dXJlIGluIHRlc3RzIGludG8gYSBmbGF0IHN0cnVjdHVyZS4KKworICAgICAgICBBcmdzOgor
ICAgICAgICAgICAganNvbjoganNvbiB0ZXN0cyBzdHJ1Y3R1cmUuCisgICAgICAgICAgICBwcmVm
aXg6IGFsZWFkeS1jb21wdXRlZCBwYXRoIHRvIGFwcGVuZCB0byB0aGUgZXZlbnR1YWwgdGVzdCBu
YW1lLCBpZiBhbnkuCisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICAgIFRoZSBmbGF0dGVu
ZWQganNvbiB0ZXN0cyBzdHJ1Y3R1cmUuCisgICAgICAgICIiIgorICAgICAgICByZXN1bHQgPSB7
fQorICAgICAgICBmb3IgbmFtZSwgdGVzdCBpbiBqc29uLml0ZXJpdGVtcygpOgorICAgICAgICAg
ICAgaWYgcHJlZml4OgorICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gcHJlZml4ICsgIi8iICsg
bmFtZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IG5hbWUK
KworICAgICAgICAgICAgaWYgInJlc3VsdHMiIGluIHRlc3Q6CisgICAgICAgICAgICAgICAgcmVz
dWx0W2Z1bGxuYW1lXSA9IHRlc3QKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
cmVzdWx0LnVwZGF0ZShjbHMuX2ZsYXR0ZW5fanNvbl90ZXN0cyh0ZXN0LCBmdWxsbmFtZSkpCisK
KyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9jaGVj
a19qc29uKGNscywgYnVpbGRlciwganNvbik6CiAgICAgICAgICIiIkNoZWNrIHdoZXRoZXIgdGhl
IGdpdmVuIGpzb24gaXMgdmFsaWQuCisgICAgICAgIENvbnZlcnRzIHBhcnRpYWxseS1zdXBwb3J0
ZWQganNvbiB0byBzdXBwb3J0ZWQgdmVyc2lvbiBqc29uLgogCiAgICAgICAgIEFyZ3M6CiAgICAg
ICAgICAgICBidWlsZGVyOiBidWlsZGVyIG5hbWUgdGhpcyBqc29uIGlzIGZvci4KLSAgICAgICAg
ICAgIGpzb246IGpzb24gb2JqZWN0IHRvIGNoZWNrLgorICAgICAgICAgICAganNvbjoganNvbiBv
YmplY3QgdG8gY2hlY2sgYW5kIGNvbnZlcnQgaWYgbmVjZXNzYXJ5LgogCiAgICAgICAgIFJldHVy
bnM6CiAgICAgICAgICAgICBUcnVlIGlmIHRoZSBqc29uIGlzIHZhbGlkIG9yCkBAIC0zMzIsNyAr
MzU5LDcgQEAgY2xhc3MgSnNvblJlc3VsdHMob2JqZWN0KToKICAgICAgICAgIiIiCiAKICAgICAg
ICAgdmVyc2lvbiA9IGpzb25bSlNPTl9SRVNVTFRTX1ZFUlNJT05fS0VZXQotICAgICAgICBpZiB2
ZXJzaW9uID4gSlNPTl9SRVNVTFRTX1ZFUlNJT046CisgICAgICAgIGlmIHZlcnNpb24gPiBKU09O
X1JFU1VMVFNfSElFUkFSQ0hJQ0FMX1ZFUlNJT046CiAgICAgICAgICAgICBsb2dnaW5nLmVycm9y
KCJSZXN1bHRzIEpTT04gdmVyc2lvbiAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQuIiwKICAgICAgICAg
ICAgICAgICB2ZXJzaW9uKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0zNDYsNiArMzcz
LDE0IEBAIGNsYXNzIEpzb25SZXN1bHRzKG9iamVjdCk6CiAgICAgICAgICAgICBsb2dnaW5nLmVy
cm9yKCJNaXNzaW5nIGJ1aWxkIG51bWJlciBpbiBqc29uIHJlc3VsdHMuIikKICAgICAgICAgICAg
IHJldHVybiBGYWxzZQogCisgICAgICAgICMgRklYTUUoYWJveGhhbGwpOiBPbmNlIHRoZSBkYXNo
Ym9hcmQgY2FuIHJlYWQgaGllcmFyY2hpY2FsIEpTT04sIGJvdGgKKyAgICAgICAgIyBpbmNyZW1l
bnRhbCBhbmQgYWdncmVnYXRlZCBKU09OIGNhbiBiZSBoaWVyYXJjaGljYWwsIHdpdGggbm8gbmVl
ZCB0bworICAgICAgICAjIGZsYXR0ZW4gaGVyZS4KKyAgICAgICAgaWYgdmVyc2lvbiA9PSBKU09O
X1JFU1VMVFNfSElFUkFSQ0hJQ0FMX1ZFUlNJT046CisgICAgICAgICAgICBmbGF0dGVuZWRfdGVz
dHMgPSBjbHMuX2ZsYXR0ZW5fanNvbl90ZXN0cyhyZXN1bHRzX2Zvcl9idWlsZGVyW0pTT05fUkVT
VUxUU19URVNUU10pCisgICAgICAgICAgICBqc29uW2J1aWxkZXJdW0pTT05fUkVTVUxUU19URVNU
U10gPSBmbGF0dGVuZWRfdGVzdHMKKyAgICAgICAgICAgIGpzb25bSlNPTl9SRVNVTFRTX1ZFUlNJ
T05fS0VZXSA9IEpTT05fUkVTVUxUU19WRVJTSU9OCisKICAgICAgICAgcmV0dXJuIFRydWUKIAog
ICAgIEBjbGFzc21ldGhvZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2Rl
bC9qc29ucmVzdWx0c191bml0dGVzdC5weSBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwv
anNvbnJlc3VsdHNfdW5pdHRlc3QucHkKaW5kZXggZTMyYzQ3YjhjMGU4ODY0YzJhNzY2OGZlMzM4
ZTUzMjgwMWRjMjNiYy4uZjhhY2JmNThlNTY4MTU0ZjQ3ZGRiZWQ0YjFhNmVkYmNlNzllMDNjZiAx
MDA3NTUKLS0tIGEvVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0
dGVzdC5weQorKysgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3Vu
aXR0ZXN0LnB5CkBAIC0zMSw2ICszMSw3IEBAIHRyeToKICAgICBmcm9tIGpzb25yZXN1bHRzIGlt
cG9ydCBKc29uUmVzdWx0cwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHByaW50ICJFUlJPUjog
QWRkIHRoZSBUZXN0UmVzdWx0U2VydmVyLCBnb29nbGVfYXBwZW5naW5lIGFuZCB5YW1sL2xpYiBk
aXJlY3RvcmllcyB0byB5b3VyIFBZVEhPTlBBVEgiCisgICAgcmFpc2UKIAogaW1wb3J0IHVuaXR0
ZXN0CiAKQEAgLTQ4LDcgKzQ5LDcgQEAgSlNPTl9SRVNVTFRTX1RFTVBMQVRFID0gKAogICAgICci
d2Via2l0UmV2aXNpb24iOltbVEVTVERBVEFfV0VCS0lUUkVWSVNJT05dXSwnCiAgICAgJyJ3b250
Zml4Q291bnRzIjpbW1RFU1REQVRBX0NPVU5UU11dJwogICAgICd9LCcKLSAgICAnInZlcnNpb24i
OjMnCisgICAgJyJ2ZXJzaW9uIjpbVkVSU0lPTl0nCiAgICAgJ30nKQogCiBKU09OX1JFU1VMVFNf
Q09VTlRTX1RFTVBMQVRFID0gKApAQCAtNjIsNiArNjMsOCBAQCBKU09OX1JFU1VMVFNfQ09VTlRT
X1RFTVBMQVRFID0gKAogICAgICciWCI6W1RFU1REQVRBXSwnCiAgICAgJyJaIjpbVEVTVERBVEFd
fScpCiAKK0pTT05fUkVTVUxUU19ESVJFQ1RPUllfVEVNUExBVEUgPSAnIltURVNUREFUQV9ESVJF
Q1RPUlldIjp7W1RFU1REQVRBX0RBVEFdfScKKwogSlNPTl9SRVNVTFRTX1RFU1RTX1RFTVBMQVRF
ID0gKAogICAgICciW1RFU1REQVRBX1RFU1RfTkFNRV0iOnsnCiAgICAgJyJyZXN1bHRzIjpbW1RF
U1REQVRBX1RFU1RfUkVTVUxUU11dLCcKQEAgLTgyLDcgKzg1LDggQEAgY2xhc3MgSnNvblJlc3Vs
dHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgaWYgbm90IHRlc3RfZGF0YToKICAg
ICAgICAgICAgIHJldHVybiBKU09OX1JFU1VMVFNfUFJFRklYICsgSlNPTl9SRVNVTFRTX1NVRkZJ
WAogCi0gICAgICAgIChidWlsZHMsIHRlc3RzKSA9IHRlc3RfZGF0YQorICAgICAgICBidWlsZHMg
PSB0ZXN0X2RhdGFbImJ1aWxkcyJdCisgICAgICAgIHRlc3RzID0gdGVzdF9kYXRhWyJ0ZXN0cyJd
CiAgICAgICAgIGlmIG5vdCBidWlsZHMgb3Igbm90IHRlc3RzOgogICAgICAgICAgICAgcmV0dXJu
IEpTT05fUkVTVUxUU19QUkVGSVggKyBKU09OX1JFU1VMVFNfU1VGRklYCiAKQEAgLTEwNywxNyAr
MTExLDMzIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIGpzb24gPSBqc29uLnJlcGxhY2UoIltURVNUREFUQV9DSFJPTUVSRVZJU0lPTl0iLCAiLCIu
am9pbihjaHJvbWVfcmV2aXNpb24pKQogICAgICAgICBqc29uID0ganNvbi5yZXBsYWNlKCJbVEVT
VERBVEFfVElNRVNdIiwgIiwiLmpvaW4odGltZXMpKQogCisgICAgICAgIGlmICJ2ZXJzaW9uIiBp
biB0ZXN0X2RhdGE6CisgICAgICAgICAgICBqc29uID0ganNvbi5yZXBsYWNlKCJbVkVSU0lPTl0i
LCBzdHIodGVzdF9kYXRhWyJ2ZXJzaW9uIl0pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
anNvbiA9IGpzb24ucmVwbGFjZSgiW1ZFUlNJT05dIiwgIjMiKQorCiAgICAgICAgIGpzb25fdGVz
dHMgPSBbXQotICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKLSAgICAgICAgICAgIHQgPSBKU09O
X1JFU1VMVFNfVEVTVFNfVEVNUExBVEUucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RfTkFNRV0iLCB0
ZXN0WzBdKQotICAgICAgICAgICAgdCA9IHQucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RfUkVTVUxU
U10iLCB0ZXN0WzFdKQotICAgICAgICAgICAgdCA9IHQucmVwbGFjZSgiW1RFU1REQVRBX1RFU1Rf
VElNRVNdIiwgdGVzdFsyXSkKLSAgICAgICAgICAgIGpzb25fdGVzdHMuYXBwZW5kKHQpCisgICAg
ICAgIGZvciAobmFtZSwgdGVzdCkgaW4gc29ydGVkKHRlc3RzLml0ZXJpdGVtcygpKToKKyAgICAg
ICAgICAgIGpzb25fdGVzdHMuYXBwZW5kKHNlbGYuX3BhcnNlX3Rlc3RzX2RpY3QobmFtZSwgdGVz
dCkpCiAKICAgICAgICAganNvbiA9IGpzb24ucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RTXSIsICIs
Ii5qb2luKGpzb25fdGVzdHMpKQogCiAgICAgICAgIHJldHVybiBKU09OX1JFU1VMVFNfUFJFRklY
ICsganNvbiArIEpTT05fUkVTVUxUU19TVUZGSVgKIAorICAgIGRlZiBfcGFyc2VfdGVzdHNfZGlj
dChzZWxmLCBuYW1lLCB0ZXN0KToKKyAgICAgICAgaWYgInJlc3VsdHMiIGluIHRlc3Q6CisgICAg
ICAgICAgICB0ZXN0X3Jlc3VsdHMgPSBKU09OX1JFU1VMVFNfVEVTVFNfVEVNUExBVEUucmVwbGFj
ZSgiW1RFU1REQVRBX1RFU1RfTkFNRV0iLCBuYW1lKQorICAgICAgICAgICAgdGVzdF9yZXN1bHRz
ID0gdGVzdF9yZXN1bHRzLnJlcGxhY2UoIltURVNUREFUQV9URVNUX1JFU1VMVFNdIiwgdGVzdFsi
cmVzdWx0cyJdKQorICAgICAgICAgICAgdGVzdF9yZXN1bHRzID0gdGVzdF9yZXN1bHRzLnJlcGxh
Y2UoIltURVNUREFUQV9URVNUX1RJTUVTXSIsIHRlc3RbInRpbWVzIl0pCisgICAgICAgICAgICBy
ZXR1cm4gdGVzdF9yZXN1bHRzCisKKyAgICAgICAgdGVzdF9yZXN1bHRzID0gSlNPTl9SRVNVTFRT
X0RJUkVDVE9SWV9URU1QTEFURS5yZXBsYWNlKCJbVEVTVERBVEFfRElSRUNUT1JZXSIsIG5hbWUp
CisgICAgICAgIHRlc3RkYXRhID0gW10KKyAgICAgICAgZm9yIChjaGlsZF9uYW1lLCBjaGlsZF90
ZXN0KSBpbiBzb3J0ZWQodGVzdC5pdGVyaXRlbXMoKSk6CisgICAgICAgICAgICB0ZXN0ZGF0YS5h
cHBlbmQoc2VsZi5fcGFyc2VfdGVzdHNfZGljdChjaGlsZF9uYW1lLCBjaGlsZF90ZXN0KSkKKyAg
ICAgICAgdGVzdF9yZXN1bHRzID0gdGVzdF9yZXN1bHRzLnJlcGxhY2UoIltURVNUREFUQV9EQVRB
XSIsICIsIi5qb2luKHRlc3RkYXRhKSkKKyAgICAgICAgcmV0dXJuIHRlc3RfcmVzdWx0cworCiAg
ICAgZGVmIF90ZXN0X21lcmdlKHNlbGYsIGFnZ3JlZ2F0ZWRfZGF0YSwgaW5jcmVtZW50YWxfZGF0
YSwgZXhwZWN0ZWRfZGF0YSwgbWF4X2J1aWxkcz1qc29ucmVzdWx0cy5KU09OX1JFU1VMVFNfTUFY
X0JVSUxEUyk6CiAgICAgICAgIGFnZ3JlZ2F0ZWRfcmVzdWx0cyA9IHNlbGYuX21ha2VfdGVzdF9q
c29uKGFnZ3JlZ2F0ZWRfZGF0YSkKICAgICAgICAgaW5jcmVtZW50YWxfcmVzdWx0cyA9IHNlbGYu
X21ha2VfdGVzdF9qc29uKGluY3JlbWVudGFsX2RhdGEpCkBAIC0xNTEsNyArMTcxLDEwIEBAIGNs
YXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgTm90aGlu
ZyB0byBtZXJnZS4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdn
cmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAi
WzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIs
ICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVt
ZW50YWwgcmVzdWx0cwogICAgICAgICAgICAgTm9uZSwKICAgICAgICAgICAgICMgRXhwZWN0IG5v
IG1lcmdlIGhhcHBlbnMuCkBAIC0xNjIsOSArMTg1LDEzIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgTm90aGluZyB0byBtZXJnZS4KICAgICAg
ICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIw
MCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAg
ICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
cyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAg
ICAgICAgICAgKFtdLCBbXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFtdLAorICAgICAgICAg
ICAgICJ0ZXN0cyI6IHt9fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgbm8gbWVyZ2UgaGFwcGVu
cy4KICAgICAgICAgICAgIE5vbmUpCiAKQEAgLTE3NSw5ICsyMDIsMTYgQEAgY2xhc3MgSnNvblJl
c3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICMgQWdncmVnYXRlZCBy
ZXN1bHRzCiAgICAgICAgICAgICBOb25lLAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1
bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0i
LCAiWzIwMCwwXSJdXSksCi0gICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAg
ICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1d
KSkKKworICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0
ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0
cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAi
WzIwMCwwXSJ9fX0sCisgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdAorICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiRlwiXSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9fX0pCiAKICAg
ICBkZWYgdGVzdF9tZXJnZV9pbmNyZW1lbnRhbF9zaW5nbGVfdGVzdF9zaW5nbGVfcnVuX3NhbWVf
cmVzdWx0KHNlbGYpOgogICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMgaGFzIHRoZSBsYXRl
c3QgYnVpbGQgYW5kIHNhbWUgdGVzdCByZXN1bHRzIGZvcgpAQCAtMTg2LDExICsyMjAsMjAgQEAg
Y2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBvZiBy
dW5zIGZvciAiRiIgKDIwMCArIDEpIHRvIGdldCBtZXJnZWQgcmVzdWx0cy4KICAgICAgICAgc2Vs
Zi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAg
ICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJd
XSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRl
c3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRz
IjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAg
ICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIkZcIl0iLCAiWzEsMF0iXV0pLAorICAgICAg
ICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJGXCJdIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9fX0sCiAgICAgICAg
ICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtb
IjAwMS5odG1sIiwgIlsyMDEsXCJGXCJdIiwgIlsyMDEsMF0iXV0pKQorICAgICAgICAgICAgeyJi
dWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRt
bCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDEsXCJGXCJd
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAxLDBdIn19fSkKIAog
ICAgIGRlZiB0ZXN0X21lcmdlX3NpbmdsZV90ZXN0X3NpbmdsZV9ydW5fZGlmZmVyZW50X3Jlc3Vs
dChzZWxmKToKICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzIGhhcyB0aGUgbGF0ZXN0IGJ1
aWxkIGJ1dCBkaWZmZXJlbnQgdGVzdCByZXN1bHRzCkBAIC0xOTgsNTkgKzI0MSwxMzcgQEAgY2xh
c3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBJbnNlcnQg
dGhlIGluY3JlbWVudGFsIHJlc3VsdHMgYXQgdGhlIGZpcnN0IHBsYWNlLgogICAgICAgICBzZWxm
Ll90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAg
ICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiRlwiXSIsICJbMjAwLDBdIl1d
KSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVz
dHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMi
OiAiWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsy
MDAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAg
ICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLCBcIklcIl0iLCAiWzEsMV0iXV0pLAorICAgICAg
ICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsIFwiSVwiXSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0ifX19LAogICAgICAg
ICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBb
WyIwMDEuaHRtbCIsICJbMSxcIklcIl0sWzIwMCxcIkZcIl0iLCAiWzEsMV0sWzIwMCwwXSJdXSkp
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAi
dGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWzEsXCJJXCJdLFsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwxXSxbMjAwLDBdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX3Npbmds
ZV90ZXN0X3NpbmdsZV9ydW5fcmVzdWx0X2NoYW5nZWQoc2VsZik6CiAgICAgICAgICMgSW5jcmVt
ZW50YWwgcmVzdWx0cyBoYXMgdGhlIGxhdGVzdCBidWlsZCBidXQgcmVzdWx0cyB3aGljaCBkaWZm
ZXIgZnJvbQogICAgICAgICAjIHRoZSBsYXRlc3QgcmVzdWx0IChidXQgYXJlIHRoZSBzYW1lIGFz
IGFuIG9sZGVyIHJlc3VsdCkuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAg
ICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5o
dG1sIiwgIlsyMDAsXCJGXCJdLFsxMCxcIklcIl0iLCAiWzIwMCwwXSxbMTAsMV0iXV0pLAorICAg
ICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAw
LFwiRlwiXSxbMTAsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMjAwLDBdLFsxMCwxXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMK
LSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJJXCJdIiwgIlsxLDFdIl1d
KSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjog
eyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsx
LFwiSVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0ifX19
LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIi
LCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIklcIl0sWzIwMCxcIkZcIl0sWzEwLFwiSVwiXSIs
ICJbMSwxXSxbMjAwLDBdLFsxMCwxXSJdXSkpCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIs
ICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdLFsyMDAsXCJGXCJdLFsx
MCxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdLFsy
MDAsMF0sWzEwLDFdIn19fSkKIAogICAgIGRlZiB0ZXN0X21lcmdlX211bHRpcGxlX3Rlc3RzX3Np
bmdsZV9ydW4oc2VsZik6CiAgICAgICAgICMgQWxsIHRlc3RzIGhhdmUgaW5jcmVtZW50YWwgdXBk
YXRlcy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRl
ZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxc
IkZcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMDAsXCJJXCJdIiwgIlsxMDAsMV0i
XV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0
ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0
cyI6ICJbMjAwLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAi
WzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAwLFwiSVwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMCwxXSJ9fX0sCiAgICAgICAgICAgICAjIElu
Y3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEs
XCJGXCJdIiwgIlsxLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJJXCJdIiwgIlsxLDFdIl1dKSwK
KyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
RlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzEsXCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0aW1lcyI6ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDEsXCJGXCJdIiwg
IlsyMDEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAxLFwiSVwiXSIsICJbMTAxLDFdIl1dKSkKKyAg
ICAgICAgICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0
cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6
ICJbMjAxLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIw
MSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMTAxLFwiSVwiXSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGltZXMiOiAiWzEwMSwxXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJn
ZV9tdWx0aXBsZV90ZXN0c19zaW5nbGVfcnVuX29uZV9ub19yZXN1bHQoc2VsZik6CiAgICAgICAg
IHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAg
ICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAs
MF0iXSwgWyIwMDIuaHRtbCIsICJbMTAwLFwiSVwiXSIsICJbMTAwLDFdIl1dKSwKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5o
dG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIwMCxcIkZc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsyMDAsMF0ifSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlc3VsdHMiOiAiWzEwMCxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsxMDAsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1
bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtbIjAwMi5odG1sIiwgIlsxLFwiSVwiXSIsICJbMSwx
XSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0
cyI6IHsiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6
ICJbMSxcIklcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFd
In19fSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIs
ICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJOXCJdLFsyMDAsXCJGXCJdIiwgIlsyMDEs
MF0iXSwgWyIwMDIuaHRtbCIsICJbMTAxLFwiSVwiXSIsICJbMTAxLDFdIl1dKSkKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxc
Ik5cIl0sWzIwMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjog
IlsyMDEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwMSxcIklcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMDEsMV0ifX19KQogCiAgICAgZGVmIHRlc3Rf
bWVyZ2Vfc2luZ2xlX3Rlc3RfbXVsdGlwbGVfcnVucyhzZWxmKToKICAgICAgICAgc2VsZi5fdGVz
dF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisg
ICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjog
eyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsy
MDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBd
In19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsi
NCIsICIzIl0sIFtbIjAwMS5odG1sIiwgIlsyLCBcIklcIl0iLCAiWzIsMl0iXV0pLAorICAgICAg
ICAgICAgeyJidWlsZHMiOiBbIjQiLCAiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAx
Lmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMiwgXCJJ
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMiwyXSJ9fX0sCiAg
ICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjQiLCAiMyIsICIy
IiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIsXCJJXCJdLFsyMDAsXCJGXCJdIiwgIlsyLDJdLFsy
MDAsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjQiLCAiMyIsICIyIiwgIjEiXSwK
KyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlc3VsdHMiOiAiWzIsXCJJXCJdLFsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMiwyXSxbMjAwLDBdIn19fSkKIAogICAgIGRlZiB0
ZXN0X21lcmdlX211bHRpcGxlX3Rlc3RzX211bHRpcGxlX3J1bnMoc2VsZik6CiAgICAgICAgIHNl
bGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAg
ICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJGXCJdIiwgIlsyMDAsMF0i
XSwgWyIwMDIuaHRtbCIsICJbMTAsXCJaXCJdIiwgIlsxMCwwXSJdXSksCisgICAgICAgICAgICB7
ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAgICAg
ICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZXN1bHRzIjogIlsxMCxcIlpcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAg
ICAgICAgICAgIChbIjQiLCAiMyJdLCBbWyIwMDEuaHRtbCIsICJbMiwgXCJJXCJdIiwgIlsyLDJd
Il0sIFsiMDAyLmh0bWwiLCAiWzEsXCJDXCJdIiwgIlsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsi
YnVpbGRzIjogWyI0IiwgIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjog
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIsIFwiSVwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIsMl0ifSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
c3VsdHMiOiAiWzEsXCJDXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6
ICJbMSwxXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAg
IChbIjQiLCAiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIsXCJJXCJdLFsyMDAsXCJG
XCJdIiwgIlsyLDJdLFsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIkNcIl0sWzEwLFwiWlwi
XSIsICJbMSwxXSxbMTAsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjQiLCAiMyIs
ICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzIsXCJJXCJdLFsyMDAsXCJGXCJdIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMiwyXSxbMjAwLDBdIn0sCisg
ICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZXN1bHRzIjogIlsxLFwiQ1wiXSxbMTAsXCJaXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSxbMTAsMF0ifX19KQogCiAgICAgZGVmIHRlc3Rf
bWVyZ2VfaW5jcmVtZW50YWxfcmVzdWx0X29sZGVyX2J1aWxkKHNlbGYpOgogICAgICAgICAjIFRl
c3QgdGhlIGJ1aWxkIGluIGluY3JlbWVudGFsIHJlc3VsdHMgaXMgb2xkZXIgdGhhbiB0aGUgbW9z
dCByZWNlbnQKQEAgLTI1OCw5ICszNzksMTUgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBUaGUgaW5jcmVtZW50YWwgcmVzdWx0cyBzaG91bGQg
YmUgZHJvcHBlZCBhbmQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJn
ZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwg
IjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAg
ICAgICB7ImJ1aWxkcyI6IFsiMyIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEu
aHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJG
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwK
ICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiJdLCBb
WyIwMDEuaHRtbCIsICJbMSwgXCJGXCJdIiwgIlsxLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVp
bGRzIjogWyIyIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLCBcIkZcIl0iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhw
ZWN0ZWQgbm8gbWVyZ2UgaGFwcGVucy4KICAgICAgICAgICAgIE5vbmUpCiAKQEAgLTI3MCw5ICsz
OTcsMTUgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgIyBUaGUgaW5jcmVtZW50YWwgcmVzdWx0cyBzaG91bGQgYmUgZHJvcHBlZCBhbmQgbm8gbWVy
Z2UgaGFwcGVucy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdn
cmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAi
WzIwMCxcIkZcIl0iLCAiWzIwMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIs
ICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJGXCJdIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVt
ZW50YWwgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIl0sIFtbIjAwMS5odG1sIiwgIlsy
LCBcIkZcIl0iLCAiWzIsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiJd
LAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbMiwgXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbMiwwXSJ9fX0sCiAgICAgICAgICAgICAjIEV4cGVjdGVkIG5vIG1l
cmdlIGhhcHBlbnMuCiAgICAgICAgICAgICBOb25lKQogCkBAIC0yODAsMzEgKzQxMyw3OSBAQCBj
bGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFJlbW92
ZSB0ZXN0IHdoZXJlIHRoZXJlIGlzIG5vIGRhdGEgaW4gYWxsIHJ1bnMuCiAgICAgICAgIHNlbGYu
X3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAg
ICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJOXCJdIiwgIlsyMDAsMF0iXSwg
WyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJdXSksCisgICAgICAgICAgICB7ImJ1
aWxkcyI6IFsiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJOXCJdIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAgICAgICAg
ICAgICAgICAgICAgICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZXN1bHRzIjogIlsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVz
IjogIlsxMCwwXSJ9fX0sCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAg
ICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJOXCJdIiwgIlsxLDBdIl0sIFsiMDAy
Lmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjog
WyIzIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiTlwiXSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAw
Mi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEsXCJQ
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwwXSJ9fX0sCiAg
ICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIx
Il0sIFtbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwgIlsxMSwwXSJdXSkpCisg
ICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAidGVz
dHMiOiB7IjAwMi5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMi
OiAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsxMSwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9yZW1vdmVfdGVzdF93aXRo
X2FsbF9wYXNzKHNlbGYpOgogICAgICAgICAjIFJlbW92ZSB0ZXN0IHdoZXJlIGFsbCBydW4gcGFz
cyBhbmQgbWF4IHJ1bm5pbmcgdGltZSA8IDEgc2Vjb25kcwogICAgICAgICBzZWxmLl90ZXN0X21l
cmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjIi
LCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0
bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBb
IjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiUFwiXSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9LAorICAgICAgICAgICAgICAgICAg
ICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6
ICJbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAs
MF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAo
WyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwwXSJdLCBbIjAwMi5odG1sIiwg
IlsxLFwiUFwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAor
ICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRpbWVzIjogIlsxLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIwMDIuaHRtbCI6
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiUFwiXSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifX19LAogICAgICAgICAg
ICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIw
MDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsICJbMTEsMF0iXV0pKQorICAgICAgICAg
ICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIw
MDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
UFwiXSxbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJb
MTEsMF0ifX19KQogCiAgICAgZGVmIHRlc3RfbWVyZ2Vfa2VlcF90ZXN0X3dpdGhfYWxsX3Bhc3Nf
YnV0X3Nsb3dfdGltZShzZWxmKToKICAgICAgICAgIyBEbyBub3QgcmVtb3ZlIHRlc3Qgd2hlcmUg
YWxsIHJ1biBwYXNzIGJ1dCBtYXggcnVubmluZyB0aW1lID49IDEgc2Vjb25kcwogICAgICAgICBz
ZWxmLl90ZXN0X21lcmdlKAogICAgICAgICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKLSAgICAg
ICAgICAgIChbIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBd
Il0sIFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAg
eyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAwLFwiUFwiXSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzIwMCwwXSJ9LAorICAgICAg
ICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAicmVzdWx0cyI6ICJbMTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
aW1lcyI6ICJbMTAsMF0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwxXSJdLCBb
IjAwMi5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxk
cyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn0sCisgICAgICAgICAgICAgICAgICAgICAg
ICIwMDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsx
LFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMF0ifX19
LAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIi
LCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAxLFwiUFwiXSIsICJbMSwxXSxbMjAwLDBdIl0sIFsi
MDAyLmh0bWwiLCAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLCAiWzExLDBdIl1dKSkKKyAgICAgICAg
ICAgIHsiYnVpbGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsi
MDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMjAx
LFwiUFwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzEsMV0sWzIw
MCwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiMDAyLmh0bWwiOiB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZXMiOiAiWzExLDBdIn19fSkKIAogICAgIGRlZiB0
ZXN0X21lcmdlX3BydW5lX2V4dHJhX3Jlc3VsdHMoc2VsZik6CiAgICAgICAgICMgUmVtb3ZlIGl0
ZW1zIGZyb20gdGVzdCByZXN1bHRzIGFuZCB0aW1lcyB0aGF0IGV4Y2VlZCB0aGUgbWF4IG51bWJl
cgpAQCAtMzEyLDExICs0OTMsMjAgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgbWF4X2J1aWxkcyA9IHN0cihqc29ucmVzdWx0cy5KU09OX1JFU1VM
VFNfTUFYX0JVSUxEUykKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMg
QWdncmVnYXRlZCByZXN1bHRzCi0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwi
LCAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJJXCJdIiwgIlsiICsgbWF4X2J1aWxk
cyArICIsMF0sWzEsMV0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAor
ICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVzdWx0cyI6ICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIklcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsiICsgbWF4X2J1aWxkcyAr
ICIsMF0sWzEsMV0ifX19LAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAg
ICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiVFwiXSIsICJbMSwxXSJdXSksCisg
ICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAx
Lmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlRc
Il0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDFdIn19fSwKICAg
ICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEi
XSwgW1siMDAxLmh0bWwiLCAiWzEsXCJUXCJdLFsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdIiwg
IlsxLDFdLFsiICsgbWF4X2J1aWxkcyArICIsMF0iXV0pKQorICAgICAgICAgICAgeyJidWlsZHMi
OiBbIjMiLCAiMiIsICIxIl0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwiVFwiXSxbIiArIG1h
eF9idWlsZHMgKyAiLFwiRlwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZXMi
OiAiWzEsMV0sWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJ9fX0pCiAKICAgICBkZWYgdGVzdF9tZXJn
ZV9wcnVuZV9leHRyYV9yZXN1bHRzX3NtYWxsKHNlbGYpOgogICAgICAgICAjIFJlbW92ZSBpdGVt
cyBmcm9tIHRlc3QgcmVzdWx0cyBhbmQgdGltZXMgdGhhdCBleGNlZWQgdGhlIG1heCBudW1iZXIK
QEAgLTMyNCwxMSArNTE0LDIwIEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIG1heF9idWlsZHMgPSBzdHIoanNvbnJlc3VsdHMuSlNPTl9SRVNVTFRT
X01BWF9CVUlMRFNfU01BTEwpCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAg
ICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5o
dG1sIiwgIlsiICsgbWF4X2J1aWxkcyArICIsXCJGXCJdLFsxLFwiSVwiXSIsICJbIiArIG1heF9i
dWlsZHMgKyAiLDBdLFsxLDFdIl1dKSwKKyAgICAgICAgICAgIHsiYnVpbGRzIjogWyIyIiwgIjEi
XSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlc3VsdHMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0sWzEsXCJJ
XCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbIiArIG1heF9idWls
ZHMgKyAiLDBdLFsxLDFdIn19fSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwot
ICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlRcIl0iLCAiWzEsMV0iXV0p
LAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7
IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEs
XCJUXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMSwxXSJ9fX0s
CiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIs
ICIxIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiVFwiXSxbIiArIG1heF9idWlsZHMgKyAiLFwiRlwi
XSIsICJbMSwxXSxbIiArIG1heF9idWlsZHMgKyAiLDBdIl1dKSwKKyAgICAgICAgICAgIHsiYnVp
bGRzIjogWyIzIiwgIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwi
OiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIlRcIl0sWyIg
KyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRp
bWVzIjogIlsxLDFdLFsiICsgbWF4X2J1aWxkcyArICIsMF0ifX19LAogICAgICAgICAgICAgaW50
KG1heF9idWlsZHMpKQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfcHJ1bmVfZXh0cmFfcmVzdWx0c193
aXRoX25ld19yZXN1bHRfb2Zfc2FtZV90eXBlKHNlbGYpOgpAQCAtMzM3LDE5ICs1MzYsNjYgQEAg
Y2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgbWF4X2J1
aWxkcyA9IHN0cihqc29ucmVzdWx0cy5KU09OX1JFU1VMVFNfTUFYX0JVSUxEU19TTUFMTCkKICAg
ICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAgICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRz
Ci0gICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWyIgKyBtYXhfYnVpbGRz
ICsgIixcIkZcIl0sWzEsXCJOXCJdIiwgIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0iXV0p
LAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjIiLCAiMSJdLAorICAgICAgICAgICAgICJ0ZXN0
cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6
ICJbIiArIG1heF9idWlsZHMgKyAiLFwiRlwiXSxbMSxcIk5cIl0iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRpbWVzIjogIlsiICsgbWF4X2J1aWxkcyArICIsMF0sWzEsMV0ifX19LAog
ICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIl0sIFtb
IjAwMS5odG1sIiwgIlsxLFwiRlwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICB7ImJ1aWxk
cyI6IFsiMyJdLAorICAgICAgICAgICAgICJ0ZXN0cyI6IHsiMDAxLmh0bWwiOiB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVzdWx0cyI6ICJbMSxcIkZcIl0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19fSwKICAgICAgICAgICAgICMgRXhwZWN0
ZWQgcmVzdWx0cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAi
WyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLCAiWyIgKyBtYXhfYnVpbGRzICsgIiwwXSJdXSks
CisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAgICAgICAi
dGVzdHMiOiB7IjAwMS5odG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3Vs
dHMiOiAiWyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRpbWVzIjogIlsiICsgbWF4X2J1aWxkcyArICIsMF0ifX19LAogICAgICAgICAgICAg
aW50KG1heF9idWlsZHMpKQogCisgICAgZGVmIHRlc3RfbWVyZ2VfYnVpbGRfZGlyZWN0b3J5X2hp
ZXJhcmNoeShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKKyAgICAgICAgICAgICMg
QWdncmVnYXRlZCByZXN1bHRzCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMiIsICIxIl0sCisg
ICAgICAgICAgICAgInRlc3RzIjogeyJmb28vMDAxLmh0bWwiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVzdWx0cyI6ICJbNTAsXCJGXCJdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0aW1lcyI6ICJbNTAsMF0ifSwKKyAgICAgICAgICAgICAgICAgICAgICAgImZvby8w
MDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMDAs
XCJJXCJdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyI6ICJbMTAwLDBdIn19
fSwKKyAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cworICAgICAgICAgICAgeyJidWls
ZHMiOiBbIjMiXSwKKyAgICAgICAgICAgICAidGVzdHMiOiB7ImZvbyI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVzdWx0cyI6ICJbMSxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lcyI6ICJbMSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAwMi5o
dG1sIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxLFwi
SVwiXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxLDBdIn19
fSwKKyAgICAgICAgICAgICAidmVyc2lvbiI6IDR9LAorICAgICAgICAgICAgIyBFeHBlY3RlZCBy
ZXN1bHRzCisgICAgICAgICAgICB7ImJ1aWxkcyI6IFsiMyIsICIyIiwgIjEiXSwKKyAgICAgICAg
ICAgICAidGVzdHMiOiB7ImZvby8wMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZXN1bHRzIjogIls1MSxcIkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRpbWVzIjogIls1MSwwXSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAiZm9vLzAwMi5odG1s
IjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdHMiOiAiWzEwMSxcIklcIl0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMDEsMF0ifX0sCisgICAg
ICAgICAgICAgInZlcnNpb24iOiAzfSkKKworICAgICMgRklYTUUoYWJveGhhbGwpOiBBZGQgc29t
ZSB0ZXN0cyBmb3IgeGh0bWwvc3ZnIHRlc3QgcmVzdWx0cy4KKwogICAgIGRlZiB0ZXN0X2dldF90
ZXN0X25hbWVfbGlzdChzZWxmKToKICAgICAgICAgIyBHZXQgdGVzdCBuYW1lIGxpc3Qgb25seS4g
RG9uJ3QgaW5jbHVkZSBub24tdGVzdC1saXN0IGRhdGEgYW5kCiAgICAgICAgICMgb2YgdGVzdCBy
ZXN1bHQgZGV0YWlscy4KICAgICAgICAgc2VsZi5fdGVzdF9nZXRfdGVzdF9saXN0KAogICAgICAg
ICAgICAgIyBJbnB1dCByZXN1bHRzCi0gICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIw
MDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwLFwi
RlwiXSIsICJbMTAsMF0iXV0pLAorICAgICAgICAgICAgeyJidWlsZHMiOiBbIjMiLCAiMiIsICIx
Il0sCisgICAgICAgICAgICAgInRlc3RzIjogeyIwMDEuaHRtbCI6IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZXN1bHRzIjogIlsyMDAsXCJQXCJdIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lcyI6ICJbMjAwLDBdIn0sCisgICAgICAgICAgICAgICAgICAgICAgICIw
MDIuaHRtbCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRzIjogIlsxMCxc
IkZcIl0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzIjogIlsxMCwwXSJ9fX0s
CiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKICAgICAgICAgICAgIFsiMDAxLmh0bWwi
LCAiMDAyLmh0bWwiXSkKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>