<?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>85267</bug_id>
          
          <creation_ts>2012-05-01 00:08:44 -0700</creation_ts>
          <short_desc>NRWT with --leaks shows leaks from old runs</short_desc>
          <delta_ts>2012-06-08 15:44:44 -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>DUPLICATE</resolution>
          <dup_id>84196</dup_id>
          
          <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="Tim Horton">thorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>613267</commentid>
    <comment_count>0</comment_count>
      <attachid>139589</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-05-01 00:08:44 -0700</bug_when>
    <thetext>Created attachment 139589
patch

A note from webkitpy/layout_tests/port/mac.py:

# FIXME: This will include too many leaks in subsequent runs until the results directory is cleared!

This is indeed the case, and it caught me up earlier today. Seems pretty unfortunate.

I hacked up a horrible solution, which is basically just shoving a UUID through everywhere and using that in the leaks filename. I don&apos;t like it, I&apos;m hoping dpranke or someone who knows the code better can come up with something better (I&apos;m happy to implement it, I just need a better idea). (for one: why don&apos;t we just capture the output and fling it back through to the manager (can we go in that direction?), and have it all written out into one file per run; that way they&apos;d all be together and not get mixed up).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613278</commentid>
    <comment_count>1</comment_count>
      <attachid>139595</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-05-01 00:20:58 -0700</bug_when>
    <thetext>Created attachment 139595
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613571</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-01 11:54:07 -0700</bug_when>
    <thetext>Hm. I didn&apos;t write this code, so I&apos;m cc&apos;ing eric (it looks like this was mostly eric and adam&apos;s work). 

That said, I have a couple of thoughts. 

First, it looks like the leak files are written to the results directory, you could avoid this problem altogether by deleting any old leak files prior to the run either by running with --clobber-old-results or by doing a more specific deletion (e.g., in setup_test_run()).

Second, if you wanted to keep perhaps it&apos;s enough to look for any leak files written since the start of the test run? You could catch the start of the run in setup_test_run() or even Port.__init__() and then modify leaks_file_in_directory to take a timestamp and filter for files with a ctime (or an mtime) &gt; that time.

I&apos;d probably vote for option #2, above.

However, if you really wanted to go the uuid route, I would probably pass it through via the WorkerArguments class populated in manager.py and then passed to the worker in start_worker().

Then, of course, we could approach this a completely different way ...

Right now we check for leaks when we stop the process; the problem with capturing that output and passing it back to the manager is that it isn&apos;t directly correlated to a particular test, and so it doesn&apos;t fit the normal model of messaging the workers use. 

There&apos;s nothing to stop us from, for example, modifying driver.stop() to pass back an object and then sending that object back in a message to the manager, which could then aggregate the objects and write into a single file, as you suggest. It wouldn&apos;t be much different from the set_uuid() message you added, it would just go in the opposite direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645078</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-08 15:44:44 -0700</bug_when>
    <thetext>I think this was fixed with the patch in bug 84196 (r114577), right? I&apos;m closing this; please re-open if I&apos;m missing something.

*** This bug has been marked as a duplicate of bug 84196 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139589</attachid>
            <date>2012-05-01 00:08:44 -0700</date>
            <delta_ts>2012-05-01 00:20:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>leaks.diff</filename>
            <type>text/plain</type>
            <size>12807</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4IGQ5NjBlNzguLmUxNTNhMDAgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlci5weQpAQCAtNDMsNiArNDMsNyBAQCBpbXBvcnQgcmFuZG9tCiBpbXBvcnQgcmUKIGltcG9y
dCBzeXMKIGltcG9ydCB0aW1lCitpbXBvcnQgdXVpZAogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5jb250cm9sbGVycyBpbXBvcnQgbWFuYWdlcl93b3JrZXJfYnJva2VyCiBmcm9tIHdlYmtp
dHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycyBpbXBvcnQgd29ya2VyCkBAIC0zMjYsNiArMzI3
LDkgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAjIFRoaXMgbWFwcyB3b3JrZXIg
bmFtZXMgdG8gdGhlIHN0YXRlIHdlIGFyZSB0cmFja2luZyBmb3IgZWFjaCBvZiB0aGVtLgogICAg
ICAgICBzZWxmLl93b3JrZXJfc3RhdGVzID0ge30KIAorICAgICAgICAjIFVVSUQgaWRlbnRpZnlp
bmcgdGhpcyBwYXJ0aWN1bGFyIHJ1bgorICAgICAgICBzZWxmLl9ydW5fdXVpZCA9IHV1aWQudXVp
ZDEoKQorCiAgICAgZGVmIGNvbGxlY3RfdGVzdHMoc2VsZiwgYXJncyk6CiAgICAgICAgICIiIkZp
bmQgYWxsIHRoZSBmaWxlcyB0byB0ZXN0LgogCkBAIC03NzgsNiArNzgyLDcgQEAgY2xhc3MgTWFu
YWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9wcmludGVyLnByaW50X3VwZGF0ZSgiU3RhcnRp
bmcgdGVzdGluZyAuLi4iKQogICAgICAgICBmb3Igc2hhcmQgaW4gYWxsX3NoYXJkczoKICAgICAg
ICAgICAgICMgRklYTUU6IENoYW5nZSAndGVzdF9saXN0JyB0byAnc2hhcmQnLCBtYWtlIHNoYXJk
aW5nIHB1YmxpYy4KKyAgICAgICAgICAgIG1hbmFnZXJfY29ubmVjdGlvbi5wb3N0X21lc3NhZ2Uo
J3NldF91dWlkJywgc2VsZi5fcnVuX3V1aWQpCiAgICAgICAgICAgICBtYW5hZ2VyX2Nvbm5lY3Rp
b24ucG9zdF9tZXNzYWdlKCd0ZXN0X2xpc3QnLCBzaGFyZC5uYW1lLCBzaGFyZC50ZXN0X2lucHV0
cykKIAogICAgICAgICAjIFdlIHBvc3Qgb25lICdzdG9wJyBtZXNzYWdlIGZvciBlYWNoIHdvcmtl
ci4gQmVjYXVzZSB0aGUgc3RvcCBtZXNzYWdlCkBAIC05MzEsNyArOTM2LDcgQEAgY2xhc3MgTWFu
YWdlcihvYmplY3QpOgogICAgICAgICAjIEZJWE1FOiByZW1vdmUgcmVjb3JkX3Jlc3VsdHMuIEl0
J3MganVzdCB1c2VkIGZvciB0ZXN0aW5nLiBUaGVyZSdzIG5vIG5lZWQKICAgICAgICAgIyBmb3Ig
aXQgdG8gYmUgYSBjb21tYW5kbGluZSBhcmd1bWVudC4KICAgICAgICAgaWYgKHNlbGYuX29wdGlv
bnMucmVjb3JkX3Jlc3VsdHMgYW5kIG5vdCBzZWxmLl9vcHRpb25zLmRyeV9ydW4gYW5kIG5vdCBr
ZXlib2FyZF9pbnRlcnJ1cHRlZCk6Ci0gICAgICAgICAgICBzZWxmLl9wb3J0LnByaW50X2xlYWtz
X3N1bW1hcnkoKQorICAgICAgICAgICAgc2VsZi5fcG9ydC5wcmludF9sZWFrc19zdW1tYXJ5KHNl
bGYuX3J1bl91dWlkKQogICAgICAgICAgICAgIyBXcml0ZSB0aGUgc2FtZSBkYXRhIHRvIGxvZyBm
aWxlcyBhbmQgdXBsb2FkIGdlbmVyYXRlZCBKU09OIGZpbGVzIHRvIGFwcGVuZ2luZSBzZXJ2ZXIu
CiAgICAgICAgICAgICBzdW1tYXJpemVkX3Jlc3VsdHMgPSBzdW1tYXJpemVfcmVzdWx0cyhzZWxm
Ll9wb3J0LCBzZWxmLl9leHBlY3RhdGlvbnMsIHJlc3VsdF9zdW1tYXJ5LCByZXRyeV9zdW1tYXJ5
LCBpbmRpdmlkdWFsX3Rlc3RfdGltaW5ncywgb25seV91bmV4cGVjdGVkPUZhbHNlLCBpbnRlcnJ1
cHRlZD1pbnRlcnJ1cHRlZCkKICAgICAgICAgICAgIHNlbGYuX3VwbG9hZF9qc29uX2ZpbGVzKHN1
bW1hcml6ZWRfcmVzdWx0cywgcmVzdWx0X3N1bW1hcnksIGluZGl2aWR1YWxfdGVzdF90aW1pbmdz
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvd29ya2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvd29ya2VyLnB5CmluZGV4IGExZTNiZWUuLjk0Mzc4YmEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3Jr
ZXIucHkKQEAgLTY2LDYgKzY2LDcgQEAgY2xhc3MgV29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tl
ci5BYnN0cmFjdFdvcmtlcik6CiAgICAgICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlID0gTm9uZQog
ICAgICAgICBzZWxmLl90ZXN0c19ydW5fZmlsZW5hbWUgPSBOb25lCiAgICAgICAgIHNlbGYuX21l
dGVyID0gTm9uZQorICAgICAgICBzZWxmLl9ydW5fdXVpZCA9IE5vbmUKIAogICAgIGRlZiBfX2Rl
bF9fKHNlbGYpOgogICAgICAgICBzZWxmLmNsZWFudXAoKQpAQCAtMTM2LDYgKzEzNywxMiBAQCBj
bGFzcyBXb3JrZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKICAgICAg
ICAgICAgIF9sb2cuZGVidWcoIiVzIGV4aXRpbmciICUgc2VsZi5fbmFtZSkKICAgICAgICAgICAg
IHNlbGYuY2xlYW51cCgpCiAKKyAgICBkZWYgaGFuZGxlX3NldF91dWlkKHNlbGYsIHNyYywgcnVu
X3V1aWQpOgorICAgICAgICBzZWxmLl9ydW5fdXVpZCA9IHJ1bl91dWlkCisKKyAgICAgICAgaWYg
c2VsZi5fZHJpdmVyOgorICAgICAgICAgICAgc2VsZi5fZHJpdmVyLnNldF91dWlkKHNlbGYuX3J1
bl91dWlkKQorCiAgICAgZGVmIGhhbmRsZV90ZXN0X2xpc3Qoc2VsZiwgc3JjLCBsaXN0X25hbWUs
IHRlc3RfbGlzdCk6CiAgICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQogICAgICAgICBu
dW1fdGVzdHMgPSAwCkBAIC0yOTUsNiArMzAyLDcgQEAgY2xhc3MgV29ya2VyKG1hbmFnZXJfd29y
a2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CiAgICAgICAgICAgICBzZWxmLmtpbGxfZHJpdmVy
KCkKICAgICAgICAgaWYgbm90IHNlbGYuX2RyaXZlcjoKICAgICAgICAgICAgIHNlbGYuX2RyaXZl
ciA9IHNlbGYuX3BvcnQuY3JlYXRlX2RyaXZlcihzZWxmLl93b3JrZXJfbnVtYmVyKQorICAgICAg
ICAgICAgc2VsZi5fZHJpdmVyLnNldF91dWlkKHNlbGYuX3J1bl91dWlkKQogICAgICAgICByZXR1
cm4gc2VsZi5ydW5fc2luZ2xlX3Rlc3Qoc2VsZi5fZHJpdmVyLCB0ZXN0X2lucHV0KQogCiAgICAg
ZGVmIHJ1bl9zaW5nbGVfdGVzdChzZWxmLCBkcml2ZXIsIHRlc3RfaW5wdXQpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4IGVhOTIy
NWIuLjNjZjg4NDkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Jhc2UucHkKQEAgLTI5MCwxNCArMjkwLDE0IEBAIGNsYXNzIFBvcnQob2JqZWN0KToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbF9maWxlbmFtZSkKICAg
ICAgICAgcmV0dXJuICcnLmpvaW4oZGlmZikKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2Vs
ZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhz
ZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBydW5fdXVpZCk6CiAgICAgICAgICMgU3Vi
Y2xhc3NlcyBzaG91bGQgY2hlY2sgZm9yIGxlYWtzIGluIHRoZSBydW5uaW5nIHByb2Nlc3MKICAg
ICAgICAgIyBhbmQgcHJpbnQgYW55IG5lY2Vzc2FyeSB3YXJuaW5ncyBpZiBsZWFrcyBhcmUgZm91
bmQuCiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBtb3ZpbmcgbXVjaCBvZiB0
aGlzIGxvZ2ljIGludG8KICAgICAgICAgIyBFeGVjdXRpdmUgYW5kIG1ha2UgaXQgcGxhdGZvcm0t
c3BlY2lmaWMgaW5zdGVhZCBvZiBwb3J0LXNwZWNpZmljLgogICAgICAgICBwYXNzCiAKLSAgICBk
ZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmKToKKyAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFy
eShzZWxmLCBydW5fdXVpZCk6CiAgICAgICAgICMgU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhp
cyB0byBwcmludCBhIHN1bW1hcnkgb2YgbGVha3MgZm91bmQKICAgICAgICAgIyB3aGlsZSBydW5u
aW5nIHRoZSBsYXlvdXQgdGVzdHMuCiAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXIucHkKaW5kZXggYTExM2RhMy4uNzlh
YmI3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9kcml2ZXIucHkKQEAgLTIyNiw2ICsyMjYsOSBAQCBjbGFzcyBEcml2ZXJQcm94eShvYmplY3Qp
OgogICAgICAgICAjIGludG8gcnVuX3Rlc3QoKSBkaXJlY3RseS4KICAgICAgICAgc2VsZi5fZHJp
dmVyLnN0YXJ0KHNlbGYuX3BvcnQuZ2V0X29wdGlvbigncGl4ZWxfdGVzdHMnKSwgW10pCiAKKyAg
ICBkZWYgc2V0X3V1aWQoc2VsZiwgcnVuX3V1aWQpOgorICAgICAgICBzZWxmLl9kcml2ZXIuc2V0
X3V1aWQocnVuX3V1aWQpCisKICAgICBkZWYgaGFzX2NyYXNoZWQoc2VsZik6CiAgICAgICAgIHJl
dHVybiBhbnkoZHJpdmVyLmhhc19jcmFzaGVkKCkgZm9yIGRyaXZlciBpbiBzZWxmLl9ydW5uaW5n
X2RyaXZlcnMudmFsdWVzKCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvbGVha2RldGVjdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHkKaW5kZXggMjVkZDQ0Zi4uN2I0Yjc1
YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9s
ZWFrZGV0ZWN0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9sZWFrZGV0ZWN0b3IucHkKQEAgLTEwMSwxMiArMTAxLDEyIEBAIGNsYXNzIExlYWtEZXRl
Y3RvcihvYmplY3QpOgogICAgICAgICBleGNsdWRlZCA9IGV4Y2x1ZGVkX21hdGNoLmdyb3VwKCdl
eGNsdWRlZCcpIGlmIGV4Y2x1ZGVkX21hdGNoIGVsc2UgMAogICAgICAgICByZXR1cm4gaW50KGNv
dW50KSwgaW50KGV4Y2x1ZGVkKSwgaW50KGJ5dGVzKQogCi0gICAgZGVmIGxlYWtzX2ZpbGVzX2lu
X2RpcmVjdG9yeShzZWxmLCBkaXJlY3RvcnkpOgotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5
c3RlbS5nbG9iKHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihkaXJlY3RvcnksICIqLWxlYWtzLnR4dCIp
KQorICAgIGRlZiBsZWFrc19maWxlc19pbl9kaXJlY3Rvcnkoc2VsZiwgZGlyZWN0b3J5LCBydW5f
dXVpZCk6CisgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5fZmlsZXN5
c3RlbS5qb2luKGRpcmVjdG9yeSwgIiotJXMtbGVha3MudHh0IikgJSBydW5fdXVpZCkKIAotICAg
IGRlZiBsZWFrc19maWxlX25hbWUoc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6Cisg
ICAgZGVmIGxlYWtzX2ZpbGVfbmFtZShzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBy
dW5fdXVpZCk6CiAgICAgICAgICMgV2UgaW5jbHVkZSB0aGUgbnVtYmVyIG9mIGZpbGVzIHRoaXMg
d29ya2VyIGhhcyBhbHJlYWR5IHdyaXR0ZW4gaW4gdGhlIG5hbWUgdG8gcHJldmVudCBvdmVyd3Jp
dHRpbmcgcHJldmlvdXMgbGVhayByZXN1bHRzLi4KLSAgICAgICAgcmV0dXJuICIlcy0lcy1sZWFr
cy50eHQiICUgKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCisgICAgICAgIHJldHVybiAiJXMt
JXMtJXMtbGVha3MudHh0IiAlIChwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBydW5fdXVpZCkK
IAogICAgIGRlZiBjb3VudF90b3RhbF9ieXRlc19hbmRfdW5pcXVlX2xlYWtzKHNlbGYsIGxlYWtf
ZmlsZXMpOgogICAgICAgICBtZXJnZV9kZXB0aCA9IDUgICMgT1JXVCBoYWQgYSAtLW1lcmdlLWxl
YWstZGVwdGggYXJndW1lbnQsIGJ1dCB0aGF0IHNlZW1zIG91dCBvZiBzY29wZSBmb3IgdGhlIHJ1
bi13ZWJraXQtdGVzdHMgdG9vbC4KQEAgLTEzNSw3ICsxMzUsNyBAQCBjbGFzcyBMZWFrRGV0ZWN0
b3Iob2JqZWN0KToKICAgICAgICAgICAgIHRvdGFsX2xlYWtzICs9IGNvdW50CiAgICAgICAgIHJl
dHVybiB0b3RhbF9sZWFrcwogCi0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNz
X25hbWUsIHByb2Nlc3NfcGlkKToKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nl
c3NfbmFtZSwgcHJvY2Vzc19waWQsIHJ1bl91dWlkKToKICAgICAgICAgX2xvZy5kZWJ1ZygiQ2hl
Y2tpbmcgZm9yIGxlYWtzIGluICVzIiAlIHByb2Nlc3NfbmFtZSkKICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgIyBPZGRseSBlbm91Z2gsIHJ1bi1sZWFrcyAob3IgdGhlIHVuZGVybHlpbmcgbGVh
a3MgdG9vbCkgZG9lcyBub3Qgc2VlbSB0byBhbHdheXMgb3V0cHV0IHV0Zi04LApAQCAtMTUyLDcg
KzE1Miw3IEBAIGNsYXNzIExlYWtEZXRlY3RvcihvYmplY3QpOgogICAgICAgICBpZiBub3QgYWRq
dXN0ZWRfY291bnQ6CiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBsZWFrc19maWxlbmFt
ZSA9IHNlbGYubGVha3NfZmlsZV9uYW1lKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCisgICAg
ICAgIGxlYWtzX2ZpbGVuYW1lID0gc2VsZi5sZWFrc19maWxlX25hbWUocHJvY2Vzc19uYW1lLCBw
cm9jZXNzX3BpZCwgcnVuX3V1aWQpCiAgICAgICAgIGxlYWtzX291dHB1dF9wYXRoID0gc2VsZi5f
ZmlsZXN5c3RlbS5qb2luKHNlbGYuX3BvcnQucmVzdWx0c19kaXJlY3RvcnkoKSwgbGVha3NfZmls
ZW5hbWUpCiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUobGVha3Nf
b3V0cHV0X3BhdGgsIGxlYWtzX291dHB1dCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L21hYy5weQppbmRleCBhODEyOGQ4Li4wMjU0ZTQ1IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weQpAQCAtMTI2
LDE5ICsxMjYsMTggQEAgY2xhc3MgTWFjUG9ydChBcHBsZVBvcnQpOgogICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICBkZWYgY2hlY2tfZm9yX2xlYWtz
KHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpOgorICAgIGRlZiBjaGVja19mb3JfbGVh
a3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCwgcnVuX3V1aWQpOgogICAgICAgICBp
ZiBub3Qgc2VsZi5nZXRfb3B0aW9uKCdsZWFrcycpOgogICAgICAgICAgICAgcmV0dXJuCiAgICAg
ICAgICMgV2UgY291bGQgdXNlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9wc3V0aWwvIHRvIGdl
dCB0aGUgcHJvY2Vzc19uYW1lIGZyb20gdGhlIHBpZC4KLSAgICAgICAgc2VsZi5fbGVha19kZXRl
Y3Rvci5jaGVja19mb3JfbGVha3MocHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCkKKyAgICAgICAg
c2VsZi5fbGVha19kZXRlY3Rvci5jaGVja19mb3JfbGVha3MocHJvY2Vzc19uYW1lLCBwcm9jZXNz
X3BpZCwgcnVuX3V1aWQpCiAKLSAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmKToKKyAg
ICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmLCBydW5fdXVpZCk6CiAgICAgICAgIGlmIG5v
dCBzZWxmLmdldF9vcHRpb24oJ2xlYWtzJyk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAg
IyBXZSdyZSBpbiB0aGUgbWFuYWdlciBwcm9jZXNzLCBzbyB0aGUgbGVhayBkZXRlY3RvciB3aWxs
IG5vdCBoYXZlIGEgdmFsaWQgbGlzdCBvZiBsZWFrIGZpbGVzLgogICAgICAgICAjIEZJWE1FOiBU
aGlzIGlzIGEgaGFjaywgYnV0IHdlIGRvbid0IGhhdmUgYSBiZXR0ZXIgd2F5IHRvIGdldCB0aGlz
IGluZm9ybWF0aW9uIGZyb20gdGhlIHdvcmtlcnMgeWV0LgotICAgICAgICAjIEZJWE1FOiBUaGlz
IHdpbGwgaW5jbHVkZSB0b28gbWFueSBsZWFrcyBpbiBzdWJzZXF1ZW50IHJ1bnMgdW50aWwgdGhl
IHJlc3VsdHMgZGlyZWN0b3J5IGlzIGNsZWFyZWQhCi0gICAgICAgIGxlYWtzX2ZpbGVzID0gc2Vs
Zi5fbGVha19kZXRlY3Rvci5sZWFrc19maWxlc19pbl9kaXJlY3Rvcnkoc2VsZi5yZXN1bHRzX2Rp
cmVjdG9yeSgpKQorICAgICAgICBsZWFrc19maWxlcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3IubGVh
a3NfZmlsZXNfaW5fZGlyZWN0b3J5KHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgcnVuX3V1aWQp
CiAgICAgICAgIGlmIG5vdCBsZWFrc19maWxlczoKICAgICAgICAgICAgIHJldHVybgogICAgICAg
ICB0b3RhbF9ieXRlc19zdHJpbmcsIHVuaXF1ZV9sZWFrcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3Iu
Y291bnRfdG90YWxfYnl0ZXNfYW5kX3VuaXF1ZV9sZWFrcyhsZWFrc19maWxlcykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nl
c3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9w
cm9jZXNzLnB5CmluZGV4IGM1MGMwZTYuLmY1MzMzOTYyIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHkK
QEAgLTUyLDEzICs1MiwxNCBAQCBjbGFzcyBTZXJ2ZXJQcm9jZXNzOgogICAgIGluZGVmaW5pdGVs
eS4gVGhlIGNsYXNzIGFsc28gaGFuZGxlcyB0cmFuc3BhcmVudGx5IHJlc3RhcnRpbmcgcHJvY2Vz
c2VzCiAgICAgYXMgbmVjZXNzYXJ5IHRvIGtlZXAgaXNzdWluZyBjb21tYW5kcy4iIiIKIAotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaiwgbmFtZSwgY21kLCBlbnY9Tm9uZSwgZXhlY3V0
aXZlPUV4ZWN1dGl2ZSgpKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydF9vYmosIG5hbWUs
IGNtZCwgZW52PU5vbmUsIGV4ZWN1dGl2ZT1FeGVjdXRpdmUoKSwgcnVuX3V1aWQ9Tm9uZSk6CiAg
ICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0X29iagogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZSAg
IyBTaG91bGQgYmUgdGhlIGNvbW1hbmQgbmFtZSAoZS5nLiBEdW1wUmVuZGVyVHJlZSwgSW1hZ2VE
aWZmKQogICAgICAgICBzZWxmLl9jbWQgPSBjbWQKICAgICAgICAgc2VsZi5fZW52ID0gZW52CiAg
ICAgICAgIHNlbGYuX3Jlc2V0KCkKICAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gZXhlY3V0aXZl
CisgICAgICAgIHNlbGYuX3J1bl91dWlkID0gcnVuX3V1aWQKIAogICAgIGRlZiBuYW1lKHNlbGYp
OgogICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQpAQCAtMTc5LDYgKzE4MCw5IEBAIGNsYXNzIFNl
cnZlclByb2Nlc3M6CiAgICAgICAgIF9sb2cuaW5mbygnJykKICAgICAgICAgX2xvZy5pbmZvKG1l
c3NhZ2UpCiAKKyAgICBkZWYgc2V0X3V1aWQoc2VsZiwgcnVuX3V1aWQpOgorICAgICAgICBzZWxm
Ll9ydW5fdXVpZCA9IHJ1bl91dWlkCisgICAgICAgIHByaW50ICJnb3QgdG8gc2V0X3V1aWQgaW4g
c2VydmVyX3Byb2Nlc3Mgd2l0aCB1dWlkIiwgcnVuX3V1aWQKIAogICAgIGRlZiBfaGFuZGxlX3Rp
bWVvdXQoc2VsZik6CiAgICAgICAgIHNlbGYudGltZWRfb3V0ID0gVHJ1ZQpAQCAtMjQzLDcgKzI0
Nyw4IEBAIGNsYXNzIFNlcnZlclByb2Nlc3M6CiAKICAgICAgICAgIyBPbmx5IGJvdGhlciB0byBj
aGVjayBmb3IgbGVha3MgaWYgdGhlIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZy4KICAgICAgICAg
aWYgc2VsZi5wb2xsKCkgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuX3BvcnQuY2hlY2tfZm9y
X2xlYWtzKHNlbGYubmFtZSgpLCBzZWxmLnBpZCgpKQorICAgICAgICAgICAgcHJpbnQgImdvaW5n
IHRvIGNoZWNrX2Zvcl9sZWFrcyB3aXRoIHV1aWQiLCBzZWxmLl9ydW5fdXVpZAorICAgICAgICAg
ICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2VsZi5uYW1lKCksIHNlbGYucGlkKCksIHNl
bGYuX3J1bl91dWlkKQogCiAgICAgICAgIHBpZCA9IHNlbGYuX3Byb2MucGlkCiAgICAgICAgIHNl
bGYuX3Byb2Muc3RkaW4uY2xvc2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3Qu
cHkKaW5kZXggYjQ1YmFkMy4uZmNjYjQ3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzX3Vu
aXR0ZXN0LnB5CkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFRyaXZpYWxNb2NrUG9ydChvYmplY3Qp
OgogICAgIGRlZiByZXN1bHRzX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuICIvbW9j
ay1yZXN1bHRzIgogCi0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUs
IHByb2Nlc3NfcGlkKToKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFt
ZSwgcHJvY2Vzc19waWQsIHJ1bl91dWlkKToKICAgICAgICAgcGFzcwogCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXggNzlm
OWFkMC4uYjRjNGI4ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTQ0NCw2ICs0NDQsOCBAQCBjbGFzcyBXZWJLaXREcml2
ZXIoRHJpdmVyKToKICAgICAgICAgc2VsZi5lcnJfc2Vlbl9lb2YgPSBGYWxzZQogICAgICAgICBz
ZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IE5vbmUKIAorICAgICAgICBzZWxmLl9ydW5fdXVpZCA9IE5v
bmUKKwogICAgICMgRklYTUU6IFRoaXMgbWF5IGJlIHVuc2FmZSwgYXMgcHl0aG9uIGRvZXMgbm90
IGd1YXJlbnRlZSBhbnkgb3JkZXJpbmcgb2YgX19kZWxfXyBjYWxscwogICAgICMgSSBiZWxpZXZl
IGl0J3MgcG9zc2libGUgdGhhdCBzZWxmLl9wb3J0IG9yIHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0g
bWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLgogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgpAQCAtNDgx
LDcgKzQ4Myw3IEBAIGNsYXNzIFdlYktpdERyaXZlcihEcml2ZXIpOgogICAgICAgICBlbnZpcm9u
bWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9PVCddID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGly
KCkKICAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25hbWUgPSBOb25lCiAgICAgICAgIHNl
bGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IHNl
cnZlcl9wcm9jZXNzLlNlcnZlclByb2Nlc3Moc2VsZi5fcG9ydCwgc2VydmVyX25hbWUsIHNlbGYu
Y21kX2xpbmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBlbnZpcm9ubWVudCkKKyAgICAg
ICAgc2VsZi5fc2VydmVyX3Byb2Nlc3MgPSBzZXJ2ZXJfcHJvY2Vzcy5TZXJ2ZXJQcm9jZXNzKHNl
bGYuX3BvcnQsIHNlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3RzLCBwZXJfdGVz
dF9hcmdzKSwgZW52aXJvbm1lbnQsIEV4ZWN1dGl2ZSgpLCBzZWxmLl9ydW5fdXVpZCkKIAogICAg
IGRlZiBoYXNfY3Jhc2hlZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5fc2VydmVyX3Byb2Nlc3Mg
aXMgTm9uZToKQEAgLTQ5NCw2ICs0OTYsMTIgQEAgY2xhc3MgV2ViS2l0RHJpdmVyKERyaXZlcik6
CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKIAorICAgIGRl
ZiBzZXRfdXVpZChzZWxmLCBydW5fdXVpZCk6CisgICAgICAgIHNlbGYuX3J1bl91dWlkID0gcnVu
X3V1aWQKKworICAgICAgICBpZiBzZWxmLl9zZXJ2ZXJfcHJvY2VzczoKKyAgICAgICAgICAgIHNl
bGYuX3NlcnZlcl9wcm9jZXNzLnNldF91dWlkKHJ1bl91dWlkKQorCiAgICAgZGVmIF9jaGVja19m
b3JfZHJpdmVyX2NyYXNoKHNlbGYsIGVycm9yX2xpbmUpOgogICAgICAgICBpZiBlcnJvcl9saW5l
ID09ICIjQ1JBU0hFRFxuIjoKICAgICAgICAgICAgICMgVGhpcyBpcyB1c2VkIG9uIFdpbmRvd3Mg
dG8gcmVwb3J0IHRoYXQgdGhlIHByb2Nlc3MgaGFzIGNyYXNoZWQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139595</attachid>
            <date>2012-05-01 00:20:58 -0700</date>
            <delta_ts>2012-05-01 00:20:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>leaks.diff</filename>
            <type>text/plain</type>
            <size>14805</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1N2Ey
ZGMxLi5lZjNmM2MxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTItMDUtMDEgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTlJXVCB3aXRoIC0tbGVha3Mgc2hvd3MgbGVh
a3MgZnJvbSBvbGQgcnVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODUyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAg
ICAgICAgCisgICAgICAgIEFzc2lnbiBhIFVVSUQgdG8gZWFjaCBNYW5hZ2VyLCBwYXNzaW5nIGl0
IHRocm91Z2ggdGhlIGhpZXJhcmNoeSB0byB0aGUKKyAgICAgICAgU2VydmVyUHJvY2Vzcywgd2hl
cmUgaXQncyBwYXNzZWQgdG8gY2hlY2tfZm9yX2xlYWtzIGFuZCBhcHBlbmRlZAorICAgICAgICB0
byB0aGUgbGVha3MgZmlsZW5hbWUuCisgICAgICAgIAorICAgICAgICBsZWFrc19maWxlc19pbl9k
aXJlY3Rvcnkgbm93IG9ubHkgc2VhcmNoZXMgZm9yIGxlYWtzIGZpbGVzIHdpdGggdGhlCisgICAg
ICAgIGNvcnJlY3QgVVVJRCwgcHJldmVudGluZyBpdCBmcm9tIGNvbGxlY3RpbmcgcmVzdWx0cyBm
cm9tIG9sZCBOUldUIHJ1bnMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5OgorICAgICAgICAoTWFuYWdlci5fX2luaXRfXyk6
CisgICAgICAgIChNYW5hZ2VyLl9ydW5fdGVzdHMpOgorICAgICAgICAoTWFuYWdlci5ydW4pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtl
ci5weToKKyAgICAgICAgKFdvcmtlci5fX2luaXRfXyk6CisgICAgICAgIChXb3JrZXIuaGFuZGxl
X3NldF91dWlkKToKKyAgICAgICAgKFdvcmtlci5fcnVuX3Rlc3RfaW5fdGhpc190aHJlYWQpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAg
ICAgICAgKFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKFBvcnQucHJpbnRfbGVha3Nf
c3VtbWFyeSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9k
cml2ZXIucHk6CisgICAgICAgIChEcml2ZXJQcm94eS5zZXRfdXVpZCk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHk6CisgICAgICAg
IChMZWFrRGV0ZWN0b3IubGVha3NfZmlsZXNfaW5fZGlyZWN0b3J5KToKKyAgICAgICAgKExlYWtE
ZXRlY3Rvci5sZWFrc19maWxlX25hbWUpOgorICAgICAgICAoTGVha0RldGVjdG9yLmNoZWNrX2Zv
cl9sZWFrcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9t
YWMucHk6CisgICAgICAgIChNYWNQb3J0LmNoZWNrX2Zvcl9sZWFrcyk6CisgICAgICAgIChNYWNQ
b3J0LnByaW50X2xlYWtzX3N1bW1hcnkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHk6CisgICAgICAgIChTZXJ2ZXJQcm9jZXNz
Ll9faW5pdF9fKToKKyAgICAgICAgKFNlcnZlclByb2Nlc3Muc2V0X3V1aWQpOgorICAgICAgICAo
U2VydmVyUHJvY2Vzcy5zdG9wKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVHJpdmlhbE1v
Y2tQb3J0LmNoZWNrX2Zvcl9sZWFrcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgIChXZWJLaXREcml2ZXIuX19pbml0X18p
OgorICAgICAgICAoV2ViS2l0RHJpdmVyLl9zdGFydCk6CisgICAgICAgIChXZWJLaXREcml2ZXIu
c2V0X3V1aWQpOgorCiAyMDEyLTA0LTMwICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgRml4IHRlc3RzIHRvIG5vdCBkZXBlbmQgb24gdGhlIGFjdHVhbCBsaXN0IG9m
IGJ1aWxkZXJzIGF0IGJ1aWxkLmNocm9taXVtLm9yZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4
IGQ5NjBlNzguLmUxNTNhMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQpAQCAtNDMsNiArNDMsNyBA
QCBpbXBvcnQgcmFuZG9tCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCitpbXBv
cnQgdXVpZAogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycyBpbXBvcnQg
bWFuYWdlcl93b3JrZXJfYnJva2VyCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9s
bGVycyBpbXBvcnQgd29ya2VyCkBAIC0zMjYsNiArMzI3LDkgQEAgY2xhc3MgTWFuYWdlcihvYmpl
Y3QpOgogICAgICAgICAjIFRoaXMgbWFwcyB3b3JrZXIgbmFtZXMgdG8gdGhlIHN0YXRlIHdlIGFy
ZSB0cmFja2luZyBmb3IgZWFjaCBvZiB0aGVtLgogICAgICAgICBzZWxmLl93b3JrZXJfc3RhdGVz
ID0ge30KIAorICAgICAgICAjIFVVSUQgaWRlbnRpZnlpbmcgdGhpcyBwYXJ0aWN1bGFyIHJ1bgor
ICAgICAgICBzZWxmLl9ydW5fdXVpZCA9IHV1aWQudXVpZDEoKQorCiAgICAgZGVmIGNvbGxlY3Rf
dGVzdHMoc2VsZiwgYXJncyk6CiAgICAgICAgICIiIkZpbmQgYWxsIHRoZSBmaWxlcyB0byB0ZXN0
LgogCkBAIC03NzgsNiArNzgyLDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBz
ZWxmLl9wcmludGVyLnByaW50X3VwZGF0ZSgiU3RhcnRpbmcgdGVzdGluZyAuLi4iKQogICAgICAg
ICBmb3Igc2hhcmQgaW4gYWxsX3NoYXJkczoKICAgICAgICAgICAgICMgRklYTUU6IENoYW5nZSAn
dGVzdF9saXN0JyB0byAnc2hhcmQnLCBtYWtlIHNoYXJkaW5nIHB1YmxpYy4KKyAgICAgICAgICAg
IG1hbmFnZXJfY29ubmVjdGlvbi5wb3N0X21lc3NhZ2UoJ3NldF91dWlkJywgc2VsZi5fcnVuX3V1
aWQpCiAgICAgICAgICAgICBtYW5hZ2VyX2Nvbm5lY3Rpb24ucG9zdF9tZXNzYWdlKCd0ZXN0X2xp
c3QnLCBzaGFyZC5uYW1lLCBzaGFyZC50ZXN0X2lucHV0cykKIAogICAgICAgICAjIFdlIHBvc3Qg
b25lICdzdG9wJyBtZXNzYWdlIGZvciBlYWNoIHdvcmtlci4gQmVjYXVzZSB0aGUgc3RvcCBtZXNz
YWdlCkBAIC05MzEsNyArOTM2LDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAj
IEZJWE1FOiByZW1vdmUgcmVjb3JkX3Jlc3VsdHMuIEl0J3MganVzdCB1c2VkIGZvciB0ZXN0aW5n
LiBUaGVyZSdzIG5vIG5lZWQKICAgICAgICAgIyBmb3IgaXQgdG8gYmUgYSBjb21tYW5kbGluZSBh
cmd1bWVudC4KICAgICAgICAgaWYgKHNlbGYuX29wdGlvbnMucmVjb3JkX3Jlc3VsdHMgYW5kIG5v
dCBzZWxmLl9vcHRpb25zLmRyeV9ydW4gYW5kIG5vdCBrZXlib2FyZF9pbnRlcnJ1cHRlZCk6Ci0g
ICAgICAgICAgICBzZWxmLl9wb3J0LnByaW50X2xlYWtzX3N1bW1hcnkoKQorICAgICAgICAgICAg
c2VsZi5fcG9ydC5wcmludF9sZWFrc19zdW1tYXJ5KHNlbGYuX3J1bl91dWlkKQogICAgICAgICAg
ICAgIyBXcml0ZSB0aGUgc2FtZSBkYXRhIHRvIGxvZyBmaWxlcyBhbmQgdXBsb2FkIGdlbmVyYXRl
ZCBKU09OIGZpbGVzIHRvIGFwcGVuZ2luZSBzZXJ2ZXIuCiAgICAgICAgICAgICBzdW1tYXJpemVk
X3Jlc3VsdHMgPSBzdW1tYXJpemVfcmVzdWx0cyhzZWxmLl9wb3J0LCBzZWxmLl9leHBlY3RhdGlv
bnMsIHJlc3VsdF9zdW1tYXJ5LCByZXRyeV9zdW1tYXJ5LCBpbmRpdmlkdWFsX3Rlc3RfdGltaW5n
cywgb25seV91bmV4cGVjdGVkPUZhbHNlLCBpbnRlcnJ1cHRlZD1pbnRlcnJ1cHRlZCkKICAgICAg
ICAgICAgIHNlbGYuX3VwbG9hZF9qc29uX2ZpbGVzKHN1bW1hcml6ZWRfcmVzdWx0cywgcmVzdWx0
X3N1bW1hcnksIGluZGl2aWR1YWxfdGVzdF90aW1pbmdzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5CmluZGV4
IGExZTNiZWUuLjk0Mzc4YmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKQEAgLTY2LDYgKzY2LDcgQEAg
Y2xhc3MgV29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CiAgICAg
ICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlID0gTm9uZQogICAgICAgICBzZWxmLl90ZXN0c19ydW5f
ZmlsZW5hbWUgPSBOb25lCiAgICAgICAgIHNlbGYuX21ldGVyID0gTm9uZQorICAgICAgICBzZWxm
Ll9ydW5fdXVpZCA9IE5vbmUKIAogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgogICAgICAgICBzZWxm
LmNsZWFudXAoKQpAQCAtMTM2LDYgKzEzNywxMiBAQCBjbGFzcyBXb3JrZXIobWFuYWdlcl93b3Jr
ZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIiVzIGV4
aXRpbmciICUgc2VsZi5fbmFtZSkKICAgICAgICAgICAgIHNlbGYuY2xlYW51cCgpCiAKKyAgICBk
ZWYgaGFuZGxlX3NldF91dWlkKHNlbGYsIHNyYywgcnVuX3V1aWQpOgorICAgICAgICBzZWxmLl9y
dW5fdXVpZCA9IHJ1bl91dWlkCisKKyAgICAgICAgaWYgc2VsZi5fZHJpdmVyOgorICAgICAgICAg
ICAgc2VsZi5fZHJpdmVyLnNldF91dWlkKHNlbGYuX3J1bl91dWlkKQorCiAgICAgZGVmIGhhbmRs
ZV90ZXN0X2xpc3Qoc2VsZiwgc3JjLCBsaXN0X25hbWUsIHRlc3RfbGlzdCk6CiAgICAgICAgIHN0
YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQogICAgICAgICBudW1fdGVzdHMgPSAwCkBAIC0yOTUsNiAr
MzAyLDcgQEAgY2xhc3MgV29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtl
cik6CiAgICAgICAgICAgICBzZWxmLmtpbGxfZHJpdmVyKCkKICAgICAgICAgaWYgbm90IHNlbGYu
X2RyaXZlcjoKICAgICAgICAgICAgIHNlbGYuX2RyaXZlciA9IHNlbGYuX3BvcnQuY3JlYXRlX2Ry
aXZlcihzZWxmLl93b3JrZXJfbnVtYmVyKQorICAgICAgICAgICAgc2VsZi5fZHJpdmVyLnNldF91
dWlkKHNlbGYuX3J1bl91dWlkKQogICAgICAgICByZXR1cm4gc2VsZi5ydW5fc2luZ2xlX3Rlc3Qo
c2VsZi5fZHJpdmVyLCB0ZXN0X2lucHV0KQogCiAgICAgZGVmIHJ1bl9zaW5nbGVfdGVzdChzZWxm
LCBkcml2ZXIsIHRlc3RfaW5wdXQpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4IGVhOTIyNWIuLjNjZjg4NDkgMTAwNzU1Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTI5MCwx
NCArMjkwLDE0IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdHVhbF9maWxlbmFtZSkKICAgICAgICAgcmV0dXJuICcnLmpvaW4oZGlm
ZikKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNz
X3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nl
c3NfcGlkLCBydW5fdXVpZCk6CiAgICAgICAgICMgU3ViY2xhc3NlcyBzaG91bGQgY2hlY2sgZm9y
IGxlYWtzIGluIHRoZSBydW5uaW5nIHByb2Nlc3MKICAgICAgICAgIyBhbmQgcHJpbnQgYW55IG5l
Y2Vzc2FyeSB3YXJuaW5ncyBpZiBsZWFrcyBhcmUgZm91bmQuCiAgICAgICAgICMgRklYTUU6IFdl
IHNob3VsZCBjb25zaWRlciBtb3ZpbmcgbXVjaCBvZiB0aGlzIGxvZ2ljIGludG8KICAgICAgICAg
IyBFeGVjdXRpdmUgYW5kIG1ha2UgaXQgcGxhdGZvcm0tc3BlY2lmaWMgaW5zdGVhZCBvZiBwb3J0
LXNwZWNpZmljLgogICAgICAgICBwYXNzCiAKLSAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShz
ZWxmKToKKyAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmLCBydW5fdXVpZCk6CiAgICAg
ICAgICMgU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyB0byBwcmludCBhIHN1bW1hcnkgb2Yg
bGVha3MgZm91bmQKICAgICAgICAgIyB3aGlsZSBydW5uaW5nIHRoZSBsYXlvdXQgdGVzdHMuCiAg
ICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9kcml2ZXIucHkKaW5kZXggYTExM2RhMy4uNzlhYmI3ZSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9kcml2ZXIucHkKQEAgLTIyNiw2ICsy
MjYsOSBAQCBjbGFzcyBEcml2ZXJQcm94eShvYmplY3QpOgogICAgICAgICAjIGludG8gcnVuX3Rl
c3QoKSBkaXJlY3RseS4KICAgICAgICAgc2VsZi5fZHJpdmVyLnN0YXJ0KHNlbGYuX3BvcnQuZ2V0
X29wdGlvbigncGl4ZWxfdGVzdHMnKSwgW10pCiAKKyAgICBkZWYgc2V0X3V1aWQoc2VsZiwgcnVu
X3V1aWQpOgorICAgICAgICBzZWxmLl9kcml2ZXIuc2V0X3V1aWQocnVuX3V1aWQpCisKICAgICBk
ZWYgaGFzX2NyYXNoZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBhbnkoZHJpdmVyLmhhc19jcmFz
aGVkKCkgZm9yIGRyaXZlciBpbiBzZWxmLl9ydW5uaW5nX2RyaXZlcnMudmFsdWVzKCkpCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbGVha2Rl
dGVjdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFr
ZGV0ZWN0b3IucHkKaW5kZXggMjVkZDQ0Zi4uN2I0Yjc1YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9sZWFrZGV0ZWN0b3IucHkKQEAg
LTEwMSwxMiArMTAxLDEyIEBAIGNsYXNzIExlYWtEZXRlY3RvcihvYmplY3QpOgogICAgICAgICBl
eGNsdWRlZCA9IGV4Y2x1ZGVkX21hdGNoLmdyb3VwKCdleGNsdWRlZCcpIGlmIGV4Y2x1ZGVkX21h
dGNoIGVsc2UgMAogICAgICAgICByZXR1cm4gaW50KGNvdW50KSwgaW50KGV4Y2x1ZGVkKSwgaW50
KGJ5dGVzKQogCi0gICAgZGVmIGxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLCBkaXJlY3Rv
cnkpOgotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5nbG9iKHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihkaXJlY3RvcnksICIqLWxlYWtzLnR4dCIpKQorICAgIGRlZiBsZWFrc19maWxlc19p
bl9kaXJlY3Rvcnkoc2VsZiwgZGlyZWN0b3J5LCBydW5fdXVpZCk6CisgICAgICAgIHJldHVybiBz
ZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5fZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwgIiot
JXMtbGVha3MudHh0IikgJSBydW5fdXVpZCkKIAotICAgIGRlZiBsZWFrc19maWxlX25hbWUoc2Vs
ZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgZGVmIGxlYWtzX2ZpbGVfbmFtZShz
ZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBydW5fdXVpZCk6CiAgICAgICAgICMgV2Ug
aW5jbHVkZSB0aGUgbnVtYmVyIG9mIGZpbGVzIHRoaXMgd29ya2VyIGhhcyBhbHJlYWR5IHdyaXR0
ZW4gaW4gdGhlIG5hbWUgdG8gcHJldmVudCBvdmVyd3JpdHRpbmcgcHJldmlvdXMgbGVhayByZXN1
bHRzLi4KLSAgICAgICAgcmV0dXJuICIlcy0lcy1sZWFrcy50eHQiICUgKHByb2Nlc3NfbmFtZSwg
cHJvY2Vzc19waWQpCisgICAgICAgIHJldHVybiAiJXMtJXMtJXMtbGVha3MudHh0IiAlIChwcm9j
ZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBydW5fdXVpZCkKIAogICAgIGRlZiBjb3VudF90b3RhbF9i
eXRlc19hbmRfdW5pcXVlX2xlYWtzKHNlbGYsIGxlYWtfZmlsZXMpOgogICAgICAgICBtZXJnZV9k
ZXB0aCA9IDUgICMgT1JXVCBoYWQgYSAtLW1lcmdlLWxlYWstZGVwdGggYXJndW1lbnQsIGJ1dCB0
aGF0IHNlZW1zIG91dCBvZiBzY29wZSBmb3IgdGhlIHJ1bi13ZWJraXQtdGVzdHMgdG9vbC4KQEAg
LTEzNSw3ICsxMzUsNyBAQCBjbGFzcyBMZWFrRGV0ZWN0b3Iob2JqZWN0KToKICAgICAgICAgICAg
IHRvdGFsX2xlYWtzICs9IGNvdW50CiAgICAgICAgIHJldHVybiB0b3RhbF9sZWFrcwogCi0gICAg
ZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKKyAg
ICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIHJ1
bl91dWlkKToKICAgICAgICAgX2xvZy5kZWJ1ZygiQ2hlY2tpbmcgZm9yIGxlYWtzIGluICVzIiAl
IHByb2Nlc3NfbmFtZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgIyBPZGRseSBlbm91Z2gs
IHJ1bi1sZWFrcyAob3IgdGhlIHVuZGVybHlpbmcgbGVha3MgdG9vbCkgZG9lcyBub3Qgc2VlbSB0
byBhbHdheXMgb3V0cHV0IHV0Zi04LApAQCAtMTUyLDcgKzE1Miw3IEBAIGNsYXNzIExlYWtEZXRl
Y3RvcihvYmplY3QpOgogICAgICAgICBpZiBub3QgYWRqdXN0ZWRfY291bnQ6CiAgICAgICAgICAg
ICByZXR1cm4KIAotICAgICAgICBsZWFrc19maWxlbmFtZSA9IHNlbGYubGVha3NfZmlsZV9uYW1l
KHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCisgICAgICAgIGxlYWtzX2ZpbGVuYW1lID0gc2Vs
Zi5sZWFrc19maWxlX25hbWUocHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCwgcnVuX3V1aWQpCiAg
ICAgICAgIGxlYWtzX291dHB1dF9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX3Bv
cnQucmVzdWx0c19kaXJlY3RvcnkoKSwgbGVha3NfZmlsZW5hbWUpCiAgICAgICAgIHNlbGYuX2Zp
bGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUobGVha3Nfb3V0cHV0X3BhdGgsIGxlYWtzX291dHB1
dCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5w
eQppbmRleCBhODEyOGQ4Li4wMjU0ZTQ1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L21hYy5weQpAQCAtMTI2LDE5ICsxMjYsMTggQEAgY2xhc3MgTWFj
UG9ydChBcHBsZVBvcnQpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVy
biBUcnVlCiAKLSAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJv
Y2Vzc19waWQpOgorICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBw
cm9jZXNzX3BpZCwgcnVuX3V1aWQpOgogICAgICAgICBpZiBub3Qgc2VsZi5nZXRfb3B0aW9uKCds
ZWFrcycpOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgV2UgY291bGQgdXNlIGh0dHA6
Ly9jb2RlLmdvb2dsZS5jb20vcC9wc3V0aWwvIHRvIGdldCB0aGUgcHJvY2Vzc19uYW1lIGZyb20g
dGhlIHBpZC4KLSAgICAgICAgc2VsZi5fbGVha19kZXRlY3Rvci5jaGVja19mb3JfbGVha3MocHJv
Y2Vzc19uYW1lLCBwcm9jZXNzX3BpZCkKKyAgICAgICAgc2VsZi5fbGVha19kZXRlY3Rvci5jaGVj
a19mb3JfbGVha3MocHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCwgcnVuX3V1aWQpCiAKLSAgICBk
ZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmKToKKyAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFy
eShzZWxmLCBydW5fdXVpZCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oJ2xlYWtz
Jyk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgIyBXZSdyZSBpbiB0aGUgbWFuYWdlciBw
cm9jZXNzLCBzbyB0aGUgbGVhayBkZXRlY3RvciB3aWxsIG5vdCBoYXZlIGEgdmFsaWQgbGlzdCBv
ZiBsZWFrIGZpbGVzLgogICAgICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjaywgYnV0IHdlIGRv
bid0IGhhdmUgYSBiZXR0ZXIgd2F5IHRvIGdldCB0aGlzIGluZm9ybWF0aW9uIGZyb20gdGhlIHdv
cmtlcnMgeWV0LgotICAgICAgICAjIEZJWE1FOiBUaGlzIHdpbGwgaW5jbHVkZSB0b28gbWFueSBs
ZWFrcyBpbiBzdWJzZXF1ZW50IHJ1bnMgdW50aWwgdGhlIHJlc3VsdHMgZGlyZWN0b3J5IGlzIGNs
ZWFyZWQhCi0gICAgICAgIGxlYWtzX2ZpbGVzID0gc2VsZi5fbGVha19kZXRlY3Rvci5sZWFrc19m
aWxlc19pbl9kaXJlY3Rvcnkoc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpKQorICAgICAgICBsZWFr
c19maWxlcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3IubGVha3NfZmlsZXNfaW5fZGlyZWN0b3J5KHNl
bGYucmVzdWx0c19kaXJlY3RvcnkoKSwgcnVuX3V1aWQpCiAgICAgICAgIGlmIG5vdCBsZWFrc19m
aWxlczoKICAgICAgICAgICAgIHJldHVybgogICAgICAgICB0b3RhbF9ieXRlc19zdHJpbmcsIHVu
aXF1ZV9sZWFrcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3IuY291bnRfdG90YWxfYnl0ZXNfYW5kX3Vu
aXF1ZV9sZWFrcyhsZWFrc19maWxlcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3MucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CmluZGV4IGM1MGMwZTYu
LmEzOTEwMjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpAQCAtNTIsMTMgKzUyLDE0IEBAIGNsYXNz
IFNlcnZlclByb2Nlc3M6CiAgICAgaW5kZWZpbml0ZWx5LiBUaGUgY2xhc3MgYWxzbyBoYW5kbGVz
IHRyYW5zcGFyZW50bHkgcmVzdGFydGluZyBwcm9jZXNzZXMKICAgICBhcyBuZWNlc3NhcnkgdG8g
a2VlcCBpc3N1aW5nIGNvbW1hbmRzLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRf
b2JqLCBuYW1lLCBjbWQsIGVudj1Ob25lLCBleGVjdXRpdmU9RXhlY3V0aXZlKCkpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaiwgbmFtZSwgY21kLCBlbnY9Tm9uZSwgZXhlY3V0aXZl
PUV4ZWN1dGl2ZSgpLCBydW5fdXVpZD1Ob25lKToKICAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnRf
b2JqCiAgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lICAjIFNob3VsZCBiZSB0aGUgY29tbWFuZCBu
YW1lIChlLmcuIER1bXBSZW5kZXJUcmVlLCBJbWFnZURpZmYpCiAgICAgICAgIHNlbGYuX2NtZCA9
IGNtZAogICAgICAgICBzZWxmLl9lbnYgPSBlbnYKICAgICAgICAgc2VsZi5fcmVzZXQoKQogICAg
ICAgICBzZWxmLl9leGVjdXRpdmUgPSBleGVjdXRpdmUKKyAgICAgICAgc2VsZi5fcnVuX3V1aWQg
PSBydW5fdXVpZAogCiAgICAgZGVmIG5hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9u
YW1lCkBAIC0xNzksNiArMTgwLDggQEAgY2xhc3MgU2VydmVyUHJvY2VzczoKICAgICAgICAgX2xv
Zy5pbmZvKCcnKQogICAgICAgICBfbG9nLmluZm8obWVzc2FnZSkKIAorICAgIGRlZiBzZXRfdXVp
ZChzZWxmLCBydW5fdXVpZCk6CisgICAgICAgIHNlbGYuX3J1bl91dWlkID0gcnVuX3V1aWQKIAog
ICAgIGRlZiBfaGFuZGxlX3RpbWVvdXQoc2VsZik6CiAgICAgICAgIHNlbGYudGltZWRfb3V0ID0g
VHJ1ZQpAQCAtMjQzLDcgKzI0Niw3IEBAIGNsYXNzIFNlcnZlclByb2Nlc3M6CiAKICAgICAgICAg
IyBPbmx5IGJvdGhlciB0byBjaGVjayBmb3IgbGVha3MgaWYgdGhlIHByb2Nlc3MgaXMgc3RpbGwg
cnVubmluZy4KICAgICAgICAgaWYgc2VsZi5wb2xsKCkgaXMgTm9uZToKLSAgICAgICAgICAgIHNl
bGYuX3BvcnQuY2hlY2tfZm9yX2xlYWtzKHNlbGYubmFtZSgpLCBzZWxmLnBpZCgpKQorICAgICAg
ICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2VsZi5uYW1lKCksIHNlbGYucGlkKCks
IHNlbGYuX3J1bl91dWlkKQogCiAgICAgICAgIHBpZCA9IHNlbGYuX3Byb2MucGlkCiAgICAgICAg
IHNlbGYuX3Byb2Muc3RkaW4uY2xvc2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRl
c3QucHkKaW5kZXggYjQ1YmFkMy4uZmNjYjQ3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3NlcnZlcl9wcm9jZXNz
X3VuaXR0ZXN0LnB5CkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFRyaXZpYWxNb2NrUG9ydChvYmpl
Y3QpOgogICAgIGRlZiByZXN1bHRzX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuICIv
bW9jay1yZXN1bHRzIgogCi0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25h
bWUsIHByb2Nlc3NfcGlkKToKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3Nf
bmFtZSwgcHJvY2Vzc19waWQsIHJ1bl91dWlkKToKICAgICAgICAgcGFzcwogCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXgg
NzlmOWFkMC4uYjRjNGI4ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTQ0NCw2ICs0NDQsOCBAQCBjbGFzcyBXZWJLaXRE
cml2ZXIoRHJpdmVyKToKICAgICAgICAgc2VsZi5lcnJfc2Vlbl9lb2YgPSBGYWxzZQogICAgICAg
ICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IE5vbmUKIAorICAgICAgICBzZWxmLl9ydW5fdXVpZCA9
IE5vbmUKKwogICAgICMgRklYTUU6IFRoaXMgbWF5IGJlIHVuc2FmZSwgYXMgcHl0aG9uIGRvZXMg
bm90IGd1YXJlbnRlZSBhbnkgb3JkZXJpbmcgb2YgX19kZWxfXyBjYWxscwogICAgICMgSSBiZWxp
ZXZlIGl0J3MgcG9zc2libGUgdGhhdCBzZWxmLl9wb3J0IG9yIHNlbGYuX3BvcnQuX2ZpbGVzeXN0
ZW0gbWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLgogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgpAQCAt
NDgxLDcgKzQ4Myw3IEBAIGNsYXNzIFdlYktpdERyaXZlcihEcml2ZXIpOgogICAgICAgICBlbnZp
cm9ubWVudFsnTE9DQUxfUkVTT1VSQ0VfUk9PVCddID0gc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNf
ZGlyKCkKICAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9jZXNzX25hbWUgPSBOb25lCiAgICAgICAg
IHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9
IHNlcnZlcl9wcm9jZXNzLlNlcnZlclByb2Nlc3Moc2VsZi5fcG9ydCwgc2VydmVyX25hbWUsIHNl
bGYuY21kX2xpbmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBlbnZpcm9ubWVudCkKKyAg
ICAgICAgc2VsZi5fc2VydmVyX3Byb2Nlc3MgPSBzZXJ2ZXJfcHJvY2Vzcy5TZXJ2ZXJQcm9jZXNz
KHNlbGYuX3BvcnQsIHNlcnZlcl9uYW1lLCBzZWxmLmNtZF9saW5lKHBpeGVsX3Rlc3RzLCBwZXJf
dGVzdF9hcmdzKSwgZW52aXJvbm1lbnQsIEV4ZWN1dGl2ZSgpLCBzZWxmLl9ydW5fdXVpZCkKIAog
ICAgIGRlZiBoYXNfY3Jhc2hlZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5fc2VydmVyX3Byb2Nl
c3MgaXMgTm9uZToKQEAgLTQ5NCw2ICs0OTYsMTIgQEAgY2xhc3MgV2ViS2l0RHJpdmVyKERyaXZl
cik6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKIAorICAg
IGRlZiBzZXRfdXVpZChzZWxmLCBydW5fdXVpZCk6CisgICAgICAgIHNlbGYuX3J1bl91dWlkID0g
cnVuX3V1aWQKKworICAgICAgICBpZiBzZWxmLl9zZXJ2ZXJfcHJvY2VzczoKKyAgICAgICAgICAg
IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnNldF91dWlkKHJ1bl91dWlkKQorCiAgICAgZGVmIF9jaGVj
a19mb3JfZHJpdmVyX2NyYXNoKHNlbGYsIGVycm9yX2xpbmUpOgogICAgICAgICBpZiBlcnJvcl9s
aW5lID09ICIjQ1JBU0hFRFxuIjoKICAgICAgICAgICAgICMgVGhpcyBpcyB1c2VkIG9uIFdpbmRv
d3MgdG8gcmVwb3J0IHRoYXQgdGhlIHByb2Nlc3MgaGFzIGNyYXNoZWQK
</data>

          </attachment>
      

    </bug>

</bugzilla>