<?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>94011</bug_id>
          
          <creation_ts>2012-08-14 12:00:11 -0700</creation_ts>
          <short_desc>NRWT cutting off the output from LayoutTest run under Valgrind</short_desc>
          <delta_ts>2012-08-16 14:45:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>NRWT</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jacob Goldstein">jacobg</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>dpranke</cc>
    
    <cc>jacobg</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>695219</commentid>
    <comment_count>0</comment_count>
    <who name="Jacob Goldstein">jacobg</who>
    <bug_when>2012-08-14 12:00:11 -0700</bug_when>
    <thetext>When a LayoutTest is run using NRWT under Valgrind, the memory check summary from Valgrind is not output.  Tests are run using NRWT and --wrapper, for example:

./Tools/Scripts/new-run-webkit-tests --debug -v --wrapper=&quot;valgrind&quot; --time-out-ms=9999999999 LayoutTests/fast/forms/001.html

The output from a run like this is missing the following information from Valgrind (info below was generated by running the same test under Valgrind using a direct call to DRT)

==1931== 
==1931== HEAP SUMMARY:
==1931==     in use at exit: 3,664,774 bytes in 21,504 blocks
==1931==   total heap usage: 88,404 allocs, 66,900 frees, 14,310,612 bytes allocated
==1931== 
==1931== LEAK SUMMARY:
==1931==    definitely lost: 0 bytes in 0 blocks
==1931==    indirectly lost: 0 bytes in 0 blocks
==1931==      possibly lost: 22,496 bytes in 306 blocks
==1931==    still reachable: 3,642,238 bytes in 21,196 blocks
==1931==         suppressed: 40 bytes in 2 blocks
==1931== Reachable blocks (those to which a pointer was found) are not shown.
==1931== To see them, rerun with: --leak-check=full --show-reachable=yes
==1931== 
==1931== For counts of detected and suppressed errors, rerun with: -v
==1931== ERROR SUMMARY: 85 errors from 85 contexts (suppressed: 8068 from 30)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695244</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-14 12:27:12 -0700</bug_when>
    <thetext>i&apos;ve reproduced this w/ chromium linux. There&apos;s a couple of different problems going on that are combining together, but it shouldn&apos;t be too hard to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695451</commentid>
    <comment_count>2</comment_count>
      <attachid>158427</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-14 15:46:40 -0700</bug_when>
    <thetext>Created attachment 158427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695534</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-14 16:38:33 -0700</bug_when>
    <thetext>adding dolmstead for the change to kill_timeout, wangxianzhu for the android changes ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695559</commentid>
    <comment_count>4</comment_count>
      <attachid>158427</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-08-14 17:01:10 -0700</bug_when>
    <thetext>Comment on attachment 158427
Patch

The chromium_android.py part looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696613</commentid>
    <comment_count>5</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2012-08-15 18:47:19 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; adding dolmstead for the change to kill_timeout, wangxianzhu for the android changes ...

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697497</commentid>
    <comment_count>6</comment_count>
      <attachid>158427</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-08-16 14:04:40 -0700</bug_when>
    <thetext>Comment on attachment 158427
Patch

Seems fine. It&apos;s a bit of a bummer that we have to plumb stop_when_done everywhere, but I don&apos;t see a good alternative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697511</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-16 14:15:30 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 158427 [details])
&gt; Seems fine. It&apos;s a bit of a bummer that we have to plumb stop_when_done everywhere, but I don&apos;t see a good alternative.

Exactly :(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697538</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-16 14:45:25 -0700</bug_when>
    <thetext>Committed r125812: &lt;http://trac.webkit.org/changeset/125812&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158427</attachid>
            <date>2012-08-14 15:46:40 -0700</date>
            <delta_ts>2012-08-16 14:18:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94011-20120814154607.patch</filename>
            <type>text/plain</type>
            <size>32158</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDhjNjY3YmY3ZGM3ODRlOWU1Yjc4MWFmMmMyMTE3N2Y0
NGFlMDU4ZS4uZTc4NWJiMzlhNTlkNzQzOTcxYzdhNmI0MzgwMDEyOWMzNTZjYjA0YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgy
IEBACisyMDEyLTA4LTE0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIE5SV1QgY3V0dGluZyBvZmYgdGhlIG91dHB1dCBmcm9tIExheW91dFRlc3QgcnVuIHVu
ZGVyIFZhbGdyaW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NDAxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1ha2UgTlJXVCB3b3JrIHdpdGggdmFsZ3JpbmQgYWdhaW4gLi4uIEkgbmVlZGVkIHRvIHJl
d29yayB0aGUKKyAgICAgICAgZHJpdmVyIGluZnJhc3RydWN0dXJlIHNvIHRoYXQgd2UgY291bGQg
Z2V0IHRoZSBzdGRlcnIgd3JpdHRlbgorICAgICAgICBiZXR3ZWVuIGEgdGVzdCBjb21wbGV0aW5n
IGFuZCBhIHByb2Nlc3MgYmVpbmcgc3RvcHBlZCBhbmQKKyAgICAgICAgYXNzb2NpYXRlIGl0IHdp
dGggdGhlIERyaXZlck91dHB1dCBmb3IgdGhlIHRlc3Q7IHRoaXMgbWVhbnQgdGhhdAorICAgICAg
ICBydW5fdGVzdCgpIG5lZWRlZCB0byBzdG9wIHRoZSBkcml2ZXIgYXQgdGhlIGVuZCBvZiB0aGUg
dGVzdAorICAgICAgICBkaXJlY3RseSBpZi93aGVuIGFwcHJvcHJpYXRlLiBUaGlzIGFsc28gZW50
YWlsZWQgcmV3b3JraW5nCisgICAgICAgIHJ1bl90ZXN0KCkgc28gdGhhdCB3ZSB3b3VsZCBnYXRo
ZXIgc3RkZXJyIGFuZCBzdGRvdXQKKyAgICAgICAgY29uc2lzdGVudGx5IHJlZ2FyZGxlc3Mgb2Yg
d2hldGhlciB0aGlzIHdhcyBhIG5vcm1hbCB0ZXN0LCBvcgorICAgICAgICBzdG9wX3doZW5fZG9u
ZSwgb3IgYSBjcmFzaCBvciB0aW1lb3V0LgorCisgICAgICAgIEFsc28sIEkgaGFkIHRvIHJld29y
ayB0aGUgcHJvY2Vzc19zdG9wX3RpbWUoKSAoYW5kIHJlbmFtZWQgaXQgdG8KKyAgICAgICAgZHJp
dmVyX3N0b3BfdGltZW91dCkgc28gdGhhdCBpdCB3b3VsZCBiZSBsb25nZXIgaWYgLS10aW1lLW91
dC1tcworICAgICAgICB3YXMgbG9uZyBhcyB3ZWxsIChzbyB0aGF0IHZhbGdyaW5kIHdvdWxkIGdl
dCBlbm91Z2ggdGltZSB0bworICAgICAgICBydW4pLCBhbmQgSSByZXdvcmtlZCBkcml2ZXIuc3Rv
cChraWxsX2RpcmVjdGx5PVRydWUpIHRvIGp1c3QKKyAgICAgICAgZHJpdmVyLnN0b3AodGltZW91
dD0wLjApLgorCisgICAgICAgIExhc3RseSwgYWRkaW5nIHRoZSBuZXcgc3RvcF93aGVuX2RvbmUg
cGFyYW1ldGVyIGVudGFpbGVkCisgICAgICAgIHRvdWNoaW5nIGEgbG90IG9mIHRlc3QgbW9jayBm
dW5jdGlvbnMgOiguCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYXBwZWFyZWQgdG8gYmUgd2VsbC1j
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAo
V29ya2VyLl9ydW5fdGVzdCk6CisgICAgICAgIChXb3JrZXIuX3J1bl90ZXN0X3dpdGhfdGltZW91
dCk6CisgICAgICAgIChXb3JrZXIuX3J1bl90ZXN0X2luX2Fub3RoZXJfdGhyZWFkKToKKyAgICAg
ICAgKFdvcmtlci5fcnVuX3Rlc3RfaW5fYW5vdGhlcl90aHJlYWQuU2luZ2xlVGVzdFRocmVhZC5y
dW4pOgorICAgICAgICAoV29ya2VyLl9ydW5fdGVzdF9pbl90aGlzX3RocmVhZCk6CisgICAgICAg
IChXb3JrZXIuX3J1bl9zaW5nbGVfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAo
cnVuX3NpbmdsZV90ZXN0KToKKyAgICAgICAgKFNpbmdsZVRlc3RSdW5uZXIuX19pbml0X18pOgor
ICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5fcnVuX2NvbXBhcmVfdGVzdCk6CisgICAgICAgIChT
aW5nbGVUZXN0UnVubmVyLl9ydW5fcmViYXNlbGluZSk6CisgICAgICAgIChTaW5nbGVUZXN0UnVu
bmVyLl9ydW5fcmVmdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAg
ICAgICAgKFBvcnQudmFyaWFibGUuZGVmYXVsdF9jb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHk6Cisg
ICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0LmRyaXZlcl9zdG9wX3RpbWVvdXQpOgorICAgICAg
ICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLnN0b3ApOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5OgorICAgICAgICAoRHJpdmVyLnJ1bl90ZXN0
KToKKyAgICAgICAgKERyaXZlci5zdG9wKToKKyAgICAgICAgKERyaXZlclByb3h5LnJ1bl90ZXN0
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2RyaXZlcl91
bml0dGVzdC5weToKKyAgICAgICAgKERyaXZlclRlc3QudGVzdF9jaGVja19mb3JfZHJpdmVyX2Ny
YXNoLkZha2VTZXJ2ZXJQcm9jZXNzLnN0b3ApOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHk6CisgICAgICAgIChTZXJ2ZXJQcm9j
ZXNzLndyaXRlKToKKyAgICAgICAgKFNlcnZlclByb2Nlc3MuX3dhaXRfZm9yX2RhdGFfYW5kX3Vw
ZGF0ZV9idWZmZXJzX3VzaW5nX3NlbGVjdCk6CisgICAgICAgIChTZXJ2ZXJQcm9jZXNzLnN0b3Ap
OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy5raWxsKToKKyAgICAgICAgKFNlcnZlclByb2Nlc3Mp
OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy5fa2lsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weToKKyAgICAg
ICAgKFRyaXZpYWxNb2NrUG9ydC5fX2luaXRfXyk6CisgICAgICAgIChNb2NrUHJvYy53YWl0KToK
KyAgICAgICAgKFRlc3RTZXJ2ZXJQcm9jZXNzLnRlc3RfYmFzaWMpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvdGVzdC5weToKKyAgICAgICAgKFRlc3REcml2
ZXIucnVuX3Rlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAoZ2V0X3Rlc3RzX3J1
bi5SZWNvcmRpbmdUZXN0RHJpdmVyLnJ1bl90ZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5OgorICAgICAgICAoUGVyZlRlc3QucnVu
X3NpbmdsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9w
ZXJmdGVzdF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RQYWdlTG9hZGluZ1BlcmZUZXN0Lk1v
Y2tEcml2ZXIucnVuX3Rlc3QpOgorICAgICAgICAoVGVzdFJlcGxheVBlcmZUZXN0LlJlcGxheVRl
c3RQb3J0Ll9faW5pdF9fLlJlcGxheVRlc3REcml2ZXIucnVuX3Rlc3QpOgorICAgICAgICAoVGVz
dFJlcGxheVBlcmZUZXN0LnRlc3RfcnVuX3NpbmdsZS5ydW5fdGVzdCk6CisgICAgICAgIChUZXN0
UmVwbGF5UGVyZlRlc3QudGVzdF9ydW5fc2luZ2xlX2ZhaWxzX3doZW5fb3V0cHV0X2hhc19lcnJv
ci5ydW5fdGVzdCk6CisgICAgICAgIChUZXN0UmVwbGF5UGVyZlRlc3QudGVzdF9wcmVwYXJlLnJ1
bl90ZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3Bl
cmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weToKKyAgICAgICAgKE1haW5UZXN0LlRlc3REcml2ZXIu
cnVuX3Rlc3QpOgorCiAyMDEyLTA4LTE0ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBv
cGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFVwZGF0ZSBJTmRUIGJ1aWxkIGJvdCB0byBNb3VudGFp
biBMaW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CmluZGV4IGFl
MzQyMjU2MWUxZDA3OTFjY2YwOGQ2NTM2MGNiNzhmMjAxM2M2ZjkuLmE5ZGY5NDJkYTIzMWYyYmJi
OTY4OTk1ZWU4NzFkZTdlMjMxOTE2NWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVz
dF9ydW5uZXIucHkKQEAgLTMxNSwxMiArMzE1LDE5IEBAIGNsYXNzIFdvcmtlcihvYmplY3QpOgog
ICAgICAgICAgICAgdGVzdF9pbnB1dC5zaG91bGRfcnVuX3BpeGVsX3Rlc3QgPSBzZWxmLl9wb3J0
LnNob3VsZF9ydW5fYXNfcGl4ZWxfdGVzdCh0ZXN0X2lucHV0KQogCiAgICAgZGVmIF9ydW5fdGVz
dChzZWxmLCB0ZXN0X2lucHV0KToKKyAgICAgICAgc2VsZi5fYmF0Y2hfY291bnQgKz0gMQorCisg
ICAgICAgIHN0b3Bfd2hlbl9kb25lID0gRmFsc2UKKyAgICAgICAgaWYgc2VsZi5fYmF0Y2hfc2l6
ZSA+IDAgYW5kIHNlbGYuX2JhdGNoX2NvdW50ID49IHNlbGYuX2JhdGNoX3NpemU6CisgICAgICAg
ICAgICBzZWxmLl9iYXRjaF9jb3VudCA9IDAKKyAgICAgICAgICAgIHN0b3Bfd2hlbl9kb25lID0g
VHJ1ZQorCiAgICAgICAgIHNlbGYuX3VwZGF0ZV90ZXN0X2lucHV0KHRlc3RfaW5wdXQpCiAgICAg
ICAgIHRlc3RfdGltZW91dF9zZWMgPSBzZWxmLl90aW1lb3V0KHRlc3RfaW5wdXQpCiAgICAgICAg
IHN0YXJ0ID0gdGltZS50aW1lKCkKICAgICAgICAgc2VsZi5fY2FsbGVyLnBvc3QoJ3N0YXJ0ZWRf
dGVzdCcsIHRlc3RfaW5wdXQsIHRlc3RfdGltZW91dF9zZWMpCiAKLSAgICAgICAgcmVzdWx0ID0g
c2VsZi5fcnVuX3Rlc3Rfd2l0aF90aW1lb3V0KHRlc3RfaW5wdXQsIHRlc3RfdGltZW91dF9zZWMp
CisgICAgICAgIHJlc3VsdCA9IHNlbGYuX3J1bl90ZXN0X3dpdGhfdGltZW91dCh0ZXN0X2lucHV0
LCB0ZXN0X3RpbWVvdXRfc2VjLCBzdG9wX3doZW5fZG9uZSkKIAogICAgICAgICBlbGFwc2VkX3Rp
bWUgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0CiAgICAgICAgIHNlbGYuX2NhbGxlci5wb3N0KCdmaW5p
c2hlZF90ZXN0JywgcmVzdWx0LCBlbGFwc2VkX3RpbWUpCkBAIC0zNTksMTMgKzM2NiwxMiBAQCBj
bGFzcyBXb3JrZXIob2JqZWN0KToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIiVzIGtpbGxpbmcg
ZHJpdmVyIiAlIHNlbGYuX25hbWUpCiAgICAgICAgICAgICBkcml2ZXIuc3RvcCgpCiAKLSAgICBk
ZWYgX3J1bl90ZXN0X3dpdGhfdGltZW91dChzZWxmLCB0ZXN0X2lucHV0LCB0aW1lb3V0KToKKyAg
ICBkZWYgX3J1bl90ZXN0X3dpdGhfdGltZW91dChzZWxmLCB0ZXN0X2lucHV0LCB0aW1lb3V0LCBz
dG9wX3doZW5fZG9uZSk6CiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMucnVuX3NpbmdseToKLSAg
ICAgICAgICAgIHJldHVybiBzZWxmLl9ydW5fdGVzdF9pbl9hbm90aGVyX3RocmVhZCh0ZXN0X2lu
cHV0LCB0aW1lb3V0KQotICAgICAgICByZXR1cm4gc2VsZi5fcnVuX3Rlc3RfaW5fdGhpc190aHJl
YWQodGVzdF9pbnB1dCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9ydW5fdGVzdF9pbl9hbm90
aGVyX3RocmVhZCh0ZXN0X2lucHV0LCB0aW1lb3V0LCBzdG9wX3doZW5fZG9uZSkKKyAgICAgICAg
cmV0dXJuIHNlbGYuX3J1bl90ZXN0X2luX3RoaXNfdGhyZWFkKHRlc3RfaW5wdXQsIHN0b3Bfd2hl
bl9kb25lKQogCiAgICAgZGVmIF9jbGVhbl91cF9hZnRlcl90ZXN0KHNlbGYsIHRlc3RfaW5wdXQs
IHJlc3VsdCk6Ci0gICAgICAgIHNlbGYuX2JhdGNoX2NvdW50ICs9IDEKICAgICAgICAgdGVzdF9u
YW1lID0gdGVzdF9pbnB1dC50ZXN0X25hbWUKICAgICAgICAgc2VsZi5fdGVzdHNfcnVuX2ZpbGUu
d3JpdGUodGVzdF9uYW1lICsgIlxuIikKIApAQCAtMzg1LDExICszOTEsNyBAQCBjbGFzcyBXb3Jr
ZXIob2JqZWN0KToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIiVzICVz
IHBhc3NlZCIgJSAoc2VsZi5fbmFtZSwgdGVzdF9uYW1lKSkKIAotICAgICAgICBpZiBzZWxmLl9i
YXRjaF9zaXplID4gMCBhbmQgc2VsZi5fYmF0Y2hfY291bnQgPj0gc2VsZi5fYmF0Y2hfc2l6ZToK
LSAgICAgICAgICAgIHNlbGYuX2tpbGxfZHJpdmVyKCkKLSAgICAgICAgICAgIHNlbGYuX2JhdGNo
X2NvdW50ID0gMAotCi0gICAgZGVmIF9ydW5fdGVzdF9pbl9hbm90aGVyX3RocmVhZChzZWxmLCB0
ZXN0X2lucHV0LCB0aHJlYWRfdGltZW91dF9zZWMpOgorICAgIGRlZiBfcnVuX3Rlc3RfaW5fYW5v
dGhlcl90aHJlYWQoc2VsZiwgdGVzdF9pbnB1dCwgdGhyZWFkX3RpbWVvdXRfc2VjLCBzdG9wX3do
ZW5fZG9uZSk6CiAgICAgICAgICIiIlJ1biBhIHRlc3QgaW4gYSBzZXBhcmF0ZSB0aHJlYWQsIGVu
Zm9yY2luZyBhIGhhcmQgdGltZSBsaW1pdC4KIAogICAgICAgICBTaW5jZSB3ZSBjYW4gb25seSBk
ZXRlY3QgdGhlIHRlcm1pbmF0aW9uIG9mIGEgdGhyZWFkLCBub3QgYW55IGludGVybmFsCkBAIC00
MTIsNyArNDE0LDcgQEAgY2xhc3MgV29ya2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2Vs
Zi5yZXN1bHQgPSBOb25lCiAKICAgICAgICAgICAgIGRlZiBydW4oc2VsZik6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5yZXN1bHQgPSB3b3JrZXIuX3J1bl9zaW5nbGVfdGVzdChkcml2ZXIsIHRlc3Rf
aW5wdXQpCisgICAgICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSB3b3JrZXIuX3J1bl9zaW5nbGVf
dGVzdChkcml2ZXIsIHRlc3RfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKQogCiAgICAgICAgIHRocmVh
ZCA9IFNpbmdsZVRlc3RUaHJlYWQoKQogICAgICAgICB0aHJlYWQuc3RhcnQoKQpAQCAtNDM1LDcg
KzQzNyw3IEBAIGNsYXNzIFdvcmtlcihvYmplY3QpOgogICAgICAgICAgICAgcmVzdWx0ID0gdGVz
dF9yZXN1bHRzLlRlc3RSZXN1bHQodGVzdF9pbnB1dC50ZXN0X25hbWUsIGZhaWx1cmVzPVtdLCB0
ZXN0X3J1bl90aW1lPTApCiAgICAgICAgIHJldHVybiByZXN1bHQKIAotICAgIGRlZiBfcnVuX3Rl
c3RfaW5fdGhpc190aHJlYWQoc2VsZiwgdGVzdF9pbnB1dCk6CisgICAgZGVmIF9ydW5fdGVzdF9p
bl90aGlzX3RocmVhZChzZWxmLCB0ZXN0X2lucHV0LCBzdG9wX3doZW5fZG9uZSk6CiAgICAgICAg
ICIiIlJ1biBhIHNpbmdsZSB0ZXN0IGZpbGUgdXNpbmcgYSBzaGFyZWQgRHVtcFJlbmRlclRyZWUg
cHJvY2Vzcy4KIAogICAgICAgICBBcmdzOgpAQCAtNDQ3LDExICs0NDksMTEgQEAgY2xhc3MgV29y
a2VyKG9iamVjdCk6CiAgICAgICAgICAgICBzZWxmLl9raWxsX2RyaXZlcigpCiAgICAgICAgIGlm
IG5vdCBzZWxmLl9kcml2ZXI6CiAgICAgICAgICAgICBzZWxmLl9kcml2ZXIgPSBzZWxmLl9wb3J0
LmNyZWF0ZV9kcml2ZXIoc2VsZi5fd29ya2VyX251bWJlcikKLSAgICAgICAgcmV0dXJuIHNlbGYu
X3J1bl9zaW5nbGVfdGVzdChzZWxmLl9kcml2ZXIsIHRlc3RfaW5wdXQpCisgICAgICAgIHJldHVy
biBzZWxmLl9ydW5fc2luZ2xlX3Rlc3Qoc2VsZi5fZHJpdmVyLCB0ZXN0X2lucHV0LCBzdG9wX3do
ZW5fZG9uZSkKIAotICAgIGRlZiBfcnVuX3NpbmdsZV90ZXN0KHNlbGYsIGRyaXZlciwgdGVzdF9p
bnB1dCk6CisgICAgZGVmIF9ydW5fc2luZ2xlX3Rlc3Qoc2VsZiwgZHJpdmVyLCB0ZXN0X2lucHV0
LCBzdG9wX3doZW5fZG9uZSk6CiAgICAgICAgIHJldHVybiBzaW5nbGVfdGVzdF9ydW5uZXIucnVu
X3NpbmdsZV90ZXN0KHNlbGYuX3BvcnQsIHNlbGYuX29wdGlvbnMsCi0gICAgICAgICAgICB0ZXN0
X2lucHV0LCBkcml2ZXIsIHNlbGYuX25hbWUpCisgICAgICAgICAgICB0ZXN0X2lucHV0LCBkcml2
ZXIsIHNlbGYuX25hbWUsIHN0b3Bfd2hlbl9kb25lKQogCiAKIGNsYXNzIFRlc3RTaGFyZChvYmpl
Y3QpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CmluZGV4IGIzNjEz
MGRlZDlhYWQ5YTM4MWEyODQ1ZDYxZDI3MGIwMTgxMjFiMGQuLmE1NWVmZDQ4ZWZiYmYyYTY3ZmVm
YTZjZTRjNzQ1OTM5MzMxNjMyOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9y
dW5uZXIucHkKQEAgLTQxLDE1ICs0MSwxNSBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5t
b2RlbHMudGVzdF9yZXN1bHRzIGltcG9ydCBUZXN0UmVzdWx0CiBfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCiAKIAotZGVmIHJ1bl9zaW5nbGVfdGVzdChwb3J0LCBvcHRpb25zLCB0
ZXN0X2lucHV0LCBkcml2ZXIsIHdvcmtlcl9uYW1lKToKLSAgICBydW5uZXIgPSBTaW5nbGVUZXN0
UnVubmVyKG9wdGlvbnMsIHBvcnQsIGRyaXZlciwgdGVzdF9pbnB1dCwgd29ya2VyX25hbWUpCitk
ZWYgcnVuX3NpbmdsZV90ZXN0KHBvcnQsIG9wdGlvbnMsIHRlc3RfaW5wdXQsIGRyaXZlciwgd29y
a2VyX25hbWUsIHN0b3Bfd2hlbl9kb25lKToKKyAgICBydW5uZXIgPSBTaW5nbGVUZXN0UnVubmVy
KG9wdGlvbnMsIHBvcnQsIGRyaXZlciwgdGVzdF9pbnB1dCwgd29ya2VyX25hbWUsIHN0b3Bfd2hl
bl9kb25lKQogICAgIHJldHVybiBydW5uZXIucnVuKCkKIAogCiBjbGFzcyBTaW5nbGVUZXN0UnVu
bmVyKG9iamVjdCk6CiAgICAgKEFMT05HU0lERV9URVNULCBQTEFURk9STV9ESVIsIFZFUlNJT05f
RElSLCBVUERBVEUpID0gKCdhbG9uZ3NpZGUnLCAncGxhdGZvcm0nLCAndmVyc2lvbicsICd1cGRh
dGUnKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnMsIHBvcnQsIGRyaXZlciwgdGVz
dF9pbnB1dCwgd29ya2VyX25hbWUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zLCBw
b3J0LCBkcml2ZXIsIHRlc3RfaW5wdXQsIHdvcmtlcl9uYW1lLCBzdG9wX3doZW5fZG9uZSk6CiAg
ICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0
CiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBwb3J0Lmhvc3QuZmlsZXN5c3RlbQpAQCAtNTks
NiArNTksNyBAQCBjbGFzcyBTaW5nbGVUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgIHNlbGYu
X3Rlc3RfbmFtZSA9IHRlc3RfaW5wdXQudGVzdF9uYW1lCiAgICAgICAgIHNlbGYuX3Nob3VsZF9y
dW5fcGl4ZWxfdGVzdCA9IHRlc3RfaW5wdXQuc2hvdWxkX3J1bl9waXhlbF90ZXN0CiAgICAgICAg
IHNlbGYuX3JlZmVyZW5jZV9maWxlcyA9IHRlc3RfaW5wdXQucmVmZXJlbmNlX2ZpbGVzCisgICAg
ICAgIHNlbGYuX3N0b3Bfd2hlbl9kb25lID0gc3RvcF93aGVuX2RvbmUKIAogICAgICAgICBpZiBz
ZWxmLl9yZWZlcmVuY2VfZmlsZXM6CiAgICAgICAgICAgICAjIERldGVjdCBhbmQgcmVwb3J0IGEg
dGVzdCB3aGljaCBoYXMgYSB3cm9uZyBjb21iaW5hdGlvbiBvZiBleHBlY3RhdGlvbiBmaWxlcy4K
QEAgLTEwMiw3ICsxMDMsNyBAQCBjbGFzcyBTaW5nbGVUZXN0UnVubmVyKG9iamVjdCk6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9ydW5fY29tcGFyZV90ZXN0KCkKIAogICAgIGRlZiBfcnVuX2NvbXBh
cmVfdGVzdChzZWxmKToKLSAgICAgICAgZHJpdmVyX291dHB1dCA9IHNlbGYuX2RyaXZlci5ydW5f
dGVzdChzZWxmLl9kcml2ZXJfaW5wdXQoKSkKKyAgICAgICAgZHJpdmVyX291dHB1dCA9IHNlbGYu
X2RyaXZlci5ydW5fdGVzdChzZWxmLl9kcml2ZXJfaW5wdXQoKSwgc2VsZi5fc3RvcF93aGVuX2Rv
bmUpCiAgICAgICAgIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQgPSBzZWxmLl9leHBlY3RlZF9kcml2
ZXJfb3V0cHV0KCkKIAogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmlnbm9yZV9tZXRyaWNzOgpA
QCAtMTE2LDcgKzExNyw3IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXIob2JqZWN0KToKICAgICAg
ICAgcmV0dXJuIHRlc3RfcmVzdWx0CiAKICAgICBkZWYgX3J1bl9yZWJhc2VsaW5lKHNlbGYpOgot
ICAgICAgICBkcml2ZXJfb3V0cHV0ID0gc2VsZi5fZHJpdmVyLnJ1bl90ZXN0KHNlbGYuX2RyaXZl
cl9pbnB1dCgpKQorICAgICAgICBkcml2ZXJfb3V0cHV0ID0gc2VsZi5fZHJpdmVyLnJ1bl90ZXN0
KHNlbGYuX2RyaXZlcl9pbnB1dCgpLCBzZWxmLl9zdG9wX3doZW5fZG9uZSkKICAgICAgICAgZmFp
bHVyZXMgPSBzZWxmLl9oYW5kbGVfZXJyb3IoZHJpdmVyX291dHB1dCkKICAgICAgICAgdGVzdF9y
ZXN1bHRfd3JpdGVyLndyaXRlX3Rlc3RfcmVzdWx0KHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3Bv
cnQsIHNlbGYuX3Rlc3RfbmFtZSwgZHJpdmVyX291dHB1dCwgTm9uZSwgZmFpbHVyZXMpCiAgICAg
ICAgICMgRklYTUU6IEl0IHRoZSB0ZXN0IGNyYXNoZWQgb3IgdGltZWQgb3V0LCBpdCBtaWdodCBi
ZSBiZXR0ZXIgdG8gYXZvaWQKQEAgLTI3OSw3ICsyODAsNyBAQCBjbGFzcyBTaW5nbGVUZXN0UnVu
bmVyKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmYWlsdXJlcwogCiAgICAgZGVmIF9ydW5fcmVm
dGVzdChzZWxmKToKLSAgICAgICAgdGVzdF9vdXRwdXQgPSBzZWxmLl9kcml2ZXIucnVuX3Rlc3Qo
c2VsZi5fZHJpdmVyX2lucHV0KCkpCisgICAgICAgIHRlc3Rfb3V0cHV0ID0gc2VsZi5fZHJpdmVy
LnJ1bl90ZXN0KHNlbGYuX2RyaXZlcl9pbnB1dCgpLCBzZWxmLl9zdG9wX3doZW5fZG9uZSkKICAg
ICAgICAgdG90YWxfdGVzdF90aW1lID0gMAogICAgICAgICByZWZlcmVuY2Vfb3V0cHV0ID0gTm9u
ZQogICAgICAgICB0ZXN0X3Jlc3VsdCA9IE5vbmUKQEAgLTI5Myw3ICsyOTQsNyBAQCBjbGFzcyBT
aW5nbGVUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgIHB1dEFsbE1pc21hdGNoQmVmb3JlTWF0
Y2ggPSBzb3J0ZWQKICAgICAgICAgZm9yIGV4cGVjdGF0aW9uLCByZWZlcmVuY2VfZmlsZW5hbWUg
aW4gcHV0QWxsTWlzbWF0Y2hCZWZvcmVNYXRjaChzZWxmLl9yZWZlcmVuY2VfZmlsZXMpOgogICAg
ICAgICAgICAgcmVmZXJlbmNlX3Rlc3RfbmFtZSA9IHNlbGYuX3BvcnQucmVsYXRpdmVfdGVzdF9m
aWxlbmFtZShyZWZlcmVuY2VfZmlsZW5hbWUpCi0gICAgICAgICAgICByZWZlcmVuY2Vfb3V0cHV0
ID0gc2VsZi5fZHJpdmVyLnJ1bl90ZXN0KERyaXZlcklucHV0KHJlZmVyZW5jZV90ZXN0X25hbWUs
IHNlbGYuX3RpbWVvdXQsIHRlc3Rfb3V0cHV0LmltYWdlX2hhc2gsIHNob3VsZF9ydW5fcGl4ZWxf
dGVzdD1UcnVlKSkKKyAgICAgICAgICAgIHJlZmVyZW5jZV9vdXRwdXQgPSBzZWxmLl9kcml2ZXIu
cnVuX3Rlc3QoRHJpdmVySW5wdXQocmVmZXJlbmNlX3Rlc3RfbmFtZSwgc2VsZi5fdGltZW91dCwg
dGVzdF9vdXRwdXQuaW1hZ2VfaGFzaCwgc2hvdWxkX3J1bl9waXhlbF90ZXN0PVRydWUpLCBzZWxm
Ll9zdG9wX3doZW5fZG9uZSkKICAgICAgICAgICAgIHRlc3RfcmVzdWx0ID0gc2VsZi5fY29tcGFy
ZV9vdXRwdXRfd2l0aF9yZWZlcmVuY2UodGVzdF9vdXRwdXQsIHJlZmVyZW5jZV9vdXRwdXQsIHJl
ZmVyZW5jZV9maWxlbmFtZSwgZXhwZWN0YXRpb24gPT0gJyE9JykKIAogICAgICAgICAgICAgaWYg
KGV4cGVjdGF0aW9uID09ICchPScgYW5kIHRlc3RfcmVzdWx0LmZhaWx1cmVzKSBvciAoZXhwZWN0
YXRpb24gPT0gJz09JyBhbmQgbm90IHRlc3RfcmVzdWx0LmZhaWx1cmVzKToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCA4MGVkMmFh
MzcyYzkzMTI2OGJmMjI3NGI0MTY0MGQ4NDQ4Y2QwNjA3Li5jNmI1YzY4MDJhZmI3ZDczOTVkZGJm
MDYxN2ViMzU3MDM2NTA2YzFiIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC0xNTksNiArMTU5LDEyIEBAIGNsYXNzIFBvcnQob2Jq
ZWN0KToKICAgICAgICAgICAgIHJldHVybiA1MCAqIDEwMDAKICAgICAgICAgcmV0dXJuIDM1ICog
MTAwMAogCisgICAgZGVmIGRyaXZlcl9zdG9wX3RpbWVvdXQoc2VsZik6CisgICAgICAgICIiIiBS
ZXR1cm5zIHRoZSBhbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGtpbGxp
bmcgdGhlIHByb2Nlc3MgaW4gZHJpdmVyLnN0b3AoKS4iIiIKKyAgICAgICAgIyBXZSB3YW50IHRv
IHdhaXQgZm9yIGF0IGxlYXN0IDMgc2Vjb25kcywgYnV0IGlmIHdlIGFyZSByZWFsbHkgc2xvdywg
d2Ugd2FudCB0byBiZSBzbG93IG9uIGNsZWFudXAgYXMKKyAgICAgICAgIyB3ZWxsIChmb3IgdGhp
bmdzIGxpa2UgQVNBTiwgVmFsZ3JpbmQsIGV0Yy4pCisgICAgICAgIHJldHVybiAzLjAgKiBmbG9h
dChzZWxmLmdldF9vcHRpb24oJ3RpbWVfb3V0X21zJywgJzAnKSkgLyBzZWxmLmRlZmF1bHRfdGlt
ZW91dF9tcygpCisKICAgICBkZWYgd2RpZmZfYXZhaWxhYmxlKHNlbGYpOgogICAgICAgICBpZiBz
ZWxmLl93ZGlmZl9hdmFpbGFibGUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuX3dkaWZmX2F2
YWlsYWJsZSA9IHNlbGYuY2hlY2tfd2RpZmYobG9nZ2luZz1GYWxzZSkKQEAgLTExMDgsMTUgKzEx
MTQsNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgZGVmIGRlZmF1bHRfY29uZmlndXJhdGlv
bihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbmZpZy5kZWZhdWx0X2NvbmZpZ3VyYXRp
b24oKQogCi0gICAgZGVmIHByb2Nlc3Nfa2lsbF90aW1lKHNlbGYpOgotICAgICAgICAiIiIgUmV0
dXJucyB0aGUgYW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBraWxsaW5n
IHRoZSBwcm9jZXNzLgotCi0gICAgICAgIFdpdGhpbiBzZXJ2ZXJfcHJvY2Vzcy5zdG9wIHRoZXJl
IGlzIGEgdGltZSBkZWx0YSBiZWZvcmUgdGhlIHRlc3QgaXMgZXhwbGljdGx5Ci0gICAgICAgIGtp
bGxlZC4gQnkgY2hhbmdpbmcgdGhpcyB0aGUgdGltZSBjYW4gYmUgZXh0ZW5kZWQgaW4gY2FzZSB0
aGUgcHJvY2VzcyBuZWVkcwotICAgICAgICBtb3JlIHRpbWUgdG8gY2xlYW5seSBleGl0IG9uIGl0
cyBvd24uCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gMy4wCi0KICAgICAjCiAgICAgIyBQ
Uk9URUNURUQgUk9VVElORVMKICAgICAjCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKaW5kZXggNzEw
NmEyMGY1ZjI0NWY1OWFmZjZjNTZkNzg4ODcxNTU0MTI4ZjhjMC4uMjUwNzVjYjdkYjIwN2NmZTQ0
MjQwOTVjOWRlN2ZhNzVmMWE1OWUwOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weQpAQCAtMTcz
LDYgKzE3MywxMCBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVtLkNocm9taXVt
UG9ydCk6CiAgICAgICAgICMgbWFya2VkIGFzIHNsb3cgdGVzdHMgb24gZGVza3RvcCBwbGF0Zm9y
bXMuCiAgICAgICAgIHJldHVybiAxMCAqIDEwMDAKIAorICAgIGRlZiBkcml2ZXJfc3RvcF90aW1l
b3V0KHNlbGYpOgorICAgICAgICAjIERSVCBkb2Vzbid0IHJlc3BvbmQgdG8gY2xvc2luZyBzdGRp
biwgc28gd2UgbWlnaHQgYXMgd2VsbCBzdG9wIHRoZSBkcml2ZXIgaW1tZWRpYXRlbHkuCisgICAg
ICAgIHJldHVybiAwLjAKKwogICAgIGRlZiBkZWZhdWx0X2NoaWxkX3Byb2Nlc3NlcyhzZWxmKToK
ICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9nZXRfZGV2aWNlcygpKQogCkBAIC02NTcsMTUgKzY2
MSwxMCBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWREcml2ZXIoZHJpdmVyLkRyaXZlcik6CiAgICAg
ICAgICAgICBzZWxmLl9yZWFkX3N0ZGVycl9wcm9jZXNzLmtpbGwoKQogICAgICAgICAgICAgc2Vs
Zi5fcmVhZF9zdGRlcnJfcHJvY2VzcyA9IE5vbmUKIAotICAgICAgICAjIFN0b3AgYW5kIGtpbGwg
c2VydmVyX3Byb2Nlc3MgYmVjYXVzZSBvdXIgcGlwZSByZWFkaW5nL3dyaXRpbmcgcHJvY2Vzc2Vz
IHdvbid0IHF1aXQKLSAgICAgICAgIyBieSBpdHNlbGYgb24gY2xvc2Ugb2YgdGhlIHBpcGVzLgot
ICAgICAgICBpZiBzZWxmLl9zZXJ2ZXJfcHJvY2VzczoKLSAgICAgICAgICAgIHNlbGYuX3NlcnZl
cl9wcm9jZXNzLnN0b3Aoa2lsbF9kaXJlY3RseT1UcnVlKQotICAgICAgICAgICAgc2VsZi5fc2Vy
dmVyX3Byb2Nlc3MgPSBOb25lCiAgICAgICAgIHN1cGVyKENocm9taXVtQW5kcm9pZERyaXZlciwg
c2VsZikuc3RvcCgpCiAKICAgICAgICAgaWYgc2VsZi5fZm9yd2FyZGVyX3Byb2Nlc3M6Ci0gICAg
ICAgICAgICBzZWxmLl9mb3J3YXJkZXJfcHJvY2Vzcy5zdG9wKGtpbGxfZGlyZWN0bHk9VHJ1ZSkK
KyAgICAgICAgICAgIHNlbGYuX2ZvcndhcmRlcl9wcm9jZXNzLmtpbGwoKQogICAgICAgICAgICAg
c2VsZi5fZm9yd2FyZGVyX3Byb2Nlc3MgPSBOb25lCiAKICAgICAgICAgaWYgbm90IENocm9taXVt
QW5kcm9pZERyaXZlci5fbG9vcF93aXRoX3RpbWVvdXQoc2VsZi5fcmVtb3ZlX2FsbF9waXBlcywg
RFJUX1NUQVJUX1NUT1BfVElNRU9VVF9TRUNTKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXIucHkKaW5kZXggODUwNDk5NzBiZmNjZjRlODQw
MTJlOGJiOTQ1YmQxNzBhZjgzYjdhZi4uZDgzMmQ0MzI1MzE0NWNmNWFiNzViYWY4MzM4NWY2N2U1
NjRiMzJiYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9kcml2ZXIucHkKQEAgLTEzNiw3ICsxMzYsNyBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToK
ICAgICBkZWYgX19kZWxfXyhzZWxmKToKICAgICAgICAgc2VsZi5zdG9wKCkKIAotICAgIGRlZiBy
dW5fdGVzdChzZWxmLCBkcml2ZXJfaW5wdXQpOgorICAgIGRlZiBydW5fdGVzdChzZWxmLCBkcml2
ZXJfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKICAgICAgICAgIiIiUnVuIGEgc2luZ2xlIHRlc3Qg
YW5kIHJldHVybiB0aGUgcmVzdWx0cy4KIAogICAgICAgICBOb3RlIHRoYXQgaXQgaXMgb2theSBp
ZiBhIHRlc3QgdGltZXMgb3V0IG9yIGNyYXNoZXMgYW5kIGxlYXZlcwpAQCAtMTU4LDE0ICsxNTgs
MTkgQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAgICAgICAgIHRleHQsIGF1ZGlvID0gc2VsZi5f
cmVhZF9maXJzdF9ibG9jayhkZWFkbGluZSkgICMgRmlyc3QgYmxvY2sgaXMgZWl0aGVyIHRleHQg
b3IgYXVkaW8KICAgICAgICAgaW1hZ2UsIGFjdHVhbF9pbWFnZV9oYXNoID0gc2VsZi5fcmVhZF9v
cHRpb25hbF9pbWFnZV9ibG9jayhkZWFkbGluZSkgICMgVGhlIHNlY29uZCAob3B0aW9uYWwpIGJs
b2NrIGlzIGltYWdlIGRhdGEuCiAKLSAgICAgICAgIyBXZSBtYXkgbm90IGhhdmUgcmVhZCBhbGwg
b2YgdGhlIG91dHB1dCBpZiBhbiBlcnJvciAoY3Jhc2gpIG9jY3VyZWQuCi0gICAgICAgICMgU2lu
Y2Ugc29tZSBwbGF0Zm9ybXMgb3V0cHV0IHRoZSBzdGFja3RyYWNlIG92ZXIgZXJyb3IsIHdlIHNo
b3VsZAotICAgICAgICAjIGR1bXAgYW55IGJ1ZmZlcmVkIGVycm9yIGludG8gc2VsZi5lcnJvcl9m
cm9tX3Rlc3QuCi0gICAgICAgICMgRklYTUU6IFdlIG1heSBuZWVkIHRvIGFsc28gcmVhZCBzdGRl
cnIgdW50aWwgdGhlIHByb2Nlc3MgZGllcz8KLSAgICAgICAgc2VsZi5lcnJvcl9mcm9tX3Rlc3Qg
Kz0gc2VsZi5fc2VydmVyX3Byb2Nlc3MucG9wX2FsbF9idWZmZXJlZF9zdGRlcnIoKQorICAgICAg
ICBjcmFzaGVkID0gc2VsZi5oYXNfY3Jhc2hlZCgpCisgICAgICAgIHRpbWVkX291dCA9IHNlbGYu
X3NlcnZlcl9wcm9jZXNzLnRpbWVkX291dAorCisgICAgICAgIGlmIHN0b3Bfd2hlbl9kb25lIG9y
IGNyYXNoZWQgb3IgdGltZWRfb3V0OgorICAgICAgICAgICAgIyBXZSBjYWxsIHN0b3AoKSBldmVu
IGlmIHdlIGNyYXNoZWQgb3IgdGltZWQgb3V0IGluIG9yZGVyIHRvIGdldCBhbnkgcmVtYWluaW5n
IHN0ZG91dC9zdGRlcnIgb3V0cHV0LgorICAgICAgICAgICAgIyBJbiB0aGUgdGltZW91dCBjYXNl
LCB3ZSBraWxsIHRoZSBodW5nIHByb2Nlc3MgYXMgd2VsbC4KKyAgICAgICAgICAgIG91dCwgZXJy
ID0gc2VsZi5fc2VydmVyX3Byb2Nlc3Muc3RvcChzZWxmLl9wb3J0LmRyaXZlcl9zdG9wX3RpbWVv
dXQoKSBpZiBzdG9wX3doZW5fZG9uZSBlbHNlIDAuMCkKKyAgICAgICAgICAgIHRleHQgKz0gb3V0
CisgICAgICAgICAgICBzZWxmLmVycm9yX2Zyb21fdGVzdCArPSBlcnIKKyAgICAgICAgICAgIHNl
bGYuX3NlcnZlcl9wcm9jZXNzID0gTm9uZQogCiAgICAgICAgIGNyYXNoX2xvZyA9IE5vbmUKLSAg
ICAgICAgaWYgc2VsZi5oYXNfY3Jhc2hlZCgpOgorICAgICAgICBpZiBjcmFzaGVkOgogICAgICAg
ICAgICAgc2VsZi5lcnJvcl9mcm9tX3Rlc3QsIGNyYXNoX2xvZyA9IHNlbGYuX2dldF9jcmFzaF9s
b2codGV4dCwgc2VsZi5lcnJvcl9mcm9tX3Rlc3QsIG5ld2VyX3RoYW49c3RhcnRfdGltZSkKIAog
ICAgICAgICAgICAgIyBJZiB3ZSBkb24ndCBmaW5kIGEgY3Jhc2ggbG9nIHVzZSBhIHBsYWNlaG9s
ZGVyIGVycm9yIG1lc3NhZ2UgaW5zdGVhZC4KQEAgLTE3NSwxNSArMTgwLDkgQEAgY2xhc3MgRHJp
dmVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgc2VsZi5fc3VicHJvY2Vzc193YXNfdW5y
ZXNwb25zaXZlOgogICAgICAgICAgICAgICAgICAgICBjcmFzaF9sb2cgKz0gJyAgUHJvY2VzcyBm
YWlsZWQgdG8gYmVjb21lIHJlc3BvbnNpdmUgYmVmb3JlIHRpbWluZyBvdXQuJwogCi0gICAgICAg
IHRpbWVvdXQgPSBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy50aW1lZF9vdXQKLSAgICAgICAgaWYgdGlt
ZW91dDoKLSAgICAgICAgICAgICMgRFJUIGRvZXNuJ3QgaGF2ZSBhIGJ1aWx0IGluIHRpbWVyIHRv
IGFib3J0IHRoZSB0ZXN0LCBzbyB3ZSBtaWdodCBhcyB3ZWxsCi0gICAgICAgICAgICAjIGtpbGwg
dGhlIHByb2Nlc3MgZGlyZWN0bHkgYW5kIG5vdCB3YWl0IGZvciBpdCB0byBzaHV0IGRvd24gY2xl
YW5seSAoc2luY2UgaXQgbWF5IG5vdCkuCi0gICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2Vz
cy5raWxsKCkKLQogICAgICAgICByZXR1cm4gRHJpdmVyT3V0cHV0KHRleHQsIGltYWdlLCBhY3R1
YWxfaW1hZ2VfaGFzaCwgYXVkaW8sCi0gICAgICAgICAgICBjcmFzaD1zZWxmLmhhc19jcmFzaGVk
KCksIHRlc3RfdGltZT10aW1lLnRpbWUoKSAtIHRlc3RfYmVnaW5fdGltZSwKLSAgICAgICAgICAg
IHRpbWVvdXQ9dGltZW91dCwgZXJyb3I9c2VsZi5lcnJvcl9mcm9tX3Rlc3QsCisgICAgICAgICAg
ICBjcmFzaD1jcmFzaGVkLCB0ZXN0X3RpbWU9dGltZS50aW1lKCkgLSB0ZXN0X2JlZ2luX3RpbWUs
CisgICAgICAgICAgICB0aW1lb3V0PXRpbWVkX291dCwgZXJyb3I9c2VsZi5lcnJvcl9mcm9tX3Rl
c3QsCiAgICAgICAgICAgICBjcmFzaGVkX3Byb2Nlc3NfbmFtZT1zZWxmLl9jcmFzaGVkX3Byb2Nl
c3NfbmFtZSwKICAgICAgICAgICAgIGNyYXNoZWRfcGlkPXNlbGYuX2NyYXNoZWRfcGlkLCBjcmFz
aF9sb2c9Y3Jhc2hfbG9nKQogCkBAIC0yNzMsNyArMjcyLDcgQEAgY2xhc3MgRHJpdmVyKG9iamVj
dCk6CiAKICAgICBkZWYgc3RvcChzZWxmKToKICAgICAgICAgaWYgc2VsZi5fc2VydmVyX3Byb2Nl
c3M6Ci0gICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy5zdG9wKCkKKyAgICAgICAgICAg
IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnN0b3Aoc2VsZi5fcG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0
KCkpCiAgICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IE5vbmUKIAogICAgICAgICBp
ZiBzZWxmLl9kcml2ZXJfdGVtcGRpcjoKQEAgLTQ3NiwyMCArNDc1LDIwIEBAIGNsYXNzIERyaXZl
clByb3h5KG9iamVjdCk6CiAgICAgZGVmIHVyaV90b190ZXN0KHNlbGYsIHVyaSk6CiAgICAgICAg
IHJldHVybiBzZWxmLl9kcml2ZXIudXJpX3RvX3Rlc3QodXJpKQogCi0gICAgZGVmIHJ1bl90ZXN0
KHNlbGYsIGRyaXZlcl9pbnB1dCk6CisgICAgZGVmIHJ1bl90ZXN0KHNlbGYsIGRyaXZlcl9pbnB1
dCwgc3RvcF93aGVuX2RvbmUpOgogICAgICAgICBiYXNlID0gc2VsZi5fcG9ydC5sb29rdXBfdmly
dHVhbF90ZXN0X2Jhc2UoZHJpdmVyX2lucHV0LnRlc3RfbmFtZSkKICAgICAgICAgaWYgYmFzZToK
ICAgICAgICAgICAgIHZpcnR1YWxfZHJpdmVyX2lucHV0ID0gY29weS5jb3B5KGRyaXZlcl9pbnB1
dCkKICAgICAgICAgICAgIHZpcnR1YWxfZHJpdmVyX2lucHV0LnRlc3RfbmFtZSA9IGJhc2UKICAg
ICAgICAgICAgIHZpcnR1YWxfZHJpdmVyX2lucHV0LmFyZ3MgPSBzZWxmLl9wb3J0Lmxvb2t1cF92
aXJ0dWFsX3Rlc3RfYXJncyhkcml2ZXJfaW5wdXQudGVzdF9uYW1lKQotICAgICAgICAgICAgcmV0
dXJuIHNlbGYucnVuX3Rlc3QodmlydHVhbF9kcml2ZXJfaW5wdXQpCisgICAgICAgICAgICByZXR1
cm4gc2VsZi5ydW5fdGVzdCh2aXJ0dWFsX2RyaXZlcl9pbnB1dCwgc3RvcF93aGVuX2RvbmUpCiAK
ICAgICAgICAgcGl4ZWxfdGVzdHNfbmVlZGVkID0gZHJpdmVyX2lucHV0LnNob3VsZF9ydW5fcGl4
ZWxfdGVzdAogICAgICAgICBjbWRfbGluZV9rZXkgPSBzZWxmLl9jbWRfbGluZV9hc19rZXkocGl4
ZWxfdGVzdHNfbmVlZGVkLCBkcml2ZXJfaW5wdXQuYXJncykKICAgICAgICAgaWYgbm90IGNtZF9s
aW5lX2tleSBpbiBzZWxmLl9ydW5uaW5nX2RyaXZlcnM6CiAgICAgICAgICAgICBzZWxmLl9ydW5u
aW5nX2RyaXZlcnNbY21kX2xpbmVfa2V5XSA9IHNlbGYuX21ha2VfZHJpdmVyKHBpeGVsX3Rlc3Rz
X25lZWRlZCkKIAotICAgICAgICByZXR1cm4gc2VsZi5fcnVubmluZ19kcml2ZXJzW2NtZF9saW5l
X2tleV0ucnVuX3Rlc3QoZHJpdmVyX2lucHV0KQorICAgICAgICByZXR1cm4gc2VsZi5fcnVubmlu
Z19kcml2ZXJzW2NtZF9saW5lX2tleV0ucnVuX3Rlc3QoZHJpdmVyX2lucHV0LCBzdG9wX3doZW5f
ZG9uZSkKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgIyBGSVhNRTogQ2FsbGVycyBz
aG91bGRuJ3Qgbm9ybWFsbHkgY2FsbCB0aGlzLCBzaW5jZSB0aGlzIHJvdXRpbmUKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXJf
dW5pdHRlc3QucHkKaW5kZXggNWUyMDE5YjFiNjI1MTM1MTdlMjhjNTRmZmQ5Y2I1NWNiNWJlODlh
Mi4uMjQ1N2MyY2EwZjY1OGQ1ZmRhY2ZjOTlhYTcyNWIwODgxN2JkZmIxOCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXJfdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXJf
dW5pdHRlc3QucHkKQEAgLTE4Miw3ICsxODIsNyBAQCBjbGFzcyBEcml2ZXJUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgICAgIGRlZiBoYXNfY3Jhc2hlZChzZWxmKToKICAgICAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5jcmFzaGVkCiAKLSAgICAgICAgICAgIGRlZiBzdG9wKHNlbGYp
OgorICAgICAgICAgICAgZGVmIHN0b3Aoc2VsZiwgdGltZW91dCk6CiAgICAgICAgICAgICAgICAg
cGFzcwogCiAgICAgICAgIGRlZiBhc3NlcnRfY3Jhc2goZHJpdmVyLCBlcnJvcl9saW5lLCBjcmFz
aGVkLCBuYW1lLCBwaWQsIHVucmVzcG9uc2l2ZT1GYWxzZSk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpp
bmRleCBhYTFlMzAyNGZkZTVlMmEzMjE2YWE2ZmIyOWFkOTYzYzZmZGJkYzM3Li5jYzA2ZTVkODA1
ZTRkZjdjNTIzYTEzOGU1NTUzNGU3MDczNDI5YzY0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHkKQEAg
LTE0MCw3ICsxNDAsNyBAQCBjbGFzcyBTZXJ2ZXJQcm9jZXNzKG9iamVjdCk6CiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIHNlbGYuX3Byb2Muc3RkaW4ud3JpdGUoYnl0ZXMpCiAgICAgICAgIGV4
Y2VwdCBJT0Vycm9yLCBlOgotICAgICAgICAgICAgc2VsZi5zdG9wKCkKKyAgICAgICAgICAgIHNl
bGYuc3RvcCgwLjApCiAgICAgICAgICAgICAjIHN0b3AoKSBjYWxscyBfcmVzZXQoKSwgc28gd2Ug
aGF2ZSB0byBzZXQgY3Jhc2hlZCB0byBUcnVlIGFmdGVyIGNhbGxpbmcgc3RvcCgpLgogICAgICAg
ICAgICAgc2VsZi5fY3Jhc2hlZCA9IFRydWUKIApAQCAtMjE4LDcgKzIxOCw3IEBAIGNsYXNzIFNl
cnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgZXJyX2ZkID0gc2VsZi5fcHJvYy5zdGRlcnIu
ZmlsZW5vKCkKICAgICAgICAgc2VsZWN0X2ZkcyA9IChvdXRfZmQsIGVycl9mZCkKICAgICAgICAg
dHJ5OgotICAgICAgICAgICAgcmVhZF9mZHMsIF8sIF8gPSBzZWxlY3Quc2VsZWN0KHNlbGVjdF9m
ZHMsIFtdLCBzZWxlY3RfZmRzLCBkZWFkbGluZSAtIHRpbWUudGltZSgpKQorICAgICAgICAgICAg
cmVhZF9mZHMsIF8sIF8gPSBzZWxlY3Quc2VsZWN0KHNlbGVjdF9mZHMsIFtdLCBzZWxlY3RfZmRz
LCBtYXgoZGVhZGxpbmUgLSB0aW1lLnRpbWUoKSwgMCkpCiAgICAgICAgIGV4Y2VwdCBzZWxlY3Qu
ZXJyb3IsIGU6CiAgICAgICAgICAgICAjIFdlIGNhbiBpZ25vcmUgRUlOVkFMIHNpbmNlIGl0J3Mg
bGlrZWx5IHRoZSBwcm9jZXNzIGp1c3QgY3Jhc2hlZCBhbmQgd2UnbGwKICAgICAgICAgICAgICMg
ZmlndXJlIHRoYXQgb3V0IHRoZSBuZXh0IHRpbWUgdGhyb3VnaCB0aGUgbG9vcCBpbiBfcmVhZCgp
LgpAQCAtMzA3LDQxICszMDcsNDQgQEAgY2xhc3MgU2VydmVyUHJvY2VzcyhvYmplY3QpOgogICAg
ICAgICBpZiBub3Qgc2VsZi5fcHJvYzoKICAgICAgICAgICAgIHNlbGYuX3N0YXJ0KCkKIAotICAg
IGRlZiBzdG9wKHNlbGYsIGtpbGxfZGlyZWN0bHk9RmFsc2UpOgorICAgIGRlZiBzdG9wKHNlbGYs
IHRpbWVvdXRfc2Vjcz0zLjApOgogICAgICAgICBpZiBub3Qgc2VsZi5fcHJvYzoKLSAgICAgICAg
ICAgIHJldHVybgorICAgICAgICAgICAgcmV0dXJuIChOb25lLCBOb25lKQogCi0gICAgICAgICMg
T25seSBib3RoZXIgdG8gY2hlY2sgZm9yIGxlYWtzIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1
bm5pbmcuCisgICAgICAgICMgT25seSBib3RoZXIgdG8gY2hlY2sgZm9yIGxlYWtzIG9yIHN0ZGVy
ciBpZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nLgogICAgICAgICBpZiBzZWxmLnBvbGwo
KSBpcyBOb25lOgogICAgICAgICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2VsZi5u
YW1lKCksIHNlbGYucGlkKCkpCiAKKyAgICAgICAgbm93ID0gdGltZS50aW1lKCkKICAgICAgICAg
c2VsZi5fcHJvYy5zdGRpbi5jbG9zZSgpCi0gICAgICAgIHNlbGYuX3Byb2Muc3Rkb3V0LmNsb3Nl
KCkKLSAgICAgICAgaWYgc2VsZi5fcHJvYy5zdGRlcnI6Ci0gICAgICAgICAgICBzZWxmLl9wcm9j
LnN0ZGVyci5jbG9zZSgpCi0KLSAgICAgICAgaWYga2lsbF9kaXJlY3RseToKLSAgICAgICAgICAg
IHNlbGYua2lsbCgpCisgICAgICAgIGlmIG5vdCB0aW1lb3V0X3NlY3M6CisgICAgICAgICAgICBz
ZWxmLl9raWxsKCkKICAgICAgICAgZWxpZiBub3Qgc2VsZi5faG9zdC5wbGF0Zm9ybS5pc193aW4o
KToKLSAgICAgICAgICAgICMgQ2xvc2luZyBzdGRpbi9zdGRvdXQvc3RkZXJyIGhhbmdzIHNvbWV0
aW1lcyBvbiBPUyBYLAotICAgICAgICAgICAgIyBhbmQgYW55d2F5IHdlIGRvbid0IHdhbnQgdG8g
aGFuZyB0aGUgaGFybmVzcyBpZiBEdW1wUmVuZGVyVHJlZQotICAgICAgICAgICAgIyBpcyBidWdn
eSwgc28gd2Ugd2FpdCBhIGNvdXBsZSBzZWNvbmRzIHRvIGdpdmUgRHVtcFJlbmRlclRyZWUgYQot
ICAgICAgICAgICAgIyBjaGFuY2UgdG8gY2xlYW4gdXAsIGJ1dCB0aGVuIGZvcmNlLWtpbGwgdGhl
IHByb2Nlc3MgaWYgbmVjZXNzYXJ5LgotICAgICAgICAgICAgdGltZW91dCA9IHRpbWUudGltZSgp
ICsgc2VsZi5fcG9ydC5wcm9jZXNzX2tpbGxfdGltZSgpCi0gICAgICAgICAgICB3aGlsZSBzZWxm
Ll9wcm9jLnBvbGwoKSBpcyBOb25lIGFuZCB0aW1lLnRpbWUoKSA8IHRpbWVvdXQ6CisgICAgICAg
ICAgICAjIEZJWE1FOiBXaHkgYXJlbid0IHdlIGNhbGxpbmcgdGhpcyBvbiB3aW4/CisgICAgICAg
ICAgICBkZWFkbGluZSA9IG5vdyArIHRpbWVvdXRfc2VjcworICAgICAgICAgICAgd2hpbGUgc2Vs
Zi5fcHJvYy5wb2xsKCkgaXMgTm9uZSBhbmQgdGltZS50aW1lKCkgPCBkZWFkbGluZToKICAgICAg
ICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCiAgICAgICAgICAgICBpZiBzZWxmLl9wcm9jLnBv
bGwoKSBpcyBOb25lOgogICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygnc3RvcHBpbmcgJXMg
dGltZWQgb3V0LCBraWxsaW5nIGl0JyAlIHNlbGYuX25hbWUpCi0gICAgICAgICAgICAgICAgc2Vs
Zi5raWxsKCkKKyAgICAgICAgICAgICAgICBzZWxmLl9raWxsKCkKICAgICAgICAgICAgICAgICBf
bG9nLndhcm5pbmcoJ2tpbGxlZCcpCisKKyAgICAgICAgIyByZWFkIGFueSByZW1haW5pbmcgZGF0
YSBvbiB0aGUgcGlwZXMgYW5kIHJldHVybiBpdC4KKyAgICAgICAgaWYgc2VsZi5fdXNlX3dpbjMy
X2FwaXM6CisgICAgICAgICAgICBzZWxmLl93YWl0X2Zvcl9kYXRhX2FuZF91cGRhdGVfYnVmZmVy
c191c2luZ193aW4zMl9hcGlzKG5vdykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
X3dhaXRfZm9yX2RhdGFfYW5kX3VwZGF0ZV9idWZmZXJzX3VzaW5nX3NlbGVjdChub3cpCisgICAg
ICAgIG91dCwgZXJyID0gc2VsZi5fb3V0cHV0LCBzZWxmLl9lcnJvcgogICAgICAgICBzZWxmLl9y
ZXNldCgpCisgICAgICAgIHJldHVybiAob3V0LCBlcnIpCiAKICAgICBkZWYga2lsbChzZWxmKToK
LSAgICAgICAgaWYgc2VsZi5fcHJvYzoKLSAgICAgICAgICAgIHNlbGYuX2hvc3QuZXhlY3V0aXZl
LmtpbGxfcHJvY2VzcyhzZWxmLl9wcm9jLnBpZCkKLSAgICAgICAgICAgIGlmIHNlbGYuX3Byb2Mu
cG9sbCgpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Mud2FpdCgpCi0g
ICAgICAgICAgICBzZWxmLl9yZXNldCgpCisgICAgICAgIHNlbGYuc3RvcCgwLjApCisKKyAgICBk
ZWYgX2tpbGwoc2VsZik6CisgICAgICAgIHNlbGYuX2hvc3QuZXhlY3V0aXZlLmtpbGxfcHJvY2Vz
cyhzZWxmLl9wcm9jLnBpZCkKKyAgICAgICAgaWYgc2VsZi5fcHJvYy5wb2xsKCkgaXMgbm90IE5v
bmU6CisgICAgICAgICAgICBzZWxmLl9wcm9jLndhaXQoKQogCiAgICAgZGVmIHJlcGxhY2Vfb3V0
cHV0cyhzZWxmLCBzdGRvdXQsIHN0ZGVycik6CiAgICAgICAgIGFzc2VydCBzZWxmLl9wcm9jCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZl
cl9wcm9jZXNzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQppbmRleCBkYjM4NjE1ZTAxMWNkM2I3
NTU5YjkxMzU0M2IwMTQ0YzQwYTNjN2ViLi40OGM0MWU2ZjI4N2RkNWM1ODViNmRkMjZlZDBkZDkw
N2RjMjFlZWFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKQEAgLTQx
LDYgKzQxLDggQEAgZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLm91dHB1dGNhcHR1cmUgaW1w
b3J0IE91dHB1dENhcHR1cmUKIGNsYXNzIFRyaXZpYWxNb2NrUG9ydChvYmplY3QpOgogICAgIGRl
ZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi5ob3N0ID0gTW9ja1N5c3RlbUhvc3QoKQor
ICAgICAgICBzZWxmLmhvc3QuZXhlY3V0aXZlLmtpbGxfcHJvY2VzcyA9IGxhbWJkYSB4OiBOb25l
CisgICAgICAgIHNlbGYuaG9zdC5leGVjdXRpdmUua2lsbF9wcm9jZXNzID0gbGFtYmRhIHg6IE5v
bmUKIAogICAgIGRlZiByZXN1bHRzX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuICIv
bW9jay1yZXN1bHRzIgpAQCAtNzcsNiArNzksOSBAQCBjbGFzcyBNb2NrUHJvYyhvYmplY3QpOgog
ICAgIGRlZiBwb2xsKHNlbGYpOgogICAgICAgICByZXR1cm4gMQogCisgICAgZGVmIHdhaXQoc2Vs
Zik6CisgICAgICAgIHJldHVybiAwCisKIAogY2xhc3MgRmFrZVNlcnZlclByb2Nlc3Moc2VydmVy
X3Byb2Nlc3MuU2VydmVyUHJvY2Vzcyk6CiAgICAgZGVmIF9zdGFydChzZWxmKToKQEAgLTExNCw3
ICsxMTksNyBAQCBjbGFzcyBUZXN0U2VydmVyUHJvY2Vzcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIGlmIGxpbmU6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhsaW5lLnN0cmlw
KCksICJzdGRlcnIiKQogCi0gICAgICAgIHByb2Muc3RvcCgpCisgICAgICAgIHByb2Muc3RvcCgw
KQogCiAgICAgZGVmIHRlc3RfYnJva2VuX3BpcGUoc2VsZik6CiAgICAgICAgIHBvcnRfb2JqID0g
VHJpdmlhbE1vY2tQb3J0KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvdGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvdGVzdC5weQppbmRleCA2MzAyMTIwZDI2NmQxNjUwNGM1ZGM0MjhlNWZmN2JkNGMw
MjgyYzU5Li5jY2NiOWFjMWQ5MDZmNmU4ZTgwZTU5NGNiM2EyNDcwMjMzNGVjMmFhIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CkBAIC01
MjUsNyArNTI1LDcgQEAgY2xhc3MgVGVzdERyaXZlcihEcml2ZXIpOgogICAgICAgICBwaXhlbF90
ZXN0c19mbGFnID0gJy1wJyBpZiBwaXhlbF90ZXN0cyBlbHNlICcnCiAgICAgICAgIHJldHVybiBb
c2VsZi5fcG9ydC5fcGF0aF90b19kcml2ZXIoKV0gKyBbcGl4ZWxfdGVzdHNfZmxhZ10gKyBzZWxm
Ll9wb3J0LmdldF9vcHRpb24oJ2FkZGl0aW9uYWxfZHJ0X2ZsYWcnLCBbXSkgKyBwZXJfdGVzdF9h
cmdzCiAKLSAgICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGVzdF9pbnB1dCk6CisgICAgZGVmIHJ1bl90
ZXN0KHNlbGYsIHRlc3RfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKICAgICAgICAgc3RhcnRfdGlt
ZSA9IHRpbWUudGltZSgpCiAgICAgICAgIHRlc3RfbmFtZSA9IHRlc3RfaW5wdXQudGVzdF9uYW1l
CiAgICAgICAgIHRlc3RfYXJncyA9IHRlc3RfaW5wdXQuYXJncyBvciBbXQpAQCAtNTYzLDYgKzU2
Myw5IEBAIGNsYXNzIFRlc3REcml2ZXIoRHJpdmVyKToKICAgICAgICAgICAgIGNyYXNoX2xvZ3Mg
PSBDcmFzaExvZ3Moc2VsZi5fcG9ydC5ob3N0KQogICAgICAgICAgICAgY3Jhc2hfbG9nID0gY3Jh
c2hfbG9ncy5maW5kX25ld2VzdF9sb2coY3Jhc2hlZF9wcm9jZXNzX25hbWUsIE5vbmUpIG9yICcn
CiAKKyAgICAgICAgaWYgc3RvcF93aGVuX2RvbmU6CisgICAgICAgICAgICBzZWxmLnN0b3AoKQor
CiAgICAgICAgIHJldHVybiBEcml2ZXJPdXRwdXQoYWN0dWFsX3RleHQsIHRlc3QuYWN0dWFsX2lt
YWdlLCB0ZXN0LmFjdHVhbF9jaGVja3N1bSwgYXVkaW8sCiAgICAgICAgICAgICBjcmFzaD10ZXN0
LmNyYXNoIG9yIHRlc3Qud2ViX3Byb2Nlc3NfY3Jhc2gsIGNyYXNoZWRfcHJvY2Vzc19uYW1lPWNy
YXNoZWRfcHJvY2Vzc19uYW1lLAogICAgICAgICAgICAgY3Jhc2hlZF9waWQ9Y3Jhc2hlZF9waWQs
IGNyYXNoX2xvZz1jcmFzaF9sb2csCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRp
b250ZXN0LnB5CmluZGV4IGVjYjU4Yjg5ZGE4MGYzZTEzMjdhMTU0MzgzOTA4MTI4OWZjYmNlYzku
LjFmMzU4NTdjNGM3MzA3ZjNlYmQ0Mzc0MjA1NTMwNjA0YjY2MDBjYTIgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdy
YXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0xNDcsNyArMTQ3LDcgQEAgZGVm
IGdldF90ZXN0c19ydW4oZXh0cmFfYXJncz1Ob25lLCB0ZXN0c19pbmNsdWRlZD1GYWxzZSwgZmxh
dHRlbl9iYXRjaGVzPUZhbHNlLAogICAgICAgICBkZWYgc3RvcChzZWxmKToKICAgICAgICAgICAg
IHNlbGYuX2N1cnJlbnRfdGVzdF9iYXRjaCA9IE5vbmUKIAotICAgICAgICBkZWYgcnVuX3Rlc3Qo
c2VsZiwgdGVzdF9pbnB1dCk6CisgICAgICAgIGRlZiBydW5fdGVzdChzZWxmLCB0ZXN0X2lucHV0
LCBzdG9wX3doZW5fZG9uZSk6CiAgICAgICAgICAgICBpZiBzZWxmLl9jdXJyZW50X3Rlc3RfYmF0
Y2ggaXMgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLl9jdXJyZW50X3Rlc3RfYmF0Y2ggPSBb
XQogICAgICAgICAgICAgICAgIHRlc3RfYmF0Y2hlcy5hcHBlbmQoc2VsZi5fY3VycmVudF90ZXN0
X2JhdGNoKQpAQCAtMTU5LDcgKzE1OSw3IEBAIGRlZiBnZXRfdGVzdHNfcnVuKGV4dHJhX2FyZ3M9
Tm9uZSwgdGVzdHNfaW5jbHVkZWQ9RmFsc2UsIGZsYXR0ZW5fYmF0Y2hlcz1GYWxzZSwKICAgICAg
ICAgICAgIGRpcm5hbWUsIGZpbGVuYW1lID0gZmlsZXN5c3RlbS5zcGxpdCh0ZXN0X25hbWUpCiAg
ICAgICAgICAgICBpZiBpbmNsdWRlX3JlZmVyZW5jZV9odG1sIG9yIG5vdCBQb3J0LmlzX3JlZmVy
ZW5jZV9odG1sX2ZpbGUoZmlsZXN5c3RlbSwgZGlybmFtZSwgZmlsZW5hbWUpOgogICAgICAgICAg
ICAgICAgIHNlbGYuX2N1cnJlbnRfdGVzdF9iYXRjaC5hcHBlbmQodGVzdF9uYW1lKQotICAgICAg
ICAgICAgcmV0dXJuIFRlc3REcml2ZXIucnVuX3Rlc3Qoc2VsZiwgdGVzdF9pbnB1dCkKKyAgICAg
ICAgICAgIHJldHVybiBUZXN0RHJpdmVyLnJ1bl90ZXN0KHNlbGYsIHRlc3RfaW5wdXQsIHN0b3Bf
d2hlbl9kb25lKQogCiAgICAgY2xhc3MgUmVjb3JkaW5nVGVzdFBvcnQoVGVzdFBvcnQpOgogICAg
ICAgICBkZWYgY3JlYXRlX2RyaXZlcihzZWxmLCB3b3JrZXJfbnVtYmVyKToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5CmluZGV4
IGIxMTFjOWI0YmM5M2E2Y2I2N2NhOTcyYWE3ZGNmNzY3ZDdhNTNhNjQuLmQ2ZjdiNzZjMzgxNjAx
MTBhZGQwN2UwOGExYTljYTNhZDVlNDgxYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdC5weQpAQCAtNzQsNyArNzQsNyBAQCBj
bGFzcyBQZXJmVGVzdChvYmplY3QpOgogICAgICAgICByZXR1cm4gc2VsZi5wYXJzZV9vdXRwdXQo
b3V0cHV0KQogCiAgICAgZGVmIHJ1bl9zaW5nbGUoc2VsZiwgZHJpdmVyLCBwYXRoX29yX3VybCwg
dGltZV9vdXRfbXMsIHNob3VsZF9ydW5fcGl4ZWxfdGVzdD1GYWxzZSk6Ci0gICAgICAgIHJldHVy
biBkcml2ZXIucnVuX3Rlc3QoRHJpdmVySW5wdXQocGF0aF9vcl91cmwsIHRpbWVfb3V0X21zLCBp
bWFnZV9oYXNoPU5vbmUsIHNob3VsZF9ydW5fcGl4ZWxfdGVzdD1zaG91bGRfcnVuX3BpeGVsX3Rl
c3QpKQorICAgICAgICByZXR1cm4gZHJpdmVyLnJ1bl90ZXN0KERyaXZlcklucHV0KHBhdGhfb3Jf
dXJsLCB0aW1lX291dF9tcywgaW1hZ2VfaGFzaD1Ob25lLCBzaG91bGRfcnVuX3BpeGVsX3Rlc3Q9
c2hvdWxkX3J1bl9waXhlbF90ZXN0KSwgc3RvcF93aGVuX2RvbmU9RmFsc2UpCiAKICAgICBkZWYg
cnVuX2ZhaWxlZChzZWxmLCBvdXRwdXQpOgogICAgICAgICBpZiBvdXRwdXQudGV4dCA9PSBOb25l
IG9yIG91dHB1dC5lcnJvcjoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0LnB5CmluZGV4IDQ3ZmU2MjMx
YzNhOGYwMGFiZDY1Njg2OTAzMzhiZDM2YWVlN2E1MzEuLjNiN2M2MDljZTgyYzM3ZjhlZjUxNzk0
Njk3ZmI1MTZiZTdhZDBkNjUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdF91bml0dGVzdC5weQpAQCAtOTksNyAr
OTksNyBAQCBjbGFzcyBUZXN0UGFnZUxvYWRpbmdQZXJmVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgICAgICBzZWxmLl92YWx1ZXMgPSB2YWx1ZXMKICAgICAgICAgICAgIHNlbGYuX2lu
ZGV4ID0gMAogCi0gICAgICAgIGRlZiBydW5fdGVzdChzZWxmLCBpbnB1dCk6CisgICAgICAgIGRl
ZiBydW5fdGVzdChzZWxmLCBpbnB1dCwgc3RvcF93aGVuX2RvbmUpOgogICAgICAgICAgICAgdmFs
dWUgPSBzZWxmLl92YWx1ZXNbc2VsZi5faW5kZXhdCiAgICAgICAgICAgICBzZWxmLl9pbmRleCAr
PSAxCiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgpAQCAtMTQxLDggKzE0
MSw4IEBAIGNsYXNzIFRlc3RSZXBsYXlQZXJmVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjdXN0b21fcnVuX3Rlc3Q9Tm9uZSk6CiAKICAgICAgICAg
ICAgIGNsYXNzIFJlcGxheVRlc3REcml2ZXIoVGVzdERyaXZlcik6Ci0gICAgICAgICAgICAgICAg
ZGVmIHJ1bl90ZXN0KHNlbGYsIHRleHRfaW5wdXQpOgotICAgICAgICAgICAgICAgICAgICByZXR1
cm4gY3VzdG9tX3J1bl90ZXN0KHRleHRfaW5wdXQpIGlmIGN1c3RvbV9ydW5fdGVzdCBlbHNlIE5v
bmUKKyAgICAgICAgICAgICAgICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGV4dF9pbnB1dCwgc3RvcF93
aGVuX2RvbmUpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VzdG9tX3J1bl90ZXN0KHRl
eHRfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKSBpZiBjdXN0b21fcnVuX3Rlc3QgZWxzZSBOb25lCiAK
ICAgICAgICAgICAgIHNlbGYuX2N1c3RvbV9kcml2ZXJfY2xhc3MgPSBSZXBsYXlUZXN0RHJpdmVy
CiAgICAgICAgICAgICBzdXBlcihzZWxmLl9fY2xhc3NfXywgc2VsZikuX19pbml0X18oaG9zdD1N
b2NrSG9zdCgpKQpAQCAtMTc0LDcgKzE3NCw3IEBAIGNsYXNzIFRlc3RSZXBsYXlQZXJmVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgbG9hZGVkX3BhZ2VzID0gW10KIAotICAgICAg
ICBkZWYgcnVuX3Rlc3QodGVzdF9pbnB1dCk6CisgICAgICAgIGRlZiBydW5fdGVzdCh0ZXN0X2lu
cHV0LCBzdG9wX3doZW5fZG9uZSk6CiAgICAgICAgICAgICBpZiB0ZXN0X2lucHV0LnRlc3RfbmFt
ZSAhPSAiYWJvdXQ6YmxhbmsiOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVz
dF9pbnB1dC50ZXN0X25hbWUsICdodHRwOi8vc29tZS10ZXN0LycpCiAgICAgICAgICAgICBsb2Fk
ZWRfcGFnZXMuYXBwZW5kKHRlc3RfaW5wdXQpCkBAIC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgVGVz
dFJlcGxheVBlcmZUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBsb2FkZWRfcGFn
ZXMgPSBbXQogCi0gICAgICAgIGRlZiBydW5fdGVzdCh0ZXN0X2lucHV0KToKKyAgICAgICAgZGVm
IHJ1bl90ZXN0KHRlc3RfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKICAgICAgICAgICAgIGxvYWRl
ZF9wYWdlcy5hcHBlbmQodGVzdF9pbnB1dCkKICAgICAgICAgICAgIHNlbGYuX2FkZF9maWxlKHBv
cnQsICcvcGF0aC9zb21lLWRpcicsICdzb21lLXRlc3Qud3ByJywgJ3dwciBjb250ZW50JykKICAg
ICAgICAgICAgIHJldHVybiBEcml2ZXJPdXRwdXQoJ2FjdHVhbCB0ZXh0JywgJ2FjdHVhbCBpbWFn
ZScsICdhY3R1YWwgY2hlY2tzdW0nLApAQCAtMjcwLDcgKzI3MCw3IEBAIGNsYXNzIFRlc3RSZXBs
YXlQZXJmVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIG91dHB1dF9jYXB0dXJlID0g
T3V0cHV0Q2FwdHVyZSgpCiAgICAgICAgIG91dHB1dF9jYXB0dXJlLmNhcHR1cmVfb3V0cHV0KCkK
IAotICAgICAgICBkZWYgcnVuX3Rlc3QodGVzdF9pbnB1dCk6CisgICAgICAgIGRlZiBydW5fdGVz
dCh0ZXN0X2lucHV0LCBzdG9wX3doZW5fZG9uZSk6CiAgICAgICAgICAgICBzZWxmLl9hZGRfZmls
ZShwb3J0LCAnL3BhdGgvc29tZS1kaXInLCAnc29tZS10ZXN0LndwcicsICd3cHIgY29udGVudCcp
CiAgICAgICAgICAgICByZXR1cm4gRHJpdmVyT3V0cHV0KCdhY3R1YWwgdGV4dCcsICdhY3R1YWwg
aW1hZ2UnLCAnYWN0dWFsIGNoZWNrc3VtJywKICAgICAgICAgICAgICAgICBhdWRpbz1Ob25lLCBj
cmFzaD1GYWxzZSwgdGltZW91dD1GYWxzZSwgZXJyb3I9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RzcnVubmVyX3VuaXR0ZXN0LnB5CmluZGV4IGVmNDU5Y2Q2OTIwNTZmMGZlNDY5NjNkNDI5YmY4
OGFiMDJkOGYxNmMuLmY0MTI2YjgzOWMwYjc0YmRjNGYyNWZmNjIwMTBhYTA5N2NjZDcwMGEgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RzcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9y
bWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5CkBAIC00OSw3ICs0OSw3IEBA
IGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoc3RyZWFtLmJ1Zmxpc3QsIGNvbnRlbnRzKQogCiAgICAgY2xhc3MgVGVzdERyaXZlcjoK
LSAgICAgICAgZGVmIHJ1bl90ZXN0KHNlbGYsIGRyaXZlcl9pbnB1dCk6CisgICAgICAgIGRlZiBy
dW5fdGVzdChzZWxmLCBkcml2ZXJfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKToKICAgICAgICAgICAg
IHRleHQgPSAnJwogICAgICAgICAgICAgdGltZW91dCA9IEZhbHNlCiAgICAgICAgICAgICBjcmFz
aCA9IEZhbHNlCg==
</data>
<flag name="review"
          id="168551"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>