<?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>91282</bug_id>
          
          <creation_ts>2012-07-13 14:32:36 -0700</creation_ts>
          <short_desc>webkitpy: split printing/logging code for test-webkitpy out into a new class</short_desc>
          <delta_ts>2012-07-13 16:36:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76022</blocked>
    
    <blocked>91289</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>669420</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-13 14:32:36 -0700</bug_when>
    <thetext>webkitpy: split printing/logging code for test-webkitpy out into a new class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669423</commentid>
    <comment_count>1</comment_count>
      <attachid>152332</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-13 14:33:52 -0700</bug_when>
    <thetext>Created attachment 152332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669463</commentid>
    <comment_count>2</comment_count>
      <attachid>152345</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-13 15:00:11 -0700</bug_when>
    <thetext>Created attachment 152345
fix outputcapture passthrough, lint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669578</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-13 16:36:41 -0700</bug_when>
    <thetext>Committed r122643: &lt;http://trac.webkit.org/changeset/122643&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152332</attachid>
            <date>2012-07-13 14:33:52 -0700</date>
            <delta_ts>2012-07-13 15:00:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91282-20120713143351.patch</filename>
            <type>text/plain</type>
            <size>13846</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2EzYjMzNjY5ZjFlYmFhYWNkNDY4MmEzMTY0OWNjMWNm
YWJiMTIxMi4uMWM3MjE2ZTBkM2U2OTBkMDFhZGUyNzczMzczZDI1NDMzNjEzODU3OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQx
IEBACiAyMDEyLTA3LTEzICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBzcGxpdCBwcmludGluZy9sb2dnaW5nIGNvZGUgZm9yIHRlc3Qtd2Vi
a2l0cHkgb3V0IGludG8gYSBuZXcgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkxMjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0aGUgZmlyc3Qgc3RlcCBhdCBzcGxpdHRp
bmcgYWxsIG9mIHRoZQorICAgICAgICBwcmludGluZy9sb2dnaW5nIGNvZGUgb3V0IHNlcGFyYXRl
bHkgZnJvbSB0aGUgYWN0dWFsCisgICAgICAgIHRlc3QtcnVubmluZyBjb2RlLgorCisgICAgICAg
IFRoaXMgaXMganVzdCBtb3Zpbmcgc3R1ZmYgYXJvdW5kOyBubyBuZXcgZnVuY3Rpb25hbGl0eSBh
bmQgbm8KKyAgICAgICAgbmV3IHRlc3RzIG5lZWRlZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdGVzdC9maW5kZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChGaW5kZXJUZXN0LnNldFVw
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weToKKyAgICAgICAgKFRl
c3Rlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0ZXIuX3BhcnNlX2FyZ3MpOgorICAgICAgICAo
VGVzdGVyLnJ1bik6CisgICAgICAgIChUZXN0ZXIuX3J1bl90ZXN0cyk6CisgICAgICAgIChUZXN0
ZXIuX2xvZ19leGNlcHRpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWlu
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdGVyVGVzdC50ZXN0X25vX3Rlc3RzX2ZvdW5kKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5weTogQWRkZWQuCisgICAg
ICAgIChQcmludGVyKToKKyAgICAgICAgKFByaW50ZXIuX19pbml0X18pOgorICAgICAgICAoUHJp
bnRlci5jb25maWd1cmUpOgorICAgICAgICAoUHJpbnRlci5jb25maWd1cmUuZmlsdGVyKToKKyAg
ICAgICAgKF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJlYW0pOgorICAgICAgICAoX0NhcHR1cmVB
bmRQYXNzVGhyb3VnaFN0cmVhbS5fX2luaXRfXyk6CisgICAgICAgIChfQ2FwdHVyZUFuZFBhc3NU
aHJvdWdoU3RyZWFtLndyaXRlKToKKyAgICAgICAgKF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJl
YW0uX21lc3NhZ2VfaXNfZnJvbV9wZGIpOgorICAgICAgICAoX0NhcHR1cmVBbmRQYXNzVGhyb3Vn
aFN0cmVhbS5mbHVzaCk6CisgICAgICAgIChfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFtLmdl
dHZhbHVlKToKKworMjAxMi0wNy0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICB3ZWJraXRweTogaGlkZSB5aWVsZF90b19jYWxsZXIgZnJvbSBjYWxsZXJz
IGluIE1lc3NhZ2VQb29sIDopCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTI2OQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rl
c3QvZmluZGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L2ZpbmRl
cl91bml0dGVzdC5weQppbmRleCA4YzU4MzE1ODhmNGNkY2QzODQxYWVjMzM5MmFkZWE2YTc2ZWEw
YTBiLi4wOTA0OGIxNTk5ZjQwNWI4ZDQxNDIyZDBhNDEyZjJlOTU4ZGQ1ZjUzIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvZmluZGVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9maW5kZXJfdW5pdHRlc3QucHkKQEAgLTQ5LDcgKzQ5
LDcgQEAgY2xhc3MgRmluZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
cm9vdF9sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgIHNlbGYubG9nX2hhbmRs
ZXIgPSBOb25lCiAgICAgICAgIGZvciBoIGluIHNlbGYucm9vdF9sb2dnZXIuaGFuZGxlcnM6Ci0g
ICAgICAgICAgICBpZiBnZXRhdHRyKGgsICduYW1lJywgTm9uZSkgPT0gJ3dlYmtpdHB5LnRlc3Qu
bWFpbic6CisgICAgICAgICAgICBpZiBnZXRhdHRyKGgsICduYW1lJywgTm9uZSkgPT0gJ3dlYmtp
dHB5LnRlc3QucHJpbnRlcic6CiAgICAgICAgICAgICAgICAgc2VsZi5sb2dfaGFuZGxlciA9IGgK
ICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICBpZiBzZWxmLmxvZ19oYW5kbGVyOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4ucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQppbmRleCAyZDM0YjgwMTA0MDMyMDE4ZThjY2FhMjgz
OTM5ODUxYjkwNTMxOGZiLi41OGIwMjUwYzk5YjQ3YTNhZjEzYmQxZDRjZTRjZjM0MTU2YmIzM2Fi
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQpAQCAtMzQsNiArMzQsNyBAQCBpbXBv
cnQgdW5pdHRlc3QKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9y
dCBGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IG91dHB1dGNh
cHR1cmUKIGZyb20gd2Via2l0cHkudGVzdC5maW5kZXIgaW1wb3J0IEZpbmRlcgorZnJvbSB3ZWJr
aXRweS50ZXN0LnByaW50ZXIgaW1wb3J0IFByaW50ZXIKIGZyb20gd2Via2l0cHkudGVzdC5ydW5u
ZXIgaW1wb3J0IFJ1bm5lcgogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCkBA
IC00Miw3ICs0Myw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNz
IFRlc3RlcihvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlc3lzdGVtPU5vbmUp
OgogICAgICAgICBzZWxmLmZpbmRlciA9IEZpbmRlcihmaWxlc3lzdGVtIG9yIEZpbGVTeXN0ZW0o
KSkKLSAgICAgICAgc2VsZi5zdHJlYW0gPSBzeXMuc3RkZXJyCisgICAgICAgIHNlbGYucHJpbnRl
ciA9IFByaW50ZXIoc3lzLnN0ZGVycikKIAogICAgIGRlZiBhZGRfdHJlZShzZWxmLCB0b3BfZGly
ZWN0b3J5LCBzdGFydGluZ19zdWJkaXJlY3Rvcnk9Tm9uZSk6CiAgICAgICAgIHNlbGYuZmluZGVy
LmFkZF90cmVlKHRvcF9kaXJlY3RvcnksIHN0YXJ0aW5nX3N1YmRpcmVjdG9yeSkKQEAgLTY5LDcy
ICs3MCw5IEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogCiAgICAgICAgIHJldHVybiBwYXJzZXIu
cGFyc2VfYXJncygpCiAKLSAgICBkZWYgX2NvbmZpZ3VyZShzZWxmLCBvcHRpb25zKToKLSAgICAg
ICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKLQotICAgICAgICBpZiBvcHRpb25zLnRpbWluZzoK
LSAgICAgICAgICAgICMgLS10aW1pbmcgaW1wbGllcyAtLXZlcmJvc2UKLSAgICAgICAgICAgIG9w
dGlvbnMudmVyYm9zZSA9IG1heChvcHRpb25zLnZlcmJvc2UsIDEpCi0KLSAgICAgICAgbG9nX2xl
dmVsID0gbG9nZ2luZy5JTkZPCi0gICAgICAgIGlmIG9wdGlvbnMucXVpZXQ6Ci0gICAgICAgICAg
ICBsb2dfbGV2ZWwgPSBsb2dnaW5nLldBUk5JTkcKLSAgICAgICAgZWxpZiBvcHRpb25zLnZlcmJv
c2UgPT0gMjoKLSAgICAgICAgICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcuREVCVUcKLSAgICAgICAg
c2VsZi5fY29uZmlndXJlX2xvZ2dpbmcobG9nX2xldmVsKQotCi0gICAgZGVmIF9jb25maWd1cmVf
bG9nZ2luZyhzZWxmLCBsb2dfbGV2ZWwpOgotICAgICAgICAiIiJDb25maWd1cmUgdGhlIHJvb3Qg
bG9nZ2VyLgotCi0gICAgICAgIENvbmZpZ3VyZSB0aGUgcm9vdCBsb2dnZXIgbm90IHRvIGxvZyBh
bnkgbWVzc2FnZXMgZnJvbSB3ZWJraXRweSAtLQotICAgICAgICBleGNlcHQgZm9yIG1lc3NhZ2Vz
IGZyb20gdGhlIGF1dG9pbnN0YWxsIG1vZHVsZS4gIEFsc28gc2V0IHRoZQotICAgICAgICBsb2dn
aW5nIGxldmVsIGFzIGRlc2NyaWJlZCBiZWxvdy4KLSAgICAgICAgIiIiCi0gICAgICAgIGhhbmRs
ZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc2VsZi5zdHJlYW0pCi0gICAgICAgICMgV2UgY29u
c3RyYWluIHRoZSBsZXZlbCBvbiB0aGUgaGFuZGxlciByYXRoZXIgdGhhbiBvbiB0aGUgcm9vdAot
ICAgICAgICAjIGxvZ2dlciBpdHNlbGYuICBUaGlzIGlzIHByb2JhYmx5IGJldHRlciBiZWNhdXNl
IHRoZSBoYW5kbGVyIGlzCi0gICAgICAgICMgY29uZmlndXJlZCBhbmQga25vd24gb25seSB0byB0
aGlzIG1vZHVsZSwgd2hlcmVhcyB0aGUgcm9vdCBsb2dnZXIKLSAgICAgICAgIyBpcyBhbiBvYmpl
Y3Qgc2hhcmVkIChhbmQgcG90ZW50aWFsbHkgbW9kaWZpZWQpIGJ5IG1hbnkgbW9kdWxlcy4KLSAg
ICAgICAgIyBNb2RpZnlpbmcgdGhlIGhhbmRsZXIsIHRoZW4sIGlzIGxlc3MgaW50cnVzaXZlIGFu
ZCBsZXNzIGxpa2VseSB0bwotICAgICAgICAjIGludGVyZmVyZSB3aXRoIG1vZGlmaWNhdGlvbnMg
bWFkZSBieSBvdGhlciBtb2R1bGVzIChlLmcuIGluIHVuaXQKLSAgICAgICAgIyB0ZXN0cykuCi0g
ICAgICAgIGhhbmRsZXIubmFtZSA9IF9fbmFtZV9fCi0gICAgICAgIGhhbmRsZXIuc2V0TGV2ZWwo
bG9nX2xldmVsKQotICAgICAgICBmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShtZXNz
YWdlKXMiKQotICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihmb3JtYXR0ZXIpCi0KLSAgICAg
ICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotICAgICAgICBsb2dnZXIuYWRkSGFuZGxl
cihoYW5kbGVyKQotICAgICAgICBsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5OT1RTRVQpCi0KLSAg
ICAgICAgIyBGaWx0ZXIgb3V0IG1vc3Qgd2Via2l0cHkgbWVzc2FnZXMuCi0gICAgICAgICMKLSAg
ICAgICAgIyBNZXNzYWdlcyBjYW4gYmUgc2VsZWN0aXZlbHkgcmUtZW5hYmxlZCBmb3IgdGhpcyBz
Y3JpcHQgYnkgdXBkYXRpbmcKLSAgICAgICAgIyB0aGlzIG1ldGhvZCBhY2NvcmRpbmdseS4KLSAg
ICAgICAgZGVmIGZpbHRlcihyZWNvcmQpOgotICAgICAgICAgICAgIiIiRmlsdGVyIG91dCBhdXRv
aW5zdGFsbCBhbmQgbm9uLXRoaXJkLXBhcnR5IHdlYmtpdHB5IG1lc3NhZ2VzLiIiIgotICAgICAg
ICAgICAgIyBGSVhNRTogRmlndXJlIG91dCBhIHdheSBub3QgdG8gdXNlIHN0cmluZ3MgaGVyZSwg
Zm9yIGV4YW1wbGUgYnkKLSAgICAgICAgICAgICMgICAgICAgIHVzaW5nIHN5bnRheCBsaWtlIHdl
YmtpdHB5LnRlc3QuX19uYW1lX18uICBXZSB3YW50IHRvIGJlCi0gICAgICAgICAgICAjICAgICAg
ICBzdXJlIG5vdCB0byBpbXBvcnQgYW55IG5vbi1QeXRob24gMi40IGNvZGUsIHRob3VnaCwgdW50
aWwKLSAgICAgICAgICAgICMgICAgICAgIGFmdGVyIHRoZSB2ZXJzaW9uLWNoZWNraW5nIGNvZGUg
aGFzIGV4ZWN1dGVkLgotICAgICAgICAgICAgaWYgKHJlY29yZC5uYW1lLnN0YXJ0c3dpdGgoIndl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0uYXV0b2luc3RhbGwiKSBvcgotICAgICAgICAgICAgICAgIHJl
Y29yZC5uYW1lLnN0YXJ0c3dpdGgoIndlYmtpdHB5LnRlc3QiKSk6Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIFRydWUKLSAgICAgICAgICAgIGlmIHJlY29yZC5uYW1lLnN0YXJ0c3dpdGgoIndlYmtp
dHB5Iik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICByZXR1cm4g
VHJ1ZQotCi0gICAgICAgIHRlc3RpbmdfZmlsdGVyID0gbG9nZ2luZy5GaWx0ZXIoKQotICAgICAg
ICB0ZXN0aW5nX2ZpbHRlci5maWx0ZXIgPSBmaWx0ZXIKLQotICAgICAgICAjIERpc3BsYXkgYSBt
ZXNzYWdlIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBteXN0aWZpZWQgYXMgdG8gd2h5Ci0gICAgICAg
ICMgbG9nZ2luZyBkb2VzIG5vdCB3b3JrIGluIHRoZSB1bml0IHRlc3RzLgotICAgICAgICBfbG9n
LmluZm8oIlN1cHByZXNzaW5nIG1vc3Qgd2Via2l0cHkgbG9nZ2luZyB3aGlsZSBydW5uaW5nIHVu
aXQgdGVzdHMuIikKLSAgICAgICAgaGFuZGxlci5hZGRGaWx0ZXIodGVzdGluZ19maWx0ZXIpCi0K
ICAgICBkZWYgcnVuKHNlbGYpOgotICAgICAgICBvcHRpb25zLCBhcmdzID0gc2VsZi5fcGFyc2Vf
YXJncygpCi0gICAgICAgIHNlbGYuX2NvbmZpZ3VyZShvcHRpb25zKQorICAgICAgICBzZWxmLl9v
cHRpb25zLCBhcmdzID0gc2VsZi5fcGFyc2VfYXJncygpCisgICAgICAgIHNlbGYucHJpbnRlci5j
b25maWd1cmUoc2VsZi5fb3B0aW9ucykKIAogICAgICAgICBzZWxmLmZpbmRlci5jbGVhbl90cmVl
cygpCiAKQEAgLTE3Nyw3ICsxMTUsNyBAQCBjbGFzcyBUZXN0ZXIob2JqZWN0KToKICAgICAgICAg
ICAgIHN1aXRlcy5hcHBlbmQobG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKG5hbWUsIE5vbmUpKQog
CiAgICAgICAgIHRlc3Rfc3VpdGUgPSB1bml0dGVzdC5UZXN0U3VpdGUoc3VpdGVzKQotICAgICAg
ICB0ZXN0X3J1bm5lciA9IFJ1bm5lcihzZWxmLnN0cmVhbSwgc2VsZi5fb3B0aW9ucywgbG9hZGVy
KQorICAgICAgICB0ZXN0X3J1bm5lciA9IFJ1bm5lcihzZWxmLnByaW50ZXIuc3RyZWFtLCBzZWxm
Ll9vcHRpb25zLCBsb2FkZXIpCiAKICAgICAgICAgX2xvZy5kZWJ1ZygiUnVubmluZyB0aGUgdGVz
dHMuIikKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5wYXNzX3Rocm91Z2g6CkBAIC0xOTQsMzIg
KzEzMiwzIEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogICAgICAgICB0cmFjZWJhY2sucHJpbnRf
ZXhjKGZpbGU9cykKICAgICAgICAgZm9yIGwgaW4gcy5idWZsaXN0OgogICAgICAgICAgICAgX2xv
Zy5lcnJvcignICAnICsgbC5yc3RyaXAoKSkKLQotCi1jbGFzcyBfQ2FwdHVyZUFuZFBhc3NUaHJv
dWdoU3RyZWFtKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0cmVhbSk6Ci0gICAg
ICAgIHNlbGYuX2J1ZmZlciA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKLSAgICAgICAgc2VsZi5fc3Ry
ZWFtID0gc3RyZWFtCi0KLSAgICBkZWYgd3JpdGUoc2VsZiwgbXNnKToKLSAgICAgICAgc2VsZi5f
c3RyZWFtLndyaXRlKG1zZykKLQotICAgICAgICAjIE5vdGUgdGhhdCB3ZSBkb24ndCB3YW50IHRv
IGNhcHR1cmUgYW55IG91dHB1dCBnZW5lcmF0ZWQgYnkgdGhlIGRlYnVnZ2VyCi0gICAgICAgICMg
YmVjYXVzZSB0aGF0IGNvdWxkIGNhdXNlIHRoZSByZXN1bHRzIG9mIGNhcHR1cmVfb3V0cHV0KCkg
dG8gYmUgaW52YWxpZC4KLSAgICAgICAgaWYgbm90IHNlbGYuX21lc3NhZ2VfaXNfZnJvbV9wZGIo
KToKLSAgICAgICAgICAgIHNlbGYuX2J1ZmZlci53cml0ZShtc2cpCi0KLSAgICBkZWYgX21lc3Nh
Z2VfaXNfZnJvbV9wZGIoc2VsZik6Ci0gICAgICAgICMgV2Ugd2lsbCBhc3N1bWUgdGhhdCBpZiB0
aGUgcGRiIG1vZHVsZSBpcyBpbiB0aGUgc3RhY2sgdGhlbiB0aGUgb3V0cHV0Ci0gICAgICAgICMg
aXMgYmVpbmcgZ2VuZXJhdGVkIGJ5IHRoZSBweXRob24gZGVidWdnZXIgKG9yIHRoZSB1c2VyIGNh
bGxpbmcgc29tZXRoaW5nCi0gICAgICAgICMgZnJvbSBpbnNpZGUgdGhlIGRlYnVnZ2VyKS4KLSAg
ICAgICAgaW1wb3J0IGluc3BlY3QKLSAgICAgICAgaW1wb3J0IHBkYgotICAgICAgICBzdGFjayA9
IGluc3BlY3Quc3RhY2soKQotICAgICAgICByZXR1cm4gYW55KGZyYW1lWzFdID09IHBkYi5fX2Zp
bGVfXy5yZXBsYWNlKCcucHljJywgJy5weScpIGZvciBmcmFtZSBpbiBzdGFjaykKLQotICAgIGRl
ZiBmbHVzaChzZWxmKToKLSAgICAgICAgc2VsZi5fc3RyZWFtLmZsdXNoKCkKLQotICAgIGRlZiBn
ZXR2YWx1ZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2J1ZmZlci5nZXR2YWx1ZSgpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5CmluZGV4IDFhNjBi
ZWVmM2UxMThlZjQ3MzdkOWUzOGE5MmQ4Njk0MWIxNDY3NzEuLjJjZjZkZjRhMjMwNjk0ODI4NTk0
MGJjNWE5NzQyZmUwYzc0ZTE3MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dGVzdC9tYWluX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9t
YWluX3VuaXR0ZXN0LnB5CkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFRlc3RlclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICByb290X2hhbmRsZXJzID0gcm9vdF9sb2dnZXIuaGFuZGxl
cnMKICAgICAgICAgcm9vdF9sb2dnZXIuaGFuZGxlcnMgPSBbXQogCi0gICAgICAgIHRlc3Rlci5z
dHJlYW0gPSBlcnJvcnMKKyAgICAgICAgdGVzdGVyLnByaW50ZXIuc3RyZWFtID0gZXJyb3JzCiAg
ICAgICAgIHRlc3Rlci5maW5kZXIuZmluZF9uYW1lcyA9IGxhbWJkYSBhcmdzLCBza2lwX2ludGVn
cmF0aW9uLCBydW5fYWxsOiBbXQogICAgICAgICBvYyA9IE91dHB1dENhcHR1cmUoKQogICAgICAg
ICB0cnk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9wcmludGVyLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEx
N2Y1ZDFmNTU5MDcxY2RiOWI4Njc5YzkzNmY5Mjg1NWJhMTY3MjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5weQpAQCAtMCwwICsxLDExNyBA
QAorIyBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAx
MCBDaHJpcyBKZXJkb25layAoY2plcmRvbmVrQHdlYmtpdC5vcmcpCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisj
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCisKKworX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKK2NsYXNzIFByaW50ZXIob2JqZWN0KToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgc3RyZWFtKToKKyAgICAgICAgc2VsZi5zdHJlYW0gPSBzdHJl
YW0KKyAgICAgICAgc2VsZi5fb3B0aW9ucyA9IE5vbmUKKworICAgIGRlZiBjb25maWd1cmUoc2Vs
Ziwgb3B0aW9ucyk6CisgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCisKKyAgICAgICAg
aWYgb3B0aW9ucy50aW1pbmc6CisgICAgICAgICAgICAjIC0tdGltaW5nIGltcGxpZXMgLS12ZXJi
b3NlCisgICAgICAgICAgICBvcHRpb25zLnZlcmJvc2UgPSBtYXgob3B0aW9ucy52ZXJib3NlLCAx
KQorCisgICAgICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcuSU5GTworICAgICAgICBpZiBvcHRpb25z
LnF1aWV0OgorICAgICAgICAgICAgbG9nX2xldmVsID0gbG9nZ2luZy5XQVJOSU5HCisgICAgICAg
IGVsaWYgb3B0aW9ucy52ZXJib3NlID09IDI6CisgICAgICAgICAgICBsb2dfbGV2ZWwgPSBsb2dn
aW5nLkRFQlVHCisKKyAgICAgICAgaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzZWxm
LnN0cmVhbSkKKyAgICAgICAgIyBXZSBjb25zdHJhaW4gdGhlIGxldmVsIG9uIHRoZSBoYW5kbGVy
IHJhdGhlciB0aGFuIG9uIHRoZSByb290CisgICAgICAgICMgbG9nZ2VyIGl0c2VsZi4gIFRoaXMg
aXMgcHJvYmFibHkgYmV0dGVyIGJlY2F1c2UgdGhlIGhhbmRsZXIgaXMKKyAgICAgICAgIyBjb25m
aWd1cmVkIGFuZCBrbm93biBvbmx5IHRvIHRoaXMgbW9kdWxlLCB3aGVyZWFzIHRoZSByb290IGxv
Z2dlcgorICAgICAgICAjIGlzIGFuIG9iamVjdCBzaGFyZWQgKGFuZCBwb3RlbnRpYWxseSBtb2Rp
ZmllZCkgYnkgbWFueSBtb2R1bGVzLgorICAgICAgICAjIE1vZGlmeWluZyB0aGUgaGFuZGxlciwg
dGhlbiwgaXMgbGVzcyBpbnRydXNpdmUgYW5kIGxlc3MgbGlrZWx5IHRvCisgICAgICAgICMgaW50
ZXJmZXJlIHdpdGggbW9kaWZpY2F0aW9ucyBtYWRlIGJ5IG90aGVyIG1vZHVsZXMgKGUuZy4gaW4g
dW5pdAorICAgICAgICAjIHRlc3RzKS4KKyAgICAgICAgaGFuZGxlci5uYW1lID0gX19uYW1lX18K
KyAgICAgICAgaGFuZGxlci5zZXRMZXZlbChsb2dfbGV2ZWwpCisgICAgICAgIGZvcm1hdHRlciA9
IGxvZ2dpbmcuRm9ybWF0dGVyKCIlKG1lc3NhZ2UpcyIpCisgICAgICAgIGhhbmRsZXIuc2V0Rm9y
bWF0dGVyKGZvcm1hdHRlcikKKworICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigp
CisgICAgICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisgICAgICAgIGxvZ2dlci5zZXRM
ZXZlbChsb2dnaW5nLk5PVFNFVCkKKworICAgICAgICAjIEZpbHRlciBvdXQgbW9zdCB3ZWJraXRw
eSBtZXNzYWdlcy4KKyAgICAgICAgIworICAgICAgICAjIE1lc3NhZ2VzIGNhbiBiZSBzZWxlY3Rp
dmVseSByZS1lbmFibGVkIGZvciB0aGlzIHNjcmlwdCBieSB1cGRhdGluZworICAgICAgICAjIHRo
aXMgbWV0aG9kIGFjY29yZGluZ2x5LgorICAgICAgICBkZWYgZmlsdGVyKHJlY29yZCk6CisgICAg
ICAgICAgICAiIiJGaWx0ZXIgb3V0IGF1dG9pbnN0YWxsIGFuZCBub24tdGhpcmQtcGFydHkgd2Vi
a2l0cHkgbWVzc2FnZXMuIiIiCisgICAgICAgICAgICAjIEZJWE1FOiBGaWd1cmUgb3V0IGEgd2F5
IG5vdCB0byB1c2Ugc3RyaW5ncyBoZXJlLCBmb3IgZXhhbXBsZSBieQorICAgICAgICAgICAgIyAg
ICAgICAgdXNpbmcgc3ludGF4IGxpa2Ugd2Via2l0cHkudGVzdC5fX25hbWVfXy4gIFdlIHdhbnQg
dG8gYmUKKyAgICAgICAgICAgICMgICAgICAgIHN1cmUgbm90IHRvIGltcG9ydCBhbnkgbm9uLVB5
dGhvbiAyLjQgY29kZSwgdGhvdWdoLCB1bnRpbAorICAgICAgICAgICAgIyAgICAgICAgYWZ0ZXIg
dGhlIHZlcnNpb24tY2hlY2tpbmcgY29kZSBoYXMgZXhlY3V0ZWQuCisgICAgICAgICAgICBpZiAo
cmVjb3JkLm5hbWUuc3RhcnRzd2l0aCgid2Via2l0cHkuY29tbW9uLnN5c3RlbS5hdXRvaW5zdGFs
bCIpIG9yCisgICAgICAgICAgICAgICAgcmVjb3JkLm5hbWUuc3RhcnRzd2l0aCgid2Via2l0cHku
dGVzdCIpKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgaWYgcmVj
b3JkLm5hbWUuc3RhcnRzd2l0aCgid2Via2l0cHkiKToKKyAgICAgICAgICAgICAgICByZXR1cm4g
RmFsc2UKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgdGVzdGluZ19maWx0ZXIg
PSBsb2dnaW5nLkZpbHRlcigpCisgICAgICAgIHRlc3RpbmdfZmlsdGVyLmZpbHRlciA9IGZpbHRl
cgorCisgICAgICAgICMgRGlzcGxheSBhIG1lc3NhZ2Ugc28gZGV2ZWxvcGVycyBhcmUgbm90IG15
c3RpZmllZCBhcyB0byB3aHkKKyAgICAgICAgIyBsb2dnaW5nIGRvZXMgbm90IHdvcmsgaW4gdGhl
IHVuaXQgdGVzdHMuCisgICAgICAgIF9sb2cuaW5mbygiU3VwcHJlc3NpbmcgbW9zdCB3ZWJraXRw
eSBsb2dnaW5nIHdoaWxlIHJ1bm5pbmcgdW5pdCB0ZXN0cy4iKQorICAgICAgICBoYW5kbGVyLmFk
ZEZpbHRlcih0ZXN0aW5nX2ZpbHRlcikKKworCitjbGFzcyBfQ2FwdHVyZUFuZFBhc3NUaHJvdWdo
U3RyZWFtKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0cmVhbSk6CisgICAgICAg
IHNlbGYuX2J1ZmZlciA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKKyAgICAgICAgc2VsZi5fc3RyZWFt
ID0gc3RyZWFtCisKKyAgICBkZWYgd3JpdGUoc2VsZiwgbXNnKToKKyAgICAgICAgc2VsZi5fc3Ry
ZWFtLndyaXRlKG1zZykKKworICAgICAgICAjIE5vdGUgdGhhdCB3ZSBkb24ndCB3YW50IHRvIGNh
cHR1cmUgYW55IG91dHB1dCBnZW5lcmF0ZWQgYnkgdGhlIGRlYnVnZ2VyCisgICAgICAgICMgYmVj
YXVzZSB0aGF0IGNvdWxkIGNhdXNlIHRoZSByZXN1bHRzIG9mIGNhcHR1cmVfb3V0cHV0KCkgdG8g
YmUgaW52YWxpZC4KKyAgICAgICAgaWYgbm90IHNlbGYuX21lc3NhZ2VfaXNfZnJvbV9wZGIoKToK
KyAgICAgICAgICAgIHNlbGYuX2J1ZmZlci53cml0ZShtc2cpCisKKyAgICBkZWYgX21lc3NhZ2Vf
aXNfZnJvbV9wZGIoc2VsZik6CisgICAgICAgICMgV2Ugd2lsbCBhc3N1bWUgdGhhdCBpZiB0aGUg
cGRiIG1vZHVsZSBpcyBpbiB0aGUgc3RhY2sgdGhlbiB0aGUgb3V0cHV0CisgICAgICAgICMgaXMg
YmVpbmcgZ2VuZXJhdGVkIGJ5IHRoZSBweXRob24gZGVidWdnZXIgKG9yIHRoZSB1c2VyIGNhbGxp
bmcgc29tZXRoaW5nCisgICAgICAgICMgZnJvbSBpbnNpZGUgdGhlIGRlYnVnZ2VyKS4KKyAgICAg
ICAgaW1wb3J0IGluc3BlY3QKKyAgICAgICAgaW1wb3J0IHBkYgorICAgICAgICBzdGFjayA9IGlu
c3BlY3Quc3RhY2soKQorICAgICAgICByZXR1cm4gYW55KGZyYW1lWzFdID09IHBkYi5fX2ZpbGVf
Xy5yZXBsYWNlKCcucHljJywgJy5weScpIGZvciBmcmFtZSBpbiBzdGFjaykKKworICAgIGRlZiBm
bHVzaChzZWxmKToKKyAgICAgICAgc2VsZi5fc3RyZWFtLmZsdXNoKCkKKworICAgIGRlZiBnZXR2
YWx1ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2J1ZmZlci5nZXR2YWx1ZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152345</attachid>
            <date>2012-07-13 15:00:11 -0700</date>
            <delta_ts>2012-07-13 15:07:40 -0700</delta_ts>
            <desc>fix outputcapture passthrough, lint</desc>
            <filename>bug-91282-20120713150011.patch</filename>
            <type>text/plain</type>
            <size>16616</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2EzYjMzNjY5ZjFlYmFhYWNkNDY4MmEzMTY0OWNjMWNm
YWJiMTIxMi4uMWM3MjE2ZTBkM2U2OTBkMDFhZGUyNzczMzczZDI1NDMzNjEzODU3OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQx
IEBACiAyMDEyLTA3LTEzICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBzcGxpdCBwcmludGluZy9sb2dnaW5nIGNvZGUgZm9yIHRlc3Qtd2Vi
a2l0cHkgb3V0IGludG8gYSBuZXcgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkxMjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyB0aGUgZmlyc3Qgc3RlcCBhdCBzcGxpdHRp
bmcgYWxsIG9mIHRoZQorICAgICAgICBwcmludGluZy9sb2dnaW5nIGNvZGUgb3V0IHNlcGFyYXRl
bHkgZnJvbSB0aGUgYWN0dWFsCisgICAgICAgIHRlc3QtcnVubmluZyBjb2RlLgorCisgICAgICAg
IFRoaXMgaXMganVzdCBtb3Zpbmcgc3R1ZmYgYXJvdW5kOyBubyBuZXcgZnVuY3Rpb25hbGl0eSBh
bmQgbm8KKyAgICAgICAgbmV3IHRlc3RzIG5lZWRlZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdGVzdC9maW5kZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChGaW5kZXJUZXN0LnNldFVw
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weToKKyAgICAgICAgKFRl
c3Rlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0ZXIuX3BhcnNlX2FyZ3MpOgorICAgICAgICAo
VGVzdGVyLnJ1bik6CisgICAgICAgIChUZXN0ZXIuX3J1bl90ZXN0cyk6CisgICAgICAgIChUZXN0
ZXIuX2xvZ19leGNlcHRpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWlu
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdGVyVGVzdC50ZXN0X25vX3Rlc3RzX2ZvdW5kKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5weTogQWRkZWQuCisgICAg
ICAgIChQcmludGVyKToKKyAgICAgICAgKFByaW50ZXIuX19pbml0X18pOgorICAgICAgICAoUHJp
bnRlci5jb25maWd1cmUpOgorICAgICAgICAoUHJpbnRlci5jb25maWd1cmUuZmlsdGVyKToKKyAg
ICAgICAgKF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJlYW0pOgorICAgICAgICAoX0NhcHR1cmVB
bmRQYXNzVGhyb3VnaFN0cmVhbS5fX2luaXRfXyk6CisgICAgICAgIChfQ2FwdHVyZUFuZFBhc3NU
aHJvdWdoU3RyZWFtLndyaXRlKToKKyAgICAgICAgKF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJl
YW0uX21lc3NhZ2VfaXNfZnJvbV9wZGIpOgorICAgICAgICAoX0NhcHR1cmVBbmRQYXNzVGhyb3Vn
aFN0cmVhbS5mbHVzaCk6CisgICAgICAgIChfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFtLmdl
dHZhbHVlKToKKworMjAxMi0wNy0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICB3ZWJraXRweTogaGlkZSB5aWVsZF90b19jYWxsZXIgZnJvbSBjYWxsZXJz
IGluIE1lc3NhZ2VQb29sIDopCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MTI2OQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rl
c3QvZmluZGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L2ZpbmRl
cl91bml0dGVzdC5weQppbmRleCA4YzU4MzE1ODhmNGNkY2QzODQxYWVjMzM5MmFkZWE2YTc2ZWEw
YTBiLi4wOTA0OGIxNTk5ZjQwNWI4ZDQxNDIyZDBhNDEyZjJlOTU4ZGQ1ZjUzIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvZmluZGVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9maW5kZXJfdW5pdHRlc3QucHkKQEAgLTQ5LDcgKzQ5
LDcgQEAgY2xhc3MgRmluZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
cm9vdF9sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgIHNlbGYubG9nX2hhbmRs
ZXIgPSBOb25lCiAgICAgICAgIGZvciBoIGluIHNlbGYucm9vdF9sb2dnZXIuaGFuZGxlcnM6Ci0g
ICAgICAgICAgICBpZiBnZXRhdHRyKGgsICduYW1lJywgTm9uZSkgPT0gJ3dlYmtpdHB5LnRlc3Qu
bWFpbic6CisgICAgICAgICAgICBpZiBnZXRhdHRyKGgsICduYW1lJywgTm9uZSkgPT0gJ3dlYmtp
dHB5LnRlc3QucHJpbnRlcic6CiAgICAgICAgICAgICAgICAgc2VsZi5sb2dfaGFuZGxlciA9IGgK
ICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICBpZiBzZWxmLmxvZ19oYW5kbGVyOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4ucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQppbmRleCAyZDM0YjgwMTA0MDMyMDE4ZThjY2FhMjgz
OTM5ODUxYjkwNTMxOGZiLi43MDdmYWMyY2Y2M2ZmNjJiNDRmNjQ3ZjA1MzZkYjI3OWM3OTMzZWQz
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQpAQCAtMjUsMTUgKzI1LDE0IEBACiAK
IGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3B0cGFyc2UKLWltcG9ydCBvcwogaW1wb3J0IFN0cmlu
Z0lPCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KLWZy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgb3V0cHV0Y2FwdHVyZQogZnJvbSB3ZWJr
aXRweS50ZXN0LmZpbmRlciBpbXBvcnQgRmluZGVyCitmcm9tIHdlYmtpdHB5LnRlc3QucHJpbnRl
ciBpbXBvcnQgUHJpbnRlcgogZnJvbSB3ZWJraXRweS50ZXN0LnJ1bm5lciBpbXBvcnQgUnVubmVy
CiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTQyLDcgKzQxLDggQEAg
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgVGVzdGVyKG9iamVjdCk6
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVzeXN0ZW09Tm9uZSk6CiAgICAgICAgIHNlbGYu
ZmluZGVyID0gRmluZGVyKGZpbGVzeXN0ZW0gb3IgRmlsZVN5c3RlbSgpKQotICAgICAgICBzZWxm
LnN0cmVhbSA9IHN5cy5zdGRlcnIKKyAgICAgICAgc2VsZi5wcmludGVyID0gUHJpbnRlcihzeXMu
c3RkZXJyKQorICAgICAgICBzZWxmLl9vcHRpb25zID0gTm9uZQogCiAgICAgZGVmIGFkZF90cmVl
KHNlbGYsIHRvcF9kaXJlY3RvcnksIHN0YXJ0aW5nX3N1YmRpcmVjdG9yeT1Ob25lKToKICAgICAg
ICAgc2VsZi5maW5kZXIuYWRkX3RyZWUodG9wX2RpcmVjdG9yeSwgc3RhcnRpbmdfc3ViZGlyZWN0
b3J5KQpAQCAtNTAsMTMgKzUwLDEzIEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogICAgIGRlZiBf
cGFyc2VfYXJncyhzZWxmKToKICAgICAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2Vy
KHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlvbnNdIFthcmdzLi4uXScpCiAgICAgICAgIHBhcnNl
ci5hZGRfb3B0aW9uKCctYScsICctLWFsbCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9
RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3J1biBhbGwgdGhlIHRlc3Rz
JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3J1biBhbGwgdGhlIHRlc3RzJykK
ICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1jJywgJy0tY292ZXJhZ2UnLCBhY3Rpb249J3N0
b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSdnZW5lcmF0ZSBjb2RlIGNvdmVyYWdlIGluZm8gKHJlcXVpcmVzIGh0dHA6Ly9weXBpLnB5dGhv
bi5vcmcvcHlwaS9jb3ZlcmFnZSknKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0n
Z2VuZXJhdGUgY29kZSBjb3ZlcmFnZSBpbmZvIChyZXF1aXJlcyBodHRwOi8vcHlwaS5weXRob24u
b3JnL3B5cGkvY292ZXJhZ2UpJykKICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1xJywgJy0t
cXVpZXQnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdydW4gcXVpZXRseSAoZXJyb3JzLCB3YXJuaW5ncywgYW5kIHBy
b2dyZXNzIG9ubHkpJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3J1biBxdWll
dGx5IChlcnJvcnMsIHdhcm5pbmdzLCBhbmQgcHJvZ3Jlc3Mgb25seSknKQogICAgICAgICBwYXJz
ZXIuYWRkX29wdGlvbignLXQnLCAnLS10aW1pbmcnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZh
dWx0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdkaXNwbGF5IHBlci10
ZXN0IGV4ZWN1dGlvbiB0aW1lIChpbXBsaWVzIC0tdmVyYm9zZSknKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0nZGlzcGxheSBwZXItdGVzdCBleGVjdXRpb24gdGltZSAoaW1wbGll
cyAtLXZlcmJvc2UpJykKICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy12JywgJy0tdmVyYm9z
ZScsIGFjdGlvbj0nY291bnQnLCBkZWZhdWx0PTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J3ZlcmJvc2Ugb3V0cHV0IChzcGVjaWZ5IG9uY2UgZm9yIGluZGl2aWR1YWwgdGVzdCBy
ZXN1bHRzLCB0d2ljZSBmb3IgZGVidWcgbWVzc2FnZXMpJykKICAgICAgICAgcGFyc2VyLmFkZF9v
cHRpb24oJy0tc2tpcC1pbnRlZ3JhdGlvbnRlc3RzJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVm
YXVsdD1GYWxzZSwKQEAgLTY5LDcyICs2OSw5IEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogCiAg
ICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VfYXJncygpCiAKLSAgICBkZWYgX2NvbmZpZ3VyZShz
ZWxmLCBvcHRpb25zKToKLSAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKLQotICAgICAg
ICBpZiBvcHRpb25zLnRpbWluZzoKLSAgICAgICAgICAgICMgLS10aW1pbmcgaW1wbGllcyAtLXZl
cmJvc2UKLSAgICAgICAgICAgIG9wdGlvbnMudmVyYm9zZSA9IG1heChvcHRpb25zLnZlcmJvc2Us
IDEpCi0KLSAgICAgICAgbG9nX2xldmVsID0gbG9nZ2luZy5JTkZPCi0gICAgICAgIGlmIG9wdGlv
bnMucXVpZXQ6Ci0gICAgICAgICAgICBsb2dfbGV2ZWwgPSBsb2dnaW5nLldBUk5JTkcKLSAgICAg
ICAgZWxpZiBvcHRpb25zLnZlcmJvc2UgPT0gMjoKLSAgICAgICAgICAgIGxvZ19sZXZlbCA9IGxv
Z2dpbmcuREVCVUcKLSAgICAgICAgc2VsZi5fY29uZmlndXJlX2xvZ2dpbmcobG9nX2xldmVsKQot
Ci0gICAgZGVmIF9jb25maWd1cmVfbG9nZ2luZyhzZWxmLCBsb2dfbGV2ZWwpOgotICAgICAgICAi
IiJDb25maWd1cmUgdGhlIHJvb3QgbG9nZ2VyLgotCi0gICAgICAgIENvbmZpZ3VyZSB0aGUgcm9v
dCBsb2dnZXIgbm90IHRvIGxvZyBhbnkgbWVzc2FnZXMgZnJvbSB3ZWJraXRweSAtLQotICAgICAg
ICBleGNlcHQgZm9yIG1lc3NhZ2VzIGZyb20gdGhlIGF1dG9pbnN0YWxsIG1vZHVsZS4gIEFsc28g
c2V0IHRoZQotICAgICAgICBsb2dnaW5nIGxldmVsIGFzIGRlc2NyaWJlZCBiZWxvdy4KLSAgICAg
ICAgIiIiCi0gICAgICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc2VsZi5zdHJl
YW0pCi0gICAgICAgICMgV2UgY29uc3RyYWluIHRoZSBsZXZlbCBvbiB0aGUgaGFuZGxlciByYXRo
ZXIgdGhhbiBvbiB0aGUgcm9vdAotICAgICAgICAjIGxvZ2dlciBpdHNlbGYuICBUaGlzIGlzIHBy
b2JhYmx5IGJldHRlciBiZWNhdXNlIHRoZSBoYW5kbGVyIGlzCi0gICAgICAgICMgY29uZmlndXJl
ZCBhbmQga25vd24gb25seSB0byB0aGlzIG1vZHVsZSwgd2hlcmVhcyB0aGUgcm9vdCBsb2dnZXIK
LSAgICAgICAgIyBpcyBhbiBvYmplY3Qgc2hhcmVkIChhbmQgcG90ZW50aWFsbHkgbW9kaWZpZWQp
IGJ5IG1hbnkgbW9kdWxlcy4KLSAgICAgICAgIyBNb2RpZnlpbmcgdGhlIGhhbmRsZXIsIHRoZW4s
IGlzIGxlc3MgaW50cnVzaXZlIGFuZCBsZXNzIGxpa2VseSB0bwotICAgICAgICAjIGludGVyZmVy
ZSB3aXRoIG1vZGlmaWNhdGlvbnMgbWFkZSBieSBvdGhlciBtb2R1bGVzIChlLmcuIGluIHVuaXQK
LSAgICAgICAgIyB0ZXN0cykuCi0gICAgICAgIGhhbmRsZXIubmFtZSA9IF9fbmFtZV9fCi0gICAg
ICAgIGhhbmRsZXIuc2V0TGV2ZWwobG9nX2xldmVsKQotICAgICAgICBmb3JtYXR0ZXIgPSBsb2dn
aW5nLkZvcm1hdHRlcigiJShtZXNzYWdlKXMiKQotICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRl
cihmb3JtYXR0ZXIpCi0KLSAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotICAg
ICAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5kbGVyKQotICAgICAgICBsb2dnZXIuc2V0TGV2ZWwo
bG9nZ2luZy5OT1RTRVQpCi0KLSAgICAgICAgIyBGaWx0ZXIgb3V0IG1vc3Qgd2Via2l0cHkgbWVz
c2FnZXMuCi0gICAgICAgICMKLSAgICAgICAgIyBNZXNzYWdlcyBjYW4gYmUgc2VsZWN0aXZlbHkg
cmUtZW5hYmxlZCBmb3IgdGhpcyBzY3JpcHQgYnkgdXBkYXRpbmcKLSAgICAgICAgIyB0aGlzIG1l
dGhvZCBhY2NvcmRpbmdseS4KLSAgICAgICAgZGVmIGZpbHRlcihyZWNvcmQpOgotICAgICAgICAg
ICAgIiIiRmlsdGVyIG91dCBhdXRvaW5zdGFsbCBhbmQgbm9uLXRoaXJkLXBhcnR5IHdlYmtpdHB5
IG1lc3NhZ2VzLiIiIgotICAgICAgICAgICAgIyBGSVhNRTogRmlndXJlIG91dCBhIHdheSBub3Qg
dG8gdXNlIHN0cmluZ3MgaGVyZSwgZm9yIGV4YW1wbGUgYnkKLSAgICAgICAgICAgICMgICAgICAg
IHVzaW5nIHN5bnRheCBsaWtlIHdlYmtpdHB5LnRlc3QuX19uYW1lX18uICBXZSB3YW50IHRvIGJl
Ci0gICAgICAgICAgICAjICAgICAgICBzdXJlIG5vdCB0byBpbXBvcnQgYW55IG5vbi1QeXRob24g
Mi40IGNvZGUsIHRob3VnaCwgdW50aWwKLSAgICAgICAgICAgICMgICAgICAgIGFmdGVyIHRoZSB2
ZXJzaW9uLWNoZWNraW5nIGNvZGUgaGFzIGV4ZWN1dGVkLgotICAgICAgICAgICAgaWYgKHJlY29y
ZC5uYW1lLnN0YXJ0c3dpdGgoIndlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uYXV0b2luc3RhbGwiKSBv
cgotICAgICAgICAgICAgICAgIHJlY29yZC5uYW1lLnN0YXJ0c3dpdGgoIndlYmtpdHB5LnRlc3Qi
KSk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgICAgIGlmIHJlY29yZC5u
YW1lLnN0YXJ0c3dpdGgoIndlYmtpdHB5Iik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl
Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgICAgIHRlc3RpbmdfZmlsdGVyID0gbG9n
Z2luZy5GaWx0ZXIoKQotICAgICAgICB0ZXN0aW5nX2ZpbHRlci5maWx0ZXIgPSBmaWx0ZXIKLQot
ICAgICAgICAjIERpc3BsYXkgYSBtZXNzYWdlIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBteXN0aWZp
ZWQgYXMgdG8gd2h5Ci0gICAgICAgICMgbG9nZ2luZyBkb2VzIG5vdCB3b3JrIGluIHRoZSB1bml0
IHRlc3RzLgotICAgICAgICBfbG9nLmluZm8oIlN1cHByZXNzaW5nIG1vc3Qgd2Via2l0cHkgbG9n
Z2luZyB3aGlsZSBydW5uaW5nIHVuaXQgdGVzdHMuIikKLSAgICAgICAgaGFuZGxlci5hZGRGaWx0
ZXIodGVzdGluZ19maWx0ZXIpCi0KICAgICBkZWYgcnVuKHNlbGYpOgotICAgICAgICBvcHRpb25z
LCBhcmdzID0gc2VsZi5fcGFyc2VfYXJncygpCi0gICAgICAgIHNlbGYuX2NvbmZpZ3VyZShvcHRp
b25zKQorICAgICAgICBzZWxmLl9vcHRpb25zLCBhcmdzID0gc2VsZi5fcGFyc2VfYXJncygpCisg
ICAgICAgIHNlbGYucHJpbnRlci5jb25maWd1cmUoc2VsZi5fb3B0aW9ucykKIAogICAgICAgICBz
ZWxmLmZpbmRlci5jbGVhbl90cmVlcygpCiAKQEAgLTE0OSw3ICs4Niw3IEBAIGNsYXNzIFRlc3Rl
cihvYmplY3QpOgogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmNvdmVyYWdlOgogICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgIGltcG9ydCB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9p
bnN0YWxsZWQuY292ZXJhZ2UgYXMgY292ZXJhZ2UKLSAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRF
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICAg
ICBfbG9nLmVycm9yKCJGYWlsZWQgdG8gaW1wb3J0ICdjb3ZlcmFnZSc7IGNhbid0IGdlbmVyYXRl
IGNvdmVyYWdlIG51bWJlcnMuIikKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAg
ICAgICAgIGNvdiA9IGNvdmVyYWdlLmNvdmVyYWdlKCkKQEAgLTE2OSw3ICsxMDYsNyBAQCBjbGFz
cyBUZXN0ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAjIHByb2R1Y2VzIGxvdXN5IGVycm9y
IG1lc3NhZ2VzIGZvciBiYWQgbW9kdWxlcy4KICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAg
ICAgICAgICAgICAgIF9faW1wb3J0X18obmFtZSkKLSAgICAgICAgICAgICAgICBleGNlcHQgSW1w
b3J0RXJyb3IsIGU6CisgICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAg
ICAgICAgICAgICAgICBfbG9nLmZhdGFsKCdGYWlsZWQgdG8gaW1wb3J0ICVzOicgJSBuYW1lKQog
ICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2dfZXhjZXB0aW9uKCkKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCkBAIC0xNzcsMTEgKzExNCw5IEBAIGNsYXNzIFRlc3RlcihvYmpl
Y3QpOgogICAgICAgICAgICAgc3VpdGVzLmFwcGVuZChsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUo
bmFtZSwgTm9uZSkpCiAKICAgICAgICAgdGVzdF9zdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZShz
dWl0ZXMpCi0gICAgICAgIHRlc3RfcnVubmVyID0gUnVubmVyKHNlbGYuc3RyZWFtLCBzZWxmLl9v
cHRpb25zLCBsb2FkZXIpCisgICAgICAgIHRlc3RfcnVubmVyID0gUnVubmVyKHNlbGYucHJpbnRl
ci5zdHJlYW0sIHNlbGYuX29wdGlvbnMsIGxvYWRlcikKIAogICAgICAgICBfbG9nLmRlYnVnKCJS
dW5uaW5nIHRoZSB0ZXN0cy4iKQotICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnBhc3NfdGhyb3Vn
aDoKLSAgICAgICAgICAgIG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZS5zdHJlYW1fd3JhcHBl
ciA9IF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJlYW0KICAgICAgICAgcmVzdWx0ID0gdGVzdF9y
dW5uZXIucnVuKHRlc3Rfc3VpdGUpCiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292ZXJhZ2U6
CiAgICAgICAgICAgICBjb3Yuc3RvcCgpCkBAIC0xOTQsMzIgKzEyOSwzIEBAIGNsYXNzIFRlc3Rl
cihvYmplY3QpOgogICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKGZpbGU9cykKICAgICAgICAg
Zm9yIGwgaW4gcy5idWZsaXN0OgogICAgICAgICAgICAgX2xvZy5lcnJvcignICAnICsgbC5yc3Ry
aXAoKSkKLQotCi1jbGFzcyBfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFtKG9iamVjdCk6Ci0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0cmVhbSk6Ci0gICAgICAgIHNlbGYuX2J1ZmZlciA9IFN0
cmluZ0lPLlN0cmluZ0lPKCkKLSAgICAgICAgc2VsZi5fc3RyZWFtID0gc3RyZWFtCi0KLSAgICBk
ZWYgd3JpdGUoc2VsZiwgbXNnKToKLSAgICAgICAgc2VsZi5fc3RyZWFtLndyaXRlKG1zZykKLQot
ICAgICAgICAjIE5vdGUgdGhhdCB3ZSBkb24ndCB3YW50IHRvIGNhcHR1cmUgYW55IG91dHB1dCBn
ZW5lcmF0ZWQgYnkgdGhlIGRlYnVnZ2VyCi0gICAgICAgICMgYmVjYXVzZSB0aGF0IGNvdWxkIGNh
dXNlIHRoZSByZXN1bHRzIG9mIGNhcHR1cmVfb3V0cHV0KCkgdG8gYmUgaW52YWxpZC4KLSAgICAg
ICAgaWYgbm90IHNlbGYuX21lc3NhZ2VfaXNfZnJvbV9wZGIoKToKLSAgICAgICAgICAgIHNlbGYu
X2J1ZmZlci53cml0ZShtc2cpCi0KLSAgICBkZWYgX21lc3NhZ2VfaXNfZnJvbV9wZGIoc2VsZik6
Ci0gICAgICAgICMgV2Ugd2lsbCBhc3N1bWUgdGhhdCBpZiB0aGUgcGRiIG1vZHVsZSBpcyBpbiB0
aGUgc3RhY2sgdGhlbiB0aGUgb3V0cHV0Ci0gICAgICAgICMgaXMgYmVpbmcgZ2VuZXJhdGVkIGJ5
IHRoZSBweXRob24gZGVidWdnZXIgKG9yIHRoZSB1c2VyIGNhbGxpbmcgc29tZXRoaW5nCi0gICAg
ICAgICMgZnJvbSBpbnNpZGUgdGhlIGRlYnVnZ2VyKS4KLSAgICAgICAgaW1wb3J0IGluc3BlY3QK
LSAgICAgICAgaW1wb3J0IHBkYgotICAgICAgICBzdGFjayA9IGluc3BlY3Quc3RhY2soKQotICAg
ICAgICByZXR1cm4gYW55KGZyYW1lWzFdID09IHBkYi5fX2ZpbGVfXy5yZXBsYWNlKCcucHljJywg
Jy5weScpIGZvciBmcmFtZSBpbiBzdGFjaykKLQotICAgIGRlZiBmbHVzaChzZWxmKToKLSAgICAg
ICAgc2VsZi5fc3RyZWFtLmZsdXNoKCkKLQotICAgIGRlZiBnZXR2YWx1ZShzZWxmKToKLSAgICAg
ICAgcmV0dXJuIHNlbGYuX2J1ZmZlci5nZXR2YWx1ZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5CmluZGV4IDFhNjBiZWVmM2UxMThlZjQ3MzdkOWUzOGE5
MmQ4Njk0MWIxNDY3NzEuLjJjZjZkZjRhMjMwNjk0ODI4NTk0MGJjNWE5NzQyZmUwYzc0ZTE3MzAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5CkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIFRlc3RlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICByb290X2hhbmRsZXJzID0gcm9vdF9sb2dnZXIuaGFuZGxlcnMKICAgICAgICAgcm9vdF9sb2dn
ZXIuaGFuZGxlcnMgPSBbXQogCi0gICAgICAgIHRlc3Rlci5zdHJlYW0gPSBlcnJvcnMKKyAgICAg
ICAgdGVzdGVyLnByaW50ZXIuc3RyZWFtID0gZXJyb3JzCiAgICAgICAgIHRlc3Rlci5maW5kZXIu
ZmluZF9uYW1lcyA9IGxhbWJkYSBhcmdzLCBza2lwX2ludGVncmF0aW9uLCBydW5fYWxsOiBbXQog
ICAgICAgICBvYyA9IE91dHB1dENhcHR1cmUoKQogICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdGVzdC9wcmludGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0OGQzMzc3ZTNiZTMwYjBiYjk2OTk5
OGQwNTA3MmE5NmI5YjE1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rlc3QvcHJpbnRlci5weQpAQCAtMCwwICsxLDEyMiBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAxMCBDaHJpcyBKZXJkb25layAoY2pl
cmRvbmVrQHdlYmtpdC5vcmcpCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1l
dDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisj
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgU3RyaW5nSU8KKworZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBvdXRwdXRjYXB0dXJlCisKK19sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKKworCitjbGFzcyBQcmludGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHN0cmVhbSwgb3B0aW9ucz1Ob25lKToKKyAgICAgICAgc2VsZi5zdHJlYW0gPSBz
dHJlYW0KKyAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucworCisgICAgZGVmIGNvbmZpZ3Vy
ZShzZWxmLCBvcHRpb25zKToKKyAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucworCisgICAg
ICAgIGlmIG9wdGlvbnMudGltaW5nOgorICAgICAgICAgICAgIyAtLXRpbWluZyBpbXBsaWVzIC0t
dmVyYm9zZQorICAgICAgICAgICAgb3B0aW9ucy52ZXJib3NlID0gbWF4KG9wdGlvbnMudmVyYm9z
ZSwgMSkKKworICAgICAgICBsb2dfbGV2ZWwgPSBsb2dnaW5nLklORk8KKyAgICAgICAgaWYgb3B0
aW9ucy5xdWlldDoKKyAgICAgICAgICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcuV0FSTklORworICAg
ICAgICBlbGlmIG9wdGlvbnMudmVyYm9zZSA9PSAyOgorICAgICAgICAgICAgbG9nX2xldmVsID0g
bG9nZ2luZy5ERUJVRworCisgICAgICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIo
c2VsZi5zdHJlYW0pCisgICAgICAgICMgV2UgY29uc3RyYWluIHRoZSBsZXZlbCBvbiB0aGUgaGFu
ZGxlciByYXRoZXIgdGhhbiBvbiB0aGUgcm9vdAorICAgICAgICAjIGxvZ2dlciBpdHNlbGYuICBU
aGlzIGlzIHByb2JhYmx5IGJldHRlciBiZWNhdXNlIHRoZSBoYW5kbGVyIGlzCisgICAgICAgICMg
Y29uZmlndXJlZCBhbmQga25vd24gb25seSB0byB0aGlzIG1vZHVsZSwgd2hlcmVhcyB0aGUgcm9v
dCBsb2dnZXIKKyAgICAgICAgIyBpcyBhbiBvYmplY3Qgc2hhcmVkIChhbmQgcG90ZW50aWFsbHkg
bW9kaWZpZWQpIGJ5IG1hbnkgbW9kdWxlcy4KKyAgICAgICAgIyBNb2RpZnlpbmcgdGhlIGhhbmRs
ZXIsIHRoZW4sIGlzIGxlc3MgaW50cnVzaXZlIGFuZCBsZXNzIGxpa2VseSB0bworICAgICAgICAj
IGludGVyZmVyZSB3aXRoIG1vZGlmaWNhdGlvbnMgbWFkZSBieSBvdGhlciBtb2R1bGVzIChlLmcu
IGluIHVuaXQKKyAgICAgICAgIyB0ZXN0cykuCisgICAgICAgIGhhbmRsZXIubmFtZSA9IF9fbmFt
ZV9fCisgICAgICAgIGhhbmRsZXIuc2V0TGV2ZWwobG9nX2xldmVsKQorICAgICAgICBmb3JtYXR0
ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShtZXNzYWdlKXMiKQorICAgICAgICBoYW5kbGVyLnNl
dEZvcm1hdHRlcihmb3JtYXR0ZXIpCisKKyAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dn
ZXIoKQorICAgICAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5kbGVyKQorICAgICAgICBsb2dnZXIu
c2V0TGV2ZWwobG9nZ2luZy5OT1RTRVQpCisKKyAgICAgICAgIyBGaWx0ZXIgb3V0IG1vc3Qgd2Vi
a2l0cHkgbWVzc2FnZXMuCisgICAgICAgICMKKyAgICAgICAgIyBNZXNzYWdlcyBjYW4gYmUgc2Vs
ZWN0aXZlbHkgcmUtZW5hYmxlZCBmb3IgdGhpcyBzY3JpcHQgYnkgdXBkYXRpbmcKKyAgICAgICAg
IyB0aGlzIG1ldGhvZCBhY2NvcmRpbmdseS4KKyAgICAgICAgZGVmIGZpbHRlcl9yZWNvcmRzKHJl
Y29yZCk6CisgICAgICAgICAgICAiIiJGaWx0ZXIgb3V0IGF1dG9pbnN0YWxsIGFuZCBub24tdGhp
cmQtcGFydHkgd2Via2l0cHkgbWVzc2FnZXMuIiIiCisgICAgICAgICAgICAjIEZJWE1FOiBGaWd1
cmUgb3V0IGEgd2F5IG5vdCB0byB1c2Ugc3RyaW5ncyBoZXJlLCBmb3IgZXhhbXBsZSBieQorICAg
ICAgICAgICAgIyAgICAgICAgdXNpbmcgc3ludGF4IGxpa2Ugd2Via2l0cHkudGVzdC5fX25hbWVf
Xy4gIFdlIHdhbnQgdG8gYmUKKyAgICAgICAgICAgICMgICAgICAgIHN1cmUgbm90IHRvIGltcG9y
dCBhbnkgbm9uLVB5dGhvbiAyLjQgY29kZSwgdGhvdWdoLCB1bnRpbAorICAgICAgICAgICAgIyAg
ICAgICAgYWZ0ZXIgdGhlIHZlcnNpb24tY2hlY2tpbmcgY29kZSBoYXMgZXhlY3V0ZWQuCisgICAg
ICAgICAgICBpZiAocmVjb3JkLm5hbWUuc3RhcnRzd2l0aCgid2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5hdXRvaW5zdGFsbCIpIG9yCisgICAgICAgICAgICAgICAgcmVjb3JkLm5hbWUuc3RhcnRzd2l0
aCgid2Via2l0cHkudGVzdCIpKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAg
ICAgICAgaWYgcmVjb3JkLm5hbWUuc3RhcnRzd2l0aCgid2Via2l0cHkiKToKKyAgICAgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgdGVz
dGluZ19maWx0ZXIgPSBsb2dnaW5nLkZpbHRlcigpCisgICAgICAgIHRlc3RpbmdfZmlsdGVyLmZp
bHRlciA9IGZpbHRlcl9yZWNvcmRzCisKKyAgICAgICAgIyBEaXNwbGF5IGEgbWVzc2FnZSBzbyBk
ZXZlbG9wZXJzIGFyZSBub3QgbXlzdGlmaWVkIGFzIHRvIHdoeQorICAgICAgICAjIGxvZ2dpbmcg
ZG9lcyBub3Qgd29yayBpbiB0aGUgdW5pdCB0ZXN0cy4KKyAgICAgICAgX2xvZy5pbmZvKCJTdXBw
cmVzc2luZyBtb3N0IHdlYmtpdHB5IGxvZ2dpbmcgd2hpbGUgcnVubmluZyB1bml0IHRlc3RzLiIp
CisgICAgICAgIGhhbmRsZXIuYWRkRmlsdGVyKHRlc3RpbmdfZmlsdGVyKQorCisgICAgICAgIGlm
IHNlbGYub3B0aW9ucy5wYXNzX3Rocm91Z2g6CisgICAgICAgICAgICBvdXRwdXRjYXB0dXJlLk91
dHB1dENhcHR1cmUuc3RyZWFtX3dyYXBwZXIgPSBfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFt
CisKKworY2xhc3MgX0NhcHR1cmVBbmRQYXNzVGhyb3VnaFN0cmVhbShvYmplY3QpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBzdHJlYW0pOgorICAgICAgICBzZWxmLl9idWZmZXIgPSBTdHJpbmdJ
Ty5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuX3N0cmVhbSA9IHN0cmVhbQorCisgICAgZGVmIHdy
aXRlKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYuX3N0cmVhbS53cml0ZShtc2cpCisKKyAgICAg
ICAgIyBOb3RlIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBjYXB0dXJlIGFueSBvdXRwdXQgZ2VuZXJh
dGVkIGJ5IHRoZSBkZWJ1Z2dlcgorICAgICAgICAjIGJlY2F1c2UgdGhhdCBjb3VsZCBjYXVzZSB0
aGUgcmVzdWx0cyBvZiBjYXB0dXJlX291dHB1dCgpIHRvIGJlIGludmFsaWQuCisgICAgICAgIGlm
IG5vdCBzZWxmLl9tZXNzYWdlX2lzX2Zyb21fcGRiKCk6CisgICAgICAgICAgICBzZWxmLl9idWZm
ZXIud3JpdGUobXNnKQorCisgICAgZGVmIF9tZXNzYWdlX2lzX2Zyb21fcGRiKHNlbGYpOgorICAg
ICAgICAjIFdlIHdpbGwgYXNzdW1lIHRoYXQgaWYgdGhlIHBkYiBtb2R1bGUgaXMgaW4gdGhlIHN0
YWNrIHRoZW4gdGhlIG91dHB1dAorICAgICAgICAjIGlzIGJlaW5nIGdlbmVyYXRlZCBieSB0aGUg
cHl0aG9uIGRlYnVnZ2VyIChvciB0aGUgdXNlciBjYWxsaW5nIHNvbWV0aGluZworICAgICAgICAj
IGZyb20gaW5zaWRlIHRoZSBkZWJ1Z2dlcikuCisgICAgICAgIGltcG9ydCBpbnNwZWN0CisgICAg
ICAgIGltcG9ydCBwZGIKKyAgICAgICAgc3RhY2sgPSBpbnNwZWN0LnN0YWNrKCkKKyAgICAgICAg
cmV0dXJuIGFueShmcmFtZVsxXSA9PSBwZGIuX19maWxlX18ucmVwbGFjZSgnLnB5YycsICcucHkn
KSBmb3IgZnJhbWUgaW4gc3RhY2spCisKKyAgICBkZWYgZmx1c2goc2VsZik6CisgICAgICAgIHNl
bGYuX3N0cmVhbS5mbHVzaCgpCisKKyAgICBkZWYgZ2V0dmFsdWUoc2VsZik6CisgICAgICAgIHJl
dHVybiBzZWxmLl9idWZmZXIuZ2V0dmFsdWUoKQo=
</data>
<flag name="review"
          id="161020"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>