<?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>123723</bug_id>
          
          <creation_ts>2013-11-04 00:48:16 -0800</creation_ts>
          <short_desc>Fix JSON generations on new flakiness dashboard</short_desc>
          <delta_ts>2013-11-04 01:14:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Website</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>946568</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-11-04 00:48:16 -0800</bug_when>
    <thetext>I had to temporarily disable JSON generation on the new flakiness dashboard because it was taking too long.

Fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946572</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-11-04 00:52:17 -0800</bug_when>
    <thetext>It still takes ~3 minutes to generate JSONs but at least it won&apos;t end up eating up all the memory space and get killed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946576</commentid>
    <comment_count>2</comment_count>
      <attachid>215896</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-11-04 01:10:10 -0800</bug_when>
    <thetext>Created attachment 215896
Fixes the critical bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946578</commentid>
    <comment_count>3</comment_count>
      <attachid>215896</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-11-04 01:13:00 -0800</bug_when>
    <thetext>Comment on attachment 215896
Fixes the critical bug

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946579</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-11-04 01:14:13 -0800</bug_when>
    <thetext>Committed r158565: &lt;http://trac.webkit.org/changeset/158565&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215896</attachid>
            <date>2013-11-04 01:10:10 -0800</date>
            <delta_ts>2013-11-04 01:13:00 -0800</delta_ts>
            <desc>Fixes the critical bug</desc>
            <filename>bug-123723-20131104011010.patch</filename>
            <type>text/plain</type>
            <size>25682</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvdGVzdC1yZXN1bHRzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NTYzKQorKysgV2Vic2l0
ZXMvdGVzdC1yZXN1bHRzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEzLTExLTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IEZpeCBKU09OIGdlbmVyYXRpb25zIG9uIG5ldyBmbGFraW5lc3MgZGFzaGJvYXJkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM3MjMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaXNfZmxha3kgY29s
dW1uIG9uIHJlc3VsdHMgdGFibGUgc28gdGhhdCB0aGlzIGNvbHVtbiBjYW4gYmUgdXNlZCB0byBm
aW5kIGZsYWt5IHRlc3RzIG9uIGEgZ2l2ZW4gYnVpbGRlcgorICAgICAgICBlZmZpY2llbnRseSB3
aXRob3V0IGhhdmluZyB0byB0aHJvdWdoIHJlc3VsdHMgZm9yIGFsbCB0ZXN0cyBpbiBQSFAuIFRo
aXMgY29sdW1uIGlzIHVwZGF0ZWQgaW4gcmVwb3J0LnBocAorICAgICAgICB3aGVuIGEgbmV3IGJ1
aWxkIGlzIGFkZGVkLiBCZWNhdXNlIGlzX2ZsYWt5IGRlcGVuZHMgb24gdGhlIHByZWNlZGluZyBh
bmQgc3VjY2VlZGluZyByZXN1bHRzLCB3ZSBtdXN0IHVwZGF0ZQorICAgICAgICBpc19mbGFreSBm
bGFnIG9uIHJlc3VsdHMgZm9yIGJ1aWxkcyBpbW1lZGlhdGVseSBiZWZvcmUgYW5kIGFmdGVyIHRo
ZSBuZXcgYnVpbGQgYXMgd2VsbC4KKworICAgICAgICBUbyBzZWUgd2h5LCBzdXBwb3NlIHdlIGhh
ZCB0d28gY29uc2VjdXRpdmUgcmVzdWx0cyBbUEFTU10gW1BBU1NdLiBJZiB3ZSB3ZXJlIHRvIGlu
c2VydCBbRkFJTF0gcmVzdWx0IGJldHdlZW4KKyAgICAgICAgdGhlIHR3bywgdGhvc2UgdHdvIHJl
c3VsdHMgbWF5IGFsc28gdHVybiBpbnRvIGZsYWt5IHJlc3VsdHMgaWYgdGhleSB3ZXJlIHN1cnJv
dW5kZWQgYnkgW0ZBSUxdLiBTaW1pbGFybHksCisgICAgICAgIGlmIHdlIGhhZCBbUEFTU10gW0ZB
SUxdIGFuZCB0aGUgc2Vjb25kIHJlc3VsdCB3YXMgbWFya2VkIGZsYWt5LCBpbnNlcnRpbmcgbmV3
IFtGQUlMXSBtdXN0IHVubWFyayBpdC4KKworCisgICAgICAgICogaW5pdC1kYXRhYmFzZS5zcWw6
IEFkZGVkIGlzX2ZsYWt5IGNvbHVtbiB0byByZXN1bHRzIHRhYmxlIHdpdGggYW4gaW5kZXguIEFs
c28gYWRkZWQgYW4gaW5kZXggb24KKyAgICAgICAgYnVpbGRfcmV2aXNpb25zLnRpbWUgYXMgbWFu
eSBxdWVyaWVzIGZpbHRlciByZXN1bHRzIGJ5IHRoaXMgcXVhbnRpdHkuIEFsc28gc2V0IHRoZSB3
b3JrX21lbSB0byA1ME1CIGF2b2lkCisgICAgICAgIGRpc2sgdGhyYXNoaW5nIHdoaWxlIHNvcnRp
bmcgcmVzdWx0cyBpbiB2YXJpb3VzIHF1ZXJpZXMuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL2Zh
aWxpbmctdGVzdHMucGhwOiBIYW5kbGUgYnVpbGRlciBpZHMgYXMgd2VsbCBhcyBuYW1lcy4gQ2Fs
bCBnZW5lcmF0ZSgpIHdpdGggZmFpbHVyZSB0eXBlcy4KKyAgICAgICAgTm8gbG9uZ2VyIGdlbmVy
YXRlcyAqLWZhaWxpbmcuanNvbiBzaW5jZSBpdCdzIGEgc3Vic2V0IG9mICotd3JvbmdleHBlY3Rh
dGlvbnMuanNvbiB0byBzYXZlIHRpbWUuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3JlcG9ydC5w
aHA6IFJld3JpdHRlbi4gQ2FsbHMgdXBkYXRlX2ZsYWtpbmVzc19hZnRlcl9pbnNlcnRpbmdfYnVp
bGQgdG8gdXBkYXRlIGlzX2ZsYWt5IGZsYWdzCisgICAgICAgIG9uIHRoZSBuZXdseSBhZGRlZCBy
ZXN1bHRzLgorICAgICAgICAoc3RvcmVfcmVzdWx0cyk6IEFkZGVkLgorICAgICAgICAobWFpbik6
IEFkZGVkLgorCisgICAgICAgICogcHVibGljL2luY2x1ZGUvdGVzdC1yZXN1bHRzLnBocDoKKyAg
ICAgICAgKFJlc3VsdHNKU09OV3JpdGVyKToKKyAgICAgICAgKFJlc3VsdHNKU09OV3JpdGVyOjph
ZGRfcmVzdWx0c19mb3JfdGVzdCk6IFJlbmFtZWQgZnJvbSBhZGRfcmVzdWx0c19mb3JfdGVzdF9p
Zl9tYXRjaGVzLgorICAgICAgICAoUmVzdWx0c0pTT05HZW5lcmF0b3I6OmdlbmVyYXRlKTogVGFr
ZXMgdGhlIGZhaWx1cmUgdHlwZS4gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIEpTT05zIGZvciBhbGwg
ZmFpbHVyZSB0eXBlcworICAgICAgICBhdCBvbmNlLCBnZW5lcmF0ZSBvbmUgSlNPTiBmb3IgdGhl
IHNwZWNpZmllZCB0eXBlLiBXZSBnZW5lcmF0ZSB0aGUgbGlzdCBvZiB0ZXN0IGlkcyBiYXNlZCBv
biB0aGUgZmFpbHVyZSB0eXBlCisgICAgICAgIGFuZCBxdWVyeSByZXN1bHRzIGJhc2VkIG9uIHRo
YXQuIFRoaXMgZHJhbWF0aWNhbGx5IGN1dHMgZG93biB0aGUgdGltZSBzcGVudCBpbiBQSFAuCisg
ICAgICAgIChSZXN1bHRzSlNPTkdlbmVyYXRvcjo6bGF0ZXN0X2J1aWxkKTogQWRkZWQuCisgICAg
ICAgIChSZXN1bHRzSlNPTkdlbmVyYXRvcjo6d3JpdGVfanNvbnMpOiBUYWtlcyBzaW5nbGUgd3Jp
dGVyIG5vdy4KKyAgICAgICAgKHVwZGF0ZV9mbGFraW5lc3NfZm9yX2J1aWxkKTogQWRkZWQuCisg
ICAgICAgICh1cGRhdGVfZmxha2luZXNzX2FmdGVyX2luc2VydGluZ19idWlsZCk6IEFkZGVkLgor
CisgICAgICAgICogcHVibGljL2luZGV4Lmh0bWw6CisgICAgICAgIChUZXN0UmVzdWx0c1ZpZXcu
X3BvcHVsYXRlQnVpbGRlclBhbmUpOiBFbXVsYXRlICotZmFpbGluZy5qc29uIHVwb24gKi13cm9u
Z2V4cGVjdGF0aW9ucy5qc29uLgorICAgICAgICAoVGVzdFJlc3VsdHNWaWV3LmZldGNoRmFpbGlu
Z1Rlc3RzRm9yQnVpbGRlcik6IERpdHRvLgorCisgICAgICAgICogcHVibGljL21haW4uY3NzOiBN
aW5vciBzdHlsZSB0d2Vha3MuCisgICAgICAgICgudGVzdFJlc3VsdHMpOiBFeHRlbmQgdGhlIGJv
cmRlciB0aGF0IHdyYXBzIHRoZSB0ZXN0IHJlc3VsdHMgYXMgbmVlZGVkLgorICAgICAgICAoLnRv
b2x0aXApOiBEb24ndCB3cmFwIHRleHQgaW5zaWRlIHRvb2x0aXBzLgorCiAyMDEzLTEwLTI2ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgbmV3IGJ1ZyBs
aW5rIGluIGZsYWtpbmVzcyBkYXNoYm9hcmQgY29uZmlndXJhYmxlCkluZGV4OiBXZWJzaXRlcy90
ZXN0LXJlc3VsdHMvaW5pdC1kYXRhYmFzZS5zcWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvdGVz
dC1yZXN1bHRzL2luaXQtZGF0YWJhc2Uuc3FsCShyZXZpc2lvbiAxNTg1NjIpCisrKyBXZWJzaXRl
cy90ZXN0LXJlc3VsdHMvaW5pdC1kYXRhYmFzZS5zcWwJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYg
KzQxLDcgQEAgQ1JFQVRFIFRBQkxFIGJ1aWxkX3JldmlzaW9ucyAoCiAgICAgUFJJTUFSWSBLRVkg
KHJlcG9zaXRvcnksIGJ1aWxkKSk7CiBDUkVBVEUgSU5ERVggcmV2aXNpb25fYnVpbGRfaW5kZXgg
T04gYnVpbGRfcmV2aXNpb25zKGJ1aWxkKTsKIENSRUFURSBJTkRFWCByZXZpc2lvbl9yZXBvc2l0
b3J5X2luZGV4IE9OIGJ1aWxkX3JldmlzaW9ucyhyZXBvc2l0b3J5KTsKK0NSRUFURSBJTkRFWCBy
ZXZpc2lvbl90aW1lX2luZGV4IE9OIGJ1aWxkX3JldmlzaW9ucyh0aW1lKTsKIAogQ1JFQVRFIFRB
QkxFIHRlc3RzICgKICAgICBpZCBzZXJpYWwgUFJJTUFSWSBLRVksCkBAIC01NSw2ICs1NiwxMCBA
QCBDUkVBVEUgVEFCTEUgcmVzdWx0cyAoCiAgICAgZXhwZWN0ZWQgdmFyY2hhcig2NCkgTk9UIE5V
TEwsCiAgICAgYWN0dWFsIHZhcmNoYXIoNjQpIE5PVCBOVUxMLAogICAgIG1vZGlmaWVycyB2YXJj
aGFyKDY0KSBOT1QgTlVMTCwKLSAgICB0aW1lIGludGVnZXIpOworICAgIHRpbWUgaW50ZWdlciwK
KyAgICBpc19mbGFreSBib29sZWFuKTsKIENSRUFURSBJTkRFWCByZXN1bHRzX3Rlc3QgT04gcmVz
dWx0cyh0ZXN0KTsKIENSRUFURSBJTkRFWCByZXN1bHRzX2J1aWxkIE9OIHJlc3VsdHMoYnVpbGQp
OworQ1JFQVRFIElOREVYIHJlc3VsdHNfaXNfZmxha3kgT04gcmVzdWx0cyhpc19mbGFreSk7CisK
K1NFVCB3b3JrX21lbT0nNTBNQic7CkluZGV4OiBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGlj
L2luZGV4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9p
bmRleC5odG1sCShyZXZpc2lvbiAxNTg1NjIpCisrKyBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVi
bGljL2luZGV4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDkgKzE5LDcgQEAKIDwvdWw+CiA8
L2hlYWRlcj4KIAotPGZvcm0gb25zdWJtaXQ9IlRlc3RSZXN1bHRzVmlldy5mZXRjaFRlc3QodGhp
c1sndGVzdE5hbWUnXS52YWx1ZSk7Ci0gICAgVGVzdFJlc3VsdHNWaWV3LnVwZGF0ZUxvY2F0aW9u
SGFzaCgpOwotICAgIHJldHVybiBmYWxzZTsiPgorPGZvcm0+CiA8aW5wdXQgaWQ9InRlc3ROYW1l
IiB0eXBlPSJ0ZXh0IiBzaXplPSIxNTAiIG9ucGFzdGU9InBhc3RlSGVscGVyKHRoaXMsIGV2ZW50
KSIKICAgICBwbGFjZWhvbGRlcj0iVHlwZSBpbiBhIHRlc3QgbmFtZSwgb3IgY29weSBhbmQgcGFz
dGUgdGVzdCBuYW1lcyBvbiByZXN1bHRzLmh0bWwgb3IgTlJXVCBzdGRvdXQgKGluY2x1ZGluZyBq
dW5rcykiPjwvZm9ybT4KIDxkaXYgaWQ9InRlc3RWaWV3Ij48L2Rpdj4KQEAgLTM5OSw3ICszOTcs
NyBAQCBUZXN0UmVzdWx0c1ZpZXcuX3BvcHVsYXRlQnVpbGRlclBhbmUgPSBmCiAgICAgdmFyIHNl
bGYgPSB0aGlzOwogICAgIHRoaXMuX3NvcnRPYmplY3RzQnlOYW1lKHRlc3RzKS5mb3JFYWNoKGZ1
bmN0aW9uICh0ZXN0KSB7CiAgICAgICAgIHZhciByZXN1bHRzID0gcmVzdWx0c0J5VGVzdHNbdGVz
dC5pZF07Ci0gICAgICAgIGlmICghcmVzdWx0cy5sZW5ndGgpCisgICAgICAgIGlmICghcmVzdWx0
cy5sZW5ndGggfHwgKGZhaWx1cmVUeXBlID09ICdmYWlsaW5nJyAmJiByZXN1bHRzWzBdLmFjdHVh
bCA9PSAnUEFTUycpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZWxmLl9jcmVhdGVC
dWlsZHNBbmRDb21wdXRlU2xvd25lc3NPZlJlc3VsdHMoYnVpbGRlcklkLCByZXN1bHRzKTsKICAg
ICAgICAgdmFyIGV4dGVybmFsVGVzdExpbmsgPSBlbGVtZW50KCdhJywgeydjbGFzcyc6ICdleHRl
cm5hbFRlc3RMaW5rJywKQEAgLTQzMSw3ICs0MjksNyBAQCBUZXN0UmVzdWx0c1ZpZXcuZmV0Y2hG
YWlsaW5nVGVzdHNGb3JCdWlsCiAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB2YXIgYnVpbGRlcklkID0gdGhpcy5fYnVpbGRlckJ5
TmFtZVtidWlsZGVyTmFtZV0uaWQ7Ci0gICAgeGhyLm9wZW4oJ0dFVCcsICdkYXRhLycgKyBidWls
ZGVySWQgKyAnLScgKyBmYWlsdXJlVHlwZSArICcuanNvbicsIHRydWUpOyAgCisgICAgeGhyLm9w
ZW4oJ0dFVCcsICdkYXRhLycgKyBidWlsZGVySWQgKyAnLScgKyAoZmFpbHVyZVR5cGUgPT0gJ2Zh
aWxpbmcnID8gJ3dyb25nZXhwZWN0YXRpb25zJyA6IGZhaWx1cmVUeXBlKSArICcuanNvbicsIHRy
dWUpOyAgCiAgICAgeGhyLm9ubG9hZCA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgIGlmICh4
aHIuc3RhdHVzICE9IDIwMCkgewogICAgICAgICAgICAgc2VjdGlvbi5hcHBlbmRDaGlsZCh0ZXh0
KCdGYWlsZWQgdG8gbG9hZCByZXN1bHRzIGZvciAnICsgYnVpbGRlck5hbWUgKyAnOiAnICsgeGhy
LnN0YXR1cykpOwpJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9tYWluLmNzcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGljL21haW4uY3NzCShyZXZp
c2lvbiAxNTg1NjIpCisrKyBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGljL21haW4uY3NzCSh3
b3JraW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw3IEBACiAgICAgcGFkZGluZzogNXB4OwogICAgIG1h
cmdpbjogMWVtIDBweDsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwogfQogCiAjYnVpbGRlcnNWaWV3IHsKQEAgLTIxMiw2ICsyMTMsNyBAQAogICAg
IGNvbG9yOiAjZWVlOwogICAgIGZvbnQtc2l6ZTogc21hbGw7CiAgICAgbGluZS1oZWlnaHQ6IDEz
MCU7CisgICAgd2hpdGUtc3BhY2U6IHByZTsKIH0KIAogLnRvb2x0aXA6YWZ0ZXIgewpJbmRleDog
V2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9hcGkvZmFpbGluZy10ZXN0cy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9hcGkvZmFpbGluZy10ZXN0cy5w
aHAJKHJldmlzaW9uIDE1ODU2MikKKysrIFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9wdWJsaWMvYXBp
L2ZhaWxpbmctdGVzdHMucGhwCSh3b3JraW5nIGNvcHkpCkBAIC01LDIwICs1LDI1IEBAIHJlcXVp
cmVfb25jZSgnLi4vaW5jbHVkZS90ZXN0LXJlc3VsdHMucGgKIAogZnVuY3Rpb24gbWFpbigpIHsK
ICAgICByZXF1aXJlX2V4aXN0ZW5jZV9vZigkX0dFVCwgYXJyYXkoJ2J1aWxkZXInID0+ICcvXltB
LVphLXowLTkgXChcKVwtX10rJC8nKSk7Ci0gICAgJGJ1aWxkZXJfbmFtZSA9ICRfR0VUWydidWls
ZGVyJ107CisgICAgJGJ1aWxkZXJfcGFyYW0gPSAkX0dFVFsnYnVpbGRlciddOwogCiAgICAgJGRi
ID0gY29ubmVjdCgpOwotICAgICRidWlsZGVyX3JvdyA9ICRkYi0+c2VsZWN0X2ZpcnN0X3Jvdygn
YnVpbGRlcnMnLCBOVUxMLCBhcnJheSgnbmFtZScgPT4gJGJ1aWxkZXJfbmFtZSkpOwotICAgIGlm
ICghJGJ1aWxkZXJfcm93KQotICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0J1aWxkZXJOb3RGb3Vu
ZCcpOworICAgICRidWlsZGVyX3JvdyA9ICRkYi0+c2VsZWN0X2ZpcnN0X3JvdygnYnVpbGRlcnMn
LCBOVUxMLCBhcnJheSgnbmFtZScgPT4gJGJ1aWxkZXJfcGFyYW0pKTsKKyAgICBpZiAoISRidWls
ZGVyX3JvdykgeworICAgICAgICAkYnVpbGRlcl9yb3cgPSAkZGItPnNlbGVjdF9maXJzdF9yb3co
J2J1aWxkZXJzJywgTlVMTCwgYXJyYXkoJ2lkJyA9PiAkYnVpbGRlcl9wYXJhbSkpOworICAgICAg
ICBpZiAoISRidWlsZGVyX3JvdykKKyAgICAgICAgICAgIGV4aXRfd2l0aF9lcnJvcignQnVpbGRl
ck5vdEZvdW5kJyk7CisgICAgfQogICAgICRidWlsZGVyX2lkID0gJGJ1aWxkZXJfcm93WydpZCdd
OwogCiAgICAgJGdlbmVyYXRvciA9IG5ldyBSZXN1bHRzSlNPTkdlbmVyYXRvcigkZGIsICRidWls
ZGVyX2lkKTsKIAotICAgIGlmICgkZ2VuZXJhdG9yLT5nZW5lcmF0ZSgpKQotICAgICAgICBleGl0
X3dpdGhfc3VjY2VzcygpOworICAgIGlmICghJGdlbmVyYXRvci0+Z2VuZXJhdGUoJ3dyb25nZXhw
ZWN0YXRpb25zJykpCisgICAgICAgIGV4aXRfd2l0aF9lcnJvcignUmVzdWx0c1dpdGhXcm9uZ0V4
cGVjdGF0aW9uc05vdEZvdW5kJywgYXJyYXkoJ2J1aWxkZXJJZCcgPT4gJGJ1aWxkZXJfaWQpKTsK
KyAgICBlbHNlIGlmICghJGdlbmVyYXRvci0+Z2VuZXJhdGUoJ2ZsYWt5JykpCisgICAgICAgIGV4
aXRfd2l0aF9lcnJvcignRmxha3lSZXN1bHRzTm90Rm91bmQnLCBhcnJheSgnYnVpbGRlcklkJyA9
PiAkYnVpbGRlcl9pZCkpOwogICAgIGVsc2UKLSAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdSZXN1
bHRzTm90Rm91bmQnKTsKKyAgICAgICAgZXhpdF93aXRoX3N1Y2Nlc3MoKTsKIH0KIAogbWFpbigp
OwpJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9hcGkvcmVwb3J0LnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGljL2FwaS9yZXBvcnQucGhwCShy
ZXZpc2lvbiAxNTg1NjIpCisrKyBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGljL2FwaS9yZXBv
cnQucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDczICszLDg3IEBACiByZXF1aXJlX29uY2UoJy4u
L2luY2x1ZGUvanNvbi1zaGFyZWQucGhwJyk7CiByZXF1aXJlX29uY2UoJy4uL2luY2x1ZGUvdGVz
dC1yZXN1bHRzLnBocCcpOwogCi0kZGIgPSBjb25uZWN0KCk7CitmdW5jdGlvbiBzdG9yZV9yZXN1
bHRzKCRkYiwgJG1hc3RlciwgJGJ1aWxkZXJfbmFtZSwgJGJ1aWxkX251bWJlciwgJHN0YXJ0X3Rp
bWUsICRlbmRfdGltZSwgJHJldmlzaW9ucywgJGpzb25fcGF0aCkgeworICAgICR0ZXN0X3Jlc3Vs
dHMgPSBmZXRjaF9hbmRfcGFyc2VfdGVzdF9yZXN1bHRzX2pzb24oJGpzb25fcGF0aCk7CisgICAg
aWYgKCEkdGVzdF9yZXN1bHRzKQorICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ludmFsaWRSZXN1
bHRzSlNPTicpOworCisgICAgJGJ1aWxkZXJfaWQgPSBhZGRfYnVpbGRlcigkZGIsICRtYXN0ZXIs
ICRidWlsZGVyX25hbWUpOworICAgIGlmICghJGJ1aWxkZXJfaWQpCisgICAgICAgIGV4aXRfd2l0
aF9lcnJvcignRmFpbGVkVG9JbnNlcnRCdWlsZGVyJywgYXJyYXkoJ21hc3RlcicgPT4gJG1hc3Rl
ciwgJ2J1aWxkZXJOYW1lJyA9PiAkYnVpbGRlcl9uYW1lKSk7CisKKyAgICAkYnVpbGRfaWQgPSBh
ZGRfYnVpbGQoJGRiLCAkYnVpbGRlcl9pZCwgJGJ1aWxkX251bWJlcik7CisgICAgaWYgKCEkYnVp
bGRfaWQpCisgICAgICAgIGV4aXRfd2l0aF9lcnJvcignRmFpbGVkVG9JbnNlcnRCdWlsZCcsIGFy
cmF5KCdidWlsZGVySWQnID0+ICRidWlsZGVyX2lkLCAnYnVpbGROdW1iZXInID0+ICRidWlsZF9u
dW1iZXIpKTsKKworICAgIGZvcmVhY2ggKCRyZXZpc2lvbnMgYXMgJHJlcG9zaXRvcnlfbmFtZSA9
PiAkcmV2aXNpb25fZGF0YSkgeworICAgICAgICAkcmVwb3NpdG9yeV9pZCA9ICRkYi0+c2VsZWN0
X29yX2luc2VydF9yb3coJ3JlcG9zaXRvcmllcycsIE5VTEwsIGFycmF5KCduYW1lJyA9PiAkcmVw
b3NpdG9yeV9uYW1lKSk7CisgICAgICAgIGlmICghJHJlcG9zaXRvcnlfaWQpCisgICAgICAgICAg
ICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvSW5zZXJ0UmVwb3NpdG9yeScsIGFycmF5KCduYW1l
JyA9PiAkcmVwb3NpdG9yeV9uYW1lKSk7CisKKyAgICAgICAgJHJldmlzaW9uX2RhdGEgPSBhcnJh
eSgKKyAgICAgICAgICAgICdyZXBvc2l0b3J5JyA9PiAkcmVwb3NpdG9yeV9pZCwKKyAgICAgICAg
ICAgICdidWlsZCcgPT4gJGJ1aWxkX2lkLAorICAgICAgICAgICAgJ3ZhbHVlJyA9PiAkcmV2aXNp
b25fZGF0YVsncmV2aXNpb24nXSwKKyAgICAgICAgICAgICd0aW1lJyA9PiBhcnJheV9nZXQoJHJl
dmlzaW9uX2RhdGEsICd0aW1lc3RhbXAnKSk7CisgICAgICAgICRkYi0+c2VsZWN0X29yX2luc2Vy
dF9yb3coJ2J1aWxkX3JldmlzaW9ucycsIE5VTEwsIGFycmF5KCdyZXBvc2l0b3J5JyA9PiAkcmVw
b3NpdG9yeV9pZCwgJ2J1aWxkJyA9PiAkYnVpbGRfaWQpLCAkcmV2aXNpb25fZGF0YSwgJ3ZhbHVl
JykKKyAgICAgICAgICAgIG9yIGV4aXRfd2l0aF9lcnJvcignRmFpbGVkVG9JbnNlcnRSZXZpc2lv
bicsIGFycmF5KCduYW1lJyA9PiAkcmVwb3NpdG9yeV9uYW1lLCAnZGF0YScgPT4gJHJldmlzaW9u
X2RhdGEpKTsKKyAgICB9CisKKyAgICAkc2xhdmVfaWQgPSBhZGRfc2xhdmUoJGRiLCAkX1BPU1Rb
J2J1aWxkX3NsYXZlJ10pOworICAgIGlmICghc3RvcmVfdGVzdF9yZXN1bHRzKCRkYiwgJHRlc3Rf
cmVzdWx0cywgJGJ1aWxkX2lkLCAkc3RhcnRfdGltZSwgJGVuZF90aW1lLCAkc2xhdmVfaWQpKQor
ICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvU3RvcmVSZXN1bHRzJywgYXJyYXkoJ2J1
aWxkSWQnID0+ICRidWlsZF9pZCkpOwogCi1yZXF1aXJlX2V4aXN0ZW5jZV9vZigkX1BPU1QsIGFy
cmF5KAotICAgICdtYXN0ZXInID0+ICcvW0EtWmEtejAtOVwuXSsvJywKLSAgICAnYnVpbGRlcl9u
YW1lJyA9PiAnL15bQS1aYS16MC05IFwoXClcLV9dKyQvJywKLSAgICAnYnVpbGRfbnVtYmVyJyA9
PiAnL15bMC05XSs/JC8nLAotICAgICdidWlsZF9zbGF2ZScgPT4gJy9eW0EtWmEtejAtOVwtX10r
JC8nLAotICAgICdyZXZpc2lvbnMnID0+ICcvXi4rPyQvJywKLSAgICAnc3RhcnRfdGltZScgPT4g
Jy9eWzAtOV0rKFwuWzAtOV0rKT8kLycsCi0gICAgJ2VuZF90aW1lJyA9PiAnL15bMC05XSsoXC5b
MC05XSspPyQvJykpOwotJG1hc3RlciA9ICRfUE9TVFsnbWFzdGVyJ107Ci0kYnVpbGRlcl9uYW1l
ID0gJF9QT1NUWydidWlsZGVyX25hbWUnXTsKLSRidWlsZF9udW1iZXIgPSBpbnR2YWwoJF9QT1NU
WydidWlsZF9udW1iZXInXSk7Ci0KLWlmICghYXJyYXlfa2V5X2V4aXN0cygnZmlsZScsICRfRklM
RVMpIG9yICFhcnJheV9rZXlfZXhpc3RzKCd0bXBfbmFtZScsICRfRklMRVNbJ2ZpbGUnXSkgb3Ig
Y291bnQoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKSA8PSAwKQotICAgIGV4aXRfd2l0aF9l
cnJvcignUmVzdWx0c0pTT05Ob3RJbmNsdWRlZCcpOwotCi0kcmV2aXNpb25zID0ganNvbl9kZWNv
ZGUoc3RyX3JlcGxhY2UoJ1xcJywgJycsICRfUE9TVFsncmV2aXNpb25zJ10pLCBUUlVFKTsKLWZv
cmVhY2ggKCRyZXZpc2lvbnMgYXMgJHJlcG9zaXRvcnlfbmFtZSA9PiAkcmV2aXNpb25fZGF0YSkg
ewotICAgIHJlcXVpcmVfZm9ybWF0KCdyZXBvc2l0b3J5X25hbWUnLCAkcmVwb3NpdG9yeV9uYW1l
LCAnL15cdyskLycpOwotICAgIHJlcXVpcmVfZXhpc3RlbmNlX29mKCRyZXZpc2lvbl9kYXRhLCBh
cnJheSgKLSAgICAgICAgJ3JldmlzaW9uJyA9PiAnL15bYS16MC05XSskLycsCi0gICAgICAgICd0
aW1lc3RhbXAnID0+ICcvXlthLXowLTlcLVwuOlRaXSskLycsCi0gICAgKSwgJ3JldmlzaW9uJyk7
CisgICAgcmV0dXJuICRidWlsZF9pZDsKIH0KIAotJHRlc3RfcmVzdWx0cyA9IGZldGNoX2FuZF9w
YXJzZV90ZXN0X3Jlc3VsdHNfanNvbigkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10pOwotaWYg
KCEkdGVzdF9yZXN1bHRzKQotICAgIGV4aXRfd2l0aF9lcnJvcignSW52YWxpZFJlc3VsdHNKU09O
Jyk7Ci0KLSRzdGFydF90aW1lID0gZmxvYXRfdG9fdGltZSgkX1BPU1RbJ3N0YXJ0X3RpbWUnXSk7
Ci0kZW5kX3RpbWUgPSBmbG9hdF90b190aW1lKCRfUE9TVFsnZW5kX3RpbWUnXSk7Ci0KLSRidWls
ZGVyX2lkID0gYWRkX2J1aWxkZXIoJGRiLCAkbWFzdGVyLCAkYnVpbGRlcl9uYW1lKTsKLWlmICgh
JGJ1aWxkZXJfaWQpCi0gICAgZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0luc2VydEJ1aWxkZXIn
LCBhcnJheSgnbWFzdGVyJyA9PiAkbWFzdGVyLCAnYnVpbGRlck5hbWUnID0+ICRidWlsZGVyX25h
bWUpKTsKLQotJGJ1aWxkX2lkID0gYWRkX2J1aWxkKCRkYiwgJGJ1aWxkZXJfaWQsICRidWlsZF9u
dW1iZXIpOwotaWYgKCEkYnVpbGRfaWQpCi0gICAgZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0lu
c2VydEJ1aWxkJywgYXJyYXkoJ2J1aWxkZXJJZCcgPT4gJGJ1aWxkZXJfaWQsICdidWlsZE51bWJl
cicgPT4gJGJ1aWxkX251bWJlcikpOwotCi1mb3JlYWNoICgkcmV2aXNpb25zIGFzICRyZXBvc2l0
b3J5X25hbWUgPT4gJHJldmlzaW9uX2RhdGEpIHsKLSAgICAkcmVwb3NpdG9yeV9pZCA9ICRkYi0+
c2VsZWN0X29yX2luc2VydF9yb3coJ3JlcG9zaXRvcmllcycsIE5VTEwsIGFycmF5KCduYW1lJyA9
PiAkcmVwb3NpdG9yeV9uYW1lKSk7Ci0gICAgaWYgKCEkcmVwb3NpdG9yeV9pZCkKLSAgICAgICAg
ZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0luc2VydFJlcG9zaXRvcnknLCBhcnJheSgnbmFtZScg
PT4gJHJlcG9zaXRvcnlfbmFtZSkpOwotCi0gICAgJHJldmlzaW9uX2RhdGEgPSBhcnJheSgKLSAg
ICAgICAgJ3JlcG9zaXRvcnknID0+ICRyZXBvc2l0b3J5X2lkLAotICAgICAgICAnYnVpbGQnID0+
ICRidWlsZF9pZCwKLSAgICAgICAgJ3ZhbHVlJyA9PiAkcmV2aXNpb25fZGF0YVsncmV2aXNpb24n
XSwKLSAgICAgICAgJ3RpbWUnID0+IGFycmF5X2dldCgkcmV2aXNpb25fZGF0YSwgJ3RpbWVzdGFt
cCcpKTsKLSAgICAkZGItPnNlbGVjdF9vcl9pbnNlcnRfcm93KCdidWlsZF9yZXZpc2lvbnMnLCBO
VUxMLCBhcnJheSgncmVwb3NpdG9yeScgPT4gJHJlcG9zaXRvcnlfaWQsICdidWlsZCcgPT4gJGJ1
aWxkX2lkKSwgJHJldmlzaW9uX2RhdGEsICd2YWx1ZScpCi0gICAgICAgIG9yIGV4aXRfd2l0aF9l
cnJvcignRmFpbGVkVG9JbnNlcnRSZXZpc2lvbicsIGFycmF5KCduYW1lJyA9PiAkcmVwb3NpdG9y
eV9uYW1lLCAnZGF0YScgPT4gJHJldmlzaW9uX2RhdGEpKTsKLX0KK2Z1bmN0aW9uIG1haW4oKSB7
CisgICAgcmVxdWlyZV9leGlzdGVuY2Vfb2YoJF9QT1NULCBhcnJheSgKKyAgICAgICAgJ21hc3Rl
cicgPT4gJy9bQS1aYS16MC05XC5dKy8nLAorICAgICAgICAnYnVpbGRlcl9uYW1lJyA9PiAnL15b
QS1aYS16MC05IFwoXClcLV9dKyQvJywKKyAgICAgICAgJ2J1aWxkX251bWJlcicgPT4gJy9eWzAt
OV0rPyQvJywKKyAgICAgICAgJ2J1aWxkX3NsYXZlJyA9PiAnL15bQS1aYS16MC05XC1fXSskLycs
CisgICAgICAgICdyZXZpc2lvbnMnID0+ICcvXi4rPyQvJywKKyAgICAgICAgJ3N0YXJ0X3RpbWUn
ID0+ICcvXlswLTldKyhcLlswLTldKyk/JC8nLAorICAgICAgICAnZW5kX3RpbWUnID0+ICcvXlsw
LTldKyhcLlswLTldKyk/JC8nKSk7CisgICAgJG1hc3RlciA9ICRfUE9TVFsnbWFzdGVyJ107Cisg
ICAgJGJ1aWxkZXJfbmFtZSA9ICRfUE9TVFsnYnVpbGRlcl9uYW1lJ107CisgICAgJGJ1aWxkX251
bWJlciA9IGludHZhbCgkX1BPU1RbJ2J1aWxkX251bWJlciddKTsKKyAgICAkc3RhcnRfdGltZSA9
IGZsb2F0X3RvX3RpbWUoJF9QT1NUWydzdGFydF90aW1lJ10pOworICAgICRlbmRfdGltZSA9IGZs
b2F0X3RvX3RpbWUoJF9QT1NUWydlbmRfdGltZSddKTsKKworICAgICRyZXZpc2lvbnMgPSBqc29u
X2RlY29kZShzdHJfcmVwbGFjZSgnXFwnLCAnJywgJF9QT1NUWydyZXZpc2lvbnMnXSksIFRSVUUp
OworICAgIGZvcmVhY2ggKCRyZXZpc2lvbnMgYXMgJHJlcG9zaXRvcnlfbmFtZSA9PiAkcmV2aXNp
b25fZGF0YSkgeworICAgICAgICByZXF1aXJlX2Zvcm1hdCgncmVwb3NpdG9yeV9uYW1lJywgJHJl
cG9zaXRvcnlfbmFtZSwgJy9eXHcrJC8nKTsKKyAgICAgICAgcmVxdWlyZV9leGlzdGVuY2Vfb2Yo
JHJldmlzaW9uX2RhdGEsIGFycmF5KAorICAgICAgICAgICAgJ3JldmlzaW9uJyA9PiAnL15bYS16
MC05XSskLycsCisgICAgICAgICAgICAndGltZXN0YW1wJyA9PiAnL15bYS16MC05XC1cLjpUWl0r
JC8nLAorICAgICAgICApLCAncmV2aXNpb24nKTsKKyAgICB9CisKKyAgICBpZiAoIWFycmF5X2tl
eV9leGlzdHMoJ2ZpbGUnLCAkX0ZJTEVTKSBvciAhYXJyYXlfa2V5X2V4aXN0cygndG1wX25hbWUn
LCAkX0ZJTEVTWydmaWxlJ10pIG9yIGNvdW50KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSkg
PD0gMCkKKyAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdSZXN1bHRzSlNPTk5vdEluY2x1ZGVkJyk7
CisgICAgJGpzb25fcGF0aCA9ICRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXTsKKworICAgICRk
YiA9IGNvbm5lY3QoKTsKKyAgICAkYnVpbGRfaWQgPSBzdG9yZV9yZXN1bHRzKCRkYiwgJG1hc3Rl
ciwgJGJ1aWxkZXJfbmFtZSwgJGJ1aWxkX251bWJlciwgJHN0YXJ0X3RpbWUsICRlbmRfdGltZSwg
JHJldmlzaW9ucywgJGpzb25fcGF0aCk7CisgICAgQG9iX2VuZF9jbGVhbigpOworICAgIGlnbm9y
ZV91c2VyX2Fib3J0KCk7CisgICAgb2Jfc3RhcnQoKTsKKworICAgIGVjaG9fc3VjY2VzcygpOwor
CisgICAgaGVhZGVyKCdDb25uZWN0aW9uOiBjbG9zZScpOworICAgIGhlYWRlcignQ29udGVudC1M
ZW5ndGg6ICcgLiBvYl9nZXRfbGVuZ3RoKCkpOworCisgICAgQG9iX2VuZF9mbHVzaCgpOworICAg
IGZsdXNoKCk7CisgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnZmFzdGNnaV9maW5pc2hfcmVxdWVz
dCcpKQorICAgICAgICBmYXN0Y2dpX2ZpbmlzaF9yZXF1ZXN0KCk7CiAKLSRzbGF2ZV9pZCA9IGFk
ZF9zbGF2ZSgkZGIsICRfUE9TVFsnYnVpbGRfc2xhdmUnXSk7Ci1pZiAoIXN0b3JlX3Rlc3RfcmVz
dWx0cygkZGIsICR0ZXN0X3Jlc3VsdHMsICRidWlsZF9pZCwgJHN0YXJ0X3RpbWUsICRlbmRfdGlt
ZSwgJHNsYXZlX2lkKSkKLSAgICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvU3RvcmVSZXN1bHRz
JywgYXJyYXkoJ2J1aWxkSWQnID0+ICRidWlsZF9pZCkpOwotCi1lY2hvX3N1Y2Nlc3MoKTsKLQot
QG9iX2VuZF9mbHVzaCgpOwotZmx1c2goKTsKLWlmIChmdW5jdGlvbl9leGlzdHMoJ2Zhc3RjZ2lf
ZmluaXNoX3JlcXVlc3QnKSkKLSAgICBmYXN0Y2dpX2ZpbmlzaF9yZXF1ZXN0KCk7CisgICAgdXBk
YXRlX2ZsYWtpbmVzc19hZnRlcl9pbnNlcnRpbmdfYnVpbGQoJGJ1aWxkX2lkKTsKK30KIAotJGdl
bmVyYXRvciA9IG5ldyBSZXN1bHRzSlNPTkdlbmVyYXRvcigkZGIsICRidWlsZGVyX2lkKTsKLSRn
ZW5lcmF0b3ItPmdlbmVyYXRlKCk7CittYWluKCk7CiAKID8+CkluZGV4OiBXZWJzaXRlcy90ZXN0
LXJlc3VsdHMvcHVibGljL2luY2x1ZGUvdGVzdC1yZXN1bHRzLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy90ZXN0LXJlc3VsdHMvcHVibGljL2luY2x1ZGUvdGVzdC1yZXN1bHRzLnBocAkocmV2
aXNpb24gMTU4NTYyKQorKysgV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL3B1YmxpYy9pbmNsdWRlL3Rl
c3QtcmVzdWx0cy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBmdW5jdGlv
biBmb3JtYXRfcmVzdWx0KCRyZXN1bHQpIHsKICAgICAgICAgJ21vZGlmaWVycycgPT4gJHJlc3Vs
dFsnbW9kaWZpZXJzJ10pOwogfQogCi1hYnN0cmFjdCBjbGFzcyBSZXN1bHRzSlNPTldyaXRlciB7
CitjbGFzcyBSZXN1bHRzSlNPTldyaXRlciB7CiAgICAgcHJpdmF0ZSAkZnA7CiAgICAgcHJpdmF0
ZSAkZW1pdHRlZF9yZXN1bHRzOwogCkBAIC0xMjIsOCArMTIyLDggQEAgYWJzdHJhY3QgY2xhc3Mg
UmVzdWx0c0pTT05Xcml0ZXIgewogICAgICAgICBmd3JpdGUoJHRoaXMtPmZwLCAifX0sIFwidG90
YWxHZW5lcmF0aW9uVGltZVwiOiAkdG90YWxfdGltZX0iKTsKICAgICB9CiAKLSAgICBwdWJsaWMg
ZnVuY3Rpb24gYWRkX3Jlc3VsdHNfZm9yX3Rlc3RfaWZfbWF0Y2hlcygkY3VycmVudF90ZXN0LCAk
Y3VycmVudF9yZXN1bHRzKSB7Ci0gICAgICAgIGlmICghY291bnQoJGN1cnJlbnRfcmVzdWx0cykg
fHwgJHRoaXMtPnBhc3NfZm9yX2ZhaWx1cmVfdHlwZSgkY3VycmVudF9yZXN1bHRzKSkKKyAgICBw
dWJsaWMgZnVuY3Rpb24gYWRkX3Jlc3VsdHNfZm9yX3Rlc3QoJGN1cnJlbnRfdGVzdCwgJGN1cnJl
bnRfcmVzdWx0cykgeworICAgICAgICBpZiAoIWNvdW50KCRjdXJyZW50X3Jlc3VsdHMpKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAvLyBGSVhNRTogV2h5IGRvIHdlIG5lZWQgdG8gY2hl
Y2sgdGhlIGNvdW50PwogCkBAIC0xMzMsMTA0ICsxMzMsODYgQEAgYWJzdHJhY3QgY2xhc3MgUmVz
dWx0c0pTT05Xcml0ZXIgewogCiAgICAgICAgICR0aGlzLT5lbWl0dGVkX3Jlc3VsdHMgPSBUUlVF
OwogICAgIH0KLQotICAgIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBwYXNzX2Zvcl9mYWls
dXJlX3R5cGUoJiRyZXN1bHRzKTsKLX0KLQotY2xhc3MgRmxha3lSZXN1bHRzSlNPTldyaXRlciBl
eHRlbmRzIFJlc3VsdHNKU09OV3JpdGVyIHsKLSAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1
Y3QoJGZwKSB7IHBhcmVudDo6X19jb25zdHJ1Y3QoJGZwKTsgfQotICAgIHByb3RlY3RlZCBmdW5j
dGlvbiBwYXNzX2Zvcl9mYWlsdXJlX3R5cGUoJiRyZXN1bHRzKSB7Ci0gICAgICAgICRsYXN0X2lu
ZGV4ID0gY291bnQoJHJlc3VsdHMpIC0gMTsKLSAgICAgICAgZm9yICgkaSA9IDE7ICRpIDwgJGxh
c3RfaW5kZXg7ICRpKyspIHsKLSAgICAgICAgICAgICRwcmV2aW91c19hY3R1YWwgPSAkcmVzdWx0
c1skaSAtIDFdWydhY3R1YWwnXTsKLSAgICAgICAgICAgICRuZXh0X2FjdHVhbCA9ICRyZXN1bHRz
WyRpICsgMV1bJ2FjdHVhbCddOwotICAgICAgICAgICAgaWYgKCRwcmV2aW91c19hY3R1YWwgPT0g
JG5leHRfYWN0dWFsICYmICRyZXN1bHRzWyRpXVsnYWN0dWFsJ10gIT0gJHByZXZpb3VzX2FjdHVh
bCkgewotICAgICAgICAgICAgICAgICRyZXN1bHRzWyRpXVsnb25lT2ZmQ2hhbmdlJ10gPSBUUlVF
OwotICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gVFJVRTsKLSAgICB9Ci19Ci0KLWNsYXNzIFdyb25nRXhwZWN0YXRp
b25zUmVzdWx0c0pTT05Xcml0ZXIgZXh0ZW5kcyBSZXN1bHRzSlNPTldyaXRlciB7Ci0gICAgcHVi
bGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmcCkgeyBwYXJlbnQ6Ol9fY29uc3RydWN0KCRmcCk7
IH0KLSAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFzc19mb3JfZmFpbHVyZV90eXBlKCYkcmVzdWx0
cykgewotICAgICAgICAkbGF0ZXN0X2V4cGVjdGVkX3Jlc3VsdCA9ICRyZXN1bHRzWzBdWydleHBl
Y3RlZCddOwotICAgICAgICAkbGF0ZXN0X2FjdHVhbF9yZXN1bHQgPSAkcmVzdWx0c1swXVsnYWN0
dWFsJ107Ci0KLSAgICAgICAgaWYgKCRsYXRlc3RfZXhwZWN0ZWRfcmVzdWx0ID09ICRsYXRlc3Rf
YWN0dWFsX3Jlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiBUUlVFOwotCi0gICAgICAgICR0b2tl
bnMgPSBleHBsb2RlKCcgJywgJGxhdGVzdF9leHBlY3RlZF9yZXN1bHQpOwotICAgICAgICByZXR1
cm4gYXJyYXlfc2VhcmNoKCRsYXRlc3RfYWN0dWFsX3Jlc3VsdCwgJHRva2VucykgIT09IEZBTFNF
Ci0gICAgICAgICAgICB8fCAoKCRsYXRlc3RfYWN0dWFsX3Jlc3VsdCA9PSAnVEVYVCcgfHwgJGxh
dGVzdF9hY3R1YWxfcmVzdWx0ID09ICdURVhUK0lNQUdFJykgJiYgYXJyYXlfc2VhcmNoKCdGQUlM
JywgJHRva2VucykgIT09IEZBTFNFKTsKLSAgICB9Ci19Ci0KLWNsYXNzIEZhaWxpbmdSZXN1bHRz
SlNPTldyaXRlciBleHRlbmRzIFdyb25nRXhwZWN0YXRpb25zUmVzdWx0c0pTT05Xcml0ZXIgewot
ICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZnApIHsgcGFyZW50OjpfX2NvbnN0cnVj
dCgkZnApOyB9Ci0gICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBhc3NfZm9yX2ZhaWx1cmVfdHlwZSgm
JHJlc3VsdHMpIHsKLSAgICAgICAgcmV0dXJuICRyZXN1bHRzWzBdWydhY3R1YWwnXSA9PSAnUEFT
UycgfHwgcGFyZW50OjpwYXNzX2Zvcl9mYWlsdXJlX3R5cGUoJHJlc3VsdHMpOwotICAgIH0KIH0K
IAogY2xhc3MgUmVzdWx0c0pTT05HZW5lcmF0b3IgewogICAgIHByaXZhdGUgJGRiOwogICAgIHBy
aXZhdGUgJGJ1aWxkZXJfaWQ7CiAKLSAgICBjb25zdCBNQVhJTVVNX05VTUJFUl9PRl9EQVlTID0g
MzA7Ci0KICAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGRiLCAkYnVpbGRlcl9pZCkK
ICAgICB7CiAgICAgICAgICR0aGlzLT5kYiA9ICRkYjsKICAgICAgICAgJHRoaXMtPmJ1aWxkZXJf
aWQgPSAkYnVpbGRlcl9pZDsKICAgICB9CiAKLSAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGUo
KQorICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZSgkZmFpbHVyZV90eXBlKQogICAgIHsKICAg
ICAgICAgJHN0YXJ0X3RpbWUgPSBtaWNyb3RpbWUodHJ1ZSk7CiAKICAgICAgICAgaWYgKCEkdGhp
cy0+YnVpbGRlcl9pZCkKICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgICAgICAkbnVt
YmVyX29mX2RheXMgPSBzZWxmOjpNQVhJTVVNX05VTUJFUl9PRl9EQVlTOworICAgICAgICBzd2l0
Y2ggKCRmYWlsdXJlX3R5cGUpIHsKKyAgICAgICAgY2FzZSAnZmxha3knOgorICAgICAgICAgICAg
JHRlc3Rfcm93cyA9ICR0aGlzLT5kYi0+cXVlcnlfYW5kX2ZldGNoX2FsbCgiU0VMRUNUIERJU1RJ
TkNUKHJlc3VsdHMudGVzdCkgRlJPTSByZXN1bHRzLAorICAgICAgICAgICAgICAgIChTRUxFQ1Qg
YnVpbGRzLmlkIEZST00gYnVpbGRzIFdIRVJFIGJ1aWxkcy5idWlsZGVyID0gJDEgR1JPVVAgQlkg
YnVpbGRzLmlkIExJTUlUIDUwMCkgYXMgYnVpbGRzCisgICAgICAgICAgICAgICAgV0hFUkUgcmVz
dWx0cy5idWlsZCA9IGJ1aWxkcy5pZCBBTkQgcmVzdWx0cy5pc19mbGFreSBpcyBUUlVFIiwKKyAg
ICAgICAgICAgICAgICBhcnJheSgkdGhpcy0+YnVpbGRlcl9pZCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgJ3dyb25nZXhwZWN0YXRpb25zJzoKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiB0aHJlZSByZXBsYWNlIGhlcmUgc2hvdWxkbid0IGJlIG5lY2Vzc2FyeS4gRG8gaXQgaW4g
d2Via2l0cHkgb3IgcmVwb3J0LnBocCBhdCBsYXRlc3QuCisgICAgICAgICAgICAkdGVzdF9yb3dz
ID0gJHRoaXMtPmRiLT5xdWVyeV9hbmRfZmV0Y2hfYWxsKCJTRUxFQ1QgcmVzdWx0cy50ZXN0IEZS
T00gcmVzdWx0cyBXSEVSRSByZXN1bHRzLmJ1aWxkID0gJDEKKyAgICAgICAgICAgICAgICBBTkQg
Tk9UIHN0cmluZ190b19hcnJheShleHBlY3RlZCwgJyAnKSA+PQorICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdfdG9fYXJyYXkocmVwbGFjZShyZXBsYWNlKHJlcGxhY2UoYWN0dWFsLCAnVEVYVCcs
ICdGQUlMJyksICdBVURJTycsICdGQUlMJyksICdJTUFHRStURVhUJywgJ0ZBSUwnKSwgJyAnKSIs
CisgICAgICAgICAgICAgICAgYXJyYXkoJHRoaXMtPmxhdGVzdF9idWlsZCgpKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICghJHRlc3Rfcm93cykKKyAgICAgICAgICAgIHJldHVy
biBGQUxTRTsKKworICAgICAgICAkY29tbWFfc2VwYXJhdGVkX3Rlc3RfaWRzID0gJyc7CisgICAg
ICAgIGZvcmVhY2ggKCR0ZXN0X3Jvd3MgYXMgJHJvdykgeworICAgICAgICAgICAgaWYgKCRjb21t
YV9zZXBhcmF0ZWRfdGVzdF9pZHMpCisgICAgICAgICAgICAgICAgJGNvbW1hX3NlcGFyYXRlZF90
ZXN0X2lkcyAuPSAnLCAnOworICAgICAgICAgICAgJGNvbW1hX3NlcGFyYXRlZF90ZXN0X2lkcyAu
PSBpbnR2YWwoJHJvd1sndGVzdCddKTsKKyAgICAgICAgfQorCiAgICAgICAgICRhbGxfcmVzdWx0
cyA9ICR0aGlzLT5kYi0+cXVlcnkoCiAgICAgICAgICJTRUxFQ1QgcmVzdWx0cy4qLCBidWlsZHMu
KiBGUk9NIHJlc3VsdHMKICAgICAgICAgICAgIEpPSU4gKFNFTEVDVCBidWlsZHMuKiwgYXJyYXlf
YWdnKChidWlsZF9yZXZpc2lvbnMucmVwb3NpdG9yeSwgYnVpbGRfcmV2aXNpb25zLnZhbHVlLCBi
dWlsZF9yZXZpc2lvbnMudGltZSkpIEFTIHJldmlzaW9ucywKICAgICAgICAgICAgICAgICAgICAg
bWF4KGJ1aWxkX3JldmlzaW9ucy50aW1lKSBBUyBsYXRlc3RfcmV2aXNpb25fdGltZQogICAgICAg
ICAgICAgICAgICAgICBGUk9NIGJ1aWxkcywgYnVpbGRfcmV2aXNpb25zCi0gICAgICAgICAgICAg
ICAgICAgIFdIRVJFIGJ1aWxkX3JldmlzaW9ucy5idWlsZCA9IGJ1aWxkcy5pZCBBTkQgYnVpbGRz
LmJ1aWxkZXIgPSAkMSBBTkQgYnVpbGRzLnN0YXJ0X3RpbWUgPiBub3coKSAtIGludGVydmFsICck
bnVtYmVyX29mX2RheXMgZGF5cycKLSAgICAgICAgICAgICAgICAgICAgR1JPVVAgQlkgYnVpbGRz
LmlkKSBhcyBidWlsZHMgT04gcmVzdWx0cy5idWlsZCA9IGJ1aWxkcy5pZAorICAgICAgICAgICAg
ICAgICAgICBXSEVSRSBidWlsZF9yZXZpc2lvbnMuYnVpbGQgPSBidWlsZHMuaWQgQU5EIGJ1aWxk
cy5idWlsZGVyID0gJDEKKyAgICAgICAgICAgICAgICAgICAgR1JPVVAgQlkgYnVpbGRzLmlkIExJ
TUlUIDUwMCkgYXMgYnVpbGRzIE9OIHJlc3VsdHMuYnVpbGQgPSBidWlsZHMuaWQKKyAgICAgICAg
ICAgIFdIRVJFIHJlc3VsdHMudGVzdCBpbiAoJGNvbW1hX3NlcGFyYXRlZF90ZXN0X2lkcykKICAg
ICAgICAgICAgIE9SREVSIEJZIHJlc3VsdHMudGVzdCwgbGF0ZXN0X3JldmlzaW9uX3RpbWUgREVT
QyIsIGFycmF5KCR0aGlzLT5idWlsZGVyX2lkKSk7CiAgICAgICAgIGlmICghJGFsbF9yZXN1bHRz
KQogICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgICAgICRmYWlsaW5nX2pzb25fZnAg
PSAkdGhpcy0+b3Blbl9qc29uX2Zvcl9mYWlsdXJlX3R5cGUoJ2ZhaWxpbmcnKTsKKyAgICAgICAg
JGpzb25fZnAgPSAkdGhpcy0+b3Blbl9qc29uX2Zvcl9mYWlsdXJlX3R5cGUoJGZhaWx1cmVfdHlw
ZSk7CiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAkZmxha3lfanNvbl9mcCA9ICR0aGlzLT5v
cGVuX2pzb25fZm9yX2ZhaWx1cmVfdHlwZSgnZmxha3knKTsKLSAgICAgICAgICAgIHRyeSB7Ci0g
ICAgICAgICAgICAgICAgJHdyb25nZXhwZWN0YXRpb25zX2pzb25fZnAgPSAkdGhpcy0+b3Blbl9q
c29uX2Zvcl9mYWlsdXJlX3R5cGUoJ3dyb25nZXhwZWN0YXRpb25zJyk7Ci0gICAgICAgICAgICAg
ICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT53cml0ZV9qc29ucygk
YWxsX3Jlc3VsdHMsIGFycmF5KAotICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZhaWxpbmdS
ZXN1bHRzSlNPTldyaXRlcigkZmFpbGluZ19qc29uX2ZwKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG5ldyBGbGFreVJlc3VsdHNKU09OV3JpdGVyKCRmbGFreV9qc29uX2ZwKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG5ldyBXcm9uZ0V4cGVjdGF0aW9uc1Jlc3VsdHNKU09OV3JpdGVyKCR3
cm9uZ2V4cGVjdGF0aW9uc19qc29uX2ZwKSksICRzdGFydF90aW1lKTsKLSAgICAgICAgICAgICAg
ICB9IGNhdGNoIChFeGNlcHRpb24gJGV4Y2VwdGlvbikgewotICAgICAgICAgICAgICAgICAgICBm
Y2xvc2UoJHdyb25nZXhwZWN0YXRpb25zX2pzb25fZnApOwotICAgICAgICAgICAgICAgICAgICB0
aHJvdyAkZXhjZXB0aW9uOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gY2F0Y2gg
KEV4Y2VwdGlvbiAkZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICAgICAgZmNsb3NlKCRmbGFreV9q
c29uX2ZwKTsKLSAgICAgICAgICAgICAgICB0aHJvdyAkZXhjZXB0aW9uOwotICAgICAgICAgICAg
fQorICAgICAgICAgICAgcmV0dXJuICR0aGlzLT53cml0ZV9qc29ucygkYWxsX3Jlc3VsdHMsIG5l
dyBSZXN1bHRzSlNPTldyaXRlcigkanNvbl9mcCksICRzdGFydF90aW1lKTsKICAgICAgICAgfSBj
YXRjaCAoRXhjZXB0aW9uICRleGNlcHRpb24pIHsKLSAgICAgICAgICAgIGZjbG9zZSgkZmFpbGlu
Z19qc29uX2ZwKTsKKyAgICAgICAgICAgIGZjbG9zZSgkanNvbl9mcCk7CiAgICAgICAgICAgICB0
aHJvdyAkZXhjZXB0aW9uOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICB9
CiAKKyAgICBwcml2YXRlIGZ1bmN0aW9uIGxhdGVzdF9idWlsZCgpIHsKKyAgICAgICAgJHJlc3Vs
dHMgPSAkdGhpcy0+ZGItPnF1ZXJ5X2FuZF9mZXRjaF9hbGwoJ1NFTEVDVCBidWlsZHMuaWQsIG1h
eChidWlsZF9yZXZpc2lvbnMudGltZSkgQVMgbGF0ZXN0X3JldmlzaW9uX3RpbWUKKyAgICAgICAg
ICAgIEZST00gYnVpbGRzLCBidWlsZF9yZXZpc2lvbnMKKyAgICAgICAgICAgIFdIRVJFIGJ1aWxk
X3JldmlzaW9ucy5idWlsZCA9IGJ1aWxkcy5pZCBBTkQgYnVpbGRzLmJ1aWxkZXIgPSAkMQorICAg
ICAgICAgICAgR1JPVVAgQlkgYnVpbGRzLmlkCisgICAgICAgICAgICBPUkRFUiBCWSBsYXRlc3Rf
cmV2aXNpb25fdGltZSBERVNDIExJTUlUIDEnLCBhcnJheSgkdGhpcy0+YnVpbGRlcl9pZCkpOwor
ICAgICAgICBpZiAoISRyZXN1bHRzKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAg
IHJldHVybiAkcmVzdWx0c1swXVsnaWQnXTsKKyAgICB9CisKICAgICBwcml2YXRlIGZ1bmN0aW9u
IG9wZW5fanNvbl9mb3JfZmFpbHVyZV90eXBlKCRmYWlsdXJlX3R5cGUpIHsKICAgICAgICAgJGZh
aWxpbmdfanNvbl9wYXRoID0gY29uZmlnUGF0aCgnZGF0YURpcmVjdG9yeScsICR0aGlzLT5idWls
ZGVyX2lkIC4gIi0kZmFpbHVyZV90eXBlLmpzb24iKTsKICAgICAgICAgaWYgKCEkZmFpbGluZ19q
c29uX3BhdGgpCkBAIC0yNDEsMjkgKzIyMyw2MSBAQCBjbGFzcyBSZXN1bHRzSlNPTkdlbmVyYXRv
ciB7CiAgICAgICAgIHJldHVybiAkZnA7CiAgICAgfQogCi0gICAgcHJpdmF0ZSBmdW5jdGlvbiB3
cml0ZV9qc29ucygkYWxsX3Jlc3VsdHMsICR3cml0ZXJzLCAkc3RhcnRfdGltZSkgewotICAgICAg
ICBmb3JlYWNoICgkd3JpdGVycyBhcyAkd3JpdGVyKQotICAgICAgICAgICAgJHdyaXRlci0+c3Rh
cnQoJHRoaXMtPmJ1aWxkZXJfaWQpOworICAgIHByaXZhdGUgZnVuY3Rpb24gd3JpdGVfanNvbnMo
JGFsbF9yZXN1bHRzLCAkd3JpdGVyLCAkc3RhcnRfdGltZSkgeworICAgICAgICAkd3JpdGVyLT5z
dGFydCgkdGhpcy0+YnVpbGRlcl9pZCk7CiAgICAgICAgICRjdXJyZW50X3Rlc3QgPSBOVUxMOwog
ICAgICAgICAkY3VycmVudF9yZXN1bHRzID0gYXJyYXkoKTsKICAgICAgICAgd2hpbGUgKCRyZXN1
bHQgPSAkdGhpcy0+ZGItPmZldGNoX25leHRfcm93KCRhbGxfcmVzdWx0cykpIHsKICAgICAgICAg
ICAgIGlmICgkcmVzdWx0Wyd0ZXN0J10gIT0gJGN1cnJlbnRfdGVzdCkgewotICAgICAgICAgICAg
ICAgIGlmICgkY3VycmVudF90ZXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR3
cml0ZXJzIGFzICR3cml0ZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICAkd3JpdGVyLT5hZGRf
cmVzdWx0c19mb3JfdGVzdF9pZl9tYXRjaGVzKCRjdXJyZW50X3Rlc3QsICRjdXJyZW50X3Jlc3Vs
dHMpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoJGN1cnJlbnRfdGVz
dCkKKyAgICAgICAgICAgICAgICAgICAgJHdyaXRlci0+YWRkX3Jlc3VsdHNfZm9yX3Rlc3QoJGN1
cnJlbnRfdGVzdCwgJGN1cnJlbnRfcmVzdWx0cyk7CiAgICAgICAgICAgICAgICAgJGN1cnJlbnRf
cmVzdWx0cyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgJGN1cnJlbnRfdGVzdCA9ICRyZXN1
bHRbJ3Rlc3QnXTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFycmF5X3B1c2goJGN1cnJl
bnRfcmVzdWx0cywgZm9ybWF0X3Jlc3VsdCgkcmVzdWx0KSk7CiAgICAgICAgIH0KLQotICAgICAg
ICAkdG90YWxfdGltZSA9IG1pY3JvdGltZSh0cnVlKSAtICRzdGFydF90aW1lOwotICAgICAgICBm
b3JlYWNoICgkd3JpdGVycyBhcyAkd3JpdGVyKQotICAgICAgICAgICAgJHdyaXRlci0+ZW5kKCR0
b3RhbF90aW1lKTsKLQorICAgICAgICAkd3JpdGVyLT5lbmQobWljcm90aW1lKHRydWUpIC0gJHN0
YXJ0X3RpbWUpOwogICAgICAgICByZXR1cm4gVFJVRTsKICAgICB9CiB9CiAKK2Z1bmN0aW9uIHVw
ZGF0ZV9mbGFraW5lc3NfZm9yX2J1aWxkKCRkYiwgJHByZWNlZWRpbmdfYnVpbGQsICRjdXJyZW50
X2J1aWxkLCAkc3VjY2VlZGluZ19idWlsZCkgeworICAgIHJldHVybiAkZGItPnF1ZXJ5X2FuZF9n
ZXRfYWZmZWN0ZWRfcm93cygiVVBEQVRFIHJlc3VsdHMKKyAgICAgICAgU0VUIGlzX2ZsYWt5ID0g
cHJlY2VlZGluZ19yZXN1bHRzLmFjdHVhbCA9IHN1Y2NlZWRpbmdfcmVzdWx0cy5hY3R1YWwgQU5E
IHByZWNlZWRpbmdfcmVzdWx0cy5hY3R1YWwgIT0gcmVzdWx0cy5hY3R1YWwKKyAgICAgICAgRlJP
TSByZXN1bHRzIHByZWNlZWRpbmdfcmVzdWx0cywgcmVzdWx0cyBzdWNjZWVkaW5nX3Jlc3VsdHMK
KyAgICAgICAgV0hFUkUgcHJlY2VlZGluZ19yZXN1bHRzLmJ1aWxkID0gJDEgQU5EIHJlc3VsdHMu
YnVpbGQgPSAkMiBBTkQgc3VjY2VlZGluZ19yZXN1bHRzLmJ1aWxkID0gJDMKKyAgICAgICAgICAg
IEFORCBwcmVjZWVkaW5nX3Jlc3VsdHMudGVzdCA9IHJlc3VsdHMudGVzdCBBTkQgc3VjY2VlZGlu
Z19yZXN1bHRzLnRlc3QgPSByZXN1bHRzLnRlc3QiLAorICAgICAgICAgICAgYXJyYXkoJHByZWNl
ZWRpbmdfYnVpbGRbJ2lkJ10sICRjdXJyZW50X2J1aWxkWydpZCddLCAkc3VjY2VlZGluZ19idWls
ZFsnaWQnXSkpOworfQorCitmdW5jdGlvbiB1cGRhdGVfZmxha2luZXNzX2FmdGVyX2luc2VydGlu
Z19idWlsZCgkZGIsICRidWlsZF9pZCkgeworICAgIC8vIEZJWE1FOiBJbiB0aGVvcnksIGl0J3Mg
cG9zc2libGUgZm9yIG5ldyBidWlsZHMgdG8gYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgdGltZSB0
aGlzIHNlbGVjdCBxdWVyeSBpcyByYW4gYW5kIHF1cmllcyBhcmUgZXhlY3V0ZWQgYnkgdXBkYXRl
X2ZsYWtpbmVzc19mb3JfYnVpbGQuCisgICAgJG9yZGVyZWRfYnVpbGRzID0gJGRiLT5xdWVyeV9h
bmRfZmV0Y2hfYWxsKCJTRUxFQ1QgYnVpbGRzLmlkLCBtYXgoYnVpbGRfcmV2aXNpb25zLnRpbWUp
IEFTIGxhdGVzdF9yZXZpc2lvbl90aW1lCisgICAgICAgIEZST00gYnVpbGRzLCBidWlsZF9yZXZp
c2lvbnMKKyAgICAgICAgV0hFUkUgYnVpbGRfcmV2aXNpb25zLmJ1aWxkID0gYnVpbGRzLmlkIEFO
RCBidWlsZHMuYnVpbGRlciA9IChTRUxFQ1QgYnVpbGRzLmJ1aWxkZXIgRlJPTSBidWlsZHMgV0hF
UkUgaWQgPSAkMSkKKyAgICAgICAgR1JPVVAgQlkgYnVpbGRzLmlkIE9SREVSIEJZIGxhdGVzdF9y
ZXZpc2lvbl90aW1lLCBidWlsZHMuc3RhcnRfdGltZSBERVNDIiwgYXJyYXkoJGJ1aWxkX2lkKSk7
CisKKyAgICAkY3VycmVudF9idWlsZCA9IE5VTEw7CisgICAgZm9yICgkaSA9IDA7ICRpIDwgY291
bnQoJG9yZGVyZWRfYnVpbGRzKTsgJGkrKykgeworICAgICAgICBpZiAoJG9yZGVyZWRfYnVpbGRz
WyRpXVsnaWQnXSA9PSAkYnVpbGRfaWQpIHsKKyAgICAgICAgICAgICRjdXJyZW50X2J1aWxkID0g
JGk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoJGN1cnJl
bnRfYnVpbGQgPT09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgJGFmZmVjdGVk
X3Jvd3MgPSAwOworICAgIGlmICgkY3VycmVudF9idWlsZCA+PSAyKQorICAgICAgICAkYWZmZWN0
ZWRfcm93cyArPSB1cGRhdGVfZmxha2luZXNzX2Zvcl9idWlsZCgkZGIsICRvcmRlcmVkX2J1aWxk
c1skY3VycmVudF9idWlsZCAtIDJdLCAkb3JkZXJlZF9idWlsZHNbJGN1cnJlbnRfYnVpbGQgLSAx
XSwgJG9yZGVyZWRfYnVpbGRzWyRjdXJyZW50X2J1aWxkXSk7CisKKyAgICBpZiAoJGN1cnJlbnRf
YnVpbGQgPj0gMSAmJiAkY3VycmVudF9idWlsZCArIDEgPCBjb3VudCgkb3JkZXJlZF9idWlsZHMp
KQorICAgICAgICAkYWZmZWN0ZWRfcm93cyArPSB1cGRhdGVfZmxha2luZXNzX2Zvcl9idWlsZCgk
ZGIsICRvcmRlcmVkX2J1aWxkc1skY3VycmVudF9idWlsZCAtIDFdLCAkb3JkZXJlZF9idWlsZHNb
JGN1cnJlbnRfYnVpbGRdLCAkb3JkZXJlZF9idWlsZHNbJGN1cnJlbnRfYnVpbGQgKyAxXSk7CisK
KyAgICBpZiAoJGN1cnJlbnRfYnVpbGQgKyAyIDwgY291bnQoJG9yZGVyZWRfYnVpbGRzKSkKKyAg
ICAgICAgJGFmZmVjdGVkX3Jvd3MgKz0gdXBkYXRlX2ZsYWtpbmVzc19mb3JfYnVpbGQoJGRiLCAk
b3JkZXJlZF9idWlsZHNbJGN1cnJlbnRfYnVpbGRdLCAkb3JkZXJlZF9idWlsZHNbJGN1cnJlbnRf
YnVpbGQgKyAxXSwgJG9yZGVyZWRfYnVpbGRzWyRjdXJyZW50X2J1aWxkICsgMl0pOworCisgICAg
cmV0dXJuICRhZmZlY3RlZF9yb3dzOworfQorCiA/Pgo=
</data>
<flag name="review"
          id="238747"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>