<?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>76745</bug_id>
          
          <creation_ts>2012-01-20 15:03:05 -0800</creation_ts>
          <short_desc>check-webkit-style of the chromium test_expectations.txt file takes too long</short_desc>
          <delta_ts>2012-01-24 13:09:39 -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>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>76749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dpranke</cc>
    
    <cc>levin</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539820</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-20 15:03:05 -0800</bug_when>
    <thetext>check-webkit-style of the chromium test_expectations.txt file takes too long</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539822</commentid>
    <comment_count>1</comment_count>
      <attachid>123386</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-20 15:07:00 -0800</bug_when>
    <thetext>Created attachment 123386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539835</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-01-20 15:19:04 -0800</bug_when>
    <thetext>I think the right approach would be to just reuse the model, instead of caching. The model no longer depends on the port/platform against which you check, so it should just be able to take multiple passes. That&apos;s how I envisioned it working, anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539837</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-01-20 15:19:47 -0800</bug_when>
    <thetext>That&apos;s why the errors are collected for each line -- so that you could review them all once you ran them against all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540024</commentid>
    <comment_count>4</comment_count>
      <attachid>123428</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-20 19:41:49 -0800</bug_when>
    <thetext>Created attachment 123428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540072</commentid>
    <comment_count>5</comment_count>
      <attachid>123428</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-01-20 23:18:22 -0800</bug_when>
    <thetext>Comment on attachment 123428
Patch

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

I&apos;ll let dglazkov do the actual review.  Just some style nits.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:795
&gt;          if len(errors) or len(warnings):

Nit: I think you can remove the len() calls.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:799
&gt;              if len(errors):

Ditto.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:220
&gt; +    def test_error_on_different_platform(self):

Do we have a test that checks different configurations (e.g., DEBUG vs RELEASE)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541516</commentid>
    <comment_count>6</comment_count>
      <attachid>123428</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-01-24 11:33:39 -0800</bug_when>
    <thetext>Comment on attachment 123428
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:220
&gt;&gt; +    def test_error_on_different_platform(self):
&gt; 
&gt; Do we have a test that checks different configurations (e.g., DEBUG vs RELEASE)?

I think it might be good to capture just a few more expectations here, just in case the machinery in layout_tests/models is refactored away or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541544</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-24 12:10:47 -0800</bug_when>
    <thetext>Committed r105770: &lt;http://trac.webkit.org/changeset/105770&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541597</commentid>
    <comment_count>8</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-01-24 13:09:39 -0800</bug_when>
    <thetext>Committed r105789: &lt;http://trac.webkit.org/changeset/105789&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123386</attachid>
            <date>2012-01-20 15:07:00 -0800</date>
            <delta_ts>2012-01-20 19:41:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76745-20120120150659.patch</filename>
            <type>text/plain</type>
            <size>12386</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTM1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk0MjdjMWEzZjliZjAzMzQzNDRhZTNjZDRiNzBiNGFk
NDM4MDdhZC4uYTJmZjhlYmE2NDRlZWQ3NTAzNjM3NDg5ZGQ2YTNiZjcyZTVlYWNkNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDEyLTAxLTIwICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgY2hlY2std2Via2l0LXN0eWxlIG9mIHRoZSBjaHJvbWl1bSB0ZXN0X2V4cGVjdGF0aW9ucy50
eHQgZmlsZSB0YWtlcyB0b28gbG9uZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzY3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXaGVuIGluIGxpbnQgbW9kZSwgY2FjaGUgdGhlIHRoZSBwYXJzZWQgZXhw
ZWN0YXRpb25zIGxpc3QuIFRoaXMgY2F1c2VzIGNoZWNrLXdlYmtpdC1zdHlsZQorICAgICAgICB0
byBnbyBmcm9tIDE3IHNlY29uZHMgdG8gMi41IHNlY29uZHMgb24gbXkgTWFjIFByby4KKworICAg
ICAgICBXZSBvbmx5IGRvIHRoaXMgaW4gbGludCBtb2RlIGJlY2F1c2U6CisgICAgICAgIC1UaGlz
IG9ubHkgYmVuZWZpdHMgd2hlbiBwYXJzaW5nIHRoZSBzYW1lIGV4cGVjdGF0aW9ucyBzdHJpbmcg
bXVsdGlwbGUgdGltZXMuCisgICAgICAgIC1BbnkgY29kZSBvdXRzaWRlIG9mIFRlc3RFeHBlY3Rh
dGlvblBhcnNlciB0aGF0IG1vZGlmaWVzIHRoZSBpbmRpdmlkdWFsIFRlc3RFeHBlY3RhdGlvbkxp
bmVzCisgICAgICAgIHdpbGwgYnJlYWsgKGUuZy4gdGhlIGV4cGVjdGF0aW9ucyBlZGl0b3IpLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVz
dF9leHBlY3RhdGlvbnNfZWRpdG9yX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGF0
aW9uRWRpdG9yVGVzdHMubWFrZV9wYXJzZWRfZXhwZWN0YXRpb25fbGluZXMpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5w
eToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvblBhcnNlcik6CisgICAgICAgIChUZXN0RXhwZWN0
YXRpb25QYXJzZXIuX19pbml0X18pOgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBh
cnNlKToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvblBhcnNlci5fcGFyc2UpOgorICAgICAgICAo
VGVzdEV4cGVjdGF0aW9uUGFyc2VyLl9wYXJzZV9tb2RpZmllcnMpOgorICAgICAgICAoVGVzdEV4
cGVjdGF0aW9uc01vZGVsLl9faW5pdF9fKToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvbnNNb2Rl
bC5fYWxyZWFkeV9zZWVuX2JldHRlcl9tYXRjaCk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25z
Ll9yZXBvcnRfZXJyb3JzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0RXhw
ZWN0YXRpb25QYXJzZXJUZXN0cy50ZXN0X3BhcnNlX2VtcHR5X3N0cmluZyk6CisgICAgICAgIChU
ZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cy50ZXN0X3BhcnNlX2xpbnRfbW9kZSk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2V4cGVjdGF0aW9ucy5weToKKyAgICAg
ICAgKE9wdGltaXplRXhwZWN0YXRpb25zLmV4ZWN1dGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zZXJ2ZXJzL2dhcmRlbmluZ3NlcnZlci5weToKKyAgICAgICAgKEdhcmRlbmlu
Z0V4cGVjdGF0aW9uc1VwZGF0ZXIuX19pbml0X18pOgorCiAyMDEyLTAxLTE5ICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVmYWN0b3IgVGVzdEV4cGVjdGF0aW9u
c1BhcnNlciBpbiBwcmVwYXJhdGlvbiBmb3IgY2FjaGluZyB0aGUgcmVzdWx0cwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9l
eHBlY3RhdGlvbnNfZWRpdG9yX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9leHBlY3RhdGlvbnNfZWRpdG9yX3VuaXR0ZXN0
LnB5CmluZGV4IDU4YTE4MzU5ZGE5YTUzNDIzZjNkODZhODAzM2YwZGNmNWE1ZDUyYzkuLmEzNjEy
NDBjYzA1NTZmY2VlMTYyMzMyOTljNTJkZjVmNTBlYWEyYzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3RfZXhwZWN0YXRpb25z
X2VkaXRvcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy90ZXN0X2V4cGVjdGF0aW9uc19lZGl0b3JfdW5pdHRlc3QucHkKQEAg
LTc2LDcgKzc2LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uRWRpdG9yVGVzdHModW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZS5fX2luaXRfXyhzZWxmLCB0ZXN0
RnVuYykKIAogICAgIGRlZiBtYWtlX3BhcnNlZF9leHBlY3RhdGlvbl9saW5lcyhzZWxmLCBpbl9z
dHJpbmcpOgotICAgICAgICBwYXJzZXIgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIoc2VsZi50ZXN0
X3BvcnQsIHNlbGYuZnVsbF90ZXN0X2xpc3QsIGFsbG93X3JlYmFzZWxpbmVfbW9kaWZpZXI9RmFs
c2UpCisgICAgICAgIHBhcnNlciA9IFRlc3RFeHBlY3RhdGlvblBhcnNlcihzZWxmLnRlc3RfcG9y
dCwgc2VsZi5mdWxsX3Rlc3RfbGlzdCkKICAgICAgICAgZXhwZWN0YXRpb25fbGluZXMgPSBwYXJz
ZXIucGFyc2UoaW5fc3RyaW5nKQogICAgICAgICBmb3IgZXhwZWN0YXRpb25fbGluZSBpbiBleHBl
Y3RhdGlvbl9saW5lczoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXhwZWN0YXRpb25f
bGluZS5pc19pbnZhbGlkKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggZjll
MGZmN2ExYTI5MWI0YzE3NjVlZDJlZjgzZDIyYWY0ZDM4MzU5OC4uMzZiMWU0NzI4YzIwMDJmYTkx
NTRmMWI5Yjk2OWI2MzI4NGIyYWIzMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpA
QCAtMzEsNiArMzEsNyBAQAogZm9yIGxheW91dCB0ZXN0cy4KICIiIgogCitpbXBvcnQgaGFzaGxp
YgogaW1wb3J0IGl0ZXJ0b29scwogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQpAQCAtMTkwLDE2
ICsxOTEsMjkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyKG9iamVjdCk6CiAgICAgU0tJ
UF9NT0RJRklFUiA9ICdza2lwJwogICAgIFNMT1dfTU9ESUZJRVIgPSAnc2xvdycKICAgICBXT05U
RklYX01PRElGSUVSID0gJ3dvbnRmaXgnCi0KICAgICBUSU1FT1VUX0VYUEVDVEFUSU9OID0gJ3Rp
bWVvdXQnCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgZnVsbF90ZXN0X2xpc3QsIGFs
bG93X3JlYmFzZWxpbmVfbW9kaWZpZXIpOgorICAgIGV4cGVjdGF0aW9uc19jYWNoZSA9IHt9CisK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgZnVsbF90ZXN0X2xpc3QsIGlzX2xpbnRfbW9k
ZT1GYWxzZSk6CiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYuX3Rlc3Rf
Y29uZmlndXJhdGlvbl9jb252ZXJ0ZXIgPSBUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlcihzZXQo
cG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9ucygpKSwgcG9ydC5jb25maWd1cmF0aW9uX3NwZWNp
Zmllcl9tYWNyb3MoKSkKICAgICAgICAgc2VsZi5fZnVsbF90ZXN0X2xpc3QgPSBmdWxsX3Rlc3Rf
bGlzdAotICAgICAgICBzZWxmLl9hbGxvd19yZWJhc2VsaW5lX21vZGlmaWVyID0gYWxsb3dfcmVi
YXNlbGluZV9tb2RpZmllcgorICAgICAgICBzZWxmLl9pc19saW50X21vZGUgPSBpc19saW50X21v
ZGUKIAogICAgIGRlZiBwYXJzZShzZWxmLCBleHBlY3RhdGlvbnNfc3RyaW5nKToKKyAgICAgICAg
aWYgbm90IHNlbGYuX2lzX2xpbnRfbW9kZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJz
ZShleHBlY3RhdGlvbnNfc3RyaW5nKQorCisgICAgICAgIGV4cGVjdGF0aW9uc19oYXNoID0gaGFz
aGxpYi5tZDUoZXhwZWN0YXRpb25zX3N0cmluZykuaGV4ZGlnZXN0KCkKKyAgICAgICAgaWYgZXhw
ZWN0YXRpb25zX2hhc2ggbm90IGluIHNlbGYuZXhwZWN0YXRpb25zX2NhY2hlOgorICAgICAgICAg
ICAgc2VsZi5leHBlY3RhdGlvbnNfY2FjaGVbZXhwZWN0YXRpb25zX2hhc2hdID0gc2VsZi5fcGFy
c2UoZXhwZWN0YXRpb25zX3N0cmluZykKKyAgICAgICAgIyBVbmZvcnR1bmF0ZWx5LCBjb3B5LmRl
ZXBjb3B5IGlzIGEgY291cGxlIG9yZGVycyBvZiBtYWduaXR1ZGUgdG9vIHNsb3cgdG8gdXNlIGhl
cmUuCisgICAgICAgICMgSW5zdGVhZCB3ZSBkbyBhIHNoYWxsb3cgY29weSBhbmQgbWFrZSBzdXJl
IG5vIGNvZGUgYWZ0ZXIgdGhpcyBwb2ludCBtb2RpZmllcworICAgICAgICAjIHRoZSBpbmRpdmlk
dWFsIFRlc3RFeHBlY3RhdGlvbkxpbmVzLgorICAgICAgICByZXR1cm4gc2VsZi5leHBlY3RhdGlv
bnNfY2FjaGVbZXhwZWN0YXRpb25zX2hhc2hdWzpdCisKKyAgICBkZWYgX3BhcnNlKHNlbGYsIGV4
cGVjdGF0aW9uc19zdHJpbmcpOgogICAgICAgICBleHBlY3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRp
b25QYXJzZXIuX3Rva2VuaXplX2xpc3QoZXhwZWN0YXRpb25zX3N0cmluZykKICAgICAgICAgZm9y
IGV4cGVjdGF0aW9uX2xpbmUgaW4gZXhwZWN0YXRpb25zOgogICAgICAgICAgICAgc2VsZi5fcGFy
c2VfbGluZShleHBlY3RhdGlvbl9saW5lKQpAQCAtMjM4LDcgKzI1Miw3IEBAIGNsYXNzIFRlc3RF
eHBlY3RhdGlvblBhcnNlcihvYmplY3QpOgogICAgICAgICBpZiBub3QgZXhwZWN0YXRpb25fbGlu
ZS5wYXJzZWRfYnVnX21vZGlmaWVycyBhbmQgbm90IGhhc193b250Zml4OgogICAgICAgICAgICAg
ZXhwZWN0YXRpb25fbGluZS53YXJuaW5ncy5hcHBlbmQoJ1Rlc3QgbGFja3MgQlVHIG1vZGlmaWVy
LicpCiAKLSAgICAgICAgaWYgc2VsZi5fYWxsb3dfcmViYXNlbGluZV9tb2RpZmllciBhbmQgc2Vs
Zi5SRUJBU0VMSU5FX01PRElGSUVSIGluIGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzOgorICAg
ICAgICBpZiBzZWxmLl9pc19saW50X21vZGUgYW5kIHNlbGYuUkVCQVNFTElORV9NT0RJRklFUiBp
biBleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVyczoKICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xp
bmUuZXJyb3JzLmFwcGVuZCgnUkVCQVNFTElORSBzaG91bGQgb25seSBiZSB1c2VkIGZvciBydW5u
aW5nIHJlYmFzZWxpbmUucHkuIENhbm5vdCBiZSBjaGVja2VkIGluLicpCiAKICAgICAgICAgZXhw
ZWN0YXRpb25fbGluZS5tYXRjaGluZ19jb25maWd1cmF0aW9ucyA9IHNlbGYuX3Rlc3RfY29uZmln
dXJhdGlvbl9jb252ZXJ0ZXIudG9fY29uZmlnX3NldChwYXJzZWRfc3BlY2lmaWVycywgZXhwZWN0
YXRpb25fbGluZS5lcnJvcnMpCkBAIC00MDIsNiArNDE2LDkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0
aW9uc01vZGVsKG9iamVjdCk6CiAgICAgICAgICMgTWFwcyBhIHRlc3QgdG8gYSBUZXN0RXhwZWN0
YXRpb25MaW5lIGluc3RhbmNlLgogICAgICAgICBzZWxmLl90ZXN0X3RvX2V4cGVjdGF0aW9uX2xp
bmUgPSB7fQogCisgICAgICAgICMgTWFwcyBhIFRlc3RFeHBlY3RhdGlvbkxpbmUgdG8gaXQncyBt
b2RlbCBlcnJvci4KKyAgICAgICAgc2VsZi5lcnJvciA9IHt9CisKICAgICAgICAgIyBMaXN0IG9m
IHRlc3RzIHRoYXQgYXJlIGluIHRoZSBvdmVycmlkZXMgZmlsZSAodXNlZCBmb3IgY2hlY2tpbmcg
Zm9yCiAgICAgICAgICMgZHVwbGljYXRlcyBpbnNpZGUgdGhlIG92ZXJyaWRlcyBmaWxlIGl0c2Vs
ZikuIE5vdGUgdGhhdCBqdXN0IGJlY2F1c2UKICAgICAgICAgIyBhIHRlc3QgaXMgaW4gdGhpcyBz
ZXQgZG9lc24ndCBtZWFuIGl0J3MgbmVjZXNzYXJpbHkgb3ZlcnJpZGRpbmcgYQpAQCAtNTczLDIw
ICs1OTAsMjAgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsKG9iamVjdCk6CiAgICAgICAg
ICMgdG8gYmUgd2FybmluZ3MgYW5kIHJldHVybiBGYWxzZSIuCiAKICAgICAgICAgaWYgcHJldl9l
eHBlY3RhdGlvbl9saW5lLm1hdGNoaW5nX2NvbmZpZ3VyYXRpb25zID09IGV4cGVjdGF0aW9uX2xp
bmUubWF0Y2hpbmdfY29uZmlndXJhdGlvbnM6Ci0gICAgICAgICAgICBleHBlY3RhdGlvbl9saW5l
LmVycm9ycy5hcHBlbmQoJ0R1cGxpY2F0ZSBvciBhbWJpZ3VvdXMgJXMuJyAlIGV4cGVjdGF0aW9u
X3NvdXJjZSkKKyAgICAgICAgICAgIHNlbGYuZXJyb3JbZXhwZWN0YXRpb25fbGluZV0gPSAnRHVw
bGljYXRlIG9yIGFtYmlndW91cyAlcy4nICUgZXhwZWN0YXRpb25fc291cmNlCiAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQogCiAgICAgICAgIGlmIHByZXZfZXhwZWN0YXRpb25fbGluZS5tYXRjaGlu
Z19jb25maWd1cmF0aW9ucyA+PSBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5nX2NvbmZpZ3VyYXRp
b25zOgotICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCdNb3JlIHNw
ZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUgKGV4cGVjdGF0aW9u
X2xpbmUubGluZV9udW1iZXIsIHByZXZfZXhwZWN0YXRpb25fbGluZS5saW5lX251bWJlcikpCisg
ICAgICAgICAgICBzZWxmLmVycm9yW2V4cGVjdGF0aW9uX2xpbmVdID0gJ01vcmUgc3BlY2lmaWMg
ZW50cnkgb24gbGluZSAlZCBvdmVycmlkZXMgbGluZSAlZCcgJSAoZXhwZWN0YXRpb25fbGluZS5s
aW5lX251bWJlciwgcHJldl9leHBlY3RhdGlvbl9saW5lLmxpbmVfbnVtYmVyKQogICAgICAgICAg
ICAgIyBGSVhNRTogcmV0dXJuIEZhbHNlIGlmIHdlIHdhbnQgbW9yZSBzcGVjaWZpYyB0byB3aW4u
CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgIGlmIHByZXZfZXhwZWN0YXRpb25f
bGluZS5tYXRjaGluZ19jb25maWd1cmF0aW9ucyA8PSBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5n
X2NvbmZpZ3VyYXRpb25zOgotICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBw
ZW5kKCdNb3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUg
KHByZXZfZXhwZWN0YXRpb25fbGluZS5saW5lX251bWJlciwgZXhwZWN0YXRpb25fbGluZS5saW5l
X251bWJlcikpCisgICAgICAgICAgICBzZWxmLmVycm9yW2V4cGVjdGF0aW9uX2xpbmVdID0gJ01v
cmUgc3BlY2lmaWMgZW50cnkgb24gbGluZSAlZCBvdmVycmlkZXMgbGluZSAlZCcgJSAocHJldl9l
eHBlY3RhdGlvbl9saW5lLmxpbmVfbnVtYmVyLCBleHBlY3RhdGlvbl9saW5lLmxpbmVfbnVtYmVy
KQogICAgICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgICAgICBpZiBwcmV2X2V4cGVjdGF0aW9u
X2xpbmUubWF0Y2hpbmdfY29uZmlndXJhdGlvbnMgJiBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5n
X2NvbmZpZ3VyYXRpb25zOgotICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBw
ZW5kKCdFbnRyaWVzIG9uIGxpbmUgJWQgYW5kIGxpbmUgJWQgbWF0Y2ggb3ZlcmxhcHBpbmcgc2V0
cyBvZiBjb25maWd1cmF0aW9ucycgJSAocHJldl9leHBlY3RhdGlvbl9saW5lLmxpbmVfbnVtYmVy
LCBleHBlY3RhdGlvbl9saW5lLmxpbmVfbnVtYmVyKSkKKyAgICAgICAgICAgIHNlbGYuZXJyb3Jb
ZXhwZWN0YXRpb25fbGluZV0gPSAnRW50cmllcyBvbiBsaW5lICVkIGFuZCBsaW5lICVkIG1hdGNo
IG92ZXJsYXBwaW5nIHNldHMgb2YgY29uZmlndXJhdGlvbnMnICUgKHByZXZfZXhwZWN0YXRpb25f
bGluZS5saW5lX251bWJlciwgZXhwZWN0YXRpb25fbGluZS5saW5lX251bWJlcikKICAgICAgICAg
ICAgIHJldHVybiBUcnVlCiAKICAgICAgICAgIyBDb25maWd1cmF0aW9uIHNldHMgYXJlIGRpc2pv
aW50LCB0aGVuLgpAQCAtNzg0LDYgKzgwMSw4IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnMob2Jq
ZWN0KToKICAgICAgICAgZXJyb3JzID0gW10KICAgICAgICAgd2FybmluZ3MgPSBbXQogICAgICAg
ICBmb3IgZXhwZWN0YXRpb24gaW4gc2VsZi5fZXhwZWN0YXRpb25zOgorICAgICAgICAgICAgaWYg
ZXhwZWN0YXRpb24gaW4gc2VsZi5fbW9kZWwuZXJyb3I6CisgICAgICAgICAgICAgICAgZXJyb3Jz
LmFwcGVuZCgiTGluZTolcyAlcyAlcyIgJSAoZXhwZWN0YXRpb24ubGluZV9udW1iZXIsIHNlbGYu
X21vZGVsLmVycm9yW2V4cGVjdGF0aW9uXSwgZXhwZWN0YXRpb24ubmFtZSBpZiBleHBlY3RhdGlv
bi5leHBlY3RhdGlvbnMgZWxzZSBleHBlY3RhdGlvbi5vcmlnaW5hbF9zdHJpbmcpKQogICAgICAg
ICAgICAgZm9yIGVycm9yIGluIGV4cGVjdGF0aW9uLmVycm9yczoKICAgICAgICAgICAgICAgICBl
cnJvcnMuYXBwZW5kKCJMaW5lOiVzICVzICVzIiAlIChleHBlY3RhdGlvbi5saW5lX251bWJlciwg
ZXJyb3IsIGV4cGVjdGF0aW9uLm5hbWUgaWYgZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zIGVsc2Ug
ZXhwZWN0YXRpb24ub3JpZ2luYWxfc3RyaW5nKSkKICAgICAgICAgICAgIGZvciB3YXJuaW5nIGlu
IGV4cGVjdGF0aW9uLndhcm5pbmdzOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25z
X3VuaXR0ZXN0LnB5CmluZGV4IGJhNjg3YWI5MGQyOThiMmE1YzlmNzM0OWYxZDI2ZjhkNGJjMWU2
MjMuLjQ0NDhhZTY5OTk4Njk5NDlkNTgxOTI2MTFhMmJiNGU5ZjNiZTEzN2QgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0
aW9uc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKQEAgLTQ2NiwxMCArNDY2LDI0
IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgdGVzdF9jb25maWcgPSB0ZXN0X3BvcnQudGVzdF9jb25maWd1cmF0aW9uKCkKICAg
ICAgICAgZnVsbF90ZXN0X2xpc3QgPSBbXQogICAgICAgICBleHBlY3RhdGlvbl9saW5lID0gVGVz
dEV4cGVjdGF0aW9uUGFyc2VyLl90b2tlbml6ZSgnJykKLSAgICAgICAgcGFyc2VyID0gVGVzdEV4
cGVjdGF0aW9uUGFyc2VyKHRlc3RfcG9ydCwgZnVsbF90ZXN0X2xpc3QsIGFsbG93X3JlYmFzZWxp
bmVfbW9kaWZpZXI9RmFsc2UpCisgICAgICAgIHBhcnNlciA9IFRlc3RFeHBlY3RhdGlvblBhcnNl
cih0ZXN0X3BvcnQsIGZ1bGxfdGVzdF9saXN0KQogICAgICAgICBwYXJzZXIuX3BhcnNlX2xpbmUo
ZXhwZWN0YXRpb25fbGluZSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleHBlY3RhdGlvbl9s
aW5lLmlzX2ludmFsaWQoKSkKIAorICAgIGRlZiB0ZXN0X3BhcnNlX2xpbnRfbW9kZShzZWxmKToK
KyAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKKyAgICAgICAgdGVzdF9wb3J0ID0gaG9zdC5wb3J0
X2ZhY3RvcnkuZ2V0KCd0ZXN0LXdpbi14cCcsIE5vbmUpCisgICAgICAgIHRlc3RfcG9ydC50ZXN0
X2V4aXN0cyA9IGxhbWJkYSB0ZXN0OiBUcnVlCisgICAgICAgIHRlc3RfY29uZmlnID0gdGVzdF9w
b3J0LnRlc3RfY29uZmlndXJhdGlvbigpCisgICAgICAgIGZ1bGxfdGVzdF9saXN0ID0gW10KKyAg
ICAgICAgcGFyc2VyID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyKHRlc3RfcG9ydCwgZnVsbF90ZXN0
X2xpc3QsIGlzX2xpbnRfbW9kZT1UcnVlKQorCisgICAgICAgIGV4cGVjdGF0aW9ucyA9IHBhcnNl
ci5wYXJzZSgnRk9PIDogYmFyID0gQkFaID0gUXV4LicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobGVuKGV4cGVjdGF0aW9uc1swXS5lcnJvcnMpLCAxKQorCisgICAgICAgIGV4cGVjdGF0aW9u
cyA9IHBhcnNlci5wYXJzZSgnV0lOIERFQlVHIDogYmFyID0gRkFJTCcpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uc1swXS5lcnJvcnMpLCAwKQorCiAKIGNsYXNzIFRl
c3RFeHBlY3RhdGlvblNlcmlhbGl6ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHRlc3RGdW5jKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZXhwZWN0YXRpb25zLnB5CmluZGV4IDhhZjE1NWMxODM1NDU3M2Iz
ZTFhMWYzOTQ3ZTRiNzY1YWUxZGZlMmQuLjg4YzExODY3YjRjNTdlNjk1ODBiODY1MmZiMTdmY2Vl
MjE4ZTg4MjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9leHBlY3RhdGlvbnMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL2V4cGVjdGF0aW9ucy5weQpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBPcHRpbWl6ZUV4cGVj
dGF0aW9ucyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAKICAgICBkZWYgZXhlY3V0ZShz
ZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAgICAgICAgcG9ydCA9IHRvb2wucG9ydF9mYWN0
b3J5LmdldCgiY2hyb21pdW0td2luLXdpbjciKSAgIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgc2Vs
ZWN0YWJsZS4KLSAgICAgICAgcGFyc2VyID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyKHBvcnQsIFtd
LCBhbGxvd19yZWJhc2VsaW5lX21vZGlmaWVyPUZhbHNlKQorICAgICAgICBwYXJzZXIgPSBUZXN0
RXhwZWN0YXRpb25QYXJzZXIocG9ydCwgW10pCiAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmVzID0g
cGFyc2VyLnBhcnNlKHBvcnQudGVzdF9leHBlY3RhdGlvbnMoKSkKICAgICAgICAgY29udmVydGVy
ID0gVGVzdENvbmZpZ3VyYXRpb25Db252ZXJ0ZXIocG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9u
cygpLCBwb3J0LmNvbmZpZ3VyYXRpb25fc3BlY2lmaWVyX21hY3JvcygpKQogICAgICAgICB0b29s
LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQucGF0aF90b190ZXN0X2V4cGVjdGF0aW9u
c19maWxlKCksIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIubGlzdF90b19zdHJpbmcoZXhwZWN0
YXRpb25fbGluZXMsIGNvbnZlcnRlcikpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc2VydmVycy9nYXJkZW5pbmdzZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc2VydmVycy9nYXJkZW5pbmdzZXJ2ZXIucHkKaW5kZXggYjA5MGFmOTEyODRhODk3
MzcwY2JiYTY3NTgzODc2N2M2NDFiNGI5Zi4uZGNlM2E0OTk1MmQwMThhYTkxMzcxOWY0MmYyNDVj
ZDNlMGM0ZGI0MiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZ2FyZGVuaW5nc2VydmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
ZXJ2ZXJzL2dhcmRlbmluZ3NlcnZlci5weQpAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBHYXJkZW5p
bmdFeHBlY3RhdGlvbnNVcGRhdGVyKEJ1Z01hbmFnZXIpOgogICAgIGRlZiBfX2luaXRfXyhzZWxm
LCB0b29sLCBwb3J0KToKICAgICAgICAgc2VsZi5fY29udmVydGVyID0gVGVzdENvbmZpZ3VyYXRp
b25Db252ZXJ0ZXIocG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9ucygpLCBwb3J0LmNvbmZpZ3Vy
YXRpb25fc3BlY2lmaWVyX21hY3JvcygpKQogICAgICAgICBzZWxmLl9leHRyYXBvbGF0b3IgPSBC
dWlsZENvdmVyYWdlRXh0cmFwb2xhdG9yKHNlbGYuX2NvbnZlcnRlcikKLSAgICAgICAgc2VsZi5f
cGFyc2VyID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyKHBvcnQsIFtdLCBhbGxvd19yZWJhc2VsaW5l
X21vZGlmaWVyPUZhbHNlKQorICAgICAgICBzZWxmLl9wYXJzZXIgPSBUZXN0RXhwZWN0YXRpb25Q
YXJzZXIocG9ydCwgW10pCiAgICAgICAgIHNlbGYuX3BhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNf
ZmlsZSA9IHBvcnQucGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkKICAgICAgICAgc2Vs
Zi5fdG9vbCA9IHRvb2wKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123428</attachid>
            <date>2012-01-20 19:41:49 -0800</date>
            <delta_ts>2012-01-24 11:33:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76745-20120120194148.patch</filename>
            <type>text/plain</type>
            <size>11833</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTUxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmFmNjkyNDMzOWUyYmRhNjMzOWI3NTkxYWUxZGNiN2Y1
NTczMWViMC4uOGI4NzI3MjgyNTYxOTE4MDM4ODc3NzAwMWRmYWJmNDk3NTgyMDM0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMz
IEBACiAyMDEyLTAxLTIwICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAg
ICAgY2hlY2std2Via2l0LXN0eWxlIG9mIHRoZSBjaHJvbWl1bSB0ZXN0X2V4cGVjdGF0aW9ucy50
eHQgZmlsZSB0YWtlcyB0b28gbG9uZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzY3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXaGVuIGluIGxpbnQgbW9kZSwgaGF2ZSBUZXN0RXhwZWN0YXRpb25zIHRl
c3QgYWxsIGNvbmZpZ3VyYXRpb25zIGluc3RlYWQKKyAgICAgICAgb2YgbG9vcGluZyBvdmVyIGVh
Y2ggY29uZmlndXJhdGlvbi4gVGhpcyBhbHNvIGhhcyB0aGUgYmVuZWZpdCBvZiBtYWtpbmcKKyAg
ICAgICAgdGhlIGVycm9yIG91dHB1dCBjb25zaWRlcmFibHkgbW9yZSBjb25jaXNlLgorCisgICAg
ICAgIEFsc28sIGdvdCByaWQgb2YgdGhlIGRvdWJsZS1wcmludGluZyBvZiBlcnJvcnMgd2hlbiBs
aW50aW5nIHRocm91Z2ggY2hlY2std2Via2l0LXN0eWxlLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToKKyAgICAgICAgKE1h
bmFnZXIubGludCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5OgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9ucy5fcmVw
b3J0X2Vycm9ycyk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zLl9hZGRfZXhwZWN0YXRpb25z
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9l
eHBlY3RhdGlvbnNfdW5pdHRlc3QucHk6CisgICAgICAgICh0ZXN0X3BhcnNlX2Vycm9yX25vbmZh
dGFsKToKKyAgICAgICAgKHRlc3RfZXJyb3Jfb25fZGlmZmVyZW50X3BsYXRmb3JtKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zLnB5
OgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9uc0NoZWNrZXIuY2hlY2tfdGVzdF9leHBlY3RhdGlv
bnMpOgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9uc0NoZWNrZXIuY2hlY2spOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRl
c3QucHk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UudGVzdF9kZXRlcm1pbmVf
cG9ydF9mcm9tX2V4ZXBlY3RhdGlvbnNfcGF0aCk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25z
VGVzdENhc2UuYXNzZXJ0X2xpbmVzX2xpbnQpOgorCisyMDEyLTAxLTIwICBPamFuIFZhZmFpICA8
b2phbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgcnVuLXdlYmtpdC10ZXN0cyAtLWxpbnQtdGVz
dC1maWxlcyBjcmF3bHMgdGhlIHdob2xlIExheW91dFRlc3RzIHN1YnRyZWUKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ4CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5h
Z2VyLnB5CmluZGV4IDI0ZDFiNzMxYzQwODRmMTE0NWYyYTE2NDY2YjdhMjkzYTQ1MTE5NDIuLmNm
MzVmMjRjY2UwM2E2YmI4NTAyYjFkYWUxMTI3NzMzN2QxYTk3ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
ci5weQpAQCAtMzQ4LDMxICszNDgsMjQgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAg
ICByZXR1cm4gcGF0aAogCiAgICAgZGVmIGxpbnQoc2VsZik6Ci0gICAgICAgIGxpbnRfZmFpbGVk
ID0gRmFsc2UKLSAgICAgICAgZm9yIHRlc3RfY29uZmlndXJhdGlvbiBpbiBzZWxmLl9wb3J0LmFs
bF90ZXN0X2NvbmZpZ3VyYXRpb25zKCk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAg
ICAgc2VsZi5saW50X2V4cGVjdGF0aW9ucyh0ZXN0X2NvbmZpZ3VyYXRpb24pCi0gICAgICAgICAg
ICBleGNlcHQgdGVzdF9leHBlY3RhdGlvbnMuUGFyc2VFcnJvcjoKLSAgICAgICAgICAgICAgICBs
aW50X2ZhaWxlZCA9IFRydWUKLSAgICAgICAgICAgICAgICBzZWxmLl9wcmludGVyLndyaXRlKCIi
KQotCi0gICAgICAgIGlmIGxpbnRfZmFpbGVkOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0
ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAorICAgICAgICAgICAgICAgIHNlbGYu
X3BvcnQsCisgICAgICAgICAgICAgICAgTm9uZSwKKyAgICAgICAgICAgICAgICBzZWxmLl9wb3J0
LnRlc3RfZXhwZWN0YXRpb25zKCksCisgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC50ZXN0X2Nv
bmZpZ3VyYXRpb24oKSwKKyAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLmxpbnRfdGVzdF9m
aWxlcywKKyAgICAgICAgICAgICAgICBzZWxmLl9wb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJy
aWRlcygpKQorICAgICAgICBleGNlcHQgdGVzdF9leHBlY3RhdGlvbnMuUGFyc2VFcnJvciwgZXJy
OgorICAgICAgICAgICAgZm9yIGVycm9yIGluIGVyci5lcnJvcnM6CisgICAgICAgICAgICAgICAg
c2VsZi5fcHJpbnRlci53cml0ZShlcnJvcikKKyAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3Jp
dGUoIiIpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCJMaW50IGZhaWxlZC4iKQogICAgICAgICAg
ICAgcmV0dXJuIC0xCiAKICAgICAgICAgX2xvZy5pbmZvKCJMaW50IHN1Y2NlZWRlZC4iKQogICAg
ICAgICByZXR1cm4gMAogCi0gICAgZGVmIGxpbnRfZXhwZWN0YXRpb25zKHNlbGYsIGNvbmZpZyk6
Ci0gICAgICAgIHBvcnQgPSBzZWxmLl9wb3J0Ci0gICAgICAgIHRlc3RfZXhwZWN0YXRpb25zLlRl
c3RFeHBlY3RhdGlvbnMoCi0gICAgICAgICAgICBwb3J0LAotICAgICAgICAgICAgTm9uZSwKLSAg
ICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnMoKSwKLSAgICAgICAgICAgIGNvbmZpZywK
LSAgICAgICAgICAgIHNlbGYuX29wdGlvbnMubGludF90ZXN0X2ZpbGVzLAotICAgICAgICAgICAg
cG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSkKLQogICAgIGRlZiBfaXNfaHR0cF90
ZXN0KHNlbGYsIHRlc3QpOgogICAgICAgICByZXR1cm4gc2VsZi5IVFRQX1NVQkRJUiBpbiB0ZXN0
IG9yIHNlbGYuV0VCU09DS0VUX1NVQkRJUiBpbiB0ZXN0CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0
aW9ucy5weQppbmRleCBmOWUwZmY3YTFhMjkxYjRjMTc2NWVkMmVmODNkMjJhZjRkMzgzNTk4Li4x
YWRhYjc0ZjVlZTYxMWFlNGYwOTE5YjM4MDM2YzQxOGE0M2I1ODY5IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3Rf
ZXhwZWN0YXRpb25zLnB5CkBAIC03OTQsMTMgKzc5NCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlv
bnMob2JqZWN0KToKIAogICAgICAgICBpZiBsZW4oZXJyb3JzKSBvciBsZW4od2FybmluZ3MpOgog
ICAgICAgICAgICAgdGVzdF9leHBlY3RhdGlvbl9wYXRoID0gc2VsZi5fcG9ydC5wYXRoX3RvX3Rl
c3RfZXhwZWN0YXRpb25zX2ZpbGUoKQotICAgICAgICAgICAgZmFpbHVyZV90aXRsZSA9ICJGQUlM
VVJFUyBGT1IgJXMgaW4gJXMiICUgKHN0cihzZWxmLl90ZXN0X2NvbmZpZyksIHRlc3RfZXhwZWN0
YXRpb25fcGF0aCkKLSAgICAgICAgICAgIF9sb2cuZXJyb3IoZmFpbHVyZV90aXRsZSkKLQotICAg
ICAgICAgICAgZm9yIGVycm9yIGluIGVycm9yczoKLSAgICAgICAgICAgICAgICBfbG9nLmVycm9y
KGVycm9yKQotICAgICAgICAgICAgZm9yIHdhcm5pbmcgaW4gd2FybmluZ3M6Ci0gICAgICAgICAg
ICAgICAgX2xvZy5lcnJvcih3YXJuaW5nKQorICAgICAgICAgICAgZmFpbHVyZV90aXRsZSA9ICJG
QUlMVVJFUyBJTiAlcyIgJSB0ZXN0X2V4cGVjdGF0aW9uX3BhdGgKIAogICAgICAgICAgICAgaWYg
bGVuKGVycm9ycyk6CiAgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihmYXRhbD1UcnVl
LCBlcnJvcnM9W2ZhaWx1cmVfdGl0bGVdICsgZXJyb3JzKQpAQCAtODMwLDcgKzgyNCw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RhdGlvbnMob2JqZWN0KToKICAgICAgICAgICAgIGlmIG5vdCBleHBlY3Rh
dGlvbl9saW5lLmV4cGVjdGF0aW9uczoKICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAg
ICAgICAgICBpZiBzZWxmLl90ZXN0X2NvbmZpZyBpbiBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5n
X2NvbmZpZ3VyYXRpb25zOgorICAgICAgICAgICAgaWYgc2VsZi5faXNfbGludF9tb2RlIG9yIHNl
bGYuX3Rlc3RfY29uZmlnIGluIGV4cGVjdGF0aW9uX2xpbmUubWF0Y2hpbmdfY29uZmlndXJhdGlv
bnM6CiAgICAgICAgICAgICAgICAgc2VsZi5fbW9kZWwuYWRkX2V4cGVjdGF0aW9uX2xpbmUoZXhw
ZWN0YXRpb25fbGluZSwgb3ZlcnJpZGVzX2FsbG93ZWQpCiAKICAgICBkZWYgX2FkZF9za2lwcGVk
X3Rlc3RzKHNlbGYsIHRlc3RzX3RvX3NraXApOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0
YXRpb25zX3VuaXR0ZXN0LnB5CmluZGV4IGJhNjg3YWI5MGQyOThiMmE1YzlmNzM0OWYxZDI2Zjhk
NGJjMWU2MjMuLmQwMjhhOTcwYmM4Y2JmNDEzMjA3ZGM2MDRiZTk0M2MwYjcxNTg0ZGYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4
cGVjdGF0aW9uc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKQEAgLTE5OSw3ICsx
OTksNyBAQCBTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCIiIikKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoVHJ1ZSwgIlBhcnNlRXJyb3Igd2Fzbid0IHJhaXNlZCIpCiAg
ICAgICAgIGV4Y2VwdCBQYXJzZUVycm9yLCBlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KGUuZmF0YWwpCi0gICAgICAgICAgICBleHBfZXJyb3JzID0gW3UiRkFJTFVSRVMgRk9SICVzIGlu
ICVzIiAlIChzZWxmLl9wb3J0LnRlc3RfY29uZmlndXJhdGlvbigpLCBzZWxmLl9wb3J0LnBhdGhf
dG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpKSwKKyAgICAgICAgICAgIGV4cF9lcnJvcnMgPSBb
dSJGQUlMVVJFUyBJTiAlcyIgJSBzZWxmLl9wb3J0LnBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNf
ZmlsZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1IkxpbmU6MSBVbnJlY29nbml6ZWQg
bW9kaWZpZXIgJ2ZvbycgZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdSJMaW5lOjIgTWlzc2luZyBleHBlY3RhdGlvbnMgU0tJUCA6IGZhaWx1
cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwiXQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHIoZSksICdcbicuam9pbihtYXAoc3RyLCBleHBfZXJyb3JzKSkpCkBAIC0yMTIsMTEgKzIxMiwx
NyBAQCBTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCIiIikKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UoVHJ1ZSwgIlBhcnNlRXJyb3Igd2Fzbid0IHJhaXNlZCIpCiAgICAg
ICAgIGV4Y2VwdCBQYXJzZUVycm9yLCBlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShl
LmZhdGFsKQotICAgICAgICAgICAgZXhwX2Vycm9ycyA9IFt1J0ZBSUxVUkVTIEZPUiAlcyBpbiAl
cycgJSAoc2VsZi5fcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwgc2VsZi5fcG9ydC5wYXRoX3Rv
X3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKSksCisgICAgICAgICAgICBleHBfZXJyb3JzID0gW3Un
RkFJTFVSRVMgSU4gJXMnICUgc2VsZi5fcG9ydC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2Zp
bGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdSdMaW5lOjEgVGVzdCBsYWNrcyBCVUcg
bW9kaWZpZXIuIGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCddCiAgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN0cihlKSwgJ1xuJy5qb2luKG1hcChzdHIsIGV4cF9lcnJvcnMpKSkKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5lcnJvcnMsIGV4cF9lcnJvcnMpCiAKKyAgICBk
ZWYgdGVzdF9lcnJvcl9vbl9kaWZmZXJlbnRfcGxhdGZvcm0oc2VsZik6CisgICAgICAgICMgcGFy
c2VfZXhwIHVzZXMgYSBXaW5kb3dzIHBvcnQuIEFzc2VydCBlcnJvcnMgb24gTWFjIHNob3cgdXAg
aW4gbGludCBtb2RlLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYXJzZUVycm9yLCBzZWxm
LnBhcnNlX2V4cCwKKyAgICAgICAgICAgICdCVUdfVEVTVCBNQUMgOiBmYWlsdXJlcy9leHBlY3Rl
ZC90ZXh0Lmh0bWwgPSBURVhUXG5CVUdfVEVTVCBNQUMgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0
Lmh0bWwgPSBURVhUJywKKyAgICAgICAgICAgIGlzX2xpbnRfbW9kZT1UcnVlKQorCiAgICAgZGVm
IHRlc3Rfb3ZlcnJpZGVzKHNlbGYpOgogICAgICAgICBzZWxmLnBhcnNlX2V4cCgiQlVHX0VYUDog
ZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVCIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICJCVUdfT1ZFUlJJREUgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBJTUFHRSIp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3Rf
ZXhwZWN0YXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90
ZXN0X2V4cGVjdGF0aW9ucy5weQppbmRleCBhMTQxNDE1YWJkY2Y3YzU5YzBkNWQ3NDQyZDU4Njlj
NzNlY2E0ODQ3Li45ZDE5NDFkN2FlYzRiMzVkMzcwZDIzNTEyM2Y2Nzc0NTE0Y2Q5NWQ3IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0
YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVz
dF9leHBlY3RhdGlvbnMucHkKQEAgLTkwLDEzICs5MCwxMyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRp
b25zQ2hlY2tlcihvYmplY3QpOgogICAgIGRlZiBfaGFuZGxlX2Vycm9yX21lc3NhZ2Uoc2VsZiwg
bGluZW5vLCBtZXNzYWdlLCBjb25maWRlbmNlKToKICAgICAgICAgcGFzcwogCi0gICAgZGVmIGNo
ZWNrX3Rlc3RfZXhwZWN0YXRpb25zKHNlbGYsIGV4cGVjdGF0aW9uc19zdHIsIHRlc3RfY29uZmln
dXJhdGlvbiwgdGVzdHM9Tm9uZSwgb3ZlcnJpZGVzPU5vbmUpOgorICAgIGRlZiBjaGVja190ZXN0
X2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3RhdGlvbnNfc3RyLCB0ZXN0cz1Ob25lLCBvdmVycmlk
ZXM9Tm9uZSk6CiAgICAgICAgIGVyciA9IE5vbmUKICAgICAgICAgZXhwZWN0YXRpb25zID0gTm9u
ZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBleHBlY3RhdGlvbnMgPSB0ZXN0X2V4cGVjdGF0
aW9ucy5UZXN0RXhwZWN0YXRpb25zKAogICAgICAgICAgICAgICAgIHBvcnQ9c2VsZi5fcG9ydF9v
YmosIGV4cGVjdGF0aW9ucz1leHBlY3RhdGlvbnNfc3RyLCB0ZXN0cz10ZXN0cywKLSAgICAgICAg
ICAgICAgICB0ZXN0X2NvbmZpZz10ZXN0X2NvbmZpZ3VyYXRpb24sCisgICAgICAgICAgICAgICAg
dGVzdF9jb25maWc9c2VsZi5fcG9ydF9vYmoudGVzdF9jb25maWd1cmF0aW9uKCksCiAgICAgICAg
ICAgICAgICAgaXNfbGludF9tb2RlPVRydWUsIG92ZXJyaWRlcz1vdmVycmlkZXMpCiAgICAgICAg
IGV4Y2VwdCB0ZXN0X2V4cGVjdGF0aW9ucy5QYXJzZUVycm9yLCBlcnJvcjoKICAgICAgICAgICAg
IGVyciA9IGVycm9yCkBAIC0xMTgsMTAgKzExOCw4IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnND
aGVja2VyKG9iamVjdCk6CiAgICAgZGVmIGNoZWNrKHNlbGYsIGxpbmVzKToKICAgICAgICAgb3Zl
cnJpZGVzID0gc2VsZi5fcG9ydF9vYmoudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkKICAg
ICAgICAgZXhwZWN0YXRpb25zID0gJ1xuJy5qb2luKGxpbmVzKQotICAgICAgICBmb3IgdGVzdF9j
b25maWd1cmF0aW9uIGluIHNlbGYuX3BvcnRfb2JqLmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCk6
Ci0gICAgICAgICAgICBzZWxmLmNoZWNrX3Rlc3RfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uc19z
dHI9ZXhwZWN0YXRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X2NvbmZpZ3VyYXRpb249dGVzdF9jb25maWd1cmF0aW9uLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0cz1Ob25lLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZXM9b3ZlcnJpZGVzKQorICAgICAgICBzZWxm
LmNoZWNrX3Rlc3RfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uc19zdHI9ZXhwZWN0YXRpb25zLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzPU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzPW92ZXJyaWRlcykKICAgICAg
ICAgIyBXYXJuIHRhYnMgaW4gbGluZXMgYXMgd2VsbAogICAgICAgICBzZWxmLmNoZWNrX3RhYnMo
bGluZXMpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJz
L3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQppbmRleCBkNzE3OGI2
NmI2NGZhOTEzZGZlMDU0OWZhYzNhYmIwNWE5MGEwZjQzLi45MmQxZmU2MjhhM2UwZjEzODJkNWM2
YWI1NGVjZDE5MzUzZDcyMzQ1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3Qu
cHkKQEAgLTc2LDUyICs3NiwxMSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLl9leHBlY3RfcG9ydF9mb3JfZXhwZWN0YXRp
b25zX3BhdGgoTm9uZSwgIi8iKQogICAgICAgICBzZWxmLl9leHBlY3RfcG9ydF9mb3JfZXhwZWN0
YXRpb25zX3BhdGgoIkNocm9taXVtTWFjUG9ydCIsICIvbW9jay1jaGVja291dC9MYXlvdXRUZXN0
cy9jaHJvbWl1bS1tYWMvdGVzdF9leHBlY3RhdGlvbnMudHh0IikKIAotICAgIGRlZiB0ZXN0X2No
ZWNrX2NvdmVyc19hbGxfY29uZmlndXJhdGlvbnMoc2VsZik6Ci0gICAgICAgIGNoZWNrZXIgPSBU
ZXN0RXhwZWN0YXRpb25zQ2hlY2tlcigndGVzdC90ZXN0X2V4cGVjdGF0aW9ucy50eHQnLCBzZWxm
Ll9lcnJvcl9jb2xsZWN0b3IsIGhvc3Q9TW9ja0hvc3QoKSkKLSAgICAgICAgb3V0cHV0ID0gW10K
LQotICAgICAgICBkZWYgbW9ja19jaGVja190ZXN0X2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbnNf
c3RyLCB0ZXN0X2NvbmZpZ3VyYXRpb24sIHRlc3RzLCBvdmVycmlkZXMsIG91dHB1dD1vdXRwdXQp
OgotICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChzdHIodGVzdF9jb25maWd1cmF0aW9uKSkKLSAg
ICAgICAgY2hlY2tlci5jaGVja190ZXN0X2V4cGVjdGF0aW9ucyA9IG1vY2tfY2hlY2tfdGVzdF9l
eHBlY3RhdGlvbnMKLSAgICAgICAgY2hlY2tlci5jaGVjayhsaW5lcz0iIikKLQotICAgICAgICBl
eHBlY3RlZF9vdXRwdXQgPSAiIiI8bGVvcGFyZCwgeDg2LCBkZWJ1ZywgY3B1PgotPGxlb3BhcmQs
IHg4NiwgZGVidWcsIGdwdT4KLTxsZW9wYXJkLCB4ODYsIHJlbGVhc2UsIGNwdT4KLTxsZW9wYXJk
LCB4ODYsIHJlbGVhc2UsIGdwdT4KLTxzbm93bGVvcGFyZCwgeDg2LCBkZWJ1ZywgY3B1PgotPHNu
b3dsZW9wYXJkLCB4ODYsIGRlYnVnLCBncHU+Ci08c25vd2xlb3BhcmQsIHg4NiwgcmVsZWFzZSwg
Y3B1PgotPHNub3dsZW9wYXJkLCB4ODYsIHJlbGVhc2UsIGdwdT4KLTx4cCwgeDg2LCBkZWJ1Zywg
Y3B1PgotPHhwLCB4ODYsIGRlYnVnLCBncHU+Ci08eHAsIHg4NiwgcmVsZWFzZSwgY3B1PgotPHhw
LCB4ODYsIHJlbGVhc2UsIGdwdT4KLTx2aXN0YSwgeDg2LCBkZWJ1ZywgY3B1PgotPHZpc3RhLCB4
ODYsIGRlYnVnLCBncHU+Ci08dmlzdGEsIHg4NiwgcmVsZWFzZSwgY3B1PgotPHZpc3RhLCB4ODYs
IHJlbGVhc2UsIGdwdT4KLTx3aW43LCB4ODYsIGRlYnVnLCBjcHU+Ci08d2luNywgeDg2LCBkZWJ1
ZywgZ3B1PgotPHdpbjcsIHg4NiwgcmVsZWFzZSwgY3B1PgotPHdpbjcsIHg4NiwgcmVsZWFzZSwg
Z3B1PgotPGx1Y2lkLCB4ODYsIGRlYnVnLCBjcHU+Ci08bHVjaWQsIHg4NiwgZGVidWcsIGdwdT4K
LTxsdWNpZCwgeDg2LCByZWxlYXNlLCBjcHU+Ci08bHVjaWQsIHg4NiwgcmVsZWFzZSwgZ3B1Pgot
PGx1Y2lkLCB4ODZfNjQsIGRlYnVnLCBjcHU+Ci08bHVjaWQsIHg4Nl82NCwgZGVidWcsIGdwdT4K
LTxsdWNpZCwgeDg2XzY0LCByZWxlYXNlLCBjcHU+Ci08bHVjaWQsIHg4Nl82NCwgcmVsZWFzZSwg
Z3B1PiIiIgotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlxuIi5qb2luKG91dHB1dCksIGV4
cGVjdGVkX291dHB1dCkKLQogICAgIGRlZiBhc3NlcnRfbGluZXNfbGludChzZWxmLCBsaW5lcywg
ZXhwZWN0ZWQpOgogICAgICAgICBzZWxmLl9lcnJvcl9jb2xsZWN0b3IucmVzZXRfZXJyb3JzKCkK
ICAgICAgICAgY2hlY2tlciA9IFRlc3RFeHBlY3RhdGlvbnNDaGVja2VyKCd0ZXN0L3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9lcnJvcl9jb2xsZWN0b3IsIGhvc3Q9TW9ja0hvc3QoKSkKICAgICAgICAgY2hlY2tl
ci5jaGVja190ZXN0X2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbnNfc3RyPSdcbicuam9pbihsaW5l
cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9jb25maWd1
cmF0aW9uPWNoZWNrZXIuX3BvcnRfb2JqLnRlc3RfY29uZmlndXJhdGlvbigpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzPVtzZWxmLl90ZXN0X2ZpbGVdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlcz1Ob25lKQog
ICAgICAgICBjaGVja2VyLmNoZWNrX3RhYnMobGluZXMpCg==
</data>
<flag name="review"
          id="124486"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>